- Bản phát hành quy mô lớn, bao gồm nhiều tính năng mới và thay đổi không tương thích
- Tích hợp sẵn hỗ trợ ECH (Encrypted Client Hello, RFC 9849), giúp không còn cần triển khai riêng để bảo vệ quyền riêng tư của máy khách TLS
- Mã SSLv2 Client Hello, SSLv3 và engine đã bị xóa hoàn toàn, chính thức chấm dứt khả năng tương thích với các giao thức cũ
- Bổ sung hỗ trợ chữ ký SM2 dựa trên RFC 8998 (
sm2sig_sm3), trao đổi khóa (curveSM2) và nhóm hậu lượng tử curveSM2MLKEM768
- Thêm các tính năng mật mã mới như cSHAKE (SP 800-185), digest ML-DSA-MU, SNMP KDF, SRTP KDF
- Hỗ trợ đàm phán trao đổi khóa FFDHE dựa trên RFC 7919 trong TLS 1.2
- Khi cài đặt mô-đun FIPS, có thể trì hoãn chạy tự kiểm tra FIPS bằng tùy chọn
-defer_tests
- Hiện đại hóa API với việc bổ sung bộ định tính
const cho nhiều chữ ký hàm API, cùng các thay đổi như làm mờ ASN1_STRING
- Khuyến nghị thay thế các hàm deprecated như
X509_cmp_time() bằng X509_check_certificate_times()
- Khi dùng FIPS provider với
PKCS5_PBKDF2_HMAC, sẽ bắt buộc kiểm tra giá trị tối thiểu, đồng thời tăng cường thêm các mục kiểm tra trong xác thực CRL
- Tiến hành dọn dẹp quy mô lớn các tính năng legacy như các phương thức custom
EVP_CIPHER, EVP_MD, EVP_PKEY đã deprecated, các hàm SSL/TLS phiên bản cố định, script c_rehash, BIO_f_reliable() v.v.
- Loại bỏ các mục tiêu build Apple cũ như
darwin-i386, darwin-ppc
- Trên Windows, hỗ trợ lựa chọn liên kết VC runtime tĩnh/động
- Bản phát hành này là một cột mốc chuyển đổi của OpenSSL nhằm tăng cường bảo mật và khả năng tương thích với tiêu chuẩn
2 bình luận
Cảm giác như mới hôm qua còn dùng 1.1.1 vậy.
Ý kiến trên Hacker News
Bày tỏ sự vui mừng vì cuối cùng cũng đã được bổ sung hỗ trợ Encrypted Client Hello(ECH)
Trích dẫn bài viết về tình hình SSL stack trên blog HAProxy, nhấn mạnh rằng giờ đây không nên dùng v3 nữa
Trước đây, nếu dùng OpenSSL thì việc triển khai QUIC cũng bị buộc phải dùng stack của OpenSSL
QUIC là giao thức tái triển khai các chức năng của TCP trên UDP, và là nền tảng của HTTP/3
Nhưng ngay cả khi không thích cách OpenSSL triển khai QUIC thì cũng không có lựa chọn nào khác
Ví dụ, nếu curl được liên kết với OpenSSL thì curl cũng tự động phải dùng QUIC của OpenSSL
Nhân đó giới thiệu rằng Daniel Stenberg của curl đã viết một bài blog mang tính chỉ trích về vấn đề này
Trong câu hỏi về tình trạng hiện tại của OpenSSL, có ý kiến cho rằng sau sự cố Heartbleed trước đây, khía cạnh bảo mật đã được cải thiện rất nhiều
Tuy nhiên, nhiều đánh giá cho rằng chất lượng phần mềm lại đi xuống
Thiết kế của OpenSSL 3.0 bị xem là bước lùi về hiệu năng, và các dự án lớn như pyca/cryptography đang cho thấy xu hướng muốn thay thế OpenSSL
Các phép toán cốt lõi của OpenSSL 3 chậm hơn 1.1.1 rất nhiều, đồng thời trích dẫn bài phân tích SSL stack của HAProxy và tuyên bố của nhóm Python cryptography
OpenSSL 3 thay đổi nhiều yếu tố theo hướng động nên lock bị lạm dụng, còn API cũng chuyển sang kiểu OSSL_PARAM, gây suy giảm hiệu năng và làm mã nguồn phức tạp hơn
Nhận xét rằng so với OpenSSL 3, lần chuyển đổi này diễn ra rất êm
Trên Fedora, ngoài việc loại bỏ “Engines” thì hầu hết các phần phụ thuộc đều đã được sửa mà không có vấn đề lớn
Chỉ ra rằng quy trình opt-out thủ công đang ngày càng trở thành một điểm gây ma sát lớn
Họ chỉ trích thực tế là phải đợi cộng đồng phản ứng thì cấu hình mặc định mới được cải thiện, đồng thời nhấn mạnh rằng niềm tin thì khó gây dựng và rất dễ đánh mất
Có phản ứng đùa rằng bản phát hành này dường như được tung ra đúng vào thời điểm của “suckerpinch video”
Với góc nhìn của người không chuyên, có ý kiến cho rằng thay đổi lần này trông như một đợt dọn dẹp khá gọn gàng, nhưng việc phá vỡ tương thích lúc nào cũng là gánh nặng
Đồng thời nhớ lại rằng OpenSSL 3.x vốn không được yêu thích lắm
Lo ngại rằng nâng major version sẽ khiến nó chậm đi, nhưng theo benchmark thực tế thì mức giảm hiệu năng trung bình chỉ khoảng 10%
Cũng nói thêm rằng nếu nhìn trên toàn bộ môi trường Internet thì đây không phải vấn đề quá lớn
Hoan nghênh việc const được dùng nhiều hơn trong mã nguồn
Trong môi trường nhúng, nhiều khi phải tự thêm const, nên họ thích hướng đi là giờ đây điều đó được áp dụng mặc định
Cuối cùng, đùa rằng có thể tưởng tượng ra tiếng kêu gào của các trình quản lý gói trên các bản phân phối Linux