(57)【特許請求の範囲】
【請求項１】
各送信されたペイロードの送信元を検証するために各送信されたペイロードに認証を与える遠距離通信システムであって、
複数のペイロードのうちの選択された１つのペイロード(30)のため、鍵を使用して第１の変調された誤りコードを計算する送信ノード(10)であって、前記第１の変調された誤りコード(36a)を前記選択されたペイロード(30)に付加し、前記第１の変調された誤りコード(36a)と前記選択されたペイロード(30)とを送信する送信ノード(10)と、
前記第１の変調された誤りコード(36a)と前記選択されたペイロード(30)とを受け取り、前記受信され選択されたペイロード(30)のため、前記鍵を使用して第２の変調された誤りコード(36b)を計算する受信ノード(20)であって、前記鍵が前記送信ノードと前記受信ノードのみに知られており、所定数の前記複数の受信されたペイロード(30)と、前記所定数の複数の受信されたペイロード(30)の各々について、前記それぞれの第１の変調された誤りコード(36a)が前記それぞれの第２の変調された誤りコード(36b)と一致しないことを示す標識(38)とを格納するスライディング・ウィンドウ(80)を更に有し、該スライディング・ウィンドウ(80)の前記標識(38)の数が所定のしきい値(88)を超えると、前記送信ノード(10)に対して前記送信ノード(10)を認証するための新しい認証要求を出す受信ノード(20)とを含むことを特徴とする遠距離通信システム。
【請求項２】
前記ペイロード(30)が、送信されるデータ(34)を含むことを特徴とする請求項１に記載の遠距離通信システム。
【請求項３】
前記送信ノード(10)が、
少なくとも１つのフィードバック要素(70)を生成する第１の線形フィードバック・シフト・レジスタ(45)と、
前記少なくとも１つのフィードバック要素(70)と前記ペイロード(30)内の前記データ(34)とを使用して、前記第１の変調された誤りコード(36a)を計算する手段(48)とを更に含むことを特徴とする請求項２に記載の遠距離通信システム。
【請求項４】
前記第１の線形フィードバック・シフト・レジスタ(45)の初期状態が、前記鍵から導き出された鍵付き値(58)に設定されることを特徴とする請求項３に記載の遠距離通信システム。
【請求項５】
前記送信ノード(10)が、
少なくとも１つのシンボルを生成する第１の擬似ノイズ発生器(50)と、
前記少なくとも１つのシンボルを鍵付きシンボルにマップする手段(55)とを更に含むことを特徴とする請求項４に記載の遠距離通信システム。
【請求項６】
前記鍵付き値(58)が前記鍵付きシンボルと慣用値とのモジュロ２の和を含むことを特徴とする請求項５に記載の遠距離通信システム。
【請求項７】
前記第１の擬似ノイズ発生器(50)が第２の線形フィードバック・シフト・レジスタ(52)を含むことを特徴とする請求項５に記載の遠距離通信システム。
【請求項８】
前記第２の線形フィードバック・シフト・レジスタ(52)の初期状態が前記鍵に設定されることを特徴とする請求項７に記載の遠距離通信システム。
【請求項９】
前記鍵が、前記第２の線形フィードバック・シフト・レジスタ(52)の初期状態と、前記第２の線形フィードバック・シフト・レジスタ(52)に関連づけられたフィードバック多項式とを含むことを特徴とする請求項７に記載の遠距離通信システム。
【請求項１０】
前記受信ノード(20)が、
少なくとも１つの追加のフィードバック要素(70)を生成する第３の線形フィードバック・シフト・レジスタ(45)と、
前記少なくとも１つの追加のフィードバック要素(70)と前記選択され受信されたペイロード(30)内の前記データ(34)とを使用して、前記第２の変調された誤りコード(36b)を計算する手段(48)とを更に含むことを特徴とする請求項９に記載の遠距離通信システム。
【請求項１１】
前記第３の線形フィードバック・シフト・レジスタ(45)の初期状態が前記鍵から導き出された追加の鍵付き値(58)に設定されることを特徴とする請求項１０に記載の遠距離通信システム。
【請求項１２】
前記受信ノード(20)が、
少なくとも１つの追加のシンボルを生成する第２の擬似ノイズ発生器(50)と、
前記少なくとも１つの追加のシンボルを追加の鍵付きシンボルにマップする手段(55)とを更に含むことを特徴とする請求項１１に記載の遠距離通信システム。
【請求項１３】
前記追加の鍵付き値(58)が前記追加の鍵付きシンボルと慣用値とのモジュロ２の和を含むことを特徴とする請求項１２に記載の遠距離通信システム。
【請求項１４】
前記第２の擬似ノイズ発生器(50)が第４の線形フィードバック・シフト・レジスタ(52)を含むことを特徴とする請求項１２に記載の遠距離通信システム。
【請求項１５】
前記第４の線形フィードバック・シフト・レジスタ(52)の初期状態が前記鍵に設定されることを特徴とする請求項１４に記載の遠距離通信システム。
【請求項１６】
前記鍵が、前記第４の線形フィードバック・シフト・レジスタ(52)の初期状態と、前記第４の線形フィードバック・シフト・レジスタ(52)に関連づけられたフィードバック多項式とを含むことを特徴とする請求項１４に記載の遠距離通信システム。
【請求項１７】
前記誤りコードが巡回冗長検査（ＣＲＣ）コードであることを特徴とする請求項１に記載の遠距離通信システム。
【請求項１８】
前記誤りコードが誤り訂正コードであることを特徴とする請求項１に記載の遠距離通信システム。
【請求項１９】
送信ノード(10)から受信ノード(20)に送信される複数のペイロードの各ペイロード(30)にメッセージ認証コードを与える方法であって、
前記送信ノード(10)で、前記送信ノード(10)と前記受信ノード(20)のみに知られた鍵から導き出される鍵付き値(58)を、前記複数のペイロードのうちの選択された１つのペイロード(30)のために生成するステップと、
前記鍵付き値(58)を使用して第１の変調された誤りコード(36a)を生成するステップと、
前記選択されたペイロード(30)と前記第１の変調された誤りコード(36a)とを前記受信ノード(20)に送信するステップと、
前記受信ノード(20)で、前記鍵付き値(58)を使用して第２の変調された誤りコード(36b)を発生するステップと、
前記選択され受信されたペイロード(30)を前記受信ノード(20)のスライディング・ウィンドウ(80)に格納するステップであって、該スライディング・ウィンドウ(80)が、所定数の前記複数の受信されたペイロード(30)と、前記所定数の複数の受信されたペイロード(30)の各々について、前記それぞれの第１の変調された誤りコード(36a)が前記それぞれの第２の変調された誤りコード(36b)と一致しないことを示す標識(38)とを格納するステップと、
該スライディング・ウィンドウ(80)の前記標識(38)の数が所定のしきい値(88)を超えると、前記送信ノード(10)に対して前記送信ノード(10)を認証するための新しい認証要求を出すステップとを含むことを特徴とする方法。
【請求項２０】
前記第１の変調された誤りコード(36a)を生成するステップが、
前記送信ノード(10)内の第１の線形フィードバック・シフト・レジスタ(45)によって、少なくとも１つのフィードバック要素(70)を生成するステップと、
前記少なくとも１つのフィードバック要素(70)と前記選択されたペイロード(30)内のデータ(34)とを使用して、前記第１の変調された誤りコード(36a)を計算するステップとを更に含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記第１の変調された誤りコード(36a)を生成する前記ステップが、
前記第１の線形フィードバック・シフト・レジスタ(45)を前記鍵付き値(58)に初期化するステップを更に含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記鍵付き値(58)を生成する前記ステップが、
前記送信ノード(10)内の第２の線形フィードバック・レジスタ(52)によって、少なくとも１つのシンボルを生成するステップと、
前記少なくとも１つのシンボルを鍵付きシンボルにマップするステップとを更に含み、
前記鍵付き値(58)が前記鍵付きシンボルと慣用値とのモジュロ２の和を含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記鍵付き値(58)を生成する前記ステップが、
前記第２の線形フィードバック・シフト・レジスタ(52)を前記鍵に初期化するステップを更に含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
受信ノード(20)で受け取った複数のペイロード(30)の送信元(10)を検証する方法であって、
前記受信ノード(20)で、前記複数のペイロードのうちの選択された１つのペイロード(34)と、前記選択されたペイロード(30)に関連づけられた第１の変調された誤りコード(36a)とを送信ノード(10)から受け取るステップと、
前記選択され受信されたペイロード(30)のために、前記送信ノード(10)と前記受信ノード(20)とにのみ知られた鍵から導き出される鍵付き値(58)を生成するステップと、
前記受信ノード(20)で、前記鍵付き値(58)を使用して第２の変調された誤りコード(36b)を生成するステップと、
前記選択され受信されたペイロード(30)を前記受信ノード(20)のスライディング・ウィンドウ(80)に格納するステップであって、該スライディング・ウィンドウ(80)が、所定数の前記複数の受信されたペイロード(30)と、前記所定数の複数の受信されたペイロード(30)の各々について、前記それぞれの第１の変調された誤りコード(36a)が前記それぞれの第２の変調された誤りコード(36b)と一致しないことを示す標識(38)とを格納するステップと、
該スライディング・ウィンドウ(80)の前記標識(38)の数が所定のしきい値(88)を超えると、前記送信ノード(10)に対して前記送信ノード(10)を認証するための新しい認証要求を出すステップとを含むことを特徴とする方法。
【請求項２５】
前記第２の変調された誤りコード(36b)を生成する前記ステップが、
前記受信ノード(20)内の第１の線形フィードバック・シフト・レジスタ(45)によって、少なくとも１つのフィードバック要素(70)を生成するステップと、
前記少なくとも１つのフィードバック要素(70)と前記選択され受信されたペイロード(30)内のデータ(34)とを使用して、前記第２の変調された誤りコード(36b)を計算するステップとを更に含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記第２の変調された誤りコード(36b)を生成する前記ステップが、
前記第１の線形フィードバック・シフト・レジスタ(45)を前記鍵から導き出された前記鍵付き値(58)に初期化するステップを更に含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記鍵付き値(58)を生成する前記ステップが、
前記受信ノード(20)内の第２の線形フィーバック・シフト・レジスタ(52)によって、少なくとも１つのシンボルを生成するステップと、
前記少なくとも１つのシンボルを鍵付きシンボルにマップするステップとを更に含み、
前記鍵付き値(58)が前記鍵付きシンボルと慣用値とのモジュロ２の和を含むことを特徴とする請求項２６に記載の方法。
【請求項２８】
前記鍵付き値(58)を生成する前記ステップが、
前記第２の線形フィードバック・シフト・レジスタ(52)を前記鍵に初期化するステップを更に含むことを特徴とする請求項２７に記載の方法。
【発明の詳細な説明】
【０００１】
（発明の背景）
本出願は、米国成分法第１１９（ｅ）（１）項に基づき、１９９９年６月２５日出願の同時係属出願、米国仮出願第６０／１４１，１７８号の優先権を主張する。
【０００２】
（発明の分野）
本発明は、一般には、受信メッセージの真正性を検証する遠距離通信システム及び方法に関し、詳細には、送信ノードの識別情報を検証する方法の提供に関するものである。
【０００３】
（発明の背景及び目的）
遠距離通信ネットワークは、少なくとも、通信チャネルで相互接続された送信者と受信者によって形成される。送信者は、少なくとも送信ノードの一部を成し、受信者は少なくとも受信ノードの一部を成す。送信者によって受信者に伝達される情報は、変調されて、通信チャネルで受信ノードに送信される通信信号を形成する。その後、通信信号に含まれる情報が受信ノードによって復元される。
【０００４】
無線の遠距離通信ネットワークにおいて、通信チャネルは、電磁スペクトルの一部に定義された無線チャネルとして形成される。しかし、無線チャネルは、本質的に公のものである。従って、無線チャネルで送信される通信信号は、その無線チャネルに同調されたノードであれば、どの受信ノードでも検出することができる。そのため、送信された通信信号を無許可の者が傍受できる可能性がある。類似のセキュリティ問題は、有線の遠距離通信ネットワークでも、無許可の者が有線通信チャネルへのアクセス権を獲得した場合に問題になる。
米国ニューヨーク州１０５９８ヨークタウン・ハイツのＩＢＭ  Ｔ．Ｊ．Ｗａｔｓｏｎ研究所が１９９４年８月２１日に発行した「Ｈｕｇｏ  Ｋｒａｗｃｚｙｋによる「ＬＦＳＲ−ｂａｓｅｄ  Ｈａｓｈｉｎｇ  ａｎｄ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ」という名称のＩＢＭ出版物では、ストリーム暗号化と、巡回冗長コード（ＣＲＣ）の暗号化版を実施するシステムが開示されている。
ヨーロッパ公開特許出願ＥＯ0805575A2では、問合わせ器(interrogator)内の事前に初期設定されたＣＲＣ生成器を使用するトランスポンダが開示されている。トランスポンダに特定の情報をプログラムし、プログラミング時に、問合わせ器から受け取ったすべてのビットがＣＲＣ発生器を介してシフトされる。
Ｇｌｉｔｚへの米国特許第4,211,891号では、コード・テキスト生成器によって生成された鍵データとリンクすることによって送信側でデータを暗号化する方法が開示されている。データは、受信側で同じ鍵データとのリンクによって復号される。コード・テキスト生成器によって生成された擬似ランダム・シーケンスを送信側と受信側で使用して、無許可のアクセスからデータを保護する。
Ａ．Ｍｅｎｚｅｓ、Ｐ．Ｖａｎ  Ｏｏｒｃｈｏｔ及びＳ．ＶａｎｓｔｏｎｅによるＨａｎｄｂｏｏｋ  ｏｆ  Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ（１９９７年ＣＲＣ  Ｐｒｅｓｓ）の第６章では、自己同期ストリーム暗号と、線形フィードバック・シフト・レジスタに基づくストリーム暗号とが開示されている。このＭｅｎｚｅｓ等のハンドブックでは、線形フィードバック・シフト・レジスタが、キーストリーム生成器として使用するために容易に利用可能であると開示している。しかし、このハンドブックの第６．３章には、ＬＦＳＲの出力シーケンスは容易に予測可能であると記載されている。
【０００５】
ユーザ保護と情報秘匿を確実にするために、現在、多くの遠距離通信ネットワークでは、ユーザにセキュリティ手段を与えている。例えば、多くのネットワークでは、通信に関与するすべてのノードが呼出し設定時に認証鍵を設ける必要がある。更に、関与ノードの識別情報が検証されたならば、その認証鍵を使用して、ノードがノード間で送信される情報を暗号化することができるようにする暗号鍵を得ることができる。しかし、認証後に暗号がスイッチオンされてない場合、関与ノードの１つが後で無許可の者に置き換えられても、他のノードは置換が起こったことを認識しない可能性がある。これは、暗号化が弱い又は暗号化がまったくできない特定の国では、特に重大な問題となっている。
【０００６】
従って、一部の遠距離通信ネットワークで情報セキュリティを確実にするために実施されているもう１つのセキュリティ手段は、送信情報と共にメッセージ認証コード（ＭＡＣ:message authentication code）を組み込むことである。デジタル情報信号がビットの連続から成るデジタル遠距離通信ネットワークにおいて、ＭＡＣを導入する従来の方法の１つは、デジタル情報信号に追加ビットを付加することである。厳密にどのビットを付加するかは、信号自身と、関与ノードのみが知る秘密鍵とによって異なる。例えば、この付加ビットはハッシュ関数によって計算することができる。しかし、デジタル情報信号にビットを付加すれば、送信される通信信号の複雑さが増し、それによって貴重なネットワーク資源の消費が増大するので好ましくない。
【０００７】
従って、本発明の目的は、各送信デジタル情報信号に、送信ノードの識別情報を検証するメッセージ認証コードを付与することである。
【０００８】
本発明の他の目的は、送信情報の複雑さを増すことなくメッセージ認証手続きを実施することである。
【０００９】
（発明の概要）
本発明は、送信デジタル情報信号のためにメッセージ認証コード（ＭＡＣ）を実施する遠距離通信システム及び方法を対象とする。デジタル情報信号は、一般に、信頼性の高い情報配信を保証するためにＣＲＣ（Cyclic Redundancy Check）コードなどの誤り検出コードを含む。送信ノードの識別情報を検証するために、関与ノードのみが知るシーケンスによってＣＲＣコードを変調することができる。従って、ＣＲＣコードは、誤り検出機能を備えるだけでなく、メッセージ認証コードとしての役割をも果たす。この変調されたＣＲＣコードは、送信ノードと受信ノードの両方が、線形フィードバック・シフト・レジスタ（ＬＦＳＲ:Linear Feedback Shift Register）の状態を、関与ノードのみが知る共通鍵に対応して現在の情報信号のために生成された値に初期設定することによって生成される。その後、ＬＦＳＲは新しいデジタル情報信号のためにクロック制御される。受信ノードは、更に、ＣＲＣ検査の不合格件数をカウントするスライディング・ウィンドウ(sliding window)を定義する。スライディング・ウィンドウ内のＣＲＣ検査の不合格件数が所定のしきい値を超えた場合、送信ノードが無許可の者である可能性を示す警報が受信ノードで起動される。その場合、受信ノードは、送信ノードに対して新しい認証要求を出すことができる。
【００１０】
本開示の発明について、添付図面を参照しながら説明する。添付図面には、本発明の重要な実施の形態例が示されており、参照により本明細書に組み込まれる。
【００１１】
（好ましい本実施形態例の詳細な説明）
本出願の多くの新規な開示について、現在の好ましい実施形態例を具体的に参照しながら説明する。しかし、このクラスの実施形態は、本明細書に記載の新規に開示される多くの効果的な使用のほんの数例を示すに過ぎないことを理解されたい。一般に、本出願の明細書に記載の内容は、様々な請求される発明のいずれについても必ずしも範囲を限定してないない。更に、記載内容の中には、ある発明の特徴のあるものには適用されるが他の特徴には適用されないものもある。
【００１２】
図１を参照すると、デジタル通信信号（以下ペイロード(payloads)３０と呼ぶ）が通信チャネル１５を介して送信ノード１０から受信ノード２０に送信される。この通信チャネル１５は、有線チャネルであっても無線チャネルであってもよい。各ペイロード３０は、一般には、たとえば使用する通信チャネルを指定するペイロード・ヘッダ(header)３２と、送信ノード１０から受信ノード２０に送信される、たとえば音声やデータなどの情報を含むペイロード本体(body)３４と、誤り検出コード３６ａとから成る。
【００１３】
これらの誤り検出コード３６ａによって、対応するペイロード３０に含まれる情報３４の信頼性の高い送信が保証される。例えば、誤り検出コード３６ａの１つのタイプは、ＣＲＣコードである。ＣＲＣコード３６ａは、一般には、線形フィードバック・シフト・レジスタ（ＬＦＳＲ）４５とＣＲＣ演算論理回路４８とから成る回路４０で生成される。現在のペイロード３０のＣＲＣコード３６ａを計算する前に、ＬＦＳＲ４５を、例えば送信ノード１０のアドレスの所定数のビットから成る既知の状態に初期化する。その後、ＬＦＳＲ４５は、ＣＲＣ演算論理回路４８がＣＲＣコード３６ａを計算するために使用するフィードバック要素を提供する。このＣＲＣコード３６ａは、ペイロード本体３４に付加され、受信ノード２０に送信される。
【００１４】
受信ノード２０は、ペイロード３０を受け取ると、送信ノード１０と同じ演算を行う。例えば、各受信ペイロード３０について、受信ノード１０はＬＦＳＲ４５を送信ノード１０が行ったのと同じ状態に初期設定し、対応するＣＲＣ演算論理回路４８が、受信ノード２０内のＬＦＳＲ４５によって提供されたフィードバック要素を使用して、その受信ペイロード３０のＣＲＣコード３６ｂを計算する。受信ノード２０によって計算されたＣＲＣコード３６ｂがペイロード３０に付加されたＣＲＣコード３６ａと同じ場合、ペイロード３０は正しく受信されたものとして受け入れられる。
【００１５】
ＣＲＣコード３６を計算する際に使用されるフィードバック要素７０のＬＦＳＲ４５による生成の例を、図２Ａに示す。ＬＦＳＲ４５は、カスケード・メモリ・ボックス６０ａ及び６０ｂと、フィードバック回路網とから成り、各メモリ・ボックス６０ａ及び６０ｂの内容にまず、それぞれフィードバック係数６５ａ及び６５ｂが乗じられ、次に加算器６８によって合計されてフィードバック要素７０が得られ、これをＣＲＣ演算論理回路４８がＣＲＣコード３６を計算するために使用する。ＬＦＳＲ４５内のメモリ・ボックス６０ａ及び６０ｂの数を、ＬＦＳＲ４５の長さと呼ぶ。更に、メモリ・ボックス６０ａ及び６０ｂの内容は、ＬＦＳＲ４５の状態を形成する。
【００１６】
ＬＦＳＲ４５の長さが２の場合、各メモリ・ボックス６０ａ及び６０ｂの初期状態は両方とも１であり、それぞれのフィードバック係数６５ａ及び６５ｂは両方とも１であり、出力には図２Ｂに示すような線形回帰シーケンスが形成される。これは、第２のメモリ・ボックス６０ａの内容、すなわち１に、第１のフィードバック係数６５ａである１を掛けて、第１の数値、すなわち１を得て、第２のメモリ・ボックス６０ａの内容である１を第１のメモリ・ボックス６０ｂに送ることによって行われる。それと同時に、第１のメモリ・ボックス６０ｂの初期内容１が出力され、これに第２のフィードバック係数６５ｂである１を掛けて、第２の数値を得る。その後、加算器６８が第１の数値と第２の数値を足し（１＋１＝２）、この和が第２のメモリ・ボックス６０ａにロードされる。このプロセスを繰り返して、図２Ｂに示す線形回帰シーケンスができる。この線形回帰シーケンスをＣＲＣ演算論理回路４８が使用して、図１に示すＣＲＣコード３６を計算する。
【００１７】
ＣＲＣコード３６の生成は、以下の数式で記述することができる。例えば、送信ノード１０から受信ノード２０に送信する（ｉ番目のペイロード３０の）情報を（二進）多項式、
【００１８】
【数１】
0003728500.tif 000002
で表すと、ペイロード３０に付加するＣＲＣビット３６は、同様に、
【００１９】
【数２】
0003728500.tif 000003
のような他の多項式で表すことができる。Ｗ（Ｄ）は、Ｕ（Ｄ）と生成多項式、
【００２０】
【数３】
0003728500.tif 000004
から、たとえば以下の計算を行うことによって求めることができる。
【００２１】
Ｗ（Ｄ）＝（Ｄn-kＵ（Ｄ））ｍｏｄ  ｇ（ｄ）              （式１）
従って、情報３４とＣＲＣビット３６の両方を含む最終的な送信ペイロード３０（以下、コードワードと呼ぶ）は、Ｕ（Ｄ）とＷ（Ｄ）を形成するビットの連結である。このコードワードを多項式、
【００２２】
【数４】
0003728500.tif 000005
で表すと、Ｖ（Ｄ）は以下のように定義することができる。
【００２３】
Ｖ（Ｄ）＝ＤN-kＵ（Ｄ）＋Ｗ（Ｄ）                            （式２）（多項式Ｖ（Ｄ）としての）コードワードの計算は、フィードバック多項式ｇ（Ｄ）を使用する図１及び図２Ａに示すタイプのＬＦＳＲ４５から成る回路４０が容易に実現することができる。
【００２４】
次に図３を参照すると、本発明の好ましい実施により、送信情報３４の複雑さを増すことなく各送信ペイロード３０ごとに送信ノード１０の識別情報を検証するメッセージ認証コード（ＭＡＣ）を設けるために、ＣＲＣコード３６ａを、Ｋという共通鍵を共用する当事者のみが知るシーケンスによって変調することができる。この変調されたＣＲＣコード３６ａがＭＡＣになる。
【００２５】
この変調されたＣＲＣコードは、送信ノードと１０受信ノード２０の両方が、初期のＬＦＳＲ４５状態をＳと呼ばれる慣用値ではなく鍵付き値５８に修正することによって入手することができる。従って、各ペイロード３０について、ＬＦＳＲ４５の初期状態を初期値Ｓに設定するのではなく、送信する各ペイロード３０ごとにＬＦＳＲ４５の初期値を変更（変調）することができる。例えば、ｉ番目のペイロードの初期状態Ｊiを、次のような鍵付き値５８に設定することができる。
【００２６】
【数５】
0003728500.tif 000006
【００２７】
上式で、Ｘi（Ｋ）はペイロードの添数ｉと、送信ノード１０と受信ノード２０がペイロード３０の伝達の前に秘密に交換した鍵Ｋとに応じて異なる値であり、
【００２８】
【数６】
0003728500.tif 000007
は、ビットごとのＸＯＲ演算を示し、ＳはＸi（Ｋ）に加えられるモジュロ２である。明らかに、異なるＫについて生成されるシーケンス｛Ｘi（Ｋ）｝は異なることになる。
【００２９】
図３に示すように、Ｘi（Ｋ）は、鍵付き擬似ノイズ発生器（ＰＮ発生器）５０を使用して擬似記号Ｒiを発生することによって生成される。その後、マッピング論理回路５５が鍵付きＰＮ発生器５０の記号ＲiをＸi（Ｋ）記号にマップする。ＰＮ発生器５０は、例えば、適切なフィードバック多項式を使用する追加のＬＦＳＲ５２とすることができる。更に、鍵Ｋは、この追加のＬＦＳＲ５２の初期状態とするか、又はこの初期状態にフィードバック多項式の記述を加えたものとすることもできる。
【００３０】
原理的に、Ｘi（Ｋ）は比較的単純な関数とすることができる。例えば、Ｘi（Ｋ）は、１／２の確率で全ゼロと全１の間でランダムに変化することができる。これは、追加のＬＦＳＲ５２の状態をＫで開始し、新規のペイロード３０ごとに追加のＬＦＳＲ５２をクロック制御することによって容易に実現される。例えば、二進ＰＮ発生器５０を想定すると、マッピング論理回路５５はＲi＝０をＸi（Ｋ）＝００．．．０にマップし、Ｒi＝１をＸi（Ｋ）＝１１．．．１にマップする。これは、各ペイロード３０にどの値を使用するかを敵が正しく推量する確率が１／２であることを意味する。この確率を下げるために、Ｘi（Ｋ）を確率が等しいＮ個の値のうちのいずれかをとるように変調し、敵が成功する確率が１ペイロードについて１／Ｎの確率にしかならないようにすることができる。Ｘi（Ｋ）がどれだけ多くの値を取ることができても、マッピング論理回路５５は、平均してすべての可能な変調記号Ｘi（Ｋ）が等しい頻度で発生するように、ＰＮ発生器５０の記号Ｒiを可能な変調記号Ｘi（Ｋ）にマップする必要がある。マッピング論理回路５５は、ＰＮ発生器５０からのシンボルＲiの記号(alphabet)とＸi（Ｋ）シンボルの記号との間で単純な選定を可能にすることが好ましい。従って、マッピング論理回路５５は、単純なテーブルルックアップ回路、又は対応するブール関数を実現する直接のデジタル回路を介して記号Ｒiを記号Ｘi（Ｋ）にマップすることができる。場合によっては、２つの記号が一致する可能性があり、従って、マッピング論理回路５５は実質的に除去することもできることに留意されたい。
【００３１】
次に、図５に記載のステップと共に説明する図４を参照すると、変調されたＣＲＣコード３６を使用してメッセージ認証手続きを実施することができる。送信ノード１０が現在のペイロード３０の変調されたＣＲＣコード３６ａを計算すると（ステップ５００）、送信ノード１０はこの変調されたＣＲＣコード３６ａをペイロード３０に付加し（ステップ５０５）、このペイロード３０を送信するデータ３４を含めて受信ノード２０に送信する（ステップ５１０）。受信ノード２０では、受信ノード２０が、送信ノード１０で行われたプロセスを繰り返し、受信されたペイロード３０のＣＲＣコード３６ｂを計算する（ステップ５１５）。算出されたＣＲＣコード３６ｂが受信ＣＲＣコード３６ａと一致しない場合（ステップ５２０）、ＣＲＣ検査は失敗し（ステップ５２５）、ペイロード３０は正しく受信されたとはみなされない（ステップ５３０）。算出されたＣＲＣコード３６ｂが受信ＣＲＣコード３６ａと一致する場合、ＣＲＣ検査は失敗せず（ステップ５３５）、ペイロード３０は正しく受信されたと見なされる（ステップ５４０）。
【００３２】
いずれの場合も（ステップ５３０又はステップ５４０）、現在の受信ペイロード３０と、ＣＲＣ検査が失敗したか否かを示す標識(indication)３８が、受信ノード２０でスライディング・ウィンドウ８０にロードされる（ステップ５４５）。それと同時に、「最も古い(oldest)」ペイロード３０がスライディング・ウィンドウ８０から廃棄される（ステップ５５０）。その後、受信ノード２０内の計算論理回路８５が、スライディング・ウィンドウ８０内のＣＲＣ検査の失敗件数を計算する（ステップ５５５）。計算論理回路８５は、新しいペイロード３０が追加され古いペイロード３０が除去されるたびに、すべてのペイロード３０にわたって、スライディング・ウィンドウ８０内のＣＲＤ検査の失敗件数をカウントすることができる。あるいは、計算論理回路８５は、廃棄されたペイロード３０の計算への付加量を除去し、新しいペイロード３０の付加量を計算に加えることが好ましい。
【００３３】
スライディング・ウィンドウ８０内のＣＲＣ検査の失敗件数が所定のしきい値８８を超えた場合（ステップ５６０）、受信ノード２０内の警報が起動される（ステップ５６５）。超えない場合（ステップ５６０）、受信ノード２０は送信ノード１０から新しいペイロード３０を受け入れ続ける（ステップ５１５）。受信ノード２０内の警報９０が起動された場合（ステップ５６５）、受信ノード２０は、送信ノード１０に対して新しい認証要求を出して、送信ノード１０が敵に置き換えられていないことを確認する（ステップ５７０）。一般に、Ｘi（Ｋ）の取りうる値の数、しきい値８８の設定、及びスライディング・ウィンドウ８０のサイズによって、敵による攻撃に対するセキュリティ・レベルが決まる。
【００３４】
代替の実施形態としては、ＣＲＣ誤り検出コード３６を変調する代わりに、送信エラーを訂正することができる誤り訂正コードを鍵Ｋで変調することができる。ｇ（Ｄ）の適切な選定によって、誤り訂正コードを得ることができる。一般的な誤り訂正コードの一例は、バースト誤り訂正ファイヤ・コード(Fire code)である。
【００３５】
当業者ならわかるように、本出願に記載の本発明の概念は、広範囲な適用分野にわたって修正及び変更することができる。従って、特許の内容の範囲は、上記で例示した特定の開示のいずれにも限定されず、特許請求の範囲によって規定される。
【図面の簡単な説明】
【図１】  誤り検出コードを含むペイロードの送信ノードから受信ノードへの送信を示す図である。
【図２Ａ】  図１に示すペイロードに含まれた誤り検出コードを計算する際に使用する線形回帰シーケンスの生成を示す図である。
【図２Ｂ】  図１に示すペイロードに含まれた誤り検出コードを計算する際に使用する線形回帰シーケンスの生成を示す図である。
【図３】  本発明の好ましい実施形態による、メッセージ認証のための変調された誤り検出コードの生成を示す図である。
【図４】  図３に示す変調された誤り検出コードを使用したメッセージ認証手続きを示す図である。
【図５】  図４に示すメッセージ認証手続きのステップを示す図である。
【図１】
0003728500.tif 000008
【図２Ａ】
0003728500.tif 000009
【図２Ｂ】
0003728500.tif 000010
【図３】
0003728500.tif 000011
【図４】
0003728500.tif 000012
【図５】
0003728500.tif 000013