JP6397987B2 - 暗号学的チェックサムの生成 - Google Patents

暗号学的チェックサムの生成 Download PDF

Info

Publication number
JP6397987B2
JP6397987B2 JP2017504363A JP2017504363A JP6397987B2 JP 6397987 B2 JP6397987 B2 JP 6397987B2 JP 2017504363 A JP2017504363 A JP 2017504363A JP 2017504363 A JP2017504363 A JP 2017504363A JP 6397987 B2 JP6397987 B2 JP 6397987B2
Authority
JP
Japan
Prior art keywords
message
checksum
cryptographic
generator
irreducible
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.)
Active
Application number
JP2017504363A
Other languages
English (en)
Other versions
JP2017530581A (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 JP2017530581A publication Critical patent/JP2017530581A/ja
Application granted granted Critical
Publication of JP6397987B2 publication Critical patent/JP6397987B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は暗号学的チェックサムを生成する方法、対応するコンピュータプログラム、対応するコンピュータプログラム製品、および暗号学的チェックサムを生成するチェックサム生成器に関する。
現在の第3世代(3G)および第4世代(4G) 3GPP (3rd Generation Partnership Project)モバイルネットワークは、制御プレーンに関しては暗号化に加えて認証も用いるが、ユーザプレーンは暗号化によってのみ保護されているのが一般的である。一方、WiMAXおよび無線ローカルエリアネットワーク(WLAN)/WiFiネットワークでは、ユーザプレーンにも認証を用いている。
ユーザプレーンメッセージを保護する既知の一方法は、鍵付きハッシュメッセージ認証コード(HMAC)や暗号ブロックチェイニングメッセージ認証コード(CBC-MAC)などの鍵付き暗号学的ハッシュ関数をメッセージに適用することによって生成される認証タグを用いることである。暗号学的ハッシュ関数は、いかなる偶発的または意図的なメッセージの変更(すなわち、誤りや改変)であっても、少なくとも所定の高確率でハッシュ値を変更するように、メッセージといった任意のデータブロックに関する暗号学的ハッシュ値(メッセージダイジェストとしても知られる)を生成するハッシュ関数である。したがって、メッセージダイジェストはメッセージの完全性(integrity)保証を提供するために用いることができる。
鍵付き暗号学的ハッシュ関数に関する問題は、比較的多くのリソースを必要とすることであり、そのため、制約のある機器(すなわち、M2M(マシンツーマシン)およびIoT(モノのインターネット)タイプの機器のような、演算および電池リソースが制限される機器)における鍵付き暗号学的ハッシュ関数の利用が妨げられている。加えて、メッセージダイジェストによるメッセージ長の増加により、送信データのペイロード部分が減少し、消費電力が増加する。
ランダム誤りに対するある程度の保護は巡回冗長チェック(CRC)コードによって実現可能である。CRCコードは非常にリソース効率が良い可分巡回コードの一種であり、バースト誤りを検出するためにデータ通信およびデータ記憶装置で広く用いられている。CRC処理は線形帰還シフトレジスタ(LFSR)を用いて効率的に実施可能である。一般的なCRCを以下に示す(CRC-nは、CRCのエンコードおよびデコードに次数(degree)nの生成多項式が用いられることを意味し、次数はCRCの生成多項式の最大係数である):
- CRC-16-CDMA2000:3Gモバイルネットワークで用いられる
- CRC-CCITT:ブルートゥース(登録商標)で用いられる
- CRC-32:イーサネット(登録商標)およびハイレベルデータリンク制御(HDLC)プロトコルで用いられる
- CRC-40-GSM:GSM制御チャネルで用いられる。
次数nの生成多項式を用いるCRCは、n以下の長さのバースト誤り全てと、生成多項式を因子としない任意の誤りとを検出可能である。
従前のCRC技術はランダム誤りの検出には適しているが、悪意のある敵対者には容易に打ち負かされうる。所定のCRCにどの生成多項式が用いられるかは敵対者に既知であるため、敵対者は受信機でのCRCチェックに合格する改変メッセージを簡単に作ることができるであろう。これは例えば、元のメッセージに生成多項式を因子とする誤りを付加することによって実現できるであろう。
ユーザプレーンでのデータ完全性を提供するための、よりリソース効率のよい方法は、以下で暗号学的CRCまたは暗号学的チェックサムとも呼ぶ、暗号学的に安全なCRCによって従前のCRCチェックを置き換えることである。暗号学的CRCは伝統的なCRCと同等のランダム誤り検出能力を有し、さらには、敵対者によって注入された悪意のある誤りを高確率で検出する能力を有する。
暗号学的に安全なCRCの一種は、Krawczykによって提案されている(H. Krawczyk,「LFSR-based Hashing and Authentication」, in Advances in Cryptology - CRYPTO '94, Lecture Notes in Computer Science, Volume 839, Springer, 1994, pp. 129-139)。提案されているCRCは、認証タグ、すなわちCRCチェックビットの生成に、次数nの既約多項式(irreducible polynomial)を必要とする。基本的な思想は、CRC多項式を、送信機(sender)および受信機(receiver)だけが知る共有秘密鍵(shared secret)にすることである。これはセキュリティの観点からは十分に機能するが、既約多項式を見つけるのは容易でないため、依然としてリソース効率が悪いという問題がある。既約多項式、すなわち2つ以上の定数でない(non-trivial)多項式の積に因数分解できない多項式の生成は、擬似ランダム的に多項式を生成して既約性についての試験を行うこと、あるいは既約多項式のデータベースから擬似ランダム的に多項式を選択することのいずれかを必要とする。既約性試験の計算複雑度はn3ビット操作のオーダであり(例えば、S. GaoおよびD. Panarioによる、「Tests and Constructions of Irreducible Polynomials over Finite Fields」 in Foundations of Computational Mathematics, F. Cucker and M. Shub (Eds.), Springer, 1997, pp. 346-361を参照のこと)、計算に大きな手間がかかる。最も一般的なCRC長(n=32)に関する既約多項式の数は227=134,215,680であるため、512Mバイトの容量を必要とし、既約多項式のデータベースを維持するには大きな容量が必要である。一般に、二元体(binary field)上の、既約な次数nの多項式の数は、2n/nのように増加する。
本発明の1つの目的は、上述の技術および従来技術の改良された代替物を提供することにある。
より具体的には、本発明の1つの目的は、改良されたメッセージ認証を提供することにある。特に、本発明の1つの目的は、既知レベルの安全性を有する、改良された暗号学的チェックサムを提供することにある。
本発明のこれらの目的および他の目的は、独立請求項によって規定されるような本発明の様々な態様によって実現される。本発明の実施形態は従属請求項によって特徴付けられる。
本発明の第1の態様によれば、メッセージM(x)に関する暗号学的チェックサムを生成する方法が提供される。方法は少なくとも2つの既約多項式{pi(x), i=1…N}を擬似ランダム的に選択することを含む。少なくとも2つの既約多項式は、第1の暗号鍵に基づいて擬似ランダム的に選択される。既約多項式pi(x)のそれぞれは、ガロア体上の次数niの全ての既約多項式のセットから選択される。方法はさらに、次数
Figure 0006397987
の生成多項式p(x)を、N個の既約多項式pi(x)の積、
Figure 0006397987
として算出することと、暗号学的チェックサムを、M(x)の第2の関数f(M(x))のp(x)を法とした除算の第1の関数g、すなわちg(f(M(x)) mod p(x))として算出することと、を含む。
本発明の第2の態様によれば、コンピュータプログラムが提供される。コンピュータプログラムは、機器が有する処理ユニットによって実行された際に、本発明の第1の態様の実施形態に係る方法を機器に実行させるための、コンピュータが実行可能な命令を有する。
本発明の第3の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、本発明の第2の態様に係るコンピュータプログラムを格納したコンピュータが読み取り可能な記憶媒体を有する。
本発明の第4の態様によれば、メッセージM(x)に対する暗号学的チェックサムを生成するチェックサム生成器が提供される。チェックサム生成器は、少なくとも2つの既約多項式{pi(x), i=1...N}を擬似ランダム的に選択するように構成された手段を有する。少なくとも2つの既約多項式は、第1の暗号鍵に基づいて擬似ランダム的に選択される。既約多項式pi(x)のそれぞれは、ガロア体上の次数niの全ての既約多項式のセットから選択される。手段はさらに、次数
Figure 0006397987
の生成多項式p(x)を、N個の既約多項式pi(x)の積、
Figure 0006397987
として算出するとともに、暗号学的チェックサムをM(x)の第2の関数f(M(x))のp(x)を法とした除算の第1の関数g、すなわちg(f(M(x)) mod p(x))として算出するように構成される。
本発明は、CRCのような標準的なチェックサムを、擬似ランダム的に選択された少なくとも2つの既約多項式の積である生成多項式に基づく暗号学的チェックサムで置き換えることにより、メッセージの効率的な認証が提供されうるとの理解を利用する。提案する暗号学的チェックサムは、以下でさらに導かれる既知のセキュリティレベルでメッセージに完全性保証を提供するために、すなわち無作為的または意図的なメッセージ変化を検出するために、用いることができる。
この文脈において、メッセージは、しばしば所定のフォーマットに入れられる、二進化情報である。フォーマットはメッセージが関係するプロトコルによって決定される。通常、メッセージはヘッダとペイロードとを有し、暗号学的チェックサムはメッセージ全体、すなわちヘッダおよびペイロードについて生成されることが好ましい。
本発明の実施形態は、従前のCRCを、従前のCRCと同様のランダム誤り検出能力を有しつつ、メッセージに完全性保証を提供する暗号学的チェックサムで置き換えることにより、メッセージフォーマットが変化しない点で従来技術より有利である。特に、メッセージに追加のMACを付加することに基づく既知の手法とは対照的に、メッセージの長さが増加しない。さらに、本発明の実施形態は、Krawczykによる既知の暗号学的CRCに対し、擬似ランダム的な次数nの既約多項式の生成に依拠せず、n未満の次数niの少なくとも2つの既約多項式の積であり、かつ合計で次数nとなる生成多項式を利用する点で有利である。次数nの既約多項式の数はnとともに指数関数的に増加する(およそ2n/nに比例する)ので、次数nの多項式を生成するためにn未満の次数の既約多項式を生成してそれらを乗じることは、次数nの1つの既約多項式を生成するよりもリソース要求量が少ない。このことは、n3ビット操作の計算複雑度を有する完全性についてのテスト実行のみならず、既約多項式のデータベースの維持についても当てはまる。例えば、最も一般的なCRC長であるn=32について、既約多項式の数は227であり、512Mバイトの記憶容量が必要である。これに対し、次数n=16の既約多項式の数は4080であり、非常に少ない記憶容量しか必要としない。したがって、次数n=16の既約多項式のデータベースを維持することは実現可能であろうが、次数n=32の既約多項式のデータベースを維持することは多くのM2Mアプリケーションについて実現不能である。
なお、この文脈において、少なくとも2つの既約多項式pi(x)は、ガロア体上の次数nの全多項式のセットから擬似ランダム的に選択されることを理解すべきである。選択は多項式の確率分布を用いて制御されてもよい。そのような確率分布は利用可能な多項式のセットを効率的に制限するであろう。実際には、ガロア体上の次数nの全多項式のサブセットだけのデータベースを維持することは、データベースに含まれない多項式についてゼロの確率を有する確率分布を実施することになる。
本発明の一実施形態によれば、2つの既約多項式p1(x)およびp2(x)が擬似ランダム的に選択され、生成多項式p(x)はこれら2つの既約多項式の積p(x)=p1(x)・p2(x)として算出される。必要なら、擬似ランダム的に選択される2つの既約多項式p1(x)およびp2(x)は同じ次数、すなわちn1=n2=n/2を有する。
本発明の一実施形態によれば、生成多項式p(x)は非ゼロ定数項を有する。以下でさらに説明するように、生成多項式のセットを非ゼロ定数項を有する多項式のサブセットに限定することは、そのような生成多項式に基づく暗号学的チェックサムが、ある既約生成多項式に基づく暗号学的CRCと同じタイプのバースト誤りを検出する能力を有するという点で有利である。
本発明の一実施形態によれば、方法はさらに、長さnのパッドsを擬似ランダム的に生成することを含み、第1の関数gがパッドsを用いた加算を含む。擬似ランダム的に生成されるパッドを加算することは、暗号学的チェックサムをハッシュ関数によって生成することの線形変換が、アフィン変換に転換される点で有利である。パッドがない場合、敵対者は全てがゼロのメッセージを注入することに成功するであろう。必要ならパッドは、第1の暗号鍵と同じであっても異なってもよい第2の暗号鍵に基づいて生成されてもよい。
本発明の1つの実施形態によれば、既約多項式pi(x)の少なくとも1つが、メッセージに固有な情報に依存する。つまり、既約多項式の少なくとも1つが、敵対者には無作為であるように見せながら、メッセージの送信機および受信機だけが知っている方法で、メッセージ固有情報に基づいて選択されるメッセージ固有情報は、例えば、メッセージシーケンス番号、メッセージ識別子、メッセージに含まれるタイムスタンプなどの任意の1つまたは組み合わせを含むことができる。
本発明の1つの実施形態によれば、メッセージを認証する送信機の方法が提供される。方法は、メッセージを取得することと、メッセージについての暗号学的チェックサムを生成することと、生成された暗号学的チェックサムをメッセージに付加することと、メッセージと付加された暗号学的チェックサムとを送信することとを含む。メッセージおよび付加された暗号学的チェックサムをまとめて、符号語(codeword)と呼ぶ。
本発明の1つの実施形態によれば、メッセージを認証する受信機の方法が提供される。方法は、メッセージと付加された第1の暗号学的チェックサムとを受信することと、メッセージについての第2の暗号学的チェックサムを生成することと、第1の暗号学的チェックサムと第2の暗号学的チェックサムとが同一であるかどうかを検証することとを含む。もし同一でなければ、メッセージの完全性は確立されないかもしれない。つまり、メッセージは意図的もしくは偶発的に改変されている。
本発明の第1の態様の実施形態に関し、本発明の利点をいくつかの場合について説明してきたが、同様の論理は本発明の他の態様の実施形態にも当てはまる。
本発明の他の目的、特徴、および利点は、以下の詳細な開示、図面、および特許請求の範囲を理解することによって明らかになるであろう。本技術分野に属する当業者には、本発明の異なる特徴を組み合わせて、以下に説明する実施形態以外の実施形態を作成可能であることが理解されよう。
上述した、およびさらなる、本発明の目的、特徴および利点は、添付の図面に関する、本発明の実施形態の例示的かつ非限定的な詳細な説明を通じてよりよく理解されるであろう。
通信システムを示す図である。 符号語を示す図である。 メッセージ認証を示すブロック図である。 様々なタイプの生成多項式についての衝突確率のテーブルを示す図である。 本発明の実施形態に係る、送信機の方法についてのフローチャートである。 本発明の実施形態に係る、受信機の方法についてのフローチャートである。 本発明の実施形態に係る送信機を示す図である。 本発明の実施形態に係る受信機を示す図である。 本発明の別の実施形態に係る送信機を示す図である。 本発明の別の実施形態に係る受信機を示す図である。 本発明の実施形態に係るICを示す図である。 本発明の実施形態に係る携帯電話機を示す図である。
すべての図は模式的であり、必ずしも一定の縮尺ではなく、また、一般には本発明を明らかにするために必要な部分のみを示しており、他の部分は省略もしくは単に示唆されている。
以下、本発明の特定の実施形態を示す添付図面に関して、本発明をより詳細に説明する。しかしながら、本発明は他の様々な形式で実施することができ、ここで説明する実施形態に限定して解釈されてはならない。むしろ、これらの実施形態は、本開示が本発明の範囲を本技術分野に属する当業者に漏れなく、完全に伝わるように例として提供されている。
図1に、通信ネットワーク103上で通信するように構成された送信機101および受信機102を有する通信システム100を示す。特に、送信機101はメッセージ105を送信するように構成され、受信機102はメッセージ105を受信するように構成されている。好ましくは、送信機101および受信機102はメッセージを送信および受信するように構成される。送信機101および受信機102は、コンピュータ、モバイル端末、ユーザ端末(UE)、M2M/IoTタイプの機器、ゲートウェイ、無線ネットワークコントローラ(RNC)、無線基地局(RBS)、NodeB、またはeNodeBのような無線アクセスネットワーク(RAN)のノードなど、通信ネットワーク103上で通信を実現可能な任意のタイプの機器であってよい。通信ネットワーク103は、例えば、GSM、UMTS、LTEのようなRAN、WLAN/WiFiネットワーク、イーサネットネットワーク、企業ネットワーク、インターネットなど、有線または無線ネットワークのいずれか1つまたはそれらの組み合わせであってよい。
送信機101から通信ネットワーク103を通じて受信機102に送信されるメッセージ105は、無作為な/意図しない、または、意図的な/悪意をもった改変を受けることがある。無作為な改変は例えば、通信ネットワーク103の無線ネットワークのエアインタフェース上での送信中に生じるバースト誤りによって引き起こされる。一方、悪意のある改変は、やはり図1に示される敵対者104を発端とするであろう。敵対者104は送信機101によって送信されるメッセージ105を傍受し、メッセージの改変した複製を受信機102に再送信するかもしれない。敵対者104は、送信機101から受信したメッセージの改変に頼らずに新しいメッセージを生成しようとするかもしれない。通常、敵対者104の意図は悪意のあるメッセージを受信機102、特には受信機102のネットワークインタフェース、OS、またはアプリケーションに注入することである。
メッセージ105の完全性保証を用いて、メッセージ105の無作為な改変を検出することが本技術分野で知られている。これは、図2に示すように、メッセージ105にCRCのようなチェックサムを与えることによって実現できる。
そのため、CRCのようなチェックサム203が、図2においてヘッダ201と、ペイロードを搬送する本体202とを有するものとして示されるメッセージ204について生成され、符号語200を形成するためにメッセージ204に付加される。そして、符号語200(図1のメッセージ105に相当)は受信機102に送信され、以下で図3に関して説明するように、受信機102でメッセージ204の完全性が検証される。図3は、図1の送信機101および受信機102にそれぞれ対応する送信機側(図3の左側)および受信機側(図3の右側)を図示したブロック図300を示している。
送信機101において、受信機102に送信されるメッセージ204は、例えば送信機101のプロトコルスタックの上位層から受信されることにより取得され、第1のチェックサム(図3ではCS)、特にはCRCを算出するように構成されたアルゴリズム301にメッセージ204に送られる。メッセージ204に加え、チェックサムアルゴリズム301は入力として共有秘密鍵、例えば暗号鍵を受信し、第1のチェックサムを出力として生成する。必要なら、チェックサムアルゴリズム301はさらに初期値(IV)を入力として受信してもよく、第1のチェックサム203は初期値に基づいて生成される。初期値はチェックサムアルゴリズム301に個別に入力されてもよいし、例えば初期値をメッセージ204の先頭または末尾に追加することにより、メッセージ204の一部として入力されてもよい。そして、メッセージ204およびチェックサム203は、例えばチェックサム203をメッセージ204の末尾に追加することにより、符号語200に統合される。そして符号語200は、例えば通信ネットワーク103を通じて、受信機102に送信される。
受信機102で符号語200は受信され、符号語200からメッセージ304が抽出される。なお、送信機100から受信機102への送信105の間におけるメッセージ204の無作為な、および/または意図的な改変により、メッセージ304は送信機101から送信されたメッセージ204と必ずしも同一ではないことに留意されたい。メッセージ304は、送信機101のチェックサムアルゴリズム301と同一のチェックサムアルゴリズム301へ送られ、チェックサムアルゴリズム301は、メッセージ304と、送信機101の共有秘密鍵と同一の共有秘密鍵とに基づいて、第2のチェックサム303(図3ではCS')を生成する。必要なら、チェックサムアルゴリズム301はさらに、送信機101の初期値と同一の初期値を受信してもよい。そして、第2のチェックサム303を比較器305に送り、符号語200から抽出された第1のチェックサム203と比較することにより、受信メッセージ304の完全性が検証される。比較結果は、比較器305によって、例えば受信機102の通信スタックの上位レイヤなどで利用可能とされ、第1のチェックサム203と第2のチェックサム303とが同一であるか否かを示す。例えば、比較器305によって出力される結果は、高い値(論理「1」)が2つのチェックサムが同一であることを示し、低い値(論理「0」)が2つのチェックサムが異なることを示す(あるいは関係を逆転した)論理値であってよい。同一であれば、メッセージ304の完全性、すなわち、受信機102によって受信されたメッセージ304が送信機101によって送信されたメッセージ204と同一であること、が仮定されてもよい。メッセージ304の完全性を検証することにより、メッセージ304が送信105の間に改変されていないことが、ある程度の確率で推定可能である。
既知のチェックサム、特に、HMACやCBC-MACのような暗号学的ハッシュ関数であるCRCは、メッセージの無作為な改変を検出するように設計されている。より具体的には、次数nの生成多項式p(x)を用いるCRCは、n以下の長さの全てのバースト誤りを検出する能力を有する。さらに、CRCは生成多項式p(x)を因子としない全ての誤りを検出するであろう。CRCのエンコードおよびデコードは、LFSRを用いるハードウェアと、ソフトウェアとによって効率的に実施可能である。
送信機101でのエンコードについて、メッセージM(x)204は通常、まずxnを乗じられた後、生成多項式p(x)を法として除算される。剰余の多項式係数
Figure 0006397987
は、CRCチェックサム203、すなわちメッセージダイジェストを構成し、符号語200を形成するために、データビットM(x)・xnに加えられる。本開示を通じて、「・」は有限GF乗算操作(有限GF(2)についての有限GF乗算は論理ANDに等しい)であり、「mod」は有限体内における多項式を法とする除算の剰余である。xnを乗じることは、メッセージM(x)をnビットシフトすることに留意されたい。つまり、メッセージM(x)204は、CRCチェックサム203と結合される前にシフトされる。その結果、得られる符号語200は分離可能であり、すなわちメッセージビットがチェックサムビットから分離される。
受信機102でのデコードについて、受信されたデータビットM'(x)・xnは生成多項式p(x)を法として除算され、得られた剰余の多項式係数303
Figure 0006397987
は、符号語200とともに受信されたCRCビットr(x)203と比較される。誤りが発生していなければ、メッセージ204は送信中に改変されておらず、剰余r'(x)は受信された剰余r(x)と同一である。不一致は誤り、すなわちM'(x)≠M(x)を示す。
従来のCRC技術は無作為な改変または誤りを検出するには有用であるが、チェックサムアルゴリズム301が用いている生成多項式p(x)は送信機101および受信機102だけが知っている秘密ではないため、敵対者104は、送信機101によって送信されるメッセージに、受信機102でのCRCチェックに合格する改変を容易に作ることができる。例えば、敵対者104は、送信されるメッセージM(x)204に、e(x) mod p(x)=0のような、生成多項式p(x)を因子とする多項式に対応する誤りe(x)を加えることができる。さらに、敵対者104は、送信機101によって送信されるメッセージ204を、恐らくは悪意のあるコンテンツを含んだ別のメッセージ304で単純に置き換え、そのメッセージを送信機101と同じチェックサムアルゴリズム301を用いてエンコードして受信機102に送信することができ、そのメッセージは受信機102で完全性チェックに合格する。
特にユーザプレーンにおいて、データの完全性を提供するためのリソース効率の良い方法は、従来のCRCを、無作為な誤りについて従来のCRCと同等の検出能力を有し、かつ高確率で意図的または悪意のある改変を検出する能力を有する、暗号学的に安全なCRCによって置き換えることである。従来のCRCと同じサイズの、暗号学的に安全なCRCを用いることにより、メッセージサイズの変化を考慮するためにプロトコルスタック全体を再設計する必要性なしに、既存のプロトコルスタックをメッセージ認証をサポートするように拡張することができる。
Krawczykが提案する暗号学的に安全なCRCは、生成多項式を送信機101および受信機102だけが知る共有秘密鍵にするという発想に基づいている。それにより、敵対者104はメッセージを受信機102での完全性チェックに合格するように設計することができなくなる。上述したとおり、この方法はセキュリティの観点からは十分に機能するが、既約多項式を見つけるのは容易でないため、依然としてリソース効率が悪いという問題がある。
以下に説明する本発明の実施形態は、送信機101から受信機102に送信されるメッセージ105の完全性が、従来のCRCと同じサイズであるが、従来のCRCでは制約されている意図的または悪意のある改変を高確率で検出可能な能力を有する暗号学的チェックサムを用いて検証可能であるという点で有利である。Krawczykが提案する暗号学的チェックサムと対照的に、本発明の実施形態は要求するリソースがより少ないという点で有利である。特に、1つの既約多項式を用いずに、少なくとも2つの、より小さな、擬似ランダム的に選択された既約多項式の積を生成多項式として用いることにより、既約性についてのテストに必要な計算量が少なく、既約多項式を保持するために必要な記憶容量も少ない。
そのために、本発明の実施形態は、図2および図3に図示した符号語200内の、CRCのような従来のチェックサム203を置き換える暗号学的チェックサムを用いる。なお、本発明の一部の実施形態においては、メッセージ204またはその一部(例えば本体202)も暗号化されてもよい。そのような場合、受信機102は完全性の検証を実行する前に、まずメッセージまたはメッセージの一部を解読(decrypt)することができる。あるいは、解読処理の少なくとも一部を、チェックサム検証と交互に実行(interleave)してもよい。さらに別の代替構成として、受信機102はまず受信メッセージを解読しなくてもよい。受信機102でまず受信メッセージを解読する必要性は、送信機101での処理の順序に依存する。例えば、送信機101においてメッセージ暗号化が、チェックサム203が生成され、符号語200の形成のためにメッセージ240に追加された後に適用される場合、受信機102は通常、受信した符号語をまず解読する必要がある。一方、送信機101が暗号化メッセージについてチェックサム203を算出する前にまずメッセージを暗号化する場合、受信機はチェックサムが算出され、受信した暗号化メッセージの完全性が検証される後まで解読を遅らせてもよい。本開示を通じて、そうでないと明記されない限り、解読は必要に応じて実行されるものとする。
従って、送信機101および受信機102で暗号学的に安全なチェックサム(図3のCSおよびCS')を生成するために用いられるチェックサムアルゴリズム301はそれぞれ、以下に説明するように、Krawczykが提案するものに対して変更される。
チェックサムアルゴリズム301は、メッセージM(x)204に対する暗号学的チェックサム203を生成するためのハッシュ関数hp(M)であり、少なくとも2つの既約多項式pi(x), i=1...N (N>=2)を生成することを含み、既約多項式pi(x)のそれぞれは、ガロア体、特に次数2のガロア体GF(2)上の次数niの全多項式のセットから生成される。また、チェックサムアルゴリズム301は、次数
Figure 0006397987
の生成多項式を、N個の既約多項式pi(x)の積
Figure 0006397987
として算出することと、暗号学的チェックサム203を、M(x)の第2の関数f、すなわちf(M(x))の、p(x)を法とした除算の第1の関数g、すなわち、
Figure 0006397987
として算出することとを含む。
より具体的には、既約多項式pi(x)は、対応するガロア体上の既約多項式のセットから、第1の暗号鍵、すなわち送信機101および受信機102に既知の共有秘密鍵に基づいて擬似ランダム的に選択される。共有秘密鍵は例えば本技術分野で知られているように、加入者IDモジュール(SIM)、ユニバーサルSIM (USIM)などでサポートされる公開鍵技術や対称鍵技術によって確立されてよい。Krawcaykのように1つの既約多項式を生成多項式として用いるのとは異なり、それぞれの既約多項式pi(x)が次数ni<nを有する少なくとも2つの既約多項式pi(x)を擬似ランダム的に選択し、その少なくとも2つの既約多項式の積として生成多項式を形成することにより、本発明の実施形態は従来の手法よりもメッセージ認証に必要なリソースがより少なくてよいという、特に制約のある機器にとって重要な利点を有する。
必要なら、生成多項式p(x)は非ゼロ定数項、すなわち
Figure 0006397987
を有してもよく、ここでcは非ゼロである(c=1はCF(2)上の多項式の場合を暗示する)。なお、非ゼロ定数項を有さない既約多項式は、pi(x)=xだけであることに留意されたい。したがって、p(x)は、自身の既約因子(irreducible factor)pi(x)の全てが非ゼロ定数項を有する場合に非ゼロ定数項を有する。以下にさらに説明するように、これは、生成される暗号学的チェックサムが、既約生成多項式に基づくKrawczykと同種の暗号学的チェックサムと同じタイプのバースト誤りを検出する能力を有するという点で有利である。対照的に、ゼロ定数項を有する生成多項式(すなわち式(6)でc=0)は、ランダム誤りの検出能力を悪化させうる。例えば、そのような生成多項式に基づく暗号学的チェックサムは、1ビット誤りのいくつかを検出できないであろう。
さらに必要により、第1の関数gは、長さnのパッドsの付加を有してもよい。すなわち、
Figure 0006397987
であり、「+」はGF加算(GF(2)に対するGF加算は論理XOR操作に等しい)。パッドsは、例えば第1の暗号鍵と同じであっても異なってもよい第2の暗号鍵に基づいて擬似ランダム的に生成されてよい。第1および/または第2の暗号鍵は、第3の暗号鍵から、例えば第3の暗号鍵と、送信機101および受信機102に既知な何らかの情報とから擬似ランダムビットシーケンスを生成し、生成したビットシーケンスの一部を第1の暗号鍵として選択し、ビットシーケンスの残りのビットを第2の暗号鍵として選択することによって生成されてよい。ランダムなパッドsの付加は、ハッシュ関数hp(M)を用いた暗号学的チェックサムの生成の線形変換、すなわちhp(A)+hp(B)=hp(A+B)が、アフィン変換hp(M)+sに転換される点で有利である。パッドがなく、hp(0)=0の場合、ハッシュ関数に用いられる生成多項式に係わらず、敵対者が全てゼロのメッセージを注入することを可能にする。なお、ストリーム暗号を用いる暗号化が送信機101で適用される場合、パッドsは暗号化関数によって提供されてもよく、そのため暗号化と完全性処理とが交互に実行(interleave)されうることに留意されたい。この場合、受信機102は、(i)解読によってまずパッドsを除去してから、hp(M)だけをチェックサム203として取り扱ってもよいし、(ii)パッドsを除去せずに、hp(M)+sをチェックサム203として取り扱ってもよい。
本発明の実施形態で用いられるパッドは、1900年代初期にVernamによって導入された周知のワンタイムパッドと同様である。Vernam暗号において、メッセージは論理XOR演算を用いてビット単位で合成される。本発明の実施形態において、パッドは同様の方法で暗号学的チェックサムと合成される。
以下において、本発明の実施形態に係る暗号学的チェックサムの算出のための、提案するファミリーハッシュ関数のセキュリティが解析され、従来の手法、特にKrawczykと同種の暗号学的チェックサムと比較される。
以下に規定される、暗号学的に安全なハッシュ関数の(m, n)-ファミリを考える。バイナリ長mの任意のメッセージM(x)および式(4)による生成多項式p(x)のそれぞれについて、pi(x)'は式(3)が当てはまるガロア体上の次数niの既約多項式である場合、ハッシュ関数hpは以下の多項式のバイナリ係数として定義される。
Figure 0006397987
認証タグ、すなわちメッセージダイジェストまたは暗号学的に安全なチェックサム
Figure 0006397987
を算出するために、少なくとも2つの既約多項式pi(x)が擬似ランダム的に生成され、生成多項式p(x)は式(4)に従って形成され、ハッシュ関数hpが評価され、擬似ランダム的に生成されたパッドsが明示的に、または暗号化処理の一部として付加される。既約多項式pi(x)の生成は、ガロア体上の次数niを有する全ての多項式のセットから擬似ランダム的に選択された多項式のそれぞれについて、既約性に関するテストを実行すること、あるいは次数niのガロア体上の(好ましくは全ての)既約多項式のセットを有するデータベースから既約多項式pi(x)のそれぞれを擬似ランダム的に選ぶことのいずれかを必要とすることに留意されたい。
提案するハッシュ関数のファミリのセキュリティを解析するため、M(x)およびtを知った後、敵対者104がt'=tとなるようなメッセージM'(x)≠M(x)を見つけることが可能であれば、敵対者104が認証を破ることに成功するものと仮定する。ここでは、敵対者104がハッシュ関数の(m,n)-ファミリを知っているが、特定のメッセージの認証に用いられている特定のハッシュ関数hpおよびパッドsについては知らないものとする。
解析は、所与の長さの全メッセージにわたってCRCの分布を考慮することによって実行される。なお、ここでは最悪のケースのシナリオが検討されていることに留意されたい。すなわち敵対者104がチェックサムを設計しようとすることで敵対者104のチャンスを最大化するであろうこと、また敵対者104が成功の確率を最大化するこれらのメッセージを知っている(かつ選択する)ことを仮定している。したがって、成功の確率は2つの異なるメッセージMおよびM'が、式(10)に従って算出される同一のチェックサムtを有する確率に依存するであろう。なぜなら、これは敵対者104が検出されることなしに、すなわち受信機102での完全性チェックに合格する、別のメッセージに、送信機101によって送信されたメッセージを置き換えることが可能であることを意味するからである。つまり、我々は以下のものを探索する。
Figure 0006397987
ここで、最大値は全ての区別可能なmビットメッセージMおよびM'について求められ、確率Prは式(4)に従った、ハッシュ関数を規定する生成多項式pxをランダムに選択したものについて求められる。hp(M)=hp(M')の場合にのみhp(M)+s=hp(M')+sが成り立つので、パッドsの存在は確率に影響しないことに留意されたい。さらに、確率は統計量であり、ランダムに発生する事象を予測するための最適な戦略は事象の統計分布に従って予測を行うことであることに留意されたい。例えば、(仮想的かつ理想的なコイン)を投げた際に表が出るか裏が出るかの予測が当たる確率は、利用できるリソースに係わらず1/2を超えることはできない。従って、式(11)は、敵対者が理由に使える計算リソースにかかわらず、すべての敵対者の成功確率の上限をもたらす。
定理4(補遺を参照)によれば、任意の数mおよびnに対し、また任意のメッセージMに対し、いかなる敵対者も、以下の確率を超えて、ランダムに選択された生成多項式に基づく暗号学的チェックサムを用いた認証を破ることはできない。
Figure 0006397987
なお、i, j∈{1, 2, …, N}の全てについてni≠njであるか、i, j∈{1, 2, …, N}の全てについてni=njであるとする。確率εは、衝突確率と呼ばれる。
以下では、N=2である特別な場合、すなわち生成多項式p(x)が、以下の式に示すように2つの既約多項式の積である場合について検討する。
Figure 0006397987
2つの多項式の操作は3つ以上の多項式の操作と比較して必要な計算量が少ないので、2つの既約多項式の積に基づく実施形態は有利である。さらに、式(12)によれば、衝突確率はNの増加に伴って急激に減少する(すなわち、暗号学的チェックサムの期待される安全性が低下する)。N=2について、衝突確率のより正確な限界を得ることができる。補遺における補助定理1には、既約多項式p1(x)およびp2(x)がそれぞれ異なる次数n1およびn2を有する場合に関して、
Figure 0006397987
が示されている。また、既約多項式p1(x)およびp2(x)が同じ次数n1=n2=n/2を有する場合に関して、
Figure 0006397987
が、示されている。衝突確率ε1およびε2について得られる値を図4の表400(それぞれ3番目および4番目の列)に示す。
比較のために、表400の5番目の列に、Krawczykに類似した既約生成多項式についての衝突確率ε0を示す。この場合、既約生成多項式についての衝突確率ε0は、(m+2)/2n-1で与えられる。
表400から、異なる次数(3番目の列)および等しい次数(4番目の列)を有する2つの既約多項式の積である生成多項式を用いる本発明の実施形態について、それぞれの衝突確率が、Krawcaykに類似した既約多項式(5番目の列)についての衝突確率よりも高いことが分かる。つまり、これらは所与のメッセージサイズについて、より低いレベルの安全性を提供する。したがって、安全性とリソース効率とにはトレードオフが存在する。より低いレベルの安全性を許容できるアプリケーションに関して、本発明の実施形態はリソース要求量が少ない点において有利である。表400から、本発明の実施形態によって提供される安全性のレベルは、Krawczykに類似した暗号学的チェックサムよりもメッセージサイズに依存した低下が大きいので、提案する暗号学的チェックサムが短いメッセージまたは中程度の長さのメッセージに特に有効であることがさらに分かる。
さらに表400から、等しい次数、すなわち式(15)に従ったε2を有する2つの既約多項式の積である生成多項式に依拠する実施形態についての衝突確率が、異なる次数(式(14)に従ったε1)を有する2つの既約多項式の積である生成多項式に依拠する実施形態についての衝突確率よりも低いことが分かる。従って、等しい次数を有する2つの既約多項式の積である生成多項式に依拠する実施形態は、要求するリソースが少ない上に改善された安全性を提供するので、有利である。例えば、次数n/2(nは必要なチェックサムサイズ)の既約多項式のデータベースを維持し、このデータベースからp1(x)およびp2(x)を擬似ランダム的に選択する本発明の一実施形態を想定することができる。
なお、ここに提示した安全性の解析は、一様にランダムなパラメータ、例えば多項式の仮定に基づいているが、実際にはこれらのパラメータは擬似ランダム的に生成されることに留意されたい。しかし、均一な分布との実際には区別できない出力分布を生成する擬似ランダム生成器が知られているため、この違いは重要ではない。したがって、敵対者は分布におけるそれらの違いにつけこむことはできない。
本発明の実施形態は、敵対者104にとって予測不能な、生成多項式p(x)およびパッドsの少なくとも1つについての、送信機101および受信機102について決まる方法での変更に基づいている。つまり、生成多項式p(x)および/またはパッドsの変更は、送信機101と受信機102との間で同期させる必要がある。
既約多項式を擬似ランダム的に選択するために用いられる共有秘密鍵、すなわち第1の暗号鍵は、チェックサムアルゴリズム301の出力を敵対者104にとって予測不能とすることを意図しているが、チェックサムアルゴリズム301は必要に応じて既約多項式pi(x)の少なくとも1つを、メッセージのシーケンス番号またはメッセージの他の何らかの固有情報(例えばタイムスタンプ)、メッセージ識別子、または乱数といった、メッセージに依存する何らかのデータに基づいて決定してもよい。そのような追加情報は、例えばメッセージ204のヘッダ201で搬送されてよい。
一般に、個々のメッセージに対して新たな生成多項式を算出する必要はなく、送信機101と受信機102との間の新しいセッションの開始時に生成多項式を生成し、この生成多項式をセッション中に送信機101および受信機102の間で交換される全てのメッセージに対して固定し続ければ十分である。しかし、パッドはメッセージごとに変更する必要があり、メッセージに依存するデータ、すなわちメッセージに固有な情報に依存して変更されうる。
図5に、メッセージを認証する送信機の方法の一実施形態500を示す。方法500の実施形態は、例えば送信機101によって実行されてよい。方法500は、例えば送信機101の通信スタックの上位レイヤもしくは送信機101で実行中のアプリケーションから,メッセージを取得すること(501)、メッセージについての暗号学的チェックサムを生成すること、生成した暗号学的チェックサムをメッセージに追加(506)して符号語を形成すること、および符号語、すなわちメッセージおよび追加された暗号学的チェックサムを送信すること(507)を有する。
より具体的には、暗号学的チェックサムを生成することは、上述したように、第1の暗号鍵に基づいて、少なくとも2つの既約多項式pi(x)を擬似ランダム的に選択する(502)ことと、ここで、既約多項式pi(x)のそれぞれは、ガロア体上の次数niの全既約多項式のセットから選択され、次数
Figure 0006397987
の生成多項式p(x)をN個の既約多項式pi(x)の積
Figure 0006397987
として算出する(503)ことと、暗号学的チェックサムをM(x)の第2の関数f(M(x))のp(x)を法とする除算の第1の関数g、すなわちg(f(M(x)) mod p(x))として算出すること(505)と、を含む。第1の暗号鍵はメッセージの送信機および受信機に既知の共有秘密鍵である。必要なら、生成多項式は非ゼロ定数項を有してもよい。暗号学的チェックサムを生成することは、さらに、長さnのパッドsを擬似ランダム的に生成すること(504)を含んでもよく、第1の関数gはパッドsを用いた加算を含む。パッドsは、第1の暗号鍵と同じであっても異なってもよい第2の暗号鍵に基づいて生成されてもよい。第2および第1の暗号鍵はメッセージの送信機および受信機に既知の共有秘密鍵である。必要なら、生成多項式p(x)およびパッドsの少なくとも一方、または両方を、メッセージシーケンス番号、タイムスタンプ、乱数といった、メッセージに特有の情報に応じて生成してもよい。
図6に、メッセージを認証する受信機の方法の一実施形態600を示す。方法600の実施形態は、例えば受信機102によって実行されてよい。方法600は、符号語、すなわちメッセージと付加された第1の暗号学的チェックサムとを受信すること(601)と、メッセージについての第2の暗号学的チェックサムを生成することと、第1の暗号学的チェックサムと第2の暗号学的チェックサムとが同一であるかどうかを検証すること(606)とを含む。もし同一でなければ、メッセージの完全性は確立されないかもしれない。つまり、メッセージは偶発的に/無作為に、あるいは意図的に/悪意をもって改変されている。
より具体的には、第2の暗号学的チェックサムを生成することは、上述したように、第1の暗号鍵に基づいて、少なくとも2つの既約多項式pi(x)を擬似ランダム的に選択する(602)ことと、ここで、既約多項式pi(x)のそれぞれは、ガロア体上の次数niの全既約多項式のセットから選択され、次数
Figure 0006397987
の生成多項式p(x)をN個の既約多項式pi(x)の積
Figure 0006397987
として算出する(603)ことと、第2の暗号学的チェックサムをM(x)の第2の関数f(M(x))のp(x)を法とした除算の第1の関数g、すなわちg(f(M(x)) mod p(x))として算出すること(605)と、を含む。第1の暗号鍵はメッセージの送信機および受信機に既知の共有秘密鍵である。必要なら、生成多項式は非ゼロ定数項を有してもよい。第2の暗号学的チェックサムを生成することは、さらに、長さnのパッドsを擬似ランダム的に生成すること(604)を含んでもよく、第1の関数gはパッドsを用いた加算を含む。パッドsは、第1の暗号鍵と同じであっても異なってもよい第2の暗号鍵に基づいて生成されてもよい。第2および第1の暗号鍵はメッセージの送信機および受信機に既知の共有秘密鍵である。必要なら、生成多項式p(x)およびパッドsの少なくとも一方、または両方を、メッセージシーケンス番号、タイムスタンプ、乱数といった、メッセージに特有の情報に応じて生成してもよい。
本発明の実施形態による、暗号学的チェックサムの算出は、従来のCRCに用いられているものと同じタイプの演算に基づく。したがって、本発明の実施形態による暗号学的チェックサムの算出は、本発明の実施形態が可変擬似ランダム生成多項式を用いることを除き、従来のCRCの簡単さのほとんどを保っている。したがって、本発明の実施形態をハードウェアに実装することは容易であり、得られる実装は非常にリソース効率がよい。本技術分野で知られているように、GF(2)上の多項式を法とした除算演算はLFSRを通じて実施することができ、LFSRのタップが生成多項式を決定する。xnによる乗算すらハードウェアで高性能に実施可能である。しかし、生成多項式が固定かつ事前に分かっており、一般に実施回路が不変の生成多項式を決定する帰還接続を有する従来のCRCと対照的に、本発明の実施形態に係る暗号学的チェックサムは帰還接続がプログラマブルな実装を要する。これらの帰還接続の実際の構成は、ハッシュの実行において鍵となり、かつ、変更可能で秘密でなければならない。なお、異なる生成多項式に基づく異なるCRC規格をサポートする必要がある場合や、異なる多項式次数をサポートする必要がある場合には、一部の暗号学的CRC回路もプログラマブル接続を用いることができることに留意されたい(例えば、 J. Birch, L. G. ChristensenおよびM. Skovによる、”A programmable 800 Mbit/s CRC check/generator unit for LAN6 and MANs”, Comp. Networks and ISDN Sys., 1992を参照)。
擬似ランダム的に選択される生成多項式のセットを非ゼロ定数項を有する多項式のセットに制限することは、本発明の実施形態に係るチェックサム生成器の実装を難しくしないことを述べておくことは重要である。そのような多項式について異なる点は、多項式の定数項に対応するLFSRタップがプログラマブルでなく固定されうる点だけである。
CRC生成器のソフトウェアによる効率的な実装もまた存在する。それらの実装においては、生成多項式を擬似ランダム的に選択するために用いられる特定の暗号鍵に応じて予め算出されたテーブルを用いることにより、大幅な高速化が実現される。したがって、テーブルは暗号鍵ごとに一度だけ算出され、これは多くのアプリケーションで手頃である。
本発明の実施形態に係るハッシュ関数ファミリ内の関数は、基本的に、ハッシュ関数を適用するメッセージの長さではなく、生成多項式p(x)によって規定される。したがって、それらは異なる長さのメッセージに適用可能であり、実用上好ましい。特に、メッセージM(x)に対応する多項式は先頭の係数として「0」でなく「1」を有さねばならない(Mの長さがmであれば、M(x)の適切な次数はmである)。これは、メッセージと多項式との一対一のマッピングを決定し、特に、単にゼロをメッセージに付加してメッセージを変更することを妨げる。例えば、メッセージ01011は5ビットメッセージではなく4ビットメッセージ1011として取り扱う必要がある。そうしないと、これら2つのメッセージは同じ多項式1・x3+0・x2+1・x1+1・x0=x3+x1+1によって表され、その結果、エンコーディング後に同一のチェックサムを有するであろう。そうしないと、新しいメッセージが同一のチェックサムを有さねばならないことを知っている敵対者は、メッセージの先頭に1つ以上のゼロを簡単に追加することができるであろう。あるいは、またはさらに、例えばメッセージ長をメッセージの先頭または末尾に付加することにより、認証/検証処理への入力として明示的な長さ表示を用いてもよい。
受信機側では、メッセージを、典型的にはビットであるメッセージ要素の順次受信と実質的に同期して処理する有限状態機械(FSM)により、メッセージの完全性の検証を効率的に実施することができるそのようなFSMは受信機のメディアアクセス制御(MAC)レイヤに統合されてもよく、典型的にはチェックサムデコーダ、比較器および制御ブロックからなる。チェックサムデコーダは受信したメッセージ要素に対するチェックビットを、メッセージ要素が到着するごとに、すなわちビットごとに再計算する。比較器は再計算されたチェックビットを、メッセージ内で受信したチェックビット、すなわち認証タグまたはチェックサムと比較する。再計算されたチェックビットと受信したチェックビットとが不一致であれば、比較器は、メッセージの完全性が検証できなかったことを示すエラー信号を制御ブロックに送信する。
図7に、図1の送信機101のような、メッセージを認証するための送信機の実施形態700を示す。送信機700は、例えば送信機700の通信スタックの上位レイヤもしくは送信機700で実行中のアプリケーションからメッセージを取得するためのメッセージバッファ701と、メッセージについての暗号学的チェックサムを生成するためのチェックサム生成器702と、生成した暗号学的チェックサムをメッセージに追加して符号語を形成するための符号語バッファ703と、符号語、すなわちメッセージおよび追加された暗号学的チェックサムを送信するためのインタフェース704と、第1の暗号鍵、すなわちメッセージの送信機700および受信機に既知の共有秘密鍵をチェックサム生成器702に提供するための共有秘密鍵モジュール705とを有する。インタフェース704は例えばRANと通信を行うように構成されたネットワークインタフェースまたは無線送受信機であってよい。
より具体的には、チェックサム生成器702は、上述したように、第1の暗号鍵に基づいて、少なくとも2つの既約多項式pi(x)を擬似ランダム的に選択し、ここで、既約多項式pi(x)のそれぞれは、ガロア体上の次数niの全既約多項式のセットから選択され、次数
Figure 0006397987
の生成多項式p(x)をN個の既約多項式pi(x)の積
Figure 0006397987
として算出し、暗号学的チェックサムをM(x)の第2の関数f(M(x))のp(x)を法とした除算の第1の関数g、すなわちg(f(M(x)) mod p(x))として算出する、ことによって、暗号学的チェックサムを生成するように構成される。必要なら、生成多項式は非ゼロ定数項を有してもよい。チェックサム生成器702はさらに、長さnのパッドsを擬似ランダム的に生成するように構成されてもよく、第1の関数gはパッドsを用いた加算を含む。パッドsは、第1の暗号鍵と同じであっても異なってもよい第2の暗号鍵に基づいて生成されてもよい。第2の暗号鍵はメッセージの送信機700および受信機に既知の共有秘密鍵である。したがって、共有秘密鍵モジュール705はさらに、第2の暗号鍵をチェックサム生成器702に提供するように構成されてもよい。あるいは、上述したように、パッドsはチェックサム生成器702で生成されるのではなく、暗号化アルゴリズムによって提供されてもよい。
必要なら、チェックサム生成器702は、生成多項式p(x)およびパッドsの少なくとも一方、または両方を、メッセージシーケンス番号、タイムスタンプ、乱数といった、メッセージに特有の情報に応じて生成するように構成されてもよい。そのような情報はチェックサム生成器702の入力として、特にはチェックサム生成器702が有するLFSRの入力として用いられてよい。
図8に、図1の受信機102のような、メッセージを認証するための受信機の実施形態800を示す。受信機800は、符号語、すなわちメッセージと付加された第1の暗号学的チェックサムとを受信するためのインタフェース801と、受信した符号語からメッセージと第1の暗号学的チェックサムとを抽出するための符号語バッファ802と、メッセージについての第2の暗号学的チェックサムを生成するためのチェックサム生成器803と、第1の暗号学的チェックサムと第2の暗号学的チェックサムとが同一であるかどうかを検証するための比較器804と、第1の暗号鍵、すなわちメッセージの受信機800と送信機とに既知の共有秘密鍵をチェックサム生成器803に提供するための共有秘密鍵モジュール805とを有する。受信機800はさらに、受信したメッセージを保存し、比較器804から受信した、受信メッセージの完全性が検証されたことを示す表示に応答してメッセージを受信機800の通信スタックの上位レイヤもしくは受信機800で実行中のアプリケーションに送るためのメッセージバッファ806を有してもよい。インタフェース801は例えばRANと通信を行うように構成されたネットワークインタフェースまたは無線送受信機であってよい。
より具体的には、チェックサム生成器803は、図7に関して説明したチェックサム生成器702と類似しており、上述したように、第1の暗号鍵に基づいて、少なくとも2つの既約多項式pi(x)を擬似ランダム的に選択し、ここで、既約多項式pi(x)のそれぞれは、ガロア体上の次数niの全既約多項式のセットから選択され、次数
Figure 0006397987
の生成多項式p(x)をN個の既約多項式pi(x)の積
Figure 0006397987
として算出し、第2の暗号学的チェックサムをM(x)の第2の関数f(M(x))のp(x)を法とする除算の第1の関数g、すなわちg(f(M(x)) mod p(x))として算出する、ことによって、第2の暗号学的チェックサムを生成するように構成される。必要なら、生成多項式は非ゼロ定数項を有してもよい。チェックサム生成器803はさらに、長さnのパッドsを擬似ランダム的に生成するように構成されてもよく、第1の関数gはパッドsを用いた加算を含む。パッドsは、第1の暗号鍵と同じであっても異なってもよい第2の暗号鍵に基づいて生成されてもよい。第2の暗号鍵はメッセージの受信機800および送信機に既知の共有秘密鍵である。したがって、共有秘密鍵モジュール806はさらに、第2の暗号鍵をチェックサム生成器803に提供するように構成されてもよい。あるいは、上述したように、パッドsはチェックサム生成器803で生成されるのではなく、暗号化アルゴリズムによって提供されてもよい。
必要なら、チェックサム生成器803は、生成多項式p(x)およびパッドsの少なくとも一方、または両方を、メッセージシーケンス番号、タイムスタンプ、乱数といった、メッセージに特有の情報に応じて生成するように構成されてもよい。そのような情報はチェックサム生成器803の入力として、特にはチェックサム生成器803が有するLFSRの入力として用いられてよい。
送信機700および受信機800の実施形態は、本技術分野で知られているように、ハードウェア、ソフトウェア、またはそれらの組み合わせによって実施されてよい。例えば、モジュール701〜705およびモジュール801〜806は電子回路、特にデジタルバイナリロジックによって実施されてよい。あるいは、モジュール701〜705およびモジュール801〜806はデジタルシグナルプロセッサ(DSP)によって実施されてよい。インタフェース704および801が符号語をRANのエアインタフェース上でそれぞれ送信または受信するためのアナログ電子回路を有しうることが理解されよう。
チェックサム生成器702および803の実施形態の動作は、本技術分野において実施方法が既知である標準的なCRC生成器と非常に似ている。擬似ランダム的に生成されたパッドsに依拠するチェックサム生成器702および803の実施形態は、パッドsの加算をf(M(x)) mod p(x)を表すnビットストリングと、nビットのパッドsとのビットごとのXOR演算によって実施することができる。
図9に、メッセージを認証する送信機の代替実施形態900を示す。送信機900はプロセッサ901、例えばDSPと、ソフトウェア(コンピュータが実行可能な命令を有するコンピュータプログラム903)であって、コンピュータが実行可能な命令がプロセッサ901で実行された際に、特に図5に関して説明した、メッセージを認証する送信機の方法の実施形態を送信機900に実行させるためのソフトウェアを有するメモリ902とを有する。送信機900はさらに、通信ネットワーク、例えば通信ネットワーク103を通じて通信を実行するためのインタフェース904をさらに有してよい。インタフェース904は例えばRANと通信を行うように構成されたネットワークインタフェースまたは無線送受信機であってよい。
図10に、メッセージを認証する受信機の代替実施形態1000を示す。受信機1000はプロセッサ1001、例えばDSPと、ソフトウェア(コンピュータが実行可能な命令を有するコンピュータプログラム1003)であって、コンピュータが実行可能な命令がプロセッサ1001で実行された際に、特に図6に関して説明した、メッセージを認証する受信機の方法の実施形態を受信機1000に実行させるためのソフトウェアを有するメモリ1002とを有する。送信機1000はさらに、通信ネットワーク、例えば通信ネットワーク103を通じて通信を実行するためのインタフェース1004をさらに有してよい。インタフェース1004は例えばRANと通信を行うように構成されたネットワークインタフェースまたは無線送受信機であってよい。
図7から図10に関して説明した送信機および受信機の実施形態1101は、図11に示す集積回路(IC)1100で実施されてよい。さらに、図7から図10に関して説明した送信機および受信機の実施形態1201は、図12に示す携帯電話機1200のような移動端末で実施されてよい。さらなる代替物として、図7から図10に関して説明した送信機および受信機の実施形態1201は、例えばゲートウェイ、RNC、またはRBS、NodeB、eNodeB、WLANアクセスポイントのような、RANのノードで実施されてもよい。
本発明が上述した実施形態に決して限定されないことは本技術分野に属する当業者にとって明らかであろう。むしろ、添付の特許請求の範囲の範囲内で多くの修正および変形が可能である。
補遺

p(x)を以下の形式のGF(2)上の多項式とする。
Figure 0006397987
ここで、N>1であり、pi(x)のそれぞれは非ゼロ定数項を有する次数niの既約多項式であり、
Figure 0006397987
である。GF(2)では、非ゼロ定数項を持たない既約多項式は多項式xただ1つしか存在しないことに留意されたい。
我々は、暗号学的に安全なCRCハッシュ関数の(m, n)-ファミリを以下のように定義する。
・定義1
任意のmビットメッセージM(x)について、また、式(1)によるp(x)について、ハッシュ関数hp(M)は以下の様に定義される。
Figure 0006397987
(m, n)-ファミリはそのような関数の全てのセットからなるものとして定義される。すなわちp(x)のそれぞれがファミリの1つのメンバを定義する。
以下、ハッシュ関数の(m, n)-ファミリの誤り検出能力について検討する。
次数n>1の既約生成多項式に基づくCRCが長さn以下の全てのバースト誤りの検出能力を有することは周知である(W. W. PetersonおよびD. T. Brown, 「Cyclic Codes for Error Detection」, in Proceedings of the IRE, Volume 49, 1961, pages 228-235)。以下において我々は、式(1)による生成多項式p(x)に基づく暗号学的に安全なCRCが同じタイプの誤りを検出可能であることを示す。ここで、多項式p(x)の次数をdeg(p(x))で表すものとする。
・定理1
式(1)による生成多項式p(x)に基づくCRCが、deg(p(x))に等しい次数の既約生成多項式に基づくCRCと同じタイプのバースト誤りを検出可能である
・証明
任意の生成多項式p(x)に基づくCRCは、p(x)を因子とする誤り以外の全ての誤りを検出する。p(x)が式(1)に示すタイプであれば、その因子の全ては非ゼロ定数項を有する多項式である。
次数n>0の任意のバースト誤りは以下の形式の多項式によって記述できる。
Figure 0006397987
ここで、i∈{0, 1, ..., n-1}について、
Figure 0006397987
である。多項式b(x)は、p(x)の全因子がまたb(x)の因子である場合にのみp(x)を因子として有する。
p(x)の次数はa(x)の次数よりも少なくとも1大きいので、p(x)≠a(x)である。したがって、b(x)を因子とするためには、p(x)はp(x)=a(x)・c(x)という形式でなければならない。ここで、c(x)は次数が少なくとも1の、非ゼロ定数項を有する多項式である。
しかし、b(x)の、a(x)以外の全ての因子はゼロ定数項を有するので、c(x)はb(x)の因子にはなりえない。したがって、式(1)による、次数nの生成多項式p(x)に基づくCRCは、長さn以下の全てのバースト誤りを検出可能である。
本発明の実施形態についての衝突確率の解析を提示する前に、前提となる定義および定理のいくつかを提示する(定義1から3および、定理2および3はH. Krawczyk, "LFSR-based Hashing and Authentication", in Advances in Cryptology - CRYPTO '94, Lecture Notes in Computer Science, Volume 839, Springer, 1994, pages 129-139からのものである)。
・定義2
ハッシュ関数Hのファミリは、全てのメッセージMおよびM'について以下が成り立てば、+-linearであると呼ばれる。
Figure 0006397987
我々の目的のために、「+」演算は常にガロア体内で定義され、典型的にはGF(2)の拡大である。
・定義3
ハッシュ関数のファミリは、長さmの任意の非ゼロメッセージMについて、かつ任意の長さmのバイナリ文字列cについて以下が成り立つ場合、ε-balancedと呼ばれる。
Figure 0006397987
ここで、確率は、ファミリから一様に無作為に選択されたhpにわたって取られる。
・定義4
ハッシュ関数のファミリは、任意のメッセージMについて、対抗者がεを超える確率で認証を破ることができない場合、ε-opt-secureと呼ばれる。
・定理2
ハッシュ関数のファミリHがε-opt-secureであるための必要十分条件は以下の通りである。
Figure 0006397987
・定理3
Hが+-linearであれば、Hがε-balancedである場合にのみHはε-opt-secureである。
以下では、全てのi, j∈{1, 2,..., N}についてni≠njであるか、全てのi, j∈{1, 2,..., N}についてni=njであれば、いかなる対抗者も、提示される(m, n)-ファミリに基づく、すなわち、そのファミリによって定義されるCRCに基づく認証を、式(8)で与えられるようなεを超える確率で破ることができないことを示す。本技術分野に属する当業者は、証明を任意のqについてのGF(q)に適合させる方法を理解するであろう。
・定理4
任意の値nおよびmについて、定義1で与えられるハッシュ関数のファミリは、全てのi, j∈{1, 2,..., N}についてni≠njであるか、全てのi, j∈{1, 2,..., N}についてni=njであれば(ここで、niは式(1)におけるpi(x)の次数である)、ε-opt-secureであり、
Figure 0006397987
である。
証明
定理3によれば、ハッシュ関数のファミリが+-linearであれば、ファミリがε-balancedである場合にのみファミリはε-opt-secureである。多項式を法とする除算は線形演算であるから、定義1で与えられるハッシュ関数のファミリが+-linearであることは明らかである。次に、このファミリがε-balancedでもあることを示す。
まず、次数nの任意の生成多項式p(x)、任意の非ゼロmビットメッセージM、および任意のnビット文字列cについて、M(x)・xn mod p(x) = c(x)である場合にのみhp(M) = cとなることが分かる。ここで、c(x)はビット文字列cで規定される多項式である。次に、p(x)がM(x)・xn - c(x)を等分する場合にのみM(x)・xn mod p(x) = c(x)となる。
q(x) = M(x)・xn - c(x)とする。明らかに、q(x)はm+nを超えない次数の非ゼロ多項式であり、p(x)はq(x)を等分する次数nの多項式である。
・ケース1
全てのi, j∈{1, 2,..., N}についてni≠njであるとする。素因数分解の一意性から、q(x)は、i∈{1, 2,..., N}の各々について、以下の数を超えない既約因子を含むことができる。
Figure 0006397987
したがって、全てのi, j∈{1, 2,..., N}についてni≠njであれば、Mをcにマッピングする(m, n)-ファミリ内のハッシュ関数の数は
Figure 0006397987
未満である。
一方、p(x)を構成する方法はIn1・In2・...InN通りある。ここで、Iniは次数niの既約多項式の数である。次数nの既約多項式の数は
Figure 0006397987
であるから、
Figure 0006397987
である。
したがって、衝突確率はたかだか
Figure 0006397987
である。
・ケース2
全てのi, j∈{1, 2,..., N}についてni=njであるとする。deg(pi) = deg(p)/Nが成り立つ。
次数n/Nの既約多項式の数は
Figure 0006397987
である。したがって、p(x)を構築する方法は
Figure 0006397987
通りより多く、ここで、
Figure 0006397987
である。
一方、次数n/Nのそれぞれについて、q(x)の既約因子の数はたかだか
Figure 0006397987
である。それらの異なる全てのN組は次数nの可約多項式を生成する。したがって、Mをcにマッピングする(m, n)-ファミリ内のハッシュ関数の数はたかだか
Figure 0006397987
である。
一方、このファミリ内の要素の数は式(15)によって制限されている。そのため、衝突確率はたかだか
Figure 0006397987
である。
次に、生成多項式が2つの既約多項式の積である場合、つまりN=2の場合について、衝突確率のより正確な限界を求める。
・補助定理1
N = 2であれば、定理4におけるεは以下で与えられる。
Figure 0006397987
・証明
n1 = deg(p1)とする。したがって、n2 = deg(p2) = n - n1である。
q(x)が次数n - n1の既約因子をr個含むとする。すると、素因数分解の一意性から、q(x)が含む次数n1の既約因子の数はたかだか
Figure 0006397987
である。これら因子の区別可能な組の数は
Figure 0006397987
であり、各組は区別可能な次数nの可約多項式を生成する。Mをcにマッピングする(m, n)-ファミリ内のハッシュ関数の最大数を見出すには、以下の二次関数の値を最大にするrを見出す必要がある。
Figure 0006397987
それには、式(23)の関数が表す放物線の頂点(極大点)のx座標を見出せばよい。極大点のx座標は-b/2aの点に位置することが知られているため、この場合
Figure 0006397987
となる。
そのため、二次関数の値はq(x)が次数n - n1の既約多項式を(m + n)/{2(n - n1)}個含み、次数n1の既約多項式を
Figure 0006397987
個含む場合に最大化される。
ここで、
Figure 0006397987
かつ
Figure 0006397987
であるとすると、n1≠n/2であれば、Mをcにマッピングする(m, n)-ファミリ内のハッシュ関数の最大数は以下の式で与えられる。
Figure 0006397987
一方、n1≠n/2であれば、任意の固定値n1について、p(x)を構成する方法はIn1・In-n1通りある。
Figure 0006397987
かつ
Figure 0006397987
であるから、n1≠n/2の場合についての衝突確率は、
Figure 0006397987
である。
(m + n)/{2(n - n1)}≧In-n1(または(m + n)/(2n1)≧In1)の場合、式(23)の二次関数の値を最大化するための次数n - n1(またはn1)の区別可能な既約多項式の数は不十分である。したがって、Mをcにマッピングする(m, n)-ファミリ内のハッシュ関数の数は式(28)未満となり、衝突確率は上で求めた上限よりもいっそう低くなる。
n1 =n2 = n/2であれば、q(x)は次数n/2の既約因子を最大
Figure 0006397987
個含むことができる。それらの区別可能な組の全ては次数nの可約多項式を生成する。そのため、Mをcにマッピングする(m, n)-ファミリ内のハッシュ関数の最大数は以下の式で与えられる。
Figure 0006397987
一方、n1 = n/2の場合、p(x)を構成する方法は
Figure 0006397987
通りある。次数n/2の既約多項式の数は
Figure 0006397987
であるから、解空間は
Figure 0006397987
より大きい。
したがって、n1 = n/2の場合の衝突関数は以下の式で与えられる。
Figure 0006397987
一例として、図4の表400に、n = 32および64、ならびにいくつかのメッセージ長mについて、N = 2の場合の衝突確率ε1およびε2を示す。5番目の列はKrawczykと同様に、1つの既約多項式のを生成多項式として用いた場合の衝突確率ε0を示している。

Claims (26)

  1. メッセージM(x)(204; 304)についての暗号学的チェックサム(203: 303)を生成する、プロセッサが実行する方法(500; 600)であって、
    第1の暗号鍵に基づいて、少なくとも2つの既約多項式{pi(x), i = 1 ... N}を擬似ランダム的にデータベースから選択する(502; 602)ことと、ここで既約多項式pi(x)のそれぞれはガロア体上の次数niの既約多項式のセットから選択され、
    次数
    Figure 0006397987
    の生成多項式p(x)を、N個の既約多項式pi(x)の積
    Figure 0006397987
    として算出する(503; 603)ことと、
    前記暗号学的チェックサムを、M(x)・x n mod p(x)として算出する(505; 605)ことと、を有し、
    前記p(x)を法とした除算(mod)が線形帰還シフトレジスタ(LFSR)によって実施される、方法。
  2. 2つの既約多項式p1(x)およびp2(x)が擬似ランダム的に選択され(502; 602)、前記生成多項式p(x)が前記2つの既約多項式の積p(x)=p1(x)・p2(x)として算出される(503; 603)、請求項1に記載の方法。
  3. 擬似ランダム的に選択される前記2つの既約多項式p1(x)およびp2(x)が等しい次数n1=n2=n/2を有する、請求項2に記載の方法。
  4. 前記生成多項式p(x)が非ゼロ定数項を有する、請求項1から請求項3のいずれか1項に記載の方法。
  5. さらに、長さnのパッドsを擬似ランダム的に生成する(504; 604)ことを有し、前記暗号学的チェックサムを算出することが、暗号学的チェックサムをM(x)・x n mod p(x)+sとして算出する、請求項1から請求項4のいずれか1項に記載の方法。
  6. 前記パッドsが第2の暗号鍵に基づいて生成される(504; 604)、請求項5に記載の方法。
  7. 前記パッドsが前記メッセージに特有な情報に依存する、請求項5または請求項6に記載の方法。
  8. 前記既約多項式pi(x)の少なくとも1つが、前記メッセージに特有な情報に依存する、請求項1から請求項7のいずれか1項に記載の方法。
  9. 前記メッセージに特有な前記情報がメッセージシーケンス番号を含む、請求項7または請求項8に記載の方法。
  10. メッセージ(204)を送信する送信機(101)が有するプロセッサが実行する方法(500)であって、
    前記メッセージを取得する(501)ことと、
    請求項1から請求項のいずれか1項に記載の方法に従って、前記メッセージを認証するための暗号学的チェックサムを生成することと、
    前記生成された暗号学的チェックサムを前記メッセージに付加する(506)ことと、
    前記メッセージと前記付加された暗号学的チェックサムとを送信する(507)ことと、を有する方法。
  11. メッセージ(304)を認証する受信機(102)が有するプロセッサが実行する方法(600)であって、
    前記メッセージと付加された第1の暗号学的チェックサムとを受信する(601)ことと、
    請求項1から請求項のいずれか1項に記載の方法に従って、前記メッセージについての第2の暗号学的チェックサムを生成することと、
    前記第1の暗号学的チェックサムと、前記第2の暗号学的チェックサムとが同一であるかどうか検証する(606)ことにより、前記メッセージを認証することと、を有する方法。
  12. 機器が有する処理ユニットによって実行された際に、請求項1から請求項11のいずれか1項に記載の前記方法を前記機器に実行させるための、コンピュータが実行可能な命令を有する、コンピュータプログラム(903; 1003)。
  13. 請求項12に記載のコンピュータプログラムを格納したコンピュータが読み取り可能な記憶媒体(902; 1002)。
  14. メッセージM(x)についての暗号学的チェックサムを生成するチェックサム生成器(702; 803; 900; 1000)であって、前記チェックサム生成器は、
    第1の暗号鍵に基づいて、少なくとも2つの既約多項式{pi(x), i = 1 ... N}を擬似ランダム的にデータベースから選択(705; 805)し、ここで既約多項式pi(x)のそれぞれはガロア体上の次数niの既約多項式のセットから選択され、
    次数
    Figure 0006397987
    の生成多項式p(x)を、N個の既約多項式pi(x)の積
    Figure 0006397987
    として算出し、
    前記暗号学的チェックサムを、M(x)・x n mod p(x)として算出する、ように構成された手段を有し、
    前記p(x)を法とした除算(mod)が線形帰還シフトレジスタ(LFSR)によって実施される、チェックサム生成器。
  15. 前記手段が、2つの既約多項式p1(x)およびp2(x)を擬似ランダム的に選択し、前記生成多項式p(x)を前記2つの既約多項式の積p(x)=p1(x)・p2(x)として算出するように構成される、請求項14に記載のチェックサム生成器。
  16. 擬似ランダム的に選択される前記2つの既約多項式p1(x)およびp2(x)が等しい次数n1=n2=n/2を有する、請求項15に記載のチェックサム生成器。
  17. 前記生成多項式p(x)が非ゼロ定数項を有する、請求項14から請求項16のいずれか1項に記載のチェックサム生成器。
  18. 前記手段はさらに、長さnのパッドsを擬似ランダム的に生成するとともに、暗号学的チェックサムをM(x)・x n mod p(x)+sとして算出するように構成され、請求項14から請求項17のいずれか1項に記載のチェックサム生成器。
  19. 前記手段がさらに、前記パッドsを第2の暗号鍵に基づいて生成する(705; 805)ように構成される、請求項18に記載のチェックサム生成器。
  20. 前記パッドsが前記メッセージに特有な情報に依存する、請求項18または請求項19に記載のチェックサム生成器。
  21. 前記既約多項式pi(x)の少なくとも1つが、前記メッセージに特有な情報に依存する、請求項14から請求項20のいずれか1項に記載のチェックサム生成器。
  22. 前記メッセージに特有な前記情報がメッセージシーケンス番号を含む、請求項20または請求項21に記載のチェックサム生成器。
  23. メッセージを送信する送信装置(700; 900)であって、前記送信装置は、
    前記メッセージを取得(701)し、
    前記送信装置が有する、請求項14から請求項22のいずれか1項に記載のチェックサム生成器を用いて、前記メッセージを認証するための暗号学的チェックサムを生成し、
    前記生成された暗号学的チェックサムを前記メッセージに付加(703)し、
    前記メッセージと前記付加された暗号学的チェックサムとを送信する(704)、ように構成された手段を有する、送信装置。
  24. メッセージを認証する受信装置(800; 1000)であって、前記受信装置は、
    前記メッセージと付加された第1の暗号学的チェックサムとを受信(801)し、
    前記受信装置が有する、請求項14から請求項22のいずれか1項に記載のチェックサム生成器を用いて、前記メッセージについての第2の暗号学的チェックサムを生成し、
    前記第1の暗号学的チェックサムと、前記第2の暗号学的チェックサムとが同一であるかどうか検証(804)することにより、前記メッセージを認証する、ように構成された手段を有する、受信装置。
  25. 請求項23に記載の送信装置(1201)と請求項24に記載の受信装置(1201)の少なくとも1つを有する移動端末(1200)。
  26. 請求項23に記載の送信装置と請求項24に記載の受信装置の少なくとも1つを有する無線アクセスノード。
JP2017504363A 2014-08-19 2014-08-19 暗号学的チェックサムの生成 Active JP6397987B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/067655 WO2016026517A1 (en) 2014-08-19 2014-08-19 Generating cryptographic checksums

Publications (2)

Publication Number Publication Date
JP2017530581A JP2017530581A (ja) 2017-10-12
JP6397987B2 true JP6397987B2 (ja) 2018-09-26

Family

ID=51422058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017504363A Active JP6397987B2 (ja) 2014-08-19 2014-08-19 暗号学的チェックサムの生成

Country Status (6)

Country Link
US (1) US10396996B2 (ja)
EP (1) EP3183836B1 (ja)
JP (1) JP6397987B2 (ja)
CN (1) CN106688204B (ja)
BR (1) BR112017003063A2 (ja)
WO (1) WO2016026517A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9807117B2 (en) 2015-03-17 2017-10-31 Solarflare Communications, Inc. System and apparatus for providing network security
CN107395340A (zh) * 2017-06-14 2017-11-24 云丁网络技术(北京)有限公司 数据传输方法、装置及系统
US10404458B1 (en) 2017-11-17 2019-09-03 ISARA Corporation Multi-round key encapsulation process
US10061636B1 (en) * 2017-12-22 2018-08-28 ISARA Corporation Conversion schemes for public key cryptosystems
US10031795B1 (en) * 2017-12-22 2018-07-24 ISARA Corporation Using conversion schemes in public key cryptosystems
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption
RS20180651A1 (sr) * 2018-06-01 2019-12-31 Postupak i metod primene kodiranja na malim nosačima podataka
CN113039806B (zh) * 2018-10-31 2022-05-31 华为技术有限公司 用于可靠地接收控制消息的发送装置和接收装置
US11140139B2 (en) * 2018-11-21 2021-10-05 Microsoft Technology Licensing, Llc Adaptive decoder selection for cryptographic key generation
CN109861820B (zh) * 2019-02-18 2021-05-25 吉林大学珠海学院 基于随机散列和位运算的加密解密方法和装置
CN109951253B (zh) * 2019-03-14 2021-07-13 北京信而泰科技股份有限公司 一种数据报文首部校验和生成方法及装置
CN110765421B (zh) * 2019-10-22 2023-05-23 南方电网科学研究院有限责任公司 一种配电网运行参数的校验方法、装置、设备和存储介质
CN113328859B (zh) * 2021-04-21 2022-02-22 北京连山科技股份有限公司 信息分散的处理方法
US11861046B2 (en) * 2021-04-29 2024-01-02 Infineon Technologies Ag System for an improved safety and security check
CN113779645B (zh) * 2021-11-12 2022-02-22 南京大学 一种量子数字签名和量子数字签密方法
CN114039720B (zh) * 2021-11-17 2024-04-19 南京大学 一种基于lfsr哈希的无条件安全的认证加密方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428629A (en) * 1990-11-01 1995-06-27 Motorola, Inc. Error check code recomputation method time independent of message length
US5220606A (en) * 1992-02-10 1993-06-15 Harold Greenberg Cryptographic system and method
US5440633A (en) * 1993-08-25 1995-08-08 International Business Machines Corporation Communication network access method and system
US5345507A (en) * 1993-09-08 1994-09-06 International Business Machines Corporation Secure message authentication for binary additive stream cipher systems
US5809148A (en) * 1996-05-17 1998-09-15 Motorola, Inc. Decryption of retransmitted data in an encrypted communication system
US5956404A (en) * 1996-09-30 1999-09-21 Schneier; Bruce Digital signature with auditing bits
GB2357227B (en) * 1999-12-08 2003-12-17 Hewlett Packard Co Security protocol
JP2003324424A (ja) * 2002-05-07 2003-11-14 Shuichi Suzuki 加法的暗号化方法と加法的暗号化装置
WO2003104969A2 (en) * 2002-06-06 2003-12-18 Cryptico A/S Method for improving unpredictability of output of pseudo-random number generators
JP2008516296A (ja) * 2004-10-13 2008-05-15 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア 擬群を用いる、暗号法の基本要素、エラーコーディング、及び擬似ランダム数改善方法
JP2007086170A (ja) * 2005-09-20 2007-04-05 Nec Corp 汎用ハッシュ関数族計算装置、方法、プログラム、および共有鍵生成システム
FR2899702A1 (fr) * 2006-04-10 2007-10-12 France Telecom Procede et dispositif pour engendrer une suite pseudo-aleatoire
EP1912148A1 (en) * 2006-10-09 2008-04-16 Axalto S.A. Protection against side channel attacks with an integrity check
EP2156636A2 (en) * 2007-05-16 2010-02-24 Panasonic Corporation Methods in mixed network and host-based mobility management
WO2008156392A1 (en) * 2007-06-18 2008-12-24 Telefonaktiebolaget Lm Ericsson (Publ) Security for software defined radio terminals
US8848916B2 (en) * 2010-04-15 2014-09-30 Qualcomm Incorporated Apparatus and method for transitioning from a serving network node that supports an enhanced security context to a legacy serving network node
WO2015048783A1 (en) * 2013-09-30 2015-04-02 Nordholt, Jane, E. Quantum-secured communications overlay for optical fiber communications networks

Also Published As

Publication number Publication date
CN106688204A (zh) 2017-05-17
US20170244564A1 (en) 2017-08-24
BR112017003063A2 (pt) 2018-02-27
EP3183836B1 (en) 2018-01-10
JP2017530581A (ja) 2017-10-12
CN106688204B (zh) 2020-04-24
US10396996B2 (en) 2019-08-27
EP3183836A1 (en) 2017-06-28
WO2016026517A1 (en) 2016-02-25

Similar Documents

Publication Publication Date Title
JP6397987B2 (ja) 暗号学的チェックサムの生成
US10623187B2 (en) Generating cryptographic checksums
CN110073634B (zh) 数据转换系统及方法
JP6453366B2 (ja) 暗号チェックサムの生成
Manifavas et al. A survey of lightweight stream ciphers for embedded systems
US8194858B2 (en) Chaotic cipher system and method for secure communication
Dubrova et al. CRC-based message authentication for 5G mobile technology
JP3728500B2 (ja) 変調メッセージの認証システム及び方法
Liu et al. A joint encryption and error correction scheme based on chaos and LDPC
EP3729716B1 (en) Stream ciphering
WO2008064153A2 (en) Processing method for message integrity with tolerance for non-sequential arrival of message data
Dubrova et al. Cryptographically secure CRC for lightweight message authentication
US10039059B2 (en) Energy saving in wireless devices
Dubrova et al. Lightweight message authentication for constrained devices
Dubrova et al. Error-correcting message authentication for 5g
Gupta et al. Wep implementation using linear feedback shift register (lfsr) and dynamic key
Kanso et al. A variant of Baptista's encryption scheme
Zibideh et al. Key-based coded permutation ciphers with improved error performance and security in wireless channels
Dubrova et al. Lightweight CRC-based Authentication
Sengupta et al. AEC: A Practical Scheme for Authentication with Error Correction
Canteaut Lecture Notes on Error-Correcting Codes and their Applications to Symmetric Cryptography
Ramakrishnan Wireless network security using a low cost pseudo random number generator

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180814

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: 20180827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180903

R150 Certificate of patent or registration of utility model

Ref document number: 6397987

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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