2014-12-02 281 views
1

我正在開發一個移動應用程序必須通過NCF與電子護照進行通信的項目。我們必須提取有關用戶的基本數據,如姓名,DOB,照片等。看過類似帖子後,閱讀icao.int的規格和圖書館pyPassport的代碼,我仍然不確定應該是什麼第一個APDU命令將被髮送到電子護照。如何開始?使NFC電子護照APDU認證有效的步驟?

據我讀過,它看起來像它應該是get challenge命令00 84 00 00 08(某處是B4代替84),但不幸的是我總是63 00響應者(無信息)。

我知道獲取數據之前,我需要做的BAC。我從上面看到了spec中的示例,我想我可以編寫BAC,但是如何實現它?有人知道如何開始的流程/步驟以及需要完成哪些認證(被動/主動)?謝謝。

+0

[美國護照機讀旅行證件中的B型NFC芯片]的可能副本(http://stackoverflow.com/questions/27117183/type-b-nfc-chip-in-us-passport-mrtd) – 2014-12-19 01:37:10

+0

來自不同國家的電子護照由於標準的輕微變化,可能會以不同的錯誤代碼進行響應。你想讀什麼國家的電子護照? – not2qubit 2015-04-22 14:13:12

+0

這是歐盟護照。但問題是我們使用的NFC設備與電子護照不兼容。更換設備後,確定。 – bosko 2015-04-23 08:16:49

回答

1

我不知道是什麼原因,你有6300的反應,但我認爲這是因爲電子護照申請尚未被選擇。但我可能是錯的。

BAC是GET CHALLENGE(00 84 00 00 08)的組合和外部認證命令。您只需要BAC認證即可閱讀基本護照持有人信息。

以下是你需要發送給從護照中讀取數據的命令序列:

  1. 選擇 - 選擇電子護照應用
  2. 獲取挑戰
  3. 外部鑑別
  4. 讀二進制(保護通過安全消息傳遞) - 讀取包含基本護照持有者信息的DG1文件
  5. 讀取二進制文件(受安全消息保護) - 讀取包含t照片的DG2文件他護照持有人信息

,如果需要,我可以提供更多的細節。但與此同時,你也可以指Doc 9303號文件,機讀旅行證件第3部分第2卷爲BAC規格。

+0

謝謝Chooch,這是我正在尋找的答案。另外這裏是我找到http://www.iom.int/seguridad-fronteriza/lit/icao/supplementtoicaodoc9303-release7.pdf的文檔,其步驟從第17頁開始。獲得6300響應的原因是我們使用外部NFC閱讀器與電子護照不兼容。 – bosko 2015-04-23 08:17:36