JP4664206B2 - 誤り訂正コードに基づくメッセージ認証コード - Google Patents

誤り訂正コードに基づくメッセージ認証コード Download PDF

Info

Publication number
JP4664206B2
JP4664206B2 JP2005501514A JP2005501514A JP4664206B2 JP 4664206 B2 JP4664206 B2 JP 4664206B2 JP 2005501514 A JP2005501514 A JP 2005501514A JP 2005501514 A JP2005501514 A JP 2005501514A JP 4664206 B2 JP4664206 B2 JP 4664206B2
Authority
JP
Japan
Prior art keywords
message
key
communication device
tag value
symbols
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.)
Expired - Fee Related
Application number
JP2005501514A
Other languages
English (en)
Other versions
JP2006504361A (ja
Inventor
クリスティアン ゲールマン,
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2006504361A publication Critical patent/JP2006504361A/ja
Application granted granted Critical
Publication of JP4664206B2 publication Critical patent/JP4664206B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Telephone Function (AREA)
  • Error Detection And Correction (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明の分野
本発明は、メッセージ認証コード(message authentication code)に従うタグ値を判定するためのメッセージの処理に関するものである。
本発明の背景
データ保全性(integrity)及び信頼性は、任意のセキュアデータ通信システムにおいて基本的に期待されるものであり、このシステムは、変更することが許可されていない何者かによって情報が変更されないことを補償する。無線通信環境においては、通信データの敵対的な傍受及び、かつ変更の可能性に対して、取り分けて高いリスクがある、つまり、保全性保護及び認証に対する要求が取り分けて存在する。
データ保全性は、メッセージ認証コード(MAC)によって提供される。MACは、データ通信ペイロードの保全性保護に対して使用される、これは、大量のデータでさえコンピュータで効率的に保護する方法を提供する。
MACは、送信側(送信機:sender)と受信側(受信機:receiver)との間での対称(共通:symmetric)共有シークレットに基づいている。このシークレット値は、キーと呼ばれる。このシークレットキーは、MAC算出への1つの入力変数であり、また、保護対象のメッセージは別の入力である。MAC算出は、タグ値として参照される保全性チェック値を出力する。正しいシークレットキーを処理するものだけが、与えられるメッセージに対するタグ値を算出することができる。従来の自動保全性保護環境においては、算出されたタグ値は、メッセージとタグ値を通信チャネルを介して受信先へ送信する前に、そのメッセージに付加される。MACによって保護されているメッセージの受信においては、受信側は、受信データと共有シークレットキーに基づいて、対応するタグ値を算出する。算出されたタグ値が、受信タグ値と等しい場合、メッセージは認証されたものとして受け入れられる。周知のMACの例には、いわゆる、メッセージ認証用キー化ハッシング(HMAC)アルゴリズムがあり、これは、暗号技術における一方向性ハッシュ関数に基づいていて、これには、セキュアハッシュアルゴリズムSHA−1及びメッセージダイジェストアルゴリズムMD5がある。
手動の認証スキームでは、算出されたタグ値は、送信メッセージに付加される必要はない。このようなスキームでは、そのタグ値は、そのメッセージを送信するデバイスによって、かつそのメッセージを受信するデバイスによって算出することができる。次に、ユーザは、算出されたタグ値を比較する、あるいは算出されたタグ値を、比較のために、あるデバイスから他のデバイスへ手動で送信する。同様にして、いくつかのアプリケーションでは、MACは、データ要素の保全性チェックを実行するために使用することができ、このデータ要素は、2つの異なるデバイスによって別々に生成されたものである。従って、この状況では、データ要素は、送信側から受信側へは送信されない、つまり、タグ値は、送信前にデータに付加される必要はない。
シー. ゲールマン及びケイ. ネイバーグによる、論文「ブルートゥース帯域幅セキュリティへの拡張」、ノルディックサイエンス議事録 2001、コペンハーゲン 2001年11月(C. Gehrmann and K. Nyberg, "Enhancements to the Bluetooth baseband security", Proceedings of the Nordsec 2001, Copenhagen, November 2001)では、ディフィ−ヘルマン(Diffie-Hellman)共有シークレットによる手動認証スキームの一例を記載している、これは、通信リンクを介して共有シークレットを通信することなく、2つのデバイスによって事前に生成されたものである。この方法は、中間者(man-in-the-middle)は、ディフィ−ヘルマンキー交換が存在している場合に、確立されたデフィ−ヘルマンキーが正当なデバイス内で異なって存在しているという前提に基づいている。この方法に従えば、生成された共有シークレットは、シークレットキーを手動で交換し、生成された共有シークレットとシークレットキーからメッセージ認証コードのタグ値を算出し、かつ生成されたタグ値を手動で比較することによって、生成された共有シークレットが認証される。
ユーザ対話が介在する、このような状況では、タグ値長を短く維持することが要望されている、これは、ユーザ実用性によるタグ値の比較あるいは転送を行うためである、即ち、このような手動の比較を必要とする時間を削減し、かつ誤りのリスクを削減するためである。
ジー. カバチアンスキ、ビー. スミーツ及びティー ヨハンソンによる、「誤り訂正コードを介する体系的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)では、メッセージ認証コードと誤り訂正コード間の関係を記載していて、また、誤り訂正コードに基づくMAC構造を開示していて、ここで、このコードは、等価のクラスに分類される、そうすることで、一定でないコードワード(codeword)のすべてが単一のコードワードに置き換えられる、これによって、新規のコード、いわゆる、ファクタコードを生成する。そして、タグ値が、2つのキーに基づいて、そのファクタコードのシンボルから算出される。
本発明の要約
本発明の目的は、メッセージ認証コードのタグ値を提供することであり、このメッセージ認証コードは、小さいタグサイズで、かつ小さいキーサイズに対する、高レベルの偽装保護を提供する。
上述及び他の目的は、メッセージと、メッセージ認証コードに従うキーからタグ値を判定するためにメッセージを処理する方法によって達成され、この方法は、、
−複数のシンボルの1つを選択し、前記複数のシンボルは、前記メッセージから導出されるデータ要素をエンコーディングするコードワードを生成し、前記コードワードは、誤り訂正コードに従って前記データ要素をエンコーディングし、前記キーは、前記複数のシンボルの内の1つのどれが選択されるかを判定し、
−前記選択されたシンボルとなる前記タグ値を判定する。
上述の方法は、小さいタグサイズ及び小さいキーサイズに対してさえ、高レベルの偽装セキュリティを提供することが、本発明者によって実現されている。
更なる効果は、誤り訂正コードのコードワードのシンボルとしてタグ値を直接選択することによって、効率的にコンピュータによって算出される(computationally)MAC構成が提供されることである。
一実施形態では、メッセージから導出されるデータ要素は、メッセージ自身である。従って、一実施形態では、メッセージは、誤り訂正コードへの入力として直接使用される。
別の実施形態では、メッセージから導出されるデータ要素は、メッセージから算出される一方向ハッシュ関数のハッシュ値である、これによって、メッセージサイズを削減し、かつ、同一レベルのセキュリティを維持しながら、キーのサイズ及びタグ値のサイズの少なくとも一方の更なる削減を可能にする。
更なる効果は、セキュリティが、MAC関数として、ロングハッシュコードでのハッシュ関数が使用される場合にコンピュータで算出されるセキュリティに依存するのではなく、MAC関数の絶対的なセキュリティに基づいていることである。
特に、上述及び後述のMAC構成は、ショートタグ値及びショートキー、即ち、10〜15の桁、文字及び他のシンボル、例えば、4〜6の16進文字の少なくともいずれかの長さより小さい長さを有するタグ及びキーに対してさえも偽装確率を十分に低くする、これによって、ユーザは、タグ値の通信及び比較の少なくとも一方を実行することができる。
本説明のために、メッセージという用語は、任意のデジタルデータ要素を備えることを意図し、これは、その保全性及び信頼性の少なくとも一方が検証されるものである。メッセージの例には、例えば、無線通信リンクを介して、送信側から受信側へ送信されるデータ要素や、異なるデバイスによって別々に生成されるあるいは協働して生成されるデータ要素及びその類を含んでいる。
一実施形態では、少なくともメッセージに対する寄与は、第1通信チャネルを介して送信側から受信側へ通信され、タグ値と、オプションとして、キーが第1チャネルとは別の第2通信チャネルを介して通信される。一実施形態では、第2通信チャネルはユーザ対話が介在する。
例えば、メッセージ全体が通信されても良く、あるいは、いくつかの実施形態では、通信に関与する各デバイスが、最終メッセージに対する寄与を生成し、かつその寄与をそれぞれの他のデバイスへ送信することができる。両方のデバイスが最終メッセージを生成する。この場合、1つ以上の送信された寄与及び最終メッセージの少なくとも一方は、上述及び以下の方法によって検証することができる。
更なる実施形態が、従属請求項で開示される。
上述及び以下の方法の特徴は、ソフトウェアで実現されても良く、また、データ処理システムあるいは、コンピュータ実行可能命令の実行によって生じる他の処理手段で実現されても良い。この命令は、記憶媒体あるいはコンピュータネットワークを介する別のコンピュータから、RAMのようなメモリにロードされるプログラムコード手段であっても良い。選択的には、上述の特徴は、ソフトウェアに代える固定配線回路、あるいはそれをソフトウェアとの組合わせによって実現されても良い。
本発明は、様々な方法で実現することができ、これには、上述及び以下の方法、通信デバイス及び更なる製造手段があり、これらは、最初に説明される方法とともに説明される1つ以上の利益及び効果をもたらす、また、これらはそれぞれ、最初に説明される方法とともに説明され、かつ従属請求項で開示される実施形態に対応する1つ以上の実施形態を持っている。
本発明は、更に、データメッセージを通信するための通信デバイスに関するものであり、この通信デバイスは、メッセージと、メッセージ認証コードに従うキーからタグ値を判定するために適合されている処理手段を備え、この処理手段は、以下のように
−複数のシンボルの1つを選択し、前記複数のシンボルは、前記メッセージから導出されるデータ要素をエンコーディングするコードワードを生成し、前記コードワードは、誤り訂正コードに従って前記データ要素をエンコーディングし、前記キーは、前記複数のシンボルの内の1つのどれが選択されるかを判定し、
−前記選択されたシンボルとなる前記タグ値を判定する
ように適合されている。
通信デバイスという用語は、例えば、無線通信信号のような通信信号の受信及び送信の少なくとも一方を実行するための適切な回路を備える任意のデバイスを意味するものであり、これは、データ通信を容易にする。このようなデバイスの例は、ポータブル無線通信機器及び他のハンドヘルドあるいはポータブルデバイスを含んでいる。ポータブル無線通信機器には、移動電話、ページャー、コミュニケータ、即ち、電子オーガナイザー、スマート電話、パーソナルデジタルアシスタント(PDA)、ハンドヘルドコンピュータあるいはその類のようなあらゆる機器が含まれる。
通信デバイスの更なる例には、ステーショナリー通信機器が含まれ、これには、例えば、ステーショナリーコンピュータあるいは、無線通信インタフェースを含む他の電子機器がある。一実施形態では、この通信デバイスの1つとしては、ネットワークデバイス、例えば、コンピュータネットワーク、例えば、LANへの無線アクセスを提供するコンピュータネットワークのアクセスポイントであっても良い。
ここで、処理手段という用語は、上述の機能を実行するように適切に適合されている任意の回路及びデバイスの少なくとも一方を意味するものである。特に、上述の用語は、汎用あるいは専用プログラマブルマイクロプロセッサ、デジタル信号処理(DSP)、特定用途向け集積回路(ASIC)、プログラマブル論理アレイ(PLA)、フィールドプログラマブルゲートアレイ(FPGA)、専用電子回路等、あるいはそれらの組み合わせを意味するものである。
実施形態の詳細説明
図1は、ユーザ対話が介在するメッセージ認証環境の例のフロー図を示している。このメッセージ認証環境は、通常は、A及びBで示される2つのデバイスが関与する。参照番号101で示される左側のフロー図は、デバイスAによって実行され、一方、参照番号102で示される右側のフロー図は、デバイスBによって実行される。
図1の例では、両方のデバイスは、それぞれボックス103及び109によって示されるメッセージdを記憶している。例えば、メッセージdは、一方のデバイスによって生成して、他方のデバイスに送信することができる、選択的には、両方のデバイスは、1つ以上の他のデバイスからメッセージdを受信することができる、あるいはそれらは、互いに協働して、及び/あるいは、第3のデバイスと協働してメッセージを生成することができる。
両方のデバイスが同一のメッセージを記憶していることを検証するために、初期ステップ104では、デバイスAは、例えば、適切なシークレットストリング長で、適切なキー空間から選択される、キーkを生成する。ステップ105では、デバイスAは、生成されたキーを、例えば、無線通信リンクあるいは、2つのデバイス間での適切な別のデータ接続を介して、デバイスBへ送信する。ステップ110では、デバイスBは、そのキーを受信する。以下では、デバイスBで受信されたキーを、k’として参照する。
ステップ106では、デバイスAは、デバイスAによって記憶されているメッセージdと、入力としてデバイスAによって生成されるキーkを使用するMAC関数のタグ値tを算出する。同様に、ステップ111では、デバイスBは、デバイスAと同一のMAC関数に対応するタグ値t’を、受信したキーkと、入力としてデバイスBに記憶されるメッセージdを使用して算出する。
ステップ107では、デバイスAは、算出されたタグ値tと、生成されたキーkを、デバイスAのユーザに対して表示する。同様に、ステップ112では、デバイスBは、デバイスBによって算出されたタグ値t’と、受信したキーk’を、デバイスBのユーザに対して表示する。ユーザ(群)は、表示されたタグ値が等しいかどうか、即ち、t=t’であるかどうかを判定するために、それらを比較する。例えば、デバイス同士が互いに近接している状態にある場合は、ユーザは、表示されたタグ値を直接比較することができる。デバイス同士が互いに離れて存在している場合には、デバイスAのユーザは、デバイスAからタグ値tとキーkを読み出し、例えば、電話あるいは他の通信手段によって、そのタグ値とキーをデバイスBのユーザに対して通信することができる、そうすることで、デバイスBのユーザは、デバイスBによって表示されたタグ値t’とキーk’との比較を実行することができる。
ステップ108及び114では、デバイスA及びBのユーザ(群)はそれぞれ、上述の比較結果を、タグ値とキーが等しい場合には、例えば、OKボタンを押下することによって入力する、また、これらの値が等しくない場合は、CANCELボタンを押下することによって入力する。
認証の結果のユーザ入力には、別の様々な実施形態が実現できることが理解される。例えば、ユーザには、デバイスの一方だけに結果を入力することを要求することができる。更にまた別の実施形態では、ユーザが所定時間期間内にOKボタンを押下しない場合には、デバイスは、認証が成功しなかったと見なしてもよい。
タグ値とキーが等しい場合、2つのデバイスに記憶されているメッセージdが正常に認証され、かつデバイスAとBは、自身それぞれのメッセージの処理を継続することができる。このように、図1の認証環境は、破線矢印114によって示されるユーザ対話が介在する、これは、ユーザが、表示された値を比較し、かつデバイスの比較結果を示すからである。
図2は、ユーザ対話が介在するメッセージ認証環境の別の例のフロー図を示している。ここでは、このメッセージ認証環境は、2つのデバイスA及びBが関与し、参照番号201で示される左側のフロー図のステップは、デバイスAによって実行され、一方、参照番号202で示される右側のフロー図のステップは、デバイスBによって実行される。
上述の例のように、両方のデバイスは、それぞれボックス103及び109によって示されるメッセージdを記憶している。両方のデバイスが同一のメッセージが記憶しているかを検証するために、初期ステップ104では、デバイスAは、キーkを生成する。
ステップ205では、デバイスAは、デバイスAによって記憶されているメッセージdと、入力としてデバイスAによって生成されるキーkを使用するMAC関数のタグ値tを算出する。
ステップ206では、デバイスAは、生成されたキーkと、算出されたタグ値tを、デバイスAのユーザに対して表示する。例えば、これらの値は、2つの異なる値として表示されても良い、あるいは1つのストリングに連結されて表示されても良い。
デバイスAのユーザは、表示された値(群)を読み出し、デバイスBへ入力する(ステップ208)。例えば、ユーザは、デバイスBのキーボードあるいはキーパッド、あるいは任意の他の適切な入力デバイスを介してその値を入力することができる。例えば、デバイス同士が、互いに離れて存在している場合、デバイスAのユーザは、例えば、電話あるいは他の通信手段によって、それらの値(群)をデバイスBのユーザに対して通信することができる、そうすることで、デバイスBのユーザは、デバイスBにそれら値をデバイスBに入力することができる。
次のステップ209では、デバイスBは、デバイスAと同一のMAC関数に対応するタグ値t’を、入力したキーkと、入力としてデバイスBに記憶されるメッセージdを使用して算出する。
ステップ210では、デバイスBは、算出されたタグ値t’と、デバイスBのユーザによって入力されたタグ値tとを比較する。タグ値が等しい場合、メッセージdは正常に認証される(ステップ211)、そうでない場合、メッセージdは破壊されているものとして拒否される(ステップ212)。一実施形態では、デバイスBは、ユーザのデバイスへ対応するメッセージを表示することができる、これは、認証結果を示すものである。選択的には、あるいはこれに加えて、デバイスBは、対応するメッセージをデバイスAに送信することができる。
ここでも、図2の認証環境は、破線矢印213で示されるユーザ対話が介在する。
このように、上述では、ユーザ対話が介在する認証環境の2つの例が説明される。上述の環境では、MAC関数に入力される少なくとも1つのキーkと、MAC関数によって算出されるタグ値tは読み出される、及び/あるいはユーザによって入力される。ユーザは、例えば、電話を介して、別のユーザへ値を通信することが更に必要とされる場合がある。従って、上述及び同様の環境では、認証スキームによって提供されるセキュリティを低下させることなく、タグ値のサイズとキー長を維持することが要求される。
更に、上述の環境は、単なる例示を示していて、また、ユーザ対話が介在するいくつかの他の認証スキームが存在することが理解される。例えば、一実施形態では、キーkは、第3のデバイスによって生成され、デバイスA及びBに通信されても良い、あるいはキーは、ユーザ、例えば、PIN番号によって生成されて、両方のデバイスに入力されても良い、あるいは、キーは、2つのデバイスに対してハードコード化されていても良いし、あるいはその類がなされても良い。また、キーと、可能であれば、タグ値は、実際の認証に先立ってデバイスAによって算出されても良い。例えば、デバイスAは、デバイスAによるメッセージdの生成とともに、キー及びタグ値を生成しても良い。更に別の実施形態では、通信されるパラメータ、即ち、図1のキーkあるいは図2のキー及びタグは、デバイスAから第3のデバイスに通信されても良い、ここで、この第3のデバイスは、デバイスBからアクセス可能である。例えば、デバイスBがコンピュータネットワークのネットワークデバイスである場合、上述のパラメータは、そのコンピュータネットワークの別のコンピュータに通信することができる、ここで、これらのパラメータは、デバイスBに記憶されておて、連続して検索することができる。
図3は、誤り訂正コードに基づくメッセージ認証コードを算出する方法のフロー図を示している。図3の例では、データ空間Dからのデータ要素dは、メッセージ認証コード(MAC)を使用する認証対象であると想定し、このメッセージ認証コードは、例えば、図1のステップ106及び111、あるいは図2のステップ205及び209で示されるものである。この例のために、データ要素dは、メッセージとしても参照する。
一般的に、MACは、データ空間Dとキー空間Kからタグ空間Cへのマッピングfである、即ち、f:D×K→Cである、ここで、メッセージd∈Dとキーk∈Kは、タグt∈Cへマッピングされる、即ち、(d,k)→tである。
MACは、メッセージの保全性を保護するために使用される、即ち、例えば、メッセージの送信側からメッセージの受信側への送信中に、データが変更されないことを補償するために使用される。手動認証では、ショートMAC値が使用される、即ち、10〜15の桁、文字、他のシンボルの少なくともいずれかより小さい長さのタグが使用される、これによって、ユーザに、タグ値を通信すること及び比較することの少なくとも一方を可能にする。このような手動認証スキームでは、セキュリティは、コンピュータ的なセキュリティではなく、MAC関数の絶対的な(unconditional)セキュリティに基づいている。例えば、ロングハッシュコードを備えるハッシュ関数がMAC関数として使用される場合、セキュリティは、コンピュータ的なセキュリティに基づいている。
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,)を参照されたい、これは、そのすべてを参照することによって本明細書に組み込まれる。
偽装攻撃では、攻撃者は、正当な送信側と受信側間のデータ交換を事前に観測することなく、データが正当な送信側から送信されていることを受信側に信用させる試行を行う。一方、置換攻撃においては、攻撃者は、いくつかのデータdを観測し、次に、その観測したデータをいくつかの他のデータd’≠dに置き換える。偽装攻撃及び置換攻撃を成功させるための攻撃者の確率は、それぞれPIとPSで示され、これは、以下のように表現することができる。
Figure 0004664206
例えば、以下の図7で説明されるキー交換プロトコルの構成では、観測されたデータdを他のデータd’へ置換するための攻撃者の確率は、キー交換方法のセキュリティに関連する測定値である、即ち、キー交換中に送信されるパブリックキーを別のパブリックキーに置換するための確率である。この状況では、d’が受信側に有効データとして受け入れられる場合に、攻撃者は成功する。短距離無線通信環境、例えば、ブルートゥースでは、両方のデバイスは、物理的に互いに近接していて、かつ、データの受信だけに制限されている、これは、両方のデバイスが、レディ状態にあることを示す信号を発信している場合である。ここで、このような状況では、偽装攻撃は容易に回避することができるので、置換攻撃の確率は、セキュリティにより関連する測定値に関係するものとして見なしても良い。また、多くの手動認証環境では、MAC関数によって算出されるタグ値は、データが送信される通信リンクとは異なる別の通信チャネルを介して通信される。これは、標準的なMAC環境とは対照的である、ここで、データ及びタグ値の両方が一緒に送信され、かつこれらは、攻撃者によって観測される可能性がある。これらを前提とすると、置換攻撃の成功確率は、以下のように表現することができる。
Figure 0004664206
ここで、キーがキー空間Kからランダムで一律に選択されるとすると、上述の確率は、次のように表現することができる。
Figure 0004664206
ここで、|・|は、濃度セット、即ち、|K|は、Kの濃度であり、上述の式の分子は、d及びd’に対して同一のMAC関数を生成するキー空間K内のすべてのキーのセットの濃度である。従って、上述の式から、高いセキュリティを提供するために、MAC関数fの衝突確率は低くするべきである。
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)のシンボルである。
2つのq−元のn組(タプル:tuple)のx及びy間のハミング距離dH(x,y)は、同一ではないn組のコンポーネント数である、即ち、dH(x,y)=|{i∈{1,...,n}:xi≠yi}|である。コードVの最小距離は、
Figure 0004664206
である。即ち、コードVのすべてのコードワード間の最小距離である。
図3を参照すると、誤り訂正コードに基づくMAC構成の実施形態が説明される、即ち、図3は、図1、図2及び図7それぞれのサブプロセス106、111、205、209、714の任意のものの実施形態のフロー図である。
初期ステップ301では、MAC構成に対する入力データが提供される、即ち、認証対象のメッセージdとMAC関数の入力として使用されるキーkが提供される。一実施形態では、キーは、シンボル、桁(digit)、文字あるいはその類のストリングあっても良い。好ましくは、キーは、10〜15未満のシンボルから構成され、より好ましくは、7シンボル未満、例えば、4〜6の16進文字を構成する。
ステップ302では、インデックスi∈{1,...,n}が、キーkの関数g、即ち、i=g(k)として選択される。特に、キー空間Kがn要素である場合、即ち、|K|=nである場合、各kは固有にシンボルインデックスの1つにマッピングされる、各インデックスは、1つのキーに対応する。一実施形態では、キーは直接インデックス、即ち、i=kとして使用される。
ステップ303では、タグ値tは、コードVのコードワードV(d)のi番目のシンボルとして判定される、このコードVは、メッセージdに対応する、即ち、
Figure 0004664206
に対応する。
ここで、タグ値は、誤り訂正コードのコードワードの選択されるシンボルとして判定され、コードワードはメッセージに対応するコードワードであり、また、シンボルは、キーによって特定される。その結果、上述の例では、MACは、nに等しいキー空間サイズと、コーディング空間サイズに等しいメッセージ空間を用いて取得される。また、上述の置換攻撃に対する確率Psは、次のように与えられる。
Figure 0004664206
図4a〜bは、リード−ソロモンコードに基づいてメッセージ認証コードを算出する方法の例のフロー図である。
リード−ソロモン(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)を参照されたい、これは、参照することによって、その全体が本明細書に組み込まれる。リード−ソロモンコードという用語は、更に、リード−ソロモンコード、例えば、いわゆる、規格化リード−ソロモンコードを構成することも意図されるものである。
図4aの構成では、初期ステップ401では、MAC構成に対する入力データが提供される、即ち、図3で上述したように、認証対象のメッセージdとMAC関数の入力として使用されるキーkが提供される。
ステップ402では、メッセージは、Fq上のq−元のτ組(タプル)として表現される、即ち、d=d0、d1,...,dτ-1として表現され、ここで、di∈Fqである。従って、メッセージに対応するリード−ソロモン(RS)エンコーディング(符号化)多項式は、以下のように定義される。
Figure 0004664206
ステップ403では、MACのタグ値は、キーkで特定される点での多項式を評価することによって算出される、即ち、
Figure 0004664206
となる。
ここで、キーkは、リード−ソロモンコードのシンボルを特定し、これは、タグ値として使用される。上述のように、シンボルは、キーの適切な関数によって特定されても良いことが理解される。
更に、この構成では、キーは、有限フィールドFq、即ち、k∈Fqから選択されることに注意する。その結果、この構成は、以下の属性を持っている、n=q=|K|及び|D|=qτ=nτとなる。上述のコードの最小距離は、dH(V)=n−τ+1である、つまり、置換攻撃の成功確率は、PS=(τ−1)/nである。リード−ソロモンコードの利点は、これらが、最小距離が大きいロングコードであることである、これによって、高いセキュリティを提供する。
上述の内容は、更に、確率PSが、メッセージ空間Dのサイズが大きくなることを意味するものである。
図4bは、リード−ソロモンコードに基づくMAC構成の別の実施形態のフロー図を示している。
ここで、この構成に従えば、初期ステップ404では、MAC構成に対する入力データが提供される、即ち、認証対象のメッセージdとMAC関数の入力として使用されるキーkが提供される。
ステップ405では、一方向ハッシュ関数hがメッセージに適用される。この説明のために、一方向ハッシュ関数という用語は、データ要素、例えば、ストリングを入力として取得し、かつ固定長バイナリ値(ハッシュ)を出力として生成するアルゴリズムを意味するものである。特に、このプロセスは不可逆である、即ち、生成されているデータ要素を検出時には、与えられるハッシュ値は、コンピュータで実行できないようにされるべきである。同様に、同一のハッシュ値を生成する2つの任意のデータ要素を検出することも、コンピュータで実行できないようにされるべきである。適切なハッシュ関数の例には、標準セキュアハッシュアルゴリズムSHA−1がある。このSHA−1アルゴリズムは、264ビット長未満のメッセージを取得して、160−ビットのメッセージダイジェストを生成する。一方向ハッシュ関数の他の例には、MD4、MD5及びその類が含まれる。ハッシュ関数δ=h(d)の出力は、リード−ソロモンコードへの入力として使用される。一実施形態では、ハッシュ関数の出力は、メッセージサイズを更に効果的に削減するために切り捨てられる。
従って、ステップ406では、ハッシュ値δは、Fq上のq−元のτ組(タプル)として表現される、即ち、δ=δ0,δ1,...,δτ-1であり、ここで、δi∈Fqである。
ステップ407では、MACのタグ値tは、キーkによって特定される点の、対応するリード−ソロモンエンコーディング多項式を評価することによって算出される、即ち、
Figure 0004664206
である。
ここで、SHA−1のような一方向ハッシュ関数をメッセージにまず適用することによって、メッセージ空間のサイズが削減される、これによって、キー長あるいはMACの出力長、即ち、タグ長を著しく大きくすることなく、置換攻撃の成功確率PSを低下させる。その結果、ショートキー及びショートメッセージタグに対してさえ安全な認証が提供される、これによって、人間の対話が介在するキー及びメッセージタグの通信を可能にする。
図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あるいはそれ未満に更に低下する。
図6は、A及びBで示される2つの通信デバイスを含む通信システムのブロック図を示している。通信デバイスAと通信デバイスBは、通信リンク605を介して互いに通信する。
通信デバイスAは、処理ユニット602、その処理ユニットに接続されている無線通信ユニット603、その処理ユニットに接続されている記憶媒体604、その処理ユニットに接続されているユーザインタフェース606を備えている。
無線通信ユニット603は、処理ユニット602から受信したデータを、無線リンク605を介して通信デバイス607へ送信し、その通信デバイス607は、無線リンクからデータを受信し、それらを処理ユニットへ転送する。例えば、無線通信ユニット603は、ブルートゥース技術に基づいていても良く、また、2.45GHzのISM帯で送信/受信することができる。
処理ユニット602、例えば、適切なプログラム化マイクロプロセッサは、通信デバイスAによって実現される機能に従って、他のデバイスから受信したデータを処理し、また、他のデバイスへの送信対象のデータを処理する。特に、処理ユニット602は、上述のセキュリティ機能、特に、上述のキー及び対応するMAC関数のタグ値の生成を実行するために適切にプログラムされている。
記憶媒体604は、例えば、EPROM、EEPROM、フラッシュメモリあるいはその類であり、これは、キーkを記憶するとともに、上述のメッセージ認証で必要なパラメータを記憶するように適合されている。
ユーザインタフェース606は、生成されたキーK及び対応するタグ値tを表示するためのディスプレイを備え、そうすることで、ユーザは、生成された値を読み取り、かつそれらを通信デバイスBへ送信することができる。加えて、ユーザインタフェース606は、データ入力手段を備えていても良く、これには、例えば、キーボード、キーパッド、ポインティングデバイス、タッチスクリーンあるいはその類がある。
通信デバイスBは、処理ユニット609、その処理ユニットに接続されている無線通信ユニット608、その処理ユニットに接続されている記憶媒体610、その処理ユニットに接続されているユーザインタフェース611を備えている。
無線通信ユニット609は、通信装置Aの無線通信ユニット603に対応する、これによって、無線通信デバイスAとB間の無線通信を可能にする。
処理ユニット609は、通信デバイスによって実現される機能に従って、他のデバイスから受信したデータを処理し、また、他のデバイスへの送信対象のデータを処理する。特に、処理ユニットは、上述のセキュリティ機能、特に、上述の認証方法及び対応するデバイスAによって実現される認証メカニズムを実行するために適切にプログラムされている。
同様に、記憶媒体604は、例えば、EPROM、EEPROM、フラッシュメモリあるいはその類であり、これは、キーkとタグ値tを記憶するように適合されている。
ユーザインタフェース611は、入力デバイスを備え、これには、例えば、キーパッド、キーボード、タッチスクリーンあるいはその類があり、これは、ユーザに、キーkと、通信デバイスAによって生成される、キーkと対応するタグ値tを入力することを可能にする。加えて、ユーザインタフェースは、ディスプレイ、ポインティングデバイス、及びその類の少なくとも1つを備えていても良い。
このように、図6の通信システムは、2つの通信デバイス、例えば、2つのポータブル通信デバイスを備えていて、これには、例えば、2つの移動電話、移動電話とポータブルコンピュータ、2つのポータブルコンピュータ、あるいは、上述の方法に従ってメッセージ認証を実行するように適合されている同様の電子機器の任意の組み合わせがある。
一実施形態では、処理ユニット及び記憶媒体の少なくとも一方は、対応する通信デバイスに着脱可能に装着されても良い、これによって、実際のデバイスとは独立して確立されるセキュリティアソシエーション(security association:セキュリティ協定)を可能にする。例えば、記憶媒体及び処理ユニットの少なくとも一方は、スマートカード、例えば、SIMカードによって構成されても良い。
また、通信デバイスは、更に、図6のブロック図で省略されているコンポーネントを備えていても良いことに注意する。例えば、認証スキームの実環境に依存して、デバイスは、認証方法のパラメータの入力及び出力の少なくとも一方を実行するための入力及び出力の一方の手段を更に備えていても良い。例えば、デバイスの1つには、通信インタフェース、例えば、ネットワークカードを備えていても良く、これは、ネットワークサーバあるいはその類からキー及びタグ値の少なくとも一方を検索するためのものである。
図7は、生成された共有シークレットへの寄与(contribution)が、無線通信リンクを介して通信され、かつ上述のメッセージ認証によって認証される、セキュアキー交換メカニズムの実施形態を示している。ここで、この実施形態では、メッセージが、共有シークレットへの寄与である。A及びBで示される2つのデバイスが、共有シークレットキーを確立するために、セキュアキー交換を実行しようとする場合、これらは、以下のステップを実行する、ここで、参照番号701で示される左側のフロー図は、デバイスAによって実行され、一方、参照番号702で示される右側のフロー図は、デバイスBによって実行される。
以下のキー交換は、いわゆる、キーアグリーメント(key agreement:鍵確立(鍵共有))用の「ディフィ−ヘルマン」方法に基づいている。以下の説明の理解を容易にするために、ディフィ−ヘルマンキーアグリーメントを簡単に説明する。より詳細な説明は、米国特許4,200,770で参照され、これは、参照することによってその全体が本明細書に組み込まれる。
2つのデバイスA及びBが共有シークレットキーを確立したい場合、これは、素数P>2と基底gについて同意する(agree)、これは、基本(原始)mod p(primitie mod p)である。パラメータpとgは、両方のデバイスにハードコード化されても良い、これは、一方のデバイスによって生成され、もう一方のデバイスに通信されても良い、また、これらは、サードパーティから検索されても良い、あるいはその類がなされても良い。例えば、p及びgを生成するために、例えば、1000ビット以上からなる大きな乱数としてpの値が選択されても良い、また、既知の素数テスト(プライムテスト:prime test)が、pが素数であるかをテストするために実行されても良い。そうでない場合、素数が検出されるまでテストを実行して、新規のpを選択しても良い。続いて、乱数gが選択され、これは、gが生成元(ジェネレータ:generator)であるかかテストされ、そうでない場合、生成元が検出されるまで、テストを実行して、新規のgを選択しても良い。
各デバイスは、p−1未満のシークレット番号を生成する。以下では、デバイスAによって生成されるシークレット番号をxと称し、デバイスBによって生成されるシークレット番号をyと称する。次に、各デバイスは、シークレット値と上述のパラメータに基づいてパブリックキーを生成する、デバイスAは、X=gx mod p を生成し、ここで、modは、モジュラス(modulus)関数を示している、即ち、整数剰余である。同様に、デバイスBは、Y=gy mod pを生成する。
デバイスは、自身のパブリックキーを交換し、かつそれぞれのデバイスは、共通シークレット値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であるからである。
ここで、図7を参照すると、キー交換の初期ステップ703では、デバイスAは、乱数x、対応するディフィ−ヘルマンパブリックキーX及びショートシークレットストリングKを生成する。ディフィ−ヘルマンパブリックキーXは、上述のように、対応するパラメータg及びpに基づいて算出される、これは、デバイスA及びBによって同意されているものである。好ましくは、シークレットストリングKは、適切なキー空間、例えば、4〜6桁の16進ストリングからランダムに判定される。
次のステップ704では、デバイスAは、上述のメッセージ認証コード(MAC)を使用して、キーとしてシークレットストリングKを使用するパブリックキーXからタグ値tを算出する。キー設定中に追加のデータが通信される、いくつかの実施形態では、タグ値は、パブリックキーXと追加のデータを含むメッセージから算出されても良く、これによって、追加のデータに対しても保全性保護を提供することが理解される。
ステップ705では、生成されたシークレットストリングKと算出されたタグ値tが、図7の破線矢印706で示されるように、適切な通信チャネルを介してデバイスBへ通信される。例えば、Kとtの値は、ユーザ対話によって、例えば、デバイスAのディスプレイからその値を読み上げ、デバイスBにその値をキー入力することによって、デバイスAからデバイスBへ転送されても良い。別の実施形態では、値はいくつかの他の手段によって転送されても良く、これには、例えば、電気通信ネットワークを介して、暗号化されたメッセージ、例えば、電子メール、SMSあるいはその類として値を送信することによるものがある、あるいは、他の適切な通信チャネル、好ましくは、セキュア通信が確立されている通信チャネルとは異なる通信チャネルを介するものがある。デバイスAとBは、互いに確立されている通信リンクを持つ必要がないという利点があり、これらは、互いに近接している必要ですらない。例えば、デバイスAのユーザは、シークレットストリングとタグ値を、電話、メールあるいは他の適切な手段によって、デバイスBのユーザへ通信することができる。また、Kとtの生成された値の通信は、例えば、登録処理の一部として、共有シークレットキーが実際にデバイス間で確立する時より前に実行されても良い。一実施形態では、識別子IDがK及びtとともに通信される、これは次回のK及びtの検索を容易にするためである。
ステップ707では、デバイスBは、K及びtの値を受信し、ステップ710では、それらをデバイスBの記憶媒体711、例えば、ポータブルデバイスのEPROMあるいはEEPROMに記憶する、あるいは、スマートカード、ハードディスク、あるいはその他の適切なデータ記憶装置上に記憶する。値K及びtが識別子IDに関連付けられている場合、値K及びtは、例えば、その識別子をインデックスとして使用して、その識別子と関連付けて記憶される。
同様に、ステップ708では、デバイスAは、シークレットストリングKをデバイスAの記憶媒体709に記憶し、オプションとしては、識別子IDと関連付けて記憶する。また、デバイスAは、シークレット値xを記憶する、パブリックキーXの算出は、これに基づいている。
これで、初期登録プロセスが終了となる。実際のキー交換を含む続くステップは、デバイスA及びBが実際に通信リンクを介して接続される場合に実行される。これは、図7の線分727で示されるように、上述の初期登録後あるいはそれより後の時点に、直ちに発生する場合がある。
ステップ712では、デバイスAは、無線通信リンクを介して、パブリックキーXをデバイスBへ送信することによって、実際のキー交換を初期化する。シークレットストリングKが識別子IDに関連付けられている実施形態では、デバイスAもその識別子を送信する。同様に、ステップ704で、タグ値tがパブリックキーといくつかの追加のデータに対して算出される場合、この追加のデータもデバイスAからデバイスBへ送信される。
デバイスBがデバイスAからパブリックキーXを受信する場合(ステップ713)、ステップ714で、デバイスBは、識別子IDに基づく実施形態では、記憶媒体711からシークレットストリングKを検索する。デバイスBは、シークレットストリングKに基づいて、受信したパブリックキーXのMACタグ値t’を算出する。
ステップ715では、デバイスBは、算出されたタグ値t’と予め記憶されているタグ値tとを比較する。タグ値が異なる場合、受信したパブリックキーは拒否される(ステップ716)。例えば、デバイスBは、対応するメッセージをデバイスAに送信することによって、また/あるいは、その拒否についてをユーザに通知することによって、例えば、可視あるいは可聴指示を提供することによって、キー交換を中止することができる。そうでない場合、即ち、タグ値が等しい場合、パブリックキーXは受け入れられ、かつプロセスはステップ717に継続する。
ステップ717で、デバイスBは、上述のように、シークレット値yと対応するディフィ−ヘルマンパブリックキーYを生成する。
ステップ718では、デバイスBは、対応するディフィ−ヘルマン共有シークレットキーS=(X)y mod pを生成する。
ステップ719では、デバイスBは、生成された共有シークレットキーSを使用して、記憶媒体711から検索されるシークレットストリングKを暗号化し、暗号化シークレットストリングK*を得る。この暗号化は、対称シークレットキーに基づく任意の適切な暗号化方法に基づいていても良い。
ステップ720では、デバイスBは、暗号化ストリングK*とディフィ−ヘルマンパブリックキーYをデバイスAへ送信する。そして、一実施形態では、デバイスBは、更に、対応する識別子IDを送信する。
ステップ721では、デバイスAは、暗号化ストリングK*とディフィ−ヘルマンパブリックキーYを受信する。
ステップ722では、デバイスAは、記憶媒体709に記憶されているシークレット値xを使用して、ディフィ−ヘルマン共有シークレットキーS=(Y)x mod pを生成する。
ステップ723では、デバイスAは、生成された共有シークレットキーSを使用して、受信した暗号化シークレットストリングK*を解読して、解読されたシークレットストリングK’を取得する。
ステップ724では、デバイスAは、受信し、解読したシークレットストリングK’と、デバイスAによって生成され、かつ記憶媒体709に記憶されているシークレットストリングKとを比較する。シークレットストリングが等しくない場合、受信したパブリックキーYが拒否される、即ち、生成された共有シークレットキーSは破棄される(ステップ725)。そうでない場合、プロセスはステップ726に継続する。
ステップ726では、受信したパブリックキーYが受け入れられる、即ち、算出された共有シークレットキーSが、共有シークレットとして受け入れられる。一実施形態では、対応するメッセージがデバイスへ送信される、これによって、キー交換が完了する。生成された共有シークレットキーは、例えば、デバイス間で送信されるメッセージを暗号化することによって、また/あるいは保全性保護を実行することによって、デバイスAとB間の連続通信を保護するために使用することができる。
別の実施形態では、デバイスBからデバイスAへ通信されるパブリックキーYは、別の方法、例えば、上述の方法に従ってMACを算出することによって、認証されても良いことが理解される。
本明細書で説明される認証方法は、事前に生成された共有シークレット、例えば、匿名のディフィ−ヘルマンキーアグリーメントによって生成される共有シークレットを認証するために使用しても良いことが理解される。従って、この実施形態では、メッセージは、2つのデバイスによって協働して生成される共有シークレットとなる。
本明細書で使用される場合の「構成する/構成している」という用語は、上述の特徴、整数値(integers)、ステップあるいはコンポーネントの存在を特定するために採用されているが、これは、他の特徴、整数値、ステップ、コンポーネントあるいはそれらのグループの存在あるいは追加を除外するものではないことが重視されるべきである。
本発明の実施形態が説明され、かつ図示されているが、本発明はこれに制約されるものではなく、請求項で定義される対象の範囲内で、他の方法で実施されても良い。
ある数値(測定値)(measurement)が従属請求項と互いに異なって引用されていることは、これらの数値の組み合わせが効果として使用できないことを示しているものではない。
ユーザ対話が介在するメッセージ認証環境の例のフロー図である。 ユーザ対話が介在するメッセージ認証環境の別の例のフロー図である。 誤り訂正コードに基づくメッセージ認証コードを算出する方法のフロー図である。 リード−ソロモンコードに基づくメッセージ認証コードを算出する方法の例のフロー図である。 リード−ソロモンコードに基づくメッセージ認証コードを算出する方法の例のフロー図である。 図4a〜bのMAC構成のいくつかの構成例に対する置換攻撃の成功確率を示すテーブルである。 2つの通信デバイスのブロック図である。 生成された共有シークレットへの寄与が、無線通信リンクを介して通信され、かつ図3及び図4a〜bで説明されるメッセージ認証によって認証される、セキュアキー交換メカニズムの実施形態を示す図である。

Claims (11)

  1. メッセージと、メッセージ認証コードに従うキーからタグ値を判定するために前記メッセージを通信デバイスが処理する方法であって、
    前記通信デバイスの処理ユニットが、複数のシンボルの1つを選択するステップであって、前記複数のシンボルは、前記メッセージから導出されるデータ要素をエンコーディングするコードワードを生成し、前記コードワードは、誤り訂正コードに従って前記データ要素をエンコーディングし、前記キーは、前記複数のシンボルの内の1つのどれが選択されるかを判定する、ステップと、
    前記通信デバイスの処理ユニットが、前記選択されたシンボルとなる前記タグ値を判定するステップと
    前記通信デバイスの処理ユニットが、第1通信チャネルを介して受信側の通信デバイスへ、少なくともメッセージへの寄与を通信するステップと、
    前記通信デバイスの処理ユニットが、前記第1通信チャネルとは異なる第2通信チャネルを介して、前記受信側の通信デバイスへ、前記タグ値及び前記キーの少なくとも一方を通信するステップとを備え、
    前記タグ値は、前記キーによって判定される時点で前記誤り訂正コードを定義する多項式を評価することによって判定される
    ことを特徴とする方法。
  2. 前記メッセージから導出される前記データ要素は、前記メッセージを構成する
    ことを特徴とする請求項1に記載の方法。
  3. 更に、前記通信デバイスの処理ユニットが、前記メッセージから算出される一方向ハッシュ関数のハッシュ値となる前記データ要素を判定するステップを備える
    ことを特徴とする請求項1に記載の方法。
  4. 前記キーは、ユーザ対話を介在して通信するのに十分に短い
    ことを特徴とする請求項1に記載の方法。
  5. 前記タグ値は、有限フィールド内の要素である
    ことを特徴とする請求項1に記載の方法。
  6. 前記第2通信チャネルは、ユーザ対話を含んでいる
    ことを特徴とする請求項に記載の方法。
  7. データメッセージを通信するための通信デバイスであって、前記通信デバイスは、メッセージと、メッセージ認証コードに従うキーからタグ値を判定するように適合されている処理手段を備え、前記処理手段は、以下のように
    複数のシンボルの1つを選択し、前記複数のシンボルは、前記メッセージから導出されるデータ要素をエンコーディングするコードワードを生成し、前記コードワードは、誤り訂正コードに従って前記データ要素をエンコーディングし、前記キーは、前記複数のシンボルの内の1つのどれが選択されるかを判定し、
    前記選択されたシンボルとなる前記タグ値を判定し
    第1通信チャネルを介して受信側の通信デバイスへ、少なくともメッセージへの寄与を通信し、
    前記第1通信チャネルとは異なる第2通信チャネルを介して、前記受信側の通信デバイスへ、前記タグ値及び前記キーの少なくとも一方を通信する
    ように適合されていて、
    前記タグ値は、前記キーによって判定される時点で前記誤り訂正コードを定義する多項式を評価することによって判定される
    ことを特徴とする通信デバイス。
  8. メッセージと、メッセージ認証コードに従うキーからタグ値を判定するために前記メッセージを通信デバイスが処理する方法であって、
    前記通信デバイスの処理ユニットが、複数のシンボルの1つを選択するステップであって、前記複数のシンボルは、前記メッセージから導出されるデータ要素をエンコーディングするコードワードを生成し、前記コードワードは、誤り訂正コードに従って前記データ要素をエンコーディングし、前記キーは、前記複数のシンボルの内の1つのどれが選択されるかを判定する、ステップと、
    前記通信デバイスの処理ユニットが、前記選択されたシンボルとなる前記タグ値を判定するステップと、
    前記通信デバイスの処理ユニットが、第1通信チャネルを介して受信側の通信デバイスへ、少なくともメッセージへの寄与を通信するステップと、
    前記通信デバイスの処理ユニットが、前記第1通信チャネルとは異なる第2通信チャネルを介して、前記受信側の通信デバイスへ、前記タグ値及び前記キーの少なくとも一方を通信するステップとを備え、
    前記誤り訂正コードは、リード−ソロモンコードであり、前記タグ値は、前記キーによって判定される時点でリード−ソロモンエンコーディング多項式を評価することによって判定される
    ことを特徴とする方法。
  9. データメッセージを通信するための通信デバイスであって、前記通信デバイスは、メッセージと、メッセージ認証コードに従うキーからタグ値を判定するように適合されている処理手段を備え、前記処理手段は、以下のように
    複数のシンボルの1つを選択し、前記複数のシンボルは、前記メッセージから導出されるデータ要素をエンコーディングするコードワードを生成し、前記コードワードは、誤り訂正コードに従って前記データ要素をエンコーディングし、前記キーは、前記複数のシンボルの内の1つのどれが選択されるかを判定し、
    前記選択されたシンボルとなる前記タグ値を判定し、
    第1通信チャネルを介して受信側の通信デバイスへ、少なくともメッセージへの寄与を通信し、
    前記第1通信チャネルとは異なる第2通信チャネルを介して、前記受信側の通信デバイスへ、前記タグ値及び前記キーの少なくとも一方を通信する
    ように適合されていて、
    前記タグ値は、前記キーによって判定される時点で前記誤り訂正コードを定義する多項式を評価することによって判定される
    ことを特徴とする通信デバイス。
  10. 請求項1、3及び8のいずれか1項に記載のステップのすべてをコンピュータに実行させるためのコンピュータプログラム。
  11. 請求項1、3及び8のいずれか1項に記載のステップのすべてをコンピュータに実行させるためのプログラムを記憶したコンピュータ可読記憶媒体。
JP2005501514A 2002-10-24 2003-10-09 誤り訂正コードに基づくメッセージ認証コード Expired - Fee Related JP4664206B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US42096402P 2002-10-24 2002-10-24
US10/602,167 US7702910B2 (en) 2002-10-24 2003-06-24 Message authentication
PCT/EP2003/011219 WO2004038999A1 (en) 2002-10-24 2003-10-09 Message authentication code based on error correcting code

Publications (2)

Publication Number Publication Date
JP2006504361A JP2006504361A (ja) 2006-02-02
JP4664206B2 true JP4664206B2 (ja) 2011-04-06

Family

ID=32179830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005501514A Expired - Fee Related JP4664206B2 (ja) 2002-10-24 2003-10-09 誤り訂正コードに基づくメッセージ認証コード

Country Status (10)

Country Link
US (1) US7702910B2 (ja)
EP (1) EP1554835B1 (ja)
JP (1) JP4664206B2 (ja)
KR (3) KR101092696B1 (ja)
CN (1) CN1729646B (ja)
AT (1) ATE348459T1 (ja)
AU (1) AU2003268933A1 (ja)
DE (1) DE60310439T2 (ja)
ES (1) ES2279142T3 (ja)
WO (1) WO2004038999A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159905A (ja) * 2003-11-27 2005-06-16 Ntt Docomo Inc データ保存装置及び通信端末装置
US7831828B2 (en) * 2004-03-15 2010-11-09 Cardiac Pacemakers, Inc. System and method for securely authenticating a data exchange session with an implantable medical device
US7739513B2 (en) * 2005-02-22 2010-06-15 Sony Corporation Secure device authentication
US7392037B2 (en) * 2005-08-19 2008-06-24 Intel Corporation Wireless communication device and methods for protecting broadcasted management control messages in wireless networks
US9386327B2 (en) * 2006-05-24 2016-07-05 Time Warner Cable Enterprises Llc Secondary content insertion apparatus and methods
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US8024762B2 (en) 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
GB0622366D0 (en) * 2006-11-09 2006-12-20 Cambridge Silicon Radio Ltd Authenticating devices for RF communications
CN101946452A (zh) * 2007-12-13 2011-01-12 塞尔蒂卡姆公司 用于控制器件上的特征的系统和方法
KR20100098567A (ko) * 2007-12-19 2010-09-07 파이제르트 아베 암호화된 데이터를 수신 및 전송하기 위한 시스템
KR100987213B1 (ko) * 2008-07-11 2010-10-12 삼성전자주식회사 바이오 키를 이용하여 VoIP을 기반으로 한 통신을수행하는 방법 및 장치
JP5493946B2 (ja) * 2010-02-08 2014-05-14 株式会社リコー 複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体
US20110264530A1 (en) 2010-04-23 2011-10-27 Bryan Santangelo Apparatus and methods for dynamic secondary content and data insertion and delivery
FI125393B (en) 2012-07-17 2015-09-30 Arm Finland Oy Procedure, device and system for use in a web service
JP6295961B2 (ja) * 2012-11-13 2018-03-20 日本電気株式会社 メッセージ認証システム、およびメッセージ認証方法
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
UA115501C2 (uk) * 2013-12-02 2017-11-10 Мастеркард Інтернешнл Інкорпорейтед Спосіб і система для захищеної передачі повідомлень послуги віддалених сповіщень в мобільні пристрої без захищених елементів
US9762395B2 (en) * 2014-04-30 2017-09-12 International Business Machines Corporation Adjusting a number of dispersed storage units
US10511581B2 (en) * 2015-11-17 2019-12-17 International Business Machines Corporation Parallelizable encryption using keyless random permutations and authentication using same
US10586023B2 (en) 2016-04-21 2020-03-10 Time Warner Cable Enterprises Llc Methods and apparatus for secondary content management and fraud prevention
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
US10951607B2 (en) * 2018-05-14 2021-03-16 GM Global Technology Operations LLC Authentication methods and systems
US11403849B2 (en) 2019-09-25 2022-08-02 Charter Communications Operating, Llc Methods and apparatus for characterization of digital content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000227754A (ja) * 1999-02-02 2000-08-15 Trw Inc オ―バヘッドなしのアップリンク・バ―ストの透き通し防止及びユ―ザ認証方法及び装置
JP2001175602A (ja) * 1999-12-20 2001-06-29 Casio Comput Co Ltd 通信端末接続確立方法および通信システム
JP2003514469A (ja) * 1999-11-09 2003-04-15 オレンジ エー/エス 個人識別コードを電子送信するためのシステム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4688250A (en) * 1986-01-29 1987-08-18 Rca Corporation Apparatus and method for effecting a key change via a cryptographically protected link
JP2570635B2 (ja) * 1994-11-07 1997-01-08 日本電気株式会社 デジタル署名方式
US5651069A (en) * 1994-12-08 1997-07-22 International Business Machines Corporation Software-efficient message authentication
US5664016A (en) * 1995-06-27 1997-09-02 Northern Telecom Limited Method of building fast MACS from hash functions
JPH09270053A (ja) * 1996-03-29 1997-10-14 Mitsubishi Electric Corp 認証番号発行装置および認証番号検証装置
US6226383B1 (en) 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6690289B1 (en) * 1997-06-12 2004-02-10 Microsoft Corporation Message formatting, authentication, and error detection in home control systems
JPH118616A (ja) * 1997-06-17 1999-01-12 Dainippon Printing Co Ltd 故障利用攻撃対応icカード
US6192474B1 (en) 1998-07-31 2001-02-20 Lucent Technologies Inc. Method for establishing a key using over-the-air communication and password protocol and password protocol
US6851052B1 (en) * 1998-12-10 2005-02-01 Telcordia Technologies, Inc. Method and device for generating approximate message authentication codes
EP1149475B1 (en) 1999-02-11 2003-12-03 RSA Security Inc. A fuzzy commitment scheme
US6779111B1 (en) * 1999-05-10 2004-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Indirect public-key encryption
US6754824B1 (en) 1999-06-25 2004-06-22 Telefonaktiebolaget L M Ericsson (Publ) Modulated message authentication system and method
US6845449B1 (en) * 1999-07-23 2005-01-18 Networks Associates Technology, Inc. System and method for fast nested message authentication codes and error correction codes
AU6625000A (en) 1999-08-09 2001-03-05 Qualcomm Incorporated Method and apparatus for generating a message authentication code
US6631172B1 (en) * 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
ATE389987T1 (de) 2001-05-03 2008-04-15 Ericsson Telefon Ab L M Verfahren und vorrichtung zum schutz der datenintegrität
US20030041242A1 (en) 2001-05-11 2003-02-27 Sarver Patel Message authentication system and method
US6718503B1 (en) * 2002-01-04 2004-04-06 Itran Communications Ltd. Reduced latency interleaver utilizing shortened first codeword

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000227754A (ja) * 1999-02-02 2000-08-15 Trw Inc オ―バヘッドなしのアップリンク・バ―ストの透き通し防止及びユ―ザ認証方法及び装置
JP2003514469A (ja) * 1999-11-09 2003-04-15 オレンジ エー/エス 個人識別コードを電子送信するためのシステム
JP2001175602A (ja) * 1999-12-20 2001-06-29 Casio Comput Co Ltd 通信端末接続確立方法および通信システム

Also Published As

Publication number Publication date
US20050262418A1 (en) 2005-11-24
ATE348459T1 (de) 2007-01-15
KR20110053391A (ko) 2011-05-20
CN1729646A (zh) 2006-02-01
WO2004038999A1 (en) 2004-05-06
DE60310439D1 (de) 2007-01-25
JP2006504361A (ja) 2006-02-02
CN1729646B (zh) 2010-09-29
EP1554835B1 (en) 2006-12-13
EP1554835A1 (en) 2005-07-20
KR20100114947A (ko) 2010-10-26
KR20050083819A (ko) 2005-08-26
AU2003268933A1 (en) 2004-05-13
ES2279142T3 (es) 2007-08-16
KR101255357B1 (ko) 2013-04-17
US7702910B2 (en) 2010-04-20
KR101092696B1 (ko) 2011-12-09
DE60310439T2 (de) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4664206B2 (ja) 誤り訂正コードに基づくメッセージ認証コード
JP4550736B2 (ja) セキュア通信
US8850199B2 (en) Hashing prefix-free values in a signature scheme
US8325994B2 (en) System and method for authenticated and privacy preserving biometric identification systems
US8995656B2 (en) Multiple hashing in a cryptographic scheme
US9049022B2 (en) Hashing prefix-free values in a certificate scheme
US7856556B2 (en) Codeword-enhanced peer-to-peer authentication
CN109688098B (zh) 数据的安全通信方法、装置、设备及计算机可读存储介质
CN111294203B (zh) 信息传输方法
CN116455580A (zh) 消息签名方法、装置、设备及可读存储介质
CN107104788A (zh) 终端及其不可抵赖的加密签名方法和装置
CN114902605A (zh) 具有增加的安全性的公钥/私钥系统
CN112184441A (zh) 数据处理方法、装置、节点设备及存储介质
WO2023093278A1 (zh) 数字签名门限方法和装置
US20110296193A1 (en) Code-based hashing for message authentication codes
CN112184440A (zh) 数据处理方法、装置、节点设备及存储介质
CN114710293B (zh) 数字签名方法、装置、电子设备及存储介质
Clupek et al. Light-weight Mutual Authentication with Non-repudiation
Sharad Mangrulkar et al. Essentials of Blockchain Programming
CN117874732A (zh) 基于区块链的开户信息处理方法、装置、设备、介质
JP2006080934A (ja) 暗号鍵設定システム、データ通信装置、暗号鍵設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110106

R150 Certificate of patent or registration of utility model

Ref document number: 4664206

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees