JP6236019B2 - 鍵装置、鍵交換システム、およびプログラム - Google Patents

鍵装置、鍵交換システム、およびプログラム Download PDF

Info

Publication number
JP6236019B2
JP6236019B2 JP2015003402A JP2015003402A JP6236019B2 JP 6236019 B2 JP6236019 B2 JP 6236019B2 JP 2015003402 A JP2015003402 A JP 2015003402A JP 2015003402 A JP2015003402 A JP 2015003402A JP 6236019 B2 JP6236019 B2 JP 6236019B2
Authority
JP
Japan
Prior art keywords
information
key
line
public
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015003402A
Other languages
English (en)
Other versions
JP2016129301A (ja
Inventor
恆和 齋藤
恆和 齋藤
彰 永井
彰 永井
鉄太郎 小林
鉄太郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015003402A priority Critical patent/JP6236019B2/ja
Publication of JP2016129301A publication Critical patent/JP2016129301A/ja
Application granted granted Critical
Publication of JP6236019B2 publication Critical patent/JP6236019B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術の応用技術に関するものであり、特に、クラウド鍵管理型の鍵交換技術に関する。
鍵交換(鍵共有)方式とは、盗聴されてもよい通信路を用いて複数の端末装置が安全に鍵を交換(共有)するための方式をいう(例えば、非特許文献1等参照)。通常の鍵交換方式では、各端末装置が、鍵交換を行う他の端末装置の秘密鍵に対応する公開情報を得、この公開情報と自らの秘密鍵とを用いて共通鍵を生成する。
岡本龍明,"鍵交換:現代暗号の誕生とその発展",[online],Japan Science and Technology Agency,p70-76、[平成27年1月2日検索]、インターネット<https://www.jstage.jst.go.jp/article/essfr/1/4/1_4_4_70/_pdf>
鍵装置が秘密鍵を保持する「クラウド鍵管理型」で鍵交換方式を実現することもできる。この場合、端末装置が公開情報および認証情報(証明書、ID、パスワード等)を鍵装置に送信し、鍵装置が認証情報を用いて認証処理を行い、認証成功であれば、当該公開情報と秘密鍵とを用いて共通鍵またはそれを得るための情報を生成し、それを当該端末装置に送信する。
しかしながら、このようなクラウド鍵管理型の鍵交換方式では、認証処理やそれに必要な情報の管理を端末装置またはユーザーごとに個々に行わなければならない。
本発明の課題は、クラウド鍵管理型の鍵交換方式における認証処理やそれに必要な情報の管理を削減することである。
鍵装置は、回線認証可能な何れかの回線の回線情報に対応する登録情報を格納し、第1端末装置が他の第2端末装置との鍵交換のために得た公開情報に対応する情報、および前記第1端末装置が使用した回線認証に成功した使用回線の回線情報に対応する回線対応情報を受け付け、前記回線対応情報が前記登録情報に対応する場合に、少なくとも前記公開情報に対応する情報と秘密鍵とを用いて得られる鍵対応情報を出力する。
本発明では、回線認証に成功した使用回線の回線情報に対応する回線対応情報に基づき、使用回線ごとに応答情報の出力の有無が定められるため、クラウド鍵管理型の鍵交換方式における認証処理やそれに必要な情報の管理を削減できる。
図1は実施形態の鍵交換システムの機能構成を例示したブロック図である。 図2は実施形態の鍵交換方法を例示したフロー図である。 図3は鍵交換のために公開情報を送受信する様子を例示したフロー図である。 図4は実施形態の鍵交換システムの機能構成を例示したブロック図である。 図5は自己訂正処理を例示したフロー図である。
以下、図面を参照して本発明の実施形態を説明する。
[第1実施形態]
第1実施形態を説明する。
<構成>
本形態の構成を説明する。図1に例示するように、本形態の鍵交換システム1は、端末装置111,121(第1端末装置,第2端末装置)と鍵装置112,122(第1鍵装置,第2鍵装置)とを有する。端末装置111と鍵装置112とは、回線認証機能および回線情報通知機能を備える公衆回線を通じて通信可能に構成されている。同様に、端末装置121と鍵装置122とは、回線認証機能および回線情報通知機能を備える公衆回線を通じて通信可能に構成されている。
回線認証 (network based authentication)とは、「このユーザーは確かにこの回線から通信してきた」ということを確認するためのユーザー認証技術である。回線認証自体は公知であり、例えば、参考文献1(“NTTデータ、NGNの回線情報を利用した認証連携機能を開発〜セキュリティを容易に確保するための仕組みを確立〜”、[online]、株式会社NTTデータ、[平成26年12月31日検索]、インターネット<http://www.nttdata.com/jp/ja/news/release/2009/091600.html>)や米国特許出願公開第US2007-0234404 A1号明細書などに開示されている。端末装置111が公衆回線の特定の回線を用いて鍵装置112と通信を行う場合、端末装置111が使用する回線に対応する回線情報 (network based identification)が認証装置に送られる。回線情報の例は、例えば、参考文献2(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.)に開示されている。認証装置での回線認証が成功である場合、端末装置111はこの回線を通じて鍵装置112と通信を行うことができる。認証装置での回線認証が失敗である場合、端末装置111はこの回線を通じて鍵装置112と通信を行うことができない。回線認証の具体例は、NGN(next generation network)の回線認証やEAP−SI認証などがある。回線情報の具体例は、回線に接続される機器に固有な識別子、ゲートウェイ(ホームゲートウエイ等)のMACアドレス、フレッツナンバー(登録商標)、IMSI(International Mobile Subscriber Identity)、メールアドレス、所属部署名などである。
回線情報通知機能とは、或る回線を用いた通信において通信先の装置にその回線の回線情報を通知する機能である。回線情報通知機能も公知であり、例えば、参考文献3(“回線情報通知機能”、[online]、東日本電信電話株式会社、フレッツ公式ホームページ、[平成26年12月31日検索]、インターネット<http://flets.com/asc/s_outline.html>)などに開示されている。端末装置111が或る回線を通じて鍵装置112と通信を行う場合、その回線の回線情報または当該回線情報に対して一義的に決まる情報が鍵装置112に通知される。以上のことは、端末装置121が公衆回線の特定の回線を用いて鍵装置122と通信を行う場合も同様である。
図1に例示するように、本形態の端末装置111は、記憶部1111と出力部1113と入力部1114と鍵交換処理部1115と通信部1116を有し、端末装置121は、記憶部1211と出力部1213と入力部1214と鍵交換処理部1215と通信部1216を有する。本形態の鍵装置112は、記憶部1121,1122と、入力部1123と、出力部1124と、判定部1125と、代理演算部1126とを有し、鍵装置122は、記憶部1221,1222と、入力部1223と、出力部1224と、判定部1225と、代理演算部1226とを有する。各装置は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を含む汎用または専用のコンピュータに所定のプログラムが読み込まれることで構成されたものである。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。なお、表記の便宜上、図1では端末装置111と端末装置121と鍵装置112と鍵装置122とを1個ずつ図示しているが、これらの少なくとも一部の装置が存在してもよい。この際、2個以上の端末装置111や鍵装置112が同一の回線に接続されてもよいし、2個以上の端末装置121や鍵装置122が同一の回線に接続されてもよい。
<事前処理>
本形態では、秘密鍵sk1とそれに対応する公開鍵pk1との鍵ペア(sk1,pk1)、および秘密鍵sk2とそれに対応する公開鍵pk2との鍵ペア(sk2,pk2)が事前に設定される。鍵ペアの構成はベースとなる鍵交換方式に依存する(具体例は後述)。1組のみの鍵ペアが設定されてもよいし、互いに異なる複数組の鍵ペアが設定されてもよい。1組のみの鍵ペア(sk1,pk1)が設定された場合には、1個の秘密鍵sk1とそれに対応する公開鍵pk1(秘密鍵を特定するための情報)とが互いに対応付けられて鍵装置112の記憶部1121に格納される。互いに異なる複数組の鍵ペア(sk1,pk1)が設定された場合には、互いに異なる複数個の公開鍵pk1とそれらに対応する公開鍵pk1とが互いに対応付けられて記憶部1121に格納される。このような秘密鍵sk1とそれらに対応付けられた公開鍵pk1とを含むリストを「sk−List1」と表記する。なお、1組のみの鍵ペア(sk1,pk1)が設定された場合、sk−List1に代えてsk1そのものが記憶部1121に格納されてもよい。同様に、1組のみの鍵ペア(sk2,pk2)が設定された場合には、1個の秘密鍵sk2とそれに対応する公開鍵pk2(秘密鍵を特定するための情報)とが互いに対応付けられて鍵装置122の記憶部1221に格納される。互いに異なる複数組の鍵ペア(sk2,pk2)が設定された場合には、互いに異なる複数個の公開鍵pk2とそれらに対応する公開鍵pk2とが互いに対応付けられて記憶部1221に格納される。このような秘密鍵sk2とそれらに対応付けられた公開鍵pk2とを含むリストを「sk−List2」と表記する。1組のみの鍵ペア(sk2,pk2)が設定された場合、sk−List2に代えてsk2そのものが記憶部1221に格納されてもよい。
また、事前登録処理として、鍵装置112が鍵交換のための処理を行う回線の回線情報に対応する「登録情報」が事前設定され、鍵装置112の記憶部1122(登録情報記憶部)に格納される。鍵装置112が「鍵交換のための処理を行う回線」とは、鍵装置112に鍵交換のための処理を委託する端末装置111がその依頼に用いる回線を意味する。また、鍵交換のための処理を受けることができる権能のことを「鍵交換処理権限」と呼ぶことにする。本形態の「登録情報」は、回線認証可能な何れかの回線の回線情報に対応する。「登録情報」は、鍵装置112が鍵交換のための処理を行う回線の回線情報そのものであってもよいし、その回線情報に対して一義的に決まる情報であってもよい。また、回線情報の種類によっては、非公開である等の理由により、鍵装置112が回線認証のための回線情報からユーザーを識別することが困難な場合があり、回線認証のための回線情報を用いて鍵交換処理権限の有無の管理を行うことが困難な場合もある。例えば、端末装置として携帯電話を用いる場合、回線認証にはIMEIやIMSIなどの回線情報を用いるが、鍵装置112がIMEIやIMSIを用いてこのような管理を行うことが困難な場合もある。また、NGNの回線認証用の回線情報にフレッツナンバーを用いる場合、鍵装置112がこのフレッツナンバーを用いてこのような管理を行うことが困難な場合もある。鍵装置112にとっては、汎用性の高い電話番号等の一般的な回線情報を用いた管理のほうが容易な場合が多い。そこで、1個の回線に対して複数個の回線情報が紐づいている場合に、その一部の回線情報(例えば、IMEI,IMSI,フレッツナンバー,MACアドレス等)が回線認証に用いられ、この回線認証に用いられた回線情報に紐づいた(対応する)他の回線情報(一般的な回線情報等)が管理に用いられてもよい。回線認証に用いられた回線情報に紐づいた他の回線情報を「固有情報」と呼ぶことにする。「固有情報」は公開情報であってもよいし、非公開情報であってもよい。結局、「登録情報」は、鍵装置112が鍵交換のための処理を行う回線の回線認証に用いられる回線情報そのものであってもよいし、その回線情報に対して一義的に決まる情報であってもよいし、鍵装置112が鍵交換のための処理を行う回線の固有情報であってもよいし、この固有情報に対して一義的に決まる情報であってもよいし、鍵装置112が鍵交換のための処理を行う回線の回線認証に用いられる回線情報とそれに紐づいた固有情報との組であってもよいし、その組に対して一義的に決まる情報であってもよいし、これらの何れかの情報を含む情報であってもよい。以下では、記憶部1122に格納された「登録情報」を含むリストを「List1」と表記する。
同様に、事前登録処理として、鍵装置122が鍵交換のための処理を行う回線の回線情報に対応する「登録情報」が事前設定され、鍵装置122の記憶部1222(登録情報記憶部)に格納される。この「登録情報」も、鍵装置122が鍵交換のための処理を行う回線の回線認証に用いられる回線情報そのものであってもよいし、その回線情報に対して一義的に決まる情報であってもよいし、鍵装置122が鍵交換のための処理を行う回線の固有情報であってもよいし、この固有情報に対して一義的に決まる情報であってもよいし、鍵装置122が鍵交換のための処理を行う回線の回線認証に用いられる回線情報とそれに紐づいた固有情報との組であってもよいし、その組に対して一義的に決まる情報であってもよいし、これらの何れかの情報を含む情報であってもよい。以下では、記憶部1222に格納された「登録情報」を含むリストを「List2」と表記する。
さらに、鍵装置112が鍵交換のための処理を行う回線を利用する端末装置111の記憶部1111に、何れかの秘密鍵sk1に対応する公開鍵pk1が格納される。同様に、鍵装置122が鍵交換のための処理を行う回線を利用する端末装置121の記憶部1211に、何れかの秘密鍵sk1に対応する公開鍵pk1が格納される。
<鍵交換処理>
図2および図3を用いて本形態の鍵交換処理を説明する。本形態では端末装置111と端末装置121との間で鍵交換を行い、その処理の一部を鍵装置112,122が代行する。
図3に例示するように、まず、端末装置111から端末装置121に公開情報β1−1,・・・,β1−N1(ただし、、N1は正の整数)が送信され、端末装置121から端末装置111に公開情報β2−1,・・・,β2−N2(ただし、N2は正の整数)が送信される。すなわち、端末装置111の鍵交換処理部1115は、記憶部1111から公開鍵pk1を読み込み、それを用いて端末装置121と鍵交換を行うための公開情報β1−n1(ただし、n1=1,・・・,N1)を得て通信部1116に送る。通信部1116は公開情報β1−n1を端末装置121に送信する。公開情報β1−n1は端末装置111に対応する情報である。公開情報β1−n1は端末装置121の通信部1216に入力され、鍵交換処理部1215に送られる。同様に、端末装置121の鍵交換処理部1215は、記憶部1211から公開鍵pk2を読み込み、それを用いて端末装置111と鍵交換を行うための公開情報β2−n2(ただし、n2=1,・・・,N2)を得て通信部1216に送る。公開情報β2−n2は端末装置121に対応する情報である。通信部1216は公開情報β2−n2を端末装置111に送信する。公開情報β2−n2は端末装置111の通信部1116に入力され、鍵交換処理部1115に送られる。鍵交換処理部1115は、公開情報β2−1,・・・,β2−N2から公開情報β2を得、鍵交換処理部1215は、公開情報β1−1,・・・,β1−N2から公開情報β1を得る。鍵交換処理部1215は、β1−1,・・・,β1−N1のすべてをβ1としてもよいし、それらの一部をβ1としてもよいし、β1−1,・・・,β1−N1のすべてまたは一部に対応する情報をβ1としてもよいし、β1−1,・・・,β1−N1のすべてまたは一部を用いて得られる情報をβ1としてもよい。同様に、鍵交換処理部1115は、β2−1,・・・,β2−N2のすべてをβ2としてもよいし、それらの一部をβ2としてもよいし、β2−1,・・・,β2−N2のすべてまたは一部に対応する情報をβ2としてもよいし、β2−1,・・・,β2−N2のすべてまたは一部を用いて得られる情報をβ2としてもよい。また、公開情報β1−n1が端末装置111以外(例えば、鍵生成装置)から端末装置121に送信されてもよいし、公開情報β2−n2が端末装置121以外から端末装置111に送信されてもよい。公開情報β1−n1,β2−n2およびβ1,β2の構成はベースとなる鍵交換方式(具体例は後述)に依存する(ステップS1000)。
公開情報β2を得た端末装置111の鍵交換処理部1115は、公開情報β2を出力部1113に送る。鍵装置112の記憶部1121にsk−List1が格納されている場合、鍵交換処理部1115は、さらに記憶部1111から読み込んだ公開鍵pk1(秘密鍵sk1を特定するための情報)を出力部1113に送る。出力部1113は、鍵装置112を宛先とし、公衆回線の所定の回線(使用回線)に対して公開情報β2を含む「要求情報」を出力する。ただし、記憶部1121にsk−List1が格納されている場合、「要求情報」はさらに公開鍵pk1を含む(鍵交換処理要求:ステップS1101)。
公開情報β2を含む「要求情報」が出力された回線(使用回線)の回線情報dx1は、回線認証機能を提供する認証装置(図示せず)に送られ、この認証装置は回線情報dx1を用いた回線認証を行う(ステップS1102)。回線認証が失敗であった場合(ステップS1103)、エラー情報が端末装置111に送信される。送信されたエラー情報は、入力部1114に入力されて鍵交換処理部1115に送られ、鍵交換処理部1115は鍵交換処理を終了する(ステップS1104)。
一方、回線認証が成功であった場合(ステップS1103)、公開情報β2を含む「要求情報」が鍵装置112に送信され、さらに回線情報通知機能を提供する通知装置(図示せず)が、回線情報dx1に対応する回線対応情報x1を鍵装置112に送信する。回線対応情報x1は、回線情報dx1そのものであってもよいし、その回線情報dx1に対して一義的に決まる情報であってもよいし、回線情報dx1に紐付けられた固有情報idであってもよいし、この固有情報idに対して一義的に決まる情報であってもよいし、回線情報dx1とそれに紐づいた固有情報idとの組であってもよいし、その組に対して一義的に決まる情報であってもよいし、これらの何れかの情報を含む情報であってもよい(ステップS1105)。回線対応情報x1、および公開情報β2を含む「要求情報」は、鍵装置112の入力部1123に入力される(受け付けられる)。入力部1123に入力される回線対応情報x1は、回線認証に成功した回線(使用回線)に対応する情報である。回線対応情報x1は判定部1125に送られ、公開情報β2を含む「要求情報」は代理演算部1126に送られる(ステップS1106)。判定部1125は、回線対応情報x1が記憶部1122に格納されたリストList1の何れかの「登録情報」に対応するかを判定する。例えば、リストList1に含まれる「登録情報」が回線認証に用いられる回線情報そのものであり、回線対応情報x1も回線情報dx1そのものである場合、判定部1125は『リストList1が回線対応情報x1に一致する「登録情報」を含むか』を判定する。リストList1に含まれる「登録情報」が「固有情報」であり、回線対応情報x1が回線情報dx1に紐付けられた「固有情報」である場合にも、判定部1125は『リストList1が回線対応情報x1に一致する「登録情報」を含むか』を判定する。リストList1に含まれる「登録情報」が回線認証に用いられる回線情報そのものであり、回線対応情報x1が回線情報dx1に紐付けられた「固有情報」である場合には、判定部1125は『リストList1が回線対応情報x1に対応する「登録情報」を含むか』を判定する。その他、「登録情報」および回線対応情報x1に用いられる情報の種別に応じた方法で、回線対応情報x1が「登録情報」に対応するかを判定すればよい(ステップS1107)。回線対応情報x1がリストList1の何れの「登録情報」にも対応しない場合(例えば、リストList1が回線対応情報x1に一致する「登録情報」を含まない場合)(ステップS1108)、出力部1124からエラー情報が送信される。送信されたエラー情報は、端末装置111の入力部1114に入力されて鍵交換処理部1115に送られ、鍵交換処理部1115は鍵交換処理を終了する(ステップS1109)。一方、回線対応情報x1がリストList1の何れかの「登録情報」に対応する場合(例えば、リストList1が回線対応情報x1に一致する「登録情報」を含む場合)(ステップS1108)、代理演算部1126は記憶部1121から秘密鍵sk1を抽出する。「要求情報」が公開鍵pk1を含む場合、代理演算部1126は、「要求情報」が含む公開鍵pk1を用いて記憶部1121に格納されたsk−List1を検索し、公開鍵pk1に対応する秘密鍵sk1を抽出する。代理演算部1126は、少なくとも、「要求情報」が含む公開情報β2に対応する情報と、抽出した秘密鍵sk1(秘密鍵を特定するための情報によって特定される秘密鍵)を用い、鍵対応情報λ1を生成して出力する。鍵対応情報λ1の生成方法はベースとなる鍵交換方式に依存する(具体例は後述)(ステップS1110)。鍵対応情報λ1は出力部1124に入力される。出力部1124は、端末装置111を宛先とし、回線対応情報x1に対応する回線に対して鍵対応情報λ1を出力する(ステップS1111)。
鍵対応情報λ1は、端末装置111の入力部1114に入力されて鍵交換処理部1115に送られる(ステップS1112)。鍵交換処理部1115は、鍵対応情報λ1に対応する共有鍵Kを得て出力する(ステップS1113)。
端末装置121および鍵装置122でも同様な処理が行われる。すなわち、公開情報β1を得た鍵交換処理部1215は、公開情報β1を出力部1213に送る。鍵装置122の記憶部1221にsk−List2が格納されている場合、鍵交換処理部1215は、さらに記憶部1211から読み込んだ公開鍵pk2(秘密鍵sk2を特定するための情報)を出力部1213に送る。出力部1213は、鍵装置122を宛先とし、公衆回線の所定の回線(使用回線)に対して公開情報β1を含む「要求情報」を出力する。ただし、記憶部1221にsk−List2が格納されている場合、「要求情報」はさらに公開鍵pk2を含む(鍵交換処理要求:ステップS1201)。
公開情報β1を含む「要求情報」が出力された回線(使用回線)の回線情報dx2は、回線認証機能を提供する認証装置(図示せず)に送られ、この認証装置は回線情報dx2を用いた回線認証を行う(ステップS1202)。回線認証が失敗であった場合(ステップS1203)、エラー情報が端末装置121に送信される。送信されたエラー情報は、入力部1214に入力されて鍵交換処理部1215に送られ、鍵交換処理部1215は鍵交換処理を終了する(ステップS1204)。
一方、回線認証が成功であった場合(ステップS1203)、公開情報β1を含む「要求情報」が鍵装置122に送信され、さらに回線情報通知機能を提供する通知装置(図示せず)が、回線情報dx2に対応する回線対応情報x2を鍵装置122に送信する。回線対応情報x2は、回線情報dx2そのものであってもよいし、その回線情報dx2に対して一義的に決まる情報であってもよいし、回線情報dx2に紐付けられた固有情報idであってもよいし、この固有情報idに対して一義的に決まる情報であってもよいし、回線情報dx2とそれに紐づいた固有情報idとの組であってもよいし、その組に対して一義的に決まる情報であってもよいし、これらの何れかの情報を含む情報であってもよい(ステップS1205)。回線対応情報x2、および公開情報β1を含む「要求情報」は、鍵装置122の入力部1223に入力される(受け付けられる)。入力部1223に入力される回線対応情報x2は、回線認証に成功した回線(使用回線)に対応する情報である。回線対応情報x2は判定部1225に送られ、公開情報β1を含む「要求情報」は代理演算部1226に送られる(ステップS1206)。判定部1225は、回線対応情報x2が記憶部1222に格納されたリストList2の何れかの「登録情報」に対応するかを判定する(ステップS1207)。回線対応情報x2がリストList2の何れの「登録情報」にも対応しない場合(ステップS1208)、出力部1224からエラー情報が送信される。送信されたエラー情報は、端末装置121の入力部1214に入力されて鍵交換処理部1215に送られ、鍵交換処理部1215は鍵交換処理を終了する(ステップS1209)。一方、回線対応情報x2がリストList2の何れかの「登録情報」に対応する場合(ステップS1208)、代理演算部1226は記憶部1221から秘密鍵sk2を抽出する。「要求情報」が公開鍵pk2を含む場合、代理演算部1226は、「要求情報」が含む公開鍵pk2を用いて記憶部1221に格納されたsk−List2を検索し、公開鍵pk2に対応する秘密鍵sk2を抽出する。代理演算部1226は、少なくとも、「要求情報」が含む公開情報β1に対応する情報と、抽出した秘密鍵sk2(秘密鍵を特定するための情報によって特定される秘密鍵)とを用い、鍵対応情報λ2を生成して出力する。鍵対応情報λ2の生成方法はベースとなる鍵交換方式に依存する(具体例は後述)(ステップS1210)。鍵対応情報λ2は出力部1224に入力される。出力部1224は、端末装置121を宛先とし、回線対応情報x2に対応する回線に対して鍵対応情報λ2を出力する(ステップS1211)。
鍵対応情報λ2は、端末装置121の入力部1214に入力されて鍵交換処理部1215に送られる(ステップS1212)。鍵交換処理部1215は、鍵対応情報λ2に対応する共有鍵Kを得て出力する(ステップS1213)。
以下、ベースとなる鍵交換方式を具体化して例示する。
<実施例1−1>
実施例1−1ではDHM(Diffie-Hellman-Merkle)鍵交換方式をベースとして用いる。
《一般的なDHM鍵交換方式》
Gを素数pの可換群、gを群Gの単位元以外の元、x∈Zを第1主体の秘密鍵、g∈Gを第1主体の公開鍵、y∈Zを第2主体の秘密鍵、g∈Gを第2主体の公開鍵とする。
(1−1−a)第1主体がgを第2主体に送る。
(1−1−b)第2主体がgを第1主体に送る。
(1−1−c)第1主体はgと秘密鍵xを用いて共有鍵K=(gを計算する。
(1−1−d)第2主体はgと秘密鍵yを用いて共有鍵K=(gを計算する。
Gは可換群であるため、K=(g=(gが成立する。
《DHM鍵交換方式をベースとした本形態の方式》
この実施例では、sk1=x、pk1=g、sk2=y、pk2=g、β1=g、β2=g、λ1=K=(g、λ2=K=(gとし、第1実施形態の各処理を実行する。
<実施例1−2>
実施例1−2ではデジタル署名を用いた認証鍵交換(AKE:Advent of Modern Cryptography and Its Advance)方式をベースとして用いる。
《一般的なデジタル署名を用いたAKE方式》
Gを素数pの可換群、gを群Gの単位元以外の元、x∈Zを第1主体の秘密鍵、g∈Gを第1主体の公開鍵、y∈Zを第2主体の秘密鍵、g∈Gを第2主体の公開鍵、Sigを第1主体の署名鍵、VerをSigに対応する検証鍵、Sigを第2主体の署名鍵、VerをSigに対応する検証鍵とし、IDを第1主体のユーザー識別子とし、IDを第2主体のユーザー識別子とする。
(1−2−a)第1主体はgとIDを第2主体に送る。
(1−2−b)第2主体はgとIDを第1主体に送る。
(1−2−c)第1主体は、gとIDと電子署名Sig(g,g,ID)を第2主体に送る。ただし、Sig(g,g,ID)は、Sigを用いて(g,g,ID)に対して得られる署名値である。また、(g,g,ID)はg,g,IDのビット結合値等である。
(1−2−d)第2主体は、gとIDと電子署名Sig(g,g,ID)を第1主体に送る。
(1−2−e)第1主体は、検証鍵Verと(g,g,ID)を用いて電子署名Sig(g,g,ID)の検証を行い、合格であればgと秘密鍵xを用いて共有鍵K=(gを計算する。
(1−2−f)第2主体は、検証鍵Verを用いて電子署名Sig(g,g,ID)の検証を行い、合格であればgと秘密鍵yを用いて共有鍵K=(gを計算する。
《デジタル署名を用いたAKE方式をベースとした本形態の方式》
この実施例では、sk1=x、pk1=g、sk2=y、pk2=g、β1=g、β2=g、λ1=K=(g、λ2=K=(gとし、第1実施形態の各処理を実行する。ただし、記憶部1111には、公開鍵pk1に加え、署名鍵Sig、検証鍵Ver、ユーザー識別子IDが格納される。記憶部1211には、公開鍵pk2に加え、署名鍵Sig、検証鍵Ver、ユーザー識別子IDが格納される。
ステップS1000では、まず、端末装置111の鍵交換処理部1115が記憶部1111からβ1=pk1=gとIDを読み込み、通信部1116に送る。通信部1116はこれらを端末装置121に送信する。これらは端末装置121の通信部1216で受信され、鍵交換処理部1215に送られ、記憶部1211に格納される(1−2−a)。次に、端末装置121の鍵交換処理部1215が記憶部1211からβ2=pk2=gとIDを読み込み、通信部1216に送る。通信部1216はこれらを端末装置111に送信する。これらは端末装置111の通信部1116で受信され鍵交換処理部1115に送られ、記憶部1111に格納される(1−2−b)。次に、端末装置111の鍵交換処理部1115が記憶部1111からg,g,ID,ID,Sigを読み込み、Sig(g,g,ID)を生成し、gとIDとSig(g,g,ID)を通信部1116に送る。通信部1116はこれらを端末装置121に送信する。これらは端末装置121の通信部1216で受信され、鍵交換処理部1215に送られ、記憶部1211に格納される(1−2−c)。次に、端末装置121の鍵交換処理部1215が記憶部1211からg,g,ID,ID,Sigを読み込み、Sig(g,g,ID)を生成し、gとIDとSig(g,g,ID)を通信部1216に送る。通信部1216はこれらを端末装置111に送信する。これらは端末装置111の通信部1116で受信され鍵交換処理部1115に送られ、記憶部1111に格納される(1−2−d)。鍵交換処理部1115は、記憶部1111からVerと(g,g,ID)とSig(g,g,ID)を読み込み、Verと(g,g,ID)を用いてSig(g,g,ID)の検証を行い、合格であればステップS1101以降の処理に進む(1−2−e)。鍵交換処理部1215は、Verと(g,g,ID)とSig(g,g,ID)を読み込み、Verと(g,g,ID)を用いてSig(g,g,ID)の検証を行い、合格であればステップS1201以降の処理に進む(1−2−f)。
<実施例1−3>
実施例1−3ではMQV(Menezes-Qu-Vanstone)鍵交換方式をベースとして用いる。
《一般的なMQV鍵交換方式》
Gを素数pの可換群、gを群Gの単位元以外の元、a∈Zを第1主体の秘密鍵(長期秘密鍵、固定秘密鍵)、A=g∈Gを第1主体の公開鍵(長期公開鍵、固定公開鍵)、x∈Zを第1主体の一時秘密鍵、X=g∈Gを第1主体の一時公開鍵、b∈Zを第2主体の秘密鍵、B=g∈Gを第2主体の公開鍵、y∈Zを第1主体の一時秘密鍵、Y=g∈Gを第2主体の一時公開鍵とする。
(1−3−a)第1主体は(A,X)を第2主体に送る。
(1−3−b)第2主体は(B,Y)を第1主体に送る。
(1−3−c)第1主体はk={Y}|p|、d={X}|p|を計算する。ここで、{Y}|p|は、Yをビット表現した際の上位pビットを意味する。{X}|p|についても同様である。
(1−3−d)第1主体はσ=(YBx+adを計算し、共有鍵K=KDF(σ)を得る。ただし、KDFはKey Derivation Functionであり、入力値をそれに対応する乱数に変換する関数である。
(1−3−e)第2主体はk={Y}|p|、d={X}|p|を計算する。
(1−3−f)第2主体はσ=(XAy+bkを計算し、共有鍵K=KDF(σ)を得る。
ここで、Gは可換群であり、σ=(YBx+ad=g(y+bk)(x+ad)=(XAy+bkが成立する。
《MQV鍵交換方式をベースとした本形態の方式》
この実施例では、sk1=a”、pk1=A=ga”、sk2=b”、pk2=B=gb”、β1=XA、β2=YB、λ1=YBka”、λ2=XAkb”、k={Y}|p|、d={X}|p|、K=KDF((YBx+a”d)=KDF((XAy+b”k)とし、第1実施形態の各処理を実行する。ただし、記憶部1111には、公開鍵pk1=Aに加え、一時秘密鍵x、一時公開鍵Xが格納され、記憶部1211には、公開鍵pk2=Bに加え、一時秘密鍵y、一時公開鍵Yが格納される。
ステップS1000では、まず、端末装置111の鍵交換処理部1115が記憶部1111から(A,X)を読み込んで通信部1116に送る。通信部1116は(A,X)を端末装置121に送る。(A,X)は通信部1216で受信されて鍵交換処理部1215に送られ、記憶部1211に格納される(1−3−a)。次に、端末装置121の鍵交換処理部1215が記憶部1211から(B,Y)を読み込んで通信部1216に送る。通信部1216は(B,Y)を端末装置111に送る。(B,Y)は通信部1116で受信されて鍵交換処理部1115に送られ、記憶部1111に格納される(1−3−b)。鍵交換処理部1115は、記憶部からX,Yを読み込んでk={Y}|p|、d={X}|p|を計算し、それらを記憶部1111に格納する(1−3−c)。その後、ステップS1101〜S1112の処理が行われ、鍵交換処理部1115はλ1=YBka”を得る。鍵交換処理部1115はλ1と記憶部1111から読み出したx,dとを用いてK=KDF((YBx+a”d)を計算して出力する(ステップS1113,1−3−d)。端末装置121の鍵交換処理部1215は、記憶部からX,Yを読み込んでk={Y}|p|、d={X}|p|を計算し、それらを記憶部1111に格納する(1−3−e)。その後、ステップS1201〜S1212の処理が行われ、鍵交換処理部1215はλ2=XAkb”を得る。鍵交換処理部1215はλ2と記憶部1111から読み出したy,dとを用いてK=KDF((XAy+b”k)を計算して出力する(ステップS1213,1−3−f)。
<実施例1−4>
実施例1−4ではHMQV(Hashed Menezes-Qu-Vanstone)鍵交換方式をベースとして用いる。
《一般的なHMQV鍵交換方式》
HMQV鍵交換方式のMQV鍵交換方式との相違点は、k={Y}|p|、d={X}|p|に代えてk=Hash(Y,A),d=Hash(X,B)とする点である。ここでHash(Y,A)は、(Y,A)に対する暗号学的なハッシュ値である。(Y,A)はY,Aのビット結合値等である。Hash(X,B)についても同様である。その他はMQV鍵交換方式と同じである。
《デジタル署名を用いたAKE方式をベースとした本形態の方式》
実施例1−4の実施例1−3との相違点は、k=Hash(Y,A),d=Hash(X,B)とする点のみであり、その他は実施例1−3と同じである。
<実施例1−5>
実施例1−5ではFSU認証鍵交換方式(id−id−AKE)をベースとして用いる。
《一般的なFSU認証鍵交換方式(id−id−AKE)》
κをセキュリティパラメータとし、G,G,Gを位数がκビット長の素数qの巡回群とし、g∈G,g∈G,g∈Gをそれぞれの群の生成元とする。e:G×G→Gをペアリングとし、g=e(g,g)を満たすものとする。H:{0,1}*→{0,1}κ、H:{0,1}*→G、H:{0,1}*→Gをそれぞれ暗号学的ハッシュ関数とする。2以上の自然数mに対して、m個の多項式p∈Z[u,u,v,v](i=1,・・・,m)を以下のように与える。
Figure 0006236019

ここで、c(i,0,0),c(i,0,1),c(i,1,0),c(i,1,1)は公開情報であり、定数であってもよいし、後述の短期公開鍵、公開鍵、ユーザー識別子等に依存して決まる値でもよい。鍵生成装置がマスタ秘密鍵z∈Zをランダムに選択・保持し、マスタ公開鍵Z=g ∈GとZ=g ∈Gを計算して公開する。IDを第1主体のユーザー識別子とし、IDを第2主体のユーザー識別子とする。IDおよびIDは公開情報である。第1主体は、QA,1=H(ID)∈GとQA,2=H(ID)∈Gを公開鍵として計算して公開する。同様に、第2主体は、QB,1=H(ID)∈GとQB,2=H(ID)∈Gを公開鍵(長期公開鍵、固定公開鍵)として計算して公開する。
(鍵生成処理)鍵生成装置は、公開鍵(QA,1,QA,2),(QB,1,QB,2)をそれぞれ入力とし、秘密鍵(長期秘密鍵、固定秘密鍵)の2つのペアDA,1=QA,1 ,DA,2=QA,2 とDB,1=QB,1 ,DB,2=QB,2 を計算し、第1主体に秘密鍵のペア(DA,1,DA,2)を、第2主体に秘密鍵のペア(DB,1,DB,2)を配布する。第1主体は短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXA,1=g xA,XA,2=g xAを生成する。同様に、第2主体は短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXB,1=g xB,XB,2=g xBを生成する。ただし、上付き添え字の「xA」や「xB」は、それぞれ「x」や「x」を表す。
(1−5−a)第1主体は第2主体へ(ID,ID,XA,1,XA,2)を送信する。
(1−5−b)第2主体は第1主体へ(ID,ID,XB,1,XB,2)を送信する。
(1−5−c)第1主体はe(XB,1,g)=e(g,XB,2)を満たすかを確認し、第2主体はe(XA,1,g)=e(g,XA,2)を満たすかを確認する。正しくなければ、鍵生成処理からやり直す。正しければ、以下に進む。
(1−5−d)第1主体は、以下の(1−5−d−1)〜(1−5−d−3)を行う。
(1−5−d−1)第1主体は、i=1,・・・,mについてσ=e(DA,1 c(i,0,0) c(i,1,0)xA,QB,2)e(DA,1 c(i,0,1) c(i,1,1)xA,XB,2)を計算する。
(1−5−d−2)第1主体は、σm+1=XB,1 xAおよびσm+2=XB,2 xAを計算する。
(1−5−d−3)第1主体は、共有鍵K=H(σ,・・・,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算する。
(1−5−e)第2主体は、以下の(1−5−e−1)〜(1−5−e−3)を行う。
(1−5−e−1)第2主体は、i=1,・・・,mについてσ=e(QA,1,DB,2 c(i,0,0) c(i,0,1)xB)e(XA,1,DB,2 c(i,1,0) c(i,0,1)xB)を計算する。
(1−5−e−2)第2主体は、σm+1=XA,1 xBおよびσm+2=XA,2 xBを計算する。
(1−5−e−3)第2主体は、共有鍵K=H(σ,・・・,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算する。
ここでQA,1=g q(A,1)∈G,QB,2=g q(B,2)∈Gとすると、eの双線形より、両者が計算したσ,・・・,σ,σm+1,σm+2には以下が成り立つ。
・i=1,・・・,mについてσ=g zpi(q(A,1),xA,q(B,2),xB)(ただし、上付き添え字の「pi」は「p」を表す)
・σm+1=g xAxBおよびσm+2=g xAxB
従って両者の共通鍵Kは一致する。
《FSU認証鍵交換方式(id−id−AKE)をベースとした本形態の方式》
この実施例では、sk1=(DA,1,x)、pk1=(QA,1,XA,1)、sk2=(DB,2,x)、pk2=(QB,2,XB,2)、β1=(XA,1,XA,2)、β2=(XB,1,XB,2)、λ1=(σ,・・・,σ,σm+1,σm+2)、λ2=(σ,・・・,σ,σm+1,σm+2)、K=H(σ,・・・,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)とし、第1実施形態の各処理を実行する。ただし、記憶部1111には、pk1=(QA,1,XA,1)の他、ID,ID,XA,2が格納され、記憶部1211には、pk2=(QB,2,XB,2)の他、ID,ID,XB,1が格納される。記憶部1121には、sk1=(DA,1,x)の他、Z,QB,2が格納され、記憶部1221には、sk2=(DB,2,x)の他、Z,QA,1が格納される。
ステップS1000では、まず、端末装置111の鍵交換処理部1115が記憶部1111から(ID,ID,XA,1,XA,2)を読み込み、通信部1116に送る。通信部1116は(ID,ID,XA,1,XA,2)を端末装置121に送信する。(ID,ID,XA,1,XA,2)は通信部1216で受信されて鍵交換処理部1215に送られ、記憶部1211に格納される(1−5−a)。端末装置121の鍵交換処理部1215が記憶部1211から(ID,ID,XB,1,XB,2)を読み込み、通信部1216に送る。通信部1216は(ID,ID,XB,1,XB,2)を端末装置111に送信する。(ID,ID,XB,1,XB,2)は通信部1116で受信されて鍵交換処理部1115に送られ、記憶部1111に格納される(1−5−b)。鍵交換部1115は記憶部1111から読み込んだβ2=(XB,1,XB,2)がe(XB,1,g)=e(g,XB,2)を満たすかを確認し、鍵交換部1215は記憶部1211から読み込んだβ1=(XA,1,XA,2)がe(XA,1,g)=e(g,XA,2)を満たすかを確認する。正しくなければ、鍵生成からやり直す。正しければステップS1101,S1201以降の処理に進む(1−5−c)。
ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、i=1,・・・,mについてσ=e(DA,1 c(i,0,0) c(i,1,0)xA,QB,2)e(DA,1 c(i,0,1) c(i,1,1)xA,XB,2)を計算し(1−5−d−1)、σm+1=XB,1 xAおよびσm+2=XB,2 xAを計算し(1−5−d−2)、λ1を得る。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、i=1,・・・,mについてσ=e(QA,1,DB,2 c(i,0,0) c(i,0,1)xB)e(XA,1,DB,2 c(i,1,0) c(i,0,1)xB)を計算し(1−5−e−1)、σm+1=XA,1 xBおよびσm+2=XA,2 xBを計算し(1−5−e−2)、λ2を得る。
ステップS1113では、鍵交換処理部1115が、λ1と記憶部1111に格納された情報とを用いて共通鍵Kを得て出力し(1−5−d−3)、ステップS1213では、鍵交換処理部1215が、λ2と記憶部1211に格納された情報とを用いて共通鍵Kを得て出力する(1−5−e−3)。
<実施例1−5の変形例1>
実施例1−5の変形例1として、sk1=DA,1とし、pk1=QA,1とし、sk2=DB,2とし、pk2=QB,2とし、β1=Pi,A=QA,1 c(i,0,0)A,1 c(i,1,0)とし、β2=Pi,B=QB,2 c(i,0,0)B,2 c(i,0,1)とし、λ1=ζA,i=e(DA,1,Pi,B)とし、λ2=ζB,i=e(Pi,A,DB,2)としてもよい。ただし、記憶部1111には、pk1=QA,1の他、ID,ID,XA,1,XA,2が格納され、記憶部1211には、pk2=QB,2の他、ID,ID,XB,1,XB,2が格納される。記憶部1121には、sk1=DA,1の他、x,Z,QB,2が格納され、記憶部1221には、sk2=(DB,2,x)の他、x,Z,QA,1が格納される。
ステップS1000は実施例1−5と同じである。ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、λ1=ζA,i=e(DA,1,Pi,B)(i=1,・・・,m)を計算する。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、λ2=ζB,i=e(Pi,A,DB,2)(i=1,・・・,m)を計算する。ステップS1113では、鍵交換処理部1115が、λ1と記憶部1111に格納された情報とを用いて共通鍵Kを得て出力し(1−5−d)、ステップS1213では、鍵交換処理部1215が、λ2と記憶部1211に格納された情報とを用いて共通鍵Kを得て出力する(1−5−e)。
<実施例1−5の変形例2>
実施例1−5の変形例2として、β1=(Pi,A,αi,A)、β2=(Pi,B,αi,B)、λ1=(ζA,i,αi,B xA)、λ2=(ζB,i,αi,A xB)としてもよい。ただし、
i,A=QA,1 c(i,0,0)A,1 c(i,1,0)
i,B=QB,2 c(i,0,0)B,2 c(i,0,1)
ζA,i=e(DA,1,Pi,B
ζB,i=e(Pi,A,DB,2
Figure 0006236019
Figure 0006236019

である。記憶部1111には、pk1=(QA,1,XA,1)の他、ID,ID,XA,2が格納され、記憶部1211には、pk2=(QB,2,XB,2)の他、ID,ID,XB,1が格納される。
ステップS1000は実施例1−5と同じである。ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、λ1=(ζA,i,αi,B xA)(i=1,・・・,m)を計算する。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、λ2=(ζB,i,αi,A xB)(i=1,・・・,m)を計算する。ステップS1113では、鍵交換処理部1115が、λ1と記憶部1111に格納された情報とを用いて共通鍵Kを得て出力し(1−5−d)、ステップS1213では、鍵交換処理部1215が、λ2と記憶部1211に格納された情報とを用いて共通鍵Kを得て出力する(1−5−e)。
<実施例1−5の変形例3>
実施例1−5の変形例2として、β1=(Pi,A,P’i,A,α’i,A)、β2=(Pi,B,P’i,B,α’i,B)、λ1=(ζA,i,ζ’A,i,α’i,B xA)、λ2=(ζB,i,ζ’B,i,α’i,A xB)としてもよい。ただし、
i,A=QA,1 c(i,0,0)A,1 c(i,1,0)
i,B=QB,2 c(i,0,0)B,2 c(i,0,1)
P’i,A=QA,1 c(i,0,1)A,1 c(i,1,1)
P’i,B=QB,2 c(i,1,0)B,2 c(i,1,1)
ζA,i=e(DA,1,Pi,B
ζB,i=e(Pi,A,DB,2
ζ’A,i=e(Z xA,P’i,B
ζ’B,i=e(P’i,A,Z xB
Figure 0006236019
Figure 0006236019

である。記憶部1111には、pk1=(QA,1,XA,1)の他、ID,ID,XA,2が格納され、記憶部1211には、pk2=(QB,2,XB,2)の他、ID,ID,XB,1が格納される。
ステップS1000は実施例1−5と同じである。ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、λ1=(ζA,i,ζ’A,i,α’i,B xA)(i=1,・・・,m)を計算する。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、λ2=(ζB,i,ζ’B,i,α’i,A xB)(i=1,・・・,m)を計算する。ステップS1113では、鍵交換処理部1115が、λ1と記憶部1111に格納された情報とを用いて共通鍵Kを得て出力し(1−5−d)、ステップS1213では、鍵交換処理部1215が、λ2と記憶部1211に格納された情報とを用いて共通鍵Kを得て出力する(1−5−e)。
<実施例1−6>
実施例1−6ではFSU認証鍵交換方式(cert−cert−AKE)をベースとして用いる。
《一般的なFSU認証鍵交換方式(cert−cert−AKE)》
κをセキュリティパラメータとし、Gを位数がκビット長の素数qの巡回群とし、g∈Gを群Gの生成元とする。H:{0,1}*→{0,1}κ、H:{0,1}*→Gをそれぞれ暗号学的ハッシュ関数とする。前述の式(1)のようにm個(ただし、mは2以上の自然数)の多項式p∈Z[u,u,v,v](i=1,・・・,m)を与える。第1主体は、秘密鍵(長期秘密鍵、固定秘密鍵)s∈Zを持ち、公開鍵(長期公開鍵、固定公開鍵)S=gsAを公開する。第2主体は、秘密鍵s∈Zを持ち、公開鍵S=gsBを公開する。ただし、上付き添え字の「sA」は「s」を表し、「sB」は「s」を表す。認証局は公開鍵Sと公開鍵Sを認証する。第1主体は、短期秘密鍵x∈Zをランダムに選び、短期公開鍵X=gxAを公開する。同様に、第2主体は、短期秘密鍵x∈Zをランダムに選び、短期公開鍵X=gxBを公開する。ただし、上付き添え字の「xA」は「x」を表し、「xB」は「x」を表す。
(1−6−a)第1主体は第2主体へ(ID,ID,X)を送信する。
(1−6−b)第2主体は第1主体へ(ID,ID,X)を送信する。
(1−6−c)第1主体は、以下の(1−6−c−1)および(1−6−c−2)を行う。
(1−6−c−1)第1主体は、i=1,・・・,mについてσ=X c(i,0,1)sA+c(i,1,0)xA c(i,0,0)sA+c(i,1,1)xAを計算する。
(1−6−c−2)第1主体は、共有鍵K=H(σ,・・・,σ,ID,ID,X,X)を計算する。
(1−6−d)第2主体は、以下の(1−6−d−1)および(1−6−d−2)を行う。
(1−6−d−1)第2主体は、i=1,・・・,mについてσ=X c(i,1,0)sB+c(i,1,1)xB c(i,0,0)sB+c(i,0,1)xBを計算する。
(1−6−d−2)第2主体は、共有鍵K=H(σ,・・・,σ,ID,ID,X,X)を計算する。
ここで、両者が計算したσ,・・・,σは、σ=gpi(sA,xA,sB,xB)の関係を満たすため、両者の共通鍵Kは一致する。
《FSU認証鍵交換方式(cert−cert−AKE)をベースとした本形態の方式》
この実施例では、sk1=(s,x)、pk1=(S,X)、sk2=(s,x)、pk2=(S,X)、β1=X、β2=X、λ1=(σ,・・・,σ)、λ2=(σ,・・・,σ)、K=H(σ,・・・,σ,ID,ID,X,X)とし、第1実施形態の各処理を実行する。ただし、記憶部1111には、pk1=(S,X)の他、x,ID,ID,Xが格納され、記憶部1211には、pk2=(S,X)の他、x,ID,ID,Xが格納される。記憶部1121には、sk1=(s,x)の他、Sが格納され、記憶部1221には、sk2=(s,x)の他、Sが格納される。
ステップS1000では、まず、端末装置111の鍵交換処理部1115が記憶部1111から(ID,ID,X)を読み込み、通信部1116に送る。通信部1116は(ID,ID,X)を端末装置121に送信する。(ID,ID,X)は通信部1216で受信されて鍵交換処理部1215に送られ、記憶部1211に格納される(1−6−a)。端末装置121の鍵交換処理部1215が記憶部1211から(ID,ID,X)を読み込み、通信部1216に送る。通信部1216は(ID,ID,X)を端末装置111に送信する。(ID,ID,X)は通信部1116で受信されて鍵交換処理部1115に送られ、記憶部1111に格納される(1−6−b)。
その後、ステップS1101,S1201以降の処理に進む。ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、i=1,・・・,mについてσ=X c(i,0,1)sA+c(i,1,0)xA c(i,0,0)sA+c(i,1,1)xAを計算し(1−6−c−1)、λ1を得る。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、i=1,・・・,mについてσ=X c(i,1,0)sB+c(i,1,1)xB c(i,0,0)sB+c(i,0,1)xBを計算し(1−6−d−1)、λ2を得る。
ステップS1113では、鍵交換処理部1115が、λ1と記憶部1111に格納された情報とを用いて共通鍵Kを得て出力し(1−6−c−2)、ステップS1213では、鍵交換処理部1215が、λ2と記憶部1211に格納された情報とを用いて共通鍵Kを得て出力する(1−6−d−2)。
<実施例1−6の変形例1>
実施例1−6の変形例1として、(1−6−a)に代えて第1主体は第2主体へ(S,X)を送信し(1−6−a)’、(1−6−b)に代えて第2主体は第1主体へ(S,X)を送信し(1−6−b)’、sk1=xとし、pk1=Xとし、sk2=xとし、pk2=Xとし、β1=αA,i=X c(i,1,1) c(i,0,1)とし、β2=αB,i=X c(i,1,0) c(i,1,1)とし、λ1=αB,i xAとし、λ2=αA,i xBとし、K=H(σ,・・・,σ,S,S,X,X)としてもよい。ただし、記憶部1111には、pk1=Xの他、Sが格納され、記憶部1211には、pk2=Xの他、Sが格納される。
ステップS1000では、まず、端末装置111の鍵交換処理部1115が記憶部1111から(S,X)を読み込み、通信部1116に送る。通信部1116は(S,X)を端末装置121に送信する。(S,X)は通信部1216で受信されて鍵交換処理部1215に送られ、記憶部1211に格納される(1−6−a)’。端末装置121の鍵交換処理部1215が記憶部1211から(S,X)を読み込み、通信部1216に送る。通信部1216は(S,X)を端末装置111に送信する。(S,X)は通信部1116で受信されて鍵交換処理部1115に送られ、記憶部1111に格納される(1−6−b)’。
その後、ステップS1101,S1201以降の処理に進む。ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、i=1,・・・,mについてλ1=αB,i xAを計算し、λ1を得る。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、i=1,・・・,mについてλ2=αA,i xBを計算し、λ2を得る。
ステップS1113では、鍵交換処理部1115がλ1と記憶部1111に格納された情報とを用い、i=1,・・・,mについてσ=X c(i,0,1)sA+c(i,1,0)xA c(i,0,0)sA+c(i,1,1)xA=λ1・X c(i,0,1)sA c(i,0,0)sAを計算し、共通鍵Kを得る。ステップS1213では、鍵交換処理部1215がλ2と記憶部1211に格納された情報とを用い、i=1,・・・,mについてσ=X c(i,1,0)sB+c(i,1,1)xB c(i,0,0)sB+c(i,0,1)xB=λ2・X c(i,1,0)sB c(i,0,0)sBを計算し、共通鍵Kを得る。
<実施例1−6の変形例2>
実施例1−6の変形例2として、(1−6−a)に代えて第1主体は第2主体へ(S,X)を送信し(1−6−a)’、(1−6−b)に代えて第2主体は第1主体へ(S,X)を送信し(1−6−b)’、sk1=(s,x)とし、pk1=(S,X)とし、sk2=(s,x)とし、pk2=(S,X)とし、β1=(αA,iA,i)=(X c(i,1,1) c(i,0,1),X c(i,1,0) c(i,0,0))とし、β2=(αB,iB,i)=(X c(i,1,0) c(i,1,1),X c(i,0,1) c(i,0,0))とし、λ1=(αB,i xA,βB,i sA)とし、λ2=(αA,i xBA,i sB)とし、K=H(σ,・・・,σ,S,S,X,X)としてもよい。
ステップS1000は実施例1−6の変形例1と同じであり、その後、ステップS1101,S1201以降の処理に進む。ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、i=1,・・・,mについてλ1=(αB,i xA,βB,i sA)を計算し、λ1を得る。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、i=1,・・・,mについてλ2=(αA,i xBA,i sB)を計算し、λ2を得る。
ステップS1113では、鍵交換処理部1115がλ1=(αB,i xA,βB,i sA)と記憶部1111に格納された情報とを用い、i=1,・・・,mについてσ=X c(i,0,1)sA+c(i,1,0)xA c(i,0,0)sA+c(i,1,1)xA=αB,i xAβB,i sAを計算し、共通鍵Kを得る。ステップS1213では、鍵交換処理部1215がλ2=(αA,i xBA,i sB)および記憶部1211に格納された情報を用い、i=1,・・・,mについてσ=X c(i,1,0)sB+c(i,1,1)xB c(i,0,0)sB+c(i,0,1)xB=αA,i xBβA,i sBを計算し、共通鍵Kを得る。
<実施例1−7>
実施例1−7ではFSU認証鍵交換方式(cert−id−AKE)をベースとして用いる。
《一般的なFSU認証鍵交換方式(cert−id−AKE)》
κをセキュリティパラメータとし、G,G,Gを位数がκビット長の素数qの巡回群とし、g∈G,g∈G,g∈Gをそれぞれの群の生成元とする。e:G×G→Gをペアリングとし、g=e(g,g)を満たすものとする。H:{0,1}*→{0,1}κ、H:{0,1}*→G、H:{0,1}*→Gをそれぞれ暗号学的ハッシュ関数とする。多項式p(ただしi=1,・・・,m、mは2以上の自然数)を式(1)のように与える。鍵生成装置がマスタ秘密鍵z∈Zをランダムに選択・保持し、マスタ公開鍵Z=g ∈GとZ=g ∈Gを計算して公開する。第1主体は、ユーザー識別子IDを持ち、QA,1=H(ID)∈GとQA,2=H(ID)∈Gを公開鍵として計算して公開する。
(鍵生成処理)鍵生成装置は、公開鍵(QA,1,QA,2)を入力とし、秘密鍵(長期秘密鍵、固定秘密鍵)のペアDA,1=QA,1 ,DA,2=QA,2 を計算し、第1主体に秘密鍵のペア(DA,1,DA,2)を配布する。第2主体は、秘密鍵s∈Zを持ち、公開鍵のペアSB,1=g sB∈GとSB,2=g sB∈Gを計算して公開する。認証局は公開鍵(SB,1,SB,2)を認証する。第1主体は短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXA,1=g xA,XA,2=g xAを生成する。同様に、第2主体は短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXB,1=g xB,XB,2=g xBを生成する。
(1−7−a)第1主体は第2主体へ(ID,XA,1,XA,2)を送信する。
(1−7−b)第2主体は第1主体へ(SB,1,SB,2,XB,1,XB,2)を送信する。
(1−7−c)第1主体はe(XB,1,g)=e(g,XB,2)であるかとe(SB,1,g)=e(g,SB,2)であるかを確認し、第2主体はe(XA,1,g)=e(g,XA,2)であるかを確認する。正しくなければ、鍵生成処理からやり直す。正しければ、以下に進む。
(1−7−d)第1主体は、以下の(1−7−d−1)〜(1−7−d−4)を行う。
(1−7−d−1)第1主体は、i=1,・・・,mについてσ=e(DA,1 c(i,0,0) c(i,1,0)xA,SB,2)e(DA,1 c(i,0,1) c(i,1,1)xA,XB,2)を計算する。
(1−7−d−2)第1主体は、σm+1=XB,1 xAおよびσm+2=XB,2 xAを計算する。
(1−7−d−3)第1主体は、σm+3=SB,1 xAおよびσm+4=SB,2 xAを計算する。
(1−7−d−4)第1主体は、共有鍵K=H(σ,・・・,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,SB,1,SB,2)を計算する。
(1−7−e)第2主体は、以下の(1−7−e−1)〜(1−7−e−4)を行う。
(1−7−e−1)第2主体は、i=1,・・・,mについてσ=e(QA,1,Z c(i,0,0)sB+c(i,0,1)xB)e(XA,1,Z c(i,1,0)sB+c(i,1,1)xB)を計算する。
(1−7−e−2)第2主体は、σm+1=XA,1 xBおよびσm+2=XA,2 xBを計算する。
(1−7−e−3)第2主体は、σm+3=XA,1 sBおよびσm+4=XA,2 sBを計算する。
(1−7−e−4)第2主体は、共有鍵K=H(σ,・・・,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,SB,1,SB,2)を計算する。
ここでQA,1=g q(A,1)∈Gとすると、eの双線形より、両者が計算したσ,・・・,σ,σm+1,σm+2には以下が成り立つ。
・i=1,・・・,mについてσ=g zpi(q(A,1),sB,xA,xB)
・σm+1=g xAxBおよびσm+2=g xAxB
・σm+3=g xAsBおよびσm+4=g xAsB
従って両者の共通鍵Kは一致する。
《FSU認証鍵交換方式(cert−id−AKE)をベースとした本形態の方式》
この実施例では、sk1=(DA,1,x)、pk1=(QA,1,XA,1)、sk2=(s,x)、pk2=(SB,1,XB,1,XB,2)、β1=(XA,1,XA,2)、β2=(SB,1,SB,2,XB,1,XB,2)、λ1=(σ,・・・,σ,σm+1,σm+2,σm+3)、λ2=(σ,・・・,σ,σm+1,σm+2,σm+3)、K=H(σ,・・・,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,SB,1,SB,2)とし、第1実施形態の各処理を実行する。ただし、記憶部1111には、pk1=(QA,1,XA,1)の他、ID,ID,XA,2が格納され、記憶部1211には、pk2=(SB,1,XB,1,XB,2)の他、SB,2,ID,IDが格納される。記憶部1121には、sk1=(DA,1,x)の他、Z,QB,2が格納され、記憶部1221には、sk2=(s,x)の他、Z,QA,1が格納される。
ステップS1000では、まず、端末装置111の鍵交換処理部1115が記憶部1111から(ID,XA,1,XA,2)を読み込み、通信部1116に送る。通信部1116は(ID,XA,1,XA,2)を端末装置121に送信する。(ID,XA,1,XA,2)は通信部1216で受信されて鍵交換処理部1215に送られ、記憶部1211に格納される(1−7−a)。端末装置121の鍵交換処理部1215が記憶部1211から(SB,1,SB,2,XB,1,XB,2)を読み込み、通信部1216に送る。通信部1216は(SB,1,SB,2,XB,1,XB,2)を端末装置111に送信する。(SB,1,SB,2,XB,1,XB,2)は通信部1116で受信されて鍵交換処理部1115に送られ、記憶部1111に格納される(1−7−b)。鍵交換部1115は記憶部1111から読み込んだβ2=(SB,1,SB,2,XB,1,XB,2)がe(SB,1,g)=e(g,SB,2)を満たすかを確認し、鍵交換部1215は記憶部1211から読み込んだβ1=(XA,1,XA,2)がe(XA,1,g)=e(g,XA,2)を満たすかを確認する。正しくなければ、鍵生成からやり直す。正しければステップS1101,S1201以降の処理に進む(1−7−c)。
ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、i=1,・・・,mについてσ=e(DA,1 c(i,0,0) c(i,1,0)xA,SB,2)e(DA,1 c(i,0,1) c(i,1,1)xA,XB,2)を計算し(1−7−d−1)、σm+1=XB,1 xAおよびσm+2=XB,2 xAを計算し(1−7−d−2)、σm+3=SB,1 xAおよびσm+4=SB,2 xAを計算し、λ1を得る。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、i=1,・・・,mについてσ=e(QA,1,Z c(i,0,0)sB+c(i,0,1)xB)e(XA,1,Z c(i,1,0)sB+c(i,1,1)xB)を計算し(1−7−e−1)、σm+1=XA,1 xBおよびσm+2=XA,2 xBを計算し(1−7−e−2)、σm+3=XA,1 sBおよびσm+4=XA,2 sBを計算し、λ2を得る。
ステップS1113では、鍵交換処理部1115が、λ1と記憶部1111に格納された情報とを用いて共通鍵Kを得て出力し、ステップS1213では、鍵交換処理部1215が、λ2と記憶部1211に格納された情報とを用いて共通鍵Kを得て出力する。
<実施例1−7の変形例1>
実施例1−7の変形例1として、sk1=DA,1とし、pk1=QA,1とし、sk2=sとし、pk2=SB,1とし、β1=βi,A=QA,1 c(i,0,0)A,1 c(i,1,0)またはβ’i,A=e(QA,1 c(i,0,0)A,1 c(i,1,0),Z)とし、β2=αi,B=SB,2 c(i,0,0)B,2 c(i,0,1)とし、λ1=e(DA,1i,B)とし、λ2=e(βi,A,Z sB)またはλ2=β’i,A sBとし、K=H(σ,・・・,σ,σm+1,σm+2,σm+3,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,SB,1,SB,2)としてもよい。ただし、記憶部1111には、pk1=QA,1の他、ID,ID,XA,1,XA,2,Zが格納され、記憶部1211には、pk2=SB,1の他、SB,2,ID,ID,XB,1,XB,2が格納される。記憶部1121には、sk1=DA,1が格納され、記憶部1221には、sk2=sの他、Zが格納される。
ステップS1000は実施例1−7と同じであり、その後、ステップS1101,S1201以降の処理に進む。ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、i=1,・・・,mについてλ1=e(DA,1i,B)を計算し、λ1を得る。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、i=1,・・・,mについてλ2=e(βi,A,Z sB)またはλ2=e(QA,1 c(i,0,0)A,1 c(i,1,0),Z)sBを計算し、λ2を得る。
ステップS1113では、鍵交換処理部1115がλ1と記憶部1111に格納された情報とを用い、i=1,・・・,mについてσ=e(DA,1 c(i,0,0) c(i,1,0)xA,SB,2)e(DA,1 c(i,0,1) c(i,1,1)xA,XB,2)=λ1・e(Z,SB,2 c(i,1,0)xAB,2 c(i,1,1)xA)を計算し、共通鍵Kを得る。ステップS1213では、鍵交換処理部1215がλ2と記憶部1211に格納された情報とを用い、i=1,・・・,mについてσ=e(QA,1,Z c(i,0,0)sB+c(i,0,1)xB)e(XA,1,Z c(i,1,0)sB+c(i,1,1)xB)=λ2・e(QA,1 c(i,0,1)A,2 c(i,1,1),Z xB)を計算し、共通鍵Kを得る。
<実施例1−7の変形例2>
実施例1−7の変形例2として、sk1=(DA,1,x)とし、pk1=(QA,1,XA,1)とし、sk2=(s,x)とし、pk2=(SB,1,XB,1,XB,2)とし、β1=(β1’,β1”)とし、β1’をβi,A=QA,1 c(i,0,0)A,1 c(i,1,0)またはβ’i,A=e(QA,1 c(i,0,0)A,1 c(i,1,0),Z)とし、β1”をβ1,i,A=QA,1 c(i,0,1)A,1 c(i,1,1)またはβ2,i,A=e(QA,1 c(i,0,1)A,1 c(i,1,1),Z)とし、β2=(β2’,β2”)とし、β2’=αi,B=SB,2 c(i,0,0)B,2 c(i,0,1)とし、β2”をβi,B=SB,2 c(i,1,0)B,2 c(i,1,1)またはβ’i,B=e(Z,SB,2 c(i,1,0)B,2 c(i,1,1))とし、λ1=(λ1’,λ1”)とし、λ1’=e(DA,1i,B)とし、λ1”をe(Z xAi,B)またはβ’i,B xAとし、λ2=(λ2’,λ2”)とし、λ2’をe(βi,A,Z sB)またはβ’i,A sBとし、λ2”をe(β1,i,A,Z xB)またはβ2,i,A xBとし、K=H(σ,・・・,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,SB,1,SB,2)としてもよい。ただし、記憶部1111には、pk1=QA,1の他、ID,ID,XA,1,XA,2,が格納され、記憶部1211には、pk2=(SB,1,XB,1,XB,2)の他、SB,2,ID,IDが格納される。記憶部1121には、sk1=(DA,1,x)の他、Zが格納され、記憶部1221には、sk2=(s,x)の他、Zが格納される。
ステップS1000は実施例1−7と同じであり、その後、ステップS1101,S1201以降の処理に進む。ステップS1110では、代理演算部1126がβ2および記憶部1121から読み込んだ情報を用い、i=1,・・・,mについてλ1=(λ1’,λ1”)を計算し、λ1を得る。ステップS1210では、代理演算部1226がβ1および記憶部1221から読み込んだ情報を用い、i=1,・・・,mについてλ2=(λ2’,λ2”)を計算し、λ2を得る。
ステップS1113では、鍵交換処理部1115がλ1と記憶部1111に格納された情報とを用い、i=1,・・・,mについてσ=e(DA,1 c(i,0,0) c(i,1,0)xA,SB,2)e(DA,1 c(i,0,1) c(i,1,1)xA,XB,2)=λ1’λ1”を計算し、共通鍵Kを得る。ステップS1213では、鍵交換処理部1215がλ2と記憶部1211に格納された情報とを用い、i=1,・・・,mについてσ=e(QA,1,Z c(i,0,0)sB+c(i,0,1)xB)e(XA,1,Z c(i,1,0)sB+c(i,1,1)xB)=λ2’λ2”を計算し、共通鍵Kを得る。
<第1実施形態の特徴>
本形態では、絶対数の多い個々の端末装置111,121やそれらのユーザーごとに認証処理の管理を行うのではなく、絶対数の少ない回線ごとに認証処理の管理を行う。そのため、認証処理や管理のコストを削減できる。
本形態では、端末装置111,121やそれらのユーザーごとに個々に登録が行われるのではなく、鍵装置112,122が鍵交換のための処理を行う回線ごとに登録が行われる。そのため、個々の端末装置111,121やそれらのユーザーを登録することなく、登録済みの回線を正当に使用する権限がある複数の端末装置111,121に対し、鍵装置112,122での処理を許可することができ、登録手続きを簡易化できる。また、回線に対して鍵交換処理権限を与えるため、本システム専用の設定を行う前の端末装置111,121に対しても鍵交換処理権限を与えることができる。すなわち、本形態の鍵交換処理機能を実行するためのプログラムを端末装置111,121にインストールする前であっても、その端末装置111,121が使用する回線に対応する回線情報を特定することはでき、その回線に対応する「登録情報」を含むリストを鍵装置112,122に格納することができる。また「登録情報」および「回線対応情報」として、公開された固有情報または当該固有情報に対して一義的に決まる情報を用いた場合、非公開の情報を用いることなく、上述の管理を実現できる。
また、本形態では端末装置111,121の正当性が公衆回線内の回線認証によって担保される。そのため、端末装置111,121やそのユーザーが署名生成のための特別な認証処理を別途行う必要がなく、それに必要な秘密情報を別途保持する必要もない。
また、鍵装置112や記憶部122にsk−List1やsk−List2を格納し、公開鍵pk1や公開鍵pk2を用いて、鍵交換処理に用いる秘密鍵sk1やsk2を特定する構成の場合、複数種類の秘密鍵sk1やsk2についての鍵交換処理を鍵装置112,122に委託できる。
なお、回線対応情報x1に対応する秘密鍵sk1を用いて鍵対応情報λ1が生成されてもよいし、回線対応情報x2に対応する秘密鍵sk2を用いて鍵対応情報λ2が生成されてもよい。これらの変形例では、例えば、秘密鍵sk1(sk2)とそれらに対応付けられた公開鍵pk1(pk2)とを含むリストsk−List1(sk−List2)に代え、秘密鍵sk1(sk2)とそれらに対応付けられた「登録情報」とを含むリストsk−List1(sk−List2)が用いられる。回線対応情報x1(x2)がリストList1(List2)の何れかの「登録情報」に対応する場合(ステップS1108,S1208)、代理演算部1126(1226)は、回線対応情報x1(x2)を用いて記憶部1121(1221)に格納されたsk−List1(sk−List2)を検索し、回線対応情報x1(x2)に対応する秘密鍵sk1(sk2)を抽出し、鍵対応情報λ1(λ2)を生成する。あるいは、sk−List1(sk−List2)を省略し、List1(List2)が秘密鍵sk1(sk2)とそれらに対応付けられた「登録情報」とを含んでもよい。この構成では、回線対応情報x1(x2)がリストList1(List2)の何れかの「登録情報」に対応する場合(ステップS1108,S1208)、代理演算部1126(1226)は、その「登録情報」に対応付けられた鍵sk1(sk2)を抽出し、鍵対応情報λ1(λ2)を生成する。
また第1実施形態では、「秘密鍵を特定するための情報」として公開鍵pk1(pk2)を用いる例を示したが、鍵IDその他の情報を「秘密鍵を特定するための情報」としてもよい。また、ステップS1101(S1201)で公開情報β2(β1)を含まない「要求情報」を送信し、ステップS1108(S1208)で回線対応情報x1(x2)がリストList1(List2)の何れかの「登録情報」に対応すると判定されてから、端末装置111(121)から鍵装置112(122)に公開情報β2(β1)を含む「要求情報」を送信し、ステップS1110(S1210)以降の処理が実行されてもよい。
第1実施形態では、鍵装置112,122に秘密鍵sk1,sk2を格納し、端末装置111,121の双方が鍵装置112,122に鍵交換処理の一部の処理を委託した。しかしながら、端末装置121が自ら秘密鍵sk2格納し、鍵装置122を用いることなく、第1実施形態で説明した端末装置111との間で鍵交換処理を実行してもよい。逆に、端末装置111が自ら秘密鍵sk1格納し、鍵装置112を用いることなく、第1実施形態で説明した端末装置121との間で鍵交換処理を実行してもよい。
[第2実施形態]
次に第2実施形態を説明する。第2実施形態は第1実施形態の変形例であり、自己訂正技術を用い、各端末装置が各鍵装置から鍵対応情報を得て鍵交換を行うものである。本形態の「公開情報に対応する情報」は、鍵交換のために他の端末装置から得た「公開情報」の撹乱情報であり、「鍵対応情報」は、「公開情報」と「秘密鍵」とを用いて得られる共有情報を自己訂正処理によって得るための情報である。自己訂正技術とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて常に正しい計算を行う(正しい計算結果を出力する計算機を用いた場合に正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合に、正しい計算結果を得るか、または計算できない旨の結果を得る)技術である。自己訂正技術自体は公知技術であり、例えば、参考文献4(国際公開WO/2012/057134号公報)、参考文献5(国際公開WO/2011/086992号公報)、および参考文献6(国際公開WO/2012/121152号公報)等に開示されている。以下では、第1実施形態との相違点を中心に説明し、既に説明した事項については同じ参照番号を流用して説明を簡略化する。
本形態の構成を説明する。図1に例示するように、本形態の鍵交換システム2は、端末装置211,221(第1端末装置,第2端末装置)と鍵装置212,222(第1鍵装置,第2鍵装置)とを有する。端末装置211と鍵装置212とは、回線認証機能および回線情報通知機能を備える公衆回線を通じて通信可能に構成されている。同様に、端末装置221と鍵装置222とは、回線認証機能および回線情報通知機能を備える公衆回線を通じて通信可能に構成されている。
図1に例示するように、本形態の端末装置211は、記憶部1111と出力部2113と入力部2114と鍵交換処理部2115と通信部1116を有し、端末装置221は、記憶部1211と出力部2213と入力部2214と鍵交換処理部2215と通信部1216を有する。本形態の鍵装置112は、記憶部1121,1122と、入力部2123と、出力部2124と、判定部1125と、代理演算部2126とを有し、鍵装置222は、記憶部1221,1222と、入力部1223と、出力部1224と、判定部1225と、代理演算部2226とを有する。各装置は、例えば、前述したコンピュータに所定のプログラムが読み込まれることで構成されてもよいし、電子回路を用いて一部またはすべての処理部が構成されてもよい。
<事前処理>
第1実施形態と同じである。
<鍵交換処理>
図4および図5を用いて本形態の鍵交換処理を説明する。本形態では端末装置211と端末装置221との間で鍵交換を行い、その処理の一部を、鍵装置212,222が自己訂正技術を用いて代行する。
まず、第1実施形態で説明したステップS1000の処理が実行される。
端末装置211の鍵交換処理部2115は、「鍵処理要求」を出力部2113に送る。鍵装置212の記憶部1121にsk−List1が格納されている場合、鍵交換処理部1115は、さらに記憶部1111から読み込んだ公開鍵pk1(秘密鍵sk1を特定するための情報)を出力部2113に送る。出力部2113は、鍵装置212を宛先とし、公衆回線の所定の回線(使用回線)に対して「鍵処理要求」を含む「要求情報」を出力する。ただし、記憶部1121にsk−List1が格納されている場合、「要求情報」はさらに公開鍵pk1を含む(鍵交換処理要求:ステップS2101)。その後、第1実施形態で説明したステップS1102〜S1103の処理に進む。ステップS1103で回線認証が成功であった場合、「要求情報」が鍵装置212に送信され、さらに回線情報通知機能を提供する通知装置(図示せず)が、回線情報dx1に対応する回線対応情報x1を鍵装置212に送信する(ステップS2105)。回線対応情報x1、および「鍵処理要求」を含む「要求情報」は、鍵装置212の入力部2123に入力される(受け付けられる)。入力部2123に入力される回線対応情報x1は、回線認証に成功した回線(使用回線)に対応する情報である。回線対応情報x1は判定部1125に送られ、「要求情報」は代理演算部2126に送られる(ステップS2106)。その後、第1実施形態で説明したステップS1107〜S1109の処理に進む。ステップS1108で、回線対応情報x1がリストList1の何れかの「登録情報」に対応すると判定された場合、端末装置211の鍵交換処理部2115と鍵装置212の代理演算部2126とが自己訂正処理を行い(ステップS2110)、その結果を用い、鍵交換処理部2115が共通鍵Kを得る(ステップS2113)。この詳細は後述する。
同様に、端末装置221の鍵交換処理部2215は、「鍵処理要求」を出力部2213に送る。鍵装置222の記憶部1121にsk−List2が格納されている場合、鍵交換処理部1115は、さらに記憶部1111から読み込んだ公開鍵pk2(秘密鍵sk2を特定するための情報)を出力部2213に送る。出力部2213は、鍵装置222を宛先とし、公衆回線の所定の回線(使用回線)に対して「鍵処理要求」を含む「要求情報」を出力する。ただし、記憶部1121にsk−List2が格納されている場合、「要求情報」はさらに公開鍵pk2を含む(鍵交換処理要求:ステップS2201)。その後、第1実施形態で説明したステップS1202〜S1203の処理に進む。ステップS1203で回線認証が成功であった場合、「要求情報」が鍵装置222に送信され、さらに回線情報通知機能を提供する通知装置(図示せず)が、回線情報dx1に対応する回線対応情報x1を鍵装置222に送信する(ステップS2205)。回線対応情報x1、および「鍵処理要求」を含む「要求情報」は、鍵装置222の入力部2223に入力される(受け付けられる)。入力部2223に入力される回線対応情報x1は、回線認証に成功した回線(使用回線)に対応する情報である。回線対応情報x1は判定部1125に送られ、「要求情報」は代理演算部2226に送られる(ステップS2206)。その後、第1実施形態で説明したステップS1207〜S1209の処理に進む。ステップS1208で、回線対応情報x1がリストList2の何れかの「登録情報」に対応すると判定された場合、端末装置221の鍵交換処理部2215と鍵装置222の代理演算部2226とが自己訂正処理を行い(ステップS2210)、その結果を用い、鍵交換処理部2215が共通鍵Kを得る(ステップS2213)。この詳細は後述する。
≪ステップS2110の自己訂正処理およびステップS2113の処理≫
ステップS2110の自己訂正処理では、まず、鍵交換処理部2115が鍵交換のために得た公開情報β2の撹乱情報(公開情報に対応する情報)を出力部2113に送る。出力部2113は、公開情報β2の撹乱情報dβ2を上述の使用回線に出力する(ステップSC−1)。公開情報β2の撹乱情報dβ2は鍵装置212の入力部2123に入力され、代理演算部2126に送られる。代理演算部2126は、少なくとも公開情報β2の撹乱情報dβ2と記憶部1121から読み込んだ秘密鍵sk1とを用い、共有情報Ω1を自己訂正処理によって得るための鍵対応情報λ1を得て出力する。鍵対応情報λ1は出力部2124から上述の使用回線に出力される(ステップSC−2)。鍵対応情報λ1は、端末装置211の入力部2114に入力され、鍵交換処理部2115に送られる。鍵交換処理部2115は、鍵対応情報λ1から共有情報Ω1を得、得られた共有情報Ω1を用いて共通鍵Kを得て出力する(ステップSC−3)。鍵交換処理部2115は、鍵対応情報λ1から共有情報Ω1が得られない場合にはエラーを出力する。あるいは、鍵対応情報λ1から共有情報Ω1が得られない場合、所定の回数を上限として、鍵対応情報λ1から共有情報Ω1が得られるまで上述のステップSC−1,2の処理が繰り返されてもよい。この場合、鍵交換処理部2115は、鍵対応情報λ1から共有情報Ω1を得た場合に上述のステップSC−3を実行し、所定の回数だけ上述のステップSC−1,2の処理を繰り返しても共有情報Ω1が得られない場合にエラーを出力する。
例えば、G,Hが群、公開情報β2が群Hの元、fが秘密鍵sk1を用いて公開情報β2に対応する共有情報Ω1=f(β2)∈Gを得るための関数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素であるランダムな自然数である。a,bの一方が1などの定数であってもよい。この場合、公開情報β2の撹乱情報dβ2は、公開情報β2に対応する群Hの元であるτおよび/またはτであり、鍵対応情報λ1はzおよび/またはzである。ただし、z=f(τ)あるいはz≠f(τ)であり、z=f(τ)あるいはz≠f(τ)である。z=f(τ)である場合もあればz=f(τ)でない場合もあり、z=f(τ)である場合もあればz=f(τ)でない場合もある。すなわち、代理演算部2126は、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果をzとし、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果をzとする。なお、「或る確率」は100%未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータκについての広義単調増加関数である多項式を多項式ψ(κ)とした場合の1/ψ(κ)以上の確率である。すなわち、代理演算部2126は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。ステップSC−3において、鍵交換処理部2115は、u=vを満たすu=f(χ)1およびv=f(χ)2に対応するΩ1=ub’a’を共有情報として得、得られた共有情報Ω1を用いて共通鍵Kを得て出力する。ただし、a’,b’はa’a+b’b=1を満たす整数である。u=vを満たすzおよび/またはzが得られていない場合、鍵交換処理部2115は、共有情報Ω1を得ることができない旨のエラー情報を出力する。あるいは、u=vを満たすzおよび/またはzが得られていない場合、鍵交換処理部2115が新たに生成した撹乱情報dβ2を出力し、出力部2113が撹乱情報dβ2を鍵装置212に送信し、代理演算部2126が鍵対応情報λ1を計算し、出力部2124が鍵対応情報λ1を端末装置211に送信し、鍵交換処理部2115がu=vを満たすか否かの判定を行ってもよい。ここで、u=vを満たす場合にはΩ1=ub’a’を共有情報として得、得られた共有情報Ω1を用いて共通鍵Kを得て出力する。この処理を所定回数繰り返してもu=vを満たすzおよび/またはzが得られていない場合に、鍵交換処理部2115が、共有情報Ω1を得ることができない旨のエラー情報を出力してもよい。
≪τ,τ、u,vの具体例1≫
例えば、G,Hが群、h,hが単位元ではない群Hの元(例えば、生成元)、r1,r2が0以上のランダムな自然数、fが秘密鍵sk1を用いて公開情報β2に対応する共有情報Ω1=f(β2)∈Gを得るための準同型性関数、τ=(h −r1,h r1β2)、τ=(h −r2,h r2β2)、u=f(τ)=f(h −r1)f(h r1β2)、v=f(τ)=f(h −r2)f(h r2β2)であってもよい。
≪τ,τ、u,vの具体例2≫
例えば、G,Hが巡回群、μが群Hの生成元、ν=f(μh)、fが秘密鍵sk1を用いて公開情報β2に対応する共有情報Ω1=f(β2)∈Gを得るための準同型性関数、r1,r2が0以上のランダムな自然数、τ=μ r1β2、τ=μ r2β2、u=zν−r1、v=zν−r2であってもよい。
≪τ,τ、u,vの具体例3≫
例えば、Gを巡回群、群Hが群Gの直積群G×G、β2=(c,c)∈H、fが秘密鍵sk1を用いて公開情報β2に対応する共有情報Ω1=f(β2)∈Gを得るための準同型性関数、(V,W)が群Hの元、f(V,W)=Y、r〜rを0以上の自然数の乱数、τ=(c r4,c r4μ r5)、τ=(c r6,c r6μ r7)、u=z−r4μ −r5、v=z−r6μ −r7であってもよい。
図5を用い、τ,τ、u,vの具体例1の場合の自己訂正処理を例示する。
まず、端末装置211の鍵交換処理部2115が上述のa,b,a’,b’を選択し(ステップS2111a)し、t=1に設定する(ステップS2111b)。鍵交換処理部2115は、τ=(h −r1,h r1β2)、τ=(h −r2,h r2β2)を上述のように鍵装置212の代理演算部2126に送る(ステップS2111c)。代理演算部2126は、h,hを定め、u=f(τ)=f(h −r1)f(h r1β2)およびv=f(τ)=f(h −r2)f(h r2β2)を得(ステップS2112a)、これらを鍵交換処理部2115に送る(ステップS2112b)。鍵交換処理部2115は、u=vを満たすかを判定する(ステップS2111d)。ここで、u=vを満たす場合、鍵交換処理部2115は、共有情報Ω1=ub’a’を用いて共通鍵Kを得て出力する(ステップS2111h)。一方、u=vを満たさない場合、鍵交換処理部2115はt=Tmaxであるかを判定する。なお、Tmaxは所定の正の整数である。t=Tmaxである場合、鍵交換処理部2115はエラー「⊥」を出力して処理を終える(ステップS2111g)。t=Tmaxでない場合、鍵交換処理部2115はt+1を新たなtとし(ステップS2111f)、処理をステップS2111aに戻す。
≪ステップS2210の自己訂正処理およびステップS2213の処理≫
ステップS2210の自己訂正処理は、「端末装置211、鍵交換処理部2115、鍵装置212、代理演算部2126、出力部2113、入力部2114、出力部2124、入力部2123、記憶部1121、公開情報β2、撹乱情報dβ2、鍵対応情報λ1、共有情報Ω1、秘密鍵sk1」が「端末装置221、鍵交換処理部2215、鍵装置222、代理演算部2226、出力部2213、入力部2214、出力部2224、入力部2223、記憶部1221、公開情報β1、撹乱情報dβ1、鍵対応情報λ2、共有情報Ω2、秘密鍵sk2」に置換される以外、ステップS2110の自己訂正処理と同じでよい。
以下、ベースとなる鍵交換方式を具体化して自己訂正処理を例示する。各例でも「要求情報」からβ1やβ2が省かれる。
<実施例1−5の変形例1の場合>
前述した実施例1−5の変形例1に自己訂正処理を導入する場合、鍵交換処理部2115は、代理演算部2126との間で、β2=Pi,Bかつf(χ)=e(DA,1,χ)とした自己訂正処理を行ってΩ1=ζA,i=e(DA,1,Pi,B)を得、共通鍵Kを計算する。また、鍵交換処理部2116は、代理演算部2226との間で、β1=Pi,Aかつf(χ)=e(χ,DB,2)とした自己訂正処理を行ってΩ2=ζB,i=e(Pi,A,DB,2)を得、共通鍵Kを計算する。
<実施例1−5の変形例2の場合>
前述した実施例1−5の変形例2に自己訂正処理を導入する場合、鍵交換処理部2115は、代理演算部2126との間で、β2=Pi,Bかつf(χ)=e(DA,1,χ)とした自己訂正処理を行ってλ1=ζA,i=e(DA,1,Pi,B)を得、さらにβ2=αi,B(式(3))かつf(χ)=χxAとした自己訂正処理を行ってλ1=αi,B xAを得、共通鍵Kを計算する。また、交換処理部2215は、代理演算部2226との間で、β1=Pi,Aかつf(χ)=e(χ,DB,2)とした自己訂正処理を行ってλ2=ζB,i=e(Pi,A,DB,2)を得、さらにβ1=αi,A(式(2))かつf(χ)=χxBとした自己訂正処理を行ってλ2=αi,A xBを得、共通鍵Kを計算する。
<実施例1−5の変形例3の場合>
前述した実施例1−5の変形例3に自己訂正処理を導入する場合、鍵交換処理部2115は、代理演算部2126との間で、β2=Pi,Bかつf(χ)=e(DA,1,χ)とした自己訂正処理を行ってλ1=ζA,i=e(DA,1,Pi,B)を得、β2=P’i,Bかつf(χ)=e(Z xA,χ)とした自己訂正処理を行ってλ1=ζ’A,i=e(Z xA,P’i,B)を得、β2=α’i,B(式(5))かつf(χ)=χxAとした自己訂正処理を行ってλ1=α’i,B xAを得、β2=P’i,Bかつf(χ)=e(Z xA,χ)とした自己訂正処理を行ってλ1=ζ’A,i=e(Z xA,P’i,B)を得、共通鍵Kを計算する。また、交換処理部2215は、代理演算部2226との間で、β1=Pi,Aかつf(χ)=e(χ,DB,2)とした自己訂正処理を行ってλ2=ζB,i=e(Pi,A,DB,2)を得、β1=P’i,Aかつf(χ)=e(χ,Z xB)とした自己訂正処理を行ってλ2=ζ’B,i=e(P’i,A,Z xB)を得、β1=α’i,A(式(4))かつf(χ)=χxBとした自己訂正処理を行ってλ2=α’i,A xBを得、共通鍵Kを計算する。
<実施例1−6の変形例1の場合>
前述した実施例1−6の変形例1に自己訂正処理を導入する場合、鍵交換処理部2115は、代理演算部2126との間で、β2=αB,iかつf(χ)=χxAとした自己訂正処理を行ってλ1=αB,i xAを得、共通鍵Kを計算する。交換処理部2215は、代理演算部2226との間で、β1=αA,iかつf(χ)=χxBとした自己訂正処理を行ってλ2=αA,i xBを得、共通鍵Kを計算する。
<実施例1−6の変形例2の場合>
前述した実施例1−6の変形例2に自己訂正処理を導入する場合、鍵交換処理部2115は、代理演算部2126との間で、β2=αB,iかつf(χ)=χxAとした自己訂正処理を行ってλ1=αB,i xAを得、β2=βB,iかつf(χ)=χsAとした自己訂正処理を行ってλ1=βB,i sAを得、共通鍵Kを計算する。交換処理部2215は、代理演算部2226との間で、β1=αA,iかつf(χ)=χxBとした自己訂正処理を行ってλ2=αA,i xBを得、β1=βA,iかつf(χ)=χsBとした自己訂正処理を行ってλ2=βA,i sBを得、共通鍵Kを計算する。
<実施例1−7の変形例1の場合>
前述した実施例1−7の変形例1に自己訂正処理を導入する場合、鍵交換処理部2115は、代理演算部2126との間で、β2=αi,Bかつf(χ)=e(DA,1,χ)とした自己訂正処理を行ってλ1=e(DA,1i,B)を得、共通鍵Kを計算する。交換処理部2215は、代理演算部2226との間で、β1=βi,Aかつf(χ)=e(χ,Z sB)またはβ1=β’i,Aかつf(χ)=χsBとした自己訂正処理を行ってλ2=e(βi,A,Z sB)またはλ2=β’i,A sBを得、共通鍵Kを計算する。
<実施例1−7の変形例2の場合>
前述した実施例1−7の変形例2に自己訂正処理を導入する場合、鍵交換処理部2115は、代理演算部2126との間で、β2=αi,Bかつf(χ)=e(DA,1,χ)とした自己訂正処理を行ってλ1=e(DA,1i,B)を得、かつ、β2=βi,Bかつf(χ)=e(Z xA,χ)とした自己訂正処理を行ってλ1=e(Z xAi,B)を得るかβ2=β’i,Bかつf(χ)=χxAとした自己訂正処理を行ってλ1=β’i,B xAを得、共通鍵Kを計算する。交換処理部2215は、代理演算部2226との間で、β1=βi,Aかつf(χ)=e(χ,Z sB)とした自己訂正処理を行ってλ2=e(βi,A,Z sB)を得るかβ1=β’i,AかつχsBとした自己訂正処理を行ってλ2=β’i,A sBを得、かつ、β1=β1,i,Aかつf(χ)=e(χ,Z xB)とした自己訂正処理を行ってλ2=e(β1,i,A,Z xB)を得るかβ1=β2,i,Aかつf(χ)=χxBとした自己訂正処理を行ってλ2=β2,i,A xBを得、共通鍵Kを計算する。
<第2実施形態の特徴>
本形態でも第1実施形態と同様な効果を得ることができる。さらに、本形態では自己訂正技術を用いるため、鍵装置212,222が必ずしも正しい答えを返すとは限らない場合でも、端末装置211,221間で不正な共通鍵を共有してしまうことを避けることができる。なお、第2実施形態では、鍵装置212,222に秘密鍵sk1,sk2を格納し、端末装置211,221の双方が自己訂正技術によって鍵装置212,222に鍵交換処理の一部の処理を委託した。しかしながら、端末装置221が自ら秘密鍵sk2格納し、鍵装置222を用いることなく、第2実施形態で説明した端末装置211との間で鍵交換処理を実行してもよい。逆に、端末装置211が自ら秘密鍵sk1格納し、鍵装置212を用いることなく、第2実施形態で説明した端末装置221との間で鍵交換処理を実行してもよい。
[その他]
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1,2 鍵交換システム
111,121,211,221 端末装置
112,122,212,222 鍵装置

Claims (8)

  1. 回線認証可能な何れかの回線の回線情報に対応する登録情報を格納する登録情報記憶部と、
    第1端末装置が他の第2端末装置との鍵交換のために得た公開情報に対応する情報、および前記第1端末装置が使用した回線認証に成功した使用回線の回線情報に対応する回線対応情報を受け付ける入力部と、
    前記回線対応情報が前記登録情報に対応する場合に、少なくとも前記公開情報に対応する情報と秘密鍵とを用いて得られる鍵対応情報を出力する出力部と、
    を有する鍵装置。
  2. 請求項1の鍵装置であって、
    前記登録情報は、前記回線情報に対応する公開された第1固有情報または当該第1固有情報に対して一義的に決まる情報であり、
    前記回線対応情報は、前期回線認証に成功した使用回線の回線情報に対応する公開された第2固有情報または当該第2固有情報に対して一義的に決まる情報である、鍵装置。
  3. 請求項1または2の鍵装置であって、
    前記入力部は、前記秘密鍵を特定するための情報を受け付け、
    前記秘密鍵は、前記秘密鍵を特定するための情報によって特定される、鍵装置。
  4. 請求項1から3の何れかの鍵装置であって、
    前記秘密鍵は、前記回線対応情報に対応する、鍵装置。
  5. 請求項1から4の何れかの鍵装置であって、
    前記公開情報に対応する情報は、前記公開情報の撹乱情報であり、
    前記鍵対応情報は、前記公開情報と前記秘密鍵とを用いて得られる共有情報を自己訂正処理によって得るための情報である、鍵装置。
  6. 他の端末装置との鍵交換のために得た公開情報に対応する情報を使用回線に出力する出力部を含む端末装置と、
    回線認証可能な何れかの回線の回線情報に対応する登録情報を格納する登録情報記憶部と、前記公開情報に対応する情報、および回線認証に成功した前記使用回線の回線情報に対応する回線対応情報を受け付ける入力部と、前記回線対応情報が前記登録情報に対応する場合に、少なくとも前記公開情報に対応する情報と秘密鍵とを用いて得られる鍵対応情報を出力する出力部と、を含む鍵装置と、
    を有する鍵交換システム。
  7. 他の第2端末装置との鍵交換のために得た第2公開情報に対応する情報を第1使用回線に出力する出力部を含む第1端末装置と、
    回線認証可能な何れかの回線の第1回線情報に対応する第1登録情報を格納する第1登録情報記憶部と、前記第2公開情報に対応する情報、および回線認証に成功した前記第1使用回線の回線情報に対応する第1回線対応情報を受け付ける第1入力部と、前記第1回線対応情報が前記第1登録情報に対応する場合に、少なくとも前記第1公開情報に対応する情報と第1秘密鍵とを用いて得られる第1鍵対応情報を出力する第1出力部と、を含む第1鍵装置と、
    前記第1端末装置との鍵交換のために得た第1公開情報に対応する情報を第2使用回線に出力する出力部を含む前記第2端末装置と、
    回線認証可能な何れかの回線の第2回線情報に対応する第2登録情報を格納する第2登録情報記憶部と、前記第1公開情報に対応する情報、および回線認証に成功した前記第2使用回線の回線情報に対応する第2回線対応情報を受け付ける第2入力部と、前記第2回線対応情報が前記第2登録情報に対応する場合に、少なくとも前記第2公開情報に対応する情報と第2秘密鍵とを用いて得られる第2鍵対応情報を出力する第2出力部と、を含む第2鍵装置と、
    を有する鍵交換システム。
  8. 請求項1から5の何れかの鍵装置としてコンピュータを機能させるためのプログラム。
JP2015003402A 2015-01-09 2015-01-09 鍵装置、鍵交換システム、およびプログラム Active JP6236019B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015003402A JP6236019B2 (ja) 2015-01-09 2015-01-09 鍵装置、鍵交換システム、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015003402A JP6236019B2 (ja) 2015-01-09 2015-01-09 鍵装置、鍵交換システム、およびプログラム

Publications (2)

Publication Number Publication Date
JP2016129301A JP2016129301A (ja) 2016-07-14
JP6236019B2 true JP6236019B2 (ja) 2017-11-22

Family

ID=56384525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015003402A Active JP6236019B2 (ja) 2015-01-09 2015-01-09 鍵装置、鍵交換システム、およびプログラム

Country Status (1)

Country Link
JP (1) JP6236019B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6808609B2 (ja) * 2017-12-01 2021-01-06 日本電信電話株式会社 サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003179592A (ja) * 2001-12-12 2003-06-27 Sony Corp ネットワークシステム、情報処理装置および方法、記録媒体、並びにプログラム
JP3992579B2 (ja) * 2002-10-01 2007-10-17 富士通株式会社 鍵交換代理ネットワークシステム
JP4611946B2 (ja) * 2006-08-10 2011-01-12 日本電信電話株式会社 利用者回線認証システム、利用者回線認証方法および利用者回線認証プログラム
JP5506704B2 (ja) * 2011-01-20 2014-05-28 日本電信電話株式会社 復号システム、鍵装置、復号方法、及びプログラム
JP5333613B2 (ja) * 2012-01-25 2013-11-06 沖電気工業株式会社 代行パラメータ情報生成装置、代行装置、代行パラメータ情報生成プログラム、代行プログラム及び通信システム

Also Published As

Publication number Publication date
JP2016129301A (ja) 2016-07-14

Similar Documents

Publication Publication Date Title
EP3794766B1 (en) Computer-implemented systems and methods for using a blockchain to perform an atomic swap
JP7493014B2 (ja) 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法
EP3465578B1 (en) Methods and systems to establish trusted peer-to-peer communications between nodes in a blockchain network
JP7140785B2 (ja) ワンタイムパスコードを組み込む持続性認証システム
US10686604B2 (en) Key device, key cloud system, decryption method, and program
JP2015225343A (ja) リレーショナル暗号化
TWI807103B (zh) 用於共享公共秘密之電腦實施系統及方法
JP2017204704A (ja) 正当性保証方法、正当性保証システム及び正当性保証プログラム
CN109565440B (zh) 密钥交换方法,密钥交换系统
JP5750728B2 (ja) 鍵共有システム、鍵生成装置、及びプログラム
JP6368047B2 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム
JP6267658B2 (ja) 署名生成装置、署名システム、署名生成方法、およびプログラム
JP6236019B2 (ja) 鍵装置、鍵交換システム、およびプログラム
JP2017208773A (ja) 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム
CN110868285A (zh) 认证方法、服务器、系统和计算机可读存储介质
JP2019102959A (ja) サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム
CN114128213B (zh) 用于验证公钥的可靠性的装置、方法以及其程序
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
KR101720630B1 (ko) 내부 공격에 안전한 id 기반의 양방향 인증 방법
CN112385181A (zh) 用于证明公钥的可靠性的装置、方法及程序
CN110709875B (zh) 在区块链网络中节点间建立可信点对点通信的方法和系统
CN110709874B (zh) 用于区块链网络的凭证生成与分发方法和系统
JP2015136049A (ja) 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム
JP5863605B2 (ja) 鍵交換システム、要求装置、応答装置、鍵交換方法、およびプログラム
CN112015814A (zh) 基于区块链网络的数据生成方法、设备、节点及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171024

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171027

R150 Certificate of patent or registration of utility model

Ref document number: 6236019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150