Криптография CC понятная для всех

Forum Library

Professional
Messages
1,168
Reputation
195
Reaction score
483
Points
83
Сразу хочу заменить статья написана не мною и не кардерами с различных форумов.Статью эту я давно прочел и хранилась она у меня на харде,думаю многим она будет интересна.

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

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

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

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

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

Второе по распространенности использование криптографии это предоставление механизмов контроля за оригинальностью магнитной ленты . Назначение заключается в предупреждении создания карт мошенническим путем , когда на ленту записывается значение, которое не может быть получено из видимой информации, содержащейся на карте. Когда карта проверяется в режиме онлайн, это значение может быть проверено для того чтобы подтвердить подлинность карты. Для этого существует несколько различных стандартов, самые используемые это Visa Card Verification Value (CVV) или, аналог для Мастеркарда, CVC. В этом документе я буду ссылаться на механизм CVV, так как он используется наиболее часто.

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

Простое шифрование
Понимание обычных механизмов шифрования необходимо для понятия соедержимого это го документа.

Большинство шифрований магнитных карт базируется на Алгоритме Шифрования Данных (DEA), называемым DES или Стандарт Шифрования Данных. Идея лежащая в этом алгоритме заключается в том что оригинальное (нешифрованное) значение, передается алгоритму DES, который может быть выпонен как в программном, так и в аппаратном виде. Затем DES шифрует чистое значение, используя ключ (секретный, 64-битный), и на выходе выдает зашифрованное значение.

Входная незашифрованная информация обычно называется Чистым текстом (Cleartext), в то время как зашифрованный результат – Шифрованный текст (Ciphertext). Механизм переработки Cleartext в Ciphertext, согласно терминам DES называется `encipher’ операцией.

Примите во внимание следующее:

Алогритм DES НЕ ЯВЛЯЕТСЯ секретным. Он доступен для широкого использования. Однако, КЛЮЧ является секретным.

Этот процесс является реверсивным. Функцию DES ‘decipher’, используя тот же самый ключ, переработает шифрованную информацию в открытую (оригинальную).

Безопасность и целостность всего процесса шифрации зависит от секретности используемого ключа. Ключ это случайное значение, которое очень жестко защищено. Большинство сложностей, связанных с шифровальными системами DES связаны с защитой, хранением и передачей ключей, и эти действия называются “key management” – операции с ключами.

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

Простой пример для демнострации: пароли на входе компьютерных систем.

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

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

Обмен динамическим ключом
Много финансовых систем внедряют обмен динамическим ключом. В то время как это напрямую не отностится к магнитным картам, это достаточно актуально для того чтобы обратить на это внимание.

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

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

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

Обработка ПИН
Принцип ПИН основан на том факте, что никто кроме легального владельца карты его не знает. Поэтому, когда ПИН предоставляется клиенту:

ПИН не должен хранится нигде в открытом виде

ПИН не должен быть реверсирован на основании информации на магнитной ленте или базы данных.It must not be possible to reverse-engineer the PIN from information on the magnetic stripe or from a centrally held database

Обычно, ПИН это 4-значное число. Существуют и другие схемы но мы используем этот формат для иллюстрации, поскольку это общепризнанный стандарт.Normally, a PIN is a 4-digit numeric value. Other schemes exist, but we will use this format for illustration as it is a common standard.

Когда выпускается ПИН, очередность событий такова:

Генерируется 4-значное число - это ПИН

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

Входной блок трижды шифруется, использую рабочие ключи ПИН

Выбираются цифры из зашифрованного результата. Они становится Pin Verification Value (Число Проверки ПИН) или Pin Offset (Смещение ПИН)

Смещение ПИН сохраняется

Печатается конверт с ПИН

Память очищается нулями, чтобы скрыть все следы присутствия чистого ПИН

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

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

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

Заметки:

I. В некоторых случаях, смещение ПИН хранится на магнитной полосе. Это используется в тех терминалах, которые могут проверять ПИН локально. Однако, это становится все более редким.

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

III. Метод описанные выше стандартны. Однако есть много вариантов, как например IBM3624 Method-A, метод Diebold , и т.д., однако принципы везде одни и те же.

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

Обработка CVV
Быстро стало понятно что распространение денежных карт привело к риску финансовых институтов со стороны мошенников. В мире кредитных карт это к производству карт с или без магнитной полосы, подделывая имена и логотипы. На арене ATM карт, злоумышленники наблюдали за вводом ПИН «через плечо», сопоставляли ПИНы с информацией на квитанциях и создавали свои магнитные ленты на болванках для карт.

Эти и другие угрозы подвели к введению Card Verification Value, невозможной для получения последовательности цифр, создаваемой процессом шифровки и записанной на магнитную ленту карты. Это означает что электронный сбор информации о транзакциях (ATM или POS) эффективно защищен от мошенников.

Комбинация статичных данных как, например, номер счета трижды шифруется, используя специальную пару ключей Card Verification. Выбранные из результата цифры используются для создания CVV и пишутся на магнитную ленту.

К CVV относится все то же самое, что и к Pin Offset. Т.к. CVV состоит из нескольких цифр, и используется тройная шифрация, ключи CVV и значения хорошо защищены и наличие CVV дает дополнительный уровень подтверждения что карта не является поддельной.

Нужно заметить что CVV просто дополнительный метод защиты, он так же не 100%-но надежен. Он, например не защищает от мошеннического сбора информации с магнитных карт, например на фальшивых ATM (банкоматах).

Дальнейшее развитие CVV, CVV2, используется для авторизации по телефону. Приблизительно такая же схема расчетов как и для CVV, выбранные из результата цифры печатаются на обороте карты. Эти цифры могут быть запрошены, чтобы подтвердить правомерность сделки. Опять же, это всего лишь дополнительная проверка.

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

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

В хороших системах рабочие ключи никогда не хранятся в незашифрованном формате. Даже когда они создаются, часто это происходит автоматически так что ключи никогда не известны людям.

Когда создаются инициализационные ключи, 64 бита делятся между двумя или более людьми, которые «бросают монетку» для каждого бита. Так как каждый работает с одним из сегментов ключа, целый ключ неизвестен никому, так обычно делается изначальное создание мастер-ключа.

Несмотря на простую концепцию, управление ключами может стать довольно сложным на практике.

В простой ATM сети например, мастер-ключ терминала используется для шифровки рабочих ключей при передаче. Мастер-ключ терминала (МКТ) генерируется для каждого терминала, делится на 2 части и печатается (или иногда шифруется на специальной магнитной карте). Каждый ТМК затем инсталлируется в банкомат.

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

Нужно заметить, что обмен ключами – это самое слабое место DES систем, поэтому нужно особенно тщательно продумывать систему управления ключами.

Физическое приложение
Зашифрованный процессинг и управление ключами обычно проводится на специализированном защищенном оборудовании. DES может быть встроен и в программное обеспечение (используя такие продукты как например IBM’s PCF), но это менее безопасно, к тому же алгоритм DES может усиленно использовать ресурсы процессора.

Есть компании, специализирующиеся на выделенных шифровальных объектах, как например Racal и Atalla. Обычно они называются HSM (Защищенный Модуль Хоста), однако Racal решает как назвать объект.

Используя эти устройства, вся шифровка/дешифровка происходит в закрытом устройстве и ключи в чистом виде никогда его не покидают.

Физически HSM защищены от вскрытия и обычно инсталлируются в защищенных компьютерных отделах. Попытки открыть их приведут к уничтожению ключей находящихся в устройстве.

Некоторые приложение используют физическую телекоммуникационную линию для дополнительной безопасности и есть много поставщиков устройств такого типа. Они представляют собой «черный ящик» и не требуют специальных знаний.

Примеры
Шифрование при выдаче денег в банкомате
Обычная ATM транзакция:

Клиент вводит карту в банкомат

Клиент вводит свой ПИН

Клиент запрашивает наличные

Транзакция подтверждена, наличные выданы

В этот процесс вовлечено очень много шифровок. Для простоты, предположим что банк получателя и отправителя один и тот же.

1. Клиент вводит карту в банкомат

Магнитная лента читается и сохраняется в буфере банкомата.

2. Клиент вводит свой ПИН

ПИН вводится в защищенный от изменения пад. Сохраненный ПИН заносится в защитный аппаратный модуль.

3. Клиент запрашивает наличные

Сообщение создается в ATM. ПИН (и возможно что-то еще) шифруется ключом Терминала.

Сообщение посылается хосту, возможно зашифрованное аппаратно.

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

4. Транзакция подтверждена, наличные выданы

Замечание: все функции шифрования хоста обычно происходят в Защищенном модуле. Никакие значения в чистом виде не передаются прикладным программам или вне защищенного окружения.

Криптография в транзакции EFTPoS
CVV с магнитной полосы может быть проверена на системе хоста чтобы отследить фальшивые карты. Это работает только в онлайн-системах, так как проверка CVV требует некоторых шифровальных вычислений на хосте.

Заметка: Некоторые производители поддерживают локальное хранение ключей на устройствах EFTPoS и терминалах. Ввиду сложностей управления ключами, эти устройства здесь не рассматриваются.

Более типичное использование криптографии в EFTPoS (и, все больше в ATM и других системах) это MAC (Код Аутентификации Сообщения). MAC-проверка может быть представлена как значение, вычисляемое из содержания критичных полей сообщения (номер карты, количество денег и т.д.) и затем передачи через шифровальный алгоритм. Хотя сообщение передается в чистом виде, получатель определит достоверность полей путем проверки значения MAC. Говоря техническим языком, MAC это зашифрованное LRC поле. Размер MAC определен в ISO8583 как 16 байт.

Другие приложения шифрования в финансах
Так же как и обычные использования шифрования как описано выше, межбанковские сети (например SWIFT) исторически были активными пользователями шифровальных техник.

Множество новых способов доставки и еще более широкое распространение прогрессивных технологий увеличило интерес и использование шифрования.

В случаях когда криптография требуется для широкого распространения среди общества (например домашний банкинг с помощью PC), обычный DES слишком сложен для безопасного управления. В такие системы внедрены более подходящие и безопасные алгоритмы , такие как RSA (система шифрования с открытым ключом).

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

(с) unnamed
 
Top