興奧德泰陳松:通過NFC手機讀取身份證的技術可行性分析
最近讀到一則消息,中國移動在基于自有品牌的N1手機上開發(fā)了一個專用APP,并且通過升級手機系統就可以使N1手機讀取普通的居民身份證(就是我們俗稱的二代證)。
我們暫且先不管APP具體的使用場景,這里只就通過NFC手機讀取二代證做一個技術方面的可行性分析。
二代證雖然使用的是非接type B技術,但其實又和標準協議有很大區(qū)別,我們可以稱之為定制化的專有協議!
這主要是考慮到公民身份信息的敏感性和安全問題,目前主要的身份證芯片提供商都是國產廠商,包括:華大、同方、華虹、大唐等。
相應的讀寫機具也是完全有國內廠商提供。技術實現流程上主要是多了一個”安全加密模塊”,這個模塊使用的是國產安全算法,并預置密鑰,在讀寫機具和卡片芯片里都有這個加密處理模塊。
在每步通訊交互前,發(fā)送方都會將待發(fā)送的數據送到加密模塊加密,再將數據通過讀寫芯片發(fā)出,接收方在接收到數據后會采取相同算法和相同密鑰進行解密獲取原始數據,然后對原始數據的處理就參照標準的ISO14443 Type B協議的定義。
從這里可以看出,實際上讀寫芯片可以是任何現有的標準非接讀寫芯片,包括也可以使用國外廠商的芯片,因為數據傳輸和數據加密是分離的,而非接讀寫芯片只是作為透明傳輸通道使用。
對于N1手機來說,應該會改動幾部分才能真正實現讀二代證的功能:
首先CLF的代碼更改支持讀取二代證。對CLF來說是由它來實現最終的非接通信,因為二代證的ATQB信息里會指明使用了非標準協議,所以通常的標準type B協議不改造可能就會拒讀二代證(類似于目前的普通讀寫器,只有REQB和ATQB的交互,因為得知卡片后續(xù)采用專有協議,而讀寫器如果不支持,就會停止進一步交互或者重復發(fā)送REQB),所以CLF的代碼必須要修改以支持讀取二代證的。
第二,需要安全加密模塊。目前很多基于高通芯片的手機都已經支持TEE功能,所以不排除有可能會在TEE上加載能夠支持二代證加解密的TA應用。
另外,還應該有一個總控APP,這個APP可以是系統預置的,由他來管理和協調支持加解密的TA應用和操控CLF芯片發(fā)送接收專有數據。通過這幾部分的改造應該就可以完成對二代證的讀取解析。