通過擴展單線接口提升近場通訊應(yīng)用安全性和兼容性
文章出處:http://m.luckydriving.com 作者: 人氣: 發(fā)表時間:2012年03月30日
摘要:本文介紹了一種近場通訊設(shè)備中,非接觸前端芯片CLF和安全單元SE之間的單線通信協(xié)議。該協(xié)議在典型的單線協(xié)議基礎(chǔ)上進(jìn)行擴展,實現(xiàn)CLF和SE的實時透明傳輸,可提升近場通訊設(shè)備卡片模擬的應(yīng)用兼容性和安全性。
經(jīng)過多年的發(fā)展,近場通訊技術(shù)逐漸趨于成熟穩(wěn)定,隨著Android平臺的新款近場通訊智能手機的陸續(xù)上市,期盼中的近場通訊市場大門終于打開了,原來停留于紙面的各種移動非接觸應(yīng)用構(gòu)思將一一實現(xiàn)。盡管近場通訊應(yīng)用通常被劃分為三類:卡片模擬、讀寫器和點對點通信,但始終被人們所關(guān)注、最吸引眼球的應(yīng)用,非移動支付莫屬。所以說近場通訊本質(zhì)上是一個非接觸智能卡的應(yīng)用,無非是智能卡的載體發(fā)生了變化。從結(jié)構(gòu)化的角度出發(fā),近場通訊的實現(xiàn)方案采用的是雙芯片架構(gòu),即CLF(Contactless Front非接觸前端)芯片和SE(Security Element安全模塊)芯片,如圖1所示:
圖1 近場通訊架構(gòu)
其中CLF芯片負(fù)責(zé)處理非接觸射頻接口和通訊協(xié)議,SE芯片負(fù)責(zé)處理智能卡的應(yīng)用和數(shù)據(jù)管理。采用這種設(shè)計架構(gòu)的優(yōu)點在于:
1)CLF與SE雙芯片架構(gòu),容易實現(xiàn)機卡分離。CLF集成在終端上,實現(xiàn)完整的非接觸射頻接口;而智能卡應(yīng)用涉及諸多安全要求,需要發(fā)行管理而后才進(jìn)入應(yīng)用環(huán)節(jié),SE從近場通訊終端上分離,可以獨立于終端之外單獨發(fā)行,管理上容易保持與現(xiàn)有系統(tǒng)的一致。
2)智能卡往往是封閉應(yīng)用環(huán)境,不同地區(qū)不同應(yīng)用之間,即使是同一款智能卡,其初始化配置也會不同。CLF與SE架構(gòu),通用近場通訊終端可與不同的SE搭配實現(xiàn)不同的應(yīng)用需求。
3)CLF及其射頻天線集成在終端上,易于實現(xiàn)一致性的非接觸接口性能。
近場通訊終端實現(xiàn)卡片模擬功能,由CLF和SE聯(lián)合完成,CLF與SE之間需要定義連接接口。目前被廣泛接受的接口主要有兩種:單線協(xié)議接口SWP(ETSI TS 102 613標(biāo)準(zhǔn))和兩線接口S2C(NFC-WI接口標(biāo)準(zhǔn))。由于SWP接口和SIM卡標(biāo)準(zhǔn)有機地結(jié)合于一體,使得SIM卡非常適合作為NFC終端的SE,這種接口的市場接受度高一些。S2C接口因為采用了透明的傳輸方式,使得SE與CLF模擬的卡片特性最大程度上與普通非接觸卡保持一致,應(yīng)用兼容性最好,但因需占用兩個連線,無法與SIM卡結(jié)合使用,因此出現(xiàn)基于該接口的全終端方案(CLF和SE合封之后集成在手機主板上),但全終端方案無法做到機卡分離,在一定程度上制約了應(yīng)用發(fā)展。
作為主流的CLF-SE接口,SWP定義了完整的一套通訊協(xié)議,在SE和CLF之間傳輸ISO14443協(xié)議數(shù)據(jù)包時,需要將ISO14443協(xié)議數(shù)據(jù)轉(zhuǎn)換成符合SWP協(xié)議的數(shù)據(jù)包,增加MAC(介質(zhì)訪問控制)層及LLC(邏輯鏈路控制)層,組成SWP數(shù)據(jù)幀,如圖2所示:
圖2 SWP幀結(jié)構(gòu)
SWP協(xié)議的編碼和解碼、組幀和解幀,再加上接口傳輸時間,使得近場通訊終端模擬的卡片比標(biāo)準(zhǔn)的非接觸IC卡(PICC)在響應(yīng)非接觸識別設(shè)備(PCD)的時序上有所不同,如圖3所示,Tclf,receive和Tclf,transmit表示了SWP接口帶來的額外延遲時間,SWP接口延時表示為:
TCLF,delay = TCLF,receive + TCLF,transmit
圖3 SWP接口延時
SWP 協(xié)議中定義的CLT( C o n t a c t l e s s Tunnelling)幀格式,如圖4所示:
圖4 SWP CLT幀格式
CLT Payload表示數(shù)據(jù)區(qū),最大長度為29byte,非接觸數(shù)據(jù)(ISO14443或ISO18092)加上相應(yīng)的校驗數(shù)據(jù),整體打包存放在該區(qū)域,如圖5所示:
圖5 CLT Payload數(shù)據(jù)區(qū)
ISO18092或ISO14443幀數(shù)據(jù)轉(zhuǎn)化成CLT幀時,會增加SOF,LLC control field,CRC16,EOF共5字節(jié)數(shù)據(jù),在SWP為848K波特率條件下,理想收發(fā)的最小延時是:
TCLF,delay = TCLF,receive + TCLF,transmit=(5+X)*8/BPS_swp+(5+Y)*8/BPS_swp
其中,X為接收字節(jié)數(shù),Y為回發(fā)字節(jié)數(shù)。即使按X,Y都為1的情況,以SWP波特率848K計算,Tclf.delay也要大于113us。隨著應(yīng)用數(shù)據(jù)的增多,延遲時間也隨之增多。ISO14443-4定義了非接觸應(yīng)用層協(xié)議,對響應(yīng)時間沒有嚴(yán)格規(guī)定,因此SWP接口可以實現(xiàn)SE-CLF的卡片模擬功能,但要求PCD等待PICC響應(yīng)的超時設(shè)置相對長一些,否則會發(fā)生兼容性問題。這是SWP接口面臨的一個問題。根據(jù)ISO14443-3標(biāo)準(zhǔn)規(guī)定,REQA、WUPA、ANTICOLLISION、SELECT(尋卡、喚醒、防沖突、選卡) 幾條指令( 此處僅針對t y p e A標(biāo)準(zhǔn)分析),P ICC對PCD最小響應(yīng)時間是1172/F c(Fc=13.56MHz),換算為時間約86us,即使將SWP接口速度提至標(biāo)準(zhǔn)的極限,再加上芯片的數(shù)據(jù)處理時間,這些指令也無法通過SWP接口及時完成。因此在已出現(xiàn)的近場通訊解決方案中,ISO14443-3的指令由CLF直接響應(yīng),當(dāng)進(jìn)入ISO14443-4層協(xié)議時,再通過SWP接口由SE對PCD響應(yīng)。
圖6 近場通訊設(shè)備響應(yīng)非接觸指令的劃分
雖然這樣實現(xiàn)的卡片模擬功能,除了稍微增加了一些延時之外,功能上與普通卡片表現(xiàn)一致,但其背后隱含著另一個比較嚴(yán)重的問題。ISO14443-3定義的幾條指令會處理卡片的UID(唯一識別碼)。UID在非接觸應(yīng)用系統(tǒng)中非常重要,通常是一卡一密模式密鑰分散的因子,并且非常多的應(yīng)用系統(tǒng)中以UID作為卡片的識別標(biāo)志。當(dāng)SWP近場通訊方案中,由CLF完成ISO14443-3協(xié)議時,是CLF回答UID給PCD,必然要求SWP SIM卡在放入近場通訊終端時,通過同步操作事先將SWP SIM卡的UID傳送至CLF并保存。普通IC卡的UID在出廠后是不允許被改動的,并且各IC卡廠商和運營商制定了多種管理辦法來保證UID的唯一性。由于機卡分離的結(jié)構(gòu),近場通訊終端可能被置入不同的SWP SIM卡,這意味著CLF的UID必定是可被改寫的。當(dāng)UID可被改寫后,UID的唯一性管理將面臨重大挑戰(zhàn),會導(dǎo)致一些應(yīng)用系統(tǒng)的帳務(wù)管理發(fā)生混亂(UID重號帶來對賬無法完成),并降低系統(tǒng)的安全性(克隆卡難度降低)。
因此,盡管SWP已經(jīng)成為近場通訊的一種主流解決方案,相應(yīng)的技術(shù)標(biāo)準(zhǔn)也制定出臺,但SWP接口存在的延時問題和衍生的UID管理問題,對近場通訊將來的發(fā)展會有一定的影響,需要有一種更有效的解決方案。
復(fù)旦微電子推出的SMAP3.0解決方案,通過機卡分離、多卡多用的通用架構(gòu),可以有效地推動近場通訊終端的開發(fā)。在SMAP3.0方案中,結(jié)合SWP和S2C接口的各自優(yōu)點,提出了一種增強的、實時傳輸單線接口eSWP。
由于ISO14443標(biāo)準(zhǔn)自-1至-4部分,詳細(xì)定義了從物理層到應(yīng)用協(xié)議層的規(guī)范,并在大量的非接觸IC卡應(yīng)用中得到檢驗,其協(xié)議是完備可靠的。eSWP接口在保持對SWP協(xié)議兼容的基礎(chǔ)上,擴展出一種基于單線的透明傳輸模式,CLF-SE接口直接采用重新實時編碼的ISO14443通訊協(xié)議,得到了與S2C接口同樣的實時和兼容的效果。采用了這種模式,使得SE有能力處理包括ISO14443-3部分在內(nèi)的所有非接觸指令,即解決了應(yīng)用兼容性問題—CLF-SE架構(gòu)實現(xiàn)的卡片時序特性與標(biāo)準(zhǔn)PICC完全一致,又解決了UID管理問題—UID不必預(yù)先由SE轉(zhuǎn)存至CLF,而是由SE直接回復(fù)。CLF完全變成透明傳輸通道,從而讓近場通訊解決方案實現(xiàn)機卡分離和非接觸兼容性良好統(tǒng)一。
eSWP接口同樣區(qū)分type A類型和type B類型接口。對e SWP-A,CLF輸出的信號S1為電壓信號,編碼為Miller碼調(diào)制的載波信號,載波頻率為6.78MHz。SE回發(fā)的S2信號為電流調(diào)制信號,編碼為manchester帶848k副載波調(diào)制?;匕l(fā)時S1信號為沒有調(diào)制的載波信號。(下見圖7為S1輸出信號波形,圖8為S2回發(fā)信號編碼波形)。
對eSWP-B,由于有連續(xù)的時鐘信號,CLF處理更加簡單。CLF輸出到SE的S1信號采用1.69MHz的載波調(diào)制,邏輯單元1和0的定義可以與標(biāo)準(zhǔn)SWP保持一致,用載波時鐘占空比表示。再通過下圖的編碼方式表示ISO14443標(biāo)準(zhǔn)的邏輯信號(見圖9),eSWP-B信號波形可表示為(下見圖10、11)。
綜上,SMAP3.0解決方案在支持通用的SWP接口基礎(chǔ)上,擴展了透明傳輸?shù)膃SWP模式,使得近場通訊終端仍然可以利用SIM卡或SD卡實現(xiàn)機卡分離的SE,但表現(xiàn)出與標(biāo)準(zhǔn)非接觸卡同等的非接觸性能,對于近場通訊終端與現(xiàn)存非接觸應(yīng)用融合發(fā)展,特別是與非接觸邏輯加密卡系統(tǒng)結(jié)合,有著無可替代的優(yōu)越性。(文/上海復(fù)旦微電子集團股份有限公司 技術(shù)總監(jiān) 李蔚)
【稿件聲明】:如需轉(zhuǎn)載,必須注明來源和作者,保留文中圖片和內(nèi)容的完整性,違者將依法追究。