説明

アドホックシナリオのようなグループにおける、認証されたグループ鍵の共有

本発明は、通信グループにおける装置又はパーティ間での鍵共有を認証することを含め、通信グループにおける3つ以上の装置又はパーティの間での安全なセッションを構成するための、方法、システム、装置及びコンピュータプログラム製品を提供する。そこにおいて、グループにおける装置は、好ましくは鍵が計算されたか共有された後に、鍵共有を認証するため、プロトコル、好ましくはマルチパーティデータインテグリティプロトコルを開始する。

【発明の詳細な説明】
【技術分野】
【0001】
発明の分野と背景
本発明は、一般にはセキュリティの提供に関し、熟達者ではないユーザによって形成されるユーザグループのようなグループにおける装置間でセキュリティアソシエーションを形成するための可能性を明らかにする。
【0002】
安全な接続を形成することについてのこの問題について、2パーティの場合は広く研究されてきたのであり、しばしば「最初の接続(First Connect)」の問題と呼ばれる。
【0003】
本発明は、短距離ラジオ通信のような無線通信を用いてお互いに通信可能な2つ以上の参加者を伴う、マルチパーティの場合に関する。本発明は更に、近接ネットワーク又はCUG(closed−user−groups)のようなネットワーク又はグループにおける、又は、ローカルエリアネットワーク(LANs)又は無線ローカルエリアネットワーク(WLANs)のようなアドホックネットワークにおける、セキュリティに関する。
【0004】
複数の者が、例えばミーティングルーム又は他の環境内におり、ラップトップ、コンピュータ、又は携帯電話のようなモバイル通信装置、といった彼等の個人的装置の間で安全な通信セッション、好ましくは無線セッションを確立したいと望む時、問題が生じる。(共通の中央権限者(CA:central authority)によって発行された証明書のような)優先されるコンテクストが存在しない場合や、助けとなるような経験豊富なセキュリティ管理者がその場にいない時には、装置間での通信を保護するために用いることが可能な共通のセキュリティアソシエーション(SA)を確立する、ユーザフレンドリーな手段を見つけることが問題となる。セキュリティアソシエーションは、暗号化鍵及び通信を暗号化によって保護するために必要な他の情報で構成される。
【0005】
マルチプレーヤーゲームや、複数の装置における個人的ネットワーク等においても、同様のシナリオが生じるかもしれない。
【0006】
短い共有パスワードを用いる、マルチパーティDiffie−Hellman鍵共有(Diffie−Hellman key agreement)の認証が知られている(非特許文献1参照)。
【0007】
秘密でないチェックサムを用いる、2パーティDiffie−Hellman認証が、また知られている(非特許文献2参照)。
【0008】
2005年10月3日になされた米国特許出願「System, Method And Computer Program Product For Authenticating A Data Agreement Between Network Entities」はまた、ネットワークエンティティ間でデータ合意を認証する方法を開示している。
【0009】
非特許文献1の上記参照された記事と共に、この米国特許出願の開示内容、及び非特許文献2が、ここにおいて、本特許出願の全範囲へと組み込まれている。
【背景技術】
【0010】
【非特許文献1】Asokan and Ginzboorg, “Key agreement in ad hoc networks”, Computer Communications, April 2000
【非特許文献2】Serge Vaudenay, “Secure Communications over Insecure Channels Based on Short Authenticated Strings”, Advances in Cryptology − CRYPTO 2005, Lecture Notes in Computer Science, LNCS vol.3621, Springer−Verlag, pp.309−326, 2005
【非特許文献3】FIPS−180−2 document by the US National Institute of Standards and Technology, http://csrc.nist.gov/CryptoToolkit/tkhash.html
【発明の開示】
【0011】
発明の概要
本発明は、請求の範囲によって定義される通りの方法、システム、装置、及びネットワーク要素を提供する。
【0012】
本発明は更に、マルチパーティ鍵共有を、好ましくは秘密でないチェックサムのみを用いて認証するための、方法、システム、及び装置を提供する。
【0013】
本発明は、グループ内装置が、例えば認証されたグループDiffie−Hellman鍵共有を実行できるように、装置のグループを認証する方法を示す。好ましくは、上述のCRYPTO 2005でのVaudenayによるインタラクティブデータ認証プロトコルアプローチをマルチパーティの場合へと拡張することにより、この方法は実行される。
【0014】
本発明は、通信グループにおける装置又はパーティ間での鍵共有を認証することを含め、通信グループにおける3つ以上の装置又はパーティの間での安全なセッションを構成するための、方法、システム装置、及び製品を提供する。グループにおける装置は鍵共有を認証するために、プロトコル、好ましくはマルチパーティデータインテグリティプロトコルを開始する。グループにおける装置は、好ましくは鍵が計算されたか共有された後に、そのプロトコルを開始する。その鍵が共有される前であるにも関わらず、このプロトコルを実行又は開始することができるようなバリエーションも可能である。
【0015】
本発明によって、例えば熟達者ではないようなユーザの装置間において、セキュリティアソシエーションを簡単に、確実に、そして安全に形成するということがもたらされる。本発明は、主には3つ以上の参加者でのマルチパーティの場合に関するものではあるが、それに限定されるわけではない。
【0016】
本発明は、グループ内装置が、例えば認証されたグループDiffie−Hellman鍵共有を実行できるような、装置のグループの認証をどうやって行うか、についての可能性を示す。
【0017】
本発明は、マルチパーティの場合において、熟達者ではないようなユーザによって、装置間のセキュリティアソシエーションを簡単に、そして安全に形成することを可能とする。
【0018】
本発明の更なる態様、利点、及び実施形態の詳細が、以下に説明される。
【発明を実施するための最良の形態】
【0019】
本発明の1つの実施形態においては、基本的なマルチパーティデータインテグリティプロトコルが用いられる。このマルチパーティデータインテグリティプロトコルは、次のような特徴とステップとを備える。
【0020】
1.全ての装置において同一であることを証明したいデータDを、装置間で共有する。
【0021】
以下のステップ2−7は、全ての装置Di(i=1…n)によって等しく実行される。
【0022】
2.装置Diは新たな256ビットのランダム番号Riを採取し、Riへの寄与を、hi = h(Ri)の形で計算し、hiを放送する。
【0023】
3.Diは、全ての他の装置よりhj(j=1…n,j≠i)の値が受信されるまで待つ。
【0024】
4.Diは、まさに今、Riを放送する。
【0025】
5.Diは、各j(j=1…n,j≠i)に対して、ステップ3において受信されたhjがh(Rj)に等しいことをチェックする。チェックができなかった場合は、いかなる場合においても、Diは中断する。
【0026】
6.ステップ5におけるチェックが成功した場合、Diはf(R1,R2,…Rn,M)を算出する。Mは、Dが変わった場合には高い確率でMも併せて変化するような、データDの一意的表示である。f()の出力は、例えば4桁の短い数字列である。Diはその列を表示し、ユーザの受け入れ/拒絶を促す。
【0027】
7.ユーザが受け入れた場合、DiはDを受け入れる。
【0028】
上記h()において、h()は暗号化寄与関数である。実際は、それはSHA−256(非特許文献3において定義される)のような一方向性ハッシュ関数であってよく、そしてf()は短い出力を伴う関数である。この関数f()は、例えば、4桁の数に打ち切られたSHA_256(R1,R2,…Rn;M)又はHMAC_SHA256(XOR(R1,R2,…Rn);M)であってよい。
【0029】
それまでのステップにおける全てのパーティからの放送メッセージを受信するまでDiが待つというステップ3は、セキュリティにとっては極めて重要である。この技法はまた、共通の共有秘密パスワードに基づいて認証するような、他の、マルチパーティ認証鍵共有プロトコルへと応用可能である。
【0030】
本発明において用いられる鍵共有は、例えば、マルチパーティ認証Diffie−Hellman鍵共有であってよい。この鍵共有は、以下で説明される。
【0031】
装置Di(i=1…n)のグループは、共有秘密Diffie−Hellman鍵、DHKeyを計算するか、または既に計算済みである。その装置は、好ましくは、コンピュータ、ラップトップ、モバイル等の、アドホックグループ(お互いに通信する装置の一時的なグループである)を形成したいか又はアドホックグループに入りたいユーザ装置である。この計算を行うための公知の方法が存在する。1つの単純な方法は、以下の通りである。
【0032】
全ての装置Diが、以下のステップを等しく実行する。
1.)Diは秘密鍵aiと公開鍵gaiとを持っている。装置Diは、Mi0 = gaiと設定する。
【0033】
j=1…n−1の各々に対して、以下のステップ2.)と3.)とが実行される。
2.)Diは、Mi(j−1)をD(i+1)へ送る(ここでD(n+1) = D1である)。
3.)Diは、Mij= M(i−1)(j−1) aiを計算する。
こうして、全てのi=1…nに対して、Mi(n−1)は共有秘密Diffie−Hellman鍵、DHKey=ga1a2 an に等しい。
【0034】
Diffie−Hellman鍵を計算した後、装置においてはM=DHKeyと設定がなされ、そして上述のマルチパーティデータインテグリティプロトコルを開始する。
【0035】
同様に、データインテグリティプロトコルを用いるこの鍵認証方法を、任意の認証されていないマルチパーティ公開鍵ベースの鍵共有方法に応用することができる。
【0036】
本発明の別の実施形態においては、認証された鍵共有プロトコルは上述のものと同じであってよいが、そこにおいてはM=DHKeyとする代わりに、Mを以下のように設定する。
M = (gA1,gA2,…gAn
ここでAi=(ai)-1(a1,a2,…an)である。
【0037】
本発明の実施形態における典型的な実装には、以下の特徴又はステップが含まれてよい。
【0038】
一連のユーザ動作の例は、以下の通りである。
1.形成されるべきグループのユーザは、各々の装置上で、例えば各装置上のボタンを押すことによって、アソシエーションを開始する。
【0039】
2.装置は、上述のプロトコル又は特徴/ステップに参加し、そして各々は、短い数字の列を発生させ、そして例えば、ステップ2の結果として発生するその短い数字列を表示させる。
【0040】
3.ユーザ又は装置は、その列が全ての装置において同一であるかどうかをチェックする。1つの例としては、1ユーザがその数字を声に出して読み上げ、そして残りのユーザが、彼ら各自の装置がその同じ列を示しているかどうかをチェックする。その列はまた、例えば、装置が発生させた列を1つ以上の装置に、例えば赤外線送信のような信頼できる送信手段により送信することによって、グループにおける1つ以上の装置による同一性のチェックを自動的に受ける。その1つ以上の装置は、受信された列と、恐らくは内部でも発生させているであろう列とがお互いに同一であるかどうかをチェックし、もしそうであるなら、そのアソシエーションは、その1つ以上の装置によって確認されたということになる。
【0041】
4.全ての装置が同一の列を示すか発生させた場合、ユーザ達は彼ら各々の装置上でのそのアソシエーションを、例えば確認ボタンを押すことにより受け入れる。
【0042】
受け入れられたアソシエーションはそれから、このグループのユーザ間での通信に、プライバシーを保証しつつ用いられる。
【0043】
この方法は、例えば各々の装置が、短い文字列(例えば4桁)を表示する能力を有するディスプレイと、単純な入力機器(例えば確認ボタン)とを有している時に適用可能である。
【0044】
このように、本発明によって、アドホックシナリオにおける認証されたグループ鍵の共有がもたらされた。本発明を、1つの部屋又はビルのような制限区域内にあって、同一グループ又はネットワークに所属する他の装置と、典型的には、例えばミーティングのような限定された時間の間だけ通信する複数のコンピュータのような、アドホックグループ、又はアドホックネットワークと共に用いることができるのではあるが、そのようなシナリオに限定されるわけではない。
【0045】
本発明はとりわけ、Diffie−Hellman鍵共有を利用することによる、マルチパーティの場合のためのデータ認証プロトコルと、マルチパーティセッションを認証するための方法と、そのようなステップを実行する装置と、を提供する。
【0046】
上記好ましい実施形態が説明されてきたのではあるが、本発明はそれに限定されるものではなく、当業者の能力の範囲内にある全ての改良、変更、特徴の付加及び削除にまで及ぶことを意図したものである。

【特許請求の範囲】
【請求項1】
通信グループにおける3つ以上の装置又はパーティの間で安全なセッションを構成するための方法であって、
前記通信グループにおける前記3つ以上の装置又はパーティの間での鍵共有を認証することを含み、
前記通信グループにおける前記装置は、好ましくは鍵が計算されたか共有された後に、前記鍵共有を認証するため、マルチパーティデータインテグリティプロトコルを開始する、方法。
【請求項2】
前記マルチパーティデータインテグリティプロトコルは、
前記3つ以上の装置がその全ての装置において同一であることを証明したいデータを、前記3つ以上の装置が共有することと、
ランダム番号を、前記3つ以上の装置のうちの少なくとも1つが選択することと、
前記ランダム番号に基づいた値を計算することと、
前記計算された値を、前記3つ以上の装置のうちの他の装置へ、送信又は放送することと、
前記他の装置から前記計算された値を受信するまで、前記3つ以上の装置のうちの少なくとも1つが待つことと、
前記ランダム番号を前記他の装置へ、前記3つ以上の装置のうちの少なくとも1つが送信又は放送することと、
各々の受信された計算値に対して、それが正しいかどうかを、前記3つ以上の装置のうちの少なくとも1つがチェックすることと、
前記ランダム番号と前記共有されたデータ又は前記共有されたデータの一意的表示とに基づいた、前記安全なセッションを受け入れるか又は拒絶するために用いられる値を、前記3つ以上の装置のうちの少なくとも1つが算出することと、
のうちの少なくとも1つ以上、又は全てを含む、請求項1に記載の方法。
【請求項3】
前記計算は一方向性ハッシュ関数を用いることを含む、請求項2に記載の方法。
【請求項4】
前記鍵共有はマルチパーティ認証Diffie−Hellman鍵共有である、上記請求項のいずれか1つに記載の方法。
【請求項5】
前記3つ以上の装置は、共有秘密Diffie−Hellman鍵を計算するか記憶する、上記請求項のいずれか1つに記載の方法。
【請求項6】
Diffie−Hellman鍵が計算され、前記装置は、該計算された鍵に対応する前記共有されたデータ又は前記共有されたデータの一意的表示を設定し、そして前記マルチパーティデータインテグリティプロトコルを開始する、上記請求項のいずれか1つに記載の方法。
【請求項7】
前記3つ以上の装置は、アドホックグループを形成したい、ユーザ装置、コンピュータ、ラップトップ、又はモバイルである、上記請求項のいずれか1つに記載の方法。
【請求項8】
前記鍵共有を認証する前に前記鍵共有を実行する段階を含む、上記請求項のいずれか1つに記載の方法。
【請求項9】
認証されたグループ鍵共有を実行する段階を含む、上記請求項のいずれか1つに記載の方法。
【請求項10】
認証されたグループDiffie−Hellman鍵共有を実行する段階を含む、上記請求項のいずれか1つに記載の方法。
【請求項11】
Diffie−Hellman鍵を含む共有秘密鍵を計算する段階を含む、上記請求項のいずれか1つに記載の方法。
【請求項12】
前記3つ以上の装置は、鍵に合意するために公開鍵ベースの鍵共有方法を用いる、上記請求項のいずれか1つに記載の方法。
【請求項13】
前記グループにおける前記3つ以上の装置は、無線通信に適しているか又は無線通信を用いる、上記請求項のいずれか1つに記載の方法。
【請求項14】
秘密でないチェックサムを用いることを含む、上記請求項のいずれか1つに記載の、マルチパーティ鍵共有を認証するための方法。
【請求項15】
通信グループにおける3つ以上の装置又はパーティの間で安全なセッションを構成するためのシステムであって、
前記通信グループにおける前記3つ以上の装置又はパーティの間での鍵共有を認証するための手段を含み、
前記通信グループにおける前記3つ以上の装置は、鍵が計算されたか共有された後に、マルチパーティデータインテグリティプロトコルを開始するよう構成される、システム。
【請求項16】
前記3つ以上の装置がその全ての装置において同一であることを証明したいデータを共有する、前記3つ以上の装置と、
ランダム番号を選択し、該ランダム番号に基づいた値を計算し、該計算された値を、前記3つ以上の装置のうちの他の装置へ送信又は放送する、前記3つ以上の装置のうちの少なくとも1つと、
前記他の装置から前記計算された値を受信するまで待つ、前記3つ以上の装置のうちの少なくとも1つと、
前記ランダム番号を前記3つ以上の装置のうちの前記他の装置へ送信又は放送する、前記3つ以上の装置のうちの少なくとも1つと、
各々の受信された計算値に対して、それが正しいかどうかをチェックする、前記3つ以上の装置のうちの少なくとも1つと、
前記ランダム番号と前記共有されたデータとに基づいた、前記セッションを受け入れるか又は拒絶するために用いられる値を算出する、前記3つ以上の装置のうちの少なくとも1つと、
のうちの少なくとも1つ以上、又は全てが提供される、請求項15に記載のシステム。
【請求項17】
通信グループにおける2つ以上の装置又はパーティと自己との間に安全なセッションを構成するための装置であって、
前記通信グループにおける前記装置又はパーティの間での鍵共有を認証するための手段を含み、
前記装置は、好ましくは鍵が計算されたか共有された後に、マルチパーティデータインテグリティプロトコルを開始するよう構成される、装置。
【請求項18】
前記マルチパーティデータインテグリティプロトコルにおける、
前記装置によって、前記装置が全ての装置において同一であることを証明したいデータを共有する段階と、
前記装置によってランダム番号を選択する段階と、
前記ランダム番号に基づいた値を計算する段階と、
前記計算された値を他の装置へ送信又は放送する段階と、
前記装置によって、他の装置から前記計算された値を受信するまで待つ段階と、
前記装置によって、前記ランダム番号を前記他の装置へ送信又は放送する段階と、
前記装置によって、各々の受信された計算値に対して、それが正しいかどうかをチェックする段階と、
前記装置によって、前記ランダム番号と前記共有されたデータとに基づいた、前記セッションを受け入れるか又は拒絶するために用いられる値を、算出する段階と、
のうちの少なくとも1つ以上、又は全てを実行するよう構成される、請求項17に記載の装置。
【請求項19】
コンピュータ読み取り可能な媒体上に記録された、通信グループにおける3つ以上の装置又はパーティの間での鍵共有を認証する段階をコンピュータに実行させるよう構成されたプログラムであって、
前記通信グループにおける前記装置は、鍵が計算されたか共有された後に、前記鍵共有を認証するため、マルチパーティデータインテグリティプロトコルを開始する、プログラム。

【公表番号】特表2009−525660(P2009−525660A)
【公表日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願番号】特願2008−552932(P2008−552932)
【出願日】平成19年1月26日(2007.1.26)
【国際出願番号】PCT/IB2007/050275
【国際公開番号】WO2007/088504
【国際公開日】平成19年8月9日(2007.8.9)
【出願人】(398012616)ノキア コーポレイション (1,359)
【Fターム(参考)】