| 개발자 | 트러스티드펌웨어가 관리하는 협력 프로젝트 (이전에는 Arm) |
|---|---|
| 발표일 | 2009년 1월 15일 |
| 프로그래밍 언어 | C |
| 운영 체제 | 멀티 플랫폼 |
| 종류 | 보안 라이브러리 |
| 라이선스 | 아파치 2.0 또는 GPL 2.0 이상 이중 라이선스 |
| 웹사이트 | www |
Mbed TLS(이전 명칭 PolarSSL)는 TLS 및 SSL 프로토콜과 그에 필요한 암호화 알고리즘 및 지원 코드를 구현한 라이브러리이다. 아파치 라이선스 2.0 버전으로 배포된다. 웹사이트에 명시된 Mbed TLS의 목표는 "이해하기 쉽고, 사용하기 쉬우며, 통합과 확장이 용이하게 하는 것"이다.
PolarSSL SSL 라이브러리는 XySSL SSL 라이브러리의 공식적인 후속 포크이다. XySSL은 프랑스의 화이트햇 해커인 크리스토프 드빈에 의해 만들어졌으며, 2006년 11월 1일에 GNU GPL v2와 BSD 라이선스로 처음 공개되었다. 2008년, 크리스토프 드빈이 더 이상 XySSL을 지원할 수 없게 되자 폴 바커가 PolarSSL이라는 이름으로 공식 포크를 만들 수 있도록 허용하였다. 2014년 11월, PolarSSL은 ARM에 인수되었다.
2011년, 네덜란드 정부는 오픈VPN과 PolarSSL을 통합한 OpenVPN-NL을 승인하였다. 이 버전의 OpenVPN은 제한(Restricted) 수준까지의 정부 통신을 보호하는 용도로 사용이 승인되었다.
버전 1.3.10 출시와 함께, PolarSSL은 Mbed 생태계 내에서의 적합성을 더 잘 보여주기 위해 Mbed TLS로 브랜드명이 변경되었다. 버전 2.1.0부터 라이브러리는 GPL v2와 아파치 라이선스 v2.0을 모두 사용할 수 있게 되었다.
2020년, Mbed TLS는 트러스티드펌웨어 프로젝트에 합류하였다.
핵심 SSL 라이브러리는 C 프로그래밍 언어로 작성되었으며, SSL 모듈과 기본적인 암호화 함수를 구현하고 다양한 유틸리티 기능을 제공한다. OpenSSL 및 다른 TLS 구현들과 달리, Mbed TLS는 WolfSSL과 마찬가지로 소형 임베디드 장치에 맞게 설계되어 최소한의 완전한 TLS 스택이 60KB 미만의 프로그램 공간과 64KB 미만의 RAM을 요구한다. 또한 매우 모듈화되어 있어 암호화 함수와 같은 각 구성 요소를 프레임워크의 나머지 부분과 독립적으로 사용할 수 있다. 마이크로소프트 윈도우 및 리눅스용 버전도 제공된다. Mbed TLS는 외부 의존성 없이 C 프로그래밍 언어로 작성되었기 때문에 대부분의 운영체제 및 아키텍처에서 작동한다.
버전 1.3.0부터는 "기존 임베디드 운영체제와의 통합을 더 원활하게 지원하기 위해" 메모리 할당 및 스레딩을 위한 추상화 계층이 핵심부에 추가되었다.
Mbed TLS 라이브러리는 코드의 가독성, 문서화, 자동 회귀 테스트, 느슨하게 결합된 설계 및 이식 가능한 코드에 중점을 둔다.
개발자를 위해 다음과 같은 문서가 제공된다.
Mbed TLS의 자동 테스트에는 다음이 포함된다.
Mbed TLS는 대규모 오픈 소스 프로젝트의 SSL 구성 요소로 사용된다.
Mbed TLS는 현재 리눅스, 마이크로소프트 윈도우, MacOS, OpenWrt, 안드로이드, iOS, RISC OS 및 FreeRTOS를 포함한 대부분의 운영체제에서 사용할 수 있다. 지원되는 칩셋은 최소 ARM, x86, PowerPC, MIPS를 포함한다.
Mbed TLS는 여러 가지 암호화 알고리즘을 지원한다.