Как работи Apple Pay под капака

Използвате ли Apple Pay? Замисляли ли сте се как преминава транзакцията на Apple Pay? В тази публикация ще научите как Apple Pay работи от край до край.

Мобилните плащания станаха много популярни поради удобството и сигурността, която предлагат. Няма повече пластмасови карти за носене и не е нужно да се притеснявате, че ще ги загубите (какво облекчение!).

В тази статия ще обсъдя как Apple Pay работи като цяло и как работи, когато се използва на физически POS терминал, по-специално. Ще обсъдя накратко и ползите за сигурността.

Преди да се потопите, нека се запознаем с някои основни терминологии.

Сигурен елемент

Сигурният елемент (SE) е нещо, което се споменава, когато се говори за Apple Pay, така че трябва да разберем какво представлява.

Според Global Platform:

Secure Element (SE) е устойчива на фалшифициране платформа (обикновено едночипов защитен микроконтролер), способна да хоства сигурно приложения и техните поверителни и криптографски данни (напр. Управление на ключове) в съответствие с правилата и изискванията за сигурност, определени от набор от добре идентифицирани доверени органи.

Apple Pay използва SE за съхраняване на секретна информация, свързана с токенизирани карти (за това ще говорим по-късно).

В iPhone след iPhone 6 и в Apple Watch, SE е вградено в чипа за комуникация в близко поле (NFC) на устройството. Това се използва на платежни терминали за извършване на транзакции през NFC. SE емулира платежна карта по време на транзакция с Apple Pay.

Токенизация

Токенизирането като процес се възприема все повече в индустрията за плащания. Тук ще се опитаме да разберем основите на токенизацията.

По-долу е кратко описание от технологията на токенизация от Wikipedia:

Токенизацията , когато се прилага към сигурността на данните, е процесът на заместване на чувствителен елемент от данни с нечувствителен еквивалент, посочен като маркер, който няма външно или използваемо значение или стойност. Токенът е препратка (т.е. идентификатор), която се връща обратно към чувствителните данни чрез система за токенизация. Съпоставянето от оригинални данни към токен използва методи, които правят маркерите невъзможно да се обърнат при липса на система за токенизация

В контекста на кредитните карти и Apple Pay токенизацията се използва за замяна на номера на основната сметка (PAN или номера на кредитната карта) с токен. Токенът изглежда като нормален номер на кредитна карта, но това не е оригиналният PAN. Токенизацията спира използването на оригиналния номер на картата по време на транзакции.

Жетоните нямат значение сами по себе си и са безполезни за престъпниците, ако бъде откраднат символ. Няма алгоритъм за извличане на основния номер на акаунт, ако имате токен. Това прави невъзможно престъпниците да извършат обратно проектиране на номера на основната сметка от символ.

Щракнете тук за статията в Уикипедия за токенизация, ако искате да научите повече.

Следващата диаграма описва потока на транзакциите на Apple Pay. Ще ги обсъдим стъпка по стъпка в следващите раздели.

Добавяне на карта към Apple Pay

Карта може да бъде добавена към Apple Pay чрез сканиране на картата или чрез подаване на информацията за картата. След това тази информация се предоставя на сървърите на Apple.

Apple изпраща получената информация за картата до съответната мрежа от карти (Visa, MasterCard, AmericanExpress, Discover и т.н.). След това картовата мрежа проверява информацията за картата в банката-издател.

След валидирането мрежата от карти, действаща като TSP (Token Service Provider), създава маркер (който се нарича DAN или номер на акаунт на устройство в контекста на Apple Pay) и ключ на токен. Този DAN се генерира с помощта на токенизация и не е действителният номер на картата.

След това тази информация се изпраща обратно към сървърите на Apple. След като устройството получи тази информация от сървърите на Apple, тя се записва в защитения елемент на устройството (SE).

Иницииране на транзакция с помощта на Apple Pay

Когато използвате вашето устройство Apple на POS терминал, за да извършите плащане, устройството комуникира с терминала, за да инициира транзакция. Apple Pay използва безконтактната спецификация на EMVCO за комуникация с терминала. Ако терминалът не поддържа EMV безконтактно, Apple Pay се връща обратно в режим на безконтактна MSD (данни с магнитни ленти).

EMV безконтактен режим

Когато се използва безконтактен режим EMV, устройството на Apple комуникира с терминала съгласно безконтактната спецификация на EMV. Защитеният елемент на устройството генерира динамична криптограма за всяка транзакция, използвайки маркера, ключа на символа, сумата и друга информация, свързана с транзакцията. След това тази динамична криптограма се изпраща до процесора за плащане заедно с токена (DAN), сумата на транзакцията и друга необходима информация за обработка на транзакцията.

Безконтактен MSD режим

Съществува безконтактна MSD за поддръжка на терминали, които все още не могат да обработват, използвайки EMV безконтактен режим. Повечето терминали все още работят в безконтактен MSD режим. Нека разгледаме по-задълбочено как преминава транзакцията, използвайки безконтактен MSD режим.

MSD или Magnetic Stripe Data е начинът, по който старите карти съхраняват данни за картите. Данните се съхраняват като следи в карти с магнитни ленти. Картите с магнитна лента могат да имат до 3 песни и всяка песен (track1, track2, track3) има различен формат. Моля, щракнете тук за допълнителна информация относно данните за пистите.

В безконтактния MSD режим на Apple Pay форматът на данни track2 се използва за прехвърляне на данните от картата към процесора за плащане, който след това комуникира с мрежата на картата.

Нека да разгледаме някои примерни данни за проследяване, изпратени от терминал до процесора за транзакция с Apple Pay.

370295292756481 = 220672716078290600047

По-горе е даден пример за данни за следите, получени от терминал, който е бил заснет на платежен шлюз.

Нека разберем този сегмент от данни по сегменти,

  • Highlighted in yellow - This is the Device Account Number or the DAN (The example DAN here is from an AmericanExpress card. You can validate the bank identification number (BIN), or initial 6 digits in the credit card number, here).
  • Highlighted in blue - This is the credit card expiry year and month(yy/mm)
  • Highlighted in pink - This is the service code. Click here to understand more about this.
  • Highlighted in purple - This part of data is discretionary to the card network. In case of Apple Pay, this is used as a dynamic card verification value (CVV).

We learned that in the EMV mode a dynamic cryptogram is generated. Here the dynamic CVV plays the role of the cryptogram. This is generated using the token key and other transaction-related data (similar to the generation of a dynamic cryptogram).

The track data shown above is sent to the acquirer along with the transaction amount. The acquirer forwards this information to the relevant card network (Visa, MasterCard, and so on ) based on the BIN.

Completion of an Apple Pay Transaction

When the card network receives the transaction request, it identifies whether it’s an actual card number or a tokenized card number. If it is tokenized (which is the case for Apple Pay transactions), the card network validates the cryptogram (or dynamic CVV) using their copy of the token key (the card network is acting as a TSP here).

After some other additional validations, the card network de-tokenizes the DAN and obtains the original PAN (primary account number).

This transaction request is sent to the issuer (the bank or the financial institution who issued the credit card) along with the original PAN. The issuer authorizes the transaction and sends back the response which eventually reaches the POS terminal.

Yay! Transaction complete!

Replaying Transaction Requests

One of the biggest problems with the traditional card transactions is the ability to replay past transaction requests (replay attack). If you resend the same transaction request, another transaction would be done with the same data.

With Apple Pay, this does not happen (also when using EMV cards directly on the terminal as well). Every transaction request can only be used once. The dynamic cryptogram (dynamic CVV in MSD mode) ensures this. For each transaction, a new cryptogram is generated which can only be used once (and is only valid for a certain time period).

Conclusion

In this article, we have gone through an overview of the Apple Pay transaction flow. I will discuss Google Pay in a coming article.

References

  • //www.gmarwaha.com/blog/2015/01/03/apple-pay-an-attempt-to-demystify-take-2/
  • //www.emvco.com/emv-technologies/contactless/
  • //msrtron.com/blog-headlines/blog-card-data
  • //www.slideshare.net/bellidcom/what-is-a-token-service-provider-52887269

Before you go!

If you have enjoyed this article, claps are welcome!