Перекрестная ссылка на родственную заявку
Эта заявка заявляет преимущество и приоритет по отношению к европейской патентной заявке № 16180454.7, зарегистрированной 20 июля 2016 года. Полное раскрытие вышеупомянутой заявки содержится в данном документе по ссылке.
Область техники, к которой относится изобретение
Настоящее изобретение относится к способам установления защищенного канала между двумя устройствами с использованием криптографических протоколов и к системам и устройствам, приспособленным, чтобы поддерживать такие способы. Варианты осуществления настоящего изобретения, в частности, относятся к установлению защищенного канала между устройством оплаты и терминалом транзакционной инфраструктуры.
Уровень техники изобретения
Доверительное управление в транзакционных системах, таких как системы, использующие платежные карты в качестве транзакционных устройств, долгое время было сложной технической проблемой большой коммерческой важности. Поскольку замена транзакционных систем злонамеренными третьими участниками имеет потенциал компрометировать существенные финансовые активы, очень важно для всех точек потенциальной уязвимости в транзакционной системе быть защищенными посредством подходящих механизмов доверия. В транзакционной системе, использующей платежные карты или другие устройства оплаты, например, использующие протоколы EMV, в качестве транзакционных устройств, это потребует соответствующих защитных мер для индивидуальных карт и устройств, для терминалов, и для других элементов транзакционной системы.
EMV является финансовой транзакционной системой, основанной вокруг использования контактных и бесконтактных транзакционных карт. В платежной модели EMV банк-эмитент предоставляет клиенту-держателю счета микропроцессорную карту (или другой токен) для использования при осуществлении платежей. Банк-эквайер снабжает продавца совместимым терминальным устройством для использования при приеме платежей. Выражение "терминал" здесь рассматривается как охватывающее любое устройство, которое взаимодействует непосредственно с такой транзакционной картой (например, интерфейс, предоставляющий возможность пользовательского ввода персонального идентификационного номера (PIN), такой как клавиатура для ввода PIN-кода или устройство ввода PIN-кода (PED), или POS-терминал или банкомат, содержащий средство, подобное этим, чтобы предоставлять возможность взаимодействия с транзакционной картой).
Доверительное управление становится чрезмерно трудным, когда некоторые элементы системы (платежные карты и даже терминалы) лишь периодически контактируют с основной транзакционной системой, и когда может быть необходимо для одного элемента системы взаимодействовать с другим элементом системы без полной уверенности в том, что этот дальнейший элемент системы заслуживает доверия. Это может быть применимо, например, в конфликтных регионах или после стихийного бедствия или в каких-либо других обстоятельствах, в которых обычные сети связи, такие как проводная или беспроводная телекоммуникационная инфраструктура, могут быть полностью или частично отключены.
Транзакционные системы, использующие стандарты EMV, будут поддерживать офлайновые транзакции между платежной картой или устройством и терминалом, даже когда терминал не находится на связи с основной транзакционной системой. Такие транзакции очевидно имеют дополнительный риск, поскольку службы управления рисками, предоставляемые основной транзакционной системой, являются недоступными, и такой финансовый риск накапливается со временем и числом транзакций. Является строго предпочтительным требовать от терминалов и устройств оплаты осуществлять онлайн-соединение с основной транзакционной системой достаточно регулярно, чтобы управлять этим финансовым риском. Это требование, однако, трудно осуществлять для традиционной транзакционной карты.
Сущность изобретения
В первом аспекте изобретение предоставляет способ установления защищенного канала для связи между первым вычислительным устройством и вторым вычислительным устройством с использованием протокола Диффи-Хеллмана на основе эллиптических кривых, в котором G является порождающей точкой эллиптической кривой, и первое вычислительное устройство имеет уникальный секретный ключ dc с общедоступным ключом Qc=dc G, сертифицированным участником, которому доверяет второе вычислительное устройство, способ содержит этапы, на которых: первое вычислительное устройство генерирует коэффициент r ослепления и отправляет ослепленный общедоступный ключ R=r⋅Qc во второе вычислительное устройство; второе вычислительное устройство генерирует кратковременный секретный ключ dt и соответствующий общедоступный ключ Qt=dt G и отправляет Qt в первое вычислительное устройство; при этом первое вычислительное устройство генерирует Kc=KDF(r dc⋅Qt), а второе вычислительное устройство генерирует Kt=KDF(dt⋅R), где KDF является функцией выработки ключа, используемой в обеих операциях генерирования, чтобы устанавливать защищенный канал между первым вычислительным устройством и вторым вычислительным устройством; при этом G является точкой в группе E эллиптической кривой, при этом E является группой простого порядка, а E* является квадратичным кручением E и является группой порядка m=z⋅m', где m' является простым числом, а z является целым числом; при этом r⋅dc выбирается так, что r⋅dc является кратным z.
С использованием такого подхода потенциальная атака на защищенный канал предотвращается посредством определения того, что в ином случае будет характерной уязвимостью определенного свойства системы, как будет обсуждено ниже.
В некоторых вариантах осуществления r является кратным z. В других вариантах осуществления z=z1⋅z2, при этом z1 и z2 являются целыми числами, и r является кратным z1, а dc является кратным z2.
В вариантах осуществления G является точкой на эллиптической кривой NIST P-256. Этот подход может, однако, применяться к другим эллиптическим кривым.
Второе вычислительное устройство может отправлять свой кратковременный общедоступный ключ Qt в первое вычислительное устройство перед приемом ослепленного общедоступного ключа R от первого вычислительного устройства.
В вариантах осуществления первое вычислительное устройство отправляет ослепленный общедоступный ключ R и зашифрованный коэффициент r ослепления во второе вычислительное устройство. Первое вычислительное устройство может отправлять зашифрованный сертификат общедоступного ключа для общедоступного ключа Qc карты с зашифрованным коэффициентом r ослепления.
Во втором аспекте изобретение предоставляет вычислительное устройство, содержащее процессор и память и выполненное с возможностью выполнять этапы способа первого аспекта, который изложен выше, когда выполняется посредством первого вычислительного устройства.
Это вычислительное устройство может быть пассивным устройством с внешним питанием, и в вариантах осуществления может быть платежной картой.
В третьем аспекте изобретение предоставляет вычислительное устройство, содержащее процессор и память и выполненное с возможностью выполнять этапы способа первого аспекта, который изложен выше, когда выполняется посредством второго вычислительного устройства.
Это вычислительное устройство может быть терминалом транзакционной системы.
Краткое описание чертежей
Варианты осуществления изобретения сейчас будут описаны, в качестве примера, со ссылкой на сопутствующие чертежи, на которых:
Фиг. 1 показывает элементы платежной инфраструктуры, в которой варианты осуществления изобретения могут быть использованы;
Фиг. 2 показывает в схематичной форме платежную карту, приспособленную для использования в качестве устройства оплаты в вариантах осуществления изобретения;
Фиг. 3 показывает в схематичной форме терминал, приспособленный для использования в вариантах осуществления изобретения;
Фиг. 4 показывает общую форму транзакционного взаимодействия между платежной картой на фиг. 2 и терминалом на фиг. 3 в платежной инфраструктуре на фиг. 1; и
Фиг. 5 показывает в общих чертах ослепленный протокол Диффи-Хеллмана для генерировании ключа, чтобы устанавливать защищенный канал, используемый в вариантах осуществления изобретения.
Описание конкретных вариантов осуществления
Конкретные варианты осуществления изобретения будут описаны ниже со ссылкой на чертежи. Основной вариант осуществления, описанный ниже, относится к платежной карте, используемой в качестве устройства оплаты для бесконтактных платежей с терминалами POI (точки взаимодействия) (такими как POS - точка продажи - терминал) по протоколам EMV, указанным выше. Как обсуждается дополнительно ниже, дополнительные варианты осуществления могут быть использованы в других технических контекстах.
Пользователь (не показан) снабжается устройством оплаты в форме платежной карты 1 - в то время как платежная карта 1 является лишь типом устройства оплаты, показанным здесь, другие устройства оплаты (такие как трубка мобильного телефона с установленным приложением оплаты) могут быть использованы вместо этого. Платежная карта 1 содержит микросхему 3 с процессором и памятью. Микросхема 3 здесь приспособлена для контакта с терминалом 4, чтобы предоставлять возможность следования протоколам контактной карты, таким как протоколы определенные в ISO/IEC 7816. Эта платежная карта 1 также имеет магнитную полосу 9, чтобы предоставлять возможность выполнения транзакции с использованием протоколов магнитной полосы. Платежная карта 1 может также содержать антенну и ассоциированные аппаратные средства и программное обеспечение, чтобы предоставлять возможность связи с терминалом по NFC и ассоциированным протоколам бесконтактной карты, таким как протоколы, определенные в ISO/IEC 14443.
Другое компьютерное оборудование в инфраструктуре типично является неподвижным, такое как терминалы 4 точки взаимодействия (POI), показанным примером которых является терминал точки продажи (POS), используемый продавцом, взаимодействующим с пользователем. POS-терминал 4 взаимодействует с платежной картой 1 через считыватель карты (не показан отдельно от POS-терминала 4). POS-терминал 4 продавца является подключаемым к банку-эквайеру 6 или другой системе защищенным способом (либо через выделенный канал, либо посредством механизма защищенной связи по общедоступному или небезопасному каналу). Как обсуждается ниже, в вариантах осуществления этого изобретения это соединение между POS-терминалом продавца и банком-эквайером 6 является прерывистым. Посредством контактных выводов или иным образом платежная карта 1 может аналогично прерывистым образом приводиться в соединение с банком-эмитентом 5 карты или системой, ассоциированной с пользователем.
Банковская инфраструктура 7 соединяет эмитента 5 карты и банк-эквайер 6, предоставляя возможность выполнения транзакций между ними. Эта банковская инфраструктура будет типично предоставлена поставщиком транзакционной карты, который предоставляет услуги для транзакционной карты банку-эмитенту 5 карты. Банковская инфраструктура 7 обеспечивает авторизацию во время покупки, чистоту транзакции и сверку данных типично в течение одного рабочего дня, и проведение платежей вскоре после этого. Банковская инфраструктура 7 содержит множество коммутаторов, серверов и баз данных и не описывается дополнительно здесь, поскольку детали используемой банковской инфраструктуры не являются необходимыми для понимания того, как варианты осуществления изобретения функционируют и могут быть реализованы.
Фиг. 2 иллюстрирует функциональные признаки платежной карты 21 для использования в вариантах осуществления изобретения более подробно. Как указано выше, варианты осуществления изобретения могут быть использованы с другими устройствами оплаты, но вариант осуществления, описанный подробно ниже, относится к платежной карте 21 с ограниченной криптографической способностью.
Фиг. 2 показывает схематично соответствующие части характерной архитектуры аппаратных средств и программного обеспечения для транзакционной карты, такой как платежная карта 21 (в частности, платежная карта EMV), подходящей для реализации варианта осуществления изобретения. Платежная карта 21 содержит прикладной процессор 23, одно или более запоминающих устройств 24, ассоциированных с прикладным процессором, и NFC-контроллер 26. Платежная карта 21 оснащается контактной площадкой 211 для контактных транзакций с использованием протоколов контактной карты, таких как ISO/IEC 7816, а также содержит антенну 212, соединенную с NFC-контроллером 26, чтобы предоставлять возможность транзакций по протоколам бесконтактной карты, таким как протоколы, определенные в ISO/IEC 14443.
В показанной конфигурации прикладной процессор 23 и ассоциированные запоминающие устройства 24 содержат (показаны в процессорном пространстве, но с кодом и данными, сохраненными в запоминающих устройствах) транзакционное приложение 201. Прикладной процессор 23 предоставляет NFC-приложение 207, которое взаимодействует с NFC-контроллером 26. Транзакция может быть выполнена через интерфейс контактной карты, интерфейс бесконтактной карты или любой другой канал связи, доступный карте для связи с терминалом (либо общего назначения, либо специализированный).
Платежная карта 21 является приспособленной для криптографической обработки, хотя эти способности могут быть ограничены заданным форм-фактором карты. В этом варианте осуществления это показано как функция 25 криптографической обработки, предоставляемая в прикладном процессоре 23 и ассоциированных запоминающих устройствах 24, но это может быть реализовано посредством физически отдельного элемента (который физически и/или локально защищен от вмешательства или замены) или может быть объединено в основной области обработки, но логически защищено от замены. В варианте осуществления, описанном ниже, функция 25 криптографической обработки обладает одной парой из секретного и общедоступного ключей, используемой для идентификации карты - секретный ключ является уникальным для карты, а его соответствующий общедоступный ключ сертифицируется эмитентом 5 карты. Соответствующий общедоступный ключ эмитента карты может быть сертифицирован поставщиком транзакционной инфраструктуры 7 или от его имени, устанавливая полную цепочку доверия для транзакционной инфраструктуры - это может быть проверено терминалом 31, обладающим общедоступным ключом транзакционной инфраструктуры. Функция криптографической обработки может хранить несколько пар криптографических ключей и может выполнять криптографические операции, такие как вычисления, чтобы устанавливать ключ сеанса, но нехватка для нее вычислительной мощности будет сказываться на ее возможностях. Например, в то время как карта может генерировать новые пары ключей, генерирование подписи и хеширование являются требовательными в вычислительном отношении - в результате будет сложно создать новую пару ключей и подписать общедоступный ключ, чтобы его можно было проверить с помощью сертифицированного общедоступного ключа.
Фиг. 3 иллюстрирует функциональные признаки терминала для использования в вариантах осуществления изобретения более подробно. Терминал 31 имеет процессор 32 и ассоциированные запоминающие устройства 33. Основной функцией терминала в показанном случае заключается в работе в качестве точки взаимодействия (POI) с финансовой системой - такой терминал может быть терминалом точки продажи (POS) или банкоматом (ATM), например. В других вариантах осуществления терминал может иметь совсем другую функцию (например, терминал системы безопасности для оценки регистрационных данных пользователя). В показанном случае терминал 31 имеет операционную систему 34 и транзакционное программное обеспечение 35 (они могут быть предоставлены вместе в одном блоке кода, или могут быть разделены на множество различных компонентов, но представляются здесь как два элемента для удобства). Операционная система 34 управляет аппаратными ресурсами и предоставляет общие службы для приложений, тогда как транзакционное программное обеспечение 35 выполняет основную функцию терминала и может быть предоставлено (например) как одно или более приложений. Терминал 31 будет, в целом, иметь защищенный канал 36 с другим участником, таким как банк-эквайер (это может, например, быть выполнено по сети общего пользования посредством использования шифрования) - варианты осуществления изобретения имеют конкретное значение в ситуациях, когда этот защищенный канал 36 является лишь время от времени доступным для терминала 31. Терминал 31 будет также иметь средство для выполнения соединения с устройством, таким как транзакционная карта. В таком случае, терминал имеет контактный считыватель 37 карты и NFC-контроллер 38 и антенну 381, чтобы предоставлять возможность бесконтактного соединения карты для бесконтактной карты, или устройство, такое как мобильный телефон с функцией NFC, приспособленный для действия в качестве посредника для бесконтактной карты. Терминал 31 может иметь дополнительные порты 39, чтобы предоставлять возможность предоставления данных ему из других источников (например, посредством USB-накопителя). Транзакции могут быть организованы через контактный считыватель 37 карты или через NFC-контроллер 38 или фактически любое другое подходящее локальное соединение.
Терминал 31 имеет способность выполнять криптографические операции, включающие в себя генерирование новых пар ключей. В то время как (как отмечено выше со ссылкой на обсуждение транзакционной карты) это может, в принципе, быть обеспечено внутри или за пределами основного операционного окружения, это обеспечивается здесь посредством модуля 390 защиты в терминале, содержащего криптографический процессор 391 и память 392. Как и в случае карты, терминал может иметь пару из секретного и общедоступного ключа, чтобы идентифицировать его (и может иметь аналогичную цепочку доверия, заканчивающуюся на поставщике транзакционной инфраструктуры), но он также приспособлен для генерирования новых общедоступных и секретных ключей и, в частности, кратковременных пар ключей для использования в сеансах терминала.
Этапы в типичном сеансе между платежной картой 21 и терминалом 31 иллюстрируются на фиг. 4 - эти этапы являются типичными для протоколов EMV реализации транзакции и не определяют настоящее изобретение, а скорее предоставляют контекст, в котором варианты осуществления изобретения могут быть использованы.
Первым этапом является установление соединения 400 обмена данными между картой 21 и терминалом 31 - это может быть выполнено через контакты ("микросхема и PIN-код"), в таком случае протоколы взаимодействия руководствуются ISO/IEC 7816, или бесконтактным образом посредством беспроводной связи малого радиуса действия, в таком случае протоколы взаимодействия руководствуются ISO/IEC 14443. Подходящее приложение (может присутствовать множество приложений) на карте 21 выбирается 410 для транзакции, и обработка приложения инициируется 420 с помощью терминала 31, предоставляющего запрошенные данные карте, и карта предоставляет данные, релевантные ее состоянию. Терминал 31 проверяет 430 какие-либо ограничения обработки из данных карты. Офлайновая аутентификация данных с использованием криптографии с общедоступным ключом затем используется, чтобы подтверждать действительность 440 карты с этой криптографической способностью, а также устанавливать защищенный канал между картой 21 и терминалом 31. Проверка 450 держателя карты (например, через ввод PIN-кода в терминале для контактной карты) может затем иметь место, чтобы оценивать, является ли человек, управляющий картой, законным держателем карты. Терминал может затем оценивать, является ли необходимой онлайн-аутентификация, и предоставляет 460 результат этого действия карте. Карта затем генерирует 470 криптограмму (тип криптограммы зависит от результата типа авторизации, предоставленного терминалом) и отправляет ее терминалу. Если онлайн-авторизация является необходимой, криптограмма отправляется вместе с данными транзакции через транзакционную инфраструктуру эмитенту для авторизации 480, при этом результат авторизации (возможно также предоставляющий данные, возвращаемые от эмитента для карты) возвращается терминалу 31, ведя к окончательному одобрению или отказу транзакции 490.
Варианты осуществления настоящего изобретения относятся к установлению защищенного канала между платежной картой 21 и терминалом 31. Текущие реализации протоколов EMV используют криптографию с общедоступным ключом RSA с криптографией с симметричным ключом на основе DES и AES для установления защищенных соединений. Будущие протоколы EMV заменят RSA на ECC (криптографию на основе эллиптических кривых) - это было предопределено в EMVCo Request for Comments в 2102 году (найдено по ссылке http://www.emvco.com/specifcations.aspx?id=243) и проанализировано подробно у Бржаски и пр. "An analysis of the EMV channel establishment protocol" ACM Conference on Computer and Communications Security - ACM CCS 2013, 373-386, 2013 г. и дополнительно у Н. Смарта, "Questions on the EMV Key Agreement Protocol", найденном по ссылке https://www.emvco.com/specifications.aspx?id=285.
Предложенная схема использует обмен ключами Диффи-Хеллмана для установления защищенного канала, но с ECC вместо RSA. Возможные эллиптические кривые для использования с этой моделью включают в себя P-256 и P-521 - другие потенциальные варианты эллиптических кривых будут хорошо понятны специалисту в области техники. В то время как другие формы кривой P-256 являются известными, конкретный пример, обсужденный ниже, является одобренной NIST P-256, иногда известной как NIST P-256. Цифровые подписи для сертификатов общедоступных ключей могут быть сгенерированы посредством одного из множества различных алгоритмов цифровой подписи на основе эллиптических кривых, таких как алгоритмы, указанные в ISO/IEC 14888. EC-SDSA (цифровая подпись на основе алгоритма формирования подписей Шнорра) является одним подходящим вариантом - хеширование может быть выполнено с помощью SHA-2 или SHA-3 (или другого подходящего набора хеш-функций). Точки в группе эллиптических кривых могут быть представлены с использованием лишь x-координаты.
В вариантах осуществления терминал является приспособленным для выполнения всех необходимых функций для любого подходящего аутентифицированного протокола Диффи-Хеллмана, а карта (с гораздо более ограниченной способностью обработки) -нет. В протоколе Диффи-Хеллмана каждый участник либо использует существующую пару ключей, либо генерирует новую пару ключей и обменивается общедоступными ключами, с разделенным секретом, установленным посредством использования собственного секретного ключа каждого участника в сочетании с общедоступным ключом другого участника - общий механизм Диффи-Хеллмана будет знаком специалисту в области техники. Чтобы обеспечивать дополнительную защиту для статической пары ключей карты, в вариантах осуществления, к которым относится настоящее изобретение, случайный коэффициент ослепления ("слепое шифрование") используется картой, чтобы обеспечивать дополнительную защиту для этой пары ключей. Протокол, получающийся в результате, может быть назван ослепленным протоколом Диффи-Хеллмана на основе эллиптических кривых.
Этапы в ослепленном протоколе Диффи-Хеллмана на основе эллиптических кривых, когда используется в вариантах осуществления изобретения, иллюстрируются на фиг. 5. В обсуждении, которое следует, эллиптическая пара ключей содержит секретный ключ d и общедоступный ключ Q, где общедоступный ключ Q получается в результате выполнения d раз порождающей точки G группы эллиптических кривых. Карта имеет статическую пару ключей dc, Qc, тогда как терминал имеет способность создавать новые краткосрочные (кратковременные) пары ключей.
Терминал генерирует кратковременную пару ключей dt, Qt и отправляет Qt карте (этап 510). Карта генерирует ослепление r (оно может быть любого размера, который считается подходящим для достижения необходимой вычислительной эффективности и защиты - для обсуждаемых вариантов осуществления, оно может быть, например 32 байта) и затем вычисляет ослепленный общедоступный ключ R=r⋅Qc (этап 520). Карта использует функцию выработки ключа, чтобы определять ключ Kc карты для защищенного канала (этап 530), так что Kc=KDF (rdc⋅Qt). Карта затем отправляет R открытым текстом с r, сертификаты общедоступного ключа и необязательно дополнительные данные D, зашифрованные с помощью Kc (этап 540), терминалу. Терминал получает ключ Kt терминала для защищенного канала (этап 550), так что Kt=KDF(dt⋅R), а также проверяет сертификаты и что R=r⋅Qc (этап 560). Защищенный канал теперь устанавливается для передачи данных в обоих направлениях.
В конфигурации, показанной на фиг. 5, первое действие предпринимается терминалом. В вариантах осуществления изобретения карта может брать на себя первый этап (ослепления общедоступного ключа и отправки его терминалу), в таком случае эквивалентные функции выполняются, но с помощью терминала, берущего на себя первый этап выработки и отправки результата карте, которая берет на себя второй этап выработки. Специалист в области техники будет иметь возможность конструировать этот подход без труда.
Для того, чтобы канал был действительно защищенным, он должен быть устойчивым к атакам, которые могут вероятно быть выполнены против него. Одной известной формой атаки против криптографических схем на основе эллиптических кривых является использование квадратичного кручения. Природа квадратичного кручения и ассоциированная атака кручением кратко описываются ниже, хотя специалист в области алгебраической геометрии поймет природу квадратичного кручения. Потенциальные атаки кручением и другие атаки небольших подгрупп обсуждаются, например, по ссылке https://safecurves.cr.yp.to/twist.html.
Группа E эллиптической кривой является набором точек (решений) в поле K:
E={(x,y): y2=f(x)=x3+ax+b}
Для кривой P-256, обсуждаемой в качестве примера здесь, f(x) является fp256(x) со значениями a и b, которые известны для кривой P-256, обсуждаемой, например, по ссылке http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf. Поле является 256-битным простым полем, определенным посредством P-256.
Установленным результатом в алгебраической геометрии является то, что эллиптическая кривая E, определенная по полю K, имеет ассоциированное квадратичное кручение, которое является другой эллиптической кривой E*, которая может быть определена для кривой P-256 как:
E*={(x,y): y2=-fp256(x) }
Для любого значения x, где fp256(x) является ненулевым, следующее является справедливым:
fp256(x) является квадратом, и, таким образом, x имеет две соответствующие точки (x, y) в E, или
fp256(x) не является квадратом, и, таким образом, x не имеет соответствующие точки в E, но имеет соответствующие (две) точки (x, y) в E*.
Это является существенным, поскольку, в то время как E является группой простого порядка, E* (по меньшей мере, в случае P-256) -нет. Она имеет небольшие подгруппы и, следовательно, подвергается атакам небольших подгрупп. В случае P-256, E* является группой порядка m=34905m' для 240-битного простого числа m'. 34905 имеет небольшие простые множители (3, 5, 13 и 179) -в целях этой спецификации, это произведение небольших простых множителей порядка группы квадратичного кручения будет описано в качестве "коэффициента кручения" для P-256, при этом другие эллиптические кривые потенциально имеют другие коэффициенты кручения (содержащие другой набор простых множителей). Атака небольших подгрупп на карте может работать следующим образом. Атакующий может выбирать x1, соответствующее точке Q1 на кручении в подгруппе размером 13, и отправлять x1 карте. В обычной конфигурации Диффи-Хеллмана карта будет затем вычислять dcQ1 - которая будет другой точкой в подгруппе размером 13. Атакующему предоставляется информация, которая значительно ограничивает варианты выбора, и здесь он будет способен определять dc mod 13, после того как карта ответила аутентифицированным зашифрованным сообщением с использованием ключа, полученного из dcQ1.
Традиционный подход к защите от атаки небольших подгрупп является вычислительным - релевантный участник может утверждать, что принятый x1 соответствует точке в E (или не точке в небольшой подгруппе для E*). В таком случае, принимающим участником будет карта. Это вычисление является относительно сложным и не может быть выполнено быстро и эффективно картой.
В вариантах осуществления изобретения отличительные признаки ослепленного протокола ECDH, как описано выше, используются с тем, чтобы предоставлять дополнительную пользу эффективной защиты от атак квадратичного кручения. Этот подход должен гарантировать, что произведение коэффициента r ослепления и секретного ключа dc карты имеет коэффициент кручения в качестве множителя. Если это выполняется, тогда коэффициент кручения является предварительно существующей характеристикой системы, и атакующий не добывает новую информацию посредством атаки небольших подгрупп.
Этот подход является гораздо менее обременительным в вычислительном плане и, таким образом, может быть выполнен гораздо более эффективно картой. Простейший подход должен гарантировать, что коэффициент r ослепления сам является делимым на коэффициент кручения. Более тонким подходом является распределение простых делителей коэффициента кручения между коэффициентом r ослепления и секретным ключом dc карты. Это вновь сделает коэффициент кручения преднамеренно множителем произведения секретных ключей и коэффициента ослепления, означая, что он является предварительно определенной характеристикой системы без новой информации, добываемой посредством атаки небольшой подгруппы.
Значение коэффициента кручения, равное 34905, применяется к эллиптической кривой NIST P-256. Другие семейства эллиптических кривых будут иметь различные коэффициенты кручения для своего квадратичного кручения - как для примера NIST P-256 выше, коэффициент ослепления может быть кратным коэффициенту кручения для квадратичного кручения, либо его простые множители могут быть распределены между коэффициентом ослепления и секретным ключом dc карты.
Как обсуждалось выше, в конфигурации, показанной на фиг. 5, первое действие предпринимается терминалом, но в альтернативных вариантах осуществления карта может предпринимать первый этап ослепления общедоступного ключа и отправки его терминалу с эквивалентными функциями, выполняемыми после этого. Как поймет специалист в области техники, защита от атаки небольших подгрупп с использованием квадратичного кручения может быть обеспечена с использованием именно того же подхода задания коэффициента кручения в качестве множителя произведения коэффициента кручения и секретного ключа dc карты.
Как поймет специалист в области техники, дополнительные варианты осуществления могут быть придуманы согласно духу и рамкам изобретения, которые изложены выше. В то время как это изобретение было описано в конкретном контексте установления защищенного канала между платежной картой и терминалом, реализующего протокол EMV, специалист в области техники поймет, что, в более общем смысле, оно является применимым к любой конфигурации, в которой защищенный канал должен быть установлен с использованием криптографии на основе эллиптических кривых между устройством, подходящим для создания новых пар ключей, и устройством, которое имеет ценный секретный ключ статической пары ключей. Такая конфигурация с ослеплением общедоступного ключа и защитой от атаки квадратичного кручения может существовать в других прикладных задачах, использующих пассивные карты, метки или эквивалентные устройства (например, в системе управления доступом, где такие устройства используются для установления личности носящего в защищенном окружении).
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ПОЛУЧЕНИЯ ИЛИ ПРИОБРЕТЕНИЯ УСЛУГИ, ПРЕДЛАГАЕМОЙ ЧЕРЕЗ ИНФОРМАЦИОННУЮ СЕТЬ | 2002 |
|
RU2296367C2 |
СИСТЕМА УПРАВЛЕНИЯ POS-ТЕРМИНАЛЬНОЙ СЕТИ | 2017 |
|
RU2681372C1 |
СПОСОБ ПЕРЕДАЧИ РАСШИРЕННОГО НАБОРА ДАННЫХ ОТ БЕСКОНТАКТНОГО ПЛАТЕЖНОГО УСТРОЙСТВА К ТЕРМИНАЛУ | 2017 |
|
RU2696885C2 |
СПОСОБ ХРАНЕНИЯ И ИСПОЛЬЗОВАНИЯ КРИПТОГРАФИЧЕСКОГО КЛЮЧА | 2008 |
|
RU2417410C2 |
МЕХАНИЗМ, ПОЗВОЛЯЮЩИЙ ИСПОЛЬЗОВАТЬ ОДНОРАЗОВЫЕ КАРТЫ В СИСТЕМЕ, ПРЕДНАЗНАЧЕННОЙ ДЛЯ ПРИЕМА КАРТ СОГЛАСНО СТАНДАРТАМ МЕЖДУНАРОДНОЙ ИНДУСТРИИ ПЛАТЕЖЕЙ | 2013 |
|
RU2635233C2 |
СИСТЕМА И СПОСОБ ЗАЩИТЫ ИНФОРМАЦИИ | 2018 |
|
RU2719423C1 |
ОБРАБОТКА ЗАЩИЩЕННЫХ УДАЛЕННЫХ ПЛАТЕЖНЫХ ТРАНЗАКЦИЙ | 2014 |
|
RU2674329C2 |
СПОСОБЫ БЕЗОПАСНОГО ГЕНЕРИРОВАНИЯ КРИПТОГРАММ | 2015 |
|
RU2710897C2 |
Система и способ организации NFC-платежей | 2022 |
|
RU2820419C1 |
ОБРАБОТКА ПЕРЕКЛЮЧЕНИЯ ШИФРОВАНИЯ | 2010 |
|
RU2547621C2 |
Изобретение относится к вычислительной технике. Технический результат заключается в предоставлении эффективной защиты от атак квадратичного скручивания. Способ установления защищенного канала для связи между устройством оплаты и терминальным устройством с использованием протокола Диффи-Хеллмана на основе эллиптических кривых, в котором G является порождающей точкой эллиптической кривой и устройство оплаты имеет уникальный секретный ключ dc с общедоступным ключом Qc=dcG, сертифицированным участником, которому доверяет терминальное устройство, при этом способ содержит этапы, на которых посредством устройства оплаты генерируют коэффициент r ослепления и отправляют ослепленный общедоступный ключ R=r⋅Qc в терминальное устройство; посредством терминального устройства генерируют кратковременный секретный ключ dt и соответствующий кратковременный общедоступный ключ Qt=dtG и отправляют Qt в устройство оплаты. 3 н. и 16 з.п. ф-лы, 5 ил.
1. Способ установления защищенного канала для связи между устройством оплаты и терминальным устройством с использованием протокола Диффи-Хеллмана на основе эллиптических кривых, в котором G является порождающей точкой эллиптической кривой и устройство оплаты имеет уникальный секретный ключ dc с общедоступным ключом Qc=dcG, сертифицированным участником, которому доверяет терминальное устройство, при этом способ содержит этапы, на которых:
посредством устройства оплаты генерируют коэффициент r ослепления и отправляют ослепленный общедоступный ключ R=r⋅Qc в терминальное устройство;
посредством терминального устройства генерируют кратковременный секретный ключ dt и соответствующий кратковременный общедоступный ключ Qt=dtG и отправляют Qt в устройство оплаты;
при этом устройство оплаты генерирует Kc=KDF(rdc⋅Qt), а терминальное устройство генерирует Kt=KDF(dt⋅R), где KDF является функцией выработки ключа, используемой в обеих операциях генерирования, чтобы устанавливать защищенный канал между устройством оплаты и терминальным устройством;
при этом G является точкой в группе E эллиптической кривой, причем E является группой простого порядка, а E* является квадратичным кручением E и является группой порядка m=z⋅m', где m' является простым числом, а z является целым числом;
при этом r⋅dc выбирается так, что r⋅dc является кратным z.
2. Способ по п.1, в котором r является кратным z.
3. Способ по п.1, в котором z=z1⋅z2, при этом z1 и z2 являются целыми числами и r является кратным z1, а dc является кратным z2.
4. Способ по п.1, в котором G является точкой на эллиптической кривой NIST P-256.
5. Способ по п.1, в котором терминальное устройство отправляет свой кратковременный общедоступный ключ Qt в устройство оплаты перед приемом ослепленного общедоступного ключа R от устройства оплаты.
6. Способ по п.1, в котором устройство оплаты отправляет ослепленный общедоступный ключ R и зашифрованный коэффициент r ослепления в терминальное устройство.
7. Способ по п.6, в котором устройство оплаты отправляет зашифрованный сертификат общедоступного ключа для общедоступного ключа Qc карты с зашифрованным коэффициентом r ослепления.
8. Устройство оплаты, содержащее процессор и память и выполненное с возможностью устанавливать защищенный канал для связи между устройством оплаты и терминальным устройством с использованием протокола Диффи-Хеллмана на основе эллиптических кривых, в котором G является порождающей точкой эллиптической кривой и устройство оплаты имеет уникальный секретный ключ dc с общедоступным ключом Qc=dcG, сертифицированным участником, которому доверяет терминальное устройство, посредством:
генерирования коэффициента r ослепления и отправки ослепленного общедоступного ключа R=r⋅Qc в терминальное устройство;
приема кратковременного секретного ключа dt и соответствующего кратковременного общедоступного ключа Qt=dtG, сгенерированных терминальным устройством;
генерирования Kc=KDF(rdc⋅Qt), в то время как терминальное устройство генерирует Kt=KDF(dt⋅R), где KDF является функцией выработки ключа, используемой в обеих операциях генерирования, чтобы устанавливать защищенный канал между устройством оплаты и терминальным устройством;
при этом G является точкой в группе E эллиптической кривой, причем E является группой простого порядка, а E* является квадратичным кручением E и является группой порядка m=z⋅m', где m' является простым числом, а z является целым числом;
при этом r⋅dc выбирается так, что r⋅dc является кратным z.
9. Устройство оплаты по п.8, при этом устройство оплаты является пассивным устройством с внешним питанием.
10. Устройство оплаты по п.8, при этом z=z1⋅z2, причем z1 и z2 являются целыми числами и r является кратным z1, а dc является кратным z2.
11. Устройство оплаты по п.8, при этом устройство оплаты дополнительно выполнено с возможностью отправлять ослепленный общедоступный ключ R и зашифрованный коэффициент r ослепления в терминальное устройство.
12. Устройство оплаты по п.8, при этом устройство оплаты дополнительно выполнено с возможностью отправлять зашифрованный сертификат общедоступного ключа для общедоступного ключа Qc карты с зашифрованным коэффициентом r ослепления.
13. Устройство оплаты по п.8, при этом r является кратным z.
14. Устройство оплаты по п.8, при этом устройство оплаты является платежной картой.
15. Терминальное устройство, содержащее процессор и память и выполненное с возможностью устанавливать защищенный канал для связи между устройством оплаты и терминальным устройством с использованием протокола Диффи-Хеллмана на основе эллиптических кривых, в котором G является порождающей точкой эллиптической кривой и устройство оплаты имеет уникальный секретный ключ dc с общедоступным ключом Qc=dcG, сертифицированным участником, которому доверяет терминальное устройство, посредством:
приема ослепленного общедоступного ключа R=r⋅Qc от устройства оплаты, которое сгенерировало коэффициент r ослепления;
генерирования кратковременного секретного ключа dt и соответствующего кратковременного общедоступного ключа Qt=dtG и отправки Qt в устройство оплаты;
в то время как устройство оплаты генерирует Kc=KDF(rdc⋅Qt), генерирования Kt=KDF(dt⋅R), где KDF является функцией выработки ключа, используемой в обеих операциях генерирования, чтобы устанавливать защищенный канал между устройством оплаты и терминальным устройством;
при этом G является точкой в группе E эллиптической кривой, причем E является группой простого порядка, а E* является квадратичным кручением E и является группой порядка m=z⋅m', где m' является простым числом, а z является целым числом;
при этом r⋅dc выбирается так, что r⋅dc является кратным z.
16. Терминальное устройство по п.15, при этом r является кратным z.
17. Терминальное устройство по п.15, при этом z=z1⋅z2, причем z1 и z2 являются целыми числами и r является кратным z1, а dc является кратным z2.
18. Терминальное устройство по п.15, при этом терминальное устройство дополнительно выполнено с возможностью отправлять свой кратковременный общедоступный ключ Qt в устройство оплаты перед приемом ослепленного общедоступного ключа R от устройства оплаты.
19. Терминальное устройство по п.15, при этом терминальное устройство является терминалом транзакционной системы.
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
КРИПТОГРАФИЯ НА ЭЛЛИПТИЧЕСКОЙ КРИВОЙ | 2010 |
|
RU2520379C2 |
Авторы
Даты
2020-03-31—Публикация
2017-07-14—Подача