Инструменты

Bee2

Bee2 – это криптографическая библиотека, которая реализует алгоритмы и протоколы, определенные в следующих стандартах Республики Беларусь:

  • СТБ 34.101.31 (belt): шифрование, имитозащита, хэширование, управление ключами;
  • СТБ 34.101.45 (bign): ЭЦП и транспорт ключа (шифрование с открытым ключом);
  • СТБ 34.101.47 (brng): имитозащита (HMAC), ГПСЧ, одноразовые пароли (HOTP, TOTP, OCRA);
  • СТБ 34.101.60 (bels): разделение секрета;
  • СТБ 34.101.66 (bake): протоколы формирования общего ключа (BMQV, BSTS, BPACE);
  • СТБ 34.101.77 (bash): хэширование (хэш-значения от 32 до 512 битов с шагом 32).

Дополнительно Bee2 реализует алгоритмы ЭЦП РФ и Украины.

Bee2 распространяется свободно. Исходные тексты размещены на популярном сервере github.com. Настроены инструменты непрерывной интеграции (continious integration) Bee2: при загрузке очередной редакции программ на сервер выполняется автоматическая тестовая сборка нескольких конфигураций библиотеки (Travis CI), проводятся статический анализ исходных текстов (CoverityScan) и анализ полноты покрытия тестами (Codecov).

Дополнительно: обзоробзорплощадка, эксперименты, RPM-пакеты.

Bsum

Утилита Bsum является частью библиотеки Bee2. Bsum реализует вычисление и проверку хэш-значений с помощью алгоритмов СТБ 34.101.31 (belt-hash) и СТБ 34.101.77 (bash32, bash64, ..., bash512). Интерфейс командной строки утилиты максимально приближен к интерфейсам аналогичных утилит sha1sum и sha256sum.

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

Бинарный файл (Win32, 2017-01-17): bsum-20170117.zip.

belt-hash(bsum-20170117.zip): 400f682b4c46fa5d1cc92aa53d3a290adf331d31929a48c26b190aefdc151806.

bash32(bsum-20170117.zip): 005892ef.

bash64(bsum-20170117.zip): 61fd932ba99bc365.

bash160(bsum-20170117.zip): e93500b3026ca589af5f91cb1781ab41.

bash256(bsum-20170117.zip): 278cced6a06c8b13ac2be6bc171e3ff3138ab69cb07a6c8f2de28c1d791c9e43.

Bee2evp

В популярной криптографической библиотеке OpenSSL (www.openssl.org) предусмотрена работа с плагинами (engines), которые предоставляют криптографические сервисы по интерфейсу EVP. Плагин Bee2evp реализует EVP-интерфейсы OpenSSL поверх функций базовой криптографической библиотеки (криптоядра) Bee2. Фактически, Bee2evp является посредником между Bee2 и OpenSSL.

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

  • алгоритмы шифрования belt-ecb, belt-cbc, belt-cfb, belt-ctr (СТБ 34.101.31);
  • алгоритмы имитозащиты belt-mac, hmac-hbelt (СТБ 34.101.31, СТБ 34.101.47);
  • алгоритмы одновременного шифрования и имитозащиты belt-datawrap, belt-keywrap (СТБ 34.101.31);
  • алгоритмы хэширования belt-hash, bash (СТБ 34.101.31, СТБ 34.101.77);
  • алгоритм преобразования ключа belt-keyrep (СТБ 34.101.31);
  • алгоритм проверки параметров эллиптической кривой bign-valec (СТБ 34.101.45);
  • алгоритм генерации личного и открытого ключей bign-genkeypair (СТБ 34.101.45);
  • алгоритм проверки открытого ключа bign-valpubkey (СТБ 34.101.45);
  • алгоритмы электронной цифровой подписи bign-sign (СТБ 34.101.45);
  • алгоритмы транспорта ключа bign-keytransport (СТБ 34.101.45);
  • алгоритм построения ключа по паролю pbkdf2[hmac-hbelt] (СТБ 34.101.45).

Дополнительно Bee2evp организует работу с эллиптическими кривыми bign-curve256v1, bign-curve384v1 и bign-curve512v1 (СТБ 34.101.45), и косвенно поддерживает алгоритм построения ключа и протокол Диффи – Хеллмана, заданные в СТБ 34.101.66.

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

  • запрос на выпуск сертификата (СТБ 34.101.17);
  • сертификат открытого ключа (СТБ 34.101.19);
  • список отозванных сертификатов (СТБ 34.101.19);
  • хэшированные данные CMS (СТБ 34.101.23);
  • шифрованные данные CMS (СТБ 34.101.23);
  • подписанные данные CMS (СТБ 34.101.23);
  • конвертованные данные CMS (СТБ 34.101.23);
  • запрос и ответ OCSP (СТБ 34.101.26);
  • запрос штампа времени и собственно штамп (СТБ 34.101.ts, в разработке).

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

Плагин Bee2evp проходит опытную эксплуатацию. Мы еще не определились окончательно с моделью его распространения. Пока публикуем бинарные файлы для Win32 (включая бинарные файлы OpenSSL 1.1.0f, собранные нами самими).

Бинарные файлы (Win32, 2017-02-02): bee2evp-20170925.zip.

belt-hash(bee2evp-20170925.zip): b38d951922903e88d15155749609382f7727f44db13e65a0b417f87016fdaea0.

Дополнительно: обзор, площадка.

Новости
19.12.2024
Выборы Президента Республики Беларусь
12.12.2024
Награждение победителей конкурса
10.12.2024
Визит Министра образования
21.10.2024
Создание сектора КБ
07.05.2024
Защита диссертации
07.03.2024
План семинара весна 2024
12.02.2024
Единый день голосования
24.10.2023
II Международная научная конференция
26.05.2023
XХVIII научно-практическая конференция