JP5755391B2 - 鍵共有デバイス、及び鍵共有デバイスを構成するためのシステム - Google Patents

鍵共有デバイス、及び鍵共有デバイスを構成するためのシステム Download PDF

Info

Publication number
JP5755391B2
JP5755391B2 JP2015513055A JP2015513055A JP5755391B2 JP 5755391 B2 JP5755391 B2 JP 5755391B2 JP 2015513055 A JP2015513055 A JP 2015513055A JP 2015513055 A JP2015513055 A JP 2015513055A JP 5755391 B2 JP5755391 B2 JP 5755391B2
Authority
JP
Japan
Prior art keywords
key
modulus
network device
polynomial
modulo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015513055A
Other languages
English (en)
Other versions
JP2015521001A (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2015521001A publication Critical patent/JP2015521001A/ja
Application granted granted Critical
Publication of JP5755391B2 publication Critical patent/JP5755391B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0433Key management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、鍵共有のためにネットワークデバイスを構成する方法に関連し、当該方法は、ネットワークデバイスのローカルキー材料を生成するステップを含み、当該生成するステップは、ネットワークデバイスの識別番号を電子形式で取得するステップと、二変数多項式に識別番号を代入することによって多項式操作デバイスを用いて二変数多項式から一変数多項式を決定するステップと、生成されたローカルキー材料をネットワークデバイスに電子的に保存するステップとを含む。
本発明は、更に、第1のネットワークが暗号鍵である共有鍵を決定するための方法に関連し、当該方法は、一変数多項式を含む第1のネットワークデバイスのローカルキー材料を電子形式で取得するステップと、第1のネットワークデバイスとは異なる第2のネットワークデバイスの識別番号を取得するステップと、第2のネットワークデバイスの識別番号を一変数多項式に代入し、共有鍵を導出するステップとを含む。
本発明は、更に、鍵共有のためにネットワークデバイスを構成するためのシステム、及び共有鍵を決定するよう構成されたネットワークデバイスに関する。
複数のネットワークデバイスを含む通信ネットワークにおいて、かかるネットワークデバイスのペア間に安全な接続を確立することは課題である。これを達成する方法の1つが、C. Blundo, A. De Santis, A. Herzberg, S. Kutten, U. Vaccaro and M. Yung, “Perfectly-Secure Key distribution for Dynamic Conferences”, Springer Lecture Notes in Mathematics, Vol. 740, pp. 471-486, 1993(「Blundo」と呼ぶ)に開示されている。
この方法は、p個の元を含む有限体F内の係数を有する対称二変数多項式f(x,y)(pは素数又は素数のべき乗)を生成する中央権限(ネットワーク権限又は信頼できる第3者機関(Trusted Third Party; TTP)とも呼ばれる)を仮定する。各デバイスはF内に識別番号を有し、TTPからローカルキー材料を受け取る。識別子ηのデバイスのローカルキー材料は、多項式f(η, y)の係数である。
デバイスηがデバイスη’と通信したい場合、デバイスηは鍵材料を用いて鍵K(η, η’)=f(η, η’)を生成する。fは対称式なので、同じ鍵が生成される。
攻撃者がt+1以上のデバイスの鍵材料を知る場合、この鍵共有スキームには問題が起こる(tは二変数多項式の次数)。この場合、攻撃者は多項式f(x,y)を復元することができ、システムのセキュリティはその瞬間に完全に崩壊する。任意の2つのデバイスの識別番号が与えられれば、攻撃者はそのデバイスペア間で共有される鍵を復元することができる。
Song Guo、Victor Leung、及びZhuzhong Qianによる“A Permutation-Based Multi-Polynomial Scheme for Pairwise Key Establishment in Sensor Networks”, IEEE International Conference on Communications, 2010が参照される。この文献は、無線センサネットワークにおけるペアワイズ鍵確立のための置換(permutation)ベースの複数多項式スキームを提唱する。Songにより提唱されるスキームは、Blundoとは異なり、各ノードに単一の対称多項式を割り当てるのではなく、置換のグループを割り当てる。
2つのネットワークデバイス間で共有鍵を確立するための改良された方法を得ることは有益であろう。鍵共有のためにネットワークデバイスを構成する方法、及びネットワークデバイスが共有鍵を決定するための方法が提供される。
鍵共有のためにネットワークデバイスを構成する方法は、秘密モジュラス、公開モジュラス、及び整数の係数を有する二変数多項式を電子形式で取得するステップであって、公開モジュラスのバイナリ表現及び秘密モジュラスのバイナリ表現は、少なくとも鍵長の連続ビットにおいて同じである、ステップと、ネットワークデバイスのローカルキー材料を生成するステップであって、ネットワークデバイスの識別番号を電子形式で取得するステップと、多項式操作デバイスを使用して、二変数多項式に識別番号を代入し、代入の結果に秘密モジュラスを法としたリダクションモジュロ(秘密モジュラスを法とする計算)を行うことにより二変数多項式から一変数多項式を決定するステップとを含む、ステップと、生成されたローカルキー材料をネットワークデバイスに電子的に保存するステップとを含む。一実施形態では、ネットワークデバイスのローカルキー材料を生成するステップは、例えば電子乱数生成部を使用することによって難読化数を生成するステップと、多項式操作デバイスを使用して難読化数を一変数多項式の係数に加えて難読化された一変数多項式を得るステップとを含み、生成されたローカルキー材料は難読化された一変数多項式を含む。2つ以上の係数が難読化されてもよく、好ましくは、異なる係数には異なる難読化がされる。一実施形態では、ネットワークデバイスのローカルキー材料を生成するステップは、例えば電子乱数生成部を使用して複数の難読化数を生成するステップと、多項式操作デバイスを使用して、複数の難読化数の各難読化数を一変数多項式の対応する係数に加えて難読化された一変数多項式を得るステップとを含む。一実施形態では、一変数多項式の各係数に難読化数が加えられ得る。
二変数多項式は対称でもよいし、非対称でもよい。二変数多項式又は複数の二変数多項式が対称の場合、任意の2つのネットワークデバイスが共有鍵を導出し得る。興味深いことに、ルートキー材料として、複数の二変数多項式の中に1つ以上の非対称二変数多項式を用いることにより、2つのデバイスグループの作成に適合することが可能になる。例えば、同じグループに属する2つのデバイスは共通鍵を生成できないが、異なるグループ内の2つのデバイスは可能である。
難読化を加えることは任意の(オプションの)ステップである。ローカルキーの導出は公開モジュラスとは異なる秘密モジュラスを使用するので、難読化がなくとも攻撃に対する保護は依然として得られ、単一の有限体内で作業する場合に存在するであろう数学的関係が妨害される。これは、多項式解析のための通常の数学的ツール、例えば有限代数が適用できないことを意味する。一方、秘密モジュラスと公開モジュラスとが複数の連続ビットで重複するため、ローカルキー材料を有する2つのネットワークデバイスが同じ共有鍵を導出できる可能性は高い。一変数多項式の係数に1つ以上の難読化数を加えて難読化された一変数多項式を得ることにより、セキュリティが高められる。しかし、難読化数を加えるステップは任意であり、省略されてもよい。難読化を加えるか否かは、正しく共有鍵を導出する可能性と付加的なセキュリティとの間のトレードオフである。
公開モジュラスはネットワークデバイス内で使用されるためのものである。鍵共有のためにネットワークデバイスを構成する方法は、ネットワークデバイスが公開モジュラスを利用できるようにすること、例えば、公開モジュラスをローカルキー材料と共に記憶することを含み得る。
第1のネットワークデバイスの共有鍵(暗号鍵)を決定する方法は、第1のネットワークデバイスのローカルキー材料を電子形式で取得するステップであって、ローカルキー材料は、任意で難読化されていてもよい一変数多項式を含む、ステップと、第1のネットワークデバイスとは異なる第2のネットワークデバイスの識別番号を取得するステップと、第2のネットワークデバイスの識別番号を任意で難読化されていてもよい一変数多項式に代入するステップと、代入の結果に公開モジュラスを法としたリダクションモジュロを行い鍵モジュラスを法としたリダクションモジュロを行うステップと、鍵モジュラスを法としたリダクションモジュロの結果から共有鍵を導出するステップとを含む。一実施形態では、方法は例えば、代入の結果に公開モジュラスを法としたリダクションモジュロを行うステップと、その結果を2のべき乗で割るステップと、鍵モジュラスを法としたリダクションモジュロを行うステップとを含む。
それぞれが識別番号及びその識別番号のために生成されたローカルキー材料を有する複数のネットワークデバイス中の任意の2つのネットワークデバイスのペアは、共有鍵について少しの資源で協議することができる。2つのネットワークデバイスは、秘密にされる必要がない識別番号を交換して多項式計算を行うだけでよい。必要とされる計算の種類は大きな計算資源を要求せず、これはこの方法が低コスト且つハイボリュームな種類のアプリケーションに適していることを意味する。
ローカルキー材料が対称多項式から得られた場合、ネットワークデバイスペアの両ネットワークデバイスが同じ共有鍵を取得することができる。ローカルキー材料に難読化数が加えられた場合、ローカルキー材料とルートキー材料との間の関係は乱される。難読化されていない一変数多項式と対称二変数多項式との間に存在していた関係は無くなる。これは、かかるスキームに対する単純な攻撃が通用しなくなることを意味する。
難読化が使用されなかったとしても、公開モジュラスと(1つ又は複数の)秘密モジュラスとは異なるので、攻撃は依然として困難である。難読化されない場合でも、公開モジュラスを法としたリダクションモジュロは同じ共有鍵を導出する可能性を高める。
一実施形態では、公開モジュラスのバイナリ表現及び秘密モジュラスのバイナリ表現は、少なくとも鍵長(b)の連続ビットにおいて同じである。複数の秘密モジュラスが使用されてもよいことに留意されたい。複数の秘密モジュラスは、公開モジュラスの複数の秘密モジュラスの任意の1つのバイナリ表現及び秘密モジュラスのバイナリ表現が少なくとも鍵長(b)の連続ビットにおいて同じであるよう選択され得る。複数の秘密モジュラスの秘密モジュラスごとに、整数の係数を有し、対称であり得る二変数多項式が選択され、複数の任意で対称な二変数関数が得られる。
ローカルキー材料の導出は公開モジュラスとは異なる秘密モジュラスを使用するため、例えば単一の有限体内で作業する場合に存在するであろう数学的関係は妨害される。これは、多項式解析のための通常の数学的ツール、例えば有限代数が適用できなくなることを意味する。攻撃者はせいぜい格子等のはるかに非効率的な構造を使用し得る。また、共有鍵を導出する際、通常の数学的意味では両立しない(not compatible)2つのモジュロ演算が組み合わされる。したがって、数学的構造は2箇所で回避される。方法は直接的なペアワイズ鍵生成を可能にし、非常に多くの、例えば10オーダーの、場合によってはそれ以上のネットワークデバイスを取り込むレジリエンスを有する。一方、秘密モジュラス及び公開モジュラスは複数の連続ビットにおいて重複するため、ローカルキー材料を有する2つのネットワークデバイスが同じ共有鍵を導出できる可能性は高い。
発明者の特定の一洞察は、公開モジュールが素数でなくともよいということであった。一実施形態では、公開モジュラスは合成数である。また、公開モジュラスがバイナリ表現で「全て1」ビットの数字、例えば、1ビットのみからなる数字であるべき理由はない。一実施形態では、公開モジュラスは2のべき乗マイナス1ではない。一実施形態では、公開モジュラスのバイナリ表現は少なくとも1つの0ビットを含む(先頭のゼロはカウントしない、すなわち、公開モジュラスは公開モジュラスのMSBより下位の0ビットを少なくとも1つ含む)。一実施形態では、公開モジュラスは2のべき乗マイナス1であり、合成数である。
一実施形態では、公開モジュラスは1つ以上の秘密モジュラスより大きい。
一実施形態では、公開モジュラスマイナス秘密モジュラスのバイナリ表現の少なくとも鍵長の連続ビットは全て0ビットである。この差は、2の補数表現ではなく、公開モジュラスマイナス秘密モジュラスの符号付数値表現を用いて評価されるべきである。あるいは、公開モジュラスマイナス秘密モジュラスの絶対値のバイナリ表現の少なくとも鍵長の連続ビットが全て0ビットであることが要求され得る。公開モジュラスのバイナリ表現が全ての秘密モジュラスのバイナリ表現と合致する鍵長(b)の連続位置のセットが存在する。
公開モジュラスが秘密モジュラスと合致する連続ビット位置は、LSB(least significant bits)であり得る。一実施形態では、公開モジュラスマイナス秘密モジュラスのバイナリ表現の最下位の鍵長ビットが全て0ビットである。これは、共有鍵を導出するとき2のべき乗による除算が必要ないという利点を有する。
複数の秘密モジュラス中の秘密モジュラスが公開モジュラスと等しくてもよい。しかし、単一の秘密モジュラスが使用される場合、これは望ましくない。
秘密モジュラスが十分な非線形性を導入することが望ましい。一実施形態では、公開モジュラスが各秘密モジュラスと異なる連続ビット位置のセットが存在する。更に、秘密モジュラス同士が異なることを課されてもよい。秘密モジュラスのバイナリ表現のペアワイズ比較が、例えば少なくとも鍵長の連続ビットのセット内の少なくとも1つのビットにおいて異なってもよく、セットは全ての秘密モジュラスについて等しく、場合によっては公開モジュラスについても同じである。
ネットワークデバイスは、電子通信手段及び計算手段を備える電子デバイスであり得る。ネットワークデバイスは、例えばRFIDタグ形式で任意の非電子物体に取り付けられ得る。例えば、当該方法は「モノのインターネット」に適し得る。例えば、物体、特に低コストの物体が、物体が通信するための、例えば識別されるための無線タグを備えてもよい。かかる物体は、コンピュータ等の電子手段を介してインベントリに入れられてもよい。盗難された又は故障したアイテムを容易に追跡及び発見することができる。特に有望な1つのアプリケーションは、共有鍵を決定するよう構成されたネットワークデバイスを備える照明である。かかる照明は安全に自身の状態を通信し得り、かかる照明は安全に制御、例えばON/OFFされ得る。ネットワークデバイスは、それぞれが識別番号を送受信するための及び電子ステータスメッセージを送信するための電子通信機を含み、また、それぞれが本発明に係る方法に従い共有鍵を導出するよう構成された集積回路を含む複数のネットワークデバイスの1つであり得る。
一実施形態では、本発明の方法はIPSec、(D)TLS、HIP、又はZigBee等のセキュリティプロトコルのための暗号化方法として使用され得る。特に、これらのプロトコルのうちの1つを使用するデバイスは識別子に関連付けられる。第1のデバイスと通信しようとしている第2のデバイスは、その識別子に基づき、第1のデバイスと共通のペアワイズ鍵を生成でき、このペアワイズ鍵(又は例えば鍵導出関数によってこれから導出された鍵)は、事前共有鍵に基づく上記プロトコルの一方法に使用され得る。特に、本発明において規定されるデバイスの識別子は、ZigBeeショートアドレス、IPアドレス、又はホストID等のネットワークアドレスであり得る。また、識別子はデバイスのIEEEアドレスでもよいし、又はデバイスが製造中にIEEEアドレスに関連付けられたローカルキー材料を受信するようデバイスに関連付けられた適切なビット列でもよい。
共有鍵の導出は多数のアプリケーションに使用され得る。典型的には、共有鍵は暗号対称鍵である。対称鍵は機密性のために使用されてもよく、例えば、送信メッセージ又は受信メッセージが対称鍵によって暗号化されてもよい。両方の識別番号、及び2つのローカルキー材料のうちの1つを利用できる(又はルートキー材料を利用できる)デバイスのみが通信を解読できる。対称鍵は認証のために使用されてもよく、例えば、送信又は受信メッセージが対称鍵を用いて認証されてもよい。このようにすることで、メッセージの発信源を確認できる。両方の識別番号、及び2つのローカルキー材料のうちの1つを利用できる(又はルートキー材料を利用できる)デバイスのみが認証メッセージを作成できる。
鍵共有のためにネットワークデバイスを構成する方法は、典型的にはネットワーク権限、例えばTTPによって実行される。ネットワーク権限は必要な材料、例えばルートキー材料を他のソースから取得してもよいが、自身でこれを生成してもよい。例えば、公開モジュラスが生成され得る。例えば、公開モジュラスがシステムパラメータであって受信されたとしても、秘密モジュラスは生成され得る。
一実施形態では、公開モジュラスNは2(a+2)b-1 N2(a+2)b-1を満たすよう選択され、ここで、aは二変数多項式の次数を表し、bは鍵長を表す。例えば、一実施形態ではN = 2(a+2)b-1である。後者の選択の場合のモジュロ演算は特に効率的に実行され得る。
固定の公開モジュラスを有することは、それがネットワークデバイスに伝送される必要がなく、例えばネットワークデバイスのシステムソフトウェアに組み込まれ得るという利点を有する。特に、公開モジュラスは乱数生成部を使用して選択されてもよい。
公開モジュラス及び秘密モジュラスはビット列で表現され得る。また、特定の数学的構造を用いてこれらを簡略化してもよい。例えば、秘密モジュラスを記憶する代わりに、はるかに短いであろう公開モジュラスとの差を記憶してもよい。
公開モジュラスマイナス秘密モジュラスのバイナリ表現の「鍵長」数のLSBが全て0ビットになるように秘密モジュラスを選択することは、ネットワークデバイスペアの第1のネットワークデバイスにおける共有鍵がネットワークデバイスペアの第2のネットワークデバイスにおいて導出される共有鍵に近くなる可能性を高める。すなわち、秘密モジュラスのバイナリ表現は、「鍵長」の最下位の位置において、公開モジュラスのバイナリ表現と同じビットを有する。例えば、鍵長が64の場合、公開モジュラスから264の倍数を引くことによって秘密モジュラスが選択され得る。一実施形態では、公開モジュラスマイナス秘密モジュラス割る2の鍵長乗は、2の鍵長乗より小さい。
一実施形態では、複数の秘密モジュラスが電子形式で取得又は生成され、複数の秘密モジュラスの秘密モジュラスごとに整数の係数を有する対称二変数多項式が選択されることによって複数の対称二変数多項式が得られ、秘密モジュラスごとに対称二変数多項式が対応する。一変数多項式を決定するステップは、識別番号を複数の対称二変数多項式のそれぞれに代入するステップと、それぞれの対称二変数多項式に複数の秘密モジュラスの対応する秘密モジュラスを法としたリダクションモジュロを行うステップと、複数のリダクションの複数の結果を足し合わせるステップとを含む。異なるモジュラスに対して複数の対称二変数多項式を有する場合、両立しない構造が更に混ぜられるので、セキュリティが高まる。典型的には、秘密モジュラスは互いに異なる。対応する代数的構造が大きく異なる場合、例えば、複数の秘密モジュラスを互いに素になるように、特にペアワイズに互いに素になるように選択することによって、更に特に異なる素数であるように選択することにより、複数の秘密モジュラスを有することは解析を一層複雑にする。
異なる秘密モジュラス、特に複数の秘密モジュラスを有することは、解析を複雑にする。セキュリティを更に高めるために、係数を更に制御してもよい。一実施形態では、複数のリダクションの結果の複数の一変数多項式を足し合わせる権限が、得られた係数の各値が小さ過ぎるか又は大き過ぎるか、例えば、下限閾値未満であるか又は上限閾値以上であるかを検証する。いずれの場合でも、複数のリダクションの要素が大き過ぎる又は小さ過ぎる場合、攻撃者が突き止め得るので、これはセキュリティを更に高める。例えば、加算後の係数の値が1であり、2つの一変数多項式しか存在しない場合、攻撃者は、第1の多項式に関連付けられた対応する係数が1であり、第2の多項式に関連付けられた係数が0であるか、又はその反対であることを知る。特に、デバイスのローカルキー材料を生成する権限が、デバイスのローカルキー材料の得られた係数の各値が「最小値」以上且つ「最大値」以下であるか否かを検証できる。この確認は省略されてもよく、特に、公開モジュラスが全ての秘密モジュラスに比較的近く、鍵材料の全ての要素が0とN-1との間の場合、省略されてもよい。TTPが識別番号を割り当てることができる場合は、TTPが小さい又は大きい係数を発見するとき、TTPはデバイスに別の識別番号を割り当ててもよい。
一実施形態では、特定の秘密モジュラスは、それぞれ、公開モジュラスマイナス特定の秘密モジュラスのバイナリ表現の最下位の鍵長(b)ビットが全て0ビットであるようなものである。
公開モジュラスは秘密モジュラスより大きくても小さくてもよい。一実施形態では、公開モジュラスマイナス秘密モジュラスのバイナリ表現は少なくとも鍵長の全0ビットを有する。少なくとも鍵長の0ビットは連続しており、バイナリ表現内の任意の位置に存在し得る。公開モジュラスと秘密モジュラスとの差に0ビット列を有することは、難読化の度が過ぎることを回避する。一実施形態では、公開モジュラスマイナス秘密モジュラスの鍵長のLSB割る2のs乗が全て0になるような整数パラメータ「s」が存在する。パラメータ「s」は全ての秘密モジュラスについて同じである。
例えば、特定の秘密モジュラスそれぞれに関して、公開モジュラスマイナス特定の秘密モジュラス割る0ニット列除数のバイナリ表現の鍵長(b)ビットが全て0ビットであるような0ビット列除数(2のべき乗)が定められてもよい。LSBが0の場合、0ビット列除数は1でもよい。一実施形態では、0ビット列除数は1より大きい。2のべき乗による除算は、LSB方向のビットのシフトと同じ結果を与える整数除算として解釈することができる。除算の剰余は無視される。
鍵長ビットの共有鍵を生成するために、ネットワークデバイスは先に追加の除算ステップを適用する。第1のネットワークデバイスは、公開モジュラスを法とした第2のデバイスの識別番号の鍵材料モジュロを評価し、2のs乗で割り、リダクションモジュロ2の鍵長乗を行う。これは、公開モジュロの後にまずモジュロ2のs+鍵長乗を適用し、その後2のs乗で除算することに等しいことに留意されたい。ここで、「除算は」端数の切り捨てを含む。
一実施形態では、秘密モジュラスは乱数生成部を使用して生成される。一実施形態では、複数の秘密モジュラスはペアワイズに互いに素になるように生成される。例えば、新たな秘密モジュラスごとにそれらが依然としてペアワイズに互いに素であることを確認し、そうでない場合、最後に生成された秘密モジュラスを破棄することを繰り返して複数の秘密モジュラスを生成してもよい。一実施形態は、候補モジュラスが素数判定デバイスによる素数判定を満たすまで、乱数生成部を使用して、公開モジュラスマイナス候補モジュラスのバイナリ表現の鍵長(b)の連続ビットが全て0であるような候補モジュラスを繰り返し生成するステップを含み、このようにして得られた素数判定を満たす候補モジュラスが秘密モジュラスとして使用される。素数判定法は、例えばMiller-Rabin素数判定法又はSolovay-Strassen 素数判定法でもよい。
次数aの変数x及びyの対称二変数多項式は、形式xiyjの単項式しか有さない(ia、ja)。更に、xiyjに対応する係数は、xjyiに対応する係数と同じである。これは、記憶される係数の数を約半分に減らすために利用され得る。より緩和された次数の定義を用いることも可能であることに留意されたい。単項式内の変数の最大次数を単項式の次数として定める。したがって、xjyiの次数はmax(i,j)である(ia、ja)。したがって、例として、次数1の多項式と呼ばれる式はa+bx+cy+dxyのような一般形を有する(対称多項式のみを考慮するので、b=cであることに留意されたい)。望ましい場合、例えば、i+jaである単項式のみが使用されるという制約を含め、二変数多項式に追加の制約を課してもよいが、必須ではない。
一実施形態では、対称二変数多項式はネットワーク権限によって生成される。例えば、対称二変数多項式はランダムな対称二変数多項式であり得る。例えば、乱数生成部を使用して係数を乱数として選択してもよい。
使用される難読化は攻撃に対するレジリエンス、特に複数の鍵材料が組み合わせられる結託攻撃に対するレジリエンスを大きく高めるが、潜在的な欠点を有する。場合によっては、第1のネットワークデバイスによって導出された共有鍵は、第2のネットワークデバイスによって導出された共有鍵と全てのビットにおいて同一ではない。これは、難読化係数の加算後のキャリービットにおけるミスマッチに主に起因する。他の原因は、生成されるキャリービットに影響を与える鍵の生成中の各秘密モジュラスのモジュラ効果の欠如である。厄介ではあるが、この欠点は多様な方法で解決できる。難読化をより注意深く選択することにより、差異の可能性、特に大きな差異の可能性を大幅に低減することができる。更に、存在する場合、差異は生成された鍵のLSB内に位置する可能性が高いことがわかった。したがって、1つ以上のLSBを除去することによって同一の共有鍵の可能性を高めることができる。例えば、共有鍵を決定する方法の一実施形態は、第1のネットワークデバイス及び第2のネットワークデバイスが同じ共有鍵を導出したか否かを決定するステップと、同じ鍵が導出されなかったと決定される場合、鍵モジュラスを法としたリダクションモジュロの結果から更なる共有鍵を導出するステップとを含む。両側で等しい鍵が発見されるまで、更なる共有鍵が導出されてもよい。共有鍵に閾値未満のビット数しか残っていない場合、方法は終了する。一部のアプリケーションでは、単純に、ネットワークデバイスのいくらかの割合は通信できないと受け止められ得る。例えば、メッセージが様々なルートを取り得るアドホック無線ネットワークでは、ネットワークデバイスの一部が通信できない場合にも接続性を失うことはない。
難読化がない場合でも、第1のネットワークデバイスによって導出される共有鍵が全てのビットにおいて第2のネットワークデバイスによって導出される共有鍵と同じではない可能性があることに留意されたい。ただし、その可能性は難読化を有するケースより低い。
一実施形態では、共有鍵の複数のLSBが除去され、除去されるビット数は、例えば1、2以上、4以上、8以上、16以上、32以上、又は64以上であり得る。より多くのLSBを除去することにより、異なる鍵を有する可能性は低くなり、特に、任意の所望の閾値まで下げられ得る。共有鍵が等しくなる可能性は数学的関係に基づいて計算されてもよいし、実験により決定されてもよい。
また、難読化数の選択も制御され得り、一実施形態では、高次の単項式に対応する係数については、選択される難読化数が選択される範囲が縮小される。特に、|εA,i|<2(a+1-i)bが要求され得り、ここでεA,iはi次の単項式の難読化数を表し、iは係数に対応する単項式の次数を表し、aは二変数多項式の次数を表し、bは鍵長を表す。Aはローカルキー材料が生成される対象のネットワークデバイスを表す。一実施形態では、例えば上記式を用いて、係数ごとに難読化数が生成される。ネットワークデバイスごとに異なる難読化が適用され得る。例えば、3以上のネットワークデバイスが存在する場合であっても、ネットワークデバイスごとに異なる難読化数が生成され得る。
難読化数は正数に制限されてもよいが、これは必須ではなく、難読化数は負でもよいことに留意されたい。一実施形態では、難読化数は乱数生成部を用いて生成される。複数の難読化数を生成し、一変数多項式の係数に加え、難読化された一変数多項式を得てもよい。一変数多項式の1つ以上の、好ましくは全ての係数がこのように難読化され得る。
ネットワークデバイスの識別番号のビット数は、通常、鍵長以下であるよう選択される。識別番号は、例えば32又は64以上のビット列であり得る。鍵長は32以上、48以上、64以上、96以上、128以上、又は256以上でもよい。対応する決定共有鍵のLSBの数を減らすために、鍵長のビット数はいくらか高く選択されてもよい。一方、一実施形態では、識別番号の長さは鍵長より長い。この場合、生成される鍵の鍵長ビットのLSBに対するモジュラ演算の効果が増し、その結果、共通鍵を生成しようとするデバイスペアにおいてそれらのビットが等しくならない可能性がある。しかし、対応する計算を行うときにより多くのビットが混合されるので、長い識別子を有することはセキュリティ面でポジティブな効果を有し得る。
多項式操作デバイスは、コンピュータ、例えば集積回路上で動作するソフトウェア内に実装され得る。多項式操作デバイスは、非常に効率的にハードウェア内に実装され得る。組み合わせも可能である。例えば、多項式操作デバイスは多項式を表現する係数のアレイを操作することによって実現されてもよい。
生成されたローカルキー材料をネットワークデバイスにおいて電気的に記憶することは、生成されたローカルキー材料を例えば有線接続又は無線接続を用いてネットワークデバイスに電気的に送信して、生成されたローカルキー材料をネットワークデバイスに保存することによって実行されてもよい。これは製造中又はインストール中、例えば、ネットワークデバイス内の集積回路のテスト中に実行されてもよい。テスト機器はネットワーク権限を含んでもよいし、又はネットワーク権限に接続されてもよい。また、これは、デバイスが動作ネットワークに参加成功後に起こってもよい(すなわち、ネットワークアクセス又はブートストラッピング後)。特に、ローカルキー材料は動作ネットワークパラメータの一部として送信されてもよい。
第1のネットワークデバイスのローカルキー材料を電子形式で取得することは、ネットワークデバイスを鍵共有のために構成するためのシステム、例えばネットワーク権限デバイスからローカルキー材料を電子的に受け取ることによって実行され得る。また、ローカルキー材料の取得は、ローカルストレージ、例えばフラッシュメモリ等のメモリからローカルキー材料を引き出すことによって実行され得る。
第2のネットワークデバイスの識別番号を取得することは、識別番号を第2のネットワークデバイスから、例えば第2のネットワークデバイスから直接又は無線で受信することによって実行され得る。
公開モジュラス及び鍵モジュラスはネットワークデバイス内に記憶され得る。また、これらはネットワーク権限から受信されてもよい。また、これらはネットワークデバイスのソフトウェア内に暗示されてもよい。例えば、一実施形態では鍵モジュラスは2のべき乗である。かかる鍵モジュラスを法としたリダクションモジュロは、鍵長LSB以外の全てのビットを破棄することによって実行され得る。まず、代入の結果に公開モジュラスを法としたリダクションモジュロが行われ、その後、更に鍵モジュラスを法としたリダクションモジュロが行われる。
必須ではないが、公開モジュラス及び鍵モジュラスは互いに素でもよい。これは、公開モジュラスを奇数とし、鍵モジュラスを2のべき乗とすることによって達成され得る。いずれにせよ、公開モジュラスを法としたリダクションモジュロを省略することができ、鍵モジュラスが公開モジュラスを割ることを避けられる。
2つのデバイス間の鍵合意方法は、ルートキー材料として二変数多項式の数を使用し得る。xの機関間のxの合意をx変数多項式をルートキー材料として使用する鍵合意方法が用いられてもよい。この場合、TTPはx変数多項式を対応する環内の変数をもって評価し、得られたx−1変数多項式は、その後、デバイス上に記憶されるローカルキー材料を生成する整数に加えられる。鍵についてxのデバイスが同意しなければならない場合、デバイスは、自身のローカルキー材料を他のx−1のデバイスの識別子を用いて評価する。例えば、鍵共有のためにネットワークデバイスを構成する方法において多変数多項式が使用され得り、方法は、秘密モジュラス(p1)、公開モジュラス(N)、及び整数の係数を有する多変数多項式(f1)を電子形式で取得するステップであって、公開モジュラスのバイナリ表現及び秘密モジュラスのバイナリ表現は少なくとも鍵長(b)の連続ビットにおいて同じである、ステップと、ネットワークデバイスのローカルキー材料を生成するステップであって、ネットワークデバイスの識別番号(A)を電子形式で取得するステップと、多項式操作デバイスを使用して、多変数多項式に識別番号を代入し、代入の結果に秘密モジュラスを法としたリダクションモジュロを行うことにより多変数多項式から多項式を決定するステップとを含む、ステップと、生成されたローカルキー材料をネットワークデバイスに電子的に保存するステップとを含む。多項式操作デバイスによって得られる多項式の変数は1少ない。複数の変数が全ての変数について対称である場合、鍵共有にとって好都合である。対応する、第1のネットワークデバイスが共有鍵(暗号鍵)を決定するための方法は、第1のネットワークデバイスのローカルキー材料を電子形式で取得するステップであって、ローカルキー材料は、任意で難読化されていてもよい多項式を含む、ステップと、複数の他のネットワークデバイスの識別番号を取得するステップと、複数の他のネットワークデバイスの識別番号を任意で難読化されていてもよい多項式に代入するステップと、代入の結果に公開モジュラスを法としたリダクションモジュロを行い鍵モジュラスを法としたリダクションモジュロを行うステップと、鍵モジュラスを法としたリダクションモジュロの結果から共有鍵を導出するステップとを含む。1つの識別番号を除く全ての他の識別番号の代入後、方法は一変数多項式が使用される状況になることに留意されたい。
一実施形態では、第1のネットワークデバイスはそのデバイスの識別番号に関連付けられた複数の(n)ローカルキー材料を受信する。この第1のデバイスと第2のデバイスとの間で生成される鍵は、第2のデバイスの識別番号を用いて複数の(n)第1のデバイスのローカルキー材料のそれぞれを評価することによって得られる複数の(n)鍵の組み合わせ(例えば、連結)として得られる。これは方法の並列使用を可能にする。
ルートキー材料として非対称二変数多項式を使用すること、すなわちf(x,y)!=f(y,x)は、第1のグループのデバイス及び第2のグループのデバイスが、それぞれ、デバイス上に記憶されるローカルキー材料KMであるKM(Id,y)及びKM(x,iD)を受信する等、2つのデバイスグループの作成を可能にする。同じグループに属する2つのデバイスは共通鍵を生成することはできないが、異なるグループ内のデバイスは可能である。Blundoも参照されたい。
ネットワークデバイスの識別番号は、デバイスに関連付けられた情報を含むビット列の一方向関数として計算され得る。一方向関数はSHA2又はSHA3等の暗号ハッシュ関数であり得る。一方向関数の結果は、識別子のサイズに適合するよう切り捨てられてもよい。あるいは、一方向関数のサイズは最大識別子サイズより小さい。
一実施形態では、対称多項式は〈axiyipjの形式の単一の単項式を含み、ここで<>pはモジュール演算を表す。この場合、要素は有限群に含まれ、演算は乗算である。公開モジュラスは秘密モジュラスより大きくても小さくてもよく、複数の秘密モジュラスが存在する場合、一部が公開モジュラスより大きく、一部が小さくてもよい。
鍵共有のためにネットワークデバイスを構成する方法の一実施形態では、方法は、公開モジュラスのバイナリ表現が全ての秘密モジュラスのバイナリ表現と一致するような鍵長(b)の連続位置のセットが存在するよう、複数の秘密モジュラス(pi)、及び整数の係数を有する複数の二変数多項式(fi)を電子形式で取得するステップと、ネットワークデバイスのローカルキー材料を生成するステップであって、ネットワークデバイスの識別番号(A)を電子形式で取得するステップと、多項式操作デバイスを使用して、識別番号を複数の二変数多項式のそれぞれに代入し、それぞれの対称二変数多項式に複数の秘密モジュラスの対応する秘密モジュラスを法としたリダクションモジュロを行い、複数のリダクションの複数の結果を加算することによって複数の二変数多項式から一変数多項式を決定するステップとを含む、ステップと、難読化数を生成して、多項式操作デバイスによって一変数多項式の係数に加えることによって難読化された一変数多項式を得るステップとを含み、生成されたローカルキー材料は難読された一変数多項式を含み、ネットワークデバイスに電子的に保存される。複数の二変数多項式(fi)の二変数多項式は、対応する秘密モジュラス(pi)を法とした係数モジュロを有するとして表され得る。
より一般的には、ルートキー材料は任意の環にかけて評価され得る。Ax^a等の単一の単項式の多項式を使用することも可能であり、この場合、群が使用されてもよい。
本発明の一側面は、鍵共有のためにネットワークデバイスを構成するためのシステム(例えば、ネットワーク権限)に関連し、システムは、秘密モジュラス、秘密モジュラスより大きい又は小さくてもよい公開モジュラス、及び整数の係数を有する対称二変数多項式を電子形式で取得するための鍵材料取得部であって、公開モジュラスマイナス秘密モジュラスのバイナリ表現の鍵長ビット(場合によっては、鍵長のLSB)は全て0である、取得部と、ネットワークデバイスのローカルキー材料を生成するための生成部であって、ネットワークデバイスの識別番号を電子形式で取得するための、及び、生成されたローカルキー材料をネットワークデバイスに電子的に保存するためのネットワークデバイスマネージャーと、二変数多項式に識別番号を代入し、代入の結果に秘密モジュラスを法としたリダクションモジュロを行うことによって二変数多項式から一変数多項式を決定するための多項式操作デバイスとを含む、生成部とを含む。
システムの一実施形態は、難読化数を生成するための難読化数生成部、例えば乱数生成部を含み、多項式操作デバイスは、難読化数を一変数多項式の係数に加えて難読化された一変数多項式を得るよう構成され、生成されたローカルキー材料は難読化された一変数多項式を含む。
本発明の一側面は、共有鍵を決定するよう構成された第1のネットワークデバイスに関連し、鍵は暗号鍵であり、第1のネットワークデバイスは、第1のネットワークデバイスのローカルキー材料を電子形式で取得するためのローカルキー材料取得部であって、ローカルキー材料は難読化された一変数多項式を含む、ローカルキー材料取得部と、第1のネットワークデバイスとは異なる第2のネットワークデバイスの識別番号を取得するための受信機と、第2のネットワークデバイスの識別番号を任意で難読化された一変数多項式に代入し、代入の結果に公開モジュラスを法としたリダクションモジュロを行い鍵モジュラスを法としたリダクションモジュロ(公開モジュラスと鍵モジュラスは互いに素)を行うための多項式操作デバイスと、鍵モジュラスを法としたリダクションモジュロの結果から共有鍵を導出するための鍵導出デバイスとを含む。
鍵導出デバイスは、鍵モジュラスを法としたリダクションモジュロの結果から共有鍵を導出するよう構成されたコンピュータとして、例えば集積回路、実行ソフトウェア、ハードウェア、又はこれらの組み合わせとして実装され得る。
鍵モジュラスを法としたリダクションモジュロの結果から共有鍵を導出するステップとは、鍵導出関数、例えば、OMA DRM Specification of the Open Mobile Alliance (OMA-TS-DRM-DRM-V2_0_2-20080723-A, section 7.1.2 KDF)に規定される関数KDF等の関数の適用を含み得る。共有鍵の導出は、1つ以上のLSBを(鍵導出関数を適用する前に)破棄することを含み得る。共有鍵を導出することは、更に、(鍵導出関数を適用する前に)整数を加算、減算、又は連結させることを含み得る。
それぞれが識別番号及び対応するローカルキー材料を有する複数のネットワークデバイスは、合わせて、ネットワークデバイスのペア間の安全な通信、例えば機密及び/又は認証通信のために構成された通信ネットワークを形成してもよい。
鍵生成はIDベースであり、デバイスペア間でペアワイズ鍵を生成することを可能にする。第1のデバイスAは、ローカルキー材料及び識別番号から鍵を導出するアルゴリズムに依拠し得る。
一実施形態では、第1のネットワークデバイスは第2のネットワークデバイスに鍵確認メッセージを送信する。例えば、確認メッセージはメッセージの暗号化を含んでもよく、更に、オプションでメッセージ自体を含んでもよい。第2のネットワークデバイスはメッセージの暗号化を検証し得る。送信の必要をなくすために、メッセージは固定で、第2のデバイスに存在してもよい。メッセージはランダム又はナンス等でもよく、この場合、暗号化と共に送信され得る。第2のデバイスは、鍵が合意するか否かの指標を含むメッセージをもって応答してもよい。また、第2のデバイスは自身の鍵確認メッセージをもって応答してもよい。第1及び/又は第2のデバイスが鍵が異なることを発見した場合、両者は、例えばLSBを削除する等によって鍵等化プロセスを開始し得る。
ネットワークデバイス及びシステムは電子機器であり得る。ネットワークデバイスはモバイルネットワークデバイスであり得る。
本発明に係る方法は、コンピュータ実行方法としてコンピュータ上に、専用ハードウェアとして、又は両者の組み合わせとして実装されてもよい。本発明に係る方法のための実行可能コードがコンピュータプログラム製品上に記憶されてもよい。コンピュータプログラム製品の例は、記憶装置、光学記憶装置、集積回路、サーバ、オンラインソフトウェア等を含む。好ましくは、コンピュータプログラム製品は、当該プログラム製品がコンピュータ上で実行されるとき本発明に係る方法を実行するためのコンピュータ読み取り可能媒体上に記憶される非一時的プログラムコード手段を含む。
好ましい一実施形態では、コンピュータプログラムは、コンピュータ上で実行されたとき、本発明に係る方法のステップを全て実行可能なコンピュータプログラムコード手段を含む。好ましくは、コンピュータプログラムはコンピュータ読み取り可能媒体上に具現化される。
完全さのために、発明の名称が“A method for secure communication in a network, a communication device, a network and a computer program therefor”である国際出願WO2010032161について言及する。この出願は、通信ネットワークにおける安全な通信のための方法に関する。
本願と上記出願との間には複数の違いが存在し、モジュラ演算の使用、特に異なる公開及び秘密モジュラスを有するモジュラ演算の組み合わせ、モジュラ演算の反復、例えば公開モジュラスを法としたリダクションモジュロ及びその後の鍵モジュラスを法としたリダクションモジュロ、難読化の使用、多項式全体の使用が含まれる。
鍵共有のためにネットワークデバイスを構成する方法、及び第1のネットワークデバイスが共有鍵を決定するための方法が提供される。構成方法は秘密モジュラスp1及び公開モジュラスN、並びに整数の係数を有する二変数多項式f1を使用し、公開モジュラスのバイナリ表現及び秘密モジュラスのバイナリ表現は、少なくとも鍵長bの連続ビットにおいて同じである。二変数多項式に識別番号を代入し、代入の結果に秘密モジュラスを法としたリダクションモジュロを行って一変数多項式を得ることによって、ネットワークデバイスのローカルキー材料が生成される。一変数多項式の係数に1つ以上の難読化数を加えて440難読化された一変数多項式を得ることによってセキュリティが高められ得る。使用フェーズでは、ネットワークデバイスが他のネットワークデバイスの識別番号を一変数多項式に代入530し、公開モジュラスを法としたリダクションモジュロを行い及び鍵モジュラスを法としたリダクションモジュロを行うことによって共有暗号鍵を決定する。
本発明の上記及び他の側面は、後述される実施形態を参照して説明され、明らかになるであろう。
図1は、ルートキー材料生成部を示す概略的なブロック図である。 図2は、ローカルキー材料生成部を示す概略的なブロック図である。 図3は、通信ネットワークを示す概略的なブロック図である。 図4は、ローカルキー材料の生成を示す概略的なフローチャートである。 図5は、共有鍵の生成を示す概略的なフローチャートである。 図6は、共有鍵の生成を示す概略的なシーケンス図である。
異なる図において同じ参照符号を有する項目は、同じ構造的特徴及び同じ機能を有する、又は同じ信号である。かかる項目の機能及び/又は構造が説明されている場合、発明を実施するための形態においてそれらを繰り返し説明する必要はない。
100 ルートキー材料取得部
110 公開モジュラス要素
112 多項式次数要素
114 鍵長要素
116 多項式数要素
122 秘密モジュラスマネージャー
124 対称二変数多項式マネージャー
200 ローカルキー材料生成部
210 公開材料要素
220 秘密材料要素
240 多項式操作デバイス
250 ネットワークデバイスマネージャー
260 難読化数マネージャー
300 通信ネットワーク
310 第1のネットワークデバイス
320 第2のネットワークデバイス
330 トランシーバ
342 多項式操作デバイス
344 ローカルキー材料取得部
346 鍵導出デバイス
348 鍵イコライザー
350 暗号要素
本発明は多様な実施形態を取り得るが、図面及び本明細書では、1つ以上の特定の実施形態が詳細に図解及び記述される。本開示は本発明の原理の例示として考えられるべきであり、本発明を図解及び記述される特定の実施形態に限定するものではないことを理解されたい。
以下、鍵共有方法の一実施形態が説明される。方法はセットアップフェーズ及び使用フェーズを有する。セットアップフェーズは開始ステップ及び登録ステップを含み得る。開始ステップはネットワークデバイスに関連しない。
開始ステップはシステムパラメータを選択する。開始ステップは信頼される第3者機関(TTP)によって実行され得る。しかし、システムパラメータは入力として与えられるとみなすこともできる。その場合、TTPはシステムパラメータを生成する必要はなく、開始ステップはスキップされ得る。例えば、TTPはデバイスメーカーからシステムパラメータを受け取ってもよい。デバイスメーカーが先に開始ステップを実行してシステムパラメータを取得してもよい。説明の便宜上、TTPが開始ステップを実行するとするが、これは必須ではないことを留意されたい。
開始ステップ
使用フェーズ中にデバイス間で共有される鍵の望ましい鍵長が選択される(この鍵長を「b」とする)。低セキュリティアプリケーションのための典型値は64又は80であり得る。コンシューマレベルのセキュリティのための典型値は128であり得る。機密性が高いアプリケーションのためには、256以上の値が好ましい可能性がある。
多項式の次数を制御する望ましい次数が選択される(次数を「a」とする(1a))。aの実践的な選択は2である。セキュリティがより高いアプリケーションはより高いaの値、例えば3若しくは4、又はそれ以上さえ使用し得る。単純なアプリケーションのためにはa=1も選択可能である。a=1のケースはいわゆる「hidden number problem」に関連し、より高い「a」の値は拡張されたhidden number problemに関連し、これらのケースが破られにくいことを保証する。
多項式の数が選択される。多項式の数は「m」とする。mの実践的な選択は2である。セキュリティがより高いアプリケーションはより高いmの値、例えば3若しくは4、又はそれ以上さえ使用し得る。複雑性の低いアプリケーション、例えば資源制約デバイスのためにはm=1を使用し得ることに留意されたい。
高いセキュリティパラメータa及びmの値は、システムの複雑性、よってそのIntractability(手に負えなさ、処理しにくさ)を高める。複雑なシステムほど解析が困難になるので、暗号解読に対して高い耐性を持つ。
一実施形態では、2(a+2)b-1 Nを満たし、最も好ましくは更にN2(a+2)b-1を満たす公開モジュラスNが選択される。この制限は厳密に必要ではなく、システムはより小さい/大きい値のNを使用することもできるが、最良の選択肢であるとは考えられない。
鍵長、多項式の次数、及び多項式の数は、例えばシステム設計者によってしばしば事前に決定され、TTPに入力として提供される。実践的な選択として、N=2(a+2)b-1が選択され得る。例えば、a=1、b=64の場合、NはN=2192-1であり得る。例えば、a=2、b=128の場合、NはN=2512-1であり得る。Nについて上記区間の上限又は下限を選択することは、計算を簡単にするという利点を有する。複雑性を高めるために、範囲内の乱数をNとして選択してもよい。
m個の秘密モジュラスp1, p2, ... , pmが選択される。秘密モジュラスは正の整数である。各デバイスは登録ステップ中に識別番号と関連付けられる。選択される各秘密モジュラスは、使用される最大の識別番号より大きい。例えば、識別番号が2b-1以下且つ選択秘密モジュラスが2b-1より大きいことを要求することによって識別番号を制限してもよい。選択される各数値は関係pj=N+γj・2bを満たす。ここで、γjは|γj|<2bであるような整数である。この条件を満たす数値を選択する実践的な方法の一例は、-2b+1γj 2b-1であるようなm個のランダムな整数γjのセットを選択し、関係pj=N+γj・2bから選択秘密モジュラスを計算する方法である。|γj|をもう少し大きくすることも許容されるが、モジュラ演算が行き過ぎ、共有鍵が等しくならないという問題が起こり得る。
m>1の場合、モジュラスが異なるモジュロ演算が、かかる演算は通常の数学的意味では両立しないにも関わらず、組み合わせられるので、システムはより複雑であり、よってよりセキュアである。したがって、ペアワイズに異なるように選択秘密モジュラスを選択することは有利である。
次数ajの対称二変数多項式f1, f2, ... , fmがm個生成される。全ての次数がaj aを満たし、最も好ましくはa=MAX{a1, ... , am}である。実践的な選択肢は、それぞれが次数aの多項式となることである。二変数多項式は変数が2つの多項式である。対称多項式fはf(x, y)=f(y, x)を満たす。各多項式fjが、モジュロpjを計算することによって得られる整数モジュロpjによって形成される有限環において評価される。整数モジュロpjは、pjの元を含む有限環を形成する。一実施形態では、多項式fjは0からpj-1までの係数によって表される。二変数多項式はランダムに、例えば、これらの制限内でランダムな係数を選択することによって選択され得る。二変数多項式の一部又は全てが非対称に生成されてもよいことに留意されたい。この場合、システムが2つのグループを有することになる。単純さのため、全ての選択多項式が対称であると仮定する。
これらの二変数多項式はシステムのルートキー材料であり、よって鍵共有のセキュリティは二変数多項式に依存する。したがって、これらを保護するために強力な手段、例えば制御手順、耐タンパーデバイス等が取られることが好ましい。pjに対応するγjの値を含め、選択された整数p1, p2, ... , pmも秘密にされることが好ましいが、重要性はより低い。二変数多項式は次の形式でも記載される(j=1, 2, ... , m)。
上記実施形態は多様に変更できる。公開及び秘密モジュラスに対する制限は、一変数多項式の難読化が可能であるが、ネットワークデバイスにおいて得られる共有鍵が依然として十分な頻度で十分に互いに近いよう、多様に選択され得る。上記のように、何をもって十分とするかはアプリケーション、要求されるセキュリティレベル、及びネットワークデバイスにおいて利用可能な計算資源に依存する。上記実施形態は、割り当てられる多項式が整数に加えられるとき、多項式の生成時に実行されるモジュラ演算が非線形に組み合わせられるよう正の整数を組み合わせ、ネットワークデバイス上に記憶されるローカルキー材料の非線形構造を作成する。N及びpjの上記選択は、次の特性を有する:(i)Nのサイズは全てのネットワークデバイスについて固定であり、aに関連する、(ii)非線形効果は、デバイス上に記憶される鍵材料を形成する係数の最上位のビット(most significant bits; MSB)に現れる。その特定の形式のため、共有鍵は、リダクションモジュロNの後にリダクションモジュロ2bを行うことによって生成されてもよい。
これらのデザインコンセプトは、前段落で述べたような特徴(i)及び(ii)を改良するために、より一般的に適用され得る。以下に公開及び秘密モジュラスを選択する異なる一般的構成が与えられる。第1の点(i)に取り組むために、N及びpjのためのこの構造は、pj=2Xj2Yj-1と記載する場合、より一般的な式に適合する(各jについて、Yj+bαj=X且つ|γj|<2b)。この式は、非線形効果を導入するときに最大の効果を保証する一方、より可変な形式のpjを可能にする。Yj+bαj≒Xとしてもよく、ここで左辺と右辺の差は鍵長の端数である。
第2の点(ii)に取り組むために、N及びpjに関する上記形式は、pj=β2Xj2Yjj2Zjという更に一般的な式に適合する。例えば、ζj=-1、β=1且つZj=0 ∀jと設定することにより、異なるγj値がネットワークデバイス上に記憶される鍵材料の係数のMSBに非線形効果をもたらす前記式が得られる。この場合、定数である公開モジュラス(N)はN=2X-1であり、モジュラ演算に関与する異なる正の整数の生成に使用される秘密可変部分はγj2Yjである。あるいは、γj=1、β=1、Zj=0、Yj=(αj+1)b、X=(αj+2)b ∀jと設定してもよく、ここで、ζjは|ζj|<2bであり、jごとに異なる。この場合、ζjの違いがノード上に記憶されるローカルキー材料の係数の最下位のビット(LSB)に非線形効果をもたらすことを可能にする。この場合は公開部分、すなわち一定のままの部分の構成も異なり、N=βj2Xjj 2Yj=2X+2b(αj+1)である。この場合、非線形効果は最下位の部分にあり、前述の最大混合効果のための条件のため、差Yj-Zj-log2j)はαjbでなければならない。同様に、同じ概念に基づいて他の構成を定めることも可能である。
登録ステップ
登録ステップでは、各ネットワークデバイスに鍵材料(KM)が割り当てられる。ネットワークデバイスは識別番号に関連付けられる。識別番号は、例として、オンデマンドで、例えばTTPによって割り当てられてもよいし、又はデバイス内に予め記憶されていてもよく、例えばメーカー側においてデバイス内に記憶されてもよい。
TTPはデバイスAのための鍵材料のセットを以下のようにして生成する。
ここで、KMA(X)は識別番号Aのデバイスの鍵材料であり、Xは仮変数である。鍵材料は非線形であることに留意されたい。<・・・>pjという表記は、括弧内の多項式の各係数モジュロpjを表す。表記「εA,i」は|εA,i|<2(a+1-i)bであるようなランダムな整数(難読化数の一例)を表す。ランダムな整数はいずれも正でも負でもよい。乱数εはやはりデバイスごとに生成される。したがって、項
はa次のXの多項式を表し、係数長は次数が高いほど小さい。あるいは、より一般的ではあるがより複雑な条件は、
が小さい、例えば<2aである。難読化を加えるステップは任意であり省略され得るが、より高いセキュリティレベルを得るためには好ましいことに留意されたい。難読化が用いられると仮定する。
全ての他の加算は普通の整数演算を使用してもよいし、又は(好ましくは)加算モジュロ(アディションモジュロ)Nを使用してもよい。したがって、一変数多項式
の評価は、それぞれ、モジュロより小さいモジュラスpjによって個別に行われるが、これらのリダクション一変数多項式自体の総和は、好ましくはモジュロNによって行われる。また、難読化多項式
の加算も普通の整数演算を用いて行われてもよいし、又は、好ましくはモジュロNによって行われてもよい。鍵材料は係数Ci A(i=0,...,a)を含む。鍵材料は上記のような多項式として示され得る。実際には、鍵材料は整数Ci Aのリスト、例えばアレイとして記憶されてもよい。デバイスAは更に数値N及びbも受信する。多項式の操作が行われてもよく、例えば係数を含むアレイの操作として、例えば全係数を所定の順番に並べてもよい。多項式は他のデータ構造、例えば、(次数,係数)ペアの集合を、好ましくは集合内に各係数が最大で一度現れるよう含む連想配列(又は「マップ」)として実現されてもよい。デバイスに提供される係数Ci Aは好ましくは0, 1, .. N-1の範囲内である。
N及び整数pjに関するより一般的な構成が使用される場合、乱数εが係数の異なる部分に作用するよう難読化多項式を適合しなければならない。例えば、非線形効果がネットワークデバイス上に記憶される鍵材料の係数のLSB内に導入される場合、乱数は係数の最上位の部分、及び係数の最下位の部分の可変ビット数にのみ影響を及ぼすべきである。これは上記方法の直接的拡張であり、他の拡張も実行可能である。
使用フェーズ
2つのデバイスA及びBが識別番号を得て、TTPから各自の鍵材料を受信した後、両デバイスは鍵材料を用いて共有鍵を取得できる。デバイスAは以下のステップを実行して自身の共有鍵を取得し得る。まず、デバイスBはデバイスBの識別番号Bを取得して、続いて以下の式を計算することによって共有鍵を生成する。
つまり、Aは整数多項式として見られる自身の鍵材料を値Bについて評価する。鍵材料の評価の結果は整数である。次に、デバイスAは評価の結果をまず公開モジュラスNを法としたモジュロによってリダクションし、続いて鍵モジュラス2bを法としたモジュロによってリダクションする。結果はAの共有鍵と呼ばれる0から2b-1の整数である。デバイスBにおいては、デバイスBは自身の鍵材料を識別子Aについて評価して、結果をモジュロN及び続いてモジュロ2bによってリダクションすることによってBの共有鍵を生成できる。
上記に則して、N及び正の整数pjのより一般的な式が使用される場合、bビットの鍵の取得方法に小さい適合を加えなければならない。特にネットワークデバイス上に記憶される鍵材料の係数の最下位の(複数の)ビットに非線形効果が導入され、Nの式の2番目の項がYjの場合、鍵は以下のようにして生成される。
ルートキー材料の二変数多項式は対称なので、Aの共有鍵及びBの共有鍵は、必ずしも常にではないが、等しい。整数p1, p2, ... , pm及び(オプションの)乱数εに関する特定の条件は、モジュロ2の鍵長乗後の鍵がしばしば互いに等しく、ほとんどの場合近いようなものである。A及びBが同じ共有鍵を取得した場合、両デバイスはそれをA及びB間で共有される対称鍵として使用し得り、例えば様々な暗号アプリケーションのために使用し得り、例えば共有鍵を用いた1つ以上の暗号及び/又認証メッセージを交換し得る。好ましくは、マスター鍵の更なる保護のために共有鍵に鍵導出アルゴリズムが適用され、例えば、ハッシュ関数が適用され得る。
A及びBが同じ共有鍵を取得しなかった場合、これらの鍵はほぼ確実に互いに近似であり、両鍵の複数のLSBを除去することにより、ほぼ常に鍵を同じにすることができる。A及びBは鍵確認を実行することによって両者の共有鍵が等しいか否かを検証でき、例えば、AはBにペア(m, E(m))を含むメッセージを送信してもよく、ここでmは例えば固定文字列又は乱数等のメッセージであり、E(m)はAの共有鍵を用いたその暗号化である。
E(m)をBの共有鍵を用いて解読することにより、Bは両鍵が等しいか否かを検証できる。鍵が等しい場合、BはAに状況を知らせるべく応答してもよい。
鍵が等しくない場合、A及びBは鍵等化プロトコルに従事してもよい。例えば、両デバイスは2つの鍵が算術的に互いに近いという事実を利用してもよい。例えば、ネットワークデバイスA及びBは、鍵が等しくなるまで、LSBを除去して鍵確認メッセージを送信することを繰り返してもよい。同じ鍵を得た後、A及びBは鍵導出アルゴリズムを使用して通常の鍵長の鍵を再取得してもよい。
選択されるm個の秘密モジュラスp1, p2, ... , pmは、好ましくはペアワイズに互いに素である。これらの数字がペアワイズに互いに素である場合、モジュロ演算間の両立性の無さが増す。ペアワイズに互いに素である数字の取得は、整数を順に選択し、各数字の全ペアが依然として互いに素であるか否かを新たな整数ごとにテストして、そうでない場合、直前に選択された数字をセットから除去することによって実現され得る。この手順はm個の数字全てが選択されるまで続く。
選択されるm個の秘密モジュラスp1, p2, ... , pmが異なる素数であることを要求することによって複雑さは更に増す。この場合、各素数は形式pj=N+γj・2bを有することを要求され得る。ここで、γjは|γj|<2bであるような整数である。実験により、これらの素数が容易に得られることが確認された。例えば、素数が見つかるまで、ランダムなγjを選択して求められたpjをテストすることを繰り返してもよい。上記のようなより一般的な式が適用される場合でも同様である。実際に、これは、aのオーダーがbと大体同じであり、特にa<bである限り、かかる素数は豊富であるという算術級数の素数定理に則る。特に、64、128、196、256のグループ内の鍵長と2、3のグループ内の次数のあらゆる組み合わせに関しては、実験により、上記アルゴリズムを使用してこの形式の素数を実践的な制限時間内に多数生成できることが確認された。素数を用いる場合、各多項式fjはpj個の元を含む有限体においてこのように選択される。
登録及び使用フェーズ中に使用される様々なパラメータの選択について、多くの変形形態が可能である。例えば、単純化された実施形態では秘密モジュラスが公開モジュラスより小さく、関係pj=N-βj・2bを満たす。ここで、βjはβj<2bであるような正の整数である。この条件を満たす数字を選択する1つの実践的な方法は、βj<2bであるようなm個のランダムな正の整数βjのセットを選択し、関係pj=N-βj・2bから選択秘密モジュラスを計算するという方法である。
上記したように、差Yj-Zj-log2j)はαjbであり得る。同様に、同じ概念に従って他の構成が定められてもよい。特に、秘密モジュラスはpj=β2Xj2Yj+δ2Wj2Zjと、公開モジュラスはN=β2X+δ2Wと記載され得る。この構成の特定の一具体化は、pj=22(a+1)bj2(a+1)b+2abj及びN=22(a+1)b+2abである。この場合、項γj及びβjの絶対値は2bより小さく、デバイス上に記憶されるローカルキー材料の係数のMSB及びLSBに対する非線形効果を作り出す役割を果たす。デバイスの識別子の長さは約bビットなので、γj(βj)は、整数モジュロpjの環において評価される割り当て多項式の係数のMSB(LSB)に影響を与えることに留意されたい。その後、デバイスのローカルキー材料の生成中、異なる環内の割り当て多項式の係数が整数に加えられることによって寄与の起源が隠される。
鍵は
のようにして生成され得るが、MSB及びLSBの両方に非線形効果を導入することを可能にするpj及びNの更に一般的な式が使用される場合、リダクションモジュロN後の除算は2のW乗により、ここで2Wは、Nが整数倍である最も高い2の整数乗である。N及びpjの他の構成は、異なる2のべき乗による除算を要求し得る。ルートキー材料内の二変数多項式は対称なので、Aの共有鍵及びBの共有鍵は、必ずしも常にではないが、しばしば等しい。
鍵確認
A及びBの一方が鍵確認メッセージを他方の機関に送信することが望ましい場合がある。いわゆる鍵確認メッセージ(KC)は、鍵確認メッセージの受信者が自身が鍵確認メッセージの送信者と同じ鍵を計算したことを検証することを可能にする。特に両機関によって確立された鍵が異なり得ることが知られている鍵共有スキームでは、鍵確認メッセージが、両者が同じ鍵を確立したことの確認として、且つ、鍵が異なる場合、同じ共有鍵を決定するために使用され得る。例えば、一般的に、確立された鍵に基づくMAC、例えばSHA2若しくはSHA3に基づくHMAC、又はAESに基づくCMAC等が確認メッセージとなり得る。また、暗号的に強力なハッシュ関数、例えば確立された鍵のハッシュが鍵確認メッセージとして使用されてもよい。ハッシュは鍵自体について計算されてもよい。MACはBによって知られているデータ又は鍵確認メッセージ内に含まれているデータ、例えばナンス等について計算されてもよい。
しかし、一般的な暗号的に強力な鍵確認メッセージはいくらかの資源を要求し、上記原理に係る鍵共有アルゴリズムより多くの資源を要求する可能性がある。上記の鍵共有スキームは、汎用鍵確認スキームよりはるかに少ない計算資源を要求する単純な機能を可能にする。
デバイスA及びBは鍵KA(B) 及びKB(A)を計算する。上記数学的関係に従うことにより、設計パラメータに応じて、次式のような整数Δが存在することが示され得る。
上記と同様に、<x>mはx-<x>mがmの倍数であるような0からm-1の整数を表す。次のような関数を定義する:h(x)= <x>2r。ここで、rは2r 2Δ+1であるような所定の整数である。一般的な実施形態と比較すると、デバイスが複雑であり得るハッシュ関数を計算する必要がないが、デメリットは、使用されている鍵に関する情報の一部が監視可能な通信チャネルを介して送信されることである。通常、計算された鍵確認メッセージは鍵に関する情報を全く又は無視できる量しか漏らさないことが好ましい。このデメリットは、A及びBの両方に関して同じである鍵が発見された後、確立された鍵を2rによって割ることにより対処できる。より一般的な第2の実施形態では、h(x)=<x>vであり、ここで、v2Δ+1は、2bがvの倍数、又は<2b>v 2Δ+1を満たす。いずれにせよAは鍵確認メッセージとしてh(KA(B))を使用し得る。
鍵確認メッセージを送信する他に、両鍵を2のべき乗で割ることによってKA(B)及びKB(A)間の違いを減らしてもよい。KA(B)及びKB(A)がbビットの鍵である場合、bビットの生成鍵のl個のLSBを除去して、b-lMSBに対応する生成されるb-lビット鍵を使用して安全な通信を実現してもよい。bが比較的大きく(例えば、100)、lも同様に大きい(例えば、50)場合、b-lMSBが等しくなる確率は非常に高く、すなわち約1-(2Δ/2(b-l))である。このアプローチは如何なる情報の交換も必要とせず、オリジナルの生成鍵のlビットを除去することにより得られる鍵を通信に使用できる。しかし、鍵サイズが(場合によっては相当に)低減されるので、非常に高い確率でネットワーク内の全てのデバイスが共通のb-lビットの鍵を共有することを確認するという欠点がある。
LSBの除去は鍵確認メッセージと組み合わせられ得ることに留意されたい。例えば、lビットの除去後に鍵確認メッセージが計算され、他の機関に送信される。このアプローチは、たとえLSBの除去が共通鍵を確立するのに十分ではなかったとしても、かかる共通鍵を発見することを容易にするという利点を有する。
機関A及びBによって確立される潜在的に異なる鍵の問題の他のアプローチは以下の通りである。任意の2つのデバイスが異なる鍵を導出し得る場合に計算すべき全ての情報を中央権限が事前に備える。例えば、中央権限は単一の識別子A及びAのために計算される鍵材料から開始し得る。デバイスがデバイスのプールに繰り返し追加される。システムに新たなデバイスB’が追加されるとき、TTPはB’の鍵材料を計算する。TTPは、B’とプール内に既に存在するデバイスとのそれぞれの組み合わせについて、同じ共通鍵にたどり着くか否かを検証する。例えば、TTPはデバイスが同じ鍵を直接発見することを検証し得る。また、TTPは、潜在的に異なる鍵を修復するための適切な鍵合意プロトコルに従事することによって、例えば、2のべき乗で割ることによって及び/又は1つ以上の鍵確認メッセージを送信することによって、B’及び任意の他のデバイスが共通鍵にたどり着くことを検証してもよい。上記確率的アプローチを考慮すると、デバイスAの個数が比較的小さい場合、ランダムに選択されるB’が全てのAについて{A,B’}を有効とする可能性が非常に高い。
B’がプール内に既に存在するデバイスの一部に関して共通鍵にたどり着かない場合、TTPは、異なるランダム選択をして、B’に新たな識別子を割り当てる又は新たな鍵材料を計算する。この条件の確認は相当なオーバーヘッドを課すが、比較的小さいネットワークでは可能である(例えば、〜O(104)又はO(105)個のデバイス)。
関連するアプローチはグループ分けされたデバイスにも適用できる。特に、ある設定では、例えばデバイスが静的でありグループとして(例えば、建物内に)配置されている場合、全てのデバイスが互いに通信する必要がないことがある。この場合、新たなデバイスB’が追加されるときにTTPによって実行される検証は、B’が追加されるグループに属するデバイスに対するチェックに限定される。例えば、TTPは、所与のグループ内の全デバイスが、鍵のlLSBが除去された場合にある鍵を生成するか否かを検証し得る。また、この方法は、第1のレベルでは全てのデバイスがメイングループに属し、第2のレベルではデバイスが複数のグループに分割され、第2のレベルのグループ内のデバイスが更に複数のサブグループに分割されるようなより高度な階層スキームの設計も許容することに留意されたい。かかる階層構造では、TTPは、レベルwの所与のグループ内の全デバイスがlwビットの除去後に共通鍵を生成するか否かを検証してもよい。かかるシステムでは、低いレベルにおけるグループはより少ないビット数の除去を要求する一方、高いレベルにおけるグループは、共通鍵の生成を確実にするために、より多くのビットの除去を要求し得る。
TTPは新たなデバイスが追加される度にこれらのチェックを実行してもよいが、識別子の各ペアが有効な共通鍵を与えるようなデバイス識別子及び鍵材料のプールを積極的に作成してもよい。
例えば、TTPは有効なデバイスのペア{A,B}に限定してもよく、ここでペアは以下の場合に有効である。
ここで、lはKA(B)及びKB(A)のlLSBに対応するlビットを指す。この条件は、概して、実際に使用される鍵が等しいことを検証する一方法を示す。別の条件は、全てのAについてKA(B)及びKB(A)のlLSBが [Δ, 2l-1-Δ]内の数字に対応する場合にのみ新たなBが許可されるというものである。
図1は、ルートキー材料生成部100を示す概略的なブロック図である。鍵材料取得部は、ローカルキー材料生成部がローカルキー材料を生成するために必要とする入力データ(識別番号を除く)を提供するよう構成される。鍵材料取得部の一例は鍵生成部である。入力データの全て又は一部を生成する代わりに、一部のパラメータはルートキー材料生成部がそれらを受信することによって取得されてもよい。例えば、鍵取得部は入力データ、例えば公開及び秘密モジュラスを受信するための電子受信機を備えてもよい。鍵材料取得部は、識別番号を除く全ての必要なパラメータを外部ソースから取得する。一実施形態では、a、b、mは既定であり、例えば受信され、公開モジュラス及び秘密モジュラス、並びに対応する対称二変数多項式は生成される。一実施形態では、公開モジュラスも既定であり、例えば受信される。
ルートキー生成部100は、それぞれが多項式次数、鍵長、及び多項式の数、すなわちa、b、及びmを提供(供給)するよう構成される多項式次数要素112、鍵長要素114、及び複数の多項式要素116を備える。例えば環境によってはこれらの要素は生成されてもよいが、典型的にはこれらのパラメータはシステム設計者によって選択される。例えば、要素は不揮発性メモリとして、要素の値を受信するための受信機として、又は受信機に接続される揮発性メモリ等として設計され得る。適切な選択はa=2、b=128、m=2を含む。よりセキュリティの高い又は低いシステムを得るために、これらの値のいずれかをより高く又は低くしてもよい。
ルートキー生成部100は、公開モジュラスNを提供するよう構成される公開モジュラス要素110を含む。公開モジュラスはシステム設計者によって選択されてもよいし、そうでなくともよい。例えば、公開モジュラスは、速いリダクションを可能にする好都合な数字に設定され得る(2のべき乗に近い又は2のべき乗)。公開モジュラスは要素112及び114によって決定される範囲内で選択される。
ルートキー生成部100は、秘密モジュラスp、又は複数の秘密モジュラスp1, ... , pmを提供するよう構成される秘密モジュラスマネージャー122を含む。例えば、秘密モジュラスは適切な制限内でランダムに選択される。
ルートキー生成部100は、対称二変数多項式f、又は複数の対称二変数多項式f1, ... , fmを提供するよう構成される対称二変数多項式マネージャー124を含む。対称二変数多項式は、それぞれ、対応する秘密モジュラス(すなわち、同じインデックスを有する秘密モジュラス)を法とした係数ランダムモジュロによって選択される。係数は0からp-1の範囲内で選択され得り、ランダムで選択され得る。
秘密モジュラスは、公開モジュラスに/から2の鍵長乗の倍数を足す/引くことによって選択され得る。これは、公開モジュラスとの差が連続する0で終わるような秘密モジュラスをもたらす。また、鍵長の連続0が末部ではなく、LSBから数えて他の位置、例えば位置「s」に現れるように公開モジュラス及び1つ以上の秘密モジュラスを選択してもよい。
図2は、ローカルキー材料生成部200を示す概略的なブロック図である。鍵材料生成部100及びローカルキー材料生成部200は、合わせて、鍵共有のためにネットワークデバイスを構成するシステムを形成する。
ローカルキー材料生成部200は多項式操作デバイス240を含む。ローカルキー材料生成部200は、多項式操作デバイス240に公開パラメータa、Nを提供するための公開材料要素210を含む。ローカルキー材料生成部200は、多項式操作デバイス240に秘密パラメータpi、fi、及びmを提供するための秘密材料要素220を含む。要素210及び220は鍵材料生成部100の対応する要素によって実現され得り、また、これらの要素は鍵材料生成部100に接続されるメモリ又はバスであり得る。
ローカルキー材料生成部200は、多項式操作デバイス240に難読化数「εA,i」を提供するための難読化数生成部260を含む。難読化数は、例えば乱数生成部によって生成される乱数であり得る。難読化数生成部260は、一変数多項式の複数の係数に対して複数の難読化数を生成し得る。一実施形態では、一変数多項式の係数ごとに難読化数が決定される。
ローカルキー材料生成部200は、ローカルキー材料が生成されるべき識別番号を例えばネットワークデバイスから受信し、ローカルキー材料をその識別番号に対応するネットワークデバイスに送信するよう構成されるネットワークデバイスマネージャー250を含む。識別番号を受信する代わりに、例えばランダム、シリアル、又はナンス番号として識別番号を生成してもよい。後者の場合、ローカルキー材料と共に識別番号がネットワークデバイスに送信される。
多項式操作デバイス240は、マネージャー250からの識別番号を各二変数多項式に代入し、それぞれを対応する秘密モジュラスを法としたモジュロによってリダクションする。得られた複数のリダクション一変数多項式は、普通の算術加算によって係数的に加算される。また、1つ以上の難読化数が足される。好ましくは、結果が、やはり係数的に、公開モジュラスを法としたモジュロによってリダクションされる(係数は0からN-1の範囲内で表され得る)。
難読化された一変数多項式は、識別番号に対応するローカルキー材料の一部である。必要な場合、公開モジュラス、次数、及び鍵長もネットワークデバイスに送信される。
図3は、複数のネットワークデバイス(図示されているのは第1のネットワークデバイス310及び第2のネットワークデバイス320)を含む通信ネットワーク300を示す概略的なブロック図である。第1のネットワークデバイス310について説明する。第2のネットワークデバイス320は同じでもよいし、又は同じ原理に従って動作し得る。
ネットワークデバイス310は、第2のネットワークデバイスと有線又は無線で電子形式、例えばデジタル形式のメッセージを送受信するための送信機及び受信機を兼ね備える送受信機330を含む。場合によっては、送受信機330はネットワーク権限200からローカルキー材料を受信するためにも使用される。送受信機330を介して、図3では第2のネットワークデバイス320である他のデバイスの識別番号が受信される。
ネットワークデバイス310はローカルキー材料取得部344を備える。ローカルキー材料取得部344は、ローカルキー材料を記憶するためのローカルメモリ、例えばフラッシュメモリ等の不揮発性メモリとして実装され得る。また、ローカルキー材料取得部344は、例えば送受信機330を介して生成部200からローカルキー材料を取得するよう構成されてもよい。ローカルキー材料取得部344は、多項式操作デバイスに必要なパラメータを提供するよう構成される。
ネットワークデバイス310は、第2のネットワークデバイスの識別番号を難読化された一変数多項式に代入し、その結果に2つのリダクションを実行する、すなわち、代入の結果をまず公開モジュラスを法としたモジュロによって、次に鍵モジュラスを法としたモジュロによってリダクションするよう構成される多項式操作デバイス342を含む。たとえ複数の秘密モジュラスが使用されたとしても、単一の公開モジュラスのみが必要であることに留意されたい。特定のN及び秘密モジュラスの組み合わせにおいては、結果を鍵モジュラスを法としたモジュロによってリダクションする前に2のべき乗による除算が要求されることに留意されたい。
ネットワークデバイス310は、鍵モジュラスを法としたリダクションモジュロの結果から共有鍵を導出するための鍵導出デバイス346を含む。例えば、鍵導出デバイス346は1つ以上のLSBを除去し得る。また、鍵導出デバイス346は鍵導出関数を適用し得る。更なる処理を行うことなく、第2のリダクションの結果を使用することも可能である。
ネットワークデバイス310は、オプションの鍵等化部(イコライザー)348を含む。第1のネットワークデバイスで導出された共有鍵と第2のネットワークで(第1のネットワークデバイスの識別番号に基づいて)導出された鍵が等しくない場合があることに留意されたい。これが望ましくないと考えられる場合、続いて鍵等化プロトコルが実行され得る。
ネットワークデバイス310は、共有鍵を暗号アプリケーションに使用するよう構成された暗号要素350を含む。例えば、暗号要素350は、第1のネットワークデバイスのメッセージ、例えばステータスメッセージを第2のネットワークデバイスに送信する前に、共有鍵を用いてメッセージを暗号化又は認証し得る。例えば、暗号要素350は、第2のネットワークデバイスから受信されたメッセージを解読又はその真正性を検証し得る。
典型的には、鍵共有のためにネットワークデバイスを構成するためのシステム200、及び共有鍵を決定するよう構成される第1のネットワークデバイス310は、それぞれ、各デバイスに記憶される適切なソフトウェアを実行するマイクロプロセッサ(図示無し)を含み、例えば、ソフトウェアはダウンロードされて対応するメモリ、例えばRAM(図示無し)内に記憶されてもよい。
a=1の場合、特により高い値のm、例えば1より大きい、2以上、又は4以上と組み合わせられる場合、興味深い実施形態が得られる。要求される多項式操作は単一の乗算及びリダクションに減少し、特に単純な実施形態を提供する。しかし、この単純なケースにおいてもオリジナルの二変数多項式を復元するのは簡単ではなく、mの値に比例して困難(複雑)になる。a=1についてさえ実行可能な攻撃は知られていないが、線形構造が将来の解析の出発点となり得るので、この理由のため、a>1に制約することが望まれることも考えられる。
図4は、ローカルキー材料400の生成方法を示す概略的なフローチャートである。方法は、公開及び秘密モジュラス、並びに対称二変数多項式を取得するステップ410と、ネットワークデバイスの識別番号を取得するステップ420と、識別番号を、秘密モジュラスを法とした二変数多項式モジュロに代入するステップ430と、係数に難読化数を加えるステップ440と、難読化された一変数多項式をネットワークデバイスに保存するステップ450とを含む。
図5は、共有鍵500の生成方法を示す概略的なフローチャートである。方法は、他のネットワークデバイスの外部識別番号を取得するステップ510と、他のネットワークデバイスにローカル識別番号を送信するステップ520と、外部識別番号を難読化された公開モジュラスを法とした一変数多項式モジュロに代入するステップ530と、鍵モジュラスを法としたモジュロによってリダクションするステップ540と、共有鍵を導出するステップ550と、他のネットワークデバイスに鍵確認メッセージを送信するステップ560と、鍵が確認されたか否かを決定するステップ570と、暗号アプリケーション580とを含む。ステップ570で鍵が確認されない場合、方法はステップ550に進んで新たな鍵を導出する。例えば、ステップ550は鍵が確認されない度に更に1つのLSBを除去し得る。
ステップ550、560、及び570は、合わせて、鍵等化プロトコルを形成する。例えば、ステップ560において、ナンス、及びステップ550で導出された共有鍵によるナンスの暗号化が第2のデバイスに送信され得る。ステップ560において、第2のデバイスからメッセージが受信される。受信されたメッセージは、単純に受信された鍵確認メッセージが鍵が異なることを示した旨を表し得る。また、受信されるメッセージは鍵確認メッセージを含んでもよい。後者の場合、第1のネットワークデバイスは鍵確認メッセージを検証し、鍵が等しいか否かを確認する。鍵が等しくない場合、例えばLSBを消去することにより新たな鍵が導出される。
当業者にとって明らかなように、当該方法は多様に実行可能である。例えば、ステップの順番は変更され得り、一部のステップは並列に実行され得る。また、ステップ間に他の方法ステップが挿入されてもよい。挿入されるステップは本明細書が開示するような方法の改良に相当してもよいし、方法とは無関係でもよい。例えば、ステップ410及び420、又は510及び520は、少なくとも部分的に並列に実行され得る。また、所与のステップが完全に終了する前に次のステップが開始されてもよい。
本発明に係る方法は、プロセッサシステムに方法400又は500を実行させるための命令を含むソフトウェアを用いて実行され得る。ソフトウェアは、システムの特定のサブエンティティによって実行されるステップのみを含んでもよい。ソフトウェアはハードディスク、フロッピー(登録商標)、メモリ等の適切な記憶媒体内に記憶され得る。ソフトウェアは有線若しくは無線による信号として、又はインターネット等のデータネットワークを用いて送信され得る。ソフトウェアはダウンロード及び/又はサーバ上での遠隔使用により利用可能でもよい。
図6は、2つのネットワークデバイスA及びBによる共有鍵の生成中の両デバイス間の可能なメッセージシーケンスを概略的な形式で示す。時間は下方向に進む。ステップ610において、ネットワークデバイスAは自身の識別番号をデバイスBに送信する。ステップ620において、デバイスBは自身の識別番号、並びに、識別番号A及び自身のローカルキー材料に基づいて導出した共有鍵(K1)についての鍵確認メッセージを送信する。ステップ630において、デバイスAは両者が同じ鍵を生成しなかったことを発見した。デバイスAは1つのLSBを消去し(例えば、整数割る2)、鍵K2を得た。ステップ630において、デバイスAは新たな鍵確認メッセージを送信する。このようにして、A及びBは、ステップ650で同じ鍵にたどり着くまで鍵確認メッセージ640を交換する。ステップ650において、デバイスAは鍵確認メッセージをデバイスBに送信する。デバイスBは、両者が同じ鍵にたどり着いたことを検証できた。ステップ660において、デバイスBはその確認を送信し、これは認証メッセージ又は鍵確認メッセージ等であり得る。ステップ670において、デバイスAは同じになった共有鍵を用いて(例えば、AESを用いて)暗号化された及び/又は(例えば、HMACを用いて)認証されたメッセージM1を送信する。
以下のアルゴリズムはこのアプローチ、すなわち、デバイスA及びBによって実行される相互鍵合意及びセッション鍵導出のためのプロトコルの可能な実装形態を与える。

Set l=L
Set continue=TRUE
Set Length = b-l
Generate a b-bit key K
While(continue AND (Length>MINIMUM_LENGTH)){
K = K>>l
Perform Mutual authentication handshake with B based on K
If handshake successful, then{
continue=FALSE
}}else{
Length = b-l
}
プロトコルは、本明細書に開示されるような鍵共有アルゴリズムを用いて生成されたビット列の複数のビットを除去し、認証ハンドシェイク、例えばチャレンジレスポンスを実行する。認証ハンドシェイクは鍵確認メッセージを含み得る。成功しない場合、更にいくつかのビットが除去され、ハンドシェイクが成功するまで又は鍵が短くなり過ぎるまで繰り返される。プロトコルは多様に変更され得り、例えば、プロトコルの実行を監視している傍受者がAとBとの間で共有される共通鍵の長さについて如何なる情報も得られないよう、反復に応じて可変のビット数を除去することによって、又は常に一定数のステップを要求することによって変更され得る。このアプローチは、共有鍵が可能な限り長いことを保証するという利点を有するが、共通鍵に関する合意のために複数の交換を要するという潜在的なデメリットを有する。一方、ほとんどのアプリケーションではこれは大きな問題とならない。ほとんどのデバイスペアにおいて鍵は等しくなる又は数ビットしか違わず、比較的多数の異なるLSBに至るのは少数のデバイスペアのみだからである。これは生成される鍵の特性による。
両デバイスが同じ鍵にたどり着くための他の方法も存在する。再び、デバイスA及びBが鍵KA(B) 及びKB(A)を計算すると仮定する。以下のプロトコルは、設計パラメータに依存する次のような整数Δが存在するあらゆる鍵共有スキームに適用される。
例えば、本明細書に開示される鍵共有スキームはこの特性を有する。生成される鍵はbビットの整数として表される。したがって、鍵はセット{0, 1, 2, ... , 2b-1}からの要素であると考えられる。例えば、Δ=2且つKB(A)=1の場合、KA(B)は{1, 2, 3, 0, 2b-1}に含まれる (
であることに留意されたい)。適切に選択されたシステム設計パラメータに対して、Δは比較的小さい。共通鍵生成の失敗から立ち直ることができるので、本発明は常に同じ鍵が生成されることを保証する。
当該方法によれば、デバイスAは関数値h(KA(B))をデバイスBに送信する。ここで、hは適切なハッシュ関数、例えば暗号ハッシュ関数である。デバイスBは
内の全てのiについてh(i)を計算し、h(i)が受信されたh(KA(B))の値と一致する整数iを将来の通信に使用する。Δが大き過ぎる場合、デバイスA及びBはまず鍵を2のべき乗で割ることによってΔのサイズを減少し得る。
本発明は、本発明を実行するよう適合されたコンピュータプログラム、特にキャリア上の又はキャリア内のコンピュータプログラムまで及ぶ。プログラムは、ソースコード、オブジェクトコード、部分的にコンパイルされた形式等のソースコード及びオブジェクトコードの中間コードの形式、又は本発明に係る方法の実装形態に適した任意の他の形式を取り得る。コンピュータプログラム製品に関する一実施形態は、上記方法のうちの少なくとも1つの方法の処理ステップのそれぞれに対応するコンピュータ実行可能な命令を含む。これらの命令はサブルーチンに細分化されてもよいし、更に/又は静的に又は動的にリンクされ得る1つ以上のファイル内に保存されてもよい。コンピュータプログラム製品に関する他の実施形態は、上記システム及び/又は製品のうちの少なくとも1つの手段のそれぞれに対応するコンピュータ実行可能な命令を含む。
上記実施形態は本発明を限定ではなく説明するものであり、当業者は多数の他の実施形態を設計できることに留意されたい。請求項において、括弧内の如何なる参照符号も請求項を限定すると解されるべきではない。動詞「備える(又は含む若しくは有する等)」及びその活用形は請求項内に記載されている以外の要素又はステップの存在を除外しない。要素は複数を除外しない。本発明は、複数の異なる要素を備えるハードウェアによって、及び、適切にプログラミングされたコンピュータによって実施され得る。複数の手段を列挙する装置クレームにおいて、手段のいくつかは同一のアイテム又はハードウェアによって具現化されてもよい。単にいくつかの手段が互いに異なる独立請求項に記載されているからといって、これらの手段の組み合わせを好適に使用することができないとは限らない。

Claims (15)

  1. 鍵共有のためにネットワークデバイスを構成する方法であって、前記方法は、
    秘密モジュラス、公開モジュラス、及び整数の係数を有する二変数多項式を電子形式で取得する取得ステップであって、前記公開モジュラスのバイナリ表現及び前記秘密モジュラスのバイナリ表現は、少なくとも鍵長の連続ビットにおいて同じである、取得ステップと、
    前記ネットワークデバイスのローカルキー材料を生成する生成ステップであって、前記ネットワークデバイスの識別番号を電子形式で取得するステップと、多項式操作デバイスを使用して、前記二変数多項式に前記識別番号を代入し、前記代入の結果に前記秘密モジュラスを法としたリダクションモジュロを行うことにより前記二変数多項式から一変数多項式を決定するステップとを含む、生成ステップと、
    生成された前記ローカルキー材料を前記ネットワークデバイスに電子的に保存する保存ステップと、前記公開モジュラスを前記ネットワークデバイスに保存する保存ステップと、
    を含む、方法。
  2. 前記ネットワークデバイスのローカルキー材料を生成する前記生成ステップは、難読化数を生成するステップと、多項式操作デバイスを使用して、前記難読化数を前記一変数多項式の係数に加えて難読化された一変数多項式を得るステップとを含み、前記生成されたローカルキー材料は前記難読化された一変数多項式を含む、請求項1に記載の方法。
  3. 前記二変数多項式は対称多項式である、請求項1又は2に記載の方法。
  4. 前記公開モジュラスのバイナリ表現の最下位の前記鍵長ビットは、前記秘密モジュラスの最下位の前記鍵長ビットと同じである、請求項1乃至3のいずれか一項に記載の方法。
  5. 電子乱数生成部を使用して前記秘密モジュラスを生成するステップと、
    前記二変数多項式の1つ以上のランダムな係数を生成することによって、電子乱数生成部を使用して前記二変数多項式を生成するステップと
    を含む、請求項1乃至4のいずれか一項に記載の方法。
  6. 前記公開モジュラスは2(a+2)b-1 Nを満たし、ここで、Nは前記公開モジュラスを表し、aは前記二変数多項式の次数を表し、bは前記鍵長を表す、請求項1乃至5のいずれか一項に記載の方法。
  7. 前記公開モジュラスのバイナリ表現が全ての秘密モジュラスのバイナリ表現と一致する鍵長の連続位置のセットが存在するよう、複数の秘密モジュラスと、秘密モジュラスを法とした係数モジュロを有する複数の二変数多項式とを取得するステップを含み、
    前記一変数多項式を決定する前記ステップは、前記識別番号を前記複数の二変数多項式のそれぞれに代入するステップと、それぞれの対称二変数多項式に前記複数の秘密モジュラスの対応する秘密モジュラスを法としたリダクションモジュロを行うステップと、前記複数のリダクションの複数の結果を加算するステップとを含む、請求項1乃至6のいずれか一項に記載の方法。
  8. 前記難読化数は、
    A,i| < 2(a+1-i)b
    であるように生成され、εA,iは前記難読化数を表し、iは前記係数に対応する単項式の次数を表し、aは前記二変数多項式の次数を表し、bは前記鍵長を表す、請求項1乃至7のいずれか一項に記載の方法。
  9. 請求項1に記載の鍵共有のためにネットワークを構成する方法によって構成された第1のネットワークデバイスが、暗号鍵である共有鍵を決定するための方法であって、前記方法は、
    前記第1のネットワークデバイスのローカルキー材料を電子形式で取得するステップであって、前記ローカルキー材料は、任意で難読化されていてもよい一変数多項式を含む、ステップと、
    前記第1のネットワークデバイスとは異なる第2のネットワークデバイスの識別番号を取得するステップと、
    前記第2のネットワークデバイスの前記識別番号を前記任意で難読化されていてもよい一変数多項式に代入するステップと、
    前記代入の結果に前記公開モジュラスを法としたリダクションモジュロを行い、鍵モジュラスを法としたリダクションモジュロを行うステップと、
    前記鍵モジュラスを法とした前記リダクションモジュロの結果から前記共有鍵を導出するステップと
    を含む、方法。
  10. 前記第1のネットワークデバイス及び前記第2のネットワークデバイスが同じ共有鍵を導出したか否かを決定し、同じ共有鍵が導出されなかったと決定された場合、前記鍵モジュラスを法とした前記リダクションモジュロの結果から更なる共有鍵を導出するステップを更に含む、請求項9に記載の方法。
  11. 前記代入の結果前記公開モジュラスを法としたモジュロを、2のべき乗である0ビット列除数によって割るステップを更に含み、前記0ビット列除数は1より大きい、請求項9又は10に記載の方法。
  12. 鍵共有のためにネットワークデバイスを構成するためのシステムであって、前記システムは、
    秘密モジュラス、公開モジュラス、及び整数の係数を有する対称二変数多項式を電子形式で取得するための鍵材料取得部であって、前記公開モジュラスのバイナリ表現及び前記秘密モジュラスのバイナリ表現が、少なくとも鍵長の連続ビットにおいて同じである、鍵材料取得部と、
    前記ネットワークデバイスのローカルキー材料を生成するための生成部であって、
    前記ネットワークデバイスの識別番号を電子形式で取得するための、及び、生成された前記ローカルキー材料を前記ネットワークデバイスに電子的に保存し、前記公開モジュラスを前記ネットワークデバイスに保存するためのネットワークデバイスマネージャーと、
    前記二変数多項式に前記識別番号を代入し、前記代入の結果に前記秘密モジュラスを法としたリダクションモジュロを行うことによって前記二変数多項式から一変数多項式を決定するための多項式操作デバイスとを含む、生成部と
    を含むシステム。
  13. 請求項1に記載のように暗号鍵である共有鍵を決定するための第1のネットワークデバイスであって、前記第1のネットワークデバイスは、
    前記第1のネットワークデバイスのローカルキー材料を電子形式で取得するためのローカルキー材料取得部であって、前記ローカルキー材料は任意で難読化されていてもよい一変数多項式を含む、ローカルキー材料取得部と、
    前記第1のネットワークデバイスとは異なる第2のネットワークデバイスの識別番号を取得するための受信機と、
    前記第2のネットワークデバイスの前記識別番号を前記任意で難読化されていてもよい一変数多項式に代入し、前記代入の結果に前記公開モジュラスを法としたリダクションモジュロを行い鍵モジュラスを法としたリダクションモジュロを行うための多項式操作デバイスと、
    前記鍵モジュラスを法とした前記リダクションモジュロの結果から前記共有鍵を導出するための鍵導出デバイスと
    を含む、第1のネットワークデバイス。
  14. コンピュータ上で実行されたとき、請求項1乃至11のいずれか一項に記載のステップを全て実行可能なコンピュータプログラムコード手段を含むコンピュータプログラム。
  15. コンピュータ読み取り可能媒体に取り込まれた請求項14に記載のコンピュータプログラム。
JP2015513055A 2012-05-21 2013-03-28 鍵共有デバイス、及び鍵共有デバイスを構成するためのシステム Active JP5755391B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261649464P 2012-05-21 2012-05-21
US61/649,464 2012-05-21
EP12168710.7 2012-05-21
EP12168710.7A EP2667539A1 (en) 2012-05-21 2012-05-21 Key sharing methods, device and system for configuration thereof.
US201261658475P 2012-06-12 2012-06-12
US61/658,475 2012-06-12
PCT/EP2013/056730 WO2013174554A1 (en) 2012-05-21 2013-03-28 Key sharing device and system for configuration thereof

Publications (2)

Publication Number Publication Date
JP2015521001A JP2015521001A (ja) 2015-07-23
JP5755391B2 true JP5755391B2 (ja) 2015-07-29

Family

ID=46085856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015513055A Active JP5755391B2 (ja) 2012-05-21 2013-03-28 鍵共有デバイス、及び鍵共有デバイスを構成するためのシステム

Country Status (11)

Country Link
US (1) US9722787B2 (ja)
EP (2) EP2667539A1 (ja)
JP (1) JP5755391B2 (ja)
CN (1) CN104303451B (ja)
BR (1) BR112014028752A2 (ja)
ES (1) ES2556027T3 (ja)
MX (1) MX336828B (ja)
PL (1) PL2853057T3 (ja)
RU (1) RU2621182C1 (ja)
WO (1) WO2013174554A1 (ja)
ZA (1) ZA201409370B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016504874A (ja) * 2012-12-21 2016-02-12 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 鍵共有ネットワークデバイス及びその構成

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112015020422A2 (pt) 2013-02-28 2017-07-18 Koninklijke Philips Nv primeiro dispositivo de rede configurado para determinar uma chave criptográfica compartilhada de bits de comprimento de chave, sistema de compartilhamento de chave, método para determinar uma chave criptográfica compartilhada de bits de comprimento de chave, e, programa de computador
CN105379173A (zh) * 2013-07-12 2016-03-02 皇家飞利浦有限公司 用于共享密码密钥的系统
EP3161993A1 (en) * 2014-06-27 2017-05-03 Koninklijke Philips N.V. Device for determining a shared key
MX2017002788A (es) 2014-09-04 2017-05-30 Koninklijke Philips Nv Sistema criptografico dispuesto para intercambio de claves.
NL2013520B1 (en) * 2014-09-24 2016-09-29 Koninklijke Philips Nv Public-key encryption system.
US9331989B2 (en) * 2014-10-06 2016-05-03 Micron Technology, Inc. Secure shared key sharing systems and methods
NL2013944B1 (en) * 2014-12-09 2016-10-11 Koninklijke Philips Nv Public-key encryption system.
CN107251478A (zh) * 2015-02-12 2017-10-13 卡米纳利欧技术有限公司 秘密密钥管理的计算机化系统和方法
US10608814B2 (en) * 2015-05-17 2020-03-31 Gideon Samid Equivoe-T: Transposition equivocation cryptography
WO2017025597A1 (en) * 2015-08-11 2017-02-16 Koninklijke Philips N.V. Key sharing device and method
KR101902459B1 (ko) 2015-12-21 2018-09-28 고려대학교 산학협력단 구분불가능성 난독화기반의 비대화형 키 교환 방법
CN110383755B (zh) * 2017-01-05 2022-04-19 皇家飞利浦有限公司 网络设备和可信第三方设备
EP3364596A1 (en) * 2017-02-15 2018-08-22 Koninklijke Philips N.V. Key exchange devices and method
CN107426176B (zh) * 2017-06-12 2020-02-18 东南大学 一种支持混淆和零知识的安全水下传输方法
DE102017117907B4 (de) * 2017-08-07 2023-04-27 Infineon Technologies Ag Durchführen einer kryptografischen Operation
RU2695487C1 (ru) * 2018-09-26 2019-07-23 Олег Дмитриевич Гурин Способ и система обеспечения взаимодействия устройств интернета вещей (iot)
CN110061836B (zh) * 2019-04-10 2021-09-24 湖北工业大学 一种具有前向安全性的组密钥分发方法
KR20220012851A (ko) 2019-05-30 2022-02-04 김봉만 대칭 키 암호화/교환을 위한 양자 내성 암호화 및 진보된 암호화 및 키 교환(aeke) 방법
US11546134B2 (en) * 2020-04-16 2023-01-03 Samsung Electronics Co., Ltd. Method and apparatus for processing ciphertext based on homomorphic encryption
CN111510291B (zh) * 2020-04-20 2023-06-02 重庆邮电大学 基于双线性对的高效身份认证密钥协商方法
JP2022091498A (ja) 2020-12-09 2022-06-21 セイコーエプソン株式会社 暗号通信システム、暗号通信方法および暗号通信装置
CN114390065B (zh) * 2022-01-24 2024-03-19 浙江数秦科技有限公司 一种区块链网络数据快速传输方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995005712A2 (en) * 1993-08-13 1995-02-23 Frank Thomson Leighton Secret key exchange
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US7076061B1 (en) * 2000-02-07 2006-07-11 Citibank, N.A. Efficient and compact subgroup trace representation (“XTR”)
DE102006013989A1 (de) * 2006-03-22 2007-09-27 IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik Verfahren zur Reduktion eines Polynoms in einem binären finiten Feld
EP2036300B1 (en) * 2006-06-22 2019-09-18 Koninklijke Philips N.V. Hierarchical and deterministic system and method for predistribution of key pairs
ES2531634T3 (es) * 2008-09-17 2015-03-18 Koninklijke Philips N.V. Procedimiento de comunicación en una red, dispositivo de comunicación y sistema asociado
JP5637991B2 (ja) * 2008-09-19 2014-12-10 コーニンクレッカ フィリップス エヌ ヴェ ネットワークにおけるセキュア通信に関する方法、通信デバイス、ネットワーク及びコンピュータプログラム
CN101409617A (zh) * 2008-10-08 2009-04-15 东南大学 一种容忍入侵的无线传感器网络拓扑生成方法
RU2534944C2 (ru) 2009-03-19 2014-12-10 Конинклейке Филипс Электроникс Н.В. Способ обеспечения безопасности связи в сети, используемые для этого устройство связи, сеть и компьютерная программа

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016504874A (ja) * 2012-12-21 2016-02-12 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 鍵共有ネットワークデバイス及びその構成

Also Published As

Publication number Publication date
EP2667539A1 (en) 2013-11-27
RU2621182C1 (ru) 2017-05-31
EP2853057A1 (en) 2015-04-01
CN104303451A (zh) 2015-01-21
PL2853057T3 (pl) 2016-03-31
US9722787B2 (en) 2017-08-01
ES2556027T3 (es) 2016-01-12
US20160254909A1 (en) 2016-09-01
MX2014012053A (es) 2015-01-12
JP2015521001A (ja) 2015-07-23
WO2013174554A1 (en) 2013-11-28
CN104303451B (zh) 2016-11-16
MX336828B (es) 2016-02-03
EP2853057B1 (en) 2015-10-28
ZA201409370B (en) 2017-09-27
BR112014028752A2 (pt) 2017-06-27

Similar Documents

Publication Publication Date Title
JP5755391B2 (ja) 鍵共有デバイス、及び鍵共有デバイスを構成するためのシステム
JP6190470B2 (ja) 鍵共有ネットワークデバイス及びその構成
CN106797314B (zh) 密码系统、网络设备、共享方法以及计算机可读存储介质
JP6328152B2 (ja) 共有鍵を導出するよう構成されたネットワークデバイス
JP2017519457A (ja) 共有鍵を決定するためのデバイス
JP6034998B1 (ja) 暗号鍵を共有するためのシステム
JP2016526851A (ja) 暗号鍵を共有するためのシステム
JP2015521003A (ja) 暗号鍵の決定

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150526

R150 Certificate of patent or registration of utility model

Ref document number: 5755391

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250