(57)【要約】  ローカルキー情報を用いて複数のネットワークノード２１０、２１１を構築するための電子キー予配信デバイス１１０が提供される。キー予配信デバイスは、ネットワークノードに関するデジタル識別子に対して少なくとも第１のハッシュ関数１４７及び第２のハッシュ関数１４８を適用するプロセッサ回路を含む。第１及び第２のハッシュ関数は、デジタル識別子を、第１の楕円曲線１３１及び第２の楕円曲線１３２上の第１のパブリックポイント１４１；Ｈ１（ＩＤ）及び第２のパブリックポイント１４２；Ｈ２（ＩＤ）にマッピングする。第１及び第２の秘密同種１３５は、ネットワークノード２１０に関するプライベートキー材料１５５の一部分である第１のプライベート楕円曲線ポイント１５１及び第２のプライベート楕円曲線ポイント１５２を取得するために、第１のパブリック楕円曲線ポイント１４１及び第２のパブリック楕円曲線ポイント１４２に適用される。
2020509695.tif 000002
【特許請求の範囲】
【請求項１】
ローカルキー情報を用いて複数のネットワークノードを構築するための電子キー予配信デバイスであって、前記電子キー予配信デバイスが、
第１の楕円曲線に関する第１の秘密同種及び第２の楕円曲線に関する第２の秘密同種を表す情報を含む記憶機構であって、同種が、楕円曲線上のポイントを受け取って、楕円曲線上のポイントを出力として生成する、記憶機構と、
プロセッサ回路であって、
ネットワークノードに関するデジタル識別子を取得することと、
前記デジタル識別子に対して少なくとも第１のハッシュ関数及び第２のハッシュ関数を適用することであって、前記第１及び第２のハッシュ関数が、前記デジタル識別子を、第１の楕円曲線及び第２の楕円曲線上の第１のパブリックポイント及び第２のパブリックポイントにマッピングし、前記第１の楕円曲線が前記第２の楕円曲線とは異なるものであり、前記第１及び第２のパブリックポイントが、前記ネットワークノードに関するパブリックキー材料の一部である、適用することと、
前記第１及び第２の秘密同種を前記第１のパブリック楕円曲線ポイント及び前記第２のパブリック楕円曲線ポイントに適用して、前記ネットワークノードに関するプライベートキー材料の一部分である第１のプライベート楕円曲線ポイント及び第２のプライベート楕円曲線ポイントを取得することとを行う、プロセッサ回路と、
前記第１及び第２のプライベート楕円曲線ポイントを用いて前記ネットワークノードを構築する通信インターフェースとを備える、電子キー予配信デバイス。
【請求項２】
前記第１のパブリックポイントが前記第１及び第２の楕円曲線のうちの一方にあり、前記第２のパブリックポイントが前記第１及び第２の楕円曲線のうちの他方にあり、前記第１のプライベートポイントが前記第１及び第２の楕円曲線のうちの一方にあり、前記第２のプライベートポイントが前記第１及び第２の楕円曲線のうちの他方にある、請求項１に記載の電子キー予配信デバイス。
【請求項３】
第１の同種が前記第１の楕円曲線から前記第２の楕円曲線へのマッピングであり、第２の同種が前記第１の同種の双対であり、前記第１のパブリックポイントが前記第１の楕円曲線上のポイントであり、前記第１のプライベートポイントが前記第２の楕円曲線上のポイントであり、前記第２のパブリックポイントが前記第２の楕円曲線上のポイントであり、前記第２のプライベートポイントが前記第１の楕円曲線上のポイントである、請求項１又は２に記載の電子キー予配信デバイス。
【請求項４】
前記第１の楕円曲線と前記第２の楕円曲線とが、異なる式によって定義される、請求項１ないし３のいずれか一項に記載の電子キー予配信デバイス。
【請求項５】
前記第１及び第２の秘密同種が楕円曲線からそれ自体にマッピングし、前記第１及び第２の秘密同種が楕円曲線上の入力ポイントと秘密の整数との楕円曲線のスカラ乗法を含み、前記情報が前記秘密の整数を含むこれら前記秘密同種を表す、請求項１に記載の電子キー予配信デバイス。
【請求項６】
第２のネットワークノードとのキー合意プロトコル用の第１の電子的ネットワークノードであって、前記第１の電子的ネットワークノードが、
記憶機構であって、
前記第１の電子的ネットワークノードに関するデジタル識別子並びに／又は第１及び第２の楕円曲線上にある第１及び第２のパブリック楕円曲線ポイントと、
第１及び第２の秘密同種によって前記第１のパブリック楕円曲線ポイント及び前記第２のパブリック楕円曲線ポイントに対応する、第１のプライベート楕円曲線ポイント及び第２のプライベート楕円曲線ポイントであって、前記第１のパブリック楕円曲線ポイント及び前記第２のパブリック楕円曲線ポイントが、第１のハッシュ関数及び第２のハッシュ関数によって前記ネットワークノードの前記デジタル識別子に対応し、前記第１及び第２のプライベート楕円曲線ポイントがキー予配信デバイスによって計算される、第１のプライベート楕円曲線ポイント及び第２のプライベート楕円曲線ポイントとを含む、記憶機構と、
プロセッサ回路であって、
前記第２のネットワークノードに関するパブリック楕円曲線ポイントを取得することであって、前記パブリック楕円曲線ポイントが前記第１及び第２の楕円曲線のうち一方の楕円曲線上にある、取得することと、
前記第１及び第２の楕円曲線のうち前記一方の楕円曲線とは異なる他方の楕円曲線上にある前記第１及び第２のプライベート楕円曲線ポイントから、プライベート楕円曲線ポイントを選択することと、
前記第１の電子的ネットワークノードの前記選択されたプライベートポイントと、前記第２のネットワークノードの前記取得されたパブリック楕円曲線ポイント又は前記第１のノードによってパブリック同種が適用されている前記第２のネットワークノードの前記パブリック楕円曲線ポイントとに対して、双線形マップを適用することと、
前記双線形マップの結果から暗号キーを導出することとを行う、プロセッサ回路とを備える、第１の電子的ネットワークノード。
【請求項７】
前記プロセッサ回路が、
前記第２のネットワークノードに関する、前記第１の楕円曲線上のパブリック楕円曲線ポイント又は前記第２の楕円曲線上のパブリック楕円曲線ポイントを取得し、
前記第２のネットワークノードに関する前記第１の楕円曲線上のパブリック楕円曲線ポイント及び前記第１の楕円曲線上の前記第２のプライベート楕円曲線ポイント、又は、
前記第２のネットワークノードに関する前記第２の楕円曲線上のパブリック楕円曲線ポイント及び前記第２の楕円曲線上の前記第１のプライベート楕円曲線ポイントに対して、双線形マップを適用する、請求項６に記載の第１の電子的ネットワークノード。
【請求項８】
前記第１のパブリックポイント及び前記第１のプライベートポイントが前記第１の楕円曲線上にあり、前記第２のパブリックポイント及び前記第２のプライベートポイントが前記第２の楕円曲線上にあり、前記プロセッサ回路が、前記パブリック楕円曲線ポイントに対して、前記双線形マップを適用する前にパブリック同種を適用し、前記パブリック同種が、前記第１の楕円曲線から前記第２の楕円曲線に、又は前記第２の楕円曲線から前記第１の楕円曲線にマッピングする、請求項６に記載の第１の電子的ネットワークノード。
【請求項９】
前記プロセッサ回路は、
前記第１の電子的ネットワークノードが前記暗号化キーを正確に計算したことを前記第２のノードが検証できるように、前記暗号化キーからキー確認データを計算し、且つ／又は
前記第２のノードから前記暗号化キーに関するキー確認データを受け取って検証することにより、前記第２のネットワークノードが前記暗号化キーを正確に計算したことを検証する、請求項６ないし８のいずれか一項に記載の第１の電子的ネットワークノード。
【請求項１０】
前記プロセッサ回路が、前記暗号化キーを用いてデジタルメッセージを暗号化して、暗号化された前記デジタルメッセージを前記第２のノードに送り、且つ／又は前記第２のノードから受け取った前記暗号化キーを用いて、暗号化されたメッセージを解読する、請求項６ないし９のいずれか一項に記載の第１の電子的ネットワークノード。
【請求項１１】
ローカルキー情報を用いて複数のネットワークノードを構築するキー予配信のための電子的方法であって、前記キー予配信のための電子的方法が、
第１の楕円曲線に関する第１の秘密同種及び第２の楕円曲線に関する第２の秘密同種を表す情報を記憶するステップであって、同種が、楕円曲線上のポイントを受け取って、楕円曲線上のポイントを出力として生成する、記憶するステップと、
ネットワークノードに関するデジタル識別子を取得するステップと、
前記デジタル識別子に対して少なくとも第１のハッシュ関数及び第２のハッシュ関数を適用するステップであって、前記第１及び第２のハッシュ関数が、前記デジタル識別子を、第１の楕円曲線及び第２の楕円曲線上の第１のパブリックポイント及び第２のパブリックポイントにマッピングし、前記第１の楕円曲線が前記第２の楕円曲線とは異なるものであり、前記第１のパブリックポイント及び前記第２のパブリックポイントが、前記ネットワークノードに関するパブリックキー材料の一部である、適用するステップと、
前記第１及び第２の秘密同種を前記第１パブリック楕円曲線ポイント及び第２のパブリック楕円曲線ポイントに適用して、前記ネットワークノードに関するプライベートキー材料の一部分である第１のプライベート楕円曲線ポイント及び第２のプライベート楕円曲線ポイントを取得するステップと、
通信インターフェースを通じて、前記プライベート楕円曲線ポイントを用いて前記ネットワークノードを構築するステップとを有する、キー予配信のための電子的方法。
【請求項１２】
第１のネットワークノードと第２のネットワークノードとの間に共有キーを確立するための電子的方法であって、前記電子的方法が、
記憶するステップであって、
前記第１のネットワークノードに関するデジタル識別子並びに／又は第１及び第２の楕円曲線上にある第１及び第２のパブリック楕円曲線ポイントと、
第１及び第２の秘密同種によって前記第１のパブリック楕円曲線ポイント及び前記第２のパブリック楕円曲線ポイントに対応する、第１のプライベート楕円曲線ポイント及び第２のプライベート楕円曲線ポイントであって、前記第１のパブリック楕円曲線ポイント及び前記第２のパブリック楕円曲線ポイントが、第１のハッシュ関数及び第２のハッシュ関数によって前記ネットワークノードに関する前記デジタル識別子に対応し、前記第１及び第２のプライベート楕円曲線ポイントがキー予配信デバイスによって計算される、第１のプライベート楕円曲線ポイント及び第２のプライベート楕円曲線ポイントとを記憶するステップと、
前記第２のネットワークノードに関するパブリック楕円曲線ポイントを取得するステップであって、前記パブリック楕円曲線ポイントが前記第１及び第２の楕円曲線のうち一方の楕円曲線上にある、取得するステップと、
前記第１及び第２の楕円曲線のうち前記一方の楕円曲線とは異なる他方の楕円曲線上にある前記第１及び第２のプライベート楕円曲線ポイントから、プライベート楕円曲線ポイントを選択するステップと、
前記第１のネットワークノードの選択されたプライベートポイントと、前記第２のネットワークノードの取得された前記パブリック楕円曲線ポイント又は前記第１のノードによってパブリック同種が適用されている前記第２のネットワークノードの前記パブリック楕円曲線ポイントとに対して、双線形マップを適用するステップと、
前記双線形マップの結果から暗号キーを導出するステップとを有する、電子的方法。
【請求項１３】
請求項１１又は１２に記載の電子的方法をプロセッサシステムに遂行させるための命令を表わす一時的データ又は非一時的データを含む、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローカルキー情報を用いて複数のネットワークノードを構築するための電子キー予配信デバイスと、第２のネットワークノードとのキー合意プロトコル用に構成された第１の電子的ネットワークノードと、ローカルキー情報を用いて複数のネットワークノードを構築するキー予配信のための電子的方法と、第１のネットワークノードと第２のネットワークノードとの間に共有キーを確立するための電子的方法と、コンピュータ可読媒体とに関するものである。
【背景技術】
【０００２】
たとえば無線センサネットワークにおけるキー合意は、暗号の重要な基本である。２つのパーティは、共通の共有キーについて一旦合意すると、たとえば暗号化及び認証を使用することにより、前記キーを使用して両者の間の通信を保護することができる。いわゆるアイデンティティベースのキー予配信方式は、キー合意を簡単にするための可能なやり方をもたらす。アイデンティティベースのキー予配信方式には、キー予配信とキー導出との２つの段階がある。アイデンティティベースのキー予配信方式の２つの段階には、それぞれローカルキー材料生成アルゴリズム及びキー確立アルゴリズムの２つのアルゴリズムが関連づけられる。
【０００３】
２つのネットワークノードは、アイデンティティベースのキー予配信方式を使用して、それらのアイデンティティに基づく共有キーについて合意することができる。それぞれの対のネットワークノードについてキーが決定される従来の手法は２次関数的に大きくなる可能性がある。しかしながら、アイデンティティベースのキー予配信方式は、それぞれのノードに関する１組のローカルキー材料のみ配信すればよく、したがって直線的に大きくなる。
【０００４】
アイデンティティベースのキー予配信方式は、ルートキー材料を用いて、信頼されたサードパーティを用意することによってセットアップされる。信頼されたサードパーティはデバイスの製造業者でよく、たとえば製造中に、又はいくつかの他の信頼された環境において、デバイスをセットアップする。或いは、信頼されたサードパーティは、たとえばいくつかのオンラインプロトコルを使用してデバイスをセットアップする認証機関のデバイスでもよい。
【０００５】
キー予配信中に、ルートキー材料及びそれぞれのネットワークノードの識別子に対してローカルキー材料生成アルゴリズムを適用することにより、それぞれのネットワークノード向けにローカルキー材料が生成され、ネットワークノードに記憶される。キー導出段階中に、２つのネットワークノードは、それらのローカルキー材料及び他方のネットワークノードの識別子に対してキー確立アルゴリズムを適用することにより、共有キーを導出することができる。たとえば、第１のノードが、それ自体の第１のローカルキー材料と第２のネットワークノードの第２の識別子とに対してキー確立アルゴリズムを適用し、第２のノードが、それ自体の第２のローカルキー材料と第１のネットワークノードの第１の識別子とに対してキー確立アルゴリズムを適用する。キー確立アルゴリズムの結果として、２つのネットワークノードの間でアイデンティティベースのキーが共有される。
【０００６】
複数のアイデンティティベースのキー予配信方式が存在する。たとえば、アイデンティティベースのキー予配信方式は、Ｃｒｙｐｔｏｌｏｇｙ  ｅＰｒｉｎｔ  Ａｒｃｈｉｖｅのレポート２０１４／６９８で公開されたＯｓｃａｒ  Ｇａｒｃｉａ−Ｍｏｒｃｈｏｎ、Ｄｏｍｉｎｇｏ  Ｇｏｍｅｚ−Ｐｅｒｅｚ、Ｊａｉｍｅ  Ｇｕｔｉｅｒｒｅｚ、Ｒｏｎａｌｄ  Ｒｉｅｔｍａｎ、Ｂｅｒｒｙ  Ｓｃｈｏｅｎｍａｋｅｒｓ及びＬｕｄｏ  Ｔｏｌｈｕｉｚｅｎの「ＨＩＭＭＯ  −  Ａ  ｌｉｇｈｔｗｅｉｇｈｔ  ｃｏｌｌｕｓｉｏｎ−ｒｅｓｉｓｔａｎｔ  ｋｅｙ  ｐｒｅ−ｄｉｓｔｒｉｂｕｔｉｏｎ  ｓｃｈｅｍｅ」に説明されている。ＨＩＭＭＯの新バージョンは、同一出願人の、ヨーロッパ特許庁に出願した整理番号２０１５ＰＦ００１７２５のヨーロッパ特許出願「Ｉｍｐｒｏｖｅｄ  ｓｙｓｔｅｍ  ｆｏｒ  ｋｅｙ  ｓｈａｒｉｎｇ」に説明されており、参照によって組み込まれる。いくつかの他のアイデンティティベースのキー配信方式のようなＨＩＭＭＯには、未処理のキーが少しオフになる可能性があるという不利益がある。これは許容され、又は、共有キーに達するために追加のキー一致データ（ヘルパデータとも称される）が使用される。キー一致データは、たとえば第１のネットワークノードがキー合意を起動した場合には、両方のアイデンティティ（たとえば第２のネットワークノード）にアクセスすることができる第１のネットワークノードによって通常生成される。
【０００７】
一実施形態では、ルートキー材料は二変数多項式を含み、ローカルキー材料は一変数多項式を含む。たとえば、Ｂｌｕｎｄｏのアイデンティティベースのキー予配信方式では、ルートキー材料は二変数多項式ｆ（ｘ，ｙ）によって形成される。識別子ＩＤ１を伴う第１のノードに関するローカルキー材料ｇは、二変数多項式を一変数多項式ｇ（ｙ）＝ｆ（ＩＤ１，ｙ）に縮小することによって形成される。ローカルキー材料ｇを伴うノード及び第２のノードの識別子ＩＤ２は、ｇ（ＩＤ２）を計算することによって共有キーを取得する。すべての多項式計算は係数ｍを法として行われる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
最近、アイデンティティベースのキー再配信システムを生成するために楕円曲線上で定義される双線形マッピングを使用することができるかどうかの調査が始まった。しかし、そのような手法によって、暗号の対象における十分な多様性が可能になるのか、したがって暗号分析に対して十分に強固になるかどうかという関心が生じた。その上、暗号のプロトコルは、量子コンピュータの新規の脅威に耐えることが望まれる。
【課題を解決するための手段】
【０００９】
ローカルキー情報を用いて複数のネットワークノードを構築するための電子キー予配信デバイスが提供される。
【００１０】
キー予配信デバイスは、
第１の楕円曲線に関する第１の秘密同種及び第２の楕円曲線に関する第２の秘密同種を表現する情報を含む記憶機構であって、同種が、楕円曲線上のポイントを受け取って、楕円曲線上のポイントを出力として生成するように構成された、記憶機構と、
プロセッサ回路であって、
ネットワークノードに関するデジタル識別子を取得することと、
デジタル識別子に対して少なくとも第１のハッシュ関数及び第２のハッシュ関数を適用することであって、第１及び第２のハッシュ関数が、デジタル識別子を、第１の楕円曲線及び第２の楕円曲線上の第１のパブリックポイント及び第２のパブリックポイントにマッピングするものであり、第１の楕円曲線が第２の楕円曲線とは異なるものであり、第１及び第２のパブリックポイントが、ネットワークノードに関するパブリックキー材料の一部である、適用することと、
第１及び第２のパブリック楕円曲線ポイントに第１及び第２の秘密同種を適用して、ネットワークノードに関するプライベートキー材料の一部である第１のプライベート楕円曲線ポイント及び第２のプライベート楕円曲線ポイントを取得することとを行うように構成されたプロセッサ回路と、
プライベート楕円曲線ポイントを用いてネットワークノードを構築するように構成された通信インターフェースとを備える。
【００１１】
その上、第２のネットワークノードとのキー合意プロトコル用に構成された電子的ネットワークノードが提供される。このネットワークノードは、参照のしやすさのために第１のネットワークノードとして識別され、これと通信する第２のネットワークノードと区別される。「第１の」及び「第２の」といった形容詞に、それ以上の意味はない。第１のネットワークノードが、第２のネットワークノードに対するプロトコルを開始する、起動するネットワークノードであって、第２のネットワークノードがレスポンダネットワークノードでよく、その逆もあり得る。
【００１２】
ネットワークノードは、
第１のネットワークノードに関するデジタル識別子並びに／或いは第１及び第２の楕円曲線上にある第１及び第２のパブリック楕円曲線ポイントと、
第１及び第２の秘密同種によって第１のパブリック楕円曲線ポイント及び第２のパブリック楕円曲線ポイントに対応する第１のプライベート楕円曲線ポイント及び第２のプライベート楕円曲線ポイントであって、第１のパブリック楕円曲線ポイント及び第２のパブリック楕円曲線ポイントは、第１及び第２のハッシュ関数によってネットワークノードに関するデジタル識別子に対応し、第１及び第２のプライベート楕円曲線ポイントはキー予配信デバイスによって計算される第１のプライベート楕円曲線ポイント及び第２のプライベート楕円曲線ポイントと
を備える記憶機構と、
プロセッサ回路であって、
第２のネットワークノードに関するパブリック楕円曲線ポイントを取得することであって、パブリック楕円曲線ポイントが第１及び第２の楕円曲線のうち一方の楕円曲線上にある、取得することと、
第１及び第２の楕円曲線のうち上記一方の楕円曲線とは異なる他方の楕円曲線上にある第１及び第２のプライベート楕円曲線ポイントから、プライベート楕円曲線ポイントを選択することと、
第１のネットワークノードの選択されたプライベートポイントと、第２のネットワークノードの取得されたパブリック楕円曲線ポイント又は第１のノードによってパブリック同種が適用されている第２のネットワークノードのパブリック楕円曲線ポイントとに対して、双線形マップを適用することと、
双線形マップの結果から暗号キーを導出することとを行うように構成されたプロセッサ回路とを備える。
【００１３】
楕円曲線上の同種を暗号のプロトコルに含めると、量子耐性が向上すると想定されるので有利である。詳細には、２つのスーパーシンギュラ楕円曲線の間の同種を再構成する効率的な既知の量子アルゴリズムはない。その上、同種によってアルゴリズムにおける選択肢が増加し、したがってシステムに対する攻撃がより困難になる。ネットワークノードにおいて実施されるプロトコルの利点には、わずかな簡易メッセージを交換するだけで共有キーを計算し得ることがある。実際には、メッセージなしで他方のノードに関するデジタル識別子を取得することができるなら、共有キーを取得するためにメッセージを交換する必要はない。次いで、導出されたキーは、対称な暗号化に関するキーを導出するためなどに使用され得る。楕円曲線ポイントは、たとえばｘ座標のみ、又はｙ座標の符号を判定するための追加ビットを伴うｘ座標といった、圧縮されたポイントもカバーする。
【００１４】
ネットワークノードは電子デバイスである。たとえば、ネットワークノードは携帯電話などのモバイル電子デバイスである。ネットワークノードは、セットトップボックス、スマートカード、コンピュータなどでよい。キー予配信デバイスは、コンピュータ、サーバなどである。キー予配信デバイスは、たとえばメッシュネットワークといった、いわゆるアドホック無線通信ネットワークをセットアップするように構成された電話などの通信デバイスでもよい。本明細書で説明された方法は、広範囲の実用的なアプリケーションに適用される。そのような実用的なアプリケーションは、たとえばメッセージングアプリケーション、中間アプリケーションなど、たとえばクレジットカード情報を共有するためにプライバシーを強化する金融のアプリケーションを含む。
【００１５】
本発明による方法は、コンピュータで実施される方法として、コンピュータ上で、専用ハードウェアにおいて、又は両方の組合せで実施される。本発明による方法に関する実行可能コードは、コンピュータプログラム製品に記憶される。コンピュータプログラム製品の例は、メモリデバイス、光学記憶デバイス、集積回路、サーバ、オンラインソフトウェアなどを含む。好ましくは、コンピュータプログラム製品は、コンピュータ上で実行されたとき、本発明による方法を遂行するための、コンピュータ可読媒体に記憶された非一時的プログラムコードを含む。
【００１６】
好ましい実施形態では、コンピュータプログラムは、コンピュータプログラムがコンピュータ上で実行されたとき本発明による方法のすべてのステップを遂行するように適合されているコンピュータプログラムコードを含む。好ましくは、コンピュータプログラムはコンピュータ可読媒体上に具現される。
【００１７】
本発明の別の態様は、コンピュータプログラムをダウンロード可能にする方法を提供するものである。この態様は、コンピュータプログラムが、たとえばＡｐｐｌｅ社のＡｐｐ  Ｓｔｏｒｅ、Ｇｏｏｇｌｅ社のＰｌａｙ  Ｓｔｏｒｅ、又はＭｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ  Ｓｔｏｒｅにアップロードされていて、そのような店舗からダウンロード可能なとき使用される。
【００１８】
本発明のさらなる詳細、態様、及び実施形態を、図面を参照しながら、例としてのみ説明する。図における要素は簡単さ及び明瞭さのために示されており、必ずしも原寸に比例しない。図では、既に説明された要素に対応する要素は同一の参照番号を有する。
【図面の簡単な説明】
【００１９】
【図１】キー予配信システムの実施形態の一例を示す概略図である。
【図２ａ−２ｃ】キー予配信デバイスの記憶機構の実施形態の一例を示す概略図である。
【図３ａ−３ｂ】キー合意システムの実施形態の一例を示す概略図である。
【図４】キー合意方法の実施形態の一例を示す概略図である。
【図５】キー予配信方法の実施形態の一例を示す概略図である。
【図６】キー合意方法の実施形態の一例を示す概略図である。
【図７ａ】一実施形態による、コンピュータプログラムを含む書込み可能部分を有するコンピュータ可読媒体を示す概略図である。
【図７ｂ】一実施形態によるプロセッサシステムの表現を示す概略図である。
【００２０】
以下は図１〜図３ｂにおける参照番号のリストである。
１００  キー予配信システム
１１０  電子キー予配信デバイス
１２０  通信インターフェース
１３０  記憶機構
１３１  第１の楕円曲線
１３２  第２の楕円曲線
１３５  第１の秘密同種
１４０  楕円ハッシュユニット
１４１  第１のパブリックポイント
１４２  第２のパブリックポイント
１４５  パブリックキー材料
１４７  第１のハッシュ関数
１４８  第２のハッシュ関数
１５０  同種ユニット
１５１  第１のプライベート楕円曲線ポイント
１５２  第２のプライベート楕円曲線ポイント
１５５  プライベートキー材料
１６１、１６７、１６８  記憶機構
１６２  第１の同種
１６３  第２の同種
１６４  秘密の整数
１６５  第１の秘密の整数
１６６  第２の秘密の整数
２００、２０１  キー合意システム
２１０、２１１  ネットワークノード
２１５、２１６  第１のネットワークノード
２２０  通信インターフェース
２３０  記憶機構
２３１  第１の楕円曲線
２３２  第２の楕円曲線
２３４  デジタル識別子
２３５  パブリック同種
２４１  第１のパブリック楕円曲線ポイント
２４２  第２のパブリック楕円曲線ポイント
２５１  第１のプライベート楕円曲線ポイント
２５２  第２のプライベート楕円曲線ポイント
２６０  共有キーユニット
２７０  同種ユニット
２８０  キー確認ユニット
【発明を実施するための形態】
【００２１】
この発明は多くの異なる形式における実施形態の余地があるが、１つ又は複数の特定の実施形態が図面に示されて本明細書で詳細に説明され、本開示は、本発明の原理の例示と見なされるべきであり、本発明を、示されて説明された特定の実施形態に限定するように意図されたものではないという理解を伴う。
【００２２】
以下では、理解のために、実施形態の要素が動作において説明される。しかしながら、それぞれの要素が、遂行すると説明されている機能を遂行するように構成されていることは明らかであろう。
【００２３】
さらに、本発明は、実施形態に限定されることなく、本明細書で説明されるあらゆる斬新な特徴若しくは特徴の組合せにあり、又は互いに異なる従属請求項において詳述される。
【００２４】
モノのインターネット（ＩｏＴ）の発展及び量子時代の手法により、複数のＩｏＴデバイスの漏洩の場合でさえ、ＩｏＴネットワークのための軽量且つ高速の（量子）セキュアプロトコルが必要になった。以下で説明される実施形態は、それぞれパブリック同種及び／又は秘密同種に基づく非相互作用のキー配信（ＮＩＫＤ）方式を提供するものである。楕円曲線上の同種は、特にスーパーシンギュラ楕円曲線とともに使用されたとき量子耐性があると推定されるので、楕円曲線上の同種を暗号のプロトコルに含めることは有利である。特に、秘密同種を与えられた実施形態は、量子コンピュータを使用する攻撃に対してさえ耐性が向上する。加えて、実施形態は、任意数のデバイスの共謀／漏洩に対して軽量であり、古典的に安全である。両方の方式が、軽量且つ高速に実行されるため、ＩｏＴの使用事例に適している。
【００２５】
いくつかの数学的予備知識を以下で概説する。
【００２６】
現在の暗号目的に関して、楕円曲線は正準方程式ｙ２＝ｘ３＋ａｘ＋ｂによって与えられ、ここでａ、ｂは３よりも大きい特性を伴う有限フィールドからの要素である。２つ又は３つの特性を伴う有限フィールドにわたる楕円曲線は、類似であるが異なるタイプの式によって記述される。曲線上のポイントは、楕円曲線を定義する式を満たす１対の座標（たとえばｘ及びｙの座標）によって識別される。一般に、曲線上のポイントは圧縮形式で表される。たとえば、曲線上のポイントは、ｙ座標の符号を決定する単一ビットを伴うｘ座標のみで一意的に識別される。実際には、多くの場合、ｙ座標がすべて省略される。これは、ポイントにおける軽微な曖昧さを導入するが、たいていのアプリケーションに関してこれは重要ではない。この文献のために、曲線上のポイントとしてのそのような表現も検討する。
【００２７】
ペアリング（双線形形式としても知られている）：ペアリングは、２つの循環（加法）群Ｇ１とＧ２の直積からグループＧＴへのマップであり、すべてのＰ∈Ｇ１、Ｑ∈Ｇ２及びすべての正整数ａ、ｂについてｅ（ａＰ，ｂＱ）＝［ｅ（Ｐ，Ｑ）］ａｂとなり、いくつかの（Ｐ，Ｑ）∈Ｇ１×Ｇ２についてｅ（Ｐ，Ｑ）≠１となる。暗号手法における重要なペアリングは、いわゆるＷｅｉｌペアリングである。その場合、曲線Ｅ（Ｋ）は、ユニティのｍ乗根を含有している有限フィールドＫにわたって選択される。Ｗｅｉｌペアリングｅは入力ポイントＰとして、（Ｑ∈Ｅ（Ｋ）（ｍ）＝｛Ｔ∈Ｅ（Ｋ）｜ｍＴ＝Ｏ｝を採用して、Ｋにおけるユニティのｍ乗根すなわちｅ（Ｐ，Ｑ）∈｛ｘ∈Ｋ｜ｘｍ＝１｝を生成する。ポイントＰ及びＱが、１つのビットが符号を指示する圧縮形で与えられると、対応するｙ座標が計算され得、続いてペアリングが計算され得る。或いは、少なくともＷｅｉｌペアリング及びＴａｔｅペアリングのような特定のペアリングについては、すべてのポイントＰ及びＱについてｚ＝（ｅ（Ｐ，Ｑ））ａ（Ｐ，Ｑ）となるような値ｚを計算することが可能であり、ここで指数ａ（Ｐ，Ｑ）は１又は−１に等しい。このことは、Ｄｅｓｉｇｎｓ、ＣｏｄｅｓＤｅｓｉｇｎｓ、及びＣｒｙｐｔｏｇｒａｐｈｙ、２００９年３月、５０巻、３号、３０５〜３２４頁の、Ｓ．  Ｇａｌｂｒａｉｔｈ及びＸ．Ｌｉｎによる「Ｃｏｍｐｕｔｉｎｇ  ｐａｉｒｉｎｇｓ  ｕｓｉｎｇ  ｘ−ｃｏｏｒｄｉｎａｔｅｓ  ｏｎｌｙ」に説明されている。同じ参考文献に、Ｘ座標の値のみからｅ（Ｐ，Ｑ）のトレースすなわち値Ｔ（Ｐ，Ｑ）＝ｅ（Ｐ，Ｑ）＋（ｅ（Ｐ，Ｑ））−１を計算し得ることが説明されている。
【００２８】
同種：非公式に、同種は楕円曲線間のマップである。同種は第１の楕円曲線上の非定常関数として定義され得、第２の楕円曲線上の値をとり、ポイント加算を保存する、すなわち楕円曲線構造を保存するものである。Ｄ．Ｓｈｕｍｏｗによる論文「Ｉｓｏｇｅｎｉｅｓ  ｏｆ  Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅｓ：  Ａ  Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ａｐｐｒｏａｃｈ」を参照されたい。より正式には、Ｅ１／Ｋ及びＥ２／Ｋを２つの楕円曲線とすると、同種は楕円曲線の有理マップ
【数１】
2020509695.tif 000003
として定義され、無限遠におけるポイントすなわちφ（∞）＝∞を保存する
【数２】
2020509695.tif 000004
からの座標を伴う。続いて、そのようなマッピングは群構造を保存する。Ａ．Ｓａｎｋａｒによる論文「Ｃｌａｓｓｉｃａｌ  ａｎｄ  Ｑｕａｎｔｕｍ  Ａｌｇｏｒｉｔｈｍｓ  ｆｏｒ  Ｉｓｏｇｅｎｙ−ｂａｓｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ」を参照されたい。
【００２９】
同種は、一般的には２つの異なる曲線間のマッピングとして定義されるが、曲線とそれ自体の間の同種も検討する。後者の場合、同種は、たとえば楕円曲線のポイントＰを楕円曲線のポイントｓＰにマッピングする、楕円曲線と一定の整数との乗算として定義され得る。このマッピングは加算を保存することに留意されたい。異なる曲線間の同種は、１つの整数によって定義され得るものよりもはるかに豊かな構造を有する。
【００３０】
同種φを表す標準的なやり方には、フィールドＫについて
【数３】
2020509695.tif 000005
を満たす３つの同次多項式
【数４】
2020509695.tif 000006
を与えるものがある。φの次数をｌで表すと、通常、これらの多項式のうち１つは、ほぼｌの次数を有することになる。Ｒｅｉｎｉｅｒ  Ｂｒｏｋｅｒ、Ｄｅｎｉｓ  Ｃｈａｒｌｅｓ、及びＫｒｉｓｔｉｎ  Ｌａｕｔｅｒによる論文「Ｅｖａｌｕａｔｉｎｇ  ｌａｒｇｅ  ｄｅｇｒｅｅ  ｉｓｏｇｅｎｉｅｓ  ａｎｄ  ａｐｐｌｉｃａｔｉｏｎｓ  ｔｏ  ｐａｉｒｉｎｇ  ｂａｓｅｄ  ｃｒｙｐｔｏｇｒａｐｈｙ」を参照する。この論文の第２節に、有限フィールドにわたる楕円曲線間の同種の代替表現が示されており、その長さはｌｏｇ  ｌの多項式である。この論文は、有限フィールドにわたる楕円曲線間の同種を評価するアルゴリズムをさらに提示している。
【００３１】
この特許出願では、ネットワークノード及びキー予配信デバイスの様々な実施形態が提案される。これらの実施形態は同種ベースのＮＩＫＤ方式を含む。最初に冒頭部が示され、追加の実施形態及び詳細は図を参照しながら説明される。
【００３２】
ネットワークにおけるノードは、秘密キー材料及び任意選択のパブリック識別子（たとえばパブリック識別子）を受け取るために、信頼されたサードパーティ（ＴＴＰ）に、それ自体を登録する。これらを使用して、任意の２つのノードが、それらにとって固有の、その対のノードのみが認識している秘密キーを確立して、互いに安全に通信するために使用することができる。
【００３３】
実施形態は２つの楕円曲線Ｅ１、Ｅ２を使用する。ＴＴＰは、ネットワークノードの識別子（ＩＤ）を、これら２つの楕円曲線上のポイントＨ１（ＩＤ）及びＨ２（ＩＤ）にハッシュする。後者はパブリックポイントであり、ネットワークノード上に記憶されてよく、ネットワークノードによって識別子から直接計算されてもよい。ＴＴＰは、それぞれの楕円曲線上の２つのパブリックポイントを、２つの異なる楕円曲線上の２つのプライベートポイントにもマッピングすることにより、パブリックポイントを２つのプライベートポイントにマッピングする。これらの実施形態は２つの主要なタイプに分割され得る。
【００３４】
第１のタイプでは、ＴＴＰは、秘密同種と、上記２つの曲線に関係のあるいわゆる双対同種とを維持する。同種は第１の楕円曲線から第２の楕円曲線にマッピングするが、双対同種は第２の楕円曲線から第１の楕円曲線にマッピングする。ノードの登録中に、ＴＴＰは、ノードに関する２つのパブリックポイントを計算した後に、秘密同種と双対同種とを使用して、ノードに関する２つの固有の秘密キー材料を計算する。２つのノード間のキー確立は、ピアノードの（パブリック）ポイントのうちの１つと、このノードの２つの独自の秘密キー材料のうちの１つとを使用して達成され、これらは、それぞれ、Ｗｅｉｌペアリングの、秘密同種におけるノードの独自の識別子の像と、秘密双対同種におけるノードの独自の識別子の像とである。Ｗｅｉｌペアリングは双線形マップの一例であることに留意されたい。Ｗｅｉｌペアリングの場合には、すべてのポイントが特定の次数、たとえばｍを有する必要がある。第１のタイプでは、パブリックポイントと、対応するプライベートポイントとは、異なる楕円曲線上にあることに留意されたい。
【００３５】
第２のタイプでは、ＴＴＰはそれぞれの楕円曲線に関する同種を維持するが、これらの同種は楕円曲線からそれ自体にマッピングする。たとえば、ＴＴＰは１つの整数ｓを有し、それぞれの曲線について整数ｓとのポイント乗算を遂行する。ＴＴＰは２つの整数ｓ１及びｓ２も有し、第１の曲線に対するポイント乗算には第１の整数を使用し、第２の曲線に対するポイント乗算には第２の整数を使用する。第２のタイプでも、ノードの登録中に、ＴＴＰは、ノードに関する２つのパブリックポイントを計算した後に、秘密同種と双対同種とを使用して、ノードに関する２つの固有の秘密キー材料を計算する。２つのノード間のキー確立は、ピアノードの（パブリック）ポイントのうちの１つと、このノードの２つの独自の秘密キー材料のうちの１つとを使用して達成される。最後に、２つのポイントに対して、たとえばＷｅｉｌペアリングといった双線形マップが適用される。ここで、２つの楕円曲線間のパブリック同種がシステムパラメータとして使用される。
【００３６】
数学的に、第１のタイプの実施形態は以下のように作用する。第１及び第２のネットワークノードは、キー合意プロトコルを起動したものがイニシエータと称され、他方がレスポンダと称される。
ＴＴＰは以下を有する：
判別式Δ＜−４の同形の自己準同形リングを伴う、フィールドＦｐにわたる２つの通常の楕円曲線Ｅ１及びＥ２。
理想的なＬによって規定された同種φ：Ｅ１→Ｅ２である秘密キー。
パブリックペアリングｅ’：Ｇ１×Ｇ２−＞ＧＴ及びｅ：Ｇ’１×Ｇ’２−＞ＧＴ、ここでＧ１及びＧ２はＥ１上のポイントのサブグループであり、Ｇ’１、Ｇ’２はそれぞれＥ１のポイントのサブグループ及びＥ２のポイントのサブグループである。
φ’はこれも秘密の双対同種であり、すなわちすべてのＰ∈Ｇ１’、Ｑ∈Ｇ２についてｅ（φ（Ｐ），Ｑ）＝ｅ’（Ｐ，φ’（Ｑ））が成り立つ。その上、φはＧ２をＧ’２にマッピングし、φ’はＧ’１をＧ１にマッピングすると想定されている。
キー材料抽出中に、アイデンティティＩＤを有する各エンティティは、Ｇ２におけるポイントＨ１（ＩＤ）と、Ｇ’１におけるポイントＨ２（ＩＤ）とを得、２つのポイントはこのエンティティの２つのパブリック識別子として働く。このエンティティは、ＴＴＰから、以下２つの秘密キー材料をさらに取得する：
秘密キー材料Ｓ１＝φ（Ｈ１（ＩＤ））
秘密キー材料Ｓ２＝φ’（Ｈ２（ＩＤ））
キー生成中に、２つのパーティのイニシエータ（Ｉ）及びレスポンダ（Ｒ）は、共通キーの生成を意図して以下を行う：
イニシエータはＫ＿ＩＲ＝ｅ（Ｈ２（Ｒ），φ（Ｈ１（Ｉ）））を計算する。
イニシエータは、Ｋ＿ＩＲを使用し、メッセージを暗号化して、それをＲに送る。
レスポンダはＫ＿ＲＩ＝ｅ’（φ’（Ｈ２（Ｒ）），Ｈ１（Ｉ））を計算し、キーＫ＿ＲＩを使用して解読する。
【００３７】
第１のタイプに関する動作上の正確さは、Ｗｅｉｌペアリングに関する、同種φとその双対同種φ’との随伴特性ゆえに、Ｋ＿ＩＲ＝ｅ（Ｈ２（Ｒ），φ（Ｈ１（Ｉ）））＝ｅ’（φ’（Ｈ２（Ｒ）），Ｈ１（Ｉ））＝Ｋ＿ＲＩを指摘することによって証明される。
【００３８】
一実施形態では、Ｇ１＝Ｇ２＝Ｅ１［ｍ］、Ｇ’１＝Ｇ’２＝Ｅ２［ｍ］及びｅ、ｅ’は、Ｅ１及びＥ２上のＷｅｉｌペアリングである。代替実施形態では、パブリックキー材料及び秘密キー材料は圧縮される。ハッシュ関数Ｈ１及びＨ２は、それぞれＥ１におけるポイントのＸ座標及びＥ２におけるポイントのＸ座標のみをもたらす。ＴＴＰは、Ｈ１（ＩＤ）及びＨ２（ＩＤ）から、Ｕ１（ＩＤ）＝（Ｈ１（ＩＤ），ｙ１（ＩＤ））がＥ１上にあってＵ２（ＩＤ）＝（Ｈ２（ＩＤ），ｙ２（ＩＤ））がＥ２上にあるようにｙ座標ｙ１（ＩＤ）、ｙ２（ＩＤ）を計算することができる。秘密キー材料Ｓ１（ＩＤ）は、それぞれφ（Ｕ１（ＩＤ））のｘ座標及びφ’（Ｕ２（ＩＤ））のｘ座標と等しい。キー生成中に、２つのパーティのイニシエータ（Ｉ）及びレスポンダ（Ｒ）は、共通キーの生成を意図して以下を行う：
イニシエータは、たとえばＧａｌｂｒａｉｔｈ及びＬｉｎによって説明されたように、それ自体の秘密キーＳ２（Ｉ）及びパブリックキーＨ２（Ｒ）から、ＴＩＲ＝ｅ（Ｕ２（Ｒ），φ（Ｕ１（Ｉ））＋ｅ（Ｕ２（Ｒ），φ（Ｕ１（Ｉ））−１を満たす値ＴＩＲを計算する。
イニシエータは、ＴＩＲをキーとして使用し、メッセージＭを暗号化して、それをＲに送る。
レスポンダＲは、それ自体の秘密キーＳ１（Ｒ）及びパブリックキーＨ１（Ｉ）を使用してＴＲＩ＝ｅ’（Ｕ２（Ｒ），（Ｈ１（Ｉ）））＋ｅ’（Ｕ２（Ｒ），（Ｈ１（Ｉ）））−１を満たす値ＴＲＩを計算し、ＴＲＩをキーとして使用してメッセージを解読する。
【００３９】
動作上の正確さはφ’の随伴特性に由来する。これらの実施形態に対する変形形態が、たとえば圧縮されたパブリックキー及び圧縮されていない秘密キー、又は圧縮されていないパブリックキー及び圧縮された秘密キー、符号を決定するための追加ビットを伴う圧縮されたキーなどを用いて可能であることは明らかである。
【００４０】
より一般的には、Ｅ１のサブグループＧ１、Ｇ２、ｅ’：Ｇ１×Ｇ２−＞ＧＴと、Ｅ２のサブグループＧ１’、Ｇ２’、ｅ：Ｇ１’×Ｇ２’−＞ＧＴと、φ（Ｇ１）＝Ｇ１’、φ’（Ｇ２’）＝Ｇ２とが得られる。Ｗｅｉｌペアリングのために、次数でｍを割る、Ｅ１、Ｅ２上のポイントへのマッピングと、有限フィールドにおけるユニティのｍ乗根から成るＧＴとが必要になる。必ずしもＥ１におけるすべてのポイントについてペアリングを定義する必要はない。
【００４１】
数学的に、第２のタイプの実施形態は以下のように作用する。
ＴＴＰは秘密ｓを有する。
キー抽出中に、アイデンティティＩＤを伴う各エンティティは、Ｈ１（ＩＤ）∈Ｅ１、Ｈ２（ＩＤ）∈Ｅ２、及びｓＨ１（ＩＤ）∈Ｅ１、ｓＨ２（ＩＤ）を得、ここでＨ１はＥ１に対するハッシュ関数であり、Ｈ２はＥ２に対するハッシュ関数である。Ｈ１（ＩＤ）及びＨ２（ＩＤ）はエンティティのパブリック識別子として働き、ｓＨ１（ＩＤ）、ｓＨ２（ＩＤ）はその秘密キー材料として働く。
動作中に、レスポンダ（Ｒ）との会話を意図するエンティティのイニシエータ（Ｉ）はＫ＿ＩＲ＝ｅ（φ（Ｈ１（Ｒ）），ｓＨ２（Ｉ））を計算し、ここでｅはＥ２上のペアリングである。次いで、アイデンティティＩは、Ｋ＿ＩＲを用いて暗号化されたメッセージＭをＲに送る。
ＲはＫ＿ＲＩ＝ｅ（φ（ｓＨ１（Ｒ）），Ｈ２（Ｉ））を計算する。
【００４２】
第２のタイプの動作上の正確さは、Ｋ＿ＩＲ  ｅ（φ（Ｈ（Ｒ）），ｓＨ（Ｉ））＝ｅ（φ（Ｈ（Ｒ）），Ｈ（Ｉ））＾ｓ＝ｅ（φ（ｓＨ（Ｒ）），Ｈ（Ｉ））＝Ｋ＿ＲＩであることを指摘することによって証明される。第２のタイプの一実施形態は、任意選択で、圧縮されたポイントを有し、ｘ座標のみを使用してペアリング動作のトレースを計算し、トレースを、キー又はキー導出関数への入力として使用する。
【００４３】
第１のタイプを使用する実施形態用には秘密同種が使用され、以下で詳述される、この方式に対する可能な攻撃の分析は、使用される楕円曲線が通常のものかそれともスーパーシンギュラかということに関係なく適用可能である。複数のノードを漏洩した（したがって、漏洩されたノードの識別子がＩＤであるときφ（Ｈ１（ＩＤ））及びφ’（Ｈ２（ＩＤ））の形式のそれらの秘密キー材料にアクセスできるようになった）攻撃者は、ＴＴＰのマスタ秘密すなわち秘密同種φ：Ｅ１→Ｅ２及びその双対同種φ’を回復するために、漏洩されたノードの正確な秘密キー材料であるこれらの同種の評価を使用して前述の２つの秘密同種の再構成を試行する必要がある。イニシエータノードＩがレスポンダノードＲ向けに計算した秘密キーＫ＿ＩＲをパブリックパラメータＨ１（Ｉ）、Ｈ２（Ｉ）、Ｈ１（Ｒ）及びＨ２（Ｒ）から回復することは、困難な問題と考えられる。
【００４４】
スーパーシンギュラ楕円曲線について、この変形形態のセキュリティはスーパーシンギュラ同種Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ（ＳＩＤＨ）問題に関係がある。ＳＩＤＨのセキュリティは、１対のスーパーシンギュラ曲線Ｅ１及びＥ２を与えられるという想定にのみ基づくものであり、φ：Ｅ１→Ｅ２となる同種φを見いだすことは、古典的であるとともに量子アルゴリズムでも困難な問題である。これは古典的なＡｂｅｌｉａｎ  Ｈｉｄｄｅｎ  Ｓｈｉｆｔ問題の変形形態であるが、スーパーシンギュラ曲線の共通の自己準同形リングのクラス群はアーベル群ではなく、そのため、秘密同種を見いだすための知られている効率的な唯一の量子アルゴリズムは、スーパーシンギュラの場合には正常に機能しない。次数ｐの幾何学的ポイントの群がスーパーシンギュラとして自明の、特性ｐを伴うフィールドにわたる楕円曲線を使用する。
【００４５】
実際は、攻撃者にとって、ポイントＱがＥ２上にあるかどうかが不明瞭であるため、離散対数問題のインスタンスを解決するだけでは十分ではなく、任意のイニシエータＩについて、イニシエータノードＩの秘密キー材料φ（Ｈ１（Ｉ））は複数のＱとして表され得る。イニシエータノードＩの秘密キー材料φ（Ｈ１（Ｉ））が楕円曲線上のポイントとして表され得ない場合には、タイプ１の実施形態は量子耐性が向上する。実際、問題は、φ（Ｈ１（Ｉ））が、Ｅ２上の知られているポイントのスカラ倍と書き込まれ得るかどうかということである。そうならば、離散対数問題が関連する。Ｅ２（ｍ）は、単一の生成器を有する必要はない。
【００４６】
離散対数問題が困難であると想定される（すなわち、量子計算能力を所有する攻撃者が存在しないと想定される）場合、攻撃者は秘密キーＫ＿ＩＲを回復し得ないと想定される。
【００４７】
第２のタイプを使用する実施形態用にはパブリック同種が使用され、この方式では、攻撃者は、イニシエータノードＩによって計算された秘密キーＫ＿ＩＲを、レスポンダノードＲを用いて回復するために、アイデンティティＩを伴うイニシエータのパブリックキーＨ（Ｉ）から離散対数問題を解いてｓを取得する必要があり、ｓＨ（Ｉ）は、アイデンティティＩを伴うイニシエータノードの秘密キーである。これに成功すると、攻撃者は、ＴＴＰのマスタ秘密ｓを回復し、次いで、ＴＴＰを用いて登録されたあらゆるノードに属するキーを回復することができる。攻撃者は、複数のノードを漏洩して、それらの秘密キー材料ｓＨ（ＩＤ）（ＩＤは漏洩されたノードの識別子）にアクセスすることができたとしても、離散対数問題の単一のインスタンスを解くのが困難なままである限り、ＴＴＰのマスタ秘密ｓを回復することはやはりできないと想定される。
【００４８】
量子コンピュータがない状態で、離散対数問題を効率的に解くことができる攻撃者が存在しないと想定される場合には、提案された両方のタイプが安全であり、動作上正確である。しかしながら、離散対数問題を効率的に解くことができる攻撃者が存在する場合には、第２のタイプは漏洩される可能性がある。しかし、ＴＴＰの秘密（同種）を回復され得ないという意味で、第１のタイプによる実施形態は直接影響を受けない。
【００４９】
第１のタイプを使用する実施形態では、ノード側における暗号の動作が含むのは楕円曲線にわたるＷｅｉｌペアリングの評価のみであり、このことは、動作上相対的に効率がよい。このことは、一般的には計算能力やメモリ能力が制限されているＩｏＴデバイスであるノードにとって望ましい意味合いがある。２つの楕円曲線間の同種の計算及び楕円曲線ポイントに関する同種の評価は比較的より大容量であるが、この変形形態ではそのような同種を計算するのはＴＴＰのみである。
【００５０】
図１は、キー予配信システム１００の実施形態の一例を概略的に示すものである。システム１００は、電子キー予配信デバイス１１０及び複数のネットワークノードを備える。図１にはネットワークノード２１０及び２１１が示されている。ネットワークノードの数は、一般的には、たとえば１０００よりも大きい、１００００よりも大きいなど、非常に大きい。キー予配信デバイス１１０は、キー合意プロトコルに関する複数のネットワークノードを構築し、詳細には、キー予配信デバイス１１０は、後に複数のネットワークノードのうちの任意の２つが、両者の間の共有キーについて安全に合意することができるように、アイデンティティベースのキー予配信方式のキー予配信段階を遂行し、ローカルキー材料を用いて、ネットワークノード２１０、２１１を構築する。ローカルキー材料は、２つの楕円曲線上に少なくとも２つのプライベートポイントを含む。これらのプライベートポイントは、ネットワークノード及び／又はデバイス１１０などの任意の信頼されたデバイスにとってプライベートなものである。ローカルキー材料は、たとえばデバイスの識別子（ＩＤ）、パブリック楕円曲線ポイント、及び任意選択のパブリック同種といった非プライベート要素も含み得る。セットアップは主としてノード２１０に関して説明されるが、他のノードも同様にセットアップされる。
【００５１】
キー予配信デバイス１１０は、プライベート楕円曲線ポイントを用いてネットワークノードを構築するように構成された通信インターフェース１２０を備える。通信インターフェースは、ネットワークノード間で使用されるものと同一のタイプ（下記を参照されたい）でよいが、異なるタイプでもよい。通信インターフェース１２０は、たとえばネットワークノード２１０、２１１などの生産中にテストしたりセットアップしたりするデバイスにおける有線接続といった有線インターフェースである。たとえば、通信インターフェース１２０は接続パッド又は接続ポートを備える。通信インターフェース１２０は、デジタル有線ネットワーク接続、無線ネットワーク接続、又はハイブリッドなどでもよい。たとえば、通信インターフェース１２０はアンテナを備える。
【００５２】
キー予配信デバイス１１０は記憶機構１３０を備える。記憶機構１３０は、第１の楕円曲線１３１及び第２の楕円曲線１３２の表現を含む。楕円曲線１３１と１３２は、たとえば異なる式で定義された異なる曲線である。楕円曲線は、たとえば何かの標準形式で式を定義する式の係数によって定義される。そのような形式の１つにはＹ２＝Ｘ３＋ＡＸ＋Ｂといったものがあり、Ａ及びＢは楕円曲線を定義する整数である。たとえば、記憶機構１３０は、２つの楕円曲線に関して係数Ａ及びＢを記憶する。或いは、Ａ及びＢは、たとえば曲線乗算関数又は楕円ハッシュ関数といった、Ａ及びＢを採用するアルゴリズムにおいてハードコード化される（以下をさらに参照されたい）。
【００５３】
一実施形態では、第１の楕円曲線と第２の楕円曲線は、どちらも特性ｐのフィールドＦｑにわたって定義される。たとえばｑ＝ｐ＾ｋが採用される。一実施形態ではｐ＝２である。曲線１３１、１３２と併せて、これらが定義されているフィールドに関する情報が記憶され得る。２つの曲線は同一のフィールドにわたって定義されていることに留意されたい。
【００５４】
一実施形態では、楕円曲線１３１及び１３２はいわゆる通常の（スーパーシンギュラではない）曲線である。たとえば、楕円曲線は「Ｒｅｃｏｍｍｅｎｄｅｄ  Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅｓ  Ｆｏｒ  Ｆｅｄｅｒａｌ  Ｇｏｖｅｒｎｍｅｎｔ  Ｕｓｅ」から採用され、楕円曲線の集合は連邦政府の使用向けに推奨されている。一実施形態では、楕円曲線１３１及び１３２はいわゆるスーパーシンギュラ曲線である。スーパーシンギュラ曲線の例は、Ｋが特性２のフィールドであれば、ｙ２＋ａ３ｙ＝ｘ３＋ａ４ｘ＋ａ０（ａ３は非ゼロ）という形の式によって定義されたすべての曲線を含み、Ｋが特性３のフィールドであれば、ｙ２＝ｘ３＋ａ４ｘ＋ａ６（ａ４は非ゼロ）という形の式によって定義されたすべての曲線を含む。他の例が知られている。
【００５５】
キー予配信デバイス１１０は楕円ハッシュユニット１４０を備える。楕円ハッシュユニット１４０は、ネットワークノード２１０のデジタル識別子（ＩＤ）を取得するように構成されている。デジタル識別子は、ネットワークノード２１０から、たとえば通信インターフェース１２０を通じて受け取られる。たとえば、ネットワークノード２１０は、キー予配信デバイス１１０に識別子を送る。識別子はまた、たとえばハッシュユニット１４０により、キー予配信デバイス１１０によって割り当てられる。たとえば、識別子は、ネットワークノード２１０の製造番号、乱数、ノンスなどを含む。たとえば、識別子は、たとえばＩＰアドレス、ＭＡＣアドレスなど、ネットワークノードのデジタルコンピュータアドレスを含む。識別子は、ネットワークノード２１０の共通名称又はネットワークノード２１０のユーザの名称を含む。識別子は、ユーザの役割又は認証に関する情報を含む。後者の選択肢は暗示的認証のために有用であり、たとえばデバイス１１０は役割を割り当てるか又は検証する。
【００５６】
ハッシュユニット１４０は、第１のハッシュ関数１４７及び第２のハッシュ関数１４８の２つのハッシュ関数を用いて構築される。第１のハッシュ関数１４７（Ｈ１）は、ネットワークノード２１０のデジタル識別子を、第１のパブリックポイント１４１（第１の楕円曲線１３１上のＨ１（ＩＤ））にマッピングする。第２のハッシュ関数１４８（Ｈ２）は、ネットワークノード２１０のデジタル識別子を、第２のパブリックポイント１４２（第２の楕円曲線１３２上のＨ２（ＩＤ））にマッピングする。ＩＤとともにハッシュ関数に含まれる付加情報には、たとえばキー予配信デバイス１１０の識別、ソルト、ネットワークノード２１０に関する付加情報、ローカルキー材料を生成した時間のタイムスタンプがある。
【００５７】
パブリックポイント１４１及び１４２は、ネットワークノード２１０に関するパブリックキー材料１４５の一部分である。一般に、パブリックキー材料１４５のために２つの手法がある。パブリックキー材料１４５は、たとえばプライベートキー材料と一緒にネットワークノード２１０に記憶される。この場合、ノードは、別のノードのパブリックポイント及びそれ自体のプライベートポイントを使用して共有キーを取得する。こうすると、ノードにおいて楕円ハッシュ関数１４７及び１４８を計算する必要性が回避される。実際には、この場合、ネットワークノードではその識別子さえ不要であり、キー予配信デバイス１１０は識別子の代わりに乱数を採用するだけでよい。他方では、ネットワークノードは、別のノード向けに、そのノードの識別子からパブリックポイント１４１及び１４２を計算するようにも構成される。何らかの付加情報が使用される場合、パブリックポイント１４１及び１４２を計算するノードは、識別子に加えてその付加情報を認識する必要がある。これらの実施形態は暗示的認証を提供することができるが、追加の計算を必要とする。両方の手法は組み合わされてよく、たとえば、いくつかのノードはそれ自体でハッシュを計算し、いくつかのノードは事前に計算されたパブリックポイントを使用する。一実施形態では、パブリック情報は識別子を含み、任意選択で、パブリックポイント１４１及び１４２ではなくパブリックキー材料の一部分であり得る任意の付加情報を含む。一実施形態では、パブリック情報はパブリックポイント１４１及び１４２を含むが、識別子は含まない。実施形態では、パブリック情報はパブリックポイント１４１及び１４２と識別子とを含み、任意選択で任意の付加情報を含む。
【００５８】
ハッシュ関数１４７及び１４８は、デジタル識別子などのビットストリングを楕円曲線上のポイントにマッピングする。好ましくは、ハッシュ関数は暗号的に衝突耐性があり、すなわち同一の楕円曲線のポイントにマッピングする２つの識別子を見いだすのは困難であるが、統計的衝突耐性は実施形態において十分であり、すなわち、２つのランダムな識別子が同一の楕円曲線ポイントにマッピングすることはあり得ない。楕円ハッシュは、たとえばＳＨＡ−２５６などのＳＨＡファミリーからのハッシュ関数など、通常のハッシュ関数から構築される。たとえば、ＩＤをハッシュし、それを楕円曲線が定義されているフィールドにおける値にマッピングする。次に、これらの値を、楕円曲線の正準表現におけるＸ値（たとえば３乗を伴う座標）として代入し、最後にＹの値を計算する。Ｙのどの値を選択するべきか（一般に２つの解がある）ということは、識別子のハッシュのいくつかのビット又は識別子のさらなるハッシュからのビットなどによって判定される。ハッシュは、たとえば曲線１３１向けの１、及び曲線１３２向けの２、といったマジックナンバの曲線識別子を識別子に加算することにより、第１の曲線向けと第２の曲線向けが識別される。２つのパブリックポイント１４１と１４２は、第１の楕円曲線と第２の楕円曲線の異なるもの上にある。たとえばポイント１４１は曲線１３１上にあり、ポイント１４２は曲線１３２上にある。
【００５９】
キー予配信デバイス１１０は同種ユニット１５０を備える。同種ユニット１５０は、ハッシュユニット１４０が計算したパブリックポイントを採用し、それらに同種を適用することによってプライベート楕円曲線ポイントを計算する。記憶機構１３０は、第１の楕円曲線１３１に関する第１の秘密同種と第２の楕円曲線１３２に関する第２の秘密同種とを表す情報１３５をさらに含む。これらの同種の知見は全体のシステムを犯すことになる。このため、それらは、システムを保護するために、信頼できない人から秘密に保たれる。
【００６０】
同種ユニット１５０は、第１のパブリック楕円曲線ポイント１４１に第１の秘密同種を適用して第１のプライベート楕円曲線ポイント１５１を取得し、第２のパブリック楕円曲線ポイント１４２に第２の秘密同種を適用して第２のプライベート楕円曲線ポイント１５２を取得するように構成されている。第１のプライベート楕円曲線ポイント１５１は楕円曲線１３１、１３２の一方にあり、第２のプライベート楕円曲線ポイント１５２は楕円曲線１３１、１３２の他方にある。いくつかの実施形態では楕円曲線ポイント１４１と１５１は同一曲線上にあり、いくつかの実施形態では楕円曲線ポイント１４１と１５１は異なる楕円曲線上にある。秘密同種は、楕円曲線上のポイントを楕円曲線上のポイントにマッピングする。図２ａ〜図２ｃに関して、記憶機構１３０及び同種ユニット１５０の様々な例が示されている。
【００６１】
図２ａは、キー予配信デバイスの記憶機構１６１の実施形態の一例を概略的に示すものである。記憶機構１６１は、キー予配信デバイス１１０において記憶機構１３０の代わりに使用される。記憶機構１６１は、上記で論じられたような第１のタイプの実施形態で使用される。記憶機構１６１において、同種情報１３５は第１の同種１６２及び第２の同種１６３を含む。
【００６２】
第１の同種１６２（φ）は、第１の楕円曲線１３１から第２の楕円曲線１３２へのマッピングである。第２の同種１６３は、第１の同種１６２の双対同種（φ’）であり、第２の楕円曲線１３２から第１の楕円曲線１３１へマッピングする。双対同種は、合成φ’・φが第１の楕円曲線に対する第１の同種の次数との乗算になるように、固有の同種として採用される。一実施形態では、第１の同種１６２の次数は、少なくとも２８０、少なくとも２１２８、又は少なくとも２２５６などである。使用される楕円曲線がパブリックであるので、同種の次数が大きければ全数探索攻撃を防止する。
【００６３】
この実施形態では、楕円曲線ポイント１４１と１５１は異なる曲線上にあり、ポイント１４２と１５２も異なる曲線上にある。同種ユニット１５０は、第１の同種１６２をポイント１４１に適用し、第２の同種（双対同種）１６３をポイント１４２に適用する。この実施形態は、特に、Ｒｅｉｎｉｅｒ  Ｂｒｏｋｅｒ、Ｄｅｎｉｓ  Ｃｈａｒｌｅｓ、及びＫｒｉｓｔｉｎ  Ｌａｕｔｅｒによる「Ｅｖａｌｕａｔｉｎｇ  ｌａｒｇｅ  ｄｅｇｒｅｅ  ｉｓｏｇｅｎｉｅｓ  ａｎｄ  ａｐｐｌｉｃａｔｉｏｎｓ  ｔｏ  ｐａｉｒｉｎｇ  ｂａｓｅｄ  ｃｒｙｐｔｏｇｒａｐｈｙ」に開示されている技術を使用する。
【００６４】
図２ｂは、キー予配信デバイスの記憶機構１６７の実施形態の一例を概略的に示すものである。記憶機構１６７は、キー予配信デバイス１１０において記憶機構１３０の代わりに使用される。記憶機構１６７は、第２のタイプによる一実施形態において使用される。記憶機構１６７は秘密の整数１６４（ｓ）を記憶する。第１の同種は、ｓによる第１の曲線１３１上のポイント乗算として定義される。第２の同種も、ｓによる第２の曲線１３２上のポイント乗算として定義される。この実施形態では、楕円曲線ポイント１４１と１５１は同一曲線上にあり、ポイント１４２と１５２も同一曲線上にある。この実施形態は従来のポイント乗算アルゴリズムを使用する。
【００６５】
図２ｃは、キー予配信デバイスの記憶機構１６８の実施形態の一例を概略的に示すものである。記憶機構１６８は、キー予配信デバイス１１０において記憶機構１３０の代わりに使用される。記憶機構１６８は、第２のタイプによる一実施形態において使用される。記憶機構１６８は２つの秘密の整数１６５（ｓ１）、１６６（ｓ２）を記憶する。第１の同種は、ｓ１による第１の曲線１３１上のポイント乗算として定義される。第２の同種は、ｓ２による第２の曲線１３２上のポイント乗算として定義される。この実施形態では、楕円曲線ポイント１４１と１５１は同一曲線上にあり、ポイント１４２と１５２も同一曲線上にある。この実施形態は従来のポイント乗算アルゴリズムを使用する。
【００６６】
一実施形態では、ハッシュユニット１４０はポイント乗算も含むように変更される。第１のパブリックポイント１４１はａ１Ｈ１（ＩＤ）として計算され、第２のパブリックポイントはａ２Ｈ２（ＩＤ）として計算される。パラメータは、ａ１ｓ２＝ａ２ｓ１となるように選択される。一実施形態では、整数ａ１及びａ２はパブリックになり得るが、このことは、ノードが、そのＩＤの代わりに、受け取った他方のパーティのパブリックポイントのうちの１つを、ネットワークノードにおけるハッシュ関数の代わりに使用することによって防止され得る。
【００６７】
一実施形態では、使用され得るすべてのポイントは、共通の数ｍを割る次数を有する。この場合、図２ｃの事例は、Ｈ１、Ｈ２を再定義し、ｓ＝ｓ１／ａ１＝ｓ２／ａ２となるように設定することによって縮小され得、ここで、／はモジュラｍ除算である。
【００６８】
図１に戻る。第１のプライベート楕円曲線ポイント１５１及び第２のプライベート楕円曲線ポイント１５２は、ネットワークノード２１０に関するプライベートキー材料１５５の一部である。キー予配信デバイス１１０は、ネットワークノード２１０に、少なくともプライベートキー材料１５５を書き込むように構成されている。加えて、ネットワークノード２１０の識別子或いはパブリックポイント１４１及び１４２（たとえばパブリックキー材料１４５）のいずれかが、ネットワークノード２１０に書き込まれる。両方を書き込むことも可能である。
【００６９】
図３ａは、キー合意システム２００の実施形態の一例を概略的に示すものである。キー合意システム２００は、キー予配信デバイス１１０などのキー予配信デバイスによるキー共有向けに構築された複数のノードを備える。システム２００における複数のノードは、各ノードが任意の他のノード向けに計算することができる共有キーを使用して保護された通信によって互いに通信することができる。キー予配信デバイス１１０は、システム２００が動作状態になってからでも、たとえば新規のノードを動的に追加するためのシステム２００の一部分でもあり得る。これは必須ではなく、一実施形態では、すべてのノードがローカルキー材料を用いてセットアップされた後に、キー予配信デバイス１１０は棄却される。
【００７０】
図３ａに関して、第１のタイプの実施形態が示されている。第１のネットワークノード２１０は、複数のネットワークノードとのキー合意プロトコル用に構成されている。キー合意プロトコルは第２のネットワークノード２１１に対して示されている。第２のネットワークノード２１１の構造の大部分は第１のネットワークノード２１０の構造と同一であるが、両者は送信側と受信側の関係にある。
【００７１】
ネットワークノード２１０は記憶機構２３０を備える。第２のノード２１１は、記憶機構２３０が備えるいくつかの手段を用いて、ネットワークノード２１０に関するパブリックポイントを取得することができる。たとえば、記憶機構２３０は、第１のネットワークノードに関するデジタル識別子２３４（ＩＤ１）を記憶する。このデジタル識別子は、ノード２１０に関するプライベートキー材料を計算するのに使用される識別子と同一である。記憶機構２３０は、デジタル識別子の代わりに、第１のパブリック楕円曲線ポイント２４１及び第２のパブリック楕円曲線ポイント２４２を記憶してもよい。これらのポイントはパブリックポイント１４１及び１４２に対応する。識別子を使用すると、暗示的認証が可能になるという利点がある。パブリックポイントを使用すると、ノードにおけるいくつかの計算が回避されるという利点がある。第１のパブリック楕円曲線ポイント２４１は第１の楕円曲線上にあり、第２のパブリック楕円曲線ポイント２４２は第２の楕円曲線上にある。
【００７２】
記憶機構２３０は、第１のプライベート楕円曲線ポイント２５１及び第２のプライベート楕円曲線ポイント２５２も記憶する。第１のプライベート楕円曲線ポイント２５１及び第２のプライベート楕円曲線ポイント２５２は、第１及び第２の秘密同種によって第１のパブリック楕円曲線ポイント２４１及び第２のパブリック楕円曲線ポイント２４２に対応する。そしてまた、第１のパブリック楕円曲線ポイント２４１及び第２のパブリック楕円曲線ポイント２４２は、第１のハッシュ関数１４７及び第２のハッシュ関数１４８によってデジタル識別子２３４に対応する。
【００７３】
この実施形態では、第１の同種は同種１６２であり、第２の同種は同種１６３である。ポイント２４１及び２５１は、ポイント２４２及び２５２と同様に、同一の曲線上にはない。
【００７４】
記憶機構２３０は、パブリックデータ及びプライベートデータにおけるポイントが存在する第１の楕円曲線２３１及び第２の楕円曲線２３２を記憶する。これらの曲線は、たとえばこれらの曲線の式の係数によって表される。これらの曲線は暗示的に存在することもでき、たとえば双線形マップなどのアルゴリズムの中にハードコード化される。
【００７５】
第１のネットワークノード２１０及び第２のネットワークノード２１１のそれぞれが通信インターフェース２２０を備える。第１のネットワークノード２１０の通信インターフェース２２０は、第２のネットワークノード２１１とのデジタル通信用に構成されている。一般的には、通信インターフェース１２０は、システム２００における他のノードの多くと通信するように構成されている。
【００７６】
通信インターフェースは、キー合意システムにおける他のノードとのデジタル通信用に構成されている。しかし、システムにおけるすべてのノードが常に連絡される必要はない。通信インターフェース２２０はデジタル通信用に構成されている。たとえば、通信インターフェースは、コンピュータネットワークにわたって通信するように構成されている。たとえば、通信インターフェースは、たとえばＷｉ−Ｆｉ（登録商標）、ＺｉｇＢｅｅ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの無線通信用及び／又はたとえばイーサネット（登録商標）、ＵＳＢなどの有線通信用に構成されている。ノード２１０と２１１との間の通信は、有線接続と無線接続の組合せでもよい。たとえば、ノード２１０及び２１１を含むシステム２００のノードは、システム２００の内部のノードを一意的に識別する通信識別子を含有している電子記憶機構を備える。たとえば、通信識別子は、たとえばメッセージをアドレス指定するためにノード２１０と２１１との間で交換されるデジタルメッセージに含まれる。たとえば、通信識別子は、ＩＰアドレス、ＭＡＣアドレスなどである。有利には、デジタル識別子２３４には同一の通信識別子が含まれ、ローカルキー材料を計算するために使用される。
【００７７】
ネットワークノード２１０は共有キーユニット２６０を備える。共有キーユニット２６０は、第２のネットワークノードに関するパブリック楕円曲線ポイント（たとえばポイントＨ２（ＩＤ２）であり、ＩＤ２は第２のネットワークノードのＩＤである）を取得するように構成されており、パブリック楕円曲線ポイントは、第１及び第２の楕円曲線のうちの一方の楕円曲線上にある。指摘されたように、これを行うための異なる選択肢がある。たとえば、第２のネットワークノード２１０は、たとえば通信インターフェース２２０を通じて、第１のネットワークノード２１０にパブリック楕円曲線ポイント（Ｈ２（ＩＤ２））を直接送る。他方では、第２のネットワークノード２１１はその識別子ＩＤ２を代わりに送る。その場合、共有キーユニット２６０は、ハッシュ関数１４７及び１４８のうちの１つ、たとえば第２のハッシュ関数１４８を適用して、第２のネットワークノード２１１に関するパブリックポイントを取得する。共有キーユニット２６０はまた、たとえばφ（Ｈ１（ＩＤ１））といった受け取られたパブリックポイントと同一の楕円曲線上にある第１及び第２のプライベート楕円曲線ポイントを選択する。最後に、共有キーユニット２６０は、たとえば第２のノード２１１から１つのパブリックポイントを取得し、記憶機構２３０から１つのプライベートポイントを選択して、同一の曲線上の２つの楕円曲線ポイントを取得する。たとえば、共有キーユニット２６０が使用するポイントはＨ２（ＩＤ２）及びφ（Ｈ１（ＩＤ１））である。これらの２つのポイントに対して、共有キーユニット２６０によって、たとえばｅ（Ｈ２（ＩＤ２），φ（Ｈ１（ＩＤ１）））と、双線形マッピングｅが適用される。双線形マップはＷｅｉｌペアリング又はＴａｔｅペアリングなどである。双線形マップの結果は共有キーとして使用される。この出力は、たとえばキー導出関数（ＫＤＦ）を使用してさらに処理されてもよい。一実施形態では、双線形マップのすべての出力ビットは、たとえば暗号のハッシュ関数といったキー導出関数（ＫＤＦ）に入力される。ＫＤＦの一例は、たとえばＣＭＬＡ  Ｔｅｃｈｎｉｃａｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ、バージョンＶ１．４３−２０１３１２１８からのＣＭＬＡ＿ＫＤＦ、又は「ＤＲＭ  ｓｐｅｃｉｆｉｃａｔｉｏｎ」、ＯＭＡ−ＴＳ−ＤＲＭ−ＤＲＭ−Ｖ２＿０＿２−２００８０７２３−Ａ、Ｏｐｅｎ  Ｍｏｂｉｌｅ  Ａｌｌｉａｎｃｅ（商標）、バージョン２．０．２、７．１．２節で定義されているＫＤＦ関数などに示されている。
【００７８】
第２のネットワークノード２１１は、対応する計算ｅ’（Ｈ１（ＩＤ１），φ’（Ｈ２（ＩＤ２）））を計算する共有キーユニットも有する。どの計算を使用するかということは、起動されるか又は応答するパーティに対して有線接続される。たとえば、起動するノードが、応答するノードに関する第２の曲線上のパブリックポイントと、これも第２の曲線上のプライベートポイントとを使用して、応答するパーティが、起動するノードに関する第１の曲線上のパブリックポイント及び第１の曲線上の秘密のプライベートポイントを採用する、ということが合意される。これは逆でもよい。このタイプの実施形態では、一方のノードが第１の曲線上の双線形マップｅ’を計算して、他方のノードが第２の曲線上の双線形マップｅを計算する。これは、２つの曲線上の２つの双線形マップ及び同種を与えられると双対同種が取得されるので、正常に機能する。
【００７９】
任意選択で、ネットワークノード２１０はキー確認ユニット２８０を備える。キー確認ユニット２８０は、暗号化キーからキー確認データを計算して、キー確認データを第２のネットワークノードに送るように構成されている。キー確認データは、たとえば暗号化されたタイムスタンプ、第２のノードからの暗号化された課題などのいくつかの認証トークンである。キー確認データは、第２のネットワークノードに対して、第１のネットワークノードが有効なキー材料を有することを証明する意味で暗示的認証を与え、このことは、第１のネットワークノードがキー予配信デバイス１１０を登録したことを意味する。その代わりに、又はそれに加えて、キー確認ユニット２８０は、第２のノードから暗号化キーに関するキー確認データを受け取り、導出された共有キーを使用してキー確認データを検証するように構成されている。これは、第２のネットワークノードが正確に暗号化キーを計算したことを検証し、したがって暗示的認証を与える。
【００８０】
図３ａを参照しながら説明されたキー合意／配信方式は、楕円曲線にわたる暗号のペアリングに基づく、ノード間のキー確立の相互作用がない性質、及び軽量動作のために、モノのインターネットなどの用途に適するものである。同種を実行するのはＴＴＰのみであり、ＴＴＰはより多くのリソースを所有し得るのでそのような動作を実行することができる。各ノードの秘密キー材料は、たとえばノードのブートストラップ中に、ＴＴＰによって各ノードに対して安全に与えられる。検討されたセキュリティモデルは、攻撃を評価するのはデフォルトで共謀ベースのセキュリティモデルであるとする一方で、フィールドにおいてＩｏＴノードを漏洩し、漏洩したキー材料を使用して、ネットワークの残り、詳細にはＴＴＰに対して攻撃を開始することができる攻撃者を考慮に入れるものである。
【００８１】
ノード２１０において実施されるプロトコルの利点には、他方のノードに関するデジタル識別子が知られていれば、いかなるメッセージも交換することなく共有キーが計算され得ることがある。次いで、導出されたキーは、対称な暗号化に関するキーを導出するためなどに使用され得る。
【００８２】
図３ｂは、キー合意システム２０１の実施形態の一例を概略的に示すものである。システム２０１は、第２のタイプのキー予配信を使用することを除けばシステム２００に類似である。システム２０１は複数のネットワークノードを備え、ノード２１５及び２１６が示されている。
【００８３】
ネットワークノード２１０と同様に、ノード２１５は記憶機構２３０を備える。記憶機構２３０は、パブリックキー材料２４５、プライベートキー材料２５５、第１の楕円曲線２３１、第２の楕円曲線２３２、及びデジタル識別子２３４を含む。ノード２１０と同様に、このうちのいくつかは任意選択であり、たとえば必要なのはデジタル識別子２３４及びパブリック材料２４５のうち１つだけである。第１の楕円曲線２３１及び第２の楕円曲線２３２は明示的でなく暗示的でよく、たとえばポイント乗算、双線形マップなどのためのアルゴリズムにおいてハードコード化される。
【００８４】
ノード２１０との違いは、ノード２１５では、第１のパブリックポイント２４１及び第１のプライベートポイント２５１が同一の楕円曲線上にあり、第２のパブリックポイント２４２及び第２のプライベートポイント２５２が他方の楕円曲線上にあることである。その上、図３ｂの記憶機構２３０はパブリック同種２３５を含む。パブリック同種２３５は、第１の楕円曲線から第２の楕円曲線への（又はその逆の）マッピングである。好ましくは、パブリック同種２３５は低次数の同種である。興味深いことには、同種がパブリックであるので、同種の次数はセキュリティに対する影響は小さいが、次数が小さければノードにおいて実施するのがより容易になる。このタイプの実施形態では、パブリック同種は、各ノードが同一の曲線上で双線形マップを実行することを保証し、パブリック同種が第１の曲線から第２の曲線にマッピングする場合には、第１のノードと第２のノードの両方が第２の曲線上の双線形マップを計算する。
【００８５】
ノード２１５は、情報２３５によって定義されたパブリック同種を第１の曲線２３１上のポイントに適用するように構成された同種ユニット２７０を備える。詳細には、同種ユニット２７０は、第２のノードから受け取られた第１の曲線上のパブリックポイントに適用され、又はそのデジタル識別子から第２のノード用に計算され、又は同種ユニット２７０自体が、第１の曲線上でノード２１５のプライベートポイント２５１に適用される。第２のタイプの一実施形態における同種ユニット２７０は、同種ユニット２７０がいかなる双対同種も評価する必要がないことを除けば、第１のタイプの一実施形態における同種ユニット１５０と類似の設計を使用し得る。
【００８６】
共有キーユニット２６０は、第２のネットワークノードに関するパブリック楕円曲線ポイントを取得するように構成されており、パブリック楕円曲線ポイントは、第１及び第２の楕円曲線のうちのいずれかの上にある。共有キーユニット２６０は、第２のネットワークノードに関するパブリック楕円曲線ポイントを計算するか、又は受け取ることができる。共有キーユニット２６０はまた、図３ｂの記憶機構２３０から、ノード２１６に関するパブリックポイントとは別の楕円曲線上にあるプライベート楕円曲線ポイントを選択する。このポイントにおいて、共有キーユニット２６０は、２つの曲線から１つずつ、２つの楕円曲線ポイントを取得しており、そのうち一方がノード２１５に関するプライベートポイントであり、他方がノード２１６に関するパブリックポイントである。次に、共有キーユニット２６０は、第１の楕円曲線上のパブリックポイント又はプライベートポイントに同種ユニット２７０を適用する。結果として、第２の楕円曲線上に２つのポイントが得られる。最後に、共有キーユニット２７０は、第２の楕円曲線及び第２の楕円曲線上の２つのポイントに対して双線形マップｅを評価する。
【００８７】
ノード２１０については、たとえばＫＤＦを使用して、双線形マップの結果から共有キーが導出される。ポイント圧縮の場合には、双線形マップの結果のトレースが、共有キーを導出するために使用される。
【００８８】
ノードは、起動するノードはどれか、どのポイントを使用するか、ということに依拠して構築される。たとえば、イニシエータは、第１のパブリックポイントを応答するノード用に使用するが、レスポンダはイニシエータの第２のパブリックポイントを使用する。
【００８９】
様々な実施形態において、たとえばキー予配信デバイス１１０又はネットワークノード２１０、２１５に対して、通信インターフェースは様々な選択肢から選択される。たとえば、通信インターフェースは、ローカルエリアネットワーク又は広域ネットワークに対するネットワークインターフェースであり、たとえばインターネット、内部又は外部のデータ記憶機構に対する記憶機構インターフェースなどである。通信インターフェースはカードリーダなどである。
【００９０】
記憶機構１３０、２３０は、たとえばフラッシュメモリといった電子メモリ、又はたとえばハードディスクなどの磁気記憶装置として実施される。記憶機構１３０、２３０が備える複数の離散記憶装置が、ともに記憶機構を構成する。記憶機構１３０、２３０は、たとえばＲＡＭといった一時的メモリでもよいが、一時的記憶機構の場合には、記憶機構は、使用する以前にパラメータを取得するためのいくつかの手段を含有しており、たとえば任意選択のネットワーク接続（図示せず）を通じてパラメータを取得する。
【００９１】
一般的には、デバイス１１０、２１０、及び２１５のそれぞれに備わっている（別個には示されていない）マイクロプロセッサが、デバイス１１０、２１０、及び２１５に記憶された適切なソフトウェアを実行し、たとえば、そのソフトウェアは、たとえばＲＡＭなどの揮発性メモリ又はフラッシュメモリなどの不揮発性メモリ（別個には示されていない）といった対応する記憶装置にダウンロードされ、且つ／又は記憶されている。或いは、デバイス１１０、２１０、及び２１５は、全体又は一部において、たとえばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）としてプログラマブルロジックで実施される。デバイス１１０、２１０、及び２１５は、全体又は一部において、いわゆる特定用途向け集積回路（ＡＳＩＣ）すなわち特別な用途向けにカスタマイズされた集積回路（ＩＣ）として実施される。たとえば、回路は、たとえばＶｅｒｉｌｏｇ、ＶＨＤＬなどのハードウェア記述言語を使用してＣＭＯＳで実施される。
【００９２】
一実施形態では、キー予配信デバイス１１０は、通信インターフェース回路、記憶回路、楕円ハッシュユニット回路、同種ユニット回路を備える。一実施形態では、ネットワークノード２１０は、通信インターフェース回路、記憶回路、共有キーユニット回路、及び任意選択のキー確認ユニット回路を備える。ネットワークノード２１５は同種ユニット回路も備え得る。これらの回路はプロセッサ回路及び記憶回路であり、プロセッサ回路は、記憶回路において電子的に表現された命令を実行する。
【００９３】
プロセッサ回路は、たとえば複数のサブプロセッサ回路として分散型のやり方で実施される。記憶機構は、複数の分散型サブ記憶機構にわたって分散している。記憶装置の一部又はすべてが、電子メモリ、磁気記憶装置などである。たとえば、記憶機構は揮発性の部分及び不揮発性の部分を有する。記憶機構の一部は読取り専用である。
【００９４】
図４は、キー合意方法の実施形態の一例を概略的に示す簡単なシーケンス図である。共有キーは、図３ａと同様に、ネットワークノード２１０と２１１との間に確立される。しかしながら、図３ｂのノード２１５及び２１５に対して、類似の方法が適用可能である。図４に示されたメッセージシーケンス４００にはノード間で交換される複数のメッセージが含まれ、メッセージ４１０、４２０、及び４３０が示されている。
【００９５】
ノード２１０は、第１のメッセージ４１０で、ノード２１１にキー合意要求を送る。この要求はノード２１０のデジタル識別子ＩＤ１を含む。ノード２１１からノード２１０に送られる第２のメッセージ４２０は、ノード２１１のデジタル識別子ＩＤ２を含む。
【００９６】
この時点で、ノード２１０は、ノード２１１の第２のパブリックポイントＨ２（ＩＤ２）を計算し、ノード２１０自体の第１のプライベートポイントφ（Ｈ１（ＩＤ１））を選択する。ノード２１０は双線形マップｅ（Ｈ２（ＩＤ２），φ（Ｈ１（ＩＤ１）））を計算し、その結果から共有キーを導出する。
【００９７】
ノード２１０から２１１に送られるメッセージ４３０のすべて又は一部分は、たとえば取得された共有キーを使用するブロック暗号又はメッセージ確認コード（ＭＡＣ）を使用して、たとえば暗号化及び／又は認証によって保護される。保護された部分のコンテンツは、たとえばセンサ値を交換するためなど、たとえばノード２１０及び２１１のいくつかのさらなる通信の必要性に応えるために、キー合意プロトコルと無関係にされる。
【００９８】
ノード２１１は、メッセージ４３０を受け取る前又は受け取った後に、ノード２１０の第１のパブリックポイントＨ１（ＩＤ１）を計算し、ノード２１１自体の第２のプライベートポイントφ’（Ｈ２（ＩＤ２））を選択する。ノード２１０は双線形マップｅ（Ｈ１（ＩＤ１），φ’（Ｈ２（ＩＤ２）））を計算し、その結果から共有キーを導出する。次いで、共有キーは、ノード２１１によって、メッセージ４３０又はその一部分を解読し、且つ／又は検証するために使用され得る。
【００９９】
ノード２１０及び２１１が他方のノードに関するデジタル識別子を既に認識している場合には、メッセージ４１０及び４２０はキャンセルされる。メッセージ４３０は、ノード２１０が計算したキー確認トークンを含む。メッセージ４２０は、ノード２１１からのたとえばノンスといった課題を含み、これがノード２１０によって暗号化される。メッセージ４３０は、ノード２１１に対する課題を含む。ノード２１１からノード２１０へのさらなるメッセージは、ノード２１１が計算したキー確認トークンを含む。
【０１００】
キー合意プロトコルのアプリケーションはメッセージングアプリケーションの中にある。たとえば、そのようなアプリケーションでは、送り側が既に受け側の識別子を有すると想定される。たとえば、第１のネットワークノードは、第２のネットワークノードに対して、第１のネットワークノードの識別子を含んでいる保護されたメッセージを送る。たとえば、第１のネットワークノードの識別子は、（移動性の）電話番号、電子メールアドレス、たとえばＩＰアドレスといったコンピュータアドレスなどである。第１のノードは、メッセージを宛てる第２のノードの識別子（たとえば電話番号）を認識しているので、この識別子から前もって共有キーを計算することができる。メッセージは、（たとえば電子メールアドレス又はコンピュータアドレスの場合には）識別子によって第２のノード識別子に直接送られる。メッセージは、コンピュータネットワークを通じて、たとえば電話番号といった識別子に関連したデバイスにメッセージを送る、たとえばルーティングサービスといった介在によって送られてもよい。後者の場合には、ノードは、登録中に電話番号を使用してローカルキー材料を取得し、メッセージをルーティングするためのコンピュータアドレスを含む。興味深いことに、第１のノードは、第２のノードが現在オフラインであってキー合意プロトコルに対話式に関与することができなくても、メッセージを送ることができる。第１のノードのメッセージは、たとえばルーティグデバイスによって、第２のデバイスがオンラインになるまでバッファに保存される。
【０１０１】
図５は、キー予配信方法５００の実施形態の一例を概略的に示すものである。キー予配信のための方法５００は、ローカルキー情報を用いて、ノード２１０及び２１１、又はノード２１５及び２１６などの複数のネットワークノードを構築するものであり、
第１の楕円曲線１３１；Ｅ１に関する第１の秘密同種φ；ｓと、第２の楕円曲線１３２；Ｅ２に関する第２の秘密同種φ’；ｓとを表す情報１３５を記憶するステップ５１０であって、同種が、楕円曲線上のポイントを受け取って、楕円曲線上のポイントを出力として生成するように構成されている、ステップ５１０と、
ネットワークノード２１０のデジタル識別子ＩＤを取得するステップ５２０と、
デジタル識別子に対して少なくとも第１のハッシュ関数１４７及び第２のハッシュ関数１４８を適用するステップ５３０であって、第１及び第２のハッシュ関数が、デジタル識別子を、第１の楕円曲線１３１及び第２の楕円曲線１３２上の第１のパブリックポイント１４１；（Ｈ１（ＩＤ））及び第２のパブリックポイント１４２；（Ｈ２（ＩＤ））にマッピングし、第１の楕円曲線が第２の楕円曲線とは異なるものであり、第１及び第２のパブリックポイントが、ネットワークノード２１０に関するパブリックキー材料１４５の一部である、適用するステップ５３０と、
第１のパブリック楕円曲線ポイント１４１及び第２のパブリック楕円曲線ポイント１４２に対して第１及び第２の秘密同種１３５を適用して、ネットワークノード２１０に関するプライベートキー材料１５５の一部である第１のプライベート楕円曲線ポイント１５１及び第２のプライベート楕円曲線ポイント１５２を取得するステップ５４０と、
通信インターフェースを通じて、プライベート楕円曲線ポイントを用いてネットワークノードを構築するステップ５５０とを含む。
【０１０２】
図６は、キー合意方法６００の実施形態の一例を概略的に示すものである。方法６００は、第１のネットワークノード２１０と第２のネットワーク、又は第１のネットワークノード２１５と第２のネットワークノード２１６など、２つのネットワークノードの間の共有キーを確立する。方法６００は、
記憶するステップ６１０であって、
第１のネットワークノードに関するデジタル識別子２３４（ＩＤ）並びに／或いは第１及び第２の楕円曲線上にある第１及び第２のパブリック楕円曲線ポイントと、
キー予配信デバイス１１０によって計算され、第１及び第２の秘密同種１３５によって第１のパブリック楕円曲線ポイント２４１及び第２のパブリック楕円曲線ポイント２４２に対応する、第１のプライベート楕円曲線ポイント２５１及び第２のプライベート楕円曲線ポイント２５２であって、第１のパブリック楕円曲線ポイント２４１及び第２のパブリック楕円曲線ポイント２４２が、第１のハッシュ関数１４７及び第２のハッシュ関数１４８によってネットワークノード２１０のデジタル識別子２３４に対応する、第１のプライベート楕円曲線ポイント２５１及び第２のプライベート楕円曲線ポイント２５２とを記憶するステップ６１０と、
第２のネットワークノードに関するパブリック楕円曲線ポイントＨ２（ＩＤＲ）を取得するステップ６２０であって、パブリック楕円曲線ポイントＨ２（ＩＤＲ）が第１及び第２の楕円曲線のうち一方の楕円曲線上にある、取得するステップ６２０と、
第１及び第２の楕円曲線のうち一方の楕円曲線とは異なる他方の楕円曲線上にある第１及び第２のプライベート楕円曲線ポイントから、プライベート楕円曲線ポイントを選択するステップ６３０と、
第１のネットワークノードの選択されたプライベートポイントと、第２のネットワークノードの取得されたパブリック楕円曲線ポイント又は第１のノードによってパブリック同種が適用されている第２のネットワークノードのパブリック楕円曲線ポイントとに対して、双線形マップｅを適用するステップ６４０と、
双線形マップの結果から暗号キーを導出するステップ６５０とを有する。
【０１０３】
当業者には明らかなように、方法５００及び６００を実行する様々なやり方が可能である。たとえば、ステップの順序を変えることができ、又はいくつかのステップを並行して実行することができる。その上に、ステップの間に、他の方法のステップが挿入され得る。挿入されるステップは、本明細書で説明された方法などの改善を表現するものでよく、又は本明細書で説明された方法とは無関係でもよい。その上に、所与のステップは、次のステップが開始される前に完了していなくてもよい。
【０１０４】
本発明による方法は、プロセッサシステムに方法５００又は６００を遂行させるための命令を含むソフトウェアを使用して実行される。ソフトウェアは、システムの特定のサブエンティティによって採用されたステップのみ含めばよい。ソフトウェアは、ハードディスク、フロッピーディスク、メモリ、光ディスクなどの適切な記憶媒体に記憶される。ソフトウェアは、ワイヤに沿った信号、無線、又はたとえばインターネットといったデータネットワークを使用して送られる。ソフトウェアは、ダウンロードして使用されるように、且つ／又はサーバ上にあって遠隔で利用されるように作成される。本発明による方法は、方法を遂行させるための、たとえばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）といったプログラマブルロジックを構築するように構成されたビットストリームを使用して実行される。
【０１０５】
本発明は、本発明を実行するように適合されたコンピュータプログラム、特にキャリア上のコンピュータプログラム又はキャリアにおけるコンピュータプログラムにも及ぶことが理解されよう。プログラムは、ソースコード、オブジェクトコード、コードの中間のソース、及び部分的にコンパイルされた形式などのオブジェクトコードの形式、又は本発明による方法の実装形態において使用するのに適した任意の他の形式でよい。コンピュータプログラム製品に関する一実施形態は、説明された方法の少なくとも１つの処理ステップの各々に対応するコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに細分され、並びに／或いは静的又は動的にリンクされる１つ若しくは複数のファイルに記憶される。コンピュータプログラム製品に関する別の実施形態は、説明されたシステム及び／又は製品のうち少なくとも１つの手段の各々に対応するコンピュータ実行可能命令を含む。
【０１０６】
図７ａは、コンピュータプログラム１０２０を含む書込み可能な部分１０１０を有するコンピュータ可読媒体１０００を示すものであり、コンピュータプログラム１０２０は、プロセッサシステムに、一実施形態による、キー予配信の方法又はキー合意を遂行させるための命令を含む。コンピュータプログラム１０２０は、コンピュータ可読媒体１０００上の物理マークとして、又はコンピュータ可読媒体１０００を磁化することにより、具現される。しかしながら、任意の他の適切な実施形態も同様に考えられる。その上、コンピュータ可読媒体１０００は、ここでは光ディスクとして示されているが、ハードディスク、ソリッドステートメモリ、フラッシュメモリなどの任意の適切なコンピュータ可読媒体でよく、記録不可能でも記録可能でもよいことが理解されよう。コンピュータプログラム１０２０は、プロセッサシステムに、前記キー予配信の方法又はキー合意の方法を遂行させるための命令を含む。
【０１０７】
図７ｂは、一実施形態によるプロセッサシステム１１４０を概略的に示すものである。プロセッサシステムは１つ又は複数の集積回路１１１０を備える。図７ｂには１つ又は複数の集積回路１１１０の構造が概略的に示されている。回路１１１０は、一実施形態による方法を実行するため、及び／又はそのモジュール若しくはユニットを実施するためのコンピュータプログラムコンポーネントを走らせるための、たとえばＣＰＵである処理ユニット１１２０を備える。回路１１１０は、プログラムコード、データなどを記憶するためのメモリ１１２２を備える。メモリ１１２２の一部は読取り専用である。回路１１１０は、たとえばアンテナ、コネクタ、又は両方などの通信要素１１２６を備える。回路１１１０は、方法において定義された処理の一部分又はすべてを遂行するための専用の集積回路１１２４を備える。プロセッサ１１２０と、メモリ１１２２と、専用のＩＣ  １１２４と、通信要素１１２６とは、たとえばバスである相互接続１１３０を介して互いに接続される。プロセッサシステム１１１０は、コネクタを使用する接触型通信用、及び／又はアンテナを使用する非接触型通信用に構成されている。
【０１０８】
たとえば、一実施形態では、たとえばネットワークノードといったキー予配信デバイス又はキー合意デバイスは、プロセッサ回路及びメモリ回路を備え、プロセッサはメモリ回路に記憶されたソフトウェアを実行するように構成されている。たとえば、プロセッサ回路は、Ｉｎｔｅｌ社のＣｏｒｅ  ｉ７プロセッサ、ＡＲＭ社のＣｏｒｔｅｘ−Ｒ８などである。一実施形態では、プロセッサ回路はＡＲＭ社のＣｏｒｔｅｘ  Ｍ０である。メモリ回路は、ＲＯＭ回路、すなわち、たとえばフラッシュメモリといった不揮発性メモリである。メモリ回路は、たとえばＳＲＡＭメモリである揮発性メモリである。後者の場合には、デバイスは、たとえばハードディスク、ネットワークインターフェースなど、ソフトウェアを供給するように構成され不揮発性のソフトウェアインターフェースを備える。
【０１０９】
前述の実施形態は、本発明を限定するのではなく、当業者が、多くの代替実施形態を設計することを可能にするように説明するものであることに留意されたい。
【０１１０】
特許請求の範囲では、括弧の間のいかなる参照符号も、特許請求の範囲を限定するものとして解釈されないものとする。動詞「備える」及びその語形変化の使用は、特許請求の範囲において明示されたもの以外の要素又はステップの存在を排除するものではない。要素の前の冠詞「１つの（ａ）」又は「１つの（ａｎ）」は、そのような要素が複数存在することを排除するものではない。本発明は、いくつかの別個の要素を含むハードウェアと、適切にプログラムされたコンピュータとによって実施される。いくつかの手段を列挙しているデバイスの請求項では、これらの手段のいくつかは、ハードウェアの同一の品目によって具現され得る。特定の方策が互いに異なる従属請求項において詳述されるという単なる事実は、これらの方策の組合せが有利に使用され得ないことを指示するわけではない。
【０１１１】
特許請求の範囲では、括弧の中の参照は、実施形態を例示する図面における参照符号又は実施形態の式を参照するものであり、したがって特許請求の範囲における理解し易さが向上する。これらの参照は、特許請求の範囲を限定するものとして解釈されることはないものとする。
【図１】
2020509695.tif 000007
【図２ａ】
2020509695.tif 000008
【図２ｂ】
2020509695.tif 000009
【図２ｃ】
2020509695.tif 000010
【図３ａ】
2020509695.tif 000011
【図３ｂ】
2020509695.tif 000012
【図４】
2020509695.tif 000013
【図５】
2020509695.tif 000014
【図６】
2020509695.tif 000015
【図７ａ】
2020509695.tif 000016
【図７ｂ】
2020509695.tif 000017
【国際調査報告】
2020509695.tif 000018
2020509695.tif 000019
2020509695.tif 000020