JP7301652B2 - Anonymous authentication method, program, and anonymous authentication system - Google Patents

Anonymous authentication method, program, and anonymous authentication system Download PDF

Info

Publication number
JP7301652B2
JP7301652B2 JP2019130116A JP2019130116A JP7301652B2 JP 7301652 B2 JP7301652 B2 JP 7301652B2 JP 2019130116 A JP2019130116 A JP 2019130116A JP 2019130116 A JP2019130116 A JP 2019130116A JP 7301652 B2 JP7301652 B2 JP 7301652B2
Authority
JP
Japan
Prior art keywords
group
attribute
user
attributes
signature
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.)
Active
Application number
JP2019130116A
Other languages
Japanese (ja)
Other versions
JP2021015218A5 (en
JP2021015218A (en
Inventor
マハラゲ ニサンサラ セウワンディ ペレーラ
徹 中村
真幸 橋本
浩之 横山
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.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
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
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2019130116A priority Critical patent/JP7301652B2/en
Publication of JP2021015218A publication Critical patent/JP2021015218A/en
Publication of JP2021015218A5 publication Critical patent/JP2021015218A5/ja
Application granted granted Critical
Publication of JP7301652B2 publication Critical patent/JP7301652B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、匿名認証技術に関し、特に、グループ署名を利用する匿名認証技術に関する。 The present invention relates to anonymous authentication technology, and more particularly to anonymous authentication technology using group signatures.

所定の属性を有するユーザーのみが匿名での認証を可能にする技術(例えば、特許文献1を参照)として、グループ署名(例えば、属性ベースグループ署名(ABGS:Attribute Based Group Signature))が知られている。例えば、属性ベースグループ署名(ABGS)では、公開鍵暗号方式を用いて、グループ管理者がグループ公開鍵と、ユーザー秘密鍵と、グループ管理用秘密鍵とを生成する。属性ベースグループ署名(ABGS)では、グループユーザーごとに、ユーザー秘密鍵を生成し、各グループユーザーに生成したユーザー秘密鍵が渡される。また、属性ベースグループ署名(ABGS)では、各グループユーザーが有する属性を特定するための属性トークンが生成され、生成された属性トークンが各グループユーザーに渡される。 A group signature (for example, attribute-based group signature (ABGS)) is known as a technology that enables anonymous authentication only for users who have a predetermined attribute (for example, see Patent Document 1). there is For example, in attribute-based group signatures (ABGS), a group administrator generates a group public key, a user private key, and a group management private key using public key cryptography. In attribute-based group signature (ABGS), a user secret key is generated for each group user, and the generated user secret key is passed to each group user. Also, in attribute-based group signature (ABGS), an attribute token is generated for specifying the attribute possessed by each group user, and the generated attribute token is passed to each group user.

そして、属性ベースグループ署名(ABGS)では、ポリシー(Policy)を設定し、当該ポリシーに基づく条件を満たす属性を有するグループユーザーのみが、所定のデータ(例えば、署名を要求する外部ユーザー(例えば、この外部ユーザーの名前を「アリス」とする)のドキュメント)に対して署名をすることができる。つまり、属性ベースグループ署名では、各グループユーザーが、ポリシーにより要求される属性を有していれば、当該グループユーザーが、当該グループユーザーのプライバシーを守りながら(当該グループユーザーを特定するデータ(例えば、当該グループユーザーのID等)を外部に漏らすことなく)、所定のデータ(例えば、署名を要求する外部ユーザー「アリス」のドキュメント)に対して、署名(真正の署名)をすることが可能となる。 Then, in attribute-based group signature (ABGS), a policy is set, and only group users who have attributes that satisfy conditions based on the policy can receive predetermined data (for example, an external user requesting a signature (for example, this). (with the name of an external user as "Alice")). In other words, with attribute-based group signatures, if each group user has the attributes required by the policy, the group user can protect the privacy of the group user (data that identifies the group user (e.g., It is possible to sign (authentic signature) to predetermined data (for example, a document of an external user “Alice” who requests a signature) without leaking the group user’s ID, etc.) to the outside. .

しかしながら、属性ベースグループ署名では、各グループユーザーがユーザー秘密鍵を有しているので、例えば、所定のグループユーザーの属性が変更され、署名をする権限が失効された場合に、依然として、署名を行うことが可能である。 However, with attribute-based group signing, each group user has a user private key, so if, for example, a given group user's attributes are changed and their authority to sign is revoked, they will still be able to sign. Is possible.

このような問題に対処するために、属性ベースグループ署名では、効率的な失効処理(属性失効処理(Attribute Revocation))を行うメカニズムが求められる。属性ベースグループ署名において、効率的な失効処理(属性失効処理(Attribute Revocation))を行う技術として、VLR(Verifier-local Revocation)技術がある。VLR技術では、失効リスト(Revocation list)を用いて、署名が真正であるか否かを判断することができる。つまり、VLR技術では、失効させるグループユーザーの属性を失効リストに記録する。そして、VLR技術では、失効リストに記録されている属性を有しているグループユーザーによる署名は、無効(invalid)であると判定することで、効率的な失効処理(属性失効処理(Attribute Revocation))を実現できる。 To address such problems, attribute-based group signatures require a mechanism for efficient revocation processing (attribute revocation processing). VLR (Verifier-local Revocation) technology is available as a technology for performing efficient revocation processing (attribute revocation processing) in attribute-based group signatures. In VLR technology, a revocation list can be used to determine if a signature is authentic. In other words, in the VLR technology, attributes of group users to be revoked are recorded in the revocation list. In the VLR technology, efficient revocation processing (attribute revocation processing) is performed by determining that a signature by a group user having an attribute recorded in the revocation list is invalid. ) can be realized.

つまり、属性ベースグループ署名と、VLR技術とを用いることで、効率的な失効処理ができる属性ベースグループ署名を実現できる。非特許文献1に、このようなVLRを用いた属性ベースグループ署名についての技術の開示がある。 In other words, by using attribute-based group signatures and VLR technology, it is possible to realize attribute-based group signatures capable of efficient revocation processing. Non-Patent Document 1 discloses a technique for attribute-based group signatures using such VLRs.

ここで、VLRを用いた属性ベースグループ署名(ABGS)について、図面を用いて説明する。 Here, attribute-based group signature (ABGS) using VLR will be described with reference to drawings.

図6は、VLRを用いた属性ベースグループ署名(ABGS)を実行するための認証システム900の概略構成図である。 FIG. 6 is a schematic block diagram of an authentication system 900 for performing attribute-based group signatures (ABGS) using VLRs.

図6に示すように、認証システム900は、グループ管理装置91と、グループユーザー用装置92と、認証装置93と、データ格納部DB9とを備える。グループ管理装置91と、グループユーザー用装置92と、認証装置93とは、例えば、ネットワークにより接続されており、各装置間において、データ通信が可能である。 As shown in FIG. 6, the authentication system 900 includes a group management device 91, a group user device 92, an authentication device 93, and a data storage section DB9. The group management device 91, the group user device 92, and the authentication device 93 are connected by, for example, a network, and data communication is possible between the devices.

(処理1(鍵生成処理(KeyGen))):
処理1において、グループ管理装置91は、公開鍵暗号方式の鍵生成処理を実行する。具体的には、グループ管理装置91は、グループ署名の対象とするグループの公開鍵gpkと、当該グループに属する各グループユーザーの秘密鍵gsk(={gsk[0],gsk[1],・・・,gsk[N-1]})(N:グループユーザーの数)および属性トークンgrt(={grt[0],grt[1],・・・,grt[N-1]})を生成する。
(Processing 1 (key generation processing (KeyGen))):
In process 1, the group management device 91 executes a key generation process for public key cryptography. Specifically, the group management device 91 stores the public key gpk of the group to be the target of the group signature and the private key gsk of each group user belonging to the group (={gsk[0], gsk[1], . . . , gsk[N-1]}) (N: number of group users) and attribute token grt(={grt[0], grt[1], ..., grt[N-1]}) .

なお、説明便宜のため、グループユーザー数N=4として、以下、説明する。 For convenience of explanation, the number of group users N=4 will be explained below.

また、属性トークンgrt(={grt[0],grt[1],・・・,grt[N-1]})は、グループユーザーの有している属性を特定するためのデータである。ここでは、説明便宜のため、属性数が「3」であり、各属性を示す変数を、att,att,attとし、各属性は、例えば、下記の属性を表すものとする。
属性att:会社Bに属していること
属性att:製造チームに属していること
属性att:管理職であること
そして、ユーザーk(k:自然数、0≦k≦N-1)が属性att(j:自然数、1≦j≦3)を有していることを示す表記を「grt[k].att」とする。つまり、各グループユーザーの属性トークンにより、各グループユーザーが有している属性を特定することができる。
An attribute token grt (={grt[0], grt[1], . Here, for convenience of explanation, it is assumed that the number of attributes is "3", variables indicating the attributes are att 1 , att 2 , and att 3 , and the attributes represent, for example, the following attributes.
Attribute att 1 : Belonging to company B Attribute att 2 : Belonging to the manufacturing team Attribute att 3 : Being a manager User k (k: natural number, 0≦k≦N−1) is an attribute The notation indicating having att j (j: natural number, 1≦j≦3) is “grt[k].att j ”. That is, the attribute of each group user can be identified by the attribute token of each group user.

(処理2(ポリシー設定処理)):
処理2において、認証システム900では、ポリシーが設定される。例えば、属性att,att,attを有しているグループユーザーが、署名できるように、ポリシーが設定される。なお、以下では、説明便宜のため、ポリシーにおいて、属性att(例えば、ボブの会社に属していることを示す属性),属性att(例えば、製造チームに属していることを示す属性),属性att(例えば、マネージャーであることを示す属性)を有しているグループユーザーが署名できると設定されているものとする。このように設定されたポリシーが、例えば、認証装置93からグループユーザー用装置92に送信される。
(Processing 2 (policy setting processing)):
In process 2, a policy is set in the authentication system 900 . For example, a policy is set such that a group user with attributes att 1 , att 2 , att 3 can sign. In the following, for convenience of explanation, attributes att 1 (for example, attribute indicating belonging to Bob's company), attribute att 2 (for example, attribute indicating belonging to manufacturing team), It is assumed that group users who have the attribute att 3 (for example, the attribute indicating that they are managers) are set to be able to sign. The policy set in this way is transmitted from the authentication device 93 to the group user device 92, for example.

(処理3(署名処理(Sign))):
処理3において、所定のグループユーザーが署名処理を行う。ここでは、説明便宜のため、グループユーザーIDが「3」(d=3)であるグループユーザー3が、アリス(署名要件者)のドキュメントM(メッセージM)に対して、署名処理を行う場合について、説明する。また、グループユーザー(ユーザー0~ユーザー3)のユーザー秘密鍵、属性トークンは、図7に示すように設定されているものとする。
(Processing 3 (signature processing (Sign))):
In process 3, a predetermined group of users performs a signature process. Here, for convenience of explanation, it is assumed that group user 3 whose group user ID is "3" (d=3) performs signature processing on document M (message M) of Alice (person requiring signature). ,explain. It is also assumed that the user secret keys and attribute tokens of group users (user 0 to user 3) are set as shown in FIG.

設定されているポリシー(ポリシー要求条件)から、属性att、att、attを有しているグループユーザーがアリスのドキュメントMに対して署名できる。ユーザー3は、図7から分かるように、属性att、att、attについての属性トークン(grt[3].att、grt[3].att、grt[3].att)を有しているので、アリスのドキュメントMに対して署名できる(署名する権限を有している)。 From the set policy (policy requirement), the group users with attributes att 1 , att 2 , att 3 can sign document M of Alice. User 3, as can be seen from FIG. 7, has attribute tokens for attributes att1 , att2 , att3 Since it does, it can sign (has the authority to sign) Alice's document M.

そして、ユーザー3のグループユーザー用装置92において、非特許文献1に開示されているように、(1)当該グループユーザー(ここでは、ユーザー3)が有効な属性トークンを有していることを証明するデータと、(2)当該グループユーザー(ここでは、ユーザー3)が有している属性トークンが、失効リストRLに記録されていないことを証明するデータとを含むゼロ知識証明Πを、ゼロ知識証明技術を使用して、生成する。 Then, on the group user device 92 of user 3, as disclosed in Non-Patent Document 1, (1) prove that the group user (here, user 3) has a valid attribute token and (2) data proving that the attribute token possessed by the group user (here, user 3) is not recorded in the revocation list RL. Generate using proof technology.

そして、ユーザー3のグループユーザー用装置92は、生成したゼロ知識証明Πと、メッセージM(署名したドキュメント)とを含む署名データΣ(=(M,Π))を、メッセージMとともに、認証装置93に送信する。 Then, group user device 92 of user 3 sends signature data Σ (=(M, Π)) including generated zero-knowledge proof Π and message M (signed document) together with message M to authentication device 93 Send to

(処理4(検証処理(Verify)):
処理4において、認証装置93は、検証処理を実行する。具体的には、認証装置93は、グループユーザー用端末から受信した署名データΣ(=(M,Π))と、メッセージMと、グループ公開鍵gpkとを用いて、ゼロ知識証明処理を行う。つまり、認証装置93は、ゼロ知識証明技術を用いて、(1)当該グループユーザー(ここでは、ユーザー3)が有効な属性トークンを有しているか否かをチェックし、さらに、(2)失効リストRLを参照し、当該グループユーザー(ここでは、ユーザー3)が有している属性トークンが失効リストRLに記録されているか否かをチェックする。
(Processing 4 (verification processing (Verify)):
In processing 4, the authentication device 93 executes verification processing. Specifically, the authentication device 93 performs zero-knowledge proof processing using the signature data Σ (=(M, Π)) received from the group user terminal, the message M, and the group public key gpk. That is, the authentication device 93 uses zero-knowledge proof technology to (1) check whether the group user (here, user 3) has a valid attribute token, and (2) revocation By referring to the list RL, it is checked whether or not the attribute token possessed by the group user (here, user 3) is recorded in the revocation list RL.

そして、上記のチェックの結果、(1)当該グループユーザー(ここでは、ユーザー3)が有効な属性トークンを有しており、かつ、(2)失効リストRLを参照し、当該グループユーザー(ここでは、ユーザー3)が有している属性トークンが失効リストRLに記録されていない場合、認証装置93は、当該グループユーザー(ここでは、ユーザー3)よるメッセージMに対する署名(グループ署名)が「有効」(Valid)であることを示す検証結果を出力し、上記以外の場合、認証装置93は、当該グループユーザー(ここでは、ユーザー3)よるメッセージMに対する署名(グループ署名)が「無効」(Invalid)であることを示す検証結果を出力する。 Then, as a result of the above checks, (1) the group user (here, user 3) has a valid attribute token, and (2) the revocation list RL is referred to, and the group user (here, user 3) , user 3) is not recorded in the revocation list RL, the authentication device 93 determines that the signature (group signature) on the message M by the group user (here, user 3) is "valid". In other cases, the authentication device 93 determines that the signature (group signature) on the message M by the group user (here, user 3) is “Invalid” (Valid). Output a verification result indicating that

図6、図7の場合(ケース1)、上記(1)、(2)の要件を満たすので、認証装置93は、当該グループユーザー(ここでは、ユーザー3)よるメッセージMに対する署名(グループ署名)が「有効」(Valid)であることを示す検証結果を出力する。 6 and 7 (Case 1), since the above requirements (1) and (2) are satisfied, the authentication device 93 allows the group user (here, user 3) to sign the message M (group signature). Outputs a verification result indicating that is "Valid".

(処理5(失効処理(Revoke)):
次に、認証システム900における失効処理について、説明する。例えば、所定のグループユーザーの属性が変更され、当該グループユーザーに対して、署名権限を失効させる処理について、説明する。
(Processing 5 (revocation processing (Revoke)):
Next, invalidation processing in the authentication system 900 will be described. For example, a process of revoking signature authority for a group user whose attribute is changed will be described.

ここでは、説明便宜のため、ユーザー3(d=3のグループユーザー)が属性attの条件を満たさなくなった場合(例えば、ユーザー3が製造チームから他のチームに移動となり、上記の場合のポリシー要求条件(属性att~attを有していることという条件)を満たさなくなった場合について、以下説明する。 Here, for convenience of explanation, when user 3 (d = 3 group users) no longer satisfies the conditions of attribute att 2 (for example, user 3 moves from the manufacturing team to another team, the policy in the above case A case where the required condition (the condition of having the attributes att 1 to att 3 ) is no longer satisfied will be described below.

この場合、図8に示すように、グループ管理装置91は、失効処理(Revoke)を行う。つまり、ユーザー3(d=3のグループユーザー)の属性トークンgrt[3].attを失効リストRLに記録(追加)する。 In this case, as shown in FIG. 8, the group management device 91 performs revocation processing (Revoke). That is, the attribute token grt[3] . Record (add) att 2 to the revocation list RL.

そして、例えば、上記と同様に、ユーザー3は、署名処理を行った場合について、説明する。 Then, for example, a case where user 3 performs signature processing in the same manner as described above will be described.

この場合、上記の処理3と同様の署名処理が実行され、ユーザー3のグループユーザー用装置92により生成された署名データΣ(=(M,Π))と、メッセージMとが、ユーザー3のグループユーザー用装置92から、認証装置93に送信される。 In this case, a signature process similar to the above process 3 is executed, and the signature data Σ(=(M, Π)) generated by the group user device 92 of user 3 and the message M are transferred to the group of user 3. It is transmitted from the user device 92 to the authentication device 93 .

認証装置93は、上記の処理4と同様に、検証処理を実行する。具体的には、認証装置93は、グループユーザー用端末から受信した署名データΣ(=(M,Π))と、メッセージMと、グループ公開鍵gpkとを用いて、ゼロ知識証明処理を行う。つまり、認証装置93は、ゼロ知識証明技術を用いて、(1)当該グループユーザー(ここでは、ユーザー3)が有効な属性トークンを有しているか否かをチェックし、さらに、(2)失効リストRLを参照し、当該グループユーザー(ここでは、ユーザー3)が有している属性トークンが失効リストRLに記録されているか否かをチェックする。 The authentication device 93 executes the verification process in the same manner as the process 4 described above. Specifically, the authentication device 93 performs zero-knowledge proof processing using the signature data Σ (=(M, Π)) received from the group user terminal, the message M, and the group public key gpk. That is, the authentication device 93 uses zero-knowledge proof technology to (1) check whether the group user (here, user 3) has a valid attribute token, and (2) revocation By referring to the list RL, it is checked whether or not the attribute token possessed by the group user (here, user 3) is recorded in the revocation list RL.

そして、上記のチェックの結果、(1)当該グループユーザー(ここでは、ユーザー3)が有効な属性トークンを有しており、(2)失効リストRLを参照し、当該グループユーザー(ここでは、ユーザー3)が有している属性トークン(ユーザー3(d=3のグループユーザー)の属性トークンgrt[3].att)が失効リストRLに記録されていると判定する。 Then, as a result of the above check, (1) the group user (here, user 3) has a valid attribute token, and (2) the revocation list RL is referred to, and the group user (here, user 3) has an attribute token (attribute token grt[3].att 2 of user 3 (a group user of d=3)) is recorded in the revocation list RL.

そして、認証装置93は、当該グループユーザー(ここでは、ユーザー3)よるメッセージMに対する署名(グループ署名)が「無効」(Invalid)であることを示す検証結果を出力する。つまり、図9の下図に示したように、図8の場合(これをケース2とする)、ユーザー3は、属性トークンgrt[3].att、属性トークンgrt[3].att、属性トークンgrt[3].attを有しているので、メッセージMに対して署名をすることができるが、失効リストRLに、属性トークンgrt[3].attが記録されているため、ユーザー3が署名処理により生成した署名は、検証の結果、「無効」(Invalid)であると判定される。 Then, the authentication device 93 outputs a verification result indicating that the signature (group signature) on the message M by the group user (here, user 3) is "Invalid". That is, as shown in the lower diagram of FIG. 9, in the case of FIG. 8 (this is case 2), the user 3 uses the attribute token grt[3].att 1 , the attribute token grt[3].att 2 , the attribute Since we have the token grt[3] .att3 , we can sign the message M, but since the attribute token grt[3] .att2 is recorded in the revocation list RL, the user As a result of verification, the signature generated by the signature processing by 3 is judged to be "invalid".

以上のように、認証システム900では、失効させる属性トークンを、失効リストRLに記録(追加)するだけで、署名権限を失効させたグループユーザーの署名が無効であることを示す検証結果を出力することができる。したがって、認証システム900では、各グループユーザーのプライバシーを確保しつつ(各グループユーザーを特定する情報の秘匿性を確保しつつ)、グループユーザーの属性の変更にともなう失効処理(Revocation)を、適切かつ効率的に行うことができる。 As described above, the authentication system 900 simply records (adds) the attribute token to be revoked to the revocation list RL, and outputs a verification result indicating that the signature of the group user whose signature authority has been revoked is invalid. be able to. Therefore, in the authentication system 900, while ensuring the privacy of each group user (while ensuring the confidentiality of information identifying each group user), revocation processing (revocation) accompanying changes in group user attributes can be performed appropriately and can be done efficiently.

特開2011-114504号公報JP 2011-114504 A

Y. Zhang, Y. Gan, Y. Yin, and H. Jia, Attribute-Based VLR Group Signature Scheme from Lattices: 18th International Conference, ICA3PP 2018, Guangzhou, China, November 15-17, 2018, Proceedings, Part IV, 11 2018, pp. 600-610.Y. Zhang, Y. Gan, Y. Yin, and H. Jia, Attribute-Based VLR Group Signature Scheme from Lattices: 18th International Conference, ICA3PP 2018, Guangzhou, China, November 15-17, 2018, Proceedings, Part IV, 11 2018, pp. 600-610.

しかしながら、上記の技術では、属性トークンが暗号化されておらず、悪意の第三者が属性トークンを取得した場合、当該悪意の第三者により、失効リストRLが不正に書き換えられ、その結果、ユーザーの匿名性及び属性の匿名性が損なわれる可能性がある。 However, with the above technology, if an attribute token is not encrypted and a malicious third party acquires the attribute token, the malicious third party will illegally rewrite the revocation list RL, resulting in the following: User anonymity and attribute anonymity may be compromised.

例えば、非特許文献1の技術では、非特許文献1に記載されているように、ユーザー秘密鍵が格子暗号により、下記のように生成される。
gsk[d]={ei,1,ei,2i∈{1,2,...,u}
u:属性の数
上記において、ei,1、ei,2は、格子暗号(Lattice-based cryptography)により取得された秘密鍵を構成するデータである。
For example, in the technique of Non-Patent Document 1, as described in Non-Patent Document 1, a user secret key is generated by lattice cryptography as follows.
gsk[d]={e i,1 ,e i,2 } iε{1,2, . . . , u}
u: number of attributes In the above description, e i,1 and e i,2 are data constituting a secret key obtained by lattice-based cryptography.

そして、非特許文献1の技術では、属性トークンgrtが、
grt[d]={u’
u’=(u’d,ii∈{1,2,...,u}=(A・ei,1 mod q)i∈{1,2,...,u}
A∈Zn×m
により生成される。
Then, in the technique of Non-Patent Document 1, the attribute token grt is
grt[d]={u′ d }
u′ d =(u′ d,i ) iε{1,2, . . . , u} =(A·e i,1 mod q) iε{1,2, . . . , u}
A∈Z n×m q
Generated by

つまり、非特許文献1の技術では、ユーザー秘密鍵gsk[d]が漏洩した場合、ユーザー秘密鍵gsk[d]から、ei,1が取得でき、そして、ei,1から、上記演算を行うことで、属性トークンgrtを取得できる。 In other words, in the technique of Non-Patent Document 1, when the user secret key gsk[d] is leaked, ei ,1 can be obtained from the user secret key gsk[d], and from ei ,1 , the above calculation is performed. By doing so, the attribute token grt can be obtained.

すなわち、非特許文献1の技術は、ユーザー秘密鍵が漏洩しないことを前提としており、ユーザー秘密鍵が漏洩した場合に、上記の通り、属性トークンgrtが不正に取得され、不正に取得した属性トークンgrtを用いて、失効リストRLが不正に書き換えられ、結果としてユーザーの匿名性及び属性の匿名性が損なわれる可能性がある。 That is, the technique of Non-Patent Document 1 is based on the premise that the user secret key is not leaked. Using grt, the revocation list RL may be tampered with, resulting in loss of user anonymity and attribute anonymity.

そこで、本発明は、上記課題に鑑み、ユーザー秘密鍵が漏洩した場合であっても、属性トークンgrtが不正に取得され、失効リストRLが不正に書き換えられ、結果としてユーザーの匿名性及び属性の匿名性が損なわれることのない匿名認証方法、匿名認証システム、すなわち、完全匿名性(full anonymity)を実現する匿名認証方法、匿名認証システム、を実現することを目的とする。 Therefore, in view of the above-mentioned problems, the present invention solves the problem that even if the user private key is leaked, the attribute token grt is illegally obtained, the revocation list RL is illegally rewritten, and as a result, the user's anonymity and attributes are compromised. It is an object of the present invention to realize an anonymous authentication method and an anonymous authentication system that do not impair anonymity, that is, an anonymous authentication method and an anonymous authentication system that achieve full anonymity.

上記課題を解決するために、第1の発明は、複数のグループユーザーを含むグループを対象として、失効機能付き属性ベースグループ署名を行うための匿名認証方法であって、セットアップステップと、鍵生成ステップと、署名ステップと、検証ステップと、失効ステップとを備える。 In order to solve the above problems, the first invention is an anonymous authentication method for performing attribute-based group signature with revocation function for a group including a plurality of group users, comprising a setup step and a key generation step , a signature step, a verification step, and a revocation step.

セットアップステップは、(1)グループに含まれるグループユーザーと、グループに含まれるグループユーザー数の最大値とを特定し、(2)属性の汎用セットを規定し、(3)鍵生成処理、署名処理、および、検証処理において使用されるパラメータを規定する。 The setup step consists of (1) identifying the group users to be included in the group and the maximum number of group users to be included in the group, (2) defining a universal set of attributes, and (3) key generation and signature processes. , and the parameters used in the verification process.

鍵生成ステップは、公開鍵暗号方式により、(1)グループ公開鍵と、グループ管理用秘密鍵とを生成し、(2)1つのグループユーザーについての全ての属性について、ユーザー秘密鍵を生成し、当該グループユーザーが所有していない属性の汎用セットに含まれる属性について偽データを割り当てる第1ステップを実行し、(3)当該グループユーザーが所有している属性および所有していない属性についてトークンを生成する第2ステップを実行し、(4)前記グループに含まれる全てのグループユーザーについて、前記第1ステップと前記第2ステップを繰り返し実行することで、前記グループに含まれる全てのグループユーザーについての前記ユーザー秘密鍵と属性トークンとを個別に生成する。 The key generation step uses public key cryptography to (1) generate a group public key and a group management secret key, (2) generate a user secret key for all attributes of one group user, perform the first step of assigning bogus data for attributes in a universal set of attributes not owned by the group user, and (3) generating tokens for attributes owned and not owned by the group user; (4) for all group users included in the group, by repeatedly performing the first step and the second step for all group users included in the group; Generate a user private key and an attribute token separately.

署名ステップは、ポリシーで設定されている署名権限が許可される条件を満たす場合、前記グループ公開鍵と、割り当てられたユーザー秘密鍵と、属性トークンとを用いて、署名対象のメッセージについての署名データを生成するステップであって、(1)属性トークンを暗号化し、(2)グループユーザーの有効性と、失効リストに属性トークンが含まれていないことと、属性トークンが生成された後変更されていないこととについてのゼロ知識証明を生成し、(3)署名対象のメッセージと、暗号化された属性トークンと、前記ゼロ知識証明とを含む署名データを生成する。 The signing step uses the group public key, the assigned user private key, and the attribute token to sign data for the message to be signed, if the conditions for permitting the signing authority set by the policy are satisfied. by (1) encrypting the attribute token; (2) verifying the validity of the group user, that the revocation list does not contain the attribute token, and that the attribute token has not been modified since it was generated; (3) generate signature data including the message to be signed, an encrypted attribute token, and the zero-knowledge proof;

検証ステップは、署名データに対して、ポリシーに設定されている署名権限を特定する条件と、グループ公開鍵と、所定のグループユーザーについて失効された属性を特定するデータが記録されている失効リストと、ゼロ知識証明とに基づいて、署名データに対して検証処理を行うことで、メッセージに対してなされた署名が有効であるか否かを判定する。 In the verification step, for the signature data, a condition specifying the signing authority set in the policy, a group public key, and a revocation list containing data specifying revoked attributes for a given group user. , zero-knowledge proof, and the verification process is performed on the signature data to determine whether the signature applied to the message is valid.

失効ステップは、グループユーザーがもはや所有していない属性が存在する場合、当該グループユーザーがもはや所有していない属性を失効リストに追加することで、グループユーザーのもはや所有していない属性を失効させる。 The revocation step revokes the no longer owned attributes of the group user by adding the no longer owned attributes of the group user to a revocation list, if any attributes are no longer owned by the group user.

この匿名認証方法では、属性トークンに対して公開鍵暗号(例えば、格子暗号)による暗号化処理を行うことで取得した、暗号化属性トークン(例えば、格子暗号アルゴリズムによりサンプルされた属性トークン)を用いて、署名処理を行うので、ユーザー秘密鍵が漏洩した場合であっても、属性トークンが不正に取得され、失効リストが不正に書き換えられるリスクをなくすことができる。また、この匿名認証方法では、属性トークンを公開鍵暗号(例えば、格子暗号)により暗号化処理して取得したデータ(暗号化データ)を署名データに含め、当該署名データに対して検証処理が実行されるので、セキュリティ強度の高い検証処理を実行することができる。 This anonymous authentication method uses an encrypted attribute token (for example, an attribute token sampled by a lattice cryptography algorithm) obtained by performing encryption processing by public key cryptography (for example, lattice cryptography) on the attribute token. Therefore, even if the user private key is leaked, the risk of the attribute token being illegally acquired and the revocation list being illegally rewritten can be eliminated. In this anonymous authentication method, data (encrypted data) obtained by encrypting an attribute token by public key cryptography (for example, lattice cryptography) is included in the signature data, and verification processing is performed on the signature data. Therefore, verification processing with high security strength can be executed.

つまり、この匿名認証方法では、(1)ユーザーの匿名性(User anonymity)を完全に実現でき、かつ、(2)属性の匿名性(Attribute anonymity)を完全に実現できる。すなわち、この匿名認証方法では、(1)ユーザーの匿名性(User anonymity)についての完全匿名性(Full anonymity)、および、(2)属性の匿名性(Attribute anonymity)についての完全匿名性(Full anonymity)を実現することができる。 That is, in this anonymous authentication method, (1) user anonymity can be completely realized, and (2) attribute anonymity can be completely realized. That is, in this anonymous authentication method, (1) full anonymity for user anonymity and (2) full anonymity for attribute anonymity ) can be realized.

したがって、この匿名認証方法により、ユーザー秘密鍵が漏洩した場合であっても、属性トークンが不正に取得され、失効リストが不正に書き換えられたとしても、ユーザーの匿名性及び属性の匿名性が損なわれることのない、セキュリティ強度の高いシステム(動的に失効処理が可能な属性ベースグループ署名を実行するシステム)を実現することができる。 Therefore, with this anonymous authentication method, even if the user private key is leaked, the attribute token is illegally obtained, and the revocation list is illegally rewritten, the anonymity of the user and the anonymity of the attribute will be compromised. It is possible to realize a system with high security strength (a system that executes attribute-based group signatures that can be dynamically revoked).

第2の発明は、第1の発明であって、公開鍵暗号方式は、格子暗号である。 The second invention is the first invention, wherein the public key cryptosystem is lattice cryptography.

グループ公開鍵は、格子暗号の格子を規定するための行列であって、素数qを法とする剰余系により規定される整数を要素とするn×mの行列と、属性データの集合とにより生成されるデータである。 A group public key is a matrix for defining a lattice of lattice cryptography, and is generated from an n×m matrix whose elements are integers defined by a remainder system modulo a prime number q, and a set of attribute data. data to be used.

これにより、格子暗号を用いて、匿名認証方法を実現することができる。 This makes it possible to implement an anonymous authentication method using lattice cryptography.

第3の発明は、第1または第2の発明である匿名認証方法をコンピュータに実行させるためのプログラムである。 A third invention is a program for causing a computer to execute the anonymous authentication method of the first or second invention.

これにより、第1または第2の発明と同様の効果を奏する匿名認証方法をコンピュータに実行させるためのプログラムを実現することができる。 Accordingly, it is possible to realize a program for causing a computer to execute the anonymous authentication method having the same effect as the first or second invention.

第4の発明は、複数のグループユーザーを含むグループを対象として、失効機能付き属性ベースグループ署名を行うための匿名認証システムであって、グループ管理装置と、グループユーザー用装置と、認証装置と、ネットワークとを備える。 A fourth invention is an anonymous authentication system for performing an attribute-based group signature with a revocation function for a group including a plurality of group users, comprising: a group management device; a group user device; an authentication device; a network;

ネットワークは、グループ管理装置と、グループユーザー用装置と、認証装置とに接続される。 A network is connected to the group management device, the group user device, and the authentication device.

グループ管理装置は、(1)グループに含まれるグループユーザーと、グループに含まれるグループユーザー数の最大値とを特定し、(2)属性の汎用セットを規定し、(3)鍵生成処理、署名処理、および、検証処理において使用されるパラメータを規定するセットアップステップと、
公開鍵暗号方式により、(1)グループ公開鍵と、グループ管理用秘密鍵とを生成し、(2)1つのグループユーザーについての全ての属性について、ユーザー秘密鍵を生成し、当該グループユーザーが所有していない属性の汎用セットに含まれる属性について偽データを割り当てる第1ステップを実行し、(3)当該グループユーザーが所有している属性および所有していない属性についてトークンを生成する第2ステップを実行し、(4)グループに含まれる全てのグループユーザーについて、前記第1ステップと前記第2ステップを繰り返し実行することで、グループに含まれる全てのグループユーザーについてのユーザー秘密鍵と属性トークンとを個別に生成する鍵生成ステップと、
を実行する。
The group management device (1) identifies the group users included in the group and the maximum number of group users included in the group, (2) defines a universal set of attributes, and (3) processes key generation and signing. a set-up step defining parameters to be used in the processing and verification process;
By public key cryptography, (1) group public key and group management secret key are generated, (2) user secret key is generated for all attributes of one group user, and owned by the group user. performing a first step of assigning bogus data for attributes contained in a universal set of attributes not owned by the group user; and (3) generating tokens for attributes owned and not owned by the group user. and (4) repeatedly executing the first step and the second step for all group users included in the group to obtain user secret keys and attribute tokens for all group users included in the group. a separately generated key generation step;
to run.

グループユーザー用装置は、ポリシーで設定されている署名権限が許可される条件を満たす場合、前記グループ公開鍵と、割り当てられたユーザー秘密鍵と、属性トークンとを用いて、署名対象のメッセージについての署名データを生成するステップであって、(1)前記属性トークンを暗号化し、(2)グループユーザーの有効性と、失効リストに属性トークンが含まれていないことと、前記属性トークンが生成された後変更されていないこととについてのゼロ知識証明を生成し、(3)署名対象のメッセージと、暗号化された属性トークンと、前記ゼロ知識証明とを含む署名データを生成する署名ステップを実行する。 If the group user device satisfies the conditions for permitting the signing authority set by the policy, the group user device uses the group public key, the assigned user private key, and the attribute token to sign the message to be signed. generating signature data comprising: (1) encrypting the attribute token; (2) verifying the validity of a group user, the revocation list not including the attribute token, and the attribute token being generated; and (3) performing a signing step of generating signature data including the message to be signed, an encrypted attribute token, and said zero-knowledge proof. .

認証装置は、署名データに対して、ポリシーに設定されている署名権限を特定する条件と、グループ公開鍵と、所定のグループユーザーについて失効された属性を特定するデータが記録されている失効リストと、ゼロ知識証明とに基づいて、署名データに対して検証処理を行うことで、メッセージに対してなされた署名が有効であるか否かを判定する検証ステップを実行する。 For the signature data, the authentication device stores the conditions specifying the signature authority set in the policy, the group public key, and the revocation list in which the data specifying the revoked attributes of the specified group user are recorded. , a zero-knowledge proof, and a verification step of determining whether or not the signature applied to the message is valid by performing verification processing on the signature data.

また、グループ管理装置は、グループユーザーがもはや所有していない属性が存在する場合、当該グループユーザーがもはや所有していない属性を前記失効リストに追加することで、前記グループユーザーのもはや所有していない属性を失効させる失効ステップを実行する。 In addition, if there is an attribute that the group user no longer owns, the group management device adds the attribute that the group user no longer owns to the revocation list so that the group user no longer owns the attribute. Execute the revocation step to revoke the attribute.

これにより、第1の発明と同様の効果を奏する匿名認証システムを実現することができる。 Thereby, an anonymous authentication system having the same effect as the first invention can be realized.

本発明によれば、ユーザー秘密鍵が漏洩した場合であっても、属性トークンgrtが不正に取得され、失効リストRLが不正に書き換えられたとしても、ユーザー匿名性及び属性の匿名性が損なわれる可能性がない匿名認証方法、匿名認証システム、すなわち、完全匿名性(full anonymity)を実現する匿名認証方法、匿名認証システム、を実現することができる。 According to the present invention, even if the user private key is leaked, the attribute token grt is illegally obtained, and the revocation list RL is illegally rewritten, user anonymity and attribute anonymity are compromised. It is possible to realize an anonymous authentication method, an anonymous authentication system that has no possibility, that is, an anonymous authentication method, an anonymous authentication system that achieves full anonymity.

第1実施形態に係る匿名認証システム1000の概略構成図。1 is a schematic configuration diagram of an anonymous authentication system 1000 according to the first embodiment; FIG. 匿名認証システム1000で実行されるセットアップ処理のフローチャート。4 is a flowchart of setup processing executed in the anonymous authentication system 1000; 匿名認証システム1000で実行される鍵生成処理のフローチャート。4 is a flowchart of key generation processing executed in the anonymous authentication system 1000; 匿名認証システム1000で実行される署名処理のフローチャート。4 is a flowchart of signature processing executed in the anonymous authentication system 1000; 匿名認証システム1000で実行される検証処理のフローチャート。4 is a flowchart of verification processing executed by the anonymous authentication system 1000; VLRを用いた属性ベースグループ署名(ABGS)を実行するための認証システム900の概略構成図(ケース1)。Schematic configuration diagram of an authentication system 900 for performing attribute-based group signature (ABGS) using VLR (case 1). 属性ごとに設定された、グループユーザーの秘密鍵、属性の一覧、および、失効リストRLを示す図(ケース1)。FIG. 10 is a diagram showing group user secret keys, a list of attributes, and a revocation list RL set for each attribute (case 1); VLRを用いた属性ベースグループ署名(ABGS)を実行するための認証システム900の概略構成図(ケース2)。Schematic configuration diagram of an authentication system 900 for performing attribute-based group signature (ABGS) using VLR (case 2). 属性ごとに設定された、グループユーザーの秘密鍵、属性の一覧、および、失効リストRLを示す図(ケース1、2)。FIG. 10 is a diagram showing a group user's secret key, a list of attributes, and a revocation list RL set for each attribute (cases 1 and 2); CPUバス構成を示す図。FIG. 4 is a diagram showing a CPU bus configuration;

[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
[First embodiment]
A first embodiment will be described below with reference to the drawings.

<1.1:認証システムの構成>
図1は、第1実施形態に係る匿名認証システム1000の概略構成図である。
<1.1: Configuration of authentication system>
FIG. 1 is a schematic configuration diagram of an anonymous authentication system 1000 according to the first embodiment.

匿名認証システム1000は、図1に示すように、グループ管理装置1と、グループユーザー用装置2と、認証装置3と、データ格納部DB1とを備える。グループ管理装置1と、グループユーザー用装置2と、認証装置3とは、例えば、ネットワークにより接続されており、各装置間において、データ通信が可能である。 The anonymous authentication system 1000 includes, as shown in FIG. 1, a group management device 1, a group user device 2, an authentication device 3, and a data storage section DB1. The group management device 1, the group user device 2, and the authentication device 3 are connected by, for example, a network, and data communication is possible between the devices.

グループ管理装置1は、コンピュータや、サーバーを用いて実現される装置であり、公開鍵暗号方式による鍵生成処理、失効処理(Revocation)等を実行する。また、グループ管理装置1は、データ格納部DB1と接続されており、データ格納部DB1に対して、データの読み出し/書き込みを行うことができる。グループ管理装置1は、データ格納部DB1により、例えば、グループユーザーのID、ポリシーで設定する対象の属性、属性トークン等のデータを記憶保持し、所望のタイミングで上記データを読み出す。 The group management device 1 is a device implemented using a computer or a server, and executes key generation processing, revocation processing, and the like by public key cryptography. The group management device 1 is also connected to the data storage unit DB1, and can read/write data from/to the data storage unit DB1. The group management device 1 stores and retains data such as group user IDs, attributes to be set by the policy, attribute tokens, etc., in the data storage unit DB1, and reads out the data at desired timing.

また、グループ管理装置1は、失効処理により取得した失効リストRLを、認証装置3に出力(送信)する。 Also, the group management device 1 outputs (transmits) the revocation list RL acquired by the revocation process to the authentication device 3 .

データ格納部DB1は、データ記憶装置であり、グループ管理装置1と接続されている。データ格納部DB1は、グループ管理装置1からの指令に従い、所定のデータの読み出し処理/書き込み処理を行う。 The data storage unit DB1 is a data storage device and is connected to the group management device 1. FIG. The data storage unit DB1 performs read/write processing of predetermined data according to commands from the group management device 1 .

グループユーザー用装置2は、コンピュータや、サーバーを用いて実現される装置であり、各グループユーザーに割り当てられたユーザー秘密鍵、属性トークン等のデータを保持し、当該ユーザー秘密鍵、属性トークンを用いて、署名処理等を実行する。グループユーザー用装置2は、グループユーザーごとに、個別に設けられていてもよいし((グループユーザー用装置2の数)=(グループユーザーの数)であってもよいし)、複数のグループユーザーごとに、共有できるように設けられていてもよい((グループユーザー用装置2の数)<(グループユーザーの数)であってもよい)。 The group user device 2 is a device implemented using a computer or a server, holds data such as a user secret key and attribute token assigned to each group user, and uses the user secret key and attribute token. to perform signature processing, etc. The group user device 2 may be provided individually for each group user ((the number of group user devices 2) may be equal to (the number of group users)), or a plurality of group users may be provided. (The number of group user devices 2 may be less than the number of group users).

認証装置3は、コンピュータや、サーバーを用いて実現される装置であり、グループ公開鍵gpk、グループ管理装置1により生成された署名、署名対象のメッセージ、および、グループ管理装置1により管理されている失効リストRL等を用いて、検証処理を実行する。 The authentication device 3 is a device implemented using a computer or a server, and includes a group public key gpk, a signature generated by the group management device 1, a message to be signed, and managed by the group management device 1. Verification processing is executed using the revocation list RL or the like.

<1.2:匿名認証システムの動作>
以上のように構成された匿名認証システム1000の動作について、以下、説明する。
<1.2: Operation of Anonymous Authentication System>
The operation of the anonymous authentication system 1000 configured as above will be described below.

図2は、匿名認証システム1000で実行されるセットアップ処理のフローチャートである。 FIG. 2 is a flow chart of setup processing executed in the anonymous authentication system 1000. As shown in FIG.

図3は、匿名認証システム1000で実行される鍵生成処理のフローチャートである。 FIG. 3 is a flowchart of key generation processing executed in the anonymous authentication system 1000. FIG.

図4は、匿名認証システム1000で実行される署名処理のフローチャートである。 FIG. 4 is a flow chart of signature processing executed in anonymous authentication system 1000 .

図5は、匿名認証システム1000で実行される検証処理のフローチャートである。 FIG. 5 is a flowchart of verification processing executed by the anonymous authentication system 1000. FIG.

以下では、(1)セットアップ処理と、(2)鍵生成処理と、(3)署名処理と、(4)検証処理と、(5)失効処理とに分けて、匿名認証システム1000の動作を、フローチャートを参照しながら、説明する。 Below, the operation of the anonymous authentication system 1000 is divided into (1) setup processing, (2) key generation processing, (3) signature processing, (4) verification processing, and (5) revocation processing. Description will be made with reference to flowcharts.

(1.2.1:セットアップ処理)
まず、セットアップ処理(Setup(1λ))について説明する。
(1.2.1: Setup processing)
First, the setup process (Setup(1 λ )) will be described.

(ステップS101~S102):
ステップS101において、グループ管理装置1は、セキュリティパラメータλを設定する。
(Steps S101-S102):
In step S101, the group management device 1 sets a security parameter λ.

そして、グループ管理装置1は、非特許文献1に開示されているのと同様に、下記の通り、多項式時間で処理が可能となるように、セキュリティパラメータλに基づいて、各パラメータを設定する(ステップS102)。
N=2=poly(λ)
n=poly(λ)
m=ceil(2n×log(q))
q=O(Ln
σ=ω(log(m))
β=O(sqrt(Ln))
ceil(x):天井関数(x以上の最小整数を取得する関数)
sqrt(x):xの平方根を取得する関数
なお、O(),ω()は、ランダウの記号である。
Then, as disclosed in Non-Patent Document 1, the group management device 1 sets each parameter based on the security parameter λ so that processing can be performed in polynomial time as follows ( step S102).
N = 2 L = poly(λ)
n = poly (λ)
m=ceil(2n*log(q))
q=O( Ln2 )
σ = ω (log(m))
β=O(sqrt(Ln))
ceil(x): ceiling function (function to obtain the minimum integer greater than or equal to x)
sqrt(x): Function for obtaining the square root of x Note that O() and ω() are Landau symbols.

(ステップS103):
ステップS103において、グループ管理装置1は、属性のセットAttを以下のように定義(規定)する。

Figure 0007301652000001

また、グループ管理装置1は、ハッシュ関数Hを以下のように設定する。
ハッシュ関数H:{0,1}→{1,2,3}
t=ω(log(n))
(ステップS104):
ステップS104において、グループ管理装置1は、上記により取得したデータから公開パラメータPP=(para,Att,attL,H)(para:ステップS102で取得したパラメータを含むデータ)を取得し、取得した公開パラメータPPを出力する。 (Step S103):
In step S103, the group management device 1 defines (regulates) the attribute set Att as follows.
Figure 0007301652000001

Also, the group management device 1 sets the hash function H as follows.
Hash function H: {0,1} * →{1,2,3} t
t = ω(log(n))
(Step S104):
In step S104, the group management device 1 acquires the public parameter PP=(para, Att, attL, H) (para: data including the parameter acquired in step S102) from the data acquired above, and Output PP.

(1.2.2:鍵生成処理)
次に、鍵生成処理(KeyGen(PP,N))について説明する。
(1.2.2: Key generation processing)
Next, key generation processing (KeyGen (PP, N)) will be described.

(ステップS201):
ステップS201において、グループ管理装置1は、セットアップ処理で取得した公開パラメータPP(=(para,Att,attL,H))と、グループユーザー数の最大値N=2を入力する。
(Step S201):
In step S201, the group management device 1 inputs the public parameter PP (=(para, Att, attL, H)) acquired in the setup process and the maximum number of group users N= 2L .

そして、グループ管理装置1は、例えば、下記先行技術文献(先行技術文献A)に開示されている方法と同様にして、modified Boyen's signature scheme のための検証キー(検証用行列)A,A,A,...,A∈Zn×m (Z:整数全体の集合)とトラップドアーT∈Zn×m とを生成する。
(先行技術文献A):
D. Micciancio and C. Peikert, “Trapdoors for lattices: Simpler, tighter, faster, smaller.” in EUROCRYPT 2012, LNCS, vol. 7237. Springer Berlin Heidelberg, 2012, pp. 700-718.
そして、グループ管理装置1は、グループ公開鍵gpkと、グループ管理用秘密鍵gmskを以下のように設定する。
gpk=(A,A,A,...,AL,,u,...,u
gmsk=T
なお、匿名認証システム1000では、格子暗号を用いることを前提としており、格子は、整数n、m、素数q、A∈Zn×m 、u∈Z とすると、格子Λは、以下のように定義される。

Figure 0007301652000002

(ステップS202~S213):
ステップS202~S213において、グループ管理装置1は、グループユーザー用秘密鍵gsk[d]と、暗号化属性トークンgrt[d]とを取得する。 Then, the group management device 1, for example, similarly to the method disclosed in the following prior art document (prior art document A), verifies keys (verification matrices) A, A 0 , A for modified Boyen's signature scheme. A 1 , . . . , A L εZ n×m q (where Z is the set of all integers) and a trapped door T A εZ n×m q .
(Prior art document A):
D. Micciancio and C. Peikert, “Trapdoors for lattices: Simpler, tighter, faster, smaller.” in EUROCRYPT 2012, LNCS, vol. 7237. Springer Berlin Heidelberg, 2012, pp. 700-718.
Then, the group management device 1 sets the group public key gpk and the group management secret key gmsk as follows.
gpk=(A, A0 , A1 ,..., AL, u1 , u2 ,..., uu )
gmsk = T A
It should be noted that the anonymous authentication system 1000 is premised on the use of lattice cryptography . is defined as
Figure 0007301652000002

(Steps S202-S213):
In steps S202 to S213, the group management device 1 acquires the group user secret key gsk[d] and the encrypted attribute token grt[d].

グループユーザーのID(index)をd∈{0,1,...,N-1}とする。グループユーザーのID(index)がdであるグループユーザーについて、
d[i]...d[L]⊆{0,1}
をdの二値表現形式を表すものとし、
={ua1,ua2,...,uas}⊆Att(|S|=s)
をdの属性のセットを表すものとする。
Let dε{0, 1, . . . , N−1}. For a group user whose group user ID (index) is d,
d[i]. . . d[L]⊆{0,1} L
Let denote the binary representation form of d, and
S d ={u a1 , u a2 , . . . , u as }⊆Att(|S d |=s)
Let be the set of attributes of d.

そして、グループ管理装置1は、各グループユーザーのd(dの初期値を「0」とする。ステップS202)について、以下の処理を実行する。 Then, the group management device 1 executes the following process for each group user's d (the initial value of d is "0"; step S202).

(a)
グループ管理装置1は、グループユーザー(ID=d)の検証キー(検証用行列)Aを下記に相当する処理により取得する。

Figure 0007301652000003

(b)
グループ管理装置1は、上記で取得した検証キーAを用いて、データzd,ajを、下記を満たすようにサンプル取得する。
Figure 0007301652000004

つまり、IDがdであるグループユーザーが属性uを有している場合(ステップS206で「Yes」の場合)、グループ管理装置1は、上記処理を行う。 (a)
The group management device 1 uses a verification key (verification matrix) A for a group user (ID=d).dis obtained by processing corresponding to the following.
Figure 0007301652000003

(b)
The group management device 1 uses the verification key A obtained above.dusing the data zd, ajis sampled so as to satisfy the following.
Figure 0007301652000004

In other words, the group user whose ID is d has attribute uj(Yes in step S206), the group management device 1 performs the above process.

(c)
一方、IDがdであるグループユーザーが属性uを有していない場合(ステップS206で「No」の場合)、グループ管理装置1は、下記処理を行う。
(c)
On the other hand, if the group user whose ID is d does not have the attribute uj ("No" in step S206), the group management device 1 performs the following processing.

すなわち、グループ管理装置1は、上記(処理(b))以外の属性u-sについて、偽データ(fake credentials)fd,fjを、下記を満たすようにサンプル取得する(下記先行技術文献Bを参照)。

Figure 0007301652000005

(先行技術文献B):
R. El Bansarkhani and A. El Kaafarani, “Post-quantum attribute-based signatures from lattice assumptions.” IACR Cryptology ePrint Archive, vol. 2016, p. 823, 2016.
(d)
次に、グループ管理装置1は、下記数式に相当する処理を実行して、データA’を取得する。
Figure 0007301652000006

すなわち、グループ管理装置1は、上記のAを取得する数式において、AおよびAをゼロ行列に置換することで、データA’を取得する。 That is, the group management device 1 obtains samples of fake credentials fd and fj for attributes us other than the above (process (b)) so as to satisfy the following (see prior art document B below: reference).
Figure 0007301652000005

(Prior art document B):
R. El Bansarkhani and A. El Kaafarani, “Post-quantum attribute-based signatures from lattice assumptions.” IACR Cryptology ePrint Archive, vol. 2016, p. 823, 2016.
(d)
Next, the group management device 1 acquires data A'd by executing processing corresponding to the following formula.
Figure 0007301652000006

That is, the group management device 1 acquires the data A'd by replacing A and A0 with zero matrices in the above formula for acquiring Ad .

(e)
次に、グループ管理装置1は、上記処理で取得したA’を用いて、dのグループユーザーの全ての属性(正規の属性データzd,aj、および、偽の属性データfd,fj)について、下記数式に相当する処理を実行して、データvdjを取得する。

Figure 0007301652000007

(f)
次に、グループ管理装置1は、上記処理で取得したvdjを用いて、dのグループユーザーの全ての属性(正規の属性データzd,aj、および、偽の属性データfd,fj)について、格子暗号サンプル処理SampleD(T,A,u-vdj,σ)を実行して、データtdjを取得する。 (e)
Next, the group management device 1 uses A′ d acquired in the above process to determine all the attributes of the group users of d (regular attribute data z d,aj and fake attribute data f d,fj ). , a process corresponding to the following formula is executed to obtain data v_dj .
Figure 0007301652000007

(f)
Next, the group management device 1 uses v dj acquired in the above process to determine all attributes of group users of d (regular attribute data z d,aj and fake attribute data f d,fj ). , perform the lattice cryptographic sample processing SampleD(T A , A, u j −v dj , σ) to obtain the data t dj .

なお、格子暗号サンプル処理SampleD(T,A,u-vdj,σ)は、格子を規定する行列Aと、画像A(行列Aにより規定される格子)の中のベクトルu-vdjと、トラップドアーTと、標準偏差σ=sqrt(n×log(q)×log(n))を入力とし、下記数式を満たすデータx(x∈Z)を、標準偏差σの離散ガウス分布よりサンプルして取得(出力)する。

Figure 0007301652000008

(g)
そして、グループ管理装置1は、IDがdであるグループユーザーの秘密鍵であるグループユーザー用秘密鍵gsk[d]と、暗号化属性トークンgrt[d]とを、以下の通り、取得する。
Figure 0007301652000009

上記のようにして、グループ管理装置1は、IDがdであるグループユーザーについて、(1)グループユーザー用秘密鍵gsk[d]、および、(2)暗号化属性トークンgrt[d]を取得する(ステップS205~S211)。 Note that the lattice cryptographic sample processing SampleD(T A , A, u j −v dj , σ) is a matrix A defining a lattice and a vector u j −v in image A (a lattice defined by matrix A). dj , trap door TA , and standard deviation σ=sqrt(n×log(q)×log(n)) are input, and data x (x∈Z m ) that satisfies the following formula is converted to discrete Obtained (output) by sampling from Gaussian distribution.
Figure 0007301652000008

(g)
Then, the group management device 1 acquires the group user secret key gsk[d], which is the secret key of the group user whose ID is d, and the encrypted attribute token grt[d], as follows.
Figure 0007301652000009

As described above, the group management device 1 acquires (1) the group user secret key gsk[d] and (2) the encrypted attribute token grt[d] for the group user whose ID is d. (Steps S205 to S211).

そして、グループ管理装置1は、全てのグループユーザーについて、上記処理を実行することで(d=0からd=N-1まで、ステップS205~S211の処理を繰り返し実行することで)、全てのグループユーザーについての(1)グループユーザー用秘密鍵gsk[d]、および、(2)暗号化属性トークンgrt[d]を取得する(ステップS203~S213)。 Then, the group management device 1 executes the above processing for all group users (by repeatedly executing the processing of steps S205 to S211 from d=0 to d=N−1), thereby all group users Acquire (1) group user secret key gsk[d] and (2) encrypted attribute token grt[d] for the user (steps S203 to S213).

そして、グループ管理装置1は、上記処理により取得した鍵について、以下のように処理する。
(1)グループ管理装置1は、グループ管理用秘密鍵gmsk=Tを秘密裏に保持する。
(2)グループ管理装置1は、グループユーザー用秘密鍵gsk[d]、および、暗号化属性トークンgrt[d]を、IDがdであるグループユーザーに秘密裏に渡す(例えば、グループユーザー用装置2へ秘密裏に(他者に漏洩しないように)送信する)。
(3)グループ管理装置1は、グループ公開鍵gpkを認証装置3に送信する。
Then, the group management device 1 processes the key acquired by the above process as follows.
(1) The group management device 1 secretly holds the group management secret key gmsk= TA .
(2) The group management device 1 secretly delivers the group user secret key gsk[d] and the encrypted attribute token grt[d] to the group user whose ID is d (for example, the group user device 2 secretly (so as not to leak to others)).
(3) Group management device 1 transmits group public key gpk to authentication device 3 .

(1.2.3:署名処理)
次に、署名処理(Sign(PP,Γ,gpk,gsk[d],grt[d],S,M))について説明する。
(1.2.3: signature processing)
Next, signature processing (Sign(PP, Γ, gpk, gsk[d], grt[d], S d , M)) will be described.

(ステップS301):
ステップS301において、署名をしようとしているグループユーザーは、例えば、グループユーザー用装置2により、ポリシー(属性についての要求条件を決定するためのポリシー)、および、メッセージM(署名対象のデータ)を取得する。そして、グループユーザー用装置2は、メッセージMに対して署名する権限があるか否かのチェック処理、すなわち、署名しようとしているグループユーザー(このユーザーのIDをdとする)が、ポリシーにより設定されている属性の要求条件(署名するために所有している必要がある属性を特定する条件)を満たすか否かのチェック処理(属性チェック処理)を実行する。
(Step S301):
In step S301, a group user who intends to sign acquires a policy (policy for determining requirements for attributes) and a message M (data to be signed) by, for example, the group user device 2. . Then, the group user device 2 checks whether or not there is an authority to sign the message M. check processing (attribute check processing) to determine whether or not the required conditions for the attributes (attributes that must be possessed in order to sign) are satisfied.

(ステップS302):
ステップS302では、属性チェック処理の結果、署名しようとしているグループユーザー(ID=d)が要求されている属性を利用可能である(要求されている属性を有している)か否かの判定処理が実行される。そして、当該判定処理の結果、署名しようとしているグループユーザー(ID=d)が要求されている属性を有していないと判定された場合(ステップS302において「No」の場合)、署名処理を終了させる。一方、署名しようとしているグループユーザー(ID=d)が要求されている属性を有していると判定された場合(ステップS302において「Yes」の場合)、処理をステップS303に進める。
(Step S302):
In step S302, as a result of the attribute check process, it is determined whether or not the group user (ID=d) who is about to sign can use the requested attribute (has the requested attribute). is executed. As a result of the determination process, if it is determined that the group user (ID=d) who is about to sign does not have the requested attribute ("No" in step S302), the signature process is terminated. Let On the other hand, if it is determined that the group user (ID=d) who is about to sign has the requested attribute ("Yes" in step S302), the process proceeds to step S303.

(ステップS303):
ステップS303において、グループユーザー用装置2は、属性トークンの暗号化処理を実行し、暗号化データbを取得する。この処理について、以下、具体的に説明する。なお、説明便宜のため、ID=dのグループユーザー(以下、「グループユーザーd」という)が、メッセージMに対して署名を実行しようとしているものとして、以下、説明する。
(Step S303):
In step S303, the group user device 2 executes encryption processing of the attribute token and acquires encrypted data b. This process will be specifically described below. For convenience of explanation, it is assumed that a group user with ID=d (hereinafter referred to as “group user d”) is about to sign message M.

グループユーザー用装置2は、グループユーザーdの属性のセットS⊆Attを取得し、ポリシーにより設定されている属性の要求条件(署名するために所有している必要がある属性を特定する条件)を特定するための閾値述語データ(threshold predicate)Γ=(t,S={u,u,...,u}⊆Att)を取得する。なお、1≦t≦|S|=pである。 The group user device 2 acquires the set of attributes S d ⊆ Att of the group user d, and the attribute requirements set by the policy (conditions specifying the attributes that must be possessed in order to sign). Obtain threshold predicate Γ=(t, S={u 1 , u 2 , . . . , up }⊆Att) for specifying . Note that 1≤t≤|S|=p.

そして、グループユーザーdが所有している属性と集合Sとのマッチしている属性を示す集合Sとする。つまり、
⊆(S∩S)⊆Att、|S|=t
である。
Then, a set Sm representing attributes owned by the group user d and matching attributes of the set S is set Sm . in short,
S m ⊆ (S ∩ S d ) ⊆ Att, |S m |=t
is.

また、集合Sの要素(元)から、集合Sの要素(元)を除いた集合S\Sの元となる属性については、グループユーザーdは、偽データ(fake credentials)を有しているものとする。 In addition, group user d has fake credentials for the attributes that are the sources of set S \ S m excluding the elements (sources) of set S from the elements (sources) of set S. It is assumed that there is

そして、グループユーザー用装置2は、i∈pである全ての属性について、以下の処理を実行する。 Then, the group user device 2 executes the following processing for all attributes where iεp.

グループユーザー用装置2は、
ρ←{0,1}
により、{0,1}からランダムにサンプルしたデータをρに設定する。
The group user device 2 is
ρ i ← {0, 1} n
Set ρ i to data randomly sampled from {0,1} n .

そして、グループユーザー用装置2は、以下の処理により、暗号化データbを取得する。

Figure 0007301652000010

なお、A・tdiは、グループユーザーdのi番目の属性の暗号化属性トークンgrt[d].att(=A・tdi)である。 Then, the group user device 2 acquires the encrypted data bi by the following processing.
Figure 0007301652000010

Note that A·t di is the encrypted attribute token grt[d] . att i (=A·t di ).

グループユーザー用装置2は、上記処理を、i∈pである全ての属性について、行うことで、暗号化データbを取得する。 The group user device 2 obtains the encrypted data b by performing the above processing for all attributes where iεp.

(ステップS304):
次に、グループユーザー用装置2は、ゼロ知識証明Π(ゼロ知識証明データΠ)を生成する処理を行う。
(Step S304):
Next, the group user device 2 performs a process of generating a zero-knowledge proof Π (zero-knowledge proof data Π).

つまり、グループユーザー用装置2は、グループユーザーd(証明者)が、(1)少なくともt個(S⊆(S∩S)⊆Att、|S|=t)の属性を所有している有効なグループユーザーであり、かつ、(2)署名する権限を失効されていないことを証明するためのゼロ知識証明Πを生成する。 That is, the group user device 2 is such that the group user d (certifier) has (1) at least t attributes (S m ⊆ (S ∩ S d ) ⊆ Att, |S m |=t). and (2) generate a zero-knowledge proof Π to prove that the signing authority has not been revoked.

なお、上記の(1)、(2)は、強化ゼロ知識証明技術(Zero-Knowledge Argument of knowledge proof)(例えば、下記の先行技術文献C、Dを参考)で規定されるプロトコルによる処理を、公開データ(=(A,A,A,...,AL,,u,...,u,B,B,...,B,b,b,...,b)、および、証明データwitness=(d,z,z,...,z,e,e,...,e)を入力として、t=ω(log(n))回繰り返し実行することで証明できる(ゼロ知識証明できる)。 In addition, the above (1) and (2) are the processing by the protocol specified by the enhanced zero-knowledge argument of knowledge proof (for example, refer to the following prior art documents C and D), Public data (=(A, A 0 , A 1 ,..., A L, u 1 , u 2 ,..., up , B 1 , B 2 ,..., B p , b 1 , b . _ _ _ _ _ _ _ = ω(log(n)) times can be proven (zero knowledge can be proven).

そして、上記処理をFiat-Shamirヒューリスティック方式により実行することで、ゼロ知識証明Π=({CMT(k) k=1,CH,{RSP(k) k=1}として取得する。 Then, by executing the above process using the Fiat-Shamir heuristic method, a zero-knowledge proof Π=({CMT (k) } tk =1 ,CH,{RSP (k) } tk =1 } is acquired.

なお、チャレンジCHは、
CH=({Ch(k) k=1)=H(M,A,{A i=0,{u i=1,{B i=1,{b i=1,{CMT(k) k=1
である。なお、H()は、ハッシュ関数である。
In addition, the challenge CH is
CH=({Ch (k) } tk =1 )=H(M,A,{ Ai } Li =0 ,{ ui } pi =1 ,{Bi } pi =1 ,{b i } p i = 1 , {CMT (k) } t k = 1 )
is. Note that H( ) is a hash function.

また、上記のゼロ知識証明プロトコルによる処理は、証明者(prover)をグループユーザー用装置2(グループユーザーd)とし、検証者(verifier)を認証装置3として、実行される。 The above zero-knowledge proof protocol processing is executed with the group user device 2 (group user d) as the prover and the authentication device 3 as the verifier.

そして、上記処理により取得されたゼロ知識証明Πには、以下の証明(証明データ)が含まれる。
(1)グループユーザーdが有効な属性を所有していることの証明
(2)属性トークンが有効であることの証明
(3)属性トークンが失効リストRLに記録されていないことの証明
(先行技術文献C):
R. El Bansarkhani and A. El Kaafarani, “Post-quantum attribute-based signatures from lattice assumptions.” IACR Cryptology ePrint Archive, vol. 2016, p. 823, 2016.
(先行技術文献D):
S. Ling, K. Nguyen, and H. Wang, “Group signatures from lattices: simpler, tighter, shorter, ring-based,” in PKC 2015, LNCS, vol. 9020. Springer Berlin Heidelberg, 2015, pp. 427-449.
(ステップS305):
グループユーザー用装置2は、上記処理により生成したゼロ知識証明Πを用いて、署名Σ=(M,{ρ i=1,{b i=1,Π)を生成し、生成した署名Σ(署名データ)を、メッセージMとともに、認証装置3に出力する。
The zero-knowledge proof Π obtained by the above process includes the following proof (proof data).
(1) proof that group user d possesses a valid attribute (2) proof that the attribute token is valid (3) proof that the attribute token is not recorded in the revocation list RL (prior art Document C):
R. El Bansarkhani and A. El Kaafarani, “Post-quantum attribute-based signatures from lattice assumptions.” IACR Cryptology ePrint Archive, vol. 2016, p. 823, 2016.
(Prior art document D):
S. Ling, K. Nguyen, and H. Wang, “Group signatures from lattices: simpler, tighter, shorter, ring-based,” in PKC 2015, LNCS, vol. 9020. Springer Berlin Heidelberg, 2015, pp. 427- 449.
(Step S305):
Group user device 2 uses zero-knowledge proof Π generated by the above process to generate signature Σ=(M, {ρ i } pi =1 , {b i } pi =1 , Π), The generated signature Σ (signature data) is output together with the message M to the authentication device 3 .

(1.2.4:検証処理)
次に、検証処理(Verify(PP,Γ,gpk,RL,M,Σ))について説明する。
(1.2.4: Verification processing)
Next, verification processing (Verify (PP, Γ, gpk, RL, M, Σ)) will be described.

(ステップS401):
ステップS401において、認証装置3は、ポリシー(属性についての要求条件を決定するためのポリシー)を取得する。そして、認証装置3は、当該ポリシーから、属性の要求条件(署名するために所有している必要がある属性を特定する条件)を特定するための閾値述語データ(threshold predicate)Γ=(t,S={u,u,...,u}⊆Att)を取得する。
(Step S401):
In step S401, the authentication device 3 acquires a policy (policy for determining requirements for attributes). Then, the authentication device 3 obtains threshold predicate data (threshold predicate) Γ=(t, Get S={u 1 ,u 2 ,..., up }⊆Att).

また、認証装置3は、グループユーザー用装置2から送信された、メッセージM(署名対象のデータ)および署名Σ(=(M,{ρ i=1,{b i=1,Π))を取得する。 Further, the authentication device 3 receives the message M (data to be signed) and the signature Σ(=(M, {ρ i } p i =1 , {b i } p i =1) transmitted from the group user device 2 , Π)).

また、グループ管理装置1は、失効処理により取得した失効リストRL(グループ管理装置1により管理している失効リストRL)を認証装置3に送信する。 In addition, the group management device 1 transmits the revocation list RL acquired by the revocation process (the revocation list RL managed by the group management device 1) to the authentication device 3.

認証装置3は、グループ管理装置1から送信される失効リストRLを受信する。 The authentication device 3 receives the revocation list RL transmitted from the group management device 1 .

なお、認証装置3は、失効リストRLを、以下のデータとして取得するものとする。

Figure 0007301652000011

なお、a<u(=|Att|)である。 Assume that the authentication device 3 acquires the revocation list RL as the following data.
Figure 0007301652000011

Note that a<u (=|Att|).

また、認証装置3は、グループ管理装置1が生成したグループ公開鍵pkを受信し、当該グループ公開鍵gpk(=(A,A,A,...,AL,,u,...,u))を記憶保持している。 Also, the authentication device 3 receives the group public key gpk generated by the group management device 1 and generates the group public key gpk (=(A, A 0 , A 1 , . . . , AL, u 1 , u 2 , . . . , u u )) are stored.

また、認証装置3は、公開パラメータPP(=(para,Att,attL,H))を取得する。 Also, the authentication device 3 acquires the public parameter PP (=(para, Att, attL, H)).

(ステップS402、S403):
ステップS402において、認証装置3は、ゼロ知識証明Πのチェック処理を実行する。
(Steps S402, S403):
In step S402, the authentication device 3 executes a check process of the zero-knowledge proof Π.

まず、認証装置3は、取得した署名Σ(=(M,{ρ i=1,{b i=1,Π))を解析して、署名Σに含まれる各データを取得する。 First, the authentication device 3 analyzes the acquired signature Σ (=(M, {ρ i } pi =1 , {b i } pi =1 , Π)), and extracts each data included in the signature Σ. get.

次に、認証装置3は、A,u,M,ρを用いて、関数G(上記(数式10)に示した関数G)による処理を実行する。すなわち、認証装置3は、下記数式に相当する処理を実行して、データBを取得する。

Figure 0007301652000012

そして、認証装置3は、ゼロ知識証明Πを用いて、以下の検証処理を実行する。
(検証処理1):
Π=({CMT(k) k=1,{Ch(k) k=1,{RSP(k) k=1
認証装置3は、t個のチェレンジ{Ch(k) k=1に、1つでも、ハッシュ関数Hにより取得された値(すなわち、H(M,A,{A i=0,{u i=1,{B i=1,{b i=1,{CMT(k) k=1)の値)が一致しないものがある場合、検証処理(検証処理1)の結果(戻り値)を「0」にする。
(検証処理2):
認証装置3は、i=0からtにおいて、後述のゼロ知識証明プロトコルによる処理を実行し、公開データ(=(A,A,A,...,AL,,u,...,u,B,B,...,B,b,b,...,b)を入力としたときに、コミットメントCMT、および、チャレンジChに対するレスポンスRESの有効性をチェックし、後述のゼロ知識証明プロトコルで規定した条件の1つでも満たさないものが存在する場合、検証処理(検証処理2)の結果(戻り値)を「0」にする。 Next, the authentication device 3 uses A, u i , M, and ρ i to perform processing by the function G (the function G shown in the above (Formula 10)). That is, the authentication device 3 acquires the data Bi by executing the process corresponding to the following formula.
Figure 0007301652000012

Then, the authentication device 3 uses the zero-knowledge proof Π to execute the following verification process.
(Verification process 1):
Π=({CMT (k) } tk =1 ,{Ch (k) } tk =1 ,{RSP (k) } tk =1 }
The authentication device 3 assigns even one value obtained by the hash function H (that is, H(M, A, {A i } L i=0 , {u i } pi =1 , {B i } pi =1 , {b i } pi =1 , {CMT (k) } t k=1 ) values) do not match, The result (return value) of the verification process (verification process 1) is set to "0".
(Verification process 2):
The authentication device 3 executes processing according to the zero-knowledge proof protocol described later from i=0 to t, and obtains public data (=(A, A 0 , A 1 , . . . , A L, u 1 , u 2 , , up , B 1 , B 2 ,..., B p , b 1 , b 2 , . The validity of the response RES i is checked, and if even one of the conditions specified in the zero-knowledge proof protocol described later is not met, the result (return value) of the verification process (verification process 2) is set to "0". do.

ステップS403において、認証装置3は、
(1)検証処理1の結果(戻り値)が「0」ではなく、かつ、
(2)検証処理2の結果(戻り値)が「0」ではない、
場合、ゼロ知識証明Πは、有効であると判定し(ステップS403において「Yes」)、処理をステップS404に進める。
In step S403, the authentication device 3
(1) The result (return value) of verification processing 1 is not "0", and
(2) the result (return value) of verification process 2 is not "0";
If so, the zero-knowledge proof Π is determined to be valid (“Yes” in step S403), and the process proceeds to step S404.

一方、上記以外の場合は、ゼロ知識証明Πは、無効であると判定し(ステップS403において「No」)、処理をステップS407に進める。 On the other hand, in cases other than the above, the zero-knowledge proof Π is determined to be invalid ("No" in step S403), and the process proceeds to step S407.

(ステップS404、S405):
ステップS404において、認証装置3は、属性トークンのチェック処理を行う。
(Steps S404, S405):
In step S404, the authentication device 3 checks the attribute token.

具体的には、認証装置3は、各属性データu=(ua1,...,uau)∈RL、a<Nについて、下記数式に相当する処理を実行する。

Figure 0007301652000013

そして、上記処理の結果、下記数式を満たすe’が存在する場合、認証装置3は、uに相当する属性データが失効リストRLに含まれていると判定する。すなわち、この場合、認証装置3は、属性トークンに対応する属性が失効リストRLに含まれていると判定する。
Figure 0007301652000014

ステップS405において、認証装置3は、上記の判定結果に基づいて、属性トークンが失効リストRLに含まれていると判定した場合(ステップS405において「Yes」の場合)、処理をステップS407に進める。 Specifically, the authentication device 3 executes processing corresponding to the following formula for each attribute data u a =(u a1 , . . . , u au )εRL, a<N.
Figure 0007301652000013

As a result of the above process, if e' i satisfying the following formula exists, the authentication device 3 determines that the revocation list RL includes attribute data corresponding to u i . That is, in this case, the authentication device 3 determines that the revocation list RL includes the attribute corresponding to the attribute token.
Figure 0007301652000014

If the authentication device 3 determines in step S405 that the attribute token is included in the revocation list RL based on the above determination result ("Yes" in step S405), the process proceeds to step S407.

一方、認証装置3は、属性トークンが失効リストRLに含まれていないと判定した場合(ステップS405において「No」の場合)、処理をステップS406に進める。 On the other hand, when the authentication device 3 determines that the attribute token is not included in the revocation list RL (“No” in step S405), the process proceeds to step S406.

(ステップS406):
ステップS406において、認証装置3は、署名Σが有効(「Valid」)であることを示す検証結果データを出力する。
(Step S406):
In step S406, the authentication device 3 outputs verification result data indicating that the signature Σ is valid (“Valid”).

(ステップS407):
ステップS407において、認証装置3は、署名Σが無効(「Invalid」)であることを示す検証結果データを出力する。
(Step S407):
In step S407, the authentication device 3 outputs verification result data indicating that the signature Σ is invalid (“Invalid”).

(1.2.5:失効処理)
次に、失効処理(Revoke(PP,gpk,gmsk,RL,d,S))について説明する。
(1.2.5: Revocation processing)
Next, revocation processing (Revoke (PP, gpk, gmsk, RL, d, S r )) will be described.

グループ管理装置1は、署名権限のあるグループユーザーd(有効なグループユーザー)の取り消し属性のセットS(下記数式で表される取り消し属性のセットSr)と、失効リストRLを用いて、以下の処理を行うことで、失効処理を行う。

Figure 0007301652000015

なお、r<u(=|Att|)である。 The group management device 1 uses the revocation attribute set Sr (the revocation attribute set Sr represented by the following formula) of the group user d (valid group user) with signing authority and the revocation list RL to perform the following: Revocation processing is performed by performing processing.
Figure 0007301652000015

Note that r<u(=|Att|).

失効リストRLに、u djが存在していない場合であって、グループユーザーdの取り消し属性のセットSに、u djが含まれている場合、グループ管理装置1は、当該失効対象である属性u djを、失効リストRLに追加する。 If u t dj does not exist in the revocation list RL and u t dj is included in the revocation attribute set S r of group user d, the group management device 1 Add an attribute u t dj to the revocation list RL.

これにより、失効させるべき属性u djが失効リストRLに追加される。 This adds the attribute u t dj to be revoked to the revocation list RL.

そして、グループ管理装置1は、上記により生成(更新)した失効リストを記憶保持するとともに、認証装置3に出力する。 Then, the group management device 1 stores and holds the revocation list generated (updated) as described above, and outputs it to the authentication device 3 .

≪ゼロ知識証明≫
次に、ゼロ知識証明の処理方法の詳細について、以下説明する。
≪Zero-knowledge proof≫
Next, the details of the zero-knowledge proof processing method will be described below.

グループユーザーdが有効な属性S={u,u,...u}を所有しており、ポリシーから、属性の要求条件(署名するために所有している必要がある属性を特定する条件)を特定するための閾値述語データ(threshold predicate)Γが以下のものであるとする。
Γ={t out of S⊆Att,t∈N∧(S=u,u,...,u)}
また、S=S∩S、S=S\S、|S|=t、|S|=p-tであるものとする。
Attributes S d ={u 1 ,u 2 , . . . u a }, and from the policy, the threshold predicate data (threshold predicate) Γ for specifying the attribute requirements (conditions specifying the attributes that must be possessed in order to sign) is as follows: Suppose it is a thing.
Γ={t out of S⊆Att, t∈N(S=u 1 , u 2 , . . . , up )}
It is also assumed that S m =S∩S d , S r =S\S m , |S m |=t, |S|=pt.

このとき、根拠とするプロトコルは、下記の通りである。
公開パラメータ:
(1)下記の数式により規定される行列

Figure 0007301652000016

なお、l(小文字のエル)=Lである(以下、同様)。
(2)ベクトルのセット:{u i=1
(3)閾値述語データΓ=(t,S)
(4)行列{B∈Zm×n i=1
(5)ベクトル{b∈Z i=1
証明データwitness:
(1)id
(2)t個のベクトルz
(3)p-t個のベクトルz
(4)p個のベクトルt
(5)p個のベクトルe∈Z
証明者の目的は、検証者に以下のことをゼロ知識証明により確認させることである。
Figure 0007301652000017

そして、証明者と検証者は、ともに、以下の計算を行う。
Figure 0007301652000018

そして、以下の処理を実行する。
(1)Sについて、証明者は、分解拡張テクニック(Decomposition Extension technique)をzに適用して、検証者が、下記数式によるチェックができるように、マスキングターム(Masking term){r z(i)}、i∈[t]、j∈[k]を生成する。
Figure 0007301652000019

(2)Sについて、証明者は、fに対して、分割、拡張を行い、検証者が、下記数式によるチェックができるように、マスキングターム(Masking term){r z(i)}、i∈[p-t]、j∈[k]を生成する。
Figure 0007301652000020

(3)Sについて、証明者は、tおよびeに対して、分割、拡張を行い、検証者が、下記数式によるチェックができるように、マスキングターム(Masking term){r t(i)}、i∈[p]、j∈[k]、{r e(i)}、i∈[p]、j∈[k]、を生成する。
Figure 0007301652000021

また、同様に、検証者が、下記数式によるチェックができるようにする。
Figure 0007301652000022

次に、ゼロ知識証明のプロトコルについて、説明する。
(A)コミットメント(Commitments)は、下記により実行する。
Figure 0007301652000023

そして、証明者は、コミットメントCMT=(c,c,c)を生成し、検証者に送信うする。なお、c,c,cは、下記の通りである。
Figure 0007301652000024

(B)チャレンジ(Challenge)は、下記により実行する。 At this time, the underlying protocol is as follows.
Public parameters:
(1) Matrix defined by the following formula
Figure 0007301652000016

Note that l (lowercase letter L)=L (same below).
(2) A set of vectors: {u i } p i = 1
(3) Threshold predicate data Γ=(t, S)
(4) Matrix {B i εZ m×n q } p i=1
(5) Vector {b i εZ m q } p i=1
Proof data witness:
(1) id
(2) t vectors z i
(3) pt vectors z i
(4) p vectors t i
(5) p vectors e i εZ m
The purpose of the prover is to have the verifier confirm the following with a zero-knowledge proof.
Figure 0007301652000017

Then, both the prover and the verifier perform the following calculations.
Figure 0007301652000018

Then, the following processing is executed.
(1) For S m , the prover applies the Decomposition Extension technique to zi , and the verifier uses Masking term {r j z (i) }, iε[t], jε[k].
Figure 0007301652000019

(2) For S r , the prover divides and expands f i , and the masking term {r j z (i) } so that the verifier can check by the following formula , i ∈ [pt], j ∈ [k].
Figure 0007301652000020

(3) For S, the prover divides and expands t i and e i , and masking terms {r j t (i ) }, iε[p], jε[k], {r j e(i) }, iε[p], jε[k].
Figure 0007301652000021

Similarly, the verifier should be able to check using the following formula.
Figure 0007301652000022

Next, the zero-knowledge proof protocol will be described.
(A) Commitments are executed as follows.
Figure 0007301652000023

The prover then generates a commitment CMT=(c 1 ,c 2 ,c 3 ) and sends it to the verifier. Note that c 1 , c 2 and c 3 are as follows.
Figure 0007301652000024

(B) Challenge is performed as follows.

検証者がランダムにチャレンジCH←{1,2,3}を選択し、選択したチャレンジを証明者に送信する。
(C)レスポンス(Response)は、下記により実行する。
The verifier randomly selects a challenge CH←{1,2,3} and sends the selected challenge to the prover.
(C) Response is executed as follows.

CHの値に従い、証明者は、以下のように応答する。
(C1)CH=1の場合、以下の処理により応答する。

Figure 0007301652000025

(C2)CH=2の場合、以下の処理により応答する。
Figure 0007301652000026

(C3)CH=3の場合、以下の処理により応答する。
Figure 0007301652000027

(D)検証(Verification)は、下記により実行する。 According to the value of CH, the prover responds as follows.
(C1) If CH=1, respond by the following processing.
Figure 0007301652000025

(C2) If CH=2, respond by the following processing.
Figure 0007301652000026

(C3) If CH=3, respond by the following processing.
Figure 0007301652000027

(D) Verification is performed by the following.

検証者は、受信したレスポンスRSPを下記のようにチェックする。
(D1)CH=1の場合、検証者は、wd*∈B2L、w z(i)が、少なくともt個(tセット)のベクトルと、全てのj∈[k]、w t(i)∈B、w e(i)∈B3mとについてのwd*に関して、有効であることをチェックする。そして、検証者は、下記のチェックを行う。

Figure 0007301652000028

(D2)CH=2の場合、検証者は、下記のチェックを行う。
Figure 0007301652000029
Figure 0007301652000030

(D3)CH=3の場合、検証者は、下記のチェックを行う。
Figure 0007301652000031

そして、検証者は、上記の全ての条件を満たすとき「1」を返信し、それ以外のときは、「0」を返信する。 The verifier checks the received response RSP as follows.
(D1) If CH=1, then the verifier is wd*∈B2L, wj z(i)is at least t vectors (t sets) and all j∈[k], wj t(i)∈Bm, wj e(i)∈B3mabout andd*is valid. The verifier then performs the following checks.
Figure 0007301652000028

(D2) If CH=2, the verifier performs the following checks.
Figure 0007301652000029
Figure 0007301652000030

(D3) If CH=3, the verifier performs the following checks.
Figure 0007301652000031

Then, the verifier returns "1" when all the above conditions are met, and returns "0" otherwise.

上記により、匿名認証システム1000では、ゼロ知識証明を行う。 As described above, the anonymous authentication system 1000 performs zero-knowledge proof.

以上のように、匿名認証システム1000では、属性トークンに対して格子暗号による暗号化処理を行うことで取得した、暗号化属性トークンgrtを用いて、署名処理を行うので、ユーザー秘密鍵が漏洩した場合であっても、属性トークンgrtが不正に取得され、失効リストRLが不正に書き換えられ、結果としてユーザーの匿名性及び属性の匿名性が損なわれるリスクをなくすことができる。また、匿名認証システム1000では、属性トークンを格子暗号により暗号化処理して取得したデータ(暗号化データ)bを署名Σに含めて、グループユーザー用装置2から認証装置3に出力するので、セキュリティ強度の高いゼロ知識証明を実行できるとともに、セキュリティ強度の高い検証処理を実行することができる。 As described above, in the anonymous authentication system 1000, signature processing is performed using the encrypted attribute token grt, which is obtained by performing encryption processing using lattice cryptography on attribute tokens. Even in such a case, it is possible to eliminate the risk that the attribute token grt is illegally acquired, the revocation list RL is illegally rewritten, and as a result the anonymity of the user and the anonymity of the attributes are compromised. In addition, in the anonymous authentication system 1000, the data (encrypted data) b obtained by encrypting the attribute token using the lattice cryptography is included in the signature Σ and output from the group user device 2 to the authentication device 3, so security is ensured. A strong zero-knowledge proof can be executed, and a verification process with a high security strength can be executed.

つまり、匿名認証システム1000では、(1)ユーザーの匿名性(User anonymity)を完全に実現でき、かつ、(2)属性の匿名性(Attribute anonymity)を完全に実現できる。すなわち、匿名認証システム1000では、(1)ユーザーの匿名性(User anonymity)についての完全匿名性(Full anonymity)、および、(2)属性の匿名性(Attribute anonymity)についての完全匿名性(Full anonymity)を実現することができる。 In other words, the anonymous authentication system 1000 can (1) completely realize user anonymity and (2) completely realize attribute anonymity. That is, in the anonymous authentication system 1000, (1) full anonymity for user anonymity, and (2) full anonymity for attribute anonymity. ) can be realized.

したがって、匿名認証システム1000により、ユーザー秘密鍵が漏洩した場合であっても、属性トークンgrtが不正に取得され、失効リストRLが不正に書き換えられる可能性がない、セキュリティ強度の高いシステム(動的に失効処理が可能な属性ベースグループ署名を実行するシステム)を実現することができる。 Therefore, even if the user secret key is leaked, the anonymous authentication system 1000 has a high security strength (dynamic A system that executes attribute-based group signatures that can be revoked immediately) can be realized.

[他の実施形態]
上記実施形態では、公開鍵暗号方式として、格子暗号を用いる場合について、説明したが、これに限定されることはなく、他の公開鍵暗号方式を用いてもよい。
[Other embodiments]
In the above embodiment, the case of using lattice cryptography as a public key cryptosystem has been described, but the present invention is not limited to this, and other public key cryptosystems may be used.

また、ゼロ知識証明についても、上記以外の方法を採用してもよい。 Also, for the zero-knowledge proof, a method other than the above may be adopted.

また、上記実施形態で説明した匿名認証システム1000において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。 Further, in the anonymous authentication system 1000 described in the above embodiment, each block may be individually integrated into one chip by a semiconductor device such as LSI, or may be integrated into one chip so as to include part or all of the block. .

なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。 Although LSI is used here, it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.

また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。 Further, the method of circuit integration is not limited to LSI, and may be implemented by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after the LSI is manufactured, or a reconfigurable processor that can reconfigure connections and settings of circuit cells inside the LSI may be used.

また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。 Also, part or all of the processing of each functional block in each of the above embodiments may be implemented by a program. Part or all of the processing of each functional block in each of the above embodiments is performed by a central processing unit (CPU) in a computer. A program for performing each process is stored in a storage device such as a hard disk or ROM, and is read from the ROM or RAM and executed.

また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。 Further, each process of the above embodiments may be implemented by hardware, or may be implemented by software (including cases where it is implemented together with an OS (operating system), middleware, or a predetermined library). Furthermore, it may be realized by mixed processing of software and hardware.

例えば、上記実施形態の各機能部を、ソフトウェアにより実現する場合、図16に示したハードウェア構成(例えば、CPU、ROM、RAM、入力部、出力部等をバスBusにより接続したハードウェア構成)を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。 For example, when each functional unit of the above embodiment is implemented by software, the hardware configuration shown in FIG. may be used to realize each functional unit by software processing.

また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。 Also, the execution order of the processing methods in the above embodiments is not necessarily limited to the description of the above embodiments, and the execution order can be changed without departing from the gist of the invention.

前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。 A computer program that causes a computer to execute the method described above and a computer-readable recording medium that records the program are included in the scope of the present invention. Examples of computer-readable recording media include flexible disks, hard disks, CD-ROMs, MOs, DVDs, DVD-ROMs, DVD-RAMs, large-capacity DVDs, next-generation DVDs, and semiconductor memories. .

上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。 The computer program is not limited to being recorded on the recording medium, and may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, or the like.

なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。 The specific configuration of the present invention is not limited to the above-described embodiment, and various changes and modifications are possible without departing from the gist of the invention.

1000 匿名認証システム
1 グループ管理装置
2 グループユーザー用装置
3 認証装置
1000 anonymous authentication system 1 group management device 2 group user device 3 authentication device

Claims (4)

複数のグループユーザーを含むグループを対象として、失効機能付き属性ベースグループ署名を行うための匿名認証方法であ
グループ管理装置と、グループユーザー用装置と、認証装置と、前記グループ管理装置と、前記グループユーザー用装置と、前記認証装置とに接続されるネットワークと、を備える匿名認証システムを用いて実行される匿名認証方法であって、
前記グループ管理装置が、(1)グループに含まれるグループユーザーと、前記グループに含まれるグループユーザー数の最大値とを特定し、(2)属性の汎用セットを規定し、(3)鍵生成処理、署名処理、および、検証処理において使用されるパラメータを規定するセットアップステップと、
前記グループ管理装置が、公開鍵暗号方式により、(1)グループ公開鍵と、グループ管理用秘密鍵とを生成し、(2)1つのグループユーザーについての全ての属性について、ユーザー秘密鍵を生成し、当該グループユーザーが所有していない前記属性の汎用セットに含まれる属性について偽データを割り当てる第1ステップを実行し、(3)当該グループユーザーが所有している属性および所有していない属性についてトークンを生成する第2ステップを実行し、(4)前記グループに含まれる全てのグループユーザーについて、前記第1ステップと前記第2ステップを繰り返し実行することで、前記グループに含まれる全てのグループユーザーについての前記ユーザー秘密鍵と属性トークンとを個別に生成する鍵生成ステップと、
前記グループユーザー用装置が、前記ポリシーで設定されている署名権限が許可される条件を満たす場合、前記グループ公開鍵と、割り当てられたユーザー秘密鍵と、属性トークンとを用いて、署名対象のメッセージについての署名データを生成するステップであって、(1)前記属性トークンを暗号化し、(2)グループユーザーの有効性と、失効リストに属性トークンが含まれていないことと、前記属性トークンが生成された後変更されていないこととについてのゼロ知識証明を生成し、(3)署名対象のメッセージと、暗号化された属性トークンと、前記ゼロ知識証明とを含む署名データを生成する署名ステップと、
前記認証装置が、前記署名データに対して、前記ポリシーに設定されている署名権限を特定する条件と、前記グループ公開鍵と、所定のグループユーザーについて失効された属性を特定するデータが記録されている失効リストと、前記ゼロ知識証明とに基づいて、前記署名データに対して検証処理を行うことで、前記メッセージに対してなされた署名が有効であるか否かを判定する検証ステップと、
前記グループ管理装置が、グループユーザーがもはや所有していない属性が存在する場合、当該グループユーザーがもはや所有していない属性を前記失効リストに追加することで、前記グループユーザーのもはや所有していない属性を失効させる失効ステップと、
を備える匿名認証方法。
An anonymous authentication method for attribute-based group signing with revocation capabilities for groups containing multiple group users,
Executed using an anonymous authentication system comprising a group management device, a group user device, an authentication device, and a network connected to the group management device, the group user device, and the authentication device An anonymous authentication method comprising:
The group management device (1) identifies group users included in a group and the maximum number of group users included in the group, (2) defines a universal set of attributes, and (3) performs a key generation process. , a setup step defining parameters used in the , signing and verification processes;
The group management device generates (1) a group public key and a group management secret key, and (2) generates a user secret key for all attributes of one group user, using a public key cryptosystem. , performing a first step of assigning bogus data for attributes in said universal set of attributes not owned by said group user, and (3) tokenizing for attributes owned and not owned by said group user. (4) for all group users included in the group, by repeatedly performing the first step and the second step, for all group users included in the group a key generation step of separately generating the user private key and attribute token of
If the group user device satisfies the conditions under which the signing authority set in the policy is permitted, the message to be signed is signed using the group public key, the assigned user private key, and attribute tokens. comprising: (1) encrypting the attribute token; (2) validating group users, not including the attribute token in a revocation list, and verifying that the attribute token is generated (3) a signing step of generating signature data including the message to be signed, an encrypted attribute token, and the zero-knowledge proof; ,
The authentication device stores, for the signature data, a condition specifying the signing authority set in the policy, the group public key, and data specifying an attribute revoked for a predetermined group user. a verification step of determining whether the signature made to the message is valid by performing verification processing on the signature data based on the revocation list and the zero-knowledge proof;
If there is an attribute that the group user no longer owns , the group management device adds the attribute that the group user no longer owns to the revocation list, so that the group user no longer owns the attribute. a revocation step of revoking the
An anonymous authentication method comprising:
前記公開鍵暗号方式は、格子暗号であり、
前記グループ公開鍵は、前記格子暗号の格子を規定するための行列であって、素数qを法とする剰余系により規定される整数を要素とするn×mの行列と、前記属性データの集合とにより生成されるデータである、
請求項1に記載の匿名認証方法。
The public key cryptosystem is lattice cryptography,
The group public key is a matrix for defining the lattice of the lattice cryptography, and is an n×m matrix whose elements are integers defined by a remainder system modulo a prime number q, and a set of the attribute data. is the data generated by
Anonymous authentication method according to claim 1.
請求項1または2に記載の匿名認証方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the anonymous authentication method according to claim 1 or 2. 複数のグループユーザーを含むグループを対象として、失効機能付き属性ベースグループ署名を行うための匿名認証システムであって、
グループ管理装置と、
グループユーザー用装置と、
認証装置と、
前記グループ管理装置と、前記グループユーザー用装置と、前記認証装置とに接続されるネットワークと、
を備え、
前記グループ管理装置は、(1)グループに含まれるグループユーザーと、前記グループに含まれるグループユーザー数の最大値とを特定し、(2)属性の汎用セットを規定し、(3)鍵生成処理、署名処理、および、検証処理において使用されるパラメータを規定するセットアップステップと、
公開鍵暗号方式により、(1)グループ公開鍵と、グループ管理用秘密鍵とを生成し、(2)1つのグループユーザーについての全ての属性について、ユーザー秘密鍵を生成し、当該グループユーザーが所有していない前記属性の汎用セットに含まれる属性について偽データを割り当てる第1ステップを実行し、(3)当該グループユーザーが所有している属性および所有していない属性についてトークンを生成する第2ステップを実行し、(4)前記グループに含まれる全てのグループユーザーについて、前記第1ステップと前記第2ステップを繰り返し実行することで、前記グループに含まれる全てのグループユーザーについての前記ユーザー秘密鍵と属性トークンとを個別に生成する鍵生成ステップと、
を実行し、
前記グループユーザー用装置は、前記ポリシーで設定されている署名権限が許可される条件を満たす場合、前記グループ公開鍵と、割り当てられたユーザー秘密鍵と、属性トークンとを用いて、署名対象のメッセージについての署名データを生成するステップであって、(1)前記属性トークンを暗号化し、(2)グループユーザーの有効性と、失効リストに属性トークンが含まれていないことと、前記属性トークンが生成された後変更されていないこととについてのゼロ知識証明を生成し、(3)署名対象のメッセージと、暗号化された属性トークンと、前記ゼロ知識証明とを含む署名データを生成する署名ステップを実行し、
前記認証装置は、前記署名データに対して、前記ポリシーに設定されている署名権限を特定する条件と、前記グループ公開鍵と、所定のグループユーザーについて失効された属性を特定するデータが記録されている失効リストと、前記ゼロ知識証明とに基づいて、前記署名データに対して検証処理を行うことで、前記メッセージに対してなされた署名が有効であるか否かを判定する検証ステップを実行し、
前記グループ管理装置は、グループユーザーがもはや所有していない属性が存在する場合、当該グループユーザーがもはや所有していない属性を前記失効リストに追加することで、前記グループユーザーのもはや所有していない属性を失効させる失効ステップを実行する、
匿名認証システム。

An anonymous authentication system for attribute-based group signing with revocation capability for a group containing multiple group users, comprising:
a group management device;
a device for group users;
an authentication device;
a network connected to the group management device, the group user device, and the authentication device;
with
The group management device (1) identifies group users to be included in a group and the maximum number of group users to be included in the group, (2) defines a universal set of attributes, and (3) performs a key generation process. , a setup step defining parameters used in the , signing and verification processes;
By public key cryptography, (1) group public key and group management secret key are generated, (2) user secret key is generated for all attributes of one group user, and owned by the group user. (3) a second step of generating tokens for attributes owned and not owned by the group user; (4) by repeatedly executing the first step and the second step for all group users included in the group, the user secret key and a key generation step that separately generates attribute tokens;
and run
The group user device uses the group public key, the assigned user private key, and the attribute token to use the message to be signed if the conditions for permitting the signing authority set in the policy are satisfied. comprising: (1) encrypting the attribute token; (2) validating group users, not including the attribute token in a revocation list, and verifying that the attribute token is generated (3) generating signature data including the message to be signed, an encrypted attribute token, and the zero-knowledge proof; run,
The authentication device stores, in the signature data, a condition specifying the signing authority set in the policy, the group public key, and data specifying an attribute revoked for a predetermined group user. performing a verification process on the signature data based on the revocation list and the zero-knowledge proof to determine whether the signature applied to the message is valid; ,
If there is an attribute that the group user no longer owns, the group management device adds the attribute that the group user no longer owns to the revocation list, so that the group user no longer owns the attribute perform a revocation step that revokes the
Anonymous authentication system.

JP2019130116A 2019-07-12 2019-07-12 Anonymous authentication method, program, and anonymous authentication system Active JP7301652B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019130116A JP7301652B2 (en) 2019-07-12 2019-07-12 Anonymous authentication method, program, and anonymous authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019130116A JP7301652B2 (en) 2019-07-12 2019-07-12 Anonymous authentication method, program, and anonymous authentication system

Publications (3)

Publication Number Publication Date
JP2021015218A JP2021015218A (en) 2021-02-12
JP2021015218A5 JP2021015218A5 (en) 2022-05-18
JP7301652B2 true JP7301652B2 (en) 2023-07-03

Family

ID=74531821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019130116A Active JP7301652B2 (en) 2019-07-12 2019-07-12 Anonymous authentication method, program, and anonymous authentication system

Country Status (1)

Country Link
JP (1) JP7301652B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022118594A (en) 2021-02-02 2022-08-15 三菱マテリアル株式会社 Recovery method and recovery apparatus for valuable metal

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KHADER, D.,Attribute Based Group Signature with Revocation,Cryptology ePrint Archive,Report 2007/241,[online],2007年06月19日,<URL:https://eprint.iacr.org/2007/241>
LANGLOIS, A. et al.,Lattice-based Group Signature Scheme with Verifier-local Revocation,Cryptology ePrint Archive,Report 2014/033, ver:20160805:095033,[online],2016年08月05日,pp.1-24,<URL:https://eprint.iacr.org/archive/2014/033/20160805:095033>

Also Published As

Publication number Publication date
JP2021015218A (en) 2021-02-12

Similar Documents

Publication Publication Date Title
Bellare et al. Ratcheted encryption and key exchange: The security of messaging
Garg et al. Registration-based encryption: removing private-key generator from IBE
Chow et al. Dynamic secure cloud storage with provenance
US9973342B2 (en) Authentication via group signatures
Liu et al. A Survey of Public Auditing for Shared Data Storage with User Revocation in Cloud Computing.
US10079686B2 (en) Privacy-preserving attribute-based credentials
TWI813616B (en) Computer implemented method and system for obtaining digitally signed data
JP5506704B2 (en) Decryption system, key device, decryption method, and program
Del Pino et al. The whole is less than the sum of its parts: Constructing more efficient lattice-based AKEs
US11831778B2 (en) zkMFA: zero-knowledge based multi-factor authentication system
ALmarwani et al. An effective, secure and efficient tagging method for integrity protection of outsourced data in a public cloud storage
Abdulsalam et al. Decentralized data integrity scheme for preserving privacy in cloud computing
Koe et al. Offline privacy preserving proxy re-encryption in mobile cloud computing
JP7301652B2 (en) Anonymous authentication method, program, and anonymous authentication system
Birrell et al. Randomness-dependent message security
Pradel et al. Post-quantum certificates for electronic travel documents
JP2008288837A (en) Key management method, key generation method, cipher processing method, decipher processing method, access management method, and communication network system
Hariss et al. An efficient solution towards secure homomorphic symmetric encryption algorithms
Lin et al. F2p-abs: A fast and secure attribute-based signature for mobile platforms
Kumar et al. ASP: advanced security protocol for security and privacy in cloud computing
JP7348848B2 (en) Integrated attribute-based group signature processing method, integrated attribute-based group signature processing system, and program
Yap et al. On the security of a lightweight authentication and encryption scheme for mobile ad hoc network
Lin et al. Offline privacy preserving proxy re-encryption in mobile cloud computing
Bootle et al. Compact privacy protocols from post-quantum and timed classical assumptions
Gerhart et al. Security of Ibex

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220502

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230525

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: 20230606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230621

R150 Certificate of patent or registration of utility model

Ref document number: 7301652

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150