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
    • Padding: Proper padding schemes (e.g., OAEP, PKCS#1 v1.5) are crucial to prevent certain cryptographic attacks and ensure secure encryption.
      • Optimal Asymmetric Encryption Padding (OAEP) - шифрование
        • algorithm
          • RSA_OAEP_256 - RSAES using Optimal Asymmetric Encryption Padding (OAEP) (RFC 3447), with the SHA-256 hash function and the MGF1 with SHA-256 mask generation function
          • RSA_OAEP - DEPRECATED - RSAES using Optimal Asymmetric Encryption Padding (OAEP) (RFC 3447), with the default parameters specified by RFC 3447 in section A.2.1. Use of this encryption algorithm is no longer recommended, use RSA_OAEP_256 instead.
            • hash: sha1
            • maskGenAlgorithm: mgf1SHA1
            • pSourceAlgorithm: empty
      • RSASSA-PKCS1-v1_5 - подпись\шифрование
      • RSA-PSS - подпись
  • AES modes: CTR, CBC, GCM
  • 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
    • Интегрированная

Имитозащита

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