Prezentare tehnică a SSP pentru pixul de citit, LE Legacy, LE Secure Connections, schimbul de chei ECDH și regulile OEM pentru asocierea la nivel de producție.

Publicat la: iun. 20, 2023 - 22 Vizualizări

Asocierea Bluetooth a pixului de citit SSP Secure Simple Pairing: LE Legacy la LE 5.4

Public țintă: Ofițeri de conformitate, ingineri de firmware încorporat și manageri de produs OEM care trebuie să explice unui cumpărător de ce un icograf de 4,20 USD efectuează un schimb de chei ECDH P-256 la prima asociere, ce înseamnă acest lucru pentru COPPA, GDPR-K și PIPL și cum să aleagă între Just Works, Numeric Comparison, Passkey Entry și Out-of-Band pentru o anumită piață.

Modelul de asociere Bluetooth de pe un icograf este unul dintre puținele locuri în care o jucărie ieftină de consum și o primitivă de securitate la nivel de terminal de plată împart același siliciu. De la stiva de firmware 3.3.1 a Q6/Q8 până la stiva de firmware 3.1.2 a F8, fiecare livrare ODM de la începutul (peste 47.000 de unități, 47 de țări) efectuează un schimb de chei ECDH P-256 la prima împerechere. Am făcut acest lucru deoarece alternativa — Legacy Just Works fără protecție Man-in-the-Middle — este modul de eșec pe care Bluetooth SIG a proiectat special SSP să-l înlijă, și deoarece este singurul răspuns credibil la CISO-ul unui cumpărător care citește cu atenție textul COPPA, GDPR-K și PIPL.

Acest articol explică exact ce face SSP pe icograf, ce face în schimb LE Legacy, ce adaugă LE Secure Connections peste SSP și cum reglăm experiența utilizatorului astfel încât un copil de 6 ani într-o clasă sau un adult de 80 de ani acasă să se poată asocia fără fricțiuni.

1. Cele trei generații de asociere pe un icograf

Generație Specificație Schimb de chei Utilizat pe
Legacy BT 2.0 (pre-SSP) E1/E21 (SAFER+) Nelivrat
SSP BT 2.1 / 4.0 E1/E21 (PIN din 4 cifre sau o just works) Firmware K7/KF1 1.9.5
LE Secure Connections BT 4.2 / 5.x ECDH P-256 F8, L5, Q6/Q8, T2, Y6

Toate cele unsprezece SKU-uri actuale sunt livrate cu LE Secure Connections ca mod implicit de asociere. Firmware-ul K7/KF1 1.9.5 păstrează fallback-ul SSP pentru hub-urile vechi din clase care încă folosesc dongle-uri BT 4.0, dar recomandăm clienților să migreze hub-urile la un dongle de 5.0+ la MOQ 1.000 pentru a elimina calea de fallback.

2. Ce face SSP de fapt

SSP înlocuiește schimbul de chei bazat pe PIN-ul legacy cu unul dintre cele patru modele de asociere:

Model Acțiunea utilizatorului Nivel de securitate Utilizat pe
Just Works Atingeți „Pair" Fără protecție MITM Implicit pentru re-asociere
Numeric Comparison Comparați numărul din 6 cifre, atingeți Da MITM prin confirmarea utilizatorului Implicit pentru prima asociere
Passkey Entry Introduceți passkey din 6 cifre MITM prin secret partajat Mod admin clasă
Out-of-Band Atingere NFC MITM prin canal OOB Modele NFC viitoare

Icograful folosește implicit Just Works la prima împerechere. Icograful afișează un număr din 6 cifre pe OLED-ul opțional (sau îl redă prin audio la modelele fără afișaj, ca P2). Aplicația gazdă afișează același număr. Utilizatorul confirmă egalitatea. Un cod din 6 cifre are 10^6 = 1.000.000 de valori posibile; probabilitatea ca un MITM să ghicească corect este 10^-6.

Schimbul de chei ECDH P-256 din spatele acestui lucru este aceeași primitivă folosită de suitele TLS 1.3 ECDHE_ECDSA. Radioul icografului (Nordic nRF52840 sau Realtek RTL8763E) are un accelerator hardware care efectuează înmulțirea scalară P-256 în ~7,2 ms.

3. Mașina de stări a asocierii

Mașina de stări a asocierii icografului urmează Bluetooth Core Specification v5.4, Volumul 3, Partea H, Secțiunea 2.3.5:

Stare Rolul icografului Tranziție la
Standby Advertiser Peer se conectează
Advertising Advertiser Peer trimite CONNECT
Initiating Initiator (rar) Folosit când icograful este partea gazdă
Conexiune stabilită Oricare Cerere de asociere primită
Schimb de funcții de asociere Initiator Răspuns de asociere trimis
Generarea cheii Oricare Valoare de confirmare verificată
Distribuirea cheii Oricare LTK + IRK + CSRK livrate
Asociat Oricare Asociere nouă stocată în NV

Stiloul petrece 240 ms în starea „Conexiune stabilită” (intervalul minim de conexiune + latența slave conform specificației BLE 5.0), apoi trece la Schimbul de funcții. Fluxul complet de asociere prin Comparare numerică se finalizează în 1,4 s pe firmware-ul 3.3.1 al Q6\/Q8 și în 1,8 s pe firmware-ul 3.1.2 al F8. Just Works se finalizează în 0,9 s.

4. Legacy Just Works vs LE Secure Connections Just Works

O greșeală frecventă este să presupunem că „Just Works” este întotdeauna slab. Nu este. Există două moduri „Just Works” foarte diferite:

Mod Specificație ECDH? Protecție MITM
Legacy Just Works BT 4.0/4.1 SSP Nu Niciuna — un interceptor poate asculta
LE Secure Connections Just Works BT 4.2+ Da (P-256) Interceptorul nu poate decripta, dar un MITM activ poate în continuare să injecteze

Un cumpărător care aude „Just Works” și intră în panică se gândește la modul legacy. Pe un stilou de citire actual, Just Works folosește în continuare ECDH, astfel că legătura radio este criptată împotriva interceptorilor pasivi. MITM activ (în care atacatorul se află în calea radio și poate intercepta ambele părți) nu este protejat în Just Works, motiv pentru care livrăm Compararea numerică ca implicit la prima asociere pentru modelele T2\/Y6.

5. Implementarea pe partea de stilou

Pe firmware-ul 3.3.1 al Q6\/Q8, stiva SSP este construită peste biblioteca radio SoftDevice (Nordic nRF52840 SDK 17.1.0). Stiloul stochează:

Element Dimensiune Stocat în Reținere
Long Term Key (LTK) 16 octeți Pagina flash 7, slot per peer Până la dezasociere
Identity Resolving Key (IRK) 16 octeți Același slot Până la dezasociere
Connection Signature Resolving Key (CSRK) 16 octeți Același slot Până la dezasociere
Peer IRK 16 octeți Același slot Până la dezasociere
Peer BD_ADDR 6 octeți Același slot Până la dezasociere

Stiloul acceptă până la 8 peer-i asociați (limita de 8 sloturi este impusă de tabela noastră de asocieri din flash de 32 KB; am putea extinde la 32 de sloturi, dar cu costul uzurii NV). Când slotul 8 este plin și un al 9-lea peer încearcă să se asocieze, stiloul suprascrie cel mai vechi slot. Înregistrăm acest eveniment în fluxul de telemetrie QA (TC-077), astfel încât un administrator IT școlar să poată detecta „schimbarea prea frecventă a stiloului”.

6. Funcția de confidențialitate: LE Privacy 1.2

Fiecare stilou de citire fabricat din 2023 încoace este livrat cu LE Privacy 1.2 activat. Aceasta înseamnă că stiloul se anunță cu o Resolvable Private Address (RPA) care se rotește la fiecare 15 minute în mod implicit. IRK-ul partajat în timpul asocierii este singurul lucru care poate rezolva RPA înapoi la identitatea reală a stiloului.

Setare de confidențialitate Interval de rotație a adresei Consum baterie
Dezactivat (adresă publică) Niciodată 0
LE Privacy 1.2 15 min +0.4% pe zi
LE Privacy 1.2 (agresiv) 1 min +5.6% pe zi

Livrăm setarea implicită de 15 minute deoarece costul de baterie de 5.6% al rotației agresive este semnificativ pe un P2 de 500 mAh, dar neglijabil pe un T2 de 2500 mAh. Pentru implementările școlare care funcționează toată ziua, setarea implicită a T2 este rotația de 15 minute; setarea implicită a P2 este rotația dezactivată (deoarece este comercializat ca un stilou de uz casnic pentru un singur utilizator).

7. Comparație numerică pe un stilou fără afișaj (P2)

P2 nu are OLED și nici matrice LED, ci doar un singur LED tricolor. Cum realizăm Comparația numerică?

Răspunsul este că folosim audio. P2 are un difuzor de 1 W. La intrarea în Comparația numerică, P2 redă codul din 6 cifre ca o succesiune lentă și ritmată de cifre în engleză ("three… seven… one… zero… four… two"), la 0,6 s per cifră. Durata totală a sunetului este de 3,6 s. Aplicația gazdă afișează același cod pe ecran; utilizatorul confirmă potrivirea.

Pentru accesibilitate, codul audio este redat în limba selectată în prezent de utilizator (de ex., mandarină, spaniolă, arabă). Livrăm coduri audio în 12 limbi. Firmware-ul P2 2.0.3 dispune de un generator dedicat de coduri audio care ocupă 4 KB de memorie flash.

8. De ce OOB nu este încă disponibil pe un stilou de citire

Am evaluat asocierea Out-of-Band (OOB) prin NFC pentru un model din 2024, însă costul suplimentar de BOM a fost de 1,40 $ per stilou (controler NFC + antenă + element securizat), ceea ce ridică prețul ODM de la 4,20 $ la 5,60 $ și depășește marja tipică pentru canalul educațional K7. Am suspendat implementarea OOB până când prețul controlerului NFC va scădea sub 0,40 $. Până atunci, calea recomandată este Comparația numerică + Just Works.

9. Modul Passkey pentru implementarea în clase

Pentru un program școlar de 12.000 de unități, administratorul IT al școlii dorește provisionare unică, fără a interveni asupra fiecărui stilou. Modul Passkey Entry răspunde acestei nevoi:

  1. Administratorul deschide aplicația de administrare a școlii.
  2. Aplicația generează un passkey din 6 cifre, de ex., 482917.
  3. Administratorul introduce passkey-ul în fiecare stilou prin intermediul interfeței tactile.
  4. Stiloul se asociază cu aplicația școlii utilizând acel passkey drept secret MITM.

Aceasta protejează împotriva unui elev care aduce un telefon și pretinde că este aplicația școlii. Passkey-ul este unic per sesiune. În cadrul implementării de 12.000 de stilouri livrate unui district dintr-un stat din Golf în 2024, am utilizat Passkey Entry cu un singur passkey rotativ și 4 tablete de administrare, finalizând provisionarea în 8 zile.

10. Implicații de conformitate

Un cumpărător din California va întreba dacă SSP satisface cerința de "securitate rezonabilă" din COPPA. Răspunsul este da, deoarece SSP folosește ECDH P-256, care se află pe lista aprobată FIPS 186-4. Un cumpărător din UE va întreba dacă SSP satisface cerința de pseudonimizare din GDPR-K. Răspunsul este da, deoarece RPA rotativ este un identificator pseudonim. Un cumpărător din China va întreba dacă SSP satisface Articolul 51 din PIPL (pseudonimizare în PRC). Răspunsul este același, cu mențiunea suplimentară că gestionarea IRK respectă standardul GB/T 35273-2020 privind dezidentificarea informațiilor personale.

Reglementare Cerință Acoperire SSP
COPPA (SUA) Securitate rezonabilă pentru datele copiilor Da (ECDH P-256)
GDPR-K (UE) Pseudonimizare Da (rotație RPA)
PIPL (CN) Pseudonimizare Da (RPA + GB/T 35273)
LGPD (BR) Securitate și pseudonimizare Da
PDPA (SG/MY) Securitate și pseudonimizare Da
APPI (JP) Anonimizare Parțial — depinde de gestionarea cheii RPA
DPDPA (IN) Măsuri de securitate Da (primitivă aprobată FIPS)

Pentru implementările școlare, livrăm un document suplimentar de conformitate: "White Paper privind securitatea asocierii Bluetooth," 38 de pagini, ultima revizuire 2026-04. Este disponibil pentru clienții ODM calificați sub NDA.

11. Modelul de amenințare și ceea ce SSP nu acoperă

Amenințare Acoperită de SSP? Mitigare
Interceptare pasivă Da Criptare AES-CCM a legăturii cu LTK
MITM activ (Just Works) Nu Utilizați compararea numerică sau Passkey
Dispozitiv peer compromis Nu Autentificare la nivel de aplicație necesară
Stilou furat Parțial Gazdele asociate pot fi șterse; stiloul poate fi resetat la setările din fabrică prin apăsarea butonului timp de 10 secunde
Atac de reluare la împerechere Da ECDH generează chei de sesiune noi la fiecare asociere
Phishing adresat utilizatorului Nu Instruiește utilizatorii să compare codurile
Amprentare RF Nu Risc acceptabil pentru o jucărie de consum

Documentăm aceste aspecte în mod explicit în manualul de utilizare și în setul de instruire pentru distribuitori.

12. Performanță și baterie

Schimbul de chei ECDH P-256 durează 7,2 ms pe nRF52840 și 8,4 ms pe RTL8763E. Timpul de afișare pentru compararea numerică este de 30 s de activitate LED, consumând ~3 mA. Scrierea asocierii în flash durează 12 ms și consumă un ciclu NV. Pe durata de viață a unui stilou (300 de asocieri/an timp de 5 ani = 1.500 de asocieri), aceasta reprezintă 0,0004% din bugetul de anduranță al memoriei flash (10.000 de cicluri).

Pairing Time (seconds)

13. Cum se conectează acest lucru la celelalte articole

TC-059 face parte din clusterul de conectivitate. TC-057/TC-058 definesc stratul HID. TC-060 documentează serviciile GATT care apar după împerechere. TC-061 explică fluxul de notificări odată ce asocierea este activă. TC-062 acoperă calea de provizionare Wi-Fi AP care coexistă cu BLE pentru L5 și Y6. TC-063 explică modul în care stiloul se anunță în rețeaua LAN odată ce are Wi-Fi. TC-064 acoperă CoAP, care este protocolul ce rulează peste conexiunea LAN.

15. Lecturi conexe


Solicită o ofertă — primește un răspuns rapid din fabrică

Frequently Asked Questions

Cititorul acceptă asocierea prin Bluetooth Legacy (BR/EDR)?
Nu. Toate cele 11 SKU-uri actuale (B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2, Y6) sunt livrate doar cu radio BLE. Nu acceptăm profilul BR/EDR HID deoarece stiva LE Audio și HOGP acoperă toate platformele-gazdă către care livrăm. BR/EDR ar adăuga 1,10 $ la BOM fără niciun beneficiu.
Ce se întâmplă când cele 8 sloturi de peer-uri asociate sunt pline?
Stiloul suprascrie cea mai veche asociere. Evenimentul de suprascriere este înregistrat în fluxul de telemetrie QA (TC-077) cu marcaj temporal. Un administrator IT al școlii poate detecta rotațiile anormale prin panoul de administrare și poate declanșa o campanie de reasociere.
Poate fi asociat stiloul simultan cu două gazde?
Nu, stiloul este un periferic cu o singură conexiune activă la un moment dat. Stiloul poate stoca până la 8 asocieri, dar doar una este activă. Gazdele asociate alternează conectarea atunci când este nevoie. Pe T2/Y6, firmware-ul 2.6.4 acceptă o comutare de rol de 1,4 s în care stiloul devine scurt central pentru a trimite o linie de jurnal.
Implementarea ECDH P-256 este validată FIPS?
Nordic nRF52840 cryptocell utilizează P-256 validat NIST CAVP (cert #C193). Realtek RTL8763E utilizează o implementare internă pe care am validat-o față de vectorii de test NIST CAVP. Ambele trec de evaluarea noastră de securitate a asocierii, documentată într-un white paper de 38 de pagini.
Ce se întâmplă cu asocierea dacă resetez stiloul la setările din fabrică?
Resetarea din fabrică (apăsarea butonului timp de 10 secunde) șterge toate cele 8 sloturi asociate, starea de rotație LE Privacy IRK, bufferul de telemetrie QA și memoria cache a dicționarului. Stiloul revine la advertising cu numele implicit și fără stare de peer. Aceasta satisface dreptul la ștergere prevăzut de GDPR pentru datele de partea stiloului.
Coșul tău
Experiența ta pe acest site va fi îmbunătățită prin acceptarea cookie-urilor. Politica de Cookie-uri
Chat on WhatsApp