NFC手機通過(guò)CCID接口完成近場(chǎng)通信所需解決的主要問(wèn)題就是在ISO14433規范中擴展CLF的功能,令CLF支持CCID,并從定制終端開(kāi)始將CLF的此種功能發(fā)展成為NFC手機的標配。 NFC手機配SWP SIM卡是目前國際規范定義的組合,SWP SIM卡需要NFC手機的支持,手機的NFC功能也只是為SWP SIM卡服務(wù)。但隨著(zhù)智能卡技術(shù)的演進(jìn),這一切未必一成不變。本文通過(guò)對現有的SWP與CCID技術(shù)的簡(jiǎn)要分析和對比,創(chuàng )造性的提出一種NFC手機通過(guò)CCID接口完成近場(chǎng)通信的方法和原理,并簡(jiǎn)述這種方法對手機SIM卡、終端、終端應用的影響和未來(lái)還須完成的工作。 1.背景 SIM卡如果要在移動(dòng)支付和眾多移動(dòng)網(wǎng)絡(luò )應用中承擔重任,最好能支持非接通信并擁有大容量。 大容量SIM卡要支持非接通信功能,必須具備以下條件: (1)終端、卡的技術(shù)規范; (2)終端、卡的測試規范; (3)終端、卡的測試環(huán)境、模擬環(huán)境; 而現實(shí)情況是: (1)沒(méi)有大容量SIM卡及其終端的非接技術(shù)規范,現行的普通容量SWP卡只定義了ISO/IEC 7816、SWP兩種接口;聯(lián)通大容量SIM卡及終端技術(shù)規范完善了ISO/IEC 7816中USB接口的定義及使用,但在之上疊加SWP功能,卻絕不是簡(jiǎn)單照抄照搬國際規范,必須解決物理接口的選擇(“SWP和CCID”或“ISO/IEC 7816、SWP和CCID”)、邏輯通道的選擇(ISO/IEC 7816、SWP、CCID、大容量)、ISO/IEC 7816、SWP、CCID、大容量中任何兩個(gè)以上并發(fā)等技術(shù)難點(diǎn); (2)現有含兩個(gè)接口的SWP普通SIM卡的測試規范,即ETSI TS 102 694,在涉及到有USB接口的地方以"FFS-For Fut-ure Study"帶過(guò),留待實(shí)現; (3)現在測試SWP普通SIM卡,使用Com-prion公司的ICC Spectro,測試內容依照ETSI現有規范實(shí)現,圍繞ISO/IEC 7816、SWP兩個(gè)接口展開(kāi),而針對USB-IC、SWP的測試環(huán)境、模擬環(huán)境尚待開(kāi)發(fā)。 所以,SWP大容量SIM卡的實(shí)現不是簡(jiǎn)單的硬件、軟件、協(xié)議的疊加,我們需要換一種思路,探討更為可行的更具優(yōu)勢的解決方案:不通過(guò)SWP協(xié)議實(shí)現NFC功能。 2.SWP、7816、CCID的簡(jiǎn)單比較 SWP是單線(xiàn)協(xié)議Single Wire Proto-col的縮寫(xiě),是由Gemalto公司前身之一的Axalto提出的基于SIM卡C6引腳的單線(xiàn)連接方案,屬于物理層協(xié)議。簡(jiǎn)單來(lái)說(shuō),就是用一根數據線(xiàn)溝通SIM卡與NFC模塊,再通過(guò)NFC模塊的CLF與外部通訊。當NFC手機通過(guò)CLF前端接收POS機數據后,便通過(guò)C6管腳傳給SWP卡。CLF與POS機之間的射頻場(chǎng)頻率為13.56MHz,通訊速率有106、212、424、847kbps幾檔,目前使用106、212kbps居多。SWP規范要求每比特(bit)寬從590ns到10us,換算通訊速率小于2Mbps。 ISO/IEC 7816國際規范是接觸式智能卡必須遵循的規范,普通手機SIM卡在物理、電氣特性方面遵循該規范。目前大多數手機支持的ISO/IEC 7816接口傳輸速率在100kbps量級。 CCID(Integrated Circuit(s)Cards Interface Devicechip card inter-face device)規范定義了在USB通道上進(jìn)行APDU(應用協(xié)議數據單元)封包格式及應用協(xié)議。符合CCID規范的USB設備既可以是讀卡器,也可以是集成了CCID與智能卡功能的一體設備,遵循中國聯(lián)通規范大容量SIM卡便是這樣的一體設備。 微軟公司在其Windows 2000及以上的操作系統上提供并支持CCID驅動(dòng),使設備生產(chǎn)廠(chǎng)商可以輕松的開(kāi)發(fā)使用符合CCID接口標準的設備。同時(shí),CCID接口標準支持PC/SC接口調用,使廣大開(kāi)發(fā)者可以方便的對信息安全設備進(jìn)行開(kāi)發(fā)操作,在其它開(kāi)源操作系統如Linux的眾多版本上,也有許多開(kāi)源的CCID驅動(dòng)可供開(kāi)發(fā)者和使用者使用。多數采用Android操作系統的智能手機也支持CCID驅動(dòng)并提供PC/SC編程接口。圖1所示為CCID協(xié)議定義的范圍示意圖。 圖1 CCID協(xié)議定義的范圍示意圖 聯(lián)通即將上市的大容量SIM卡為USB全速設備,總線(xiàn)速率達12Mbps,支持CCID協(xié)議。未來(lái)更可能升級為傳輸速率達480Mbps的USB高速接口,甚至傳輸速率為5Gbps的全雙工USB 3.0。 3.NFC手機的近場(chǎng)數據傳輸 SWP SIM卡基于SWP協(xié)議通過(guò)C6觸點(diǎn)與內置在終端的CLF進(jìn)行數據通信。CLF與射頻天線(xiàn)連接,負責射頻信號的接收、發(fā)送和上層轉發(fā),基于ISO/IEC 14443國際標準完成底層工作。 4.大容量卡模型 SIM卡的8個(gè)管腳功能示意圖如圖2所示,C6可以是SWP卡的傳輸通道,C4、C8為USB D+、D-。目前,中國聯(lián)通大容量SIM卡支持C4、C8管腳進(jìn)行USB數據傳輸,應用協(xié)議包括CCID、海量存儲器,C6留待將來(lái)使用。圖3所示為大容量卡模型。 圖2 SWP卡工作模式示意圖 圖3大容量卡模型 5.使用CCID代替SWP 通常情況下,SWP軟件設計基于SWP標準和HCP(主機控制協(xié)議)標準。HCP標準是SWP協(xié)議之上的標準協(xié)議,定義了數據鏈路層之上的協(xié)議層——HCP路由層、HCP消息層以及應用層。底層SWP協(xié)議和上層HCP協(xié)議組成的協(xié)議棧共同完成NFC芯片與UICC通信的完整協(xié)議。該架構協(xié)議層級較多,實(shí)現、測試開(kāi)銷(xiāo)較大。圖4所示為Android系統手機平臺的架構圖,原理圖如圖5所示。 圖4 Android系統手機平臺的架構圖 圖5 使用SWP協(xié)議的HCI架構圖 現在,我們設想在大容量SIM卡中采用CCID協(xié)議替換SWP+HCP協(xié)議的方式完成對非接數據的讀寫(xiě),原理圖如圖6所示。那么Android系統手機平臺LINUX KERNEL部分將變?yōu)槿鐖D7所示。 圖6 使用CCID協(xié)議的架構圖 圖7 新概念下Android系統手機平臺 從圖6可以看到:CLF前端以通常方式接收數據傳給終端,終端應用程序不需要通過(guò)SWP協(xié)議將數據傳遞給SIM卡,而是將NDEF格式的數據通過(guò)CCID傳遞給SIM卡。下面分析一下使用CCID代替SWP對SIM卡、手機和終端應用產(chǎn)生的影響。 5.1 對SIM卡的影響 支持SWP的用戶(hù)卡必須同時(shí)支持ISO/IEC 7816和SWP兩個(gè)協(xié)議棧,需要用戶(hù)卡的COS是多任務(wù)操作系統,并且這兩部分獨立管理。在SWP線(xiàn)上傳輸的是準數字信號,需要特定的接收和解調電路,信號的噪聲容限較低。而CCID接口是大容量卡必備的,所以,支持大容量卡的終端可以只支持CCID一種接口。采用CCID協(xié)議來(lái)替換SWP+ISO/IEC 7816或SWP+CCID甚至SWP+CCID+iso/IEC 7816協(xié)議,將減少大容量卡硬件芯片的SWP和ISO/IEC 7816電路部分,使得硬件處理和COS處理更加簡(jiǎn)化,功耗降低。一些技術(shù)處理和難點(diǎn)如物理接口的選擇、邏輯通道的選擇、ISO/IEC 7816、SWP、CCID、大容量中任何兩個(gè)以上并發(fā)等問(wèn)題都將迎刃而解。此套方案,SIM卡需要增加處理NDEF (NFC Data Exchanger Format)格式的數據。 5.2 對手機終端的影響 首先,CCID使大容量SIM卡變成擴展的手機存儲空間,開(kāi)放的大容量區域易于用戶(hù)下載和自行管理,無(wú)論是通信還是存取數據都給用戶(hù)帶來(lái)前所未有的良好體驗。 第二,支持CCID的NFC手機需升級手機操作系統,手機可以先搜索SWP通道,如果存在,就將數據通過(guò)SWP通道發(fā)給SIM卡,如果不存在,就通過(guò)CCID通道發(fā)給SIM卡。所以,支持CCID的NFC手機并不影響對原有SWP卡的支持。 第三,由于SIM卡的安全特性和身份識別特性,它可以作為PSAM卡,與終端一同成為一個(gè)擁有一定權限的可信平臺和認證中心,承擔安全認證的功能。所以擁有NFC功能的手機除了一卡通應用,還可以承載更多應用: (1)可以成為POS終端,對銀行卡進(jìn)行余額查詢(xún)和扣費。 (2)可以辯別身份證的真偽,了解持卡人的信用狀況。 (3)可以將煤氣費、水費、電費等信息寫(xiě)入標簽置于門(mén)外供查表員讀取和查表員與用戶(hù)互動(dòng)。 5.3 對終端應用的影響 由于通信速率的提升,刷卡速度將會(huì )提升。目前,無(wú)論是全卡方案,還是SWP方案,刷卡速度都是工程師們致力解決的問(wèn)題,目前城市一卡通中要求刷卡速度低于300ms,而影響這一結果的因素有二: (1)通信速率,通信方面對整個(gè)刷卡所占比重極小,隨著(zhù)CCID接口速度的提升,幾乎可以忽略。 (2)芯片對數據的處理速度占消費應用的絕大多數時(shí)間,大容量卡是為應用服務(wù)的,其芯片的CPU處理速度一定遠高于目前普通SIM卡,所以,采用大容量卡進(jìn)行近場(chǎng)通信,其速度不再是問(wèn)題。 5.4 需解決的問(wèn)題及影響 首先,CLF前端需要增加CCID通道,并支持CCID協(xié)議。因此,ISO/IEC 14433規范中關(guān)于CLF的描述需要修正,終端廠(chǎng)家也需要支持。 第二,大容量SIM卡需要增加處理NDEF(NFC Data Exchanger Format)格式的數據。 第三,普通支持SWP卡的NFC終端據稱(chēng)可以在關(guān)機時(shí)支持1000次刷卡,而CCID代替SWP的方案不支持關(guān)機操作,必須開(kāi)機刷卡。但這種影響對使用者而言并非很大,因為使用手機近場(chǎng)支付的應用場(chǎng)景很多,一種是小額支付,不需要密碼,如公交刷卡;一種是大額支付,需要密碼,如商場(chǎng)消費。對于后一種情況,關(guān)機即便可以刷卡也是不方便不安全的。因此,不支持關(guān)機操作不會(huì )給應用的開(kāi)發(fā)推廣造成困擾。 總之,NFC手機通過(guò)CCID接口完成近場(chǎng)通信所需解決的主要問(wèn)題就是在ISO14433規范中擴展CLF的功能,令CLF支持CCID,并從定制終端開(kāi)始將CLF的此種功能發(fā)展成為NFC手機的標配。 |