説明

セキュア通信

第1及び第2通信ユニット間のセキュア通信を提供する方法であって、本方法は、共有シークレットキーを生成する、それらの通信ユニット間のキー交換を備え、キー交換は、ユーザ対話を含み、方法は、少なくとも一部のユーザ対話によって、第1及び第2通信ユニットへパスコードを提供するステップと、第1通信ユニットによって共有シークレットキーへの第1寄与と、第2通信ユニットによって共有シークレットキーへの第2寄与を生成し、生成された各寄与を、対応する他の通信ユニットへ送信するステップと、少なくともパスコードに基づいて、対応する受信側通信ユニットによって、送信された第1及び第2寄与を認証するステップと、受信された寄与が正常に認証された場合にのみ、少なくとも受信された第1あるいは第2寄与から通信ユニットのそれぞれによって共有シークレットキーを確立するステップとを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の分野
本発明は、第1通信ユニットと第2通信ユニット間のセキュア通信に関するものである。
【0002】
本発明の背景
無線通信システムでは、関係する通信ユニット間のセキュア通信の確立は、重要なものである。多くの通信システムでは、キー交換メカニズムが実現されていて、これは、関係する通信ユニットに共通共有シークレットを提供する。一旦共有シークレットが2つのユニット間で確立されると、その共有シークレットは、そのユニット間で通信されるメッセージの暗号化及び保全性保護(integrity protection)の少なくとも一方を提供するために使用される。
【0003】
多くの状況では、セキュア通信の確立は、ユーザ対話が介在するキー交換によって達成される、このユーザ対話には、パスコード、例えば、ユーザがパスワードあるいはPINを一方あるいは両方の通信ユニットへ入力するものがある。特に、ユーザ対話は、関係するユニットが、まだセキュリティ関係、例えば、共有シークレットを確立していない情報で必要となる場合がある。
【0004】
短距離無線通信技術の一例には、ブルートゥースがある、これは、2.45GHzの無免許のISM(工業、科学及び医療)帯域で動作する無線通信技術である、これは広く利用可能である。この帯域は、83.5MHzの無線スペクトルを提供する。ブルートゥースは、低コスト、低電力の無線構成を提供する技術である。ブルートゥースを使用することで、いわゆるピコネット形式のアドホックでパーソナルデバイスを接続することが可能である。ブルートゥース規格(「ブルートゥースシステム仕様書、コア、バージョン1.1」における「基本帯域仕様」、ブルートゥース専用団体、2001年2月("Baseband Specification" in "Specification of the Bluetooth System, Core, Version 1.1", Bluetooth Special Interest Group, February 2001)を参照)は、いくつかのセキュリティメカニズムを備えている。特に、ブルートゥース規格は、ペアリングメカニズムを提供する、これは、接続する前の2つのデバイスが、共有シークレット、いわゆる、リンクキーを、2つのブルートゥースデバイス間で確立するためのキー交換を実行する。このリンクキーは、PINから導出され、これは、ユーザ(群)のデバイスによって入力される。このリンクキーは、続いて、ブルートゥース通信を保護するために使用される。
【0005】
米国特許4,200,770号に開示されている、いわゆるディフィ−へルマンキー交換プロトコルは、共有シークレットを備える2つのデバイスを提供する。このプロトコルに従えば、各デバイスは、シークレットキーと、そのシークレットキーからパブリックキーを生成し、そのパブリックキーを他のデバイスへ送信する。この共有シークレットは、自身のシークレットキーと、他のデバイスで受信した対応するパブリックキーから、各デバイスによって生成される。
【0006】
このようなキー交換メカニズムの一般的な問題は、中間者攻撃、即ち、不正ユーザが、通信デバイス間のメッセージを傍受し、かつ変更する場合のセキュリティ破壊による攻撃がある。
【0007】
シー. ゲールマン及びケイ. ネイバーグによる、論文「ブルートゥース帯域幅セキュリティへの拡張」、ノルディックサイエンス議事録 2001、コペンハーゲン 2001年11月(C. Gehrmann and K. Nyberg, "Enhancements to the Bluetooth baseband security", Proceedings of the Nordsec 2001, Copenhagen, November 2001)では、ユーザ対話が介在する認証スキームを記載している。特に、この論文は、匿名のディフィ−ヘルマンキー交換によって予め確立されている共有シークレットを認証する方法を記載している。この方法は、ディフィ−ヘルマンキー交換中に中間者攻撃が存在している場合に、確立されたディフィ−ヘルマンキーが、正当なデバイスとは異なっているという前提に基づいている。この認証は、確立された共有シークレットに基づいて、2つのデバイスによって算出されるチェック値に基づいている。この生成されたチェック値は、両方のデバイスに表示されて、ユーザによって比較される、あるいは一方のデバイスによって算出されたそのチェック値が他方のデバイスに入力されることで、他のデバイスに、比較を実行することを可能にする。
【0008】
上述の従来システムの問題は、セキュア通信の確立時に発生する、確立された共有シークレットを認証するヒューマン対話を必要とすることである。しかしながら、これは、例えば、実際のセキュア通信が高速に確立されるべきある状況では、望ましくない。
【0009】
本発明の要約
上述の及び他の問題は、第1及び第2通信ユニット間でセキュア通信を提供する方法によって解決される、この方法は、共有シークレットキーを生成する第1及び第2通信ユニット間のキー交換を備え、このキー交換は、ユーザ対話を含み、この方法は、
−少なくとも一部のユーザ対話によって、前記第1及び第2通信ユニットへパスコードを提供するステップと、
−前記第1通信ユニットによって前記共有シークレットキーへの第1寄与(contribution)と、前記第2通信ユニットによって前記共有シークレットキーへの第2寄与を生成し、前記生成された各寄与を、対応する他の通信ユニットへ送信するステップと、
−少なくとも1つの前記パスコードに基づいて、対応する受信側通信ユニットによって、前記送信された第1及び第2寄与を認証するステップと、
−前記受信された寄与が正常に認証された場合にのみ、少なくとも前記受信された第1あるいは第2寄与から前記通信ユニットのそれぞれによって前記共有シークレットキーを確立するステップと
を備える。
【0010】
本発明の効果は、実際のキー交換の前に、パスコートが判定され、かつ通信ユニットへ提供できることであり、また、このパスコードは、実際のキー交換、即ち、共有シークレットの生成が発生する時点よりも後の時点で使用できることである。ここで、共有シークレットを認証するために、共有シークレットの実際の生成中に、ユーザ対話に対して必要とされることは、本方法のセキュリティを低下させることなく、解消される。
【0011】
本発明の更なる効果は、キー交換に伴う中間者攻撃のリスクを削減することであり、これによって、通信システムのセキュリティを向上する。
【0012】
パスコードは、例えば、第1通信ユニットによって、自動的に生成されることが好ましく、これによって、パスコードの不規則性を補償する。通信ユニットの1つによって生成されるパスコードが、通信チャネルを介して他の通信ユニットへ送信される場合、ここで、この通信チャネルは、キー交換に対して使用される通信リンクとは別のユーザ対話を介在する、セキュリティが向上する、これは、別通信チャネルの敵対的な傍受のリスクも低下するからである。例えば、ユーザ対話が介在する別通信チャネルは、電話回線、メールあるいは登録プロセスの一部として送信されるレターあるいはその類であっても良い。パスコードは短いことが好ましく、マンマシーンインタフェースあるいはヒューマン間インタフェースを介して通信するのに十分に短いことが好ましい。例えば、パスコードは、10の桁、文字、他のシンボルよりも短いストリング、例えば、4〜6の16進数桁未満のストリングであっても良く、これによって、パスコードの通信を簡略化する。例えば、パスコードは、通信ユニットのディスプレイから容易に読み取ることができ、この通信ユニットは、そのコードを生成して、電話を介して、あるいはメールあるいはその類によって通信し、更に、他のユニット、電話、コンピュータ、あるいはその類にキー入力することができる。
【0013】
ここで、ユーザ対話は、パスコードを、例えば、ディスプレイから読み取り、そのパスコードを入力するための、あるいはパスコードあるいはその類を送信するための許可のユーザ入力指示を少なくとも実行するための通信ユニットの少なくとも1つのユーザを介在する、即ち、ユーザ対話は、通信ユニットの1つによってパスコードを出力すること、あるいは、ユーザによる入力、例えば、パスコードのユーザ指示を受信することの少なくとも一方を介在する。いくつかの実施形態では、ユーザ対話は、ヒューマン間インタフェースを更に介在する、これは、例えば、あるデバイスのユーザから他のデバイスのユーザへのパスコードを通信することによるものである。
【0014】
キー交換は共有シークレットを生成する適切なキー交換メカニズムに基づいていても良く、共有シークレットは、連続通信中に十分なセキュリティを提供するために十分に長いことが好ましい。一実施形態では、キー交換は、ディフィ−ヘルマンキー交換である。キー交換メカニズムの他の例には、RSAキー交換が含まれる。本発明に従うキー交換が、一般的な標準キー交換メカニズムに基づくことができることが利点である。
【0015】
本発明の実施形態に従えば、送信された第1及び第2寄与を認証するステップは、メッセージ認証コードのタグ値を算出することによって第1寄与を認証し、ここで、タグ値は、第1寄与とパスコードから算出されるものであり、これによって、高レベルのセキュリティを提供し、かつわずかなコンピュータリソースで済む効果的な第1寄与の認証を提供する。好ましくは、メッセージ認証コード(MAC)は、絶対的なセキュアMACである、即ち、大きなコンピュータリソースでも実質的に損失することがないMACである(a MAC that substantially cannnot be broken even with large computational resoureces)。
【0016】
更なる実施形態に従えば、タグ値は、誤り訂正コード、例えば、リード−ソロモンコードのコード語のシンボルを選択することによって算出され、このコード語は、第1寄与に対応し、また、そのシンボルは、パスコードによって識別される。これによって、高セキュリティの認証は、ショートパスコードに対してもさえも提供される。
【0017】
好ましくは、認証は、更に、第1寄与から一方向ハッシュ関数のハッシュ値を算出し、また、誤り訂正コードのコード語のシンボルを選択することによってタグ値を算出し、このコード語は、第1寄与のハッシュ値に対応し、また、そのシンボルは、パスコードによって識別される。ここで、高レベルのセキュリティを維持しながら、パスコード長を、更に、削減することができる。
【0018】
通信ユニットという用語は、データ通信を容易にするための、通信信号、例えば、無線通信信号を受信及び/あるいは送信する適切な回路を備える任意のデバイスあるいはデバイスのグループを意味するものである。このようなデバイスの例には、ポータブル無線通信機器及び他のハンドヘルドあるいはポータブルデバイスが含まれる。ポータブル無線通信機器という用語は、移動電話、ページャ、コミュニケータ、即ち、電子オーガナイザ、スマートフォン、パーソナルデジタルアシスタント(PDA)、ハンドヘルドコンピュータあるいはその類のようなあらゆる機器を含むものである。
【0019】
通信ユニットの更なる例には、ステーショナリ通信機器、例えば、ステーショナリコンピュータあるいは、無線通信インタフェースを含む他の電子機器を含んでいる。一実施形態では、これらのユニットの1つは、いくつかのデバイスから構成されていても良い。例えば、通信ユニットは、例えば、アクセスポイントを備えるコンピュータネットワークを備えていても良く、このアクセスポイントは、コンピュータネットワーク、例えば、LANへの無線アクセスを提供する。
【0020】
例えば、通信ユニットは、ブルートゥース技術、あるいは他の無線通信技術、例えば、無線LANに従って動作しても良い。
【0021】
更なる実施形態は、従属請求項で開示される。
【0022】
上述及び後述の方法の特徴は、ソフトウェアで実現されても良く、また、データ処理システム、あるいはコンピュータ実行可能命令の実行によって生じる他の処理手段で実行されても良いことに注意する。この命令は、記憶媒体から、あるいはコンピュータネットワークを介して他のコンピュータから、RAMのようなメモリにロードさされるプログラムコード手段であっても良い。選択的には、上述の特徴は、ソフトウェアに代わる固定配線回路、あるいはそれとソフトウェアとの組み合わせによって実現されても良い。
【0023】
本発明は、上述及び後述の方法を含む様々な方法で実現することができ、また、通信システム及び更なる製造手段で実現することができ、これらは、最初に説明した方法で説明される効果及び利点の1つ以上をもたらし、また、それぞれは、最初に説明した方法で説明され、かつ従属請求項で開示される実施形態に対応する1つ以上の実施形態を備えている。
【0024】
本発明は、更に、第1及び第2通信ユニット間の共有シークレットキーを生成するキー交換によって、少なくとも前記第1及び第2通信ユニット間のセキュア通信を提供する通信システムに関するものであり、前記キー交換は、ユーザ対話を含み、前記通信システムは、
−少なくとも一部のユーザ対話によって、前記第1及び第2通信ユニットへパスコードを提供する手段と、
−前記第1通信ユニットによって前記共有シークレットキーへの第1寄与(contribution)と、前記第2通信ユニットによって前記共有シークレットキーへの第2寄与を生成する手段と、
前記生成された各寄与を、対応する他の通信ユニットへ送信する手段と、
−前記パスコードに基づいて、対応する受信側通信ユニットによって、前記送信された第1及び第2寄与を認証する手段と、
−前記受信された寄与が正常に認証された場合にのみ、少なくとも前記受信された第1あるいは第2寄与から前記通信ユニットのそれぞれによって前記共有シークレットキーを確立する手段と
を備える。
【0025】
本発明は、更に、共有シークレットキーを生成するキー交換によって、他の通信ユニットとのセキュア通信を提供する通信ユニットに関するものであり、前記キー交換は、ユーザ対話を含み、前記通信ユニットは、データ処理手段、ユーザインタフェース手段及び通信インタフェースを備え、前記処理手段は、以下のステップを実行するように適合されている
−前記ユーザインタフェース手段を介する、少なくとも一部のユーザ対話によって、前記他の通信ユニットへ提供されるパスコードを生成するステップと、
−前記共有シークレットキーへの第1寄与を生成し、前記通信インタフェースを介して送信し、かつ、前記通信インタフェースを介して、前記共有シークレットキーへの第2寄与を受信するステップであって、前記第2寄与は、前記他の通信ユニットによって生成されるステップと、
−前記パスコードに基づいて、前記受信した第2寄与を認証するステップと、
−前記受信した第2寄与が正常に認証された場合にのみ、少なくとも前記第2寄与から前記共有シークレットキーを確立するステップと
を備える。
【0026】
本発明は、更に、共有シークレットキーを生成するキー交換によって、他の通信ユニットとのセキュア通信を提供する通信ユニットに関するものであり、前記キー交換は、ユーザ対話を含み、前記通信ユニットは、データ処理手段、記憶手段、通信インタフェース及び共有シークレットキーを生成するキー交換を実行するように適合されている処理手段を備え、前記キー交換は、以下のステップを実行するように適合されている
−少なくとも一部のユーザ対話で、前記他の通信ユニットによって生成されたパスコードを受信し、かつ記憶するステップと、
−前記通信インタフェースを介して、前記他の通信ユニットによって生成された前記共有シークレットキーへの第1寄与を受信するステップと、
−前記パスコードに基づいて、前記受信した第1寄与を認証するステップと、
−前記受信した第1寄与が正常に認証された場合、少なくも前記第1寄与から前記共有シークレットキーを確立し、かつ前記通信インタフェースを介して、前記共有シークレットキーへの第2寄与を送信するステップと
を備える。
【0027】
ここで、処理手段という用語は、上述の機能を実行するために適切に適合されている任意の回路及びデバイスの少なくとも一方を意味するものである。特に、この用語は、汎用、あるいは専用プログラマブルマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、プログラマブル論理アレイ(PLA)、フィールドプログラマブルゲートアレイ(FPGA)、特定専用電子回路等、あるいはそれらの組み合わせを意味するものである。
【0028】
通信インタフェースは、無線通信チャネルを介してデータを通信する任意の適切な回路あるいはデバイスを備えていても良い。例えば、このインタフェースは、無線送信機及び受信機を備えていても良い、あるいは、別の通信技術、例えば、赤外線信号あるいはその類を使用する送信機/受信機であっても良い。
【0029】
記憶手段という用語は、データ記憶用の任意の適切な構成あるいはデバイスを構成することを意図するものであり、これには、例えば、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリ、消去可能プログラマブルリードオンリメモリ(EPROM)、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)がある。記憶手段は、通信ユニットの一部に集積されていても良い、あるいはその通信ユニットに対して着脱可能に装着されて接続されても良い。例えば、記憶手段は、リムーバル記憶手段であっても良く、これには、例えば、メモリカード、PCMCIAカード、スマートカードあるいはその類がある。
【0030】
実施形態の詳細説明
図1は、セキュアキー交換メカニズムの実施形態のフロー図である。A及びBで示される2つのユニットが、共有シークレットキーを確立するために、セキュアキー交換を実行することを意図している場合、これらは、次のステップを実行する、ここで、参照番号101で示される左側のフロー図のステップはユニットAによって実行され、参照番号102で示される右側のフロー図のステップはユニットBによって実行される。
【0031】
以下のキー交換は、キーアグリーメント(鍵共有:key agreement)用の、いわゆる、「ディフィ−ヘルマン」方法に基づいている。以下の説明の理解を容易にするために、ディフィ−ヘルマンキーアグリーメントを簡単に説明する。これのより詳細な説明については、米国特許4,200,770号で参照され、これは、参照することによってその全体が本明細書に組み込まれる。
【0032】
2つのユニットA及びBが共有シークレットキーを確立したい場合、これらは、素数p>2と、基底gに同意する、これらは基本(原始)mod p(primitive mod p)である。パラメータp及びgは、両ユニットにハードコード化されていても良く、これらは、一方のユニットで生成されて、他方のユニットへ通信されても良い、あるいは、これらは、サードパーティから検索されても良く、あるいはその類がなされても良い。例えば、p及びgを生成するために、pの値が選択されても良い、これは、例えば、大きな乱数、例えば、1000ビット以上からなる乱数から選択されても良く、また、pが素数であるかどうかをテストするために、素数テスト(prime test)が実行されても良い。そうでない場合、素数が検出されるまでテストを実行して、新規のpを選択しても良い。続いて、乱数gが選択され、かつgが生成元(generator)であるかがテストされる、そうでない場合、生成元が検出されるまでテストを実行して、新規のgが選択される。
【0033】
各ユニットは、p−1未満のシークレット番号を生成する。以下では、ユニットAによって生成されるシークレット番号はxと称し、ユニットBによって生成されるシークレット番号はyと称する。次に、各ユニットは、シークレット値と上述のパラメータに基づいてパブリックキーを生成する、ユニットAは、X=gx mod p を生成し、ここで、modは、モジュラス(modulus)関数を示している、即ち、整数剰余である。同様に、ユニットBは、Y=gy mod pを生成する。
【0034】
ユニットは、自身のパブリックキーを交換し、かつそれぞれのユニットは、共通シークレット値Sを、以下に従って算出する:
ユニットA:S=(Y)x mod p
ユニットB:S=(X)y mod p
従って、この結果として、ユニットA及びBは、シークレット値x及びyを通信することなく、共通シークレットキーSを設定する、これは、(gy mod p)x mod p=(gx mod p)y mod pであるからである。
【0035】
ここで、図1を参照すると、キー交換の初期ステップ103では、ユニットAは、乱数x、対応するディフィ−ヘルマンパブリックキーX及びショートシークレットストリングKあるいは他のパスコードを生成する。ディフィ−ヘルマンパブリックキーXは、上述のように、対応するパラメータg及びpに基づいて算出される、これは、ユニットA及びBによって同意されているものである。好ましくは、シークレットストリングKは、適切なキー空間、例えば、4〜6桁の16進ストリングからランダムに判定される。
【0036】
次のステップ104では、ユニットAは、メッセージ認証コード(MAC:message authentication code)を使用して、パブリックキーXからタグ値tを算出する。ここで、メッセージ認証コードという用語は、送信側(送信機:sendor)と受信側(受信機:receiver)間で通信されるメッセージからタグ値を算出するための任意の適切な関数を示すものであり、ここで、この関数は、送信側と受信側間の対称(共通:symmetric)共有シークレットに基づいている。シークレット値は、キーと呼ばれる。シークレットキーは、MAC算出への入力変数である。正しいシークレットキーを所有するものだけが、任意のメッセージに対するタグ値を算出することができる。MACのタグ値は保全性チェック値である、これは、オリジナルメッセージデータから算出され、かつそれはメッセージの受信側へ通信される。MACによって保護されたメッセージの受信においては、受信側は、受信データに基づいて、対応するタグ値を算出する。算出されたタグ値が受信したタグ値と等しい場合、メッセージは認証されたものとして受け入れられる。周知のMACの例には、いわゆる、メッセージ認証用キー化(鍵付:keyed)ハッシング(HMAC)アルゴリズムがあり、これは、暗号技術における一方向性ハッシュ関数に基づいていて、これには、セキュアハッシュアルゴリズムSHA−1及びメッセージダイジェストアルゴリズムMD5がある。MACは、多くの通信プロトコルでデータ保全性保護を提供するために使用される。誤り訂正コードに基づくMAC関数の実施形態は、以下で説明する。ステップ104では、MAC関数への入力に、パブリックキーXが組み込まれる、また、生成されたシークレットストリングキーKがタグ値tのMAC算出用のキーとして使用される。キー設定中に追加のデータが通信される、いくつかの実施形態では、タグ値は、パブリックキーXと追加のデータを含むメッセージから算出されても良く、これによって、追加のデータに対しても保全性保護を提供することが理解される。
【0037】
ステップ105では、生成されたシークレットストリングKと算出されたタグ値tが、図1の破線矢印106で示されるように、ユーザ対話が介在する適切な通信チャネルを介してユニットBへ通信される。例えば、Kとtの値は、ユニットAのディスプレイから値を読み上げ、ユニットBにその値をキー入力することによって、ユニットAからユニットBへ転送されても良い。別の実施形態では、値はいくつかの他の手段によって転送されても良く、これには、例えば、電気通信ネットワークを介して、暗号化されたメッセージ、例えば、電子メール、SMSあるいはその類として値を送信することによるものがある、あるいは、ユーザ対話が介在する他の適切な通信チャネル、好ましくは、セキュア通信が確立されている通信チャネルとは異なる通信チャネルを介するものがある。ユニットAとBは、互いに確立されている通信リンクを持つ必要がないという利点があり、これらは、互いに近接している必要すらない。例えば、ユニットAのユーザは、シークレットストリングとタグ値を、電話、メールあるいは他の適切な手段によって、ユニットBのユーザへ通信することができる。また、Kとtの生成された値の通信は、例えば、登録処理の一部として、共有シークレットキーが実際にユニット間で確立する時より前に実行されても良い。一実施形態では、識別子IDがK及びtとともに通信される、これは次回のK及びtの検索を容易にするためである。
【0038】
ステップ107では、ユニットBは、K及びtの値を受信し、ステップ110では、それらをユニットBの記憶媒体111、例えば、ポータブルデバイスのEPROMあるいはEEPROMに記憶する、あるいは、スマートカード、ハードディスク、あるいはその他の適切なデータ記憶装置上に記憶する。値K及びtが識別子IDに関連付けられている場合、値K及びtは、例えば、その識別子をインデックスとして使用して、その識別子と関連付けて記憶される。
【0039】
同様に、ステップ108では、ユニットAは、シークレットストリングKをユニットAの記憶媒体109に記憶し、オプションとしては、識別子IDと関連付けて記憶する。また、ユニットAは、シークレット値xを記憶する、パブリックキーXの算出は、これに基づいている。
【0040】
これで、初期登録プロセスが終了となる。実際のキー交換を含む続くステップは、ユニットA及びBが実際に通信リンクを介して接続される場合に実行される。これは、図1の線分127で示されるように、上述の初期登録後あるいはそれより後の時点に、直ちに発生する場合がある。
【0041】
ステップ112では、ユニットAは、無線通信リンクを介して、パブリックキーXをユニットBへ送信することによって、実際のキー交換を初期化する。シークレットストリングKが識別子IDに関連付けられている実施形態では、ユニットAもその識別子を送信する。同様に、ステップ104で、タグ値tがパブリックキーといくつかの追加のデータに対して算出される、この追加のデータもユニットAからユニットBへ送信される。
【0042】
ユニットBがユニットAからパブリックキーXを受信する場合(ステップ113)、ステップ114で、ユニットBは、識別子IDに基づく実施形態では、記憶媒体111からシークレットストリングKを検索する。ユニットBは、シークレットストリングKに基づいて、受信したパブリックキーXのMACタグ値t’を算出する。
【0043】
ステップ115では、ユニットBは、算出されたタグ値t’と予め記憶されているタグ値tとを比較する。タグ値が異なる場合、受信したパブリックキーは拒否される(ステップ116)。例えば、ユニットBは、対応するメッセージをユニットAに送信することによって、また/あるいは、その拒否についてをユーザに通知することによって、例えば、可視あるいは可聴指示を提供することによって、キー交換を中止することができる。そうでない場合、即ち、タグ値が等しい場合、パブリックキーXは受け入れられ、かつプロセスはステップ117に継続する。
【0044】
ステップ117では、ユニットBは、上述のように、シークレット値yと対応するディフィ−ヘルマンパブリックキーYを生成する。
【0045】
ステップ118では、ユニットBは、対応するディフィ−ヘルマン共有シークレットキーS=(X)y mod pを生成する。
【0046】
ステップ119では、ユニットBは、生成された共有シークレットキーSを使用して、記憶媒体111から検索されるシークレットストリングKを暗号化し、暗号化シークレットストリングK*を得る。この暗号化は、対称シークレットキーに基づく任意の適切な暗号化方法に基づいていても良く、これには、例えば、AES、SAFER+、RC5、DES、3DES等がある。
【0047】
ステップ120では、ユニットBは、暗号化シークレットストリングK*とディフィ−ヘルマンパブリックキーYをユニットAへ送信する。そして、一実施形態では、ユニットBは、更に、対応する識別子IDを送信する。
【0048】
ステップ121では、ユニットAは、暗号化シークレットストリングK*とディフィ−ヘルマンパブリックキーYを受信する。
【0049】
ステップ122では、ユニットAは、記憶媒体109に記憶されているシークレット値xを使用して、ディフィ−ヘルマン共有シークレットキーS=(Y)x mod pを生成する。
【0050】
ステップ123では、ユニットAは、生成された共有シークレットキーSを使用して、受信した暗号化シークレットストリングK*を解読して、解読されたシークレットストリングK’を取得する。
【0051】
ステップ124では、ユニットAは、受信し、解読したシークレットストリングK’と、ユニットAによって生成され、かつ記憶媒体109に記憶されているシークレットストリングKとを比較する。シークレットストリングが等しくない場合、受信したパブリックキーYが拒否される、即ち、生成された共有シークレットキーSが破棄される(ステップ125)。そうでない場合、プロセスはステップ126に継続する。
【0052】
ステップ126では、受信したパブリックキーYが受け入れられる、即ち、算出された共有シークレットキーSが、共有シークレットとして受け入れられる。一実施形態では、対応するメッセージがユニットBへ送信される、これによって、キー交換が完了する。生成された共有シークレットキーは、例えば、ユニット間で送信されるメッセージを暗号化することによって、また/あるいは保全性保護を実行することによって、ユニットAとB間の連続通信を保護するために使用することができる。
【0053】
別の実施形態では、ユニットBからユニットAへ通信されるパブリックキーYは、異なる方法によって、例えば、MAC値を算出することによって認証されても良いことが理解される。同一キーが、この方法のセキュリティを落とすことなく、数回使用することができることが、暗号化K*を含ませることによるYの認証の利点である。
【0054】
図2a−bは、本発明の更なる実施形態に従うキー交換メカニズムのフロー図を示している。上述の例のように、2つのユニットは、共有シークレットキーを確立するために、セキュアキー交換を実行する。上述の例と比較すると、ユニットの一方は、2つのデバイスB及びCを備える、一方、他方のユニットは、デバイスAで示される、1つのデバイスだけを備えている。初期登録処理が、デバイスAとデバイスC間で実行される。以下の図7でより詳細に説明されるように、例えば、デバイスAは、移動電話、PDAあるいはその類のようなポータブルデバイスであっても良く、デバイスBは、コンピュータネットワークのアクセスポイントあるいはその類であっても良く、デバイスCは、コンピュータネットワークのサーバコンピュータであっても良い。ここで、参照番号101で示される図2a−bの左側のフロー図のステップは、デバイスAによって実行され、参照番号202で示される中央のフロー図のステップはデバイスBによって実行され、参照番号201で示される右側のフロー図のステップはデバイスCによって実行される。図2a−bの例では、デバイスA、BあるいはCによって実行されるステップのいくつかは、図1のユニットAによって実行されるステップに対応し、ここでは、対応するステップには、同一の参照番号で参照する。
【0055】
図2aを参照すると、初期ステップ103では、デバイスAは、乱数x、対応するディフィ−ヘルマンパブリックキーX及びショートシークレットストリングKを生成する、また、次のステップ104では、デバイスAは、メッセージ認証コード(MAC)を使用して、上述のように、キーとするシークレットストリングKを用いて、パブリックキーXからタグ値tを算出する。
【0056】
ステップ205では、生成されたシークレットストリングKと算出されたタグ値tが、破線矢印206で示されるように、適切な通信チャネルを介してデバイスCへ通信される。この通信は、図1の参照番号105、106及び107を参照して説明される、図1のデバイスAとB間の上述のパラメータの通信に対応する。但し、本実施形態では、このパラメータは、ユーザ対話を介在して、デバイスAとC間で通信される。例えば、Kとtの値は、登録処理の一部として、デバイスAからデバイスCへ転送されても良い。一実施形態では、デバイスAのユーザは、デバイスAからシークレットストリングとタグ値を読み上げ、例えば、電話、メールあるいは任意の他の適切な手段によって、それらをデバイスCのユーザへ通信することができる。一実施形態では、デバイスAは、上述のデータを備えるメッセージを生成して、それを、デバイスCとアクセスポイントBを備えるコンピュータネットワークを介して、権限を有するネットワークオペレータへ送信する。一実施形態では、識別子IDがK及びtとともに通信される、これは次回のK及びtの検索を容易にするためである。
【0057】
ステップ207では、デバイスCは、K及びtの値を受信し、ステップ210では、それらを記憶媒体211に記憶する、これには、例えば、コンピュータネットワークのセキュリティ関連情報を管理するためのキーデータベースがある。値K及びtが識別子が識別子IDに関連付けられている場合、値K及びtは、例えば、その識別子をインデックスとして使用して、その識別子と関連付けて記憶される。
【0058】
同様に、ステップ108では、デバイスAは、シークレットストリングKをデバイスAの記憶媒体109に記憶し、可能であれば、識別子IDと関連付けて記憶する。また、デバイスAは、シークレット値xを記憶する、パブリックキーXの算出は、これに基づいている。オプションとしては、デバイスAは、更に、パブリックキーXを記憶することができる。選択的には、パブリックキーは、後の時点で、プライベートキーXから再生成されても良い。
【0059】
これで、デバイスAとC間の初期登録プロセスが終了となる。実際のキー交換を含む続くステップは、デバイスA及びBが実際に通信リンクを介して接続される場合に実行される。これは、線分227で示されるように、上述の初期登録後あるいはそれより後の時点に、直ちに発生する場合がある。
【0060】
ステップ112では、デバイスAは、無線通信リンクを介して、パブリックキーXを、オプションとして、追加データをデバイスBへ送信することによって、デバイスBとの実際のキー交換を初期化する。シークレットストリングKが識別子IDに関連付けられている実施形態では、デバイスAもその識別子を送信する。
【0061】
デバイスAからパブリックキーXを受信した後(ステップ213)、デバイスBは、記憶媒体211からシークレットストリングKとタグ値tを検索する(ステップ208及び209)。一実施形態では、デバイスBは、コンピュータネットワークを介して、受信した識別子IDを含むリクエストをデバイスCへ送信することができる。そのリクエストに応じて、デバイスCは、データベース211からタグ値とシークレットストリングを検索し、それらをデバイスBへ送信する(ステップ208)、そこで、それらは受信される(ステップ209)。別の実施形態では、デバイスBは、コンピュータネットワークを介してデータベース211への直接アクセスを持っていても良い、つまり、デバイスBは、データベースから直接パラメータを検索することができる。好ましくは、シークレットストリングKとタグ値tは、セキュア接続222を介して通信されても良く、例えば、暗号化されても良く、また/あるいはセキュアコンピュータネットワークを介して通信されても良い。
【0062】
ステップ214では、デバイスBは、検索されたシークレットストリングKに基づいて、受信したパブリックキーXのMACタグ値t’を算出する。
【0063】
ステップ215では、デバイスBは、算出されたタグ値t’と検索されたタグ値tとを比較する。タグ値が異なる場合、受信したパブリックキーは拒否される(ステップ216)。そうでない場合、パブリックキーXは受け入れられ、かつプロセスはステップ217に継続する。
【0064】
ステップ217では、デバイスBは、上述のように、シークレット値yと対応するディフィ−ヘルマンパブリックキーYを生成する。
【0065】
ステップ218では、デバイスBは、対応するディフィ−ヘルマン共有シークレットキーS=(X)y mod pを生成する。
【0066】
ステップ219では、デバイスBは、生成された共有シークレットキーSを使用して、検索されたシークレットストリングKを暗号化し、図1で説明したような、暗号化シークレットストリングK*を得る。
【0067】
ステップ220では、デバイスBは、暗号化シークレットストリングK*とディフィ−ヘルマンパブリックキーYをデバイスAへ送信する。そして、一実施形態では、デバイスBは、更に、対応する識別子IDを送信する。
【0068】
ステップ121では、デバイスAは、暗号化シークレットストリングK*とディフィ−ヘルマンパブリックキーYを受信する。
【0069】
ステップ122では、デバイスAは、記憶媒体109に記憶されているシークレット値xを使用して、ディフィ−ヘルマン共有シークレットキーS=(Y)x mod pを生成する。
【0070】
ステップ123では、デバイスAは、生成された共有シークレットキーSを使用して、受信した暗号化シークレットストリングK*を解読して、解読されたシークレットストリングK’を取得する。
【0071】
ステップ124では、デバイスAは、受信し、解読したシークレットストリングK’と、デバイスAによって生成され、かつ記憶媒体109に記憶されているシークレットストリングKとを比較する。シークレットストリングが等しくない場合、受信したパブリックキーYが拒否される、即ち、生成された共有シークレットキーSが破棄される(ステップ125)。そうでない場合、プロセスはステップ126に継続する。
【0072】
ステップ126では、受信したパブリックキーYが受け入れられる、即ち、算出された共有シークレットキーSが、共有シークレットとして受け入れられる。一実施形態では、対応するメッセージがデバイスBへ送信される、これによって、キー交換が完了する。生成された共有シークレットキーは、例えば、デバイス間で送信されるメッセージを暗号化することによって、また/あるいは保全性保護を実行することによって、デバイスAとB間の連続通信を保護するために使用することができる。
【0073】
図2bを参照すると、この例では、デバイスC、即ち、ネットワークサーバあるいはその類は、キー交換プロセスを初期化する。ここで、この実施形態では、デバイスAと、デバイスBとCを備えるシステムは、図2aの例と比べて、役割を変更している、また、図2aで説明されるステップは、ここでは、対応する他のデバイスによって実行される。以下では、対応するステップは、図2aで示される参照番号と同一の参照番号で示される。特に、と、乱数x、対応するディフィ−ヘルマンパブリックキーX及びショートシークレットストリングKを生成する初期ステップ103と、キーとするシークレットストリングKを用いて、パブリックキーXからタグ値tを算出するステップ104で説明されるステップはそれぞれ、デバイスC、即ち、ネットワークサーバあるいはその類によって実行される。
【0074】
従って、ステップ205及び207では、生成されたシークレットストリングKと算出されたタグ値tは、破線矢印206で示されるように、適切な通信チャネルを介してデバイスCからデバイスAへ通信される。この実施形態では、ネットワークオペレータは通信を初期化するものであることが理解される。
【0075】
ステップ210では、デバイスAは、デバイスAの記憶媒体109に受信したデータを記憶する。
【0076】
同様に、ステップ108では、デバイスCは、シークレットストリングKとシークレット値xを記憶媒体211に記憶する、これには、例えば、コンピュータネットワークのセキュリティ関連情報を管理するためのキーデータベースがある。この例でも、シークレットストリングKと、関連する値x、X及びtは、図2aで説明したように、識別子IDに関連付けられていても良いことが理解される。
【0077】
これで、デバイスAとC間の初期登録プロセスが終了となる。実際のキー交換を含む続くステップは、デバイスA及びBが実際に通信リンクを介して接続される場合に実行される。これは、線分227で示されるように、上述の初期登録後あるいはそれより後の時点に、直ちに発生する場合がある。また、この実施形態では、デバイスAではなく、デバイスBが、キー交換を初期化する。
【0078】
従って、デバイスBは、記憶媒体211からシークレットストリングKとディフィ−ヘルマンキーx及びXを検索する(ステップ228及び229)。上述したように、これは、ダイレクトデータベースクエリーを介して実行されても良い、あるいは(セキュア)コンピュータネットワークを介してデバイスCへ送信される、例えば、受信した識別子IDあるいはその類を含むリクエストを介して実行されても良い。
【0079】
ステップ112では、無線通信リンクを介して、パブリックキーXをデバイスAへ送信することによって、オプションとしては、追加データをデバイスAへ送信することによって、実際のキー交換が、デバイスBによって初期化される。
【0080】
ステップ213では、デバイスAは、パブリックキーXを受信し、ステップ214では、デバイスBは、デバイスAに記憶されているシークレットストリングKに基づいて、受信したパブリックキーXのMACタグ値t’を算出する。
【0081】
ステップ215では、デバイスAは、算出されたタグ値t’と予め記憶されたタグ値tとを比較する。タグ値が異なる場合、受信したパブリックキーは拒否される(ステップ216)。そうでない場合、パブリックキーXは受け入れられ、かつプロセスはステップ217に継続する。
【0082】
ステップ217では、デバイスAは、上述のように、シークレット値yと対応するディフィ−ヘルマンパブリックキーYを生成する。
【0083】
ステップ218では、デバイスAは、対応するディフィ−ヘルマン共有シークレットキーS=(X)y mod pを生成する。
【0084】
ステップ219では、デバイスAは、生成された共有シークレットキーSを使用して、シークレットストリングKを暗号化し、図1で説明したような、暗号化シークレットストリングK*を得る。
【0085】
ステップ220では、デバイスAは、暗号化シークレットストリングK*とディフィ−ヘルマンパブリックキーYをデバイスBへ送信する。
【0086】
ステップ121では、デバイスBは、暗号化シークレットストリングK*とディフィ−ヘルマンパブリックキーYを受信する。
【0087】
ステップ122では、デバイスBは、記憶媒体211から検索されたシークレット値xを使用して、ディフィ−ヘルマン共有シークレットキーS=(Y)x mod pを生成する。
【0088】
ステップ123では、デバイスBは、生成された共有シークレットキーSを使用して、受信した暗号化シークレットストリングK*を解読し、解読されたシークレットストリングK’を取得する。
【0089】
ステップ124では、デバイスBは、受信し、解読したシークレットストリングK’と、デバイスCによって生成され、かつ記憶媒体211から検索されたシークレットストリングKとを比較する。シークレットストリングが等しくない場合、受信したパブリックキーYが拒否される、即ち、生成された共有シークレットキーSが破棄される(ステップ125)。そうでない場合、プロセスはステップ126に継続する。
【0090】
ステップ126では、受信したパブリックキーYが受け入れられる、即ち、算出された共有シークレットキーSが、共有シークレットとして受け入れられる。一実施形態では、対応するメッセージがデバイスAへ送信される、これによって、キー交換が完了する。生成された共有シークレットキーは、例えば、デバイス間で送信されるメッセージを暗号化することによって、また/あるいは保全性保護を実行することによって、デバイスAとB間の連続通信を保護するために使用することができる。
【0091】
いくつかの実施形態では、ステップ122、123、124及び126は、デバイスCによって実行されても良い、これによって、デバイスBとCの両方において、キー交換アルゴリズムを実際に実現する必要性を回避することが理解される。この場合、デバイスBは、単に、受信したキーデータを、デバイスAからデバイスCへ、例えば、セキュアコンピュータネットワークを介して送信する、ここで、キーデータは、上述のように、認証され、かつ更に処理される。
【0092】
ここで、まとめると、上述の例は、第1通信ユニットと第2通信ユニット間のキー交換方法を開示している。この方法は、登録ステージと、キー交換ステージを備えている。登録ステージは、以下のものを備える。
【0093】
−第1通信ユニットによって、キー交換メカニズム、好ましくは、ディフィ−ヘルマンキーアグリーメントの第1プライベートキーと、対応する第1パブリックキーを生成し、
−第1通信ユニットによって、パスコードを生成し、
−第1通信ユニットによって、パスコードを使用してメッセージ認証コードに従う第1パブリックキーのメッセージタグを算出し、
−パスコードと算出されたタグ値を第2通信ユニットにアクセス可能にする。
【0094】
実際のキー交換ステージは、2つのユニットが通信リンクを介して接続され、かつその通信リンクを介してメッセージを交換することができる時点より後の任意の時点で実行することができる。このステージは、以下のものを備える。
【0095】
−第1通信ユニットによって、第1パブリックキーを第2通信ユニットへ送信し、
−第2通信ユニットによって、パスコードを使用して、メッセージ認証コードに従う受信した第1パブリックキーのタグ値を算出し、かつ算出したタグ値が第2通信ユニットにアクセス可能にしたタグ値に対応する場合、その受信した第1パブリックキーを受け入れ、
−第2通信ユニットによって、キー交換メカニズムの第2プライベートキー値と対応する第2パブリックキーを生成し、
−第2通信ユニットによって、第1パブリックキーと第2プライベートキーから、キー交換メカニズムの共有シークレットキーを算出し、
−算出された共有シークレットキーを使用して、第2通信ユニットによってパスコードを暗号化し、
−第2通信ユニットによって、第2パブリックキーと暗号化されたデータ要素を第1通信ユニットへ送信し、
−第1通信ユニットによって、第2パブリックキーと第1プライベートキー値から、キー交換メカニズムの共有シークレットキーを算出し、
−第1通信ユニットによって算出された共有シークレットキーを使用して、送信され、暗号化されたデータ要素を第1通信ユニットによって解読し、解読されたデータ要素が、第1通信ユニットによって生成されたパスコードに対応する場合、算出された共有シークレットキーを受け入れる。
【0096】
図3は、誤り訂正コードに基づくメッセージ認証コードを算出する方法のフロー図を示している。図3の例では、データ空間Dからのデータ要素dは、メッセージ認証コード(MAC)を使用する認証対象であると想定する。このデータ要素dは、メッセージ、例えば、上述の方法におけるパブリックキーXであっても良く、あるいは、以下で、より詳細に説明する、適切な関数h、即ち、d=h(M)によってメッセージMから導出されるデータ要素であっても良い。この例のために、データ要素dは、メッセージとしても参照する。
【0097】
一般的に、MACは、データ空間Dとキー空間Kからタグ空間Cへのマッピングfである、即ち、f:D×K→Cである、ここで、メッセージd∈Dとキーk∈Kは、タグt∈Cへマッピングされる、即ち、(d,k)→tである。
【0098】
MACは、メッセージの保全性を保護するために使用される、即ち、送信側から受信側への送信中に、データが変更されないことを補償するために使用される。手動認証では、ショートMAC値が使用される、即ち、10〜15の桁、文字、他のシンボルの少なくともいずれかより小さい長さのタグが使用される、これによって、ユーザに、タグ値を通信すること及び比較することの少なくとも一方を可能にする。このような手動認証スキームでは、セキュリティは、コンピュータ的なセキュリティではなく、MAC関数の絶対的な(unconditional)セキュリティに基づいている。例えば、ロングハッシュコードを備えるハッシュ関数がMAC関数として使用される場合、セキュリティは、コンピュータ的なセキュリティに基づいている。
【0099】
MAC関数の絶対的なセキュリティは、異なるタイプの可能性のある攻撃を考慮することによって判定される。2つの主なタイプは、偽装(impersonation)攻撃と置換(substitution)攻撃がある。以下の説明の理解を容易にするために、これらのタイプの攻撃について、本明細書において簡単に説明する。より詳細な説明は、ジー. カバチアンスキ、ビー. スミーツ及びティー ヨハンソンによる、「誤り訂正コードを介する体系的Aコードの濃度」 IEEE 会報 情報理論、IT−42、ページ566−578、1996年(On the cardinality of systematic A-codes via error correcting codes", IEEE Transaction on Information theory, vol. IT-42, pp. 566-578,1996,)を参照されたい、これは、そのすべてを参照することによって本明細書に組み込まれる。
【0100】
偽装攻撃では、攻撃者は、正当な送信側と受信側間のデータ交換を事前に観測することなく、データが正当な送信側から送信されていることを受信側に信用させる試行を行う。一方、置換攻撃においては、攻撃者は、いくつかのデータdを観測し、次に、その観測したデータをいくつかの他のデータd’≠dに置き換える。偽装攻撃及び置換攻撃を成功させるための攻撃者の確率は、それぞれPIとPSで示され、これは、以下のように表現することができる。
【0101】

【0102】
例えば、上述のキー交換プロトコルの構成では、観測されたデータdを他のデータd’へ置換するための攻撃者の確率は、キー交換方法のセキュリティに関連する測定値である、即ち、図1及び2aの例のユニットAからユニットBへ送信されるパブリックキー及び図2bのユニットBからユニットAへ送信されるパブリックキーを、別のパブリックキーに置換するための確率である。この状況では、d’が受信側に有効データとして受け入れられる場合に、攻撃者は成功する。短距離無線通信環境、例えば、ブルートゥースでは、両方のユニットは、物理的に互いに近接していて、かつ、データの受信だけに制限されている、これは、両方のユニットが、レディ状態にあることを示す信号を発信している場合である。ここで、このような状況では、偽装攻撃は容易に回避することができるので、置換攻撃の確率は、セキュリティにより関連する測定値に関係するものとして見なしても良い。また、図1及び図2の環境では、MAC関数によって算出されるタグ値は、データが送信される通信リンクとは異なる別の通信チャネルを介して通信される。これは、標準的なMAC環境とは対照的である、ここで、データ及びタグ値の両方が一緒に送信され、かつこれらは、攻撃者によって観測される可能性がある。これらを前提とすると、置換攻撃の成功確率は、以下のように表現することができる。
【0103】

【0104】
ここで、キーがキー空間Kからランダムで一律に選択されるとすると、上述の確率は、次のように表現することができる。
【0105】

【0106】
ここで、|・|は、濃度セット、即ち、|K|は、Kの濃度であり、上述の式の分子は、d及びd’に対して同一のMAC関数を生成するキー空間K内のすべてのキーのセットの濃度である。従って、上述の式から、高いセキュリティを提供するために、MAC関数fの衝突確率は低くするべきである。
【0107】
MAC構成の以下の例は、誤り訂正コードに基づいている。この説明のために、有限フィールドFqに渡る誤り訂正コードを想定する。特に、Fqに渡るコード語長nのq−元符号(q-ary code)を想定し、これをVで示す。一般的には、このコードは、メッセージからコード語へのマッピングであり、そうすることで、各メッセージは固有のコード語に対応し、かつそれぞれのコード語はいくつかのシンボルを構成する。従って、コードVは、ベクトルv∈V={v(d):d∈D}のすべてを構成し、ここで、v(d)=(v1(d),v2(d),...,vn(d)、即ち、vi(d)=Fqは、コード語v(d)のシンボルである。
【0108】
2つのq−元のn組(タプル:tuple)のx及びy間のハミング距離dH(x,y)は、同一ではないn組のコンポーネント数である、即ち、dH(x,y)=|{i∈{1,...,n}:xi≠yi}|である。コードVの最小距離は、
【0109】

【0110】
である。即ち、コードVのすべてのコード語間の最小距離である。
【0111】
図3を参照すると、誤り訂正コードに基づくMAC構成の例が説明される。
【0112】
初期ステップ301では、MAC構成に対する入力データが提供される、即ち、認証対象のメッセージdとMAC関数の入力として使用されるキーkが提供される。
【0113】
ステップ302では、インデックスi∈{1,...,n}が、キーkの関数g、即ち、i=g(k)として選択される。特に、キー空間Kがn要素である場合、即ち、|K|=nである場合、各kは固有にシンボルインデックスの1つにマッピングされる、各インデックスは、1つのキーに対応する。一実施形態では、キーは直接インデックス、即ち、i=kとして使用される。
【0114】
ステップ303では、タグ値tは、コードVのコード語V(d)のi番目のシンボルとして判定される、このコードVは、メッセージdに対応する、即ち、
【0115】

【0116】
に対応する。
【0117】
ここで、タグ値は、誤り訂正コードのコード語の選択されるシンボルとして判定され、コード語はメッセージに対応するコード語であり、また、シンボルは、キーによって特定される。その結果、上述の例では、MACは、nに等しいキー空間サイズと、コーディング空間サイズに等しいメッセージ空間を用いて取得される。また、上述の置換攻撃に対する確率Psは、次のように与えられる。
【0118】

【0119】
図4a〜bは、リード−ソロモンコードに基づいてメッセージ認証コードを算出する方法の例のフロー図である。
【0120】
リード−ソロモン(RS)符号という用語は、誤り訂正コードのタイプを示しており、ここで、コード語は、生成多項式を用いる多項式除算を介して定義される、これは、アイ.エス. リード及びジー. ソロモンによる、「有限フィールド上の多項式コード」、応用数理学会、8号、ページ300〜304、1960年(l. S. Reed and G. Solomon,"Polynomial Codes over Certain Finite Fields", journal of Soc. Ind. Appl. Math. , vol. 8, pp. 300- 304,1960)を参照されたい、これは、参照することによって、その全体が本明細書に組み込まれる。リード−ソロモンコードという用語は、更に、リード−ソロモンコードの変形、例えば、いわゆる、規格化リード−ソロモンコードを構成することも意図されるものである。
【0121】
図4aの構成では、初期ステップ401では、MAC構成に対する入力データが提供される、即ち、認証対象のメッセージdとMAC関数の入力として使用されるキーkが提供される。
【0122】
ステップ402では、メッセージは、Fq上のq−元のτ組(タプル)として表現される、即ち、d=d0、d1,...,dτ-1として表現され、ここで、di∈Fqである。従って、メッセージに対応するリード−ソロモン(RS)エンコーディング(符号化)多項式は、以下のように定義される。
【0123】

【0124】
ステップ403では、MACのタグ値は、キーkで特定される点での多項式を評価することによって算出される、即ち、
【0125】

【0126】
となる。
【0127】
ここで、キーkは、リード−ソロモンコードのシンボルを特定し、これは、タグ値として使用される。上述のように、シンボルは、キーの適切な関数によって特定されても良いことが理解される。
【0128】
更に、この構成では、キーは、有限フィールドFq、即ち、k∈Fqから選択されることに注意する。その結果、この構成は、以下の属性を持っている、n=q=|K|及び|D|=qτ=nτとなる。上述のコードの最小距離は、dH(V)=n−τ+1である、つまり、置換攻撃の成功確率は、PS=(τ−1)/nである。リード−ソロモンコードの利点は、これらが、最小距離が大きいロングコードであることである。
【0129】
上述の内容は、更に、確率PSが、メッセージ空間Dのサイズが大きくなることを意味するものである。
【0130】
図4bは、リード−ソロモンコードに基づくMAC構成の別の実施形態のフロー図を示している。
【0131】
ここで、この構成に従えば、初期ステップ404では、MAC構成に対する入力データが提供される、即ち、認証対象のメッセージdとMAC関数の入力として使用されるキーkが提供される。
【0132】
ステップ405では、一方向ハッシュ関数hがメッセージに適用される。この説明のために、一方向ハッシュ関数という用語は、データ要素、例えば、ストリングを入力として取得し、かつ固定長バイナリ値(ハッシュ)を出力として生成するアルゴリズムを意味するものである。特に、このプロセスは不可逆である、即ち、生成されているデータ要素の検出時には、与えられるハッシュ値は、コンピュータで実行できないようにされるべきである。同様に、同一のハッシュ値を生成する2つの任意のデータ要素を検出することも、コンピュータで実行できないようにされるべきである。適切なハッシュ関数の例には、標準セキュアハッシュアルゴリズムSHA−1がある。このSHA−1アルゴリズムは、264ビット長未満のメッセージを取得して、160−ビットのメッセージダイジェストを生成する。一方向ハッシュ関数の他の例には、MD4、MD5及びその類が含まれる。ハッシュ関数δ=h(d)の出力は、リード−ソロモンコードへの入力として使用される。一実施形態では、ハッシュ関数の出力は、メッセージサイズを更に効果的に削減するために切り捨てられる。
【0133】
従って、ステップ406では、ハッシュ値δは、Fq上のq−元のτ組(タプル)として表現される、即ち、δ=δ0,δ1,...,δτ-1であり、ここで、δi∈Fqである。
【0134】
ステップ407では、MACのタグ値tは、キーkによって特定される点の、対応するリード−ソロモンエンコーディング多項式を評価することによって算出される、即ち、
【0135】

【0136】
ここで、SHA−1のような一方向ハッシュ関数をメッセージにまず適用することによって、メッセージ空間のサイズが削減される、これによって、キー長あるいはMACの出力長、即ち、タグ長を著しく大きくすることなく、置換攻撃の成功確率PSを低下させる。その結果、ショートキー及びショートメッセージタグに対してさえ安全な認証が提供される、これによって、人間の対話が介在するキー及びメッセージタグの通信を可能にする。
【0137】
図5は、図4a〜bのMAC構成のいくつかの構成例に対する置換攻撃の成功確率を示すテーブルを示している。log2|D|で示される第1列は、ビット数で示されるメッセージのサイズである、log2(n)で示される第2列はビット数によるキーサイズを示している、一方、最後の列は、対応する置換攻撃の成功確率を示している。例えば、4桁の16進数のコード長と、4桁のキーサイズ(n=q=164)からなるコードは、128ビット長のメッセージに対して、2-13〜2-16の間の偽装確率となる。従って、128ビットに切り捨てられるSHA−1出力と、16進数で4ビットのキーサイズとコードサイズは、十分に高いセキュリティをもたらす。キーサイズを5桁(log2(n)=20)に増やす場合、この偽装確率は、2-17あるいはそれ未満に更に低下する。
【0138】
図6は、A及びBで示される2つの通信ユニットを含む通信システムのブロック図を示している。通信ユニットAと通信ユニットBは、通信リンク605を介して互いに通信する。
【0139】
通信ユニットAは、処理ユニット602、その処理ユニットに接続されている無線通信ユニット603、その処理ユニットに接続されている記憶媒体604、その処理ユニットに接続されているユーザインタフェース606を備えている。
【0140】
無線通信ユニット603は、処理ユニット602から受信したデータを、無線リンク605を介して通信ユニット607へ送信し、その通信ユニット607は、無線リンクからデータを受信し、それらを処理ユニットへ転送する。例えば、無線通信ユニット603は、ブルートゥース技術に基づいていても良く、また、2.45GHzのISM帯で送信/受信することができる。
【0141】
処理ユニット602、例えば、適切なプログラム化マイクロプロセッサは、通信ユニットAによって実現される機能に従って、他のユニットから受信したデータを処理し、また、他のユニットへの送信対象のデータを処理する。特に、処理ユニット602は、上述のセキュリティ機能、特に、上述のパスコード及び対応するタグ値の生成、キー交換及び認証方法を実行するために適切にプログラムされている。
【0142】
記憶媒体604は、例えば、EPROM、EEPROM、フラッシュメモリあるいはその類であり、これは、パスコードKを記憶するとともに、キー交換プロトコルで必要なパラメータを記憶するように適合されている。
【0143】
ユーザインタフェース606は、生成されたパスコードK及び対応するタグ値tを表示するためのディスプレイを備え、そうすることで、ユーザは、生成された値を読み取り、かつそれらを通信ユニットBへ送信することができる。加えて、ユーザインタフェース606は、データ入力手段を備えていても良く、これには、例えば、キーボード、キーパッド、ポインティングデバイス、タッチスクリーンあるいはその類がある。
【0144】
通信ユニットBは、処理ユニット609、その処理ユニットに接続されている無線通信ユニット608、その処理ユニットに接続されている記憶媒体610、その処理ユニットに接続されているユーザインタフェース611を備えている。
【0145】
無線通信ユニット609は、通信装置Aの無線通信ユニット603に対応する、これによって、無線通信ユニットAとB間の無線通信を可能にする。
【0146】
処理ユニット609は、通信ユニットによって実現される機能に従って、他のユニットから受信したデータを処理し、また、他のユニットへの送信対象のデータを処理する。特に、処理ユニットは、上述のセキュリティ機能、特に、上述のキー交換及び認証方法、及びユニットAによって実現される対応するキー交換プロトコル及び認証メカニズムを実行するために適切にプログラムされている。
【0147】
同様に、記憶媒体604は、例えば、EPROM、EEPROM、フラッシュメモリあるいはその類であり、これは、パスコードKとタグ値tと、キー交換プロトコルで必要なパラメータを記憶するように適合されている。
【0148】
ユーザインタフェース611は、入力デバイスを備え、これには、例えば、キーパッド、キーボード、タッチスクリーンあるいはその類があり、これは、ユーザに、パスコードKと、通信ユニットAによって生成される、パスコードKと対応するタグ値tを入力することを可能にする。加えて、ユーザインタフェースは、ディスプレイ、ポインティングデバイス、及びその類の少なくとも1つを備えていても良い。
【0149】
このように、図6の通信システムは、2つの通信ユニット、例えば、2つのポータブル通信デバイスを備えていて、これには、例えば、2つの移動電話、移動電話とポータブルコンピュータ、2つのポータブルコンピュータ、あるいは、上述の方法に従って共有シークレットキーを確立することによって通信リンク605を介してセキュア通信を確立する同様の電子機器の任意の組み合わせがある。
【0150】
一実施形態では、処理ユニット及び記憶媒体の少なくとも一方は、対応する通信ユニットに着脱可能に装着されても良い、これによって、実際のユニットとは独立して確立されるセキュリティアソシエーション(セキュリティ協定:security association)を可能にする。例えば、記憶媒体及び処理ユニットの少なくとも一方は、スマートカード、例えば、SIMカードによって構成されても良い。
【0151】
また、通信ユニットは、更に、図6のブロック図で省略されているコンポーネントを備えていても良いことに注意する。例えば、通信ユニットは、更に、受信機に接続されている自動ゲイン制御(AGC)ユニット、デコーダ、エンコーダ、あるいはその類を備えていても良い。
【0152】
図7はコンピュータネットワークのアクセスポイントを介するコンピュータネットワークを用いて通信するポータブル通信ユニットのブロック図を示している。
【0153】
通信ユニットAは、図6で説明する通信ユニットAに対応する。通信ユニットAは、処理ユニット602、その処理ユニットに接続されている無線通信ユニット603、その処理ユニットに接続されている記憶媒体604、その処理ユニットに接続されているユーザインタフェース606を備えている。これらのコンポーネントは、上記で詳細に説明しているものである。
【0154】
通信ユニットAは、無線通信リンク605を介して、通信ネットワーク701のアクセスポイント702と通信する。例えば、通信ネットワーク701は、無線LAN、1つ以上のアクセスポイントを介して無線アクセスを提供する有線LAN、あるいはその類であっても良い。図7では、ネットワークノード703及び704によって、更なるネットワークコンポーネントが例示されている。図7の例では、ネットワークノード703は、ネットワークサーバコンピュータであり、これは、いくつかのユニットに対応するパスコードとタグ値のキーデータベース705を管理し、このユニットは、無線リンクを介してコンピュータネットワーク701にアクセスすることができる。ここで、ユニットAが図2a〜bで説明した処理に従って、コンピュータネットワークを用いて登録を行いたい場合、ネットワークサーバ703は、その処理において、デバイスCの役割を果たしても良い。例えば、図2bの実施形態に従えば、ネットワークサーバ703がパスキーKとタグ値とを生成している場合、その値はユニットAに転送されても良い。例えば、この転送は、初期化処理の一部としてオペレータによって、あるいは電話を介してユニットAのユーザへデータを通信することによって、あるいはメールを送信することによって、あるいはその類によって発生しても良い。そして、このパラメータは、ユニットAへ入力される。また、そのデータは、データベース705に記憶される。ユニットAがアクセスポイントBとの接続を確立している場合、図2bのキー交換プロセスで、記憶されたパラメータが検索され、かつ使用される。
【0155】
別の実施形態では、アクセスポイントBは、キーデータベースを含んでいる、あるいは直接(ダイレクト)アクセスを持っていて、かつ登録処理は、図1で説明されるように、ユニットAとアクセスポイントB間で直接実行される。
【0156】
本明細書で使用される場合の「構成する/構成している」という用語は、上述の特徴、整数値(integers)、ステップあるいはコンポーネントの存在を特定するために採用されているが、これは、他の特徴、整数値、ステップ、コンポーネントあるいはそれらのグループの存在あるいは追加を除外するものではないことが重視されるべきである。
【0157】
本発明の実施形態が説明され、かつ図示されているが、本発明はこれに制約されるものではなく、請求項で定義される対象の範囲内で、他の方法で実施されても良い。
【0158】
本発明は、いくつかの専用要素を備えるハードウェアによって実現することができ、また、適切なプログラム化コンピュータによって実現することができる。いくつかの手段を列挙している装置の請求項では、これらの手段のいくつかは、ハードウェアの1つ及び同一要素によって実現されても良く、これには、例えば、適切なプログラム化マイクロプロセッサあるいはコンピュータ、1つ以上のユーザインタフェース、本明細書で説明される1つ以上の通信インタフェースの少なくとも1つである。ある数値(measurement)が従属請求項と互いに異なって引用されていることは、これらの数値の組み合わせが効果として使用できないことを示しているものではない。
【図面の簡単な説明】
【0159】
【図1】セキュアキー交換メカニズムの実施形態のフロー図を示す図である。
【図2a】セキュアキー交換メカニズムの更なる実施形態のフロー図を示す図である。
【図2b】セキュアキー交換メカニズムの更なる実施形態のフロー図を示す図である。
【図3】誤り訂正コードに基づいて、メッセージ認証コードを算出する方法のフロー図を示す図である。
【図4a】リード−ソロモンコードに基づくメッセージ認証コードを算出する方法の例のフロー図である。
【図4b】リード−ソロモンコードに基づくメッセージ認証コードを算出する方法の例のフロー図である。
【図5】図4a〜bのMAC構成のいくつかの構成例に対する置換攻撃の成功確率を示すテーブルである。
【図6】2つの通信デバイスのブロック図である。
【図7】コンピュータネットワークのアクセスポイントを介して、コンピュータネットワークと通信するポータブル通信ユニットのブロック図である。

【特許請求の範囲】
【請求項1】
第1及び第2通信ユニット間のセキュア通信を提供する方法であって、本方法は、共有シークレットキーを生成する、前記第1及び第2通信ユニット間のキー交換を備え、前記キー交換は、ユーザ対話を含み、前記方法は、
−少なくとも一部のユーザ対話によって、前記第1及び第2通信ユニットへパスコードを提供するステップと、
−前記第1通信ユニットによって前記共有シークレットキーへの第1寄与(contribution)と、前記第2通信ユニットによって前記共有シークレットキーへの第2寄与を生成し、前記生成された各寄与を、対応する他の通信ユニットへ送信するステップと、
−少なくとも前記パスコードに基づいて、対応する受信側通信ユニットによって、前記送信された第1及び第2寄与を認証するステップと、
−前記受信された寄与が正常に認証された場合にのみ、少なくとも前記受信された第1あるいは第2寄与から前記通信ユニットのそれぞれによって前記共有シークレットキーを確立するステップと
を備えることを特徴とする方法。
【請求項2】
前記パスコードは、ユーザ対話を介して、通信するのに十分短い
ことを特徴とする請求項1に記載の方法。
【請求項3】
−前記生成された共有シークレットキーを使用して、前記第2通信ユニットによって前記パスコードを暗号化するステップと、
−前記生成された第2寄与とともに、前記暗号化されたパスコードを前記第1通信ユニットへ送信するステップと、
−前記第1通信ユニットによって、前記受信された暗号化パスコードを解読するステップと、
−前記受信された第2寄与を認証するために、前記第1通信ユニットへ提供された前記パスコードと、前記解読された受信されたパスコードとを比較するステップと
を備えることを特徴とする請求項1に記載の方法。
【請求項4】
前記第1及び第2寄与は、ディフィ−ヘルマンキー交換プロトコルの第1及び第2パブリックキーである
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記第1及び第2通信ユニットへパスコードを提供するステップは、前記第1通信ユニットによってパスコードを生成し、かつユーザ対話を含む通信チャネルを介して、前記第2通信ユニットへ前記生成されたパスコートを提供する
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記送信された第1及び第2寄与を認証するステップは、メッセージ認証コードのタグ値を算出することによって前記第1寄与を認証し、前記タグ値は、前記第1寄与と前記パスコードから算出される
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記タグ値は、誤り訂正コードのコード語のシンボルを選択することによって算出され、前記コード語は、前記第1寄与に対応し、前記シンボルは、前記パスコードによって識別される
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記第1寄与から一方向ハッシュ関数のハッシュ値を算出し、かつ誤り訂正符号のコード語のシンボルを選択することによって前記タグ値を算出するステップを更に備え、前記コード語は、前記第1寄与の前記ハッシュ値に対応し、前記シンボルは、前記パスコードによって識別される
ことを特徴とする請求項7に記載の方法。
【請求項9】
前記誤り訂正コードは、リード−ソロモンコードである
ことを特徴とする請求項7に記載の方法。
【請求項10】
−前記第1通信ユニットによって前記共有シークレットキーへの前記第1寄与を生成し、前記生成された第1寄与を前記第2通信ユニットへ送信するステップと、
−前記パスコードに基づいて前記第2通信ユニットによって前記受信された第1寄与を認証し、かつ、前記受信された第1寄与が信頼あるものとして受け入れられる場合、少なくとも前記受信された第1寄与から前記共有シークレットキーを生成するステップと、
−前記第2通信ユニットによって生成された前記共有シークレットキーへの第2寄与を前記第1通信ユニットへ送信するステップと、
−前記パスコードに基づいて、前記第1通信ユニットによって前記受信された第2寄与を認証し、かつ前記受信された第1寄与が信頼あるものとして受け入れられる場合にのみ、前記第2通信ユニットによって前記共有シークレットキーを生成するステップと
を備えることを特徴とする請求項1に記載の方法。
【請求項11】
−キーとして前記パスコードを使用して、前記第1寄与からメッセージ認証コードの第1メッセージタグを算出するステップと、
−前記算出された第1メッセージタグを前記第2通信ユニットへ提供するステップとを更に備え、
前記パスコードに基づいて前記第2通信ユニットによって前記受信された第1寄与を認証するステップは、
−キーとして前記パスコードを使用して、前記受信した第1寄与から前記メッセージ認証コードの第2メッセージタグを算出するステップと、
−前記受信した第1寄与を認証するために、前記第1及び第2メッセージタグを比較するステップと
を備えることを特徴とする請求項10に記載の方法。
【請求項12】
第1通信ユニットと第2通信ユニット間のセキュア通信を提供する方法であって、前記方法は、登録ステップと、キー交換ステップとを備え、
前記登録ステップは、
−前記第1通信ユニットによって、キー交換メカニズムの第1プライベートキー値と、対応する第1パブリックキーを生成するステップと、
−前記第1通信ユニットによってパスコードを生成するステップと、
−前記第1通信ユニットによって、前記パスコードを使用してメッセージ認証コードに従う前記第1パブリックキーのメッセージタグを算出するステップと、
−少なくとも一部のユーザ対話によって、前記パスコードと、前記算出されたタグ値を前記第2通信ユニットにアクセス可能にするステップとを備え、
前記キー交換ステップは、
−前記第1通信ユニットによって、前記第1パブリックキーを前記第2通信ユニットへ送信するステップと、
−前記第2通信ユニットによって前記パスコードを使用して前記メッセージ認証コードに従う前記受信した第1パブリックキーの前記タグ値を算出し、前記算出したタグ値が前記通信されたタグ値に対応する場合、前記受信した第1パブリックキーを受け入れるステップと
−前記第2通信ユニットによって、前記キー交換メカニズムの第2プライベートキー値と対応する第2パブリックキーを生成するステップと、
−前記第2通信ユニットによって、前記第1パブリックキーと前記第2プライベートキー値から、前記キー交換メカニズムの共有シークレットキーを算出するステップと、
−前記算出された共有シークレットキーを使用して、前記第2通信ユニットによってパスコードを暗号化するステップと、
−前記第2通信ユニットによって、前記第2パブリックキーと前記暗号化されたパスコードを前記第1通信ユニットへ送信するステップと、
−前記第1通信ユニットによって、前記第2パブリックキーと前記第1プライベートキーから、前記キー交換メカニズムの前記共有シークレットキーを算出するステップと、
−前記第1通信ユニットによって算出された前記共有シークレットキーを使用して、前記送信され、暗号化されたパスコードを前記第1通信ユニットによって解読し、前記解読されたパスコードが、前記第1通信ユニットによって生成されたパスコードに対応する場合、前記算出された共有シークレットキーを受け入れるステップと
を備えることを特徴とする方法。
【請求項13】
第1及び第2通信ユニット間の共有シークレットキーを生成するキー交換によって、少なくとも前記第1及び第2通信ユニット間のセキュア通信を提供する通信システムであって、前記キー交換は、ユーザ対話を含み、前記通信システムは、
−少なくとも一部のユーザ対話によって、前記第1及び第2通信ユニットへパスコードを提供する手段と、
−前記第1通信ユニットによって前記共有シークレットキーへの第1寄与(contribution)と、前記第2通信ユニットによって前記共有シークレットキーへの第2寄与を生成する手段と、
−前記生成された各寄与を、対応する他の通信ユニットへ送信する手段と、
−前記パスコードに基づいて、対応する受信側通信ユニットによって、前記送信された第1及び第2寄与を認証する手段と、
−前記受信された寄与が正常に認証された場合にのみ、少なくとも前記受信された第1あるいは第2寄与から前記通信ユニットのそれぞれによって前記共有シークレットキーを確立する手段と
を備えることを特徴とする通信システム。
【請求項14】
前記第1通信ユニットは、前記パスコードを生成するように適合されている処理手段と、第1通信チャネルとは異なる第2通信チャネルを介して、前記生成されたパスコードを前記第2通信ユニットへ提供する出力手段とを備える
ことを特徴とする請求項13に記載の通信システム。
【請求項15】
前記第1及び第2通信ユニットはそれぞれ、メッセージ認証コードのタグ値を算出する処理手段を備え、前記タグ値は、前記第1寄与及び前記パスコードから算出される
ことを特徴とする請求項13に記載の通信システム。
【請求項16】
前記処理手段は、誤り訂正コードのコード語のシンボルを選択することによって前記タグ値を算出するように適合され、前記コード語は、前記第1寄与に対応し、前記シンボルは、前記パスコードによって識別される
ことを特徴とする請求項15に記載の通信システム。
【請求項17】
前記処理手段は、更に、前記第1寄与から一方向ハッシュ関数のハッシュ値を算出し、かつ誤り訂正符号のコード語のシンボルを選択することによって前記タグ値を算出するように適合され、前記コード語は、前記第1寄与の前記ハッシュ値に対応し、前記シンボルは、前記パスコードによって識別される
ことを特徴とする請求項16に記載の通信システム。
【請求項18】
前記誤り訂正コードは、リード−ソロモンコードである
ことを特徴とする請求項16に記載の通信システム。
【請求項19】
共有シークレットキーを生成するキー交換によって、他の通信ユニットとのセキュア通信を提供する通信ユニットであって、前記キー交換は、ユーザ対話を含み、前記通信ユニットは、データ処理手段、ユーザインタフェース手段及び通信インタフェースを備え、前記処理手段は、以下のステップを実行するように適合されている
−前記ユーザインタフェース手段を介する、少なくとも一部のユーザ対話によって、前記他の通信ユニットへ提供されるパスコードを生成するステップと、
−前記共有シークレットキーへの第1寄与を生成し、前記通信インタフェースを介して送信し、かつ、前記通信インタフェースを介して、前記共有シークレットキーへの第2寄与を受信するステップであって、前記第2寄与は、前記他の通信ユニットによって生成されるステップと、
−前記パスコードに基づいて、前記受信した第2寄与を認証するステップと、
−前記受信した第2寄与が正常に認証された場合にのみ、少なくとも前記第2寄与から前記共有シークレットキーを確立するステップと
を備えることを特徴とする通信ユニット。
【請求項20】
前記処理手段は、更に、前記他の通信ユニットへ提供されるメッセージ認証コードのタグ値を算出するように適合され、前記タグ値は、前記第1寄与及び前記パスコードから算出される
ことを特徴とする請求項19に記載の通信ユニット。
【請求項21】
前記処理手段は、誤り訂正コードのコード語のシンボルを選択することによって前記タグ値を算出するように適合され、前記コード語は、前記第1寄与に対応し、前記シンボルは、前記パスコードによって識別される
ことを特徴とする請求項20に記載の通信ユニット。
【請求項22】
前記処理手段は、更に、前記第1寄与から一方向ハッシュ関数のハッシュ値を算出し、かつ誤り訂正符号のコード語のシンボルを選択することによって前記タグ値を算出するように適合され、前記コード語は、前記第1寄与の前記ハッシュ値に対応し、前記シンボルは、前記パスコードによって識別される
ことを特徴とする請求項21に記載の通信ユニット。
【請求項23】
前記誤り訂正コードは、リード−ソロモンコードである
ことを特徴とする請求項21に記載の通信ユニット。
【請求項24】
前記処理手段は、更に、
−前記共有シークレットキーを使用して、前記第2寄与とともに受信された暗号化されたパスコードを解読し、
−前記解読されたパスコードが前記生成されたパスコードに対応する場合、前記受信した第2寄与を受け入れる
ように適合されている
ことを特徴とする請求項19に記載の通信ユニット。
【請求項25】
共有シークレットキーを生成するキー交換によって、他の通信ユニットとのセキュア通信を提供する通信ユニットであって、前記キー交換は、ユーザ対話を含み、前記通信ユニットは、データ処理手段、記憶手段、通信インタフェース及び共有シークレットキーを生成するキー交換を実行するように適合されている処理手段を備え、前記キー交換は、以下のステップを実行するように適合されている
−少なくとも一部のユーザ対話で、前記他の通信ユニットによって生成されたパスコードを受信し、かつ記憶するステップと、
−前記通信インタフェースを介して、前記他の通信ユニットによって生成された前記共有シークレットキーへの第1寄与を受信するステップと、
−前記パスコードに基づいて、前記受信した第1寄与を認証するステップと、
−前記受信した第1寄与が正常に認証された場合、少なくも前記第1寄与から前記共有シークレットキーを確立し、かつ前記通信インタフェースを介して、前記共有シークレットキーへの第2寄与を送信するステップと
を備えることを特徴とする通信ユニット。
【請求項26】
更に、前記記憶手段にメッセージ認証タグを記憶するように適合され、前記処理手段は、更に、以下のように適合されている
−前記受信した第1寄与と前記パスコードからメッセージ認証コードのタグ値を算出し、
−前記算出されたタグ値が前記記憶されたメッセージ認証タグに対応する場合にのみ、前記受信した第1寄与を受け入れる
ことを特徴とする請求項25に記載の通信ユニット。
【請求項27】
前記処理手段は、更に、誤り訂正コードのコード語のシンボルを選択することによって前記タグ値を算出するように適合され、前記コード語は、前記第1寄与に対応し、前記シンボルは、前記パスコードによって識別される
ことを特徴とする請求項26に記載の通信ユニット。
【請求項28】
前記処理手段は、更に、前記第1寄与から一方向ハッシュ関数のハッシュ値を算出し、かつ誤り訂正符号のコード語のシンボルを選択することによって前記タグ値を算出するように適合され、前記コード語は、前記第1寄与の前記ハッシュ値に対応し、前記シンボルは、前記パスコードによって識別される
ことを特徴とする請求項27に記載の通信ユニット。
【請求項29】
前記誤り訂正コードは、リード−ソロモンコードである
ことを特徴とする請求項27に記載の通信ユニット。
【請求項30】
前記処理手段は、更に、
−前記共有シークレットキーを使用して、前記記憶されたパスコードを解読し、
−前記通信インタフェースを介して、前記解読されたパスコードを前記第2寄与とともに、前記他の通信ユニットへ送信する
ように適合されている
ことを特徴とする請求項25に記載の通信ユニット。
【請求項31】
当該コンピュータプログラムがコンピュータ上で実行される、請求項1乃至12のいずれか1項に記載のステップをすべて実行するプログラムコード手段を備えることを特徴とするコンピュータプログラム。
【請求項32】
当該コンピュータプログラム製品がコンピュータ上で実行される場合に、請求項1乃至12のいずれか1項に記載の方法を実行するための、コンピュータ可読媒体上に記憶されるプログラムコード手段を備えることを特徴とするコンピュータプログラム製品。
【請求項33】
当該プログラムがコンピュータ上で実行される場合に、請求項1乃至12のいずれか1項に記載のステップのすべてを実行するプログラムコード手段を自身に記憶していることを特徴とするコンピュータ可読媒体。

【図1】
image rotate

【図2a】
image rotate

【図2b】
image rotate

【図3】
image rotate

【図4a】
image rotate

【図4b】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2006−504362(P2006−504362A)
【公表日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願番号】特願2005−501515(P2005−501515)
【出願日】平成15年10月9日(2003.10.9)
【国際出願番号】PCT/EP2003/011220
【国際公開番号】WO2004/038998
【国際公開日】平成16年5月6日(2004.5.6)
【出願人】(598036300)テレフオンアクチーボラゲット エル エム エリクソン(パブル) (2,266)
【Fターム(参考)】