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