説明

多重認証システム、多重認証方法およびプログラム

【課題】認証デバイスが複数の被認証デバイスを一括して認証する。
【解決手段】複数の被認証デバイスが、秘密鍵Sを保有しており、認証デバイスが、乱数Rを生成し、生成した乱数を複数の被認証デバイスに送信する。次いで、複数の被認証デバイスから受信した値から加算に対して一意に分解可能な複数の被認証デバイスのIDの加算値を求め、加算値から複数の被認証デバイスのIDを特定して認証を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証デバイスが複数の被認証デバイスを一括して認証する多重認証システム、多重認証方法およびプログラムに関する。
【背景技術】
【0002】
近年、ID情報を埋め込んだRFタグから、電磁界や電波等を用いた近距離(周波数帯によって数cm〜数m)の無線通信によって情報をやりとりするRFID(Radio Frequency IDentification)が注目を集め、非接触カード等に用いられ、広く普及している。また、RFIDを小型センサーデバイスとして利用したサービスも検討されている(例えば、非特許文献1参照。)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】M. Ohkubo, K. Suzki, and S. Kinoshita.Cryptographic approach to “privacy−friendly” tags. In RFID Privacy Workshop, MIT, MA, USA, November 2003.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、RFIDとリーダとの間では通常認証処理が行なわれるが、1対1で認証することが前提となっていた。そのため、認証が非効率であるという問題があった。
【0005】
そこで、本発明は、上述の課題に鑑みてなされたものであり、認証デバイスが複数の被認証デバイスを一括して認証する多重認証システム、多重認証方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するために以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【0007】
(1)本発明は、認証デバイスが複数の被認証デバイスを認証する多重認証システムであって、前記複数の被認証デバイスが、秘密鍵Sを保有しており、前記認証デバイスが、乱数Rを生成する第1の乱数生成手段(例えば、図2の乱数生成部111に相当)と、該生成した乱数を前記複数の被認証デバイスに送信する第1の送信手段(例えば、図2の送信部112に相当)と、前記複数の被認証デバイスから受信した値から加算に対して一意に分解可能な前記複数の被認証デバイスのIDの加算値を求める第1の演算手段(例えば、図2の演算部113に相当)と、該加算値から前記複数の被認証デバイスのIDを特定して認証を行う認証手段(例えば、図2の認証部114に相当)と、を備えたことを特徴とする多重認証システムを提案している。
【0008】
この発明によれば、複数の被認証デバイスが、秘密鍵Sを保有しており、認証デバイスの第1の乱数生成手段は、乱数Rを生成する。第1の送信手段は、生成した乱数を複数の被認証デバイスに送信する。第1の演算手段は、複数の被認証デバイスから受信した値から加算に対して一意に分解可能な複数の被認証デバイスのIDの加算値を求める。認証手段は、加算値から複数の被認証デバイスのIDを特定して認証を行う。したがって、複数の被認証デバイスを一括して認証することができる。
【0009】
(2)本発明は、(1)の多重認証システムについて、前記複数の被認証デバイスがそれぞれ、乱数r_iを生成する第2の乱数生成手段(例えば、図5の乱数生成部221に相当)と、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化する第1の暗号化手段(例えば、図5の暗号化部222に相当)と、該生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する第2の演算手段(例えば、図5の演算部223に相当)と、を備え、前記認証デバイスが、前記A_iおよびB_iを受信する受信手段(例えば、図4の受信部121に相当)と、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する乱数取得手段(例えば、図4の乱数取得部122に相当)と、を備え、前記第1の演算手段が、前記A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、前記B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求めることを特徴とする多重認証システムを提案している。
【0010】
この発明によれば、複数の被認証デバイスのそれぞれにおいて、第2の乱数生成手段は、乱数r_iを生成する。第1の暗号化手段は、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化する。第2の演算手段は、生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する。認証デバイスにおいて、受信手段は、A_iおよびB_iを受信する。乱数取得手段は、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する。そして、第1の演算手段は、A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求める。したがって、すべての被認証デバイスが秘密鍵Sを共有している場合に、軽量な演算で、複数の被認証デバイス個々のIDを特定した上で、一括して認証処理を行うことができる。
【0011】
(3)本発明は、認証デバイスが複数の被認証デバイスを認証する多重認証システムであって、前記複数の被認証デバイスが、異なる秘密鍵x_iを保有しており、前記認証デバイスが、乱数Rを生成する第1の乱数生成手段(例えば、図7の乱数生成部131に相当)と、該生成した乱数を前記複数の被認証デバイスに送信する第1の送信手段(例えば、図7の送信部132に相当)と、前記複数の被認証デバイスから受信した値を用いて、所定の演算を行い、演算値を求める第1の演算手段(例えば、図7の演算部133に相当)と、該演算値を検証することにより認証を行う認証手段(例えば、図7の認証部134に相当)と、を備えたことを特徴とする多重認証システムを提案している。
【0012】
この発明によれば、認証デバイスについて、第1の乱数生成手段は、乱数Rを生成する。第1の送信手段は、生成した乱数を複数の被認証デバイスに送信する。第1の演算手段は、複数の被認証デバイスから受信した値を用いて、所定の演算を行い、演算値を求める。認証手段は、演算値を検証することにより認証を行う。したがって、複数の認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合においても、複数の被認証デバイスを一括して認証することができる。
【0013】
(4)本発明は、(3)の多重認証システムについて、前記複数の被認証デバイスがそれぞれ、乱数r_iを生成する第2の乱数生成手段(例えば、図10の乱数生成部241に相当)と、自己の秘密鍵x_i、前記認証デバイスの公開鍵gと秘密鍵sと各被認証デバイスの公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する第2の演算手段(例えば、図10の演算部242に相当)と、を備え、前記認証デバイスが、前記A_i、B_i、C_iを受信する受信手段(例えば、図9の受信部141に相当)と、を備え、前記第1の演算手段が、該受信したA_iをすべて乗算してAを求め、該受信したB_iをすべて乗算してBを求め、該受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算することを特徴とする多重認証システムを提案している。
【0014】
この発明によれば、複数の被認証デバイスのそれぞれについて、第2の乱数生成手段は、乱数r_iを生成する。第2の演算手段は、自己の秘密鍵x_i、認証デバイスの公開鍵gと秘密鍵sと各被認証デバイスの公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する。認証デバイスの受信手段は、A_i、B_i、C_iを受信する。そして、第1の演算手段が、受信したA_iをすべて乗算してAを求め、受信したB_iをすべて乗算してBを求め、受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算する。したがって、すべての被認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合でも、軽量な演算で、一括して認証処理を行うことができる。
【0015】
(5)本発明は、(4)の多重認証システムについて、前記複数の被認証デバイスの個別のIDがh(gx_i)であり、前記求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した前記複数の非認証デバイスのIDを取得するID取得手段を備えたことを特徴とする多重認証システムを提案している。
【0016】
この発明によれば、複数の被認証デバイスの個別のIDがh(gx_i)であり、ID取得手段は、求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した複数の非認証デバイスのIDを取得する。したがって、すべての被認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合でも、それぞれのIDを特定した上で、認証処理を行うことができる。
【0017】
(6)本発明は、認証デバイスが複数の被認証デバイスを認証する多重認証システムにおける多重認証方法であって、前記複数の被認証デバイスが、秘密鍵Sを保有しており、前記認証デバイスが、乱数Rを生成する第1のステップ(例えば、図3のステップS101に相当)と、前記認証デバイスが、該生成した乱数を前記複数の被認証デバイスに送信する第2のステップ(例えば、図3のステップS102に相当)と、前記認証デバイスが、前記複数の被認証デバイスから受信した値から加算に対して一意に分解可能な前記複数の被認証デバイスのIDの加算値を求める第3のステップ(例えば、図3のステップS103に相当)と、前記認証デバイスが、該加算値から前記複数の被認証デバイスのIDを特定して認証を行う第4のステップ(例えば、図3のステップS104に相当)と、を備えたことを特徴とする多重認証方法を提案している。
【0018】
この発明によれば、複数の被認証デバイスが、秘密鍵Sを保有しており、認証デバイスが、乱数Rを生成し、生成した乱数を複数の被認証デバイスに送信する。次いで、複数の被認証デバイスから受信した値から加算に対して一意に分解可能な複数の被認証デバイスのIDの加算値を求め、加算値から複数の被認証デバイスのIDを特定して認証を行う。したがって、複数の被認証デバイスを一括して認証することができる。
【0019】
(7)本発明は、(6)の多重認証方法について、前記複数の被認証デバイスがそれぞれ乱数r_iを生成する第5のステップ(例えば、図6のステップS203に相当)と、前記複数の被認証デバイスが暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化する第6のステップ(例えば、図6のステップS204に相当)と、前記複数の被認証デバイスが該生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する第7のステップ(例えば、図6のステップS205に相当)と、を備え、前記認証デバイスが、前記A_iおよびB_iを受信する第8のステップ(例えば、図6のステップS206に相当)と、前記認証デバイスが、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する第9のステップ(例えば、図6のステップS207に相当)と、を備え、前記第3のステップが、前記A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、前記B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求めることを特徴とする多重認証方法を提案している。
【0020】
この発明によれば、複数の被認証デバイスがそれぞれ乱数r_iを生成し、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化して、生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する。認証デバイスは、A_iおよびB_iを受信し、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する。そして、A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求める。したがって、すべての被認証デバイスが秘密鍵Sを共有している場合に、軽量な演算で、複数の被認証デバイス個々のIDを特定した上で、一括して認証処理を行うことができる。
【0021】
(8)本発明は、認証デバイスが複数の被認証デバイスを認証する多重認証システムにおける多重認証方法であって、前記複数の被認証デバイスが、異なる秘密鍵x_iを保有しており、前記認証デバイスが、乱数Rを生成する第1のステップ(例えば、図8のステップS301に相当)と、前記認証デバイスが、該生成した乱数を前記複数の被認証デバイスに送信する第2のステップ(例えば、図8のステップS302に相当)と、前記認証デバイスが、前記複数の被認証デバイスから受信した値を用いて、所定の演算を行い、演算値を求める第3のステップ(例えば、図8のステップS303に相当)と、前記認証デバイスが、該演算値を検証することにより認証を行う第4のステップ(例えば、図8のステップS304に相当)と、を備えたことを特徴とする多重認証方法。
【0022】
この発明によれば、複数の被認証デバイスが、異なる秘密鍵x_iを保有しており、認証デバイスが、乱数Rを生成し、生成した乱数を複数の被認証デバイスに送信する。そして、認証デバイスが、複数の被認証デバイスから受信した値を用いて、所定の演算を行い、演算値を求め、演算値を検証することにより認証を行う。したがって、複数の認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合においても、複数の被認証デバイスを一括して認証することができる。
【0023】
(9)本発明は、(8)の多重認証方法について、前記複数の被認証デバイスがそれぞれ乱数r_iを生成する第5のステップ(例えば、図11のステップS403に相当)と、前記複数の被認証デバイスが自己の秘密鍵x_i、前記認証デバイスの公開鍵gと秘密鍵sと各被認証デバイスの公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する第6のステップ(例えば、図11のステップS404に相当)と、を備え、前記認証デバイスが、前記A_i、B_i、C_iを受信する第7のステップ(例えば、図11のステップS405に相当)と、を備え、前記第3のステップが、該受信したA_iをすべて乗算してAを求め、該受信したB_iをすべて乗算してBを求め、該受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算することを特徴とする多重認証方法を提案している。
【0024】
この発明によれば、複数の被認証デバイスがそれぞれ乱数r_iを生成し、自己の秘密鍵x_i、認証デバイスの公開鍵gと秘密鍵sと各被認証デバイスの公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する。認証デバイスは、A_i、B_i、C_iを受信し、受信したA_iをすべて乗算してAを求め、受信したB_iをすべて乗算してBを求め、受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算する。したがって、すべての被認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合でも、軽量な演算で、一括して認証処理を行うことができる。
【0025】
(10)本発明は、(9)の多重認証方法について、前記複数の被認証デバイスの個別のIDがh(gx_i)であり、前記求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した前記複数の非認証デバイスのIDを取得する第8のステップをさらに備えたことを特徴とする多重認証方法を提案している。
【0026】
この発明によれば、複数の被認証デバイスの個別のIDがh(gx_i)であり、求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した複数の非認証デバイスのIDを取得する。したがって、すべての被認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合でも、それぞれのIDを特定した上で、認証処理を行うことができる。
【0027】
(11)本発明は、認証デバイスが複数の被認証デバイスを認証する多重認証システムにおける多重認証方法をコンピュータに実行させるためのプログラムであって、前記複数の被認証デバイスが、秘密鍵Sを保有しており、前記認証デバイスが、乱数Rを生成する第1のステップ(例えば、図6のステップS201に相当)と、前記認証デバイスが、該生成した乱数を前記複数の被認証デバイスに送信する第2のステップ(例えば、図6のステップS202に相当)と、前記複数の被認証デバイスがそれぞれ乱数r_iを生成する第3のステップ(例えば、図6のステップS203に相当)と、前記複数の被認証デバイスが暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化する第4のステップ(例えば、図6のステップS204に相当)と、前記複数の被認証デバイスが該生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する第5のステップ(例えば、図6のステップS205に相当)と、前記認証デバイスが、前記A_iおよびB_iを受信する第6のステップ(例えば、図6のステップS206に相当)と、前記認証デバイスが、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する第7のステップ(例えば、図6のステップS207に相当)と、前記認証デバイスが、前記A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、前記B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求める第8のステップ(例えば、図6のステップS208に相当)と、前記認証デバイスが、該加算値から前記複数の被認証デバイスのIDを特定して認証を行う第9のステップ(例えば、図6のステップS209に相当)と、を備えたことを特徴とする多重認証方法を提案している。
【0028】
この発明によれば、複数の被認証デバイスが、秘密鍵Sを保有しており、認証デバイスが、乱数Rを生成し、生成した乱数を複数の被認証デバイスに送信する。次いで、複数の被認証デバイスがそれぞれ乱数r_iを生成し、複数の被認証デバイスが暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化して、生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する。認証デバイスは、A_iおよびB_iを受信し、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する。次いで、A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求め、加算値から複数の被認証デバイスのIDを特定して認証を行う。したがって、すべての被認証デバイスが秘密鍵Sを共有している場合に、軽量な演算で、複数の被認証デバイス個々のIDを特定した上で、一括して認証処理を行うことができる。
【0029】
(12)本発明は、認証デバイスが複数の被認証デバイスを認証する多重認証システムにおける多重認証方法をコンピュータに実行させるためのプログラムであって、前記複数の被認証デバイスが、異なる秘密鍵x_iを保有しており、前記認証デバイスが、乱数Rを生成する第1のステップ(例えば、図11のステップS401に相当)と、前記認証デバイスが、該生成した乱数を前記複数の被認証デバイスに送信する第2のステップ(例えば、図11のステップS402に相当)と、前記複数の被認証デバイスがそれぞれ乱数r_iを生成する第3のステップ(例えば、図11のステップS403に相当)と、前記複数の被認証デバイスが自己の秘密鍵x_i、前記認証デバイスの公開鍵gと秘密鍵sと各被認証デバイスの公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する第4のステップ(例えば、図11のステップS404に相当)と、前記認証デバイスが、前記A_i、B_i、C_iを受信する第5のステップ(例えば、図11のステップS405に相当)と、前記認証デバイスが、該受信したA_iをすべて乗算してAを求め、該受信したB_iをすべて乗算してBを求め、該受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算する第6のステップ(例えば、図11のステップS406に相当)と、前記認証デバイスが、該演算値を検証することにより認証を行う第7のステップ(例えば、図11のステップS407に相当)と、前記複数の被認証デバイスの個別のIDがh(gx_i)であり、前記認証デバイスが、前記求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した前記複数の被認証デバイスのIDを取得する第8のステップ(例えば、図11のステップS408に相当)と、を備えたことを特徴とするプログラムを提案している。
【0030】
この発明によれば、複数の被認証デバイスが、異なる秘密鍵x_iを保有しており、認証デバイスが、乱数Rを生成し、生成した乱数を複数の被認証デバイスに送信する。複数の被認証デバイスは、それぞれ乱数r_iを生成し、自己の秘密鍵x_i、認証デバイスの公開鍵gと秘密鍵sと各被認証デバイスの公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する。認証デバイスは、A_i、B_i、C_iを受信し、受信したA_iをすべて乗算してAを求め、受信したB_iをすべて乗算してBを求め、受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算する。そして、演算値を検証することにより認証を行い、さらに、複数の被認証デバイスの個別のIDがh(gx_i)であり、求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した複数の被認証デバイスのIDを取得する。したがって、すべての被認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合でも、軽量な演算で、一括して認証処理を行うことができる。また、すべての被認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合でも、それぞれのIDを特定した上で、認証処理を行うことができる。
【発明の効果】
【0031】
本発明によれば、認証デバイスが複数の被認証デバイスを一括して認証できるため、認証処理を従来よりも効率化することができる。
【図面の簡単な説明】
【0032】
【図1】本発明に係る多重認証システムの構成を示す図である。
【図2】本発明の第1の実施形態に係る認証デバイスの構成を示す図である。
【図3】本発明の第1の実施形態に係る多重認証システムの処理フローである。
【図4】本発明の第2の実施形態に係る認証デバイスの構成を示す図である。
【図5】本発明の第2の実施形態に係る被認証デバイスの構成を示す図である。
【図6】本発明の第2の実施形態に係る多重認証システムの処理フローである。
【図7】本発明の第3の実施形態に係る認証デバイスの構成を示す図である。
【図8】本発明の第3の実施形態に係る多重認証システムの処理フローである。
【図9】本発明の第4の実施形態に係る認証デバイスの構成を示す図である。
【図10】本発明の第4の実施形態に係る被認証デバイスの構成を示す図である。
【図11】本発明の第4の実施形態に係る多重認証システムの処理フローである。
【発明を実施するための形態】
【0033】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0034】
<多重認証システムの構成>
図1を用いて、本発明の多重認証システムの構成について説明する。
【0035】
本発明の多重認証システムは、図1に示すように、認証デバイス100と複数の被認証デバイス200とから構成されている。ここで、認証デバイス100は、例えば、RFIDリーダであり、被認証デバイス200は、例えば、RFIDタグである。本発明では、認証デバイス100が複数の被認証デバイス200を一括して認証する。
【0036】
<第1の実施形態>
図2および図3を用いて、本発明の第1の実施形態について説明する。なお、本実施形態では、すべての被認証デバイス200において、秘密鍵Sが共通であることを前提とする。
【0037】
<認証デバイスの構成>
図2を用いて、本実施形態に係る認証デバイス100の構成について説明する。
本実施形態に係る認証デバイス100は、図2に示すように、乱数生成部111と、送信部112と、演算部113と、認証部114とから構成されている。
【0038】
乱数生成部111は、乱数Rを生成する。送信部112は、生成した乱数を複数の被認証デバイス200に送信する。演算部113は、複数の被認証デバイス200から受信した値から加算に対して一意に分解可能な複数の被認証デバイス200のIDの加算値を求める。認証部114は、加算値から複数の被認証デバイス200のIDを特定して認証を行う。
【0039】
<多重認証システムの処理>
図3を用いて、本実施形態に係る多重認証システムの処理について説明する。
認証デバイス100は、乱数Rを生成し(ステップS101)、生成した乱数を複数の被認証デバイス200に送信する(ステップS102)。
【0040】
そして、複数の被認証デバイス200から受信した値から加算に対して一意に分解可能な複数の被認証デバイス200のIDの加算値を求め(ステップS103)、加算値から複数の被認証デバイス200のIDを特定して認証を行う(ステップS104)。
【0041】
以上、説明したように、本実施形態によれば、複数の被認証デバイスを一括して認証することができる。
【0042】
<第2の実施形態>
図4から図6を用いて、本発明の第2の実施形態について説明する。なお、本実施形態では、すべての被認証デバイス200において、秘密鍵Sが共通であることを前提とする。
【0043】
<認証デバイスの構成>
図4を用いて、本実施形態に係る認証デバイス100の構成について説明する。
本実施形態に係る認証デバイス100は、図4に示すように、乱数生成部111と、送信部112と、認証部114、受信部121と、乱数取得部122と、演算部123とから構成されている。なお、第1の実施形態と同様の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は、省略する。
【0044】
受信部121は、複数の被認証デバイス200が演算したA_iおよびB_iを受信する。乱数取得部122は、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する。
【0045】
演算部123は、A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求める。
【0046】
<被認証デバイスの構成>
図5を用いて、本実施形態に係る被認証デバイス200の構成について説明する。
本実施形態に係る被認証デバイス200は、図5に示すように、乱数生成部221と、暗号化部222と、演算部223とから構成されている。
【0047】
乱数生成部221は、乱数r_iを生成する。暗号化部222は、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化する。演算部223は、生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する。
【0048】
<多重認証システムの処理>
図6を用いて、本実施形態に係る多重認証システムの処理について説明する。
認証デバイス100が、乱数Rを生成し(ステップS201)、生成した乱数を複数の被認証デバイス200に送信する(ステップS202)。
【0049】
複数の被認証デバイス200がそれぞれ乱数r_iを生成し(ステップS203)、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化する(ステップS204)。次いで、生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する(ステップS205)。
【0050】
認証デバイス100は、A_iおよびB_iを受信し(ステップS206)、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する(ステップS207)。
【0051】
そして、A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求め(ステップS208)、加算値から複数の被認証デバイス200のIDを特定して認証を行う(ステップS209)。
【0052】
以上、説明したように、本実施形態によれば、すべての被認証デバイスが秘密鍵Sを共有している場合に、軽量な演算で、複数の被認証デバイス個々のIDを特定した上で、一括して認証処理を行うことができる。
【0053】
<第3の実施形態>
図7および図8を用いて、本発明の第3の実施形態について説明する。なお、本実施形態では、すべての被認証デバイス200が保持する秘密鍵x_iが異なることを前提とする。
【0054】
<認証デバイスの構成>
図7を用いて、本実施形態に係る認証デバイス100の構成について説明する。
本実施形態に係る認証デバイス100は、図7に示すように、乱数生成部131と、送信部132と、演算部133と、認証部134とから構成されている。
【0055】
乱数生成部131は、乱数Rを生成する。送信部132は、生成した乱数を複数の被認証デバイス200に送信する。演算部133は、複数の被認証デバイス200から受信した値を用いて、所定の演算を行い、演算値を求める。認証部134は、演算値を検証することにより認証を行う。
【0056】
<多重認証システムの処理>
図8を用いて、本実施形態に係る多重認証システムの処理について説明する。
認証デバイス100は、乱数Rを生成し(ステップS301)、生成した乱数を複数の被認証デバイス200に送信する(ステップS302)。
【0057】
そして、複数の被認証デバイス200から受信した値を用いて、所定の演算を行い、演算値を求め(ステップS303)、演算値を検証することにより認証を行う(ステップS304)。
【0058】
以上、説明したように、本実施形態によれば、複数の認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合においても、複数の被認証デバイスを一括して認証することができる。
【0059】
<第4の実施形態>
図9から図11を用いて、本発明の第4の実施形態について説明する。なお、本実施形態では、すべての被認証デバイス200において、秘密鍵Sが共通であることを前提とする。
【0060】
<認証デバイスの構成>
図9を用いて、本実施形態に係る認証デバイス100の構成について説明する。
本実施形態に係る認証デバイス100は、図9に示すように、乱数生成部131と、送信部132と、認証部134、受信部141と、演算部142とから構成されている。なお、第3の実施形態と同様の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は、省略する。
【0061】
受信部141は、複数の被認証デバイス2が演算した00A_i、B_i、C_iを受信する。
【0062】
演算部142は、受信したA_iをすべて乗算してAを求め、受信したB_iをすべて乗算してBを求め、受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算する。
【0063】
<被認証デバイスの構成>
図10を用いて、本実施形態に係る被認証デバイス200の構成について説明する。
本実施形態に係る被認証デバイス200は、図10に示すように、乱数生成部241と、演算部242とから構成されている。
【0064】
乱数生成部241は、乱数r_iを生成する。演算部242は、自己の秘密鍵x_i、認証デバイス100の公開鍵gと秘密鍵sと各被認証デバイス200の公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する。
【0065】
<多重認証システムの処理>
図11を用いて、本実施形態に係る多重認証システムの処理について説明する。
認証デバイス100が、乱数Rを生成し(ステップS401)、生成した乱数を複数の被認証デバイスに送信する(ステップS402)。
【0066】
複数の被認証デバイス200がそれぞれ乱数r_iを生成し(ステップS403)、自己の秘密鍵x_i、認証デバイス100の公開鍵gと秘密鍵sと各被認証デバイス200の公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する(ステップS404)。
【0067】
認証デバイスは、A_i、B_i、C_iを受信し(ステップS405)、受信したA_iをすべて乗算してAを求め、受信したB_iをすべて乗算してBを求め、受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算する(ステップS406)。
【0068】
また、演算値を検証することにより認証を行い(ステップS407)、複数の被認証デバイス200の個別のIDがh(gx_i)であり、認証デバイス100が、求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した複数の被認証デバイス200のIDを取得する(ステップS408)。
【0069】
以上、説明したように、本実施形態によれば、すべての被認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合でも、軽量な演算で、一括して認証処理を行うことができる。また、すべての被認証デバイスがそれぞれ異なる秘密鍵x_iを保有している場合でも、それぞれのIDを特定した上で、認証処理を行うことができる。
【0070】
なお、多重認証システムの処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを認証デバイスおよび被認証デバイスに読み込ませ、実行することによって本発明の多重認証システムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0071】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0072】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0073】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0074】
100;認証デバイス
111;乱数生成部
112;送信部
113;演算部
114;認証部
121;受信部
122;乱数取得部
123;演算部
131;乱数生成部
132;送信部
133;演算部
134;認証部
141;受信部
142;演算部
200;被認証デバイス
221;乱数生成部
222;暗号化部
223;演算部
241;乱数生成部
242;演算部

【特許請求の範囲】
【請求項1】
認証デバイスが複数の被認証デバイスを認証する多重認証システムであって、
前記複数の被認証デバイスが、秘密鍵Sを保有しており、
前記認証デバイスが、
乱数Rを生成する第1の乱数生成手段と、
該生成した乱数を前記複数の被認証デバイスに送信する第1の送信手段と、
前記複数の被認証デバイスから受信した値から加算に対して一意に分解可能な前記複数の被認証デバイスのIDの加算値を求める第1の演算手段と、
該加算値から前記複数の被認証デバイスのIDを特定して認証を行う認証手段と、
を備えたことを特徴とする多重認証システム。
【請求項2】
前記複数の被認証デバイスがそれぞれ、
乱数r_iを生成する第2の乱数生成手段と、
暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化する第1の暗号化手段と、
該生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する第2の演算手段と、
を備え、
前記認証デバイスが、
前記A_iおよびB_iを受信する受信手段と、
暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する乱数取得手段と、
を備え、
前記第1の演算手段が、前記A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、前記B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求めることを特徴とする請求項1に記載の多重認証システム。
【請求項3】
認証デバイスが複数の被認証デバイスを認証する多重認証システムであって、
前記複数の被認証デバイスが、異なる秘密鍵x_iを保有しており、
前記認証デバイスが、
乱数Rを生成する第1の乱数生成手段と、
該生成した乱数を前記複数の被認証デバイスに送信する第1の送信手段と、
前記複数の被認証デバイスから受信した値を用いて、所定の演算を行い、演算値を求める第1の演算手段と、
該演算値を検証することにより認証を行う認証手段と、
を備えたことを特徴とする多重認証システム。
【請求項4】
前記複数の被認証デバイスがそれぞれ、
乱数r_iを生成する第2の乱数生成手段と、
自己の秘密鍵x_i、前記認証デバイスの公開鍵gと秘密鍵sと各被認証デバイスの公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する第2の演算手段と、
を備え、
前記認証デバイスが、
前記A_i、B_i、C_iを受信する受信手段と、
を備え、
前記第1の演算手段が、該受信したA_iをすべて乗算してAを求め、該受信したB_iをすべて乗算してBを求め、該受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算することを特徴とする請求項3に記載の多重認証システム。
【請求項5】
前記複数の被認証デバイスの個別のIDがh(gx_i)であり、前記求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した前記複数の非認証デバイスのIDを取得するID取得手段を備えたことを特徴とする請求項4に記載の多重認証システム。
【請求項6】
認証デバイスが複数の被認証デバイスを認証する多重認証システムにおける多重認証方法であって、
前記複数の被認証デバイスが、秘密鍵Sを保有しており、
前記認証デバイスが、乱数Rを生成する第1のステップと、
前記認証デバイスが、該生成した乱数を前記複数の被認証デバイスに送信する第2のステップと、
前記認証デバイスが、前記複数の被認証デバイスから受信した値から加算に対して一意に分解可能な前記複数の被認証デバイスのIDの加算値を求める第3のステップと、
前記認証デバイスが、該加算値から前記複数の被認証デバイスのIDを特定して認証を行う第4のステップと、
を備えたことを特徴とする多重認証方法。
【請求項7】
前記複数の被認証デバイスがそれぞれ乱数r_iを生成する第5のステップと、
前記複数の被認証デバイスが暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化する第6のステップと、
前記複数の被認証デバイスが該生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する第7のステップと、
を備え、
前記認証デバイスが、前記A_iおよびB_iを受信する第8のステップと、
前記認証デバイスが、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する第9のステップと、
を備え、
前記第3のステップが、前記A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、前記B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求めることを特徴とする請求項6に記載の多重認証方法。
【請求項8】
認証デバイスが複数の被認証デバイスを認証する多重認証システムにおける多重認証方法であって、
前記複数の被認証デバイスが、異なる秘密鍵x_iを保有しており、
前記認証デバイスが、乱数Rを生成する第1のステップと、
前記認証デバイスが、該生成した乱数を前記複数の被認証デバイスに送信する第2のステップと、
前記認証デバイスが、前記複数の被認証デバイスから受信した値を用いて、所定の演算を行い、演算値を求める第3のステップと、
前記認証デバイスが、該演算値を検証することにより認証を行う第4のステップと、
を備えたことを特徴とする多重認証方法。
【請求項9】
前記複数の被認証デバイスがそれぞれ乱数r_iを生成する第5のステップと、
前記複数の被認証デバイスが自己の秘密鍵x_i、前記認証デバイスの公開鍵gと秘密鍵sと各被認証デバイスの公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する第6のステップと、
を備え、
前記認証デバイスが、前記A_i、B_i、C_iを受信する第7のステップと、
を備え、
前記第3のステップが、該受信したA_iをすべて乗算してAを求め、該受信したB_iをすべて乗算してBを求め、該受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算することを特徴とする請求項8に記載の多重認証方法。
【請求項10】
前記複数の被認証デバイスの個別のIDがh(gx_i)であり、前記求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した前記複数の非認証デバイスのIDを取得する第8のステップをさらに備えたことを特徴とする請求項9に記載の多重認証方法。
【請求項11】
認証デバイスが複数の被認証デバイスを認証する多重認証システムにおける多重認証方法をコンピュータに実行させるためのプログラムであって、
前記複数の被認証デバイスが、秘密鍵Sを保有しており、
前記認証デバイスが、乱数Rを生成する第1のステップと、
前記認証デバイスが、該生成した乱数を前記複数の被認証デバイスに送信する第2のステップと、
前記複数の被認証デバイスがそれぞれ乱数r_iを生成する第3のステップと、
前記複数の被認証デバイスが暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化する第4のステップと、
前記複数の被認証デバイスが該生成した乱数r_iと暗号化したE(S、R)と自己のIDであるID_iとに基づいて、A_i=r_i XOR E(S、R)およびB_i=ID_i+r_iを演算する第5のステップと、
前記認証デバイスが、前記A_iおよびB_iを受信する第6のステップと、
前記認証デバイスが、暗号アルゴリズムEと秘密鍵SとによりRをE(S、R)に暗号化してA_i=r_i XOR E(S、R)を求めて、r_iを取得する第7のステップと、
前記認証デバイスが、前記A_iとE(S、R)の排他的論理和演算を行って、乱数r_iを復元し、すべての乱数r_iを加算してrを求め、前記B_iを加算してBを求め、B−rを計算して、一意に分解可能な各被認証デバイスのIDの加算値を求める第8のステップと、
前記認証デバイスが、該加算値から前記複数の被認証デバイスのIDを特定して認証を行う第9のステップと、
を備えたことを特徴とする多重認証方法。
【請求項12】
認証デバイスが複数の被認証デバイスを認証する多重認証システムにおける多重認証方法をコンピュータに実行させるためのプログラムであって、
前記複数の被認証デバイスが、異なる秘密鍵x_iを保有しており、
前記認証デバイスが、乱数Rを生成する第1のステップと、
前記認証デバイスが、該生成した乱数を前記複数の被認証デバイスに送信する第2のステップと、
前記複数の被認証デバイスがそれぞれ乱数r_iを生成する第3のステップと、
前記複数の被認証デバイスが自己の秘密鍵x_i、前記認証デバイスの公開鍵gと秘密鍵sと各被認証デバイスの公開鍵gx_iと秘密鍵x_iとハッシュ関数h()とを用いて、A_i=gr_i+h(R)+x_i、B_i=gsh(R)x_i、C_i=gsr_iを演算する第4のステップと、
前記認証デバイスが、前記A_i、B_i、C_iを受信する第5のステップと、
前記認証デバイスが、該受信したA_iをすべて乗算してAを求め、該受信したB_iをすべて乗算してBを求め、該受信したC_iをすべて乗算してCを求め、さらに、B´=B(1/sh(R))、C´=C(1/s)を演算し、受信したメッセージの個数nを用いて、A/B´/C´=gnh(R)を演算する第6のステップと、
前記認証デバイスが、該演算値を検証することにより認証を行う第7のステップと、
前記複数の被認証デバイスの個別のIDがh(gx_i)であり、前記認証デバイスが、前記求めた各B_iについて、B_i(1/sh(R))を演算することにより、認証した前記複数の被認証デバイスのIDを取得する第8のステップと、
を備えたことを特徴とするプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−34303(P2012−34303A)
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願番号】特願2010−174110(P2010−174110)
【出願日】平成22年8月3日(2010.8.3)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】