(57)【要約】【課題】  楕円曲線暗号化法および非証明書公開キーインフラストラクチャーによるクライアントとサーバー間の安全な通信を促進するためのシステムおよび方法。【解決手段】  このシステムは楕円曲線diffie hellmanアルゴリズムに基づくｍ−ビットの秘密キーを発生手段で構成されている。さらにこのシステムは、前記秘密キーと楕円曲線diffie hellmanアルゴリズムによってセッションキーを発生する、セッションキー発生器で構成されている。このセッションキーが、クライアントとサーバー間の安全な通信を促進するために使用される。【選択図】  図１
2011125020.tif 000002
【特許請求の範囲】
【請求項１】
下記のもので構成されている、クライアントとサーバー間の通信を安全にできるようなシステム。
・乱数を発生できる乱数発生器
・上記した乱数を受信して、処理した値を作成する処理手段
・処理済の値を受信し、それを検証して偽造を検出する、また検証した値を発生するように構成された第一の処理手段
・第一の検証手段に連結された、第一の値を発生する、また前記第一の値に対応する第二の値を発生するように構成された計算手段
・既定のprimitives(基本命令)を有する、前記の第二の値を受信して検証する、また公開キーと対応するプライベートキーを発生する第二の検証手段
・既定のprimitives(基本命令)を有する、第二の検証手段から前記の第二の公開キーを受信して、秘密キーを発生するように構成されている秘密キー発生手段および
・前記の既定primitives(基本命令) を有する、秘密キー発生器から前記秘密を受信して、その秘密キーに対応するセッションキーを発生するセッションキー発生手段
クライアント・サーバー間の安全な通信を促進する前記秘密キーとセッションキー。
【請求項２】
前記処理手段は、前記乱数を受信して、それを楕円曲線暗号化法によって公開キーを使用して暗号化できるように構成されている暗号化手段が含まれる請求項１に記載されたシステム。
【請求項３】
前記処理手段は、前記乱数を受信し、それを前処理して、前記処理済の値を作成するように構成された前処理手段が含まれる請求項１に記載されたシステム。
【請求項４】
前記処理済の値を受信し、それをプライベートキーを使用して楕円曲線暗号化法によって復号するように構成されている複号化手段が含まれる請求項１に記載されたシステム。
【請求項５】
前記処理済の値を受信してそれを偽造を検出するため検証する前処理手段で構成されている第一の検証手段が含まれる請求項１に記載されたシステム。
【請求項６】
第一の値がjacobi identityおよび公開キーとプライベートキーのペアが含まれる群から選択される請求項１に記載されたシステム。
【請求項７】
前記第二の値はデジタルサインされた値とlie productが含まれる群から選択される請求項１に記載されたシステム。
【請求項８】
前記既定primitives (基本命令)は、曲線diffie hellmanシステム、楕円曲線デジタル署名システムおよびjacobi identity検証システムが含まれている群から選択される請求項１に記載されたシステム。
【請求項９】
クライアント・サーバー間の安全な通信を促進する、また次の手段が含まれる方法。
・乱数を発生する
・その乱数を処理して、処理済の値を発生する
・その処理した値を検証して、偽造があるかどうかを検出する
・第一の値を発生する
・第一の値に対応する第二の値を発生する
・既定のprimitives(基本命令)によって前記第二の値を検証する
・公開キーと対応するプライベートキーを発生する
・公開キーを送信して、プライベートキーを保有する
・前記送信された公開キーを受信して既定のprimitives(基本命令)に基づく秘密キーを発生する  
・前記秘密キーと既定のprimitives(基本命令)に基づくセッションキーを発生する。
【請求項１０】
前記乱数の処理で処理済の値を作成する手段は、さらに楕円曲線diffie hellman法、楕円曲線デジタル署名法およびメッセージランダム化法が含まれている群から選択したprimitives (基本命令)を使用して処理するステップで構成されている請求項９に記載された方法。
【請求項１１】
前記処理済の値を検証して、偽造があるかどうかを検出するステップは、さらに楕円曲線diffie hellman法、楕円曲線デジタル署名法およびメッセージランダム化法が含まれている群から選択したprimitives (基本命令) を使用して処理するステップで構成されている請求項９に記載された方法。
【請求項１２】
前記第一の値を発生するステップは、さらに公開キー、プライベートキーおよびjacobi identityが含まれる群から選択したものからその値を発生する請求項９に記載された方法。
【請求項１３】
前記第一の値に対応する前記第二の値を発生するステップは、さらにデジタルサイン値およびlie productが含まれる群から選択した値を発生する請求項９に記載された方法。
【請求項１４】
秘密キーを発生するステップは、さらに前記秘密キーを楕円曲線diffie hellman法、楕円曲線デジタル署名法が含まれている群から選択したprimitives (基本命令)に基づいて発生する請求項９に記載された方法。
【請求項１５】
前記秘密キーおよび既定のprimitives(基本命令)に基づいてセッションキーを発生するステップは、さらにそのセッションキーを楕円曲線diffie hellman法、楕円曲線デジタル署名法が含まれる群から選択したprimitives(基本命令)に基づいて発生する請求項９に記載された方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信の分野に関している。
【０００２】
特にこの発明は暗号分野およびネットワークの機密保護に関している。
【０００３】
明細書で使用した用語の定義
【０００４】
この明細書内の"Primitives"（基本命令）という用語は、楕円曲線diffie hellmanシステム、楕円曲線デジタル署名システムのようなデジタル署名の作成および認証に使用する既知のシステム、またメッセージランダム化システム、jacobi identity認証システムのようなメッセージの真正性を確認する既知のシステムに関するものである。
【０００５】
「デジタル署名」または「署名」という用語は、メッセージおよび金融取引の真正性の判断、さらに偽造または不正使用の検出が必要の場合に使用する機構に関するものである。
【０００６】
上記の定義は、先行技術に現れた定義以外のものである。
【背景技術】
【０００７】
クライアント・サーバー網はタスク又は作業負荷をサービス・プロバイダー（サーバー）およびサービス・リクエスター（クライアント）に分割する分散アプリケーション構築である。このようなネットワーク通信は必ずしも保護されたものとは言えない。クライアント・サーバーセットアップでは安全な通信を行うために、多くの研究者および会社が公開キー暗号法、アイデンティティーに基づく暗号法などを使用している。
【０００８】
１９９３年、強いパスワード式認証キー交換  (ＰＡＫＥ) が BollovinとMerritteによって提供された。これは、一つ以上の当事者のパスワードの認識に基づく暗号式キーを成立する対話式方法である。その後、スタンフォード大学は、信頼できないネットワークに対して使用する新規なパスワード認証およびキー交換機構セキュアー・レモート・プロトコール(ＳＲＰ)の特許を取得した。続いて、Sun Microsystemsによって提案された楕円曲線暗号システムという技術はオープンＳＳＬ認証局に組み込まれた。このコードによって、楕円曲線式のcipher suitesを使用して、安全なＴＬＳ／ＳＳＬハンドシェイク(応答確認)ができるようになった。
【０００９】
この分野に対して行われた上記以外の研究
【００１０】
Seiji Miyazaki および Kazuo Takaragi（米国特許６４７７２５４）は、暗号化ステップと復号化ステップが含まれているデータ暗号化および復号方法を提供した。この暗号化ステップでは, 公開キー暗号スキーム内に秘密キーおよび公開キーのｎ（ｎは正の整数）ペアが作成される。少なくとも一つの公開キーに従って、新規のキーが発生する。この新規のキーによって、共通キー暗号化スキーム内にデータが暗号される。新規のキーおよびｎ公開キーと関連するtermsを有する(k, n) （k は整数で、またk≦ｎ）閾値論理が作成される。新規のキーおよびｎ公開キーによって閾値論理の計算が行われ、暗号化されたデータと計算の結果が保存される。復号化ステップでは、ｎ秘密キーおよび閾値論理に対応する閾値逆論理に従って行った閾値論理の計算の保存された結果から選択されたｋ秘密キーから新規なキーが回復され、保存されたデータが共通キー暗号化スキームに復号される。米国特許第６４７７２５４は、データ暗号化とデータ複号化というステップが含まれているデータの暗号化と複号化方法をそれぞれ提供することが中心としている。データの暗号化ステップは、さらに秘密キーと公開キーの"n"ペアを有しており、発生された公開キー内の少なくとも二つのキーによって新規なキーを発生することが含まれている。
【００１１】
Roger Kilian-Kehrらは、（米国特許第７６７３１４１）アプリケーションサービスに、保護されたアクセスを与えるシステムを提供した。米国特許第７６７３１４１に記載されているシステムは、アクセスを求めているクライアントにチャレンジ（挑戦）を与える第一の暗号化のテクニックを使用するチャレンジ・プロバイダーを提供した。クライアントが返答を発生させるには第二の暗号化のテクニックを使用して認証サービスに返答する。チャレンジと返答が第一の暗号化のテクニックに補完する第一の認証テクニックによって、また第二の暗号化のテクニックに補完する第二の認証テクニックによってそれぞれ認証された場合のみ認証サービスがクライアントにアクセスを与える。
【００１２】
Robert Relyeaに申請された米国特許出願第２００８０６９３３８ はコンピュータシステムおよびトークン（クライアント）に関連した立地因子を検証する方法を提供した。トークンはサーバーから暗号化されたチャレンジを受信する。この暗号化されたチャレンジがサーバーとトークンの共用のキーによって暗号化される。トークンはその暗号化されたチャレンジを共通キーによって復号し、既定の楕円曲線暗号法(ＥＣＣ)によって操作して、操作されたチャレンジを得る。トークンは署名済みの操作（マニピュレイト）されたチャレンジおよびＥＣＣ公開キーをチャレンジの回答としてサーバーに戻す。サーバーは署名済みの操作されたチャレンジを受信し、それは実際にＥＣＣ公開キーに基づいたトークンで発生したかどうかを確認する。米国特許出願第２００８００６９３３８ではクライアントがサーバーから暗号されたチャレンジを受信し、そのチャレンジの暗号化がクライアントとサーバーいずれにも認識できるキーによって行われる。
【００１３】
Alexander Gantmanら（米国特許出願第２００９００３５９７）は共通の係数（modulus）Ｎの使用を合意した二つのエンテイテイ間の認証の方法、またそのための手段を有する装置を提供した。米国特許出願第２００９００３５９７の方法は入力された値から疑似乱数の文字列値を発生するステップ、係数（modulus）Ｎおよび疑似乱数の文字列値に基づいた第一の公開キー値を発生するステップ、第一の公開キー値に対応する第一のプライベートキー値を発生するステップ、第二の公開キー値を受信するステップ、係数Ｎ、第一のプライベートキー値および第二の公開キー値に基づいた、共用の秘密値を発生するステップ、共用の秘密値を使用して認証署名を決定して、前記の認証署名を送信するステップで構成されている。米国特許出願第２００９００３５９７の方法はキー発生ユニットによって第一の公開キーおよび第一のプライベートキーを発生させる。このシステムはレシーバ・ユニットによって第二の公開キー値を受信し、また秘密キー発生ユニットによって秘密共用キー値を発生させる。
【００１４】
米国特許出願第２０１０２１１７７９によれば、ランダムキー要素が発生され、それは第一の当事者（サーバー）に暗号化され、第二の当事者（クライアント）に送信される。ランダムキー部分が第二の当事者の公開キーを使用して暗号化される。したがって、第二の当事者は第一の当事者から送信されたキー要素を受信する。また第一のランダムキー要素を受信する以外に、第二の当事者は第二のキー要素を発生する。クライアント (第二の当事者) 側では、第一のキー要素および第二のキー要素が暗号され、暗号化されたランダムキー要素ペアが作成される。このように発生されたランダムキー要素ペアが暗号化され、第二の当事者(クライアント)から第一の当事者(サーバー)へ送信される。第二の当事者から暗号されたランダムキー要素ペアを受信してから、サーバーまたは第一の当事者は、暗号された第二のランダムキー要素を第二の当事者に送信する。また、その後のクライアントとサーバー間の全ての通信に使用するキーは、第二のランダムキーに基づいて、第一の当事者側に計算/決定される。米国特許出願第２０１０２１１７７９は、アイデンティティーに基づいた暗号化スキームを提供することを中心としている。
【００１５】
Lane W. Leeに与えられた米国特許第７５４９０４４には、デジタル権利管理(ＤＲＭ)システムを実施できるように構成されたブロック・レベル記憶装置が記載されている。関連のホストシステムから公開キーを受信して、その返答としてこの記憶装置はホストシステムに、信頼を勝ち取るためには、そのホストが対応するプライベートキーを持っていることを証明するように挑戦（チャレンジ）する。公開キーによってセキュアされたセッションキーを暗号化してこの信頼性を勝ち取られる。ホストシステムはそのプライベートキーを使用してセキュアされたセッションキーを回復する。記憶装置はコンテントキーによって暗号化されたコンテントを記憶することも可能である。これ以外に記憶装置はセキュアされたセッションキーによってコンテントキーの暗号化を行うこともある。米国特許第７５４９０４４は、デジタル権利管理システムを提供することを中心としている。米国特許第７５４９０４４には、セキュアされたセッションキー自体が暗号されており、その後記憶装置とクライアント間の安全な通信を確保するため復号されることが記載されている。
【００１６】
Zhu Huafei（中国特許出願第１４４４１６８）は非対称暗号化法の確率をもとに、楕円曲線公開キー証明書を作成することを開示した。中国特許出願第１４４４１６８で記載されたシステムにはクライアントとサーバー間の安全な通信を行うため、衝突防止ハッシュ機能の原理、公開キー暗号化システムおよび公開キー証明書システムの使用が含まれている。本発明と中国特許出願第１４４４１６８のシステムの相違点は、本発明は証明書が不必要なインフラストラクチャーを有していることである。上記中国特許出願は楕円曲線暗号化(ＥＣＣ)の使用が開示されているが、本発明と大きな相違点は、上記中国特許出願では証明書式公開キーインフラストラクチャーの使用が開示されており、それに対して本発明では非証明書式公開キーインフラストラクチャーが使用されている。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】米国特許第６，４７７，２５４号
【特許文献２】米国特許第７，６７３，１４１号
【特許文献３】米国特許出願第２００８０６９３３８明細書
【特許文献４】米国特許出願第２００９００３５９７明細書
【特許文献５】米国特許出願第２０１０２１１７７９明細書
【特許文献６】米国特許第７，５４９，０４４号
【特許文献７】中国特許出願第１４４４１６８明細書
【発明の概要】
【発明が解決しようとする課題】
【００１８】
特許文献の先行技術と従来の技術の問題点は、それらはすべて証明書式公開キー暗号化法および真正性確認式暗号化法によって実施される。この暗号化法は実際に使用するとき、複雑、また高価なキー管理が必要となり、キーエスクローの問題も招いている。近年、まだ完全に解決できていない問題に対しては非証明書公開キー暗号化法(CL-PKC)が導入された。一般的にはＣＬ−ＰＫＣは双線形対号および逆演算を使用するから、システムの性能低下させる原因になる。
【００１９】
したがって、双線形対を試用しないで非証明書式キー・クプトシステムに基づくコストまた時間効果の良いシステムが要求された。
【００２０】
本発明の目的はクライアントとサーバー間の通信を安全にできるようなシステムを提供することである。
【００２１】
本発明のもう一つの目的は、クライアントとサーバー間の通信を安全にできるような強固なシステムを提供することである。
【００２２】
本発明のもう一つの目的は、不正使用できないようなシステムを提供することである。
【００２３】
本発明のもう一つの目的は、軽量な認証システムを提供することである。
【００２４】
本発明のもう一つの目的は、コスト効率の良い、非証明書公開キー暗号化技術を使用するシステムを提供することである。
【００２５】
本発明のもう一つの目的は、時間効率の良い、双線形対を使用しないで非証明書式暗号化法を実施するシステムを提供することである。
【００２６】
本発明のもう一つの目的は、帯域幅が小さいでも機能できるシステムを提供することである。
【００２７】
本発明のもう一つの目的は、作用するとき、記憶空間を効率的に使用する空間効率のよいシステムを提供することである。
【００２８】
本発明のもう一つの目的は、オンライン現金取引をすぐに、また安全に行えるシステムを提供することである。
【００２９】
本発明のもう一つの目的は、リプレーアタックおよびラッシングアタックを防止するシステムを提供することである。
【００３０】
本発明のもう一つの目的は、情報損失を低下を可能なシステムを提供することである。
【００３１】
本発明のもう一つの目的は、多大なデータ量を送信するときも性能を妥協しないシステムを提供することである。
【課題を解決するための手段】
【００３２】
本発明は、下記に記述したものを含まれるクライアントとサーバー間の通信を安全にできるようなシステムを提供する。
・乱数を発生するように構成された乱数発生器
・上記の乱数を受信し、理処理済の値を作成するように構成された処理手段
・上記の理処理済の値を受信してそれに対して偽造検出を行う第一の検証手段、該当する第一の検証手段は、また検証された値を発生するように構成されている
・第一の検証手段に連結した、第一の値を発生するように構成された計算手段、この手段は、また第一の値に対応する第二の値を発生する
・既定primitives(基本命令)を有する第二の検証手段。この手段は該当する第二の値を受信し、検証するように構成されていて、さらに公開キーおよび対応するプライベートキーを発生するようにも構成されている
・該当の既定primitives(基本命令)を有する、また秘密キーを発生する手段。この秘密キーを発生する手段は上記の第二の検証手段から公開キーを受信し、秘密キーを発生させる
・該当の既定primitives(基本命令)を持っているセッションキーを発生する手段。このセッションキーを発生する手段は上記のセッションキーを発生する手段から該当の秘密キーを受信し、セッションキーを発生する
クライアントとサーバー間の通信を促進する該当の秘密キーとセッションキー。
【００３３】
本発明によればこの好ましくは上記の処理手段は、上記の乱数を受信し、それを公開キーを使用して楕円曲線暗号化法によって暗号化するように構成する暗号化手段が含まれている。
【００３４】
本発明によれば好ましくは上記の処理手段は、上記の乱数を受信し、それをメッセージ・ランダム化によって処理するように構成されている前処理手段が含まれている。
【００３５】
本発明によれば好ましくは第一の検証手段は上記処理済みの値を受信して、それをプライベートキーを使用して、楕円曲線暗号化法によって複号するように構成されている手段が含まれている。
【００３６】
本発明によれば好ましくは、第一の検証手段は上記の処理済みの値を受信し、それをメッセージ・ランダム化によって検証して偽造を検出できるように構成されている前処理手段が含まれている。
【００３７】
本発明によれば好ましくは、第一の値が公開キーとプライベートキーのペアおよびJacobi identityが含まれている群から選択される。
【００３８】
本発明によれば好ましくは、第二の値がデジタル署名された値とlie productが含まれている群から選択される。
【００３９】
本発明によれば好ましくは、既定primitives（基本命令）は、曲線diffie hellman法、楕円曲線デジタル署名法およびjacobi identity検証システムが含まれている群から選択される。
【００４０】
本発明によれば好ましくは、既定primitives（基本命令）は、楕円曲線diffie hellmanシステムおよび楕円曲線デジタル署名システムが含まれている群から選択される。
【００４１】
本発明は下記に述べたステップで構成されている、クライアントとサーバー間の通信を安全にできることを促進するような方法を提供する。
・乱数を発生させる
・上記の乱数を処理して、処理済の値を発生する
・偽造検出を行うために上記の処理済の値の検証を行う
・第一の値を発生させる
・第一の値に対応する第二の値を発生させる
・既定primitives(基本命令)によって上記の第二の値を検証する
・公開キーとそれに対応するプライベートキーを発生する
・公開キーを送信し、プライベートキーを保有する
・送信された公開キーを受信し、既定primitives(基本命令)に基づく秘密キーを発生する
・上記の秘密キーと既定primitives(基本命令)に基づくセッションキーを発生する。
【００４２】
本発明によれば一般的には上記の乱数を処理して処理済の値を得る方法は、さらにその乱数を公開キーを使用して楕円曲線暗号化システムによって暗号化する手段が含まれている。
【００４３】
本発明によれば一般的には上記の乱数を処理して処理済の値を得る方法は、さらにその乱数をビット・シャフリング、圧縮、Ｔ−機能および線形フィードバック・シフト登録が含まれた群から選択されたもので処理する手段で構成されている。
【００４４】
本発明によれば一般的には処理済の値を検証する方法は、上記の処理済の値を公開キーを使用して、楕円曲線暗号化法によって復号化する手段が含まれている。
【００４５】
本発明によれば一般的には上記の処理済の値を検証する方法は、さらにメッセージランダム化法によって上記の処理済の値を検証する手段が含まれている。
【００４６】
本発明によれば一般的には、第一の値を発生する方法は、公開キーとプライベートキーのペアを発生する手段が含まれている。
【００４７】
本発明によれば一般的には、第一の値を発生する方法は、さらにjacobi identityを発生する手段が含まれている。
【００４８】
本発明によれば一般的には、 第一の値に基づく第二の値を発生する方法はさらにデジタル的にサインした値を発生する手段が含まれている。
【００４９】
本発明によれば一般的には、 第一の値に基づく第二の値を発生する方法はさらにlie productを発生する手段が含まれている。
【００５０】
本発明によれば一般的には、既定のprimitives(基本命令)によって上記第二の値を検証する手段は、さらに上記第二の値を曲線diffie hellman法、楕円曲線デジタル署名法およびjacobi identity検証法が含まれている群から選択されたもので構成されている。
【００５１】
本発明によれば一般的には, 送信された公開キーを受信し、既定primitives(基本命令)に基づく秘密キーを発生する手段は、さらに前記秘密キーを楕円曲線diffie hellman法と楕円曲線デジタル署名法を含まれている群から選択された既定のprimitivesによって発生する手段で構成されている。
【００５２】
本発明によれば一般的には, 上記の秘密キーと既定primitives(基本命令)に基づくセッションキーを発生するステップは、さらに上記セッションキーを楕円曲線diffie hellman法と楕円曲線デジタル署名法を含まれている群から選択された既定のprimitivesによって発生する手段で構成されている。
【図面の簡単な説明】
【００５３】
次に本発明を添付図面を参考して説明する。
【００５４】
【図１】本発明による第一のネットワーク・セキュリテイー・プロトコルの順序を説明する図である。
【図２】本発明による第二のネットワーク・セキュリテイー・プロトコルの順序を説明する図である。
【図３】本発明による第三のネットワーク・セキュリテイー・プロトコルの順序を説明する図である。
【発明を実施するための形態】
【００５５】
本発明を添付図に示した実施の形態を参考しながら説明する。ただし本発明はこの実施の形態に限定せず、この説明はただ本発明の好適な実施の形態例に関するものである。
【００５６】
本発明はサーバーとクライアント間に非証明書式公開キーインフラストラクチャー（ＰＫＩ）を使用して、安全な通信を行うシステムおよび三つのネットワーク・セキュリテイー・プロトコルを提供する。
【００５７】
このシステムは、サーバー・クライアント・アーキテクチャーで構成されている、キーを発生するセンター（ＫＧＣ）として公開キーとプライベートキーのペアなどのキーを発生する少なくとも一つのサーバー、少なくとも一つのクライアントおよび通信に必要なハードウエアのセット、ポリシー、プロスィージャーなどが含まれるＰＫＩのインフラストラクチャーなどで構成される。
【００５８】
第一のネットワーク・セキュリテイー・プロトコルによる上記非証明書ＰＫＩ式通信によって、上記サーバーは、キーを発生するセンター（ＫＧＣ）として公開キーとプライベートキーを分配するようになる。第一のネットワーク・セキュリテイー・プロトコルによる上記非証明書ＰＫＩ式通信をセットアップするときのステップは図１に示されている。
【００５９】
図１に示されているようにクライアントは"client Hello"などのような初期のメッセージを送信して通信を開始する。クライアントのメッセージの返答としてサーバーが乱数発生器によって、長さ"ｎ"ビットの乱数(値)を発生させる。サーバーは、またクライアントの公開キーを使用してその発生された値を暗号させる。この乱数の暗号化処理間はデジタル証明書が作成されない。サーバーは個人のクライアントに割り当てたプライベートキーと公開キーのセットを追跡する。サーバー側では、その値を暗号させるために楕円曲線暗号化法が使用される。クライアントの公開キーによって暗号された値がクライアントへ送信される。サーバーはクライアントに、暗号化された値が含めている値を復号させる、またその真正性を証明するように、挑戦する。クライアントはそのプライベートキーおよび楕円曲線diffie hellmanアルゴリズムによってそれを復号化し、その値が信頼できるソースから送信したものかどうかを確認する。クライアントはその暗号化された値を受信し、プライベートキーによってそれを復号する。その暗号された値の復号化に成功して、もとの値を回復してクライアントがその信頼性を証明する。クライアントは、サーバーから送信された値の検証のステップ（すなわち、サーバーから送信された値の複号化）を完了して、楕円曲線暗号化法を使用して、公開キーとプライベートキーのペアを発生する。
【００６０】
クライアントは、楕円曲線デジタルアルゴリズムによって、その複号化された値にシグネチャーを作成して、それをサーバーに送信する。サーバーは、クライアントから送信されたシグネチャーを受信して、楕円曲線デジタルアルゴリズムによってそれを検証する。クライアントから送信されたシグネチャーを受信してからすぐ、サーバーは楕円曲線diffie hellmanアルゴリズムによって公開キーとプライベートキーのペアを発生して、その発生されたキーをクライアントに送信する。
【００６１】
サーバーから公開キーを受信した後、クライアントは楕円曲線diffie hellmanアルゴリズムによって長さ"ｍ"ビットの秘密キーを発生し、その秘密キーをサーバーと共有する。サーバーは楕円曲線diffie hellmanアルゴリズムに基づく"ｍ"ビットのセッションキーを発生する。秘密キーとそれに対応するセッションキーが楕円曲線diffie hellmanアルゴリズムによって発生される。図１の参考数字１００は楕円曲線diffie hellmanアルゴリズムによって長さ"ｍ"ビットのセッションキーを発生するステップを示している。その後のクライアントとサーバー間のすべての通信と取引に対してはこのセッションキーが使用される。セッションキーがサーバーとクライアントのみに認識されるので、クライアントとサーバー間の通信は全く安全に行われる。
【００６２】
第一のネットワーク・セキュリテイー・プロトコルによって、クライアントとサーバー間の通信を安全にするようにする方法は次のようなステップが含まれている。
【００６３】
初期のステップ：各クライアントはキー発生センター（ＫＧＣ）として機能するサーバーに発生された公開キーとプライベートキーのペアを有している。
【００６４】
第１ステップ：クライアントはサーバーに対して"Client Hello!"というメッセージを送信して通信を開始する。
【００６５】
第２ステップ：サーバーは疑似乱数発生器（ＰＲＮＧ）によってランダムチャレンジ（挑戦）またはｎビットの乱数を発生する。その後、サーバーは、クライアントの公開キーを使用して 楕円曲線暗号化法（ＥＣＥ）によって乱数を暗号化する。クライアントはそのプライベートキーを使用して、ＥＣＥによってその暗号化された乱数を復号する。
【００６６】
第３ステップ：クライアントは楕円曲線暗号化法（ＥＣＥ）によって、その楕円曲線に公開キーとプライベートキーを発生させる。この公開キーとプライベートキーの長さはＮＩＳＴ（米国標準技術局）の推薦にしたがって、２５６ビット、３８４ ビット又は５１２になる。クライアントは楕円曲線デジタル署名アルゴリズムを使用して、サーバーから送信した値にシグネチャーを作成し、それをサーバーに送信する。
【００６７】
第４ステップ：サーバーは楕円曲線デジタル署名アルゴリズムを使用してそのシグネチャーを検証し、続いてその楕円曲線にキー・ペアを発生させる。サーバーはその公開キーをクライアントに送信する。
【００６８】
第５ステップ：クライアントとサーバーはＥＣＤＨ（楕円曲線diffie hellman）アルゴリズムによって共有のｍ−ビットの秘密キーを取り決める。
【００６９】
第６ステップ：クライアントとサーバーは暗号化のため楕円曲線diffie hellmanアルゴリズムによって、発生されたｍ−ビットのセッションキーを取り決める。クライアントとサーバーはcipher suiteを有する。
【００７０】
第７ステップ：クライアントとサーバー間に安全な通信が確実に開始される。
【００７１】
上記のプロトコルでは、ランダムチャレンジまたはランダム値が暗号された形に送信されるから、アタッカーはそれを推測することはできない。したがって、リプレーアタックおよびラッシングアタックが防止される。
【００７２】
第二のネットワーク・セキュリテイー・プロトコルによって、非証明書ＰＫＩ式通信をセットアップする方法は図２に示している。第二のネットワーク・セキュリテイー・プロトコによって行う非証明書ＰＫＩ式通信はクライアントとサーバーに対して公開キーとプライベートキーのペアを発生するため、初期セットアップがなく、クライアントとサーバーは、プレーン・テキストをランダムメッセージに変換するような独自のメッセージ前処理（ＭＰ）機能を持っている。したがって、第一のネットワーク・セキュリテイー・プロトコとは少し違う。乱数を送信するときは、変化が全くされなかったことを確保するのにBijectiveマッピングを使用されている。乱数の場合は元の値をマスクするように、その値を代表するビット順序の変化又はランダム化が行われる。
【００７３】
図２に見えるように、クライアントは"client Hello"などのような初期のメッセージを送信して通信を開始する。クライアントのメッセージの返答としてサーバーが乱数発生器によって、長さ"ｎ"ビットの乱数(値)を発生させる。サーバーはメッセージ前処理機能(メッセージランダム化機能)によって、その発生した乱数を処理する。前記のメッセージ前処理機能は三つの演算を順序に行うように構成されている。その三つの演算はシャッフリング、Ｔ−機能およびＬＦＳＲ（リニアフィードバックシフトレジスター）である。前処理はビットのシャッフリングから始まる。ビットのシャッフリングは拡散を促進する。拡散とは、インプットの統計内の冗長性はアウットプットでは消散されることである。シャッフリングのプロセスは逆行可能なプロセスで、元のビット・シーケンスがシャッフルされたものから簡単に回復できる。
【００７４】
ビットのシャッフリング処理の次はＴ−機能のプロセスが行われる。Ｔ−機能は更新機能で、これは各ビットをその各ビット自体およびそれより重要性の低いものを線形結合で更新する機能である。Ｔ−機能の処理の次はＬＦＳＲ（リニア・フィードバック・シフト・レジスター）の機能がある。ＬＦＳＲプロセスでは、２３２−１ピリオドの３２次の既約多項式を使用される。ＬＦＳＲの場合は、与えられたインプットは与えられた既約多項式にて４〜１５周期まで移動される。ビットシャッフリング、Ｔ−機能およびＬＦＳＲ（前処理と総称される）のアウトプットは、極めてランダム化された値である。
【００７５】
発生した値の前処理を行ってから、サーバーはその前処理した値と元の値をクライアントに送信する。この前処理した値は元の値から誘導されたもので、この前処理した値と元の値の唯一の相違点としては、前処理した値の場合にはビットシーケンスが変化されていることである。クライアント側には前処理した値はシャッフリング、Ｔ−機能およびＬＦＳＲの機能を逆の順序で（すなわち、ＬＦＳＲ、Ｔ−機能およびビットシャッフリングの順序で）使用して検証される。値の前処理の場合は、上記の処理を逆の順序で実行する。この三つの機能は逆行可能な機能があるからそれらをデータの損失および有害影響なく逆の順序で実行することができる。クライアントは、上記の処理を逆の順序で実行して（すなわち、ＬＦＳＲ、Ｔ−機能およびビットシャッフリングの順序で）確認した値を取得する。クライアントは、ＬＦＳＲ、Ｔ−機能およびビット・シャッフリング・プロセスの結果を確認して取得した値をサーバーから送信された元の値と比較して、それは偽造されたものかどうかを検出する。サーバーから送信された値を検証した後、サーバーから送信された値が真性のものだったら、クライアントが楕円曲線diffie-hellmanアルゴリズムによって公開キーとプライベートキーのペアを発生させる。なおクライアントは楕円曲線デジタル署名アルゴリズムによってサーバーから送信された値にシグネチャーを作成して、そのシグネチャーを公開キーと共に送信する。そのシグネチャーを受信した後、サーバーは楕円曲線デジタル署名アルゴリズムによってクライアントから送信されたシグネチャーを検証して、続いて楕円曲線diffie hellmanアルゴリズムによって公開キーとプライベートキーのペアを発生させる。その後、サーバーは発生された公開キーをクライアントに送信する。
【００７６】
サーバーから公開キーを受信してから、クライアントは楕円曲線diffie hellmanアルゴリズムによって長さ"ｍ"ビットの秘密キーを発生し、それをサーバーと共有する。ここで、サーバーはその秘密キーと楕円曲線diffie hellmanアルゴリズムに基づいて"ｍ"ビットのセッションキーを発生させる。上記の秘密キーとそれに対応するセッションキーが楕円曲線diffie hellmanアルゴリズムを使用して発生される。図2の参考数字２００は、秘密キーと楕円曲線diffie hellmanアルゴリズムに基づいて"ｍ"ビットのセッションキーを発生するステップを示している。その後のサーバーとクライアント間のすべての通信と取引の場合は、そのセッションキーが使用される。セッションキーがサーバーとクライアントのみに認識されるようになっているから、サーバーとクライアント間の通信が安全に行われる。
【００７７】
第二のネットワーク・セキュリテイー・プロトコルによるクライアントとサーバー間の通信を安全にできるような方法は次のようなステップで構成されている。
【００７８】
第１ステップ：クライアントはサーバーに対して"Client Hello!"というメッセージを送信して通信を開始する。
【００７９】
第２ステップ：サーバーは疑似乱数発生器（ＰＲＮＧ）によってランダムチャレンジまたはｎビットの乱数を発生して、乱数のメッセージ前処理を計算する。クライアントはその乱数とＭＰ(乱数)を受信してＭＰ(乱数)を検証する。
【００８０】
第３ステップ：クライアントは楕円曲線に公開キーとプライベートキーを発生させる。この公開キーとプライベートキーの長さはＮＩＳＴ（米国標準技術局）の推薦にしたがって、２５６ビット、３８４ビット又は５１２となる。クライアントは楕円曲線デジタル署名アルゴリズムを使用して、サーバーから送信した値をサインし、そのシグネチャーを公開キーとともにサーバーに送信する。
【００８１】
第４ステップ：サーバーはそのシグネチャーを検証し、続いてその楕円曲線にキーのペアを発生させる。サーバーはその公開キーをクライアントに送信する。
【００８２】
第５ステップ：クライアントとサーバーはＥＣＤＨ（楕円曲線diffie hellman）アルゴリズムによって共有のｍ−ビットの秘密キーを取り決める。
【００８３】
第６ステップ：クライアントとサーバーは暗号化のため楕円曲線diffie hellmanアルゴリズムによって、発生されたｍ−ビットのセッションキーを取り決める。
【００８４】
第７ステップ：クライアントとサーバー間に安全な通信が確実に開始される。
【００８５】
上記のプロトコルでは、乱数がプレーンな形にＭＰ(乱数)とともに送信されるので、リプレーアタックおよびラッシングアタックが防止される。ここは、アタッカーが乱数を変更することができるが、ＭＰ(乱数) が変更されないというbijective性質の概念は興味深いものである。
【００８６】
第三のネットワーク・セキュリテイー・プロトコルに基づく非証明書ＰＫＩ（公開キーインフラストラクチャー） 式通信は第一のネットワークセキュリテイープロトコルに似ているが、シグネチャーの発生することが異なっている。クライアントはサーバーを認識するためにはJacobi identity というLie algebrasの特別商品を使用する。Jacobi identityはランダムチャレンジRC = x || y ||zで働き、[[x, y], z] + [[y, z], x] + [[z, x], y] = 0の関係に従う。
【００８７】
第三のネットワークを使用してネットワーク・セキュリテイー・プロトコルによって非証明書ＰＫＩ式通信を設定するときのステップは図３に示してある。
【００８８】
図３に示されてあるようにクライアントは"client Hello"などのような初期のメッセージを送信して通信を開始する。クライアントのメッセージの返答としてサーバーが乱数発生器によって、長さ"ｎ"ビットの乱数(値)を発生させる。サーバーはクライアントの公開キーを使用してその発生された値をまた暗号させる。この乱数の暗号化処理間はデジタル証明書が作成されない。サーバーは個人のクライアントに割り当てたプライベートキーと公開キーのセットを追跡する。サーバー側では、その値を暗号させるために楕円曲線暗号化法は使用される。クライアントの公開キーによって暗号化された値がクライアントに送信される。サーバーはクライアントに、暗号化された値を復号化させる、またその真正性を証明するように、挑戦する。クライアントはその暗号化された値を受信し、プライベートキーおよび楕円曲線暗号化法によってそれを複号化して宛先としてのその信頼性を証明する。
【００８９】
クライアントは、また送信された値にjacobi identityを計算する。すなわち、クライアントはその復号した値を三つに分け、受信した値にlie productを発生させる。
【００９０】
本発明によれば、この値を例えばx, yとzに分けたとしたら、その値のjacobi identityはx||y||zで表現される。その乱数のjacobi identityは[[x, y], z] + [[y, z], x] + [[z, x],y] =0の関係を使用して検証される。
【００９１】
本発明によれば、クライアントはその値のlie productを発生してサーバーに送信すると、サーバーはクライアントから送信されたlie product を[[x, y], z] + [[y, z], x] + [[z, x],x] =0という関係によって検証する。クライアントから送信されたlie productの真正性を検証した後、サーバーは楕円曲線暗号化法によって、公開キーとプライベートキーのペアを発生させる。公開キーとプライベートキーのペアを発生するために、楕円曲線暗号化法の一部になっている楕円曲線diffie hellmanアルゴリズムが使用される。続いて、クライアントはその公開キーをクライアントに送信する。サーバーから公開キーを受信してから、クライアントは楕円曲線diffie hellmanアルゴリズムによって、長さｍビットの秘密キーを発生して、それをサーバーと共用する。そこでサーバーは、秘密キーと楕円曲線diffie hellmanアルゴリズムを使用して、長さｍビットのセッションキーを発生させる。この秘密キーと対応するセッションキーが楕円曲線diffie hellmanアルゴリズムによって発生される。図３の参考数字３００は長さ"ｍ"ビットのセッションキーを発生するステップを示している。その後のサーバーとクライアント間のすべての通信と取引に対してはこのセッションキーが使用される。セッションキーがサーバーとクライアントのみに認識されるので、クライアントとサーバー間の通信は全く安全に行われる。
【００９２】
第三のネットワークによって、サーバーとクライアント間の通信が安全にできるような方法は次のステップで構成されている。
【００９３】
初期ステップ：各クライアントはキー発生センター（ＫＧＣ）として働くサーバーに発生された公開キーとプライベートキーのペアが有している。
【００９４】
第１ステップ：クライアントは"Client Hello"などのような初期のメッセージを送信して通信を開始する。
【００９５】
第２ステップ：サーバーは疑似乱数発生器（ＰＲＮＧ）によってｎビットのランダムチャレンジまたは乱数を発生させる。その後、サーバーは、クライアントの公開キーを使用して楕円曲線暗号化法（ＥＣＣ）によって乱数を暗号化する。クライアントはそのプライベートキーを使用して、楕円曲線暗号化法によってその暗号化された乱数の復号化を行う。
【００９６】
第３ステップ：クライアントは乱数= x||y||z にJacobi identityを計算してそのLie product [[x, y], z]をサーバーに送信する。
【００９７】
第４ステップ：サーバーは  [[x, y], z] + [[y, z], x] + [[z, x], y] = 0の関係を検証する。サーバーはＥＣＣ(楕円曲線暗号化法)を使用して、その公開キーをクライアントに送信する。
【００９８】
第５ステップ：クライアントとサーバーはＥＣＤＨ（楕円曲線diffie hellman）アルゴリズムによって共有のｍ−ビットの秘密キーを取り決める。
【００９９】
第６ステップ：クライアントとサーバーは暗号化のため、楕円曲線diffie hellmanアルゴリズムによって発生されたｍ−ビットのセッションキーを取り決める。クライアントとサーバーがcipher suiteを有している。
【０１００】
第７ステップ：クライアントとサーバー間に安全な通信が確実に開始される。
【０１０１】
技術的進歩
【０１０２】
本発明の技術的な進歩が次のようである。
・本発明はクライアントとサーバー間に安全な通信を行う強固なシステムを提供する
・本発明は不正使用を防止するシステムを提供する
・本発明は軽量の認証システムを提供する
・本発明は非証明書公開キー暗号化テクニックを使用する、コスト効率の良い、システムを提供する
・本発明は時間効率の良い、双線形対を使用しないで非証明書式暗号化法を実施できるシステムを提供する
・本発明はリプレーおよびラッシングアタックを防止するプロトコルのセットを提供する
・本発明は帯域幅が小さいでも機能できるシステムを提供する
・本発明は解析的に強固な機能によって情報の損失を低下させるプロトコルのセットを提供する
・本発明はユーザのオンライン現金取引を安全に行えるプロトコルのセットを提供する
・本発明は膨大な伝送可能なデータがあっても、性能に悪影響を受けないプロトコルのセットを提供する
・本発明はＴＬＳ (トランスポート層セキュリテイー・プロトコル) および ＵＤＰ (ユーザ・データグラム・プロトコル)通信、スマートフォン、モバイル・バンキング、 位置情報システム、セット・トップ・ボックス・ユニット、アクセス制御システム、遠隔制御システム、パーソナル・デジタル・アシスタント、無線装置、警報システム、メッシュ・トポロジー・ネットワーク、携帯電話による支払いするシステム、keyless go  システム、モバイル通信システムなどのクライアント・サーバーセットアップに対するアプリケーションに有利なものである
【０１０３】
ここでは、本発明のある特徴が特に強調してあるものの、本発明の要旨を逸脱しない範囲で好適実施形態の種々変更、また変化が可能である。本発明の本質又は好適な実施形態の上記した変更は、この開示によって当業者には、明らかになるものだが、本発明は明細書に記載された説明に限られるものではなく、ただ本発明の実例と見なされるものであることは言うまでもない。
【図１】
2011125020.tif 000003
【図２】
2011125020.tif 000004
【図３】
2011125020.tif 000005
【外国語明細書】
2011125020.tif 000006
2011125020.tif 000007
2011125020.tif 000008
2011125020.tif 000009
2011125020.tif 000010
2011125020.tif 000011
2011125020.tif 000012
2011125020.tif 000013
2011125020.tif 000014
2011125020.tif 000015
2011125020.tif 000016
2011125020.tif 000017
2011125020.tif 000018
2011125020.tif 000019
2011125020.tif 000020
2011125020.tif 000021
2011125020.tif 000022
2011125020.tif 000023
2011125020.tif 000024
2011125020.tif 000025
2011125020.tif 000026
2011125020.tif 000027
2011125020.tif 000028
2011125020.tif 000029
2011125020.tif 000030
【図１】
2011125020.tif 000031
【図２】
2011125020.tif 000032
【図３】
2011125020.tif 000033