Pour lire le cryptogramme et les informations de texte en clair de Postcard, un lecteur de cartes à puces ainsi qu'un logiciel correspondant qui est livré généralement avec le lecteur sont nécessaires. Ce logiciel permis la communication entre ordinateur et la carte à puce selon la norme ISO 7816-4.
Pour lire des cartes, le commandement suivant est communiqué à la carte:
BC:B0:08:E0:70
|
Celui-ci répond avec le code d’état 9000
(OK) et retourne les données demandées:
2E 03 30 33 30 00 0E C6 3D A0 D2 47 3A 69 CD 09 |
Au passage: Si on fabrique soi-même des Postcards, les données des valeurs souhaitées respectives le numéro de la carte, période de validité, nom de propriétaire de carte, etc. doivent être fournies soi-même. En plus la clé secrète des PostFinance est nécessaire, quelle est déterminée par cette description.
Les données reçues sont organisées comme suivant: Le bloc de données commence avec des quatre octets d’entête: 2E 03 30 33; le type des données suivantes est désigne par 03 (« cryptogramme ») et la longueur correspondante par 30 (48 octets).
2E 03 30 33 |
Les 48 octets des données sont codés, auquel à chaque fois sept octets d'origine ont été transférés dans huit octets de représentation; c.-à-d. la longueur de données effective ne s'élève à uniquement 42 octets. Le décodage exige que chacun 8ème demi-octet - commençant avec le premier demi-octet des données reçues - soient supprimées; le demi-octet à supprimer à toujours la valeur 3
.
Alors on reçoit comme cryptogramme des données suivant:
c = 0000EC6DA0D247A69CD093B6D852118CA4346B44EEECE4A3394F872C1356A8070BFEBB54669F375A63F2
|
Le deuxième bloc de données commence avec l'entête 2E 02 38 F1
; le type des données suivantes est désigne par 02
(« données de carte ») et la longueur correspondante par 38
(56 octets).
2E 02 38 F1 |
Ces données sont également selon la procédure décrite en haut codé, c.-à-d. chaque 8ème demi-octet (en gras) doivent être supprimés dans le décodage. Ensuite on reçoit 49 octets des données d'utilisation avec les informations de la carte. Ceux-ci sont formatés comme sur la carte bancaire française et il s’en suit la structure de données suivante:
00501623000002342081577 0 0103 280 0503 756 3501 4455434B20444F4E414C44202020202020202020202020202020 F623 |
Les données de texte en clair k sont destiné comme suit au codage des données de carte:
k' = Préfix || (1) || (2) || (4) k = k' || k' |
Le préfix est un 36-bit-bloc de données. Sa valeur dépend de la durée de validité/date de l’émission de la carte (voir le tableau). Le préfix avec l’identification de carte (92-Bit) ainsi que la date de l’émission et d'expiration (chaque fois 16 bits) s’ajoutent, pour recevoir le texte partiel en clair k' de 160 bits. Le texte final en clair k apparaisse, en joignant des deux k'.
Durée de validité (mois) | An de l'émission | Préfix |
47 | 2000,2001 | 000040000 |
48 | 2003,2004 | 000044000 |
2007 | 00004A000 | |
49 | 2005 | 000048000 |
Comme texte en clair pour la signature de la carte nous recevons dans notre exemple:
k = 00004400000501623000002342081577010305030000440000050162300000234208157701030503
|
Dans le prochain chapitre, nous verrons, comme on peut calculer à partir de ces données la clé secrète du bureau d'émission …