JPH08204696A - Authentication method in communication system having plural equipments - Google Patents

Authentication method in communication system having plural equipments

Info

Publication number
JPH08204696A
JPH08204696A JP7008184A JP818495A JPH08204696A JP H08204696 A JPH08204696 A JP H08204696A JP 7008184 A JP7008184 A JP 7008184A JP 818495 A JP818495 A JP 818495A JP H08204696 A JPH08204696 A JP H08204696A
Authority
JP
Japan
Prior art keywords
authentication
secret
certifier
distributed
side device
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.)
Granted
Application number
JP7008184A
Other languages
Japanese (ja)
Other versions
JP3610106B2 (en
Inventor
Seresedo Manueru
マヌエル・セレセド
Keiichi Iwamura
恵市 岩村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to JP17848394A priority Critical patent/JP3604737B2/en
Priority to JP00818495A priority patent/JP3610106B2/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to EP95305211A priority patent/EP0695056B1/en
Priority to AU27198/95A priority patent/AU702563B2/en
Priority to DE69534192T priority patent/DE69534192T2/en
Priority to AT95305211T priority patent/ATE295644T1/en
Priority to US08/507,524 priority patent/US5708714A/en
Priority to CN 95115810 priority patent/CN1092434C/en
Priority to CA002154970A priority patent/CA2154970C/en
Priority to KR1019950023701A priority patent/KR0148300B1/en
Publication of JPH08204696A publication Critical patent/JPH08204696A/en
Priority to HK98112822A priority patent/HK1011809A1/en
Application granted granted Critical
Publication of JP3610106B2 publication Critical patent/JP3610106B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE: To provide a distributed authentication server having the same authentication function as that of a centralized management type authentication server and realizing high fault tolerance. CONSTITUTION: In the communication system including a device 14 being a distributed authentication server, a authentication receiver 15 requesting authentication sends a authentication request message including identifier of a authentication receiver and that of a authentication server to each device 14 of the distributed authentication server and each device 14 of the distributed authentication server generates a ciphered authentication identifier by a secret key relating to the authentication receiver based on the authentication request message in the common. Then the authentication message is generated by ciphering the authentication identifier with a secret key relating to the authentication receiver and each device 14 of the distributed authentication server sends the authentication message to the authentication receiver 15. Then the authentication receiver 15 receiving the authentication message decodes the authentication message and sends the obtained authentication identifier to the authentication server 15, and the authentication server 15 receiving the authentication identifier decodes the authentication identifier to verify the authentication receiver.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、通信路によって複数の
装置が接続された通信システムに関し、特に、認証を複
数の装置で分散して行う通信システムにおける認証方法
に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a communication system in which a plurality of devices are connected by a communication path, and more particularly to an authentication method in a communication system in which a plurality of devices distribute authentication.

【0002】[0002]

【従来の技術】従来、多くの通信システムでは、情報を
パケットと呼ばれるデータブロック単位で伝達する。パ
ケットは、指定した宛先に伝達した場合でも、通信シス
テムを構成する全ての装置(のユーザ)がそのパケット
を受信することができる。また、複数の装置が同じ通信
路を介して接続されているために、パケットの送信元を
特定することは困難である。このため、このような通信
システムでは、別の宛先に対するパケットを不正に入手
する「盗聴」と、ある装置を別の装置に見せかける「な
りすまし」という攻撃にさらされやすい。
2. Description of the Related Art Conventionally, in many communication systems, information is transmitted in data block units called packets. Even when the packet is transmitted to the designated destination, all devices (users of the devices) included in the communication system can receive the packet. Moreover, since a plurality of devices are connected via the same communication path, it is difficult to specify the transmission source of the packet. Therefore, in such a communication system, it is easy to be exposed to "sniffing" that illegally obtains a packet to another destination and "spoofing" that makes one device appear to another device.

【0003】この盗聴となりすましの脅威を和らげるた
めに、公開鍵暗号方式(池野、小山: "現代暗号理論"
、電子通信学会、1986 参照)と呼ばれる暗号技術を
用いた手法が知られている。公開鍵暗号方式の中には、
RSA暗号のように、暗号化機能の他に「ディジタル署
名」と呼ばれる認証機能を持つものがあり、これを用い
て署名付きで暗号通信を行うことで、盗聴やなりすまし
を防止することができる。
In order to mitigate this threat of eavesdropping and spoofing, public key cryptosystems (Ikeno, Koyama: "Modern cryptography")
, The Institute of Electronics and Communication Engineers, 1986) is known. Some public key cryptosystems include
Some RSA encryptions have an authentication function called "digital signature" in addition to the encryption function. By using this, encrypted communication with a signature can be performed to prevent eavesdropping and spoofing.

【0004】また、盗聴となりすましの脅威を和らげる
他の対策として、計算量の少ない共通鍵暗号方式による
ケルベロス(kerberos:S.Garfinkel and G.Spafford共
著/山口英 監訳: "UNIXセキュリティ" 、アスキ
ー、pp.349-357,pp.535-542,1993 参照)と呼ばれるネ
ットワークにおける認証方式がよく知られている。
Further, as another countermeasure for mitigating the threat of eavesdropping and spoofing, Kerberos (co-authored by S. Garfinkel and G. Spafford by kerberos: S. Garfinkel and G. Spafford, translated by Hide Yamaguchi, "UNIX Security", ASCII, pp.349-357, pp.535-542, 1993) is a well-known network authentication method.

【0005】以下に、Needham とSchroeder の認証プロ
トコル(R.N.Needham and M.D.Schroeder: "Using Encr
yption for Authentication in Large Network of Comp
uters",CACM 21, 12, pp.993-999. Dec. 1978 参照)と
Birrell のSecure RPC(Remote Procedure Call) プロト
コル(A.D.Birrell: "Secure Comunications Using Remo
te Procedure Calls", ACM Trans.on Computer System
s, Vol.3. No.1, pp.1-14,Feb. 1985 参照)に基づく
具体的なケルベロスの認証プロトコルを説明する。
Below, the authentication protocol of Needham and Schroeder (RNNeedham and MDSchroeder: "Using Encr
yption for Authentication in Large Network of Comp
uters ", CACM 21, 12, pp.993-999. Dec. 1978))
Birrell's Secure RPC (Remote Procedure Call) Protocol (ADBirrell: "Secure Comunications Using Remo
te Procedure Calls ", ACM Trans.on Computer System
s, Vol.3. No.1, pp.1-14, Feb. 1985)).

【0006】通常、ケルベロスには、その通信システム
の全装置の秘密情報(秘密鍵に相当する)を管理する認
証サーバが存在する。まず、認証サーバは、図16の
(a) に示すように、各装置iと秘密鍵pkiを共有す
る。以下、証明を求めるものを証明者、証明者を認証す
るものを認証者と呼ぶものとする。
Generally, in Kerberos, there is an authentication server that manages secret information (corresponding to a secret key) of all devices of the communication system. First, the authentication server is shown in FIG.
As shown in (a), each device i shares a secret key pki. Hereinafter, a person who requests proof is called a prover, and a person who authenticates the prover is called a certifier.

【0007】図16の(b) に示すように、証明者Aが認
証者Bに証明を求める場合、Aは{A,B,R}のよう
な形式のデータ161を認証サーバに送る。但し、Aと
Bは装置またはユーザネームのような証明者Aと認証者
Bを特定するための公開識別情報であり、 Rはランダ
ムに選ばれた数である。
As shown in FIG. 16 (b), when the prover A requests the certifier B for proof, A sends data 161 in the format {A, B, R} to the authentication server. However, A and B are public identification information for identifying the prover A and the authenticator B, such as a device or user name, and R is a randomly selected number.

【0008】これに対し、認証サーバは、{認証子,
R,B,CK}^pkAというデータ162をAに返
す。但し、{M}^kは、メッセージMを鍵kで暗号化
したデータであることを示し、認証子は、タイムスタン
プTを用いて{T,A,CK}^pkBのように構成さ
れているデータ163であり、CKは、以降のA、B間
の共通鍵暗号通信に用いる認証サーバによって生成され
た共通鍵である。
On the other hand, the authentication server is {authenticator,
The data 162 of R, B, CK} ^ pkA is returned to A. However, {M} ^ k indicates that the message M is data encrypted with the key k, and the authenticator is configured as {T, A, CK} ^ pkB using the time stamp T. The data 163 is CK, and CK is a common key generated by an authentication server used for common key cryptographic communication between A and B thereafter.

【0009】以後、証明者と認証者の間で共通鍵暗号通
信を行う時の秘密の共通鍵を会話鍵と呼ぶことにする。
従って、認証サーバは、会話鍵の配送サーバとしての役
割も果たす。最後に、証明者Aは前述した認証子163
を認証者Bに送り、Bは認証子を自分の秘密のマスター
鍵pkBで複合することにより、Aを認証し、その後の
後、共通の会話鍵CKを用いて暗号通信を行う。
Hereinafter, a secret common key used for common key cryptographic communication between a prover and an authenticator will be referred to as a conversation key.
Therefore, the authentication server also serves as a conversation key delivery server. Finally, the prover A is the authenticator 163 described above.
To the authenticator B, and B authenticates A by compounding the authenticator with its own secret master key pkB, and thereafter performs encrypted communication using the common conversation key CK.

【0010】以上のようにして、ケルベロスを用いた認
証プロトコルにより盗聴やなりすましの脅威を和らげる
ことができる。
As described above, the authentication protocol using Kerberos can mitigate the threat of eavesdropping and spoofing.

【0011】[0011]

【発明が解決しようとしている課題】しかしながら、公
開鍵暗号方式では、512ビット以上の大きな整数のべ
き乗剰余演算を行う必要があり、計算量が膨大になると
いう問題点がある。
However, in the public key cryptosystem, it is necessary to carry out a modular exponentiation operation of a large integer of 512 bits or more, and there is a problem that the amount of calculation becomes enormous.

【0012】また、共通鍵方式におけるケルベロスのよ
うなプロトコルでは、認証サーバが通信システムを構成
する全ての装置の秘密情報を管理するために、物理的な
意味も含めて、完全に信頼できる認証サーバを必要とす
るという問題がある(同様に、公開鍵暗号方式の場合
も、全ての公開鍵を管理する集中管理センタが必要であ
り、同じ問題点を持つ)。よって、セキュリティを万全
のものとするためには、認証サーバを許可のない人間が
勝手に入り込めない施錠された部屋などで厳重に管理す
る必要があった。また、その認証サーバが故障や犯罪な
どによって信頼できなくなった場合には、そのシステム
全体の安全性が崩壊するといったフォールトトレランス
が弱いという問題点があった。
Further, in a protocol such as Kerberos in the common key system, the authentication server manages the secret information of all the devices constituting the communication system, so that the authentication server including the physical meaning is completely reliable. Is required (also in the case of the public key cryptosystem, a centralized management center that manages all public keys is required, and has the same problem). Therefore, in order to ensure the security, it is necessary to strictly manage the authentication server in a locked room or the like where unauthorized persons cannot enter. Further, when the authentication server becomes unreliable due to a failure or a crime, there is a problem that the fault tolerance is weak such that the safety of the entire system is destroyed.

【0013】そこで、このような認証サーバの信頼性の
問題を解決するために、本発明では、複数の装置によっ
て、秘密情報を分散管理する分散認証サーバを提案す
る。
Therefore, in order to solve the problem of the reliability of the authentication server, the present invention proposes a distributed authentication server in which secret information is distributed and managed by a plurality of devices.

【0014】この分散認証サーバに対する要求は、以下
のようなものである。 (1) 証明者や認証者に対して、分散認証プロトコルは、
従来の集中管理による認証プロトコルと同一の認証機能
を実現する。 (2) 証明者や認証者に対して、分散認証プロトコルは、
従来の集中管理による認証プロトコルと同じインターフ
ェース(データ形式)を保証する。 (3) 証明者や認証者に対して、分散認証プロトコルは、
従来の集中管理による認証プロトコルと同じ計算量で実
現される。 (4) 分散認証サーバを構成する装置の過半数が信頼でき
ない場合を除いて、上記の要求が満足される。
The request to the distributed authentication server is as follows. (1) For certifiers and certifiers, the distributed authentication protocol is
It realizes the same authentication function as the conventional centralized authentication protocol. (2) For the prover and the certifier, the distributed authentication protocol is
Guarantees the same interface (data format) as the conventional centralized authentication protocol. (3) For certifiers and certifiers, the distributed authentication protocol is
It is realized with the same amount of calculation as the conventional centralized authentication protocol. (4) The above requirements are satisfied, except when the majority of the devices that make up the distributed authentication server are not reliable.

【0015】[0015]

【課題を解決するための手段】上述の課題を解決するた
めに、本発明の認証方法によれば、分散認証サーバを構
成する複数の装置を含む複数の装置が接続された通信シ
ステムにおいて、認証者側装置に認証されることを求め
る証明者側装置が、分散認証サーバを構成する各装置
に、証明者及び認証者の識別子を含む認証要求メッセー
ジを送信し、分散認証サーバを構成する各装置が共同し
て、前記認証要求メッセージに基づいて、認証者に関す
る秘密鍵で暗号化された認証子を生成し、該認証子を証
明者に関する秘密鍵で暗号化して認証メッセージを生成
し、分散認証サーバを構成する各装置が、前記認証メッ
セージを前記証明者側装置に送信し、分散認証サーバを
構成する各装置が、前記認証メッセージを前記証明者側
装置に送信し、前記認証メッセージを受信した前記証明
者側装置が、当該認証メッセージを復号し、得られた認
証子を前記認証者側装置に送信し、前記認証子を受信し
た前記認証者側装置が、該認証子を復号して証明者を認
証する。
In order to solve the above problems, according to the authentication method of the present invention, an authentication is performed in a communication system in which a plurality of devices including a plurality of devices constituting a distributed authentication server are connected. Each device that constitutes the distributed authentication server, in which the certifier side device that is required to be authenticated by the certifier side device sends an authentication request message including the certifier and the identifier of the certifier to each device that constitutes the distributed authentication server. Jointly generate an authenticator encrypted with a private key related to the authenticator based on the authentication request message, generate an authentication message by encrypting the authenticator with a private key related to the prover, and perform distributed authentication. Each device constituting the server sends the authentication message to the certifier side device, each device constituting the distributed authentication server sends the authentication message to the certifier side device, The certifier side device that receives the certification message decrypts the authentication message, transmits the obtained certifier to the certifier side device, and the certifier side device that receives the certifier uses the certifier To authenticate the prover.

【0016】[0016]

【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0017】[実施例1]図1は、本発明の1実施例で
ある、分散した情報処理装置を有する情報処理システム
を示す図である。
[First Embodiment] FIG. 1 is a diagram showing an information processing system having distributed information processing devices according to a first embodiment of the present invention.

【0018】同図において、14は、分散認証サーバを
構成する装置(以後、メンバと呼ぶ)AS(1),…, AS
(k) である。11は、各装置間で(他の通信路からアク
セスできない様に設計されているなど)物理的に安全に
秘密の通信を行うことができる秘密通信路であり、12
は、全てのメンバを情報を公開することができるように
相互接続する放送型通信路である。ここで、メンバの数
は、効率の面から20以下程度の比較的少ない数である
とする。
In the figure, 14 is a device (hereinafter referred to as a member) constituting the distributed authentication server AS (1), ..., AS.
(k). Reference numeral 11 denotes a secret communication path that enables physically and securely secret communication between devices (such as designed so as not to be accessible from other communication paths).
Is a broadcast-type communication path that interconnects all members so that information can be disclosed. Here, the number of members is assumed to be a relatively small number of about 20 or less in terms of efficiency.

【0019】通信システムを構成する全装置の数は、メ
ンバに比べてかなり多くてもよく、メンバと秘密通信路
11を介して接続される。また、各装置間は、通常の
(安全でない)通信路13によって通信する。以後、1
つの装置が他の装置にあるサービス(例えば、ファイル
転送、リモートプロシージャーコール等)の要求を送っ
た場合、要求した装置を「クライアント」、この要求を
受けサービスを提供する装置を「サーバ」と呼ぶことと
する。図1において、15は、このようなクライアント
やサーバとなる装置C/S(1),…, C/S(n) を示して
いる。但し、メンバがクライアントやサーバとなる場合
もある。
The number of all devices constituting the communication system may be considerably larger than that of the members, and they are connected to the members via the secret communication path 11. Further, the respective devices communicate with each other via a normal (insecure) communication path 13. After that, 1
When one device sends a request for a service (for example, file transfer, remote procedure call, etc.) to another device, the requesting device is called a "client", and the device that receives this request and provides the service is called a "server". I will. In FIG. 1, reference numeral 15 denotes the devices C / S (1), ..., C / S (n) which are such clients and servers. However, the member may be a client or a server.

【0020】本実施例では、このようなクライアントや
サーバに、互いの認証や通信内容の認証を実現する。ま
た、クライアントとサーバの間に秘密通信を行うための
秘密鍵の共有も実現する。更に、秘密情報をメンバ間で
分散して管理・計算するために、従来の印象サーバに比
べて安全であるという利点も得られる。以下では、クラ
イアントがサーバにサービスを要求するために、自分を
識別する認証を求めた時に、認証を求めるクライアント
を「証明者」、認証を与えるサーバを「認証者」と呼
ぶ。
In the present embodiment, mutual authentication and communication content authentication are realized by such a client and server. It also realizes sharing of a secret key for performing secret communication between the client and the server. Furthermore, since secret information is distributed and managed and calculated among members, there is an advantage that it is safer than the conventional impression server. In the following, when a client requests authentication from a server to request service, a client requesting authentication will be referred to as a "certifier", and a server providing authentication will be referred to as an "authenticater".

【0021】図2は、メンバとなる装置のブロック構成
を示す図である。同図において、21は、秘密通信路1
2または放送型通信路13により、他の装置と通信を行
なうための通信部である。22は、演算処理部であり、
記憶部24のプログラムに従って、後述する一方向性ハ
ッシュ関数などの各種演算や判定の処理を行なうととも
に、装置各部を制御する。23は、例えば疑似乱数発生
器のような乱数発生部であり、ランダムな値を生成する
ために利用される。24は、演算処理部22が実行すべ
きプログラムや、処理の過程で生成される演算結果等の
情報や、他の装置から受信した情報、各種パラメータな
どを記憶するための記憶部である。また、通信システム
のメンバ以外の装置も、メンバと同様のハードウェア構
成をとるものとする。
FIG. 2 is a diagram showing a block configuration of a device as a member. In the figure, 21 is a secret communication path 1.
2 is a communication unit for communicating with another device via the broadcast communication path 13. 22 is an arithmetic processing unit,
According to the program of the storage unit 24, various operations such as a one-way hash function, which will be described later, and determination processing are performed, and each unit of the apparatus is controlled. 23 is a random number generator such as a pseudo random number generator, and is used to generate a random value. A storage unit 24 stores programs to be executed by the arithmetic processing unit 22, information such as arithmetic results generated in the course of processing, information received from other devices, various parameters, and the like. Devices other than the members of the communication system also have the same hardware configuration as the members.

【0022】分散認証プロトコルの基本部分は、以下に
説明するVSS(verifiable SecretSharing:確認可能
な秘密分散) プロトコルである。VSSによれば、1つ
の秘密情報を、その過半数未満では元の秘密情報を推測
できず、過半数の情報が正しければ元の秘密情報を復元
できるような複数の秘密部分に分散する技術である。
The basic part of the distributed authentication protocol is the VSS (verifiable Secret Sharing) protocol described below. According to VSS, one secret information is a technique in which less than a majority of the secret information cannot be guessed, and if the majority of the information is correct, the original secret information can be restored into a plurality of secret parts.

【0023】[VSSプロトコル]与えられた有限体F
上の秘密を確認可能に分散する手順を以下に説明する。
[VSS Protocol] Given finite field F
The procedure for distributing the above secret in a verifiable manner is described below.

【0024】図3は、秘密s と部分行列S との関係を示
す図である。
FIG. 3 is a diagram showing the relationship between the secret s and the submatrix S.

【0025】本実施例において、ある秘密の元s に対す
る部分行列S=[s(i,j)](i,j=
1,...,n)とは、各行ベクトルS_r(i)=
[s(i,1),...,s(i,n)](i=
1,...,n)の各要素が、ある秘密s_r(i)を定数項
とするt次の多項式fiのn個の異なる値il,...,in に対
する値fi(il),...,fi(in) となり、各列ベクトルS_c(j)
=[s(1,j),...,s(n,j)](j=1,...,n)が、ある秘密s_c(j)
を定数項とするt次の多項式giのn個の異なる値i
l,...,in に対する値gi(il),...,gi(in) になり、更
に、ベクトル[s_r(1),...,s_r(n)] 及び[s_c(1),...,s_
c(n)] の両方は、元の秘密s を定数項とするt次の多項
式f 及びg の値f(il,...,in)及びg(il,...,in)になって
いるものである。話型確認可能な秘密分散方式に用いら
れている部分行列に、以下に説明するように、更に条件
が付けられた秘密部分のn ×n 行列S=[s(i,j)](i,j=
1,...,n)である。
In the present embodiment, the submatrix S = [s (i, j)] (i, j = for some secret element s
1 ,. . . , N) means that each row vector S_r (i) =
[S (i, 1) ,. . . , S (i, n)] (i =
1 ,. . . , N), each element of n is the value fi (il), ..., fi () for n different values il, ..., in of a polynomial fi of degree t with a secret s_r (i) as a constant term. in), and each column vector S_c (j)
= [s (1, j), ..., s (n, j)] (j = 1, ..., n) has a secret s_c (j)
N different values i of the polynomial gi of degree t, where is a constant term
The values for l, ..., in are gi (il), ..., gi (in), and the vectors [s_r (1), ..., s_r (n)] and [s_c (1), ..., s_
Both c (n)] are the values f (il, ..., in) and g (il, ..., in) of the polynomials f and g of degree t with the original secret s as a constant term. It is what As will be described below, the submatrix used in the secret-sharing scheme capable of verbal type confirmation further defines a secret part n × n matrix S = [s (i, j)] (i, j =
1, ..., n).

【0026】まず、各行ベクトルS_r(i)=[s(i,1),...,s
(i,n)](i=1,...,n)が、ある秘密s_r(i)に対する秘密部
分ベクトル(ベクトルの要素j がある秘密分散方式にお
ける加入者j の秘密部分であるベクトル)になり、各列
ベクトルS_c(j)=[s(1,j),...,s(n,j)](j=1,...,n)が、
ある秘密s_c(j)に対する秘密部分ベクトルになる。
First, each row vector S_r (i) = [s (i, 1), ..., s
(i, n)] (i = 1, ..., n) is the secret part vector for some secret s_r (i) (vector j is the secret part of subscriber j in some secret sharing scheme) And each column vector S_c (j) = [s (1, j), ..., s (n, j)] (j = 1, ..., n) becomes
It becomes a secret subvector for a secret s_c (j).

【0027】ただし、前述の秘密s_r(i)及びs_c(j)より
なるベクトル[s_r(1),...,s_r(n)]及び[s_c(1),...,s_c
(n)] の両方は、元の秘密s に対する秘密部分ベクトル
になる。秘密分散処理のときに、このように構成された
部分行列の列ベクトルi (i=1,...,n )及び秘密s_r(i)
を、加入者i の秘密部分情報として各加入者i に送信す
ることによって、秘密復元処理のときに、部分情報を配
った加入者が不正をしなければ、各加入者によって放送
された部分情報が正しいかどうかを非常に高い確率で確
認できる。
However, the vectors [s_r (1), ..., s_r (n)] and [s_c (1), ..., s_c consisting of the above-mentioned secrets s_r (i) and s_c (j).
Both (n)] are secret subvectors of the original secret s. In the secret sharing process, the column vector i (i = 1, ..., n) of the submatrix constructed in this way and the secret s_r (i)
Is sent to each subscriber i as the confidential partial information of the subscriber i, so that the partial information broadcast by each subscriber can be provided if the subscriber who has distributed the partial information does not make any mistake during the secret restoration process. There is a very high probability that you can check if is correct.

【0028】また、本実施例では、元の秘密情報を持
ち、秘密部分情報を配った加入者が不正をした場合でも
秘密復元処理のとき放送される部分情報が正しいかどう
かを確認するために、秘密部分情報を配る上で各加入者
i (i=1,...,n )に対応する秘密s_r(i)の認証子のよう
な役割を果たす値を一方向性ハッシュ関数(池野、小
山:”現代暗号理論”、pp.224-225、電子情報通信学
会、1986、参照)によって生成する。
Further, in this embodiment, in order to confirm whether or not the partial information broadcast during the secret restoration processing is correct even if the subscriber who has the original confidential information and distributes the confidential partial information makes an illegal act. , Each subscriber in distributing secret information
A one-way hash function (Ikeno, Koyama: "Modern Cryptography", pp.224) is used as the authenticator value of the secret s_r (i) corresponding to i (i = 1, ..., n). -225, IEICE, 1986, see).

【0029】次に、この一方向性ハッシュ関数について
説明する。
Next, the one-way hash function will be described.

【0030】一方向性ハッシュ関数とは、データ圧縮型
スクランブルを行う関数であり、入力値から出力値を求
める演算は容易であるが、出力値から入力値を求める逆
演算は困難である関数である。ただし、本実施例では、
従来の非対話型確認可能な秘密分散方式に用いられる一
方向性関数に比べると、特殊な代数学的な性質を持たな
くてもよく、計算処理の高速な一方向性ハッシュ関数を
利用できる。
The one-way hash function is a function for performing data compression type scrambling. It is easy to calculate an output value from an input value, but it is difficult to perform an inverse calculation to calculate an input value from an output value. is there. However, in this embodiment,
Compared with the conventional one-way function used in the non-interactive confirmable secret sharing scheme, it does not need to have a special algebraic property, and a one-way hash function with high-speed calculation processing can be used.

【0031】一方向性ハッシュ関数の具体例として、R.
Merkle ("One Way Hash Functions and DES",Advance
s in Cryptology −Crypto'89, Lecture Notes in Comp
uterScience, Vol. 435, Springer-Verlag, 1990 )に
よってDES (Data Encryption Standard)のようなブロ
ック暗号を用いた一方向性ハッシュ関数を提案されてい
る。
As a specific example of the one-way hash function, R.
Merkle ("One Way Hash Functions and DES", Advance
s in Cryptology −Crypto'89, Lecture Notes in Comp
uterScience, Vol. 435, Springer-Verlag, 1990) has proposed a one-way hash function using a block cipher such as DES (Data Encryption Standard).

【0032】図8は、一方向性ハッシュ関数の具体的な
構成を説明する図である。
FIG. 8 is a diagram for explaining a specific configuration of the one-way hash function.

【0033】同図において、(a) は、DES によるブロッ
ク暗号化を示しており、81は、64ビットの入力及び56
ビットの鍵から64ビットの出力が得られる暗号化回路
(図8では、DES をE で表している)である。
In the figure, (a) shows block encryption by DES, and 81 is a 64-bit input and 56 bits.
This is an encryption circuit (DES is represented by E in FIG. 8) that can obtain a 64-bit output from a bit key.

【0034】(b) は、このDES を部分処理として利用
し、入力の長さが119 ビットで出力の長さが112 ビット
となる関数F の処理を示しており、82は、関数演算回
路である。この処理は、次のように定義される。
(B) shows the processing of the function F in which the input length is 119 bits and the output length is 112 bits by using this DES as a partial process, and 82 is a function operation circuit. is there. This process is defined as follows.

【0035】まず、入力を二つの部分k,x に分ける(た
だし、その一つの部分k 長さを55ビットとし、残りの部
分x の長さを64ビットとする)。次に、その部分x をDE
S の入力とし、残りの部分k と'0' を連続した値'0',k
を56ビットの鍵として得られた出力とx とのXOR を計算
した結果を、関数F の出力における左側の64ビットとす
る。同様に、同じ部分x を入力とし、残りの部分k と'
1' を連続した値'1',kを鍵として得られた出力とx との
XOR を計算した結果(64ビット)より48ビットを関数F
の残りの部分(右側の48ビット)とする。これによって
得られた二つの出力を連続した結果が112 ビットのF 関
数の出力となる。
First, the input is divided into two parts k and x (however, the length of one part k is 55 bits, and the length of the remaining part x is 64 bits). Then DE that part x
The input of S, the remaining k and '0' are consecutive values '0', k
Let the result of XORing the output obtained with x as the 56-bit key and x be the left 64 bits at the output of the function F. Similarly, the same part x is input, and the remaining parts k and '
The value obtained by using 1's as a continuous value '1', k as a key and x
48 bits from the result of XOR calculation (64 bits) to function F
And the rest (48 bits on the right). The output of the 112-bit F-function is the result of successive two outputs.

【0036】(c) は、与えられたメッセージを入力とし
て、一方向性ハッシュ関数のハッシュ値を出力とする処
理を示しており、83は、ハッシュ関数処理部である。
この処理は、次のように実行される。
(C) shows a process of inputting a given message and outputting a hash value of a one-way hash function, and 83 is a hash function processing section.
This process is executed as follows.

【0037】まず、与えられたメッセージの最初の119
ビットを上述の関数F の入力として、最初の112 ビット
の出力を得る。次に、その出力を再び入力の112 ビット
分とし、以後メッセージから残りの7 ビット分を連続し
て繰り返し関数F に入力する。最後に、全メッセージを
入力したときに(メッセージの最後の7 ビットを入力す
るために足りないビットがあれば適当に'0' を加える)
得られた112 ビットの出力をメッセージに対するハッシ
ュ値とする。
First, the first 119 of the given message
Take the bits as input to the function F above and get the output of the first 112 bits. Next, the output is again used as the input 112 bits, and thereafter, the remaining 7 bits from the message are continuously input to the repeating function F. Finally, when you type the entire message (add a '0' if there are missing bits to fill the last 7 bits of the message)
The obtained 112-bit output is used as the hash value for the message.

【0038】前述のように計算されたハッシュ関数の一
方向性(1つのハッシュ値が与えられたとき、同じハッ
シュ値が得られるような異なる入力のメッセージを求め
ることが極めて困難であること)は、用いられるDES の
ようなブロック暗号の安全性(入力が与えられたとき出
力は鍵によるランダムな変数になり、出力が与えられた
とき入力は鍵によるランダムな変数になる)によって与
えられることが、R. Merkle より示されている(前述の
論文参照)。
The one-way property of the hash function calculated as described above (when one hash value is given, it is extremely difficult to obtain messages having different inputs so that the same hash value is obtained) , The security of block ciphers such as DES used (the output is a random variable with the key when the input is given, the input is a random variable with the key when the output is given). , R. Merkle (see above paper).

【0039】更に、同じ論文では前述のハッシュ関数よ
り効率のよい一方向性ハッシュ関数も提案されており、
ブロック暗号を利用しない効率的な一方向性ハッシュ関
数がR.Rivest("The MD4 message digest algorithm",
Advances in CryptologyーCrypto'90, Lecture Notes i
n Computer Science, Vol. 537, Springer-Verlag, 199
1. NIST Federal Information Processing Standard fo
r Secure Hash, American National Standard X9.30-19
9x)によって提案されている。
Further, in the same paper, a one-way hash function which is more efficient than the above-mentioned hash function is also proposed,
An efficient one-way hash function that does not use block cipher is R. Rivest ("The MD4 message digest algorithm",
Advances in Cryptology ー Crypto'90, Lecture Notes i
n Computer Science, Vol. 537, Springer-Verlag, 199
1. NIST Federal Information Processing Standard fo
r Secure Hash, American National Standard X9.30-19
9x).

【0040】次に、本実施例におけるCut and Choose処
理を説明する。
Next, the Cut and Choose process in this embodiment will be described.

【0041】従来の対話型確認可能な秘密分散方式で行
われるCut and Chooseのように、秘密分散処理のとき全
ての加入者が受け取った秘密部分情報が、確認可能に分
散された秘密の部分情報となるかどうかを確認するため
に、元の秘密s に対する部分行列及びハッシュ値を分配
すると同時にk 個のランダムに選ばれた秘密l1,...,lk
に対する部分行列及びハッシュ値を分配し、全加入者に
よってランダムに決められたk/2 の秘密(li(1),...,li
(k/2) )に関する全ての秘密情報を放送し、残りのk/2
の秘密(lj(1),...,lj(k/2) )に対してlj(1)+s,...,lj
(k/2)+s に関する全ての秘密情報を放送し、全ての放送
された情報の中には誤りを持つ部分の数がt より多けれ
ば、秘密分散処理が正しくないと判断される。
Like Cut and Choose performed by the conventional interactive confirmable secret sharing method, the secret partial information received by all subscribers at the time of secret sharing processing is the secret partial information that can be confirmed and distributed. We then distribute the submatrices and hash values for the original secret s and at the same time k random secrets l1, ..., lk
Distribute the submatrix and the hash value for and have a secret of k / 2 (li (1), ..., li randomly determined by all subscribers.
(k / 2)) broadcast all confidential information about
For the secret (lj (1), ..., lj (k / 2)) of lj (1) + s, ..., lj
If all the secret information about (k / 2) + s is broadcast and the number of errored parts in all the broadcast information is larger than t, it is judged that the secret sharing process is not correct.

【0042】以上によって、従来の確認可能な秘密分散
方式の条件(c),(d) の代わりに、次の条件(c'),(d') を
満たす秘密分散方式が実現でき、それを用いて安全に分
散計算を実行する方式及び通信システムが実現できる。
As described above, instead of the conditions (c) and (d) of the conventional identifiable secret sharing system, a secret sharing system satisfying the following conditions (c ') and (d') can be realized. A method and a communication system for safely executing distributed calculation can be realized.

【0043】(c')不正な部分情報が正しい部分情報と混
在したとき、t+1 個の正しい部分情報があっても元の秘
密情報を復元できない場合が存在するが、不正をした加
入者の識別は可能である。
(C ') When incorrect partial information is mixed with correct partial information, the original secret information may not be restored even if there are t + 1 correct partial information. Can be identified.

【0044】(d')全ての加入者がその秘密の部分情報を
受け取ったとき、その部分情報がある秘密情報x を復元
するための正しい情報でなければ、復元処理のときに不
正をした加入者の識別が可能である。
(D ') When all the subscribers receive the secret partial information, if the partial information is not correct information for restoring the secret information x, the subscriber who made an illegal act during the restoration process It is possible to identify the person.

【0045】これらの条件は、従来方式のように不正な
加入者があっても秘密を復元、すなわち誤り訂正は行え
ないが、不正な加入者は識別、すなわち誤り検出は可能
にするものである。条件(c),(d) があれば不正な加入者
がいても正しく分散演算が実行できる(正当性に対する
フォールトトレランスを実現できる)が、条件(c'),
(d') に変更しても不正な加入者は検出できるので警告
などを行い再実行することによって正しい出力を得るこ
とができ、正当性に対するフォールトトレランスを実現
することができる。
Under these conditions, the secret cannot be restored, that is, error correction cannot be performed even if there is an unauthorized subscriber as in the conventional method, but an unauthorized subscriber can be identified, that is, an error can be detected. . If there are conditions (c) and (d), distributed computing can be executed correctly even if there is an unauthorized subscriber (fault tolerance for correctness can be realized), but conditions (c '),
Even if changed to (d '), an unauthorized subscriber can be detected, so a correct output can be obtained by issuing a warning and re-executing, and fault tolerance to the correctness can be realized.

【0046】よって、本実施例では、分散された秘密を
復元するとき不正な加入者があった場合には、復元でき
ないこともありえるが不正を行った加入者の識別は可能
であるような確認可能な秘密分散方式を提案する。これ
によって、前述の対話的な方式(1) 及び暗号的な方式
(2) の中間に位置する必要な計算量と通信量の両方が実
用的なオーダーになる確認可能な秘密分散方式が実現で
きる。
Therefore, in this embodiment, if there is an unauthorized subscriber when restoring the distributed secrets, it may not be possible to restore, but it is confirmed that the unauthorized subscriber can be identified. We propose a possible secret sharing scheme. This enables the interactive method (1) and the cryptographic method described above.
It is possible to realize a secret sharing scheme that can be confirmed in the middle of (2), in which both the required calculation amount and communication amount are in a practical order.

【0047】以下、与えられた有限体F 上の秘密の確認
可能な分散を実現する方法を、具体的に説明する。
The method for realizing the secret identifiable distribution on the given finite field F will be specifically described below.

【0048】まず、秘密s に対する部分行列S を、具体
的に説明する。
First, the submatrix S for the secret s will be specifically described.

【0049】ある与えられた有限体上の秘密の元s に対
する部分行列S=[s(i,j)](i,j=1,...,n) とは、各行ベク
トルS_r(i)=[s(i,1),...,s(i,n)](i=1,...,n)の要素
が、s_r(i)を定数項とするt 次の多項式fiのn 個の異な
る値i1,...,in に対する値fi(i1),...,fi(in) になり、
各列ベクトルS_c(j)=[s(1,j),...,s(n,j)](j=1,...,n)
の要素が、s_c(j)を定数項とするt 次の多項式gjのn 個
の異なる値j1,...,jn に対する値gj(j1),...,gj(jn) に
なり、更に、前述の値のベクトル[s_r(1),...,s_r(n)]
及び[s_c(1),...,s_c(n)] の両方は、元の秘密s を定数
項とするt 次の多項式f 及びg の値f(i1,...,in)及びg
(j1,...,jn)になっているものである。
The submatrix S = [s (i, j)] (i, j = 1, ..., n) for a given secret element s on a given finite field is the row vector S_r (i). = [s (i, 1), ..., s (i, n)] (i = 1, ..., n) is a polynomial fi of degree t with s_r (i) as the constant term The values fi (i1), ..., fi (in) for n different values i1, ..., in,
Each column vector S_c (j) = [s (1, j), ..., s (n, j)] (j = 1, ..., n)
Becomes the value gj (j1), ..., gj (jn) for n different values j1, ..., jn of the polynomial gj of degree t with s_c (j) as a constant term, and , Vector of the above values [s_r (1), ..., s_r (n)]
And [s_c (1), ..., s_c (n)] are the values f (i1, ..., in) and g of polynomials f and g of degree t with the original secret s as a constant term.
It is (j1, ..., jn).

【0050】次に、本実施例の処理を、与えられた有限
体上の秘密を全ての加入者間で秘密に分散保持されるよ
うに秘密部分を分配する秘密分散処理と、全ての加入者
に分散された秘密または(不正があった場合に)不正を
した加入者を明らかにする秘密復元処理の二つの処理に
分けて説明する。
Next, the processing of the present embodiment is carried out by secret sharing processing for distributing a secret part so that a given secret on a finite field is secretly distributed and held among all subscribers, and all subscribers. The secret distributed process or the secret restoration process for clarifying the subscriber who has committed fraud (when there is fraud) will be described separately.

【0051】(1) 秘密分散処理 秘密分散処理とは、秘密の元s を持っている加入者d が
s に対する秘密部分を分配する処理である。図5に、そ
の処理手順を示す。同図において、処理Rj,iは、ラウ
ンドjにおける加入者iの実行する処理である。
(1) Secret sharing processing Secret sharing processing means that a subscriber d having a secret element s
This is the process of distributing the secret part for s. FIG. 5 shows the processing procedure. In the figure, the process Rj, i is the process executed by the subscriber i in round j.

【0052】以下において、h は効率的な(高速な計算
方式のある)一方向性ハッシュ関数を表す。例えば高速
なブロック暗号化関数によって構成されたハッシュ関数
(前出の”現代暗号理論”参照)が用いられる。安全性
パラメータk はある定数k'に対してk=nk' を満たす。こ
の場合、秘密分散処理の確認が誤る確率は、Cut andCho
ose処理によって、2^(-k'(t+1))になる(T. Rabin, M.
Ben-Or "VerifiableSecret Sharing and Multiparty Pr
otocols with Honest Majority" 参照)。
In the following, h represents an efficient one-way hash function (with a fast calculation scheme). For example, a hash function constituted by a high-speed block encryption function (see the above "modern cryptographic theory") is used. The safety parameter k satisfies k = nk 'for some constant k'. In this case, the probability of incorrect confirmation of secret sharing processing is Cut and Cho
By ose processing, it becomes 2 ^ (-k '(t + 1)) (T. Rabin, M.
Ben-Or "Verifiable Secret Sharing and Multiparty Pr
otocols with Honest Majority ").

【0053】(ラウンド1)加入者d は、乱数発生部2
3を用いて、元の秘密s 及び与えられた有限体上のラン
ダムに選ばれた秘密の元l1,...,lk に対する部分行列S,
L1,...,Lk を生成する。そして、図4に示すように、秘
密値s_r(1),...,s_r(n),l1_r(1),...,l1_r(n),...,lk_r
(1),...,lk_r(n) に対する一方向性ハッシュ関数の値s*
を、演算処理部22により計算する。
(Round 1) Subscriber d uses random number generator 2
Using 3, the sub-matrix S, for the original secret s and the randomly chosen secret elements l1, ..., lk over a given finite field
Generate L1, ..., Lk. Then, as shown in FIG. 4, secret values s_r (1), ..., s_r (n), l1_r (1), ..., l1_r (n), ..., lk_r
One-way hash function value s * for (1), ..., lk_r (n)
Is calculated by the arithmetic processing unit 22.

【0054】加入者d は、各加入者i (i=1,...,n 、但
し自分は除く)に対して、生成した各部分行列の各列ベ
クトルS_c(i),L1_c(i),...,Lk_c(i)及び秘密s_r(i),l1_
r(i),...,lk_r(i)(情報B1.i)を、秘密通信路11を用
いて送信し、全加入者間でハッシュ値s*(情報B1.d)
を、放送通信路12を用いて放送する(処理R1.d)。
The subscriber d is a column vector S_c (i), L1_c (i) of each generated submatrix for each subscriber i (i = 1, ..., n, except for himself). , ..., Lk_c (i) and secret s_r (i), l1_
r (i), ..., lk_r (i) (information B1.i) is transmitted using the secret communication channel 11, and hash value s * (information B1.d) is sent among all subscribers.
Is broadcast using the broadcast communication path 12 (processing R1.d).

【0055】(ラウンド2)各加入者i (i=1,...,n )
は乱数発生部23を用いて、k'個のランダムに選択され
たビット(情報B2.i)を放送する(処理R2.i)。それら
のランダムに選ばれたk'個のビットをBi_1,..,Bi_k' 、
n 人の全ての加入者に対する全ビットをB1,...,Bk と呼
ぶ。
(Round 2) Each subscriber i (i = 1, ..., n)
Broadcasts k ′ randomly selected bits (information B2.i) using the random number generator 23 (process R2.i). Let these randomly selected k'bits be Bi_1, .., Bi_k ',
All bits for all n subscribers are called B1, ..., Bk.

【0056】(ラウンド3)加入者d は、ラウンド2で
放送された各ビットBj(j=1,...,k)に対して、Bjが1
であればラウンド1で加入者d が生成した部分行列Ljを
放送し、Bjが0 であればラウンド1で加入者d が生成し
た部分行列S とLjの要素毎の有限体上の加算結果(S+Lj
と書く)を放送する(処理R3.d)。加入者d が放送した
情報は、図5でB3.dと表わされている。
(Round 3) Subscriber d sets Bj to 1 for each bit Bj (j = 1, ..., k) broadcast in Round 2.
If so, the submatrix Lj generated by the subscriber d is broadcast in round 1, and if Bj is 0, the addition result on the finite field for each element of the submatrix S and Lj generated by the subscriber d in round 1 ( S + Lj
Broadcast) (process R3.d). The information broadcast by subscriber d is labeled B3.d in FIG.

【0057】(ラウンド4)各加入者i (i=1,...,n )
は、ラウンド1で秘密に受信した情報B1.iの中で、各値
j (j=1,...,k )に対して、列ベクトルLj_c(i) 及びlj
_r(i) (ラウンド2で放送されたビットBjが1 の場合)
あるいは Lj_c(i)+S_c(i) 及びlj_r(i)+s_r(i)(Bjが0
の場合)が、ラウンド3で放送された部分行列に対応す
る列ベクトル及び秘密値と等しいかどうかを確認し、あ
る値j に対して等しくなければ、加入者d の判定メッセ
ージ(情報B4.i)を放送する(処理R4.i)。
(Round 4) Each subscriber i (i = 1, ..., n)
In the information B1.i that was secretly received in round 1,
Column vectors Lj_c (i) and lj for j (j = 1, ..., k)
_r (i) (when bit Bj broadcast in Round 2 is 1)
Or Lj_c (i) + S_c (i) and lj_r (i) + s_r (i) (Bj is 0
Is equal to the column vector corresponding to the submatrix broadcast in round 3 and the secret value, and if not equal to some value j, then the decision message of subscriber d (information B4.i ) Is broadcast (process R4.i).

【0058】(ラウンド5)加入者d は、ラウンド4で
判定メッセージ(情報B4.i)が放送された場合に、判定
メッセージを放送した各加入者j に関するラウンド1で
加入者d が秘密に送信した情報B1.j(ここでは、情報B
5.d)を放送する(処理R5.d)。
(Round 5) When the judgment message (information B4.i) is broadcast in Round 4, the subscriber d secretly transmits it in Round 1 for each subscriber j who broadcast the judgment message. Information B1.j (here, information B
5.d) is broadcast (process R5.d).

【0059】(後処理)各加入者i (i=1,...,n )は、
ラウンド5で放送された情報が正しくなければ、あるい
はラウンド4に放送された判定メッセージの数がしきい
値tより多ければ、加入者d が不正をしたと判断する
(処理Pi)。
(Post-processing) Each subscriber i (i = 1, ..., n) is
If the information broadcast in Round 5 is incorrect, or if the number of determination messages broadcast in Round 4 is greater than the threshold value t, it is determined that the subscriber d has made an illegal act (process Pi).

【0060】以上のラウンド1から5までで各加入者i
が受信した全ての情報を、s_i とする。
In the above rounds 1 to 5, each subscriber i
Let s_i be all information received by.

【0061】(2) 秘密復元処理 秘密復元処理とは、上述の秘密分散処理により各加入者
が持っている情報s_iから、全ての加入者によって元の
秘密s を計算するための処理である。図6にその手順を
示す。
(2) Secret Restoration Process The secret restoration process is a process for calculating the original secret s by all subscribers from the information s_i held by each subscriber by the secret sharing process described above. FIG. 6 shows the procedure.

【0062】(ラウンド1)各加入者i (i=1,...,n )
は、部分情報s_i 含まれている秘密値s_c(i)及びs_r(i)
(情報B1.i)を放送する(処理R1.i)。
(Round 1) Each subscriber i (i = 1, ..., n)
Is the secret value s_c (i) and s_r (i) containing the partial information s_i
Broadcast (Information B1.i) (Process R1.i).

【0063】(ラウンド2)各加入者i (i=1,...,n )
は、ラウンド1で放送された値の内t+1 個の値s_c(i,
1),...,s_c(i,t+1) 及びs_r(i,1),...,s_r(i,t+1) を選
び、多項式補間処理の結果s(c)及びs(r)を求め、両方が
等しくなり、かつ残りの放送された値がその値s(c)=s
(r) に対応する同じ多項式の正しい値になるかどうかを
確認する。全ての値が正しければ、元の秘密s はs(c)=s
(r) と等しいと判断し復元処理が終わる。一方、同じ多
項式に対応しない値が放送された場合には、部分情報s_
i に含まれている列ベクトルS_c(i)(情報B2.i)を放送
する(以上、処理R2.i)。
(Round 2) Each subscriber i (i = 1, ..., n)
Are the t + 1 values s_c (i,
1), ..., s_c (i, t + 1) and s_r (i, 1), ..., s_r (i, t + 1), and select s (c) and s ( r) and both are equal, and the remaining broadcasted value is its value s (c) = s
Check if it is the correct value of the same polynomial corresponding to (r). If all values are correct, the original secret s is s (c) = s
The restoration process ends, judging that it is equal to (r). On the other hand, if a value that does not correspond to the same polynomial is broadcast, the partial information s_
The column vector S_c (i) (information B2.i) included in i is broadcast (above, processing R2.i).

【0064】(ラウンド3)各加入者i (i=1,...,n )
は、ラウンド2で放送された列ベクトルS_c(j)(j=
1,...,n )から部分行列S'を生成し、1,...,n から異な
るt+1 個の値を含む全ての集合t1,...,tm (全部でm=nC
t+1=n!/((t+1)!(n-t-1)!) 個の集合がある)に対する列
ベクトルの集合T1,...,Tm を選び、それぞれの行と列に
対する多項式補間処理の結果s'_r(1),...,s'_r(n) 及び
s'_c(1),...,s'_c(n) を求め、更にこれらの値の多項式
補間処理の結果s'(r) 及びs'(c) を求め、両方が等しく
なり、かつそれらの列ベクトルの全ての要素がそれぞれ
の値s'_c(1),...,s'_c(n) 及びs'_r(1),..,s'_r(n)に対
応する同じ多項式の正しい値になるかどうかを確認す
る。
(Round 3) Each subscriber i (i = 1, ..., n)
Is the column vector S_c (j) (j =
Generate a submatrix S'from 1, ..., n) and all sets t1, ..., tm (1, m = n in total) containing t + 1 values different from 1, ..., n C
Select a set of column vectors T1, ..., Tm for t + 1 = n! / ((t + 1)! (nt-1)!) sets and perform polynomial interpolation for each row and column. The result of processing s'_r (1), ..., s'_r (n) and
s'_c (1), ..., s'_c (n) is obtained, and the results s '(r) and s' (c) of the polynomial interpolation processing of these values are obtained, and both are equal, and All elements of those column vectors are the same, corresponding to their respective values s'_c (1), ..., s'_c (n) and s'_r (1), .., s'_r (n) Check if the polynomial value is correct.

【0065】このように確認されたt+1 個の列ベクトル
を含む集合T1,..,Tmの内に異なる正しい部分行列に対応
する集合の数が最大でt+1 個になり、それらの部分行列
をS_1,...,S_T (ただし、T<t+1 )と呼ぶ。正しい部分
行列が一個しかなければ(T=1 )、その行列に対する秘
密s が元の秘密と等しいと判断し、対応しない列ベクト
ルが不正をした加入者を表す。正しい部分行列が二つ以
上があれば、各加入者i (i=1,...,n )は持っている全
ての部分情報s_i (情報B3.i)を放送する(以上、処理
R3.i)。
The number of sets corresponding to different correct submatrices in the sets T1, .., Tm including t + 1 column vectors confirmed in this way is t + 1 at the maximum, and The submatrix is called S_1, ..., S_T (where T <t + 1). If there is only one correct submatrix (T = 1), then the secret s for that matrix is determined to be equal to the original secret, and the uncorresponding column vector represents the fraudulent subscriber. If there are two or more correct submatrices, each subscriber i (i = 1, ..., n) broadcasts all the partial information s_i (information B3.i) that it has (above, processing
R3.i).

【0066】(後処理)各加入者i (i=1,...,n )は、
ラウンド3で放送された情報s_j (j=1,...,n )を用い
て、ラウンド4で計算した正しい部分行列S_1,...,S_T
(ただし、T<t+1 )に対して、上述の秘密分散処理と同
一の一方向性ハッシュ関数を計算し、全ての放送された
情報が正しく、分散処理のラウンド1で放送された値s*
に対応するかどうかを確認する。これらの確認に対して
正しい(最大一つしかありえない)部分行列に対応する
秘密s'は元の秘密s と等しいと判断する。それに対して
前述の確認に対して正しい部分行列がなかったならば、
秘密を分散加入者d が不正したと判断する(処理Pi)。
(Post-processing) Each subscriber i (i = 1, ..., n) is
Correct submatrix S_1, ..., S_T calculated in round 4 using information s_j (j = 1, ..., n) broadcast in round 3
For (where T <t + 1), the same one-way hash function as in the secret sharing process described above is calculated, and all broadcasted information is correct, and the value s broadcast in round 1 of the distributed process is calculated. *
Check whether it corresponds to. It is judged that the secret s'corresponding to the submatrix correct for these confirmations (there is only one at most) is equal to the original secret s. If, on the other hand, there was no correct submatrix for the above check,
It is judged that the secret is deviated by the distributed subscriber d (process Pi).

【0067】[分散された秘密の線形結合処理]上述の
確認可能な秘密分散処理によって、与えられた有限体上
の元{1,...,p-1} の内にある2つの秘密の元x とy が分
散されたとき(このとき、各加入者i が秘密の元x とy
に対応する秘密部分x_i 及びy_i を持つ)、通信を行わ
ずに、与えられた有限体上の和x+y に対応する秘密部分
(x+y)_i を、次のように計算する。
[Linear Combined Process of Distributed Secrets] By the above-mentioned verifiable secret sharing process, two secrets in the given elements {1, ..., p-1} on the finite field are given. When the elements x and y are distributed (where each subscriber i has a secret element x and y)
Has a secret part corresponding to x_i and y_i), and a secret part corresponding to the sum x + y on a given finite field without communication.
Calculate (x + y) _i as follows.

【0068】まず、各加入者が持っている部分行列の列
ベクトルX_c(i)及びY_c(i)かつ秘密値x_r(i)及びy_r(i)
を要素毎に加算すると、その加算結果X_c(i)+Y_c(i) 及
びx_r(i)+y_r(i) が、x+y に対する部分行列の列ベクト
ル及び秘密値になることは、部分行列の定義(行と列の
要素が多項式の値となる)から明らかである。
First, the column vectors X_c (i) and Y_c (i) of the submatrix held by each subscriber and the secret values x_r (i) and y_r (i).
Is added element by element, the addition result X_c (i) + Y_c (i) and x_r (i) + y_r (i) become the column vector and secret value of the submatrix for x + y. It is obvious from the definition of (row and column elements are polynomial values).

【0069】また、秘密復元処理において部分情報を確
認するために用いられる一方向性ハッシュ関数の値x*及
びy*は、両方を記憶し、加算の結果x+y を復元処理のと
きに、必要であれば両方を用いることによって、秘密x+
y に対応する部分行列X+Y を確認する。
Further, both the values x * and y * of the one-way hash function used for confirming the partial information in the secret restoration process are stored, and the result x + y of the addition is restored in the restoration process. Secret x + by using both if necessary
Check the submatrix X + Y corresponding to y.

【0070】また、分散された1つの秘密の元xと公開
の元aとの乗算を分散して計算するために、各加入者が
持っている部分行列の各要素とaとの乗算を行った結果
がx*aに対する部分行列の要素となる。よって、上述
の処理により、図7に示すように、分散された2つの秘
密の元xとy、及び公開の元a、bを用いた線形結合a*
x+b*y は、そのグループに参加する各加入者間で、対話
せずに分散して計算できる。
In order to calculate the distributed multiplication of one secret element x and the public element a in a distributed manner, each element of the submatrix possessed by each subscriber is multiplied by a. The result is an element of the submatrix for x * a. Therefore, by the above process, as shown in FIG. 7, a linear combination a * using two distributed secret elements x and y and public elements a and b.
x + b * y can be distributed and calculated without interaction among the subscribers participating in the group.

【0071】以上のようにして、確認可能な方法で、秘
密をメンバ間で分散することができる。
As described above, the secrets can be distributed among the members in a confirmable manner.

【0072】次に、メンバ間で疑似乱数を分散して生成
する分散疑似乱数生成(Shared pseudo-random Secret
Generation) プロトコルについて説明する。
Next, a shared pseudo-random secret is generated by distributing pseudo random numbers among members.
Generation) protocol is explained.

【0073】[分散疑似乱数生成プロトコル]分散認証
サーバを構成するメンバAS(1),…, AS(k) は、分散
疑似乱数rを制せするために、メンバAS(i) に対して
rの秘密部分r(i)(i=1, …,k) を出力する。このプロト
コルは、図8に示すようにして実現される。
[Distributed Pseudo Random Number Generation Protocol] The members AS (1), ..., AS (k) constituting the distributed authentication server have r for the member AS (i) in order to control the distributed pseudo random number r. Output the secret part r (i) (i = 1,…, k) of. This protocol is realized as shown in FIG.

【0074】各メンバAS(i) は、有限体上の元として
表現される秘密の疑似乱数riを生成する(処理81)。
Each member AS (i) generates a secret pseudo random number ri expressed as an element on a finite field (process 81).

【0075】各メンバAS(i) は、前述した確認可能な
秘密分散処理を用いて秘密の疑似乱数riを秘密に分散す
る。これを各メンバが行うことにより、各メンバAS
(j)(j=1,…,k) は、各メンバの秘密部分r1(j),…,rm(j)
を持つことになる。但し、m(≦k)は、正しく秘密分
散を行ったことが確認されたメンバの数である(処理8
2)。
Each member AS (i) secretly distributes the secret pseudo random number ri by using the above-mentioned confirmable secret sharing process. When each member does this, each member AS
(j) (j = 1, ..., k) is the secret part r1 (j), ..., rm (j) of each member
Will have. However, m (≦ k) is the number of members for which it has been confirmed that the secret sharing has been correctly performed (process 8).
2).

【0076】各メンバAS(j) は、上述の秘密部分を加
え合わせ、秘密の疑似乱数r のAS(j) に対する秘密部
分となるr(j)=r1(j)+ …+rm(j)を生成する(処理8
3)。
Each member AS (j) is the secret part of AS (j) of the secret pseudo-random number r by adding the above-mentioned secret part r (j) = r1 (j) + ... + rm (j) Is generated (Process 8
3).

【0077】この秘密の疑似乱数r は、メンバの過半数
が共謀しない限り、誰も知ることができない数である。
以上の様にして、疑似乱数を分散して生成し、この疑似
乱数を証明者と認証者間の会話鍵とすることができる。
This secret pseudo random number r is a number that no one can know unless the majority of the members collude.
As described above, the pseudo random numbers are generated in a distributed manner, and the pseudo random numbers can be used as the conversation key between the prover and the authenticator.

【0078】次に、メンバ間で秘密鍵暗号処理を分散し
て実行するプロトコルを示す。これは、秘密鍵暗号化さ
れるデータが、分散された秘密データである場合と、公
開されたデータである場合とで、処理は異なる。
Next, a protocol for distributing and executing secret key cryptographic processing among members will be shown. This is different depending on whether the data to be encrypted with the private key is distributed secret data or open data.

【0079】[分散秘密データの分散秘密鍵暗号化/復
号]図9の(a)は、このプロトコルを説明する図であ
る。長さLのN個のブロックm1, …,mN で構成されるメ
ッセージをmとする。但しVSSプロトコルは、有限体
GF(2L)上で実行される。メンバAS(i) には、各々の
秘密部分m1(i),…,mN(i)が秘密に分散されているものと
する。また、メッセージmと同じ長さを持つ秘密鍵pk
もまた長さLのN個のブロックpk1,…,pkNに分
割され、同じメンバ間で秘密に分散され、メンバAS
(i) は、各々の秘密部分pk1(i),…,pkN(i) を持
つ。
[Distributed Secret Key Encryption / Decryption of Distributed Secret Data] FIG. 9A is a diagram for explaining this protocol. Let m be a message composed of N blocks m1, ..., MN of length L. However, the VSS protocol is executed on the finite field GF (2 L ). It is assumed that the secret parts m1 (i), ..., MN (i) are secretly distributed to the member AS (i). Also, a secret key pk having the same length as the message m
Is also divided into N blocks pk1, ..., pkN of length L, secretly distributed among the same members, and
(i) has respective secret parts pk1 (i), ..., pkN (i).

【0080】秘密鍵pkを用いたメッセージmの秘密鍵
暗号処理を行うために、各メンバAS(i) は与えられた
有限体上での加算をブロック毎に以下のように行なう。
In order to perform the secret key cryptographic processing of the message m using the secret key pk, each member AS (i) performs addition on a given finite field for each block as follows.

【0081】 c1(i)=m1(i)+pk1(i), …, cN(i)=mN(i)+pkN(i) VSSプロトコルは、準同形であるので、c1(i),…,cN
(i)は、暗号文cを長さL毎にN個のブロックに分割し
たc1, …,cN の秘密部分をに相当する。従って、前述の
秘密復元処理を実行することによって、暗号文cが復元
され、公開される。
C1 (i) = m1 (i) + pk1 (i), ..., cN (i) = mN (i) + pkN (i) Since the VSS protocol is homomorphic, c1 (i) ,. , cN
(i) corresponds to the secret part of c1, ..., CN obtained by dividing the ciphertext c into N blocks for each length L. Therefore, the ciphertext c is restored and published by executing the above secret restoration process.

【0082】これにより、秘密鍵pkを持つ通信システ
ム内の装置は、公開された暗号文cから元のメッセージ
mを復号することができる。但し、秘密鍵pkは使い捨
てであり、再度使用されることはない。
As a result, the device in the communication system having the secret key pk can decrypt the original message m from the published ciphertext c. However, the private key pk is disposable and will not be used again.

【0083】[公開データの分散秘密鍵暗号化/復号]
メッセージmが公開されている場合には、上述の暗号プ
ロトコルでは、公開された暗号cからメッセージmを引
くことにより、秘密鍵pkが知られてしますという問題
が生じる。そこで、公開データについては、図9の(b)
に示すようなプロトコルを用いる。
[Distributed Private Key Encryption / Decryption of Public Data]
In the case where the message m is open to the public, the above-mentioned cryptographic protocol causes a problem that the secret key pk is known by subtracting the message m from the publicized cipher c. Therefore, regarding the public data, (b) in FIG.
The protocol shown in is used.

【0084】前記の場合と同様、メッセージmは、長さ
LのN個のブロックm1, …,mN で構成されているものと
する。但し、その内容は、メンバには既知の公開データ
であるとする。また、秘密鍵pkはメッセージmの2倍
の長さを持ち、長さLの2N個のブロックpk1 1,pk1 2,
…pkN 1,pkN 2 に分割される。このpkは各メンバ間で
秘密に分散され、メンバAS(i) は、各々の秘密部分pk
1 1(i),pk1 2(i),…pkN 1(i),pkN 2(i) を持つ。
As in the above case, it is assumed that the message m is composed of N blocks m 1, ..., MN of length L. However, it is assumed that the contents are public data known to members. The secret key pk has a length twice that of the message m, and 2N blocks pk1 having a length L. 1, pk1 2,
... pkN 1, pkN Divided into two. This pk is secretly distributed among the members, and the member AS (i) is the secret part pk of each member.
1 1 (i), pk1 2 (i), ... pkN 1 (i), pkN Has 2 (i).

【0085】秘密鍵pkpkを用いたメッセージmの秘
密鍵pk暗号処理を実現するために、各メンバAS(i)
は、与えられた 有限体上の次の演算をブロック毎に行
う。但し、下記の式では、・は乗算、+は加算を表して
いる。
In order to realize the private key pk cryptographic processing of the message m using the private key pkpk, each member AS (i)
Performs the following operation on the given finite field for each block. However, in the equations below, · represents multiplication and + represents addition.

【0086】c1(i)=m1・pk1 1(i)+pk1 2(i), …, cN(i)=
mN・pkN 1(i)+pkN 2(i) VSSプロトコルは、線形結合に対しても、準同形であ
るので、c1(i),…,cN(i)は、暗号文cを長さL毎にN個
のブロックに分割したc1, …,cN の秘密部分をに相当す
る。従って、前述の秘密復元処理を実行することによっ
て、暗号文cが復元され、公開される。
C1 (i) = m1 · pk1 1 (i) + pk1 2 (i),…, cN (i) =
mN ・ pkN 1 (i) + pkN Since the 2 (i) VSS protocol is homomorphic even for linear combinations, c1 (i), ..., cN (i) divides the ciphertext c into N blocks for each length L. Corresponds to the secret part of c1,…, cN. Therefore, the ciphertext c is restored and published by executing the above secret restoration process.

【0087】以上の様に、本プロトコルは、pkj 1 とpk
j 2 (j=1, …,N) の2種類の鍵を用いるので、メッセー
ジmが公開のデータであっても、秘密鍵pkは知られる
個とがない。ここで、長さLは短い方が暗号化の演算が
簡単となるが、改竄者が暗号文cを偽の暗号文c’に変
更して、偽のメッセージm’を得させることができる確
率は、2-L であるので、安全面からはLを余り小さくす
ることはできない。よって、Lは、32程度が適当であ
る。
As described above, this protocol uses pkj 1 and pk
j Since two types of keys of 2 (j = 1, ..., N) are used, even if the message m is public data, there is no known secret key pk. Here, the shorter the length L is, the easier the encryption operation is, but the probability that the tamperer can change the ciphertext c into the fake ciphertext c ′ and obtain the fake message m ′ Is 2 -L , so L cannot be made too small for safety reasons. Therefore, about 32 is suitable for L.

【0088】復号に関しては、秘密鍵pkを共有する通
信システム内の装置は、秘密鍵pkと暗号文cを長さL
毎に分解して、pkj 1 ,pkj 2 とcj(cj-pkj 2)/pkj 1の
演算を実行することにより、mjを得ることができる。こ
れにより、元のメッセージmを復号することができる。
但し、この場合も、秘密鍵pkは使い捨てであり、再度
使用されることはない。
Regarding the decryption, the devices in the communication system sharing the secret key pk share the secret key pk and the ciphertext c with the length L.
Disassemble for each, pkj 1, pkj 2 and cj (cj-pkj 2) / pkj By executing the operation of 1, mj can be obtained. This allows the original message m to be decrypted.
However, in this case as well, the private key pk is disposable and will not be used again.

【0089】[認証プロトコル]以上のプロトコルを用
いて、共通鍵を用いた認証が従来の集中認証サーバに代
わり、分散認証サーバにより、以下のようにして実現さ
れる。
[Authentication Protocol] Using the above protocol, authentication using a common key is realized by the distributed authentication server instead of the conventional centralized authentication server as follows.

【0090】認証プロトコルは、証明者が分散認証サー
バから認証メッセージを受け取るための通信と、証明者
が認証社に認証データを示すための通信とを含む。これ
を「オンライン処理」と呼ぶ。ところで、このオンライ
ン処理を行う前提として、分散認証サーバと証明者や認
証者となる装置との間の秘密鍵の共有処理や、分散認証
サーバによる会話鍵の生成処理を必要とする。これを
「オフライン処理」と呼ぶ。このオフライン処理は、オ
ンライン処理中に秘密鍵や会話鍵が必要となる度に実行
してもよいが、それではオンライン処理の処理時間や通
信時間が長くなってしまう。
The authentication protocol includes communication for the prover to receive the authentication message from the distributed authentication server and communication for the prover to show the authentication data to the authentication company. This is called "online processing". By the way, as a premise of performing this online processing, a shared key sharing process between the distributed authentication server and a device that is a certifier or an authenticator, and a conversation key generation process by the distributed authentication server are required. This is called "offline processing". This off-line processing may be executed every time a secret key or a conversation key is required during online processing, but this will increase the processing time and communication time of online processing.

【0091】そこで、オフライン処理をオンライン処理
に先立って実行しておくことで、オンライン処理を効率
よく行うことができる。以下に、図10の(a) につき
「オフライン処理」を、(b) につき「オンライン処理」
を説明する。
Therefore, by executing the offline processing prior to the online processing, the online processing can be efficiently performed. Below, "offline processing" for (a) and "online processing" for (b) in FIG.
Will be explained.

【0092】[オフライン処理]分散認証サーバを構成
するメンバ間であらかじめ共有される必要のある情報
は、全装置の秘密鍵に関する情報である。しかしなが
ら、分散秘密鍵暗号化/復号プロトコルにつき説明した
ように、証明者と分散認証サーバ間で用いられる秘密鍵
はメッセージ後とに使い捨てであるので、非常に多くの
鍵を生成する必要がある。この処理は、以下の秘密鍵配
送処理により実行される。また、証明者と認証者との間
の会話鍵として用いられる分散疑似乱数の生成処理も、
以下のようにオフラインで実行される。
[Offline Processing] The information that needs to be shared in advance among the members constituting the distributed authentication server is the information regarding the secret keys of all the devices. However, as described with respect to the distributed secret key encryption / decryption protocol, the secret key used between the prover and the distributed authentication server is disposable after the message, and therefore it is necessary to generate a large number of keys. This processing is executed by the following private key delivery processing. Also, the distributed pseudo-random number generation process used as a conversation key between the prover and the authenticator is
It is executed offline as follows.

【0093】[秘密鍵配送処理]通信システム内で、認
証を受けたい装置jは、予め、前述の秘密分散処理によ
って任意に選んだ十分大きな個数Mの疑似乱数pkj 1,
…,pkj M を各メンバに分散する。これにより、メンバ
AS(i) はその疑似乱数の秘密部分pkj 1(i), …,pkj M
(i) を受け取る。但し、jが正しく秘密を分散していな
ければ、jは自分の秘密鍵pkjを用いて認証サービス
を受けられなくなるだけなので、分散された情報が正し
いかどうかを確認する後処理は、この場合は省略しても
よい。また、jとメンバ間に、jが嘘をついていないこ
とを全員で確認するための放送型通信路がなくても構わ
ない。
[Private Key Distribution Processing] In the communication system, the device j to be authenticated is a sufficiently large number M of pseudo-random numbers pkj arbitrarily selected in advance by the secret sharing processing described above. 1,
…, Pkj Distribute M to each member. As a result, the member AS (i) has the secret part pkj of the pseudo-random number. 1 (i),…, pkj M
Receive (i). However, if j does not correctly distribute secrets, j will not be able to receive the authentication service by using his own secret key pkj. Therefore, the post-processing for confirming whether the distributed information is correct is It may be omitted. Further, there is no need to have a broadcast communication channel between j and the member to confirm that j is not lying.

【0094】この処理では、jは十分大きな数の秘密鍵
pkj i (i=1, …,M) を、各メンバh(h=1, …,k) は、そ
の秘密部分であるpkj i(h)(i=1, …,M) を、リストとし
て保持する。前述したように、秘密鍵は使い捨てである
ので、jと各メンバhとは、それぞれ、次に利用する鍵
のリスト上の位置を示すインデックスpkj 、pkj(h)を保
持しておく。そして、jは処理に余裕がある時に秘密鍵
を生成し、通信システムが空いている時にこの秘密を分
散するようにして、更新を続ける。
In this processing, j is a sufficiently large number of secret keys.
pkj i (i = 1, ..., M) and each member h (h = 1, ..., k) is a secret part of pkj i (h) (i = 1, ..., M) is held as a list. As described above, since the private key is disposable, j and each member h hold the indexes pkj and pkj (h) indicating the position on the list of the key to be used next, respectively. Then, j generates a secret key when there is enough processing capacity, and disperses this secret when the communication system is idle, and continues updating.

【0095】[疑似乱数生成処理]図11に示すよう
に、秘密鍵配送処理と同様に、証明者と認証者との間で
用いられる会話鍵である分散疑似乱数r1, …,rQ も、オ
フライン処理によって生成あれ、リストとして保持され
る。分散疑似乱数の生成は、前述の分散疑似乱数生成プ
ロトコルで述べたように、全てのメンバが疑似乱数の分
散処理を行う必要があるが、全てのメンバが同時に実行
する必要はないので、各メンバは処理と通信システムに
余裕がある場合に、この処理を実行し、他のメンバに分
散しておけば良い。これにより、各メンバは分散された
疑似乱数r1(j),…,rQ(j)をリストとして、その使用位置
を示すインデックスと共に保持する。
[Pseudo-random number generation process] As shown in FIG. 11, the distributed pseudo-random number r1, ..., RQ which is a conversation key used between the prover and the authenticator is also offline as in the secret key distribution process. It is generated by processing and is retained as a list. As described in the distributed pseudo random number generation protocol above, all members need to perform distributed processing of pseudo random numbers, but not all members need to perform distributed pseudo random number generation at the same time. If the processing and communication system have a margin, this processing may be executed and distributed to other members. As a result, each member holds the distributed pseudo-random number r1 (j), ..., RQ (j) as a list together with an index indicating its use position.

【0096】[オンライン処理]通信システム内のクラ
イアントP(証明者)がサーバV(認証者)に送るため
の認証子を分散認証サーバから得るためのオンライン認
証プロトコルは、以下のステップS1〜4により行われ
る。
[Online Processing] The online authentication protocol for obtaining an authenticator for the client P (certifier) in the communication system to send to the server V (certifier) from the distributed authentication server is as follows. Done.

【0097】(ステップS1)クライアントPは、通常
の通信路を用いてAUTH REQUESTとして示される情報{id
P,id V,s}を含む要求メッセージ101を分散認証サー
バを構成するメンバに送る。但し、id Pはクライアント
Pを、id VはサーバVを特定するデータであり、s は任
意に選ばれた乱数である。
(Step S1) The client P uses the normal communication path to AUTH Information shown as REQUEST {id
P, id A request message 101 including V, s} is sent to the members constituting the distributed authentication server. However, id P is the client P, id V is data that identifies the server V, and s is a randomly selected random number.

【0098】(ステップS2)AUTH REQUESTを受け取っ
たメンバは、次の処理ステップS21〜26を行う。
(Step S2) AUTH The member receiving the REQUEST performs the following processing steps S21 to S26.

【0099】(ステップS21)現在の時刻を示すタイ
ムスタンプを放送し、共通の時刻を確認する。
(Step S21) A time stamp showing the current time is broadcast to confirm the common time.

【0100】(ステップS22)分散秘密データの分散
秘密鍵暗号化プロトコルを利用して、証明者と認証者と
の間の会話鍵ck1,…,ckaとして用いる分散疑似乱数rz,
…,rz+a-1 をpkV x,…,pkV x+a-1を秘密の暗号鍵として
暗号化する。但し、a は疑似乱数の数を表し、z とx
は、それぞれ疑似乱数リスト及び秘密鍵pkリストの始
まりを表すインデックスである。このとき、z とx は、
それぞれz=z+a,x=x+a と更新される。このようにして暗
号化された結果をCT 1, …, CT aとする。
(Step S22) A distributed pseudo-random number rz, which is used as a conversation key ck1, ..., cka between the prover and the authenticator by using the distributed secret key encryption protocol of the distributed secret data.
…, Rz + a-1 to pkV x,…, pkV Encrypt x + a-1 as a secret encryption key. Where a is the number of pseudo-random numbers, z and x
Are indexes that represent the beginnings of the pseudo random number list and the secret key pk list, respectively. Then z and x are
They are updated as z = z + a and x = x + a respectively. The result encrypted in this way is CT 1,…, CT Let a.

【0101】(ステップS23)公開データの分散秘密
鍵暗号化プロトコルを利用して、公開のタイムスタンプ
と証明者の識別子であるid PをステップS22と同じ秘
密鍵pkリストから2b個の秘密鍵pkV x,…,pkV x+2b に
よって暗号化する。そしてx=x+2b+1と更新する。この暗
号化の結果をCT a+1, …, CT a+bとし、ステップS
22の結果と併せてCT 1, …, CT a+bとし、ステッ
プS22で更新前のインデックスxと併せて認証子とす
る。
(Step S23) Using the distributed secret key encryption protocol for public data, the public time stamp and the identifier of the prover, id Let P be 2b secret keys pkV from the same secret key pk list as in step S22. x,…, pkV Encrypt with x + 2b. Then update x = x + 2b + 1. The result of this encryption is CT a + 1,…, CT a + b, step S
CT with 22 results 1,…, CT It is set to a + b, and is used as an authenticator together with the index x before update in step S22.

【0102】(ステップS24)分散秘密データの分散
秘密鍵暗号化プロトコルを利用して、ステップS23で
得られた認証者用の暗号文CT 1, …, CT a+bと、ス
テップS22で用いた共通鍵ck1,…,ckaを2a+b個の秘密
鍵pkP y,…,pkP y+2a+b を暗号鍵として暗号化する。但
し、y は証明者との秘密鍵リストの始まりを示すインデ
ックスであり、y=y+2a+b+1と更新される。このようにし
て暗号化された結果をCCT 1, …, CCT 2a+b とす
る。
(Step S24) Using the distributed secret key encryption protocol of the distributed secret data, the ciphertext CT for the authenticator obtained in step S23 1,…, CT a + b and the common keys ck1, ..., cka used in step S22 are 2a + b secret keys pkP y,…, pkP Encrypt with y + 2a + b as the encryption key. However, y is an index indicating the beginning of the private key list with the prover, and is updated as y = y + 2a + b + 1. The result encrypted in this way is CCT 1,…, CCT 2a + b.

【0103】(ステップS25)公開データの分散秘密
鍵暗号化プロトコルを利用して、ステップS1で公開さ
れた疑似乱数s と認証者の識別子であるid Vをステップ
S24と同じ秘密鍵リストから2c個の秘密鍵pkP y,…,p
kP y+2c によって暗号化する。そして、y=y+2c+1と更新
される。このようにして暗号化された結果をCCT 2a+
b+1,…, CCT 2a+b+c とし、ステップS24の結果と
併せてCCT 1, …,CCT 2a+b+c とする。
(Step S25) Using the distributed secret key encryption protocol for public data, the pseudo random number s publicized in step S1 and the identifier of the authenticator, id 2c secret keys pkP from the same secret key list as in step S24 y,…, p
kP Encrypt with y + 2c. Then, it is updated as y = y + 2c + 1. The result encrypted in this way is CCT 2a +
b + 1,…, CCT 2a + b + c and CCT together with the result of step S24 1,…, CCT 2a + b + c.

【0104】(ステップS26)秘密復元処理を用い
て、秘密に分散されたCCT 1, …,CCT 2a+b+c が
復元され、証明者であるクライアントPに、ステップS
24で更新される前のインデックスy と併せて、認証メ
ッセージ102として、通常の通信路を用いて送信す
る。
(Step S26) Secretly-distributed CCTs are secretly distributed using the secret restoration processing. 1,…, CCT 2a + b + c is restored, and the client P, who is the prover, performs the step S
Along with the index y before being updated in 24, the authentication message 102 is transmitted using a normal communication path.

【0105】(ステップS3)証明者Pは、受け取った
インデックスy と、自分の秘密鍵リストからの秘密鍵pk
P y,…,pkP y+2a+b+2cによって、受け取ったデータCC
1, …, CCT 2a+b+c から、公開データの分散秘密
鍵復号プロトコルを利用して、疑似乱数ckを復号す
る。そして、復号されたsとid Vが正しいことを確認す
る。正しいことが確認されれば、復号された疑似乱数c
kを認証者との共通鍵として記憶し、復号された認証子
103を認証者Vに送信する。
(Step S3) The prover P receives the index y and the secret key pk from his own secret key list.
P y,…, pkP Data CC received by y + 2a + b + 2c
T 1,…, CCT The pseudo random number ck is decrypted from 2a + b + c by using the distributed secret key decryption protocol of public data. And the decrypted s and id Make sure V is correct. If it is confirmed to be correct, the decrypted pseudo random number c
k is stored as a common key with the authenticator, and the decrypted authenticator 103 is transmitted to the authenticator V.

【0106】(ステップS4)認証者Vは、認証子に含
まれ得るインデックスxと自分の秘密鍵リストからのpk
V x,…,pkV x+a+2b とによって、受け取った認証子か
ら、公開データの分散秘密鍵復号プロトコルを利用し
て、タイムスタンプと証明者の識別子id Pとを復号し、
分散秘密データの分散秘密鍵復号プロトコルを利用し
て、疑似乱数ckを復号する。そして、復号されたタイ
ムスタンプと識別子id Pとが正しいことを確認する。正
しいことが確認されれば、証明者Pを認証し、復号され
た疑似乱数ckを認証者との共通鍵として記憶する。
(Step S4) The authenticator V uses the index x that can be included in the authenticator and pk from his own private key list.
V x,…, pkV With x + a + 2b, from the received authenticator, using the distributed private key decryption protocol of public data, the time stamp and the identifier id of the prover Decrypt P and
The pseudo random number ck is decrypted using the shared secret key decryption protocol of the shared secret data. And the decrypted time stamp and identifier id Make sure that P and are correct. If it is confirmed to be correct, the prover P is authenticated and the decrypted pseudo random number ck is stored as a common key with the authenticator.

【0107】[実施例2]上述の実施例1では、証明者
が認証者に送る認証子を攻撃者が盗聴し、記憶しておけ
ば、攻撃者は、その認証子を認証者に示すことによっ
て、証明者が意図しないサービスを認証者に要求するこ
とができ、証明者を混乱させることができる。この攻撃
は、リプレイ攻撃と呼ばれている。
[Embodiment 2] In Embodiment 1 described above, if the attacker eavesdrops and stores the authenticator sent by the prover to the authenticator, the attacker shows the authenticator to the authenticator. With this, the certifier can request a service that the certifier does not intend, and the certifier can be confused. This attack is called a replay attack.

【0108】そこで、本実施例では、このリプレイ攻撃
を和らげるために、実施例1のオンライン処理のステッ
プS3において証明者が認証者に送る認証子に、交信さ
れた時間情報を更に付加する。この手順を図15に示
す。本実施例は、実施例1とオンライン処理のステップ
S3と4に加えて、ステップS3’と4’を行う点でだ
け異なり、他は同じであるので、このステップS3’と
4’についてだけ説明する。
Therefore, in this embodiment, in order to mitigate this replay attack, the time information communicated is further added to the authenticator sent by the prover to the authenticator in step S3 of the online processing of the first embodiment. This procedure is shown in FIG. The present embodiment is different from the first embodiment only in that steps S3 ′ and 4 ′ are performed in addition to the steps S3 and 4 of the online processing, and the other points are the same. Therefore, only steps S3 ′ and 4 ′ will be described. To do.

【0109】(ステップS3’)証明者は、実施例1の
ステップS3を実行した後で、得られた会話鍵ckを用
いて新しいタイムスタンプT2と証明者の識別子id Pを
暗号化した{T2,id P}^ckを認証子とあわせて認
証者に送る。
(Step S3 ') After performing step S3 of the first embodiment, the prover uses the obtained conversation key ck to obtain a new time stamp T2 and the identifier id of the prover. P encrypted {T2, id Send P} ^ ck to the authenticator together with the authenticator.

【0110】(ステップS4’)認証者は、実施例1の
ステップS4を実行して認証子を複合した後で、得られ
た会話鍵ckを用いて付属メッセージ{T2,id P}^
ckを復号し、タイムスタンプT2と証明者の識別子id
Pを確かめ、T2が古ければ、サービス要求を受けつけ
ない。
(Step S4 ') The authenticator executes step S4 of the first embodiment to combine the authenticators, and then uses the obtained conversation key ck to attach the attached message {T2, id P} ^
ck is decrypted, the time stamp T2 and the certifier identifier id
If P is confirmed and T2 is old, the service request cannot be accepted.

【0111】[0111]

【発明の効果】以上説明したように、本発明によれば、
従来の集中管理型の認証サーバに比して、サーバの信頼
性、安全性に優れ、分散認証サーバを構成する過半数の
装置が信頼できれば、以下のような効果を得ることがで
きる。
As described above, according to the present invention,
The following effects can be obtained if the server is superior in reliability and security to the conventional centralized management type authentication server and if a majority of the devices constituting the distributed authentication server can be trusted.

【0112】分散認証プロトコルによって、証明者や認
証者に対して従来の集中管理による認証プロトコルと同
一の認証機能を果たし、かつ、高いフォールトトレラン
スを実現する。
The distributed authentication protocol fulfills the same authentication function as the authentication protocol by the conventional centralized management for the prover and the authenticator, and realizes high fault tolerance.

【0113】証明者や認証者に対して、分散認証プロト
コルのオンライン処理は、従来の認証プロトコルと同一
のインタフェース(データ形式)を保証するので、従来
の認証サーバと簡単に置き換えることができる。
The online processing of the distributed authentication protocol guarantees the same interface (data format) as the conventional authentication protocol to the prover and the authenticator, and thus can be easily replaced with the conventional authentication server.

【0114】証明者や認証者に対して、分散認証プロト
コルのオンライン処理は、従来の認証プロトコルと同一
の計算量で実現される。
For the prover and the authenticator, the online processing of the distributed authentication protocol is realized with the same calculation amount as the conventional authentication protocol.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の1実施例における通信システムのブロ
ック構成を示す図である。
FIG. 1 is a diagram showing a block configuration of a communication system in an embodiment of the present invention.

【図2】システムの各装置のブロック構成を示す図であ
る。
FIG. 2 is a diagram showing a block configuration of each device of the system.

【図3】秘密と部分行列との関係を示す図である。FIG. 3 is a diagram showing a relationship between a secret and a submatrix.

【図4】一方向性ハッシュ関数による処理を示す図であ
る。
FIG. 4 is a diagram showing processing by a one-way hash function.

【図5】秘密分散処理の手順を示す図である。FIG. 5 is a diagram showing a procedure of secret sharing processing.

【図6】秘密復元処理の手順を示す図である。FIG. 6 is a diagram showing a procedure of a secret restoration process.

【図7】分散された秘密の線形結合処理を説明する図で
ある。
FIG. 7 is a diagram illustrating distributed secret linear combination processing.

【図8】疑似乱数の分散生成処理の手順を示す図であ
る。
FIG. 8 is a diagram showing a procedure of a pseudo random number distributed generation process.

【図9】分散秘密鍵暗号処理の手順を示す図である。FIG. 9 is a diagram showing a procedure of distributed secret key encryption processing.

【図10】分散認証プロトコルの手順を示す図である。FIG. 10 is a diagram showing a procedure of a distributed authentication protocol.

【図11】オフラインの疑似乱数生成処理の手順を示す
図である。
FIG. 11 is a diagram showing a procedure of offline pseudo-random number generation processing.

【図12】オフラインの秘密鍵配送処理の手順を示す図
である。
FIG. 12 is a diagram showing a procedure of offline secret key distribution processing.

【図13】分散認証プロトコルの手順を示す図である。FIG. 13 is a diagram showing a procedure of a distributed authentication protocol.

【図14】分散認証プロトコルの手順を示す図である。FIG. 14 is a diagram showing a procedure of a distributed authentication protocol.

【図15】実施例2の分散認証プロトコルの手順を示す
図である。
FIG. 15 is a diagram illustrating a procedure of a distributed authentication protocol according to the second embodiment.

【図16】従来の認証プロトコルの手順を示す図であ
る。
FIG. 16 is a diagram showing a procedure of a conventional authentication protocol.

【符号の説明】[Explanation of symbols]

11 秘密通信路 12 放送通信路 13 通常の通信路 14 分散認証サーバを構成する装置 15 クライアントやサーバとなる装置 21 通信部 22 演算処理部 23 乱数発生部 24 記憶部 101 要求メッセージ 102 認証メッセージ 103 認証子 161 証明者 162 認証者 163 認証センタ 164、165、166 データ 11 secret communication channel 12 broadcast communication channel 13 ordinary communication channel 14 device constituting distributed authentication server 15 device serving as client or server 21 communication unit 22 arithmetic processing unit 23 random number generation unit 24 storage unit 101 request message 102 authentication message 103 authentication Child 161 Certifier 162 Authenticator 163 Authentication Center 164, 165, 166 Data

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 15/00 330 C 9364−5L G09C 1/00 7259−5J H04L 29/06 ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI Technical display location G06F 15/00 330 C 9364-5L G09C 1/00 7259-5J H04L 29/06

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 分散認証サーバを構成する複数の装置を
含む複数の装置が接続された通信システムにおいて、 認証者側装置に認証されることを求める証明者側装置
が、分散認証サーバを構成する各装置に、証明者及び認
証者の識別子を含む認証要求メッセージを送信し、 分散認証サーバを構成する各装置が共同して、前記認証
要求メッセージに基づいて、認証者に関する秘密鍵で暗
号化された認証子を生成し、該認証子を証明者に関する
秘密鍵で暗号化して認証メッセージを生成し、 分散認証サーバを構成する各装置が、前記認証メッセー
ジを前記証明者側装置に送信し、 前記認証メッセージを受信した前記証明者側装置が、当
該認証メッセージを復号し、得られた認証子を前記認証
者側装置に送信し、 前記認証子を受信した前記認証者側装置が、該認証子を
復号して証明者を認証することを特徴とする認証方法。
1. In a communication system to which a plurality of devices including a plurality of devices forming a distributed authentication server are connected, a certifier side device that is required to be authenticated by a certifier side device constitutes a distributed authentication server. An authentication request message containing the identifiers of the certifier and the certifier is sent to each device, and each device that constitutes the distributed authentication server jointly encrypts with the secret key for the certifier based on the authentication request message. Generating an authenticator, encrypting the authenticator with a secret key relating to a prover to generate an authentication message, each device constituting the distributed authentication server transmits the authentication message to the prover side device, and The certifier side device that receives the authentication message decrypts the authentication message, transmits the obtained certifier to the certifier side device, and the certifier side that receives the certifier Authentication method location, characterized in that to authenticate the prover decodes the 該認 Akashiko.
【請求項2】 前記分散認証サーバを構成する各装置が
共同して、前記証明者側装置及び前記認証者側装置に、
当該両装置間の暗号通信に利用する共通鍵を送信するこ
とを特徴とする請求項1に記載の認証方法。
2. The respective devices constituting the distributed authentication server jointly cooperate with the certifier side device and the certifier side device,
The authentication method according to claim 1, wherein a common key used for encrypted communication between the two devices is transmitted.
【請求項3】 前記分散認証サーバを構成する各装置
が、前記証明者側装置に、前記共通鍵を前記認証メッセ
ージに含めて送信することを特徴とする請求項2に記載
の認証方法。
3. The authentication method according to claim 2, wherein each device constituting the distributed authentication server transmits the common key included in the authentication message to the certifier side device.
【請求項4】 前記分散認証サーバを構成する各装置
が、前記認証者側装置に、前記共通鍵を前記認証子に含
めて送信することを特徴とする請求項2に記載の認証方
法。
4. The authentication method according to claim 2, wherein each device constituting the distributed authentication server transmits the common key included in the authenticator to the authenticator side device.
【請求項5】 前記証明者側装置及び前記認証者側装置
間の暗号通信に利用する共通鍵を、確認可能な秘密分散
処理を利用して、分散された疑似乱数として、分散認証
サーバを構成する各装置が共同して生成することを特徴
とする請求項1に記載の認証方法。
5. A distributed authentication server is configured by using a common key used for encrypted communication between the certifier side device and the certifier side device as a pseudo-random number distributed using a secret sharing process that can be confirmed. The authentication method according to claim 1, wherein the devices are jointly generated.
【請求項6】 前記分散認証サーバを構成する各装置に
おいて、秘密鍵による暗号化を、暗号化すべきデータを
複数のブロックに分割し、分割された各ブロックに、そ
れぞれ異なる秘密鍵を所定の有限体上で加算することで
実行することを特徴とする請求項1に記載の認証方法。
6. In each device constituting the distributed authentication server, encryption by a secret key is performed by dividing data to be encrypted into a plurality of blocks, and each of the divided blocks is provided with a different finite secret key. The authentication method according to claim 1, wherein the authentication method is performed by performing addition on the body.
【請求項7】 前記分散認証サーバを構成する各装置に
おいて、秘密鍵による暗号化を、暗号化すべきデータを
複数のブロックに分割し、分割された各ブロックに、そ
れぞれ異なる秘密鍵を所定の有限体上で乗じ、各乗算結
果に更にそれぞれ異なる秘密鍵を加算することで実行す
ることを特徴とする請求項1に記載の認証方法。
7. In each device constituting the distributed authentication server, encryption with a secret key is performed by dividing the data to be encrypted into a plurality of blocks, and each divided block is provided with a different finite secret key. The authentication method according to claim 1, wherein the authentication is performed by multiplying on the body and further adding different secret keys to each multiplication result.
【請求項8】 通信システムを構成する各装置が、当該
装置に関する秘密鍵を、前記分散認証サーバを構成する
各装置に、秘密分散処理により分散配布することを特徴
とする請求項1に記載の認証方法。
8. The device according to claim 1, wherein each device forming the communication system distributes and distributes a secret key related to the device to each device forming the distributed authentication server by a secret sharing process. Authentication method.
【請求項9】 前記証明者側装置が、前記認証子を前記
認証者側装置に送信する際に、当該認証子をタイムスタ
ンプと共に、当該証明者側装置と認証者側装置とで共通
する共通鍵を用いて暗号化して送信し、 前記認証者側装置が、前記証明者側装置からの受信情報
を前記共通鍵を用いて復号してタイムスタンプを確認す
ることを特徴とする請求項1に記載の認証方法。
9. When the certifier side device transmits the certifier to the certifier side device, the certifier and the certifier side device are common to the certifier side device and the certifier side device together with a time stamp. The encryption is transmitted using a key, and the authenticator side device decrypts the received information from the prover side device using the common key to confirm the time stamp. The listed authentication method.
JP00818495A 1994-07-29 1995-01-23 Authentication method in a communication system having a plurality of devices Expired - Fee Related JP3610106B2 (en)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP17848394A JP3604737B2 (en) 1994-07-29 1994-07-29 Secret information processing method in communication system having a plurality of information processing devices and communication system thereof
JP00818495A JP3610106B2 (en) 1995-01-23 1995-01-23 Authentication method in a communication system having a plurality of devices
AU27198/95A AU702563B2 (en) 1994-07-29 1995-07-26 A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method
DE69534192T DE69534192T2 (en) 1994-07-29 1995-07-26 A method for sharing secret information, generating a digital signature, and performing authentication in a communication system having a plurality of information processing devices and communication system for applying this method
AT95305211T ATE295644T1 (en) 1994-07-29 1995-07-26 METHOD FOR SHARING SECRET INFORMATION, GENERATING A DIGITAL SIGNATURE AND EXECUTING A CERTIFICATION IN A COMMUNICATIONS SYSTEM WITH MULTIPLE INFORMATION PROCESSING DEVICES AND COMMUNICATIONS SYSTEM FOR APPLYING THIS METHOD
US08/507,524 US5708714A (en) 1994-07-29 1995-07-26 Method for sharing secret information and performing certification in a communication system that has a plurality of information processing apparatuses
EP95305211A EP0695056B1 (en) 1994-07-29 1995-07-26 A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method
CA002154970A CA2154970C (en) 1994-07-29 1995-07-28 Method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information procesing apparatuses and a communication system that employs such a method
CN 95115810 CN1092434C (en) 1994-07-29 1995-07-28 Method for sharing secret information, generating digital signature, and performing certification in communication system that has plurality of information processing apparatus and communication......
KR1019950023701A KR0148300B1 (en) 1994-07-29 1995-07-29 Method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatus and a communication system that employs such a method
HK98112822A HK1011809A1 (en) 1994-07-29 1998-12-04 A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00818495A JP3610106B2 (en) 1995-01-23 1995-01-23 Authentication method in a communication system having a plurality of devices

Publications (2)

Publication Number Publication Date
JPH08204696A true JPH08204696A (en) 1996-08-09
JP3610106B2 JP3610106B2 (en) 2005-01-12

Family

ID=33156404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00818495A Expired - Fee Related JP3610106B2 (en) 1994-07-29 1995-01-23 Authentication method in a communication system having a plurality of devices

Country Status (1)

Country Link
JP (1) JP3610106B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000072381A (en) * 2000-08-11 2000-12-05 이원영 Anti-snooping authentication system
JP2002099856A (en) * 2000-09-25 2002-04-05 Nec Software Hokuriku Ltd Card information handling system on network
WO2008050544A1 (en) * 2006-10-24 2008-05-02 Nec Corporation Distributed information generation device and decoding device
US7913296B2 (en) 2004-06-02 2011-03-22 Canon Kabushiki Kaisha Encrypted communication method and system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000072381A (en) * 2000-08-11 2000-12-05 이원영 Anti-snooping authentication system
JP2002099856A (en) * 2000-09-25 2002-04-05 Nec Software Hokuriku Ltd Card information handling system on network
US7913296B2 (en) 2004-06-02 2011-03-22 Canon Kabushiki Kaisha Encrypted communication method and system
WO2008050544A1 (en) * 2006-10-24 2008-05-02 Nec Corporation Distributed information generation device and decoding device
JP5151987B2 (en) * 2006-10-24 2013-02-27 日本電気株式会社 Distributed information generation apparatus and restoration apparatus
US8397142B2 (en) 2006-10-24 2013-03-12 Nec Corporation Shared information generating apparatus and recovering apparatus

Also Published As

Publication number Publication date
JP3610106B2 (en) 2005-01-12

Similar Documents

Publication Publication Date Title
KR0148300B1 (en) Method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatus and a communication system that employs such a method
US6298153B1 (en) Digital signature method and information communication system and apparatus using such method
Lee et al. Arbitrated quantum signature scheme with message recovery
US7522732B2 (en) Method for controlling the distribution of software code updates
CN106027239B (en) The multi-receiver label decryption method without key escrow based on elliptic curve
US5907618A (en) Method and apparatus for verifiably providing key recovery information in a cryptographic system
CA2197915C (en) Cryptographic key recovery system
CN111342976B (en) Verifiable ideal on-grid threshold proxy re-encryption method and system
US7200752B2 (en) Threshold cryptography scheme for message authentication systems
JPH03128541A (en) System and method for cipher communication
US11870891B2 (en) Certificateless public key encryption using pairings
JPH06350598A (en) Mutual verification/ciphering key delivery system
CN111277412B (en) Data security sharing system and method based on block chain key distribution
US20030012387A1 (en) Communication method with encryption key escrow and recovery
CN115499250B (en) Data encryption method and device
CA2819211A1 (en) Data encryption
EP1366594A2 (en) Threshold cryptography scheme for message authentication systems
Kwon et al. Efficient and secure password-based authentication protocols against guessing attacks
CN114189338B (en) SM9 key secure distribution and management system and method based on homomorphic encryption technology
JP3610106B2 (en) Authentication method in a communication system having a plurality of devices
CN113326326A (en) Method for sending data encryption protection based on block chain
JP3694242B2 (en) Signed cryptographic communication method and apparatus
JPH0846607A (en) Security information processing mthod in communication system having plural information processing units and its communication system
JP3862397B2 (en) Information communication system
CN111200602B (en) Rights-sharing management method, encryption card, administrator lock and cipher machine

Legal Events

Date Code Title Description
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: 20041012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041018

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071022

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101022

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101022

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111022

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111022

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121022

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees