應用程序、第三方軟件應用程序、聯(lián)網(wǎng)應用程序和虛擬機。因此,在本發(fā)明的一些實施例中,工具包應用程序還可基于請求者軟件類型暴露不同的軟件能力。例如,可以為低級設備驅動程序賦予與例如聯(lián)網(wǎng)應用程序不同的能力和功能。
[0071]順便提一下,數(shù)據(jù)的常見實例包括但不限于:用于訪問控制客戶端的條件式操作標準(例如,用于自動SIM切換的設置等)、網(wǎng)址書簽、賬戶密碼列表、呼叫和/或消息歷史、用戶或財務賬戶信息、設備簡檔設置、軟件應用程序等。
[0072]所支持的數(shù)據(jù)訪問的常見實例包括但不限于:檢索數(shù)據(jù)、存儲數(shù)據(jù)、修改數(shù)據(jù)(例如,覆寫或替換)、執(zhí)行指令、確定數(shù)據(jù)有效性(例如,執(zhí)行循環(huán)冗余校驗(CRC)、單向加密散列或其他完整性校驗)、啟用/禁用特征等。此外,應當理解,特定類型的訪問可能是復雜的和/或需要工具包應用程序執(zhí)行多個內(nèi)部事務處理。實際上,本文公開的示例性工具包應用程序的一個突出優(yōu)點是可在安全元件內(nèi)部執(zhí)行復雜的事務處理。經(jīng)由IS07816信令執(zhí)行現(xiàn)有的SM卡訪問,其比安全元件自身的內(nèi)部訪問慢得多。例如,經(jīng)由ICC ISO 7816協(xié)議的簡單讀取請求基于協(xié)商的速度并且最大可達到幾百kbps (千比特/秒)。
[0073]在步驟404處,對訪問數(shù)據(jù)的請求任選地進行驗證以用于工具包應用程序的適當?shù)脑S可、權限和/或行為。更一般地,工具包應用程序僅執(zhí)行與賦予請求者的權限級別相稱的訪問;該限制確保安全元件和訪問控制客戶端的信任邊界不能被無意或惡意使用工具包應用程序繞過。在一個實施例中,工具包應用程序僅訪問整個安全元件資產(chǎn)的子集。在一個變型中,該子集限于與請求者的權限對應的數(shù)據(jù)。在其他變型中,工具包應用程序其自身具有最大的權限級別。例如,工具包應用程序可能僅能夠訪問/修改用戶定義的數(shù)據(jù)。
[0074]例如,用戶可請求合并與第一 eSIM相關聯(lián)的第一電話簿和與第二 eSIM相關聯(lián)的第二電話簿;工具包應用程序可另外要求(或提示用戶)適當訪問eSIM中的一者或兩者的PINo在其他實例中,用戶可請求訪問與eSIM相關聯(lián)的計費信息。作為響應,工具包應用程序可在提供信用卡信息之前提示用戶該密碼(或PIN)。在另一個實例中,第三方應用程序可請求eSIM用戶數(shù)據(jù)啟用特定的功能(例如應用中支付、使用歷史統(tǒng)計等),工具包應用程序可驗證該第三方應用程序在提供所請求數(shù)據(jù)之前已被準許訪問用戶的個人信息。
[0075]如果工具包應用程序確定沒有足夠的權限來訪問數(shù)據(jù),則拒絕對訪問的請求(步驟406)。在一些變型中,可向請求實體(例如用戶、軟件、網(wǎng)絡實體等)提供錯誤消息。否貝1J,當工具包應用程序確定有充分許可時,授予對訪問的請求(步驟408)。
[0076]此外,本領域的普通技術人員應當理解,訪問控制客戶端內(nèi)容的敏感性可能需要附加安全層,以便防止惡意攻擊。例如,本發(fā)明的各種實施例可被配置為另外特別執(zhí)行輸入驗證(即,請求良好形成且符合預期輸入)、認證/授權、完整性校驗、會話管理(例如,會話未保持開放或不當?shù)卦L問資產(chǎn)等)、意外管理(即,適當處理錯誤狀況)和/或審計/記錄等。
[0077]又如,可根據(jù)證書來授權請求。例如,可要求請求者軟件呈現(xiàn)已由可信的第三方簽署的證書,該證書指示請求者軟件被授權用于所請求的訪問。這種證書的一個實例包括已經(jīng)利用軟件標識和/或設備標識散列化的(可信第三方的)簽名。在另一個此類實例中,根據(jù)請求者軟件權限級別來驗證請求。例如,考慮這樣的系統(tǒng),其中操作系統(tǒng)具有第一權限級別,第三方軟件具有第二權限級別并且通信軟件棧具有另一權限級別。在一些變型中,用戶可另外能夠配置一個或多個權限級別(例如,授予特定的第三方應用程序進行更多訪問或從其撤回權限)。
[0078]在其他情況下,應用程序工具包可驗證請求者軟件是否正在根據(jù)可接受的行為而進行操作。常見校驗包括但不限于:驗證輸入是否符合格式和長度、會話超時功能、適當?shù)拇鎯Σ僮?例如,防止失去控制的指針等)等。
[0079]在方法400的步驟408處,工具包應用程序訪問該訪問控制客戶端的所請求數(shù)據(jù)。在一個實施例中,工具包應用程序直接訪問適當訪問控制客戶端的存儲器空間。例如,通常根據(jù)預定義的分割布置存儲器映射的文件結構。在一種此類變型中,分割被分成:(i)用戶定義的數(shù)據(jù)(UDD),以及(ii)非用戶數(shù)據(jù)(例如,加密數(shù)據(jù)、軟件、固件等)。為了執(zhí)行訪問,工具包從先前已緩存的目錄結構或通過反復遍歷目錄結構直到找到存儲器位置,從而確定適當?shù)拇鎯ζ鞯刂?。在另選的實施例中,工具包應用程序經(jīng)由一組特定于訪問控制客戶端的指令來訪問該訪問控制客戶端。通常使SIM類型文件結構模糊以防止直接訪問所存儲的數(shù)據(jù)。因此,在一些實施例中,工具包應用程序必須使用SM設備的本機命令集來訪問文件結構。盡管此類間接訪問可能比直接訪問方法需要更多的時間,但有利的是,工具包接口不需要很多協(xié)議保護措施,而利用現(xiàn)有技術將是必須要執(zhí)行的。
[0080]在一些實施例中,工具包應用程序訪問公共存儲器空間??商崆霸诠泊鎯ζ骺臻g中預先高速緩存數(shù)據(jù),或者可根據(jù)需要或根據(jù)使用情況填充數(shù)據(jù)。一般來講,高速緩存存儲器比傳統(tǒng)存儲器結構更小、訪問速度更快,但必須要加以優(yōu)化以減少高速緩存“遺漏”(當高速緩存具有有用數(shù)據(jù)時)并使高速緩存“命中率”最大化(當高速緩存不具有有用數(shù)據(jù)時)。為了實現(xiàn)這些目的,高速緩存存儲器實施不同的替換策略;具體地,當高速緩存遺漏時,高速緩存可利用所檢索的有效數(shù)據(jù)來替換其現(xiàn)有條目中的一條現(xiàn)有條目。替換策略確定將來不大可能使用哪個現(xiàn)有的高速緩存條目。在一個變型中,高速緩存根據(jù)最近最少使用的(LRU)范式即當高速緩存遺漏時,替換條目,高速緩存利用從例如訪問控制客戶端檢索的數(shù)據(jù)來替換最近最少訪問的條目。
[0081]在步驟410處,向請求者返回訪問結果。在一些變型中,工具包應用程序可另外記錄訪問,更新高速緩存和/或向訪問控制客戶端提供記錄信息。
[0082]給定本公開的內(nèi)容,本領域的普通技術人員應當理解,本發(fā)明的各個方面提供經(jīng)由在安全元件內(nèi)安全執(zhí)行的(并可能是固有可信的)內(nèi)部受控工具包應用程序對數(shù)據(jù)的訪問。
_3] 示例性電話簿合并
[0084]圖5示出了用于合并多個電子用戶身份模塊(eSIM)的用戶定義的聯(lián)系人信息的方法500的一種特定具體實施。考慮這樣的情形,其中eSIM A具有含200個條目的電話簿以及eSM B具有含300個條目的電話簿并且eSM A和eSM B具有100個重疊的條目。
[0085]在步驟502處,智能電話(諸如例如由本發(fā)明的受讓人制造的示例性iPhone?)的用戶識別兩個(2)eSM(eSM A,eSIM B),并經(jīng)由從應用處理器執(zhí)行的圖形用戶界面(⑶I)發(fā)出請求以合并兩個eSIM的聯(lián)系人信息。在該實例中,該請求涉及從嵌入式通用集成電路卡(eUICC)安全元件執(zhí)行的高級用戶身份工具包應用程序。
[0086]在步驟504處,高級用戶身份工具包驗證請求用戶是否具有適當?shù)臋嘞抟院喜⒙?lián)系人信息。權限的驗證可基于例如用戶提供的PIN(或PIN)、密碼、由第三方認證者提供的可信憑據(jù)等。然而,應當理解,如果需要,在某些情況下,對用戶權限進行此類驗證可能是不必要的并且被跳過。
[0087]在步驟506處,高級用戶身份工具包從eSM A檢索200個條目并且從eSM B檢索300個條目,并執(zhí)行條目的內(nèi)部合并。值得注意的是,現(xiàn)有技術雙SIM設備將不可避免地需要向第一 SM卡進行認證以讀出第一組條目,并且隨后接下來向第二 SM卡進行認證以讀出第二組條目。更糟的是,現(xiàn)有技術解決方案將需要在ISO 7816卡接口上完整地執(zhí)行上述操作,如前所述的,這比由工具包應用程序賦予的內(nèi)部存儲器訪問要慢得多。
[0088]重新參照圖5,在步驟508處,高級用戶身份工具包返回存儲于存儲器中的400個條目的合并列表(例如,通過應用處理器)。一旦完成合并,就通知用戶。
[0089]示例性聯(lián)系人查找
[0090]圖6示出了用于在一個或多個電子用戶身份模塊(eSIM)內(nèi)搜索聯(lián)系人信息的方法600的一種特定具體實施。
[0091]在步驟602處,智能電話的用戶請求“John Doe”的聯(lián)系人信息。在該實例中,用戶未提供目標eSIM,然而應當理解,當用戶提供目標eSIM時,搜索可能受到顯著約束。
[0092]如有必要,在步驟604處,高級用戶身份工具包驗證請求用戶(或請求應用程序)是否具有適當?shù)臋嘞迊硭阉魉付ǖ穆?lián)系人。在一些變型中,高級用戶身份工具包可基于請求用戶(或應用程序)的許可來識別可搜索的eSIM的子集。
[0093]在步驟606處,高級用戶身份工具包搜索eSM以用于匹配條目。順便提一下,盡管現(xiàn)有的SIM卡允許單個條目訪問,但在這種特定情形下,將要求現(xiàn)有技術的軟件讀取整組聯(lián)系人以在應用處理器中執(zhí)行搜索。具體地,對于特定條目而言索引是未知的,現(xiàn)有軟件必須要從ncc中讀取整組條目,并在讀出條目中執(zhí)行搜索。
[0094]重新參照圖6,在步驟608處,高級用戶身份工具包向請求用戶或應用程序返回定位的聯(lián)系人信息結果。
[0095]示例件切換操作
[0096]圖7示出了基于用戶定義的條件式觸發(fā)在電子用戶身份模塊(eSIM)之間促進自動切換的方法700的一種特定具體實施。
[0097]在方法700的步驟702處,智能電話的用戶定義條件式觸發(fā)以在對應于例如用途或其他環(huán)境的特定時間處在eSIM之間進行自動切換。例如,用戶可選擇在上午7:00至下午5:00之間啟用第一 eSM A