Content deleted Content added
added an 'a' to make it gramatically correct. |
added note on DPA and proprietary variants implemented by some banks |
||
Line 1:
[[Image:nationwide-CAP-reader.jpg|thumb|right|A CAP reader]]
The '''Chip Authentication Program''' (CAP) is a [[MasterCard
==Operating principle==
Line 10:
==Protocol details==
In all three modes, the CAP reader asks the EMV card to output a data packet that confirms the cancellation of a fictitious EMV payment transaction, which involves the details entered by the user. This confirmation message contains a [[message authentication code]] (typically [[CBC-MAC]]/[[TDES]]) that is generated with the help of a card-specific secret key stored securely in the smartcard. Such cancellation messages pose no security risk to the regular EMV payment application, but can be cryptographically verified and are
An EMV smartcard contains a (typically 16-bit) transaction counter that is increased by one with each payment or CAP transaction. The response displayed by a CAP
In the identify mode, the response depends only on the transaction counter value. In the response mode, it depends in addition on the entered challenge, and in signing mode it also depends on the entered transaction details.
==Incompatibility==
The original CAP specification was designed to use normal EMV transactions, such that the CAP application could be deployed without updating the firmware of existing EMV cards. However, some banks found this approach difficult to manage in their existing back-end systems. They instead implemented a modified version of CAP, where the reader selects a dedicated CAP application on the card, separate from the original EMV application. This allows the CAP and EMV applications on the card to use independent secret keys, although the PIN and its retry counter are still shared, at the expense of having to replace all existing cards with CAP-enabled ones. Different banks implemented these modifications slightly differently (e.g., using different application identifiers), therefore CAP readers are currently not necessarily compatible across banks.
==Users==
|