ICカードシステム、その情報処理端末、プログラム
【課題】秘密情報を管理するセンタ等が故障等した場合でも運用に支障をきたすことなく、且つ秘密情報が漏洩する可能性を極めて低くすることができる。
【解決手段】各端末10の耐タンパメモリは、秘密情報Pを秘密分散法により分割して成る複数の分割情報P1、P2、P3の1つを、それぞれ、記憶させておく。そして、例えば各端末10の起動時に、他の端末10が保持している分割情報を取得して、取得した分割情報と自己が保持している分割情報とを用いて、秘密情報Pを生成(復元)する。その際、全ての分割情報を取得できなくてもよい(例えばP1とP2のみでも生成可能)。生成した秘密情報Pは揮発性メモリに記憶し、電源OFFにより消去されるようにする。
【解決手段】各端末10の耐タンパメモリは、秘密情報Pを秘密分散法により分割して成る複数の分割情報P1、P2、P3の1つを、それぞれ、記憶させておく。そして、例えば各端末10の起動時に、他の端末10が保持している分割情報を取得して、取得した分割情報と自己が保持している分割情報とを用いて、秘密情報Pを生成(復元)する。その際、全ての分割情報を取得できなくてもよい(例えばP1とP2のみでも生成可能)。生成した秘密情報Pは揮発性メモリに記憶し、電源OFFにより消去されるようにする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカードを利用したシステムに関する。
【背景技術】
【0002】
今日、ICカードを利用した様々なシステムが構築されている。ICカードシステムの一例として、例えば、電車やバスなどの公共交通手段や、各種商店等において、ICカード(非接触型又は接触型のICカード;以下特に区別せずにICカードと記す)を用いた、電子マネーを使用する、キャッシュレス決済システム(電子マネーシステム)が導入されている。このようなシステムでは、ICカードへの入金処理や、利用額の差引き処理等の、ICカードへの各種アクセス処理を、ICカードR/W(リーダ/ライタ)を有する決済端末が行なっている。
【0003】
上記の様なICカードを利用したシステム(以下、ICカードシステムと呼ぶ)では、ICカードにアクセスする際に必要となる秘密情報(暗号鍵など)が重要である。この秘密情報が漏洩すると、ICカード内のデータの書き換えを行うことが可能となってしまう。例えば、ICカード内の電子マネー情報を書き換えることで、不正利用が可能となる。そこで、このようなシステムでは、秘密情報をいかに守るかということが重要となる。
【0004】
従来のICカードを利用したシステムでは、例えば各店舗のレジ横等に設置される、ICカード・リーダ/ライタを備える多数の端末(電子マネー決済用端末等)が、各々、その運用開始(電源投入)時にオンラインでセンタ(サーバ等)から秘密情報を取得し、取得した秘密情報を揮発性のメモリに記憶して使用し、運用終了(電源切断)時に秘密情報を消していた。このようにすることで、端末が盗難された場合でも、端末内に秘密情報は残っていないため、秘密情報の漏洩を防いでいた。(特許文献1)
また、特許文献2に記載の従来技術では、秘密情報(ここでは、通信暗号鍵のこと)を耐タンパメモリに保管すると共に、秘密情報をバックアップファイルに格納し、そのバックアップファイルを暗号化する秘密情報(ここでは、ファイルの暗号鍵のこと)を秘密分散法を用いて、複数の分割情報に分割し、複数の耐タンパメモリに保管している。
【特許文献1】特開2004−295502号公報
【特許文献2】特開2001−103045号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、上記従来の特許文献1の方法では、端末がオンラインで秘密情報を取得できない場合には、運用を行うことができない。つまり、秘密情報を管理するセンタ等の故障などが発生した場合に、運用に支障をきたすこととなる。そのため、端末がオンラインで秘密情報を取得できない場合にも運用を行うことが可能なシステムにすることが望ましい。
【0006】
また、特許文献2の発明では、秘密情報(ここでは、通信暗号鍵のこと)自体が保管されている(保管場所は耐タンパメモリではあるが)。秘密情報の漏洩の危険性を考慮した場合、秘密情報自体は保管されていないことが望ましい。
【0007】
本発明の課題は、秘密情報を管理するセンタ等が故障等した場合でも運用に支障をきたすことなく、且つICカードへのアクセス処理に必要な秘密情報が漏洩する可能性を極めて低くすることができるICカードシステム、その端末、プログラム等を提供することである。
【課題を解決するための手段】
【0008】
本発明のICカードシステムは、秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムであって、前記各情報処理端末は、前記秘密情報を秘密分散法により分割してなる複数の分割情報のうちの1つを記憶する分割情報記憶手段と、起動する毎に、前記第1のネットワークを介して、他の各情報処理端末にアクセスして、該他の情報処理端末内の前記分割情報記憶手段に記憶されている分割情報を取得する分割情報取得手段と、前記分割情報取得手段で取得した分割情報の数が所定数以上となった場合、該取得した分割情報と自端末内の前記分割情報記憶手段に記憶している分割情報とを用いて、前記秘密分散法により前記秘密情報を生成して、該生成した秘密情報を揮発性記憶手段に記憶する秘密情報生成・記憶手段とを有する。
【0009】
上記構成では、各情報処理端末は、各々、複数の分割情報の1つを保管しており、必要になる都度、他の端末が保管している分割情報を取得して、秘密情報を生成する。秘密情報は揮発性メモリ等に記憶されるので、電源OFFにより消去される。端末が盗まれることで分割情報が漏洩する可能性はあるが、秘密情報が漏洩することはない。
【0010】
前記分割情報記憶手段は耐タンパメモリであることが望ましい。これによって安全性が向上する。但し、絶対に安全とは限らないので、耐タンパメモリに秘密情報を格納する構成とした場合、秘密情報が漏洩する危険性があったが、上記の通り、耐タンパメモリには分割情報の1つが格納されるだけであり、万が一漏洩しても問題ない。
【0011】
上記ICカードシステムにおいて、例えば、前記各情報処理端末は、更に、定期的に又は任意のときに、第2のネットワークを介して前記センタ装置とアクセスして該センタ装置が管理する秘密情報を取得する秘密情報取得手段と、該秘密情報取得手段により取得した秘密情報を秘密分散法を用いて分割して、複数の分割情報を生成する分割情報生成手段と、該分割情報生成手段により生成された複数の分割情報の1つを自端末内の前記分割情報記憶手段に上書き記憶すると共に、他の分割情報を前記第1のネットワークに接続されている他の情報処理端末にそれぞれ前記第1のネットワークを介して配信して、各々の前記分割情報記憶手段に該他の分割情報の1つを上書き記憶させ、該他の情報処理端末に配信した分割情報は自端末から消去する分割情報配信手段とを有する。
【0012】
センタ装置で管理される秘密情報は、更新(バージョンアップ等)される場合があるが、例えば定期的に上記処理を行うことで、最新版の秘密情報に対応する分割情報を生成して各端末に記憶させることができる。
【0013】
また、前記分割情報生成手段で生成する分割情報の数は、前記第1のネットワークに接続されている前記情報処理端末の数と同数とし、各情報処理端末には各々異なる分割情報を記憶させるようにしてもよい。
【0014】
また、上記ICカードシステムにおいて、例えば、前記第1のネットワークに新規の情報処理端末が導入された場合、該新規の情報処理端末は該第1のネットワークを介して既存の前記情報処理端末に対して新規導入通知を送信し、前記既存の情報処理端末は、該新規導入通知を受信すると、前記新規の情報処理端末に対して前記揮発性記憶手段に記憶されている前記秘密情報を送信して記憶させ、更に、前記分割情報生成手段が、前記揮発性記憶手段に記憶されている前記秘密情報を、前記秘密分散法を用いて、該新規の情報処理端末も含めて前記第1のネットワークに接続している情報処理端末の台数に応じて分割することで、新たな複数の分割情報を生成し、前記分割情報配信手段は、該分割情報生成手段により生成された新たな複数の分割情報の1つを自端末内の前記分割情報記憶手段に上書き記憶すると共に、前記第1のネットワークに接続されている、前記新規の情報処理端
末も含めた他の情報処理端末に対して、他の新たな分割情報をそれぞれ前記第1のネットワークを介して配信して、各々の前記分割情報記憶手段に前記新たな分割情報の1つを上書き記憶させ、該他の情報処理端末に配信した新たな分割情報は自端末から消去するようにしてもよい。
【0015】
上記構成によれば、新規の情報処理端末が導入された場合でも、自動的にこれに対応した新たな分割情報を生成して各端末に保管させ、問題なく運用を行うことができる。
【発明の効果】
【0016】
本発明のICカードシステム、その端末、プログラム等によれば、秘密情報を管理するセンタ等が故障等した場合でも運用に支障をきたすことなく、且つICカードへのアクセス処理に必要な秘密情報が漏洩する可能性を極めて低くすることができる。すなわち、秘密情報は秘密分散法により分割されて分割情報として各端末に記憶されており、決済端末等の端末が盗難された場合でも、端末内には秘密情報が保管されていないため、秘密情報が漏洩することはない。また、端末が故障や盗難された場合においても、システム内に所定数以上の端末があれば、運用を行うことが可能である。また、当然、逐一センタ装置から秘密情報を取得する必要はなく、センタ装置が故障した場合でも問題ない。
【発明を実施するための最良の形態】
【0017】
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本例のICカードシステム全体の構成の一例を示す図である。
図1に示すICカードシステムにおいて、秘密情報配信センタ1は、秘密情報を保管し、要求に応じて、秘密情報の配信を行うサーバ等である。尚、秘密情報配信センタ1で管理している秘密情報は、更新(バージョンアップ等)される場合があり、更新された場合には、各端末10は、出来るだけ速やかに更新版の秘密情報を取得して、更新版の秘密情報を用いてICカードへのアクセス処理を行う必要がある。尚、秘密情報は、従来で説明した通り、ICカードへのアクセス処理に必要となる暗号鍵等である。
【0018】
尚、ここでいう“ICカード”とは、ICカードに限らず、例えばICカード機能搭載の携帯電話等も含むものとする。
また、各店舗毎に複数の端末10が設けられており(図では店舗aのみ示すが、他の店舗も同様である)、各端末10(ここでは端末A〜C)は、内部ネットワーク4(LAN等)に接続されており、ネットワーク4を介して相互にデータ送受信可能となっている。
【0019】
尚、以下の説明では、1店舗を1グループとして、グループ内で各端末10に後述する分割情報を分散記憶すると共に、グループ内で互いに他の端末10の分割情報を取得して秘密情報を生成(復元)する処理を行うが、当該グループ分けは、店舗単位で行う例に限らず、任意であってよく、例えば地域単位としてもよいし、あるいは店舗内に複数のグループがあってもよい。
【0020】
また、各店舗にはルータ3が設置されており、ルータ3は、上記ネットワーク4及びネットワーク2(公衆回線網、インターネット)に接続している。これより、各端末10は、ルータ3を介して外部の情報処理装置(特に秘密情報配信センタ1)と通信可能となっている。
【0021】
端末10(端末A〜端末C等)は、例えば店舗内のレジの隣等に置かれている、ICカードリーダ/ライタを備える既存の情報処理端末(決済端末等)であり、特にICカードとの通信制御ユニットである。従来より、このような情報処理端末(端末10)は、耐タンパメモリを有している。尚、耐タンパメモリとは、所謂耐タンパ技術が適用されたメモリ(耐タンパ性を有するメモリ)であり、その内容を読み出す為の外部からの物理的な攻
撃に対して保護されたメモリである。
【0022】
図2は、上記端末10のハードウェア構成図である。
図示の端末10は、主制御部11(CPU等)、記憶装置(不揮発性)12、記憶装置13(揮発性)、記憶装置14(耐タンパメモリ)、通信制御部(対主局)15、通信制御部16、通信制御部(対カード)17、及びR/W(リーダライタ)18等から成り、図示の通り主局(上位コントローラ)20に接続すると共に、ネットワーク4に接続している。
【0023】
主制御部11(CPU等)は、当該端末10全体を制御する中央処理装置である。
記憶装置(不揮発性)12は、例えばフラッシュメモリ等の不揮発性のメモリ等であり、例えば後述する図4〜図6、図8、図9、図11、図12のフローチャートに示す端末10の処理や、後述する秘密分散法による分割情報/秘密情報の生成処理を、主制御部11(CPU等)により実行させる為の所定のアプリケーションプログラム/データが記憶されていてもよい。但し、このアプリケーションプログラム/データは、記憶装置(不揮発性)12ではなく、記憶装置14(耐タンパメモリ)に記憶されていることが望ましい(当該アプリケーションプログラム/データの漏洩を防ぐため)。
【0024】
記憶装置13(揮発性)は、例えばRAM等の揮発性メモリ等であり、上記秘密情報等が格納されることになる。従って、電源OFFにより秘密情報は消去される。従って、起動する毎に秘密情報を生成する必要があるが、電源OFFの間(例えば夜間等)に当該端末10が盗難された場合でも、秘密情報が漏洩することはない。あるいは、昼間であっても、端末10が盗難される際には、通常、電源ケーブルが抜かれることになる。
【0025】
記憶装置14は、上述した耐タンパメモリであり、上記分割情報が格納される。尚、耐タンパメモリも不揮発性メモリであり、分割情報は電源OFF時でも保存されている。耐タンパメモリに格納されているので、分割情報が漏洩する可能性は低いが、絶対に漏洩しないとは言い切れない。しかし、万が一漏洩した場合でも、1つの分割情報のみでは秘密情報は分からない。秘密情報を耐タンパメモリに保管しておく構成では、秘密情報が漏洩する危険性があるが、本手法では安全である。
【0026】
通信制御部(対主局)15は、主局(上位コントローラ)20と接続されており、主局20との通信を制御するが、本発明には特に関係しないので、特に説明しない。
通信制御部16は、上記ネットワーク4やネットワーク2等を介して、他の情報処理装置(他の端末10や秘密情報配信センタ1等)との通信を行う為の機能部である。
【0027】
R/W(リーダライタ)18は、ICカード・リーダ/ライタであり、ここでは一例として非接触ICカード6との通信を行うものとするが、接触型であってもよい。通信制御部(対カード)17は、このR/W(リーダライタ)18を制御して、任意のユーザが提示する非接触ICカード6へのアクセス処理を行うが、上述した通り、その際、上記秘密情報が必要となる。
【0028】
尚、秘密情報配信センタ1は、一般的なパソコン/サーバの構成であるので、そのハードウェア構成は特に図示しない。後述する図8に示す秘密情報配信センタ1の処理は、特に図示しないセンタ1内部のCPU等が、内部の記憶装置(ハードディスク等)に予め記憶されている所定のアプリケーションプログラムを読み出し・実行することにより実現される。
【0029】
図3は、本例のICカードシステムにおける秘密情報生成処理を概略的に説明する為の図である。
図3には、任意のグループ(例えば上記店舗a)内の全ての端末10(ここでは端末A,B,C)に、それぞれ異なる分割情報P1、P2、P3が格納された状態を示してある。この様な状態にする為の処理は、後に説明する。分割情報は、各端末10の耐タンパメモリ(記憶装置14)に格納されている。また、各分割情報P1、P2、P3には、そのバージョン情報が付加されている。同一の秘密情報から生成された分割情報は全て、同じバージョンとなる。
【0030】
ここで、分割情報について説明する。分割情報は、秘密情報を秘密分散法により分割することで生成するものである。
秘密分散法は、上記特許文献2等に記載の通り、既存技術であり、特に「しきい値秘密分散法」等がよく知られている。ここでは特に「k-out-of-n分散方式」を用いるものとする。「k-out-of-n分散方式」は、「分割させる数;n」と「復元に必要な数;k」とが異なる方式であり、例えば「2-out-of-3」分散方式の場合、対象となる情報(本例では秘密情報)を3分割して3つの分割情報を生成するが、秘密情報の生成(復元)の為に必要な分割情報は、3つのうちの任意の2つでよい。
【0031】
図3に示す例では、例えば後述する「秘密情報の更新処理」等によって、任意の秘密情報Pを「2-out-of-3」分散方式により3分割して3つの分割情報P1,P2,P3を生成した後、分割情報P1は端末Aに格納し、分割情報P2は端末Bに格納し、分割情報P3は端末Cに格納した状態を示してある。
【0032】
そして、上記の通り、3つの分割情報P1,P2,P3のうちの2つがあれば、秘密情報Pを生成(復元)できるので、図3では、例えば、端末Aは、自己が記憶している分割情報P1と、端末Bから取得した分割情報P2とを用いて、秘密情報Pを生成(復元)する様子を示してある。他の端末B,Cにおいても同様である。
【0033】
上記の通り、秘密情報Pは、揮発性メモリ(記憶装置13)に格納され、電源OFFにより消去されるので、各端末A〜Cは、起動する毎に(例えば毎朝)、上記秘密情報Pを生成(復元)する処理を行う必要がある。
【0034】
また、上記の通り各分割情報には、そのバージョン情報が付加されているが、このバージョン情報は、当該各分割情報の生成元である秘密情報のバージョン情報である。従って、任意の1つの秘密情報から生成された複数の分割情報は、全て同じバージョン情報を有していることになる。換言すれば、バージョン情報が異なる分割情報同士を組み合わせても、秘密情報は生成(復元)できないことになる。
【0035】
図4、図5、図6は、上記秘密情報生成処理を示すフローチャート図(その1、その2、その3)である。
各端末10(端末A〜C)は、上記の通り起動時に、それぞれ、図4〜図6の処理を実行する。
【0036】
まず、図4に示すように、各端末10(端末A〜C)は、自己の電源が投入されて起動すると(ステップS11)、まず、ブロードキャストにて、自己が起動したことを他の端末10に知らせる通知を内部ネットワーク4上に送出する(ステップS12)。その後、上記ブロードキャストに対する他の端末10からの応答(起動通知)を受信するか、他の端末10からのブロードキャストを受信するまでの間、ステップS13,S14の処理を繰返す。
【0037】
尚、図示のステップS1,S2の処理は、後述する秘密情報更新に係る処理であるので、ここでは説明せず、後に説明する。
そして、他の端末10からの返信(起動通知)を受信した場合には(ステップS14,YES)、ステップS16以降の処理へ移る。他の端末10からのブロードキャストを受信した場合には(ステップS13,YES)、これに対する応答(起動通知)を送信した後(ステップS15)、ステップS16以降の処理へ移る。
【0038】
図5、図6に示すステップS16以降の処理は、概略的には、上記の処理により起動を確認した他の端末10との間で認証処理を行い、正常に認証できた場合には、当該他の端末10が保持している分割情報を取得して、可能であれば秘密情報を生成する処理である。
【0039】
まず、上記起動を確認した他の端末10からの認証要求を受信したか否かを判定し(ステップS16)、未受信であれば(ステップS16,NO)、当該他の端末10に対して認証要求を送信して(ステップS17)この要求に対する認証応答待ち状態となる(ステップS18)。
【0040】
一方、上記起動を確認した他の端末10からの上記認証要求を受信した場合には(ステップS16,YES)、当該他の端末10との認証処理を行い、認証が正常に行えた場合には(ステップS26,YES)、認証が正常に行えたことを通知する認証応答を送信して(ステップS27)、その後、一定時間内に当該他の端末10からの分割情報取得要求を受信した場合には(ステップS28,YES)、自己が保持する分割情報を耐タンパメモリから読み出して、当該他の端末10に対して、当該自己が保持する分割情報を含む分割情報取得応答を送信する(ステップS29,S30)。
【0041】
尚、認証が正常に行えなかった場合には(ステップS26,NO)、その旨を通知する認証応答を送信して(ステップS27)、本処理は終了し、ステップS13に戻る。これは、上記一定時間内に分割情報取得要求を受信しなかった場合(相手側では既に秘密情報生成済みの場合)(ステップS28,NO)も同様である。
【0042】
一方、上記認証応答待ち状態で、他の端末10が上記ステップS27の認証応答を送信してこれを受信した場合には(ステップS18,YES)、この認証応答の内容が「認証正常」ではない場合には(ステップS19,NO)、本処理は終了し、ステップS13に戻る。また、この認証応答の内容が「認証正常」である場合(ステップS19,YES)であっても、既に秘密情報生成済みである場合も(ステップS20,YES)、同様に、本処理は終了し、ステップS13に戻る。
【0043】
認証応答の内容が「認証正常」であり(ステップS19,YES)且つ未だ秘密情報を生成していない場合には(ステップS20,NO)、上記の通り認証正常終了した他の端末10に対して、上記分割情報取得要求を送信する(ステップS21)。そして、この要求に対して他の端末10が上記ステップS29,S30の処理により上記分割情報取得応答(分割情報含む)を返信してきたならば(ステップS22,YES)、上述した理由により、バージョンが同一であるか否かを確認する。すなわち、自己が記憶していた分割情報のバージョン情報と、上記分割情報取得応答に含まれる、他の端末10が記憶していた分割情報のバージョン情報とを比較して、両者が一致するか否かをチェックする(ステップS23)。そして、不一致であれば(ステップS23,NO)本処理は終了し、ステップS13に戻る。尚、ステップS23がNOの場合には図示のステップS3の処理を行うが、この処理は、上記ステップS1,S2と同様、秘密情報更新に係る処理であるので、ここでは説明せず、後に説明する。
【0044】
上記バージョンチェックの結果、バージョンが一致する場合には(ステップS23,YES)、現段階で秘密情報を生成可能か否かを判定する(ステップS24)。すなわち、
現段階で取得した分割情報の数m(自己が保持していた分割情報も含む)が、予め設定される所定数以上(上記「復元に必要な数;k」以上)であるか否かを判定し、所定数以上(m≧k)であれば(ステップS24,YES)、取得した分割情報(自己が保持していた分割情報も含む)を用いて上記「しきい値秘密分散法」(k-out-of-n分散方式)により秘密情報を生成(復元)する(ステップS25)。一方、現段階で取得した分割情報の数mが所定数未満であれば(m<k)であれば、現段階では未だ秘密情報を生成できないので(ステップS24,NO)本処理は終了し、ステップS13に戻る。
【0045】
尚、図4〜図6に示す処理は一例であり、この例に限らない。例えば、ステップS30の処理が行われた場合には、その後、ステップS17の処理に移行して、認証要求送信、分割情報取得、可能であれば秘密情報の生成を行うようにしてもよい。
【0046】
上記図4〜図6に示す秘密情報生成処理について、以下、図3に示した具体例を用いて説明する。
図3の例では、上述した通り、秘密情報Pを「2-out-of-3」分散方式により3分割して生成した分割情報P1,P2,P3を、それぞれ、端末A、B、Cに格納している。従って、この例では、2つの分割情報から秘密情報が生成できる。1つは自端末が保持しているので、残りの分割情報のうちの1つを、他の端末10の何れかから取得できれば、秘密情報が生成(復元)できることになる。
【0047】
そして、ここでは、仮に、端末A→端末B→端末Cの順に電源が投入されたものとする。
この具体例において、図4〜図6に示す秘密情報生成処理は、以下に説明する通りとなる。
【0048】
(1)まず、端末Aの電源が投入されると、端末Aは、ブロードキャストにて、起動したことを他の端末へ通知する(しかし、端末B、端末Cは電源未投入のため、応答しない)。
【0049】
(2)次に、端末Bの電源が投入されると、端末Bも、ブロードキャストにて、起動したことを他の端末へ通知する。このとき、端末Aは既に起動済みであるので、端末Aは、端末Bからのブロードキャストを受信し、端末Bに対して、起動通知を返信し、ステップS16以降の処理に移る。端末Bも、この起動通知を受信することで、ステップS16以降の処理に移る。
【0050】
(3)端末Aは、端末Bに対して認証要求を行い、認証成功後、端末Bの耐タンパメモリに格納されている分割情報P2(そのバージョン情報を含む)を取得する。そして、端末Aは、端末Bから取得した分割情報P2のバージョンと、自己が保持している(端末Aの耐タンパメモリ(記憶装置14)に格納されている)分割情報P1のバージョンとを比較し、バージョンが同じ場合には、秘密情報生成可能か否かを判定する。このとき、端末Aは、分割情報P1,P2を取得しているので、上記の通り、秘密情報生成可能であり、分割情報P1とP2とに基づいて、秘密分散法により、秘密情報Pの生成(復元)を行う。
【0051】
以降、端末Aは、生成した秘密情報Pを用いて運用(ICカードへのアクセス処理(決済処理等))を行う。ただし、秘密情報Pは、揮発性メモリ(記憶装置13)に格納する。これにより、電源切断により秘密情報Pは消去されるので、端末Aが盗難された場合でも秘密情報Pが漏洩することはない。これは、他の端末B、Cにおいても同様である。
【0052】
(4)端末Bも、上記(3)の端末Aと同様である。すなわち、端末Bは、端末Aに対
して、認証要求を行い、認証成功後、端末Aの耐タンパメモリに格納されている分割情報P1(そのバージョン情報を含む)を取得する。そして、端末Bは、端末Aから取得した分割情報P1のバージョンと、自己が保持している(端末Bの耐タンパメモリに格納されている)分割情報P2のバージョンとを比較し、バージョンが同じ場合には、秘密情報生成可能か否かを判定する。このとき、端末Bは、分割情報P1,P2を取得しているので、上記の通り、秘密情報生成可能であり、分割情報P1とP2とに基づいて、秘密分散法により、秘密情報Pの生成(復元)を行う。
【0053】
以降、端末Bは、上記端末Aと同様、生成した秘密情報Pを用いて運用を行う。
(5)その後に、端末Cの電源が投入されると、端末Cも、ブロードキャストにて、起動したことを通知する。このとき、端末A,Bは既に起動済みであるので、端末A,Bは、端末Cからのブロードキャストを受信し、端末Cに対して、起動通知を返信し、ステップS16以降の処理に移る。但し、ここでは、端末Aの方が先に起動通知を返信し、端末Cは、まず、端末Aとの認証処理や分割情報取得等を行うものとする。
【0054】
これより、端末Cは、端末Aに対して、認証を行い、認証成功後、端末Aの耐タンパメモリに格納されている分割情報P1(そのバージョン情報を含む)を取得する。そして、端末Cは、端末Aから取得した分割情報P1のバージョンと、自己が保持している(端末Cの耐タンパメモリに格納されている)分割情報P3のバージョンとを比較し、バージョンが同じ場合には、秘密情報生成可能か否かを判定する。このとき、端末Cは、分割情報P1,P3を取得しているので、上記の通り、秘密情報生成可能であり、分割情報P1とP3とに基づいて、秘密分散法により、秘密情報Pの生成(復元)を行う。
【0055】
以降、端末Cは、上記端末A,Bと同様、生成した秘密情報Pを用いて運用を行う。
(6)その後、端末Cは端末Bからの起動通知を受信するが、端末B、Cは共に既に秘密情報Pを生成済みであるので(ステップS20,YES)、分割情報の取得などの処理は行うことなく、処理を終了する。
【0056】
次に、以下、秘密情報更新に係る処理について説明する。秘密情報更新に係る処理は、上述したステップS1,S2の処理、ステップS3の処理であり、以下、これら処理につて詳細に説明するが、その前に、図7を参照して概略的に説明する。
【0057】
図7は、秘密情報更新に係る処理について概略的に説明する為の図である。
ここでは、図7に示す秘密情報P’は、上記図3に示す秘密情報Pの更新版(バージョンアップ版)であるものとする。
【0058】
図7において、店舗a内の各端末10は、例えば定期的に、ネットワーク2,4(及びルータ3)を介して秘密情報配信センタ1にアクセスして、秘密情報配信センタ1側で管理している秘密情報が、図示の秘密情報P’である場合(バージョンアップ等されていた場合)、当該新たな秘密情報P’(バージョン情報含む)を取得する。そして、新たな秘密情報P’を上記「しきい値秘密分散法」(k-out-of-n分散方式)により分割して、新たな分割情報(P1’,P2’,P3’)を生成する。そして、生成した新たな分割情報のうちの1つ(図ではP1’)を自己の耐タンパメモリに上書き・記憶し(これにより既存の分割情報P1は削除される)、残りの分割情報P2’,P3’は、秘密情報P’と共に、他の端末10へ配信して、分割情報は各々の耐タンパメモリに上書き・記憶させる(秘密情報は揮発性メモリに記憶される)。図示の例において、例えば端末Aが上記の処理を行った場合には、端末Bには分割情報P2’と秘密情報P’を配信し、端末Cには分割情報P3’と秘密情報P’を配信して、記憶させている。尚、各分割情報(P1’,P2’,P3’)には、秘密情報P’のバージョン情報が付加される。
【0059】
各端末10(A〜C)は、上記秘密情報P’を用いて運用を行う。但し、上記の通り、秘密情報P’は揮発性メモリに記憶するので、電源OFFにより消去される。その後、各端末10が起動される毎に、上述した通り、各々の耐タンパメモリに記憶した上記新たな分割情報(P1’,P2’,P3’)を用いて秘密情報P’を生成(復元)することになる。
【0060】
以下、まず、上記ステップS1,S2の処理について説明する。
尚、秘密情報更新に係る処理(ステップS1,S2,S3)は、複数の端末10の各々が行ってもよいし、該複数の端末10のうちの予め決められている特定の端末10のみが実行するものであってもよい。
【0061】
端末10は、定期的に、ステップS2の処理を行う。すなわち、予め設定されている指定時間経過する毎に(ステップS1,YES)、ステップS2の処理(秘密情報更新時の処理)を実行する。以下の説明では、端末AがステップS2の処理を実行した場合を例にして説明する。
【0062】
図8は、ステップS2の処理の詳細フローチャート図である。
図8において、端末Aは、まず、秘密情報配信センタ1に対して、秘密情報取得要求を送信する(ステップS41)。秘密情報配信センタ1は、この要求を受信したら(ステップS51)、自己が管理している秘密情報が更新されているか否かを判定する(ステップS52)。この判定方法は、例えば、上記秘密情報取得要求には端末Aが保持している分割情報のバージョン情報が付加されるものとし、秘密情報配信センタ1はこれと自己が現在管理している秘密情報のバージョン情報とを比較すればよい(一致すれば更新なしとなる)。
【0063】
そして、秘密情報配信センタ1が現在管理している秘密情報が、更新されたものであるか否かに係らず、ステップS52の判定結果を端末Aへ送信する(秘密情報取得応答を返信する)(ステップS53)。そして、ステップS52の判定結果がNOの場合(更新無し)でステップS53の送信処理を行った場合には、本処理は終了し、ステップS51に戻る。もし、ステップS52の判定結果がYESの場合(更新あり)でステップS53の送信処理を行った場合には、続いて、端末Aに対して、自己が現在管理している秘密情報(更新版)を送信する(ステップS54)。そして、ステップS51に戻る。
【0064】
端末A側では、上記ステップS41での要求送信後は秘密情報取得応答待ち状態となり(ステップS42)、上記ステップS53によって秘密情報取得応答が返信されてくると、この応答に含まれる上記ステップS52の判定結果を参照して、更新無しであれば(ステップS43,NO)本処理を終了する。
【0065】
一方、更新有りの場合には(ステップS43,YES)、秘密状態受信待ち状態となり(ステップS44)、上記ステップS54の処理によって送信された秘密情報(更新版)を受信すると、当該取得した秘密情報を一時的に耐タンパメモリ(記憶装置14)に記憶すると共に(ステップS45)、耐タンパメモリ上で、当該秘密情報を秘密分散法により分割する処理を実行して複数の分割情報を生成し(ステップS46)、これら複数の分割情報をそのまま耐タンパメモリ上に記憶しておく(ステップS47)。また、分割情報生成後は、秘密情報を、揮発性メモリに記憶(コピー)すると共に耐タンパメモリ上から削除する。よって、電源切断により秘密情報は消去される。
【0066】
図7に示す例では、新たな秘密情報P’は3分割して、3つの新たな分割情報(P1’〜P3’)を生成・格納することになる。そして、上記新たに生成した3つの分割情報を格納する際には、分割情報P1’は自己が保持する分割情報として記憶する為、既存の分
割情報P1に上書き記憶する。他の新たな分割情報P2’、P3’は、例えば他の端末10への配信用の記憶領域等(不図示)に記憶しておく。
【0067】
上記ステップS2の処理が行われることで、端末Aには他の端末10とは異なるバージョンの分割情報P1’が記憶されていることになるので、端末Aにおいてあるいは端末Aとの通信を行う他の端末10において、ステップS23の判定はNOとなり、ステップS3の処理が行われることになる。
【0068】
図9は、ステップS3の詳細処理フローチャート図である。
図9において、まず、自端末10が保持している分割情報のバージョンが、ステップS22で取得した分割情報のバージョンより新しい場合(最新バージョンを保持している場合等)には(ステップS60,YES)、ステップS61以降の処理を行う。既にステップS23で不一致の判定が行われているので、ステップS60の判定がNOとなる場合とは、他の端末10(ステップS21で分割情報取得を要求した端末)が上記図8の処理を行っている場合であるので、この場合には本処理は終了して、当該他の端末10が当該図9の処理を実行することで新たな秘密情報、分割情報を配信してくるのを待つことになる。
【0069】
ステップS60の判定がYESの場合には、グループ内の他の各端末10に対して、ステップS61〜S66の処理を実行して、他の各端末10に新たな秘密情報と新たな分割情報の1つをそれぞれ配信することになる。ここでは、端末Aが当該処理を行うものとして説明する。
【0070】
上記ステップS60の判定がYESの場合には、続いて、まず、図示のステップS61〜S63及びステップS71〜S73の処理が行われるが、これは上記ステップS16〜S19及びステップS26,S27と同様の一般的な認証処理であるので、ここでの説明は省略する。
【0071】
上記認証処理が正常に行われた場合には(ステップS63,YES)、端末Aは、当該認証相手(端末B又はC)に対して、上記取得してある新たな秘密情報P’を送信する(ステップS64)。端末B又はCは、この秘密情報P’を受信すると(ステップS74)、受信した秘密情報P’を揮発性メモリに格納する(ステップS75)。
【0072】
端末Aは、更に、上記新たに生成した分割情報のうちの1つを(但し、自己が保持する分割情報P1’は除く)、端末B又はCへ送信する(ステップS65)と共に、当該送信した分割情報は耐タンパメモリ上から削除する(ステップS66)。端末B又はCは、この分割情報(分割情報P2’又はP3’)を受信すると(ステップS76)、当該受信した分割情報を自己の耐タンパメモリに格納する(ステップS77)。
【0073】
端末B又はCは、上記ステップS75で記憶した秘密情報を用いて運用を開始するので、今回は分割情報に基づく秘密情報の生成(復元)は行わない。
次に、以下、新規端末導入時の処理について説明する。
【0074】
図11、図12は、新規端末導入時の処理フローチャート図(その1)、(その2)である。すなわち、任意のグループに新たな端末10が追加された場合の処理である。
ここでは、一例として、上記図3等に示すように3台の端末A〜端末Cで運用が行われていたシステムに、図10に示す端末Dが新規導入されたものとする。
【0075】
ここで、図11、図12の説明を行う前に、図10を参照して、新規端末導入時の処理について概略的に説明するものとする。
図10は、新規端末導入時の処理を概略的に説明する為の図である。
【0076】
図10は、上記の通り、3台の端末A〜端末Cで構成されている状態で、新たな端末Dがネットワーク4に接続された場合を示すものとする。
この場合、既存の端末10のうちの1台(図示の例では端末A)は、図11、図12の処理を実行することで、自己が保持している秘密情報Pを端末Dに配信して記憶させると共に(これにより端末Dは運用開始可能となる)、当該秘密情報Pを上記「しきい値秘密分散法」(k-out-of-n分散方式)により分割して(但し、nの値はネットワーク4に接続されている端末10の台数(グループ内の台数)とする。従って、それまでは3分割していたが、今回から4分割することになる)、新たな分割情報(p1,p2,p3,p4)を生成する。従って、例えばP1≠p1となるので、自端末を含めて全ての端末10(A〜D)に新たな分割情報を記憶させる必要がある。
【0077】
ここでは仮に端末Aが上記処理を行ったとした場合、端末Aは、分割情報p1は自己が保持し、他の分割情報p2〜p4は他の端末B〜Dに配信して記憶させる。後に、運用終了により各端末10が電源OFFすると秘密情報Pが消去され、その後(翌朝等)各端末10は、起動すると、k-out-of-n分散方式(但し、n=4)により、分割情報p1〜p4のうちの一部(所定数(k)以上)を用いて、秘密情報Pを生成(復元)することになる。
【0078】
以下、上記新規端末導入時の処理について、図11、図12を参照して詳細に説明する。
新規導入された端末Dをネットワーク4に接続後、端末Dの電源を投入すると、端末Dは、ブロードキャストにて、新規に導入されたことを他の端末10へ通知する(ステップS101)。尚、この通知には、端末Dに関する情報(アドレス等)が含まれる。ブロードキャストであるので全端末10が受信するが、ここでは上記の通り端末Aが、端末Dとの図示の通信・処理を行うものとする。尚、当該処理を行う既存端末10は、予め決められている特定の端末としてもよいし、任意の端末としてもよいが、少なくとも既に秘密情報を生成して運用中である端末である必要がある。
【0079】
端末Aは、端末Dからのブロードキャストを受信すると(ステップS81)、自己が保持している秘密情報を秘密分散法により分割して新たな複数の分割情報を生成する(ステップS82)。これは上記k-out-of-n分散方式で行うが、端末10の数が増えたことから、“n”の数を増加させる。つまり、これまでは3分割(n=3)であったが、4分割(n=4)させることになる。また、kの値も増加(+1)することになる。これによって、上記新たな分割情報p1〜p4が生成される。この様に、新規端末を導入した際にn,kを共に増やすことにより、より安全性を高めることができる。但し、複数の端末10で重複して同じ分割情報が保持されるようにすることも可能である。
【0080】
そして、生成した複数の分割情報を一時的に記憶すると共に、当該複数の分割情報うちの1つを(図10の例ではp1)、自己が保持する分割情報として耐タンパメモリ上に上書き記憶する(ステップS83)。そして、残りの分割情報(p2〜p4)を全て他の端末10へ配信するまで(ステップS84がYESとなるまで)、ステップS85以降の処理を実行する。
【0081】
本例では、まず、新規の端末Dとの間でステップS85〜S87、S102〜S104の認証処理を行うものとする。この認証処理は、上述したステップS17〜S19、S26、S27等の認証処理と略同様の一般的な認証処理であるので、ここでは説明しない。
【0082】
端末Aは、端末Dとの認証処理が正常に行えた場合には(ステップS87,YES)、
端末Dに対して、まず、秘密情報Pを送信し(ステップS88)、更に生成した分割情報のうちの1つを送信して(ステップS89)、当該送信した分割情報を耐タンパメモリ上から削除する(ステップS90)。
【0083】
端末Dは、上記秘密情報Pを受信すると(ステップS105)、この秘密情報Pを揮発性メモリに記憶する(ステップS106)。また、上記分割情報のうちの1つ(図10の例では分割情報p4)を受信すると(ステップS107)、この分割情報を耐タンパメモリに記憶する(ステップS108)。
【0084】
端末Aは、上記ステップS90の処理後、ステップS84に戻り、未だ分割情報p2、p3が未配信であるので、他の端末B,Cに対しても、上記ステップS85〜S90の処理を行って、秘密情報と新たな分割情報を配信する。但し、他の端末B,Cが既に運用中である場合には、ステップS88の秘密情報送信処理は特に行う必要はない。
【0085】
尚、既に述べた通り、秘密情報は各端末10の揮発性メモリに格納され、分割情報は各端末10の耐タンパメモリに格納される。そして、秘密分散法による分割情報の生成又は秘密情報の生成(復元)の為の処理は、耐タンパメモリ上で行われる。
【0086】
尚、新規導入される端末(ここでは端末D)には、予め、その端末Dが接続するネットワーク4に接続している全ての端末10のアドレスが記憶されていてもよいし、例えば認証処理や秘密情報送信の際に端末Aが全端末10のアドレスも端末Dに送信して記憶させてもよい。
【0087】
以上のように、本発明を適用することにより、端末が盗難された場合でも、端末内には、秘密情報が保管されていないため、秘密情報が漏洩することはない。
また、端末が故障した場合や盗難された場合においても、システム内にある一定数以上の端末があれば、運用を行うことが可能である。
【0088】
さらに、端末を新規に導入する(リプレースの場合も含む)場合においても、容易に導入を行うことが可能である。
また、上記特許文献2では、通信暗号鍵(秘密情報に相当)自体は分割していないので、“特許文献2の分割情報”と“本発明の分割情報”とは、全く異なるものである。そして、特許文献2では、通信暗号鍵(秘密情報に相当)をそのまま耐タンパメモリに記憶している。一方、本発明では、各端末10において、分割情報を耐タンパメモリに記憶しているので、秘密情報の漏洩のリスクを低減できる。
【図面の簡単な説明】
【0089】
【図1】本例のICカードシステムの全体構成図である。
【図2】端末のハードウェア構成図である。
【図3】秘密情報生成処理を概略的に説明する為の図である。
【図4】秘密情報生成処理を示すフローチャート図(その1)である。
【図5】秘密情報生成処理を示すフローチャート図(その2)である。
【図6】秘密情報生成処理を示すフローチャート図(その3)である。
【図7】秘密情報更新に係る処理について概略的に説明する為の図である。
【図8】ステップS2の処理の詳細フローチャート図である。
【図9】ステップS3の処理の詳細フローチャート図である。
【図10】新規端末導入時の処理を概略的に説明する為の図である。
【図11】新規端末導入時の処理フローチャート図(その1)である。
【図12】新規端末導入時の処理フローチャート図(その2)である。
【符号の説明】
【0090】
1 秘密情報配信センタ
2 ネットワーク
3 ルータ
4 ネットワーク
10 端末
11 主制御部(CPU等)
12 記憶装置(不揮発性)
13 記憶装置(揮発性)
14 記憶装置(耐タンパメモリ)
15 通信制御部(対主局)
16 通信制御部
17 通信制御部(対カード)
18 R/W(リーダライタ)
20 主局(上位コントローラ)
【技術分野】
【0001】
本発明は、ICカードを利用したシステムに関する。
【背景技術】
【0002】
今日、ICカードを利用した様々なシステムが構築されている。ICカードシステムの一例として、例えば、電車やバスなどの公共交通手段や、各種商店等において、ICカード(非接触型又は接触型のICカード;以下特に区別せずにICカードと記す)を用いた、電子マネーを使用する、キャッシュレス決済システム(電子マネーシステム)が導入されている。このようなシステムでは、ICカードへの入金処理や、利用額の差引き処理等の、ICカードへの各種アクセス処理を、ICカードR/W(リーダ/ライタ)を有する決済端末が行なっている。
【0003】
上記の様なICカードを利用したシステム(以下、ICカードシステムと呼ぶ)では、ICカードにアクセスする際に必要となる秘密情報(暗号鍵など)が重要である。この秘密情報が漏洩すると、ICカード内のデータの書き換えを行うことが可能となってしまう。例えば、ICカード内の電子マネー情報を書き換えることで、不正利用が可能となる。そこで、このようなシステムでは、秘密情報をいかに守るかということが重要となる。
【0004】
従来のICカードを利用したシステムでは、例えば各店舗のレジ横等に設置される、ICカード・リーダ/ライタを備える多数の端末(電子マネー決済用端末等)が、各々、その運用開始(電源投入)時にオンラインでセンタ(サーバ等)から秘密情報を取得し、取得した秘密情報を揮発性のメモリに記憶して使用し、運用終了(電源切断)時に秘密情報を消していた。このようにすることで、端末が盗難された場合でも、端末内に秘密情報は残っていないため、秘密情報の漏洩を防いでいた。(特許文献1)
また、特許文献2に記載の従来技術では、秘密情報(ここでは、通信暗号鍵のこと)を耐タンパメモリに保管すると共に、秘密情報をバックアップファイルに格納し、そのバックアップファイルを暗号化する秘密情報(ここでは、ファイルの暗号鍵のこと)を秘密分散法を用いて、複数の分割情報に分割し、複数の耐タンパメモリに保管している。
【特許文献1】特開2004−295502号公報
【特許文献2】特開2001−103045号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、上記従来の特許文献1の方法では、端末がオンラインで秘密情報を取得できない場合には、運用を行うことができない。つまり、秘密情報を管理するセンタ等の故障などが発生した場合に、運用に支障をきたすこととなる。そのため、端末がオンラインで秘密情報を取得できない場合にも運用を行うことが可能なシステムにすることが望ましい。
【0006】
また、特許文献2の発明では、秘密情報(ここでは、通信暗号鍵のこと)自体が保管されている(保管場所は耐タンパメモリではあるが)。秘密情報の漏洩の危険性を考慮した場合、秘密情報自体は保管されていないことが望ましい。
【0007】
本発明の課題は、秘密情報を管理するセンタ等が故障等した場合でも運用に支障をきたすことなく、且つICカードへのアクセス処理に必要な秘密情報が漏洩する可能性を極めて低くすることができるICカードシステム、その端末、プログラム等を提供することである。
【課題を解決するための手段】
【0008】
本発明のICカードシステムは、秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムであって、前記各情報処理端末は、前記秘密情報を秘密分散法により分割してなる複数の分割情報のうちの1つを記憶する分割情報記憶手段と、起動する毎に、前記第1のネットワークを介して、他の各情報処理端末にアクセスして、該他の情報処理端末内の前記分割情報記憶手段に記憶されている分割情報を取得する分割情報取得手段と、前記分割情報取得手段で取得した分割情報の数が所定数以上となった場合、該取得した分割情報と自端末内の前記分割情報記憶手段に記憶している分割情報とを用いて、前記秘密分散法により前記秘密情報を生成して、該生成した秘密情報を揮発性記憶手段に記憶する秘密情報生成・記憶手段とを有する。
【0009】
上記構成では、各情報処理端末は、各々、複数の分割情報の1つを保管しており、必要になる都度、他の端末が保管している分割情報を取得して、秘密情報を生成する。秘密情報は揮発性メモリ等に記憶されるので、電源OFFにより消去される。端末が盗まれることで分割情報が漏洩する可能性はあるが、秘密情報が漏洩することはない。
【0010】
前記分割情報記憶手段は耐タンパメモリであることが望ましい。これによって安全性が向上する。但し、絶対に安全とは限らないので、耐タンパメモリに秘密情報を格納する構成とした場合、秘密情報が漏洩する危険性があったが、上記の通り、耐タンパメモリには分割情報の1つが格納されるだけであり、万が一漏洩しても問題ない。
【0011】
上記ICカードシステムにおいて、例えば、前記各情報処理端末は、更に、定期的に又は任意のときに、第2のネットワークを介して前記センタ装置とアクセスして該センタ装置が管理する秘密情報を取得する秘密情報取得手段と、該秘密情報取得手段により取得した秘密情報を秘密分散法を用いて分割して、複数の分割情報を生成する分割情報生成手段と、該分割情報生成手段により生成された複数の分割情報の1つを自端末内の前記分割情報記憶手段に上書き記憶すると共に、他の分割情報を前記第1のネットワークに接続されている他の情報処理端末にそれぞれ前記第1のネットワークを介して配信して、各々の前記分割情報記憶手段に該他の分割情報の1つを上書き記憶させ、該他の情報処理端末に配信した分割情報は自端末から消去する分割情報配信手段とを有する。
【0012】
センタ装置で管理される秘密情報は、更新(バージョンアップ等)される場合があるが、例えば定期的に上記処理を行うことで、最新版の秘密情報に対応する分割情報を生成して各端末に記憶させることができる。
【0013】
また、前記分割情報生成手段で生成する分割情報の数は、前記第1のネットワークに接続されている前記情報処理端末の数と同数とし、各情報処理端末には各々異なる分割情報を記憶させるようにしてもよい。
【0014】
また、上記ICカードシステムにおいて、例えば、前記第1のネットワークに新規の情報処理端末が導入された場合、該新規の情報処理端末は該第1のネットワークを介して既存の前記情報処理端末に対して新規導入通知を送信し、前記既存の情報処理端末は、該新規導入通知を受信すると、前記新規の情報処理端末に対して前記揮発性記憶手段に記憶されている前記秘密情報を送信して記憶させ、更に、前記分割情報生成手段が、前記揮発性記憶手段に記憶されている前記秘密情報を、前記秘密分散法を用いて、該新規の情報処理端末も含めて前記第1のネットワークに接続している情報処理端末の台数に応じて分割することで、新たな複数の分割情報を生成し、前記分割情報配信手段は、該分割情報生成手段により生成された新たな複数の分割情報の1つを自端末内の前記分割情報記憶手段に上書き記憶すると共に、前記第1のネットワークに接続されている、前記新規の情報処理端
末も含めた他の情報処理端末に対して、他の新たな分割情報をそれぞれ前記第1のネットワークを介して配信して、各々の前記分割情報記憶手段に前記新たな分割情報の1つを上書き記憶させ、該他の情報処理端末に配信した新たな分割情報は自端末から消去するようにしてもよい。
【0015】
上記構成によれば、新規の情報処理端末が導入された場合でも、自動的にこれに対応した新たな分割情報を生成して各端末に保管させ、問題なく運用を行うことができる。
【発明の効果】
【0016】
本発明のICカードシステム、その端末、プログラム等によれば、秘密情報を管理するセンタ等が故障等した場合でも運用に支障をきたすことなく、且つICカードへのアクセス処理に必要な秘密情報が漏洩する可能性を極めて低くすることができる。すなわち、秘密情報は秘密分散法により分割されて分割情報として各端末に記憶されており、決済端末等の端末が盗難された場合でも、端末内には秘密情報が保管されていないため、秘密情報が漏洩することはない。また、端末が故障や盗難された場合においても、システム内に所定数以上の端末があれば、運用を行うことが可能である。また、当然、逐一センタ装置から秘密情報を取得する必要はなく、センタ装置が故障した場合でも問題ない。
【発明を実施するための最良の形態】
【0017】
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本例のICカードシステム全体の構成の一例を示す図である。
図1に示すICカードシステムにおいて、秘密情報配信センタ1は、秘密情報を保管し、要求に応じて、秘密情報の配信を行うサーバ等である。尚、秘密情報配信センタ1で管理している秘密情報は、更新(バージョンアップ等)される場合があり、更新された場合には、各端末10は、出来るだけ速やかに更新版の秘密情報を取得して、更新版の秘密情報を用いてICカードへのアクセス処理を行う必要がある。尚、秘密情報は、従来で説明した通り、ICカードへのアクセス処理に必要となる暗号鍵等である。
【0018】
尚、ここでいう“ICカード”とは、ICカードに限らず、例えばICカード機能搭載の携帯電話等も含むものとする。
また、各店舗毎に複数の端末10が設けられており(図では店舗aのみ示すが、他の店舗も同様である)、各端末10(ここでは端末A〜C)は、内部ネットワーク4(LAN等)に接続されており、ネットワーク4を介して相互にデータ送受信可能となっている。
【0019】
尚、以下の説明では、1店舗を1グループとして、グループ内で各端末10に後述する分割情報を分散記憶すると共に、グループ内で互いに他の端末10の分割情報を取得して秘密情報を生成(復元)する処理を行うが、当該グループ分けは、店舗単位で行う例に限らず、任意であってよく、例えば地域単位としてもよいし、あるいは店舗内に複数のグループがあってもよい。
【0020】
また、各店舗にはルータ3が設置されており、ルータ3は、上記ネットワーク4及びネットワーク2(公衆回線網、インターネット)に接続している。これより、各端末10は、ルータ3を介して外部の情報処理装置(特に秘密情報配信センタ1)と通信可能となっている。
【0021】
端末10(端末A〜端末C等)は、例えば店舗内のレジの隣等に置かれている、ICカードリーダ/ライタを備える既存の情報処理端末(決済端末等)であり、特にICカードとの通信制御ユニットである。従来より、このような情報処理端末(端末10)は、耐タンパメモリを有している。尚、耐タンパメモリとは、所謂耐タンパ技術が適用されたメモリ(耐タンパ性を有するメモリ)であり、その内容を読み出す為の外部からの物理的な攻
撃に対して保護されたメモリである。
【0022】
図2は、上記端末10のハードウェア構成図である。
図示の端末10は、主制御部11(CPU等)、記憶装置(不揮発性)12、記憶装置13(揮発性)、記憶装置14(耐タンパメモリ)、通信制御部(対主局)15、通信制御部16、通信制御部(対カード)17、及びR/W(リーダライタ)18等から成り、図示の通り主局(上位コントローラ)20に接続すると共に、ネットワーク4に接続している。
【0023】
主制御部11(CPU等)は、当該端末10全体を制御する中央処理装置である。
記憶装置(不揮発性)12は、例えばフラッシュメモリ等の不揮発性のメモリ等であり、例えば後述する図4〜図6、図8、図9、図11、図12のフローチャートに示す端末10の処理や、後述する秘密分散法による分割情報/秘密情報の生成処理を、主制御部11(CPU等)により実行させる為の所定のアプリケーションプログラム/データが記憶されていてもよい。但し、このアプリケーションプログラム/データは、記憶装置(不揮発性)12ではなく、記憶装置14(耐タンパメモリ)に記憶されていることが望ましい(当該アプリケーションプログラム/データの漏洩を防ぐため)。
【0024】
記憶装置13(揮発性)は、例えばRAM等の揮発性メモリ等であり、上記秘密情報等が格納されることになる。従って、電源OFFにより秘密情報は消去される。従って、起動する毎に秘密情報を生成する必要があるが、電源OFFの間(例えば夜間等)に当該端末10が盗難された場合でも、秘密情報が漏洩することはない。あるいは、昼間であっても、端末10が盗難される際には、通常、電源ケーブルが抜かれることになる。
【0025】
記憶装置14は、上述した耐タンパメモリであり、上記分割情報が格納される。尚、耐タンパメモリも不揮発性メモリであり、分割情報は電源OFF時でも保存されている。耐タンパメモリに格納されているので、分割情報が漏洩する可能性は低いが、絶対に漏洩しないとは言い切れない。しかし、万が一漏洩した場合でも、1つの分割情報のみでは秘密情報は分からない。秘密情報を耐タンパメモリに保管しておく構成では、秘密情報が漏洩する危険性があるが、本手法では安全である。
【0026】
通信制御部(対主局)15は、主局(上位コントローラ)20と接続されており、主局20との通信を制御するが、本発明には特に関係しないので、特に説明しない。
通信制御部16は、上記ネットワーク4やネットワーク2等を介して、他の情報処理装置(他の端末10や秘密情報配信センタ1等)との通信を行う為の機能部である。
【0027】
R/W(リーダライタ)18は、ICカード・リーダ/ライタであり、ここでは一例として非接触ICカード6との通信を行うものとするが、接触型であってもよい。通信制御部(対カード)17は、このR/W(リーダライタ)18を制御して、任意のユーザが提示する非接触ICカード6へのアクセス処理を行うが、上述した通り、その際、上記秘密情報が必要となる。
【0028】
尚、秘密情報配信センタ1は、一般的なパソコン/サーバの構成であるので、そのハードウェア構成は特に図示しない。後述する図8に示す秘密情報配信センタ1の処理は、特に図示しないセンタ1内部のCPU等が、内部の記憶装置(ハードディスク等)に予め記憶されている所定のアプリケーションプログラムを読み出し・実行することにより実現される。
【0029】
図3は、本例のICカードシステムにおける秘密情報生成処理を概略的に説明する為の図である。
図3には、任意のグループ(例えば上記店舗a)内の全ての端末10(ここでは端末A,B,C)に、それぞれ異なる分割情報P1、P2、P3が格納された状態を示してある。この様な状態にする為の処理は、後に説明する。分割情報は、各端末10の耐タンパメモリ(記憶装置14)に格納されている。また、各分割情報P1、P2、P3には、そのバージョン情報が付加されている。同一の秘密情報から生成された分割情報は全て、同じバージョンとなる。
【0030】
ここで、分割情報について説明する。分割情報は、秘密情報を秘密分散法により分割することで生成するものである。
秘密分散法は、上記特許文献2等に記載の通り、既存技術であり、特に「しきい値秘密分散法」等がよく知られている。ここでは特に「k-out-of-n分散方式」を用いるものとする。「k-out-of-n分散方式」は、「分割させる数;n」と「復元に必要な数;k」とが異なる方式であり、例えば「2-out-of-3」分散方式の場合、対象となる情報(本例では秘密情報)を3分割して3つの分割情報を生成するが、秘密情報の生成(復元)の為に必要な分割情報は、3つのうちの任意の2つでよい。
【0031】
図3に示す例では、例えば後述する「秘密情報の更新処理」等によって、任意の秘密情報Pを「2-out-of-3」分散方式により3分割して3つの分割情報P1,P2,P3を生成した後、分割情報P1は端末Aに格納し、分割情報P2は端末Bに格納し、分割情報P3は端末Cに格納した状態を示してある。
【0032】
そして、上記の通り、3つの分割情報P1,P2,P3のうちの2つがあれば、秘密情報Pを生成(復元)できるので、図3では、例えば、端末Aは、自己が記憶している分割情報P1と、端末Bから取得した分割情報P2とを用いて、秘密情報Pを生成(復元)する様子を示してある。他の端末B,Cにおいても同様である。
【0033】
上記の通り、秘密情報Pは、揮発性メモリ(記憶装置13)に格納され、電源OFFにより消去されるので、各端末A〜Cは、起動する毎に(例えば毎朝)、上記秘密情報Pを生成(復元)する処理を行う必要がある。
【0034】
また、上記の通り各分割情報には、そのバージョン情報が付加されているが、このバージョン情報は、当該各分割情報の生成元である秘密情報のバージョン情報である。従って、任意の1つの秘密情報から生成された複数の分割情報は、全て同じバージョン情報を有していることになる。換言すれば、バージョン情報が異なる分割情報同士を組み合わせても、秘密情報は生成(復元)できないことになる。
【0035】
図4、図5、図6は、上記秘密情報生成処理を示すフローチャート図(その1、その2、その3)である。
各端末10(端末A〜C)は、上記の通り起動時に、それぞれ、図4〜図6の処理を実行する。
【0036】
まず、図4に示すように、各端末10(端末A〜C)は、自己の電源が投入されて起動すると(ステップS11)、まず、ブロードキャストにて、自己が起動したことを他の端末10に知らせる通知を内部ネットワーク4上に送出する(ステップS12)。その後、上記ブロードキャストに対する他の端末10からの応答(起動通知)を受信するか、他の端末10からのブロードキャストを受信するまでの間、ステップS13,S14の処理を繰返す。
【0037】
尚、図示のステップS1,S2の処理は、後述する秘密情報更新に係る処理であるので、ここでは説明せず、後に説明する。
そして、他の端末10からの返信(起動通知)を受信した場合には(ステップS14,YES)、ステップS16以降の処理へ移る。他の端末10からのブロードキャストを受信した場合には(ステップS13,YES)、これに対する応答(起動通知)を送信した後(ステップS15)、ステップS16以降の処理へ移る。
【0038】
図5、図6に示すステップS16以降の処理は、概略的には、上記の処理により起動を確認した他の端末10との間で認証処理を行い、正常に認証できた場合には、当該他の端末10が保持している分割情報を取得して、可能であれば秘密情報を生成する処理である。
【0039】
まず、上記起動を確認した他の端末10からの認証要求を受信したか否かを判定し(ステップS16)、未受信であれば(ステップS16,NO)、当該他の端末10に対して認証要求を送信して(ステップS17)この要求に対する認証応答待ち状態となる(ステップS18)。
【0040】
一方、上記起動を確認した他の端末10からの上記認証要求を受信した場合には(ステップS16,YES)、当該他の端末10との認証処理を行い、認証が正常に行えた場合には(ステップS26,YES)、認証が正常に行えたことを通知する認証応答を送信して(ステップS27)、その後、一定時間内に当該他の端末10からの分割情報取得要求を受信した場合には(ステップS28,YES)、自己が保持する分割情報を耐タンパメモリから読み出して、当該他の端末10に対して、当該自己が保持する分割情報を含む分割情報取得応答を送信する(ステップS29,S30)。
【0041】
尚、認証が正常に行えなかった場合には(ステップS26,NO)、その旨を通知する認証応答を送信して(ステップS27)、本処理は終了し、ステップS13に戻る。これは、上記一定時間内に分割情報取得要求を受信しなかった場合(相手側では既に秘密情報生成済みの場合)(ステップS28,NO)も同様である。
【0042】
一方、上記認証応答待ち状態で、他の端末10が上記ステップS27の認証応答を送信してこれを受信した場合には(ステップS18,YES)、この認証応答の内容が「認証正常」ではない場合には(ステップS19,NO)、本処理は終了し、ステップS13に戻る。また、この認証応答の内容が「認証正常」である場合(ステップS19,YES)であっても、既に秘密情報生成済みである場合も(ステップS20,YES)、同様に、本処理は終了し、ステップS13に戻る。
【0043】
認証応答の内容が「認証正常」であり(ステップS19,YES)且つ未だ秘密情報を生成していない場合には(ステップS20,NO)、上記の通り認証正常終了した他の端末10に対して、上記分割情報取得要求を送信する(ステップS21)。そして、この要求に対して他の端末10が上記ステップS29,S30の処理により上記分割情報取得応答(分割情報含む)を返信してきたならば(ステップS22,YES)、上述した理由により、バージョンが同一であるか否かを確認する。すなわち、自己が記憶していた分割情報のバージョン情報と、上記分割情報取得応答に含まれる、他の端末10が記憶していた分割情報のバージョン情報とを比較して、両者が一致するか否かをチェックする(ステップS23)。そして、不一致であれば(ステップS23,NO)本処理は終了し、ステップS13に戻る。尚、ステップS23がNOの場合には図示のステップS3の処理を行うが、この処理は、上記ステップS1,S2と同様、秘密情報更新に係る処理であるので、ここでは説明せず、後に説明する。
【0044】
上記バージョンチェックの結果、バージョンが一致する場合には(ステップS23,YES)、現段階で秘密情報を生成可能か否かを判定する(ステップS24)。すなわち、
現段階で取得した分割情報の数m(自己が保持していた分割情報も含む)が、予め設定される所定数以上(上記「復元に必要な数;k」以上)であるか否かを判定し、所定数以上(m≧k)であれば(ステップS24,YES)、取得した分割情報(自己が保持していた分割情報も含む)を用いて上記「しきい値秘密分散法」(k-out-of-n分散方式)により秘密情報を生成(復元)する(ステップS25)。一方、現段階で取得した分割情報の数mが所定数未満であれば(m<k)であれば、現段階では未だ秘密情報を生成できないので(ステップS24,NO)本処理は終了し、ステップS13に戻る。
【0045】
尚、図4〜図6に示す処理は一例であり、この例に限らない。例えば、ステップS30の処理が行われた場合には、その後、ステップS17の処理に移行して、認証要求送信、分割情報取得、可能であれば秘密情報の生成を行うようにしてもよい。
【0046】
上記図4〜図6に示す秘密情報生成処理について、以下、図3に示した具体例を用いて説明する。
図3の例では、上述した通り、秘密情報Pを「2-out-of-3」分散方式により3分割して生成した分割情報P1,P2,P3を、それぞれ、端末A、B、Cに格納している。従って、この例では、2つの分割情報から秘密情報が生成できる。1つは自端末が保持しているので、残りの分割情報のうちの1つを、他の端末10の何れかから取得できれば、秘密情報が生成(復元)できることになる。
【0047】
そして、ここでは、仮に、端末A→端末B→端末Cの順に電源が投入されたものとする。
この具体例において、図4〜図6に示す秘密情報生成処理は、以下に説明する通りとなる。
【0048】
(1)まず、端末Aの電源が投入されると、端末Aは、ブロードキャストにて、起動したことを他の端末へ通知する(しかし、端末B、端末Cは電源未投入のため、応答しない)。
【0049】
(2)次に、端末Bの電源が投入されると、端末Bも、ブロードキャストにて、起動したことを他の端末へ通知する。このとき、端末Aは既に起動済みであるので、端末Aは、端末Bからのブロードキャストを受信し、端末Bに対して、起動通知を返信し、ステップS16以降の処理に移る。端末Bも、この起動通知を受信することで、ステップS16以降の処理に移る。
【0050】
(3)端末Aは、端末Bに対して認証要求を行い、認証成功後、端末Bの耐タンパメモリに格納されている分割情報P2(そのバージョン情報を含む)を取得する。そして、端末Aは、端末Bから取得した分割情報P2のバージョンと、自己が保持している(端末Aの耐タンパメモリ(記憶装置14)に格納されている)分割情報P1のバージョンとを比較し、バージョンが同じ場合には、秘密情報生成可能か否かを判定する。このとき、端末Aは、分割情報P1,P2を取得しているので、上記の通り、秘密情報生成可能であり、分割情報P1とP2とに基づいて、秘密分散法により、秘密情報Pの生成(復元)を行う。
【0051】
以降、端末Aは、生成した秘密情報Pを用いて運用(ICカードへのアクセス処理(決済処理等))を行う。ただし、秘密情報Pは、揮発性メモリ(記憶装置13)に格納する。これにより、電源切断により秘密情報Pは消去されるので、端末Aが盗難された場合でも秘密情報Pが漏洩することはない。これは、他の端末B、Cにおいても同様である。
【0052】
(4)端末Bも、上記(3)の端末Aと同様である。すなわち、端末Bは、端末Aに対
して、認証要求を行い、認証成功後、端末Aの耐タンパメモリに格納されている分割情報P1(そのバージョン情報を含む)を取得する。そして、端末Bは、端末Aから取得した分割情報P1のバージョンと、自己が保持している(端末Bの耐タンパメモリに格納されている)分割情報P2のバージョンとを比較し、バージョンが同じ場合には、秘密情報生成可能か否かを判定する。このとき、端末Bは、分割情報P1,P2を取得しているので、上記の通り、秘密情報生成可能であり、分割情報P1とP2とに基づいて、秘密分散法により、秘密情報Pの生成(復元)を行う。
【0053】
以降、端末Bは、上記端末Aと同様、生成した秘密情報Pを用いて運用を行う。
(5)その後に、端末Cの電源が投入されると、端末Cも、ブロードキャストにて、起動したことを通知する。このとき、端末A,Bは既に起動済みであるので、端末A,Bは、端末Cからのブロードキャストを受信し、端末Cに対して、起動通知を返信し、ステップS16以降の処理に移る。但し、ここでは、端末Aの方が先に起動通知を返信し、端末Cは、まず、端末Aとの認証処理や分割情報取得等を行うものとする。
【0054】
これより、端末Cは、端末Aに対して、認証を行い、認証成功後、端末Aの耐タンパメモリに格納されている分割情報P1(そのバージョン情報を含む)を取得する。そして、端末Cは、端末Aから取得した分割情報P1のバージョンと、自己が保持している(端末Cの耐タンパメモリに格納されている)分割情報P3のバージョンとを比較し、バージョンが同じ場合には、秘密情報生成可能か否かを判定する。このとき、端末Cは、分割情報P1,P3を取得しているので、上記の通り、秘密情報生成可能であり、分割情報P1とP3とに基づいて、秘密分散法により、秘密情報Pの生成(復元)を行う。
【0055】
以降、端末Cは、上記端末A,Bと同様、生成した秘密情報Pを用いて運用を行う。
(6)その後、端末Cは端末Bからの起動通知を受信するが、端末B、Cは共に既に秘密情報Pを生成済みであるので(ステップS20,YES)、分割情報の取得などの処理は行うことなく、処理を終了する。
【0056】
次に、以下、秘密情報更新に係る処理について説明する。秘密情報更新に係る処理は、上述したステップS1,S2の処理、ステップS3の処理であり、以下、これら処理につて詳細に説明するが、その前に、図7を参照して概略的に説明する。
【0057】
図7は、秘密情報更新に係る処理について概略的に説明する為の図である。
ここでは、図7に示す秘密情報P’は、上記図3に示す秘密情報Pの更新版(バージョンアップ版)であるものとする。
【0058】
図7において、店舗a内の各端末10は、例えば定期的に、ネットワーク2,4(及びルータ3)を介して秘密情報配信センタ1にアクセスして、秘密情報配信センタ1側で管理している秘密情報が、図示の秘密情報P’である場合(バージョンアップ等されていた場合)、当該新たな秘密情報P’(バージョン情報含む)を取得する。そして、新たな秘密情報P’を上記「しきい値秘密分散法」(k-out-of-n分散方式)により分割して、新たな分割情報(P1’,P2’,P3’)を生成する。そして、生成した新たな分割情報のうちの1つ(図ではP1’)を自己の耐タンパメモリに上書き・記憶し(これにより既存の分割情報P1は削除される)、残りの分割情報P2’,P3’は、秘密情報P’と共に、他の端末10へ配信して、分割情報は各々の耐タンパメモリに上書き・記憶させる(秘密情報は揮発性メモリに記憶される)。図示の例において、例えば端末Aが上記の処理を行った場合には、端末Bには分割情報P2’と秘密情報P’を配信し、端末Cには分割情報P3’と秘密情報P’を配信して、記憶させている。尚、各分割情報(P1’,P2’,P3’)には、秘密情報P’のバージョン情報が付加される。
【0059】
各端末10(A〜C)は、上記秘密情報P’を用いて運用を行う。但し、上記の通り、秘密情報P’は揮発性メモリに記憶するので、電源OFFにより消去される。その後、各端末10が起動される毎に、上述した通り、各々の耐タンパメモリに記憶した上記新たな分割情報(P1’,P2’,P3’)を用いて秘密情報P’を生成(復元)することになる。
【0060】
以下、まず、上記ステップS1,S2の処理について説明する。
尚、秘密情報更新に係る処理(ステップS1,S2,S3)は、複数の端末10の各々が行ってもよいし、該複数の端末10のうちの予め決められている特定の端末10のみが実行するものであってもよい。
【0061】
端末10は、定期的に、ステップS2の処理を行う。すなわち、予め設定されている指定時間経過する毎に(ステップS1,YES)、ステップS2の処理(秘密情報更新時の処理)を実行する。以下の説明では、端末AがステップS2の処理を実行した場合を例にして説明する。
【0062】
図8は、ステップS2の処理の詳細フローチャート図である。
図8において、端末Aは、まず、秘密情報配信センタ1に対して、秘密情報取得要求を送信する(ステップS41)。秘密情報配信センタ1は、この要求を受信したら(ステップS51)、自己が管理している秘密情報が更新されているか否かを判定する(ステップS52)。この判定方法は、例えば、上記秘密情報取得要求には端末Aが保持している分割情報のバージョン情報が付加されるものとし、秘密情報配信センタ1はこれと自己が現在管理している秘密情報のバージョン情報とを比較すればよい(一致すれば更新なしとなる)。
【0063】
そして、秘密情報配信センタ1が現在管理している秘密情報が、更新されたものであるか否かに係らず、ステップS52の判定結果を端末Aへ送信する(秘密情報取得応答を返信する)(ステップS53)。そして、ステップS52の判定結果がNOの場合(更新無し)でステップS53の送信処理を行った場合には、本処理は終了し、ステップS51に戻る。もし、ステップS52の判定結果がYESの場合(更新あり)でステップS53の送信処理を行った場合には、続いて、端末Aに対して、自己が現在管理している秘密情報(更新版)を送信する(ステップS54)。そして、ステップS51に戻る。
【0064】
端末A側では、上記ステップS41での要求送信後は秘密情報取得応答待ち状態となり(ステップS42)、上記ステップS53によって秘密情報取得応答が返信されてくると、この応答に含まれる上記ステップS52の判定結果を参照して、更新無しであれば(ステップS43,NO)本処理を終了する。
【0065】
一方、更新有りの場合には(ステップS43,YES)、秘密状態受信待ち状態となり(ステップS44)、上記ステップS54の処理によって送信された秘密情報(更新版)を受信すると、当該取得した秘密情報を一時的に耐タンパメモリ(記憶装置14)に記憶すると共に(ステップS45)、耐タンパメモリ上で、当該秘密情報を秘密分散法により分割する処理を実行して複数の分割情報を生成し(ステップS46)、これら複数の分割情報をそのまま耐タンパメモリ上に記憶しておく(ステップS47)。また、分割情報生成後は、秘密情報を、揮発性メモリに記憶(コピー)すると共に耐タンパメモリ上から削除する。よって、電源切断により秘密情報は消去される。
【0066】
図7に示す例では、新たな秘密情報P’は3分割して、3つの新たな分割情報(P1’〜P3’)を生成・格納することになる。そして、上記新たに生成した3つの分割情報を格納する際には、分割情報P1’は自己が保持する分割情報として記憶する為、既存の分
割情報P1に上書き記憶する。他の新たな分割情報P2’、P3’は、例えば他の端末10への配信用の記憶領域等(不図示)に記憶しておく。
【0067】
上記ステップS2の処理が行われることで、端末Aには他の端末10とは異なるバージョンの分割情報P1’が記憶されていることになるので、端末Aにおいてあるいは端末Aとの通信を行う他の端末10において、ステップS23の判定はNOとなり、ステップS3の処理が行われることになる。
【0068】
図9は、ステップS3の詳細処理フローチャート図である。
図9において、まず、自端末10が保持している分割情報のバージョンが、ステップS22で取得した分割情報のバージョンより新しい場合(最新バージョンを保持している場合等)には(ステップS60,YES)、ステップS61以降の処理を行う。既にステップS23で不一致の判定が行われているので、ステップS60の判定がNOとなる場合とは、他の端末10(ステップS21で分割情報取得を要求した端末)が上記図8の処理を行っている場合であるので、この場合には本処理は終了して、当該他の端末10が当該図9の処理を実行することで新たな秘密情報、分割情報を配信してくるのを待つことになる。
【0069】
ステップS60の判定がYESの場合には、グループ内の他の各端末10に対して、ステップS61〜S66の処理を実行して、他の各端末10に新たな秘密情報と新たな分割情報の1つをそれぞれ配信することになる。ここでは、端末Aが当該処理を行うものとして説明する。
【0070】
上記ステップS60の判定がYESの場合には、続いて、まず、図示のステップS61〜S63及びステップS71〜S73の処理が行われるが、これは上記ステップS16〜S19及びステップS26,S27と同様の一般的な認証処理であるので、ここでの説明は省略する。
【0071】
上記認証処理が正常に行われた場合には(ステップS63,YES)、端末Aは、当該認証相手(端末B又はC)に対して、上記取得してある新たな秘密情報P’を送信する(ステップS64)。端末B又はCは、この秘密情報P’を受信すると(ステップS74)、受信した秘密情報P’を揮発性メモリに格納する(ステップS75)。
【0072】
端末Aは、更に、上記新たに生成した分割情報のうちの1つを(但し、自己が保持する分割情報P1’は除く)、端末B又はCへ送信する(ステップS65)と共に、当該送信した分割情報は耐タンパメモリ上から削除する(ステップS66)。端末B又はCは、この分割情報(分割情報P2’又はP3’)を受信すると(ステップS76)、当該受信した分割情報を自己の耐タンパメモリに格納する(ステップS77)。
【0073】
端末B又はCは、上記ステップS75で記憶した秘密情報を用いて運用を開始するので、今回は分割情報に基づく秘密情報の生成(復元)は行わない。
次に、以下、新規端末導入時の処理について説明する。
【0074】
図11、図12は、新規端末導入時の処理フローチャート図(その1)、(その2)である。すなわち、任意のグループに新たな端末10が追加された場合の処理である。
ここでは、一例として、上記図3等に示すように3台の端末A〜端末Cで運用が行われていたシステムに、図10に示す端末Dが新規導入されたものとする。
【0075】
ここで、図11、図12の説明を行う前に、図10を参照して、新規端末導入時の処理について概略的に説明するものとする。
図10は、新規端末導入時の処理を概略的に説明する為の図である。
【0076】
図10は、上記の通り、3台の端末A〜端末Cで構成されている状態で、新たな端末Dがネットワーク4に接続された場合を示すものとする。
この場合、既存の端末10のうちの1台(図示の例では端末A)は、図11、図12の処理を実行することで、自己が保持している秘密情報Pを端末Dに配信して記憶させると共に(これにより端末Dは運用開始可能となる)、当該秘密情報Pを上記「しきい値秘密分散法」(k-out-of-n分散方式)により分割して(但し、nの値はネットワーク4に接続されている端末10の台数(グループ内の台数)とする。従って、それまでは3分割していたが、今回から4分割することになる)、新たな分割情報(p1,p2,p3,p4)を生成する。従って、例えばP1≠p1となるので、自端末を含めて全ての端末10(A〜D)に新たな分割情報を記憶させる必要がある。
【0077】
ここでは仮に端末Aが上記処理を行ったとした場合、端末Aは、分割情報p1は自己が保持し、他の分割情報p2〜p4は他の端末B〜Dに配信して記憶させる。後に、運用終了により各端末10が電源OFFすると秘密情報Pが消去され、その後(翌朝等)各端末10は、起動すると、k-out-of-n分散方式(但し、n=4)により、分割情報p1〜p4のうちの一部(所定数(k)以上)を用いて、秘密情報Pを生成(復元)することになる。
【0078】
以下、上記新規端末導入時の処理について、図11、図12を参照して詳細に説明する。
新規導入された端末Dをネットワーク4に接続後、端末Dの電源を投入すると、端末Dは、ブロードキャストにて、新規に導入されたことを他の端末10へ通知する(ステップS101)。尚、この通知には、端末Dに関する情報(アドレス等)が含まれる。ブロードキャストであるので全端末10が受信するが、ここでは上記の通り端末Aが、端末Dとの図示の通信・処理を行うものとする。尚、当該処理を行う既存端末10は、予め決められている特定の端末としてもよいし、任意の端末としてもよいが、少なくとも既に秘密情報を生成して運用中である端末である必要がある。
【0079】
端末Aは、端末Dからのブロードキャストを受信すると(ステップS81)、自己が保持している秘密情報を秘密分散法により分割して新たな複数の分割情報を生成する(ステップS82)。これは上記k-out-of-n分散方式で行うが、端末10の数が増えたことから、“n”の数を増加させる。つまり、これまでは3分割(n=3)であったが、4分割(n=4)させることになる。また、kの値も増加(+1)することになる。これによって、上記新たな分割情報p1〜p4が生成される。この様に、新規端末を導入した際にn,kを共に増やすことにより、より安全性を高めることができる。但し、複数の端末10で重複して同じ分割情報が保持されるようにすることも可能である。
【0080】
そして、生成した複数の分割情報を一時的に記憶すると共に、当該複数の分割情報うちの1つを(図10の例ではp1)、自己が保持する分割情報として耐タンパメモリ上に上書き記憶する(ステップS83)。そして、残りの分割情報(p2〜p4)を全て他の端末10へ配信するまで(ステップS84がYESとなるまで)、ステップS85以降の処理を実行する。
【0081】
本例では、まず、新規の端末Dとの間でステップS85〜S87、S102〜S104の認証処理を行うものとする。この認証処理は、上述したステップS17〜S19、S26、S27等の認証処理と略同様の一般的な認証処理であるので、ここでは説明しない。
【0082】
端末Aは、端末Dとの認証処理が正常に行えた場合には(ステップS87,YES)、
端末Dに対して、まず、秘密情報Pを送信し(ステップS88)、更に生成した分割情報のうちの1つを送信して(ステップS89)、当該送信した分割情報を耐タンパメモリ上から削除する(ステップS90)。
【0083】
端末Dは、上記秘密情報Pを受信すると(ステップS105)、この秘密情報Pを揮発性メモリに記憶する(ステップS106)。また、上記分割情報のうちの1つ(図10の例では分割情報p4)を受信すると(ステップS107)、この分割情報を耐タンパメモリに記憶する(ステップS108)。
【0084】
端末Aは、上記ステップS90の処理後、ステップS84に戻り、未だ分割情報p2、p3が未配信であるので、他の端末B,Cに対しても、上記ステップS85〜S90の処理を行って、秘密情報と新たな分割情報を配信する。但し、他の端末B,Cが既に運用中である場合には、ステップS88の秘密情報送信処理は特に行う必要はない。
【0085】
尚、既に述べた通り、秘密情報は各端末10の揮発性メモリに格納され、分割情報は各端末10の耐タンパメモリに格納される。そして、秘密分散法による分割情報の生成又は秘密情報の生成(復元)の為の処理は、耐タンパメモリ上で行われる。
【0086】
尚、新規導入される端末(ここでは端末D)には、予め、その端末Dが接続するネットワーク4に接続している全ての端末10のアドレスが記憶されていてもよいし、例えば認証処理や秘密情報送信の際に端末Aが全端末10のアドレスも端末Dに送信して記憶させてもよい。
【0087】
以上のように、本発明を適用することにより、端末が盗難された場合でも、端末内には、秘密情報が保管されていないため、秘密情報が漏洩することはない。
また、端末が故障した場合や盗難された場合においても、システム内にある一定数以上の端末があれば、運用を行うことが可能である。
【0088】
さらに、端末を新規に導入する(リプレースの場合も含む)場合においても、容易に導入を行うことが可能である。
また、上記特許文献2では、通信暗号鍵(秘密情報に相当)自体は分割していないので、“特許文献2の分割情報”と“本発明の分割情報”とは、全く異なるものである。そして、特許文献2では、通信暗号鍵(秘密情報に相当)をそのまま耐タンパメモリに記憶している。一方、本発明では、各端末10において、分割情報を耐タンパメモリに記憶しているので、秘密情報の漏洩のリスクを低減できる。
【図面の簡単な説明】
【0089】
【図1】本例のICカードシステムの全体構成図である。
【図2】端末のハードウェア構成図である。
【図3】秘密情報生成処理を概略的に説明する為の図である。
【図4】秘密情報生成処理を示すフローチャート図(その1)である。
【図5】秘密情報生成処理を示すフローチャート図(その2)である。
【図6】秘密情報生成処理を示すフローチャート図(その3)である。
【図7】秘密情報更新に係る処理について概略的に説明する為の図である。
【図8】ステップS2の処理の詳細フローチャート図である。
【図9】ステップS3の処理の詳細フローチャート図である。
【図10】新規端末導入時の処理を概略的に説明する為の図である。
【図11】新規端末導入時の処理フローチャート図(その1)である。
【図12】新規端末導入時の処理フローチャート図(その2)である。
【符号の説明】
【0090】
1 秘密情報配信センタ
2 ネットワーク
3 ルータ
4 ネットワーク
10 端末
11 主制御部(CPU等)
12 記憶装置(不揮発性)
13 記憶装置(揮発性)
14 記憶装置(耐タンパメモリ)
15 通信制御部(対主局)
16 通信制御部
17 通信制御部(対カード)
18 R/W(リーダライタ)
20 主局(上位コントローラ)
【特許請求の範囲】
【請求項1】
秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムであって、
前記各情報処理端末は、
前記秘密情報を秘密分散法により分割してなる複数の分割情報のうちの1つを記憶する分割情報記憶手段と、
起動する毎に、前記第1のネットワークを介して、他の各情報処理端末にアクセスして、該他の情報処理端末内の前記分割情報記憶手段に記憶されている分割情報を取得する分割情報取得手段と、
前記分割情報取得手段で取得した分割情報の数が所定数以上となった場合、該取得した分割情報と自端末内の前記分割情報記憶手段に記憶している分割情報とを用いて、前記秘密分散法により前記秘密情報を生成して、該生成した秘密情報を揮発性記憶手段に記憶する秘密情報生成・記憶手段と、
を有することを特徴とするICカードシステム。
【請求項2】
前記各情報処理端末は、
定期的に又は任意のときに、第2のネットワークを介して前記センタ装置とアクセスして該センタ装置が管理する秘密情報を取得する秘密情報取得手段と、
該秘密情報取得手段により取得した秘密情報を秘密分散法を用いて分割して、複数の分割情報を生成する分割情報生成手段と、
該分割情報生成手段により生成された複数の分割情報の1つを自端末内の前記分割情報記憶手段に上書き記憶すると共に、他の分割情報を前記第1のネットワークに接続されている他の情報処理端末にそれぞれ前記第1のネットワークを介して配信して、各々の前記分割情報記憶手段に該他の分割情報の1つを上書き記憶させ、該他の情報処理端末に配信した分割情報は自端末から消去する分割情報配信手段と、
を更に有することを特徴とする請求項1記載のICカードシステム。
【請求項3】
前記分割情報記憶手段は耐タンパメモリであることを特徴とする請求項1又は2記載のICカードシステム。
【請求項4】
前記秘密情報取得手段は、前記センタ装置が管理している秘密情報が更新されている場合のみ、前記秘密情報の取得を行うことを特徴とする請求項2記載のICカードシステム。
【請求項5】
前記分割情報生成手段で生成する分割情報の数は、前記第1のネットワークに接続されている前記情報処理端末の数と同数とし、
各情報処理端末には各々異なる分割情報を記憶させることを特徴とする請求項2記載のICカードシステム。
【請求項6】
前記第1のネットワークに新規の情報処理端末が導入された場合、該新規の情報処理端末は該第1のネットワークを介して既存の前記情報処理端末に対して新規導入通知を送信し、
前記既存の情報処理端末は、
該新規導入通知を受信すると、前記新規の情報処理端末に対して前記揮発性記憶手段に記憶されている前記秘密情報を送信して記憶させ、更に、前記分割情報生成手段が、前記揮発性記憶手段に記憶されている前記秘密情報を、前記秘密分散法を用いて、該新規の情報処理端末も含めて前記第1のネットワークに接続している情報処理端末の台数に応じて分割することで、新たな複数の分割情報を生成し、
前記分割情報配信手段は、該分割情報生成手段により生成された新たな複数の分割情報の1つを自端末内の前記分割情報記憶手段に上書き記憶すると共に、前記第1のネットワークに接続されている、前記新規の情報処理端末も含めた他の情報処理端末に対して、他の新たな分割情報をそれぞれ前記第1のネットワークを介して配信して、各々の前記分割情報記憶手段に前記新たな分割情報の1つを上書き記憶させ、該他の情報処理端末に配信した新たな分割情報は自端末から消去することを特徴とする請求項2又は5記載のICカードシステム。
【請求項7】
所定の秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムにおける前記各情報処理端末であって、
前記秘密情報を秘密分散法により分割してなる複数の分割情報のうちの1つを記憶する分割情報記憶手段と、
起動する毎に、前記第1のネットワークを介して、他の各情報処理端末にアクセスして、該他の情報処理端末内の前記分割情報記憶手段に記憶されている分割情報を取得する分割情報取得手段と、
前記分割情報取得手段で取得した分割情報の数が所定数以上となった場合、該取得した分割情報と自端末内の前記分割情報記憶手段に記憶している分割情報とを用いて、前記秘密分散法により、前記秘密情報を生成して該生成した秘密情報を揮発性記憶手段に記憶する秘密情報生成・記憶手段と、
を有することを特徴とする情報処理端末。
【請求項8】
所定の秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムにおける、前記各情報処理端末は、
定期的に又は任意のときに、第2のネットワークを介して前記センタ装置とアクセスして該センタ装置が管理する前記秘密情報を取得する秘密情報取得手段と、
該秘密情報取得手段により取得した秘密情報を秘密分散法を用いて分割して、複数の分割情報を生成する分割情報生成手段と、
該分割情報生成手段により生成された複数の分割情報の1つを自端末内の耐タンパメモリに記憶すると共に、他の分割情報を前記第1のネットワークに接続されている他の情報処理端末にそれぞれ前記第1のネットワークを介して配信して、各他の情報処理端末内の耐タンパメモリに該他の分割情報の1つを記憶させ、該他の情報処理端末に配信した分割情報は自端末から消去する分割情報配信手段と、
を有することを特徴とする情報処理端末。
【請求項9】
所定の秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムにおける、前記各情報処理端末のコンピュータに、
前記秘密情報を秘密分散法により分割してなる複数の分割情報のうちの1つを記憶する機能と、
起動する毎に、前記第1のネットワークを介して他の各情報処理端末にアクセスして、該他の情報処理端末が保持している分割情報を取得する機能と、
該取得した分割情報の数が所定数以上となった場合、該取得した分割情報と前記記憶している分割情報とを用いて前記秘密分散法により前記秘密情報を生成して、該生成した秘密情報を揮発性メモリに記憶する機能と、
を実現させる為のプログラム。
【請求項10】
所定の秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前
記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムにおける、前記各情報処理端末のコンピュータに、
定期的に又は任意のときに、第2のネットワークを介して前記センタ装置とアクセスして該センタ装置が管理する前記秘密情報を取得する機能と、
該センタ装置から取得した秘密情報を、秘密分散法を用いて分割して複数の分割情報を生成する機能と、
該生成された複数の分割情報の1つを記憶すると共に、他の分割情報をそれぞれ前記第1のネットワークに接続されている他の各情報処理端末に前記第1のネットワークを介して配信して記憶させ、該他の各情報処理端末に配信した分割情報は自端末から消去する機能と、
を実現させる為のプログラム。
【請求項1】
秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムであって、
前記各情報処理端末は、
前記秘密情報を秘密分散法により分割してなる複数の分割情報のうちの1つを記憶する分割情報記憶手段と、
起動する毎に、前記第1のネットワークを介して、他の各情報処理端末にアクセスして、該他の情報処理端末内の前記分割情報記憶手段に記憶されている分割情報を取得する分割情報取得手段と、
前記分割情報取得手段で取得した分割情報の数が所定数以上となった場合、該取得した分割情報と自端末内の前記分割情報記憶手段に記憶している分割情報とを用いて、前記秘密分散法により前記秘密情報を生成して、該生成した秘密情報を揮発性記憶手段に記憶する秘密情報生成・記憶手段と、
を有することを特徴とするICカードシステム。
【請求項2】
前記各情報処理端末は、
定期的に又は任意のときに、第2のネットワークを介して前記センタ装置とアクセスして該センタ装置が管理する秘密情報を取得する秘密情報取得手段と、
該秘密情報取得手段により取得した秘密情報を秘密分散法を用いて分割して、複数の分割情報を生成する分割情報生成手段と、
該分割情報生成手段により生成された複数の分割情報の1つを自端末内の前記分割情報記憶手段に上書き記憶すると共に、他の分割情報を前記第1のネットワークに接続されている他の情報処理端末にそれぞれ前記第1のネットワークを介して配信して、各々の前記分割情報記憶手段に該他の分割情報の1つを上書き記憶させ、該他の情報処理端末に配信した分割情報は自端末から消去する分割情報配信手段と、
を更に有することを特徴とする請求項1記載のICカードシステム。
【請求項3】
前記分割情報記憶手段は耐タンパメモリであることを特徴とする請求項1又は2記載のICカードシステム。
【請求項4】
前記秘密情報取得手段は、前記センタ装置が管理している秘密情報が更新されている場合のみ、前記秘密情報の取得を行うことを特徴とする請求項2記載のICカードシステム。
【請求項5】
前記分割情報生成手段で生成する分割情報の数は、前記第1のネットワークに接続されている前記情報処理端末の数と同数とし、
各情報処理端末には各々異なる分割情報を記憶させることを特徴とする請求項2記載のICカードシステム。
【請求項6】
前記第1のネットワークに新規の情報処理端末が導入された場合、該新規の情報処理端末は該第1のネットワークを介して既存の前記情報処理端末に対して新規導入通知を送信し、
前記既存の情報処理端末は、
該新規導入通知を受信すると、前記新規の情報処理端末に対して前記揮発性記憶手段に記憶されている前記秘密情報を送信して記憶させ、更に、前記分割情報生成手段が、前記揮発性記憶手段に記憶されている前記秘密情報を、前記秘密分散法を用いて、該新規の情報処理端末も含めて前記第1のネットワークに接続している情報処理端末の台数に応じて分割することで、新たな複数の分割情報を生成し、
前記分割情報配信手段は、該分割情報生成手段により生成された新たな複数の分割情報の1つを自端末内の前記分割情報記憶手段に上書き記憶すると共に、前記第1のネットワークに接続されている、前記新規の情報処理端末も含めた他の情報処理端末に対して、他の新たな分割情報をそれぞれ前記第1のネットワークを介して配信して、各々の前記分割情報記憶手段に前記新たな分割情報の1つを上書き記憶させ、該他の情報処理端末に配信した新たな分割情報は自端末から消去することを特徴とする請求項2又は5記載のICカードシステム。
【請求項7】
所定の秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムにおける前記各情報処理端末であって、
前記秘密情報を秘密分散法により分割してなる複数の分割情報のうちの1つを記憶する分割情報記憶手段と、
起動する毎に、前記第1のネットワークを介して、他の各情報処理端末にアクセスして、該他の情報処理端末内の前記分割情報記憶手段に記憶されている分割情報を取得する分割情報取得手段と、
前記分割情報取得手段で取得した分割情報の数が所定数以上となった場合、該取得した分割情報と自端末内の前記分割情報記憶手段に記憶している分割情報とを用いて、前記秘密分散法により、前記秘密情報を生成して該生成した秘密情報を揮発性記憶手段に記憶する秘密情報生成・記憶手段と、
を有することを特徴とする情報処理端末。
【請求項8】
所定の秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムにおける、前記各情報処理端末は、
定期的に又は任意のときに、第2のネットワークを介して前記センタ装置とアクセスして該センタ装置が管理する前記秘密情報を取得する秘密情報取得手段と、
該秘密情報取得手段により取得した秘密情報を秘密分散法を用いて分割して、複数の分割情報を生成する分割情報生成手段と、
該分割情報生成手段により生成された複数の分割情報の1つを自端末内の耐タンパメモリに記憶すると共に、他の分割情報を前記第1のネットワークに接続されている他の情報処理端末にそれぞれ前記第1のネットワークを介して配信して、各他の情報処理端末内の耐タンパメモリに該他の分割情報の1つを記憶させ、該他の情報処理端末に配信した分割情報は自端末から消去する分割情報配信手段と、
を有することを特徴とする情報処理端末。
【請求項9】
所定の秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムにおける、前記各情報処理端末のコンピュータに、
前記秘密情報を秘密分散法により分割してなる複数の分割情報のうちの1つを記憶する機能と、
起動する毎に、前記第1のネットワークを介して他の各情報処理端末にアクセスして、該他の情報処理端末が保持している分割情報を取得する機能と、
該取得した分割情報の数が所定数以上となった場合、該取得した分割情報と前記記憶している分割情報とを用いて前記秘密分散法により前記秘密情報を生成して、該生成した秘密情報を揮発性メモリに記憶する機能と、
を実現させる為のプログラム。
【請求項10】
所定の秘密情報を用いてICカードへのアクセス処理を行う複数の情報処理端末と、前
記秘密情報を管理するセンタ装置とを有し、前記複数の情報処理端末が第1のネットワークに接続されているICカードシステムにおける、前記各情報処理端末のコンピュータに、
定期的に又は任意のときに、第2のネットワークを介して前記センタ装置とアクセスして該センタ装置が管理する前記秘密情報を取得する機能と、
該センタ装置から取得した秘密情報を、秘密分散法を用いて分割して複数の分割情報を生成する機能と、
該生成された複数の分割情報の1つを記憶すると共に、他の分割情報をそれぞれ前記第1のネットワークに接続されている他の各情報処理端末に前記第1のネットワークを介して配信して記憶させ、該他の各情報処理端末に配信した分割情報は自端末から消去する機能と、
を実現させる為のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−234017(P2008−234017A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−69079(P2007−69079)
【出願日】平成19年3月16日(2007.3.16)
【出願人】(000005234)富士電機ホールディングス株式会社 (3,146)
【Fターム(参考)】
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願日】平成19年3月16日(2007.3.16)
【出願人】(000005234)富士電機ホールディングス株式会社 (3,146)
【Fターム(参考)】
[ Back to top ]