Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Крипто Защита Информации

Зачем

Обеспечение информационной безопасности передаваемых данных.

Паттерны

Криптоалгоритмы

  • подписание - состоит из операции хэширования и шифрования
    • ГОСТ Р 34.10 2012, 2001
  • шифрование
    • ГОСТ 2015, 2012, 2001
    • RSA\AES
    • трафика
      • ГОСТ 28147-89
      • ГОСТ Р 34.10-2001, 34.10-2012
      • алгоритм «Кузнечик» в соответствии с ГОСТ Р 34.12-2015
  • хэширование
    • ГОСТ Р 34.11-94, 34.11-2012
    • ГОСТ Р 31.11
    • HMAC SHA256 симметричный
    • RS256 - ассиметричный. Приватным ключом подпись создается, публичным ключом проверяется подлинность
    • кодирование
      • base64urlas
  • имитозащита - защита целостности сообщения
    • В России принят алгоритм вычисления имитовставки по ГОСТ 28147-89
    • Имитовста́вка (MAC, англ. message authentication code — код аутентификации послания)
      • средство обеспечения имитозащиты в протоколах аутентификации сообщений с доверяющими друг другу участниками
      • специальный набор символов, который добавляется к сообщению и предназначен для обеспечения его целостности и аутентификации источника данных
  • Алгоритм Diffie-Hellman - транспортный ключ

ГОСТ

Криптоалгоритмы ГОСТ Р 34.10-2012, ГОСТ 34.10-18 256 бит:

Международные

Криптоалгоритмы международные:

  • RSA\AES
  • IPSec VPN Site-to-Site - CISCO
Алгоритм Diffie-Hellman
  • Варианты алгоритмов:
    • Diffie-Hellman (DH) Key Exchange - Диффи-Хеллмана
    • Elliptic Curve Diffie-Hellman (ECDH) - Диффи-Хеллмана на эллиптических кривых
  • Ипользуется для того, чтобы две стороны могли создать общий секретный ключ, его еще называют «транспортный ключ», который затем используется для шифрования и дешифрования сообщений
    • Используется в TLS, IPSec, SSH
  • Главное - этот ключ создается без прямого обмена им между сторонами
  • Алгоритм
    • Сначала сервер и клиент должны сгенерировать свои идентификационные номера
    • На основе этих номеров сервер и клиент создают свои собственные открытые и закрытые ключи
    • Затем происходит обмен открытыми ключами, в то время как закрытыми ключами обмениваться не нужно
    • Используя свой закрытый ключ и открытый ключ сервера, клиент устанавливает общий секретный ключ, а сервер выполняет ту же последовательность действий
      • С помощью закрытых ключей обе стороны генерируют общий секретный ключ, который затем будет использоваться выбранным алгоритмом шифрования для обеспечения безопасности связи.
      • Общий секретный ключ остается конфиденциальным
  • Параметры алгоритма
    • Ключевая пара (public\private key)
      • Длина ключа не менее 1024 байт
      • формат X.509 Encoded
      • Сгенерируем приватный ключ RSA зашифрованный AES 256 с паролем “password” длиной 4096 бит (меньше 1024 считается ненадежным)
  • Реализации

Подписание ЭЦП

  • Электронная подпись (ЭЦП) содержит номер, сгенерированный и зашифрованный при помощи криптографического программного обеспечения.
  • Алгоритм
    • Хэширование сообщения: на входе сообщение произвольной длины, на выходе хэш значение фиксированной длины
    • Шифрование хэша - не обязательно
    • При формировании ЭЦП закрытый ключ отправителя используется, проверка - открытым ключом отправителя
    • При шифровании сообщения - открытый ключ получателя, расшифрование сообщения - закрытым ключом получателя
  • Виды электронной подписи по №63-ФЗ «Об электронной подписи»:
    • Простая электронная подпись
      • представляет собой уникальную комбинацию символов, которая создаётся пользователем или информационной системой и не имеет физического носителя
      • не может защитить документ от последующего изменения
    • Усиленная электронная подпись (УЭП) может быть двух видов:
      • Усиленная неквалифицированная электронная подпись (УНЭП)
      • Усиленная квалифицированная электронная подпись (УКЭП)
        • получают в аккредитованном удостоверяющем центре (УЦ)
  • Форматы ЭЦП
    • Присоединённая
      • содержится в самом документе
      • чтобы прочитать документ потребуется ПО
    • Отсоединённая
      • содержится в отдельном файле .SIG
      • чтобы прочитать документ НЕ потребуется ПО, не изменяет подписываемый документ
      • Как создать программно в КриптоПро
      • в формате
        • pkcs 7 через Приложение cryptcp для КриптоПро CSP
          • в кодировке DER или BASE64
        • Base64String
    • Интегрированная

Имитозащита

Варианты решений