TLS Rustls 라이브러리의 개발자 인 Joseph Birr Pixton은 개발에 대한 일련의 테스트를 수행했습니다. y 후자의 성능이 OpenSSL을 능가하는 것으로 나타났습니다. 다양한 수준에서. Rustls는 Rust로 작성된 오픈 소스 라이브러리 인 TLS입니다. Apache 2.0, MIT 및 ISC 라이선스에 따라 사용할 수 있지만 OpenSSL은 거의 모든 주요 범주에서 잘 알려진 라이브러리이자 업계 표준입니다.
문서에 따르면 Rustls는 좋은 수준의 암호화 보안을 제공하는 것을 목표로하는 최신 TLS 라이브러리입니다.. 이 보안을 달성하기 위해 구성이 필요하지 않으며 안전하지 않은 기능이나 오래된 암호화를 제공하지 않습니다.
많은 기능이 있습니다. ECDSA 또는 RSA 서버 클라이언트 인증 및 ECDSA 또는 RSA 서버 서버 인증과 같은 서버 인증서 확인을 지원합니다.
즉, 루트 인증서 세트 외에는 아무것도 제공 할 필요가 없습니다. 기본 API에서는 인증서 확인을 비활성화 할 수 없습니다.
반면에 OpenSSL은 TLS (Transport Layer Security) 및 SSL (Secure Sockets Layer) 프로토콜을위한 강력한 상용 등급의 모든 기능을 갖춘 툴킷입니다. 또한 다목적 암호화 라이브러리입니다.
Rustls 테스트 정보
그의 일련의 성능 테스트에서 Joseph Birr Pixton은 성능을 평가하기 위해 몇 가지 사항을 고려했다고 말합니다. 교환 성능 및 전체 성능과 같이 TLS 라이브러리마다 다를 수 있습니다.
핸드 셰이크 성능에는 새 TLS 세션을 구성 할 수있는 속도가 포함됩니다. 전반적인 성능 측면에서 이미 구성된 세션으로 애플리케이션 데이터를 전송할 수있는 속도를 다룹니다.
다양한 테스트 결과 Rustls는 새로운 연결을 설정하고 만들 때 10 % 더 빨랐습니다. 클라이언트 연결을 설정할 때 서버와 20-40 % 더 빠릅니다.
그러나 새 TLS 연결의 속도가 빠르면 대부분의 TLS 트래픽은 이미 설정된 연결을 다시 시작하는 데 의존합니다.
여기도, Rustls는 OpenSSL 라이브러리를 능가하여 서버 측 연결을 10-20 %, 클라이언트 연결을 재개하는 데 30-70 % 더 빠릅니다.
또한 Rustls는 TLS 연결을 통한 전체 성능 또는 데이터 전송 속도 측면에서 더 나은 성능을 보였습니다.
Birr Pixton은 Rustls가 OpenSSL보다 15 % 빠르게 데이터를 보낼 수 있다고 말했습니다. 5 % 더 빨리받습니다. 마지막으로 Rustls 라이브러리는 OpenSSL을 실행하는 데 필요한 메모리의 절반 만 사용했으며 이는 큰 장점입니다. 그는이 측면에서 OpenSSL이 큰 메모리 풋 프린트와 코드에서 발견되는 많은 보안 문제로 인해 매우 자주 비판을 받았다고 회상했습니다.
결과를 요약하면 대략 다음과 같이 말할 수 있습니다.
- Rustls는 데이터 전송 속도가 15 % 더 빠릅니다.
- Rustls는 데이터 수신 속도가 5 % 빠릅니다.
- Rustls는 클라이언트 연결을 설정하는 데 20 ~ 40 % 더 빠릅니다.
- Rustls는 서버 연결을 설정하는 데 10 % 더 빠릅니다.
- Rustls는 클라이언트 연결을 재개하는 데 30 ~ 70 % 더 빠릅니다.
- Rustls는 서버 연결을 재개하는 데 10-20 % 더 빠릅니다.
- Rustls는 OpenSSL 메모리의 절반 미만을 사용합니다.
Birr Pixton은 Rustls가 Rust로 인코딩되기 때문에 보안 결함 문제가 해결되었다고 설명했습니다. 주로 Rust 언어의 디자인과 함께. 이 언어는 메모리 관련 보안 버그를 방지하기 위해 처음부터 설계되었습니다.
Rust 프로그래밍 언어로 작성된 프로그램이 메모리와 상호 작용하는 방식은 가장 눈에 띄는 언어 해석 중 하나입니다. 대기업이 Mozilla Research에서 만든 언어의 유용성을 인식하면 향후 몇 년 동안 폭발적으로 성장할 수 있습니다.
Firefox 및 Brave와 같은 브라우저도 현재 Rust 구성 요소를 사용하는 것으로 여겨지지만 Cloudflare, Dropbox 및 Yelp와 같은 대기업도 프로덕션 시스템에 채택했습니다.
출처 : https://jbp.io
Rustls를위한 엄청난 숫자. 왜 LibreSSL과 비교하지 않았는지 궁금합니다.
Rust의 성능이 C ++를 쫓아 낼만큼 우월한 지, 그리고 C / Asm은 언어 전환의 복잡성이 Rust가 추가 한 구문 설탕보다 우월하다는 것을 아는 한 계속 지켜봐야합니다.