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