US 7,555,652 B2
Method for user attestation signatures with attributes
Jan Camenisch, Thalwil (Switzerland)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Appl. No. 10/575,158
PCT Filed Aug. 20, 2004, PCT No. PCT/IB2004/002716
§ 371(c)(1), (2), (4) Date Mar. 06, 2007,
PCT Pub. No. WO2005/038635, PCT Pub. Date Apr. 28, 2005.
Claims priority of application No. 03405749.7 (EP), filed on Oct. 17, 2003; and application No. 04405181.1 (EP), filed on Mar. 24, 2004.
Prior Publication US 2007/0245138 A1, Oct. 18, 2007
Int. Cl. H04L 9/00 (2006.01); H04L 9/32 (2006.01); G06F 7/04 (2006.01); G06F 17/30 (2006.01); G06F 7/58 (2006.01); G06K 9/00 (2006.01); G06K 19/00 (2006.01); G06F 15/16 (2006.01)
U.S. Cl. 713—180  [713/156; 713/157; 713/168; 713/173; 713/175; 726/2; 726/4; 726/10] 1 Claim
OG exemplary drawing
 
1. A method for attestation comprising:
performing an attestation scheme using a security module of a user device, said security module being operatively coupled with a verification computer and an attester computer, the performing step comprising steps of:
generating a user attestation-signature value for use with the verification computer, the user attestation-signature value corresponding to at least one attribute, each at least one attribute comprising an attribute value, wherein at least one of the attribute values remain hidden for transactions performable by the user device, the step of generating as performed by the security module comprising the steps of:
providing a module public key and a security module attestation value that is a part of the user attestation-signature value;
receiving from the user device a user public key comprising the user determined attribute value x, y and a proof value demonstrating that the user public key is validly derived from the module public key of the security module;
receiving from the attester computer:
(I) an attestation value comprising the at least one attribute with its corresponding attribute value, wherein at least one of the attribute values are unknown to the attester computer,
the attestation value being derived from an attester secret key, a user public key, and the at least one attester determined attribute values,
the user public key comprising at least one of the user determined attribute values, and
(II) at least one of the attester determined attribute values (w, z); and deriving the user attestation-signature value from the attestation value and a security module attestation value,
wherein it is verifiable whether or not
(i) the user attestation-signature value is validly derived from the security module attestation value and the attestation value, and that
(ii) the attestation value is associated with a subset of at least one attribute, each attribute in the subset comprising a revealed attribute value;
wherein the step of deriving the user attestation-signature value comprises the steps of:
deriving a first security module attestation value;
deriving an intermediate user attestation-signature value from the first security module attestation value under use of an attester public key and a hash function; and
calculating further parts of the user attestation-signature value using at least one of the attribute values, the received part of the user attestation-signature value, the user public key, and the attester public key;
wherein the user public key is derived from the module public key by using the attester public key and the one or more of the attribute values;
wherein the user device provides encryptions under a trusted third party's public key of at least one of the attribute values that remain unknown to the verification computer; and
providing the user attestation-signature value to the verification computer for verification.