Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Статьи / metods.doc
Скачиваний:
56
Добавлен:
01.05.2014
Размер:
521.73 Кб
Скачать

1.1.13 Анонимные совместные вычисления

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

Вычисление средней зарплаты

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

1. Антон генерирует случайное число, прибавляет его к своей зарплате, шифрует полученную сумму при помощи открытого ключа Бориса и затем передает то, что у него получилось, Борису.

2. На своем тайном ключе Борис расшифровывает результат, вычисленный Антоном, прибавляет к нему свою зарплату, шифрует полученную сумму при помощи открытого ключа Владимира и затем передает то, что у него получилось, Владимиру. 3. На своем тайном ключе Владимир расшифровывает результат, вычисленный Борисом, прибавляет к нему свою зарплату, шифрует полученную сумму при помощи открытого ключа Георгия и затем передает то, что у него получилось, Георгию. 4. На своем тайном ключе Георгий расшифровывает результат, вычисленный Владимиром, прибавляет к нему свою зарплату, шифрует полученную сумму при помощи открытого ключа Антона и затем передает то, что у него получилось, Антону. 5. На своем тайном ключе Антон расшифровывает результат, вычисленный Георгием, вычитает из него случайное число, сгенерированное на шаге 1, делит на количество сотрудников отдела и получает искомую среднюю зарплату в отделе. Точность вычисления средней зарплаты зависит от честности каждого сотрудника. Если хотя бы один из участников протокола соврет относительно своего жалованья, итоговое значение будет неверным. Особенно большими потенциальными возможностями для злоупотреблений обладает Антон. На шаге 5 он может вычесть любое число, какое только придет ему в голову, и никто не заметит подделки. Поэтому необходимо обязать Антона воспользоваться какой-либо из схем предсказания бита. Однако если от Антона потребуется раскрыть перед всеми случайное число, сгенерированное им на шаге 1, зарплату Антона узнает Борис. Это значит, что начальнику отдела все же придется отвлечься и выполнить вычисления, предусмотренные шагом 2 протокола, самому. Ведь он и так в курсе размера оплаты труда Антона.

Депонирование ключей

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

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

В самом общем случае Стандарт шифрования данных с депонированием ключа реализуется с помощью следующего криптографического протокола:

1. Антон генерирует пару ключей, состоящую из открытого и тайного ключа, и делит их на n частей.

2. Антон посылает каждую часть тайного ключа и соответствующую ей часть открытого ключа отдельному доверенному лицу.

3. Каждое доверенное лицо проверяет полученные от Антона части открытого и тайного ключа и помещает их на хранение в надежное место.

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

Существуют различные варианты протокола шифрования данных с депонированием ключа. Например, в него можно встроить пороговую схему с тем, чтобы для восстановления тайного ключа нужно было собрать не все n, а лишь не менее m (m<n) частей этого ключа, распределенных Антоном среди своих доверенных лиц. Кроме того, протокол шифрования данных с депонированием ключа можно дополнить действиями, позаимствованными из протокола с неосознанной передачей информации, чтобы доверенные лица не знали, чей конкретно ключ они реконструируют в данный момент по просьбе правоохранительных органов.

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

Идентификация законных пользователей заключается в распознавании пользователей (после чего им предоставляются определенные права доступа к ресурсам вычислительных и автоматизированных информационным систем). Идентификация основана на том, что законным пользователям известна некоторая информация, которая является неизвестной для посторонних. Например, пользователь формирует некоторую случайную информацию и держит ее в секрете, т.е. использует ее как пароль. Пароль в явном виде не хранится в памяти ЭВМ (или другого устройства, выполняющего функции защиты информации). Это требование направлено на то, чтобы нарушитель не имел возможности считать чужой пароль и присвоить себе полномочия другого пользователя. Для того, чтобы система защиты могла идентифицировать легальных (санкционированных) пользователей, по специальному криптографическому алгоритму, реализующему так называемую одностороннюю функциюy=F(x). Основное требование к односторонней функции состоит в том, чтобы сложность вычисления значения функции по аргументу (по входу) была низкой, а сложность определения значения аргумента, для которого значение функции (значение выхода) было бы равно случайно выбранному значению, была высокой (например, практически неосуществимой за 10 лет при использовании всех вычислительных ресурсов человечества).

Идентификация пользователя на рабочей станции может быть выполнена следующим образом:

  1. Запрос на ввод идентификатора со стороны системы защиты.

  2. Ввод пользователем своего идентификатора (имени) NAME.

  3. Запрос на ввод пароля со стороны системы защиты.

  4. Ввод пользователем пароля P.

  5. Вычисление системой защиты значения односторонней функции y, соответствующей значению аргументаx=P.

  6. Сравнение системой защиты значения F(P) со значением образа (S) пароля, соответствующего пользователю с идентификаторомNAME.

  7. Если F(P) =S, то система защиты предоставляет пользователю права доступа (полномочия), соответствующие идентификаторуNAME. В противном случае в журнале учета работы пользователей регистрируется событие попытки несанкционированного доступа.

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

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

Идентификация удаленных рабочих станций может быть выполнена по следующей схеме, основанной на использовании алгоритма шифрованияEи общего секретного ключаKдля удаленных станцийAиB:

  1. Станция Aпосылает запрос на соединение со станциейB.

  2. Станция BпосылаетAслучайное числоR.

  3. Станция AзашифровываетRпо секретному ключуK, получая шифртекстCa=E(R,K), и направляет станцииBзначениеCa.

  4. Станция BвычисляетCb=E(R,K), и сравнивает значенияCbиCa. ЕслиCb=Ca, то принимается решение, что запрос на управление сеанса связи отправлен станциейA, в противном случае связь прерывается.

Правильно зашифровать случайный текст может только тот, кто знает секретный ключ. Если нарушитель будет перехватывать правильные криптограммы от случайных чисел, то при длине числа Rне менее 64 бит он за разумное время не встретит двух одинаковых чисел, а следовательно не будет иметь возможности подставить ранее перехваченную правильную криптограмму. В этой схеме роль станцииBможет играть сервер локальной вычислительной сети. Отметим, что данная схема позволяет станцииBудостовериться в том, что связь устанавливается со станциейA. Однако для станцииAможет существовать аналогичная проблема идентификации станцииB. В этом случае дополнительно осуществляется аналогичная процедура идентификации, а именно идентификацияBстанциейA. Такая схема взаимного распознавания удаленных абонентов (станций) называется протоколом рукопожатия.

Рассмотрим простейший вариант проведения электронной жеребьевки. Пусть удаленные абонентыAиBхотят сыграть по телефону партию в шахматы, причем они желают справедливо разыграть цвет фигур, т.е. обеспечить равную вероятность выбора белых фигур для каждого из них. Криптография позволяет это реализовать по следующей схеме, в которой используется односторонняя функцияy=F(x) и оговаривается, что абонент, угадывающий результат опыта с двумя равновероятными событиями получает право первого хода.

  1. Абонент Aвыбирает случайное числоxa , двоичное представление которого имеет, например, 80 разрядов, вычисляет значениеya=F(xa) и сообщает величинуya абонентуB. (АбонентBдолжен угадать, является числоxaчетным или нечетным.)

  2. Поскольку используемая функция является однонаправленной (односторонней), то Bне может по значениюyaопределитьxa, поэтому он вынужден угадать четностьxa . ПустьBостанавливается на выборе «xaявляется четным числом» и сообщает свое предположение абонентуA.

  3. Абонент Aсообщает абонентуBчислоxa .

  4. Абонент Bвычисляет значениеy=F(xa), еслиy=ya ,тоBубеждается, что его партнер действительно предоставил для проверки первоначально выбранное число.

Соседние файлы в папке Статьи