(57)【特許請求の範囲】
【請求項１】
認証情報を送信する認証情報送信部を含む端末と、
上記認証情報の正当性を検証する検証部を含む認証サーバと、
上記正当性が検証された場合には対象情報に対して秘密分散処理を行う複数の秘密分散処理部を含む複数の委託計算サーバと、
を含み、
上記認証サーバは、チャレンジデータを生成して上記端末に送信するチャレンジデータ送信部を更に含み、
上記端末は、上記チャレンジデータに対して秘密鍵を用いて署名を生成する署名生成部を更に含み、
上記端末の認証情報送信部は、上記署名を上記認証サーバに送信し、
上記認証サーバの検証部は、上記秘密鍵に対応する公開鍵を用いて、上記署名の正当性を検証し、
上記複数の委託計算サーバの複数の秘密分散処理部は、上記正当性が検証された場合には、上記対象情報の署名を複数の秘密鍵を用いて秘密分散処理により生成し、
上記認証サーバは、上記正当性が検証された場合には上記署名が記憶される記憶部を更に含む、
ことを特徴とする委託計算システム。
【請求項２】
認証サーバが、チャレンジデータを生成して上記端末に送信するチャレンジデータ送信ステップと、
上記端末が、上記チャレンジデータに対して秘密鍵を用いて署名を生成する署名生成部ステップと、
上記端末が、上記署名を上記認証サーバに送信するステップと、
上記認証サーバが、上記秘密鍵に対応する公開鍵を用いて、上記署名の正当性を検証するステップと、
上記認証サーバが、上記正当性が検証された場合には上記署名を記憶するステップと、
複数の委託計算サーバが、上記正当性が検証された場合には対象情報の署名を複数の秘密鍵を用いて秘密分散処理により生成するステップと、
を含む委託計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介して、パソコン、携帯電話、ＩＣカード等の端末以外の装置に、必要な計算を行わせる技術に関する。
【背景技術】
【０００２】
高機能なＩＣチップが埋め込まれた多機能ＩＣカードが知られている。ＩＣカードを複数のアプリケーションで用いる場合には、従来はこのような多機能ＩＣカードに各アプリケーションで必要な計算を行わせていた（例えば、非特許文献１参照。）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】［online］、［平成２２年４月１４日検索］、インターネット＜URL: http://www.ntt.com/iccard/data/service_ser13.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、各アプリケーションで必要な計算をＩＣカードに行わせようとすると、ＩＣカードの価格が高くなるという課題があった。
【０００５】
この発明は、ＩＣカード等の端末の価格を従来よりも低減した委託計算システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、この発明による委託計算システムは、認証情報を送信する認証情報送信部を含む端末と、上記認証情報の正当性を検証する検証部を含む認証サーバと、上記正当性が検証された場合には対象情報に対して秘密分散処理を行う複数の秘密分散処理部を含む複数の委託計算サーバとを含み、上記認証サーバは、チャレンジデータを生成して上記端末に送信するチャレンジデータ送信部を更に含み、上記端末は、上記チャレンジデータに対して秘密鍵を用いて署名を生成する署名生成部を更に含み、上記端末の認証情報送信部は、上記署名を上記認証サーバに送信し、上記認証サーバの検証部は、上記秘密鍵に対応する公開鍵を用いて、上記署名の正当性を検証し、上記複数の委託計算サーバの複数の秘密分散処理部は、上記正当性が検証された場合には、上記対象情報の署名を複数の秘密鍵を用いて秘密分散処理により生成し、上記認証サーバは、上記正当性が検証された場合には上記署名が記憶される記憶部を更に含む。
【発明の効果】
【０００７】
各アプリケーションで必要な計算を端末の代わりにサーバに行わせることにより、端末を高性能にする必要がなくなるため、端末の価格を従来よりも低減させることができる。
【図面の簡単な説明】
【０００８】
【図１】第一実施形態の委託計算システムの例の機能ブロック図。
【図２】第二実施形態の委託計算システムの例の機能ブロック図。
【図３】第三実施形態の委託計算システムの例の機能ブロック図。
【図４】第一実施形態の委託計算方法の例の流れ図。
【図５】第二実施形態の委託計算方法の例の流れ図。
【図６】第三実施形態の委託計算方法の例の流れ図。
【発明を実施するための形態】
【０００９】
以下、この発明の実施形態を詳細に説明する。
【００１０】
［第一実施形態］
第一実施形態の委託計算システムは、図１に示すように、端末１及びサーバ２を例えば含む。端末１は、鍵生成部１１、記憶部１２、署名生成部１３、認証情報送信部１４を含む。この例では、サーバ２は、ＡＰサーバ３（アプリケーションサーバ３）、認証サーバ４、委託計算サーバ５１，…，５Ｎから構成される。Ｎは２以上の整数である。ＡＰサーバ３は、ＩＤ生成部３１、記憶部３２、送信部３３、検証部３４、署名依頼部３５を例えば含む。認証サーバ４は、検証部４１、署名要求情報送信部４２、記憶部４３、チャレンジデータ送信部４４を例えば含む。委託計算サーバ５１は、鍵生成部５１１、記憶部５２１、秘密分散処理部５３１、秘密分散処理部５３Ｎ＋１を例えば含む。委託計算サーバ５ｎ（ｎ＝２，…，Ｎ）は、鍵生成部５１ｎ、記憶部５２ｎ、秘密分散処理部５３ｎを例えば含む。
【００１１】
第一実施形態の委託計算システムは、図４に例示する委託計算方法の流れ図の処理を行う。図４のステップＡ、ステップＢは準備段階の処理であり、ステップＣは準備が終わった後の本処理である。
【００１２】
端末１は、パソコン、携帯電話、ＩＣカード等の計算機能及びデータ送受信機能を有する機器である。端末１の鍵生成部１１は、認証に用いるための秘密鍵ｓｋ及びその秘密鍵ｓｋに対応する公開鍵ｐｋを生成して、記憶部１２に記憶する（ステップＡ１）。後述するように、秘密鍵ｓｋは任意の電子署名方式における署名生成鍵として使用され、公開鍵ｐｋは署名検証鍵として使用される。
【００１３】
サーバ２のＡＰサーバ３は、端末１からの指示を受けて任意のアプリケーションを実行するが、その際にメッセージＭについての署名が必要であるとする。まず、ＡＰサーバ３のＩＤ生成部３１は、端末１を介してアクセスしてきた利用者のＩＤを生成して、必要に応じてそのＩＤを利用者情報と組み合わせて記憶部３２に記憶する（ステップＢ１）。
【００１４】
ＡＰサーバ３の送信部３３は、ＩＤ及びそのＩＤに対応する署名鍵対生成の依頼をする旨の情報である署名鍵対生成依頼情報を複数の委託計算サーバ５１，…，５Ｎに送信する（ステップＢ２）。
【００１５】
委託計算サーバ５１，…，５Ｎは、端末１の代わりにメッセージＭについての署名を秘密分散計算により生成する。ＡＰサーバ３からＩＤ及びそのＩＤに対応する署名鍵対生成依頼情報を受信すると、各委託計算サーバ５ｎ（ｎ＝１，…，Ｎ）の鍵生成部５１ｎは、まずそのＩＤ及びＡＰサーバ３に対応する署名生成鍵ｇｋの断片ｇｋｐｎを生成して、ＩＤ及びＡＰサーバ３に対応させて記憶部５２ｎに記憶する（ステップＢ３）。例えば、参考文献１に記載された方法により断片ｇｋｐｎ（ｎ＝１，…，Ｎ）は生成される。
【００１６】
〔参考文献１〕I. Damgard and M. Koprowski, “Practical threshold RSA signatures without a trusted dealer”, Advances in Cryptology - EUROCRYPT '01,
LNCS 2045, pp. 152-165, Springer-Verlag, 2001.
このように署名生成鍵ｇｋを断片化することにより、すべての断片ｇｋ１，…，ｇｋＮがなければ署名生成鍵ｇｋを生成することができないため、署名生成鍵ｇｋの情報が漏洩する危険性を小さくすることができる。また、委託計算サーバ５１，…，５Ｎの一部が端末１の許可なく計算することを防止できる。
【００１７】
委託計算サーバ５１，…，５Ｎの鍵生成部５１１，…，５１Ｎは、共同して署名生成鍵ｇｋに対応する署名検証鍵ｖｋを生成して、ＩＤと共に認証サーバ４に送信する（ステップＢ４）。例えば、参考文献１に記載された方法により署名検証鍵ｖｋは生成される。
【００１８】
以下、署名方式としてＲＳＡ署名を用いる場合の署名生成鍵ｇｋ、その断片ｇｋｐｎ（ｎ＝１，…，Ｎ）の例を説明する。ｐ及びｑを十分大きな素数として、ｐｑをＮとする。公開指数ｅを（ｐ−１）（ｑ−１）と互いに素の整数とする。また、Ｎ’以下でありＮ’と互いに素の整数をｍとする。また、秘密指数ｄをｍｅｄ＝ｍ（ｍｏｄ  Ｎ’）を満たす整数とする。さらに、分散秘密指数ｄ１，…，ｄＮをｄ１＋ｄ２＋…＋ｄｎ＋…＋ｄＮ＝ｄを満たす整数とする。
【００１９】
このとき、秘密指数ｄと素数ｐと素数ｑの組（ｄ，ｐ，ｑ）が署名生成鍵ｇｋとなり、公開指数ｅとＮ’の組（ｅ，Ｎ’）が署名検証鍵ｖｋとなる。また、分散秘密指数ｄｎ（ｎ＝１，…，Ｎ）が断片ｇｋｐｎとなる。
【００２０】
認証サーバ４は、ＩＤ、署名検証鍵ｖｋ及び許可依頼情報を端末１に送信する（ステップＢ５）。許可依頼情報は、ＩＤ及びＡＰサーバ３に対応する署名検証鍵をｖｋとすることについての許可を端末１に依頼する旨の情報である。
【００２１】
端末１は、ＩＤを記憶部１２に記憶する。そして、端末１の署名生成部１３は、署名検証鍵を上記の署名検証鍵ｖｋとしてもよい場合には、秘密鍵ｓｋを用いて署名検証鍵ｖｋに対する署名を生成し、公開鍵ｐｋと共にＡＰサーバ３に送信する（ステップＢ６）。
【００２２】
ＡＰサーバ３の検証部３４は、公開鍵ｐｋを用いて、端末１が生成した署名検証鍵ｖｋに対する署名の正当性を検証し、正当性が検証できた場合には、ＩＤ、署名検証鍵ｖｋ、端末１が生成した署名検証鍵ｖｋについての署名及び公開鍵ｐｋを記憶部３２に記憶する（ステップＢ７）。正当性が検証できなかった場合には、ＡＰサーバ３は、必要に応じて受信したデータ、生成したデータ等を破棄して、処理を終える。
【００２３】
ＡＰサーバ３の署名依頼部３５は、メッセージＭ、ＩＤ、及び、メッセージＭに対する署名を要求する旨の情報である署名要求情報を認証サーバ４に送信する（ステップＣ１）。
【００２４】
認証サーバ４のチャレンジデータ送信部４４は、チャレンジデータＣを生成して端末１に送信して、メッセージＭについての電子署名の許可を要求する（ステップＣ２）。チャレンジデータＣは、例えばメッセージＭであるが、任意の文字列であってもよい。
【００２５】
端末１の署名生成部１３は、メッセージＭに対する署名の許可をする場合には、秘密鍵ｓｋを用いてチャレンジデータＣに対する署名を生成し、端末１の認証情報送信部１４が、認証情報として生成された署名を認証サーバ４に送信する（ステップＣ３）。
【００２６】
認証サーバ４の検証部４１は、認証情報送信部１４が送信してきた認証情報の正当性を検証する（ステップＣ４）。この例では、公開鍵ｐｋを用いてチャレンジデータＣに対する署名の正当性を検証する。
【００２７】
認証情報の正当性が検証された場合には、認証サーバ４の署名要求情報送信部４２は、委託計算サーバ５１，…，５Ｎに、ＩＤと、対象情報であるメッセージＭと、署名生成鍵ｇｋの断片ｇｋｐｎ（ｎ＝１，…，Ｎ）を用いてメッセージＭに対する署名を求める旨の情報である署名要求情報とを送信する（ステップＣ５）。ここで、メッセージＭは、任意のメッセージＭ’のハッシュ値であってもよいし、そのメッセージＭ’自体であってもよい。
【００２８】
また、ＡＰサーバ３、認証サーバ４の少なくとも一方は、認証情報の正当性が検証された場合には、チャレンジデータＣの署名を、メッセージＭ及び公開鍵ｐｋと共に記憶部４３に記憶してもよい。端末１の利用者がメッセージＭに対する署名の許可をした証拠であるチャレンジデータＣを保存しておくことにより、端末１の利用者が署名を許可したという事実を後に否認することを防止することができる。また、委託計算サーバ５１，…，５Ｎが端末１の利用者の許可なくメッセージＭに対して署名をしたとしても、チャンレジデータＣの署名がない場合には、端末１の利用者はその署名をした事実を否認することができる。
【００２９】
委託計算サーバ５１，…，５Ｎの秘密分散処理部５３１，…，５３Ｎ＋１は、対象情報に対して秘密分散処理を行う（ステップＣ６）。この例では、秘密分散処理部５３１，…，５３Ｎ＋１は、署名生成鍵ｇｋの断片ｇｋ１，…，ｇｋＮを用いた秘密分散処理によりメッセージＭに対する署名を生成する。生成された署名は、ＡＰサーバ３に送信される。例えば、上記参考文献１に記載された方法により断片ｇｋｐｎ（ｎ＝１，…，Ｎ）を用いた秘密分散処理が行われる。
【００３０】
以下、署名方式としてＲＡＳ署名を用いる場合を例に挙げて委託計算サーバ５１，…，５Ｎの処理を説明する。上記したように、署名生成鍵ｇｋが秘密指数ｄと素数ｐと素数ｑの組（ｄ，ｐ，ｑ）であり、署名検証鍵ｖｋが公開指数ｅとＮ’の組（ｅ，Ｎ’）であり、断片ｇｋｐｎ（ｎ＝１，…，Ｎ）が分散秘密指数ｄｎであるとする。また、メッセージＭはＮ’よりも小さくＮ’と互いに素であるとする。
【００３１】
このとき、秘密分散処理部５３ｎ（ｎ＝１，…，Ｎ）は、断片ｇｋｐｎ＝ｄｎを用いて、秘密情報σｎ＝Ｍｄｎ（ｍｏｄ  Ｎ’）を計算する。なお、数Ｘの右肩に付くＡＢは、ＸのＡＢ乗を意味する。秘密分散処理部５３１，…，５３Ｎが計算した秘密情報σ１，…，σＮは、秘密分散処理部５３Ｎ＋１に送られる。秘密分散処理部５３Ｎ＋１は、秘密情報σ１，…，σＮの積を求めて、Ｍの署名σ＝σ１・σ２・…・σＮとする。署名σ＝σ１・σ２・…・σＮ＝Ｍｄ１・Ｍｄ２・…・ＭｄＮ＝Ｍ（ｄ１＋ｄ２＋…＋ｄＮ）＝Ｍｄとなる。
【００３２】
秘密分散処理部５３１，…，５３Ｎ＋１は、署名生成鍵ｇｋの断片ｇｋｐｎ（ｎ＝１，…，Ｎ）を用いた秘密分散処理を行っており、秘密分散処理部５３１，…，５３Ｎが計算したすべての秘密情報σ１，…，σＮがなければ、メッセージＭに対する署名σを計算することができない。したがって、秘密分散処理部５３１，…，５３Ｎ＋１の一部が、端末１の許可なく署名の計算をすることを防止することができる。
【００３３】
ＡＰサーバ３は、メッセージＭに対する署名を用いて、アプリケーションの実行を行う。ＡＰサーバ３が署名σの正当性を署名検証鍵ｖｋで検証した後にアプリケーションを実行してもよし、実行されるアプリケーションが署名σを用いてもよい（ステップＣ７）。署名方式が上記のＲＳＡ署名である場合には、ＡＰサーバ３はσｅ（ｍｏｄ  Ｎ’）を計算する。σｅ（ｍｏｄ  Ｎ’）＝Ｍであれば、署名σが正当性であると考えられる。秘密指数ｄ及び公開指数ｅの定義から、σｅ＝Ｍｄｅ＝Ｍ（ｍｏｄ  Ｎ’）であるためである。
【００３４】
このように各アプリケーションで必要な計算（この例では、メッセージＭに対する署名の計算）を端末１の代わりにサーバ（この例では、委託計算サーバ５１，…，５Ｎ＋１）に行わせることにより、各アプリケーションで必要な計算を端末１に行わせなくてもよくなり、端末１を高性能にする必要がなくなるため、端末１の価格を従来よりも低減させることができる。
【００３５】
［第二実施形態］
第一実施形態では、サーバ２が、図１に例示するＡＰサーバ３、認証サーバ４、委託計算サーバ５１〜５Ｎから構成されるとしたが、サーバ２の構成は図１に例示したものに限られない。サーバ２は、ＩＤ生成部３１、記憶部３２、送信部３３、検証部３４、署名依頼部３５、検証部４１、署名要求情報送信部４２、記憶部４３、チャレンジデータ送信部４４、鍵生成部５１１，…，５１Ｎ、記憶部５２１，…，５２Ｎ、秘密分散処理部５３１，…，５３Ｎ＋１と同等の構成が含まれていればよい。また、サーバ２はＡＰサーバ３、認証サーバ４、委託計算サーバ５１〜５Ｎから構成されている必要はなく、これらのサーバ２を構成するあるサーバの機能を、サーバ２を構成する他のサーバに実現させてもよい。そのような第一実施形態の委託計算システムの変形例として、以下の第二実施形態の委託計算システムを説明する。
【００３６】
第二実施形態の委託計算システムは、委託計算サーバの数が１であり委託計算サーバの機能の一部をＡＰサーバで実現し、その１の委託計算サーバがＡＰサーバ３と共に秘密分散処理により署名を生成し、また、認証サーバ４の機能をＡＰサーバ３及び委託計算サーバ５Ｂで実現したものである。
【００３７】
以下、第一実施形態と異なる部分を中心に説明する。第一実施形態と同様に部分については、重複説明を略する。
【００３８】
第二実施形態の委託計算システムのサーバ２は、図２に示すように、ＡＰサーバ３及び委託計算サーバ５Ｂを例えば含む。ＡＰサーバ３は、ＩＤ生成部３１、記憶部３２、送信部３３、検証部３４、署名依頼部３５、鍵生成部５１Ａ、記憶部５２Ａ、秘密分散処理部５３Ａ、秘密分散処理部５３Ｎ＋１、検証部４１、署名要求情報送信部４２、記憶部４３を例えば含む。委託計算サーバ５Ｂは、鍵生成部５１Ｂ、記憶部５２Ｂ、秘密分散処理部５３Ｂ、検証部４１Ｂを例えば含む。
【００３９】
第二実施形態の委託計算システムの処理の流れを図５に例示する。
【００４０】
端末１の鍵生成部１１は、認証に用いるための秘密鍵ｓｋ及びその秘密鍵ｓｋに対応する公開鍵ｐｋを生成して、記憶部１２に記憶する（ステップＡ１）。
【００４１】
ＡＰサーバ３のＩＤ生成部３１は、端末１を介してアクセスしてきた利用者のＩＤを生成して、必要に応じてそのＩＤを利用者情報と組み合わせて記憶部３２に記憶する（ステップＢ１）。
【００４２】
ＡＰサーバ３の送信部３３は、ＩＤ及びそのＩＤに対応する署名鍵対生成の依頼をする旨の情報である署名鍵対生成依頼情報を委託計算サーバ５Ｂに送信する（ステップＢ２）。
【００４３】
ＡＰサーバ３の鍵生成部５１Ａは、署名生成鍵ｇｋの断片ｇｋｐＡを生成して、ＩＤに対応させて記憶部５２Ａに記憶し、委託計算サーバ５Ｂの鍵生成部５１Ｂは、署名生成鍵ｇｋの断片ｇｋｐＢを生成して、ＩＤに対応させて記憶部５２Ｂに記憶する（ステップＢ３）。
【００４４】
ＡＰサーバ３の鍵生成部５１Ａ及び委託計算サーバ５Ｂの鍵生成部５１Ｂは、共同して署名生成鍵ｇｋに対応する署名検証鍵ｖｋを生成する（ステップＢ４）。
【００４５】
ＡＰサーバ３及び委託計算サーバ５Ｂは、ＩＤと共に署名検証鍵ｖｋをそれぞれ記憶部５２Ａ及び５２Ｂに記憶する（ステップＢ６）。
【００４６】
ＡＰサーバ３は、ＩＤ、署名検証鍵ｖｋ及び許可依頼情報を端末１に送信する（ステップＢ５）。
【００４７】
端末１は、ＩＤを記憶部１２に記憶する。そして、端末１の署名生成部１３は、署名検証鍵を上記の署名検証鍵ｖｋとしてもよい場合には、秘密鍵ｓｋを用いて署名検証鍵ｖｋに対する署名を生成し、公開鍵ｐｋと共にＡＰサーバ３に送信する（ステップＢ６）。
【００４８】
ＡＰサーバ３の検証部３４は、公開鍵ｐｋを用いて、端末１が生成した署名検証鍵ｖｋに対する署名の正当性を検証し、正当性が検証できた場合には、ＩＤ、署名検証鍵ｖｋ、端末１が生成した署名検証鍵ｖｋについての署名及び公開鍵ｐｋを記憶部３２に記憶する（ステップＢ７）。また、ＡＰサーバ３は、署名検証鍵ｖｋに対する署名、公開鍵ｐｋ及びＩＤを委託計算サーバ５Ｂに送信する（ステップＢ９）。
【００４９】
委託計算サーバ５Ｂの検証部４１Ｂは、公開鍵ｐｋを用いて、端末１が生成した署名検証鍵ｖｋに対する署名の正当性を検証し、正当性が検証できた場合には、ＩＤ、署名検証鍵ｖｋ、端末１が生成した署名検証鍵ｖｋについての署名及び公開鍵ｐｋを記憶部５２Ｂに記憶する（ステップＢ７）。
【００５０】
ＡＰサーバ３のチャレンジデータ送信部４４は、チャレンジデータＣを端末１に送信して、メッセージＭについての電子署名の許可を要求する（ステップＣ２）。
【００５１】
端末１の署名生成部１３は、メッセージＭに対する署名の許可をする場合には、秘密鍵ｓｋを用いてチャレンジデータＣに対する署名を生成し、端末１の認証情報送信部１４が、認証情報として生成された署名をＡＰサーバ３に送信する（ステップＣ３）。
【００５２】
ＡＰサーバ３の検証部４１は、認証情報送信部１４が送信してきた認証情報の正当性を検証する（ステップＣ４）。
【００５３】
認証情報の正当性が検証された場合には、チャレンジデータＣの署名を、メッセージＭ及び公開鍵ｐｋと共に記憶部４３に記憶し、また、ＡＰサーバ３の署名要求情報送信部４２は、対象情報であるメッセージＭと、署名生成鍵ｇｋの断片ｇｋｐＢを用いてメッセージＭに対する署名を求める旨の情報である署名要求情報とを委託計算サーバ５Ｂに送信する（ステップＣ５）。必要に応じて、ＩＤ及びＣの署名を送信してもよい。
【００５４】
ＡＰサーバ３の秘密分散処理部５３Ａ，５３Ｎ＋１及び委託計算サーバ５Ｂの秘密分散処理部５３Ｂは、対象情報に対して秘密分散処理を行う（ステップＣ６１からステップＣ６３）。
【００５５】
この例では、まず、委託計算サーバ５Ｂの秘密分散処理部５３Ｂは、署名生成鍵ｇｋの断片ｇｋＢを用いた秘密分散処理によりメッセージＭに対する署名の断片を生成する（ステップＣ６１）。生成された署名の断片は、ＡＰサーバ３に送信される（ステップＣ６２）。
【００５６】
ＡＰサーバ３の秘密分散処理部５３Ａは、署名生成鍵ｇｋの断片ｇｋＡを用いた秘密分散処理によりメッセージＭに対する署名の断片を生成する。ＡＰサーバ３の秘密分散処理部５３Ｎ＋１は、秘密分散処理部５３Ｂが生成した署名の断片と、秘密分散処理部５３Ａが生成した署名の断片とを用いて、メッセージＭに対する署名を生成する（ステップＣ６３）。
【００５７】
［第三実施形態］
第三実施形態の委託計算システムは、委託計算により生体認証を行うものである。
【００５８】
以下、第一実施形態と異なる部分を中心に説明する。第一実施形態と同様に部分については、重複説明を略する。
【００５９】
第三実施形態の委託計算システムは、図３に例示するように、端末１及びサーバ２を含む。端末１は、認証情報送信部１４、生体登録情報取得部１５、生体登録情報分散部１６、送信部１７、生体照合情報取得部１８、生体照合情報分散部１９を例えば含む。サーバ２は、ＡＰサーバ３及び委託計算サーバ５を例えば含む。ＡＰサーバ３は、記憶部３２、送信部３３、検証部３４、署名依頼部３５、秘密分散処理部３６を例えば含む。委託計算サーバ５は、記憶部５２、秘密分散処理部５３を例えば含む。
【００６０】
第三実施形態の委託計算システムの処理の流れを図６に例示する。
【００６１】
ステップＤ１からステップＤ４では、端末１の利用者の本人証明手段の確立及び生体情報の登録が行われる。
【００６２】
生体登録情報取得部１５は、端末１の利用者の生体登録情報を取得する（ステップＤ１）。取得された生体登録情報は、生体登録情報分散部１６に送られる。生体登録情報取得部１５は、端末１に接続された指紋読取装置、静脈読取装置、虹彩読取装置等の生体情報読取装置が読み取った生体情報を取得するものであってもよいし、端末１自体に搭載された指紋読取装置、静脈読取装置、虹彩読取装置等の生体情報読取装置であってもよい。
【００６３】
生体登録情報分散部１６は、生体登録情報を分散して複数の分散生体登録情報を生成する（ステップＤ２）。この例では、２つの分散生体登録情報が生成される。生体登録情報の分散及び後述する生体照合情報の分散の方法は、生成される分散登録情報及び分散生体登録情報に基づいて、生体登録情報を提供した者と生体照合情報を提供した者とが同じ者であるとみなせるほど、生体登録情報及び生体照合情報が近いかどうかを判断することができるものであれば、どのようなものでもよい。例えば、参考文献２に記載された方法により、分散することができる。
【００６４】
〔参考文献２〕K. Chida and K. Takahashi, “Privacy preserving computations without public key cryptographic operation”, IWSEC2008, LNCS 5312, pp. 184-200, Springer-Verlag, 2008.
また、認証情報として、端末１の利用者によりＩＤ及びパスワードが選択される。送信部１７は、ＩＤ、パスワード及び一方の分散生体登録情報をＡＰサーバ３に送信し、ＩＤ、パスワード及び他方の分散生体登録情報を委託計算サーバ５に送信する（ステップＤ３）。ＩＤ、パスワード及び一方の分散生体登録情報はＡＰサーバ３の記憶部３２に記憶される。また、ＩＤ、パスワード及び他方の分散生体登録情報は委託計算サーバ５の記憶部５２に記憶される。
【００６５】
ステップＥ１からステップＥ６３では、ＡＰサーバ３及び委託計算サーバ５が、取得された生体情報が既に登録されている生体登録情報と一致するかどうかの判断、すなわち生体認証を行う。
【００６６】
ＡＰサーバ３は、端末１に対して、端末１の利用者の本人証明を要求する旨の本人証明要求信号を送信する（ステップＥ１）。
【００６７】
端末１の生体照合情報取得部１８は、端末１の利用者から生体照合情報を取得する（ステップＥ２）。取得された生体照合情報は、生体照合情報分散部１９に送られる。生体照合情報取得部１８は、端末１に接続された指紋読取装置、静脈読取装置、虹彩読取装置等の生体情報読取装置が読み取った生体情報を取得するものであってもよいし、端末１自体に搭載された指紋読取装置、静脈読取装置、虹彩読取装置等の生体情報読取装置であってもよい。
【００６８】
生体照合情報分散部１９は、生体登録情報を分散して複数の分散生体照合情報を生成する（ステップＥ３）。この例では、２つの分散生体登録情報が生成される。生成された分散生体照合情報は、送信部１７に送られる。
【００６９】
端末１には、認証情報として、端末１の利用者により、ＩＤ及びパスワードが入力される。認証情報送信部１４は、認証情報である入力されたＩＤ及びパスワードをＡＰサーバ３及び委託計算サーバ５に送信し、また、送信部１７は、一方の分散生体登録情報をＡＰサーバ３に送信し、他方の分散生体登録情報を委託計算サーバ５に送信する（ステップＥ４）。
【００７０】
ＡＰサーバ３の検証部３４は、受信した認証情報の正当性を検証する（ステップＥ５）。例えば、入力されたＩＤ及びパスワードが、既に記憶部３２に登録されているＩＤ及びパスワードと一致すれば、受信した認証情報であるＩＤ及びパスワードが正当であると判断することができる。
【００７１】
認証情報の正当性が確認された場合には、ＡＰサーバ３の秘密分散処理部３６及び委託計算サーバ５の秘密分散処理部５３は、対象情報に対して秘密分散処理を行い、端末１の利用者の認証を行う（ステップＥ６１からステップＥ６３）。
【００７２】
この例では、対称情報は、２つの分散生体照合情報及び既に登録されている２つの分散生体登録情報である。ＡＰサーバ３の秘密分散処理部３６及び委託計算サーバ５の秘密分散処理部５３は、これらの対象情報から、生体照合情報を提供した者と生体登録情報を提供した者とが同じ者であるとみなせるほど、生体照合情報及び生体登録情報が近いかどうかを判断する。生体照合情報及び生体登録情報が近い場合には、端末１の利用者は認証されることになる。
【００７３】
例えば、ＡＰサーバ３の送信部３３が、委託計算サーバ５に対して委託計算を要求する旨の情報である委託計算要求情報を送信する（ステップＥ６１）。委託計算サーバ５は、分散生体照合情報及び記憶部５２から読み込んだ分散生体登録情報を用いて認証結果の断片を生成し、ＡＰサーバ３に送信する（ステップＥ６２）。ＡＰサーバ３は、認証結果の断片、分散生体照合情報及び記憶部３２から読み込んだ分散生体登録情報を用いて、認証結果を得る（ステップＥ６３）。これらのステップＥ６１からステップＥ６３の処理は、上記参考文献２に記載された方法により実現することができる。
【００７４】
このように、生体登録情報と生体照合情報とが一致しているかどうかの計算を端末１の外部にあるＡＰサーバ３及び委託計算サーバ５に実行させることにより、端末１を高機能とさせる必要がなくなるため、端末の価格を従来よりも低減させることができる。
【００７５】
［変形例等］
この発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００７６】
例えば、図１から図３では、サーバは１つしか記載されていないが、サーバ２と同様のサーバが複数あってもよい。この場合、複数のアプリケーションの委託計算が実行可能となる。また、図１から図３では、端末は１つしか記載されていないが、端末１と同様に端末が複数あってもよい。この場合、これらの複数の端末がアプリケーションの委託計算サービスを利用することが可能となる。
【００７７】
また、上記の実施形態では複数の秘密分散処理部の全てが対象情報に対して秘密分散処理を行ったが、複数の秘密分散処理部の一部が対象情報に対して秘密分散処理を行えるようにしてもよい。例えば、第一実施形態では、Ｎ＋１個の秘密分散処理部５３１，…，５３Ｎ＋１が共同して秘密分散処理をすることにより対象情報であるメッセージＭに対して署名をしたが、Ｋを２以上Ｎ＋１以下の整数として、ｓｈａｍｉｒの秘密分散法を用いてＮ＋１個の秘密分散処理部５３１，…，５３Ｎ＋１の中の任意のＫ個の秘密分散処理部が共同して秘密分散処理をすることにより対象情報であるメッセージＭに対して署名をすることができるようにしてもよい。この場合、Ｋ−１個の以下の秘密分散処理部ではメッセージＭに対して署名をすることはできない。したがって、Ｋ−１個以下の秘密分散処理部が、端末１の許可なく署名の計算をすることを防止することができる。
【符号の説明】
【００７８】
１     端末
１４   認証情報送信部
１８   生体照合情報取得部
１９   生体照合情報分散部
２     サーバ
３２   記憶部
３６，５３，５３Ａ，５３Ｂ，５３１，…，５３Ｎ＋１      秘密分散処理部
４４   チャレンジデータ送信部
【図１】
0005498255.tif 000002
【図２】
0005498255.tif 000003
【図３】
0005498255.tif 000004
【図４】
0005498255.tif 000005
【図５】
0005498255.tif 000006
【図６】
0005498255.tif 000007