|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[17] EB(K), Ec(K), Ed(K) (4)Алиса широковещательно посылает шифрованное сообщение и все шифрованные ключи своим корре с-пондентам. Ek(M), Eb(K), Ec(K), Ed(K) (5)Только Боб, Кэрол и Дэйв могут, каждый при помощи своего закрытого ключа, расшифровать ключ K. (6)Только Боб, Кэрол и Дэйв могут расшифровать сообщ ение Алисы, используя K. Этот протокол может быть реализован для сетей электронной почты . Центральный сервер может отправить сообщение Алисы Бобу, Кэрол и Дэйву вместе с конкретным шифрованным ключом. Сервер не должен быть надежным и безопасным, так как он не может расшифровать ни одно из сообщений. 3.2 Удостоверение подлинности Когда Алиса подключается к главному компьютеру (или к автоматическому, или к телефонной банковской системе, или к какому-нибудь другому терминалу), как главный компьютер узнает, кто она? Откуда главный компьютер узнает, что это не Ева, пытающаяся выдать себя за Алису ? Обычно эта проблема решается с пом о-щью паролей. Алиса вводит свой пароль, и главный компьютер проверяет его правильность . Таким образом, и Алисе, и главному компьютеру известна некоторая секретная информация, которую главный компьютер з а-прашивает всякий раз, когда Алиса пытается подключится. Удостоверение подлинности с помощью однонаправленных функций Роджер Неедхэм (Roger Needham) и Майк Гай (Mike Guy) показали, что главному компьютеру не нужно знать сами пароли, вполне достаточно, чтобы главный компьютер мог отличать правильные пароли от непр а-вильных. Этого легко достичь с помощью однонаправленных функций [1599, 526,1274, 1121]. При этом на главном компьютере хранятся значения однонаправленных функций паролей, а не сами пароли . (1)Алиса посылает главному компьютеру свой пароль. (2)Главный компьютер вычисляет однонаправленную функцию пароля. (3)Главный компьютер сравнивает полученное значение с хранящимся. Раз главный компьютер больше не хранит таблицу правильных паролей всех пользователей, снижается у гроза того, что кто-то проникнет в главный компьютер и выкрадет таблицу паролей . Список паролей, обработанный однонаправленной функцией, бесполезен, так как однонаправленную функцию не удастся инвертировать для получения паролей. Вскрытия с помощью словаря и "соль" Файл паролей, зашифрованных однонаправленной функцией, тем не менее, уязвим. Имея запас времени, Мэллори может составить список из миллиона наиболее часто встречающихся паролей . Он обработает весь миллион однонаправленной функцией и сохранит результат . Если каждый пароль состоит из восьми байт, размер получившегося файла не превысит 8 Мбайт, и этот файл может быть размещен всего на нескольких на ди с-кетах. Теперь Мэллори добывает шифрованный файл паролей . Он сравнивает этот файл со своим файлом ши ф-рованных возможных паролей и ищет совпадения . Это вскрытие с помощью словаря может быть удивительно успешным (см. раздел 8.1). "Соль" - это способ затруднить его. "Соль" представляет собой случайную строку, добавляемую к паролям перед обработкой их однонаправленной функцией. Затем в базе данных главного компьютера сохраняются и значение "соли", и р е-зультат однонаправленной функции. Использование достаточно большого числа возможных значений "соли" практически устраняет возможность вскрытия с помощью словаря, так как Мэллори придется вычислять знач е-ние однонаправленной хэш-функции для каждого возможного значения "соли". Это простейший пример использование вектора инициализации (см. раздел 9.3). Идея состоит в том, чтобы заставить Мэллори выполнить пробное шифрование каждого пароля из его сл о-варя при каждой попытке узнать чей-то чужой пароль вместо одноразовой обработки всех возможных паролей . Для этого нужно много "соли". Большинство UNIX-систем используют для "соли" 12 бит. Несмотря на это Дэниел Кляйн (Daniel Klein) написал программу разгадывания паролей, которая в некоторых системах за нед е-лю часто вскрывала 40 процентов паролей [847,848] (см. раздел 8.1). Дэвид Фельдмайер (David Feldmeier) и Филип Кан (Philip Karn) составили список из 732000 наиболее часто используемых паролей, присоединив к к а-ждому из них 4096 возможных значений "соли" . По их оценкам 30 процентов паролей на любом главном ко м-пьютере могут быть взломаны с помощью этого списка [561]. "Соль" не является панацеей, увеличение числа бит "соли" не решит всех проблем . "Соль" предохраняет только от самых обычных вскрытий файла паролей с использованием словаря, а не от согласованной атаке о д-ного пароля. Она защищает людей, использующих один и тот же пароль на различных машинах, но не делает лучше плохо выбранный пароль. SKEY - это программа удостоверения подлинности, обеспечивающая безопасность с помощью однонапра в-ленной функции. Это легко объяснить. Регистрируясь в системе, Алиса задает случайное число , R. Компьютер вычисляет f(R), f(f(R)), f(f(f(R))), и так далее, около сотни раз. Обозначим эти значения как xj, x2, x3, x]00. Компьютер печатает список этих чисел, и Алиса прячет его в безопасное место. Компьютер также открытым текстом ставит в базе данных подключения к системе в соответствие Алисе число x]0]. Подключаясь впервые, Алиса вводит свое имя и x]00. Компьютер рассчитывает f(x]00) и сравнивает его с x]0], если значения совпадают, права Алисы подтверждаются . Затем компьютер заменяет в базе данных x]0] на x]00. Алиса вычеркивает x]00 из своего списка. Алиса, при каждом подключении к системе, вводит последнее невычеркнутое число из своего списка: x,-. Компьютер рассчитывает f(xi) и сравнивает его с xi+], хранившемся в базе данных. Так как каждый номер используется только один раз, Ева не сможет добыть никакой полезной информации . Аналогично, база данных бесполезна и для взломщика. Конечно же, как только список Алисы исчерпается ей придется перерегистрир о-ваться в системе. Удостоверение подлинности с помощью криптографии с открытыми ключами Даже с использованием "соли" у первого протокола есть серьезные проблемы с безопасностью . Когда Алиса посылает свой пароль главному компьютеру, любой, у кого есть доступ пути передачи ее данных, может пр о-честь пароль. Она может получить доступ к своему главному компьютеру посредством запутанного пути пер е-дачи информации, проложив его через четырех промышленных конкурентов, три других страны и два перед о-вых университета. Ева может находиться в любой из этих точек, подслушивая передаваемую Алисой послед о-вательность. Если у Евы есть доступ к оперативной памяти главного компьютера, она сможет подсмотреть п а-роль до того, как главный компьютер сможет его хэшировать . Криптография с открытыми ключами может решить эту проблему . Главный компьютер хранит файл откр ы-тых ключей всех пользователей, а все пользователи хранят свои закрытые ключи . Вот как выглядит упрощенная попытка организовать протокол подключения: (1)Главный компьютер посылает Алисе случайную строку. (2)Алиса шифрует эту строку своим закрытым ключом и посылает ее обратно главному компьютеру вместе со своим именем. (3)Главный компьютер находит в базе данных открытый ключ Алисы и дешифрирует сообщение, используя этот открытый ключ. (4)Если отправленная сначала и расшифрованная строки совпадают, главный компьютер предоставляет Алисе доступ к системе Никто другой не может воспользоваться закрытым ключом Алисы, следовательно никто не сможет выдать себя за нее. Что более важно, Алиса никогда не посылает на компьютер свой закрытый ключ . Ева, подслушивая взаимодействие, не получит никаких сведений , которые позволили бы ей вычислить закрытый ключ Алисы и выдать себя за нее. Закрытый ключ должен быть достаточно длинным и не должен быть мнемоническим. Он будет автоматич е-ски обрабатываться аппаратурой пользователя или программным обеспечением связи . Это требует использования "умного" терминала, которому Алиса доверяет, но не главный компьютер, ни линии связи не обязаны быть безопасными. Глупо шифровать произвольные строки - не только посланные подозрительным авторов, но и вообще любые . Иначе может быть использовано схема вскрытия, обсуждаемая в разделе 19.3. Безопасные идентификационные протоколы имеют следующую, более сложную форму : (1)Алиса выполняет вычисление, основанное на некоторых случайных числах и своем закрытом ключе, и п о-сылает результат на главный компьютер. (2)Главный компьютер посылает другое случайное число. (3)Алиса выполняет некоторое вычисление, основанное на случайных числах (как созданном ею, так и пол ученном от главного компьютера) и своем закрытом ключе, и посылает результат на главный компьютер. (4)Главный компьютер выполняет некоторое вычисление для различных чисел, полученных от Алисы, и ее открытого ключа, проверяя, что ей известен ее закрытый ключ. (5)Если проверка завершается успешно, личность Алисы подтверждается. Если Алисы доверяет главному компьютеру не в большей степени, чем тот доверяет Алисе, то она должна потребовать подтверждения подлинности главного компьютера аналогичным образом . Этап (1) может показаться ненужным и запутанным, но он необходим для защиты протокола от вскрытия . Различные протоколы и алгоритмы подтверждения подлинности математически подробно описываются в ра з-делах 21.1 и 21.2. См. также [935]. Обоюдное удостоверение подлинности с использованием протокола "держась за руки" Пусть два пользователя, Алиса и Боб, хотят проверить подлинность друг друга . У каждого из них есть пароль, известный другому пользователю: PA у Алисы и PB у Боба. Вот как выглядит протокол, который не будет работать: (1)Алиса и Боб обмениваются открытыми ключами. (2)Алиса шифрует PA открытым ключом Боба и посылает его ему. (3)Боб шифрует PB открытым ключом Алисы и посылает его ей. (4)Алиса расшифровывает полученное на этапе (3) и подтверждает правильность пароля. (5)Боб расшифровывает полученное на этапе (2) и подтверждает правильность пароля. Мэллори может предпринять успешное вскрытие "человек-в-середине" (см. раздел 3.1): (1)Алиса и Боб обмениваются открытыми ключами. Мэллори перехватывает оба сообщения, и посылает обоим корреспондентам свой собственный открытый ключ, подменив им их ключи. (2)Алиса шифрует PA открытым ключом "Боба" и посылает его ему. Мэллори перехватывает сообщение, расшифровывает PA с помощью своего закрытого ключа, снова шифрует PA открытым ключом Боба и посылает его ему. (3)Боб шифрует PB открытым ключом "Алисы" и посылает его ей. Мэллори перехватывает сообщение, ра с-шифровывает PB с помощью своего закрытого ключа, снова шифрует PB открытым ключом Алисы и посылает его ей. (4)Алиса расшифровывает PB и подтверждает его правильность. (5)Боб расшифровывает PA и подтверждает его правильность. Для Алисы и Боба ничего не изменилось . Однако, Мэллори знает и PA, и PB. Дональд Дэвис (Donald Davies) и Вильям Прайс (William Price) описывают, как протокол "держась-за-руки" (см. раздел 3.1) противодействует такому вскрытию [435]. Стив Белловин (Steve Bellovin) и Майкл Мерритт (Michael Merritt) рассматривают способы вскрытия этого протокола в [110]. Если Алиса - это пользователь, а Боб - хост-компьютер , Мэллори может предпочесть быть Бобом, выполнить первые этапа протокола с Алисой и разорвать соединение . Симулирование шума на линии или сетевого отказа потребует от Мэллори настоящего артистизма, но в результате Мэллори получит пароль Алисы. Затем он сможет соединиться с Бобом и завершить протокол, получая и пароль Боба . Протокол можно изменить так, чтобы Боб передавал свой пароль перед Алисой в предположении, что п а-роль пользователя более важен чем пароль главного компьютера . Это приведет к усложнению способа вскрытия, также описанного в [110]. SKID2 и SKID3 - это симметричные криптографические протоколы идентификации, разработанные для пр о-екта RACE RIPE [1305] (см. раздел 25.7). Они используют MAC (см. раздел 2.4) для обеспечения безопасности и предполагают, что Алиса и Боб используют общий секретный ключ , K. SKID2 позволяет Бобу доказать свою подлинность Алисе. Вот этот протокол: (1)Алиса выбирает случайное число, RA. (Документами RIPE определяется 64-битовое число). Она посылает это число Бобу. (2)Боб выбирает случайное число, RB. (Документами RIPE определяется 64-битовое число). Он посылает Алисе. Rb, Hk(Ra, Rb, B) Hk - это MAC. (В документах RIPE предлагается функция RIPE-MAC, см. раздел 18.4.) B - это имя Боба. |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||