Введение

Сетевые службы безопасности (NSS) - это коллекция криптографических компьютерных библиотек, предназначенных для поддержки кроссплатформенной разработки клиентских и серверных приложений с поддержкой аппаратного ускорения TLS / SSL на стороне сервера и аппаратных смарт-карт на стороне клиента. NSS предоставляет полную реализацию криптографических библиотек с открытым исходным кодом, поддерживающих Transport Layer Security (TLS) / Secure Sockets Layer (SSL) и S/MIME. Выпуски NSS до версии 3.14 лицензируются под общественной лицензией Mozilla 1.1, общественной лицензией GNU и общественной лицензией GNU Lesser. С релиза 3.14, релизы NSS лицензируются под совместимой с GPL Mozilla Public License 2.0.

История

NSS возникла из библиотек, разработанных, когда Netscape изобрел протокол безопасности SSL.

Архитектура

NSS включает в себя структуру, в которую разработчики и производители OEM могут вносить патчи, такие как сборочный код, для оптимизации производительности на своих платформах. Mozilla сертифицировала NSS 3. x на 18 платформах. NSS использует Netscape Portable Runtime (NSPR), нейтральный для платформы API с открытым исходным кодом для системных функций, предназначенных для облегчения кроссплатформенной разработки. Как и NSS, NSPR широко используется в нескольких продуктах.

Комплект разработки программного обеспечения

В дополнение к библиотекам и API, NSS предоставляет инструменты безопасности, необходимые для отладки, диагностики, управления сертификатами и ключами, управления модулями криптографии и других задач разработки. NSS поставляется с обширным и растущим набором документации, включая вводный материал, ссылки на API, страницы руководства для инструментов командной строки и примерный код. Программисты могут использовать NSS как исходные и как общие (динамические) библиотеки. Каждый выпуск NSS является обратной совместимым с предыдущими выпусками, что позволяет пользователям NSS обновлять свои приложения до новых NSS-библиотек без повторной компиляции или перессылки.

Поддержка оборудования

NSS поддерживает интерфейс PKCS #11 для доступа к криптографическому оборудованию, такому как ускорители TLS/SSL, модули безопасности оборудования и смарт-карты. Поскольку большинство поставщиков оборудования, таких как SafeNet, AEP и Thales, также поддерживают этот интерфейс, приложения с поддержкой NSS могут работать с высокоскоростным крипто-аппаратурой и использовать частные ключи, находящиеся на различных смарт-картах, если поставщики предоставляют необходимое среднее ПО. Версия NSS 3.13 и выше поддерживает Advanced Encryption Standard New Instructions (AES NI).

Поддержка Java

Сервисы сетевой безопасности для Java (JSS) состоят из интерфейса Java для NSS. Он поддерживает большинство стандартов безопасности и технологий шифрования, поддерживаемых NSS. JSS также предоставляет чистый интерфейс Java для типов ASN.1 и кодирования BER/DER.