На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Секретные алгоритмы

Понятие «секретный алгоритм» трактуется широко - алгоритм, хоть какая-то деталь которого держится в секрете, - и включает в себя открытые в общем алгоритмы, часть параметров которых держится в
тайне.
Объясним по точнее:
А. Под процессом информационного взаимодействия, или ин­формационным взаимодействием, или информационным процессом понимают такой процесс взаимодействия нескольких субъектов, ос­новным содержанием которого является обмен информацией между ними. Хранение данных: вы делаете записи в своем блокноте и некото­рое время спустя читаете эти записи. При ближайшем рассмотрении оказывается, что выполняемые вами в этом случае функции могут быть без изменения сущности задачи разделены между двумя персо­нами - записи делаете вы, а читает их ваше доверенное лицо. В боль­шинстве реальных информационных процессов число участников так и ограничивается двумя, хотя есть особые случаи - различные порого-
вые схемы и подобные им задачи - они будут кратко охарактеризова­ны в конце данного выпуска.
Б. Теперь поговорим о том, что есть нормальное протекание про­цесса информационного взаимодействия, и о возможных отклонениях
от него.
Криптография есть дисциплина, которая рассматривает спосо­бы борьбы с отклонениями, вызванными целенаправленными дейст­виями злоумышленников. Так как в ней постулируется, что последние действуют наилучшим возможным, с точки зрения достижения своих целей, образом в рамках имеющихся в их распоряжении данных и име­ют все необходимые ресурсы, любое случайное воздействие на инфор­мационный процесс не способно отклонить его протекание от нормы больше, чем это сделал бы злоумышленник.
В. Как было отмечено, злоумышленник в криптографии есть персонифицированный набор целей по отклонению информационно­го процесса от его штатного протекания и возможностей по
нию этих целей. Рассмотрение проблемы ведется в предположении,
что злоумышленник действует наилучшим возможным в его ситуации образом. В качестве злоумышленников могут выступать:
- законные участники процесса;
- субъекты, не являющиеся законными участниками процесса,
но имеющие доступ к информации, передаваемой и обрабатываемой в ходе осуществления информационного взаимодействия и могущие
повлиять на его протекание.
Если законные участники процесса не могут выступать в качест­ве злоумышленников, такой процесс называется «информационным взаимодействием со взаимным доверием сторон друг другу»; понятно, что в противном случае имеет место «процесс информационного взаи­модействия в условии отсутствия взаимного доверия сторон». Классы методов защиты процессов обоих типов существенно отличаются друг от друга.
Вторая задача сложнее — общеизвестно, что практически любую систему намного легче защитить от проникновения извне, чем от зло­умышленных действий со стороны ее законных пользователей. Надо отметить, что когда речь взаимном доверии сторон, имеется в
виду нечто большее, чем просто отношение субъектов информацион­ного взаимодействия друг к другу. При определении этого должны рассматриваться многие факторы, например, среда и окружение, в ко­торых они работают.
Для иллюстрации сказанного рассмотрим задачу защиты про­граммного обеспечения компьютерных систем от несанкционирован­ной модификации, которая обычно решается следующим образом:
1. При инсталляции и «легальной» модификации программ для каждой защищаемой единицы вырабатывается контрольный код, яв­ляющийся «дальним родственником» обыкновенной контрольной
суммы.
2. В соответствии с некоторым регламентом проверяется соот­ветствие защищаемой единицы контрольному коду. Если компьютер действительно персональный, то оба эти действия выполняет один и тот же человек, но требования к «чистоте» среды совершенно различ­ные. Первое действие выполняется при добавлении в систему нового программного обеспечения или перенастройке уже существующего,
что в большинстве реальных узкоспециализированных систем проис­ходит достаточно редко. Необходимым условием выполнения этой операции является отсутствие «закладок» в п/о, вырабатывающем контрольный код. «Чистая» среда обычно создается загрузкой опера­ционной системы с носителя, физически защищенного от записи -единожды сформированного и выверенного, и с тех пор остающегося неизменным.
Второе действие осуществляется значительно чаще и, опреде­лению, может выполняться в не столь «чистой» среде. Поэтому, даже если обе процедуры выполняет один и тот же человек, с точки зрения задачи, это все равно два различных субъекта, и пользователь-созда­тель контрольного кода не должен доверять шхш>зоватсУ1ю-проверяю­щему. В силу вышеизложенного для решения данной задачи больше
подходят схемы, основанные на электронно-цифровой подписи, эф­фективно работающие в условиях отсутствия взаимного доверия сто­рон, нежели использование криптографической контрольной комби­нации на основе симметричных шифров.
Задачи, решаемые криптографическими методами, отличаются друг от друга следующим:
- характером защищаемого информационного взаимодействия;
- целями злоумышленников;
- возможностями злоумышленников.
Простейший случай информационного взаимодействия -- это
передача данных от одного субъекта другому. Соответственно, самая распространенная задача из сферы защиты - защита передаваемой по
каналам связи или хранимой в компьютерной системе информации; она исторически самая первая и до сих пор наиболее важная. Впрочем, необходимо добавить, что в последнее время в связи с проникновени­ем электронных технологий во многие сферы жизни человека и об­щества возникают и принципиально новые проблемы. Одни из них первичны, такие, как уже упомянутая проблема защиты данных в ка­налах связи. Другие вторичны и существуют только в рамках конкрет­ного решения той или иной первичной задачи. Например, «открытое распределение ключей» — совместная выработка двумя субъектами в ходе сеанса связи по открытому каналу общего секретного ключа та­ким образом, чтобы злоумышленники, «прослушивающие» канал, не смогли получить тот же самый ключ.
Рассмотрение задач из сферы криптографии начнем с задачи за­щиты данных, передаваемых по открытым каналам связи в наиболее полной постановке. В системе имеются две легальные стороны — «отправитель» и «получатель».
Информационный процесс заключается в передаче сообщения от первого второму и считается протекающим нормально, если полу­чатель получит сообщение без искажений, кроме него никто не озна­комится с содержанием сообщения, и если стороны не будут выстав­лять претензий друг другу.
В задаче также присутствует злоумышленник, имеющий доступ
к каналу передачи данных и стремящийся добиться отклонений от
нормального течения процесса. Кроме того, каждая из легальных сто­рон может предпринять злоумышленные действия в отношении другой стороны. Перечислим возможные угрозы:
1. Всевозможные угрозы со стороны злоумышленника.
2. Ознакомление с содержанием переданного сообщения.
3. Навязывание получателю ложного сообщения — как полная его фабрикация, так и внесение искажений в действительно передан­ное сообщение.
4. Изъятие переданного отправителем сообщения из системы та­ким образом, чтобы получатель не узнал о факте передачи сообщения.
5. Создание помех для нормальной работы канала передачи свя­зи, то есть нарушение работоспособности канала связи.
6. Угрозы со стороны законного отправителя сообщения.
7. Разглашение переданного сообщения.
8. Отказ от авторства в действительности переданного им сооб­щения.
9. Утверждение о том, что некоторое сообщение отправлено по­лучателю, когда в действительности отправка не производилась.
10. Угрозы со стороны законного получателя сообщения.
Разглашение полученного сообщения.
12. Отказ от факта получения некоторого сообщения, когда в действительности оно было им получено.
13. Утверждение, что некоторое сообщение получено от отправи­теля, когда в действительности предъявленное сообщение сфабрико­вано самим получателем.
Как правило, угроза работоспособности канала связи (угроза 1.4) наиболее эффективно достигается нарушением физической среды
передачи данных или созданием помех. Близко к ней находится угро­за - изъятие сообщения из канала связи. Эффективной защиты крип­тографическими средствами от этих угроз не существует, поэтому они
обычно не рассматриваются в работах по криптографии, проблема ре­шается другими методами. Так, для устранения угрозы обычно ис­пользуется квитирование — высылка получателем отправителю кви­танции на полученное сообщение. Также в рамках криптографии от­сутствует решение, которое бы устранило угрозы - разглашение сек­ретных данных одной из легальных сторон со «списыванием» этого на другую сторону или на ненадежность канала связи.
Оказалось, что сформулированная выше задача за вычетом угроз
может быть разделена на три подзадачи, которые решаются независи­мо друг от друга и характеризуются собственными наборами угроз из приведенного списка:
— «классическая задача криптографии» -- защита данных от разглашения и искажения при передаче по открытому каналу связи;
- «подпись электронного документа» -- защита от отказа от
авторства сообщения;
- «вручение заказного письма» — защита от отказа от факта по­лучения сообщения.
Ниже все три задачи рассмотрены с необходимой степенью по­дробности.
1. Защита передаваемых и хранимых секретных данных от разглашения и искажения. Это исторически первая и до сих пор наи­более важная задача криптографии, в ней учитываются угрозы из при­веденного выше списка. Классическая задача возникает, если
и использование массивов данных разделены во времени и/или в про­странстве и на своей пространственно-временной информация оказы­вается в зоне досягаемости злоумышленника. В первом случае говорят о защите данных при хранении, во втором — при передаче. При доста­точной общности каждый из вариантов задачи имеет свои особеннос­ти, соответственно и методы решения также могут отличаться. В зада­че присутствуют две легальные стороны:
- отправитель или источник сообщения
- получатель или приемник сообщения.
Между отправителем и получателем сообщения есть взаимное доверие, поэтому в качестве злоумышленника может выступать только субъект, отличный от них обоих. Первый отправляет второму сообщение, при этом второй может попытаться выполнить одно или несколько следующих действий:
- чтение сообщений
- внесение изменений в реальное переданное сообщение «на лету»
- создание нового сообщения и отправка его
- повторная передача ранее переданного сообщения
- уничтожение переданного сообщения.
Каждое из перечисленных выше действий является атакой на наш процесс. Возможности по доступу к каналу пе-
редачи, необходимые для их выполнения, различны, и в реальной си­туации может оказаться, что одни атаки осуществимы, а другие — нет. Для реализации атаки № 1 необходим доступ к каналу передачи дан­ных на чтение, для атаки № 3 — на запись, для атаки № 4 — на чтение и запись.
Для осуществления атак № 2 и 5 необходим полный контроль
над каналом, то есть возможность разорвать и встроить туда собст­венные узлы обработки данных или получить контроль над существу­ющем узлом обработки. Какие из атак доступны злоумышленнику, за­висит от конкретных условий протекания информационного процесса — от среды передачи данных, от аппаратуры, которой он располагает, и т. д. Так, если средой передачи информации служит радиоэфир, осу­ществление атак № 2 и частично № 5 невозможно, доступны только атаки№ 1,3,4.
При использовании оптоволоконной линии связи злоумышлен­нику может быть доступна только атака № 1 — незаметно «врезаться» в оптоволоконную линию практически невозможно. Некоторые атаки из приведенного списка могут рассматриваться как последовательное
осуществление других из того же списка. Так, атака № 2 может рассма­триваться как последовательное исполнение атак № 1, 5, 3, а атака № 4 - как исполнение атак № 1 и 3, разнесенное по времени.
Подведем итог. Постановка «классической» задачи криптогра­фии следующая:
- Законные стороны информационного процесса - отправитель и получатель сообщения. Задача первого — отправить, а второго — по­лучить сообщение и понять его содержание.
- Процесс считается нормально идущим, если к получателю придет именно то сообщение, которое отправил отправитель, и кроме него никто не сможет ознакомиться с его содержанием. Возможны следующие отклонения от его нормального течения:
а) передаваемые данные станут известны кому-либо еще помимо законного получателя;
б) передаваемые данные будут искажены, то есть получатель по­лучит не то или не в точности то, что отправлено отправителем.
- Между отправителем и получателем есть взаимное доверие и ни один из них не осуществляет злоумышленных действий; злоумы­шленником является третья сторона, которая ставит перед собой цели ознакомиться с содержанием переданного сообщения или навязать получателю ложное сообщение, полностью сфабриковав его самостоя­тельно или исказив переданное отправителем сообщение.
Злоумышленник имеет доступ к каналу связи и для осуществле­ния своей цели может «слушать» канал или передавать в него свои данные. В наилучшей для себя ситуации злоумышленник может захватить полный контроль над каналом и ему станут доступны лю­бые манипуляции с переданными данными.
- Задача подтверждения авторства сообщения.
В этой задаче принимаются во внимание угрозы 2.2 и 3.3 из при­веденного выше списка - между отправителем и получателем сообще­ния отсутствует взаимное доверие и возможно возникновение конфликта по поводу переданных данных. Каждый из них может совершать злоумышленные действия, направленные против другой стороны, и по этой причине в системе необходимо наличие инстанции, которая выполняет «арбитражные» функции, то есть в случае кон­фликта между абонентами решает, кто из них прав, а кто нет. Эта сто­рона по вполне понятным причинам называется в криптографии «не­зависимым арбитражем». Вместе с тем, злоумышленник как отдель­ный субъект информационного процесса здесь отсутствует.
Ради наглядного примера рассмотрим следующее:
A. Законные стороны информационного процесса - отправитель и получатель сообщения:
— отправитель или источник сообщения
— получатель или приемник сообщения
- независимый арбитр конфликта, в случае его возникновения.
Задача первого — отправить, а второго — получить сообщение и понять его содержание, задача последнего - вынести суждение о том, кто из двух предыдущих участников прав в случае возникновения конфликта между ними.
Б. Процесс считается проходящим нормально, если второй полу­чит именно то сообщение, которое отправил первый, и стороны не бу­дут предъявлять претензий друг другу касательно переданных дан­ных. Возможны следующие отклонения от нормального течения про­цесса:
— отправитель откажется от авторства переданного им сообще­ния;
- получатель будет утверждать, что некоторое сообщение полу­чено им от хотя в тот его не передавал.
B. Между отправителем и получателем отсутствует взаимное до­верие, из может осуществить действия в отношении другого.
Г. Вручение сообщения под расписку.
В этой задаче принимаются во внимание угрозы 2.3 и 3.2 из при­веденного выше списка - между отправителем и сообще­ния отсутствует взаимное доверие и возможно возникновение конфликта по поводу переданных данных. Каждый из них может со­вершать злоумышленные действия, против другой сто­роны; злоумышленник как отдельный субъект информационного про­цесса здесь также отсутствует. Охарактеризуем задачу по нашей схеме:
- законные информационного процесса - отправитель и получатель сообщения;
— отправитель или источник сообщения;
- получатель или приемник сообщения.
Задача первого — отправить, а второго — получить сообщение и понять его содержание.
- Процесс считается проходящим нормально, если получатель ознакомится с содержанием полученного сообщения и стороны не бу-
дут предъявлять претензии друг другу касательно переданных дан­ных.
Возможны следующие отклонения от нормального течения про­цесса:
— отправитель будет утверждать, что передал получателю сооб­щение, хотя в действительности не отправлял его;
— получатель ознакомится с содержанием сообщения, но будет утверждать, что никакого сообщения не получал.
— Между отправителем и получателем отсутствует взаимное до­верие, каждый из них может осуществить злоумышленные действия в отношении другого: второй может утверждать, что он не получал сооб­щения, которое в действительности получил и прочитал, а первый, в
свою очередь, может утверждать, что второй прочитал сообщение, хо­тя в действительности он его не передавал второму. Решением этой за­дачи может являться такая схема информационного взаимодействия, которая группирует в одну транзакцию два следующих действия, не позволяя ни одному из них осуществиться без другого:
— первый получает и читает сообщение;
— второй получает подтверждение о том, что первый получил со­общение.
Две следующие касаются проблемы обмена ключевой ин-
формацией. Для защиты передаваемых по открытым каналам связи
данных обычно применяется шифрование; одним из наиболее рас­пространенных вариантов является использование симметричных шифров, то есть шифров с секретным ключом. В таких системах воз­никает проблема распределения ключевой информации, так как для ее передачи участникам информационного обмена нужен защищенный канал связи. В системах с большим числом абонентов эта проблема
превращается в серьезную головную боль администраторов. Способов ее обойти всего два:
— использовать асимметричные алгоритмы шифрования, в кото­рых для процедуры «за» и расшифрования используются различные ключи и знание ключа зашифрования не позволяет определить соот­ветствующий ключ расшифрования, поэтому он может быть несекрет­ным и передаваться по открытым каналам связи;
— вырабатывать общий секретный ключ в ходе некоторого сеан­са информационного взаимодействия по открытому каналу, организо­ванного таким образом, чтобы ключ было невозможно выработать на
основе только перехваченных в канале данных.

Первый подход получил название асимметричного или ключевого второй - открытого распределения ключей.
Вот, пожалуй, и все наиболее популярные задачи практической крип­тографии. Конечно, есть и другие, но они или менее известны, или от­сутствует их удовлетворительное решение, или это решение есть, но оно не получило заметного практического применения. Кратко пере­числим наиболее известные из этих «теоретических» задач:
1. Синхронный обмен сообщениями. Требуется организовать об­мен двух субъектов сообщениями таким образом, чтобы ни один из
них, получив сообщение другой стороны, не смог отказаться от пере­дачи своего и не смог сформировать свое сообщение в зависимости от
сведений из сообщения другой стороны. В качестве дополнительного
условия иногда требуется, чтобы передаваемые сообщения удовлетво­ряли определенным заранее критериям.
2. Как вариант предыдущей задачи - - проблема «подписи
контракта»: есть два документа в электронной форме и есть процедура
выработки цифровой подписи под документами. Требуется организо­вать обмен подписанными документами между двумя субъектами та­ким образом, чтобы ни один из них не смог отказаться передавать
«свой» подписанный документ, получив подписанный документ от другой стороны.
3. «Передача с забыванием» — организовать передачу сообщения
одним субъектом другому таким образом, чтобы вероятность получе­ния сообщения была ровна 0,5 и чтобы на эту вероятность никто не мог повлиять.
4. «Бросание монеты по телефону» — организовать такое взаи­модействие не доверяющих друг другу субъектов через канал переда­чи данных, которое позволит выработать один бит информации таким образом, чтобы он был случайным, несмещенным, чтобы на исход
монеты» не мог повлиять никто извне и чтобы в исходе
«бросания» можно было убедить независимый арбитраж при возник­новении у участников разногласий о результате.
5. «Сравнение с нулевым разглашением» или «проблема двух
миллионеров» — два миллионера хотят узнать, кто из них богаче, но при этом никто из них не хочет сообщить другой стороне истинную ве­личину своего состояния. В более общей постановке задача формули­руется следующим образом: есть два субъекта, каждый из которых
располагает некоторым элементом данных — соответственно а и b — и которые желают совместно вычислить значение некоторой согласо­ванной функции f (a,b). Требуется организовать процедуру вычисления таким образом, чтобы никто из субъектов не узнал значения пара­метра другого.
6. N & k - пороговая схема - имеется некоторый ресурс, напри­мер, зашифрованный набор данных, также есть п субъектов. Необхо­димо построить процедуру, разрешающую доступ к ресурсу, только ес­ли его запросят одновременно не менее k субъектов.
7. Тайное голосование по телефону - имеется «N» субъектов,
взаимодействующих по линиям связи; некоторый вопрос ставится им
на голосование; каждый из субъектов может проголосовать либо «за», либо «против». Требуется организовать процедуру голосования таким образом, чтобы можно было вычислить ее исход - подсчитать, сколь­ко подано голосов «за» или, в более простом случае, выяснить, что «за» было подано достаточное или недостаточное число голосов, и чтобы при этом результаты голосования каждого из субъектов остава­лись в тайне.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика