17 августа 2012, 16:17
Количество просмотров 984

ПИН-код

<p></p> <p> Игорь Голдовский </p></p> О путешествии ПИН-кода из ПИН-пада. Насколько оно рискованно и как обеспечить безопасность этого маршрута?...
ПИН-код

ПИН-код - рис.1

Игорь Голдовский

О путешествии ПИН-кода из ПИН-пада. Насколько оно рискованно и как обеспечить безопасность этого маршрута?

ЛСО

(ЛСО - лицо совершающее операцию)

Удаленный доступ клиента к его банковскому счету для выполнения расчетов с предприятием торговли/сервиса при совершении безналичной покупки, для перевода со счета денежных средств, с целью получения наличных в банкомате/отделении банка или получения информации о выполненных по счету операциях – все это невозможно без надежной аутентификации клиента его банком. Любое лицо, запрашивающее доступ к некому счету в банке с целью выполнения финансовой операции и/или для получения информации о статусе счета, на момент запроса доступа к счету является для банка только лицом, совершающим операцию (ЛСО).

Первоочередная задача банка состоит в том, чтобы в момент обращения ЛСО к банковскому счету Х проверить права ЛСО на доступ к этому счету. Иными словами, банк должен проверить справедливость равенства "ЛСО = клиент банка, имеющий доступ к счету Х". Проверка этого равенства и есть не что иное, как решение задачи аутентификации банком ЛСО.

 

Подробно:

Платежная карта 

На сегодняшний день существует широкий спектр различных средств и связанных с ними технологий аутентификации ЛСО. Так, широко апробированным и повсеместно используемым средством идентификации/аутентификации лица, совершающего операцию, является платежная карта. Например, в Европе примерно 30% всех безналичных розничных платежей при оплате покупок производится с помощью платежной карты. Платежная карта позволяет банку идентифицировать счет Х, к которому обращается ЛСО, а также с высоким уровнем достоверности (как показывает практика, с вероятностью не ниже 100,00% – 0,08% = 99,92%) решить задачу проверки равенства "ЛСО = клиент банка, имеющий доступ к счету Х". Значение 0,08% (100,00% – 0,08% = 99,92%) определено нами, исходя из того факта, что на сегодняшний день среднемировой уровень карточного мошенничества составляет примерно 7–8 базисных пунктов.



Достоверность аутентификации лица, совершающего операцию с использованием карты, является краеугольным камнем технологии платежных карт. От того, насколько данная технология позволяет банку-эмитенту карты быть уверенным в том, что операция выполнена с использованием именно его (банка-эмитента) карты, и эта операция совершается законным держателем карты – клиентом банка-эмитента, которому карта была выдана банком на основе договора банка с клиентом, зависит жизнеспособность карточной технологии в целом. Именно поэтому платежные системы и банки уделяют так много внимания вопросам безопасности.



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



При использовании карт аутентификация ЛСО является в общем случае распределенной процедурой, в которой заняты все участники операции – торговое предприятие, обслуживающий торговое предприятие банк (эквайер), платежная сеть и, наконец, банк, к счету, открытому в котором, обращаются при выполнении операции (эмитент карты). При этом роль, отведенная каждому из участников процедуры аутентификации ЛСО, по-своему важна (например, платежная сеть аутентифицирует банк-эквайер, тот, в свою очередь, аутентифицирует торговое предприятие, последнее выполняет важные функции для аутентификации ЛСО). Однако окончательный вердикт по поводу справедливости равенства "ЛСО = клиент банка, имеющий доступ к счету" выносится банком-эмитентом карты, а потому и ответственность за принятое решение в большинстве случаев (исключение составляют CNP-транзакции, не использующие протокол 3D Secure) несет именно он.


Транзакция

При проведении карточной транзакции для аутентификации ЛСО в общем случае используется трехфакторная модель верификации:


  1. Верификация чего-то, что имеется у ЛСО и указывает на его связь с банком. В нашем случае – это проверка наличия у ЛСО платежной карты и подтверждение того факта, что карта действительно была выдана ЛСО его банком.
  2. Верификация чего-то, что знает только ЛСО и может быть удостоверено либо торговой точкой, либо банком ЛСО. В нашем случае – это подпись ЛСО (удостоверяется в торговой точке) и/или значение ПИН-кода, известное только ЛСО (может быть удостоверено только банком-эмитентом и/или самой картой в случае делегирования ей эмитентом данной функции).
  3. Верификация чего-то, что присуще только ЛСО. Например, информации о биометрических данных ЛСО.

Сегодня, как правило, используется двухфакторная модель аутентификации держателя карты (факторы 1 и 2). При этом биометрические методы верификации только начинают внедряться для держателей микропроцессорных карт.



Проверка наличия у ЛСО карты, выданной банком-участником платежной системы (фактор 1), выполняется как с помощью осмотра продавцом торгового предприятия внешнего вида карты (проверка логотипа, голограммы, микропечати, тисненых секретных символов и т. п.), проверки эмитентом активности карты, номера карты, ее срока действия, секретных величин CVC/CVV, CVC2/CVV2, так и, в случае использования микропроцессорной карты, – с помощью динамической аутентификации карты (точнее – приложения карты, используемого для выполняемой операции). Безусловно, динамическая аутентификация карты подняла уровень достоверности аутентификации ЛСО по фактору 1 (да и уровень аутентификации ЛСО в целом) на качественно новый, гораздо более высокий уровень. Возможность подделки микропроцессорной карты, поддерживающей процедуры динамической аутентификации, на сегодняшний день представляется близкой к нулю.


ПИН-код наиболее надёжный способ защиты.

Наиболее надежным способом аутентификации ЛСО в соответствии с фактором 2 является проверка ПИН-кода. Это связано с тем, что значение ПИН-кода является самой труднодоступной для преступников секретной информацией среди всех реквизитов карты с магнитной полосой, поскольку он не хранится на карте. Потому применение ПИН-кода – наиболее надежное средство обеспечения безопасности операций, выполняемых с использованием карт с магнитной полосой. В общем случае ПИН-код представляет собой последовательность десятичных цифр, вводимых ЛСО во время совершения операции по карте.



Длина ПИН-кода варьируется от 4 до 12 цифр (на практике в большинстве случаев – 4 цифры). ПИН-код вводится с помощью специального криптографического модуля, входящего в состав терминального устройства (автоматизированного как банковского, так и небанковского терминала самообслуживания, POSтерминала и т. п.) – ПИН-пада, или PIN Entry Device (PED), после чего информация о его значении передается на хост эмитента, где она проверяется, обеспечивая таким образом верификацию ЛСО (подтверждая владение ЛСО секретной информацией, которая может быть известна только законному держателю карты, по которой производится транзакция). При этом маршрут ПИН-кода до хоста эмитента пролегает через аппаратно-программные комплексы банка-эквайера и, возможно, целого ряда промежуточных процессинговых центров (ПЦ).

О PED, HSM, ПИН-блоках и требованиях к ним

Главное требование к процессу доставки ПИН-кода – ПИН-код нигде не должен появляться в открытом, незашифрованном виде за исключением специальных криптографических устройств. ПИН-код шифруется на разных этапах его передачи выполняется с использованием различных ключей и производится в специальных криптографических модулях, в которых ПИН-код на короткое время появляется в открытом виде. Однако в этом случае значение ПИН-кода недоступно для наблюдения извне.


До момента полной миграции на микропроцессорные карты пройдет ещё не менее десятилетия. Сегодня во всем мире только порядка 15% карт, 20% POS-терминалов и 12,5% банкоматов являются EMV-совместимыми. А это значит, что те угрозы, о которых рассказывается в настоящей статье, являются по-прежнему актуальными, и к ним нужно относится более чем серьезно. С точки зрения практики это сводится, конечно же, к соблюдению требований к безопасности генерации, хранения и передачи ПИН-кодов


Очевидно, что к уровню защищенности криптографических модулей предъявляются специальные требования как с точки зрения их физической безопасности (экранирование электромагнитного излучения, уничтожение хранимых в модулях секретных данных при обнаружении попытки проникновения внутрь модуля и т.п., подробнее см. ISO 9564-1), так и с точки зрения их логической безопасности (ограничение доступа к модулю, аутентификация офицеров безопасности, выполнение требований к датчикам случайных чисел, к поддерживаемым алгоритмам шифрования и документированию обращений к криптографическому модулю и т. п.).



ПИН-код - рис.2Теперь стоит сделать короткое отступление и сообщить о том, что ПИН-код "путешествует" к хосту эмитента в специальной "лодке", называемой ПИН-блоком, и все криптографические операции, связанные с доставкой ПИН-кода эмитенту, производятся именно над ПИН-блоком. ПИН-блок может иметь один из приведенных ниже форматов, поддерживаемых всеми криптографическими модулями. Прежде чем приступить к описанию возможных форматов ПИН-блока, введем следующие обозначения:



P – двоичное представление одной из десятичных цифр ПИН-кода в виде 4 битов;



L – двоичное представление числа цифр ПИН-кода в виде 4 битов; может принимать значение от 4 до 12;



'x'h – двоичное представление цифры шестнадцатеричной системы исчисления в виде 4 битов;



Z – двоичное представление '0'h в виде 4 битов (т.е. последовательность из 4 двоичных нулей);



F – двоичное представление 'F'h в виде 4 битов (т.е. последовательность из 4 двоичных единиц);



R – двоичное представление из 4 битов шестнадцатеричной цифры, являющейся цифрой некоторого случайного числа;



f – двоичное представление из 4 битов либо цифры ПИН-кода, либо цифры 'F'h;



A – двоичное представление из 4 битов цифры номера карты;



S – двоичное представление из 4 битов одной из шестнадцатеричных цифр от 'A'h до 'F'h.



Формат ISO-0 (или, что то же самое, формат ANSI X9.8, VISA-1, ECI-1). Пусть P1=Z|L|P|P|P|P|f|f|f|f|f|f|f|f|F|F, P2=Z|Z|Z|Z|A|A|A|A|A|A|A|A|A|A|A|A, где последние 12 цифр Р2 представляют собой последние цифры номера карты, из которого исключена последняя цифра (Luhn Check Parity Digit).



Тогда ПИН-блок формата ISO-0 есть PBL-0=P1 P2, где – операция побитового сложения по модулю 2 двух двоичных последовательностей одинаковой длины (см. табл. 1).



Формат ISO-1.Пусть P1='1'h|L|P|P|P|P|f|f|f|f|f|f|f|f|F|F, P2=Z|Z|Z|Z|R|R|R|R|R|R|R|R|R|R|R|R. Тогда ПИН-блок формата ISO-1 есть PBL-1=P1⊕P2 (см. табл. 2).



Формат ISO-2. Пусть P1='2'h|L|P|P|P|P|f|f|f|f|f|f|f|f|F|F, P2=Z|Z|Z|Z|F|F|F|F|F|F|F|F|F|F|F|F. Тогда ПИН-блок формата ISO-2 есть PBL-2=P1⊕P2 (см. табл. 3).



Формат ISO-3. Пусть P1='3'h|L|P|P|P|P|f|f|f|f|f|f|f|f|F|F, P2=Z|Z|Z|Z|S|S|S|S|S|S|S|S|S|S|S|S. Тогда ПИН-блок формата ISO-3 есть PBL-3=P1⊕P2 (см. табл. 4).

Компрометация ПИН-кода

Все криптографические модули, используемые в платежной индустрии, делятся на взломостойкие, или ВС-модули (tamper-responsive), и взломообнаруживающие, или ВО-модули (tamper-evident). ВС-модуль при обнаружении несанкционированного физического проникновения внутрь модуля (сверление, лазерное воздействие, травление кислотой, нарушение целостности кожуха модуля и т.п.) мгновенно уничтожает всю секретную информацию (ПИН-блоки, ключи и т.п.), хранящуюся в момент обнаружения взлома в криптографическом модуле.



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



Очевидно, что ВО-модули обеспечивают более низкий уровень защиты в сравнении с ВС-модулями, являясь при этом более дешевыми криптографическими модулями. Как следствие – ВО-модули могут использоваться только для шифрования ПИН-блоков и ключей (в схемах управления ключами).



Минимальное требование к PED состоит в том, что PED должен быть ВО-модулем. Это объясняется тем, что единственная задача PED заключается в шифровании ПИН-блоков. Поэтому проникновение в PED может привести только к компрометации обрабатываемого в нем на момент атаки ПИН-блока. При этом криптографические модули, используемые для решения более широкого класса задач (например, верификации/генерации ПИНР1 Z 4 Р Р Р Р F F F F F F F F F F Р2 Z Z Z Z A A A A A A A A A A A A PBL-0 Z 4 P P X X X X X X X X X X X X


Все криптографические модули , используемые в платежной индустрии, делятся на взломостойкие, или ВС-модули(tamper-responsive),и взлообнаруживающие,или ВО-модули(tamper-evident)


Табл. 1. Формат ПИН-блока ISO-0 при 4-цифровом ПИН-коде PBL-1 1 4 P P P P R R R R R R R R R R



Табл. 2. Формат ПИН-блока ISO-1 при 4-цифровом ПИН-коде PBL-2 2 4 P P P P F F F F F F F F F F



Табл. 3. Формат ПИН-блока ISO-2 при 4-цифровом ПИН-коде Р1 3 4 Р Р Р Р G G G G G G G G G G Р2 Z Z Z Z A A A A A A A A A A A A PBL-3 3 4 P P X X X X X X X X X X X X



Табл. 4. Формат ПИН-блока ISO-3 при 4-цифровом ПИН-коде Все криптографические модули, используемые в платежной индустрии, делятся на взломостойкие, или ВС-модули (tamper-responsive), и взломообнаруживающие, или ВО-модули (tamper-evident) кодов), должны относиться к ВС-модулям.



Проникновение в модуль, хранящий ключ генерации ПИН-кодов, влечет за собой компрометацию всех ПИН-кодов, когдалибо сгенерированных с помощью этого ключа. Поэтому в качестве криптографических модулей хоста эмитента (Host Security Module, или HSM) используются исключительно ВС-модули.



Следует отметить, что в терминалах, поддерживающих обслуживание микропроцессорных карт, PED и картридер зачастую интегрируются в одном ВО-модуле. Это сделано для того, чтобы при передаче ПИН-кода от PED непосредственно карте можно было бы не шифровать ПИН-блок, если этого не требует метод верификации держателя карты (т.е. если используется метод Offline plaintext PIN). В случае, когда PED и картридер – отдельные неинтегрированные устройства, и используется метод верификации Offline plaintext PIN, при передаче ПИН-блока карте обязательно его шифрование в PED и расшифрование картридером перед передачей ПИН-блока карте.

ПИН-код требования MasterCard

Платежные системы MasterCard Worldwide и Visa Int. в 2004г. утвердили единые требования к PED, формализованные в PCI PIN Entry Device Requirements, PCI PIN Entry Device Evaluation Vendor Questionnaire и PCI Derived Test Requirements. Чуть раньше, в том же 2004г., MasterCard Worldwide и Visa Int. также сформулировали единые требования к хранению и передаче ПИН-кода (PCI PIN Security Requirements). Среди наиболее важных из них (в целом документ включает в себя 32 требования) следует выделить следующие: – Различают два способа верификации ПИН-кода: Online PIN, когда значение ПИН-кода проверяется эмитентом карты или авторизованным эмитентом хостом, и Offline PIN, когда значение ПИН-кода проверяется микропроцессорной картой.



Значение ПИН-кода передается для проверки эмитенту или карте в виде ПИН-блока размером 8 байтов. В соответствии с ISO 9654-1 с этой целью должны использоваться форматы ISO-0, ISO-1, ISO-2, ISO-3, описание которых приведено выше. Для передачи ПИН-блока эмитенту используются форматы ISO-0, ISO-1 и ISO-3, а для передачи ПИН-блока карте – формат ISO-2. Форматы ISO-0 и ISO-3 являются наиболее безопасными. Во-первых, при использовании этих форматов ПИНблок определяется номером карты. Отсюда следует, что форматы ISO-0 и ISO-3 обеспечивают целостность номера карты и невозможность выполнения операции c ПИН-блоком, используя иной номер карты. Во-вторых, форматы ISO-0, ISO-1 и ISO-3 позволяют защититься от так называемых табличных атак (code book attack), когда мошенник, пользуясь доступом к криптографическому модулю, заранее составляет таблицу всех возможных значений зашифрованных ПИН-блоков.



 Форматы ISO-0, ISO-1 и ISO-3 также используются при передаче ПИН-блока из PED в картридер в случаях, когда PED и картридер не интегрированы в единый ВО-модуль или когда они интегрированы в единый модуль, но ПИН-блок передается из PED в картридер через третью среду, например, приложение терминала.


ПИН-код - рис.3ПИН-код - рис.4ПИН-код - рис.5

– Значение ПИН-кода всегда находится в зашифрованном виде: начиная с момента вывода ПИН-блока из PED и заканчивая проверкой ПИН-кода в HSM хоста эмитента. Online PIN должен шифроваться с использованием алгоритма 3DES (Triple DES) с длиной ключа не менее 112 битов. Для шифрования Online PIN может использоваться одна из следующих схем управления ключами: Derived Unique Key Per Transaction (ANSI X9.24), Fixed Key, Master Key/Session Key. Offline PIN шифруется в соответствии с параграфами 7 и 11.1 Книги 2 спецификаций EMV v.4.1.



Для шифрования Offline PIN применяется алгоритм RSA с длиной модуля ключа не менее 1024 битов.



– При передаче ПИН-блока между хостами используются уникальные ключи. Перешифрование ПИН-блока может выполняться только в криптографическом модуле, имеющем стойкость не ниже ВО-модуля.



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



– Все ключи и их компоненты должны генерироваться по случайному (псевдослучайному) закону. Алгоритм генерации случайных чисел должен пройти статистические тесты в соответствии с FIPS 140-2 (Level 3).



– Компрометация сгенерированного ключа становится возможной только при сговоре как минимум двух авторизованных лиц.



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



– Ключи, используемые для шифрования ключа, с точки зрения криптографической стойкости должны быть не слабее самого шифруемого ключа. При использовании RSA для шифрования ключа длина модуля коммуникационного ключа должна быть не короче 1024 битов.



– При вводе незашифрованного ключа в HSM или PED должен использоваться принцип двойного контроля (контроля со стороны не менее двух лиц).



– Физические ключи (например, металлические ключи), необходимые для выполнения процедуры ввода секретных ключей в криптографический модуль, не должны находиться под контролем одного лица.



– Уникальный ключ для шифрования ПИН-блоков должен использоваться для каждого межхостового соединения.



– В тестовой и производственной средах должны использоваться различные ключи.



– Криптографические ключи, используемые для шифрования ПИН-блоков, должны быть разными для разных пар "терминал – хост".



– Ключи, используемые для шифрования ПИН-блоков (PIN-encryption Key), не должны появляться в открытом незашифрованном виде.



– Неиспользуемые более секретные ключи должны быть уничтожены надежным и безопасным (значение уничтожаемого ключа не должно стать известно в процессе уничтожения) способом.



– Доступ к HSM-устройствам должен быть физически и логически ограничен.



Об атаках, основанных на доступах к HSM

Восстановить ПИН-код

Казалось бы, платежные системы продумали все аспекты безопасности передачи ПИН-кода эмитенту карты. Однако в 2003г. была опубликована работа, привлекшая внимание специалистов к проблеме безопасности передачи ПИН-кода. В рамках данной работы, в частности, было установлено, что при наличии логического доступа злоумышленника к HSM-модулю промежуточного в маршруте ПИН-кода хоста возможно очень несложным способом восстановить значение ПИН-кода, зашифрованного в ПИН-блоке, который попал в руки злоумышленника. Если быть точным, то в работе было доказано, что 4-цифровой ПИН-код можно восстановить из зашифрованного ПИН-блока с точностью до 16 возможных значений (перебор сокращается с 10000 до 16 возможных вариантов ПИН-кода) с помощью не более чем 64 обращений к HSM-модулю при условии поддержки HSM-модулем формата ПИНблока VISA-3. Если формат VISA-3 не поддерживается, то перебор удается сократить с 10 000 лишь до 400 возможных значений ПИН-кода с помощью не более 32 обращений к HSM-модулю.



Эффект такого сокращения перебора был обусловлен тем, что каждое обращение к HSM-модулю состояло в запросе на трансляцию ПИН-блока из формата ISO-0 (самый распространенный в карточной индустрии формат) в какой-либо другой формат. При этом один из параметров запроса – номер карты – менялся по специальному закону. В результате во время выполнения процедуры трансляции ПИНблока на этапе определения ПИН-кода при некоторых значениях номера карты получалось так, что ПИН-код состоял не только из десятичных цифр. Поскольку ПИН-код должен состоять только из десятичных цифр, HSM-модуль начинал в таких случаях "ругаться" (т.е. выдавать сообщение об ошибке выполнения операции).



Зная, когда HSM-модуль "ругался", а когда нет, можно существенно сократить перебор возможных значений ПИН-блока. Данная работа произвела настоящий фурор среди специалистов в области безопасности транзакций и долго служила предметом оживленных дискуссий. Ее авторы продемонстрировали, что можно уделять сколь угодно много внимания вопросам управления ключами, криптостойкости используемых для шифрования ПИНблоков алгоритмов (миграция на 3DES), однако сами HSM имеют встроенные "слабые звенья", позволяющие успешно атаковать зашифрованные ПИН-блоки. Если выражаться точнее, "слабые звенья" имеет не HSM как таковой, а слишком "демократичный" интерфейс, поддерживаемый HSM для работы с хостом. Все модули HSM, предназначенные для работы с финансовыми приложениями, поддерживают интерфейс Standard Financial API, на "слабые звенья" которого и указывалось в рассматриваемой нами работе.

Об атаках извлекающих ПИН-код

Не успели стихнуть дебаты вокруг без преувеличения сенсационных результатов данного исследования, как в 2006г. была обнародована новая работа, подтвердившая сформулированный выше тезис о "слабых звеньях" интерфейса Standard Financial API и описывающая целый ряд неизвестных ранее возможных атак, направленных на извлечение ПИН-кода. Авторы этого исследования обнаружили новые возможности использования уже известных "дыр" в защите интерфейса Standard Financial API. Характерно, что, несмотря на соблазн рассказать на страницах настоящей статьи о новых типах атак, описанных в работе, мы решили отказаться от этой затеи, не желая пропагандировать мошеннические атаки в открытой печати.



Заметим лишь, что все атаки, приведенные в данной работе, основаны на следующих предположениях:



1) у мошенника имеется возможность логического доступа к HSM процессингового центра для обращения к HSM с командами Standard Financial API;



2) мошенник имеет возможность извлечь зашифрованное значение ПИН-блока и соответствующие ему значения ПИН-кода и номера карты. Чтобы получить триплет "зашифрованный ПИН-блок, ПИН-код, номер карты", мошенник изготавливает карту с известным ему номером и ПИНкодом, отправляется к банкомату, подключенному к процессинговому центру, делает попытку совершения операции и, наконец, потом находит "следы" этой попытки в приложении ПЦ (предполагается, что "следы" содержат все интересующие злоумышленника данные).



Для осуществления некоторых типов атак (например, изменение значения ПИН-кода) преступнику иногда требуется доступ к БД карт банка-эмитента. Следует отметить, что в целом предположения "1" и "2" являются трудно реализуемыми на практике. Обычно банки/ПЦ уделяют самое серьезное внимание ограничению физического и логического доступа к HSM. Так, например, широко распространена практика, когда доступ к HSM ПЦ возможен только из прикладного программного обеспечения ПЦ, либо он предоставляется офицерам безопасности исключительно для загрузки новых ключей. При этом офицеры безопасности используют для загрузки ключей специальное терминальное оборудование, доступ к которому в соответствии с PCI PIN Requirements находится под двойным контролем. Если HSM подключен к локальной сети банка, то сетевой доступ к HSM также ограничен настройками межсетевого экрана только возможностью работы с хостом ПЦ.



Что касается извлечения триплета "зашифрованный ПИН-блок, ПИН-код, номер карты" из ПЦ, то и здесь все обстоит непросто, поскольку в соответствии с PCI PIN Requirements ПИН-блоки даже в зашифрованном виде не должны храниться в ПЦ. Злоумышленнику необходимо не только сгенерировать зашифрованный ПИН-блок с известным значением ПИНкода, например, обратившись к банкомату, подключенному к ПЦ, для выполнения какой-либо операции, но и успеть обнаружить значение ПИН-блока средствами приложения ПЦ за короткое время обработки транзакции в ПЦ.



Однако, несмотря на трудность выполнения приведенных выше условий, данные задачи все же реализуемы. И здесь главная проблема состоит в том, что банкэмитент не может повлиять на защищенность ПИН-кода его клиента, поскольку большинство атак, описанных в работе[2], может успешно выполняться на промежуточных хостах, к которым эмитент не имеет никакого отношения.



Следует отметить, что в основе всех приведенных атак лежат следующие известные "дыры" в Standard Financial API:



– возможность конверсии ПИН-блока из одного формата в другой;



– возможность изменения ПИН-кода держателя карты без одновременной проверки криптографическим модулем прежнего значения ПИН-кода с его привязкой к номеру карты (такая проверка выполняется, но приложением ПЦ).



Отметим, что возможность конверсии ПИН-блока из безопасных форматов ISO-0 и ISO-3 в небезопасные форматы ISO-1 и тем более ISO-2 лежит в основе большинства атак на ПИНкод, описанных в работе [2]. На практике часто нет необходимости в использовании форматов ISO-1 и ISO-2 на хосте банка/ПЦ (формат ISO-2 применяется для передачи зашифрованного ПИН-блока от картридера карте). Поэтому с точки зрения безопасности очень разумно на уровне приложения ПЦ запретить (просто не поддерживать) выполнение конверсии ПИН-блоков в эти форматы. Что касается прямого доступа злоумышленника к HSM, то его необходимо исключить, ограничив доступ к HSM офицерам безопасности только с целью загрузки ключей при соблюдении принципа двойного контроля.

О компрометации реквизитов карт в банкоматах

За последние пять лет сообщения о случаях компрометации реквизитов карты в банкоматах, включая ПИН-код держателя карты, перестали быть редкостью. Несанкционированный доступ к реквизитам карты является основой для выполнения мошеннических операций по поддельным картам – прежде всего в банкоматах.



В 2004 г. потери только банков Великобритании от банкоматного мошенничества составили 75 млн. фунтов стерлингов (около 15% общего объема потерь от карточного мошенничества на рынке страны).



До недавнего времени существовало несколько типичных способов компрометации реквизитов карты с использованием банкоматов. Приведем краткое описание каждого из них.


  1. "Траппинг" (от английского trap – ловушка). Один из распространенных способов банкоматного мошенничества – захват и последующее хищение чужой карты при попытке законного держателя использовать ее для операции по снятию наличных в ATM. С технической точки зрения существует несколько способов захвата карты. В основном для этого используются специальные механические приспособления, под действием которых карта застревает в картридере, наиболее известное из которых называется "ливанской петлей". Не получив свою карту назад, ничего не подозревающий клиент уходит от банкомата с намерением обратиться в службу банка, после чего появляется преступник и похищает его карту (для извлечения "захваченной" карты из картридера также используются нехитрые приспособления, наиболее известное из которых называется "ливанская петля"). При этом траппинг часто осуществляется преступниками с тем или иным способом компрометации ПИН-кода захваченной карты, что облегчает им последующий доступ к средствам на картсчете законного держателя, ставшего жертвой траппинга.

  2. Фальшивые банкоматы. Мошенники используют специально изготовленные устройства, эмулирующие банкоматы и предназначенные для компрометации информации, размещенной на магнитной полосе карты, и ПИН-кода.

  3. Одним из основных видов преступлений в отношении клиентов банков в настоящее время является скимминг – незаконное копирование реквизитов реальной карточки при использовании ее держателем для снятия наличных в банкомате. С этой целью преступники устанавливают на картридер банкомата скимминговые устройства, считывающие информацию с магнитной полосы карт клиентов, которая впоследствии используется для изготовления фальсифицированной карты. К такому оборудованию относятся накладной "картридер" и микрокамера. Иногда вместо микрокамеры используется накладная "клавиатура".

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



Микрокамера – это видеокамера, устанавливаемая рядом с банкоматом и направленная на клавиатуру банкомата с целью записи последовательности вводимых клиентом цифр при наборе ПИН-кода. В ряде случаев роль микрокамеры отводится злоумышленнику, стоящему за спиной использующего банкомат законного держателя карты, который может подсмотреть ПИН-код при его вводе с клавиатуры.



Альтернативой микрокамере является клавиатура, накладываемая поверх обычной клавиатуры банкомата и запоминающая или передающая по радиоканалу значения вводимого с ее помощью ПИН-кода.



Таким образом, с помощью дополнительного оборудования злоумышленники получают всю необходимую для осуществления мошенничества информацию: данные магнитной полосы карты и значение ПИН-кода. Имея эту информацию, мошенник способен персонализировать так называемый белый пластик (заготовка карты, применяемая в "карточном" бизнесе для тестовых операций и не содержащая на своей поверхности каких-либо элементов дизайна обычной карты) и использовать его для снятия наличных со счета ничего не подозревающего законного держателя скомпрометированной карты. О растущей популярности скимминга свидетельствуют следующие цифры.

Компрометация карточных данных 

Только с января по октябрь 2006г. в Европе были обнаружены 62 банкомата, с помощью которых производилась компрометация карточных данных. В то же время за весь 2005 г. было официально установлено существование только 21 такого банкомата.


ПИН-код - рис.6

На этом фоне платежные системы начинают сегодня внедрять специальные программы (ATM Fraud Compliance Program), позволяющие оперативно обнаруживать банкоматы, через которые осуществляется компрометация данных. В соответствии с данными программами у эмитента появляется возможность предупредить обслуживающий банк о факте обнаружения подозрительного банкомата на основании определенного события.



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



Обслуживающий банк обязан проинспектировать подозрительный банкомат, если в течение месяца получил не менее трех уведомлений, касающихся его банкомата, от разных эмитентов. Инспекция банкомата должна быть выполнена в течение 10 дней с момента последнего уведомления, а в течение 60 дней обслуживающий банк должен установить на банкомате антискимминговое устройство.



Существуют различные способы борьбы с компрометацией данных в банкомате. К таковым относятся применение фактурной (например, закругленной) геометрии участка передней панели банкоматов вокруг слота картридера, делающей бессмысленными попытки установки скимминговых устройств, оснащение картридера банкомата интеллектуальным модулем управления механизированным транспортом карты (который меняет скорость протяжки обслуживаемой карты), что исключает корректное считывание данных с магнитной полосы карты с помощью скиммеров, различного рода средства защиты от прямого визуального наблюдения сторонних лиц за процессом использования ввода ПИН-кода, а также антискимминговые устройства (anti-skimming device), позволяющие обнаружить любые длительные изменения в окружающем банкомат пространстве.



Следует отметить, что мощным орудием борьбы с банкоматным мошенничеством является миграция на микропроцессорные карты. Повсеместное использование микропроцессорных карт позволит предотвратить все перечисленные выше способы мошенничества, за исключением способа 2, поскольку наличие в руках мошенника платежной карты законного держателя и знание значения ее ПИН-кода – достаточное условие для успешного выполнения операции снятия наличных в банкомате. В то же время при использовании микропроцессорной карты в онлайновом режиме знание значения ПИНкода и всех данных карты, доступных терминалу, недостаточно для успешного выполнения операции мошенником. Необходимым условием в этом случае является знание недоступного мошеннику секретного ключа карты, который используется для генерации криптограммы. Ключ необходим для взаимной аутентификации карты и эмитента, без успешного выполнения которой транзакция будет отклонена (мы не рассматриваем вырожденный случай, когда эмитент не поддерживает обработку "чиповых" (chip related data) данных карты). В Европейском союзе, в ряде странучастниц которого доля EMV-транзакций от общего количества осуществляемых по картам операций перевалила за 70% (Люксембург, Великобритания, Франция), мошенники уже осознали появившиеся проблемы с использованием украденных реквизитов карт в банкоматах.



Одним из распространенных способов продолжения использования скомпрометированных реквизитов карты в изменившейся ситуации, получающим в последнее время все более широкую популярность среди мирового преступного сообщества, является применение мошенниками режима аварийного перехода процесса обработки транзакции с микропроцессора на магнитную полосу, все еще разрешенного платежными системами при выполнении операций по микропроцессорным картам. Такой аварийный режим называется режимом fallback (подробнее см. "Микропроцессорные карты стандарта EMV" [3]), он используется с целью повышения качества приема карт (на сегодняшний день уровень несовместимости карт и терминалов в рамках стандарта EMV все еще остается высоким в большинстве стран мира).

1,5% операций с целью мошенничества!

Согласно результатам исследований, проведенных платежными системами, порядка 1,5% всех операций в банкоматах по микропроцессорным картам проводится сегодня в режиме fallback именно с целью мошенничества! Это составляет более 35% от всего объема операций fallback в банкоматах! В связи с этим платежные системы начинают принимать решения об ограничении использования режима fallback в терминалах самообслуживания. Например, с 1 января 2007г. решением MasterCard Europe запрещаются fallback на магнитную полосу в банкоматах и CAT1, CAT2-терминалах (European Operations Bulletin, June 2006).



В соответствии с этим решением каждый обслуживающий банк, продолжающий поддерживать режим fallback в банкоматах и CAT-терминалах, несет ответственность за операции по поддельным картам, а пострадавший от мошенничества эмитент может поднять вопрос о соответствии обслуживающего банка правилам платежной системы (European Operations Bulletin, October 2006).

О компрометации реквизитов карт в POS-терминалах

У экспертов всегда существовало двойственное отношение к целесообразности применения ПИН-кода в POS-терминале при использовании карт с магнитной полосой. С одной стороны, ПИН-код является наиболее надежным средством обеспечения безопасности операций по картам с магнитной полосой. С другой – многие эксперты справедливо считают, что существует масса способов компрометации ПИН-кодов в POS-терминалах, включая установку "фальшивых" терминалов, в задачу которых входит запись реквизитов карты и значений ПИН-кодов.



В случае использования микропроцессорной карты без магнитной полосы ситуация меняется коренным образом. В этом случае знание значения ПИН-кода и других данных карты, доступных терминалу, не позволяет мошеннику изготовить поддельную карту, по которой можно совершить успешную операцию.



Однако в сегодняшней переходной ситуации, когда большинство микропроцессорных банковских карт являются гибридными, массовое использование ПИН-кода для подтверждения POS-терминальной транзакции может вызвать рост случаев его компрометации и последующего использования в терминалах, принимающих только карты с магнитной полосой (на долю последних сейчас приходится около 80% глобальной POS-терминальной сети).



Как известно, в случае использования микропроцессорной карты существуют два способа верификации ПИН-кода: самой картой в офлайновом режиме (Offline PIN) и эмитентом карты при обработке транзакции в режиме реального времени (Online PIN).



Очевидно, что первый способ имеет массу преимуществ. Главное из них состоит в том, что офлайновая проверка ПИНкода позволяет надежно верифицировать держателя карты и в случае офлайновых транзакций. Нужно также признать, что в целом безопасность обработки ПИНблока в этом случае выше, чем при его проверке эмитентом, так как исключаются риски компрометации ПИН-кода на этапах его обработки на хосте обслуживающего банка и в процессе передачи эмитенту. В то же время обработка транзакции в офлайновом режиме предъявляет дополнительные требования к терминалу.



Несмотря на то что в этом случае допускается незащищенная передача ПИНкода на карту, многие эмитенты требуют закрытия ПИН-блока (иногда это требуется законодательством той или иной страны). В книге "Микропроцессорные карты стандарта EMV" подробно рассматривается, как это делается с использованием открытого ключа карты и алгоритма RSA. Поддержка алгоритма RSA криптографическими модулями банкоматов пока еще не получила сколько-нибудь широкого распространения. Поэтому для этих устройств по-прежнему не используется проверка ПИН-кода картой. Хотя в относительно короткой перспективе ситуация может принципиально измениться, поскольку интерес банков к приложениям, требующим поддержки RSA на банкоматах, сегодня растет. Одним из примеров такого приложения является удаленная передача на банкоматы мастер-ключей (сегодня эта функция выполняется офицерами безопасности, которые вынуждены выезжать к банкомату для установки/смены мастер-ключа устройства).



Следует также сделать важное замечание, касающееся безопасности передачи зашифрованного значения ПИН-кода при его проверке картой. Здесь ситуация с шифрованием ПИН-блока радикальным образом отличается от ситуации при его шифровании в процессе онлайновой проверки ПИН-кода эмитентом. Разница состоит в том, что потенциальный мошенник знает значение ключа шифрования ПИН-блока, поскольку этим ключом является открытый ключ карты. Кроме того, мошеннику могут быть известны все шифруемые данные, за исключением значения ПИН-блока. К таким данным относятся случайное число карты (ICC Unpredictable Number), полученное терминалом от карты в ответ на команду GET CHALLENGE, а также случайная последовательность, сформированная терминалом (Random Pad Pattern). Имея доступ к этим данным терминала, мошенник получает возможность перебором всего лишь 10 000 различных вариантов значений ПИН-кода (напомним, что в подавляющем большинстве случаев ПИН-код имеет длину 4 цифры) найти правильное значение ПИН-кода. Принцип подобного перебора заключается в том, что мошенник знает значение зашифрованного ПИН-блока, случайное число карты и последовательно перебирает возможные значения ПИНкода, шифруя известные ему данные ставшим известным ему ключом до тех пор, пока полученное значение зашифрованного ПИН-блока не совпадет с уже известным мошеннику значением зашифрованного ПИН-блока. Значение ПИН-кода, при котором будет достигнут этот результат, и является целью мошенника.

Борьбы с компрометацией ПИН-кода

Таким образом, с точки зрения криптоанализа передача ПИН-кода в зашифрованном и открытом виде в этом случае… равноценны. С точки зрения практики, разумеется, требуется сделать невозможным для мошенника получение в его распоряжение случайного числа карты и/или случайной последовательности терминала. Эффективным способом борьбы с компрометацией ПИН-кода является формирование случайной последовательности терминала криптографическим модулем терминала. Однако "родные" криптографические модули, используемые в терминалах известных мировых производителей, вообще не реализуют функцию шифрования ПИН-блока в соответствии со стандартом EMV. Обычно алгоритм шифрования ПИН-блока реализуется в модулях SAM (Security Application Module), устанавливаемых в POS-терминалах.



В этом случае, как правило, терминал сам подготавливает случайную последовательность и передает ее в SAM для шифрования ПИН-блока с помощью алгоритма RSA. Как можно сделать вывод из сказанного выше, очевидно, что такой способ шифрования ПИН-блока уязвим. Поскольку случайное число карты и случайная последовательность терминала открыты для потенциального мошенника, то он, зная значение зашифрованного ПИН-блока и открытый ключ карты, легко восстанавливает значение ПИН-кода. Многие модули SAM содержат датчики случайных чисел. Поэтому при соответствующем программировании модуля SAM можно добиться того, чтобы случайная последовательность терминала генерировалась в этом модуле.



Итак, генерация случайной последовательности терминала в криптографическом модуле – единственно правильный подход к шифрованию ПИН-блока. Процедура генерации случайного числа модулем SAM не занимает много времени. Например, если датчик случайных чисел модуля SAM генерирует случайное число размером 8 байтов за 10 миллисекунд (в действительности – в разы быстрее), то для генерации последовательности терминала может потребоваться генерация порядка 15 таких случайных чисел, на что уйдет 150 миллисекунд. Этот показатель не окажет заметного влияния на время выполнения операции в терминале. Ввод значения ПИН-кода держателем карты займет значительно больше времени.



Конфиденциальность ПИН-кода важна в условиях гибридной сети приема карт, в рамках которой обслуживаются как карты с магнитной полосой, так и микропроцессорные карты. Как уже отмечалось, в случае исключительно "микропроцессорной" среды приема карт (т. е. когда прием карт с магнитной полосой исключен) знание значения ПИН-кода мошеннику ничего не дает. Для совершения успешной мошеннической операции помимо знания значения ПИН-кода необходимо иметь саму микропроцессорную карту. Поэтому в условиях приема только микропроцессорных карт держатель карты, уверенный в том, что он карту не потеряет и ее у него не украдут, может особенно и не скрывать вводимое им на терминале значение ПИН-кода.



Международные платежные системы активно рекомендуют эмитентам использовать офлайновую проверку ПИН-кода в качестве основного метода верификации держателя карты. В частности, и MasterCard, и Visa постепенно, по регионам, начинают вводить перенос ответственности, называемый Chip&PIN Liability Shift. Чтобы сформулировать сущность Chip&PIN Liability Shift, введем следующие определения. Будем называть микропроцессорную карту Chip&PIN-картой, если метод проверки ПИН-кода Offline PIN (независимо от способа передачи ПИН-кода – в защищенном или незащищенном виде) является самым приоритетным в списке CVM List в условиях выполнения данной операции. По-прежнему будем говорить, что терминал поддерживает метод Offline PIN, если он поддерживает защищенную и открытую передачу ПИН-кода на карту. Тогда перенос ответственности Chip&PIN Liability Shift формулируется следующим образом: если Chip&PIN-карта используется в терминале, не поддерживающем Offline PIN, то вся ответственность за потерянные/похищенные (Lost/Stolen) карты, а также неполученные карты (NRI) переносится на банк-эквайер.



В результате рекомендуемая платежными системами приоритетность правил верификации держателя карты в CVM List при выполнении операции с использованием DDA/CDA-карты в POS-терминале имеет следующий вид:

  1. Enciphered Offline PIN;
  2. Plaintext Offline PIN;
  3. Online PIN;
  4. Signature;
  5. No CVM.

Такая приоритетность правил верификации ЛСО рекомендуется для всех карточных продуктов Visa. Для кредитных продуктов MasterCard платежная система рекомендует поменять местами правила 3 и 4, а для карт Maestro требует исключить из списка правило 5.



Одной из серьезных "дыр" в модели обеспечения безопасности операций, выполняемых с использованием микропроцессорных карт, является практическая возможность заведения мошенником ложного открытого ключа системы в POS-терминал. Изготовив под ложным ключом системы сертификаты ключа эмитента, далее можно выпустить поддельные карты, которые будут успешно работать в терминалах с загруженным ложным ключом.



Естественным способом борьбы с такого рода мошенничеством является создание подписи вводимых в терминал ключей системы на ключе обслуживающего банка. Такая подпись проверяется криптографическим модулем терминала при выполнении каждой транзакции, тем самым обеспечивая целостность ключевой информации на терминале. В этом случае, не обладая ключом обслуживающего банка, невозможно успешно завести/использовать ложный открытый ключ системы. К сожалению, для того чтобы обойти упомянутую защиту открытых ключей системы, преступник может выбрать иной путь, нежели компрометация секретного ключа обслуживающего банка. Для совершения мошеннической операции ему достаточно загрузить на терминал фальшивый исполняемый модуль, который в отличие от приложения обслуживающего банка не станет проверять подпись используемого ключа. В этом случае описанная выше защита не работает.



Чтобы лишить мошенника возможности замены приложения терминала, требуется подключить ресурсы операционной системы (загрузчика ОС) и криптографического процессора терминала. Все команды загрузки/удаления программных модулей должны подписываться обслуживающим банком (или его авторизованным представителем), а подпись должна проверяться криптографическим модулем терминала (например, модулем SAM или специализированной микропроцессорной картой). В то же время отметим, что проблема обеспечения целостности приложения терминала не является надуманной.



По мнению экспертов в области безопасности карточных операций, по мере повышения защищенности карт внимание мошенников все чаще будет обращаться на среду их обслуживания. Терминал является близким окружением карты и потому, несомненно, станет мишенью для атак. Поскольку терминал сегодня фактически представляет собой персональный компьютер, то для атак будут использоваться те же методы, что и в случае атак на PC. В частности, применение специальных вредоносных программ (аналог программ spyware, Trojan horse, keyboard/ screen logger или иных вирусов) позволит мошеннику получать интересующую его информацию о карте (например, содержимое второй дорожки магнитной полосы карты, значение случайной последовательности терминала и случайного числа карты, используемых для шифрования ПИН-блока, значение зашифрованного ПИН-блока и т. п.).



Важна также и проблема подмены настоящего POS-терминала банка терминалом, установленным мошенниками. В отличие от стоимости банкомата стоимость POS-терминала невелика – 400–600 долл. США. Поэтому подобная подмена является весьма правдоподобной при сговоре мошенника с кассиром торгового предприятия (как уже упоминалось, известны случаи установки даже "фальшивых" банкоматов!). Возможны также ситуации, когда недобросовестное торговое предприятие будет использовать POS-терминал только с целью сбора информации о картах.



В случае применения "фальшивого" терминала может компрометироваться не только содержимое магнитной дорожки карты, но и значение ПИН-кода держателя карты. С учетом использования на практике гибридных карт, имеющих как чип, так и магнитную полосу, получив информацию о магнитной дорожке карты и значение ее ПИН-кода, мошенник может изготовить "белые" карты для их последующего использования в банкомате для снятия наличных.



Для решения проблемы возможной установки преступниками "фальшивого" POS-терминала при обработке карточных операций в онлайновом режиме необходимо повсеместно внедрять коды MAC для сообщений, циркулирующих между терминалом и хостом обслуживающего банка. Это обеспечит целостность информационного обмена и аутентификацию POS-терминала. Между тем использование кодов MAC позволяет эффективно решить проблему только для онлайновых операций. Информация об офлайновых транзакциях, выполненных на терминале, также может подписываться для передачи в обслуживающий банк. Однако мошеннический терминал может и не передавать эту информацию в банк достаточно долго или вообще никогда. К сожалению, в случае, когда терминал действует в офлайновом режиме, кроме стандартных организационных мер для борьбы с подобного рода мошенничествами участникам рынка предложить пока нечего.



Достаточно эффективным способом борьбы с подменой POS-терминалов могло бы стать введение в рамках стандарта EMV процедуры взаимной аутентификации карты и терминала. Заведение на терминал пары секретного и открытого асимметричных ключей обслуживающего банка и сертификата этого ключа на ключе системы, а также поддержка картой процедуры аутентификации терминала и хранение на карте хэш-функций открытых ключей системы позволит исключить подмену терминала. Хранение на карте хэшфункций открытых ключей системы необходимо для того, чтобы избежать ситуации, когда мошенник сам придумывает ложный ключ системы и генерирует пару ключей для их заведения в терминал обслуживающего банка с сертификатом, вычисленным на ложном ключе системы.



Разумеется, хранение хэш-функций ключей системы (очевидно, что придется хранить информацию о ключах, сгенерированных "впрок", чтобы избежать ситуации, когда во время жизненного цикла карты на терминалах появятся ключи системы, неизвестные карте) накладывает ограничения на размер памяти EEPROM карты. Терминал должен хранить до 6 ключей одной системы. Поэтому с учетом ключей, заводимых в терминал "впрок", и длины значения хэш-функции SHA-1, равной 20 байтам, потребуется зарезервировать около 200 байтов памяти карты EEPROM для одной платежной системы.



Заключение



Не следует считать, что современная ситуация с компрометацией ПИН-кодов является катастрофической или хотя бы достигла просто угрожающего для индустрии платежных карт уровня. Возможно, автор настоящей статьи слишком сгустил краски вокруг этой проблемы. Кроме того, повсеместный переход на технологию микропроцессорных карт, свидетелями начала которого мы все являемся, заметно снизит актуальность проблемы. В случае повсеместного внедрения микропроцессорных карт компрометация ПИН-кода уже ничего не даст злоумышленнику, поскольку для выполнения мошеннической операции ему потребуется и сама карта законного держателя, которой в большинстве случаев злоумышленник не располагает.



Однако до момента полной миграции на микропроцессорные карты пройдет еще не менее десятилетия. Сегодня во всем мире только порядка 15% карт, 20% POS-терминалов и 12,5% банкоматов являются EMV-совместимыми. А это значит, что те угрозы, о которых было рассказано в настоящей статье, являются по-прежнему актуальными, и к ним нужно относиться более чем серьезно.



С точки зрения практики это сводится в первую очередь, конечно же, к соблюдению требований к безопасности генерации, хранения и передачи значений ПИН-кодов, опубликованных в документе PCI PIN Security Requirements. В соответствии с этими требованиями необходимо уделять самое пристальное внимание ограничению прямого доступа (не из приложения ПЦ) к HSM. Доступ к HSM должен выполняться под двойным контролем и желательно только с целью загрузки новых ключей (автор статьи, имеющий опыт работы в крупнейшем в России ПЦ, может утверждать, что на практике такое ограничение прямого доступа к HSM вполне возможно). Все остальные функции HSM (генерация/верификация ПИН-кода, PIN Offset Calculation, PVV Calculation, PIN translation и т. п.) должны реализовываться только по запросам из приложения ПЦ.



Отметим также, что в приложении ПЦ необходимо предусмотреть запрет конверсии ПИН-блоков из безопасных форматов в форматы ISO-1 и ISO-2. Это позволит избежать всех атак, изложенных в одной из рассматриваемых в данной статье научных работ (2).




Литература



 1. Joloyn Clulow. The Design and Analysis of Cryptographic Application Programming Interfaces for Security Devices. A dissertation to University of Natal, Durban, South Africa, 2003.



2. Omer Berkman, Odelia Moshe Ostrovsky "The unbearable lightness of PIN cracking", Tel Aviv University, School of Computer Science, 2006.



3. И.М.Голдовский. "Микропроцессорные карты стандарта EMV". – М.: Издательская группа "БДЦ-Пресс", 2006 – 544с.

Рубрика:
{}
Теги:
#

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