1. BoringSSL là gì

BoringSSL là thư viện mật mã học mã nguồn mở của Google dựa trên OpenSSL, được thiết kế đặc biệt cho các dự án Chromium và Android. Các thành phần cốt lõi bao gồm:

  1. Triển khai Giao thức: TLS 1.2/1.3, DTLS 1.2
  2. Nguyên hàm Mật mã học: AES-GCM, ChaCha20-Poly1305, RSA-PSS, ECDSA
  3. Xác minh Chứng chỉ: Xác thực chuỗi X.509
  4. Vận chuyển An toàn: Lớp trừu tượng BIO

Không giống OpenSSL, BoringSSL:

  • Loại bỏ hỗ trợ các thuật toán lỗi thời (SSLv3, RC4)
  • Loại bỏ các yêu cầu xác thực FIPS 140-2
  • Sử dụng liên kết tĩnh làm mặc định
  • Thực hiện các chính sách chứng chỉ nghiêm ngặt

2. Kiến trúc BoringSSL so với OpenSSL

Tính năngBoringSSLOpenSSL
Cơ sở mã~240Kloc (đã đơn giản hóa)~500Kloc
An toàn luồngCác phép toán nguyên tửKhóa toàn cục
Bộ nhớBộ cấp phát tùy chỉnhmalloc/free tiêu chuẩn
APIĐặc trưng của ChromiumMục đích chung
Cập nhậtTriển khai hàng tuầnPhát hành hàng quý
Khả năng tương thíchCố ý phá vỡ ABIDuy trì tính ổn định của ABI

Những khác biệt kiến trúc chính:

  • BoringSSL sử dụng mô-đun BoringCrypto FIPS
  • Không hỗ trợ API ENGINE
  • Đã loại bỏ 80% các tùy chọn cấu hình
  • Hệ thống xử lý lỗi được đơn giản hóa

3. Các Mô-đun Cốt lõi của BoringSSL

  1. Ngăn xếp TLS

    • Tiếp tục phiên mà không cần trạng thái máy chủ
    • Tối ưu hóa False Start
    • Trình xuất tài liệu khóa
  2. Mật mã học

    • Các triển khai thời gian không đổi
    • Tăng tốc phần cứng (AES-NI, PCLMULQDQ)
    • Các thử nghiệm mật mã hậu lượng tử
  3. X.509

    • Minh bạch chứng chỉ
    • OCSP stapling
    • Ràng buộc tên
  4. Quản lý Bộ nhớ

    • Macro ScopedOPENSSL
    • Không có malloc/free trong các đường dẫn quan trọng
    • Đảm bảo zero hóa
  5. Kiểm thử

    • Độ bao phủ dòng 92%
    • Fuzzing với libFuzzer
    • CI đa nền tảng

4. BoringSSL trong các Ứng dụng Hiện đại

Các vai trò quan trọng trong ngăn xếp bảo mật:

  1. Tích hợp Chromium

    • Cung cấp sức mạnh cho QUIC và HTTP/3 trong Chrome
    • Xác minh chứng chỉ cho hơn 1 tỷ thiết bị
    • Triển khai WebRTC DTLS
  2. Tối ưu hóa Hiệu suất

    • Bắt tay TLS 1.3 nhanh hơn 2 lần so với OpenSSL
    • Kích thước nhị phân nhỏ hơn 40%
    • Các phần mở rộng mật mã ARMv8
  3. Cải thiện Bảo mật

    • Khớp tên chứng chỉ nghiêm ngặt
    • Tự động lựa chọn đường cong EC
    • Minh bạch chứng chỉ luôn bật
  4. Trải nghiệm Nhà phát triển

    • Các bề mặt API được đơn giản hóa
    • Chính sách ngừng hỗ trợ rõ ràng
    • Tài liệu cho từng hàm

Bạn Cũng Có Thể Thích

Run multiple accounts without bans and blocks
Dùng Thử Miễn Phí

Bảo vệ bảo mật đa tài khoản, bắt đầu với FlashID

Thông qua công nghệ dấu vân tay của chúng tôi, bạn sẽ không bị theo dõi.

Bảo vệ bảo mật đa tài khoản, bắt đầu với FlashID