The present invention relates to a group signature system, a member status judging device, a group signature method, and a member status judging program capable of confirming member validity. In particular, the present invention relates to a group signature system, a member status judging device, a group signature method, and a member status judging program that inquire a member status and judge whether a user having generated the group signature data is a valid member or an invalid member when group signature data is verified.
Non-patent article 1 and Non-patent article 2 describe a group signature system which is a signature system and in which a user in a group can generate a signature (group signature data), which indicates that the user belongs to the group, while anonymity is preserved. Also, the group signature system includes, if necessary, a function to identify an actual signer by use of anonymous group signature data.
As shown in non-patent document 1 and non-patent document 2, the group signature system generally includes public information opening means to store and to open various public information, member registration means to register a user to a group, group signature generating or creating means to generate group signature data, group signature verification means to verify integrity of the group signature data, and signer tracing means to identify an actual signer using the group signature data.
In the group signature systems described in non-patent document 1 and non-patent document 2, a terminal (group signature generating means) of a user, a group member, attaches signature data to the message at transmission of a message or the like. In this case, the generating means does not generate signature data indicating that the message has been generated by a particular user, but generates group signature data indicating that the message has been generated by one of the members of the group. Also, an authentication terminal (group signature authentication means) having received the message authenticates the message according to the group signature data attached thereto. In this case, the group signature authentication means does not authenticate that the message has been generated by a particular user, but authenticates that the message has been generated by one of the members of the group.
In the group signature system, it is desired to prevent a user having withdrawn from the group from generating the signature even after the withdrawal by use of information acquired before the withdrawal. However, when the group signature data generated in the group signature system is used, information regarding the user having generated the group signature data cannot be known by use of the group signature data. Therefore, in the group signature system, it is not possible to employ a member revocation method using a Certificate Revocation List (CRL), which is adopted in the digital signature system. In this situation, in the group signature system, to prevent the user having withdrawn from the system from generating the signature, it is considered to use, as the group signature data, data certifying that a value representing the signer is contained in the member list.
For example, non-patent article 3 describes a member revocation method of a group signature system. In the member revocation method described in non-patent article 3, group signature generating means outputs, for a member list including values corresponding valid members, data as group signature data certifying that a value representing the signer is contained in the member list.
In the conventional group signature systems described in non-patent articles 1 and 2, each time a member withdraws from the group, it is required to update all parameters including a public key and a private key. Furthermore, in the conventional group signature system described in non-patent article 3, each member of the group is required to update a private key each time a member of the group withdraws therefrom and a group member qualification is revoked. For example, each member of the group must rewrite a private key stored in an Integrated Circuit (IC) card or the like every time someone's membership is revoked or becomes invalid. Therefore, in the conventional group signature systems, the processing for member revocation is burdensome.
Also, in the conventional group signature system described in non-patent article 3, data indicating that the user is a member of the group can be generated by use of a member list when the user generates the group signature data. However, in the system described in non-patent article 3, it is not possible to confirm validity of the group member at the time of verification of the signature, but only at the time of generation of the signature. Therefore, it is likely to accept a message generated by a user whose membership was valid when he/she signed the message but whose membership has been revoked before the verification of the signature.
It is therefore an objective of the present invention to provide a group signature system, a member status judging device, a group signature method, and a member status judging program capable of efficiently executing processing for member revocation. In addition, another objective of the present invention is to provide a group signature system, a member status judging device, a group signature method, and a member status judging program capable of confirming validity of a group member at the time of verifying group signature data.
The group signature system in accordance with the present invention is a group signature system for creating signature data for a message and for authenticating whether the signature data has been created by a device of one of members of a group, comprising a member status judging apparatus (implemented by, for example, a member status response unit 4) for judging, in response to a request, a member status indicating whether a user of the device having created the signature data is qualified as a valid member of the group at a present point of time.
Moreover, the group signature system may comprise a group management unit for managing the group by executing member registration processing to register a new member to the group and member revocation processing to revoke qualification as a member of the group member, a signature unit for creating, for the message, group signature data, the group signature data as signature data indicating that the message has been created by a device of either one of the members of the group, and an authentication unit (implemented, for example, by a verification unit 3) for receiving the message and the group signature data from the signature unit and for authenticating the group signature data thus received.
Furthermore, the authentication unit may transmit, if the authentication unit determines that the group signature data has been created by a signature unit of either one of the members of the group, a judge request of a member status to a member status judge unit and the member status judge unit judges, at reception of the judge request of a member status from the authentication unit, a member status of the user of the signature unit having created the group signature data and transmits a judge result of the member status to the authentication unit.
Additionally, the group management unit may issue, to the signature unit of the user who becomes a new member of the group, a member registration certificate indicating that the user is a member of the group, stores, as member information, the member registration certificate and ID information corresponding to the signature unit, and transmits, to the member status judge unit, ID information of a signature unit of an invalid member as a user whose qualification as a member of the group has been revoked; the signature unit creates, at subscription of a user to the group, a group signature key as a encryption key to create group signature data, and creates group signature data according to a message, a random number, the member registration certificate issued from the group management unit, and the group signature key; the authentication unit receives the message and the group signature data from the signature unit and transmits the message and the group signature data to the member status judge unit to thereby inquire, of the member status judge unit, whether the user of the signature unit having created the group signature data has been qualified as a valid member of the group at a present point of time; and the member status judge unit stores a list of ID information corresponding to the signature unit of the invalid member as a member revocation list which is a list of invalid members, receives the message and the group signature data from the authentication unit, authenticates the group signature data, identifies, by use of opening information as an encryption key to open the group signature data, the ID information of the signature unit having created the group signature data, judges, according to the member revocation list and the ID information thus identified, the member status of the user of the signature unit having created the group signature data, and transmits the judge result of the member status to the authentication unit.
In addition, the group management unit may transmit the member registration certificate corresponding to the signature unit of the invalid member to the member status judge unit; and the member status judge unit stores a list of member registration certificates corresponding to the signature units of the invalid members as a member revocation list, receives the message and the group signature data from the authentication unit; authenticates the group signature data, creates signer identifying information as information capable of identifying which one of the users possesses the signature unit having created the group signature data, judges, according to the member revocation list and the signer identifying information thus created, the member status of the user of the signature unit having created the group signature data, and transmits the judge result of the member status to the authentication unit. In such configuration, the group management unit does not transmit the ID information of the signature unit of the invalid member to the member status judge unit. Therefore, even if the message and the group signature data are received, the member status judge unit cannot identify the ID information of the signature unit having created the group signature data. Therefore, the ID information of each signature unit may be kept secret from the member status judge unit.
Moreover, the signature unit may create group signature data by use of a hash value of the message; and the authentication unit conducts authentication of the group signature data using the hash value of the message, and transmits, if the authentication unit determines that the group signature data has been created by a device of one of the members of the group, the hash value of the message and the group signature data to the member status judge unit. In such configuration, the data to be sent to the member status judge unit can be replaced by the hash value of the message, not the message itself. Therefore, the authentication unit can keep the message secret from the member status judge unit.
Furthermore, the signature unit may create a group signature key at subscription of the new user to the group, and creates, according to the message, the random number, the member registration certificate issued from the group management unit, and the group signature key, group signature data including conversion data as data by use of which the group management unit or the member status judge unit can restore the member registration certificate through a predetermined conversion; the authentication unit receives the message and the group signature data from the signature unit and transmits the conversion data included in the group signature data to the member status judge unit to thereby inquire, of the member status judge unit, whether the user of the signature unit having created the group signature data has been qualified as a valid member of the group at a present point of time; and the member status judge unit stores a list of ID information corresponding to the signature unit of the invalid member as a member revocation list, restores, if the member status judge unit receives the conversion data from the authentication unit, the member registration certificate according to the conversion data, and then identifies the ID information of the signature unit, judges whether the member revocation list includes the ID information, determines, if the member status judge unit determines that the member revocation list includes the ID information, that the member status of the user of the signature unit having created the group signature data is invalid at a present point of time, determines, if the member status judge unit determines that the member revocation list does not include the ID information, that the member status of the user of the signature unit having created the group signature data is valid at a present point of time, and transmits the judge result of the member status to the authentication unit. In such configuration, the signature unit produces the group signature data including the conversion data of the member registration certificate. Also, the authentication unit having received the message and the group signature data transmits only the conversion data to the member status judge unit. Therefore, the authentication unit can keep the received message secret from the member status judge unit.
Furthermore, the group management unit may issue, to a signature unit of the user who becomes a new member of the group, a member registration certificate indicating that the user is a member of the group, stores, as member information, the member registration certificate and ID information corresponding to the signature unit, and transmits, to the member status judge unit, a member registration certificate corresponding to a signature unit of a valid member of the group and information indicating that the member status is a valid status, and transmits, to the member status judge unit, a member registration certificate corresponding to a signature unit of an invalid member as a user whose qualification as a member of the group has been revoked and information indicating that the member status is an invalid status; the signature unit creates, at subscription of the user to the group, a group signature key as a encryption key to create group signature data, and creates, according to the message, the random number, the member registration certificate issued from the group management unit, and the group signature key, group signature data including conversion data as data by use of which the group management unit or the member status judge unit can restore the member registration certificate through a predetermined conversion; the authentication unit receives the message and the group signature data from the signature unit and transmits the conversion data included in the group signature data to the member status judge unit to thereby inquire, of the member status judge unit, whether the user of the signature unit having created the group signature data has been qualified as a valid member of the group at a present point of time; and the member status judge unit stores a list of pairs each including a member registration certificate and status information (for example, the member status stored in the member revocation list storage section 402A shown in
Moreover, the signature unit may create a group signature key at subscription of the user to the group, and creates, according to the message, the random number, the member registration certificate issued from the group management unit, and the group signature key, group signature data including conversion data as data by use of which the group management unit or the member status judge unit can restore the member registration certificate through a predetermined conversion and proof data indicating that the conversion data has been created by the signature unit; the authentication unit receives the message and the group signature data from the signature unit and transmits the conversion data and the proof data included in the group signature data to the member status judge unit to thereby inquire, of the member status judge unit, whether the user of the signature unit having created the group signature data has been qualified as a valid member of the group at a present point of time; and the member status judge unit receives the conversion data and the proof data from the authentication unit, authenticates the proof data and then restores the member registration certificate according to the conversion data, identifies ID information corresponding to the member registration certificate thus restored, judges the member status of the user of the signature unit having created the group signature data according to the member revocation list and the ID information thus identified, and transmits the judge result of the member status to the authentication unit. In such configuration, the authentication unit sends only the conversion data and the proof data to the member status judge unit. Therefore, the authentication unit can keep the received message secret from the member status judge unit. In addition, the member status judge unit can confirm, by confirming the proof data, whether the data sent from the authentication unit is part of the group signature data.
Furthermore, the member status judge unit may receive the conversion data and the proof data from the authentication unit, authenticates the proof data and then restores the member registration certificate according to the conversion data, judges the member status of the user of the signature unit having created the group signature data according to the member revocation list and the member registration certificate thus restored, and transmits the judge result of the member status to the authentication unit. In such configuration, since the member status can be determined without using the ID information of the signature unit of the invalid member, the ID information of each signature unit can be kept secret from the member status judge unit.
Additionally, the signature unit may create a group signature key at subscription of the user to the group, and creates, according to the message, the random number, the member registration certificate issued from the group management unit, and the group signature key, group signature data including first conversion data as data by use of which the group management unit can restore the member registration certificate through a predetermined conversion, second conversion data as data by use of which the member status judge unit can restore the member registration certificate through a predetermined conversion, first proof data indicating that the second conversion data has been created by the signature unit, and second proof data indicating that the first conversion data and the second conversion data have been created by converting one and the same member registration certificate; the authentication unit receives the message and the group signature data from the signature unit and transmits the second conversion data and the first proof data included in the group signature data to the member status judge unit to thereby inquire, of the member status judge unit, whether the user of the signature unit having created the group signature data has been qualified as a valid member of the group at a present point of time; and the member status judge unit receives the second conversion data and the first proof data from the authentication unit, authenticates the first proof data and then restores the member registration certificate according to the second conversion data, identifies an ID information corresponding to the member registration certificate thus restored, judges the member status of the user of the signature unit having created the group signature data according to the member revocation list and the ID information thus identified, and transmits the judge result of the member status to the authentication unit. In such configuration, the signature unit produces the group signature data including the first conversion data capable of restoring the member registration certificate by use of the opening information of the group management unit and the second conversion data capable of restoring the member registration certificate by use of the opening information of the member status judge unit. Therefore, the group management unit and the member status judge unit can possess mutually different opening information items.
In addition, the member status judge unit may receive the second conversion data and the first proof data from the authentication unit, authenticates the first proof data and then restores the member registration certificate according to the second conversion data, judges the member status of the user of the signature unit having created the group signature data according to the member revocation list and the member registration certificate thus restored, and transmits the judge result of the member status to the authentication unit. In such configuration, since the member status can be determined without using the ID information of the signature unit of the invalid member, the ID information of each signature unit can be kept secret from the member status judge unit.
Furthermore, the group management unit may issue, to a signature unit of the user who becomes a new member of the group, a member registration certificate indicating that the user is a member of the group and signer identifying information (for example, the member trace information) as information capable of confirming that the group signature data has been created by the signature unit of the user, stores, as member information, the member registration certificate, the signer confirming information, and ID information corresponding to the signature unit, and transmits, to the member status judge unit, the signer confirming information corresponding to a signature unit of an invalid member as a user whose qualification as a member of the group has been revoked; and the signature unit creates, at subscription of the user to the group, a group signature key as a encryption key to create group signature data, and creates, according to the message, the random number, the member registration certificate and the signer confirming information issued from the group management unit, and the group signature key, group signature data including conversion data as data capable of restoring the signer confirming information through a predetermined conversion; the authentication unit receives the message and the group signature data from the signature unit and transmits the message and the group signature data to the member status judge unit to thereby inquire, of the member status judge unit, whether the user of the signature unit having created the group signature data has been qualified as a valid member of the group at a present point of time; and the member status judge unit stores a list of the signer confirming information corresponding to the signature unit of the invalid member, as a member revocation list which is a list of invalid members, receives the message and the group signature data from the authentication unit, authenticates the group signature data, judges, according to the member revocation list, the member status of the user of the signature unit having created the group signature data, and transmits the judge result of the member status to the authentication unit. In such configuration, the signature unit produces the conversion data of the signer confirming information as part of the group signature data. And the member status judge unit determines the member status by use of the conversion data. Therefore, the member status judge unit can determine the member status without using the opening information.
Moreover, the group management unit may issue a member registration certificate and signer confirming information to a signature unit of the user who becomes a new member of the group, stores, as member information, the member registration certificate, the signer confirming information, and ID information corresponding to the signature unit, and transmits, to the member status judge unit, the signer confirming information corresponding to the signature unit of the valid member of the group and information indicating that the member status is a valid status, and transmits, to the member status judge unit, the signer confirming information corresponding to the signature unit of the invalid member as a user whose qualification as a member of the group has been revoked and information indicating that the member status is an invalid status; the authentication unit receives the message and the group signature data from the signature unit and transmits the conversion data included in the group signature data to the member status judge unit to thereby inquire, of the member status judge unit, whether the user of the signature unit having created the group signature data has been qualified as a valid member of the group at a present point of time; and the member status judge unit stores a list of signer confirming information corresponding to the invalid member as a member revocation list, receives the conversion data from the authentication unit, judges the member status of the user of the signature unit having created the group signature data according to the member revocation list, and transmits the judge result of the member status to the authentication unit.
Additionally, the group management unit may comprise signature unit identifying means (implemented by, for example, the signer identifying means 108) for identifying the signature unit having created the group signature data.
Furthermore, a group signature system for creating signature data for a message and for authenticating whether the signature data has been created by a device of one of members of a group, may comprise a signature terminal for creating (for example, the user terminal 2A shown in
The member status judge unit in accordance with the present invention is a member status judge unit for judging a member status indicating whether a user of a device having created group signature data as signature data indicating that a message has been created by a device of either one of members of a group has a qualification as a valid member of the group at a present point of time, comprising revocation list storage means (implemented by, for example, the member evocation list storage 402) for storing a member revocation list as a list of invalid members each of which is a user whose qualification as a member of the group has been revoked; judge request receiving means (implemented by, for example, the signature opening means 404) for receiving the judge request of the member status via a communication network from an authentication unit which authenticates the group signature data; status judging means (implemented by, for example, the member status judging means 407) for judging, at reception of the judge request by the judge request receiving means, the member status of the user of the device having created the group signature data according to the member revocation list stored in the revocation list storage means; and judge result transmitting means (implemented by, for example, the member status judging means 407) for transmitting a judge result of the member status judged by the status judging means via a communication network to the authentication unit.
Additionally, the revocation list storage means may store as a member revocation list a list of ID information corresponding to a device of an invalid member; the judge request receiving means receives, as the judge request of the member status, the message and the group signature data; and the status judging means identifies the ID information of the device having the group signature data by use of the message and the group signature data received by the judge request receiving means and opening information as an encryption key to open the group signature data and judges the member status of the user of the device having created the group signature data according to the member revocation list stored in the revocation list storage means and the ID information thus identified.
Furthermore, the revocation list storage means may store as a member revocation list a list wherein a member registration certificate which corresponds to the device of an invalid member and which indicates that the user is a member of the group and status information indicating that the member status is a valid status or an invalid status are stored with a correspondence established therebetween; the judge request receiving means receives from the authentication unit, as the judge request of the member status, conversion data as data capable of restoring the member registration certificate through a predetermined conversion; and the status judging means creates a member registration certificate according to the conversion data received by the judge request receiving means, and judges the member status of the user of the device having created the group signature data according to status information corresponding to the member registration certificate thus created, the status information being selected from the status information included in the member revocation list stored in the revocation list storage means. In such configuration, the authentication unit transmits only the conversion data to the member status judge unit. Therefore, the authentication unit can keep the received message secret from the member status judge unit. Therefore, the ID information of each signature unit may be kept secret from the member status judge unit.
Additionally, the revocation list storage means may store as a member revocation list a list of signer confirming information which corresponds to the device of an invalid member and which is information capable of confirming that the group signature data has been created by the device of a particular user; the judge request receiving means receives, from the authentication unit, the message and the group signature data as the judge request of the member status; and the status judging means judges the member status of the user of the device having created the group signature data according to the message and the group signature data received by the judge request receiving means and the signer confirming information included in the revocation member list stored in the revocation list storage means. In such configuration, the conversion data of the signer confirming information is outputted as part of the group signature data. Moreover, the member status judge unit determines the member status by use of the conversion data. Therefore, the member status judge unit can determine the member status without using the opening information.
The group signature method in accordance with the present invention is a group signature method of creating signature data for a message and authenticating whether the signature data has been created by a device of one of members of a group, comprising creating, by a signature unit for creating signature data, group signature data as signature data indicating that the message has been created by a device of one of the members of the group; transmitting, by the signature unit, the group signature data thus created via a communication network to an authentication unit which authenticates the signature data; authenticating, by the authentication unit, the group signature data received from the signature unit; transmitting by the authentication unit, if the authentication unit determines that the group signature data has been created by a signature unit of one of the members of the group, a judge request of the member status via a communication network to a member status judging server which judges a member status indicating whether the user of the signature unit having created the group signature data has a qualification as a valid member of the group at a present point of time; and judging by member status judging server, if the member status judging server receives the judge request of the member status from the authentication unit, the member status of the user of the signature unit having created the group signature data.
Additionally, the group signature method may further comprise storing, by a member status judge unit, a list of ID information corresponding to a device of an invalid member as a member revocation list which is a list of invalid members as a user whose qualification as a member of the group has been revoked; transmitting, by the signature unit, the message and the group signature data via a communication network to the authentication unit; transmitting, by the authentication unit, if the authentication unit determines that the group signature data has been created by a signature unit of one of members of the group, the message and the group signature data as the judge request of the member status via a communication network to the member status judge unit; identifying, by the member status judge unit, ID information of the signature unit having created the group signature data, by use of the message and the group signature data received from the authentication unit and opening information as an encryption key to open the group signature data; and judging by the member status judge unit the member status of the user of the signature unit having created the group signature data, according to the member revocation list thus stored and the ID information thus identified.
Additionally, the group signature method may further comprise storing, by the member status judge unit, a list of a member registration certificate which corresponds to a device of an invalid member and which indicates that the user is a member of the group and status information indicating that the member status is a valid status or an invalid status with a correspondence established therebetween, the list being a member revocation list which is a list of invalid members as users whose qualification as a member of the group has been revoked; transmitting, by the authentication unit, if the authentication unit determines that the group signature data has been created by a signature unit of one of members of the group, conversion data as data capable of restoring the member registration certificate through a predetermined conversion via a communication network to the member status judge unit, as the judge request of the member status; creating, by the member status judge unit, a member registration certificate according to the conversion data received from the authentication unit; and judging, by the member status judge unit, the member status of the user of the signature unit having created the group signature data according to status information corresponding to the member registration certificate thus created, the status information being selected from the status information included in the member revocation list thus stored. In such configuration, the authentication unit having transmits only the conversion data to the member status judge unit. Therefore, the authentication unit can keep the received message secret from the member status judge unit. In addition, the ID information of each signature unit can be kept secret from the member status judge unit.
Also, the group signature method may further comprise storing, by the member status judge unit, as a member revocation list a list of signer confirming information which corresponds to the device of an invalid member and which is information capable of confirming that the group signature data has been created by the device of a particular user, the member revocation list being a list of invalid members as users whose qualification as a member of the group has been revoked; transmitting, by the signature unit, the message and the group signature data via a communication network to the authentication unit; transmitting, by the authentication unit, if the authentication unit determines that the group signature data has been created by a signature unit of one of members of the group, the message and the group signature data as the judge request of the member status via a communication network to the member status judge unit; and judging, by the member status judge unit, the member status of the user of the signature unit having created the group signature data according to the message and the group signature data received from the authentication unit and the signer confirming information included in the invalid member list thus stored. In such configuration, the conversion data of the signer confirming information is outputted as part of the group signature data. And the member status judge unit determines the member status by use of the conversion data. Therefore, the member status judge unit can determine the member status without using the opening information.
The computer program product in accordance with the present invention is a member status judging program for judging a member status indicating whether a user of a device having created group signature data as signature data indicating that a message has been created by a device of one of members of a group has a qualification as a valid member of the group at a present point of time, the program causing a computer, characterized by comprising revocation list storage means for storing a member revocation list as a list of invalid members each of which is a user whose qualification as a member of the group has been revoked, to execute; receiving a judge request of the member status via a communication network from an authentication unit which authenticates the group signature data; judging, if the judge request is received from the authentication unit, the member status of the user of the device having created the group signature data according to the member revocation list stored in the revocation list storage means; and transmitting the judge result of the member status thus judged via a communication network to the authentication unit.
Also, the computer program may cause a computer, comprising revocation list storage means for storing as a member revocation list a list of ID information corresponding to devices of invalid members, to execute: receiving from the authentication unit, the message and the group signature data as a judge request of the member status; identifying the ID information of the device having created the group signature data by use of the message and the group signature data received from the authentication unit and opening information as an encryption key to open the group signature data; and judging the member status of the user of the device having created the group signature data according to the member revocation list stored in the revocation list storage means and the ID information thus identified.
Moreover, the computer program may cause a computer, comprising revocation list storage means for storing as a member revocation list a list wherein a member registration certificate which corresponds to the device of an invalid member and which indicates that the user is a member of the group and status information indicating that the member status is a valid status or an invalid status are stored with a correspondence established therebetween, to execute: receiving from the authentication unit, as the judge request of the member status, conversion data which is data capable of restoring the member registration certificate through a predetermined conversion; creating a member registration certificate according to the conversion data received from the authentication unit; and judging the member status of the user of the device having created the group signature data according to status information corresponding to the member registration certificate thus created, the status information being selected from the status information included in the member revocation list stored in the revocation list storage means. In such configuration, the authentication unit sends only the conversion data to the member status judge unit. Therefore, the authentication unit can keep the received message secret from the member status judge unit. In addition, the ID information of each signature unit can be kept secret from the member status judge unit.
Furthermore, the computer program may cause a computer, comprising the revocation list storage means for storing as a member revocation list a list of signer confirming information which corresponds to the device of an invalid member and which is information capable of confirming that the group signature data has been created by the device of a particular user, to execute: receiving, from the authentication unit, the message and the group signature data as the judge request of the member status; and judging the member status of the user of the device having created the group signature data according to the message and the group signature data received from the authentication unit and the signer confirming information included in the revocation member list stored in the revocation list storage means. In such configuration, the conversion data of the signer confirming information is outputted as part of the group signature data. And the member status judge unit determines the member status by use of the conversion data. Therefore, the member status judge unit can determine the member status without using the opening information.
According to the embodiments, a member status judging device to judge a member status is newly introduced. Also, at authentication of the group signature data, an inquiry about whether the membership of the user of the device or unit having created the group signature data has been revoked is issued to the member status judging device. Since the judgment of the member status validity can be entrusted to the judging device, the necessity of updating parameters including a private key when some member withdraws can be removed. Therefore, the processing for member revocation can be efficiently executed.
Next, description will be given of a first embodiment of the present invention by referring to drawings.
The group management unit 1 is implemented, for example, by a server managing a group. In the embodiment, the unit 1 manages the group by executing member registration processing to register a new member to the group and member revocation processing to revoke qualification as a member of the group. As shown in
The public information opening means 101 is implemented using, for example, a CPU, a storage device, and a network interface section of a server. The means 101 includes a function to store various public information to be used in the system so that all devices that can access the information via a network such as the Internet freely refer to the information. In the embodiment, when a message is to be created at a terminal of a member of the group, there is created signature data (to be referred to as group signature data) indicating that the message is created by the signature unit 2 of one of the members of the group. For example, the unit 10 stores, as public information, a group public key to authenticate the group signature data and opens the group public key to all terminals that can access the information via the Internet.
The member registration information storage section 102 is implemented by, for example, the storage of the server. The storage section 102 stores member registration information to be employed by the member registration means 103 to execute processing for member registration. In this connection, “member registration information” is a cryptographic key (called a secret key in the embodiment) for the means 103 to generate a member registration certificate for the member registration.
The member registration means 103 is implemented using, for example, a CPU and a network interface section of a server. The means 103 includes a function to communicate with group subscribing means 201 of the signature unit 2 to issue a member registration certificate using member registration information. In the embodiment, the means 103 creates a certificate not by itself, but in cooperation with the group subscribing means 201 to thereby issue the member registration certificate to the signature unit 2. In the embodiment, the means 103 transmits to the subscribing means 201 data created according to a predetermined algorithm and processes data received from the means 201 according to a predetermined algorithm to thereby generate the member registration certificate.
Additionally, the member registration means 103 includes a function to store in the member information storage section 104 the generated member registration certificate together with ID information capable of identifying the signature unit 2. In this case, for example, the member registration means 103 requests the member information storage section 104 to store therein, as ID information, signature data attached to data from the group subscribing means 201 during the communication to generate the member registration certificate.
The member information storage section 104 is realized using, for example, the storage of the server. The storage section 104 stores the member registration certificate delivered and the ID information outputted from the member registration means 103 with a correspondence established therebetween.
The revoked or invalid member notifying means 105 is realized using, for example, a CPU and a network interface section of a server. The means 105 includes a function that the means 105 reads from the member information storage section 104 ID information corresponding to a user who has lost the qualification as the group member and then notifies the member status response unit 4 of the ID information. For example, when the manager of the group signature system conducts a qualification revocation operation for a member and information of the revoked member is inputted, the means 105 extracts from the storage section 104 the ID information corresponding to the signature unit 2 of the member whose qualification is revoked. Thereafter, the means 105 transmits the extracted ID information to the member status response unit 4.
The opening information storage section 106 is materialized using, for example, the storage of the server. The storage section 106 stores opening information to be used when the signature opening means 107 opens the signature data. In this regard, “opening information” is a cryptographic key (a secret key in the embodiment) to open the group signature data.
The signature opening means 107 is implemented using, for example, a CPU and a network interface section of a server. The means 107 includes a function to accept (receive) group signature data and a message to be accepted at a verification process. Also, the means 107 includes a function that creates, by use of the group signature data, a message, and opening information stored in the opening information storage section 106, signer identifying information to identify the signature unit 2 having generated the group signature data. Incidentally, in the embodiment, the signer identifying information is numeric information obtained according to a predetermined algorithm and is information capable of identifying one of the signature units 2 of users having created the group signature data. Also, the means 107 includes a function to deliver the created signer identifying information to the signer identifying means 108.
The signer identifying means 108 is materialized using, for example, a CPU of a server. The means 108 includes a function to identify the signature unit 2 having created the group signature data by use of the signer identifying information inputted from the signature opening means 107 and the member information stored in the member information storage section 104. In addition, the means 108 includes a function to produce ID information of the identified signature unit 2.
The signature unit 2 is a device that the user, a member of the group, uses, and is implemented using, for example, an information processing terminal such as a personal computer. As can be seen from
The group subscribing means 201 is realized using, for example, a CPU and a network interface section of an information processing terminal. The means 201 includes a function to communicate with the member registration means 103 of the group management unit 1 to generate a member registration certificate and a group signature key as a cryptographic key (a private key in the embodiment) to create group signature data. Additionally, the means 201 includes a function to deliver the member registration certificate and the group signature key generated as above to the member registration certificate storage section 202 and the group signature key storage section 203, respectively.
In the embodiment, the group subscribing means 201 creates the member registration certificate not by itself but in cooperation with the member registration means 103 such that the group management unit 1 issues the member registration certificate. Thereafter, the means 201 feeds the generated certificate to the certificate storage section 202. Incidentally, the means 201 creates through the communication with the member registration means 103 a member registration certificate similar to that created by the member registration means 103. The member registration certificate is calculated using as inputs the group public key and the member registration information.
Moreover, for example, the group subscribing means 201 creates the group signature not by itself but in cooperation with the member registration means 103. In this case, the means 201 transmits to the registration means 103 data created according to a predetermined algorithm, or processes data from the registration means 103 according to a predetermined algorithm to thereby create the group signature key. The means 201 delivers the generated key to the group signature key storage section 203. In this connection, for example, the means 201 may create, without communicating with the member registration means 103, a group signature key by itself, and output the key to the storage section 203. However, in any situation, the group signature key is stored in secret not to be known to the member management unit 1. As a result, even the unit 1 cannot create the group signature data by use of which the signer identifying means 108 can identify that the group signature data has been created by the signature unit 2.
The member registration certificate storage section 202 and the group signature key storage section 203 are implemented by use of, for example, storage of an information processing terminal. The certificate storage section 202 stores the member registration certificate delivered from the group subscribing means 201. Moreover, the key storage section 203 stores the group signature key fed from the subscribing means 201.
The message input means 204 is materialized using, for example, a CPU and an input device such as a keyboard and a mouse of an information processing terminal. The means 204 includes a function to receive, according to operation of a user (a member of the group), a message (an input) to be attached to group signature data and feed the message to the group signature creating means 206. The random number generator 205 includes a function to generate a random number to be used by the group signature creating means 206 to create signature data.
The group signature creating means 206 is implemented using, for example, a CPU of an information processing terminal. The means 206 includes a function to create, according to a message, a random number, a member registration certificate, and a group signature key, group signature data indicating that the signature unit 2 is a device of the group member correctly registered to the group management unit 1 and to output the group signature data.
In this regard, the group signature creating means 206 outputs the group signature data (a signature indicating that the user belongs to the group while anonymity of the user is preserved) that does not show any information capable of identifying the signature unit 2. For example, a verification unit 3 having received a message conducts authentication according to the group signature data to resultantly recognize that the message is created by one of the members of the group. However, it is not possible for the verification unit 3 to cryptographically decode the member registration certificate and the group signature key based on the group signature data. Therefore, the verification unit 3 cannot identify which one of the members of the group has created the message, and this hence keeps the user's anonymity.
The verification unit 3 is a device to verify (authenticate) the group signature data received from the signature unit 2 and is realized by use of, for example, an information processing terminal such as a personal computer. The verification unit 3 includes a function to authenticate the group signature data to produce an authentication result to determine whether the message is to be accepted or rejected. As shown in
The verification means 301 is implemented using, for example, a CPU and a network interface section of an information processing terminal. The means 301 includes a function that accepts (receives) a message and group signature data from the signature unit 2 to check validity of the data. In the embodiment, the verification means 301 authenticates the group signature data by use of public information opened by the group management unit 1 to the public. Also, the verification means 301 includes a function that if it is judged that the group signature data is not appropriate, the verification means 301 determines “rejection” to produce the verification result.
Additionally, the group signature verification means 301 includes a function that if it is judged that the group signature data is appropriate, the verification means 301 transmits the message and the data to the signature opening means 404 of the member status response unit 4 in order to confirm whether the signature unit 2 having created the data is a device of a valid group member. That is, the verification means 301 transmits the message and the data to inquire whether the user having created the message is a member who is currently valid or a member whose qualification has already been revoked.
The verification result output means 302 is realized by, for example, a CPU and a network interface section of an information processing terminal. The output means 302 includes a function to receive the result of a member status check from member status judging means 407 of the member status response unit 4. In addition, the output means 302 includes a function that if the received result is “valid”, the output means 302 determines “acceptance” and if the received result is “invalid”, the output means 302 determines “rejection” to produce the verification result of “acceptance” or “rejection”.
The member status response unit 4 is implemented by, for example, a server to judge the member status of each group member. As shown in
The invalid member receiving means 401 is configured using, for example, a CPU and a network interface of a server. The receiving means 401 includes a function to receive ID information of an invalid member sent from the invalid member notifying means 105 to store the ID information in the member revocation list storage section 402.
The list storage section 402 and the opening information storage section 403 are materialized by user of, for example, storage of a server. The list storage section 402 stores a member revocation list that is a list of members (invalid members) whose group member qualification has been revoked.
The signature opening means 404 is constructed using, for example, a CPU and a network interface section of a server. The opening means 404 includes a function to receive a message and group signature data from the group signature verification means 301 of the verification unit 3. Additionally, the opening means 404 includes a function to generate signer identifying information to identify the signature unit 2 having created the group signature data, by use of the received message and the received group signature data, opening information stored in the storage section 403, and various public information disclosed by the public information disclosing means 101. Also, the signature opening means 404 includes a function to deliver the generated information to the signer identifying means 406.
The member information storage section 405 is implemented by, for example, storage of a server. The information storage section 405 stores member information similar to that stored in the member information storage 104 of the group management unit 1. The member status response unit 4 is notified of the member information stored in the storage section 405 from the unit 1 in a particular method. For example, the response unit 4 beforehand receives the member information from the management unit 1 and orders the information storage section 405 to store the received member information.
The signer identifying means 406 is materialized using, for example, a CPU of a server. The identifying means 406 includes a function to receive from the signature opening means 404 the signer identifying information to identify, by use of the signer identifying information and the member information stored in the member information storage section 405, ID information of the signature unit 2 having created the group signature data. In addition, the identifying means 406 includes a function to output the identified ID information to the member status judging means 407.
The judging means 407 is realized using, for example, a CPU and a network interface section of a server. The judging means 407 includes a function to receive ID information from the sign opening means 406 to determine whether the signature unit 2 corresponding to the ID information is a unit of a valid group member by use of the member revocation list.
In the embodiment, the member status judging means 407 compares the ID information identified by the identifying means 406 with the member revocation list stored in the member revocation list storage section 402 to determine whether information matching the identified ID information is contained in the member revocation list. If it is determined that the matching ID information is contained, the judging means 407 determines that the member status is “invalid”. Or, if it is determined that the matching ID information is not contained, the judging means 407 determines that the member status is “valid”.
Additionally, the judging means 407 includes a function to send response data containing the member status indicating “valid” or “invalid” to the verification result output means 302 of the verification unit 3.
Incidentally, in the embodiment, the storage section of the member status response unit 4 beforehand stores various programs to determine the member status. For example, the storage section of the unit 4 beforehand stores a member status judging program that executes: processing to receive a member status judge request via a communication network from an authentication device to authenticate the group signature data; processing to determine, according to the member revocation list stored in the revocation list storage means, the member status of the unit having created the group signature data; and processing to transmit the judge result of the judged member status via the communication network to the authentication device.
Next, description will be given of an operation.
First, description will be given of an operation of group subscribing processing to register, when a new user subscribes to a group, the user as a member. For the group subscription, the signature unit 2 communicates with the group management unit 1 to execute registration processing. The group subscribing means 201 of the signature unit 2 communicates with the member registration means 103 of the management unit 1, and creates and outputs a member registration certificate and a group signature key. In addition, the subscribing means 201 orders the member registration certificate 202 to store the member registration certificate, and the group signature key storage section 203 to store the group signature key.
The member registration means 103 orders the member information storage section 104 to store a pair of the member registration certificate issued to the signature unit 2 and ID information capable of identifying the unit 2. In this connection, it is possible to adopt as the ID information, for example, the digital signature or the like attached to the message sent from the signature unit 2. Additionally, the member registration certificate and the ID information stored in the member information storage section 104 are employed in an operation in which the group management unit 1 and the member status response unit 4 identify the signature unit 2 having created the group signature data according to the group signature data.
Next, description will be given of an operation of invalid member notification processing in which the group management unit 1 notifies, when a member becomes invalid, the member status response unit 4 of the invalid member. To delete a signature unit 2 of a user (a member of a group) from the group, the invalid member notification means 105 of the management unit 1 reads out from the member information storage section 104 ID information corresponding to the signature unit 2 to be deleted. Additionally, the notification means 105 sends the obtained ID information to the response unit 4. The invalid member receiving means 401 of the response unit 4 receives the ID information from the notification means 105 and orders the member revocation list storage section 402 to store the received ID information.
Subsequently, description will be given of an operation of group signature creation processing in which the signature unit 2 generates group signature data. The signature unit 2 of the user having subscribed to the group receives as an input a message according to a user operation to create group signature data for the message. The group signature creating means 206 creates group signature data according to the message received from the message input means 204, a random number generated by the random number generator 205, the member registration certificate stored in the certificate storage section 202, and the group signature key stored in the key storage section 203. In this situation, the creating means 206 creates the group signature data indicating that the signature unit 2 is a unit of a group member without revealing information capable of identifying the signature unit 2. Then, the creating means 206 delivers the message and the group signature data.
Next, description will be given of an operation of processing in which the verification unit 3 and the member status response unit 4 judge validity of the group signature and determine whether the user is an invalid member. The verification unit 3 receives the message and the group signature data from the signature unit 2 and verifies whether the data is an appropriate signature for the message (whether the signature data has been created by a signature unit 2 of a member of the group). As shown in
If it is judged that the group signature data is appropriately produced, the verification means 301 confirms the member status of the signature unit 2 having created the data. That is, the verification means 301 confirms whether the signature unit 2 is a unit of a valid member of the group. The verification means 301 transmits the message and the group signature data to the member status response unit 4 (step S102) to request judgment of the member status of the signature unit 2.
The signature opening means 404 of the response unit 4 accepts (receives) the message and the group signature data from the verification unit 3. Also, the signature opening means 404 confirms validity of the group signature data according to the message, the data, and the public information disclosed by the public information disclosing means 101 (step S103). If it is determined that the data is not appropriate, the signature opening means 404 judges that the member status is “unknown” and then sends response data representing “unknown” to the verification unit 3 (step S104).
If it is determined that the data is appropriate, the signature opening means 404 produces, using the opening information stored in the opening information storage section 403, signer identifying information to identify the signature unit 2 having generated the group signature data and delivers the information to the signer identifying means 406 (step S105).
At reception of the signer identifying information, the identifying means 406 identifies, by use of the member information stored in the member information storage 405, the signature unit 2 indicated by the signer identifying information. Thereafter, the identifying means 406 feeds ID information associated with the identified signature unit 2 to the member status judging means 407 (step S106).
When the ID information is received, the means 407 makes a check, according to the member revocation list stored in the revocation list storage section 402, whether the ID information identified by the signer identifying means 406 exists in the member revocation list (step S107). If the ID information exists in the list, the member status judging means 407 judges that the member status is “invalid” (step S108). Moreover, if the ID information does not exist in the list, the judging means 407 judges that the member status is “valid” (step S109). The judging means 407 then transmits response data indicating “invalid” or “valid” to the verification unit 3.
The verification result output means 302 of the verification unit 3 receives and gets the response data from the member status response unit 4 (step S110). According to the response data, the output means 302 makes a check to determine whether the member status is “valid” (step S111). If it is determined that the member status is “valid” according to the response data, the output means 302 determines to “accept” the message according to the group signature data. Or, if it is determined that the member status is other than “valid” (i.e. “revoked” or “unknown”), the output means 302 determines to “reject” the message according to the group signature data. The output means 302 then produces a verification result “acceptance” or “rejection”.
As above, through the execution of processing from step S101 to step S111, the verification unit 3 confirms that the message has been created by one of the members (the user who is or was the member) of the group. Moreover, by asking the member status response unit 4 to determine the member status, the verification unit 3 can confirm that the user having created the message is a group member who has a valid qualification also at present to thereby determine whether the message is to be accepted or not.
Next, description will be given of signature unit identification processing to identify the signature unit 2 having created the group signature. The group management unit 1 identifies according to necessity the signature unit 2 having created the group signature on the basis of the message and the group signature data. The signature opening means 107 gets (receives) the message and the group signature data. According to the opening information stored in the opening information storage section 106, the signature opening means 107 generates signer identifying information to identify the signature unit 2 having created the group signature data and then outputs the information to the signer identifying means 108.
Incidentally, in the embodiment, the group signature creating means 206 may create the group signature data as the input that is a hash value obtained by converting the message using a predetermined hash function. In the verification processing executed by the group signature verification means 301, the verification means 301 first calculates the hash value of the message using the message. Thereafter, the verification means 301 authenticates the group signature data using the hash value of the message. As a result of the operation, the data to be sent to the member status response unit 2 can be replaced by the message hash value and the group signature data. Therefore, the verification unit 3 can keep the message secret from the member status response unit 4.
Furthermore, in the case described for the embodiment, although the group management unit 1 and the member status response unit 4 are implemented by use of different servers, it is also possible for the group management unit 1 and the member status response unit 4 to be implemented by one and the same server. The constituent components having common functions in the units 1 and 4 may be the same components. For example, the member information storage section 104 may be identical to the member information storage section 405, the signature opening means 107 may be identical to the signature opening means 404, and the signer identifying means 108 may be identical to the signer identifying means 406.
As above, according to the embodiment, the member status response apparatus 4 conducts the member status determination for a signer of a group signature. The member invalidating function can be realized by use the configuration that is same as that of a group signature system not having the member invalidating function, and hence the amount of calculations required for the member invalidation can be reduced. That is, according to the embodiment, a new member status response unit 4 is introduced such that the verification unit 3 sends to the member status response unit 4 inquires whether the member qualification of the member of the signature unit 2 having created the group signature data has been revoked. Since the determination of the validity of the member status can be entrusted to the unit 4, it is not required, at occurrence of a revoked member, to update parameters such as the private key. Therefore, the processing for the member revocation can be efficiently executed.
In addition, according to the embodiment, the member status is determined at verification of the group signature data. That is, according to the embodiment the verification unit 3 inquires the validity of a member of the member status response unit 4 each time the group signature data is verified. Thereafter, the unit 4 sends back a result to the verification unit 3 according to the member status at the point of inquiry. Consequently, the determination can be conducted according to the member status at the point of verification to output the verification result. Therefore, at verification of the group signature data, the validity of the group member can be confirmed.
Next, description will be given of the second embodiment of the present invention by referring to drawings.
The revoked member notifying means 105A includes a function to read from the member information storage section 104 a member registration certificate corresponding to the signature unit 2 whose qualification as the group member is revoked to notify the member status response unit 4 of the member registration certificate.
As shown in
The invalid member receiving means 401A includes a function to receive a member registration certificate of the invalid member transmitted from the revoked member notifying means 105A to make the member revocation list storage section 402A store the member registration certificate.
The list storage section 402A stores a member revocation list.
The signature opening means 404A includes a function to receive a message and group signature data from the group signature verification means 301 of the verification unit 3. Additionally, the signature opening means 404A includes a function in which the opening unit 404A creates, by use of the opening information stored in the opening information storage section 403 and various public information opened by the public information opening means 101, signer identifying information to identify the signature unit 2 having created the group signature data. Also, the opening means 404A includes a function to deliver the created information to the member status judging means 407A.
The judging means 407A includes a function in which the means 407A receives the signer identifying information from the signature opening means 404A and determines, by use of the member revocation list stored in the list storage section 402A, whether the signature unit 2 indicated by the information is a valid group member. Furthermore, the judging means 407A includes a function to send response data indicating “valid” or “invalid” to the verification result output means 302 of the verification unit 3.
Next, an operation will be described.
The group signature verifying means 301 of the verification unit 3 judges validity of the group signature data (step S101) and transmits a message and the group signature data to the group management unit 1 (step S102) in a way similar to that of the first embodiment.
At verification of group signature data, the signature opening means 404A gets (receives) the message and the group signature data from the verifying means 301 of the verification unit 3. Also, the opening means 404A confirms validity of the group signature data using the message, the group signature data, and the public information opened by the public information opening means 101 (step S103). If it is determined that the group signature data is not appropriate, the opening means 404A determines that the member status is “unknown” and sends response data indicating “unknown” to the verification unit 3 (step S104).
If it is determined that the group signature data is appropriate, the signature opening means 404A creates signer identifying information to identify the signature unit 2 having created the group signature data by use of the opening information stored in the opening information storage section 403 and outputs the information to the member status judging means 407A (step 105).
When the signer identifying information is received, the judging means 407A determines, according to the member revocation list stored in the list storage section 402A, whether the member registration certificate corresponding to the information exists in the list (step S206). If it is determined that the certificate exists in the list, the judging means 407A determines that the member status is “invalid” (step S108). Furthermore, if it is determined that the certificate does not exist in the list, the judging means 407A determines that the member status is “valid” (step S109). Thereafter, the judging means 407A transmits response data indicating “invalid” or “valid” to the verification unit 3. The verification result output means 302 of the verification unit 3 then receives the response data indicating the member status in a way similar to that of the first embodiment (step S110) to determine whether the member status is “valid” (step S111) and produces a verification result of “acceptance” or “rejection”.
Incidentally, like in the first embodiment, the group signature creating means 206 may create the group signature data as the input which is a hash value obtained by converting the message using a predetermined hash function. In this situation, in the verification processing executed by the group signature verification means 301, the means 301 calculates the hash value of the message to authenticate the group signature data using the hash value of the message. As a result of the operation, the data to be sent to the member status response unit 2 can be replaced by the message hash value and the group signature data. Therefore, the verification unit 3 can keep the message secret from the member status response unit 4.
As above, according to the embodiment, the invalid member notifying means 105 of the group management unit 1 does not transmit the ID information of the signature unit 2 of the revoked member to the member status response unit 4. Consequently, even if the message and the group signature data are received, the response unit 4 cannot identify the ID information of the signature unit 2 having created the group signature data. Therefore, the ID information of each signature unit 2 can be kept secret from the member status response unit 4.
Next, description will be given of the third embodiment of the present invention by referring to drawings. In the embodiment, the configuration of the group signature system is similar to that of
The signature unit 2 includes, as in the first embodiment, group subscribing means 201, a member registration certificate storage section 202, a group signature key storage section 203, message input means 204, a random number generator 205, and group signature creating means 206.
The configurations of the group subscribing means 201, the member registration certificate storage section 202, the group signature key storage section 203, the message input means 204, and the random number generator 205 are similar to those of the first and second embodiments.
The group signature creating means 206 creates and outputs group signature data indicating that the signature unit 2 is a unit of a group member appropriately registered to the group management unit 1, according to a message, a random number, a member registration certificate, and a group signature key. In this situation, the creating means 206 produces group signature data while concealing information capable of identifying the signature unit 2.
Also, the group signature creating means 206 creates, by using the public information opened by the public information opening means 101, group signature data including conversion data to restore the member registration certificate by use of the opening information possessed by the group management unit 1 and the member status response unit 4.
Moreover, the configuration of the response unit 4 is similar to that of the response unit 4 in the first embodiment.
Next, an operation will be described.
First, operation of the group signature creating processing will be described. When a message is inputted according to a user operation, the signature unit 2 of the user subscribed to the group creates group signature data for the message. The group signature creating means 206 creates group signature data that indicates that the signature unit 2 is a member of the group while concealing information capable of identifying that the signature unit 2 is a unit of a member of the group. In this situation, the creating means 206 generates conversion data to restore the member registration certificate. According to the conversion data, the group management unit 1 and the member status response unit 4 can create and restore the member registration certificate by conducting a predetermined conversion using the possessed opening information.
For example, the group signature creating means 206 produces the conversion data through conversion using a public key encryption system. In this situation, using a private key of the public key encryption system as opening information, the creating means 206 encrypts the data including the member registration certificate according to a public key corresponding to the opening information and a random number. The creating means 206 then outputs group signature data including the message and the conversion data.
Next, description will be given of operation of the processing in which the verification unit 3 and the member status response unit 4 judge validity of the group signature to determine whether the associated unit is a revoked member. The verification unit 3 having received the message and the conversion data verifies the group signature data to determine whether the signature is appropriate for the message in a way similar to that of the first embodiment. As shown in
If it is determined that the group signature data is appropriately created signature data, the verifying means 301 confirms the member status of the signature unit 2 having produced the group signature data. That is, the verifying means 301 confirms whether the signature unit 2 is a unit of a valid member of the group. The verifying means 301 sends the conversion data contained in the group signature data to the member status response unit 4 (step S302).
The signature opening means 404 of the response unit 4 gets (receives) the conversion data. Moreover, according to the conversion data and the opening information stored in the opening information storage section 403, the opening means 404 restores (generates) the member registration certificate to deliver the generated certificate as signer identifying information to the signer identifying means 406 (step S303).
When the member registration certificate as signer identifying information is received, the identifying means 406 identifies ID information of the signature unit 2 corresponding to the certificate by use of the member information stored in the member information storage section 405 (step S304). If it is determined that the member registration certificate corresponding to the signer identifying information is absent, the identifying means 406 determines that the member status is “unknown” to send response data indicating “unknown” to the verification unit 3 (step S305). Furthermore, if it is determined that the member registration certificate corresponding to the signer identifying information is present, the identifying means 406 delivers the identified ID information to the member status judging means 407 (step S306).
When the ID information is received, the judging means 407 determines, according to the member revocation list stored in the list storage section 402, whether the ID information identified by the identifying means 406 exists in the list (step S107). If it is determined that the ID information exists in the list, the judging means 407 determines that the member status is “revoked” (step S108). Moreover, if it is not determined that the ID information exists in the list, the judging means 407 determines that the member status is “valid” (step S109). The judging means 407 then transmits response data indicating “revoked” or “valid” to the verification unit 3.
The verification result output means 302 of the verification unit 3 receives the response data from the response unit 4 (step S110). According to the response data, the output means 302 determines whether the member status is “valid” (step S111). If it is determined according to the response data that the member status is “valid”, the output means 302 determines according to the group signature data that the message is “accepted”. Also, if it is determined according to the response data that the member status is other than “valid”, the output means 302 determines according to the group signature data that the message is “rejected”. The output means 302 then produces a verification result of “acceptance” or “rejection”.
As above, according to this embodiment, the signature unit 2 produces the group signature data including the conversion data of the member registration certificate. Also, the verification unit 3 having received the message and the group signature data transmits only the conversion data to the member status response unit 4. Consequently, the verification unit 3 can keep the received message secret from the response unit 4.
Next, the fourth embodiment will be described by referring to drawings. The configuration thereof is similar to that of
The member status response unit 4 includes, as in the second embodiment, invalid member receiving means 401A, a member revocation list storage section 402A, an opening information storage section 403, signature opening means 404A, and member status judging means 407A. The configurations of the receiving means 401A, the opening information storage section 403, the opening means 404A, and the judging means 407A are similar to those of the second embodiment.
The member revocation list storage section 402A stores member registration certificates and member statuses with a correspondence established therebetween.
Next, an operation will be described.
The verification unit 3 having received the message and the group signature data verifies the group signature data to determine whether the data is an appropriate signature for the message. As shown in
If it is judged that the group signature data is the signature data appropriately produced, the verification means 301 confirms the member status of the signature unit 2 having created the data. That is, the verification means 301 confirms whether the unit 2 is a unit of a valid member of the group. The means 301 transmits the conversion data contained in the group signature data to the member status response unit 4 (step S302).
When the conversion data is obtained (received) from the verification unit 3, the signature opening means 404A of the response unit 4 restores (generates) the member registration certificate according to the conversion data and the opening information stored in the opening information storage section 403 to deliver the generated certificate as signer identifying information to the member status judging means 407A (step S303).
When the signer identifying information is received, the judging means 407A makes a search through the member revocation list stored in the list storage section 402A to determine whether the member registration certificate matching with the signer identifying information exists therein (step S404). If it is determined that such certificate does not exist (the matching certificate is absent), the judging means 407A determines that the member status is “unknown” and then sends response data representing “unknown” to the verification unit 3 (step S405).
If it is determined that such certificate exists (the matching certificate is present), the judging means 407A determines that the member status is “valid” or “invalid” according to the status of the certificate stored in the list storage section 402A (step S406). For example, if it is determined according to the member revocation list stored in the list storage section 402A that the member status corresponding to the certificate is “invalid”, the judging means 407A transmits response data indicating “invalid” to the verification unit 3 (step S407). Additionally, if it is determined that the member status corresponding to the certificate is “valid”, the judging means 407A transmits response data indicating “valid” to the verification unit 3 (step S408).
The verification result output means 302 of the verification unit 3 receives the response data from the member status response unit 4 (step S110). According to the response data, the output means 302 makes a check to determine whether the member status is “valid” (step S111). If it is determined that the member status is “valid” according to the response data, the output means 302 determines to “accept” the message according to the group signature data. Or, if it is determined that the member status is other than “valid”, the output means 302 determines to “reject” the message according to the group signature data. The output means 302 then produces a verification result “acceptance” or “rejection”.
As above, according to this embodiment, the signature unit 2 produces the group signature data including the conversion data of the member registration certificate. Also, the verification unit 3 having received the message and the group signature data transmits only the conversion data to the member status response unit 4. Consequently, the verification unit 3 can keep the received message secret from the response unit 4. In addition, according to the embodiment, the invalid member notifying means 105A of the group management unit 1 does not transmit the ID information of the signature unit 2 of the revoked member to the member status response unit 4. Consequently, even if the message and the group signature data are received, the response unit 4 cannot identify the ID information of the signature unit 2 having created the group signature data. Therefore, the ID information of each signature unit 2 can be kept secret from the member status response unit 4.
Next, the fifth embodiment of the present invention will be described by referring to drawings. The configuration of the group signature system is similar to that of
The signature unit 2 includes, as in the first embodiment, group subscribing means 201, a member registration certificate storage section 202, a group signature key storage section 203, message input means 204, a random number generator 205, and group signature creating means 206. The configurations of the group subscribing means 201, the member registration certificate storage 202, the group signature key storage 203, the message input means 204, and the random number generator 205 are similar to those of the first embodiment.
The group signature creating means 206 creates and outputs group signature data indicating that the signature unit 2 is a unit of a group member appropriately registered to the group management unit 1, according to a message, a random number, a member registration certificate, and a group signature key. In this situation, the means 206 produces group signature data while concealing information capable of identifying the signature unit 2.
Also, the means 206 creates, by use of the public information opened by the public information opening means 101, group signature data including conversion data to restore the member registration certificate using the opening information possessed by the group management unit 1 and the member status response unit 4 and proof data indicating that the conversion data is appropriately created.
Additionally, the configuration of the response unit 4 is similar to that of the response unit 4 of the first or second embodiment.
Next, an operation will be described. Incidentally, the group subscribing processing, the invalid member notifying processing, and the signature unit identifying processing are similar to the processing of the first embodiment.
First, an operation of the group signature creating processing will be described. When a message is inputted according to a user operation, the signature unit 2 of a user having subscribed to the group creates group signature data for a message. The group signature creating means 206 produces the group signature data while concealing information capable of identifying that the signature unit 2 is a unit of a member of the group. In this situation, the creating means 206 creates conversion data of the member registration certificate having a property similar to that shown in the third embodiment.
Also, when the conversion data is created, the group signature creating means 206 simultaneously generates proof data indicating that the conversion data is appropriately created. The creating means 206 then outputs group signature data including the message, the conversion data, and the proof data.
Next, description will be given of an operation in which the verification unit 3 and the member status response unit 4 judge validity of the group signature and determine whether the user is an invalid member. The verification unit 3 having received the message and the group signature data verifies the group signature data to determine whether the signature is appropriate for the message in a way similar to that of the first embodiment. According to the message, the group signature data, and the public information opened by the opening means 101, the group signature verifying means 301 confirms whether the group signature data is signature data appropriately created by the creating means 206. If it is not determined that the group signature data is appropriately created signature data, the verifying means 301 determines “rejection” according to the group signature data and produces a judge result indicating rejection of the message.
If it is determined that the group signature data is appropriately created signature data, the verifying means 301 confirms the member status of the signature unit 2 having produced the group signature data. That is, the verifying means 301 confirms whether the signature unit 2 is a unit of a valid member of the group. The group signature verifying means 301 sends the conversion data and the proof data contained in the group signature data to the member status response unit 4.
The signature opening means 404 of the response unit 4 gets (receives) the conversion data and the proof data. Moreover, the signature opening means 404 confirms validity of the proof data using the public information opened by the public information opening means 101. If it is not determined that the proof data is correct, the means 404 determines that the member status is “unknown” to send response data indicating “unknown” to the verification unit 3.
If it is determined that the proof data is correct, the means 404 restores (creates) the member registration certificate according to the opening information stored in the opening information storage section 403 and delivers the created certificate as signer identifying information to the signer identifying means 406 or the member status judging means 407. The response unit 4 then determines the member status in a way similar to that of the first or second embodiment. In addition, the verification unit 3 produces a verification result of “acceptance” or “rejection” according to the judge result of the response unit 4.
As above, in the embodiment, the signature unit 2 produces the group signature data including the conversion data of the member registration certificate and the proof data for the conversion data. Also, the verification unit 3 having received the message and the group signature data transmits only the conversion data and the proof data to the member status response unit 4. Consequently, the verification unit 3 can keep the received message secret from the response unit 4. Additionally, by confirming the proof data, the response unit 4 can confirm whether the data sent from the verification unit 3 is part of the group signature data.
Next, the sixth embodiment of the present invention will be described by referring to drawings. In the embodiment, the configuration of the group signature system is similar to that of
The signature unit 2 includes, as in the first embodiment, group subscribing means 201, a member registration certificate storage section 202, a group signature key storage section 203, message input means 204, a random number generator 205, and group signature creating means 206. The configurations of the group subscribing means 201, the member registration certificate storage section 202, the group signature key storage section 203, the message input means 204, and the random number generator 205 are similar to those of the first embodiment.
The group signature creating means 206 creates and outputs group signature data indicating that the signature unit 2 is a group member appropriately registered to the group management unit 1, according to a message, a random number, a member registration certificate, and a group signature key. In this situation, the creating means 206 produces group signature data while concealing information capable of identifying the signature unit 2.
Also, the group signature creating means 206 creates, by use of the public information opened by the public information opening means 101, first conversion data to restore the member registration certificate using the opening information possessed by the group management unit 1. Furthermore, the creating means 206 creates, by use of the public information opened by the public information opening means 101, second conversion data to restore the member registration certificate using the opening information possessed by the member status response unit 4. Additionally, the creating means 206 creates first proof data indicating that the second conversion data has been appropriately created and second proof data indicating that the first conversion data and the second conversion data is obtained by converting one and the same member registration certificate. Thereafter, the group signature creating means 206 creates group signature data including the first conversion data, the second conversion data, the first proof data, and the second proof data.
The configuration of the response unit 4 includes, as in the first embodiment, invalid member receiving means 401, a member revocation list storage section 402, an opening information storage section 403, signature opening means 404, a member information storage section 405, signer identifying means 406, and member status judging means 407.
The configurations of the receiving means 401, the list storage section 402, the opening means 404, the information storage section 405, the identifying means 406, and the judging means 407 are similar to those of the first embodiment.
The opening information storage section 403 stores opening information of information contents different from those of the opening information stored in the opening information storage 106 of the group management unit 1.
Incidentally, the member status response unit 4 may include, as in the second embodiment, invalid member receiving means 401, a member revocation list storage section 402, an opening information storage section 403, signature opening means 404, and member status judging means 407. Also in this situation, the information storage section 403 stores opening information of information contents different from those of the opening information stored in the information storage section 106 of the group management unit 1.
Next, an operation will be described. Incidentally, the group subscribing processing, the invalid member notifying processing, and the signature unit identifying processing are similar to the processing of the first embodiment.
First, an operation of the group signature creating processing will be described. If a message is inputted according to a user operation, the signature unit 2 of a user having subscribed to the group creates group signature data for the message. The group signature creating means 206 produces the group signature data while concealing information capable of identifying that the signature unit 2 is a unit of a member of the group. In this situation, the creating means 206 creates first conversion data of the member registration certificate. The creating means 206 creates, as the first conversion data like the conversion data shown in the third embodiment, data capable of restoring the member registration certificate using the opening information possessed by the group management unit 1.
Also, the group signature creating means 206 creates second conversion data like the first conversion data, to restore the member registration certificate using the opening information possessed by the member status response unit 4. Furthermore, at creation the second conversion data, the creating means 206 simultaneously creates first proof data indicating that the second conversion data is appropriately created. Also, the creating means 206 creates second proof data indicating that the first conversion data and the second conversion data are produced by converting one and the same member registration certificate. The group signature creating means 206 then outputs a message and group signature data including the first conversion data, the second conversion data, the first proof data, and the second proof data.
Next, description will be given of operation in which the verification unit 3 and the member status response unit 4 judge validity of the group signature and determine whether the user is an invalid member. The verification unit 3 having received the message and the group signature data verifies the group signature data to determine whether the signature is appropriate for the message in a way similar to that of the first embodiment. According to the message, the group signature data, and the public information opened by the opening means 101, the group signature verifying means 301 confirms whether the group signature data is signature data appropriately created by the creating means 206. If it is not determined that the group signature data is appropriately created signature data, the verifying means 301 determines “rejection” according to the group signature data and produces a judge result indicating rejection of the message.
If it is determined that the group signature data is appropriately created signature data, the verifying means 301 confirms the member status of the signature unit 2 having produced the group signature data. That is, the verifying means 301 confirms whether the signature unit 2 is a unit of a valid member of the group. The verifying means 301 sends the second conversion data and the first proof data contained in the group signature data to the member status response unit 4.
The response unit 4 is configured in almost the same way as for the member status response unit 4 of the first embodiment and operates as below. The signature opening means 404 of the response unit 4 gets (receives) the second conversion data and the first proof data. Moreover, using the public information opened by the public information opening means 101, the signature opening means 404 confirms validity of the first proof data. If it is not determined that the first proof data is appropriate, the opening means 404 determines that the member status is “unknown” and sends response data indicating “unknown” to the verification unit 3.
If it is determined that the first proof data is appropriate, the opening means 404 restores (generates) the member registration certificate according to the opening information stored in the opening information storage 403 to deliver the generated certificate as signer identifying information to the signer identifying means 406. Thereafter, the member status response unit 4 determines the member status as in the first or second embodiment. Moreover, the verification unit 3 outputs a verification result of “acceptance” or “rejection” according to a judge result of the response unit 4.
As above, the signature unit 2 produces the group signature data including the first conversion data capable of restoring the member registration certificate by use of the opening information of the group management unit 1 and the second conversion data capable of restoring the member registration certificate by use of the opening information of the member status response unit 4. Therefore, the management unit 1 and the response unit 4 can possess mutually different opening information items.
Also, the signature unit 2 produces the group signature data including the first proof data indicating that the second conversion data is appropriately created. Furthermore, the signature unit 2 sends the second conversion data and the first proof data to the response unit 4. Thanks to the operation, the response unit 4 can confirm whether the data sent from the verification unit 3 is part of the group signature data.
Additionally, the signature unit 2 produces the group signature data including the second proof data indicating that the first conversion data and the second conversion data are data items obtained by converting one and the same member registration certificate. Through the operation, the verification unit 3 can confirm that the two conversion data items produced from the signature unit 2 are obtained by converting one and the same member registration certificate.
Next, the seventh embodiment will be described by referring to drawings.
As shown in
The member registration means 103B includes a function to communicate with group subscribing means 201 of the signature unit 2 to create a member registration certificate and member trace information using member registration information stored in the storage section 102. Incidentally, the member trace information is numeric information obtained according to a predetermined algorithm and is information capable of confirming that the group signature data is created by the signature unit 2 of a particular user. Also, the registration means 103B includes a function in which the member registration certificate and the member trace information thus created and ID information capable of identifying the signature unit 2 are stored in the member information storage section 104B.
The storage section 104B stores the member registration certificate, the member trace information, and the ID information delivered from the member registration means 103 with a correspondence established therebetween.
The revoked member notifying means 105B includes a function in which the notifying means 105B reads from the member information storage section 104 the member trace information corresponding to a user who has lost the qualification as the group member and then notifies the ID information to the member status response unit 4.
As shown in
The group subscribing means 201B includes a function to communicate with the member registration means 103B of the group management unit 1 to generate a member registration certificate, a group signature key, and member trace information to deliver these items respectively to the member registration certificate storage section 202, the group signature key storage section 203, and the member trace information storage section 207.
The group signature creating means 206B includes a function to create, according to a message, a random number, a member registration certificate, a group signature key, and member trace information, group signature data indicating that the signature unit 2 is a device of a group member correctly registered to the group management unit 1 and to output the group signature data. In this regard, the means 206B outputs the group signature data indicating the above information without indicating information capable of identifying the signature unit 2. In this situation, the means 206B produces group signature data including conversion data of the member trace information. The member trace information storage section 207 stores the member trace information delivered from the member subscribing means 201.
As shown in
The verifying means 301B includes a function that accepts (receives) a message and group signature data from the signature unit 2 to check validity of the data. In addition, the verification means 301B includes a function in which if it is judged that the group signature data is not appropriate, the means 301 determines “rejection” to produce the verification result. Additionally, the verification means 301 includes a function in which if it is judged that the group signature data is appropriate, the means 301 transmits, to confirm whether the signature unit 2 having created the data is a device of a valid group member, the message and the data to the member status judging means 407B of the member status response unit 4.
The verification result output means 302 includes a function to receive the judge result of the member status from member status judging means 407B of the member status response unit 4. In addition, the means 302 includes a function in which if the received result is “valid”, the means 302 determines “acceptance” and if the received result is “invalid”, the means 302 determines “rejection” to produce the verification result of “acceptance” or “rejection”.
As shown in
The receiving means 401B includes a function to receive the member trace information of an invalid member sent from the invalid member notifying means 105B to store the information in the member revocation list storage section 402B.
The list storage section 402B stores the member revocation list.
The member status judging means 407B includes a function in which the means 407B gets (receives) the message and the group signature data from the group signature verifying means 301B to make a check, by use of the member revocation list, to determine whether the signature unit 2 having created the data is a device of a valid group member. Furthermore, the judging means 407B includes a function to send response data including a member status indicating “valid” or “invalid” to the verification result output means 302 of the verification unit 3.
Next, operation will be described.
First, description will be given of an operation of group subscribing processing in which when the user desires to subscribe to the group as a new member, the user is registered as a member of the group. To subscribe to the group, the signature unit 2 communicates with the group management unit 1 to execute registration processing. The group subscribing means 201B of the signature unit 2 communicates with the member registering means 103B of the management unit 1 and creates and outputs a member registration certificate, a group signature key, and member trace information. Also, the signature unit 2 makes the member registration certificate 202 store the member registration certificate, the group signature key storage section 203 store the group signature key, and the member trace information storage section 207 store the member trace information.
As shown in
Next, description will be given of an operation of invalid member notification processing in which the group management unit 1 notifies, as an invalid member appears, the invalid member to the member status response unit 4. To delete a signature unit 2 of a user as a member of a group from the group, the invalid member notification means 105B of the management unit 1 reads from the member information storage section 104 member trace information corresponding to the signature unit 2 to be deleted. Additionally, the notifying means 105B sends the obtained information to the response unit 4. The invalid member receiving means 401B of the response unit 4 receives the member trace information from the notification means 105B and makes the member revocation list storage section 402 store the received information.
Next, description will be given of an operation of group signature creation processing in which the signature unit 2 generates group signature data. The signature unit 2 of the user having subscribed to the group receives as an input a message according to a user operation to create group signature data for the message. The group signature creating means 206B creates group signature data according to the message received from the message input means 204, a random number generated by the random number generator 205, the member registration certificate stored in the certificate storage section 202, the group signature key stored in the key storage section 203, and the member trace information stored in the member trace information 207. In this situation, the creating means 206B creates the group signature data indicating that the signature unit 2 is a unit of a group member without revealing information capable of identifying the signature unit 2.
Also, the group signature creating means 206B creates conversion data of the member trace information. In this situation, the creating means 206B creates conversion data having a property that the member trace information cannot be identified using the conversion data, but whether or not the conversion data is obtained by converting the member trace information can be determined if the member trace information is present. For example, the creating means 206B creates the conversion data by converting the member trace information using a one-directional function. Also, the group signature creating means 206 produces group signature data including the message and the conversion data.
Next, description will be given of an operation of the processing in which the verification unit 3 and the member status response unit 4 judge validity of the group signature to determine whether the associated unit is a revoked member. The verification unit 3 receives the message and the group signature data from the signature unit 2 and verifies the group signature data to determine whether the signature is a signature appropriate for the message. As shown in
If it is determined that the group signature data is appropriately created signature data, the verifying means 301B confirms the member status of the signature unit 2 having created the data. That is, the verifying means 301B confirms whether the signature unit 2 is a device of a valid member of the group. The verifying means 301B sends the message and the group signature data to the member status response unit 4 (step 102) to request the response unit 4 to determine the member status.
The judging means 407B of the response unit 4 gets (receives) the message and the group signature data from the verification unit 3. Also, the judging means 407B confirms validity of the group signature data by use of the message, the group signature data, and the public information opened by the public information opening means 101 (step S103). If it is determined that the data is not appropriate, the judging means 407B determines that the member status is “unknown” and then sends response data representing “unknown” to the verification unit 3 (step 104).
If it is determined that the data is appropriate, the member status judging means 407B executes processing as below according to the member trace information stored in the member revocation list storage section 402B and the conversion data contained in the group signature data.
First, the judging means 407B reads the member trace information from the list storage section 402B (step S505). The judging means 407B determines whether the member trace information exists in the storage section 402B (step S506). If the information does not exist in the storage section 402B, the judging means 407B determines that the member status is “valid” (step S507). Thereafter, the judging means 407B sends response data indicating “valid” to the verification unit 3 and terminates the processing.
If it is determine that the information is present, the judging means 407B conducts a conversion for the obtained member trace information to create second conversion data, the conversion being equal to that conducted by the group signature creating means 206B (step S508). Additionally, the judging means 407B determines whether the conversion data contained in the group signature data matches the second conversion data thus created (step S509). If it is determined that the conversion data items match each other, the judging means 407B determines that the member status is “invalid” (step S510) and then sends response data indicating “invalid” to the verification unit 3.
If the conversion data items do not match each other, the judging means 407B returns to step S505 to read the next member trace information stored in the list storage section 402B. The judging means 407B then repeatedly executes the processing from step S505 to step S510. By executing the above processing, if it is determined that any member trace information stored in the list storage section 402B does not match the conversion data, the judging means 407B regards the member status as “valid”.
The verification result output means 302 of the verification unit 3 receives the response data from the member status response unit 4 (step S110). According to the response data, the output means 302 determines whether the member status is “valid” (step S111). If it is determined that the member status is “valid” according to the response data, the output means 302 determines to “accept” the message according to the group signature data. Or, if it is determined that the member status is other than “valid”, the output means 302 determines to “reject” the message according to the group signature data. The output means 302 then produces a verification result “acceptance” or “rejection”.
As above, according to this embodiment, the group management unit 1 issues mutually different member trace information items for the respective signature units 2. Moreover, the signature unit 2 outputs the conversion data of the member trace information as part of the group signature data. In addition, the member status response unit 4 determines the member status using the conversion data. Therefore, the response unit 4 can determine the member status without using the opening secret key (opening information).
Next, the eighth embodiment will be described by referring to drawings. The configuration of the group signature system is similar to that of
As shown in
The verification means 301B includes a function that accepts (receives) a message and group signature data from the signature unit 2 to check validity of the data. Also, the verification means 301B includes a function in which if it is judged that the group signature data is not appropriate, the verification means 301B determines “rejection” to produce the verification result. Additionally, the verification means 301B includes a function in which if it is judged that the group signature data is appropriate, the verification means 301B transmits, to confirm whether the signature unit 2 having created the data is a device of a valid group member, the conversion data contained in the message to the member status judging means 407B of the member status response unit 4.
The verification result output means 302 includes a function to receive the judge result of the member status from member status judging means 407B of the member status response unit 4. In addition, the output means 302 includes a function in which if the received result is “valid”, the output means 302 determines “acceptance” and if the received result is “invalid”, the output means 302 determines “rejection” to produce the verification result of “acceptance” or “rejection”.
As shown in
The receiving means 401B includes a function to receive the member trace information of an invalid member sent from the invalid member notifying means 105B to store the information in the member revocation list storage section 402B.
The storage section 402B stores the member revocation list.
The judging means 407B includes a function in which the means 407B receives the message and the group signature data from the group signature verifying means 301B of the verification unit 3 to determine, by use of the member revocation list, whether the signature unit 2 having created the data is a device of a valid group member. Furthermore, the judging means 407B includes a function to send response data including a member status indicating “valid” or “invalid” to the verification result output means 302 of the verification unit 3.
Next, operation will be described.
The verification unit 3 receives the message and the group signature data from the signature unit 2 and verifies the group signature data to determine whether the group signature data is a signature appropriate for the message. As shown in
If it is determined that the group signature data is appropriately created, the verifying means 301B confirms the member status of the signature unit 2 having created the data. That is, the verifying means 301B confirms whether the signature unit 2 is a device of a valid member of the group. The verifying means 301B sends the conversion data contained in the group signature data to the member status response unit 4 (step 602) to request determination of the member status of the signature unit 2.
When the conversion data is obtained (received) from the verification unit 3, the judging means 407B of the response unit 4 reads the member trace information from the list storage section 402B (step S505). The judging means 407B determines whether the member trace information exists in the list storage section 402B (step S506).
If it is determined that the information exists in the storage section 402B, the judging means 407B executes the processing as below. The judging means 407B conducts a conversion for the obtained member trace information to create second conversion data, the conversion being equal to that conducted by the group signature creating means 206B (step S508). In addition, the judging means 407B determines whether the conversion data contained in the group signature data matches the second conversion data thus created (step S509).
If it is determined that the conversion data items do not match each other, the judging means 407B returns to step S505 to read the new member trace information stored in the list storage section 402B. The judging means 407B then repeatedly executes the processing from step S505 to step S510.
If it is determined that the conversion data items match each other, the judging means 407B examines the member status stored in the member revocation list with a correspondence between the member trace information and the member status (step S610). Thereafter, the judging means 407B sends to the verification unit 3 response data indicating “valid” or “invalid” according to the member status. For example, if the member status corresponding to the member trace information is “valid”, the judging means 407B sends response data indicating “valid” (step S611). Or, if the member status corresponding to the member trace information is “invalid”, the judging means 407B sends response data indicating “invalid” (step S612).
If it is determined that any member trace information stored in the list storage section 402B does not match the conversion data and there does not exist member trace information to be read, the member status judging means 407B determines that the member status is “unknown” (step S613). The judging means 407B then sends response data indicating “unknown” to the verification unit 3.
The verification result output means 302 of the verification unit 3 receives the response data from the member status response unit 4 (step S110). According to the response data, the output means 302 determines whether the member status is “valid” (step S111). If it is determined that the member status is “valid” according to the response data, the output means 302 determines to “accept” the message according to the group signature data. Or, if it is determined that the member status is other than “valid”, the output means 302 determines to “reject” the message according to the group signature data. The output means 302 then produces a verification result “acceptance” or “rejection”.
First Exemplary Implementation
Next, description will be given of the first exemplary implementation. In this connection, the implementation corresponds to the first embodiment. The group management unit 1 determines constants commonly used in the system. First, the unit 1 determines the security parameters ε, k, and lp. Moreover, the unit 1 selects λ1, λ2, γ1 and γ2 to hold λ1>ε(λ2+k), λ2>4lp, λ1>ε(γ2+k), and γ2>γ1+2. Additionally, the unit 1 determines a collision difficulty hash function H. Thereafter, the unit 1 outputs the determined ε, k, lp, λ1, λ2, γ1, γ2, and H to the public information opening means 101.
Subsequently, the group management unit 1 generates member registering information. The unit 1 first selects prime numbers p′ and q′ having a size of lp bits. Next, the unit 1 calculates p=2p′+1 and q=2q′+1 to obtain n=pq. Also, the unit 1 randomly selects a, a0, g, and h from a group of quadratic residues of n. The unit 1 respectively outputs (p′, q′) to the member registering information storage 102 and (n, a, a0, g, h) to the public information opening means 101.
Next, the group management unit 1 generates opening information. The unit 1 randomly selects x from a multiplicative group of orders p′ and q′ to calculate expression (1).
y=gx mod n expression (1)
The group management unit 1 respectively outputs x to the opening information storage section 106 and y to the public information opening means 101. Also, the opening information created by the unit 1 is notified, and is kept secret from the member status response unit 4.
After the initialization and the key creation, to subscribe to the group, the signature unit 2 executes registration processing by communicating with the group management unit 1. As a result of the registration processing, the signature unit 2 acquires a group secret key xi and a member registration certificate (Ai, ei) satisfying expression (2)
axia0=Aiei expression (2)
The group subscribing means 201 of the signature unit 2 randomly selects tilde si from an interval from 0 to 2λ2 and tilde ri from an interval from 0 to n2 respectively. Then, the subscribing means 201 calculates expression (3).
C1=g{tilde over (x)}ih{tilde over (r)} expression (3)
Also, the group subscribing means 201 creates proof data indicating that the tilde xi and tilde ri have been appropriately created. In addition, the means 201 selects random numbers t1 and t2 satisfying expression (4) and calculates expression (5).
t1ε[0,2λ
c1=H(g∥h∥gt
s1=t1−c1{tilde over (x)}i
s2=t2−c1{tilde over (r)} expression (5)
Thereafter, the group subscribing means 201 transmits (C1, c1, s1, s2) and digital signature of the signature unit 2 for (C1, c1, s1, s2), to the group management unit 1.
When C1, c1, s1, and s2 are received, the member registering means 103 of the unit 1 confirms the digital signature using the public key certificate of the signature unit 2 and then confirms whether expression (6) is satisfied.
c1=H(g∥h∥C1c
When it is confirmed that the expression (6) is satisfied, the member registering means 103 randomly selects αi and βi satisfying the condition of expression (7) and sends them to the signature unit 2.
αi,βiε[0,2λ
When αi and βi are received, the group subscribing means 201 calculates expression (8).
xi=2λ
In this connection, xi thus calculated is a group signature key. Therefore, it is considered that the group management unit 1 and the signature unit 2 have randomly created the group signature key. However, the management unit 1 cannot calculate the group signature key. Next, the group subscribing means 201 calculates expression (9).
C2=axi mod n expression (9)
Moreover, the group subscribing means 201 creates proof data indicating that xi has been appropriately created. Also, the means 201 selects random numbers t3, t4, and t5 satisfying the condition of expression (10) and calculates expression (11)
t3ε±{0,1}ε(λ
t5ε±{0,1}ε(2lp+λ
c2=H(g∥h∥a∥C1∥C2∥αi∥βi∥at
s3=t3−c2(xi−2λ
s4=t4−c2((αi{tilde over (x)}i+βi−xi+2λ
s5=t5−cαi{tilde over (r)} expression (11)
The group subscribing means 201 then sends (C2,c2,s3,s4,s5) and digital signature of the signature unit 2 for (C2,c2,s3,s4,s5), to the group management unit 1.
When C2, c2, s3, s4, and s5 are received, the member registering means 103 of the unit 1 determines whether expression (12) holds.
c2=H(g∥h∥a∥C1∥C2∥αi∥βi∥(C2/a2
When it is confirmed that expression (12) holds, the member registering means 103 randomly selects a prime number ei satisfying the condition of expression (13) and calculates expression (14).
eiε[2γ1−2γ2,2γ1+2γ2] expression (13)
Ai=(C2a0)1/ei mod n expression (14)
Incidentally, the value obtained using expression (4) cannot be calculated without knowing p′ and q′. The member registering means 103 transmits the obtained (Ai,ei) as a member registration certificate to the signature unit 2.
When (Ai,ei) is received, the group subscribing means 201 of the signature unit 2 determines whether expression (2) holds to confirm whether the member registration certificate is appropriately created. If it is determined that the certificate is appropriately created, the subscribing means 201 makes the registration certificate storage section 202 store the certificate (Ai,ei). Moreover, the means 201 makes the group signature key storage section 203 store xi as a group signature key.
The member registering means 103 of the group management unit 1 makes the member information storage section 104 store the certificate (Ai,ei) corresponding to the signature unit 2, (C1,C2,c1,c2,s1,s2,s3,s4,s5), and the digital signature of the signature unit 2 attached to each thereof. Furthermore, the management unit 1 notifies the member information acquired according to the above procedure to the member status response unit 4.
If a signature unit 2 having subscribed to the group is deleted from the group, the invalid member notifying means 105 of the management unit 1 notifies (transmits) the public key certificate corresponding to the signature unit 2 of the member who leaves the group to the response unit 4. The invalid member receiving means 401 of the response unit 4 receives the public key certificate and adds the certificate to the member revocation list stored in the member revocation list storage section 402.
The group signature creating means 206 of the signature unit 2 having acquired the member registration certificate and the group signature key creates group signature data. First, the random number generator 205 generates a random number “w” including 2lp bits and outputs the random number w to the group signature creating means 206. When the random number w is received, the creating means 206 calculates, according to the random number, the member registration certificate (Ai,ei), and the public information opened by the public information opening means 101, the conversion data of (Ai,ei) by use of expression (15).
T1=Aiyw mod n, T2=gw mod n, T3=geihw mod n expression (15)
Next, the creating means 206 creates data indicating that the conversion data is appropriately created. The random number generator 205 generates a random number r1 including ε(γ2+k) bits, a random number r2 including ε(λ2+k) bits, a random number r3 including ε(γ1+2lp+k+1) bits, and a random number r4 including ε(2lp+k) bits and delivers the random numbers to the group signature creating means 206. When the random numbers are received, the creating means 206 calculates expression (16).
d1=T1r
Next, the group signature creating means 206 calculates expression (17) using the message m inputted from the message input means 204. Moreover, the means 206 calculates expression (18).
c=H(g∥h∥y∥a0∥a∥T1∥T2∥T3∥d1∥d2∥d3∥d4∥m) expression (17)
s1=r1−c(ei−2γ1), s2=r2−c(xi−2γ
Thereafter, the group signature creating means 206 outputs the message m and (c,s1,s2,s3,s4,T1,T2,T3) as the group signature data. Incidentally, also in this operation, the creating means 206 may calculates and outputs c″ of expression (19) in place of c.
c″=H(g∥h∥y∥a0∥a∥T1∥T2∥T3∥d1∥d2∥d3∥d4∥H(m)) expression (19)
When the message m and the group signature data (c,s1,s2,s3,s4,T1,T2,T3) created by the signature unit 2 are received, the verification unit 3 verifies validity of the group signature data as below. In
c′=H(g∥h∥y∥a0∥a∥T1∥T2∥T3∥a0c∥T1s
Only in a case in which the conditions that c′=c, s1 is ε(γ2+k)+1 bits, s2 is ε(λ2+k)+1 bits, s3 is ε(γ1+2lp+k+1)+1 bits, and s4 is ε(2lp+k)+1 bits are satisfied, the group signature verifying means 301 sends the message m and the group signature data (c,s1,s2,s3,s4,T1,T2,T3) to the member status response unit 4 (step S102). If the conditions are not satisfied, the verifying means 301 determines that the group signature data is not appropriate and produces “rejection”.
Additionally, if c″ is produced in place of c in the signature creation, the verifying means 301 determines whether expression (21) holds.
c″=H(g∥h∥y∥a0∥a∥T1∥T2∥T3∥a0c″T1s
If expression (21) holds, the verifying means 301 transmits the hash value H(m) of the message and the group signature data (c″,s1,s2,s3,s4,T1,T2,T3) to the member status response unit 4.
In this regard, the procedure in which the group management unit 1 and the signature unit 2 create the member registration certificate and the group signature key, the procedure in which the signature unit 2 creates the group signature data, and the procedure in which the verification unit 3 verifies the group signature data which are described above are described in non-patent document 2.
When the message and the group signature data (c,s1,s2,s3,s4,T1,T2,T3) are received, the signature opening means 404 of the member status response unit 4 confirms the verification expression for the group signature data indicated by expression (20). The opening means 404 then confirms that the received group signature data is appropriate group signature data for the received message (step S103).
If the group signature data is not appropriate, the opening means 404 determines that the member status is “unknown” and sends response data indicating “unknown” to the verification unit 3 (step S104). If it is determined that the group signature data is appropriate, the opening means 404 calculates, by use of the opening information x stored in the opening information storage section 403, signer identifying information A′ according to expression (22) (step S105).
A′=T1/T2x mod n expression (22)
Furthermore, the signature opening means 404 outputs the obtained signer identifying information A′ to the signer identifying means 406. When the information A′ is received, the means 406 makes a search through the member information stored in the member information storage section 405 to identify a member registration certificate having Ai satisfying A′=Ai. Also, the opening means 404 identifies a signature unit 2 according to the digital signature stored with a correspondence established between the signature and the identified member registration certificate and then delivers the public key certificate of the signature unit 2 as ID information to the member status judging means 407 (step S106).
The judging means 407 receives the public key certificate as the ID information and makes a search through the member revocation list to determine whether the public key certificate exists in the member revocation list stored in the member revocation list storage section 404 (step S107). If the certificate does not exist in the revocation list, the judging means 407 determines that the member status is “valid” and sends response data indicating “valid” to the verification unit 3 (step S108). If the certificate exists in the revocation list, the judging means 407 determines that the member status is “invalid” and sends response data indicating “invalid” to the verification unit 3 (step S109).
When the response data is received from the response unit 4, the verification result output means 302 of the verification unit 3 determines “acceptance” according to the group signature if the response data is “valid” and determines “rejection” if the response data is “invalid”. The output means 302 then delivers the verification result (steps S110 and S111).
Moreover, the group management unit 1 receives the group signature data (c,s1,s2,s3,s4,T1,T2,T3) and identifies the signature unit 2 having created the data. The signature opening means 107 calculates, by use of the opening information x stored in the opening information storage section 106, the signer identifying information A′ according to expression (22) and feeds the information A′ to the signer identifying means 108. Next, the identifying means 108 makes a search through the member information stored in the storage section 104 to retrieve Ai matching A′. When the matching Ai is detected, the identifying means 108 identifies the signature unit which is the owner of Ai according to the digital signature attached to the member information containing Ai.
Second Exemplary Implementation
Next, description will be given of the second exemplary implementation. In this connection, the implementation corresponds to the second embodiment. Also, the initialization, the key creation processing, and the group subscribing processing executed by the group management unit 1 and the signature unit 2 are similar to those of the first exemplary implementation.
To delete a signature unit 2 as a member of a group from the group, the invalid member notification means 105A of the unit 1 notifies (transmits) the member registration certificate (Ai,ei) corresponding, to the signature unit of the member who leaves the group to the member status response unit 4. The invalid member receiving means 401A of the response unit 4 receives the member registration certificate (Ai,ei) and adds the certificate to the member revocation list stored in the member revocation list storage section 402A.
Additionally, the group signature creating processing is similar to that of the first exemplary implementation.
The verification unit 3 receives the message and the group signature data (c,s1,s2,s3,s4,T1,T2,T3). Then, the group signature verifying means 301 of the verification unit 3 confirms, as in the first implementation, whether the data is appropriate (step S101 shown in
Incidentally, as in the first implementation, the procedure to create the member registration certificate and the group signature key, the procedure to create the group signature data, and the procedure to verify the group signature data are described in non-patent document 2.
When the message and the group signature data (c,s1,s2,s3,s4,T1,T2,T3) are received, the signature opening means 404A of the member status response unit 4 confirms the verification expression for the group signature data indicated by expression (20). The opening means 404A then confirms that the received group signature data is appropriate group signature data for the received message (step S103).
If the group signature data is not appropriate, the opening means 404A determines that the member status is “unknown” and sends response data indicating “unknown” to the verification unit 3 (step S104). If it is determined that the group signature data is appropriate, the opening means 404A calculates, by use of the opening information x stored in the opening information storage section 403, signer identifying information A′ according to expression (22) (step S105). Moreover, the opening means 404A delivers the obtained information A′ to the member status judging means 407A.
When the signer identifying information A′ is received, the judging means 407A determines whether Ai satisfying the condition of A′=Ai exists in the member revocation list stored in the member revocation list storage section 402A (step S206). If it is determined that such Ai exists in the list, the judging means 407A determines that the member status is “invalid” (step S108); and if it is not determined that such Ai exists in the list, the judging means 407A determines that the member status is “valid” (step S109). Thereafter, the judging means 407A transmits response data indicating “invalid” or “valid” to the verification unit 3.
When the response data is received (step S110), the verification result output means 302 of the verification unit 3 executes processing similar to that of the first implementation to produce a verification result (step S111). Also, the signer identifying processing executed by the group management unit 1 is similar to that of the first implementation.
Third Exemplary Implementation
Next, description will be given of the third exemplary implementation. Incidentally, the implementation corresponds to the third embodiment. Furthermore, the initialization, the key creation processing, and the group subscribing processing, and member revoking processing executed by the group management unit 1 and the signature unit 2 are similar to the processing of the first implementation.
Also, the group signature creating processing is executed in a way similar to that of the first implementation, that is, the group signature creating means 206 of the signature unit 2 produces the message and the group signature data (c,s1,s2,s3,s4,T1,T2,T3).
The verification unit 3 receives the message m and the group signature data (c,s1,s2,s3,s4,T1,T2,T3) and confirms validity of the data as in the first implementation (step S101 shown in
Incidentally, as in the first implementation, the procedure to create the member registration certificate and the group signature key, the procedure to create the group signature data, and the procedure to verify the group signature data are described in non-patent document 2.
When (T1,T2) is received, the signature opening means 404 of the member status response unit 4 calculates A′ by use of the opening information x stored in the opening information storage section 403 as in the first implementation and outputs the obtained A′ as signer identifying information to the signer identifying means 406.
When the signer identifying information is received, the member status judging means 407 executes processing similar to that of the first implementation and sends response data. Additionally, when the response data is received, the verification result output means 302 of the verification unit 3 executes processing similar to that of the first implementation to produce a verification result. Also, the signer identifying processing executed by the group management unit 1 is similar to that of the first implementation
Fourth Exemplary Implementation
Next, description will be given of the fourth exemplary implementation. Incidentally, the implementation corresponds to the fourth embodiment. Furthermore, in the implementation, the initialization, the key creation processing, and the group subscribing processing, member revoking processing, and group signature creating processing executed by the group management unit 1 and the signature unit 2 are similar to the processing of the third implementation.
The verification unit 3 receives the message m and the group signature data (c,s1,s2,s3,s4,T1,T2,T3) and confirms validity of the data as in the first implementation (step S101 shown in
In this connection, as in the first implementation, the procedure to create the member registration certificate and the group signature key, the procedure to create the group signature data, and the procedure to verify the group signature data are described in non-patent document 2.
When (T1,T2) is received, the signature opening means 404A of the member status response unit 4 calculates A′ by use of the opening information x as in the first implementation and outputs the obtained A′ as signer identifying information to the member status judging means 407A.
When the information A′ is received, the judging means 407A makes a search through the member revocation list to determine whether A′ satisfying the condition of A′=Ai exists in the member revocation list stored in the member revocation storage section 402A (step S404). If not found (A′ satisfying the condition does not exist), the judging means 407A determines that the member status is “unknown” and then sends response data representing “unknown” to the verification unit 3 (step S405). If found (A′ satisfying the condition exists), the judging means 407A determines that the member status is “valid” or “invalid” according to the status of Ai stored in the member revocation list and then sends response data representing “valid” or “invalid” to the verification unit 3 (steps S407 and S408).
When the response data is received, the verification result output means 302 of the verification unit 3 produces a verification result by executing processing similar to that of the third implementation. Also, the signer identifying processing executed by the group management unit 1 is similar to that of the first implementation.
Fifth Exemplary Implementation
Next, description will be given of the fifth exemplary implementation. Incidentally, the implementation corresponds to the fifth embodiment. Furthermore, the initialization, the key creation processing, the group subscribing processing, and member revoking processing executed by the group management unit 1 and the signature unit 2 are similar to the processings of the second implementation.
The random number generator 205 of the signature unit 2 generates a random number was in the first implementation. Furthermore, the group signature creating means 206 of the signature unit 2 calculates expressions (15) and (16) as in the first implementation. Also, the creating means 206 calculates expression (23).
c1=H(g∥h∥y∥a0∥a∥T1∥T2∥T3∥d1∥d2∥d3∥d4) expression (23)
Additionally, the group signature creating means 206 calculates expression (24).
s1=r1−c1(ei−2γ1), s2=r2−c1(xi−2γ1), s3=r3−c1eiw, s4=r4−c1w expression (24)
Next, the random number generator 205 additionally generates a random number r5 including ε(γ2+k) bits, a random number r6 including ε(λ2+k) bits, a random number r7 including ε(γ1+2lp+k+1) bits, and a random number r8 including ε(2lp+k) bits. The group signature creating means 206 calculates expression (25) using the random numbers r5 to r8.
d5=T1r
Furthermore, the creating means 206 calculates expressions (26) and (27) for the message m inputted from the message input means 204.
[Expression 25]
c2=H(g∥h∥y∥a0∥a∥T1∥T2∥T3∥d5∥d6∥d7∥d8∥m) expression (26)
[Expression 26]
s5=r5−c2(ei−2γ1), s6=r6−c2(xi−2λ1), s7=r7−c2eiw, s8=r8−c2w expression (27)
Thereafter, the group signature creating means 206 outputs the message m and (c1,c2,s1,s2,s3,s4,s5,s6,s7,s8,T1,T2,T3) as the group signature data.
When the message m and the group signature data (c1,c2,s1,s2,s3,s4,s5,s6,s7,s8,T1,T2,T3) are received, the verification unit 3 verifies validity of the group signature data. The group signature verifying means 301 of the verification unit 3 determines whether the conditions of expressions (28) to (30) are satisfied according to the message m, the group signature data (c1,c2,s1,s2,s3,s4,s5,s6,s7,s8,T1,T2,T3), and the public information opened by the public information opening means 101.
c1=H(g∥h∥y∥a0∥T1∥T2∥T3∥a0c
c2=H(g∥h∥y∥a0∥T1∥T2∥T3∥a0c
s1ε±{0,1}ε(γ
s3ε±{0,1}ε(λ
s5ε±{0,1}ε(γ2+k)+1, s6ε±{0,1}ε(λ
s7ε±{0,1}ε(λ
If the conditions of expressions (28), (29), and (30) are not satisfied, the verification unit 3 determines “rejection” according to the group signature data. If the conditions of expressions (28), (29), and (30) are satisfied, the verification unit 3 transmits (c1,s1,s2,s3,s4,T1,T2,T3) of the group signature data to the member status response unit 4.
When (c1,s1,s2,s3,s4,T1,T2,T3) is received, the signature opening means 404 of the response unit 4 confirms whether expressions (28) and (31) hold.
s1ε±{0,1}ε(γ
If expressions (28) and (31) do not hold, the opening means 404 determines that the member status is “unknown” and sends response data indicating “unknown” to the verification unit 3. If expressions (28) and (31) hold, the opening means 404 calculates signer identifying information Ai by use of the opening information x as in the first implementation.
When the signer identifying information is received, the judging means 407 executes processing similar to that of the first or second implementation and sends response data. Moreover, when the response data is received, the verification result output means 302 of the verification unit 3 executes processing similar to that of the first or second implementation to produce a verification result. Also, the signer identifying processing executed by the group management unit 1 is similar to that of the first implementation.
Sixth Exemplary Implementation
Next, description will be given of the sixth exemplary implementation. Incidentally, the implementation corresponds to the sixth embodiment. Furthermore, in the implementation, the initialization executed by the group management unit 1 and the signature unit 2 is similar to that of the first or second implementation.
In the key creating processing, the group management unit 1 generates opening information x and public information y as in the first implementation. The member status response unit 4 randomly selects u from a multiplicative group of orders p′ and q′ to calculate expression (32).
z=gu mod n expression (32)
The response unit 4 makes the opening information storage section 403 store u and outputs z as a public key of the response unit 4 to public information opening means 101. Incidentally, the group subscribing processing and the member revoking processing are similar to the processing of the first or second implementation.
The random number generator 205 of the signature unit 2 generates a random number t including 2lp bits. Moreover, the group signature creating means 206 calculates expression (33) using the public key z of the response unit 4.
T1=Aizt mod n, T2=gt mod n, T3=ge
Moreover, the random number generator 205 creates a random number w including 2lp bits. The group signature creating means 206 calculates expression (34) by use of a public key y of the group management unit 1 as in the case of the public key z.
T4=Aiyw mod n, T5=gw mod n, T6=ge
Additionally, the group signature creating means 206 generates proof data indicating that T1 and T2 are appropriate conversion data of the member registration certificate. First, the random number generator 205 generates a random number r1 including ε(γ2+k) bits, a random number r2 including ε(λ2+k) bits, a random number r3 including ε(γ1+2lp+k+1) bits, and a random number r4 including ε(2lp+k) bits. Also, the group signature creating means 206 calculates expression (35) and calculates expression (36).
d1=T1r
c1=H(g∥h∥y∥z∥a0∥a∥T1∥T2∥T3∥d1∥d2∥d3∥d4) expression (36)
Furthermore, the creating means 206 calculates expression 37.
s1=r1−c1(ei−2γ1), s2=r2−c1(xi−2λ
Thereafter, the group signature creating means 206 creates data indicating that T4 and T5 are appropriate conversion data items of the member registration certificate and (T1,T2) and (T4,T5) are obtained by converting one and the same member registration certificate. The random number generator 205 generates a random number r5 including ε(γ2+k) bits, a random number r6 including ε(λ2+k) bits, a random number r7 including ε(γ1+2lp+k+1) bits, a random number r8 including ε(2lp+k) bits, and a random number r9 including ε(2lp+k) bits. Also, the group signature creating means 206 calculates expression (38).
d5=T4r
Next, the creating means 206 calculates expression (39) and expression (40) using the message m.
c2=H(g∥h∥y∥z∥a0∥a∥T1∥T2∥T3∥T4∥T5∥T6∥d5∥d6∥d7∥d8∥d9∥d10∥d11∥d12∥m) expression (39)
s5=r5−c2(ei−2γ1), s6=r6−c2(xi−2λ
Thereafter, the group signature creating means 206 outputs the message m and (c1,c2,s1,s2,s3,s4,s5,s6,s7,s8,s9,T1,T2,T3,T4,T5,T6) as the group signature data.
The verification unit 3 receives the message m and the group signature data (c1,c2,s1,s2,s3,s4,s5,s6,s7,s8,s9,T1,T2,T3,T4,T5,T6) and verifies validity of the group signature data. The group signature verifying means 301 of the verification unit 3 confirms whether expressions (41) and (42) are satisfied according to the message m, the group signature data (c1,c2,s1,s2,s3,s4,s5,s6,s7,s8,s9,T1,T2,T3,T4,T5,T6), and the public information opened by the public information opening means 101.
c2=H(g∥h∥y∥a0∥T1∥T2∥T3∥T5∥T6∥a0c
s5ε±{0,1}ε(γ2+k)+1, s6ε±{0,1}ε(λ
If expressions (41) and (42) are not satisfied, the group signature verifying means 301 determines that the group signature data is to be “rejected” and produces a verification result. If expressions (41) and (42) are satisfied, the group signature verifying means 301 sends (c1,s1,s2,s3,s4,T1,T2,T3) of the group signature data to the member status response unit 4.
When (c1,s1,s2,s3,s4,T1,T2,T3) is received, the signature opening means 404 of the member status response unit 4 confirms whether expressions (43) and (44) hold.
c1=H(g∥h∥y∥z∥a0∥T1∥T2∥T3∥a0c
s1ε±{0,1}ε(γ
If expressions (43) and (44) do not hold, the signature opening means 404 determines that the member status is “unknown” and sends response data indicating “unknown” to the verification unit 3. If it is determined that expressions (43) and (44) hold, the opening means 404 generates signer identifying information Ai by use of the opening information x as in the first implementation.
When the signer identifying information is received, the member status judging means 407 executes processing similar to that of the first or second implementation and then sends response data. Moreover, when the response data is received, the verification result output means 302 of the verification unit 3 executes processing similar to that of the first or second implementation to produce a verification result. Also, the signer identifying processing executed by the group management unit 1 is similar to that of the first implementation.
Seventh Exemplary Implementation
Next, description will be given of the seventh exemplary implementation. In this regard, the implementation corresponds to the seventh embodiment. Furthermore, the initialization executed by the group management unit 1 and the signature unit 2 is similar to that of the first implementation.
In the key creating processing, the group management unit 1 selects as in the first implementation prime numbers p′ and q′ and calculates p=2p′+1 and q=2q′+1 to obtain n=pq. Additionally, the management unit 1 randomly selects a, a0, b, g, and h from a group of quadratic residues of n. Moreover, the unit 1 outputs (p′,q′) to the member registering information storage section 102 and (n,a,a0,b,g,h) to the public information opening means 101 of the management unit 1. The unit 1 generates opening information x and public information y. The unit 1 then outputs x to the opening information storage section 106 and y to the public information opening means 101.
After the initialization and the key creation, the group management unit 1 registers the signature unit 2 as a member of the group.
The signature unit 2 executes processing similar to that of the first implementation. The group subscribing means 201B of the signature unit 2 acquires the group signature key x′i and shares C2 of expression (45) with the member registering means 301B of the group management unit 1.
C2=ax′i mod n expression (45)
The member registering means 103B randomly selects prime numbers ei and xi satisfying the conditions of expressions (46) and (47) and then calculates expression (48).
eiε[2γ
xiε[2γ
Ai=(C2axia0)1/ei mod n expression (48)
Incidentally, the value obtained using expression (48) cannot be calculated without knowing p′ and q′. The member registering means 103B transmits the obtained (Ai,ei) as a member registration certificate to the signature unit 2. Additionally, the means 103B sends the obtained xi as member trace information to the signature unit 2.
When (Ai,ei) and xi are received, the group subscribing means 201B of the signature unit 2 makes a check to determine whether or not expression (49) holds to confirm whether the member registration certificate is appropriately created.
axibx′ia0=Aiei expression (49)
If it is confirmed that expression (49) holds, the subscribing means 201B respectively makes the registration certificate storage 202 store the member registration certificate (Ai,ei), the group signature key storage section 202 store x′i as a group signature key, and the member trace information storage section 207 store xi.
The member registering means 103B of the group management unit 1 outputs the certificate (Ai,ei) corresponding to the signature unit 2, the member trace information xi, the contents of communication, and the digital signature of the signature unit 2 attached to each thereof to the member information storage section 104B.
To delete a signature unit 2 of a user as a member of the group from the group, the invalid member notification means 105B of the group management unit 1 reads from the member information storage section 104B the member trace information xi corresponded to the signature unit 2 to be deleted, and sends the obtained information to the member status response unit 4. The invalid member receiving means 401B of the response unit 4 receives xi and makes the member revocation list storage section 402B store the received xi.
The group signature creating means 206B of the signature unit 2 having subscribed to the group creates group signature data for the message generates group signature data. First, the random number generator 205 generates a random number w including 2lp bits and outputs the random number w to the group signature creating means 206B. When the random number w is received, the creating means 206B calculates, according to the random number w, the member registration certificate (Ai,ei), and the public information opened by the public information opening means 101, the conversion data T1, T2, and T3 of (Ai,ei) by use of expression (15).
Furthermore, the random number generator 205 additionally generates a random number k including 2lp bits. the creating means 206B calculates the conversion data items T4 and T5 of the member trace information xi using expression (50)
T4=gxik,T5=gk expression (50)
Next, the creating means 206B creates data indicating that these conversion data items are appropriately created. The random number generator 205 generates a random number r1 including ε(γ2+k) bits, a random number r2 including ε(λ2+k) bits, a random number r3 including ε(λ2+k) bits, a random number r4 including ε(γ1+2lp+k+1) bits, and a random number r5 including ε(2lp+k) bits, and then delivers the random numbers to the group signature creating means 206B. When the random numbers are received, the creating means 206B calculates expression (51).
d1=T1t
In addition, the creating means 206B calculates expressions (52) and (53) using the message m inputted from the message input means 204.
c=H(g∥h∥y∥a∥b∥T1∥T2∥T3∥T4∥T5∥d1∥d2∥d3∥d4∥d5∥m) expression (52)
s1=r1−c(ei−2γ1), s2=r2−c(x1−2λ1), s3=r3−c(x′i−2λ
Thereafter, the group signature creating means 206B outputs the message m and (c,s1,s2,s3,s4,s5,T1,T2,T3,T4,T5) as the group signature data.
When the message m and the group signature data (c,s1,s2,s3,s4,s5,T1,T2,T3,T4,T5) are received, the verification unit 3 verifies validity of the group signature data as below. In
c=H(g∥h∥y∥a∥b∥T1∥T2∥T3∥T4∥T5∥a0cT1s
If the verification expression is not satisfied, the verifying means 301B determines that the group signature data is not appropriate and produces “rejection”. If the verification expression is not satisfied, the verifying means 301B transmits the message m and the group signature data (c,s1,s2,s3,s4,s5,T1,T2,T3,T4,T5) to the member status response unit 4 (step S102).
In this regard, the procedure in which the group management unit 1 and the signature unit 2 create the member registration certificate and the group signature key, the procedure in which the signature unit 2 creates the group signature data, and the procedure in which the verification unit 3 verifies the group signature data which are described above are described in non-patent document 2.
When the message and the group signature data (c,s1,s2,s3,s4,s5,T1,T2,T3,T4,T5) are received, the member status judging means 407B of the response unit 4 confirms validity of the group signature data (step S103). If it is determined that the data is not appropriate, the means 407B determines that the member status is “unknown” and then sends response data representing “unknown” to the verification unit 3 (step 104).
If the data is appropriate, the means 407B executes processing as below according to the member trace information xi stored in the member revocation list storage section 402B and (T4,T5) contained in the group signature data.
First, the member status judging means 407B reads the member trace information xi from the list storage section 402B (step S505). If the member trace information does not exist therein, the member status judge means 407B determines that the member status is “valid” (step S507). Thereafter, the means 407B sends response data indicating “valid” to the verification unit 3 and terminates the processing.
If the information is present, the judge means 407B determines whether expression (55) holds for the obtained information xi and (T4,T5; steps S508 and S509).
T4=T5x
If expression (55) holds, the judge means 407B determines that the member status is “invalid” and then sends response data indicating “invalid” to the verification unit 3 (step S510). If expression (55) does not hold, the means 407B returns to step S505 to read the next member trace information from the list storage section 402B. The means 407B then repeatedly executes the processing beginning at step S505. If expression (55) does not hold for any member trace information xi, the means 407B regards the member status as “valid”.
When the response data is received from the member status response unit 4, the verification result output means 302 of the verification unit 3 determines “acceptance” according to the response data if the response data is “valid” and determines “rejection” according to the response data if the response data is other than “valid”. The output means 302 then produces a verification result “acceptance” or “rejection” (steps S110 and S111). In this connection, the signer identifying processing executed by the group management unit 1 is similar to that of the first implementation.
Eighth Exemplary Implementation
Next, description will be given of the eighth exemplary implementation. In this regard, this implementation corresponds to the eighth embodiment. Furthermore, the initialization, the key creation processing, the group subscribing processing, the member revoking processing, and the group signature creating processing executed by the group management unit 1 and the signature unit 2 are similar to the processing of the seventh implementation.
When the message m and the group signature data (c,s1,s2,s3,s4,s5,T1,T2,T3,T4,T5) are received, the verification unit 3 verifies validity of the group signature data. In
If the verification expression is not satisfied, the group signature verifying means 301B determines that the group signature data is not appropriate and produces “rejection”. If the verification expression is satisfied, the verifying means 301B transmits the message m and (T4,T5) to the member status response unit 4 (step S602).
In this regard, the procedure in which the group management unit 1 and the signature unit 2 create the member registration certificate and the group signature key, the procedure in which the signature unit 2 creates the group signature data, and the procedure in which the verification unit 3 verifies the group signature data which are described above are described in non-patent document 2.
When (T4,T5) is received, the member status judging means 407B of the response unit 4 reads the member trace information xi from the list storage section 402B (step S505). If it is determined that the member trace information xi exists therein, the judging means 407B continues processing, and then determines whether expression (55) holds for the next obtained xi and (T4,T5; step S508 and 509).
If expression (55) does not hold, the member status judging means 407B returns to step S505 to read the next member trace information from the list storage section 402B. If expression (55) holds, the judging means 407B checks the member status stored with a correspondence established between the member status and xi (step S610). The judging means 407B then sends response data indicating “invalid” to the verification unit 3 according to the member status (steps S611 and S612). If there does not exists any xi to be read in step S506, the judging means 407B determines that the member status is “unknown” and sends response data representing “unknown” to the verification unit 3 (step S104).
When the response data is received from the response unit 4, the verification result output means 302 of the verification unit 3 determines “acceptance” according to the group signature if the response data is “valid” and determines “rejection” if the response data is other than “valid”. The output means 302 then delivers the verification result of “acceptance” or “rejection” (steps S110 and S111). Incidentally, the signer identifying processing executed by the group management unit 1 is similar to that of the first implementation.
Ninth Exemplary Implementation
Next, description will be given of the ninth exemplary implementation. In this regard, the implementation corresponds to one of the first to eighth embodiment.
The group management server 1A is a server operated by a company (to be referred to as a group managing company hereinbelow) to manage a group. The management server 1A corresponds to the group management unit 1 shown in one of the first to eighth embodiment. Incidentally, although one group management server 1A is shown in
The user terminal 2A is an information processing terminal such as a personal computer and a terminal employed by the user as a member of the group. The user terminal 2A corresponds to the signature unit 2 shown in one of the first to eighth embodiment. Incidentally, although one user terminal 2A is shown in
The authentication terminal 3A is an information processing terminal such as a personal computer and a terminal operated by a service company or a public organization providing various services via the communication network 100 to users. For example, the authentication terminal 3A is a terminal operated by a library and lends books in response to a request from the user terminal 2A. The authentication terminal 3A corresponds to the verification unit 3 shown in one of the first to eighth embodiment. Incidentally, although one authentication terminal 3A is shown in
The member status response server 4A is a server operated by a company to manage the status of each member of the group in response to a request from the group managing company. The member status response server 4A corresponds to the member status response unit 4 shown in one of the first to eighth embodiment.
When a message is inputted according to a user operation, the user terminal 2A creates group signature data for the message. The terminal 2A then transmits the message and the group signature data via the communication network 100 to the authentication terminal 3A. For example, the terminal 2A sends the group signature data and a book lending request as a message to the authentication terminal 3A of the library.
After authenticating the received group signature data, the authentication terminal 3A sends a judge request for the member status of the user via the network 100 to the member status response server 4A by use of the method shown in one of the first to eighth embodiment. For example, the authentication terminal 3A sends the message as the judge request and the group signature data to the response server 4A. Additionally, for example, the authentication terminal 3A sends conversion data contained in the group signature data as the judge request to the response server 4A.
When the judge request for the member status is received, the response server 4A determines the current member status of the user of the user terminal 2A by employing the judging method shown in one of the first to eighth embodiment. The response server 4A then sends response data containing the determined member status via the communication network 100 to the authentication terminal 3A.
The authentication terminal 3A determines, according to the received response data, whether the message is to be accepted or rejected and produces a verification result of “acceptance” or “rejection”. For example, if the member status is “valid”, the authentication terminal 3A produces a verification result indicating that the lending of books is allowed. Moreover, for example, if the member status is “invalid”, the authentication terminal 3A produces a verification result indicating that the lending of books is not allowed.
The present embodiments are applicable to the use of a group signature system for confirming a qualification of a member of a group while anonymity is kept. Also, it is possible to easily execute the revoking processing of a user who has lost the qualification of a group member, and hence the processing at member qualification revocation can be efficiently conducted.
Number | Date | Country | Kind |
---|---|---|---|
2004-257660 | Sep 2004 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP05/14783 | 8/11/2005 | WO | 4/3/2007 |