(57)【要約】【課題】記憶媒体のクラックを防止し、その記憶データを容易に無効化でき、安全・容易に運用継続でき、別のアプリケーションによるデータアクセスを防止する。【解決手段】各アプリケーション毎に、そのアプリケーション固有番号２００に基づき、第一鍵生成部２０１により第一鍵を生成し、更にこの第一鍵に基づき第二鍵生成部２０３により第二鍵を生成する。また、第一鍵はメモリデバイス１２０に格納する。各アプリケーションのユーザデータ２０４は、暗号化部２０５がそのアプリケーションに対応する第二鍵を用いて暗号化してメモリデバイス１２０に格納する。このユーザ暗号データ２０６は、復号化部２０７が第二鍵を用いて復号化できる。メモリデバイス１２０のデータを無効化したい場合には、その第一鍵を消去する。【選択図】図２
2009064126.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のＩＣカードシステムの各アプリケーションが動作する端末装置とこの端末装置に着脱可能で各アプリケーションに係るデータを記憶する記憶媒体から成るシステムであって、
前記端末装置は、前記各アプリケーション毎に、各アプリケーションの固有番号に基づいて第一鍵を生成して、該第一鍵を前記記憶媒体に記憶させる第一鍵生成手段と、
前記各アプリケーション毎に、前記第一鍵に基づいて所定の暗号化アルゴリズムにより第二鍵を生成する第二鍵生成手段と、
任意のアプリケーションが該アプリケーションに係るデータを前記記憶媒体に記憶する際に、該アプリケーションに対応する前記第二鍵を用いて該データを暗号化して、該暗号化データを前記記憶媒体に記憶させる暗号化手段と、
を有することを特徴とするＩＣカードシステム。
【請求項２】
任意の前記アプリケーションが前記記憶媒体に記憶されている任意の前記暗号化データを要求した場合、該暗号化データを前記記憶媒体から取得して、該要求元のアプリケーションに対応する前記第二鍵を用いて該暗号化データを復号化する復号化手段を更に有することを特徴とする請求項１記載のＩＣカードシステム。
【請求項３】
前記端末装置の運用を他の端末装置で継続する場合、該他の端末装置に記憶媒体を接続し、
該他の端末装置において、
該他の端末装置の前記第二鍵生成手段は、該接続された記憶媒体から前記第一鍵を取得して、該第一鍵に基づいて前記第二鍵を生成し、
該他の端末装置の前記復号化手段は、該生成された第二鍵を用いて、前記記憶媒体に記憶されている前記暗号化データを復号化することを特徴とする請求項２記載のＩＣカードシステム。
【請求項４】
前記端末装置は、所定の指示に応じて前記記憶媒体から前記第一鍵のみを消去するデータ無効化手段を更に有することを特徴とする請求項１〜３の何れかに記載のＩＣカードシステム。
【請求項５】
複数種類のＩＣカードシステムの各アプリケーションが動作する端末装置とこの端末装置に着脱可能で各アプリケーションに係るデータを記憶する記憶媒体から成るシステムにおける前記端末装置であって、
前記各アプリケーション毎に、各アプリケーションの固有番号に基づいて第一鍵を生成して、該第一鍵を前記記憶媒体に記憶させる第一鍵生成手段と、
前記各アプリケーション毎に、前記第一鍵に基づいて所定の暗号化アルゴリズムにより第二鍵を生成する第二鍵生成手段と、
任意のアプリケーションが該アプリケーションに係るデータを前記記憶媒体に記憶する際に、該アプリケーションに対応する前記第二鍵を用いて該データを暗号化して、該暗号化データを前記記憶媒体に記憶させる暗号化手段と、
を有することを特徴とする端末装置。
【請求項６】
任意の前記アプリケーションが前記記憶媒体に記憶されている任意の前記暗号化データを要求した場合、該暗号化データを前記記憶媒体から取得して、該要求元のアプリケーションに対応する前記第二鍵を用いて該暗号化データを復号化する復号化手段を更に有することを特徴とする請求項５記載の端末装置。
【請求項７】
複数種類のＩＣカードシステムの各アプリケーションが動作する端末装置とこの端末装
置に着脱可能で各アプリケーションに係るデータを記憶する記憶媒体から成るシステムにおける前記端末装置のコンピュータを、
前記各アプリケーション毎に、各アプリケーションの固有番号に基づいて第一鍵を生成して、該第一鍵を前記記憶媒体に記憶させる第一鍵生成手段と、
前記各アプリケーション毎に、前記第一鍵に基づいて所定の暗号化アルゴリズムにより第二鍵を生成する第二鍵生成手段と、
任意のアプリケーションが該アプリケーションに係るデータを前記記憶媒体に記憶する際に、該アプリケーションに対応する前記第二鍵を用いて該データを暗号化して、該暗号化データを前記記憶媒体に記憶させる暗号化手段、
として機能させる為のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数種類のＩＣカードシステムの各アプリケーションが動作する端末とこの端末に着脱可能なメモリデバイス等の記憶媒体から成るシステムに関する。
【背景技術】
【０００２】
近年、非接触式ＩＣカード（以下、ＩＣカードと記す）は、鉄道やバス、レジャー、流通、販売等の分野で広く普及しつつある。その中で、コンビニ等の商業施設（店舗）に設置する端末（ＩＣカードリーダ／ライタを有する情報処理端末；例えば電子マネー決済端末等）に関しては、任意のＩＣカード発行元事業者が提供する端末を店舗内に設置しているが、更なる顧客の囲い込みや、電子マネーシステム普及の為に、他のＩＣカード発行事業者の提供する端末をいくつも設置している場合もある。
【０００３】
ところが、複数台の端末を限られたスペースに設置することが困難である事や、端末の操作はＩＣカード発行事業者のＩＣカードシステムに依存する事などから、管理や操作を難しくしている為に、電子マネーシステム拡大の障壁の一つとされている。
【０００４】
そこで、これらの課題の解決策として、一つの端末で複数のＩＣカード発行事業者のＩＣカードシステムに対応する端末が提案されている。この様な端末では、複数のＩＣカード発行事業者の各ＩＣカードシステムの各アプリケーションが格納され、各顧客が提示するＩＣカードに対応するアプリケーションが実行される。
【０００５】
この様な複数のアプリケーションを実行できるように、上記端末は、メモリリソースの管理や、アプリケーションの実行権限の制御を行う基本プログラム（ＯＳ：オペレーティングシステム）を有しており、当該オペレーティングシステムは、各アプリケーションが個別に使用するメモリアクセスを制御し、他のアプリケーションからの参照や書き換えを禁止するなど、セキュリティ性を高めた機能を実現している。
【０００６】
上記メモリアクセスに係り各アプリケーションが個別に管理するデータは、主に売上げ情報や、センタの認証情報などであり、端末の運用時に必要な情報等が含まれている。このようなデータは、メモリデバイス（メモリカード、ＳＩＭカードのような端末に着脱可能な記憶媒体）に記憶され、万が一端末が故障したとき、記憶媒体を物理的に他の端末に移して運用を継続している。
【０００７】
また、運用が終了した端末の廃棄や、アプリケーションの削除をする場合は、記憶媒体に記憶している売上げ情報などを不正に解析されないように、その全メモリ領域にゼロを上書きして消去している。
【０００８】
しかし、全メモリ領域をゼロ化する処理は時間が掛かる為、メモリデバイス内部に廃棄フラグを設け、この廃棄フラグを真に設定する事で、ＯＳからのメモリアクセスを禁止するといった方法が提案されている（特許文献１）。
【特許文献１】特開２００５−１９６４１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述した従来技術のうち、全メモリ領域をゼロ化して消去する方法は、上記の通り、記憶媒体のメモリ容量が大きいほど、その処理時間も大きくなり、端末全体処理のオーバーヘッドが生じる可能性がある。一方、特許文献１のような、廃棄フラグを消去して、ＯＳ
からのアクセスを禁止し、データアクセスを禁止する方法は、データの実体を残存させるので、クラック（改ざん、破壊などにより盗み見る）される可能性が残る。
【００１０】
特に、上記端末故障時には、記憶媒体を用いて他の端末にデータを移す必要がある為、データ自体を消去できない反面、前述の通り、不正に読み出される事を防止する必要もあり、安全かつ容易に管理する必要がある。
【００１１】
本発明の課題は、複数種類のＩＣカードシステムの各アプリケーションが動作する端末とこの端末に着脱可能で各アプリケーションに係るデータを記憶する記憶媒体から成るシステムにおいて、記憶媒体が盗難にあった場合にもクラックを防止することができ、記憶媒体に記憶されたデータを容易に無効化でき、端末が故障した場合でも記憶媒体を介してデータを安全に他の端末に移して運用を継続することができ、あるいは上記記憶媒体における任意のアプリケーションに係るデータに対する別のアプリケーションによるデータアクセスを防止するＩＣカードシステム、そのプログラム等を提供することである。
【課題を解決するための手段】
【００１２】
本発明のＩＣカードシステムは、複数種類のＩＣカードシステムの各アプリケーションが動作する端末装置とこの端末装置に着脱可能で各アプリケーションに係るデータを記憶する記憶媒体から成るシステムであって、前記端末装置は、前記各アプリケーション毎に、各アプリケーションの固有番号に基づいて第一鍵を生成して、該第一鍵を前記記憶媒体に記憶させる第一鍵生成手段と、前記各アプリケーション毎に、前記第一鍵に基づいて所定の暗号化アルゴリズムにより第二鍵を生成する第二鍵生成手段と、任意のアプリケーションが該アプリケーションに係るデータを前記記憶媒体に記憶する際に、該アプリケーションに対応する前記第二鍵を用いて該データを暗号化して、該暗号化データを前記記憶媒体に記憶させる暗号化手段とを有する。
【００１３】
上記構成によれば、記憶媒体には第一鍵と暗号化データのみが格納され、この暗号化データを復号化できる第二鍵は格納されないので、記憶媒体が盗難にあった場合にもクラックを防止することができる。
【００１４】
また、第二鍵は各アプリケーション個別に生成・使用されるので、任意のアプリケーションに係るデータの内容を他のアプリケーションが見ること（その暗号化データを復号化すること）はできない。
【００１５】
尚、上記第二鍵は、上記暗号化データの復号化にも用いられる。すなわち、上記端末装置は、例えば更に、任意の前記アプリケーションが前記記憶媒体に記憶されている任意の前記暗号化データを要求した場合、該暗号化データを前記記憶媒体から取得して、該要求元のアプリケーションに対応する前記第二鍵を用いて該暗号化データを復号化する復号化手段を有する。
【００１６】
また、例えば、前記端末装置の運用を他の端末装置で継続する場合、該他の端末装置に前記記憶媒体を接続し、該他の端末装置において、該他の端末装置の前記第二鍵生成手段は、該接続された記憶媒体から前記第一鍵を取得して、該第一鍵に基づいて前記第二鍵を生成し、該他の端末装置の前記復号化手段は、該生成された第二鍵を用いて、前記記憶媒体に記憶されている前記暗号化データを復号化する。
【００１７】
例えば、前記端末装置が故障した場合等に、上記暗号化データと第一鍵とを記憶した記憶媒体を用いて安全に、上記各アプリケーションに係るデータを他の端末装置に移すことができる。尚、上記第二鍵生成の為の暗号化アルゴリズムは、他の端末装置においても故障した端末装置と同じものが格納されている。よって、記憶媒体に記憶されている第一鍵
を用いれば、同じ第二鍵を生成でき、暗号化データを復号化できる。
【００１８】
また、例えば、前記端末装置は、所定の指示に応じて前記記憶媒体から前記第一鍵のみを消去するデータ無効化手段を更に有する。
第一鍵が無くなれば第二鍵は生成できないので、前記暗号化データを復号化することはできなくなる。よって、記憶媒体から第一鍵を消去するだけで記憶媒体に記憶されたデータを容易に無効化でき、記憶媒体の記憶データを全消去する必要はなくなり、処理時間を短縮でき処理負荷を軽減できる。
【発明の効果】
【００１９】
本発明のＩＣカードシステム、そのプログラム等によれば、複数種類のＩＣカードシステムの各アプリケーションが動作する端末とこの端末に着脱可能で各アプリケーションに係るデータを記憶する記憶媒体から成るシステムにおいて、記憶媒体が盗難にあった場合にもクラックを防止することができる。また、記憶媒体に記憶されたデータを容易に無効化できる。また、端末が故障した場合でも記憶媒体を介してデータを安全に他の端末に移して運用を継続することができる。あるいは上記記憶媒体における任意のアプリケーションに係るデータに対する別のアプリケーションによるデータアクセスを防止できる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本例の端末装置の機能ブロック図である。
図示の例の端末装置１００は、複数のアプリケーションプログラム１０１，１０２，１０３、サブシステム１０４、デバイスドライバ１０５、ＯＳ（オペレーティングシステム）１０６の各種ソフトウェアを、不図示の記憶装置（ハードディスク）に格納している。また、例えば、上記各アプリケーションプログラム１０１〜１０３の各々に割り当てられた記憶領域（図示のメモリ領域ａ１１３、メモリ領域ｂ１１４、メモリ領域ｃ１１５）を有する内部メモリ１０７を備えている。
【００２１】
サブシステム１０４は、各アプリケーション１０１〜１０３からのアクセスを受付ける。
サブシステム１０４は、耐タンパ機能を有するセキュリティ制御部１０９を備え、各アプリケーション１０１〜１０３からのメモリアクセス要求に応じて、内部メモリ１０７におけるそのアプリケーション用のメモリ領域やメモリデバイス１２０へのアクセス権限チェックを行う。
【００２２】
このセキュリティ制御部１０９が、本発明のメインの特徴部分に相当するものであり、その詳細については後に図２を参照して説明するものとする。
上記のことから、図１に示す構成のうちセキュリティ制御部１０９以外の他の構成は、既存の構成と略同様であってよいので、これらについては以下に簡単に説明するのみとする。
【００２３】
まず、複数のアプリケーションプログラム１０１、１０２、１０３は、上記従来で説明した複数のＩＣカード発行事業者のＩＣカードシステムに対応する各種アプリケーションである。尚、これら各アプリケーションは、不図示のセンタ装置との通信や、不図示の任意の外部接続機器により、追加や削除を行うことができる。
【００２４】
内部メモリ１１３には、各アプリケーションプログラム１０１〜１０３が個別に管理するデータが格納される各メモリ領域ａ１１３，メモリ領域ｂ１１４，メモリ領域ｃ１１５が設けられている。例えば、アプリケーションプログラム１０１に対してはメモリ領域ａ１１３が割り当てられている。他のアプリケーション１０２、１０３についても同様に、
メモリ領域ｂ１１４、メモリ領域ｃ１１５が割り当てられている。
【００２５】
上記各アプリケーションプログラム１０１〜１０３が個別に管理するデータとは、従来技術で説明したように、主に売上げ情報や、センタの認証情報などであり、端末装置の運用時に必要な情報等が含まれている。尚、以下、この様なデータをユーザデータ（後述するユーザデータ２０４等）と呼ぶ。
【００２６】
各アプリケーションプログラム１０１〜１０３は、サブシステム１０４のセキュリティ制御部１０９、デバイスドライバ１０５のメモリＩ／Ｆ１１０、及びＯＳ１０６のメモリリソース管理部１１２を介して、内部メモリ１１３において自己に割り当てられている記憶領域にアクセスして、上記ユーザデータのリード／ライト等を行う。
【００２７】
あるいは、各アプリケーションプログラム１０１〜１０３は、サブシステム１０４のセキュリティ制御部１０９、及びデバイスドライバ１０５のメモリカードＩ／Ｆ１１１を介して、外部のメモリデバイス１２０のメモリ１２１内の所定の記憶領域（図示のメモリ領域ａ，ｂ，ｃの何れか）に、上記自己のユーザデータを記憶させ、又は記憶させたユーザデータを読み出す。
【００２８】
メモリデバイス１２０は、上記従来技術で説明した、メモリカード、ＳＩＭカードのような端末装置１００に着脱可能な記憶媒体であり、主に、万が一端末装置１００が故障した場合に、上記ユーザデータを他の端末装置１００に移して運用を継続させる為のものである。尚、ここでは、メモリデバイス１２０は、一例としてメモリカードであるものとして説明するものとする（よって、上記メモリカードＩ／Ｆ１１１を介してアクセスすることになる）。
【００２９】
デバイスドライバ１０５は、上述したメモリＩ／Ｆ１１０とメモリカードＩ／Ｆ１１１を備え、各アプリケーション１０１〜１０３やＯＳ（オペレーティングシステム）１０６からの内部メモリ１０７やメモリデバイス１２０へのアクセスに関するインタフェース制御を行う。
【００３０】
ＯＳ（オペレーティングシステム）１０６は、メモリリソース管理１１２を備え、基本プログラムによる端末装置１００全体の制御や、内部メモリ１０７のリソース管理を行う。
【００３１】
内部メモリ１０７は、上記の通り、各アプリケーション１０１〜１０３毎に割り当てられる記憶領域であるメモリ領域ａ１１３〜メモリ領域ｃ１１５を備えており、各アプリケーション毎の個別のユーザデータが保持される。
【００３２】
尚、任意のアプリケーションに対して割り当てられているメモリ領域に別のアプリケーションがデータアクセスすることが無いように、ＯＳ１０６のメモリリソース管理１１２がアクセス権限のチェックを行っており、これによってアプリケーション間のデータの独立性を確保している。
【００３３】
図２は、上記セキュリティ制御部１０９の構成・動作を説明する為のブロック図である。
図示のセキュリティ制御部１０９は、第一鍵生成部２０１、第二鍵生成部２０３、暗号化部２０５、及び復号化部２０７の各機能部を有する。
【００３４】
これら各機能部による以下に説明する処理は、端末装置１００が備える不図示のＣＰＵ等の中央処理装置（演算処理プロセッサ）が、不図示の記憶装置（フラッシュメモリ、ハ
ードディスク等）に記憶されている所定のアプリケーションプログラム（上記アプリケーション１０１〜１０３とは別のアプリケーション）を読み出し・実行することにより実現される。
【００３５】
以下、上記セキュリティ制御部１０９の動作をメインに、端末装置１００の動作について概略的に説明し、その後に更に詳しく説明するものとする。
概略的には、端末装置１００は、各アプリケーション１０１〜１０３毎に、そのアプリケーション固有番号を元に第一鍵生成部２０１が生成・出力した鍵（第一鍵）を、メモリデバイス１２０内に保持させる。更に、この第一鍵をもとに第二鍵生成部２０３により新たな鍵（第二鍵）を生成する。そして、暗号化部２０５がこの第二鍵を用いてユーザデータ２０４を暗号化し、この暗号化データをメモリデバイス１２０内に保持させる。その後、メモリデバイス１２０内に保持させたユーザデータ（但し上記の通り暗号化されている）を利用したい場合には、復号化部２０７が上記第二鍵を用いて暗号化データを復号化する。
【００３６】
このようにすると、メモリデバイス１２０のような端末装置１００から取り外し可能な記憶媒体を用いる場合であっても、メモリデバイス１２０内のデータのクラック（改ざん、破壊などにより盗み見る）を防止する事ができる。また、複数のアプリケーションが動作する環境で、他のアプリケーションが共有メモリであるメモリデバイス１２０内のデータを不用意にアクセスしても、その内容を解読できないようにする事ができる。さらに端末装置１００の廃棄などで不要となったメモリデバイス１２０は、メモリデバイス１２０内部の暗号鍵（第一鍵）を消去する事でメモリデバイス１２０内のデータを容易に無効化する事ができる。
【００３７】
但し、第一鍵は、本手法では暗号化／復号化の為の鍵として用いる必要性はないので、必ずしも“暗号鍵”である必要はない。例えば後述する図２の例では、アプリケーション固有番号２００を、何らかのアルゴリズムにより変換すればよい。
【００３８】
以下、図１に示す各アプリケーションのうち、アプリケーション１０１が新規登録された場合を例にして、更に詳細に説明するものとする。
まず、アプリケーション１０１に関して第一鍵と第二鍵を生成・記憶する処理手順を説明する。
【００３９】
まず、アプリケーション１０１は、不図示の任意のセンタ装置からネットワークを介してダウンロードされることで（あるいは、外部接続機器からの通信によって）、そのアプリケーション固有番号２００と共に端末装置１００内に登録される。この時のアプリケーション固有番号は、センタ装置もしくは上位接続機器により、アプリケーション毎に違う数値が割り振られる事とする。これは、メモリデバイス１２０に格納する第一鍵をアプリケーション毎に異なるもとする為である。
【００４０】
そして、セキュリティ制御部１０９の第一鍵生成部２０１は、上記新たに登録されたアプリケーション（ここではアプリケーション１０１）のアプリケーション固有番号２００を取得して、これに基づいて上記第一鍵を生成して、この第一鍵をメモリデバイス１２０に記憶させる。すなわち、第一鍵生成部２０１は、取得したアプリケーション固有番号２００に対して予め実装している暗号アルゴリズムを用いて暗号化を行うことで第一鍵２０２を生成する。そして、この第一鍵２０２を、メモリカードＩ／Ｆ１０５を介して、メモリデバイス１２０に登録する。その際、第一鍵２０２にアプリケーション１０１の識別情報を対応付けて登録することが望ましい。
【００４１】
上記第一鍵生成の為の暗号アルゴリズムは、一般的な暗号手段であるDES暗号、トリプ
ルDES暗号やAES暗号等の共通鍵暗号方式を用いてよく、あるいはこれら既存の共通鍵暗号方式を組合せて暗号化しても良い。
【００４２】
続いて、セキュリティ制御部１０９の第二鍵生成部２０３は、メモリデバイス１２０に記憶した第一鍵２０２をメモリカードＩ／Ｆ１０５経由で読取って（あるいは第一鍵生成部２０１が生成した第一鍵を直接取得して）、この第一鍵２０２に基づいて専用の暗号アルゴリズムで第二鍵２０８を生成する。この暗号アルゴリズムは、第一鍵生成の場合と同様、一般的な暗号化アルゴリズムを用いてよい。そして、生成した第二鍵２０８に上記アプリケーション１０１の識別情報を対応付けて記憶する。
【００４３】
尚、ここではアプリケーション１０１のみ示すが、例えば図１に示す例では他のアプリケーション１０２、１０３についても同様にして第二鍵２０８を生成して、これらアプリケーション１０２、１０３の識別情報に対応付けて記憶する。勿論、第一鍵２０２に関しても上記アプリケーション１０１の場合と同様に生成してメモリデバイス１２０に格納する。
【００４４】
尚、上記識別情報とは、セキュリティ制御部１０９等がアプリケーション１０１、１０２、１０３を識別する為に用いる情報であり、アプリケーション固有番号２００であってもよいが、ここではアプリケーション固有番号２００とは別の識別用の情報であるものとして説明する。すなわち、例えば、任意の同一のアプリケーションＡを、不図示の２つの端末装置１００Ａ、１００Ｂに格納する場合、これら各アプリケーションＡは、識別情報は同一であるが、アプリケーション固有番号は異なることになる。
【００４５】
上述したように第二鍵２０８を生成・記憶したら、その後、任意のアプリケーション実行中にメモリデバイス１２０へのアクセス要求が発生した場合、暗号化部２０５又は復号化部２０７は、上記識別情報によりアクセス要求元のアプリケーションに対応する第二鍵２０８を取得し、この第二鍵２０８を用いて暗号化又は復号化処理を行う。
【００４６】
ここでは、アクセス要求元はアプリケーション１０１であるものとして説明する。
上記アクセス要求がデータライト要求である場合、すなわち要求元のアプリケーション１０１の処理に係る任意のユーザデータ２０４を、メモリデバイス１２０に記憶する場合は、暗号化部２０５は、上記の通り、当該アプリケーション１０１に対応する第二鍵２０８を用いて、上記ユーザデータ２０４の暗号化を行ってユーザ暗号データ２０６を生成する。そして、このユーザ暗号データ２０６をメモリカードＩ／Ｆ１０５を経由してメモリデバイス１２０へ格納する。
【００４７】
また、上記アクセス要求がデータリード要求である場合には、復号化部２０７は、メモリカードＩ／Ｆ１０５を介してメモリデバイス１２０から、要求されたユーザ暗号データ２０６を読み出して、上記暗号化部２０５の場合と同様に、当該アプリケーション１０１に対応する第二鍵２０８を用いてユーザ暗号データ２０６を復号化することで、要求されたユーザデータを取得して、これを要求元のアプリケーションへ渡す。
【００４８】
ここで、もし、他のアプリケーションが当該アプリケーション１０１に係るユーザデータを読み出そうとしても、復号化部２０７は、当該他のアプリケーションに対応する第二鍵２０８を用いて復号化処理を行おうとするので、ユーザ暗号データ２０６を復号化することはできない。
【００４９】
また、上記第二鍵２０８を生成する暗号アルゴリズムは、全ての端末装置１００で同じものである。従って、同じ第一鍵２０２に基づけば同じ第二鍵２０８が生成されることになる。基本的に、全ての端末装置１００が図１、図２に示す構成、機能を有している。
【００５０】
すなわち、任意の端末装置１００が故障する等した場合であって、この端末装置１００の運用を他の端末装置１００で継続する場合には、この故障した端末装置１００で使用していたメモリデバイス１２０を他の端末装置１００に接続する。そして、例えば、ユーザ等が、当該他の端末装置１００において予め決められている所定の指示操作（継続指示等）を行う。これより、他の端末装置１００の第二鍵生成部２０３は、当該接続されたメモリデバイス１２０に記憶されている第一鍵２０２を取得して、故障した端末装置１００と同一の暗号アルゴリズムによって、この第一鍵２０２から第二鍵２０８を生成する。当然、この第二鍵２０８は、メモリデバイス１２０に記憶されているユーザ暗号データ２０６を復号化できるものであるので、ユーザデータ２０４を取得することができ、運用を継続することができる。
【００５１】
尚、上記の通り、メモリデバイス１２０には、複数のアプリケーション１０１〜１０３各々に対応する第一鍵２０２が格納されているが、どの第一鍵２０２がどのアプリケーションに対応するかについては、上記の通り各第一鍵２０２に対応付けて記憶されている上記識別情報に基づいて判定できる。尚、この例に限らず、各第一鍵２０２を格納する記憶領域が、各アプリケーション毎に決まっているようにしてもよいまた、上記のように生成した第二鍵２０８は、生成元となる第一鍵２０２に対応付けられていた上記識別情報に対応付けて記憶される。
【００５２】
尚、メモリデバイス１２０は端末装置１００に着脱可能である故に、メモリデバイス１２０に記憶されているデータが改ざんされる恐れがあることから、データに一方向関数等を使用して署名コードを付加しておき、復号化を行う際に改ざんチェックを行う機能を更に設けても良い。
【００５３】
また、尚、第二鍵２０８は、上記のように予め生成して記憶しておく例に限らない。例えば、任意のアプリケーション実行中にメモリデバイス１２０へのアクセス要求が発生する毎に、このアクセス要求元のアプリケーションに対応する第二鍵２０８を生成して（その際、第一鍵２０８も逐一生成してもよいし、メモリデバイス１２０から取得してもよい）、生成した第二鍵２０８を用いて暗号化又は復号化処理を行うようにしてもよい。当然、暗号化又は復号化処理を実行完了したら、生成した第二鍵２０８を消去する。万が一、第二鍵２０８が盗まれたら、メモリデバイス１２０に記憶したユーザ暗号データ２０６が復号されてしまう可能性があるので、必要なときのみ第二鍵２０８を生成するようにすることで、安全性を向上させるようにしてもよい。
【００５４】
尚、特に図示しないが、端末１００は、所定の指示（メモリデータ無効化指示；例えばユーザが入力）を受けると、メモリデバイス１２０のメモリ２０１上から、第一鍵２０２のみを消去する処理を実行するメモリデータ無効化部も備えている。尚、第一鍵２０２の記憶領域は予め決められているものとする。このメモリデータ無効化部も、図２に示す各機能部と同様、端末装置１００内の不図示のＣＰＵが所定のアプリケーションを実行することにより実現される。
【００５５】
上記のような構成や方法を用いると、複数のアプリケーション１０１〜１０３が動作する端末装置１００である場合でも、任意のアプリケーションに係るデータの内容を、他のアプリケーションが知る事はできない。すなわち、上記の通り、任意のアプリケーションがメモリデバイス１２０から他のアプリケーションのユーザ暗号データ２０６を取得しても、これを復号化できないので、他のアプリケーションのユーザデータ２０４を得ることはできない。
【００５６】
このように、複数のアプリケーションが動作する環境で、任意のアプリケーションが共
有メモリであるメモリデバイス１２０内の他のアプリケーションのデータに不用意にアクセスしても、そのデータは当該他のアプリケーション固有の暗号鍵で暗号化されているため、データを守る事ができる（他のアプリケーションからの参照や書き換えを防止できる）。
【００５７】
また、メモリデバイス１２０を盗まれ、メモリデバイス１２０内のデータを盗み見ても、メモリデバイス１２０内にユーザ暗号データ２０６と共に記憶されている第一鍵は、当該ユーザ暗号データ２０６を復号化する事ができないことから、万が一盗難に遭った場合でもクラックを防止する事ができる。
【００５８】
また、アプリケーションプログラムの削除や、端末装置１００を廃棄する場合は、メモリデバイス１２０に記憶している第一鍵２０２を削除する事で、ユーザ暗号データ２０６を解読不能にする事ができるので、メモリデバイス１２０の全領域を消去するよりも効率的である。
【００５９】
この様に、端末装置１００の廃棄などで不要となったメモリデバイス１２０は、メモリデバイス１２０内部の鍵を消去するだけでデータを容易に無効化する事ができるので、削除処理に係る端末装置１００の処理負担を大幅に軽減することができる。
【００６０】
さらに、端末装置１００に着脱可能なメモリデバイス１２０に第一鍵２０２とユーザ暗号データ２０６を登録しておくことで、端末装置１００が故障した場合に、メモリデバイス１２０を、別の端末装置１００に接続するだけで、この別の端末装置１００の第二鍵生成部２０３が、メモリデバイス１２０内の第一鍵２０２に基づいて第二鍵２０８を生成するので、メモリデバイス１２０内のユーザ暗号データ２０６の復号化が可能となり、容易に運用を継続することが出来る。当然、その後、生成した第二鍵２０８を用いて、ユーザデータ２０４の暗号化を行うこともできる。
【００６１】
尚、上記生成した第二鍵２０８は、その生成に用いた第一鍵２０２に対応する識別情報に対応付けて記憶される。よって、各ユーザ暗号データ２０６は、故障した端末装置１００においてそのユーザ暗号データ２０６を記憶させたアプリケーションと同じアプリケーションのみが復号化できる。
【００６２】
この様に、運用している端末装置１００が万が一故障した場合でも、メモリデバイス１２０上のデータを守りながら、このメモリデバイス１２０を別の端末装置１００に物理的に移して、安全に運用を継続するようにできる。
【００６３】
最後に、図３に、上記端末装置１００の概略的なハードウェア構成の一例を示しておく。
図３に示す例では、端末装置１００は、ＣＰＵ３０１、メモリ３０２、記憶装置３０３、入力装置３０４、メモリカードスロット３０５等を有する。メモリデバイス１２０（ここでは上記の通りメモリカード）は、メモリカードスロット３０５に着脱可能である。また、端末装置１００は、基本的に、ＩＣカード発行事業者のＩＣカードシステムに対応する端末であるので、図示の通り、ＩＣカード・リーダ／ライタ１０を備えている。
【００６４】
記憶装置３０３は、上述した各種アプリケーション１０１〜１０３、デバイスドライバ１０５、ＯＳ１０６等の各種ソフトウェアや、セキュリティ制御部１０９の機能（その第一鍵生成部２０１、第二鍵生成部２０３、暗号化部２０５、及び復号化部２０７の各機能部）を実現させる所定のアプリケーションプログラムを格納するフラッシュメモリ、ハードディスク等である。また、記憶装置３０３には、上記生成した各第二鍵を格納してもよい。
【００６５】
ＣＰＵ３０１は、記憶装置３０３に記憶されている上記各種ソフトウェアや所定のアプリケーションプログラムを、メモリ３０２上に読み出して実行することにより、上述した各種処理・機能を実現する。特に、セキュリティ制御部１０９の機能（その第一鍵生成部２０１、第二鍵生成部２０３、暗号化部２０５、及び復号化部２０７の各機能部の上述した各種処理機能）を実現させる。
【００６６】
尚、メモリ３０２は、上記内部メモリ１０７に相当するものとしてもよい。
また、記憶装置３０３やメモリ３０２は、耐タンパ機能により保護されていることが望ましい。
【００６７】
また、入力装置３０４はキーボード／マウス等であり、ユーザ等が上述した所定の指示操作（継続指示、メモリデータ無効化指示等）を行う際に使用されるものである。
【図面の簡単な説明】
【００６８】
【図１】本例の端末装置の機能ブロック図である。
【図２】図１に示すセキュリティ制御部の構成・動作を説明する為のブロック図である。
【図３】端末装置のハードウェア構成例である。
【符号の説明】
【００６９】
１０１，１０２，１０３  アプリケーションプログラム
１０４  サブシステム
１０５  デバイスドライバ
１０６  ＯＳ
１０７  内部メモリ
１０９  セキュリティ制御部
１１０  メモリＩ／Ｆ
１１１  メモリカードＩ／Ｆ
１１２  メモリリソース管理部
１１３  メモリ領域ａ
１１４  メモリ領域ｂ
１１５  メモリ領域ｃ
１２０  メモリデバイス
１２１  メモリ
２００  アプリケーション固有番号
２０１  第一鍵生成部
２０２  第一鍵
２０３  第二鍵生成部
２０４  ユーザデータ
２０５  暗号化部
２０６  ユーザ暗号データ
２０７  復号化部
２０８  第二鍵
【図１】
2009064126.tif 000003
【図２】
2009064126.tif 000004
【図３】
2009064126.tif 000005