用于提供安全服務的方法
【技術領域】
[0001] 本發明涉及通過諸如安全處理器之類的安全元件來實現安全事務或提供安全服 務。可以將安全元件連接或嵌入到諸如移動電話或其等同物或計算機之類的主機設備中。 安全元件可以包括安全處理器,諸如用戶身份模塊(SM)卡、微型安全數字(micro-SD)卡、 通用集成電路卡(UICC)模塊,或更一般地諸如尤其符合ISO 7816標準的集成電路卡。安 全元件還可以只包括由處理器實現的安全環境,諸如尤其符合全球平臺標準的可信執行環 境。
【背景技術】
[0002] 當必須執行安全操作時,使用安全元件來進行事務或提供服務一般需要在主機設 備中安裝涉及該安全元件的應用。
[0003] 但是,由于主機設備并不安全,所以能將安裝在主機設備中的應用設計為發起對 安全元件的攻擊,尤其旨在發現由安全元件存儲或處理的保密信息。此類攻擊還旨在在安 全元件的持有者不知道的情況下執行事務。
[0004] 為了消除這些風險,希望能夠保證試圖訪問安全元件的應用被授權執行此類訪 問。一旦應用可以訪問安全元件,則希望保證其它應用不使用分配給該應用的訪問授權。
[0005] 為了這個目的,已經開發了 JSR 177標準(Java規范需求)來提出在移動電話和 安全處理器之間的標準化通信接口,以便保護諸如在事務中所交換的數據之類的數據的交 換和存儲,并利用第三方在數據交換中識別并認證用戶。JSR 177標準包括訪問控制機制, 其使得能被認證的應用能夠訪問存儲在安全元件中的信息。在接收到由應用發送的訪問請 求后,由主機設備操作系統實施的訪問控制機制訪問由安全元件存儲的訪問控制數據,并 使用此類訪問控制數據認證該應用。
[0006] JSR 177因此具有如下不足:將訪問控制功能交給(非安全的)主機設備操作系 統。因此,存在這樣的風險:欺騙性地修改操作系統以停用或修改訪問控制機制。
[0007] 另外,每種類型的主機設備都具有各自的操作系統,所述操作系統實施各自的訪 問控制機制。因此,訪問控制機制必須適應多個不同的操作系統。另外,每次修改該機制, 還必須修改每個實施該機制的操作系統。
[0008] 因此,希望提高用于控制安裝在主機設備中的應用對安全元件的訪問的訪問控制 機制的魯棒性。還希望無須修改裝備現有主機設備的操作系統而實施此類機制。
【發明內容】
[0009] 某些實施例涉及一種用于由安全元件執行來自連接到所述安全元件的非安全設 備的命令的方法,所述方法包括以下步驟:在所述非安全設備中,安裝用于管理與所述安全 元件的通信的定制模塊;向所述安全元件傳輸用于認證所述定制模塊的第一認證數據,以 便保證所傳輸的數據的保密性;所述定制模塊生成并向所述安全元件傳輸用于認證所述定 制模塊的第二認證數據;如果所述安全元件確定所述第一和第二認證數據彼此一致,則使 用所述第一或第二認證數據在所述定制模塊和所述安全元件之間創建安全通信鏈路;所述 非安全設備向所述安全元件傳輸命令;以及只有在經由所述安全通信鏈路發送所述命令的 情況下,所述安全元件才執行所述命令。
[0010] 根據一個實施例,所述第一認證數據包括所述定制模塊的可執行代碼的第一簽 名,所述方法包括以下步驟:所述定制模塊計算所述定制模塊的所述可執行代碼的第二簽 名;以及所述定制模塊通過將加密功能應用到所述第二簽名來計算所述第二認證數據。 [0011] 根據一個實施例,只在以下情況下,所述安全元件才執行所述命令:根據由所述安 全元件存儲的訪問控制列表,對于安裝在所述安全元件中的目標應用,和/或對于安裝在 所述非安全設備中的發布所述命令的應用,所述命令被授權。
[0012] 根據一個實施例,每個安裝在所述非安全設備中的能與所述安全元件通信的應用 包括所述定制模塊。
[0013] 根據一個實施例,所述方法包括以下步驟:傳輸并在所述非安全設備中安裝用于 管理與所述安全元件的通信的新的定制模塊或者用于定制所述定制模塊的新的定制數據; 以及向所述安全元件傳輸用于認證所述新的定制模塊或與所述新的定制數據相關聯的所 述定制模塊的新的第一認證數據,這些步驟或者被周期性地執行,或者當創建所述安全通 信鏈路時或當處理由所述非安全設備的應用發布的命令時,在所述安全元件遇到錯誤的情 況下被執行。
[0014] 根據一個實施例,由可信服務器生成所述定制模塊,以及所述可信服務器經由在 所述安全元件和所述可信服務器的地址之間創建的安全鏈路向所述安全元件傳輸用于認 證所述定制模塊的所述第一認證數據。
[0015] 根據一個實施例,在使用用于識別用戶的識別數據執行的定制所述安全元件的過 程期間,向所述安全元件提供所述服務器的所述地址。
[0016] 根據一個實施例,在所述可信服務器和所述安全元件之間傳輸所述第一認證數據 是在所述可信服務器與所述安全元件之間的相互認證步驟之后。
[0017] 根據一個實施例,針對安裝在所述非安全設備中的單個應用獨占地創建安全通信 鏈路,針對安裝在所述非安全設備中的另一個應用創建另一個安全通信鏈路。
[0018] 根據一個實施例,所述安全通信鏈路被創建為持續有限的持續時間或傳輸有限數 量的命令。
[0019] 某些實施例還涉及一種系統,其包括非安全設備、連接到所述非安全設備的安全 元件、以及可信服務器,所述非安全設備包括用于與所述可信服務器通信的通信電路,所述 系統被配置成執行上述方法。
[0020] 根據一個實施例,所述非安全設備是包括所述通信電路以與遠程服務器通信的計 算機或便攜式設備的處理器,所述安全元件是安全處理器或在處理器中實現的安全環境。
[0021] 某些實施例還涉及一種安全元件,其包括連接接口以連接到非安全設備,所述安 全元件被配置為:保密地接收由可信服務器發送的用于認證定制模塊的第一認證數據,接 收由所述非安全設備發送的用于認證所述定制模塊的第二認證數據,如果所述第一和第二 認證數據彼此一致,則通過使用所述第一或第二認證數據創建與安裝在所述非安全設備中 的所述定制模塊的安全通信鏈路,接收命令,以及只在所述命令經由所述安全通信鏈路發 送的情況下執行所述命令。
[0022] 根據一個實施例,所述安全元件被配置為只在以下情況下執行所述命令:根據由 所述安全元件存儲的訪問控制列表,對于安裝在所述安全元件中的所述命令的目標應用, 和/或安裝在所述非安全設備中的發布所述命令的應用,所述命令被授權。
[0023] 根據一個實施例,所述安全元件被配置為:當創建所述安全通信鏈路時或當處理 接收到的命令時,在遇到錯誤的情況下,發布用于安裝新的定制模塊的命令,所述新的定制 模塊用于管理連接到所述安全元件的所述非安全設備中的通信,以及接收用于認證所述新 的定制模塊的新的第一認證數據。
[0024] 根據一個實施例,所述安全元件被配置為:經由與可信服務器的地址創建的安全 鏈路,接收從所述可信服務器發送的用于認證所述定制模塊的所述第一認證數據,然后與 所述可信服務器進行相互認證。
[0025] 根據一個實施例,所述安全元件被配置為在有限的持續時間期間使每個安全通信 鏈路保持活動。
【附圖說明】
[0026] 以下將關于但不限定于附圖來描述本發明的實施例的某些示例,其中:
[0027] 圖1示意性地示出了根據一個實施例的可以實施訪問控制方法的系統;
[0028] 圖2是根據一個實施例的系統的功能圖;
[0029] 圖3至圖5示意性地示出了根據某些實施例的訪問控制方法的步驟序列;
[0030] 圖6示出了系統使用的訪問控制列表的結構;
[0031] 圖7示出了安裝在系統中的應用數據列表的結構;
[0032] 圖8不意性地顯不出了根據另個實施例的步驟序列。
【具體實施方式】
[0033] 圖1示出了一種系統,其包括連接到安全元件SE的主機設備MPU,設備MPU能夠連 接到遠程服務器。可以將主機設備MPU和安全元件SE集成到諸如移動電話之類的便攜式 設備HD或桌面計算機中。設備MPU可以是設備HD的處理器,例如主處理器或負責管理設 備與一個或多個無線和/或有線通信網絡NT (例如,GSM、3G、LTE、WIFI)的通信的處理器。 為此,將處理器MPU連接到通信電路RCT。設備HD可以通過一個或多個網絡NT連接到服務 器SRV。設備HD或者元件SE還可以包括近場通信設備(NFC)(未示出)以進行近場通信事 務。
[0034] 安全元件SE可以包括安全處理器,諸如用戶身份模塊(SM)卡、微型安全數字 (micro-SD)卡、模塊,或更一般地諸如安全集成電路。安全元件SE經由鏈路Bl連接 到處理器MPU,鏈路Bl可以屬于IS07816、單線協議(SWP)或內部集成電路(I2C)類型。
[0035] 對于訪問控制方法的實施,根據一個實施例,設備MPU可以連接到可能是遠程的 可信服務器SRV。
[0036] 圖2是圖1中的系統的功能圖。在圖2中,位于遠程位置CS的服務器SRV保證用 于創建SLGN和管理與設備MPU的安全鏈路和與元件SE的安全鏈路的完整性ILM的功能。
[0037] 設備MPU包括操作系統和一個或多個所安裝的應用APP。服務器SRV知道每個應 用APP。每個應用APP包括用于管理所創建的與元件SE的安全鏈路SLS的管理模塊SLLD。 模塊SLLD包括用于創建與元件SE的安全鏈路SLS的功能LAUT和完整性計算功能INTC。
[0038] 元件SE包括管理模塊SLLS,其用于管理安全鏈路SLS、認證和完整性控制功能、應 用數據表APL、訪問控制列表ACL。模塊SLLS包括接口模塊CCF (用于與安裝在元件SE中 的應用或小應用程序SEAP進行對接)和控制模塊LNKC (用于控制所創建的與安裝在設備 MPU中的應用APP的安全鏈路SLS)。
[0039] 表APL包含安