(57)【要約】【課題】データを暗号化する機能を備えた書き込み系コマンドを利用せず、ＥＥＰＲＯＭに記憶するデータをＩＣカードの内部で暗号化できるＩＣカードを提供する。【解決手段】ＩＣカード１は、ＥＥＰＲＯＭ２２のユーザ領域２２１内のデータ１２を一括して暗号化するときのトリガーとなるイベントを検出するイベント検出手段１０と、イベント検出手段１０がイベントを検出したときに作動し、所定の暗号アルゴリズムに従いデータ１２を一括して暗号化し、ユーザ領域２２１内のデータ１２を暗号文に更新するデータ暗号化手段１１とを備えている。【選択図】図３
2009015375.tif 000002
【特許請求の範囲】
【請求項１】
電気的に書換え可能な不揮発性メモリの所定の領域内に記憶されたデータを暗号化するＩＣカードであって、前記ＩＣカードは、
前記データを暗号化するトリガーとなるイベントを検出するイベント検出手段と、
前記イベント検出手段が前記イベントを検出したときに作動し、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するデータ暗号化手段と、
を備えていることを特徴とするＩＣカード。
【請求項２】
請求項１に記載のＩＣカードであって、前記ＩＣカードは、前記領域内の前記データの暗号状態を示す暗号フラグが前記不揮発性メモリに設けられ、
前記データ暗号手段は、前記データを暗号化する前に、前記不揮発性メモリに設けられた前記暗号フラグを参照し、前記暗号フラグによって前記データが未暗号化状態であることが示されるときのみ、前記領域内の前記データを暗号化し、前記データを暗号化した後に、暗号化状態を示す値に前記フラグを更新することを特徴とするＩＣカード。
【請求項３】
ＩＣカードの電気的に書換え可能な不揮発性メモリの所定の領域に記憶されたデータを暗号化する方法であって、
（ａ）前記ＩＣカードが、前記データを暗号化するトリガーとなるイベントを検出するステップ、
（ｂ）前記ＩＣカードが、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するステップ、
が順に実行されることを特徴とする方法。
【請求項４】
請求項３に記載の方法であって、前記データの暗号状態を示す暗号フラグを前記ＩＣカードの前記不揮発性メモリに設けておき、
前記ステップ（ｂ）で前記ＩＣカードが前記データを暗号化する前に、前記ＩＣカードは、前記不揮発性メモリに設けられた前記暗号フラグを参照し、前記暗号フラグによって前記データが未暗号状態であることが示されるときのみ前記ステップ（ｂ）を実行し、前記ステップ（ｂ）を実行した後に、前記ＩＣカードは、暗号化状態を示す値に前記フラグを更新することを特徴とする方法。
【請求項５】
電気的に書換え可能な不揮発性メモリに記憶されたデータを暗号化するＩＣカードにおいて、前記データを暗号化するトリガーとなるイベントを検出するイベント検出手段と、前記イベント検出手段が前記イベントを検出したときに作動し、前記イベント検出手段が前記イベントを検出したときに作動し、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するデータ暗号化手段として、前記ＩＣカードのＣＰＵを機能させるためのＩＣカード用プログラム。
【請求項６】
請求項５に記載のＩＣカード用プログラムであって、前記データの暗号状態を示し、前記不揮発性メモリに設けられた暗号フラグを参照し、前記データの暗号化の実行を管理する前記データ暗号化手段として、前記ＩＣカードのＣＰＵを機能させるためのＩＣカード用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カード媒体にＩＣチップが実装されたＩＣカードに関し、更に詳しくは、ＩＣカードの内部で保持するデータを暗号化するための技術に関する。
【背景技術】
【０００２】
従来、キャッシュカードやクレジットカードな金融機関系のカードとして、磁気ストライプを備えた磁気カードが一般的に利用されていたが、磁気カードの偽造が問題化し、近年、金融機関系カードは、磁気カードよりもセキュリティの高いＩＣカードへ移行しつつある。
【０００３】
更に、ＩＣカードは金融機関系のカードのみらず、ＵＩＭ(Universal Subscriber Identity Module)形状のＩＣカードが携帯電話に組込まれたり、交通機関系用途やネット決済に利用する電子マネーを記憶する電子財布の用途でもＩＣカードは利用されている。
【０００４】
このように、ＩＣカードに実装されるＩＣチップには機密性の高いデータ（クレジット番号や電子マネーの残高など）が記憶されるため、ＩＣカードに実装されるＩＣチップには、ＩＣチップに記憶されるデータの機密性を高める様々な対策が施されている。
【０００５】
しかし、ＩＣカードに実装されるＩＣチップに施された対策も１００％で安全とは言い切れず、ＩＣカードに用途によっては、ＥＥＰＲＯＭなどの電気的に書換え可能なメモリに、平文のデータを記憶させずにデータの暗号文を記憶させる場合がある。
【０００６】
ＩＣカードの電気的に書換え可能なメモリに記憶するデータを暗号化する一般的な手法としては、書き込み系コマンドに含まれる平文のデータをＩＣカード内部で暗号化した後、データの暗号文を電気的に書換え可能なメモリに記憶する手法がある。
【０００７】
特許文献１の従来技術にも記載されているように、この手法では、ＩＣカードは、ターミナルから平文のデータを受信すると、予め定められた暗号アルゴリズムに従い受信したデータを暗号化し、受信したデータの暗号文を電気的に書換え可能なメモリに書き込む。
【０００８】
なお、特許文献１は、データの機密性をより高めるために、予め複数の暗号アルゴリズムをＩＣカードに記憶させ、書き込み系コマンドに含まれる平文のデータをＩＣカード内部で暗号化する際に、ＩＣカードは、乱数で決定された暗号アルゴリズムでデータを暗号化する発明である。
【０００９】
更に、ＩＣカードの電気的に書換え可能なメモリに記憶するデータを暗号化する一般的な手法として、ＩＣカード内部でデータを暗号化せず、システム側で予め暗号化したデータの暗号文をＩＣカードへ送信し、データの暗号文をＩＣカードの電気的に書換え可能なメモリに記憶させる手法もある。
【００１０】
例えば、特許文献２では、データを処理するコンピュータと、コンピュータで処理されたデータを暗号化した暗号文を送出する機能及び暗号文を解読する機能を有するＩＣカードリーダライタと、ＩＣカードリーダライタから送信された暗号文をメモリに格納する機能及びメモリに格納された暗号文をＩＣカードリーダライタに送信する機能とを有するＩＣカードとから構成されるデータ暗号化ＩＣカードシステムが開示されている。
【００１１】
【特許文献１】特許第２６８１０１５号公報
【特許文献２】特開平５−２２５４０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、データを暗号化する機能を備えた書き込み系コマンドを利用して、ＩＣカードの電気的に書換え可能なメモリにデータの暗号文を記憶させる場合、データのデフォルト値のように、ＩＣカード発行時に書き込みを必要としないデータを暗号化することができない問題がある。
【００１３】
更に、システム側で予めＩＣカードに書き込むデータを暗号化する場合、ＩＣカードを製造するカード製造会社では、ＩＣカードが利用されるシステムの仕様に合わせてＩＣカード発行システムを構築しなければならない問題がある。
【００１４】
上述した問題を鑑みて、本発明は、データを暗号化する機能を備えた書き込み系コマンドを利用せずとも、電気的に書換え可能な不揮発性メモリに記憶するデータをＩＣカードの内部で暗号化し、データの暗号文を電気的に書換え可能な不揮発性メモリに記憶することのできるＩＣカード、方法およびＩＣカード用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決する第１の発明は、電気的に書換え可能な不揮発性メモリの所定の領域内に記憶されたデータを暗号化するＩＣカードであって、前記ＩＣカードは、前記データを暗号化するトリガーとなるイベントを検出するイベント検出手段と、前記イベント検出手段が前記イベントを検出したときに作動し、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するデータ暗号化手段と、を備えていることを特徴とする。
【００１６】
更に、第２の発明は、第１の発明に記載のＩＣカードであって、前記ＩＣカードは、前記領域内の前記データの暗号状態を示す暗号フラグを前記不揮発性メモリに設けられ、前記データ暗号手段は、前記データを暗号化する前に、前記不揮発性メモリに設けられた前記暗号フラグを参照し、前記暗号フラグによって前記データが未暗号化状態であることが示されるときのみ、前記領域内の前記データを暗号化し、前記データを暗号化した後に、暗号化状態を示す値に前記フラグを更新することを特徴とする。
【００１７】
第１の発明においては、前記ＩＣカードのリセット動作、或いは、前記データの暗号化を指示するコマンドの受信などを、前記イベントとすることができる。
【００１８】
更に、第３の発明は、ＩＣカードの電気的に書換え可能な不揮発性メモリの所定の領域に記憶されたデータを暗号化する方法であって、
（ａ）前記ＩＣカードが、前記データを暗号化するトリガーとなるイベントを検出するステップ、（ｂ）前記ＩＣカードが、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するステップ、が順に実行されることを特徴とする。
【００１９】
更に、第４の発明は、第３の発明に記載の方法であって、前記データの暗号状態を示す暗号フラグを前記ＩＣカードの前記不揮発性メモリに設けておき、前記ステップ（ｂ）で前記ＩＣカードが前記データを暗号化する前に、前記ＩＣカードは、前記不揮発性メモリに設けられた前記暗号フラグを参照し、前記暗号フラグによって前記データが未暗号状態であることが示されるときのみ前記ステップ（ｂ）を実行し、前記ステップ（ｂ）を実行した後に、前記ＩＣカードは、暗号化状態を示す値に前記フラグを更新することを特徴とする。
【００２０】
更に、第５の発明は、電気的に書換え可能な不揮発性メモリに記憶されたデータを暗号化するＩＣカードにおいて、前記データを暗号化するトリガーとなるイベントを検出するイベント検出手段と、前記イベント検出手段が前記イベントを検出したときに作動し、前記イベント検出手段が前記イベントを検出したときに作動し、所定の暗号アルゴリズムに従い前記データを一括して暗号化し、前記領域内の前記データを暗号文に更新するデータ暗号化手段として、前記ＩＣカードのＣＰＵを機能させるためのＩＣカード用プログラムである。
【００２１】
更に、第６の発明は、第５の発明に記載のＩＣカード用プログラムであって、前記データの暗号状態を示し、前記不揮発性メモリに設けられた暗号フラグを参照し、前記データの暗号化の実行を管理する前記データ暗号化手段として、前記ＩＣカードのＣＰＵを機能させるためのＩＣカード用プログラムである。
【発明の効果】
【００２２】
上述した本発明によれば、データを暗号化する機能を備えた書き込み系コマンドを利用せずとも、電気的に書換え可能な不揮発性メモリに記憶するデータをＩＣカードの内部で暗号化し、データの暗号文を電気的に書換え可能な不揮発性メモリに記憶することのできるＩＣカード、方法およびＩＣカード用プログラムを提供できる。
【００２３】
すなわち、電気的に書換え可能な不揮発性メモリの所定の領域に記憶されたデータを暗号化するトリガーとなるイベントを発生させれば、ＩＣカード内部で自動的に所定の領域内のデータが一括して暗号化されるため、データのデフォルト値のように、ＩＣカード発行時に書き込みを必要としないデータをも暗号化することが可能になる。
【００２４】
更に、データの暗号化はＩＣカード内部で完結するため、ＩＣカードが利用されるシステムの仕様に合わせて、ＩＣカード発行システムを構築する必要はなくなる。
【発明を実施するための最良の形態】
【００２５】
ここから、本実施の形態に係わるＩＣカード及び方法について、図を参照しながら詳細に説明する。図１は、本実施の形態に係わるＩＣカード１の外観図で、図２は、ＩＣカード１に実装されるＩＣチップ２のブロック図、図３はＩＣカード１の機能ブロック図である。
【００２６】
図１で示したように、ＩＣカード１は、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードで、ＩＣカード１には、ＩＣチップ２がモールドされたＩＣモジュール２ａが実装されている。
【００２７】
図１においては、ＩＣカード１を接触ＩＣカードとして図示しているが、ＩＣカード１は、無線でデータ通信する非接触ＩＣカード、または、接触データ通信と非接触データ通信の２つの通信機能を備えたデュアルインターフェースＩＣカードであってもよい。
【００２８】
加えて、ＩＣカード１の形状は問わず、ＩＣカード１はキャッシュカードと同じ形状でなく、ＩＣモジュール２ａの近辺を短冊状に切り取った形状をしているＳＩＭ（Subscriber Identity Module）或いはＵＩＭ(Universal Subscriber Identity Module)であってもよい。
【００２９】
図２に図示したように、ＩＣチップ２には、演算機能およびＩＣチップが具備するデバイスを制御する機能を備えた中央演算装置２０（CPU：Central Processing Unit）、揮発性メモリとしてランダムアクセスメモリ２１（RAM：Random Access Memory）、読み出し専用の不揮発性メモリ２３（ROＭ：Read Only Memory、）、電気的に書換え可能な不揮発性メモリとしてＥＥＰＲＯＭ２２（EEPROM：Electrically Erasable Programmable Read-Only Memoryの略）およびターミナル（図示していない）とデータ通信するためのＩ／Ｏポート２４に加え、ＤＥＳの暗号化／復号演算する機能を備えたＤＥＳ演算回路２５を備えている。
【００３０】
図３に図示したように、本発明を実現するためにＩＣカード１には、ＩＣカード１に保持され、ＥＥＰＲＯＭ１２の所定の領域に記憶されているデータ１２と、データ１２を暗号化する手段であるデータ暗号化手段１１と、データ暗号化手段１１を作動させるトリガーとなるイベントを検出するイベント検出手段１０と、データ暗号化手段１１がデータ１２を暗号化するときに利用する暗号鍵１４と、データ１２の暗号状態を示す暗号フラグ１３を備えている。
【００３１】
データ暗号化手段１１およびイベント検出手段１０はオペレーティングシステムに備えられた機能で、データ暗号化手段１１およびイベント検出手段１０はそれぞれの手段としてＣＰＵを機能させるためのＩＣカード用プログラムで実現され、データ１２および暗号フラグ１３はＥＥＰＲＯＭ２２に記憶されるデータで、暗号鍵１４はＥＥＰＲＯＭ２２或いはＲＯＭ２３に記憶されるデータである。
【００３２】
図４は、ＩＣカード１のＥＥＰＲＯＭ２２を説明する図である。図４において、ＥＥＰＲＯＭ２２は２つの領域に分割され、一つの領域はオペレーティングシステムが利用するシステム領域２２０で、もう一つの領域はデータ１２が記憶されるユーザ領域２２１である。
【００３３】
図４においては、暗号鍵１４および暗号フラグ１３はＥＥＰＲＯＭ２２のシステム領域２２０に記憶され、ＥＥＰＲＯＭ２２のユーザ領域２２１内にデータ１２は記憶される。なお、本実施形態では、ＤＥＳによってユーザ領域２２１内のデータ１２は一括して暗号化されるため、ユーザ領域２２１のバイト数は８バイトの倍数にしておくとよい。
【００３４】
ＩＣカード１に備えられたイベント検出手段１０は、ユーザ領域２２１内のデータ１２を一括して暗号化するトリガーとなるイベントを検出する手段で、イベント検出手段１０は、データ１２を一括して暗号化するトリガーとなるイベントを検出するとデータ暗号化手段１１を呼出す。
【００３５】
ユーザ領域２２１内のデータ１２を一括して暗号化するトリガーとなるイベントとしては、ＩＣカード１のＩＣチップ２に入力される様々な信号を利用することができる。
【００３６】
例えば、ユーザ領域２２１内のデータ１２を一括して暗号化するトリガーとなるイベントをＩＣカード１のリセット動作とすれば、ＩＣチップ２にリセット信号が入力されたときに作動するプログラムコードに記述されたイベント検出手段１０が実行されることで、イベント検出手段１０はＩＣカード１がリセットされたことを検出し、イベント検出手段１０はデータ暗号化手段１１を呼出す。
【００３７】
また、ユーザ領域２２１内のデータ１２を一括して暗号化を指示するコマンドの受信をイベントとすれば、コマンドＡＰＤＵ(Application Protocol Data Unit)を解釈するプログラムコードに記述されたイベント検出手段１０がこのコマンドのコマンドＡＰＤＵを受信すると、イベント検出手段１０はデータ暗号化手段１１を呼出す。
【００３８】
ユーザ領域２２１内のデータ１２を暗号化するデータ暗号化手段１１は、イベント検出手段１０から呼出されて作動する手段で、イベント検出手段１０から呼出されると、ユーザ領域２２１内に記憶されているデータ１２を一括して暗号化する手段である。
【００３９】
本実施の形態においては、ＩＣカード１のデータ暗号化手段１１は、ＤＥＳ演算回路２５を利用し、ＤＥＳアルゴリズムによってデータを暗号化するプログラムコードで実現され、データ暗号化手段１１は、ユーザ領域２２１内に記憶されているデータ１２を一括して暗号化する。
【００４０】
なお、ユーザデータ１２を暗号化するトリガーとなるイベントをＩＣカード１のリセット動作とすると、ＩＣカード１がリセットされるごとに、データ暗号化手段１１はデータ１２を暗号化する処理を実行してしまうため、データ１２の暗号状態を示す暗号フラグ１３を設け、データ暗号化手段１１は、この暗号フラグ１３を参照して、データ１２の暗号化を管理する。
【００４１】
データ１２を暗号化する前に、データ暗号化手段１１は暗号フラグ１３の値を確認し、暗号フラグ１３によって、データ１２が暗号化状態であることが示されるときはデータ１２を暗号化せず、暗号フラグ１３によって、データ１２が未暗号状態であることが示されるときのみデータ１２を暗号化する。
【００４２】
なお、データ暗号化手段１１は、ユーザ領域２２１内のデータ１２を一括して暗号化したときに、データ１２が暗号化状態であることを示す値に暗号フラグ１３を更新する。
【００４３】
図５は、本実施形態に係わるデータ暗号化方法の手順を示したフロー図である。本実施形態に係わるデータ暗号化方法は、ＩＣカードの発行処理に適した方法で、ＩＣカードの発行処理が開始されることでこの手順が開始される（ステップＳ１）。
【００４４】
ＩＣカードの発行処理が開始されると、ＩＣカードを発行する発行システムは、ＥＥＰＲＯＭのシステム領域２２０とユーザ領域２２１に所定の値を書き込む（ステップＳ２）。なお、このステップで、発行システムは、ユーザ領域２２１のすべてに所定の値を書き込む必要はない。
【００４５】
発行システムは、ＥＥＰＲＯＭ２２のシステム領域２２０とユーザ領域２２１に所定の値を書き込んだ後、ユーザ領域内２２１内のデータ１２を一括して暗号化するトリガーとなるイベントを発生させ、ＩＣカード１のイベント検出手段１０は、データ１２を暗号化するトリガーとなるイベントを検出し（ステップＳ３）、イベント検出手段１０はイベントを検出するとデータ暗号化手段１１を呼出す。
【００４６】
例えば、ユーザ領域２２１内のデータ１２を一括して暗号化するトリガーとなるイベントをＩＣカード１のリセット動作とすれば、リセット信号が入力されたときに作動するプログラムコードに記述されたイベント検出手段１０が実行されることで、イベント検出手段１０はＩＣカード１がリセットされたことを検出し、イベント検出手段１０はデータ暗号化手段１１を呼出す。
【００４７】
また、ユーザ領域２２１内のデータ１２を一括して暗号化するコマンドの受信をイベントとすれば、コマンドＡＰＤＵ(Application Protocol Data Unit)を解釈するプログラムコードに記述されたイベント検出手段１０がこのコマンドのコマンドＡＰＤＵを受信すると、イベント検出手段１０はデータ暗号化手段１１を呼出す。
【００４８】
データ暗号化手段１１はイベント検出手段１０から呼出されると、暗号フラグ１３の値を参照し、ユーザ領域２２１内のデータ１２が既に暗号化されていないか確認する（ステップＳ４）。
【００４９】
暗号フラグ１３によって、ユーザ領域２２１内のデータ１２が未暗号化状態であることが示されているとき、データ暗号手段１１はデータ１２を暗号化する処理を実行し（ステップＳ５）、暗号フラグ１３によって、ユーザ領域２２１内のデータ１２が暗号化状態であることが示されているときは、データ暗号手段１１はデータ１２を暗号化する処理を実行せず、この手順は終了する。
【００５０】
ＩＣカード１のデータ暗号化手段１１が、ユーザ領域２２１内のデータ１２を暗号化するときは、ユーザ領域に記憶されたデータ１２の先頭から８バイトづつ暗号化し、暗号化した箇所に暗号文を上書きする。
【図面の簡単な説明】
【００５１】
【図１】ＩＣカードの外観図。
【図２】ＩＣカードに実装されるＩＣチップのブロック図。
【図３】ＩＣカードの機能ブロック図。
【図４】ＩＣカードのＥＥＰＲＯＭを説明する図。
【図５】データ暗号化方法の手順を示したフロー図。
【符号の説明】
【００５２】
１  ＩＣカード
１０  イベント検出手段
１１  データ暗号化手段
１２  暗号化されるデータ
１３  暗号フラグ
１４  暗号鍵
２  ＩＣチップ
２２  ＥＥＰＲＯＭ
２２０  システム領域
２２１  ユーザ領域
【図１】
2009015375.tif 000003
【図２】
2009015375.tif 000004
【図３】
2009015375.tif 000005
【図４】
2009015375.tif 000006
【図５】
2009015375.tif 000007