OpenSSL 3.0.0 đi kèm với một loạt các thay đổi và cải tiến lớn

Sau ba năm phát triển và 19 phiên bản thử nghiệm việc phát hành phiên bản OpenSSL 3.0.0 mới đã được công bố gần đây cái nào có hơn 7500 thay đổi do 350 nhà phát triển đóng góp và điều đó cũng đại diện cho một sự thay đổi đáng kể về số phiên bản và đó là do sự chuyển đổi sang cách đánh số truyền thống.

Kể từ bây giờ, chữ số đầu tiên (Chính) trong số phiên bản sẽ chỉ thay đổi khi khả năng tương thích bị vi phạm ở cấp API / ABI và chữ số thứ hai (Nhỏ) khi chức năng được tăng lên mà không thay đổi API / ABI. Các bản cập nhật sửa chữa sẽ được gửi kèm theo thay đổi chữ số thứ ba (bản vá). Số 3.0.0 được chọn ngay sau 1.1.1 để tránh va chạm với mô-đun FIPS đang được phát triển cho OpenSSL, được đánh số 2.x.

Thay đổi lớn thứ hai đối với dự án là chuyển đổi từ một giấy phép kép (OpenSSL và SSLeay) sang giấy phép Apache 2.0. Giấy phép OpenSSL gốc được sử dụng trước đây dựa trên giấy phép Apache 1.0 cũ và yêu cầu đề cập rõ ràng về OpenSSL trong tài liệu quảng cáo khi sử dụng thư viện OpenSSL và lưu ý đặc biệt nếu OpenSSL được vận chuyển cùng với sản phẩm.

Những yêu cầu này khiến giấy phép trước đó không tương thích với GPL, gây khó khăn cho việc sử dụng OpenSSL trong các dự án được cấp phép GPL. Để tránh sự không tương thích này, các dự án GPL buộc phải thực thi các thỏa thuận cấp phép cụ thể, trong đó văn bản chính của GPL được bổ sung bằng một điều khoản rõ ràng cho phép ứng dụng liên kết với thư viện OpenSSL và đề cập rằng GPL không áp dụng để ràng buộc với OpenSSL .

Có gì mới trong OpenSSL 3.0.0

Về phần tính mới được trình bày trong OpenSSL 3.0.0, chúng ta có thể thấy rằng một mô-đun FIPS mới đã được đề xuất,bao gồm việc triển khai các thuật toán mật mã đáp ứng tiêu chuẩn bảo mật FIPS 140-2 (quá trình chứng nhận mô-đun được lên kế hoạch bắt đầu vào tháng này và chứng nhận FIPS 140-2 dự kiến ​​vào năm tới). Mô-đun mới dễ sử dụng hơn nhiều và việc kết nối với nhiều ứng dụng sẽ không khó hơn việc thay đổi tệp cấu hình. Theo mặc định, FIPS bị tắt và yêu cầu bật tùy chọn enable-fips.

Trong libcrypto, khái niệm về các nhà cung cấp dịch vụ được kết nối đã được triển khai đã thay thế khái niệm về động cơ (API ENGINE không được dùng nữa). Với sự trợ giúp của các nhà cung cấp, bạn có thể thêm các triển khai thuật toán của riêng mình cho các hoạt động như mã hóa, giải mã, tạo khóa, tính toán MAC, tạo và xác minh chữ ký số.

Nó cũng được nhấn mạnh rằng hỗ trợ thêm cho CMPĐó Nó có thể được sử dụng để yêu cầu chứng chỉ từ máy chủ CA, gia hạn chứng chỉ và thu hồi chứng chỉ. Làm việc với CMP được thực hiện bởi tiện ích mới openssl-cmp, tiện ích này cũng triển khai hỗ trợ cho định dạng CRMF và truyền yêu cầu qua HTTP / HTTPS.

Ngoài ra Một giao diện lập trình mới để tạo khóa đã được đề xuất: EVP_KDF (API chức năng xác định khóa), đơn giản hóa việc tích hợp các triển khai KDF và PRF mới. API EVP_PKEY cũ, qua đó có sẵn các thuật toán scrypt, TLS1 PRF và HKDF, đã được thiết kế lại như một lớp trung gian được triển khai trên các API EVP_KDF và EVP_MAC.

Và trong việc triển khai giao thức TLS cung cấp khả năng sử dụng máy khách và máy chủ TLS được tích hợp trong nhân Linux để tăng tốc hoạt động. Để bật triển khai TLS do nhân Linux cung cấp, tùy chọn "SSL_OP_ENABLE_KTLS" hoặc cài đặt "enable-ktls" phải được bật.

Mặt khác, nó được đề cập rằng một phần quan trọng của API đã được chuyển sang danh mục không dùng nữa- Việc sử dụng các lệnh gọi không được dùng nữa trong mã dự án của bạn sẽ tạo ra một cảnh báo trong quá trình biên dịch. Các API cấp thấp liên kết với các thuật toán nhất định đã được chính thức tuyên bố là lỗi thời.

Hỗ trợ chính thức trong OpenSSL 3.0.0 hiện chỉ được cung cấp cho các API EVP cấp cao, được rút ra từ các loại thuật toán nhất định (API này bao gồm, ví dụ: các hàm EVP_EncryptInit_ex, EVP_EncryptUpdate và EVP_EncryptFinal). Các API lỗi thời sẽ bị loại bỏ trong một trong những bản phát hành chính tiếp theo. Các triển khai thuật toán kế thừa, chẳng hạn như MD2 và DES, có sẵn thông qua EVP API, đã được chuyển sang một mô-đun "kế thừa" riêng biệt, mô-đun này bị tắt theo mặc định.

Cuối cùng nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.