(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】非接触型セキュアエレメント,デバイスおよび拡張ATQBの送信制御方法
(51)【国際特許分類】
G06K 19/073 20060101AFI20241217BHJP
G06K 19/07 20060101ALI20241217BHJP
G06F 21/75 20130101ALI20241217BHJP
【FI】
G06K19/073
G06K19/07 230
G06F21/75
(21)【出願番号】P 2021086554
(22)【出願日】2021-05-21
【審査請求日】2024-03-28
(73)【特許権者】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】100122529
【氏名又は名称】藤枡 裕実
(74)【代理人】
【識別番号】100135954
【氏名又は名称】深町 圭子
(74)【代理人】
【識別番号】100119057
【氏名又は名称】伊藤 英生
(74)【代理人】
【識別番号】100131369
【氏名又は名称】後藤 直樹
(74)【代理人】
【識別番号】100171859
【氏名又は名称】立石 英之
(72)【発明者】
【氏名】高木 桂子
【審査官】北村 学
(56)【参考文献】
【文献】特開2010-238080(JP,A)
【文献】特開2005-339141(JP,A)
【文献】米国特許出願公開第2019/0140697(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 19/073
G06K 19/07
G06F 21/75
(57)【特許請求の範囲】
【請求項1】
端末から受信したリクエストコマンドによって,拡張ATQBの送信が許可されている場合,拡張ATQBに含ませる拡張パラメータの値を検査し,前記拡張パラメータがデフォルト値の場合,前記拡張パラメータをコーディングした拡張バイトを含ませない非拡張ATQBを送信し,前記拡張パラメータがデフォルト値でない場合,前記拡張バイトを含ませた拡張ATQBを送信するリクエストコマンド処理手段を備えたことを特徴とする非接触型セキュアエレメント。
【請求項2】
請求項1に記載した非接触型セキュアエレメントを実装したデバイス。
【請求項3】
非接触型セキュアエレメントが,端末から受信したリクエストコマンドによって,拡張ATQBの送信が許可されている場合,拡張ATQBに含ませる拡張パラメータの値を検査するステップ,前記非接触型セキュアエレメントが,前記拡張パラメータがデフォルト値の場合,前記拡張パラメータをコーディングした拡張バイトを含ませない非拡張ATQBを送信し,前記拡張パラメータがデフォルト値でない場合,前記拡張バイトを含ませた拡張ATQBを送信するステップを含むことを特徴とする拡張ATQBの送信制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,外部からの解析攻撃に対する強固な耐タンパー性を持つ半導体製品であるセキュアエレメントに関する。
【背景技術】
【0002】
外部からの解析攻撃に対する強固な耐タンパー性を持つ半導体製品であるセキュアエレメントは,様々なデバイスに搭載されている。セキュアエレメントを搭載したデバイスの主用途は金融決済になる。
【0003】
従来,金融決済は,接触通信により金融決済を行う接触型金融決済が主流であった。接触型金融決済で用いるセキュアエレメントは,接触インタフェースを有する接触型セキュアエレメントになる。接触型セキュアエレメントを搭載したデバイスとしては,接触型ICカードが有名である。
【0004】
近年,消費者の利便性を考慮し,非接触通信により金融決済を行う非接触型金融決済が普及している。非接触型金融決済で用いるセキュアエレメントは,非接触インタフェースを有する非接触型セキュアエレメントになる。接触型セキュアエレメントを搭載したデバイスとしては,非接触型ICカードおよびスマートデバイスが有名である。スマートデバイスとは,様々な用途に使用可能な多機能端末を意味する。スマートデバイスとしては,スマートフォンおよびスマートウォッチが有名である。
【0005】
非接触型セキュアエレメントは,ISO14443規格(非特許文献1)に準拠した近接型無線通信を行うものが多い。ISO14443規格では,TypeAとTypeBの2種類を規定しているが,本発明はTypeBのみを対象にしている。なお,TypeAとTypeBでは,変調方式および符号化(Part2の内容)と初期化処理(Part3の内容)が異なる。
【0006】
ISO14443規格のPart3では,初期化で使用されるコマンドとこのコマンドのレスポンスが既定されている。初期化で使用されるコマンドには,TypeBに準拠した非接触型セキュアエレメントを探すリクエストコマンド,および,一つの非接触型セキュアエレメントを選択するコマンドであるATTRIBコマンド(PICC selection command, TypeB)などが既定されている。
【0007】
ISO14443規格のPart3では,TypeBのリクエストコマンドには,REQB(REQB: REQuest command, typeB)コマンドおよびWUPB(WUPB: Wake-UP command, TypeB)コマンドの2種類があるが,ここでは,これらのコマンドを区別していない。ISO14443規格のPart3では,TypeBのリクエストコマンドに対するレスポンスをATQB(ATQB: Answer To reQuest,TypeB)と呼んでいる。
【0008】
非接触型セキュアエレメントが端末と近接型無線通信を行う際,非接触型セキュアエレメントが採用している通信パラメータを端末へ提示することが必要になる。ISO14443規格のTypeBではATQBにこの通信パラメータが含まれる。
【0009】
ATQBに含ませる通信パラメータの中にTR2と称される通信パラメータがある。TR2は,4ビットのデータで,非接触型セキュアエレメントの応答終了から次のフレームを受信可能とするまでに,非接触型セキュアエレメントが必要とする最小時間を規定する通信パラメータである。また,TR2の具体的な数値は,ISO14443規格のPart3で規定されている。
【0010】
ATTRIBコマンドにより選択された非接触型セキュアエレメントが上位層に移行するため,ISO14443規格のPart3では,ATTRIBレスポンスを送出してから次のフレームを受信可能とするまでに非接触型セキュアエレメントが必要とするフレームガードタイムをTR2の代わりに設けることができる。ISO14443規格のPart3では,フレームガードタイムに係る通信パラメータをコーディングした拡張バイトを追加したATQBを拡張ATQBと呼んでいる(特許文献1の
図9)。
【0011】
ISO14443規格のPart3では,非接触型セキュアエレメントが拡張ATQBを送信できる条件は,REQBコマンドにより,端末が拡張ATQBをサポートすることが示される場合に限定される。端末が送信したリクエストコマンドにより,端末が拡張ATQBをサポートすることが示されていなければ,非接触型セキュアエレメントは,拡張ATQBを送信せずに,拡張バイトを追加しないATQBである非拡張ATQBを送信しなければならない。
【0012】
一方で,リクエストコマンドにより,端末が拡張ATQBをサポートすることが示されている場合,非接触型セキュアエレメントに対して拡張ATQBの送信が許可されるが,非接触型セキュアエレメントは,拡張ATQBの送信が許可されても,必ずしも拡張ATQBを送信する必要はない。拡張ATQBの送信が許可されても,非接触型セキュアエレメントは,非拡張ATQBを送信できる。
【0013】
すなわち,ISO14443規格のPart3では,リクエストコマンドにより,端末が拡張ATQBをサポートすることが示されても,拡張ATQBを送信するか否かは非接触型セキュアエレメント側に委ねられていた。
【先行技術文献】
【特許文献】
【0014】
【非特許文献】
【0015】
【文献】ISO/IEC 14443-3:2016 Initialization and anticollision
【発明の概要】
【発明が解決しようとする課題】
【0016】
そこで,本発明は,リクエストコマンドにより拡張ATQBの送信が許可される場合,非接触型セキュアエレメントが,この必要性に応じて拡張ATQBの送信を制御できるようにすることを目的とする。
【課題を解決するための手段】
【0017】
上述した課題を解決する第1発明は,端末から受信したリクエストコマンドによって,拡張ATQBの送信が許可されている場合,拡張ATQBに含ませる拡張パラメータの値を検査し,前記拡張パラメータがデフォルト値の場合,前記拡張パラメータをコーディングした拡張バイトを含ませない非拡張ATQBを送信し,前記拡張パラメータがデフォルト値でない場合,前記拡張バイトを含ませた拡張ATQBを送信するリクエストコマンド処理手段を備えたことを特徴とする非接触型セキュアエレメントである。
【0018】
更に,第2発明は,第1発明に記載した非接触型セキュアエレメントを実装したデバイスである。
【0019】
更に,第3発明は,非接触型セキュアエレメントが,端末から受信したリクエストコマンドによって,拡張ATQBの送信が許可されている場合,拡張ATQBに含ませる拡張パラメータの値を検査するステップ,前記非接触型セキュアエレメントが,前記拡張パラメータがデフォルト値の場合,前記拡張パラメータをコーディングした拡張バイトを含ませない非拡張ATQBを送信し,前記拡張パラメータがデフォルト値でない場合,前記拡張バイトを含ませた拡張ATQBを送信するステップを含むことを特徴とする拡張ATQBの送信制御方法である。
【発明の効果】
【0020】
本発明は,本発明に係る課題を解決するため,リクエストコマンドにより拡張ATQBの送信が許可される場合,非接触型セキュアエレメントが記憶している拡張パラメータの値に応じて,拡張ATQBの送信を制御するように構成されている。
【図面の簡単な説明】
【0021】
【
図1】非接触型セキュアエレメントを搭載したデバイスの一例を説明する図。
【
図3】リクエストコマンドのフォーマットを説明する図。
【
図4】リクエストコマンドの応答になるATQBのフォーマットを説明する図。
【
図5】リクエストコマンドを受信したときの非接触型セキュアエレメントの動作を説明する図。
【発明を実施するための形態】
【0022】
ここから,本発明に係る実施形態について記載する。本実施形態は,本発明の理解を容易にするためのものであり,本発明は,本実施形態に限定されるものではない。また,特に断りのない限り,図面は,本発明の理解を容易にするために描かれた模式的な図である。
【0023】
図1は,非接触型セキュアエレメント1を搭載したデバイス2の一例を説明する図である。
図1では,非接触型セキュアエレメント1を搭載したデバイス2を,近距離無線通信により端末と非接触通信する非接触ICカードとして図示している。
図1において,デバイス2はクレジットカードの形状になっている。
【0024】
デバイス2と近距離無線通信する端末3は,図示していない端末アンテナを備え,端末3と近距離無線通信するデバイス2は,端末3が備える端末アンテナと電磁結合するためのデバイスアンテナ21を備えている。
【0025】
図1で図示したデバイス2は,表面シート22,インレイシート20および裏面シート23を積層した3層構造になっている。非接触型セキュアエレメント1とデバイスアンテナ21はインレイシート20に実装されており,非接触型セキュアエレメント1は,デバイス2が備えるデバイスアンテナ21の両端と接続している。
【0026】
端末3は,1次コイルとなる端末アンテナを利用して電磁界を発生させる。デバイス2が備えるデバイスアンテナ21が2次コイルとなり,電磁界の中に存在するデバイスアンテナ21に誘導起電力が発生する。デバイスアンテナ21の両端と接続している非接触型セキュアエレメント1は,デバイスアンテナ21に発生した誘導起電力を利用して動作する。また,端末3と非接触型セキュアエレメント1は,端末3が発生させた電磁界を利用してデータの送受信を行う。
【0027】
図2は,非接触型セキュアエレメント1のブロック図である。本実施形態に係る非接触型セキュアエレメント1は,回路として,非接触インタフェース101(RF: Radio Frequency),CPU100(CPU: Central Processing Unit),RAM102(RAM: Random Access Memory),ROM103(ROM: Read Only Memory),NVM104(NVM: Non-VolatileMemory),乱数生成器105(RNG: Random Number Generator),CRC演算回路106(CRC: Cyclic Redundancy Check),および,電力供給回路107を備えている。当然のことながら,非接触型セキュアエレメント1に集積する回路は,これらの回路に限定されない。
【0028】
電力供給回路107は,デバイスアンテナ21に接続している。電力供給回路107は,デバイスアンテナ21に発生した誘導起電力を整流して,非接触型セキュアエレメント1の動作電圧を生成する回路になる。
【0029】
非接触インタフェース101は,端末3との非接触通信を行う回路で,デバイスアンテナ21に接続している。非接触インタフェース101は,デバイスアンテナ21が受信している交流信号に含まれるデータを復調することで,端末3が送信したデータを受信する。また,非接触インタフェース101は,端末3へ送信するデータに基づいて,デバイスアンテナ21が受信している交流信号を変調することで,端末3へデータを送信する。
【0030】
RAM102,ROM103およびNVM104は,非接触型セキュアエレメント1が備えるメモリになる。RAM102は,電気的な書き換え可能な揮発性メモリである。ROM103は,読取り専用の不揮発性メモリである。NVM104は,電気的な書き換え可能な不揮発性メモリである。例えば,NVM104は,EEPROM(Electrically Erasable Programmable Read-Only Memory)である。オペレーティングシステムのプログラムコードの格納にROM103を用い,オペレーティングシステムのデータおよびアプリケーションのプログラムコードの格納にNVM104を用いるのが一般的である。
【0031】
乱数生成器105は,乱数を生成する回路である。CRC演算回路106は,CRC演算回路106に入力されたデータに基づく2バイトのCRCを演算する回路である。
【0032】
非接触型セキュアエレメント1のCPU100は,メモリに格納されたプログラムコードを解釈して,所定の処理を実行する。非接触型セキュアエレメント1のCPU100が実行する処理には,非接触インタフェース101を利用して端末3から受信したコマンドを実行する処理が含まれる。
【0033】
本実施形態では,ISO14443規格のPart3に係る拡張ATQBの送信制御方法に特徴を持たせている。リクエストコマンドの処理を実行する主体は,非接触型セキュアエレメント1のCPU100になる。非接触型セキュアエレメント1のCPU100がリクエストコマンドの処理を実行する際,非接触型セキュアエレメント1のCPU100は,本発明に係るリクエストコマンド処理手段10として機能する。
【0034】
図3は,リクエストコマンドのフォーマットを説明する図である。なお,リクエストコマンドの最後には2バイトのCRCが付加されるが,
図3ではCRCは省略している。
【0035】
リクエストコマンドのバイト数は3バイトである。リクエストコマンドの1バイト目は,APf(APf: Anticollision Prefix f,used in REQB/WUPB, TypeB)と呼ばれるデータである。APfは固定値で,その値は’05’(’x’は16進数表記を意味する)である。リクエストコマンドの2バイト目は,AFI(Application Family Indicator)と呼ばれるデータである。AFIは,端末3が非接触型セキュアエレメント1を選ぶのに使用するデータである。AFIに対応する非接触型セキュアエレメント1だけが,リクエストコマンドに応答する。なお,AFIが‘00’の場合,全ての非接触型セキュアエレメント1がリクエストコマンドに応答する。
【0036】
リクエストコマンドの3バイト目は,PARAMと呼ばれるデータである。PARAMは,パラメータを示すバイトで,3つのパラメータを含んでいる。PARAMのb5は,端末3が拡張ATQBをサポートするか否かを示すデータである。PARAMのb5が(0)b(()bは2進数表記を意味する)の場合,端末3は拡張ATQBをサポートしないことを意味する。PARAMのb5が(1)bの場合,端末3は拡張ATQBをサポートすることを意味する。PARAMのb4は,リクエストコマンドの種類を示すデータである。PARAMのb4が(0)bの場合,リクエストコマンドはREQBコマンドであることを意味する。PARAMのb4が(1)bの場合,リクエストコマンドはWUPBコマンドであることを意味する。なお,PARAMのb1-b3は,アンチコリジョンに係る処理で用いるスロット数を示すデータである。
【0037】
図4は,リクエストコマンドの応答になるATQBのフォーマットを説明する図である。リクエストコマンドと同様に,ATQBの最後には2バイトのCRCが付加されるが,
図4ではCRCは省略している。なお,REQBコマンドであってもWUPBコマンドであっても,ATQBのフォーマットは変わらわない。拡張ATQBではない非拡張ATQBは12バイトのデータである。拡張ATQBの場合は,1バイトの拡張バイトが非拡張ATQBの最後に追加される。よって,拡張ATQBは13バイトのデータになる。
【0038】
ATQBの1バイト目は固定値で,その値は’50’である。’50’は,ATQBであることを示すデータになる。ATQBの2バイトから5バイト目は,PUPI(PUPI: Pseudo-Unique PICC Identifier)と呼ばれるデータである。PUPIは,アンチコリジョンにおいて端末3が非接触型セキュアエレメント1を搭載したデバイス2を選択するのに使用されるデータになる。
【0039】
ATQBの6バイトから9バイト目はアプリケーションデータである。ATQBのアプリケーションデータは,非接触型セキュアエレメント1にインストールされているアプリケーションを端末3に通知するためのデータになる。
【0040】
非拡張ATQBの場合はATQBの10バイトから12バイト目,拡張ATQBの場合はATQBの10バイトから13バイト目のデータはプロトコル情報になる。プロトコル情報の1バイト目から3バイト目は,非拡張ATQBおよび拡張ATQBで共通の情報になる。拡張ATQBにおけるプロトコル情報の4バイト目が,拡張ATQBに追加された拡張バイトになる。
【0041】
プロトコル情報の1バイト目から3バイト目には,許容伝送速度,最大フレームサイズ,プロトコルタイプ,FWI(FWI: Frame Waiting time Integer),ADC(ADC: Application Data Coding)およびFO(FO: Frame Options)が含まれる。許容伝送速度は,非接触型セキュアエレメント1が対応する伝送速度を示す。最大フレームサイズは,非接触型セキュアエレメント1が対応する最大フレームサイズを示す。プロトコルタイプは,TR2の最小値と非接触型セキュアエレメント1が対応するプロトコル(例えば,ISO14443規格のPart4で規定された伝送プロトコル)を示す。FWIは,フレーム待ち時間の算出に用いる整数値である。ADCは,非接触型セキュアエレメント1が対応するアプリケーションデータのコーディングを示す。FOは,ノードアドレスとカード識別情報のサポート状況を示す。
【0042】
拡張ATQBのプロトコル情報における4バイト目には,拡張パラメータとなるSFGI(SFGI: Start-up Frame Guard Time Integer)が含まれる。SFGIは,4ビットのデータで,ATTRIBレスポンスを送出してから次のフレームを受信可能とするまでに非接触型セキュアエレメント1が必要とするフレームガードタイムの算出に用いる整数値である。ISO14443規格のPart3では,SFGIのデフォルト値を規定している。その値は(0000)bである。
【0043】
SFGIのデフォルト値を拡張ATQBに含ませた場合,ATTRIBレスポンスを送出してから次のフレームを受信可能とするまでに非接触型セキュアエレメント1が必要とするフレームガードタイムは非拡張ATQBのときより長くならず,拡張ATQBを送信する意味がなくなる。
【0044】
そこで,本実施形態に係る非接触型セキュアエレメント1は,端末3から送信されたリクエストコマンドによって,拡張ATQBをサポートすることが示されている場合,非接触型セキュアエレメント1に予め設定されたSFGIの値に基づいて,拡張ATQBの送信を制御する。非接触型セキュアエレメント1は,非接触型セキュアエレメント1に予め設定されたSFGIがデフォルト値の場合,非接触型セキュアエレメント1は非拡張ATQBを送信する。非接触型セキュアエレメント1に予め設定されたSFGIがデフォルト値以外の場合,非接触型セキュアエレメント1は拡張ATQBを送信する。なお,SFGIのデフォルト値は,非接触型セキュアエレメント1のNVM104またはROM103に記憶されている。
【0045】
図5は,リクエストコマンドを受信したときの非接触型セキュアエレメント1の動作を説明する図である。
図5で図示した手順の最初で,端末3が送信したリクエストコマンドを非接触型セキュアエレメント1が受信する(ステップS1)。端末3が送信するリクエストコマンドを受信できる非接触型セキュアエレメント1は,端末3が発生している電磁界の中に存在する非接触型セキュアエレメント1になる。端末3が送信したリクエストコマンドを非接触型セキュアエレメント1が受信すると,リクエストコマンド処理手段10が作動する。
【0046】
非接触型セキュアエレメント1のリクエストコマンド処理手段10は,リクエストコマンドを送信した端末3が拡張ATQBをサポートするか否かを判断する(ステップS2)。リクエストコマンドを送信した端末3が拡張ATQBをサポートするか否かは,リクエストコマンドの3バイト目のデータになるPARAMのb5により示される。PARAMのb5が(0)bの場合,非接触型セキュアエレメント1のリクエストコマンド処理手段10は,リクエストコマンドを送信した端末3は拡張ATQBをサポートしないと判断する。PARAMのb5が(1)bの場合,非接触型セキュアエレメント1のリクエストコマンド処理手段10は,リクエストコマンドを送信した端末3は拡張ATQBをサポートすると判断する。
【0047】
リクエストコマンドを送信した端末3が拡張ATQBをサポートしないと判断すると,非接触型セキュアエレメント1のリクエストコマンド処理手段10は,乱数生成器を利用してPUPIを生成するなどして非拡張ATQBをRAM102に組み立てた後(ステップS3),非接触インタフェース101を利用して非拡張ATQBを送信し(ステップS4),
図5の手順は終了する。
【0048】
リクエストコマンドを送信した端末3が拡張ATQBをサポートすると判断すると,非接触型セキュアエレメント1のリクエストコマンド処理手段10は,非接触型セキュアエレメント1が格納しているSFGIがデフォルト値を検査する(ステップS5)。ISO14443規格のPart3では,SFGIのデフォルト値は(0000)bである。非接触型セキュアエレメント1のリクエストコマンド処理手段10は,非接触型セキュアエレメント1が格納しているSFGIが(0000)bの場合,非接触型セキュアエレメント1が格納しているSFGIはデフォルト値であると判断する。非接触型セキュアエレメント1のリクエストコマンド処理手段10は,非接触型セキュアエレメント1が格納しているSFGIが(0000)bではない場合,非接触型セキュアエレメント1が格納しているSFGIはデフォルト値でないと判断する。
【0049】
非接触型セキュアエレメント1が格納しているSFGIがデフォルト値の場合,
図5のステップS3に進み,リクエストコマンド処理手段10は非拡張ATQBを送信して,
図5の手順は終了する。非接触型セキュアエレメント1が格納しているSFGIがデフォルト値でない場合,リクエストコマンド処理手段10は,非接触型セキュアエレメント1が格納しているSFGIを13バイト目に含ませた拡張ATQBをRAM102に組み立てた後(ステップS6),非接触インタフェース101を利用して拡張ATQBを送信し(ステップS7),
図5の手順は終了する。
【0050】
これまで説明したように,本実施形態に係る非接触型セキュアエレメント1は,リクエストコマンドにより拡張ATQBの送信が許可される場合,非接触型セキュアエレメント1が記憶している拡張パラメータの値に応じて,拡張ATQBの送信を制御するように構成されている。具体的に,本実施形態に係る非接触型セキュアエレメント1は,拡張パラメータとなるSFGIがデフォルト値でない場合のみ,すなわち,SFGIより算出されるフレームガードタイムが非拡張ATQBのときより長くなる場合のみ,拡張ATQBを送信する。
【符号の説明】
【0051】
1 非接触型セキュアエレメント
10 リクエストコマンド処理手段