'android nfc reading Driver license BAC vs BAP
Using android device to nfc read my country ID card and Driver license (hint: both had 3 lines MRZ of Type TD1 and the Driver card has a number 8digits+'E' near the chip, witch I don't know what is used for!?)
for ID card part I used jmrtd library (BAC protocol, and I successfully read all what I want Data Group {1,2,11,12})
for Driver License, after reading some standards I supposed to do BAP instead-of BAC So I implemented a DLicenseService class the same as PassportService but with some minor changes:
- changed EF_COM to 001F and AID to A0000002480200 (witch worked in the first tries) ...
- I'm doing BAC as BAP with a custom key derivation algorithm the triplet (docNumber, dateOfBirth, dateOfExpiry) did not work...
My questions are:
- Is there any protection against a wrong key derivation multiple attempts (assuming BAP == BAC) because the scuba service now is failing!!...please don't tell me there is and my card is blocked...
- Are BAP and BAC equivalent? should I try other protocol?
- Do you know the most used key seed derivation algorithm for Driver License (like SHA1 of last 6 doc digits...)
- Is there a library to deal with Driver License like jmrtd for travel document?
Solution 1:[1]
- Yes, BAC and BAP are equivalent
- The triplet worked for Driver licence
- I implemented all my logic on top of jmrtd code and every think worked fine, basically I implemented :
- DLicenseService class
- COMFile and all DGxFile that I'm interested in taking into account the correct SFI and Tags values from the iso/IEC FCD 18013-2 standard.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Imla Assuom |