В этой статье слишком много ссылок на первоисточники . ( Июль 2010 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Разработчики) | Mozilla , AOL , Red Hat , Sun Microsystems , Oracle Corporation , Google и другие | ||||
---|---|---|---|---|---|
Стабильный выпуск (ы) [±] | |||||
| |||||
Репозиторий | |||||
Написано в | C , сборка | ||||
Операционная система | Кроссплатформенность | ||||
Платформа | Кроссплатформенность | ||||
Тип | Библиотеки | ||||
Лицензия | MPL 2.0 | ||||
Веб-сайт | разработчик |
Службы сетевой безопасности ( NSS ) - это набор криптографических компьютерных библиотек, предназначенных для поддержки кроссплатформенной разработки клиентских и серверных приложений с поддержкой безопасности с дополнительной поддержкой аппаратного ускорения TLS / SSL на стороне сервера и аппаратных смарт-карт на стороне клиента. NSS предоставляет полную реализацию криптографических библиотек с открытым исходным кодом, поддерживающую Transport Layer Security (TLS) / Secure Sockets Layer (SSL) и S / MIME . Выпуски NSS до версии 3.14 имеют три лицензии в соответствии с Mozilla Public License 1.1,Стандартная общественная лицензия GNU и Стандартная общественная лицензия ограниченного применения GNU . Начиная с выпуска 3.14, выпуски NSS лицензируются под GPL-совместимой Mozilla Public License 2.0. [2]
История [ править ]
NSS произошел от библиотек, разработанных, когда Netscape изобрела протокол безопасности SSL.
Проверка FIPS 140 и тестирование NISCC [ править ]
Криптомодуль программного обеспечения NSS был аттестован пять раз (в 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 и 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 Web Server , Sun Java System Directory Server , Sun Java System Portal Server , Sun Java System Messaging Server и Sun Java System Application Server , версию 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). Протокол безопасности транспортного уровня (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 (основанная на популярном стандарте Internet MIME ), обеспечивающая единообразный способ отправки и получения подписанных и зашифрованных данных MIME.
- X.509 v3 . Стандарт ITU , регулирующий формат сертификатов, используемых для аутентификации в криптографии с открытым ключом.
- OCSP (RFC 2560). Протокол онлайн-статуса сертификата (OCSP) управляет подтверждением действительности сертификата в реальном времени.
- Сертификат PKIX и профиль CRL (RFC 3280). Первая часть стандарта из четырех частей, разрабатываемого рабочей группой IETF по инфраструктуре открытых ключей (X.509) (известной как PKIX) для инфраструктуры открытых ключей для Интернета.
- RSA , DSA , ECDSA , Diffie – Hellman , EC Diffie – Hellman , 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]
См. Также [ править ]
- Информационная безопасность
- Сравнение реализаций TLS
Ссылки [ править ]
- ^ a b «Примечания к выпуску для последних версий NSS» . Сеть разработчиков Mozilla . Проверено 25 февраля 2021 года .
- ^ «Примечания к выпуску NSS 3.14» . MDN . Сеть разработчиков Mozilla . Проверено 1 сентября 2015 .
Лицензия NSS изменена на MPL 2.0.
Предыдущие выпуски были выпущены под три-лицензией MPL 1.1 / GPL 2.0 / LGPL 2.1.
- ^ "Программа валидации криптографического модуля: Сертификат № 7" . NIST . 1997-08-29.
модуль: Netscape Security Module 1, производитель: Netscape Communications Corporation
- ^ "Программа валидации криптографических модулей: Сертификат № 248" . NIST. 2002-09-04.
модуль: Службы сетевой безопасности, поставщик: Sun Microsystems, Inc.
- ^ "Программа валидации криптографических модулей: Сертификат № 1280" . NIST. 2010-03-29.
модуль: криптографический модуль служб сетевой безопасности (NSS), поставщик: Sun Microsystems, Inc., Red Hat®, Inc. и Mozilla Foundation, Inc.
- ^ a b c "ФИПС" . Mozilla Foundation . 2007-10-11 . Проверено 3 июля 2020 .
- ^ "Фенек использует NSS?" . группа новостей mozilla.dev.security.policy . 2010-04-09 . Проверено 3 июля 2020 .
- ^ «Обзор NSS: криптографические библиотеки с открытым исходным кодом» . Mozilla . 2020-03-02 . Проверено 3 июля 2020 .
- ^ "NSS FAQ" . Mozilla . 2019-11-21 . Проверено 3 июля 2020 .
- ^ «Технологии шифрования, доступные в NSS 3.11» . Mozilla . 2007-02-26 . Проверено 3 июля 2020 .
- ^ "Список релизов" . Архивировано из оригинала на 2015-02-14.
- ^ «Улучшения AES-NI для NSS в системах Sandy Bridge» . 2012-05-02 . Проверено 17 мая 2013 .
- ^ «jss: Службы сетевой безопасности для Java - это интерфейс Java для NSS» .
Внешние ссылки [ править ]
- Официальный веб-сайт