Now a kicker to this service would be digital signatures attached to documents.....
The recent thread about official document readers, I decided to see whether it's easy to read the OCR text at the back of your id/passport.Turn's out that's it's pretty easy since the text uses an OCR friendly font (a close sister to the OCR-A font used in bank cheques and deposit slips). As an added advantage, this machine readable section of the ID has check-summing built in which can help you catch the most basic ID field alterations (think of fake IDs submitted during land purchases..). However, this won't help catch smart fraudsters who can generate IDs with good check-sums.
The are a few solutions to detect fake IDs reliably:
- Read the OCR section and cross validate it with the printed section (This will catch fraudsters who adjusted the printable sections but forgot to adjust the OCR section or forgot to recalculate)
- Online service to validate the ID. Perhaps you key in the ID and name and get the rest of the details. Requires online access and can be mined by third parties
- IDs and issued documents (land title deeds, passports...) to contain a QR code with a digitally signed section.
I elected to try option 3 and it works surprisingly well. The thrust of the idea is to have:
- Document issuer authority generate a public and private key for signing documents.
- Publish the public key online
- Generate a QR encoding the document's metadata and digital signature
- Affix the QR code to the document
- Third party can verify that the document is 'truthy' iff the QR encoded metadata matches with what he sees in the document. A simple offline smartphone app can do this. As an alternative an online upload and verify service can also be used.
Example: An ID affixed with a digitally signed QR code. I just stuck the QR code on top of the document. In production, the QR code would be an integral part of the document.
If folks are interested, I'll be blogging on option 3 (digitally signed documents) with code examples in the near future.