(57)【要約】      （修正有）【課題】クライアント及びサーバ間の通信を保護し、楕円曲線暗号化法と証明書不要公開鍵暗号化法の手法を使用して、コスト効率のよいシステムを実現する。【解決手段】システムは、楕円曲線ディフィー・ヘルマンアルゴリズムに基づきｍビットの秘密鍵を生成する秘密鍵生成手段と、さらに、当該秘密鍵及び楕円曲線ディフィー・ヘルマンアルゴリズムを使用してセッション鍵を生成する。生成したセッション鍵を用いて、通信を暗号化し、安全なコスト効率のよい、クライアント及びサーバ間の通信を実現する。【選択図】図１
2016036166.tif 000002
【特許請求の範囲】
【請求項１】
安全なクライアント・サーバ通信を容易にするシステムであって、
乱数を生成するべく適合された乱数生成器と、
前記乱数を受信して処理値を生成するべく適合された処理手段と、
前記処理値を受信かつ検証することにより偽造を検出するべく適合され、さらには検証値を生成するべく適合された第１検証手段と、
第１検証手段に結合されて第１の値を生成するべく適合され、さらには前記第１の値に対応する第２の値を生成するべく適合された計算手段と、
所定プリミティブを有して前記第２値を受信かつ検証するべく適合され、さらには公開鍵及び対応個人鍵を生成するべく適合された第２検証手段と、
前記所定プリミティブを有して前記第２検証手段からの前記公開鍵を受信し、かつ、秘密鍵を生成するべく適合された秘密鍵生成手段と、
前記所定プリミティブを有して前記秘密鍵生成手段からの前記秘密鍵を受信し、かつ、前記秘密鍵に対応するセッション鍵を生成するべく適合されたセッション鍵生成手段と
を含み、
前記秘密鍵及び前記セッション鍵は安全なクライアント・サーバ通信を容易にするシステム。
【請求項２】
前記処理手段は、前記乱数を受信し、かつ、前記乱数を、楕円曲線暗号化を使用して前記公開鍵により暗号化するべく適合された暗号化手段を含む請求項１に記載のシステム。
【請求項３】
前記処理手段は、前記乱数を受信し、かつ、前記乱数を前処理して前記処理値を生成するべく適合された前処理手段を含む請求項１に記載のシステム。
【請求項４】
前記第１検証手段は、前記処理値を受信し、かつ、前記処理値を、楕円曲線暗号化を使用して前記個人鍵により復号化するべく適合された復号化手段を含む請求項１に記載のシステム。
【請求項５】
前記第１検証手段は、前記処理値を受信かつ検証して偽造を検出するべく適合された前処理手段を含む請求項１に記載のシステム。
【請求項６】
前記第１の値は、ヤコビ恒等式と公開鍵及び個人鍵の対とからなる群から選択される請求項１に記載のシステム。
【請求項７】
前記第２の値は、デジタル署名値及びリー積からなる群から選択される請求項１に記載のシステム。
【請求項８】
前記所定プリミティブは、楕円曲線ディフィー・ヘルマンシステム、楕円曲線デジタル署名システム、メッセージランダム化システム及びヤコビ恒等式検証システムからなる群から選択される請求項１に記載のシステム。
【請求項９】
安全なクライアント・サーバ通信を容易にする方法であって、
乱数を生成するステップと、
前記乱数を処理して処理値を生成するステップと、
前記処理値を検証することにより偽造を検出するステップと、
第１の値を生成するステップと、
前記第１の値に対応する第２の値を生成するステップと、
前記第２の値を、所定プリミティブを使用して検証するステップと、
公開鍵及び対応個人鍵を生成するステップと、
前記公開鍵を送信しかつ前記個人鍵を保持するステップと、
前記送信された公開鍵を受信しかつ所定プリミティブに基づき秘密鍵を生成するステップと、
前記秘密鍵及び前記所定プリミティブに基づきセッション鍵を生成するステップと
を含む方法。
【請求項１０】
前記乱数を処理して処理値を生成するステップはさらに、前記乱数を、楕円曲線ディフィー・ヘルマン法、楕円曲線デジタル署名法及びメッセージランダム化法からなる群から選択されたプリミティブを使用して処理することを含む請求項９に記載の方法。
【請求項１１】
前記処理値を検証することにより偽造を検出するステップはさらに、前記処理値を、楕円曲線ディフィー・ヘルマン法、楕円曲線デジタル署名法及びメッセージランダム化法からなる群から選択されたプリミティブを使用して検証することを含む請求項９に記載の方法。
【請求項１２】
前記第１の値を生成するステップはさらに、公開鍵及び個人鍵の対とヤコビ恒等式とからなる群から選択された値を生成することを含む請求項９に記載の方法。
【請求項１３】
前記第１の値に対応する第２の値を生成するステップはさらに、デジタル署名値及びリー積からなる群から選択された値を生成することを含む請求項９に記載の方法。
【請求項１４】
前記秘密鍵を生成するステップはさらに、前記秘密鍵を、楕円曲線ディフィー・ヘルマン法及び楕円曲線デジタル署名法からなる群から選択されたプリミティブに基づいて生成することを含む請求項９に記載の方法。
【請求項１５】
前記秘密鍵及び所定プリミティブに基づきセッション鍵を生成するステップはさらに、前記セッション鍵を、楕円曲線ディフィー・ヘルマン法及び楕円曲線デジタル署名法からなる群から選択されたプリミティブに基づいて生成することを含む請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信分野に関する。
【０００２】
詳しくは、本発明は、暗号化法及びネットワークセキュリティの分野に関する。
【０００３】
本明細書で使用される用語の定義
【０００４】
用語「プリミティブ」は本明細書において、楕円曲線ディフィー・ヘルマンシステム、楕円曲線デジタル署名システムのような、デジタル署名を生成して検証するべく使用される周知のシステムに関し、さらには、メッセージをランダム化するとともに当該メッセージの信ぴょう性を検証するべく使用される、メッセージランダム化システム、ヤコビ恒等式検証システム等のような周知のシステムにも関する。
【０００５】
用語「デジタル署名」又は「署名」は本明細書において、メッセージ、金融取引、及び、偽造又は改ざんを検出する必要性が存在する場合の信ぴょう性を決定するメカニズムに関する。
【０００６】
これらの定義は、業界において表現される定義への追加である。
【背景技術】
【０００７】
クライアント・サーバネットワークは、サービス提供者（サーバ）とサービス要求者（クライアント）との間でタスク又は作業負荷を分配する分散型アプリケーションアーキテクチャである。この種のネットワーク通信は必ずしも安全とはいえない。クライアント・サーバ設定において安全な通信を得るべく、多くの研究者及び機関が、公開鍵ベースの暗号化法、ＩＤベースの暗号化法等のような方法を組み合わせている。
【０００８】
強力なパスワードベースの認証鍵交換（ＰＡＫＥ）が１９９３年にＢｏｌｌｏｖｉｎ及びＭｅｒｒｉｔｔｅにより特許取得されている。これは、２以上の当事者が、一以上の当事者のパスワードに関する知識に基づき暗号鍵を確立する相互作用的な方法である。その後、スタンフォード大学が、セキュアリモートプロトコル（ＳＲＰ）の特許を取得した。これは、信頼できないネットワークを経由する新しいパスワード認証及び鍵交換メカニズムのために使用された。その後、サンマイクロシステムズが、楕円曲線暗号化法（ＥＣＣ）技術の実装に想到した。これは、ＯｐｅｎＳＳＬ認証局への統合が良好であった。このコードは、楕円曲線ベースの暗号スイートを使用して安全なＴＬＳ／ＳＳＬハンドシェイクを可能とした。
【０００９】
この分野においてなされた他の研究
【００１０】
特許文献１は、暗号化ステップ及び複合化ステップを含むデータ暗号化及び復号化の方法を与える。暗号化ステップでは、公開鍵暗号方式において秘密鍵及び公開鍵のｎ個の対が調製される。ここでｎは正の整数である。新たな鍵が、当該公開鍵の少なくとも一つに従って生成される。データが、新たな鍵の使用により共通鍵暗号方式において暗号化される。新たな鍵及びｎ個の公開鍵に関連付けられた項を有する（ｋ，ｎ）しきい値ロジックが調製される（ｋはｎ以下の整数）。しきい値ロジックの計算は、新たな鍵及びｎ個の公開鍵の使用によって行われ、暗号化されたデータと当該しきい値ロジックの計算結果が記憶される。復号化ステップでは、当該新たな鍵が、ｎ個の秘密鍵から選択されたｋ個の秘密鍵から復元され、記憶されたしきい値ロジック計算結果が、しきい値ロジック及び記憶されたデータに対応するしきい値逆ロジックに従って、共通鍵暗号方式において復元された鍵により復号化される。特許文献１が焦点を当てるのは、データ暗号化ステップ及びデータ復号化ステップそれぞれを含むデータ暗号化及び復号化の方法である。データ暗号化ステップはさらに、秘密鍵及び公開鍵の「ｎ」個の対を含み、生成された公開鍵の少なくとも２個を使用して新たな鍵を生成することも含む。
【００１１】
特許文献２は、アプリケーションサービスへの安全なアクセスを提供するシステムを与える。特許文献２により想定されるシステムは、第１暗号化手法を使用してチャレンジを、アプリケーションサービスへのアクセスを求めるクライアントに提供するチャレンジ提供者を含む。クライアントは、第２暗号化手法を使用して応答を生成し、認証サービスへの応答を与える。認証サービスは、チャレンジ及び応答が認証された場合にのみ、第１暗号化手法と相補的な第１認証手法、及び第２暗号化手法と相補的な第２認証手法それぞれを使用してクライアントに、アプリケーションサービスへのアクセスを与える。
【００１２】
特許文献３は、トークン（クライアント）に関連付けられた位置因子を検証するコンピュータシステム及び方法を与える。トークンは、暗号化されたチャレンジをサーバから受信する。暗号化されたチャレンジは、サーバ及びトークンによって共有された鍵によって暗号化される。トークンはその後、暗号化されたチャレンジを共有鍵によって復号化し、当該チャレンジを所定楕円曲線暗号化法（ＥＣＣ）プロシージャによって操作して操作済みチャレンジを取得する。トークンはチャレンジへの応答として、署名された操作済みチャレンジ及びＥＣＣ公開鍵をサーバに返す。サーバは、署名された操作済みチャレンジを受信し、当該署名された操作済みチャレンジが実際にトークンにおいて生成されたことをＥＣＣ公開鍵に基づいて検証する。クライアントが、暗号化されたチャレンジをサーバから受信する特許文献３の場合、当該チャレンジは、クライアント及びサーバの双方に知られた鍵（公開鍵）を使用して暗号化される。
【００１３】
特許文献４は、共通モジュラスＮの使用について合意した２つのエンティティ間の認証を使用する手段を備えた方法及び装置を与える。特許文献４により想定される方法は、入力値から疑似乱数列値を生成するステップと、当該モジュラスＮ及び当該疑似乱数列値に基づき第１公開鍵値を生成するステップと、当該第１公開鍵値に対応する第１個人鍵値を生成するステップと、第２公開鍵値を受信するステップと、当該モジュラスＮ、当該第１個人鍵値及び当該第２公開鍵値に基づき共有秘密値を生成するステップと、当該共有秘密値を使用して認証署名を決定し当該認証署名を送信するステップとを含む。特許文献４により想定されるシステムは、第１公開鍵及び第１個人鍵を生成するべく鍵生成部を使用する。システムはさらに、第２公開鍵値を受信する受信部と、秘密共有鍵値を生成する秘密鍵生成部とを使用する。
【００１４】
特許文献５は、第１当事者及び第２当事者間の鍵合意プロトコルを与える。特許文献５によれば、ランダム鍵成分が、生成され、第１当事者（サーバ）によって暗号化され、及び第２当事者（クライアント）に送信される。ランダム鍵部分が、第２当事者の公開鍵を使用して暗号化される。したがって、第２当事者は第１当事者から送信されたランダム鍵成分を受信し、第２当事者は、第１ランダム鍵成分を受信することに加えて第２鍵成分を生成する。クライアント側では（第２当事者では）、第１鍵成分及び第２鍵成分が暗号化されてランダムな暗号化された鍵成分対が形成される。このようにして生成されたランダム鍵成分対は、暗号化されて第２当事者（クライアント）から第１当事者（サーバ）へと送信される。サーバ又は第１当事者は、暗号化されたランダム鍵成分対を第２当事者から受信すると、暗号化された第２ランダム鍵成分を第２当事者に送信し、その後のすべてのクライアント及びサーバ間通信において使用される鍵は、第１当事者（サーバ）において第２ランダム鍵成分に基づき計算かつ決定される。特許文献５が焦点を当てるのは、ＩＤベースの暗号化の方式を与えることである。
【００１５】
特許文献６は、デジタル著作権管理（ＤＲＭ）システムを実装するべく構成されたブロックレベルの記憶デバイスを与える。記憶デバイスは、関連付けられたホストシステムからの公開鍵受信に応答してホストシステムに対し、信頼を確立するべく対応個人鍵を有することを証明するチャレンジを行う。この信頼は、公開鍵を使用して安全なセッション鍵を暗号化することにより確立される。ホストシステムは、自身の個人鍵を使用して安全なセッション鍵を回復させる。記憶デバイスは、コンテンツ鍵に応じて暗号化されたコンテンツを記憶することができる。それに加え、記憶デバイスは、安全なセッション鍵を使用してコンテンツ鍵を暗号化することができる。特許文献６が焦点を当てるのは、デジタル著作権管理システムを与えることである。特許文献６によって想定されるシステムの場合、記憶デバイス及びクライアント間の安全な通信を確実にするべく、安全なセッション鍵自体が暗号化された後に復号化される。
【００１６】
特許文献７は、非対称暗号化法の確率に基づき楕円曲線公開鍵証明書を生成することを開示する。特許文献７によって想定されるシステムはさらに、クライアント及びサーバ間の安全な通信を容易にするべく、衝突防止ハッシュ関数、公開鍵暗号化システム及び公開鍵証明書方式の原理を使用することを含む。本発明は、証明書不要公開鍵基盤を与える点で、特許文献７によって想定されるシステムとは異なる。特許文献７が楕円曲線暗号化法（ＥＣＣ）の使用を開示するとしても、本発明が証明書不要公開鍵基盤を使用する一方で特許文献７が証明書ベースの公開鍵基盤の使用を開示する事実に大きな差異が存在する。
【００１７】
先行技術及びその関連特許文献が提案するシステムに関連付けられる不利益は、上述のすべてのアプローチが、証明書ベースの公開鍵暗号化法及びＩＤベースの暗号化法の手法に基づき実装されるということである。これらの暗号化法は、実際の展開においてコストがかかりかつ複雑な鍵管理問題及び鍵エスクロウ問題に直面する。こうした問題に対処するべく最近になって証明書不要公開鍵暗号化法（ＣＬ−ＰＫＣ）が導入されたが、完全には解決されていない。ＣＬ−ＰＫＣは典型的に、双線形ペアリング及び逆演算を使用するのでシステムのパフォーマンスが遅くなる。
【００１８】
したがって、証明書不要公開鍵暗号システムに基づくが双線形ペアリングの原理は使用しないコスト効率及び時間効率のよいシステムの必要性が感じられていた。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】米国特許第６，４７７，２５４号明細書
【特許文献２】米国特許第７，６７３，１４１号明細書
【特許文献３】米国特許出願公開第２００８／０６９３３８号明細書
【特許文献４】米国特許出願公開第２００９／００３５９７号明細書
【特許文献５】米国特許出願公開第２０１０／２１１７７９号明細書
【特許文献６】米国特許第７，５４９，０４４号明細書
【特許文献７】中国特許出願公開第１４４４１６８号明細書
【発明の概要】
【発明が解決しようとする課題】
【００２０】
本発明の一つの目的は、クライアント及びサーバ間の通信を保護するシステムを与えることにある。
【００２１】
本発明の他の目的は、クライアント及びサーバ間の通信を保護するロバストなシステムを与えることにある。
【００２２】
本発明のさらなる他の目的は、不正開封防止のシステムを与えることにある。
【００２３】
本発明のなおもさらなる他の目的は、軽量な認証システムを与えることにある。
【００２４】
本発明のなおもさらなる他の目的は、証明書不要公開鍵暗号化法の手法を使用するコスト効率のよいシステムを与えることにある。
【００２５】
本発明のなおもさらなる他の目的は、双線形ペアリングなしで証明書不要公開鍵暗号化法の手法を実装する時間効率のよいシステムを与えることにある。
【００２６】
本発明のなおもさらなる他の目的は、低帯域幅で機能可能なシステムを与えることにある。
【００２７】
本発明のなおもさらなる他の目的は、その動作にとって少ない記憶空間量の要求で済む空間効率のよいシステムを与えることにある。
【００２８】
本発明のなおもさらなる他の目的は、即時的かつ安全にオンライン現金取引を行う態様を与えるシステムを与えることにある。
【００２９】
本発明のなおもさらなる他の目的は、反射攻撃（ｒｅｐｌａｙ  ａｔｔａｃｋ）及び急速攻撃（ｒｕｓｈｉｎｇ  ａｔｔａｃｋ）の発生を防止するシステムを与えることにある。
【００３０】
本発明のなおもさらなる他の目的は、情報損失の低減を補助するシステムを与えることにある。
【００３１】
本発明のなおもさらなる他の目的は、大量のデータの送信中であっても危険にさらされることにないパフォーマンスを有するシステムを与えることにある。
【課題を解決するための手段】
【００３２】
本発明によれば、安全なクライアント・サーバ通信を容易にするシステムが与えられる。当該システムは、
・乱数を生成するべく適合された乱数生成器と、
・当該乱数を受信しかつ処理値を生成するべく適合された処理手段と、
・当該処理値を受信かつ検証することにより偽造を検出するべく適合され、さらには検証値を生成するべく適合された第１検証手段と、
・第１検証手段に結合されて第１の値を生成するべく適合され、さらには当該第１の値に対応する第２の値を生成するべく適合された計算手段と、
・所定プリミティブを有して当該第２値を受信かつ検証するべく適合され、さらには公開鍵及び対応個人鍵を生成するべく適合された第２検証手段と、
・当該所定プリミティブを有して当該第２検証手段からの当該公開鍵を受信し、かつ、秘密鍵を生成するべく適合された秘密鍵生成手段と、
・当該所定プリミティブを有して当該秘密鍵生成手段からの当該秘密鍵を受信し、かつ、セッション鍵を生成するべく適合されたセッション鍵生成手段とを含み、
当該秘密鍵及び当該セッション鍵は安全なクライアント・サーバ通信を容易にする。
【００３３】
本発明によれば典型的に、処理手段は、当該乱数を受信し、かつ、当該乱数を、楕円曲線暗号化を使用して公開鍵により暗号化するべく適合された暗号化手段を含む。
【００３４】
本発明によれば典型的に、処理手段は、当該乱数を受信し、かつ、当該乱数を、メッセージランダム化を使用して処理するべく適合された前処理手段を含む。
【００３５】
本発明によれば典型的に、第１検証手段は、当該処理値を受信し、かつ、当該処理値を、楕円曲線暗号化を使用して個人鍵により復号化するべく適合された復号化手段を含む。
【００３６】
本発明によれば典型的に、第１検証手段は、当該処理値を受信し、かつ、メッセージランダム化を使用して検証することにより偽造を検出するべく適合された前処理手段を含む。
【００３７】
本発明によれば典型的に、第１の値は、公開鍵及び個人鍵の対とヤコビ恒等式とからなる群から選択される。
【００３８】
本発明によれば典型的に、第２の値は、デジタル署名値及びリー積からなる群から選択される。
【００３９】
本発明によれば典型的に、所定プリミティブは、曲線ディフィー・ヘルマン法、楕円曲線デジタル署名法及びヤコビ恒等式検証システムからなる群から選択される。
【００４０】
本発明によれば典型的に、所定プリミティブは、楕円曲線ディフィー・ヘルマンシステム及び楕円曲線デジタル署名システムからなる群から選択される。
【００４１】
本発明によれば、安全なクライアント・サーバ通信を容易にする方法が与えられる。当該方法は、
・乱数を生成するステップと、
・当該乱数を処理して処理値を生成するステップと、
・当該処理値を検証することにより偽造を検出するステップと、
・第１の値を生成するステップと、
・当該第１の値に対応する第２の値を生成するステップと、
・当該第２の値を、所定プリミティブを使用して検証するステップと、
・公開鍵及び対応個人鍵を生成するステップと、
・当該公開鍵を送信しかつ当該個人鍵を保持するステップと、
・送信された公開鍵を受信しかつ所定プリミティブに基づき秘密鍵を生成するステップと、
・当該秘密鍵及び当該所定プリミティブに基づきセッション鍵を生成するステップとを含む。
【００４２】
本発明によれば典型的に、当該乱数を処理して処理値を生成する方法はさらに、当該乱数を、楕円曲線暗号化システムを使用して公開鍵により暗号化するステップを含む。
【００４３】
本発明によれば典型的に、当該乱数を処理して処理値を生成する方法はさらに、当該乱数を、ビットシャフリング、圧縮、Ｔ関数及び線形帰還シフトレジストレーションからなる群から選択されたプリミティブを使用して処理するステップを含む。
【００４４】
本発明によれば典型的に、当該処理値を検証する方法はさらに、当該処理値を、楕円曲線暗号化法を使用して個人鍵により復号化するステップを含む。
【００４５】
本発明によれば典型的に、当該処理値を検証する方法はさらに、当該処理値を、メッセージランダム化法を使用して検証するステップを含む。
【００４６】
本発明によれば典型的に、当該第１の値を生成する方法はさらに、公開鍵及び個人鍵の対を生成するステップを含む。
【００４７】
本発明によれば典型的に、当該第１の値を生成する方法はさらに、ヤコビ恒等式を生成するステップを含む。
【００４８】
本発明によれば典型的に、当該第１の値に基づき当該第２の値を生成する方法はさらに、デジタル署名値を生成するステップを含む。
【００４９】
本発明によれば典型的に、当該第１の値に基づき当該第２の値を生成する方法はさらに、リー積を生成するステップを含む。
【００５０】
本発明によれば典型的に、所定プリミティブを使用して当該第２の値を検証するステップはさらに、当該第２の値を、曲線ディフィー・ヘルマン法、楕円曲線デジタル署名法及びヤコビ恒等式検証法からなる群から選択された所定プリミティブを使用して検証するステップを含む。
【００５１】
本発明によれば典型的に、送信された公開鍵を受信しかつ所定プリミティブに基づき秘密鍵を生成するステップはさらに、当該秘密鍵を、楕円曲線ディフィー・ヘルマン法及び楕円曲線デジタル署名法からなる群から選択された所定プリミティブに基づいて生成するステップを含む。
【００５２】
本発明によれば典型的に、当該秘密鍵及び当該所定プリミティブに基づきセッション鍵を生成するステップは、前記セッション鍵と、楕円曲線ディフィー・ヘルマン法及び楕円曲線デジタル署名法からなる群から選択された所定プリミティブとを使用してセッション鍵を生成するステップを含む。
【図面の簡単な説明】
【００５３】
本発明が、添付図面を参照して以下に記載される。
【００５４】
【図１】本発明に係る第１ネットワークセキュリティプロトコルのためのシーケンス図を例示する。
【図２】本発明に係る第２ネットワークセキュリティプロトコルのためのシーケンス図を例示する。
【図３】本発明に係る第３ネットワークセキュリティプロトコルのためのシーケンス図を例示する。
【発明を実施するための形態】
【００５５】
本発明が、添付図面に示される実施形態を参照して以下に記載される。本実施形態は、本発明の範囲及び境界を制限するものではない。本記載は、本発明の代表的な好ましい実施形態とその提案されるアプリケーションとにのみ関連する。
【００５６】
本発明によれば、証明書不要公開鍵基盤（ＰＫＩ）を使用してクライアント及びサーバ間の安全な通信を与えるシステムと、３つのネットワークセキュリティプロトコルの一組とが想定される。
【００５７】
システムは、公開鍵及び個人鍵の対となる鍵を生成する機能を果たすことにより鍵生成センタ（ＫＧＣ）として動作可能な少なくとも一つのサーバと、少なくとも一つのクライアントとを含み、サーバクライアントアーキテクチャと、通信に必要なハードウェア、ポリシー、プロシージャ等の組を含むＰＫＩの必須基盤とが形成される。
【００５８】
第１ネットワークセキュリティプロトコルを使用する証明書不要ＰＫＩベースの通信は最初に、サーバが公開鍵及び個人鍵をクライアントに分配するべく鍵生成センタ（ＫＧＣ）として動作できるようにする。第１ネットワークセキュリティプロトコルを使用する証明書不要ＰＫＩベースの通信の設定に関連するステップが、図１に示される。
【００５９】
図１に示されるように、クライアントは、「クライアントです。こんにちは。」のような導入メッセージを送信することによって通信を開始する。サーバは、クライアントメッセージに応答して、乱数生成器の使用により「ｎ」ビット長の乱数（値）を生成する。サーバはさらに、生成された値を、クライアントの公開鍵を使用して暗号化する。乱数値の暗号化のプロセス中、デジタル証明書は生成されない。サーバは、個々のクライアントに割り当てられた個人鍵及び公開鍵の組を追跡し続ける。サーバ側において当該値を暗号化するべく、楕円曲線暗号化法が利用される。クライアントの公開鍵を使用して暗号化された値は、クライアントに送信される。サーバは、クライアントに対し、暗号化された形式の数を包含する値を復号化させて自身のＩＤを証明させるようにチャレンジを行う。クライアントは、暗号化された値を受信し、かつ、当該暗号化された値を自身の個人鍵を使用して復号化する。クライアントは、暗号化された値を、自身の個人鍵及び楕円曲線ディフィー・ヘルマンアルゴリズムを使用して復号化し、かつ、当該値が信頼されるソースから送信されたか否かを検証する。クライアントは、暗号化された値を成功裏に復号化して当初値を回復させることにより、サーバが信頼できることを証明する。クライアントは、サーバが送信した値の検証ステップ（すなわち、サーバが送信した暗号化された値の復号化）の完了時に、楕円曲線暗号化法を使用して公開鍵及び個人鍵の対を生成する。
【００６０】
クライアントは、復号化された値について、楕円曲線デジタル署名アルゴリズムを使用して署名を生成し、当該署名をサーバに送信する。サーバは、自身の一部において、クライアントが送信した署名を受信し、かつ、当該署名を、楕円曲線デジタル署名アルゴリズムを使用して検証する。サーバは、クライアントが送信した署名を検証した後すぐに、公開鍵及び個人鍵の対を、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成し、かつ、生成された公開鍵を当該クライアントに送信する。
【００６１】
クライアントは、サーバから公開鍵を受信すると、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して「ｍ」ビット長の秘密鍵を生成し、かつ、当該秘密鍵を当該サーバと共有する。サーバは、その見返りとして、楕円曲線ディフィー・ヘルマンアルゴリズムに基づき「ｍ」ビットのセッション鍵を生成する。秘密鍵及び対応セッション鍵が、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成される。図１の参照番号１００は、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して「ｍ」ビット長のセッション鍵を生成するステップを示す。サーバ及びクライアント間におけるその後の通信及び取引すべてに対し、そのセッション鍵が使用される。セッション鍵はサーバ及びクライアントのみが知っているので、クライアント及びサーバ間の通信は完全に安全である。
【００６２】
第１ネットワークセキュリティプロトコルを使用するサーバ及びクライアント間の安全な通信に関連するステップは、以下のように与えられる。
【００６３】
初期設定：すべてのクライアントが、鍵生成センタ（ＫＧＣ）として動作するサーバが生成した公開鍵及び個人鍵の対を有する。
【００６４】
第１ステップ：クライアントは、「クライアントです。こんにちは！」とのメッセージを送信することによりサーバへの通信を開始する。
【００６５】
第２ステップ：サーバは、疑似乱数生成器（ＰＲＮＧ）を使用してランダムチャレンジ又はｎビットの乱数値を生成する。さらに、サーバは、楕円曲線暗号化法（ＥＣＥ）を使用してクライアントの公開鍵により乱数値を暗号化する。クライアントは、暗号化された乱数値を、ＥＣＥを使用して自身の個人鍵により復号化する。
【００６６】
第３ステップ：クライアントは、楕円曲線暗号化法を使用することにより楕円曲線上に公開鍵及び個人鍵を生成する。公開鍵及び個人鍵の長さは、ＮＩＳＴ（アメリカ国立標準技術研究所）により推奨される２５６ビット、３８４ビット又は５１２ビットのいずれかとなり得る。クライアントは、サーバから送られた値に基づく署名を、楕円曲線デジタル署名アルゴリズムを使用して生成し、当該署名をサーバに送信する。
【００６７】
第４ステップ：サーバは、当該署名を、楕円曲線デジタル署名アルゴリズムを使用して検証した後、楕円曲線上に鍵の対を生成する。サーバは、自身の公開鍵をクライアントに送信する。
【００６８】
第５ステップ：クライアント及びサーバは、ＥＣＤＨ（楕円曲線ディフィー・ヘルマン）アルゴリズムを使用してｍビット共有秘密鍵についてネゴシエーションを行う。
【００６９】
第６ステップ：クライアント及びサーバは、暗号化を目的として楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成されたｍビットのセッション鍵についてネゴシエーションを行う。クライアント及びサーバは暗号スイートを有する。
【００７０】
第７ステップ：安全な通信がクライアント及びサーバ間に確立される。
【００７１】
上記プロトコルにおいて、攻撃者は、当該プロトコルにおいて生成されたランダムチャレンジ又は乱数値を推測することができない。暗号化された形式で送信されているからである。それゆえ、反射攻撃及び急速攻撃が防止される。
【００７２】
第２ネットワークセキュリティプロトコルを使用する証明書不要ＰＫＩベースの通信の設定に関連するステップが、図２に示される。第２ネットワークセキュリティプロトコルを使用する証明書不要ＰＫＩベースの通信は、第１ネットワークセキュリティプロトコルとはわずかに異なる。公開鍵及び個人鍵の対をクライアント及びサーバのために生成する初期設定が存在しない代わり、クライアント及びサーバは、プレーンテキストをランダムメッセージに変換する唯一のメッセージ前処理（ＭＰ）関数を有する。乱数値が送信されるときに修正が生じなかったことを確実にする目的で、全単射写像が使用される。乱数値の場合、特定値を表すビットシーケンスは、改変又はランダム化されることにより当初値がマスキングされる。
【００７３】
図２に示されるように、クライアントは、「クライアントです。こんにちは。」のような導入メッセージを送信することによって通信を開始する。サーバは、クライアントメッセージに応答して、乱数生成器の使用により「ｎ」ビット長の乱数（値）を生成する。サーバは、生成された乱数値を、メッセージ前処理関数（メッセージランダム化関数）を使用して処理する。メッセージ前処理関数は、３つの演算を順次に行うことを含む。３つの演算は、シャフリング、Ｔ関数及びＬＦＳＲ（線形帰還シフトレジスタ）である。前処理のプロセスは、ビットのシャフリングから開始する。ビットのシャフリングは、拡散の増加に役立つ。拡散とは、入力の統計学上の冗長性が出力において散逸する特性を言及する。シャフリングのプロセスは可逆なので、当初ビットシーケンスは、シャフリング後のビットシーケンスから容易に回復させることができる。
【００７４】
ビットシャフリングのプロセスの後に、Ｔ関数のプロセスが追従する。Ｔ関数は、同じビットとそれよりも下位のビットとの線形結合によってすべてのビットを更新する更新関数である。Ｔ関数のプロセスの後に、ＬＦＳＲ（線形帰還シフトレジスタ）の関数が追従する。ＬＦＳＲは、３２次かつ２３２−１周期の既約多項式を使用するプロセスである。ＬＦＳＲの場合、所与の入力が、所与の多項式に対して４〜１５周期だけシフトされる。ビットシャフリング、Ｔ関数及びＬＦＳＲ（集合的に前処理と称する）の出力は、高度にランダム化された値となる。
【００７５】
サーバは、生成された値に前処理関数を施した後、当該前処理値及び当初値をクライアントに送信する。前処理値は当初値から算出され、前処理値及び当初値間の差異のみが、前処理値の場合にビットシーケンスが改変されることを示す。クライアント側において、前処理値が、シャフリング、Ｔ関数及びＬＦＳＲの関数を逆順に使用して、すなわちＬＦＳＲの後にＴ関数及びビットシャフリングが追従するプロセスで検証される。上述のプロセスの実行順序は、当該値を前処理する場合に逆にされる。３つの関数すべてが可逆なので、当該実行順序は、データ損失及び悪影響なしに逆にすることができる。クライアントは、上述の関数を逆順に実行した後（すなわち、ＬＦＳＲの後にＴ関数及びビットシャフリングが追従した後）、検証値を取得する。クライアントは、ＬＦＳＲ、Ｔ関数及びビットシャフリングのプロセスを実行した結果として取得された検証値を、サーバが送信した当初値と比較することにより、当該値が偽造されたものか否かを検出する。サーバが送信した値を検証した後クライアントは、サーバが送信した値が認証された場合に公開鍵及び個人鍵の対を、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成する。クライアントはさらに、サーバが送信した値について、楕円曲線デジタル署名アルゴリズムを使用して署名も生成し、当該署名を自身の公開鍵とともに当該サーバに送信する。サーバは署名を受信すると、クライアントが送信した署名を、楕円曲線デジタル署名アルゴリズムを使用して検証し、その後、公開鍵及び個人鍵の対を、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成する。その後、サーバは、生成された公開鍵をクライアントに送信する。
【００７６】
クライアントは、サーバから公開鍵を受信すると、「ｍ」ビット長の秘密鍵を、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成し、当該秘密鍵を当該サーバと共有する。サーバは、その見返りとして、秘密鍵及び楕円曲線ディフィー・ヘルマンアルゴリズムに基づき「ｍ」ビットのセッション鍵を生成する。秘密鍵及び対応セッション鍵が、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成される。図２の参照番号２００は、秘密鍵及び楕円曲線ディフィー・ヘルマンアルゴリズムに基づき「ｍ」ビット長のセッション鍵を生成するステップを示す。サーバ及びクライアント間におけるその後の通信及び取引すべてに対し、そのセッション鍵が使用される。セッション鍵はサーバ及びクライアントのみが知っているので、クライアント及びサーバ間の通信は完全に安全である。
【００７７】
第２ネットワークセキュリティプロトコルを使用するサーバ及びクライアント間の安全な通信に関連するステップは、以下のように与えられる。
【００７８】
第１ステップ：クライアントは、「クライアントです。こんにちは！」とのメッセージを送信することによりサーバへの通信を開始する。
【００７９】
第２ステップ：サーバは、ランダムチャレンジ又はｎビットの乱数を、疑似乱数生成器（ＰＲＮＧ）を使用して生成し、当該乱数のメッセージ前処理を計算する。クライアントは乱数及びＭＰ（乱数）を受信する。クライアントはＭＰ（乱数）を検証する。
【００８０】
第３ステップ：クライアントは、公開鍵及び個人鍵を楕円曲線上に生成する。個人鍵及び公開鍵の長さは、ＮＩＳＴ（アメリカ国立標準技術研究所）により推奨される２５６ビット、３８４ビット又は５１２ビットのいずれかとなり得る。クライアントは、サーバが送信した値に、楕円曲線デジタル署名アルゴリズムを使用して署名し、当該署名を自身の公開鍵とともに当該サーバに送信する。
【００８１】
第４ステップ：サーバは、署名を検証して鍵の対を楕円曲線上に生成する。サーバは、自身の公開鍵をクライアントに送信する。
【００８２】
第５ステップ：クライアント及びサーバは、ＥＣＤＨ（楕円曲線ディフィー・ヘルマン）アルゴリズムを使用してｍビット共有秘密鍵についてネゴシエーションを行う。
【００８３】
第６ステップ：クライアント及びサーバは、暗号化を目的として楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成されたｍビットのセッション鍵についてネゴシエーションを行う。クライアント及びサーバは暗号スイートを有する。
【００８４】
第７ステップ：安全な通信がクライアント及びサーバ間に確立される。
【００８５】
上記プロトコルにおいて、乱数がＭＰ（乱数）とともにプレーンで送信されるので反射攻撃及び急速攻撃が防止され、興味深いことに、当該乱数は攻撃者によって変更され得るがＭＰ（乱数）は変更され得ないというＭＰにおける全単射特性の概念がわかる。
【００８６】
第３ネットワークセキュリティプロトコルを使用する証明書不要ＰＫＩ（公開鍵基盤）ベースの通信は、第１ネットワークセキュリティプロトコルに類似するが、署名生成の点で異なることがわかる。クライアントは、サーバを認証するべく、リー代数上の特殊積であるヤコビ恒等式を使用する。ヤコビ恒等式は、ランダムチャレンジＲＣ＝ｘ||ｙ||ｚ上で作用し、［［ｘ，ｙ］，ｚ］＋［［ｙ，ｚ］，ｘ］＋［［ｚ，ｘ］，ｙ］＝０との関係に従う。
【００８７】
第３ネットワークセキュリティプロトコルを使用する証明書不要ＰＫＩベースの通信の設定に関連するステップが、図３に示される。
【００８８】
図３に示されるように、クライアントは、「クライアントです。こんにちは。」のような導入メッセージを送信することによって通信を開始する。サーバは、クライアントメッセージに応答して、乱数生成器の使用により「ｎ」ビット長の乱数（値）を生成する。サーバはさらに、クライアントの公開鍵を使用して生成値を暗号化する。乱数値の暗号化のプロセス中、デジタル証明書は生成されない。サーバは、個々のクライアントに割り当てられた個人鍵及び公開鍵の組を追跡し続ける。サーバ側において当該値を暗号化するべく、楕円曲線暗号化法が利用される。クライアントの公開鍵を使用して暗号化された値は、クライアントに送信される。サーバは、クライアントに対し、暗号化された値を復号化させて自身のＩＤを証明させるようにチャレンジを行う。クライアントは、暗号化された値を受信し、当該暗号化された値を、自身の個人鍵及び楕円曲線暗号化法を使用して復号化する。これにより、サーバが信頼できる宛先であることが証明される。
【００８９】
クライアントはさらに、送信された値についてのヤコビ恒等式を計算する。すなわち、クライアントは、当該復号化された値を３つの部分に分割する。クライアントはさらに、当該受信した値についてリー積を生成する。
【００９０】
本発明によれば、当該値が３つの部分すなわちｘ、ｙ及びｚに分割される場合、当該値のヤコビ恒等式はｘｌｌｙｌｌｚとして表される。乱数のヤコビ恒等式は、［［ｘ，ｙ］，ｚ］＋［［ｙ，ｚ］，ｘ］＋［［ｚ，ｘ］，ｙ］＝０との関係を使用して検証される。
【００９１】
本発明によれば、クライアントが当該値のリー積を生成してサーバに送信すると、当該サーバは、当該クライアントが送信したリー積を、［［ｘ，ｙ］，ｚ］＋［［ｙ，ｚ］，ｘ］＋［［ｚ，ｘ］，ｘ］＝０との関係を使用して検証する。クライアントが送信したリー積の信ぴょう性が検証された後、サーバはさらに、公開鍵及び個人鍵の対を、楕円曲線暗号化法を使用して生成する。楕円曲線暗号化法の一部をなす楕円曲線ディフィー・ヘルマンアルゴリズムが、公開鍵及び個人鍵の対を生成する目的で使用される。クライアントはその後、自身の公開鍵をクライアントに送信する。クライアントは、サーバから公開鍵を受信すると、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して「ｍ」ビット長の秘密鍵を生成し、かつ、当該秘密鍵を当該サーバと共有する。サーバは、その見返りとして、秘密鍵及び楕円曲線ディフィー・ヘルマンアルゴリズムを使用して「ｍ」ビットのセッション鍵を生成する。秘密鍵及び対応セッション鍵が、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成される。図３の参照番号３００は、「ｍ」ビット長のセッション鍵を生成するステップを示す。サーバ及びクライアント間におけるその後の通信及び取引すべてに対し、そのセッション鍵が使用される。セッション鍵はサーバ及びクライアントのみが知っているので、クライアント及びサーバ間の通信は完全に安全である。
【００９２】
第３ネットワークセキュリティプロトコルを使用するサーバ及びクライアント間の安全な通信に関連するステップは、以下のように与えられる。
【００９３】
初期設定：すべてのクライアントが、鍵生成センタ（ＫＧＣ）として動作するサーバが生成した公開鍵及び個人鍵の対を有する。
【００９４】
第１ステップ：クライアントは、「クライアントです。こんにちは！」とのメッセージを送信することによりサーバへの通信を開始する。
【００９５】
第２ステップ：サーバは、疑似乱数生成器（ＰＲＮＧ）を使用してランダムチャレンジ又はｎビットの乱数を生成する。さらに、サーバは、楕円曲線暗号化法（ＥＣＣ）を使用してクライアントの公開鍵により乱数を暗号化する。クライアントは、当該暗号化された乱数を、楕円曲線暗号化法を使用して自身の個人鍵により復号化する。
【００９６】
第３ステップ：クライアントは、乱数についてのヤコビ恒等式ｘ||ｙ||ｚを計算してリー積［［ｘ，ｙ］，ｚ］をサーバに送信する。
【００９７】
第４ステップ：サーバは、［［ｘ，ｙ］，ｚ］＋［［ｙ，ｚ］，ｘ］＋［［ｚ，ｘ］，ｙ］＝０との関係を検証する。サーバは、ＥＣＣ（楕円曲線暗号化法）を使用して自身の公開鍵をクライアントに送信する。
【００９８】
第５ステップ：クライアント及びサーバは、ＥＣＤＨ（楕円曲線ディフィー・ヘルマン）アルゴリズムを使用してｍビット共有秘密鍵についてネゴシエーションを行う。
【００９９】
第６ステップ：クライアント及びサーバは、暗号化を目的として楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成されたｍビットのセッション鍵についてネゴシエーションを行う。クライアント及びサーバは暗号スイートを有する。
【０１００】
第７ステップ：クライアント及びサーバ間に安全な通信が確立される。
【０１０１】
技術的な進展
【０１０２】
本発明の技術的な進展は以下のとおりである。
・本発明は、クライアント及びサーバ間の安全な通信のためのロバストなシステムを与える。
・本発明は不正開封防止のシステムを与える。
・本発明は軽量な認証システムを与える。
・本発明は、証明書不要公開鍵暗号化法の手法を使用するコスト効率のよいシステムを与える。
・本発明は、証明書不要公開鍵暗号化法の手法を双線形ペアリングなしに実装する時間効率のよいシステムを与える。
・本発明は、反射攻撃及び急速攻撃を防止し得る一組のプロトコルを与える。
・本発明は、低帯域幅であっても動作し得る一組のプロトコルを与える。
・本発明は、分析的に強い関数を用いることにより情報損失の確率を低減する一組のプロトコルを与える。
・本発明は、ユーザが安全なオンライン現金取引を行うことができる一組のプロトコルを与える。
・本発明は、大量の送信可能データの存在ゆえにパフォーマンスが悪影響を受けるということのない一組のプロトコルを与える。
・本発明は、ＴＬＳ（トランスポート層セキュリティ）及びＵＤＰ（ユーザデータグラムプロトコル）通信、スマートフォン、モバイルバンキング、位置ベースのシステム、セットトップボックスユニット、アクセス制御システム、遠隔制御システム、パーソナルデジタルアシスタント、無線デバイス、警報システム、メッシュトポロジーネットワーク、モバイル決済システム、キーレスゴーシステム、モバイル通信等を介するクライアント・サーバ設定のアプリケーションに有用である。
【０１０３】
本発明の特定の特徴について相当の強調を行ったが、好ましい実施形態において、本発明の原理から逸脱することなく様々な修正をなし得ること、及び多くの変更をなし得ることがわかる。本発明又は好ましい実施形態の本質におけるこれら又は他の修正は、ここの開示により当業者にとって明らかである。したがって、上述の記載事項は、本発明の例示としてのみ解釈されるべきであって限定として解釈されるべきではないことが明らかに理解される。
【図１】
2016036166.tif 000003
【図２】
2016036166.tif 000004
【図３】
2016036166.tif 000005
【手続補正書】
【提出日】平成27年11月5日(2015.11.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
本発明によれば、クライアントが当該値のリー積を生成してサーバに送信すると、当該サーバは、当該クライアントが送信したリー積を、［［ｘ，ｙ］，ｚ］＋［［ｙ，ｚ］，ｘ］＋［［ｚ，ｘ］，ｘ］＝０との関係を使用して検証する。クライアントが送信したリー積の信ぴょう性が検証された後、サーバはさらに、公開鍵及び個人鍵の対を、楕円曲線暗号化法を使用して生成する。楕円曲線暗号化法の一部をなす楕円曲線ディフィー・ヘルマンアルゴリズムが、公開鍵及び個人鍵の対を生成する目的で使用される。サーバはその後、自身の公開鍵をクライアントに送信する。クライアントは、サーバから公開鍵を受信すると、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して「ｍ」ビット長の秘密鍵を生成し、かつ、当該秘密鍵を当該サーバと共有する。サーバは、その見返りとして、秘密鍵及び楕円曲線ディフィー・ヘルマンアルゴリズムを使用して「ｍ」ビットのセッション鍵を生成する。秘密鍵及び対応セッション鍵が、楕円曲線ディフィー・ヘルマンアルゴリズムを使用して生成される。図３の参照番号３００は、「ｍ」ビット長のセッション鍵を生成するステップを示す。サーバ及びクライアント間におけるその後の通信及び取引すべてに対し、そのセッション鍵が使用される。セッション鍵はサーバ及びクライアントのみが知っているので、クライアント及びサーバ間の通信は完全に安全である。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
安全なクライアント・サーバ通信を容易にするシステムであって、
乱数を生成する乱数生成器と、
前記乱数を受信して処理値を生成する処理器と、
前記処理値を受信かつ検証することにより偽造を検出し、さらには検証値を生成する第１検証器と、
前記第１検証器に結合されて第１の値を生成し、さらには前記第１の値に対応する第２の値を生成する計算器と、
所定プリミティブを有して前記第２値を受信かつ検証し、さらには公開鍵及び対応個人鍵を生成する第２検証器と、
前記所定プリミティブを有して前記第２検証手段からの前記公開鍵を受信し、かつ、前記所定プリミティブに基づいて秘密鍵を生成する秘密鍵生成器と、
前記所定プリミティブを有して前記秘密鍵生成器からの前記秘密鍵を受信し、かつ、前記秘密鍵に対応するセッション鍵を、前記所定プリミティブに基づいて生成するセッション鍵生成器と
を含み、
前記サーバは前記乱数生成器、前記処理器、前記第２検証器及び前記セッション鍵生成器を含み、
前記クライアントは前記第１検証器、前記計算器及び前記秘密鍵生成器を含み、
前記秘密鍵及び前記セッション鍵は安全なクライアント・サーバ通信を容易にし、
前記秘密鍵及び前記セッション鍵は双方とも、同じ所定プリミティブに基づいて生成され、
前記所定プリミティブは、楕円曲線ディフィー・ヘルマンシステム、楕円曲線デジタル署名システム、メッセージランダム化システム及びヤコビ恒等式検証システムからなる群から選択されるシステム。
【請求項２】
前記処理器は、前記乱数を受信し、かつ、前記乱数を、楕円曲線暗号化を使用して前記公開鍵により暗号化する暗号化器を含む請求項１に記載のシステム。
【請求項３】
前記処理器は、前記乱数を受信し、かつ、前記乱数を前処理して前記処理値を生成するべく適合された前処理用処理器を含む請求項１に記載のシステム。
【請求項４】
前記第１検証器は、前記処理値を受信し、かつ、前記処理値を、楕円曲線暗号化を使用して前記個人鍵により復号化する復号化器を含む請求項１に記載のシステム。
【請求項５】
前記第１検証器は、前記処理値を受信かつ検証して偽造を検出する前処理用処理器を含む請求項１に記載のシステム。
【請求項６】
前記第１の値は、ヤコビ恒等式と公開鍵及び個人鍵の対とからなる群から選択される請求項１に記載のシステム。
【請求項７】
前記第２の値は、デジタル署名値及びリー積からなる群から選択される請求項１に記載のシステム。
【請求項８】
安全なクライアント・サーバ通信を容易にする方法であって、
乱数生成器を使用して乱数を生成するステップと、
処理器を使用して前記乱数を処理しかつ処理値を生成するステップと、
第１検証器を使用して前記処理値を受信しかつ前記処理値を検証することにより偽造を検出するステップと、
計算器を使用して第１の値を生成するステップと、
前記計算器を使用して前記第１の値に対応する第２の値を生成するステップと、
第２検証器を使用して前記第２の値を、所定プリミティブを使用して検証するステップと、
前記第２検証器を使用して公開鍵及び対応個人鍵を生成するステップと、
前記第２検証器を使用して前記公開鍵の送信をしかつ前記個人鍵を保持するステップと、
秘密鍵生成器を使用して前記送信がされた公開鍵を受信しかつ所定プリミティブに基づき秘密鍵を生成するステップと、
セッション鍵生成器を使用して前記秘密鍵及び前記所定プリミティブに基づきセッション鍵を生成するステップと
を含み、
前記サーバは前記乱数生成器、前記処理器、前記第２検証器及び前記セッション鍵生成器を含み、
前記クライアントは前記第１検証器、前記計算器及び前記秘密鍵生成器を含み、
前記秘密鍵及び前記セッション鍵は、同じ所定プリミティブに基づいて生成され、
前記所定プリミティブは、楕円曲線ディフィー・ヘルマンシステム、楕円曲線デジタル署名システム、メッセージランダム化システム及びヤコビ恒等式検証システムからなる群から選択される方法。
【請求項９】
前記乱数を処理しかつ処理値を生成するステップはさらに、前記乱数を、楕円曲線ディフィー・ヘルマン法、楕円曲線デジタル署名法及びメッセージランダム化法からなる群から選択されたプリミティブを使用して処理することを含む請求項８に記載の方法。
【請求項１０】
前記処理値を検証することにより偽造を検出するステップはさらに、前記処理値を、楕円曲線ディフィー・ヘルマン法、楕円曲線デジタル署名法及びメッセージランダム化法からなる群から選択されたプリミティブを使用して検証することを含む請求項８に記載の方法。
【請求項１１】
前記第１の値を生成するステップはさらに、公開鍵及び個人鍵の対とヤコビ恒等式とからなる群から選択された値を生成することを含む請求項８に記載の方法。
【請求項１２】
前記第１の値に対応する第２の値を生成するステップはさらに、デジタル署名値及びリー積からなる群から選択された値を生成することを含む請求項８に記載の方法。
【請求項１３】
前記秘密鍵を生成するステップはさらに、前記秘密鍵を、楕円曲線ディフィー・ヘルマン法及び楕円曲線デジタル署名法からなる群から選択されたプリミティブに基づいて生成することを含む請求項８に記載の方法。
【請求項１４】
前記秘密鍵及び所定プリミティブに基づきセッション鍵を生成するステップはさらに、前記セッション鍵を、楕円曲線ディフィー・ヘルマン法及び楕円曲線デジタル署名法からなる群から選択されたプリミティブに基づいて生成することを含む請求項８に記載の方法。
【外国語明細書】
2016036166000001.pdf