Протокол управления криптоключами SKIP

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    938,72 Кб
  • Опубликовано:
    2012-04-24
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Протокол управления криптоключами SKIP

Введение

Взрывной рост популярности сети Internet и связанных с ней коммерческих проектов послужил толчком для развития нового поколения технологий защиты информации в TCP/IP-сетях. Причем, если вплоть до начала 90-х основной задачей технологий защиты в Internet было сохранение ресурсов преимущественно от хакерских атак, то сегодня актуальной становится задача защиты коммерческой информации. Качественно это должна быть совершенно другая защита. Учитывая важность информации, атакующая сторона может позволить себе большие финансовые затраты на взлом защиты, и, следовательно, существенно более высокий уровень приемов - наблюдение трафика, перехват информации, ее криптоанализ, а также разного рода имитоатаки, диверсии и мошенничество.

1. Проблема защиты информации в Internet

Наивные способы защиты, такие как запрос пароля с последующей его передачей в открытом виде по коммуникационному каналу и простые списки доступа (access list) на серверах и маршрутизаторах, становятся уже сегодня малоэффективными. Что же может быть противопоставлено квалифицированной и технически вооруженной атакующей стороне? Только полноценная, криптографически обеспеченная система защиты. На рынке достаточно много предложений средств защиты Internet, однако по ряду параметров ни одно из них не может быть признано адекватным задачам защиты информации именно для Сети. Например, достаточно криптостойкой и замечательной по своей идее формирования "паутины доверия" является распространенная система PGP (Pritty good privacy). Однако, поскольку PGP обеспечивает шифрование файлов, она применима только там, где можно обойтись файловым обменом. Защитить, например, приложения on-line при помощи PGP затруднительно. Кроме того, уровень иерархии управления защиты PGP слишком высок: эту систему можно отнести к прикладному или представительскому уровням модели OSI. Стыковка защиты PGP с другими прикладными системами потребует также определенных усилий, если, конечно, вообще окажется осуществимой. Альтернативу таким "высокоуровневым" системам защиты среди традиционных решений составляют устройства защиты канального и физического уровня - скремблеры и канальные шифраторы. Они "невидимы" с прикладного уровня и, в этом смысле, совместимы со всеми приложениями. Однако такие системы имеют ограниченную совместимость с различным каналообразующим оборудованием и физическими средами передачи данных. Это, как правило, не сетевые устройства, способные распознавать топологию сети и обеспечить связь из конца в конец через многие промежуточные узлы, а "двухточечные" системы, работающие на концах защищаемой линии и, поэтому, вносящие значительную аппаратную избыточность. И, конечно же, на таких устройствах невозможно построить систему защиты в рамках такой сети, как Internet, уже хотя бы потому, что невозможно обеспечить их повсеместное распространение (высокая цена) и всеобщую аппаратную совместимость. Одной из технологий, предлагающей необходимые для применения в масштабах Internet универсальность и общность, является спецификация SKIP (Simple Key management or Internet Protocol - Простой протокол управления криптоключами в интерсети), существующая на сегодняшний день в виде проекта стандарта Internet (draft RFC, Request For Comments). Эта спецификация была разработана компанией Sun в 1994 году и предложена в качестве стандарта Internet.

2. Протокол SKIP

Почему же SKIP представляется решением, адекватным задачам защиты информации в масштабах такой сети, как Internet?

Прежде всего, потому, что SKIP совместим с IP. Это достигается тем, что заголовок SKIP-пакета является стандартным IP-заголовком, и поэтому защищенный при помощи протокола SKIP пакет будет распространяться и маршрутизоваться стандартными устройствами любой TCP/IP-сети. Отсюда вытекает и аппаратная независимость SKIP. Протокол SKIP имплементируется в IP-стек выше аппаратно-зависимой его части и работает на тех же каналах, на которых работает IP.

В основе SKIP лежит криптография открытых ключей Диффи-Хеллмана и обладает рядом достоинств:

• обеспечивает высокую степень защиты информации;

• обеспечивает быструю смену ключей;

• поддерживает групповые рассылки защищенных сообщений;

• допускает модульную замену систем шифрования;

• вносит минимальную избыточность.имеет, по сравнению с существующими системами шифрования трафика следующий ряд уникальных особенностей:универсален: он шифрует IP-пакеты, не зная ничего о приложениях, пользователях или процессах, их формирующих; установленный в компьютере непосредственно над пакетным драйвером, он обрабатывает весь трафик, не накладывая никаких ограничений ни на вышележащее программное обеспечение, ни на физические каналы, на которых он используется сеансонезависим: для организации защищенного взаимодействия не требуется дополнительного информационного обмена (за исключением однажды и навсегда запрошенного открытого ключа партнера по связи) независим от системы шифрования (в том смысле, что различные системы шифрования могут подсоединяться к системе, как внешние библиотечные модули); пользователь может выбирать любой из предлагаемых поставщиком или использовать свой алгоритм шифрования информации; могут использоваться различные (в разной степени защищенные) алгоритмы шифрования для закрытия пакетного ключа и собственно данных.

3. Технические детали спецификации SKIP

Используемая в SKIP система открытых ключей Диффи-Хеллмана представляет собой криптографическую систему с асимметричными ключами, в которой используются различные ключи для шифрования и дешифрования. Концепция SKIP-протокола основана на организации множества двухточечных обменов в компьютерной сети.

• Узел имеет секретный ключ i(i=kI) и сертифицированный открытый ключ gimod N.

• Подпись сертификата открытого ключа производится при помощи надежного алгоритма (ГОСТ, DSA и др.). Открытые ключи свободно распространяются центром распределения ключей из общей базы данных.

• Для каждой пары узлов I, J вычисляется совместно используемый секрет (типичная длина 1024 бита): gij mod N.

• Разделяемый ключ Kij вычисляется из этого секрета путем уменьшения его до согласованной в рамках протокола длины 64...128 бит.

“Узел вычисляет ключ Kij (используемый как ключ шифрования ключей) для относительно длительного применения и размещает его в защищенной памяти”.  Каждый узел сети снабжается секретным и открытым ключами. Открытые ключи могут свободно распространяться среди пользователей, заинтересованных в организации защищенного обмена информацией. Узел i, адресующий свой трафик к узлу j, на основе логики открытых ключей вычисляет разделяемый секрет Kij. Однако этот, требующий высокой степени защиты, разделяемый секрет не используется прямо для шифрования данных.

Для шифрования конкретного пакета или их небольшой группы узел i вырабатывает специальный пакетный (сеансовый) ключ Kp, шифрует при помощи этого ключа данные, укладывает их в блок данных SKIP-пакета. Далее, собственно пакетный ключ Kp шифруется на основе другого ключа, вырабатываемого из разделяемого секрета Kij и тоже записывается в пакет. Пакет снабжается SKIP-заголовком, по синтаксису совпадающим с заголовком IP-пакета и отправляется в сеть. Поскольку SKIP-заголовок совпадает с заголовком IP-пакета, все промежуточное оборудование сети стандартным образом маршрутизирует этот пакет до его доставки узлу-получателю j. Узел j, получив пакет и вычислив разделяемый секрет Kij, дешифрует ключ Kp и, с его помощью, дешифрует весь пакет. Инкапсуляция в SKIP (туннелирование) обеспечивает шифрование (путем инкапсуляции пакетов, подлежащих защите, в SKIP-пакеты) и аутентификацию (достоверную идентификацию источника) информации. Режимы инкапсуляции и шифрования могут применяться как совместно, так и раздельно. Структура пакета, получающегося в результате такой инкапсуляции, приведена ниже:| SKIP | AH | ESP | Inner protocol- заголовок протоколаSKIP - заголовок протокола SKIP- аутентификационный заголовок- заголовок, включающий данные об инкапсулированном протоколеprotocol - пакет инкапсулируемого протокола

Если применяется только режим аутентификации или инкапсуляции, то заголовки AH и ESP, ответственные за аутентификацию и инкапсуляцию могут изыматься из пакета.

4. Конфиденциальность и аутентификация

Между собой пользователи, работающие в сети, могут передавать информацию в зашифрованном виде или с использованием механизма электронной подписи на каждом пакете, что достигается путем применения протокола управления криптографическим ключом SKIP (Simple Key Management for Internet Protocol). С точки зрения способа защиты данных, условно можно рассматривать два режима:

шифрование данных IP-пакета с сохранением в открытом виде исходного заголовка пакета;

инкапсуляция исходного IP-пакета в SKIP-пакет с заменой исходного заголовка.

Инкапсуляцию в SKIP называют также туннелированием, а замену адресной информации по некоторым таблицам - векторизацией. По сравнению с существующими системами шифрования трафика, SKIP имеет ряд особенностей. Прежде всего, SKIP универсален: он шифрует IP-пакеты, ничего не зная о приложениях, пользователях или процессах, их формирующих. Установленный в компьютере непосредственно над пакетным драйвером, он обрабатывает весь трафик, не накладывая никаких ограничений ни на вышележащее программное обеспечение, ни на физические каналы. SKIP работает независимо от сеанса: для организации защищенного взаимодействия не требуется дополнительного информационного обмена, за исключением один раз запрошенного и зафиксированного открытого ключа партнера по связи. Данный протокол умеет хранить секреты, которые никогда не передаются по каналам связи, - SKIP использует разделяемый секрет для шифрования только небольшого по размеру пакетного ключа Кр, что не позволяет противнику накопить достаточной статистики для криптоанализа. Кроме этого, SKIP независим от системы шифрования - различные системы шифрования могут подсоединяться к системе, как внешние библиотечные модули. Пакетный ключ может изменяться достаточно часто, вплоть до того, что каждый пакет может шифроваться под своим индивидуальным криптоключом. На рисунке 1 проиллюстрирован процесс шифрования IP-трафика и SKIP-туннелирование.

Рисунок 1 - Процесс шифрования IP-трафика

Для примера рассмотрим две локальные сети, соединенные при помощи канального провайдера и защищенные Screen-устройствами (рисунок 2).

Рисунок 2 - Пример подключения Screen-устройства

При данной схеме подключения Screen-устройства могут инкапсулировать весь трафик между сетями в протокол SKIP, иными словами, производить SKIP-туннелирование. При этом исходные пакеты могут помещаться в блоки данных SKIP-пакетов, а сетевые адреса всех узлов внутренних сетей могут быть заменены на некоторые виртуальные адреса, отвечающие во внешней сети Screen-устройствам (адресная векторизация). В результате весь трафик между этими локальными сетями может выглядеть извне только как полностью шифрованный трафик между двумя Screen-устройствами. Вся информация, доступная в этом случае внешнему наблюдателю, - это лишь временная динамика и оценка интенсивности трафика, которая может маскироваться путем использования сжатия данных и выдачи "пустого" трафика. При этом терминал может использоваться не только для связи двух локальных сетей, но и для подключения уединенных терминалов, использующих SKIP-защиту трафика. При этом терминал, используя защищенный трафик во внешней сети, сможет работать с дозволенными ему в рамках корпоративной политики безопасности хостами внутренней локальной сети.

Программная реализация SKIP допускает параллельную работу в режиме шифрования и в режиме открытого трафика, однако вопрос о безопасности системы, работающей в таком смешанном режиме требует дополнительного изучения. С полной уверенностью можно гарантировать безопасность систем, требующих как открытого, так и конфиденциального обмена. Конфиденциальность передаваемых данных обеспечивается применением сертификата Diffie-Hellman на каждом устройстве и вычислением общего для отправителя и адресата секретного "мастер" - ключа или долговременного разделяемого секрета, используемого для генерации шифрующих ключей, которые могут меняться с частотой вплоть до каждого IP-пакета. При этом нет необходимости в передаче "мастер" - ключа по сети к адресату, поскольку он вычисляется как функция от двух ключей: секретного ключа устройства-отправителя и публичного ключа устройства-адресата. Доступ к "чужому" секретному ключу не нужен, следовательно, нет нужды передавать его по сети, подвергая опасности компрометации. Шифрование информации происходит в два этапа - с помощью разделяемого ключа шифруется пакетный ключ, которым затем шифруется непосредственно значимая информация. При этом пакетный ключ может быть коротким, поскольку объем информации, передаваемый с данным ключом, невелик. Алгоритмы шифрации ключей и собственно информации могут быть различными. Шифрование значимых данных производится по алгоритмам RC2, RC4 и DES. Специальный признак состояния в заголовке пакетов позволяет в случае потери части пакетов производить повторную синхронизацию шифрующих пакетных ключей. Аутентификация по разрешенному типу информационного доступа между защищенными абонентами либо между отдельными частями распределенной корпоративной сети осуществляется с помощью частных "мастер"-ключей, хранящихся на Smart Card.

5. Эволюция спецификации SKIP

Текущая версия эскизных материалов IETF по стандарту SKIP от 21 декабря 1995 года имеет ряд отличий от первой версии, опубликованной 15 мая 1994 года. В результате деятельности рабочей группы IETF появился целый набор проектов стандартов, превращающих SKIP из отдельного протокола в действительно работающее средство поддержки шифрования и аутентификации данных в IP-сетях. Кроме этого, произошли некоторые изменения в самом протоколе SKIP. Рассмотрим наиболее существенные из них.

В первой версии SKIP для повышения криптостойкости разделяемого секрета - вычисляемого парного ключа - предлагалась следующая логика. При шифровании данных каждого пакета или их группы вырабатывался случайный пакетный или сеансовый ключ, Kp. Далее, уже непосредственно ключ Kp шифровался при помощи вычисляемого парного ключа - долговременного разделяемого секрета Kij. Такое решение обеспечивало два преимущества:

в случае компрометации пакетного ключа риску подвергается только относительно малая часть трафика, зашифрованная при помощи этого ключа;

обеспечивалась дополнительная защита разделяемого секрета, поскольку он использовался для шифрования относительно малой части передаваемого трафика и накопить статистику, необходимую для проведения криптоатаки на этот ключ представлялось затруднительным.

В последующих реализациях спецификации SKIP были приняты дополнительные меры для защиты разделяемого секрета. Повышение криптостойкости протокола при атаках на пакетный ключ Kp достигнуто за счет включения в заголовок пакета нового параметра (n), который используется для вычисления ключа (Kijn), применяемого при шифровании сеансового ключа. Основная идея заключается в том, что для получения ключа Kp используется не сам разделяемый секрет Kij, а результат применения хэш-функции к выражению, составленному из разделяемого ключа Kij и параметра n. При этом n никогда не уменьшается, а только увеличивается. Правила для работы с n отнесены на усмотрение разработчика, однако для обеспечения совместимости версий предлагается считать, что n - это время в часах, отсчитанное от 00 час. 00 мин. 01.01.95.

Проблема синхронизации часов на защищаемых системах решается достаточно просто - если параметр n отличается более, чем на 1, что составляет разбежку по времени свыше одного часа, то пакет выбрасывается, поскольку потенциально может быть инструментом для выполнения имитоатаки с повторной передачей (replay attack). Далее, пожалуй, наиболее существенной из эволюций спецификации SKIP является приведение протокола SKIP к единообразному виду с точки зрения архитектуры протоколов семейства IP. Это выразилось, в первую очередь, в некотором упорядочении инкапсуляции протоколов, выполненной в соответствии со стандартом RFC 1827.

В заголовке SKIP-пакета появилось поле NEXT HEADER, которое указывает протокол, содержащийся внутри данного SKIP-пакета. Таким образом достигается привычная картина последовательной инкапсуляции пакетов один в другой.

Аналогично привычной цепочке Ethernet packet -> IP packet -> TCP packet при работе по протоколу SKIP мы получаем IP packet -> SKIP packet -> ESP packet -> TCP packet. Еще один результат появления в заголовке информации о следующем протоколе заключается в том, что теперь протокол SKIP отвечает только за передачу сеансового ключа и номера алгоритма для использования внутри инкапсулируемого протокола ESP. В качестве протокола ESP может применяться любой протокол. SKIP не накладывает никаких ограничений на конкретную реализацию ESP.

6. Дополнительные спецификации

Как уже отмечалось, в рабочей группе IETF по безопасности находятся на рассмотрении еще несколько рабочих материалов, связанных с протоколом SKIP. Проект протокола SKIP базируется на открытых ключах, поэтому естественна озабоченность разработчиков проблемой подтверждения авторства открытого ключа. В качестве одного из возможных решений предлагается использовать процедуру, описанную в рекомендации X.509. Специальный документ выпущен авторами протокола SKIP для описания особенностей применимости рекомендации X.509 для целей SKIP. Однако кроме рекомендации X.509 рассматриваются и другие возможные представления сертификатов.

Другой интересный проект протокола, разрабатываемый совместно с основной спецификацией SKIP, - это процедура обмена информацией о поддерживаемых алгоритмах шифрования для данного узла. Важность стандартизации этой процедуры обусловлена потенциальной возможностью работы двух узлов на различных алгоритмах - невозможностью понимать друг друга в стандартном режиме. Предлагаемый протокол базируется на расширении известного протокола ICMP (Internet Control Message Protocol, RFC 792). При использовании этого протокола для защиты от приема неавторизованной информации обязательным требованием является наличие авторизации в SKIP-пакете, в котором передается ICMP-пакет. В случае несовпадения подписи и содержимого данный пакет отбраковывается.

Опуская ряд идейно более мелких коррекций спецификации, следует отметить проработку в новой спецификации вопросов совместимости SKIP со следующей версией протокола IP v6.

7. Эволюция линии продуктов SKIP

Хотя SKIP пока не является стандартом Internet, с этим протоколом, на правах открытого индустриального стандарта, начали работать, по меньшей мере, три организации: компания Sun, Swiss Federal Institute of Technology и АО ЭЛВИС+. Уже в июле 1995 года на сессии IETF этими организациями были представлены реализации протоколов и проверена их совместимость. Тогда эти программы были еще далеки от состояния, которое можно было бы охарактеризовать как "программный продукт". На сегодняшний день картина изменилась, и мы имеем масштабируемый ряд продуктов защиты информации на основе спецификации SKIP. В разработке этого ряда приняли участие, по существу, все три из упомянутых организаций - каждая в соответствии со своей специализацией и внутренней спецификой.

Компания Sun Microsystems использовала SKIP как базовое средство защиты трафика в устройстве SunScreen, получившее признание как продукт 1996 года по категории firewall в журнале LAN Magazine. SunScreen анонсирован в мае 1995 года и с тех пор находится в эксплуатации, правда, только на территории США. Практически начиная с самого анонса продукта SunScreen подпадал под федеральные экспортные ограничения США для продуктов защиты информации. Постепенно эти ограничения удалось преодолеть, сначала путем получения ограниченной экспортной лицензии для финансовых организаций, затем последовало объявление о пересмотре цен на продукт и снятии экспортных ограничений на SunScreen SPF 100 G. Кроме устройства SunScreen Sun предлагает программную реализацию SKIP для ОС Solaris.

В Швейцарии выпущена public domain версия протокола SKIP. Разработка продуктных предложений, видимо, вследствие некоммерческой ориентации Swiss Federal Institute of Technology, не анонсировалась.

Компания ЭЛВИС+, ориентируясь на специфику российского рынка, пошла по пути разработки недорогих программных реализаций SKIP для распространенных платформ UNIX и Windows. Помимо деления на платформы эта компания предлагает версии продукта с различной функциональностью: от простой программы для защиты трафика оконечного устройства, работающего с одним выделенным сервером, до полнофункционального продукта защиты станции в корпоративной сети, который обеспечивает учет топологии сети и индивидуальную настройку дисциплины взаимодействия с различными ее узлами. Кроме того, было разработано и предлагается сегодня в виде готового продукта устройство для коллективной защиты локальных сетей SKIPbridge. Это - аппаратно-программный комплекс на основе станции SPARCserver 5, который устанавливается на интерфейсе LAN/WAN и обеспечивает решение двух задач: SKIP-защиту входящего и исходящего трафика и реализацию заданной политики безопасности на интерфейсе LAN/WAN путем расширенной пакетной фильтрации. На текущий момент все продукты компаний ЭЛВИС+ и Sun Microsystems прошли тестирование на совместимость, и можно говорить о едином, широко масштабируемом по функциональности и стоимости, ряде продуктов.

8. Устройство обеспечения безопасности локальной сети SKIPBridge

Устройство SKIPBridge представляет собой систему, устанавливаемую на интерфейсе внутренняя/внешняя сеть (локальная сеть/коммуникационный провайдер). Устройство обеспечивает защиту (шифрование) трафика, направляемого из внутренней сети во внешнюю на основе протокола SKIP, а также фильтрацию и дешифрование трафика, поступающего из внешней сети вовнутреннюю.  IP-пакеты, принимаемые из внешней сети, обрабатываются протоколом SKIP (расшифровываются, фильтруются открытые пакеты в режиме только защищенного трафика, контролируется и обеспечивается имитозащита). Пакеты, прошедшие фильтрацию SKIP, при помощи протокола IP передаются программному обеспечению SKIPBridge, решающему задачи административной безопасности (обеспечивающему пакетную фильтрацию), и затем - операционной системе устройства SKIPBridge, которая маршрутизует пакеты на адаптер внутренней (локальной) сети.

9. Устройство SunScreen: аппаратная система защиты локальных сетей

- это специализированная система защиты, разработанная компанией Sun Microsystems, решающая задачи развитой фильтрации пакетов, аутентификации и обеспечения конфиденциальности трафика. Устройство SunScreen выполнено на основе аппаратного модуля SPF-100. SPF-100 содержит SPARC-процессор, работающий под управлением специальной усеченной версии ОС Solaris, из которой изъяты функции низкоуровневой обработки IP-пакетов. SunScreen не имеет IP-адреса, поэтому он "невидим" из внешней сети и, поэтому, неподвержен прямой атаке.  Устройство SunScreen, содержит пять Ethernet-адаптеров, к которым могут подсоединяться четыре независимых сегмента локальной сети и коммуникационный провайдер. Для каждого сегмента обеспечивается настройка индивидуальной политики безопасности путем задания сложного набора правил фильтрации пакетов (по направлению распространения, по адресам отправителя/получателя, по протоколам и приложениям, по времени суток ит.д.).  Другой важной чертой SunScreen является поддержка протокола SKIP, что, с одной стороны используется для обеспечения безопасности работы, управления и конфигурирования систем SunScreen, а с другой - позволяет организовывать SKIP-защиту пользовательского трафика. Использование протокола SKIP в Screen-системах привностит несколько дополнительных возможностей. Screen-устройства могут инкапсулировать весь внешний трафик защищаемых локальных сетей в SKIP (производить SKIP-туннелирование). При этом исходные IP-пакеты могут помещаться в блоки данных SKIP-пакетов, а сетевые адреса всех узлов внутренних сетей могут быть заменены на некоторые виртуальные адреса, отвечающие во внешней сети Screen-устройствам (адресная векторизация). В результате весь трафик между защищаемыми локальными сетями может выглядеть извне только как полностью шифрованный трафик между узлами-Screen-устройствами. Вся информация, которая может быть в этом случае доступна внешнему наблюдателю - это временная динамика и оценка интенсивности трафика, которая, заметим, может маскироваться путем использования сжатия данных и выдачи "пустого" трафика. Продукт SunScreen был признан журналом "LAN Magazin" продуктом 1996 года в категории firewall.

10. Проблемы внедрения технологии SKIP

Проблемы внедрения технологии SKIP не исчерпываются разработкой программных продуктов, просто реализующих спецификацию этого протокола. Вообразите себе, что вы приобрели некоторый продукт защиты информации, например программную реализацию SKIP. Сразу же становится ясно, что для работы этого явно недостаточно - вам нужно обмениваться информацией с партнерами. Вы не можете начать работать с ними, даже если у них имеется такое же средство защиты - нужно получить открытые ключи. Это можно сделать любым удобным способом, например, получить их в открытом виде по сети, но, как уже упоминалось, нужно обеспечить имитостойкость этих открытых ключей - снабдить их электронной подписью некоторой заслуживающей доверия стороны. Найти такого, заслуживающего доверия посредника и организовать его деятельность - задача достаточно сложная, и ее решение может сильно различаться для открытой сети типа Internet и для корпоративной сети.

Проблема сертификационного центра в Internet. Трудность построения сертификационного центра в Internet определяется следующими факторами:

) неясно, кому в Internet сможет доверять массовый пользователь;

) если такая доверительная сторона найдена, то нужно решить проблему доступа к ее ресурсам: поток запросов сертификатов открытых ключей к этому источнику может быть столь интенсивен, что невозможно будет найти достаточные для его работы канальные и вычислительные ресурсы.

Предпосылкой для решения проблемы поиска стороны, заслуживающей доверия, является принципиальная возможность генерации секретного ключа самим пользователем и представления для сертификации только открытого ключа. В этом случае конфиденциальность информации пользователя обеспечивается тем, что он никому не сообщает свой секретный ключ, и все сводится к чисто техническим трудностям, связанным с процессом передачи открытого ключа на сертификацию и с распространением сертификатов открытых ключей.

Для решения второй - ресурсной - задачи предложено решение, в котором администрация, ведающая распределением сертификатов открытых ключей, будет иметь распределенную иерархическую древовидную архитектуру, подобную структуре службы DNS (Domain Name System - системе именования доменов), работающей в Internet. Следует, однако, сказать, что полномасштабное внедрение такого решения можно ожидать не ранее, чем SKIP будет утвержден в качестве стандарта. Тем не менее Sun Microsystems уже сейчас предлагает службу распределения сертификатов открытых ключей для покупателей SKIP-продуктов. При этом, однако, еще не создана сложная распределенная структура для поддержки сертификатов. Генерацией секретных ключей для своих пользователей занимается пока также компания Sun.

Проблема сертификационного центра корпоративной сети. В корпоративной сети проблема, с одной стороны, выглядит проще: любая корпоративная сеть в тысячи раз менее "населена", чем Internet, поэтому служба распределения сертификатов будет значительно менее ресурсоемкой и может иметь простую структуру, основанную, в простейшем случае, на одном сервере - лучше, конечно, обеспечить резервирование и распределить эту функцию между несколькими серверами. Кроме того, в корпоративной сети легче найти сторону, заслуживающую доверия, например администрацию безопасности этой сети. С другой стороны, защита информации в корпоративной сети, как правило, должна осуществляться с учетом ряда дополнительных требований и ограничений, вытекающих из регламента безопасности предприятия-владельца сети. Прежде всего, это требования по дисциплине работы с криптоключами, требования по оперативности замены скомпрометированных ключей и административные ограничения типа разрешений и запретов на взаимодействия отдельных пользователей и подразделений.

Ориентируясь на запросы корпоративных заказчиков, компания ЭЛВИС+ произвела разработку ряда полуфабрикатов и дополнительных, не представленных в спецификации SKIP, технических средств. На состоянии "полуфабрикат" для ряда продуктов, предназначенных для службы распределения ключей, приходится остановиться, поскольку невозможно подготовить единое решение, в равной степени удовлетворительное для всех организаций. Что касается технических новаций, то к ним относится административное конфигурирование локальных SKIP-программ, устанавливающее условия взаимодействия одних хостов с другими.

internet сеть защита шифрование

11. Станет ли SKIP стандартом Internet

Этот вопрос не представляется не праздным. С одной стороны, SKIP - уникальная технология, выглядящая вполне адекватной задачам защиты трафика в сети любого масштаба, в том числе и Internet. До последнего времени решения, обладающего общностью и мощностью SKIP, просто не существовало. Это вселяет надежду на то, что может стать SKIP стандартом для решения задач информационной безопасности сетей. С другой стороны, задача выработки такого стандарта представляется настолько многоплановой и технически сложной, что прогнозировать срок завершения работы над этим стандартом сейчас не невозможно. Что, впрочем, не мешает пользоваться существующей открытой индустриальной спецификацией SKIP.

12. Алгоритм шифрования DES

Краткие теоретические сведения

Обобщенная схема процесса шифрования в алгоритме DES (Приложение А. рис. 1) заключается в начальной перестановке бит 64-битового блока, шестнадцати циклах шифрования и, наконец, в конечной перестановке бит.

Следует отметить, что все приводимые таблицы являются стандартными и должны включаться в реализацию алгоритма DES в неизменном виде. Все перестановки и коды в таблицах подобраны разработчиками таким образом, чтобы максимально затруднить процесс взлома шифра.

Алгоритм вычисления ключей:

Как нетрудно заметить, на каждой итерации используется новое значение ключа Кi- (длиной 48 бит). Новое значение ключа Кi- вычисляется из начального ключа К (рисунке 3). Ключ К представляет собой 64-битовый блок с 8 битами контроля по четности, расположенными в позициях 8, 16, 24, 32, 40, 48, 56, 64. Для удаления контрольных бит и подготовки ключа к работе используется функция G первоначальной подготовки ключа.

Рисунок 3 - Обобщенная схема шифрования алгоритма DES

Реализация алгоритма

Вводим исходные данные:

Ключ К 64 бита = 5529779255; Блок открытого текста 64 бита =36802179;

Рисунок 4 - DES: исходные данные

С помощью функции IP получаем значение на выходе блока IP делим его на 2 блока по 32 бита:

Рисунок 5 - DES: исследование функции IP

=9078258417025232;= 2113696;= 3223339216;

Переводим ключ К в двоичную систему 64 бита.

-разрядный ключ К преобразуем с помощью функции подстановки G до 56-ти разрядов. Первые 28 бит полученного выражения вводим как С0. Вторые как D0.

По таблице перестановки G получаем значения C0 и D0:= 0110000000010000110000001110;= 1000000011000000011100000000;

Применив к C0 и D0 сдвиг влево единожды, получим значения C1 и D1 соответственно:= 1100000000100001100000011100;=0000000110000000111000000001;

Объединив C1 и D1, записывая биты С1 слева, а биты D1 справа, по таблице перестановки Н получаем К1:

К1= 011110000000000010100001000110000100000100100100;

Рисунок 6 - DES: исследование генерации ключей Ki

При помощи функции Е расширяем R0 с 32 бит до 48. Суммируем по модулю 2 значение на выходе блока E и ключ К1.= 011000000000000100000000001000000001011010100001;

Суммируем XOR Е и К1:

011110000000000010100001000110000100000100100100

011000000000000100000000001000000001011010100001вх=000110000000000110100001001110000101011110000101;

Делим Sвх на 8 частей (по 6 символов): 1-ый и последний биты - это номер строки; 2-5 - номер столбца. Полученные 8 чисел переводим в двоичную систему, объединяем:вых= 00011111111000110110010000011101;

С помощью функции Р из Sвых получаем:

Р= 00000011100011010101100001001101

Рисунок 7 - DES: исследование функции шифрования

=R0. Суммируем XOR R1=L0 и P:

=01100011010011011110100010001101

Остальные 15 циклов выполняем автоматически.

Переводим L16 и R16 в двоичную систему, объединяем:=0100011111110000011000110111001101101101100111100100110101010111;

Применив к IP функцию IP, получаем шифротекст:=1100111101100111111010101010100000110011100101011101111100110000;

Получили значение:

Рисунок 8 - DES: результат выполнения алгоритма DES

13. Реализация алгоритма ГОСТ

Краткие теоретические сведения.

В качестве официального алгоритма криптографического преобразования данных для систем обработки информации в Республике Беларусь выбран алгоритм, стандартизованный в ГОСТ 28147-89. Он предназначен для аппаратной и программной реализации, удовлетворяет криптографическим требованиям а не накладывает ограничений на степень секретности защищаемой информации. Алгоритм шифрования данных представляет собой 64-битовый блочный алгоритм с 256-битовым ключом, который преду­сматривает четыре режима работы:

шифрование данных в режиме простой замены;

шифрование данных в режиме гаммирования;

шифрование данных в режиме гаммирования с обратной связью;

выработка имитовставки.

Основными режимами шифрования являются режимы с использованием гаммирования, однако они базируются на использовании шифрования данных в режиме простой замены.

Режем простой замены

Зашифровывание открытых данных в режиме простой замены

Открытые данные, подлежащие зашифровыванию, разбивают на 64 - разрядные блоки То. Процедура зашифровывания 64 - разрядного блока То в режиме простой замены включает 32 цикла (j=1,2,..., 32). В ключевое запоминающее устройство вводят 256 бит ключа К в виде восьми 32 - разрядных подключей (чисел)


Последовательность бит блока

 

разбивают на две последовательности по 32 бита: b(0)и a (0) где b(0) - левые или старшие биты, а(0) - правые или младшие биты.

Обозначения на схеме: , N1, N2 - 32 - разрядные накопители;

СМ1 - 32 - разрядный сумматор по модулю  (+);

СМ2 - 32 - разрядный сумматор по модулю 2();- 32 - разрядный регистр циклического сдвига;

КЗУ - ключевое запоминающее устройство на 256 бит, состоящее из восьми 32 - разрядных накопителей Х0,Х1,Х2,..,Х7;- блок подстановки, состоящий из восьми узлов замены (S -блоков замены) Sl,S2,S3,...,S8.

Эти последовательности вводят в накопители Nl, и N2 перед началом первого цикла зашифровывают. В результате начальное заполнение накопителя N1:

, 31, ..., 2, 1 ¬ номер разряда N1;

начальное заполнение накопителя N2:

, 31, .... 2, 1 ¬ номер разряда N2.

Первый цикл (j = 1) процедуры зашифровывания 64-разрядного блока открытых данных можно описать уравнениями:


Здесь а(1) - заполнение N1, после 1-го цикла зашифровывания; b(l) - заполнение N2 после 1-го цикла зашифровывания; f- функция шифрования.

Аргументом функции f является сумма по модулю 232 числа а(о) (начального заполнения накопителя N1) и числа К0 подключа, считываемого из накопителя Х0 КЗУ. Каждое из этих чисел равно 32 битам.

Первая операция называется подстановкой (заменой) и выполняется блоком подстановки S. Блок подстановки S состоит из восьми узлов замены (S-блоков замены) Sl,S2,..-,S8 с памятью 64 бит каждый. Поступающий из СМl на блок подстановки S 32-разрядный вектор разбивают на восемь последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в четырехразрядный вектор соответствующим узлом замены. Каждый узел замены можно представить в виде таблицы - перестановки шестнадцати четырехразрядных двоичных чисел в диапазоне 0000. ..1111. Входной вектор указывает адрес строки в таблице, а число в этой строке является выходным вектором. Затем четырехразрядные выходные векторы последовательно объединяют в 32-разрядный вектор. Узлы замены (таблицы-перестановки) представляют собой ключевые элементы, которые являются общими для сетей ТКС и редко изменяются. Эти узлы замены должны сохраняться в секрете.

Вторая операция - циклический сдвиг влево (на 11 разрядов) 32-разрядного вектора, полученного с выхода блока подстановки S. Циклический сдвиг выполняется регистром сдвига R. Затем результат работы функции шифрования f суммируют поразрядно по модулю 2 в сумматоре СМ2 с 32-разрядным начальным заполнением b(0) накопителя N2. Далее полученный на выходе СМ2 результат (значение a(l)) записывают в накопитель N,, а старое значение N1 (значение а(0)) переписывают в накопитель N2 (значение b(l) = a(0)). Первый цикл завершен. Последующие циклы осуществляются аналогично, при этом во втором цикле из КЗУ считывают заполнение Х1 - подключ К1, в третьем цикле - подключ К2 и т.д., в восьмом цикле - подключ К7. В циклах с 9-го по 16-й, а также в циклах с 17-го по 24-й подключи из КЗУ считываются в том же порядке: К0,К1,К2,...,К6,К7. В последних восьми циклах с 25-го по 32-й порядок считывания подключей из КЗУ обратный: К7,К6, ...,К2,К1,К0. Таким образом, при зашифровывании в 32 циклах осуществляется следующий порядок выборки из КЗУ подключей:

К0,К1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7,

К0,К1,K2,K3,K4,K5,K6,K7,K7,K1,K2,K3,K4,K5,K6,K0.

В 32-м цикле результат из сумматора СМ2 вводится в накопитель N2, а в накопителе N1, сохраняется прежнее заполнение. Полученные после 32-го цикла зашифровывания заполнения накопителей N1 и N2 являются блоком зашифрованных данных Тш, соответствующим блоку открытых данных То. Уравнения зашифровывают в режиме простой замены имеют вид

 при j=1…24,

 при j=25…31,

 при j=32,

где - заполнение N1 после j-го цикла зашифровывания; -заполнение N2 после j-го цикла зашифровывания, j = 1...32.

Блок зашифрованных данных Тш (64 разряда) выводится из накопителей N1, N2 в следующем порядке: из разрядов 1...32 накопителя N1, затем из разрядов 1...32 накопителя N2, т.е. начиная с младших разрядов:ш=(а1(32)а2(32),...,а31(32) а32(32),bl(32),b2(32) ,…,b31(32), b32(32)). Остальные блоки открытых данных зашифровываются в режиме простой замены аналогично.

Расшифровывание в режиме простой замены

Криптосхема, реализующая алгоритм расшифровывания в режиме простой замены, имеет тот же вид, что и при зашифровывании ( рисунок 9).

В КЗУ вводят 256 бит ключа, на котором осуществлялось зашифровывают. Зашифрованные данные, подлежащие расшифровыванию, разбиты на блоки Тш, по 64 бита в каждом. Ввод любого блокаш=(а1(32)а2(32),...,а31(32) а32(32),bl(32),b2(32) ,…,b31(32), b32(32)).

в N1, и N2 производят так, чтобы начальное значение накопителя N1 имело вид

, 31, ..., 2, 1 ¬ номер разряда N1;

а начальное заполнение накопителя N2:

, 31, ..., 2, 1 ¬ номер разряда N2;

Расшифровывание осуществляется по тому же алгоритму, что и зашифровывайте, с тем изменением, что заполнения накопителен Х0,Х1,Х2,..,Х7 считываются из КЗУ в циклах расшифровывания в следующем порядке:

К0,К1,K2,K3,K4,K5,K6,K7,K7,K6,K5,K4,K3,K2,K1,K0, К7,К6,K5,K4,K3,K2,K1,K0,K7,K6,K5,K4,K3,K2,K1,K0.

Уравнения расшифровывания имеют вид

 при j=1…8,

 при j=9…31,

 приj=32,

Полученные после 32 циклов работы заполнения накопителей N1и N2 образуют блок открытых данныхо=(а1(0)а2(0),...,а31(0) а32(0),bl(0),b2(0) ,…,b31(0), b32(0)).

соответствующий блоку зашифрованных данных Тш. При этом состояние накопителя N1:

, 31, ..., 2, 1 ¬ номер разряда N1;

состояние накопителя N2:

, 31, ..., 2, 1 ¬ номер разряда N2;

Аналогично расшифровываются остальные блоки зашифрованных данных.

Если алгоритм зашифровывания в режиме простой замены 64-битового блока То обозначить через А, то

А(Т0)=А(а(0), b(0))=(a(32), b(32))=ТШ

Рисунок 9 - Схема реализации режима простой замены

Реализация

Увеличиваем число циклов зашифрования и расшифрования до 7 и 3 соответственно:

В таблице подстановки меняем столбцы S1 и S7 на S3 и S4 соответственно. Вводим N1 =73288197 и N2 = 65612319, k0 = 2891, k1=7315:

Зашифровка.

Шаг №1:

А) Рассчитываем значение на выходе CM1:

Прибавляем к значению N1 ключ К0.

СМ1 = N1 + K0 = 73288197+2891 = 73291088;) Рассчитываем значение на выходе блока S:

Значение СМ1 переводим в двоичную форму:

;

Разбиваем его на порции по 4 бита и с помощью таблицы перестановки получаем следующее:

0100 0101 1110 0101 0101 0101 0000

4 5 14 5 5 5 0

8 12 0 6 8 8 9

1000 1100 0000 0110 1000 1000 1001

Объединяем вышестоящие значения и переводим в 10 с-му:

;=377330267;

С) Сдвигаем двоичное значение S на 11 разрядов влево:

; переводим его в десятичную систему:=54806726;) Рассчитываем XOR`ом значение CM2 = N2+R:

= 11363033;) Вводим:= N1 = 73288197;= CM2 = 11363033;

Рисунок 10 - ГОСТ: шифрование, шаг №1

Все последующие шаги зашифровки и расшифровки делаются по аналогии.

Шаг №2:

Рисунок 11 - ГОСТ: шифрование, шаг №2

Шаг №3:

Рисунок 12 - ГОСТ: шифрование, шаг №3

Шаг №4:

Рисунок 13 - ГОСТ: шифрование, шаг №4

Шаг №5:

Рисунок 14 - ГОСТ: шифрование, шаг №5

Шаг №6:

Рисунок 15 - ГОСТ: шифрование, шаг №6

Шаг №7:

Рисунок 16 - ГОСТ: шифрование, шаг №7

Расшифрование.

Шаг №1:

Рисунок 17 - ГОСТ: расшифрование, шаг №1

Шаг №2:

Рисунок 18 - ГОСТ: расшифрование, шаг №2

Шаг №3:

Рисунок 19 - ГОСТ: расшифрование, шаг №3

Результат:

Рисунок 20 - ГОСТ: результат

Заключение

Развитие глобальных сетей привело к увеличению количества пользователей и увеличению количества атак на компьютеры, подключенные к корпоративной сети. Многие из этих атак являются непреднамеренными, но нет никакой гарантии полной защищенности. Оценки ежегодных потерь, связанных с недостаточным уровнем защищенности, достигают десятков миллионов долларов ежегодно. Планируя подключение локальной сети к мировым глобальным сетям, не надо забывать о безопасности Вашей информации. Выбор методологии защиты зависит от ряда факторов: степени секретности информации или категории помещения, от количества предполагаемых пользователей и вида используемых средств (активный, пассивный принцип построения) идентификации. Описанные технические решения на базе протокола SKIP - только часть бурно развивающейся индустрии обеспечения безопасности в Internet. Однако уже сейчас достаточно очевидно, что речь идет о возникновении новой, общной, выходящей по масштабу за пределы отдельного протокола технической идеи, которая полагает конец разрозненным техническим решениям в области безопасности и дает начало единой технологии построения защищенных коммуникаций. Также в данной работе изучены блочные алгоритмы шифрования ГОСТ и DES. Можно с уверенностью сказать, что алгоритм DES сложнее по реализации, чем ГОСТ. Но в то же время ГОСТ является более устойчивым алгоритмом для хранения и передачи информации.

Список использованных источников

1. W. Diffie, M.E. Hellmann, "New Directions in Cryptography", IEEE Transactions on Information Theory, v.IT-22, n.6, Nov 1976, pp.644- 654.

. Вопилов А.В., Галицкий А.В., Рябко С.Д., Защита информации в Internet - Банковские технологии, N7, 1995, стр. 37-42.

. Вопилов А.В., Галицкий А.В., Рябко С.Д., Безопасность в Internet: проблема решена? - Сети, N7, 1995, стр. 118-123.

. Aziz, A., Markson, T., Prafullchandra, H., "Simple Key-Management For Internet Protocols (SKIP)" <draft-ietg-ipsec-skip-06.txt, Work in Progress.

. Aziz, A., Markson, T., Prafullchandra, H., "Certificate Discovery Protocol", (I-D draft-ietf-ipsec-cdp-00.txt), Work in Progress.

Похожие работы на - Протокол управления криптоключами SKIP

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!