Đối tượng: Các chuyên viên phụ trách tuân thủ, trưởng nhóm firmware nhúng và quản lý sản phẩm OEM, những người cần giải thích cho khách hàng lý do một cây bút đọc giá 4,20 USD lại thực hiện trao đổi khóa ECDH P-256 trong lần ghép đôi đầu tiên, điều đó có ý nghĩa gì với COPPA, GDPR-K và PIPL, cũng như cách lựa chọn giữa Just Works, Numeric Comparison, Passkey Entry và Out-of-Band tuỳ theo thị trường.
Mô hình ghép đôi Bluetooth trên một cây bút đọc là một trong số ít nơi một sản phẩm tiêu dùng giá rẻ và một nguyên lý bảo mật cấp thiết bị đầu cuối thanh toán cùng chia sẻ chung một nền tảng silicon. Từ chồng firmware 3.3.1 của Q6/Q8 đến chồng firmware 3.1.2 của F8, mọi lô hàng ODM kể từ năm 2023 (hơn 47.000 sản phẩm, 47 quốc gia) đều thực hiện trao đổi khóa ECDH P-256 ngay trong lần ghép kết nối đầu tiên. Chúng tôi làm điều này vì phương án thay thế — Legacy Just Works không có khả năng chống tấn công Man-in-the-Middle — chính là chế độ lỗi mà Bluetooth SIG thiết kế SSP để loại bỏ, và bởi đây là câu trả lời đáng tin cậy duy nhất trước CISO của khách hàng khi họ đọc kỹ các quy định COPPA, GDPR-K và PIPL.
Bài viết này giải thích chính xác những gì SSP thực hiện trên cây bút đọc, LE Legacy làm điều gì thay thế, LE Secure Connections bổ sung gì ngoài SSP, cũng như cách chúng tôi tinh chỉnh trải nghiệm người dùng để một đứa trẻ 6 tuổi trong lớp học hay một cụ ông 80 tuổi tại nhà đều có thể ghép đôi dễ dàng.
1. Ba thế hệ ghép đôi trên một cây bút đọc
| Thế hệ | Thông số | Trao đổi khóa | Áp dụng trên |
|---|---|---|---|
| Legacy | BT 2.0 (tiền SSP) | E1/E21 (SAFER+) | Không xuất xưởng |
| SSP | BT 2.1 / 4.0 | E1/E21 (mã PIN 4 chữ số hoặc Just Works) | K7/KF1 firmware 1.9.5 |
| LE Secure Connections | BT 4.2 / 5.x | ECDH P-256 | F8, L5, Q6/Q8, T2, Y6 |
Toàn bộ mười một SKU hiện tại đều xuất xưởng với LE Secure Connections là chế độ ghép đôi mặc định. Firmware 1.9.5 của K7/KF1 vẫn giữ chế độ dự phòng SSP cho các hub lớp học cũ vẫn đang dùng dongle BT 4.0, nhưng chúng tôi khuyến nghị khách nâng cấp hub lên dongle 5.0+ với MOQ 1.000 để loại bỏ đường dự phòng.
2. SSP thực sự thực hiện điều gì
SSP thay thế quá trình trao đổi khóa dựa trên mã PIN truyền thống bằng một trong bốn mô hình kết hợp:
| Mô hình | Thao tác của người dùng | Mức độ bảo mật | Áp dụng trên |
|---|---|---|---|
| Just Works | Chạm "Pair" | Không có bảo vệ MITM | Mặc định cho ghép nối lại |
| So sánh số | So sánh số 6 chữ số, nhấn Yes | MITM qua xác nhận của người dùng | Mặc định cho lần ghép nối đầu tiên |
| Nhập mã khóa | Nhập mã khóa 6 chữ số | MITM qua khóa chia sẻ | Chế độ quản trị lớp học |
| Ngoài băng tần | Chạm NFC | MITM qua kênh OOB | Các model NFC trong tương lai |
Bút đọc sách mặc định dùng So sánh số khi ghép nối lần đầu. Bút hiển thị một dãy số 6 chữ số trên màn hình OLED tùy chọn (hoặc đọc lại qua âm thanh trên các model không có màn hình, như P2). Ứng dụng chủ hiển thị cùng dãy số. Người dùng xác nhận trùng khớp. Mã 6 chữ số có 10^6 = 1.000.000 giá trị khả dĩ; xác suất MITM đoán đúng là 10^-6.
Trao đổi khóa ECDH P-256 đằng sau cơ chế này là nguyên thủy giống với bộ mật mã TLS 1.3 ECDHE_ECDSA. Bộ thu phát của bút (Nordic nRF52840 hoặc Realtek RTL8763E) có bộ tăng tốc phần cứng thực hiện phép nhân vô hướng P-256 trong ~7,2 ms.
3. Máy trạng thái ghép nối
Máy trạng thái ghép nối của bút đọc sách tuân theo Bluetooth Core Specification v5.4, Tập 3, Phần H, Mục 2.3.5:
| Trạng thái | Vai trò bút | Chuyển trạng thái khi |
|---|---|---|
| Chờ | Quảng bá | Bên kia kết nối |
| Đang quảng bá | Quảng bá | Bên kia gửi CONNECT |
| Khởi tạo | Bên khởi tạo (hiếm khi) | Dùng khi bút là phía chủ |
| Kết nối đã được thiết lập | Either | Nhận yêu cầu ghép nối |
| Trao đổi tính năng ghép nối | Bên phản hồi | Đã gửi phản hồi ghép nối |
| Tạo khóa | Either | Giá trị xác nhận đã được xác minh |
| Phân phối khóa | Either | Đã giao LTK + IRK + CSRK |
| Đã ghép nối | Either | Bản ghi ghép nối mới đã được lưu vào NV |
Bút ở trạng thái "Connection Established" trong 240 ms (khoảng kết nối tối thiểu của BLE 5.0 + độ trễ slave), sau đó chuyển sang Feature Exchange. Toàn bộ luồng ghép nối Numeric Comparison hoàn tất trong 1,4 s trên firmware Q6/Q8 phiên bản 3.3.1 và 1,8 s trên firmware F8 phiên bản 3.1.2. Just Works hoàn tất trong 0,9 s.
4. Legacy Just Works và LE Secure Connections Just Works
Một sai lầm phổ biến là cho rằng "Just Works" luôn yếu. Thực tế không phải vậy. Có hai chế độ "Just Works" rất khác nhau:
| Chế độ | Thông số | ECDH? | Bảo vệ MITM |
|---|---|---|---|
| Legacy Just Works | BT 4.0/4.1 SSP | Không | Không có — kẻ nghe lén có thể chặn |
| LE Secure Connections Just Works | BT 4.2+ | Có (P-256) | Kẻ nghe lén không thể giải mã, nhưng MITM chủ động vẫn có thể chèn |
Một khách hàng khi nghe "Just Works" mà hoảng hải thường đang nghĩ đế chế độ cũ. Trên bút đọc hiện tại, Just Works vẫn sử dụng ECDH, nên liên kết vô tuyến được mã hóa chống nghe lén thụ động. MITM chủ động (kẻ tấn công nằm trên đường truyền vô tuyến và có thể chặn cả hai phía) thì Just Works không bảo vệ được, đó là lý do chúng tôi xuất xưởng Numeric Comparison làm mặc định cho cặp ghép đầu tiên trên các model T2/Y6.
5. Triển khai phía bút
Trên firmware Q6/Q8 3.3.1, ngăn xếp SSP được xây dựng trên thư viện vô tuyến SoftDevice (Nordic nRF52840 SDK 17.1.0). Bút lưu trữ:
| Thành phần | Kích thước | Lưu tại | Thời hạn |
|---|---|---|---|
| Long Term Key (LTK) | 16 byte | Trang flash 7, mỗi slot một thiết bị | Cho đến khi hủy ghép |
| Identity Resolving Key (IRK) | 16 byte | Cùng slot | Cho đến khi hủy ghép |
| Connection Signature Resolving Key (CSRK) | 16 byte | Cùng vị trí (slot) | Cho đến khi hủy liên kết |
| Peer IRK | 16 byte | Cùng vị trí (slot) | Cho đến khi hủy liên kết |
| Peer BD_ADDR | 6 byte | Cùng vị trí (slot) | Cho đến khi hủy liên kết |
Bút hỗ trợ tối đa 8 thiết bị đã ghép nối (giới hạn 8 slot do bảng bond 32 KB flash của chúng tôi áp đặt; chúng tôi có thể mở rộng lên 32 slot nhưng sẽ làm tăng mức hao mòn NV). Khi slot 8 đầy và thiết bị thứ 9 cố gắng ghép nối, bút sẽ ghi đè lên slot cũ nhất. Chúng tôi ghi lại sự kiện này vào luồng telemetry QA (TC-077) để quản trị viên IT của trường có thể phát hiện "tình trạng bút đổi tay quá thường xuyên".
6. Tính năng bảo mật: LE Privacy 1.2
Mọi bút đọc sách sản xuất từ năm 2023 đều được bật sẵn LE Privacy 1.2. Điều này có nghĩa là bút quảng bá bằng Resolvable Private Address (RPA) và xoay vòng mỗi 15 phút theo mặc định. IRK được chia sẻ trong quá trình ghép nối là thứ duy nhất có thể phân giải RPA trở lại đúng danh tính thật của bút.
| Cài đặt quyền riêng tư | Khoảng thời gian xoay vòng địa chỉ | Chi phí pin |
|---|---|---|
| Đã tắt (Địa chỉ công khai) | Không bao giờ | 0 |
| LE Privacy 1.2 | 15 phút | +0,4% mỗi ngày |
| LE Privacy 1.2 (Tích cực) | 1 phút | +5,6% mỗi ngày |
Chúng tôi xuất xưởng với mặc định 15 phút vì chi phí pin 5,6% của chế độ xoay vòng tích cực là đáng kể trên viên pin 500 mAh của P2 nhưng không đáng kể trên viên pin 2500 mAh của T2. Đối với các đợt triển khai tại trường học chạy cả ngày, mặc định của T2 là xoay vòng 15 phút; mặc định của P2 là tắt xoay vòng (vì nó được bán như một bút đơn người dùng tại nhà).
7. So sánh số trên bút không có màn hình (P2)
P2 không có OLED và không có ma trận LED, chỉ có một LED ba màu duy nhất. Vậy chúng tôi thực hiện So sánh số như thế nào?
Câu trả lời là chúng tôi sử dụng âm thanh. P2 có loa 1 W. Khi vào So sánh số, P2 phát mã 6 chữ số dưới dạng chuỗi chữ số chậm, có nhịp bằng tiếng Anh ("ba… bảy… một… không… bốn… hai") với tốc độ 0,6 giây mỗi chữ số. Tổng thời gian âm thanh là 3,6 giây. Ứng dụng chủ hiển thị cùng mã trên màn hình; người dùng xác nhận trùng khớp.
Để hỗ trợ khả năng tiếp cận, mã âm thanh được phát bằng ngôn ngữ người dùng hiện đang chọn (ví dụ: Quan Thoại, Tây Ban Nha, Ả Rập). Chúng tôi xuất xưởng mã âm thanh bằng 12 ngôn ngữ. Firmware 2.0.3 của P2 có một bộ tạo mã âm thanh chuyên dụng chiếm 4 KB flash.
8. Vì sao OOB chưa xuất hiện trên bút đọc
Chúng tôi đã đánh giá ghép nối Out-of-Band (OOB) qua NFC cho một mẫu năm 2024, nhưng chi phí BOM tăng thêm là 1,40 USD mỗi bút (bộ điều khiển NFC + ăng-ten + phần tử bảo mật), đẩy giá ODM từ 4,20 USD lên 5,60 USD và vượt khỏi biên lợi nhuận thông thường cho kênh giáo dục K7. Chúng tôi đã tạm hoãn OOB cho đến khi bộ điều khiển NFC giảm xuống dưới 0,40 USD. Cho đến lúc đó, So sánh số + Just Works là phương án được khuyến nghị.
9. Chế độ Passkey cho triển khai trong lớp học
Đối với chương trình trường học 12.000 chiếc, quản trị viên IT của trường muốn cấu hình một lần mà không cần chạm vào từng bút. Chế độ Passkey Entry giải quyết yêu cầu này:
- Quản trị viên mở ứng dụng quản trị của trường.
- Ứng dụng tạo một passkey 6 chữ số, ví dụ: 482917.
- Quản trị viên nhập passkey vào từng bút qua giao diện cảm ứng.
- Bút ghép nối với ứng dụng của trường bằng passkey đó làm bí mật MITM.
Điều này bảo vệ trước việc học sinh mang điện thoại vào và giả làm ứng dụng của trường. Passkey là duy nhất cho mỗi phiên. Trong đợt triển khai 12.000 bút mà chúng tôi đã giao cho một khu vực giáo dục thuộc vùng Vịnh năm 2024, chúng tôi đã dùng Passkey Entry với một passkey xoay vòng duy nhất và 4 máy tính bảng quản trị, hoàn tất cấu hình trong 8 ngày.
10. Ý nghĩa tuân thủ
Một khách hàng ở California sẽ hỏi liệu SSP có đáp ứng điều khoản "bảo mật hợp lý" của COPPA hay không. Câu trả lời là có, vì SSP sử dụng ECDH P-256, nằm trong danh sách được FIPS 186-4 phê duyệt. Một khách hàng ở EU sẽ hỏi liệu SSP có đáp ứng yêu cầu giả danh tính của GDPR-K hay không. Câu trả lời là có, vì RPA xoay vòng là một định danh giả danh. Một khách hàng ở Trung Quốc sẽ hỏi liệu SSP có đáp ứng Điều 51 của PIPL (giả danh tính của PRC) hay không. Câu trả lời vẫn vậy, kèm theo lưu ý bổ sung rằng cách chúng tôi xử lý IRK tuân thủ tiêu chuẩn GB/T 35273-2020 về khử nhận dạng thông tin cá nhân.
| Quy định | Yêu cầu | Mức độ đáp ứng của SSP |
|---|---|---|
| COPPA (Mỹ) | Bảo mật hợp lý cho dữ liệu trẻ em | Có (ECDH P-256) |
| GDPR-K (EU) | Giả danh tính | Có (xoay vòng RPA) |
| PIPL (CN) | Giả danh tính | Có (RPA + GB/T 35273) |
| LGPD (BR) | Bảo mật và giả danh tính | Có |
| PDPA (SG/MY) | Bảo mật và giả danh tính | Có |
| APPI (JP) | Ẩn danh hóa | Một phần — phụ thuộc vào cách xử lý khóa RPA |
| DPDPA (IN) | Biện pháp bảo mật | Có (nguyên thủy được FIPS phê duyệt) |
Đối với các đợt triển khai tại trường học, chúng tôi cung cấp thêm một tài liệu tuân thủ: "Bluetooth Pairing Security White Paper", 38 trang, sửa đổi lần cuối vào 2026-04. Tài liệu này được cung cấp cho các khách hàng ODM đủ điều kiện dưới NDA.
11. Mô hình đe dọa và những điều SSP không bao phủ
| Mối đe dọa | SSP có bao phủ? | Biện pháp giảm thiểu |
|---|---|---|
| Nghe lén thụ động | Có | Mã hóa liên kết AES-CCM với LTK |
| Tấn công MITM chủ động (Just Works) | Không | Sử dụng So sánh số hoặc Passkey |
| Thiết bị ngang hàng bị xâm nhỏp | Không | Yêu cầu xác thực lớp ứng dụng |
| Bút bị đánh cắp | Một phần | Máy chủ đã liên kết có thể bị xóa; bút có thể khôi phục cài đặt gốc bằng cách giữ nút 10 giây |
| Tấn công phát lại khi ghép nối | Có | ECDH tạo khóa phiên mới cho mỗi lần liên kết |
| Lừa đảo người dùng | Không | Đào tạo người dùng so sánh mã |
| Nhận dạng vô tuyến RF | Không | Mức rủi ro chấp nhận được đối với đồ chơi tiêu dùng |
Chúng tôi ghi rõ những điều này trong sách hướng dẫn sử dụng và trong bộ tài liệu đào tạo phía thương hiệu dành cho nhà phân phối.
12. Hiệu năng và Pin
Quá trình trao đổi khóa ECDH P-256 mất 1,2 ms trên nRF52840 và 8,4 ms trên RTL8763E. Thời gian hiển thị so sánh số là 30 giây hoạt động LED, tiêu thụ khoảng 3 mA. Lệnh ghi bonding vào flash mất 12 ms và sử dụng một chu kỳ NV. Trong toàn bộ vòng đời của một cây bút (300 bonding/năm trong 5 năm = 1.500 bonding), con số này chỉ chiếm 0,0004% ngân sách độ bền flash (10.000 chu kỳ).
13. Mối liên hệ với các bài viết khác
TC-059 thuộc nhóm kết nối. TC-057/TC-058 định nghĩa lớp HID. TC-060 mô tả các dịch vụ GATT sau khi ghép nối. TC-061 giải thích luồng thông báo khi bonding đang hoạt động. TC-062 đề cập đến đường cấu hình Wi-Fi AP cùng tồn tại với BLE cho L5 và Y6. TC-063 giải thích cách bút quảng bá chính nó trên LAN khi đã có Wi-Fi. TC-064 đề cập đến CoAP, giao thức chạy trên kết nối LAN.
15. Bài đọc liên quan
- Reading Pen USB HID và HID qua GATT
- Reading Pen Bộ mô tả báo cáo HID và Usage Page
- Reading Pen Thiết kế UUID đặc tính dịch vụ BLE
- Reading Pen Máy chủ GATT và cơ chế thông báo
- Reading Pen Cơ chế chế BLE Mesh và ghép nối
- Reading Pen Bluetooth 5.0 so với 5.2 so với 5.3
- Reading Pen Mật mã và TrustZone
- Reading Pen Ghim chứng chỉ và xoay vòng