Рис. 23. Архитектура смарт-карты
В настоящее время в смарт-карты устанавливают:
• микропроцессоры с текстовой частотой 5 Мгц;
• оперативное ЗУ емкостью до 256 байт;
• постоянное ЗУ емкостью до 10 Кбайт;
• энергонезависимое ЗУ емкостью до 8 Кбайт.
В ПЗУ записан специальный набор программ, называемый операционной системой карты COS (Card Operation System). Операционная система поддерживает файловую систему, базирующуюся в ЭСППЗУ (емкость которого обычно находится в диапазоне 1...8 Кбайт, но может достигать и 64 Кбайт) и обеспечивающую регламентацию доступа к данным, При этом часть данных может быть доступна только внутренним программам карточки.
Смарт-карта обеспечивает обширный набор функций:
• разграничение полномочий доступа к внутренним ресурсам (благодаря работе с защищенной файловой системой);
• шифрование данных с применением различных алгоритмов;
• формирование электронной цифровой подписи;
• ведение ключевой системы;
• выполнение всех операций взаимодействия владельца карты, банка и торговца.
Некоторое карты обеспечивают режим "самоблокировки" (невозможность дальнейшей работы с ней) при попытке несанкционированного доступа. Смарт-карты позволяют существенно упростить процедуру идентификации клиента. Для проверки PIN-кода применяется алгоритм, реализуемый микропроцессором на карте. Это позволяет отказаться от работы POS-терминала и банкомата в режиме реального времени и централизованной проверки PIN. Отмеченные выше особенности делают смарт-карту высокозащищенным платежным инструментом, который может быть использован в финансовых приложениях, предъявляющих повышенные требования к защите информации. Именно поэтому микропроцессорные смарт-карты рассматриваются в настоящее время как наиболее перспективный вид пластиковых карт.
По принципу взаимодействия со считывающим устройством различают карты двух типов:
• карты с контактным считыванием;
• карты с бесконтактным считыванием.
Карта с контактным считыванием имеет на своей поверхности 8...10 контактных пластин. Размещение контактных пластин, их количество и назначение выводов различны у разных производителей и естественно, что считыватели для карт данного типа различаются между собой.
В последние годы начали широко применяться карты с бесконтактным считыванием. В них обмен данными между картой и считывающим устройством производится индукционным способом. Очевидно, что такие карты надежнее и долговечнее.
Персонализация и авторизация карт являются важными этапами подготовки и применения пластиковых карт.
Персонализация карты осуществляется при выдаче карты клиенту. При этом на карту заносятся данные, позволяющие идентифицировать карту и ее держателя, а также осуществить проверку платежеспособности карты при приеме ее к оплате или выдаче наличных денег.
Под авторизацией понимают процесс утверждения продажи или выдачи наличных по карте. Для проведения авторизации точка обслуживания делает запрос платежной системе о подтверждении полномочий предъявителя карты и его финансовых возможностей. Технология авторизации зависит от типа карты, схемы платежной системы и технической оснащенности точки обслуживания.
Исторически сложилось так, что первоначальным способом персонализации карт было эмбоссирование.
Эмбоссирование - это процесс рельефного тиснения данных на пластиковой основе карты. На картах банков-эмитентов эмбоссируются, как правило, следующие данные:
номер карты;
даты начала и окончания срока ее действия;
фамилия и имя владельца.
Некоторые платежные системы, например Visa, требуют тиснения двух специальных символов, однозначно идентифицирующих принадлежность банка-эмитента к платежной системе. Эмбоссеры (устройства для тиснения рельефа на карте) выпускает ограниченный круг изготовителей. В ряде стран Запада законодательно запрещена свободная продажа эмбоссеров. Специальные символы, подтверждающие принадлежность карты к той или иной платежной системе, поставляются владельцу эмбоссера только с разрешения руководящего органа платежной системы. Эмбоссированная карта может служить средством платежа при использовании импринтера - устройства для прокатки слипа (чека), подтверждающего совершенную платежную операцию.
К персонализации карт относится также кодирование магнитной полосы либо программирование микросхемы.
Кодирование магнитной полосы производится, как правило, на том же оборудовании, что и эмбоссирование. При этом часть информации о карте, содержащая номер карты и период ее действия, одинаковая как на магнитной полосе, так и на рельефе. Однако бывают ситуации, когда после первичного кодирования требуется дополнительно занести информацию на магнитную дорожку. В этом случае применяются специальные устройства с функцией "чтение-запись". Это возможно, в частности, когда PIN-код для пользования картой не формируется специальной программой, а может быть выбран клиентом по своему усмотрению.
Программирование микросхемы не требует особых технологических приемов, но зато оно имеет некоторые организационные особенности. В частности, для повышения безопасности и исключения возможных злоупотреблений операции по программированию различных областей микросхемы разнесены территориально и разграничены по правам различных сотрудников, участвующих в этом процессе.
Обычно эта процедура разбивается на три этапа:
• на первом рабочем месте выполняется активация карты (ввод ее в действие);
• на втором рабочем месте выполняются операции, связанные с обеспечением безопасности;
• на третьем рабочем месте производится собственно персонализация карты.
Традиционно процесс авторизации проводится либо "вручную", когда продавец или кассир передает запрос по телефону оператору (голосовая авторизация), либо автоматически, когда карта помещается в POS-терминал, данные считываются с карты, кассиром вводится сумма платежа, а владельцем карты со специальной клавиатуры - секретный PIN-код. После этого терминал осуществляет авторизацию, либо устанавливая связь с базой данных платежной системы (on-line режим), либо реализуя дополнительный обмен данными с самой картой (off-line авторизация). В случае выдачи наличных денег процесс носит аналогичный характер, с той лишь особенностью, что деньги в автоматическом режиме выдаются специальным устройством - банкоматом, который и проводит авторизацию.
Для защиты карт от подделки и последующего несанкционированного применения используются различные методы и способы. Например, для персонализации карт может применяться нанесение на пластиковую основу черно-белой или цветной фотографии владельца карты методом термопечати. На любой карте всегда существует специальная полоска с образцом подписи владельца карты. Для защиты карты, как таковой, различные платежные сообщества применяют специальные объемные изображения на лицевой и оборотной стороне карты (голограммы).
Персональный идентификационный номер
Испытанным способом идентификации держателя банковской карты является использование секретного персонального идентификационного номера PIN. Значение PIN должно быть известно только держателю карты. Длина PIN должна быть достаточно большой, чтобы вероятность угадывания злоумышленником правильного значения с помощью атаки полного перебора значений была приемлемо малой. С другой стороны, длина PIN должна быть достаточно короткой, чтобы дать возможность держателям карт запомнить его значение. Рекомендуемая длина PIN составляет 4...8 десятичных цифр, но может достигать 12.
Предположим, что PIN имеет длину четыре цифры, тогда противник, пытающийся подобрать значение PIN к банковской карте, стоит перед проблемой выбора одной из десяти тысяч возможностей. Если число попыток ввода некорректного значения PIN ограничивается пятью на карту в день, этот противник имеет шансы на успех менее чем 1:2000. Но на следующий день противник может попытаться снова, и его шансы увеличиваются до 1:1000. Каждый следующий день увеличивает вероятность успеха противника, Поэтому многие банки вводят абсолютный предел на число неверных попыток ввода PIN на карту, чтобы исключить атаку такого рода. Если установленный предел превышен, считается, что данная карта неправильная, и ее отбирают.
Значение PIN однозначно связано с соответствующими атрибутами банковской карты, поэтому PIN можно трактовать как подпись держателя карточки. Чтобы инициировать транзакцию, держатель карты, который использует POS-терминал, вставляет свою карту в специальную щель считывателя и вводит свой PIN, используя специальную клавиатуру терминала. Если введенное значение PIN и номер счета клиента, записанный на магнитной полосе карты, согласуются между собой, тогда инициируется транзакция.
Защита персонального идентификационного номера PIN для банковской карты является критичной для безопасности всей платежной системы. Банковские карты могут быть потеряны, украдены или подделаны. В таких случаях единственной контрмерой против несанкционированного доступа остается секретное значение PIN. Вот почему открытая форма PIN должна быть известна только законному владельцу карты. Она никогда не хранится и не передается в рамках системы электронных платежей. Очевидно, значение PIN нужно держать в секрете в течение всего срока действия карты.
Метод генерации значения P!N оказывает существенное влияние на безопасность электронной платежной системы. Вообще, персональные идентификационные номера могут формироваться либо банком, либо держателями карт. В частности, клиент различает два типа PIN:
• PIN, назначенный ему банком, выдавшим карту;
• PIN, выбираемый держателем карты самостоятельно.
Если PIN назначается банком, банк обычно использует один из двух вариантов процедур генерации PIN.
При первом варианте PIN генерируется криптографически из номера счета держателя карточки. Процесс генерации назначаемого PIN из номера счета показан на рис. 24. Сначала номер счета клиента дополняется нулями или другой константой до 16 шестнадцатеричных цифр (8 байт). Затем получившиеся 8 байт шифруются по алгоритму DES с использованием секретного ключа. Из полученного шифртекста длиной 8 байт поочередно выделяют 4-битовые блоки, начиная с младшего байта. Если число, образуемое этими битами, меньше 10, то полученная цифра включается в PIN, иначе это значение не используется. Таким путем обрабатывают все 64 бита (8 байт). Если в результате обработки не удалось получить сразу требуемое количество десятичных цифр, то обращаются к неиспользованным 4-битовым блокам, из которых вычитают 10.
Рис.24. Схема выведения PIN из номера счета клиента
Очевидное достоинство этой процедуры заключается в том, что значение PIN не нужно хранить внутри электронной платежной системы. Недостатком этого подхода является то, что при необходимости изменения PIN требуется выбор либо нового счета клиента, либо нового криптографического ключа. Банки предпочитают, чтобы номер счета клиента оставался фиксированным. С другой стороны, поскольку все PIN вычисляют, используя одинаковый криптографический ключ, изменение одного PIN при сохранении счета клиента неизбежно влечет за собой изменение всех персональных идентификационных номеров.
При втором варианте банк выбирает значение PIN случайным образом, сохраняя значение этого PIN в виде соответствующей криптограммы. Выбранные значения PIN банк передает держателям банковских карт, пользуясь защищенным каналом.
Использование PIN, назначенного банком, неудобно для клиента даже при небольшой его длине. Такой PIN трудно удержать в памяти, и поэтому держатель карты может записать его куда-нибудь. Главное - это не записать PIN непосредственно на карту или какое-нибудь другое видное место. Иначе задача злоумышленника будет сильно облегчена.
Для большего удобства клиента используют значение PIN, выбираемое самим клиентом. Такой способ определения значения PIN позволяет клиенту:
• использовать один и тот же PIN для различных целей;
• задавать PIN как совокупность букв и цифр (для удобства запоминания).
Когда PIN выбран клиентом, он должен быть доведен до сведения банка. PIN может быть передан в банк заказной почтой или отправлен через защищенный терминал, размещенный в банковском офисе, который немедленно его шифрует. Если банку необходимо использовать выбранный клиентом PIN, тогда поступают следующим образом. Каждую цифру выбранного клиентом PIN складывают по модулю 10 (без учета переносов) с соответствующей цифрой PIN, выводимого банком из счета клиента. Получаемое десятичное число называется "смещением". Это смещение запоминается на карте клиента. Поскольку выводимый PIN имеет случайный характер, то выбранный клиентом PIN невозможно определить по его "смещению".
Главное требование безопасности состоит в том, что значение PIN должно запоминаться владельцем карты и никогда не должно храниться в любой читабельной форме. Но люди несовершенны и очень часто забывают свои значения PIN. Поэтому банки должны заранее заготовить специальные процедуры для таких случаев. Банк может реализовать один из следующих подходов. Первый основан на восстановлении забытого клиентом значения PIN и отправке его обратно владельцу карты. При втором подходе просто генерируется новое значение PIN.
При идентификации клиента по значению PIN и предъявленной карте используются два основных способа проверки PIN: неалгоритмический и алгоритмический.
Неалгоритмический способ проверки PIN не требует применения специальных алгоритмов. Проверка PIN осуществляется путем непосредственного сравнения введенного клиентом PIN со значениями, хранимыми в базе данных. Обычно база данных со значениями PIN клиентов шифруется методом прозрачного шифрования, чтобы повысить ее защищенность, не усложняя процесса сравнения.
Алгоритмический способ проверки PIN заключается в том, что введенный клиентом PIN преобразуют по определенному алгоритму с использованием секретного ключа и затем сравнивают со значением PIN, хранящимся в определенной форме на карте. Достоинства этого метода проверки:
• отсутствие копии PIN на главном компьютере исключает его раскрытие персоналом банка;
• отсутствие передачи PIN между банкоматом или POS-терминалом и главным компьютером банка исключает его перехват злоумышленником или навязывание результатов сравнения;
• упрощение работы по созданию программного обеспечения системы, так как уже нет необходимости действий в реальном масштабе времени.
Обеспечение безопасности систем POS
Системы POS (Point-Or-Sale), обеспечивающие расчеты продавца и покупателя в точке продажи, получили широкое распространение в развитых странах и, в частности, в США. Системы POS осуществляют проверку и обслуживание дебетовых и кредитных карт покупателя непосредственно в местах продажи товаров и услуг в рамках системы электронных платежей. POS терминалы, входящие в эти системы, размещаются на различных предприятиях торговли - в супермаркетах, на автозаправочных станциях и т.п.
POS-терминалы предназначены для обработки транзакций при финансовых расчетах с использованием пластиковых карт с магнитной полосой и смарт-карт. Использование POS-терминалов позволяет автоматизировать операции по обслуживанию этих карт и существенно уменьшить время обслуживания. Возможности и комплектация POS-терминалов варьируются в широких пределах, однако типичный современный POS-терминал снабжен устройствами считывания как с карт с магнитной полосой, так и со смарт-карт; энергонезависимой памятью; портами для подключения PIN-клавиатуры (клавиатуры для набора клиентом PIN-кода); принтера; соединения с персональным компьютером или электронным кассовым аппаратом.
Обычно POS-терминал бывает также оснащен модемом с возможностью автодозвона. POS-терминал обладает "интеллектуальными" возможностями - его можно программировать. В качестве языков программирования используются язык ассемблера, а также диалекты языков Си и Бейсик. Все это позволяет проводить авторизацию карт с магнитной полосой в режиме реального времени (on-line) и использовать при работе со смарт-картами автономный режим (off-line) с накоплением протоколов транзакций. Эти протоколы транзакций передаются в процессинговый центр во время сеансов связи. Во время этих сеансов POS-терминал может также принимать и запоминать информацию, передаваемую ЭВМ процессингового центра. В основном это бывают стоп-листы.
Стоимость POS-терминалов в зависимости от комплектации и возможностей может меняться от нескольких сотен до нескольких тысяч долларов, хотя обычно не превышает полутора-двух тысяч долларов. Размеры и вес POS-терминала сопоставимы с аналогичными параметрами телефонного аппарата Схема системы POS приведена на рис.25. Покупатель для оплаты покупки предъявляет свою дебетовую или кредитную карту и вводит значение PIN для подтверждения личности. Продавец, в свою очередь, вводит сумму денег, которую необходимо уплатить за покупку или услуги. Затем в банк-эквайер (банк продавца) направляется запрос на перевод денег. Банк-эквайер переадресует этот запрос в банк-эмитент для проверки подлинности карты, предъявленной покупателем. Если эта карта подлинная и покупатель имеет право применять ее для оплаты продуктов и услуг, банк-эмитент переводит деньги в банк-эквайер на счет продавца. После перевода денег на счет продавца банк-эквайер посылает на POS -терминал извещение, в котором сообщает о завершении транзакции. После этого продавец выдает покупателю товар и извещение.
Следует обратить внимание на тот сложный путь, который должна проделать информация о покупке, прежде чем будет осуществлена транзакция. Во время прохождения этого пути возможны искажения и потеря сообщений.
Для защиты системы POS должны выполняться следующие требования.
• Проверка PIN, введенного покупателем, должна производиться системой банка-эмитента. При пересылке по каналам связи значение PIN должно быть зашифровано.
• Сообщения, содержащие запрос на перевод денег (или подтверждение о переводе), должны проверяться на подлинность для защиты от замены и внесения изменений при прохождении по линиям связи и обрабатывающим процессорам
|