JP6034998B1 - 暗号鍵を共有するためのシステム - Google Patents

暗号鍵を共有するためのシステム Download PDF

Info

Publication number
JP6034998B1
JP6034998B1 JP2016533069A JP2016533069A JP6034998B1 JP 6034998 B1 JP6034998 B1 JP 6034998B1 JP 2016533069 A JP2016533069 A JP 2016533069A JP 2016533069 A JP2016533069 A JP 2016533069A JP 6034998 B1 JP6034998 B1 JP 6034998B1
Authority
JP
Japan
Prior art keywords
key
polynomial
network device
secret
univariate
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.)
Expired - Fee Related
Application number
JP2016533069A
Other languages
English (en)
Other versions
JP2017503382A (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
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 filed Critical Koninklijke Philips NV
Application granted granted Critical
Publication of JP6034998B1 publication Critical patent/JP6034998B1/ja
Publication of JP2017503382A publication Critical patent/JP2017503382A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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
    • H04L9/0841Key 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 involving Diffie-Hellman or related key agreement protocols
    • 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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

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

Abstract

鍵を共有するためにネットワークデバイス(300)を構成するためのシステム(200)であって、共有鍵はbビットの長さであり、当該システムは:鍵材料取得器(210)であって、電子的形式で二変数多項式の第1の秘密セット(252、fi(,))及びリダクション整数の第2の秘密セット(254、pi)を取得し、第1のセット内の各二変数多項式と、第2のセット内のリダクション整数に関連付けがあり、リダクション整数の第2の秘密セット(254、pi)に関連付けられる公開グローバルリダクション整数(256、N)を取得するための鍵材料取得器と、ネットワークデバイスの識別番号(310、A)を電子的形式で取得するためのネットワークデバイスマネージャであって、識別番号はBビットの長さであり、B>bである、ネットワークデバイスマネージャと、第1の秘密セットの各特定の多項式について、識別番号(A)を特定の多項式に代入しfi(A,)、特定の多項式に関連付けられるリダクション整数を法として簡約することにより、一変数多項式のセットを取得することと、一変数多項式のセットを合計することと、によって、第1及び第2の秘密セットからネットワークデバイスについての一変数秘密鍵多項式(229)を計算する多項式操作ユニット(220)と、を備え、ネットワークデバイスマネージャは、生成された一変数秘密鍵多項式(229、236)及び公開グローバルリダクション整数(256、N)をネットワークデバイスにおいて電子的に格納するように更に構成される。

Description

本発明は、鍵共有のためにネットワークデバイスを構成するシステムに関し、当該システムは:多項式を取得するための鍵材料取得器と、ネットワークデバイスの識別番号を電子的形式で取得するためのネットワークデバイスマネージャと、多項式操作ユニットを備える。
暗号化において、鍵共有プロトコル(key-agreement protocol)は、共通の鍵をまだ共有していない可能性がある2又はそれ以上のパーティが、そのような鍵に対して合意をすることができるプロトコルである。好ましくは、双方のパーティがその結果に対して影響を与えることができ、これにより、どちらのパーティも鍵の選択を強いることがない。2つのパーティ間の全ての通信を盗聴する攻撃者は、鍵について何も知るべきではない。また、同じ通信を見ている攻撃者が何も知らないか又はほとんど知らない間に、パーティ自身が共有鍵を導出することができる。
鍵共有プロトコルは、例えば通信をセキュアにし、例えばパーティ間のメッセージを暗号化及び/又は認証するのに有益である。
実践的な鍵共有プロトコルは、1976年にホイットフィールド・ディフィー(Whitfield Diffie)とマーティン・ヘルマン(Martin Hellman)が公開鍵暗号化の概念を導入した時に導入された。彼らは、q個の要素の有限体GF(q)に対して対数を計算するという明らかな困難性を用いる、2つのパーティ間の鍵共有のためのシステムを提案した。このシステムを使用して、2人のユーザは、対称鍵に対して合意をすることができる。その後、この対称鍵を、例えば2人のパーティ間の暗号化された通信に使用することができる。
鍵共有のためのディフィー・ヘルマンシステムは、パーティがまだ共有の秘密を持っていないときに適用可能である。ディフィー・ヘルマン鍵共有法は、有限体に対して、べき乗演算を行うことのように、計算リソースが多い(resource-heavy)数学演算を必要とする。べき指数とフィールドサイズの双方が大きい可能性がある。これは、鍵共有プロトコルを低リソースデバイスにあまり適さないものにする。一方、鍵共有プロトコルは、リソース制約デバイスにおいて非常に有益であろう。例えばモノのインターネット、アドホック無線ネットワーク等といった適用範囲では、鍵共有を使用してデバイス間のリンクを保護することが可能である。別の例は、リーダと電子タグとの間、例えばカードリーダとスマートカード、あるいはタグリーダとタグ、例えばRFIDタグ又はNFCタグとの間の通信である。
所与の通信ネットワーク内のネットワークデバイスのペア間でセキュアな接続をセットアップすることの問題に対する別のアプローチが、非特許文献1(「Blundo」とも称する)において対処される。
このシステムは、p個の要素を有する有限体Fの係数を有する対称二変数多項式f(x,y)を生成する、ネットワーク権限又は信頼できる第三者機関(TTP)とも呼ばれる中央権力(central authority)を想定しており、ここで、pは、素数又は素数の累乗である。各デバイスはFにおいて識別番号を有しており、各デバイスには、TTPによってローカルの鍵材料(key material)が提供される。識別子ηを有するデバイスについて、ローカルの鍵材料は、多項式f(η,y)の係数である。デバイスηがデバイスη’と通信することを望む場合、その鍵材料を使用して、鍵K(η,η)=f(η,η’)を生成する。fは対称なので同じ鍵が生成される。ローカルの鍵材料は秘密である。ローカルの鍵材料の知識は、システムを直接的に危険にさらすであろう。特に、盗聴は同じ共有鍵を取得することを可能にするであろう。方法は、デバイスのネットワーク内の各デバイスが、自身の一意の識別番号及びローカルの鍵材料を有することを必要とする。
この鍵共有スキームの問題は、攻撃者がt+1又はそれ以上のデバイスの鍵材料を知っている場合に生じる。ここで、tは二変数多項式の指数である。攻撃者は次いで、多項式f(x,y)を再構築することができる。その瞬間、システムのセキュリティは完全に破られる。任意の2つのデバイスの識別番号が与えられると、攻撃者は、このデバイスのペアの間で共有される鍵を再構築することができる。
鍵共有における更なる懸念事項は、以下に関係する。多数のデバイスの鍵材料を取得することが難しいことがある。ターゲットデバイスが共有している共有鍵は取得することが容易であることがある。多数のそのような共有鍵が入手可能であることが想定され得る。例えば攻撃者は、ターゲットデバイスが、少なくとも部分的にその攻撃者の制御下にある大きなグループのデバイスと通信するのに使用した鍵を収集することができる。共有鍵の収集から、攻撃者は、ターゲットデバイスが、攻撃者の制御下にないデバイスと通信するときに使用するであろう鍵を予測することを試みることができる。この攻撃は、各デバイスにおいてローカル鍵材料を生成するのに使用されるルート(root)鍵材料を目的とはしていないが、特定のターゲットデバイスのローカル鍵材料を攻撃する。
非特許文献2は、鍵確立スキームを開示している。
C. Blundo、A. De Santis、A. Herzberg、S. Kutten、U. Vaccaro及びM. Yung著「Perfectly-Secure Key distribution for Dynamic Conferences」Springer Lecture Notes in Mathematics、Vol. 740、 pp. 471-486, 1993年 Oscar Garcia-Morchon等著「Towards fully collusion-resistant ID-based establishment of pairwise keys"」
ネットワークデバイス、特に低リソースのネットワークデバイス間における鍵配布及び鍵共有のための改善されたシステムを持つことは有利であろう。特に、上述のタイプの攻撃に対してより耐性のある鍵共有のためのシステムを持つことは有利であろう。
鍵を共有するためにネットワークデバイスを構成するためのシステムが提供され、ここで共有鍵は、bビットの長さである。システムは、鍵材料取得器、ネットワークデバイスマネージャ及び多項式操作ユニットを備える。
鍵材料取得器は、電子的形式で、二変数多項式の第1の秘密セット(private set)と、リダクション整数(reduction integer)の第2の秘密セットを取得し、第1のセット内の各二変数多項式と、第2のセットのリダクション整数に関連付けがあり、公開グローバルリダクション整数は、リダクション整数の第2の秘密セットに関連付けられる。
多項式操作ユニットは、第1の秘密セットの各特定の多項式について、識別番号をその特定の多項式に代入し、特定の多項式に関連付けられるリダクション整数を法として簡約する(reducing)ことにより、一変数多項式のセットを取得することと、一変数多項式のセットを合計することとによって、第1及び第2の秘密鍵のセットから、ネットワークデバイスについての一変数秘密鍵多項式を計算するように構成される。
ネットワークデバイスマネージャは、ネットワークデバイスの識別番号を電子的形式で取得するように構成され、識別番号はBビットの長さであり、B>bである。ネットワークデバイスマネージャは、生成された一変数秘密鍵多項式及び公開グローバルリダクション整数をネットワークデバイスにおいて電子的に格納するように更に構成される。
本発明者らは、ターゲットデバイスが制御デバイスと共有した鍵へのアクセスを攻撃者が有している場合に、識別番号よりも小さい共有鍵を使用することが、攻撃に対する耐性を大いに向上させたことを発見した。このやり方で共有される鍵を、暗号鍵として直接的に使用してよい。しかしながら、本発明者らは更に、複数の小さな鍵を1つのより大きな共有鍵へ組み合わせることにより、ストレージリソースを減らすことができることを発見した。ストレージリソースは、複数の鍵材料に対応するよう増加するが、これは、1つのモノシリックの鍵材料によって必要とされ、これに応じて大きなサイズの識別番号を伴うストレージ要件よりも少ない。生成される共有鍵よりも長い識別子を使用することは、その長い識別子のために、スケーラブル性を許容しつつ、格子攻撃の使用を実行不可能にする。
ネットワークデバイスが、組合せの鍵(combined key)を共有するために構成される実施形態において、組合せの鍵は複数の共有鍵から導出される。組合せの鍵は、複数の共有される「小さな鍵」から導出される「大きな鍵」とも呼ばれる。小さい及び大きいという用語は、絶対的なサイズを示すものではなく、小さい鍵が、サイズにおいて大きな鍵よりも小さいことを示す。
多数の小さな鍵を1つの大きな鍵に組み合わせることは、結果として得られる大きな鍵の強さを低減させず、一方、攻撃に対する耐性は向上し、必要とされるストレージの増加は適度である。実施形態において、組合せの鍵の長さは、少なくともBである。
ある実施形態では、公開グローバルリダクション整数は、少なくとも(α+1)B+bビットを有し、αは、第1の秘密セット内の二変数多項式の単一の変数における最も高い次数である。公開グローバルリダクション整数のこのサイズは、2つの構成されたネットワークデバイスが、同じ鍵に到達することになる可能性を増加させ、同時に共有鍵における漏洩を低減する。同様に、ある実施形態では、各秘密リダクション整数は、βi<2Bである整数βiについて、pi=N−βi2bを満たす。秘密リダクション整数の間の差が、閾値(例えば2B+b)より小さいとき、かつ/又は公倍数(例えば2b)を有するとき、2つのデバイスが同じ共有鍵を生成する可能性はより高い。好ましい実施形態では、公開グローバルリダクション整数は、正確に(α+1)B+bビットを有する。
ある実施形態では、鍵材料取得器は、二変数多項式の複数の第1の秘密セットを取得するように構成され、複数の第1のセットのうちのある第1のセット内の各二変数多項式と、第2の秘密セットのリダクション整数に関連付けがある。多項式操作ユニットは、複数の第1の秘密セットのうちの各第1の秘密セットについて、第1の秘密セットの各特定の多項式について、識別番号をその特定の多項式に代入し、その特定の多項式に関連付けられるリダクション整数を法として簡約することにより、二変数多項式のセットを取得することと、二変数多項式のセットを合計することとによって、複数の第1の秘密セットから複数の一変数秘密鍵多項式を計算するように構成される。ネットワークデバイスマネージャは、複数の生成された一変数秘密鍵多項式をネットワークデバイスにおいて電子的に格納するように更に構成される。
単一のインスタンスを使用して十分な長さの共有鍵を生成することは、かなり大きな識別値(identity value)を必要とするであろう。識別値は次いで、大きくなるよう多項式の係数を必要とすることがある。ストレージ内のかなり大きなリダクションは、複数の小さな鍵を組み合わせることにより得られる。これは、識別番号のサイズをより小さくすることを可能にする。例えば1つには、小さな鍵を組み合わせて、ビットサイズB又はより大きいサイズの大きな鍵を得ることができる。
ある実施形態では、鍵材料取得器は、リダクション整数の複数の第2の秘密セットを取得するように構成される。複数の第1のセットの各第1のセットと、複数の第2のセットのうちの特定の第2のセットに関連付けがある。複数の第1のセットのうちの特定の第1のセット内の各二変数多項式と、複数の第2のセットのうちの関連付けられる第2のセットのリダクション整数に関連付けがある。多項式操作ユニットは、第1のセットに関連付けられる第2のセットから、特定の多項式に関連付けられるリダクション整数を法として簡約するために構成される。実施形態は、セットごとに、1つの公開リダクション整数を有する。例えば公開グローバルリダクション整数Niは、第1のセットの数iに関連付けられる。
ある実施形態では、鍵材料取得器は、電子的形式で複数の公開グローバルリダクション整数を取得するように構成され、複数の第1のセットの各第1のセットと、複数の公開グローバルリダクション整数のうちのある公開グローバルリダクション整数に関連付けがあり、ネットワークデバイスマネージャは、複数の生成された公開グローバルリダクション整数をネットワークデバイスにおいて電子的に格納するために更に構成される。
識別番号がそのBビットにわたってランダムな方法で分散される場合、システムはよりセキュアである。これを改善するために幾つかの方法がある。例えば一実施形態では、ネットワークデバイスマネージャは、ネットワークデバイスの識別番号を電子的形式で生成するように構成され、識別番号はBビットの長さであり、B>bである。
ある実施形態において、識別番号の少なくとも一部はランダムに生成される。例えば番号全体がランダムに生成されてよく、あるいはその所定数の、例えば最上位ビットがランダムに生成されてもよい。
ある実施形態では、識別番号を生成することは、更なる識別番号をハッシュ処理して、ハッシュ処理の結果を識別番号の少なくとも一部をに割り当てることを備える。例えばネットワークデバイスは、MACアドレスのようなネットワークアドレスやシリアル番号のような、更なる識別番号を割り当てられてよい。そのような番号の適合性は、これらをハッシュ処理することにより高めることができる。
本発明の側面は、第2のネットワークデバイスとの共有鍵を決定するように構成される第1のネットワークデバイスに関し、共有鍵はbビットの長さである。第1のネットワークデバイスは、電子ストレージと、通信ユニットと、多項式操作ユニットを備える。電子ストレージは、鍵を共有するためにネットワークデバイスを構成するためのシステムから取得される、一変数秘密鍵多項式及び公開グローバルリダクション整数を格納するように構成され、該ストレージは、一変数秘密鍵多項式を生成するために使用される当該第1のネットワークデバイスについての第1の識別番号を更に格納し、第1の識別番号はBビットの長さであり、B>bである。
通信ユニットは、第2のネットワークデバイスの第2の識別番号を取得するように構成され、第2の識別番号はBビットの長さであり、B>bであり、第2のネットワークデバイスは第1のネットワークデバイスとは異なる。
多項式操作ユニットは、第2の識別整数を一変数秘密鍵多項式に代入し、公開グローバルリダクション整数を法として代入の結果を簡約し、公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約するように構成される。デバイスは、後者のモジュロ簡約(modulo reduction)の結果から共有鍵を導出するための鍵導出デバイスを備えてもよい。
ある実施形態において、電子ストレージは、鍵を共有するためにネットワークデバイスを構成するためのシステムから取得される、複数の一変数秘密鍵多項式を格納するように構成される。多項式操作ユニットは、複数の一変数秘密鍵多項式内の一変数秘密鍵多項式ごとに、第2の識別整数を一変数秘密鍵多項式に代入することと、公開グローバルリダクション整数を法として代入の結果を簡約することと、公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約することとによって、複数の一変数秘密鍵多項式から複数の小さな共有鍵を取得するように構成される。デバイスは、複数の小さな共有鍵から組合せの共有鍵を導出するための鍵導出デバイスを更に備えてもよい。
ある実施形態において、電子デバイスは、複数の公開グローバルリダクション整数を格納するように構成され、複数の一変数秘密鍵多項式の各一変数秘密鍵多項式と、複数の公開グローバルリダクション整数のうちのある公開グローバルリダクション整数に関連付けがある。多項式操作ユニットは、一変数秘密鍵多項式に関連付けられる公開グローバルリダクション整数を法として、代入の結果を簡約するよう構成される。
典型的な実施形態では、更なる簡約モジュロ2bが、公開グローバルリダクション整数を法とする簡約の結果に直接適用される。しかしながら、公開グローバルリダクション整数を法として代入の結果を簡約した後、更なる簡約のステップの前に、追加のステップが存在してもよい。例えば複数の一変数秘密鍵多項式を用いてセキュリティを向上させる別の方法は、以下のとおりである。一実施形態では、多項式操作ユニットは、第2の識別整数を、複数の一変数秘密鍵多項式の各一変数秘密鍵多項式に代入し、その一変数秘密鍵多項式に関連付けられる公開グローバルリダクション整数を法として代入の結果を簡約する。多項式操作ユニットは、関連付けられる公開グローバルリダクション整数を法として簡約した結果を合計するように構成される。後者の合計は、2bを法としてより簡約される。デバイスは、後者のモジュロ簡約の結果から共有鍵を導出するための鍵導出ユニットを備えてもよい。
複数の一変数秘密鍵多項式のうちのこれらの2つの使用は、複数の一変数秘密鍵多項式の複数のセットを使用することによって組み合わされてよく、複数の一変数秘密鍵多項式のセットを使用して共有鍵を取得し、したがって取得される共有鍵は、より大きな組合せの鍵へと組み合わされる。
ある実施形態において、電子ストレージは、第1のネットワークデバイスについての複数の識別番号を格納する。通信ユニットは、第2のネットワークデバイスの複数の識別番号を取得するために構成され、複数の一変数秘密鍵多項式の各一変数秘密鍵多項式と、複数の識別番号のうちのある識別番号に関連付けがある。多項式操作ユニットは、複数の一変数秘密鍵多項式内の各一変数秘密鍵多項式ごとに、サイズbiの小さな共有鍵を生成することであって、該鍵のサイズは、一変数秘密鍵多項式に関連付けられる識別番号のサイズよりも小さい(bi<βi)ことと、識別整数を一変数秘密鍵多項式に代入することと、公開グローバルリダクション整数(Ni)を法として代入の結果を簡約することと、公開グローバルリダクション整数(Ni)を法として簡約した結果を、2biを法として更に簡約することとによって、複数の一変数秘密鍵多項式から複数の小さな共有鍵を取得するように構成される。
ある実施形態では、第1のネットワークデバイスは、共有鍵についての鍵確認データを計算し、該鍵確認データを第2のネットワークデバイスに送信するように構成される鍵等化器を備える。ある実施形態では、第1のネットワークデバイスは、第2のネットワークデバイスから鍵確認データを受け取り、該受け取った鍵確認データに整合するよう小さな鍵を適合させるように構成される鍵等化器を備える。鍵等化器を使用して、第1及び第2のデバイスによって同じ共有鍵が導出されることを保証することができる。
本発明の側面は、鍵を共有するためにネットワークデバイスを構成するためのシステムと、鍵を共有するためにネットワークデバイスを構成するためのシステムによって構成される第1及び第2のネットワークデバイスとを備える、鍵共有システムに関する。
本発明の側面は、鍵を共有するためにネットワークデバイスを構成するための方法に関する。本発明の側面は、第2のネットワークデバイスとのサイズbの共有鍵を決定するための方法に関する。
本発明のこれら及び他の側面は、以下で説明される実施形態から明らかになり、これらの実施形態との関連で解明されるであろう。図面は次のとおりである。
鍵共有のためにネットワークデバイスを構成するシステム200及び第1のネットワークデバイス300の概略的なブロック図である。 第1のネットワークデバイス300及び第2のネットワークデバイス350の概略的なブロック図である。 鍵共有システム100の概略的なブロック図である。 鍵共有システム102の概略的なブロック図である。 集積回路400の概略的なブロック図である。 bビットの長さの鍵を共有するためにネットワークデバイスを構成する方法500を示すフローチャートである。 第2のネットワークデバイス350とのサイズbの共有鍵を決定するための方法600を示すフローチャートである。 異なる図面において同じ参照番号を有するアイテムは、同じ構造的特徴又は同じ機能を有するか、同じ信号であることに留意されたい。そのようなアイテムの機能及び/又は構造が説明済みである場合、詳細な説明において、それらを繰り返し説明する必要はない。
本発明は、多くの異なる形式の実施形態を許容するが、本開示は本発明の原理の例示として解釈されるべきであり、本発明は図示及び説明される具体的な実施形態に限定するように意図されていないという理解の下、1つ以上の具体的な実施形態を図示し、本明細書において詳細に説明する。
以下では、鍵共有方法の実施形態が、数学用語で説明される。鍵共有方法は、以下で説明されるようなデバイスにおいて、例えばネットワークデバイス(300)を構成するためのシステム(200)上で、鍵共有システム(100)、(102)内等で実装され得る。
以下の実施形態では、ネットワークデバイスは、これらのネットワークデバイスの識別番号よりも少ないビットを有する共有鍵を取得するように構成される。共有鍵は、「小さな鍵」とも呼ばれる。後続の実施形態では、複数のこれらの小さな鍵を組み合わせて、より大きな鍵を得ることになる。我々は、1つの小さな鍵の生成を「インスタンス」と呼ぶ。より大きな鍵を生成するために、複数のインスタンスが必要とされる。しかしながら、複数のインスタンスは、これらのパラメータの一部を共有することがある。以下では、まず単一のインスタンスについて説明する。
方法は、セットアップ段階と使用段階を有する。セットアップ段階は、開始ステップと登録ステップを含み得る。開始ステップはネットワークデバイスを必要としない。
開始ステップはシステムパラメータを選択する。開始ステップは、信頼できる第三者(TTP)によって実行され得る。システムパラメータを所与の入力と見なすこともできる。この場合、信頼できる第三者はこれらを生成する必要がなく、開始ステップはスキップされてもよい。例えば信頼できる第三者が、デバイス製造業者からシステムパラメータを受け取ってもよい。開示の利便性のために、信頼できる第三者が、開始ステップを実行するものとして言及するが、これは必須ではないことに留意されたい。
開始ステップ
インスタンスの使用段階においてデバイス間で共有されることになる小さな鍵について、所望の鍵長が選択される;この鍵の長さは「b」として参照されることがある。所望の識別番号の長さも選択される。後の登録ステップの間に、各デバイスは、識別番号の長さの識別番号に関連付けられることになる;識別番号の長さは「B」として参照されることがある。番号の長さはビット単位で測られる。
b<Bであることが要件である。ある実施形態では、Bはbの倍数であり、例えばBは少なくとも2bであり、推奨されるセキュリティレベルのためには、Bは少なくとも4bである。低セキュリティ適用(application)の標準値は、b=8、B=16であってよい。高セキュリティのためには、b=8、B=32がより良好である。より高いセキュリティでは、b≦8(例えばb=8)かつB≧128(例えばB=128)を使用することができる。
各インスタンスごとに、2つのパーティが共有鍵を導出することができる。共有鍵を組み合わせて、より大きな組合せ鍵を形成することができる。インスタンスの数は、組合せ鍵が、使用されることになるセキュリティ適用にとって十分な長さになるように選択される。例えば1つの選択肢は、インスタンスの数を[Kdes/b]として選択し、ここでKdesは所望の鍵の長さ、例えば80ビット又はそれ以上、128ビット又はそれ以上、256ビット又はそれ以上等である。組合せ鍵を少なくとも個々の識別番号と同じ大きさにし、インスタンスの数を[B/b]又はそれ以上として選択することが好ましい。
Bに対してより小さいbの値は、いわゆる共謀攻撃(collusion attack)に対する耐性を向上させる。共謀攻撃では、攻撃者は、ターゲットネットワークノードと複数の共謀ネットワークノードとの間で使用される共有鍵に関する情報を取得する。それぞれの更なる共謀ネットワークノードからわかる情報の量は、サイズbである。しかしながら、ターゲットネットワークノードと非共謀ネットワークノードとの間の交換(commutation)を破るために再構築する必要がある情報の量は、Bとともに増大する。
典型的には、全てのインスタンスは、同じbとBを使用することになるが、これは必ずしも必要ではない。後に単一のより大きな鍵に組み合わされる場合であっても、2つのインスタンスがb及び/又はBについて異なる値を用いることができる。
インスタンスの数、鍵のサイズ及びサブ鍵(sub-key)の長さは、多くの場合、例えばシステム設計者によって予め決定され、入力として信頼できるパーティに与えられることになる。
インスタンスパラメータ
次に、各インスタンスについてパラメータを選択する。所望の指数が選択される;この指数は、特定の多項式の指数を制御する。指数は「α」として参照され、少なくとも1である。αの実際的な選択は2である。よりセキュアな適用では、より高いαの値、例えば3又は4、あるいはそれより高い値を使用することがある。簡単な適用では、α=1も可能である。α=1の場合は、いわゆる「隠れ数問題(hidden number problem)」に関連し;より高い「α」の値は、拡張した隠れ数問題(extended hidden number problem)に関連し、これらの場合は、破るのが難しいことが確認されている。値α=1は可能ではあるが、推奨されず、非常に低いセキュリティ適用いついてのみ検討されるべきである。低いセキュリティ適用については、α>2の値、例えばα=3が可能である。しかしながら、より高いセキュリティのためには、α≧32、例えばα=32が推奨される。
多項式の数を選択する。多項式の数は「m」として参照されることがある。mの現実的選択は2である。よりセキュアな適用では、より高いmの値、例えば3又は4、あるいはそれより高い値を使用してもよい。
複雑性の低い適用、例えばリソースの限られたデバイスでは、m=1を使用してよい。m=1という値は、可能ではあるが推奨されず、低いセキュリティの適用についてのみ検討されるべきである。セキュリティパラメータα及びmのより高い値は、システムの複雑性を増加させ、したがって、その扱いにくさも増加させる。より複雑なシステムは、分析することがより難しく、したがって、暗号解読に対してより耐性がある。以下では、m≧2と仮定する。
公開モジュラス(public modulus)Nは、2(α+1)B+b-1≦Nを満たすように選択される。好ましくは、公開モジュラスNは、正確に(a+1)B+bビットを有するように選択され、したがって、N<2(α+1)B+bでもある。例えばNは、この間隔でアトランダムに選択されてよい。多くの場合、鍵長b、次数a及び多項式の数mは、例えばシステム設計者によって予め決定され、信頼できるパーティへ入力として提供されることになる。公開モジュラスは、例えば標準として、固定であってもよいが、より典型的には、パラメータの生成中に選択されることになる。
m個の秘密モジュライ(private moduli)p1、p2...pmの数を選択する。モジュライは正の整数である。それぞれの選択される数は、次の関係pj=N−βj・2bを満たす。ここで、βjはランダムなBビットの整数、すなわち、βj<2Bであり、より好ましくは、これらは、正確にBビット、すなわち、2B-1≦βj<2Bを有する。
m>1では、異なるモジュライについてのモジュロ演算は、そのような演算が通常の数学的意味では互換性がないとしても組み合されるので、システムはより複雑であり、したがってよりセキュアである。この理由のため、ペアとして異なるように、選択された秘密モジュライpjを選ぶことが有利である。
次数αjの複数のm個の二変数多項式f1,f2,…,fmが生成される。好ましくは、二変数多項式は対称であり;これは、全てのネットワークデバイスが、相互のネットワークデバイスとの共有鍵に合意することを可能にする。これらの二変数多項式は非対称に選択されてもよい。全ての次数はαj≦αを満たし、少なくとも1つのjについてαj=αである。より良い選択は、次数αの各多項式をとることである。二変数多項式は、2つの変数の多項式である。対称の多項式fは、f(x,y)=f(y,x)を満たす。各多項式fjは、モジュロpjを計算することにより得られる、整数モジュロpjによって形成される有限環(finite ring)で評価される。整数モジュロpjは、pj個の要素を有する有限環を形成する。多項式fjの係数は整数であり、モジュロpj演算によって定義される有限環内の要素を表す。一実施形態において、多項式fjは、0からpj−1までの係数で表される。二変数多項式は、例えばこれらの境界内でランダム係数を選択することにより、アトランダムに選択され得る。
鍵共有のセキュリティは、これらの二変数多項式がシステムのルート鍵材料であるので、これらの二変数多項式に依存し;このため、好ましくは、これらを保護するために強い手段、例えば制御手順、不正防止デバイス等がとられる。このことはあまり重大ではないが、好ましくは、選択される整数p1、p2...pmは、pjに対応する値βjを含め、秘密裡を保持される。二変数多項式を、j=1,2,…,mについて、次の形式で示す。
Figure 0006034998
上記の実施形態を様々な方法で変更することができる。一変数多項式の難読化が可能であり、ネットワークデバイスにおいて取得される共有鍵が、多くの場合、相互に対して十分近いままであるように、公開及び秘密モジュライに対する制限が様々な方法で選択され得る。何が十分であるかはアプリケーション(適用)、必要とされるセキュリティレベル及びネットワークデバイスで利用可能な計算リソースに依存するであろう。上記の実施形態は、多項式の共有を生成するときに実行されるモジュラ演算が、整数に対して加算されるときに非線形手法で組み合されるように、正の整数を組み合わせ、ネットワークデバイス上に格納されるローカルの鍵材料について非線形構造を作成する。N及びpjについての上記の選択は、(i)Nのサイズは、全てのネットワークデバイスについて固定であり、αにリンクされる;(ii)非線形の効果は、デバイス上に格納される鍵材料を形成する係数において現れる、という特性を有する。この固有の形式のために、Nを法とする簡約の後に2bを法として簡約することによって、共有の小さな鍵を生成することができる。
登録ステップ
登録ステップでは、各ネットワークデバイスが、鍵生成材料(KM:keying material)を割り当てられる。鍵材料は、各インスタンスのための鍵材料を備える。以下では、あるネットワークデバイスのために、1つのインスタンスについて鍵材料がどのように導出されるかについて説明する。各インスタンスは鍵材料を有し、インスタンスの鍵材料は、この鍵材料の一部が異なるインスタンス間で共有され得るとしても、各インスタンスに対して一意である。
ネットワークデバイスは識別番号Aに関連付けられる。識別番号は、例えばTTPによる要求に応じて割り当てられてよく、あるいはデバイス内に既に格納されていること、例えば製造時にデバイス内に格納されていること等もある。AのビットサイズはBビットである。Aの生成は様々な方法で行われてよい。高いセキュリティのために、Aの低ビットはランダムである。例えばAは乱数として選択されてよく;Aは更なる識別番号、例えばシリアル番号のハッシュであってもよく、場合によってはBビットまで切り捨てられてよい。
TTPは、デバイスのために鍵材料のセットを次のように生成する:
Figure 0006034998
次のように、この式に対し、更なる難読化を行う数(obfuscating numbers)を加算することが可能である:
Figure 0006034998
ここで、KMA(X)は、識別番号Aを有するデバイスの鍵材料であり;Xは形式的変数(formal variable)である。鍵材料は非線形であることに留意されたい。記号<…>pjは、pjを法として、括弧間の多項式の各係数を簡約することを示す。別の言い方をすると、以下である。
Figure 0006034998
「∈A,i」という表記はランダム整数を示し、これは|∈A,i|<2(α+1-i)bのような難読化の数の例である。ランダム整数のうちのいずれか1つが正又は負であってよいことに留意されたい。ランダム整数∈は、各デバイスについて再び生成される。したがって、
Figure 0006034998
という項は、指数が増加すると係数長が短くなる、指数αのXで多項式を表す。あるいは、より一般的ではあるが、より複雑な条件は、
Figure 0006034998
が小さい、例えば<2α+1であることである。異なる有限環にわたる混合効果は、セキュリティに対して最も大きな寄与を与え、したがって、難読化の数の使用は任意選択である。
全ての他の加算は、自然整数演算(natural integer arithmetic)、すなわち環
Figure 0006034998
における自然整数演算を使用するか、あるいは(好ましくは)Nを法とする加算を使用する。このため、一変数多項式
Figure 0006034998
の評価はそれぞれ、より小さいモジュラスpjを法として個々に行われるが、これらの簡約された一変数多項式自体の合計は、好ましくはNを法として行われる。また、難読化多項式
Figure 0006034998
の加算は、自然整数演算を使用して、あるいは好ましくはNを法として行われ得る。鍵材料は、係数
Figure 0006034998
を備え、i=0,…,αである。鍵材料は、上記のように多項式として提示され得る。実際には、鍵材料は、リストとして、例えば整数
Figure 0006034998
のアレイとして格納されてもよい。また、デバイスAは数字N及びbも受け取る。多項式の操作は、例えば係数を含むアレイの操作、例えば所定の順序で全ての係数をリストするアレイの操作として実装されてもよい。多項式は、他のデータ構造で実装されてもよく、例えば(指数,係数)のペアの集合、好ましくは各係数がその集合内に多くても1度現れるような(指数,係数)のペアの集合を備える、(「マップ」としても知られる)関連アレイ(associative array)として実装されてもよい。デバイスに提供される係数
Figure 0006034998
は、好ましくは、範囲0,1,…N-1である。
使用段階
2つのデバイスが識別番号A及びBを有し、このインスタンスについての鍵材料をTTPから受け取ると、これらは、その鍵材料を使用して1つの小さな共有鍵を取得することができる。デバイスAは、各インスタンスについて以下のステップを実行して、その共有鍵を取得することができる。まず、デバイスAはデバイスBの識別番号Bを取得し、次いで、Aは以下を計算することによって共有鍵を生成する:
Figure 0006034998
すなわち、Aは、値Bについて、整数多項式として見なされる自身の鍵材料を評価する;鍵材料を評価した結果は整数である。Aは、最初に公開モジュラスNを法とし、次に鍵モジュラス2bを法として、評価の結果を簡約する。その結果は、Aの、Bとの共有鍵と呼ばれ、0から2b-1までの範囲の整数である。その部分について、デバイスBは、識別番号Aについてその鍵形成した材料(keyed material)を評価し、Nを法とし、次いで2bを法として結果を簡約することにより、Bの、Aとの共有鍵を生成することができる。
ルート鍵材料内の二変数多項式が対称である場合、AのBとの共有鍵及びBのAとの共有鍵は、常にではないが多くの場合、等しい。整数p1,p2,…,pm及びランダム整数∈に対する特定の要件は、鍵が多くの場合等しく、ほとんど常に、鍵長の2乗を法として相互に対して近いことである。A及びBが同じ共有鍵を取得した場合、次いでA及びBはこの共有鍵をAとBの間で共有される対称鍵として使用してよい;例えばこの共有鍵は、様々な暗号化の適用のために使用されることがあり、例えばA及びBはこの共有鍵を使用して暗号化及び/又は認証される1つ以上のメッセージを交換することができる。好ましくは、マスター鍵の更なる保護のために、鍵導出アルゴリズムが共有鍵に適用される、例えばハッシュ関数が適用され得る。
A及びBが同じ共有鍵を取得しなかった場合であっても、これらの鍵が、KAB=KBA+δN mod 2bという意味で、相互に対して近いことは確実である;ここで、δは小さい数であり、最大でも絶対値で3m+2αである。u=N-1 mod 2bと定義する、すなわち2bを法とするNの逆数である。次いで、
Figure 0006034998
である。
cを、2c≧1+2(3m+2α)となる最も小さい数とし、次いでAは、uKABのc個の最下位ビットを、鍵確認データとして送信することができる。これは、BがKBA及び鍵確認データからKABを決定することを可能にする。
選択されたm個の秘密モジュライp1,p2,…,pmは、好ましくはペアで互いに素(pair wise relatively prime)である。これらの数がペアで互いに素である場合、モジュロ演算間の互換性の欠如は増加する。ペアで互いに素の数を取得することは、整数を順番に選択し、異なる数の全てのペアがまだ素である場合は各々の新しい整数についてテストし、素でなければ、そのとき選択した数を、セットから除去することによって得られる。この手順は、全てのm個の数が選択されるまで続く。選択されるm個の秘密モジュライp1,p2,…,pmが別個の素数であることを要求することによって、複雑性はまた更に増加する。
複数のインスタンスの組合せ
説明されるシステムは、ネットワークノードが、その識別子よりも小さい共有鍵に合意できるようにする。より高いセキュリティと実践的な実装の組合せは、比較的小さいbの値、例えばb≦8、場合によってはb≦16を選択することを望ましいものにする。しかしながら、そのようなbの選択は、セキュアな暗号化通信には小さ過ぎる。これは、かなり大きなBの値を選択することによって、例えば512ビット又はそれ以上として識別番号長Bを選択し、128ビット又はそれ以上として鍵長bを選択することによって解決される可能性がある。この場合において、単一のインスタンスは、2つのネットワークノードが、セキュアな通信のために十分に長いbビットの鍵を共有することを可能にするであろう。しかしながら、B=512を有することは、これに対応して、ローカル鍵材料をより大きいものにする。したがって、例えばモバイルフォンのような適度にパワフルなネットワークデバイスを使用して、単一のインスタンスのみを必要として、セキュアな通信にとって十分に長い鍵をセキュアに共有するためにネットワークデバイスを構成することが可能である。それでもなお、十分に長い共有鍵をさらに導出している間に、ストレージ要件を低減することは非常に望ましいであろう。
非実際的に長い鍵材料を作成することなく、鍵長を増加させる1つの方法は、複数の小さな鍵を組み合わせることである。システムは、パーティが、共有鍵を形成する複数のサブ鍵に合意することを可能にする。サブ鍵を生成するシステムを鍵合意(鍵共有)インスタンス(key-agreement instance)と呼ぶことにする。各インスタンスは、そのインスタンスの独自のパラメータを有することがあるが、他のインスタンスと同じ原理に沿って動作する。それでもなお、複数のインスタンスは、これらのインスタンスのパラメータの一部を共有することができる。上述のようにシステムから取得される、すなわち単一のインスタンスから取得される共有鍵を、「小さな」鍵と呼び、2つ以上の小さな鍵の組合せを「大きな鍵」と呼ぶ。組み合されるインスタンスの数は「t」として参照される。
複数の小さな鍵を取得するための第1の方法は、複数の完全に独立なインスタンスを選択することである。しかしながら、小さな鍵の各々についてのセキュリティ要件は等しいので、複数のインスタンスは、典型的にb、B、α及びmについて同じ値を有することになる。TTPは、各インスタンスについて、公開モジュラスN、秘密モジュライpi、秘密多項式fiを生成し、各インスタンス及び各ネットワークノードについて識別子A及びローカル鍵材料KMAを生成する。
複数のインスタンスを組み合わせる第2の方法は、各インスタンスについて同じ識別子Aを使用することである。第3の方法は、各インスタンスについて同じ公開モジュラスNを使用することである。最後に、同じ識別子A及び同じ公開モジュラスNを使用することが可能である。ローカル鍵材料は、全てのインスタンスについては同じではないものとなる。
例えば共有の大きな鍵のサイズは、セキュリティ要件に依存し、64又は80とすることができる。消費者レベルのセキュリティ要件のための標準値は128とすることができる。極秘の適用では、256又はそれよりも高い値が好ましいことがある。一実施形態では、組合せの鍵の長さは、識別子Bの長さに等しい。また、インスタンスの数「t」及びサブ鍵のサイズは選択される。異なるインスタンスにおけるサブ鍵のサイズは、異なるものであってよい。インスタンス「i」のサブ鍵のサイズは「bi」として参照されることがある。これらは、Σbi≧Bとなるように選択される。簡潔性のために、インデックスを落として、以下ではサブ鍵のサイズを「b」と示す。典型的には、サブ鍵のサイズは、全てのインスタンスにおいて等しいものとなり、bt=Bとなるように選択される。
各デバイスは、鍵材料の異なるインスタンスを使用してサブ鍵を生成する。共有鍵は次いで、例えばサブ鍵を連結することによって、サブ鍵から生成される。
他の中でも特に、B=32についての以下のパラメータセット:アルファ(α)=10、b=8、B=32は、他よりもよりセキュアであることが、実験的に検証されており、このシステムは、32ビットの鍵を作成するために4つのインスタンスを必要とする。パラメータセット、アルファ(α)=3、b=8、B=32もセキュアであるが、このより低いアルファの選択では、32ビットのIDの完全なスパンを使用することが望ましい。特に、長さ256の任意の間隔では、より少ない10個のIDを使用すべきである。一般に、更なるセキュリティは、予め決定された第1及び第2の識別閾値(identity threshold)を設定し、第1の識別閾値のサイズ(例えば256)のサイズの間隔がいずれも識別値の第2の識別閾値(例えば10)より多くを含まないよう、識別番号を選択することによって、達成され得る。これは、例えばネットワークデバイスマネージャによって、例えばこのルールに従って識別値を生成することにより、あるいは閾値を超える識別子を有するデバイスについてのローカル鍵材料の生成を拒絶することにより実施され得る。
図1は、鍵共有のためにネットワークデバイスを構成するためのシステム200及び第1のネットワークデバイス300の概略的なブロック図である。
構成用システム200は、典型的に統合デバイスとして実装される。例えば構成用システム200は、サーバ内に備えられてよい。構成用システム200は、例えば無線ネットワークやインターネット等のネットワークデバイス上のネットワークデバイスを構成してもよい。しかしながら、構成用システム200は、ネットワークデバイスを製造するための製造デバイス内に統合されてもよい。
構成用システム200は、鍵材料取得器210、ネットワークデバイスマネージャ230及び多項式操作ユニット220を備える。構成用システム200は、複数のネットワークデバイスとともに動作するように意図される。図1は、1つのそのようなデバイス、すなわち第1のネットワークデバイス300を示している。
構成用システム200は、ルート鍵材料とも呼ばれる、秘密鍵材料を選択する。構成用システム200は次いで、複数のネットワークデバイスの各々についてローカル鍵材料を導出する。ローカル鍵材料は、ルート鍵材料と、ネットワークデバイスの少なくとも1つの公開識別番号Aから導出される。図1では、ネットワークデバイス300は識別番号310を格納する。ネットワークデバイスは、複数の識別番号、例えばインスタンスごとに1つの識別番号を有することもある。ネットワークデバイスは、更なる識別番号を格納し、必要なときにその更なる識別番号から、例えば更なる識別番号をハッシュ処理することにより、識別番号310を導出することもできる。
ローカル鍵材料は、特定のネットワークデバイスに対して秘密の部分、すなわち、ある1つの特定のデバイスと、場合によっては信頼できるデバイスに対してのみアクセス可能な部分を備える。ローカル鍵材料は、共有鍵を取得するのには必要とされるが、秘密裡に保つことがあまり重要ではない部分も含み得る。
「公開(public)」及び「秘密(private)」という形容詞の使用は、理解を助けるものとして意図される:全ての公開データへのアクセスを有するとしても、アプリケーション(適用)のセキュリティを与える膨大な高リソース、あるいは鍵生成、暗号化及び復号に必要とされるリソースと比べて膨大な高リソースなしでは、秘密データを算出することはできない。しかしながら、「公開」は、対応するデータが、構成用システム200及びネットワークデバイス以外の他者に対して必ずしも利用可能にされる必要があることは意味しない。特に、公開グローバルリダクション整数及び他の公開パラメータを、信頼できないパーティから秘密裡に保つことは、セキュリティを向上させる。同様に、秘密データへのアクセスを、そのデータを生成したパーティ又はそのデータを必要とするパーティに制限することができ、これはセキュリティを向上させる。しかしながら、信頼できるパーティは、秘密データへのアクセスを許可されることがあり;秘密データへのアクセスはセキュリティを低下させる。
他のパーティの識別番号とこれらのローカル鍵材料を使用して、ネットワークデバイスは、これらの間で共有鍵について合意することができる。
鍵材料取得器210は、電子的形式で、少なくとも第1のパラメータセット250を取得するように構成される。第1のパラメータセットは、公開グローバルリダクション整数256 Nと、二変数多項式の第1の秘密セット252 fi(,)と、リダクション整数の第2の秘密セット254 piとを備え、第1のセット内の各二変数多項式と、第2セットのリダクション整数及び公開グローバルリダクション整数256 Nに関連付けがある。第1のパラメータセットは、ビットサイズBの識別番号を有するネットワークノードについて生成される。第1のパラメータセット、すなわち第1のインスタンスは、ローカル鍵材料を生成するために使用されることになり、ローカル鍵材料は次いで、共有される小さな鍵を導出するのに使用されることになる。小さな鍵bのビットサイズは、b<Bを満たす。このようにして、共有鍵から分かる情報の量は、再構築するのに必要な情報の量よりも少ない。これは、対応する格子問題を難しくし、処理できないものにさえする。
好適な実施形態では、鍵材料取得器210は、電子的形式で複数のパラメータセット250、260を取得するように構成される。図1は、第1のパラメータセット250及び第2のパラメータセット260を示している。パラメータセットの数は時々「t」として示される。2つより多くのパラメータセット、例えば4又はそれ以上、8又はそれ以上、16又はそれ以上、32又はそれ以上等のパラメータセットが存在してもよい。第2のパラメータセット260は、二変数多項式の第1の秘密セット262及びリダクション整数の第2の秘密セット264を備える。
以下の実施形態は、2つのパラメータセット:パラメータセット250及び260について説明される。典型的な実施形態では、パラメータセットの数は、より高いものとなり、例えば16又はそれ以上になることに留意されたい。以下で2つのセットについて説明されることは、2つより多くのセットについても当てはまる。
パラメータセットの間には何らかの重複が存在することがあり、例えばパラメータセットは同じ公開リダクション整数を有することがある;あるいは同じ公開リダクション整数及びリダクション整数の同じセットを有することがある。よりセキュアな実施形態では、パラメータセットは異なり、例えば独立に生成される。好ましくは、多項式、すなわち第1のセット252及び262は全てのパラメータセットにおいて異なる。
パラメータセットの公開グローバルリダクション整数256、266 Nは、そのセットのリダクション整数254、264の各々とは異なる。好ましくは、パラメータセットの公開グローバルリダクション整数256、266 Nは、そのパラメータセットのリダクション整数254、264の各々よりも大きい。
鍵材料取得器210は、鍵材料を取得するためにネットワークデバイスと対話する必要はない;特に、鍵材料取得器210は、識別番号を必要としない。構成用システム200は、鍵材料取得器210が多項式操作ユニット220とは異なる物理的な位置に置かれる、分散システムとすることができる。鍵材料取得器210は、鍵材料の全て若しくは一部を生成し、かつ/又は外部ソースから鍵材料の全て若しくは一部を取得する。例えば鍵材料取得器210は、外部ソースから公開グローバルリダクション整数256、266を受け取り、第1の秘密のセット252、262及び第2のセット254、264を生成するように適合される。後者は、全てのネットワークデバイスを固定の公開グローバルリダクション整数256、266で製造することが可能になるので、コストを減少させる。
鍵材料取得器210は、電子乱数生成器を備えてよい。乱数生成器は、真又は疑似乱数の生成器であってよい。鍵材料取得器210は、公開グローバルリダクション整数Nを、例えば電子乱数生成器を使用して生成することができる。公開グローバルリダクション整数は、公開情報であるが、ランダム性を導入することにより、システムの分析をより難しくする。
第1のセット内の各二変数多項式と、第2のセット内のリダクション整数が関連付けられる。ランダム係数は、整数環から、例えば関連するリダクション整数のような数を法とする整数から、ランダムに選択され得る。
鍵材料取得器210は、電子乱数生成器を使用して、第2の秘密セット内のリダクション整数piの1つ以上の係数を生成することができる。リダクション整数が素数であることは、必ずしも必要とされない。しかしながら、リダクション整数は、耐性を向上させるよう、素数として選択され得る。素数は、環の種類である体(field)に対して増加(上昇(rise))を与える。同じパラメータセット、すなわち、同じ第1及び第2の秘密セットと公開グローバルリダクション整数が、後に鍵を共有する必要がある全てのネットワークデバイスのために使用される。
鍵材料取得器210は、第1の秘密セット252、262内の二変数多項式fi(,)の1つ以上の係数を、例えば電子乱数生成器を使用して生成することができる。鍵材料取得器210は、このやり方で二変数多項式の全てを生成することができる。鍵材料取得器210は、これらの多項式の最大指数、例えば2又は3あるいはそれ以上を使用することができ、その指数よりもう1つのランダム係数を生成することができる。
第1の秘密セット252、262の幾つかの側面、例えば秘密セット252、262内の多項式の数及び多項式の指数若しくは最大指数等を規定することは便利である。また、例えばストレージ要件を低減するために、多項式内の係数の一部がゼロであることが規定されてもよい。
第1のセットは、2つの等しい多項式を含んでもよい。しかしながら、これは、関連するリダクション整数が異なり、セットのサイズが縮小されない限り、機能するであろう。そのため、典型的には、第1のセット内の2つ以上の二変数多項式が同じであるときはいつでも、関連するリダクション整数、すなわち基礎となる環(underlying ring)は異なる。
一実施形態では、二変数多項式(fi(,))の全ての第1の秘密セットは、対称の二変数多項式のみを備える。対称の多項式のみを使用することは、各ネットワークデバイスが、構成されたネットワークデバイスのうちの任意の他のネットワークデバイスとの共有鍵に合意することができるという利点を有する。しかしながら、二変数多項式の第1の秘密セットは、1つ以上の非対称の多項式を含むことがあり;これは、デバイスを、2つのグループに分けることができるという効果を有する:すなわち1つのグループからのデバイスのみが、第2のグループのデバイスとの共有鍵に合意することができる。
鍵材料取得器210は、数式ではfi(,)としても参照される二変数多項式の第1の秘密セット252を電子的形式で取得するように構成される。以下で説明される実施形態では、セット252内の全ての二変数多項式が対称であると想定する。第2のパラメータセットの生成が、同じ手法で行われてよい。
対称の二変数多項式は、プレースホルダとして2つの形式的変数を用いて、fi(x,y)として示されてもよい。対称の二変数多項式は、fi(x,y)=fi(y,x)を満たす。この要件は、係数に対する要件に転換でき、例えば単項式xaybの係数は、単項式xbyaの係数に等しい。
第1の秘密セット252内の多項式の数は、適用に応じて異なるように選択され得る。システムは、第1及び第2のセットが単一の多項式のみを含むときに機能することになり;そのようなシステムでは、鍵が成功裏に共有されて、穏やかなレベルのセキュリティを提供し得る。しかしながら、異なる環にわたって混合することのセキュリティ上の利点は、第1のセットがその中に少なくとも2つの多項式を有し、第2のセットが少なくとも2つの異なるリダクション整数を有するときにのみ達成される。
秘密セット252は、少なくとも1つの二変数多項式を備える。開始側の鍵共有デバイス100の実施形態では、秘密セット252は1つの多項式からなる。秘密セット252内に1つの多項式のみを持つことは、複雑性、ストレージ要件を低減し、速度を向上させる。しかしながら、秘密セット252内に1つの多項式しか持たないことは、秘密セット252内に2つ以上の多項式を持つ場合よりもセキュアでないと考えられる。というのも、そのような1つの多項式のシステムは、以下で説明される合計(summation)における追加的混合による利益を受けないからである。しかしながら、鍵共有は正しく機能することになり、低い値及び/又は低いセキュリティの適用については十分にセキュアであると考えられる。
残りの部分では、秘密セット252が、少なくとも2つの対称の二変数多項式を備えると想定することにする。実施形態では、多項式の少なくとも2つ、あるいはその全てが異なる;これは、システムの分析を大幅に複雑にする。必須ではないが、秘密セット252は2つの等しい多項式を備え、これらの2つの多項式が異なる環にわたって評価される場合は、依然として合計ステップにおける混合からの利益を得る。異なるリダクション整数は異なる環を定義することに留意されたい。実施形態において、秘密セット252は、異なる関連するリダクション整数に関連付けられる少なくとも2つの等しい多項式を備える。第1のセット内に2つ以上の等しい多項式を有することにより、ストレージ要件を下げる。一実施形態において、第2のセットは少なくとも2つの多項式を備え、第2のセット内の全ての多項式が異なる。
秘密セット252内の多項式は異なる指数のものであってよい。対称の二変数多項式の指数では、2つの変数のうちの一方の多項式の指数を意味することになる。例えばx2y2+2xy+1の指数は2に等しい。xの指数が2であるためである。多項式は、各変数で同じ指数を有するように選択されてよい;秘密セット252内の多項式が対称である場合、その指数は他の変数と同じものとなるであろう。
秘密セット252内の多項式の指数は、適用に応じて異なるように選択され得る。秘密セット252は、次数1又はそれより高い次数の少なくとも1つの対称の二変数多項式を備える。実施形態において、秘密セット252は、次数1の多項式のみを備える。秘密セット252内に1次多項式のみを持つことは、複雑性、ストレージ要件を緩和し、速度を向上させる。しかしながら、秘密セット252内に次数1の多項式しか持たないことは、秘密セット252内に次数が少なくとも2の少なくとも1つの多項式を有する場合よりもセキュアでないと考えられる。というのも、そのようなシステムは大幅により線形であるからである。そのような場合も、秘密セット252内の複数の多項式が異なる環に対して評価される場合、秘密セット252内の全ての多項式が線形である場合であっても、結果として得られる暗号化は線形でないことに留意されたい。実施形態において、秘密セット252は、次数2又はそれ以上の次数の少なくとも1つの多項式、好ましくは2つの多項式を備える。しかしながら、次数1の多項式のみが使用され、低い値及び/又は低いセキュリティの適用にとって十分にセキュアであると考えられる場合は、鍵生成、暗号化及び復号は正しく機能するであろう。
秘密セット252内に次数0の1つ以上の多項式を持つことは、より高い次数の多項式が十分なセキュリティを提供する限り、システムに影響を与えることはないであろう。
中程度のセキュリティの適用では、秘密セット252は、次数2の2つの対称の二変数多項式を備えることがあり、あるいはこれらの多項式からなることもある。より高いセキュリティの適用では、秘密セット252は、1つが次数2と、もう1つが次数2より高い、例えば次数3という、2つの対称二変数多項式を備えることがあり、あるいはこれらの多項式からなることもある。多項式の数及び/又はその次数を増やすことにより、増加するリソース消費のコストにおけるセキュリティが更に向上するであろう。
好ましくは、リダクション整数は、リダクション整数の同じセット内の任意の2つのリダクション整数の差が、公約数を有するように選択される。具体的には、公約数は2bであってよい;言い変えると、任意の2つのリダクション整数の差は少なくとも、このインスタンスから導出されることになる小さな鍵のサイズと同じくらいの大きさのゼロで終わる。
例えばリダクション整数及び公開グローバルリダクション整数を生成する1つの方法は、次の通りである。
1.最初に、例えば規定のサイズのランダム整数として、公開グローバルリダクション整数Nを生成する
2.各リダクション整数について、整数βiを生成し、リダクション整数piを差分pi=N−βi2bとして生成する。
公開グローバルリダクション整数は、(α+1)B+bビット又はそれ以上を有するように選択されてよく、ここで、αは、第1の秘密セット内の二変数多項式の単一の変数の最も高い次数である。この場合、整数βiは、βi<2Bとして選択され得る。
鍵材料取得器210は、ソフトウェア又はハードウェアで、あるいはその組合せでプログラムされ得る。鍵材料取得器210は、多項式操作のための多項式操作ユニット220とリソースを共有することができる。
ネットワークデバイスマネージャ230は、電子的形式で、ネットワークデバイス300についての識別番号310 Aを取得するように構成される。ネットワークデバイスマネージャ230は、ネットワークデバイスから識別番号を受け取ることができる。例えばネットワークデバイスマネージャ230は、ネットワークを介して識別番号を受け取るために通信ユニットを備えるか、これを使用することができる。例えばネットワークデバイスマネージャ230は、無線信号として識別番号を受け取るためのアンテナを備えることができる。識別番号を、ビット数として表すことができ、典型的には、識別番号のビット数bは、少なくとも、共有鍵のビット数と同じ大きさである。
システム200は、全てのパラメータセットについて同じ識別番号を使用してよい。しかしながら、異なるパラメータセットについて異なる識別番号を使用することも可能である。後者の場合、ネットワークデバイスマネージャ230は複数の識別番号を取得する。
多項式操作ユニット220は、パラメータセット及び識別番号Aについて、一変数秘密鍵多項式229を計算するように構成される。多項式操作ユニット220は、鍵材料取得器210のパラメータセットの各々に対して適用される。一実施形態において、多項式操作ユニットは、パラメータセットの少なくとも2つについて、あるいは各々についても、同じ識別番号を使用する。一実施形態では、多項式操作ユニットは、パラメータセットの少なくとも2つについて、あるいは全てについても、ネットワークデバイスの異なる識別番号を使用する。したがって、取得される一変数秘密鍵多項式及び対応する公開グローバルリダクション整数は、ネットワークデバイスへ送信されることになるローカル鍵材料の一部である。
多項式操作ユニット220は、鍵材料取得器210から接続238を介してパラメータセット内のデータを受け取る。以下に、多項式操作ユニット220が、一変数秘密鍵多項式を第1のパラメータセットからどのように決定するかについて説明する。他のパラメータセットからの一変数秘密鍵多項式の生成も同じ方法で行われる。
多項式操作ユニット220は、一変数秘密鍵多項式229を、以下のように計算することができる:
一変数多項式は、識別整数(identity integer)Aを、現在処理されているパラメータセットの第1の秘密セット内の多項式の各々に代入することによって取得される。二変数多項式の一方の変数のみの値を代入することによって、二変数多項式は一変数多項式へ縮小する。結果として得られる一変数多項式は、次いで、識別整数Aが代入された二変数多項式に関連付けられるリダクション整数を法として、簡約される。結果として得られる一変数多項式のセットは、例えば多項式においてyの等価累乗(equal power)の係数を追加することによって合計される。これは、
Figure 0006034998
について、
Figure 0006034998
という数式から取得され得る。
fi(x,y)は、第1の秘密セット内の二変数多項式のうちの1つであると仮定する。この多項式の係数は、環
Figure 0006034998
から取られる。すなわち、第1の秘密セット内の多項式の係数は整数環から取られる。簡潔性のために、変数x及びyを使用して、第1のセット内の整数の形式的変数を表す。
代入の後、多項式操作ユニット220はfi(A,y)を取得する。多項式操作ユニット220は更に、piを法としてこの項を簡約するように構成される。係数は、例えばpを法として簡約することにより、システムが作用する環、例えばZpにおいて簡約される。好ましくは、多項式操作ユニット220は、その結果を、正規化形式、すなわち所定の標準的な表現にする。適切な正規化形式は、単項式の次数によってソートされた係数表現である。あるいは、代入はyについてのものであってもよい。
識別番号がシステム内で「ランダム」に動作することを保証するために、チェーン内のポイントにおけるランダム化ステップにより、格子攻撃が簡単でないことを保証することが望ましい。特に、ネットワークデバイスが、特定の順序に従う識別番号、例えばシリアル番号を与えられる場合、そのようなランダム化ステップは望ましい。例えば暗号ハッシュ、例えばsha-256が識別番号に適用されてよく、その結果はBビットまで短くなる。
さらに、識別番号は、より多くのビットまで拡張されてもよい。例えばB’ビットの識別番号は、例えばハッシュ及び/又は連結(concatenation)によってBビットまで拡張されてよく、この場合B’<Bである。例えば識別番号Aは、H(A)まで、あるいはA||H(A)まで拡張されてもよく;Hはハッシュを示し、||は連結を示す。連結はLSB側で行われる。暗号ハッシュのような高度に非線形のハッシュが、この操作には好ましい。
第1のセットが対称の多項式のみを含む場合、次いで識別整数Aの代入は、二変数多項式の2つの変数のうちのいずれか一方であってよい。しかしながら、代入が非対称の多項式で行われる場合、より注意が必要となる。例えば多項式操作ユニット220は、第1のネットワークデバイス300が第1のグループであるか第2のグループであるかを得るように構成され得る。第1及び第2のグループは、二変数多項式の第1及び第2の変数にそれぞれ関連付けられる。第1のグループ内のネットワークデバイスについては、常に第1の変数が使用される。第2のグループ内のネットワークデバイスについては、常に第2の変数が使用される。
図1は、この機能を実装する1つの可能な方法を示す。図1は、代入ユニット222、多項式簡約(polynomial reduction)ユニット224、多項式加算ユニット226及び一変数多項式のセットの合計228を示しており、後者は、一変数秘密鍵多項式229になる。これらは次のように機能し得る。代入ユニット222は、識別整数Aを第1のセットの二変数多項式に代入する。代入ユニット222は、複数の項を集めて、その結果を正規化形式にしてもよいが、これは待つこともある。多項式簡約ユニット224は、代入の結果を受け取り、代入された二変数多項式に関連付けられるリダクション整数を法として、この代入結果を簡約する。
識別整数Aを特定の多項式に代入しfj(A,y)、その特定の多項式に関連付けられるリダクション整数を法として簡約した結果を、多項式加算ユニット226による合計の前に、係数のリストとして正規化形式で表す。変数yは、形式的変数として機能する。この代入は時々、簡単にfi(A,)と示される。
多項式加算ユニット226は、簡約された一変数多項式を受け取り、これらを合計228内のそれまでの合計(running total)に加算する。合計228は、一変数秘密鍵多項式の生成の前に0にリセットされている。多項式加算ユニット226は、自然演算を使用して又はパラメータセットに関連付けられる公開グローバルリダクション数を法として使用して、多項式を係数的に(coefficient-wise)加算することができる。
第1の秘密セットの全ての多項式をこの方法で処理すると、合計228内の結果を、一変数秘密鍵多項式として使用することができる。例えば合計228で、結果として得られる一変数秘密鍵多項式を、係数のリストとして正規化形式で表すことができる。
システム200が複数のインスタンスを使用する場合、すなわちシステム200が複数のパラメータセットを使用する場合、多項式操作ユニット220は、これらの各々について、一変数秘密鍵多項式を決定する。必要とされるユニット220が何らかの情報を再使用することができる場合、例えばユニット220は、同じ識別番号Aを使用して全ての一変数秘密鍵多項式を生成することができる。更なるセキュリティのために、パラメータセットは独立であり、また、好ましくは異なる識別番号を使用する。
ネットワークデバイスマネージャ230は更に、生成された一変数秘密鍵多項式229及び対応する公開グローバルリダクション整数256 Nをネットワークデバイスにおいて、電子的に格納するために構成される。一変数秘密鍵多項式229及びその1つ又は複数の識別番号を使用して、第1のネットワークデバイス300は、同じルート材料から構成される他のデバイスと鍵を共有することができる。ネットワークデバイスマネージャ230は、ネットワークデバイスにおいて、パラメータB及びbを電子的に格納するために構成されてもよい。
多項式操作ユニット220は、ソフトウェアで実装されてよいが、多項式操作ユニット220はハードウェアでの実装に特に適している。多項式簡約ユニット224がハードウェアのみを実装している場合、大幅な速度改善が得られる;システム200の機能のうち、ハードウェアバージョンのユニット224によって実施されない部分は、プロセッサのソフトウェア実行で実施されてもよい。
図1は、多項式操作ユニット220が、第1のネットワークデバイス300から識別番号232を受け取ること;第1のネットワークデバイス300が、鍵材料取得器210からの公開グローバルリダクション整数メッセージ234と、多項式操作ユニット220から一変数秘密鍵多項式メッセージ236を受け取ることを示している。これらのメッセージは典型的に、ネットワークデバイスマネージャ230を通して送受信される。一変数秘密鍵多項式メッセージ236及び公開グローバルリダクション整数メッセージ234を、単一のメッセージに組み合わせることができる。公開グローバルリダクション整数メッセージ234は、一変数秘密鍵多項式メッセージ236内の複数の一変数秘密鍵多項式に対応する、複数の公開グローバルリダクション整数を含んでよい。識別番号メッセージ232は、1つ以上の識別番号を含み得る。識別番号メッセージ232は、更に又はこれに代えて、1つ以上の更なる識別番号を含んでもよく、システム200は、例えばこれらをハッシュ処理することによって、1つ以上の更なる識別番号から1つ以上の識別番号を導出するように構成される。
構成用システム200は、第1のネットワークデバイス300について識別番号を生成することによって、識別番号を取得するように構成されることもある。そのような構成は、製造施設により良く適合する。この場合、第1のネットワークデバイス300は、識別番号メッセージ232を送信する代わりに、構成システム200から識別番号メッセージ232を受け取る、例えば鍵材料取得器210又は多項式操作ユニット220から識別番号メッセージ22を受け取る。
図2は、第1のネットワークデバイス300及び第2のネットワークデバイス350の概略的なブロック図である。第1のネットワークデバイス300及び第2のネットワークデバイス350は、一緒に共有鍵を決定するように構成される。
第2のネットワークデバイス350は、ネットワークデバイス300と同じ設計のものであってよい。第1のネットワークデバイス300についてのみ詳細に説明するが、第2のネットワークデバイス350も同じ又は同様であってよい。図2は単に、第2のネットワークデバイス350が識別番号355を格納することを図示している。第2のネットワークデバイス350の識別番号355は、公開(パブリック)であり、鍵を共有するためにネットワークデバイス300と交換され得る。第2のネットワークデバイス350は、ローカル鍵材料(図示せず)、特に識別番号355に対応する1つ以上の一変数秘密鍵多項式も必要とする。
第1のネットワークデバイス300は、電子ストレージ320、通信ユニット342、多項式操作ユニット330及び鍵導出デバイス340を備える。
ストレージ320はデバイス300のローカル鍵材料を格納する。デバイスは、ローカル鍵材料の単一のインスタンス、すなわち1つの一変数多項式、一変数秘密鍵多項式及び1つの公開グローバルリダクション整数とともに機能するよう構成され得る。図2に図示される実施形態では、デバイス300は、鍵材料の複数のセットを備え、そのうちの第1の鍵材料370及び第2の鍵材料380が図示されている。デバイス300の鍵材料は、例えばシステム200のように、鍵共有のためにネットワークデバイスを構成するためのシステムから取得されたものであってよいので、鍵材料のセットの数は2より多くてもよい。鍵材料は、一変数秘密鍵多項式及び公開グローバルリダクション整数を備える。例えば第1の鍵材料370は、一変数秘密鍵多項式372及び公開グローバルリダクション整数374を備え;第2の鍵材料380は、一変数秘密鍵多項式382及び公開グローバルリダクション整数384を備える。公開グローバルリダクション整数は、幾つかの又は全ての鍵材料の間で共有されてよい。しかしながら、秘密鍵多項式は、全てのセットにおいて異なることが好ましい。
ストレージ320は、鍵材料内の一変数秘密鍵多項式を生成するために使用された識別番号310 Aも格納する。鍵材料は、識別番号を備えることもあり、各鍵材料に異なる識別番号が使用される場合は特にそうである。
ストレージ320は、メモリ、例えばフラッシュメモリのように不揮発性で書き込み可能なメモリとすることができる。ストレージ320は、他のタイプのストレージ、例えばハードディスクのような磁気ストレージであってもよい。ストレージ320はライトワンスメモリであってもよい。
通信ユニット342は、第2のネットワークデバイス350の識別番号355を取得するように構成される。通信ユニット342は、例えばWi-Fi、Bluetooth(登録商標)又はZigbee(登録商標)接続のような有線接続として実装されてもよい。通信ユニット342は、データネットワーク、例えばインターネット上での接続で実装されてもよい。
多項式操作ユニット330は、ストレージ320内の鍵材料の各セットについて、デバイス350と共有される小さな鍵を導出するように構成される。デバイス350は、デバイス300と同じ数の鍵材料を有する。デバイス300は、デバイス350から1つ以上の識別番号を受け取ることができる。デバイス300は、更なる識別番号を受け取って、この更なる識別番号から識別番号を導出することもできる。以下に、多項式操作ユニット330が、第1の鍵材料370を使用して単一の共有鍵をどのように導出することができるかについて説明する。他の鍵材料について小さな共有鍵を導出することは、同じやり方で進む。複数の共有鍵を使用して、より大きな共有鍵を導出することができる。
多項式操作ユニット330は、代入ユニット332及び整数簡約ユニット334を備え得る。
多項式操作ユニット330は、識別整数Aを一変数秘密鍵多項式372へ代入し、公開グローバルリダクション整数374を法として代入の結果を簡約するように構成される。多項式操作ユニット330は、代入ユニット222及び多項式簡約ユニット224と同様のハードウェア又はソフトウェアを使用することができる。第1のネットワークデバイス300は、第1及び第2の秘密セットへのアクセスを有していないことに留意されたい。
任意選択として、多項式操作ユニット330は、鍵等化器(key equalizer)336を備える。デバイス300及びデバイス350が、同じ小さな共有鍵に到達しないことが起こり得る。ある適用(application)はこの可能性を無視することを選択することがある。その際、ネットワークデバイスの一部のペアが、共通の共有鍵を欠くので、暗号化及び/又は認証された通信に携わることができないことがある。一部の適用について、ネットワークデバイスの一部のペアのみがセキュアにされれば十分であり、例えばアドホックネットワークがこの例である。デバイス300及び350は、オプションの鍵等化器336を有するように構成されることもある。2つのデバイス300及び350の一方において、鍵等化器336が、生成された鍵から鍵確認データを生成し、このデータを他方のデバイスに送信し;他方のデバイスでは、鍵等化器336が、受け取った鍵確認データを使用して、双方のデバイスで導出される共有の小さな鍵が同じものとなるように、生成された小さな鍵を適合する。
例えばデバイス300内の鍵等化器336は、生成された小さな鍵の所定数の最下位ビットを、鍵確認データとして取得する。例えば所定数cは、2c≧1+2(3m+2α)となる最も小さな数として選択されてよく、ここで、αは第1の秘密セット内の多項式の次数であり、mは多項式の数である。
鍵等化器336を使用して鍵を適合させる場合、鍵等化器336は、鍵確認データに整合するまで、生成される小さな鍵を適合させる、すなわち、適合された小さな鍵から鍵確認データを導出することは、その鍵について受け取った鍵確認データと同じ結果を与えるであろう。小さな鍵を適合させることは、公開グローバルリダクション整数の倍数を加算し、2bを法として簡約することにより、すなわち、KBA+δN mod 2bにより行われ得る。最下位ビットが確認データとして使用される場合、等化器は、c個の最下位ビットが、受け取ったビットと同じになるまで倍数を加算する。
鍵導出デバイス340は、小さな鍵の全てから、すなわち、公開グローバルリダクション整数を法とする簡約の結果の全てから、共有鍵を導出するように構成される。共有鍵はいわゆる対称鍵である。簡約の結果は整数である。この結果は、例えば任意選択として等化後にその係数を連結することによって、ほぼ直接的に鍵として使用され得る。
簡約の結果から共有鍵を導出することには、鍵導出関数、例えばオープンモバイルアプライアンスのOMA DRM仕様で規定される関数KDF(OMA-TS-DRM-DRM-V2_0_2-20080723-A, section 7.1.2 KDF)及び同様の関数の適用が含まれ得る。
小さな鍵ごとに鍵確認データを送受信する代わりに、等化器は、場合によってはKDFのような鍵確認アルゴリズムの後であっても、組み立てた大きな共有鍵に対する鍵確認データを生成するように構成されることもある。この場合において、等化器は、鍵確認データを満たす大きな鍵が見つかるまで、全ての小さな鍵を同時に適合させる。複数の小さな鍵を同時に変化させることはかなりの作業であるが、小さな鍵についての直接的な情報があまり利用可能にならないので、大きな鍵に対する鍵確認データを生成することはかなりセキュアである。
図2は更に、第1のネットワークデバイス300におけるオプションの暗号ユニット345を図示している。暗号ユニット345は、共有鍵を使用するように構成される。例えば暗号ユニット345は、共有の対称鍵を用いて電子メッセージを暗号化するために構成される暗号化ユニットであってよい。例えば暗号ユニット345は、共有の対称鍵を用いて電子メッセージを復号するために構成される復号ユニットであってよい。
図3aは、鍵共有システム100の概略的なブロックである。
鍵共有システム100は、構成用システム200及び複数のネットワークデバイスを備え;複数のネットワークデバイスとして図示されているのは、ネットワークデバイス300、350及び360である。ネットワークデバイスはそれぞれ、識別番号、一変数秘密鍵多項式及びグローバルリダクション整数を構成用システム200から受け取る。この情報を使用して、これらのネットワークデバイスは、共有鍵に合意することができる。例えば第1のネットワークデバイス300及び第2のネットワークデバイス350はそれぞれ、その識別番号を他のパーティへ送信する。第1のネットワークデバイス300及び第2のネットワークデバイス350は次いで、複数の小さな共有鍵を計算することができ、この小さな共有鍵は大きな共有鍵へと組み合わせる。第1のネットワークデバイス300と第2のネットワークデバイス350との間の通信について知識及び更にはグローバルリダクション整数についての知識を有する者であっても、膨大な量のリソースを使用することなく、その共有鍵を取得することはできない。デバイス360さえも、デバイス300と350との間で共有される鍵を導出することができない。
図3bは、同様の鍵共有システム102の概略的なブロック図である。システム102は、ネットワークデバイスが、その識別番号を個人化デバイスとも呼ばれる構成サーバ110から受け取る点を除いてシステム100と同じである。ネットワークデバイスは次いで、その識別番号を送信することによって、構成用システム200に登録する。デバイス30さえも、デバイス300と350との間で共有される鍵を導出することができない。
構成サーバ110は、他の目的にも使用される識別番号を割り当てることができる。例えば構成サーバ110は、MACアドレスのようなネットワークアドレスを割り当てることができる。ネットワークアドレスは、ネットワークトラフィックを第2のネットワークノードからネットワークノード自身へルーティングするために、ネットワークノードによって使用される。しかしながら、ネットワークアドレスは、識別番号と重複することもある。この場合、ネットワークノードは、そのネットワークアドレスをシステム200に対して利用可能にし、ネットワークノードがそのネットワークアドレスを識別番号として使用して暗号化通信に関与することを可能にする、一変数秘密鍵多項式を受け取る。識別番号は完全エントロピー(full entropy)、すなわちBビットのエントロピーを有することが好ましい。しかしながら、これを実現することができないときは、番号(数)を識別番号として使用する前に、エントロピー平滑化関数(entropy smoothing function)、例えばハッシュ関数を実行することが好ましい。
構成サーバ110は、近い識別番号を避けることにより、すなわち、最上位ビットの多く又は全てを共有する識別番号を避けることにより、システムのセキュリティを向上させるように識別番号を生成することができる。例えばサーバ110は識別番号をランダムに、例えば真性乱数又は疑似乱数を生成することができる。これは、所定数の乱数ビット、例えば10ビットを識別番号に付加することにも十分である。識別番号は、形式A1||A2を有し、この場合、A1は乱数ではなく、例えばシリアル番号、ネットワークアドレス又は同様のものであり、A2は乱数である。A2は、乱数生成器によって生成され得る。A2は、A1をハッシュ処理することによって生成されてもよい。鍵形成ハッシュ(keyed hash)、例えばHMACが使用される場合、次いでA2は、その鍵に対するアクセスを有しないパーティに対しては、乱数から区別できない。鍵は、サーバ110によって生成されて格納され得る。
サーバ110は、システム200内に含まれてよく、例えばネットワークデバイスマネージャ230内に組み込まれてよい。
図4は、集積回路400の概略的なブロック図である。集積回路400は、プロセッサ420、メモリ430及びI/Oユニット440を備える。集積回路400のこれらのユニットは、バス等の相互接続410を通して相互間で通信することができる。プロセッサ420は、本明細書で説明されるような方法を実行するために、メモリ430内に格納されるソフトウェアを実行するように構成される。このようにして、集積回路400は、構成用システム200として、あるいは第1のネットワークデバイス300のようなネットワークデバイスとして構成されてよく;メモリ430の一部は、必要に応じて公開グローバルリダクション整数、二変数多項式の第1の秘密のセット、リダクション整数の第2の秘密セット、識別番号、平文メッセージ及び/又は暗号化されたメッセージを格納することができる。
I/Oユニット440は、例えば二変数多項式の第1の秘密セット252、場合によってはサイズや指数、モジュライ等のような関連するパラメータ等のような鍵データを受け取るために、デバイス200又は300のような他のデバイスとの通信に使用されてよい。I/Oユニット440は、無線通信用のアンテナを備えてよい。I/Oユニット440は、有線通信用の電気インタフェースを備えてもよい。
集積回路400は、コンピュータやモバイル通信デバイス、例えばモバイルフォン等に一体化されてよい。集積回路400は、照明デバイスに一体化されてもよく、例えばLEDデバイスとともに配置されてもよい。例えばネットワークデバイス300として構成され、LEDのような照明ユニットとともに配置される集積回路400は、共有の対称鍵で暗号化されたコマンドを受け取ることができる。
例えば照明デバイスに組み込まれる複数のネットワークデバイスは、暗号化されたネットワークのノードを形成することができ、このネットワーク内では、リンクはノード間の共有鍵を使用して暗号化される。
多項式操作は、メモリ430内に格納される多項式操作ソフトウェアによって指示されるとおりに、プロセッサ420によって実行され得るが、集積回路400がオプションの多項式操作ユニット450とともに構成される場合、鍵生成及び一変数多項式の計算というタスクはより早い。この実施形態において、多項式操作ユニット450は、代入及び簡約演算を実行するためのハードウェアユニットである。
典型的に、デバイス200及び300はそれぞれ、デバイス200及び300に格納される適切なソフトウェアを実行するマイクロプロセッサ(図示せず)を備え;例えばこのソフトウェアは、例えばRAMのようは揮発性メモリ又はフラッシュ(図示せず)のような不揮発性のメモリのような、対応するメモリ内にダウンロード及び/又は格納されている。あるいは、デバイス200及び300は、全体又は部分的に、例えばフィールドプログラマブルゲートアレイ(FPGA)としてプログラム可能ロジックで実装されてもよい。
図5は、bビットの長さの鍵を共有するためにネットワークデバイス、例えば第1のネットワークデバイス300を構成する方法500を例示するフローチャートを図示している。方法500は以下のステップを備える。
公開グローバルリダクション整数256 N、二変数多項式の第1の秘密セット252 fi(,)及びリダクション整数の第2の秘密セット254を電子的形式で取得するステップ502。第1のセット内の各二変数多項式と、第2のセットのリダクション整数が関連付けられる。ステップ502は鍵材料を取得することの一部であってよい。
ネットワークデバイスについての識別番号310 Aを電子的形式で取得するステップ504。識別番号は、Bビットの長さであり、B>bである。
第1の秘密セットの各特定の多項式について、識別番号Aをその特定の多項式に代入しfi(A,)508、その特定の多項式に関連付けられるリダクション整数を法として簡約すること510により、一変数多項式のセットを取得することと、
例えば残りの形式的変数の等価累乗の係数を加算することによって、一変数多項式のセットを合計することと512、
によって、第1及び第2の秘密セットから一変数秘密鍵多項式229を計算するステップ506。
生成された一変数秘密鍵多項式229及び公開グローバルリダクション整数256 Nをネットワークデバイスにおいて格納するステップ514。
図6は、ネットワークデバイス350との、サイズbの共有鍵を決定する方法600を例示するフローチャートを図示している。方法600は以下のステップを備える。
本明細書で説明されるように、鍵共有のためにネットワークデバイスを構成するためのシステムから取得される、一変数秘密鍵多項式372及び公開グローバルリダクション整数374 Nを格納するステップ602。
第1のネットワークデバイスの識別番号310 Aを格納するステップ604。第1の識別番号は、Bビットの長さであり、B>bである。
第2のネットワークデバイスの識別番号355を取得するステップ606。第2のネットワークデバイスの識別番号355は、Bビットの長さであり、B>bである。
第2の識別整数を一変数多項式に代入するステップ608、公開グローバルリダクション整数(N)を法として代入の結果を簡約するステップ610、公開グローバルリダクション整数(N)を法とする簡約の結果を、2bを法として更に簡約するステップ。
2bを法とする簡約の結果から共有鍵を導出するステップ612。
当業者には明らかであるように、本発明を実行する多くの異なる方法が可能である。例えばステップの順序を変更することができ、あるいは一部のステップを並列に実行してもよい。さらに、ステップの間に、他の方法のステップを挿入してもよい。挿入されたステップは、本明細書で説明されるような方法の改善を表すことがあり、あるいは方法とは未関連であってもよい。さらに、所与のステップは、次のステップが開始される前に必ずしも完全に終了しなくてもよい。
本発明に係る方法は、プロセッサシステムに方法500及び/又は600を実行させるための命令を備えるソフトウェアを使用して実行され得る。ソフトウェアは、システムの特定のサブエンティティによって行われるこれらのステップのみを含んでもよい。ソフトウェアは、ハードディスク、フロッピー、メモリ等のような適切な記憶媒体に格納され得る。ソフトウェアは、有線又は無線によって、あるいは例えばインターネットのようなデータネットワークを使用して信号として送信されてもよい。ソフトウェアは、ダウンロード及び/又はサーバ上でのリモート使用に利用可能にされ得る。
認識されるように、本発明は、コンピュータプログラム、特に本発明を実践に移すように適合される担体上又は担体内のコンピュータプログラムにも及ぶ。プログラムは、部分的にコンパイルされる形態のようなソースコード、オブジェクトコード、コード中間ソース及びオブジェクトコードの形態、あるいは本発明に係る方法の実装における使用に適した他の形態であってよい。コンピュータプログラム製品に関する実施形態は、説明される方法の少なくとも1つの処理ステップの各々に対応するコンピュータ実行可能命令を備える。これらの命令は、サブルーチンに細分され得るか、かつ/又は静的若しくは動的にリンクされ得る1つ以上のファイルに格納され得る。コンピュータプログラム製品に関する別の実施形態は、説明されるシステム及び/又は製品の少なくとも1つについての手段の各々に対応するコンピュータ実行可能命令を備える。
上述の実施形態は、本発明を限定するものではなく例示であり、当業者は、多くの代替的な実施形態を設計することが可能であろうことに留意されたい。
特許請求の範囲において、括弧内に配置される任意の参照符号は、請求項を限定するものとして解釈されるべきではない。「備える(comprise)」という動詞及びその派生語の使用は、請求項に記載されるもの以外の要素又はステップの存在を除外しない。ある要素に先行する「a」、「an」という冠詞は、そのような要素の複数の存在を除外しない。本発明は、幾つかの個別の要素を備えるハードウェアによって、及び適切にプログラムされるコンピュータによって実装され得る。幾つかの手段を列挙するデバイスの請求項において、これらの要素の幾つかは、ハードウェアの1つ及び同じアイテムで具現化されてよい。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せを有利に使用することができないことを示唆するものではない。
100,102 鍵共有システム
110 個人化デバイス
200 鍵共有のためにネットワークデバイスを構成するためのシステム
210 鍵材料取得器
220 多項式操作ユニット
222 代入ユニット
224 多項式簡約ユニット
226 多項式加算ユニット
228 一変数多項式のセットの合計
229 一変数秘密鍵多項式
230 ネットワークデバイスマネージャ
232 識別番号メッセージ
234 公開グローバルリダクション整数メッセージ
236 一変数秘密鍵多項式メッセージ
250 第1のパラメータセット
252 二変数多項式の第1の秘密セット
254 リダクション整数の第2の秘密セット
256 公開グローバルリダクション整数
260 第2のパラメータセット
262 二変数多項式の第1の秘密セット
264 リダクション整数の第2の秘密セット
266 公開グローバルリダクション整数
300 第1のネットワークデバイス
310 識別番号
320 電子ストレージ
330 多項式操作ユニット
332 代入ユニット
334 整数簡約ユニット
336 鍵等化器
340 鍵導出デバイス
342 通信ユニット
345 暗号ユニット
350 第2のネットワークデバイス
355 識別番号
360 第3のネットワークデバイス
370 第1の鍵材料
372 一変数秘密鍵多項式
374 公開グローバルリダクション整数
380 第2の鍵材料
382 一変数秘密鍵多項式
384 公開グローバルリダクション整数
400 集積回路
410 相互接続
420 プロセッサ
430 メモリ
440 I/Oユニット
450 多項式操作ユニット

Claims (14)

  1. 共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するためのシステムであって、前記の共有鍵は、bビットの長さであり、当該システムは:
    電子的形式で二変数多項式の第1の秘密セット及びリダクション整数の第2の秘密セットを取得するための鍵材料取得器であって、第1のセット内の各二変数多項式と、第2のセット内のリダクション整数に関連付けがあり、かつ公開グローバルリダクション整数を取得し、前記公開グローバルリダクション整数は、少なくとも(α+1)B+bビットを有し、αは、前記第1の秘密セット内の前記二変数多項式の単一の変数における最も高い次数であり、各秘密リダクション整数は、βi<2Bである整数βiについて、pi=N−βi2bを満たす、鍵材料取得器と、
    電子的形式で前記ネットワークデバイスの識別番号を取得するためのネットワークデバイスマネージャであって、前記識別番号はBビットの長さであり、B>bである、ネットワークデバイスマネージャと、
    前記第1の秘密セットの各特定の多項式について、前記識別番号を前記特定の多項式に代入し、前記特定の多項式に関連付けられる前記リダクション整数を法として簡約することにより、一変数多項式のセットを取得することと、
    前記一変数多項式のセットを合計することと、
    によって、前記第1及び第2の秘密セットから前記ネットワークデバイスについての一変数秘密鍵多項式を計算するための多項式操作ユニットと、
    を備え、
    前記ネットワークデバイスマネージャは、生成される一変数秘密鍵多項式及び前記公開グローバルリダクション整数を前記ネットワークデバイスにおいて電子的に格納するために更に構成され、
    前記組合せの鍵は複数の共有鍵から導出される、
    システム。
  2. Bはbの倍数である、
    請求項1に記載のシステム。
  3. 共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するため、
    前記鍵材料取得器は、二変数多項式の複数の第1の秘密セットを取得するように構成され、複数の第1のセットのうちのある第1のセット内の各二変数多項式と、第2の秘密セットのリダクション整数に関連付けがあり、
    前記多項式操作ユニットは、
    前記複数の第1の秘密セットのうちの各第1の秘密セットについて、
    前記第1の秘密セットの各特定の多項式について、識別番号を前記特定の多項式に代入し、前記特定の多項式に関連付けられるリダクション整数を法として簡約することにより、二変数多項式のセットを取得することと、
    前記二変数多項式のセットを合計することと、
    によって、前記複数の第1の秘密セットから複数の一変数秘密鍵多項式を計算するように構成され、
    前記ネットワークデバイスマネージャは、複数の生成される一変数秘密鍵多項式を前記ネットワークデバイスにおいて電子的に格納するために更に構成される、
    請求項1又は2に記載のシステム。
  4. 共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するため、
    前記鍵材料取得器は、リダクション整数の複数の第2の秘密セットを取得するように構成され、複数の第1のセットの各第1のセットと、複数の第2のセットのうちのある第2のセットに関連付けがあり、前記複数の第1のセットのうちのある第1のセット内の各二変数多項式と、前記複数の第2のセットのうちの関連付けられる第2のセットのリダクション整数に関連付けがあり、
    前記多項式操作ユニットは、前記第1のセットに関連付けられる第2のセットから、前記特定の多項式に関連付けられるリダクション整数を法として簡約するために構成される、
    請求項1又は3に記載のシステム。
  5. 共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するため、
    前記鍵材料取得器は、電子的形式で複数の公開グローバルリダクション整数を取得するように構成され、複数の第1のセットの各第1のセットと、複数の公開グローバルリダクション整数のうちのある公開グローバルリダクション整数に関連付けがあり、前記ネットワークデバイスマネージャは、複数の生成される公開グローバルリダクション整数を前記ネットワークデバイスにおいて電子的に格納するために更に構成される、
    請求項1、3又は4に記載のシステム。
  6. 第2のネットワークデバイスとの共有の組合せの鍵を決定するように構成される第1のネットワークデバイスであって、前記組合せの鍵は、複数の共有鍵から導出され、前記共有鍵はbビットの長さであり、当該第1のネットワークデバイスは、
    請求項1に記載の鍵共有のためにネットワークデバイスを構成するためのシステムから取得される、一変数秘密鍵多項式及び公開グローバルリダクション整数を格納する電子ストレージであって、該ストレージは、前記一変数秘密鍵多項式を生成するために使用される当該第1のネットワークデバイスについての第1の識別番号を更に格納し、前記第1の識別番号はBビットの長さであり、B>bである、電子ストレージと、
    前記第2のネットワークデバイスの第2の識別番号を取得するための通信ユニットであって、前記第2の識別番号はBビットの長さであり、B>bであり、前記第2のネットワークデバイスは当該第1のネットワークデバイスとは異なる、通信ユニットと、
    多項式操作ユニットであって、
    第2の識別整数を前記一変数秘密鍵多項式に代入し、
    前記公開グローバルリダクション整数を法として前記代入の結果を簡約し、
    前記公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約する
    ための多項式操作ユニットと、
    を備える、第1のネットワークデバイス。
  7. 前記電子ストレージは、請求項1に記載の鍵共有のためにネットワークデバイスを構成するためのシステムから取得される、複数の一変数秘密鍵多項式を格納するように構成され、
    多項式操作ユニットは、
    前記複数の一変数秘密鍵多項式内の各一変数秘密鍵多項式ごとに、
    第2の識別整数を前記一変数秘密鍵多項式に代入することと、
    公開グローバルリダクション整数を法として前記代入の結果を簡約することと、
    前記公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約することと、
    によって、前記複数の一変数秘密鍵多項式から複数の小さな共有鍵を取得するように構成され、
    前記複数の小さな共有鍵から組合せの共有鍵を導出するための鍵導出デバイスを備える、
    請求項6に記載の第1のネットワークデバイス。
  8. 前記電子ストレージは、複数の公開グローバルリダクション整数を格納するように構成され、前記複数の一変数秘密鍵多項式の各一変数秘密鍵多項式と、前記複数の公開グローバルリダクション整数のうちのある公開グローバルリダクション整数に関連付けがあり、
    前記多項式操作ユニットは、
    前記一変数秘密鍵多項式に関連付けられる前記公開グローバルリダクション整数を法として、前記代入の結果を簡約するために構成される、
    請求項7に記載の第1のネットワークデバイス。
  9. 前記電子ストレージは、当該第1のネットワークデバイスについての複数の識別番号を格納し、
    通信ユニットが、前記第2のネットワークデバイスの複数の識別番号を取得するために構成され、前記複数の一変数秘密鍵多項式の各一変数秘密鍵多項式と、前記複数の識別番号のうちのある識別番号に関連付けがあり、
    前記多項式操作ユニットは、
    前記複数の一変数秘密鍵多項式内の各一変数秘密鍵多項式ごとに、
    サイズbiの小さな共有鍵を生成することであって、該鍵のサイズは、前記一変数秘密鍵多項式に関連付けられる前記識別番号のサイズよりも小さいことと、
    識別整数を前記一変数秘密鍵多項式に代入することと、
    公開グローバルリダクション整数を法として前記代入の結果を簡約することと、
    前記公開グローバルリダクション整数を法として簡約した結果を、2biを法として更に簡約することと、
    によって、前記複数の一変数秘密鍵多項式から複数の小さな共有鍵を取得するように構成される、
    請求項7又は8に記載の第1のネットワークデバイス。
  10. 共有鍵についての鍵確認データを計算し、該鍵確認データを前記第2のネットワークデバイスに送信するように構成され、かつ/又は
    前記第2のネットワークデバイスから鍵確認データを受け取り、該受け取った鍵確認データに整合するよう小さな鍵を適合させるように構成される、
    鍵等化器
    を備える、請求項7、8又は9に記載の第1のネットワークデバイス。
  11. 請求項1に記載の鍵共有のためにネットワークデバイスを構成するためのシステムと、鍵共有のためにネットワークデバイスを構成するための前記システムによって構成される第1及び第2のネットワークデバイスとを備える、鍵共有システム。
  12. 共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するための方法であって、当該方法は:
    電子的形式で、公開グローバルリダクション整数と、二変数多項式の第1の秘密セットと、リダクション整数の第2の秘密セットとを取得するステップであって、第1のセット内の各二変数多項式と、第2のセット内のリダクション整数に関連付けがあり、前記公開グローバルリダクション整数は、少なくとも(α+1)B+bビットを有し、αは、前記第1の秘密セット内の前記二変数多項式の単一の変数における最も高い次数であり、各秘密リダクション整数は、βi<2Bである整数βiについて、pi=N−βi2bを満たす、ステップと、
    電子的形式で、前記ネットワークデバイスの識別番号を取得するステップであって、前記識別番号は、Bビットの長さであり、B>bである、ステップと、
    前記第1の秘密セットの各特定の多項式について、識別整数を前記特定の多項式に代入し、前記特定の多項式に関連付けられる前記リダクション整数を法として簡約することにより、一変数多項式のセットを取得することと、
    前記一変数多項式のセットを合計することと、
    によって、前記第1及び第2の秘密セットから一変数秘密鍵多項式を計算するステップと、
    生成される一変数秘密鍵多項式及び前記公開グローバルリダクション整数を、前記ネットワークデバイスにおいて格納するステップと、
    複数の共有鍵から前記組合せの鍵を導出するステップと、
    を備える、方法。
  13. 第2のネットワークデバイスとの共有の組合せの鍵を決定するための方法であって、当該方法は、
    サイズbの複数の共有鍵から前記組合せの鍵を導出するステップと、
    請求項1に記載の鍵共有のためにネットワークデバイスを構成するためのシステムから取得される、一変数秘密鍵多項式及び公開グローバルリダクション整数を格納することと、
    第1のネットワークデバイスの第1の識別番号を格納することであって、前記第1の識別番号はBビットの長さであり、B>bである、第1の識別番号を格納することと、
    前記第2のネットワークデバイスの第2の識別番号を取得することであって、前記第2の識別番号はBビットの長さであり、B>bである、第2の識別番号を取得することと、
    第2の識別整数を前記一変数秘密鍵多項式に代入し、前記公開グローバルリダクション整数を法として前記代入の結果を簡約し、前記公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約することと、
    によって、サイズbの共有鍵を決定するステップと、
    を備える、方法。
  14. コンピュータ読取可能媒体上で具現化されるコンピュータプログラムであって、当該コンピュータプログラムがコンピュータにおいて実行されると、請求項12及び13のいずれか一項に記載のステップの全てを実行するように適合されるコンピュータプログラムコード手段を備える、コンピュータプログラム。
JP2016533069A 2013-11-21 2014-11-18 暗号鍵を共有するためのシステム Expired - Fee Related JP6034998B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13193839.1 2013-11-21
EP13193839 2013-11-21
PCT/EP2014/074841 WO2015075012A1 (en) 2013-11-21 2014-11-18 System for sharing a cryptographic key

Publications (2)

Publication Number Publication Date
JP6034998B1 true JP6034998B1 (ja) 2016-11-30
JP2017503382A JP2017503382A (ja) 2017-01-26

Family

ID=49639759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016533069A Expired - Fee Related JP6034998B1 (ja) 2013-11-21 2014-11-18 暗号鍵を共有するためのシステム

Country Status (5)

Country Link
US (1) US20160301526A1 (ja)
EP (1) EP3072256A1 (ja)
JP (1) JP6034998B1 (ja)
CN (1) CN105723647A (ja)
WO (1) WO2015075012A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105636044A (zh) * 2016-03-09 2016-06-01 佛山市黑盒子科技有限公司 一种针对低速率无线网络的身份认证方法
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
CN113765657B (zh) 2017-08-28 2023-10-24 创新先进技术有限公司 一种密钥数据处理方法、装置及服务器
US11128454B2 (en) 2019-05-30 2021-09-21 Bong Mann Kim Quantum safe cryptography and advanced encryption and key exchange (AEKE) method for symmetric key encryption/exchange
CN110705985B (zh) * 2019-10-21 2020-09-29 北京海益同展信息科技有限公司 用于存储信息的方法和装置
US11870914B2 (en) * 2020-09-04 2024-01-09 Nchain Licensing Ag Digital signatures

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011521136A (ja) * 2007-12-19 2011-07-21 ユナイテッド テクノロジーズ コーポレイション エンジン洗浄用の汚水回収ユニット
JP2012523519A (ja) * 2009-04-08 2012-10-04 ヨアヴ・コーエン 環境熱エネルギーを有用なエネルギーに変換するよう設計された装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8189791B2 (en) * 2006-06-22 2012-05-29 Koninklijke Philips Electronics N.V. Hierarchical deterministic pairwise key predistribution scheme
US8495373B2 (en) * 2008-10-20 2013-07-23 Koninklijke Philips N.V. Method of generating a cryptographic key, network and computer program therefor
US9077520B2 (en) * 2009-03-19 2015-07-07 Koninklijke Philips N.V. Method for secure communication in a network, a communication device, a network and a computer program therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011521136A (ja) * 2007-12-19 2011-07-21 ユナイテッド テクノロジーズ コーポレイション エンジン洗浄用の汚水回収ユニット
JP2012523519A (ja) * 2009-04-08 2012-10-04 ヨアヴ・コーエン 環境熱エネルギーを有用なエネルギーに変換するよう設計された装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6013038882; 松本勉,井上信吾: 'Key Predistribution Systemsに基づく集積型暗号鍵管理方式' 電子情報通信学会技術研究報告 Vol.97 No.380, 19971119, p.41-77 *
JPN6016038135; GARCIA-MORCHON, G. et al.: 'An ultra-lightweight ID-based pairwise key establishment scheme aiming at full collusion resistance' Cryptology ePrint Archive Report 2012/618 Ver.20130701:150245, 20130701, [online] *

Also Published As

Publication number Publication date
US20160301526A1 (en) 2016-10-13
WO2015075012A1 (en) 2015-05-28
JP2017503382A (ja) 2017-01-26
CN105723647A (zh) 2016-06-29
EP3072256A1 (en) 2016-09-28

Similar Documents

Publication Publication Date Title
JP6559774B2 (ja) 鍵共有のために設けられた暗号システム
JP6034998B1 (ja) 暗号鍵を共有するためのシステム
JP5755391B2 (ja) 鍵共有デバイス、及び鍵共有デバイスを構成するためのシステム
JP2017519457A (ja) 共有鍵を決定するためのデバイス
JP6067932B2 (ja) 鍵共有デバイス及び方法
JP6190470B2 (ja) 鍵共有ネットワークデバイス及びその構成
US20160156470A1 (en) System for sharing a cryptographic key
WO2017167771A1 (en) Handshake protocols for identity-based key material and certificates
JP2011523519A (ja) 暗号手段を配布するための方法
US20150134960A1 (en) Determination of cryptographic keys
WO2017025597A1 (en) Key sharing device and method
Mansour et al. Evaluation of different cryptographic algorithms on wireless sensor network nodes

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20160520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160520

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160520

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161028

R150 Certificate of patent or registration of utility model

Ref document number: 6034998

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees