説明

秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム

【課題】秘密にすべき情報の機密性および安全性を確保しつつ、ICカード側に保持する情報および処理をより低減させる。
【解決手段】ユーザが所有するICカード1と連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第1の分割データをICカード1に、第2の分割データをDB5に分散して格納する分割データ生成手段41と、秘密情報の使用要求を受け付けてICカード1から第1の分割データを取得するとともに、DB5から第2の分割データを取得し、第1の分割データおよび第2の分割データを用いて秘密情報を復元する復元手段42と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカードと連携してユーザの秘密情報を管理する秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラムに関する。
【背景技術】
【0002】
ICカードは、その耐タンパ特性を利用して、他人に見られたくない暗証番号、複製を防止すべき公開鍵暗号方式における秘密鍵などの秘密にすべき情報を安全に保存するとともに、前記秘密鍵を用いた電子署名などの処理を外部から参照されることなく安全に実施することができる。
【0003】
また、秘密にすべき情報の機密性および安全性を確保するために、情報を分散化して管理し、その一部が漏えいしても元の情報を推測できないようにする秘密分散法がある。秘密分散法には、様々な方式がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−213650号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
さて、ICカードの利便性を向上させるために、複数の秘密にすべき情報および複数の処理を、1枚のICカードに保持することができる。しかしながら、複数の情報および処理を保持できる高機能なICカードは、単純なICカードと比較してコストが高いという問題がある。
【0006】
また、ICカードを発行し、ユーザに配布した後に、秘密にすべき情報やそれに対応する処理を追加する場合、ユーザはICカードをICカード発行元などの所定の機関に持参し、秘密にすべき情報や処理をICカードに追加する必要があり、ユーザ数が増加するほど全てのユーザに前記の追加を行うためのコストが増えるといった運用面での問題がある。
【0007】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、秘密にすべき情報の機密性および安全性を確保しつつ、ICカード側に保持する情報および処理をより低減させることにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明は、ユーザが所有するICカードと連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第1の分割データを前記ICカードに、第2の分割データをデータベースに分散して格納する分割データ生成手段と、前記秘密情報の使用要求を受け付けて、前記ICカードから前記第1の分割データを取得するとともに、前記データベースから前記第2の分割データを取得し、前記第1の分割データおよび前記第2の分割データを用いて前記秘密情報を復元する復元手段と、を有する。
【0009】
また、本発明は、ユーザが所有するICカードと連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、ユーザの秘密情報を暗号化し、暗号化した秘密情報をデータベースに格納する暗号化手段と、前記秘密情報の使用要求を受け付けて、前記データベースから暗号化した秘密情報を取得し、前記暗号化した秘密情報を復号する復号手段と、を有し、前記暗号化手段は、耐タンパ領域において前記秘密情報を暗号化し、前記復号手段は、前記耐タンパ領域において前記秘密情報を復号する。
【0010】
また、本発明は、ユーサが所有するICカードと連携して、ユーザの秘密情報を管理する秘密情報管理方法であって、ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割するデータ分割ステップと、前記複数の分割データのうちの第1の分割データを前記ICカードに、第2の分割データをデータベースに分散して格納する格納ステップと、前記秘密情報の使用要求を受け付けて、前記ICカードから前記第1の分割データを取得するとともに、前記データベースから前記第2の分割データを取得し、前記第1の分割データおよび前記第2の分割データを用いて前記秘密情報を復元する復元ステップと、を有する。
【0011】
また、本発明は、ユーザが所有するICカードと連携して、ユーザの秘密情報を管理するICカードシステム用の秘密情報管理プログラムであって、前記ICカードシステムを、ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第1の分割データを前記ICカードに、第2の分割データをデータベースに分散して格納する分割データ生成手段、前記秘密情報の使用要求を受け付けて、前記ICカードから前記第1の分割データを取得するとともに、前記データベースから前記第2の分割データを取得し、前記第1の分割データおよび前記第2の分割データを用いて前記秘密情報を復元する復元手段、として機能させる。
【発明の効果】
【0012】
本発明によれば、秘密にすべき情報の機密性および安全性を確保しつつ、ICカード側に保持する情報および処理をより低減させることができる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施形態に係るICカードシステムの全体構成図である。
【図2】第1の方法の電子署名処理を示すシーケンス図である。
【図3】サービス追加時の第1の方法の電子署名処理を示すシーケンス図である。
【図4】第2の方法の電子署名処理を示すシーケンス図である。
【図5】サービス追加時の第2の方法の電子署名処理を示すシーケンス図である。
【図6】本発明の第2の実施形態に係るICカードシステムの全体構成図である。
【図7】第2の実施形態の電子署名処理を示すシーケンス図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について説明する。
【0015】
<第1の実施形態>
図1は、本発明の第1の実施形態に係るICカードシステムの全体構成を示す図である。図示するシステムは、ユーザが所有するICカード1およびユーザ端末2と、前記ICカード1と連携してユーザの秘密情報を管理する秘密情報管理システムと、少なくとも1つのサービスサーバ8とを有する。ユーザ端末2、秘密情報管理システムおよびサービスサーバ8は、インターネットなどのネットワーク9によりそれぞれ接続されている。
【0016】
本実施形態のICカード1には、認証サーバ3が当該ICカード1を使用するユーザの認証を行うための認証情報と、後述する分散鍵とが記憶されるものとする。本実施形態では、認証情報に公開鍵暗号方式の秘密鍵を用いるものとする。しかしながら、認証情報は秘密鍵に限定されず、パスワード等などその他の認証方式を用いることとしてもよい。
【0017】
ユーザ端末2は、例えばパソコン(Personal Computer)などであって、ICカード1に記憶された情報を読み取るリーダライタ21を備える。
【0018】
秘密情報管理システムは、認証サーバ3と、HSM(Hardware Security Module)装置4と、DB(データベース)5と、バックアップ用DB6とを有する。
【0019】
認証サーバ3は、認証用DB31を参照し、ICカード1を使用するユーザの認証を行う。本実施形態の認証用DB31には、ICカード1に格納されている秘密鍵とペアとなる公開鍵が記憶されているものとする。
【0020】
HSM装置4は、耐タンパ性(物理的な攻撃に対する耐性)を持つハードウェアであって、秘密にすべき情報を安全に格納し、秘密にすべき情報を用いた処理を安全に実行するものである。本実施形態のHSM装置4は、分割データ生成部41と、復元部42と、電子署名部43とを有する。分割データ生成部41は、秘密分散法を用いて秘密情報を複数の分割データに分割して、ICカード1、DB5、バックアップ用DB6に分散して格納する。復元部42は、ICカード1およびDB5から分割データを取得し、これらの分割データを用いて秘密情報を復元する。電子署名部43は、復元した秘密情報を用いて電子署名を生成する。
【0021】
本実施形態では、HMS装置4内で秘密情報の分割データの生成、秘密情報の復元および電子署名処理を行うため、秘密情報の漏洩、および許可のないユーザによる署名やプログラム改ざんによる署名の偽造を防止し、秘密情報の機密性および安全性を確保することができる。なお、本実施形態では、秘密情報管理システムで用いる耐タンパな装置の例としてHSM装置4を用いるが、これに限定されない。耐タンパな条件を満たす装置であればHSM装置4以外のものを適用してもよい。
【0022】
DB5およびバックアップ用DB6には、後述する分散鍵がそれぞれ記憶されるものとする。各サービスサーバ8は、例えばe−taxなどの認証サービスをICカードを所持するユーザに提供する。
【0023】
上記説明したユーザ端末2、認証サーバ3、HSM装置4およびサービスサーバ8は、例えば、少なくともCPUと、メモリとを備えたコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、ユーザ端末2、認証サーバ3およびHSM装置4の各機能は、ユーザ端末2用のプログラムの場合はユーザ端末2のCPUが、認証サーバ3用のプログラムの場合は認証サーバ3のCPUが、そしてHSM装置4用のプログラムの場合はHSM装置4のCPUが、それぞれ実行することにより実現される。
【0024】
次に、本実施形態の処理について説明する。
【0025】
本実施形態では、ユーザ端末2で作成した所定の文書に電子書名をして、サービスサーバ8に送信する処理について説明する。この場合、秘密情報管理システムが管理する秘密情報は、電子署名に用いる署名用秘密鍵である。
【0026】
本実施形態は、秘密分散法を用いて署名用秘密鍵を複数のデータに分割し、ICカード1側および秘密情報管理システム側で分散して保持するものとする。また、本実施形態では、秘密分散法として特許文献1(特開2004−213650号公報)に記載されたデータ分割方法を用いるものとする。
【0027】
特許文献1のデータ分割方法は、元データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するものである。すなわち、元データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、元データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成する。そして、各分割データを構成する各分割部分データを、元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成する。そして、所望の分割数の分割データを複数の分割部分データから生成する。このようにして生成した所定の数の分割データは、各分割データのみから元データを復元することはできないが、生成した分割データのうちの所定の個数の分割データから、元データを復元することができる。
【0028】
また、生成された分割データは、乱数のみからなる分割データと、元部分データと乱数部分データの排他的論理和演算によって生成される分割部分データからなる分割データとを含む。
【0029】
HSM装置4は、この特許文献1のデータ分割方法を用いて、秘密情報である署名用秘密鍵(元データ)から3つの分散鍵(分割データ)を生成する。そして、ICカード1には、3つの分散鍵のうち乱数のみからなる分散鍵(以下、「分散鍵A」)を格納する。残り2つの排他的論理和演算によって生成される分散鍵(以下、「分散鍵B」、「分散鍵C」)については、DB5およびバックアップ用DB6にそれぞれ格納することとする。また、3つの分散鍵のうちの任意の2つの分散鍵から、署名用秘密鍵を復元できるものとする。
【0030】
図2は、本実施形態の第1の方法の電子署名処理を示すシーケンス図である。
【0031】
ICカード発行時における事前処理として、ICカード1は、ユーザ認証を行うためにペアの認証用秘密鍵および認証用公開鍵を生成し(S31)、認証用秘密鍵についてはユーザIDとともに当該ICカード1内に格納し、認証用公開鍵についてはユーザIDとともに認証サーバ3に送信する(S32)。認証サーバ3は、送信された認証用公開鍵をユーザIDと対応付けて認証用DBに記憶する。
【0032】
そして、HSM装置4の分割データ生成部41は、当該ユーザIDの署名用秘密鍵を複数の分割データに分割する。具体的には、前述のデータ分割方法を用いて、3つの分散鍵A、B、Cを生成する(S33)。そして、分割データ生成部41は、分散鍵BをDB5に格納し(S34)、分散鍵Cをバックアップ用DB6に格納する(S35)。また、分割データ生成部41は、乱数のみからなる分散鍵AをICカード1に格納する(S36)。
【0033】
このように、認証用秘密鍵と、署名用秘密鍵の分散鍵Aと、ユーザIDとが格納されたICカード1が発行され、ユーザに配布される。
【0034】
なお、HSM装置4は、署名用秘密鍵をあらかじめ当該HSM装置4内で生成し、分散鍵A、B、Cを生成した後は署名用秘密鍵を廃棄し、HSM装置4内には署名用秘密鍵は格納されていないものとする。サービスサーバ8は、当該ユーザIDに対応する署名用公開鍵を有するものとする。バックアップ用DB6は、分散鍵Cを格納後、HSM装置4および認証サーバ3から切り離され、アクセスできない状態となる。なお、運用上バックアップを作成する必要がない場合、またはバックアップを作ってはいけない場合には、分散鍵Cを生成せず、すなわちバックアップ用DB6が存在しない実施形態としてもよい。
【0035】
次に秘密情報管理システムを利用して電子署名を行う際に、まずユーザは、ユーザ端末2のリーダライタにICカード1をかざす(または接触させる)。認証サーバ3は、ユーザ端末2を経由して、チャレンジアンドレスポンスの手法を用いて、ICカード1内に認証用秘密鍵が有ることを確認して認証を行う(S37)。
【0036】
ユーザ認証に成功した場合、ユーザは、所定の文書に対する電子署名の指示をユーザ端末2に入力する。ユーザ端末2は、電子署名指示を受け付けると(S38)、署名対象の文書のハッシュ値(メッセージダイジェスト)を生成し、算出したハッシュ値をユーザIDとともに認証サーバ3に送信する(S39)。なお、ユーザ端末2は、署名対象の文書も認証サーバ3に送信することとしてもよい。認証サーバ3は、受信したハッシュ値およびユーザIDを含む署名依頼をHSM装置4に送信する(S40)。
【0037】
HSM装置4の復元部42は、セキュアメッセージング機能またはSSL(Secure Socket Layer)などを用いてICカード1(ユーザ端末2)との間に秘密通信路を確立し、当該秘密通信路を用いてICカード1から分散鍵Aを取得する(S41)。また、復元部4は、署名依頼で指定されたユーザIDに対応する分散鍵BをDB5から取得する(S42)。そして、復元部42は、乱数のみからなる分散鍵Aと、分散鍵Bとを用いて署名用秘密鍵をメモリ上で復元する(S43)。
【0038】
そして、HSM装置4の電子署名部43は、復元した署名用秘密鍵を用いてS40で受信したハッシュ値を暗号化することにより電子署名を生成し(S44)、生成した電子署名を認証サーバ3を介してユーザ端末2に送信する(S45、S47)。また、電子署名部43は、電子署名を生成後、S43で復元した署名用秘密鍵をメモリ上から消去(削除)する(S46)。
【0039】
ユーザ端末2は、署名対象文書(平文)に電子署名を付加した署名付文書を生成し、当該署名付文書をユーザIDとともにサービスサーバ8に送信する(S48)。
【0040】
サービスサーバ8は、署名付文書を署名対象文書と電子署名とに分離し、署名対象文書からハッシュ値を生成する。また、サービスサーバ8は、電子署名については、受信したユーザIDに対応する署名用公開鍵を用いて復号し、ハッシュ値を取得する。そして、サービスサーバ8は、生成したハッシュ値と、電子署名を復号して取得したハッシュ値とが一致する場合、受信した署名対象文書が改ざんされていないこと、および正当なユーザから送信された署名対象文書であると認証する。
【0041】
図3は、図2に示す第1の方法の電子署名処理において、ICカード1で利用可能な新たなサービスが追加された場合のシーケンス図である。すなわち、図2のサービスサーバ8が提供するサービスとは別の新たなサービスがICカード1で利用可能となった場合の処理を説明する。
【0042】
サービス追加時の事前処理として、ユーザは、ユーザ端末2のリーダライタにICカード1をかざす。これにより、図2のS37と同様のユーザ認証が行われる(S51)。ユーザ認証に成功した場合、ユーザ端末2は、ユーザの指示を受け付けて、ユーザIDを含むサービス追加要求を認証サーバ3に送信する(S52)。認証サーバ3は、受信したサービス追加要求をHSM装置4に送信する(S53)。
【0043】
そして、HSM装置4の分割データ生成部41は、セキュアメッセージング機能またはSSL(Secure Socket Layer)などを用いてICカード1(ユーザ端末2)との間に秘密通信路を確立し、当該秘密通信路を用いてICカード1から分散鍵Aを取得する(S54)。
【0044】
そして、分割データ生成部41は、当該ユーザIDの新たなサービス用の署名用秘密鍵と、乱数のみからなる分散鍵Aとを用いて、新たなサービス用の分散鍵B’と、新たなサービス用の分散鍵C’とを生成する(S55)。すなわち、分割データ生成部41は、新たなサービス用の署名用秘密鍵と、乱数のみからなる分散鍵Aとを用いて、前述のデータ分割方法の排他的論理和演算を行うことにより、新たなサービス用の分散鍵B’と、新たなサービス用の分散鍵C’とを生成する。新たな署名用秘密鍵と、ICカード1から取得した分散鍵Aとを用いて図2のS33の秘密分散と同じ演算を行うが、ここでは署名用秘密鍵が異なるため、分散鍵Bとは別の分散鍵B’と分散鍵Cとは別の分散鍵C’とが生成される。
【0045】
そして、分割データ生成部41は、分散鍵B’をDB5に格納し(S56)、分散鍵C’をバックアップ用DB6に格納する(S57)。なお、HSM装置4または認証サーバ3等の所定の装置において、複数の分散鍵B、B’および分散鍵C、C’の各々と、対応するサービスとを管理しておくものとする。
【0046】
利用時においては、図2のS37からS48と同様である。すなわち、HSM装置4の復元部42は、ユーザ端末2から新たなサービスの署名依頼を受け付けると、DB5から新たなサービス用の分散鍵B’を取得し、当該分散鍵B’とICカード1から取得した分散鍵Aとを用いて新たなサービスの署名用秘密鍵を生成し、当該署名用秘密鍵を用いて電子署名を生成する。
【0047】
図2および図3で説明した第1の方法では、新たなサービスが追加された場合であっても、分散鍵Aについては全てのサービスで共通して同じものを使用し、分散鍵Bおよび分散鍵Cをサービス毎に個別に生成する。このように分散鍵Aを複数のサービスで共通利用することにより、新たなサービスを追加してもICカード1内のデータを書き換える必要がないため、ユーザの利便性を向上することができる。
【0048】
次に、第2の方法の電子署名処理について説明する。第2の方法では、ICカード1の発行時に、複数の分散鍵Aをあらかじめ生成し、ICカード1内に生成した複数の分散鍵Aを格納しておくこととする。
【0049】
図4および図5は、第2の方法の電子署名処理を示すシーケンス図である。
【0050】
図4に示すICカード発行時における事前処理として、ICカード1は、ユーザ認証を行うためにペアの認証用秘密鍵および認証用公開鍵を生成し(S71)、認証用秘密鍵についてはユーザIDとともに当該ICカード1内に格納し、認証用公開鍵についてはユーザIDとともに認証サーバ3に送信する(S72)。認証サーバ3は、送信された認証用公開鍵をユーザIDと対応付けて認証用DBに記憶する。
【0051】
そして、HSM装置4の分割データ生成部41は、当該ユーザIDの署名用秘密鍵から複数の分割データを生成する。具体的には、特許文献1のデータ分割方法を用いて、分散鍵A、B、Cを生成する(S73)。なお、第2の方法では、分散鍵Aについては、複数生成するものとする。前述のとおり、分散鍵Aは乱数のみからなり、署名用秘密鍵を用いることなく生成できるものである。このため、分割データ生成部41は、所定の乱数生成方法を用いて、複数の分散鍵A、A’、A’’を生成するものとする。
【0052】
そして、分割データ生成部41は、分散鍵BをDB5に格納し(S74)、分散鍵Cをバックアップ用DB6に格納する(S75)。また、分割データ生成部41は、乱数のみからなる複数の分散鍵A、A’、A’’をICカード1に格納する(S76)。なお、HSM装置4または認証サーバ3等の所定の装置において、複数の分散鍵A、A’、A’’の各々と、対応するサービスとを管理しておくものとする。
【0053】
このように、認証用秘密鍵と、複数の分散鍵A、A’、A’’と、ユーザIDとが格納されたICカード1が発行され、ユーザに配布される。
【0054】
なお、HSM装置4は、署名用秘密鍵をあらかじめ当該HSM装置4内で生成し、複数の分散鍵A、A’、A’’および分散鍵B、Cを生成した後は署名用秘密鍵を廃棄し、HSM装置4内には署名用秘密鍵は格納されていないものとする。
【0055】
利用時の処理(S77〜S78)においては、図2のS37からS48と同様である。ただし、S80で署名依頼を受けたHSM装置4の復元部42は、秘密通信路を介して、複数の分散鍵A、A’、A’’の中の何れかの分散鍵を指定して、ICカード1から指定した分散鍵を取得する(S81)。図示する例では、復元部42は、秘密通信路を介してICカード1から分散鍵Aを取得する。また、復元部42は、署名依頼で指定されたユーザIDの分散鍵BをDB5から取得し(S82)、乱数のみからなる分散鍵Aと、分割鍵Bとを用いて署名用秘密鍵をメモリ上で復元する(S83)。以降のS84からS88の処理については、図2のS34からS48と同様であるため、ここでは説明を省略する。
【0056】
図5は、図4に示す第2の方法の電子署名処理において、ICカード1で利用可能な新たなサービスが追加された場合のシーケンス図である。すなわち、図4のサービスサーバ8が提供するサービスとは別の新たなサービスがICカード1で利用可能となった場合の処理を説明する。
【0057】
サービス追加時の事前処理として、ユーザは、ユーザ端末2のリーダライタにICカード1をかざす。これにより、図2のS37と同様のユーザ認証が行われる(S91)。ユーザ認証に成功した場合、ユーザ端末2は、ユーザの指示を受け付けて、ユーザIDを含むサービス追加要求を認証サーバ3に送信する(S92)。認証サーバ3は、受信したサービス追加要求をHSM装置4に送信する(S93)。
【0058】
そして、HSM装置4の分割データ生成部41は、ICカード1(ユーザ端末2)との間に秘密通信路を確立し、当該秘密通信路を用いてICカード1から分散鍵を取得する(S94)。ここで、分割データ生成部41は、複数の分散鍵A、A’、A’’の中の何れかの分散鍵を指定して、指定した分散鍵をICカード1から取得する。図示する例では、分割データ生成部41は、秘密通信路を介してICカード1から分散鍵A’を取得する。
【0059】
そして、分割データ生成部41は、当該ユーザIDの新たなサービス用の署名用秘密鍵と、乱数のみからなる分散鍵A’とを用いて、新たなサービス用の分散鍵B’と、新たなサービス用の分散鍵C’とを生成する(S95)。すなわち、分割データ生成部41は、新たなサービス用の署名用秘密鍵と、乱数のみからなる分散鍵A’とを用いて、前述のデータ分割方法の排他的論理和演算を行うことにより、新たなサービス用の分散鍵B’と、新たなサービス用の分散鍵C’とを生成する。新たな署名用秘密鍵と、ICカード1から取得した分散鍵A’とを用いて図2のS33の秘密分散と同じ演算を行うが、ここでは署名用秘密鍵および分散鍵A’が異なるため、分散鍵Bとは別の分散鍵B’と分散鍵Cとは別の分散鍵C’とが生成される。
【0060】
そして、分割データ生成部41は、分散鍵B’をDB5に格納し(S96)、分散鍵C’をバックアップ用DB6に格納する(S97)。
【0061】
利用時においては、図2のS37からS48と同様である。すなわち、HSM装置4の復元部42は、ユーザ端末2から新たなサービスの署名依頼を受け付けると、DB5から新たなサービス用の分散鍵B’を取得し、当該分散鍵B’とICカード1から取得した分散鍵A’とを用いて新たなサービスの署名用秘密鍵を生成し、当該署名用秘密鍵を用いて電子署名を生成する。
【0062】
図4および図5で説明した第2の方法では、ICカード発行時に、あらかじめ複数の分散鍵A、A’、A’’を生成し、ICカード1に格納しておく。そして、新たなサービスが追加された場合には、ICカード1にあらかじめ格納された他の分散鍵A’、A’’を利用する。これにより、新たなサービスを追加してもICカード1内のデータを書き換える必要がないため、ユーザの利便性を向上することができる。また、サービス毎に、異なる分散鍵A、A’、A’’を利用することができる。なお、本実施形態では複数の分散鍵として3つの分散鍵A、A’、A’’を用いることとしたが、本発明はこれに限定するものではなく、ICカードの容量に応じて4つ以上の分散鍵Aを格納してもよい。
【0063】
以上説明した本実施形態では、従来、ICカード内に保持されていた秘密情報(署名用秘密鍵など)を、ICカードおよび秘密情報管理システムで分散して保持し、また、電子署名処理を秘密情報管理システム側で実施することにより、秘密情報の機密性および安全性を確保しつつ、ICカード側に保持する情報および処理を低減させることかできる。すなわち、本実施形態のICカードには、単純なユーザ認証機能と、秘密情報の分割データ(分散鍵)を保持するだけでよいため、ICカードのコストを低減することができる。
【0064】
また、本実施形態では、秘密情報管理システム側に耐タンパなHSM装置を備え、当該HSM装置内で、分散鍵の生成、秘密鍵の復元および電子署名処理を行う。このため、秘密鍵の漏洩、および許可のないユーザによる署名やプログラム改ざんによる署名の偽造を防止し、秘密鍵の機密性および安全性を確保することができる。
【0065】
また、本実施形態の秘密鍵は、秘密分散による分散鍵の生成時を除き、HSM装置内で電子署名を生成する間だけ存在し、署名終了後は直ちに廃棄される。そのため、秘密鍵がHSM装置外に流出することはなく、より高度なセキュリティを確保することができる。
【0066】
また、本実施形態では、秘密鍵から生成される分散鍵B、Cを、耐タンパ領域でない2つのデータベースに分散して格納し、耐タンパなHSM装置内には秘密鍵および分散鍵を定常的に格納しない。これにより、膨大な数のユーザが本システムを利用し、膨大な数の秘密鍵を管理する場合であっても、高価なHSM装置の記憶領域の増加を抑制することができる。
【0067】
また、本実施形態では、生成される複数の分散鍵の中の1つの分散鍵Aは、ICカードに格納され、当該分散鍵Aがないと秘密情報を復元することができない。すなわち、本実施形態では、秘密情報管理システム側で電子署名を実施するものの、ICカードに格納された分散鍵Aが電子署名の必須条件であるため、ICカードを所有する正当なユーザからの要求に基づいて電子署名が実施される。したがって、秘密情報管理システム側でのハッキングやユーザのなりすましなどによる、不正なユーザからの電子署名の要求を排除することができる。
【0068】
また、本実施形態では、ICカード内に格納される分散鍵Aは、乱数のみからなるデータである。したがって、盗難や紛失によりICカードが第三者に渡っても、この分散鍵Aから秘密鍵を生成・推測される恐れがない。
【0069】
また、本実施形態の第1の方法(図2、図3参照)では、新たなサービスが追加された場合であっても、ICカードに格納される分散鍵Aについては全てのサービスで共通して同じもの使用し、分散鍵Bおよび分散鍵Cをサービス毎に個別に生成する。このように分散鍵Aを複数のサービスで共通利用することにより、新たなサービスを追加してもICカード内のデータを書き換える必要がないため、ユーザの利便性を向上することができる。また、共通の分散鍵Aを使用して、新たな電子証明書用の分散鍵Bおよび分散鍵Cを生成できるため、電子証明書の有効期限が切れた場合であっても、ICカード内のデータを書き換える必要がない。
【0070】
また、本実施形態の第2の方法(図4、図5参照)では、ICカード発行時に、あらかじめ複数の分散鍵A、A’、A’’を生成し、ICカードに格納しておく。そして、新たなサービスが追加された場合には、ICカードにあらかじめ格納された他の分散鍵A’、A’’を利用する。これにより、新たなサービスを追加してもICカード内のデータを書き換える必要がないため、ユーザの利便性を向上することができる。また、サービス毎に、異なる分散鍵A、A’、A’’を利用することができる。また、電子証明書の有効期限が切れた場合であっても、ICカード内のデータを書き換える必要がない。
【0071】
<第2の実施形態>
図6は、本発明の第2の実施形態に係るICカードシステムの全体構成を示す図である。本実施形態では、HSM装置4が署名用秘密鍵を暗号化し、暗号化した署名用秘密鍵を暗号化DB7のみに格納する点において、第1の実施形態(図1参照)と異なる。
【0072】
本実施形態のHSM装置4は、署名用秘密鍵を暗号化し、暗号化した署名用秘密鍵を暗号化DB7に格納する暗号部45と、暗号化DB7から暗号化した署名用秘密鍵を取得し、署名用秘密鍵を復号する復号部46と、復号した署名用秘密鍵を用いて電子署名を生成する電子署名部43とを有する。
【0073】
図7は、本実施形態の処理を示すシーケンス図である。図示する例では、所定の文書に電子署名をして、サービスサーバ8に送信する処理について説明する。
【0074】
事前処理として、ICカード1は、ユーザ認証を行うためにペアの認証用秘密鍵および認証用公開鍵を生成し(S11)、認証用秘密鍵についてはユーザIDとともに当該ICカード1内に格納し、認証用公開鍵についてはユーザIDとともに認証サーバ3に送信する(S12)。認証サーバ3は、送信された認証用公開鍵をユーザIDと対応付けて認証用DBに記憶する。
【0075】
そして、HSM装置4の暗号部45は、当該ユーザIDの署名用秘密鍵を所定のアルゴリズムにより暗号化し、暗号化した秘密鍵を暗号化DB7に格納する(S13)。このように、認証用秘密鍵と、ユーザIDとが格納されたICカード1が発行され、ユーザに配布される。なお、HSM装置4は、署名用秘密鍵をあらかじめサービスサーバ8から取得し、暗号化して暗号化DB7格納した後は署名用秘密鍵を廃棄し、HSM装置4内には署名用秘密鍵は格納されていないものとする。
【0076】
次に電子署名を行う際に、まずユーザは、ユーザ端末2のリーダライタにICカード1をかざす。認証サーバ3は、ユーザ端末2を経由して、チャレンジアンドレスポンスの手法を用いて、ICカード1内に認証用秘密鍵が有ることを確認して認証を行う(S14)。
【0077】
ユーザ認証に成功した場合、ユーザ端末2は、ユーザから電子署名指示を受け付け(S15)、署名対象の文書のハッシュ値を生成し、算出したハッシュ値をユーザIDとともに認証サーバ3に送信する(S16)。認証サーバ3は、受信したハッシュ値およびユーザIDを含む署名依頼をHSM装置4に送信する(S17)。
【0078】
HSM装置4の復号部46は、署名依頼で指定されたユーザIDに対応する暗号化された署名用秘密鍵を暗号化DB7から取得し(S18)、暗号化された署名用秘密鍵を復号する(S19)。なお、署名用秘密鍵の復号には、S13で暗号化に用いたアルゴリズムと同様のアルゴリズムを用いる。
【0079】
以降のS20からS24の処理については、図2のS34からS48と同様であるため、ここでは説明を省略する。
【0080】
以上説明した第2の実施形態においても、秘密にすべき情報の機密性および安全性を確保しつつ、ICカード側に保持する情報および処理をより低減させることができる。
【0081】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【0082】
1 ICカード
2 ユーザ端末
21 リーダライタ
3 認証サーバ
31 認証用DB
4 HSM装置
41 分割データ生成部
42 復元部
43 電子署名部
5 DB
6 バックアップ用DB
8 サービスサーバ
9 ネットワーク

【特許請求の範囲】
【請求項1】
ユーザが所有するICカードと連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、
ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第1の分割データを前記ICカードに、第2の分割データをデータベースに分散して格納する分割データ生成手段と、
前記秘密情報の使用要求を受け付けて、前記ICカードから前記第1の分割データを取得するとともに、前記データベースから前記第2の分割データを取得し、前記第1の分割データおよび前記第2の分割データを用いて前記秘密情報を復元する復元手段と、を有すること
を特徴とする秘密情報管理システム。
【請求項2】
請求項1記載の秘密情報管理システムであって、
前記分割データ生成手段は、耐タンパ領域において、ユーザの秘密情報を複数の分割データに分割し、
前記復元手段は、前記耐タンパ領域において、前記秘密情報を復元すること
を特徴とする秘密情報管理システム。
【請求項3】
請求項1または請求項2記載の秘密情報管理システムであって、
前記ICカードに記憶された第1の分割データは、乱数のみからなる分割データであること
を特徴とする秘密情報管理システム。
【請求項4】
請求項1から請求項3のいずれか1項に記載の秘密情報管理システムであって、
前記ICカードに新たなサービスを追加する場合、
前記分割データ生成手段は、前記ICカードから前記第1の分割データを取得するとともに、前記新たなサービス用の他の秘密情報を取得し、前記第1の分割データおよび前記他の秘密情報とを用いて、複数の分割データを生成し、前記複数の分割データのうちの第4の分割データをデータベースに、第5の分割データをバックアップ用データベースに、分散して格納し、
前記復元手段は、前記他の秘密情報の使用要求を受け付けて、前記ICカードから前記第1の分割データを取得するとともに、前記データベースから前記第4の分割データを取得し、前記第1の分割データおよび前記第4の分割データを用いて前記他の秘密情報を復元すること
を特徴とする秘密情報管理システム。
【請求項5】
請求項1から請求項3のいずれか1項に記載の秘密情報管理システムであって、
前記分割データ生成手段は、前記ユーザの秘密情報から前記第1の分割データを複数生成して、前記複数の第1の分割データを前記ICカードに格納し、
前記ICカードに新たなサービスを追加する場合、
前記分割データ生成手段は、前記ICカードから前記複数の第1の分割データのうちの所定の第1の分割データを取得するとともに、前記新たなサービス用の他の秘密情報を取得し、前記所定の第1の分割データおよび前記他の秘密情報とを用いて、複数の分割データを生成し、前記複数の分割データのうちの第4の分割データをデータベースに、第5の分割データをバックアップ用データベースに、分散して格納し、
前記復元手段は、前記他の秘密情報の使用要求を受け付けて、前記ICカードから前記所定の第1の分割データを取得するとともに、前記データベースから前記第4の分割データを取得し、前記所定の第1の分割データおよび前記第4の分割データを用いて前記他の秘密情報を復元すること
を特徴とする秘密情報管理システム。
【請求項6】
請求項1から請求項5のいずれか1項に記載の秘密情報管理システムであって、
前記復元手段が復元した秘密情報を用いて、前記秘密情報の使用要求で指定された所定の文書のハッシュ値を暗号化し、電子署名を生成する電子署名生成手段を、さらに有すること
を特徴とする秘密情報管理システム。
【請求項7】
請求項1から請求項6のいずれか1項に記載の秘密情報管理システムであって、
前記分割データ生成手段は、前記秘密分散法を用いて分割した複数の分割データのうちの第3の分割データをバックアップ用データベースに格納すること
を特徴とする秘密情報管理システム。
【請求項8】
ユーザが所有するICカードと連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、
ユーザの秘密情報を暗号化し、暗号化した秘密情報をデータベースに格納する暗号化手段と、
前記秘密情報の使用要求を受け付けて、前記データベースから暗号化した秘密情報を取得し、前記暗号化した秘密情報を復号する復号手段と、を有し、
前記暗号化手段は、耐タンパ領域において前記秘密情報を暗号化し、
前記複合手段は、前記耐タンパ領域において前記秘密情報を復号すること
を特徴とする秘密情報管理システム。
【請求項9】
ユーザが所有するICカードと連携して、ユーザの秘密情報を管理する秘密情報管理方法であって、
ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割するデータ分割ステップと、
前記複数の分割データのうちの第1の分割データを前記ICカードに、第2の分割データをデータベースに分散して格納する格納ステップと、
前記秘密情報の使用要求を受け付けて、前記ICカードから前記第1の分割データを取得するとともに、前記データベースから前記第2の分割データを取得し、前記第1の分割データおよび前記第2の分割データを用いて前記秘密情報を復元する復元ステップと、を有すること
を特徴とする秘密情報管理方法。
【請求項10】
ユーザが所有するICカードと連携して、ユーザの秘密情報を管理するICカードシステム用の秘密情報管理プログラムであって、
前記ICカードシステムを、
ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第1の分割データを前記ICカードに、第2の分割データをデータベースに分散して格納する分割データ生成手段、
前記秘密情報の使用要求を受け付けて、前記ICカードから前記第1の分割データを取得するとともに、前記データベースから前記第2の分割データを取得し、前記第1の分割データおよび前記第2の分割データを用いて前記秘密情報を復元する復元手段、として機能させること
を特徴とする秘密情報管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−231404(P2010−231404A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−77019(P2009−77019)
【出願日】平成21年3月26日(2009.3.26)
【出願人】(399035766)エヌ・ティ・ティ・コミュニケーションズ株式会社 (321)
【Fターム(参考)】