22 июня 2023, 12:07
Количество просмотров 1947

EMV Contactless Kernel. Новый шаг в бесконтактных платежных технологиях

В конце 2022 года в платежной индустрии произошло важное событие – ассоциация EMVCo опубликовала спецификацию на универсальное бесконтактное терминальное ядро EMV Contactless Kernel [1]. Независимый эксперт Игорь Голдовский анализирует его значение для рынка.
EMV Contactless Kernel. Новый шаг в бесконтактных платежных технологиях

Зачем и кому сегодня нужно универсальное ядро?

Итак, теперь в платежной отрасли существует единый стандарт на терминальное ядро независимо от того, контактное оно или бесконтактное.

Вопрос о разработке универсального бесконтактного ядра муссировался в EMVCo еще в самом начале XXI века. На тот момент две ведущие платежные системы (ПС) уже имели свои заготовки для ядра и предлагали EMVCo использовать их в качестве стандарта для всего рынка. Сделать выбор тогда не получилось. В результате сегодня каждая ПС, включая ПС «Мир», имеет собственное терминальное ядро. По оценкам EMVCo, всего в мире насчитывается более 20 бесконтактных ядер.

Спецификации на терминальные ядра ПС, являющихся принципиальными участниками EMVCo, приведены в документах EMV Contactless Specifications (книги C1-C7). И вот 5 октября 2022 года была опубликована спецификация на универсальное ядро EMV Contactless Kernel, которая представлена в книге C-8 EMV Contactless Specifications [1].

Несмотря на то, что договориться об универсальном бесконтактном ядре в «нулевые» годы не получилось, в рамках стандартов EMV Contactless Specifications for Payment Systems была разработана спецификация Book B: Entry Point [2], определяющая архитектуру бесконтактного терминального программного обеспечения. Архитектура подразумевала наличие ПО, непосредственно работающего с картой (терминальное ядро), и возможность обслуживать карточное платежное приложение платежной системы (ПС) с использованием нескольких бесконтактных ядер на стороне терминала. В спецификации определяется механизм выбора ядра для работы с платежным приложением карты. Именно благодаря этому стандарту стало возможно применение нескольких бесконтактных ядер в рамках одной платежной системы. При этом появившееся терминальное ядро может работать параллельно с существующими ядрами. Его внедрение не потребует замены терминалов — необходимо будет лишь добавить в терминалы и потом сертифицировать дополнительное ПО терминала. Кроме того, после внедрения нового ядра (в частности, EMV Contactless Kernel) не изменится поток авторизационных сообщений для обработки транзакции, никак не меняется и клиентское поведение.

Однако возникает естественный вопрос: коль скоро у каждой ПС уже имеется собственное ядро, то зачем и кому сегодня нужно универсальное ядро? Ниже я приведу некоторые ответы на этот вопрос.

5 октября 2022 года была опубликована спецификация на универсальное ядро EMV Contactless Kernel, которая представлена в книге C-8 EMV Contactless Specifications

Во-первых, известно, что на сегодняшний день назрела необходимость миграции на новые алгоритмы асимметричного шифрования. Используемый алгоритм RSA становится непригодным для обработки платежных транзакций. Дело в том, что для обеспечения требуемой платежной индустрией криптостойкости в 128 бит нужна пара ключей RSA, у которой длина модуля публичного ключа не меньше 3072 бит. При таких размерах ключей шифрование на длинном секретном ключе даже на самых быстрых микропроцессорах занимает секунды. Это шифрование в общем случае используется картой при выполнении офлайновой динамической аутентификации платежного приложения, а также для расшифрования данных, передаваемых карте от терминала. Очевидно, это делает алгоритм RSA непригодным для применения в платежном приложении. С ростом длины модуля открытого ключа N, выраженного в битах, ситуация быстро ухудшается, поскольку можно показать, что трудоемкость шифрования на длинном ключе асимптотически растет как O(N3).

В качестве альтернативы RSA в книге 2 спецификации EMV на платежное приложение версии 4.4 предлагается алгоритм Шнорра на эллиптических кривых P-256 и P-521 [3]. Этот алгоритм называется EC-SDSA. Алгоритм обеспечивает требуемую безопасность формирования подписи, а также позволяет реализовать эффективную процедуру генерации симметричных ключей, предназначенных для обеспечения конфиденциальности и целостности данных, циркулирующих между терминалом и картой. Время формирования подписи и генерации симметричных ключей на типовых микропроцессорах занимает всего несколько десятков миллисекунд.

Устарел и постепенно выводится из эксплуатации и алгоритм симметричного шифрования 3 DES, имеющий даже при использовании ключа тройной длины криптостойкость 112 бит вместо необходимых 128 бит. На смену ему приходит алгоритм AES.

Назрела необходимость миграции на новые алгоритмы асимметричного шифрования –используемый алгоритм RSA становится непригодным для обработки платежных транзакций

Новые алгоритмы шифрования привели к появлению новых криптографических механизмов, включенных в версию 4.4 Книги 2 спецификаций EMV на платежное приложение:

  • Протокол XDA (Extended Data Authentication) офлайновой аутентификации на основе алгоритма EC-SDSA;
  • Протокол ODE (Offline Data Encryption) генерации симметричных сессионных ключей на основе EC-SDSA и шифрования данных на основе AES. Протокол обеспечивает конфиденциальность и целостность данных, циркулирующих между терминалом и картой, а также защиту от атаки Man-in the-Middle.

Из-за необходимости замены криптографических алгоритмов платежные системы будут вынуждены менять существующие терминальные ядра. Так почему бы не использовать в качестве такого ядра универсальное ядро EMV Contactless Kernel, уже поддерживающее новые криптографические алгоритмы? Тем более что, как отмечалось ранее, платежное приложение карты с AID, относящимся к конкретной платежной системе, может работать как через нативное ядро этой платежной системы (Legacy Kernel), так и через EMV Contactless Kernel.

Во-вторых, внедрение ядра EMV Contactless Kernel снизит стоимость владения терминальным оборудованием. Очевидно, что после массового внедрения EMV Contactless Kernel ТСП/эквайрерам не придется отслеживать, внедрять и сертифицировать изменения в поддерживаемых на терминале ядрах различных ПС. Ожидается, что по прошествии какого-то времени на терминале в идеале будет поддерживаться универсальное терминальное ядро, используемое всеми (или большинством) ПС.

При необходимости начать прием карт очередной ПС магазину не потребуется менять ПО терминала для поддержки бесконтактного ядра этой ПС. Будет достаточно всего лишь изменить настройки терминала для уже установленного ядра EMV Contactless Kernel — прописать AID приложений новой ПС, завести публичные ключи ПС с соответствующими им индексами, коды TACs/IACs и т. п., пройти сертификационные процедуры ПС. Заметим также, что приобретение ядра ПС стоит денег.

В-третьих, ядро EMV Contactless Kernel, благодаря быстрой и «компактной» криптографии и поддерживаемому механизму ODE, позволяет более эффективным способом реализовать облачный POS-терминал, а также поддержать биометрическую верификацию покупателя. Операции в облачных терминалах выполняются за то же время, что и операции в обычных необлачных POS-терминалах, использующих современные бесконтактные ядра. Новые функциональные возможности ядра привлекательны для ТСП и эквайреров.

Наконец, ядро EMV Contactless Kernel может использоваться платежными системами, банками и ТСП без каких-либо дополнительных лицензионных плат. Спецификация EMV Contactless Kernel принадлежит и управляется EMVCo и предоставляется всем заинтересованным игрокам платежного рынка бесплатно.

Спецификация EMV Contactless Kernel принадлежит и управляется EMVCo и предоставляется всем заинтересованным игрокам платежного рынка бесплатно

Защита от квантовых атак? Неочевидно

Компания Mastercard через неделю после публикации спецификации на EMV Contactless Kernel объявила о начале выпуска своих карт, поддерживающих новое терминальное ядро. При этом выпуск карт позиционировался как первое решение, обеспечивающее защиту данных, циркулирующих между картой и терминалом, от атак квантовых компьютеров [4].

Известно, что при атаке квантового компьютера с использованием алгоритма Шора [5] передача открытого ключа карты на терминал становится небезопасной — можно всего лишь за O(N2 log N (loglog N)) операций определить секретный ключ алгоритма. А ведь передача публичного ключа карты на терминал — первый шаг к формированию симметричных ключей для организации защищенного обмена данными между картой и терминалом на базе протокола ECDH (Elliptic Curve Diffie-Hellman).

Получается, что в лоб задача защищенного обмена данными между картой и терминалом не решается. С одной стороны, для безопасной передачи открытого ключа карты нужно создать безопасное соединение между картой и терминалом, а с другой — для создания безопасного соединения требуется сначала передать публичный ключ, что небезопасно при наличии атаки квантового компьютера, реализующего алгоритм Шора, способного за полиноминальное время решить задачу логарифмирования на точках эллиптической кривой над конечным полем и таким способом определить секретный ключ карты.

Ниже мы покажем, что механизм слепого множителя, реализованный в ядре EMV Contactless Kernel, заявленную Mastercard защиту не обеспечивает. К сожалению, вытащить себя из болота за волосы умел только барон Мюнхгаузен. Тем не менее этот механизм может использоваться для реализации альтернативного варианта динамической аутентификации платежного приложения карты.

Чтобы показать это, введем обозначения:

  • G — образующий элемент группы точек эллиптической кривой, лежащей в основе алгоритма EC-SDSA;
  • dt, Qt = dtG — эфемерная пара соответственно закрытого и открытого ключей терминала для алгоритма EC-SDSA;
  • dc, Qc = dcG — пара ключей платежного инструмента для алгоритма EC-SDSA;
  • r — слепой множитель схемы, представляющий собой случайный элемент конечного поля, над которым рассматривается эллиптическая кривая (в протоколе применяются две кривые P-256 и Р-521).
  1. Ядро терминала генерирует эфемерную пару ключей и в команде Get Processing Options отправляет значение Qt карте (платежному инструменту).
  2. Карта генерирует случайный слепой множитель r и вычисляет величину S = rdcQt = rdcdtG = rdtQc. С помощью S и известной процедуры генерации ключей (KDF) карта формирует симметричные ключи Kc размером 256 бит для алгоритма AES. «Длинные» 256-битные ключи в AES нужны для противодействия атаке квантового компьютера, позволяющей с помощью алгоритма Гровера [5] добиться квадратичного ускорения в переборе ключей. Поэтому для обеспечения требуемой сегодня энтропии 128 бит необходимо использовать симметричное шифрование AES с длиной ключа 256 бит.
  3. В ответе на команду Get Processing Options карта направляет терминалу значения rQc и зашифрованное на симметричном ключе, выведенном в п. 2, значение r.
  4. С помощью rQc терминал вычисляет значение S = rQcdt, симметричный ключ, на котором были зашифрованы полученные значения rQc и r.
  5. Конфиденциальность и целостность всех данных, циркулирующих между картой и терминалом, теперь защищаются ключами, выводимыми из секрета S.
  6. Если карта и терминал сконфигурированы таким образом, что требуется локальная аутентификация карты, то терминал находит обратный элемент r-1 и вычисляет публичный ключ карты Pc, и проверяет сертификат публичного ключа, полученного при чтении данных карты. Тем самым реализуется динамическая аутентификация платежного приложения. Действительно, тот факт, что карта и терминал используют общий сессионный ключ, говорит о том, что карта использовала секретный ключ dc, соответствующий ее публичному ключу. Проверка сертификата карты подтверждает факт того, что ключи карты были сформированы ее эмитентом.

Весь расчет на стойкость схемы к атакам квантовых компьютеров строился на использовании слепого множителя r. С первого взгляда кажется, что он маскирует секретный ключ карты dt и позволяет определить лишь значение rdc. Однако, если посмотреть на схему протокола взаимодействия терминала и карты (см. рис.1), то очевидно следующее:

  • атакующий с помощью алгоритма Шора, перехватив значение Qt, восстанавливает значение секретного ключа терминала dt
  • получив от карты значение rQc (шаг 3), атакующий вычисляет S = rdtQc и, следовательно, вычисляет сессионный ключ
  • далее атакующий расшифровывает значение слепого множителя r и по значению rQc находит Qc
  • логарифмируя Qc на точках эллиптической кривой с помощью алгоритма Шора, атакующий находит секретный ключ карты dc
scheme.webp
Рис. 1

Таким образом, новое терминальное ядро не защищает диалог карты и терминала от атак квантовых компьютеров и позволяет определить секретный ключ карты.

Вопросы поддержки и внедрения

Возникает естественный вопрос: как будет происходить внедрение нового ядра? Пока полной ясности по этому вопросу нет. Ни одна ПС не высказалась по этому поводу. Как уже ранее отмечалось, фактически вынужденный переход на новую криптографию — подходящий момент для внедрения EMV Contactless Kernel. Магазины дополнительно заинтересованы в переходе на новое ядро еще и потому, что появляется возможность реализации облачного терминала, а также использования в платежах биометрии.

Очевидно, карты так же, как и терминалы, должны уметь реализовывать новые криптографические механизмы. Синхронизацию поддержки нового ядра на стороне терминалов и карт должны осуществлять ПС. По всей видимости, начиная с какого-то момента времени все новые карты будут поддерживать платежное приложение (или два отдельных приложения) с поддержкой ядра Legacy Kernel и ядра EMV Contactless Kernel. Параллельно на стороне терминалов (для вновь устанавливаемых терминалов процесс внедрения начнется раньше) будет производиться установка нового ядра. С какого-то момента времени, обозначенного ПС в качестве обязательного последнего срока установки терминалов с ядром, платежные приложения на стороне карт будут поддерживать только EMV Contactless Kernel.

Примечания

[1] EMV® Contactless Specifications for Payment Systems. Book C-8
https://www.emvco.com/specifications/c-8-kernel-specification/

[2] https://www.emvco.com/specifications/?tax%5Bspecifications_categories%5D%5B32%5D%5B%5D=35

[3] EMV_v4.4_Book_2_Security_and_Key_Management.pdf

[4] https://www.nfcw.com/2022/10/11/379672/mastercard-releases-first-quantum-resistant-contactless-payment-cards/

[5] Постквантовая криптография, выпуск № 2 журнала «Платежные Технологии»
https://filestation.nspk.ru/file/sharing/oxaPIw9en


PLUSworld в соцсетях:
telegram
vk
dzen
youtube