RU2713873C1 - System for remote loading of a set of keys into a smart terminal - Google Patents

System for remote loading of a set of keys into a smart terminal Download PDF

Info

Publication number
RU2713873C1
RU2713873C1 RU2019130885A RU2019130885A RU2713873C1 RU 2713873 C1 RU2713873 C1 RU 2713873C1 RU 2019130885 A RU2019130885 A RU 2019130885A RU 2019130885 A RU2019130885 A RU 2019130885A RU 2713873 C1 RU2713873 C1 RU 2713873C1
Authority
RU
Russia
Prior art keywords
key
module
certificate
keys
working module
Prior art date
Application number
RU2019130885A
Other languages
Russian (ru)
Inventor
Игорь Владимирович Воронин
Денис Георгиевич Видякин
Original Assignee
Общество с ограниченной ответственностью "ЭВОТОР"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "ЭВОТОР" filed Critical Общество с ограниченной ответственностью "ЭВОТОР"
Priority to RU2019130885A priority Critical patent/RU2713873C1/en
Application granted granted Critical
Publication of RU2713873C1 publication Critical patent/RU2713873C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Abstract

FIELD: computer equipment.
SUBSTANCE: system includes hardware for loading keys into a smart terminal, which contains a working module, which generates a request to receive a certificate. Request is received by the server of the service provider over a secure communication channel, where a certificate is generated. Certificate is stored in the service provider database and sent to the working module. Working module forms a request to the service provider server, where a random secret key for the working module is generated and is encrypted with a random public key. In the key distribution module, the random public key is encrypted with the working module certificate. Secret key is signed. Working module receives a response from the service provider server, performs a request to the service provider server to provide a set of symmetric keys for use in the operation of the working module. Service provider server, through the key distribution module, generates a set of random keys and sends them to the working module with an encrypted private key. Working module receives a set of random keys, decrypts them, during verification, transfers the received set of keys to the operating mode and uses these keys to perform transactions.
EFFECT: technical result is to improve the security level of smart terminals.
1 cl, 5 dwg

Description

Область техникиTechnical field

Предлагаемое изобретение относится к техническому решению, которое используется в финансовой области для проведения платежей по пластиковым картам и техническим средствам бесконтактной оплаты, в частности, изобретение может быть применено на смарт-терминалах в области наземного торгового эквайринга, где используется EFT POS-терминал.The present invention relates to a technical solution that is used in the financial field to make payments by plastic cards and contactless payment devices, in particular, the invention can be applied to smart terminals in the field of ground-based merchant acquiring where an EFT POS terminal is used.

Уровень техникиState of the art

Из уровня техники известно множество систем загрузки ключей шифрования в исполнительные модули, используемые в системах передачи сообщений или данных, а также при осуществлении транзакций. В частности, из уровня техники известны система и способ дистанционной загрузки ключей банкомата (см., например, US 8019084 В1, опубл. 13.09.2011). В данных технических решениях используется банкомат, способный отправлять сообщение на сервер банка, которое включает в себя данные, представляющие запрос на передачу зашифрованного главного ключа терминала с сервера банка в банкомат. Процессор шифрования (ЕРР) банкомата дешифрует принятый зашифрованный главный ключ терминала с использованием алгоритма асимметричного шифрования с первым личным асимметричным ключом, ранее сохраненным в (ЕРР). ЕРР действует для сохранения главного ключа терминала в ЕРР для использования при расшифровке дополнительного ключа, полученного от сервера банка. Известные система и способ раскрывают общие принципы использования криптографического шифрования данных. Данное техническое решение основано на хранении двух сертификатов, которые далее используются для подтверждения подлинности отправителя и получателя.The prior art there are many systems for downloading encryption keys in the Executive modules used in message or data transmission systems, as well as in transactions. In particular, the prior art system and method for remotely loading ATM keys (see, for example, US 8019084 B1, publ. 13.09.2011). These technical solutions use an ATM capable of sending a message to the bank server, which includes data representing a request to transfer the encrypted master key of the terminal from the bank server to the ATM. The ATM encryption processor (EPP) decrypts the received encrypted master key of the terminal using an asymmetric encryption algorithm with the first personal asymmetric key previously stored in (EPP). EPP is used to save the main key of the terminal in EPP for use when decrypting the additional key received from the bank server. The known system and method disclose general principles for using cryptographic data encryption. This technical solution is based on the storage of two certificates, which are then used to confirm the authenticity of the sender and recipient.

Подобный алгоритм, используемый в известной системе, не позволяет достаточно надежно защитить канал передачи данных от несанкционированного вмешательства, поскольку уровень технического оснащения, которым обладают злоумышленники постоянно повышается и, соответственно, не исключается возможность осуществления доступа к информации о сертификатах и секретных ключах.A similar algorithm used in the known system does not allow sufficiently reliable protection of the data transmission channel from unauthorized interference, since the level of technical equipment possessed by attackers is constantly increasing and, accordingly, the possibility of accessing information about certificates and private keys is not ruled out.

Также широко известна схема, при которой вся иерархия ключей, необходимых для авторизации, начинает раскручиваться с первичного ключа KLK (Key loading key).Also widely known is the scheme in which the entire hierarchy of keys required for authorization begins to spin up with the primary key KLK (Key loading key).

Этот ключ является фундаментом обеспечения безопасности и к его вводу в устройство предъявляются особые требования.This key is the foundation of security and special requirements are imposed on its entry into the device.

Обычная схема подразумевает генерацию 2 и более компонент KLK которые распечатываются на специальных конвертахThe usual scheme involves the generation of 2 or more KLK components that are printed on special envelopes

(подобно пин-конвертам карт).(like pin-card envelopes).

Далее данные из этих конвертов должны быть введены в устройство уполномоченным персоналом (офицерами безопасности).Further, the data from these envelopes should be entered into the device by authorized personnel (security officers).

Причем требуется, чтобы каждая компонента вводилась отдельным офицером. Недопустимо чтобы один человек вводил более одной компоненты.Moreover, it is required that each component is introduced by a separate officer. It is not permissible for one person to administer more than one component.

Кроме того, предъявляются специальные требования к помещению, где производится ввод ключей (видеоконтроль, контроль доступа и тд.)In addition, there are special requirements for the room where the keys are entered (video control, access control, etc.)

Примеры реализации оборудования, в частности смарт-терминала, раскрыты в полезной модели RU 190099, опубл. 18.06.2019.Examples of the implementation of equipment, in particular a smart terminal, are disclosed in the utility model RU 190099, publ. 06/18/2019.

Так, согласно патенту RU 190099 смарт-терминал содержит ударопрочный пластиковый корпус изогнутой формы в виде объемной и уплощенной частей, поверхности которых наклонены и плавно переходят друг в друга, в котором расположены связанные между собой дисплей с сенсорной панелью, установленный в корпусе ниже его плоской поверхности с образованием вокруг дисплея защитного пластикового бортика, печатный блок, расположенный в верхней части смарт-терминала над указанным дисплеем, съемный фискальный накопитель и блок питания в виде съемных аккумуляторных батарей, расположенные в нижней части корпуса в отсеке с крышкой, зафиксированной на корпусе двумя защелками, вычислительный модуль, коммуникационный блок для подключения внешних устройств и расположенные на боковых сторонах корпуса кнопки включения/выключения и громкости, а на переднем торце - динамик и микрофон в виде группы отверстий малого диаметра, отличающийся тем, что он снабжен блоком обмена данными с банковскими картами, связанным с вычислительным модулем разъемным соединением и выполненным с возможностью обработки данных от контактных, бесконтактных банковских карт и карт с магнитной полосой, при этом в объемной части корпуса расположен печатный блок, который содержит крышку с рычагом, лоток для кассовой ленты, печатающую головку и прижимной ролик для перемещения кассовой ленты, установленный на верхней части крышки изнутри, модуль для приема бесконтактных банковских карт, встроенный в корпус и размещенный вокруг указанного лотка печатного блока, модуль для приема банковских карт с магнитной полосой, выполненный в виде прорези, выходящей на верхнюю и боковые стороны корпуса и расположенный между печатным блоком и дисплеем с сенсорной панелью, кнопка включения/выключения смарт-терминала, расположенная в левой боковой части корпуса, и видеокамера для сканирования штрих-кодов, расположенная в центре нижней стороны этой части корпуса, и гайка, запрессованная ниже круглого объектива видеокамеры ближе к краю и предназначенная для крепления смарт-терминала на кронштейне в вертикальном положении, а в уплощенной части корпуса смарт-терминала расположены коммуникационный блок, выполненный в виде размещенных в левой боковой стороне корпуса разъема USB стандарта и разъема для внешнего источника питания, и продолговатые кнопки громкости и модуль для приема контактных банковских карт в виде щели, размещенные в правой боковой стороне корпуса.So, according to the patent RU 190099, the smart terminal contains a shockproof plastic case of curved shape in the form of volumetric and flattened parts, the surfaces of which are inclined and smoothly transition into each other, in which there are interconnected display with a touch panel installed in the case below its flat surface with the formation of a protective plastic rim around the display, a printing unit located in the upper part of the smart terminal above the indicated display, a removable fiscal drive and a power supply in the form of removable batteries batteries, located in the lower part of the case in the compartment with the cover fixed on the case with two latches, a computing module, a communication unit for connecting external devices and on / off and volume buttons located on the sides of the case, and a speaker and microphone in the front end a group of small diameter holes, characterized in that it is equipped with a data exchange unit with bank cards, connected to the computing module by a detachable connection and configured to process from contact, contactless bank cards and cards with a magnetic stripe, while in the bulk of the case there is a printing unit that contains a cover with a lever, a cash drawer tray, a print head and a pressure roller for moving the cash register mounted on the top of the cover from the inside , a module for receiving contactless bank cards, built into the housing and placed around the indicated tray of the printing unit, a module for receiving bank cards with a magnetic strip, made in the form of a slot facing the top and the sides of the case and located between the printing unit and the display with the touch panel, a smart terminal on / off button located on the left side of the case, and a barcode scanning camera located in the center of the lower side of this case, and a nut, pressed below the round lens of the camcorder closer to the edge and designed to mount the smart terminal on the bracket in an upright position, and in the flattened part of the smart terminal housing there is a communication unit made first in the form placed on the left side of the USB connector housing and standard connector for external power supply, and elongated volume buttons and a module for receiving a pin bank cards in the form of slots placed on the right side of the body.

Раскрытие изобретенияDisclosure of Invention

Предлагаемое решение позволяет исключить ручной ввод ключа (KLK) (или по тексту описания (KLK)) в устройство (СМ), представляющее собой рабочий модуль. Ключ KLK может быть загружен безопасным образом в любом месте без привлечения офицеров безопасности.The proposed solution allows to exclude the manual key input (KLK) (or according to the description text (KLK)) into the device (CM), which is a working module. The KLK key can be downloaded securely anywhere without the involvement of security officers.

Таким образом, техническим результатом изобретения является повышение уровня безопасности смарт-терминалов (предотвращение несанкционированного доступа к зашифрованной информации, транслируемой с или на смарт-терминал), использующих заявленную систему загрузки криптографических ключей для проведения транзакций.Thus, the technical result of the invention is to increase the security level of smart terminals (preventing unauthorized access to encrypted information broadcast from or to a smart terminal) using the claimed cryptographic key download system for transactions.

Заявленный технический результат достигается тем, что система удаленной загрузки комплекта криптографических ключей в смарт-терминал, предназначенная для проведения финансовых операций по пластиковым картам и техническим средствам бесконтактной оплаты, включает этапы, на которых при производстве смарт-терминала в его конструкцию вводят рабочий модуль (СМ), выполненный с возможностью генерирования уникальной случайной пары ключей в момент производства, состоящей из публичного ключа (Pub_DEV) и секретного ключа (Priv_DEV), который никогда не передается и хранится в рабочем модуле (СМ), при этом на начальном этапе инициирования при производстве рабочий модуль (СМ) генерирует упомянутую случайную пару ключей (Pub_DEV, Priv_DEV), далее рабочий модуль (СМ) генерирует цифровой запрос (Certificate Sign Request - CSR) на получение сертификата с удаленного сервера безопасности через доверенный канал связи. Сервер безопасности принимает запрос от производителя терминала по доверенному защищенному каналу связи и генерирует уникальный сертификат рабочего модуля (СМ) - (Crt_DEV) для поступившего запроса с использованием аппаратного модуля безопасности (HSM) и секретного ключа сервера (KRD), данный сертификат сохраняется в базе данных поставщика услуг на удаленном сервере и отправляется на рабочий модуль (СМ), который осуществляет процедуру проверки полученного сертификата и его сохранения в энергонезависимой флэш-памяти при подтверждении, что сертификат является подлинным. После генерации сертификата рабочего модуля (СМ), сертификат (Crt_DEV) устанавливается в терминал и передается клиенту.The claimed technical result is achieved by the fact that the system for remotely loading a set of cryptographic keys into a smart terminal, designed for financial transactions using plastic cards and contactless payment devices, includes the steps in which a work module is introduced into the design of a smart terminal (SM ), made with the possibility of generating a unique random key pair at the time of production, consisting of a public key (Pub_DEV) and a secret key (Priv_DEV), which never is transmitted and stored in the working module (CM), at the same time at the initial stage of initiation during production, the working module (CM) generates the mentioned random key pair (Pub_DEV, Priv_DEV), then the working module (CM) generates a digital request (Certificate Sign Request - CSR) to receive a certificate from a remote security server through a trusted communication channel. The security server receives a request from the terminal manufacturer via a trusted secure communication channel and generates a unique certificate of the working module (CM) - (Crt_DEV) for the incoming request using the hardware security module (HSM) and the server’s secret key (KRD), this certificate is stored in the database service provider on a remote server and sent to a working module (CM), which performs the procedure of checking the received certificate and saving it in non-volatile flash memory when confirming that the certificate fikat is authentic. After generating the certificate of the working module (CM), the certificate (Crt_DEV) is installed in the terminal and transmitted to the client.

Клиенту необходимо получить и загрузить в рабочий модуль (СМ) свой уникальный симметричный секретный ключ (KLK). Для этого рабочий модуль (СМ) формирует запрос с указанием своего серийного номера и случайного числа (RND). Сервер безопасности поставщика услуг формирует секретный ключ (KLK) с использованием аппаратного модуля безопасности (HSM) и шифрует его временным ключом. Временный ключ шифруется публичным сертификатом (Crt_DEV), который извлекается из базы данных (БД) сервера поставщика сертификатов. Шифрованный временный ключ совместно с RND подписываются ключом распространения (KDH) (секретный ключ, используемый сервером). Все операции у поставщика выполняются с использованием (HSM).The client needs to receive and load his unique symmetric secret key (KLK) into the working module (CM). For this, the working module (CM) generates a request indicating its serial number and random number (RND). The service provider's security server generates a secret key (KLK) using a hardware security module (HSM) and encrypts it with a temporary key. The temporary key is encrypted with a public certificate (Crt_DEV), which is extracted from the database of the server of the certificate provider. The encrypted temporary key, together with the RND, is signed by the distribution key (KDH) (the secret key used by the server). All vendor operations are performed using (HSM).

Получив ответ с секретным ключом (KLK) от сервера безопасности поставщика рабочий модуль (СМ) проверяет подпись ответа на основании сертификата ключа (KDH), который встроен в рабочий модуль (СМ), расшифровывает ответ с помощью своего секретного ключа (Priv_DEV), Если все проверки прошли успешно - принятый секретный ключ (KLK) сохраняется внутри рабочего модуля (СМ).After receiving a response with a secret key (KLK) from the supplier’s security server, the work module (CM) verifies the signature of the response on the basis of the key certificate (KDH), which is built into the work module (CM), decrypts the response with its private key (Priv_DEV), if all checks were successful - the received secret key (KLK) is stored inside the working module (CM).

После получения секретного ключа (KLK) рабочим модулем (СМ) осуществляется запрос на сервер поставщика услуг о предоставлении комплекта симметричных ключей для использования в работе рабочего модуля (СМ), сервер поставщика услуг формирует комплект случайных ключей и отправляет их в рабочий модуль (СМ) шифрованными секретным ключом (KLK), рабочий модуль (СМ) принимает комплект случайных ключей, расшифровывает их секретным ключом (KLK) и отправляет проверочные значения ключей на сервер распространения ключей (KDH), который осуществляет процедуру сравнения проверочного значения ключей со своими и при совпадении отправляет подтверждение на рабочий модуль (СМ), который переводит принятый комплект ключей в рабочий режим и использует эти ключи для проведения транзакций.After receiving the secret key (KLK) by the working module (CM), a request is made to the service provider's server to provide a set of symmetric keys for use in the work of the working module (SM), the service provider's server generates a set of random keys and sends them encrypted to the work module (CM) secret key (KLK), the working module (CM) receives a set of random keys, decrypts them with a secret key (KLK) and sends the key verification values to the key distribution server (KDH), which implements the procedure alignment test value keys with their concurrence and sends a confirmation to the operating module (SM), which translates the received set of keys in the operating mode and uses these keys to perform the transaction.

Краткое описание чертежейBrief Description of the Drawings

На Фиг. 1 схематично приведено взаимодействие смарт-терминала и сервера Эвотор.In FIG. 1 schematically shows the interaction of the smart terminal and the Evotor server.

На Фиг. 2а-2г представлены этапы загрузки комплекта ключей в смарт-терминал.In FIG. 2a-2d show the steps of downloading a set of keys to a smart terminal.

Осуществление изобретенияThe implementation of the invention

Заявленная система реализована с применением аппаратно-технических средств, в качестве которых применены быстродействующие серверные устройства и удаленные устройства для проведения транзакций по пластиковым банковским картам, выполненные с возможностью:The claimed system is implemented using hardware and technical means, which are used as high-speed server devices and remote devices for conducting transactions on plastic bank cards, made with the possibility of:

- получения информации/запросов,- receiving information / requests,

- обработки и хранения полученной информации согласно заданному алгоритму обработки информации,- processing and storage of the received information according to a given information processing algorithm,

- осуществления передачи информации и данных по защищенному каналу связи с использованием алгоритмов шифрования.- the transfer of information and data over a secure communication channel using encryption algorithms.

Причем удаленные устройства представляют собой смарт-терминалы, каждый из которых оснащен модулем памяти, рабочим модулем (СМ), модулем питания, процессорным модулем обработки информации и модулем получения и передачи информации по радиоканалу.Moreover, the remote devices are smart terminals, each of which is equipped with a memory module, a working module (SM), a power module, a processor module for processing information and a module for receiving and transmitting information over the air.

Быстродействующие серверные устройства, представляют собой удаленные от смарт-терминалов системы, с крипто процессорами, предназначенными для создания и защиты криптографических ключей, а также с процессорным блоком или блоками обработки запросов/данных, блоками памяти и модулями передачи и приема данных от удаленных устройств (по проводному и беспроводному каналу передачи данных).High-speed server devices are systems that are remote from smart terminals, with crypto processors designed to create and protect cryptographic keys, as well as with a processor unit or request / data processing units, memory units, and modules for transmitting and receiving data from remote devices (by wired and wireless data channel).

Архитектура заявленной системы включает взаимодействие смарт-терминала и сервера поставщика услуг (сервер Эвотор) по защищенному каналу связи. При взаимодействии используется алгоритм загрузки ключей согласно представленной в описании схеме.The architecture of the claimed system includes the interaction of a smart terminal and a server of a service provider (Evotor server) over a secure communication channel. During the interaction, the key loading algorithm is used according to the scheme presented in the description.

Вся работа по приему и обработке данных по карточным транзакциям выполняется внутри модуля (СМ). Этот модуль вставляется в кассу Эвотор (фирменное наименование) на финальном этапе сбора кассы. Для работы модуля он должен быть инициализирован. Одним из первых шагов инициализации является генерация уникального ключа (СМ). Генерация уникальной пары ключей выполняется внутри (СМ) на последнем этапе производства - когда выполнена сборка рабочего модуля (СМ) и проведены все тесты работоспособности.All work on receiving and processing data on card transactions is carried out inside the module (SM). This module is inserted into the Evotor box office (company name) at the final stage of the box office collection. For the module to work, it must be initialized. One of the first steps of initialization is the generation of a unique key (CM). The generation of a unique key pair is performed internally (SM) at the last stage of production - when the working module (SM) is assembled and all performance tests are performed.

Под Эвотор подразумевается сервер компании со специализированным программным обеспечением (ПО), подключенный к базе данных (БД) компании, на который поступают запросы на генерацию сертификатов от рабочих модулей (СМ), находящихся на финальном этапе производственного цикла. Под Эвотор 5i подразумевается смарт-терминал (касса).By Evotor is meant a company server with specialized software (software) connected to the company database (DB), to which requests for generating certificates from working modules (SM), which are at the final stage of the production cycle, are received. By Evotor 5i is meant a smart terminal (cash desk).

Сервер на основе запроса от рабочего модуля (СМ) генерирует сертификат для модуля, а также сохраняет сертификат во внутренней БД компании Эвотор для дальнейшего использования. Решение используется в финансовой области для проведения платежей по пластиковым картам.The server, based on a request from the working module (CM), generates a certificate for the module, and also stores the certificate in the internal database of the Evotor company for future use. The solution is used in the financial field for plastic card payments.

Конечная цель проекта - обеспечить прием карт на кассе Эвотор 5i (смарт-терминал компании Эвотор).The ultimate goal of the project is to provide card acceptance at the Evotor 5i cash desk (Evotor smart terminal).

Заявленная система осуществляет действия, следуя рекомендациям протокола:The claimed system carries out actions, following the recommendations of the protocol:

«Х9 TR34-2012 Interoperable Method for Distribution of Symmetric Keys using Asymmetric Techniques:, Registered with American National Standards Institute Date Registered: August 28, 2012.»“X9 TR34-2012 Interoperable Method for Distribution of Symmetric Keys using Asymmetric Techniques :, Registered with American National Standards Institute Date Registered: August 28, 2012.”

Недостатком схемы является повышенные требования к оборудованию, однако использованный в Эвотор 5i процессор Мах32560 обеспечивает необходимую производительность для работы с криптографией на публичных ключах.The disadvantage of this scheme is the increased requirements for equipment, however, the Max32560 processor used in the Evotor 5i provides the necessary performance for working with cryptography on public keys.

При этом решение можно использовать с любым смарт-терминалом, так как во всех POS EFT терминалах используется криптографический процессор/контроллер на базе архитектуры ARM (https://ru.wikipedia.org/wiki/ARM_(%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0)Moreover, the solution can be used with any smart terminal, since all POS EFT terminals use a cryptographic processor / controller based on the ARM architecture (https://ru.wikipedia.org/wiki/ARM_(%D0%B0%D1%80 % D1% 85% D0% B8% D1% 82% D0% B5% D0% BA% D1% 82% D1% 83% D1% 80% D0% B0)

Например: https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m3.For example: https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m3.

Для использования решения, разработанного для Эвотор 5i, потребуется загрузка ПО на новую платформу. Для работы решения требуется хост, поддерживающий команды обмена ключами в диалекте Эвотор 5i. В состав хоста входит модуль HSM, который используется для хранения ключей и выполнения криптографических операций протокола безопасным образом.To use the solution developed for the Evotor 5i, you will need to download the software to the new platform. The solution requires a host that supports key exchange commands in the Evotor 5i dialect. The host includes the HSM module, which is used to store keys and perform cryptographic protocol operations in a secure manner.

Для того, чтобы можно было принимать карты и вводить пин-код в рабочий модуль (СМ) необходимо загрузить в него комплект криптографических ключей для обеспечения безопасности связи в соответствии с требованиями стандарта PCI DSS (https://www.pcisecuritystandards.org/pci_security/maintaining_payment_security).In order to be able to accept cards and enter a PIN code into a working module (CM), it is necessary to load a set of cryptographic keys into it to ensure communication security in accordance with the requirements of the PCI DSS standard (https://www.pcisecuritystandards.org/pci_security/ maintaining_payment_security).

Обычно вся иерархия ключей, необходимых для авторизации, начинает раскручиваться с первичного ключа KLK (Key loading key). Этот ключ является фундаментом обеспечения безопасности и к его вводу в устройство предъявляются особые требования. Обычная схема, как было указано ранее, подразумевает генерацию 2-х и более компонент KLK которые распечатываются на специальных конвертах (подобно пин-конвертам карт). Далее данные из этих конвертов должны быть введены в устройство уполномоченным персоналом (офицерами безопасности). Настоящее изобретение исключает использование конвертов и позволяет удаленным образом загружать комплект криптографических ключей в смарт-терминал.Usually, the entire hierarchy of keys required for authorization begins to spin up with the primary key KLK (Key loading key). This key is the foundation of security and special requirements are imposed on its entry into the device. The usual scheme, as mentioned earlier, involves the generation of 2 or more KLK components that are printed on special envelopes (like pin-envelopes of cards). Further, the data from these envelopes should be entered into the device by authorized personnel (security officers). The present invention eliminates the use of envelopes and allows you to remotely download a set of cryptographic keys into a smart terminal.

На производстве каждый модуль (СМ) генерирует внутри себя уникальную случайную пару ключей RSA длиной 2048 бит.Через защищенный канал связи (СМ) отправляет запрос на генерацию сертификата в Эвотор. Эвотор принимает запрос на генерацию сертификата по доверенному каналу и генерирует сертификат для поступившего запроса внутри HSM (Hardware secure module) с использованием секретного ключа KRD Эвотор. Созданный сертификат отправляется в (СМ), который проверяет поступивший сертификат и сохраняет его внутри себя для дальнейшего использования. Для загрузки нового комплекта симметричных ключей (СМ) формирует запрос на KDH (Key distribution host) Эвотор с указанием своего серийного номера и случайного числа RND. KDH Эвотор формирует случайный KLK (Key load key) для СМ и шифрует его случайным временным ключем. KDH шифрует временный ключ сертификатом (СМ) (получаемым из локальной БД Эвотор), подписывает ключем KDH совместно с RND и отправляет ответ на (СМ), который проверяет подпись KDH на основе встроенного в ПО сертификата KDH, выполняет остальные проверки (к примеру - защита от повтора ответа). Если подпись верна - на Private части ключа (СМ) расшифровывает ответ и извлекает временный ключ. С использованием временного ключа расшифровывается KLK, созданный в KDH для этого (СМ). Далее (СМ) запрашивает у KDH Эвотор все остальные симметричные ключи, необходимые ему для работы. KDH Эвотор формирует комплект случайных ключей и отправляет их в (СМ), шифрованными на KLK. (СМ) принимает комплект ключей, расшифровывает их на сохраненном KLK и отправляет проверочные значения ключей на KDH. KDH сравнивает принятые от (СМ) проверочные значения комплекта ключей со своими и в случае совпадения отправляет подтверждение на (СМ). (СМ) переводит принятый комплект ключей в рабочий режим и использует эти ключи для проведения транзакций (шифрование ПИН, сообщений и тд.)In production, each module (SM) generates within itself a unique random RSA key pair with a length of 2048 bits. A secure communication channel (SM) sends a certificate generation request to Evotor. Evotor accepts a request for certificate generation via a trusted channel and generates a certificate for an incoming request inside the HSM (Hardware secure module) using the KRD Evotor secret key. The created certificate is sent to (CM), which checks the received certificate and stores it inside for future use. To download a new set of symmetric keys (CM), a request for KDH (Key distribution host) Evotor is generated, indicating its serial number and a random number of RNDs. KDH Evotor generates a random KLK (Key load key) for the CM and encrypts it with a random temporary key. KDH encrypts the temporary key with a certificate (CM) (obtained from the local Evotor database), signs with the KDH key together with RND and sends a response to (CM), which verifies the KDH signature based on the KDH certificate embedded in the software, and performs other checks (for example, protection from repetition of the answer). If the signature is correct - on the Private part of the key (CM) decrypts the response and extracts the temporary key. Using the temporary key, the KLK created in KDH for this (CM) is decrypted. Further (SM) requests from KDH Evotor all other symmetric keys necessary for it to work. KDH Evotor generates a set of random keys and sends them to (CM), encrypted on KLK. (CM) accepts a set of keys, decrypts them on a stored KLK and sends the key verification values to KDH. KDH compares the verification values of the set of keys received from (SM) with its own and, in case of coincidence, sends a confirmation to (CM). (SM) puts the accepted set of keys into operational mode and uses these keys for transactions (encryption of PINs, messages, etc.)

Для более наглядной иллюстрации алгоритма заявленного способа на фиг. 2а-2г приведена последовательность операций по загрузке ключей.To more clearly illustrate the algorithm of the claimed method in FIG. 2a-2d show the sequence of operations for loading keys.

Фиг 2а: Генерация уникального ключа на производствеFig 2a: Production of a unique key in production

- (СМ) создает пару ключей модуля. Эти ключи уникальны для каждого модуля. Prvate часть никогда не покидает пределов CV.- (CM) creates a module key pair. These keys are unique to each module. The prvate part never leaves the limits of CV.

- (СМ) создает Certificate Sign Request (CSR) по доверенному каналу отправляет его на хост Эвотор.- (CM) creates a Certificate Sign Request (CSR) on a trusted channel, sends it to the Evotor host.

- Сервер Эвотор выполняет подпись CSR ключом Priv_KRD с использованием криптографического модуля (HSM - hardware security module) и формирует сертификат устройства.- The Evotor server performs the CSR signature with the Priv_KRD key using the cryptographic module (HSM - hardware security module) and generates a device certificate.

- Этот сертификат сохраняется в БД Эвотор, а также отправляется на (СМ).- This certificate is stored in the Evotor database, and is also sent to (SM).

- (СМ) проверяет, что сертификат соответствует CSR и сохраняет его у себя в энергонезависимой флэш-памяти.- (CM) verifies that the certificate is CSR compliant and stores it in its non-volatile flash memory.

Фиг. 2б: Команды от Эвотор на (СМ)FIG. 2b: Teams from Evotor on (SM)

- В процессе жизнедеятельности модуля он получает команды от Эвотор. Эти команды предназначены для перевода модуля в рабочее состояние после обнаружения попыток несанкционированного доступа или сбоя железа (например, разряжена батарейка). (СМ) периодически (например, один раз в день) опрашивает Эвотор - есть ли для него какие-либо команды. При наличии команд (СМ) считывает и выполняет их.- During the life of the module, he receives commands from Evotor. These commands are designed to bring the module into working condition after detecting attempts of unauthorized access or failure of iron (for example, the battery is exhausted). (SM) periodically (for example, once a day) Evotor asks whether there are any commands for him. In the presence of commands (SM) reads and executes them.

- Для безопасной передачи команд Эвотор генерирует уникальный ключ, шифрует им команду и отправляет их на СМ. Каждая команда шифруется своим уникальным ключом и имеет метку времени. Таким образом повтор или подделка команд невозможна.- For the safe transfer of commands, Evotor generates a unique key, encrypts the command to them and sends them to the CM. Each command is encrypted with its unique key and has a time stamp. Therefore, it is not possible to repeat or fake commands.

Фиг. 2в: Первичная установка ключа шифрования ключей (KLK)FIG. 2c: Initial installation of a key encryption key (KLK)

- На основе созданной на шаге 1 пары ключей СМ формирует запрос на загрузку KLK в Эвотор.- Based on the key pair created in step 1, the CM generates a request to download KLK to Evotor.

- Эвотор проверяет валидность (достоверность) запроса от модуля, проверяет статус модуля по внутренней БД и если все хорошо, генерирует ключ KLK для (СМ)- Evotor checks the validity (reliability) of the request from the module, checks the status of the module against the internal database, and if all is well, generates a KLK key for (CM)

- Далее Эвотор генерирует сессионный симметричный ключ и шифрует им KLK. Сессионный же ключ в свою очередь шифруется публичным сертификатом (СМ), получаемым из БД. Кроме того на ответ формируется подпись на private ключе KDH.- Further, Evotor generates a session symmetric key and encrypts it with KLK. The session key, in turn, is encrypted with a public certificate (CM) received from the database. In addition to the response, a signature is generated on the KDH private key.

- (СМ) принимает ответ от Эвотор и на основании public ключа KDH проверяет подпись ответа. Публичный ключ KDH встроен в ПО СМ и не может быть изменен.- (CM) receives a response from Evotor and on the basis of the public key KDH checks the signature of the response. The KDH public key is built into the CM software and cannot be changed.

- Если подпись совпала - (СМ) расшифровывает сессионный ключ своим private ключом и далее с помощью сессионного ключа извлекает KLK и сохраняет KLK внутри себя.- If the signature matches - (SM) decrypts the session key with its private key and then with the help of the session key it extracts the KLK and stores the KLK inside itself.

Фиг. 2г: Получение и смена комплекта ключейFIG. 2g: Receiving and changing a set of keys

- После того, как в (СМ) установлен KLK происходит первичное получение или обновление комплекта симметричных ключей для работы (СМ). Для этого (СМ) отправляет запрос в Эвотор с проверочным значением ключа KLK1.- After KLK is installed in (CM), the primary receipt or update of a set of symmetric keys for operation (SM) is performed. To do this (CM) sends a request to Evotor with the verification key value KLK1.

- БД эвотор на основании проверочного значения понимает, какой комплект ключей следует выслать на (СМ). При необходимости генерируется новый комплект. В этот новый комплект входит ключ KLK2. Все ключи комплекта шифруются под KLK2. Сам KLK2 шифруется под KLK1.- Based on the verification value, the evotor database understands which set of keys should be sent to (SM). If necessary, a new kit is generated. This new kit includes the KLK2 key. All kit keys are encrypted under KLK2. KLK2 itself is encrypted under KLK1.

- (СМ) принимает криптограммы ключей, расшифровывает их, формирует временный набор ключей, вычисляет проверочные значения для ключей из временного набора и отправляет их в Эвотор.- (SM) accepts the cryptograms of the keys, decrypts them, generates a temporary set of keys, calculates the verification values for the keys from the temporary set and sends them to Evotor.

- Эвотор принимает проверочные значения ключей из временного комплекта и сравнивает их со значениями, что были вычислены в момент генерации комплекта. Если значения совпали - считается что ключи были доставлены до (СМ) без искажений и Эвотор отправляет команду на перевод комплекта ключей из временных в постоянные.- Evotor accepts the test key values from the temporary set and compares them with the values that were calculated at the time the set was generated. If the values match, it is believed that the keys were delivered to (CM) without distortion and Evotor sends a command to transfer the set of keys from temporary to permanent.

Claims (1)

Система удаленной загрузки комплекта криптографических ключей в смарт-терминал, предназначенная для проведения финансовых операций по пластиковым картам и техническим средствам бесконтактной оплаты, включает совокупность аппаратно-технических средств, позволяющих осуществлять этапы, на которых при производстве смарт-терминала в его конструкцию вводят рабочий модуль (СМ), выполненный с возможностью генерирования уникальной случайной пары ключей в момент производства, состоящей из публичного ключа (Pub_DEV) и секретного ключа (Priv_DEV), который никогда не передается и хранится в рабочем модуле (СМ), при этом на начальном этапе инициирования при производстве рабочий модуль (СМ) генерирует упомянутую случайную пару ключей (Pub_DEV, Priv_DEV), далее рабочий модуль (СМ) генерирует цифровой запрос (CSR) на получение сертификата с удаленного сервера безопасности через доверенный канал связи, в свою очередь сервер безопасности принимает запрос от производителя терминала по доверенному защищенному каналу связи и генерирует уникальный сертификат рабочего модуля (СМ) - сертификат (Crt_DEV) для поступившего запроса с использованием аппаратного модуля безопасности (HSM) и секретного ключа сервера (KRD), данный сертификат сохраняется в базе данных поставщика услуг на удаленном сервере и отправляется на рабочий модуль (СМ), который осуществляет процедуру проверки полученного сертификата и его сохранения в энергонезависимой флэш-памяти при подтверждении, что сертификат является подлинным, после генерации сертификата рабочего модуля (СМ) сертификат (Crt_DEV) устанавливается в терминал, далее рабочий модуль (СМ) формирует запрос с указанием своего серийного номера и случайного числа (RND), сервер безопасности поставщика услуг формирует секретный ключ (KLK) с использованием аппаратного модуля безопасности (HSM) и шифрует его временным ключом, временный ключ шифруется сертификатом (Crt_DEV), который извлекается из базы данных (БД) сервера поставщика сертификатов, шифрованный временный ключ совместно с RND подписываются ключом распространения (KDH), при этом все операции у поставщика выполняются с использованием аппаратного модуля безопасности (HSM), получив ответ с секретным ключом (KLK) от сервера безопасности поставщика рабочий модуль (СМ) проверяет подпись ответа на основании сертификата ключа (KDH), который встроен в рабочий модуль (СМ), расшифровывает ответ с помощью своего секретного ключа (Priv_DEV), и если все проверки прошли успешно, принятый секретный ключ (KLK) сохраняется внутри рабочего модуля (СМ), после получения секретного ключа (KLK) рабочим модулем (СМ) осуществляется запрос на сервер поставщика услуг о предоставлении комплекта симметричных ключей для использования в работе рабочего модуля (СМ), сервер поставщика услуг формирует комплект случайных ключей и отправляет их в рабочий модуль (СМ) шифрованными секретным ключом (KLK), рабочий модуль (СМ) принимает комплект случайных ключей, расшифровывает их секретным ключом (KLK) и отправляет проверочные значения ключей на сервер распространения ключей (KDH), который осуществляет процедуру сравнения проверочного значения ключей со своими и при совпадении отправляет подтверждение на рабочий модуль (СМ), который переводит принятый комплект ключей в рабочий режим и использует эти ключи для проведения транзакций.The system for remotely downloading a set of cryptographic keys to a smart terminal, designed for financial transactions using plastic cards and contactless payment hardware, includes a combination of hardware and technical tools that allow you to carry out the steps during which a work module is introduced into its design in the construction of a smart terminal ( CM), configured to generate a unique random key pair at the time of production, consisting of a public key (Pub_DEV) and a secret key (Priv_DEV), cat The first one is never transmitted and stored in the work module (CM), while at the initial stage of initiation during production, the work module (CM) generates the mentioned random key pair (Pub_DEV, Priv_DEV), then the work module (CM) generates a digital request (CSR) to receiving a certificate from a remote security server through a trusted communication channel, in turn, the security server receives a request from the terminal manufacturer via a trusted secure communication channel and generates a unique certificate of the working module (CM) - certificate (Crt_DEV) for the post A failed request using a hardware security module (HSM) and a server secret key (KRD), this certificate is stored in the database of the service provider on the remote server and sent to the working module (CM), which performs the procedure of checking the received certificate and saving it in non-volatile flash -memory when confirming that the certificate is genuine, after generating the certificate of the working module (CM), the certificate (Crt_DEV) is installed in the terminal, then the working module (CM) generates a request indicating of its serial number and random number (RND), the service provider's security server generates a secret key (KLK) using a hardware security module (HSM) and encrypts it with a temporary key, the temporary key is encrypted with a certificate (Crt_DEV), which is extracted from the database (DB) the server of the certificate provider, the encrypted temporary key together with the RND are signed by the distribution key (KDH), while all operations with the provider are performed using the hardware security module (HSM), receiving a response with the secret key (KLK) from ser vendor security belief, the working module (CM) verifies the response signature on the basis of a key certificate (KDH), which is built into the working module (CM), decrypts the response with its private key (Priv_DEV), and if all checks are successful, the accepted secret key ( KLK) is stored inside the working module (CM), after the secret key (KLK) is received by the working module (CM), a request is made to the server of the service provider to provide a set of symmetric keys for use in the work of the working module (CM), the server of the service provider it encrypts a set of random keys and sends them to the working module (CM) with an encrypted secret key (KLK), the working module (CM) receives a set of random keys, decrypts them with a secret key (KLK) and sends the key verification values to the key distribution server (KDH), which carries out the procedure of comparing the verification value of the keys with its own and, if it matches, sends a confirmation to the working module (CM), which puts the accepted set of keys into working mode and uses these keys to conduct transactions.
RU2019130885A 2019-10-01 2019-10-01 System for remote loading of a set of keys into a smart terminal RU2713873C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2019130885A RU2713873C1 (en) 2019-10-01 2019-10-01 System for remote loading of a set of keys into a smart terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2019130885A RU2713873C1 (en) 2019-10-01 2019-10-01 System for remote loading of a set of keys into a smart terminal

Publications (1)

Publication Number Publication Date
RU2713873C1 true RU2713873C1 (en) 2020-02-07

Family

ID=69624958

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019130885A RU2713873C1 (en) 2019-10-01 2019-10-01 System for remote loading of a set of keys into a smart terminal

Country Status (1)

Country Link
RU (1) RU2713873C1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110137802A1 (en) * 2009-06-02 2011-06-09 Terence Spies Purchase transaction system with encrypted payment card data
US8019084B1 (en) * 2001-04-23 2011-09-13 Diebold, Incorporated Automated banking machine remote key load system and method
RU175018U1 (en) * 2016-08-18 2017-11-15 Миркасим Яхъяевич Арифуллин Payment terminal
WO2018002792A1 (en) * 2016-06-28 2018-01-04 Bancomat S.P.A. Electronic system of acquisition for transceiving banking data
RU2663476C2 (en) * 2013-09-20 2018-08-06 Виза Интернэшнл Сервис Ассосиэйшн Remote payment transactions protected processing, including authentication of consumers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019084B1 (en) * 2001-04-23 2011-09-13 Diebold, Incorporated Automated banking machine remote key load system and method
US20110137802A1 (en) * 2009-06-02 2011-06-09 Terence Spies Purchase transaction system with encrypted payment card data
RU2663476C2 (en) * 2013-09-20 2018-08-06 Виза Интернэшнл Сервис Ассосиэйшн Remote payment transactions protected processing, including authentication of consumers
WO2018002792A1 (en) * 2016-06-28 2018-01-04 Bancomat S.P.A. Electronic system of acquisition for transceiving banking data
RU175018U1 (en) * 2016-08-18 2017-11-15 Миркасим Яхъяевич Арифуллин Payment terminal

Similar Documents

Publication Publication Date Title
US8540146B2 (en) Automated banking machine that operates responsive to data bearing records
US7366903B1 (en) Card activated cash dispensing automated banking machine system and method
US7904713B1 (en) Card activated cash dispensing automated banking machine system and method
US6705517B1 (en) Automated banking machine system and method
US8090663B1 (en) Automated banking machine system and method
US7028191B2 (en) Trusted authorization device
CN103714639B (en) A kind of method and system that realize the operation of POS terminal security
US8302173B2 (en) Providing a user device with a set of access codes
CN106656488B (en) Key downloading method and device for POS terminal
EP3540671B1 (en) Systems and methods for software based encryption
WO2015161699A1 (en) Secure data interaction method and system
CN107786550B (en) A kind of safety communicating method of self-service device, safe communication system and self-service device
US20080208758A1 (en) Method and apparatus for secure transactions
CN1831865B (en) Electronic bank safety authorization system and method based on CPK
CN102013001B (en) Card reader with authentication function and authentication method thereof
CN101651675A (en) Method and system for enhancing security of network transactions
CN108337093A (en) POS terminal personal identification method, POS terminal and server
CN103401844A (en) Operation request processing method and system
WO2015161690A1 (en) Secure data interaction method and system
CN104579659A (en) Device for safety information interaction
CN104835038A (en) Networking payment device and networking payment method
RU2724793C1 (en) Method of remote loading a set of keys into a smart terminal
WO2011069325A1 (en) Method for verifying validity of personal identification number in proxy authorization business
US9224144B2 (en) Securing communications with a pin pad
RU2713873C1 (en) System for remote loading of a set of keys into a smart terminal