JP4899499B2 - Icカード発行方法、icカード発行システムおよびicカード - Google Patents

Icカード発行方法、icカード発行システムおよびicカード Download PDF

Info

Publication number
JP4899499B2
JP4899499B2 JP2006021740A JP2006021740A JP4899499B2 JP 4899499 B2 JP4899499 B2 JP 4899499B2 JP 2006021740 A JP2006021740 A JP 2006021740A JP 2006021740 A JP2006021740 A JP 2006021740A JP 4899499 B2 JP4899499 B2 JP 4899499B2
Authority
JP
Japan
Prior art keywords
card
command
memory
issue
volatile 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.)
Expired - Fee Related
Application number
JP2006021740A
Other languages
English (en)
Other versions
JP2007206765A (ja
Inventor
和義 入澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2006021740A priority Critical patent/JP4899499B2/ja
Publication of JP2007206765A publication Critical patent/JP2007206765A/ja
Application granted granted Critical
Publication of JP4899499B2 publication Critical patent/JP4899499B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ICカードを発行するICカード発行方法、ICカード発行システムおよびICカードの技術分野に属し、更に詳しくは、バーチャルマシンを備えたICカードを発行するための技術分野に属する。
ICカードとは、クレジットカードサイズのカード媒体にICチップを埋め込み、ICチップのメモリにデータを記録できるカードである。近年、ICカードはキャッシュカード、クレジットカードまたは電子マネーなどに幅広い用途で利用されている。
従来、ICカード用ICチップの電気的に書換え可能な不揮発性メモリ(例えば、EEPROM)の容量は非常に小さい容量(例えば、数Kバイト)であったため、アプリケーションの追加/削除が不可能なNativeICカードが主流であった。
しかし、近年の半導体技術の進歩によって、現在は、数十Kバイトから100Kバイトを超えるEEPROMの容量を有するICカード用ICチップがリリースされていることもあり、JAVA(登録商標)に代表される高級言語の解釈機能を備えたバーチャルマシンが組み込まれ、アプリケーションの追加/削除が可能なマルチアプリケーションICカードが普及しつつある。
バーチャルマシンを備えたマルチアプリケーションICカードにおいては、バーチャルマシンに対応した高級言語でアプリケーションの開発が行えるため、アプリケーションの開発効率が向上する等のメリットはあるが、大量にICカードを発行するICカード製造会社では、1枚のICカードを発行する時間が長くなってしまう問題がある。
ICカード自体に工夫を施し、高速でICカードを発行する一つの発明として、ICカードの発行内容が同じ場合には、マスターとなるICカードを予め所定のコマンドで発行し、発行後のメモリマップをダンプし、他のICカードにコピーすることで、ICカードへ送信するコマンドを減らし、ICカードがコマンドを処理する時間を短縮することで、高速でICカードを発行する発明が特許文献1で開示されている。
また、特許文献2では、ICカード発行時はカード発行専用通信経路を用いてデータ通信することによって、一般的に用いられるISOプロトコルの時間制限に制約されることなく、高速で発行データの書込みを行なうことのできる技術が開示されている。
しかし、こられの技術は、上述のマルチアプリケーションICカードを、バーチャルマシンを利用して発行するときにバーチャルマシンに起因する時間、例えば、バーチャルマシンが動作するために必要な時間や、バーチャルマシンが高級言語を解釈する時間を削減することができない。
特願2005−376977号公報 特開2003−16404号公報
そこで、本発明は、たとえ発行するICカードがバーチャルマシンを備えたICカードであっても、ICカードを高速に発行することができるICカード発行方法、ICカード発行システム、および、本発明のICカード発行方法に必要なICカードを提供することを目的とする。
上述した課題を解決する第1の発明は、電気的に書換え可能な不揮発性メモリと揮発性メモリを有し、バーチャルマシンを備えたICカードを発行するICカード発行方法であって、前記ICカード発行方法は、ICカード発行機が、前記バーチャルマシンで解釈実行される命令により作動するコマンドを利用して前記ICカードを発行したとき、前記不揮発性メモリに形成されるメモリマップを作成するメモリマップ作成工程と、前記ICカード発行機が前記ICカードを活性化し、前記ICカードが、前記ICカードに実装されたICチップで解釈実行されるマシン語により作動する発行コマンドの実行制御に用いられる発行フラグを前記不揮発性メモリから前記揮発性メモリにコピーする工程と、前記ICカード発行機が、前記発行コマンドの一つであるライトコマンドを用いて、前記メモリマップ作成工程で作成した前記メモリマップに含まれる機密データ以外のデータを平文で前記ICカードに送信し、前記ICカードが、前記揮発性メモリにコピーされた前記発行フラグにより前記発行コマンドの実行許可が示されている場合、前記ライトコマンドにより、前記平文の内容前記不揮発性メモリに書き込み前記ICカード発行機が、前記発行コマンドの一つであるメモリチェックコマンドを用いて、前記不揮発性メモリに書き込んだ前記平文の内容の整合性を確認する第1の発行工程と、前記ICカード発行機が、前記不揮発性メモリに記憶されている前記発行フラグを前記発行コマンドの実行不可にセットするためのコマンドを前記ICカードに送信し、前記ICカードが、前記ICカードの前記不揮発性メモリに記憶されている前記発行フラグを前記発行コマンドの実行不可にセットする工程と、前記ICカード発行機が、前記発行コマンドの一つである暗号ライトコマンド用いて、前記メモリマップ作成工程で作成された前記メモリマップに含まれる機密データを暗号化した暗号文を前記ICカードに送信し、前記ICカードが、前記揮発性メモリにコピーされた前記発行フラグにより前記発コマンドの実行許可が示されている場合、前記暗号ライトコマンドにより、前記ICカードの内部に記憶された暗号鍵を用いて前記暗号文を復号した内容を前記不揮発性メモリの指定されたアドレス空間に書き込み、前記ICカード発行機が、前記発行コマンドの一つであるメモリチェックコマンドを用いて、前記不揮発性メモリに書き込んだ前記暗号文の内容の整合性を確認する第2の発行工程と、前記ICカード発行機が前記ICカードを非活性化する工程とを備えていることを特徴とする。
更に、第の発明は、電気的に書換え可能な不揮発性メモリと揮発性メモリを有し、バーチャルマシンを備えたICカードと、前記ICカードの前記不揮発性メモリにデータを書き込むICカード発行機とから、少なくとも構成されるICカードシステムであって、前記ICカードは、前記ICカード発行機により前記ICカードが活性化されると、前記ICカードに実装されたICチップで解釈実行されるマシン語により作動する発行コマンドの実行制御に用いられる発行フラグを前記不揮発性メモリから前記揮発性メモリにコピーする手段と、前記発行コマンドとして、前記不揮発性メモリの指定されたアドレス空間に、前記ICカード発行機から送信された平文を書き込むライトコマンドと、前記ICカード発行機から送信された暗号文を、前記ICカードの内部に記憶された暗号鍵を用いて復号し、復号した暗号文の内容を前記不揮発性メモリの指定されたアドレス空間に書き込む暗号ライトコマンドと、前記不揮発性メモリに記憶されている前記発行フラグを発行不可にセットするコマンドと、前記不揮発性メモリの指定されたアドレス空間に記憶された内容の整合性を確認するメモリチェックコマンドを備え、前記ICカード発行機は、前記ICカード以外の装置を用い、前記バーチャルマシンで解釈実行される命令により作動するコマンドを利用して前記ICカードを発行したとき前記不揮発性メモリに形成されるメモリマップを記憶し、前記ICカードと電気的に接続しデータ通信する手段と、前記ICカードを活性化及び非活性化する手段と、前記ICカードを活性化させた後、前記ライトコマンドを利用して、前記メモリマップに含まれる機密データ以外のデータを平文で前記ICカードに送信し、前記ICカードの前記不揮発性メモリの指定したアドレス空間に該平文書き込んだ後前記メモリチェックコマンドを用い、前記ICカードの前記不揮発性メモリに書き込んだ内容の整合性を確認する第1の発行手段と、前記第1の発行手段を作動させた後、前記ICカードの前記発行フラグを発行不可の状態にセットするコマンド用いて、前記不揮発性メモリに記憶されている前記発行フラグを前記発行コマンドの実行不可にセットする手段と、前記発行フラグを前記発行コマンドの実行不可にセットした後、前記暗号ライトコマンドを利用して、前記メモリマップに含まれる機密データを暗号化した暗号文を前記ICカードに送信し、前記ICカードの前記不揮発性メモリの指定したアドレス空間に前記暗号文を復号した内容を書き込んだ後、前記メモリチェックコマンドを用い、前記ICカードの前記不揮発性メモリに書き込んだ内容の整合性を確認してから、前記ICカードを非活性化する第2の発行手段を備えていることを特徴とする。
更に、第の発明は、電気的に書換え可能な不揮発性メモリを備え、バーチャルマシンを有するICカードであって、前記ICカードが活性化されると、前記ICカードに実装されたICチップで解釈実行されるマシン語により作動する発行コマンドの実行制御に用いられる発行フラグを前記不揮発性メモリから前記揮発性メモリにコピーする手段と、前記発行コマンドとして、前記不揮発性メモリの指定されたアドレス空間に、前記ICカード発行機から送信された平文を書き込むライトコマンドと、前記ICカード発行機から送信された暗号文を、前記ICカードの内部に記憶された暗号鍵を用いて復号し、復号した暗号文の内容を前記不揮発性メモリの指定されたアドレス空間に書き込む暗号ライトコマンドと、前記不揮発性メモリに記憶されている前記発行フラグを発行不可にセットするコマンドと、前記不揮発性メモリの指定されたアドレス空間に記憶された内容の整合性を確認するメモリチェックコマンドを備えていることを特徴とする。
上述した本発明によれば、ICカード以外の装置を用い、バーチャルマシンで解釈実行される命令により作動するコマンドを利用して前記ICカードを発行したとき、前記不揮発性メモリに形成されるメモリマップを作成し、作成したメモリマップの内容を、前記ICカードに実装されたICチップで解釈実行されるマシン語により作動するコマンドによって、ICカードの不揮発性メモリのアドレス空間にコピーすることで、ICカード発行時にICカードに送信するコマンドを減らすことができるとともに、バーチャルマシンを作動させることなく発行できるため、1枚当たりのICカード発行時間を短縮できる。
なお、不揮発性メモリのアドレス空間にコピーされる内容は、本来、バーチャルマシンで解釈実行される命令により作動するコマンドを利用したときに形成されるメモリマップの内容であるため、前記ICカード後でもバーチャルマシンは前記不揮発性メモリに正常にアクセスできる。なお、作成したメモリマップの内容を不揮発性メモリのアドレス空間にコピーする際は、大量なデータが一度に不揮発性メモリに書き込まれるため、不揮発性メモリの内容の整合性を確認することが望ましい。
ここで、不揮発性メモリの内容の整合性確認は、不揮発性メモリの指定されたアドレス空間から演算されるチェックコードを用いて確認する方法が望ましい。なお、チェックコードとは、チェックサム、DES鍵を用いたMAC(Message Authentication Code)や、SHA1によって演算されるハッシュ値などを意味する。
加えて、作成したメモリマップの中から指定されたアドレス空間内の内容を暗号化した暗号文をICカードに送信し、ICカードの内部に記憶された暗号鍵を用いて暗号文を復号し、復号した内容を不揮発性メモリのアドレス空間に書き込むことで、例えば、暗証番号などの個人情報がICカードとICカード発行機の通信中に盗聴されることを防止できる。なお、平文をICカードに送信する発行と、暗号文をICカードに送信する発行とは順不同であってよく、ランダムでもかまわない。
ここから、本発明に関わるICカード発行システムおよびICカード1について、図を参照しながら詳細に説明する。図1は、ICカード発行システムのアーキテクチャを説明する図である。図1に示したようにICカード発行システムは、電気的に書き換え可能な不揮発性メモリ(ここでは、EEPROM)を有するICカード1と、ICカード1のEEPROMにデータを書き込むICカード発行機3とから構成される。
図1で示したICカード1は、JAVA(登録商標)やMULTOS(登録商標)などに代表されるバーチャルマシンが実装されたマルチアプリケーションICカードで、バーチャルマシンで解釈実行される命令で記述されたアプリケーションを、ICカード1のEEPROMに登録/削除できる。
本発明に係るICカード1は発行専用のコマンドである複数の発行コマンドを有し、ICカード1を発行するためのICカード発行機3は、ICカード1のバーチャルマシンで解釈実行される命令により作動するコマンドを利用してICカード1を発行したときEEPROMに形成されるメモリマップを記憶し、この複数の発行コマンドを組み合せて、メモリマップの全て或いは一部の内容をICカード1のEEPROMに書き込むことで、ICカード1を発行する。
この発行コマンドはICカード1に実装されたICチップのCPUに対応したマシン語で記述され、発行時はバーチャルマシンが起動することなく、ICカード1を発行できるため、バーチャルマシンが動作するために必要な時間を削減でき、1枚のICカード1の発行に要する時間を短縮することができる。
図2は、図1で示したICカード1に実装されるICチップ2の内部構成図で、図3は、図1で示したICカード発行システムの機能構成図である。
図2に示したようにICカード1のICチップ2には、演算機能およびICチップ2が具備するデバイスを制御する機能を備えた中央演算装置20(CPU:Central Processing Unit)、読み出し専用の不揮発性メモリ22(ROM:Read Only Memory、)、電気的に書換え可能な不揮発性メモリとしてEEPROM21(EEPROM:Electrically Erasable Programmable Read-Only Memoryの略)、揮発性メモリとしてランダムアクセスメモリ23(RAM:Random Access Memory)、および、外部の端末装置とデータ通信するための接触I/F回路24と、暗号演算回路25を少なくとも備なえている。
本発明は、ICカード1に実装されるICチップ2の仕様をなんら限定するものではなく、ICカード1の用途に適した仕様のICチップ2を選択することができる。例えば、ROM22およびEEPROM21の容量については限定しないし、書換え可能な不揮発性メモリはフラッシュメモリ等であっても構わない。またICチップ2は乱数を生成する乱数生成回路等の図示していない他のデバイスを備えていても構わない。
なお、図1においては、ICカード1を接触ICカードとして図示しているが、本発明は何らICカード1の通信方式に依存するものではなく、無線でデータ通信する非接触ICカード、または、接触データ通信と非接触データ通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。加えて、ICカード1は、ICチップ2の近辺を短冊状に切り取った形状をしているSIM(Subscriber Identity Module)であってもよい。
図3で示したように、ICカード1のROM22には、ICカード1に実装されるICチップ2の仕様差分を吸収するためのプログラムであるカードOS11(Operating System)上に、言語の解釈機能を備えたバーチャルマシン10が実装されている。
カードOS11は、ICチップ2に対応したマシン語で記述され、バーチャルマシン10を介さずに動作する複数の発行コマンドを備え、少なくともこの発行コマンドには、ICカード発行機3から送信される平文をICカード1のEEPROM21に書き込むためのコマンドであるライトコマンド110と、ICカード発行機3から送信される暗号文をICカード1のEEPROM21に書き込むためのコマンドである暗号ライトコマンド111と、ICカード1のEEPROM21に書き込んだ内容をチェックするためのコマンドであるメモリチェックコマンド112とが含まれる。
上述しているように、これらのコマンドはICチップ2に対応したマシン語で記述され、図2で示したICチップ2のハードウェア資源を利用したプログラムある。マシン語で記述されているこれらのコマンドは、バーチャルマシン10で解釈されることなく動作するため、バーチャルマシン10を利用するために必要な時間、例えば、バーチャルマシン10の起動時間、バーチャルマシン10が命令を解釈する時間を削減でき、バーチャルマシン10を利用するときよりも高速でEEPROM21にアクセスでき、1枚当たりの発行時間を短縮できる。
アプリケーション12が発行される前にEEPROM21には、カードOS11が利用するデータとして、少なくとも、ICカード1ごとに固有であり、発行コマンドを用いてICカード1を発行するときに利用される暗号鍵であるセッション鍵13と、ICカード1に備えられた発行コマンドの実行を制御するために設けられた発行フラグ14が書き込まれている。これらのデータは、上述しているライトコマンド110または専用のコマンドによって、カードOS11が管理するEEPROM21の領域に記憶される。
セッション鍵13とは、ICカード発行機3から送信される暗号文を復号するときや、EEPROM21に書き込まれたデータのチェックコードを演算するときに利用される暗号鍵である。本実施の形態において、セッション鍵13は、ROM22に記憶されたROM鍵113によって暗号化された状態でEEPROM21に記憶される。そして、セッション鍵13を利用するときは、ROM鍵113で復号され使用される。
ICカード1ごとにセッション鍵13を設けるのは、セキュリティ高くICカード1を発行するためである。例えば、ユーザの暗証番号など外部に漏洩してはならない機密なデータをICカード1に書き込むときは、ICカード発行機3から機密なデータは、セッション鍵13で暗号化された状態でICカード1に送信される。
この機密データを暗号化する暗号鍵をICカード1すべてにおいて共通であると、共通の暗号鍵が何らかの理由で漏洩した場合、ICカード発行機3とICカード1間で伝送されるデータを傍受すれば機密なデータのすべてが解読されてしまう。そこで、ICカード1ごとに固有のセッション鍵13を設けることで、発行時のセキュリティを高める。
発行フラグ14とは、ICカード1に備えられた発行コマンドの実行を制御するために設けられたフラグである。ICカード1発行後においても発行コマンドが動作すると、バーチャルマシン10を介さずにEEPROM21に直接アクセスでき、セキュリティ的に脆弱になるため、発行後にICカード1の発行コマンドが動作しない制御をするために、EEPROM21には発行フラグ14が設けられている。
ICカード1が活性化されると、ICカード1はEEPROM21に記憶されている発行フラグ14をRAM23にコピーし、RAM23にコピーされた発行フラグ14によって、発行コマンドの実行が制御される。
RAM23にコピーされた発行フラグ14によって、カードOS11の発行コマンドの実行許可が示されている場合には、ICカードはカードOS11の発行コマンドを実行し、RAM23にコピーされた発行フラグによって、カードOS11の発行コマンドの実行不可が示されている場合には、ICカードはカードOS11の発行コマンドの実行を禁止する。この発行フラグは、ICカード製造会社などにおいてICカード1が発行された後に、カードOS11の発行コマンドの実行不可に設定される。
加えて、EEPROM21には、ICカード製造会社などで、上述した発行コマンドを用いて、ICカード発行機3は少なくとも一つのアプリケーション12が書き込まれる。
図4は、アプリケーション12に含まれるデータを説明するための図である。EEPROM21に書き込まれる一つのアプリケーション12には、アプリケーション12で共通のデータである共通データ120と、ICカード1ごとに個別のデータである個別データ121と、ICカード1ごとに個別で機密性の極めて高い個別機密データ122(例えば、ユーザの暗証番号など)とが含まれる。
発行時においては、共通データ120および個別データ121はライトコマンド110でEEPROM21に書き込まれ、個別機密データ122は暗号ライトコマンド111によって書き込まれ、EEPROM21に書き込まれたデータはメモリチェックコマンド112によってデータの整合性が確認される。
なお、図4は単にアプリケーション12に含まれるデータを説明するための図であって、実際のアプリケーション12のデータ構造は図4とは異なり、共通データ120のデータ構造の中に個別データ121や個別機密データ122のデータ構造が含まれていてもよい。データを書き込むEEPROM21のアドレスが既知でさえあれば、上述したライトコマンド110や暗号ライトコマンド111を用いて、このアドレスから所定のデータを書き込むことができる。
ここから、カードOS11が有する各発行コマンドについて詳細に説明する。上述した3つのコマンドは、いずれもISO/IEC7816−4のCASE3のコマンド構造に準拠し、それぞれの発行コマンドのデータフィールドの内容を図5に示す。図5は、ライトコマンド110、暗号ライトコマンド111およびメモリチェックコマンド112、それぞれのコマンドのデータフィールドの内容を説明する図である。
図5(a)は、ライトコマンド110のデータフィールドを説明する図で、ICカード発行機3からICカード1に送信されるライトコマンド110のコマンドAPDU(Application Protocol Data Unit)のデータフィールドには、少なくとも、EEPROM21に書き込まれるデータである平文110cと、平文110cの長さを示すデータ長110bと、平文110cを書き込むEEPROM21の物理的あるいは論理的な開始アドレス110aとが含まれる。平文110cが書き込まれるEEPROM21のアドレス空間は、この開始アドレス110aとデータ長110bによって規定される。
ICカード発行機3からICカード1にライトコマンド110のコマンドAPDUが送信されると、カードOS11は受信したコマンドAPDUを解釈し、ライトコマンド110が実行される。ライトコマンド110が実行されると、ライトコマンド110はデータフィールドから開始アドレス110aを取得し、バーチャルマシン10を作動させることなく、開始アドレス110aから平文110cをEEPROM21に書込み、書込み結果を示すデータをレスポンスAPDUとして、ICカード発行機3に返信する。
図5(b)は、暗号ライトコマンド111のデータフィールドを説明する図で、ICカード発行機3からICカード1に送信される暗号ライトコマンド111のコマンドAPDUのデータフィールドには、少なくとも、EEPROM21に書き込まれるデータがセッション鍵13で暗号化された暗号文111cと、暗号文111cの長さを示すデータ長111bと、暗号文111cをセッション鍵13で復号したデータを書き込むEEPROM21の物理的あるいは論理的な開始アドレス111aとが含まれる。暗号文111cを復号した内容が書き込まれるEEPROM21のアドレス空間は、この開始アドレス111aとデータ長111bによって規定される。
また、ICカード発行機3からICカード1へ暗号ライトコマンド111のコマンドAPDUが送信されると、カードOS11が受信したコマンドAPDUを解釈し、暗号ライトコマンド111が作動する。暗号ライトコマンド111は、データフィールドから暗号文111cを取得すると、EEPROM21に記憶されたセッション鍵13をROM鍵113で復号して、復号したセッション鍵13で暗号文111cを復号し、暗号文111cを復号したデータをEEPROM21に開始アドレス111aからデータ長111bだけ書き込み、書込み結果を示すデータをレスポンスAPDUとして、ICカード発行機3に返信する。
暗号ライトコマンド111に適用される暗号アルゴリズムは、ICチップ2に備えられた暗号演算回路25に依存し、本発明は何ら暗号アルゴリズムを規定するものではない。ICカード1が発行される環境にもよるが、ICカード発行会社やクレジットカード発行会社などのようにセキュリティ高くICカード1を発行する環境が整っている場所においては、暗号ライトコマンド111に適用される暗号アルゴリズムはトリプルDESが発行時間を短縮できるため望ましいが、RSAなどの公開鍵アルゴリズムであってもよい。
図5(c)は、メモリチェックコマンド112のデータフィールドを説明する図で、ICカード発行機3からICカード1に送信されるメモリチェックコマンド112のコマンドAPDUのデータフィールドには、少なくとも、ICカードによって照合される照合チェックコード112cと、チェックコードを計算するデータの長さを示すデータ長112bと、チェックコードを演算するデータが記憶されたEEPROM21の物理的あるいは論理的な開始アドレス112aとが含まれる。データの整合性が確認されるEEPROM21のアドレス空間は、この開始アドレス112aとデータ長112bによって規定される。
本実施の形態において、メモリチェックコマンド112に適用されたチェックコードの演算アルゴリズムは、Triple−DESを利用したMAC(168bit)演算アルゴリズムを採用し、MACの演算に用いられる暗号鍵はセッション鍵13である。
ICカード発行機3からICカード1へメモリチェックコマンド112のコマンドAPDUが送信されると、カードOS11が受信したコマンドAPDUを解釈し、メモリチェックコマンド112が作動する。暗号ライトコマンド111は、EEPROM21に記憶され暗号化されたセッション鍵13をROM鍵113で復号し、EEPROM21に記憶され、開始アドレス112aからデータ長112bで指定されるアドレス空間に記憶されたデータからチェックコードを演算し、演算したチェックコードとICカード発行機3から受信した照合チェックコード112cを照合し、照合結果を含むレスポンスAPDUをICカード発行機3に返信する。
図3に示したように、ICカード発行機3には、上述したカードOS11に備えられた発行コマンドなどを利用してICカード1を発行する発行アプリケーション30と、ICカード1と電気的に接続し、ICカード1とデータ通信するデータ通信手段31と、データを記憶するためのデータ記憶装置32を備える。
ICカード発行機3の発行アプリケーション30とは、サーバなどのコンピュータ装置を動作させるプログラムで実現され、データ通信手段31はICカードリーダライタと同じ手段で実現され、データ記憶装置32はハードディスクなどで実現される。
データ記憶装置32には、エミュレータなどの装置を用い、ICカード1のバーチャルマシン10で解釈実行される命令により作動するコマンドを利用してICカード1を発行したときEEPROM21に形成されるメモリマップの内容を発行データとして記憶し、この発行データには、アプリケーション12の共通データ120と共通データ120を書き込むアドレス空間、アプリケーション12の個別データ121と個別データ121を書き込むアドレス空間、アプリケーション12の個別機密データ122と個別機密データ122を書き込むアドレス空間とを記憶している。
アプリケーション12の共通データ120は、アプリケーション12ごとに共通なデータであるため、データ記憶装置32にはアプリケーション12ごとに一つの共通データ120が記憶される。また、個別データ121と個別機密データ122は、ICカード1ごとに異なるデータであるため、データ記憶装置32には発行枚数の数だけ個別データ121および個別機密データ122が記憶される。
ICカード発行機3の発行アプリケーション32は、ICカード1に備えられたライトコマンド110を用いて、EEPROM21の所定のアドレス空間に、アプリケーション12の共通データ120および個別データ121を書き込み、また、ユーザの暗証番号などの個別機密データ122は、暗号ライトコマンド111を用いて、EEPROM21の所定のアドレス空間に書き込まれる。
ここから、ICカード発行機3が上述したカードOS11に備えられた発行コマンドを利用してICカード1を発行する手順を説明する。図6は、ICカード発行機3が0次発行を行う手順を示したフロー図で、図7は、ICカード発行機3が1次および2次発行を行う手順を示したフロー図である。
まず、ICカード発行機3が0次発行を行う手順について説明する。0次発行では、ICカード1が動作するために最低限必要なデータがICカード1に書き込まれ、本実施の形態においては、図3で示したデータの中で、セッション鍵13と発行フラグ14がEEPROM21に書き込まれる。
この手順で最初に実行されるステップS1は、ICカード1を活性化するステップである。このステップでは、ICカード発行機3は、例えば、ISO/IEC7816などで定められた手順に従いICカード1を活性化する。このステップでICカード1を活性化した後は、定められた伝送プロトコルを用いたICカード発行機3とICカード1間のデータ通信が可能となる。なお、このステップが実行されるとき、ICカード1は0次発行前であるため、発行フラグ14はRAM23にコピーされない。
次のステップS2は、EEPROM21にセッション鍵13と発行フラグ14とを書き込むステップである。例えば、ICカード発行機3からICカード1に送信されるライトコマンド110のコマンドAPDUには、ROM鍵113で暗号化されたセッション鍵13が含まれ、ICカード1はROM鍵113で暗号化されたセッション鍵13をEEPROM21の所定のアドレス空間に書き込む。また、発行フラグ14は、ライトコマンド110によって、発行コマンドの実許可にセットされる。発行フラグ14を発行コマンドの実行許可にセットした後、発行フラグ14の内容はメモリチェックコマンド112などによってチェックされる。
次のステップS3は、ICカード1を非活性化するステップである。このステップでは、ICカード発行機3は、例えば、ISO/IEC7816などで定められた手順に従いICカード1を非活性化する。このステップでICカード1を非活性化した後に活性化されても、ICカード1にはユーザごとに個別のデータは記憶されていないため、ICカード1が悪用されることはない。
まず、ICカード発行機3が1次および2次発行を行う手順について説明する。一般的に、1次発行ではアプリケーション12のカード1ごとに固定値のデータがICカード発行機3によってICカード1に書き込まれ、2次発行ではICカード1ごとに個別なデータがICカード発行機3によってICカード1に書き込まれる。
本実施の形態においては、1次発行と2次発行は1連のシーケンスで実施されるものとし、図3で示した共通データ120がアプリケーション12のカード1ごとに固定値のデータとして1次発行で書き込まれ、個別データ121と個別機密データ122が2次発行で書き込まれる。
この手順で最初に実行されるステップS10は、ICカード1を活性化するステップである。このステップでは、ICカード発行機3は、例えば、ISO/IEC7816などで定められた手順に従いICカード1を活性化する。このステップでICカード1を活性化した後は、定められた伝送プロトコルを用いたICカード発行機3とICカード1間のデータ通信が可能となる。なお、このステップが実行されるとき、ICカード1は0次発行済みであるため、発行フラグ14をRAM23にコピーする。
次のステップS11は、アプリケーション12の共通データ120が書き込まれるステップである。このステップにおいては、ICカード発行機3は、少なくとも共通データ120を含むライトコマンド110のコマンドAPDUをICカード1に送信し、ICカード1のライトコマンド110が作動することで、このコマンドAPDUに含まれる共通データ120は指定されたEEPROM21のアドレス空間に書き込まれる。
次のステップS12は、ステップSでEEPROM21に書き込まれた共通データ120の内容をチェックするステップである。このステップにおいては、ICカード発行機3は、少なくとも共通データ120の照合チェックコードを含むメモリチェックコマンド112のコマンドAPDUをICカード1に送信し、ICカード1のメモリチェックコマンド112が作動することで、このコマンドAPDUに含まれる照合チェックコードと、EEPROM21に書き込まれた共通データ120から演算されたチェックコードとが照合される。このコマンドにより、書き込まれたデータを読み出したり送ったりしないため、通信データ量が少なくなり発行時間が短縮できる。照合に成功した場合はステップS13に進み、照合に失敗した場合、この手順は終了し、照合に失敗したICカード1は発行失敗カードとして取り扱われる。
次のステップS13は、発行フラグ14を無効にセットするステップである。このステップにおいて、ICカード発行機3は、EEPROM21の発行フラグ14を、発行コマンドの実行不可にセットするためのコマンドのコマンドAPDUをICカード1に送信し、ICカード1は発行フラグ14を発行コマンドの実行不可にセットする。発行フラグ14を発行コマンドの実行不可にセットした後、発行フラグ14の内容はメモリチェックコマンド112などによってチェックされる。
上述しているように、ICカード1はRAM23にコピーされた発行フラグ14を参照して発行コマンドの実行を制御するため、このステップにおいてEEPROM21の発行フラグ14を発行コマンドの実行不可にセットしたとしても、ICカード1が非活性化されない限りは発行コマンドの実行が可能である。
なお、共通データ120をICカード1に書き込んだ後にEEPROM21に記憶された発行フラグ14を発行コマンドの実行不可にセットするのは、個別データ121の書込みに失敗したICカード1が利用され、個別データ121や個別機密データ122が読み出されるなどして悪用されることを防止するためである。
次のステップS14は、アプリケーション12の個別データ121が書き込まれるステップである。このステップにおいては、ICカード発行機3は、少なくとも個別データ121を含むライトコマンド110のコマンドAPDUをICカード1に送信し、ICカード1のライトコマンド110が作動することで、このコマンドAPDUに含まれる個別データ121は指定されたEEPROM21のアドレス空間に書き込まれる。
次のステップS15は、ステップS14でEEPROM21に書き込まれた個別データ121の内容をチェックするステップである。このステップにおいては、ICカード発行機3は、少なくとも共通データ120の照合チェックコードを含むメモリチェックコマンド112のコマンドAPDUをICカード1に送信し、ICカード1のメモリチェックコマンド112が作動することで、このコマンドAPDUに含まれるチェックコードと、EEPROM21に記憶された個別データ121から演算されたチェックコードとが照合される。照合に成功した場合はステップS16に進み、照合に失敗した場合、この手順は終了し、照合に失敗したICカード1は発行失敗カードとして取り扱われる。
次のステップS16は、アプリケーション12の個別機密データ122が書き込まれるステップである。このステップにおいては、ICカード発行機3は、少なくともセッション鍵13で個別機密データ122を暗号化した暗号文を含む暗号ライトコマンド111のコマンドAPDUをICカード1に送信し、ICカード1の暗号ライトコマンド111が作動する。
ICカード1の暗号ライトコマンド111が作動すると、EEPROM21に暗号化された状態記憶されているセッション鍵13をROM鍵113で復号し、復号したセッション鍵13でこのコマンドAPDUに含まれる暗号文を復号した後、暗号文を復号した内容を指定されたEEPROM21のアドレス空間に書き込む。
次のステップS17は、ステップS16でEEPROM21に書き込まれた個別機密データ122の内容をチェックするステップである。このステップにおいては、ICカード発行機3は、少なくとも個別機密データ122の照合チェックコードを含むメモリチェックコマンド112のコマンドAPDUをICカード1に送信し、ICカード1のメモリチェックコマンド112が作動することで、このコマンドAPDUに含まれるチェックコードと、EEPROM21に記憶された個別機密データ122から演算されたチェックコードとが照合される。照合に成功した場合はステップS18に進み、照合に失敗した場合、この手順は終了し、照合に失敗したICカード1は発行失敗カードとして取り扱われる。
次のステップS18は、ICカード1を非活性化するステップである。このステップでは、ICカード発行機3は、例えば、ISO/IEC7816などで定められた手順に従いICカード1を非活性化する。このステップでICカード1を非活性化した後に活性化されても、発行フラグ14は発行コマンドの実行不可にセットされているため、カードOS11に備えられた発行コマンドが悪用されることはない。
ICカード発行システムのアーキテクチャを説明する図。 ICカードに実装されるICチップの内部構成図。 ICカード発行システムの機能構成図。 アプリケーションに含まれるデータを説明するための図。 発行コマンドのデータフィールドの内容を説明する図。 ICカード発行機が次発行を行う手順を示したフロー図。 ICカード発行機が1次および2次発行を行う手順を示したフロー図。
符号の説明
1 ICカード
10 バーチャルマシン
11 カードOS
110 ライトコマンド
111 暗号ライトコマンド
112 メモリチェックコマンド
113 ROM鍵
12 アプリケーション
120 共通データ
121 個別データ
122 個別機密データ
13 暗号化された状態のセッション鍵
14 発行フラグ
2 ICチップ
21 EEPROM
22 ROM
23 RAM
3 ICカード発行機

Claims (3)

  1. 電気的に書換え可能な不揮発性メモリと揮発性メモリを有し、バーチャルマシンを備えたICカードを発行するICカード発行方法であって、前記ICカード発行方法は、
    ICカード発行機が、前記バーチャルマシンで解釈実行される命令により作動するコマンドを利用して前記ICカードを発行したとき、前記不揮発性メモリに形成されるメモリマップを作成するメモリマップ作成工程と、
    前記ICカード発行機が前記ICカードを活性化し、前記ICカードが、前記ICカードに実装されたICチップで解釈実行されるマシン語により作動する発行コマンドの実行制御に用いられる発行フラグを前記不揮発性メモリから前記揮発性メモリにコピーする工程と、
    前記ICカード発行機が、前記発行コマンドの一つであるライトコマンドを用いて、前記メモリマップ作成工程で作成した前記メモリマップに含まれる機密データ以外のデータを平文で前記ICカードに送信し、前記ICカードが、前記揮発性メモリにコピーされた前記発行フラグにより前記発行コマンドの実行許可が示されている場合、前記ライトコマンドにより、前記平文の内容前記不揮発性メモリに書き込み前記ICカード発行機が、前記発行コマンドの一つであるメモリチェックコマンドを用いて、前記不揮発性メモリに書き込んだ前記平文の内容の整合性を確認する第1の発行工程と、
    前記ICカード発行機が、前記不揮発性メモリに記憶されている前記発行フラグを前記発行コマンドの実行不可にセットするためのコマンドを前記ICカードに送信し、前記ICカードが、前記ICカードの前記不揮発性メモリに記憶されている前記発行フラグを前記発行コマンドの実行不可にセットする工程と、
    前記ICカード発行機が、前記発行コマンドの一つである暗号ライトコマンド用いて、前記メモリマップ作成工程で作成された前記メモリマップに含まれる機密データを暗号化した暗号文を前記ICカードに送信し、前記ICカードが、前記揮発性メモリにコピーされた前記発行フラグにより前記発コマンドの実行許可が示されている場合、前記暗号ライトコマンドにより、前記ICカードの内部に記憶された暗号鍵を用いて前記暗号文を復号した内容を前記不揮発性メモリの指定されたアドレス空間に書き込み、前記ICカード発行機が、前記発行コマンドの一つであるメモリチェックコマンドを用いて、前記不揮発性メモリに書き込んだ前記暗号文の内容の整合性を確認する第2の発行工程と、
    前記ICカード発行機が前記ICカードを非活性化する工程と、
    を備えていることを特徴とするICカード発行方法。
  2. 電気的に書換え可能な不揮発性メモリと揮発性メモリを有し、バーチャルマシンを備えたICカードと、前記ICカードの前記不揮発性メモリにデータを書き込むICカード発行機とから、少なくとも構成されるICカードシステムであって、
    前記ICカードは、前記ICカード発行機により前記ICカードが活性化されると、前記ICカードに実装されたICチップで解釈実行されるマシン語により作動する発行コマンドの実行制御に用いられる発行フラグを前記不揮発性メモリから前記揮発性メモリにコピーする手段と、前記発行コマンドとして、前記不揮発性メモリの指定されたアドレス空間に、前記ICカード発行機から送信された平文を書き込むライトコマンドと、前記ICカード発行機から送信された暗号文を、前記ICカードの内部に記憶された暗号鍵を用いて復号し、復号した暗号文の内容を前記不揮発性メモリの指定されたアドレス空間に書き込む暗号ライトコマンドと、前記不揮発性メモリに記憶されている前記発行フラグを発行不可にセットするコマンドと、前記不揮発性メモリの指定されたアドレス空間に記憶された内容の整合性を確認するメモリチェックコマンドを備え、
    前記ICカード発行機は、前記ICカード以外の装置を用い、前記バーチャルマシンで解釈実行される命令により作動するコマンドを利用して前記ICカードを発行したとき前記不揮発性メモリに形成されるメモリマップを記憶し、前記ICカードと電気的に接続しデータ通信する手段と、前記ICカードを活性化及び非活性化する手段と、前記ICカードを活性化させた後、前記ライトコマンドを利用して、前記メモリマップに含まれる機密データ以外のデータを平文で前記ICカードに送信し、前記ICカードの前記不揮発性メモリの指定したアドレス空間に該平文書き込んだ後前記メモリチェックコマンドを用い、前記ICカードの前記不揮発性メモリに書き込んだ内容の整合性を確認する第1の発行手段と、
    前記第1の発行手段を作動させた後、前記ICカードの前記発行フラグを発行不可の状態にセットするコマンド用いて、前記不揮発性メモリに記憶されている前記発行フラグを前記発行コマンドの実行不可にセットする手段と、
    前記発行フラグを前記発行コマンドの実行不可にセットした後、前記暗号ライトコマンドを利用して、前記メモリマップに含まれる機密データを暗号化した暗号文を前記ICカードに送信し、前記ICカードの前記不揮発性メモリの指定したアドレス空間に前記暗号文を復号した内容を書き込んだ後、前記メモリチェックコマンドを用い、前記ICカードの前記不揮発性メモリに書き込んだ内容の整合性を確認してから、前記ICカードを非活性化する第2の発行手段を備え、
    ていることを特徴とするICカード発行システム。
  3. 電気的に書換え可能な不揮発性メモリを備え、バーチャルマシンを有するICカードであって、前記ICカードが活性化されると、前記ICカードに実装されたICチップで解釈実行されるマシン語により作動する発行コマンドの実行制御に用いられる発行フラグを前記不揮発性メモリから前記揮発性メモリにコピーする手段と、前記発行コマンドとして、前記不揮発性メモリの指定されたアドレス空間に、前記ICカード発行機から送信された平文を書き込むライトコマンドと、前記ICカード発行機から送信された暗号文を、前記ICカードの内部に記憶された暗号鍵を用いて復号し、復号した暗号文の内容を前記不揮発性メモリの指定されたアドレス空間に書き込む暗号ライトコマンドと、前記不揮発性メモリに記憶されている前記発行フラグを発行不可にセットするコマンドと、前記不揮発性メモリの指定されたアドレス空間に記憶された内容の整合性を確認するメモリチェックコマンドを備えていることを特徴とするICカード。
JP2006021740A 2006-01-31 2006-01-31 Icカード発行方法、icカード発行システムおよびicカード Expired - Fee Related JP4899499B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006021740A JP4899499B2 (ja) 2006-01-31 2006-01-31 Icカード発行方法、icカード発行システムおよびicカード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006021740A JP4899499B2 (ja) 2006-01-31 2006-01-31 Icカード発行方法、icカード発行システムおよびicカード

Publications (2)

Publication Number Publication Date
JP2007206765A JP2007206765A (ja) 2007-08-16
JP4899499B2 true JP4899499B2 (ja) 2012-03-21

Family

ID=38486225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006021740A Expired - Fee Related JP4899499B2 (ja) 2006-01-31 2006-01-31 Icカード発行方法、icカード発行システムおよびicカード

Country Status (1)

Country Link
JP (1) JP4899499B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190197525A1 (en) * 2017-12-21 2019-06-27 Entrust Datacard Corporation Secure end-to-end personalization of smart cards
CN112200283B (zh) * 2020-10-30 2021-06-29 中国科学院自动化研究所 基于边缘计算的可信大容量标识载体赋码读码系统和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0935018A (ja) * 1995-07-17 1997-02-07 Dainippon Printing Co Ltd 携帯可能情報記録媒体およびそのアクセス方法
JPH11282992A (ja) * 1998-03-31 1999-10-15 Dainippon Printing Co Ltd Icカード
JP2001052131A (ja) * 1999-08-04 2001-02-23 Dainippon Printing Co Ltd Icカードおよびその発行方法ならびにプログラム
JP2003288214A (ja) * 2002-03-28 2003-10-10 Toshiba Corp 情報処理装置、情報処理方法
JP4373239B2 (ja) * 2004-02-16 2009-11-25 大日本印刷株式会社 Icカードの発行方法、icカード用プログラムおよびicカード
JP2005258968A (ja) * 2004-03-15 2005-09-22 Dainippon Printing Co Ltd Icカードに書込まれたデータの正当性検証方法およびicカード用プログラム
JP2005352963A (ja) * 2004-06-14 2005-12-22 Sony Corp 情報管理装置及びその制御方法

Also Published As

Publication number Publication date
JP2007206765A (ja) 2007-08-16

Similar Documents

Publication Publication Date Title
US7469837B2 (en) Storage device
EP0981807B1 (en) Integrated circuit card with application history list
EP2229653B1 (en) System and method for updating read-only memory in smart card memory modules
KR101885393B1 (ko) 중요 데이터를 취급하기 위한 장치 및 방법
TWI524275B (zh) 儲存裝置及操作一儲存裝置之方法
JP2004104539A (ja) メモリカード
JPH04143881A (ja) 相互認証方式
CN104380652A (zh) 用于nfc使能设备的多发行商安全元件分区架构
EP2279502A2 (en) Nfc mobile communication device and nfc reader
JP2003091704A (ja) 不揮発性メモリを備えた記憶装置及びその記憶装置が着脱自在な情報処理装置
US9250930B2 (en) Configuration method for an electronic entity
US20090184799A1 (en) Information storage medium and information storage medium processing apparatus
CN112199740B (zh) 一种加密锁的实现方法及加密锁
JP4961834B2 (ja) Icカード発行方法およびicカード
JP2004252707A (ja) メモリデバイス
US20060289656A1 (en) Portable electronic apparatus and data output method therefor
JP4993114B2 (ja) 携帯型ストレージデバイスの共有管理方法、および、携帯型ストレージデバイス
JP4899499B2 (ja) Icカード発行方法、icカード発行システムおよびicカード
CN101238492A (zh) Itso fvc2应用监视器
JPH10301854A (ja) チップ・カードおよびその上に情報をインポートする方法
JP2011171946A (ja) 携帯可能電子装置、携帯可能電子装置の制御方法及びicカード
JP2013097524A (ja) Icチップ、データ保護方法、データ保護プログラム、icカード及び記録媒体
JP7487837B1 (ja) 電子情報記憶媒体、icチップ、icカード、鍵データ格納方法、及びプログラム
BRPI0409234B1 (pt) entidade eletrônica tornada segura que compreende meios para memorizar um número máximo permitido de utilizações de um dado secreto e processo de modificação de um número máximo permitido de utilizações de um dado secreto memorizado por uma entidade eletrônica tornada segura
JP2004334471A (ja) 情報カード

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111117

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: 20111206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R150 Certificate of patent or registration of utility model

Ref document number: 4899499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees