JP5726700B2 - IC card and IC card processing method - Google Patents
IC card and IC card processing method Download PDFInfo
- Publication number
- JP5726700B2 JP5726700B2 JP2011217905A JP2011217905A JP5726700B2 JP 5726700 B2 JP5726700 B2 JP 5726700B2 JP 2011217905 A JP2011217905 A JP 2011217905A JP 2011217905 A JP2011217905 A JP 2011217905A JP 5726700 B2 JP5726700 B2 JP 5726700B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- card
- data
- generated
- terminal device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明の実施形態は、ICカード、及びICカードの処理方法に関する。 Embodiments described herein relate generally to an IC card and an IC card processing method.
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。 In general, an IC card used as a portable electronic device includes a card-like main body formed of plastic or the like and an IC module embedded in the main body. The IC module has an IC chip. The IC chip has a nonvolatile memory such as an EEPROM (Electrically Erasable Programmable Read-Only Memory) or a flash ROM that can hold data even in the absence of a power source, and a CPU that executes various operations.
ICカードは、例えば、国際標準規格ISO/IEC 7816、及びISO/IEC14443に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。 The IC card is, for example, an IC card that conforms to international standards ISO / IEC 7816 and ISO / IEC14443. The IC card is excellent in portability and can perform communication with an external device and complicated calculation processing. Further, since it is difficult to forge, the IC card is assumed to store highly confidential information and be used for a security system, electronic commerce, and the like.
また、近年、非接触通信によりデータの送受信を行うことができるICカードが一般的に普及している。上記したような非接触通信を行うICカードは、ICチップとアンテナとを備えている。ICカードは、ICカード内のアンテナが、ICカード処理装置のリーダライタから発せられる磁界を受けて、電磁誘導により発生する誘導電流により動作する。また、ICカードは、非接触通信により処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ICカードは、種々の機能を実現することができる。 In recent years, IC cards capable of transmitting and receiving data by non-contact communication have become popular. An IC card that performs non-contact communication as described above includes an IC chip and an antenna. The IC card operates by an induced current generated by electromagnetic induction when an antenna in the IC card receives a magnetic field generated from a reader / writer of the IC card processing apparatus. Further, when the IC card receives a command from the processing device by non-contact communication, the IC card executes an application according to the received command. Thereby, the IC card can realize various functions.
ICカードの処理装置は、無線通信により最初に初期応答要求コマンドを送信する。ICカードは、初期応答要求コマンドを受信すると、擬似固有カード識別子(PUPI:Pseudo-Unique PICC Identifier)として乱数を生成する。ICカードは、PUPIを含む初期応答要求コマンドに対するレスポンス(初期応答)データを生成し、生成したレスポンスデータを処理装置に送信する。処理装置は、初期応答を受け取ることにより、通信可能範囲にICカードが存在することを認識することができる。処理装置は、PUPIを用いることにより、特定のICカードに次のコマンドを送信することができる。 The IC card processing apparatus first transmits an initial response request command by wireless communication. When receiving the initial response request command, the IC card generates a random number as a pseudo-unique PICC identifier (PUPI). The IC card generates response (initial response) data for an initial response request command including PUPI, and transmits the generated response data to the processing device. By receiving the initial response, the processing device can recognize that an IC card exists in the communicable range. The processing device can transmit the next command to a specific IC card by using PUPI.
ICカードと処理装置との間で相互認証が行われる場合、ICカードは、乱数を生成し、生成した乱数を処理装置に送信する。処理装置は、乱数を暗号化し、暗号化された乱数(暗号化データ)をICカードに送信する。ICカードは、生成した乱数を暗号化し、受信した暗号化データと一致するか否か確認する。 When mutual authentication is performed between the IC card and the processing device, the IC card generates a random number and transmits the generated random number to the processing device. The processing device encrypts the random number and transmits the encrypted random number (encrypted data) to the IC card. The IC card encrypts the generated random number and confirms whether or not it matches the received encrypted data.
しかし、ICカードは、桁数によっては、乱数の生成に時間を要するという課題がある。例えば、ISO/IEC14443では、処理装置とICカードとの相互認証に8バイトの乱数が用いられる。このように、ICカードが桁数の多い乱数を生成する必要がある場合、ICカードの処理の負荷が増し、遅延の原因になる可能性があるという課題がある。 However, the IC card has a problem that it takes time to generate a random number depending on the number of digits. For example, in ISO / IEC14443, a random number of 8 bytes is used for mutual authentication between the processing device and the IC card. As described above, when the IC card needs to generate a random number having a large number of digits, there is a problem that the processing load of the IC card increases, which may cause a delay.
そこで、より効率的に非接触通信を行う事ができるICカード、及びICカードの処理方法を提供することを目的とする。 Accordingly, it is an object of the present invention to provide an IC card that can perform non-contact communication more efficiently, and an IC card processing method.
一実施形態に係るICカードは、外部機器と非接触通信を行うICカードであって、前記外部機器から送信されたコマンドを受信する受信部と、前記受信部により初期応答要求コマンドを受信した場合、カード識別子として第1の乱数を生成する乱数生成部と、前記受信部により乱数要求を受信した場合、前記第1の乱数の全てあるいはその一部を用いて乱数データを生成する乱数生成部と、前記乱数生成部により生成された前記乱数データを前記外部機器に送信する送信部と、を具備する。 An IC card according to an embodiment is an IC card that performs non-contact communication with an external device, wherein a receiving unit that receives a command transmitted from the external device, and an initial response request command received by the receiving unit A random number generation unit that generates a first random number as a card identifier, and a random number generation unit that generates random number data using all or a part of the first random number when receiving a random number request by the reception unit; A transmission unit that transmits the random number data generated by the random number generation unit to the external device.
以下、図面を参照しながら、一実施形態に係るICカードの処理装置、及びICカードの処理システムについて詳細に説明する。 Hereinafter, an IC card processing apparatus and an IC card processing system according to an embodiment will be described in detail with reference to the drawings.
本実施形態に係る携帯可能電子装置(ICカード)20及びICカードを処理する処理装置(端末装置)10は、例えば、ISO/IEC14443などにより規定されている非接触通信の機能を備える。これにより、ICカード20及び端末装置10は、互いにデータの送受信を行うことができる。
A portable electronic device (IC card) 20 and a processing device (terminal device) 10 for processing an IC card according to the present embodiment have a non-contact communication function defined by, for example, ISO / IEC14443. Thereby, the
図1は、一実施形態に係るICカード処理システム1の構成例を示す。
ICカード処理システム1は、ICカード20を処理する端末装置10と、ICカード20と、を備える。端末装置10とICカード20とは、上記したように非接触通信により互いに種々のデータを送受信する。
FIG. 1 shows a configuration example of an IC
The IC
端末装置10は、CPU11、ROM12、RAM13、不揮発性メモリ14、送受信部15、アンテナ共振回路部16、ロジック回路部17、上位インターフェース部18、及び電源回路部19を備える。
The
CPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM12又は不揮発性メモリ14に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。
The
ROM12は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。RAM13は、ワーキングメモリとして機能する揮発性のメモリである。RAM13は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM13は、送受信部15及びアンテナ共振回路部16を介して外部の機器と送受信するデータを一時的に格納する。また、RAM13は、CPU11が実行するプログラムを一時的に格納する。
The
不揮発性メモリ14は、例えばEEPROM、FRAMなどを備える。不揮発性メモリ14は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。また、不揮発性メモリ14は、データの暗号化及び復号などに用いられる暗号鍵(秘密鍵)を記憶する。 The nonvolatile memory 14 includes, for example, an EEPROM, an FRAM, and the like. The nonvolatile memory 14 stores, for example, a control program, control data, an application, and data used for the application. The nonvolatile memory 14 stores an encryption key (secret key) used for data encryption and decryption.
送受信部15は、アンテナ共振回路部16により送受信するデータに対して信号処理を施す。例えば、送受信部15は、変調、及び復調を行なう。
The transmission /
アンテナ共振回路部16は、例えば所定の共振周波数を有するアンテナを有する。アンテナ共振回路部16は、磁界を発生させる。これにより、端末装置10は、通信可能範囲に存在するICカード20に対してデータを非接触で送信することができる。
The antenna
送受信部15は、アンテナ共振回路部16により受信したデータに対して復調及び復号を行う。これにより、端末装置10は、ICカード20から送信された元のデータを再生することができる。
The transmission /
ロジック回路部17は、所定の演算処理を行う。例えば、ロジック回路部17は、CPU11の制御に基づいて、データの暗号化、復号、及び乱数生成などの演算処理を行う。
The logic circuit unit 17 performs predetermined arithmetic processing. For example, the logic circuit unit 17 performs arithmetic processing such as data encryption, decryption, and random number generation under the control of the
上位インターフェース部18は、上位端末と通信するためのインターフェースである。上位端末は、例えば操作部及び表示部などを備える。操作部は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。表示部は、種々の情報を表示する。上位インターフェース部18は、上位端末からデータを受け取り、CPU11に伝送する。また、上位インターフェース部18は、送受信部15及びアンテナ共振回路部16によりICカード20から取得したデータを上位端末に伝送する構成であってもよい。
The
電源回路部19は、端末装置10の各部に電力を供給する。
The power
図2は、一実施形態に係るICカード20の構成例を示す。
図2に示すように、ICカード20は、例えば、矩形状の本体21と、本体21内に内蔵されたICモジュール22とを備える。また、本体21には、アンテナ共振回路部(アンテナ)24が設置されている。また、ICモジュール22は、ICチップ23を備える。ICチップ23は、アンテナ共振回路部24と接続された状態でICモジュール22内に形成されている。
FIG. 2 shows a configuration example of the
As shown in FIG. 2, the
なお、本体21は、少なくともアンテナ共振回路部24が設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
The
図2に示すように、ICカード20は、ICチップ23と、アンテナ共振回路部(アンテナ)24とを備える。
As shown in FIG. 2, the
ICチップ23は、CPU25、ROM26、RAM27、不揮発性メモリ28、送受信部29、電源回路部31、及びロジック回路部32などを備える。CPU25、ROM26、RAM27、不揮発性メモリ28、送受信部29、及びロジック回路部32は、バスを介して互いに接続されている。
The
アンテナ共振回路部24は、端末装置(外部機器)10のアンテナ共振回路部16と通信を行うためのインターフェースである。アンテナ共振回路部24は、例えば、所定の形状で配設される金属線により構成されるアンテナコイルを備える。
The antenna
CPU25は、ICカード20全体の制御を司る制御部として機能する。CPU25は、ROM26あるいは不揮発性メモリ28に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置10から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
The
ROM26は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM26は、製造段階で制御プログラム及び制御データなどを記憶した状態で組み込まれる。即ち、ROM26に記憶される制御プログラム及び制御データは、予めICカード20の仕様に応じて組み込まれる。
The
RAM27は、ワーキングメモリとして機能する揮発性のメモリである。RAM27は、CPU25の処理中のデータなどを一時的に格納する。例えば、RAM27は、アンテナ共振回路部24を介して端末装置10から受信したデータを一時的に格納する。またRAM27は、アンテナ共振回路部24を介して端末装置10に送信するデータを一時的に格納する。またさらに、RAM27は、CPU25が実行するプログラムを一時的に格納する。
The
不揮発性メモリ28は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリを備える。不揮発性メモリ28は、ICカード20の運用用途に応じて制御プログラム及び種々のデータを格納する。
The
たとえば、不揮発性メモリ28では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU25は、不揮発性メモリ28、または、ROM26に記憶されているプログラムを実行することにより、種々の処理を実現することができる。また、不揮発性メモリ28は、データの暗号化及び復号などに用いられる暗号鍵(秘密鍵)を記憶するファイルを備える。
For example, in the
送受信部29は、端末装置10に送信するデータに対して、負荷変調などの信号処理を行う。例えば、送受信部29は、端末装置10に送信するデータの変調を行う。
The transmission /
また、送受信部29は、アンテナ共振回路部24により受信する信号に対して復調を行う。例えば、送受信部29は、アンテナ共振回路部24により受信する信号の復号化を行う。これにより、送受信部29は、2値の論理データを再生する。送受信部29は、復号化したデータをバスを介してCPU25に送信する。
The transmission /
電源回路部31は、アンテナ共振回路部24により受け取った電磁波から電力を生成する。電源回路部31は、生成した電力をICカード20の各部に供給する。ICカード20の各部は、動作に必要な電力の供給を受けた場合、動作可能な状態になる。
The power
ロジック回路部32は、演算処理をハードウエアにより行う演算部である。例えば、ロジック回路部32は、端末装置10からのコマンドに基づいて、データの暗号化、復号化、及び乱数の生成などの処理を行う。例えば、ロジック回路部32は、端末装置10から受信したコマンドに応じて、擬似固有カード識別子(PUPI:Pseudo-Unique PICC Identifier)、または、相互認証に用いられる乱数などを生成する。
The
PUPIは、端末装置10がICカード20を識別するための擬似的な固有識別子である。PUPIは、例えば、長さ4バイトの乱数、または固定値である。
PUPI is a pseudo unique identifier for the
端末装置10は、PUPIにより処理対象のICカード20を指定して、ATTRIB(カード選択コマンド)を送信する。これにより、端末装置10は、PUPIにより指定したICカード20との通信を確立することができる。
The
また、不揮発性メモリ28は、ロジック回路部32により生成されたPUPIを記憶する記憶部(メモリ)28aを有する。ICカード20は、新たにPUPIを生成した場合、新たに生成されたPUPIをメモリ28aに上書きする。なお、PUPIは、固定値であってもよい。この場合、ICカード20のROM26は、予めPUPIを記憶した状態でICカード20の中に組み込まれる。また、ICカード20は、RAM27がロジック回路部32により生成されたPUPIを記憶する記憶領域を備える構成であってもよい。
Further, the
また、ICカード20は、乱数の生成を必要とするコマンド(例えば相互認証コマンドなど)を受信した場合、乱数を生成する。
Further, the
例えば、端末装置10とICカードとの間で、8バイトの乱数(擬似乱数データ)を用いて相互認証処理が行われる場合がある。このような場合、ICカード20は、メモリ28aにより記憶されている4バイトのPUPIを擬似乱数データの一部として用いる。
For example, mutual authentication processing may be performed between the
図3は、ICカード処理システム1の動作の例について示す。
端末装置10は、ICカード20の検知を行なう為に、アンテナ共振回路部16により送信する初期応答要求コマンドを生成する。端末装置10は、生成した初期応答要求コマンドを送信する(ステップS11)。端末装置10は、図4に示すような初期応答要求コマンドデータを生成する。
FIG. 3 shows an example of the operation of the IC
The
図4は、初期応答要求コマンドフォーマットの例を示す。図4により示されるように、初期応答要求コマンドは、「APf」、「AFI」、「PARAM」、及び「CRC_B」を有する。 FIG. 4 shows an example of the initial response request command format. As shown in FIG. 4, the initial response request command has “APf”, “AFI”, “PARAM”, and “CRC_B”.
APfは、初期応答要求コマンドで使用されるパラメータである。APfは、例えば1byteのデータである。 APf is a parameter used in the initial response request command. APf is, for example, 1-byte data.
AFIは、端末装置10が応用分野を特定する為に用いられる識別子である。AFIは、例えば8bit(1byte)で表現される値である。即ち、端末装置10は、初期応答要求コマンドの先頭から9bit乃至16bit目にAFIの値を設定する。
The AFI is an identifier used by the
PARAMは、属性情報のパラメータである。PARAMは、例えば8bit(1byte)のデータである。PARAMは、コマンドの種類、及び、スロットマーカ方式またはタイムスロット方式などのアンチコリジョンで使用されるスロットの数などを示す。また、PARAMは、当該初期応答要求コマンドが、REQBコマンド(リクエストコマンド)であるのか、WUPBコマンド(ウェークアップコマンド)であるのかを示す情報を有する。 PARAM is a parameter of attribute information. PARAM is, for example, 8-bit (1 byte) data. PARAM indicates the type of command and the number of slots used in anti-collision such as a slot marker method or a time slot method. The PARAM also has information indicating whether the initial response request command is a REQB command (request command) or a WUPB command (wake-up command).
CRC_Bは、巡回冗長検査符号である。CRC_Bは、例えば、16bit(2byte)で表現される値である。CRC_Bは、CRC_Bを含むコマンドをキャラクタとして有するフレーム内のデータビットから計算される値である。ICカード20は、受信したコマンドのCRC_Bを用いて、受信したコマンドが正常に伝送されたものであるか否かを判断する。
CRC_B is a cyclic redundancy check code. CRC_B is a value expressed by 16 bits (2 bytes), for example. CRC_B is a value calculated from data bits in a frame having a command including CRC_B as a character. The
ICカード20は、端末装置10のアンテナ共振回路部16の通信可能範囲内に進入する場合、活性化されてアイドル状態になる。ICカード20は、初期応答要求コマンドを受信する。
When the
ICカード20のCPU25は、受信した初期応答要求コマンドを解析する。ICカード20は、初期応答要求コマンドの「APf」、「AFI」、「PARAM」、及び「CRC_B」のそれぞれの値を認識する。ICカード20は、初期応答要求コマンドを受信した場合、PUPIとして乱数データを生成する(ステップS12)。
The
さらに、ICカード20は、生成したPUPIをメモリ28aに記憶する(ステップS13)。
Furthermore, the
ICカード20は、生成されたPUPIを用いて図5に示すような初期応答要求コマンドに対するレスポンス(初期応答)を生成する。ICカード20は、生成された初期応答を端末装置10に送信する(ステップS14)。
The
図5は、ICカード20により生成された初期応答の例を示す。
ICカード20は、「APa」、「PUPI」、「応用データ」、「プロトコル情報」及び「CRC_B」を生成する。ICカード20は、「APa」、「PUPI」、「応用データ」、「プロトコル情報」及び「CRC_B」を用いて初期応答を生成する。ICカード20は、生成した初期応答要求コマンドに対するレスポンスを端末装置10に送信する。
FIG. 5 shows an example of an initial response generated by the
The
APaは、初期応答要求コマンドに対するレスポンス(初期応答)で使用されるパラメータである。APaは、例えば1byteのデータである。 APa is a parameter used in a response (initial response) to the initial response request command. APa is, for example, 1-byte data.
PUPIは、擬似固有カード識別子である。PUPIは、端末装置10側からICカード20を識別するために使用される。PUPIは、例えば、4byteのデータである。ICカード20は、ロジック回路部32により乱数を生成し、生成した乱数を4byteのPUPIとする。なお、ICカード20は、4byteの乱数を生成するようにロジック回路部32を制御する構成であってもよい。また、ICカード20は、ROM26、または不揮発性メモリ28により予め記憶されているPUPIを読み出す構成であってもよい。
PUPI is a pseudo unique card identifier. PUPI is used to identify the
応用データは、ICカード20にどのようなアプリケーションが書き込まれているかを端末装置10に伝える為のデータである。応用データは、例えば4byteのデータである。
The application data is data for informing the
プロトコル情報は、ICカード20がサポートする応用プロトコルの状態を表す。例えば、プロトコル情報は、ICカード20がサポートする通信速度を示す情報を含む。プロトコル情報は、例えば3byteのデータである。
The protocol information represents the state of an application protocol supported by the
CRC_Bは、上記したように巡回冗長検査符号である。 CRC_B is a cyclic redundancy check code as described above.
端末装置10は、ICカード20から送信された初期応答要求コマンドに対するレスポンスを受信する。
The
端末装置10は、初期応答要求コマンドに対するレスポンス(初期応答)を受信する場合、受信したレスポンスを解析する。これにより、端末装置10は、自身の通信可能範囲内にICカード20が存在することを認識する。また、端末装置10は、初期応答を解析することにより、ICカード20のPUPIを取得する。
When receiving a response (initial response) to the initial response request command, the
さらに、端末装置10は、例えばATTRIBコマンドなどの選択コマンドをICカード20に送信する(ステップS15)。端末装置10は、ICカード20から受信したPUPIを用いてICカード20を選択する。例えば、端末装置10は、通信の対象として選択したICカード20から受信したPUPIをATTRIBに付加する。
Further, the
ICカード20は、選択コマンドを受信した場合、受信した選択コマンドを解析する。ICカード20は、選択コマンドを解析することにより、PUPIを認識する。ICカード20は、自身のPUPIと、認識したPUPIとを比較する。ICカード20は、自身のPUPIと、認識したPUPIとが一致した場合、論理チャネルの生成、通信速度の設定などを行う。これにより、ICカード20は、端末装置10との通信路を確立することができる。
When receiving the selection command, the
さらに、ICカード20は、選択コマンドに応じた処理の処理結果に基づいて、選択コマンドに対するレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する(ステップS16)。
Furthermore, the
端末装置10は、選択コマンドに対するレスポンスをICカード20から受信した場合、ICカード20との間で通信路が確立されたことを認識する。即ち、端末装置10は、ICカード20の選択が完了したことを認識する。
When receiving a response to the selection command from the
端末装置10は、選択したICカード20との間で相互認証を行う。まず、端末装置10は、乱数要求コマンドを生成する。端末装置10は、生成した乱数要求コマンドをICカード20に送信する(ステップS17)。
The
ICカード20は、乱数要求コマンドを受信した場合、ロジック回路部32により乱数を生成するようにロジック回路部32を制御する。さらに、ICカード20は、ロジック回路部32により生成された乱数と、既に生成したPUPIとに基づいて、相互認証に用いる乱数(擬似乱数データ)を生成する。乱数要求コマンドにより擬似乱数データのバイト数が指定されている場合、ICカード20は、指定されたバイト数の擬似乱数データを生成する。また、擬似乱数データは、例えばコマンド毎に固定長であってもよい。
When the
例えば、端末装置10とICカード20との間で、8バイトの擬似乱数データを用いて相互認証処理が行われる場合、ICカード20は、メモリ28aにより記憶されている4バイトのPUPIを擬似乱数データの一部として用いる。
For example, when mutual authentication processing is performed between the
ICカード20は、乱数要求コマンドを受信した場合、ロジック回路部32により4byteの乱数を生成する(ステップS18)。さらに、ICカード20は、記憶部28aから4byteのPUPIを読み出す(ステップS19)。ICカード20は、ロジック回路部32により生成された4byteの乱数と、記憶部28aから読み出した4byteのPUPIとを結合することにより、8バイトの擬似乱数データを生成する(ステップS20)。
When the
なお、擬似乱数データを生成する方法は、上記の方法に限定されない。ICカード20は、少なくともPUPIを擬似乱数データの一部として用いる方法であれば、如何なる方法により擬似乱数データを生成する構成であってもよい。
Note that the method of generating pseudo-random number data is not limited to the above method. The
また、PUPIのバイト数は、4バイトに限られるものではない。また、擬似乱数データのバイト数は、8バイトに限られるものではない。例えば、PUPIのバイト数と、擬似乱数データのバイト数が同じである場合、ICカード20は、PUPIを擬似乱数データとして用いる構成であってもよい。
The number of bytes of PUPI is not limited to 4 bytes. Further, the number of bytes of the pseudo random number data is not limited to 8 bytes. For example, when the number of bytes of PUPI is the same as the number of bytes of pseudorandom number data, the
ICカード20は、擬似乱数データを用いて、図6に示すような乱数要求コマンドに対するレスポンスを生成する。
The
図6は、ICカード20により生成された乱数要求コマンドに対するレスポンスの例を示す。
乱数要求コマンドに対するレスポンスは、「Data」、「SW1」、及び「SW2」を有する。ICカード20は、乱数要求コマンドに応じて実行した処理の結果に基づいて、「Data」、「SW1」、及び「SW2」に値を付加することにより、乱数要求コマンドに対するレスポンスを生成する。
FIG. 6 shows an example of a response to the random number request command generated by the
The response to the random number request command has “Data”, “SW1”, and “SW2”. The
「Data」は、コマンドを実行した結果として得られたデータを格納するフィールドである。ICカード20は、「Data」として擬似乱数データを付加する。
“Data” is a field for storing data obtained as a result of executing the command. The
「SW1」及び「SW2」は、コマンド処理の正常終了、エラー、または他の状態を示すステータスワードである。乱数要求コマンドに応じて擬似乱数データの生成を正常に行った場合、ICカード20は、正常終了を示す値を「SW1」、及び「SW2」に付加する。
“SW1” and “SW2” are status words indicating normal termination, error, or other state of command processing. When the pseudo random number data is normally generated in response to the random number request command, the
ICカード20は、乱数要求コマンドに対するレスポンスを端末装置10に送信する(ステップS21)。
The
端末装置10は、乱数要求コマンドに対するレスポンスを受信した場合、相互認証コマンドを生成する(ステップS22)。即ち、端末装置10は、乱数要求コマンドに対するレスポンスを受信した場合、レスポンスから擬似乱数データを取得する。端末装置10は、擬似乱数データを秘密鍵により暗号化し、暗号化されたデータ(第1の暗号化データ)を相互認証コマンドに付加する。
When receiving a response to the random number request command, the
端末装置10は、生成した相互認証コマンドをICカード20に送信する(ステップS23)。
The
ICカード20は、相互認証コマンドを受信した場合、認証処理を行う(ステップS24)。ICカード20は、相互認証コマンドを解析することにより、第1の暗号化データを認識する。さらに、ICカード20は、ステップS20で生成した擬似乱数データを秘密鍵により暗号化し、暗号化されたデータ(第2の暗号化データ)を生成する。
When receiving the mutual authentication command, the
ICカード20は、第1の暗号化データと第2の暗号化データとを比較し、一致するか否か判定する。第1の暗号化データと第2の暗号化データとが一致する場合、ICカード20は、認証結果を可と判定する。また、第1の暗号化データと第2の暗号化データとが一致しない場合、認証結果を不可と判定する。
The
ICカード20は、認証結果に基づいて相互認証コマンドに対するレスポンスを生成し、生成したレスポンスを端末装置10に送信する(ステップS25)。
The
端末装置10は、可の認証結果を受信した場合、ICカード20との間で相互認証が正常に完了したと認識する。これ以降、端末装置10は、種々のコマンドをICカード20に送信することにより、種々の処理をICカード20に実行させることができる。
When the
上記したように、一実施形態に係るICカード20は、初期応答時に生成したPUPIを記憶しておき、乱数を生成する場合に、記憶しておいたPUPIを乱数の一部として用いる。これにより、ICカード20は、新たに生成する乱数のデータ量を抑えることができる。この為、ICカード20の処理の負荷の軽減、及び高速化を実現することが出来る。
As described above, the
この結果、より効率的に非接触通信を行う事ができるICカード、及びICカードの処理方法を提供することができる。 As a result, it is possible to provide an IC card and an IC card processing method capable of performing non-contact communication more efficiently.
なお、ICカード20は、新たに乱数の生成が必要か否かを判定する構成であってもよい。例えば、生成する擬似乱数データのバイト数が、PUPIのバイト数以下である場合、ICカード20は、新たに乱数を生成せずにメモリ28aにより記憶されているPUPIの全体または一部を擬似乱数データとして用いてレスポンスを生成する。また、例えば、生成する擬似乱数データのバイト数が、PUPIのバイト数より大きい場合、ICカード20は、不足するバイト数分の乱数を生成し、PUPIと組み合わせる。これにより、ICカード20は、擬似乱数データを生成する。
The
なお、上記した実施形態では、ICカード20は、乱数要求コマンドを受信した場合に擬似乱数データを生成する構成として説明したが、この構成に限定されない。ICカード20は、端末装置10から初期応答要求コマンドを受信した場合に擬似乱数データを生成し、端末装置10に送信する構成であってもよい。
In the above-described embodiment, the
図7は、ICカード処理システム1の動作の他の例について示す。
端末装置10は、ICカード20の検知を行なう為に、アンテナ共振回路部16により送信する初期応答要求コマンドを生成する。端末装置10は、生成した初期応答要求コマンドをアンテナ共振回路部16により送信する(ステップS31)。端末装置10は、図8に示すような初期応答要求コマンドを生成する。
FIG. 7 shows another example of the operation of the IC
The
図8は、初期応答要求コマンドの例を示す。図8により示されるように、初期応答要求コマンドは、「APf」、「AFI」、「PARAM」、「乱数要求」、及び「CRC_B」を有する。なお、「APf」、「AFI」、「PARAM」、及び「CRC_B」は、図4に示されたものと同様である為、説明を省略する。 FIG. 8 shows an example of the initial response request command. As shown in FIG. 8, the initial response request command includes “APf”, “AFI”, “PARAM”, “random number request”, and “CRC_B”. Note that “APf”, “AFI”, “PARAM”, and “CRC_B” are the same as those shown in FIG.
乱数要求は、ICカード20に乱数(擬似乱数データ)の生成を指示する為の情報である。乱数要求は、例えば、擬似乱数データのバイト数を指定する為の情報を有する。
The random number request is information for instructing the
ICカード20は、端末装置10のアンテナ共振回路部16の通信可能範囲内に進入する場合、活性化されてアイドル状態になる。ICカード20は、初期応答要求コマンドを受信する。
When the
ICカード20のCPU25は、受信した初期応答要求コマンドを解析する。ICカード20は、初期応答要求コマンドの「APf」、「AFI」、「PARAM」、「乱数要求」、及び「CRC_B」のそれぞれの値を認識する。ICカード20は、初期応答要求コマンドを受信した場合、乱数要求により指定された長さの擬似乱数データを生成する(ステップS32)。
The
ICカード20は、生成された擬似乱数データを用いて図9に示すような初期応答要求コマンドに対するレスポンス(初期応答)を生成する。ICカード20は、生成された初期応答を端末装置10に送信する(ステップS33)。
The
図9は、ICカード20により生成された初期応答の例を示す。初期応答は、「APa」、「擬似乱数データ」、「応用データ」、「プロトコル情報」及び「CRC_B」を有する。なお、「APa」、「応用データ」、「プロトコル情報」及び「CRC_B」は、図5に示されたものと同様である為、説明を省略する。
FIG. 9 shows an example of an initial response generated by the
「擬似乱数データ」は、上記のステップS32でICカード20により生成された乱数である。例えば、ICカード20は、8バイトの擬似乱数データを生成する。例えば、端末装置10は、初期応答を受信した場合、第2から第5バイトまでをPUPIとして認識し、第2から第9バイトまでを擬似乱数データとして認識する。また、ICカード20も同様に、初期応答の第2から第5バイトまで、即ち、擬似乱数データの先頭の4バイトをPUPIとして認識する。なお、ICカード20は、擬似乱数データのうちの4バイトをPUPIとして認識する構成であれば、擬似乱数データのどこをPUPIとして認識する構成であってもよい。
The “pseudo random number data” is a random number generated by the
端末装置10は、初期応答要求コマンドに対するレスポンス(初期応答)を受信する場合、受信したレスポンスを解析する。これにより、端末装置10は、自身の通信可能範囲内にICカード20が存在することを認識する。また、端末装置10は、初期応答を解析することにより、ICカード20のPUPI、及び擬似乱数データを取得する。
When receiving a response (initial response) to the initial response request command, the
さらに、端末装置10は、例えばATTRIBコマンドなどの選択コマンドをICカード20に送信する(ステップS34)。端末装置10は、ICカード20から受信したPUPIを用いてICカード20を選択する。例えば、端末装置10は、通信の対象として選択したICカード20から受信したPUPIをATTRIBに付加する。
Furthermore, the
ICカード20は、選択コマンドを受信した場合、受信した選択コマンドを解析する。ICカード20は、選択コマンドを解析することにより、PUPIを認識する。ICカード20は、自身のPUPIと、認識したPUPIとを比較する。ICカード20は、自身のPUPIと、認識したPUPIとが一致した場合、論理チャネルの生成、通信速度の設定などを行う。これにより、ICカード20は、端末装置10との通信路を確立することができる。
When receiving the selection command, the
さらに、ICカード20は、選択コマンドに応じた処理の処理結果に基づいて、選択コマンドに対するレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する(ステップS35)。
Furthermore, the
端末装置10は、選択コマンドに対するレスポンスをICカード20から受信した場合、ICカード20との間で通信路が確立されたことを認識する。即ち、端末装置10は、ICカード20の選択が完了したことを認識する。
When receiving a response to the selection command from the
端末装置10は、選択したICカード20との間で相互認証を行う。この場合、端末装置10は、初期応答から取得した擬似乱数データに基づいて、相互認証コマンドを生成する(ステップS36)。即ち、端末装置10は、擬似乱数データを秘密鍵により暗号化し、暗号化された擬似乱数データ(第1の暗号化データ)を相互認証コマンドに付加する。
The
端末装置10は、生成した相互認証コマンドをICカード20に送信する(ステップS37)。
The
ICカード20は、相互認証コマンドを受信した場合、認証処理を行う(ステップS38)。ICカード20は、相互認証コマンドを解析することにより、第1の暗号化データを認識する。さらに、ICカード20は、ステップS32で生成した擬似乱数データを秘密鍵により暗号化し、暗号化された擬似乱数データ(第2の暗号化データ)を生成する。
When receiving the mutual authentication command, the
ICカード20は、第1の暗号化データと第2の暗号化データとを比較し、一致するか否か判定する。第1の暗号化データと第2の暗号化データとが一致する場合、ICカード20は、認証結果を可と判定する。また、第1の暗号化データと第2の暗号化データとが一致しない場合、認証結果を不可と判定する。
The
ICカード20は、認証結果に基づいて相互認証コマンドに対するレスポンスを生成し、生成したレスポンスを端末装置10に送信する(ステップS39)。
The
端末装置10は、可の認証結果を受信した場合、ICカード20との間で相互認証が正常に完了したと認識する。これ以降、端末装置10は、種々のコマンドをICカード20に送信することにより、種々の処理をICカード20に実行させることができる。
When the
上記したように、一実施形態に係るICカード20は、初期応答時に擬似乱数データを生成する。さらに、ICカード20は、擬似乱数データを初期応答として端末装置10に送信する。
As described above, the
この場合、端末装置10は、相互認証に必要な乱数要求コマンドをICカード20に送信する必要がなくなる。この為、ICカード20は、新たに生成する乱数のデータ量を抑え、且つ、より速く端末装置10との相互認証を完了させることができる。これにより、ICカード20の処理の負荷の軽減、及び高速化を実現することが出来る。
In this case, the
この結果、より効率的に非接触通信を行う事ができるICカード、及びICカードの処理方法を提供することができる。 As a result, it is possible to provide an IC card and an IC card processing method capable of performing non-contact communication more efficiently.
なお、上記した実施形態では、端末装置10は、乱数要求を初期応答要求コマンドに付加する構成として説明したが、この構成に限定されない。端末装置10は、乱数要求を選択コマンドに付加する構成であってもよい。
In the above-described embodiment, the
また、ICカード20は、擬似乱数データを初期応答に付加する構成として説明したが、この構成に限定されない。端末装置10は、擬似乱数データを選択コマンドに対するレスポンスに付加する構成であってもよい。
Further, although the
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。 It should be noted that the functions described in the above embodiments are not limited to being configured using hardware, but can be realized by causing a computer to read a program describing each function using software. Each function may be configured by appropriately selecting either software or hardware.
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.
1…ICカード処理システム、10…端末装置、12…ROM、13…RAM、14…不揮発性メモリ、15…送受信部、16…アンテナ共振回路部、17…ロジック回路部、18…上位インターフェース部、19…電源回路部、20…ICカード、21…本体、22…ICモジュール、23…ICチップ、24…アンテナ共振回路部、25…CPU、26…ROM、27…RAM、28…不揮発性メモリ、28a…記憶部、29…送受信部、31…電源回路部、32…ロジック回路部。
DESCRIPTION OF
Claims (9)
前記外部機器から送信されたコマンドを受信する受信部と、
前記受信部により初期応答要求コマンドを受信した場合、カード識別子として第1の乱数を生成する乱数生成部と、
前記受信部により乱数要求を受信した場合、前記第1の乱数の全てあるいはその一部を用いて乱数データを生成する乱数生成部と、
前記乱数生成部により生成された前記乱数データを前記外部機器に送信する送信部と、
を具備するICカード。 An IC card that performs non-contact communication with an external device,
A receiving unit for receiving a command transmitted from the external device;
A random number generator that generates a first random number as a card identifier when an initial response request command is received by the receiver;
A random number generation unit that generates random number data using all or a part of the first random number when receiving a random number request by the reception unit;
A transmission unit for transmitting the random number data generated by the random number generation unit to the external device;
IC card comprising:
前記ICモジュールが配設される本体と、
を具備する請求項1に記載のICカード。
An IC module comprising the receiving unit, the random number generating unit, the random number generating unit, and the transmitting unit ;
A main body on which the IC module is disposed;
The IC card according to claim 1, comprising:
前記外部機器から送信された初期応答要求コマンドを受信した場合、カード識別子としての第1の乱数を生成し、
前記外部機器から送信された乱数要求を受信した場合、前記第1の乱数の全てあるいはその一部を用いて乱数データを生成し、
生成された前記乱数データを前記外部機器に送信する、
ICカードの制御方法。 An IC card control method for performing non-contact communication with an external device,
When an initial response request command transmitted from the external device is received, a first random number as a card identifier is generated,
When a random number request transmitted from the external device is received, random number data is generated using all or a part of the first random number,
Transmitting the generated random number data to the external device;
IC card control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011217905A JP5726700B2 (en) | 2011-09-30 | 2011-09-30 | IC card and IC card processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011217905A JP5726700B2 (en) | 2011-09-30 | 2011-09-30 | IC card and IC card processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013077236A JP2013077236A (en) | 2013-04-25 |
JP5726700B2 true JP5726700B2 (en) | 2015-06-03 |
Family
ID=48480632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011217905A Active JP5726700B2 (en) | 2011-09-30 | 2011-09-30 | IC card and IC card processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5726700B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3901976B2 (en) * | 2000-10-13 | 2007-04-04 | 松下電器産業株式会社 | Non-contact IC card, response method, and program thereof |
JP2006024119A (en) * | 2004-07-09 | 2006-01-26 | Toshiba Corp | Portable electronic device, random number generation method, and data processing method by random number |
JP4917478B2 (en) * | 2007-05-25 | 2012-04-18 | 株式会社ケーヒン | Random number generator and vehicle control device |
JP2011022841A (en) * | 2009-07-16 | 2011-02-03 | Toshiba Corp | Processing system for portable electronic apparatus, portable electronic apparatus, and processing apparatus for portable electronic apparatus |
-
2011
- 2011-09-30 JP JP2011217905A patent/JP5726700B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013077236A (en) | 2013-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140189223A1 (en) | Ic card, portable electronic device, and method of controlling ic card | |
JP2012208910A (en) | Portable electronic device and processing system for portable electronic device | |
JP2011022841A (en) | Processing system for portable electronic apparatus, portable electronic apparatus, and processing apparatus for portable electronic apparatus | |
KR100862009B1 (en) | System and Method for Authenticating RFID Readeror Terminal, Secure RFID Tag for Authenticating RFID Readeror Terminal | |
KR100847787B1 (en) | System and Method for Authenticating RFID Readeror Terminal, Secure RFID Tag for Authenticating RFID Readeror Terminal and Recording Medium | |
JP5726700B2 (en) | IC card and IC card processing method | |
JP5444138B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PORTABLE ELECTRONIC DEVICE | |
JP5693824B2 (en) | IC card processing device, IC card, and IC card processing system | |
JP6092342B2 (en) | Non-contact portable electronic device and method for issuing non-contact portable electronic device | |
JP2013118473A (en) | Ic card, portable electronic device and control program of ic card | |
JP5684059B2 (en) | IC card and control method of IC card | |
JP5875772B2 (en) | Portable electronic device, control method for portable electronic device, and processing system for portable electronic device | |
JP6009854B2 (en) | IC card, portable electronic device, and IC card control program | |
JP5684051B2 (en) | Portable electronic device, IC card, and control method for portable electronic device | |
JP5957577B2 (en) | IC card, portable electronic device, and IC card control method | |
JP5726659B2 (en) | IC card, IC card processing device, and IC card processing system | |
JP5657440B2 (en) | Portable electronic device and processing system for portable electronic device | |
US20150324411A1 (en) | Data processing apparatus for ic card issuing, ic card issuing apparatus, ic card issuing system, data processing program for ic card issuing, ic card issuing program | |
JP5784204B2 (en) | Portable electronic device and processing system for portable electronic device | |
JP5971687B2 (en) | IC card, portable electronic device, and IC card command processing method | |
JP5677195B2 (en) | Portable electronic device and method for controlling portable electronic device | |
JP5787692B2 (en) | IC card, portable electronic device, and IC card control method | |
JP2012198676A (en) | Portable electronic device, processor for portable electronic device, and processing system for portable electronic device | |
JP2012198682A (en) | Portable electronic device, processor of portable electronic device, and processing system of portable electronic device | |
JP2012243132A (en) | Portable electronic apparatus, processing device of portable electronic apparatus and processing system of portable electronic apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131205 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131212 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140109 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140924 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141014 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141212 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150401 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5726700 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313114 Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |