(57)【特許請求の範囲】
【請求項１】
共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するためのシステムであって、前記の共有鍵は、bビットの長さであり、当該システムは：
電子的形式で二変数多項式の第１の秘密セット及びリダクション整数の第２の秘密セットを取得するための鍵材料取得器であって、第１のセット内の各二変数多項式と、第２のセット内のリダクション整数に関連付けがあり、かつ公開グローバルリダクション整数を取得し、前記公開グローバルリダクション整数は、少なくとも(α＋1)B＋bビットを有し、αは、前記第１の秘密セット内の前記二変数多項式の単一の変数における最も高い次数であり、各秘密リダクション整数は、βi＜2Bである整数βiについて、pi＝N−βi2bを満たす、鍵材料取得器と、
電子的形式で前記ネットワークデバイスの識別番号を取得するためのネットワークデバイスマネージャであって、前記識別番号はBビットの長さであり、B＞bである、ネットワークデバイスマネージャと、
前記第１の秘密セットの各特定の多項式について、前記識別番号を前記特定の多項式に代入し、前記特定の多項式に関連付けられる前記リダクション整数を法として簡約することにより、一変数多項式のセットを取得することと、
前記一変数多項式のセットを合計することと、
によって、前記第１及び第２の秘密セットから前記ネットワークデバイスについての一変数秘密鍵多項式を計算するための多項式操作ユニットと、
を備え、
前記ネットワークデバイスマネージャは、生成される一変数秘密鍵多項式及び前記公開グローバルリダクション整数を前記ネットワークデバイスにおいて電子的に格納するために更に構成され、
前記組合せの鍵は複数の共有鍵から導出される、
システム。
【請求項２】
Bはbの倍数である、
請求項１に記載のシステム。
【請求項３】
共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するため、
前記鍵材料取得器は、二変数多項式の複数の第１の秘密セットを取得するように構成され、複数の第１のセットのうちのある第１のセット内の各二変数多項式と、第２の秘密セットのリダクション整数に関連付けがあり、
前記多項式操作ユニットは、
前記複数の第１の秘密セットのうちの各第１の秘密セットについて、
前記第１の秘密セットの各特定の多項式について、識別番号を前記特定の多項式に代入し、前記特定の多項式に関連付けられるリダクション整数を法として簡約することにより、二変数多項式のセットを取得することと、
前記二変数多項式のセットを合計することと、
によって、前記複数の第１の秘密セットから複数の一変数秘密鍵多項式を計算するように構成され、
前記ネットワークデバイスマネージャは、複数の生成される一変数秘密鍵多項式を前記ネットワークデバイスにおいて電子的に格納するために更に構成される、
請求項１又は２に記載のシステム。
【請求項４】
共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するため、
前記鍵材料取得器は、リダクション整数の複数の第２の秘密セットを取得するように構成され、複数の第１のセットの各第１のセットと、複数の第２のセットのうちのある第２のセットに関連付けがあり、前記複数の第１のセットのうちのある第１のセット内の各二変数多項式と、前記複数の第２のセットのうちの関連付けられる第２のセットのリダクション整数に関連付けがあり、
前記多項式操作ユニットは、前記第１のセットに関連付けられる第２のセットから、前記特定の多項式に関連付けられるリダクション整数を法として簡約するために構成される、
請求項１又は３に記載のシステム。
【請求項５】
共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するため、
前記鍵材料取得器は、電子的形式で複数の公開グローバルリダクション整数を取得するように構成され、複数の第１のセットの各第１のセットと、複数の公開グローバルリダクション整数のうちのある公開グローバルリダクション整数に関連付けがあり、前記ネットワークデバイスマネージャは、複数の生成される公開グローバルリダクション整数を前記ネットワークデバイスにおいて電子的に格納するために更に構成される、
請求項１、３又は４に記載のシステム。
【請求項６】
第２のネットワークデバイスとの共有の組合せの鍵を決定するように構成される第１のネットワークデバイスであって、前記組合せの鍵は、複数の共有鍵から導出され、前記共有鍵はbビットの長さであり、当該第１のネットワークデバイスは、
請求項１に記載の鍵共有のためにネットワークデバイスを構成するためのシステムから取得される、一変数秘密鍵多項式及び公開グローバルリダクション整数を格納する電子ストレージであって、該ストレージは、前記一変数秘密鍵多項式を生成するために使用される当該第１のネットワークデバイスについての第１の識別番号を更に格納し、前記第１の識別番号はBビットの長さであり、B＞bである、電子ストレージと、
前記第２のネットワークデバイスの第２の識別番号を取得するための通信ユニットであって、前記第２の識別番号はBビットの長さであり、B＞bであり、前記第２のネットワークデバイスは当該第１のネットワークデバイスとは異なる、通信ユニットと、
多項式操作ユニットであって、
第２の識別整数を前記一変数秘密鍵多項式に代入し、
前記公開グローバルリダクション整数を法として前記代入の結果を簡約し、
前記公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約する
ための多項式操作ユニットと、
を備える、第１のネットワークデバイス。
【請求項７】
前記電子ストレージは、請求項１に記載の鍵共有のためにネットワークデバイスを構成するためのシステムから取得される、複数の一変数秘密鍵多項式を格納するように構成され、
多項式操作ユニットは、
前記複数の一変数秘密鍵多項式内の各一変数秘密鍵多項式ごとに、
第２の識別整数を前記一変数秘密鍵多項式に代入することと、
公開グローバルリダクション整数を法として前記代入の結果を簡約することと、
前記公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約することと、
によって、前記複数の一変数秘密鍵多項式から複数の小さな共有鍵を取得するように構成され、
前記複数の小さな共有鍵から組合せの共有鍵を導出するための鍵導出デバイスを備える、
請求項６に記載の第１のネットワークデバイス。
【請求項８】
前記電子ストレージは、複数の公開グローバルリダクション整数を格納するように構成され、前記複数の一変数秘密鍵多項式の各一変数秘密鍵多項式と、前記複数の公開グローバルリダクション整数のうちのある公開グローバルリダクション整数に関連付けがあり、
前記多項式操作ユニットは、
前記一変数秘密鍵多項式に関連付けられる前記公開グローバルリダクション整数を法として、前記代入の結果を簡約するために構成される、
請求項７に記載の第１のネットワークデバイス。
【請求項９】
前記電子ストレージは、当該第１のネットワークデバイスについての複数の識別番号を格納し、
通信ユニットが、前記第２のネットワークデバイスの複数の識別番号を取得するために構成され、前記複数の一変数秘密鍵多項式の各一変数秘密鍵多項式と、前記複数の識別番号のうちのある識別番号に関連付けがあり、
前記多項式操作ユニットは、
前記複数の一変数秘密鍵多項式内の各一変数秘密鍵多項式ごとに、
サイズbiの小さな共有鍵を生成することであって、該鍵のサイズは、前記一変数秘密鍵多項式に関連付けられる前記識別番号のサイズよりも小さいことと、
識別整数を前記一変数秘密鍵多項式に代入することと、
公開グローバルリダクション整数を法として前記代入の結果を簡約することと、
前記公開グローバルリダクション整数を法として簡約した結果を、2biを法として更に簡約することと、
によって、前記複数の一変数秘密鍵多項式から複数の小さな共有鍵を取得するように構成される、
請求項７又は８に記載の第１のネットワークデバイス。
【請求項１０】
共有鍵についての鍵確認データを計算し、該鍵確認データを前記第２のネットワークデバイスに送信するように構成され、かつ／又は
前記第２のネットワークデバイスから鍵確認データを受け取り、該受け取った鍵確認データに整合するよう小さな鍵を適合させるように構成される、
鍵等化器
を備える、請求項７、８又は９に記載の第１のネットワークデバイス。
【請求項１１】
請求項１に記載の鍵共有のためにネットワークデバイスを構成するためのシステムと、鍵共有のためにネットワークデバイスを構成するための前記システムによって構成される第１及び第２のネットワークデバイスとを備える、鍵共有システム。
【請求項１２】
共有鍵を共有して組合せの鍵を取得するようネットワークデバイスを構成するための方法であって、当該方法は：
電子的形式で、公開グローバルリダクション整数と、二変数多項式の第１の秘密セットと、リダクション整数の第２の秘密セットとを取得するステップであって、第１のセット内の各二変数多項式と、第２のセット内のリダクション整数に関連付けがあり、前記公開グローバルリダクション整数は、少なくとも(α＋1)B＋bビットを有し、αは、前記第１の秘密セット内の前記二変数多項式の単一の変数における最も高い次数であり、各秘密リダクション整数は、βi＜2Bである整数βiについて、pi＝N−βi2bを満たす、ステップと、
電子的形式で、前記ネットワークデバイスの識別番号を取得するステップであって、前記識別番号は、Bビットの長さであり、B＞bである、ステップと、
前記第１の秘密セットの各特定の多項式について、識別整数を前記特定の多項式に代入し、前記特定の多項式に関連付けられる前記リダクション整数を法として簡約することにより、一変数多項式のセットを取得することと、
前記一変数多項式のセットを合計することと、
によって、前記第１及び第２の秘密セットから一変数秘密鍵多項式を計算するステップと、
生成される一変数秘密鍵多項式及び前記公開グローバルリダクション整数を、前記ネットワークデバイスにおいて格納するステップと、
複数の共有鍵から前記組合せの鍵を導出するステップと、
を備える、方法。
【請求項１３】
第２のネットワークデバイスとの共有の組合せの鍵を決定するための方法であって、当該方法は、
サイズbの複数の共有鍵から前記組合せの鍵を導出するステップと、
請求項１に記載の鍵共有のためにネットワークデバイスを構成するためのシステムから取得される、一変数秘密鍵多項式及び公開グローバルリダクション整数を格納することと、
第１のネットワークデバイスの第１の識別番号を格納することであって、前記第１の識別番号はBビットの長さであり、B＞bである、第１の識別番号を格納することと、
前記第２のネットワークデバイスの第２の識別番号を取得することであって、前記第２の識別番号はBビットの長さであり、B＞bである、第２の識別番号を取得することと、
第２の識別整数を前記一変数秘密鍵多項式に代入し、前記公開グローバルリダクション整数を法として前記代入の結果を簡約し、前記公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約することと、
によって、サイズbの共有鍵を決定するステップと、
を備える、方法。
【請求項１４】
コンピュータ読取可能媒体上で具現化されるコンピュータプログラムであって、当該コンピュータプログラムがコンピュータにおいて実行されると、請求項１２及び１３のいずれか一項に記載のステップの全てを実行するように適合されるコンピュータプログラムコード手段を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵共有のためにネットワークデバイスを構成するシステムに関し、当該システムは：多項式を取得するための鍵材料取得器と、ネットワークデバイスの識別番号を電子的形式で取得するためのネットワークデバイスマネージャと、多項式操作ユニットを備える。
【背景技術】
【０００２】
暗号化において、鍵共有プロトコル（key-agreement  protocol）は、共通の鍵をまだ共有していない可能性がある２又はそれ以上のパーティが、そのような鍵に対して合意をすることができるプロトコルである。好ましくは、双方のパーティがその結果に対して影響を与えることができ、これにより、どちらのパーティも鍵の選択を強いることがない。２つのパーティ間の全ての通信を盗聴する攻撃者は、鍵について何も知るべきではない。また、同じ通信を見ている攻撃者が何も知らないか又はほとんど知らない間に、パーティ自身が共有鍵を導出することができる。
【０００３】
鍵共有プロトコルは、例えば通信をセキュアにし、例えばパーティ間のメッセージを暗号化及び／又は認証するのに有益である。
【０００４】
実践的な鍵共有プロトコルは、１９７６年にホイットフィールド・ディフィー(Whitfield  Diffie)とマーティン・ヘルマン(Martin  Hellman)が公開鍵暗号化の概念を導入した時に導入された。彼らは、q個の要素の有限体GF(q)に対して対数を計算するという明らかな困難性を用いる、２つのパーティ間の鍵共有のためのシステムを提案した。このシステムを使用して、２人のユーザは、対称鍵に対して合意をすることができる。その後、この対称鍵を、例えば２人のパーティ間の暗号化された通信に使用することができる。
【０００５】
鍵共有のためのディフィー・ヘルマンシステムは、パーティがまだ共有の秘密を持っていないときに適用可能である。ディフィー・ヘルマン鍵共有法は、有限体に対して、べき乗演算を行うことのように、計算リソースが多い（resource-heavy）数学演算を必要とする。べき指数とフィールドサイズの双方が大きい可能性がある。これは、鍵共有プロトコルを低リソースデバイスにあまり適さないものにする。一方、鍵共有プロトコルは、リソース制約デバイスにおいて非常に有益であろう。例えばモノのインターネット、アドホック無線ネットワーク等といった適用範囲では、鍵共有を使用してデバイス間のリンクを保護することが可能である。別の例は、リーダと電子タグとの間、例えばカードリーダとスマートカード、あるいはタグリーダとタグ、例えばＲＦＩＤタグ又はＮＦＣタグとの間の通信である。
【０００６】
所与の通信ネットワーク内のネットワークデバイスのペア間でセキュアな接続をセットアップすることの問題に対する別のアプローチが、非特許文献１(「Blundo」とも称する)において対処される。
【０００７】
このシステムは、p個の要素を有する有限体Fの係数を有する対称二変数多項式f(x,y)を生成する、ネットワーク権限又は信頼できる第三者機関（ＴＴＰ）とも呼ばれる中央権力（central  authority）を想定しており、ここで、pは、素数又は素数の累乗である。各デバイスはFにおいて識別番号を有しており、各デバイスには、ＴＴＰによってローカルの鍵材料（key  material）が提供される。識別子ηを有するデバイスについて、ローカルの鍵材料は、多項式f(η,y)の係数である。デバイスηがデバイスη’と通信することを望む場合、その鍵材料を使用して、鍵K(η,η’)＝f(η,η’)を生成する。fは対称なので同じ鍵が生成される。ローカルの鍵材料は秘密である。ローカルの鍵材料の知識は、システムを直接的に危険にさらすであろう。特に、盗聴は同じ共有鍵を取得することを可能にするであろう。方法は、デバイスのネットワーク内の各デバイスが、自身の一意の識別番号及びローカルの鍵材料を有することを必要とする。
【０００８】
この鍵共有スキームの問題は、攻撃者がt+1又はそれ以上のデバイスの鍵材料を知っている場合に生じる。ここで、tは二変数多項式の指数である。攻撃者は次いで、多項式f(x,y)を再構築することができる。その瞬間、システムのセキュリティは完全に破られる。任意の２つのデバイスの識別番号が与えられると、攻撃者は、このデバイスのペアの間で共有される鍵を再構築することができる。
【０００９】
鍵共有における更なる懸念事項は、以下に関係する。多数のデバイスの鍵材料を取得することが難しいことがある。ターゲットデバイスが共有している共有鍵は取得することが容易であることがある。多数のそのような共有鍵が入手可能であることが想定され得る。例えば攻撃者は、ターゲットデバイスが、少なくとも部分的にその攻撃者の制御下にある大きなグループのデバイスと通信するのに使用した鍵を収集することができる。共有鍵の収集から、攻撃者は、ターゲットデバイスが、攻撃者の制御下にないデバイスと通信するときに使用するであろう鍵を予測することを試みることができる。この攻撃は、各デバイスにおいてローカル鍵材料を生成するのに使用されるルート（root）鍵材料を目的とはしていないが、特定のターゲットデバイスのローカル鍵材料を攻撃する。
【００１０】
非特許文献２は、鍵確立スキームを開示している。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】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ビットの長さである。システムは、鍵材料取得器、ネットワークデバイスマネージャ及び多項式操作ユニットを備える。
【００１４】
鍵材料取得器は、電子的形式で、二変数多項式の第１の秘密セット（private  set）と、リダクション整数（reduction  integer）の第２の秘密セットを取得し、第１のセット内の各二変数多項式と、第２のセットのリダクション整数に関連付けがあり、公開グローバルリダクション整数は、リダクション整数の第２の秘密セットに関連付けられる。
【００１５】
多項式操作ユニットは、第１の秘密セットの各特定の多項式について、識別番号をその特定の多項式に代入し、特定の多項式に関連付けられるリダクション整数を法として簡約する（reducing）ことにより、一変数多項式のセットを取得することと、一変数多項式のセットを合計することとによって、第１及び第２の秘密鍵のセットから、ネットワークデバイスについての一変数秘密鍵多項式を計算するように構成される。
【００１６】
ネットワークデバイスマネージャは、ネットワークデバイスの識別番号を電子的形式で取得するように構成され、識別番号はBビットの長さであり、B＞bである。ネットワークデバイスマネージャは、生成された一変数秘密鍵多項式及び公開グローバルリダクション整数をネットワークデバイスにおいて電子的に格納するように更に構成される。
【００１７】
本発明者らは、ターゲットデバイスが制御デバイスと共有した鍵へのアクセスを攻撃者が有している場合に、識別番号よりも小さい共有鍵を使用することが、攻撃に対する耐性を大いに向上させたことを発見した。このやり方で共有される鍵を、暗号鍵として直接的に使用してよい。しかしながら、本発明者らは更に、複数の小さな鍵を１つのより大きな共有鍵へ組み合わせることにより、ストレージリソースを減らすことができることを発見した。ストレージリソースは、複数の鍵材料に対応するよう増加するが、これは、１つのモノシリックの鍵材料によって必要とされ、これに応じて大きなサイズの識別番号を伴うストレージ要件よりも少ない。生成される共有鍵よりも長い識別子を使用することは、その長い識別子のために、スケーラブル性を許容しつつ、格子攻撃の使用を実行不可能にする。
【００１８】
ネットワークデバイスが、組合せの鍵（combined  key）を共有するために構成される実施形態において、組合せの鍵は複数の共有鍵から導出される。組合せの鍵は、複数の共有される「小さな鍵」から導出される「大きな鍵」とも呼ばれる。小さい及び大きいという用語は、絶対的なサイズを示すものではなく、小さい鍵が、サイズにおいて大きな鍵よりも小さいことを示す。
【００１９】
多数の小さな鍵を１つの大きな鍵に組み合わせることは、結果として得られる大きな鍵の強さを低減させず、一方、攻撃に対する耐性は向上し、必要とされるストレージの増加は適度である。実施形態において、組合せの鍵の長さは、少なくともBである。
【００２０】
ある実施形態では、公開グローバルリダクション整数は、少なくとも(α＋1)B＋bビットを有し、αは、第１の秘密セット内の二変数多項式の単一の変数における最も高い次数である。公開グローバルリダクション整数のこのサイズは、２つの構成されたネットワークデバイスが、同じ鍵に到達することになる可能性を増加させ、同時に共有鍵における漏洩を低減する。同様に、ある実施形態では、各秘密リダクション整数は、βi＜2Bである整数βiについて、pi＝N−βi2bを満たす。秘密リダクション整数の間の差が、閾値（例えば2B+b）より小さいとき、かつ／又は公倍数（例えば2b）を有するとき、２つのデバイスが同じ共有鍵を生成する可能性はより高い。好ましい実施形態では、公開グローバルリダクション整数は、正確に(α＋1)B＋bビットを有する。
【００２１】
ある実施形態では、鍵材料取得器は、二変数多項式の複数の第１の秘密セットを取得するように構成され、複数の第１のセットのうちのある第１のセット内の各二変数多項式と、第２の秘密セットのリダクション整数に関連付けがある。多項式操作ユニットは、複数の第１の秘密セットのうちの各第１の秘密セットについて、第１の秘密セットの各特定の多項式について、識別番号をその特定の多項式に代入し、その特定の多項式に関連付けられるリダクション整数を法として簡約することにより、二変数多項式のセットを取得することと、二変数多項式のセットを合計することとによって、複数の第１の秘密セットから複数の一変数秘密鍵多項式を計算するように構成される。ネットワークデバイスマネージャは、複数の生成された一変数秘密鍵多項式をネットワークデバイスにおいて電子的に格納するように更に構成される。
【００２２】
単一のインスタンスを使用して十分な長さの共有鍵を生成することは、かなり大きな識別値（identity  value）を必要とするであろう。識別値は次いで、大きくなるよう多項式の係数を必要とすることがある。ストレージ内のかなり大きなリダクションは、複数の小さな鍵を組み合わせることにより得られる。これは、識別番号のサイズをより小さくすることを可能にする。例えば１つには、小さな鍵を組み合わせて、ビットサイズB又はより大きいサイズの大きな鍵を得ることができる。
【００２３】
ある実施形態では、鍵材料取得器は、リダクション整数の複数の第２の秘密セットを取得するように構成される。複数の第１のセットの各第１のセットと、複数の第２のセットのうちの特定の第２のセットに関連付けがある。複数の第１のセットのうちの特定の第１のセット内の各二変数多項式と、複数の第２のセットのうちの関連付けられる第２のセットのリダクション整数に関連付けがある。多項式操作ユニットは、第１のセットに関連付けられる第２のセットから、特定の多項式に関連付けられるリダクション整数を法として簡約するために構成される。実施形態は、セットごとに、１つの公開リダクション整数を有する。例えば公開グローバルリダクション整数Niは、第１のセットの数iに関連付けられる。
【００２４】
ある実施形態では、鍵材料取得器は、電子的形式で複数の公開グローバルリダクション整数を取得するように構成され、複数の第１のセットの各第１のセットと、複数の公開グローバルリダクション整数のうちのある公開グローバルリダクション整数に関連付けがあり、ネットワークデバイスマネージャは、複数の生成された公開グローバルリダクション整数をネットワークデバイスにおいて電子的に格納するために更に構成される。
【００２５】
識別番号がそのBビットにわたってランダムな方法で分散される場合、システムはよりセキュアである。これを改善するために幾つかの方法がある。例えば一実施形態では、ネットワークデバイスマネージャは、ネットワークデバイスの識別番号を電子的形式で生成するように構成され、識別番号はBビットの長さであり、B＞bである。
【００２６】
ある実施形態において、識別番号の少なくとも一部はランダムに生成される。例えば番号全体がランダムに生成されてよく、あるいはその所定数の、例えば最上位ビットがランダムに生成されてもよい。
【００２７】
ある実施形態では、識別番号を生成することは、更なる識別番号をハッシュ処理して、ハッシュ処理の結果を識別番号の少なくとも一部をに割り当てることを備える。例えばネットワークデバイスは、MACアドレスのようなネットワークアドレスやシリアル番号のような、更なる識別番号を割り当てられてよい。そのような番号の適合性は、これらをハッシュ処理することにより高めることができる。
【００２８】
本発明の側面は、第２のネットワークデバイスとの共有鍵を決定するように構成される第１のネットワークデバイスに関し、共有鍵はbビットの長さである。第１のネットワークデバイスは、電子ストレージと、通信ユニットと、多項式操作ユニットを備える。電子ストレージは、鍵を共有するためにネットワークデバイスを構成するためのシステムから取得される、一変数秘密鍵多項式及び公開グローバルリダクション整数を格納するように構成され、該ストレージは、一変数秘密鍵多項式を生成するために使用される当該第１のネットワークデバイスについての第１の識別番号を更に格納し、第１の識別番号はBビットの長さであり、B＞bである。
【００２９】
通信ユニットは、第２のネットワークデバイスの第２の識別番号を取得するように構成され、第２の識別番号はBビットの長さであり、B＞bであり、第２のネットワークデバイスは第１のネットワークデバイスとは異なる。
【００３０】
多項式操作ユニットは、第２の識別整数を一変数秘密鍵多項式に代入し、公開グローバルリダクション整数を法として代入の結果を簡約し、公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約するように構成される。デバイスは、後者のモジュロ簡約（modulo  reduction）の結果から共有鍵を導出するための鍵導出デバイスを備えてもよい。
【００３１】
ある実施形態において、電子ストレージは、鍵を共有するためにネットワークデバイスを構成するためのシステムから取得される、複数の一変数秘密鍵多項式を格納するように構成される。多項式操作ユニットは、複数の一変数秘密鍵多項式内の一変数秘密鍵多項式ごとに、第２の識別整数を一変数秘密鍵多項式に代入することと、公開グローバルリダクション整数を法として代入の結果を簡約することと、公開グローバルリダクション整数を法として簡約した結果を、2bを法として更に簡約することとによって、複数の一変数秘密鍵多項式から複数の小さな共有鍵を取得するように構成される。デバイスは、複数の小さな共有鍵から組合せの共有鍵を導出するための鍵導出デバイスを更に備えてもよい。
【００３２】
ある実施形態において、電子デバイスは、複数の公開グローバルリダクション整数を格納するように構成され、複数の一変数秘密鍵多項式の各一変数秘密鍵多項式と、複数の公開グローバルリダクション整数のうちのある公開グローバルリダクション整数に関連付けがある。多項式操作ユニットは、一変数秘密鍵多項式に関連付けられる公開グローバルリダクション整数を法として、代入の結果を簡約するよう構成される。
【００３３】
典型的な実施形態では、更なる簡約モジュロ2bが、公開グローバルリダクション整数を法とする簡約の結果に直接適用される。しかしながら、公開グローバルリダクション整数を法として代入の結果を簡約した後、更なる簡約のステップの前に、追加のステップが存在してもよい。例えば複数の一変数秘密鍵多項式を用いてセキュリティを向上させる別の方法は、以下のとおりである。一実施形態では、多項式操作ユニットは、第２の識別整数を、複数の一変数秘密鍵多項式の各一変数秘密鍵多項式に代入し、その一変数秘密鍵多項式に関連付けられる公開グローバルリダクション整数を法として代入の結果を簡約する。多項式操作ユニットは、関連付けられる公開グローバルリダクション整数を法として簡約した結果を合計するように構成される。後者の合計は、2bを法としてより簡約される。デバイスは、後者のモジュロ簡約の結果から共有鍵を導出するための鍵導出ユニットを備えてもよい。
【００３４】
複数の一変数秘密鍵多項式のうちのこれらの２つの使用は、複数の一変数秘密鍵多項式の複数のセットを使用することによって組み合わされてよく、複数の一変数秘密鍵多項式のセットを使用して共有鍵を取得し、したがって取得される共有鍵は、より大きな組合せの鍵へと組み合わされる。
【００３５】
ある実施形態において、電子ストレージは、第１のネットワークデバイスについての複数の識別番号を格納する。通信ユニットは、第２のネットワークデバイスの複数の識別番号を取得するために構成され、複数の一変数秘密鍵多項式の各一変数秘密鍵多項式と、複数の識別番号のうちのある識別番号に関連付けがある。多項式操作ユニットは、複数の一変数秘密鍵多項式内の各一変数秘密鍵多項式ごとに、サイズbiの小さな共有鍵を生成することであって、該鍵のサイズは、一変数秘密鍵多項式に関連付けられる識別番号のサイズよりも小さい（bi＜βi）ことと、識別整数を一変数秘密鍵多項式に代入することと、公開グローバルリダクション整数（Ni）を法として代入の結果を簡約することと、公開グローバルリダクション整数（Ni）を法として簡約した結果を、2biを法として更に簡約することとによって、複数の一変数秘密鍵多項式から複数の小さな共有鍵を取得するように構成される。
【００３６】
ある実施形態では、第１のネットワークデバイスは、共有鍵についての鍵確認データを計算し、該鍵確認データを第２のネットワークデバイスに送信するように構成される鍵等化器を備える。ある実施形態では、第１のネットワークデバイスは、第２のネットワークデバイスから鍵確認データを受け取り、該受け取った鍵確認データに整合するよう小さな鍵を適合させるように構成される鍵等化器を備える。鍵等化器を使用して、第１及び第２のデバイスによって同じ共有鍵が導出されることを保証することができる。
【００３７】
本発明の側面は、鍵を共有するためにネットワークデバイスを構成するためのシステムと、鍵を共有するためにネットワークデバイスを構成するためのシステムによって構成される第１及び第２のネットワークデバイスとを備える、鍵共有システムに関する。
【００３８】
本発明の側面は、鍵を共有するためにネットワークデバイスを構成するための方法に関する。本発明の側面は、第２のネットワークデバイスとのサイズbの共有鍵を決定するための方法に関する。
【図面の簡単な説明】
【００３９】
本発明のこれら及び他の側面は、以下で説明される実施形態から明らかになり、これらの実施形態との関連で解明されるであろう。図面は次のとおりである。
【図１】鍵共有のためにネットワークデバイスを構成するシステム２００及び第１のネットワークデバイス３００の概略的なブロック図である。
【図２】第１のネットワークデバイス３００及び第２のネットワークデバイス３５０の概略的なブロック図である。
【図３ａ】鍵共有システム１００の概略的なブロック図である。
【図３ｂ】鍵共有システム１０２の概略的なブロック図である。
【図４】集積回路４００の概略的なブロック図である。
【図５】bビットの長さの鍵を共有するためにネットワークデバイスを構成する方法５００を示すフローチャートである。
【図６】第２のネットワークデバイス３５０とのサイズbの共有鍵を決定するための方法６００を示すフローチャートである。    異なる図面において同じ参照番号を有するアイテムは、同じ構造的特徴又は同じ機能を有するか、同じ信号であることに留意されたい。そのようなアイテムの機能及び／又は構造が説明済みである場合、詳細な説明において、それらを繰り返し説明する必要はない。
【発明を実施するための形態】
【００４０】
本発明は、多くの異なる形式の実施形態を許容するが、本開示は本発明の原理の例示として解釈されるべきであり、本発明は図示及び説明される具体的な実施形態に限定するように意図されていないという理解の下、１つ以上の具体的な実施形態を図示し、本明細書において詳細に説明する。
【００４１】
以下では、鍵共有方法の実施形態が、数学用語で説明される。鍵共有方法は、以下で説明されるようなデバイスにおいて、例えばネットワークデバイス（３００）を構成するためのシステム（２００）上で、鍵共有システム（１００）、（１０２）内等で実装され得る。
【００４２】
以下の実施形態では、ネットワークデバイスは、これらのネットワークデバイスの識別番号よりも少ないビットを有する共有鍵を取得するように構成される。共有鍵は、「小さな鍵」とも呼ばれる。後続の実施形態では、複数のこれらの小さな鍵を組み合わせて、より大きな鍵を得ることになる。我々は、１つの小さな鍵の生成を「インスタンス」と呼ぶ。より大きな鍵を生成するために、複数のインスタンスが必要とされる。しかしながら、複数のインスタンスは、これらのパラメータの一部を共有することがある。以下では、まず単一のインスタンスについて説明する。
【００４３】
方法は、セットアップ段階と使用段階を有する。セットアップ段階は、開始ステップと登録ステップを含み得る。開始ステップはネットワークデバイスを必要としない。
【００４４】
開始ステップはシステムパラメータを選択する。開始ステップは、信頼できる第三者（ＴＴＰ）によって実行され得る。システムパラメータを所与の入力と見なすこともできる。この場合、信頼できる第三者はこれらを生成する必要がなく、開始ステップはスキップされてもよい。例えば信頼できる第三者が、デバイス製造業者からシステムパラメータを受け取ってもよい。開示の利便性のために、信頼できる第三者が、開始ステップを実行するものとして言及するが、これは必須ではないことに留意されたい。
【００４５】
開始ステップ
インスタンスの使用段階においてデバイス間で共有されることになる小さな鍵について、所望の鍵長が選択される；この鍵の長さは「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）を使用することができる。
【００４７】
各インスタンスごとに、２つのパーティが共有鍵を導出することができる。共有鍵を組み合わせて、より大きな組合せ鍵を形成することができる。インスタンスの数は、組合せ鍵が、使用されることになるセキュリティ適用にとって十分な長さになるように選択される。例えば１つの選択肢は、インスタンスの数を［Kdes/b］として選択し、ここでKdesは所望の鍵の長さ、例えば80ビット又はそれ以上、128ビット又はそれ以上、256ビット又はそれ以上等である。組合せ鍵を少なくとも個々の識別番号と同じ大きさにし、インスタンスの数を［B/b］又はそれ以上として選択することが好ましい。
【００４８】
Bに対してより小さいbの値は、いわゆる共謀攻撃（collusion  attack）に対する耐性を向上させる。共謀攻撃では、攻撃者は、ターゲットネットワークノードと複数の共謀ネットワークノードとの間で使用される共有鍵に関する情報を取得する。それぞれの更なる共謀ネットワークノードからわかる情報の量は、サイズbである。しかしながら、ターゲットネットワークノードと非共謀ネットワークノードとの間の交換（commutation）を破るために再構築する必要がある情報の量は、Bとともに増大する。
【００４９】
典型的には、全てのインスタンスは、同じbとBを使用することになるが、これは必ずしも必要ではない。後に単一のより大きな鍵に組み合わされる場合であっても、２つのインスタンスがb及び／又はBについて異なる値を用いることができる。
【００５０】
インスタンスの数、鍵のサイズ及びサブ鍵（sub-key）の長さは、多くの場合、例えばシステム設計者によって予め決定され、入力として信頼できるパーティに与えられることになる。
【００５１】
インスタンスパラメータ
次に、各インスタンスについてパラメータを選択する。所望の指数が選択される；この指数は、特定の多項式の指数を制御する。指数は「α」として参照され、少なくとも１である。αの実際的な選択は２である。よりセキュアな適用では、より高いαの値、例えば３又は４、あるいはそれより高い値を使用することがある。簡単な適用では、α＝1も可能である。α＝1の場合は、いわゆる「隠れ数問題（hidden  number  problem）」に関連し；より高い「α」の値は、拡張した隠れ数問題（extended  hidden  number  problem）に関連し、これらの場合は、破るのが難しいことが確認されている。値α＝1は可能ではあるが、推奨されず、非常に低いセキュリティ適用いついてのみ検討されるべきである。低いセキュリティ適用については、α＞2の値、例えばα＝3が可能である。しかしながら、より高いセキュリティのためには、α≧32、例えばα＝32が推奨される。
【００５２】
多項式の数を選択する。多項式の数は「m」として参照されることがある。mの現実的選択は２である。よりセキュアな適用では、より高いmの値、例えば３又は４、あるいはそれより高い値を使用してもよい。
【００５３】
複雑性の低い適用、例えばリソースの限られたデバイスでは、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≦αを満たし、少なくとも１つのjについてαj＝αである。より良い選択は、次数αの各多項式をとることである。二変数多項式は、２つの変数の多項式である。対称の多項式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について、次の形式で示す。
【数１】
0006034998.tif 000002
【００５９】
上記の実施形態を様々な方法で変更することができる。一変数多項式の難読化が可能であり、ネットワークデバイスにおいて取得される共有鍵が、多くの場合、相互に対して十分近いままであるように、公開及び秘密モジュライに対する制限が様々な方法で選択され得る。何が十分であるかはアプリケーション（適用）、必要とされるセキュリティレベル及びネットワークデバイスで利用可能な計算リソースに依存するであろう。上記の実施形態は、多項式の共有を生成するときに実行されるモジュラ演算が、整数に対して加算されるときに非線形手法で組み合されるように、正の整数を組み合わせ、ネットワークデバイス上に格納されるローカルの鍵材料について非線形構造を作成する。N及びpjについての上記の選択は、(i)Nのサイズは、全てのネットワークデバイスについて固定であり、αにリンクされる；(ii)非線形の効果は、デバイス上に格納される鍵材料を形成する係数において現れる、という特性を有する。この固有の形式のために、Nを法とする簡約の後に2bを法として簡約することによって、共有の小さな鍵を生成することができる。
【００６０】
登録ステップ
登録ステップでは、各ネットワークデバイスが、鍵生成材料（KM：keying  material）を割り当てられる。鍵材料は、各インスタンスのための鍵材料を備える。以下では、あるネットワークデバイスのために、１つのインスタンスについて鍵材料がどのように導出されるかについて説明する。各インスタンスは鍵材料を有し、インスタンスの鍵材料は、この鍵材料の一部が異なるインスタンス間で共有され得るとしても、各インスタンスに対して一意である。
【００６１】
ネットワークデバイスは識別番号Aに関連付けられる。識別番号は、例えばＴＴＰによる要求に応じて割り当てられてよく、あるいはデバイス内に既に格納されていること、例えば製造時にデバイス内に格納されていること等もある。AのビットサイズはBビットである。Aの生成は様々な方法で行われてよい。高いセキュリティのために、Aの低ビットはランダムである。例えばAは乱数として選択されてよく；Aは更なる識別番号、例えばシリアル番号のハッシュであってもよく、場合によってはBビットまで切り捨てられてよい。
【００６２】
ＴＴＰは、デバイスのために鍵材料のセットを次のように生成する：
【数２】
0006034998.tif 000003
【００６３】
次のように、この式に対し、更なる難読化を行う数（obfuscating  numbers）を加算することが可能である：
【数３】
0006034998.tif 000004
ここで、KMA(X)は、識別番号Aを有するデバイスの鍵材料であり；Xは形式的変数（formal  variable）である。鍵材料は非線形であることに留意されたい。記号＜…＞pjは、pjを法として、括弧間の多項式の各係数を簡約することを示す。別の言い方をすると、以下である。
【数４】
0006034998.tif 000005
【００６４】
「∈A,i」という表記はランダム整数を示し、これは|∈A,i|<2(α+1-i)bのような難読化の数の例である。ランダム整数のうちのいずれか１つが正又は負であってよいことに留意されたい。ランダム整数∈は、各デバイスについて再び生成される。したがって、
【数５】
0006034998.tif 000006
という項は、指数が増加すると係数長が短くなる、指数αのXで多項式を表す。あるいは、より一般的ではあるが、より複雑な条件は、
【数６】
0006034998.tif 000007
が小さい、例えば<2α+1であることである。異なる有限環にわたる混合効果は、セキュリティに対して最も大きな寄与を与え、したがって、難読化の数の使用は任意選択である。
【００６５】
全ての他の加算は、自然整数演算（natural  integer  arithmetic）、すなわち環
【数７】
0006034998.tif 000008
における自然整数演算を使用するか、あるいは（好ましくは）Nを法とする加算を使用する。このため、一変数多項式
【数８】
0006034998.tif 000009
の評価はそれぞれ、より小さいモジュラスpjを法として個々に行われるが、これらの簡約された一変数多項式自体の合計は、好ましくはNを法として行われる。また、難読化多項式
【数９】
0006034998.tif 000010
の加算は、自然整数演算を使用して、あるいは好ましくはNを法として行われ得る。鍵材料は、係数
【数１０】
0006034998.tif 000011
を備え、i＝0,…,αである。鍵材料は、上記のように多項式として提示され得る。実際には、鍵材料は、リストとして、例えば整数
【数１１】
0006034998.tif 000012
のアレイとして格納されてもよい。また、デバイスＡは数字N及びbも受け取る。多項式の操作は、例えば係数を含むアレイの操作、例えば所定の順序で全ての係数をリストするアレイの操作として実装されてもよい。多項式は、他のデータ構造で実装されてもよく、例えば（指数，係数）のペアの集合、好ましくは各係数がその集合内に多くても１度現れるような（指数，係数）のペアの集合を備える、（「マップ」としても知られる）関連アレイ（associative  array）として実装されてもよい。デバイスに提供される係数
【数１２】
0006034998.tif 000013
は、好ましくは、範囲0,1,…N-1である。
【００６６】
使用段階
２つのデバイスが識別番号A及びBを有し、このインスタンスについての鍵材料をＴＴＰから受け取ると、これらは、その鍵材料を使用して１つの小さな共有鍵を取得することができる。デバイスＡは、各インスタンスについて以下のステップを実行して、その共有鍵を取得することができる。まず、デバイスＡはデバイスＢの識別番号Bを取得し、次いで、Ａは以下を計算することによって共有鍵を生成する：
【数１３】
0006034998.tif 000014
【００６７】
すなわち、Ａは、値Ｂについて、整数多項式として見なされる自身の鍵材料を評価する；鍵材料を評価した結果は整数である。Ａは、最初に公開モジュラスNを法とし、次に鍵モジュラス2bを法として、評価の結果を簡約する。その結果は、Ａの、Ｂとの共有鍵と呼ばれ、0から2b-1までの範囲の整数である。その部分について、デバイスＢは、識別番号Aについてその鍵形成した材料（keyed  material）を評価し、Nを法とし、次いで2bを法として結果を簡約することにより、Ｂの、Ａとの共有鍵を生成することができる。
【００６８】
ルート鍵材料内の二変数多項式が対称である場合、ＡのＢとの共有鍵及びＢのＡとの共有鍵は、常にではないが多くの場合、等しい。整数p1,p2,…,pm及びランダム整数∈に対する特定の要件は、鍵が多くの場合等しく、ほとんど常に、鍵長の２乗を法として相互に対して近いことである。Ａ及びＢが同じ共有鍵を取得した場合、次いでＡ及びＢはこの共有鍵をＡとＢの間で共有される対称鍵として使用してよい；例えばこの共有鍵は、様々な暗号化の適用のために使用されることがあり、例えばＡ及びＢはこの共有鍵を使用して暗号化及び／又は認証される１つ以上のメッセージを交換することができる。好ましくは、マスター鍵の更なる保護のために、鍵導出アルゴリズムが共有鍵に適用される、例えばハッシュ関数が適用され得る。
【００６９】
Ａ及びＢが同じ共有鍵を取得しなかった場合であっても、これらの鍵が、KAB＝KBA＋δN  mod  2bという意味で、相互に対して近いことは確実である；ここで、δは小さい数であり、最大でも絶対値で3m＋2αである。u＝N-1  mod  2bと定義する、すなわち2bを法とするNの逆数である。次いで、
【数１４】
0006034998.tif 000015
である。
【００７０】
cを、2c≧1＋2(3m＋2α)となる最も小さい数とし、次いでＡは、uKABのc個の最下位ビットを、鍵確認データとして送信することができる。これは、Ｂが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を選択することによって解決される可能性がある。この場合において、単一のインスタンスは、２つのネットワークノードが、セキュアな通信のために十分に長いbビットの鍵を共有することを可能にするであろう。しかしながら、B＝512を有することは、これに対応して、ローカル鍵材料をより大きいものにする。したがって、例えばモバイルフォンのような適度にパワフルなネットワークデバイスを使用して、単一のインスタンスのみを必要として、セキュアな通信にとって十分に長い鍵をセキュアに共有するためにネットワークデバイスを構成することが可能である。それでもなお、十分に長い共有鍵をさらに導出している間に、ストレージ要件を低減することは非常に望ましいであろう。
【００７３】
非実際的に長い鍵材料を作成することなく、鍵長を増加させる１つの方法は、複数の小さな鍵を組み合わせることである。システムは、パーティが、共有鍵を形成する複数のサブ鍵に合意することを可能にする。サブ鍵を生成するシステムを鍵合意（鍵共有）インスタンス（key-agreement  instance）と呼ぶことにする。各インスタンスは、そのインスタンスの独自のパラメータを有することがあるが、他のインスタンスと同じ原理に沿って動作する。それでもなお、複数のインスタンスは、これらのインスタンスのパラメータの一部を共有することができる。上述のようにシステムから取得される、すなわち単一のインスタンスから取得される共有鍵を、「小さな」鍵と呼び、２つ以上の小さな鍵の組合せを「大きな鍵」と呼ぶ。組み合されるインスタンスの数は「t」として参照される。
【００７４】
複数の小さな鍵を取得するための第１の方法は、複数の完全に独立なインスタンスを選択することである。しかしながら、小さな鍵の各々についてのセキュリティ要件は等しいので、複数のインスタンスは、典型的にb、B、α及びmについて同じ値を有することになる。ＴＴＰは、各インスタンスについて、公開モジュラスN、秘密モジュライpi、秘密多項式fiを生成し、各インスタンス及び各ネットワークノードについて識別子A及びローカル鍵材料KMAを生成する。
【００７５】
複数のインスタンスを組み合わせる第２の方法は、各インスタンスについて同じ識別子Aを使用することである。第３の方法は、各インスタンスについて同じ公開モジュラスNを使用することである。最後に、同じ識別子A及び同じ公開モジュラスNを使用することが可能である。ローカル鍵材料は、全てのインスタンスについては同じではないものとなる。
【００７６】
例えば共有の大きな鍵のサイズは、セキュリティ要件に依存し、64又は80とすることができる。消費者レベルのセキュリティ要件のための標準値は128とすることができる。極秘の適用では、256又はそれよりも高い値が好ましいことがある。一実施形態では、組合せの鍵の長さは、識別子Bの長さに等しい。また、インスタンスの数「t」及びサブ鍵のサイズは選択される。異なるインスタンスにおけるサブ鍵のサイズは、異なるものであってよい。インスタンス「i」のサブ鍵のサイズは「bi」として参照されることがある。これらは、Σbi≧Bとなるように選択される。簡潔性のために、インデックスを落として、以下ではサブ鍵のサイズを「b」と示す。典型的には、サブ鍵のサイズは、全てのインスタンスにおいて等しいものとなり、bt＝Bとなるように選択される。
【００７７】
各デバイスは、鍵材料の異なるインスタンスを使用してサブ鍵を生成する。共有鍵は次いで、例えばサブ鍵を連結することによって、サブ鍵から生成される。
【００７８】
他の中でも特に、B＝32についての以下のパラメータセット：アルファ（α）＝10、b＝8、B＝32は、他よりもよりセキュアであることが、実験的に検証されており、このシステムは、32ビットの鍵を作成するために４つのインスタンスを必要とする。パラメータセット、アルファ（α）＝3、b＝8、B＝32もセキュアであるが、このより低いアルファの選択では、32ビットのIDの完全なスパンを使用することが望ましい。特に、長さ256の任意の間隔では、より少ない10個のIDを使用すべきである。一般に、更なるセキュリティは、予め決定された第１及び第２の識別閾値（identity  threshold）を設定し、第１の識別閾値のサイズ（例えば256）のサイズの間隔がいずれも識別値の第２の識別閾値（例えば10）より多くを含まないよう、識別番号を選択することによって、達成され得る。これは、例えばネットワークデバイスマネージャによって、例えばこのルールに従って識別値を生成することにより、あるいは閾値を超える識別子を有するデバイスについてのローカル鍵材料の生成を拒絶することにより実施され得る。
【００７９】
図１は、鍵共有のためにネットワークデバイスを構成するためのシステム２００及び第１のネットワークデバイス３００の概略的なブロック図である。
【００８０】
構成用システム２００は、典型的に統合デバイスとして実装される。例えば構成用システム２００は、サーバ内に備えられてよい。構成用システム２００は、例えば無線ネットワークやインターネット等のネットワークデバイス上のネットワークデバイスを構成してもよい。しかしながら、構成用システム２００は、ネットワークデバイスを製造するための製造デバイス内に統合されてもよい。
【００８１】
構成用システム２００は、鍵材料取得器２１０、ネットワークデバイスマネージャ２３０及び多項式操作ユニット２２０を備える。構成用システム２００は、複数のネットワークデバイスとともに動作するように意図される。図１は、１つのそのようなデバイス、すなわち第１のネットワークデバイス３００を示している。
【００８２】
構成用システム２００は、ルート鍵材料とも呼ばれる、秘密鍵材料を選択する。構成用システム２００は次いで、複数のネットワークデバイスの各々についてローカル鍵材料を導出する。ローカル鍵材料は、ルート鍵材料と、ネットワークデバイスの少なくとも１つの公開識別番号Aから導出される。図１では、ネットワークデバイス３００は識別番号３１０を格納する。ネットワークデバイスは、複数の識別番号、例えばインスタンスごとに１つの識別番号を有することもある。ネットワークデバイスは、更なる識別番号を格納し、必要なときにその更なる識別番号から、例えば更なる識別番号をハッシュ処理することにより、識別番号３１０を導出することもできる。
【００８３】
ローカル鍵材料は、特定のネットワークデバイスに対して秘密の部分、すなわち、ある１つの特定のデバイスと、場合によっては信頼できるデバイスに対してのみアクセス可能な部分を備える。ローカル鍵材料は、共有鍵を取得するのには必要とされるが、秘密裡に保つことがあまり重要ではない部分も含み得る。
【００８４】
「公開（public）」及び「秘密（private）」という形容詞の使用は、理解を助けるものとして意図される：全ての公開データへのアクセスを有するとしても、アプリケーション（適用）のセキュリティを与える膨大な高リソース、あるいは鍵生成、暗号化及び復号に必要とされるリソースと比べて膨大な高リソースなしでは、秘密データを算出することはできない。しかしながら、「公開」は、対応するデータが、構成用システム２００及びネットワークデバイス以外の他者に対して必ずしも利用可能にされる必要があることは意味しない。特に、公開グローバルリダクション整数及び他の公開パラメータを、信頼できないパーティから秘密裡に保つことは、セキュリティを向上させる。同様に、秘密データへのアクセスを、そのデータを生成したパーティ又はそのデータを必要とするパーティに制限することができ、これはセキュリティを向上させる。しかしながら、信頼できるパーティは、秘密データへのアクセスを許可されることがあり；秘密データへのアクセスはセキュリティを低下させる。
【００８５】
他のパーティの識別番号とこれらのローカル鍵材料を使用して、ネットワークデバイスは、これらの間で共有鍵について合意することができる。
【００８６】
鍵材料取得器２１０は、電子的形式で、少なくとも第１のパラメータセット２５０を取得するように構成される。第１のパラメータセットは、公開グローバルリダクション整数２５６  Nと、二変数多項式の第１の秘密セット２５２  fi(,)と、リダクション整数の第２の秘密セット２５４  piとを備え、第１のセット内の各二変数多項式と、第２セットのリダクション整数及び公開グローバルリダクション整数２５６  Nに関連付けがある。第１のパラメータセットは、ビットサイズBの識別番号を有するネットワークノードについて生成される。第１のパラメータセット、すなわち第１のインスタンスは、ローカル鍵材料を生成するために使用されることになり、ローカル鍵材料は次いで、共有される小さな鍵を導出するのに使用されることになる。小さな鍵bのビットサイズは、b＜Bを満たす。このようにして、共有鍵から分かる情報の量は、再構築するのに必要な情報の量よりも少ない。これは、対応する格子問題を難しくし、処理できないものにさえする。
【００８７】
好適な実施形態では、鍵材料取得器２１０は、電子的形式で複数のパラメータセット２５０、２６０を取得するように構成される。図１は、第１のパラメータセット２５０及び第２のパラメータセット２６０を示している。パラメータセットの数は時々「t」として示される。２つより多くのパラメータセット、例えば４又はそれ以上、８又はそれ以上、１６又はそれ以上、３２又はそれ以上等のパラメータセットが存在してもよい。第２のパラメータセット２６０は、二変数多項式の第１の秘密セット２６２及びリダクション整数の第２の秘密セット２６４を備える。
【００８８】
以下の実施形態は、２つのパラメータセット：パラメータセット２５０及び２６０について説明される。典型的な実施形態では、パラメータセットの数は、より高いものとなり、例えば１６又はそれ以上になることに留意されたい。以下で２つのセットについて説明されることは、２つより多くのセットについても当てはまる。
【００８９】
パラメータセットの間には何らかの重複が存在することがあり、例えばパラメータセットは同じ公開リダクション整数を有することがある；あるいは同じ公開リダクション整数及びリダクション整数の同じセットを有することがある。よりセキュアな実施形態では、パラメータセットは異なり、例えば独立に生成される。好ましくは、多項式、すなわち第１のセット２５２及び２６２は全てのパラメータセットにおいて異なる。
【００９０】
パラメータセットの公開グローバルリダクション整数２５６、２６６  Nは、そのセットのリダクション整数２５４、２６４の各々とは異なる。好ましくは、パラメータセットの公開グローバルリダクション整数２５６、２６６  Nは、そのパラメータセットのリダクション整数２５４、２６４の各々よりも大きい。
【００９１】
鍵材料取得器２１０は、鍵材料を取得するためにネットワークデバイスと対話する必要はない；特に、鍵材料取得器２１０は、識別番号を必要としない。構成用システム２００は、鍵材料取得器２１０が多項式操作ユニット２２０とは異なる物理的な位置に置かれる、分散システムとすることができる。鍵材料取得器２１０は、鍵材料の全て若しくは一部を生成し、かつ／又は外部ソースから鍵材料の全て若しくは一部を取得する。例えば鍵材料取得器２１０は、外部ソースから公開グローバルリダクション整数２５６、２６６を受け取り、第１の秘密のセット２５２、２６２及び第２のセット２５４、２６４を生成するように適合される。後者は、全てのネットワークデバイスを固定の公開グローバルリダクション整数２５６、２６６で製造することが可能になるので、コストを減少させる。
【００９２】
鍵材料取得器２１０は、電子乱数生成器を備えてよい。乱数生成器は、真又は疑似乱数の生成器であってよい。鍵材料取得器２１０は、公開グローバルリダクション整数Nを、例えば電子乱数生成器を使用して生成することができる。公開グローバルリダクション整数は、公開情報であるが、ランダム性を導入することにより、システムの分析をより難しくする。
【００９３】
第１のセット内の各二変数多項式と、第２のセット内のリダクション整数が関連付けられる。ランダム係数は、整数環から、例えば関連するリダクション整数のような数を法とする整数から、ランダムに選択され得る。
【００９４】
鍵材料取得器２１０は、電子乱数生成器を使用して、第２の秘密セット内のリダクション整数piの１つ以上の係数を生成することができる。リダクション整数が素数であることは、必ずしも必要とされない。しかしながら、リダクション整数は、耐性を向上させるよう、素数として選択され得る。素数は、環の種類である体（field）に対して増加（上昇（rise））を与える。同じパラメータセット、すなわち、同じ第１及び第２の秘密セットと公開グローバルリダクション整数が、後に鍵を共有する必要がある全てのネットワークデバイスのために使用される。
【００９５】
鍵材料取得器２１０は、第１の秘密セット２５２、２６２内の二変数多項式fi(,)の１つ以上の係数を、例えば電子乱数生成器を使用して生成することができる。鍵材料取得器２１０は、このやり方で二変数多項式の全てを生成することができる。鍵材料取得器２１０は、これらの多項式の最大指数、例えば２又は３あるいはそれ以上を使用することができ、その指数よりもう１つのランダム係数を生成することができる。
【００９６】
第１の秘密セット２５２、２６２の幾つかの側面、例えば秘密セット２５２、２６２内の多項式の数及び多項式の指数若しくは最大指数等を規定することは便利である。また、例えばストレージ要件を低減するために、多項式内の係数の一部がゼロであることが規定されてもよい。
【００９７】
第１のセットは、２つの等しい多項式を含んでもよい。しかしながら、これは、関連するリダクション整数が異なり、セットのサイズが縮小されない限り、機能するであろう。そのため、典型的には、第１のセット内の２つ以上の二変数多項式が同じであるときはいつでも、関連するリダクション整数、すなわち基礎となる環（underlying  ring）は異なる。
【００９８】
一実施形態では、二変数多項式（fi(,)）の全ての第１の秘密セットは、対称の二変数多項式のみを備える。対称の多項式のみを使用することは、各ネットワークデバイスが、構成されたネットワークデバイスのうちの任意の他のネットワークデバイスとの共有鍵に合意することができるという利点を有する。しかしながら、二変数多項式の第１の秘密セットは、１つ以上の非対称の多項式を含むことがあり；これは、デバイスを、２つのグループに分けることができるという効果を有する：すなわち１つのグループからのデバイスのみが、第２のグループのデバイスとの共有鍵に合意することができる。
【００９９】
鍵材料取得器２１０は、数式ではfi(,)としても参照される二変数多項式の第１の秘密セット２５２を電子的形式で取得するように構成される。以下で説明される実施形態では、セット２５２内の全ての二変数多項式が対称であると想定する。第２のパラメータセットの生成が、同じ手法で行われてよい。
【０１００】
対称の二変数多項式は、プレースホルダとして２つの形式的変数を用いて、fi(x,y)として示されてもよい。対称の二変数多項式は、fi(x,y)＝fi(y,x)を満たす。この要件は、係数に対する要件に転換でき、例えば単項式xaybの係数は、単項式xbyaの係数に等しい。
【０１０１】
第１の秘密セット２５２内の多項式の数は、適用に応じて異なるように選択され得る。システムは、第１及び第２のセットが単一の多項式のみを含むときに機能することになり；そのようなシステムでは、鍵が成功裏に共有されて、穏やかなレベルのセキュリティを提供し得る。しかしながら、異なる環にわたって混合することのセキュリティ上の利点は、第１のセットがその中に少なくとも２つの多項式を有し、第２のセットが少なくとも２つの異なるリダクション整数を有するときにのみ達成される。
【０１０２】
秘密セット２５２は、少なくとも１つの二変数多項式を備える。開始側の鍵共有デバイス１００の実施形態では、秘密セット２５２は１つの多項式からなる。秘密セット２５２内に１つの多項式のみを持つことは、複雑性、ストレージ要件を低減し、速度を向上させる。しかしながら、秘密セット２５２内に１つの多項式しか持たないことは、秘密セット２５２内に２つ以上の多項式を持つ場合よりもセキュアでないと考えられる。というのも、そのような１つの多項式のシステムは、以下で説明される合計（summation）における追加的混合による利益を受けないからである。しかしながら、鍵共有は正しく機能することになり、低い値及び／又は低いセキュリティの適用については十分にセキュアであると考えられる。
【０１０３】
残りの部分では、秘密セット２５２が、少なくとも２つの対称の二変数多項式を備えると想定することにする。実施形態では、多項式の少なくとも２つ、あるいはその全てが異なる；これは、システムの分析を大幅に複雑にする。必須ではないが、秘密セット２５２は２つの等しい多項式を備え、これらの２つの多項式が異なる環にわたって評価される場合は、依然として合計ステップにおける混合からの利益を得る。異なるリダクション整数は異なる環を定義することに留意されたい。実施形態において、秘密セット２５２は、異なる関連するリダクション整数に関連付けられる少なくとも２つの等しい多項式を備える。第１のセット内に２つ以上の等しい多項式を有することにより、ストレージ要件を下げる。一実施形態において、第２のセットは少なくとも２つの多項式を備え、第２のセット内の全ての多項式が異なる。
【０１０４】
秘密セット２５２内の多項式は異なる指数のものであってよい。対称の二変数多項式の指数では、２つの変数のうちの一方の多項式の指数を意味することになる。例えばx2y2＋2xy＋1の指数は2に等しい。xの指数が2であるためである。多項式は、各変数で同じ指数を有するように選択されてよい；秘密セット２５２内の多項式が対称である場合、その指数は他の変数と同じものとなるであろう。
【０１０５】
秘密セット２５２内の多項式の指数は、適用に応じて異なるように選択され得る。秘密セット２５２は、次数１又はそれより高い次数の少なくとも１つの対称の二変数多項式を備える。実施形態において、秘密セット２５２は、次数１の多項式のみを備える。秘密セット２５２内に１次多項式のみを持つことは、複雑性、ストレージ要件を緩和し、速度を向上させる。しかしながら、秘密セット２５２内に次数１の多項式しか持たないことは、秘密セット２５２内に次数が少なくとも２の少なくとも１つの多項式を有する場合よりもセキュアでないと考えられる。というのも、そのようなシステムは大幅により線形であるからである。そのような場合も、秘密セット２５２内の複数の多項式が異なる環に対して評価される場合、秘密セット２５２内の全ての多項式が線形である場合であっても、結果として得られる暗号化は線形でないことに留意されたい。実施形態において、秘密セット２５２は、次数２又はそれ以上の次数の少なくとも１つの多項式、好ましくは２つの多項式を備える。しかしながら、次数１の多項式のみが使用され、低い値及び／又は低いセキュリティの適用にとって十分にセキュアであると考えられる場合は、鍵生成、暗号化及び復号は正しく機能するであろう。
【０１０６】
秘密セット２５２内に次数０の１つ以上の多項式を持つことは、より高い次数の多項式が十分なセキュリティを提供する限り、システムに影響を与えることはないであろう。
【０１０７】
中程度のセキュリティの適用では、秘密セット２５２は、次数２の２つの対称の二変数多項式を備えることがあり、あるいはこれらの多項式からなることもある。より高いセキュリティの適用では、秘密セット２５２は、１つが次数２と、もう１つが次数２より高い、例えば次数３という、２つの対称二変数多項式を備えることがあり、あるいはこれらの多項式からなることもある。多項式の数及び／又はその次数を増やすことにより、増加するリソース消費のコストにおけるセキュリティが更に向上するであろう。
【０１０８】
好ましくは、リダクション整数は、リダクション整数の同じセット内の任意の２つのリダクション整数の差が、公約数を有するように選択される。具体的には、公約数は2bであってよい；言い変えると、任意の２つのリダクション整数の差は少なくとも、このインスタンスから導出されることになる小さな鍵のサイズと同じくらいの大きさのゼロで終わる。
【０１０９】
例えばリダクション整数及び公開グローバルリダクション整数を生成する１つの方法は、次の通りである。  
１．最初に、例えば規定のサイズのランダム整数として、公開グローバルリダクション整数Nを生成する
２．各リダクション整数について、整数βiを生成し、リダクション整数piを差分pi＝N−βi2bとして生成する。
【０１１０】
公開グローバルリダクション整数は、(α＋1)B＋bビット又はそれ以上を有するように選択されてよく、ここで、αは、第１の秘密セット内の二変数多項式の単一の変数の最も高い次数である。この場合、整数βiは、βi＜2Bとして選択され得る。
【０１１１】
鍵材料取得器２１０は、ソフトウェア又はハードウェアで、あるいはその組合せでプログラムされ得る。鍵材料取得器２１０は、多項式操作のための多項式操作ユニット２２０とリソースを共有することができる。
【０１１２】
ネットワークデバイスマネージャ２３０は、電子的形式で、ネットワークデバイス３００についての識別番号３１０  Aを取得するように構成される。ネットワークデバイスマネージャ２３０は、ネットワークデバイスから識別番号を受け取ることができる。例えばネットワークデバイスマネージャ２３０は、ネットワークを介して識別番号を受け取るために通信ユニットを備えるか、これを使用することができる。例えばネットワークデバイスマネージャ２３０は、無線信号として識別番号を受け取るためのアンテナを備えることができる。識別番号を、ビット数として表すことができ、典型的には、識別番号のビット数bは、少なくとも、共有鍵のビット数と同じ大きさである。
【０１１３】
システム２００は、全てのパラメータセットについて同じ識別番号を使用してよい。しかしながら、異なるパラメータセットについて異なる識別番号を使用することも可能である。後者の場合、ネットワークデバイスマネージャ２３０は複数の識別番号を取得する。
【０１１４】
多項式操作ユニット２２０は、パラメータセット及び識別番号Aについて、一変数秘密鍵多項式２２９を計算するように構成される。多項式操作ユニット２２０は、鍵材料取得器２１０のパラメータセットの各々に対して適用される。一実施形態において、多項式操作ユニットは、パラメータセットの少なくとも２つについて、あるいは各々についても、同じ識別番号を使用する。一実施形態では、多項式操作ユニットは、パラメータセットの少なくとも２つについて、あるいは全てについても、ネットワークデバイスの異なる識別番号を使用する。したがって、取得される一変数秘密鍵多項式及び対応する公開グローバルリダクション整数は、ネットワークデバイスへ送信されることになるローカル鍵材料の一部である。
【０１１５】
多項式操作ユニット２２０は、鍵材料取得器２１０から接続２３８を介してパラメータセット内のデータを受け取る。以下に、多項式操作ユニット２２０が、一変数秘密鍵多項式を第１のパラメータセットからどのように決定するかについて説明する。他のパラメータセットからの一変数秘密鍵多項式の生成も同じ方法で行われる。
【０１１６】
多項式操作ユニット２２０は、一変数秘密鍵多項式２２９を、以下のように計算することができる：
【０１１７】
一変数多項式は、識別整数（identity  integer）Aを、現在処理されているパラメータセットの第１の秘密セット内の多項式の各々に代入することによって取得される。二変数多項式の一方の変数のみの値を代入することによって、二変数多項式は一変数多項式へ縮小する。結果として得られる一変数多項式は、次いで、識別整数Aが代入された二変数多項式に関連付けられるリダクション整数を法として、簡約される。結果として得られる一変数多項式のセットは、例えば多項式においてyの等価累乗（equal  power）の係数を追加することによって合計される。これは、
【数１５】
0006034998.tif 000016
について、
【数１６】
0006034998.tif 000017
という数式から取得され得る。
【０１１８】
fi(x,y)は、第１の秘密セット内の二変数多項式のうちの１つであると仮定する。この多項式の係数は、環
【数１７】
0006034998.tif 000018
から取られる。すなわち、第１の秘密セット内の多項式の係数は整数環から取られる。簡潔性のために、変数x及びyを使用して、第１のセット内の整数の形式的変数を表す。
【０１１９】
代入の後、多項式操作ユニット２２０はfi(A,y)を取得する。多項式操作ユニット２２０は更に、piを法としてこの項を簡約するように構成される。係数は、例えばpを法として簡約することにより、システムが作用する環、例えばZpにおいて簡約される。好ましくは、多項式操作ユニット２２０は、その結果を、正規化形式、すなわち所定の標準的な表現にする。適切な正規化形式は、単項式の次数によってソートされた係数表現である。あるいは、代入はyについてのものであってもよい。
【０１２０】
識別番号がシステム内で「ランダム」に動作することを保証するために、チェーン内のポイントにおけるランダム化ステップにより、格子攻撃が簡単でないことを保証することが望ましい。特に、ネットワークデバイスが、特定の順序に従う識別番号、例えばシリアル番号を与えられる場合、そのようなランダム化ステップは望ましい。例えば暗号ハッシュ、例えばsha-256が識別番号に適用されてよく、その結果はBビットまで短くなる。
【０１２１】
さらに、識別番号は、より多くのビットまで拡張されてもよい。例えばB’ビットの識別番号は、例えばハッシュ及び／又は連結（concatenation）によってBビットまで拡張されてよく、この場合B’＜Bである。例えば識別番号Aは、H(A)まで、あるいはA||H(A)まで拡張されてもよく；Hはハッシュを示し、||は連結を示す。連結はLSB側で行われる。暗号ハッシュのような高度に非線形のハッシュが、この操作には好ましい。
【０１２２】
第１のセットが対称の多項式のみを含む場合、次いで識別整数Aの代入は、二変数多項式の２つの変数のうちのいずれか一方であってよい。しかしながら、代入が非対称の多項式で行われる場合、より注意が必要となる。例えば多項式操作ユニット２２０は、第１のネットワークデバイス３００が第１のグループであるか第２のグループであるかを得るように構成され得る。第１及び第２のグループは、二変数多項式の第１及び第２の変数にそれぞれ関連付けられる。第１のグループ内のネットワークデバイスについては、常に第１の変数が使用される。第２のグループ内のネットワークデバイスについては、常に第２の変数が使用される。
【０１２３】
図１は、この機能を実装する１つの可能な方法を示す。図１は、代入ユニット２２２、多項式簡約（polynomial  reduction）ユニット２２４、多項式加算ユニット２２６及び一変数多項式のセットの合計２２８を示しており、後者は、一変数秘密鍵多項式２２９になる。これらは次のように機能し得る。代入ユニット２２２は、識別整数Aを第１のセットの二変数多項式に代入する。代入ユニット２２２は、複数の項を集めて、その結果を正規化形式にしてもよいが、これは待つこともある。多項式簡約ユニット２２４は、代入の結果を受け取り、代入された二変数多項式に関連付けられるリダクション整数を法として、この代入結果を簡約する。
【０１２４】
識別整数Aを特定の多項式に代入しfj(A,y)、その特定の多項式に関連付けられるリダクション整数を法として簡約した結果を、多項式加算ユニット２２６による合計の前に、係数のリストとして正規化形式で表す。変数yは、形式的変数として機能する。この代入は時々、簡単にfi(A,)と示される。
【０１２５】
多項式加算ユニット２２６は、簡約された一変数多項式を受け取り、これらを合計２２８内のそれまでの合計（running  total）に加算する。合計２２８は、一変数秘密鍵多項式の生成の前に0にリセットされている。多項式加算ユニット２２６は、自然演算を使用して又はパラメータセットに関連付けられる公開グローバルリダクション数を法として使用して、多項式を係数的に（coefficient-wise）加算することができる。
【０１２６】
第１の秘密セットの全ての多項式をこの方法で処理すると、合計２２８内の結果を、一変数秘密鍵多項式として使用することができる。例えば合計２２８で、結果として得られる一変数秘密鍵多項式を、係数のリストとして正規化形式で表すことができる。
【０１２７】
システム２００が複数のインスタンスを使用する場合、すなわちシステム２００が複数のパラメータセットを使用する場合、多項式操作ユニット２２０は、これらの各々について、一変数秘密鍵多項式を決定する。必要とされるユニット２２０が何らかの情報を再使用することができる場合、例えばユニット２２０は、同じ識別番号Aを使用して全ての一変数秘密鍵多項式を生成することができる。更なるセキュリティのために、パラメータセットは独立であり、また、好ましくは異なる識別番号を使用する。
【０１２８】
ネットワークデバイスマネージャ２３０は更に、生成された一変数秘密鍵多項式２２９及び対応する公開グローバルリダクション整数２５６  Nをネットワークデバイスにおいて、電子的に格納するために構成される。一変数秘密鍵多項式２２９及びその１つ又は複数の識別番号を使用して、第１のネットワークデバイス３００は、同じルート材料から構成される他のデバイスと鍵を共有することができる。ネットワークデバイスマネージャ２３０は、ネットワークデバイスにおいて、パラメータB及びbを電子的に格納するために構成されてもよい。
【０１２９】
多項式操作ユニット２２０は、ソフトウェアで実装されてよいが、多項式操作ユニット２２０はハードウェアでの実装に特に適している。多項式簡約ユニット２２４がハードウェアのみを実装している場合、大幅な速度改善が得られる；システム２００の機能のうち、ハードウェアバージョンのユニット２２４によって実施されない部分は、プロセッサのソフトウェア実行で実施されてもよい。
【０１３０】
図１は、多項式操作ユニット２２０が、第１のネットワークデバイス３００から識別番号２３２を受け取ること；第１のネットワークデバイス３００が、鍵材料取得器２１０からの公開グローバルリダクション整数メッセージ２３４と、多項式操作ユニット２２０から一変数秘密鍵多項式メッセージ２３６を受け取ることを示している。これらのメッセージは典型的に、ネットワークデバイスマネージャ２３０を通して送受信される。一変数秘密鍵多項式メッセージ２３６及び公開グローバルリダクション整数メッセージ２３４を、単一のメッセージに組み合わせることができる。公開グローバルリダクション整数メッセージ２３４は、一変数秘密鍵多項式メッセージ２３６内の複数の一変数秘密鍵多項式に対応する、複数の公開グローバルリダクション整数を含んでよい。識別番号メッセージ２３２は、１つ以上の識別番号を含み得る。識別番号メッセージ２３２は、更に又はこれに代えて、１つ以上の更なる識別番号を含んでもよく、システム２００は、例えばこれらをハッシュ処理することによって、１つ以上の更なる識別番号から１つ以上の識別番号を導出するように構成される。
【０１３１】
構成用システム２００は、第１のネットワークデバイス３００について識別番号を生成することによって、識別番号を取得するように構成されることもある。そのような構成は、製造施設により良く適合する。この場合、第１のネットワークデバイス３００は、識別番号メッセージ２３２を送信する代わりに、構成システム２００から識別番号メッセージ２３２を受け取る、例えば鍵材料取得器２１０又は多項式操作ユニット２２０から識別番号メッセージ２２を受け取る。
【０１３２】
図２は、第１のネットワークデバイス３００及び第２のネットワークデバイス３５０の概略的なブロック図である。第１のネットワークデバイス３００及び第２のネットワークデバイス３５０は、一緒に共有鍵を決定するように構成される。
【０１３３】
第２のネットワークデバイス３５０は、ネットワークデバイス３００と同じ設計のものであってよい。第１のネットワークデバイス３００についてのみ詳細に説明するが、第２のネットワークデバイス３５０も同じ又は同様であってよい。図２は単に、第２のネットワークデバイス３５０が識別番号３５５を格納することを図示している。第２のネットワークデバイス３５０の識別番号３５５は、公開（パブリック）であり、鍵を共有するためにネットワークデバイス３００と交換され得る。第２のネットワークデバイス３５０は、ローカル鍵材料（図示せず）、特に識別番号３５５に対応する１つ以上の一変数秘密鍵多項式も必要とする。
【０１３４】
第１のネットワークデバイス３００は、電子ストレージ３２０、通信ユニット３４２、多項式操作ユニット３３０及び鍵導出デバイス３４０を備える。
【０１３５】
ストレージ３２０はデバイス３００のローカル鍵材料を格納する。デバイスは、ローカル鍵材料の単一のインスタンス、すなわち１つの一変数多項式、一変数秘密鍵多項式及び１つの公開グローバルリダクション整数とともに機能するよう構成され得る。図２に図示される実施形態では、デバイス３００は、鍵材料の複数のセットを備え、そのうちの第１の鍵材料３７０及び第２の鍵材料３８０が図示されている。デバイス３００の鍵材料は、例えばシステム２００のように、鍵共有のためにネットワークデバイスを構成するためのシステムから取得されたものであってよいので、鍵材料のセットの数は２より多くてもよい。鍵材料は、一変数秘密鍵多項式及び公開グローバルリダクション整数を備える。例えば第１の鍵材料３７０は、一変数秘密鍵多項式３７２及び公開グローバルリダクション整数３７４を備え；第２の鍵材料３８０は、一変数秘密鍵多項式３８２及び公開グローバルリダクション整数３８４を備える。公開グローバルリダクション整数は、幾つかの又は全ての鍵材料の間で共有されてよい。しかしながら、秘密鍵多項式は、全てのセットにおいて異なることが好ましい。
【０１３６】
ストレージ３２０は、鍵材料内の一変数秘密鍵多項式を生成するために使用された識別番号３１０  Aも格納する。鍵材料は、識別番号を備えることもあり、各鍵材料に異なる識別番号が使用される場合は特にそうである。
【０１３７】
ストレージ３２０は、メモリ、例えばフラッシュメモリのように不揮発性で書き込み可能なメモリとすることができる。ストレージ３２０は、他のタイプのストレージ、例えばハードディスクのような磁気ストレージであってもよい。ストレージ３２０はライトワンスメモリであってもよい。
【０１３８】
通信ユニット３４２は、第２のネットワークデバイス３５０の識別番号３５５を取得するように構成される。通信ユニット３４２は、例えばWi-Fi、Bluetooth（登録商標）又はZigbee（登録商標）接続のような有線接続として実装されてもよい。通信ユニット３４２は、データネットワーク、例えばインターネット上での接続で実装されてもよい。
【０１３９】
多項式操作ユニット３３０は、ストレージ３２０内の鍵材料の各セットについて、デバイス３５０と共有される小さな鍵を導出するように構成される。デバイス３５０は、デバイス３００と同じ数の鍵材料を有する。デバイス３００は、デバイス３５０から１つ以上の識別番号を受け取ることができる。デバイス３００は、更なる識別番号を受け取って、この更なる識別番号から識別番号を導出することもできる。以下に、多項式操作ユニット３３０が、第１の鍵材料３７０を使用して単一の共有鍵をどのように導出することができるかについて説明する。他の鍵材料について小さな共有鍵を導出することは、同じやり方で進む。複数の共有鍵を使用して、より大きな共有鍵を導出することができる。
【０１４０】
多項式操作ユニット３３０は、代入ユニット３３２及び整数簡約ユニット３３４を備え得る。
【０１４１】
多項式操作ユニット３３０は、識別整数Aを一変数秘密鍵多項式３７２へ代入し、公開グローバルリダクション整数３７４を法として代入の結果を簡約するように構成される。多項式操作ユニット３３０は、代入ユニット２２２及び多項式簡約ユニット２２４と同様のハードウェア又はソフトウェアを使用することができる。第１のネットワークデバイス３００は、第１及び第２の秘密セットへのアクセスを有していないことに留意されたい。
【０１４２】
任意選択として、多項式操作ユニット３３０は、鍵等化器（key  equalizer）３３６を備える。デバイス３００及びデバイス３５０が、同じ小さな共有鍵に到達しないことが起こり得る。ある適用（application）はこの可能性を無視することを選択することがある。その際、ネットワークデバイスの一部のペアが、共通の共有鍵を欠くので、暗号化及び／又は認証された通信に携わることができないことがある。一部の適用について、ネットワークデバイスの一部のペアのみがセキュアにされれば十分であり、例えばアドホックネットワークがこの例である。デバイス３００及び３５０は、オプションの鍵等化器３３６を有するように構成されることもある。２つのデバイス３００及び３５０の一方において、鍵等化器３３６が、生成された鍵から鍵確認データを生成し、このデータを他方のデバイスに送信し；他方のデバイスでは、鍵等化器３３６が、受け取った鍵確認データを使用して、双方のデバイスで導出される共有の小さな鍵が同じものとなるように、生成された小さな鍵を適合する。
【０１４３】
例えばデバイス３００内の鍵等化器３３６は、生成された小さな鍵の所定数の最下位ビットを、鍵確認データとして取得する。例えば所定数cは、2c≧1＋2(3m＋2α)となる最も小さな数として選択されてよく、ここで、αは第１の秘密セット内の多項式の次数であり、mは多項式の数である。
【０１４４】
鍵等化器３３６を使用して鍵を適合させる場合、鍵等化器３３６は、鍵確認データに整合するまで、生成される小さな鍵を適合させる、すなわち、適合された小さな鍵から鍵確認データを導出することは、その鍵について受け取った鍵確認データと同じ結果を与えるであろう。小さな鍵を適合させることは、公開グローバルリダクション整数の倍数を加算し、2bを法として簡約することにより、すなわち、KBA＋δN  mod  2bにより行われ得る。最下位ビットが確認データとして使用される場合、等化器は、c個の最下位ビットが、受け取ったビットと同じになるまで倍数を加算する。
【０１４５】
鍵導出デバイス３４０は、小さな鍵の全てから、すなわち、公開グローバルリダクション整数を法とする簡約の結果の全てから、共有鍵を導出するように構成される。共有鍵はいわゆる対称鍵である。簡約の結果は整数である。この結果は、例えば任意選択として等化後にその係数を連結することによって、ほぼ直接的に鍵として使用され得る。
【０１４６】
簡約の結果から共有鍵を導出することには、鍵導出関数、例えばオープンモバイルアプライアンスのOMA  DRM仕様で規定される関数KDF（OMA-TS-DRM-DRM-V2_0_2-20080723-A,  section  7.1.2  KDF）及び同様の関数の適用が含まれ得る。
【０１４７】
小さな鍵ごとに鍵確認データを送受信する代わりに、等化器は、場合によってはKDFのような鍵確認アルゴリズムの後であっても、組み立てた大きな共有鍵に対する鍵確認データを生成するように構成されることもある。この場合において、等化器は、鍵確認データを満たす大きな鍵が見つかるまで、全ての小さな鍵を同時に適合させる。複数の小さな鍵を同時に変化させることはかなりの作業であるが、小さな鍵についての直接的な情報があまり利用可能にならないので、大きな鍵に対する鍵確認データを生成することはかなりセキュアである。
【０１４８】
図２は更に、第１のネットワークデバイス３００におけるオプションの暗号ユニット３４５を図示している。暗号ユニット３４５は、共有鍵を使用するように構成される。例えば暗号ユニット３４５は、共有の対称鍵を用いて電子メッセージを暗号化するために構成される暗号化ユニットであってよい。例えば暗号ユニット３４５は、共有の対称鍵を用いて電子メッセージを復号するために構成される復号ユニットであってよい。
【０１４９】
図３ａは、鍵共有システム１００の概略的なブロックである。
【０１５０】
鍵共有システム１００は、構成用システム２００及び複数のネットワークデバイスを備え；複数のネットワークデバイスとして図示されているのは、ネットワークデバイス３００、３５０及び３６０である。ネットワークデバイスはそれぞれ、識別番号、一変数秘密鍵多項式及びグローバルリダクション整数を構成用システム２００から受け取る。この情報を使用して、これらのネットワークデバイスは、共有鍵に合意することができる。例えば第１のネットワークデバイス３００及び第２のネットワークデバイス３５０はそれぞれ、その識別番号を他のパーティへ送信する。第１のネットワークデバイス３００及び第２のネットワークデバイス３５０は次いで、複数の小さな共有鍵を計算することができ、この小さな共有鍵は大きな共有鍵へと組み合わせる。第１のネットワークデバイス３００と第２のネットワークデバイス３５０との間の通信について知識及び更にはグローバルリダクション整数についての知識を有する者であっても、膨大な量のリソースを使用することなく、その共有鍵を取得することはできない。デバイス３６０さえも、デバイス３００と３５０との間で共有される鍵を導出することができない。
【０１５１】
図３ｂは、同様の鍵共有システム１０２の概略的なブロック図である。システム１０２は、ネットワークデバイスが、その識別番号を個人化デバイスとも呼ばれる構成サーバ１１０から受け取る点を除いてシステム１００と同じである。ネットワークデバイスは次いで、その識別番号を送信することによって、構成用システム２００に登録する。デバイス３０さえも、デバイス３００と３５０との間で共有される鍵を導出することができない。
【０１５２】
構成サーバ１１０は、他の目的にも使用される識別番号を割り当てることができる。例えば構成サーバ１１０は、MACアドレスのようなネットワークアドレスを割り当てることができる。ネットワークアドレスは、ネットワークトラフィックを第２のネットワークノードからネットワークノード自身へルーティングするために、ネットワークノードによって使用される。しかしながら、ネットワークアドレスは、識別番号と重複することもある。この場合、ネットワークノードは、そのネットワークアドレスをシステム２００に対して利用可能にし、ネットワークノードがそのネットワークアドレスを識別番号として使用して暗号化通信に関与することを可能にする、一変数秘密鍵多項式を受け取る。識別番号は完全エントロピー（full  entropy）、すなわちBビットのエントロピーを有することが好ましい。しかしながら、これを実現することができないときは、番号（数）を識別番号として使用する前に、エントロピー平滑化関数（entropy  smoothing  function）、例えばハッシュ関数を実行することが好ましい。
【０１５３】
構成サーバ１１０は、近い識別番号を避けることにより、すなわち、最上位ビットの多く又は全てを共有する識別番号を避けることにより、システムのセキュリティを向上させるように識別番号を生成することができる。例えばサーバ１１０は識別番号をランダムに、例えば真性乱数又は疑似乱数を生成することができる。これは、所定数の乱数ビット、例えば10ビットを識別番号に付加することにも十分である。識別番号は、形式A1||A2を有し、この場合、A1は乱数ではなく、例えばシリアル番号、ネットワークアドレス又は同様のものであり、A2は乱数である。A2は、乱数生成器によって生成され得る。A2は、A1をハッシュ処理することによって生成されてもよい。鍵形成ハッシュ（keyed  hash）、例えばHMACが使用される場合、次いでA2は、その鍵に対するアクセスを有しないパーティに対しては、乱数から区別できない。鍵は、サーバ１１０によって生成されて格納され得る。
【０１５４】
サーバ１１０は、システム２００内に含まれてよく、例えばネットワークデバイスマネージャ２３０内に組み込まれてよい。
【０１５５】
図４は、集積回路４００の概略的なブロック図である。集積回路４００は、プロセッサ４２０、メモリ４３０及びI/Oユニット４４０を備える。集積回路４００のこれらのユニットは、バス等の相互接続４１０を通して相互間で通信することができる。プロセッサ４２０は、本明細書で説明されるような方法を実行するために、メモリ４３０内に格納されるソフトウェアを実行するように構成される。このようにして、集積回路４００は、構成用システム２００として、あるいは第１のネットワークデバイス３００のようなネットワークデバイスとして構成されてよく；メモリ４３０の一部は、必要に応じて公開グローバルリダクション整数、二変数多項式の第１の秘密のセット、リダクション整数の第２の秘密セット、識別番号、平文メッセージ及び／又は暗号化されたメッセージを格納することができる。
【０１５６】
I/Oユニット４４０は、例えば二変数多項式の第１の秘密セット２５２、場合によってはサイズや指数、モジュライ等のような関連するパラメータ等のような鍵データを受け取るために、デバイス２００又は３００のような他のデバイスとの通信に使用されてよい。I/Oユニット４４０は、無線通信用のアンテナを備えてよい。I/Oユニット４４０は、有線通信用の電気インタフェースを備えてもよい。
【０１５７】
集積回路４００は、コンピュータやモバイル通信デバイス、例えばモバイルフォン等に一体化されてよい。集積回路４００は、照明デバイスに一体化されてもよく、例えばLEDデバイスとともに配置されてもよい。例えばネットワークデバイス３００として構成され、LEDのような照明ユニットとともに配置される集積回路４００は、共有の対称鍵で暗号化されたコマンドを受け取ることができる。
【０１５８】
例えば照明デバイスに組み込まれる複数のネットワークデバイスは、暗号化されたネットワークのノードを形成することができ、このネットワーク内では、リンクはノード間の共有鍵を使用して暗号化される。
【０１５９】
多項式操作は、メモリ４３０内に格納される多項式操作ソフトウェアによって指示されるとおりに、プロセッサ４２０によって実行され得るが、集積回路４００がオプションの多項式操作ユニット４５０とともに構成される場合、鍵生成及び一変数多項式の計算というタスクはより早い。この実施形態において、多項式操作ユニット４５０は、代入及び簡約演算を実行するためのハードウェアユニットである。
【０１６０】
典型的に、デバイス２００及び３００はそれぞれ、デバイス２００及び３００に格納される適切なソフトウェアを実行するマイクロプロセッサ（図示せず）を備え；例えばこのソフトウェアは、例えばRAMのようは揮発性メモリ又はフラッシュ（図示せず）のような不揮発性のメモリのような、対応するメモリ内にダウンロード及び／又は格納されている。あるいは、デバイス２００及び３００は、全体又は部分的に、例えばフィールドプログラマブルゲートアレイ（FPGA）としてプログラム可能ロジックで実装されてもよい。
【０１６１】
図５は、bビットの長さの鍵を共有するためにネットワークデバイス、例えば第１のネットワークデバイス３００を構成する方法５００を例示するフローチャートを図示している。方法５００は以下のステップを備える。
【０１６２】
公開グローバルリダクション整数２５６  N、二変数多項式の第１の秘密セット２５２  fi(,)及びリダクション整数の第２の秘密セット２５４を電子的形式で取得するステップ５０２。第１のセット内の各二変数多項式と、第２のセットのリダクション整数が関連付けられる。ステップ５０２は鍵材料を取得することの一部であってよい。
【０１６３】
ネットワークデバイスについての識別番号３１０  Aを電子的形式で取得するステップ５０４。識別番号は、Bビットの長さであり、B＞bである。
【０１６４】
第１の秘密セットの各特定の多項式について、識別番号Aをその特定の多項式に代入しfi(A,)５０８、その特定の多項式に関連付けられるリダクション整数を法として簡約すること５１０により、一変数多項式のセットを取得することと、
例えば残りの形式的変数の等価累乗の係数を加算することによって、一変数多項式のセットを合計することと５１２、
によって、第１及び第２の秘密セットから一変数秘密鍵多項式２２９を計算するステップ５０６。
【０１６５】
生成された一変数秘密鍵多項式２２９及び公開グローバルリダクション整数２５６  Nをネットワークデバイスにおいて格納するステップ５１４。
【０１６６】
図６は、ネットワークデバイス３５０との、サイズbの共有鍵を決定する方法６００を例示するフローチャートを図示している。方法６００は以下のステップを備える。
【０１６７】
本明細書で説明されるように、鍵共有のためにネットワークデバイスを構成するためのシステムから取得される、一変数秘密鍵多項式３７２及び公開グローバルリダクション整数３７４  Nを格納するステップ６０２。
【０１６８】
第１のネットワークデバイスの識別番号３１０  Aを格納するステップ６０４。第１の識別番号は、Bビットの長さであり、B＞bである。
【０１６９】
第２のネットワークデバイスの識別番号３５５を取得するステップ６０６。第２のネットワークデバイスの識別番号３５５は、Bビットの長さであり、B＞bである。
【０１７０】
第２の識別整数を一変数多項式に代入するステップ６０８、公開グローバルリダクション整数（N）を法として代入の結果を簡約するステップ６１０、公開グローバルリダクション整数（N）を法とする簡約の結果を、2bを法として更に簡約するステップ。
【０１７１】
2bを法とする簡約の結果から共有鍵を導出するステップ６１２。
【０１７２】
当業者には明らかであるように、本発明を実行する多くの異なる方法が可能である。例えばステップの順序を変更することができ、あるいは一部のステップを並列に実行してもよい。さらに、ステップの間に、他の方法のステップを挿入してもよい。挿入されたステップは、本明細書で説明されるような方法の改善を表すことがあり、あるいは方法とは未関連であってもよい。さらに、所与のステップは、次のステップが開始される前に必ずしも完全に終了しなくてもよい。
【０１７３】
本発明に係る方法は、プロセッサシステムに方法５００及び／又は６００を実行させるための命令を備えるソフトウェアを使用して実行され得る。ソフトウェアは、システムの特定のサブエンティティによって行われるこれらのステップのみを含んでもよい。ソフトウェアは、ハードディスク、フロッピー、メモリ等のような適切な記憶媒体に格納され得る。ソフトウェアは、有線又は無線によって、あるいは例えばインターネットのようなデータネットワークを使用して信号として送信されてもよい。ソフトウェアは、ダウンロード及び／又はサーバ上でのリモート使用に利用可能にされ得る。
【０１７４】
認識されるように、本発明は、コンピュータプログラム、特に本発明を実践に移すように適合される担体上又は担体内のコンピュータプログラムにも及ぶ。プログラムは、部分的にコンパイルされる形態のようなソースコード、オブジェクトコード、コード中間ソース及びオブジェクトコードの形態、あるいは本発明に係る方法の実装における使用に適した他の形態であってよい。コンピュータプログラム製品に関する実施形態は、説明される方法の少なくとも１つの処理ステップの各々に対応するコンピュータ実行可能命令を備える。これらの命令は、サブルーチンに細分され得るか、かつ／又は静的若しくは動的にリンクされ得る１つ以上のファイルに格納され得る。コンピュータプログラム製品に関する別の実施形態は、説明されるシステム及び／又は製品の少なくとも１つについての手段の各々に対応するコンピュータ実行可能命令を備える。
【０１７５】
上述の実施形態は、本発明を限定するものではなく例示であり、当業者は、多くの代替的な実施形態を設計することが可能であろうことに留意されたい。
【０１７６】
特許請求の範囲において、括弧内に配置される任意の参照符号は、請求項を限定するものとして解釈されるべきではない。「備える（comprise）」という動詞及びその派生語の使用は、請求項に記載されるもの以外の要素又はステップの存在を除外しない。ある要素に先行する「a」、「an」という冠詞は、そのような要素の複数の存在を除外しない。本発明は、幾つかの個別の要素を備えるハードウェアによって、及び適切にプログラムされるコンピュータによって実装され得る。幾つかの手段を列挙するデバイスの請求項において、これらの要素の幾つかは、ハードウェアの１つ及び同じアイテムで具現化されてよい。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せを有利に使用することができないことを示唆するものではない。
【符号の説明】
【０１７７】
１００，１０２  鍵共有システム
１１０  個人化デバイス
２００  鍵共有のためにネットワークデバイスを構成するためのシステム
２１０  鍵材料取得器
２２０  多項式操作ユニット
２２２  代入ユニット
２２４  多項式簡約ユニット
２２６  多項式加算ユニット
２２８  一変数多項式のセットの合計
２２９  一変数秘密鍵多項式
２３０  ネットワークデバイスマネージャ
２３２  識別番号メッセージ
２３４  公開グローバルリダクション整数メッセージ
２３６  一変数秘密鍵多項式メッセージ
２５０  第１のパラメータセット
２５２  二変数多項式の第１の秘密セット
２５４  リダクション整数の第２の秘密セット
２５６  公開グローバルリダクション整数
２６０  第２のパラメータセット
２６２  二変数多項式の第１の秘密セット
２６４  リダクション整数の第２の秘密セット
２６６  公開グローバルリダクション整数
３００  第１のネットワークデバイス
３１０  識別番号
３２０  電子ストレージ
３３０  多項式操作ユニット
３３２  代入ユニット
３３４  整数簡約ユニット
３３６  鍵等化器
３４０  鍵導出デバイス
３４２  通信ユニット
３４５  暗号ユニット
３５０  第２のネットワークデバイス
３５５  識別番号  
３６０  第３のネットワークデバイス
３７０  第１の鍵材料
３７２  一変数秘密鍵多項式
３７４  公開グローバルリダクション整数
３８０  第２の鍵材料
３８２  一変数秘密鍵多項式
３８４  公開グローバルリダクション整数
４００  集積回路
４１０  相互接続
４２０  プロセッサ
４３０  メモリ
４４０  I/Oユニット
４５０  多項式操作ユニット
【要約】  鍵を共有するためにネットワークデバイス（３００）を構成するためのシステム（２００）であって、共有鍵はbビットの長さであり、当該システムは：
鍵材料取得器（２１０）であって、電子的形式で二変数多項式の第１の秘密セット（２５２、fi(,)）及びリダクション整数の第２の秘密セット（２５４、pi）を取得し、第１のセット内の各二変数多項式と、第２のセット内のリダクション整数に関連付けがあり、リダクション整数の第２の秘密セット（２５４、pi）に関連付けられる公開グローバルリダクション整数（２５６、N）を取得するための鍵材料取得器と、
ネットワークデバイスの識別番号（３１０、A）を電子的形式で取得するためのネットワークデバイスマネージャであって、識別番号はBビットの長さであり、B＞bである、ネットワークデバイスマネージャと、
第１の秘密セットの各特定の多項式について、識別番号（A）を特定の多項式に代入しfi(A,)、特定の多項式に関連付けられるリダクション整数を法として簡約することにより、一変数多項式のセットを取得することと、
一変数多項式のセットを合計することと、
によって、第１及び第２の秘密セットからネットワークデバイスについての一変数秘密鍵多項式（２２９）を計算する多項式操作ユニット（２２０）と、
を備え、
ネットワークデバイスマネージャは、生成された一変数秘密鍵多項式（２２９、２３６）及び公開グローバルリダクション整数（２５６、N）をネットワークデバイスにおいて電子的に格納するように更に構成される。【図１】
0006034998.tif 000019
【図２】
0006034998.tif 000020
【図３ａ】
0006034998.tif 000021
【図３ｂ】
0006034998.tif 000022
【図４】
0006034998.tif 000023
【図５】
0006034998.tif 000024
【図６】
0006034998.tif 000025