WolfSSL

WolfSSL
개발자Todd Ouska
발표일2006년 2월 19일 (2006-02-19)[1]
안정화 버전
5.9.2[2] 위키데이터에서 편집하기 / 2026년 6월 25일
저장소
프로그래밍 언어C
운영 체제멀티 플랫폼
종류보안 라이브러리
라이선스GNU GPLv2 또는 상용 라이선스[3][4]
웹사이트wolfssl.com

wolfSSL (이전 이름 CyaSSL)는 임베디드 시스템 개발자의 사용을 타겟으로 한 소형의 휴대성 좋은 내장 SSL / TLS 라이브러리이다. C 언어 로 작성된 TLS (SSL 3.0 TLS 1.0, 1.1, 1.2, 1.3, DTLS 1.0, 1.2)의 오픈 소스를 구현한다. SSL / TLS 클라이언트 라이브러리 및 서버 라이브러리를 포함, SSLTLS에서 정의 된 다양한 API 외에 지원한다. 또한 OpenSSL에서 주로 사용되는 함수와 호환[5]의 인터페이스를 제공하고있다.

wolfSSL / CyaSSL의 전신 인 yaSSL는 임베디드 환경과 자원의 한정된 리얼 타임 OS를 위한 C ++ 로 작성된 SSL 라이브러리이다.

플랫폼

wolfSSL는 Win32 / 64, Linux, macOS, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, 임베디드 Linux, Haiku, OpenWrt, iPhone, Android, Nintendo WiiGamecube는 DevKitPro 통하며 QNX, MontaVista, Tron variants, NonStop, OpenCL, Micrium의 MicroC / OS-II, FreeRTOS, SafeRTOS, 프리 스케일 MQX, Nucleus, TinyOS, TI-RTOS, HP-UX, uTasker 및 embOS에서 이용 가능하다.

역사

yaSSL의 시작은 2004년으로 거슬러 올라간다. 2004년 당시 OpenSSL 가 가능했고, 그 라이센스는 OpenSSL LicenseSSLeay license의 듀얼 라이센스[6]라는 것이 독특한 것이었다. yaSSL은 상용 라이선스와 GPL로 듀얼 라이센스에서 사용할 수 있는 OpenSSL의 대안으로 개발되었다[7] . yaSSL는 더 정교한 API 상용 개발의 지원, OpenSSL과의 완벽한 호환성을 제공했다[5]. wolfSSL/CyaSSL/yaSSL의 첫 시작은 MySQL[8]에서 이용되었다. 이 결과, yaSSL은 MySQL과의 번들링을 통해 수백만 단위의 매우 높은 보급을 실현했다.

프로토콜

자세한 내용은 Transport Layer Security를 참조

wolfSSL는 다음의 다양한 프로토콜을 실현하고있다 :[9]

·        SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3

·        DTLS 1.0, DTLS 1.2

프로토콜 Notes:

·        SSL 2.0은 RFC 6176 에 의해 2011년 폐지되었다. WolfSSL은 이를 서포트하지 않는다.

·        SSL 3.0은 RFC 7568 에 의해 2015년 폐지되었다. POODLE 공격에 대응하여, SSL 3.0은 wolfSSL 3.3.6 이후 기본적으로 비활성화되었으나, 컴파일 시간 옵션으로 사용될 수 있다.[10]

알고리즘

wolfSSL는 다음의 암호화 라이브러리를 사용하고있다 :

wolfCrypt

기본적으로 wolfSSL 표준에서는 wolfCrypt에서 제공되는 암호화 서비스를 사용한다.[11] wolfCrypt은 RSA, 타원 곡선 암호, DSS, Diffie Hellman, EDH, NTRU, DES, Triple DES, AES ( CBC, CTR , CCM , GCM ) Camellia, IDEA, ARC4, HC-128, ChaCha20, MD2, MD4, MD5, SHA-1, SHA-2, BLAKE2, RIPEMD-160, Poly1305, 난수 생성 , 대규모 정수 연산베이스 16/64 인코딩 / 디코딩을 지원한다. 유럽의 eSTREAM 공용 도메인 스트림 암호 Rabbit 도 포함되어있다. Rabbit은 고성능, 높은 부하 환경에서의 암호화 스트리밍 미디어에 잠재적으로 유용성이 있다. wolfCrypt는 SSL의 일종을 위해 필요한 기능에 특화하는 한편, 최대한의 이식성을 얻을 수 있도록 배려되어있다.

wolfCrypt는 또한 Curve25519Ed25519을 지원한다.

wolfCrypt는 MIT Kerberos[12](빌드 옵션 사용)를 포함하여 몇 가지 소프트웨어 패키지와 라이브러리의 백엔드 암호화 구현으로 활약하고있다.

NTRU

CyaSSL +에는 NTRU[13] 공개 키 암호화가 포함되어 있다. CyaSSL +에의 NTRU의 추가는 yaSSL과 Security Innovation의 파트너십의 결과였다.[13] NTRU는 다른 공개 키 암호화와 같은 수준의 보안을 작은 비트 수로 제공하므로 모바일 및 임베디드 환경에서 잘 작동한다. 게다가 TRU 또는quantum attack에 대해서도 취약점이 알려져 있지 않다. TRU를 사용하하는 암호화 세트는 CyaSSL + 을 비롯하여 AES-256, RC4 또는 HC-128 등에서 사용 가능하다.

SGX

wolfSSL는 인텔 SGX (소프트웨어 보호 확장)[14]을 지원한다. 인텔 SGX는 공격 대상 영역을 줄이고 기존의 코드에서 눈에 띄는 성능 저하 없이 높은 수준의 안전성을 확보하고있다.

암호화 하드웨어 가속 지원

Intel AES-NI (Xeon 및 Core 프로세서 제품군)

AES - GCM 128, 192, 256 bit
AES -CCM 128, 192, 256 bit
AES -CBC 128, 192, 256 bit
AES -ECB 128, 192, 256 bit
AES -CTR 128, 192, 256 bit

AVX1 / AVX2 (Intel 및 AMD x86)

SHA-256
SHA-384
SHA-512

RDRAND (Intel 64 IA-32 아키텍처)

SHA-256
SHA-512

RDSEED (Intel Broadwell, AMD Zen)

SHA-256
SHA-512

Freescale Coldfire SEC 보관됨 2017-03-16 - 웨이백 머신 (NXP MCF547X 및 MCF548X)

DES -CBC 64 bit
3DES -CBC 192 bit
AES -CBC 128, 192, 256 bit

Freescale Kinetis MMCAU 보관됨 2017-03-16 - 웨이백 머신 K50, K60, K70 및 K80 (ARM Cortex-M4 core)

MD5 128 bit digest
SHA1 160 bit digest
SHA256
DES-CBC 64 bit
3DES -CBC 192 bit
AES -CBC 128, 192, 256 bit
AES -CCM 128, 192, 256 bit
AES - GCM 128, 192, 256 bit
AES -ECB 128, 192, 256 bit

ST 마이크로 일렉트로닉스 STM32 F1, F2, F4, L1, W 시리즈 (ARM Cortex - M3 / M4)

RNG
DES -CBC 64 bit
DES -ECB 64 bit Encrypt
3DES -CBC 192 bit
MD5 128 bit
SHA1 160 bit
AES -CBC 128, 192, 256 bit
AES -CTR 128, 192, 256 bit

CubeMXStd Per Lib

Cavium NITROX (III / V PX 프로세서)

RNG
AES -CBC 128, 192, 256 bit
3DES -CBC 192 bit
RC4 2048 bit 최대
HMAC MD5 , SHA1 , SHA256 , SHA3
RSA 512 - 4096 bit
ECC NIST Prime 192, 224, 256, 384 and 521

Microchip PIC32 MX / MZ (Embedded Connectivity)

MD5 128 bit digest
SHA1 160 bit digest
SHA256
HMAC MD5 , SHA1 , SHA256
DES -CBC 64 bit
3DES -CBC 192 bit
AES -CBC 128, 192, 256 bit
AES -CTR 128, 192, 256 bit
AES - GCM 128, 192, 256 bit

Texas Instruments TM4C1294 (ARM Cortex-M4F)

DES -CBC 64 bit
3DES -CBC 192 bit
AES -CCM 128, 192, 256 bit
AES - GCM 128, 192, 256 bit
AES -ECB 128, 192, 256 bit
AES -CTR 128, 192, 256 bit
AES -CBC 128, 192, 256 bit

Nordic NRF51 (Series SoC family 32-bit ARM Cortex M0 processor core)

AES -ECB 128 bit
RNG

Microchip / Atmel ATECC508A (MPU 또는 MCU 호환)

ECC 256 bit (NIST-P256)

ARMv8 보관됨 2011-11-11 - 웨이백 머신

AES -CBC 128, 192, 256 bit
AES -CTR 128, 192, 256 bit
AES - GCM 128, 192, 256 bit
SHA256

Intel QuickAssist 기술

RSA 512 - 4096 bit
SHA1 160 bit digest
SHA2 224, 256, 384 and 512 bit
AES -CBC 128, 192, 256 bit
AES - GCM 128, 192, 256 bit
ECC Any curve or bit strength
HMAC SHA1 , SHA2
MD5

Freescale NXP LTC

Curve25519 256 bit
Ed25519 256 bit
AES -CCM 128, 192, 256 bit
AES -ECB 128, 192, 256 bit
AES -CBC 128, 192, 256 bit
AES -CTR 128, 192, 256 bit
AES - GCM 128, 192, 256 bit
SHA1 160 bit digest
SHA256
ECC 128, 256 bit
ECC-DHE 128, 256 bit
RSA 512 - 4096 bit

라이센스

wolfSSL는 오픈 소스로, GNU General Public License GPLv2[15]에 상용 라이센스를 받아 이용 가능하다.

같이 보기

각주

  1. “wolfSSL Changelog | wolfSSL Embedded SSL/TLS Library Documentation” (미국 영어). 《wolfSSL》. 2018년 6월 27일에 확인함. 
  2. “Release 5.9.2”. 2026년 6월 25일. 2026년 6월 26일에 확인함. 
  3. http://www.cryptlib.com/security-faq
  4. “보관된 사본”. 2010년 7월 24일에 원본 문서에서 보존된 문서. 2018년 6월 29일에 확인함. 
  5. “Embedded Communications Products | wolfSSL SSL/TLS Library” (미국 영어). 《wolfSSL》. 2018년 6월 27일에 확인함. 
  6. Inc., OpenSSL Foundation,. “/source/license.html” (영어). 2018년 6월 27일에 확인함. 
  7. “Licensing Information | wolfSSL Embedded SSL/TLS Library” (미국 영어). 《wolfSSL》. 2018년 6월 27일에 확인함. 
  8. “MySQL :: MySQL 5.7 Reference Manual :: 6.4.5 Building MySQL with Support for Encrypted Connections” (영어). 2017년 7월 6일에 원본 문서에서 보존된 문서. 2018년 6월 27일에 확인함. 
  9. “wolfSSL User Manual | Chapter 4: Features | Documentation” (미국 영어). 《wolfSSL》. 2018년 6월 27일에 확인함. 
  10. “wolfSSL 3.6.6 is Now Available - wolfSSL” (미국 영어). 《wolfSSL》. 2015년 8월 24일. 2018년 6월 27일에 확인함. 
  11. “wolfSSL User Manual | Chapter 10: wolfCrypt Usage Reference | Docs” (미국 영어). 《wolfSSL》. 2018년 6월 27일에 확인함. 
  12. “Kerberos: The Network Authentication Protocol”. 2018년 6월 27일에 확인함. 
  13. “wolfSSL” (영어). 2018년 6월 22일. 
  14. “Software Guard Extensions” (영어). 2018년 6월 20일. 
  15. “Various Licenses and Comments about Them”. 2010년 7월 24일에 원본 문서에서 보존된 문서. 

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.