Технические сведения о используемых стандартах для HTTPS

Транспорт

В качестве транспортного механизма для HTTPS Аналитический портал использует TLS.
Поддерживаемые версии TLS: 1.0, 1.1, 1.2 (RFC 5246), 1.3 (RFC 8446).

Файлы

  • Файл сертификата:

    • Должен быть в формате Privacy Enhanced Mail (PEM);
    • PEM должен быть контейнером для ASN.1 DER.
  • Файл закрытого ключа:

    • Должен быть в формате Privacy Enhanced Mail (PEM);
    • PEM должен быть контейнером для ASN.1 DER;
    • Поддерживаются PKCS#1 и PKCS#8.

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

  • PEM » ASN.1 DER » PKCS#1 » RSA;
  • PEM » ASN.1 DER » PKCS#8 » RSA;
  • PEM » ASN.1 DER » PKCS#8 » ECDSA;
  • PEM » ASN.1 DER » PKCS#8 » ED25519;
  • PEM » ASN.1 DER » ED25519.

Сертификат

Формат сертификата определён стандартом X.509. Данный тип сертификата в обиходе имеет второе, не техническое наименование — сертификат SSL. Поддерживаются версии до X.509v3 включительно. Актуальной на момент написания инструкции является версия X.509v3.

Ключевая пара

Поддерживаются следующие типы ключей:

  • RSA – PKCS#1v2, RFC8017 — без ограничения на размер ключа. Максимальное значение открытой экспоненты (2^31)-1;
  • ECDSA – FIPS186-4, SEC1v2 — поддерживаются именованные кривые: secp224r1, secp256r1, prime256v1, secp384r1, secp521r1;
  • ED25519 – RFC8032 — только для TLS 1.3.

Защита передаваемых данных

Поддерживаемые типовые шифронаборы для TLS 1.0–1.2:

  • TLS_ECDHE_RSA_WITH_RC4_128_SHA;
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA;
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256;
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256;
  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA;
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA;
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305;
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384;
  • TLS_ECDHE_ECDSA_WITH_RC4_128_SHA;
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA;
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256;
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256;
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA;
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305;
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384;
  • TLS_RSA_WITH_AES_256_CBC_SHA;
  • TLS_RSA_WITH_AES_256_GCM_SHA384;
  • TLS_RSA_WITH_AES_128_CBC_SHA;
  • TLS_RSA_WITH_RC4_128_SHA;
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA;
  • TLS_RSA_WITH_AES_128_CBC_SHA256;
  • TLS_RSA_WITH_AES_128_GCM_SHA256.

Поддерживаемые типовые шифронаборы для TLS только 1.2:

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256;
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256;
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305;
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384;
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256;
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256;
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305;
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384;
  • TLS_RSA_WITH_AES_128_GCM_SHA256;
  • TLS_RSA_WITH_AES_128_CBC_SHA256;
  • TLS_RSA_WITH_AES_256_GCM_SHA384.

Общий шаблон имени набора для TLS 1.0–1.2:

TLS_<**Алгоритм аутентификации**>_WITH_<**Шифр данных**>_<**Хеш-функция**>

, где

  • «Алгоритм аутентификации» — криптосистема, используемая для аутентификации (аутентифицируются сервер и сеансовый секрет);
  • «Шифр данных» — симметричный алгоритм, который послужит для защиты передаваемых данных;
  • «Хеш-функция» — хеш-функция, являющаяся основой для HMAC.

Поддерживаемые типовые шифронаборы для TLS только 1.3:

  • TLS_AES_128_GCM_SHA256;
  • TLS_CHACHA20_POLY1305_SHA256;
  • TLS_AES_256_GCM_SHA384.

Общий шаблон имени набора для TLS 1.3:

TLS_<**Шифр данных**>_<**Хеш-функция**>

, где

  • «Шифр данных» — симметричный алгоритм, который послужит для защиты передаваемых данных;
  • «Хеш-функция» — хеш-функция, являющаяся основой для HMAC.

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