Протоколы образования защищенных каналов передачи данных
Применение поточных шифров для обеспечения конфиденциальности достаточно прозрачно и не требует каких-либо особенных комментариев. Можно отметить, что блочный шифр в режимах OFB или CFB фактически работает по той же схеме, что и поточный шифр, так как собственно функция блочного шифра в этих режимах сводится к генерации псевдослучайной двоичной последовательности, которая накладывается… Читать ещё >
Протоколы образования защищенных каналов передачи данных (реферат, курсовая, диплом, контрольная)
Как известно, две главные задачи защиты каналов связи заключаются в обеспечении конфиденциальности и аутентичности передаваемых по ним сообщений. Защищенный канат передачи данных можно представить себе в виде своеобразной «непрозрачной трубы», внутри которой передается информация. В идеале такая «труба», во-первых, исключает возможность утечки информации из капала вовне — это свойство защищенного каната носит название конфиденциальность, а во-вторых, исключает возможность случайного или преднамеренного влияния на передаваемую информацию извне — это свойство защищенного канала носит название аутентичность. Разумеется, практическая реализация защищенного канала всегда лишь до некоторой степени позволяет приблизиться к этому идеальному образу.
Говоря более строго, конфиденциальность информации, передаваемой каналу связи, — это гарантии того, что постороннему лицу (нарушителю), прослушивающему канал связи, не станет известно содержание передаваемых по нему сообщений. Аутентичность информации, передаваемой по каналу связи, — это свойство, которое слагается из двух аспектов: целостности и подлинности. Целостность информации — это гарантии того, что сообщение будет доставлено от отправителя к получателю в неизменном виде. Подлинность информации — это гарантии того, что отправителем сообщения является именно тот участник системы связи, который и указан в качестве такового в сообщении, а не постороннее лицо (нарушитель). На практике такая ситуация, когда обеспечен только один из этих двух аспектов аутентичности: подлинность без целостности либо целостность без подлинности — не имеет смысла, поэтому соответствующие механизмы всегда используются совместно.
Далее мы рассмотрим современные подходы к организации защищенных каналов передачи данных. В зависимости от требований, предъявляемых к каналу, могут быть задействованы либо только механизмы обеспечения конфиденциальности, либо только механизмы обеспечения аутентичности, либо те и другие механизмы одновременно. В качестве вспомогательных механизмов, необхолимых для обеспечения работы основных средств защиты, средства реализации защищенных каналов передачи данных также всегда используют протоколы аутентичного распределения ключей. Каждый из этих механизмов, как правило, может быть реализован разными способами, в связи с чем получается классификация методов организации каналов защищенной передачи данных, показанная на рис. 4.4.
Несмотря на кажущуюся простоту (всего две функции: обеспечение конфиденциальности и аутентичности) проблема получила серьезное научное содержание, что связано с множественностью самих определений безопасности и стойкости к различным видам атак, множеством требований к распределению ключей, большим количеством известных режимов шифрования, алгоритмов шифрования и протоколов распределения ключей.
Рассмотрим вначале случай, когда требуется только конфиденциальность информации. При этом аутентичность, к примеру, обеспечивается какими-либо внесистемными средствами. Конфиденциальность сообщений, как известно, может быть обеспечена симметричными схемами шифрования либо схемами открытого.
Рис. 4.4. Основные используемые на практике методы организации защищенных каналов передачи данных шифрования, но возможно также комбинированное их использование в виде так называемых гибридных схем шифрования.
Начнем с симметричных схем шифрования. В качестве таковых могут быть выбраны либо блочные шифры в режимах, обеспечивающих только конфиденциальность, либо поточные шифры.
В настоящее время наиболее употребительными в практике защиты информации являются пять режимов работы блочных шифров, обеспечивающие конфиденциальность, которые перечислены ниже:
- 1) режим электронной кодовой книги (ЕС В — electronic codebook);
- 2) режим сцепления блоков (С В С — cipher block chaining);
- 3) автономный режим, или режим обратной связи по выходу (OFB — output feedback);
- 4) режим обратной связи по шифртексту (СЕВ — cipher feedback);
- 5) режим счетчика (677? — counter mode encryption).
Эти пять режимов установлены Международным стандартом ISO/IEC 10 116:2006 — Information technology — Security techniques — Modes of operation for an n-bit block cipher.
Режимы различаются удобством (или неудобством) использования в тех или иных ситуациях, свойствами распространения ошибки, возможностями несанкционированного внесения изменений в шифртекст, доказанными утверждениями о безопасности и пр.
Отечественным стандартом ГОСТ 28 147–89 рекомендованы три режима работы блочного шифра, обеспечивающие конфиденциальность: режим простой замены (соответствующий ЕС В), режим гаммирования (соответствующий ОЕВ) и режим гаммирования с обратной связью (соответствующий СЕВ).
Известны и другие режимы блочного шифрования, обеспечивающие конфиденциальность: 2DEM (2D-encryption mode), ЛВС (accumulated block chaining), IGE (infinite garble extension), XCB (extended c. odebook mode). Эти режимы не включены в соответствующие международные стандарты, однако последний из перечисленных режимов рассматривается в научной литературе как перспективный, так как позволяет обрабатывать блоки произвольной длины, для которых реализует строгую псевдослучайную перестановку.
Применение поточных шифров для обеспечения конфиденциальности достаточно прозрачно и не требует каких-либо особенных комментариев. Можно отметить, что блочный шифр в режимах OFB или CFB фактически работает по той же схеме, что и поточный шифр, так как собственно функция блочного шифра в этих режимах сводится к генерации псевдослучайной двоичной последовательности, которая накладывается на открытый текст. Таким образом, любой блочный шифр можно превратить в поточный, используя его в одном из этих режимов, но обратное неверно — поточный шифр нельзя использовать как блочный. Широко известные примеры алгоритмов поточного шифрования — АЗ, Л5, А8у RC4, PIKE, SEAL, eSTREAM. Таким образом, блочные шифры в известном смысле более универсальны. В связи с этим поточные шифры в настоящее время употребляются главным образом в тех сферах, где блочные шифры по тем или иным причинам не способы справиться с требованиями, предъявляемыми к средствам криптографической защиты: это сверхвысокоскоростное шифрование (на скоростях порядка нескольких Гб/с), жесткие ограничения на аппаратные ресурсы, ограничения на энергопотребление.
Перейдем к схемам открытого шифрования. Как известно, самое главное их преимущество перед симметричными схемами шифрования — отсутствие необходимости в физически защищенных каналах для передачи секретных ключей. Для функционирования схем открытого шифрования достаточно только открытых каналов связи. Вместе с тем основной их недостаток — сравнительно низкая скорость работы. Как правило, она на много порядков ниже, чем у симметричных схем шифрования. По этой причине основным средством обеспечения конфиденциальности сообщений достаточно большого объема и при интенсивном трафике были и остаются симметричные алгоритмы шифрования, а схемы открытого шифрования используются для передачи сообщений ограниченной длины (порядка нескольких десятков или сотен килобайтов).
Наконец, гибридные схемы шифрования (табл. 4.30) — это такой вариант совместного использования схем шифрования, когда схема открытого шифрования применяется участниками схемы для защиты общего секретного ключа симметричной схемы шифрования, а симметричная схема шифрования применяется уже непосредственно для защиты пользовательских данных.
Теперь перейдем к рассмотрению случая, когда требуется обеспечить только аутентичность информации. Аутентичность сообщений можно обеспечивать, используя коды аутентификации сообщений (message authentication codes — MAC) либо электронную подпись. Целесообразность применения одного из двух механизмов определяется требованием обеспечения в конкретном приложении невозможности отказа от сообщений (или отсутствием этого требования). Невозможность отказа может быть обеспечена только асимметричными криптосхемами, т. е. в данном случае схемами электронной подписи, так как в любой схеме электронной подписи секретные ключи подписи имеют только одного владельТаблица 430
Принцип работы гибридной схемы шифрования.
да. Следовательно, при возникновении спора о факте создания какого-либо документа, заверенного электронной подписью, его автора всегда можно установить однозначно. Симметричные криптосхемы сделать этого не позволяют, так как в них используются ключи, которые являются общими секретами как минимум для двух, а то и более участников криптосистемы. Следовательно, однозначно установить единственное лицо, применившее секретный ключ для выполнения криптографического преобразования, не представляется возможным.
Применение электронной подписи для обеспечения аутентичности сообщений, на наш взгляд, требует некоторых дополнительных комментариев. Заметим, что для человека несомненно более удобным является подписание открытого текста документа: при этом он хорошо осознает свои действия и психологически готов нести ответственность за подписываемый документ. Далее подписанный документ при необходимости зашифровывается. Получатель обрабатывает документ в обратном порядке: сначала расшифровывает, потом проверяет электронную подпись. С технической точки зрения более надежным было бы, напротив, подписание уже полностью обработанного, в том числе зашифрованного, документа. При этом получателем проверялась бы подлинность «окончательного» источника данных, т. е. если проверка электронной подписи получателем даст отрицательный результат, то это совершенно точно будет свидетельствовать о «внешней» ошибке либо злоумышленном воздействии на сообщение при передаче по каналу связи. Для корректной проверки электронной подписи необходимо обеспечивать подлинность открытых ключей всех участников криптосистемы. Гарантии подлинности открытых ключей, как правило, предоставляются инфраструктурой криптосистемы, в частности, инфраструктурой открытых ключей.
Для размышления В тех случаях, когда требование невозможности отказа (с юридическим разрешением конфликтных ситуаций) не является критически важным, используют симметричные методы аутентификации. В симметричных криптосистемах участникам необходимо иметь общие секретные ключи, что достигается применением протоколов аутентичного распределения ключей. Когда участникам криптосистемы предоставлены гарантии аутентичности их общих секретных ключей, только тогда можно говорить об обеспечении аутентичности данных, передаваемых по каналу связи между ними.
Традиционно известны два симметричных метода обеспечения аутентичности сообщений в электронных каналах связи: хэшфункции с ключом и блочные шифры в режимах работы, обеспечивающих аутентификацию сообщений. Оба подхода основаны на вычислении некоторого «контрольного кода», называемого в различных случаях хэш-кодом, тегом или имитовставкой. Для определенности будем далее во всех случаях называть его хэш-кодом. Независимо от способа вычисления, он прикрепляется отправителем к сообщению, а получатель самостоятельно, тем же способом пересчитывает хэш-код полученного им сообщения и сверяет его с тем, которое прикреплено к сообщению. При положительном результате проверки источник сообщения считается аутентичным, так как верно сгенерировать хэш-код могло только то лицо, которое знает общий с получателем секретный ключ. Симметричные алгоритмы обеспечивают высокую производительность, что позволяет обрабатывать в режиме реального времени достаточно интенсивный трафик без ощутимых для человека временных задержек.
Из научной литературы известен целый ряд режимов работы блочных шифров, обеспечивающих аутентичность. Из них наиболее эффективными и стойкими считаются следующие два, которые являются кандидатами на стандартизацию:
- 1) одноключевой режим аутентификации со сцеплением блоков ОМАС (one-key СВС MAC);
- 2) режим вероятностной аутентификации RMAC (randomized MAC).
Перечислим и остальные режимы: РМАС (parallelizable MAC), ТМАС (two-key СВС MAC), ХСВС-МАС (extended cipher block chaining MAC), XECB-MAC (extended electronic codebook MAC).
Стандартизованным, широко применяемым в практике защиты информации, является режим СВС-МЛС. Отечественным стандартом ГОСТ 28 147–89 рекомендован режим выработки имитовставки, по принципу устройства в целом соответствующий режиму СВС-МЛС, где в качестве хэш-кода сообщения берется фрагмент последнего блока шифртекста.
Из криптографических хэш-функций, применяемых для аутентификации, в импортных продуктах наиболее распространены MD5, SHA-1, SHA-2. Напомним, что отечественным стандартом на хэш-функцию с ключом является ГОСТ Р 34.11—2012.
Случай, когда требуется обеспечить одновременно конфиденциальность и аутентичность информации, более всего интересен для обсуждения. Рассмотрим сначала основные теоретические результаты в этой области.
Функции обеспечения конфиденциальности и аутентичности могут применяться к открытому тексту либо раздельно, либо одновременно. В первом случае немедленно возникает вопрос о порядке их применения. Пусть КЁ — общий секретный ключ шифрования отправителя и получателя данных; Ки — их общий секретный ключ аутентификации; EKt — алгоритм шифрования"; Тк — алгоритм вычисления хэш-кода; Ек к — алгоритм обработки сообщения отправителем; М — открытый текст; С — шифртекст. Очевидно, возможны три варианта обработки сообщения отправителем (получатель обрабатывает сообщения в обратном порядке):
1) отдельно зашифровывается открытый текст и отдельно вычисляется хэш-код, который присоединяется к шифртексту (encrypt-and-authenticate): [1][2]
кам по выбранным шифртекстам. Другие методы в общем случае не обеспечивают безопасность передаваемых данных, хотя в не очень ответственных случаях различия в доказанных свойствах не имеют практического значения. Можно даже построить пример такого протокола, в котором используется совершенно секретный (по Шеннону) шифр, но если выбран второй метод защиты {authenticate-then-encrypt), то протокол получается абсолютно нестойким к атакам активного противника. Вместе с тем доказано, что в частном случае, когда применяется стойкий алгоритм блочного шифрования в режиме СВС или поточный шифр (накладывающий на поток данных случайную или псевдослучайную двоичную последовательность), метод authenticate-then-encrypt является стойким.
Есть и второй путь решения рассматриваемой задачи защиты — одновременное применение функций обеспечения конфиденциальности и аутентичности. Для этого используются специальные режимы работы блочных шифров, называемые режимами аутентичного шифрования {authenticated encryption).
Наиболее эффективными из них являются следующие:
- 1) режим счетчика со сцеплением блоков ССМ {counter tenth СВ С-MAC) ',
- 2) режим счетчика над полем Галуа GCM {Galois/counter mode).
Кроме них, известен еще целый ряд режимов аутентичного шифрования: CS {cipher-state mode), CWC {Carter — Wegman authetication with counter encryption), EAX {conventional authenticated-encryption mode), IACBC {integrity aware cipher block chaining), 1APM {integrity aware parallelizable mode), OCB {offset codebook), PCFB {propagating cipher feedback), XCBC {extended cipher block chaining encryption).
Большинство теоретических результатов в рассматриваемой области было получено за последние несколько лет. Наиболее распространенные сейчас протоколы образования защищенных каналов передачи данных были разработаны раньше, чем стали известны эти результаты. Так, в протоколе SSL используется метод authenticate-then-encrypt, в SSH — метод encrypt-and-authenticate, которые с точки зрения теоретической криптографии в общем случае являются нестойкими. Но в стандартизованной спецификации протокола SSL как раз использован режим шифрования СВС, который согласно известным, доказанным криптографами результатам является исключением из общего правила и обеспечивает стойкость протокола в данном частном случае, несмотря на его нестойкость в общем случае. Все же возможности атаки на протокол SSL остаются, но они труднореализуемы на практике.
Было бы, конечно, лучше, чтобы протоколы обеспечивали наивысшую степень стойкости независимо от конкретных условий и особенностей применения, но поскольку жизненный цикл хорошо разработанных и апробированных технологий достаточно длителен, надеяться на корректировку протоколов можно только в будущем, с развитием и совершенствованием информационных технологий.
- [1] сначала вычисляется хэш-код, который присоединяется к открытому тексту сообщения, а затем оба они зашифровываются (authenticate-then-encrypt):
- [2] сначала открытый текст зашифровывается, затем вычисляется хэш-код шифртекста, который присоединяется к нему (encrypt-then-authenticate). Какой из этих способов лучше? И каковы критерии их оценки? Доказано, что самым стойким методом является третий. Он максимально полно удовлетворяет всем критериям безопасности, включая стойкость к атакам по выбранным открытым текстам и к ата-