네트워크 보안 서비스
Network Security Services![]() | |||||
개발자 | Mozilla, AOL, Red Hat, Sun Microsystems, Oracle Corporation, Google 등 | ||||
---|---|---|---|---|---|
안정된 릴리스 [±] | |||||
| |||||
저장소 | |||||
기입처 | C, 어셈블리 | ||||
운영 체제 | 크로스 플랫폼 | ||||
플랫폼 | 크로스 플랫폼 | ||||
유형 | 라이브러리 | ||||
면허증. | MPL 2.0 | ||||
웹 사이트 | developer |
네트워크 보안 서비스(NSS)는 서버 측에서 하드웨어 TLS/SSL 액셀러레이션을 옵션으로 지원하고 클라이언트 측에서 하드웨어 스마트 카드를 지원함으로써 보안을 지원하는 클라이언트 및 서버 응용 프로그램의 크로스 플랫폼 개발을 지원하도록 설계된 암호화 컴퓨터 라이브러리 모음입니다.NSS는 TLS(Transport Layer Security)/Secure Sockets Layer(SSL) 및 S/MIME을 지원하는 암호화 라이브러리의 완전한 오픈 소스 구현을 제공합니다.버전 3.14 이전의 NSS 릴리스는 Mozilla Public License 1.1, GNU General Public Lic Lic License 및 GNU Lic License에 따라 트라이얼 라이선스가 부여되어 있습니다.릴리스 3.14 이후 NSS 릴리스는 GPL 호환 Mozilla Public License 2.0으로 [2]라이선스가 부여되었습니다.
역사
NSS는 Netscape가 SSL 보안 프로토콜을 발명했을 때 개발된 라이브러리에서 비롯되었다.
FIPS 140 검증 및 NISCC 테스트
NSS 소프트웨어 암호화 모듈은 보안 레벨1 및 [6]2에서 FIPS 140에 준거하고 있는지5회(1997년,[3] 1999년, 2002년,[4] 2007년[5] 및 2010년) 검증되었습니다.NSS는 FIPS 140 [6]검증을 받은 최초의 오픈 소스 암호화 라이브러리입니다.NSS 라이브러리는 NISCC TLS/SSL 및 S/MIME 테스트 스위트를 통과했습니다(160만 건의 무효 입력 [6]데이터 테스트 케이스).
NSS를 사용하는 응용 프로그램
AOL, Red Hat, Sun Microsystems/Oracle Corporation, Google 및 기타 기업과 개인 기부자는 NSS를 공동 개발했습니다.Mozilla는 메일링 리스트와 토론 그룹을 위한 소스 코드 저장소, 버그 추적 시스템 및 인프라스트럭처를 제공합니다.다음과 같은 다양한 제품에 NSS를 사용하고 있습니다.
- Firefox, Thunderbird, SeaMonkey 및 [7]모바일용 Firefox를 포함한 Mozilla 클라이언트 제품.
- AOL Communicator 및 AOL Instant Messenger(AIM)
- Evolution, Pidgin, OpenOffice.org 2.0 등의 오픈소스 클라이언트애플리케이션(및 그 하위 어플리케이션)
- Red Hat: Red Hat Directory Server, Red Hat Certificate System 및 Apache 웹 서버용 mod nss SSL 모듈의 서버 제품.
- 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를 포함한 Sun Java Enterprise 시스템의 Sun 서버 제품은 Directory Server OpenDS의 오픈 소스 버전입니다.
- Libreswan IKE/IPSec에는 NSS가 필요합니다.옵션으로 NSS를 사용할 수 있는 Openswan의 포크입니다.
아키텍처
NSS에는 개발자 및 OEM이 어셈블리 코드 등의 패치를 제공하여 플랫폼 성능을 최적화할 수 있는 프레임워크가 포함되어 있습니다.Mozilla는 18개의 플랫폼에서 [8][9]NSS 3.x를 인증했습니다.NSS는 교차 플랫폼 개발을 용이하게 하도록 설계된 시스템 기능을 위한 플랫폼 중립 오픈 소스 API인 Netscape Portable Runtime(NSPR)을 사용합니다.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)입니다.IETF의 Transport Layer Security(TLS; 트랜스포트층 보안) 프로토콜은 SSL v3.0을 대체하고 SSL v3 구현과의 하위 호환성을 유지합니다.
- SSL 3.0SSL(Secure Sockets Layer) 프로토콜을 사용하면 클라이언트와 서버 간의 상호 인증 및 인증된 암호화 연결 확립이 가능합니다.
- DTLS 1.0(RFC 4347) 및 1.2(RFC 6347)
- DTLS-SRTP(RFC 5764).
- 다음 PKCS 표준:
- PKCS #1. RSA 알고리즘을 기반으로 한 공개 키 암호화 구현을 관리하는 RSA 표준.
- PKCS #3. Diffie 구현을 관리하는 RSA 표준:Hellman 키 계약서.
- PKCS #5. 암호 기반 암호화를 관리하는 RSA 표준(예: 저장용 개인 키 암호화).
- PKCS #7. 데이터에 대한 암호화 애플리케이션(예: 디지털 서명 및 디지털 봉투)을 관리하는 RSA 표준.
- PKCS #8. 개인 키의 저장 및 암호화를 관리하는 RSA 표준.
- PKCS #9. PKCS #7, PKCS #8 및 PKCS #10에서 사용되는 Atribute 유형을 관리하는 RSA 표준.
- PKCS #10. 증명서 요구 구문을 관리하는 RSA 표준.
- PKCS #11. 암호화 토큰(하드웨어 액셀러레이터 및 스마트 카드 등)과의 통신을 제어하고 특정 알고리즘 및 구현으로부터 애플리케이션을 독립시킬 수 있는 RSA 표준입니다.
- PKCS #12. 개인 키, 증명서 및 기타 비밀 자료의 저장 또는 전송에 사용되는 형식을 규정하는 RSA 표준.
- S/MIME에서 사용되는 암호화 메시지 구문(RFC 2311 및 RFC 2633)IETF 메시지 사양(일반적인 인터넷 MIME 표준에 근거).서명 및 암호화된 MIME 데이터를 일관되게 송수신 하는 방법을 제공합니다.
- X.509 v3공개키 암호화에 있어서의 인증에 사용되는 증명서의 형식을 규정하는 ITU 표준.
- OCSP(RFC 2560).Online Certificate Status Protocol(OCSP)은 증명서의 유효성을 실시간으로 확인합니다.
- PKIX 증명서와 CRL 프로파일(RFC 3280).인터넷용 공개키 인프라스트럭처용 IETF(PKIX)의 공개키 인프라스트럭처(X.509) 작업그룹이 개발 중인 4부 표준 중 첫 번째 부분.
- RSA, DSA, ECDSA, Diffie-Hellman, EC Diffie-Hellman, AES, Triple DES, Camelia, IDEA, SEED, DES, RC2, RC4, SHA-1, SHA-256, SHA-384, SHA-512, MD2, MD5, HMAC: 공개키 및 대칭키 암호화에 사용되는 공통 암호화 알고리즘.
- FIPS 186-2 의사난수 생성기
하드웨어 지원
NSS는 TLS/SSL 액셀러레이터, 하드웨어 보안 모듈, 스마트 카드 등의 암호화 하드웨어에 액세스하기 위한 PKCS #11 인터페이스를 지원합니다.SafeNet, AEP, Thales 등 대부분의 하드웨어 벤더도 이 인터페이스를 지원하므로 벤더가 필요한 미들웨어를 제공하는 경우 NSS 대응 애플리케이션은 고속 암호화 하드웨어로 동작하여 다양한 스마트카드에 있는 개인 키를 사용할 수 있습니다.NSS 버전 3.13 이후에서는 Advanced Encryption Standard New Instructions(AES-NI)[12]가 지원됩니다.
Java 지원
Network Security Services for Java(JSS)는 NSS에 대한 Java 인터페이스로 구성됩니다.NSS가 지원하는 대부분의 보안 표준 및 암호화 기술을 지원합니다.JSS는 ASN.1 유형 및 BER/DER 인코딩을 [13]위한 순수 Java 인터페이스도 제공합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b "NSS:Release versions". Mozilla Wiki. Retrieved 8 June 2022.
- ^ "NSS 3.14 release notes". MDN. Mozilla Developer Network. Retrieved 2015-09-01.
The NSS license has changed to MPL 2.0. Previous releases were released under a MPL 1.1/GPL 2.0/LGPL 2.1 tri-license.
- ^ "Cryptographic Module Validation Program: Certificate #7". NIST. 1997-08-29.
module:Netscape Security Module 1, vendor: Netscape Communications Corporation
- ^ "Cryptographic Module Validation Program: Certificate #248". NIST. 2002-09-04.
module: Network Security Services, vendor: Sun Microsystems, Inc.
- ^ "Cryptographic Module Validation Program: Certificate #1280". NIST. 2010-03-29.
module: Network Security Services (NSS) Cryptographic Module, vendor: Sun Microsystems, Inc., Red Hat®, Inc. and Mozilla Foundation, Inc.
- ^ a b c "FIPS". Mozilla Foundation. 2007-10-11. Retrieved 2020-07-03.
- ^ "Does Fennec use NSS?". mozilla.dev.security.policy newsgroup. 2010-04-09. Retrieved 2020-07-03.
- ^ "Overview of NSS: Open Source Crypto Libraries". Mozilla. 2020-03-02. Retrieved 2020-07-03.
- ^ "NSS FAQ". Mozilla. 2019-11-21. Retrieved 2020-07-03.
- ^ "Encryption Technologies Available in NSS 3.11". Mozilla. 2007-02-26. Retrieved 2020-07-03.
- ^ "Releases List". Archived from the original on 2015-02-14.
- ^ "AES-NI enhancements to NSS on Sandy Bridge systems". 2012-05-02. Retrieved 2013-05-17.
- ^ "jss: Network Security Services for Java is a Java interface to NSS".