(57)【要約】  カウンタベース暗号システムにおける認証付き暗号化を改善するための方法とシステムを示す。本発明の実施形態は、認証付き暗号化の真正性と秘匿性の両方の目的を達成するための安全で効率的な手段を提供し、殆どのブロック暗号動作モード、例えば、ＣＢＣ、ＣＦＢ、及びＣＴＲ、並びに殆どの対称鍵暗号関数、例えば、ＡＥＳ、ＤＥＳ、及びＲＣ５に対応する。具体的には、データ依存初期化ベクトルによるブロック暗号を使用することにより、特に、カウンタベースの暗号システム内のカウンタがリセットされる可能性があるシナリオにおいて、秘匿性の目的が達成され、無線送信の安全性が損なわれない。【選択図】  図４
2020513117.tif 000002
【特許請求の範囲】
【請求項１】
改良型認証付き暗号化のためのシステムであって、
第１の暗号関数、プレーンテキストの複数のブロック、及び鍵を使用して、暗号出力の１つ以上のブロックを生成し、
前記暗号出力の１つ以上のブロックに基づいて第１のタグを生成し、
カウンタ及び前記第１のタグに基づいて第１の初期化ベクトルを生成し、
第２の暗号関数、前記プレーンテキストの複数のブロック、前記第１の初期化ベクトル、及び前記鍵を使用して、暗号文の複数のブロックを生成し、前記第２の暗号関数は、ブロック暗号であり、前記第１の初期化ベクトル及び前記鍵は、前記第２の暗号関数への入力であるように構成された暗号化及び認証コード生成モジュールと、
前記暗号文の複数のブロック及び前記第１のタグを送信するように構成された送信機と、
前記暗号文の複数のブロック及び前記第１のタグを受信するように構成された受信機と、
前記第２の暗号関数、前記暗号文の複数のブロック、前記第１の初期化ベクトル、及び前記鍵を使用して、前記プレーンテキストの複数のブロックを生成し、
前記第１の暗号関数、前記プレーンテキストの複数のブロック、及び前記鍵を使用して、前記暗号出力の１つ以上のブロックを生成し、
前記暗号出力の１つ以上のブロックに基づいて第２のタグを生成し、
前記第１のタグと前記第２のタグを比較するように構成された復号及び認証コード検証モジュールと、
を備えるシステム。
【請求項２】
請求項１に記載のシステムにおいて、
前記第１の暗号関数は、セキュアハッシュ関数であり、前記第２の暗号関数は、ブロック暗号エンジンを含み、前記ブロック暗号エンジンは、対称鍵暗号関数を含むシステム。
【請求項３】
請求項２に記載のシステムにおいて、
前記セキュアハッシュ関数は、セキュアハッシュアルゴリズム（Secure Hash Algorithm：ＳＨＡ−ｘ）、メッセージダイジェスト（Message Digest：ＭＤｘ）、ＲＡＣＥ完全性プリミティブ評価メッセージダイジェスト（RACE Integrity Primitives Evaluation Message Digest：ＲＩＰＥＭＤ−ｘ）、及びＢＬＡＫＥ−ｘからなるグループから選択されるシステム。
【請求項４】
請求項１に記載のシステムにおいて、
前記第１の暗号関数は、ブロック暗号であり、前記第２の初期化ベクトル及び前記鍵は、前記第１の暗号化関数への入力であり、前記第１の初期化ベクトルの長さは、前記第２の初期化ベクトルの長さに等しいシステム。
【請求項５】
請求項４に記載のシステムにおいて、
前記第１及び第２の暗号関数のそれぞれは、伝播暗号ブロックチェイニング（Propagating Cipher Block Chaining：ＰＣＢＣ）、カウンタ（Counter：ＣＴＲ）、出力フィードバック（Output Feedback：ＯＦＢ）、暗号フィードバック（Cipher Feedback：ＣＦＢ）、及び暗号ブロックチェイニング（Cipher Block Chaining：ＣＢＣ）からなるグループから選択されるシステム。
【請求項６】
請求項４に記載のシステムにおいて、
前記第１及び第２の暗号関数のそれぞれは、ブロック暗号エンジンを含み、前記ブロック暗号エンジンは、対称鍵暗号関数を含むシステム。
【請求項７】
請求項６に記載のシステムにおいて、
前記対称鍵暗号関数は、データ暗号化標準（Data Encryption Standard：ＤＥＳ）、高度暗号化標準（Advanced Encryption Standard：ＡＥＳ）、国際データ暗号化アルゴリズム（International Data Encryption Algorithm：ＩＤＥＡ）、ＡＥＳ１２８、ＡＥＳ１９２、ＡＥＳ２５６、トリプルＤＥＳ、ＲＣ５、及びブローフィシュからなるグループから選択されるシステム。
【請求項８】
請求項４に記載のシステムにおいて、
前記第１の初期化ベクトルは、前記第２の初期化ベクトルと前記第１のタグとのＸＯＲであり、前記第１のタグは、前記第２の初期化ベクトルの長さまでゼロ詰めされているシステム。
【請求項９】
請求項４に記載のシステムにおいて、
前記第１の初期化ベクトルは、前記第２の初期化ベクトルの一部と前記第１のタグの一部との連結であるシステム。
【請求項１０】
請求項４に記載のシステムにおいて、
前記第２の初期化ベクトルは、前記第１のタグであり、前記第１のタグは、前記第１の初期化ベクトルの長さにゼロ詰めされているシステム。
【請求項１１】
請求項４に記載のシステムにおいて、
前記暗号出力の１つ以上のブロックの最後のブロックは、前記暗号出力の１つ以上のブロックの先行する２つ以上のブロックの関数であり、前記先行する２つ以上のブロックは、並列に生成されるシステム。
【請求項１２】
請求項１に記載のシステムにおいて、
前記カウンタは、不規則にインクリメントされるシステム。
【請求項１３】
請求項１に記載のシステムにおいて、
前記カウンタは、ＧＰＳ信号からの時間フィールド、チャネル番号、及びスロット開始時間のうちの１つ又は複数に基づいているシステム。
【請求項１４】
請求項１に記載のシステムにおいて、
前記第１のタグは、前記暗号出力の１つ以上のブロックの一部であるシステム。
【請求項１５】
改良型認証付き暗号化のための暗号化及び認証コード生成のための方法であって、
第１の暗号関数、プレーンテキストの複数のブロック、及び鍵を使用して、暗号出力の１つ以上のブロックを生成することと、
前記暗号出力の１つ以上のブロックに基づいてタグを生成することと、
カウンタ及び前記タグに基づいて初期化ベクトルを生成することと、
第２の暗号関数、前記プレーンテキストの複数のブロック、前記初期化ベクトル、及び前記鍵を使用して、暗号文の複数のブロックを生成し、前記第２の暗号関数は、ブロック暗号であり、前記初期化ベクトル及び前記鍵は、前記第２の暗号関数への入力であることと、
前記暗号文の複数のブロック及び前記タグを送信することと、
を含む方法。
【請求項１６】
請求項１５に記載の方法において、
前記第１の暗号関数は、セキュアハッシュ関数であり、前記第２の暗号関数は、ブロック暗号エンジンを含み、前記ブロック暗号エンジンは、対称鍵暗号関数を含む方法。
【請求項１７】
請求項１５に記載の方法において、
前記第１の暗号関数は、ブロック暗号であり、前記第２の初期化ベクトル及び前記鍵は、前記第１の暗号化関数への入力であり、前記第１の初期化ベクトルの長さは、前記第２の初期化ベクトルの長さに等しい方法。
【請求項１８】
改良型認証付き暗号化のための復号及び認証コード検証のための方法であって、
暗号文の複数のブロック及び第１タグを受信することと、
第１の暗号関数、前記暗号文の複数のブロック、初期化ベクトル、及び鍵を用いて、プレーンテキストの複数のブロックを生成し、前記初期化ベクトル及び前記鍵は、前記第１の暗号関数への入力であり、前記第１の暗号関数は、ブロック暗号であり、前記初期化ベクトルは、カウンタ及び前記第１のタグに基づいていることと、
第２の暗号関数、前記プレーンテキストの複数のブロック、及び前記鍵を使用して、暗号出力の１つ以上のブロックを生成することと、
前記暗号出力の１つ以上のブロックに基づいて第２のタグを生成することと、
前記第１のタグと前記第２のタグを比較することと、
を含む方法。
【請求項１９】
請求項１８に記載の方法において、
前記第１の暗号関数は、セキュアハッシュ関数であり、前記第２の暗号関数は、ブロック暗号エンジンを含み、前記ブロック暗号エンジンは、対称鍵暗号関数を含む方法。
【請求項２０】
請求項１８に記載の方法において、
前記第１の暗号関数は、ブロック暗号であり、前記第２の初期化ベクトル及び前記鍵は、前記第１の暗号化関数への入力であり、前記第１の初期化ベクトルの長さは、前記第２の初期化ベクトルの長さに等しい方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムの分野に関し、特に、安全で効率的な暗号化を必要とする通信システムの分野に関する。
【背景技術】
【０００２】
無線トラフィック（over-the-air traffic：ＯＴＡ）を送信する通信システムでは、通常、送信されるデータの秘匿性と安全性を確保するために、何らかの形式の暗号化が必要である。更に、多くのシステムは、種々雑多なデータ（miscellaneous data）又は送信されたデータの変更されたバージョンが受信者によって処理されることを防止するために、安全な認証を必要とする。
【０００３】
認証付き暗号化方式は、暗号文がメッセージの秘匿性（privacy）と真正性（authenticity）の両方を保護することを目的として、メッセージを暗号文と認証コードに変換するメカニズムである。ここ数年、認証付き暗号化の出現が暗号化の目的として認識され、様々な通信システムのための多数の方式が開発されている。
【０００４】
認証付き暗号化の１つの形式は、プレーンテキストデータに基づき、一方が真正性、他方が秘匿性を提供する２つのパスが作成される２パス方式（two-pass scheme）を採用する。図１〜図３は、認証付き暗号化のための代表的な従来技術のブロック図であり、これらは、それぞれブロック暗号を使用してデータを暗号化し、メッセージ認証コード（message authentication code：ＭＡＣ）を生成し、ＭＡＣ及び暗号文を送信して、真正性及び秘匿性を提供する。一般に、ブロック暗号は、プレーンテキスト、初期化ベクトル（initialization vector：ＩＶ）、及び鍵によって暗号文を生成し、ここで、鍵は、セキュアコンポーネントであり、暗号文は、無線（over-the-air）で送信される。ここで考察する２パス方式は、暗号化とＭＡＣ生成関数の両方で同じ鍵を使用する。
【０００５】
図１は、「ＭＡＣ−ｔｈｅｎ−Ｅｎｃｒｙｐｔ」法のブロック図であり、ここでは、プレーンテキストのハッシュを使用してＭＡＣを生成し、次に、ブロック暗号を使用して、そのプレーンテキストとＭＡＣの関数を暗号化することによって暗号文が生成される。プレーンテキスト／ＭＡＣ入力に加えて、ブロック暗号は、初期化ベクトル（ＩＶ）と鍵に依存する。ＭＡＣと暗号文は、無線で送信される。
【０００６】
図２は、このスキームの変形である「Ｅｎｃｒｙｐｔ−ａｎｄ−ＭＡＣ」法のブロック図であり、ここでは、まず、ブロック暗号を使用してプレーンテキストを暗号化して暗号文を生成し、次にハッシュ関数を使用して独立した処理によってＭＡＣを生成する。暗号文とＭＡＣは、無線で送信される。
【０００７】
図３は、一般的に関連データによる認証付き暗号化（authenticated encryption with associated data）と呼ばれる別の変形例のＥＡＸ動作モードを示す。この変形例では、プレーンテキストメッセージの秘匿性に加えて、プレーンテキストと追加ヘッダ文字列の真正性が保証される。図３に示すように、無線で送信される暗号文は、ブロック暗号によってシングルパス（single-pass）を使用して生成されるが、ＭＡＣは、ＩＶ、ＯＴＡ暗号文、及びヘッダ文字列の暗号化表現の関数として生成され、これらは、それぞれプレーンテキストを暗号化するために使用されるものとは異なるタイプのブロック暗号を使用して処理される。
【０００８】
従来技術の手法のそれぞれは、ブロック暗号を使用し、具体的には、カウンタベースのブロック暗号を使用でき、これらは、効率性のために特に重要なクラスのブロック暗号である。これらのカウンタベースの暗号システムは、送信機及び受信機の両方で既知の時間又は単純なインクリメントカウンタ（又はそのカウンタの関数）を利用してＩＶを生成する。このシステムが一旦同期されると、ＩＶを無線で送信する必要がなくなり、オーバーヘッドが削減される。メッセージペイロードが短い通信システムでは、このオーバーヘッドが支配的であり、スループットが制約されたシステムでは、これを削減することが最も重要である。
【０００９】
ここで、異なるプレーンテキストデータに（共通のカウンタ値から生成される）共通のＩＶを使用すると、多くのブロック暗号モードの安全性が損なわれる可能性があるため、カウンタベースのシステムでは、カウンタを繰り返さないことが重要である。図１〜図３に示すように、従来技術の手法のいずれにおいても、同じカウンタ値の再使用を回避することが困難であるため、カウンタベースのＩＶが繰り返されないことを保証できない。
【００１０】
実際には、カウンタ値は、複数のシナリオで繰り返される可能性があり、その結果、プレーンテキストの複数のブロックを暗号化するために同一のＩＶが使用されることになる。単純なカウンタは、リブート又は再初期化操作によってリセットできる。継続的サービスが利用できない場合、時間ベースのカウンタが繰り返されることがある。一例として、分散された地点での時間基準のためにＧＰＳシステムを利用する通信システムは、ＧＰＳが利用不能な場合、概算時間の条件下で開始され、後に、ＧＰＳが利用可能になると、時間ベースを調整し戻す必要があると判定することがある。この状況では、時間ベースのＩＶが繰り返され、これによって無線送信の安全性が損なわれる。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
カウンタベースのブロック暗号は、実装が効率的であり、無線送信が最小化されるため、使用が増加している。したがって、カウンタベースの暗号システムにおいて、繰り返されない初期化ベクトルを生成する必要がある。
【課題を解決するための手段】
【００１２】
本明細書に開示する実施形態は、改良型認証付き暗号化、具体的には、カウンタベースの暗号システムにおいて非反復ＩＶを生成するためのシステム及び方法を提供する。具体的には、秘匿性の目的を達成するために使用されるＩＶは、カウンタベースのＩＶ及び認証コードの関数として生成してもよい。すなわち、ＩＶは、カウンタ（繰り返されることがある）と認証タグ（データに依存しているため、繰り返されない）の両方に基づいているため、上述のように種々の条件下でリセットされる可能性がある、より効率的なカウンタベースの暗号システムにおいて使用された場合でも、ＩＶが繰り返されることはない。
【００１３】
一実施形態では、改良型認証付き暗号化のためのシステムは、暗号化及び認証コード生成モジュールを含み、暗号化及び認証コード生成モジュールは、第１の暗号関数、プレーンテキストの複数のブロック、及び鍵を使用して、暗号出力の１つ以上のブロックを生成し、暗号出力の１つ以上のブロックに基づいて第１のタグを生成し、カウンタ及び第１のタグに基づいて第１の初期化ベクトルを生成し、第２の暗号関数、プレーンテキストの複数のブロック、第１の初期化ベクトル、及び鍵を使用して、暗号文の複数のブロックを生成するように構成される。第２の暗号関数は、ブロック暗号であってもよく、第１の初期化ベクトル及び鍵は、第２の暗号関数への入力であってもよい。送信機は、暗号文の複数のブロック及び第１のタグを送信するように構成される。受信機は、暗号文の複数のブロック及び第１のタグを受信するように構成される。復号及び認証コード検証モジュールは、第２の暗号関数、暗号文の複数のブロック、第１の初期化ベクトル、及び鍵を使用して、プレーンテキストの複数のブロックを生成し、第１の暗号関数、プレーンテキストの複数のブロック、及び鍵を使用して、暗号出力の１つ以上のブロックを生成し、暗号出力の１つ以上のブロックに基づいて第２のタグを生成し、第１のタグと第２のタグを比較し、比較結果が等しい場合、認証の成功を宣言するように構成される。
【００１４】
これらの例示的な実施形態は、本主題の範囲を限定又は定義するためではなく、その理解を補助するための例として開示される。例示的な実施形態は、詳細な説明に記述され、ここに更なる実施例が提示される。様々な実施形態によって提供される利点は、本明細書を精査することにより及び／又は特許請求された主題の１つ以上の実施形態を実施することによって、更に理解される。
【００１５】
本明細書に記載する実施形態のこれら及び他の特徴、側面、及び利点は、以下の詳細な説明、特許請求の範囲、及び添付の図面を参照することによって更に理解される。
【図面の簡単な説明】
【００１６】
【図１】認証付き暗号化のための代表的な従来技術の一例のブロック図である。
【図２】認証付き暗号化のための代表的な従来技術の別の例のブロック図である。
【図３】認証付き暗号化のための代表的な従来技術の更に別の例のブロック図である。
【図４】本発明の一実施形態に基づく、改良型認証付き暗号化のための暗号化及び認証コード生成のためのブロック図である。
【図５】本発明の一実施形態に基づく、改良型認証付き暗号化のための復号及び認証コード検証のためのブロック図である。
【図６】本発明の他の実施形態に基づく、改良型認証付き暗号化のための暗号化及び認証コード生成のためのブロック図である。
【図７】本発明の他の実施形態に基づく、改良型認証付き暗号化のための復号及び認証コード検証のためのブロック図である。
【図８Ａ】本発明の実施形態に基づく、データ依存初期化ベクトルを生成するためのブロック図である。
【図８Ｂ】本発明の実施形態に基づく、データ依存初期化ベクトルを生成するためのブロック図である。
【図８Ｃ】本発明の実施形態に基づく、データ依存初期化ベクトルを生成するためのブロック図である。
【図９】本発明の一実施形態に基づく、暗号フィードバック（ＣＦＢ）モードを使用する、改良型認証付き暗号化のための暗号化及び認証コード生成のためのブロック図である。
【図１０】本発明の一実施形態に基づく、暗号フィードバック（ＣＦＢ）モードを使用する、改良型認証付き暗号化のための、復号及び認証コード検証のためのブロック図である。
【図１１】本発明の他の実施形態に基づく、カウンタ（ＣＴＲ）モードを使用する、改良型認証付き暗号化のための暗号化及び認証コード生成のためのブロック図である。
【図１２】本発明の一実施形態に基づく、改良型認証付き暗号化のための暗号化及び認証コード生成のための方法のフローチャートである。
【図１３】本発明の一実施形態に基づく、改良型認証付き暗号化のための復号及び認証コード検証のための方法のフローチャートである。
【図１４】本発明の一実施形態に基づく、改良型認証付き暗号化のためのシステムのブロック図である。
【発明を実施するための形態】
【００１７】
図面においては、同一又は類似の要素には、同様の符号を付している。
【００１８】
図４は、本発明の一実施形態に基づく、改良型認証付き暗号化のための暗号化及び認証コード生成のためのブロック図である。図４に示す２パス改良型認証付き暗号方式は、認証コードの生成に用いられる第１のブロック暗号暗号化モジュール４２０と、改良型認証付き暗号方式の暗号化ステップに用いられる第２のブロック暗号暗号化モジュール４５０とを備えている。
【００１９】
図４に示すように、第１のブロック暗号暗号化モジュール４２０には、初期化ベクトル（initialization vector：ＩＶ）４６０と鍵４４０に加えてプレーンテキスト４１０が入力される。第１のブロック暗号暗号化モジュール４２０は、暗号文４３０を生成する。一実施形態では、暗号文４３０の一部が認証コード又はタグ４３５として使用される。
【００２０】
データに依存するタグ４３５は、ＩＶ４６０と組み合わされて、第２のブロック暗号暗号化モジュール４５０の新しいＩＶ４６５として使用される。第２のブロック暗号暗号化モジュール４５０は、データ依存ＩＶ４６５と同じ鍵４４０を使用してプレーンテキスト４１０を暗号化し、暗号文４７０を生成する。一実施形態では、連結された暗号文４７０及びタグ４３５は、送信機４９０及びアンテナ４９５を使用して無線で送信される。他の実施形態として、暗号文４７０及びタグ４３５は、別々に送信してもよい。
【００２１】
図５は、本発明の一実施形態に基づく、改良型認証付き暗号化のための復号及び認証コード検証のためのブロック図である。この実施形態は、図４に示し上述したものと同様の幾つかの特徴及び／又は構成要素を含む。これらの特徴及び／又は構成要素の少なくとも幾つかは、このセクションでは個別に説明しない。
【００２２】
図５に示す復号及び認証コード検証システムは、図４に示す暗号及び認証コード生成システムの逆である。一実施形態では、受信機５９０は、アンテナ５９５を使用して、暗号文５７０及びタグ５３５−１を含む連結された無線送信５８０を受信する。
【００２３】
初期化ベクトル５６０は、ＯＴＡタグ５３５−１と組み合わされ、これによりデータ依存ＩＶ５６５が生成され、データ依存ＩＶ５６５は、鍵５４０と共にブロック暗号復号モジュール５５０に入力され、ブロック暗号復号モジュール５５０は、ＯＴＡ暗号文５７０が与えられるとプレーンテキスト５１０を生成する。復号されたプレーンテキスト５１０は、ブロック暗号暗号化モジュール５２０によって、鍵５４０と元の初期化ベクトル５６０を用いて再暗号化され、暗号文５３０が生成される。一実施形態では、暗号文５３０の一部がタグ５３５−２として抽出される。このタグ５３５−２は、比較モジュール５８５を用いてＯＴＡタグ５３５−１と比較され、２つのタグが同一であることに基づいて認証が保証される。
【００２４】
図６は、本発明の他の実施形態に基づく、改良型認証付き暗号化のための暗号化及び認証コード生成のためのブロック図である。この実施形態は、図４及び図５に示し、上述したものと同様の幾つかの特徴及び／又は構成要素を含む。これらの特徴及び／又は構成要素の少なくとも幾つかは、このセクションでは個別に説明しない。
【００２５】
図６に示す改良型認証付き暗号化のための暗号化及び認証コード生成の実施形態は、図４に示す実施形態と同様であるが、ここでは、ブロック暗号暗号化モジュール４２０の代わりにセキュアハッシュ関数６２０を用いる。セキュアハッシュ関数６２０は、任意のバージョン（「ｘ」として示している）のセキュアハッシュアルゴリズム（Secure Hash Algorithm：ＳＨＡ−ｘ）、メッセージダイジェスト（Message Digest：ＭＤｘ）、ＲＡＣＥ完全性プリミティブ評価メッセージダイジェスト（RACE Integrity Primitives Evaluation Message Digest：ＲＩＰＥＭＤ−ｘ）、ＢＬＡＫＥ−ｘ、又は当技術分野で公知の他の任意のハッシュ関数であってもよい。セキュアハッシュ関数６２０は、プレーンテキスト入力６１０が与えられて固定長のハッシュ値６３０を生成し、タグ６３５は、ハッシュ値６３０の一部である。
【００２６】
包括的に言えば、図４及び図６の実施形態は、実施形態がカウンタベース暗号システムで使用される特定の暗号化関数に限定されないことを示している。すなわち、幾つかの実施形態では、認証付き暗号化の秘匿性の目的のための暗号関数は、ブロックベースの暗号であってもよい。一方、真正性の目的のために使用される暗号関数は、プレーンテキストを暗号文に変換できるいかなる関数であってよい。
【００２７】
図７は、本発明の一実施形態に基づく、改良型認証付き暗号化のための復号及び認証コード検証のためのブロック図である。この実施形態は、図４〜図６に示し、上述したものと同様の幾つかの特徴及び／又は構成要素を含む。これらの特徴及び／又は構成要素の少なくとも幾つかは、このセクションでは個別に説明しない。図７に示す実施形態は、図５に示す実施形態と同様であるが、ブロック暗号暗号化５２０の代わりにセキュアハッシュ関数７２０を用いる。
【００２８】
上述したように、幾つかの実施形態の利点は、図４〜図７に示す実施形態で使用されるブロック暗号モジュールのタイプによって制限されない。例えば、図５のブロック暗号モジュール５２０、５５０、図７のブロック暗号モジュール７５０は、伝播暗号ブロックチェイニング（Propagating Cipher Block Chaining：ＰＣＢＣ）、カウンタ（Counter：ＣＴＲ）、出力フィードバック（Output Feedback：ＯＦＢ）、暗号フィードバック（Cipher Feedback：ＣＦＢ）、及び暗号ブロックチェイニング（Cipher Block Chaining：ＣＢＣ）を含む対称鍵ブロック暗号のいずれかを用いてもよい。幾つかの実施形態では、真正性と秘匿性の両方の目的を達成するために、共通の対称鍵ブロック暗号を使用してもよく、他の実施形態では、改良型認証付き暗号化システム及び方法の第１のパス及び第２のパスのために別個の対称鍵ブロック暗号を使用してもよい。
【００２９】
図８Ａ、図８Ｂ、及び図８Ｃは、本発明の実施形態に基づく、図４〜図７のコンテキストで上述した、データ依存初期化ベクトルを生成するための異なる実施形態を示している。図８Ａにおいて、タグ８３５は、暗号文８３０の一部であり、初期化ベクトル８６０の長さにゼロ詰めされた後、カウンタベースの初期化ベクトル８６０とＸＯＲ演算されることにより、データ依存ＩＶ８６５が生成される。この実施形態は、カウンタベースのＩＶの冒頭部分がデータ依存タグによって拡張され、秘匿性の目的を達成するために使用されるＩＶが繰り返されないことを確実にする。
【００３０】
図８Ｂにおいて、タグ８３５は、暗号文８３０の一部であり、初期化ベクトル８６０の長さにゼロ詰め（zero-padded）された後、カウンタベース初期化ベクトル８６０の部分的にゼロ設定（zeroed-out）されたバージョンとＸＯＲ演算される。すなわち、カウンタベースのＩＶ８６０は、タグ８３５の長さに等しい長さの冒頭部分がゼロ設定され、次いでゼロ詰めされたタグとＸＯＲ演算され、この結果、データ依存ＩＶ８６５は、タグ８３５とカウンタベースのＩＶ８６０の一部との連結となる。
【００３１】
図８Ａ及び図８Ｂに示す実施形態では、カウンタベースのＩＶ８６０とタグ８３５の分割によって、カウンタ繰り返し間隔と認証コード強度との間のトレードオフを調整できる。一実施形態では、このトレードオフは、図８Ｃに示すように、暗号文８３０全体をタグ８３５として使用し、したがって、データ依存タグ８６５として使用することによって、認証コード強度が全面的に有利となるようにしてもよい。この実施形態では、カウンタベースのＩＶ８６０を使用しない（又は同義として、タグ８３５によるＸＯＲ演算の前に完全にゼロ設定される）ため暗号化及び復号処理のためにカウンタをインクリメントする必要がない。
【００３２】
図９は、本発明の一実施形態に基づく、暗号フィードバック（cipher feedback：ＣＦＢ）動作モードを使用する、改良型認証付き暗号化のための暗号化及び認証コード生成のためのブロック図である。この実施形態は、図４〜図６に示し、上述したものと同様の幾つかの特徴及び／又は構成要素を含む。これらの特徴及び／又は構成要素の少なくとも幾つかは、このセクションでは個別に説明しない。
【００３３】
図９に示す改良型認証付き暗号化ブロック図は、暗号フィードバック（ＣＦＢ）動作モードを使用して、秘匿性と真正性の両方の目的を達成し、これによって、より効率的でコンパクトなハードウェア及びソフトウェアの実装を可能にする。図９の左側の部分は、認証のためのＣＦＢ動作モードを示し、これは、ブロック暗号暗号化モジュール９２０がカウンタベースのＩＶ９６０と鍵９４０に基づいてキーストリーム（明示的に示していない）を生成することから開始され、このキーストリームは、加算器９２５を用いてプレーンテキストの第１のブロック９１０−１とＸＯＲ演算され、暗号文の第１のブロック９３０−１が生成される。
【００３４】
ＣＦＢに基づく認証プロセスの後続する各ステップは、前の段階で生成された暗号文を次のブロック暗号暗号化モジュールの初期化ベクトルとして使用することを含み、このブロック暗号暗号化モジュールは、後続するプレーンテキストのブロックとＸＯＲ演算されたキーストリームを生成して、後続の暗号文のブロックを生成する。ブロック暗号は、固定長の入力に対して動作してもよく、一実施形態では、プレーンテキストは、図９に示すように、必要な入力長の倍数になるようにゼロ詰めされる。
【００３５】
すなわち、プレーンテキストの最後の部分９１０−３は、ゼロ詰めされ、ブロック暗号暗号化モジュール９２０によって生成されたキーストリーム（図示せず）とＸＯＲ演算されて、暗号文の最後から２番目のブロック９３０−３が生成される。次に、この暗号文のブロックをＩＶとして使用して、ゼロのブロック９１０−４を暗号化し、暗号文の最後のブロック９３０−４を生成する。暗号文の最後のブロック９３０−４の一部は、認証コード又はタグ９３５として使用される。
【００３６】
タグ９３５は、カウンタベースのＩＶ９６０と組み合わされて、データ依存ＩＶ９６５を生成し、図８に関連して説明した方法のうちの１つを使用できる。新しいＩＶ９６５の生成の後、新しいＩＶ９６５は、図９の右側に示されるプロセスの暗号化部分で使用され、プレーンテキストの複数のブロック（９１０−１、９１０−２、９１０−３）から、暗号文の複数のブロック（９７０−１、９７０−２、９７０−３）のそれぞれが生成される。暗号文のブロック及びタグ９３５は、無線で送信される。
【００３７】
ブロック暗号暗号化モジュール９２０は、一般に使用される多くの対称鍵暗号関数のうちの任意の関数を使用して、キーストリーム（図９には示していない）を生成でき、このキーストリームは、プレーンテキストのブロックとＸＯＲ演算される。幾つかの実施形態では、プレーンテキストを暗号化するために、データ暗号化標準（Data Encryption Standard：ＤＥＳ）、高度暗号化標準（Advanced Encryption Standard：ＡＥＳ）、国際データ暗号化アルゴリズム（International Data Encryption Algorithm：ＩＤＥＡ）、ＡＥＳ１２８、ＡＥＳ１９２、ＡＥＳ２５６、トリプルＤＥＳ、ＲＣ５、及びブローフィシュエンジン（Blowfish engine）のうちの１つを使用してもよい。例えば、ある実施形態では、ＡＥＳ２５６エンジンでＣＦＢ動作モードを使用し、他の実施形態では、ＲＣ５エンジンで暗号ブロックチェイニング（ＣＢＣ）動作モードを使用してもよい。これらの実施形態のそれぞれは、カウンタベースの初期化ベクトルを使用するときにＯＴＡ送信の安全性が損なわれないことを保証する。
【００３８】
図１０は、本発明の一実施形態に基づく、暗号フィードバック（ＣＦＢ）動作モードを使用する、改良型認証付き暗号化のための復号及び認証コード検証のためのブロック図である。この実施形態は、図４〜図６及び図９に示し、上述したものと同様の幾つかの特徴及び／又は構成要素を含む。これらの特徴及び／又は構成要素の少なくとも幾つかは、このセクションでは個別に説明しない。
【００３９】
図１０の左側に示す復号部分は、タグ１０３５−１及び暗号文のブロック（１０７０−１、１０７０−２、１０７０−３）を受信した際に最初に実行される。カウンタベースのＩＶ１０６０は、ローカルで生成され、タグ１０３５−１と組み合わされて、データ依存ＩＶ１０６５が生成される。新しいＩＶ１０６５は、鍵１０４０及び暗号文の第１のブロック１０７０−１と併せて使用され、プレーンテキストの第１のブロック１０１０−１が生成される。具体的には、ブロック暗号暗号化モジュール１０５０によって生成されたキーストリーム（図１０には示していない）は、暗号文の第１のブロック１０７０−１とＸＯＲ演算されて、プレーンテキストの第１のブロック１０１０−１が生成される。暗号文の第１のブロック１０７０−１は、暗号文の第２のブロック１０７０−２を復号してプレーンテキストの第２のブロック１０１０−２を生成するためのＩＶとしても使用される。
【００４０】
次に、図１０の右側に示される認証部分が実行され、プレーンテキストのブロック（１０１０−１、１０１０−２、１０１０−３、１０１０−４）が暗号化され、対応する数の暗号文のブロック（１０３０−１、１０３０−２、１０３０−３、１０３０−４）が生成される。暗号文の最後のブロックの一部は、タグ１０３５−２として抽出される。メッセージを認証するために、ＯＴＡタグ１０３５−１と算出されたタグ１０３５−２とを照合し、これらが同一であることを確認してもよい。
【００４１】
図９及び図１０は、認証及び暗号化の両方にＣＦＢ動作モードを使用する本発明の実施形態を示している。この実装では、暗号文のブロックの生成（暗号化プロセス）とプレーンテキストのブロックの生成（復号プロセス）が連続しているので、単一のブロック暗号暗号化モジュールを使用できる。
【００４２】
図１１は、本発明の他の実施形態に基づく、カウンタ（ＣＴＲ）動作モードを使用する、改良型認証付き暗号化のための暗号化及び認証コード生成のブロック図である。この実施形態は、図４〜図６及び図９〜図１０に示し、上述したものと同様の幾つかの特徴及び／又は構成要素を含む。これらの特徴及び／又は構成要素の少なくとも幾つかは、このセクションでは個別に説明しない。
【００４３】
図９の連続的な実装とは対照的に、図１１に示す実施形態は、並列演算として実装されるカウンタ（ＣＴＲ）動作モードを使用する。すなわち、カウンタに基づく初期化ベクトル１１６０−１がインクリメントされ、図１１において１１６０−２及び１１６０−３として示す後続の初期化ベクトルが生成される。これらのカウンタベースのＩＶのそれぞれを使用して、プレーンテキストの最後のブロックを除く全てのブロックが暗号化され、暗号文の最後のブロックを除く全てのブロックが同時に生成される。
【００４４】
一実施形態では、暗号文の１つ以上のブロック（１１３０−１、１１３０−２、１１３０−３）がＸＯＲ関数１１４５によって処理されて、プレーンテキストの最後のブロック１１１０−４に対するＩＶ１１３０−４が生成され、ブロック暗号暗号化モジュール１１２０−４は、これを暗号化して、暗号文の最後のブロック１１３０−５を生成する。暗号文の最後のブロックの一部を認証用のタグ１１３５として使用してもよい。
【００４５】
タグ１１３５は、カウンタベースのＩＶ（１１６０−１、１１６０−２、１１６０−３）のそれぞれと組み合わされて、一組のデータ依存初期化ベクトル（１１６５−１、１１６５−２、１１６５−３）を生成でき、これを使用して、プレーンテキストを暗号化して暗号文のブロック（１１７０−１、１１７０−２、１１７０−３）を生成でき、これらは、タグ１１３５とともに無線で送信される。他の実施形態では、タグ１１３５を第１のカウンタベースのＩＶ１１６０−１と組み合わせてデータ依存ＩＶ１１６５−１を生成してもよい。次に、第１のデータ依存ＩＶ１１６５−１をインクリメントして、後続のタグ１１６５−２及び１１６５−３を生成できる。このように、図１１は、低待ち時間要件を有する高速通信アプリケーションのために効率的に並列で実行できる改良型認証付き暗号化の具体例を示している。
【００４６】
図１２は、本発明の一実施形態に基づく、改良型認証付き暗号化のための暗号化及び認証コード生成方法のためのフローチャートである。幾つかの実施形態では、フローチャート１２００におけるステップの順序を変更してもよい。更に、フローチャート１２００の幾つかのステップをスキップしてもよく、更なるステップを追加してもよい。
【００４７】
図４〜図６及び図９〜図１１を参照して説明すると、方法１２００は、ステップ１２１０から開始され、ここで、第１の暗号関数により少なくとも複数のプレーンテキストブロック及び鍵を使用して暗号出力の１つ以上のブロックを生成する。一実施形態では、第１の暗号関数は、任意の数のプレーンテキストのブロックについて固定長ハッシュ値を生成するセキュアハッシュ関数であってもよい。他の実施形態では、第１の暗号関数は、プレーンテキストの入力ブロック毎に暗号文のブロックを生成するブロック暗号関数であってもよい。また、ブロック暗号関数は、入力として初期化ベクトル（ＩＶ）を更に必要とし、ＩＶは、典型的には、ここで考察する暗号システムのためのカウンタベースのＩＶである。
【００４８】
プレーンテキストの複数のブロックは、入出力（Ｉ／Ｏ）インタフェースを介して受信してもよく、一実施形態では、音声又はビデオデータであってもよい。あるいは、プレーンテキストを内部プロセッサで生成してもよい。暗号関数（前述の第１の関数及び後述する第２の関数の両方）によって使用される鍵は、ローカル鍵生成器を使用して生成してもよく、これは、プロセッサの一部であってもよい。他の実施形態では、鍵は、無線送信を介して安全に受信してもよい。
【００４９】
ステップ１２２０において、暗号出力の１つ以上のブロックに基づいて、タグ（又は認証コード）が生成される。第１の暗号関数がセキュアハッシュ関数である実施形態では、タグは、ハッシュ出力の一部であってもよい。第１の暗号関数がブロック暗号関数である他の実施形態では、タグは、暗号文の最後のブロックの一部であってもよい。上述したように、ブロック暗号関数は、ＰＣＢＣ、ＣＴＲ、ＯＦＢ、ＣＦＢ、又はＣＢＣモードで動作し、任意の基礎となる暗号エンジンを使用できる。第１の暗号関数を用いたタグの生成は、２パス改良型認証付き暗号方式の第１のパスであり、この方法の真正性の目的を達成する。
【００５０】
ステップ１２３０では、カウンタベースのＩＶと、ステップ１２２０で生成されたタグとに基づいて、初期化ベクトルが生成される。第１の暗号関数がブロック暗号関数である実施形態では、カウンタベースのＩＶは、ブロック暗号関数への入力として使用されるものと同じである。このステップで生成されたＩＶは、第２のパスで使用され、２パス改良型認証付き暗号化方式の秘匿性の目的が達成される。ＩＶは、第１の暗号関数によって生成されたタグの関数であるため、この新しいＩＶは、データに依存し、カウンタベースのＩＶと組み合わせることで、カウンタメカニズムがリセットされるシナリオで新しいＩＶが繰り返されないことが保証される。
【００５１】
ステップ１２４０では、第２の暗号関数が、データ依存ＩＶ、鍵、及びプレーンテキストのブロックを入力として使用して、暗号文の複数のブロックを生成する。幾つかの実施形態は、データ依存ＩＶを使用してプレーンテキストのブロックを暗号化するための第２の暗号化関数として、先に列挙したブロック暗号関数のいずれか１つを使用する。これにより、このステップで生成された暗号文の複数のブロックが無線送信されるとき、これらの安全性が損なわれないことが保証される。
【００５２】
ステップ１２５０では、ステップ１２４０で生成された複数の暗号文のブロック及びステップ１２２０で生成されたタグが送信される。カウンタベースの暗号システムでは、ノードが同期されると、カウンタベースのＩＶが必要な順序で生成されるので、ＩＶを無線送信する必要がない。
【００５３】
図１３は、本発明の一実施形態に基づく、改良型認証付き暗号化のための復号及び認証コード検証のための方法のフローチャートである。幾つかの実施形態では、フローチャート１３００におけるステップの順序を変更してもよい。更に、フローチャート１３００の幾つかのステップをスキップしてもよく、更なるステップを追加してもよい。
【００５４】
図４〜図６及び図９〜図１１を参照して説明すると、方法１３００は、ステップ１３１０で開始し、ここで、（１２００で生成された）タグ及び暗号文のブロックが受信される。一実施形態では、暗号文のブロック及びタグを別々に受信してもよい。他の実施形態では、暗号文及びタグは、同じブロック、パケット、又は送信の一部として連結された形式で受信してもよい。
【００５５】
ステップ１３２０では、カウンタベースのＩＶとステップ１３１０で受信されたタグとに基づいて初期化ベクトルが生成される。ブロック暗号関数である第１の暗号関数は、このデータ依存ＩＶと鍵を用いて、受信した暗号文のブロックを復号し、複数のプレーンテキストブロックを生成することにより、秘匿性の目的が達成される。
【００５６】
ステップ１３３０において、プレーンテキストは、少なくとも鍵を使用して第２の暗号関数によって再暗号化される。一実施形態では、第２の暗号関数は、ブロック暗号関数であってもよく、これも入力としてカウンタベースのＩＶを必要とする。ブロック暗号関数は、プレーンテキストの入力ブロック毎に暗号文のブロックを生成する。他の実施形態では、第２の暗号関数は、セキュアハッシュ関数であってもよく、複数のプレーンテキストのブロックは、単一の出力暗号文のブロックにハッシュ化してもよい。更に他の実施形態では、セキュアハッシュ関数をプレーンテキストの各ブロック上で個別に使用でき、これによって、プレーンテキストの各入力ブロックに対してハッシュ化された出力ブロックを生成してもよい。
【００５７】
ステップ１３４０では、前のステップで生成された暗号文のブロックから第２のタグが生成される。例えば、第２の暗号関数がハッシュ関数であり、単一のハッシュ出力ブロックが生成された場合、タグは、その出力暗号文のブロックの一部であってもよい。他の実施形態では、第２の暗号関数が複数の出力暗号文のブロックを生成する場合、タグは、暗号文のブロックの最後のブロックから生成してもよい。
【００５８】
ステップ１３５０では、ステップ１３４０で生成された第２のタグが、ステップ１３１０で受信されたタグと比較され、２つのタグが同一であると判定することにより、真正性の目的が達成される。
【００５９】
本発明の一実施形態に基づく改良型認証付き暗号化のための送受信機１４０５を図１４に示す。この送受信機は、ここに開示する方法と共に使用できる一例にすぎない。プロセッサ１４０１は、メモリ１４０３に接続され、メモリ１４０３は、インタフェース１４２０を介して、鍵生成器１４３０、暗号化モジュール１４１０及び復号モジュール１４１５とインタフェースされている。鍵生成器１４３０は、暗号化モジュール１４１０及び復号モジュール１４１５についてここに開示する２パス改良型認証付き暗号化方法の両方のパスのための共通鍵を生成するように構成してもよい。モジュール又はプロセッサ１４０１は、ＩＶを生成してもよく、プレーンテキストは、入出力（Ｉ／Ｏ）インタフェース１４３５から受信され、Ｉ／Ｏインタフェース１４３５に接続されたアンテナ１４２５を使用して暗号文及びタグを送信してもよい。
【００６０】
一実施形態では、鍵生成器１４３０、暗号化モジュール１４１０、及び復号モジュール１４１５は、プロセッサ１４０１に埋め込んでもよい。他の実施形態では、暗号化及び復号モジュールは、フィールドプログラマブルゲートアレイ（field programmable gate array：ＦＰＧＡ）で実装してもよく、鍵生成器は、ソフトウェアで実装してもよい。更に他の実施形態では、暗号化及び復号モジュール並びに鍵生成器は、ＡＲＭ又は他のプロセッサにおいてソフトウェアで実装してもよい。
【００６１】
図１４に示すプロセッサ１４０１は、コンポーネントデジタルプロセッサを含み、メモリ１４０３に格納されたコンピュータ実行可能プログラム命令を実行するように構成できる。例えば、幾つかの実施形態では、コンポーネントデジタルプロセッサは、ランダムキーストリームを受信又は生成し、ランダム開始点及びシャッフルリストを生成し、ランダム開始点及びシャッフルリストに基づいてベース周波数、バンド周波数、及びジッタ値を生成し、生成された周波数ホッピングシーケンスによって指定される異なる周波数で通信するための１つ又は複数のコンピュータプログラムを実行してもよい。
【００６２】
プロセッサ１４０１は、マイクロプロセッサ、デジタル信号プロセッサ（digital signal processor：ＤＳＰ）、特定用途向け集積回路（application-specific integrated circuit：ＡＳＩＣ）、１つ又は複数のフィールドプログラマブルゲートアレイ（field programmable gate arrays：ＦＰＧＡ）、状態マシン等に加えて、リンク品質メトリックス、平均コスト関数及びレート損失コスト関数、並びに最小化及び選択動作の計算のための種々の実装を含むことができる。プロセッサ１４０１は、プログラマブル電子デバイス、例えば、プログラマブル論理コントローラ（programmable logic controller：ＰＬＣ）、プログラマブル割込コントローラ（programmable interrupt controller：ＰＩＣ）、プログラマブル論理デバイス（programmable logic device：ＰＬＤ）、プログラマブル読出専用メモリ（programmable read-only memory：ＰＲＯＭ）、電子的プログラム可能読出専用メモリ（electronically programmable read-only memory：ＥＰＲＯＭ又はＥＥＰＲＯＭ）、又は他の同様のデバイスを更に含むことができる。
【００６３】
メモリ１４０３は、プロセッサ１４０１によって実行されると、プロセッサ１４０１に、ここに開示するような様々なステップを実行させる命令を格納するコンピュータ可読媒体を含むことができる。コンピュータ可読媒体の例は、以下に限定されるものではないが、プロセッサ１４０１にコンピュータ可読命令を提供できる電子、光学、磁気、又は他の記憶デバイス又は送信デバイスを含む。コンピュータ可読媒体の他の例は、以下に限定されるものではないが、フロッピーディスク、ＣＤ−ＲＯＭ、磁気ディスク、メモリチップ、ＲＯＭ、ＲＡＭ、ＡＳＩＣ、構成されたプロセッサ、任意の光学媒体、任意の磁気テープ又は他の磁気媒体、又はコンピュータプロセッサがデータにアクセスできる任意の他の媒体を含む。更に、種々の他のデバイスは、ルータ、プライベート又はパブリックネットワーク、又は他の送信デバイス等のコンピュータ可読媒体を含むことができる。プロセッサ１４０１及びここに説明した処理は、１つ又は複数の構造内にあってもよく、１つ又は複数の構造に亘って分散されてもよい。
【００６４】
特定の実施形態に関連して本主題を詳細に説明したが、以上の説明を理解することにより、これら実施形態に対する修正、変形、及び等価物を容易に想到できることは、当業者にとって明らかである。例えば、１つ以上の実施形態の特徴は、本発明の範囲から逸脱することなく、他の実施形態の１つ以上の特徴と組み合わせることができる。したがって、本開示は、限定ではなく例示を目的として提示されたものであり、本主題の修正、変形、及び／又は追加を含めることを排除するものではないことは、当業者にとって明らかである。
【図１】
2020513117.tif 000003
【図２】
2020513117.tif 000004
【図３】
2020513117.tif 000005
【図４】
2020513117.tif 000006
【図５】
2020513117.tif 000007
【図６】
2020513117.tif 000008
【図７】
2020513117.tif 000009
【図８Ａ】
2020513117.tif 000010
【図８Ｂ】
2020513117.tif 000011
【図８Ｃ】
2020513117.tif 000012
【図９】
2020513117.tif 000013
【図１０】
2020513117.tif 000014
【図１１】
2020513117.tif 000015
【図１２】
2020513117.tif 000016
【図１３】
2020513117.tif 000017
【図１４】
2020513117.tif 000018
【国際調査報告】
2020513117.tif 000019