中國聯(lián)通研究院 北京 100032
智能卡作為移動通信系統(tǒng)中的典型設備,其發(fā)展經(jīng)歷過一個比較漫長的過程。最初的2G SIM卡只需滿足網(wǎng)絡接入鑒權要求,是僅具備SIM單應用的智能卡。其后隨著智能卡業(yè)務的發(fā)展和技術演進,智能卡應用場景和領域已經(jīng)突破單一行業(yè)限制,不斷擴展到其它行業(yè)其它類型的應用。近年來逐漸推廣和普及的NFC卡、M2M卡等都是在電信卡基礎上衍生的滿足跨行業(yè)跨領域需求的智能卡類型。在這類新型業(yè)務卡當中,除移動網(wǎng)絡鑒權功能之外,智能卡還需同時提供金融支付、身份認證、數(shù)據(jù)采集和配置等功能,即在同一智能卡平臺之上承載多個不同功能的應用,多應用卡UICC的必要性大大增加[1]。
UICC(通用集成電路)是通用的智能卡平臺,在提供統(tǒng)一的硬件平臺和基本系統(tǒng)能力的基礎之上,支持多個應用以安全的方式同時并存[2]。UICC是在3G時代提出的概念,3G移動網(wǎng)絡鑒權應用USIM(Universal Subscriber Identity Module,通用用戶識別模塊)就是可以駐留在UICC上的應用之一,UICC平臺上可駐留多個USIM應用或其它類型的應用。USIM雖然基于UICC實現(xiàn),不過在相當長時間內(nèi),除了單一的USIM等鑒權應用,并無其它應用并存,UICC可以承載多應用的特點并沒有充分發(fā)揮[3]。直到NFC(近場通信,Near Field Communication)卡出現(xiàn)后,由于NFC卡是電信卡與金融卡、公交卡、校企一卡通等其它行業(yè)的卡和應用的結(jié)合,因此,真正意義上實現(xiàn)了基于UICC平臺的多應用卡。
NFC卡逐漸普及后,不同的應用類型和數(shù)量不斷增多,應用的開發(fā)和分發(fā)方式也更加多樣。除傳統(tǒng)的預置外,后發(fā)行應用管理也成為主要方式之一。UICC卡后發(fā)行應用管理是指在UICC卡發(fā)行后,通過管理系統(tǒng)實現(xiàn)動態(tài)的應用加載、安裝、更新等功能的管理方式。在UICC中,卡所有者和其他應用提供者各自的應用在UICC上并存,通用性安全性等問題都非常重要,在動態(tài)應用管理過程中的應用提供、分發(fā)、傳輸、部署等各環(huán)節(jié)的關系和流程都需考慮,國際標準中為規(guī)定卡的多應用管理要求制定了GP(Global Platform)規(guī)范。
圖1 GP可信安全架構(gòu)
Global Platform是由運營商、卡商、終端商、卡組織等機構(gòu)成員共同組成的國際標準組織,目的是建立跨越不同行業(yè)不同領域的安全芯片可信環(huán)境,使歸屬不同所有者的多個應用可以在通用平臺上安全地部署和管理。GP制定發(fā)布了包括卡、設備和系統(tǒng)等各方面要求的系列技術規(guī)范。GP規(guī)范定義了統(tǒng)一的安全基礎架構(gòu),各功能模塊形成一定的相互支配和管理的關系,共同組成可靠互信的應用并存安全體系[4-5]。這為同一用戶設備向不同行業(yè)的服務提供者在保障安全性的前提下充分開放,實現(xiàn)市場融合和創(chuàng)新的跨行業(yè)合作奠定了基礎。
為保證來自于不同提供者的應用的安全性,GP架構(gòu)提出安全域的概念,歸屬不同提供者的應用位于不同的安全域之中,保持各自的獨立性、機密性和安全性(如圖1)。安全域可以被認為是一種特殊的應用,其作用是為安全域內(nèi)的應用提供安全服務,如密鑰處理、數(shù)據(jù)加密、數(shù)據(jù)解密、數(shù)字簽名的生成和校驗。安全域按照所有者的屬性不同分為兩個基本類型,即發(fā)行者安全域(Issuer Security Domain,ISD)和應用提供者安全域(也稱為輔助安全域,Supplementary Security Domain,SSD)。發(fā)行者安全域歸屬卡發(fā)行者,是基本組件卡管理實體(Card Manager,CM)中的一部分;應用提供者安全域歸屬應用提供者或授權控制中心。應用提供者安全域與發(fā)行者安全域,以及不同的應用提供者安全域之間相互獨立[6]。
GP的基礎是運行時環(huán)境(Runtime Environment,RTE),其作用是為應用提供與硬件無關的應用程序接口(Application Programming Interface,API)、安全的存儲和可執(zhí)行的內(nèi)存空間,具有安全性和多應用特性。運行時環(huán)境、發(fā)行者安全域和對卡持有者的校驗方法三者組成卡管理實體CM。GP API/RTE API為應用提供卡持有者的校驗、個人化等服務,同時也為應用提供卡的鎖定、應用生命周期狀態(tài)的更新等卡內(nèi)容管理服務。發(fā)行者應用和應用提供者應用利用以上API服務開發(fā)實現(xiàn),分別在各自的安全域當中,受到各自安全域的管理,相互之間處于隔離狀態(tài)。
GP架構(gòu)當中的發(fā)行者通常為運營商,應用提供者通常為其他第三方應用所有者,在進行應用管理時的模式和方案需要根據(jù)二者之間的關系和各自的特點決定。如在NFC[7]這種典型應用場景中,支付、金融等類型的應用對安全性的要求比較高,應用提供者銀行等第三方具有相當?shù)募夹g實力,自我管理意識也比較強,因此,在后發(fā)行應用管理中采用的是應用提供者直接管理的方式,即應用提供者系統(tǒng)不通過發(fā)行者系統(tǒng),對所屬的應用提供者安全域及其中的應用進行直接管理[8]。而由于運營商對于在所發(fā)行的UICC卡中安裝應用也負有安全監(jiān)管的責任,因此,在卡中基于GP建立了一定的機制和流程,以保證二者之間的互信關系和環(huán)境,這種兼顧發(fā)行者和應用提供者要求的后發(fā)行應用管理模式被稱為委托管理。
在委托管理模式當中,第三方應用提供者可以在被發(fā)行者授權的情況下使用自有專用系統(tǒng)與所屬的SSD建立安全通道,完成應用加載、刪除、鎖定等操作。命令中包含由系統(tǒng)提供的管理操作令牌,ISD通過對令牌的驗證確定該管理操作是否被授權。如果驗證通過,則說明管理操作為合法的授權操作,允許相應操作,如果驗證未通過,ISD則終止該操作。管理操作的合法性通過管理令牌得到保證。委托管理模式的SSD的應用安裝流程可分為三步,分別是應用文件的下載、應用的安裝和應用的可選擇化;它們分別對應三條主要命令:Install[for load]、Install[for install]、Install[for make selectable];且分別都包含各自的令牌,應用文件數(shù)據(jù)由Load命令承載。圖2是卡通過委托管理的方案進行SSD應用下載的流程。
同時,GP提供了若干種保障應用管理安全的方案,其中委托管理模式中應用的安全方案是最多最復雜的,這是因為這種模式是建立在運營商和第三方應用提供商互信環(huán)境之下的,互信環(huán)境的建立需要更為安全的手段加以保障。GP安全框架中提供兩個方面的安全機制,分別是管理操作安全和通信安全。
管理操作安全可保證應用管理和內(nèi)容管理的命令、數(shù)據(jù)、信息等相關內(nèi)容的完整性和可信性,管理操作安全的方法包括以下4個方面。
1)加載文件數(shù)據(jù)塊HASH值。用于驗證加載文件數(shù)據(jù)塊的完整性。
2)加載文件數(shù)據(jù)塊(Data Authentication Patten,DAP)簽名。用于驗證數(shù)據(jù)提供者身份,由卡外實體(應用提供方或授權管理者)產(chǎn)生的認證數(shù)據(jù)值,附加在文件的數(shù)據(jù)鑒別塊中。每個加載文件附有一個或多個數(shù)據(jù)鑒別塊。向卡片加載文件時,每個簽名必須由對應的安全域進行驗證。該驗證被稱為DAP驗證。
圖2 委托管理模式SSD應用下載
3)委托管理令牌。發(fā)卡方對一個或多個委托管理操作創(chuàng)建的簽名,作用是讓發(fā)卡方能對其發(fā)行卡片的內(nèi)容變化有所控制。該令牌通常由主安全域進行驗證。
4)回執(zhí)響應。委托管理時,恰當?shù)陌踩蚩梢詣?chuàng)建回執(zhí)響應,作為應用提供方已經(jīng)對卡片內(nèi)容進行了改變的證據(jù)。
通信安全是保證卡和卡外實體的信息交換和傳輸?shù)陌踩玔9-10],通信安全的方法包括以下4個方面。
1)實體認證??ㄆ涂ㄍ鈱嶓w能夠通過加密的消息交換,驗證對方的可信性。
2)完整性認證。接收方(卡片或卡外實體)可以確保從發(fā)送方(對應的卡外實體或卡片)收到的數(shù)據(jù)是來自通過了合法認證的實體,且消息序列正確無誤,未遭篡改;
3)機密性。可以確保數(shù)據(jù)從發(fā)送方(卡外實體或卡片)傳送到接收方(對應的卡片或卡外實體)的過程中,不會遭到未經(jīng)認證的實體窺探。
委托管理模式允許第三方應用提供者充分行使應用管理權利,比較適用于NFC等應用管理場景。不過隨著多應用卡的類型增多,應用場景的擴展,也逐漸發(fā)展出不同類型的需求[11]。部分第三方應用提供者出于業(yè)務情況和自身條件考慮,在建立系統(tǒng)自行進行應用管理和通過運營商進行應用管理之間,更傾向于選擇后者。這在一些新興的業(yè)務當中很可能出現(xiàn),比如在M2M業(yè)務中,第三方希望通過M2M卡提供基本的用戶服務,屬于通用服務,管理功能并不復雜,安全性要求一般,沒有建立專用系統(tǒng)和流程進行自行應用管理的必要。在這種情況下,只要具備基本安全保障,通過運營商已有的成熟系統(tǒng)進行應用管理,對第三方應用提供者而言,既可以簡化管理流程,降低管理成本,又不受卡應用管理技術和經(jīng)驗方面的限制,不失為比較有利的可行模式。
第三方應用提供者既然需要借助運營商系統(tǒng)實現(xiàn)應用管理,則說明第三方對運營商具有基本信任,互信環(huán)境的建立并不是必須。不過第三方應用通過運營商管理,其中還包括加載、刪除等關鍵操作,則第三方屬于安全敏感對象,其安全要求也需充分考慮[12-13]。
在標準中也為這種需求提供了實現(xiàn)方式,就是運營商系統(tǒng)與第三方應用提供者安全域建立安全通道,直接進行應用管理,這被稱為授權管理。授權管理允許卡外實體在被認證為安全域所有者的情況下,無須授權即可進行應用管理。其中卡外實體的認證是在安全通道初始化過程中完成,通常使用對稱加密,能夠提供安全通道初始化所需密鑰的就是安全可信實體。這種情況下,需要第三方應用提供者將加密密鑰提供給運營商系統(tǒng),使運營商系統(tǒng)代理應用管理操作,卡并不能區(qū)分安全域?qū)嶋H的所有者和擁有其安全通道密鑰的代理者,也不能區(qū)分安全域所有者和安全域關聯(lián)應用的提供者。應用提供者安全域如果需要進一步確認數(shù)據(jù)來源可靠性,可以在接收應用文件數(shù)據(jù)之后通過DAP驗證等方式實現(xiàn)。盡管如此,因為這種方案需要提供密鑰給運營商系統(tǒng),對第三方應用提供者而言還是存在一定的安全風險。圖3是通過授權管理的方案進行SSD應用下載的流程。
圖3 授權管理模式SSD應用下載
GP定義了卡外實體與卡的接口,不過沒有定義卡內(nèi)各實體之間的接口,僅定義了相應的功能,以上兩種應用管理模式就是根據(jù)各業(yè)務場景需求提供的相對完整的流程。
在通過運營商實現(xiàn)第三方應用管理的方式中,一般的第三方應用提供者可以使用授權管理模式,其特點是可以充分滿足第三方應用提供者簡單管理應用的需求,不過安全保障方面相對薄弱。怎樣在無須額外增加第三方應用提供者應用管理負擔的前提下,為其提高應用管理的安全性要求,對運營商和第三方應用提供者而言都是很值得研究的問題。為實現(xiàn)這一目的,應首先遵守GP規(guī)范的標準化和通用性的要求,同時在已定義的管理機制之外引入其它機制以支撐應用的關聯(lián)加載。以下將基于GP規(guī)范,提出以應用遷移機制為核心,通過ISD與SSD之間的應用關系變更實現(xiàn)應用關聯(lián)加載的解決方案。應用遷移是指通過遷移指令,可以將應用從原關聯(lián)安全域轉(zhuǎn)移關聯(lián)到其它安全域。在通過ISD為SSD下載應用的方案中,就是首先將應用下載到ISD,再由ISD將應用遷移關聯(lián)至目標SSD,在此過程中ISD與應用提供者SSD之間是基本信任的態(tài)度。SSD可以采用一定的安全策略以保證應用遷移的合法性,如加載階段的DAP驗證和遷移階段的遷移令牌,不過這都不是必須的。上述方式可以稱為遷移管理模式。圖4是通過遷移管理模式的方案進行SSD應用下載的流程。
圖4 遷移管理模式SSD應用下載
在遷移管理模式中,第三方應用提供者無須提供密鑰給運營商系統(tǒng)就可以借助運營商系統(tǒng)對自身應用進行管理,也可以通過一定的安全機制保證管理的合法性,其安全性有明顯的改善。需要指出的是,遷移操作分為隱式遷移和顯式遷移。在圖4流程中,可以在Install[for load]指令中直接指明目標SSD AID,則可執(zhí)行加載文件和生成的應用實例關聯(lián)SSD,無需再發(fā)送Install[for extradition]進行應用遷移操作,這種方式被稱為隱式遷移;如果在Install[for load]命令中沒有指明目標SSD的AID,則該應用的可執(zhí)行加載文件和實例都從屬于ISD,需要再發(fā)起Install[for extradition]指令改變關聯(lián)安全域,將應用遷移至SSD,這種方式被稱為顯式遷移。
分析三種模式各自的特點會發(fā)現(xiàn),它們有各自不同的適用場景,如果能夠相互結(jié)合,可以為多應用卡提供廣泛適用的、靈活動態(tài)的管理模式。
1)授權管理模式技術簡單。由運營商系統(tǒng)執(zhí)行,對第三方管理系統(tǒng)和應用提供要求不高,安全性一般,對于不需自行進行應用管理,發(fā)展通用類業(yè)務(如信息類業(yè)務、服務類業(yè)務)的第三方應用提供者比較適合。
2)委托管理模式技術要求比較復雜。第三方需具備管理系統(tǒng),使用了較多的安全方法,充分保障了應用提供者和卡所有者在應用管理方面的安全,對于安全性較高的業(yè)務(如支付類業(yè)務、金融類業(yè)務)的第三方應用提供者比較適合。
3)遷移管理更多考慮介于二者之間的需求。這類模式技術要求一般,提升了第三方應用管理安全性,對運營商安全性也有基本的保障,是兼顧二者利益的模式。對于希望通過運營商系統(tǒng)進行應用管理,而又具有一定安全管理意識,需要具備基本安全要求的業(yè)務(如身份識別類業(yè)務、一卡通類業(yè)務)的第三方應用提供者比較適合。
電信智能卡目前正向著真正意義上的多應用卡演進,尤其隨著NFC卡、M2M卡等新型卡品和業(yè)務的出現(xiàn),智能卡在基本網(wǎng)絡接入應用之外,也將更多地承載跨行業(yè)跨領域的應用,應用管理的需求相對之前的情況也會更加多樣化和復雜化。在這種形勢之下,國內(nèi)外運營商近幾年也紛紛發(fā)展各自的卡應用管理業(yè)務并部署相應的系統(tǒng),而作為綜合性的管理系統(tǒng),以不同的模式滿足不同類型的業(yè)務需求也是持續(xù)關注的問題,并取得了一定進展。結(jié)合此類實踐經(jīng)驗,并從上述三種模式的分析和研究可以看出,應用管理的方案在安全性和便捷性方面存在一定程度的矛盾,而用戶對這兩方面性能的需求其實也各有側(cè)重。按照用戶需求劃分不同的管理模式,基于GP架構(gòu)建立支持不同模式的應用管理體系,提供滿足不同特點不同場景下用戶需求的整體方案,對運營商而言是比較適合目前形勢的選擇。未來GP架構(gòu)安全應用管理的發(fā)展可能需要注重以下幾個方面。
1)安全性與便捷性的平衡。系統(tǒng)的便捷性直接影響業(yè)務初期推廣的效果和進度,而在業(yè)務普遍推廣后,系統(tǒng)的安全性問題又會更加突出。二者在業(yè)務發(fā)展的不同階段發(fā)揮出的影響力度不同,真正平衡兩類要求,才能保證業(yè)務的可持續(xù)發(fā)展。GP架構(gòu)提供了多種安全機制和策略,應該說已經(jīng)提供了比較豐富的基礎資源,再結(jié)合業(yè)務實際需求,設計出切實滿足用戶需求的方案,才能使GP架構(gòu)靈活準確地得到應用。
2)多方權益的考慮。多應用卡的發(fā)展本身就會給卡業(yè)務帶來更多類型更多角色的參與者,除運營商、應用提供者這些關鍵參與者之外,還包括未來可能的終端商、系統(tǒng)提供商、行業(yè)用戶、最終用戶等,這在M2M某些業(yè)務場景中已經(jīng)出現(xiàn)了一些跡象。各參與者對應用管理會有不同的權益和訴求,應用管理系統(tǒng)需要充分考慮多方權益并體現(xiàn)在技術方案當中,以最大程度提升在產(chǎn)業(yè)環(huán)境中的適應性。
3)推進業(yè)務的開放性和擴展性。近年來卡業(yè)務運營模式逐漸發(fā)生變化,原有相對封閉的系統(tǒng)已有所突破,用戶需求也隨之不斷拓展,應用管理本身是開放系統(tǒng)的一部分,這種變化的影響會更為顯著,系統(tǒng)也會逐漸在開放性和擴展性上有所延伸。
參考文獻
[1] 蘭柯,埃芬.智能卡大全一智能卡的結(jié)構(gòu)、功能[M].王卓人,王鋒.譯.北京:電子工業(yè)出版社,2002
[2] ETSI TS102.221 Smart Cards;UICC-Terminal interface;Physical and logical characteristics[S]
[3] 3GPP TS 31.102 Characteristics of the USIM application[S]
[4] GlobalPlatform Card Specif i cation v2.3,[S].2015
[5] GlobalPlatform Card Specification v2.3 - Amendment A-Conf i dential Card Content Management v1.1[S]
[6] 董威,楊義先,鈕心忻.基于JavaSIM卡的GlobalPlatform安全技術研究[J].北京郵電大學學報.2006,29(03):91-94
[7] 夏文棟,林凱.融合NFC的3G智能卡系統(tǒng)[J].計算機工程.2011,37(2):229-231
[8] 羅標.智能卡動態(tài)多應用管理的研究及實現(xiàn)[M].武漢:華中科技大學2005
[9] ETSI TS 102 225 Smart Cards; Secured packet structure for UICC based applications[S]
[10] ETSI TS 102 226 Smart Cards; Remote APDU structure for UICC based applications[S]
[11] 吳俊.多應用智能卡平臺和操作系統(tǒng)[J].計算機科學.2014,41(6A):490-493
[12] 王明飛.J a v a智能卡的安全性[J].電腦知識與技術.2011,7(24):6015-6016
[13] 徐燕.多應用智能卡平臺及其安全性探討[J].上海信息化,2014,9:65-69