ОБЛАСТЬ ТЕХНИКИ
[0001] Заявленное техническое решение, в общем, относится к области кодирования и декодирования данных, а в частности к автоматизированным способам и системам токенизации номера банковских карт и детокенизации номера банковских карт.
УРОВЕНЬ ТЕХНИКИ
[0002] Одной из самых важных задач в информационной безопасности является защита конфиденциальных данных, которая является комплексной и довольно сложной. Организация эффективной защиты конфиденциальных данных в банковских системах, платежных приложениях, базах данных, устройств хранения и групп серверов сама по себе является непростой и еще больше усложняется при использовании разнородных систем.
[0003] Как правило, в случае с конфиденциальными данными рассматриваются разнообразные решения с использованием шифрования, но в последние годы заметен рост интереса к другой технологии - токенизации.
[0004] Должным образом реализованное шифрование является одним из наиболее эффективных средств обеспечения безопасности конфиденциальных данных. Оно позволяет обеспечить доступ к данным только авторизованным пользователям и защищает данные, как при хранении, так и при передаче. Но шифрование не единственный вариант защиты - есть и альтернативные методы. Причем иногда самым правильным решением будет не попытка защитить конфиденциальные данные шифрованием, а вообще отказаться от их передачи.
[0005] Токенизация как раз является технологией, которая предоставляет эту возможность - ее принцип заключается в подмене реальных конфиденциальных данных некими значениями - токенами. Токенизация в чем-то схожа с шифрованием - обе технологии занимаются маскированием реальных данных, но подход к этому процессу в корне отличается. В случае шифрования процесс сокрытия данных обратим при наличии правильного ключа. Любой человек, получив ключ шифрования, сможет восстановить исходные данные.
[0006] В случае с токенизацией, процесс не является обратимым, ведь вместо данных при токенизации используется токен, не несущий в себе никакой конфиденциальной информации или результатом ее криптопреобразования, и лишь логически связанный с реальными данными, которые хранятся в хорошо защищенной базе данных. При этом токен может иметь тот же формат (размер и структура), что и оригинальные данные, что позволяет минимизировать необходимость внесения изменений в работающие с ним приложения. Но при этом похищать токен бессмысленно, так как он не поможет получить никакие реальные конфиденциальные данные без доступа к системе токенизации.
[0007] Главное преимущество токенизации в том, что токены могут полноценно использоваться внутри среды их применения, но совершенно бесполезны вне ее. Токенизация идеально подходит для защиты конфиденциальных данных, таких как номера банковских карт, номера социального страхования, а также любых других данных, которые злоумышленники регулярно похищают с целью использования или продажи на "черном рынке". Если злоумышленникам не удастся взломать сам сервер токенизации, чтобы получить связанные с токенами реальные данные, то похищенные токены не дадут им ровным счетом никаких возможностей их использовать.
[0008] Повышение интереса к токенизации связано, прежде всего, с тем, что она позволяет обеспечить защиту данных при низкой нагрузке на системы организации. Добавление шифрования в системы - особенно в уже действующие - значительно увеличивает нагрузку на них. Внесение изменений в приложения для внедрения шифрования снижает производительность и увеличивает требования к разработчикам и администраторам систем. Кроме того, в случае использования разнородных систем, возникает необходимость шифрования, расшифрования и повторного шифрования данных в различных местах, что создает дополнительные уязвимости, которые могут быть использованы злоумышленниками. Причем, чем больше ключей используется в системе, тем больше возможностей для ее атаки. Работа с ключами особенно опасна, учитывая распространенность вредоносного программного обеспечения (далее - ПО) для перехвата данных непосредственно в оперативной памяти, которое позволяет получить доступ к ключам, даже не имея административных привилегий на зараженной машине.
[0009] Помимо минимизации требований к внесению изменений в используемые приложения, токенизация снижает риски для конфиденциальных данных. При правильной реализации приложения смогут использовать токены во всей системе и обращаться к защищенным конфиденциальным данным только в случае крайней необходимости.
Приложения могут хранить, использовать и совершать транзакции, оперируя только токеном и не подвергая реальные данные риску.
[0010] Например, одним из самых распространенных примеров использования токенизации является ее применение для платежей с использованием платежных карт. Использование токена вместо значения номера платежной карты позволяет провести отслеживание транзакции и ее выполнение без риска компрометации реальных данных карты. Доступ к реальному номеру понадобится только в контуре процессинга и при взаимодействии с платежными системами и другими участниками платежных систем. Ну а в том случае, если процессинговый центр также использует токенизацию, то возможно проведение внутренней транзакции вообще без использования реальных данных.
[0011] Из уровня техники известен патент US 10262128 В2 "Tokenized data security", патентообладатель: Sabre GLBL Inc, опубликовано: 06.02.2014. В данном решении описывается способ токенизации номера учетной записи пользователя для защиты от кибератак с использованием карты токенов.
[0012] Недостатком известного решения в данной области техники является недостаточная защищенность данных.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0013] В заявленном техническом решении предлагается новый подход в решении технической проблемы, заключающейся в более защищенном методе хранения данных банковских карт.
[0014] Техническим результатом, достигающимся при решении данной проблемы, является повышение эффективности защиты номеров банковских карт.
[0015] Указанный технический результат достигается благодаря осуществлению компьютерно-реализуемого способа токенизации номера банковской карты (PAN), выполняемый с помощью, по меньшей мере, одного процессора и содержащий этапы, на которых:
- получают PAN и осуществляют его разбиение на составляющие части: бин (BIN), состоящий из первых шести символов, маска (MASK), состоящая из четырех последних символов, и средняя часть (mPAN);
- определяют значение сдвига в таблице замен, при котором:
• вычисляют первое значение сдвига по таблице замен с помощью криптопреобразования конкатенированной строки значений BIN и MASK;
• вычисляют второе значение сдвига по таблице замен с помощью криптопреобразования mPAN;
• вычисляют суммарное значение сдвига путем сложения первого и второго значений сдвига;
- вычисляют индекс в таблице замен, с помощью нормализации суммарного значения сдвига по таблице замен, причем нормализация выполняется по размерности таблицы как остаток от деления смещения на количество строк таблицы, получая при этом искомый индекс в таблице замен;
- с помощью полученного индекса выбирают из таблицы замен токенизированную часть номера zPAN для замены mPAN;
- формируют токенизированный номер карты DPAN с помощью замены mPAN на zPAN, используя BIN и MASK полученного номера PAN.
[0016] В одном из частных вариантов реализации способа алгоритм криптопреобразования представляет собой алгоритм FF3.
[0017] Заявленное техническое решение осуществляется также за счет выполнения компьютерно-реализуемого способа детокенизации номера банковской карты (DPAN), полученного с помощью вышеуказанного способа, выполняемого с помощью, по меньшей мере, одного процессора и содержащего этапы, на которых:
- получают DPAN и осуществляют его разбиение на составляющие части: бин (BIN) состоящий из первых шести символов, маска (MASK), состоящая из четырех последних символов, и средняя часть (zPAN);
- определяют значение сдвига в таблице замен, при котором:
• вычисляют первое значение сдвига по таблице замен с помощью криптопреобразования строки значений BIN и MASK;
• вычисляют модуль первого значения сдвига по таблице замен путем разделения первого значения сдвига на размер таблицы сдвига;
• вычисляют индекс в таблице замен, путем поиска строки по полученному значению zPAN;
• вычисляют второе значения смещения в таблице замен на основе рассчитанного индекса, модуля первого значения и размерности таблицы;
- вычисляют mPAN с помощью обратного криптопреобразования от полученного второго значения смещения с использованием ключа шифрования, с помощью которого выполнялось преобразование PAN в DPAN;
- формируют значение PAN на основании полученного mPAN, а также значений BIN и MASK.
[0018] В одно из частных вариантов реализации способа алгоритм криптопреобразования представляет собой алгоритм FF3.
[0019] В другом частном варианте реализации способа если второе значение смещения отрицательное, то итеративно повторяют шаг его вычисления, инкрементировав модуль первого значения смещения на единицу.
[0020] Заявленное техническое решение также осуществляется с помощью компьютерной системы, которая содержит процессор и память, в которой хранятся машиночитаемые инструкции, выполняемые процессором для осуществления вышеуказанных способов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0021] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей.
[0022] Фиг. 1 иллюстрирует блок-схему способа токенизации номера банковской карты (PAN).
[0023] Фиг. 2 иллюстрирует блок-схему способа детокенизации номера банковской карты (DPAN).
[0024] Фиг. 3 иллюстрирует пример общего вида вычислительной системы, которая обеспечивает реализацию заявленного решения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0025] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.
[0026] Токенизация - процесс замены конфиденциального элемента данных на неконфиденциальный эквивалент, называемый токеном, который не имеет самостоятельного смысла/значения для внешнего или внутреннего использования.
[0027] Токен- ссылка (то есть идентификатор), которая сопоставляется с конфиденциальными данными через систему токенизации.
[0028] Детокенизация - обратный процесс получения значения PAN-кода по целевому токену.
[0029] PCI DSS (Payment Card Industry Digital Security Standard) - стандарт безопасности платежных карт.
[0030] PAN (Primary Account Number) - номер платежной карты.
[0031] DP AN (Digitized PAN) - токенизированный номер платежной карты.
[0032] BIN (Bank Identification Number) - идентификационный номер банка выпустившего карту.
[0033] MASK (Маска) - последние 4 символа карты, свободно использующиеся для печати на чеках и, совместно с BIN, идентификации карты в пределах одного клиента.
[0034] ЦОД - центр обработки данных.
[0035] PCI SSC (Payment Card Industry Security Standards Consul) - совет no стандартам безопасности платежных карт.
[0036] HSM (Hardware Security Module) - аппаратное решение для генерации ключей шифрования и выполнения криптопреобразований.
[0037] Алгоритм Луна (Luna Algorithm) - алгоритм определения валидности номера карты на основе десятичной целостности.
[0038] Данное техническое решение может быть реализовано на компьютере, в виде автоматизированной информационной системы (АИС) или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.
[0039] Техническое решение может быть реализовано в виде распределенной компьютерной системы.
[0040] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность вычислительных операций (действий, инструкций).
[0041] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[0042] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных, например таких устройств, как оперативно запоминающие устройства (ОЗУ) и/или постоянные запоминающие устройства (ПЗУ). В качестве ПЗУ могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, твердотельные накопители (SSD), оптические носители данных (CD, DVD, BD, MD и т.п.) и др.
[0043] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[0044] Посчитаем объем хранимых данных для всех карт, в теории существующих в индустрии: номера карт бывают от 13 до 19 символов и содержат практически все комбинации. Не будем учитывать алгоритм Луна и получим цифру около 10 000 Петабайт при условии 1 байт на номер карты:
[0045] Получаем недостижимый объем данных и хранить такое количество информации более чем избыточно. Даже если сократить неиспользуемые BIN, объем хранения не станет приемлемым.
[0046] Выходом может стать хранение не всех элементов карты, а только заменяемых фрагментов (кроме первых 6 и последних 4 символов). В этом случае формула будет другой:
[0047] Объем 1 Терабайт нужно еще умножить на длину хранимой строки в базе, т.е. длины самого PAN и необходимого индекса, примерно 30 байт. Итого получается 30 Тб.
[0048] Данный объем данных тоже является большим, но с таким объемом можно работать и провести его оптимизацию.
[0049] При замене одинаковых заменяемых фрагментов разных карт результаты замененных фрагментов также будут одинаковыми, что приведет к уязвимости реализации и постепенной накапливающейся компрометации карточных данных. И единичные случаи известности связки PAN-DPAN будут автоматически компрометировать массово тысячи других номеров карт.
[0050] Рассмотрим структуру номера карты. Номер карты (PAN) состоит из BIN (первые 6 символов), MASK (последние 4 символа) и оставшейся части, подлежащей токенизации. Назовем исходное значение этой части mPAN, токенизированное - zPAN.
[0051] Для того чтобы для разных комбинаций BIN ⋅ MASK (здесь и далее символ обозначает конкатенацию строк, а символ "+" арифметическую сумму) при одинаковых mPAN были разные zPAN, необходимо выборку из таблицы замены делать по некому алгоритму сдвига, гарантирующему отсутствие коллизий.
[0052] Рассмотрим таблицу замен на примере популярной длины карты = 16. Для выполнения вышеописанных требований к реализации по выбранной стратегии [3], таблица должна обеспечить замену 106 фрагментов PAN. Так как в заменяемых символах необходимо использовать шестнадцатеричные символы, но исключить комбинации, не содержащие шестнадцатеричные цифры (A-F), то длина таблицы замен будет 166 - 106, то есть 15,8 млн значений токенов для 10 млн исходных данных.
[0053] Задача состоит в определении индекса в таблице замены. Простой индекс, соответствующий порядку следования mPAN, позволит делать подбор номеров карт и токенов с таким же mPAN при других значениях BIN ⋅ MASK, что недопустимо.
[0054] Индекс со статическим сдвигом также позволит делать подбор при достаточной выборке соответствий PAN и DPAN (или mPAN и zPAN).
[0055] Следовательно, индекс должен быть динамический, то есть не имеющий понятной зависимости от последовательности BIN ⋅ MASK, но не создающий коллизии, то есть исключающий повторный выбор zPAN при разных mPAN, иначе говоря, не должен быть основан на случайной величине.
[0056] Для обеспечения уникальности и предотвращения коллизии необходимо осуществить ряд действий.
[0057] Сделать составной динамический индекс. Первая часть будет формироваться из неизменного значения BIN ⋅ MASK для всего диапазона mPAN. Вторая часть формируется из самой заменяемой части mPAN.
[0058] Формирование собственно индекса или сдвига (назовем его SHIFT) возможно непосредственно из этих компонентов по формуле (BIN ⋅ MASK)+mPAN. Полученное число SHIFT, нормированное по длине таблицы замен SHIFT=((BIN ⋅ MASK)+mPAN) % length({zPAN}) уже обеспечит уникальность, но пока что имеет понятную зависимость, т.е. при увеличении MASK на 1, SHIFT также увеличится на 1, что может привести к подбору связок PAN и DPAN.
[0059] Непонятной зависимости можно достичь криптопреобразованием с сохранением формата исходных данных (Format Preserving Encryption) [4], когда на выходе функции получается другой псевдослучайных элемент из конечного массива исходных данных.
[0060] Используем реализацию алгоритма FF3[5] для выбора псевдослучайного индекса из набора индексов с использованием секретной величины и начального значения индекса. Использование в качестве базы сдвига FF3(BIN ⋅ MASK) позволит делать как прямое, так и обратное преобразование PAN-DPAN и DPAN-PAN, так как один из компонентов сдвига известен всегда (BIN ⋅ MASK), он неизменен в PAN и DP AN.
[0061] Как показано на Фиг. 1 заявленный способ токенизации номера банковской карты (PAN) (100) состоит из нескольких этапов, выполняемых по меньшей мере одним процессором.
[0062] На этапе (101) получают PAN и осуществляют его разбиение на составляющие части: бин (BIN), состоящий из первых шести символов, маска (MASK), состоящая из четырех последних символов, и средняя часть (mPAN).
[0063] Далее на этапе (102) определяют значение сдвига в таблице замен.
[0064] В ходе определения значения сдвига в таблице замен:
- на этапе (103) вычисляют первое значение сдвига по таблице замен с помощью криптопреобразования конкатенированной строки значений BIN и MASK;
- на этапе (104) вычисляют второе значение сдвига по таблице замен с помощью криптопреобразования mPAN;
- на этапе (105) вычисляют суммарное значение сдвига путем сложения первого и второго значений сдвига.
[0065] Далее на этапе (106) вычисляют индекс в таблице замен, с помощью нормализации суммарного значения сдвига по таблице замен, причем нормализация выполняется по размерности таблицы как остаток от деления смещения на количество строк таблицы, получая при этом искомый индекс в таблице замен.
[0066] Далее на этапе (107) с помощью полученного индекса выбирают из таблицы замен токенизированную часть номера zPAN для замены mPAN.
[0067] Далее на этапе (108) формируют токенизированный номер карты DPAN с помощью замены mPAN на zPAN, используя BIN и MASK полученного номера PAN.
[0068] Алгоритм криптопреобразования, используемый в способе (100) представляет собой алгоритм FF3.
[0069] Как показано на Фиг. 2 способ детокенизации номера банковской карты (DPAN) (200), полученного с помощью вышеуказанного способа, процессор выполняет ряд последовательных этапов.
[0070] На этапе (201) получают DP AN и осуществляют его разбиение на составляющие части: бин (BIN) состоящий из первых шести символов, маска (MASK), состоящая из четырех последних символов, и средняя часть (zPAN).
[0071] Далее на этапе (202) определяют значение сдвига в таблице замен.
[0072] В ходе определения значения сдвига в таблице замен:
- на этапе (203) вычисляют первое значение сдвига по таблице замен с помощью криптопреобразования строки значений BIN и MASK;
- на этапе (204) вычисляют модуль первого значения сдвига по таблице замен путем разделения первого значения сдвига на размер таблицы сдвига;
- на этапе (205) вычисляют индекс в таблице замен, путем поиска строки по полученному значению zPAN;
- на этапе (206) вычисляют второе значения смещения в таблице замен на основе рассчитанного индекса, модуля первого значения и размерности таблицы.
[0073] Далее на этапе (207) вычисляют mPAN с помощью обратного криптопреобразования от полученного второго значения смещения с использованием ключа шифрования, с помощью которого выполнялось преобразование PAN в DP AN.
[0074] Далее на этапе (208) формируют значение PAN на основании полученного mPAN, а также значений BIN и MASK.
[0075] Алгоритм криптопреобразования, используемый в способе (200) представляет собой алгоритм FF3.
[0076] Если на этапе (206) второе значение смещения отрицательное, то итеративно повторяют шаг его вычисления, инкрементировав модуль первого значения смещения на единицу.
[0077] Заявленное техническое решение обеспечивает новый способ токенизации банковских карт. При реализации заявленного техническому решению достигается компактность хранения таблиц замен. Данные связки PAN-DPAN не хранятся на устройствах, носителях информации и т.д., тем самым обеспечивая невозможность компрометации. Для данного технического решения не требуется синхронная репликация между ЦОДами и экземплярами токенизатора в режиме реального времени. При неизвестном ключе шифрования, зная алгоритм и примеры токенизированных пар PAN-DPAN, становится невозможно вычислить другие связки PAN-DPAN. Использование двухкомпонентного сдвига по таблице замен в заявленном техническом решении позволяет быстро производить преобразование PAN-DPAN и DPAN-PAN.
[0078] На Фиг. 3 представлен пример общего вида вычислительной системы (300), которая обеспечивает реализацию заявленных способов (100) (200) и или является частью компьютерной системы, например, сервером, персональным компьютером, частью вычислительного кластера, обрабатывающим необходимые данные для осуществления заявленного технического решения.
[0079] В общем случае, система (300) содержит объединенные общей шиной информационного обмена один или несколько процессоров (301), средства памяти, такие как ОЗУ (302) и ПЗУ (303), интерфейсы ввода/вывода (304), устройства ввода/вывода (1105), и устройство для сетевого взаимодействия (306).
[0080] Процессор (301) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™. MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в системе (300) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.
[0081] ОЗУ (302) представляет собой оперативную память и предназначено для хранения исполняемых процессором (301) машиночитаемых инструкций для выполнения необходимых операций по логической обработке данных. ОЗУ (302), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (302) может выступать доступный объем памяти графической карты или графического процессора.
[0082] ПЗУ (303) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[0083] Для организации работы компонентов системы (300) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (304). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0084] Для обеспечения взаимодействия пользователя с вычислительной системой (300) применяются различные средства (305) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0085] Средство сетевого взаимодействия (306) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (306) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0086] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.
Источники информации:
1. Стандарт PCI DSS: https://www.pcisecuritystandards.org/documents/PCI DSS_v3-2-1.pdf
2. Требования к токенизации данных: https://www.pcisecuritystandards.org/documents/Tokenization_Guidelines_lnfo_Supplement.pd f
3. Статья в журнале Банковское Обозрение о подходах к токенизации карточных данных в Сбербанке https://bosfera.ru/bo/pci-dss-ne-vrag
4. Format Preserving Encryption https://en.wikipedia.org/wiki/Format-preserving_encryption
5. Алгоритм FF3 https://eprint.iacr.org/2017/521.pdf
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И СИСТЕМА ОБЕЗЛИЧИВАНИЯ КОНФИДЕНЦИАЛЬНЫХ ДАННЫХ | 2022 |
|
RU2804747C1 |
СПОСОБ И СИСТЕМА ОБЕЗЛИЧИВАНИЯ КОНФИДЕНЦИАЛЬНЫХ ДАННЫХ | 2022 |
|
RU2802549C1 |
ГЕНЕРАТОР НОМЕРА ФИНАНСОВОЙ ОПЕРАЦИИ И ОСУЩЕСТВЛЯЕМЫЕ С ЕГО ПОМОЩЬЮ ФИНАНСОВЫЕ ОПЕРАЦИИ | 2007 |
|
RU2479032C2 |
СПОСОБ И СИСТЕМА КЛАССИФИКАЦИИ ТЕКСТА | 2022 |
|
RU2818693C2 |
Способ и система создания и использования доверенного цифрового образа документа и цифровой образ документа, созданный данным способом | 2019 |
|
RU2736507C1 |
СИСТЕМА ОПРЕДЕЛЕНИЯ ПРИНАДЛЕЖНОСТИ БАНКОВСКОЙ КАРТЫ ПОЛЬЗОВАТЕЛЮ | 2021 |
|
RU2779249C1 |
СИСТЕМА СЕТЕВЫХ ТОКЕНОВ | 2014 |
|
RU2691843C2 |
УПРАВЛЕНИЕ УНИКАЛЬНОСТЬЮ КЛИЕНТА В ТОКЕНИЗИРОВАННЫХ СИСТЕМАХ | 2016 |
|
RU2692969C1 |
СИСТЕМА СЕТЕВЫХ ТОКЕНОВ | 2014 |
|
RU2792051C2 |
ВЕРИФИКАЦИЯ ПОРТАТИВНЫХ ПОТРЕБИТЕЛЬСКИХ УСТРОЙСТВ | 2014 |
|
RU2645593C2 |
Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности защиты номеров банковских карт. Компьютерно-реализуемый способ токенизации номера банковской карты PAN (Primary Account Number), в котором получают PAN и осуществляют его разбиение на составляющие части: бин (BIN), состоящий из первых шести символов, маска (MASK), состоящая из четырех последних символов, и средняя часть (mPAN); определяют значение сдвига в таблице замен, при котором: вычисляют первое значение сдвига по таблице замен с помощью криптопреобразования конкатенированной строки значений BIN и MASK; вычисляют второе значение сдвига по таблице замен с помощью криптопреобразования mPAN; вычисляют суммарное значение сдвига путем сложения первого и второго значений сдвига; вычисляют индекс в таблице замен, с помощью нормализации суммарного значения сдвига по таблице замен, причем нормализация выполняется по размерности таблицы как остаток от деления смещения на количество строк таблицы, получая при этом искомый индекс в таблице замен; с помощью полученного индекса выбирают из таблицы замен токенизированную часть номера zPAN для замены mPAN; формируют токенизированный номер карты DPAN с помощью замены mPAN на zPAN, используя BIN и MASK полученного номера PAN. 4 н. и 3 з.п. ф-лы, 3 ил.
1. Компьютерно-реализуемый способ токенизации номера банковской карты PAN (Primary Account Number), выполняемый с помощью, по меньшей мере, одного процессора и содержащий этапы, на которых:
- получают PAN и осуществляют его разбиение на составляющие части: идентификационный номер банка, выпустившего карту BIN (Bank Identification Number), состоящий из первых шести символов, последние четыре символа банковской карты (MASK), свободно использующиеся для печати на чеках и, совместно с BIN, для идентификации карты в пределах одного клиента, и средняя часть номера банковской карты, подлежащая токенизации (mPAN);
- определяют значение сдвига в таблице замен, при котором:
• вычисляют первое значение сдвига по таблице замен с помощью криптопреобразования конкатенированной строки значений BIN и MASK;
• вычисляют второе значение сдвига по таблице замен с помощью криптопреобразования mPAN;
• вычисляют суммарное значение сдвига путем сложения первого и второго значений сдвига;
- вычисляют индекс в таблице замен, с помощью нормализации суммарного значения сдвига по таблице замен, причем нормализация выполняется по размерности таблицы как остаток от деления смещения на количество строк таблицы, получая при этом искомый индекс в таблице замен;
- с помощью полученного индекса выбирают из таблицы замен токенизированную среднюю часть номера банковской карты (zPAN) для замены mPAN;
- формируют токенизированный номер карты DPAN с помощью замены mPAN на zPAN, используя BIN и MASK полученного номера PAN.
2. Способ по п. 1, в котором алгоритм криптопреобразования представляет собой алгоритм криптопреобразования с сохранением формата исходных данных FF3 (Format Preserving Encryption).
3. Компьютерно-реализуемый способ детокенизации номера банковской карты (DPAN), полученного с помощью способа по любому из пп.1, 2 выполняемый с помощью, по меньшей мере, одного процессора и содержащий этапы, на которых:
- получают DPAN и осуществляют его разбиение на составляющие части: бин (BIN), состоящий из первых шести символов, маска (MASK), состоящая из четырех последних символов, и средняя часть (zPAN);
- определяют значение сдвига в таблице замен, при котором:
• вычисляют первое значение сдвига по таблице замен с помощью криптопреобразования строки значений BIN и MASK;
• вычисляют модуль первого значения сдвига по таблице замен путем разделения первого значения сдвига на размер таблицы сдвига;
• вычисляют индекс в таблице замен, путем поиска строки по полученному значению zPAN;
• вычисляют второе значение сдвига в таблице замен на основе рассчитанного индекса, модуля первого значения и размерности таблицы;
- вычисляют mPAN с помощью обратного криптопреобразования от полученного второго значения сдвига;
- формируют значение PAN на основании полученного mPAN, а также значений BIN и MASK.
4. Способ по п. 3, в котором алгоритм криптопреобразования представляет собой алгоритм криптопреобразования с сохранением формата исходных данных (FF3).
5. Способ по п. 3, в котором если второе значение сдвига отрицательное, то итеративно повторяют шаг его вычисления, инкрементировав модуль первого значения смещения на единицу.
6. Система для токенизации номера банковской карты (PAN), содержащая по меньшей мере один процессор, и по меньшей мере одно средство хранения данных, содержащее машиночитаемые инструкции, которые при их выполнении процессором реализуют способ по любому из пп. 1, 2.
7. Система для определения детокенизированного номера банковской карты (DPAN), полученного с помощью способа по любому из пп. 1, 2, содержащая по меньшей мере один процессор, и по меньшей мере одно средство хранения данных, содержащее машиночитаемые инструкции, которые при их выполнении процессором реализуют способ по любому из пп. 3-5.
Колосоуборка | 1923 |
|
SU2009A1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
СИСТЕМА СЕТЕВЫХ ТОКЕНОВ | 2014 |
|
RU2691843C2 |
Авторы
Даты
2021-10-01—Публикация
2020-09-24—Подача