(57)【要約】【課題】秘密にすべき情報の機密性および安全性を確保しつつ、ＩＣカード側に保持する情報および処理をより低減させる。【解決手段】ユーザが所有するＩＣカード１と連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第１の分割データをＩＣカード１に、第２の分割データをＤＢ５に分散して格納する分割データ生成手段４１と、秘密情報の使用要求を受け付けてＩＣカード１から第１の分割データを取得するとともに、ＤＢ５から第２の分割データを取得し、第１の分割データおよび第２の分割データを用いて秘密情報を復元する復元手段４２と、を有する。【選択図】図１
2010231404.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが所有するＩＣカードと連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、
ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第１の分割データを前記ＩＣカードに、第２の分割データをデータベースに分散して格納する分割データ生成手段と、
前記秘密情報の使用要求を受け付けて、前記ＩＣカードから前記第１の分割データを取得するとともに、前記データベースから前記第２の分割データを取得し、前記第１の分割データおよび前記第２の分割データを用いて前記秘密情報を復元する復元手段と、を有すること
を特徴とする秘密情報管理システム。
【請求項２】
請求項１記載の秘密情報管理システムであって、
前記分割データ生成手段は、耐タンパ領域において、ユーザの秘密情報を複数の分割データに分割し、
前記復元手段は、前記耐タンパ領域において、前記秘密情報を復元すること
を特徴とする秘密情報管理システム。
【請求項３】
請求項１または請求項２記載の秘密情報管理システムであって、
前記ＩＣカードに記憶された第１の分割データは、乱数のみからなる分割データであること
を特徴とする秘密情報管理システム。
【請求項４】
請求項１から請求項３のいずれか１項に記載の秘密情報管理システムであって、
前記ＩＣカードに新たなサービスを追加する場合、
前記分割データ生成手段は、前記ＩＣカードから前記第１の分割データを取得するとともに、前記新たなサービス用の他の秘密情報を取得し、前記第１の分割データおよび前記他の秘密情報とを用いて、複数の分割データを生成し、前記複数の分割データのうちの第４の分割データをデータベースに、第５の分割データをバックアップ用データベースに、分散して格納し、
前記復元手段は、前記他の秘密情報の使用要求を受け付けて、前記ＩＣカードから前記第１の分割データを取得するとともに、前記データベースから前記第４の分割データを取得し、前記第１の分割データおよび前記第４の分割データを用いて前記他の秘密情報を復元すること
を特徴とする秘密情報管理システム。
【請求項５】
請求項１から請求項３のいずれか１項に記載の秘密情報管理システムであって、
前記分割データ生成手段は、前記ユーザの秘密情報から前記第１の分割データを複数生成して、前記複数の第１の分割データを前記ＩＣカードに格納し、
前記ＩＣカードに新たなサービスを追加する場合、
前記分割データ生成手段は、前記ＩＣカードから前記複数の第１の分割データのうちの所定の第１の分割データを取得するとともに、前記新たなサービス用の他の秘密情報を取得し、前記所定の第１の分割データおよび前記他の秘密情報とを用いて、複数の分割データを生成し、前記複数の分割データのうちの第４の分割データをデータベースに、第５の分割データをバックアップ用データベースに、分散して格納し、
前記復元手段は、前記他の秘密情報の使用要求を受け付けて、前記ＩＣカードから前記所定の第１の分割データを取得するとともに、前記データベースから前記第４の分割データを取得し、前記所定の第１の分割データおよび前記第４の分割データを用いて前記他の秘密情報を復元すること
を特徴とする秘密情報管理システム。
【請求項６】
請求項１から請求項５のいずれか１項に記載の秘密情報管理システムであって、
前記復元手段が復元した秘密情報を用いて、前記秘密情報の使用要求で指定された所定の文書のハッシュ値を暗号化し、電子署名を生成する電子署名生成手段を、さらに有すること
を特徴とする秘密情報管理システム。
【請求項７】
請求項１から請求項６のいずれか１項に記載の秘密情報管理システムであって、
前記分割データ生成手段は、前記秘密分散法を用いて分割した複数の分割データのうちの第３の分割データをバックアップ用データベースに格納すること
を特徴とする秘密情報管理システム。
【請求項８】
ユーザが所有するＩＣカードと連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、
ユーザの秘密情報を暗号化し、暗号化した秘密情報をデータベースに格納する暗号化手段と、
前記秘密情報の使用要求を受け付けて、前記データベースから暗号化した秘密情報を取得し、前記暗号化した秘密情報を復号する復号手段と、を有し、
前記暗号化手段は、耐タンパ領域において前記秘密情報を暗号化し、
前記複合手段は、前記耐タンパ領域において前記秘密情報を復号すること
を特徴とする秘密情報管理システム。
【請求項９】
ユーザが所有するＩＣカードと連携して、ユーザの秘密情報を管理する秘密情報管理方法であって、
ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割するデータ分割ステップと、
前記複数の分割データのうちの第１の分割データを前記ＩＣカードに、第２の分割データをデータベースに分散して格納する格納ステップと、
前記秘密情報の使用要求を受け付けて、前記ＩＣカードから前記第１の分割データを取得するとともに、前記データベースから前記第２の分割データを取得し、前記第１の分割データおよび前記第２の分割データを用いて前記秘密情報を復元する復元ステップと、を有すること
を特徴とする秘密情報管理方法。
【請求項１０】
ユーザが所有するＩＣカードと連携して、ユーザの秘密情報を管理するＩＣカードシステム用の秘密情報管理プログラムであって、
前記ＩＣカードシステムを、
ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第１の分割データを前記ＩＣカードに、第２の分割データをデータベースに分散して格納する分割データ生成手段、
前記秘密情報の使用要求を受け付けて、前記ＩＣカードから前記第１の分割データを取得するとともに、前記データベースから前記第２の分割データを取得し、前記第１の分割データおよび前記第２の分割データを用いて前記秘密情報を復元する復元手段、として機能させること
を特徴とする秘密情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードと連携してユーザの秘密情報を管理する秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラムに関する。
【背景技術】
【０００２】
ＩＣカードは、その耐タンパ特性を利用して、他人に見られたくない暗証番号、複製を防止すべき公開鍵暗号方式における秘密鍵などの秘密にすべき情報を安全に保存するとともに、前記秘密鍵を用いた電子署名などの処理を外部から参照されることなく安全に実施することができる。
【０００３】
また、秘密にすべき情報の機密性および安全性を確保するために、情報を分散化して管理し、その一部が漏えいしても元の情報を推測できないようにする秘密分散法がある。秘密分散法には、様々な方式がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２１３６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
さて、ＩＣカードの利便性を向上させるために、複数の秘密にすべき情報および複数の処理を、１枚のＩＣカードに保持することができる。しかしながら、複数の情報および処理を保持できる高機能なＩＣカードは、単純なＩＣカードと比較してコストが高いという問題がある。
【０００６】
また、ＩＣカードを発行し、ユーザに配布した後に、秘密にすべき情報やそれに対応する処理を追加する場合、ユーザはＩＣカードをＩＣカード発行元などの所定の機関に持参し、秘密にすべき情報や処理をＩＣカードに追加する必要があり、ユーザ数が増加するほど全てのユーザに前記の追加を行うためのコストが増えるといった運用面での問題がある。
【０００７】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、秘密にすべき情報の機密性および安全性を確保しつつ、ＩＣカード側に保持する情報および処理をより低減させることにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は、ユーザが所有するＩＣカードと連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第１の分割データを前記ＩＣカードに、第２の分割データをデータベースに分散して格納する分割データ生成手段と、前記秘密情報の使用要求を受け付けて、前記ＩＣカードから前記第１の分割データを取得するとともに、前記データベースから前記第２の分割データを取得し、前記第１の分割データおよび前記第２の分割データを用いて前記秘密情報を復元する復元手段と、を有する。
【０００９】
また、本発明は、ユーザが所有するＩＣカードと連携して、ユーザの秘密情報を管理する秘密情報管理システムであって、ユーザの秘密情報を暗号化し、暗号化した秘密情報をデータベースに格納する暗号化手段と、前記秘密情報の使用要求を受け付けて、前記データベースから暗号化した秘密情報を取得し、前記暗号化した秘密情報を復号する復号手段と、を有し、前記暗号化手段は、耐タンパ領域において前記秘密情報を暗号化し、前記復号手段は、前記耐タンパ領域において前記秘密情報を復号する。
【００１０】
また、本発明は、ユーサが所有するＩＣカードと連携して、ユーザの秘密情報を管理する秘密情報管理方法であって、ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割するデータ分割ステップと、前記複数の分割データのうちの第１の分割データを前記ＩＣカードに、第２の分割データをデータベースに分散して格納する格納ステップと、前記秘密情報の使用要求を受け付けて、前記ＩＣカードから前記第１の分割データを取得するとともに、前記データベースから前記第２の分割データを取得し、前記第１の分割データおよび前記第２の分割データを用いて前記秘密情報を復元する復元ステップと、を有する。
【００１１】
また、本発明は、ユーザが所有するＩＣカードと連携して、ユーザの秘密情報を管理するＩＣカードシステム用の秘密情報管理プログラムであって、前記ＩＣカードシステムを、ユーザの秘密情報を秘密分散法を用いて複数の分割データに分割し、前記複数の分割データのうちの第１の分割データを前記ＩＣカードに、第２の分割データをデータベースに分散して格納する分割データ生成手段、前記秘密情報の使用要求を受け付けて、前記ＩＣカードから前記第１の分割データを取得するとともに、前記データベースから前記第２の分割データを取得し、前記第１の分割データおよび前記第２の分割データを用いて前記秘密情報を復元する復元手段、として機能させる。
【発明の効果】
【００１２】
本発明によれば、秘密にすべき情報の機密性および安全性を確保しつつ、ＩＣカード側に保持する情報および処理をより低減させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係るＩＣカードシステムの全体構成図である。
【図２】第１の方法の電子署名処理を示すシーケンス図である。
【図３】サービス追加時の第１の方法の電子署名処理を示すシーケンス図である。
【図４】第２の方法の電子署名処理を示すシーケンス図である。
【図５】サービス追加時の第２の方法の電子署名処理を示すシーケンス図である。
【図６】本発明の第２の実施形態に係るＩＣカードシステムの全体構成図である。
【図７】第２の実施形態の電子署名処理を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について説明する。
【００１５】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るＩＣカードシステムの全体構成を示す図である。図示するシステムは、ユーザが所有するＩＣカード１およびユーザ端末２と、前記ＩＣカード１と連携してユーザの秘密情報を管理する秘密情報管理システムと、少なくとも１つのサービスサーバ８とを有する。ユーザ端末２、秘密情報管理システムおよびサービスサーバ８は、インターネットなどのネットワーク９によりそれぞれ接続されている。
【００１６】
本実施形態のＩＣカード１には、認証サーバ３が当該ＩＣカード１を使用するユーザの認証を行うための認証情報と、後述する分散鍵とが記憶されるものとする。本実施形態では、認証情報に公開鍵暗号方式の秘密鍵を用いるものとする。しかしながら、認証情報は秘密鍵に限定されず、パスワード等などその他の認証方式を用いることとしてもよい。
【００１７】
ユーザ端末２は、例えばパソコン（Personal Computer）などであって、ＩＣカード１に記憶された情報を読み取るリーダライタ２１を備える。
【００１８】
秘密情報管理システムは、認証サーバ３と、ＨＳＭ（Hardware Security Module）装置４と、ＤＢ（データベース）５と、バックアップ用ＤＢ６とを有する。
【００１９】
認証サーバ３は、認証用ＤＢ３１を参照し、ＩＣカード１を使用するユーザの認証を行う。本実施形態の認証用ＤＢ３１には、ＩＣカード１に格納されている秘密鍵とペアとなる公開鍵が記憶されているものとする。
【００２０】
ＨＳＭ装置４は、耐タンパ性（物理的な攻撃に対する耐性）を持つハードウェアであって、秘密にすべき情報を安全に格納し、秘密にすべき情報を用いた処理を安全に実行するものである。本実施形態のＨＳＭ装置４は、分割データ生成部４１と、復元部４２と、電子署名部４３とを有する。分割データ生成部４１は、秘密分散法を用いて秘密情報を複数の分割データに分割して、ＩＣカード１、ＤＢ５、バックアップ用ＤＢ６に分散して格納する。復元部４２は、ＩＣカード１およびＤＢ５から分割データを取得し、これらの分割データを用いて秘密情報を復元する。電子署名部４３は、復元した秘密情報を用いて電子署名を生成する。
【００２１】
本実施形態では、ＨＭＳ装置４内で秘密情報の分割データの生成、秘密情報の復元および電子署名処理を行うため、秘密情報の漏洩、および許可のないユーザによる署名やプログラム改ざんによる署名の偽造を防止し、秘密情報の機密性および安全性を確保することができる。なお、本実施形態では、秘密情報管理システムで用いる耐タンパな装置の例としてＨＳＭ装置４を用いるが、これに限定されない。耐タンパな条件を満たす装置であればＨＳＭ装置４以外のものを適用してもよい。
【００２２】
ＤＢ５およびバックアップ用ＤＢ６には、後述する分散鍵がそれぞれ記憶されるものとする。各サービスサーバ８は、例えばｅ−ｔａｘなどの認証サービスをＩＣカードを所持するユーザに提供する。
【００２３】
上記説明したユーザ端末２、認証サーバ３、ＨＳＭ装置４およびサービスサーバ８は、例えば、少なくともＣＰＵと、メモリとを備えたコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、ユーザ端末２、認証サーバ３およびＨＳＭ装置４の各機能は、ユーザ端末２用のプログラムの場合はユーザ端末２のＣＰＵが、認証サーバ３用のプログラムの場合は認証サーバ３のＣＰＵが、そしてＨＳＭ装置４用のプログラムの場合はＨＳＭ装置４のＣＰＵが、それぞれ実行することにより実現される。
【００２４】
次に、本実施形態の処理について説明する。
【００２５】
本実施形態では、ユーザ端末２で作成した所定の文書に電子書名をして、サービスサーバ８に送信する処理について説明する。この場合、秘密情報管理システムが管理する秘密情報は、電子署名に用いる署名用秘密鍵である。
【００２６】
本実施形態は、秘密分散法を用いて署名用秘密鍵を複数のデータに分割し、ＩＣカード１側および秘密情報管理システム側で分散して保持するものとする。また、本実施形態では、秘密分散法として特許文献１（特開２００４−２１３６５０号公報）に記載されたデータ分割方法を用いるものとする。
【００２７】
特許文献１のデータ分割方法は、元データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するものである。すなわち、元データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、元データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成する。そして、各分割データを構成する各分割部分データを、元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成する。そして、所望の分割数の分割データを複数の分割部分データから生成する。このようにして生成した所定の数の分割データは、各分割データのみから元データを復元することはできないが、生成した分割データのうちの所定の個数の分割データから、元データを復元することができる。
【００２８】
また、生成された分割データは、乱数のみからなる分割データと、元部分データと乱数部分データの排他的論理和演算によって生成される分割部分データからなる分割データとを含む。
【００２９】
ＨＳＭ装置４は、この特許文献１のデータ分割方法を用いて、秘密情報である署名用秘密鍵（元データ）から３つの分散鍵（分割データ）を生成する。そして、ＩＣカード１には、３つの分散鍵のうち乱数のみからなる分散鍵（以下、「分散鍵Ａ」）を格納する。残り２つの排他的論理和演算によって生成される分散鍵（以下、「分散鍵Ｂ」、「分散鍵Ｃ」）については、ＤＢ５およびバックアップ用ＤＢ６にそれぞれ格納することとする。また、３つの分散鍵のうちの任意の２つの分散鍵から、署名用秘密鍵を復元できるものとする。
【００３０】
図２は、本実施形態の第１の方法の電子署名処理を示すシーケンス図である。
【００３１】
ＩＣカード発行時における事前処理として、ＩＣカード１は、ユーザ認証を行うためにペアの認証用秘密鍵および認証用公開鍵を生成し（Ｓ３１）、認証用秘密鍵についてはユーザＩＤとともに当該ＩＣカード１内に格納し、認証用公開鍵についてはユーザＩＤとともに認証サーバ３に送信する（Ｓ３２）。認証サーバ３は、送信された認証用公開鍵をユーザＩＤと対応付けて認証用ＤＢに記憶する。
【００３２】
そして、ＨＳＭ装置４の分割データ生成部４１は、当該ユーザＩＤの署名用秘密鍵を複数の分割データに分割する。具体的には、前述のデータ分割方法を用いて、３つの分散鍵Ａ、Ｂ、Ｃを生成する（Ｓ３３）。そして、分割データ生成部４１は、分散鍵ＢをＤＢ５に格納し（Ｓ３４）、分散鍵Ｃをバックアップ用ＤＢ６に格納する（Ｓ３５）。また、分割データ生成部４１は、乱数のみからなる分散鍵ＡをＩＣカード１に格納する（Ｓ３６）。
【００３３】
このように、認証用秘密鍵と、署名用秘密鍵の分散鍵Ａと、ユーザＩＤとが格納されたＩＣカード１が発行され、ユーザに配布される。
【００３４】
なお、ＨＳＭ装置４は、署名用秘密鍵をあらかじめ当該ＨＳＭ装置４内で生成し、分散鍵Ａ、Ｂ、Ｃを生成した後は署名用秘密鍵を廃棄し、ＨＳＭ装置４内には署名用秘密鍵は格納されていないものとする。サービスサーバ８は、当該ユーザＩＤに対応する署名用公開鍵を有するものとする。バックアップ用ＤＢ６は、分散鍵Ｃを格納後、ＨＳＭ装置４および認証サーバ３から切り離され、アクセスできない状態となる。なお、運用上バックアップを作成する必要がない場合、またはバックアップを作ってはいけない場合には、分散鍵Ｃを生成せず、すなわちバックアップ用ＤＢ６が存在しない実施形態としてもよい。
【００３５】
次に秘密情報管理システムを利用して電子署名を行う際に、まずユーザは、ユーザ端末２のリーダライタにＩＣカード１をかざす（または接触させる）。認証サーバ３は、ユーザ端末２を経由して、チャレンジアンドレスポンスの手法を用いて、ＩＣカード１内に認証用秘密鍵が有ることを確認して認証を行う（Ｓ３７）。
【００３６】
ユーザ認証に成功した場合、ユーザは、所定の文書に対する電子署名の指示をユーザ端末２に入力する。ユーザ端末２は、電子署名指示を受け付けると（Ｓ３８）、署名対象の文書のハッシュ値（メッセージダイジェスト）を生成し、算出したハッシュ値をユーザＩＤとともに認証サーバ３に送信する（Ｓ３９）。なお、ユーザ端末２は、署名対象の文書も認証サーバ３に送信することとしてもよい。認証サーバ３は、受信したハッシュ値およびユーザＩＤを含む署名依頼をＨＳＭ装置４に送信する（Ｓ４０）。
【００３７】
ＨＳＭ装置４の復元部４２は、セキュアメッセージング機能またはＳＳＬ（Secure Socket Layer）などを用いてＩＣカード１（ユーザ端末２）との間に秘密通信路を確立し、当該秘密通信路を用いてＩＣカード１から分散鍵Ａを取得する（Ｓ４１）。また、復元部４は、署名依頼で指定されたユーザＩＤに対応する分散鍵ＢをＤＢ５から取得する（Ｓ４２）。そして、復元部４２は、乱数のみからなる分散鍵Ａと、分散鍵Ｂとを用いて署名用秘密鍵をメモリ上で復元する（Ｓ４３）。
【００３８】
そして、ＨＳＭ装置４の電子署名部４３は、復元した署名用秘密鍵を用いてＳ４０で受信したハッシュ値を暗号化することにより電子署名を生成し（Ｓ４４）、生成した電子署名を認証サーバ３を介してユーザ端末２に送信する（Ｓ４５、Ｓ４７）。また、電子署名部４３は、電子署名を生成後、Ｓ４３で復元した署名用秘密鍵をメモリ上から消去（削除）する（Ｓ４６）。
【００３９】
ユーザ端末２は、署名対象文書（平文）に電子署名を付加した署名付文書を生成し、当該署名付文書をユーザＩＤとともにサービスサーバ８に送信する（Ｓ４８）。
【００４０】
サービスサーバ８は、署名付文書を署名対象文書と電子署名とに分離し、署名対象文書からハッシュ値を生成する。また、サービスサーバ８は、電子署名については、受信したユーザＩＤに対応する署名用公開鍵を用いて復号し、ハッシュ値を取得する。そして、サービスサーバ８は、生成したハッシュ値と、電子署名を復号して取得したハッシュ値とが一致する場合、受信した署名対象文書が改ざんされていないこと、および正当なユーザから送信された署名対象文書であると認証する。
【００４１】
図３は、図２に示す第１の方法の電子署名処理において、ＩＣカード１で利用可能な新たなサービスが追加された場合のシーケンス図である。すなわち、図２のサービスサーバ８が提供するサービスとは別の新たなサービスがＩＣカード１で利用可能となった場合の処理を説明する。
【００４２】
サービス追加時の事前処理として、ユーザは、ユーザ端末２のリーダライタにＩＣカード１をかざす。これにより、図２のＳ３７と同様のユーザ認証が行われる（Ｓ５１）。ユーザ認証に成功した場合、ユーザ端末２は、ユーザの指示を受け付けて、ユーザＩＤを含むサービス追加要求を認証サーバ３に送信する（Ｓ５２）。認証サーバ３は、受信したサービス追加要求をＨＳＭ装置４に送信する（Ｓ５３）。
【００４３】
そして、ＨＳＭ装置４の分割データ生成部４１は、セキュアメッセージング機能またはＳＳＬ（Secure Socket Layer）などを用いてＩＣカード１（ユーザ端末２）との間に秘密通信路を確立し、当該秘密通信路を用いてＩＣカード１から分散鍵Ａを取得する（Ｓ５４）。
【００４４】
そして、分割データ生成部４１は、当該ユーザＩＤの新たなサービス用の署名用秘密鍵と、乱数のみからなる分散鍵Ａとを用いて、新たなサービス用の分散鍵Ｂ’と、新たなサービス用の分散鍵Ｃ’とを生成する（Ｓ５５）。すなわち、分割データ生成部４１は、新たなサービス用の署名用秘密鍵と、乱数のみからなる分散鍵Ａとを用いて、前述のデータ分割方法の排他的論理和演算を行うことにより、新たなサービス用の分散鍵Ｂ’と、新たなサービス用の分散鍵Ｃ’とを生成する。新たな署名用秘密鍵と、ＩＣカード１から取得した分散鍵Ａとを用いて図２のＳ３３の秘密分散と同じ演算を行うが、ここでは署名用秘密鍵が異なるため、分散鍵Ｂとは別の分散鍵Ｂ’と分散鍵Ｃとは別の分散鍵Ｃ’とが生成される。
【００４５】
そして、分割データ生成部４１は、分散鍵Ｂ’をＤＢ５に格納し（Ｓ５６）、分散鍵Ｃ’をバックアップ用ＤＢ６に格納する（Ｓ５７）。なお、ＨＳＭ装置４または認証サーバ３等の所定の装置において、複数の分散鍵Ｂ、Ｂ’および分散鍵Ｃ、Ｃ’の各々と、対応するサービスとを管理しておくものとする。
【００４６】
利用時においては、図２のＳ３７からＳ４８と同様である。すなわち、ＨＳＭ装置４の復元部４２は、ユーザ端末２から新たなサービスの署名依頼を受け付けると、ＤＢ５から新たなサービス用の分散鍵Ｂ’を取得し、当該分散鍵Ｂ’とＩＣカード１から取得した分散鍵Ａとを用いて新たなサービスの署名用秘密鍵を生成し、当該署名用秘密鍵を用いて電子署名を生成する。
【００４７】
図２および図３で説明した第１の方法では、新たなサービスが追加された場合であっても、分散鍵Ａについては全てのサービスで共通して同じものを使用し、分散鍵Ｂおよび分散鍵Ｃをサービス毎に個別に生成する。このように分散鍵Ａを複数のサービスで共通利用することにより、新たなサービスを追加してもＩＣカード１内のデータを書き換える必要がないため、ユーザの利便性を向上することができる。
【００４８】
次に、第２の方法の電子署名処理について説明する。第２の方法では、ＩＣカード１の発行時に、複数の分散鍵Ａをあらかじめ生成し、ＩＣカード１内に生成した複数の分散鍵Ａを格納しておくこととする。
【００４９】
図４および図５は、第２の方法の電子署名処理を示すシーケンス図である。
【００５０】
図４に示すＩＣカード発行時における事前処理として、ＩＣカード１は、ユーザ認証を行うためにペアの認証用秘密鍵および認証用公開鍵を生成し（Ｓ７１）、認証用秘密鍵についてはユーザＩＤとともに当該ＩＣカード１内に格納し、認証用公開鍵についてはユーザＩＤとともに認証サーバ３に送信する（Ｓ７２）。認証サーバ３は、送信された認証用公開鍵をユーザＩＤと対応付けて認証用ＤＢに記憶する。
【００５１】
そして、ＨＳＭ装置４の分割データ生成部４１は、当該ユーザＩＤの署名用秘密鍵から複数の分割データを生成する。具体的には、特許文献１のデータ分割方法を用いて、分散鍵Ａ、Ｂ、Ｃを生成する（Ｓ７３）。なお、第２の方法では、分散鍵Ａについては、複数生成するものとする。前述のとおり、分散鍵Ａは乱数のみからなり、署名用秘密鍵を用いることなく生成できるものである。このため、分割データ生成部４１は、所定の乱数生成方法を用いて、複数の分散鍵Ａ、Ａ’、Ａ’’を生成するものとする。
【００５２】
そして、分割データ生成部４１は、分散鍵ＢをＤＢ５に格納し（Ｓ７４）、分散鍵Ｃをバックアップ用ＤＢ６に格納する（Ｓ７５）。また、分割データ生成部４１は、乱数のみからなる複数の分散鍵Ａ、Ａ’、Ａ’’をＩＣカード１に格納する（Ｓ７６）。なお、ＨＳＭ装置４または認証サーバ３等の所定の装置において、複数の分散鍵Ａ、Ａ’、Ａ’’の各々と、対応するサービスとを管理しておくものとする。
【００５３】
このように、認証用秘密鍵と、複数の分散鍵Ａ、Ａ’、Ａ’’と、ユーザＩＤとが格納されたＩＣカード１が発行され、ユーザに配布される。
【００５４】
なお、ＨＳＭ装置４は、署名用秘密鍵をあらかじめ当該ＨＳＭ装置４内で生成し、複数の分散鍵Ａ、Ａ’、Ａ’’および分散鍵Ｂ、Ｃを生成した後は署名用秘密鍵を廃棄し、ＨＳＭ装置４内には署名用秘密鍵は格納されていないものとする。
【００５５】
利用時の処理（Ｓ７７〜Ｓ７８）においては、図２のＳ３７からＳ４８と同様である。ただし、Ｓ８０で署名依頼を受けたＨＳＭ装置４の復元部４２は、秘密通信路を介して、複数の分散鍵Ａ、Ａ’、Ａ’’の中の何れかの分散鍵を指定して、ＩＣカード１から指定した分散鍵を取得する（Ｓ８１）。図示する例では、復元部４２は、秘密通信路を介してＩＣカード１から分散鍵Ａを取得する。また、復元部４２は、署名依頼で指定されたユーザＩＤの分散鍵ＢをＤＢ５から取得し（Ｓ８２）、乱数のみからなる分散鍵Ａと、分割鍵Ｂとを用いて署名用秘密鍵をメモリ上で復元する（Ｓ８３）。以降のＳ８４からＳ８８の処理については、図２のＳ３４からＳ４８と同様であるため、ここでは説明を省略する。
【００５６】
図５は、図４に示す第２の方法の電子署名処理において、ＩＣカード１で利用可能な新たなサービスが追加された場合のシーケンス図である。すなわち、図４のサービスサーバ８が提供するサービスとは別の新たなサービスがＩＣカード１で利用可能となった場合の処理を説明する。
【００５７】
サービス追加時の事前処理として、ユーザは、ユーザ端末２のリーダライタにＩＣカード１をかざす。これにより、図２のＳ３７と同様のユーザ認証が行われる（Ｓ９１）。ユーザ認証に成功した場合、ユーザ端末２は、ユーザの指示を受け付けて、ユーザＩＤを含むサービス追加要求を認証サーバ３に送信する（Ｓ９２）。認証サーバ３は、受信したサービス追加要求をＨＳＭ装置４に送信する（Ｓ９３）。
【００５８】
そして、ＨＳＭ装置４の分割データ生成部４１は、ＩＣカード１（ユーザ端末２）との間に秘密通信路を確立し、当該秘密通信路を用いてＩＣカード１から分散鍵を取得する（Ｓ９４）。ここで、分割データ生成部４１は、複数の分散鍵Ａ、Ａ’、Ａ’’の中の何れかの分散鍵を指定して、指定した分散鍵をＩＣカード１から取得する。図示する例では、分割データ生成部４１は、秘密通信路を介してＩＣカード１から分散鍵Ａ’を取得する。
【００５９】
そして、分割データ生成部４１は、当該ユーザＩＤの新たなサービス用の署名用秘密鍵と、乱数のみからなる分散鍵Ａ’とを用いて、新たなサービス用の分散鍵Ｂ’と、新たなサービス用の分散鍵Ｃ’とを生成する（Ｓ９５）。すなわち、分割データ生成部４１は、新たなサービス用の署名用秘密鍵と、乱数のみからなる分散鍵Ａ’とを用いて、前述のデータ分割方法の排他的論理和演算を行うことにより、新たなサービス用の分散鍵Ｂ’と、新たなサービス用の分散鍵Ｃ’とを生成する。新たな署名用秘密鍵と、ＩＣカード１から取得した分散鍵Ａ’とを用いて図２のＳ３３の秘密分散と同じ演算を行うが、ここでは署名用秘密鍵および分散鍵Ａ’が異なるため、分散鍵Ｂとは別の分散鍵Ｂ’と分散鍵Ｃとは別の分散鍵Ｃ’とが生成される。
【００６０】
そして、分割データ生成部４１は、分散鍵Ｂ’をＤＢ５に格納し（Ｓ９６）、分散鍵Ｃ’をバックアップ用ＤＢ６に格納する（Ｓ９７）。
【００６１】
利用時においては、図２のＳ３７からＳ４８と同様である。すなわち、ＨＳＭ装置４の復元部４２は、ユーザ端末２から新たなサービスの署名依頼を受け付けると、ＤＢ５から新たなサービス用の分散鍵Ｂ’を取得し、当該分散鍵Ｂ’とＩＣカード１から取得した分散鍵Ａ’とを用いて新たなサービスの署名用秘密鍵を生成し、当該署名用秘密鍵を用いて電子署名を生成する。
【００６２】
図４および図５で説明した第２の方法では、ＩＣカード発行時に、あらかじめ複数の分散鍵Ａ、Ａ’、Ａ’’を生成し、ＩＣカード１に格納しておく。そして、新たなサービスが追加された場合には、ＩＣカード１にあらかじめ格納された他の分散鍵Ａ’、Ａ’’を利用する。これにより、新たなサービスを追加してもＩＣカード１内のデータを書き換える必要がないため、ユーザの利便性を向上することができる。また、サービス毎に、異なる分散鍵Ａ、Ａ’、Ａ’’を利用することができる。なお、本実施形態では複数の分散鍵として３つの分散鍵Ａ、Ａ’、Ａ’’を用いることとしたが、本発明はこれに限定するものではなく、ＩＣカードの容量に応じて４つ以上の分散鍵Ａを格納してもよい。
【００６３】
以上説明した本実施形態では、従来、ＩＣカード内に保持されていた秘密情報（署名用秘密鍵など）を、ＩＣカードおよび秘密情報管理システムで分散して保持し、また、電子署名処理を秘密情報管理システム側で実施することにより、秘密情報の機密性および安全性を確保しつつ、ＩＣカード側に保持する情報および処理を低減させることかできる。すなわち、本実施形態のＩＣカードには、単純なユーザ認証機能と、秘密情報の分割データ（分散鍵）を保持するだけでよいため、ＩＣカードのコストを低減することができる。
【００６４】
また、本実施形態では、秘密情報管理システム側に耐タンパなＨＳＭ装置を備え、当該ＨＳＭ装置内で、分散鍵の生成、秘密鍵の復元および電子署名処理を行う。このため、秘密鍵の漏洩、および許可のないユーザによる署名やプログラム改ざんによる署名の偽造を防止し、秘密鍵の機密性および安全性を確保することができる。
【００６５】
また、本実施形態の秘密鍵は、秘密分散による分散鍵の生成時を除き、ＨＳＭ装置内で電子署名を生成する間だけ存在し、署名終了後は直ちに廃棄される。そのため、秘密鍵がＨＳＭ装置外に流出することはなく、より高度なセキュリティを確保することができる。
【００６６】
また、本実施形態では、秘密鍵から生成される分散鍵Ｂ、Ｃを、耐タンパ領域でない２つのデータベースに分散して格納し、耐タンパなＨＳＭ装置内には秘密鍵および分散鍵を定常的に格納しない。これにより、膨大な数のユーザが本システムを利用し、膨大な数の秘密鍵を管理する場合であっても、高価なＨＳＭ装置の記憶領域の増加を抑制することができる。
【００６７】
また、本実施形態では、生成される複数の分散鍵の中の１つの分散鍵Ａは、ＩＣカードに格納され、当該分散鍵Ａがないと秘密情報を復元することができない。すなわち、本実施形態では、秘密情報管理システム側で電子署名を実施するものの、ＩＣカードに格納された分散鍵Ａが電子署名の必須条件であるため、ＩＣカードを所有する正当なユーザからの要求に基づいて電子署名が実施される。したがって、秘密情報管理システム側でのハッキングやユーザのなりすましなどによる、不正なユーザからの電子署名の要求を排除することができる。
【００６８】
また、本実施形態では、ＩＣカード内に格納される分散鍵Ａは、乱数のみからなるデータである。したがって、盗難や紛失によりＩＣカードが第三者に渡っても、この分散鍵Ａから秘密鍵を生成・推測される恐れがない。
【００６９】
また、本実施形態の第１の方法（図２、図３参照）では、新たなサービスが追加された場合であっても、ＩＣカードに格納される分散鍵Ａについては全てのサービスで共通して同じもの使用し、分散鍵Ｂおよび分散鍵Ｃをサービス毎に個別に生成する。このように分散鍵Ａを複数のサービスで共通利用することにより、新たなサービスを追加してもＩＣカード内のデータを書き換える必要がないため、ユーザの利便性を向上することができる。また、共通の分散鍵Ａを使用して、新たな電子証明書用の分散鍵Ｂおよび分散鍵Ｃを生成できるため、電子証明書の有効期限が切れた場合であっても、ＩＣカード内のデータを書き換える必要がない。
【００７０】
また、本実施形態の第２の方法（図４、図５参照）では、ＩＣカード発行時に、あらかじめ複数の分散鍵Ａ、Ａ’、Ａ’’を生成し、ＩＣカードに格納しておく。そして、新たなサービスが追加された場合には、ＩＣカードにあらかじめ格納された他の分散鍵Ａ’、Ａ’’を利用する。これにより、新たなサービスを追加してもＩＣカード内のデータを書き換える必要がないため、ユーザの利便性を向上することができる。また、サービス毎に、異なる分散鍵Ａ、Ａ’、Ａ’’を利用することができる。また、電子証明書の有効期限が切れた場合であっても、ＩＣカード内のデータを書き換える必要がない。
【００７１】
＜第２の実施形態＞
図６は、本発明の第２の実施形態に係るＩＣカードシステムの全体構成を示す図である。本実施形態では、ＨＳＭ装置４が署名用秘密鍵を暗号化し、暗号化した署名用秘密鍵を暗号化ＤＢ７のみに格納する点において、第１の実施形態（図１参照）と異なる。
【００７２】
本実施形態のＨＳＭ装置４は、署名用秘密鍵を暗号化し、暗号化した署名用秘密鍵を暗号化ＤＢ７に格納する暗号部４５と、暗号化ＤＢ７から暗号化した署名用秘密鍵を取得し、署名用秘密鍵を復号する復号部４６と、復号した署名用秘密鍵を用いて電子署名を生成する電子署名部４３とを有する。
【００７３】
図７は、本実施形態の処理を示すシーケンス図である。図示する例では、所定の文書に電子署名をして、サービスサーバ８に送信する処理について説明する。
【００７４】
事前処理として、ＩＣカード１は、ユーザ認証を行うためにペアの認証用秘密鍵および認証用公開鍵を生成し（Ｓ１１）、認証用秘密鍵についてはユーザＩＤとともに当該ＩＣカード１内に格納し、認証用公開鍵についてはユーザＩＤとともに認証サーバ３に送信する（Ｓ１２）。認証サーバ３は、送信された認証用公開鍵をユーザＩＤと対応付けて認証用ＤＢに記憶する。
【００７５】
そして、ＨＳＭ装置４の暗号部４５は、当該ユーザＩＤの署名用秘密鍵を所定のアルゴリズムにより暗号化し、暗号化した秘密鍵を暗号化ＤＢ７に格納する（Ｓ１３）。このように、認証用秘密鍵と、ユーザＩＤとが格納されたＩＣカード１が発行され、ユーザに配布される。なお、ＨＳＭ装置４は、署名用秘密鍵をあらかじめサービスサーバ８から取得し、暗号化して暗号化ＤＢ７格納した後は署名用秘密鍵を廃棄し、ＨＳＭ装置４内には署名用秘密鍵は格納されていないものとする。
【００７６】
次に電子署名を行う際に、まずユーザは、ユーザ端末２のリーダライタにＩＣカード１をかざす。認証サーバ３は、ユーザ端末２を経由して、チャレンジアンドレスポンスの手法を用いて、ＩＣカード１内に認証用秘密鍵が有ることを確認して認証を行う（Ｓ１４）。
【００７７】
ユーザ認証に成功した場合、ユーザ端末２は、ユーザから電子署名指示を受け付け（Ｓ１５）、署名対象の文書のハッシュ値を生成し、算出したハッシュ値をユーザＩＤとともに認証サーバ３に送信する（Ｓ１６）。認証サーバ３は、受信したハッシュ値およびユーザＩＤを含む署名依頼をＨＳＭ装置４に送信する（Ｓ１７）。
【００７８】
ＨＳＭ装置４の復号部４６は、署名依頼で指定されたユーザＩＤに対応する暗号化された署名用秘密鍵を暗号化ＤＢ７から取得し（Ｓ１８）、暗号化された署名用秘密鍵を復号する（Ｓ１９）。なお、署名用秘密鍵の復号には、Ｓ１３で暗号化に用いたアルゴリズムと同様のアルゴリズムを用いる。
【００７９】
以降のＳ２０からＳ２４の処理については、図２のＳ３４からＳ４８と同様であるため、ここでは説明を省略する。
【００８０】
以上説明した第２の実施形態においても、秘密にすべき情報の機密性および安全性を確保しつつ、ＩＣカード側に保持する情報および処理をより低減させることができる。
【００８１】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【００８２】
１    ＩＣカード
２    ユーザ端末
２１  リーダライタ
３    認証サーバ
３１  認証用ＤＢ
４    ＨＳＭ装置
４１  分割データ生成部
４２  復元部
４３  電子署名部
５    ＤＢ
６    バックアップ用ＤＢ
８    サービスサーバ
９    ネットワーク
【図１】
2010231404.tif 000003
【図２】
2010231404.tif 000004
【図３】
2010231404.tif 000005
【図４】
2010231404.tif 000006
【図５】
2010231404.tif 000007
【図６】
2010231404.tif 000008
【図７】
2010231404.tif 000009