Implementing Electronic Card Payment Systems (Artech House Computer Security Series)

7.10 Card risk management

In order to determine the type of Application Cryptogram (i.e., TC, ARQC, or AAC) computed by the card application in response to the terminal's first and second GENERATE AC command, the card must run its own risk management.

Card risk management is not specified in the EMV 2000 specifications, since it does not impact on interoperability. This is why the payment system has to define its own card risk management in the proprietary ICC specifications (see Section 7.2). The issuer can further refine this definition according to its own business case, considering the trade-off between the availability degree of the financial service and the level of risk willing to be accepted.

The aim of this section is to identify which are the components that participate in the definition of the card risk management (CRM) system. This analysis is carried out in a top-down approach, from general principles towards the necessary proprietary data objects that must be foreseen in the file structure of the card. We have chosen this approach believing that an understanding of the general picture helps the designer both in the analysis of a particular CRM solution proposed by a proprietary ICC specification and in tuning it according to its own needs. For a complete design example of the CRM, we refer to [7].

7.10.1 CRM Components

Figure 7.5 outlines an input/output perspective of the CRM system. This system can be seen as a set of CRM functions. It takes the CRM data as input and runs each and every CRM function that is included in the set. This is also true when the terminal asks for the transaction's denial (i.e., GENERATE AC with AAC), or when the card decides to answer with AAC following the execution of any CRM function in the set. Since each and every CRM function in the set must be executed, the order of execution of these functions is not necessary to be defined. After the processing of the CRM data, the CRM system produces the CRM results, which logically consists of two items:

  1. The type of Application Cryptogram the card agrees to compute in response to the GENERATE AC command;

  2. The complete status of the card application, reflected in the CVR register. This register witnesses the processing of the EMV ¢ transaction from the card application's perspective. Therefore, its meaning is similar to that of the TVR and complements it. Each CRM function positions dedicated bits in the Card Verification Results Register (CVRR).

Figure 7.5: CRM system from the input/output perspective.

In the following sections, we present some possible types of CRM functions, the data objects that can be included in the CRM data, and several examples that define the CRM functions.

7.10.2 The set of CRM functions

The CRM functions effectively perform the risk evaluation during each EMV ¢ transaction. Depending on the nature of the identified security risks, the CRM functions can be grouped into several categories:

In the first category one can define the following CRM functions ”listed in the order of the EMV ¢ transaction stage where the processing error is considered:

The CRM functions that evaluate the financial risks due to overspending include the following:

Of the CRM functions that evaluate the financial risks due to frequent use of the card in off-line transactions, one is the CRM function of the type "Frequent off-line use of the application". This type of CRM function is optionally included in the CRM system. It protects the issuer against excessive use of a card application only in transactions completed off-line. This would prevent the issuer from controlling time to time on a card application during an on-line authorization.

7.10.3 CRM data

The CRM functions take their input values from the set of CRM data. For the actual set of CRM functions proposed in Section 7.10.2, two groups of CRM data objects can be identified.

First, one can consider the group of CRM external data objects, which are requested by the card application from the business environment at the point of service. The tag-length identifiers of these objects are listed in CDOL1 and CDOL2. The terminal provides these data objects, which represent the input data to the first and second GENERATE AC command, respectively. They allow the card to update its internal state, to figure out the actual conditions in which the transaction is held, and to determine accordingly the level of risk. For example, when considering the CRM functions that evaluate the financial risks due to overspending as explained in Section 7.10.2, the data objects required from the point of service are the Amount, Authorized, the Amount, Other, the transaction date, and the Transaction Currency Code. When considering the CRM functions that deal with errors identified during the processing of the EMV ¢ transaction, the card also requires the TVR. Two bits of the TVR are relevant to this goal: the "Off-line static data authentication failed" (bit 7 in byte 1 of TVR) and the "Off-line dynamic data authentication failed" (bit 4 in byte 1 of TVR). They provide to the CRM system of the card the appropriate information as to whether the terminal has correctly completed the SDA or the DDA.

Second, the CRM data includes a set of CRM internal data objects. The data objects in this group represent a subset of the internal state of the card application. They allow the card to keep a history of the EMV ¢ transactions already processed , which could impact on the decision of completion elaborated in the current transaction. For the concrete set of CRM functions exemplified in Section 7.10.2, several categories of data objects can be identified (e.g., transaction flow flags, processing counters/counter limit parameters, and financial accumulators/ accumulator limit parameters).

Transaction flow flags The data objects in this category witness the correct or erroneous completion of a certain processing stage in the card application or in the terminal application. One flag is foreseen for the completion of every stage monitored for errors by the CRM functions. Every flag has only two possible values: 1 for error occurring during the monitored stage, and 0 for the correct completion of that stage. For the example we discuss, the following set of flags is relevant:

The set of the transaction flow flags is kept in a proprietary data object, which is accessible only to the appropriate card application.

Processing counters and counter limit parameters The data objects in this category keep track of the number of repetitive processing performed in the card application. Sometimes, a processing counter is associated with a counter limit parameter, which determines the card application to perform a predefined action when the counter reaches that limit.

Financial accumulators and accumulator limit parameters These are proprietary data objects accessible only from a card application. One category of accumulators keeps track of the cumulative value of the transactions performed both on-line and off-line in a period of time (e.g., 1 day or 1 month). Another type of accumulator keeps track of the cumulative value of the consecutive transactions performed off-line.

CRM data objects of the accumulator type are always associated with accumulator limit parameters, which are security thresholds that limit the tendency of overspending by the cardholder. The accumulator limit parameters are proprietary data objects personalized by the issuer according to the desired trade-off between security against overspending and the availability of the financial service. Thus, the higher the value of the accumulator limits, the higher the risk of overspending. However, the higher the value of the accumulator limits, the better the availability of the payment service for the cardholder.

Financial accumulators and their corresponding accumulator limit parameters can be associated with one card application or can be globally associated with the entire card, when at least two EMV ¢ debit/credit applications coexist in the same multiapplication card.

Several examples of such parameters, serving as input data to the CRM functions that evaluate the financial risks due to overspending (see Section 7.10.2), are listed below:

7.10.4 CRM function definitions

The execution of any CRM function processes one or several CRM data objects (as identified in Section 7.10.3) which represent the input data. The execution of each CRM function can be further parameterized with a set of issuer result flags. This allows the issuer to define one single general purpose CRM function, the result of which can be finer tuned , depending on the type of card application, the type of service, and the type of payment behavior. In the remainder of this section we examine the definition of two CRM functions, one of each of the first two categories of CRM functions as identified in Section 7.10.2. The other functions can be defined following the same methodology.

Issuer authentication error in the last transaction This function belongs to the first category of CRM functions, which evaluate the risks resulting from errors in the processing of the EMV ¢ transaction. The Issuer Authentication with Error flag represents the input data to this function.

The set of issuer result flags that parameterize this function consists of only 1 bit, whose values have the following meaning: 1 ”if issuer authentication failed in the last transaction, submit the current transaction on-line; 0 ”if issuer authentication failed in the last transaction, continue with the next function in the set of CRM functions.

The processing of the function is formalized as follows :

Overspending in a (Specify: Day) period by the application This function belongs to the second category of CRM functions, which evaluate the financial risks due to overspending. The monitored period with which the function is concerned is 1 day.

If any of the objects mentioned above are not present in the card application, the execution is transferred to the next function in the CRM system.

If the terminal does not provide any of the objects mentioned above, the execution is transferred to the next function in the CRM system.

Категории