JP5677195B2 - Portable electronic device and method for controlling portable electronic device - Google Patents
Portable electronic device and method for controlling portable electronic device Download PDFInfo
- Publication number
- JP5677195B2 JP5677195B2 JP2011113496A JP2011113496A JP5677195B2 JP 5677195 B2 JP5677195 B2 JP 5677195B2 JP 2011113496 A JP2011113496 A JP 2011113496A JP 2011113496 A JP2011113496 A JP 2011113496A JP 5677195 B2 JP5677195 B2 JP 5677195B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- card
- hash value
- command
- memory
- 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
Landscapes
- Credit Cards Or The Like (AREA)
Description
本発明の実施形態は、携帯可能電子装置、携帯可能電子装置の制御方法に関する。 Embodiments described herein relate generally to a portable electronic device and a method for controlling the portable electronic device.
一般的に、携帯可能電子装置として用いられる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/IEC7816に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。 The IC card is, for example, an IC card conforming to the international standard ISO / IEC7816. 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カードからのレスポンスが正しいか否かに基づいて、発行処理により正しくデータが格納されたか否かを判断する。 An IC card is normally subjected to an issuing process for writing applications, control data, or other data before shipment. In many cases, data written to the IC card by such issuing processing is data that requires high confidentiality, such as an encryption key. For this reason, the IC card is configured not to easily output these data to the outside. Therefore, the issuing device that issues the IC card transmits a command to the IC card, and determines whether or not the data is correctly stored by the issuing process based on whether or not the response from the IC card is correct.
しかし、コマンドに対するレスポンスの正否に基づいてICカード内のデータを検査する場合、全てのデータを確認することができない可能性がある。即ち、ICカードに送信したコマンドにより扱われないデータに不具合が生じている場合、上記の方法によると不具合が発見されない可能性がある。 However, when data in the IC card is inspected based on whether the response to the command is correct or not, there is a possibility that not all data can be confirmed. That is, if a problem occurs in data that is not handled by the command transmitted to the IC card, the problem may not be found by the above method.
そこで、間接的に、且つ、より高い精度でデータを検査することができる携帯可能電子装置、携帯可能電子装置の制御方法を提供することを目的とする。 Therefore, an object of the present invention is to provide a portable electronic device capable of inspecting data indirectly and with higher accuracy, and a method for controlling the portable electronic device.
一実施形態に係る携帯可能電子装置は、データを記憶するメモリと、外部機器から送信されたコマンドを受信する受信部と、前記受信部により発行コマンドを受信した場合、前記発行コマンドに基づいてデータを取得し、取得したデータを前記メモリに書き込むコマンド処理部と、前記受信部により検査コマンドを受信した場合、前記メモリのデータに基づいてハッシュ値を算出するハッシュ値算出部と、前記ハッシュ値算出部により算出されたハッシュ値に基づいてレスポンスを生成するレスポンス処理部と、前記レスポンス処理部により生成されたレスポンスを前記外部機器に送信する送信部と、を具備し、前記コマンド処理部は、前記発行コマンドに基づいてデータを生成し、生成したデータを前記メモリに書き込み、前記ハッシュ値算出部は、前記メモリの生成されたデータを予め設定されたデータに置き換えて、前記メモリのデータに基づいてハッシュ値を算出する。 A portable electronic device according to an embodiment includes a memory that stores data, a receiving unit that receives a command transmitted from an external device, and a data received based on the issuing command when the receiving unit receives the issuing command. A command processing unit that writes the acquired data to the memory, a hash value calculation unit that calculates a hash value based on the data in the memory when the receiving unit receives an inspection command, and the hash value calculation based on the hash value calculated by the parts comprising the response processor for generating a response, and a transmission unit for transmitting the response generated by the response processing unit to the external device, said command processing unit, said Generate data based on the issue command, write the generated data to the memory, and the hash value Output unit, replacing the preset data generated data in the memory, calculates a hash value based on data in the memory.
以下、図面を参照しながら、一実施形態に係る携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムについて詳細に説明する。 Hereinafter, a portable electronic device, a processing device for a portable electronic device, and a processing system for a portable electronic device according to an embodiment will be described in detail with reference to the drawings.
本実施形態に係る携帯可能電子装置(ICカード)20及びICカード20を処理する処理装置(端末装置)10は、例えば、接触通信、及び/または非接触通信の機能を備える。これにより、ICカード20及び端末装置10は、互いにデータの送受信を行うことができる。
The portable electronic device (IC card) 20 and the processing device (terminal device) 10 that processes the
図1は、一実施形態に係るICカード処理システム1の構成例を示す。
ICカード処理システム1は、ICカード20を処理する端末装置10と、ICカード20と、を備える。
FIG. 1 shows a configuration example of an IC
The IC
端末装置10は、CPU11、ROM12、RAM13、不揮発性メモリ14、カードリーダライタ15、操作部17、ディスプレイ18、及び電源部19を備える。CPU11、ROM12、RAM13、不揮発性メモリ14、カードリーダライタ15、操作部17、及びディスプレイ18は、それぞれバスを介して互いに接続されている。
The
CPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM12又は不揮発性メモリ14に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU11は、カードリーダライタ15を介してICカード20とコマンド及びレスポンスの送受信を行う。
The
ROM12は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。RAM13は、ワーキングメモリとして機能する揮発性のメモリである。RAM13は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM13は、カードリーダライタ15を介して外部の機器と送受信するデータを一時的に格納する。また、RAM13は、CPU11が実行するプログラムを一時的に格納する。
The
不揮発性メモリ14は、例えばEEPROM、FRAMなどを備える。不揮発性メモリ14は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
The
カードリーダライタ15は、ICカード20と通信を行うためのインターフェース装置である。カードリーダライタ15は、接触通信、または非接触通信によりICカード20とデータの送受信を行う。
The card reader /
接触通信のインターフェースとして用いられる場合、カードリーダライタ15は、ICカード20が装着されるスロットと、ICカード20が備えるコンタクトパターンと接続される複数の接触端子を備える。
When used as an interface for contact communication, the card reader /
スロットにICカード20が装着される場合、カードリーダライタ15の複数の接触端子は、ICカード20のコンタクトパターンに接続される。これにより、端末装置10とICカード20とは電気的に接続される。カードリーダライタ15は、スロットに装着されるICカード20に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
When the
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ15は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
When used as an interface for non-contact communication, the card reader /
カードリーダライタ15は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ15は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置10は、通信可能範囲に存在するICカード20に対してデータを非接触で送信することができる。
For example, the card reader /
さらに、カードリーダライタ15のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ15は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置10は、ICカード20から送信された元のデータを取得することができる。
Further, the antenna of the card reader /
操作部17は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。操作部17は、生成した操作信号をCPUに入力する。これにより、CPU11は、操作者により入力された操作に基づいて処理を事項することができる。
The
ディスプレイ18は、CPU11、または図示されないグラフィックコントローラなどの表示処理モジュールから入力される映像を表示するための信号に基づいて種々の情報を表示する。
The
電源部19は、端末装置10の各部に電力を供給する。電源部19は、例えば、商用電源より電力を受け取り、所定の電圧に変換し、端末装置10の各部に供給する。
The
図2は、一実施形態に係るICカード20の構成例を示す。
図2に示すように、ICカード20は、例えば、矩形状の本体21と、本体21内に内蔵されたICモジュール22とを備える。ICモジュール22は、ICチップ23と、通信部24とを備える。ICチップ23と通信部24とは、互いに接続された状態でICモジュール22内に形成されている。
FIG. 2 shows a configuration example of the
As shown in FIG. 2, the
なお、本体21は、少なくとも通信部24が配設されるICモジュール22を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
The
ICチップ23は、通信部24、CPU25、ROM26、RAM27、不揮発性メモリ28、電源部31、及びロジック部32などを備える。通信部24、CPU25、ROM26、RAM27、不揮発性メモリ28、電源部31、及びロジック部32は、バスを介して互いに接続されている。
The
通信部24は、端末装置(外部機器)10のカードリーダライタ15と通信を行うためのインターフェースである。通信部24は、接触通信、または非接触通信により、端末装置10とデータの送受信を行う。
The
接触通信のインターフェースとして用いられる場合、通信部24は、カードリーダライタ15の接触端子と接続されるコンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりICモジュール22の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置10のカードリーダライタ15の接触端子と接触可能に形成されている。
When used as an interface for contact communication, the
コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれ端子として機能する。通信部24は、コンタクトパターンを介してカードリーダライタ15とデータの送受信を行うことができる。
The contact pattern is formed by dividing a surface formed of metal into a plurality of areas. Each divided area functions as a terminal. The
また、非接触通信のインターフェースとして用いられる場合、通信部24は、信号処理部とアンテナとを備える。
When used as an interface for non-contact communication, the
信号処理部は、端末装置10に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置10に送信するデータの変調(増幅)を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
The signal processing unit performs signal processing such as encoding and load modulation on data to be transmitted to the
アンテナは、例えば、ICモジュール22内に所定の形状で配設される金属線により構成される。ICカード20は、端末装置10に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ICカード20は、端末装置10に対してデータを送信することができる。また、ICカード20は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置10から送信されるデータを認識する。
The antenna is constituted by, for example, a metal wire disposed in a predetermined shape in the
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信部24は、2値の論理データを取得する。通信部24は、解析したデータをバスを介してCPU25に送信する。
For example, the signal processing unit demodulates and decodes the induced current generated in the antenna. For example, the signal processing unit analyzes a signal received by the antenna. As a result, the
CPU25は、ICカード20全体の制御を司る制御部として機能する。CPU25は、ROM26あるいは不揮発性メモリ28に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置10から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
The
ROM26は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM26は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード20内に組み込まれる。即ち、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に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
For example, in the
電源部31は、端末装置10の各部に電力を供給する。ICカード20が接触通信を行う構成を備える場合、電源部31は、通信部24のコンタクトパターンを介してカードリーダライタ15から供給される電力をICカード20の各部に供給する。
The
また、ICカード20が非接触通信を行う構成を備える場合、カードリーダライタ15のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部31は、動作クロックを生成する。電源部31は、発生させた電力及び動作クロックをICカード20の各部に電力を供給する。ICカード20の各部は、電力の供給を受けた場合、動作可能な状態になる。
In addition, when the
ロジック部32は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部32は、端末装置10からのコマンドに基づいて、暗号化、復号、ハッシュ計算、及び乱数の生成などの処理を行う。例えば、端末装置10から相互認証コマンドを受信する場合、ロジック部32は、乱数を生成し、生成した乱数をCPU25に伝送する。
The
例えば、端末装置10がICカード20の発行装置として機能する場合、端末装置10は、種々のコマンドをICカード20に送信することにより、ICカード20の不揮発性メモリ28内にアプリケーション、制御データ、暗号鍵などの種々のデータを格納することができる。
For example, when the
図3は、端末装置10によるICカード20の発行処理の例を示す。
まず、端末装置10は、ICカード20にコマンド(初期化コマンド)を送信することにより、ICカード20の不揮発性メモリ28の初期化を行う(ステップS11)。これにより、端末装置10は、ICカード20の不揮発性メモリ28内にICカード20の使用目的、及び使用用途などに応じた鍵ファイルやデータファイル等を定義する。
FIG. 3 shows an example of the issuing process of the
First, the
これにより、端末装置10は、例えば、ISO/IEC7816により規定されているファイル構造を不揮発性メモリ28内に創成する。上記の初期化が行われた不揮発性メモリ28は、Master File(MF)、Dedicated File(DF)、及びElementary File(EF)などを有する。
Thereby, the
MFは、ファイル構造の根幹となるファイルである。DFは、MFの下位に創成される。DFは、アプリケーション及びアプリケーションに用いられるデータなどをグループ化して格納するファイルである。EFは、DFの下位に創成される。EFは、様々なデータを格納するためのファイルである。また、MFの直下にEFが置かれる場合もある。 The MF is a file that is the basis of the file structure. The DF is created below the MF. The DF is a file that stores applications and data used for the applications in groups. EF is created below DF. The EF is a file for storing various data. In some cases, an EF is placed directly under the MF.
EFには、Working Elementary File(WEF)とInternal Elementary File(IEF)などの種類がある。WEFは、作業用EFであり、個人情報などを格納する。IEFは、内部EFであり、例えば、セキュリティのための暗号鍵(暗証番号)などのデータを記憶する。 There are various types of EFs, such as a Working Elementary File (WEF) and an Internal Elementary File (IEF). The WEF is a working EF and stores personal information and the like. The IEF is an internal EF and stores data such as an encryption key (password) for security.
次に、端末装置10は、ICカード20にコマンド(フェーズ切り替えコマンド)を送信することにより、ICカード20フェーズを切り替える(ステップS12)。この場合、端末装置10は、ICカード20のフェーズを初期化処理などが行われる初期フェーズから一次発行が行われる一次発行フェーズに切り替える。
Next, the
端末装置10は、ICカード20にコマンド(一次発行コマンド)を送信することにより、ICカード20の不揮発性メモリ28内に創成されたファイル内に種々のデータを書き込む(ステップS13)。例えば、端末装置10は、WRITEコマンドを複数回ICカード20に送信することにより、上記のようなアプリケーション、制御データ、暗号鍵などの種々のデータを所定のファイルに書き込む。
The
なお、一次発行で書き込まれるデータは、通常、複数のカードに共通するデータである。また、ICカード20は、一次発行コマンドを受信した場合、上記のロジック部32などにより乱数などのデータを生成し、生成した乱数をファイルに格納する場合もある。即ち、ICカード20の不揮発性メモリ28は、外部から受信した発行コマンドから取得したデータを書き込む領域(第1のメモリ)と、ICカード20内部で生成したデータを書き込む領域(第2のメモリ)とを有する。
The data written in the primary issue is usually data common to a plurality of cards. Further, when the
さらに、端末装置10は、全ての一次発行コマンドの最後のコマンドとして、検査コマンドをICカード20に送信する。ICカード20は、検査コマンドを受信した場合、不揮発性メモリ28内のデータに基づいてハッシュ計算を行い、算出されたハッシュ値を含むレスポンスを端末装置10に送信する。また、端末装置10は、ICカード20に書き込んだデータを逐次認識している。端末装置10は、認識しているICカード20の不揮発性メモリ28のデータに基づいてハッシュ値を算出する。端末装置10は、算出したハッシュ値と、受信したレスポンスに含まれるハッシュ値とが一致する場合、後段の処理を行う。
Furthermore, the
受信したレスポンスに含まれるハッシュ値が正しい値である場合、端末装置10は、ICカード20にコマンド(フェーズ切り替えコマンド)を送信する。これにより、端末装置10は、ICカード20フェーズを切り替える(ステップS14)。この場合、端末装置10は、ICカード20のフェーズを一次発行フェーズから二次発行が行われる二次発行フェーズに切り替える。
If the hash value included in the received response is a correct value, the
端末装置10は、ICカード20にコマンド(二次発行コマンド)を送信することにより、ICカード20の不揮発性メモリ28内に創成されたファイル内に種々のデータを書き込む(ステップS15)。例えば、端末装置10は、WRITEコマンドを複数回ICカード20に送信することにより、個人データなどの個別データを所定のファイルに書き込む。なお、一次発行と二次発行とは、それぞれ異なる端末装置10が処理を実行する構成あってもよいし、同じ端末装置10が一次発行及び二次発行を実行する構成であってもよい。
The
二次発行を完了させた場合、端末装置10は、ICカード20にコマンド(フェーズ切り替えコマンド)を送信する。これにより、端末装置10は、ICカード20フェーズを切り替える(ステップS16)。この場合、端末装置10は、ICカード20のフェーズを二次発行フェーズから運用フェーズに切り替える(ステップS17)。これ以降、ICカード20は、端末装置10から受信したコマンドに応じて不揮発性メモリ28に格納されているアプリケーションなどを実行することができる。これにより、ICカード20は、交通系、金融系などの種々の用途に用いられる。
When the secondary issue is completed, the
図4は、上記の一次発行、または二次発行におけるICカード20の処理の例を示す。
ICカード20は、端末装置10からのコマンドを待つ状態を保持する。即ち、ICカード20は、一次発行コマンドまたは二次発行コマンドなどの発行コマンドを受信したか否か逐次判定する(ステップS21)。
FIG. 4 shows an example of processing of the
The
ここで、発行コマンドを受信したと判定した場合、ICカード20は、受信した発行コマンドに応じてデータを不揮発性メモリ28の所定のファイルに書き込む(ステップS22)。ICカード20は、データの書き込みを行った後、ステップS21に移行し、次の発行コマンドを待つ状態を維持する。
If it is determined that the issue command has been received, the
また、ステップS21で、発行コマンドを受信しなかったと判定した場合、ICカード20は、検査コマンドを受信したか否か判定する(ステップS23)。ここで、検査コマンドを受信しなかったと判定した場合、ICカード20は、ステップS21に移行し、次の発行コマンドを待つ状態を維持する。
If it is determined in step S21 that the issue command has not been received, the
端末装置10は、例えば、図5により示されるようなコマンドをICカード20に送信する。
For example, the
図5により示されるように、端末装置10がICカード20に送信するコマンドは、
「CLA」501、「INS」502、「P1」503、「P2」504、「Lc」505、「Data」506、及び「Le」507を有する。
As shown in FIG. 5, the command transmitted from the
“CLA” 501, “INS” 502, “P1” 503, “P2” 504, “Lc” 505, “Data” 506, and “Le” 507.
「CLA」501は、コマンドの層別を示すclass byteである。「INS」502は、コマンドの種別を示すinstruction byteである。「P1」503及び「P2」504は、「INS」502に応じたパラメータを示すparameter byteである。 “CLA” 501 is a class byte indicating the stratification of the command. “INS” 502 is an instruction byte indicating the type of command. “P1” 503 and “P2” 504 are parameter bytes indicating parameters according to “INS” 502.
「Lc」505は、「Data」506のデータの長さ(バイト数)を示すlength field for cording number Ncである。「Data」506は、当該コマンドのデータ本体を示すcommand data fieldである。「Le」507は、当該コマンドに対するレスポンスのデータ長を示すlength field for cording number Neである。 “Lc” 505 is a length field for coding number Nc indicating the data length (number of bytes) of “Data” 506. “Data” 506 is a command data field indicating the data body of the command. “Le” 507 is a length field for coding number Ne indicating the data length of the response to the command.
即ち、「CLA」501及び「INS」502により、当該コマンドが検査コマンドであるのか、発行コマンドであるのか、または他のコマンドであるのかが示される。ICカード20は、受信したコマンドの「CLA」501及び「INS」502の値を解析することにより、受信したコマンドの種類を認識する。
That is, “CLA” 501 and “INS” 502 indicate whether the command is an inspection command, an issued command, or another command. The
例えば、コマンドが書き込みコマンドである場合、ICカード20は、「Data」506内のデータを不揮発性メモリ28の「P1」503及び「P2」504などにより指定された位置、またはファイルに書き込む。
For example, when the command is a write command, the
また、「Data」506は、複数のTLVデータオブジェクトを含む構成であってもよい。この場合、「Data」506は、Tag Length Value(TLV)構造のデータを複数含む。TLVデータオブジェクトのTagは、ICカード20のCPU25にTLVデータオブジェクトを識別させる為の情報である。Lengthは、TLVデータオブジェクトのValueのデータ長を示す情報である。Valueは、TLVデータオブジェクトのデータ本体である。
“Data” 506 may include a plurality of TLV data objects. In this case, “Data” 506 includes a plurality of data having a tag length value (TLV) structure. Tag of the TLV data object is information for causing the
例えば、「Data」506が、データの書き込み先を示すTLVデータオブジェクト、及びデータ本体を示すTLVデータオブジェクトなどを有する場合、ICカード20は、TLVデータオブジェクトが示す書き込み先にデータ本体を書き込む。
For example, when the “Data” 506 includes a TLV data object indicating a data writing destination, a TLV data object indicating a data main body, and the like, the
さらに、ICカード20のCPU25は、内部でデータを生成することが必要なコマンドを受信した場合、データを生成し、生成されたデータ(生成データ)を不揮発性メモリ28の所定のファイルに書き込む。例えば、CPU25は、ロジック部32により乱数を生成させ、生成された乱数に基づいて、生成データを生成する。さらに、CPU25は、生成データを不揮発性メモリ28内のコマンドにより指定される位置、または、予め設定された位置に書き込む。
Further, when the
上記の処理を繰り返し行うことにより、ICカード20の不揮発性メモリ28には、種々のデータが書き込まれる。
By repeatedly performing the above processing, various data are written in the
図6は、ICカード20の不揮発性メモリ28の例を示す。
データ281及び282は、発行コマンドから取得したデータを示す。またデータ283は、上記の処理によりICカード28内部で生成された生成データを示す。さらに、不揮発性メモリ28内には、管理ファイルなどが格納される。ICカード20は、管理ファイルにより、不揮発性メモリ28内のデータをファイル構造として認識することができる。
FIG. 6 shows an example of the
さらに、ICカード20は、図4により示されたステップS23で、検査コマンドを受信したと判定した場合、不揮発性メモリ28により記憶されているデータに基づいて、ハッシュ値を算出する(ステップS24)。
Further, when it is determined in step S23 shown in FIG. 4 that the
ICカード20は、例えば、ハッシュ関数としてSHA256を用いてハッシュ値を算出する。ICカード20は、例えば、不揮発性メモリ28の全てのデータに基づいてハッシュ値を算出する。
For example, the
また、検査コマンドの「Data」506に不揮発性メモリ28上の領域を指定するデータが含まれている場合、ICカード20は、不揮発性メモリ28上の検査コマンドにより指定された領域のデータに基づいてハッシュ値を算出する構成であってもよい。この場合、検査コマンドは、例えば、先頭アドレスを示すデータとデータ長を示すデータとを含む。ICカード20は、不揮発性メモリ28に格納されているデータのうちの、先頭アドレスが示す位置からデータ長が示す長さのデータに基づいてハッシュ値を算出する。
If the data “506” of the inspection command includes data specifying an area on the
また、検査コマンドの「Data」506に不揮発性メモリ28上の領域を指定するデータが複数含まれている場合、ICカード20は、不揮発性メモリ28上の検査コマンドにより指定された複数の領域のデータを結合し、結合したデータに基づいてハッシュ値を算出する構成であってもよい。
In addition, when the inspection data “Data” 506 includes a plurality of data specifying the areas on the
またさらに、ハッシュ値の算出に用いるデータの中に、上記したような生成データが含まれている場合、ICカード20は、生成データを予め設定された値(例えば「0」など)に置き換え、置き換えたデータを含むデータに基づいてハッシュ値を算出する構成であってもよい。また、この場合、端末装置10も生成データに該当する領域のデータを予め設定された所定の値に置き換え、ハッシュ値を算出する。なお、ICカード20において置き換えられた値と、端末装置10において置き換えられた値とは一致する必要がある。
Furthermore, if the data used for calculating the hash value includes the generated data as described above, the
また、ハッシュ値の算出に用いるデータの中に、暗号化されたデータが含まれている場合、ICカード20は、暗号化されたデータを復号し、復号されたデータに基づいてハッシュ値を算出する構成であってもよい。これにより、不揮発性メモリ28に記憶されているデータが暗号化されている場合であっても、ICカード20は、ハッシュ値を算出することができる。
When the data used for calculating the hash value includes encrypted data, the
ICカード20は、算出したハッシュ値に基づいて、レスポンスを生成する(ステップS25)。ICカード20は、生成したレスポンスを端末装置10に送信する(ステップS26)。
The
さらに、ICカード20は、上記のハッシュ値の算出及び算出されたハッシュ値をレスポンスとして出力する機能(総じてハッシュ機能と称する)を停止させ(ステップS27)、処理を終了する。
Further, the
例えば、ICカード20は、ハッシュ機能を停止させるか否かを示す情報(ハッシュフラグ)を不揮発性メモリ28に記憶する。ICカード20は、所定のタイミングでこのハッシュフラグをOFFすることにより、ハッシュ機能を停止させることができる。
For example, the
例えば、ICカード20が一次発行フェーズから二次発行フェーズに切り替えられるタイミングでハッシュ機能を停止させる場合、ICカード20は、二次発行フェーズ以降においてハッシュ値の出力を行わない。また、例えば、ICカード20が二次発行フェーズから運用フェーズに切り替えられるタイミングでハッシュ機能を停止させる場合、ICカード20は、運用フェーズにおいてハッシュ値の出力を行わない。これにより、Icカード20のより高いセキュリティ性を実現することができる。
For example, when the hash function is stopped at the timing when the
なお、上記の例では、ICカード20は、一次発行フェーズ、または二次発行フェーズの最後の処理としてハッシュ値の算出及び出力を行い、ハッシュ機能を停止させる構成として説明したが、この構成に限定されない。例えば、ICカード20は、フェーズ切り替えコマンドを受信した場合にハッシュ機能を停止させる構成であってもよい。
In the above example, the
また、端末装置10は、発行フェーズにおいてICカード20に送信した発行コマンドに基づいて、ICカード20の不揮発性メモリ28の状態を管理(把握)することができる。端末装置10は、自身が管理している不揮発性メモリ28の状態に基づいてハッシュ値を算出する。端末装置10は、算出したハッシュ値と、受信したレスポンスに含まれるハッシュ値とを比較する。端末装置10は、算出したハッシュ値と、受信したレスポンスに含まれるハッシュ値とが一致する場合、後段の処理を行う。
Further, the
なお、端末装置10は、予めICカード20に書き込むデータが一定である場合、予め算出されたハッシュ値を記憶する構成であってもよい。この場合、端末装置10は、記憶しているハッシュ値と、受信したレスポンスに含まれるハッシュ値とが一致する場合、後段の処理を行う。
The
上記したように、一実施形態に係るICカード20は、発行フェーズにおいて検査コマンドを受信した場合、不揮発性メモリ28により記憶されているデータに基づいてハッシュ値を算出する。ICカード20は、算出したハッシュ値をレスポンスに付加し、端末装置10に送信する。端末装置10は、レスポンスに付加されていたハッシュ値が正しいか否か判定することにより、ICカード20に正確にデータを書き込むことが出来たか否かを判断する。
As described above, the
このように、ハッシュ関数を利用して不揮発性メモリ28のデータに基づいてハッシュ値を算出することにより、ICカード処理システム1は、不揮発性メモリ28内のデータの正確性を1ビット単位で判断することができる。また、ICカード処理システム1は、個人データ、または暗号鍵などのセキュアに管理しなければならない初期化データをICカード20から出力することなく、不揮発性メモリ28内のデータの正確性を確認することができる。この結果、間接的に、且つ、より高い精度でデータを検査することができる携帯可能電子装置、携帯可能電子装置の制御方法を提供することができる。
Thus, by calculating a hash value based on the data in the
なお、上記の実施形態では、ICカード20は、ハッシュ関数としてSHA256を用いてハッシュ値を算出すると説明したが、この構成に限定されない。ICカード20がハッシュ値の算出に用いるハッシュ関数は、少なくとも端末装置10が用いるハッシュ関数と同一であれば如何なるものであってもよい。
In the above embodiment, 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…端末装置、11…CPU、12…ROM、13…RAM、14…不揮発性メモリ、15…カードリーダライタ、17…操作部、18…ディスプレイ、19…電源部、20…ICカード、21…本体、22…ICモジュール、23…ICチップ、24…通信部、25…CPU、26…ROM、27…RAM、28…不揮発性メモリ、31…電源部。
DESCRIPTION OF
Claims (6)
外部機器から送信されたコマンドを受信する受信部と、
前記受信部により発行コマンドを受信した場合、前記発行コマンドに基づいてデータを取得し、取得したデータを前記メモリに書き込むコマンド処理部と、
前記受信部により検査コマンドを受信した場合、前記メモリのデータに基づいてハッシュ値を算出するハッシュ値算出部と、
前記ハッシュ値算出部により算出されたハッシュ値に基づいてレスポンスを生成するレスポンス処理部と、
前記レスポンス処理部により生成されたレスポンスを前記外部機器に送信する送信部と、
を具備し、
前記コマンド処理部は、前記発行コマンドに基づいてデータを生成し、生成したデータを前記メモリに書き込み、
前記ハッシュ値算出部は、前記メモリの生成されたデータを予め設定されたデータに置き換えて、前記メモリのデータに基づいてハッシュ値を算出する、
携帯可能電子装置。 A memory for storing data;
A receiving unit for receiving a command transmitted from an external device;
When receiving an issue command by the receiving unit, a command processing unit that acquires data based on the issue command and writes the acquired data to the memory;
A hash value calculation unit that calculates a hash value based on the data in the memory, when an inspection command is received by the reception unit;
A response processing unit that generates a response based on the hash value calculated by the hash value calculation unit;
A transmission unit that transmits the response generated by the response processing unit to the external device;
Equipped with,
The command processing unit generates data based on the issued command, writes the generated data to the memory,
The hash value calculation unit replaces the data generated in the memory with preset data, and calculates a hash value based on the data in the memory.
Portable electronic device.
前記ICモジュールが配設される本体と、
を具備する請求項1に記載の携帯可能電子装置。 An IC module comprising the memory, the reception unit, the command processing unit, the hash value calculation unit, the response processing unit, and the transmission unit ;
A main body on which the IC module is disposed;
The portable electronic device according to claim 1, comprising:
外部機器から送信された発行コマンドを受信した場合、前記発行コマンドに基づいてデータを取得し、前記発行コマンドに基づいてデータを生成し、取得したデータ及び生成したデータを前記メモリに書き込み、
外部機器から送信された検査コマンドを受信した場合、前記メモリの前記生成したデータを予め設定されたデータに置き換えて、前記メモリのデータに基づいてハッシュ値を算出し、
算出された前記ハッシュ値に基づいてレスポンスを生成し、
生成された前記レスポンスを前記外部機器に送信する、
携帯可能電子装置の制御方法。 A method of controlling a portable electronic device used in a portable electronic device comprising a memory for storing data,
When an issue command transmitted from an external device is received, data is acquired based on the issue command, data is generated based on the issue command, the acquired data and the generated data are written to the memory,
When an inspection command transmitted from an external device is received, the generated data in the memory is replaced with preset data, and a hash value is calculated based on the data in the memory,
Generate a response based on the calculated hash value,
Sending the generated response to the external device;
Control method of portable electronic device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011113496A JP5677195B2 (en) | 2011-05-20 | 2011-05-20 | Portable electronic device and method for controlling portable electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011113496A JP5677195B2 (en) | 2011-05-20 | 2011-05-20 | Portable electronic device and method for controlling portable electronic device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012243133A JP2012243133A (en) | 2012-12-10 |
JP5677195B2 true JP5677195B2 (en) | 2015-02-25 |
Family
ID=47464766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011113496A Active JP5677195B2 (en) | 2011-05-20 | 2011-05-20 | Portable electronic device and method for controlling portable electronic device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5677195B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3375111B2 (en) * | 1996-01-08 | 2003-02-10 | 株式会社エヌ・ティ・ティ・データ | Inspection method and method of program in IC card |
JP4610176B2 (en) * | 2003-04-15 | 2011-01-12 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Data originality ensuring method and system, and data originality ensuring program |
JP2005153229A (en) * | 2003-11-21 | 2005-06-16 | Canon Inc | Image forming apparatus, printing data alteration verifying system, printing data alteration verification method, computer program, and computer readable recording medium |
JP2005258968A (en) * | 2004-03-15 | 2005-09-22 | Dainippon Printing Co Ltd | Validity verification method of data written in ic card, and program for ic card |
US7188230B2 (en) * | 2005-02-15 | 2007-03-06 | Hitachi, Ltd. | Method of assuring data integrity on storage volumes |
JP2011053728A (en) * | 2009-08-31 | 2011-03-17 | Canon It Solutions Inc | Information processing apparatus, information processing method, program, and storage medium |
-
2011
- 2011-05-20 JP JP2011113496A patent/JP5677195B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012243133A (en) | 2012-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140189223A1 (en) | Ic card, portable electronic device, and method of controlling ic card | |
JP2013118473A (en) | Ic card, portable electronic device and control program of ic card | |
JP2011022841A (en) | Processing system for portable electronic apparatus, portable electronic apparatus, and processing apparatus for portable electronic apparatus | |
JP5677195B2 (en) | Portable electronic device and method for controlling portable electronic device | |
JP5693824B2 (en) | IC card processing device, IC card, and IC card processing system | |
JP5892818B2 (en) | Portable electronic device and control program for portable electronic device | |
JP2014186385A (en) | Ic card and ic card control method | |
JP5957577B2 (en) | IC card, portable electronic device, and IC card control method | |
JP6092342B2 (en) | Non-contact portable electronic device and method for issuing non-contact portable electronic device | |
JP5684051B2 (en) | Portable electronic device, IC card, and control method for portable electronic device | |
JP5490044B2 (en) | Portable electronic device and method for controlling 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 | |
JP2014002471A (en) | Ic card processor and ic card | |
JP2013125400A (en) | Ic card, portable electronic device, and control program for ic card | |
JP5684059B2 (en) | IC card and control method of IC card | |
JP2014063263A (en) | Ic card, portable electronic device, and ic card reader/writer | |
JP5726659B2 (en) | IC card, IC card processing device, and IC card processing system | |
JP2016048575A (en) | Portable electronic device and method of controlling portable electronic device | |
JP5875772B2 (en) | Portable electronic device, control method for portable electronic device, and processing system for portable electronic device | |
JP5726700B2 (en) | IC card and IC card processing method | |
JP2012198682A (en) | Portable electronic device, processor of portable electronic device, and processing system of portable electronic device | |
JP6046068B2 (en) | Portable electronic device and method for controlling portable electronic device | |
JP2014063292A (en) | Ic card, portable electronic device, and ic card reader/writer | |
JP2013069108A (en) | Ic card, portable electronic device and ic card control method | |
JP2014063302A (en) | Ic card and portable electronic equipment |
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: 20140903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140909 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141020 |
|
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: 20141202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141226 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5677195 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |