7 что понимается под криптографическим ключом
Перейти к содержимому

7 что понимается под криптографическим ключом

  • автор:

Основные понятия криптографии

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

Любой протокол имеет следующие свойства:

  • при выполнении протокола важен порядок действий; каждое действие должно выполняться в свою очередь и только по окончании предыдущего;
  • протокол должен быть непротиворечивым;
  • протокол должен быть полным, то есть для каждой возможной ситуации должно быть предусмотрено соответствующее действие.

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

Криптографические протоколы – сравнительно молодая отрасль криптографической науки. Первые протоколы появились во второй половине ХХ века. С тех пор эта область криптографии бурно развивалась, и на настоящий момент имеется уже несколько десятков различных типов криптографических протоколов. Все эти типы можно условно разделить на две группы: прикладные протоколы и примитивные. Прикладной протокол решает конкретную задачу, которая возникает (или может возникнуть) на практике. Примитивные же протоколы используются как своеобразные «строительные блоки» при разработке прикладных протоколов. Мы в данном учебном пособии будем рассматривать только примитивные криптографические протоколы, которые при некоторой адаптации к реальным системам связи могут использоваться на практике.

Рассмотрим назначение некоторых видов протоколов.

  1. Протоколы конфиденциальной передачи сообщений. Задача конфиденциальной передачи сообщений состоит в следующем. Имеются два участника протокола, которые являются абонентами сети связи. Участники соединены некоторой линией связи, по которой можно пересылать сообщения в обе стороны. Линию связи может контролировать противник. У одного из абонентов имеется конфиденциальное сообщение m, и задача состоит в том, чтобы это сообщение конфиденциальным же образом передать второму абоненту. Протоколы этого типа, наверно, появились раньше других криптографических протоколов, так как задача конфиденциальной передачи сообщений – исторически первая задача, которая решалась криптографией.
  2. Протоколы аутентификации и идентификации. Они предназначены для предотвращения доступа к некоторой информации лиц, не являющихся ее пользователями, а также предотвращения доступа пользователей к тем ресурсам, на которые у них нет полномочий. Типичная сфера применения – организация доступа пользователей к ресурсам некоторой большой информационной системы.
  3. Протоколы распределения ключей необходимы для обеспечения секретными ключами участников обмена зашифрованными сообщениями.
  4. Протоколы электронной цифровой подписи позволяют ставить под электронными документами подпись, аналогичную обыкновенной подписи на бумажных документах. В результате выполнения протокола электронной цифровой подписи к передаваемой информации добавляется уникальное числовое дополнение, позволяющее проверить ее авторство.
  5. Протоколы обеспечения неотслеживаемости («Электронные деньги»). Под электронными деньгами в криптографии понимают электронные платежные средства, обеспечивающие неотслеживаемость, то есть невозможность проследить источник пересылки информации.

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

  1. Абоненты выбирают систему шифрования (например, шифр Цезаря со сдвигом на n позиций).
  2. Абоненты договариваются о ключе шифрования.
  3. Абонент №1 шифрует исходное сообщение с помощью ключа выбранным методом и получает зашифрованное сообщение.
  4. Зашифрованное сообщение пересылается абоненту №2.
  5. Абонент №2 расшифровывает зашифрованное сообщение с помощью ключа и получает открытое сообщение .

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

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

Ключевые термины

Ciphertext – зашифрованное сообщение (закрытый текст, криптограмма).

Deciphering – расшифрование .

Enciphering – преобразование открытого текста в криптограмму (зашифрование).

Рlaintext – исходное сообщение или открытый текст .

Активная криптографическая атака – при такой атаке противник имеет возможность модифицировать передаваемые сообщения и даже добавлять свои сообщения.

Алфавит — конечное множество используемых для кодирования информации символов.

Ключ – информация , необходимая для шифрования и расшифрования сообщений.

Криптоанализ – наука о преодолении криптографической защиты информации.

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

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

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

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

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

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

Символ — это любой знак, в том числе буква, цифра или знак препинания.

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

Шифр – совокупность заранее оговоренных способов преобразования исходного секретного сообщения с целью его защиты.

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

Шифрование с открытым ключом (асимметричное шифрование) – методы шифрования, в которых для шифрования и расшифрования данных используются два разных ключа. При этом один из ключей (открытый ключ ) может передаваться по открытому (незащищенному) каналу связи. Шифрование с открытым ключом используется на практике лишь со второй половины ХХ века.

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

Краткие итоги

Криптография в переводе с греческого означает «тайнопись». В настоящее время криптография занимается поиском и исследованием математических методов преобразования информации. Параллельно развивается и совершенствуется криптоанализ – наука о преодолении криптографической защиты информации.

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

Для современных криптографических систем защиты информации сформулированы следующие требования:

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

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

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

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

Голландский криптограф Огюст Керкхоффс сформулировал принцип, называемый в настоящее время принципом Керкхоффса – правило разработки криптографических систем, согласно которому в засекреченном виде держится ключ шифрования , а остальные параметры системы шифрования могут быть открыты без снижения стойкости алгоритма . Другими словами, при оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей. Принцип Керкхоффса направлен на то, чтобы сделать безопасность алгоритмов и протоколов независимой от их секретности; открытость не должна влиять на безопасность . Большинство широко используемых систем шифрования, в соответствии с принципом Керкхоффса, используют известные, не составляющие секрета криптографические алгоритмы.

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

Набор для практики

Вопросы для самопроверки
  1. Назовите проблемы, при решении которых могут использоваться криптографические методы.
  2. В чем отличие криптографии от стеганографии?
  3. Какие задачи решает современная криптография?
  4. Сформулируйте требования к криптографическим системам защиты информации.
  5. Дайте определения понятиям: алфавит, криптограмма, криптографическая система , криптографический протокол, символ, шифр, электронная (цифровая) подпись .
  6. В чем заключается правило шифрования методом Цезаря?
  7. Почему невозможно вскрыть криптограмму, содержащую код для кодового замка?
  8. Почему проблема использования криптографических методов в информационных системах стала в настоящий момент особо актуальной?
  9. Что такое криптографическая атака?
  10. Какие типы криптографических атак существуют?
  11. Что такое криптографический протокол?
  12. Поясните назначение следующих криптографических протоколов:
    • обмена конфиденциальными сообщениями;
    • формирования электронной цифровой подписи;
    • распределения ключей .
Упражнения для самопроверки
  1. Определите ключи шифра Цезаря, если известны следующие пары открытый текст – шифротекст (исходный алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ ):
    • АПЕЛЬСИН — ТВЧЮОДЫА
    • МАНДАРИН – ТЁУЙЁЦОУ

Криптография

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

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

При обеспечении защиты передаваемой информации, как правило бывает необходимо:

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

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

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

Симметричное шифрование. Принцип работы алгоритмов симметричного шифрования (симметричных алгоритмов) известен достаточно давно. Исходные данные с помощью ключа преобразуются таким образом, что из полученного шифртекста невозможно извлечь ни исходный текст, ни ключ. Однако, зная ключ, легко можно вычислить исходный текст. В надежных алгоритмах шифрования криптографическая стойкость основывается на содержании ключа в тайне, а не на содержании в тайне самого алгоритма криптографического преобразования.
Наиболее известной зарубежной симметричной криптосистемой является американский стандарт шифрования данных — DES. Альтернативную систему представляет международный алгоритм шифрования данных (International Data Encryption Algorithm, IDEA), обеспечивающий более надежное шифрование, чем DES и даже тройной DES (разновидность DES). В России также существует стандарт на алгоритм шифрования. Это — ГОСТ 28147-89 «Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования». Основной особенностью Российского стандарта является высокая стойкость криптографического алгоритма. Она основывается на использовании 256-битного ключа.
Алгоритмы симметричного шифрования обеспечивают высокую скорость шифрования и простоту аппаратной и программной реализации. Однако для их успешного применения необходимо решить проблему доставки ключей каждому абоненту шифрованной связи.

Асимметричное шифрование. Одним из двух ключей в случае асимметричного шифрования является так называемый открытый ключ, а вторым — секретный. Сообщение шифруется с помощью первого (открытого) ключа, всем известного. Открытый ключ не является секретным; более того, его доступность для всех и каждого (например, за счет публикации в каталоге или включения в незащищенное сообщение электронной почты) имеет принципиальное значение для функционирования всей системы. Второй ключ, секретный, служит для расшифровки текстов, зашифрованных с помощью открытого ключа, или, наоборот, для зашифровки текстов, которые можно будет впоследствии расшифровать при помощи открытого ключа. Естественно, что невозможно по открытому ключу определить секретный. Имея такую пару ключей, вы можете совершенно спокойно передавать открытый ключ для шифрования, хоть через газету, своему партнеру, который с его помощью зашифрует сообщение, и быть совершенно спокойным за секретность содержания этого сообщения, так как расшифровать его можно только с помощью второго (секретного) ключа, который знаете только вы. Однако, в случае асимметричного шифрования, при получении шифрованного сообщения вы достоверно не знаете от кого пришло данное сообщение, поскольку для шифрования использовался открытый ключ, который известен всем.

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

Алгоритм Диффи-Хелмана. Одной из разновидностью симметричного шифрования является шифрование на основе алгоритма Диффи-Хеллмана, основанного на открытом распределении ключей.
Стороны, участвующие в информационном взаимодействии, генерируют свои пары (секретный + открытый) ключей и обмениваются потом открытыми ключами. Суть алгоритма состоит в том, что пары ключей генерируются по таким правилам, следуя которым каждая сторона из комбинации: свой секретный ключ и отрытый ключ партнера может получить единственный ключ (одинаковый у обеих сторон), который они могут затем использовать для шифрования сообщений. Поскольку сторонний наблюдатель знает только открытые ключи, но не знает секретные, то и вычислить общий ключ шифрования он не может.
Алгоритм был придуман исторически раньше методов асимметричного шифрования и среди популярных сейчас алгоритмов криптографии с открытым ключом занимает важное место.
С асимметричной криптографией связана одна проблема — проблема распространения открытых ключей: в процессе обмена ключами кто-нибудь может перехватить открытый ключ и вместо него послать свой, и на обратном пути проделать те же самые действия. Для решения этой задачи используется процедура сертификации открытых ключей. Каждый пользователь свой открытый ключ в доверенном для всех администраторов сети центре — Центре Сертификации.
Сертификат открытого ключа представляет собой совокупность открытого ключа и регистрационных данных администратора, подписанная на секретном ключе Центра Сертификации. Для проверки корректности сертификатов других администраторов каждый абонент сети конфиденциальной связи должен иметь сертификат открытого ключа самого Центра. При передаче сертификатов по сети проверяется ЭЦП Центра сертификации, и если подпись верна, то этот сертификат корректен и открытый ключ действительно принадлежат той стороне, атрибуты, которой указаны в сертификате.

Используемые СКЗИ

Программные продукты компании Валидата используют СКЗИ (средства криптографической защиты информации) «Валидата CSP».

Некоторые продукты компании Валидата могут использовать СКЗИ «Крипто-Про CSP» компании Крипто-Про

Если Вас интересуют какие либо вопросы, связанные с использованием СКЗИ в наших продуктах, то обращайтесь по нашим контактным адресам.

  • Контакты
  • Форум
  • Цены
  • Загрузка файлов
  • Валидата CSP
  • Валидата УЦ
  • Валидата Клиент
  • Валидата Клиент L
  • Валидата Клиент L(E)
  • Курьер
  • Курьер-Шлюз
  • SMTP-Шлюз
  • Валидата-VPN
  • Криптосервер
  • Криптосервер L
  • Транзит
  • Транзит L
  • ФКН «vdToken»
  • Автоматизированный клиент СКЗИ Сигнатура
  • Browser plug-in для СКАД Сигнатура
  • Browser plug-in для Валидата Клиент
  • Валидата Архиватор L

Введение.

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

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

Асимметричная криптосистема предполагает использование двух ключей — открытого и закрытого (секретного). Открытый ключ можно разглашать, а закрытый надо хранить в тайне. При обмене сообщениями необходимо пересылать только открытый ключ, обеспечив подлинность пересылаемого открытого ключа.

К распределению ключей предъявляются следующие требования:

  • оперативность и точность распределения;
  • конфиденциальность и целостность распределяемых ключей.

Для распределения ключей между пользователями компьютерной сети используются следующие основные способы:

  1. Использование одного или нескольких центров распределения ключей.
  2. Прямой обмен ключами между пользователями сети.

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

Задача распределения ключей сводится к построению такого протокола распределения ключей, который обеспечивает:

  • взаимное подтверждение подлинности участников сеанса;
  • подтверждение достоверности сеанса;
  • использование минимального числа сообщений при обмене ключами.

Характерным примером реализации первого подхода является система аутентификации и распределения ключей Kerberos.

Остановимся подробнее на втором подходе — прямом обмене ключами между пользователями сети.

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

Для решения этой проблемы можно применить два основных способа:

  • Использование асимметричной криптосистемы с открытым ключом для защиты секретного ключа симметричной криптосистемы.
  • Использование системы открытого распределения ключей Диффи-Хеллмана.

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

Второй способ безопасного распространения секретных ключей основан на применении алгоритма открытого распределения ключей Диффи-Хеллмана. Этот алгоритм позволяет пользователям обмениваться ключами по незащищенным каналам связи.

Использование комбинированной криптосистемы

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

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

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

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

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

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

Тогда последовательность действий пользователей А и В будет следующей.

Действия пользователя А:

  1. Создает (например, генерирует случайным образом) сеансовый секретный ключ KS, который будет использован в алгоритме симметричного шифрования для зашифрования конкретного сообщения или цепочки сообщений.
  2. Зашифровывает симметричным алгоритмом сообщение М на сеансовом секретном ключе KS.
  3. Зашифровывает асимметричным алгоритмом секретный сеансовый ключ KS на открытом ключе Ke пользователя В (получателя сообщения).
  4. Передает по открытому каналу связи в адрес пользователя В зашифрованное сообщение М вместе с зашифрованным сеансовым ключом KS.

Действия пользователя А иллюстрируются схемой шифрования сообщения комбинированным методом (рис. 1).

Рис. 1. Схема шифрования сообщения комбинированным методом.

Действия пользователя В (при получении электронного цифрового конверта — зашифрованного сообщения М и зашифрованного сеансового ключа KS):

  1. Расшифровывает асимметричным алгоритмом сеансовый ключ KS с помощью своего секретного ключа kB.
  2. Расшифровывает симметричным алгоритмом принятое сообщение М с помощью полученного сеансового ключа KS.

Действия пользователя В иллюстрируются схемой расшифрования сообщения комбинированным методом (рис. 2).

Полученный электронный цифровой конверт может раскрыть только законный получатель — пользователь В.

Рис. 2. Схема расшифрования сообщения комбинированным методом.

Только пользователь В, владеющий личным секретным ключом kB, сможет правильно расшифровать секретный сеансовый ключ KS и затем с помощью этого ключа расшифровать и прочитать полученное сообщение М.

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

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

В результате получают быстрое шифрование в сочетании с удобным распределением ключей.

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

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

В табл. 1 приведены распространенные длины ключей симметричных и асимметричных криптосистем, для которых трудность атаки полного перебора примерно равна трудности факторизации соответствующих модулей асимметричных криптосистем [47].

Таблица 1. Длины ключей для симметричных и асимметричных криптосистем при одинаковой их криптостойкости.

Длина ключа симметричной криптосистемы, бит Длина ключа асимметричной криптосистемы, бит
56 384
64 512
80 768
112 1792
128 2304

Если используется короткий сеансовый ключ (например, 56-битный ключ алгоритма DES), то не имеет значения, насколько велики асимметричные ключи. Злоумышленник будет атаковать не их, а сеансовый ключ.

Метод распределения ключей Диффи-Хеллмана

У. Диффи и М. Хеллман изобрели метод открытого распределения ключей в 1976 году. Этот метод позволяет пользователям обмениваться ключами по незащищенным каналам связи. Его безопасность обусловлена трудностью вычисления дискретных логарифмов в конечном поле, в отличие от легкости решения прямой задачи дискретного возведения в степень в том же конечном поле.

Суть метода Диффи-Хеллмана заключается в следующем (рис. 3).

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

Затем пользователь А вычисляет на основании своего секретного ключа kA открытый ключ

Одновременно пользователь В вычисляет на основании своего секретного ключа kB открытый ключ

где N и g — большие целые простые числа. Арифметические действия выполняются с приведением по модулю N.

Рис. 3. Схема открытого распределения ключей Диффи-Хеллмана

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

Затем пользователи А и В обмениваются своими открытыми ключами KA и КВ по незащищенному каналу и используют их для вычисления общего сессионного ключа К (разделяемого секрета):

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

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

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

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

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

Метод комплексной защиты конфиденциальности и аутентичности передаваемых данных

Для одновременной защиты целостности и конфиденциальности данных целесообразно применять шифрование и ЭЦП в комплексе. Промежуточные результаты работы схемы Диффи-Хеллмана могут быть использованы в качестве исходных данных для реализации метода комплексной защиты целостности и конфиденциальности передаваемых данных.

Действительно, согласно данному алгоритму, пользователи А и В сначала генерируют свои секретные ключи kА и kВ и вычисляют свои открытые ключи KA и KB. Затем абоненты А и В используют эти промежуточные результаты для одновременного вычисления общего разделяемого секретного ключа K, который может использоваться для симметричного шифрования данных.

Метод комплексной защиты конфиденциальности и аутентичности передаваемых данных работает по следующей схеме:

  • абонент A подписывает сообщение М с помощью своего секретного ключа kA, используя стандартный алгоритм цифровой подписи;
  • абонент A вычисляет совместно разделяемый секретный ключ K по алгоритму Диффи-Хеллмана из своего секретного ключа kA и открытого ключа KB абонента B;
  • абонент A зашифровывает сообщение М на полученном совместно разделяемом секретном ключе K, используя согласованный с партнером по обмену алгоритм симметричного шифрования;
  • абонент B при получении зашифрованного сообщения М вычисляет по алгоритму Диффи-Хеллмана совместно разделяемый секретный ключ K из своего секретного ключа kB и открытого ключа KA абонента A;
  • абонент B расшифровывает полученное сообщение М на ключе K;
  • абонент B проверяет подпись расшифрованного сообщения М с помощью открытого ключа абонента KA.

На основе схемы Диффи-Хеллмана функционируют протоколы управления криптоключами SKIP (Simple Key management for Internet Protocols) и IKE (Internet Key Exchange), применяемые при построении защищенных виртуальных сетей VPN на сетевом уровне.

Важным достоинством схемы распределения ключей Диффи- Хеллмана является то, что они позволяют обойтись без защищенного канала для передачи ключей. Однако необходимо иметь гарантию того, что пользователь А получил открытый ключ именно от пользователя В, и наоборот. Эта проблема решается с помощью сертификатов открытых ключей, создаваемых и распространяемых центрами сертификации CA (Certification Authority) в рамках инфраструктуры управления открытыми ключами PKI (Public Key Infrastructure).

Инфраструктура управления открытыми ключами PKI

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

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

  • необходимо для N пользователей распространять в защищенном режиме N(N — 1)/2 ключей, что при N порядка нескольких сотен может стать очень обременительной задачей;
  • система распространения ключей получается сложной (много ключей и закрытый канал распространения), что приводит к появлению уязвимых мест.

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

В результате решаются две главные проблемы симметричной криптографии:

  • перегруженность количеством ключей — их теперь всего N;
  • сложность распространения — их можно распространять открыто.

Однако у этой технологии есть один недостаток — подверженность атаке «человек в середине», когда атакующий злоумышленник расположен между участниками взаимодействия. В этом случае появляется риск подмены передаваемых открытых ключей.

Инфраструктура управления открытыми ключами PKI позволяет преодолеть этот недостаток и обеспечить эффективную защиту от атаки «человек в середине».

Принципы функционирования PKI

Инфраструктура открытых ключей PKI (Public Key Infrastructure) предназначена для надежного функционирования корпоративных информационных систем и позволяет как внутренним, так и внешним пользователям безопасно обмениваться информацией с помощью цепочки доверительных отношений. Инфраструктура открытых ключей PKI основывается на цифровых сертификатах, которые действуют подобно электронным паспортам, связывающим индивидуальный секретный ключ пользователя с его открытым ключом.

Защита от атаки «человек в середине»

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

Поясним на примере действия атакующего злоумышленника (рис. 4).

Рис. 4. Подмена открытого ключа

Предположим, есть два пользователя i и j, каждый из которых имеет по паре ключей, при этом у пользователя j есть открытый (public) ключ Kpi для проверки ЭЦП пользователя i. Далее предположим, что злоумышленник может перехватить этот ключ Kpi в процессе его передачи от пользователя i пользователю j или получить доступ к этому ключу, хранящемуся у пользователя j. В любом случае злоумышленник считает из ключа его реквизиты (например, фамилию владельца, место работы и т. д.) и создаст свою пару ключей, Ksi’ и Kpi’, в которые запишет известные ему реквизиты пользователя i. Затем он подменит посланный пользователю j открытый ключ Kpi своим фальшивым открытым ключом Kpi’, имеющим реквизиты пользователя i.

Любое сообщение злоумышленник будет подписывать своим секретным ключом Ksi’ (причем для пользователя j эта подпись выглядит так, как если бы она была поставлена пользователем i). Подпись такого сообщения, проверяемая пользователем j, будет верна, поскольку ему был послан фальшивый открытый ключ Kpi’, парный столь же фальшивому секретному(sequrity) ключу Ksi’.

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

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

Сертификаты открытых ключей

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

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

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

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

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

Таким источником, согласно стандарту X.509, является центр сертификации СА (Certification Authority). Центр сертификации называют также УЦ — удостоверяющим центром; последний термин используется, в частности, в Федеральный законе «Об электронной подписи» от 06.04.2011 N 63-ФЗ.

Центр сертификации СА (Certification Authority) является доверенной третьей стороной, которая обеспечивает аутентификацию открытых ключей, содержащихся в сертификатах. СА имеет собственную пару ключей (открытый/секретный), где секретный ключ СА используется для подписывания сертификатов, а открытый ключ СА публикуется и применяется пользователями для проверки подлинности открытого ключа, содержащегося в сертификате.

Сертификация открытого ключа — это подтверждение подлинности открытого ключа и хранимой совместно с ним служебной информации, в частности о принадлежности ключа. Сертификация ключа выполняется путем вычисления ЭЦП сертифицируемого ключа и служебной информации с помощью специального секретного ключа-сертификата, доступного только центру сертификации CA. Иными словами, сертификация открытого ключа — это подписывание открытого ключа электронной подписью, вычисленной на секретном ключе центра сертификации.

Открытый ключ совместно с сертифицирующей его ЭЦП часто называют сертификатом открытого ключа, или просто сертификатом.

Открытый ключ сертификационного центра (парный секретному, на котором проводится сертификация других открытых ключей) используется для проверки целостности сертифицированных открытых ключей. Его обычно называют ключом-сертификатом.

Центр сертификации СА формирует сертификат открытого ключа пользователя путем заверения цифровой подписью CA определенного набора данных.

В соответствии с форматом Х.509 в этот набор данных включаются:

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

Рис. 5. Структура сертификата X.509

Таким образом, цифровой сертификат содержит три главные составляющие:

  • информацию о пользователе-владельце сертификата;
  • открытый ключ пользователя;
  • сертифицирующую ЭЦП двух предыдущих составляющих, вычисленную на секретном ключе СА.

Сертификат открытого ключа обладает следующими свойствами:

  • каждый пользователь, имеющий доступ к открытому ключу центра сертификации СА, может извлечь открытый ключ, включенный в сертификат;
  • ни одна сторона, помимо центра сертификации, не может изменить сертификат так, чтобы это не было обнаружено (сертификаты нельзя подделать).

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

Создание сертификата открытого ключа начинается с создания пары ключей (открытый/секретный).

Процедура генерации ключей может осуществляться двумя способами:

  1. СА создает пару ключей. Открытый ключ заносится в сертификат, а парный ему секретный ключ передается пользователю с обеспечением аутентификации пользователя и конфиденциальности передачи ключа.
  2. Пользователь сам создает пару ключей. Секретный ключ сохраняется у пользователя, а открытый ключ передается по защищенному каналу в СА.

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

Логическая структура и компоненты PKI

Инфраструктура открытых ключей PKI (Public Key Infrastructure) — это набор программных агентов и правил, предназначенных для управления ключами, политикой безопасности и собственно обменом защищенными сообщениями.

Основными задачами PKI являются:

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

    Токен безопасности — это индивидуальное средство безопасности, определяющее все права и окружение пользователя в системе, например, USB-ключ или смарт-карта.

    Рис. 6. JaCarta ГОСТ – персональное средство электронной подписи с российской криптографией «на борту» для формирования усиленной квалифицированной ЭП с неизвлекаемым ключом ЭП и строгой аутентификации пользователей.

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

    Для предоставления удаленного доступа мобильным пользователям центр управления должен допускать подключение компьютеров, IP-адрес которых ему заранее неизвестен. Участники информационного обмена опознаются по их криптографическим сертификатам. Так как криптографический сертификат пользователя является электронным паспортом, он, как и любой паспорт, должен соответствовать определенным стандартам. В криптографии это стандарт Х.509.

    Рис. 7. Пример распределенной сети организации.

    Концепция инфраструктуры открытых ключей PKI подразумевает, что все сертификаты конкретной PKI (своя PKI может быть у любой организации или организационной единицы) организованы в иерархическую структуру. Пример иерархии сертификатов двух PKI показан на рис. 8.

    Рис. 8. Иерархическая структура сертификатов.

    Иерархическая схема PKI предусматривает существование четырех типов сертификатов:

    1. Сертификат конечного пользователя (описанный выше).
    2. Сертификат Удостоверяющего Центра (СА). Должен быть доступен для проверки ЭЦП сертификата конечного пользователя и подписан секретным ключом СА верхнего уровня, причем эта ЭЦП также должна проверяться, для чего должен быть доступен сертификат СА верхнего уровня, и т. д.
    3. Самоподписанный сертификат. Является корневым для всей PKI и доверенным по определению. Если в результате проверки цепочки сертификатов СА выяснится, что один из них подписан корневым секретным ключом, тогда процесс проверки ЭЦП сертификатов заканчивается.
    4. Кросс-сертификат. Кросс-сертификаты позволяют расширить действие конкретной PKI путем взаимоподписания корневых сертификатов двух разных PKI.

    Процедура проверки ЭЦП электронного документа происходит в системе PKI следующим образом. Сначала проверяется ЭЦП конкретного документа, а затем — ЭЦП сертификата, с помощью которого проверялась предыдущая ЭЦП. Последняя проверка повторяется в цикле до тех пор, пока цепочка сертификатов не приведет к корневому.

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

    Заметим, что корневых сертификатов может быть несколько: каждая организация (или организационная единица) вправе устанавливать свои корневые сертификаты (один или несколько). Стандартом предусмотрено и наличие корневого сертификата для всего сообщества пользователей Интернета.

    Логическая структура и основные компоненты инфраструктуры управления открытыми ключами PKI приведены на рис. 9.

    Компоненты этой структуры имеют следующее назначение:

    Каталог сертификатов — общедоступное хранилище сертификатов пользователей. Доступ к сертификатам производится обычно по стандартизованному протоколу доступа к каталогам LDAP (Lightweight Directory Access Protocol).

    Центр регистрации RA (Registration Authority) — организационная единица, назначение которой — регистрация пользователей системы.

    C:\Users\Admin\AppData\Local\Temp\FineReader12.00\media\image98.jpeg

    Рис. 9. Структура PKI

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

    Центр сертификации СА (Certification Authority) — организационная единица, назначение которой — сертификация открытых ключей пользователей (здесь из открытого ключа получается сертификат формата Х.509) и их опубликование в каталоге сертификатов.

    Общая схема работы центра сертификации СА выглядит следующим образом:

    • СА генерирует собственные ключи и формирует сертификаты СА, предназначенные для проверки сертификатов пользователей;
    • пользователи формируют запросы на сертификацию и доставляют их СА тем или иным способом;
    • СА на основе запросов пользователей формирует сертификаты пользователей;
    • СА формирует и периодически обновляет списки отмененных сертификатов CRL (Certificate Revocation List);
    • сертификаты пользователей, сертификаты CA и списки отмены CRL публикуются CA (рассылаются пользователям либо помещаются в общедоступный справочник).

    Функции, выполняемые PKI в целом, можно условно разделить на несколько групп:

    1. функции управления сертификатами;
    2. функции управления ключами;
    3. дополнительные функции (службы).

    Кратко рассмотрим эти основные группы функций.

    В состав функций управления сертификатами входят:

    • регистрация пользователей. Пользователем может быть физический пользователь, прикладная программа, сетевое устройство и прочее;
    • сертификация открытых ключей. По существу, процесс сертификации состоит в связывании имени пользователя и открытого ключа. СА подписывает сертификаты пользователей и СА более низкого уровня;
    • сохранение закрытого ключа СА. Это главная болевая точка системы. Компрометация закрытого ключа СА разрушает всю систему;
    • содержание базы сертификатов и их распределение. Все сертификаты пользователей и промежуточных СА (кроме СА самого верхнего уровня!) обычно выкладываются на общедоступный сервер — сервер сертификатов;
    • обновление сертификата. Процесс активируется в случае истечения срока действия сертификата и состоит в передаче нового сертификата для открытого ключа пользователя;
    • обновление ключей. При генерации новой пары ключей пользователем либо третьей стороной необходима генерация нового сертификата;
    • отзыв сертификата. Этот процесс возможен, например, при компрометации ключей, изменении имени, прекращении доступа и прочем;
    • определение статуса отзыва сертификата. Пользователь проверяет наличие сертификата в каталоге открытых ключей PKD (Public Key Directory) и в списке отзыва сертификатов CRL.

    Функции управления ключами делятся на следующие основные подгруппы:

    • генерация ключей;
    • распределение ключей.

    В состав группы дополнительных функций (служб) входят:

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

    Взаимодействие компонентов инфраструктуры открытых ключей

    В состав системы управления инфраструктурой открытых ключей могут входить дополнительные компоненты:

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

    Интеграция компонентов инфраструктуры открытых ключей со службой каталога, например, Microsoft Active Directory позволяет автоматизировать множество задач, связанных с управлением PKI:

    • автоматическое создание сертификатов для объектов каталога, управляемое политиками;
    • автоматическая публикация списков отозванных сертификатов и сертификатов CA.

    Кроме того, служба каталога может служить доверенным источником информации о сертификатах других участников криптографического обмена.

    Физически система управления инфраструктурой открытых ключей может состоять из нескольких уровней:

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

    Система управления инфраструктурой открытых ключей и ее компоненты являются основой для создания ряда подсистем комплексной системы обеспечения безопасности организации:

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

    подсистема генерации ключей шифрования и ЭЦП, используемая для:

    • создания систем юридически значимой электронной цифровой подписи в системах электронного документооборота (в соответствии с Федеральным законом РФ об электронной цифровой подписи № 1-ФЗ от 10.01.2002 г.);
    • реализации систем однократной и многофакторной аутентификации при доступе к автоматизированным информационным системам;

    подсистема безопасного хранения и управления ключевой информацией, реализующая следующие функции:

    • контроль целостности электронных документов;
    • контроль целостности публичных информационных ресурсов;
    • проверку подлинности взаимодействующих программных компонентов и конфиденциальности передаваемых данных при информационном взаимодействии;
    • обеспечение безопасности и разграничение доступа при взаимодействии субъектов автоматизированных информационных систем;

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

    На рис. 10 приведена схема инфраструктуры открытых ключей на базе продуктов Microsoft Active Directory и Microsoft Certification Authority. Удостоверяющие центры образуют в приведенном решении двухуровневую иерархию.

    Изолированный корневой удостоверяющий центр физически отключен от сети. Этот удостоверяющий центр издает сертификаты только для нижестоящих УЦ. Применение изолированного корневого УЦ позволяет уменьшить риск компрометации всей инфраструктуры открытых ключей в случае успешной атаки на УЦ.

    Рис. 10. Схема инфраструктуры открытых ключей на базе продуктов Microsoft Active Directory и Microsoft Certification Authority

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

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

    Свежие записи

    • Принимаем на платное высшее образование всех. Отсрочка от армии.
    • Как сдать ЕГЭ по физике
    • Крупнейшие американские компании в области кибербезопасности демонстрируют сильный рост выручки этом году.
    • Сеть клинико-диагностических лабораторий «СИТИЛАБ» подверглась кибератаке от хакерской группы UHG из Украины.
    • Компания Microsoft сообщает , что киберпреступники используют домашние IP-адреса жертв в VEC-атаках, чтобы создать видимость локального входа и избежать обнаружения

    Криптографический протокол обмена ключами децентрализованного характера в среде централизованных сервисов связи

    При разработке децентрализованных систем всегда остро стоит проблема аутентификации субъектов при обмене публичными ключами как между непосредственными собеседниками, так и между узлами в самой сети. Проблема исходит из атак типа MITM (man in the middle), осуществление которых приводит не только к череде пассивных нападений в лице прослушивания транслируемого трафика, но и к активным нападениям, в лице его подмены. Такой исход вызывает сопутствующие проблемы доверия безопасности всех накладываемых коммуникаций.

    Проблематика

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

    Использование небезопасного канала связи при передаче ключа

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

    Головоломки Меркла (1974), протокол Диффи-Хеллмана [DH] (1976), алгоритм RSA (1976), протокол Месси-Омуры [MO] (1978), ранцевая криптосистема Меркла-Хеллмана (1978), криптосистема Рабина (1979), схема Эль-Гамаля [EG] (1985), и последующие вариации DH, EG, MO на эллиптических кривых породили возможность решения огромного спектра прикладных задач, которым важна была безопасность коммуникаций (начиная с обычной потребности в общении, и заканчивая банковскими транзакциями).

    Использование небезопасного канала связи при генерации ключа (протокол Диффи-Хеллмана)

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

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

    Атака MITM на примере протокола Диффи-Хеллмана

    Решение централизации

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

    Тем не менее, настоящая реальность показывает нам, что проблема MITM как-то решается и по ощущениям довольно успешно. Когда мы пользуемся браузером, то он нам может показывать три возможных состояния коммуникаций: небезопасно (http://), безопасно (https://) и ещё раз небезопасно (https://). Первое говорит просто о том, что не существует вовсе шифрования. Второе утверждает, что всё безопасно шифруется и подтверждается. И как раз последнее свидетельствует о том, что возможно осуществление MITM атаки.

    Так в итоге, как современный мир смог решить проблему MITM? Ответ: достаточно просто — делегировав возможность совершения MITM атаки ограниченному кругу сервисов, выдвигаемых в роли центров сертификации (доверенных узлов). Схема крайне проста, но на своих первоначальных этапах она была также уязвима к MITM со стороны сторонних злоумышленников.

    Трент - доверенный узел. Предполагается, что Алиса уже знает Трента, а потому и знает T. Доверие абсолютно, и Алиса предполагает, что Трент не будет совершать MITM. Под EKt понимается алгоритм, способный доказать Алисе, что само сообщение отправил и подтвердил именно Трент.

    Иными словами, при работе за компьютером с доступом в Интернет, уже предполагается, что на таковом компьютере, на уровне ОС, браузера или конкретного приложения установлены сертификаты (публичные ключи) центров сертификации, за счёт которых и совершаются дальнейшие безопасные коммуникации. Но стоит понимать, что как-то ОС, браузер, приложение, должны были попасть на итоговый компьютер без доверенного узла. Здесь может быть несколько ветвлений развития со стороны централизации.

    Первый и самый очевидный вектор — просто плыть по течению и рано или поздно, даже с учётом жертв MITM, большая часть пользователей наконец установит обновлённую ОС, браузер или приложение с вложенными в них публичными ключами центров сертификации.

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

    Как только информация о центрах сертификации будет установлена на клиентском устройстве, то все дальнейшие MITM атаки начинают делегироваться. Общий вид MITM со сторонними злоумышленниками теряет свой первоначальный смысл. Теперь MITM могут совершать лишь «законно установленные» злоумышленники в роли ЦС.

    Решения децентрализации

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

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

    Второй метод сводится к использованию централизованных сервисы в роли площадок для размещения публичных ключей. Часто создатели децентрализованных систем сами создают сервер, на котором выкладывают и постоянно редактируют список публичных ключей, выступая тем самым в роли некого ЦС, хоть и на более низком уровне по иерархии доверия. Как только первоначальная децентрализованная сеть была построена и сервер, в роли ЦС, сыграл свою основную роль корректно, сами участники могут обмениваться внутри сети публичными ключами, в некой степени эмулируя применение первого способа обмена. Подменить публичные ключи становится возможным на трёх уровнях: 1) на уровне оригинального ЦС, где таковой должен сотрудничать с провайдерами связи для успешных редиректов на копию сервера с другими публичными ключами, 2) на уровне выдвигаемого сервера в роли ЦС, где таковой может самолично изменять публичные ключи, 3) на уровне децентрализованной сети, если произошёл либо первый, либо второй пункт, либо если сам узел является злоумышленником, выдающим ложные ключи.

    Третий метод сводится к использованию сети доверия (Web of Trust). Таковой способ как раз успешно может функционировать как продолжение второго, после того как клиенты получили первоначальные публичные ключи от сервера. Каждый указанный публичный ключ на сервере сам становится своеобразным ЦС, который перенаправляет публичные ключи от одного узла к другому. Далее, как только сами клиенты начинают обладать определённым количеством ключей, они также автоматически становятся ЦС, устанавливающими и выстраивающими на своей стороне дальнейшие коммуникации. Указанный механизм интересен тем, что уровень централизованного доверия к узлам постоянно «разлагается». Изначально существовавший один сервер обладает 100% уровнем доверия, далее список публичных ключей в N уменьшает, в лучшем случае, первоначальное доверия до 100%/N, и далее, сами клиенты подключившись к узлам в Q-ом количестве, продолжают уменьшать необходимый уровень доверия, в лучшем случае, до 100%/N/Q и т.д. Сеть доверия будет работать лишь при условии, что N и Q не приводят всё к тому же 100% уровню доверия, иначе говоря, если N и Q не равны единице. Поэтому следует понимать под N и Q не просто количество узлов, а количество узлов не подменяющих информацию. Если количество узлов не подменяющих информацию равно нулю, то следует установить N или Q = 1.

    Четвёртый метод сводится к использованию уже существующих децентрализованных сервисов в роли площадок для размещения публичных ключей. Как пример, используя некий блокчейн X, мы можем внести криптовалюту в свой аккаунт, вставив публичный ключ в определённо договорённый (с абонентом) интервал времени T или блок B. Далее, мы ссылаемся на конкретный блок B и интервал времени T для идентификации своего публичного ключа. Злоумышленнику в таком сценарии становится необходимо успеть поместить публичный ключ в интервал T или блок B, заменив до этого сообщение о публичном ключе на стороне абонента.

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

    Протокол пятого метода

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

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

    Во-вторых, должно быть выбрано несколько централизованных сервисов наиболее несвязанных между собой. Например, facebook и vkontakte, telegram и signal и т.д. Иными словами, необходимо «разложить» централизацию индивидуальных сервисов на децентрализацию множества сервисов.

    Далее, механизм связи сводится к передаче одного публичного ключа сразу по нескольким централизованным сервисам. Если ключи все пришли одинаковые, то велика вероятность того, что ключ не был подменён. Если малая часть ключей была подменена, то можно взять в качестве правды — ключ с большим процентом однотипности, либо совершить вновь процедуру отправления ключа, но исключая предыдущие сервисы (которые выдали ключ в меньшей пропорции) и заменяя их другими сервисами.

    Плюс такой схемы в том, что мы используем уже готовую (централизованную) инфраструктуру (PKI) для обмена ключами, в отличие от Web of Trust, требующей создавать собственную инфраструктуру открытых ключей.

    1. Предполагается, что у A и B есть своя пара открытый/закрытый ключ. Для A — это (PubA/PrivA), для B— это (PubB/PrivB),
    2. Пользователь B генерирует временную пару открытый/закрытый ключ — (PubT/PrivT),
    3. Пользователь B отправляет открытый ключ PubT на несколько централизованных сервисов прямо несвязанных между собой, допустим на 5 разных сервисов. *Под несвязанностью понимается отсутствие общих директоров, инфраструктуры и прочего, допустим vk.com и mail.ru — будут считаться за связанные сервисы,
    4. Пользователь A получает открытые ключи PubT1, PubT2, PubT3, PubT4, PubT5 с централизованных сервисов соответственно 1, 2, 3, 4, 5,
    5. Пользователь A просматривает открытые ключи и сравнивает все ли они одинаковые,
    6. Если больше половины ключей расходится (допустим 3/2) — пользователи A и B выбирают совершенно новые 5 централизованных сервисов и начинают процедуру заново,
    7. Если меньше половины ключей расходится (допустим 4/1) — пользователи A и B выбирают под несогласованный публичный ключ новый сервис связи и повторяют процедуру конкретно с ним,
    8. Если результат выбранного сервиса расходится с результатом большинства, то следует вновь поменять сервис. Если ряд выбираемых сервисов выдают результат отличный от большинства, то следует вернуться на процедуру [6].
    9. В конечном итоге, пользователь A получит от B временный публичный ключ PubT, Схема получения временного публичного ключа PubT
    10. Далее пользователь A зашифровывает открытым ключом PubT свой открытый ключ PubA и отправляет полученный результат также на эти 5 сервисов: CPubA = E(PubT, PubA),
    11. Пользователь B просматривает корректность получения CPubA. Если шифрованные ключи расходятся, то применяются процедуры [6,7,8] направленные на уже шифрованную версию ключей,
    12. При успешном получении шифрованного публичного ключа CPubA, пользователь B применяет временный закрытый ключ PrivT и расшифровывает CPubA, получая тем самым публичный ключ PubA: PubA = D(PrivT, CPubA), Схема получения публичного ключа PubA
    13. Далее, пользователь B подписывает свой публичный ключ PubB временным закрытым ключом PrivT, и шифрует результат ранее полученным публичным ключом PubA. Результат подписания и шифрования пользователь B отправляет пользователю A. Пользователь B может использовать любой сервис связи, т.к. в данном случае уже нельзя будет корректно подменить информацию за счёт необходимости нарушения подписи для PrivT: SPubB =S(PrivT, PubB),
      CSPubB = E(PubA, SPubB)
      ,
    14. Пользователь A принимает CSPubB, расшифровывает его своим публичным ключом PubA, получая тем самым SPubB. Далее пользователь A проверяет подпись, используя временный публичный ключ PubT, получая тем самым истинность публичного ключа PubB. SPubB = D(PubA, CSPubB)
      PubB = V(PubT, SPubB)
      Схема получения публичного ключа PubB

    Таким образом, пользователи A и B обменялись своими публичными ключами, воспользовавшись сторонними централизованными сервисами связи. При этом, в вышеописанном протоколе централизованные сервисы так и не узнали истинные публичные ключи, которые будут применяться в качестве дальнейших идентификаторов ID в децентрализованной сети, а потому и не смогут их использовать для связывания с сетевым адресом IP (анонимные сети).

    У централизованных сервисов в полномочии остались только PubT, CPubA, CSPubB. Этапы [6,7,8] защищают от активных атак за счёт однотипных действий на несвязанных между собой сервисах.

    Протокол не лишён проблем:

    1. Протокол является вероятностным. Существует вероятность, что централизованные сервисы смогут связаться и успешно подменять публичные ключи хотя бы для 4/1 сервисов, что будет достаточно, т.к. последний сервис будет считаться уже некорректным.
    2. Если A или B является злоумышленником, а децентрализованная сеть является анонимной и чувствительной ко связи ID=IP, то злоумышленник, получив публичный ключ своего абонента, получит тем самыми и его идентификатор ID в сети. При сотрудничестве с сервисами связи, он сможет легко узнать и IP абонента. Таким образом, легко свяжет полученный публичный ключ с сетевым адресом.
    3. Предполагается, что пользователи A и B уже друг друга идентифицируют на выбираемых ими централизованных сервисах. В противном случае, пользователи A и B не будут знать кому отправляют и от кого получают ключи.

    Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *