Målgruppe: Denne artikel er skrevet til sikkerhedsingeniører, penetrationstestere, compliance-ansvarlige og OEM/ODM-indkøbsteams, der vurderer, om den kryptografiske implementering i en SmartReadingPen-læsepen modstår sidekanalsangreb – og hvilke konkrete tekniske kontroller der er nødvendige, før man sender et børneapparat på markedet, der håndterer stemmebiometri, forældres PIN-koder og dekrypteringsnøgler til indhold.
En læsepen, der bruger AES-128 til at kryptere stemmeindlejringer, men som gør det med en ikke-konstant-tidsimplementering kan lække krypteringsnøglen via den tid, det tager at udføre en enkelt blokchiffer-operation. En angriber med et oscilloskop til $40 og 6 timers laboratorietid kan gendanne firmwarens signeringsnøgle, forældrenes PIN-kode eller den klonede stemmes dekrypteringsnøgle – og forfalske en firmwareafbildning, som pennen vil acceptere som ægte. Den kryptografiske algoritme er ubrydelig; implementeringen er det ikke.
Dette er det tekniske brief om vores sidekanals-hærdning: konstant-tids AES, maskering, skjulning, EM-afskærmning og den valideringsprotokol, du bør kræve af enhver wholesale reading pens-leverandør, før du accepterer et børneapparat på dit marked.
1. Sidekanal-trusselsmodellen for en læsepen
En læsepen er ikke en server i et datacenter. Det er en håndholdt enhed med en USB-C-opladningsport, en MEMS-mikrofon, en lille højttaler og en Bluetooth-radio. Angriberen har fysisk adgang (pennen kan blive væk eller stjålet), lader sig ikke afskrække af manipulationssikre forseglinger (forseglingerne kan klippes op) og kan have avanceret laboratorieudstyr.
| Angrebsklasse | Udstyr | Færdighed | Omkostning for angriber |
|---|---|---|---|
| Timingangreb på AES | USB-logikanalysator | Mellem | $40 |
| Strømanalyse (SPA/DPA) | Oscilloskop + strømshunt | Avanceret | $400 |
| Elektromagnetisk (EM)-udstråling | H-feltsonde + SDR | Avanceret | $1.200 |
| Cache-sidekanal | Ingen (fjern-timing) | Avanceret | $0 |
| Akustisk sidekanal | Mikrofon + ML | Mellem | $20 |
| Optisk sidekanal | Kamera + billedanalyse | Avanceret | $200 |
| Glitch-angreb (se TC-146) | Chip-afdækker + pulsgenerator | Ekspert | $4.000 |
Den mest sandsynlige angriber mod en læsepen er en kommerciel spionageaktør der forsøger at klone en kendis-stemme med ophavsret (se TC-136), eller en gråmarked-importør der forsøger at omgå regional indholdslås, eller en statslig aktør der forsøger at kompromittere en skolekommunes flåde. Alle tre er inden for trusselsmodellen.
2. Den konstanttids AES-implementering
Det vigtigste sidekanalsikkerhedsprincip er en konstanttids AES-implementering. Vores firmware bruger en AES-128-implementering afledt af BearSSL-aes_ct- og aes_ct64-rutinerne, porteret til Cortex-M4-lyd-DSP'en og Cortex-A53-applikationsprocessoren. Nøgleegenskaber:
| Ejendom | Standard AES | AES med konstant tid |
|---|---|---|
| Eksekveringstid pr. blok | Variabel (afhænger af nøglebits) | Fast |
| Cache-adgangsmønster | Tabeldrevet (sårbar) | Bitslice eller vektoriseret |
| Forgrening på hemmelige data | Ja (sårbar) | Nej |
| Hukommelsesadgang på hemmelige data | Variabel | Fast sekvens |
Performance-straffen er reel men acceptabel: en AES-128-blokkryptering med konstant tid tager 148 ns på Cortex-M4 DSP'en ved 168 MHz, sammenlignet med 54 ns for en tabeldrevet implementering. Den 2,7× overhead er irrelevant sammenlignet med den 9 ms lydbuffer, som AES'en beskytter.
3. Modstandsdygtighed over for strømanalyse: Maskering og skjulning
Et Differential Power Analysis (DPA)-angreb korrelerer tusindvis af strømoptagelser med hypoteser om nøglebytes. Standardmodforholdsregler:
-
Boolsk maskering — hver mellemværdi
xopdeles ix = x_m ⊕ x_mask, hvorx_masker en tilfældig byte, der opdateres for hver operation. Den maskerede værdi behandles af en maskeret AES S-box; afmaskningen sker først i den sidste runde. -
Maskeret S-box — AES S-box-opslaget erstattes med en maskeret beregning, der ikke lækker S-box-outputtet på strømoptagelsen. Vores implementering bruger den maskerede Coron–Prouff S-box med 8 andele.
-
Indsættelse af tilfældig forsinkelse — AES-rundetælleren randomiseres over ±15 cyklusser, hvilket afkobler strømoptagelsen fra rundeindekset.
-
Shuffling af strømlinjer — SoC'ens interne strømgating shuffles på tværs af redundante logikblokke, hvilket udtværer strømsignaturen over flere clockdomæner.
De kombinerede modforholdsregler hæver DPA-spor, der kræves for at afsløre (TTD) fra ~5.000 spor (ubeskyttet AES) til >1.200.000 spor (beskyttet AES), målt af et uafhængigt laboratorium (Riscure, Q1 2026-rapport). Ved en optagelseshastighed på 1.000 spor/sekund tager angrebet 20 minutter i stedet for 5 sekunder, hvilket kræver en flerdages uafbrudt laboratoriesession.
4. EM-afskærmning og printkortlayout
Elektromagnetisk udstråling lækker AES-nøglen via nærfelts H-probe-målinger på PCB'et. Vores modforholdsregler:
- Stelplan — et sammenhængende 4-lags PCB-stelplan under SoC'en, uden signaltrace, der krydser SoC'ens strømøer.
- EM-pakning — en beryllium-kobber-pakning rundt om SoC'ens hus, forbundet til stelplanet med ledende klæbemiddel.
- Afkoblingskondensatorer — 0402 100 nF kondensatorer placeret hver 2 mm langs SoC'ens strømben, med en separat kondensator pr. ben.
- Spread-spectrum-clock — SoC'ens hovedclock moduleres med ±1% over en 30 kHz trekantbølge, hvilket udtværer de EM-spektrale linjer over et bredere bånd.
- Intern afskærmningskappe — for Q8- og T2-SKU'erne er SoC'en indkapslet i en fortinnet messingkapsel, der er fabrikssvejset til stelplanet.
EM-sidekanallækage på en beskyttet Q8-pen måles til ≤ 0,04 bits pr. spor ved den nærmeste probeposition (1 cm over SoC'en), sammenlignet med 1,8 bits pr. spor på et uafskærmet referencekort.
5. Modstandsdygtighed over for cache-sidekanaler
Et cache-timingangreb på AES udnytter data-cache-adgangsmønsteret for T-tabel-AES. Vores AES med konstant tid erstatter T-tabeller med bitslice-beregning, hvilket eliminerer opslag i cache-tabeller fuldstændigt. Bitslice-implementeringen behandler 8 AES-blokke parallelt ved hjælp af 128-bit SIMD-registre, hvilket giver både konstant-tids udførelse og en 3× gennemløbsforbedring.
På applikationsprocessoren (Cortex-A53) flushes L1-datacachen før og efter hver AES-operation via dc civac-instruktionen, hvilket forhindrer cache-lækage mellem operationer.
6. Akustiske og optiske sidekanaler
Mindre kendte, men praktiske:
- Akustisk sidekanal — MEMS-mikrofonen og højttaleren kan lække AES-nøglebits via koblede vibrationer på printpladen. Vores firmware deaktiverer højttalerforstærkeren under AES-operationer (et 9 ms hul) og parkerer MEMS-mikrofonen i reset.
- Optisk sidekanal — et højhastighedskamera kan observere SoC'ens LED-aktivitetsmønstre, der er korreleret med AES-runder. Vores firmware randomiserer LED-blinkmønsteret under kryptooperationer for at afkoble det visuelle signal.
7. Valideringsprotokol for OEM-købere
Fem uforhandlelige tjek for enhver leverandør af læsepenne, der hævder sidekanalsmodstand:
- TVLA-rapport. Kræv en Test Vector Leakage Assessment-rapport fra et uafhængigt laboratorium (Riscure, Brightsight eller Serma). Vores seneste rapport dækker 12.000 spor på Q8-platformen; godkendelse kræver < 0,1 bit lækage ved 95%-percentilen.
- Kildekode-review for konstant tid. Kræv kildekoden til AES-implementeringen og verificér brugen af BearSSL-stil bitslice eller tilsvarende. Afvis enhver leverandør, der bruger OpenSSL's standardimplementering med
aes_ct-tabeller. - Antal DPA-spor til afsløring (TTD). Kræv den målte TTD for verificering af forældre-PIN. Under 100.000 spor er uacceptabelt.
- EM-skærmningsspec. Kræv PCB-stackup-tegningen og et foto af det indvendige skærmningshus (for premium SKU'er).
- Verifikation af cache-flush. Kræv et logikanalysator-spor, der viser
dc civac-kald, som omslutter hver AES-operation.
Disse tjek er en del af vores standard Factory Acceptance Test for engros læsepenne til indkøb i skoledistrikter kunder.
8. Nøglehåndtering og rotation
Selv med perfekt konstanttids AES er en nøgle, der aldrig roteres, en sårbarhed. Vores politik for nøglehåndtering:
| Nøgle | Opbevaring | Rotationsperiode | Ejer |
|---|---|---|---|
| Nøgle til firmware-signering | Sikker element (engangsprogrammerbar sikring) | Aldrig (enhedens levetid) | OEM |
| Hash for forældre-PIN | TrustZone SRAM, nulstilles ved slukning | Aldrig (PIN vælges af forælder) | Forælder |
| Indholdsdekrypteringsnøgle (pr. bog) | Krypteret i NAND, nøgle indpakket af enhedens hovednøgle | Pr. bog | OEM |
| Krypteringsnøgle for talerprofil | TrustZone, afledt pr. profil | Pr. profil | Enhed |
| OTA-sessionnøgle | Kortvarig, ECDH-afledt | Pr. OTA-session | Lejer |
Enhedens hovednøgle er brændt ind ved fremstilling i en engangsprogrammerbar (OTP) hukommelsesblok; den kan ikke udlæses, heller ikke af OEM'en. Alle andre nøgler er indpakket af hovednøglen og pakkes kun ud i TrustZones sikre verden.
9. Konstant tid ud over AES
Den samme konstante-tids-disciplin gælder for andre kryptografiske primitiver:
| Primitive | Sidekanal-risiko | Vores afbødning |
|---|---|---|
| AES-128 / AES-256 | Høj | Bitslice, maskeret S-box |
| SHA-256 | Mellem | Hardware SHA-accelerator med maskering |
| ECDSA (curve25519) | Høj | Konstant-tids skalar-multiplikation |
| RSA-2048 (ældre indholds-nøgler) | Høj | Konstant-tids CRT-RSA, blindet |
| HMAC-SHA256 | Lav | Standardimplementering |
| HKDF | Lav | Standardimplementering |
Den konstante-tids ECDSA på curve25519 er særligt vigtig, fordi ECDSA-signering er grundlaget for vores firmware-opdateringssignaturverifikation; en ikke-konstant-tids-implementering ville tillade en angriber at forfalske en firmware-image ved at observere signaturtiden.
10. Hvad købere skal verificere
Fem konkrete tjek:
- TVLA-laboratorierapport — uafhængig, aktuel, < 0,1 bits lækage ved 95%-percentilen.
- DPA-spor-der-afslører — > 100.000 på forældre-PIN-stien.
- Konstant-tids kildekode-review — BearSSL-stil eller tilsvarende, ingen OpenSSL-standard AES.
- EM-skærmningsbeholder — til stede på Q8- og T2-SKU'er.
- Nøglerotationspolitik — dokumenteret og reviderbar.
En leverandør, der ikke kan fremlægge alle fem, bør ikke sende en børns læsepen med stemmebiometri eller forældre-PIN'er til dit marked. Den omdømmemæssige og regulatoriske omkostning ved en sidekanal-afsløring er langt højere end den tekniske omkostning ved konstante-tids-krypto.
Relateret læsning
- Læsepen: fejlinjektion og glitch-angreb-hærdning
- Læsepen: kryptografisk accelerator og AES-motor
- Læsepen: kryptografi og TrustZone
- Læsepen: sikker opstart og anti-rollback
- Læsepen: forældrekontrol og COPPA
- Læsepen: anvendelsestilfælde — indkøb til offentlige skoledistrikter
11. Indkøbsspecifikationer på tværs af læsepen-kataloget med 11 modeller
Sidekanals-modstand skaleres på tværs af vores læsepen-serie. Entry-level B1, B2, P2 og KF1 bruger en software-baseret konstante-tids AES på Cortex-M0-kernen med et enkelt DPA-modforanstaltningslag; mellemste niveau F8, K7, Q6 og L5 tilføjer hardware-SHA-acceleratoren og maskeret S-box; premium Q8, T2 og Y6 bærer hele stakken inklusive en intern messing-skærmningsbeholder og et NXP SE050-sikkert element. Q8 leveres til $14,20 EXW Shenzhen i MOQ 1.000-partier, T2 til $14,50 med et 2.500 mAh Li-ion 18650-celle, der understøtter 14 timers kontinuerlig brug, og Y6 til $13,80 med 4G-celle som fallback til OTA-verifikation, når Wi-Fi ikke er tilgængeligt. Alle tre premium-SKU'er er dækket af 18 aktive certificeringer — CE, FCC, UKCA, EN 71-1/2/3, ASTM F963, CPSIA, RoHS, REACH, RCM, ISED, UN38.3, IEC 62133, KC, GCC/SFDA, SNI, NOM, INMETRO og Prop 65 — og er HS-kodet 8543.70 til mainstream elektronik eller 9503.00, når de sælges med legetøjsvedhæftet emballage. Engrosordrer under T/T 30/70 eller L/C ved syne kvalificerer til en 2,4% rabat ved tidlig betaling, når saldoen overføres inden 14 dage efter faktura.