1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhfgu-TASSL

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
FAQ
Loading...
README.md

TASSL

Поддержка криптографических сертификатов и протоколов Государственной системы коммерческих криптоалгоритмов компанией Beijing Jiangnan Tianan Technology Co., Ltd.

OpenSSL — это набор открытых исходных кодов библиотек для криптографии, включающий основные криптографические алгоритмы, функции управления ключами и сертификатами, а также протоколы SSL/TLS. Он предоставляет богатый набор API для использования в разработке, тестировании или других целях. OpenSSL широко интегрирован в различных операционных системах и используется как базовый компонент, любимый многими любителями IT. Даже если некоторые операционные системы не включают его как компонент, его легко можно скомпилировать и использовать, скачав исходный код.

Хотя функциональность OpenSSL и обширна, она далека от китайской коммерческой криптографической системы, так как включает только международные стандартные криптографические алгоритмы, системы аутентификации и протоколы, но не поддерживает китайские открытые алгоритмы SM2, SM3, SM4 и другие криптографические алгоритмы. Это создает проблемы для любителей криптографии, которые хотят продвигать и изучать китайскую коммерческую криптографическую систему.В Китае есть много специалистов по криптографии, которые пытаются адаптировать OpenSSL для использования с криптографическими сертификатами Государственной системы коммерческих криптоалгоритмов, но большинство таких попыток ограничиваются внутренним использованием в компаниях, что затрудняет продвижение таких решений. В ответ на эту ситуацию компания Beijing Jiangnan Tianan провела длительное исследование и в первой половине 2017 года выпустила версию OpenSSL, поддерживающую китайскую коммерческую криптографическую систему, известную как TaSSL. Это решение позволяет решить проблему отсутствия поддержки китайской коммерческой криптографической системы в OpenSSL. Компания предоставляет исходный код для использования и исследования, чтобы способствовать продвижению и применению криптографических сертификатов Государственной системы коммерческих криптоалгоритмов.### (1) Функциональные особенности Tianan TaSSL

  1. Включить в OpenSSL криптографические алгоритмы ГНУЦ (SM2, SM3, SM4) и криптографическую последовательность Цзу Чжун-Цзы и пометить их OID, строго соблюдая требования ГОСТ Р 34.10-2012 «Нормы и правила применения криптографических алгоритмов»;
  2. Включить SM2 в качестве встроенной кривой EC, что позволяет использовать ECDSA и ECDH для подписи и обмена ключами соответственно;
  3. Использовать функции EVP_DigestSignInit, EVP_DigestSignUpdate, EVP_DigestSignFinal, EVP_DigestVerifyInit, EVP_DigestVerifyUpdate, EVP_DigestVerifyFinal для автоматизированного и умного выполнения процесса подписи и проверки подписи SM2;
  4. Реализовать алгоритм шифрования с открытым ключом SM2, а также добавить в OpenSSL алгоритм шифрования с открытым ключом ECIES для шифрования ключей по международным кривым EC;
  5. Реализовать использование алгоритма SM1 с помощью движка;
  6. Реализовать криптографические наборы TLSv1.1 для ГНУЦ, описанные в ГОСТ Р 34.11-2014 «Технический стандарт SSL-VPN»;
  7. Добавить поддержку двойных сертификатов для коммерческой криптографической системы Китая;
  8. Улучшить поддержку командной строки OpenSSL для алгоритмов коммерческой криптографической системы Китая;
  9. Улучшить поддержку X509 для коммерческой криптографической системы Китая.

(2) Добавленные и улучшенные API в TianAnTaSSL#### API, связанные с криптографией

  1. EVP_sm3(): функция-указатель на вызов EVP для алгоритма SM3.
  2. EVP_sm4(), EVP_sm4_cbc(): функции-указатели на вызов EVP для симметричного шифрования SM4 в режиме CBC.
  3. EVP_sm4_cfb(): функция-указатель на вызов EVP для симметричного шифрования SM4 в режиме CFB.
  4. EVP_sm4_ecb(): функция-указатель на вызов EVP для симметричного шифрования SM4 в режиме ECB.
  5. EVP_sm4_ofb(): функция-указатель на вызов EVP для симметричного шифрования SM4 в режиме OFB.
  6. Функции серии EVP_PKEY: улучшены для вызова алгоритма SM2.
  7. EVP_DigestSignInit(), EVP_DigestVerifyInit(): улучшены для вычисления значения Z при подписи SM2.
  8. EVP_PKEY_CTX_set_sm2_peer_id(): устанавливает идентификатор и длину идентификатора для стороны, с которой происходит согласование ключей SM2.
  9. EVP_PKEY_CTX_set_sm2_self_id(): устанавливает идентификатор и длину идентификатора для стороны, которая согласовывает ключи SM2.
  10. EVP_PKEY_CTX_set_sm2_server_tag(): устанавливает идентификатор сервера или клиента для согласования ключей SM2.
  11. EVP_PKEY_CTX_set_sm2_peer_ecdhe(): устанавливает временное публичное ключевое значение SM2 для стороны, с которой происходит согласование ключей.
  12. EVP_PKEY_CTX_gen_sm2_ecdhe_key(): генерирует и получает временное ключевое значение SM2 для стороны, которая согласовывает ключи.
  13. EVP_PKEY_CTX_get_sm2_ecdhe_key(): получает временное ключевое значение SM2 для стороны, которая согласовывает ключи. 14.EVP_PKEY_CTX_set_sm2_ecdhe_key(): устанавливает временное ключевое значение SM2 для стороны, которая согласовывает ключи.
  14. EVP_PKEY_CTX_set_sm2_encdata_format(): устанавливает формат зашифрованных данных для вызова функций EVP_PKEY, где формат 0 соответствует DER-кодировке, то есть стандарту SM2; не 0 соответствует двоичному формату C1C3C2.
  15. Функции серии ECDSA: улучшены для вызова алгоритмов подписи и проверки подписи SM2.
  16. ECDSA_sm2_get_Z(): вычисляет значение Z для алгоритма подписи SM2. Подробности см. раздел 5.5 документа GMT 0003-2012 "Дополнительная информация пользователя".
  17. ECDH_compute_key(): улучшена для вызова согласования ключей SM2.
  18. SM2Kap_compute_key(): функция вычисления общего ключа для TLSv1.1 по стандарту ГОСТ.
  19. SM3(), SM3_Init(), SM3_Transform(), SM3_Update(), SM3_Final(): функции серии алгоритма SM3.
  20. SM4_set_key(), SM4_encrypt(), SM4_decrypt(), SM4_ecb_encrypt(), SM4_cbc_encrypt(), SM4_cfb_encrypt(), SM4_ofb_encrypt(): функции серии алгоритма SM4.
  21. sm2_encrypt(), sm2_decrypt(), sm2_do_sign(), sm2_do_verify(), i2d_sm2_enc(), d2i_sm2_enc(): функции подписи, проверки подписи, шифрования и расшифрования для алгоритма SM2.
  22. EVP_sm1(), EVP_sm1_cbc(), EVP_sm1_cfb(), EVP_sm1_ecb(), EVP_sm1_ofb(): зарезервированные функции для алгоритма SM1, используемые для реализации алгоритма SM1 с помощью движка. #### API, связанные с SSL
  23. CNTLS_client_method(): Получает методы SSL/TLS, соответствующие стандарту ГОСТ TLSv1.1, для использования клиентом при установлении соединения и передаче данных с использованием стандартного протокола TLSv1.1; 2.SSL_CTX_check_enc_private_key(), SSL_check_enc_private_key(), SSL_use_enc_PrivateKey(), SSL_use_enc_PrivateKey_ASN1(), SSL_CTX_use_enc_PrivateKey(), SSL_CTX_use_enc_PrivateKey_ASN1(), SSL_use_enc_PrivateKey_file(), SSL_CTX_use_enc_PrivateKey_file()

Функции, добавленные для поддержки двойной сертификации ГОСТ.### (3) Использование TASSL

  1. Открытая версия основана на OpenSSL 1.0.2o, 27 марта 2018 года;
  2. Вопросы разработки, компиляции, тестирования сертификатов и синхронизации с браузером 360 ГОСТ могут быть найдены в разделе Issues;
  3. Основная цель нашего открытия — продвижение и применение алгоритмов ГОСТ, чтобы все вокруг знали о TASSL, и чтобы больше компаний и людей использовали TASSL, создавая активное сообщество и расширяя применение алгоритмов ГОСТ.

(4) О компании Tianan Jiangnan

Адрес: 11-й этаж, офис 1110, здание Jin'ao International, 17 Maodian East Road, район Хай뎬, Пекин, Китай

Почтовый индекс: 100088

Телефон: 010-82326383

Факс: 010-82328039

Электронная почта: tassl@tass.com.cn

Веб-сайт: www.tass.com.cn

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Поддержка государственных шифров SM2, SM3, SM4 и государственного протокола OpenSSL в TASSL Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zhfgu-TASSL.git
git@api.gitlife.ru:oschina-mirror/zhfgu-TASSL.git
oschina-mirror
zhfgu-TASSL
zhfgu-TASSL
master