国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種應用于移動設備云存儲的可信數(shù)據(jù)存取控制方法

      文檔序號:7795149閱讀:339來源:國知局
      一種應用于移動設備云存儲的可信數(shù)據(jù)存取控制方法
      【專利摘要】一種應用于移動設備云存儲的可信存取控制方法,它包括用戶注冊與登錄、密鑰生成與數(shù)據(jù)加密上傳、數(shù)據(jù)下載與解密三個階段共6個步驟:步驟1-用戶注冊;步驟2-帶認證過程的用戶登錄;步驟3-加密密鑰生成;步驟4-用戶數(shù)據(jù)加密上傳;步驟5-多個移動設備間密鑰共享;步驟6-數(shù)據(jù)下載與解密;本發(fā)明中用戶采用移動TPM芯片來保證密鑰交換過程中信任鏈的傳遞,采用基于橢圓曲線的加密來降低密鑰長度,并且保證多個移動設備間能夠安全地共享密鑰,與傳統(tǒng)云存儲服務供應商提供的服務器端或客戶端數(shù)據(jù)加密的方法相比更加安全可靠,置信度高,交互數(shù)據(jù)量小,它在云存儲安全【技術領域】里具有較好的實用價值和廣闊的應用前景。
      【專利說明】一種應用于移動設備云存儲的可信數(shù)據(jù)存取控制方法
      (—)【技術領域】
      [0001]本發(fā)明涉及一種應用于移動設備云存儲的可信數(shù)據(jù)存取控制方法,它也是一種應用于多個移動設備通過TPM(Trusted Platform Module,可信平臺模塊)安全共享云存儲服務的方法,屬于云計算安全領域。
      (二)【背景技術】
      [0002]隨著移動互聯(lián)網(wǎng)的快速發(fā)展與普及,具有強大計算能力的便攜移動設備陸續(xù)出現(xiàn)。某些人可能具有多個移動設備并且可以很方便地連入無線網(wǎng)絡,因此對于共享或同步他(她)這些設備中數(shù)據(jù)的需求逐漸增加。云端存儲的方式迎合了這些需求。使用云存儲服務,用戶可以通過移動終端設備在任何時間任何地點接入數(shù)據(jù),并且輕松實現(xiàn)多個移動設備間的數(shù)據(jù)共享。
      [0003]盡管云存儲為移動設備的數(shù)據(jù)處理提供了靈活性和可擴展性,但其安全性需要得到重視,因為云存儲很可能會造成數(shù)據(jù)丟失的問題,主要可分為以下兩類:一類是服務器端的數(shù)據(jù)丟失,惡意的內(nèi)部人員或者攻擊者可以利用虛擬機監(jiān)控程序的漏洞執(zhí)行惡意代碼來獲得任意存儲在云端的用戶的數(shù)據(jù)。而另一類是客戶端的數(shù)據(jù)丟失。如果一個用戶丟失了可以連接到云存儲服務的移動設備,那么任意一個撿到這個設備的人都可以接入到用戶的安全敏感數(shù)據(jù)?;蛘哂脩羰褂貌豢尚诺囊苿釉O備進入他(她)的云存儲端時,用戶的證書或安全敏感信息會被惡意程序截獲:駐留在不可信設備中的鍵盤記錄程序、病毒或惡意代碼會借由網(wǎng)絡造成客戶端數(shù)據(jù)丟失。
      [0004]因此,在云存儲的實際應用中,設計能夠保證數(shù)據(jù)正確存儲的可信安全的方案尤為重要。目前,一種典型的云存儲商用服務Dropbox,采用的是服務器端數(shù)據(jù)加密的方式,在服務器端和用戶端之間采用SSL協(xié)議來傳輸數(shù)據(jù),所有的文件加密密鑰都由服務器端軟件統(tǒng)一管理,而且這個商用服務所采用的基于用戶名和密碼的身份鑒別機制也是缺乏抗攻擊能力的,因此我們認為這種云存儲服務對于移動設備來說是不夠安全的。對移動設備云存儲這種特殊的應用方式,我們一方面要考慮到安全可信的存取控制方式,另一方面也要考慮到基于云存儲數(shù)據(jù)共享的便捷操作?;诖丝紤],我們發(fā)明了本方法,涉及的主要技術為TPM(Trusted Platform Module,可信平臺模塊)完整性度量技術、TPM封裝技術與解封裝技術和基于橢圓曲線的加密技術。
      [0005]TPM是TCG(Trusted Computing Group,可信計算組)提出的一個含有密碼運算部件和存儲部件的芯片,主要由CPU、存儲器、I / 0(輸入/輸出)、密碼運算器、隨機數(shù)產(chǎn)生器、PCR(Platform Configuration Register,平臺配置寄存器)和嵌入式操作系統(tǒng)等部件組成,隨著移動互聯(lián)網(wǎng)技術的快速發(fā)展,針對移動設備的TPM也日益成熟并開始普及。TPM完整性度量就是對當前平臺運行狀態(tài)的收集。PCR是TPM芯片上一個160比特的存儲位置,用來存儲平臺完整性狀態(tài)度量值。TPM擁有至少16個PCR,所有的PCR都在TPM的屏蔽區(qū)域,通過哈希算法對PCR內(nèi)存儲的數(shù)值的擴展可以實現(xiàn)有限的PCR存儲無限的組件的完整性度量值,可以表示為PCRn=Hash (PCRlri I Measurement^ (其中| |表示連接符號,Measurementn表示第η次對當前系統(tǒng)狀態(tài)的完整性度量值,Hash表示通過TPM內(nèi)置的哈希算法將括號內(nèi)的任意長度的輸入變換為固定長度的輸出,這種轉換也可以看成是一種壓縮映射),這一系列完整性度量值組成的序列反映了系統(tǒng)狀態(tài)的變遷。
      [0006]TPM封裝技術可以認為是一種加強的加密存儲方法,首先選擇一組特定的PCR,然后對這些PCR內(nèi)存儲的數(shù)值以及需要封裝的秘密數(shù)據(jù)進行非對稱加密。輸入被封裝的秘密數(shù)據(jù)和選擇的PCR內(nèi)存儲的數(shù)值。TPM利用加密密鑰對封裝的秘密數(shù)據(jù)和PCR內(nèi)存儲的數(shù)值進行非對稱加密生成封裝數(shù)據(jù)Sealed Data。與封裝對應的概念就是解封裝,可以將其理解為有條件的解密過程。當用戶需要獲取被封裝的數(shù)據(jù)時利用解密密鑰對其解密,然后判斷可信平臺當前狀態(tài)的PCR內(nèi)存儲的數(shù)值是否與封裝數(shù)據(jù)中的PCR內(nèi)存儲的數(shù)值一致,如果一致,用戶就能夠獲取被封裝的數(shù)據(jù),解封裝成功,否則的話,TPM拒絕輸出被封裝的秘密數(shù)據(jù),解封裝失敗。
      [0007]橢圓曲線密碼(Elliptic curve cryptography,縮寫為ECC)為密碼學里運用非常廣泛的公鑰密碼體制。ECC的主要優(yōu)勢在于當提供同等長度的密鑰(例如RSA加密算法)時,它提供相當?shù)幕蚋叩燃壍陌踩?。其安全性建立于橢圓曲線上的離散對數(shù)問題,即在橢圓曲線構成的Abel群Ep (a, b)上考慮方程Q=kP,其中P,Q e Ep (a, b),k〈p,則由k和P易求Q,但是由P、Q求k則是困難的,最新的TPM2.0版本所使用的ECC加密方案中密鑰長度為384比特。
      (三)
      【發(fā)明內(nèi)容】

      [0008](I)發(fā)明目的
      [0009]本發(fā)明的目的是提供一種應用于移動設備云存儲的可信存取控制方法,它克服了現(xiàn)有技術的不足??捎糜诮鉀Q云存儲環(huán)境中用戶對遠端數(shù)據(jù)的可信存取,其實現(xiàn)了多個移動設備對其存儲在云服務器中存放數(shù)據(jù)的可信共享,該方法采用TPM保證其信任鏈的逐級傳遞,使其接入可信,并且密鑰可在同一用戶的不同移動設備中實現(xiàn)安全共享。
      [0010](2)技術方案
      [0011]為了達到上述目的,方案采用TPM完整性度量技術、TPM封裝技術與解封裝技術和基于橢圓曲線的加密技術,其技術方案如下。
      [0012]本發(fā)明包括三個網(wǎng)絡實體:1)客戶端(Client):將數(shù)據(jù)存儲在云端的移動終端;
      2)TB-Cloud 服務器(TB-CLOUD Server):TB_CL0UD 是指 TPM-BASED-CLOUD,是具有 TPM 的服務器,此服務器作為一個代理服務器管理用戶和第三方云存儲服務;3)云存儲服務器(Cloud StorageServer, CSS):具有專門的資源和計算能力的設備,可存儲用戶上傳到云端的數(shù)據(jù)。以下將結合附圖對所述的可信存取控制的技術方案進行闡述,圖1為本發(fā)明流程框圖;圖2為帶認證過程的登錄;圖3為密鑰創(chuàng)建協(xié)議流程圖;圖4為多個移動設備共享密鑰流程圖
      [0013]如圖1,我們的方法共包括6步,按照執(zhí)行階段其可分為用戶注冊與登錄、密鑰生成與數(shù)據(jù)加密上傳、數(shù)據(jù)下載與解密三個階段。
      [0014]本發(fā)明一種應用于移動設備云存儲的可信存取控制方法,該方法具體步驟如下:
      [0015]階段1:用戶注冊與登錄:包括步驟I?2,在移動設備開機過程中,TPM中的認證組件會測量移動設備操作系統(tǒng)引導裝載程序以及操作系統(tǒng)鏡像的完整性,基于以上測量結果和PCR之前記錄結果的哈希值得到移動設備當前的PCR內(nèi)存儲的數(shù)值,即PCRn=Hash(PCRn^11 Measurement^,客戶端的注冊和登錄過程會使用這些PCR內(nèi)存儲的數(shù)值,并通過TB-CLOUD服務器的認證服務來驗證客戶端系統(tǒng)是否處于安全狀態(tài);
      [0016]步驟1:用戶注冊:初次使用時,一個用戶需要通過客戶端注冊自己的用戶名和密碼,當輸入用戶名和密碼后,客戶端的注冊組件會從TPM中讀取移動設備當前的PCR內(nèi)存儲的數(shù)值,并將用戶名和密碼以及PCR內(nèi)存儲的數(shù)值一起發(fā)送到TB-CLOUD服務器的注冊服務處,TB-CLOUD服務器會將收到的數(shù)據(jù)保存入數(shù)據(jù)庫,以待用戶下一次登錄時驗證使用;
      [0017]步驟2:帶認證過程的用戶登錄:一個用戶需要在客戶端輸入用戶名和密碼來執(zhí)行登錄操作。如圖2所示,首先,一個安全進程建立在TB-CLOUD服務器認證服務和客戶端認證組件之間,當用戶發(fā)送包含用戶名和密碼的登錄請求時,TB-CLOUD服務器判斷用戶名和密碼是否有效,如果有效則由TB-CLOUD服務器端的認證服務創(chuàng)建返回一個新鮮的隨機數(shù)R給客戶端的認證組件;客戶端的認證組件使用這個隨機數(shù)R以及設備當前的PCR內(nèi)存儲的數(shù)值,創(chuàng)建認證請求;當收到客戶端的認證請求時,服務器端認證服務通過比較收到的和存儲在數(shù)據(jù)庫內(nèi)的兩個PCR內(nèi)存儲的數(shù)值來驗證客戶端環(huán)境;如果PCR內(nèi)存儲的數(shù)值一致,那么客戶端會從TB-CLOUD服務器收到包含認證值H和隨機數(shù)R的認證通過信息;認證通過后,客戶端認證組件會將認證值H存儲到到PCR內(nèi);如果PCR內(nèi)存儲的數(shù)值不一致,則認證失敗,客戶端會收到代表拒絕服務的認證失敗信息;認證過程通過后,客戶端準備生成一個加密密鑰來加密待上傳的數(shù)據(jù);
      [0018]階段2:密鑰生成與數(shù)據(jù)加密上傳:包括步驟3~4,客戶端的待上傳數(shù)據(jù)需要加密,因此客戶端的認證組件會通過一個密鑰生成協(xié)議來生成一個密鑰對上傳數(shù)據(jù)進行加密后再行上傳;認證組件發(fā)送一個密鑰生成請求到TB-CLOUD服務器,TB-CLOUD服務器更新用戶的目前狀態(tài),用戶通過TPM中的密鑰生成器生成對稱密鑰EKa,用于用戶數(shù)據(jù)的加密和解密(當采用對稱加密的方法時,加密和解密使用的是同一把密鑰);
      [0019]步驟3:密鑰生成:如圖3所示,當需要生成數(shù)據(jù)加密密鑰時,客戶端密鑰管理組件向TB-CLOUD服務器的認證服務發(fā)送一個密鑰創(chuàng)建請求,TB-CLOUD服務器的認證服務向客戶端的TPM發(fā)送一個密鑰創(chuàng)建確認,`由客戶端的TPM中的密鑰生成器生成對稱密鑰EKa作為數(shù)據(jù)加解密密鑰;該對稱密鑰EKa在不使用時應被封裝存儲在客戶端TPM的永久存儲器中;客戶端密鑰管理組件要求TPM使用現(xiàn)有包含認證值H的PCR內(nèi)存儲的數(shù)值封裝對稱密鑰EKa。之后,當TB-CLOUD服務器要求密鑰加密或解密數(shù)據(jù)塊時,認證處理器將通過解封過程解封對稱密鑰EKa。如果認證處理器解封裝失敗,則客戶端不能獲取解密密鑰,沒有人可以接入到用戶數(shù)據(jù)。
      [0020]步驟4:數(shù)據(jù)加密上傳:當一個用戶復制本地數(shù)據(jù)到云存儲服務器時,客戶端中TPM之外的文件瀏覽器首先在TPM的文件處理器中建立加密進程并執(zhí)行加密操作。文件瀏覽器在加密完成后與TB-CLOUD服務器的存儲管理器之間建立上傳會話。然后文件瀏覽器發(fā)送帶有文件名的加密數(shù)據(jù)。TB-CLOUD服務器的云存儲管理器選擇云存儲服務器存儲收到的加密數(shù)據(jù)并更新相關的數(shù)據(jù)存儲信息
      [0021]階段3:密鑰共享與數(shù)據(jù)下載解密:包括步驟5~6,一個用戶可能會有多個移動設備,所以應用場景如下:用戶現(xiàn)在使用移動設備A(以下簡稱設備A)為其云存儲數(shù)據(jù)創(chuàng)建賬戶以及對稱密鑰EKa,并且上傳的數(shù)據(jù)使用對稱密鑰EKa加密。如果他想要使用移動設備B(以下簡稱設備B)來下載數(shù)據(jù),那么他必須讓設備B擁有對稱密鑰EKa來解密數(shù)據(jù);
      [0022]步驟5:密鑰共享:為了解決密鑰多設備密鑰共享的難題,TB-CLOUD服務器提供了一種密鑰共享協(xié)議JB-CLOUD服務器的密鑰分配器,用于在源客戶端(即設備A)密鑰管理組件和目標客戶端(即設備B)密鑰管理組件之間協(xié)調密鑰。
      [0023]如圖3所示,第一階段通過TB-CLOUD服務器密鑰分配器在兩個客戶端設備間交換設備B的公鑰KB。當設備A收到KB,設備A解封密封數(shù)據(jù)中的加密密鑰以取得EKa并用Kb對EKa加密vB,加密數(shù)據(jù)密鑰將存儲在TB-CLOUD服務器的數(shù)據(jù)庫中;
      [0024]下一步認證目標設備B。如果認證成功,TB-CLOUD服務器的密鑰分配器將
      傳輸給設備B。設備B使用自己的私鑰Pb解密得到對稱密鑰EKa,然后使用當前設備的PCR內(nèi)存儲的數(shù)值密封EKa并存入TPM的永久存儲器中。
      [0025]步驟6:數(shù)據(jù)下載與解密:當設備B得到對稱密鑰EKa后,即可從云存儲服務器下載并解密設備A存儲的加密數(shù)據(jù)。當一個用戶用文件瀏覽器登錄TB-CLOUD服務器的云存儲管理器查看自己存儲的數(shù)據(jù)并準備復制數(shù)據(jù)到本地存儲時,就相當于在文件瀏覽器和TB-CLOUD服務器之間建立了一個下載進程;之后文件瀏覽器發(fā)送附帶文件名的下載請求到TB-CLOUD服務器,TB-CLOUD服務器根據(jù)文件名,在云存儲服務器中搜尋文件,并將下載請求推送給云存儲服務器,然后云存儲服務器將用戶數(shù)據(jù)的地址經(jīng)過TB-CLOUD服務器的云存儲管理器傳送到客戶端的文件瀏覽器;客戶端的文件瀏覽器獲得地址后接入存儲在云存儲服務器的數(shù)據(jù)并執(zhí)行下載過程,下載后的加密數(shù)據(jù)需要傳送到客戶端的TPM內(nèi)進行解密處理才可以得到原始的數(shù)據(jù);首先,文件瀏覽器通過與TPM的文件處理器建立數(shù)據(jù)解密會話,收到會話建立命令后,TPM的文件處理器初始化解密處理器并返回確認到文件瀏覽器。從而,文件瀏覽器發(fā)送加密數(shù)據(jù)到TPM的文件處理器,TPM的文件處理器通過解密算法和使用當前PCR內(nèi)存儲的數(shù)值解封的對稱密鑰EKa解密收到的加密數(shù)據(jù)。最后,解密后的數(shù)據(jù)返回到文件瀏覽器并存在設備B的本地存儲中。
      [0026]其中,在步驟3中所述的“ΕΚΑ”是一個對稱密鑰,采用對稱加密時,加密和解密采用的是同一把密鑰。
      [0027]其中,在步驟4中所述的“文件瀏覽器”是客戶端非TPM中的一個上傳于下載組件,主要用于客戶端與TB-CLOUD服務器之間創(chuàng)建進程使用。在步驟4中所述的“文件處理器”是TPM中的一個用于數(shù)據(jù)加密和解密的組件。
      [0028]其中,在步驟5中所述的“ΚΒ”和“ΡΒ”是設備B的一對非對稱密鑰,前者是公鑰,后者是私鑰,用公鑰加密的數(shù)據(jù)可以用私鑰進行解密,設備B的公鑰是可以公開的,但是私鑰只有設備B才擁有,因此,只有設備B才能解開使用設備B的公鑰加密的數(shù)據(jù)。
      [0029](3)優(yōu)點及功效
      [0030]本發(fā)明一種應用于移動設備云存儲的可信存取控制方法,該方法涉及數(shù)據(jù)的封裝,多設備共享數(shù)據(jù)方面,其優(yōu)點和功效是:1)與傳統(tǒng)云存儲服務供應商提供的服務器端或客戶端數(shù)據(jù)加密的方法相比更加安全可靠:2)交互數(shù)據(jù)量小,用戶與服務器之間的通信量固定的,與存儲數(shù)據(jù)大小無關;3)使用TPM從可信根逐級遞進保證密鑰的可信;4)在多個移動設備密鑰共享時能夠保證其高置信度。
      (四)【專利附圖】

      【附圖說明】[0031]圖1為本發(fā)明流程框圖;
      [0032]圖2為帶認證過程的登錄;
      [0033]圖3為密鑰創(chuàng)建協(xié)議流程圖;
      [0034]圖4為多個移動設備共享密鑰流程圖
      [0035]圖中符號說明如下:
      [0036]在圖1中,數(shù)字1,2,3,4,5,6代表各個步驟的序號;
      [0037]在圖2中,ID表示用戶的登錄身份名,R表示新鮮的隨機數(shù),PCR表示平臺配置寄存器值,H表示認證值,TPM2_PCR_Extend (H)代表把認證值H通過TPM2_PCR_Extend命令擴展到系統(tǒng)的PCR內(nèi)存儲的數(shù)值上。
      [0038]在圖3中,TPM2_Seal (EKa)代表通過封裝操作命令把密鑰EKa加密保存起來。
      [0039]在圖4中, {£/^}1<1!表示用移動設備B的公鑰對用戶的數(shù)據(jù)加密密鑰EKa加密。
      (五)【具體實施方式】
      [0040]以下將結合附圖對所述的可信存取控制方法詳細闡述,圖1為本發(fā)明流程框圖;圖2為帶認證過程的登錄;圖3為密鑰創(chuàng)建協(xié)議流程圖;圖4為多個移動設備共享密鑰流程圖。
      [0041]主要的符號及算法解釋:
      [0042](I)PCR內(nèi)存儲的數(shù)值代表對當前系統(tǒng)的度量值,由TPM中的一個哈希算法得到固定長度的數(shù)值,即PCRn=Hash (PCRlri I Measurement^計算得出;
      [0043](2)隨機數(shù)R代表一個新鮮的隨機產(chǎn)生的數(shù),它能夠保證每次的會話過程都是新鮮的;
      [0044](3)EKaR表對稱的加解密密鑰,用來加密或者解密用戶存儲在云端的數(shù)據(jù);
      [0045](4) Kb代表移動設備B的公鑰,它用來加密對稱的數(shù)據(jù)密鑰EKa ;Pb代表移動設備B的私鑰,它用來解密對稱的數(shù)據(jù)密鑰EKa ;
      [0046](5) TPM2_Seal (.)代表封裝操作,是一種特殊的加密,與其相對的TPM2_Unseal (.)解封裝操作是一種特殊的解密。
      [0047]本發(fā)明可分為用戶注冊與登錄、密鑰生成與數(shù)據(jù)加密上傳、數(shù)據(jù)下載與解密三個階段。其間用到的所有與TPM相關的命令均來自于TPM2.0C語言函數(shù)庫。見圖1,本發(fā)明是一種應用于移動設備云存儲中的可信存取控制方法,該方法具體步驟如下:
      [0048]1、階段1:用戶注冊與登錄:包括步驟I~2,在移動設備開機過程中,TPM中的認證組件會通過TPM2_PCR_A1 locate命令得到當前系統(tǒng)的PCR內(nèi)存儲的數(shù)值:即測量移動設備操作系統(tǒng)引導裝載程序以及操作系統(tǒng)鏡像的完整性,基于以上測量結果和PCR之前記錄結果的哈希值得到移動設備當前的PCR內(nèi)存儲的數(shù)值。這樣就完成了一條從TPM硬件——完整性度量系統(tǒng)——應用程序的信任鏈??蛻舳说淖院偷卿涍^程會使用這些PCR內(nèi)存儲的數(shù)值,并通過TB-CLOUD服務器的認證服務來驗證客戶端系統(tǒng)是否處于安全狀態(tài)。
      [0049]步驟1:用戶注冊:初次使用移動設備登錄云存儲服務時,用戶需要通過客戶端在TB-CLOUD服務器上注冊自己的用戶名和密碼。當輸入用戶名和密碼后,TPM中的認證組件會通過TPM2_PCR_A1 locate命令得到當前系統(tǒng)的PCR內(nèi)存儲的數(shù)值,客戶端的注冊組件會通過TPM2_PCR_Read命令從TPM讀取移動設備當前的PCR內(nèi)存儲的數(shù)值,并將用戶名和密碼以及PCR內(nèi)存儲的數(shù)值一起發(fā)送到TB-CLOUD服務器的注冊服務處,TB-CLOUD服務器會將收到的數(shù)據(jù)保存入數(shù)據(jù)庫,以待用戶下一次登錄時驗證使用。
      [0050]步驟2:帶認證過程的用戶登錄:一個用戶需要在客戶端輸入用戶名和密碼來執(zhí)行登錄操作。如果TB-CLOUD服務器收到登錄操作請求并對用戶名和密碼與數(shù)據(jù)庫內(nèi)的存儲內(nèi)容做過對比,認定用戶名和密碼有效,則用戶的客戶端可以獲得在云存儲服務器上存儲的數(shù)據(jù):當獲得加密數(shù)據(jù)的對稱密鑰以后存儲在云端的文件內(nèi)容可以被對稱密鑰解密恢復。為了獲得對稱密鑰,客戶端要求從服務器傳送認證并且得到一個認證值H(如果客戶端滿足認證要求TB-CLOUD服務器的認證服務創(chuàng)建一個認證值,并且認證服務存儲用戶名和認證值之間的對應信息以備后用)。
      [0051]登錄協(xié)議包含驗證用戶證書,遠端認證客戶端和恢復認證結果。如圖2所示,首先,一個安全進程建立在TB-CLOUD服務器認證服務和客戶端認證組件之間,當用戶發(fā)送包含用戶名和密碼的登錄請求時,TB-CLOUD服務器判斷用戶名和密碼是否有效,如果有效則由TB-CLOUD服務器端的認證服務通過TPM2_GetRandom命令創(chuàng)建返回一個新鮮的隨機數(shù)R給客戶端的認證組件??蛻舳说恼J證組件使用這個隨機數(shù)R,設備目前的PCR內(nèi)存儲的數(shù)值,通過TPM2_Certify命令創(chuàng)建認證請求。當收到客戶端的認證請求時,TB-CLOUD服務器端認證服務通過比較收到的和存儲的兩個PCR內(nèi)存儲的數(shù)值來驗證客戶端環(huán)境。如果PCR內(nèi)存儲的數(shù)值一致,那么客戶端會從TB-CLOUD服務器收到包含認證值H和隨機數(shù)R的認證通過信息。認證通過后,客戶端認證組件通過TPM2_PCR_Extend命令擴展認證值H到PCR內(nèi)存儲的數(shù)值內(nèi)。如果PCR內(nèi)存儲的數(shù)值不一致,則認證失敗,客戶端會收到代表拒絕服務的認證失敗信息。認證過程通過后,客戶端準備生成一個加密密鑰來加密待上傳的數(shù)據(jù)。
      [0052]2、階段2:密鑰生成與數(shù)據(jù)加密上傳:包括步驟3?4,客戶端的待上傳數(shù)據(jù)需要加密,因此客戶端的認證組件會通過一個密鑰生成協(xié)議來生成一個密鑰對上傳數(shù)據(jù)進行加密后再行上傳。認證組件發(fā)送一個密鑰生成請求到TB-CLOUD服務器,服務器更新用戶的目前狀態(tài),用戶通過TPM中的密鑰生成器生成對稱加密密鑰EKa,用于用戶數(shù)據(jù)的加密和解密。
      [0053]步驟3:密鑰生成:如圖3所示,當需要生成數(shù)據(jù)加密密鑰時,客戶端密鑰管理組件向TB-CLOUD服務器的認證服務發(fā)送一個密鑰創(chuàng)建請求,TB-CLOUD認證服務器向客戶端的TPM芯片發(fā)送一個密鑰創(chuàng)建確認,由客戶端的TPM中的密鑰生成器生成對稱密鑰EKa作為數(shù)據(jù)加解密密鑰。對稱密鑰EKa在不使用時應被封裝存儲在客戶端TPM的永久存儲器中??蛻舳嗣荑€管理組件要求TPM通過TPM2_Seal命令使用現(xiàn)有包含認證值H的PCR內(nèi)存儲的數(shù)值封裝密鑰EKa。之后,當TB-CLOUD服務器要求密鑰加密或解密數(shù)據(jù)塊時,認證處理器將通過解封命令TPM2_Unseal解封密鑰EKA。如果認證處理器解封裝失敗,則客戶端不能獲取解密密鑰。
      [0054]步驟4:數(shù)據(jù)加密上傳:當一個用戶復制本地數(shù)據(jù)到云存儲服務器時,客戶端中TPM之外的文件瀏覽器首先在TPM的文件處理器中通過TPM2_EnCryptDeCrypt命令建立加密進程并執(zhí)行加密操作。文件瀏覽器在加密完成后與TB-CLOUD服務器的存儲管理器之間建立上傳會話。然后文件瀏覽器發(fā)送帶有文件名的加密數(shù)據(jù)。TB-CLOUD服務器的云存儲管理器選擇云存儲服務器存儲收到的加密數(shù)據(jù)并更新相關的數(shù)據(jù)存儲信息
      [0055]3、階段3:密鑰共享與數(shù)據(jù)下載:包括步驟5?6,一個用戶可能會有多個移動設備,所以應用場景如下:用戶現(xiàn)在使用移動設備A(以下簡稱設備A)為其云存儲創(chuàng)建賬戶以及數(shù)據(jù)加密密鑰EKa,并且上傳的數(shù)據(jù)使用EKa加密。如果他想要使用移動設備B(以下簡稱設備B)來下載數(shù)據(jù),那么他必須讓設備B擁有EKa來解密數(shù)據(jù)。
      [0056]步驟5:密鑰共享:一個用戶會有多個設備,所以應用場景如下:一個用戶現(xiàn)在使用設備A并且為TB-CLOUD服務器創(chuàng)建賬戶以及數(shù)據(jù)加密密鑰EKa,并且上傳的數(shù)據(jù)使用EKa加密。如果他想要使用設備B來存取設備,他必須讓設備B擁有EKa來解密數(shù)據(jù)。為了解決密鑰多設備密鑰共享的難題,TB-CLOUD服務器提供了一種密鑰共享協(xié)議。TB-CLOUD服務器的密鑰分配器,用于在源客戶端(即設備A)密鑰管理組件和目標客戶端(即設備B)密鑰管理組件之間協(xié)調密鑰。
      [0057]如圖3所示,第一階段通過服務器密鑰分配器在兩個客戶端設備間交換設備B的公鑰KB。Kb是一個長度為384比特的ECC加密密鑰,通過TPM的TPM2_ECDH_KeyGen命令生成,當設備A收到KB,設備A解封密封數(shù)據(jù)中的加密密鑰以取得EKa并用Kb對EKa加密{^Ka}Kbo加密數(shù)據(jù)密鑰將存儲在TB-CLOUD服務器的數(shù)據(jù)庫中。
      [0058]下一步認證目標設備B。如果認證成功,TB-CLOUD服務器的密鑰分配器將
      傳輸給設備B。設備B使用自己的私鑰Pb解密得到對稱密鑰EKA,然后使用當前設備的PCR內(nèi)存儲的數(shù)值通過TPM2_Seal命令密封EKa并存入TPM的永久存儲器中。
      [0059]步驟6:數(shù)據(jù)下載與解密:當設備B得到對稱密鑰EKa后,即可從云存儲服務器下載并解密移動設備A存儲的加密數(shù)據(jù)。當一個用戶用文件瀏覽器登錄TB-CLOUD服務器的云存儲管理器查看自己存儲的數(shù)據(jù)并準備復制數(shù)據(jù)到本地存儲時,就相當于在文件瀏覽器和TB-CLOUD服務器之間建立了一個下載進程。TB-CLOUD服務器根據(jù)文件名,在云存儲服務器中搜尋文件,并將下載請求推送給云存儲服務器。然后云存儲服務器將用戶數(shù)據(jù)的地址經(jīng)過TB-CLOUD服務器的云存儲管理器傳送到客戶端的文件瀏覽器客戶端的文件瀏覽器獲得地址后接入存儲在云存儲服務器的數(shù)據(jù)并執(zhí)行下載過程,下載后的加密數(shù)據(jù)需要傳送到客戶端的TPM通過TPM2_EncryptDecrypt命令進行解密處理才可以得到原始的數(shù)據(jù)。首先,文件瀏覽器通過與TPM的文件處理器建立數(shù)據(jù)解密會話。收到會話建立命令后,TPM的文件處理器初始化解密處理器并返回確認到文件瀏覽器。從而,文件瀏覽器發(fā)送加密數(shù)據(jù)到TPM的文件處理器。TPM的文件處理器通過解密算法和使用當前PCR內(nèi)存儲的數(shù)值解封的對稱密鑰EKa解密收到的加密數(shù)據(jù)。最后,解密后的數(shù)據(jù)返回到文件瀏覽器并存在移動設備本地存儲的預定路徑中。
      [0060]綜上所述,本發(fā)明一種應用于移動設備云存儲的可信數(shù)據(jù)存取控制方法,它包括用戶注冊與登錄、密鑰生成與數(shù)據(jù)加密上傳、數(shù)據(jù)下載與解密三個階段共6個步驟:步驟1:注冊用戶ID和密碼;步驟2:帶驗證的登錄過程;步驟3:加密密鑰生成;步驟4:用戶數(shù)據(jù)加密上傳;步驟5:多個移動設備間密鑰共享;步驟6:移動設備B下載移動設備A上傳到云端的數(shù)據(jù)并解密。本發(fā)明中用戶采用移動TPM芯片來保證密鑰交換過程中信任鏈的傳遞,采用基于橢圓曲線的加密來降低密鑰長度,并且保證多個移動設備間能夠安全地共享密鑰,置信度高,安全可靠。它在云存儲安全【技術領域】里具有較好的實用價值和廣闊的應用前景。
      【權利要求】
      1.一種應用于移動設備云存儲的可信存取控制方法,其特征在于:該方法包括用戶注冊與登錄、密鑰生成與數(shù)據(jù)加密上傳、數(shù)據(jù)下載與解密三個階段共6個步驟: 階段1:用戶注冊與登錄:包括步驟I~2,在移動設備開機過程中,TPM中的認證組件會測量移動設備操作系統(tǒng)引導裝載程序以及操作系統(tǒng)鏡像的完整性,基于以上測量結果和PCR之前記錄結果的哈希值得到移動設備當前的PCR內(nèi)存儲的數(shù)值,即PCRn-Hash(PCRn-1 Measurement^ ,客戶端的注冊和登錄過程會使用這些PCR內(nèi)存儲的數(shù)值,并通過TB-CLOUD服務器的認證服務來驗證客戶端系統(tǒng)是否處于安全狀態(tài); 步驟1:用戶注冊:初次使用時,一個用戶需要通過客戶端注冊自己的用戶名和密碼,當輸入用戶名和密碼后,客戶端的注冊組件會從TPM中讀取移動設備當前的PCR內(nèi)存儲的數(shù)值,并將用戶名和密碼以及PCR內(nèi)存儲的數(shù)值一起發(fā)送到TB-CLOUD服務器的注冊服務處,TB-CLOUD服務器會將收到的數(shù)據(jù)保存入數(shù)據(jù)庫,以待用戶下一次登錄時驗證使用;步驟2:帶認證過程的用戶登錄:一個用戶需要在客戶端輸入用戶名和密碼來執(zhí)行登錄操作,首先,一個安全進程建立在TB-CLOUD服務器認證服務和客戶端認證組件之間,當用戶發(fā)送包含用戶名和密碼的登錄請求時,TB-CLOUD服務器判斷用戶名和密碼是否有效,如果有效則由TB-CLOUD服務器端的認證服務創(chuàng)建返回一個新鮮的隨機數(shù)R給客戶端的認證組件;客戶端的認證組件使用這個隨機值R以及設備當前的PCR內(nèi)存儲的數(shù)值,創(chuàng)建認證請求;當收到客戶端的認證請求時,服務器端認證服務通過比較收到的和存儲在數(shù)據(jù)庫內(nèi)的兩個PCR內(nèi)存儲的數(shù)值來驗證客戶端環(huán)境;如果PCR內(nèi)存儲的數(shù)值一致,那么客戶端會從TB-CLOUD服務器收到包含認證值H和隨機數(shù)R的認證通過信息;認證通過后,客戶端認證組件會將認證值H存儲到到PCR內(nèi);如果PCR內(nèi)存儲的數(shù)值不一致,則認證失敗,客戶端會收到代表拒絕服務的認證失敗信息;認證過程通過后,客戶端準備生成一個加密密鑰來加密待上傳的數(shù)據(jù); 階段2:密鑰生成與數(shù)據(jù)加密上傳:包括步驟3~4,客戶端的待上傳數(shù)據(jù)需要加密,因此客戶端的認證組件會通過一個密鑰生成協(xié)議來生成一個密鑰對上傳數(shù)據(jù)進行加密后再行上傳;認證組件發(fā)送一個密鑰生成請求到TB-CLOUD服務器,TB-CLOUD服務器更新用戶的目前狀態(tài),用戶通過TPM中的密鑰生成器生成對稱密鑰EKa,用于用戶數(shù)據(jù)的加密和解密,當采用對稱加密的方法時,加密和解密使用的是同一把密鑰; 步驟3:密鑰生成:當需要生成數(shù)據(jù)加密密鑰時,客戶端密鑰管理組件向TB-CLOUD服務器的認證服務發(fā)送一個密鑰創(chuàng)建請求,TB-CLOUD服務器的認證服務向客戶端的TPM發(fā)送一個密鑰創(chuàng)建確認,由客戶端的TPM中的密鑰生成器生成對稱密鑰EKa作為數(shù)據(jù)加解密密鑰;該對稱密鑰EKa在不使用時應被封裝存儲在 客戶端TPM的永久存儲器中;客戶端密鑰管理組件要求TPM使用現(xiàn)有包含認證值H的PCR內(nèi)存儲的數(shù)值封裝對稱密鑰EKa ;之后,當TB-CLOUD服務器要求密鑰加密或解密數(shù)據(jù)塊時,認證處理器將通過解封過程解封對稱密鑰EKa,如果認證處理器解封裝失敗,則客戶端不能獲取解密密鑰,沒有人接入到用戶數(shù)據(jù);步驟4:數(shù)據(jù)加密上傳:當一個用戶復制本地數(shù)據(jù)到云存儲服務器時,客戶端中TPM之外的文件瀏覽器首先在TPM的文件處理器中建立加密進程并執(zhí)行加密操作,文件瀏覽器在加密完成后與TB-CLOUD服務器的存儲管理器之間建立上傳會話,然后文件瀏覽器發(fā)送帶有文件名的加密數(shù)據(jù);TB-CL0UD服務器的云存儲管理器選擇云存儲服務器存儲收到的加密數(shù)據(jù)并更新相關的數(shù)據(jù)存儲信息;階段3:密鑰共享與數(shù)據(jù)下載解密:包括步驟5~6,一個用戶可能會有多個移動設備,所以應用場景如下:用戶現(xiàn)在使用移動設備A為其云存儲數(shù)據(jù)創(chuàng)建賬戶以及對稱密鑰EKa,并且上傳的數(shù)據(jù)使用對稱密鑰EKa加密;如果他想要使用移動設備B來下載數(shù)據(jù),那么他必須讓設備B擁有對稱密鑰EKa來解密數(shù)據(jù); 步驟5:密鑰共享:為了解決密鑰多設備密鑰共享的難題,TB-CLOUD服務器提供了一種密鑰共享協(xié)議JB-CLOUD服務器的密鑰分配器,用于在源客戶端(即設備A)密鑰管理組件和目標客戶端(即設備B)密鑰管理組件之間協(xié)調密鑰;
      第一階段通過TB-CLOUD服務器密鑰分配器在兩個客戶端設備間交換設備B的公鑰Kb ;當設備A收到KB,設備A解封密封數(shù)據(jù)中的加密密鑰以取得EKa并用Kb對EKb加密,加密數(shù)據(jù)密鑰將存儲在TB-CLOUD服務器的數(shù)據(jù)庫中; 下一步認證目標設備B ;如果認證成功,TB-CLOUD服務器的密鑰分配器將(5?}?傳輸給設備B,設備B使用自己的私鑰Pb解密得到對稱密鑰EKa,然后使用當前設備的PCR內(nèi)存儲的數(shù)值對稱密封EKa并存入TPM的永久存儲器中; 步驟6:數(shù)據(jù)下載與解密:當設備B得到對稱密鑰EKa后,即能從云存儲服務器下載并解密設備A存儲的加密數(shù)據(jù);當一個用戶用文件瀏覽器登錄TB-CLOUD服務器的云存儲管理器查看自己存儲的數(shù)據(jù)并準備復制數(shù)據(jù)到本地存儲時,就相當于在文件瀏覽器和TB-CLOUD服務器之間建立了一個下載進程;之后文件瀏覽器發(fā)送附帶文件名的下載請求到TB-CLOUD服務器,TB-CLOUD服務器根據(jù)文件名,在云存儲服務器中搜尋文件,并將下載請求推送給云存儲服務器,然后云存儲服務器將用戶數(shù)據(jù)的地址經(jīng)過TB-CLOUD服務器的云存儲管理器傳送到客戶端的文件瀏覽器;客戶端的文件瀏覽器獲得地址后接入存儲在云存儲服務器的數(shù)據(jù)并執(zhí)行下載過程,下載后的加密數(shù)據(jù)需要傳送到客戶端的TPM內(nèi)進行解密處理才得到原始的數(shù)據(jù);首先,文件瀏覽器通過與TPM的文件處理器建立數(shù)據(jù)解密會話,收到會話建立命令后,TPM的文件處理器初始化解密處理器并返回確認到文件瀏覽器;從而,文件瀏覽器發(fā)送加密數(shù)據(jù)到TPM的文件處理器,TPM的文件處理器通過解密算法和使用當前PCR內(nèi)存儲的數(shù)值解封的對稱密鑰EKa解密收到的加密數(shù)據(jù),最后,解密后的數(shù)據(jù)返回到文件瀏覽器并存在設備B的本地存儲中。
      2.根據(jù)權利要求1所述的一種應用于移動設備云存儲的可信存取控制方法,其特征在于:在步驟3中所述的“EKA”是一個對稱密鑰,采用對稱加密時,加密和解密采用的是同一把密鑰。
      3.根據(jù)權利要求1所述的一種應用于移動設備云存儲的可信存取控制方法,其特征在于:在步驟4中所述的“文件瀏覽器”是客戶端非TPM中的一個上傳于下載組件,主要用于客戶端與TB-CLOUD服務器之間創(chuàng)建進程使用;在步驟4中所述的“文件處理器”是TPM中的一個用于數(shù)據(jù)加密和解密的組件。
      4.根據(jù)權利要求1所述的一種應用于移動設備云存儲的可信存取控制方法,其特征在于:在步驟5中所述的“KB”和“PB”是設備B的一對非對稱密鑰,前者是公鑰,后者是私鑰,用公鑰加密的數(shù)據(jù)用私鑰進行解密,設備B的公鑰是能公開的,但是私鑰只有設備B才擁有,因此,只有設備B才能解開使用設備B的公鑰加密的數(shù)據(jù)。
      【文檔編號】H04L29/08GK103763315SQ201410015994
      【公開日】2014年4月30日 申請日期:2014年1月14日 優(yōu)先權日:2014年1月14日
      【發(fā)明者】劉建偉, 童丹, 艾倩穎, 王志學 申請人:北京航空航天大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1