Source: https://patents.google.com/patent/JP2011125020A/en
Timestamp: 2019-04-23 11:32:10+00:00

Document:
PROBLEM TO BE SOLVED: To provide a system and method for facilitating secure client-server communication using elliptic curve cryptography and certificateless public key infrastructure.
SOLUTION: The system includes a secret key generating unit which generates a secret key of m-bits based on the elliptic curve Diffie-Hellman algorithm. The system further includes a session key generator which makes use of the secret key and the elliptic curve Diffie-Hellman algorithm to generate a session key. The session key is used to facilitate secured communication between the client and the server.
本発明は通信の分野に関している。 The invention concerns a field of communication.
特にこの発明は暗号分野およびネットワークの機密保護に関している。 In particular, this invention concerns a security cryptographic areas and networks.
この明細書内の"Primitives"（基本命令）という用語は、楕円曲線diffie hellmanシステム、楕円曲線デジタル署名システムのようなデジタル署名の作成および認証に使用する既知のシステム、またメッセージランダム化システム、jacobi identity認証システムのようなメッセージの真正性を確認する既知のシステムに関するものである。 The term "Primitives" (basic instructions) in this specification, elliptic curve diffie hellman system, known to be used for digital signature creation and authentication, such as Elliptic Curve Digital Signature System System The message randomization system,, jacobi it relates the known systems to check the authenticity of the message, such as identity authentication system.
「デジタル署名」または「署名」という用語は、メッセージおよび金融取引の真正性の判断、さらに偽造または不正使用の検出が必要の場合に使用する機構に関するものである。 The term "digital signature" or "signature", the determination of the authenticity of the message and the financial transaction is related mechanism for further use in case of need counterfeiting or unauthorized use of the detection.
上記の定義は、先行技術に現れた定義以外のものである。 The above definition is other than defined that appeared in the prior art.
クライアント・サーバー網はタスク又は作業負荷をサービス・プロバイダー（サーバー）およびサービス・リクエスター（クライアント）に分割する分散アプリケーション構築である。 Client server network is a distributed application building dividing the task or workload service providers (servers) and service requesters (clients). このようなネットワーク通信は必ずしも保護されたものとは言えない。 Such network communications can not be said that always protected. クライアント・サーバーセットアップでは安全な通信を行うために、多くの研究者および会社が公開キー暗号法、アイデンティティーに基づく暗号法などを使用している。 In order to perform secure communication in the client-server setup, we are using many of the researchers and the company is public key cryptography, encryption method based on identity and the like.
１９９３年、強いパスワード式認証キー交換 (ＰＡＫＥ) が BollovinとMerritteによって提供された。 In 1993, strong password-type authentication key exchange (PAKE) has been provided by Bollovin and Merritte. これは、一つ以上の当事者のパスワードの認識に基づく暗号式キーを成立する対話式方法である。 This is an interactive way to establish the encryption type key based on the recognition of one or more of the parties of the password. その後、スタンフォード大学は、信頼できないネットワークに対して使用する新規なパスワード認証およびキー交換機構セキュアー・レモート・プロトコール(ＳＲＰ)の特許を取得した。 Then, Stanford University, has patented a new password authentication and key exchange mechanism SECURE Remoto-protocol to use for the untrusted network (SRP). 続いて、Sun Microsystemsによって提案された楕円曲線暗号システムという技術はオープンＳＳＬ認証局に組み込まれた。 Subsequently, the technology that the proposed elliptic curve cryptography system by Sun Microsystems have been incorporated into the open SSL certificate authority. このコードによって、楕円曲線式のcipher suitesを使用して、安全なＴＬＳ／ＳＳＬハンドシェイク(応答確認)ができるようになった。 This code uses the elliptic curve equation of cipher suites, has enabled secure TLS / SSL handshake (acknowledgment).
Seiji Miyazaki および Kazuo Takaragi（米国特許６４７７２５４）は、暗号化ステップと復号化ステップが含まれているデータ暗号化および復号方法を提供した。 Seiji Miyazaki and Kazuo Takaragi (U.S. Patent 6,477,254) has provided a data encryption and decryption methods are included decoding step and encrypting step. この暗号化ステップでは, 公開キー暗号スキーム内に秘密キーおよび公開キーのｎ（ｎは正の整数）ペアが作成される。 This encryption step, n secret keys and public key to the public key cryptography scheme in the (n is a positive integer) pairs are created. 少なくとも一つの公開キーに従って、新規のキーが発生する。 According to at least one public key, a new key is generated. この新規のキーによって、共通キー暗号化スキーム内にデータが暗号される。 This new key, data is encrypted in a common key encryption in schemes. 新規のキーおよびｎ公開キーと関連するtermsを有する(k, n) （k は整数で、またk≦ｎ）閾値論理が作成される。 New key and n has a public key and associated terms (k, n) (k is an integer, also k ≦ n) threshold logic is created. 新規のキーおよびｎ公開キーによって閾値論理の計算が行われ、暗号化されたデータと計算の結果が保存される。 Threshold logic calculation is performed by the new key and n public keys, the result of calculation and the encrypted data is stored. 復号化ステップでは、ｎ秘密キーおよび閾値論理に対応する閾値逆論理に従って行った閾値論理の計算の保存された結果から選択されたｋ秘密キーから新規なキーが回復され、保存されたデータが共通キー暗号化スキームに復号される。 The decoding step, n private keys and new keys from k secret keys selected from the stored result of the threshold logic calculation carried out according to a threshold reverse logic corresponding to the threshold logic is restored, the stored data is common It is decrypted in the key encryption scheme. 米国特許第６４７７２５４は、データ暗号化とデータ複号化というステップが含まれているデータの暗号化と複号化方法をそれぞれ提供することが中心としている。 U.S. Patent No. 6477254, it is the center that provides encryption of data that contains the step that the data encryption and data decryption and the decryption process, respectively. データの暗号化ステップは、さらに秘密キーと公開キーの"n"ペアを有しており、発生された公開キー内の少なくとも二つのキーによって新規なキーを発生することが含まれている。 Encrypting step of data includes generating a new key by addition of private and public keys "n" has a pair of at least two keys of the generated the public key.
Roger Kilian-Kehrらは、（米国特許第７６７３１４１）アプリケーションサービスに、保護されたアクセスを与えるシステムを提供した。 Roger Kilian-Kehr et al provides a system which gives the (U.S. Pat. No. 7,673,141) application services, secure access. 米国特許第７６７３１４１に記載されているシステムは、アクセスを求めているクライアントにチャレンジ（挑戦）を与える第一の暗号化のテクニックを使用するチャレンジ・プロバイダーを提供した。 U.S. Patent system described in the 7,673,141 provided a challenge provider that uses the techniques of the first encryption giving Challenge (challenge) to the client seeking access. クライアントが返答を発生させるには第二の暗号化のテクニックを使用して認証サービスに返答する。 The client generates the response replies to the authentication service using the techniques of the second encryption. チャレンジと返答が第一の暗号化のテクニックに補完する第一の認証テクニックによって、また第二の暗号化のテクニックに補完する第二の認証テクニックによってそれぞれ認証された場合のみ認証サービスがクライアントにアクセスを与える。 The first authentication techniques challenge and response are complementary to a first encryption technique and the second access client authentication service only when it is authenticated respectively by authentication techniques to complement the second encryption techniques give.
Robert Relyeaに申請された米国特許出願第２００８０６９３３８ はコンピュータシステムおよびトークン（クライアント）に関連した立地因子を検証する方法を提供した。 U.S. Patent Application No. 2008069338, filed on robert Relyea has provided a method of verifying a location factor associated with the computer system and a token (client). トークンはサーバーから暗号化されたチャレンジを受信する。 Token receives the challenge that has been encrypted from the server. この暗号化されたチャレンジがサーバーとトークンの共用のキーによって暗号化される。 This encrypted challenge is encrypted by the shared key of the server and the token. トークンはその暗号化されたチャレンジを共通キーによって復号し、既定の楕円曲線暗号法(ＥＣＣ)によって操作して、操作されたチャレンジを得る。 Token decrypts the encrypted challenge by the common key, and operation by the default elliptic curve cryptography (ECC), to obtain a manipulated challenge. トークンは署名済みの操作（マニピュレイト）されたチャレンジおよびＥＣＣ公開キーをチャレンジの回答としてサーバーに戻す。 Token is returned to the server signed manipulate (Manipyureito) has been challenge and ECC public key as the answer of the challenge. サーバーは署名済みの操作されたチャレンジを受信し、それは実際にＥＣＣ公開キーに基づいたトークンで発生したかどうかを確認する。 Server receives the signed manipulated challenge, it is to see if indeed it has generated in the token based on the ECC public key. 米国特許出願第２００８００６９３３８ではクライアントがサーバーから暗号されたチャレンジを受信し、そのチャレンジの暗号化がクライアントとサーバーいずれにも認識できるキーによって行われる。 In U.S. Patent Application No. 20080069338 client receives a challenge which is encrypted by the server, encryption of the challenge is performed by the key recognizable to both client and server.
Alexander Gantmanら（米国特許出願第２００９００３５９７）は共通の係数（modulus）Ｎの使用を合意した二つのエンテイテイ間の認証の方法、またそのための手段を有する装置を提供した。 Alexander Gantman et al (U.S. Patent Application No. 2009003597) authentication method between two Enteitei agreed to use a common coefficient (modulus) N, also provided a device having means for the. 米国特許出願第２００９００３５９７の方法は入力された値から疑似乱数の文字列値を発生するステップ、係数（modulus）Ｎおよび疑似乱数の文字列値に基づいた第一の公開キー値を発生するステップ、第一の公開キー値に対応する第一のプライベートキー値を発生するステップ、第二の公開キー値を受信するステップ、係数Ｎ、第一のプライベートキー値および第二の公開キー値に基づいた、共用の秘密値を発生するステップ、共用の秘密値を使用して認証署名を決定して、前記の認証署名を送信するステップで構成されている。 Step U.S. Patent Application No. 2009003597 method for generating a string value of the pseudo-random number from the input values, the coefficient (modulus) N and the first step of generating a public key value based on the string value of the pseudo-random number, the step of generating a first private key value corresponding to the first public key value, receiving a second public key value, the coefficient N, based on the first private key value and the second public key value the step of generating a secret value shared, to determine the authentication signature using the secret value shared, and a step of transmitting the authentication signature. 米国特許出願第２００９００３５９７の方法はキー発生ユニットによって第一の公開キーおよび第一のプライベートキーを発生させる。 US method of Patent Application No. 2009003597 generates a first public key and a first private key by the key generation unit. このシステムはレシーバ・ユニットによって第二の公開キー値を受信し、また秘密キー発生ユニットによって秘密共用キー値を発生させる。 The system receives the second public key value by the receiver unit, also generates a secret shared key value by a private key generation unit.
米国特許出願第２０１０２１１７７９によれば、ランダムキー要素が発生され、それは第一の当事者（サーバー）に暗号化され、第二の当事者（クライアント）に送信される。 According to US Patent Application No. 2010211779, a random key component is generated, it is encrypted with the first party (server) and sent to the second party (client). ランダムキー部分が第二の当事者の公開キーを使用して暗号化される。 Random key part is encrypted using the public key of the second party. したがって、第二の当事者は第一の当事者から送信されたキー要素を受信する。 Therefore, the second party receives the key element that is transmitted from the first party. また第一のランダムキー要素を受信する以外に、第二の当事者は第二のキー要素を発生する。 Further in addition to receiving the first random key component the second party generates the second key component. クライアント (第二の当事者) 側では、第一のキー要素および第二のキー要素が暗号され、暗号化されたランダムキー要素ペアが作成される。 The client (second party) side, a first key element and a second key element is encrypted random key component pair is encrypted is generated. このように発生されたランダムキー要素ペアが暗号化され、第二の当事者(クライアント)から第一の当事者(サーバー)へ送信される。 Thus the generated random key component pair is encrypted and transmitted from the second party (client) to the first party (server). 第二の当事者から暗号されたランダムキー要素ペアを受信してから、サーバーまたは第一の当事者は、暗号された第二のランダムキー要素を第二の当事者に送信する。 After receiving the random key element pair which is encrypted from the second party, the server or the first party sends a second random key element that is encrypted to the second party. また、その後のクライアントとサーバー間の全ての通信に使用するキーは、第二のランダムキーに基づいて、第一の当事者側に計算/決定される。 Further, the key used for all communications between subsequent client and server based on the second random key, is calculated / determined first party side. 米国特許出願第２０１０２１１７７９は、アイデンティティーに基づいた暗号化スキームを提供することを中心としている。 U.S. Patent Application No. 2010211779 is centered to provide encryption scheme based on identity.
Lane W. Leeに与えられた米国特許第７５４９０４４には、デジタル権利管理(ＤＲＭ)システムを実施できるように構成されたブロック・レベル記憶装置が記載されている。 Lane W. given U.S. Patent No. 7549044 to Lee, digital rights management (DRM) configured block-level storage device to be able implement a system are described. 関連のホストシステムから公開キーを受信して、その返答としてこの記憶装置はホストシステムに、信頼を勝ち取るためには、そのホストが対応するプライベートキーを持っていることを証明するように挑戦（チャレンジ）する。 Receiving a public key from an associated host system, in the storage device host system as a reply, in order to win the trust challenge to prove that you have the private key that host the corresponding (Challenge ) to. 公開キーによってセキュアされたセッションキーを暗号化してこの信頼性を勝ち取られる。 By encrypting the session key, which is secured by a public key is won this reliability. ホストシステムはそのプライベートキーを使用してセキュアされたセッションキーを回復する。 The host system to recover the session key that is secure by using its private key. 記憶装置はコンテントキーによって暗号化されたコンテントを記憶することも可能である。 Storage device may also store the content encrypted by a content key. これ以外に記憶装置はセキュアされたセッションキーによってコンテントキーの暗号化を行うこともある。 In addition to this storage device is also possible to perform the encryption of the content key by the session key secure. 米国特許第７５４９０４４は、デジタル権利管理システムを提供することを中心としている。 U.S. Patent No. 7549044 is centered on providing a digital rights management system. 米国特許第７５４９０４４には、セキュアされたセッションキー自体が暗号されており、その後記憶装置とクライアント間の安全な通信を確保するため復号されることが記載されている。 U.S. Patent No. 7549044, the session key itself, which is secured has been encrypted, it is described that are decoded for ensuring secure communication between subsequent storage device and the client.
Zhu Huafei（中国特許出願第１４４４１６８）は非対称暗号化法の確率をもとに、楕円曲線公開キー証明書を作成することを開示した。 Zhu Huafei (China Patent Application No. 1,444,168) is based on the probability of asymmetric encryption method, it disclosed that you create an elliptic curve public key certificate. 中国特許出願第１４４４１６８で記載されたシステムにはクライアントとサーバー間の安全な通信を行うため、衝突防止ハッシュ機能の原理、公開キー暗号化システムおよび公開キー証明書システムの使用が含まれている。 For secure communications between the system described in the Chinese Patent Application No. 1444168 is a client-server, the principles of anti-collision hash functions, which include the use of public key encryption system and public key certificate system. 本発明と中国特許出願第１４４４１６８のシステムの相違点は、本発明は証明書が不必要なインフラストラクチャーを有していることである。 The present invention and Chinese patent application differs from the 1444168 system, the present invention is that the certificate has unnecessary infrastructure. 上記中国特許出願は楕円曲線暗号化(ＥＣＣ)の使用が開示されているが、本発明と大きな相違点は、上記中国特許出願では証明書式公開キーインフラストラクチャーの使用が開示されており、それに対して本発明では非証明書式公開キーインフラストラクチャーが使用されている。 The Chinese patent application discloses the use of elliptic curve cryptography (ECC), but a large difference with the present invention, in the Chinese Patent Application discloses a use of a certificate format public key infrastructure, contrast non-proven format public key infrastructure in the present invention Te is being used.
特許文献の先行技術と従来の技術の問題点は、それらはすべて証明書式公開キー暗号化法および真正性確認式暗号化法によって実施される。 Prior art and problems of the prior art patent documents, they are implemented by all certificate format public key cryptography and authenticity validation formula cryptography. この暗号化法は実際に使用するとき、複雑、また高価なキー管理が必要となり、キーエスクローの問題も招いている。 This encryption method is when you actually use, complex and requires expensive key management, it has also led to the key escrow problem. 近年、まだ完全に解決できていない問題に対しては非証明書公開キー暗号化法(CL-PKC)が導入された。 In recent years, non-certificate public key encryption method for a problem that is not possible yet fully resolved (CL-PKC) has been introduced. 一般的にはＣＬ−ＰＫＣは双線形対号および逆演算を使用するから、システムの性能低下させる原因になる。 Since generally CL-PKC uses bilinear pair No. and reverse operation, causing to lower the performance of the system.
したがって、双線形対を試用しないで非証明書式キー・クプトシステムに基づくコストまた時間効果の良いシステムが要求された。 Therefore, the cost also good system time-effect based on a non-demonstrated format key-click script system is requested without trial bilinear pair.
本発明の目的はクライアントとサーバー間の通信を安全にできるようなシステムを提供することである。 An object of the present invention is to provide a system that allows secure communication between a client and a server.
本発明のもう一つの目的は、クライアントとサーバー間の通信を安全にできるような強固なシステムを提供することである。 Another object of the present invention is to provide a robust system that allows secure communication between a client and a server.
本発明のもう一つの目的は、不正使用できないようなシステムを提供することである。 Another object of the present invention is to provide a system which can not be compromised.
本発明のもう一つの目的は、軽量な認証システムを提供することである。 Another object of the present invention is to provide a lightweight authentication system.
本発明のもう一つの目的は、コスト効率の良い、非証明書公開キー暗号化技術を使用するシステムを提供することである。 Another object of the present invention is to provide a system that uses a cost-efficient, non-certificate public key cryptography.
本発明のもう一つの目的は、時間効率の良い、双線形対を使用しないで非証明書式暗号化法を実施するシステムを提供することである。 Another object of the present invention is to provide a system for implementing the non-certificate format encryption method without using time-efficient, bilinear pair.
本発明のもう一つの目的は、帯域幅が小さいでも機能できるシステムを提供することである。 Another object of the present invention is to provide a system that can function even low bandwidth.
本発明のもう一つの目的は、作用するとき、記憶空間を効率的に使用する空間効率のよいシステムを提供することである。 Another object of the present invention, when acting, to provide a good system space efficient to use storage space efficiently.
本発明のもう一つの目的は、オンライン現金取引をすぐに、また安全に行えるシステムを提供することである。 Another object of the present invention is, as soon as the online cash transactions, also is to provide a system that enables safe.
本発明のもう一つの目的は、リプレーアタックおよびラッシングアタックを防止するシステムを提供することである。 Another object of the present invention is to provide a system that prevents replay attacks and lashing attack.
本発明のもう一つの目的は、情報損失を低下を可能なシステムを提供することである。 Another object of the present invention is to provide a system capable of reducing the information loss.
本発明のもう一つの目的は、多大なデータ量を送信するときも性能を妥協しないシステムを提供することである。 Another object of the present invention is to provide a system that does not compromise performance when transmitting a large amount of data amount.
本発明は、下記に記述したものを含まれるクライアントとサーバー間の通信を安全にできるようなシステムを提供する。 The present invention provides a system that allows secure communication between a client and a server included those described below.
・乱数を発生するように構成された乱数発生器 ・上記の乱数を受信し、理処理済の値を作成するように構成された処理手段 ・上記の理処理済の値を受信してそれに対して偽造検出を行う第一の検証手段、該当する第一の検証手段は、また検証された値を発生するように構成されている ・第一の検証手段に連結した、第一の値を発生するように構成された計算手段、この手段は、また第一の値に対応する第二の値を発生する ・既定primitives(基本命令)を有する第二の検証手段。 - random number received the configured random number generator, said random number to generate, with respect to it to receive the configured processing means, the values ​​of the above physical processed to create a value of physical processed first verification means for performing counterfeit detection Te, corresponding first verification means also coupled to the first verification means, which is configured to generate the verification value, generate a first value configured computing means to, this means also a second verification means having & default primitives (basic instructions) for generating a second value corresponding to a first value. この手段は該当する第二の値を受信し、検証するように構成されていて、さらに公開キーおよび対応するプライベートキーを発生するようにも構成されている ・該当の既定primitives(基本命令)を有する、また秘密キーを発生する手段。 This means receives the second value corresponding, be configured to validate, further public key and a corresponding default primitives of-relevant being also configured to generate a private key (basic instructions) It has, also means for generating a secret key. この秘密キーを発生する手段は上記の第二の検証手段から公開キーを受信し、秘密キーを発生させる ・該当の既定primitives(基本命令)を持っているセッションキーを発生する手段。 It means this means for generating a secret key that receives the public key from the second verification means of the above, to generate a session key that has a-appropriate default primitives to generate a secret key (basic instructions). このセッションキーを発生する手段は上記のセッションキーを発生する手段から該当の秘密キーを受信し、セッションキーを発生する クライアントとサーバー間の通信を促進する該当の秘密キーとセッションキー。 It means for generating the session key by receiving a secret key of the relevant from the means for generating the session key, the corresponding private key and session keys that facilitate communications between the client and the server that generates the session key.
本発明によればこの好ましくは上記の処理手段は、上記の乱数を受信し、それを公開キーを使用して楕円曲線暗号化法によって暗号化するように構成する暗号化手段が含まれている。 This preferably said processing means according to the present invention includes a cryptographic unit configured to receive the random number is encrypted by elliptic curve cryptography using a public key it .
本発明によれば好ましくは上記の処理手段は、上記の乱数を受信し、それをメッセージ・ランダム化によって処理するように構成されている前処理手段が含まれている。 Preferably said processing means according to the present invention, receives the random number, it is included preprocessing means configured to process it by the message randomization.
本発明によれば好ましくは第一の検証手段は上記処理済みの値を受信して、それをプライベートキーを使用して、楕円曲線暗号化法によって複号するように構成されている手段が含まれている。 Preferably according to the present invention is the first verifying means receives the value of the processed, it using the private key, includes means configured to decoding by elliptic curve cryptography It has been.
本発明によれば好ましくは、第一の検証手段は上記の処理済みの値を受信し、それをメッセージ・ランダム化によって検証して偽造を検出できるように構成されている前処理手段が含まれている。 Preferably according to the present invention, the first verification means receives the processed value of the, it contains preprocessing means configured to it can detect counterfeit to verify the message randomization ing.
本発明によれば好ましくは、第一の値が公開キーとプライベートキーのペアおよびJacobi identityが含まれている群から選択される。 Preferably according to the present invention are selected from the group first value are included pairs and Jacobi identity of public and private keys.
本発明によれば好ましくは、第二の値がデジタル署名された値とlie productが含まれている群から選択される。 Preferably according to the present invention are selected from the group the second value are included digitally signed value and lie product.
本発明によれば好ましくは、既定primitives（基本命令）は、曲線diffie hellman法、楕円曲線デジタル署名法およびjacobi identity検証システムが含まれている群から選択される。 Preferably according to the present invention, the default primitives (basic instruction), the curve diffie hellman method, is selected from the group that contains the elliptic curve digital signature method and jacobi identity verification system.
本発明によれば好ましくは、既定primitives（基本命令）は、楕円曲線diffie hellmanシステムおよび楕円曲線デジタル署名システムが含まれている群から選択される。 Preferably according to the present invention, the default primitives (basic instruction) is selected from the group that contains the elliptic curve diffie hellman system and elliptic curve digital signature system.
本発明は下記に述べたステップで構成されている、クライアントとサーバー間の通信を安全にできることを促進するような方法を提供する。 The present invention is composed of steps described below, provides methods that promote can be safely communication between a client and a server.
・乱数を発生させる ・上記の乱数を処理して、処理済の値を発生する ・偽造検出を行うために上記の処理済の値の検証を行う ・第一の値を発生させる ・第一の値に対応する第二の値を発生させる ・既定primitives(基本命令)によって上記の第二の値を検証する ・公開キーとそれに対応するプライベートキーを発生する ・公開キーを送信し、プライベートキーを保有する ・送信された公開キーを受信し、既定primitives(基本命令)に基づく秘密キーを発生する ・上記の秘密キーと既定primitives(基本命令)に基づくセッションキーを発生する。 · Random processes the above mentioned random number generating a, in order to perform the counterfeiting detection for generating the value of the processed of the above processed values ​​verifying the first-generating a first value, performing the by-default primitives for generating a second value corresponding to the value (basic instruction) sends, public keys for generating a private key and a corresponding-public key to verify the second value of the, the private key receiving a public key that has been and transmission held, it generates a session key based on the default primitives (basic instructions), the secret key to generate a secret key that is based on the default primitives (basic instructions).
本発明によれば一般的には上記の乱数を処理して処理済の値を得る方法は、さらにその乱数を公開キーを使用して楕円曲線暗号化システムによって暗号化する手段が含まれている。 How to generally obtain the value of already processed by processing the random number according to the present invention includes a means for encrypting the further elliptic curve cryptography system using a public key the random number .
本発明によれば一般的には上記の乱数を処理して処理済の値を得る方法は、さらにその乱数をビット・シャフリング、圧縮、Ｔ−機能および線形フィードバック・シフト登録が含まれた群から選択されたもので処理する手段で構成されている。 How to generally obtain the value of already processed by processing the random number according to the present invention further bit shuffled random number, compression, were included T- function and linear feedback shift register group It is composed of means for processing with a selection from.
本発明によれば一般的には処理済の値を検証する方法は、上記の処理済の値を公開キーを使用して、楕円曲線暗号化法によって復号化する手段が含まれている。 Method generally according to the present invention verifies the value of the processed, using the public key values ​​of the above treated includes a means for decoding the elliptic curve cryptography.
本発明によれば一般的には上記の処理済の値を検証する方法は、さらにメッセージランダム化法によって上記の処理済の値を検証する手段が含まれている。 Method generally according to the present invention verifies the values ​​of the above processed is included means for verifying the value of the above processed further by the message randomization method.
本発明によれば一般的には、第一の値を発生する方法は、公開キーとプライベートキーのペアを発生する手段が含まれている。 Typically, in accordance with this invention, a method of generating a first value includes a means for generating a pair of public key and private key.
本発明によれば一般的には、第一の値を発生する方法は、さらにjacobi identityを発生する手段が含まれている。 Typically, in accordance with this invention, a method of generating a first value includes a means for generating a further jacobi identity.
本発明によれば一般的には、 第一の値に基づく第二の値を発生する方法はさらにデジタル的にサインした値を発生する手段が含まれている。 Typically, in accordance with this invention, a method of generating a second value based on the first value is included means for generating a further digitally sign values.
本発明によれば一般的には、 第一の値に基づく第二の値を発生する方法はさらにlie productを発生する手段が含まれている。 Typically, in accordance with this invention, a method of generating a second value based on the first value is included means for generating a further lie product.
本発明によれば一般的には、既定のprimitives(基本命令)によって上記第二の値を検証する手段は、さらに上記第二の値を曲線diffie hellman法、楕円曲線デジタル署名法およびjacobi identity検証法が含まれている群から選択されたもので構成されている。 Typically, in accordance with this invention, the default primitives means for verifying the second value by (basic instructions) further the second value curve diffie hellman method, elliptic curve digital signature method and jacobi identity verification law and is configured with a selection from the group that contains the.
本発明によれば一般的には, 送信された公開キーを受信し、既定primitives(基本命令)に基づく秘密キーを発生する手段は、さらに前記秘密キーを楕円曲線diffie hellman法と楕円曲線デジタル署名法を含まれている群から選択された既定のprimitivesによって発生する手段で構成されている。 Typically, in accordance with this invention, it receives the public key sent, means for generating a secret key based on predetermined primitives (basic instructions) further elliptic curve diffie hellman method the secret key and elliptic curve digital signature It is composed of means for generating the predetermined primitives selected from the group that contains the law.
本発明によれば一般的には, 上記の秘密キーと既定primitives(基本命令)に基づくセッションキーを発生するステップは、さらに上記セッションキーを楕円曲線diffie hellman法と楕円曲線デジタル署名法を含まれている群から選択された既定のprimitivesによって発生する手段で構成されている。 Typically, in accordance with this invention, the step of generating a session key based on the secret key and the default primitives (basic instructions) is further included elliptic curve diffie hellman method and elliptic curve digital signature method the session key and it is composed of means for generating the predetermined primitives selected from the group have.
次に本発明を添付図面を参考して説明する。 Next the present invention will be described to the accompanying drawings and reference.
本発明による第一のネットワーク・セキュリテイー・プロトコルの順序を説明する図である。 Is a diagram illustrating the order of the first network the Security Protocol according to the present invention. 本発明による第二のネットワーク・セキュリテイー・プロトコルの順序を説明する図である。 Is a diagram illustrating the sequence of the second network the Security Protocol according to the present invention. 本発明による第三のネットワーク・セキュリテイー・プロトコルの順序を説明する図である。 Is a diagram illustrating the sequence of the third network the Security Protocol according to the present invention.
本発明を添付図に示した実施の形態を参考しながら説明する。 And reference to the embodiment illustrated the present invention in the accompanying drawings will be described. ただし本発明はこの実施の形態に限定せず、この説明はただ本発明の好適な実施の形態例に関するものである。 However, the present invention is not limited to this embodiment, it relates to a preferred exemplary embodiment of this description is merely present invention.
本発明はサーバーとクライアント間に非証明書式公開キーインフラストラクチャー（ＰＫＩ）を使用して、安全な通信を行うシステムおよび三つのネットワーク・セキュリテイー・プロトコルを提供する。 The present invention provides a server and between the client using a non-proof format public key infrastructure (PKI), secure system and three network the Security protocol to perform communication.
このシステムは、サーバー・クライアント・アーキテクチャーで構成されている、キーを発生するセンター（ＫＧＣ）として公開キーとプライベートキーのペアなどのキーを発生する少なくとも一つのサーバー、少なくとも一つのクライアントおよび通信に必要なハードウエアのセット、ポリシー、プロスィージャーなどが含まれるＰＫＩのインフラストラクチャーなどで構成される。 This system is composed of a server-client architecture, at least one server to generate the key, such as a public key and private key pair as the center (KGC) for generating a key, the at least one client and communication hardware of the required set, policy, made up of such PKI infrastructure that includes such professional Sistan jar.
第一のネットワーク・セキュリテイー・プロトコルによる上記非証明書ＰＫＩ式通信によって、上記サーバーは、キーを発生するセンター（ＫＧＣ）として公開キーとプライベートキーを分配するようになる。 By the non-certificate PKI-type communication according to the first network the Security Protocol, the server will to distribute public and private keys as the center (KGC) for generating a key. 第一のネットワーク・セキュリテイー・プロトコルによる上記非証明書ＰＫＩ式通信をセットアップするときのステップは図１に示されている。 Step when by the first network the Security protocol to set up the non-certificate PKI type communication is shown in FIG.
図１に示されているようにクライアントは"client Hello"などのような初期のメッセージを送信して通信を開始する。 Clients as shown in FIG. 1 starts communication by sending an initial message such as "client Hello". クライアントのメッセージの返答としてサーバーが乱数発生器によって、長さ"ｎ"ビットの乱数(値)を発生させる。 By the server random number generator as a response of the client's message, to generate a length "n" of bits random number (value). サーバーは、またクライアントの公開キーを使用してその発生された値を暗号させる。 The server also be encrypted its occurrence values ​​using the client's public key. この乱数の暗号化処理間はデジタル証明書が作成されない。 Between encryption of the random number can not be created digital certificate. サーバーは個人のクライアントに割り当てたプライベートキーと公開キーのセットを追跡する。 Server to track a set of private key and a public key that you assigned to the client of the individual. サーバー側では、その値を暗号させるために楕円曲線暗号化法が使用される。 On the server side, elliptic curve cryptography is used its value in order to encryption. クライアントの公開キーによって暗号された値がクライアントへ送信される。 Encrypted value is sent to the client by the client's public key. サーバーはクライアントに、暗号化された値が含めている値を復号させる、またその真正性を証明するように、挑戦する。 Server to the client, to decrypt the value encrypted value is included, and as to prove its authenticity to challenge. クライアントはそのプライベートキーおよび楕円曲線diffie hellmanアルゴリズムによってそれを復号化し、その値が信頼できるソースから送信したものかどうかを確認する。 The client decrypts it by its private key and elliptic curve diffie hellman algorithm, to determine whether those transmitted from the source whose value is reliable. クライアントはその暗号化された値を受信し、プライベートキーによってそれを復号する。 The client receives the encrypted value, decoding it by the private key. その暗号された値の復号化に成功して、もとの値を回復してクライアントがその信頼性を証明する。 It succeeded in decoding of the encrypted value, client to prove its reliability to recover the original value. クライアントは、サーバーから送信された値の検証のステップ（すなわち、サーバーから送信された値の複号化）を完了して、楕円曲線暗号化法を使用して、公開キーとプライベートキーのペアを発生する。 The client, the steps of the verification of the value that has been sent from the server (ie, decryption of the transmitted value from the server) to complete the, using the elliptic curve encryption method, a pair of public key and private key Occur.
クライアントは、楕円曲線デジタルアルゴリズムによって、その複号化された値にシグネチャーを作成して、それをサーバーに送信する。 Client using elliptic curve digital algorithm, to create a signature on the decrypted value, and transmits it to the server. サーバーは、クライアントから送信されたシグネチャーを受信して、楕円曲線デジタルアルゴリズムによってそれを検証する。 The server receives the signature sent by the client and verifies it using elliptic curve digital algorithm. クライアントから送信されたシグネチャーを受信してからすぐ、サーバーは楕円曲線diffie hellmanアルゴリズムによって公開キーとプライベートキーのペアを発生して、その発生されたキーをクライアントに送信する。 Immediately after receiving the signature that was sent from the client, the server generates a pair of public key and private key by elliptic curve diffie hellman algorithm, to send its occurrence has been the key to the client.
サーバーから公開キーを受信した後、クライアントは楕円曲線diffie hellmanアルゴリズムによって長さ"ｍ"ビットの秘密キーを発生し、その秘密キーをサーバーと共有する。 After receiving the public key from the server, the client generates a secret key of the "m" bits in length using elliptic curve diffie hellman algorithm and shares the secret key with the server. サーバーは楕円曲線diffie hellmanアルゴリズムに基づく"ｍ"ビットのセッションキーを発生する。 Server generates an "m" bit session key based on elliptic curve diffie hellman algorithm. 秘密キーとそれに対応するセッションキーが楕円曲線diffie hellmanアルゴリズムによって発生される。 Session key and corresponding private key is generated by the elliptic curve diffie hellman algorithm. 図１の参考数字１００は楕円曲線diffie hellmanアルゴリズムによって長さ"ｍ"ビットのセッションキーを発生するステップを示している。 Reference numeral 100 of FIG. 1 shows a step of generating a session key "m" bits in length using elliptic curve diffie hellman algorithm. その後のクライアントとサーバー間のすべての通信と取引に対してはこのセッションキーが使用される。 For all of the communication and transactions between subsequent client and the server this session key is used. セッションキーがサーバーとクライアントのみに認識されるので、クライアントとサーバー間の通信は全く安全に行われる。 Since the session key is recognized only to the server and the client, communication between the client and the server is completely safe to take place.
第一のネットワーク・セキュリテイー・プロトコルによって、クライアントとサーバー間の通信を安全にするようにする方法は次のようなステップが含まれている。 By the first network the Security Protocol, how to make to secure communications between the client and server contains the following steps.
初期のステップ：各クライアントはキー発生センター（ＫＧＣ）として機能するサーバーに発生された公開キーとプライベートキーのペアを有している。 The initial step: Each client has a pair of public key and a private key that is generated on the server that functions as a key generation center (KGC).
第１ステップ：クライアントはサーバーに対して"Client Hello!"というメッセージを送信して通信を開始する。 The first step: the client initiates communication by sending a message to the server "Client Hello!".
第２ステップ：サーバーは疑似乱数発生器（ＰＲＮＧ）によってランダムチャレンジ（挑戦）またはｎビットの乱数を発生する。 The second step: The server generates a random challenge (challenge) or n-bit random number by a pseudo-random number generator (PRNG). その後、サーバーは、クライアントの公開キーを使用して 楕円曲線暗号化法（ＥＣＥ）によって乱数を暗号化する。 The server then encrypts the random number by elliptic curve cryptography (ECE) by using the public key of the client. クライアントはそのプライベートキーを使用して、ＥＣＥによってその暗号化された乱数を復号する。 The client uses its private key to decrypt the encrypted random number by ECE.
第３ステップ：クライアントは楕円曲線暗号化法（ＥＣＥ）によって、その楕円曲線に公開キーとプライベートキーを発生させる。 Third Step: Client by elliptic curve cryptography (ECE), to generate a public key and private key on the elliptic curve. この公開キーとプライベートキーの長さはＮＩＳＴ（米国標準技術局）の推薦にしたがって、２５６ビット、３８４ ビット又は５１２になる。 Follow recommended length of the public key and private key NIST (National Institute of Standards and Technology), the 256-bit, 384-bit or 512. クライアントは楕円曲線デジタル署名アルゴリズムを使用して、サーバーから送信した値にシグネチャーを作成し、それをサーバーに送信する。 The client uses the elliptic curve digital signature algorithm, to create a signature to the value that was sent from the server, and sends it to the server.
第４ステップ：サーバーは楕円曲線デジタル署名アルゴリズムを使用してそのシグネチャーを検証し、続いてその楕円曲線にキー・ペアを発生させる。 The fourth step: server uses the elliptic curve digital signature algorithm to verify the signature, followed by to generate a key pair on the elliptic curve. サーバーはその公開キーをクライアントに送信する。 The server sends the public key to the client.
第５ステップ：クライアントとサーバーはＥＣＤＨ（楕円曲線diffie hellman）アルゴリズムによって共有のｍ−ビットの秘密キーを取り決める。 Fifth Step: Client and server negotiate a secret key of the m- bit shared by ECDH (elliptic curve diffie hellman) algorithm.
第６ステップ：クライアントとサーバーは暗号化のため楕円曲線diffie hellmanアルゴリズムによって、発生されたｍ−ビットのセッションキーを取り決める。 Sixth Step: Client and server using elliptic curve diffie hellman algorithm for encryption, negotiate a session key of the generated m- bit. クライアントとサーバーはcipher suiteを有する。 The client and the server has a cipher suite.
第７ステップ：クライアントとサーバー間に安全な通信が確実に開始される。 Seventh Step: Client and server-to-server for safe communication is started reliably.
上記のプロトコルでは、ランダムチャレンジまたはランダム値が暗号された形に送信されるから、アタッカーはそれを推測することはできない。 In the above protocol, because random challenge or random value is sent to the form of being encrypted, an attacker can not guess it. したがって、リプレーアタックおよびラッシングアタックが防止される。 Therefore, re-play attack and lashing attack can be prevented.
第二のネットワーク・セキュリテイー・プロトコルによって、非証明書ＰＫＩ式通信をセットアップする方法は図２に示している。 The second network the Security Protocol, how to set up the non-certificate PKI type communication is shown in FIG. 第二のネットワーク・セキュリテイー・プロトコによって行う非証明書ＰＫＩ式通信はクライアントとサーバーに対して公開キーとプライベートキーのペアを発生するため、初期セットアップがなく、クライアントとサーバーは、プレーン・テキストをランダムメッセージに変換するような独自のメッセージ前処理（ＭＰ）機能を持っている。 For the second network the Security-protocol non-certificate PKI-type communication performed by the that generates a pair of public key and private key to the client and the server, there is no initial setup, the client and server, random plain text own message pre-processing, such as conversion to a message (MP) has the function. したがって、第一のネットワーク・セキュリテイー・プロトコとは少し違う。 Therefore, a little different from the first network, the Security-protocol. 乱数を送信するときは、変化が全くされなかったことを確保するのにBijectiveマッピングを使用されている。 When sending a random number is used to Bijective mapping to ensure that the change was not at all. 乱数の場合は元の値をマスクするように、その値を代表するビット順序の変化又はランダム化が行われる。 For random to mask the original value, changes or randomized bit sequence representative of the value is performed.
図２に見えるように、クライアントは"client Hello"などのような初期のメッセージを送信して通信を開始する。 As seen in FIG. 2, the client initiates the communication by sending an initial message such as "client Hello". クライアントのメッセージの返答としてサーバーが乱数発生器によって、長さ"ｎ"ビットの乱数(値)を発生させる。 By the server random number generator as a response of the client's message, to generate a length "n" of bits random number (value). サーバーはメッセージ前処理機能(メッセージランダム化機能)によって、その発生した乱数を処理する。 Server by the message preprocessing function (message randomization function), processes the generated random number. 前記のメッセージ前処理機能は三つの演算を順序に行うように構成されている。 Message preprocessing function of the is configured to perform three operations in order. その三つの演算はシャッフリング、Ｔ−機能およびＬＦＳＲ（リニアフィードバックシフトレジスター）である。 Its three operations shuffling, a T- function and LFSR (Linear Feedback Shift Register). 前処理はビットのシャッフリングから始まる。 Before processing begins with bit shuffling. ビットのシャッフリングは拡散を促進する。 Shuffling bits promotes diffusion. 拡散とは、インプットの統計内の冗長性はアウットプットでは消散されることである。 Diffusion and the redundancy inputs stats is to be dissipated in Auttoputto. シャッフリングのプロセスは逆行可能なプロセスで、元のビット・シーケンスがシャッフルされたものから簡単に回復できる。 Shuffling process is possible retrograde process, it can be easily recovered from what the original bit sequence have been shuffled.
ビットのシャッフリング処理の次はＴ−機能のプロセスが行われる。 Next shuffling bits the process of T- functions are performed. Ｔ−機能は更新機能で、これは各ビットをその各ビット自体およびそれより重要性の低いものを線形結合で更新する機能である。 T- function update function, which is each bit ability to update those that lower the bit itself and its more importance in the linear combination. Ｔ−機能の処理の次はＬＦＳＲ（リニア・フィードバック・シフト・レジスター）の機能がある。 Of the processing of the T- function following is a function of the LFSR (linear feedback shift register). ＬＦＳＲプロセスでは、２ ３２ −１ピリオドの３２次の既約多項式を使用される。 The LFSR process, is used a 32-order irreducible polynomial of 2 32 -1 period. ＬＦＳＲの場合は、与えられたインプットは与えられた既約多項式にて４〜１５周期まで移動される。 For LFSR, it was given input is moved to 4-15 cycles at irreducible polynomial given. ビットシャッフリング、Ｔ−機能およびＬＦＳＲ（前処理と総称される）のアウトプットは、極めてランダム化された値である。 Bit shuffling, T-output functions and LFSR (collectively referred to as preprocessing) is a highly randomized value.
発生した値の前処理を行ってから、サーバーはその前処理した値と元の値をクライアントに送信する。 After performing the pre-processing of the generated value, the server sends the pre-treatment value and the original value to the client. この前処理した値は元の値から誘導されたもので、この前処理した値と元の値の唯一の相違点としては、前処理した値の場合にはビットシーケンスが変化されていることである。 This pretreatment value has been derived from the original value, as the only difference of this pretreatment value and the original value, that the bit sequence is changed in the case of the pretreatment value is there. クライアント側には前処理した値はシャッフリング、Ｔ−機能およびＬＦＳＲの機能を逆の順序で（すなわち、ＬＦＳＲ、Ｔ−機能およびビットシャッフリングの順序で）使用して検証される。 Value previously processed on the client side shuffling, T- function and LFSR features a in reverse order (i.e., LFSR, in order of T- function and bit shuffling) is verified using. 値の前処理の場合は、上記の処理を逆の順序で実行する。 For pretreatment values, it executes the above processing in reverse order. この三つの機能は逆行可能な機能があるからそれらをデータの損失および有害影響なく逆の順序で実行することができる。 The three functions can be performed in the reverse order without any loss and adverse effects of these data because there is possible retrograde features. クライアントは、上記の処理を逆の順序で実行して（すなわち、ＬＦＳＲ、Ｔ−機能およびビットシャッフリングの順序で）確認した値を取得する。 The client executes the above processing in reverse order (i.e., LFSR, in order of T- function and bit shuffling) obtains the confirmation value. クライアントは、ＬＦＳＲ、Ｔ−機能およびビット・シャッフリング・プロセスの結果を確認して取得した値をサーバーから送信された元の値と比較して、それは偽造されたものかどうかを検出する。 Client, LFSR, as compared with the transmitted original value a value obtained to confirm the results of the T- function and bit shuffling process from the server, it detects whether or not forged. サーバーから送信された値を検証した後、サーバーから送信された値が真性のものだったら、クライアントが楕円曲線diffie-hellmanアルゴリズムによって公開キーとプライベートキーのペアを発生させる。 After verifying the value that has been sent from the server, the values ​​that are sent from the server Once was something of intrinsic, the client is to generate a pair of public key and private key by elliptic curve diffie-hellman algorithm. なおクライアントは楕円曲線デジタル署名アルゴリズムによってサーバーから送信された値にシグネチャーを作成して、そのシグネチャーを公開キーと共に送信する。 Incidentally client creates a signature on the value sent by the server using elliptic curve digital signature algorithm and sends the signature with the public key. そのシグネチャーを受信した後、サーバーは楕円曲線デジタル署名アルゴリズムによってクライアントから送信されたシグネチャーを検証して、続いて楕円曲線diffie hellmanアルゴリズムによって公開キーとプライベートキーのペアを発生させる。 After receiving the signature, the server verifies the signature that was sent from the client by the elliptic curve digital signature algorithm, followed by the elliptic curve diffie hellman algorithm to generate a pair of public key and private key. その後、サーバーは発生された公開キーをクライアントに送信する。 The server then sends the public key generated on the client.
サーバーから公開キーを受信してから、クライアントは楕円曲線diffie hellmanアルゴリズムによって長さ"ｍ"ビットの秘密キーを発生し、それをサーバーと共有する。 From the reception of the public key from the server, the client generates a secret key of the "m" bits in length by elliptic curve diffie hellman algorithm, to share it with the server. ここで、サーバーはその秘密キーと楕円曲線diffie hellmanアルゴリズムに基づいて"ｍ"ビットのセッションキーを発生させる。 Here, the server generates a session key "m" bits based on the secret key and elliptic curve diffie hellman algorithm. 上記の秘密キーとそれに対応するセッションキーが楕円曲線diffie hellmanアルゴリズムを使用して発生される。 The private key and the session key corresponding to that of is generated using elliptic curve diffie hellman algorithm. 図2の参考数字２００は、秘密キーと楕円曲線diffie hellmanアルゴリズムに基づいて"ｍ"ビットのセッションキーを発生するステップを示している。 Reference numeral 200 in FIG. 2 illustrates the step of generating the "m" bits session key based on the secret key and elliptic curve diffie hellman algorithm. その後のサーバーとクライアント間のすべての通信と取引の場合は、そのセッションキーが使用される。 In the case of all of the communication and transactions between subsequent server and the client, the session key is used. セッションキーがサーバーとクライアントのみに認識されるようになっているから、サーバーとクライアント間の通信が安全に行われる。 Since the session key is to be recognized only to the server and the client, communication between the server and the client is carried out safely.
第二のネットワーク・セキュリテイー・プロトコルによるクライアントとサーバー間の通信を安全にできるような方法は次のようなステップで構成されている。 Manner that allows communication between a client and a server according to the second network the Security Protocol safe is composed of following steps.
第２ステップ：サーバーは疑似乱数発生器（ＰＲＮＧ）によってランダムチャレンジまたはｎビットの乱数を発生して、乱数のメッセージ前処理を計算する。 The second step: The server generates a random number of the random challenge or n bits by a pseudo-random number generator (PRNG), calculates the message preprocessing of the random number. クライアントはその乱数とＭＰ(乱数)を受信してＭＰ(乱数)を検証する。 The client verifies the MP (random number) to receive the random number and MP (random number).
第３ステップ：クライアントは楕円曲線に公開キーとプライベートキーを発生させる。 The third step: the client generates a public key and a private key to the elliptic curve. この公開キーとプライベートキーの長さはＮＩＳＴ（米国標準技術局）の推薦にしたがって、２５６ビット、３８４ビット又は５１２となる。 Follow recommended length of the public key and private key NIST (National Institute of Standards and Technology), and 256 bits, 384 bits or 512. クライアントは楕円曲線デジタル署名アルゴリズムを使用して、サーバーから送信した値をサインし、そのシグネチャーを公開キーとともにサーバーに送信する。 The client uses the elliptic curve digital signature algorithm, to sign the value transmitted from the server, and sends the signature with the public key to the server.
第４ステップ：サーバーはそのシグネチャーを検証し、続いてその楕円曲線にキーのペアを発生させる。 The fourth step: The server verifies the signature, followed by to generate a key pair in the elliptic curve. サーバーはその公開キーをクライアントに送信する。 The server sends the public key to the client.
第６ステップ：クライアントとサーバーは暗号化のため楕円曲線diffie hellmanアルゴリズムによって、発生されたｍ−ビットのセッションキーを取り決める。 Sixth Step: Client and server using elliptic curve diffie hellman algorithm for encryption, negotiate a session key of the generated m- bit.
上記のプロトコルでは、乱数がプレーンな形にＭＰ(乱数)とともに送信されるので、リプレーアタックおよびラッシングアタックが防止される。 In the above protocol, the random number is sent with the MP (random number) to the plain form, replay attacks and lashing attack is prevented. ここは、アタッカーが乱数を変更することができるが、ＭＰ(乱数) が変更されないというbijective性質の概念は興味深いものである。 Here, although it is possible attacker to change the random number, the concept of bijective property of MP (random number) is not changed it is interesting.
第三のネットワーク・セキュリテイー・プロトコルに基づく非証明書ＰＫＩ（公開キーインフラストラクチャー） 式通信は第一のネットワークセキュリテイープロトコルに似ているが、シグネチャーの発生することが異なっている。 The third network the Security protocol in based on non-certificate PKI (public key infrastructure) type communication is similar to the first of the network the Security protocol, but is different from that generated by the signature. クライアントはサーバーを認識するためにはJacobi identity というLie algebrasの特別商品を使用する。 The client in order to recognize the server is to use the special items of Lie algebras that Jacobi identity. Jacobi identityはランダムチャレンジRC = x || y ||zで働き、[[x, y], z] + [[y, z], x] + [[z, x], y] = 0の関係に従う。 Jacobi identity is working in the random challenge RC = x || y || z, [[x, y], z] + [[y, z], x] + [[z, x], y] = 0 of relationship according to the.
第三のネットワークを使用してネットワーク・セキュリテイー・プロトコルによって非証明書ＰＫＩ式通信を設定するときのステップは図３に示してある。 Step when setting a non-certificate PKI-type communication by the network the Security protocol using a third network is shown in Figure 3.
図３に示されてあるようにクライアントは"client Hello"などのような初期のメッセージを送信して通信を開始する。 Client to are illustrated in Figure 3 starts communication by sending an initial message such as "client Hello". クライアントのメッセージの返答としてサーバーが乱数発生器によって、長さ"ｎ"ビットの乱数(値)を発生させる。 By the server random number generator as a response of the client's message, to generate a length "n" of bits random number (value). サーバーはクライアントの公開キーを使用してその発生された値をまた暗号させる。 The server also be encrypted with the generated value using the public key of the client. この乱数の暗号化処理間はデジタル証明書が作成されない。 Between encryption of the random number can not be created digital certificate. サーバーは個人のクライアントに割り当てたプライベートキーと公開キーのセットを追跡する。 Server to track a set of private key and a public key that you assigned to the client of the individual. サーバー側では、その値を暗号させるために楕円曲線暗号化法は使用される。 On the server side, elliptic curve cryptography in order to encryption that value is used. クライアントの公開キーによって暗号化された値がクライアントに送信される。 Encrypted value is sent to the client by the client's public key. サーバーはクライアントに、暗号化された値を復号化させる、またその真正性を証明するように、挑戦する。 Server to the client, to decrypt the encrypted value, and as to prove its authenticity to challenge. クライアントはその暗号化された値を受信し、プライベートキーおよび楕円曲線暗号化法によってそれを複号化して宛先としてのその信頼性を証明する。 The client receives the encrypted value, and decodes it by the private key and elliptic curve cryptography to prove its reliability as a destination.
クライアントは、また送信された値にjacobi identityを計算する。 The client also computes the jacobi identity on the sent value. すなわち、クライアントはその復号した値を三つに分け、受信した値にlie productを発生させる。 That is, the client is divided into three values ​​obtained by the decoding to generate a lie product on the received value.
本発明によれば、この値を例えばx, yとzに分けたとしたら、その値のjacobi identityはx||y||zで表現される。 According to the present invention, Once this value for example x, and were divided into y and z, jacobi identity of the value is expressed in x || y || z. その乱数のjacobi identityは[[x, y], z] + [[y, z], x] + [[z, x],y] =0の関係を使用して検証される。 jacobi identity of the random number [[x, y], z] + [[y, z], x] + [[z, x], y] is verified using the relationship = 0.
本発明によれば、クライアントはその値のlie productを発生してサーバーに送信すると、サーバーはクライアントから送信されたlie product を[[x, y], z] + [[y, z], x] + [[z, x],x] =0という関係によって検証する。 According to the present invention, the client sends to the server generating the lie product of the value, the server the lie product sent by the client [[x, y], z] + [[y, z], x ] + [[z, x], it is verified by the relationship x] = 0. クライアントから送信されたlie productの真正性を検証した後、サーバーは楕円曲線暗号化法によって、公開キーとプライベートキーのペアを発生させる。 After verifying the authenticity of the lie product that has been sent from the client, the server by the elliptic curve encryption method, to generate a pair of public key and private key. 公開キーとプライベートキーのペアを発生するために、楕円曲線暗号化法の一部になっている楕円曲線diffie hellmanアルゴリズムが使用される。 To generate a pair of public key and private key, elliptic curve diffie hellman algorithm is used that is part of the elliptic curve cryptography. 続いて、クライアントはその公開キーをクライアントに送信する。 Then, the client sends its public key to the client. サーバーから公開キーを受信してから、クライアントは楕円曲線diffie hellmanアルゴリズムによって、長さｍビットの秘密キーを発生して、それをサーバーと共用する。 After receiving the public key from the server by the client elliptic curve diffie hellman algorithm, to generate the private key of m bits in length, share it with the server. そこでサーバーは、秘密キーと楕円曲線diffie hellmanアルゴリズムを使用して、長さｍビットのセッションキーを発生させる。 Accordingly server uses the secret key and elliptic curve diffie hellman algorithm to generate a session key m bits in length. この秘密キーと対応するセッションキーが楕円曲線diffie hellmanアルゴリズムによって発生される。 Session key corresponding to this secret key is generated by the elliptic curve diffie hellman algorithm. 図３の参考数字３００は長さ"ｍ"ビットのセッションキーを発生するステップを示している。 Reference numeral 300 of FIG. 3 shows the step of generating the session key "m" bits in length. その後のサーバーとクライアント間のすべての通信と取引に対してはこのセッションキーが使用される。 For all of the communication and transactions between then the server and the client this session key is used. セッションキーがサーバーとクライアントのみに認識されるので、クライアントとサーバー間の通信は全く安全に行われる。 Since the session key is recognized only to the server and the client, communication between the client and the server is completely safe to take place.
第三のネットワークによって、サーバーとクライアント間の通信が安全にできるような方法は次のステップで構成されている。 By a third network, the communication between the server and the client is a method that allows safe and consists of the following steps.
初期ステップ：各クライアントはキー発生センター（ＫＧＣ）として働くサーバーに発生された公開キーとプライベートキーのペアが有している。 The initial step: Each client's public key and private key pairs generated on the server that will act as a key generation center (KGC) has.
第１ステップ：クライアントは"Client Hello"などのような初期のメッセージを送信して通信を開始する。 The first step: the client initiates communication by sending an initial message, such as "Client Hello".
第２ステップ：サーバーは疑似乱数発生器（ＰＲＮＧ）によってｎビットのランダムチャレンジまたは乱数を発生させる。 The second step: the server generates a random challenge or random n-bit by pseudorandom number generator (PRNG). その後、サーバーは、クライアントの公開キーを使用して楕円曲線暗号化法（ＥＣＣ）によって乱数を暗号化する。 The server then encrypts the random number by elliptic curve cryptography (ECC) by using the public key of the client. クライアントはそのプライベートキーを使用して、楕円曲線暗号化法によってその暗号化された乱数の復号化を行う。 The client uses its private key, decrypts the encrypted random number by the elliptic curve cryptography.
第３ステップ：クライアントは乱数= x||y||z にJacobi identityを計算してそのLie product [[x, y], z]をサーバーに送信する。 Third Step: Client computes the Jacobi identity on the random number = x || y || z sends the Lie product [[x, y], z] to server.
第４ステップ：サーバーは [[x, y], z] + [[y, z], x] + [[z, x], y] = 0の関係を検証する。 Fourth Step: Server [[x, y], z] + [[y, z], x] + [[z, x], y] to verify the relationship of = 0. サーバーはＥＣＣ(楕円曲線暗号化法)を使用して、その公開キーをクライアントに送信する。 The server uses the ECC (elliptic curve cryptography), and sends the public key to the client.
第６ステップ：クライアントとサーバーは暗号化のため、楕円曲線diffie hellmanアルゴリズムによって発生されたｍ−ビットのセッションキーを取り決める。 Sixth Step: Client and server for encryption, negotiate the m- bit session key generated by elliptic curve diffie hellman algorithm. クライアントとサーバーがcipher suiteを有している。 The client and the server has a cipher suite.
本発明の技術的な進歩が次のようである。 Technological advances of the present invention is as follows.
ここでは、本発明のある特徴が特に強調してあるものの、本発明の要旨を逸脱しない範囲で好適実施形態の種々変更、また変化が可能である。 Here, although the features of the present invention are particularly emphasized, various changes of the preferred embodiment without departing from the scope of the present invention, also are possible changes. 本発明の本質又は好適な実施形態の上記した変更は、この開示によって当業者には、明らかになるものだが、本発明は明細書に記載された説明に限られるものではなく、ただ本発明の実例と見なされるものであることは言うまでもない。 Nature or modified as described above for the preferred embodiment of the present invention to those skilled in the art by this disclosure, it shall become apparent, the present invention is not limited to the description provided herein, only the present invention it goes without saying that to be regarded as illustrative.
下記のもので構成されている、クライアントとサーバー間の通信を安全にできるようなシステム。 And it consists of the following systems can be safely communicate between the client and the server.
・乱数を発生できる乱数発生器 ・上記した乱数を受信して、処理した値を作成する処理手段 ・処理済の値を受信し、それを検証して偽造を検出する、また検証した値を発生するように構成された第一の処理手段 ・第一の検証手段に連結された、第一の値を発生する、また前記第一の値に対応する第二の値を発生するように構成された計算手段 ・既定のprimitives(基本命令)を有する、前記の第二の値を受信して検証する、また公開キーと対応するプライベートキーを発生する第二の検証手段 ・既定のprimitives(基本命令)を有する、第二の検証手段から前記の第二の公開キーを受信して、秘密キーを発生するように構成されている秘密キー発生手段および ・前記の既定primitives(基本命令) を有する、秘密キー発生器から前記秘密を受信して、その秘 - random number received the random numbers random number generator, the can generate, receive the values ​​of the processing unit, processed to create a processed value to detect forgery and validate it, also generates a verification value coupled to the first processing unit, the first verification means configured to generates a first value, also be configured to generate a second value corresponding to said first value and a computing means, default primitives (basic instructions), which receives and validates the second value of the, also second verifying means, default primitives (basic instructions for generating a private key and corresponding public key ) having receives the second the second public key from the verification means, has a configured private keys generating means and - said predetermined primitives (basic instructions) to generate a private key, to receive the secret from the secret key generator, the secret 密キーに対応するセッションキーを発生するセッションキー発生手段 クライアント・サーバー間の安全な通信を促進する前記秘密キーとセッションキー。 The secret key and the session key to facilitate secure communication between the session key generation means client-server that generates a session key corresponding to the dense key.
前記処理手段は、前記乱数を受信して、それを楕円曲線暗号化法によって公開キーを使用して暗号化できるように構成されている暗号化手段が含まれる請求項１に記載されたシステム。 Said processing means receives the random number, the system described in claim 1, it includes encryption means for using the public key using elliptic curve cryptography method is configured to be encrypted.
前記処理手段は、前記乱数を受信し、それを前処理して、前記処理済の値を作成するように構成された前処理手段が含まれる請求項１に記載されたシステム。 The processing unit receives the random number, and pre-process it, according to claim 1 that contains the configured pre-processing means to create the value of the processed system.
前記処理済の値を受信し、それをプライベートキーを使用して楕円曲線暗号化法によって復号するように構成されている複号化手段が含まれる請求項１に記載されたシステム。 System according to claim 1, wherein the value of the processed receive includes decryption means adapted to it using the private key to decrypt the elliptic curve cryptography.
前記処理済の値を受信してそれを偽造を検出するため検証する前処理手段で構成されている第一の検証手段が含まれる請求項１に記載されたシステム。 System of claim 1 including the first verification means is composed of a preprocessing means for verifying for detecting counterfeit it receives the value of the processed.
第一の値がjacobi identityおよび公開キーとプライベートキーのペアが含まれる群から選択される請求項１に記載されたシステム。 System according to claim 1 in which the first value is selected from the group that includes a pair of jacobi identity and public key and private key.
前記第二の値はデジタルサインされた値とlie productが含まれる群から選択される請求項１に記載されたシステム。 System according to claim 1 wherein the second value is selected from the group that contains the digital signature value and lie product.
前記既定primitives (基本命令)は、曲線diffie hellmanシステム、楕円曲線デジタル署名システムおよびjacobi identity検証システムが含まれている群から選択される請求項１に記載されたシステム。 It said predetermined primitives (basic instruction), the curve diffie hellman system system according to claim 1 which is selected from the group that contains the elliptic curve digital signature system and jacobi identity verification system.
クライアント・サーバー間の安全な通信を促進する、また次の手段が含まれる方法。 It facilitates secure communication between a client-server and method that includes the following means.
・前記秘密キーと既定のprimitives(基本命令)に基づくセッションキーを発生する。 - said to generate a session key based on the secret key and the default of primitives (basic instructions).
前記乱数の処理で処理済の値を作成する手段は、さらに楕円曲線diffie hellman法、楕円曲線デジタル署名法およびメッセージランダム化法が含まれている群から選択したprimitives (基本命令)を使用して処理するステップで構成されている請求項９に記載された方法。 It means for creating a value of already processed in the processing of the random number, using more elliptic curve diffie hellman method, primitives selected from the group that contains the elliptic curve digital signature method and message randomization method (basic instructions) the method of claim 9 consisting of steps of processing.
前記処理済の値を検証して、偽造があるかどうかを検出するステップは、さらに楕円曲線diffie hellman法、楕円曲線デジタル署名法およびメッセージランダム化法が含まれている群から選択したprimitives (基本命令) を使用して処理するステップで構成されている請求項９に記載された方法。 Validate the value of the processed, step of detecting whether there is a counterfeit further elliptic curve diffie hellman method, selected primitives (basic from the group that contains the elliptic curve digital signature method and message randomization method the method of claim 9 consisting of steps of processing using instructions).
前記第一の値を発生するステップは、さらに公開キー、プライベートキーおよびjacobi identityが含まれる群から選択したものからその値を発生する請求項９に記載された方法。 The first step of generating a value, further public key, the method according to claim 9 for generating the value from those selected from the group that contains the private key and jacobi identity.
前記第一の値に対応する前記第二の値を発生するステップは、さらにデジタルサイン値およびlie productが含まれる群から選択した値を発生する請求項９に記載された方法。 The second step of generating a value, the method according to claim 9 for generating a selected value from the group that includes the further digital signature value and lie product corresponding to the first value.
秘密キーを発生するステップは、さらに前記秘密キーを楕円曲線diffie hellman法、楕円曲線デジタル署名法が含まれている群から選択したprimitives (基本命令)に基づいて発生する請求項９に記載された方法。 The step of generating a secret key further elliptic curve diffie hellman method the secret key, according to claim 9 for generating on the basis of the primitives selected from the group that contains the elliptic curve digital signature method (basic instructions) Method.
前記秘密キーおよび既定のprimitives(基本命令)に基づいてセッションキーを発生するステップは、さらにそのセッションキーを楕円曲線diffie hellman法、楕円曲線デジタル署名法が含まれる群から選択したprimitives(基本命令)に基づいて発生する請求項９に記載された方法。 Wherein the step of generating a session key based on the secret key and default primitives (basic instructions) further selects that session key elliptic curve diffie hellman method, from the group that includes the elliptic curve digital signature method primitives (basic instructions) the method of claim 9 for generating on the basis of.
ES2265826T3 (en) 2007-03-01 System and method for document distribution.

References: Application No. 2008069338
 Application No. 20080069338
 Application No. 2009003597
 Application No. 2009003597
 Application No. 2009003597
 Application No. 2010211779
 Application No. 2010211779
 Application No. 1
 Application No. 1444168