Mbed TLS

Mbed TLS
Mbed TLS
개발자Trusted Firmware(이전의 Arm)가 관리하는 협업 프로젝트
초기 릴리즈2009년 1월 15일(2009-01-15)
안정된 릴리스3.2.0 (2022년 7월 11일, 23일 전 (2022-07-11)[1] [±]
저장소
기입처C
운영 체제멀티플랫폼
유형보안 라이브러리
면허증.아파치 2.0
웹 사이트tls.mbed.org

Mbed TLS(이전의 PolarSSL)는 TLSSSL 프로토콜과 필요한 각 암호화 알고리즘 및 지원 코드를 구현한 것입니다.Apache License 버전 2.0으로 배포됩니다.웹사이트에서 Mbed TLS는 "이해, 사용, 통합, 확장이 용이함"을 목표로 하고 있습니다.

역사

PolarSSL SSL 라이브러리는 XySSL SSL 라이브러리의 공식 속행 분기입니다.XySSL은 프랑스의 "화이트 햇 해커" Christophe Devine에 의해 개발되었으며 GNU GPL v2 및 BSD 라이선스로 2006년 11월 1일에 처음 출시되었습니다.2008년 Christophe Devine은 XySSL을 더 이상 지원할 수 없었고 Paul Bakker가 [2]PolarSSL이라는 이름의 공식 포크를 만들도록 허락했습니다.2014년 11월, PolarSSL은 ARM [3]Holdings에 인수되었습니다.

2011년 네덜란드 정부는 OpenVPN과 PolarSSL(OpenVPN-NL)의 통합을 승인했습니다.이 버전의 OpenVPN은 정부의 통신을 보호하는데 사용할 수 있도록 승인되어 있습니다(Restricted [4]수준까지).

버전 1.3.10 이후 PolarSSL은 Mbed [5]TLS로 브랜드 변경되어 Mbed 생태계에 적합함을 더 잘 보여주고 있습니다.버전 2.1.0부터는 GPL v2와 Apache License v2.[6]0 모두에서 라이브러리를 사용할 수 있게 되었습니다.

버전 2.17 이후 Mbed TLS는 Apache License 버전 2.[7][8]0에서만 라이센스가 부여되었습니다.

2020년에 Mbed TLS는 Trusted Firmware 프로젝트에 [9]참여했습니다.

도서관

코어 SSL 라이브러리는 C 프로그래밍 언어로 작성되며 기본 암호화 기능인 SSL 모듈을 구현하고 다양한 유틸리티 기능을 제공합니다.OpenSSL 및 기타 TLS 구현과는 달리 Mbed TLS는 소형 임베디드 디바이스에 적합하도록 설계되어 최소 전체 TLS 스택은 60KB 미만의 프로그램 영역과 64KB 미만의 RAM을 필요로 한다는 점에서 wolfSSL과 같습니다.또한 고도로 모듈화되어 있어 암호화 기능 등의 각 컴포넌트를 프레임워크의 나머지 부분과 독립적으로 사용할 수 있습니다.Microsoft Windows 및 Linux버전도 사용할 수 있습니다.Mbed TLS는 C 프로그래밍 언어로 작성되기 때문에 외부 의존관계 없이 대부분의 운영체제시스템 및 아키텍처에서 동작합니다.

1.3.0보다 새로운 버전의 PolarSSL에서는 메모리 할당 및 스레드화를 위한 추상화 레이어를 코어에 추가하여 "기존 임베디드 운영체제와의 통합을 향상시킵니다."[10]

설계의 우선 순위

Mbed TLS 라이브러리는 코드 가독성, 문서, 자동 회귀 테스트, 느슨하게 결합된 설계 및 휴대용 [11]코드에 초점을 맞춥니다.

개발 문서

개발자는 다음 문서를 이용할 수 있습니다.

  • 개요 설계:[12] 라이브러리 내의 다양한 모듈에 대한 개략적인 설명으로 UML 다이어그램, 사용 사례 및 일반적인 시나리오에서의 상호 작용이 포함됩니다.
  • API 매뉴얼:[13]라이브러리의 헤더 파일에서 Doxygen이 생성한 문서입니다.
  • 소스 코드 문서[14]도서관의 소스 코드 구조, 결정과 코드 구문을 정확히 하기 위해 문서화되어 있습니다.

자동 테스트

Mbed TLS의 자동 시험:포함한다.

  • 시험 체제는 5000명이 넘는 자동 시험으로 회귀하고 호환성에 대해 다른 플랫폼에서 테스트하는(시험의 횟수에 도서관의 버전부터 제1.3.2항에 기반을 두고)가 들어 있는 소스 코드가 포함되어 있다.
  • 한 호환성 스크립트(compat.Sh[15]=OpenSSL과 GnuTLS과 SSL통신 호환성을 테스트합니다.
  • 연속적인 통합 시스템 트래비스 CI와 젠킨스에 근거한다.[16]

사용하다

Mbed TLSSSL요소로 큰 오픈 소스 프로젝트에 사용된다.

플랫폼

Mbed TLS현재 대부분의 운영 체제 리눅스, MicrosoftWindows, OSX, OpenWrt, 안드로이드, iOS, 리스크 OS[17]과 FreeRTOS이 있는.Chipsets 최소한 ARM, x86, 파워 PC, MIPS를 포함한다.

알고리즘

Mbed TLS: 다른 암호화 알고리즘의 수를 지원한다.

해시 기능 암호화
MD2, MD4, MD5, RIPEMD160, SHA-1, SHA-2
MAC 모드
CMAC, HMAC
암호
AES, ARIA, 복어, 동백, ChaCha, DES, RC4, 트리플 DES, XTEA
암호 모드
ECB, CBC, CFB, CTR, OFB, XTS
인증된 암호화 모드
CCM, GCM, NIST 키랩,
ChaCha20-Poly1305
키 파생
HKDF
키 스트레칭
PBKDF2, PKCS #5 PBE2, PKCS #12 키 파생
공개키 암호화
RSA, Diffie-헬만교환,
타원곡선암호법(ECC), 타원곡선디피-Hellman(ECDH), 타원 곡선 DSA(ECDSA), 타원 곡선 J-PAKE

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Releases". Retrieved 2022-07-11.
  2. ^ "About us". PolarSSL. Retrieved 2014-05-08.
  3. ^ "PolarSSL is now a part of ARM". 2014-11-24.
  4. ^ [1] 2013년 1월 29일 Wayback Machine에 보관
  5. ^ "mbed TLS 1.3.10 released". 2015-02-08. Retrieved 2015-02-09.
  6. ^ "Download". Mbed TLS. Arm. Archived from the original on 2019-03-24. Retrieved 2021-04-05.
  7. ^ "Download archive". Mbed TLS. Arm. Retrieved 2021-04-05.
  8. ^ "History for LICENSE". GitHub. Arm. Retrieved 2021-04-05.
  9. ^ "Hafnium, MbedTLS, PSA Crypto join the Trusted Firmware Project". TrustedFirmware. TrustedFirmware. Archived from the original on 2020-08-12. Retrieved 2021-04-05.
  10. ^ "New features in PolarSSL 1.3.0 – Tech Updates". Polarssl.org. Retrieved 2014-05-08.
  11. ^ "PolarSSL Features: easy to use SSL library and well-documented". Polarssl.org. Retrieved 2014-05-08.
  12. ^ "PolarSSL High Level Design". Polarssl.org. Retrieved 2014-05-08.
  13. ^ "v1.3.6 source code documentation – API Documentation". PolarSSL. Retrieved 2014-05-08.
  14. ^ "polarssl/polarssl — GitHub". Github.com. Retrieved 2014-05-08.
  15. ^ executable file (2020-04-26). "mbedtls/compat.sh at development · ARMmbed/mbedtls · GitHub". Github.com. Retrieved 2021-04-05.
  16. ^ "Mbed TLS continuous integration". Trusted Firmware. Trusted Firmware. Retrieved 2021-04-05.
  17. ^ "Connecting with the 21st century". RISC OS Open. Steve Revill. Retrieved 2022-04-19.

외부 링크