Иванов М.А. КМЗИ сети. Криптографические методы защиты информации
Скачать 3.04 Mb.
|
ГЛАВА 2. КРИПТОСИСТЕМЫ С СЕКРЕТНЫМ КЛЮЧОМ 2.1. Модель симметричной криптосистемы В системе, показанной на рис. 2.1, в информационных отно- шениях принимают участие три действующих лица: отправитель (абонент А) и получатель информации (абонент В), а также про- тивник (W). Современные одноключевые криптосистемы пред- полагают использование взаимно-обратных преобразований E (encryption) и D (decryption) бл оков данных фиксированной дли- ны. Для задания блочной криптосистемы необходимо опреде- лить: числовые параметры криптоалгоритма – разрядность n шифруемых блоков данных, объем ключевой информации, размер раундового ключа, число раундов шифрования; раундовую функцию F шифрования; алгоритм получения раундовых ключей из исходного ключа AB k Задача абонента А заключается в том, чтобы передать получа- телю конфиденциальное сообщение m, состоящее из t блоков длины n, т. е. , 1 , 2 1 t i m m m m m t i Задача абонента В заключается в том, чтобы, получив передан- ное сообщение t i c c c c c 2 1 , понять его содержание. Для того чтобы только получатель мог прочитать посланное сообщение, отправитель преобразует от- крытый текст m с помощью функции зашифрования Е и секрет- ного (известного только А и В) ключа AB k в шифротекст с: , m E c AB который и поступает в канал связи. Получатель восстанавливает исходный текст сообщения с помощью функции расшифрования D и того же секретного ключа AB k : c D m AB 75 Зашифрование E AB (m) Расшифрование D AB (c) m c c m Абонент А (отправитель) Абонент В (получатель) Противник W Открытый канал связи Надежный (аутентичный) канал связи Генератор ключа Секретный ключ k АВ k АВ Рис. 2.1. Модель криптосистемы с секретным ключом Для реализации такого информационного обмена должен су- ществовать надежный канал, по которому происходит предвари- тельный обмен секретными ключами, а у одного из его законных участников должен быть генератор, формирующий качествен- ные ключи AB k , обеспечивающие гарантированную стойкость системы. Цель противника – воспрепятствовать осуществлению наме- рений законных участников информационного обмена. В общем случае противник может перехватывать зашифрованные сооб- щения, модифицировать их и даже посылать фальсифицирован- ные сообщения стороне В якобы от имени другой, в рассматри- ваемом случае – от стороны А. 76 2.2. Классификация угроз противника. Основные свойства криптосистемы Таким образом, имеют место три возможных типа угроз со стороны противника: 1) нарушение секретности информации – дешифрование (полное или частичное) переданного сообщения или по- лучение информации о его сути; 2) нарушение целостности информации – внесение в сооб- щение искажений, которые законный получатель не смог бы обнаружить; 3) нарушение подлинности информации – формирование ложных сообщений, которые законный получатель В принял бы за подлинные, пришедшие от А. Дешифрование переданного сообщения противником воз- можно в случае вычисления им секретного ключа, либо нахож- дения алгоритма, функционально эквивалентного AB D и не тре- бующего знания AB k Соответственно задачей криптографа является обеспечение требуемого уровня крипто- и имитостойкости системы. Крипто- стойкость – это защищенность криптосистемы от несанкциони- рованного ознакомления с содержимым зашифрованных сооб- щений. Имитостойкость – защищенность криптографической системы от навязывания ложных данных [8]. 2.3. Классификация атак на криптосистему с секретным ключом В симметричной криптосистеме различают пять уровней атак со стороны криптоаналитика [4]: 1) атака на основе только шифротекста (ciphertext-only attack): противнику известны n шифротекстов, зашифро- ванных на одном и том же ключе k; 2) атака на основе известного (невыбранного) открытого текста (known-plaintext attack): противнику известны n шифротекстов, зашифрованных на одном и том же ключе k, а также соответствующие им открытые тексты; 77 3) атака на основе выбранного открытого текста (chosen-plaintext attack): противник может выбрать необ- ходимое число открытых текстов и получить соответст- вующие им шифрограммы (при этом в случае простой атаки такого типа все открытые тексты могут быть вы- браны до получения первой шифрограммы; в случае адаптивной атаки противник выбирает очередной откры- тый текст, зная шифрограммы всех предыдущих); 4) атака на основе выбранного шифротекста (chosen- ciphertext attack): противник может выбрать необходимое количество шифротекстов и получить соответствующие им открытые тексты (в случае простой атаки такого типа все шифрограммы должны быть выбраны до получения первого открытого текста; в случае адаптивной атаки противник выбирает очередную шифрограмму, зная от- крытые тексты всех предыдущих); 5) атака на основе выбранного текста (chosen-text attack): противник может атаковать криптосистему с двух сто- рон, т. е. выбирать шифрограммы и дешифровать их, а также выбирать открытые тексты и шифровать их (атака такого типа может быть простой, адаптивной, простой с одной стороны и адаптивной с другой). В каждом случае противник должен либо определить ключ AB k , либо выполнить дешифрование некоторого нового шифро- текста, зашифрованного на том же ключе, что и сообщения, пре- доставленные ему для исследования на начальной стадии крип- тоанализа. Атаки перечислены в порядке возрастания их силы. Различие в степени действенности, например атак первых трех уровней, можно показать на примере шифра простой (одноалфавитной) замены. При анализе на основе только шифротекста для раскры- тия этого простейшего шифра требуется провести некоторую работу, аналогичную той, которую провели герои вышеупомяну- тых произведений Э. По и А. Конан Дойла. В случае атаки на основе известного открытого текста раскрытие шифра становит- ся тривиальным в особенности после того, как в открытых тек- стах встретятся большинство символов используемого алфавита. При атаке на основе выбранного открытого текста в случае ис- 78 пользования английского алфавита шифр будет вскрыт сразу по- сле получения шифровки XYZ ABC E k [3]. 2.4. Режимы использования блочных шифров Для различных ситуаций, встречающихся на практике, разра- ботано значительное количество режимов шифрования [2, 12, 21, 28, 30]. Наиболее очевидное решение задачи закрытия сообщений, состоящих из нескольких блоков, заключается в независимом шифровании каждого блока на одном и том же ключе AB k . Дан- ная классическая схема блочного шифрования (рис. 2.2) известна под названием режима электронной кодовой книги (Electronic Code Book (ECB)). В ГОСТ 28147-89 [12] данный режим назван режимом простой замены. а б p0 m 1 m 2 m t p0 p0 m 2 p0 m t m 1 c 1 c 2 c 1 c 2 c t c t E AB E AB E AB D AB D AB D AB Рис. 2.2. Шифрование в режиме ECB: а – зашифрование, б – расшифрование Уравнения зашифрования и расшифрования в режиме ECB имеют вид , 1 , , t i c D m m E c i AB i i AB i Режим имеет три существенных недостатка. Так как блоки шифруются независимо друг от друга, при зашифровании двух 79 или более одинаковых блоков получаются одинаковые блоки шифротекста и наоборот. Данное свойство режима ECB позволя- ет противнику делать выводы о тождественности тех блоков от- крытого текста, которым соответствуют одинаковые блоки шиф- ротекста. В тех случаях, когда длина исходного сообщения не кратна n, где n – разрядность блока данных шифра, возникает проблема дополнения последнего блока до нужного размера. Дополнение последнего неполного блока некоей фиксированной комбинацией битов в некоторых случаях может позволить про- тивнику методом перебора определить этот неполный блок. И, наконец, данный режим нечувствителен к выпадению или встав- ке целого числа блоков шифротекста. Отмеченные недостатки ограничивают область использования режима ECB только шифрованием ключевой информации, объем которой обычно кратен n, при этом качественные ключи не мо- гут содержать повторяющихся блоков. Применение режима ECB оправдано также в базах данных, когда требуется произвольный доступ для чтения (записи) к различным полям. Все остальные режимы реализуют комбинированные схемы шифрования (см. рис. 1.2) и обеспечивают зависимость каждого блока шифротекста не только от соответствующего блока от- крытого текста, но и от его позиции. На рис. 2.3 показана схема шифрования в режиме сцепления блоков шифротекста (Ciphertext Block Chaining (CBC)). Уравнения зашифрования и расшифрования в режиме CBC имеют вид , , 1 , , 1 - 1 - t i c c D m c m E c i i AB i i i AB i где секретность n-разрядного блока 0 c (синхропосылки) не явля- ется обязательной. Отличительные особенности режима CBC– зависимость при зашифровании i-го блока шифротекста от всех предшествующих блоков открытого текста и зависимость при расшифровании каж- дого блока открытого текста i m только от двух блоков ( 1 - i c и i c ) шифротекста. Первое свойство делает пригодным использование режима для решения задач контроля целостности информации. 80 Второе свойство делает режим самосинхронизирующимся: оди- ночная ошибка (ошибка при передаче одного блока) может при- вести к неправильному расшифрованию только двух блоков. Как будет видно в дальнейшем, этот режим используется и в крипто- системах с открытым ключом в том случае, если размер шиф- руемого сообщения больше, чем размер блока. а б p0 c 1 c 2 c t p0 c 0 p0 c 2 p0 c t c 1 c 0 m 1 m 2 m 1 m 2 m t m t D AB D AB D AB E AB E AB E AB Рис. 2.3. Режим шифрования СВС: а – зашифрование, б – расшифрование Схема режима обратная связь по шифротексту (Ciphertext Feedback (CFB)) показана на рис. 2.4. Схема, приведенная ранее на рис. 1.14, может рассматриваться как простейший частный случай данной схемы. Уравнения зашифрования и расшифрова- ния имеют вид: , 1 - i AB i i s E m c , 1 - i AB i i s E c m , 2 mod 2 1 - n i i i c s s , , 1 t i где n – разрядность регистра сдвига; –разрядность шиф- руемых блоков данных ( n 1 ); 0 s – начальное состояние 81 регистра сдвига (синхропосылка); 1 - i AB s E –старшие битов n-разрядной шифрограммы 1 - i AB s E а б m i E AB Регистр сдвига n τ s i s 0 c i τ τ c i E AB Регистр сдвига n τ s i s 0 m i τ τ Рис. 2.4. Режим шифрования CFB: а – зашифрование, б – расшифрование а б p0 c 0 = s 0 m t - 1 c 1 = s 1 C t - 1 = s t - 1 E AB E AB m 1 p0 c 0 = s 0 m 1 m t - 1 E AB E AB c 1 = s 1 c t - 1 = s t - 1 m t c t E AB m t E AB c t Рис. 2.5. Режим шифрования CFBпри τ = n: а – зашифрование, б – расшифрование 82 Схема шифрования в режиме CFBпри n показана на рис. 2.5. Уравнения зашифрования и расшифрования в этом слу- чае принимают вид , 1 - i AB i i c E m c , 1 - i AB i i c E c m , 1 t i В ГОСТ 28147-89 аналогичный режим назван режимом гам- мирования с обратной связью. Свойства данной схемы шифро- вания аналогичны режиму CBC: при зашифровании каждый блок шифротекста зависит от всего предшествующего ему открытого текста, при расшифровании отсутствует эффект «размножения» ошибок. Схема шифрования в режиме обратной связи по выходу (Output Feedback (OFB)) показана на рис. 2.6. Схема, приведен- ная ранее на рис. 1.13, может рассматриваться как простейший частный случай данной схемы. Гамма шифра снимается с вы- ходов генератора псевдослучайных чисел, реализованного на основе n-разрядного регистра сдвига, в цепи обратной связи которого используется функция зашифрования AB E Уравнения зашифрования и расшифрования имеют вид , i i i m c , i i i c m , 1 - i AB i s E , 2 mod 2 1 - n i i i s s , , 1 t i где i – очередной элемент гаммирующей последовательности; n – разрядность регистра сдвига; –разрядность шифруемых блоков данных; 0 s – начальное состояние регистра сдвига (син- хропосылка); 1 - i AB s E –старшие битов n-разрядной шифро- граммы 1 - i AB s E Последовательность t i 2 1 не зави- сит от открытого текста и поэтому всякий раз при фиксирован- ных AB k и 0 s будет вырабатываться одна и та же гамма. Данный факт требует при шифровании на одном ключе двух различных массивов данных использовать различные синхропосылки. 83 а m i E AB Регистр сдвига n τ s i s 0 Генератор ПСЧ c i γ i c i E AB Регистр сдвига n τ s i s 0 m i γ i t t t t б Генератор ПСЧ Рис. 2.6. Режим шифрования OFB: а – зашифрование, б – расшифрование Схема шифрования в режиме OFBпри n показана на рис. 2.7. Уравнения зашифрования и расшифрования в этом слу- чае принимают вид: , 1 - i AB i i s E m c , 1 - i AB i i s E c m , 1 - i AB i s E s t i , 1 В схеме режима счетчика (Counter) (рис. 2.8) генератор ПСЧ имеет двухступенчатую структуру. Первая ступень это либо n-разрядный счетчик, изменение состояния которого задается формулой , 1 1 - i i s s либо генератор n-разрядных кодов с мак- симально возможным периодом выходной последовательности. Каждый n-разрядный двоичный набор с выхода счетчика или генератора кодов первой ступени поступает на вход функции зашифрования АB E , результат действия которой – очередной элемент гаммы: 1 - i АB i s E Так же, как и в режиме OFB, для обратимости процедур шифрования при зашифровании и рас- шифровании должна использоваться одна и та же синхропосыл- ка 0 s . Уравнения зашифрования и расшифрования в режиме счетчика имеют вид 84 1 , , 1 , , n t i c m m c i i i i i i а б p0 s 0 m t s t - 1 c 1 c t E AB E AB m 1 p0 s 0 c t s t - 1 m 1 m t E AB E AB c 1 Рис. 2.7. Режим шифрования OFB при τ = n: а – зашифрование, б – расшифрование б m i E AB n τ s i s 0 Генератор ПСЧ c i γ i c i E AB Счетчик s i +1 = s i +1 n τ s i s 0 m i γ i τ τ τ τ Счетчик s i +1 = s i +1 а Генератор ПСЧ Рис. 2.8. Режим шифрования Counter: а – зашифрование, б – расшифрование 85 В ГОСТ 28147-89 аналогичный режим называется режимом гаммирования. Режимы счетчика и OFB c точки зрения обеспечения высоко- го уровня криптозащиты наиболее эффективны: именно они, по своей сути, наиболее близки к схеме одноразового использова- ния, т.е. к абсолютно стойкому шифру. С одинаковым на то ос- нованием оба они могут называться режимом гаммирования и в качестве последнего имеют следующие свойства: 1) при зашифровании и расшифровании используется одна и та же функция AB E ; 2) любой элемент (бит, байт, блок и т.п.) информационной последовательности шифруется независимо от других; 3) изменение любого бита шифротекста на противополож- ное значение приводит после расшифрования к анало- гичному изменению соответствующего бита открытого текста: , 1 1 1 1 1 i m i i m i i m i c c b b b b b где m i c i b b , – соответственно биты закрытого и открыто- го текста; 4) повторное наложение той же гаммы на зашифрован- ную последовательность с, дает на выходе исходную по- следовательность m m ; 5) шифрование нулевой последовательности дает на выходе гамму 0 ; 6) если известны две последовательности 1 c и 2 c , зашиф- рованные с использованием одной и той же гаммы, ее действие нейтрализуется следующим образом: 2 1 2 1 2 1 m m m m c c , после чего для дешифрования может быть использован частотный анализ; 7) если известны две последовательности 1 c и 2 c , зашиф- рованные с использованием одних и тех же значений k 86 и 1 s , т.е. с использованием одной и той же гаммы, и из- вестна последовательность 1 m , то последовательность 2 m может быть легко вычислена по формуле 1 2 1 2 m c c m , так как справедливо соотношение 2 2 1 2 1 m c m c c Третье свойство режимов гаммирования дает возможность противнику, не обладающему секретным ключом, воздействуя лишь на биты шифротекста, вносить предсказуемые, а в некото- рых случаях даже целенаправленные изменения в получаемый после расшифрования открытый текст. Однако, как справедливо отмечается в [8], это свойство гаммирования нельзя считать не- достатком, так как задачей любого шифра является лишь обес- печение секретности, задачи обеспечения целостности и под- линности информации решаются с использованием других меха- низмов, которые будут рассмотрены в последующих главах. Возможность внесения предсказуемых изменений при использо- вании режимов гаммирования исчезает при использовании ре- жима CFB (гаммирования с обратной связью). Режим счетчика следует признать более качественным, чем режим OFB, учитывая, что во втором случае криптостойкая функция AB E , используемая в цепи обратной связи генератора ПСЧ, вовсе не гарантирует максимально возможный период гаммы. Кроме того, если в режиме счетчика при реализации ал- горитма AB E , не используемого в цепи обратной связи генерато- ра ПСЧ, возникает случайное искажение информации, то при этом (в отличие от режима OFB, где искажаются все последую- щие элементы гаммы) искажается только один элемент гаммы, а значит, неправильно расшифровывается только один соответст- вующий блок. Приведенные пять режимов использования блочных шифров являются наиболее распространенными. Более того, первые че- тыре в свое время были официально утверждены Национальным бюро стандартов США в качестве режимов использования алго- ритма DES. 87 Генератор ПСЧ, функционирующий в соответствие с уравне- нием n i AB i i s E s s 2 mod 2 1 - 1 - , официально утвержден для использования в режиме Output Feedback и его модификациях. Стойкость генератора при n можно повысить, если в каждом такте полностью менять содер- жимое регистра генератора ПСЧ, т.е. в качестве сигналов обрат- ной связи использовать n-разрядный код 1 - i AB s E . Уравнение работы модифицированного генератора (рис. 2.9) имеет вид 1 - i AB i s E s |