(57)【特許請求の範囲】
【請求項１】
第１のマイクロプロセッサと該第１のマイクロプロセッサ用のＩＣカードの機能を実現させるためのプログラムを格納したメモリを備えたプログラム書き込み可能なＩＣカードの処理方法において、
前記プログラム書き込み可能なＩＣカードは第２のマイクロプロセッサを有し、外部との接続部と前記第１のマイクロプロセッサと第２のマイクロプロセッサの接続を選択的に切り替えるステップと、前記プログラム書き込み可能なＩＣカードの有するプログラム書き込み制御プログラムにより暗号解読を行うステップと、前記接続部から与えられる前記第１のマイクロプロセッサ用のプログラムを前記プログラム書き込み可能なＩＣカードの有する書き換え可能なメモリに書き込むステップと、を有し、
前記第２のマイクロプロセッサは、前記接続部から与えられる第１のマイクロプロセッサ用のプログラムを前記プログラム書き込み制御プログラムに従って暗号解読処理をして前記書き換え可能なメモリに格納するとき、前記第１のマイクロプロセッサから前記第２のマイクロプロセッサに切り替え、書き込み終了時に前記第１のマイクロプロセッサに制御を戻すようにしたことを特徴とするプログラム書き込み可能なＩＣカードの処理方法。
【請求項２】
第１のマイクロプロセッサと該第１のマイクロプロセッサ用のＩＣカードの機能を実現させるためのプログラムを格納したメモリを備えたプログラム書き込み可能なＩＣカードの処理方法において、
前記プログラム書き込み可能なＩＣカードは第２のマイクロプロセッサを有し、外部との接続部と前記第１のマイクロプロセッサと第２のマイクロプロセッサの接続を選択的に切り替えるステップと、前記プログラム書き込み可能なＩＣカードの有するプログラム書き込み制御プログラムにより暗号解読を行うステップと、前記接続部から与えられる前記第１のマイクロプロセッサ用のプログラムを前記プログラム書き込み可能なＩＣカードの有する書き換え可能なメモリに書き込むステップと、を有し、
前記第２のマイクロプロセッサは、前記接続部から与えられる第１のマイクロプロセッサ用のプログラムを前記プログラム書き込み制御プログラムに従って暗号解読処理をして前記書き換え可能なメモリに書き込むとき、前記第１のマイクロプロセッサから前記第２のマイクロプロセッサに切り替え、書き込む処理が正常に終了しない場合は第１のマイクロプロセッサに制御を戻さないようにし、ＩＣカードを動作できなくすることを特徴とするプログラム書き込み可能なＩＣカードの処理方法。
【請求項３】
前記第１のマイクロプロセッサと第２のマイクロプロセッサはプログラムの命令コードなどの形式の異なるマイクロプロセッサであることを特徴とする請求項１または２の何れか１つに記載のプログラム書き込み可能なＩＣカードの処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は書き込み可能なメモリを備えたＩＣカードに係り、特に、このメモリにプログラムを書き込むことができるようにしたＩＣカードに関する。
【０００２】
【従来の技術】
ＩＣカードはセキュリティの点で優れており、その用途が広まってきている。一般的に、ＩＣカードはプログラムの他に各種の情報を書き込んで記憶しておくための電気的に消去可能なメモリを内蔵しており、ユーザが所有してからの諸情報の書き込みに使用されている。例えば、特開平６−３０９５５８号公報に開示された発明は、顧客情報をＩＣカードに格納して迅速なサービスを提供するようにしている。また、特開平６−３０９３８４号公報には、医療機関における患者の検査結果や投薬データをＩＣカードに格納する用途が記載されている。更に、最近では、電子マネーシステムにおいてＩＣカードを利用する検討が進んでおり、現金（マネー）情報を書き込むためにＩＣカードが利用されている。
【０００３】
このようにＩＣカードに情報を書き込む利用方法は一般的に行われているが、セキュリティ保持のために既に格納されている内部のプログラムの変更，追加，新たなプログラムの書き込みを行う利用方法は制限されている。
【０００４】
【発明が解決しようとする課題】
ところで、ＩＣカードの機能アップや機能変更を目的としてプログラムの変更が必要になる場合がある。また、セキュリティ保持のために暗号化方法を変更することが必要な場合も考えられる。しかしながら、既に格納されているプログラムに手を加えることができるようにすることは、ＩＣカードのマイクロプロセッサチップ及びそのプログラムの情報公開につながり、セキュリティの高さが評価されている該ＩＣカードの用途にそぐわない。
【０００５】
従って、本発明の目的は、ＩＣカードのセキュリティの高さを保持しつつ内部プログラムの変更，追加，新たなプログラムの書き込みができるようにすることにある。
【０００６】
【課題を解決するための手段】
本発明は、マイクロプロセッサと該マイクロプロセッサ用のプログラムを格納したメモリを備えたプログラム書き込み可能なＩＣカードにおいて、
１つの特徴は、ＩＣカード内蔵のプログラムに暗号処理機能及び／またはプログラムコード変換機能を備えた書き込み制御プログラムと、プログラム書き込み用のメモリを備え、書き込み制御プログラムによる処理ステップを有する構成にあり、
他の特徴は、ＩＣカード用のマイクロプロセッサの他に暗号処理機能及び／またはプログラムコード変換機能を備えた書き込み制御プログラムを実行する書き込み制御用マイクロプロセッサと、この２つのマイクロプロセッサを切り替える手段と、プログラム書き込み用メモリを備え、書き込み制御プログラムによる書き込み処理及び切り替え処理をするステップを有する構成にある。
【０００７】
また、本発明の他の特徴は、技術情報を公開していないマイクロプロセッサを備えたＩＣカードに、技術情報を一般に公開したマイクロプロセッサと、このマイクロプロセッサ用のプログラムを格納するプログラム書き込み用のメモリと、この２つのマイクロプロセッサを切り替える手段とを備え、何れ化のマイクロプロセッサによってプログラム書き込み処理を行うステップを付加した構成にある。
【０００８】
これらの構成は、ＩＣカードに必要なセキュリティを保持しつつ内部プログラムの変更，追加，新たなプログラムの書き込みを可能にする。
【０００９】
【発明の実施の形態】
図１は本発明になる書き込み可能なＩＣカードの第１の実施形態を示すブロック図であり、１はＩＣカード用マイクロプロセッサ、２は外部機器との接続部、３はプログラムＲＯＭ（１）、３ＡはＩＣカード機能を実現するためのプログラム、３Ｂは暗号解読機能を備えた書き込み制御プログラム、４は書き込み用メモリ、Ｌ１はデータバスである。
【００１０】
ＩＣカード用マイクロプロセッサ１，接続部２及びＩＣカード機能プログラム３Ａは、ＩＣカードの本来の機能を実現するための構成要素である。ＩＣカードは、通常、外部からの命令が接続部２を介してマイクロプロセッサ１に与えられ、この命令に応じた動作を行なう。ＩＣカード機能プログラム３Ａには書き込みを指示するための書き込みコマンドを予め組み込んでおき、このＩＣカード機能プログラム３Ａは外部からの書き込み命令によって書き込み制御プログラム３Ｂを起動する。書き込み制御プログラム３Ｂには暗号解読機能を持たせておき、この書き込み制御プログラム３Ｂが起動されてからは、このＩＣカードとの通信には暗号化されたコマンド，データ，暗号キー等が必要となるようにする。そして、後から書き込むプログラムやコマンドやデータは正しく暗号化されていなければ書き込み制御プログラム３Ｂによって拒否し、書き込み用メモリ４にはプログラムやデータを書き込むことができないようにする。後から書き込むプログラムを暗号化しておけば公開されてもセキュリティ喪失の問題はなく、プログラム書き込み処理を厳しく管理する必要はなくなる。従って、ＩＣカード内のプログラムのセキュリティ保持に加え、後から書き込むプログラムについてもセキュリティを保つことができる。
【００１１】
図２は、本発明になる書き込み可能なＩＣカードの第２の実施形態を示すブロック図であり、１はＩＣカード用マイクロプロセッサ、２は外部機器との接続部、３はプログラムＲＯＭ（１）、３ＡはＩＣカード機能を実現するためのプログラム、３Ｃはプログラムコード変換機能を備えた書き込み制御プログラム、４は書き込み用メモリ、Ｌ１はデータバスである。
【００１２】
ＩＣカード用マイクロプロセッサ１，接続部２及びＩＣカード機能プログラム３Ａは、ＩＣカード本来の機能を実現するための構成要素であり、動作は前述した第１の実施形態と同じである。ＩＣカード機能プログラム３Ａには書き込みを指示するための書き込みコマンドを予め組み込んでおき、このＩＣカード機能プログラム３Ａは外部からの書き込み命令によって書き込み制御プログラム３Ｃを起動する。この書き込み制御プログラム３Ｃはプログラムコードを変換する機能を備えており、後から書き込むプログラムはこの書き込み制御プログラム３Ｃで処理することによって接続部２から入力されたコードと異なった形式に変換してから書き込み用メモリ４に書き込む。この後から書き込むプログラムは、セキュリティ管理されているところで作成し、書き込み制御プログラム３Ｃの中のプログラムコード変換ルールを逆にしたルールで予めコードを変換しておく。このようにすることで、第１の実施形態と同様に、ＩＣカード内のプログラムのセキュリティ保持に加え、後から書き込むプログラムについてもセキュリティを保つことができる。
【００１３】
また、書き込み制御プログラム３Ｃのプログラムコード変換機能として、公知のマイクロプロセッサ用プログラムコードから非公開であるＩＣカード内のマイクロプロセッサ用プログラムコードに変換する機能を持たせておけば、プログラム開発者に対してＩＣカード内のマイクロプロセッサ１についての情報を公開する必要がなくなる。つまり、外部から与えるプログラムコードは既知のコードでよく、ＩＣカード内のプログラムの命令コードを外部に公開しなくてよいという利点から、ＩＣカードのセキュリティを保つことができ、更に、プログラム開発効率を向上させることができる。この場合は、セキュリティ保持の点から、後から書き込むプログラムによってＩＣカード機能プログラム３Ａに関する情報を取り出すことを排除する機能を追加すると効果的である。
【００１４】
書き込み制御プログラム３Ｃは、第１の実施形態及び第２の実施形態で説明した２つの機能、すなわち、暗号解読機能とプログラムコード変換機能をあわせ持つようにするとＩＣカードのセキュリティ保持の点で一層効果的となる。
【００１５】
図３は、本発明になる書き込み可能なＩＣカードの第３の実施形態を示すブロック図である。１はＩＣカード用マイクロプロセッサ、２は外部機器との接続部、３はプログラムＲＯＭ（１）、３ＡはＩＣカード機能を実現するためのプログラム、４は書き込み用メモリ、５は書き込み用マイクロプロセッサ、６はプログラムＲＯＭ（２）、６Ａは暗号解読機能を備えた書き込み制御プログラム、７は切り替え部、Ｌ１はデータバス、Ｌ２は切り替え信号（１）、Ｌ２は切り替え信号（２）である。切り替え部７は、接続部２に接続する２つのマイクロプロセッサ１，５を選択的に切り替える手段であり、切り替え信号Ｌ１，Ｌ２によってお互いを切り替える。切り替え部７がマイクロプロセッサ１を選択している状態では、マイクロプロセッサ１，接続部２，プログラムＲＯＭ（１）３によって本来のＩＣカード機能を実現する。
【００１６】
ＩＣカード機能プログラム３Ａには書き込みを指示するための書き込みコマンドを予め組み込んでおき、外部からの書き込み命令によってＩＣカード用マイクロプロセッサ１から切り替え信号（１）Ｌ２を出力して切り替え部７を書き込み用マイクロプロセッサ５に切り替える。書き込み制御プログラム６Ａには暗号解読機能を持たせておく。この書き込み制御プログラム６Ａは書き込み用マイクロプロセッサ５によって実行する。切り替え部７が書き込み用マイクロプロセッサ５に切り替わった後のＩＣカードとの通信には暗号化されたプログラムやコマンド，データ，暗号キー等が必要となるようにする。そして、後から書き込むプログラムやコマンド，データは正しく暗号化されていなければ書き込み制御プログラム６Ａによって拒絶し、書き込み用メモリ４にはこれらのプログラムやデータを書き込むことができないようにする。依って、ＩＣカード内のプログラムのセキュリティ保持に加え、後から書き込んだプログラムについてもセキュリティを保つことができる。このような構成にした場合、不正な操作によって書き込みモードに切り替えることができたとしても、正常に終了して切り替え信号Ｌ３によって切り替え部７をＩＣカード用マイクロプロセッサ１に戻すことができなければ、通常のＩＣカードの用途として使用を永久に不能にすることができ、セキュリティを保つことができる。これは、第１及び第２の実施形態には無いメリットではある。１つのマイクロプロセッサを使用した構成でも、不正使用された場合には外部からのリセット信号を受け付けない回路を付加することで同様な効果を得ることができる。また、２つのマイクロプロセッサ１，５は独立しているために、全く異なる型式のマイクロプロセッサを使用することも可能であり、セキュリティの一層高い構成とすることも可能となる。
【００１７】
図４は、本発明になる書き込み可能なＩＣカードの第４の実施形態を示すブロック図であり、１はＩＣカード用マイクロプロセッサ、２は外部機器との接続部、３はプログラムＲＯＭ（１）、３ＡはＩＣカード機能を実現するためのプログラム、４は書き込み用メモリ、５は書き込み用マイクロプロセッサ、６はプログラムＲＯＭ（２）、６Ｂはプログラムコード変換機能を備えた書き込み制御プログラム、７は切り替え部、Ｌ１はデータバス、Ｌ２は切り替え信号（１）、Ｌ３は切り替え信号（２）である。この実施形態のＩＣカードとしての機能動作及び２つのマイクロプロセッサの切り替え動作は前述した第３の実施形態と同様である。この実施形態は、前述した第２の実施形態と第３の実施形態の機能をあわせ持つものである。
【００１８】
書き込み制御プログラム６Ｂは、第３及び第４の実施形態で説明した２つの機能、すなわち、暗号解読機能とプログラムコード変換機能をあわせ持つようにすればＩＣカードのセキュリティ保持の点で一層効果的となる。
【００１９】
図５は、本発明になる書き込み可能なＩＣカードの第５の実施形態を示すブロック図である。この実施形態は、後から書き込むプログラムをユーザ側に完全に開放しつつＩＣカード内部のセキュリティを保つことができるプログラム書き込み可能なＩＣカードである。１はＩＣカード用マイクロプロセッサ、２は外部機器との接続部、３はプログラムＲＯＭ（１）、３ＡはＩＣカード機能を実現するためのプログラム、３Ｄは書き込み制御用プログラム、４は書き込み用メモリ、７は切り替え部、８は情報公開済みのマイクロプロセッサ、Ｌ１はデータバス、Ｌ２は切り替え信号（１）、Ｌ３は切り替え信号（２）、Ｌ４はチップセレクト信号である。書き込み用メモリ４に後から書き込むプログラムは、情報公開済みのマイクロプロセッサ８だけで実行可能な構成とする。ＩＣカード機能プログラム３Ａが格納されているプログラムＲＯＭ（１）３に対するチップセレクト信号Ｌ４は、ＩＣカード用マイクロプロセッサ１からのみ制御できる構成とする。依って、後から書き込むプログラムによってプログラムＲＯＭ（１）３をアクセスすることは不可能であり、ＩＣカード機能のセキュリティは保たれる。
【００２０】
書き込み用メモリ４に対するプログラムの書き込み動作は、ＩＣカード用マイクロプロセッサ１が外部からの書き込み命令によって書き込み制御用プログラム３Ｄを起動することで始まる。この書き込み制御用プログラム３Ｄは、外部からのプログラムやデータを書き込み用メモリ４に書き込む処理を行う。このときのプログラムは、既に情報公開済みのマイクロプロセッサ８用に作られていること、ＩＣカード内部でＩＣカード機能のセキュリティが保持されていることから、後から書き込むプログラムに対してプロテクトをかける必要がない。
【００２１】
この実施形態は、後から書き込むプログラムを開放的に扱い、更にＩＣカードとしてのセキュリティ保持とを両立させたい用途に適した実施形態である。
【００２２】
図６は、本発明になる書き込み可能なＩＣカードの第６の実施形態を示すブロック図である。１はＩＣカード用マイクロプロセッサ、２は外部機器との接続部、３はプログラムＲＯＭ（１）、３ＡはＩＣカード機能を実現するためのプログラム、４は書き込み用メモリ、７は切り替え部、８は情報公開済みのマイクロプロセッサ、６はプログラムＲＯＭ（２）、６Ｃはマイクロプロセッサ８用の書き込み制御プログラム、Ｌ１はデータバス、Ｌ２は切り替え信号（１）、Ｌ３は切り替え信号（２）、Ｌ４はチップセレクト信号である。チップセレクトＬ４によるＩＣカード機能のセキュリティ保持に関する点は第５の実施形態と同じである。
【００２３】
この実施形態は、情報公開済みのマイクロプロセッサ８用の書き込み制御用プログラム６Ｃを格納したプログラムＲＯＭ（２）６をＩＣカード機能プログラム３Ａを格納したプログラムＲＯＭ（１）３から独立させたことで、ＩＣカード機能のセキュリティ保持を一層高めることができる。
【００２４】
後からプログラムを書き込むときは、ＩＣカード用マイクロプロセッサ１が切り替え信号Ｌ２によって制御処理を情報公開済みのマイクロプロセッサ８に移す。書き込み制御処理は、情報公開済みのマイクロプロセッサ８が書き込み制御プログラム６Ｃに従って総て行ない、書き込み処理終了後は、切り替え信号Ｌ３によって制御処理をＩＣカード用マイクロプロセッサ１に戻す。
【００２５】
第５，第６の実施形態では、情報公開済みのマイクロプロセッサを使用することによって開発効率の向上を得ることができるが、他の実施形態のような書き込みを制限する機能と組み合わせることにより、後から書き込むプログラムのセキュリティも保持することができる。
【００２６】
また、プログラム書き込み用メモリ４は独立した構成でなく、書き込みが可能であればマイクロプロセッサのプログラム用メモリを兼用することもできる。
【００２７】
前述した各実施形態において、前述書き込み用のメモリは、一度だけ書き込み可能なメモリを使用することもできる。
【００２８】
【発明の効果】
以上述べたように、本発明によれば、ＩＣカード機能のセキュリティの高さを保持しつつ、後からプログラムの書き込みが可能なＩＣカードを得ることができる。
【図面の簡単な説明】
【図１】本発明になるプログラム書き込み可能なＩＣカードの第１の実施形態を示すブロック図である。
【図２】本発明になるプログラム書き込み可能なＩＣカードの第２の実施形態を示すブロック図である。
【図３】本発明になるプログラム書き込み可能なＩＣカードの第３の実施形態を示すブロック図である。
【図４】本発明になるプログラム書き込み可能なＩＣカードの第４の実施形態を示すブロック図である。
【図５】本発明になるプログラム書き込み可能なＩＣカードの第５の実施形態を示すブロック図である。
【図６】本発明になるプログラム書き込み可能なＩＣカードの第６の実施形態を示すブロック図である。
【符号の説明】
１…ＩＣカード用マイクロプロセッサ、２…接続部、３…プログラムＲＯＭ、３Ａ…ＩＣカード機能プログラム、３Ｂ…暗号解読機能を備えた書き込み制御プログラム、４…書き込み用メモリ。
【図１】
0003931001.tif 000002
【図２】
0003931001.tif 000003
【図３】
0003931001.tif 000004
【図４】
0003931001.tif 000005
【図５】
0003931001.tif 000006
【図６】
0003931001.tif 000007