На практике довольствуются добавлением одной цифры или «ключа контроля» к цифрам, правильность которых должна быть гарантирована, — и это вне зависимости от количества содержащихся в числе цифр.
Естественно, эта цифра выбирается таким образом, чтобы проверялись все перечисленные выше правила. Можно доказать, что это всегда возможно и что рассматриваемая цифра единственна.
К примеру, защищенные таким каскадным способом тройного контроля цифры кредитной карточки, считываемые на дорожке ISO 2, вполне могут считаться защищенными от любого случайного сбоя. Между тем, они не носят никакого конфиденциального характера, поскольку полностью отпечатываются кассовым аппаратом на любом чеке и хранятся продавцом в качестве доказательства.
Только проверка подписи или, еще лучше, четырехзначного конфиденциального кода может считаться достаточным доказательством подлинности произведенной транзакции, хотя банки все чаще стараются на договорной основе перекладывать эту ответственность на плечи своих клиентов.
ПРИМЕРЫ КОДИРОВАННОЙ ИНФОРМАЦИИ
Несмотря на то что стандарты, фиксирующие содержимое различных дорожек (и особенно ISO 2), касаются, в основном, карт с финансовой направленностью, единообразие которых должно обеспечиваться на международном уровне, они, в конце концов, применяются и подавляющим большинством изготовителей самых разнообразных карт.
Для изготовителей это своего рода упрощение и залог надежности, а для нас — удача в том смысле, что нам проще будет раскрывать маленькие секреты карт, считыванием которых мы сейчас и займемся.
Банковские карты
Прежде всего, обратимся к изучению банковских карточек, которые выпускаются в строжайшем соответствии со стандартами, и дорожки ISO 2, поскольку она используется чаще других.
Примерное содержимое банковской карточки
Пример, приведенный выше, естественно, не взят с персональной банковской карточки автора, а составлен на базе выдуманного номера, широко используемого на табличках, указывающих на то, что в данном месте принимаются банковские карточки: 4970 1012 3456 7890. И хотя этот номер недействителен (ключ контроля намеренно неверен), его первые цифры совершенно правдивы. Они идентифицируют изготовителя карточки, а следующие принадлежат ее владельцу. Таким образом, номера MASTERCARD и EUROCARD начинаются с 5, a VISA — с 4.
Например, цифры 4970 встречаются в начале номеров карт VISA, выпущенных La Poste, а номера карт, выпущенных, скажем, Societe Generale, начинаются с 4973. За границей встречаются другие номера, например 4567.
Первое поле данных (между флажком и разделителем) содержит только номер карты в том виде, в котором он выдавлен. Второе поле начинается сразу после разделителя с четырех цифр, указывающих срок действия данной карты в соответствии с форматом ААММ (год, год, месяц, месяц). Мы выбрали 9912 (декабрь 1999) совершенно произвольно.
Группа из трех цифр (101), которая следует затем, встречается, похоже, на всех банковских карточках. Речь идет о «служебном коде» данного приложения. Стоящие далее нули заменяют более конфиденциальные данные, которые никогда не пропечатываются ни на чеках продавцов, ни на билетах. Здесь содержится в зашифрованном виде копия четырехзначного конфиденциального кода владельца карты. Аналогичный код используется и в банковских чип-картах.
Создается впечатление, что эти так называемые дискретизированные данные просто-напросто игнорируются в некоторых приложениях, которые, обрабатывая транзакции (пересылки), проводимые только с небольшими суммами, не контролируют конфиденциальный код (например, автоматы платы за проезд по скоростной дороге, автоматы в телефонных кабинках и т. д.). Естественно, это значительно упрощает операции, но может вызвать серьезные проблемы в случае привлечения к ответственности или опротестования.
На рис. 2.2 представлено содержимое дорожки ISO 2, подтверждающее то, о чем мы так легко догадались сами, и вносящее некоторые полезные уточнения.
Рис. 2.2. Стандартизованное содержимое дорожки ISO 2
Например, из него мы узнаем, что «чистые» данные дорожки ISO 2 составляют 37 цифровых символов (по 5 бит). Учитывая биты start, end и LRC , получаем максимум 40 символов, речь о которых шла при рассмотрении рис. 2.1.
Читать дальше