JP2005176231A - 認証システムおよび方法、ならびに、証明装置および検証装置 - Google Patents

認証システムおよび方法、ならびに、証明装置および検証装置 Download PDF

Info

Publication number
JP2005176231A
JP2005176231A JP2003416886A JP2003416886A JP2005176231A JP 2005176231 A JP2005176231 A JP 2005176231A JP 2003416886 A JP2003416886 A JP 2003416886A JP 2003416886 A JP2003416886 A JP 2003416886A JP 2005176231 A JP2005176231 A JP 2005176231A
Authority
JP
Japan
Prior art keywords
random number
result
verification
verification device
decryption
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.)
Pending
Application number
JP2003416886A
Other languages
English (en)
Inventor
Kohei Endo
康平 圓藤
Yasuko Matsumura
靖子 松村
Satoshi Nakagawa
聰 中川
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2003416886A priority Critical patent/JP2005176231A/ja
Publication of JP2005176231A publication Critical patent/JP2005176231A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 柔軟性や利便性を高める。
【解決手段】 所定のグループに属する1または複数の証明装置を、当該グループ内で共通な共通鍵暗号方式の秘密鍵の照合によって検証装置が認証する認証システムにおいて、前記検証装置は、第1の乱数生成手段と、第1の暗号化手段と、第1の復号手段と、第1の変換処理手段と、第1の検証実行手段とを備え、前記証明装置は、前記検証装置から受信した暗号化結果を、証明装置側秘密鍵を用いて復号する第2の復号手段と、第2の復号手段の復号結果として得られる乱数を、共通変換関数を用いて変換する第2の変換処理手段と、当該第2の変換処理手段の変換結果を、前記証明装置側秘密鍵を用いて暗号化し、暗号化結果を前記検証装置へ送信する第2の暗号化手段とを備える。
【選択図】 図1

Description

本発明は認証システムおよび方法に関するものである。
また、本発明は、認証システムの構成要素としての証明装置および検証装置に関するものである。
下記の非特許文献1に記載されているように、コンピュータ間などで認証を行う場合、暗号を利用した方式が主流である。暗号方式には共通鍵暗号と公開鍵暗号があり、それぞれの暗号系を利用した認証方式が提案されている。
ここでは共通鍵暗号を利用した認証方式を考える。この方式は、検証者が利用者の鍵を管理する必要があるという欠点があるものの、あるシステム内に限定された利用者の認証をするようなシステムにおいては現実的な方式である。
共通鍵暗号を利用した認証方式として、具体的には、例えば次のような方式が知られている。
ステップS1:検証者が乱数rを生成して、それを鍵(秘密鍵)Kを用いて暗号化した結果X=EK(r)を利用者に送信する。
ステップS2:利用者はXを鍵Kを用いて復号してrを求め、このrに変形を加えてr’を求め、r’を鍵Kを用いて暗号化した結果Y=EK(r’)を検証者に送る。
ステップS3:検証者はr’=DK(Y)が成り立つことを検証する。
ここで、 乱数rをr’に変形するための変形手段を検証者と証明者で共有し、検証者がステップS1で送信した乱数rを記憶していれば、ステップS3では、検証者側で、r’=DK(Y)が成り立つか否かを検査することができる。もちろん、秘密鍵Kを、検証者と証明者が共有していることは当然である。
岡本龍明・山本博資、「現代暗号」、産業図書、p153−155
ところで、上述したステップS1〜S3から構成された認証方式では、個別の利用者を認証することはできるものの、いずれの利用者であるかを明示することなく匿名のまま正規のグループに属することを認証(検証)することや、状況に応じて、いずれの利用者であるかを明示して認証したり、匿名のままグループに属することを認証することは難しく、柔軟性や利便性が低い。
かかる課題を解決するために、第1の本発明では、所定のグループに属する1または複数の証明装置を、当該グループ内で共通な共通鍵暗号方式の秘密鍵の照合によって検証装置が認証する認証システムにおいて、(1)前記検証装置は、乱数を生成する第1の乱数生成手段と、(2)当該第1の乱数生成手段が生成した乱数を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵で暗号化し、暗号化結果を前記証明装置へ送信する第1の暗号化手段と、(3)前記証明装置が、当該暗号化結果を、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて復号した結果として得られる乱数をグループ内の証明装置に共通な所定の共通変換関数を用いて変換した上、前記証明装置側秘密鍵で暗号化した暗号化結果を返送してきたとき、その暗号化結果を検証装置側秘密鍵で復号する第1の復号手段と、(4)前記第1の乱数生成手段が生成した乱数を、前記共通変換関数を用いて変換する第1の変換処理手段と、(5)前記第1の復号手段による復号結果と、当該第1の変換処理手段による変換結果を照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証する第1の検証実行手段とを備え、(6)前記証明装置は、前記検証装置から受信した暗号化結果を、前記証明装置側秘密鍵を用いて復号する第2の復号手段と、(7)当該第2の復号手段の復号結果として得られる乱数を、前記共通変換関数を用いて変換する第2の変換処理手段と、(8)当該第2の変換処理手段の変換結果を、前記証明装置側秘密鍵を用いて暗号化し、暗号化結果を前記検証装置へ送信する第2の暗号化手段とを備えたことを特徴とする。
また、第2の本発明では、共通鍵暗号方式の秘密鍵の照合によって検証装置が証明装置を認証する認証システムにおいて、(1)前記証明装置は、乱数を生成する第2の乱数生成手段と、(2)当該第2の乱数生成手段が生成した乱数を、今回の認証のために記憶しておく第3の乱数記憶手段と、(3)当該第3の乱数記憶手段から読み出した今回の乱数と、第2の乱数生成手段が生成した次回の乱数とを、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて暗号化し、暗号化結果を前記検証装置へ送信する第3の暗号化手段とを備え、(4)前記検証装置は、前記証明装置から受信した暗号化結果を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵を用いて復号する第3の復号手段と、(5)当該第3の復号手段の復号結果のうち次回の乱数を、次回の認証のために記憶しておく第4の乱数記憶手段と、(6)前記第3の復号手段の復号結果のうち今回の乱数と、当該第4の乱数記憶手段から読み出した今回の乱数とを照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証する第2の検証実行手段とを備えることを特徴とする。
さらに、第3の本発明では、所定のグループに属する1または複数の証明装置を、当該グループ内で共通な共通鍵暗号方式の秘密鍵の照合によって検証装置が認証する認証方法において、(1)前記検証装置内では、第1の乱数生成手段が乱数を生成し、(2)第1の暗号化手段が、当該第1の乱数生成手段が生成した乱数を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵で暗号化して、暗号化結果を前記証明装置へ送信し、(3)これを受信する前記証明装置内では、第2の復号手段が、受信した当該暗号化結果を、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて復号して乱数を得、(4)第2の変換処理手段が、当該乱数を、前記グループ内の証明装置に共通な所定の共通変換関数を用いて変換し、(5)第2の暗号化手段が、当該第2の変換処理手段の変換結果を、前記証明装置側秘密鍵を用いて暗号化して、暗号化結果を前記検証装置へ送信し、(6)これを受信する前記検証装置内では、第1の復号手段が、受信した当該暗号化結果を前記検証装置側秘密鍵で復号し、(7)第1の変換処理手段が、前記第1の乱数生成手段が生成した乱数を、前記共通変換関数を用いて変換し、(8)第1の検証実行手段が、当該第1の変換処理手段による変換結果と、前記第1の復号手段による復号結果を照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証することを特徴とする。
さらにまた、第4の本発明では、共通鍵暗号方式の秘密鍵の照合によって検証装置が証明装置を認証する認証方法において、(1)前記証明装置内では、第2の乱数生成手段が乱数を生成し、(2)第3の乱数記憶手段が、当該第2の乱数生成手段が生成した乱数を、今回の認証のために記憶しておき、(3)第3の暗号化手段が、当該第3の乱数記憶手段から読み出した今回の乱数と、第2の乱数生成手段が生成した次回の乱数とを、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて暗号化して、暗号化結果を前記検証装置へ送信し、(4)この暗号化結果を受信する前記検証装置内では、第3の復号手段が、前記証明装置から受信した暗号化結果を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵を用いて復号し、(5)第4の乱数記憶手段が、当該第3の復号手段の復号結果のうち次回の乱数を、次回の認証のために記憶しておき、(6)第2の検証実行手段が、前記第3の復号手段の復号結果のうち今回の乱数と、当該第4の乱数記憶手段から読み出した今回の乱数とを照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証することを特徴とする。
また、第5の本発明では、所定のグループに属する1または複数の証明装置を、当該グループ内で共通な共通鍵暗号方式の秘密鍵の照合によって検証装置が認証する認証システムの構成要素としての検証装置において、(1)乱数を生成する第1の乱数生成手段と、(2)当該第1の乱数生成手段が生成した乱数を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵で暗号化し、暗号化結果を前記証明装置へ送信する第1の暗号化手段と、(3)前記証明装置が、当該暗号化結果を、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて復号した結果として得られる乱数をグループ内の証明装置に共通な所定の共通変換関数を用いて変換した上、前記証明装置側秘密鍵で暗号化した暗号化結果を返送してきたとき、その暗号化結果を検証装置側秘密鍵で復号する第1の復号手段と、(4)前記第1の乱数生成手段が生成した乱数を、前記共通変換関数を用いて変換する第1の変換処理手段と、(5)前記第1の復号手段による復号結果と、当該第1の変換処理手段による変換結果を照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証する第1の検証実行手段とを備えたことを特徴とする。
さらに、第6の本発明では、所定のグループに属する1または複数の証明装置を、当該グループ内で共通な共通鍵暗号方式の秘密鍵の照合によって検証装置が認証する認証システムの構成要素としての証明装置において、(1)前記検証装置側で生成された乱数を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵で暗号化し送信したものを受信し、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて復号する第2の復号手段と、(2)当該第2の復号手段の復号結果として得られる乱数を、グループ内の証明装置に共通な所定の共通変換関数を用いて変換する第2の変換処理手段と、(3)当該第2の変換処理手段の変換結果を、前記証明装置側秘密鍵を用いて暗号化し、暗号化結果を前記検証装置へ送信する第2の暗号化手段とを備えたことを特徴とする。
また、第7の本発明では、共通鍵暗号方式の秘密鍵の照合によって検証装置が証明装置を認証する認証システムの構成要素としての証明装置において、(1)乱数を生成する第2の乱数生成手段と、(2)当該第2の乱数生成手段が生成した乱数を、今回の認証のために記憶しておく第3の乱数記憶手段と、(3)当該第3の乱数記憶手段から読み出した今回の乱数と、第2の乱数生成手段が生成した次回の乱数とを、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて暗号化し、暗号化結果を前記検証装置へ送信する第3の暗号化手段とを備えたことを特徴とする。
さらに、第8の本発明では、共通鍵暗号方式の秘密鍵の照合によって検証装置が証明装置を認証する認証システムの構成要素としての検証装置において、(1) 前記証明装置が、今回の乱数と次回の乱数とを、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて暗号化し送信したものを受信し、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵を用いて復号する第3の復号手段と、(2)当該第3の復号手段の復号結果のうち次回の乱数を、次回の認証のために記憶しておく第4の乱数記憶手段と、(3)前記第3の復号手段の復号結果のうち今回の乱数と、当該第4の乱数記憶手段から読み出した今回の乱数とを照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証する第2の検証実行手段とを備えることを特徴とする。
本発明によれば、柔軟性や利便性が向上する。
(A)実施形態
以下、本発明にかかる認証システムおよび方法、ならびに、証明装置および検証装置の実施形態について説明する。
(A−1)第1の実施形態の構成
本実施形態にかかる通信システム10の全体構成例を図6に示す。一般的には、検証装置と証明装置のあいだにネットワークが介在するとは限らず、直接、有線伝送路や無線伝送路で接続されていることも少なくない。直接、無線伝送路で接続されるケースの例としては、例えば、証明装置がユーザの携帯する非接触ICカードなどに内蔵され、検証装置が非接触ICカードに対向するリーダ装置側に設けられるケースなどがあり、例えば、入退出管理などにも利用され得る。また、直接、有線伝送路で接続されるケースは、例えば、ケーブルなどを用いて、検証装置と証明装置を1対1で接続するようなケースである。
検証装置と証明装置をケーブルにより1対1で接続するケースなど、通信環境や通信システム10の運用によっては、検証装置と証明装置のあいだの通信が第3者に傍受される可能性を無くすことや著しく低減することも可能であるが、認証方式そのもののセキュリティ性(安全性)を論じ、通信システム10の安全性を説明する上では、傍受や攻撃を試みる悪意の第3者の存在を想定したほうが好都合なので、図6にはこのような第3者にあたるユーザU4も示してある。
図6において、当該通信システム10は、ネットワーク11と、検証装置100と、証明装置110、109とを備えている。また、前記ユーザU4は、少なくとも装置100と110のあいだ、または装置100と109とのあいだの通信を傍受し得る。
ネットワーク11はLAN(ローカルエリアネットワーク)であってもよく、インターネットなどであってもよい。また、当該ネットワーク11上の通信におけるOSI参照モデルの物理層は、有線であっても無線であってもかまわない。
検証装置100と証明装置110、109は、その操作者であるユーザU1、U2、U3を伴うこともあり、伴わないこともある。装置が自動的に認証の手順を実行する場合などには、ユーザU1,U2、U3は存在しないが、認証の手順のなかにユーザの操作(例えば、ユーザIDやパスワードの入力など)が含まれる場合には存在する。
証明装置110側は自らの正当性を検証装置100に対して証明しようとする側であり、検証装置100側はその証明を検証する側である。
前記認証の手順にユーザU2の操作が含まれない場合、この認証は、証明装置110自体の正当性を検証する端末認証にすぎないが、前記認証の手順にユーザU2の操作が含まれる場合には、証明装置110自体の正当性を検証する端末認証に加え、ユーザU2の正当性を検証するユーザ認証も兼ねることができる。いずれの場合でも、認証の手順の大部分は、証明装置110や検証装置100自体が自動的に実行するものである。
通信端末12は悪意のユーザU4によって利用され得る情報処理装置で、ネットワーク11を介して、装置100、110間の通信を傍受したり、装置100または110に対して攻撃を試みる。
前記証明装置109は、前記証明装置110に対応するので、その詳しい説明は省略する。ここで、2つの証明装置110と109は、同じグループGP1に属するものとする。
前記検証装置100および証明装置110の内部構成例を図1に示す。証明装置109が実質的に当該証明装置110と同じ内部構成を備えることは当然である。なお、図1上は、前記ネットワーク11と通信端末12は省略している。
(A−1−1)検証装置の内部構成例
図1において、当該検証装置100は、乱数生成部101と、暗号化部102と、復号部103と、メッセージ生成部104と、検査部105とを備えている。
このうち乱数生成部101は乱数r1を生成し、出力する部分である。通常、情報処理装置のなかで生成される乱数は擬似的な乱数にすぎないが、安全性を高める観点では、真正な乱数に近い性質の疑似乱数を生成することが望ましいことは当然である。また、いわゆる総当たり攻撃を受けた場合の安全性を高める観点から、1つの乱数(例えば、r1)のビット長は十分に長いものであることが求められる。
暗号化部102は、当該乱数生成部101が生成した乱数r1を共通鍵Kで暗号化し、暗号化結果X(=E(r1))を送信する部分である。この共通鍵Kの鍵長も、前記乱数と同様、十分に長いビット長を有するものであることが望ましい。
なお、E(r1)は、鍵Kを用いて、乱数r1を暗号化する演算またはその演算結果を示している。
ここで、共通鍵(秘密鍵)Kは、検証装置100および証明装置110も含め、グループGP1内で共有されている共通鍵方式の暗号鍵である。検証装置100と証明装置110のあいだにおける共通鍵Kの共有は、本実施形態の認証手順が開始される前に予め実行しておく必要がある。共通鍵Kの共有のためには様々な方法を用いることが可能であるが、例えば、ネットワーク10経由でいずれか一方から他方へ当該共通鍵Kを配送することによって共有を実現することも可能である。このとき、公開鍵系の暗号を利用して、共通鍵Kの秘匿性を確保することができる。
暗号化結果Xを受信すると、当該暗号化結果Xに対し証明装置110が必要な処理を行い、暗号化結果Yを返送してくる。
この暗号化結果Yを受信し処理する検証装置100内の復号部103は、前記共通鍵Kを用いて当該暗号化結果Yを復号し、復号結果を検査部105に供給する部分である。
メッセージ生成部104は、所定の変換関数f1に応じた処理を実行して、前記乱数生成部101が生成した乱数r1をメッセージr1’に変換する部分である。当該変換関数f1は基本的にグループGP1内で共有されるものであり、前記共通鍵Kと同様、検証装置100と証明装置110のあいだで秘匿性を保ちながら共有しておく必要がある。
ただし、その共有は必ずしも本実施形態の認証の手順が開始する前に行っておく必要はない。他の手段でグループを識別できるならば、例えば、前記暗号化結果Xを生成する際、暗号化部102が乱数r1とともに識別したグループに対応した変換関数f1を共通鍵Kで暗号化して送信するようにしてもよい。その場合、暗号化結果Xには、乱数r1と変換関数f1が含まれることになる。
検査部105は、復号部103から供給される前記復号結果と、当該メッセージとを比較することによって検証を実行する部分である。証明装置110が正当な証明装置であれば、正規の共通鍵Kと変換関数f1を搭載しているため、証明装置110が送信してきた暗号結果Yを復号部103が復号して得た復号結果はメッセージr1’に一致するが、そうでない場合には一致しない。
共通鍵Kと変換関数f1はグループGP1内で共通であるため、これらに基づく認証では、個々の証明装置まで(例えば、110と109の区別)は特定できず、各ユーザU2,U3は匿名のまま認証を行うことが可能である。
検証装置100の側からすると、個人まで特定できなくてもグループGP1に属する正規のユーザのいずれかであることが確認できれば十分であることも少なくない。その一方で、個人情報の漏洩などの問題が報道されること等の影響もあり、正規のユーザ(例えば、U2)の側では、検証装置100側のログファイルなどに、自身の認証に関する履歴が個人まで特定される形式で残されることに不安感を持つことも少なくない。そこで、匿名のままの認証を許容すことによって正規のユーザU2に安心感を与えることができる。
ただし、個人を明示して(または、個々の証明装置を明示して)認証を行う場合には、各ユーザのユーザID(例えば、ユーザU2のユーザIDであるUID2)の値を、当該メッセージr1’の生成に利用する。この場合のメッセージr1’の生成方法には様々なものがあり得るが、メッセージr1’の値にユーザIDの値が反映され、ユーザIDの値に応じてr1’の値が変化するものであれば、どのような方法を用いてもかまわない。ここで、このユーザIDとともに、またはユーザIDに替えて、各ユーザが設定したパスワードなどを利用するようにしてもよい。
一方、前記ネットワーク11経由で当該検証装置100と通信する証明装置110の内部構成例も図1に示す通りである。上述したように、証明装置109の内部構成は実質的に当該証明装置110と同じである。
(A−1−2)証明装置の内部構成例
図1において、当該証明装置110は、復号部111と、メッセージ生成部112と、暗号化部113とを備えている。
このうち暗号化部113は前記暗号化部102に対応し、復号部111は前記復号部103に対応し、メッセージ生成部112は前記メッセージ生成部104に対応するので、その詳しい説明は省略する。
ただし復号部111が復号するのは、前記ネットワーク11経由で受信した暗号化結果Xであり、共通鍵Kによる復号結果として前記乱数r1をメッセージ生成部112に供給する。
また、メッセージ生成部112は、前記変換関数f1を用いて、当該乱数r1をメッセージr1’に変換し、このメッセージr1’を暗号化部113に供給する。
暗号化部113は、メッセージr1’を共通鍵Kで暗号化し、暗号化結果Yをネットワーク11経由で検証装置100へ送信する。
これらの構成要素111〜113が使用する共通鍵Kや変換関数f1は、上述した共有により、予め、証明装置110に登録しておく。
以下、上記のような構成を有する本実施形態の動作について説明する。
前記グループGP1には少なくとも装置100,110,109(ユーザU1,U2,U3)が属しているものとする。
(A−2)第1の実施形態の動作
検証装置100内では、乱数生成部101が生成した同じ乱数r1が、暗号化部102とメッセージ生成部104に供給される。メッセージ生成部104は後の処理のためにこの乱数r1を記憶し、暗号化部102は当該乱数r1を共通鍵Kで暗号化して、暗号化結果X(=E(r1))を送信する。
実際の実装では、証明装置110から認証の要求メッセージが届いたときに、その応答として検証装置100から当該暗号化結果Xを送信するようにしてもよいし、証明装置110の存否にかかわらず、一方的に検証装置100のほうから定期的または不定期的に暗号化結果Xを送信するようにしてもよい。一方的に検証装置100のほうから暗号化結果Xを送信する場合、暗号化結果Xの送信は、ポーリングをかけることにほぼ等しい。
いずれのケースでも、この暗号化結果Xをネットワーク11経由で受信した証明装置110の内部では、復号部111が共通鍵Kを用いて復号することにより、復号結果として前記乱数r1(=D(X))を得、メッセージ生成部112に供給する。
なお、D(X)は、鍵Kを用いて、暗号化結果Xを復号する演算またはその演算結果を示している。
メッセージ生成部112の処理は匿名のまま(個人や個々の証明装置を明示せずに)認証を行う場合と、個人を明示して(または、個々の証明装置を明示して)認証を行う場合とで相違する。
匿名のまま認証を行う場合、メッセージ生成部112は、前記グループGP1内で共通な変換関数f1を用いて当該乱数r1をr1’に変換する。
これに対し、個人を明示して認証を行う場合には、変換関数f1による変換を行う前のr1または変換後のr1’をユーザU2のユーザID等の値に応じて変化させる(このユーザID等は、ユーザU2に入力させてメッセージ生成部112に供給するものであってもよく、自動的に、メッセージ生成部112に供給するものであってもよい。ただし、端末認証ではなくユーザ認証を行うには、ユーザU2にユーザID等を入力させる手順は不可欠である)。あるいは、変換関数f1そのものを、ユーザID等の値に応じて変化させたり、予め、証明装置(例えば、109,110)ごとに異なる変換関数f1を搭載しておくようにしてもよい。なお、r1’の値をユーザID等に応じて変化させる場合も含め、メッセージ生成部112から暗号化部113へ供給するメッセージは、r1’で示す。
いずれのケースでも、暗号化部113は、メッセージ生成部112から受け取ったメッセージr1’を共通鍵Kで暗号化し、暗号化結果Y(=E(r1’))を送信する。この暗号化結果Yはネットワーク11経由で検証装置100に受信される。
検証装置100のなかでは、復号部103が当該暗号化結果Yを共通鍵Kで復号(D(Y))し、その復号結果を検査部105に供給する。
検査部105には、前記メッセージ生成部104からも前記変換関数f1で変換したメッセージr1’が届いているので、復号部103から届いた復号結果と当該メッセージr1’とを比較し、両者が一致していれば認証OK、一致していないければNGと判定する。
もしも正規の証明装置でない通信端末(例えば、12)が暗号化結果Xを傍受できたとしても、通信端末12から暗号化結果Yを送信して証明装置110になりすますことは困難である。通信端末12には、前記共通鍵Kと変換関数f1が登録されていないため、通信端末12から送信される暗号化結果(Y)を検証装置100の復号部103で復号したものは、メッセージr1’と一致しないからである。
反対に、正規の証明装置(ここでは、110)が暗号化結果Xを受信した場合には、共通鍵Kと変換関数f1を登録しているため、証明装置110から送信された暗号化結果Yを復号部103で復号したものは、メッセージr1’に一致し、認証結果はOKとなる。
匿名のままで認証を行う場合には以上の処理でよいが、個人まで明示して認証を行う場合には、新たな処理を追加する必要がある。個人まで明示して認証を行うケースでは、グループGP1内の証明装置の相違またはユーザの相違に応じて、復号部103の復号結果が変化するためである。
追加する処理には様々なものがあり得るが、次の2つの方法に大別することができる。すなわち、何らかの手段で、暗号化結果Yの送信元である証明装置110側が証明装置が110であること、またはそのユーザがU2であることを明示する方法と、そのような明示を行わず、検証装置100側の処理だけで対応する方法に分けることができる。
証明装置側が明示する方法としては例えば次のようなものがある。
ネットワーク11上の通信で例えばIPプロトコルが用いられ、各証明装置にIPアドレス(プライベートアドレスでもグローバルアドレスでもよく、IPv6アドレスであってもよい)が割り当てられている場合には、暗号化結果Yを届けるためのパケット(IPパケット)の送信元IPアドレスの値を参照すれば、検証装置100側で送信元の証明装置を特定することができる。この場合、検証装置100側で送信元IPアドレスとユーザID等の対応関係を登録した対応表を搭載していれば、その送信元IPアドレスを検索キーとして当該対応表を検索することにより該当するユーザID等を特定し、そのユーザID等を用いてメッセージ生成部104が出力するメッセージr1’を変化させることができる。
別な方法としては、証明装置110側で、前記ユーザID等を、前記メッセージr1’とともに暗号化部113へ供給し、それらを合わせたものの暗号化結果を前記暗号化結果Yとして送信することも考えられる。この場合、前記復号部103は、復号結果のうち前記ユーザID等に相当する情報は、メッセージ生成部104へ供給し、メッセージr1’に相当する情報は、検査部105に供給することになる。なお、ユーザID等を暗号化して送信する方法は、もしも共通鍵Kが悪意のユーザU4に知られた場合、ただちにユーザID等まで知られてしまうため、安全性の点で、ユーザID等に応じてメッセージr1’を変化させるほうが有利であるといえる。
また、証明装置側が明示せず検証装置100側の処理だけで対応する方法としては、例えば、次のようなものがある。
メッセージ生成部104で、グループGP1内の全ユーザ(全証明装置)のユーザID等に対応するメッセージr1’を逐次、生成して検査部105に供給し、検査部105における比較で、復号部103から供給された復号結果が、いずれかのメッセージr1’と一致したときに認証OKとする。この場合、すべてのメッセージr1’と比較しても一致するメッセージが見つからなければ、認証結果はNGとなる。この方法では、グループGP1に属する証明装置の数(ユーザの数)が多いと、認証結果が判明するまでの比較照合に多くの時間と処理を要することになるが、それほど多くない場合には、十分に利用可能な方法である。
なお、匿名のままで認証を行うか、個人まで明示して認証を行うかは、予め静的に決めておくようにしてもよいが、例えば、ユーザU2などの希望に応じて、動的に変更できるようにしてもよい。
検証装置100側が、受信した暗号化結果Yを用いて、匿名のままで行う認証に対応する処理を行った結果、認証結果がNGとなったとき、自動的に、個人まで明示して行う認証に対応する処理を実行するようにすれば、このような動的な変更に対応することができる。
また、予め個人まで明示して認証を行うことを静的に決めておくケースでは、例えば、グループGP1内の証明装置ごとに異なる前記変換関数(例えば、f1)を搭載させるようにしておくことも望ましい。
なお、前記通信端末12は、暗号化結果XやYを傍受することはできたとしても、いわゆる暗号文攻撃が可能なだけであり、より強力な既知平文攻撃、選択平文攻撃、選択暗号文攻撃は実行不可能であるため、攻撃者であるユーザU4が解読を成功させ、共通鍵Kを知ることは困難である。
また、たとえユーザU4が解読に成功し、共通鍵Kを知ることができたとしても、それだけでは直ちに秘匿した情報(変換関数f1、ユーザID等の内容)を知ることができないため、その点でも安全性が高いといえる。
なお、OKの認証結果が得られたあとは、検証装置100側から証明装置110側に対し、様々なサービスが提供されるのが普通である。例えば、前記入退出管理に利用する場合などには、単にドアのロックを解除したり、ログファイルに記録したりするだけのこともあるが、ネットワーク11経由の通信を前提とすると、その後のサービスも通信によって提供されるのが普通である。そして、このサービス提供のための通信でも暗号化が行われることがある。安全性を高める観点からは、その暗号化に用いる暗号鍵として、認証過程で使用した前記共通鍵Kとは別個の鍵を用いたほうがよいことは当然である。
(A−3)第1の実施形態の効果
本実施形態によれば、個人を明示して認証を行うことも匿名のまま認証を行うこともできるので、柔軟性や利便性が高い。
匿名のまま認証を行うことができる点は、たとえログファイルの内容の漏洩などが発生してもプライバシが守られるため、正規のユーザ(例えば、U2)に安心感を与えることにもつながる。
また、本実施形態では、個人を明示して認証を行う際、ユーザID等に応じてメッセージ(r1’)の値を変更するようにすれば、ユーザID等が悪意のユーザ(例えば、U4)に知られる可能性を低減でき、安全性が高まる。
(B)第2の実施形態
以下では、本実施形態が第1の実施形態と相違する点についてのみ説明する。
本実施形態は、前回の認証に利用した乱数を今回の認証にも活用することによって安全性を高める点が第1の実施形態と相違する。
(B−1)第2の実施形態の構成および動作
本実施形態と第1の実施形態の相違は、検証装置と証明装置の内部構成に関する点に限られる。本実施形態の検証装置200と証明装置210の内部構成例を図2に示す。
検証装置200は前記検証装置100に対応し、証明装置210は前記証明装置110に対応するので、その構成要素の多くも対応している。
検証装置200の構成要素のうち、乱数生成部201は前記乱数生成部101に対応し、暗号化部202は前記暗号化部102に対応し、復号部203は前記復号部103に対応し、検査部205は前記検査部105に対応し、メッセージ生成部204は前記メッセージ生成部104に対応するので、その詳しい説明は省略する。また、証明装置210の構成要素のうち、復号部211は前記復号部111に対応し、メッセージ生成部212は前記メッセージ生成部112に対応し、暗号化部214は前記暗号化部113に対応するので、その詳しい説明は省略する。
ただし検証装置200の内部において、乱数生成部201が生成した乱数は暗号化部202とメッセージ生成部204のほか、乱数記憶部206にも供給される。
乱数生成部201が順次生成する乱数の系列をr0,r1,r2,…とし、今回、証明装置210(ユーザU2)の認証に使用する乱数をr1とすると、前回、証明装置210(ユーザU2)の認証に使用した乱数はr0となる。これは、証明装置210の前回の認証と今回の認証のあいだに、他の証明装置(例えば、前記証明装置109に相当する証明装置)の認証が行われなかったケースである。
本実施形態において今回の認証を行うとき、乱数生成部201は当該r1を生成して出力し、乱数記憶部206には前回の乱数であるr0が記憶された状態にある。このとき乱数生成部201が出力した今回の乱数r1は、次回の認証のため、当該乱数記憶部206に記憶されることは当然である。
なお、本実施形態の場合、検証装置200側で、認証を要求してくる証明装置ごと(ユーザごと)に乱数の系列(少なくとも、今回の乱数と前回の乱数)を特定する必要がある。認証に使用する乱数の値は生成されるたび(認証のたび)に異なるし、一般的には、グループGP1中の各ユーザが検証装置200に対して認証を求める順番は予測不能で動的に決まるからである。
したがって本実施形態では、検証装置200が何らかの手段で、個々の証明装置(または、個々のユーザ)を特定することが不可欠となる。このような特定を行うことによって、証明装置ごとに整理して、前回の乱数を乱数記憶部206に記憶しておくことが可能になる。このような乱数記憶部206はデータベースを構成するものであってよい。
個々の証明装置(ユーザ)を特定する手段としては様々なものを用いることが可能である。例えば、前記ユーザID等を用いることもできるが、ここでは、一例として、前記送信元IPアドレスを用いるものとする。
送信元IPアドレスはネットワーク11上における伝送時にルータ(図示せず)によって使用される伝送制御情報であるため、基本的には元々、秘匿される情報ではないし、悪意のユーザU4に知られた場合の影響は、ユーザID等が知られた場合に比べてはるかに小さいと考えられるからである。必要ならば、DHCPサーバなどを利用して、通信システム10内の各証明装置(例えば、210)に割り当てられるIPアドレスを頻繁に変更するようにしてもよい。
また、検証装置200に含まれるメッセージ生成部204は、前記変換関数f1の替わりに、2変数関数f2を用いて変換を行う。
当該2変数関数f2の1つの変数に代入される値は、前回の乱数であるr0であり、もう1つの変数に代入される値は、今回の乱数であるr1である。このとき当該2変数関数f2からは、2つの乱数r0とr1の値が反映された変換結果(メッセージ)r0−1’が得られ、このメッセージr0−1’が当該メッセージ生成部204から検査部205へ供給される。
一方、証明装置210の内部で、当該メッセージ生成部204に対応するのがメッセージ生成部212であり、乱数記憶部206に対応するのが、乱数記憶部213である。
乱数記憶部213は、当該証明装置210が前回の認証で使用した乱数(ここでは、r0)を記憶している点で、前記乱数記憶部206と同じであるが、検証装置200のように複数の証明装置からの認証要求にこたえる必要はないため、乱数記憶部213に記憶するのは、ただ1つの乱数でよい。
メッセージ生成部212の機能は検証装置200内のメッセージ生成部204の機能とまったく同じで、前回の乱数(r0)と今回の乱数(r1)から得たメッセージ(ここでは、r0−1’)を出力する。このような機能を実現するため、当該メッセージ生成部212は、前記2変数関数f2を搭載している。
以上の通りであるから、本実施形態の検証装置200から証明装置210へ送信される暗号化結果Xは第1の実施形態のものとまったく同じであるが、この暗号化結果Xを受信し、構成要素211,212,213,214による処理を経て、証明装置210から送信される暗号化結果Yは、第1の実施形態のものと相違する。
本実施形態の暗号化結果Yの値には、今回の乱数(r1)の値だけでなく前回の乱数(r0)の値も反映されているため、より安全性が高いといえる。本実施形態で、通信端末12(悪意のユーザU4)が解読を成功させるには、前回の認証のための通信と今回の認証のための通信をともに傍受していることが必要になると考えられるからである。
上述したように、通信環境や通信システム10の運用によっては、傍受を行うこと自体、必ずしも容易ではなく、前回の認証のための通信と今回の認証のための通信をとも傍受できる確率は、今回の認証のための通信を傍受できる確率よりも低い。
必要ならば、メッセージ生成部204および212が出力するメッセージに、前々回の認証など、過去の複数回の認証に使用した乱数なども反映させることにより、この確率をいっそう低減することも可能である。
なお、本実施形態の場合、検証装置200は認証の過程で個々の証明装置を特定することになるため、証明装置ごとに異なる共通鍵(Ki)を用いることが可能である。グループGP1内の全証明装置とのあいだで同じ共通鍵を用いるより、証明装置ごとに異なる共通鍵を用いたほうが安全性が向上する。
もしも、悪意のユーザU4が共通鍵の解読に成功した場合、全証明装置とのあいだで同じ共通鍵を用いていると、グループGP1内の全ユーザのユーザID等を悪意のユーザU4に知られる可能性が高いが、証明装置ごとに異なる共通鍵を用いるようにしておけば、解読された共通鍵に対応する証明装置のユーザのユーザID等が知られるだけで済むからである。
また、同じグループGP1に属する正規のユーザ(例えば、U3)が他の正規のユーザ(例えば、U2)のユーザID等を知ろうとして傍受、解読を試みる可能性もあるが、同じ共通鍵KをグループGP1内で共用していると、そのような解読は比較的容易であるのに対し、証明装置ごとに異なる共通鍵Kiを用いる場合には、そのような解読も実行困難である。
(B−2)第2の実施形態の効果
本実施形態によれば、第1の実施形態の効果とほぼ同等な効果を得ることができる。
加えて、本実施形態では、安全性を第1の実施形態よりも高めることが可能である。
(C)第3の実施形態
以下では、本実施形態が第1、第2の実施形態と相違する点についてのみ説明する。
本実施形態は、第1、第2の実施形態のうちでは第2の実施形態のほうに近い。第2の実施形態と本実施形態の相違は、メッセージ生成部の内部構成に関する点に限られる。
(C−1)第3の実施形態の構成および動作
本実施形態の検証装置300と証明装置310の内部構成例を図3に示す。
検証装置300において、前記メッセージ生成部204に対応するメッセージ生成部304は、関数生成部307と、変形部308を備えている。なお、検証装置300内に設けられた乱数記憶データベース306は名称は相違するもののその機能は実質的に第2の実施形態の乱数記憶部206と同じで、証明装置ごとに整理して、前回の乱数を記憶する部分である。
例えば、証明装置310から暗号化結果Yが届いたとき、検証装置300では、その暗号化結果Yが収容されていたパケットの送信元IPアドレスなどをもとに乱数記憶データベース306内の該当する乱数、すなわち、証明装置310の前回の認証に使用した乱数(ここでは、r0とする)を特定することができるので、その乱数r0を関数生成部307に供給する。
検証装置300はまた、証明装置(例えば、310)とそのユーザのユーザID等の対応関係を登録した上述の対応表を検索することにより、ユーザID等を特定することもできる。
このようにして特定した乱数r0やユーザID等をもとに、関数生成部307は、変換関数を生成する。ここで生成した変換関数をf3とすると、f3は、乱数r0やユーザID等の値に応じて、異なるものとなる。
乱数(ここでは、r0)に応じて生成する場合、乱数が上述したような性質(真正乱数に近い性質を持ち、ビット長が十分に長い)を有するものとすると、同じ値の乱数が2度生成されることは実用上、ほぼ無いものとみなすことができるため、当該変換関数f3はただ1度だけ認証に使用されることになる。ただしこの場合には、ユーザID等は証明装置310側から検証装置300側に供給する必要はないため、匿名のまま認証を行うことが可能になる。
ユーザID等をもとに生成する場合には、ユーザID等は、各ユーザ(各証明装置)に固有な情報であるため、変換関数f3も、各ユーザに固有なものとなるが、同じユーザのための次回以降の認証でも同じ変換関数f3が繰り返し用いられることになる。この場合、ユーザID等が検証装置300側に供給されるため、個人を明示した認証が行われることになる。
いずれのケースでも、関数生成部307が生成した変換関数f3は、変形部308に供給される。
当該変形部308は、乱数生成部301から受け取った今回の乱数(ここでは、r1)を当該変換関数f3を利用して変換し、変換結果をメッセージとして検査部305に供給する。
一方、前記証明装置310において、前記メッセージ生成部112に対応するメッセージ生成部312は、関数生成部316と、変形部315を備えている。
このうち関数生成部316は前記関数生成部307に対応し、変形部315は前記変形部308に対応するので、その詳しい説明は省略する。
以上の通りであるから、本実施形態の場合、前回の乱数(ここでは、r0)だけを用いて変換関数f3を生成した場合には、匿名のまま認証を行うことができ、前回の乱数とともに、または前回の乱数に替えてユーザID等を利用して変換関数f3を生成した場合には、個人を明示して認証を行うことができる。
(C−2)第3の実施形態の効果
本実施形態によれば、第2の実施形態の効果と同等な効果を得ることができる。
加えて、本実施形態では、匿名のまま認証することにも、個人を明示して認証することにも対応しやすいため、柔軟性や利便性を高めることが容易である。
(D)第4の実施形態
以下では、本実施形態が第1〜第3の実施形態と相違する点についてのみ説明する。
第1〜第3の実施形態はいずれも、検証装置側から送られてきた乱数を証明装置側で加工し、加工した結果を検証装置側へ返送することによって認証を行うものであったが、本実施形態では、証明装置側から検証装置側への一方向の通信を行うことのみによって認証を行う。
第1〜第3の実施形態のなかでは、同等な機能の乱数記憶部を使用する点で、第2の実施形態が最も本実施形態に近いとみることができる。
(D−1)第4の実施形態の構成および動作
本実施形態の検証装置400と証明装置410の内部構成例を図4に示す。
検証装置400は、復号部401と、乱数記憶部402と、検査部403とを備えており、証明装置410は、乱数生成部411と、乱数記憶部411と、乱数記憶部412と、暗号化部413とを備えている。
検証装置400の構成は、各構成要素の接続関係などが相違するためにこれまでに説明した検証装置(例えば、200)と異なるが、各構成要素自体の機能は対応している。
検証装置400内の復号部401は前記復号部203に対応し、乱数記憶部402は前記乱数記憶部206に対応し、検査部403は前記検査部205に対応するので、その詳しい説明は省略する。また、証明装置410内の乱数生成部411は前記乱数生成部201に対応し、乱数記憶部412は前記乱数記憶部213に対応し、暗号化部413は前記暗号化部214に対応するので、その詳しい説明は省略する。
本実施形態では、前記乱数生成部201に対応する乱数生成部411が検証装置400内ではなく証明装置410内に設けられている。この乱数生成部411が生成する乱数の系列を上述したように、r0,r1,r2,…とし、今回、証明装置410の認証に検証装置400が使用する乱数をr1とすると、次回、証明装置410の認証に使用する乱数はr2となる。
乱数記憶部412内に乱数r1が記憶された状態で乱数生成部411が乱数r2を生成すると、暗号化部413は、乱数r1とr2をつなげたものr(=r1||r2)を前記共通鍵Kiで暗号化し、暗号化結果Yを送信する。
これを前記ネットワーク11経由で受信する検証装置400では、復号部401が暗号化結果Yを共通鍵Kiで復号し、復号結果のうち乱数r2は次回の認証のために乱数記憶部402に供給して記憶させ、乱数r1は検査部403へ供給して今回の認証を行わせる。
ただし、この暗号化結果Yを受信した時点ではすでに前回の認証の過程で復号された乱数r1(前回の認証時点からみた次回の乱数)が乱数記憶部402に記憶されているため、今回の認証において検査部403は、復号部401から受け取った復号結果と、乱数記憶部402から読み出した乱数r1とを比較照合することになる。暗号化結果Yの送信元が正規の証明装置である410なら、復号部401から検査部403が受け取る復号結果は当該r1に一致するため、認証結果はOKとなる。
本実施形態の場合、悪意のユーザU4が通信端末12で傍受することができるのは、暗号化結果Yだけであり、前記暗号化結果Xに相当する情報を傍受することもできない。また、第1〜第3の実施形態の場合には、検証装置(例えば、100)になりすました通信端末12から任意のメッセージを証明装置(例えば、110)に送り付けて、そのメッセージに対応する暗号化結果Yを証明装置から取得する攻撃が実行される可能性もあったが、本実施形態ではそのような攻撃も実行することができない。
このような点から、本実施形態は第1〜第3の実施形態に比べ、安全性がかなり高いとみることができる。
また、前記暗号化結果Yには、今回の乱数と次回の乱数が検証装置400側で復号可能な形で含まれていればよいため、暗号化部413では、上述したように、今回の乱数と次回の乱数を単純につなげたものを共通鍵Kiで暗号化する以外の方法を用いることもできる。例えば、今回の乱数と次回の乱数の排他的論理和(XOR)を計算し、その計算結果と次回の乱数をつなげたもの(r1XORr2||r2)を、共通鍵Kiで暗号化して暗号化結果Yを得るようにしてもよい。
なお、本実施形態で、前記暗号化結果Xに相当する情報の通信が不要になる点は、通信トラフィックの軽減にも寄与することは当然である。
前記共通鍵Kiは、証明装置ごとに異なる共通鍵であるため、ここまでの処理では、個人を明示した認証を行うことになるが、共通鍵としてグループGP1内で同じ鍵を利用すること等により、本実施形態でも匿名のまま(ユーザID等を検証装置400に知らせないまま)認証を行うことが可能である。
(D−2)第4の実施形態の効果
本実施形態によれば、傍受可能な情報や、使用可能な攻撃方法がいっそう限定されるため、第1〜第3の実施形態よりも高い安全性を確保することが可能である。
(E)第5の実施形態
以下では、本実施形態が第1〜第4の実施形態と相違する点についてのみ説明する。
第1〜第4の実施形態のなかでは、第4の実施形態が本実施形態に最も近い。本実施形態と第4の実施形態の関係は、第2の実施形態と第1の実施形態の関係にほぼ等しい。
したがって、本実施形態と第4の実施形態の相違は、メッセージ生成部(メッセージ復元部)の有無に関する点に限られる。
(E−1)第5の実施形態の構成および動作
本実施形態の検証装置500と証明装置510の内部構成例を図5に示す。
検証装置500の構成要素のうち、復号部501は前記復号部401に対応し、乱数記憶部502は前記乱数記憶部402に対応し、検査部504は前記検査部403に対応するので、その詳しい説明は省略する。また、証明装置510の構成要素のうち乱数生成部511は前記乱数生成部411に対応し、乱数記憶部512は前記乱数記憶部412に対応し、暗号化部514は前記暗号化部413に対応するので、その詳しい説明は省略する。
証明装置510内に設けられたメッセージ生成部513は、前記グループGP1内に共通なハッシュ関数h1を搭載している。ハッシュ関数は一方向性の関数で、変換結果(ハッシュ値)から変換元の値を推定することが困難な性質を有する。
当該メッセージ生成部513は、このハッシュ関数h1を活用してメッセージの生成を行う。
ハッシュ関数h1を用いてメッセージを生成する方法には様々なものがあり、例えば、乱数記憶部512から読み出した今回の乱数(ここでは、r1)を当該ハッシュ関数h1で変換してその変換結果(ハッシュ値)であるh1(r1)を得るとともに、元の乱数r1も記憶しておき、乱数生成部511から受け取った次回の乱数(ここでは、r2)を当該乱数r1を共通鍵として暗号化(Er1(r2))し、当該ハッシュ値と暗号化結果をつなげたものをメッセージとして暗号化部514へ供給し、暗号化部514で共通鍵Kによる暗号化を行わせるようにしてもよいが、ここでは、共通鍵Kで暗号化するのはハッシュ値だけとし、共通鍵Kで暗号化したものと共通鍵r1で暗号化したものをつなげて暗号化結果Yを生成するものとする。
このとき、Y=E(h1(r1))||Er1(r2)である。
前記ネットワーク11経由で当該暗号化結果Yを受信する検証装置500では、復号部501が共通鍵Kで復号することによって、h1(r1)||Er1(r2)を得、さらに当該Er1(r2)を共通鍵r1で復号することによって乱数r2を得る。このうち乱数r2は次回の認証のため、メッセージ復元部503により乱数記憶部502に記憶される。なお、検証装置500内で当該共通鍵r1を得ることができるのは、前回の認証の際、乱数記憶部502内に乱数r1を記憶してあったためである。
メッセージ復元部503はまた、グループGP1内で共有されている前記ハッシュ関数h1を用いて前記乱数r2のハッシュ値(h1(r2))を計算し、そのハッシュ値を乱数記憶部502に記憶しておく。これも次回の認証のためである。
検査部504では、ハッシュ値間の比較照合を行うことによって検証を実行する。
すなわち、前記h1(r1)||Er1(r2)のうちのハッシュ値であるh1(r1)と、乱数記憶部502から読み出したハッシュ値であるh1(r1)の比較照合である。
暗号化結果Yを送信してきたのが正規の証明装置でない場合には、ハッシュ値h1、共通鍵K、前回の乱数r1のすべてを持つことはないため、比較照合の結果は不一致となり、認証結果はNGとなる。
なお、ここでは予め乱数(r1)のハッシュ値を計算し、そのハッシュ値を乱数r1とともに乱数記憶部502に記憶するようにしたが、記憶しておくのは乱数r1だけとすることも可能である。その場合、検査部504が比較照合を実行する際にハッシュ値を計算することになる。
なお、前記メッセージ生成部513や暗号化部514における処理を変更し、暗号化結果Yの内容を変更することも可能である。
例えば、Y=E(h1(r1))||r1XORr2)としてもよい。
必要に応じて、上述した乱数の系列の最初の値(前記r0)を予め証明装置510から検証装置500に伝えて、乱数記憶部502内に記憶させるようにしてもよい。
なお、ここまでの処理では、共通鍵K、ハッシュ関数h1がグループGP1内で共通であるため、匿名のまま認証を行うことになるが、上述したユーザID等に依存した処理を含めるようにすれば、個人を明示した認証を行うことが可能になる。
例えば、ハッシュ関数h1とともに、またはハッシュ関数h1に替えて、ユーザID等に依存して変化する変換関数を使用したり、予め証明装置ごとに異なる変換関数を用意するようにしてもよい。
また、証明装置ごとに異なる共通鍵Kやハッシュ関数h1を用意するようにしてもよい。
ここで、証明装置ごとに異なる変換関数をf3とし、ハッシュ関数h1の替わりに当該変換関数f3を用いるものとすると、上述した暗号化結果Y(=E(h1(r1))||Er1(r2))は次の形に変化する。
Y=E(f3(r1))||Er1(r2)
(E−2)第5の実施形態の効果
本実施形態によれば、第4の実施形態の効果と同等な効果を得ることができる。
加えて、本実施形態では、安全性を第4の実施形態よりも高めることが可能である。
また本実施形態では、匿名のまま認証を行ったり、個人を明示した認証と匿名のままの認証のあいだで柔軟に切替えを行うことも容易である。
(F)他の実施形態
図6では、グループGP1に2つの証明装置が属していたが、グループGP1に属する証明装置の数が3つ以上であってもよいことは当然である。
また、図6では、1つのグループGP1のみを示しているが、1つの検証装置(例えば、100)に対するグループは2つ以上存在してもよいことは当然である。
さらに、上記第1〜第5の実施形態で実行した各処理は、相互に矛盾しない限り、他の実施形態で使用することも可能である。
例えば、第5の実施形態では、ある回の乱数(次回の乱数)であるr2を別な回の乱数(今回の乱数)であるr1を共通鍵として暗号化(Er1(r2))したが、この処理を例えば第2の実施形態で使用することも可能である。第2の実施形態では、前回の乱数(r0)が検証装置と証明装置に記憶されているので、前回の乱数は共通鍵として用いることができ、証明装置は、前回の乱数で今回の乱数を暗号化することが可能である。
また、本来の共通鍵KまたはKiによる暗号化と、このような共通鍵としての乱数による暗号化を重ねて実行してもよいことは当然である。
なお、図6ではネットワーク経由の通信を行う例を示したが、本発明は、ネットワーク経由の通信を行わず、検証装置と証明装置が直接、無線伝送路や有線伝送路で接続されるケースにも適用できることは、すでに説明した通りである。
また、このような通信を行うことも必ずしも必須の要件ではない。例えば、前記暗号化結果Yの内容をフレキシブルディスクなどの記録媒体に記録し、その記録媒体を検証装置側のスロットに装着すること等によって認証を行う場合などもあり得るからである。
以上の説明では主としてハードウエア的に本発明を実現したが、本発明はソフトウエア的に実現することも可能である。
第1の実施形態にかかる通信システムの主要部の構成例を示す概略図である。 第2の実施形態にかかる通信システムの主要部の構成例を示す概略図である。 第3の実施形態にかかる通信システムの主要部の構成例を示す概略図である。 第4の実施形態にかかる通信システムの主要部の構成例を示す概略図である。 第5の実施形態にかかる通信システムの主要部の構成例を示す概略図である。 第1〜第5の実施形態にかかる通信システムの全体構成例を示す概略図である。
符号の説明
10…通信システム、11…ネットワーク、12…通信端末、100,200,300,400,500…検証装置、110,210,310,410,510…証明装置、101…乱数生成部、102,113…暗号化部、103,111…復号部、104,112…メッセージ生成部、105…検査部、K…共通鍵(秘密鍵)、f1…変換関数、r0,r1,r2…乱数、r1’…メッセージ、X、Y…暗号化結果。

Claims (11)

  1. 所定のグループに属する1または複数の証明装置を、当該グループ内で共通な共通鍵暗号方式の秘密鍵の照合によって検証装置が認証する認証システムにおいて、
    前記検証装置は、
    乱数を生成する第1の乱数生成手段と、
    当該第1の乱数生成手段が生成した乱数を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵で暗号化し、暗号化結果を前記証明装置へ送信する第1の暗号化手段と、
    前記証明装置が、当該暗号化結果を、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて復号した結果として得られる乱数をグループ内の証明装置に共通な所定の共通変換関数を用いて変換した上、前記証明装置側秘密鍵で暗号化した暗号化結果を返送してきたとき、その暗号化結果を検証装置側秘密鍵で復号する第1の復号手段と、
    前記第1の乱数生成手段が生成した乱数を、前記共通変換関数を用いて変換する第1の変換処理手段と、
    前記第1の復号手段による復号結果と、当該第1の変換処理手段による変換結果を照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証する第1の検証実行手段とを備え、
    前記証明装置は、
    前記検証装置から受信した暗号化結果を、前記証明装置側秘密鍵を用いて復号する第2の復号手段と、
    当該第2の復号手段の復号結果として得られる乱数を、前記共通変換関数を用いて変換する第2の変換処理手段と、
    当該第2の変換処理手段の変換結果を、前記証明装置側秘密鍵を用いて暗号化し、暗号化結果を前記検証装置へ送信する第2の暗号化手段とを備えたことを特徴とする認証システム。
  2. 請求項1の認証システムにおいて、
    前記検証装置は、
    前記第1の乱数生成手段が生成した乱数を、次回の認証のために記憶する第1の乱数記憶手段を備え、
    前記第1の変換処理手段は、
    前記共通変換関数の替わりに、前記グループ内で共通な所定の2変数関数を用いて、当該第1の乱数記憶手段から読み出した前回の乱数と、前記第1の乱数生成手段が生成した今回の乱数に応じた変換結果を出力するように構成し、
    前記証明装置は、
    前記第2の復号手段の復号結果として得られる乱数を、次回の認証のために記憶する第2の乱数記憶手段を備え、
    前記第2の変換処理手段は、
    前記共通変換関数の替わりに、前記2変数関数を用いて、当該第2の乱数記憶手段から読み出した前回の乱数と、前記第2の復号手段の復号結果として得られる今回の乱数に応じた変換結果を出力するように構成したことを特徴とする認証システム。
  3. 請求項1の認証システムにおいて、
    前記検証装置は、
    前記第1の乱数生成手段が生成した乱数を、次回の認証のために記憶する第1の乱数記憶手段を備え、
    前記第1の変換処理手段は、
    前記共通変換関数の替わりに機能する第1の関数生成手段と第1の変形手段を有し、
    当該第1の関数生成手段は、前記第1の乱数記憶手段から読み出した前回の乱数をもとに変形関数を生成して第1の変形手段に渡し、当該第1の変形手段は、前記第1の乱数生成手段が生成した今回の乱数を当該変形関数で変形した上で、前記第1の検証実行手段に渡す構成とし、
    前記証明装置は、
    前記第2の復号手段の復号結果として得られる乱数を、次回の認証のために記憶する第2の乱数記憶手段を備え、
    前記第2の変換処理手段は、
    前記共通変換関数の替わりに機能する第2の関数生成手段と第2の変形手段を有し、
    当該第2の関数生成手段は、前記第2の乱数記憶手段から読み出した前回の乱数をもとに変形関数を生成して第2の変形手段に渡し、当該第2の変形手段は、前記第2の復号手段の復号結果として得られる今回の乱数を当該変形関数に基づいて変形し、その変形結果を、前記第2の暗号化手段に渡す構成としたことを特徴とする認証システム。
  4. 共通鍵暗号方式の秘密鍵の照合によって検証装置が証明装置を認証する認証システムにおいて、
    前記証明装置は、
    乱数を生成する第2の乱数生成手段と、
    当該第2の乱数生成手段が生成した乱数を、今回の認証のために記憶しておく第3の乱数記憶手段と、
    当該第3の乱数記憶手段から読み出した今回の乱数と、第2の乱数生成手段が生成した次回の乱数とを、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて暗号化し、暗号化結果を前記検証装置へ送信する第3の暗号化手段とを備え、
    前記検証装置は、
    前記証明装置から受信した暗号化結果を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵を用いて復号する第3の復号手段と、
    当該第3の復号手段の復号結果のうち次回の乱数を、次回の認証のために記憶しておく第4の乱数記憶手段と、
    前記第3の復号手段の復号結果のうち今回の乱数と、当該第4の乱数記憶手段から読み出した今回の乱数とを照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証する第2の検証実行手段とを備えることを特徴とする認証システム。
  5. 請求項4の認証システムにおいて、
    前記証明装置は、
    前記第2の乱数生成手段および第3の乱数記憶手段と、前記第3の暗号化手段のあいだに介在し、当該第2の乱数生成手段から供給された次回の乱数はそのまま、前記第3の乱数記憶手段に記憶しておいた今回の乱数は所定の変換関数を用いて変換した上で、前記第3の暗号化手段に供給する第3の変換処理手段を備え、
    前記検証装置は、
    前記第2の検証実行手段および第4の乱数記憶手段と、前記第3の復号手段のあいだに介在し、当該第3の復号手段の復号結果のうち前記変換関数で変換された今回の乱数を逆変換によって元の乱数に復元するか、または、前記第4の乱数記憶手段に記憶してあった今回の乱数を前記変換関数と同じ関数で変換する第4の変換処理手段を備え、
    前記第2の検証実行手段は、当該復元結果と前記第4の乱数記憶手段に記憶してあった今回の乱数との照合、または、当該変換結果と前記第4の乱数記憶手段に記憶してあった今回の乱数の前記変換関数による変換結果との照合により、前記証明装置の正当性を検証することを特徴とする認証システム。
  6. 所定のグループに属する1または複数の証明装置を、当該グループ内で共通な共通鍵暗号方式の秘密鍵の照合によって検証装置が認証する認証方法において、
    前記検証装置内では、
    第1の乱数生成手段が乱数を生成し、
    第1の暗号化手段が、当該第1の乱数生成手段が生成した乱数を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵で暗号化して、暗号化結果を前記証明装置へ送信し、
    これを受信する前記証明装置内では、
    第2の復号手段が、受信した当該暗号化結果を、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて復号して乱数を得、
    第2の変換処理手段が、当該乱数を、前記グループ内の証明装置に共通な所定の共通変換関数を用いて変換し、
    第2の暗号化手段が、当該第2の変換処理手段の変換結果を、前記証明装置側秘密鍵を用いて暗号化して、暗号化結果を前記検証装置へ送信し、
    これを受信する前記検証装置内では、
    第1の復号手段が、受信した当該暗号化結果を前記検証装置側秘密鍵で復号し、
    第1の変換処理手段が、前記第1の乱数生成手段が生成した乱数を、前記共通変換関数を用いて変換し、
    第1の検証実行手段が、当該第1の変換処理手段による変換結果と、前記第1の復号手段による復号結果を照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証することを特徴とする認証方法。
  7. 共通鍵暗号方式の秘密鍵の照合によって検証装置が証明装置を認証する認証方法において、
    前記証明装置内では、
    第2の乱数生成手段が乱数を生成し、
    第3の乱数記憶手段が、当該第2の乱数生成手段が生成した乱数を、今回の認証のために記憶しておき、
    第3の暗号化手段が、当該第3の乱数記憶手段から読み出した今回の乱数と、第2の乱数生成手段が生成した次回の乱数とを、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて暗号化して、暗号化結果を前記検証装置へ送信し、
    この暗号化結果を受信する前記検証装置内では、
    第3の復号手段が、前記証明装置から受信した暗号化結果を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵を用いて復号し、
    第4の乱数記憶手段が、当該第3の復号手段の復号結果のうち次回の乱数を、次回の認証のために記憶しておき、
    第2の検証実行手段が、前記第3の復号手段の復号結果のうち今回の乱数と、当該第4の乱数記憶手段から読み出した今回の乱数とを照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証することを特徴とする認証方法。
  8. 所定のグループに属する1または複数の証明装置を、当該グループ内で共通な共通鍵暗号方式の秘密鍵の照合によって検証装置が認証する認証システムの構成要素としての検証装置において、
    乱数を生成する第1の乱数生成手段と、
    当該第1の乱数生成手段が生成した乱数を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵で暗号化し、暗号化結果を前記証明装置へ送信する第1の暗号化手段と、
    前記証明装置が、当該暗号化結果を、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて復号した結果として得られる乱数をグループ内の証明装置に共通な所定の共通変換関数を用いて変換した上、前記証明装置側秘密鍵で暗号化した暗号化結果を返送してきたとき、その暗号化結果を検証装置側秘密鍵で復号する第1の復号手段と、
    前記第1の乱数生成手段が生成した乱数を、前記共通変換関数を用いて変換する第1の変換処理手段と、
    前記第1の復号手段による復号結果と、当該第1の変換処理手段による変換結果を照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証する第1の検証実行手段とを備えたことを特徴とする検証装置。
  9. 所定のグループに属する1または複数の証明装置を、当該グループ内で共通な共通鍵暗号方式の秘密鍵の照合によって検証装置が認証する認証システムの構成要素としての証明装置において、
    前記検証装置側で生成された乱数を、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵で暗号化し送信したものを受信し、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて復号する第2の復号手段と、
    当該第2の復号手段の復号結果として得られる乱数を、グループ内の証明装置に共通な所定の共通変換関数を用いて変換する第2の変換処理手段と、
    当該第2の変換処理手段の変換結果を、前記証明装置側秘密鍵を用いて暗号化し、暗号化結果を前記検証装置へ送信する第2の暗号化手段とを備えたことを特徴とする証明装置。
  10. 共通鍵暗号方式の秘密鍵の照合によって検証装置が証明装置を認証する認証システムの構成要素としての証明装置において、
    乱数を生成する第2の乱数生成手段と、
    当該第2の乱数生成手段が生成した乱数を、今回の認証のために記憶しておく第3の乱数記憶手段と、
    当該第3の乱数記憶手段から読み出した今回の乱数と、第2の乱数生成手段が生成した次回の乱数とを、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて暗号化し、暗号化結果を前記検証装置へ送信する第3の暗号化手段とを備えたことを特徴とする証明装置。
  11. 共通鍵暗号方式の秘密鍵の照合によって検証装置が証明装置を認証する認証システムの構成要素としての検証装置において、
    前記証明装置が、今回の乱数と次回の乱数とを、前記秘密鍵のうち証明装置が持つ証明装置側秘密鍵を用いて暗号化し送信したものを受信し、前記秘密鍵のうち検証装置が持つ検証装置側秘密鍵を用いて復号する第3の復号手段と、
    当該第3の復号手段の復号結果のうち次回の乱数を、次回の認証のために記憶しておく第4の乱数記憶手段と、
    前記第3の復号手段の復号結果のうち今回の乱数と、当該第4の乱数記憶手段から読み出した今回の乱数とを照合することによって、前記証明装置が正規の証明装置側秘密鍵を持つことを確かめ、証明装置の正当性を検証する第2の検証実行手段とを備えることを特徴とする検証装置。
JP2003416886A 2003-12-15 2003-12-15 認証システムおよび方法、ならびに、証明装置および検証装置 Pending JP2005176231A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003416886A JP2005176231A (ja) 2003-12-15 2003-12-15 認証システムおよび方法、ならびに、証明装置および検証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003416886A JP2005176231A (ja) 2003-12-15 2003-12-15 認証システムおよび方法、ならびに、証明装置および検証装置

Publications (1)

Publication Number Publication Date
JP2005176231A true JP2005176231A (ja) 2005-06-30

Family

ID=34735963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003416886A Pending JP2005176231A (ja) 2003-12-15 2003-12-15 認証システムおよび方法、ならびに、証明装置および検証装置

Country Status (1)

Country Link
JP (1) JP2005176231A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011078086A1 (ja) * 2009-12-25 2011-06-30 株式会社マキタ 電動工具用バッテリパックおよびバッテリ接続装置
JP2014096727A (ja) * 2012-11-09 2014-05-22 Toppan Printing Co Ltd 認証媒体、認証端末、認証システム及び認証方法
JP2016033589A (ja) * 2014-07-31 2016-03-10 大日本印刷株式会社 データ変換装置
JP2018128706A (ja) * 2018-05-28 2018-08-16 大日本印刷株式会社 データ変換装置
CN112703702A (zh) * 2018-06-15 2021-04-23 艾欧特可有限公司 分散式认证

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011078086A1 (ja) * 2009-12-25 2011-06-30 株式会社マキタ 電動工具用バッテリパックおよびバッテリ接続装置
JP2011135740A (ja) * 2009-12-25 2011-07-07 Makita Corp 電動工具用バッテリパックおよびバッテリ接続装置
CN102668314A (zh) * 2009-12-25 2012-09-12 株式会社牧田 用于电动工具的电池组和电池连接装置
US9083184B2 (en) 2009-12-25 2015-07-14 Makita Corporation Battery pack for electric power tool, and battery connection device
EP2518857A4 (en) * 2009-12-25 2015-08-26 Makita Corp BATTERY PACK FOR ELECTRIC TOOL AND BATTERY CONNECTION DEVICE
JP2014096727A (ja) * 2012-11-09 2014-05-22 Toppan Printing Co Ltd 認証媒体、認証端末、認証システム及び認証方法
JP2016033589A (ja) * 2014-07-31 2016-03-10 大日本印刷株式会社 データ変換装置
JP2018128706A (ja) * 2018-05-28 2018-08-16 大日本印刷株式会社 データ変換装置
CN112703702A (zh) * 2018-06-15 2021-04-23 艾欧特可有限公司 分散式认证

Similar Documents

Publication Publication Date Title
Clark et al. A survey of authentication protocol literature: Version 1.0
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
US8601267B2 (en) Establishing a secured communication session
Backes et al. Cryptographically sound security proofs for basic and public-key kerberos
KR101753859B1 (ko) 서버 및 이에 의한 스마트홈 환경의 관리 방법, 스마트홈 환경의 가입 방법 및 스마트 기기와의 통신 세션 연결 방법
CA2463034A1 (en) Method and system for providing client privacy when requesting content from a public server
US11438316B2 (en) Sharing encrypted items with participants verification
CN108809633B (zh) 一种身份认证的方法、装置及系统
CN112351037A (zh) 用于安全通信的信息处理方法及装置
CN115473655A (zh) 接入网络的终端认证方法、装置及存储介质
US20060053288A1 (en) Interface method and device for the on-line exchange of content data in a secure manner
JP4840575B2 (ja) 端末装置、証明書発行装置、証明書発行システム、証明書取得方法および証明書発行方法
JPH08335208A (ja) 代理認証方法及びシステム
İşler et al. Distributed single password protocol framework
JP2005176231A (ja) 認証システムおよび方法、ならびに、証明装置および検証装置
KR19990038925A (ko) 분산 환경에서 안전한 양방향 인증 방법
CN111541708B (zh) 一种基于电力配电的身份认证方法
JP7211519B2 (ja) 所有者同一性確認システム、端末および所有者同一性確認方法
JP2001265735A (ja) Id/パスワードを利用した認証方法及び署名方法及び通信方法及びシステム
CN114531235B (zh) 一种端对端加密的通信方法及系统
Li et al. The code for securing web applications
JP2012032952A (ja) 匿名認証システム、匿名認証方法、匿名認証プログラム
Das A hybrid algorithm for secure cloud computing
Divya et al. Security in data forwarding through elliptic curve cryptography in cloud
Guo et al. 2FA Communication Protocol to Secure Metro Control Devices