(57)【特許請求の範囲】
【請求項１】
回線認証可能な何れかの回線の回線情報に対応する登録情報を格納する登録情報記憶部と、
署名対象情報に対応する情報および回線認証に成功した使用回線の回線情報に対応する回線対応情報を受け付ける入力部と、
前記回線対応情報が前記登録情報に対応する場合に、前記署名対象情報に対する署名情報に対応する応答情報を出力する出力部と、
を有し、
前記署名対象情報に対応する情報は、前記署名対象情報の撹乱情報であり、
前記応答情報は、自己訂正処理によって前記署名情報を得るための情報である、署名生成装置。
【請求項２】
請求項１の署名生成装置であって、
前記登録情報は、前記回線情報に対応する公開された第１固有情報または当該第１固有情報に対して一義的に決まる情報であり、
前記回線対応情報は、前期回線認証に成功した使用回線の回線情報に対応する公開された第２固有情報または当該第２固有情報に対して一義的に決まる情報である、署名生成装置。
【請求項３】
署名対象情報に対応する情報を使用回線に出力する出力部を含む端末装置と、
回線認証可能な何れかの回線の回線情報に対応する登録情報を格納する登録情報記憶部と、前記署名対象情報に対応する情報および回線認証に成功した前記使用回線の回線情報に対応する回線対応情報を受け付ける入力部と、前記回線対応情報が前記登録情報に対応する場合に、前記署名対象情報に対する署名情報に対応する応答情報を出力する出力部と、を含む署名生成装置と、
を有し、
前記署名対象情報に対応する情報は、前記署名対象情報の撹乱情報であり、
前記応答情報は、自己訂正処理によって前記署名情報を得るための情報である、署名システム。
【請求項４】
署名対象情報に対応する情報を使用回線に出力する出力部を含む端末装置と、
前記使用回線の回線情報を用いた回線認証を行う認証装置と、
回線認証可能な何れかの回線の回線情報に対応する登録情報を格納する登録情報記憶部と、前記署名対象情報に対応する情報および前記認証装置で前記回線認証に成功した前記使用回線の回線情報に対応する回線対応情報を受け付ける入力部と、前記回線対応情報が前記登録情報に対応する場合に、複数個の署名鍵のうち前記回線対応情報に対応する署名鍵を用い、前記署名対象情報に対する署名情報を生成する署名処理部と、前記署名情報または前記署名情報に対応する応答情報を出力する出力部と、を含む署名生成装置と、
を有する署名システム。
【請求項５】
回線認証可能な何れかの回線の回線情報に対応する登録情報が登録情報記憶部に格納されており、
入力部が、署名対象情報に対応する情報および回線認証に成功した使用回線の回線情報に対応する回線対応情報を受け付けるステップと、
前記回線対応情報が前記登録情報に対応する場合に、出力部が、前記署名対象情報に対する署名情報に対応する応答情報を出力するステップと、を有し、
前記署名対象情報に対応する情報は、前記署名対象情報の撹乱情報であり、
前記応答情報は、自己訂正処理によって前記署名情報を得るための情報である、署名生成方法。
【請求項６】
請求項１または２の署名生成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティ応用技術に関し、特に代理署名技術に関する。
【背景技術】
【０００２】
電子署名方式の一つに代理署名方式がある（例えば、非特許文献１参照）。一般的な代理署名方式では、署名生成を代理する署名生成装置が秘密鍵等の署名鍵を保持する。署名生成を委託する端末装置（クライアント装置）は、平文と認証情報（証明書、ＩＤ、パスワード等）を署名生成装置に送信する。署名生成装置は、認証情報を用いた認証処理を行い、認証成功であれば署名鍵を用いて当該平文に対する署名を生成し、当該署名を端末装置に送る。端末装置は平文と署名とを検証装置に送り、検証装置は公開鍵等の検証鍵を用いて署名検証を行う。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】D. Chaum, “Blind signatures for untraceable payments,” Proc. of CRYPTO, 1982.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方式では、認証処理やそれに必要な情報の管理を端末装置またはユーザーごとに個々に行わなければならない。
【０００５】
本発明の課題は、代理署名技術における認証処理やそれに必要な情報の管理を削減することである。
【課題を解決するための手段】
【０００６】
署名生成装置に回線認証可能な何れかの回線の回線情報に対応する登録情報を格納しておく。署名生成装置は、署名対象情報に対応する情報および回線認証に成功した使用回線の回線情報に対応する回線対応情報を受け付け、回線対応情報が登録情報に対応する場合に、署名対象情報に対する署名情報に対応する応答情報を出力する。
【発明の効果】
【０００７】
本発明では、回線認証に成功した使用回線の回線情報に対応する回線対応情報に基づき、使用回線ごとに応答情報の出力の有無が定められるため、認証処理やそれに必要な情報の管理を削減できる。
【図面の簡単な説明】
【０００８】
【図１】図１は実施形態の署名システムの機能構成を例示したブロック図である。
【図２】図２は実施形態の署名生成方法を説明するためのフロー図である。
【図３】図３は実施形態の署名システムの機能構成を例示したブロック図である。
【図４】図４は実施形態の署名生成方法を説明するためのフロー図である。
【図５】図５は実施形態の署名システムの機能構成を例示したブロック図である。
【図６】図６は実施形態の署名生成方法を説明するためのフロー図である。
【発明を実施するための形態】
【０００９】
図面を参照して本発明の実施形態を説明する。
［第１実施形態］
本発明の第１実施形態を説明する。
＜構成＞
本形態の構成を説明する。図１に例示するように、本形態の署名システム１は、端末装置１１と署名生成装置１２とを有する。端末装置１１と署名生成装置１２とは、回線認証機能および回線情報通知機能を備える公衆回線を通じて通信可能に構成されている。
【００１０】
回線認証 (network based authentication)とは、「このユーザーは確かにこの回線から通信してきた」ということを確認するためのユーザー認証技術である。回線認証自体は公知であり、例えば、参考文献１（“ＮＴＴデータ、ＮＧＮの回線情報を利用した認証連携機能を開発〜セキュリティを容易に確保するための仕組みを確立〜”、[online]、株式会社ＮＴＴデータ、[平成２６年１２月３１日検索]、インターネット＜http://www.nttdata.com/jp/ja/news/release/2009/091600.html＞）や米国特許出願公開第US2007-0234404 A1号明細書などに開示されている。端末装置１１が公衆回線の特定の回線を用いて署名生成装置１２と通信を行う場合、端末装置１１が使用する回線に対応する回線情報 (network based identification)が認証装置に送られる。回線情報の例は、例えば、参考文献２（Nir Yosef, Roded Sharan, and William Stafford Noble, “Improved network-based identification of protein orthologs,” Oxford Journals, Science & Mathematics Bioinformatics, Volume 24, Issue 16, pp. i200-i206, http://bioinformatics.oxfordjournals.org/content/24/16/i200.）に開示されている。認証装置での回線認証が成功である場合、端末装置１１はこの回線を通じて署名生成装置１２と通信を行うことができる。認証装置での回線認証が失敗である場合、端末装置１１はこの回線を通じて署名生成装置１２と通信を行うことができない。回線認証の具体例は、ＮＧＮ（next generation network）の回線認証やＥＡＰ−ＳＩ認証などがある。回線情報の具体例は、回線に接続される機器に固有な識別子、ゲートウェイ（ホームゲートウエイ等）のＭＡＣアドレス、フレッツナンバー（登録商標）、ＩＭＳＩ（International Mobile Subscriber Identity）、メールアドレス、所属部署名などである。
【００１１】
回線情報通知機能とは、或る回線を用いた通信において通信先の装置にその回線の回線情報を通知する機能である。回線情報通知機能も公知であり、例えば、参考文献３（“回線情報通知機能”、[online]、東日本電信電話株式会社、フレッツ公式ホームページ、[平成２６年１２月３１日検索]、インターネット＜http://flets.com/asc/s_outline.html＞）などに開示されている。端末装置１１が或る回線を通じて署名生成装置１２と通信を行う場合、その回線の回線情報または当該回線情報に対して一義的に決まる情報が署名生成装置１２に通知される。
【００１２】
図１に例示するように、本形態の端末装置１１は、記憶部１１１と出力部１１３と入力部１１４と署名生成委託部１１５とを有する。署名生成装置１２は、記憶部１２１，１２２と、入力部１２３と、出力部１２４と、判定部１２５と、署名処理部１２６とを有する。各装置は、例えば、ＣＰＵ（central processing unit）等のプロセッサ（ハードウェア・プロセッサ）やＲＡＭ（random-access memory）・ＲＯＭ（read-only memory）等のメモリ等を含む汎用または専用のコンピュータに所定のプログラムが読み込まれることで構成されたものである。このコンピュータは１個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めＲＯＭ等に記録されていてもよい。また、ＣＰＵのようにプログラムが読み込まれることで機能構成を実現する電子回路（circuitry）ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、１個の装置を構成する電子回路が複数のＣＰＵを含んでいてもよい。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。なお、表記の便宜上、図１では端末装置１１と署名生成装置１２とを１個ずつ図示しているが、２個以上の端末装置１１や署名生成装置１２が存在してもよい。この際、２個以上の端末装置１１や署名生成装置１２が同一の回線に接続されてもよい。
【００１３】
＜事前処理＞
本形態では、署名鍵ｓｋとそれに対応する検証鍵ｐｋとの鍵ペア（ｓｋ，ｐｋ）が事前に設定される。鍵ペア（ｓｋ，ｐｋ）は、例えば、公開鍵暗号方式（ＲＳＡ暗号方式等）の秘密鍵とそれに対応する公開鍵との鍵ペア（秘密鍵，公開鍵）でもよいし、ＩＤベース暗号方式（参考文献４「D. Boneh, M. Franklin, “Identity based encryption from the Weil pairing,” Crypto 2001, Lecture Notes in Computer Science, Vol. 2139, Springer-Verlag, pp.213-229, 2001」等参照）の秘密鍵とそれに対応する識別子とのペア（秘密鍵，識別子）でもよいし、関数型暗号方式（参考文献５「Tatsuaki Okamoto, Katsuyuki Takashima, "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption", CRYPTO 2010, pp.191-208 (2010)」等）の秘密鍵とそれに対応する属性ベクトルとのペア（秘密鍵，属性ベクトル）でもよい。１組のみの鍵ペア（ｓｋ，ｐｋ）が設定されてもよいし、互いに異なる複数組の鍵ペア（ｓｋ，ｐｋ）が設定されてもよい。設定された署名鍵ｓｋは当該署名鍵ｓｋに対応する検証鍵ｐｋ（署名鍵を特定するための情報）に対応付けられて署名生成装置１２の記憶部１２１に格納される。１組のみの鍵ペア（ｓｋ，ｐｋ）が設定された場合には、１個の署名鍵ｓｋとそれに対応する検証鍵ｐｋとが互いに対応付けられて格納される。互いに異なる複数組の鍵ペア（ｓｋ，ｐｋ）が設定された場合には、互いに異なる複数個の検証鍵ｐｋとそれらに対応する検証鍵ｐｋとが互いに対応付けられて格納される。このような署名鍵ｓｋとそれらに対応付けられた検証鍵ｐｋとを含むリストを「ｓｋ−Ｌｉｓｔ」と表記する。
【００１４】
また、事前登録処理として、署名生成装置１２が署名代行を行う回線の回線情報に対応する「登録情報」が事前設定され、署名生成装置１２の記憶部１２２（登録情報記憶部）に格納される。ここで「署名生成装置１２が署名代行を行う回線」とは、署名生成装置１２に署名生成を委託する端末装置１１がその依頼に用いる回線を意味する。また、署名代行を受けることができる権能のことを「署名代行権限」と呼ぶことにする。本形態の「登録情報」は、回線認証可能な何れかの回線の回線情報に対応する。「登録情報」は、署名生成装置１２が署名代行を行う回線の回線情報そのものであってもよいし、その回線情報に対して一義的に決まる情報であってもよい。また、回線情報の種類によっては、非公開である等の理由により、署名生成装置１２が回線認証のための回線情報からユーザーを識別することが困難な場合があり、回線認証のための回線情報を用いて署名代行権限の有無の管理を行うことが困難な場合もある。例えば、端末装置として携帯電話を用いる場合、回線認証にはＩＭＥＩやＩＭＳＩなどの回線情報を用いるが、署名生成装置１２がＩＭＥＩやＩＭＳＩを用いてこのような管理を行うことが困難な場合もある。また、ＮＧＮの回線認証用の回線情報にフレッツナンバーを用いる場合、署名生成装置１２がこのフレッツナンバーを用いてこのような管理を行うことが困難な場合もある。署名生成装置１２にとっては、汎用性の高い電話番号等の一般的な回線情報を用いた管理のほうが容易な場合が多い。そこで、１個の回線に対して複数個の回線情報が紐づいている場合に、その一部の回線情報（例えば、ＩＭＥＩ，ＩＭＳＩ，フレッツナンバー，ＭＡＣアドレス等）が回線認証に用いられ、この回線認証に用いられた回線情報に紐づいた（対応する）他の回線情報（一般的な回線情報等）が管理に用いられてもよい。回線認証に用いられた回線情報に紐づいた他の回線情報を「固有情報」と呼ぶことにする。「固有情報」は公開情報であってもよいし、非公開情報であってもよい。結局、「登録情報」は、署名生成装置１２が署名代行を行う回線の回線認証に用いられる回線情報そのものであってもよいし、その回線情報に対して一義的に決まる情報であってもよいし、署名生成装置１２が署名代行を行う回線の固有情報であってもよいし、この固有情報に対して一義的に決まる情報であってもよいし、署名生成装置１２が署名代行を行う回線の回線認証に用いられる回線情報とそれに紐づいた固有情報との組であってもよいし、その組に対して一義的に決まる情報であってもよいし、これらの何れかの情報を含む情報であってもよい。以下では「登録情報」を含むリストを「Ｌｉｓｔ」と表記する。
【００１５】
さらに、署名生成装置１２が署名代行を行う回線を利用する端末装置１１の記憶部１１１には、署名対象となる平文ｍ（署名対象情報）と、ｓｋ−Ｌｉｓｔが含む何れかの署名鍵ｓｋに対応する検証鍵ｐｋとが格納される。
【００１６】
＜署名生成処理＞
図２を用いて本形態の署名生成処理を説明する。端末装置１１（図１）の署名生成委託部１１５は記憶部１１１から平文ｍおよび検証鍵ｐｋを読み込み、平文ｍおよび検証鍵ｐｋを出力する。平文ｍおよび検証鍵ｐｋは出力部１１３に入力される。出力部１１３は、署名生成装置１２を宛先とし、公衆回線の所定の回線（使用回線）に対して平文ｍおよび検証鍵ｐｋを出力する（代理署名要求：ステップＳ１０１）。
【００１７】
平文ｍおよび検証鍵ｐｋが出力された回線（使用回線）の回線情報ｄｘは、回線認証機能を提供する認証装置（図示せず）に送られ、この認証装置は回線情報ｄｘを用いた回線認証を行う（ステップＳ１０２）。回線認証が失敗であった場合（ステップＳ１０３）、エラー情報が端末装置１１に送信される。送信されたエラー情報は、入力部１１４に入力されて署名生成委託部１１５に送られ、署名生成委託部１１５は署名生成処理を終了する（ステップＳ１０４）。
【００１８】
一方、回線認証が成功であった場合（ステップＳ１０３）、平文ｍおよび検証鍵ｐｋが署名生成装置１２に送信され、さらに回線情報通知機能を提供する通知装置（図示せず）が、回線情報ｄｘに対応する回線対応情報ｘを署名生成装置１２に送信する。回線対応情報ｘは、回線情報ｄｘそのものであってもよいし、その回線情報ｄｘに対して一義的に決まる情報であってもよいし、回線情報ｄｘに紐付けられた固有情報ｉｄであってもよいし、この固有情報ｉｄに対して一義的に決まる情報であってもよいし、回線情報ｄｘとそれに紐づいた固有情報ｉｄとの組であってもよいし、その組に対して一義的に決まる情報であってもよいし、これらの何れかの情報を含む情報であってもよい（ステップＳ１０５）。平文ｍ（署名対象情報に対応する情報）、検証鍵ｐｋ（署名鍵を特定するための情報）、および回線対応情報ｘ（使用回線の回線情報に対応する回線対応情報）は、署名生成装置１２の入力部１２３に入力される（受け付けられる）。入力部１２３に入力される回線対応情報ｘは、回線認証に成功した回線（使用回線）に対応する情報である。回線対応情報ｘは判定部１２５に送られ、平文ｍおよび検証鍵ｐｋは署名処理部１２６に送られる（ステップＳ１０６）。判定部１２５は、回線対応情報ｘが記憶部１２２に格納されたリストＬｉｓｔの何れかの「登録情報」に対応するかを判定する。例えば、リストＬｉｓｔに含まれる「登録情報」が回線認証に用いられる回線情報そのものであり、回線対応情報ｘも回線情報ｄｘそのものである場合、判定部１２５は『リストＬｉｓｔが回線対応情報ｘに一致する「登録情報」を含むか』を判定する。リストＬｉｓｔに含まれる「登録情報」が「固有情報」であり、回線対応情報ｘが回線情報ｄｘに紐付けられた「固有情報」である場合にも、判定部１２５は『リストＬｉｓｔが回線対応情報ｘに一致する「登録情報」を含むか』を判定する。リストＬｉｓｔに含まれる「登録情報」が回線認証に用いられる回線情報そのものであり、回線対応情報ｘが回線情報ｄｘに紐付けられた「固有情報」である場合には、判定部１２５は『リストＬｉｓｔが回線対応情報ｘに対応する「登録情報」を含むか』を判定する。その他、「登録情報」および回線対応情報ｘに用いられる情報の種別に応じた方法で、回線対応情報ｘが「登録情報」に対応するかを判定すればよい（ステップＳ１０７）。回線対応情報ｘがリストＬｉｓｔの何れの「登録情報」にも対応しない場合（例えば、リストＬｉｓｔが回線対応情報ｘに一致する「登録情報」を含まない場合）（ステップＳ１０８）、出力部１２４からエラー情報が送信される。送信されたエラー情報は、端末装置１１の入力部１１４に入力されて署名生成委託部１１５に送られ、署名生成委託部１１５は署名生成処理を終了する（ステップＳ１０９）。一方、回線対応情報ｘがリストＬｉｓｔの何れかの「登録情報」に対応する場合（例えば、リストＬｉｓｔが回線対応情報ｘに一致する「登録情報」を含む場合）（ステップＳ１０８）、署名処理部１２６は、入力された検証鍵ｐｋを用いて記憶部１２１に格納されたｓｋ−Ｌｉｓｔを検索し、検証鍵ｐｋに対応する署名鍵ｓｋを抽出する。署名処理部１２６は、抽出した署名鍵ｓｋ（署名鍵を特定するための情報によって特定される署名鍵）を用い、入力された平文ｍの署名（署名情報、すなわち電子署名）ｓ＝ｓｉｇ（ｓｋ，ｍ）を生成して出力する。例えば、署名処理部１２６は、署名鍵ｓｋを用いて平文ｍに対応する情報（ハッシュ値等）を暗号化し、その暗号文を署名ｓとして出力する（ステップＳ１１０）。署名ｓは出力部１２４に入力される。出力部１２４は、端末装置１１を宛先とし、回線対応情報ｘに対応する回線に対して署名ｓ（署名対象情報に対する署名情報に対応する応答情報）を出力する（ステップＳ１１１）。
【００１９】
署名ｓは、端末装置１１の入力部１１４に入力されて署名生成委託部１１５に送られる（ステップＳ１１２）。署名生成委託部１１５は、記憶部１１１から検証鍵ｐｋおよび平文ｍを抽出し、検証鍵ｐｋ、平文ｍ、および署名ｓを出力して署名生成処理を終了する（ステップＳ１１３）。
【００２０】
検証鍵ｐｋ、平文ｍ、および署名ｓは、図示していない検証装置に送られ、検証装置は、これらを用いて署名検証を行う。
【００２１】
＜第１実施形態の特徴＞
本形態では、絶対数の多い個々の端末装置１１やそのユーザーごとに認証処理の管理を行うのではなく、絶対数の少ない回線ごとに認証処理の管理を行う。そのため、認証処理や管理のコストを削減できる。
【００２２】
本形態では、端末装置１１やそのユーザーごとに個々に登録が行われるのではなく、署名生成装置１２が署名代行を行う回線ごとに登録が行われる。そのため、個々の端末装置１１やそのユーザーを登録することなく、登録済みの回線を正当に使用する権限がある複数の端末装置１１に対し、署名生成装置１２での署名生成を許可することができ、登録手続きを簡易化できる。また、回線に対して署名代行権限を与えるため、本システム専用の設定を行う前の端末装置１１に対しても署名代行権限を与えることができる。すなわち、本形態の署名生成処理機能を実行するためのプログラムを端末装置１１にインストールする前であっても、その端末装置１１が使用する回線に対応する回線情報を特定することはでき、その回線に対応する「登録情報」を含むリストを署名生成装置１２に格納することができる。また「登録情報」および「回線対応情報ｘ」として、公開された固有情報または当該固有情報に対して一義的に決まる情報を用いた場合、非公開の情報を用いることなく、上述の管理を実現できる。
【００２３】
また、本形態では端末装置１１の正当性が公衆回線内の回線認証によって担保される。そのため、端末装置１１やそのユーザーが署名生成のための特別な認証処理を別途行う必要がなく、それに必要な秘密情報を別途保持する必要もない。
【００２４】
署名生成装置１２の記憶部１２１にｓｋ−Ｌｉｓｔを格納し、署名生成装置１２が入力された公開鍵ｐｋを用いて署名生成に用いる秘密鍵ｓｋを特定する構成の場合、複数種類の秘密鍵ｓｋについての署名代行を署名生成装置１２に委託できる。
【００２５】
［第１実施形態の変形例］
回線対応情報ｘに対応する署名鍵ｓｋを用いて署名ｓが生成されてもよい。この変形例では、例えば、署名鍵ｓｋとそれらに対応付けられた検証鍵ｐｋとを含むリストｓｋ−Ｌｉｓｔに代え、署名鍵ｓｋとそれらに対応付けられた「登録情報」とを含むリストｓｋ−Ｌｉｓｔが用いられる。回線対応情報ｘがリストＬｉｓｔの何れかの「登録情報」に対応する場合（ステップＳ１０８）、署名処理部１２６は、検証鍵ｐｋに代えて回線対応情報ｘを用いて記憶部１２１に格納されたｓｋ−Ｌｉｓｔを検索し、回線対応情報ｘに対応する署名鍵ｓｋを抽出し、署名ｓを生成する。あるいは、ｓｋ−Ｌｉｓｔを省略し、Ｌｉｓｔが署名鍵ｓｋとそれらに対応付けられた「登録情報」とを含んでもよい。この構成では、回線対応情報ｘがリストＬｉｓｔの何れかの「登録情報」に対応する場合（ステップＳ１０８）、署名処理部１２６は、その「登録情報」に対応付けられた鍵ｓｋを抽出し、署名ｓを生成する。なお、これらの変形例では、端末装置１１が使用する回線の回線対応情報ｘに対応する署名鍵ｓｋに対応する検証鍵ｐｋを、記憶部１１１に格納しておく。あるいは、署名生成装置１２から端末装置１１に署名ｓを送信する際に、その生成に用いた署名鍵ｓｋに対応する検証鍵ｐｋを添付してもよい。
【００２６】
また第１実施形態では、「署名鍵を特定するための情報」として検証鍵ｐｋを用いる例を示したが、鍵ＩＤその他の情報を「署名鍵を特定するための情報」としてもよい。また、署名生成装置１２の記憶部１２１に１個の署名鍵ｓｋのみが格納される場合には、「署名鍵を特定するための情報」を省略可能である。その他、ステップＳ１０１で平文ｍを送信せず、ステップＳ１０８で回線対応情報ｘがリストＬｉｓｔの何れかの「登録情報」に対応すると判定されてから、端末装置１１から署名生成装置１２に平文ｍを送信し、ステップＳ１１０以降の処理が実行されてもよい。
【００２７】
［第２実施形態］
本形態は第１実施形態の変形例であり、ＩＤベース暗号方式に基づき、代理署名要求の後に署名鍵を生成する方式である。以下では第１実施形態との相違点を中心に説明し、既に説明した事項については、これまでに用いた参照番号を流用することで説明を簡略化する。
【００２８】
＜構成＞
本形態の構成を説明する。図３に例示するように、本形態の署名システム２は、端末装置２１と署名生成装置２２と鍵生成装置２３を有する。端末装置２１と署名生成装置２２とは、回線認証機能および回線情報通知機能を備える公衆回線を通じて通信可能に構成されている。また、署名生成装置２２と署名生成装置とは公衆回線または私設回線を通じて通信可能に構成されている。なお、表記の便宜上、図２でも端末装置２１と署名生成装置２２とを１個ずつ図示しているが、２個以上の端末装置２１や署名生成装置２２が存在してもよい。この際、２個以上の端末装置２１や署名生成装置２２が同一の回線に接続されてもよい。同様に、複数個の鍵生成装置２３が存在してもよい。
【００２９】
図３に例示するように、本形態の端末装置２１は、記憶部２１１と出力部２１３と入力部１１４と署名生成委託部２１５とを有する。署名生成装置２２は、記憶部１２２と、入力部２２３と、出力部１２４と、判定部１２５と、署名処理部２２６とを有する。各装置は、例えば、前述したコンピュータに所定のプログラムが読み込まれることで構成されてもよいし、電子回路を用いて一部またはすべての処理部が構成されてもよい。
【００３０】
＜事前処理＞
本形態では、ＩＤベース暗号方式のマスター秘密鍵ｍｓｋとパラメータＰとが生成され、マスター秘密鍵ｍｓｋが鍵生成装置２３に安全に格納され、Ｐおよびｍｓｋ・Ｐが公開パラメータとして公開される。例えば、ｍｓｋは剰余環の元であり、Ｐは楕円曲線上の点である（参考文献４等参照）。また、事前登録処理として、署名生成装置２２が署名代行を行う回線の回線情報に対応する「登録情報」が事前設定され、署名生成装置２２の記憶部１２２（登録情報記憶部）に格納される。なお、「登録情報」の具体例は、「署名生成装置１２」が「署名生成装置２２」に置換される以外、第１実施形態で説明した通りである。さらに、署名生成装置２２が署名代行を行う回線を利用する端末装置２１の記憶部２１１には、署名対象となる平文ｍ（署名対象情報）と識別子ＩＤとが格納される。識別子ＩＤの例は、電話番号、メールアドレスなどである。
【００３１】
＜署名生成処理＞
図４を用いて本形態の署名生成処理を説明する。端末装置２１（図３）の署名生成委託部２１５は記憶部２１１から平文ｍおよび識別子ＩＤを読み込み、平文ｍおよび識別子ＩＤを出力する。平文ｍおよび識別子ＩＤは出力部２１３に入力される。出力部２１３は、署名生成装置２２を宛先とし、公衆回線の所定の回線（使用回線）に対して平文ｍおよび識別子ＩＤを出力する（代理署名要求：ステップＳ２０１）。
【００３２】
次に、第１実施形態で説明したように回線認証が行われ（ステップＳ１０２〜Ｓ１０４）、回線認証が成功であった場合、平文ｍおよび識別子ＩＤが署名生成装置２２に送信され、通知装置（図示せず）が、回線情報ｄｘに対応する回線対応情報ｘを署名生成装置２２に送信する。回線対応情報ｘの具体例は第１実施形態で説明した通りである（ステップＳ２０５）。平文ｍ（署名対象情報に対応する情報）、識別子ＩＤ（署名鍵を特定するための情報）、および回線対応情報ｘ（使用回線の回線情報に対応する回線対応情報）は、署名生成装置２２の入力部２２３に入力される（受け付けられる）。回線対応情報ｘは判定部１２５に送られ、平文ｍおよび識別子ＩＤは署名処理部１２６に送られる（ステップＳ２０６）。判定部１２５は、回線対応情報ｘが記憶部１２２に格納されたリストＬｉｓｔの何れかの「登録情報」に対応するかを判定する（ステップＳ１０７，Ｓ１０８）。回線対応情報ｘがリストＬｉｓｔの何れの「登録情報」にも対応しない場合、出力部１２４からエラー情報が送信される。送信されたエラー情報は、端末装置２１の入力部１１４に入力されて署名生成委託部２１５に送られ、署名生成委託部２１５は署名生成処理を終了する（ステップＳ１０９）。一方、回線対応情報ｘがリストＬｉｓｔの何れかの「登録情報」に対応する場合、署名処理部２２６は、入力された識別子ＩＤを鍵生成装置２３に送る。鍵生成装置２３は、識別子ＩＤとマスター秘密鍵ｍｓｋとを用いて署名鍵ｓｋを生成する。例えば、鍵生成装置２３は、識別子ＩＤを楕円曲線上の点Ｅ（ＩＤ）にマッピングし、ｓｋ＝ｍｓｋ・Ｅ（ＩＤ）を計算する。署名鍵ｓｋは署名処理部２２６に送信される（ステップＳ２０９）。署名処理部２２６は、この署名鍵ｓｋ（署名鍵を特定するための情報によって特定される署名鍵）を用い、入力された平文ｍの署名ｓ＝ｓｉｇ（ｓｋ，ｍ）を生成して出力する（ステップＳ２１０）。署名ｓは出力部１２４に入力される。出力部１２４は、端末装置２１を宛先とし、回線対応情報ｘに対応する回線に対して署名ｓ（署名対象情報に対する署名情報に対応する応答情報）を出力する（ステップＳ１１１）。
【００３３】
署名ｓは、端末装置２１の入力部１１４に入力されて署名生成委託部２１５に送られる（ステップＳ１１２）。署名生成委託部２１５は、記憶部２１１から識別子ＩＤおよび平文ｍを抽出し、識別子ＩＤ、平文ｍ、および署名ｓを出力して署名生成処理を終了する（ステップＳ２１３）。
【００３４】
識別子ＩＤ、平文ｍ、および署名ｓは、図示していない検証装置に送られ、検証装置は、これらと前述の公開パラメータを用いて署名検証を行う。
【００３５】
＜第２実施形態の特徴＞
本形態も第１実施形態と同じ特徴を持つ。さらに本形態では、代理署名要求の後に署名鍵を生成するため、第１実施形態のようなｓｋ−Ｌｉｓｔの管理が不要となる。
【００３６】
［第２実施形態の変形例］
本形態でも、回線対応情報ｘに対応する署名鍵ｓｋを用いて署名ｓが生成されてもよい。例えば、識別子ＩＤに代えて回線対応情報ｘを用いて署名鍵ｓｋが設定され、署名ｓが生成されてもよい。この構成の場合、端末装置２１の記憶部２１１に識別子ＩＤを格納する必要はなく、ステップＳ２０１からＳ２０６の処理の識別子ＩＤも不要となる。回線対応情報ｘがリストＬｉｓｔの何れかの「登録情報」に対応する場合（ステップＳ１０８）、署名処理部１２６は、識別子ＩＤに変えて回線対応情報ｘを鍵生成装置２３に送り、鍵生成装置２３は、回線対応情報ｘとマスター署名鍵ｍｓｋとを用いて署名鍵ｓｋを生成し、署名処理部１２６に送る。署名処理部１２６は、この署名鍵ｓｋを用いて署名ｓを生成する。この変形例では、署名検証に回線対応情報ｘが必要となるため、署名生成装置２２から端末装置２１に署名ｓを送信する際に、その生成に用いた署名鍵ｓｋに対応する回線対応情報ｘを添付してもよい。その他、ステップＳ２０１で平文ｍを送信せず、ステップＳ１０８で回線対応情報ｘがリストＬｉｓｔの何れかの「登録情報」に対応すると判定されてから、端末装置２１から署名生成装置２２に平文ｍを送信し、ステップＳ２０９以降の処理が実行されてもよい。また、第２実施形態では、端末装置２１が署名生成装置２２に署名代行を依頼するたびに、署名生成装置２２が識別子ＩＤに対応する署名鍵ｓｋの生成を鍵生成装置２３に依頼した。この変形例として、端末装置２１が署名生成装置２２に初めて署名代行を依頼する場合には、署名生成装置２２が署名鍵の生成を鍵生成装置２３に依頼し、それによった得た署名鍵ｓｋを識別子ＩＤに対応付けて署名生成装置２２の記憶部に格納しておいてもよい。これにより、端末装置２１が署名生成装置２２に再び署名代行を依頼する場合には、鍵生成装置２３が識別子ＩＤを用いて署名生成装置２２の記憶部を検索し、それによって得られた識別子ＩＤに対応する署名鍵ｓｋを用い、署名生成を行ってもよい。これにより、鍵生成装置２３への依頼回数を削減できる。
【００３７】
［第３実施形態］
本形態は第１実施形態の変形例であり、ブラインド署名の署名代行を行う形態である。以下では第１実施形態との相違点を中心に説明し、既に説明した事項については、これまでに用いた参照番号を流用することで説明を簡略化する。
【００３８】
＜構成＞
本形態の構成を説明する。図４に例示するように、本形態の署名システム３は、端末装置３１と署名生成装置３２を有する。端末装置３１と署名生成装置３２とは、回線認証機能および回線情報通知機能を備える公衆回線を通じて通信可能に構成されている。なお、表記の便宜上、図３でも端末装置３１と署名生成装置３２とを１個ずつ図示しているが、２個以上の端末装置３１や署名生成装置３２が存在してもよい。この際、２個以上の端末装置３１や署名生成装置３２が同一の回線に接続されてもよい。
【００３９】
図５に例示するように、本形態の端末装置３１は、記憶部１１１と出力部３１３と入力部３１４と署名生成委託部３１５とを有する。署名生成装置３２は、記憶部１２２，１２１と、入力部３２３と、出力部３２４と、判定部１２５と、署名処理部３２６とを有する。各装置は、例えば、前述したコンピュータに所定のプログラムが読み込まれることで構成されてもよいし、電子回路を用いて一部またはすべての処理部が構成されてもよい。
【００４０】
＜事前処理＞
第１実施形態と同じである。
【００４１】
＜署名生成処理＞
図６を用いて本形態の署名生成処理を説明する。端末装置３１（図５）の署名生成委託部３１５は記憶部１１１から平文ｍおよび検証鍵ｐｋを読み込む。署名生成委託部３１５は、乱数Ｒを生成して一時メモリ（図示せず）に格納するとともに、乱数Ｒを用いて平文ｍを撹乱した撹乱情報ｍ’（署名対象情報の撹乱情報）を得る。例えば、署名生成委託部３１５は、準同型性関数Ｆに乱数Ｒと平文ｍとを入力し、撹乱情報ｍ’＝Ｆ（Ｒ，ｍ）を得る。署名生成委託部３１５は、撹乱情報ｍ’および検証鍵ｐｋを出力する。撹乱情報ｍ’および検証鍵ｐｋは出力部３１３に入力される。出力部３１３は、署名生成装置３２を宛先とし、公衆回線の所定の回線（使用回線）に対して撹乱情報ｍ’および検証鍵ｐｋを出力する（代理署名要求：ステップＳ３０１）。
【００４２】
次に、第１実施形態で説明したように回線認証が行われ（ステップＳ１０２〜Ｓ１０４）、回線認証が成功であった場合、撹乱情報ｍ’および検証鍵ｐｋが署名生成装置３２に送信され、通知装置（図示せず）が、回線情報ｄｘに対応する回線対応情報ｘを署名生成装置３２に送信する。回線対応情報ｘの具体例は第１実施形態で説明した通りである（ステップＳ３０５）。撹乱情報ｍ’（署名対象情報に対応する情報）、検証鍵ｐｋ（署名鍵を特定するための情報）、および回線対応情報ｘ（使用回線の回線情報に対応する回線対応情報）は、署名生成装置３２の入力部３２３に入力される（受け付けられる）。回線対応情報ｘは判定部１２５に送られ、撹乱情報ｍ’および検証鍵ｐｋは署名処理部３２６に送られる（ステップＳ３０６）。その後、第１実施形態で説明したステップＳ１０７〜Ｓ１０８の処理が実行され、回線対応情報ｘがリストＬｉｓｔの何れかの「登録情報」に対応する場合（ステップＳ１０８）、署名処理部３２６は、入力された検証鍵ｐｋを用いて記憶部１２１に格納されたｓｋ−Ｌｉｓｔを検索し、検証鍵ｐｋに対応する署名鍵ｓｋを抽出する。署名処理部３２６は、抽出した署名鍵ｓｋを用い、入力された撹乱情報ｍ’に対する秘匿化署名ｓ’＝ｂｓｉｇ（ｓｋ，ｍ’）を生成して出力する。例えば、署名処理部３２６は、準同型性暗号方式に則って署名鍵ｓｋを用いて撹乱情報ｍ’を暗号化し、その暗号文を秘匿化署名ｓ’（署名情報を得るための情報）として出力する（ステップＳ３１０）。秘匿化署名ｓ’は出力部３２４に入力される。出力部３２４は、端末装置３１を宛先とし、回線対応情報ｘに対応する回線に対して秘匿化署名ｓ’（署名対象情報に対する署名情報に対応する応答情報）を出力する（ステップＳ３１１）。
【００４３】
秘匿化署名ｓ’は、端末装置３１の入力部３１４に入力されて署名生成委託部３１５に送られる（ステップＳ３１２）。署名生成委託部３１５は、ステップＳ３０１で用いた乱数Ｒを一時メモリ（図示せず）から抽出し、乱数Ｒと秘匿化署名ｓ’とを用いて署名ｓを復元する。さらに署名生成委託部３１５は、記憶部１１１から検証鍵ｐｋおよび平文ｍを抽出し、検証鍵ｐｋ、平文ｍ、および署名ｓを出力して署名生成処理を終了する（ステップＳ３１３）。
【００４４】
検証鍵ｐｋ、平文ｍ、および署名ｓは、図示していない検証装置に送られ、検証装置は、これらを用いて署名検証を行う。
【００４５】
＜第３実施形態の特徴＞
本形態も第１実施形態と同じ特徴を持つ。さらに本形態では、平文ｍの撹乱情報を署名生成装置３２に送るため、端末装置３１は、平文ｍの内容を署名生成装置３２に知られることなく、署名生成を委託できる。
【００４６】
［第３実施形態の変形例］
自己訂正技術を用いてブラインド署名を実現してもよい。自己訂正技術とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて常に正しい計算を行う（正しい計算結果を出力する計算機を用いた場合に正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合に、正しい計算結果を得るか、または計算できない旨の結果を得る）技術である。自己訂正技術自体は公知技術であり、例えば、参考文献６（国際公開ＷＯ／２０１２／０５７１３４号公報）、参考文献７（国際公開ＷＯ／２０１１／０８６９９２号公報）、および参考文献８（国際公開ＷＯ／２０１２／１２１１５２号公報）等に開示されている。この例の場合、撹乱情報ｍ’は平文ｍ（署名対象情報）の撹乱情報であり、秘匿化署名ｓ’（応答情報）は、自己訂正処理によって署名ｓ（署名情報）を得るための情報である。
【００４７】
この変形例では、Ｇ，Ｈが群、平文ｍが群Ｈの元、ｆが署名鍵ｓｋを用いて平文ｍ∈Ｈの署名ｓ＝ｆ（ｍ）＝ｓｉｇ（ｓｋ，ｍ）∈Ｇを得るための関数、Ｘ１，Ｘ２が群Ｇに値を持つ確率変数、ｘ１が確率変数Ｘ１の実現値、ｘ２が確率変数Ｘ２の実現値、ａ，ｂが互いに素であるランダムな自然数である。ａ，ｂの一方が１などの定数であってもよい。
【００４８】
ステップＳ３０１において、署名生成委託部３１５は、平文ｍに対応する群Ｈの元であるτ１および／またはτ２を撹乱情報ｍ’として出力する。ステップＳ３１０において、署名処理部３２６は、ｚ１および／またはｚ２を秘匿化署名ｓ’として出力する。ただし、ｚ１＝ｆ（τ１）あるいはｚ１≠ｆ（τ１）であり、ｚ２＝ｆ（τ２）あるいはｚ２≠ｆ（τ２）である。ｚ１＝ｆ（τ１）である場合もあればｚ１＝ｆ（τ１）でない場合もあり、ｚ２＝ｆ（τ２）である場合もあればｚ２＝ｆ（τ２）でない場合もある。すなわち、署名処理部３２６は、或る確率より大きな確率でｆ（τ１）を正しく計算し、得られた計算結果をｚ１とし、或る確率より大きな確率でｆ（τ２）を正しく計算し、得られた計算結果をｚ２とする。なお、「或る確率」は１００％未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータｋについての広義単調増加関数である多項式を多項式ψ（ｋ）とした場合の１／ψ（ｋ）以上の確率である。すなわち、署名処理部３２６は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。ステップＳ３１３において、署名生成委託部３１５は、ｕａ＝ｖｂを満たすｕ＝ｆ（ｘ）bｘ1およびｖ＝ｆ（ｘ）aｘ2に対応するｕｂ’ｖａ’を署名ｓとして出力する。ただし、ａ’，ｂ’はａ’ａ＋ｂ’ｂ＝１を満たす整数である。ｕａ＝ｖｂを満たすｚ１および／またはｚ２が得られていない場合、署名生成委託部３１５は、署名ｓを得ることができない旨のエラー情報を出力する。あるいは、ｕａ＝ｖｂを満たすｚ１および／またはｚ２が得られていない場合、再び、署名生成委託部３１５が新たに生成した撹乱情報ｍ’を出力し、出力部３１３が撹乱情報ｍ’を署名生成装置３２に送信し、署名処理部３２６が秘匿化署名ｓ’を計算し、出力部３２４が秘匿化署名ｓ’を端末装置３１に送信し、ｕａ＝ｖｂを満たすか否かの判定を行ってもよい。ここで、ｕａ＝ｖｂを満たす場合にはｕｂ’ｖａ’を署名ｓとして出力し、この処理を所定回数繰り返してもｕａ＝ｖｂを満たすｚ１および／またはｚ２が得られていない場合に、署名生成委託部３１５が、署名ｓを得ることができない旨のエラー情報を出力してもよい。
【００４９】
≪τ１，τ２、ｕ，ｖの具体例１≫
例えば、Ｇ，Ｈを群、ｈ１，ｈ２を単位元ではない群Ｈの元（例えば、生成元）、ｒ１，ｒ２が０以上のランダムな自然数、ｆを署名鍵ｓｋを用いて平文ｍ∈Ｈの署名ｓ＝ｆ（ｍ）＝ｓｉｇ（ｓｋ，ｍ）∈Ｇを得るための準同型性関数、τ１＝（ｈ１−ｒ１，ｈ１ｒ１ｍｂ）、τ２＝（ｈ２−ｒ２，ｈ２ｒ２ｍａ）、ｕ＝ｆ（τ１）＝ｆ（ｈ１−ｒ１）ｆ（ｈ１ｒ１ｍｂ）、ｖ＝ｆ（τ２）＝ｆ（ｈ２−ｒ２）ｆ（ｈ２ｒ２ｍａ）とする。
【００５０】
≪τ１，τ２、ｕ，ｖの具体例２≫
例えば、Ｇ，Ｈを巡回群、μｈを群Ｈの生成元、ν＝ｆ（μh）、ｆを署名鍵ｓｋを用いて平文ｍ∈Ｈの署名ｓ＝ｆ（ｍ）＝ｓｉｇ（ｓｋ，ｍ）∈Ｇを得るための準同型性関数、ｒ１，ｒ２を０以上のランダムな自然数、τ１＝μｈｒ１ｍｂ、τ２＝μｈｒ２ｍａ、ｕ＝ｚ１ν−ｒ１、ｖ＝ｚ２ν−ｒ２とする。
【００５１】
≪τ１，τ２、ｕ，ｖの具体例３≫
例えば、Ｇを巡回群、群Ｈを群Ｇの直積群Ｇ×Ｇ、ｍ＝（ｃ１，ｃ２）∈Ｈ、ｆを署名鍵ｓｋを用いて平文ｍ∈Ｈの署名ｓ＝ｆ（ｍ）＝ｓｉｇ（ｓｋ，ｍ）∈Ｇを得るための準同型性関数、（Ｖ，Ｗ）を群Ｈの元、ｆ（Ｖ，Ｗ）＝Ｙ、ｒ４〜ｒ７を０以上の自然数の乱数、τ１＝（ｃ２ｂＷｒ４，ｃ１ｂＶｒ４μｇｒ５）、τ２＝（ｃ２ａＷｒ６，ｃ１ａＶｒ６μｇｒ７）、ｕ＝ｚ１Ｙ−ｒ４μｇ−ｒ５、ｖ＝ｚ２Ｙ−ｒ６μｇ−ｒ７とする。
【００５２】
ステップＳ３０１で撹乱情報ｍ’を送信せず、ステップＳ１０８で回線対応情報ｘがリストＬｉｓｔの何れかの「登録情報」に対応すると判定されてから、端末装置３１から署名生成装置３２に撹乱情報ｍ’を送信し、ステップＳ３１０以降の処理または上述の自己訂正処理が実行されてもよい。
【００５３】
また、本形態では第１実施形態の署名生成をブラインド署名技術を用いて行う構成を例示したが、第２実施形態の署名生成をブラインド署名技術を用いて行ってもよい。この場合、署名鍵ｓｋの特定のために検証鍵ｐｋを用いることに代えて識別子ＩＤが用いられ、署名処理部３２６がｓｋ−Ｌｉｓｔから署名鍵ｓｋを抽出することに代えて、署名生成装置が識別子ＩＤに対応する署名鍵ｓｋを生成して署名処理部３２６に与える。その他は第３実施形態で説明した通りである。また、この場合にも自己訂正技術を適用してもよい。
【００５４】
［その他の変形例］
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００５５】
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な（non-transitory）記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【００５６】
このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５７】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。
【００５８】
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【符号の説明】
【００５９】
１〜３  署名システム
１１〜３１  端末装置
１２〜３２  署名生成装置
【図１】
0006267658.tif 000002
【図２】
0006267658.tif 000003
【図３】
0006267658.tif 000004
【図４】
0006267658.tif 000005
【図５】
0006267658.tif 000006
【図６】
0006267658.tif 000007