説明

データを暗号化する機能を備えたICカード、方法およびICカード用プログラム

【課題】データを暗号化する機能を備えた書き込み系コマンドを利用せず、EEPROMに記憶するデータをICカードの内部で暗号化できるICカードを提供する。
【解決手段】ICカード1は、EEPROM22のユーザ領域221内のデータ12を一括して暗号化するときのトリガーとなるイベントを検出するイベント検出手段10と、イベント検出手段10がイベントを検出したときに作動し、所定の暗号アルゴリズムに従いデータ12を一括して暗号化し、ユーザ領域221内のデータ12を暗号文に更新するデータ暗号化手段11とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カード媒体にICチップが実装されたICカードに関し、更に詳しくは、ICカードの内部で保持するデータを暗号化するための技術に関する。
【背景技術】
【0002】
従来、キャッシュカードやクレジットカードな金融機関系のカードとして、磁気ストライプを備えた磁気カードが一般的に利用されていたが、磁気カードの偽造が問題化し、近年、金融機関系カードは、磁気カードよりもセキュリティの高いICカードへ移行しつつある。
【0003】
更に、ICカードは金融機関系のカードのみらず、UIM(Universal Subscriber Identity Module)形状のICカードが携帯電話に組込まれたり、交通機関系用途やネット決済に利用する電子マネーを記憶する電子財布の用途でもICカードは利用されている。
【0004】
このように、ICカードに実装されるICチップには機密性の高いデータ(クレジット番号や電子マネーの残高など)が記憶されるため、ICカードに実装されるICチップには、ICチップに記憶されるデータの機密性を高める様々な対策が施されている。
【0005】
しかし、ICカードに実装されるICチップに施された対策も100%で安全とは言い切れず、ICカードに用途によっては、EEPROMなどの電気的に書換え可能なメモリに、平文のデータを記憶させずにデータの暗号文を記憶させる場合がある。
【0006】
ICカードの電気的に書換え可能なメモリに記憶するデータを暗号化する一般的な手法としては、書き込み系コマンドに含まれる平文のデータをICカード内部で暗号化した後、データの暗号文を電気的に書換え可能なメモリに記憶する手法がある。
【0007】
特許文献1の従来技術にも記載されているように、この手法では、ICカードは、ターミナルから平文のデータを受信すると、予め定められた暗号アルゴリズムに従い受信したデータを暗号化し、受信したデータの暗号文を電気的に書換え可能なメモリに書き込む。
【0008】
なお、特許文献1は、データの機密性をより高めるために、予め複数の暗号アルゴリズムをICカードに記憶させ、書き込み系コマンドに含まれる平文のデータをICカード内部で暗号化する際に、ICカードは、乱数で決定された暗号アルゴリズムでデータを暗号化する発明である。
【0009】
更に、ICカードの電気的に書換え可能なメモリに記憶するデータを暗号化する一般的な手法として、ICカード内部でデータを暗号化せず、システム側で予め暗号化したデータの暗号文をICカードへ送信し、データの暗号文をICカードの電気的に書換え可能なメモリに記憶させる手法もある。
【0010】
例えば、特許文献2では、データを処理するコンピュータと、コンピュータで処理されたデータを暗号化した暗号文を送出する機能及び暗号文を解読する機能を有するICカードリーダライタと、ICカードリーダライタから送信された暗号文をメモリに格納する機能及びメモリに格納された暗号文をICカードリーダライタに送信する機能とを有するICカードとから構成されるデータ暗号化ICカードシステムが開示されている。
【0011】
【特許文献1】特許第2681015号公報
【特許文献2】特開平5−225407号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
しかし、データを暗号化する機能を備えた書き込み系コマンドを利用して、ICカードの電気的に書換え可能なメモリにデータの暗号文を記憶させる場合、データのデフォルト値のように、ICカード発行時に書き込みを必要としないデータを暗号化することができない問題がある。
【0013】
更に、システム側で予めICカードに書き込むデータを暗号化する場合、ICカードを製造するカード製造会社では、ICカードが利用されるシステムの仕様に合わせてICカード発行システムを構築しなければならない問題がある。
【0014】
上述した問題を鑑みて、本発明は、データを暗号化する機能を備えた書き込み系コマンドを利用せずとも、電気的に書換え可能な不揮発性メモリに記憶するデータをICカードの内部で暗号化し、データの暗号文を電気的に書換え可能な不揮発性メモリに記憶することのできるICカード、方法およびICカード用プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
上述した課題を解決する第1の発明は、電気的に書換え可能な不揮発性メモリの所定の領域内に記憶されたデータを暗号化するICカードであって、前記ICカードは、前記データを暗号化するトリガーとなるイベントを検出するイベント検出手段と、前記イベント検出手段が前記イベントを検出したときに作動し、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するデータ暗号化手段と、を備えていることを特徴とする。
【0016】
更に、第2の発明は、第1の発明に記載のICカードであって、前記ICカードは、前記領域内の前記データの暗号状態を示す暗号フラグを前記不揮発性メモリに設けられ、前記データ暗号手段は、前記データを暗号化する前に、前記不揮発性メモリに設けられた前記暗号フラグを参照し、前記暗号フラグによって前記データが未暗号化状態であることが示されるときのみ、前記領域内の前記データを暗号化し、前記データを暗号化した後に、暗号化状態を示す値に前記フラグを更新することを特徴とする。
【0017】
第1の発明においては、前記ICカードのリセット動作、或いは、前記データの暗号化を指示するコマンドの受信などを、前記イベントとすることができる。
【0018】
更に、第3の発明は、ICカードの電気的に書換え可能な不揮発性メモリの所定の領域に記憶されたデータを暗号化する方法であって、
(a)前記ICカードが、前記データを暗号化するトリガーとなるイベントを検出するステップ、(b)前記ICカードが、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するステップ、が順に実行されることを特徴とする。
【0019】
更に、第4の発明は、第3の発明に記載の方法であって、前記データの暗号状態を示す暗号フラグを前記ICカードの前記不揮発性メモリに設けておき、前記ステップ(b)で前記ICカードが前記データを暗号化する前に、前記ICカードは、前記不揮発性メモリに設けられた前記暗号フラグを参照し、前記暗号フラグによって前記データが未暗号状態であることが示されるときのみ前記ステップ(b)を実行し、前記ステップ(b)を実行した後に、前記ICカードは、暗号化状態を示す値に前記フラグを更新することを特徴とする。
【0020】
更に、第5の発明は、電気的に書換え可能な不揮発性メモリに記憶されたデータを暗号化するICカードにおいて、前記データを暗号化するトリガーとなるイベントを検出するイベント検出手段と、前記イベント検出手段が前記イベントを検出したときに作動し、前記イベント検出手段が前記イベントを検出したときに作動し、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するデータ暗号化手段として、前記ICカードのCPUを機能させるためのICカード用プログラムである。
【0021】
更に、第6の発明は、第5の発明に記載のICカード用プログラムであって、前記データの暗号状態を示し、前記不揮発性メモリに設けられた暗号フラグを参照し、前記データの暗号化の実行を管理する前記データ暗号化手段として、前記ICカードのCPUを機能させるためのICカード用プログラムである。
【発明の効果】
【0022】
上述した本発明によれば、データを暗号化する機能を備えた書き込み系コマンドを利用せずとも、電気的に書換え可能な不揮発性メモリに記憶するデータをICカードの内部で暗号化し、データの暗号文を電気的に書換え可能な不揮発性メモリに記憶することのできるICカード、方法およびICカード用プログラムを提供できる。
【0023】
すなわち、電気的に書換え可能な不揮発性メモリの所定の領域に記憶されたデータを暗号化するトリガーとなるイベントを発生させれば、ICカード内部で自動的に所定の領域内のデータが一括して暗号化されるため、データのデフォルト値のように、ICカード発行時に書き込みを必要としないデータをも暗号化することが可能になる。
【0024】
更に、データの暗号化はICカード内部で完結するため、ICカードが利用されるシステムの仕様に合わせて、ICカード発行システムを構築する必要はなくなる。
【発明を実施するための最良の形態】
【0025】
ここから、本実施の形態に係わるICカード及び方法について、図を参照しながら詳細に説明する。図1は、本実施の形態に係わるICカード1の外観図で、図2は、ICカード1に実装されるICチップ2のブロック図、図3はICカード1の機能ブロック図である。
【0026】
図1で示したように、ICカード1は、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードで、ICカード1には、ICチップ2がモールドされたICモジュール2aが実装されている。
【0027】
図1においては、ICカード1を接触ICカードとして図示しているが、ICカード1は、無線でデータ通信する非接触ICカード、または、接触データ通信と非接触データ通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。
【0028】
加えて、ICカード1の形状は問わず、ICカード1はキャッシュカードと同じ形状でなく、ICモジュール2aの近辺を短冊状に切り取った形状をしているSIM(Subscriber Identity Module)或いはUIM(Universal Subscriber Identity Module)であってもよい。
【0029】
図2に図示したように、ICチップ2には、演算機能およびICチップが具備するデバイスを制御する機能を備えた中央演算装置20(CPU:Central Processing Unit)、揮発性メモリとしてランダムアクセスメモリ21(RAM:Random Access Memory)、読み出し専用の不揮発性メモリ23(ROM:Read Only Memory、)、電気的に書換え可能な不揮発性メモリとしてEEPROM22(EEPROM:Electrically Erasable Programmable Read-Only Memoryの略)およびターミナル(図示していない)とデータ通信するためのI/Oポート24に加え、DESの暗号化/復号演算する機能を備えたDES演算回路25を備えている。
【0030】
図3に図示したように、本発明を実現するためにICカード1には、ICカード1に保持され、EEPROM12の所定の領域に記憶されているデータ12と、データ12を暗号化する手段であるデータ暗号化手段11と、データ暗号化手段11を作動させるトリガーとなるイベントを検出するイベント検出手段10と、データ暗号化手段11がデータ12を暗号化するときに利用する暗号鍵14と、データ12の暗号状態を示す暗号フラグ13を備えている。
【0031】
データ暗号化手段11およびイベント検出手段10はオペレーティングシステムに備えられた機能で、データ暗号化手段11およびイベント検出手段10はそれぞれの手段としてCPUを機能させるためのICカード用プログラムで実現され、データ12および暗号フラグ13はEEPROM22に記憶されるデータで、暗号鍵14はEEPROM22或いはROM23に記憶されるデータである。
【0032】
図4は、ICカード1のEEPROM22を説明する図である。図4において、EEPROM22は2つの領域に分割され、一つの領域はオペレーティングシステムが利用するシステム領域220で、もう一つの領域はデータ12が記憶されるユーザ領域221である。
【0033】
図4においては、暗号鍵14および暗号フラグ13はEEPROM22のシステム領域220に記憶され、EEPROM22のユーザ領域221内にデータ12は記憶される。なお、本実施形態では、DESによってユーザ領域221内のデータ12は一括して暗号化されるため、ユーザ領域221のバイト数は8バイトの倍数にしておくとよい。
【0034】
ICカード1に備えられたイベント検出手段10は、ユーザ領域221内のデータ12を一括して暗号化するトリガーとなるイベントを検出する手段で、イベント検出手段10は、データ12を一括して暗号化するトリガーとなるイベントを検出するとデータ暗号化手段11を呼出す。
【0035】
ユーザ領域221内のデータ12を一括して暗号化するトリガーとなるイベントとしては、ICカード1のICチップ2に入力される様々な信号を利用することができる。
【0036】
例えば、ユーザ領域221内のデータ12を一括して暗号化するトリガーとなるイベントをICカード1のリセット動作とすれば、ICチップ2にリセット信号が入力されたときに作動するプログラムコードに記述されたイベント検出手段10が実行されることで、イベント検出手段10はICカード1がリセットされたことを検出し、イベント検出手段10はデータ暗号化手段11を呼出す。
【0037】
また、ユーザ領域221内のデータ12を一括して暗号化を指示するコマンドの受信をイベントとすれば、コマンドAPDU(Application Protocol Data Unit)を解釈するプログラムコードに記述されたイベント検出手段10がこのコマンドのコマンドAPDUを受信すると、イベント検出手段10はデータ暗号化手段11を呼出す。
【0038】
ユーザ領域221内のデータ12を暗号化するデータ暗号化手段11は、イベント検出手段10から呼出されて作動する手段で、イベント検出手段10から呼出されると、ユーザ領域221内に記憶されているデータ12を一括して暗号化する手段である。
【0039】
本実施の形態においては、ICカード1のデータ暗号化手段11は、DES演算回路25を利用し、DESアルゴリズムによってデータを暗号化するプログラムコードで実現され、データ暗号化手段11は、ユーザ領域221内に記憶されているデータ12を一括して暗号化する。
【0040】
なお、ユーザデータ12を暗号化するトリガーとなるイベントをICカード1のリセット動作とすると、ICカード1がリセットされるごとに、データ暗号化手段11はデータ12を暗号化する処理を実行してしまうため、データ12の暗号状態を示す暗号フラグ13を設け、データ暗号化手段11は、この暗号フラグ13を参照して、データ12の暗号化を管理する。
【0041】
データ12を暗号化する前に、データ暗号化手段11は暗号フラグ13の値を確認し、暗号フラグ13によって、データ12が暗号化状態であることが示されるときはデータ12を暗号化せず、暗号フラグ13によって、データ12が未暗号状態であることが示されるときのみデータ12を暗号化する。
【0042】
なお、データ暗号化手段11は、ユーザ領域221内のデータ12を一括して暗号化したときに、データ12が暗号化状態であることを示す値に暗号フラグ13を更新する。
【0043】
図5は、本実施形態に係わるデータ暗号化方法の手順を示したフロー図である。本実施形態に係わるデータ暗号化方法は、ICカードの発行処理に適した方法で、ICカードの発行処理が開始されることでこの手順が開始される(ステップS1)。
【0044】
ICカードの発行処理が開始されると、ICカードを発行する発行システムは、EEPROMのシステム領域220とユーザ領域221に所定の値を書き込む(ステップS2)。なお、このステップで、発行システムは、ユーザ領域221のすべてに所定の値を書き込む必要はない。
【0045】
発行システムは、EEPROM22のシステム領域220とユーザ領域221に所定の値を書き込んだ後、ユーザ領域内221内のデータ12を一括して暗号化するトリガーとなるイベントを発生させ、ICカード1のイベント検出手段10は、データ12を暗号化するトリガーとなるイベントを検出し(ステップS3)、イベント検出手段10はイベントを検出するとデータ暗号化手段11を呼出す。
【0046】
例えば、ユーザ領域221内のデータ12を一括して暗号化するトリガーとなるイベントをICカード1のリセット動作とすれば、リセット信号が入力されたときに作動するプログラムコードに記述されたイベント検出手段10が実行されることで、イベント検出手段10はICカード1がリセットされたことを検出し、イベント検出手段10はデータ暗号化手段11を呼出す。
【0047】
また、ユーザ領域221内のデータ12を一括して暗号化するコマンドの受信をイベントとすれば、コマンドAPDU(Application Protocol Data Unit)を解釈するプログラムコードに記述されたイベント検出手段10がこのコマンドのコマンドAPDUを受信すると、イベント検出手段10はデータ暗号化手段11を呼出す。
【0048】
データ暗号化手段11はイベント検出手段10から呼出されると、暗号フラグ13の値を参照し、ユーザ領域221内のデータ12が既に暗号化されていないか確認する(ステップS4)。
【0049】
暗号フラグ13によって、ユーザ領域221内のデータ12が未暗号化状態であることが示されているとき、データ暗号手段11はデータ12を暗号化する処理を実行し(ステップS5)、暗号フラグ13によって、ユーザ領域221内のデータ12が暗号化状態であることが示されているときは、データ暗号手段11はデータ12を暗号化する処理を実行せず、この手順は終了する。
【0050】
ICカード1のデータ暗号化手段11が、ユーザ領域221内のデータ12を暗号化するときは、ユーザ領域に記憶されたデータ12の先頭から8バイトづつ暗号化し、暗号化した箇所に暗号文を上書きする。
【図面の簡単な説明】
【0051】
【図1】ICカードの外観図。
【図2】ICカードに実装されるICチップのブロック図。
【図3】ICカードの機能ブロック図。
【図4】ICカードのEEPROMを説明する図。
【図5】データ暗号化方法の手順を示したフロー図。
【符号の説明】
【0052】
1 ICカード
10 イベント検出手段
11 データ暗号化手段
12 暗号化されるデータ
13 暗号フラグ
14 暗号鍵
2 ICチップ
22 EEPROM
220 システム領域
221 ユーザ領域


【特許請求の範囲】
【請求項1】
電気的に書換え可能な不揮発性メモリの所定の領域内に記憶されたデータを暗号化するICカードであって、前記ICカードは、
前記データを暗号化するトリガーとなるイベントを検出するイベント検出手段と、
前記イベント検出手段が前記イベントを検出したときに作動し、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するデータ暗号化手段と、
を備えていることを特徴とするICカード。
【請求項2】
請求項1に記載のICカードであって、前記ICカードは、前記領域内の前記データの暗号状態を示す暗号フラグが前記不揮発性メモリに設けられ、
前記データ暗号手段は、前記データを暗号化する前に、前記不揮発性メモリに設けられた前記暗号フラグを参照し、前記暗号フラグによって前記データが未暗号化状態であることが示されるときのみ、前記領域内の前記データを暗号化し、前記データを暗号化した後に、暗号化状態を示す値に前記フラグを更新することを特徴とするICカード。
【請求項3】
ICカードの電気的に書換え可能な不揮発性メモリの所定の領域に記憶されたデータを暗号化する方法であって、
(a)前記ICカードが、前記データを暗号化するトリガーとなるイベントを検出するステップ、
(b)前記ICカードが、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するステップ、
が順に実行されることを特徴とする方法。
【請求項4】
請求項3に記載の方法であって、前記データの暗号状態を示す暗号フラグを前記ICカードの前記不揮発性メモリに設けておき、
前記ステップ(b)で前記ICカードが前記データを暗号化する前に、前記ICカードは、前記不揮発性メモリに設けられた前記暗号フラグを参照し、前記暗号フラグによって前記データが未暗号状態であることが示されるときのみ前記ステップ(b)を実行し、前記ステップ(b)を実行した後に、前記ICカードは、暗号化状態を示す値に前記フラグを更新することを特徴とする方法。
【請求項5】
電気的に書換え可能な不揮発性メモリに記憶されたデータを暗号化するICカードにおいて、前記データを暗号化するトリガーとなるイベントを検出するイベント検出手段と、前記イベント検出手段が前記イベントを検出したときに作動し、前記イベント検出手段が前記イベントを検出したときに作動し、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するデータ暗号化手段として、前記ICカードのCPUを機能させるためのICカード用プログラム。
【請求項6】
請求項5に記載のICカード用プログラムであって、前記データの暗号状態を示し、前記不揮発性メモリに設けられた暗号フラグを参照し、前記データの暗号化の実行を管理する前記データ暗号化手段として、前記ICカードのCPUを機能させるためのICカード用プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2009−15375(P2009−15375A)
【公開日】平成21年1月22日(2009.1.22)
【国際特許分類】
【出願番号】特願2007−173224(P2007−173224)
【出願日】平成19年6月29日(2007.6.29)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】