www.青青草原.com/bt自拍另类综合欧美/亚洲a级/免费看黄色网页 - 一区二区欧美日韩

最新消息:歡迎加入QQ群276412263一起交流! | 購(gòu)買NFC標(biāo)簽前往官方淘寶店 | 投稿郵箱:nfchome@qq.com

是否可以用NFC手機(jī)來模擬NFC卡片

NFC教程 小天 22073瀏覽 0評(píng)論

nfc_card
1, 問:能否在AndroidNFC手機(jī)上實(shí)現(xiàn)卡模擬?

答:在技術(shù)上可行,但是,對(duì)一般開發(fā)人員來講,目前看來僅僅是技術(shù)上可行。

2, 問:具體如何實(shí)現(xiàn)呢?

答:有兩種方式:一種是基于硬件的,被稱為虛擬卡模式(Virual Card Mode);一種是基于軟件的,被稱為主機(jī)卡模式(Host Card Mode)。

在虛擬卡模式下,需要提供安全模塊SE,NFC芯片作為非接觸通訊前端,將從外部讀寫器接收到命令,轉(zhuǎn)發(fā)到SE,然后由SE進(jìn)行回復(fù)。

外部讀寫器 NFC芯片 SE。

而在主機(jī)卡模式下,不需要提供SE,而是由在手機(jī)中運(yùn)行的一個(gè)應(yīng)用完成SE的功能。

外部讀寫器 NFC芯片 主機(jī)上的應(yīng)用

3, 問:SE是個(gè)什么東西,一般手機(jī)上有嗎?

答:SE可以理解成一個(gè)CPU卡,一般是帶有JAVA虛擬機(jī)的CPU卡,即JAVA卡。帶有NFC芯片的手機(jī)一般都帶有SE(也可能有例外),例如GOOGLE NEXUS手機(jī)的PN65N,就是PN544芯片加SmartMX安全模塊。此外,SE也可以是特殊的SIM卡或SD卡。

4, 問:我要做基于硬件的卡模擬,如何實(shí)現(xiàn)?

答:首先開發(fā)在SE中運(yùn)行的程序,即一個(gè)JAVA APPLET,它負(fù)責(zé)將從NFC芯片接收到命令進(jìn)行解釋,處理和回復(fù)。然后,需要開發(fā)一個(gè)主機(jī)應(yīng)用程序,能夠?qū)PPLET下載到SE中,并激活運(yùn)行。當(dāng)然,如果是完整的移動(dòng)支付系統(tǒng),還要包括后臺(tái)應(yīng)用,TSM等

5, 問:SE如何與主機(jī)通信?如何才能將程序下載到SE呢?

答:根據(jù)SE硬件的不同,SE與主機(jī)的硬件接口也有所不同。對(duì)內(nèi)置的SE,一般是NFCWI接口,而SIM和SD卡可能是SWP接口。應(yīng)用接口協(xié)議是ISO7816-4,即CPU卡APDU命令。熟悉CPU卡的都知道,沒有密鑰,根本無法完成對(duì)卡的寫操作。因此需要SE的操作密鑰。但不幸的是,這些密鑰都掌握在手機(jī)廠商(內(nèi)置SE的情況),例如三星,HTC,或移動(dòng)運(yùn)營(yíng)商(SIM的情況),或者銀行等安全模塊提供商(SD卡的情況)手中,一般開發(fā)人員是得不到這些權(quán)限的。

6, 問:那么沒有密鑰的情況下,基于硬件能做到什么程度呢?

答:目前看來,對(duì)SE進(jìn)行只讀訪問應(yīng)該是可能的。例如在安裝GOOGLE錢包后,在SE中會(huì)創(chuàng)建GOOGLE錢包的APPLET,我們可以通過程序選擇該APPLET并發(fā)送一些查詢命令。僅此而已…

7, 問:如何實(shí)現(xiàn)基于軟件的卡模擬?

答:目前,官方Android版本不支持,可以通過刷第三方ROM實(shí)現(xiàn)基于軟件的卡模擬,例如Cyanogenmod。(具了解,Android4.4 KitKat能支持NFC軟件卡模擬,支持ISODEP類型(CPU卡),UID為隨機(jī)ID,不能在關(guān)機(jī)和關(guān)屏幕下使用,通過AID路由可以與硬件卡模擬應(yīng)用程序共存。)

8, 問:卡模擬一般能模擬什么卡?

答:取決于軟件和硬件雙方的限制。一般虛擬卡模擬主要取決于硬件,通常支持TYPE A/B的卡,對(duì)于專有協(xié)議的卡,就看芯片廠商是否支持了。例如用NXP的芯片,可以方便的模擬M1和ULTRALIGHT等,而是用其它家的芯片就不一定支持了。主機(jī)卡模擬一般只支持ISO14443-4以上的卡。

9, 問:基于軟件的卡模擬有什么問題嗎?

答:主要是安全問題,對(duì)應(yīng)用在移動(dòng)支付領(lǐng)域的應(yīng)用,安全總是最重要的,而手機(jī)上的運(yùn)行環(huán)境很不安全。

10,問:總體看來,對(duì)一般開發(fā)人員,有沒有實(shí)現(xiàn)在android NFC手機(jī)上卡模擬,并進(jìn)行商業(yè)化的可能 ?

答:綜上所述,主機(jī)卡模式存在嚴(yán)重的安全問題,而且在目前官方Android版本不支持的情況下,不可能要求用戶刷機(jī)以支持一個(gè)應(yīng)用。因此主機(jī)卡模式目前只能是一個(gè)技術(shù)上的研究,而沒有商業(yè)應(yīng)用的可能性。對(duì)虛擬卡模式,SE掌握在手機(jī)廠商,移動(dòng)運(yùn)營(yíng)商或銀行等行業(yè)巨頭手中,根據(jù)目前的趨勢(shì),一般應(yīng)用開發(fā)者可以采用與這些巨頭合作,取得SE的部分使用權(quán),一般是建立一個(gè)應(yīng)用的安全域,以加載自己的虛擬卡。中小應(yīng)用開發(fā)者也可以考慮自己發(fā)行基于SD或外置模塊的SE,但是自行發(fā)卡的成本很高,終端用戶一般也不會(huì)認(rèn)可。

作者:firefight

轉(zhuǎn)載請(qǐng)注明:NFC之家 » 是否可以用NFC手機(jī)來模擬NFC卡片

您必須 登錄 才能發(fā)表評(píng)論!

項(xiàng)目咨詢服務(wù)