JP2007140566A - 効率的なパケット暗号化方法 - Google Patents

効率的なパケット暗号化方法 Download PDF

Info

Publication number
JP2007140566A
JP2007140566A JP2007044679A JP2007044679A JP2007140566A JP 2007140566 A JP2007140566 A JP 2007140566A JP 2007044679 A JP2007044679 A JP 2007044679A JP 2007044679 A JP2007044679 A JP 2007044679A JP 2007140566 A JP2007140566 A JP 2007140566A
Authority
JP
Japan
Prior art keywords
packet
variable
byte
vector
sequence number
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.)
Pending
Application number
JP2007044679A
Other languages
English (en)
Inventor
Mark Garstin
ガースティン マーク
Robert R Gilman
アール. ギルマン ロバート
Richard L Robinson
エル. ロビンソン リチャード
Anwar Siddiqui
シディクイ アンワー
Mark Wutzke
ウツケ マーク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avaya Technology LLC
Original Assignee
Avaya Technology LLC
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 Avaya Technology LLC filed Critical Avaya Technology LLC
Publication of JP2007140566A publication Critical patent/JP2007140566A/ja
Pending 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/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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract


【課題】暗号化・復号化のための計算時間を低減し、パケットの紛失等しても回復することができ、効率的なパケット暗号化方法を提供する。
【解決手段】Sベクトルを生成する工程と、シーケンスナンバーをセットする工程と、第1の変数をセットする工程と、第2の変数をセットする工程と、バイトシーケンスナンバーをセットする工程と、第2の変数とバイトシーケンスナンバーとから第3の変数を計算する工程と、バイトシーケンスナンバーをインクリメントする工程と、第1の変数に、第3の変数によるSベクトル内の値を加算して第4の変数を計算する工程と、第3の変数と第4の変数によるSベクトル内の値に基づいて暗号化バイトを特定する工程と、排他的論理和をとり、バイトを生成する工程とを包含する。
【選択図】図3

Description

(発明の分野)
本発明は、電気通信伝送、特に、伝送中に紛失および/または順序が狂って送達されるパケットのストリームに関する演算処理が効率的なパケット暗号化方法に関する。
(問題)
パケット伝送の分野において、暗号化セキュリティを高めて、伝送されたパケットを、承認されないデバイスが傍受および復号化することを防ぎ、他方、平文を暗号化および復号化する演算処理時間を増加させないパケット暗号化方法を提供することが問題である。パケット伝送の分野における第2の問題は、パケットのシーケンスを宛先で組立て直し、他方、パケットストリームを復号化および組立て直すために受信器が過度の時間を要求しないパケット暗号化方法を提供することである。第3の問題は、紛失または順序が狂ったパケットが存在する状態において、受信されたパケットの復号化を同期化することである。
有線または無線の両方のパケット交換において、平文のパケットは、ネットワークを介してソースから宛先へ送信される。パケットは、パケットアセンブラ/ディスアセンブラによって、平文の個々のパケットに組立てられ、および組立て直される。各パケットは、一意に定まる識別番号、すなわちシーケンスナンバーを有し、各パケットは、3つの基本要素、すなわち、ヘッダ、ペイロード、および任意にトレイラを含む。ヘッダは、シーケンスナンバー、同期ビット、宛先アドレス、ソースアドレス、パケット長さといった制御情報(control information)を含む。ペイロードは、伝送される平文であり、トレイラはパケットフラグの端ならびに誤り検出ビットおよび誤り訂正ビットを含む。
パケット交換ネットワーク上で伝送するために、媒体ストリームは「パケット」に分解される。各パケットは、ネットワークを介して、利用可能なノードを通って宛先に移動し、帯域幅が伝送のために利用可能になると、ノードからノードへ伝送される。宛先ノードにおいて、パケットを元の連続するストリームに分解する試みがなされる。パケットは、異なったルートをたどるネットワーク該Sベクトル内の該次の連続的暗号化バイトEを介して移動するので、宛先において、順序が狂った状態で到着することがよくある。他のパケットは、ネットワーク内で紛失され得る。紛失したパケットおよび/または順序が狂った状態で受信されるパケットの伝送し直しをリクエストし、パケットを元の連続するメッセージに分解するために、宛先において、さらなる処理時間が要求される。
パケット伝送の分野において、2つの暗号化方法、すなわち、RC4およびWEP(Wired Equivalency Privacy)が一般的に用いられる。RC4は、CDPD(Cellular Degital Packet Data)で支援される暗号化方法であり、WEPは、IEEE802.11標準規格により支援される暗号化方法である。電気電子技術者協会(IEEE)は、ローカルエリアネットワーク(LAN)で用いられるもの、802シリーズの標準規格を含む、多くの電気通信および演算処理の標準規格化を担う団体である。IEEE802パート11b(802.11b)は、普通、LANの構築において益々一般的になる無線のために用いられる。
WEPおよびRC4は、「ストリーム型」暗号であり、ソースにおいて、ランダムな暗号化バイトの文字列を生成し、これらの文字列の全ては平文バイトと論理和をとり、暗号文を形成する。逆に、暗号文は、同じ暗号化ストリームと排他的論理和をとり得、宛先で平文を復元(restore)する。
(RC4暗号化方法)
RC4は、単一ストリーム生成器、非常に長いストリームの生成器として開始から終了まで動作する。RC4は、暗号化方法内でパケットシーケンスナンバーを用いない。その代わりに、ペイロード平文の次のバイトのシーケンスが用いられる。換言すると、各バイトの暗号化/復号化は、ストリーム全体の中のバイトの位置に依存する。RC4は、256バイトまでの鍵を用いて、256バイトのSベクトルを生成する。このSベクトルは、ペイロード平文の各連続的なバイトを逐次的に暗号化する。Sベクトルアルゴリズムは、2つの変数を用い、Sベクトルは、各バイトが暗号化された後に並べ換えられ、従って、各暗号化ストリームの値は、すでに暗号化または復号化されたペイロードバイトの数に依存する。従って、Sベクトルは、時間の経過とともに進化し、RC4を再同期化することを非実用的にする。
ペイロード平文のバイトの全てが暗号化されると、暗号文は、パケットに組立てられ、ヘッダおよびトレイラは、伝送用に各パケットに付加される。問題は、データのパケットが伝送中に紛失されるときに起こる。宛先は、パケットが紛失されたこと(まだ受信されていないこと)を知る。なぜなら、各ヘッダはシーケンスナンバーを含むからである。第2のパケットが宛先に到着しない場合、この宛先は、第1のパケット内のペイロード暗号文のバイトを復号化することができる。しかしながら、宛先は、受信された第3のパケットを復号化し得ない。なぜなら、宛先は、行方不明の第2のパケットでどれだけのペイロード暗号文のバイトが伝送されたかを知らないからである。従って、宛先は、受信されないすべてのパケットの再伝送をリクエストすることを要求する。これは、リアルタイムの媒体ストリームにとって実用的でない。平文の全てのバイトは、逐次的に暗号文に変換されたので、暗号文のバイトは、復号化と同じ順序で処理されなければならない。
上述のRC4暗号化方法は、パケットが伝送中に回復不可能に紛失された場合、すぐ次の受信されたパケットを復号化する方法を提供することができない。
(Wired Equivalency Privacy(WEP)法)
IEEE802.11bは、Wired Equivalency Privacy(WEP)法を用いる。RC4とWEPとの類似性は、WEPが、各パケットが鍵の1部としてシーケンスナンバーを用いる方法を再初期化することによりRC4を用いることである。WEP暗号化方法は、新しい鍵を用いて新しいSベクトルを入力し直す(rekeying)(新しい鍵を選択する)ことにより再初期化される。
RC4を用いて生成された問題を解決するために、WEPはRC4を用いるが、その際、WEPが、各パケットについて、同様にインクリメントされたSベクトルを用いるのに対して、RC4は、ぺイロードの各バイトについて、インクリメントされたSベクトルを用いるという例外を伴う。各パケットについて新しいSベクトルを生成することによって、宛先は、受信された任意の順序で、およびパケットが紛失した状態の下で、各パケットを復号化することができる。換言すると、WEPは、1つのパケットの開始から終了まで動作し、これに対して、RC4は、各ぺイロードストリームのために伝送されたパケットの数に関係なく、各ペイロードストリームについて開始から終了まで動作する。これは、音声通信などの小さいパケットに対してWEPを非効率にする。なぜなら、新しいSベクトルは各パケットごとに計算される必要があるからである。
紛失したパケットが宛先における復号化を妨げる問題が解決される一方で、各パケットごとに方法を入力し直しかつ再初期化する工程は、計算量が多く、安全でないことが示された。WEPには安全上の欠点があることが示されている。Stubblefieldらによる「Using the Fluhrer,Martin,and Shamir attack to break WEP」http://www.cs.rice.edu/〜astubble/wep/wep attack.html
および「Weaknesses in the Key Scheduling
Method of RC4」
http://www.eyetap.org/〜rguerra/toronto2001/rc4_ksaproc.pdf
を参照されたい。いくつかのPCカードは、初期化される毎に、パケットシーケンスナンバーをゼロにリセットし、その後、使用毎に1度ずつインクリメントする。この方法は処理時間を低減するが、他方、この方法は、鍵ストリームが再利用される高い尤度をもたらし、暗号文に対する単純な暗号解析攻撃およびメッセージトラフィックの復号に至る。ハッカーが1つのパケットの暗号コードを破ることができた場合、ハッカーは、すべてのパケットを復号化し得る。WEPの別の問題は、WEPの計算量が多いことである。Sベクトルループは、(256バイトのベクトルに対して)256のステップを要求し、各パケットについてSベクトルが計算し直される。
RC4は、ペイロード平文ストリームにおける各バイトのSベクトルをインクリメントし、パケットがネットワーク内で紛失したときにすぐに回復できないという犠牲のもとに、RC4暗号化方法の計算量を少なくする。WEPは、計算量が多い、あまり安全でない暗号化方法を提供することにより問題を解決し、従って、平文ストリームを暗号化および暗号文ストリームを復号化するために必要とされるオーバーヘッドタイムを増加させる。
上述の暗号化方法は、ペイロード平文のストリームを効率的に暗号化する方法を提供することはできないが、他方、パケットが伝送中に紛失した場合、受信されたパケットを復号化することを可能にする。
この理由によって、ペイロード平文を暗号化するため、およびペイロード暗号文を復号化するために必要とされる時間を増加させず、パケットの紛失またはパケット(単数または複数)が順序が狂って到着した後にそれを回復する能力を有する、効率的なパケット暗号化方法が必要である。
本発明は、上記事情に鑑みてなされたものであり、平文データの連続的パケットを暗号化および復号化する計算時間を低減し、パケットの紛失またはパケットが順序が狂って到着した後でも、回復する能力を有する、効率的なパケット暗号化方法を提供することを目的とする。
(解決)
本効率的なパケット暗号化方法は、上に概要が説明された問題を克服し、各パケットについてSベクトルを計算し直さない方法を提供することによって技術を進歩させ、従って、ペイロード平文を暗号化およびペイロード暗号文を復号化するために要求される時間を低減する。本効率的なパケット暗号化方法は、さらに、パケットが紛失または順序が狂うという問題を克服する。これは、パケットシーケンスナンバーを利用して、暗号化方法内で2つの変数を初期化する方法を提供することによって行なわれる。第3および第4の変数は、計算の中に注入され、暗号化計算内で用いられる値の予測可能性を最小化し、暗号化ストリームが反復する頻度を低減する。
本効率的なパケット暗号化方法は、標準RC4方法を利用し、秘密鍵を用いて初期Sベクトルを生成する。各連続的なパケットについて新しいSベクトルを生成するWEPと異なって、Sベクトルは、平文ストリーム全体を暗号化するために一度生成され、従って、各すぐ次のパケットについて新しいSベクトルを生成するために必要な時間を削除する。
本発明の効率的なパケット暗号化方法は、平文の少なくとも1つのバイトを暗号化して、暗号文の少なくとも1つのバイトを生成する方法であって、該方法は、秘密鍵を選択して、標準暗号化方法に従ってSベクトルを生成する工程と、シーケンスナンバーをセットする工程であって、該シーケンスナンバーは、第1の部分と第2の部分とを有する、工程と、該シーケンスナンバーの第1の部分として第1の変数をセットする工程と、該シーケンスナンバーの該第2の部分として第2の変数をセットする工程と、バイトシーケンスナンバーをセットする工程と、該第2の変数と該バイトシーケンスナンバーとの合計として第3の変数を計算する工程と、該バイトシーケンスナンバーを1つずつインクリメントする工程と、該第1の変数に、該第3の変数により示されるSベクトル内の値を加算することにより、第4の変数を計算する工程と、暗号化バイトを特定する工程であって、該Sベクトル内の該暗号化バイトの位置は、該第3の変数と該第4の変数によって示される該Sベクトル内の値との合計によって示される、工程と、該暗号化バイトは、平文の少なくとも1つのバイトと排他的論理和をとり、暗号文の少なくとも1つのバイトを生成する工程とを包含する。
上記本発明の方法において、第2の変数をセットする工程は、前記シーケンスナンバーの前記第2の部分と、前記第1の変数により示される前記Sベクトル内の前記値とが排他的論理和をとる工程をさらに包含することが好ましい。
上記本発明の方法において、第4の変数を計算する工程は、カウンタの値をセットする工程と、前記第1の変数に、前記第3の変数と前記カウンタにより示される前記Sベクトル内の前記値とによって示される該Sベクトル内の値を加算する工程とをさらに包含することが好ましい。
また、本発明の方法は、平文の1つ以上のパケットを暗号化する方法であって、平文の該1つ以上のパケットは、平文の複数のバイトを有し、該方法は、秘密鍵を取得する工程と、該秘密鍵を用いてSベクトルを生成する工程と、平文の各連続的な1つ以上のパケットについて、第1の部分および第2の部分を有するシーケンスナンバーを取得する工程と、該シーケンスナンバーの該第1の部分を用いて、第1の変数をセットする工程と、該シーケンスナンバーの該第2の部分を用いて、第2の変数をセットする工程と、ゼロと等しいバイトシーケンスナンバーをセットする工程と、平文の複数のバイトの各次のバイトについて、次の暗号化バイトを計算する工程であって、該計算する工程は、該第2の変数を該バイトシーケンスナンバーに加算して第3の変数を生成する工程と、該第1の変数を、該第3の変数により示される該Sベクトル内の値に加算することにより第4の変数を計算する工程と、該第3の変数により示される該Sベクトル内の値を、ポインタを計算して該次の暗号化バイトを特定する該第4の変数に加算することにより該Sベクトル内の次の暗号化バイトを特定する工程とを包含する、計算工程と、該第2の変数と該第3の変数を等しくセットする工程と、該バイトシーケンスナンバーを1つずつインクリメントする工程とを包含する。
上記本発明の方法において、第2の変数を計算する工程は、前記シーケンスナンバーの前記第2の部分が前記第1の変数により示される前記Sベクトル内の値と排他的論理和をとる工程を包含することが好ましい。
上記本発明の方法において、送信器において、各次の暗号化されたバイトについて、前記次の暗号化バイトが平文の該複数のバイトの前記次のバイトと排他的論理和をとることによって、次の暗号文バイトを計算する工程をさらに包含することが好ましい。
上記本発明の方法において、受信器において、各次の暗号化バイトについて、前記次の暗号化バイトが、平文の各1つ以上のパケット内の前記次の暗号文と排他的論理和をとることによって、受信された次の平文バイトを計算する工程をさらに包含することが好ましい。
上記本発明の方法において、第4の変数を計算する工程は、カウンタをセットする工程と、前記第1の変数を、前記第3の変数と該カウンタとによって示される前記Sベクトル内の値に加算することによって、該第4の変数を計算する工程と、平文の各次の1つ以上のパケットについて、予め決定されたスケジュールにより、該カウンタの値をインクリメントする工程とをさらに包含することが好ましい。
上記本発明の方法において、カウンタをセットする工程は、平文の1つ以上のパケットのうちの第1のパケットについて、ロールオーバカウンタをゼロにリセットする工程と、平文の各次の1つ以上のパケットについて、前記シーケンスナンバーをインクリメントすることが該シーケンスナンバーの値を1からすべて0に変換させる場合、該ロールオーバカウンタをインクリメントする工程をさらに包含することが好ましい。
上記本発明の方法において、平文の前記複数のバイトの各次のバイトについて、前記Sベクトルを並べ替える工程であって、前記Sベクトルのコピーを保存する工程と、前記第3の変数、および前記第4の変数により示される該Sベクトル内の値により示される該Sベクトル内の値を入れ替える工程であって、該Sベクトル内の該値は、前記次の暗号化バイトが特定された後に入れ替えられる、工程と、平文の各次の1つ以上のパケットについて、保存された該Sベクトルを復元する工程とをさらに包含することが好ましい。
また、本発明の方法は、平文Pの複数のバイトを有する1つ以上のパケットを、複数の暗号文バイトCを有する1つ以上のパケットに変換する方法であって、該方法は、秘密鍵を取得する工程と、該秘密鍵を用いて、複数のSベクトルバイトを有するSベクトルを計算する工程と、第1の部分と第2の部分とを有するシーケンスナンバーをランダムにセットする工程と、各連続的な1つ以上のパケットについて、該シーケンスナンバーをインクリメントする工程と、j=該シーケンスナンバーの第1の部分により、第1の変数jをセットする工程と、i=該シーケンスナンバーの第2の部分により、第2の変数iを計算する工程と、平文Pの該複数のバイトの各連続的バイトについて、次の連続的暗号文バイトCを計算する工程であって、該計算する工程は、j=j+S[i]により、該第1の変数をさらに計算する工程と、第3の変数kをセットする工程と、i=i+kにより、該第2の変数iをさらに計算する工程と、E=S[S[i]+S[j]]により、該Sベクトル内の該次の連続的暗号化バイトEを特定する工程と、該次の連続的暗号化バイトEを、C=E+Pにより、次の連続的暗号文バイトCに変換する工程とを包含する工程と、平文Pの該複数のバイトの最後のバイトが該1つ以上のパケットの該次のパケットについて暗号文バイトCに変換された場合、該1つ以上のパケットの該次の連続的パケットを受信器に伝送する工程とを包含する。
上記本発明の方法において、第2の変数を計算する工程は、下位シーケンスナンバー、および第1の変数により示される前記Sベクトル内の値が、i=(該シーケンスナンバーの下位)+S[j]により、排他的論理和を取る工程をさらに包含することが好ましい。
上記本発明の方法において、前記第1の変数jをさらに計算する工程は、
カウンタrをセットする工程と、j=j+S[i]+S[r]により、該第1の変数jをさらに計算する工程と、1つ以上のパケットの各連続的パケットに関して、該カウンタrの値をインプリメントする工程とをさらに包含することが好ましい。
上記本発明の方法において、次の連続的暗号化バイトEを計算する工程は、前記Sベクトルを並べ替える工程であって、該Sベクトルのコピーを保存する工程と、前記第1の変数jにより示される複数のSベクトルのバイトと、前記第2の変数iにより示される複数のSベクトルのバイトとを入れ替える工程とを包含する、工程と、平文Pの複数のバイトの最後のバイトが、次の1つ以上のパケットについて、複数の暗号文バイトCに変換される場合、該保存されたSベクトルを復元する工程とをさらに包含することが好ましい。
また、本発明の方法は、平文Pの複数のバイトを有する1つ以上のパケットを、複数の暗号文バイトCを有する1つ以上のパケットに変換する方法であって、該方法は、秘密鍵を取得する工程と、該秘密鍵を用いて、複数のSベクトルバイトを有するSベクトルを計算する工程と、高位または下位を有するシーケンスナンバーをランダムにセットする工程と、各連続的な1つ以上のパケットに関して、該シーケンスナンバーをインクリメントする工程と平文Pの該複数のバイトの各連続的バイトについて、次の連続する暗号化バイトEを計算する工程であって、j=該シーケンスナンバーの高位により、第1の変数jをセットする工程と、i=(シーケンスナンバーの下位)+S[j]により、第2の変数iを計算する工程と、カウンタrをセットする工程と、j=j+S[i]+S[r]により、該第1の変数をさらに計算する工程と、第3の変数kをセットする工程と、i=i+kにより、該第2の変数iをインクリメントする工程と、E=S[S[i]+S[j]]により、該Sベクトル内の該次の連続的暗号化バイトEを特定する工程とを包含する工程と、該次の連続的暗号化バイトEを、C=E+Pにより、次の連続的暗号文バイトCに変換する工程と、平文Pの該複数のバイトの最後のバイトが、1つ以上のパケットの次のパケットに関して、暗号文バイトCに変換された場合、該1つ以上のパケットの該次の連続的パケットを受信器に伝送する工程と、を包含する。
(変数計算)
2つの変数iおよびjは、パケット内の平文の各バイトと排他的論理和をとる暗号化ストリームを生成するために用いられる。変数iおよびjの新しい値は、パケット内の連続的な平文バイトについて計算される。変数iおよびjが最初にゼロにセットされ、ペイロードにおけるすぐ次の平文バイトに関してインクリメントされるRC4と異なって、初期Sベクトルが生成された後、第1のパケットに対して開始シーケンスナンバーが生成される。シーケンスナンバーの第1の部分は、変数jを表し、シーケンスナンバーの第2の部分は変数iを計算するために用いられる。
1実施形態において、変数iは、シーケンスナンバーの第2の部分がS[j]の値と排他的論理和をとることによって計算される。ここで、S[j]はSベクトルから導き出される。第3の変数S[j]を変数iの開始値の計算工程に注入することは、従って、本効率的なパケット暗号化方法は、公知の平文攻撃に対してより安全であるようにする。変数iおよびjの新しい開始値は、各すぐ次のパケットについて計算される。シーケンスナンバーを用いて、暗号化ストリームを生成することは、パケットが受信される順序に関係なく、宛先においてパケットを解読する方法を提供する。これは、さらに、パケットが紛失された後、受信されたすぐ次のパケットを解読する方法を提供し、従って、平文の連続的パケットを暗号化、伝送および解読する時間を低減する。
(連続的暗号化および暗号文バイトの計算)
パケット内の次の連続的バイトが暗号化されていな場合、変数iおよびjは、パケット内の各連続的バイトについて計算し直される。第2の変数iは、前の繰返しからの第2の変数iと、第4の変数kとの合計として計算し直される。ここで、kはパケットペイロード内のバイトシーケンスナンバーである。各パケットの開始において、kはリセットされ、kはパケット内の平文の各連続的バイトについてインクリメントされる。第4の変数kは、第2の変数iを計算するために用いられ、本効率的なパケット暗号化方法が、平文の大きいペイロードを暗号化するために利用されるとき、異なったパケット内で同じ暗号化ストリームの部分が利用される可能性を低減する。第1の変数jは、前の繰返しに第3の変数S[i]およびs[j]をそれぞれ加えることによって、第1の変数の合計として計算し直される。ここで、S[i]およびs[j]はSベクトルから導き出される。
S[r]を暗号化方法に注入することは、暗号化ストリームを生成し、ここで、暗号化ストリームは、パケットの長いシーケンスにわたって反復しない。S[r]を含むことなく、暗号化ストリームは、1秒毎に100個のパケットでほぼ11分毎に反復する。S[r]を計算の中に注入することは、暗号化ストリームを生成し、この暗号化ストリームは、46時間毎に反復し、従って、本効率的なパケット暗号化方法をより安全にする。
別の実施形態において、Sベクトルは、各連続的パケットが暗号化される間に並べ替えられる。この実施形態において、Sベクトルが最初に計算され、Sベクトルのコピーが保存される。暗号化された平文の各連続的バイトに関して、第1の変数jおよび第2の変数iにより示されるSベクトル内の値が入れ替えられる。
平文の各連続的バイトについて、Sベクトル内の値を入れ替えることによって、Sベクトルは、時間の経過とともに並べ替えられ、従って、長い平文ペイロードのために生成された暗号化ストリームは、パケット内で反復する確率が低い。パケット内の平文のすべてのバイトが暗号化されている場合、初期Sベクトルは、次のパケットの暗号化および復号化に用いるために復元される。
(第1の暗号化および暗号文バイトの計算)
暗号化ストリームの第1のバイトは、式E=[S[i]+S[j]]を用いてSベクトルから導き出される。S[i]とS[j]との合計によって示されるSベクトル内の位置は、暗号化ストリームの次のバイトを含む。送信器において、暗号ストリームの次のバイトを計算するために、暗号化ストリームの次のバイトが用いられる。暗号化ストリームにおける次のバイトは、パケットペイロードにおける次の平文バイトと排他的論理和(XOR)をとる。
受信器において、受信された次の暗号文バイトは、次に受信された暗号文バイトが次に計算された暗号文バイトと排他的論理和をとることによって復号化され、次の平文バイトを回復する。本効率的なパケット暗号化方法における次のステップは、第1のパケットペイロードにおける最後の平文が暗号化されているかどうかを決定することである。
次のパケット内のすべての連続する平文バイトが暗号化されていると、パケットシーケンスナンバーはインクリメントされ、方法は出発点に戻り、次の連続的パケットシーケンスナンバーから変数iおよびjについての新しい値を計算する。最初に生成されたSベクトルは、すべての連続的パケットのために用いられる。
本効率的なパケット暗号化方法の第1の利点は、パケット毎の処理時間が低減されることである。連続的パケットに同じSベクトルを用いることは、平文ストリームを暗号化または暗号文ストリームを復号化するパケット毎の処理時間を低減し、本効率的なパケット暗号化方法を、上述のWEP方法等の従来の暗号化方法よりも効率的にする。本効率的なパケット暗号化方法の第2の利点は、この方法がWEPを安全でなくする同じ攻撃を受けないことである。
本効率的なパケット暗号化方法の第3の利点は、この方法が、パケットが紛失および/または狂った順序で受信される状態において、容易に再同期化するように設計されることである。本効率的なパケット暗号化方法は、各パケットシーケンスナンバーを用いて、変数iおよびjの初期値を選択し、連続的パケットのパケットシーケンスナンバーをインクリメントする。RC4は、シーケンスナンバーを用いず、従って、受信器は、暗号ストリームの最初からバイトをカウントしなければならない。
シーケンスナンバーを用いて変数iおよび変数jを初期化することは、次の値を予測可能にする。変数iの初期値の計算が、変数iおよびjの値を決定する予測可能性を排除するとき、第3の変数S[j]を注入することは、本効率的なパケット暗号化方法をより安全にする。S[r]を計算の中に注入することは、パケット暗号化ストリームが、頻繁に反復しない暗号化ストリームを生成し、ハッカーに対するさらなる保護を提供する。同様に、バイトシーケンスナンバーkは、暗号化ストリームの断片が長いシーケンスにわたるどこかで反復する尤度を低減するために注入される。
(詳細な説明)
上述の、および記載された請求項により定義された効率的パケット暗号化方法は、添付の図面と関連付けて読まれるべきである以下の詳細な説明を参照することによって、より良好に理解され得る。好適な実施形態の本詳細な説明は、記載された請求項を限定することを意図しないが、その特定の例示として利用される。さらに、本明細書中に用いられる語法および用語は、説明する目的で用いられ、限定する目的で用いられるのではない。
有線および無線の両方のパケット交換において、ペイロード平文のパケットは、ネットワークを介してソースから宛先に伝送される。パケットは、パケット組立て器/分解器(Packet Assembler/Disassembler)により、ペイロードデータの個々のパケットに組立ておよび分解される。各パケットは、一意に定まる識別番号、すなわちシーケンスナンバーを有し、各パケットは、3つの基本要素、すなわち、ヘッダ、ペイロード、および任意にトレイラを含む。ヘッダは、シーケンスナンバー、同期ビット、宛先アドレス、ソースアドレス、パケット長さといった制御情報(control information)を含む。ペイロードは、伝送される平文であり、トレイラはパケットフラグの端ならびに誤り検出ビットおよび誤り訂正ビットを含む。
以上に説明したように、本発明の効率的なパケット暗号化方法は、秘密鍵を選択して、標準暗号化方法に従ってSベクトルを生成する工程と、シーケンスナンバーをセットする工程であって、該シーケンスナンバーは、第1の部分と第2の部分とを有する、工程と、該シーケンスナンバーの第1の部分として第1の変数をセットする工程と、該シーケンスナンバーの該第2の部分として第2の変数をセットする工程と、バイトシーケンスナンバーをセットする工程と、該第2の変数と該バイトシーケンスナンバーとの合計として第3の変数を計算する工程と、該バイトシーケンスナンバーを1つずつインクリメントする工程と、該第1の変数に、該第3の変数により示されるSベクトル内の値を加算することにより、第4の変数を計算する工程と、暗号化バイトを特定する工程であって、該Sベクトル内の該暗号化バイトの位置は、該第3の変数と該第4の変数によって示される該Sベクトル内の値との合計によって示される、工程と、該暗号化バイトは、平文の少なくとも1つのバイトと排他的論理和をとり、暗号文の少なくとも1つのバイトを生成する工程とを包含し、これにより、本願は、ペイロード平文を暗号化するため、およびペイロード暗号文を復号化するために必要とされる時間を増加させず、パケットの紛失またはパケット(単数または複数)が順序が狂って到着した後にそれを回復する能力を有する、効率的なパケット暗号化方法を提供することができる。
(パケット交換−図1)
図1を参照して、パケット交換ネットワーク100上での伝送のために、単一メッセージ、またはデータストリーム110が「パケット」に解体される。それぞれ1〜4で表示される各パケット112、114、116および118は、ネットワーク100を介して利用可能なノード120、122、124、126、128および130を通って宛先に移動し、帯域幅が伝送のために利用可能になると、ノードからノードへ伝送される。宛先ノード130において、パケット112、114、116および118は、もとの連続したメッセージまたはストリームの中に組立て直される。パケットは、異なったルートをたどるネットワーク100を介して移動するので、パケットは、順序が狂った状態で宛先130に到着することがよくある。他のパケットは、ネットワーク内で紛失され得る。紛失したパケットの伝送をリクエストし、パケットを元の連続したメッセージに組立て直すために、宛先においてさらなる処理時間が必要とされる。多くの場合、紛失したパケットの再伝送は、適時に達成され得ない。そのために、紛失したパケットは回復不可能である。
パケット交換の主な特徴は、伝送リンクが必要に応じて共有される方法である。各パケットは適切なリンクが利用可能になるとすぐに伝送され、送信するものを何も有さないソースにより保持されるリンクはない。ソースノード120が第1のパケット112を伝送した後、このソースノードは、残りのパケットを送信するために同じプロセスをたどらなければならない。各パケットは、ソースノード120と宛先ノード130との間の異なったルートを進み得、各パケットは、シーケンスナンバーを有する。本実施例において、シーケンスナンバー1〜4が宛先ノード130で用いられ、パケットをもとの連続したメッセージ110に組立て直す。例えば、第1のパケット112は、ソースノード120から第1のノード122へと移動する。第2のパケット114はソースノード120を去り、第1のノード122へ移動するが、他方、第1のパケット112は、宛先ノード130へと移動し、宛先ノード130に最初に到着し、順序正しく到着する。第3のパケット116が第1のノード122から宛先ノード130に移動すると、第3のパケット116はソースノード120を去り、第3のノード126に移動する。最後のパケット118は、ソースノード120から第1のノード122に移動するが、他方、第3のパケット116は宛先ノード130に移動する。第3のパケットのルート116(the route third packet)116は、ルートが最後のパケット118よりも伝搬時間が長いので、最後のパケット118および第3のパケット116は、宛先ノード130において乱れた順序で到着し得る。
同様に、ネットワーク上の別のノードがパケットの順序を狂わせて伝送する場合、このパケットはソースノード120によって伝送されるパケットのうちの1つと衝突し、結果としてパケットが紛失され得る。従って、宛先ノード130は、4つのパケットのうちの3つを受信する。プロセッサが宛先ノード130においてパケットを組立て直すと、プロセッサは、パケットが行方不明であることを理解する。上述のRC4およびWEP暗号化方法を用いて、宛先ノード130は、狂った順序で受信されたパケットまたは紛失パケットの後に受信された任意のパケットを復号することはできない。
暗号化スキームは、2つの一般的なカテゴリーに分類される。すなわち、対称暗号化方式および非対称暗号化方式である。例えば、Data Encryption Standard(DES)に属するような対称暗号化方式において、発信者がデータを暗号化するため(すなわち、平文を暗号文に変換する)、および受信者が同じデータを復号するために(すなわち、暗号文をもとの平文に変換する)同じ鍵が用いられる。本効率的なパケット暗号化方法は対称型である。
(Sベクトルの生成 図2)
本効率的なパケット暗号化方法は、標準的RC4法を利用して、開始Sベクトルを生成する。図2を参照して、送信器および受信器は、ブロック210における平文を暗号化/復号化するために秘密鍵が用いられることに同意する。送信器は、秘密鍵をランダムに生成し得、その秘密鍵を第1のパケットヘッダにおける受信器に伝送するか、または2つのデバイスが呼出しセットアップ(call set−up)中に特定の鍵を用いることに同意し得る。図示するために、本効率的暗号化方法は、256の構成要素のベクトルを含んで記載および図示されるが、他の長さのベクトルで代用され得る。
ブロック220において、秘密鍵は反復され、必要ならば、256の構成要素のKベクトルを秘密鍵のバイトで逐次的に満たす。256の構成要素のKベクトル内の各バイトの値は256よりも小さい。ブロック230において、256の構成要素のSベクトルは初期化され、0〜255のすべてのiに関してS[i]=iになるようにする。標準RC4法を用いて、ブロック240において、初期Sベクトルは、Kベクトルを用いてスクランブルがかけられる。すべての算術演算にモジューロ256が実行される。
ステップ1
秘密鍵を受信し、この秘密鍵を用いてKベクトルを生成する
標準暗号化方法に従ってSベクトルを初期化する
ただし、すべての0≦i<255についてS[i]=iになるようにする
Kベクトルを用いて初期Sベクトルにスクランブルをかける
ここでj=0
i=0〜255であるため
j=j+S[i]+K[i]
S[i]とS[j]とを入れ替える
ここで、S[i]、S[j]およびK[i]の値は、SベクトルおよびKベクトルから導き出される。初期Sベクトルが生成された後、平文のパケットを暗号化するための変数が計算される。
(変数の計算−図3)
パケット平文を暗号化するために用いられる変数はiおよびjである。iおよびjが最初にゼロにセットされ、暗号化計算において平文ストリーム内の平文の次のバイトについてインクリメントされるRC4、または各パケットの開始においてRC4が再初期化されるWEP法と異なって、本効率的なパケット暗号化法は、シーケンスナンバーを用いて、各パケットについて暗号化処理を開始する。初期シーケンスナンバーは、ランダムに生成されたシーケンスナンバーであり得る。シーケンスナンバーはインクリメントされ、次のシーケンスナンバーは各次のパケットを暗号化するために用いられる。図2におけるフローチャートを参照して、ロールオーバカウンタrは、最初、ブロック310においてゼロにリセットされ、初期シーケンスナンバーは、第1のパケットについて、ブロック320においてランダムに生成される。
ステップ2
初期シーケンスナンバーをセット(連続的パケットのシーケンスナンバーをインクリメントする)
初期ロールオーバカウンタr=0をセット
(シーケンスナンバー=0の場合、r、モジューロ256をインクリメントする)
バイトシーケンスナンバーk=0をリセット
ロールオーバカウンタrの値は、暗号化ストリームを生成するために利用される変数jを計算するときに用いられる。同様に、パケット間で同じ暗号化シーケンスが用いられることを回避するために、暗号化ストリームを生成する際に用いられる変数iを計算するためにバイトシーケンスナンバーkが用いられる。
シーケンスナンバーは、少なくとも2つのバイト、すなわち下位バイトおよびそのバイトの次のバイトを含む。シーケンスナンバーが2つより多いバイトを含む場合、超過した高位部分がロールオーバカウンタrとして(モジューロ256)が用いられる。変数jは、ブロック330におけるシーケンスナンバーの高位バイトと等しくなるように初期化される。変数iは、ブロック330において、シーケンスナンバーの下位バイトがS[j]と排他的論理和をとるように計算される。
ステップ3
変数iおよびjをセットする
j=高位シーケンスナンバー
i=(下位シーケンスナンバー)+S[j}
ここで、S[j]は、前に生成されたSベクトルから導き出される。シーケンスナンバーを用いて、変数iおよびjの初期値を設定することは、パケットが受信された順序に関わらず、受信器においてパケットの復号化を組立て直すか、または同期化する方法を提供する。
平文パケットの暗号化においてシーケンスナンバーのみを用いることは、変数iおよびjの次の値を予測可能にし、従って、暗号化法は安全でない。公知の平文攻撃を用いて、一度いくつかのパケットの復号化が成功すると、攻撃者はSベクトルの成分に関する情報を導き出すことができる。この攻撃を用いて、一度Sベクトル成分に関する十分な情報が導き出されると、残りのSベクトルを決定し、暗号文を復号化することが可能である。変数S[j]をブロック330における変数iの初期値の計算の中に注入することは、変数iの予測可能性を低減する。なぜなら、S[j]の値はSベクトルから導き出されるからである。従って、Sベクトルに対する特定の公知の平文攻撃を防止する。下位シーケンスナンバーがS[j]と排他的論理和をとることは、公知の平文攻撃から獲得された任意の関係が非線形であることを保証する。従って、本効率的なパケット暗号化法は、公知の平文攻撃に対してより安全である。
(連続的パケット変数の計算)
本効率的なパケット暗号化法のセキュリティをさらに高めるために、変数iおよびjは、平文の各次のバイトについて、第2の計算を用いてブロック340においてさらに計算される。
ステップ4
i=i+k
j=j+S[i]+S[r]を用いて
変数iおよびjを計算する
ここで、rは、ロールオーバカウンタの値であり、S[i」およびS[r]は、Sベクトルから導き出され、kはパケット内のバイトシーケンスナンバーである。上述のように、1実施形態において、暗号化法が初期化されると、ロールオーバカウンタはブロック320においてゼロにセットされる。本実施形態におけるロールオーバカウンタはインクリメントされ、シーケンスナンバーはすべての1が0にインクリメントする。暗号化法が初期化されると、シーケンスナンバーはロールオーバカウンタと置き替えられ得、ロールオーバカウンタをインクリメントすることに関する上述のようにインクリメントされる。
1実施形態において、第2の変数iは、前の繰返しからの第2の変数と、第4の変数kとの合計として計算し直される。ここで、kは、パケットペイロードバイトシーケンスナンバーである。各パケットの開始において、kはリセットされ、kはパケット内の平文の各連続的バイトについてインクリメントされる。第4の変数kは、第2の変数iを計算する際に用いられ、本効率的なパケット暗号化法が利用される場合、異なったパケットにおいて暗号化ストリームの部分が再利用される可能性を低減する。第1の変数jは、前の繰返しからの第1の変数と第3の変数S[i]と第4の変数S[r]との合計として計算し直される。ここで、S[i]およびS[r]は、Sベクトルから導き出される。第2の変数iが、パケット内の各次の平文バイトについて1ずつインクリメントされるにすぎないが、他方、1つのパケットに対して用いられる暗号化ストリームの部分は、任意の他のパケットのために再利用される。従って、バイトシーケンスナンバーを用いて、パケット内の平文の連続的バイトの変数iを計算し直すことは、ペイロードの反復が2256バイト未満のペイロードの反復を防止し、従って、本効率的なパケット暗号化法にさらなる安全性を付加する。
次のパケットについて、必要に応じて、ブロック340において、S[r]を暗号化計算の中に注入し、ブロック320において、rの値をインクリメントすることは、暗号化ストリームが反復する頻度を低減する。連続的j変数を計算する際に、S[r]を用いずに、毎秒100個のパケットを暗号化することは、暗号化ストリームを11分毎に反復させる。S[r]をパケット内の各バイトの変数jの計算の中に注入し、必要に応じて、rを次のパケット毎にインクリメントして、暗号化ストリームは約46時間毎に繰返す。従って、さらなるロールオーバカウンタの変数rを本効率的なパケット暗号化法の中に注入することは、ハッカーに対するさらなるセキュリティを提供する。
変数iおよびjの計算が、ロールオーバカウンタまたはシーケンスナンバーから直接的に得られた変数rを用いて説明されたが、他方、r値をセットする他の方法が代用され得る。r値を生成する他の公知の方法は、開始r値をランダムに選択し、r値をヘッダの部分として配信することを含むか、またはrの値はRTP以外のプロトコルから導き出され得る。同様に、カウンタを更新する代替的方法は、シーケンスナンバーがすべて1のシリーズからすべて0のシリーズにインクリメントする場合、カウンタをインクリメントすることと置き替えられ得る。ブロック340において生成された変数iおよびjを用いて、ブロック350において暗号化バイトが計算される。
(第1の暗号化および暗号文バイトの計算)
暗号化ストリームの第1のバイトは、前のステップ4において計算された変数iおよびjの値を用いてブロック350において計算される。
ステップ5
E[k]=S[S[i]+S[j]]を用いて、パケット暗号化ストリームにおける次のバイトを計算する
ここで、S[i]およびS[j]のバイナリ値はSベクトルから導き出される。S[i]とS[j]との合計により示されるSベクトル内の位置は、暗号化ストリームの次のバイトを含む。暗号化ストリームの次のバイトを用いて、暗号ストリームの次のバイトがブロック360において計算される。
選択的実施形態において、各連続的パケットの暗号化が行なわれる間、Sベクトルはブロック380において並べ替えられるか、またはスクランブルがかけられる。本実施形態において、パケット内の平文の第1のバイトを暗号化する前に、Sベクトルのコピーが保存される。平文の各連続的バイトについて、第1の変数jおよび第2の変数iによって示されるSベクトル内の値は入れ替えられる。平文の各連続的バイトのSベクトル内の値を入れ替えることによって、Sベクトルは時間の経過とともに並べ換えられ、長い平文ペイロードについて生成された暗号化ストリームがパケット内で反復する確率が低い。パケット内の平文のすべてのバイトが暗号化された場合、初期Sベクトルは、次のパケットの暗号化または復号化に用いるために復元される。
送信器および受信器の両方は、ステップ1〜ステップ5に従い、同じ暗号化ストリームを生成する。送信器において、暗号化ストリームが用いられ、暗号文ストリームを生成する。受信器において、暗号文のストリームが受信され、暗号化ストリームは、暗号文を解読し平文を回復するために用いられる。
ステップ6
送信器:C[k]=E+P[k]ただしP[k]=平文のk番目のバイトを用いて、次のバイト暗号文ストリームを計算する
受信器:P[k]=E+C[k]
を用いて、次のバイト平文ストリームを計算する
ここで、P[k]は、パケットペイロードにおける平文の次のバイトである。ステップ4において、送信器において、暗号化ストリームにおける次のバイトは、パケットペイロードにおける次の平文バイトと排他的論理和をとり、次のバイト暗号文を生成する。
ステップ7
バイトシーケンスをインクリメントする
k=k+1
平文の次のバイトがブロック360において暗号文に変換された後、バイトシーケンスkは、ブロック390において1つずつインクリメントされる。本効率的なパケット暗号化方法における次のステップは、第1のパケットペイロードにおける最後の平文バイトが暗号化されたかどうかをブロック370において決定することである。パケットペイロード内の平文の次のバイトが暗号化されていない場合、この方法はペイロードの各連続的バイトに関するステップ3〜ステップ6を繰返す。ペイロード平文ストリーム内のすべてのバイトが暗号化/復号化されると、この方法は次のパケットについてのステップ2に戻る。
ブロック230および240において生成されたSベクトルは、ブロック330〜350において、伝送されるべき平文の各ペイロードについてすべての変数を計算するために用いられる。Sベクトルが各パケットについて再計算されるWEPと異なって、本効率的なパケット暗号化方法において、Sベクトルは、ペイロード平文の現在のストリームについて再初期化されない。Sベクトル成分の任意の入れ替えがインクリメントされる場合、このSベクトルは復元され得ない。送信器がペイロード平文の新しいストリームを発信する準備を整えるまで、Sベクトルは計算し直されない。
本効率的なパケット暗号化方法は、平文データの連続的パケットを暗号化および復号化する計算時間を低減する。Sベクトルが生成され、平文の連続的パケットを暗号化するために用いられ、従って、パケット毎の暗号化/復号化時間を低減する。連続的パケットを暗号化する式は、変数の予測可能性を排除するために注入された第3の変数を用いるパケットシーケンスナンバーの使用を含み、従って、本効率的なパケット暗号化法をより安全にする。第4の変数は、計算の中に注入され、頻繁に反復されない暗号化ストリームを生成し、ハッカーに対するさらなるセキュリティを提供する。平文の長いペイロードを有するパケットを暗号化するために、パケットバイトシーケンスナンバーが用いられ、特定のパケット内で反復する確率が低い暗号化ストリームを生成する。
本効率的なパケット暗号化法を利用することは、セキュリティのレベルを益々向上させる一方で、ペイロード平文のストリーム全体の伝送を成功させるための計算時間を低減する。パケット毎の再計算を排除することは、各パケットの新しいSベクトルを生成する計算ステップを排除する。
本効率的なパケット暗号化法を用いることは、時間を節約するためにセキュリティを犠牲にしない。その代わりに、計算工程にさらなる変数、変数iを注入してセキュリティを向上させる。同様に、変数jを計算するために用いられるカウンタを含むことは、反復頻度が低い暗号化ストリームを生成することによって、本効率的なパケット暗号化法のセキュリティをさらに向上させる。
代替的実施形態に関して、当業者は、本効率的なパケット暗号化法が初期シーケンスナンバーおよび変数rの初期値を生成する種々の方法を用いて生成され得ることを理解する。本効率的なパケット暗号化法が、第1のランダムシーケンスナンバーを生成し、ロールオーバカウンタrをゼロにセットすることが説明および図示されたが、代替的方法が用いられてもよい。同様に、予め設定する効率的なパケット暗号化法は256の構成要素ベクトルを用いて図示および説明されたが、当業者は構成要素の代替的数を有するベクトルが代用され得ることを理解する。
上述の目的、目標および利点を完全に満たす効率的なパケット暗号化法が記載されたことは明らかである。効率的パケット暗号化法は、その特定の実施形態と関連付けて説明されたが、一方で、複数の代替案、改変および/または変形が上述の記載に照らして当業者によって考案され得る。従って、本記載は、添付の請求項の趣旨および範囲内に含まれる、すべてのそのような代替案、改変および変形を容認することが意図される。
図1は、パケット交換ネットワークにわたって伝送するためのペイロード平文のシーケンスを示す。 図2は、標準的Sベクトルを生成する従来技術のRC4方法のフローチャートを示す。 図3は、本効率的なパケット暗号化方法のフローチャートを示す。

Claims (1)

  1. 平文の少なくとも1つのバイトを暗号化して、暗号文の少なくとも1つのバイトを生成する方法であって、該方法は、
    秘密鍵を選択して、標準暗号化方法に従ってSベクトルを生成する工程と、
    シーケンスナンバーをセットする工程であって、該シーケンスナンバーは、第1の部分と第2の部分とを有する、工程と、
    該シーケンスナンバーの第1の部分として第1の変数をセットする工程と、
    該シーケンスナンバーの該第2の部分として第2の変数をセットする工程と、
    バイトシーケンスナンバーをセットする工程と、
    該第2の変数と該バイトシーケンスナンバーとの合計として第3の変数を計算する工程と、
    該バイトシーケンスナンバーを1つずつインクリメントする工程と、
    該第1の変数に、該第3の変数により示されるSベクトル内の値を加算することにより、第4の変数を計算する工程と、
    暗号化バイトを特定する工程であって、該Sベクトル内の該暗号化バイトの位置は、該第3の変数と該第4の変数によって示される該Sベクトル内の値との合計によって示される、工程と、
    該暗号化バイトは、平文の少なくとも1つのバイトと排他的論理和をとり、暗号文の少なくとも1つのバイトを生成する工程と
    を包含する、方法。
JP2007044679A 2002-01-04 2007-02-23 効率的なパケット暗号化方法 Pending JP2007140566A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/038,295 US7006628B2 (en) 2002-01-04 2002-01-04 Efficient packet encryption method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002382422A Division JP4020197B2 (ja) 2002-01-04 2002-12-27 効率的なパケット暗号化方法

Publications (1)

Publication Number Publication Date
JP2007140566A true JP2007140566A (ja) 2007-06-07

Family

ID=21899121

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002382422A Expired - Fee Related JP4020197B2 (ja) 2002-01-04 2002-12-27 効率的なパケット暗号化方法
JP2007044679A Pending JP2007140566A (ja) 2002-01-04 2007-02-23 効率的なパケット暗号化方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002382422A Expired - Fee Related JP4020197B2 (ja) 2002-01-04 2002-12-27 効率的なパケット暗号化方法

Country Status (5)

Country Link
US (1) US7006628B2 (ja)
EP (1) EP1326367B1 (ja)
JP (2) JP4020197B2 (ja)
CA (1) CA2415508A1 (ja)
DE (1) DE60301147T2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167476B1 (en) * 2002-04-12 2007-01-23 Juniper Networks, Inc. Systems and methods for routing data in a network device
JP2004133087A (ja) * 2002-10-09 2004-04-30 Sony Corp ブロック暗号方法およびブロック暗号回路
JP3821086B2 (ja) * 2002-11-01 2006-09-13 ソニー株式会社 ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム
US7457954B2 (en) * 2003-06-18 2008-11-25 Denso Corporation Communications system and packet structure
US7653810B2 (en) * 2003-08-15 2010-01-26 Venafi, Inc. Method to automate the renewal of digital certificates
US7831825B2 (en) * 2004-03-19 2010-11-09 Verizon Corporate Services Group Inc. Packet-based and pseudo-packet based cryptographic communications systems and methods
US8437475B2 (en) * 2004-03-19 2013-05-07 Verizon Corporate Services Group Inc. Packet-based and pseudo-packet-based cryptographic synchronization systems and methods
US7406595B1 (en) 2004-05-05 2008-07-29 The United States Of America As Represented By The Director, National Security Agency Method of packet encryption that allows for pipelining
US20050273853A1 (en) * 2004-05-24 2005-12-08 Toshiba America Research, Inc. Quarantine networking
US7620181B2 (en) * 2005-04-20 2009-11-17 Harris Corporation Communications system with minimum error cryptographic resynchronization
US8228917B2 (en) 2005-04-26 2012-07-24 Qualcomm Incorporated Method and apparatus for ciphering and re-ordering packets in a wireless communication system
US8447968B2 (en) * 2005-10-28 2013-05-21 Alcatel Lucent Air-interface application layer security for wireless networks
US8842834B2 (en) * 2007-03-19 2014-09-23 Harris Corporation Robust delivery of packet based secure voice
US8848924B2 (en) * 2008-06-27 2014-09-30 University Of Washington Privacy-preserving location tracking for devices
US8724548B2 (en) * 2010-04-22 2014-05-13 Qualcomm Incorporated Counter check procedure for packet data transmission
US10708246B1 (en) * 2017-12-08 2020-07-07 Amazon Technologies, Inc. Extending cryptographic-key lifespan in network encryption protocols
CN108377182A (zh) * 2018-01-12 2018-08-07 电子科技大学 一种安全性强的rc4流密码生成装置及方法
US20200177540A1 (en) * 2018-07-26 2020-06-04 Secturion Systems, Inc. In-line transmission control protocol processing engine using a systolic array

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09321750A (ja) * 1995-12-08 1997-12-12 Nippon Telegr & Teleph Corp <Ntt> スクランブル通信方法及びシステム
JP2000315997A (ja) * 1999-04-30 2000-11-14 Toshiba Corp 暗号通信方法及びノード装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490354B2 (en) * 1998-06-23 2002-12-03 Microsoft Corporation Lightweight word-oriented technique for generating a pseudo-random sequence for use in a keystream of a stream cipher
US6549622B1 (en) * 1998-11-23 2003-04-15 Compaq Computer Corporation System and method for a fast hardware implementation of RC4
US20020044651A1 (en) * 2000-05-16 2002-04-18 Tuvell Walter E. Method and apparatus for improving the security of cryptographic ciphers
US7277542B2 (en) * 2000-09-25 2007-10-02 Broadcom Corporation Stream cipher encryption application accelerator and methods thereof
US6862354B1 (en) * 2000-09-29 2005-03-01 Cisco Technology, Inc. Stream cipher encryption method and apparatus that can efficiently seek to arbitrary locations in a key stream
US6990199B2 (en) * 2001-06-12 2006-01-24 Corrent Corporation Apparatus and method for cipher processing system using multiple port memory and parallel read/write operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09321750A (ja) * 1995-12-08 1997-12-12 Nippon Telegr & Teleph Corp <Ntt> スクランブル通信方法及びシステム
JP2000315997A (ja) * 1999-04-30 2000-11-14 Toshiba Corp 暗号通信方法及びノード装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN4006015794, BRUCE SCHNEIER, "APPLIED CRYPTOGRAPHY SECOND EDITION", 19970916, p.397−398, US, John Wiley & Sons, Inc. *
JPN7010001394, 白石善明, ""RC4/arcfourの調査"", 2002年度暗号アルゴリズム関連技術の評価報告, 200202, No.0031, p.1−11, JP, CRYPTREC *

Also Published As

Publication number Publication date
US20030131233A1 (en) 2003-07-10
DE60301147D1 (de) 2005-09-08
EP1326367B1 (en) 2005-08-03
CA2415508A1 (en) 2003-07-04
EP1326367A1 (en) 2003-07-09
US7006628B2 (en) 2006-02-28
JP2003234732A (ja) 2003-08-22
JP4020197B2 (ja) 2007-12-12
DE60301147T2 (de) 2006-06-08

Similar Documents

Publication Publication Date Title
JP2007140566A (ja) 効率的なパケット暗号化方法
KR101527979B1 (ko) 정보 송신 보안 방법
US8249255B2 (en) System and method for securing communications between devices
KR101387799B1 (ko) 메시지 인증 방법
KR102609221B1 (ko) 카운터 기반의 암호 시스템들에서 개선된 인증형 암호화를 위한 방법들 및 시스템들
EP1127425A1 (en) Apparatus and methods for cryptographic synchronization in packet based communications
WO2007059558A1 (en) Wireless protocol for privacy and authentication
KR20170137872A (ko) 암호화 체크섬 생성
US8204216B2 (en) Processing method for message integrity with tolerance for non-sequential arrival of message data
KR101088549B1 (ko) 송신용 애플리케이션 패킷 처리 방법과 수신된 애플리케이션 패킷 세그먼트 처리 방법
US8122247B2 (en) Processing method for message integrity with tolerance for non-sequential arrival of message data
KR101150577B1 (ko) 크립토싱크 생성 방법
KR100551992B1 (ko) 어플리케이션 데이터의 암호화 및 복호화 방법
KR100797106B1 (ko) 무선랜에서 송수신되는 패킷의 암호화 및 복호화 방법
Yu et al. A lightweight secure data transmission protocol for resource constrained devices
Ahmad et al. Energy efficient sensor network security using Stream cipher mode of operation
CN101529798B (zh) 容许消息数据非顺序到达的情况下消息完整性的处理方法
Yu et al. Secure Broadcast in Wireless Sensor Networks
Ramakrishnan Wireless network security using a low cost pseudo random number generator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100507

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100809

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100812

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100906

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101006

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101028