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