4 điểm bởi GN⁺ 6 ngày trước | 2 bình luận | Chia sẻ qua WhatsApp
  • 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
  • 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)

    • Tò mò không biết đây đã là tính năng có thể bật ngay bây giờ hay vẫn sẽ phải chờ rất lâu cho tới khi trình duyệt và máy chủ hỗ trợ
    • Đồng thời cũng nhắc tới QUIC
    • Tuy vậy, cũng cảnh báo rằng phần lớn mạng có khả năng sẽ chặn loại lưu lượng này
  • 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

    • Đánh giá tích cực việc OpenSSL chỉ mới từ năm ngoái bắt đầu cung cấp API để các nhà phát triển có thể tự triển khai QUIC
      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

    • Sau Heartbleed, hệ thống quản lý bảo mật của OpenSSL đã được tăng cường, và giờ đây nó đã trở thành một trong những mục tiêu bảo mật được nghiên cứu tích cực nhất trên Internet
      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
    • Một người khác đánh giá OpenSSL 3 là nỗi thất vọng lớn về cả hiệu năng, độ phức tạp lẫn trải nghiệm nhà phát triển
      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 HAProxytuyê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

    • Vì thế mới là phiên bản 4
  • 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