一種虛擬SIM卡的快速鑑權方法、系統、伺服器及終端與流程
2023-12-08 21:08:26 3

本申請涉及一種虛擬SIM卡的鑑權方案。
背景技術:
廣義來說,SIM(subscriber identity module,用戶身份模塊)卡是指移動終端所使用的智慧卡,其中存儲有用戶身份識別數據、鑑權算法及相應密鑰等,用來對移動終端接入移動通訊網絡進行識別和鑑權。早期的SIM卡僅適用於GSM終端,並且SIM卡片與SIM應用綁定在一起,「SIM卡」既可以指物理卡片,也可以指SIM應用。早期的cdmaOne終端中實現「SIM卡」功能的是R-UIM(Removable User Identity Module)卡,也稱UIM(User Identity Module)卡。早期的SIM卡和R-UIM卡如今均已被淘汰。
進入3G時代以後,SIM卡實際是指UICC(Universal Integrated Circuit Card,通用集成電路卡)。在硬體層面上,UICC卡主要包括CPU(中央處理器)、ROM(只讀存儲器)、RAM(隨機存取存儲器)、EEPROM(電可擦除可編程只讀存儲器)、I/O(輸入/輸出)電路等。在軟體層面上,UICC卡至少保存以下四部分數據以實現鑑權。
其一,用來接入不同的移動通訊網絡的一種或多種應用。例如,SIM應用可以接入GSM網絡,USIM(UMTS subscriber identity module)應用可以接入GSM網絡和W-CDMA網絡和TD-SCDMA網絡,CSIM(CDMA subscriber identity module)應用可以接入cdmaOne網絡和CDMA2000網絡,ISIM(IP Multimedia Services Identity Module)應用可以接入IMS(IP Multimedia Subsystem,IP多媒體子系統)。為便於描述,上述各個應用均包含用戶可讀寫的EF文件(Elementary File,基本文件),這些EF文件是駐網所必須的。
其二,加密算法,例如3GPP、3GPP2標準所公開的算法。
其三,鑑權密鑰,供加密算法使用。例如是Ki密鑰(Key identifier,根密鑰)。移動通訊運營商通常不會公開鑑權密鑰,用戶也無法直接獲取鑑權密鑰。網絡側的鑑權中心(AuC,Authentication Center)保存有所有合法用戶的鑑權密鑰。SIM應用(或USIM應用、CSIM應用等)與網絡側傳遞數據時,發送方將該數據以鑑權密鑰加密,接收方以同一個鑑權密鑰對數據解密,由此實現以鑑權密鑰確保用戶身份合法。
其四,STK應用(Sim application Tool Kit),用於建立應用與用戶的交互操作、以及定義應用如何訪問或控制網絡。
請參閱圖1,這是現有的移動終端與鑑權中心之間的鑑權方法的主要流程示意圖。所述方法包括如下步驟。
第1步S101:SIM卡上電,向終端發送ATR(Answer to Reset,復位應答)報文。所述SIM卡是廣義概念,包括狹義的SIM卡、R-UIM卡、UICC卡等移動終端所使用的智慧卡。當代指UICC卡時,SIM卡主要是指其中的SIM應用、USIM應用、CSIM應用和/或ISIM應用。
第2步S102:終端與SIM卡之間進行PPS(ProtocolandParameters Selection,協議和參數選擇)協商。
第3步S103:終端向SIM卡發送第一條報文,獲取SIM卡的類型。所述SIM卡的類型主要包括三種:狹義的SIM卡(即早期的SIM卡)、R-UIM卡或UICC卡。當代指UICC卡時,SIM卡主要是指其中的SIM應用、USIM應用、CSIM應用和/或ISIM應用。
第4步S104:終端讀取SIM卡中的基本的EF文件。所述基本的EF文件是指主文件級別(MF level,Master File level)的EF文件,也就是不屬於USIM目錄、CSIM目錄、ISIM目錄、SIM目錄、RUIM目錄的EF文件,包括EF_ICCID、EF_PL、EF_ARR、EF_DIR等。
第5步S105:終端確認SIM卡的PIN碼(Personal Identification Number)保護是否打開,如PIN碼保護打開則進一步對SIM卡進行PIN碼校驗。如PIN碼保護未打開則省略PIN碼校驗。
第6步S106:終端向SIM卡發送初始化SIM應用(或USIM應用、CSIM應用、ISIM應用等)的指令。
第7步S107:終端讀取SIM卡中的SIM應用(或USIM應用、CSIM應用、ISIM應用等)下的必須的EF文件。所述必須的EF文件是指應用專用文件級別(ADF Level,Application Dedicated File)或電信級別(TELECOM level)的EF文件,也就是屬於USIM目錄、CSIM目錄、ISIM目錄、SIM目錄、RUIM目錄下或它們的子目錄下的EF文件,例如包括IMSI碼(International mobile subscriber identity,國際移動用戶識別碼)、FPLMN表(forbidden public land mobile network,禁用的公共陸地行動網路)、EHPLMN表(Equivalent Home Public Land Mobile Network,等效本地公共陸地行動網路)、UST(USIM Service Table,USIM服務表)、SST(SIM Service Table,SIM服務表)、ACC(Access Control Class,接入控制等級)中的一項或多項。
第8步S108:終端向SIM卡發送SIM應用(或USIM應用、CSIM應用、ISIM應用等)初始化完成指令。
第9步S109:網絡側的鑑權中心向終端發送鑑權數據,終端將鑑權數據發送給SIM卡。
第10步S110:SIM卡進行相應的鑑權運算,生成鑑權響應數據發送給終端,終端將鑑 權響應數據發送給網絡側的鑑權中心。
上述鑑權方法中,第1步至第8步是SIM卡初始化以及緩存EF文件的過程,第9步至第10步是鑑權過程。現有的鑑權方法在SIM卡與網絡側的鑑權中心之間進行鑑權之前,需要經過較長時間的等待SIM卡初始化以及緩存EF文件的過程。
除了部分cdmaOne終端和CDMA2000終端以外,其餘移動終端主要使用以物理卡片為載體的SIM卡,稱為實體SIM卡或物理SIM卡。隨著技術發展,如今也出現了虛擬SIM(Virtual SIM)卡、軟SIM(Multi SIM)卡、雲SIM卡、eSIM(或e-SIM)等技術。這些技術雖然名稱各異,核心內容卻非常相似,就是省略了物理卡片作為SIM卡的載體,可以預先在移動終端內部寫入SIM卡的信息,並可在隨後通過網絡遠程對移動終端內部的SIM卡信息進行增加、修改、刪除等操作。為使表述簡略,以下統一採用「虛擬SIM卡」來代表上述各種省略物理卡片的SIM卡技術。
申請公布號為CN105263133A、申請公布日為2016年1月20日的中國發明專利申請公開了一種虛擬SIM卡的實現方案。該方案是先將虛擬SIM卡數據存儲在雲端伺服器,所述虛擬SIM卡數據包括卡號碼、鑑權數據、密鑰。然後移動終端讀取雲端伺服器中的虛擬SIM卡數據,通過鑑權與虛擬SIM卡建立映射關係。
申請公布號為CN105451213A、申請公布日為2016年3月30日的中國發明專利申請公開了一種虛擬的用戶識別模塊卡(即虛擬SIM卡)的實現方案。該方案是由伺服器向電子設備分配虛擬SIM卡數據,其中包含Ki密鑰;電子設備利用接收的虛擬SIM卡數據與網絡側進行鑑權,從而接入網絡。
上述兩份文獻需要移動通訊運營商將鑑權密鑰等敏感數據向移動終端廠商或虛擬SIM卡運營商公開,這在實踐層面很難實現。以Ki密鑰為代表的鑑權密鑰是移動通訊運營商的重要資產,在全球範圍內願意提供Ki密鑰的移動通訊運營商寥寥無幾,所覆蓋的用戶數量更是有限。上述兩份文獻還將鑑權密鑰等敏感數據保存在自己的伺服器中,這些伺服器的網絡安全防護往往難以達到移動通訊運營商的鑑權中心的同等程度。一旦伺服器被入侵,鑑權密鑰等敏感數據洩露,則可能導致SIM卡被隨意複製等嚴重後果。
申請公布號為CN105101167A、申請公布日為2015年11月25日的中國發明專利申請公開了一種虛擬SIM卡的實現方案。該方法需要移動終端有兩個數據機模塊(即MODEM),第二MODEM用於加載用戶的實體SIM卡、或者是包含鑑權密鑰的虛擬SIM卡,從而建立第一通信鏈路。移動終端利用第一通信鏈路從伺服器獲取不包含鑑權密鑰的第二虛擬SIM卡,對第二虛擬SIM卡鑑權通過後建立第二通信鏈路。該文獻中的第二虛擬SIM卡不需要獲取及存儲鑑權密鑰等敏感數據,不需要得到移動通訊運營商的許可授權,更有可能實現。但是該文 獻並不涉及第二虛擬SIM卡如何進行初始化和緩存EF文件等過程。
實際上,當移動終端採用實體SIM卡時,實體SIM卡的鑑權方法是固定不變的。當移動終端採用虛擬SIM卡後,大量的SIM卡資源位於網絡上的伺服器,此時對虛擬SIM卡的鑑權方法就可以進行優化,從而減少鑑權前的SIM卡初始化以及緩存EF文件的等待時間。
技術實現要素:
本申請所要解決的技術問題是提供一種虛擬SIM卡的快速鑑權方法。為此,本申請還要提供一種虛擬SIM卡的快速鑑權系統、伺服器及終端。
為解決上述技術問題,本申請虛擬SIM卡的快速鑑權方法為:具有多個SIM卡的伺服器對一個或多個SIM卡初始化,並且緩存初始化完成的各個SIM卡的EF文件。當任意終端向伺服器請求虛擬SIM卡時,伺服器為該終端分配一個SIM卡,並將所分配的SIM卡在伺服器上緩存的EF文件發給該終端。該終端利用接收的SIM卡的EF文件接入移動通訊網絡,接入過程中的鑑權計算由伺服器中的SIM卡進行。
本申請實現虛擬SIM卡快速鑑權的伺服器具有多個SIM卡,這些SIM卡中的至少一部分被初始化且EF文件緩存在伺服器中。所述伺服器為終端分配SIM卡,並將所分配的SIM卡在伺服器中緩存的EF文件發給終端。所述伺服器接收終端轉發的來自於鑑權中心的鑑權數據,並交由SIM卡進行鑑權計算得到鑑權響應數據,將鑑權響應數據通過終端轉發給鑑權中心。
本申請實現虛擬SIM卡快速鑑權的終端向伺服器請求虛擬SIM卡,並接收伺服器發送的所分配的SIM卡在伺服器中緩存的EF文件。所述終端接收鑑權中心發送的鑑權數據並轉發給伺服器,還接收伺服器發送的鑑權響應數據並轉發給鑑權中心。
本申請虛擬SIM卡的快速鑑權系統包括上述伺服器與終端。
本申請也是提供一種虛擬SIM卡的實現方案,是在伺服器中設置大量的SIM卡資源通過網絡提供給大量終端使用。如果採用現有的鑑權方案,需要在終端與伺服器上的SIM卡之間進行多次數據交互,考慮到網絡延遲因素,將會導致整個鑑權流程耗時較長。改用本申請的鑑權方案以後,伺服器預先與SIM之間進行了多次數據交互並且緩存有用的數據,可以讓終端與伺服器之間僅通過一次數據交互就取得所需的有用數據,從而極大地減少整體的鑑權過程的所需時間。如果在伺服器中設置的以實體SIM卡為主,那就不需要在伺服器中存儲SIM卡的鑑權密鑰等敏感數據,避免了這些重要數據的洩漏風險。
附圖說明
圖1是現有的移動終端與鑑權中心之間的鑑權方法的流程圖。
圖2是本申請的虛擬SIM卡的快速鑑權方法的流程圖。
圖3是本申請的虛擬SIM卡的快速鑑權方法的一個實施例的流程圖。
具體實施方式
請參閱圖2,這是本申請的虛擬SIM卡的快速鑑權方法的流程圖,其包括如下步驟。
第1步S201:具有多個SIM卡的伺服器對一個或多個SIM卡初始化,並且緩存初始化完成的各個SIM卡的EF文件。
優選地,該步驟中具有多個SIM卡的伺服器對所有SIM卡進行初始化,並且緩存初始化完成的所有SIM卡的EF文件。
第2步S202:當任意終端向伺服器請求虛擬SIM卡時,伺服器為該終端分配一個SIM卡,並將所分配的SIM卡在伺服器上緩存的EF文件發給該終端。
該步驟中,如果所分配的SIM卡尚未初始化,則要先初始化所分配的SIM卡,然後在伺服器上緩存初始化完成的所分配SIM卡的EF文件。
該步驟中,如果所分配的SIM卡已經完成初始化,但在伺服器上尚未緩存ED文件,則要先在伺服器上緩存初始化完成的所分配SIM卡的EF文件。
該步驟中,伺服器優選地是根據終端的地理位置為其分配具有較低資費的SIM卡。例如,終端上報的小區信息、有線或無線區域網的IP位址等信息都可以反映其地理位置,那麼伺服器優選地將終端當時所在的城市或國家的SIM分配給終端,從而使終端能夠享受當時所在的城市或國家的最低資費。
第3步S203:該終端利用接收的SIM卡的EF文件嘗試接入移動通訊網絡,在接入過程中鑑權中心發送的鑑權數據通過終端中轉發給伺服器,由伺服器中的SIM卡根據鑑權密鑰進行鑑權計算並得到鑑權響應數據,該鑑權響應數據再由伺服器發給該終端中轉並最終發給鑑權中心。
該步驟中,由於鑑權密鑰等敏感數據被加密存儲在SIM卡中,因此鑑權計算要放在SIM卡中進行,終端只是作為鑑權數據與鑑權響應數據在鑑權中心與SIM之間傳輸的中轉媒介。這種鑑權方案被稱為遠程鑑權。在遠程鑑權過程中,終端內部並未插入實體SIM卡,因此是一種虛擬SIM卡的實現方案。
與所述SIM卡的快速鑑權方法相對應的伺服器是:第一方面,具有多個SIM卡,這些SIM卡中的至少一部分已被預先初始化且將EF文件緩存在伺服器中。第二方面,為終端分配SIM卡,並將所分配的SIM卡在伺服器中緩存的EF文件發給終端。第三方面,接收終端轉發的來自於鑑權中心的鑑權數據,並交由SIM卡根據鑑權密鑰進行鑑權計算得到鑑權響應數據,將鑑權響應數據通過終端轉發給鑑權中心。
所述伺服器所具有的多個SIM卡可以是實體SIM卡和/或包含鑑權密鑰的虛擬SIM卡。 某些移動通訊運營商不開放授權虛擬SIM卡的鑑權密鑰,那麼伺服器就插著這些運營商的實體SIM卡。另一些移動通訊運營商開放授權虛擬SIM卡的鑑權密鑰,那麼伺服器或者插有這些運營商的實體SIM卡,或者存儲有這些運營商的包含鑑權密鑰的虛擬SIM卡。全部採用實體SIM卡是優選方案,這樣各個SIM卡的鑑權密鑰保存在各個實體SIM卡中,不用擔心存儲鑑權密鑰的伺服器的安全性。
如果伺服器將某個實體SIM卡分配給某個終端作為虛擬SIM卡,那麼最終由該實體SIM卡進行鑑權計算。如果伺服器將某個包含鑑權密鑰的虛擬SIM卡的數據分配給某個終端作為虛擬SIM卡,那麼最終由該包含鑑權密鑰的虛擬SIM卡進行鑑權計算。
優選地,伺服器將所有SIM卡預先初始化且將初始化完成的SIM卡的EF文件緩存在伺服器中。如果由於種種限制無法做到預先初始化並緩存所有SIM卡,那麼只能預先初始化並緩存部分SIM卡,此時可以為不同的城市或國家預先初始化並緩存大致相同數量的SIM卡,或者預先初始化並緩存資費較低的SIM卡,或者結合SIM卡的發行地和資費兩個因素綜合考慮決定預先初始化並緩存的SIM卡。
與所述SIM卡的快速鑑權方法相對應的終端是:第一方面,向伺服器請求虛擬SIM卡,並接收伺服器發送的所分配的SIM卡在伺服器中緩存的EF文件。第二方面,接收鑑權中心發送的鑑權數據並轉發給伺服器,還接收伺服器發送的鑑權響應數據並轉發給鑑權中心。
為了連接伺服器並與其通訊,終端需要先建立網絡連接,這可以有多種實現方式。例如,所述終端具有一個數據機和一個有線或無線的網絡適配器,先由網絡適配器接入有線或無線的區域網,再利用該網絡進行後續操作。又如,所述終端具有兩個數據機,第一數據機中插有實體SIM卡,先由實體SIM卡接入移動通訊網絡,再利用該網絡進行後續操作。再如,所述終端具有兩個數據機,並非易失性地保存有包含鑑權密鑰的虛擬SIM卡,先由包含鑑權密鑰的虛擬SIM卡通過第一數據機接入移動通訊網絡,再利用該網絡進行後續操作。
上述伺服器與終端便構成了本申請的虛擬SIM卡的快速鑑權系統。
請參閱圖3,這是本申請的採用虛擬SIM卡的移動終端與鑑權中心之間的鑑權方法的一個實施例。所述方法包括如下步驟。
第1步S301:SIM卡上電,向伺服器發送ATR報文。所述SIM卡是廣義概念,包括狹義的SIM卡、R-UIM卡、UICC卡等移動終端所使用的智慧卡。當代指UICC卡時,SIM卡主要是指其中的SIM應用、USIM應用、CSIM應用和/或ISIM應用。
第2步S302:伺服器與SIM卡之間進行PPS協商。
第3步S303:伺服器向SIM卡發送第一條報文,獲取SIM卡的類型。
第4步S304:伺服器讀取SIM卡中的基本的EF文件,並緩存在伺服器中。
第5步S305:伺服器確認SIM卡的PIN碼保護狀態。如PIN碼保護打開則進一步對SIM卡進行PIN碼校驗。如PIN碼保護未打開則省略PIN碼校驗。
第6步S306:伺服器向SIM卡發送初始化SIM應用(或USIM應用、CSIM應用、ISIM應用等)的指令。
第7步S307:伺服器讀取SIM卡中的SIM應用(或USIM應用、CSIM應用、ISIM應用等)下的必須的EF文件,並緩存在伺服器中。
第8步S308:伺服器向SIM卡發送SIM應用(或USIM應用、CSIM應用、ISIM應用等)初始化完成指令。
第9步S309:任意終端向伺服器請求虛擬SIM卡。
第10步S310:伺服器向終端分配一張SIM卡,並將所分配的SIM卡在伺服器緩存的EF文件發送給終端。
第11步S311:網絡側的鑑權中心向終端發送鑑權數據,終端將鑑權數據發送給伺服器,伺服器將鑑權數據發送給SIM卡。
第12步S312:SIM卡進行相應的鑑權運算,生成鑑權響應數據發送給伺服器,伺服器將鑑權響應數據發送給終端,終端將鑑權響應數據發送給網絡側的鑑權中心。
與現有的虛擬SIM卡的實現方案相比,本申請具有如下技術優勢。
其一,伺服器具有多個SIM卡,如果採用全部是實體SIM卡的優選方案,那麼就不需要得到移動通訊運營商的授權即可實現。鑑權密鑰被加密存儲在各個實體SIM卡中,被洩密的風險遠小於將多個鑑權密鑰集中存儲在伺服器中。
其二,現有的實體SIM卡或虛擬SIM卡的鑑權方案,需要在終端與SIM之間進行多次數據交互,例如圖1所示的步驟S101至步驟S108。每次數據交互都要耗費一定時間,因此整體的鑑權過程需要耗費較長時間。
本申請的虛擬SIM卡的快速鑑權方案,將SIM卡初始化和緩存EF文件等過程提前進行,相當於提前使各個SIM卡處於激活狀態。一旦有終端需要虛擬SIM卡,伺服器就將預先緩存的所分配的SIM卡的EF文件迅速發送給終端,立即進入後續的鑑權過程,從而大大減少了整體的鑑權過程的時間。
以上僅為本申請的優選實施例,並不用於限定本申請。對於本領域的技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本申請的保護範圍之內。