Patent ID: 8145899

Claim:
A method comprising: encrypting, to create an encrypted data set by using an issuer private key, a user public key and a set of attributes; storing, on a portable consumer payment device useable by a user to make purchase from a merchant, a user private key and an address of a certificate library server; and storing a digital certificate at a user-allocated memory segment of the certificate library server, wherein the digital certificate contains the user public key, the set of attributes, the encrypted data set, and an issuing-party identifier; and storing, in the user-allotted memory segment of the certificate library server, a certificate chain created from the digital certificate, wherein the certificate library server stores a plurality of the certificate chains of other said users, and the certificate library server includes: a plurality of the user-allocated memory segments each being accessible by an address contained in one said portable consumer payment device of one said user; a plurality of the certificate chains issued to the one said user, wherein the plurality of the certificate chains are included in one of the user-allocated memory segments and wherein each said certificate chain is issued to the one said user by an issuer; an issuer identifier associated with each said certificate chain that identifies the issuer on whose behalf the digital certificate is provided in the certificate library server; a user first cryptographic key included in each said certificate chain, said user first cryptographic key having a corresponding user second cryptographic key being stored in the one said portable consumer payment device of the one said user; a set of user attributes included in each said certificate chain providing information regarding the relationship between the one said user and the issuer associated with the digital certificate chain; and a trusted root certificate for each said certificate chain, with the corresponding trusted root differing from other trusted certificate roots stored at the corresponding user-allocated memory segment.