8.7 — Authenticiteit handtekening zetten met een boordcomputerkaart Regeling specificaties en typegoedkeuring boordcomputer taxi
Authenticiteit handtekening zetten met een boordcomputerkaart
Naam Gebruik | SignDataForAuthenticity Chauffeurskaart, Ondernemerskaart, Keuringskaart, Inspectiekaart
Input gegevens | Gegevens waarover handtekening berekend moet worden
Resultaat | Handtekening || ‘90 00’H OK ‘xx xx’H Foutcode van een van de gebruikte commando’s, afhankelijk van de implementatie
Deze functie wordt gebruikt voor het door een boordcomputerkaarthouder zetten van een elektronische handtekening met de sleutel-certificaatcombinatie PKI.CH.AUT die op elke boordcomputerkaart bestaat.
Elke boordcomputerkaart (chip) ondersteunt minimaal een van de twee navolgende procedures voor het uitvoeren van deze functie. De boordcomputer moet op basis van het door de chip geleverde Answer To Reset (ATR) bepalen welke van de twee procedures met de betreffende chip gebruikt moet worden. Bij chips die beide procedures ondersteunen is de boordcomputer vrij om een van beide procedures te kiezen.
Voor deze functie bestaat procedure 1 uit de volgende stappen:
1. Selectie hash template en algoritme: alvorens de digitale handtekening berekend kan worden, moet het hash template geselecteerd worden en het te gebruiken algoritme.
Dit wordt gedaan met het commando Manage Security Environment, met P1 de waarde ‘41’H en P2 de waarde ‘AA’H. De data bij dit commando is ‘80 01 40’H (‘40’H om de algoritme identifier voor SHA-256 aan te geven).
2. Selectie private key en algoritme: de private key van de BCT Authenticiteit moet geselecteerd worden met het te gebruiken algoritme.
Dit wordt gedaan met het commando Manage Security Environment, met P1 de waarde ‘41’H en P2 de waarde ‘B6’H. De data bij dit commando is ‘80 01 42 84 01 85’H (‘42’H om ‘PKCS#1 v1.5 – SHA-256’ aan te duiden en ‘85’H om het Security Data Object (SDO) van PKI.CH.AUT aan te duiden).
3. PIN valideren: de private key van de BCT Authenticiteit mag pas gebruikt worden nadat de PIN gevalideerd is. Een eenmaal uitgevoerde PIN validatie mag – zo lang de kaart in de boordcomputer aanwezig blijft – worden ‘herbruikt’ bij elke volgende keer dat deze key gebruikt wordt.
Dit wordt gedaan met het commando Verify, waarbij P2 (de PIN reference) de waarde ‘01’H heeft. Voor de PIN wordt PIN formaat 2 gebruikt (zie onder 8.1).
4. Berekenen van de intermediate hash (SHA256) over de input gegevens door de boordcomputerlogica. Hierbij wordt het laatste gegevensblok niet gehashed, maar wordt de intermediate hash en het aantal gehashte bits onthouden voor de volgende stap.
NB. Wanneer het totaal aan input gegevens uit maximaal 64 bytes bestaat, wordt er geen intermediate hash berekend en worden alle inputgegevens in de volgende stap gebruikt.
5. Berekenen van de uiteindelijke hash (SHA256) door de boordcomputerkaart. Hiervoor wordt het commando PSO Hash gebruikt. Hierbij worden de ‘intermediate hash value’, het aantal gehashte bits en het laatste (of enige) blok inputdata van minimaal 1 en maximaal 64 bytes opgenomen in het Dataveld van het commando. Bij een succesvol uitgevoerde PSO HASH zal de uiteindelijke hash waarde in het geheugen van de boordcomputerkaart (chip) achterblijven ten behoeve van de volgende en laatste stap.
6. Handtekening berekenen: hierbij wordt met de gekozen private key de handtekening berekend over de in het chipgeheugen aanwezige hashwaarde en geeft de kaart die handtekening terug aan de boordcomputerlogica.
Dit wordt gedaan met het commando PSO Compute Digital Signature. Le, het verwachte aantal bytes in de response, moet daarbij op ‘00’H staan.
Voor deze functie bestaat procedure 2 uit de volgende stappen (nummering gelijk aan die van procedure 1):
1. Niet van toepassing.
2. Gelijk aan stap 2 van procedure 1.
3. Gelijk aan stap 3 van procedure 1.
4. Berekenen van de volledige hash (SHA256) over de input gegevens door de boordcomputerlogica.
5. Niet van toepassing.
6. Handtekening berekenen: hierbij wordt met de gekozen private key de handtekening berekend over de in stap 4 berekende hashwaarde en geeft de kaart die handtekening terug aan de boordcomputerlogica.
Dit wordt gedaan met het commando PSO Compute Digital Signature. Daarbij moet Lc, het aantal bytes van de input data, op ‘20’H staan, het DATA veld worden gevuld met de hashwaarde uit stap 4 (32 bytes) en Le, het verwachte aantal bytes in de response, op ‘00’H staan.
Zie ook PSO Hash en PSO Compute Digital Signature in Referentie [7].
Voor de vermelde SDO ID wordt verwezen naar de kaartstructuur documenten in Referenties [9] t/m [12]. Omdat dit SDO een lokaal object is, moet de in de kaartstructuur documenten gespecificeerde keyReference niet letterlijk worden overgenomen, maar met bit8 hoog (dus ‘85’H in plaats van ‘05’H).
- Regeling
- Regeling specificaties en typegoedkeuring boordcomputer taxi
- Soort
- Ministeriële regeling
- Geldend vanaf
- 19-12-2020
- BWB-id
- BWBR0027945
- Versie
- 2020-12-19_0