2

I reviewed a couple of e-commerce applications that use the same payment processor. In both cases the merchants store credit card tokens generated by the payment processor, in order to offer a 'remember this credit card' feature.

During the review I noticed that the same token is generated for both merchants for the same test credit card number. So it seems that the token generation is deterministic across different merchants. For me that would be a red flag, as it means the tokens themselves have the same value as the credit card numbers, i.e. if they are stolen from one merchant database they can be reused with other merchants.

Does such a deterministic token generation scheme conform to the pci standard? I've read the Tokenization Guidelines but didn't find any phrasing to explicitly forbid or discourage it.

1

I definitely think it's a borderline violation of the Tokenization Guidelines. From the Tokenization Overview section in the document you linked:

For a token to be considered non-sensitive, and thus not require any security or protection, the token must have no value to an attacker.

An attacker could use the token from one merchant with another, but there may be other validations in the processor's system that prevents reuse across merchants. i.e. a merchant-specific database that contains a whitelist of authorized tokens for that merchant.

Without understanding more about the whole system, I don't think it's an explicit violation of the PCI-DSS standards, but it definitely raises eyebrows.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.