Анимация
JavaScript
|
Главная Библионтека ных карточках следующего поколения наверняка возрастет, но определенные физические ограничения затру д-нят такие расширения. Карточка использует свою операционную систему, программы и данные . (Чего в ней нет, так это источника питания, электроэнергия подается, когда карточку вставляют в считыватель .) Карточка безопасна. В нашем меняющемся мире, когда нельзя доверять чужому компьютеру, телефону, да чему угодно, вы можете быть уверены в своей карточке, которая хранится в вашем бумажнике . В интеллектуальных карточках могут использоваться различные криптографические протоколы и алгоритмы. Они могут быть электронным кошельком, давая возможность тратить и получать электронные н а-личные. Карточки могут использоваться в протоколах проверки подлинности с нулевым знанием, они могут обладать собственными ключами шифрования. Возможно, они позволяют подписывать документы или снимать блокировку с компьютерных программ . Некоторые интеллектуальные карточки считаются устойчивыми к взлому, таким образом себя часто защ и-щают организации, эмитировавшие карточки . Банк вовсе не хочет, чтобы вы могли влезть в их интеллектуал ь-ную карточку и начислить себе побольше денег. Интеллектуальные карточки - это очень интересная тема, на которую написано множество литературы . Хорошей обзорной статьей по криптографии в интеллектуальных карточках может служить [672]. Ежегодно проводятся конференции: CARTES в октябре в Париже и CardTech в апреле в Вашингтоне, округ Колумбия. Труды двух других конференций по интеллектуальным карточкам можно найти в [342, 382]. В области интеллектуальных карточек существуют сотни патентов, частью принадлежащие европейским компаниям. Интересные вопросы будущего использования интеллектуальных карточек - проверка целостности, аудиторский контроль, защита от копирования, электронные наличные, оплата почтовых расходов - описаны в [1628]. 24.14 Стандарты криптографии с открытыми ключами Стандарты криптографии с открытыми ключами ( Public-Key Cryptography Standards, PKCS) - это попытка компании RSA Data Security, Inc обеспечить промышленный стандарт для криптографии с открытыми ключами. По традиции такими делами занимался ANSI, но, учитывая текущую ситуацию в криптографической политике, RSADSI решила, что лучше они все сделают сами. Работая со множеством компаний, RSADSI разработала набор стандартов. Некоторые из них совместимы с другими стандартами, а некоторые - нет. Эти стандарты не являются стандартами в общепринятом смысле этого слова, никто не собирался и не гол о-совал за PKCS. По своим собственным словам RSADSI "будет единственной организацией, правомочной принимать решения о каждом стандарте, и будет пересматривать эти стандарты по мере необходимости " [803]. Даже это уже совсем. Если вы неуверены, какие структуры данных и синтаксис использовать при програ м-мировании криптографии с открытыми ключами , эти стандарты не хуже каких-либо других. К тому же, так как это не настоящие стандарты, вы можете подстроить их под свои нужды . Далее приведено краткое описание каждого PKCS (PKCS #2 и PKCS #4 были включены в PKCS #1). PKCS #1 [1345] описывает способ шифрования и дешифрирования RSA, главным образом для создания цифровых подписей и цифровых конвертов, описанных в PKCS #7. Для цифровых подписей сообщение хэшируется, а затем хэш-значение шифруется закрытым ключом подписывающего . Совместное представление сообщения и хэш-значения подробно описано в in PKCS #7. Для цифровых конвертов (шифрованные сообщения) сообщение сначала шифруется симметричным алгоритмом, а затем ключ сообщений шифруется открытым ключом получ а-теля. Совместное представление шифрованного сообщения и шифрованного ключа должно соответствовать PKCS #7. Эти два метода совместимы со стандартами PEM. Для структуры сертификатов (или их подобия) о т-крытых и закрытых ключей RSA и трех алгоритмов подписи - MD2 и RSA, MD4 и RSA, MD5 и RSA - PKCS #l также описывает синтаксис, идентичный синтаксису X.509 и PEM. PKCS #3 [1346] описывает способ реализации обмена ключами по схеме Diffie-Hellman. PKCS #5 [1347) описывает способ шифрования сообщений секретным ключом, полученным из пароля . Стандарт использует MD2 или MD5 для получения ключа из пароля и шифрует сообщения с помощью DES в режиме CBC. Этот метод предназначен главным образом для шифрования закрытых ключей при их передаче от одной компьютерной системы другой, но может быть использован и для шифрования сообщений . PKCS #6 [1348] описывает стандартный синтаксис сертификатов открытых ключей . Синтаксис является надмножеством сертификата X.509, при необходимости можно извлечь и сертификат X.509. Дополнительные атрибуты не ограничивают процесс сертификации только открытым ключом. Они содержат и другую информ а-цию, например, адрес электронной почты . PKCS # 7 [1349] представляет собой общий синтаксис для подписываемых или шифруемых данных, напр и-мер, цифровых подписей или цифровых конвертов . Синтаксис является рекурсивным, поэтому можно организ о-вать вложенность конвертов или поставить чью-то подпись под ранее зашифрованными данными . Синтаксис также разрешает вместе с содержанием сообщения проверку подлинности других атрибутов, например, меток времени. PKCS #7 с PEM, поэтому подписанные и зашифрованные сообщения могут быть преобразованы в с о-общения PEM, и наоборот, без дополнительных криптографических операций . Для управления ключами с помощью сертификатов PKCS #7 может поддерживать множество архитектур - одной из них является PEM. PKCS #8 [1350] описывает синтаксис информации о закрытых ключах, включая закрытый ключ и набор а т-рибутов, и синтаксис шифрованных закрытых ключей . Для шифрования информации о закрытых ключах можно использовать PKCS #5. PKCS #9 [1351] определяет избранные типы атрибутов для расширенных сертификатов PKCS #6, сообщений с цифровой подписью PKCS #7 и информации о закрытых ключах PKCS #8. PKCS #10 [1352,] описывает стандартный синтаксис запросов сертификации . Сертификация включает индивидуальное имя, открытый ключ и (необязательно) набор атрибутов , которые подписаны лицом, приславшим запрос. Запросы сертификации присылаются в сертифицирующий орган, который преобразует запрос либо в сертификат открытого ключа X.509, либо в сертификат PKCS #6. PKCS #11 [1353], Стандарт API криптографической метки (Cryptographic Token API Standard) , определяет интерфейс программирования, называемый "Cryptoki", для портативных криптографических устройств всех типов. Cryptoki представляет собой обобщенную логическую модель , позволяющую приложениям выполнять криптографические операции на портативных устройствах, не зная деталей используемой технологии . Этот стандарт также определяет профили приложения : наборы алгоритмов, которые может поддерживать устройство . PKCS #12 [1354] описывает синтаксис хранения в программном обеспечении открытых ключей пользоват елей, защищенных закрытых ключей, сертификатов и другой связанной криптографической информации . Целью этого является стандартизация единого фала ключей, используемого многими приложениями . Эти стандарты всесторонни, но не всеобъемлющи . Многие вопросы остались за пределами этих стандартов : проблема присвоения имен, некриптографические вопросы, касающиеся сертификации, длины ключей и усл о-вия для различных параметров. PKCS призваны обеспечить формат передачи данных, основанной на крипт о-графии с открытыми ключами, и инфраструктуру, поддерживающую такую передачу . 24.15 Универсальная система электронных платежей Универсальная система электронных платежей ( Universal Electronic Payment System, UEPS) представляет собой банковское приложение, использующее интеллектуальные карточки, первоначально разработанное для сельской Южной Африки, но позднее принятое основными банковскими группами этой страны . К началу 1995 года в ЮАР б1ло выпущено около 2 миллионов карточек . Эта система также принята в Намибии, и разверт ы-вается по крайней мере одним российским банком . Система позволяет использовать безопасные дебитные карточки, подходящие для регионов, в которых пл охая телефонная сеть делает невозможной диалоговую проверку . Карточки есть и покупателей, и у продавцов, покупатели могут использовать свои карточки для перевода денег продавцам . Продавец может воспользоваться своей карточкой, чтобы позвонить в банк и поместить деньги на свой банковский счет, покупатель может во с-пользоваться своей карточкой, чтобы позвонить в банк и перевести деньги на свою карточку . Нет необходимости заботиться об анонимности, нужно обеспечить только защиту от мошенничества . Вот как выглядит протокол связи между покупателем Алисой и продавцом Бобом (В действительности, Алиса и Боб просто вставляют свои карточки в машину и ожидают выполнения транзакции .) Когда Алиса впервые получает свою карточку, она получает и пару ключей, K1 и K2, банк вычисляет их, используя ее имя и некоторую секретную функцию. Только в карточки продавцов встроены секретные средства, необходимые для вычи с-ления ключей пользователей. (1) Алиса посылает Бобу свое имя, A, его имя, В, и случайное число RA, шифруя их с помощью DES: сначала ключом K2, затем K1. Она также посылает свое имя открытым текстом. A, Ek2(A,B,Ra)) (2) Боб вычисляет K1 и K2 по имени Алисы. Он расшифровывает сообщение, убеждается, что A и В правильны, затем шифрует незашифрованную вторую половину сообщения Алисы ключом K2. EK2 (A,B,Ra) Боб не посылает это сообщение Алисе, 56 битов шифротекста становятся ключом K3. Боб посылает Алисе свое имя, ее имя и случайное число, Rb, шифруя их с помощью DES: сначала ключом K3, затем K1. Ek3(b,a,r.)) (3) Алиса аналогичным образом вычисляет K3 и расшифровывает сообщение Боба, убеждаясь, что A и В пра- вильны, затем шифрует незашифрованную вторую половину сообщения Боба ключом K3. Алиса не пос1лает это сообщение Бобу, 56 битов шифротекста становятся ключом K4. Затем Алиса посылает Бобу свое имя, его имя проверочное значение C. Это проверочное значение содержит имена отправителя и получателя, дату, контрольную сумму, количество и два MAC. Все это шифруется DES: сначала ключом K4, затем K1. Один из MAC может быть проверен банком Алисы, а второй может быть проверен только расчетно-кассовым центром. Алиса уменьшает свой счет на соответствующее значение. Ek1( Ek4(a,b,C)) (4) Боб аналогичным образом вычисляет K4. При условии, что все имена совпадают, и правильно выполнена проверка, он принимает платеж. Великолепным нововведением в этом протоколе является то, что каждое сообщение зависит от предыдущего . Каждое сообщение выступает удостоверением всех предыдущих сообщений. Это означает, что повторить старое сообщение никому не удастся, получатель просто никогда не расшифрует его . Мне нравится эта идея, и я уверен, что она получит широкое применение, как только станет широко извес тна. Другой разумной вещью в этом протоколе - навязывание правильной реализации . Если разработчик приложения неправильно реализует протокол, он просто не будет работать. Обе карточки сохраняют записи каждой транзакции . Когда карточки рано или поздно установят диалоговое соединение с банком (продавец - положить деньги на счет, а покупатель - снять со счета), банк извлечет эти з а-писи для последующего контроля. Аппаратура изготавливается устойчивой к взлому, чтобы помешать любому из участников испортить да н-ные. Алиса не сможет изменить значение своей карточки . Подробная запись обеспечивает данные для обнар ужения и запрещения мошеннических транзакций . В карточках используются универсальные секреты - ключи MAC в карточках покупателей, функции для преобразования имен пользователей в K1 и K2 - но считается, что решение обратной задачи для этих секретов достато чно трудно. Эта схема, конечно же, несовершенна, но она безопаснее бумажных чеков и обычных дебитных карточек . Источником угрозы мошенничества являются не военные враги, а покупатели и продавцы . UEPS предоставляет защиту от таких злоупотреблений. Обмен сообщения является прекрасным примером устойчивого протокола: В каждом сообщении присутствую имена обеих сторон, включая информацию, уникальную для сообщения, каждое сообщение явным образом зависит от всех предыдущих. 24.16 CLIPPER Микросхема Clipper (известная также как MYK-78T) - это разработанная в NSA, устойчивая к взлому микросхема, предназначенная для шифрования переговоров голосом. Это одна из двух схем, реализующих прав и-тельственный Стандарт условного шифрования (Escrowed Encryption Standard, EES) [1153]. VLSI Technologies, Inc. изготовила микросхему, а Mykotronx, Inc. запрограммировала ее. Сначала все микросхемы Clipper будут входить в Безопасное телефонное устройство Model 3600 AT&T (см. раздел 24.18). Микросхема реализует алгоритм шифрования Skipjack (см. раздел 13.12,), разработанный NSA секретный алгоритм с шифрованием секретным ключом, только в режиме OFB. Самым противоречивым моментом микросхемы Clipper, и EES в целом, является протокол условного вручения ключей (см. раздел 4.14). У каждой микросхемы есть специальный, ненужный для сообщений, ключ . Этот ключ используется для шифрования копии ключа сообщений каждого пользователя . В ходе процесса синхронизации передающая микросхема Clipper генерирует и посылает принимающей Поле доступа для выполнения з а-кона (Law Enforcement Access Field, LEAF). LEAF содержит копию текущего сеансового ключа, зашифрованн ого специальным ключом (называемым ключом модуля). Это позволяет правительственным прослушивателям получить сеансовый ключ и раскрыть открытый текст разговора . По словам директора NIST [812]: Предусматривается, что система "с условно врученным ключом" обеспечит использование микросхемы Clipper для защиты законопослушных американцев . В каждом устройстве, содержащем микросхему будет два уникальных "ключа", два числа, которые понадобятся уполномоченным правительственным органам для д е-шифрирования сообщений, зашифрованных устройством . При изготовлении устройства оба ключа будут пом е-щены порознь в двух базах данных " условно врученных ключей", контролируемых Генеральным прокурором . Доступ к этим ключам будет разрешен только правительственным чиновникам с законным разрешением по д-ключить подслушивающее устройство . 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [ 19 ] 20 21 22 23 24 25 |