JP2010515083A - 組み合わせコンバイナ暗号化方法 - Google Patents

組み合わせコンバイナ暗号化方法 Download PDF

Info

Publication number
JP2010515083A
JP2010515083A JP2009541607A JP2009541607A JP2010515083A JP 2010515083 A JP2010515083 A JP 2010515083A JP 2009541607 A JP2009541607 A JP 2009541607A JP 2009541607 A JP2009541607 A JP 2009541607A JP 2010515083 A JP2010515083 A JP 2010515083A
Authority
JP
Japan
Prior art keywords
symbols
input
symbol
pseudo
random 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
JP2009541607A
Other languages
English (en)
Other versions
JP2010515083A5 (ja
Inventor
ガントマン、アレクサンダー
ローズ、グレゴリー・ゴードン
チョイ、ジェ−ヒー
ノーレンバーグ、ジョン・ダブリュ.・ザ・セカンド
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2010515083A publication Critical patent/JP2010515083A/ja
Publication of JP2010515083A5 publication Critical patent/JP2010515083A5/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/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
    • 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
    • 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
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/08Randomization, e.g. dummy operations or using noise

Abstract

別の特徴は、暗号化されたシンボルのセキュリティを保護する効率的な暗号化方法を提供する。各平文シンボルは、別個の擬似ランダムに選択された変換テーブルを使用することにより暗号化される。シンボルのあらゆる可能な順列を変換テーブルとしてあらかじめ記憶することではなくて、変換テーブルは、擬似乱数と、シンボルシャッフリングアルゴリズムとに基づいてオンザフライで効率的に生成されることができる。受信デバイスは、同様に、受信された暗号化シンボルを暗号解読するためにオンザフライで逆変換テーブルを生成することができる。

Description

背景
[分野]
様々な例は、一般にセキュリティ保護された通信(secure communications)に関し、より詳細には、変換テーブル(translation tables)を効率的に生成することにより、シンボル(symbols)をセキュリティ保護する(secures)ストリーム暗号化(stream encryption)のための方法に関する。
[背景]
ストリーム暗号化は、通常、暗号化された出力または暗号文を生成するために、擬似乱数(pseudo-random numbers)のキーストリーム(keystream)を生成することと、それらを平文シンボル(plaintext symbols)と組み合わせることと、によって進む。普通は、2進キーストリームシンボルと2進平文シンボルは、排他的論理和(Exclusive-OR)(XOR)演算を使用してビット毎に組み合わせられる、というのは、それは自己反転型(self-inversive)であるからである。しかしながら、平文シンボル上でビット毎の暗号化(bit-wise encryption)を実行するのではなくて、全体の平文シンボル(whole plaintext symbol)を暗号化することが、時に望ましいこともある。それ故に、XOR演算は、使用されることができない。一般的には、平文シンボルは、暗号文シンボル(ciphertext symbol)を得るために、キーストリームシンボルのモジュロn(keystream symbol modulo n)に加算される。しかし、アクティブな攻撃者(attacker)は、特定のシンボルの位置(position)を知り、送信された暗号文シンボルから減算することにより、そのシンボルを変更することができる可能性がある。例えば、1組の平文ディジット(plaintext digits)(0から9)は、キーストリームのモジュロ10からの擬似ランダムに(pseudorandomly)生成されたディジット(digit)(0から9)に各ディジットを加算することにより、暗号化されることができる。しかしながら、特定の平文ディジットが、「1」であったが、出力暗号文ディジットは、「7」であったことを知っている攻撃者は、キーストリームディジットが、「6」であったことを決定することができ、そしてそのときには、その特定のシンボル位置のそれらの選択についての他の任意のディジットを正しく暗号化することができる。攻撃者は、平文シンボルと、キーストリームシンボルとがどのようにして組み合わせられているかを決定することができるので、そのような部分的な暗号解読は、暗号化された情報の残りについてのセキュリティを弱める。すなわち、ひとたび暗号文シンボルと、平文シンボルとの間の関係が見出された後に、その情報は、他の暗号文シンボルが、攻撃者によって暗号解読されることを可能にすることができるので、残りの暗号文シンボルのセキュリティは、損なわれる。さらに、簡単な数学的演算(例えば、加算、減算、乗算など)は、速く、そして効率的に平文シンボルと、キーストリームシンボルとを組み合わせるが、より複雑な数学的関数を使用することは、暗号化において注目に値する遅延を引き起こし、あるいはより多くの処理リソースを要求する可能性がある。
したがって、もし、1つの暗号化されたシンボルが見出されるあるいは解読される(discovered or broken)場合は、他のシンボルのセキュリティ(security)を弱めることのない効果的な暗号化方法が必要とされる。
データをセキュリティ保護するための、暗号化デバイス(encrypting device)上で動作する方法が、提供される。複数の入力シンボルが、暗号化デバイスによって得られる。擬似ランダムに選択された変換テーブルが、暗号化されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列(different symbol-to-symbol permutations)を定義する複数の変換テーブルから、得られる。入力シンボルは、各入力シンボルを個別に暗号化するために、入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して、対応する出力シンボルへ変換される。出力シンボルは、暗号解読デバイス(decrypting device)に送信されることができる。
さらに、第2の擬似ランダムに選択された変換テーブルが、暗号化されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから得られることができる。出力シンボルは、各入力シンボルをさらに個別に暗号化するために、出力シンボルのおのおのについてそれらの対応する第2の変換テーブルを使用して、対応する第2の出力シンボルへ変換されることができる。
一例においては、暗号化されるべき入力シンボルのおのおのについて擬似ランダムに選択された変換テーブルを得ることは、(a)第1の入力シンボルについての、擬似ランダムに選択された第1の変換テーブルを得ることと、(b)第2の入力シンボルについての、擬似ランダムに選択された第2の変換テーブルを得ることと、を含むことができる。入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して入力シンボルを対応する出力シンボルへ変換することは、(a)第1の変換テーブルを使用して第1の入力シンボルを第1の出力シンボルへ変換することと、(b)第2の変換テーブルを使用して第2の入力シンボルを第2の出力シンボルへ変換することと、を含むことができる。複数の入力シンボルは、1組のN個のシンボル(a set of N symbols)によって定義されることができ、但し、Nは、正の整数であり、変換テーブルは、N個のシンボルの順列である。
別の例においては、暗号化されるべき入力シンボルのおのおのについての、擬似ランダムに選択された変換テーブルを得ることは、(a)暗号化されるべき第1の入力シンボルについての第1の擬似乱数を得ることと、(b)該組のN個のシンボルの異なる順列を得るために該組のN個のシンボルをシャッフルすること(shuffling)、および第1の入力シンボルについての変換テーブルとしてその順列を使用することと、を含むことができる。
1つのコンフィギュレーション(configuration)においては、第1の擬似乱数は、(a)第1の入力シンボルについての擬似乱数を生成すること(generating)、但し、擬似乱数は、kビットの長さであり、そしてkは、正の整数である;(b)擬似乱数が最大数Pmaxの範囲内にあるかどうか、を決定すること(determining)、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数(the largest multiple of N factorial)である;(c)擬似乱数が最大数Pmaxよりも大きい場合は、擬似乱数を捨てること(discarding);(d)最大数Pmax以下である許容可能な擬似乱数が得られるまで、第1の入力シンボルについての異なる擬似乱数を得ること(obtaining);および/または(e)第1の擬似乱数を得るために許容可能な擬似乱数のモジュロNの階乗を除算すること(dividing the acceptable pseudorandom number modulo N factorial);によって得られることができる。該組のN個のシンボルをシャッフルすることは、(a)該組のN個のシンボルのうちのすべてのシンボルを用いて順列ベクトル(permutation vector)Pを初期化することと、(b)第1の擬似乱数に基づいて順列ベクトルの中のシンボルをシャッフルすることと、を含むことができる。
暗号化デバイス(encryption device)もまた、提供され、入力インターフェースと、処理回路と、を備える。入力インターフェースは、入力シンボルストリームを受信する役割を果たすことができる。処理回路は、(a)入力インターフェースから複数の入力シンボルを取得し、(b)暗号化されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから、擬似ランダムに選択された変換テーブルを取得し、かつ/または(c)各入力シンボルを個別に暗号化するために、入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して、入力シンボルを対応する出力シンボルへ変換する、ように構成されていることができる。暗号化デバイスは、出力シンボルを送信するための、処理回路に結合された出力インターフェースを含むこともできる。
複数の入力シンボルは、1組のN個のシンボルによって定義されることができ、但し、Nは、正の整数であり、そして変換テーブルは、N個のシンボルの順列である。暗号化デバイスはまた、(a)処理回路に結合されたキーストリームジェネレータと、なお、キーストリームジェネレータは、暗号化されるべき第1の入力シンボルについて第1の擬似乱数をキーストリームジェネレータから得るように構成されている;および/または(b)処理回路に結合された変換テーブルジェネレータと、なお、変換テーブルジェネレータは、該組のN個のシンボルの異なる順列を得るために該組のN個のシンボルをシャッフルする(shuffle)ように構成され、第1の入力シンボルについての変換テーブルとしてその順列を使用する;も含むことができる。
一例においては、処理回路は、さらに、(a)第1の入力シンボルについての擬似乱数を生成し、なお擬似乱数は、kビットの長さであり、そしてkは、正の整数である;(b)擬似乱数が最大数Pmaxの範囲内にあるかどうか、を決定し、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;(c)擬似乱数が、もし最大数Pmaxよりも大きい場合は、擬似乱数を捨て;(d)最大数Pmax以下である許容可能な擬似乱数が得られるまで、第1の入力シンボルについての異なる擬似乱数を取得し;かつ/または(e)第1の擬似乱数を得るために許容可能な擬似乱数ジュロNの階乗を除算する (divide the acceptable psedorandom modulo N factorial);ように構成されることもできる。
1つのコンフィギュレーションにおいては、暗号化デバイスの処理回路はまた、(a)暗号化されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから、第2の擬似ランダムに選択された変換テーブルを取得し、、かつ/または(b)各入力シンボルをさらに個別に暗号化するために、出力シンボルのおのおのについてそれらの対応する第2の変換テーブルを使用して、出力シンボルを対応する第2の出力シンボルへと変換する、ように構成されることもできる。
その結果として、(a)複数の入力シンボルを得るための手段、(b)暗号化されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから、擬似ランダムに選択された変換テーブルを得るための手段、(c)各入力シンボルを個別に暗号化するために入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して、入力シンボルを対応する出力シンボルへ変換するための手段、および/または(d)出力シンボルを暗号解読デバイスに送信するための手段、を備える暗号化デバイスが、提供される。暗号化デバイスはまた、(a)暗号化されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから、第2の擬似ランダムに選択された変換テーブルを得るための手段、および/または(b)各入力シンボルをさらに個別に暗号化するために、出力シンボルのおのおのについてそれらの対応する第2の変換テーブルを使用して、出力シンボルを対応する第2の出力シンボルへ変換するための手段、を含むこともできる。
1つのコンフィギュレーションにおいては、暗号化デバイスは、(a)第1の入力シンボルについての擬似ランダムに選択された第1の変換テーブルを得るための手段、(b)第2の入力シンボルについての擬似ランダムに選択された第2の変換テーブルを得るための手段、(c)第1の変換テーブルを使用して第1の入力シンボルを第1の出力シンボルへと変換するための手段、および/または(d)第2の変換テーブルを使用して第2の入力シンボルを第2の出力シンボルへ変換するための手段、を含むことができる。
一例においては、暗号化デバイスはまた、(a)暗号化されるべき第1の入力シンボルについて第1の擬似乱数を得るための手段、および/または(b)該組のN個のシンボルの異なる順列を得るために該組のN個のシンボルをシャッフルし、そして第1の入力シンボルについての変換テーブルとしてその順列を使用するための手段、を含むこともできる。
プロセッサによって実行されるときに、プロセッサに、(a)複数の入力シンボルを取得させ、(b)暗号化されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから、擬似ランダムに選択された変換テーブルを取得させ、かつ/または(c)各入力シンボルを個別に暗号化するために入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して入力シンボルを対応する出力シンボルへ変換させる、シンボルを暗号化するために動作可能な1つまたは複数の命令、を有する機械可読媒体もまた、提供される。複数の入力シンボルは、1組のN個のシンボルによって定義されることができる、但し、Nは、正の整数であり、そして変換テーブルは、N個のシンボルの順列である。
機械可読媒体は、プロセッサによって実行されるときに、プロセッサに、さらに、(a)暗号化されるべき第1の入力シンボルについての第1の乱数を取得させ、かつ/または(b)該組のN個のシンボルの異なる順列を取得するために該組のN個のシンボルをシャッフルし、そして第1の入力シンボルについての変換テーブルとしてその順列を使用させる1つまたは複数の命令、を含むこともできる。
1つのコンフィギュレーションにおいては、機械可読媒体は、プロセッサによって実行されるときに、プロセッサに、さらに、(a)第1の入力シンボルについての擬似乱数を生成させ、なお、擬似乱数は、kビットの長さであり、そしてkは、正の整数である;(b)擬似乱数が最大数Pmaxの範囲内にあるかどうか、を決定させ、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;(c)擬似乱数が、もし最大数Pmaxよりも大きい場合は、擬似乱数を捨てさせ;(d)最大数Pmax以下である許容可能な擬似乱数が得られるまで、第1の入力シンボルについての異なる擬似乱数を取得させ;かつ/または(e)第1の擬似乱数を得るために許容可能な擬似乱数のモジュロNの階乗を除算させる、1つまたは複数の命令、を含むこともできる。
シンボルを暗号解読するための方法もまた提供される。1組のn個のシンボル内で(within a set of n symbols)定義される複数の入力シンボルが、得られる。擬似ランダムに選択された逆変換テーブル(reverse translation table)が、暗号解読されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、選択される。次いで、入力シンボルは、各入力シンボルを個別に暗号解読するために、入力シンボルのおのおのについてそれらの対応する逆変換テーブルを使用して、対応する出力シンボルへ変換される。複数の入力シンボルは、1組のN個のシンボルによって定義されることができ、但し、Nは、正の整数であり、逆変換テーブルは、N個のシンボルの順列である。本方法は、(a)暗号解読されるべき第1の入力シンボルについての第1の擬似乱数を得ること、および/または(b)該組のN個のシンボルの異なる順列を得るために該組のN個のシンボルをシャッフルし、そして第1の入力シンボルについての逆変換テーブルとしてその順列を使用すること、をさらに含むことができる。
一例においては、第1の擬似乱数は、(a)第1の入力シンボルについての擬似乱数を生成すること、なお擬似乱数は、kビットの長さであり、そしてkは、正の整数である;(b)擬似乱数が最大数Pmaxの範囲内にあるかどうか、を決定すること、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;(c)擬似乱数が、もし最大数Pmaxよりも大きい場合は、擬似乱数を捨てること;(d)最大数Pmax以下である許容可能な擬似乱数が得られるまで、第1の入力シンボルについての異なる擬似乱数を得ること;および/または(e)第1の擬似乱数を得るために許容可能な擬似乱数のモジュロNの階乗を除算すること;によって得られることができる。
別のコンフィギュレーションにおいては、本方法は、(a)暗号解読されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、第2の擬似ランダムに選択された逆変換テーブルを得ること、および/または(b)各入力シンボルをさらに個別に暗号解読するために、出力シンボルのおのおのについてそれらの対応する第2の逆変換テーブルを使用して、出力シンボルを対応する第2の出力シンボルへ変換すること、をさらに含むことができる。
入力インターフェースと処理回路とを備える暗号解読デバイスが提供される。入力インターフェースは、入力シンボルストリームを受信することができる。処理回路は、(a)1組のn個のシンボル内で定義される複数の入力シンボルを取得し、(b)暗号解読されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、擬似ランダムに選択された逆変換テーブルを取得し、かつ/または(c)各入力シンボルを個別に暗号解読するために入力シンボルのおのおのについてそれらの対応する逆変換テーブルを使用して入力シンボルを対応する出力シンボルへ変換する、ように構成されることができる。
複数の入力シンボルは、1組のN個のシンボルによって定義されることができる、但し、Nは、正の整数であり、そして逆変換テーブルは、N個のシンボルの順列である。暗号解読デバイスはまた、(a)処理回路に結合されたキーストリームジェネレータと、なお、キーストリームジェネレータは、暗号解読されるべき第1の入力シンボルについてキーストリームジェネレータから第1の擬似乱数を得るように構成されている;および/または(b)処理回路に結合された逆変換テーブルジェネレータと、なお、逆変換テーブルジェネレータは、該組のN個のシンボルの異なる順列を得るために該組のN個のシンボルをシャッフルするように構成され、そして第1の入力シンボルについての逆変換テーブルとしてその順列を使用する;を含むこともできる。
複数の入力シンボルは、1組のN個のシンボルによって定義されることができる、但し、Nは、正の整数であり、そして逆変換テーブルは、N個のシンボルの順列である。処理回路は、さらに、(a)第1の入力シンボルについての擬似乱数を生成し、なお擬似乱数は、kビットの長さであり、そしてkは、正の整数である;(b)擬似乱数が最大数Pmaxの範囲内にあるかどうか、を決定し、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;(c)擬似乱数が、もし最大数Pmaxよりも大きい場合は、擬似乱数を捨て;(d)最大数Pmax以下である許容可能な擬似乱数が得られるまで、第1の入力シンボルについての異なる擬似乱数を取得し;かつ/または(e)第1の擬似乱数を得るために許容可能な擬似乱数のモジュロNの階乗を除算する、ように構成されることもできる。
別の例においては、処理回路は、さらに、(a)暗号解読されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、第2の擬似ランダムに選択された逆変換テーブルを取得し、かつ/または(b)各入力シンボルをさらに個別に暗号解読するために出力シンボルのおのおのについてそれらの対応する第2の逆変換テーブルを使用して、出力シンボルを対応する第2の出力シンボルへ変換する、ように構成されることができる。
その結果として、(a)1組のn個のシンボル内で定義される複数の入力シンボルを得るための手段、(b)暗号解読されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、擬似ランダムに選択された逆変換テーブルを得るための手段、および/または(c)各入力シンボルを個別に暗号解読するために入力シンボルのおのおのについてそれらの対応する逆変換テーブルを使用して入力シンボルを対応する出力シンボルへと変換するための手段、を備える暗号解読デバイスもまた、提供される。複数の入力シンボルは、1組のN個のシンボルによって定義されることができる、但し、Nは、正の整数であり、そして逆変換テーブルは、N個のシンボルの順列である。暗号解読デバイスは、(a)暗号解読されるべき第1の入力シンボルについて第1の擬似乱数を得るための手段、および/または(b)該組のN個のシンボルの異なる順列を得るために該組のN個のシンボルをシャッフルし、そして第1の入力シンボルについての逆変換テーブルとしてその順列を使用するための手段、をさらに含むこともできる。第1の擬似乱数は、(a)第1の入力シンボルについての擬似乱数を生成するための手段、なお擬似乱数は、kビットの長さであり、そしてkは、正の整数である;(b)擬似乱数が最大数Pmaxの範囲内にあるかどうか、を決定するための手段、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;(c)擬似乱数が、もし最大数Pmaxよりも大きい場合は、擬似乱数を捨てるための手段;(d)最大数Pmax以下である許容可能な擬似乱数が得られるまで、第1の入力シンボルについての異なる擬似乱数を得るための手段;および/または(e)第1の擬似乱数を得るために許容可能な擬似乱数のモジュロNの階乗を除算するための手段;によって得られる。
プロセッサによって実行されるときに、プロセッサに、(a)1組のn個のシンボル内で定義される複数の入力シンボルを取得させ、(b)暗号解読されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、擬似ランダムに選択された逆変換テーブルを取得させ、かつ/または(c)各入力シンボルを個別に暗号解読するために、入力シンボルのおのおのについてそれらの対応する逆変換テーブルを使用して、入力シンボルを対応する出力シンボルへ変換させる、シンボルを暗号解読するための1つまたは複数の命令、を有する機械可読媒体もまた、提供される。複数の入力シンボルは、1組のN個のシンボルによって定義される、但し、Nは、正の整数であり、そして逆変換テーブルは、N個のシンボルの順列である。
機械可読媒体はまた、プロセッサによって実行されるときに、プロセッサに、さらに、(a)暗号解読されるべき第1の入力シンボルについての第1の擬似乱数を取得させ、かつ/または(b)該組のN個のシンボルの異なる順列を得るために該組のN個のシンボルをシャッフルし、そして第1の入力シンボルについての逆変換テーブルとしてその順列を使用させる、1つまたは複数の命令、を備えることもできる。
別の例においては、機械可読媒体はまた、プロセッサによって実行されるときに、プロセッサに、さらに、(a)暗号解読されるべき入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、第2の擬似ランダムに選択された逆変換テーブルを取得させ、かつ/または(b)各入力シンボルをさらに個別に暗号解読するために、出力シンボルのおのおのについてそれらの対応する第2の逆変換テーブルを使用して、出力シンボルを対応する第2の出力シンボルへ変換させる、1つまたは複数の命令、を備えることもできる。
図1は、セキュリティデバイスが、電話とセキュリティ保護されたサーバとの間のある種の通信を、セキュリティ保護するために、通信回線に沿って電話に結合されることができるシステムを示す。 図2は、図1の電話と発行機関(issuing institution)に属するセキュリティサーバとの間のある種の通信を、セキュリティ保護するための一方法を示す流れ図である。 図3は、送信中にDTMFトーンをセキュリティ保護することを可能にすることができるテレサービスセキュリティサーバ(tele-services security server)の一例のブロック図を示す。 図4は、電話デバイスからのDTMFトーンをセキュリティ保護するための、セキュリティサーバ上で動作する一方法を示す。 図5は、送信中にDTMFトーンを保護するように構成されることができるセキュリティデバイスの一例のブロック図を示す。 図6は、電話デバイスからのDTMFトーンをセキュリティ保護するための、セキュリティデバイス上で動作する一方法を示す。 図7は、セキュリティサーバを用いてそれ自体を認証するように構成されたモバイル通信デバイスのブロック図である。 図8は、通信ネットワーク上でテレサービス局に対してモバイル通信デバイスを認証するための一方法を示す流れ図である。 図9は、暗号化されるべき各シンボルについて変換テーブルを擬似ランダムに選択することにより、平文シンボルをセキュリティ保護するための組み合わせコンバイナのブロック図を示す。 図10は、平文シンボルを暗号化されたシンボルに変換するための、シンボルごとの変換テーブル(a symbol-to-symbol translation table)の一例を示す。 図11は、どのようにして平文シンボルが、暗号化されたシンボルを得るために異なる変換テーブルを使用して暗号化されることができるのかの一例を示す。 図12は、1組のn個のシンボルについての複数の可能な順列から変換テーブルを選択するためのアルゴリズムを示しており、ここでnは、正の整数である。 図13は、単一の平文シンボルを暗号化するために複数の変換テーブルを使用することにより、シンボル認証を達成することができる別の暗号化スキームを示すブロック図である。 図14は、どのようにして複数の変換テーブルが、対応する暗号化されたシンボルを得るために各平文シンボルを暗号化するために使用されることができるのかを示す。 図15は、どのようにして2つの変換テーブルが、平文シンボルを暗号化されたシンボルへ変換または暗号化するために使用されることができるのかの一例を示す。 図16は、一例による、平文暗号化を実行するための一方法を示す。 図17は、どのようにして暗号化されたシンボルが、単一の平文シンボルを得るために1つまたは複数の逆変換テーブルを使用することにより暗号解読されることができるのかを示すブロック図である。 図18は、一例による、平文暗号化を実行するための一方法を示す。 図19は、一例による暗号化モジュールを示すブロック図である。 図20は、一例による暗号解読モジュールを示すブロック図である。
詳細な説明
以下の説明においては、具体的な詳細が、例の十分な理解を提供するために与えられる。しかしながら、それらの例は、これらの特定の詳細なしに実行されることができることが、当業者によって理解されるであろう。例えば、回路は、それらの例を不必要に詳細にあいまいにしないようにするために、ブロック図の形で示されなくてもよい。
また、例は、フローチャート、流れ図、構造図、またはブロック図として示されるプロセスとして説明されることができることにも注意すべきである。フローチャートは、逐次的なプロセスとしてオペレーションを説明することができるが、オペレーションの多くは、並列に、あるいは同時に実行されることができる。さらに、オペレーションの順序は、並べ換えられる(re-arranged)ことができる。プロセスは、そのオペレーションが完了されるときに終了される。プロセスは、方法、ファンクション(function)、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。プロセスが、ファンクションに対応するとき、その終了は、呼出しファンクション(calling function)または主要ファンクションに対するファンクションのリターン(return)に対応する。
さらに、ストレージ媒体は、読取り専用メモリ(read-only memory)(ROM)、ランダムアクセスメモリ(random access memory)(RAM)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および/または情報を記憶するための他の機械可読媒体を含めて、データを記憶するための1つまたは複数のデバイスを表すことができる。用語「機械可読媒体」は、それだけには限定されないが、ポータブルストレージデバイスまたは固定ストレージデバイスと、光ストレージデバイスと、ワイヤレスチャネルと、命令(単数または複数)および/またはデータを記憶し、含み、あるいは搬送することができる様々な他の媒体と、を含む。
さらに、様々なコンフィギュレーションは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、あるいはそれらの組合せによってインプリメントされることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードの形でインプリメントされるときには、説明されたタスクを実行するプログラムコードまたはコードセグメントは、ストレージ媒体や他のストレージ手段などの機械可読媒体に記憶されることができる。プロセッサは、定義されたタスクを実行することができる。コードセグメントは、プロシージャ、ファンクション、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの組合せを表すことができる。コードセグメントは、情報、データ、引数(arguments)、パラメータ、またはメモリ内容を渡すこと、および/または受け取ることにより、別のコードセグメントまたはハードウェア回路に結合されることができる。情報、引数、パラメータ、データなどは、とりわけメモリ共有、メッセージパッシング(message passing)、トークンパッシング(token passing)、およびネットワーク送信を含めて適切な手段を経由して、渡され、転送され、または送信されることができる。ここにおいて開示される方法は、ハードウェア、ソフトウェア、またはそれらの両方の形でインプリメントされることができる。
ここにおいて開示される例に関連して説明される様々な例示的な論理的なブロック、モジュール、回路、要素、および/またはコンポーネントは、ここにおいて説明される機能を実行するように設計された汎用プロセッサ、デジタル信号プロセッサ(digital signal processor)(DSP)、特定用途向け集積回路(application specific integrated circuit)(ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array)(FPGA)または他のプログラマブルロジックコンポーネント、個別ゲートまたはトランジスタロジック、個別ハードウェアコンポーネント、あるいはそれらの任意の組合せを用いてインプリメントされ、または実行されることができる。汎用プロセッサは、マイクロプロセッサとすることができるが、代替案においては、プロセッサは、従来の任意のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることもできる。プロセッサはまた、コンピューティングコンポーネント(computing component)の組合せとして、例えばDSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコアと組み合わされた1つまたは複数のマイクロプロセッサ、あるいは他のそのような任意のコンフィギュレーションとしてインプリメントされることもできる。
ここにおいて開示される例と関連して説明される方法またはアルゴリズムは、処理ユニット、プログラミング命令、または他の指示の形態において、ハードウェアの形で、プロセッサにより実行可能なソフトウェアモジュールの形で、あるいは両方の組合せの形で直接に実施されることができ、そして単一のデバイスの中に含まれ、あるいは複数のデバイスを通して分散されることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱可能ディスク、CD−ROM、あるいは当技術分野において知られている他の任意の形態のストレージ媒体の中に存在することができる。ストレージ媒体は、プロセッサが、そのストレージ媒体から情報を読み取り、そのストレージ媒体へと情報を書き込むことができるようにプロセッサに結合されることができる。代替案においては、ストレージ媒体は、プロセッサと一体化していてもよい。
1つの特徴は、顧客の電話回線と直列に挿入されることができる小型フォームファクタ(small form-factor)のセキュリティデバイスを提供し、これは、2ファクタの認証スキームにおける第2のファクタとしての役割を果たし、DTMFトーンを暗号化し、それによって慎重な扱いを要する情報(sensitive information)の開示を防止する。本デバイスは、電話の通常オペレーションには干渉しない。本デバイスは、それらが関連づけられるバンクおよび支払いのサービスについてブランドの機会(branding opportunity)を提供することもできる小型フォームファクタの容器(enclosure)を含むことができる。本デバイスは、それが結合される電話回線から電力を供給されることができる。1つのコンフィギュレーションにおいては、複数のそのようなデバイスは、複数の異なるパーティ(例えば、銀行)とのセキュリティ保護された通信を提供するために電話回線に沿ってチェーン接続され(chained)、あるいはカスケード接続されることができる。
別の特徴は、暗号化されたシンボルのセキュリティを保護する効率的な暗号化方法を提供する。各平文シンボルは、別個の擬似ランダムに選択された変換テーブルを使用することにより暗号化される。シンボルのあらゆる可能な順列を変換テーブルとしてあらかじめ記憶するのではなくて、変換テーブルは、擬似乱数と、シンボルシャッフリングアルゴリズム(symbol shuffling algorithm)とに基づいてオンザフライで(on-the-fly)効率的に生成されることができる。受信デバイスは、同様に、受信された暗号化シンボルを暗号解読するために、オンザフライで逆変換テーブルを生成することもできる。
DTMFトーンをセキュリティ保護すること(Securing DTMF Tones)
図1は、セキュリティデバイス102(security device)が、電話104と、セキュアサーバ(secure server)108との間のある種の通信をセキュリティ保護するために通信回線に沿って電話104に結合されることができるシステムを示している。セキュリティデバイス102は、電話104と、通信ネットワーク106との間の電話回線上でインラインに、あるいは直列に接続されることができる小型フォームファクタのデバイスとすることができる。セキュリティデバイス102は、電話104の近くの、またはそれに近接した電話回線に結合されることができる。
一例においては、セキュリティデバイス102は、アカウントおよび/または発行機関(issuing institution)108(例えば、銀行、クレジットカード会社など)に関連づけられることができる。例えば、銀行は、そのようなセキュリティデバイス102をその顧客に対して支給することができ、各セキュリティデバイスは、顧客、または顧客のアカウントに一意に関連づけられる。発行機関108は、顧客との電話トランザクションを容易にするセキュリティサーバ110を有することができる。
図2は、図1の電話104と、発行機関108に属するセキュリティサーバ110との間のある種の通信をセキュリティ保護するための一方法を示す流れ図である。セキュリティデバイス102は、アクティブモードのオペレーションと、非アクティブ(パッシブ)モードのオペレーションとを有することができる。セキュリティデバイス102が、発行機関108(例えば、セキュリティサーバ110)以外の誰かを呼び出すために使用されるときには、それは非アクティブであり、そしてその呼出しは、DTMFトーンを含めて、不変に、ただセキュリティデバイス102を通過する。しかしながら、電話104が、発行機関に対して呼出しを開始する208ときに、セキュリティサーバ110(例えば、セキュリティサーバ110)は、セキュリティデバイスをウェイクアップする(wakes up)アクティブ化信号(activation signal)を送信する210。アクティブ化信号は、セキュリティデバイス102が、一致によってトリガされる可能性が高くないことをかなり確実にするのに、十分に長く、かつ/または一意である(例えば、十分なディジットまたはシンボルを有する)ようにすることができる。一例においては、このアクティブ化信号は、どのような情報も実際には搬送することができず、非アクティブ(パッシブ)モードからアクティブモードへと切り換えるために、ただセキュリティデバイス102をトリガし、あるいはアクティブにするだけである。例えば、アクティブ化信号は、セキュリティデバイス102によって認識される短い一片の音楽またはトーンとすることができる。セキュリティデバイス102は、セキュリティサーバ110からのアクティブ化信号(例えば、DTMFトーンの一意の組)をリッスンし(listens)、認識し、そしてアクティブモードへと変化する212。一例においては、アクティブ化信号を受信するとすぐに、セキュリティデバイス102は、電話からセキュリティサーバ110へのすべてのDTMFトーンを暗号化することを開始することができる。
1つのコンフィギュレーションにおいては、チャレンジ−レスポンススキーム(challenge-response scheme)が、セキュリティデバイス102と、セキュリティサーバ110との間でインプリメントされることができる。アクティブ化信号に加えて、セキュリティサーバ110は、ランダムなチャレンジをセキュリティデバイスに対して送信する214ことができる。セキュリティデバイス102は、チャレンジを受信し、応答(例えば、識別子、およびチャレンジに対するレスポンス)を生成し216、そしてセキュリティサーバ110に対してその応答を送信する。応答は、セキュリティデバイス102に関連する識別子と、チャレンジに対するレスポンスとを含むことができる。セキュリティデバイス102は、電話104からセキュリティサーバ110への後続のDTMFトーンを暗号化するために使用されることができるセッションキー(session key)を生成することもできる。
応答は、セキュリティサーバ110に、それが、関連するセキュリティデバイスと通信していること、を通知する。セキュリティサーバ110は、特定の顧客のアカウントをルックアップする(look-up)220ためにその識別子を使用することができ、それによって、顧客が彼ら自体を手動で識別するトラブルを不要にする(saving)(例えば、顧客に、彼らのアカウント番号を入力させることを避ける)。セキュリティサーバ110は、ユーザを認証するために、セキュリティデバイス102とセキュリティサーバ110との両方において用意される、認証キー(an authentication key)とランダムなチャレンジ(random challenge)とに基づいて、レスポンスが正しいことを検証する(verify)222こともできる。セキュリティデバイス102は、ユーザの電話に近接して(例えば、ユーザのホームの内側に)位置するので、攻撃者は、攻撃を開始するためにはそれを盗まなければならないであろうことに、留意が必要である。
同じチャレンジとレスポンスとを使用することにより、セキュリティサーバ110は、セキュリティデバイス102が計算する224ときに、同じセッションキー(session key)を計算する226。セキュリティサーバ110が、それがセキュリティデバイス102から受信する応答と意見を異にする(あるいはレスポンスを全く受信しない)場合、その呼出しは、より説得力のある識別および/または認証のために代替経路に迂回させられることができる。すなわち、セキュリティデバイス102は、受信されたランダムなチャレンジと認証キーとに基づいてそのレスポンスを計算することができる。次いで、セキュリティサーバ110は、ローカルなレスポンスを(ランダムなチャレンジと認証キーとに基づいて)計算することにより、受信されたレスポンスを検証し、そしてそれをセキュリティデバイス102からの受信されたレスポンスと比較することができる。
チャレンジ−レスポンスが、適切に認証される場合、セキュリティサーバ110は、新しく導き出されたセッションキーを使用して、認証される確認(confirmation that is authenticated)を送信する228。この確認は、電話104からやって来るDTMFトーンを暗号化することを開始するようにセキュリティデバイス102に通知する。セキュリティサーバからの確認に伴う問題が存在する(例えば、それが、ある種の最大時間内にセキュリティデバイス102によって受信されない、あるいは確認が、失敗する、などの)場合、セキュリティデバイス102は、ユーザに対する警告信号を生成することができる。例えば、チャレンジ−レスポンス認証が失敗する場合、ライトが、フラッシュする(またはONになる)ことができ、あるいはアラームが、鳴ることができる。さらに、ライト(例えば、発光ダイオード−LED)は、セキュリティデバイス102が、アクティブであり、かつ/またはチャレンジ−レスポンスが、正常に認証されることを示すように、輝くことができる。
ひとたび、チャレンジ−レスポンスが、正常に認証された後に、一例においては、セッションキーは、電話104からセキュリティサーバへの送信を暗号化するためにセキュリティデバイス102によって使用されることができる。ひとたび暗号化が開始された後に、セキュリティデバイスは、電話からやって来るDTMFトーンを遮断し232、そしてその代わりに暗号化されたDTMFトーンを送信する234。DTMFトーンのそのような暗号化の一例においては、電話104からのDTMFトーンは、異なるDTMFトーンへと変換されることができ、この異なるDTMFトーンは、次いでセキュリティサーバ110に対して送信される。別のコンフィギュレーションにおいては、DTMFトーンは、セキュリティデバイス102によってデジタルシンボルに変換されることができ、これらのデジタルシンボルは、次いで暗号化され、そしてセキュリティサーバ110に対して送信される。セキュリティデバイス102はまた、他のどんなもの(非DTMFトーンまたは信号)でもそれを修正すること、または暗号化することなしに、両方向に渡す。ユーザが要求されることができる第1の物事のうちの1つは、それらのアカウントに関連するPIN番号を入力することであるので、このPIN番号に関連するDTMFトーンは、暗号化され、そして認証のための第2のファクタを形成することができる。同様に、セキュリティサーバ110は、電話からセキュリティデバイスを経由して受信されるDTMFトーンを暗号解読する236ためにセッションキーを使用することができる。
代替コンフィギュレーションにおいては、セキュリティデバイス102は、特定の発行機関108に関連する特定の電話番号(単数または複数)を認識するように構成されていることができる。セキュリティデバイス102が、電話が特定の電話番号をダイアルしていることを認識するときに、そのセキュリティデバイスは、アクティブモードに自動的に切り換わり、かつ/または電話からセキュリティサーバ110へのすべてのDTMFトーンを暗号化することができる。
セキュリティデバイス102は、呼出しが終了されるまで電話104からのDTMFトーンを暗号化し続けることができ、このポイントにおいて、セキュリティデバイス102は、非アクティブモードに切り換わって戻り、ここでセキュリティデバイスは、すべてのDTMFトーンが、不変に通過することを可能にする。
セキュリティデバイス102は、小型フォームファクタを有することができるので、それは、電話回線に容易にプラグインされることができる。ユーザは、ユーザが、異なるロケーション(例えば、ホーム、オフィスなど)からアカウントにセキュリティ上安全にアクセスすることができるようにするために、単一の機関またはアカウントに関連する複数のセキュリティデバイスを有することができる。ユーザはまた、様々な異なる機関および/またはアカウントに関連する複数のセキュリティデバイスを有することもできる。これらの複数のセキュリティデバイスは、電話回線に沿って直列に結合されることができる。チェーンの中の非アクティブなセキュリティデバイスは、ただそのチェーンの中の次のセキュリティデバイスに信号を渡すだけである。チェーンの中のセキュリティデバイスが、セキュリティサーバによってアクティブにされる場合、そのときには、それは、電話からのDTMFトーンを暗号化する。
別の例においては、セキュリティデバイス102は、1つの電話またはロケーションから、複数のユーザにサーブする(serve)ことができる。そのような場合には、セキュリティサーバは、セキュリティデバイスが、複数のユーザまたはアカウントに関連することを識別することができる。各ユーザの間で区別するために、セキュリティサーバは、特定のユーザまたはアカウントを識別するPINまたは他の識別子を入力するようにユーザに要求する音声プロンプト(voice prompt)を送信することができる。
図3は、送信中にDTMFトーンをセキュリティ保護することを可能にすることができるテレサービスセキュリティサーバの一例のブロック図を示している。セキュリティサーバ302は、小型および/または低パワーのマイクロプロセッサなどの処理回路(processing circuit)304を含むことができる。セキュリティサーバ302は、セキュリティサーバ302を通信ネットワークに結合するために使用される第1の通信モジュール306を含むことができる。認証モジュール(authentication module)308は、セキュリティサーバ302が、それが通信するセキュリティデバイスを認証することを可能にする。DTMF暗号解読モジュール(DTMF decryption module)308は、セキュリティサーバ302が、セキュリティデバイスから受信される暗号化されたDTMFトーンを暗号解読する(decrypt encrypted DTMF tones)ことを可能にする。
図4は、電話デバイスからのDTMFトーンをセキュリティ保護するための、セキュリティサーバ上で動作する一方法を示している。呼出しが、DTMFがイネーブルにされた電話(DTMF-enabled telephone)から受信される402。アクティブ化信号が、DTMFがイネーブルにされた電話に関連するセキュリティデバイスに対して送信される404。セキュリティデバイスは、DTMFがイネーブルにされた電話に近接して近くに位置することができる。次いで、セキュリティデバイスは、セキュリティサーバによって認証される。例えば、チャレンジ信号が、セキュリティデバイスに対して送信される406。セキュリティサーバは、レスポンスが、セキュリティデバイスから受信されるかどうか408を決定する。受信されない場合、そのときには、セキュリティデバイスが、電話回線(telephone line)上に存在していない410ことが仮定されることができる。そうでない場合には、セキュリティサーバは、受信されたレスポンスが、正常に認証される(successfully authenticated)ことができるのかどうか412を決定する。受信されたレスポンスが、正常に認証されることができない場合、そのときには認証は、失敗する414。そうでない場合には、セッションキーが、生成される416。セッションキーによって認証される確認メッセージが、セキュリティデバイスに送信される418。セキュリティサーバは、セキュリティデバイスからの暗号化されたDTMFトーンを受信する420ことができる。次いで、セキュリティサーバは、電話によって送信される情報を得るために受信されたDTMFトーンを暗号解読する422ことができる。そのようなDTMFトーンは、元のDTMFトーンを暗号化することにより送信中に盗聴者から保護される機密情報(例えば、アカウント番号、パスワード、PINなど)を表すことができる。
図5は、送信中にDTMFトーンを保護するように構成されていることができるセキュリティデバイスの一例のブロック図を示している。セキュリティデバイス502は、小型および/または低パワーのマイクロプロセッサなどの処理回路504を含むことができる。セキュリティデバイス502は、それが結合される電話回線によって電力を供給されることができる。第1の通信インターフェースA506は、セキュリティデバイス502を電話に結合するために使用されることができる。第2の通信インターフェースB508は、セキュリティデバイス502を通信ネットワークに結合するために使用されることができる。パッシブモードのオペレーションにおいては、セキュリティデバイス502は、すべてのDTMFトーンを不変に通過させる。処理回路504は、(例えば、セキュリティサーバからの)アクティブ化信号をリッスンするように構成されていることができる。DTMF検出器510は、セキュリティデバイスをアクティブモードのオペレーションに切り換えるDTMFアクティブ化信号を検出するように構成されていることができる。アクティブモードにおいては、セキュリティデバイス502は、セキュリティサーバからの認証チャレンジにレスポンスする(respond)ように構成されていることができる。
アクティブ化モードにおいては、DTMF検出器510はまた、通信インターフェースA506を経由して受信される(例えば、電話からやって来る)DTMFトーンを検出するように構成されていることもできる。1つまたは複数のDTMFトーンが、検出される場合、DTMFトーンは、暗号化され、あるいはそうでなければDTMF暗号化モジュール(DTMF encryption module)512によって修正される。次いで、暗号化されたDTMFトーンは、通信インターフェースB508を通してセキュリティサーバに対して送信される。
図6は、電話デバイスからのDTMFトーンをセキュリティ保護するための、セキュリティデバイス上で動作する一方法を示している。セキュリティデバイスは、呼出しが、電話とセキュリティサーバとの間で開始されるとすぐに電力を供給される602。すなわち、呼出しが行われるときに通信回線はエネルギーが供給されるので、セキュリティデバイスは、通信回線からその電力を引き出すことができる。パッシブモード(passive mode)のオペレーションにおいて、セキュリティデバイスは、DTMFトーンが、第1の通信インターフェースと、第2の通信インターフェースとの間を不変に通過する(pass through unchanged)ことを可能にする604。例えば、第1の通信インターフェースは、電話に結合されることができ、そして第2の通信インターフェースは、第2の通信インターフェースに結合されることができる。セキュリティデバイスは、(DTMF)アクティブ化信号が、セキュリティサーバから受信されるかどうか606を決定するように送信を監視する。セキュリティデバイスは、アクティブ化信号が受信されない限り、パッシブモードで動作することを継続する。DTMFアクティブ化信号が、受信される場合、セキュリティデバイスは、アクティブモードのオペレーションへと変化する608。セキュリティデバイスはまた、セキュリティサーバからの他の信号をリッスンする610こともできる。
セキュリティデバイスは、セキュリティサーバからのチャレンジを受信する612ことができる。セキュリティデバイスは、そのチャレンジに対してレスポンスで応答する614。そのレスポンスが、有効である場合、セキュリティデバイスは、セキュリティサーバが、セキュリティデバイスを正常に認証していることを示す確認を受信する616ことができる。
ひとたびアクティブ化され、そして適切に認証された後に、セキュリティデバイスは、電話からのDTMFトーンをリッスンする。DTMFトーンが、(セキュリティデバイスが結合される)電話から第1の通信インターフェース上で受信される618場合、受信されたDTMFトーンは、異なるDTMFトーンへと暗号化される620。一例においては、電話からのDTMFトーンは、異なるDTMFトーンへと変換されることができ、この異なるDTMFトーンは、次いでセキュリティサーバへと送信される。別のコンフィギュレーションにおいては、DTMFトーンは、セキュリティデバイス102によってデジタルシンボルへと変換されることができ、このデジタルシンボルは、次いで暗号化され、そしてセキュリティサーバに対して送信される。次いで、暗号化されたDTMFトーンは、第2の通信インターフェース上でセキュリティサーバへと送信される622。セキュリティデバイスは、呼出しが終了するまで、電話からのDTMFトーンを暗号化し続け、その時に、セキュリティデバイスは、パッシブモードに戻る624。セキュリティデバイス102は、電話からの暗号化されていないDTMFトーンが、セキュリティサーバに対して渡らないようにする。一例においては、セキュリティデバイス102は、ネットワークがアクティブである間にすべての入力(例えば、送信)を電話から切り離すことができる。この場合においては、例えば、顧客が、代理人(representative)と話す必要がある場合、顧客またはセキュリティサーバのいずれかが、入力を再接続する(例えば、セキュリティデバイス102からの送信を可能にする)ための何らかの用意が存在していてもよい。
セルラ電話のセキュリティスキーム(Cellular Phone Security Scheme)
図7は、セキュリティサーバを用いてそれ自体を認証するように構成されたモバイル通信デバイスのブロック図である。モバイル通信デバイス702は、通信モジュール706と、ユーザ入力インターフェース708とに結合される処理回路704を含んでいる。通信モジュール706は、モバイル通信デバイス702が、ワイヤレス通信ネットワーク710上で通信することを可能にする。処理回路704は、呼出し中に1つまたは複数のセキュリティサーバを用いてそれ自体を認証するように構成されていることができる。例えば、モバイル通信デバイスは、銀行または金融機関が、モバイル通信デバイス702のユーザを認証することを可能にする認証キーおよび/またはユーザ識別子を用いて構成されていることができる。認証キーおよび/またはユーザ識別子は、銀行または金融機関によって事前に(例えば、セットアップまたはコンフィギュレーション中に)提供されることができる。さらに、処理回路704はまた、認証プロシージャを完了するためにユーザからのPIN、パスワード、および/または他の入力を要求することもできる。
図8は、通信ネットワーク上でテレサービス局804に対してモバイル通信デバイス802を認証するための一方法を示す流れ図である。モバイル通信デバイス802は、モバイル電話とすることができ、そしてテレサービス局804は、銀行または金融機関に関連づけられたセキュリティサーバを含むことができる。モバイル通信デバイス802とテレサービス局804(tele-services station)とは、おのおの同じ認証キーを有することができる。
モバイル通信デバイスは、テレサービス局に関連する発行機関に対して呼出しを開始する806ことができる。発行機関は、例えば、銀行または金融機関とすることができる。テレサービス局は、モバイル通信デバイスに対してランダムな認証チャレンジ(random authentication challenge)808を送信する。次いで、モバイル通信デバイスは、ランダムなチャレンジと、認証キーとに基づいてレスポンスを生成し809、そしてレスポンスと、(もしかすると)ユーザ識別子とをテレサービス局に対して送信する810。次いで、テレサービス局は、モバイル通信デバイスからのレスポンスが、正しいかどうかを検証する812。その認証キーと、ランダムな認証チャレンジとに基づいて検証値を計算し、そしてそれをモバイル通信デバイスから受信されるレスポンスと比較するテレサービス局によって行われることができる。レスポンスが、正常に認証される場合、認証確認(authentication confirmation)814は、モバイル通信デバイスに対して送信されることができる。モバイル通信デバイスは、テレサービス局からの慎重な扱いを要する情報(sensitive information)(例えば、銀行アカウント記録など)を要求する816ことができる。モバイル通信デバイスが、正常に認証される場合、そのときには、テレサービス局は、要求された、慎重な扱いを要する情報をモバイル通信デバイスに対して供給する818。このようにして、モバイル通信デバイス(例えば、モバイル電話)は、呼出し中に慎重な扱いを要する情報の送信をセキュリティ保護するために、テレサービス局によって認証されることができる。
脅威モデル(Threat Models)
ここにおいて説明されるセキュリティデバイスおよび/または方法によって対処される1タイプの脅威(threat)は、盗聴攻撃である。そのような攻撃においては、攻撃者は、電話上でユーザによって入力される番号に関連するDTMFトーンをリッスンするために、電話線に対してレコーダを攻撃することができる。これらのDTMFトーンは、個人および/または機密の情報のうちでもとりわけ、呼び出されている銀行、ユーザの顧客番号および/またはアカウント番号、個人識別番号(PIN)、社会保障番号を、識別することができる。次いで、攻撃者は、ユーザのアカウントからの不正なトランザクションを実行するためにこの情報を使用することができる。ここにおいて説明されるセキュリティデバイスは、DTMFトーンを暗号化すること、およびさらなる認証を提供することにより、そのような攻撃を打ち負かす(defeat)。ほとんどの機関(例えば、銀行など)は、認証についての2つのファクタ(例えば、セキュリティデバイスの所有と、PINの知識と)を使用することができるので、他の慎重な扱いを要する情報を要求する必要があることは、まれであることになる。暗号化されたDTMFトーンを単に遮断することは、対応するアカウント番号、PINなどについて何も明らかにはしない。
攻撃者は、成功するためには、例えば、呼出しが、対象とする(received)レシーバ(例えば、対象とする銀行)へと進まないようにすることにより、呼出しの進行に干渉し、呼出し者にすべての慎重な扱いを要する情報を入力するように要求して、対象とする(intending)レシーバのふりをする必要があることになる。そのような攻撃を打ち負かすためには、セキュリティデバイスは、「暗号化開始(start encrypting)」信号(すなわち、認証された確認)が、受信機関から受信された後に、セキュリティインジケータ(例えば、ライト)をオン(On)にすることができる。呼出し者(例えば、顧客)は、セキュリティデバイスが、任意の慎重な扱いを要する情報または機密情報を入力する前にそのトーンを暗号化していることを確認するために、ただセキュリティインジケータを検査するだけである。
別のタイプの攻撃は、セッションハイジャック攻撃(session hijacking attack)とすることができ、ここでは、攻撃者は、ユーザが、対象とするレシーバ(例えば、銀行)との通信を確立するまで待ち、そのようにして、セキュリティインジケータをアクティブにし、そしてその後に呼出しを乗っ取る。次いで、攻撃者は、呼出しと共に何かが間違ったようなふりをし、そしてユーザに慎重な扱いを要する情報を口頭で提供するように要求することができる。代わりに、攻撃者は、ユーザに、トーン毎の暗号パターンを確立することを試みるために(攻撃者に既に知られている)特定のレスポンスを入力するように要求し、そしてその後に、銀行に対する彼ら自体のレスポンスを暗号化するためにトーン毎の会話を使用することができる。このタイプの攻撃に対処するために、トーン毎の暗号化は、擬似ランダムベース、回転ベース、および/または番号からトーンの関係の発見を禁止する他のベース、に基づいて変更され、あるいは修正されることができる。
メッセージおよびセッションの認証(Message and Session Authentication)
セキュリティデバイスは、例えば、メッセージ認証コード(Message Authentication Code)(MAC)ファンクションを使用することにより、メッセージ認証とセッションキー導出とを実行するように構成されていることができる。例えば、セキュリティサーバは、MACの単一の呼出し(チャレンジ)から出力を分離することにより、呼出し者のセキュリティデバイスを認証することができる。例えば、典型的なMACファンクションは、128ビットの出力を戻すことができ、これは、32個のDTMFトーンとして表されることができる。セキュリティサーバと、セキュリティデバイスとが、MACを計算した後に、セキュリティサーバは、(MACの一部分を表す)第1の16個のDTMFトーンをセキュリティデバイスに対して送信することができ、そして、レスポンスの形で、セキュリティデバイスは、(MACの他の一部分を表す)他の16個のDTMFトーンを返信する。このようにして、セキュリティサーバと、セキュリティデバイスとの両方は、それらが、認可され、あるいは合法的であることを互いに証明することができる。
同様に、セッションキー(session key)は、Session Key=MAC(Authentication Key||Challenge))であるように、おのおのの側について(by each side)計算されることができ、ここで認証キー(authentication key)は、セキュリティデバイスへとあらかじめロードされる。セキュリティデバイスが、そのレスポンスをセキュリティサーバに対して送信するときに、セッションキーが、開示されないようにするために、レスポンスは、追加の情報を含んでいてもよい。例えば、レスポンス(response)は、Response=MAC(「余分な情報ストリング(extra information string)」||Authentication Key||Challenge)とすることができる。
ストリーム暗号化(Stream Encryption)
別の特徴は、暗号化されたシンボルのセキュリティを保護する効率的な暗号化方法を提供する。各平文シンボルは、別個の擬似ランダムに選択された変換テーブルを使用することにより暗号化される。シンボルのあらゆる可能な順列をあらかじめ記憶しておくのではなくて、変換テーブルは、擬似乱数と、シンボルシャッフリングアルゴリズムとに基づいてオンザフライで効率的に生成されることができる。受信デバイスは、同様に、受信された暗号化シンボルを暗号解読するために逆変換テーブルをオンザフライで生成することができる。
この暗号化方法は、様々なコンフィギュレーションでインプリメントされることができる。例えば、電話セキュリティデバイスは、DTMFトーンをデジタル値へと変換し、各デジタル値について擬似ランダムに選択された変換テーブルを使用することにより、そのデジタル値を暗号化することができる。次いで、暗号化されたデジタル値は、デジタル形式で、または暗号化されたデジタル値に関連するDTMFトーンとしてのいずれかで、セキュリティサーバ(例えば、テレサービス局)へと送信されることができる。
DTMFトーンは、デジタルシンボルによって表され(あるいは、それに関連づけられ)るので、それらは、例えばストリーム暗号化によってセキュリティ保護されることができる。様々な例においては、ストリーム暗号化は、カウンターモード、出力フィードバック(Output Feedback)(OFB)モード、または暗号文フィードバック(Ciphertext Feedback)(CFB)モードの高度暗号化規格(Advanced Encryption Standard)(AES)などのブロック暗号(block cipher)によって生成されるキーストリームを使用することができる。例えば、MACファンクションは、CBC−MACモードのブロック暗号を用いてインプリメントされることができる。これは、例えば、セキュリティデバイスが、AESをハードウェアでインプリメントしている場合に、有利とすることができる。
これらのファンクションが、ソフトウェアでインプリメントされる場合、非線形SOBER(Non-linear SOBER)(NLS)などの専用化ストリーム暗号を使用することが好ましい可能性がある。ストリーム暗号はまた、キーまたは臨時の入力として暗号化されるべきデータを使用すること、次いで出力キーストリームを生成することにより、低効率ではあるが、MACファンクションとして使用されることもできる。生成されるキーストリームの長さは、できるだけ望ましいものとすることができるので、レスポンスと、セッションキーとの両方は、単一の呼出しの中で生成されることができる。
(真のストリーム暗号を使用しようと、ストリーミングモードのブロック暗号を使用しようと)従来のストリーム暗号化は、通常、擬似乱数のキーストリームを生成することと、暗号化された出力または暗号文を形成するためにそれらを平文(すなわち、DTMFトーンのデジタル表現)と組み合わせることと、により進行する。普通は、キーストリームと平文とは、それが自己反転であるので、排他的論理和(XOR)演算を使用して組み合わされる。しかしながら、従来のDTMFがイネーブルにされた電話は、各キーが固有のトーンを有する10個以上のキーを有する。それ故に、XOR演算は、キーストリームを用いて前記DTMFトーンを暗号化するために使用されることができない。その代わりに、電話キーに関連するDTMFトーンは、暗号化されたシンボルまたは暗号文を生成するためにキーストリームから得られる擬似ランダムな数/シンボルに追加されることができる異なるデジタルシンボルへと変換される(またはそれに関連づけられる)ことができる。しかし、特定のディジットの位置を知っているアクティブな攻撃者は、送信された暗号文から数を差し引くことによりその数を変更することができる。例えば、特定のDTMFトーンの場合に、入力が、「1」であったが、出力は「7」であったことを知っている攻撃者は、このトーンについて生成された擬似乱数は、「6」であったことを決定することができ、そしてそのときには、特定のディジット位置についての彼らの選択した任意のキャラクタを正しく暗号化することができる。
組み合わせコンバイナ(Combinational Combiner)
1つの特徴は、暗号化されるべき各平文シンボルについて擬似ランダムに選択され、あるいは生成された変換テーブルを得るために、または生成するためにキーストリームを使用することを提供する。キーストリームから擬似乱数を取ることと、平文を同じように(例えば、モジュロnを加算することにより)変更することとの代わりに、1つの特徴は、複数の変換テーブルのうちの1つを擬似ランダムに選択することにより、各平文シンボルを入力ストリームに変換することを提供する。変換テーブルは、数またはシンボルの組の異なる可能な順列を提供することができる。これは、ここにおいて組み合わせコンバイナと称される。
図9は、暗号化されるべき各シンボルについて変換テーブルを擬似ランダムに選択することにより、平文シンボルをセキュリティ保護するための組み合わせコンバイナのブロック図を示している。暗号ジェネレータ902は、擬似ランダムな数/シンボル(pseudorandom numbers/symbols)のキーストリーム(keystream)Si904を生成するために使用される。キーストリーム904の擬似乱数は、入力ストリームの中の各平文入力シンボル(plaintext input symbol)Pi908について、複数の可能な変換テーブルから異なる変換テーブル(different translation table)906を生成し、または得るために使用される。平文入力シンボル908を擬似ランダムな出力へと変換することにより、暗号化された出力シンボル(encrypted output symbol)Ci910が、生成される。
そのような変換オペレーションは、キーストリーム904の制御の下で平文入力シンボル908の順列を定義する。変換テーブル906は、n個の要素のベクトルとして表されることができ、そして平文入力シンボル908の変換は、変換テーブル906のp番目の要素をルックアップすることにより行われることができる。暗号化された出力シンボルCiを仮定すると、逆変換は、逆の順列のテーブルを作成することにより、あるいはシンボルCiを含む入力を求めてテーブルをサーチすること、およびそのインデックスをpとして戻すことにより、そのいずれかで行われることができる。
一般的に言って、n個の平文シンボルの組では、n!(階乗)の可能な順列が、存在する。順列は、すべてのそのような順列の組からランダムに選択され、そして平文入力シンボルPi908を暗号化された出力シンボルCi910(暗号文とも称される)に変換するために変換テーブル906として使用されることができる。入力ストリームの中の各平文シンボルについて、擬似ランダムに選択された変換テーブルが、選択される。そのときには、暗号化されたシンボルCi910を調べ、そしてそれが、特定の平文シンボルに対応することを知っている攻撃者は、他の平文シンボルと、対応する暗号化されたシンボルとの間の対応について依然として何も知らないままである。すなわち、攻撃者が、確認することができるすべての情報は、暗号化されたシンボルを変更することは、彼らが知っているものとは異なる平文シンボルを与えることになるが、そのようになる他の平文シンボルではないことである。それ故に、擬似ランダムに選択された変換テーブルは、平文入力シンボルと、暗号化された出力シンボル(暗号文)との間の関係を明らかにせず、そして攻撃者は、暗号文シンボル変換に対するどのような単一の平文シンボルの知識も活用することができない。
セキュリティ保護された電話バンキングについての一例においては、電話からセキュリティデバイスによって受信される各DTMFトーンは、デジタル平文シンボルへと変換され(またはそれに関連づけられ)る。次いで、平文シンボルは、暗号化されたシンボルを得るために(キーストリームからの1つまたは複数の擬似乱数に基づいて得られる)変換テーブルによって変換される。次いで、暗号化されたシンボルは、(デジタル形式で、または暗号化されたシンボルに対応するDTMFトーンとしてのいずれかで)セキュリティサーバに送信され、ここでそれは、逆変換テーブルによって暗号解読される。逆変換テーブルは、同じキーストリームを生成するセキュリティデバイスと、セキュリティサーバとの両方において同期化された暗号ジェネレータを有することにより、生成され、または得られることができる。一例においては、暗号ジェネレータは、同じシード(seed)(例えば、セッションキーなど)を使用することにより同期化されることができる。
一例においては、複数の変換テーブルは、あらかじめ生成され、かつ/またはセキュリティデバイスおよび/またはセキュリティサーバによって記憶されることができる。オンザフライで新しい変換テーブル(すなわち、入力シンボルの順列)を生成することではなくて、変換テーブルは、あらかじめ生成され、そして記憶されることができる。キーストリーム904の擬似ランダムな数/シンボルは、暗号化されるべき各平文シンボルについてのあらかじめ生成された変換テーブルのうちの1つを選択するために使用されることができる。あらかじめ生成された変換テーブルは、n個の平文シンボルの組についてのあらゆる順列、または順列のサブセットを定義することができる。
別の例においては、使用される変換テーブルは、変換テーブルを形成するためにキーストリームを使用することと、擬似ランダムにシンボルをシャッフルすることとにより、オンザフライで生成されることができる。これらのソリューションは、n!個のテーブルが存在することになるという意味で同等であり、そして、これらのテーブルのうちの1つを選択するために必要とされるキーストリームの量は、シャッフルすることによりそのようなテーブルを作成するために必要とされる量と同じであることに注意すべきである。
図10は、平文シンボル(plaintext symbol)を暗号化されたシンボル(encrypted symbol)に変換するための、シンボルごとの変換テーブル(a symbol-to-symbol translation table)1002の一例を示している。この例においては、16個の平文シンボルが、異なる暗号化されたシンボルへと変換される。2進表現は、この例においては、16個の平文シンボルが、4−ビットの暗号化されたシンボルを使用して、暗号化されることができることを単に示すために示される。より多くの、あるいはより少ない数の平文シンボルが暗号化されるべきであるという他の例においては、異なる数のビットが、各シンボルについて使用されることができる。例えば、256個までの平文シンボルの場合には、8ビットが、各暗号化シンボルを生成するためにキーストリームから抽出されることができる。
別の特徴は、特定の変換テーブル内で、平文シンボルと、暗号化されたシンボルとの間の1対1の対応を提供する。すなわち、どの2つの平文シンボルも、特定の変換テーブル内で、同じ暗号化されたシンボルには変換されない。これにより、暗号解読デバイスは、暗号化されたシンボルをその元の平文シンボルへと正確に暗号解読することができるようになる。
暗号解読デバイスにおいては、シンボルごとの逆変換テーブル(a symbol-to-symbol reverse translation table)は、暗号化デバイスのシンボルごとの変換(symbol-to-symbol translation)を逆にし、そしてそれによって受信された暗号化シンボルを暗号解読するように生成されることができる。
図11は、どのようにして平文シンボル1102が、暗号化されたシンボル1106を得るために異なる変換テーブル1104を使用して暗号化されることができるのかの一例を示している。各平文シンボルP0、P1、P2、P3、...Piについて、おのおのシンボルの異なる順列を有する異なる変換テーブル1104が、暗号化されたシンボルC0、C1、C2、C3、...Ciを得るために使用される。
組の中のシンボルの数が少ない場合には、そのようなシンボルのすべての順列をリストアップし(すなわち、あらかじめ生成し)、そしてそれらの順列から変換テーブルを選択するために(キーストリームからの)インデックスを使用することを、可能とすることができる。例えば、12個の可能なシンボルの組の場合には、生成される可能な順列の数は、12!、すなわち479,001,600である。順列を適切に選択するためには、32ビットのキーストリームは、バイアスのない変換テーブルとして1つの順列を選択することで十分とすることができる。しかしながら、このアプローチは、組の中のシンボルの数が、増大するにつれて非効率的になる。例えば、256個の可能なシンボルの組の場合には、生成される可能な順列の数は、256!、すなわち8.5×10506であり、これは、変換テーブルとして順列のうちの1つを選択するために、擬似ランダムなキーストリームから1684ビットを超過して必要とすることになる。
図12は、1組のn個のシンボルについての複数の可能な順列から変換テーブルを選択するためのアルゴリズムを示しており、ここでnは、正の整数である。この例においては、0と、2−1との範囲に一様に分散されたkビットの長さ(例えば、8ビット、32ビットなど)の擬似ランダムなキーストリーム値(pseudorandom keystream values)を与える暗号ジェネレータが、使用されることができる。キーストリームは、擬似乱数wを得るために使用される1202。n!は、2に均一に分割することができないので、擬似乱数wは、バイアスを導入することなく直接に使用されることができない。この理由のために、最大のしきい値Pmax(maximum threshold Pmax)は、2よりも小さいn!の最大の倍数(the largest multiple of n! that is less than 2k)として定義される。もし擬似乱数wがこの最大のしきい値Pmaxよりも小さい場合は、そのときには、それは、バイアスを導入することなく使用されることができる。そうではなくて、もし擬似乱数wがこの最大のしきい値Pmax以上である場合は、それは、捨てられ、そして新しい擬似乱数wが、最大のしきい値Pmaxよりも小さい擬似乱数wが得られるまで、選択される1204。
w=w modulo(n!)であるように、擬似乱数wは(n!)を法として割られる(the pseudorandom number w is divided modulo n! so that w = w modulo (n!))1206。それ故に、バイアスされない擬似乱数wは、順列(すなわち、変換テーブル)を得るために使用されることができる0からn!の範囲の中で得られる。
あらかじめ生成された順列を記憶することと、擬似乱数wを使用することにより1つのそのような順列を選択することとではなくて、1つの特徴は、変換テーブルを生成するために基本の順列(base permutation)のシンボルをシャッフルすることにより、順列を生成することを提供する。基本の順列ベクトルPは、P=[0,1,2,...n−1]となるようにシンボルの組のすべての値で初期化される1208。次いで、シンボルシャッフリングアルゴリズム1210は、擬似乱数wを使用して、基本の順列ベクトルPの中でシンボルをシャッフルするために使用される。
シンボルシャッフリングアルゴリズム1210の一例は、カウンタiからn−1を初期化し、ここでnは、組の中のシンボルの数である。カウンタi>=0である間に、擬似乱数w=w/(i+1)であり、変数j=w modulo(i+1)であり、そして順列ベクトルPの値は、P[i]=Pt−1[j]であり、そしてP[j]=Pt−1[i]であるようにシャッフルされる。他のシンボルシャッフリングアルゴリズムも、本開示の特徴を逸脱することなく使用されることができることに注意すべきである。
ひとたび、順列ベクトルPが、シャッフルされた後に、その順列ベクトルPは、入力シンボルストリームを暗号化するために、例えば、変換テーブルとしてそれを使用することができる任意のアプリケーションに対して提供される1212ことができる。
図13は、単一の平文シンボルを暗号化するために複数の変換テーブルを使用することにより、シンボル認証を達成することができる別の暗号化スキームを示すブロック図である。すなわち、平文入力シンボルPi1302は、第1の暗号化された出力シンボルCi’1310を得るために、第1の暗号ジェネレータ1308から得られる第1のキーストリームSi’1306に基づいて生成され、または選択されることができる変換テーブルA1 1304によって暗号化される。次いで、第1の暗号化された出力シンボルCi’1310は、第2の暗号化された出力シンボルCi1318を得るために使用される、第2の暗号ジェネレータ1316から得られる第2のキーストリームSi1314に基づいて生成され、または選択されることができる第2の変換テーブルA2 1312に対する入力としての役割を果たす。このようにして、リダンダンシーが、第1の暗号化された出力シンボルCi’1310を認証するために使用されることができる。すなわち、シンボルCi’1310とCi1318とを一緒に使用することにより、シンボルCi1318は、Ci’1310を認証する。それ故に、攻撃者が、例えば、シンボルCi’1310を変更する際に成功する場合には、それは、シンボルCi1318によって適切に認証されないことになる。
図14は、どのようにして複数の変換テーブル1404および1406が、対応する1対の暗号化されたシンボル1408を得るために各平文シンボル1402を暗号化するために使用されることができるのかを示している。変換テーブル1404および1406は、各平文シンボルPiを1対のシンボルCi’/Ciへと暗号化するために擬似ランダムに選択され、かつ/または生成されることができることに注意すべきである。
図15は、どのようにして2つの変換テーブルが、平文シンボルPnを1対のシンボルCn’およびCnへと変換し、または暗号化するために使用されることができるのかの一例を示している。例えば、第1の平文シンボルPn=「5」の場合には、第1の変換テーブルA1 1502は、第1の出力シンボルCn’=8を提供する(すなわち、「5」が、「8」に変換される)。第1の出力シンボル「8」は、そのときには、第2の出力シンボルCn=7を得るために、第2の変換テーブルA2 1504に対する入力としての役割を果たすことができる(すなわち、「8」が、「7」に変換される)。第2の出力シンボルCnは、第1の出力シンボルCn’に基づいて生成されたので、冗長なシンボルCnおよびCn’は、認証のために使用されることができる。いずれかまたは両方のシンボルが、送信中に攻撃者によって変更される場合、そのときには認証は、失敗する。例えば、Cn’が、「8」から「4」へと攻撃者によって修正される場合、シンボルCn’およびCn=「47」を受信する受信者は、Cn=「7」が、Cn’=「8」であり、「4」ではないことを意味すべきであることを見出すことになる。
第2の平文シンボルP(n+1)は、第1の平文シンボルと、第2の平文シンボルとが、同じである場合でさえ、完全に異なる変換テーブルを有することができる。例えば、第2の平文シンボルP(n+1)=「5」の場合には、第1の変換テーブルB1 1506は、第3の出力シンボルC(n+1)’=「*」を提供する(すなわち、「5」は、「*」に変換される)。第3の出力シンボルC(n+1)’=「*」は、そのときには第4の出力シンボルC(n+1)=「1」を得るために第2の変換テーブルB2 1508に対する入力としての役割を果たすことができる(すなわち、「*」は、「1」に変換される)。上記のように、シンボル対C(n+1)’とC(n+1)との冗長な使用は、認証の一形式としての役割を果たすことができる。
図16は、一例による、平文暗号化を実行するための一方法を示している。1組のn個のシンボル内で定義される複数の入力シンボルが、得られる1602。異なるシンボルごとの順列を定義する複数の変換テーブルからの、擬似ランダムに選択された変換テーブルが、暗号化されるべき入力シンボルのおのおのについて得られる1604。入力シンボルは、各入力シンボルを個別に暗号化するために入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して対応する出力シンボルへと変換される1606。次いで、出力シンボルは、暗号解読デバイスに対して送信される1608ことができる。
そのような方法の一例において、第1の平文シンボルが得られ、ここで第1の平文シンボルは、1組の中のn個のシンボルのうちの1つとすることができる。n個のシンボルをn個のシンボルの異なる順列へと変換する第1の変換テーブルが、得られる。第1の変換テーブルは、n個のシンボルをシャッフルするために擬似乱数を使用することにより擬似ランダムに生成されることができる。次いで、第1の平文シンボルは、第1の変換テーブルを使用して第1の出力シンボルへと変換される。
n個のシンボルを第1の変換テーブル以外のn個のシンボルの異なる順列へと変換する第2の変換テーブルが、得られることができる。第1の出力シンボルは、第2の変換テーブルを使用して第2の出力シンボルへと変換される。次いで、暗号化されたシンボルが、第1および/または第2の出力シンボルに基づいて送信される。
図17は、どのようにして暗号化されたシンボルCiが、単一の平文シンボルを得るために1つまたは複数の逆変換テーブルを使用することにより暗号解読されることができるのかを示すブロック図である。すなわち、暗号化された入力シンボルCi1702は、第1の暗号解読された出力シンボルCi’1710を得るために、第1の暗号ジェネレータ1708から得られる第1のキーストリームSi’1706に基づいて生成され、または選択されることができる第1の逆変換テーブルA1 1704によって暗号解読されることができる。次いで、第1の暗号解読された出力シンボルCi’1710は、平文出力シンボルPi1718を得るために使用される、第2の暗号ジェネレータ1716から得られる第2のキーストリームSi1714に基づいて生成され、または選択されることができる第2の逆変換テーブルA2 1712に対する入力としての役割を果たす。
例えば、Ci=(x,y)である代替コンフィギュレーションにおいては、暗号化されたシンボルおよびyは、平文出力シンボルPiを得るために暗号化されたのと逆の順序で暗号解読されることができる。
図18は、一例による、シンボル暗号解読を実行するための一方法を示している。1組のn個のシンボル内で定義される複数の(暗号化された)入力シンボルが、得られる1802。異なるシンボルごとの順列を定義する複数の逆変換テーブルからの、擬似ランダムに選択された逆変換テーブルが、暗号解読されるべき入力シンボルのおのおのについて得られる1804。各入力シンボルを個別に暗号解読するために入力シンボルのおのおのについてそれらの対応する逆変換テーブルを使用して入力シンボルを対応する出力シンボルへと変換する1806。
そのような方法の一例においては、第1の暗号化されたシンボル(入力シンボル)が、得られ、ここでその第1の暗号化されたシンボルは、1組の中のn個のシンボルのうちの1つである。n個のシンボルをn個のシンボルの異なる順列へと変換する第1の逆変換テーブルも、得られる。第1の逆変換テーブルは、n個のシンボルをシャッフルするために擬似乱数を使用することにより擬似ランダムに生成されることができる。第1の暗号化されたシンボルは、第1の逆変換テーブルを使用して第1の出力シンボルへと変換される。n個のシンボルを第1の変換テーブル以外のn個のシンボルの異なる順列へと変換する第2の逆変換テーブルが、得られる。第1の出力シンボルは、第2の逆変換テーブルを使用して第2の出力シンボルへと変換される。次いで、平文シンボルが、第1および/または第2の出力シンボルに基づいて得られることができる。
図19は、一例による暗号化モジュールを示すブロック図である。暗号化モジュール1902は、キーストリームジェネレータ1906に対してシードを供給するように構成された処理回路1904を含むことができる。キーストリームジェネレータ1906は、処理回路1904に送られる擬似ランダムな数またはシンボルのキーストリームを生成する。処理回路1904に結合された入力インターフェース1908は、平文シンボルストリームを受信することができる。平文シンボルストリームを暗号化するために、処理回路1904は、変換テーブルジェネレータ1910から変換テーブルを得るためにキーストリームから得られる擬似乱数を使用するように構成されていることができる。変換テーブルジェネレータ1910は、変換テーブルを提供するために擬似ランダムな、バイアスされない方法で、例えば、基本のテーブルのシンボルをシャッフルし、かつ/または組み合わせるために擬似乱数を使用するように構成されていることができる。次いで、処理回路1904は、第1の平文シンボルを暗号化されたシンボルストリームの第1の暗号化されたシンボルへと変換するために変換テーブルを一度使用する。暗号化されたシンボルストリームは、処理回路1904に結合された出力インターフェース1912を介して送信されることができる。平文シンボルストリームの中の各平文シンボルについて、異なる変換テーブルが、そのシンボルを変換するために生成され、そして使用されることができる。
図20は、一例による暗号解読モジュールを示すブロック図である。暗号解読モジュール2002は、キーストリームジェネレータ2006に対してシードを供給するように構成された処理回路2004を含むことができる。キーストリームジェネレータ2006は、処理回路2004に送られる擬似ランダムな数またはシンボルのキーストリームを生成する。処理回路2004に結合された入力インターフェース2008は、暗号化されたシンボルストリームを受信することができる。暗号化されたシンボルストリームを暗号解読するために、処理回路2004は、逆変換テーブルジェネレータ(reverse translation table generator)2010から変換テーブルを得るためにキーストリームから得られる擬似乱数を使用するように構成されていることができる。逆変換テーブルジェネレータ2010は、変換テーブルを提供するために擬似ランダムな、バイアスされない方法で、例えば、基本のテーブルのシンボルをシャッフルし、かつ/または組み合わせるために擬似乱数を使用するように構成されていることができる。次いで、処理回路2004は、第1の暗号化されたシンボルを平文シンボルストリームの第1の平文シンボルへと変換するために逆変換テーブルを一度使用する。平文シンボルストリームは、処理回路2004に結合された出力インターフェース2012を介して送信されることができる。
暗号化モジュール1902と、暗号解読モジュール2002とが、それぞれシンボルを適切に暗号化し、そして暗号解読するために、それらは、同じキーストリームジェネレータを有し、そして相補的な変換テーブルジェネレータを有することができる。キーストリームジェネレータ1906と2006とを同期化するために、共通のシードが、暗号化モジュールと、暗号解読モジュールとの間の特定の通信セッションについて(例えば、セキュリティ保護された認証スキームによって)確立されることができる。例えば、セッションキーは、キーストリームジェネレータ1906と2006とについてのシードとして使用されることができる。
ここにおいて説明される例のうちのいくつかは、DTMFトーンの暗号化について言及しているが、ここにおいて説明される暗号化方法は、送信された情報をセキュリティ保護するために多くの他のタイプの通信システムを用いてインプリメントされることができる。
図1〜18に示される1つまたは複数のコンポーネント、ステップ、および/またはファンクションは、本発明を逸脱することなく、単一のコンポーネント、ステップ、および/またはファンクションへと並べ換えられ、かつ/または組み合わされ、あるいはいくつかのコンポーネント、ステップ、および/またはファンクションへと分離されることができる。追加の要素、コンポーネント、ステップ、および/またはファンクションもまた、本発明を逸脱することなく、加えられることができる。図1、2、3、5、7、9、13、17、19および/または20に示される装置、デバイス、および/またはコンポーネントは、図2、4、6、8、10、11、12、14、15、16および/または18に説明される1つまたは複数の方法、機能、またはステップを実行するように構成されていることができる。
当業者は、さらに、ここにおいて開示される例に関連して説明される様々な例示の論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子的なハードウェア、コンピュータソフトウェア、またはそれらの両方の組合せとしてインプリメントされることができることを理解するであろう。ハードウェアとソフトウェアとのこの交換可能性を明確に説明するために、様々な例示のコンポーネント、ブロック、モジュール、回路、およびステップは、それらの機能に関して、上記に一般的に説明されている。それらの機能がハードウェアとしてインプリメントされるか、あるいはソフトウェアとしてインプリメントされるかは、特定のアプリケーションと、全体システムに課される設計制約条件と、に依存する。
上記コンフィギュレーションは、単なる例にすぎず、そして本発明を限定するものとして解釈されるべきでないことに注意すべきである。これらの例の説明は、例示的であり、請求の範囲の範囲を限定すべきでないように意図される。したがって、本教示は、他のタイプの装置、および多数の代替案に対しても容易に適用されることができ、修正、および変形は、当業者にとって明らかであろう。

Claims (40)

  1. 暗号化デバイス上で動作する方法であって、
    複数の入力シンボルを得ることと、
    暗号化されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから、擬似ランダムに選択された変換テーブルを得ることと、
    各入力シンボルを個別に暗号化するために、前記入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して、前記入力シンボルを対応する出力シンボルへ変換することと、
    を備える方法。
  2. 暗号化されるべき前記入力シンボルのおのおのについて前記擬似ランダムに選択された変換テーブルを得ることは、
    第1の入力シンボルについての、擬似ランダムに選択された第1の変換テーブルを得ることと、
    第2の入力シンボルについての、擬似ランダムに選択された第2の変換テーブルを得ることと、
    を含み、
    そして、前記入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して前記入力シンボルを対応する出力シンボルへ変換することは、
    前記第1の変換テーブルを使用して前記第1の入力シンボルを第1の出力シンボルへ変換することと、
    前記第2の変換テーブルを使用して前記第2の入力シンボルを第2の出力シンボルへ変換することと、
    を含む、
    請求項1に記載の方法。
  3. 前記複数の入力シンボルは、1組のN個のシンボルによって定義される、但し、Nは、正の整数であり、変換テーブルは、前記N個のシンボルの順列である、請求項1に記載の方法。
  4. 暗号化されるべき前記入力シンボルのおのおのについて、前記擬似ランダムに選択された変換テーブルを得ることは、
    暗号化されるべき第1の入力シンボルについての第1の擬似乱数を得ることと、
    前記組のN個のシンボルの異なる順列を得るために前記組のN個のシンボルをシャッフルすること、および前記第1の入力シンボルについての前記変換テーブルとしてその順列を使用することと、
    を含む、
    請求項3に記載の方法。
  5. 前記第1の擬似乱数は、
    前記第1の入力シンボルについての擬似乱数を生成することと、但し、前記擬似乱数はkビットの長さであり、kは正の整数である;
    前記擬似乱数が最大数Pmaxの範囲内にあるかどうかを決定することと、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;
    前記擬似乱数を、もしそれが前記最大数Pmaxよりも大きい場合は、捨てることと;
    前記最大数Pmax以下である許容可能な擬似乱数が得られるまで、前記第1の入力シンボルについての異なる擬似乱数を得ることと;
    前記第1の擬似乱数を得るために前記許容可能な擬似乱数のモジュロNの階乗を除算することと;
    によって得られる、
    請求項4に記載の方法。
  6. 前記組のN個のシンボルをシャッフルすることは、
    前記組のN個のシンボルのうちのすべてのシンボルを用いて順列ベクトルPを初期化することと、
    前記第1の擬似乱数に基づいて前記順列ベクトルの中の前記シンボルをシャッフルすることと、
    を含む、
    請求項4に記載の方法。
  7. 前記出力シンボルを暗号解読デバイスに送信すること、
    をさらに備える請求項1に記載の方法。
  8. 暗号化されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する前記複数の変換テーブルから、第2の擬似ランダムに選択された変換テーブルを得ることと、
    各入力シンボルをさらに個別に暗号化するために、前記出力シンボルのおのおのについてそれらの対応する第2の変換テーブルを使用して、前記出力シンボルを対応する第2の出力シンボルへ変換することと、
    をさらに備える請求項1に記載の方法。
  9. 複数の入力シンボルを得るための手段と、
    暗号化されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから、擬似ランダムに選択された変換テーブルを得るための手段と、
    各入力シンボルを個別に暗号化するために、前記入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して、前記入力シンボルを対応する出力シンボルへ変換するための手段と、
    を備える暗号化デバイス。
  10. 第1の入力シンボルについての、擬似ランダムに選択された第1の変換テーブルを得るための手段と、
    第2の入力シンボルについての、擬似ランダムに選択された第2の変換テーブルを得るための手段と、
    前記第1の変換テーブルを使用して前記第1の入力シンボルを第1の出力シンボルへ変換するための手段と、
    前記第2の変換テーブルを使用して前記第2の入力シンボルを第2の出力シンボルへ変換するための手段と、
    をさらに備える請求項9に記載のデバイス。
  11. 暗号化されるべき第1の入力シンボルについての第1の擬似乱数を得るための手段と、
    前記組のN個のシンボルの異なる順列を得るために前記組のN個のシンボルをシャッフルし、そして前記第1の入力シンボルについての前記変換テーブルとしてその順列を使用するための手段と、
    をさらに備える請求項9に記載のデバイス。
  12. 前記第1の入力シンボルについての擬似乱数を生成するための手段と、但し、前記擬似乱数はkビットの長さであり、kは正の整数である;
    前記擬似乱数が最大数Pmaxの範囲内にあるかどうかを決定するための手段と、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;
    前記擬似乱数を、もしそれが前記最大数Pmaxよりも大きい場合は、捨てるための手段と;
    前記最大数Pmax以下である許容可能な擬似乱数が得られるまで、前記第1の入力シンボルについての異なる擬似乱数を得るための手段と;
    前記第1の擬似乱数を得るために前記許容可能な擬似乱数のモジュロNの階乗を除算するための手段と;
    をさらに備える請求項11に記載のデバイス。
  13. 前記出力シンボルを暗号解読デバイスに送信するための手段、
    をさらに備える請求項9に記載のデバイス。
  14. 暗号化されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する前記複数の変換テーブルから、第2の擬似ランダムに選択された変換テーブルを得るための手段と、
    各入力シンボルをさらに個別に暗号化するために、前記出力シンボルのおのおのについてそれらの対応する第2の変換テーブルを使用して、前記出力シンボルを対応する第2の出力シンボルへ変換するための手段と、
    をさらに備える請求項9に記載のデバイス。
  15. 入力シンボルストリームを受信するための入力インターフェースと、
    前記入力インターフェースに結合された処理回路と、
    を備え、
    前記処理回路は、
    複数の入力シンボルを前記入力インターフェースから取得し、
    暗号化されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから、擬似ランダムに選択された変換テーブルを取得し、そして
    各入力シンボルを個別に暗号化するために、前記入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して、前記入力シンボルを対応する出力シンボルへ変換する、
    ように構成されている、
    暗号化デバイス。
  16. 前記出力シンボルを送信するための、前記処理回路に結合された出力インターフェース、
    をさらに備える請求項15に記載のデバイス。
  17. 前記複数の入力シンボルは、1組のN個のシンボルによって定義されている、但し、Nは正の整数であり、変換テーブルは、前記N個のシンボルの順列である、請求項15に記載のデバイス。
  18. 前記処理回路に結合されたキーストリームジェネレータと、なお、前記キーストリームジェネレータは、暗号化されるべき第1の入力シンボルについて前記キーストリームジェネレータから第1の擬似乱数を取得するように構成されている;
    前記処理回路に結合された変換テーブルジェネレータと、なお、前記変換テーブルジェネレータは、前記組のN個のシンボルの異なる順列を取得するために、前記組のN個のシンボルをシャッフルするように構成され、そして前記第1の入力シンボルについての前記変換テーブルとしてその順列を使用する;
    をさらに備える請求項17に記載のデバイス。
  19. 前記処理回路は、さらに、
    前記第1の入力シンボルについての擬似乱数を生成し、なお、前記擬似乱数はkビットの長さであり、kは正の整数である;
    前記擬似乱数が最大数Pmaxの範囲内にあるかどうかを決定し、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;
    前記擬似乱数を、もしそれが前記最大数Pmaxよりも大きい場合は、捨て;
    前記最大数Pmax以下である許容可能な擬似乱数が得られるまで、前記第1の入力シンボルについての異なる擬似乱数を取得し;そして
    前記第1の擬似乱数を取得するために前記許容可能な擬似乱数のモジュロNの階乗を除算する;
    ように構成されている、
    請求項17に記載のデバイス。
  20. 前記処理回路は、さらに、
    暗号化されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する前記複数の変換テーブルから、第2の擬似ランダムに選択された変換テーブルを取得し、そして
    各入力シンボルをさらに個別に暗号化するために、前記出力シンボルのおのおのについてそれらの対応する第2の変換テーブルを使用して、前記出力シンボルを対応する第2の出力シンボルへ変換する、
    ように構成されている、
    請求項17に記載のデバイス。
  21. プロセッサによって実行されるときに、前記プロセッサに、
    複数の入力シンボルを取得させ、
    暗号化されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の変換テーブルから、擬似ランダムに選択された変換テーブルを取得させ、そして
    各入力シンボルを個別に暗号化するために、前記入力シンボルのおのおのについてそれらの対応する変換テーブルを使用して、前記入力シンボルを対応する出力シンボルへ変換させる、
    シンボルを暗号化するために動作可能な1つまたは複数の命令、を有する機械可読媒体。
  22. 前記複数の入力シンボルは、1組のN個のシンボルによって定義される、但し、Nは正の整数であり、変換テーブルは、前記N個のシンボルの順列である、請求項21に記載の機械可読媒体。
  23. プロセッサによって実行されるときに、前記プロセッサに、さらに、
    暗号化されるべき第1の入力シンボルについての第1の擬似乱数を取得させ、そして
    前記組のN個のシンボルの異なる順列を取得するために、前記組のN個のシンボルをシャッフルさせ、そして前記第1の入力シンボルについての前記変換テーブルとしてその順列を使用させる、
    1つまたは複数の命令、を有する請求項22に記載の機械可読媒体。
  24. プロセッサによって実行されるときに、前記プロセッサに、さらに、
    前記第1の入力シンボルについての擬似乱数を生成させ、なお、前記擬似乱数はkビットの長さであり、kは正の整数である;
    前記擬似乱数が最大数Pmaxの範囲内にあるかどうかを決定させ、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;
    前記擬似乱数を、もしそれが前記最大数Pmaxよりも大きい場合は、捨てさせ、;
    前記最大数Pmax以下である許容可能な擬似乱数が得られるまで、前記第1の入力シンボルについての異なる擬似乱数を取得させ;そして
    前記第1の擬似乱数を取得するために前記許容可能な擬似乱数のモジュロNの階乗を除算させる、
    1つまたは複数の命令、を有する請求項22に記載の機械可読媒体。
  25. プロセッサによって実行されるときに、前記プロセッサに、さらに、
    暗号化されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する前記複数の変換テーブルから、第2の擬似ランダムに選択された変換テーブルを取得させ、そして
    各入力シンボルをさらに個別に暗号化するために、前記出力シンボルのおのおのについてそれらの対応する第2の変換テーブルを使用して、前記出力シンボルを対応する第2の出力シンボルへ変換させる、
    1つまたは複数の命令、を有する請求項21に記載の機械可読媒体。
  26. シンボルを暗号解読するための方法であって、
    1組のn個のシンボル内で定義される複数の入力シンボルを得ることと、
    暗号解読されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、擬似ランダムに選択された逆変換テーブルを得ることと、
    各入力シンボルを個別に暗号解読するために、前記入力シンボルのおのおのについてそれらの対応する逆変換テーブルを使用して、前記入力シンボルを対応する出力シンボルへ変換することと、
    を備える方法。
  27. 前記複数の入力シンボルは、1組のN個のシンボルによって定義され、但し、Nは正の整数であり、逆変換テーブルは前記N個のシンボルの順列であり、
    さらに前記方法は、
    暗号解読されるべき第1の入力シンボルについての第1の擬似乱数を得ることと、
    前記組のN個のシンボルの異なる順列を得るために前記組のN個のシンボルをシャッフルすること、および前記第1の入力シンボルについての前記逆変換テーブルとしてその順列を使用することと、
    をさらに備える、
    請求項26に記載の方法。
  28. 前記第1の擬似乱数は、
    前記第1の入力シンボルについての擬似乱数を生成することと、なお、前記擬似乱数はkビットの長さであり、kは正の整数である;
    前記擬似乱数が最大数Pmaxの範囲内にあるかどうかを決定することと、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;
    前記擬似乱数を、もしそれが前記最大数Pmaxよりも大きい場合は、捨てることと;
    前記最大数Pmax以下である許容可能な擬似乱数が得られるまで、前記第1の入力シンボルについての異なる擬似乱数を得ることと;
    前記第1の擬似乱数を得るために前記許容可能な擬似乱数のモジュロNの階乗を除算することと;
    によって得られる、請求項27に記載の方法。
  29. 暗号解読されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する前記複数の逆変換テーブルから、第2の擬似ランダムに選択された逆変換テーブルを得ることと、
    各入力シンボルをさらに個別に暗号解読するために、前記出力シンボルのおのおのについてそれらの対応する第2の逆変換テーブルを使用して、前記出力シンボルを対応する第2の出力シンボルへ変換することと、
    をさらに備える請求項26に記載の方法。
  30. 1組のn個のシンボル内で定義される複数の入力シンボルを得るための手段と、
    暗号解読されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、擬似ランダムに選択された逆変換テーブルを得るための手段と、
    各入力シンボルを個別に暗号解読するために前記入力シンボルのおのおのについてそれらの対応する逆変換テーブルを使用して前記入力シンボルを対応する出力シンボルへと変換するための手段と、
    を備える暗号解読デバイス。
  31. 前記複数の入力シンボルは、1組のN個のシンボルによって定義され、但し、Nは正の整数であり、逆変換テーブルは前記N個のシンボルの順列であり、
    前記デバイスはさらに、
    暗号解読されるべき第1の入力シンボルについての第1の擬似乱数を得るための手段と、
    前記組のN個のシンボルの異なる順列を得るために、前記組のN個のシンボルをシャッフルし、そして前記第1の入力シンボルについての前記逆変換テーブルとしてその順列を使用するための手段と、
    を備える、
    請求項30に記載のデバイス。
  32. 前記第1の擬似乱数は、
    前記第1の入力シンボルについての擬似乱数を生成するための手段と、なお、前記擬似乱数はkビットの長さであり、kは正の整数である;
    前記擬似乱数が最大数Pmaxの範囲内にあるかどうかを、決定するための手段と、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;
    前記擬似乱数を、もしそれが前記最大数Pmaxよりも大きい場合は、捨てるための手段と;
    前記最大数Pmax以下である許容可能な擬似乱数が得られるまで、前記第1の入力シンボルについての異なる擬似乱数を得るための手段と;
    前記第1の擬似乱数を得るために前記許容可能な擬似乱数のモジュロNの階乗を除算するための手段と;
    によって得られる、
    請求項31に記載のデバイス。
  33. 暗号解読されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する前記複数の逆変換テーブルから、第2の擬似ランダムに選択された逆変換テーブルを得るための手段と、
    各入力シンボルをさらに個別に暗号解読するために、前記出力シンボルのおのおのについてそれらの対応する第2の逆変換テーブルを使用して、前記出力シンボルを対応する第2の出力シンボルへと変換するための手段と、
    をさらに備える請求項30に記載のデバイス。
  34. 入力シンボルストリームを受信するための入力インターフェースと、
    前記入力インターフェースに結合された処理回路と、
    を備え、
    前記処理回路は、
    1組のn個のシンボル内で定義される複数の入力シンボルを取得し、
    暗号解読されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、擬似ランダムに選択された逆変換テーブルを取得し、そして
    各入力シンボルを個別に暗号解読するために、前記入力シンボルのおのおのについてそれらの対応する逆変換テーブルを使用して、前記入力シンボルを対応する出力シンボルへ変換する、
    ように構成されている、
    暗号解読デバイス。
  35. 前記複数の入力シンボルは、1組のN個のシンボルによって定義され、但し、Nは正の整数であり、逆変換テーブルは前記N個のシンボルの順列であり、
    前記デバイスはさらに、
    前記処理回路に結合されたキーストリームジェネレータと、なお、前記キーストリームジェネレータは、暗号解読されるべき第1の入力シンボルについて前記キーストリームジェネレータから第1の擬似乱数を取得するように構成されている;
    前記処理回路に結合された逆変換テーブルジェネレータと、なお、前記逆変換テーブルジェネレータは、前記組のN個のシンボルの異なる順列を取得するために、前記組のN個のシンボルをシャッフルするように構成され、そして前記第1の入力シンボルについての前記逆変換テーブルとしてその順列を使用する;
    を備える請求項34に記載のデバイス。
  36. 前記複数の入力シンボルは、1組のN個のシンボルによって定義され、但し、Nは正の整数であり、逆変換テーブルは前記N個のシンボルの順列であり、
    前記処理回路は、さらに、
    前記第1の入力シンボルについての擬似乱数を生成し、なお、前記擬似乱数はkビットの長さであり、kは正の整数である;
    前記擬似乱数が最大数Pmaxの範囲内にあるかどうかを、決定し、但し、Pmaxは、最大しきい値2よりも小さいNの階乗の最大の倍数である;
    前記擬似乱数を、もしそれが前記最大数Pmaxよりも大きい場合は、捨て;
    前記最大数Pmax以下である許容可能な擬似乱数が得られるまで、前記第1の入力シンボルについての異なる擬似乱数を取得し;そして
    前記第1の擬似乱数を得るために前記許容可能な擬似乱数のモジュロNの階乗を除算する;
    ように構成されている、
    請求項34に記載のデバイス。
  37. 前記処理回路は、さらに、
    暗号解読されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する前記複数の逆変換テーブルから、第2の擬似ランダムに選択された逆変換テーブルを取得し、そして
    各入力シンボルをさらに個別に暗号解読するために、前記出力シンボルのおのおのについてそれらの対応する第2の逆変換テーブルを使用して、前記出力シンボルを対応する第2の出力シンボルへと変換する、
    ように構成されている、
    請求項34に記載のデバイス。
  38. プロセッサによって実行されるときに、前記プロセッサに、
    1組のn個のシンボル内で定義される複数の入力シンボルを取得させ、
    暗号解読されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する複数の逆変換テーブルから、擬似ランダムに選択された逆変換テーブルを取得させ、そして
    各入力シンボルを個別に暗号解読するために、前記入力シンボルのおのおのについてそれらの対応する逆変換テーブルを使用して、前記入力シンボルを対応する出力シンボルへと変換させる、
    シンボルを暗号解読するための1つまたは複数の命令、を有する機械可読媒体。
  39. 前記複数の入力シンボルは、1組のN個のシンボルによって定義され、但し、Nは正の整数であり、逆変換テーブルは前記N個のシンボルの順列であり、
    そして前記機械可読媒体は、
    プロセッサによって実行されるときに、前記プロセッサに、さらに、
    暗号解読されるべき第1の入力シンボルについての第1の擬似乱数を取得させ、そして
    前記組のN個のシンボルの異なる順列を取得するために、前記組のN個のシンボルをシャッフルさせ、そして前記第1の入力シンボルについての前記逆変換テーブルとしてその順列を使用させる、
    1つまたは複数の命令、をさらに備える、
    請求項38に記載の機械可読媒体。
  40. プロセッサによって実行されるときに、前記プロセッサに、さらに、
    暗号解読されるべき前記入力シンボルのおのおのについて、異なるシンボルごとの順列を定義する前記複数の逆変換テーブルから、第2の擬似ランダムに選択された逆変換テーブルを取得させ、そして
    各入力シンボルをさらに個別に暗号解読するために、前記出力シンボルのおのおのについてそれらの対応する第2の逆変換テーブルを使用して、前記出力シンボルを対応する第2の出力シンボルへと変換させる、
    1つまたは複数の命令、を有する請求項38に記載の機械可読媒体。
JP2009541607A 2006-12-15 2007-12-14 組み合わせコンバイナ暗号化方法 Pending JP2010515083A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/611,827 US8290162B2 (en) 2006-12-15 2006-12-15 Combinational combiner cryptographic method and apparatus
PCT/US2007/087526 WO2008076861A2 (en) 2006-12-15 2007-12-14 Combinational combiner cryptographic method

Publications (2)

Publication Number Publication Date
JP2010515083A true JP2010515083A (ja) 2010-05-06
JP2010515083A5 JP2010515083A5 (ja) 2012-09-27

Family

ID=39402551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009541607A Pending JP2010515083A (ja) 2006-12-15 2007-12-14 組み合わせコンバイナ暗号化方法

Country Status (7)

Country Link
US (1) US8290162B2 (ja)
EP (1) EP2100405A2 (ja)
JP (1) JP2010515083A (ja)
KR (1) KR101093359B1 (ja)
CN (1) CN101558598B (ja)
TW (1) TW200840263A (ja)
WO (1) WO2008076861A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009273054A (ja) * 2008-05-09 2009-11-19 Mitsubishi Electric Corp 暗号化通信システム
JP2017527225A (ja) * 2014-09-14 2017-09-14 デュランド アレクサンドルDURAND Alexandre 暗号システムの再現可能なランダムシーケンス

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9059866B2 (en) * 2005-12-30 2015-06-16 Remec Broadband Wireless Holdings, Inc. Digital microwave radio system and method with encryption
US8731007B2 (en) * 2005-12-30 2014-05-20 Remec Broadband Wireless, Llc Digital microwave radio link with a variety of ports
US8711888B2 (en) * 2005-12-30 2014-04-29 Remec Broadband Wireless Llc Digital microwave radio link with adaptive data rate
US8571188B2 (en) 2006-12-15 2013-10-29 Qualcomm Incorporated Method and device for secure phone banking
US8380991B2 (en) * 2009-04-30 2013-02-19 Apple Inc. Hash function based on polymorphic code
US8630411B2 (en) 2011-02-17 2014-01-14 Infineon Technologies Ag Systems and methods for device and data authentication
CA2835503A1 (en) * 2011-05-09 2012-11-15 Vincent Martinez Sancho Shannon security double symmetrical cryptogram method by coding information for telematic and electronic transmission
US8619986B2 (en) * 2011-07-21 2013-12-31 Patton Protection Systems LLC Systems and methods for secure communication using a communication encryption bios based upon a message specific identifier
US9203609B2 (en) * 2011-12-12 2015-12-01 Nokia Technologies Oy Method and apparatus for implementing key stream hierarchy
EP2829012A4 (en) * 2012-03-21 2015-12-23 Irdeto Bv METHOD AND SYSTEM FOR CHAIN TRANSFORMATION
KR101977823B1 (ko) 2012-04-02 2019-05-13 삼성전자주식회사 랜덤 순열 생성 방법, 랜덤 순열 생성 장치 및 이를 구비하는 암복호화 장치
TW201342873A (zh) * 2012-04-11 2013-10-16 Blucrypt Technologies Inc 語音保密方法、加密/解密方法及保密設備
US9798695B2 (en) 2012-08-07 2017-10-24 Nokia Technologies Oy Access control for wireless memory
WO2014105834A1 (en) * 2012-12-30 2014-07-03 Feliciano Raymond Richard Method and apparatus for encrypting and decrypting data
US20140270165A1 (en) * 2013-03-15 2014-09-18 Alexandre Andre DURAND Cryptographic system based on reproducible random sequences
CN103543980B (zh) * 2013-11-07 2021-10-22 吴胜远 数字数据处理的方法及装置
CN103595844A (zh) * 2013-11-15 2014-02-19 深圳市中兴移动通信有限公司 双音多频号码的处理方法和装置
CN103825723B (zh) * 2014-01-24 2019-05-03 深圳市太和物联信息技术有限公司 一种加密方法和装置
US9262407B1 (en) * 2014-09-19 2016-02-16 International Business Machines Corporation Optimization of a multi-language user interface layout via reverse pseudo-translation
CN106506787A (zh) * 2016-11-29 2017-03-15 深圳天珑无线科技有限公司 一种号码输入保护的方法及终端
EP3863316A1 (en) * 2020-02-07 2021-08-11 Continental Teves AG & Co. OHG Authentication method
US20220217136A1 (en) * 2021-01-04 2022-07-07 Bank Of America Corporation Identity verification through multisystem cooperation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979832A (en) * 1989-11-01 1990-12-25 Ritter Terry F Dynamic substitution combiner and extractor
JPH0434053U (ja) * 1990-07-16 1992-03-19
JPH09114373A (ja) * 1995-10-20 1997-05-02 Fujitsu Ltd 暗号化方式及び復号化方式並びにデータ処理装置
JPH10224341A (ja) * 1997-02-10 1998-08-21 Nec Eng Ltd 暗号化方法、復元方法、暗号化/復元方法、暗号化装置、復元装置、暗号化/復元装置および暗号化/復元システム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870683A (en) 1986-03-31 1989-09-26 Atalla Corporation Personal identification encryptor system and method
US5301223A (en) * 1990-05-22 1994-04-05 Cellular Technical Services Company, Inc. Cellular telephone system with remote programming, voice responsive registration and real time billing
JPH0434053A (ja) 1990-05-30 1992-02-05 Kawasaki Steel Corp ファイバーボールの製造方法
US5455861A (en) 1991-12-09 1995-10-03 At&T Corp. Secure telecommunications
DE4325459A1 (de) 1993-07-29 1995-02-09 C2S Gmbh Cryptografische Siche Tongeber mit Identifikations- und Authentisierungs-Einrichtung
KR0165050B1 (ko) 1994-07-14 1999-02-01 정장호 디티엠에프 신호 표시장치
US5583933A (en) * 1994-08-05 1996-12-10 Mark; Andrew R. Method and apparatus for the secure communication of data
JPH08130536A (ja) 1994-10-28 1996-05-21 N T T Data Tsushin Kk 端末間相互認証方法及びト−ンカ−ドシステム
SE506619C2 (sv) 1995-09-27 1998-01-19 Ericsson Telefon Ab L M Metod för kryptering av information
FR2753858B1 (fr) * 1996-09-25 1999-03-26 Procede et systeme pour securiser les centres de gestion d'appels telephoniques
FR2753860B1 (fr) 1996-09-25 1998-11-06 Procede et systeme pour securiser les prestations de services a distance des organismes financiers
US6075859A (en) 1997-03-11 2000-06-13 Qualcomm Incorporated Method and apparatus for encrypting data in a wireless communication system
US6275573B1 (en) * 1998-06-02 2001-08-14 Snapshield Ltd. System and method for secured network access
KR100304936B1 (ko) 1999-04-20 2001-10-29 서평원 무선 가입자망 시스템에서의 팩스 데이터 송수신 장치 및 방법
US7003501B2 (en) 2000-02-11 2006-02-21 Maurice Ostroff Method for preventing fraudulent use of credit cards and credit card information, and for preventing unauthorized access to restricted physical and virtual sites
WO2003010946A1 (en) * 2001-07-23 2003-02-06 Securelogix Corporation Encapsulation, compression and encryption of pcm data
US20020076044A1 (en) * 2001-11-16 2002-06-20 Paul Pires Method of and system for encrypting messages, generating encryption keys and producing secure session keys
US20040097217A1 (en) 2002-08-06 2004-05-20 Mcclain Fred System and method for providing authentication and authorization utilizing a personal wireless communication device
WO2004045134A1 (en) 2002-11-05 2004-05-27 The Titan Corporation Self-synchronizing, stream-oriented data encryption technique
US20040258119A1 (en) 2003-06-10 2004-12-23 Photonami Inc. Method and apparatus for suppression of spatial-hole burning in second of higher order DFB lasers
KR100586654B1 (ko) 2003-12-19 2006-06-07 이처닷컴 주식회사 이동통신단말기를 이용한 무선금융거래 시스템 및무선금융거래 방법
KR100714367B1 (ko) 2004-03-24 2007-05-08 최성원 인증 서버와 연동되는 네트워크 보안 시스템 및 그 방법
US7091887B2 (en) 2004-04-28 2006-08-15 Kabushiki Kaisha Toshiba Modulator, modulation method, and method of manufacturing an optical recordable medium with enhanced security for confidential information
US7457409B2 (en) 2004-06-09 2008-11-25 Mediatek Inc. System and method for performing secure communications in a wireless local area network
US8611536B2 (en) 2004-09-08 2013-12-17 Qualcomm Incorporated Bootstrapping authentication using distinguished random challenges
EP1807966B1 (en) 2004-10-20 2020-05-27 Salt Group Pty Ltd. Authentication method
US7512567B2 (en) 2006-06-29 2009-03-31 Yt Acquisition Corporation Method and system for providing biometric authentication at a point-of-sale via a mobile device
US8571188B2 (en) 2006-12-15 2013-10-29 Qualcomm Incorporated Method and device for secure phone banking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979832A (en) * 1989-11-01 1990-12-25 Ritter Terry F Dynamic substitution combiner and extractor
JPH0434053U (ja) * 1990-07-16 1992-03-19
JPH09114373A (ja) * 1995-10-20 1997-05-02 Fujitsu Ltd 暗号化方式及び復号化方式並びにデータ処理装置
JPH10224341A (ja) * 1997-02-10 1998-08-21 Nec Eng Ltd 暗号化方法、復元方法、暗号化/復元方法、暗号化装置、復元装置、暗号化/復元装置および暗号化/復元システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012004867; 加藤正隆: 基礎暗号学I , 19890925, p.12-16, 28-34, 130-138, 株式会社サイエンス社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009273054A (ja) * 2008-05-09 2009-11-19 Mitsubishi Electric Corp 暗号化通信システム
JP2017527225A (ja) * 2014-09-14 2017-09-14 デュランド アレクサンドルDURAND Alexandre 暗号システムの再現可能なランダムシーケンス

Also Published As

Publication number Publication date
US20100034385A1 (en) 2010-02-11
WO2008076861A2 (en) 2008-06-26
KR101093359B1 (ko) 2011-12-14
WO2008076861A3 (en) 2008-08-21
EP2100405A2 (en) 2009-09-16
KR20090100399A (ko) 2009-09-23
US8290162B2 (en) 2012-10-16
CN101558598A (zh) 2009-10-14
CN101558598B (zh) 2013-03-27
TW200840263A (en) 2008-10-01

Similar Documents

Publication Publication Date Title
US8290162B2 (en) Combinational combiner cryptographic method and apparatus
US8571188B2 (en) Method and device for secure phone banking
JP2010515083A5 (ja)
JP2010514272A5 (ja)
US8712046B2 (en) Cryptographic key split combiner
US10594479B2 (en) Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device
US11438316B2 (en) Sharing encrypted items with participants verification
TW200537959A (en) Method and apparatus for authentication in wireless communications
Di Pietro et al. A two-factor mobile authentication scheme for secure financial transactions
Sureshkumar et al. An enhanced bilinear pairing based authenticated key agreement protocol for multiserver environment
Zhang et al. A lightweight privacy preserving authenticated key agreement protocol for SIP-based VoIP
JP2003152716A (ja) 可変認証情報を用いる資格認証方法
JP4615128B2 (ja) 暗号鍵スプリットコンバイナを用いる音声及びデータ暗号化方法
Davaanaym et al. A ping pong based one-time-passwords authentication system
Achary Cryptography and Network Security: An Introduction
Rozenblit et al. Computer aided design system for VLSI interconnections
Shah A Hybrid Model for Cloud Data Security Using ECC-DES
JP2001036522A (ja) 可変認証情報を用いる資格認証方法
Alsaadi et al. MobiX: A software proposal based authentication service for mobile devices
Wu et al. Fundamentals of Cryptography
Initiative Attacking SSL when using RC4
Aydemir Guap-A Strong User Authentication Protocol for Gsm
Oppliger et al. SSL/TLS Session-Aware User Authentication: A Lightweight Alternative to Client-Side Certificates
Carroll Key escrow and distribution for telecommunications
Xue Lecture 10: Message Authentication Code

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120426

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120508

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120607

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120709

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120717

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20120807

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130111

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130118

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130329