Computers  &  Security,  vol.7,  N.1,  pp.65-71  Кристоферсон  П.
Шифрование   для   обеспечения  секретности  и  криптографические
преобразования   для   аутентификации   сообщений   (АС)   обычно
рассматриваются  как  различные средства, применяемые или нет для
защиты сообщений. Во многих случаях требуется и секретность и АС.
При    разделении    этих    функций    возникает    дублирование
криптографических алгоритмов и управления ключами. При шифровании
однако  возможна хорошая защита против манипуляций с сообщениями,
но  это  обеспечивается  не  всегда. В статье исследуется влияние
шифрования  на  этот  аспект.  Избыточность,  вносимая в открытый
текст,  рассматривается  как  средство  проверки  по  контрольной
сумме,  т.е.  не  связана  со специальными проверочными кодами. В
качестве  выводов  приходим к заключению, что ряд схем шифрования
обеспечивает  защиту  от манипуляций с избыточностью, а некоторые
схемы   не   рекомендуются.   При  соответствующем  выборе  схемы
шифрования  обеспечивается  и  АС. Ключевые слова: Аутентификация
сообщений,    Целостность,    Активные   нападения,   Обнаружение
манипуляций, Проверка по избыточности, Криптографические функции.
1.  Введение.  Существуют  различные  методы  АС  без обеспечения
шифрования,  как  такового.  Этого достаточно, когда не требуется
секретность,   но   очень   важна  целостность  данных.  Примеры:
финансовые  операции,  распределение  открытых  ключей. Известные
методы  АС таковы: - добавление кода аутентификации сообщения или
криптографической  контрольной  суммы  к  сообщению;  -  цифровые
подписи, т.е. преобразование сообщения или его уплотнгнной версии
с  помощью секретного ключа в системе соткрытым ключом; Однако во
многих  случаях  требуется  и  секретность, и целостность данных.
Использование криптосистемы, несмотря на распространгнное мнение,
не  всегда  эффекттивно  при защите от манипуляций с сообщениями.
Существуют  ситуации,  когда  криптосистема открыта нападениям на
целостность,  оставаясь при этом ненарушенной. С другой стороны в
ряде    случаев    криптосистема   предотвращает   нападения   на
целостность.   В  статье  рассматриваются  именно  такие  случаи,
позволящие  пользователю обеспечить наряду с секретностью и АС. В
этом  контексте  АС  рассматривается  как  способность  законного
получателя проверить принятое сообщение на предмет: - не искажено
ли оно третьей стороной; - не является ли оно повторной передачей
третьим  лицом  ранее переданного сообщения; - не сформировано ли
оно  третьим лицом. Предполагается, что все сообщения зашифрованы
для   обеспечения  секретности.  Поскольку  используются  обычные
криптосистемы   с   симметричными   ключами,   нет  необходимости
рассматривать   случай  отказа  от  сообщений.  2.  Теоретическая
аутентичность.  Все методы АС в принятых зашифрованных сообщениях
должны  использовать  избыточность открытого текста. Избыточность
должна  быть  очевидна  для  получателя,  и только после проверки
характеристики  избыточности  сообщение  может  быть  принято как
достоверное.  Избыточность  может быть различного типа. Например,
естественная   избыточность   языка,   используемого   на  уровне
конкретного  применения.  В этом случае затруднена автоматическая
проверка, но для человека избыточность очевидна. В другом случае,
который  легко  проверить,  это проверочная цифра, сопровождающая
номер  банковского  счгта  и т.п. Если не существует естественной
избыточности,  которую легко обработать, отправитель и получатель
могут  договориться о внесении в открытый текст легко проверяемой
избыточности  перед  шифрованием.  Избыточность также вводится на
различных  уровнях  связной  архитектуры,  например, на канальном
уровне  для  передачи  команд  управления  ошибками. Если процесс
шифрования  происходит на низком уровне ( например, на физическом
уровне),  то проверка избыточности может проводиться в пригмнике.
Во   многих   случаях   это  предпочтительно,  так  как  проверка
становится  частью  процесса обеспечения связи. Очевидно, что чем
больше  избыточность  в  открытом  тексте и чем легче проверка на
пригме,  тем  труднее для злоумышленника ввести ложные сообщения.
Увеличение   избыточности   означает,   что   большее  количество
криптограмм (по всем ключам) рассматривается как неразрешгнные на
действующем  ключе  после  дешифрования.  Это  свойство привело к
концепции  полной  аутентичности,  исследованной  рядом  авторов.
Полная  аутентификация  определяется  как  система  шифрования, в
которой  знание  количества  разрешгнных  криптограмм не помогает
злоумышленнику найти эти криптограммы. Это означает, что он может
лишь случайно выбирать криптограмму. Эта стратегия легко уязвима,
если число разрешгнных криптограмм намного меньше числа возможных
криптограмм.  Это  ещг  один путь оценить важность избыточности в
открытом  тексте.  Не  стоит удивляться, что многие криптосистемы
обладают  этим свойством. Было показано, что полная аутентичность
всегда достижима, хотя требуемое количество ключей в ряде случаев
велико.   В   этом   контексте   мы  не  озабочены  исключительно
вероятностью   того,   является  ли  предполагаемая  криптограмма
разрешгнной   или   нет.   Рассмотрим   случай,   когда  свойства
существующих  криптосистем вполне позволяют попытки манипуляций с
собщениями.   Предполагается,   что   злоумышленник   знает  (или
предполагает  с  большой  вероятностью)  открытый  текст (или его
часть),  соответствующий  криптограмме,  что  часто  возможно  на
практике.  Он желает некоторым, предпочтительным для него образом
изменить  открытый  текст,  который должен поступить к получателю
после   дешифрования.   Поскольку  разные  криптофункции  в  этом
отношении  имеют  разные  свойства,  необходима классификация для
описания  и оценки этих свойств. 3. Различные виды криптофункций.
(А)    Поточный   побитный   шифр.   Эти   криптофункции   весьма
распространены  сегодня  по  нескольким  причинам.  Если в момент
времени  шифруется  один бит открытого текста, то только сложение
по модулю 2 позволяет получить обратимую функцию. зддддддддддд 
ДСЧ      ключ   дддддд      юдддддбддддды     открытый  текст
ддддеддддддддддддддд   IV   +   шифртекст   Рис.1.   IV  означает
инициализирующее  значение или ключ сообщения, передаваемый перед
сообщением для инициализации датчика псевдослучайных чисел (ДСЧ).
Особый случай: ДСЧ отсутствует, и ключ является потоком случайных
битов,  суммируемых по модулю 2 с открытым текстом. Если ключевой
поток  используется  один  раз, то это теоретически недешифруемый
случай.    При    практической   реализации   может   параллельно
использоваться  несколько бит, например, байт. Поскольку в основе
лежит  побитное  сложение  по  модулю 2, то логически нет никаких
различий.  Это  относится  и  к  менее распространгнным системам,
использующим   байтовое   сложение  по  молю  256.  Замечательное
свойство криптофункции - это ег линейность. (ДСЧ во всех основных
системах  сильно нелинейный). В этих системах нет распространения
ошибок.  Такие  алгоритмы  реализованы  в  DES c ОС. (Б) Поточный
побитный  шифр с ОС (автоключ). Это также известная система, но с
распространением  ошибок. Длина распространения ошибок зависит от
структуры  ДСЧ.  Реализована  в  DES  в  режиме  с  1-битной  ОС.
зддддддддддд    ДСЧ    ключ дддддд цдддд юдддддбддддды   
открытый  текст  ддддеддддддддддадддд  IV  + шифртекст Рис.2. (В)
Поточный  побитный  шифр  с  ОС  по  открытому  тексту. Это менее
распространгнная    автоключевая    система    с   неограниченным
распространением  ошибок.  Возможна  комбинация  (Б) и (В) (ОС по
шифртексту  и открытому тексту). зддддддддддд ключ дддддд ДСЧ 
здд               юдддддбддддды            открытый    текст
дддаддддддддеддддддддддддддд  IV  + шифртекст Рис.3. (Г) Блоковый
(нелинейный)   поточный  шифр.  В  этих  системах  осуществляется
нелинейная  подстановка  (и,  возможно,  перестановки)  в  блоках
открытого   текста,   например,   размером   в  байт.  Шифрование
последовательных  блоков  управляется ключом и ДСЧ и различно для
одинаковых  блоков  открытого  текста. зддддддддддд ключ дддддд
ДСЧ      юдддбббддддды  здддааадддд открытый текст дддддд
блок  цдддддддддд IV + шифртекст юдддддддддды Рис.4. (Д) Блоковый
поточный  шифр  с  ОС.  Здесь  как  и  в  линейной  системе  есть
возможность автоключа, т.е. ОС по шифртексту или открытому тексту
(или  комбинация).  зддддддддддд  ключ  дддддд ДСЧ цдддд   
юдддбббддддды     здддааадддд  открытый текст дддддд блок
цдддддадддд  шифртекст  юдддддддддды  Рис.5.  (Е) Блочный шифр. В
блочном   шифре   несколько   бит   открытого   текста  шифруются
одновременно  при  помощи  нелинейной криптофункции, и каждый бит
открытого  текста  влияет  на  каждый  бит  шифртекста в пределах
блока.  Между  блоками  нет  влияния,  т. е. два одинаковых блока
открытого   текста   приводят  к  одинаковым  блокам  шифртекста.
Дешифрование   может   выполняться   для   отдельных   блоков   в
произвольном     порядке    без    потери    криптосинхронизации.
Следовательно,  нет  необходимости  в  IV. Распространение ошибок
захватывает  только блок. Это ,по-существу, DES в основном режиме
-  электронной  кодовой  книги.  Примечание:  системы  с открытым
ключом   также   попадают   в  эту  категорию,  но  поскольку  по
определению  ключ  шифрования  открыт, шифрование не используется
для  АС.  Цифровые  подписи, использующие личный секретный ключ в
этих  системах, обеспечивают АС, но не секретность. зддддддддддд
ключ  дддддд  блочный цдддддддд шифртекст открытый текст дддддд
шифр    юддддддддддды  Рис.6. (Ж) Блочный шифр с ОС. При блочном
шифровании  по ОС обычно передагтся предыдущий блок шифртекста, а
при первоначальном запуске - случайное начальное число IV. Ошибка
в одном бите поражает 2 блока - ошибочный и последующий. Обратную
связь  можно  организовать  побитным  сложением  блока  открытого
текста  с  предыдущим  блоком  шифртекста. В этом случае ошибка в
одном  бите  поражает  ошибочный  блок  и  соответствующий  бит в
следующем  блоке.  Это  алгоритм  DES  в режиме сцепления блоков.
зддддддддддд  ключ  дддддд  блочный  цдддбдддд  IV  + шифртекст
открытый текст дддддд шифр цддды юддддддддддды Рис.7. Примечание
1.  Свойства  распространения  ошибок для различных криптофункций
упоминаются  в связи с тем, что они тесно связаны с возможностями
манипуляций  сообщениями.  Существует  также  весьма  опасный для
криптосистем вид ошибки - потеря криптосинхронизации из-за потери
или  добавления  битов  при передаче. Это приводит к последующему
искажгнному  дешифрованию, и требуется снова криптосинхронизация.
Это  справедливо  для  ДСЧ  с  ОЗУ и блочных шифров при нарушении
границ  блоков.  Примером  самосинхронизуемого шифра служит DES в
режиме  с  однобитной  ОС,  где в алгоритм помимо ключа поступает
только   шифртекст,   т.е.   после   периода  правильно  принятой
информации  система  синхронизируется.  Примечание  2. Существуют
различные   определения  блочных  и  поточных  шифров.  Определим
поточные  шифры  как шифры, зависящие от времени, т.е. шифрование
происходит на битовом (байтовом) уровне с помощью псевдослучайной
последовательности,  сгенерированной  по  алгоритму  и  полностью
определяемой  ключом  и некоторым начальным значением, IV. В ходе
шифрования  получают  новые  значения для его продолжения. Обычно
используется  сложение по модулю 2, но при шифровании на байтовом
уровне могут использоваться более общие подстановки. ОС означает,
что  текст  сообщения  некоторым  образом  влияет на ДСЧ. Блочные
шифры, напротив, не зависят от времени; шифрование зависит только
от  ключа и блока открытого текста, при этом расстояние от начала
шифрования  не важно. При использовании ОС граница между блочными
и  поточными  шифрами  размывается.  4. Манипуляция с содержанием
сообщений. (А) Поточный побитный шифр. Эти шифры наиболее уязвимы
перед  нападениями  с  целью  изменения  открытого  текста.  Если
известна  часть  открытого  текста,  легко  изменить в шифртексте
нужные  биты  (например,  цифры  в  банковских документах). Можно
изменить  и  проверочные  цифры,  поскольку  известны  все  биты,
участвующие  в  их  расчгте.  Это  справедливо  и  для линейной и
нелинейной  функции  проверки  избыточности.  Конечно, нападающий
должен  знать  эту  функцию. Если проверочная функция строится на
основе  контроля  блоков  или  контроля  при  помощи циклического
избыточного  кода,  то  нападающему не требуется знать весь текст
для  корректировки контрольной суммы после манипуляций с текстом.
Таким образом, контрольные цифры не помогут получателю обнаружить
манипуляции  с  сообщением.  Вывод:  в  этих  системах АС требует
отдельных  методов  с секретными элементами, например, добавление
кода  аутентификации сообщения. (Б) Поточный побитный шифр с ОС .
В  этих  системах  благодаря распространению ошибок нападающий не
имеет  контроля  над  открытым текстом, следующим после намеренно
изменгнного  бита  (кроме  последнего  бита).Все виды проверок на
избыточность позволят обнаружить манипуляции с сообщением. Другие
системы  будут иметь ограниченное распространение ошибок, 64 бита
в случае однобитного режима с ОС в DES. Проверка эффективна, если
она   обнаруживает   изменения,  по  крайней  мере,  в  64  битах
(например,простой   контроль  блоков),  и  нападающий  это  может
предположить  лишь случайно. В системах с распространением ошибки
одного  бита нападающий, не зная, как бит ОС влияет на шифрование
следующего  бита,  имеет  вероятность  50%,  что следующий бит не
изменгн.  Если в конце сообщения используется контроль блоков, он
может  сделать  правильное  изменение  в  соответствующей позиции
контроля  блоков.  Оба  изменения влияют на текущий бит с вер-тью
50%,   следовательно,   результирующая  вероятность  правильности
контроля  блоков  после изменений опять же 50%. Нападающий в этом
случае  имеет  намеренно  изменгнный  бит  и  возможно изменгнный
следующий  бит.  Каждая  битовая  позиция (в одном или нескольких
символах),  которую  он  хочет  изменить,  уменьшает  вероятность
успеха   при   контроле   блоков  на  50%.  Контроль  при  помощи
циклического  избыточного  кода,  в котором изменение одного бита
сообщения   влияет   на   несколько   проверочных   цифр,   менее
благоприятен  для нападающего. Лучшая стратегия для него при этом
- найти изменение, влияющее лишь на несколько битов проверки, так
как  каждое  изменение  при  этом  умен6ьшает вероятность на 50%.
Примечание.   DES  в  8-битном  режиме  с  ОС  обладает  теми  же
свойствами, что и в однобитном режиме с ОС. Возможный, но едва ли
рекомендуемый  64-битный с ОС режим, обладает другими свойствами.
Так  как  он  работает  аналогично  побитному поточному шифру, то
открыт  нападениям на блочном уровне. При известном окончательном
(но не свободно выбранном) тексте может быть осуществлена вставка
или  уничтожение  блоков.  При известном открытом тексте возможно
исправление  последнего  блока,  содержащего значения проверочных
функций.  Сложение  по  модулю  2  или  контроль блоков вообще не
изменят значения, если нападающий лишь изменил порядок следования
блоков.  (В)  Поточный  побитный  шифр  с ОС по открытому тексту.
Распространение  ошибок  зависит  от  того, как биты ОС влияют на
ДСЧ.  Если  они влияют только на дешифрование следующего бита (но
неизвестно   как),   то   вероятность   правильного  дешифрования
составляет  50%  после  каждого неправильнодешифрованного бита. И
когда  это происходит, последующее дешифрование будет правильным,
если  больше не вносилось ошибок. Это означает, что нападающий не
имеет  полного  контроля  над изменениями, которые он вносит (это
справедливо  и  для изменений проверочных цифр). Даже для простой
проверочной функции типа контроля блоков вероятность успеха менее
50%.  Имеется  шанс  0.25,  что  изменение  1  бита  ( и соответ.
изменение бита в контроле блоков) даст желаемое значение, которое
пройдгт  незамеченным  для  контроля  блоков. Использование более
сильных   функций  проверки  уменьшает  возможность  незамеченных
манипуляций. Однако очень похоже, что такие системы имеют гораздо
большее   распространение   ошибок,   даже   неограниченное,  что
позволяет  выявить  изменения  открытого  текста  всеми функциями
проверки.   (Г)  Блоковый  поточный  шифр.  Нелинейное  поведение
блочного  шифрования делает невозможным для нападающего изменение
выбранного  блока открытого текста (например, байта или символа),
даже  если  он знает открытый текст. Поскольку нельзя предсказать
результат  изменений  в  открытом  тексте,  нападающий  не  может
изменить  проверочные  цифры,  даже  зная их взаимосвязь. Системы
обладают  высокой  степенью  защиты  от манипуляций. (Д) Блоковый
поточный  шифр с ОС. Распространение ошибок захватывает следующий
блок,  а во многих и ещг дальше. Защита от манипуляций достаточно
сильна.   (Е)  Блочные  шифры.  Распространение  ошибок  в  блоке
шифртекста  делает  исход  манипуляций  непредсказуемым. Возможна
манипуляция   на  блочном  уровне  из-за  незавивисимости  блоков
(уничтожение,  вставка,  изменение  порядка  следования  блоков).
Функции  проверки  не  могут  этого  обнаружить  (если  только не
производилось  изменение  порядка  блоков,  двойная вставка и при
этом  не  менялся  последний  блок  с  проверочной функцией). Это
обнаружат  функции,  зависящие  от  порядка следования символов в
сообщении (контроль при помощи избыточных циклических кодов). (Ж)
Блочные  шифры  с  ОС.  Аналогично  +  защита на блочном уровне +
эффективность  проверочных  функций,  охватывающих каждый блок. В
DES  в  режиме сцепления блоков блок ОС добавляется по модулю 2 к
следующему блоку открытого текста. Изменяя биты в одном шифрблоке
и,  таким  образом,  искажая  его  после дешифрования, нападающий
может  ввести  желаемые  изменения  в  следующий  блок  открытого
текста.  Искажгнный блок, если он часть контроля по избыточности,
выявит  нападение.  Защита от манипуляций на уровне блоков слаба.
Передача  начального значения IV в открытом виде дагт нападающему
возможность   изменить   первый   блок  зашифрованного  сообщения
желаемым  образом,  изменяя  передаваемое  значение  IV,  при чгм
ошибок  в  последующих блоках не возникает. Это происходит по той
причине,  что IV добавляется по модулю 2 к дешифруемому тексту на
пригме.  При  соблюдении  некоторой аккуратности нападающий может
внести  изменения  в  первый  блок  так,  что  контроль блоков не
изменится. В этом случае необходимо передавать IV в зашифрованном
виде  или  согласовывать  заранее.  Вставка  или  удаление блоков
изменит  один  принятый  блок  открытого текста вычислимым, но не
выбранным   образом.   Проверка   типа  "контроль  блоков"  может
оказаться  слабой,  так  как  противник, осуществляющий несколько
вставок/удалений  или просто наудачу, может обмануть ег. Проверка
не  сработает  при  перестановке блоков или добавлениях блоков по
модулю  2. Контроль при помощи избыточных циклических кодов и др.
позиционные  проверки  обеспечат  лучшую  защиту. Системы с ОС по
открытому   тексту  обеспечивают  неограниченное  распространение
ошибок,  и поэтому удобны для всех проверок по избыточности (даже
для  фиксированного  окончания  сообщения).  Выводы.  Защита  при
помощи    функций    проверки   по   избыточности.   Таблица   1.
-----------------------------------------------Тип        крипто-
Контроль   блоков   Контроль   при   помощи   функции  избыточных
циклических                                                 кодов
-------------------------------------------------А  нет  нет Б да
да  Прим.1  В  да  да  Прим.2  Г да да Д да да Е нет да Ж1 нет да
Прим.3            Ж2            да            да           Прим.4
----------------------------------Примечания:    1.   Системы   с
1-битной  ошибкой  и DES в режиме с однобитной ОС небезопасны. 2.
Системы,   не   гарантирующие   более,   чем  однобитную  ошибку,
небезопасны.  3.  Ж1 - это системы с ОС по шифртексту. Принять во
внимание  нападения  на IV. 4. Ж2 - это системы с ОС по открытому
тексту.  5. Манипуляции с потоком сообщений. Выше рассматривались
манипуляции   с   отдельными  сообщениями.  Реально  связь  между
отправителем  и  получателем  состоит  из  множества  сообщений в
течение  длительного периода времени. Главный ключ шифрования (но
не  IV)  один  и тот же для многих сообщений. Возникают проблемы,
что  нападающий задержит, уничтожит или повторит сообщения. АС на
уровне  сообщений  не  обеспечит  защиты,  так  как  сообщения не
искажаются.  Опишем  ряд  мер  защиты:  5.1. Нумерация сообщений.
Номер   шифруется  при  передаче.  Нумерация  сбрасывается  через
длительный  период  времени,  желательно более длинный, чем время
действия  ключа.  Недостаток:  чисто  административный  -  разные
группы   обмена  требуют  своей  нумерации.  Нумерация  кадров  в
протоколе  звена  не  используется  в  этих  целях,  так  как она
сбрасывается при каждом сеансе. 5.2. Временные метки. К сообщению
добавляется  дата  и  время.  Оценка  времени  ведгтся  с  учгтом
возможных  задержек  передачи  и  невозможности  быстрого повтора
нападающим сообщений. 5.3. Случайное число от пригмника. Пригмник
посылает передатчику случайное число, которое затем вставляется в
зашифрованное    сообщение    для   проверки   пригмником.   5.4.
Криптопеременные,   не   управляемые   отправителем.   В  системе
реального времени получателю могут потребоваться криптопеременные
для  дешифрования сообщения. Это может быть начальное значение IV
или  сеансный  ключ  (переданный  в зашифрованном виде на главном
ключе).  При  этом  сообщение дешифруемо только в течение данного
сеанса.   Распределение  сеансных  ключей  центром  распределения
ключей  может  служит  тем же целям, если оно аутентифицируется с
той же степенью.
 

Оставит комментарий