一種改進(jìn)的加密/解密內(nèi)容和分發(fā)加密內(nèi)容的方法和裝置的制造方法
【專利說明】-種改進(jìn)的加密/解密內(nèi)容和分發(fā)加密內(nèi)容的方法和裝置 【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及內(nèi)容加密技術(shù)。更具體地,本發(fā)明涉及使用雙向哈希鏈(dualhash chains)和代理重加密(proxyre-encryption)的加密技術(shù),用于共享加密內(nèi)容的技術(shù)。 【【背景技術(shù)】】
[0002] 內(nèi)容加密技術(shù)已廣泛用于內(nèi)容創(chuàng)建者和內(nèi)容消費(fèi)者之間的內(nèi)容安全存儲和分發(fā) 或共享。隨著加密的應(yīng)用不斷增長,各種加密技術(shù)的復(fù)雜性也增加了,因此加密和/或解密 內(nèi)容所需的計(jì)算資源也增加了,加密和/或解密內(nèi)容的計(jì)算成本也增加了。此外,當(dāng)由內(nèi)容 創(chuàng)建者加密的內(nèi)容被分發(fā)給內(nèi)容消費(fèi)者或與內(nèi)容消費(fèi)者共享時(shí),必須提供內(nèi)容密鑰給內(nèi)容 消費(fèi)者,其中該內(nèi)容密鑰允許內(nèi)容消費(fèi)者對內(nèi)容進(jìn)行解密。但是,與內(nèi)容消費(fèi)者分享內(nèi)容密 鑰會增加該內(nèi)容消費(fèi)者能夠解密由內(nèi)容創(chuàng)作者已加密的其他內(nèi)容的可能性,或者會允許該 內(nèi)容消費(fèi)者能訪問內(nèi)容創(chuàng)建者不想該內(nèi)容消費(fèi)者看到的內(nèi)容。此外,當(dāng)加密的內(nèi)容存儲在 網(wǎng)絡(luò)環(huán)境中,如在網(wǎng)絡(luò)服務(wù)器或云服務(wù)器上,在提供該內(nèi)容給內(nèi)容消費(fèi)者之前,內(nèi)容提供者 需要取回該內(nèi)容并重新加密。 【
【發(fā)明內(nèi)容】
】
[0003] 本發(fā)明公開了一種改進(jìn)的加密/解密內(nèi)容和分發(fā)加密內(nèi)容的系統(tǒng)、方法、裝置和 計(jì)算機(jī)可讀存儲介質(zhì)。在一個(gè)實(shí)施例中,該系統(tǒng)、方法、裝置和計(jì)算機(jī)可讀存儲介質(zhì)使用 雙向哈希鏈技術(shù)生成內(nèi)容密鑰用于加密內(nèi)容,其中第一設(shè)備(如與內(nèi)容創(chuàng)建者相關(guān)聯(lián)的設(shè) 備)維護(hù)第一哈希鏈(如前向哈希鏈),第二設(shè)備(如存儲加密內(nèi)容的設(shè)備)維護(hù)第二哈希 鏈(如反向哈希鏈)。雙向哈希鏈?zhǔn)歉鶕?jù)由第一設(shè)備生成的哈希鏈種子(如前向哈希鏈種 子和反向哈希鏈種子)而產(chǎn)生,內(nèi)容密鑰是根據(jù)成對的哈希鏈值產(chǎn)生,其中每一對哈希鏈 值包括通過散列(hashing)所述前向哈希鏈而得到的前向哈希鏈值和通過散列所述反向 哈希鏈而得到的反向哈希鏈值。因此,實(shí)施例的雙向哈希鏈技術(shù)可提供一種密鑰演進(jìn)技術(shù), 其中用于加密內(nèi)容的內(nèi)容密鑰隨時(shí)間演變或變化。另外,因?yàn)榈诙O(shè)備僅有權(quán)得到反向哈 希鏈種子,所述第二設(shè)備無法生成內(nèi)容密鑰用于加密/解密已被第一設(shè)備加密的內(nèi)容。因 此,如果第二設(shè)備被損害,存儲在第二設(shè)備上的由第一設(shè)備加密的內(nèi)容可以保持安全。
[0004] 此外,該系統(tǒng)、方法、裝置和計(jì)算機(jī)可讀存儲介質(zhì)可以使用一個(gè)代理重加密(PRE) 技術(shù)來授權(quán)給內(nèi)容消費(fèi)者訪問加密內(nèi)容。例如,當(dāng)?shù)谌O(shè)備(如與內(nèi)容消費(fèi)者相關(guān)聯(lián)的設(shè) 備)請求訪問已被第一設(shè)備加密的內(nèi)容,第一設(shè)備可以使用PRE生成重加密密鑰,用于重新 加密所請求的內(nèi)容,使得第三設(shè)備可以解密該內(nèi)容,而不需要提供一個(gè)與第一設(shè)備有關(guān)的 私鑰給第二設(shè)備和/或第三設(shè)備。此外,該系統(tǒng)、方法、裝置和計(jì)算機(jī)可讀存儲介質(zhì)提供一 種產(chǎn)生憑證以用于提供細(xì)粒度訪問加密內(nèi)容的技術(shù),使得第一設(shè)備可授權(quán)訪問特定的加密 內(nèi)容,而不授權(quán)訪問所有加密內(nèi)容。在一個(gè)實(shí)施例中,PRE技術(shù)的使用可以獨(dú)立于雙向哈希 鏈技術(shù)。在其他實(shí)施例中,可以結(jié)合使用PRE技術(shù)和雙向哈希鏈技術(shù)。
[0005] 前面已經(jīng)概述了本發(fā)明的特征和技術(shù)優(yōu)點(diǎn),以下將詳細(xì)描述本發(fā)明以便更好的理 解。本發(fā)明的其他特征和優(yōu)點(diǎn)會在以下描述,并構(gòu)成本發(fā)明權(quán)利要求主題。本領(lǐng)域技術(shù)人 員應(yīng)該理解,在此披露的概念和具體實(shí)施例可以用作為改變或設(shè)計(jì)實(shí)現(xiàn)與本發(fā)明同一目的 的其他結(jié)構(gòu)的基礎(chǔ)。本領(lǐng)域技術(shù)人員應(yīng)該認(rèn)識到這些等同結(jié)構(gòu)并不偏離由所附權(quán)利要求確 定的本發(fā)明精神和范圍。那些相信是本發(fā)明特征的新穎性特征,作為其結(jié)構(gòu)和運(yùn)行方法,以 及其他目的和優(yōu)點(diǎn),將會通過以下描述及其附圖而得到更好的理解。但是,應(yīng)當(dāng)知道,每個(gè) 附圖都僅僅是為了描述的目的,并不意在限制本發(fā)明。 【【附圖說明】】
[0006] 為了更完整地理解本發(fā)明,請參考以下描述及其附圖。
[0007] 圖1是一個(gè)實(shí)施例的對內(nèi)容進(jìn)行加密并存儲該加密內(nèi)容的系統(tǒng)的梯形圖。
[0008] 圖2是產(chǎn)生雙向哈希鏈并用于產(chǎn)生內(nèi)容密鑰以加密和解密內(nèi)容的一個(gè)說明性實(shí) 施例。
[0009] 圖3是一個(gè)實(shí)施例的初始化設(shè)備用于加密內(nèi)容的方法的流程圖。
[0010] 圖4是一個(gè)實(shí)施例的產(chǎn)生內(nèi)容密鑰用于第一設(shè)備加密內(nèi)容的方法的流程圖。
[0011] 圖5是一個(gè)實(shí)施例的對使用從前向哈希鏈和反向哈希鏈產(chǎn)生的內(nèi)容密鑰進(jìn)行加 密的內(nèi)容進(jìn)行解密的方法的流程圖。
[0012] 圖6是一個(gè)實(shí)施例的初始化哈希鏈以生成內(nèi)容密鑰進(jìn)行加密內(nèi)容的方法的流程 圖。
[0013] 圖7是一個(gè)實(shí)施例的更新反向哈希鏈值的方法的流程圖。
[0014] 圖8是一個(gè)實(shí)施例的使用預(yù)先計(jì)算的反向哈希鏈值來更新反向哈希鏈值的方法 的流程圖。
[0015] 圖9是一個(gè)說明性實(shí)施例的更新一個(gè)更新周期以產(chǎn)生反向哈希鏈值的方法的流 程圖。
[0016] 圖10顯示一個(gè)實(shí)施例的用于共享已加密內(nèi)容的系統(tǒng)的梯形圖。
[0017] 圖11是一個(gè)實(shí)施例的根據(jù)加密技術(shù)以生成加密的醫(yī)療記錄的方法的流程圖。
[0018] 圖12是一個(gè)實(shí)施例的產(chǎn)生授權(quán)憑證以訪問加密內(nèi)容的方法的流程圖。
[0019] 圖13是一個(gè)實(shí)施例的驗(yàn)證憑證并提供加密內(nèi)容的訪問授權(quán)的方法的流程圖。 【【具體實(shí)施方式】】
[0020] 圖1是一個(gè)實(shí)施例的對內(nèi)容進(jìn)行加密并存儲該加密內(nèi)容的系統(tǒng)100的梯形圖。如 圖1所不,系統(tǒng)1〇〇包括第一設(shè)備110和第二設(shè)備120。在一個(gè)實(shí)施例中,第一設(shè)備110和 第二設(shè)備120可以通過一個(gè)或多個(gè)有線和/或無線網(wǎng)絡(luò)提供的有線或無線鏈路進(jìn)行通信連 接。第一設(shè)備110可以使用代理重加密(PRE)和雙哈希鏈技術(shù)以產(chǎn)生并加密內(nèi)容,并且將加 密內(nèi)容存儲在第二設(shè)備120中,這會在下面有更詳細(xì)的描述。此外,第一設(shè)備110還可以驗(yàn) 證來自其它設(shè)備(圖1中未示出)的要求訪問存儲在第二設(shè)備120上的加密內(nèi)容的請求, 并產(chǎn)生授權(quán)證書,允許另一設(shè)備細(xì)粒度訪問(finegrainedaccess)存儲在第二設(shè)備120 中的特定的加密內(nèi)容,請參考圖10-13的說明。
[0021] 在一個(gè)實(shí)施例中,第一設(shè)備110可以是個(gè)人計(jì)算設(shè)備、便攜式計(jì)算設(shè)備、平板計(jì)算 設(shè)備、智能電話、個(gè)人數(shù)字助理(PDA)設(shè)備、智能手表設(shè)備、服務(wù)器、或其他能實(shí)現(xiàn)實(shí)施例中 第一設(shè)備110功能的設(shè)備。另外,第一設(shè)備110可以包括一個(gè)或多個(gè)處理器和一個(gè)存儲器。 所述一個(gè)或多個(gè)處理器可以包括一個(gè)或多個(gè)數(shù)字信號處理器(DSP)、一個(gè)或多個(gè)中央處理 單元(CPU)、具有多個(gè)處理核的單個(gè)CPU、一個(gè)或多個(gè)專用集成電路(ASIC)、或其他形式的 能夠處理數(shù)據(jù)以實(shí)現(xiàn)實(shí)施例中第一設(shè)備110功能的電路和/或邏輯。存儲器可以包括只讀 存儲器(ROM)、隨機(jī)存取存儲器(RAM)、硬盤驅(qū)動器器(HDD)、固態(tài)驅(qū)動器(SSD)、可編程存儲 器設(shè)備(如可擦除可編程ROM (EPROM)和電可擦除可編程ROM (EEPR0M)等)、和/或能以持 久或非持久方式存儲數(shù)據(jù)的其他存儲設(shè)備。在一個(gè)實(shí)施例中,存儲器可以存儲指令,當(dāng)?shù)谝?設(shè)備110的處理器執(zhí)行該指令時(shí),會使第一設(shè)備110運(yùn)行如圖1-13所描述的與第一設(shè)備 110相關(guān)的程序。
[0022] 在一個(gè)實(shí)施例中,第二設(shè)備120可以是個(gè)人計(jì)算設(shè)備、便攜式計(jì)算設(shè)備、平板計(jì)算 設(shè)備、智能電話、個(gè)人數(shù)字助理(PDA)設(shè)備、智能手表設(shè)備、服務(wù)器、或其他能實(shí)現(xiàn)實(shí)施例中 第二設(shè)備120功能的設(shè)備。另外,第二設(shè)備120可以包括一個(gè)或多個(gè)處理器和一個(gè)存儲器。 所述一個(gè)或多個(gè)處理器可以包括一個(gè)或多個(gè)數(shù)字信號處理器(DSP)、一個(gè)或多個(gè)中央處理 單元(CPU)、具有多個(gè)處理核的單個(gè)CPU、一個(gè)或多個(gè)專用集成電路(ASIC)、或其他形式的 能夠處理數(shù)據(jù)以實(shí)現(xiàn)實(shí)施例中第二設(shè)備120功能的電路和/或邏輯。存儲器可以包括只讀 存儲器(ROM)、隨機(jī)存取存儲器(RAM)、硬盤驅(qū)動器器(HDD)、固態(tài)驅(qū)動器(SSD)、可編程存儲 器設(shè)備(如可擦除可編程ROM(EPR0M)和電可擦除可編程ROM(EEPR0M)等)、和/或能以持 久或非持久方式存儲數(shù)據(jù)的其他存儲設(shè)備。在一個(gè)實(shí)施例中,存儲器可以存儲指令,當(dāng)?shù)诙?設(shè)備120的處理器執(zhí)行該指令時(shí),會使第二設(shè)備120運(yùn)行如圖1-13所描述的與第二設(shè)備 120相關(guān)的程序。
[0023] 根據(jù)實(shí)施例,在系統(tǒng)100運(yùn)行期間,第一設(shè)備110產(chǎn)生前向種子(FwK_Seed)和反 向種子(BwK_seed),如步驟130所示。FwK_seed和BwK_seed可用于產(chǎn)生雙向哈希鏈(如一 個(gè)前向哈希鏈和一個(gè)反向哈希鏈)。雙向哈希鏈(如前向哈希鏈和反向哈希鏈)可分別用 于產(chǎn)生前向哈希鏈值和反向哈希鏈值,這些值可用于產(chǎn)生內(nèi)容密鑰,用于加密和解密內(nèi)容。
[0024] 圖2是產(chǎn)生雙向哈希鏈并用于產(chǎn)生內(nèi)容密鑰以加密和解密內(nèi)容的一個(gè)說明性實(shí) 施例。如圖2所示,有一個(gè)初始值(FWIO210的前向哈希鏈和有一個(gè)初始反向哈希鏈值 (Bwig 222的反向哈希鏈。