説明

鍵共有方法、認証方法、認証プログラム、記録媒体および通信システム

【課題】認証処理に利用する秘密情報が漏洩しても、漏洩前に送受信内容に関する秘匿性を保障できる認証処理を提供する。
【解決手段】被認証者110は、認証子bに一方向性関数演算を施して認証情報Bを生成する。この認証情報Bとあらかじめ保持していた認証情報Aから送信用データα、βを生成して、認証者120に送信する(ステップS111、S112)。送信用データα、β送信後、被認証者110は、認証情報をBに更新する(ステップS113)。認証者120は、送信用データα、βを受信すると、あらかじめ保持していた認証情報Aによって送信用データαのマスクを解除し、認証子aを取得し(ステップS121)、認証子aに一方向性関数演算を施した値が、保持していた認証情報Aと等しいか否かを判断する(ステップS122)。等しい場合(ステップS122:Yes)、認証者120は、被認証者110を認証する(ステップS123)。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報通信システムなどにおいて通信相手やユーザの利用資格の正当性を認証する際に用いる鍵共有方法、認証方法、認証プログラム、記録媒体および通信システムに関する。
【背景技術】
【0002】
従来、複数の通信装置間でそれぞれが認証者もしくは被認証者となり一方の通信装置を認証するための様々な技術が提供されている。代表的な例を挙げると、たとえば、認証処理をおこなう通信装置同士があらかじめ共有の固定データを用いて暗号鍵に関するデータを送信する。そして、通信装置同士が、それぞれの秘密鍵を用いて暗号鍵に関するデータを相互に送信して、暗号鍵を共有し、この暗号鍵によって暗号化を施した情報を受信できるか否かによって認証をおこなう(たとえば、下記非特許文献1、2参照。)。
【0003】
【非特許文献1】E.Rescorla著、“Diffie−Hellman 鍵共有法(DH法)”、インターネットセキュリティに関するRFCの日本語訳、4.公開鍵アルゴリズム、[online]、平成11年6月、独立行政法人情報処理推進機構、[平成20年、1月16日検索]、インターネット〈URL:http://www.ipa.go.jp/security/rfc/RFC2631JA.html〉
【非特許文献2】D.Harkins著、外1名、“IKE:インターネット鍵交換”、インターネットセキュリティに関するRFCの日本語訳、8.IPsec、[online]、平成10年11月、独立行政法人情報処理推進機構、[平成20年、1月16日検索]、インターネット〈URL:http://www.ipa.go.jp/security/rfc/RFC2409JA.html〉
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記非特許文献1、2のような従来技術を用いた認証処理の場合、秘密情報は安全に管理されることが前提とされている。しかしながら、現実には秘密鍵の運用は常に盗聴や漏洩の危険に晒されている。また、認証者側では、秘密情報を記録している認証機器などを紛失する、攻撃者にパスワードなどの秘密情報が漏洩する、盗み見られるといったケースが発生する可能性がある。また、被認証者側では、保存されている秘密情報が漏洩するといった可能性がある。
【0005】
上述のようなケースが発生した場合、秘密鍵を不正に取得した攻撃者によって過去の暗号化通信データが取得可能になってしまう。このように、従来技術による認証処理は、一旦秘密鍵の情報が漏れてしまうと、この秘密鍵を利用しておこなわれた通信処理に関する秘匿性を保障することができないという問題があった。
【0006】
この発明は、上述した従来技術による問題点を解消するため、認証処理に利用する秘密情報が漏洩しても、漏洩前の送受信の内容に関する秘匿性を保障できる鍵共有方法、認証方法、認証プログラム、記録媒体および通信システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するため、請求項1の発明にかかる鍵共有方法は、あらかじめ同一の共有情報を備えた複数の通信装置同士が、前記共有情報を秘密鍵として暗号化通信をおこなうための鍵共有方法であって、前記複数の通信装置の中の送信側通信装置において、次回の暗号化通信に利用する秘密鍵として次回共有情報を生成する生成工程と、前記生成工程によって生成された次回共有情報を、前記共有情報によって符号化する符号化工程と、前記符号化された次回共有情報を前記複数の通信装置の中の受信側通信装置に送信する送信工程と、前記共有情報を秘密鍵として利用する暗号化通信が終了すると、前記共有情報を前記次回共有情報に更新する送信側更新工程と、前記受信側通信装置において、前記送信側通信装置から前記符号化された次回共有情報を受信する受信工程と、前記符号化された次回共有情報を、あらかじめ備えられた前記共有情報によって復号する復号工程と、前記共有情報を秘密鍵として利用する暗号化通信が終了すると、前記共有情報を前記復号工程によって復号された次回共有情報に更新する受信側更新工程と、を含むことを特徴とする。
【0008】
この請求項1の発明によれば、次回の暗号化通信に利用する秘密鍵を今回の秘密鍵によって符号化して通信相手に送信するため、機密性を保ったまま次回の暗号化通信の秘密鍵を送受信双方の通信装置に共有させることができる。
【0009】
また、請求項2に記載の鍵共有方法は、請求項1に記載の発明において、前記共有情報および前記次回共有情報が、それぞれ異なる任意データに一方向性関数演算を施した値であることを特徴とする。
【0010】
この請求項2の発明によれば、共有情報や、次回共有情報から任意データへ復号することができないため、認証情報が漏洩した場合の情報の流出を最小限に留めることができる。
【0011】
請求項3の発明にかかる認証方法は、あらかじめ共有の認証情報を備えた被認証装置と認証装置との間で前記認証情報を用いて認証処理をおこなう認証方法であって、前記被認証装置において、次回の認証処理に利用する次回認証情報を生成する生成工程と、前記生成工程によって生成された次回認証情報を、前記認証情報によって符号化する符号化工程と、前記符号化された次回認証情報を認証装置に送信する送信工程と、前記認証情報を前記次回認証情報に更新する被認証側更新工程と、前記認証装置において、前記被認証装置から前記符号化された次回認証情報を受信する受信工程と、前記認証情報によって前記被認証装置が認証されると、前記符号化された次回認証情報を前記認証情報によって復号する復号化工程と、前記認証情報を、前記復号化工程によって復号された次回認証情報に更新する認証側更新工程と、を含むことを特徴とする。
【0012】
この請求項3の発明によれば、次回の認証処理に利用する認証情報を今回の認証情報による認証処理と並列して認証装置に送信するため、機密性を保ったまま、認証情報を認証ごとに更新することができる。
【0013】
また、請求項4の発明にかかる認証方法は、請求項3に記載の発明において、前記認証情報および前記次回認証情報は、それぞれ異なる認証子に一方向性関数演算を施した値であることを特徴とする。
【0014】
この請求項4の発明によれば、認証情報から認証子を復号することができないため、認証情報が漏洩した場合の情報の流出を最小限に留めることができる。
【0015】
また、請求項5の発明にかかる認証方法は、被認証装置と認証装置との間で認証処理をおこなう認証方法であって、前記被認証装置において、一の認証子に一方向性関数演算を施した情報を、今回認証情報として所定のメモリに保持する被認証側保持工程と、前記今回認証情報によって前記一の認証子をマスクしたマスク情報を生成するマスク工程と、他の認証子に一方向性関数演算を施した情報を次回認証情報とし、当該次回認証情報に前記一の認証子を鍵とした符号化をおこない符号化情報を生成する符号化工程と、前記マスク工程によって生成されたマスク情報と、符号化工程によって生成された符号化情報とを前記認証装置に送信する送信工程と、前記送信工程による送信後に、前記所定のメモリに保持されている今回認証情報を前記次回認証情報に更新する被認証側更新工程と、を含み、前記認証装置において、前記一の認証子に一方向性関数演算を施した情報を、今回認証情報を取得して所定のメモリに保持する認証側保持工程と、前記被認証装置から送信されたマスク情報と、符号化情報とを受信する受信工程と、前記受信工程によって受信したマスク情報に、前記所定のメモリに保持された前記今回認証情報を用いてマスク解除処理を施してマスク解除情報を生成する解除工程と、前記解除工程によって生成されたマスク解除情報に一方向性関数演算を施した情報と、前記今回認証情報とが等しい場合、前記被認証装置の認証をおこなう認証工程と、前記認証後に、前記受信工程によって受信した符号化情報を、前記解除工程によって生成されたマスク解除情報によって復号化して次回認証情報を取得する復号化工程と、前記復号化工程によって次回認証情報が取得されると、前記所定のメモリに保持されている今回認証情報を前記次回認証情報に更新する認証側更新工程と、を含むことを特徴とする。
【0016】
この請求項5の発明によれば、次回の認証処理に利用する認証情報を今回の認証情報による認証処理と並列して認証装置に送信するため、機密性を保ったまま、認証情報を認証ごとに更新することができる。また、符号化情報からマスク情報を算出できないため、認証情報が漏洩した場合の情報の流出を最小限に留めることができる。
【0017】
また、請求項6の発明にかかる認証方法は、請求項5に記載の発明にて、前記被認証装置において、前記送信工程では、さらに、任意の情報に前記一の認証子を暗号鍵として暗号化を施した暗号化情報を送信し、前記認証装置において、前記復号化工程では、前記受信工程によって前記暗号化情報を受信した場合、さらに、前記マスク解除情報を用いて前記暗号化情報を復号することを特徴とする。
【0018】
この請求項6の発明によれば、認証処理に利用した認証子を用いて被認証装置と認証装置との間の暗号化通信をおこなうことができる。
【0019】
また、請求項7の発明にかかる認証方法は、請求項5または6の発明にて、前記被認証装置において、前記符号化工程では、前記次回認証情報に対して、前記一の認証子の替わりに、前記今回認証情報と前記一の認証子のすべてもしくは一部との演算値を鍵とした符号化をおこない符号化情報を生成し、前記認証装置において、前記復号化工程では、前記符号化情報を、前記マスク解除情報の替わりに、前記今回認証情報と前記マスク解除情報のすべてもしくは一部の演算値によって復号化して次回認証情報を取得することを特徴とする。
【0020】
この請求項7の発明によれば、次回認証情報の符号化に用いる鍵を任意の演算値とすることによって、符号化情報の暗号強度を任意の強度に向上させることができる。
【0021】
また、請求項8の発明にかかる認証プログラムは、請求項3〜7のいずれか一つに記載の認証方法をコンピュータに実行させることを特徴とする。
【0022】
この請求項8の発明によれば、任意のコンピュータを被認証装置もしくは認証装置として請求項3〜7のいずれか一つに記載の認証方法を実行させることができる。
【0023】
また、請求項9の発明にかかる記録媒体は、請求項8に記載の認証プログラムをコンピュータに読み取り可能に記録したことを特徴とする。
【0024】
この請求項9の発明によれば、請求項8に記載の認証プログラムを任意のコンピュータに読み取らせることができる。
【0025】
また、請求項10に記載の通信システムは、あらかじめ被認証装置と認証装置とが共有の認証情報Aを備え、当該認証情報Aを用いて認証処理をおこなう通信システムであって、前記被認証装置は、次回の認証処理に利用する次回認証情報Bを生成する生成手段と、前記生成手段によって生成された次回認証情報Bを、前記認証情報Aによって符号化する符号化手段と、前記符号化された次回認証情報Bを前記認証装置に送信する送信手段と、前記認証情報Aを前記次回認証情報Bに更新する被認証側更新手段と、を備え、前記認証装置は、前記被認証装置から前記符号化された次回認証情報Bを受信する受信手段と、前記認証情報Aによって前記被認証装置が認証されると、前記符号化された次回認証情報Bを前記認証情報Aによって復号する復号化手段と、前記認証情報Aを、前記復号化手段によって復号された次回認証情報Bに更新する認証側更新手段と、を備えることを特徴とする。
【0026】
この請求項10の発明によれば、次回の認証処理に利用する認証情報を今回の認証情報による認証処理と並列して認証装置に送信するため、機密性を保ったまま、認証情報を認証ごとに更新することができる。
【0027】
また、請求項11の発明にかかる通信システムは、請求項10に記載の発明において、前記認証情報Aは、認証子aに一方向性関数演算を施した値であり、前記次回認証情報Bは、認証子bに一方向性関数演算を施した値であることを特徴とする。
【0028】
この請求項11の発明によれば、認証情報から認証子を復号することができないため、認証情報が漏洩した場合の情報の流出を最小限に留めることができる。
【0029】
また、請求項12の発明にかかる通信システムは、被認証装置と認証装置とによって認証処理をおこなう通信システムであって、前記被認証装置は、認証子aを生成する生成手段と、前記生成手段によって生成された認証子aに一方向性関数演算を施した情報を今回認証情報Aとして保持する被認証側保持手段と、前記今回認証情報Aを前記認証子aによってマスクしたマスク情報αを生成するマスク手段と、前記生成手段によって生成した認証子bに一方向性関数演算を施した情報を次回認証情報Bとし、当該次回認証情報Bに前記認証子aを鍵とした符号化をおこない符号化情報βを生成する符号化手段と、前記マスク手段によって生成されたマスク情報αと、符号化手段によって生成された符号化情報βとを前記認証装置に送信する送信手段と、前記送信後に、前記被認証側保持手段が保持する今回認証情報Aを前記次回認証情報Bに更新する被認証側更新手段と、を備え、前記認証装置は、前記今回認証情報Aを取得して保持する認証側保持手段と、前記被認証装置から送信されたマスク情報αと、符号化情報βとを受信する受信手段と、前記受信手段によって受信したマスク情報αに、前記認証側保持手段が保持する今回認証情報Aを用いてマスク解除処理を施してマスク解除情報a’を生成する解除手段と、前記解除手段によって生成されたマスク解除情報a’に一方向性関数演算を施した情報A’と、前記認証側保持手段が保持する今回認証情報Aとが等しい場合、前記被認証装置の認証をおこなう認証手段と、前記認証後に、前記受信手段によって受信した符号化情報βを前記マスク解除情報a’によって復号して次回認証情報Bを取得する復号化手段と、前記復号化手段によって次回認証情報Bが取得されると、前記認証側保持手段が保持する今回認証情報Aを前記次回認証情報Bに更新する認証側更新手段と、を備えることを特徴とする。
【0030】
この請求項12の発明によれば、次回の認証処理に利用する認証情報Bを今回の認証情報Aによる認証処理と並列して認証装置に送信するため、機密性を保ったまま、認証情報を認証ごとに更新することができる。また、符号化情報βからマスク情報αを算出できないため、認証情報が漏洩した場合の情報の流出を最小限に留めることができる。
【0031】
また、請求項13の発明にかかる通信システムは、請求項12に記載の発明にて、前記被認証装置において、前記送信手段は、さらに、任意の情報に前記認証子aを暗号鍵として暗号化を施した暗号化情報を送信し、前記認証装置において、前記復号化手段は、前記受信手段によって前記暗号化情報を受信した場合、さらに、前記マスク解除情報a’を用いて前記暗号化情報を復号することを特徴とする。
【0032】
この請求項13の発明によれば、認証処理に利用した認証子を用いて被認証装置と認証装置との間の暗号化通信をおこなうことができる。
【0033】
また、請求項14の発明にかかる通信システムは、請求項12または13に記載の発明にて、前記被認証装置において、前記符号化手段は、前記次回認証情報Bに対して、前記認証子aの替わりに、前記今回認証情報Aと前記認証子aのすべてもしくは一部との演算値を鍵とした符号化をおこない符号化情報βを生成し、前記認証装置において、前記復号化手段は、前記符号化情報βを、前記マスク解除情報a’の替わりに、前記今回認証情報Aと前記マスク解除情報a’のすべてもしくは一部の演算値によって復号化して次回認証情報Bを取得することを特徴とする。
【0034】
この請求項14の発明によれば、次回認証情報Bの符号化に用いる鍵を任意の演算値とすることによって、符号化情報βの暗号強度を任意の強度に向上させることができる。
【発明の効果】
【0035】
本発明にかかる鍵共有方法、認証方法、認証プログラム、記録媒体および通信システムによれば、認証処理に利用する秘密情報が漏洩しても、漏洩前の送受信の内容に関する秘匿性を保障できるという効果を奏する。
【発明を実施するための最良の形態】
【0036】
以下に添付図面を参照して、この発明にかかる鍵共有方法、認証方法、認証プログラム、記録媒体および通信システムの好適な実施の形態を詳細に説明する。
【0037】
(認証処理の概要)
まず、本実施の形態にかかる認証処理の概要について説明する。図1は、本発明にかかる認証処理の概要を示す説明図である。図1の通信システム100では、被認証者110の認証要求に対して認証者120が認証するか否かの判断がおこなわれる。なお、通信システム100の被認証者110と認証者120とは、あらかじめ共有の認証情報Aを保持しているものとする。また、認証情報Aは、被認証者110によって認証子aに一方向性関数演算を施した値である。なお、図1に示す数式はそれぞれ下記のような演算をあらわす。
【0038】
X :x(任意の値)に一方向性関数演算を施した値
m_{y}(x):xをy(任意の値)でマスクした値
n_{y}(x):xでyのマスクを解除した値
e_{y}(x):xをyで符号化した値
d_{y}(x):xをyで復号した値
h(x) :xを用いた一方向性関数演算式
【0039】
そして、被認証者110があらたに認証者120に認証を要求する場合、まず、被認証者110は、任意の認証子bを生成し、さらに、認証子bに一方向性関数演算を施した認証情報Bを生成し、これら生成した情報とあらかじめ保持していた情報とを用いて送信用データα、βを生成する(ステップS111)。
【0040】
α=m_{A}(a)とあらわしているように、送信用データαは、認証情報Aによって認証子aをマスクした値である。また、β=e_{a}(B)とあらわしているように、送信用データβは、認証子aによって認証情報Bを符号化した値である。
【0041】
ステップS111によって生成された送信用データα、βは、被認証者110から認証者120に送信される(ステップS112)。また、送信用データα、β送信後、被認証者110は、認証情報をB(認証子bを含む)に更新し(ステップS113)、一連の認証要求処理を終了する。このステップS113の処理は、次回の認証に利用する認証情報の設定処理となる。
【0042】
認証者120は、被認証者110からの送信用データα、βを受信すると、あらかじめ保持していた認証情報Aを用いて送信用データαのマスクを解除した情報を取得する(ステップS121)。上述したように、送信用データαは、認証情報Aによって認証子aをマスクした値である。したがって、n_{A}(α)→aとあらわしたように、ステップS121では、正しい送信用データαを受信していれば、マスクを解除した情報として認証子aを取得することとなる。
【0043】
つぎに、認証者120は、ステップS121によって取得した認証子aに一方向性関数演算を施した値h(a)が、あらかじめ保持していた認証情報Aと等しいか否かを判断する(ステップS122)。このステップS122において、h(a)=Aであると判断された場合(ステップS122:Yes)、認証者120は、被認証者110を認証する(ステップS123)。一方、h(a)≠Aであると判断された場合には(ステップS122:No)、認証者120は、被認証者110を被認証として(ステップS124)、一連の処理を終了する。
【0044】
ステップS123のように被認証者110が認証された場合、認証者120は、さらに、次回の認証に利用する認証情報の設定処理に移行する。まず、認証者120は、被認証者110から受信した送信用データβをステップS121によって取得した認証子aを用いて復号する(ステップS125)。
【0045】
被認証者110のステップS111の処理の際に説明したように、送信用データβは、認証子aによって認証情報Bを符号化した値である。したがって、認証者120は、ステップS125の処理によって次回の認証に利用する認証情報Bを取得したことになる。そして、認証者120は、ステップS125によって取得した認証情報Bを、次回の認証に利用する認証情報として保存し(ステップS126)、一連の処理を終了する。
【0046】
このように、本発明にかかる認証処理では、通信用データα、βは、それぞれ、α=m_{X}(x)、β=e_{x}(Y)という演算式によって生成されるため、αからβを求めることはできるが、βからαを求めることはできない。したがって、被認証者110や認証者120が保持している認証情報が一のタイミングで、攻撃者に漏洩したとしても、上述の一のタイミング以前の認証に利用された認証情報をさかのぼって取得することはできない。結果として、認証情報が漏洩したとしても漏洩以前の暗号化データの秘匿性を保障することができる。
【0047】
上述のように、通信システム100では、認証情報を利用して、被認証者110と認証者120との認証処理を実現させたが、認証処理に限定されず、秘密鍵方式の暗号化通信に適用させてもよい。秘密鍵方式の暗号化通信をおこなう場合には、通信システム100の処理を利用して、被認証者110と認証者120とに共有の秘密鍵を共有させることができる。この場合、被認証者110と認証者120とは、認証処理をおこなう関係であってもよいし、単純にデータの送受信をおこなう関係であってもよい。
【0048】
通信システム100を鍵共有処理のために利用する場合には、まず、被認証者110によって次回の暗号化通信に利用する秘密鍵として次回共有情報(たとえば、認証情報B)を生成する。当然、この場合でも、あらかじめ、被認証者110と認証者120とは、同一の共有情報(たとえば、認証情報A)を備えているものとする。そして、生成された次回共有情報を、すでに被認証者110と認証者120との双方に保持されている共有情報によって符号化する。符号化された次回共有情報は、被認証者110が、認証者120との暗号化通信の際に送信される。このときの暗号化通信の秘密鍵には、認証情報Aが利用される。
【0049】
一方、認証者120は、被認証者110から符号化された次回共有情報を受信すると、この符号化された次回共有情報を、あらかじめ備えられた共有情報(ここでは、認証情報A)によって復号する。復号された次回共有情報は、次回の暗号化通信の秘密鍵となるため、被認証者110と認証者120との双方に、次回の暗号化通信に利用する秘密鍵が共有されたこととなる。
【0050】
したがって、現在の共有情報である認証情報Aを秘密鍵として利用する暗号化通信が終了すると、現在の共有情報(認証情報A)を復号された次回共有情報(認証情報B)に更新することで、鍵共有が完了する。なお、当然のことながら、鍵共有処理をおこなう場合も、認証処理と同様に、任意のデータに一方向性関数演算を施した値を共有情報としてもよい。このような演算を施すことによって、共有情報が漏洩した場合の情報の流出を最小限に留めることができる。
【0051】
以下、図1によって説明した認証処理を実現するための具体的な通信システムの構成と、被認証装置と認証装置として機能する通信装置の構成と動作手順について説明する。
【0052】
(システム構成)
まず、本実施の形態にかかる通信システムの構成について説明する。図2は、本実施の形態にかかる通信システムの構成を示す説明図である。通信システム200は、複数の通信装置によって構成されている。これら各通信装置は、ユーザが利用する被認証装置210(210a〜210f)と、サーバに配置された認証装置220としてそれぞれ機能する。通信システム200を構成する各通信装置、すなわち、ユーザが利用する被認証装置210と、各ユーザを認証する認証装置220は、ネットワーク230によって相互に接続されている。
【0053】
通信システム200において、ユーザは、被認証装置210から認証装置220に認証を要求する。認証装置220によって認証されると、認証装置220が配置されているサーバが提供する所定のサービス(たとえばデータ通信接続サービス、ゲート通過許可、コンテンツ提供など)を受けることができる。以下、認証装置220が、ユーザが利用する被認証装置210を認証した場合(認証が成立した場合)は、ユーザとサーバとの間で相互接続を開始するものとする。なお、詳細な処理の説明は省略するが、さらに安全性の向上のため、ユーザが利用する被認証装置210にも認証装置220相当の機能を備え、また、認証装置220も被認証装置210相当の機能を備えてもよい。このような構成にすることによって、サーバが正当な供給者であるかを認証する相互認証をおこなうことができる。
【0054】
(通信装置のハードウェア構成)
つぎに、本実施の形態にかかる通信システム200における各通信装置のハードウェア構成について説明する。図3は、本実施の形態にかかる通信システムにおける各通信装置のハードウェア構成を示すブロック図である。上述したように通信システム200を構成する各通信装置は、被認証装置210もしくは認証装置220として機能するため、ここでは、被認証装置210および認証装置220は同一のハードウェア構成を有するものとして以下説明をおこなう。
【0055】
図3において、CPU311は、通信装置全体を制御する。また、ROM312には、基本入出力プログラムが記憶され、RAM313は、CPU311のワークエリアとして使用される。
【0056】
HDD(ハードディスクドライブ)314は、CPU311の制御にしたがってHD(ハードディスク)315に対するデータのリード/ライトを制御する。そして、HD315は、HDD314の制御にしたがって書き込まれたデータを記憶する。また、FDD(フレキシブルディスクドライブ)316は、CPU311の制御にしたがってFD(フレキシブルディスク)317に対するデータのリード/ライトを制御する。そして、FD317は、FDD316の制御にしたがって書き込まれたデータを記憶する。またFD317は、被認証装置210、認証装置220から着脱自在である。
【0057】
また、ディスプレイ318は、カーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示する。また、通信I/F(インターフェース)319は、ネットワーク230に接続し、他の通信装置(被認証装置210、認証装置220のいずれか)とのデータの送受信を可能にする。また、キーボード320は、文字、数値、各種指示などの入力のための複数のキーを備えている。また、マウス321は、各種指示の選択や実行、処理対象の選択、カーソルの移動などをおこなうことができる。
【0058】
さらに、スキャナ322は、文字や画像を光学的に読み取り、プリンタ323は、文字や画像を用紙上に印刷する。そして、CD−ROM324は、着脱可能な記録媒体であり、CD−ROMドライブ325によってCPU311から指定されたデータのリードを制御することができる。上述した各ハードウェア311〜325は、それぞれ共通のバス(またはケーブル)326に接続されている。
【0059】
(通信装置の機能的構成)
つぎに、上述した通信装置の機能的構成について説明する。図4は、各通信装置の機能的構成を示すブロック図である。図4に示すように、被認証装置210は、生成部211と、保持部212と、マスク部213と、符号化部214と、送信部215と、更新部216とから構成されている。また、認証装置220は、保持部221と、受信部222と、解除部223と、認証部224と、復号化部225と、更新部226とから構成されている。
【0060】
まず、被認証装置210の各機能部について説明する。生成部211は、任意の認証子を生成する。この認証子は、認証装置220との認証処理に用いる認証情報を生成するための元データとなる。なお、ここでは、生成部211によって生成された任意の認証子は、生成順にa、b、c、…、nとする。したがって、まず生成部211によって生成された認証子は認証子aとなる。また、被認証装置210による認証処理では、今回の認証に利用する認証情報とともに次回の認証に利用する次回認証情報を送信する。したがって、生成部211には、要求に応じて認証子bを生成する。
【0061】
保持部212は、生成部211によって生成された認証子に一方向性関数演算を施した情報を今回認証情報として保持する。上述のように、認証子aが生成された場合には、一方向性関数演算を施すことによって今回認証情報Aが保持される。以下、今回認証情報Aが保持されたものとして説明を続ける。
【0062】
マスク部213は、今回認証情報Aを認証子aによってマスクしたマスク情報αを生成する。マスク部213によって生成されたマスク情報αは、認証装置220に直接送信する送信用データである。
【0063】
符号化部214は、あらたに生成部211によって生成した認証子bに一方向性関数演算を施した情報を次回認証情報Bとし、さらに、この次回認証情報Bに認証子aを鍵とした符号化をおこなう。このようにして符号化部214では、符号化情報βが生成される。
【0064】
なお、符号化部214では、次回認証情報Bに対して、認証子aの替わりに、今回認証情報Aと認証子aのすべてもしくは一部との演算値を鍵とした符号化をおこない符号化情報βを生成してもよい。
【0065】
送信部215は、マスク部213によって生成されたマスク情報αと、符号化部214によって生成された符号化情報βとを認証装置220に送信する。
【0066】
更新部216は、送信部215による送信用データ(マスク情報α、符号化情報β)の送信後に、保持部212が保持する今回認証情報を次回認証情報に更新する。したがって、ここでは、保持部212に保持されていた今回認証情報Aが次回認証情報Bに更新される。したがって、次回の認証時には認証情報Bが今回認証情報として利用される。
【0067】
つぎに、認証装置220の各機能部について説明する。保持部221は、被認証装置210の保持部212に保持された今回認証情報Aを取得して保持する。ここで、今回認証情報Aの取得の手法は、安全な手法であれば任意である。被認証装置210が認証装置220と共有の認証情報を取得する処理は、初回の認証処理に限定したものである(以降の認証処理に利用する認証情報は、送信用データによって送受されるため)。したがって、ネットワーク230を経由せずに、認証装置220は、被認証装置210のユーザから直接、今回認証情報Aを取得できる手法や郵送などが好ましい。
【0068】
受信部222は、被認証装置210から送信されたマスク情報αと、符号化情報βとを受信する。図4では、被認証装置210と認証装置220とは直接接続されているが、実際にはネットワーク230を介してマスク情報αと、符号化情報βとを受信している。
【0069】
解除部223は、受信部222によって受信したマスク情報αに、保持部221が保持する今回認証情報Aを用いてマスク解除処理を施してマスク解除情報a’を生成する。
【0070】
認証部224は、解除部223によって生成されたマスク解除情報a’に一方向性関数演算を施した情報A’と、保持部221が保持する今回認証情報Aとが等しければ被認証装置210の認証をおこなう。このとき、今回認証情報Aと情報A’とが等しくなければ、認証を拒否する。
【0071】
復号化部225は、認証部224による認証後に、受信部222によって受信した符号化情報βをマスク解除情報a’によって復号して次回認証情報Bを取得する。
【0072】
なお、被認証装置210によって、次回認証情報Bに対して、認証子aの替わりに、今回認証情報Aと認証子aのすべてもしくは一部との演算値を鍵とした符号化をおこない符号化情報βが生成された場合には、復号化部225は、符号化情報βを、マスク解除情報a’の替わりに、今回認証情報Aとマスク解除情報a’のすべてもしくは一部の演算値によって復号化して次回認証情報Bを取得する。
【0073】
更新部226は、復号化部225によって次回認証情報が取得されると、保持部221が保持する今回認証情報を次回認証情報に更新する。ここでも、次回認証情報としてBが取得されるため、今回認証情報Aは、次回認証情報Bに更新され、次回の認証時には、被認証装置210、認証装置220ともに今回認証情報として認証情報Bを利用することになる。
【0074】
(認証処理の手順)
つぎに、上述した被認証装置210からの認証要求に応じて認証装置220が認証をおこなう一連の認証処理の手順について説明する。図1において説明したように、本実施の形態の場合、認証の際には、あらかじめ被認証者と認証者とが共通の認証情報を保持している必要がある。
【0075】
そこで、通信システム200の場合、被認証装置210と認証装置220とが共通の認証情報を保持するために、実際の認証処理の前段に初期登録処理をおこなう。初期登録処理が終了した後は、通常の認証処理が開始される。したがって、以下フローチャートを用いて初期登録処理と、通常の認証処理(初回、2回目以降)とについてそれぞれ手順を説明する。
【0076】
<初期登録処理の手順>
まず、被認証者による初期登録処理の手順について説明する。図5は、被認証者による初期登録処理の手順を示すフローチャートである。図5のフローチャートにおいて、まず、被認証装置210は、認証子aを取得する(ステップS511)。このステップS511による認証子aの取得手法は任意である。したがって、生成部211によって生成された任意の値を認証子aとしてもよいし、ユーザから入力されたデータを認証子aとしてもよい。
【0077】
つぎに、認証子aに一方向性関数演算を施して認証情報Aを生成し、保存する(ステップS512)。ステップS512によって上述した保持部212には、認証子aと、認証情報Aとが保存されている。そして、被認証装置210は、生成した認証情報Aを認証装置220に登録する(ステップS513)。ステップS513において登録された認証情報Aは、安全な手段によって認証装置220に配信される(ステップS514)。認証装置220は、保持部221に保持することによって認証情報Aを保存し(ステップS521)、一連の処理を終了する。以上説明した処理が初期登録処理となる。
【0078】
<認証処理>
つぎに、実際の認証処理の手順について説明する。まず、初期登録処理直後の初回の認証処理の手順について説明する。図6は、初回の認証処理の手順を示すフローチャートである。図6のフローチャートにおいて、まず、被認証装置210は、認証子bを取得する(ステップS611)。この認証子bも認証子aと同様に取得手法は任意である。そして、ステップS611によって取得した認証子bに一方向性関数演算を施して認証情報Bを生成し、保存する(ステップS612)。
【0079】
つぎに、被認証装置210は、認証装置220への送信用データとして、マスク部213においてマスク情報αを生成し、符号化部214において符号化情報βを生成し、それぞれの情報α、βを送信部215から認証装置220へ送信する(ステップS613)。ここで、マスク情報αは、認証子aを認証情報Aによってマスク処理を施した値である。また、符号化情報βは、認証情報Bを認証子aによって符号化した値である。
【0080】
以上の処理が被認証装置210による認証要求処理となる。なお、認証要求処理と平行して、被認証装置210では、2回目以降の認証のための準備がおこなわれている。図4の更新部216にて説明したように、送信部215によって情報α、βが送信されると、認証情報の更新処理がおこなわれる。したがって、認証情報Aは、ステップS612において保存された認証情報に更新される。
【0081】
一方、認証装置220では、被認証装置210から送信されたマスク情報α、符号化情報βを受信部222によって受信する(ステップS621)。受信した情報のうち、まず、解除部223によって、マスク情報αが解除されマスク解除情報として認証子a’が算出される(ステップS622)。そして、認証部224は、認証子a’に被認証装置210のステップS611と同様に一方向性関数演算を施し、認証情報A’を生成する(ステップS623)。
【0082】
そして、認証部224は、初期登録処理(図5参照)によって保持部221に保存された認証情報Aと、ステップS623によって生成された認証情報A’とが等しいか否かを判断する(ステップS624)。ここで、認証情報Aと認証情報A’とが等しいと判断された場合(ステップS624:Yes)、認証装置220は、被認証装置210を認証する(ステップS625)。一方、認証情報Aと認証情報A’とが等しくないと判断された場合(ステップS624:No)、認証装置220は、認証拒否し(ステップS627)、そのまま一連の処理を終了する。
【0083】
上述のように被認証装置210が認証された場合、認証装置220は、さらに、次回の認証のための準備として、受信部222によって受信した符号化情報βを復号し、保存し(ステップS626)、一連の処理を終了する。このステップS626では、ステップS622によって算出された認証子a’を認証子aとして、符号化情報βの復号をおこなう。これは、ステップS626の段階では、ステップS624によって認証情報Aと認証情報A’とが等しいと判断されているため、認証子a’も、被認証装置210の認証子aと等しいと判断されるためである。復号によって取得された認証情報Bは、次回認証情報となるため、更新部226によって、保持部221に保存される。
【0084】
このように、通信システム200では、送信部215によって情報α、βが送信される。情報α、βは、それぞれ、α=m_{X}(x)、β=e_{x}(Y)という演算式によって生成されるため、αからβを求めることはできるが、βからαを求めることはできない。したがって被認証装置210や認証装置220が保持している認証情報が攻撃者に漏洩したとしても、漏洩以前の認証に利用された認証情報をさかのぼって取得することはできない。
【0085】
<2回目以降の認証処理の手順>
つぎに、2回目以降の認証処理の手順について説明する。なお、認証処理は、被認証情報210と認証装置220とのセッションごとにおこなってもよいし、任意のタイミングでおこなってもよい。したがって、初回、2回目以降の切り替えも、ユーザの任意である。図6のフローチャートによって説明したように、初回の認証処理の開始時には、被認証装置210には、保存情報として、認証子a、認証情報Aが保持されており、認証装置220には、保存情報として、認証情報Aが保持されていた。そして、初回の認証処理終了時には、被認証装置210には、保存情報として、認証子b、認証情報Bが保持されており、認証装置220には、保存情報として、認証情報Bが保持される。
【0086】
図7は、2回目の認証処理の手順を示すフローチャートである。初回の認証処理が完了した後の2回目の認証処理では、認証情報Bを用いて認証をおこなう。同様に、認証情報はB→C→D→…→Nと認証ごとに更新されていく。したがって、図7のフローチャートに示したように、2回目の認証処理では、認証子bと認証情報Bに加えて、次回の認証に利用する認証子cと認証情報Cによって、認証処理がおこなわれる。3回目以降も同様に、認証子nと、認証情報Nと、次回の認証に利用する認証子n+1と認証情報N+1とによって図5、6と同様の処理がおこなわれる。
【0087】
なお、上述した図6または7の認証において、被認証装置210は、送信部215から送信用データ以外に、さらに任意の情報を送信する際に、この任意の情報に認証子aを暗号鍵として暗号化を施した暗号化情報として送信してもよい。この場合、認証装置220では、暗号化情報を受信した場合、復号化部225によって、上述の暗号化情報を、マスク解除情報a’を用いて復号すれば被認証装置210が送信した任意の情報を受信することができる。
【0088】
以上説明したように、本実施の形態にかかる鍵共有方法、認証方法、認証プログラム、記録媒体および通信システムによれば、認証処理に利用する秘密情報が漏洩しても、漏洩前に送受信した内容に関する秘匿性を保障することができる。
【0089】
なお、本実施の形態で説明した認証方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【0090】
以上のように、本発明にかかる鍵共有方法、認証方法、認証プログラム、記録媒体および通信システムは、汎用ネットワークを利用して相互通信をおこなう通信装置に有用であり、特に、情報漏洩の可能性の高い携帯可能な通信装置に適している。
【図面の簡単な説明】
【0091】
【図1】本発明にかかる認証処理の概要を示す説明図である。
【図2】本実施の形態にかかる通信システムの構成を示す説明図である。
【図3】本実施の形態にかかる通信システムにおける各通信装置のハードウェア構成を示すブロック図である。
【図4】各通信装置の機能的構成を示すブロック図である。
【図5】被認証者による初期登録処理の手順を示すフローチャートである。
【図6】初回の認証処理の手順を示すフローチャートである。
【図7】2回目の認証処理の手順を示すフローチャートである。
【符号の説明】
【0092】
110 被認証者
120 認証者
210 被認証装置
211 生成部
212 保持部
213 マスク部
214 符号化部
215 送信部
216 更新部
220 認証装置
221 保持部
222 受信部
223 解除部
224 認証部
225 復号化部
226 更新部

【特許請求の範囲】
【請求項1】
あらかじめ同一の共有情報を備えた複数の通信装置同士が、前記共有情報を秘密鍵として秘密鍵方式の暗号化通信をおこなうための鍵共有方法であって、
前記複数の通信装置の中の送信側通信装置において、
次回の暗号化通信に利用する秘密鍵として次回共有情報を生成する生成工程と、
前記生成工程によって生成された次回共有情報を、前記共有情報によって符号化する符号化工程と、
前記符号化された次回共有情報を前記複数の通信装置の中の受信側通信装置に送信する送信工程と、
前記共有情報を秘密鍵として利用する暗号化通信が終了すると、前記共有情報を前記次回共有情報に更新する送信側更新工程と、
前記受信側通信装置において、
前記送信側通信装置から前記符号化された次回共有情報を受信する受信工程と、
前記符号化された次回共有情報を、あらかじめ備えられた前記共有情報によって復号する復号工程と、
前記共有情報を秘密鍵として利用する暗号化通信が終了すると、前記共有情報を前記復号工程によって復号された次回共有情報に更新する受信側更新工程と、
を含むことを特徴とする鍵共有方法。
【請求項2】
前記共有情報および前記次回共有情報は、それぞれ異なる任意データに一方向性関数演算を施した値であることを特徴とする請求項1に記載の鍵共有方法。
【請求項3】
あらかじめ共有の認証情報を備えた被認証装置と認証装置との間で前記認証情報を用いて認証処理をおこなう認証方法であって、
前記被認証装置において、
次回の認証処理に利用する次回認証情報を生成する生成工程と、
前記生成工程によって生成された次回認証情報を、前記認証情報によって符号化する符号化工程と、
前記符号化された次回認証情報を認証装置に送信する送信工程と、
前記認証情報を前記次回認証情報に更新する被認証側更新工程と、
前記認証装置において、
前記被認証装置から前記符号化された次回認証情報を受信する受信工程と、
前記認証情報によって前記被認証装置が認証されると、前記符号化された次回認証情報を前記認証情報によって復号する復号化工程と、
前記認証情報を、前記復号化工程によって復号された次回認証情報に更新する認証側更新工程と、
を含むことを特徴とする認証方法。
【請求項4】
前記認証情報および前記次回認証情報は、それぞれ異なる認証子に一方向性関数演算を施した値であることを特徴とする請求項3に記載の認証方法。
【請求項5】
被認証装置と認証装置との間で認証処理をおこなう認証方法であって、
前記被認証装置において、
一の認証子に一方向性関数演算を施した情報を、今回認証情報として所定のメモリに保持する被認証側保持工程と、
前記今回認証情報によって前記一の認証子をマスクしたマスク情報を生成するマスク工程と、
他の認証子に一方向性関数演算を施した情報を次回認証情報とし、当該次回認証情報に前記一の認証子を鍵とした符号化をおこない符号化情報を生成する符号化工程と、
前記マスク工程によって生成されたマスク情報と、符号化工程によって生成された符号化情報とを前記認証装置に送信する送信工程と、
前記送信工程による送信後に、前記所定のメモリに保持されている今回認証情報を前記次回認証情報に更新する被認証側更新工程と、
を含み、
前記認証装置において、
前記一の認証子に一方向性関数演算を施した情報を、今回認証情報を取得して所定のメモリに保持する認証側保持工程と、
前記被認証装置から送信されたマスク情報と、符号化情報とを受信する受信工程と、
前記受信工程によって受信したマスク情報に、前記所定のメモリに保持された前記今回認証情報を用いてマスク解除処理を施してマスク解除情報を生成する解除工程と、
前記解除工程によって生成されたマスク解除情報に一方向性関数演算を施した情報と、前記今回認証情報とが等しい場合、前記被認証装置の認証をおこなう認証工程と、
前記認証後に、前記受信工程によって受信した符号化情報を、前記解除工程によって生成されたマスク解除情報によって復号化して次回認証情報を取得する復号化工程と、
前記復号化工程によって次回認証情報が取得されると、前記所定のメモリに保持されている今回認証情報を前記次回認証情報に更新する認証側更新工程と、
を含むことを特徴とする認証方法。
【請求項6】
前記被認証装置において、
前記送信工程では、さらに、任意の情報に前記一の認証子を暗号鍵として暗号化を施した暗号化情報を送信し、
前記認証装置において、
前記復号化工程では、前記受信工程によって前記暗号化情報を受信した場合、さらに、前記マスク解除情報を用いて前記暗号化情報を復号することを特徴とする請求項5に記載の認証方法。
【請求項7】
前記被認証装置において、
前記符号化工程では、前記次回認証情報に対して、前記一の認証子の替わりに、前記今回認証情報と前記一の認証子のすべてもしくは一部との演算値を鍵とした符号化をおこない符号化情報を生成し、
前記認証装置において、
前記復号化工程では、前記符号化情報を、前記マスク解除情報の替わりに、前記今回認証情報と前記マスク解除情報のすべてもしくは一部の演算値によって復号化して次回認証情報を取得することを特徴とする請求項5または6に記載の認証方法。
【請求項8】
請求項3〜7いずれか一つに記載の認証方法をコンピュータに実行させることを特徴とする認証プログラム。
【請求項9】
請求項8に記載の認証プログラムをコンピュータに読み取り可能に記録したことを特徴とする記録媒体。
【請求項10】
あらかじめ被認証装置と認証装置とが共有の認証情報Aを備え、当該認証情報Aを用いて認証処理をおこなう通信システムであって、
前記被認証装置は、
次回の認証処理に利用する次回認証情報Bを生成する生成手段と、
前記生成手段によって生成された次回認証情報Bを、前記認証情報Aによって符号化する符号化手段と、
前記符号化された次回認証情報Bを前記認証装置に送信する送信手段と、
前記認証情報Aを前記次回認証情報Bに更新する被認証側更新手段と、
を備え、
前記認証装置は、
前記被認証装置から前記符号化された次回認証情報Bを受信する受信手段と、
前記認証情報Aによって前記被認証装置が認証されると、前記符号化された次回認証情報Bを前記認証情報Aによって復号する復号化手段と、
前記認証情報Aを、前記復号化手段によって復号された次回認証情報Bに更新する認証側更新手段と、
を備えることを特徴とする通信システム。
【請求項11】
前記認証情報Aは、認証子aに一方向性関数演算を施した値であり、前記次回認証情報Bは、認証子bに一方向性関数演算を施した値であることを特徴とする請求項10に記載の通信システム。
【請求項12】
被認証装置と認証装置とによって認証処理をおこなう通信システムであって、
前記被認証装置は、
認証子aを生成する生成手段と、
前記生成手段によって生成された認証子aに一方向性関数演算を施した情報を今回認証情報Aとして保持する被認証側保持手段と、
前記今回認証情報Aを前記認証子aによってマスクしたマスク情報αを生成するマスク手段と、
前記生成手段によって生成した認証子bに一方向性関数演算を施した情報を次回認証情報Bとし、当該次回認証情報Bに前記認証子aを鍵とした符号化をおこない符号化情報βを生成する符号化手段と、
前記マスク手段によって生成されたマスク情報αと、符号化手段によって生成された符号化情報βとを前記認証装置に送信する送信手段と、
前記送信後に、前記被認証側保持手段が保持する今回認証情報Aを前記次回認証情報Bに更新する被認証側更新手段と、
を備え、
前記認証装置は、
前記今回認証情報Aを取得して保持する認証側保持手段と、
前記被認証装置から送信されたマスク情報αと、符号化情報βとを受信する受信手段と、
前記受信手段によって受信したマスク情報αに、前記認証側保持手段が保持する今回認証情報Aを用いてマスク解除処理を施してマスク解除情報a’を生成する解除手段と、
前記解除手段によって生成されたマスク解除情報a’に一方向性関数演算を施した情報A’と、前記認証側保持手段が保持する今回認証情報Aとが等しい場合、前記被認証装置の認証をおこなう認証手段と、
前記認証後に、前記受信手段によって受信した符号化情報βを前記マスク解除情報a’によって復号して次回認証情報Bを取得する復号化手段と、
前記復号化手段によって次回認証情報Bが取得されると、前記認証側保持手段が保持する今回認証情報Aを前記次回認証情報Bに更新する認証側更新手段と、
を備えることを特徴とする通信システム。
【請求項13】
前記被認証装置において、
前記送信手段は、さらに、任意の情報に前記認証子aを暗号鍵として暗号化を施した暗号化情報を送信し、
前記認証装置において、
前記復号化手段は、前記受信手段によって前記暗号化情報を受信した場合、さらに、前記マスク解除情報a’を用いて前記暗号化情報を復号することを特徴とする請求項12に記載の通信システム。
【請求項14】
前記被認証装置において、
前記符号化手段は、前記次回認証情報Bに対して、前記認証子aの替わりに、前記今回認証情報Aと前記認証子aのすべてもしくは一部との演算値を鍵とした符号化をおこない符号化情報βを生成し、
前記認証装置において、
前記復号化手段は、前記符号化情報βを、前記マスク解除情報a’の替わりに、前記今回認証情報Aと前記マスク解除情報a’のすべてもしくは一部の演算値によって復号化して次回認証情報Bを取得することを特徴とする請求項12または13に記載の通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−171253(P2009−171253A)
【公開日】平成21年7月30日(2009.7.30)
【国際特許分類】
【出願番号】特願2008−7361(P2008−7361)
【出願日】平成20年1月16日(2008.1.16)
【出願人】(300023383)株式会社トリニティーセキュリティーシステムズ (376)
【Fターム(参考)】