午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

移動(dòng)終端軟件安全元器件系統(tǒng)及用于該系統(tǒng)的密鑰系統(tǒng)的制作方法

文檔序號(hào):10687424閱讀:548來(lái)源:國(guó)知局
移動(dòng)終端軟件安全元器件系統(tǒng)及用于該系統(tǒng)的密鑰系統(tǒng)的制作方法
【專利摘要】本發(fā)明具體地涉及移動(dòng)終端軟件安全元器件系統(tǒng)及用于移動(dòng)終端軟件安全元器件系統(tǒng)的密鑰系統(tǒng)。安全元器件系統(tǒng)包括:移動(dòng)終端,其內(nèi)設(shè)置有具有用于與軟件安全元器件進(jìn)行交互的安全安全邏輯模塊和對(duì)移動(dòng)終端的文件存儲(chǔ)和運(yùn)行進(jìn)行安全保護(hù)的軟件安全元器件的安全SDK,安全安全邏輯模塊需要與軟件安全元器件進(jìn)行交互并完成指紋校驗(yàn);安全SDK與軟件安全元器件管理平臺(tái)和軟件安全元器件在建立通訊時(shí)需要進(jìn)行基于密鑰的雙向認(rèn)證及工作密鑰的協(xié)商,協(xié)商成功后安全SDK和軟件安全元器件之間的數(shù)據(jù)傳輸使用通信密鑰進(jìn)行加密保護(hù)。由于本發(fā)明完全采用軟件實(shí)現(xiàn),提高了適用范圍,具有普通開(kāi)源操作系統(tǒng)的移動(dòng)終端即可運(yùn)行,可成為移動(dòng)終端上一種普適性解決方案。
【專利說(shuō)明】
移動(dòng)終端軟件安全元器件系統(tǒng)及用于該系統(tǒng)的密鑰系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明一般地涉及移動(dòng)終端安全元件領(lǐng)域,并且更具體地涉及移動(dòng)終端軟件安全元器件系統(tǒng)及用于移動(dòng)終端軟件安全元器件系統(tǒng)的密鑰系統(tǒng)。
【背景技術(shù)】
[0002]隨著智能終端的普及,移動(dòng)互聯(lián)網(wǎng)正以爆炸式的飛速發(fā)展。以移動(dòng)應(yīng)用為核心,逐步發(fā)展起來(lái)的移動(dòng)應(yīng)用商城,將開(kāi)發(fā)者、應(yīng)用商城、用戶三者緊密結(jié)合在一起,形成了開(kāi)發(fā)者開(kāi)發(fā)應(yīng)用,商城上線并售賣應(yīng)用,用戶購(gòu)買(mǎi)應(yīng)用,開(kāi)發(fā)者和商城獲利分成的產(chǎn)業(yè)鏈條。
[0003]智能終端的發(fā)展,給用戶提供了更好的使用界面和極其豐富的各類應(yīng)用,但同時(shí)也在操作系統(tǒng)、終端性能的提升、以及利益的驅(qū)使下,滋生了大量病毒、木馬、吸費(fèi)、竊取隱私等各類惡意代碼、惡意應(yīng)用。為了能夠達(dá)到盜取資金,竊取信息等目的,攻擊者盡力隱藏自己的惡意代碼,將其附著在合法應(yīng)用上,采取破解,篡改應(yīng)用的方式發(fā)布。許多應(yīng)用使用者在不知情的狀態(tài)下,安裝了含有惡意代碼的應(yīng)用,不知不覺(jué)中丟失資金、話費(fèi)、流量等等。安裝了例如安卓這樣開(kāi)放性高的操作系統(tǒng)的移動(dòng)終端,尤其會(huì)成為上述各類惡意代碼和惡意應(yīng)用的目標(biāo)。
[0004]為了保證終端應(yīng)用運(yùn)行時(shí)安全性,尤其是關(guān)鍵運(yùn)算、操作、數(shù)據(jù)的安全性,需要在移動(dòng)終端內(nèi)實(shí)現(xiàn)可保護(hù)數(shù)據(jù)存儲(chǔ)、運(yùn)算安全的運(yùn)行環(huán)境。目前業(yè)內(nèi)主要有兩種方案。一種采用硬件安全芯片提供安全運(yùn)行及存儲(chǔ)環(huán)境,例如手機(jī)、SIM卡內(nèi)預(yù)置芯片安全元件(SecureElement,SE),這些芯片中具有加密和/或解密邏輯電路,為了更進(jìn)一步地保護(hù)芯片不被外部惡意解析攻擊,芯片往往還需要有特殊材料制作的外殼包裹。另一種采用雙域安卓或雙操作系統(tǒng)等方案,分隔操作系統(tǒng)來(lái)實(shí)現(xiàn)數(shù)據(jù)及運(yùn)行隔離。但以上兩種方案均需要定制手機(jī)或其他硬件支持,尤其是在安裝了普通安裝安卓系統(tǒng)的手機(jī)上不易實(shí)現(xiàn),因此這些普通安卓系統(tǒng)手機(jī)在安全方面受到巨大威脅。

【發(fā)明內(nèi)容】

[0005]為了解決現(xiàn)有虛擬安全保護(hù)技術(shù)對(duì)普通安卓系統(tǒng)手機(jī)適用性不高的問(wèn)題,提出了一種移動(dòng)終端軟件安全元器件(Soft Secure Element,SSE)的系統(tǒng)及實(shí)現(xiàn)方法。此系統(tǒng)及方法中,針對(duì)本地存儲(chǔ)文件安全、運(yùn)行時(shí)內(nèi)存安全、算法及密鑰安全、程序邏輯安全等問(wèn)題提供統(tǒng)一框架及解決方案。
[0006]為了實(shí)現(xiàn)上目的,本發(fā)明提供一種移動(dòng)終端軟件安全元器件系統(tǒng),其特征在于,包括:
[0007]移動(dòng)終端,移動(dòng)終端內(nèi)具有安全SDK,所述安全SDK具有用于與軟件安全元器件進(jìn)行交互的安全安全邏輯模塊和對(duì)移動(dòng)終端的文件存儲(chǔ)和運(yùn)行進(jìn)行安全保護(hù)的軟件安全元器件;
[0008]軟件安全元器件管理平臺(tái),能夠與軟件安全元器件通信,并能夠存儲(chǔ)、管理和驗(yàn)證軟件安全元器件使用的密鑰;
[0009]所述移動(dòng)終端需要調(diào)用軟件安全元器件時(shí),其安全SDK中的安全安全邏輯模塊需要與軟件安全元器件進(jìn)行交互并完成指紋校驗(yàn);
[0010]所述安全SDK與軟件安全元器件管理平臺(tái)和軟件安全元器件在建立通訊時(shí)需要進(jìn)行基于密鑰的雙向認(rèn)證及工作密鑰的協(xié)商,協(xié)商成功后安全SDK和軟件安全元器件之間的數(shù)據(jù)傳輸使用通信密鑰進(jìn)行加密保護(hù)。
[0011]進(jìn)一步地,所述指紋校驗(yàn)過(guò)程中,安全安全邏輯模塊的指紋是基于SDK類信息、版本信息和指紋因子I通過(guò)安全散列算法得出的,軟件安全元器件的指紋是基于軟件安全元器件的文件大小、文件時(shí)間、版本信息和指紋因子2通過(guò)安全散列算法得出的。其中,所述指紋因子是在安全SDK和軟件安全元器件中預(yù)置的,不會(huì)隨著移動(dòng)終端的運(yùn)行而改變;它可以是但不限于是一串隨機(jī)數(shù)字或一串字符。安全SDK在每次調(diào)用軟件安全元器件時(shí)都需要重復(fù)進(jìn)行指紋校驗(yàn),以確保移動(dòng)終端環(huán)境未發(fā)生變化,能有效避免第三方對(duì)軟件安全元器件的非法調(diào)用或訪問(wèn)。
[0012]進(jìn)一步地,所述軟件安全元器件包括能夠確保調(diào)用軟件安全元器件方合法性的訪問(wèn)控制及管理模塊、能夠?qū)σ苿?dòng)終端內(nèi)存儲(chǔ)的數(shù)據(jù)文件加密的存儲(chǔ)管理模塊、對(duì)軟件安全元器件密鑰進(jìn)行安全算法保護(hù)和管理的白盒算法模塊、對(duì)軟件安全元器件代碼進(jìn)行安全保護(hù)的軟件安全元器件保護(hù)模塊和對(duì)移動(dòng)終端物理內(nèi)存進(jìn)行虛擬化使安全元器件具有反調(diào)試功能的虛擬化管理模塊;
[0013]其中,所述存儲(chǔ)管理模塊、軟件安全元器件保護(hù)模塊和白盒算法模塊協(xié)同合作能夠使移動(dòng)終端內(nèi)存儲(chǔ)的數(shù)據(jù)文件進(jìn)行安全保護(hù);
[0014]所述虛擬化管理模塊和白盒算法模塊協(xié)同合作能夠使移動(dòng)終端內(nèi)存得到保護(hù)。[00?5]進(jìn)一步地,所述安全SDK中的安全邏輯模塊包括接口單元和AC管理單元,所述軟件安全元器件的訪問(wèn)控制及管理模塊包括接口單元、AC管理單元和完整性校驗(yàn)單元;
[0016]其中,所述完整性校驗(yàn)單元包括能夠校驗(yàn)安全安全邏輯模塊指紋與軟件安全元器件指紋是否一致的校驗(yàn)算法次單元和管理及存儲(chǔ)指紋信息的指紋管理次單元;
[0017]安全邏輯模塊中的接口單元與軟件安全元器件的接口單元功能對(duì)應(yīng),安全邏輯模塊的AC管理單元與軟件安全元器件的AC管理單元功能對(duì)應(yīng),他們與完整性校驗(yàn)單元配合實(shí)現(xiàn)安全SDK對(duì)軟件安全元器件的交互、指紋驗(yàn)證以及后續(xù)可能的調(diào)用。其中,安全SDK的安全邏輯模塊的核心功能是調(diào)用軟件安全元器件實(shí)現(xiàn),軟件安全元器件的訪問(wèn)控制及管理模塊則通過(guò)指紋校驗(yàn)這個(gè)授權(quán)認(rèn)證手段有效避免第三方對(duì)軟件安全元器件的非法訪問(wèn)及非法調(diào)用,從而進(jìn)一步避免了非法調(diào)用所產(chǎn)生的數(shù)據(jù)。
[0018]進(jìn)一步地,所述存儲(chǔ)管理模塊包括策略配置單元和透明加密單元;
[0019]策略配置單元對(duì)移動(dòng)終端內(nèi)存儲(chǔ)的數(shù)據(jù)文件做出存儲(chǔ)加密的配置選擇和管理;
[0020]透明加密單元使用軟件安全元器件密鑰對(duì)策略配置單元配置的數(shù)據(jù)文件進(jìn)行透明加密。
[0021]需要注意的是,并不是所有在移動(dòng)終端內(nèi)存儲(chǔ)的數(shù)據(jù)文件都需要進(jìn)行加密,策略配置單元可以通過(guò)數(shù)據(jù)文件的種類或其他特征來(lái)判斷是非對(duì)該數(shù)據(jù)文件進(jìn)行加密。透明加密單元?jiǎng)t將策略配置單元選擇的加密的文件進(jìn)行加密。透明加密模塊能夠使存儲(chǔ)于移動(dòng)終端和/或連接于移動(dòng)終端的存儲(chǔ)介質(zhì)中的數(shù)據(jù)文件都受到有效的保護(hù),避免第三方進(jìn)行靜態(tài)文件分析。
[0022]進(jìn)一步地,所述白盒算法模塊包括算法邏輯單元和密鑰管理單元;
[0023]算法邏輯單元具有具體算法過(guò)程;
[0024]密鑰管理單元可以調(diào)用算法邏輯單元中的算法管理和存儲(chǔ)軟件安全元器件密鑰。
[0025]其中,上述算法可以是但不限于AES加密算法、HMAC-SHA安全散列算法、SM3密碼雜湊算法、SM4分組密碼算法。白盒算法模塊可以有效隱藏安全軟件元器件中的密鑰,確保其存儲(chǔ)、運(yùn)行時(shí)密鑰不可直接被獲取。通過(guò)白盒算法技術(shù),軟件安全元器件將密碼運(yùn)算邏輯與密鑰進(jìn)行預(yù)處理,處理后的算法數(shù)據(jù)還被分片存儲(chǔ),使處理后的算法邏輯與密鑰實(shí)現(xiàn)了有效隱藏,最終使第三方在算法運(yùn)行時(shí)無(wú)法對(duì)算法邏輯和密鑰進(jìn)行分析。
[0026]進(jìn)一步地,所述軟件安全元器件保護(hù)模塊包括數(shù)據(jù)變化單元、分支保護(hù)單元、差異化單元和控制流變換單元;
[0027]所述數(shù)據(jù)變化單元能將移動(dòng)終端代碼中的常量數(shù)值和常量字符串定義轉(zhuǎn)化為用函數(shù)生產(chǎn)對(duì)應(yīng)數(shù)值和字符;
[0028]所述分支保護(hù)單元能增加移動(dòng)終端代碼中的無(wú)用程序分支;
[0029]所述控制流變換單元能將移動(dòng)終端代碼中的控制變量值轉(zhuǎn)換為函數(shù)變換;
[0030]所述差異化處理單元能隨機(jī)增加移動(dòng)終端代碼中的無(wú)用變量、空指令函數(shù)。
[0031]上述軟件安全元器件保護(hù)模塊從代碼這一基礎(chǔ)層面上完善軟件安全元器件的安全保護(hù)能力,能有效避免第三方對(duì)軟件安全元器件的核心代碼的篡改從而避免了軟件安全元器件的運(yùn)行異常。另外,軟件安全元器件保護(hù)模塊還可以使軟件安全元器件的代碼邏輯被第三方分析,從而可以有效使軟件安全元器件避免被破解。
[0032]進(jìn)一步地,所述虛擬化管理模塊包括內(nèi)存虛擬單元和指令虛擬單元;
[0033]內(nèi)存虛擬單元能夠虛擬出部分獨(dú)立的移動(dòng)終端物理內(nèi)存,使其用于安全元器件的運(yùn)行;
[0034]指令虛擬單元可以虛擬出部分系統(tǒng)指令,用于直接從軟件底層獲取移動(dòng)終端的信息。
[0035]內(nèi)存虛擬單元由于能夠提供安全元器件運(yùn)行的獨(dú)立內(nèi)存,可以使軟件安全元器件有效避免受到內(nèi)存攻擊。指令虛擬單元由于可以使軟件安全元器件從軟件底層獲取移動(dòng)終端的信息,從而可以使軟件安全元器件有效避免第三方替換移動(dòng)終端操作系統(tǒng)指令的接口。上述虛擬化管理模塊還可以采用內(nèi)存加擾技術(shù),將內(nèi)存中數(shù)據(jù)和/或方法名稱采用相對(duì)地址方式進(jìn)行跳轉(zhuǎn),隱藏方法入口和方法名。上述虛擬化管理模塊還可以采用反調(diào)試技術(shù),對(duì)調(diào)試進(jìn)程進(jìn)行監(jiān)控,當(dāng)有非法進(jìn)程時(shí)禁止軟件安全元器件的核心功能運(yùn)行;同時(shí)進(jìn)行進(jìn)程時(shí)間軸監(jiān)控,防止進(jìn)程運(yùn)行中第三方對(duì)軟件安全元器件造成暫停。
[0036]本發(fā)明的另一個(gè)目的是一種用于移動(dòng)終端軟件安全元器件系統(tǒng)的密鑰系統(tǒng),其特征在于,包括:
[0037]主密鑰,MasterKey,是軟件安全元器件預(yù)置的密鑰,用于軟件安全元器件個(gè)人化以生成下述工作密鑰和存儲(chǔ)密鑰,可以被白盒算法加密后存儲(chǔ)于軟件安全元器件中;
[0038]工作密鑰,WorkKey,其通過(guò)安全SDK軟件安全元器件和軟件安全元器件管理平臺(tái)三方密鑰交換時(shí)生成,用于軟件安全元器件對(duì)其調(diào)用方合法性的認(rèn)證;
[0039]會(huì)話密鑰,CommKey,其由軟件安全元器件管理平臺(tái)生成,安全SDK發(fā)布時(shí)其在安全SDK內(nèi)預(yù)置,用于保證軟件安全元器件、安全SDK和軟件安全元器件管理平臺(tái)之間的安全通?目;
[OO4O]存儲(chǔ)密鑰,StoreKey,其由軟件安全元器件生成并與移動(dòng)終端唯一綁定,用于移動(dòng)終端內(nèi)存儲(chǔ)數(shù)據(jù)文件的加密。
[0041 ] 上述密鑰系統(tǒng)與移動(dòng)終端運(yùn)行環(huán)境綁定,密鑰系統(tǒng)中部分密鑰由各個(gè)終端運(yùn)行時(shí)動(dòng)態(tài)生成,使密鑰本身不易被第三方破解,從而提高移動(dòng)終端的安全性能。
[0042]進(jìn)一步地,所述軟件安全元器件個(gè)人化包括下述步驟:
[0043](a)軟件安全元器件判斷自身是否初始化,若未進(jìn)行初始化,進(jìn)入下述步驟(C),若已經(jīng)初始化,則進(jìn)入下述步驟(b);
[0044](b)已初始化的軟件安全元器件根據(jù)已存儲(chǔ)的終端信息判斷是否存在終端環(huán)境變化,若得到終端環(huán)境已變化的結(jié)果,進(jìn)入下述步驟(C),若得到終端環(huán)境未變化,則結(jié)束個(gè)人化;
[0045](c)軟件安全元器件獲取終端信息,實(shí)現(xiàn)軟件安全元器件與終端的綁定;
[0046](d)軟件安全元器件恢復(fù)預(yù)置主密鑰,根據(jù)終端信息產(chǎn)生隨機(jī)規(guī)則;
[0047](e)軟件安全元器件根據(jù)主密鑰和隨機(jī)規(guī)則,并與軟件安全元器件管理平臺(tái)進(jìn)行通信交換因子后,分散產(chǎn)生工作密鑰;
[0048](f)根據(jù)主密鑰與隨機(jī)規(guī)則,分散產(chǎn)生存儲(chǔ)密鑰;
[0049](g)對(duì)上述步驟所產(chǎn)生的工作密鑰和/或存儲(chǔ)密鑰進(jìn)行加擾,分片和加密保護(hù),結(jié)束個(gè)人化。
[0050]進(jìn)一步地,所述步驟(e)具體包括下述子步驟:
[0051 ] (I)移動(dòng)終端的應(yīng)用調(diào)用安全SDK,同時(shí)向安全SDK傳入應(yīng)用ID;
[0052 ] (2)安全SDK向軟件安全元器件發(fā)起調(diào)用請(qǐng)求;
[0053](3)軟件安全元器件針對(duì)該調(diào)用請(qǐng)求向安全SDK返回隨機(jī)參數(shù)I;
[0054](4)安全SDK根據(jù)隨機(jī)參數(shù)I和預(yù)置的會(huì)話密鑰,使用加密算法計(jì)算生成參數(shù)2;
[0055](5)安全SDK將參數(shù)2傳輸至軟件安全元器件;
[0056](6)軟件安全元器件對(duì)自身是否進(jìn)行個(gè)人化以及所在終端的狀態(tài)是否變化做出判斷,若軟件安全元器件已經(jīng)個(gè)人化并且其所在終端環(huán)境未變化,進(jìn)入下述步驟(14),否則進(jìn)入下述步驟(7);
[0057](7)軟件安全元器件根據(jù)主密鑰、參數(shù)2、隨機(jī)參數(shù)I,應(yīng)用ID,軟件安全元器件ID和時(shí)間戳,使用加密算法計(jì)算生成參數(shù)I;
[0058](8)軟件安全元器件將上述參數(shù)1、參數(shù)2、隨機(jī)參數(shù)1、應(yīng)用ID、軟件安全元器件和時(shí)間戳發(fā)送至軟件安全元器件管理平臺(tái);
[0059](9)軟件安全元器件管理平臺(tái)校驗(yàn)參數(shù)I和參數(shù)2,加密會(huì)話密鑰,生成隨機(jī)參數(shù)2,并根據(jù)主密鑰、加密后會(huì)話密鑰、和隨機(jī)參數(shù)2使用加密算法生成參數(shù)3;
[0060](10)軟件安全元器件管理平臺(tái)根據(jù)隨機(jī)參數(shù)1、隨機(jī)參數(shù)2和主密鑰生成工作密鑰;
[0061](11)軟件安全元器件管理平臺(tái)向軟件安全元器件返回加密后的會(huì)話密鑰、隨機(jī)參數(shù)2、參數(shù)3;
[0062 ] (12)軟件安全元器件驗(yàn)證參數(shù)3,解密并保存會(huì)話密鑰;
[0063](13)軟件安全元器件根據(jù)隨機(jī)參數(shù)1、隨機(jī)參數(shù)2和主密鑰計(jì)算生成工作密鑰;
[0064](14)軟件安全元器件驗(yàn)證參數(shù)2,當(dāng)驗(yàn)證成功后安全SDK才能調(diào)用軟件安全元器件,否則軟件安全元器件將向安全SDK返回錯(cuò)誤。
[0065]上述個(gè)人化方法及工作密鑰的產(chǎn)生方法一即步驟(e),可以有效驗(yàn)證安全SDK、軟件安全元器件和軟件安全元器件管理平臺(tái)三者身份,并及時(shí)發(fā)現(xiàn)任何一方的異常。
[0066]本發(fā)明的另一個(gè)目的是提供一種移動(dòng)終端,其特征在于,包括權(quán)利要求1-3任一項(xiàng)所述的安全SDK和軟件安全元器件。
[0067]所述移動(dòng)終端包括智能電話;移動(dòng)電話;個(gè)人數(shù)字助理;移動(dòng)計(jì)算設(shè)備,例如,上網(wǎng)本和平板計(jì)算機(jī);膝上計(jì)算機(jī)。這種移動(dòng)終端具有更高的安全性能,可以有效避免第三方的非法訪問(wèn)及破壞。
[0068]本發(fā)明提供的終端軟件安全元器件系統(tǒng)及用于軟件安全元器件的密鑰系統(tǒng)可有效防止第三方針對(duì)移動(dòng)終端內(nèi)核心文件、核心邏輯、核心數(shù)據(jù)的靜態(tài)、動(dòng)態(tài)分析和破解,保證終端內(nèi)業(yè)務(wù)邏輯或密碼運(yùn)算的安全性,為終端提供一個(gè)完整的安全運(yùn)行環(huán)境。由于本發(fā)明完全采用軟件實(shí)現(xiàn),提高了適用范圍,具有普通開(kāi)源操作系統(tǒng)的移動(dòng)終端即可運(yùn)行,可成為移動(dòng)終端上一種普適性解決方案。
【附圖說(shuō)明】
[0069]圖1是根據(jù)本發(fā)明公開(kāi)的移動(dòng)終端軟件安全元器件系統(tǒng)的一個(gè)實(shí)施例的系統(tǒng)主要構(gòu)成圖。
[0070]圖2是根據(jù)本發(fā)明公開(kāi)的移動(dòng)終端軟件安全元器件系統(tǒng)的一個(gè)較佳實(shí)施例的主要構(gòu)成圖。
[0071]圖3是圖2所示實(shí)施例中的軟件安全元器件的主要構(gòu)成圖。
[0072]圖4是根據(jù)本發(fā)明公開(kāi)的密鑰系統(tǒng)的一個(gè)實(shí)施例中個(gè)人化的流程示意圖。
[0073]圖5是圖4所示個(gè)人化中步驟(e)的具體流程示意圖。
【具體實(shí)施方式】
[0074]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出。所述參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能視為對(duì)本發(fā)明的限制。為了避免不必要地模糊所述實(shí)施例,本部分對(duì)一些本領(lǐng)域的公知技術(shù),即對(duì)于本領(lǐng)域技術(shù)人員而言是顯而易見(jiàn)的技術(shù),未進(jìn)行詳細(xì)描述。
[0075]圖1是根據(jù)本發(fā)明公開(kāi)的移動(dòng)終端軟件安全元器件系統(tǒng)的一個(gè)實(shí)施例的系統(tǒng)主要構(gòu)成圖。
[0076]本實(shí)施方式的安全元件系統(tǒng)包括:
[0077]移動(dòng)終端100,移動(dòng)終端內(nèi)具有安全SDK110,安全SDKllO具有用于與軟件安全元器件112進(jìn)行交互的安全安全邏輯模塊111和對(duì)移動(dòng)終端的文件存儲(chǔ)和運(yùn)行進(jìn)行安全保護(hù)的軟件安全元器件112;軟件安全元器件管理平臺(tái)200,能夠與軟件安全元器件112通信,并能夠存儲(chǔ)、管理和驗(yàn)證軟件安全元器件使用的密鑰;移動(dòng)終端100需要調(diào)用軟件安全元器件112時(shí),其安全SDKl 10中的安全安全邏輯模塊111需要與軟件安全元器112件進(jìn)行交互并完成指紋校驗(yàn);安全SDKl 10與軟件安全元器件管理平臺(tái)200和軟件安全元器件112在建立通訊時(shí)需要進(jìn)行基于密鑰的雙向認(rèn)證及工作密鑰的協(xié)商,協(xié)商成功后安全SDKllO和軟件安全元器件112之間的數(shù)據(jù)傳輸使用通信密鑰進(jìn)行加密保護(hù)。
[0078]圖2是根據(jù)本發(fā)明公開(kāi)的移動(dòng)終端軟件安全元器件系統(tǒng)的一個(gè)較佳實(shí)施例的主要構(gòu)成圖。
[0079]本實(shí)施方式的安全元件系統(tǒng)包括:
[0080]移動(dòng)終端500,移動(dòng)終端內(nèi)具有安全SDK510,安全SDK510具有用于與軟件安全元器件512進(jìn)行交互的安全安全邏輯模塊511和對(duì)移動(dòng)終端的文件存儲(chǔ)和運(yùn)行進(jìn)行安全保護(hù)的軟件安全元器件512;軟件安全元器件管理平臺(tái)600,能夠與軟件安全元器件512通信,并能夠存儲(chǔ)、管理和驗(yàn)證軟件安全元器件使用的密鑰;移動(dòng)終端500需要調(diào)用軟件安全元器件512時(shí),其安全SDK510中的安全安全邏輯模塊511需要與軟件安全元器512件進(jìn)行交互并完成指紋校驗(yàn);安全SDK510與軟件安全元器件管理平臺(tái)600和軟件安全元器件512在建立通訊時(shí)需要進(jìn)行基于密鑰的雙向認(rèn)證及工作密鑰的協(xié)商,協(xié)商成功后安全SDK510和軟件安全元器件512之間的數(shù)據(jù)傳輸使用通信密鑰進(jìn)行加密保護(hù)。
[0081]上述指紋校驗(yàn)過(guò)程中,安全安全邏輯模塊511的指紋是基于SDK類信息、版本信息和指紋因子I通過(guò)安全散列算法得出的,軟件安全元器件512的指紋是基于軟件安全元器件的文件大小、文件時(shí)間、版本信息和指紋因子2通過(guò)安全散列算法得出的。
[0082 ] 安全SDK510中的安全邏輯模塊511包括接口單元5111和AC管理單元5112。
[0083]圖3是圖2所示實(shí)施例中的軟件安全元器件512的主要構(gòu)成圖。
[0084]軟件安全元器件512包括:
[0085]能夠確保調(diào)用軟件安全元器件方合法性的訪問(wèn)控制及管理模塊5121、能夠?qū)σ苿?dòng)終端內(nèi)存儲(chǔ)的數(shù)據(jù)文件加密的存儲(chǔ)管理模塊5122、對(duì)軟件安全元器件密鑰進(jìn)行安全算法保護(hù)和管理的白盒算法模塊5125、對(duì)軟件安全元器件代碼進(jìn)行安全保護(hù)的軟件安全元器件保護(hù)模塊5123和對(duì)移動(dòng)終端物理內(nèi)存進(jìn)行虛擬化使安全元器件具有反調(diào)試功能的虛擬化管理模塊5124。
[0086]其中,訪問(wèn)控制及管理模塊包括接口單元51211、AC管理單元51212和完整性校驗(yàn)單元51212;所述完整性校驗(yàn)單元51213包括能夠校驗(yàn)安全安全邏輯模塊指紋與軟件安全元器件指紋是否一致的校驗(yàn)算法次單元51214和管理及存儲(chǔ)指紋信息的指紋管理次單元51215ο
[0087]存儲(chǔ)管理模塊5122包括策略配置單元51221和透明加密單元51222;策略配置單元51221對(duì)移動(dòng)終端內(nèi)存儲(chǔ)的數(shù)據(jù)文件做出存儲(chǔ)加密的配置選擇和管理;透明加密單元51222使用軟件安全元器件密鑰對(duì)策略配置單元配置的數(shù)據(jù)文件進(jìn)行透明加密。
[0088]軟件安全元器件保護(hù)模塊5123包括能將移動(dòng)終端代碼中的常量數(shù)值和常量字符串定義轉(zhuǎn)化為用函數(shù)生產(chǎn)對(duì)應(yīng)數(shù)值和字符的數(shù)據(jù)變化單元51231,能增加移動(dòng)終端代碼中的無(wú)用程序分支的分支保護(hù)單元51232,能將移動(dòng)終端代碼中的控制變量值轉(zhuǎn)換為函數(shù)變換的差異化單元51233和能隨機(jī)增加移動(dòng)終端代碼中的無(wú)用變量、空指令函數(shù)的控制流變換單元51234。
[0089]虛擬化管理模塊5124包括內(nèi)存虛擬單元51241和指令虛擬單元51242;內(nèi)存虛擬單元51241能夠虛擬出部分獨(dú)立的移動(dòng)終端物理內(nèi)存,使其用于安全元器件的運(yùn)行;指令虛擬單元51242可以虛擬出部分系統(tǒng)指令,用于直接從軟件底層獲取移動(dòng)終端的信息。
[0090]白盒算法模塊5125包括算法邏輯單元51251和密鑰管理單元51252;算法邏輯單元51251具有AES具體算法過(guò)程;密鑰管理單元51252可以調(diào)用算法邏輯單元51251中的AES加密算法管理和存儲(chǔ)軟件安全元器件密鑰,即在存儲(chǔ)密鑰時(shí)使用AES加密算法進(jìn)行打亂順序存放,調(diào)用密鑰時(shí)按照AES加密算法進(jìn)行組合。
[0091]圖4是根據(jù)本發(fā)明公開(kāi)的密鑰系統(tǒng)的一個(gè)實(shí)施例中個(gè)人化的流程示意圖。
[0092]個(gè)人化包括下述步驟:
[0093](a)軟件安全元器件判斷自身是否初始化,若未進(jìn)行初始化,進(jìn)入下述步驟(C),若已經(jīng)初始化,則進(jìn)入下述步驟(b);
[0094](b)已初始化的軟件安全元器件根據(jù)已存儲(chǔ)的終端信息判斷是否存在終端環(huán)境變化,若得到終端環(huán)境已變化的結(jié)果,進(jìn)入下述步驟(C),若得到終端環(huán)境未變化,則結(jié)束個(gè)人化;
[0095](c)軟件安全元器件獲取終端信息,實(shí)現(xiàn)軟件安全元器件與終端的綁定;
[0096](d)軟件安全元器件恢復(fù)預(yù)置主密鑰,根據(jù)終端信息產(chǎn)生隨機(jī)規(guī)則;
[0097](e)軟件安全元器件根據(jù)主密鑰和隨機(jī)規(guī)則,并與軟件安全元器件管理平臺(tái)進(jìn)行通信交換因子后,分散產(chǎn)生工作密鑰;
[0098](f)根據(jù)主密鑰與隨機(jī)規(guī)則,分散產(chǎn)生存儲(chǔ)密鑰;
[0099](g)對(duì)上述步驟所產(chǎn)生的工作密鑰和/或存儲(chǔ)密鑰進(jìn)行加擾,分片和加密保護(hù),結(jié)束個(gè)人化。
[0100]圖5是圖4所示個(gè)人化中步驟(e)的具體流程示意圖,具體包括下述子步驟:
[0101](I)移動(dòng)終端的應(yīng)用調(diào)用安全SDK,同時(shí)向安全SDK傳入應(yīng)用ID;
[0102](2)安全SDK向軟件安全元器件發(fā)起調(diào)用請(qǐng)求;
[0103](3)軟件安全元器件針對(duì)該調(diào)用請(qǐng)求向安全SDK返回隨機(jī)參數(shù)I;
[0104](4)安全SDK根據(jù)隨機(jī)參數(shù)I和預(yù)置的會(huì)話密鑰,使用加密算法計(jì)算生成參數(shù)2;
[0105](5)安全SDK將參數(shù)2傳輸至軟件安全元器件;
[0106](6)軟件安全元器件對(duì)自身是否進(jìn)行個(gè)人化以及所在終端的狀態(tài)是否變化做出判斷,若軟件安全元器件已經(jīng)個(gè)人化并且其所在終端環(huán)境未變化,進(jìn)入下述步驟(14),否則進(jìn)入下述步驟(7);
[0107](7)軟件安全元器件根據(jù)主密鑰、參數(shù)2、隨機(jī)參數(shù)I,應(yīng)用ID,軟件安全元器件ID和時(shí)間戳,使用加密算法計(jì)算生成參數(shù)I;
[0108](8)軟件安全元器件將上述參數(shù)1、參數(shù)2、隨機(jī)參數(shù)1、應(yīng)用ID、軟件安全元器件和時(shí)間戳發(fā)送至軟件安全元器件管理平臺(tái);
[0109](9)軟件安全元器件管理平臺(tái)校驗(yàn)參數(shù)I和參數(shù)2,加密會(huì)話密鑰,生成隨機(jī)參數(shù)2,并根據(jù)主密鑰、加密后會(huì)話密鑰、和隨機(jī)參數(shù)2使用加密算法生成參數(shù)3;
[0110](10)軟件安全元器件管理平臺(tái)根據(jù)隨機(jī)參數(shù)1、隨機(jī)參數(shù)2和主密鑰生成工作密鑰;
[0111](11)軟件安全元器件管理平臺(tái)向軟件安全元器件返回加密后的會(huì)話密鑰、隨機(jī)參數(shù)2、參數(shù)3;
[0112](12)軟件安全元器件驗(yàn)證參數(shù)3,解密并保存會(huì)話密鑰;
[0113](13)軟件安全元器件根據(jù)隨機(jī)參數(shù)1、隨機(jī)參數(shù)2和主密鑰計(jì)算生成工作密鑰;
[0114](14)軟件安全元器件驗(yàn)證參數(shù)2,當(dāng)驗(yàn)證成功后安全SDK才能調(diào)用軟件安全元器件,否則軟件安全元器件將向安全SDK返回錯(cuò)誤。
[0115]圖中SSEID為軟件安全元器件ID、APPID為應(yīng)用ID、Timestamp為時(shí)間戳、Randoml為隨機(jī)參數(shù)l、Random2為隨機(jī)參數(shù)2、?々1^1為參數(shù)1、?41^2為參數(shù)2、?41^3為參數(shù)3,(:01111111^7為會(huì)話密鑰、WorkKey 為工作密鑰、MasterKey 為主密鑰,PARA2 = HMAC-SHA256 (CommKey,Randoml)表示的是采用哈希算法產(chǎn)生參數(shù)2的方程,PARAl =HMAC-SHA256 (MasterKey,PARA2,Randoml,AppID,SSEID,Timestamp)表示的是采用哈希算法產(chǎn)生參數(shù)l的方程,PARA3= HMAC_SHA256(MasterKey,加密CommKey,Random2)表示的是采用哈希算法產(chǎn)生參數(shù)3的方程。
[0116]上述校驗(yàn)參數(shù)1、參數(shù)2或參數(shù)3的具體方法是當(dāng)驗(yàn)證方從被驗(yàn)證方處獲取這個(gè)參數(shù)以及產(chǎn)生這個(gè)參數(shù)所需部分或全部的因素,使用這些因素根據(jù)同樣的算法計(jì)算后將計(jì)算結(jié)果和原參數(shù)進(jìn)行比較,結(jié)果相同則認(rèn)為驗(yàn)證通過(guò)。例如,軟件安全元器件在驗(yàn)證安全SDK時(shí),需要獲得參數(shù)2以及產(chǎn)生參數(shù)2所需的會(huì)話密鑰和隨機(jī)參數(shù)I,軟件安全元器件使用會(huì)話密鑰和隨機(jī)參數(shù)I根據(jù)PARA2 = HMAC-SHA256(CommKey,Randoml)產(chǎn)生參數(shù)2 ’,軟件安全元器件比較參數(shù)2與參數(shù)2’,參數(shù)2與參數(shù)參數(shù)2’相同時(shí),安全SDK才能夠成功調(diào)用軟件安全元器件。
[0117]這個(gè)流程可以理解為安全SDK、軟件安全元器件和軟件安全元器件管理平臺(tái)三方密鑰協(xié)商的一個(gè)較佳的實(shí)施方式。
【主權(quán)項(xiàng)】
1.一種移動(dòng)終端軟件安全元器件系統(tǒng),其特征在于,包括: 移動(dòng)終端,移動(dòng)終端內(nèi)具有安全SDK,所述安全SDK具有用于與軟件安全元器件進(jìn)行交互的安全安全邏輯模塊和對(duì)移動(dòng)終端的文件存儲(chǔ)和運(yùn)行進(jìn)行安全保護(hù)的軟件安全元器件; 軟件安全元器件管理平臺(tái),能夠與軟件安全元器件通信,并能夠存儲(chǔ)、管理和驗(yàn)證軟件安全元器件使用的密鑰; 所述移動(dòng)終端需要調(diào)用軟件安全元器件時(shí),其安全SDK中的安全邏輯模塊需要與軟件安全元器件進(jìn)行交互并完成指紋校驗(yàn); 所述安全SDK與軟件安全元器件管理平臺(tái)和軟件安全元器件在建立通訊時(shí)需要進(jìn)行基于密鑰的雙向認(rèn)證及工作密鑰的協(xié)商,協(xié)商成功后安全SDK和軟件安全元器件之間的數(shù)據(jù)傳輸使用通信密鑰進(jìn)行加密保護(hù)。2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于:所述指紋校驗(yàn)過(guò)程中,安全安全邏輯模塊的指紋是基于SDK類信息、版本信息和指紋因子I通過(guò)安全散列算法得出的,軟件安全元器件的指紋是基于軟件安全元器件的文件大小、文件時(shí)間、版本信息和指紋因子2通過(guò)安全散列算法得出的。3.根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于:所述軟件安全元器件包括能夠確保調(diào)用軟件安全元器件方合法性的訪問(wèn)控制及管理模塊、能夠?qū)σ苿?dòng)終端內(nèi)存儲(chǔ)的數(shù)據(jù)文件加密的存儲(chǔ)管理模塊、對(duì)軟件安全元器件密鑰進(jìn)行安全算法保護(hù)和管理的白盒算法模塊、對(duì)軟件安全元器件代碼進(jìn)行安全保護(hù)的軟件安全元器件保護(hù)模塊和對(duì)移動(dòng)終端物理內(nèi)存進(jìn)行虛擬化使安全元器件具有反調(diào)試功能的虛擬化管理模塊; 其中,所述存儲(chǔ)管理模塊、軟件安全元器件保護(hù)模塊和白盒算法模塊協(xié)同合作能夠使移動(dòng)終端內(nèi)存儲(chǔ)的數(shù)據(jù)文件進(jìn)行安全保護(hù); 所述虛擬化管理模塊和白盒算法模塊協(xié)同合作能夠使移動(dòng)終端內(nèi)存得到保護(hù)。4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于:所述安全SDK中的安全邏輯模塊包括接口單元和AC管理單元,所述軟件安全元器件的訪問(wèn)控制及管理模塊包括接口單元、AC管理單元和完整性校驗(yàn)單元; 其中,所述完整性校驗(yàn)單元包括能夠校驗(yàn)安全安全邏輯模塊指紋與軟件安全元器件指紋是否一致的校驗(yàn)算法次單元和管理及存儲(chǔ)指紋信息的指紋管理次單元; 安全邏輯模塊中的接口單元與軟件安全元器件的接口單元功能對(duì)應(yīng),安全邏輯模塊的AC管理單元與軟件安全元器件的AC管理單元功能對(duì)應(yīng),他們與完整性校驗(yàn)單元配合實(shí)現(xiàn)安全SDK對(duì)軟件安全元器件的交互、指紋驗(yàn)證以及后續(xù)可能的調(diào)用。5.根據(jù)權(quán)利要求3或4所述的系統(tǒng),其特征在于:所述存儲(chǔ)管理模塊包括策略配置單元和透明加密單元; 策略配置單元對(duì)移動(dòng)終端內(nèi)存儲(chǔ)的數(shù)據(jù)文件做出存儲(chǔ)加密的配置; 透明加密單元使用軟件安全元器件密鑰對(duì)策略配置單元配置的數(shù)據(jù)文件進(jìn)行透明加LU O6.根據(jù)權(quán)利要求3-5中任一項(xiàng)所述的系統(tǒng),其特征在于:所述白盒算法模塊包括算法邏輯單元和密鑰管理單元; 算法邏輯單元具有具體算法過(guò)程; 密鑰管理單元可以調(diào)用算法邏輯單元中的算法管理和存儲(chǔ)軟件安全元器件密鑰。7.根據(jù)權(quán)利要求3-6中任一項(xiàng)所述的系統(tǒng),其特征在于:所述軟件安全元器件保護(hù)模塊包括數(shù)據(jù)變化單元、分支保護(hù)單元、差異化單元和控制流變換單元; 所述數(shù)據(jù)變化單元能將移動(dòng)終端代碼中的常量數(shù)值和常量字符串定義轉(zhuǎn)化為用函數(shù)生產(chǎn)對(duì)應(yīng)數(shù)值和字符; 所述分支保護(hù)單元能增加移動(dòng)終端代碼中的無(wú)用程序分支; 所述控制流變換單元能將移動(dòng)終端代碼中的控制變量值轉(zhuǎn)換為函數(shù)變換; 所述差異化處理單元能隨機(jī)增加移動(dòng)終端代碼中的無(wú)用變量、空指令函數(shù)。8.根據(jù)權(quán)利要求3-7中任一項(xiàng)所述的系統(tǒng),其特征在于:所述虛擬化管理模塊包括內(nèi)存虛擬單元和指令虛擬單元; 內(nèi)存虛擬單元能夠虛擬出部分獨(dú)立的移動(dòng)終端物理內(nèi)存,使其用于安全元器件的運(yùn)行; 指令虛擬單元可以虛擬出部分系統(tǒng)指令,用于直接從軟件底層獲取移動(dòng)終端的信息。9.一種用于權(quán)利要求1-8任一項(xiàng)中所述的移動(dòng)終端軟件安全元器件系統(tǒng)的密鑰系統(tǒng),其特征在于,包括: 主密鑰,MasterKey,是軟件安全元器件預(yù)置的密鑰,用于軟件安全元器件個(gè)人化以生成下述工作密鑰和存儲(chǔ)密鑰,可以被白盒算法加密后存儲(chǔ)于軟件安全元器件中; 工作密鑰,WorkKey,其通過(guò)安全SDK軟件安全元器件和軟件安全元器件管理平臺(tái)三方密鑰交換時(shí)生成,用于軟件安全元器件對(duì)其調(diào)用方合法性的認(rèn)證; 會(huì)話密鑰,CommKey,其由軟件安全元器件管理平臺(tái)生成,安全SDK發(fā)布時(shí)其在安全SDK內(nèi)預(yù)置,用于保證軟件安全元器件、安全SDK和軟件安全元器件管理平臺(tái)之間的安全通信;存儲(chǔ)密鑰,StoreKey,其由軟件安全元器件生成并與移動(dòng)終端唯一綁定,用于移動(dòng)終端內(nèi)存儲(chǔ)數(shù)據(jù)文件的加密。10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于:所述軟件安全元器件個(gè)人化包括下述步驟: (a)軟件安全元器件判斷自身是否初始化,若未進(jìn)行初始化,進(jìn)入下述步驟(c),若已經(jīng)初始化,則進(jìn)入下述步驟(b); (b)已初始化的軟件安全元器件根據(jù)已存儲(chǔ)的終端信息判斷是否存在終端環(huán)境變化,若得到終端環(huán)境已變化的結(jié)果,進(jìn)入下述步驟(C),若得到終端環(huán)境未變化,則結(jié)束個(gè)人化; (C)軟件安全元器件獲取終端信息,實(shí)現(xiàn)軟件安全元器件與終端的綁定; (d)軟件安全元器件恢復(fù)預(yù)置主密鑰,根據(jù)終端信息產(chǎn)生隨機(jī)規(guī)則; (e)軟件安全元器件根據(jù)主密鑰和隨機(jī)規(guī)則,并與軟件安全元器件管理平臺(tái)進(jìn)行通信交換因子后,分散產(chǎn)生工作密鑰; (f)根據(jù)主密鑰與隨機(jī)規(guī)則,分散產(chǎn)生存儲(chǔ)密鑰; (g)對(duì)上述步驟所產(chǎn)生的工作密鑰和/或存儲(chǔ)密鑰進(jìn)行加擾,分片和加密保護(hù),結(jié)束個(gè)人化。11.根據(jù)權(quán)利要10所述的系統(tǒng),其特征在于,所述步驟(e)具體包括下述子步驟: (1)移動(dòng)終端的應(yīng)用調(diào)用安全SDK,同時(shí)向安全SDK傳入應(yīng)用ID; (2)安全SDK向軟件安全元器件發(fā)起調(diào)用請(qǐng)求; (3)軟件安全元器件針對(duì)該調(diào)用請(qǐng)求向安全SDK返回隨機(jī)參數(shù)I; (4)安全SDK根據(jù)隨機(jī)參數(shù)I和預(yù)置的會(huì)話密鑰,使用加密算法計(jì)算生成參數(shù)2; (5)安全SDK將參數(shù)2傳輸至軟件安全元器件; (6)軟件安全元器件對(duì)自身是否進(jìn)行個(gè)人化以及所在終端的狀態(tài)是否變化做出判斷,若軟件安全元器件已經(jīng)個(gè)人化并且其所在終端環(huán)境未變化,進(jìn)入下述步驟(14),否則進(jìn)入下述步驟(7); (7)軟件安全元器件根據(jù)主密鑰、參數(shù)2、隨機(jī)參數(shù)I,應(yīng)用ID,軟件安全元器件ID和時(shí)間戳,使用加密算法計(jì)算生成參數(shù)I; (8)軟件安全元器件將上述參數(shù)1、參數(shù)2、隨機(jī)參數(shù)1、應(yīng)用ID、軟件安全元器件和時(shí)間戳發(fā)送至軟件安全元器件管理平臺(tái); (9)軟件安全元器件管理平臺(tái)校驗(yàn)參數(shù)I和參數(shù)2,加密會(huì)話密鑰,生成隨機(jī)參數(shù)2,并根據(jù)主密鑰、加密后會(huì)話密鑰、和隨機(jī)參數(shù)2使用加密算法生成參數(shù)3; (10)軟件安全元器件管理平臺(tái)根據(jù)隨機(jī)參數(shù)1、隨機(jī)參數(shù)2和主密鑰生成工作密鑰; (11)軟件安全元器件管理平臺(tái)向軟件安全元器件返回加密后的會(huì)話密鑰、隨機(jī)參數(shù)2、參數(shù)3; (12)軟件安全元器件驗(yàn)證參數(shù)3,解密并保存會(huì)話密鑰; (13)軟件安全元器件根據(jù)隨機(jī)參數(shù)1、隨機(jī)參數(shù)2和主密鑰計(jì)算生成工作密鑰; (14)軟件安全元器件驗(yàn)證參數(shù)2,當(dāng)驗(yàn)證成功后安全SDK才能調(diào)用軟件安全元器件,否則軟件安全元器件將向安全SDK返回錯(cuò)誤。12.一種移動(dòng)終端,其特征在于,包括權(quán)利要求1-8任一項(xiàng)所述的安全SDK和軟件安全元器件。
【文檔編號(hào)】G06F21/57GK106055931SQ201610331316
【公開(kāi)日】2016年10月26日
【申請(qǐng)日】2016年5月18日
【發(fā)明人】蔡準(zhǔn), 郭曉鵬, 孫悅, 王在方, 趙軍, 杜旭
【申請(qǐng)人】北京芯盾時(shí)代科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1