Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Maxim Tsvetkov - Using Core NFC to scan and ver...

Maxim Tsvetkov - Using Core NFC to scan and verify identity documents [CococHeads NL 2020]

Since iOS 13 our iPhones are able to read ID cards and passports.

In this talk, you will discover what the system iOS framework gives you and what you need to add on top of it to scan and verify identity documents, what data you can extract from documents and how you can verify the authenticity of these documents. And, of course, you will see a live demo of scanning a real ID as well.

Join the talk to take away how Core NFC can improve user verification in your project.

Link to the video:

Avatar for Maxim Tsvetkov

Maxim Tsvetkov

December 16, 2020

Other Decks in Technology

Transcript

  1. CocoaHeadsNL 2020 Using Core NFC to scan and verify identity

    documents Maxim Tsvetkov @777maxxx777
  2. Near Field Communication Type 1 Type 2 Type 3 Type

    4 Type 5 NFC Data Exchange Format (NDEF) Tag Types
  3. Core NFC (iOS 11) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only
  4. Near Field Communication Type 1 Type 2 Type 3 Type

    4 Type 5 NFC Data Exchange Format (NDEF) Tag Types
  5. Core NFC (iOS 11) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only
  6. Core NFC (iOS 13) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only • Writing NDEF tags • Background NDEF reading (iPhones XS, XS Max, XR)
  7. Core NFC (iOS 13) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only • Writing NDEF tags • Background NDEF reading (iPhones XS, XS Max, XR) • Reading more complex tag types ◦ ISO7816 ◦ ISO15693 ◦ FeliCa ◦ MIFARE
  8. Core NFC (iOS 13) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only • Writing NDEF tags • Background NDEF reading (iPhones XS, XS Max, XR) • Reading more complex tag types ◦ ISO7816 ◦ ISO15693 ◦ FeliCa ◦ MIFARE
  9. Core NFC (iOS 13) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only • Writing NDEF tags • Background NDEF reading (iPhones XS, XS Max, XR) • Reading more complex tag types ◦ ISO7816 ◦ ISO15693 ◦ FeliCa ◦ MIFARE
  10. Core NFC (iOS 13) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only • Writing NDEF tags • Background NDEF reading (iPhones XS, XS Max, XR) • Reading more complex tag types ◦ ISO7816 ◦ ISO15693 ◦ FeliCa ◦ MIFARE
  11. Core NFC (iOS 14) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only • Writing NDEF tags • Background NDEF reading (iPhones XS, XS Max, XR) • Reading more complex tag types ◦ ISO7816 ◦ ISO15693 ◦ FeliCa ◦ MIFARE
  12. Core NFC (iOS 13) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only • Writing NDEF tags • Background NDEF reading (iPhones XS, XS Max, XR) • Reading more complex tag types ◦ ISO7816 ◦ ISO15693 ◦ FeliCa ◦ MIFARE
  13. AID Name Description ... A0000002281010 SPAN (M/Chip) Saudi Arabia domestic

    credit/ debit card A0000002471001 Machine Readable Travel Documents (MRTD) Electronic (Biometric) Passport. A0000002771010 INTERAC Canadian domestic credit/ debit card ... Application identifiers https://www.eftlab.com/knowledge-base/211-emv-aid-rid-pix/
  14. AID Name Description ... A0000002281010 SPAN (M/Chip) Saudi Arabia domestic

    credit/ debit card A0000002471001 Machine Readable Travel Documents (MRTD) Electronic (Biometric) Passport. A0000002771010 INTERAC Canadian domestic credit/ debit card ... Application identifiers https://www.eftlab.com/knowledge-base/211-emv-aid-rid-pix/
  15. Core NFC (iOS 13) • Reading NDEF formatted tag types

    (1 to 5) • Foreground mode only • Writing NDEF tags • Background NDEF reading (iPhones XS, XS Max, XR) • Reading more complex tag types ◦ ISO7816 ◦ ISO15693 ◦ FeliCa ◦ MIFARE
  16. Data groups DG3 DG1 DG4 DG2 DG5 DG6 DG7 DG8

    DG11 DG9 DG12 DG10 DG13 DG14 DG15 DG16
  17. Data groups DG3 DG1 DG4 DG2 DG5 DG6 DG7 DG8

    MRZ Encoded Face DG11 DG9 DG12 DG10 DG13 DG14 DG15 DG16
  18. Data groups DG3 DG1 DG4 DG2 DG5 DG6 DG7 DG8

    MRZ Encoded Face Encoded Fingers Encoded Eyes Displayed Portrait Reserved for future use Displayed Signature DG11 DG9 DG12 DG10 DG13 DG14 DG15 DG16 Structure Features Substance Features Additional Personal Details Additional Document Details Optional Details Security Options Public Key for AA Persons to Notify Data Features
  19. Data groups DG3 DG1 DG4 DG2 DG5 DG6 DG7 DG8

    MRZ Encoded Face Encoded Fingers Encoded Eyes Displayed Portrait Reserved for future use Displayed Signature DG11 DG9 DG12 DG10 DG13 DG14 DG15 DG16 Structure Features Substance Features Additional Personal Details Additional Document Details Optional Details Security Options Public Key for AA Persons to Notify Data Features
  20. Data groups DG3 DG1 DG4 DG2 DG5 DG6 DG7 DG8

    MRZ Encoded Face Encoded Fingers Encoded Eyes Displayed Portrait Reserved for future use Displayed Signature DG11 DG9 DG12 DG10 DG13 DG14 DG15 DG16 Structure Features Substance Features Additional Personal Details Additional Document Details Optional Details Security Options Public Key for AA Persons to Notify Data Features
  21. Data groups DG3 DG1 DG4 DG2 DG5 DG6 DG7 DG8

    MRZ Encoded Face Encoded Fingers Encoded Eyes Displayed Portrait Reserved for future use Displayed Signature DG11 DG9 DG12 DG10 DG13 DG14 DG15 DG16 Structure Features Substance Features Additional Personal Details Additional Document Details Optional Details Security Options Public Key for AA Persons to Notify Data Features
  22. Conclusion • Identity verification is not perfect • NFC as

    a solution • Based on Core NFC • Custom implementation of reading documents data
  23. Conclusion • Identity verification is not perfect • NFC as

    a solution • Based on Core NFC • Custom implementation of reading documents data • Authenticity verification and clone detection
  24. Conclusion • Identity verification is not perfect • NFC as

    a solution • Based on Core NFC • Custom implementation of reading documents data • Authenticity verification and clone detection • Doc 9303 is your best friend
  25. Conclusion • Identity verification is not perfect • NFC as

    a solution • Based on Core NFC • Custom implementation of reading documents data • Authenticity verification and clone detection • Doc 9303 is your best friend • Open source project as a first step
  26. Conclusion • Identity verification is not perfect • NFC as

    a solution • Based on Core NFC • Custom implementation of reading documents data • Authenticity verification and clone detection • Doc 9303 is your best friend • Open source project as a first step
  27. Conclusion • Identity verification is not perfect • NFC as

    a solution • Based on Core NFC • Custom implementation of reading documents data • Authenticity verification and clone detection • Doc 9303 is your best friend • Open source project as a first step @777maxxx777