🔐 Tổng quan về triển khai TLS (Transport Layer Security) trong iBrowe

Tài liệu này cung cấp cái nhìn chi tiết về cách TLS (trước đây gọi là SSL) được triển khai và thực thi trong iBrowe trên các nền tảng khác nhau.


⚙️ Triển khai TLS

Máy tính để bàn & Android

iBrowe sử dụng nguyên vẹn ngăn xếp TLS từ mã nguồn Chromium gốc (upstream).

iOS

Kết nối TLS được xử lý thông qua các API mạng gốc của hệ điều hành (ngăn xếp mạng của Apple).


🏛️ Kho chứng chỉ gốc (Root Certificate Store)

Máy tính để bàn & Android

iBrowe sử dụng cùng một kho chứng chỉ gốc như trình duyệt Chrome: https://chromium.googlesource.com/chromium/src/+/main/net/data/ssl/chrome/_root/_store/faq.md

iOS Sử dụng kho chứng chỉ gốc của Apple thông qua các API hệ thống.


📌 Cố định chứng chỉ gốc (Root Pinning) & Tải trước HSTS (HSTS Preloading)

iBrowe thực thi cả hai cơ chế: cố định chứng chỉ gốc và tải trước HSTS.

Thay vì sử dụng danh sách nhúng của Chrome, iBrowe duy trì danh sách riêng tại: https://github.com/ibrowe/ibrowe-core/blob/main/chromium/_src/net/tools/transport/_security/_state/_generator/input/_file/_parsers.cc


🔍 Tên miền kiểm thử

  • https://ssl-pinning.someblog.org/ → Dự kiến sẽ kích hoạt lỗi TLS và bị chặn
  • https://pinning-test.badssl.com/ → Sẽ tải với trang cảnh báo màu đỏ (không lỗi TLS)

🧾 Minh bạch chứng chỉ (Certificate Transparency - CT)

iOS

Tuân thủ chính sách CT của Apple, được tích hợp trong WebKit.

Máy tính để bàn & Android

iBrowe thực thi CT dựa trên chính sách của Chromium (áp dụng từ phiên bản 1.56).

Tạm thời, tính năng kiểm tra SCT (Signed Certificate Timestamp) đang bị vô hiệu hóa.

Tham khảo: https://github.com/ibrowe/ibrowe-core/pull/17944


📎 Nguồn: Dựa trên tài liệu TLS của Brave, được điều chỉnh và cập nhật dành riêng cho iBrowe với cấu trúc và liên kết đã thay đổi.