
Основы ИБ
.pdf
Управляющий блок генерирует управляющую последовательность { t}, которая ис-
пользуется для формирования шифрующих отображений t , t=1,2,… Управляющую после-
довательность часто называют управляющей гаммой, а управляющий блок - генератором гаммы (так как традиционно члены управляющей последовательности обозначались грече-
ской буквой ).
Шифрующий блок зашифровывает символ открытого текста хt в символ шифрованно-
го текста уt с использованием отображения t , t=1,2,…
Отправитель сообщения устанавливает заранее оговорѐнный ключ k генератора и, вы-
числив криптограмму в соответствии с уравнениями шифрования, отправляет еѐ получателю.
Для расшифрования получатель использует идентичный генератор гаммы, в который уста-
навливает тот же ключ k. Шифрующий блок получателя в режиме расшифрования вычисляет
открытый текст по криптограмме в соответствии с уравнениями расшифрования.
Схема реализации шифрования дискретных сообщений с использованием СПШ пока-
зана на рисунке 4.1. |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Генератор |
|
|
|
|
|
Генератор |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
гаммы |
|
|
|
|
|
гаммы |
|
|||
|
|
t |
|
|
t |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||
xt |
|
Шифрующий |
|
|
yt |
|
Шифрующий |
|
|
xt |
||
|
|
блок |
|
|
|
|
блок |
|
|
|
||
|
|
(зашифрование |
|
) |
|
|
(расшифрование |
|
) |
|
||
|
|
|
|
|
|
|
Рисунок 4.1. Шифрование дискретных сообщений использованием синхронного поточно-
го шифра
В СПШ генерируемая гамма не зависит от открытого текста (генератор G вырабаты-
вает знаки автономно). Поэтому СПШ функционирует исправно до тех пор, пока устройства,
реализующие шифрование и расшифрование на концах линии связи, работают синхронно, то есть не имеет места расшифрование шифрованного знака yj c использованием знака гаммы i, i j. Такие нежелательные сбои, называемые рассинхронизацией, могут наступить из-за раз-
личных скоростей работы аппаратуры на приѐмном и передающем концах, из-за удаления знаков при передаче в канале и др. Сбои могут повлечь некорректное расшифрование всего последующего отрезка сообщения. В таких случаях отправитель и получатель должны как-то восстановить синхронизм работы генераторов гаммы прежде, чем продолжить сеанс связи.
Обычно проблемы восстановления синхронизма решаются либо с помощью повтор-
ного шифрования с реинициализацией ключа обоими абонентами (повторное использование гаммы как минимум нежелательно, а для некоторых шифров вовсе исключено!), либо с по-
мощью разбиения текста на блоки, начала и окончания которых снабжаются маркерами – специальными «пограничными» символами. Во втором случае рассинхронизация приводит к некорректному расшифрованию лишь до тех пор, пока получателем не будет принят один из маркеров.
К положительным сторонам СПШ следует отнести то, что они не размножают иска-
жений знаков текста, которые довольно часто имеют место при передаче по каналам связи.
Если при отправлении сообщения был искажѐн знак хi или при передаче по каналу связи был искажѐн знак yi, то при синхронной работе генераторов эти искажения не повлияют на пра-
вильность расшифрования всех знаков, кроме i-го. Это свойство не присуще ССПШ.
СПШ защищают передаваемое сообщение от несанкционированных вставок и удале-
ний отрезков текста, так как в этих случаях произойдѐт рассинхронизация, и "вмешательст-
во" будет немедленно обнаружено. В то же время СПШ не вполне защищают от умышлен-
ной подмены отрезка сообщения на другой отрезок такой же длины. Если нарушителю из-
вестен отрезок открытого текста, то ему не составляет труда подменить его таким отрезком,
который расшифруется в заданный нарушителем фрагмент текста.
Самосинхронизирующиеся поточные шифры отличаются от СПШ способностью са-
мостоятельно восстанавливать синхронизацию. Это достигается за счет того, что шифрован-
ный текст не только направляется в линию связи, но и одновременно поступает через обрат-
ную связь в память генератора гаммы и используется для выработки следующего знака.
4.3.4 Симметричные блочные шифры
Всякий симметричные блочные шифры (СБШ) может использоваться в нескольких режимах шифрования. Базовый режим, на основе которого построены все остальные режи-
мы, называется электронной кодовой книгой (англ. – ECB) или простой заменой. В режиме
ECB текст разбивается на блоки (часто по 64 бита), которые зашифровываются независимо.
В других режимах (CDC, CFB) результат зашифрования очередного блока зависит от всех предыдущих блоков, это позволяет их использовать, в частности, для выработки имитов-
ставки.
Новизна задачи построения СБШ заключалась в разработке криптографически стой-
ких, удобно реализуемых (как аппаратно, так и программно) шифров замены для алфавитов большого порядка. Впервые блочный шифр под названием "Люцифер"был создан американ-

ской фирмой IBM. Блоки открытого и шифрованного текста, обрабатываемые "Люцифером",
имеют длину 128 битов. Шифр построен по принципу "сэндвича", составленного из несколь-
ких чередующихся слоѐв - преобразований замены (substitution) блоков и преобразований перестановки (permutation) координат блоков. Такие схемы получили название SP–сетей (се-
тей перестановок и замен). Криптографическая идея SP–сети заключается в построении сложного преобразования с помощью композиции нескольких относительно простых, удоб-
но реализуемых преобразований.
При реализации этой в целом перспективной криптографической идеи не обошлось и без издержек: схема получилась несколько громоздкой и как следствие обладала низкой про-
изводительностью. Скорость шифрования различных программных реализаций "Люцифера"
не превышала 8 Кбайт/с. Аппаратная реализация обеспечивала шифрование со скоростью 97
Кбайт/с. К тому же возникли опасения по поводу криптографической стойкости шифра, ко-
торые впоследствии подтвердились. Однако опыт, накопленный разработчиками при работе над "Люцифером", пригодился уже вскоре.
NBS) США объявило конкурс, целью которого была разработка стандарта шифрова-
ния данных. Победила фирма IBM, представившая в 1974г. алгоритм шифрования, известный под названием DES - Data Encryption Standart (см. Приложение в [4.5]).
Алгоритм DES обрабатывает 64-битовые блоки данных и использует 56-битовый ключ. Подобно "Люциферу" он реализует преобразование SP–сети, построенной по итера-
тивному принципу, то есть на основе композиции нескольких однотипных преобразований.
В дальнейшем итеративный принцип построения SP–сети использовался в подавляющем большинстве разработок СБШ.
Алгоритм был опубликован (беспрецедентный исторический факт для «действующе-
го» шифра!) и явился не только предметом активного изучения со стороны специалистов многих стран, но и мощным импульсом для развития гражданской (невоенной) криптологии.
Масштабы использования DES-алгоритма в коммерческом секторе были впечатляющими.
Его стали использовать во многих странах мира далеко за пределами США.
Между тем, с самого начала DES подвергался критике из-за короткой длины ключа,
что повлекло запрет на его использование для защиты государственных секретов США. По-
следовавшие за опубликованием алгоритма 25 лет показали, что гипотетические методы вскрытия DES, связанные с распараллеливанием перебора ключей, постепенно превратились в реальность. Да и производительность DES-алгоритма в силу особенностей реализации на современных процессорах отстала от возросших требований.
В условиях объективно назревающей потребности в замене действующего стандарта наряду с его критикой криптографы неустанно разрабатывали блочные шифры, достойные

заменить DES. К ним относятся как различные схемы усложнения DES-алгоритма (с незави-
симыми цикловыми ключами, кратного шифрования, с увеличенными размерами блоков и ключей…), так и оригинальные схемы NewDES, FEAL, IDEA и др.
В 1997 г. NIST3 объявил о начале программы по принятию AES (Advanced Encryption Standard) – стандарта XXI века для криптографической защиты данных. Был проведѐн 3-
этапный международный конкурс с целью разработки отвечающего современным требова-
ниям блочного шифра с высокими эксплуатационными качествами и криптографической стойкостью. Победителем конкурса стал разработанный бельгийцами (авторы - J. Daemen и V. Rijmen) алгоритм AES, который и был объявлен новым криптографическим стандартом,
вступившим в силу в 2002 году.
К асимметричным блочным шифрам относятся все известные системы с открытым ключом.
Описание симметричных блочных шифров (DES, ГОСТ 28147-89, IDEA,…) и асим-
метричных блочных шифров (RSA, система Эль-Гамаля,…) можно найти в [4.5,4.8] и в дру-
гих источниках.
4.4 Криптографические протоколы
4.4.1 Общие сведения
Криптографические протоколы являются важной составной частью криптографиче-
ской системы. Возможны ситуации, когда задачи обеспечения безопасности информации не решены из-за наличия слабостей в протоколе, несмотря на использование подходящих крип-
тографических отображений.
Основное отличие протокола от алгоритма состоит в том, что реализация алгоритма предполагает активные действия одного субъекта, в то время как протокол реализуется в хо-
де взаимодействия нескольких пользователей (сторон протокола).
Каждое действие криптографического протокола по содержанию представляет собой либо вычисления, выполняемые действующими сторонами протокола, либо пересылку со-
общений между ними.
Условия криптографической задачи определяют особенности соответствующего про-
токола. Если взаимодействующие стороны доверяют друг другу и готовы совместно решать
3 NIST - National Institute for Standards and Technology (до 1988 года – NBS, National Bureau of Standards), На-
циональный институт по стандартам и вычислительной технике, являющийся подразделением Министерства торговли США. По решению Конгресса США NIST отвечает за стандарты, касающиеся ЭВМ и соответствующих систем связи.
криптографическую задачу, то в этом случае используются протоколы без посредника, назы-
ваемые двусторонними протоколами. Если между сторонами могут возникать разногласия или им требуется поддержка третьей стороны, то используются протоколы с посредником
(незаинтересованной доверенной стороной). Протоколы с посредником называют также
трѐхсторонними протоколами. Задача посредника – обеспечить исполнение всех этапов протокола, вплоть до его завершения. Существуют и протоколы с арбитром, где под арбит-
ром понимается посредник особого типа: он не обязательно участвует в исполнении каждого шага протокола, он приглашается только для проверки корректности выполнения протокола в целом или определенных его шагов.
Наиболее привлекательная такая разновидность протоколов как самодостаточные
протоколы, конструкция которых обеспечивает контроль над верным исполнением протоко-
ла. Такие протоколы имеются далеко не для каждой задачи.
Атаки на протоколы со стороны нарушителя могут быть направлены как против криптографических алгоритмов, используемых в протоколах, так и против самих протоко-
лов. Атаки на криптографические протоколы можно разделить на пассивные и активные.
Во время пассивной атаки нарушитель ограничивается наблюдением за действиями сторон протокола и пытается извлечь из наблюдений полезную для себя информацию, не вмешиваясь в реализацию протокола.
При активной атаке на криптографический протокол нарушитель допускает видоиз-
менение протокола в своих интересах, которое может выражаться в том, что им вводятся в
протокол новые сообщения, удаляются из протокола “законные” сообщения, производится подмена одних сообщений другими, выводится из строя канал связи или память, в которой хранится информация.
Атакующий может быть не только посторонним лицом, но и “штатным” участником протокола, при этом нарушитель может представлять собой группу лиц, находящихся в сго-
воре.
4.4.2 Организация секретной связи
Рассмотрим стандартный протокол организации секретной связи с использованием симметричной криптосистемы. Действующими лицами протокола являются отправитель, ад-
ресат, пассивный нарушитель, активный нарушитель и др. Задача протокола - передать сек-
ретное сообщение X от отправителя адресату. Последовательность шагов протокола выгля-
дит следующим образом.

1. Отправитель и адресат договариваются об используемой симметричной криптоси-
стеме, то есть о семействе отображений Е={Ek}, k K.
2. Отправитель и адресат договариваются о секретном ключе связи k, то есть об ис-
пользуемом отображении Ek Е.
3. Отправитель шифрует открытый текст x с помощью отображения Ek, то есть создает криптограмму y=Ek(x).
4.Криптограмма y передается по линии связи адресату.
5.Адресат расшифровывает криптограмму y, используя тот же ключ k и отображение
Ek-1, обратное к отображению Ek, и читает сообщение x: x = Ek-1(y).
Поясним важные особенности изложенного протокола с помощью схемы, изображѐн-
ной на рисунке 4.2.
|
|
|
|
|
|
ЦГРК |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
k |
|
|
|
|
|
|
||
|
|
защищѐнный канал связи |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
линия связи |
|
|
Б |
: |
|
|
|
|
A: шифрование |
|
|
|
|
расшифрование |
|
||||||
|
сообщения x |
|
|
|
|
y |
|
|
|
|
криптограммы y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
криптоаналитик |
|
|
x |
||||||
|
|
|
|
|
|
|
|
|
|
|
k |
||
|
|
|
|
|
|
|
|
|
|
|
Рисунок 4.2 Организация передачи секретного сообщения x от отправителя адреса-
ту
с использованием ключа k симметричной шифрсистемы
Шаг 2 протокола реализуется либо с помощью посредника, третьей стороны, которую можно условно назвать центром генерации и распределения ключей (ЦГРК), либо функции ЦГРК возлагаются на пользователей. В первом случае криптографический протокол шифрс-
вязи называют трѐхсторонним, а во втором случае - двусторонним.
Существенной особенностью протокола является секретность ключа k, который пе-
редается отправителю и адресату либо в открытом виде по каналу связи, защищенному от действий криптоаналитика, либо в шифрованном виде по линии связи. Защищѐнный канал

связи может иметь относительно невысокую пропускную способность, но должен надежно защищать ключевую информацию от несанкционированного доступа криптоаналитика.
Ключ должен оставаться в секрете до, во время и после реализации протокола, иначе крип-
тоаналитик, завладев ключом, может расшифровать криптограмму и прочитать сообщение.
Отправитель и адресат могут выполнить шаг 1 протокола публично (секретность криптоси-
стемы необязательна), но шаг 2 они должны выполнить в условиях строгой секретности
(секретность ключа обязательна).
Такая необходимость вызвана тем, что линии связи, в особенности протяжѐнные ли-
нии, уязвимы с точки зрения вмешательства пассивного и активного противников.
Пассивный противник (криптоаналитик), желая получить доступ к сообщению x, кон-
тролирует линию связи на шаге 4 протокола. Не вмешиваясь в реализацию протокола, он пе-
рехватывает криптограмму y с целью раскрытия шифра.
Разрабатывая криптосистему, криптограф обычно исходит из следующих предполо-
жений о возможностях криптоаналитика:1
1)криптоаналитик контролирует линию связи;
2)криптоаналитику известно устройство семейства Е отображений шифра;
3)криптоаналитику неизвестен ключ k, то есть неизвестно отображение Ek, исполь-
зованное для получения криптограммы y.
В свою очередь, при этих условиях криптоаналитик пытается решить следующие за-
дачи, называемые задачами дешифрования.
1. Определить открытый текст x и использованный ключ k по перехваченной крипто-
грамме y, то есть построить алгоритм дешифрования, реализующий отображение :Y* Х* K
такое, что(y)=(x,k).
Данная постановка задачи предполагает использование криптоаналитиком статисти-
ческих свойств открытого текста.
2. Определить использованный ключ k по известным открытому и шифрованному текстам, то есть построить алгоритм дешифрования, реализующий отображение :Х* Y* K
такое, что(x,y)=k.
Такая постановка задачи имеет смысл, когда криптоаналитик перехватил несколько криптограмм, полученных с использованием ключа k, и располагает открытыми текстами не
1 Основные правила противостояния криптографа и криптоаналитика были сформулированы еще в конце XIX века преподавателем немецкого языка в Париже голландцем Керкхоффсом в книге “La Cryptographie militare”.
для всех перехваченных криптограмм. В этом случае, решив задачу дешифрования второго
типа, он «прочтѐт» все открытые тексты, зашифрованные с использованием ключа k.
3.Определить используемый ключ k по специально подобранному открытому тексту x
ипо соответствующему шифрованному тексту y, то есть построить алгоритм дешифрования,
реализующий при заданном открытом тексте x отображение x:Y* K такое, чтоx(y)=k.
Подобная постановка задачи возникает, когда криптоаналитик имеет возможность тестирования криптосистемы, то есть генерирования криптограммы для специально подоб-
ранного открытого текста. Чаще такая возможность возникает при анализе асимметричных систем. Имеется разновидность этой задачи дешифрования, когда используется специально подобранный шифртекст.
Дешифровальные задачи первого типа отличаются более высокой вычислительной сложностью по сравнению с задачами второго и третьего типа. Наименьшую вычислитель-
ную сложность имеют задачи тестирования.
Активный нарушитель вмешивается в реализацию протокола. Он может прервать связь на шаге 4, полагая, что отправитель не сможет больше ничего сообщить адресату. Он может также перехватить сообщение и заменить его своим собственным. Если бы активный нарушитель узнал ключ (контролируя шаг 2 или проникнув в криптосистему), он мог бы за-
шифровать свое сообщение и отправить его адресату вместо перехваченного сообщения, что не вызвало бы у последнего никаких подозрений. Если активный нарушитель не знает клю-
ча, то он может создать лишь такую криптограмму, которая при расшифровании превраща-
ется в случайную последовательность символов.
Рассмотренный протокол подразумевает взаимное доверие отправителя, адресата и третьей стороны в лице ЦГРК. Это является слабостью данного протокола, так как не всегда можно исключить взаимный обман действующих лиц протокола. Впрочем, абсолютных га-
рантий безупречности того или иного протокола не существует, так как выполнение любого протокола связано с участием людей и зависит, в частности, от надѐжности действующих лиц протокола.
Таким образом, по организации секретной связи с использованием симметричной криптосистемы можно сделать следующие выводы.
1. Протокол должен защищать открытый текст и ключ от несанкционированного дос-
тупа нарушителя на всех этапах передачи информации от источника к получателю сообще-
ний. Секретность ключа более важна, чем секретность нескольких сообщений, шифруемых на этом ключе. Если ключ скомпрометирован (украден, угадан, раскрыт, выкуплен), тогда имеющий ключ нарушитель может расшифровать все сообщения, зашифрованные на этом
ключе. Кроме того, нарушитель сможет имитировать одну из переговаривающихся сторон и генерировать фальшивые сообщения с целью ввести в заблуждение другую сторону. При частой смене ключей эта проблема сводится к минимуму.
2. Протокол не должен допускать выхода в линию связи “лишней” информации, пре-
доставляющей криптоаналитику противника дополнительные возможности дешифрования криптограмм. Протокол должен защищать информацию не только от нарушителя , но и от взаимного обмана действующих лиц протокола.
3. Если допустить, что каждая пара пользователей сети связи использует отдельный ключ, то число необходимых ключей равно п (п-1)/2 для п пользователей, что при большом п генерация, хранение и распределение ключей становится трудоѐмкой проблемой.
Рассмотрим теперь организацию секретной связи с использованием асимметричной криптосистемы. Последовательность действий выглядит следующим образом.
1. Отправитель и адресат договариваются об используемой асимметричной криптоси-
стеме.
2.Адресат высылает отправителю открытый ключ k.
3.Отправитель шифрует открытый текст x с помощью открытого ключа k, то есть создает криптограмму y=Ek(x).
4.Криптограмма y передается по линии связи адресату.
5.Адресат расшифровывает криптограмму y, используя закрытый ключ z, и читает сообщение x:
x=Ez(y).
Несомненно, данный протокол защищает сообщение x: пассивный нарушитель может
перехватить открытый ключ k и криптограмму y, но не может расшифровать сообщение, так как не имеет закрытого ключа.
Достоинством протокола является то, что он не требует распределения секретных ключей. В сети связи нередко открытые ключи всех пользователей помещаются в общедос-
тупную базу данных, а закрытые ключи хранятся у пользователей. Это упрощает протокол,
так как отправитель сам выполняет шаг 2 протокола, не дожидаясь действия адресата. Адре-
сат не участвует в протоколе до тех пор, пока не соберѐтся прочитать открытое сообщение.
На практике алгоритмы с открытым ключом не заменяют симметричные алгоритмы.
Как правило, они используются для шифрования не самих сообщений, а ключей или некото-
рых других «вспомогательных» информационных блоков относительно небольшой длины.
Это вызвано следующими обстоятельствами.
1. Производительность алгоритмов с открытым ключом (скорость шифрования), по крайней мере, в 1000 раз уступает производительности симметричных алгоритмов, что ста-
вит их в невыгодное положение при шифровании больших объѐмов информации.
2. Криптосистемы с открытым ключом уязвимы к атакам на основе подобранного от-
крытого текста, особенно когда число вариантов блока открытого текста ограничено и до-
пустим перебор этих вариантов.
Поэтому наиболее выгодным представляется протокол секретной связи с использова-
нием гибридной криптосистемы, в котором асимметричный алгоритм используется для за-
секречивания и распределения ключей связи, а алгоритм с секретным ключом связи исполь-
зуется для защиты данных. Кроме того, такой протокол допускает уничтожение секретного сеансового ключа сразу после завершения сеанса, что резко снижает опасность его компро-
метации.
4.4.3 Обеспечение целостности сообщений
Одним из центральных понятий криптографии с открытым ключом является однона-
правленная функция, то есть функция f, значение f(х) которой легко вычисляется для любого аргумента х области определения, а вычисление по значению f(х) его прообраза х трудоѐмко.
Например, можно легко выполнить вычисление в конечном поле Р значения функции ах при заданном а Р, а вычисление логарифма для элемента поля Р требует более значительных трудозатрат.
Однонаправленная функция с потайным входом (или с ключом) зависит не только от х,
но и от некоторого параметра k. Вычисление прообраза по значению такой функции может быть реализовано легко лишь при известном параметре k.
X l
Хеш-функция – это отображение множества l 1 во множество Хm , где Х - конечное множество, l,т – натуральные, то есть отображение последовательностей различной длины в последовательности фиксированной длины т. Значение хеш-функции называют свѐрткой.
Хеш-функции используются в криптографии для проверки идентичности двух после-
довательностей путѐм сравнения их свѐрток. Такая проверка не является абсолютно досто-
верной, но может быть выполнена с приемлемой точностью.
Особый интерес представляют однонаправленные хеш-функции, для которых практи-
чески невозможно восстановить входную последовательность по еѐ свѐртке. Кроме того, хо-
роши для приложений те однонаправленные хеш-функции, которые свободны от коллизий,