JP5125682B2 - Key sharing system - Google Patents
Key sharing system Download PDFInfo
- Publication number
- JP5125682B2 JP5125682B2 JP2008084780A JP2008084780A JP5125682B2 JP 5125682 B2 JP5125682 B2 JP 5125682B2 JP 2008084780 A JP2008084780 A JP 2008084780A JP 2008084780 A JP2008084780 A JP 2008084780A JP 5125682 B2 JP5125682 B2 JP 5125682B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- terminal
- server
- parameter
- parameter generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、公開鍵暗号を用いて2エンティティ間において秘密情報を共有する鍵共有システムに関する。 The present invention relates to a key sharing system for sharing secret information between two entities using public key cryptography.
近年、通信による情報交換が盛んに行われており、通信秘匿のための暗号化は必須の技術である。現代暗号では、アルゴリズムを公開しても暗号の鍵を秘密にすることによって通信秘匿を実現している。そのため、暗号を用いた通信ではデータを暗号化するための鍵を、通信を行う両者でどのように共有するのかが課題となる。 In recent years, information exchange by communication has been actively performed, and encryption for concealing communication is an indispensable technology. In modern cryptography, communication secrecy is realized by keeping the cryptographic key secret even if the algorithm is disclosed. Therefore, in communication using encryption, it becomes a problem how to share a key for encrypting data between both parties performing communication.
現代暗号は、主に対称鍵暗号と公開鍵暗号に分類される。前者はDESやAESなどのブロック暗号が代表的で、送信側と受信側が予め同一の鍵を持っていることを前提とする。後者はRSA暗号が代表的で、暗号化と復号で使用する鍵が異なり、暗号化で使用する鍵は公開鍵、復号で使用する鍵は秘密鍵と呼ばれる。秘密鍵から公開鍵を生成することは容易だが、その逆は非常に困難という性質を持つ。このため、公開鍵は公開してあっても秘密鍵の漏洩がなければ公開鍵で暗号化した情報は秘密鍵を持つ者のみが復号可能である。 Modern ciphers are mainly classified into symmetric key ciphers and public key ciphers. The former is typically a block cipher such as DES or AES, and assumes that the transmitting side and the receiving side have the same key in advance. The latter is typically RSA encryption, and the keys used for encryption and decryption are different. The key used for encryption is called a public key, and the key used for decryption is called a secret key. It is easy to generate a public key from a private key, but the reverse is very difficult. For this reason, even if the public key is disclosed, if the secret key is not leaked, the information encrypted with the public key can be decrypted only by the person who has the secret key.
しかしながら、公開鍵暗号は対称暗号よりも非常に大きな計算量が必要であるため、公開鍵暗号を用いて対称鍵暗号で使用する鍵(セッション鍵と呼ばれる)を共有し、実際のデータは対称鍵暗号を用いて暗号化処理を行うことが多い。 However, since public key cryptography requires a much larger amount of computation than symmetric cryptography, the key used in symmetric key cryptography (called session key) is shared using public key cryptography, and the actual data is symmetric key. Encryption processing is often performed using encryption.
公開鍵暗号を使用する際には、公開鍵暗号で使用する演算を定義するドメインパラメータや公開鍵が正しいことを保証する必要がある。有限体上の離散対数を用いる方式の場合には、ドメインパラメータは剰余系演算を定める素数pと離散対数問題の生成元となるmod pの元g(mod p)からなり、秘密鍵x(mod q)に対して公開鍵はy=gx(mod p)と一般に定められる。ここで、qはgの位数、すなわちga=1(mod p)となる最小の自然数aである。 When using public key cryptography, it is necessary to ensure that domain parameters and public keys that define operations used in public key cryptography are correct. In the case of a method using a discrete logarithm over a finite field, the domain parameter is composed of a prime number p that determines a residue system operation and an element g (mod p) of mod p that is a generator of the discrete logarithm problem, and a secret key x (mod For q), the public key is generally defined as y = g x (mod p). Here, q is the order of g, that is, the smallest natural number a that satisfies g a = 1 (mod p).
ここでは、ドメインパラメータと公開鍵を併せて公開情報と呼ぶことにする。公開情報の正当性は、認証局による公開鍵証明書に基づく方式がよく知られている。その一方で、閉じたシステムでは、信頼できる機関から公開情報を直接入手するようにすることによって信頼性を確保することが可能となる。 Here, the domain parameter and the public key are collectively referred to as public information. As for the validity of public information, a method based on a public key certificate by a certificate authority is well known. On the other hand, in a closed system, it is possible to ensure reliability by obtaining public information directly from a reliable organization.
例えば、図8に示すような暗号通信システムのモデルはパラメータ生成手段101、サーバ102および端末103から構成される。サーバ1台に対して端末は複数存在する。各端末は直接的にはサーバとのみ通信を行う。パラメータ生成手段は端末配布時に公開鍵暗号のパラメータ、鍵情報を生成し、サーバと端末に必要な情報を設定してから、端末をユーザに渡す。パラメータ生成手段101とサーバ102は同一の装置で実現される場合もある。
For example, the model of the cryptographic communication system as shown in FIG. 8 includes parameter generation means 101,
Diffie-Hellmanアルゴリズムに基づく鍵共有方式では、十分大きな素数qに対して(p−1)がqで割り切れるような素数pを生成する。このときgq=1(mod p)となる1ではない元gが存在する。エンティティA、B間のDiffie-Hellman鍵共有は次の表1に示すように行われる。 In a key sharing scheme based on the Diffie-Hellman algorithm, a prime number p is generated such that (p−1) is divisible by q for a sufficiently large prime number q. At this time, there is an element g that is not 1 such that g q = 1 (mod p). Diffie-Hellman key sharing between entities A and B is performed as shown in Table 1 below.
表1におけるr、sが秘密鍵、gr(mod p)、gs(mod p)が公開鍵となる。両者は共通の秘密g(rs)(mod p)を共有することができ、gr(mod p)とgs(mod p)からg(rs)(mod p)を求めることは離散対数問題と同程度に難しいと考えられている。 In Table 1, r and s are secret keys, and g r (mod p) and g s (mod p) are public keys. Both can share a common secret g (rs) (mod p), and finding g (rs) (mod p) from g r (mod p) and g s (mod p) is a discrete logarithm problem. It is considered as difficult.
しかしながら、Diffie-Hellmanアルゴリズムは、gr(mod p)やgs(mod p)を盗聴して秘密情報を求める受動的な攻撃には強いが、なりすましなどの能動的な攻撃に弱いことが知られている。そこで、Diffie-Hellmanアルゴリズムを用いる際には通信相手を認証することが必須となる。 However, the Diffie-Hellman algorithm is resistant to passive attacks that eavesdrop on g r (mod p) and g s (mod p) and seeks secret information, but is vulnerable to active attacks such as spoofing. It has been. Therefore, it is essential to authenticate the communication partner when using the Diffie-Hellman algorithm.
そこで、認証付鍵共有に関しては、例えば非特許文献1に記載されている方法が知られている。
Therefore, for the key sharing with authentication, for example, a method described in Non-Patent
以下、非特許文献1に記載されている認証付鍵共有の方法を述べる。認証付鍵共有では主に認証で使用する固定鍵と、セッション鍵生成のためのみに使用する一時鍵が存在する。固定鍵はエンティティ間で事前に保持しておく秘密鍵と公開鍵で、長期にわたって保持する鍵であり、固定公開鍵を用いて相手が固定秘密鍵を持っていることを検証することが可能となり、認証を実現することができる。一方、一時鍵はDiffie-Hellmanアルゴリズムにおいてセッション鍵生成時に発生させる乱数を用いて生成する秘密鍵と公開鍵である。
The authentication key sharing method described in
固定秘密鍵が一方のみに存在する場合の鍵共有方法として、非特許文献1ではC(1,1)という方法が述べられている。C(1,1)の最初の‘1’は一時鍵の個数であり、2番目の‘1’が固定鍵の個数を表している。
Non-Patent
図9はC(1,1)におけるパラメータ生成手段の処理およびサーバと端末が持つ固定鍵に関する情報の例を示している。端末に設定する固定鍵のインデックスi=1,2,…,Lに対して次の処理を行う。 FIG. 9 shows an example of information relating to the processing of the parameter generation means in C (1,1) and the fixed key held by the server and terminal. The following processing is performed for the fixed key indexes i = 1, 2,..., L set in the terminal.
パラメータ生成手段101によって、(p(i),q(i),g(i),x(i),y(i))の組が生成され、サーバ102は、生成された (p(i),q(i),g(i),x(i),y(i))の組のリスト201を保持する。また、端末103は(p(i),g(i),y(i))の組のリスト202を保持する。
The
このように端末でサーバに対しての固定公開鍵を設定することによって、端末ではサーバのなりすましを検証することが可能となる。 By setting the fixed public key for the server at the terminal in this way, the terminal can verify the impersonation of the server.
以下、図10に基づき端末103とサーバ102とを有する通信モデルにC(1,1)を適用した場合の認証付き鍵共有の手続きを述べる。端末103はサーバ102に対して端末IDを送信する(ステップS1001)。サーバ102は端末103に対してのパラメータリストの中で使用するパラメータのインデックスiを決定し(ステップS1002)、端末103に送信する(ステップS1003)。ここで、事前に使用するパラメータのインデックスに関しての取り決めがある場合にはこれらのステップは省略することができる。
A procedure for key sharing with authentication when C (1,1) is applied to a communication model having the
端末103は乱数r(1<r<q(i))を生成し(ステップS1004)、一時公開鍵w=g(i)r(mod p(i))を求めて(ステップS1005)、サーバ102に送信する(ステップS1006)。通常は、ここでサーバ102は一時公開鍵wの正当性をチェックする処理を行う。すなわち、wは0,1ではなく、wq(i)=1(mod p(i))が成り立つことを検証する。
The
端末103はrと固定公開鍵y(i)を用いてz=y(i)r(mod p(i))=g(rx(i))(mod p(i))を計算する(ステップS1007)。生成されたzと端末−サーバ間の共有情報(公開情報でよい)であるotherinfoを入力とする鍵導出関数kdfを用いてセッション鍵k=kdf(w,otherinfo)を生成する(ステップS1008)。鍵導出関数にはハッシュ関数を適用することが望ましい。otherinfoは端末IDなど、端末固有の情報を含むようにする。ハッシュ関数を使用する場合はwとotherinfoを連接したビット列をハッシュ関数の入力とする。ハッシュ関数に関しては、例えば非特許文献2に述べられている。
The
サーバ102では受信したwを用いてZ=wx(i)(mod p(i))=grx(i)(mod p(i))を計算する(ステップS1009)。正しく処理を行えていれば端末103とサーバ102でZ=zを共有することができる。サーバ102では端末103と同一のotherinfoとZを用いて鍵導出関数kdfを用いてセッション鍵K=kを導出する(ステップS1010)。
The
図11は、サーバSでも一時秘密鍵を生成する方法を示しており、もし仮に、サーバの固定秘密鍵が漏洩した場合でも、過去のセッション鍵を求めることはできないようにすることが可能である。以下、図10と対比しての差異部分を示す。 FIG. 11 shows a method of generating a temporary secret key in the server S. If a fixed secret key of the server is leaked, it is possible to prevent a past session key from being obtained. . In the following, the difference from FIG. 10 is shown.
サーバ102でインデックスi送信後、乱数aを生成し(ステップS1104)、一時公開鍵b=g(i)a(mod p(i))を生成し(ステップS1105)、端末103に送信する(ステップS1108)。サーバ102ではC=wa(mod p(i))=g(ra)(mod p(i))を生成し(ステップS1110)、端末103はc=g(ar)(mod p(i))を生成する(ステップS1114)。正しく処理を行えていればサーバ102と端末103でC=cを共有することができる。サーバ102ではZ,Cとotherinfoを用いてセッション鍵kを導出する(ステップS1112)。同様に端末103ではz,cとotherinfoを用いてセッション鍵K=kを導出する(ステップS1115)。
After the index i is transmitted by the
また、安全な鍵共有を行うためには図12に示すような同一のセッション鍵を共有していることを双方で確認するステップが欠かせない。この確認には、メッセージ認証を使用することができる。メッセージ認証に関しては、例えば非特許文献3に述べられている共通鍵暗号を利用する方法が適用できる。 Further, in order to perform secure key sharing, a step for confirming that both share the same session key as shown in FIG. 12 is indispensable. Message authentication can be used for this confirmation. For message authentication, for example, a method using common key encryption described in Non-Patent Document 3 can be applied.
図12に示す、サーバ102におけるセッション鍵の確認手続きについて以下に説明する。セッション鍵Kの一部を共通鍵暗号用の秘密鍵K1に、残りをメッセージ認証用の秘密鍵K2に割り当てる(ステップS1201)。K2を秘密鍵として、メッセージ認証用データMac_Data_S_Tのメッセージ認証子Mを生成し(ステップS1202)、端末103に送信する(ステップS1205)。Mac_Data_S_Tはサーバ102と端末103で共有可能な公開データ、一時公開鍵やIDなどから成るデータで構成する。
A session key confirmation procedure in the
端末103から送られてきたメッセージ認証子mを鍵K2とメッセージ認証用データMac_Data_T_Sを用いて検証する(ステップS1207)。また、端末103では、上記サーバ102と同様の手順により、Mac_Data_T_Sのメッセージ認証子mを生成後、送信し、サーバ102より送られてきたメッセージ認証子Mの検証を行う。Mac_Data_T_SはMac_Data_S_Tと同様のデータであるが、両者は異なる必要がある。
The message authenticator m sent from the terminal 103 is verified using the key K2 and the message authentication data Mac_Data_T_S (step S1207). Further, the terminal 103 generates and transmits the Mac_Data_T_S message authenticator m in the same procedure as the
以上、有限体上の離散対数問題を用いた鍵共有方式を説明したが、非特許文献1が示すように有限体上の楕円曲線の有理点のなす加群を用いても同様の鍵共有を行うことができる。楕円曲線を用いることによってパラメータを小さく設定しても安全性を保つことができ、処理速度を上げることが可能となる。
As described above, the key sharing method using the discrete logarithm problem on the finite field has been described. However, as shown in
また、特許文献1では、楕円曲線上の離散対数問題に基づく暗号化方式を採用することで、鍵長サイズを削減するとともに、端末間でやり取りしたデータの正当性の検証を行う発明が記載されている。
しかしながら、ドメインパラメータや公開鍵を端末に事前に設定しておく場合、その端末は比較的長期にわたってその設定を利用することになる。そのために、攻撃者が端末のそれらの情報を入手した際には比較的長期にわたってそのドメインパラメータに対しての攻撃機会を与えることになる。 However, when domain parameters and public keys are set in advance in a terminal, the terminal uses the settings for a relatively long period of time. For this reason, when an attacker obtains the information of the terminal, an attack opportunity is given to the domain parameter for a relatively long period of time.
特許文献1においては、正当性検証により、保護はされるが、高強度セキュリティを要求されるアプリケーションにおいてはそのような状況は望ましくなく、攻撃者が端末から得られる情報は極力小さくすることが望まれる。そのためには端末には何の鍵情報も事前に格納せずに、セッション開始時に公開情報をサーバが端末に送付する方法が考えられる。
In
しかし、このときサーバのなりすましが容易に行えてしまうという課題がある。また、不正なサーバが不正なドメインパラメータを送付した場合には固定秘密鍵がたとえ漏洩していなくても安全性が損なわれる場合がある。 However, there is a problem that server impersonation can be easily performed at this time. Further, when an unauthorized server sends an unauthorized domain parameter, the security may be impaired even if the fixed secret key is not leaked.
本発明は、上記問題点に鑑みてなされたもので、端末の情報が漏洩してもドメインパラメータの情報を得ることが不可能な高強度セキュリティを実現する。 The present invention has been made in view of the above problems, and realizes high-strength security that makes it impossible to obtain domain parameter information even if terminal information leaks.
上記課題を解決するため、本発明における鍵共有システムは、公開鍵暗号のドメインパラメータおよび秘密鍵、公開鍵を端末毎に生成するパラメータ生成手段を有するパラメータ生成装置と、サーバと、端末間とで秘密情報を共有する鍵共有システムにおいて、パラメータ生成装置は、ドメインパラメータから成るビット列に対してのハッシュ値を計算するハッシュ値計算手段を有し、サーバは、端末毎にパラメータ生成装置が生成する公開鍵暗号のドメインパラメータおよび秘密鍵を含むリストを保持する第1の保持手段を備え、端末は、パラメータ生成装置が生成する公開鍵およびハッシュ値の組から成るリストを保持する第2の保持手段を備えることを特徴とする。 In order to solve the above-described problem, a key sharing system according to the present invention includes a parameter generation device having parameter generation means for generating a domain parameter, a secret key, and a public key for public key cryptography for each terminal, a server, and a terminal. In a key sharing system that shares secret information, the parameter generation device has a hash value calculation means for calculating a hash value for a bit string composed of domain parameters, and the server generates a publicly generated parameter generation device for each terminal. First holding means for holding a list including a domain parameter and a secret key of key encryption, and the terminal includes second holding means for holding a list composed of a set of a public key and a hash value generated by the parameter generation device. It is characterized by providing.
パラメータ生成装置は、ドメインパラメータから成る前記ビット列と同一長の乱数を生成して、ハッシュ値との排他的論理和を求める排他的論理和生成手段を有し、サーバは、第1の保持手段により、パラメータ生成手段が生成するドメインパラメータ、秘密鍵および排他的論理和を求めた結果を含むリストを保持し、端末は、第2の保持手段により、パラメータ生成手段が生成するハッシュ値と公開鍵に乱数を追加した組から成るリストを保持することを特徴とする。 The parameter generation device includes an exclusive OR generation unit that generates a random number having the same length as the bit string including the domain parameter and obtains an exclusive OR with the hash value, and the server uses the first holding unit. , Holding the list including the domain parameter generated by the parameter generating means, the secret key, and the result of obtaining the exclusive OR, and the terminal uses the second holding means to generate the hash value and the public key generated by the parameter generating means. It is characterized by holding a list consisting of a set with random numbers added.
パラメータ生成装置は、有限体上の離散対数問題に基づくアルゴリズムを利用し、パラメータを生成することを特徴とする。 The parameter generation device is characterized by generating parameters using an algorithm based on a discrete logarithm problem over a finite field.
パラメータ生成装置は、有限体係数の楕円曲線上の離散対数問題に基づくアルゴリズムを利用し、パラメータを生成することを特徴とする。 The parameter generation device uses an algorithm based on a discrete logarithm problem on an elliptic curve with a finite field coefficient to generate a parameter.
サーバ及び端末は、回線装置の暗号化のための補助手段として動作することを特徴とする。 The server and the terminal operate as auxiliary means for encrypting the line device.
サーバは、第1の保持手段により、回線装置に付随するパスワードデータを保持し、端末は、回線装置に対するパスワードを外部から取り込むパスワード入力手段を備え、パスワードを含むデータを用いてセッション鍵を導出することを特徴とする。 The server holds password data associated with the line device by the first holding means, and the terminal has password input means for taking in a password for the line device from the outside, and derives a session key using the data including the password It is characterized by that.
パラメータ生成装置は、サーバ上に組み込まれていることを特徴とする。 The parameter generation device is incorporated on a server.
本発明により、端末の情報が漏洩しても攻撃者はドメインパラメータの情報を得ることができないため、事前の攻撃は不可能である。さらに、端末がドメインパラメータのハッシュ値を持つことによって不正なサーバから不正なパラメータを送付された場合でもチェックすることが可能となる。また、端末が公開鍵を予め格納しておくことにより、共有セッション鍵を検証する過程において固定秘密鍵を持たない不正なサーバをチェックすることが可能となる。さらに、サーバと端末間でドメインパラメータを分散保持し、セッション開始時にはサーバは分散情報のみを送ることによって通信路上の情報のみからはドメインパラメータを求めることは不可能となる。また、既存の回線装置やそれに付随するパスワードを組み合わせることによって端末(ユーザ)の識別を可能にすることができる。 According to the present invention, even if terminal information is leaked, an attacker cannot obtain domain parameter information, so a prior attack is impossible. Further, since the terminal has a hash value of the domain parameter, it is possible to check even when an invalid parameter is sent from an unauthorized server. In addition, since the terminal stores the public key in advance, it is possible to check an unauthorized server that does not have a fixed secret key in the process of verifying the shared session key. Furthermore, domain parameters are distributed and held between the server and the terminal, and when the session starts, the server sends only the distributed information, so that it is impossible to obtain the domain parameters only from the information on the communication path. Further, a terminal (user) can be identified by combining an existing line device and a password associated therewith.
本発明ではサーバと端末の安全性は大きく異なる状況を想定する。つまり、サーバは安全な場所にあり、秘密情報の漏洩や不正な処理などのリスクは非常に小さいと仮定する一方、端末は盗難や情報流出の危険性が高いと仮定する。このようなモデルでは端末に固定秘密鍵を設定しても有効性は低いため、サーバのみに固定秘密鍵を設定する方法が適している。 In the present invention, it is assumed that the security of the server and the terminal are greatly different. In other words, it is assumed that the server is in a safe place and the risk of leakage of secret information and illegal processing is very small, while the terminal is highly risk of theft and information leakage. In such a model, even if a fixed secret key is set in the terminal, its effectiveness is low. Therefore, a method of setting the fixed secret key only in the server is suitable.
図1は、本発明の実施形態におけるパラメータ生成手段101の動作と、サーバ102および端末103が保持する情報を示している。パラメータ生成手段101は端末が与えられたときに公開鍵パラメータリストのインデックスi=1,2,..,Lに対して次の処理を行う。ここでLはその端末に対するパラメータの個数の上限である。
FIG. 1 shows the operation of the
ドメインパラメータp(i),g(i)およびq(i),秘密鍵x(i),公開鍵y(i)を生成する。次に、p(i)とg(i)を連接したビット列であるp(i)||g(i)を入力データとするハッシュ値h(i)=Hash(p(i)||g(i))を求める。サーバ102は従来技術と同様にp(i),g(i),q(i),x(i),y(i)を格納する。端末103にはハッシュ値h(i)と公開鍵y(i)のみを格納する。
Domain parameters p (i), g (i) and q (i), secret key x (i), and public key y (i) are generated. Next, a hash value h (i) = Hash (p (i) || g () using p (i) || g (i), which is a bit string obtained by concatenating p (i) and g (i), as input data. i)). The
次に図2を用いて、本発明の実施形態におけるサーバ102と端末103の間での鍵共有の手続きを示す。従来技術と同様に、端末103はサーバ102に対して端末IDを送信し(ステップS1001)、サーバ102は103に対してのパラメータリストの中で使用するパラメータのインデックスiを決定する(ステップS1002)。
Next, the procedure for key sharing between the
サーバ102は、インデックスiと対応するp=p(i)およびg=g(i)を連接したビット列p||gを求め、送信する(ステップS201、S202)。端末103では受信したp||gに対してハッシュ値Hash(p||g)を計算し、格納しているh(i)と比較する(ステップS203)。一致していない場合は不正なパラメータが送付されたとして鍵共有処理を終了する。p,gの正当性が確認できたら従来通りの鍵共有処理を行う(図10におけるステップS1003からステップS1009と同様の処理を実行)。
The
本発明のようにp,gを端末に格納しないことによって、端末が盗難されて情報が漏洩したとしてもハッシュ値h(i)と公開鍵y(i)のみが漏洩するだけで攻撃者はp(i)やg(i)の情報を得ることは無いため特定パラメータの離散対数問題の攻撃の機会を与えることはない。また、不正なサーバがなりすまして不正なパラメータを送付した場合にはハッシュ値h(i)によって確かめることができる。また、不正なサーバが一度送付されたインデックスi,p(i),g(i)をコピーしておき再度送信する応答攻撃に対しては不正なサーバは秘密鍵x(i)を保有していないため、Diffie-Hellmanのアルゴリズムにおいて端末と同一のセッション鍵を生成することができないため、図1に示したようなセッション鍵の共有確認処理によって安全性を保つことができる。 By not storing p and g in the terminal as in the present invention, even if the terminal is stolen and information is leaked, only the hash value h (i) and the public key y (i) are leaked. Since the information of (i) and g (i) is not obtained, there is no opportunity for attack of the discrete logarithm problem with specific parameters. Further, when an illegal server impersonates and sends an invalid parameter, it can be confirmed by the hash value h (i). In addition, for a response attack in which an index i, p (i), g (i) once sent by an unauthorized server is copied and sent again, the unauthorized server has a secret key x (i). Therefore, the Diffie-Hellman algorithm cannot generate the same session key as that of the terminal, and thus security can be maintained by the session key sharing confirmation process as shown in FIG.
図3は、図11にて説明した、サーバでも一時秘密鍵を生成する鍵共有方式に対して本発明を組み合わせた動作を示す図である。本発明によって図11に示したサーバの固定秘密鍵x(i)漏洩時でも過去のセッション鍵の秘匿と、端末情報漏洩時の安全性向上を実現可能となる。処理手順については、インデックスi決定後(ステップS1102)、上記で説明したステップS201からS203を行い、その後の動作は、図11で説明したステップS1104からS1115と同様である。 FIG. 3 is a diagram showing an operation in which the present invention is combined with the key sharing method for generating a temporary secret key even in the server described in FIG. According to the present invention, the past session key can be concealed and the security can be improved when the terminal information is leaked even when the fixed secret key x (i) of the server shown in FIG. 11 is leaked. As for the processing procedure, after the index i is determined (step S1102), the above-described steps S201 to S203 are performed, and the subsequent operations are the same as the steps S1104 to S1115 described in FIG.
図4は、本発明の他の実施形態であり、p(i)||g(i)を乱数でバーナム暗号化(秘密分散)した形で送付することによって、通信路を盗聴しただけではp(i)とg(i)の情報を得ることができないようにした方法である。以下、パラメータ生成手段101の処理について詳細に説明する。
FIG. 4 shows another embodiment of the present invention. By sending p (i) || g (i) in the form of Barnum encryption (secret sharing) with a random number, it is only possible to eavesdrop on the communication path. In this method, information on (i) and g (i) cannot be obtained. Hereinafter, the process of the
従来と同様にドメインパラメータp(i),g(i),q(i)および秘密鍵x(i)と公開鍵y(i)を生成後、図1と同様にハッシュ値h(i)=Hash(p(i)||g(i))を生成する。次に、p(i)||g(i)と同一長の乱数R(i)を生成し、U(i)=R(i)+(p(i)||g(i))を計算する。ここで、‘+’は排他的論理和を示す。このとき、パラメータ生成手段101はサーバ102には公開情報と秘密鍵に加えてU(i)を、端末103にはh(i),y(i)とR(i)を設定する。
The domain parameters p (i), g (i), q (i), the secret key x (i) and the public key y (i) are generated as before, and the hash value h (i) = Generate Hash (p (i) || g (i)). Next, generate a random number R (i) of the same length as p (i) || g (i) and calculate U (i) = R (i) + (p (i) || g (i)) To do. Here, “+” indicates exclusive OR. At this time, the
図5は、図11で示した鍵共有方式に対して、本実施形態を適用した場合の鍵共有処理の手続きを示している。以下、図10にしたがって鍵共有処理の説明を行う。 FIG. 5 shows a key sharing process procedure when the present embodiment is applied to the key sharing method shown in FIG. The key sharing process will be described below with reference to FIG.
まず、従来と同様に端末103は端末IDをサーバ102に送信し(ステップS1101)、サーバ102はパラメータのインデックスiを決定する(ステップS1102)。サーバ102はインデックスiとU(i)を端末103に送信する(ステップS501)。端末103は受信したU(i)と格納しているR(i)からR(i)+U(i)を計算し、p||gに割り当て(ステップS502)、端末103はハッシュ値h=Hash(p||g)を計算し、格納しているh(i)と比較する(ステップS503)。一致していない場合は不正なパラメータが送付されたとして鍵共有処理を終了する。p,gの正当性が確認できたら従来通りの鍵共有処理を行う(図11におけるステップS1104からステップS1115と同様の処理を実行)。
First, the terminal 103 transmits the terminal ID to the server 102 (step S1101) as in the conventional case, and the
本実施形態における方法を用いることによって、通信路上のデータを取得するだけではp(i), g(i)を得ることは不可能となり、安全性を高めることが可能となる。 By using the method in the present embodiment, it is impossible to obtain p (i) and g (i) simply by acquiring data on the communication path, and it is possible to improve safety.
以上、本発明は有限体上の離散対数問題を用いた鍵共有方式を説明したが、非特許文献1が示すように有限体上の楕円曲線の有理点のなす加群を用いても同様の鍵共有を行うことができる。楕円曲線を用いることによってパラメータを小さく設定しても安全性を保つことができ、処理速度を上げることが可能となる。
As described above, the present invention has explained the key sharing method using the discrete logarithm problem on a finite field. However, as shown in
また、本発明で想定するような端末に格納した情報が漏洩するリスクが高いことを想定するモデルでは端末のなりすましに対して防御することは困難となる。そこで端末側の安全性を高めるためには他の手段を併用する必要がある。 In addition, it is difficult to protect against terminal impersonation in a model that assumes a high risk of leakage of information stored in the terminal as assumed in the present invention. Therefore, in order to increase the safety on the terminal side, it is necessary to use other means in combination.
図6は、例えば本発明を電話などの従来の回線装置の補助手段として利用する形態を示している。図6でサーバ102および端末103は本発明における鍵共有を行う端末で、通信を行う電話機などの回線端末601、602の補助手段として機能する。端末103に付属する回線装置は、例えば携帯電話が利便性に優れている。
FIG. 6 shows a form in which the present invention is used as auxiliary means for a conventional line device such as a telephone. In FIG. 6, a
図6に示すように回線装置の補助手段と本発明を利用することで、従来の回線システムによって回線装置が特定できるため、端末側で利用できる電話機を特定しておくことによって、端末自体のなりすましの防止は難しいが不特定の電話機での使用はできなくなるために安全性の向上を図ることが可能となる。 As shown in FIG. 6, since the line device can be specified by the conventional line system by using the auxiliary means of the line device and the present invention, the terminal itself can be impersonated by specifying the telephone that can be used on the terminal side. Although it is difficult to prevent this, it cannot be used with an unspecified telephone, so that safety can be improved.
図6の回線装置を併用した方式の安全性を更に向上させることは、回線装置(電話機)とユーザを対応づけてユーザによるパスワード認証を行うことによって実現できる。この場合、図7に示すように、サーバ102は公開鍵暗号のドメインパラメータや鍵情報等の他に端末側の回線装置のID(電話番号)と対応するパスワードリスト702を保持する。端末側ではユーザは利用時にパスワード701を入力する必要がある。パスワードの認証は、図11に示した鍵導出関数の入力となるサーバ-端末間の共有情報otherinfoに含めることで実現可能である。パスワードが一致しない場合は導出されるセッション鍵は一致しないため、通常のセッション鍵共有の確認過程に含める形でユーザ認証が可能になる。
6 can be further improved by associating the line device (telephone) with the user and performing password authentication by the user. In this case, as shown in FIG. 7, the
また、例えばNIST Special Publication (SP) 800-57, 「Recommendati for Key Management」2006年を参考に高度な安全性を実現するためのパラメータ設定が可能である。非特許文献3によると、2030年まで利用する場合に推奨される離散対数のパラメータの値pが2048ビット、qが224ビットとなる。また、使用するハッシュ関数は非特許文献2に記載されているSHA−224、SHA−256、SHA−384、SHA−512のいずれかとなる。本実施形態については、SHA−256を用いることとする。
In addition, for example, NIST Special Publication (SP) 800-57, “Recommendati for Key Management” 2006 can be used to set parameters to achieve a high level of safety. According to Non-Patent Document 3, the discrete logarithm parameter value p recommended for use up to 2030 is 2048 bits and q is 224 bits. The hash function to be used is any one of SHA-224, SHA-256, SHA-384, and SHA-512 described in
共通鍵暗号は鍵長128ビットのAES、セッション鍵共有確認のためのメッセージ認証も128ビットのAESを用いて非特許文献3の方式を適用すると、図11の鍵導出関数kdf()は2048ビットのDiffie-Hellmanアルゴリズムによる共有情報とotherinfoを連接したビット列をSHA−256に入力してハッシュ値を求めることになる。 When the scheme of Non-Patent Document 3 is applied using symmetric key encryption with AES having a key length of 128 bits and message authentication for confirming session key sharing using 128 bits with AES, the key derivation function kdf () in FIG. A hash value is obtained by inputting a bit string obtained by concatenating the shared information by the Diffie-Hellman algorithm and otherinfo to SHA-256.
図7のようにユーザのパスワードも利用する場合には、更にパスワードを連接したビット列をSHA−256の入力とする。SHA−256の出力の256ビットに対して、前半128ビットをデータ暗号化に利用するAESの秘密鍵K1に、後半128ビットをメッセージ認証用の秘密鍵K2として利用する。図1で示した、本発明におけるp||gに対するハッシュ値の生成にも前述のSHA−256を利用することができる。 When a user password is also used as shown in FIG. 7, a bit string concatenated with the password is further input to SHA-256. For the 256 bits of the output of SHA-256, the first 128 bits are used as the AES private key K1 used for data encryption, and the second 128 bits are used as the message authentication private key K2. The above-described SHA-256 can also be used to generate a hash value for p || g in the present invention shown in FIG.
パラメータのリストのサイズは、例えば2年間毎日変更する場合、図1の端末が保持するデータ量はハッシュ値256ビットと公開鍵2048ビットのペアが712個となり、約1.64メガビットのデータ量となる。 For example, when the parameter list size is changed every day for two years, the amount of data held by the terminal in FIG. 1 is 712 pairs of 256 bits of hash value and 2048 bits of public key, and the amount of data is about 1.64 megabits. Become.
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。 The present invention has been described above by the preferred embodiments of the present invention. While the invention has been described with reference to specific embodiments, various modifications and changes may be made to the embodiments without departing from the broad spirit and scope of the invention as defined in the claims. Obviously you can.
101 パラメータ生成手段
102 サーバ
103 端末
104、105 回線装置
701 パスワード
101 Parameter generation means 102
Claims (7)
前記パラメータ生成装置は、前記ドメインパラメータから成るビット列に対してのハッシュ値を計算するハッシュ値計算手段を有し、
前記サーバは、前記端末毎に前記パラメータ生成装置が生成する公開鍵暗号のドメインパラメータおよび秘密鍵を含むリストを保持する第1の保持手段を備え、
前記端末は、前記パラメータ生成装置が生成する前記公開鍵および前記ハッシュ値の組から成るリストを保持する第2の保持手段を備えることを特徴とする鍵共有システム。 In a key sharing system for sharing secret information between a parameter generation device having a domain parameter and a secret key of public key cryptography, a parameter generation unit that generates a public key for each terminal, a server, and the terminal,
The parameter generation device has hash value calculation means for calculating a hash value for a bit string composed of the domain parameters,
The server includes first holding means for holding a list including domain parameters and secret keys of public key cryptography generated by the parameter generation device for each terminal,
The key sharing system, wherein the terminal includes a second holding unit that holds a list including a set of the public key and the hash value generated by the parameter generation device.
前記サーバは、前記第1の保持手段により、前記パラメータ生成手段が生成する前記ドメインパラメータ、前記秘密鍵および前記排他的論理和を求めた結果を含むリストを保持し、
前記端末は、前記第2の保持手段により、前記パラメータ生成手段が生成する前記ハッシュ値と前記公開鍵に前記乱数を追加した組から成るリストを保持することを特徴とする請求項1記載の鍵共有システム。 The parameter generation device has an exclusive OR generation means for generating an exclusive OR with the hash value by generating a random number having the same length as the bit string composed of domain parameters,
The server holds a list including the domain parameter generated by the parameter generation unit, the secret key, and a result of obtaining the exclusive OR by the first holding unit,
2. The key according to claim 1, wherein the terminal holds a list including a set obtained by adding the random number to the hash value generated by the parameter generation unit and the public key by the second holding unit. Shared system.
前記端末は、前記回線装置に対するパスワードを外部から取り込むパスワード入力手段を備え、前記パスワードを含むデータを用いてセッション鍵を導出することを特徴とする請求項5記載の鍵共有システム。 The server holds password data associated with the line device by the first holding means,
6. The key sharing system according to claim 5, wherein the terminal includes password input means for fetching a password for the line device from the outside, and derives a session key using data including the password.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008084780A JP5125682B2 (en) | 2008-03-27 | 2008-03-27 | Key sharing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008084780A JP5125682B2 (en) | 2008-03-27 | 2008-03-27 | Key sharing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009239737A JP2009239737A (en) | 2009-10-15 |
JP5125682B2 true JP5125682B2 (en) | 2013-01-23 |
Family
ID=41253132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008084780A Expired - Fee Related JP5125682B2 (en) | 2008-03-27 | 2008-03-27 | Key sharing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5125682B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5440285B2 (en) * | 2010-03-15 | 2014-03-12 | 日本電気株式会社 | Key sharing method, key sharing method, and key sharing program |
JP2013207376A (en) * | 2012-03-27 | 2013-10-07 | Toshiba Corp | Information processing device and program |
CN114024623B (en) * | 2021-11-03 | 2023-06-30 | 中南大学 | Active defense method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002287628A (en) * | 2001-03-23 | 2002-10-04 | Seiko Epson Corp | Electronic signature method and apparatus |
US7509495B2 (en) * | 2003-07-10 | 2009-03-24 | Cinnober Financial Technology, Ab | Authentication protocol |
JP2005176144A (en) * | 2003-12-12 | 2005-06-30 | Ntt Docomo Inc | Terminal device, communication system and communication method |
JP2006129080A (en) * | 2004-10-28 | 2006-05-18 | Canon Inc | Data processing apparatus and method thereof |
JP4610421B2 (en) * | 2005-06-20 | 2011-01-12 | 株式会社エヌ・ティ・ティ・ドコモ | Wireless network system, call control device, terminal device, and call signal generation method |
JP4575251B2 (en) * | 2005-07-25 | 2010-11-04 | 株式会社東芝 | Digital signature generation apparatus, digital signature verification apparatus, digital signature generation method, digital signature verification method, digital signature generation program, and digital signature verification program |
-
2008
- 2008-03-27 JP JP2008084780A patent/JP5125682B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009239737A (en) | 2009-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10211981B2 (en) | System and method for generating a server-assisted strong password from a weak secret | |
JP3560439B2 (en) | Device for performing encryption key recovery | |
US7730309B2 (en) | Method and system for key management in voice over internet protocol | |
CN108199835B (en) | Multi-party combined private key decryption method | |
JP5845393B2 (en) | Cryptographic communication apparatus and cryptographic communication system | |
US11874935B2 (en) | Protecting data from brute force attack | |
US10057060B2 (en) | Password-based generation and management of secret cryptographic keys | |
WO2009062451A1 (en) | Method, system and equipment for key distribution | |
JP2003298568A (en) | Authenticated identification-based cryptosystem with no key escrow | |
JP2012019511A (en) | System and method of safety transaction between wireless communication apparatus and server | |
JP2022540653A (en) | Data protection and recovery system and method | |
CN101277186B (en) | Method for implementing exterior authentication using asymmetry key algorithm | |
JP2016522637A (en) | Secured data channel authentication that implies a shared secret | |
JP5125682B2 (en) | Key sharing system | |
KR20070096073A (en) | Method for mutual authenticating and key exchanging to public key without trusted third party and apparatus thereof | |
Azaim et al. | Design and implementation of encrypted SMS on Android smartphone combining ECDSA-ECDH and AES | |
JPH04247737A (en) | Enciphering device | |
KR101347821B1 (en) | Authentication method for device | |
KR101793528B1 (en) | Certificateless public key encryption system and receiving terminal | |
JP2009065226A (en) | Authenticated key exchange system, authenticated key exchange method and program | |
JP5440285B2 (en) | Key sharing method, key sharing method, and key sharing program | |
CN113014376A (en) | Method for safety authentication between user and server | |
JP2015186101A (en) | Key exchange device and key exchange method | |
US11930117B2 (en) | Method and apparatus for reversible tokenization with support for embeddable role-based access control | |
CN115150062B (en) | SM9 digital signature generation method and system with signature production data controlled safely |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110114 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20110920 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120921 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121002 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121015 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5125682 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151109 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |