Службы сетевой безопасности
![]() | |
Разработчик(и) | Mozilla , AOL , Red Hat , Sun Microsystems , Oracle Corporation , Google и другие. |
---|---|
Стабильная версия | 3.100 [1] ![]() |
Репозиторий | |
Написано в | С , сборка |
Операционная система | Кросс-платформенный |
Платформа | Кросс-платформенный |
Тип | Библиотеки |
Лицензия | МПЛ 2.0 |
Веб-сайт | разработчик |
Network Security Services ( NSS ) — это набор криптографических компьютерных библиотек, предназначенных для поддержки кросс-платформенной разработки клиентских и серверных приложений с поддержкой безопасности с дополнительной поддержкой аппаратного ускорения TLS/SSL на стороне сервера и аппаратных смарт-карт на стороне клиента. NSS предоставляет полную с открытым исходным кодом, реализацию криптографических библиотек поддерживающую Transport Layer Security (TLS)/ Secure Sockets Layer (SSL) и S/MIME . Выпуски NSS до версии 3.14 имеют тройную лицензию: Mozilla Public License 1.1, GNU General Public License и GNU Lesser General Public License . Начиная с версии 3.14, выпуски NSS лицензируются по GPL-совместимой общественной лицензии Mozilla 2.0. [2]
История [ править ]
NSS возник на основе библиотек, разработанных, когда Netscape изобрела протокол безопасности SSL.
Проверка FIPS 140 тестирование и NISCC
Программный криптомодуль НСС прошел валидацию пять раз (в 1997 г. [3] 1999, 2002, [4] 2007 и 2010 годы [5] ) на соответствие FIPS 140 на уровнях безопасности 1 и 2. [6] NSS была первой криптографической библиотекой с открытым исходным кодом, получившей проверку FIPS 140. [6] Библиотеки NSS прошли тестовые наборы NISCC TLS/SSL и S/MIME (1,6 миллиона тестовых случаев недопустимых входных данных). [6]
Приложения, использующие NSS [ править ]
AOL , Red Hat , Sun Microsystems / Oracle Corporation , Google и другие компании и отдельные участники совместно разработали NSS. Mozilla предоставляет хранилище исходного кода, систему отслеживания ошибок и инфраструктуру для списков рассылки и дискуссионных групп. Они и другие, упомянутые ниже, используют NSS в различных продуктах, включая следующие:
- Mozilla Клиентские продукты , включая Firefox , Thunderbird , SeaMonkey и Firefox для мобильных устройств . [7]
- AOL Communicator и AOL Instant Messenger (AIM)
- Клиентские приложения с открытым исходным кодом, такие как Evolution , Pidgin и OpenOffice.org 2.0 и более поздних версий (и его потомки).
- Серверные продукты от Red Hat : Red Hat Directory Server , Red Hat Certificate System и модуль mod nss SSL для веб-сервера Apache .
- Серверные продукты Sun из Sun Java Enterprise System , включая веб-сервер Sun Java System , сервер каталогов Sun Java System , сервер портала Sun Java System , сервер сообщений Sun Java System и сервер приложений Sun Java System , версию сервера каталогов OpenDS с открытым исходным кодом .
- Libreswan IKE/IPsec требует NSS. Это форк Openswan, который опционально может использовать NSS.
Архитектура [ править ]
NSS включает в себя структуру, в которую разработчики и OEM-производители могут вносить исправления, например ассемблерный код, для оптимизации производительности на своих платформах. Mozilla сертифицировала NSS 3.x на 18 платформах. [8] [9] NSS использует Netscape Portable Runtime (NSPR), нейтральный к платформе API с открытым исходным кодом для системных функций, предназначенный для облегчения кросс-платформенной разработки. Как и NSS, NSPR активно используется во многих продуктах.
Комплект разработки программного обеспечения [ править ]
Помимо библиотек и API, NSS предоставляет инструменты безопасности, необходимые для отладки, диагностики, управления сертификатами и ключами, управления криптографическими модулями и других задач разработки. NSS поставляется с обширным и постоянно растущим набором документации, включая вводные материалы, ссылки на API, man
страницы для инструментов командной строки и пример кода.
Программисты могут использовать NSS в качестве исходных и общих (динамических) библиотек. Каждый выпуск NSS обратно совместим с предыдущими выпусками, что позволяет пользователям NSS обновляться до новых общих библиотек NSS без перекомпиляции или повторного связывания своих приложений.
совместимость и Функциональная открытые стандарты
NSS поддерживает ряд стандартов безопасности, включая следующие: [10] [11]
- TLS 1.0 (RFC 2246), 1.1 (RFC 4346), 1.2 (RFC 5246) и 1.3 (RFC 8446). Протокол Transport Layer Security (TLS) от IETF заменяет SSL v3.0, оставаясь при этом обратно совместимым с реализациями SSL v3.
- SSL 3.0. Протокол Secure Sockets Layer (SSL) обеспечивает взаимную аутентификацию между клиентом и сервером и установление аутентифицированного и зашифрованного соединения.
- DTLS 1.0 (RFC 4347) и 1.2 (RFC 6347).
- DTLS-SRTP (RFC 5764).
- Следующие стандарты PKCS :
- ПККС №1. Стандарт RSA, регулирующий реализацию криптографии с открытым ключом на основе алгоритма RSA.
- ПККС №3. Стандарт RSA, регулирующий реализацию ключевого соглашения Диффи-Хеллмана.
- ПКС №5. Стандарт RSA, который управляет криптографией на основе паролей, например, для шифрования закрытых ключей для хранения.
- ПКС №7. Стандарт RSA, регулирующий применение криптографии к данным, например цифровым подписям и цифровым конвертам.
- ПКС №8. Стандарт RSA, регулирующий хранение и шифрование закрытых ключей.
- ПКС №9. Стандарт RSA, который управляет выбранными типами атрибутов, включая те, которые используются с PKCS #7, PKCS #8 и PKCS #10.
- ПКС №10. Стандарт RSA, определяющий синтаксис запросов сертификатов.
- ПКС №11. Стандарт RSA, который управляет связью с криптографическими токенами (такими как аппаратные ускорители и смарт-карты) и обеспечивает независимость приложений от конкретных алгоритмов и реализаций.
- ПКС №12. Стандарт RSA, определяющий формат, используемый для хранения или транспортировки закрытых ключей, сертификатов и других секретных материалов.
- Синтаксис криптографического сообщения , используемый в S/MIME (RFC 2311 и RFC 2633). Спецификация сообщений IETF (основанная на популярном Интернет- стандарте MIME ), обеспечивающая согласованный способ отправки и получения подписанных и зашифрованных данных MIME.
- Х.509 v3 . Стандарт ITU , определяющий формат сертификатов, используемых для аутентификации в криптографии с открытым ключом.
- OCSP (RFC 2560). Протокол статуса онлайн-сертификата (OCSP) управляет подтверждением действительности сертификата в режиме реального времени.
- Сертификат PKIX и профиль CRL (RFC 3280). Первая часть четырехчастного стандарта, разрабатываемого рабочей группой IETF по инфраструктуре открытых ключей (X.509) (известного как PKIX) для инфраструктуры открытых ключей для Интернета.
- RSA , DSA , ECDSA , Диффи-Хеллмана , EC Диффи-Хеллмана , AES , Triple DES , Camellia , IDEA , SEED , DES , RC2 , RC4 , SHA-1 , SHA-256, SHA-384, SHA-512 , MD2 , MD5 , HMAC : общие криптографические алгоритмы, используемые в криптографии с открытым и симметричным ключом.
- FIPS 186-2 Генератор псевдослучайных чисел .
Аппаратная поддержка [ править ]
NSS поддерживает интерфейс PKCS #11 для доступа к криптографическому оборудованию, такому как ускорители TLS/SSL , аппаратные модули безопасности и смарт-карты . Поскольку большинство поставщиков оборудования, таких как SafeNet , AEP и Thales, также поддерживают этот интерфейс, приложения с поддержкой NSS могут работать с высокоскоростным криптографическим оборудованием и использовать закрытые ключи, находящиеся на различных смарт-картах, если поставщики предоставляют необходимое промежуточное программное обеспечение. NSS версии 3.13 и выше поддерживает новые инструкции расширенного стандарта шифрования (AES-NI). [12]
Поддержка Java [ править ]
Службы сетевой безопасности для Java (JSS) представляют собой интерфейс Java для NSS. Он поддерживает большинство стандартов безопасности и технологий шифрования, поддерживаемых NSS. JSS также предоставляет чистый интерфейс Java для типов ASN.1 и кодирования BER / DER . [13]
См. также [ править ]
Ссылки [ править ]
- ^ «Добавить примечания к выпуску для версии 3.100» .
- ^ «Примечания к выпуску NSS 3.14» . МДН . Сеть разработчиков Mozilla . Проверено 1 сентября 2015 г.
Лицензия NSS изменена на MPL 2.0. Предыдущие выпуски были выпущены под тройной лицензией MPL 1.1/GPL 2.0/LGPL 2.1.
- ^ «Программа проверки криптографического модуля: сертификат №7» . НИСТ . 29 августа 1997 г.
модуль: Модуль безопасности Netscape 1, поставщик: Netscape Communications Corporation
- ^ «Программа проверки криптографического модуля: сертификат № 248» . НИСТ. 04 сентября 2002 г.
модуль: Network Security Services, поставщик: Sun Microsystems, Inc.
- ^ «Программа проверки криптографического модуля: сертификат № 1280» . НИСТ. 29 марта 2010 г.
модуль: Криптографический модуль Network Security Services (NSS), поставщик: Sun Microsystems, Inc., Red Hat®, Inc. и Mozilla Foundation, Inc.
- ↑ Перейти обратно: Перейти обратно: а б с «ФИПС» . Фонд Мозилла . 11 октября 2007 г. Проверено 3 июля 2020 г.
- ^ «Использует ли Феннек NSS?» . Группа новостей mozilla.dev.security.policy . 9 апреля 2010 г. Проверено 3 июля 2020 г.
- ^ «Обзор NSS: криптобиблиотеки с открытым исходным кодом» . Мозилла . 2020-03-02 . Проверено 3 июля 2020 г.
- ^ «Часто задаваемые вопросы НСС» . Мозилла . 21.11.2019 . Проверено 3 июля 2020 г.
- ^ «Технологии шифрования, доступные в NSS 3.11» . Мозилла . 26 февраля 2007 г. Проверено 3 июля 2020 г.
- ^ «Список релизов» . Архивировано из оригинала 14 февраля 2015 г.
- ^ «Усовершенствования AES-NI для NSS в системах Sandy Bridge» . 2 мая 2012 г. Проверено 17 мая 2013 г.
- ^ «jss: Службы сетевой безопасности для Java — это интерфейс Java для NSS» .