欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

混合密碼密鑰導(dǎo)出的制作方法

文檔序號:11532269閱讀:348來源:國知局
混合密碼密鑰導(dǎo)出的制造方法與工藝



背景技術(shù):

密碼密鑰導(dǎo)出是用于通常利用一個或多個密鑰導(dǎo)出函數(shù)(kdf)而生成一個或多個具體密鑰的過程。存在對稱密鑰導(dǎo)出功能,其中一個密碼密鑰被生成并且被用來對數(shù)據(jù)進(jìn)行加密和解密。還存在非對稱密鑰導(dǎo)出函數(shù),例如rsa和ecc,其中生成兩個密碼密鑰,即密碼密鑰對:第一個,被用來對數(shù)據(jù)進(jìn)行加密的公鑰,以及第二個,被用來對先前加密的數(shù)據(jù)進(jìn)行解密的私鑰。

現(xiàn)有這樣的應(yīng)用編程接口(api),即編程指令集合,其在計算設(shè)備的一些安全情境中被采用并且作為kdf執(zhí)行以提供生成非對稱密碼密鑰對的功能或者以其它方式對該功能進(jìn)行支持。在這些安全情境中,輸入并未被加以利用或者以其它方式與密碼密鑰對的生成相關(guān)聯(lián),并且在隨后執(zhí)行相同kdf時,無論是否引入相同的輸入,都并不存在將會再現(xiàn)或重新生成相同密鑰對的信心或期望。由于這些kdf在這些安全情境中的隱含隨機性的性質(zhì),即使嘗試以相同的初始(例如種子值)(多個)輸入?yún)?shù)來啟動,它們也將在后續(xù)執(zhí)行時生成不同的密鑰結(jié)果。

另外還存在這樣的api,其在一些其它安全情境中被采用,并且作為kdf執(zhí)行以提供從系統(tǒng)熵直接生成一個或多個密碼密鑰(本文也簡稱為密鑰)的功能或者以其它方式對該功能進(jìn)行支持,上述系統(tǒng)熵即種子值,其是為系統(tǒng)使用而生成的隨機或偽隨機數(shù)。在這些安全情境中,(多個)相同密鑰可以利用相同的系統(tǒng)熵而被反復(fù)可靠地再現(xiàn)或重新生成。在這些其它安全情境的至少一些中,相同的密鑰被期望且有信心得以被再現(xiàn),以便系統(tǒng)加密正確地工作。



技術(shù)實現(xiàn)要素:

提供該發(fā)明內(nèi)容而以簡化形式對下文在具體實施方式中進(jìn)一步進(jìn)行描述的概念的選擇進(jìn)行介紹。該發(fā)明內(nèi)容并非意在標(biāo)識所請求保護(hù)主題的關(guān)鍵特征或必要特征,其也并非意在幫助確定所請求保護(hù)主題的范圍。

本文所討論的實施例包括用于維護(hù)混合安全情境的系統(tǒng)和方法,其中隨機生成的密碼密鑰與系統(tǒng)熵值相關(guān)聯(lián)并由系統(tǒng)熵值所保護(hù)。本文所討論的實施例包括用于實現(xiàn)混合安全情境的系統(tǒng)和方法,該混合安全情境具有可靠地再現(xiàn)用于在加密和解密數(shù)據(jù)時使用的密碼密鑰的能力。本文所討論的實施例進(jìn)一步包括用于保護(hù)混合安全情境內(nèi)的系統(tǒng)熵和密碼密鑰值的系統(tǒng)和方法。

附圖說明

現(xiàn)在將參考意在進(jìn)行說明而非限制的某些實施例和示例的圖對這些和其它特征進(jìn)行描述,其中:

圖1利用支持密碼密鑰導(dǎo)出的混合安全情境實施例描繪了計算設(shè)備實施例。

圖2描繪了用于混合密碼密鑰導(dǎo)出的頂級邏輯流程實施例。

圖3利用支持密碼密鑰導(dǎo)出和保護(hù)的安全情境實施例描繪了計算設(shè)備實施例。

圖4描繪了用于在混合安全情境實施例內(nèi)生成并保護(hù)與種子值相關(guān)聯(lián)的密鑰對的邏輯流程實施例。

圖5描繪了支持用于生成一個或多個密碼密鑰的誘餌密鑰對的方法實施例的混合安全情境實施例。

圖6描繪了用于生成誘餌密鑰對的邏輯流程實施例。

圖7描繪了支持利用(多個)對稱/非對稱密碼密鑰的示例性數(shù)據(jù)加密和數(shù)據(jù)解密的混合安全情境實施例。

圖8a-8b描繪了用于識別先前所生成的(多個)密碼密鑰并且重構(gòu)該(多個)密碼密鑰,生成(多個)密碼密鑰并且提供該(多個)密碼密鑰與種子值的受保護(hù)關(guān)聯(lián),并且利用(多個)對稱/非對稱密碼密鑰對數(shù)據(jù)進(jìn)行加密和解密的邏輯流程實施例。

圖9描繪了混合安全情境和(多個)對稱/非對稱密碼密鑰能夠在其上實施和/或從其得到命令的示例性計算設(shè)備的框圖。

具體實施方式

在下面的描述中,出于解釋的目的而提出了許多具體細(xì)節(jié)以便提供對本文所描述實施例的透徹理解。然而,對于本領(lǐng)域技術(shù)人員顯而易見的是,實施例可以在沒有這些具體細(xì)節(jié)的情況下進(jìn)行實踐。在其它情況下,公知的結(jié)構(gòu)和設(shè)備或者被簡單地引用或者以框圖形式示出,以便避免不必要的混淆。自始至終所使用的任何和所有標(biāo)題都僅是為了便于解釋,而不是用于任何限制用途。

在一個實施例中,不受所輸入的隨機或偽隨機數(shù)(本文也稱為種子值)影響的隨機密鑰生成函數(shù)被利用以實現(xiàn)對稱/非對稱密鑰導(dǎo)出功能,其可以表面上以可再現(xiàn)的方式從相同輸入生成相同的密碼密鑰(本文也稱為密鑰)。在一個實施例中,密鑰生成函數(shù)(本文也稱為kdf)將種子值與一個或多個密碼密鑰相關(guān)聯(lián)以支持在不依賴于具體輸入而生成密碼密鑰的環(huán)境中利用該種子值的功能。

參考圖1,一個或多個計算設(shè)備100(本文被統(tǒng)稱為計算設(shè)備100)托管用于密碼密鑰導(dǎo)出和使用的系統(tǒng)和方法實施例。在實施例中,計算設(shè)備100是如下文參考圖9進(jìn)一步討論的能夠進(jìn)行計算的任意設(shè)備或設(shè)備的系統(tǒng),即計算設(shè)備系統(tǒng),其包括但不限于計算機、計算機網(wǎng)絡(luò)、電子筆記本、膝上計算機、上網(wǎng)本,諸如但不限于蜂窩電話、蜂窩電話網(wǎng)絡(luò)、可穿戴計算設(shè)備等的移動計算設(shè)備。在實施例中,能夠支持本文所討論的系統(tǒng)和方法的任何設(shè)備或設(shè)備的系統(tǒng)都是計算設(shè)備100。

在一個實施例中,計算設(shè)備100整合了安全情境125,其利用一個或多個密碼密鑰110以便保護(hù)用戶115的數(shù)據(jù)170免受未經(jīng)授權(quán)的攻擊。因此,在一個實施例中,利用一個或多個密碼密鑰110對數(shù)據(jù)170進(jìn)行加密和解密,這使得數(shù)據(jù)170受到保護(hù)而免受在本文被統(tǒng)稱為攻擊者127的不需要和/或無保障的用戶127或?qū)嶓w(例如,其它無保障的計算設(shè)備)129的影響。在實施例中,本文所描述的用于密碼密鑰生成、維護(hù)和使用的功能被設(shè)計為保護(hù)密碼術(shù)中所涉及的相關(guān)信息免于暴露于計算設(shè)備100的安全情境125之外。

在一個實施例中,安全情境125是混合對稱/非對稱安全情境125,在本文也被稱為混合安全情境125。

在一個實施例中,在要生成密碼密鑰110時,執(zhí)行能夠?qū)С鲆粋€或多個密鑰110和/或密鑰對110的第一密鑰導(dǎo)出函數(shù)120,其在本文中也被稱為kdf-one120和密碼密鑰生成kdf120。在一個實施例中,kdf-one120在計算設(shè)備100上執(zhí)行。在替換實施例中,kdf-one120在不同的第二計算設(shè)備160上執(zhí)行,并且使得所導(dǎo)出的密鑰或密鑰對(此后統(tǒng)稱為密鑰對110)能夠被計算設(shè)備100所訪問。

在一個實施例中,kdf-one120利用非對稱算法122來生成公鑰112(在本文中也被稱為加密密碼密鑰112)和私鑰114(在本文中也被稱為解密密碼密鑰114),它們共同作為用于在數(shù)據(jù)170加密和解密中使用的密鑰對110??捎蒶df-one120使用的非對稱算法122包括但不限于rsa和ecc(ellipticcurvecryptography,橢圓曲線密碼術(shù))。

在一個實施例中,在計算設(shè)備100上生成系統(tǒng)熵105,即種子值105。在替換實施例中,種子值105在不同的第二計算設(shè)備(例如計算設(shè)備160)上生成,并且被使得能夠被計算設(shè)備100所訪問。在一個實施例中,種子值105是為系統(tǒng)使用而生成的數(shù)字,并且至少部分地被用于密碼密鑰導(dǎo)出。在一個實施例中,種子值105是隨機數(shù)。在替換實施例中,種子值105是偽隨機數(shù)。在實施例中,通過執(zhí)行隨機數(shù)生成器算法或偽隨機數(shù)生成器算法來生成或以其它方式創(chuàng)建種子值105。在一個實施例中,種子值105是在執(zhí)行預(yù)定算法或操作時所生成的瞬時值。

在實施例中,種子值105可以是任意大小。在實施例中,種子值105中的數(shù)位數(shù)量相對越大,通常給予本文所討論的密碼系統(tǒng)和方法的保護(hù)就越大。

在實施例中,安全情境125將種子值105與密碼密鑰對110相關(guān)聯(lián)。因此,在一個實施例中,安全情境125指定針對計算設(shè)備100當(dāng)前存在的種子值105與一個或多個所生成的密碼密鑰110之間的關(guān)聯(lián),盡管種子值105尚未被用于生成密鑰110。

在一個實施例中,種子值105與由kdf-one120所生成的公鑰112和私鑰114相關(guān)聯(lián)150。在一個實施例中,此后,每當(dāng)種子值105被給出并且數(shù)據(jù)170將被加密或解密時,種子值105就被用于識別要用于加密或解密的相應(yīng)密碼密鑰112或114。在一個實施例中,利用搜索或查找機制來識別種子值105的(多個)相關(guān)密鑰110。

圖2圖示了用于在圖1的混合安全情境125實施例內(nèi)工作的邏輯流程實施例。其中種子值105與kdf(例如kdf-one120)的輸出(即(多個)密鑰110)相關(guān)聯(lián)150。在一個實施例中,kdf(例如kdf-one120)在其每次執(zhí)行時隨機生成一個或多個密鑰110,即kdf每次被執(zhí)行時,其都將生成(多個)新的密鑰,而并不考慮或并不關(guān)聯(lián)之前所生成的任何(多個)先前密鑰。

雖然以下的討論是關(guān)于本文描繪的系統(tǒng)而進(jìn)行,但是所描述的操作可以在其它系統(tǒng)中實施。本文所描述的操作并不局限于所示出的順序。此外,在其它替換實施例中,可以執(zhí)行更多或更少的操作。

參考圖2,在一個實施例中,當(dāng)數(shù)據(jù)要被加密或解密時,邏輯流程開始200。在一個實施例中,獲得種子值,或者替換地生成種子值210。在一個實施例中,在判定框220,確定該種子值是否與一個或多個密鑰相關(guān)聯(lián)。因此,在一個實施例中,確定220一個或多個密碼密鑰是否已經(jīng)被生成并且與種子值相關(guān)聯(lián)。如果是,則識別270之前所生成的(多個)密鑰,并且該處理結(jié)束260。

然而,如果在判定框220確定種子值當(dāng)前并未與(多個)密碼密鑰相關(guān)聯(lián),則在一個實施例中,執(zhí)行kdf以生成一個或多個密碼密鑰230。在一個實施例中,執(zhí)行圖1的kdf-one120。在一個實施例中,kdf-one120的執(zhí)行導(dǎo)致密鑰對110中的公鑰112和私鑰114被生成。

在一個實施例中,種子值與所生成的(多個)密鑰相關(guān)聯(lián)240。在一個實施例中,留存250種子值和所生成的(多個)密鑰之間的關(guān)聯(lián),并且該處理結(jié)束260。

在一個實施例中,如從圖2所看到的,(多個)密碼密鑰110在新的種子值105被引入計算系統(tǒng)100或以其它方式由計算系統(tǒng)100所產(chǎn)生時被生成一次,并且隨后種子值105與之前所生成的(多個)密鑰110相關(guān)聯(lián)。

在計算系統(tǒng)100和混合安全情境125實施例中,種子值105和所生成的密鑰對110以及它們的關(guān)聯(lián)得到保護(hù)。在圖1中,描述了安全情境125的頂級圖示以解釋種子值105和一個或多個所生成的密碼密鑰110(即,統(tǒng)稱為密鑰對110)的關(guān)聯(lián)。參考圖3,更為詳細(xì)地描述了計算系統(tǒng)100和安全情境125以解釋種子值105和所生成的密鑰對110的保護(hù)實施例。

參考圖3,在一個實施例中,第二密鑰導(dǎo)出函數(shù)kdf-two310被以種子值105和由kdf-one120所導(dǎo)出的至少一個密鑰110作為kdf-two310的輸入而執(zhí)行,kdf-two310在本文也稱為密碼封裝kdf310。在一個實施例中,kdf-two310被以種子值105和私鑰114作為kdf-two310的輸入而執(zhí)行,并且由此生成二進(jìn)制大對象(blob,binarylargeobject),即二進(jìn)制大對象335。在一個實施例中,kdf-two310也被以種子值105和公鑰112作為kdf-two310的輸入而執(zhí)行,并且由此生成第二二進(jìn)制大對象345,即第二個二進(jìn)制的大型對象。在替換實施例中,kdf-two310被以種子值105、公鑰112和私鑰114作為kdf-two310同時的輸入而執(zhí)行,并且由此生成一個二進(jìn)制大對象,例如二進(jìn)制大對象335。

在一個實施例中,kdf-two310在計算設(shè)備100上執(zhí)行。在替換實施例中,kdf-two310在例如計算設(shè)備160的替換計算設(shè)備上執(zhí)行,并且所輸出二進(jìn)制大對象335以及所輸出二進(jìn)制大對象345(其在該實施例中被生成的情況下)隨后被使得對于計算設(shè)備100而言是可用的。

在一個實施例中,kdf-two310利用對稱加密算法315、利用種子值105和私鑰114來生成二進(jìn)制大對象335。在一個實施例中,kdf-two310利用對稱加密算法315、利用種子值105和公鑰112生成第二二進(jìn)制大對象345。在替換實施例中,kdf-two310利用對稱加密算法315、利用種子值105、公鑰112及其相關(guān)私鑰114來生成二進(jìn)制大對象335。

在一個實施例中,在生成二進(jìn)制大對象335之后,(多個)底層密碼密鑰110就不再保存在計算設(shè)備100上,因此用戶115和攻擊者127都無法發(fā)現(xiàn)計算設(shè)備100上的(多個)底層密碼密鑰110。

在一個實施例中,在生成二進(jìn)制大對象345之后,例如公鑰112的底層密碼密鑰就不再保存在計算設(shè)備100上,因此用戶115和攻擊者127都無法發(fā)現(xiàn)計算設(shè)備100上的底層密碼密鑰110。

在替換實施例中,kdf-two310利用其它算法315來生成例如二進(jìn)制大對象的數(shù)字,該算法支持在利用相同輸入執(zhí)行kdf-two310時生成的相同的輸出數(shù)字。

在一個實施例中,種子值105通過執(zhí)行函數(shù)320而自行被修改、更改或改變,或者以其它方式被加密,并且生成在本文被稱為消化種子值325的第二值。在該實施例的一個方面,種子值105是針對單向函數(shù)320的輸入,諸如但不限于散列函數(shù)或密碼散列函數(shù),并且由此生成消化種子值325。在一個實施例中,所利用的單向函數(shù)320被設(shè)計為使得攻擊者127難以從所得到的消化種子值142重建種子值105。

在一個實施例中,種子值105在創(chuàng)建消化種子值325之后就不再被保存在計算設(shè)備100上。在替換實施例中,種子值105不能在計算系統(tǒng)100和/或計算系統(tǒng)的安全情境125之外進(jìn)行訪問。

在一個實施例中,消化種子值325與利用相同種子值105所生成的二進(jìn)制大對象335相關(guān)聯(lián),并且該二進(jìn)制大對象335被識別為其相關(guān)二進(jìn)制大對象335。在生成第二二進(jìn)制大對象345的實施例中,消化種子值325與利用相同的種子值105生成的第二二進(jìn)制大對象345相關(guān)聯(lián),并且該第二二進(jìn)制大對象345被識別為其相關(guān)的第二二進(jìn)制大對象345。

在一個實施例中,消化種子值325及其相關(guān)二進(jìn)制大對象335被作為關(guān)聯(lián)數(shù)據(jù)360存儲在儲存容器350中,其在本文也被稱為高速緩存350。在生成第二二進(jìn)制大對象345的實施例中,消化種子值325、其相關(guān)二進(jìn)制大對象335及其相關(guān)的第二二進(jìn)制大對象345被作為關(guān)聯(lián)數(shù)據(jù)360存儲在高速緩存350中。

在一個實施例中,高速緩存350被托管在計算設(shè)備100上。在另一個實施例中,高速緩存350可以被托管在計算設(shè)備100所能夠訪問的另一個計算設(shè)備160上。

在一個實施例中,高速緩存350的格式是包含相關(guān)的所存儲的消化種子值354、所存儲的二進(jìn)制大對象356以及(如果在實施例中生成的話)所存儲的第二二進(jìn)制大對象358的條目352的表格。所存儲的二進(jìn)制大對象356是相關(guān)二進(jìn)制大對象335,所存儲的第二二進(jìn)制大對象358是相關(guān)的第二二進(jìn)制大對象345。在該實施例的一個方面,該表格是查找表。

在替換實施例中,高速緩存350的格式是其它數(shù)據(jù)庫格式,其支持對所存儲的消化種子值354和所存儲的相關(guān)二進(jìn)制大對象356的條目352的保存,并且在生成相關(guān)的第二二進(jìn)制大對象345的實施例中存儲相關(guān)的第二二進(jìn)制大對象358,其包括但并不局限于鏈表。

在一個實施例中,消化種子值325、相關(guān)二進(jìn)制大對象335和第二相關(guān)二進(jìn)制大對象345的生成和存儲對種子值105、相關(guān)聯(lián)的公鑰112和相關(guān)聯(lián)的私鑰114進(jìn)行保護(hù)以免在計算設(shè)備100的安全情境125之外以及計算設(shè)備100本身之外暴露。

在一個實施例中,從相同種子值105但在在兩個單獨的安全情境125中(例如,在例如計算設(shè)備100和計算設(shè)備160的兩個單獨計算設(shè)備上)所生成的消化種子值325在這兩個單獨的安全情境125中通常將會是不同的數(shù)字。這是由于經(jīng)由在唯一計算設(shè)備100或160上執(zhí)行的單向函數(shù)320的執(zhí)行在任何特定計算設(shè)備100或160上都隨機生成消化種子值325。因此,在一個實施例中,通過以種子值105作為輸入在計算設(shè)備100上執(zhí)行單向函數(shù)320而生成的消化種子值325將在每次生成消化種子值325時具有結(jié)果(resultant)相同的值。在該實施例中,通過利用相同種子值105作為輸入但是在不同的第二計算設(shè)備160上執(zhí)行單向函數(shù)320所生成的消化種子值325通常將具有與在計算設(shè)備100上生成的消化種子值325的值有所不同的值。

因此,在一個實施例中,計算設(shè)備100和160均有權(quán)訪問相同計算設(shè)備100或160上的單向函數(shù)320的執(zhí)行以及高速緩存350。例如,在一個實施例中,如本文關(guān)于例如數(shù)據(jù)170的解密所描述的,當(dāng)單向函數(shù)320在計算設(shè)備100上執(zhí)行并且高速緩存350被托管在計算設(shè)備100上,以及用戶115利用計算設(shè)備100和計算設(shè)備160對數(shù)據(jù)170進(jìn)行加密和/或解密時,計算設(shè)備160被提供以針對計算設(shè)備100的訪問,以便執(zhí)行單向函數(shù)320并訪問高速緩存350。

圖4圖示了用于生成并保護(hù)與圖1和3的安全情境125實施例內(nèi)的種子值105相關(guān)聯(lián)的密鑰對110的邏輯流程實施例。

雖然關(guān)于本文所描繪的系統(tǒng)進(jìn)行以下討論,但是所描述的操作可以在其它系統(tǒng)中實施。本文所描述的操作不局限于所示出的順序。另外,在其它替換實施例中,可以執(zhí)行更多或更少的操作。

參考圖4,在一個實施例中,當(dāng)要產(chǎn)生和/或利用(多個)密碼密鑰時,該邏輯流程開始400。在一個實施例中,獲得或生成種子值405。在一個實施例中,在判定框410處,確定該種子值是否與一個或多個密鑰相關(guān)聯(lián)。因此,在一個實施例中,確定410一個或多個密碼密鑰是否已經(jīng)被生成并且與種子值相關(guān)聯(lián)。如果是,則在本文參考圖8a-8b所描述的處理中識別415之前所生成的(多個)密鑰,并且參考圖4所描述的處理結(jié)束420。

然而,如果在判定框410處確定種子值當(dāng)前并未與(多個)密碼密鑰相關(guān)聯(lián),則在一個實施例中,執(zhí)行kdf以生成一個或多個密碼密鑰425。在一個實施例中,執(zhí)行圖3的kdf-one120。在一個實施例中,kdf-one120的執(zhí)行導(dǎo)致密鑰對110中的公鑰112和私鑰114被生成。

在一個實施例中,執(zhí)行第二kdf以生成一個或多個二進(jìn)制大對象430。在一個實施例中,執(zhí)行圖3的kdf-two310。如關(guān)于圖3所討論的,在一個實施例中,kdf-two310被以種子值105和密鑰對110的私鑰114作為輸入,以及以二進(jìn)制大對象(binarylargeobject,二進(jìn)制大型對象)335作為輸出而執(zhí)行。在一個實施例中,kdf-two310也被以種子值105和密鑰對110的公鑰112作為輸入以及以第二二進(jìn)制大對象345作為輸出而執(zhí)行。在替換實施例中,kdf-two310被以種子值105、密鑰對110的私鑰114和公鑰112同時作為輸入以及以二進(jìn)制大對象325作為輸出而執(zhí)行。因此,在一個實施例中,種子值與所生成的(多個)密鑰相關(guān)聯(lián)430。

在一個實施例中,在生成(多個)二進(jìn)制大對象之后,底層的(多個)密碼密鑰就不再保存在計算設(shè)備上,或者以其它方式而無法在計算設(shè)備的安全情境之外和/或計算設(shè)備之外進(jìn)行訪問435。

在一個實施例中,種子值通過函數(shù)的執(zhí)行而自行被修改、更改或改變,或者以其它方式被加密,并且生成在本文被稱為消化種子值的第二值440。在該實施例的一個方面并且參考圖3,種子值105是針對單向函數(shù)320的輸入,并且由此生成消化種子值325。

在一個實施例中,在生成消化種子值之后種子值就不再被保存在計算設(shè)備上,或者以其它方式無法在計算系統(tǒng)的安全情境之外和/或計算系統(tǒng)之外進(jìn)行訪問445。

在一個實施例中,該消化種子值、二進(jìn)制大對象以及(在其被生成時的)第二二進(jìn)制大對象相關(guān)聯(lián)為關(guān)聯(lián)數(shù)據(jù)450。

在一個實施例中,該關(guān)聯(lián)數(shù)據(jù)被存儲或以其它方式留存在例如高速緩存的數(shù)據(jù)儲存器中455,并且該處理結(jié)束420。

再次參考圖3,在一個實施例中,為了提高針對高速緩存350的潛在攻擊的難度,計算設(shè)備100創(chuàng)建數(shù)個(例如一(1)、一百(100)等)誘餌數(shù)據(jù)集合370,它們隨后在多個條目352中被存儲在高速緩存350中。增加高速緩存350中的條目352的數(shù)量使得攻擊者127更加難以嘗試識別存儲的消化種子值354和所存儲的(多個)密鑰二進(jìn)制大對象356,以及(在被生成和存儲時的)358的有效關(guān)聯(lián)數(shù)據(jù)360。

在一個實施例中,誘餌數(shù)據(jù)集合370是誘餌,即無效和/或未使用的消化種子值、誘餌二進(jìn)制大對象,以及在生成第二二進(jìn)制大對象345的實施例中,是誘餌第二二進(jìn)制大對象。在一個實施例中,誘餌消化種子值作為所存儲的消化種子值354而被存儲在高速緩存350的條目352中。在一個實施例中,誘餌二進(jìn)制大對象作為所存儲的二進(jìn)制大對象356而被存儲在高速緩存350中的相同條目352中,作為誘餌數(shù)據(jù)集合370的誘餌消化種子值。在一個實施例中,誘餌第二二進(jìn)制大對象作為所存儲的第二二進(jìn)制大對象358而被存儲在高速緩存350的與誘餌數(shù)據(jù)集合370的誘餌消化種子值和誘餌二進(jìn)制大對象相同的條目352中。

在一個實施例中,生成的誘餌數(shù)據(jù)集合370的數(shù)目可以是允許創(chuàng)建和存儲誘餌數(shù)據(jù)集合370但是并不會導(dǎo)致高速緩存350被以使得高速緩存350變滿而沒有更多的空間用于任何更多條目352的方式而填充的任意量。如果在創(chuàng)建多個誘餌數(shù)據(jù)集合370之后沒有用于任何額外條目352的空間,則在高速緩存350中將沒有空間用于隨后可能創(chuàng)建的任何額外的有效關(guān)聯(lián)數(shù)據(jù)360。另外,在一個實施例中,充滿的高速緩存350可能變得比其條目352并未被完全填滿的高速緩存350更容易受到攻擊者127攻擊。

在一個實施例中,通過采用隨機數(shù)和/或偽隨機數(shù)生成器算法360來創(chuàng)建誘餌消化種子值、誘餌二進(jìn)制大對象,以及在多個實施例中的誘餌第二二進(jìn)制大對象從而生成誘餌數(shù)據(jù)集合370。在一個實施例中,計算設(shè)備100生成(多個)誘餌數(shù)據(jù)集合370,并且將其存儲為關(guān)聯(lián)數(shù)據(jù)360。在替換實施例中,(多個)誘餌數(shù)據(jù)集合370由第二計算設(shè)備(例如計算設(shè)備160)所生成,并且隨后被使得能夠由計算設(shè)備100所訪問。

在替換實施例中,以與如關(guān)于圖3所描述的有效關(guān)聯(lián)數(shù)據(jù)360相同的基本方式生成誘餌數(shù)據(jù)集合370。參考圖5,在該替換實施例中,kdf-one120被執(zhí)行以生成一個或多個密鑰的誘餌(即無效和/或未使用的)密鑰對510。在該替換實施例中,生成或以其它方式獲得誘餌種子值505。在該替換實施例中,kdf-two310被以誘餌種子值505和誘餌密鑰對510作為輸入,以及以誘餌二進(jìn)制大對象535,以及(在該替換實施例的多個方面中的)誘餌第二二進(jìn)制大對象545作為輸出而執(zhí)行。

在該替換實施例中,誘餌種子值505通過函數(shù)320的執(zhí)行而自行被修改、更改或改變,或者以其它方式被加密,并且生成在本文被稱為消化種子值525的第二值。在該可替代實施例中,共同作為誘餌數(shù)據(jù)集合370的誘餌消化種子值525、誘餌二進(jìn)制大對象535以及在該替換實施例的多個方面中的誘餌第二二進(jìn)制大對象545以與關(guān)聯(lián)數(shù)據(jù)360相同的格式被存儲在高速緩存350中。

圖6圖示了用于在圖5的安全情境125實施例內(nèi)生成(多個)誘餌數(shù)據(jù)集合370的邏輯流程實施例。

雖然以下關(guān)于本文描繪的系統(tǒng)進(jìn)行討論,但是所描述的操作可以在其它系統(tǒng)中實施。本文所描述的操作并不局限于所示出的順序。此外,在其它替換實施例中,可以執(zhí)行更多或更少的操作。

參考圖6,在一個實施例中,當(dāng)要生成一個或多個誘餌數(shù)據(jù)集合時,邏輯流程開始600。在一個實施例中,獲得或者替換地生成誘餌種子值605。在一個實施例中,執(zhí)行kdf以生成一個或多個誘餌密碼密鑰610。在一個實施例中,執(zhí)行圖5的kdf-one120。在一個實施例中,kdf-one120的執(zhí)行導(dǎo)致誘餌密鑰對510的誘餌公鑰512和誘餌私鑰514的生成。

在一個實施例中,執(zhí)行第二kdf以生成一個或多個誘餌二進(jìn)制大對象615。在一個實施例中,執(zhí)行圖5的kdf-two310。如關(guān)于圖5所討論的,在一個實施例中,kdf-two310被以誘餌種子值505和誘餌密鑰對510中的誘餌私鑰514作為輸入以及以誘餌二進(jìn)制大對象535作為輸出而執(zhí)行。在一個實施例中,kdf-two310還被以誘餌種子值505和誘餌密鑰對510的誘餌公鑰512作為輸入以及以誘餌第二二進(jìn)制大對象545作為輸出而執(zhí)行。在替換實施例中,kdf-two310被以誘餌種子值505、誘餌密鑰對510中的誘餌私鑰514和誘餌公鑰512同時作為輸入以及以誘餌二進(jìn)制大對象535作為輸出而執(zhí)行。因此,在一個實施例中,誘餌種子值與所生成的(多個)誘餌密鑰相關(guān)聯(lián)615。

在一個實施例中,在生成(多個)誘餌二進(jìn)制大對象之后,底層的(多個)誘餌密碼密鑰就不再保存在計算設(shè)備上,或者以其它方式而無法在計算設(shè)備的安全情境之外和/或計算設(shè)備之外進(jìn)行訪問620。

在一個實施例中,誘餌種子值通過函數(shù)的執(zhí)行而自行被修改、更改或改變,或者以其它方式被加密,并且生成誘餌消化種子值625。在該實施例的一個方面并且參考圖5,誘餌種子值105是針對單向函數(shù)320的輸入,并且由此生成誘餌消化種子值525。

在一個實施例中,在生成誘餌消化種子值之后誘餌種子值就不再被保存在計算設(shè)備上,或者以其它方式無法在計算系統(tǒng)的安全情境之外和/或計算系統(tǒng)之外進(jìn)行訪問630。

在一個實施例中,該誘餌消化種子值、誘餌二進(jìn)制大對象以及(在被生成時的)誘餌第二二進(jìn)制大對象相關(guān)聯(lián)為誘餌數(shù)據(jù)集合635。

在一個實施例中,該誘餌數(shù)據(jù)集合被存儲或以其它方式留存在例如高速緩存的數(shù)據(jù)儲存器中640。

在一個實施例中,在判定框645,確定是否要生成另一個誘餌數(shù)據(jù)集合。如果是,則該實施例處理通過獲得或替換地生成誘餌種子值605而針對新的數(shù)據(jù)集合自行重復(fù)。

如果在判定框645確定至少此時沒有另外的誘餌數(shù)據(jù)集合要被生成,則該處理結(jié)束650。

在一個實施例中并且參考圖7,用戶115能夠在他們正在使用的計算設(shè)備100或160上接收經(jīng)加密的數(shù)據(jù)710。在一個實施例中,計算設(shè)備100或160本身可以接收或以其它方式得到對所要解密的經(jīng)加密的數(shù)據(jù)710的訪問。

為了簡化討論,出于對圖7進(jìn)行討論的目的,計算設(shè)備100和160被統(tǒng)稱為計算設(shè)備100。然而,在一個實施例中,本文參考經(jīng)加密的數(shù)據(jù)的解密所討論的操作可以在一個計算設(shè)備(例如,計算設(shè)備100)上執(zhí)行,并且輸出可以被使得能夠由用戶115在任意給定時間所操作的第二計算設(shè)備(例如,計算設(shè)備160)進(jìn)行訪問。此外,在一個實施例中,本文參考經(jīng)加密的數(shù)據(jù)的解密的所討論的操作可以在多個計算設(shè)備上執(zhí)行,例如一些操作可以在計算設(shè)備100上執(zhí)行,而其它操作則在不同的(多個)計算設(shè)備160上執(zhí)行。

在一個實施例中,當(dāng)存在有待解密的經(jīng)加密的數(shù)據(jù)710時,種子值105被取得、獲得或者以其它方式被重新生成。在一個實施例中,種子值105通過函數(shù)320的執(zhí)行而自行被修改、更改或改變,或者通過其它方式被加密,并且生成消化種子值325。

在一個實施例中,使用消化種子值325搜索數(shù)據(jù)高速緩存350,并且如果找到匹配(例如匹配720),則取得相關(guān)的所存儲的密鑰二進(jìn)制大對象356,并且因此取得或以其它方式識別出相關(guān)密鑰二進(jìn)制大對象335。在一個實施例中,由于僅利用一個密鑰(例如私鑰114)來對經(jīng)加密的數(shù)據(jù)710進(jìn)行解密,所以在要對經(jīng)加密的數(shù)據(jù)710進(jìn)行解密時并不從高速緩存350取得第二密鑰二進(jìn)制大對象345。

在一個實施例中,kdf-two310被以種子值105和密鑰二進(jìn)制大對象335作為kdf-two130的輸入而執(zhí)行,以便在這種情況下對之前所加密的密鑰進(jìn)行解密,計算系統(tǒng)100隨后可以使用該密鑰對經(jīng)加密的數(shù)據(jù)710進(jìn)行解密。在該實施例的一個方面,kdf-two130被以種子值105和密鑰二進(jìn)制大對象335作為kdf-two130的輸入而執(zhí)行,其中種子值105被利用來對密鑰二進(jìn)制大對象335進(jìn)行解密。在一個實施例中,在kdf-two130被執(zhí)行時,原始私鑰114得以被重新生成。

在一個實施例中,重新生成或重新構(gòu)建的私鑰114可以被計算設(shè)備100用來對經(jīng)加密的數(shù)據(jù)710進(jìn)行解密,并且隨后的解密數(shù)據(jù)730可以被提供給用戶115或者以其它方式被使得能夠由用戶115進(jìn)行訪問,或者作為有保障數(shù)據(jù)而以其它方式被加以利用。

在一個實施例中,當(dāng)利用消化種子值325搜索高速緩存350并且并未在高速緩存350中找到匹配時,則計算系統(tǒng)100要么并沒有在高速緩存350中存儲先前針對種子值105所創(chuàng)建的條目352,要么替換地存在針對計算系統(tǒng)100的試圖的無保障的攻擊。在一個實施例中,當(dāng)利用消化種子值325搜索高速緩存350并且并未在高速緩存350中找到匹配時,則計算系統(tǒng)100執(zhí)行如參考圖4所描述的處理流程,以生成從當(dāng)前所利用種子值105生成的消化種子值325以及從當(dāng)前所利用種子值105和至少一個密碼密鑰110生成的密鑰二進(jìn)制大對象335的關(guān)聯(lián)數(shù)據(jù)360。在一個實施例中,在這種情況下還生成第二密鑰進(jìn)制大對象345。

在一個實施例中,新創(chuàng)建的關(guān)聯(lián)數(shù)據(jù)360被存儲在高速緩存350中。在一個實施例中,已經(jīng)被新生成的要被利用來解密經(jīng)加密的數(shù)據(jù)710的密鑰(例如,私鑰114)被利用來試圖對經(jīng)加密的數(shù)據(jù)710進(jìn)行解密。然而,由于已經(jīng)新生成了要用于解密的密鑰,所以在對經(jīng)加密的數(shù)據(jù)710進(jìn)行解密時應(yīng)該不會成功。

在一個實施例中并且參考圖7,用戶115可以訪問他們正在使用的計算設(shè)備100上有待加密的數(shù)據(jù)730。在一個實施例中,計算設(shè)備100或160本身可以接收有待加密的數(shù)據(jù)730,或者以其它方式得到對其的訪問。

在一個實施例中,當(dāng)存在有待加密的數(shù)據(jù)730時,種子值105被取得、獲得或以其它方式被重新生成。在一個實施例中,種子值105通過函數(shù)320的執(zhí)行而自行被修改、更改或改變,或者通過其它方式被加密,并且生成消化種子值325。

在一個實施例中,利用消化種子值325搜索數(shù)據(jù)高速緩存350,并且如果找到了匹配(例如匹配720),則取得相關(guān)的所存儲的密鑰二進(jìn)制大對象356,并且因此取得或以其它方式識別出相關(guān)的密鑰二進(jìn)制大對象335。在其中之前生成了第二密鑰二進(jìn)制大對象345并且將其存儲為關(guān)聯(lián)數(shù)據(jù)360的實施例中,相關(guān)的第二所存儲的密鑰二進(jìn)制大對象358被取得并且因此相關(guān)的第二密鑰二進(jìn)制大對象345被取得,或者以其它方式得以被識別。在一個實施例中,由于僅使用一個密鑰(例如公鑰112)來對數(shù)據(jù)730進(jìn)行加密,所以在高速緩存中針對包含消化種子值325的匹配720的條目352存在所存儲的第二密鑰二進(jìn)制大對象358時,并不從高速緩存350取得密鑰二進(jìn)制大對象335。

在一個實施例中,kdf-two310被以種子值105和密鑰二進(jìn)制大對象335,或者(在存在第二密鑰二進(jìn)制大對象345的實施例中的)第二密鑰二進(jìn)制大對象345作為kdf-two130的輸入而執(zhí)行,以使得在這種情況下,對之前加密的密鑰進(jìn)行解密,計算系統(tǒng)100隨后可以使用該密鑰對數(shù)據(jù)730進(jìn)行加密。在該實施例的一個方面,kdf-two130被以種子值105和密鑰二進(jìn)制大對象335,或者(在存在第二密鑰二進(jìn)制大對象345的實施例中的)第二密鑰二進(jìn)制大對象345作為輸入而執(zhí)行,其中種子值105被利用來對密鑰二進(jìn)制大對象335或第二密鑰二進(jìn)制大對象345進(jìn)行解密。在一個實施例中,在這種情形中,在執(zhí)行kdf-two130時,原始公鑰112得以被重新生成。

在一個實施例中,重新生成的公鑰112可以被計算設(shè)備100用來對數(shù)據(jù)730進(jìn)行加密并生成經(jīng)加密的數(shù)據(jù)710,其隨后被作為有保障數(shù)據(jù)而被加以利用,例如進(jìn)行傳送等。

在一個實施例中,當(dāng)利用消化種子值325搜索高速緩存350且并未找到匹配時,則計算系統(tǒng)100要么并沒有在高速緩存350中存儲先前針對種子值105所創(chuàng)建的條目352,要么替換地,存在針對計算系統(tǒng)100的試圖的無保障的攻擊。在一個實施例中,當(dāng)利用消化種子值325搜索高速緩存350且并未找到匹配時,則計算系統(tǒng)100執(zhí)行如參考圖4所描述的處理流程,以生成從當(dāng)前所利用的種子值105生成的消化種子值325以及從當(dāng)前所利用的種子值105和至少一個密碼密鑰110生成的密鑰二進(jìn)制大對象335的關(guān)聯(lián)數(shù)據(jù)360。在一個實施例中,在這種情況下還生成第二密鑰二進(jìn)制大對象345。

在一個實施例中,新創(chuàng)建的關(guān)聯(lián)數(shù)據(jù)360被存儲在高速緩存350中。在一個實施例中,已經(jīng)被新生成的要被用于對數(shù)據(jù)170進(jìn)行加密的密鑰(例如,公鑰112)被利用來對數(shù)據(jù)170進(jìn)行加密并且生成經(jīng)加密的數(shù)據(jù)710。

在一個實施例中,每次獲得或以其它方式訪問或生成種子值105時,執(zhí)行關(guān)于圖7所描述的處理流程。因此,每次獲得或以其它方式訪問或生成種子值105時,使用種子值105來生成消化種子值325,并且使用結(jié)果生成的消化種子值325來搜索高速緩存350。如果找到匹配,則先前已經(jīng)針對當(dāng)前種子值105生成了相關(guān)聯(lián)的密鑰或密鑰對110。然而,如果沒有找到匹配,則密鑰或密鑰對110被生成并與當(dāng)前種子值105相關(guān)聯(lián),并且結(jié)果所創(chuàng)建的關(guān)聯(lián)數(shù)據(jù)360被存儲在高速緩存350中。

在多個實施例中,可以利用各種機制來將關(guān)聯(lián)數(shù)據(jù)360和誘餌數(shù)據(jù)集合370存儲在高速緩存350中。這樣的機制包括但不限于如它們被生成的順序次序存儲關(guān)聯(lián)數(shù)據(jù)360和誘餌數(shù)據(jù)集合370,基于消化種子值325或誘餌消化種子值525的值而以某個數(shù)字順序存儲關(guān)聯(lián)數(shù)據(jù)360和誘餌數(shù)據(jù)集合370,上述數(shù)字順序諸如但不限于基本數(shù)字順序,消化種子值325或誘餌消化種子值525中的最后x個數(shù)位的數(shù)字順序,消化種子值325或誘餌消化種子值525中的前y個數(shù)位的數(shù)字順序,等等。

圖8a-8b圖示了用于識別與圖4的種子值105相關(guān)聯(lián)并且參考圖7詳細(xì)描述的(多個)現(xiàn)有密鑰的處理415的邏輯流程實施例。圖8a-8b進(jìn)一步圖示了用于生成如參考圖7所討論的要被利用來加密和解密數(shù)據(jù)的(多個)密碼密鑰的邏輯流程實施例。

雖然以下關(guān)于本文描繪的系統(tǒng)進(jìn)行討論,但是所描述的操作可以在其它系統(tǒng)中實施。本文所描述的操作并不局限于所示出的順序。此外,在其它替換實施例中,可以執(zhí)行更多或更少的操作。

參考圖8a,在一個實施例中,在判定框802,確定是否存在要執(zhí)行的動作,例如是否存在要加密的數(shù)據(jù),是否存在要解密的數(shù)據(jù),種子值是否被給出或者以其它方式被生成或獲得以供使用。如果在一個實施例中在該時間沒有動作需要執(zhí)行,則該處理保持等待直至有動作需要執(zhí)行802。

在一個實施例中,如果在判定框802確定要執(zhí)行動作,則獲得或以其它方式創(chuàng)建種子值804。在一個實施例中,種子值通過函數(shù)的執(zhí)行而自行被修改、更改或改變,或者以其它方式被加密,并且生成第二值,即消化種子值806。在該實施例的一個方面并且參考圖3,種子值105是針對單向函數(shù)320的輸入,并且由此生成消化種子值325。

在一個實施例中,消化種子值被用來搜索儲存器(例如,高速緩存)以查看其是否被存儲在其中810。在一個實施例中,如果在儲存器350中找到針對消化種子值325的匹配(例如匹配720),則該種子值105之前已經(jīng)與現(xiàn)有密鑰對110相關(guān)聯(lián)。在一個實施例中,如果沒有在高速緩存350中找到針對消化種子值325的匹配,則種子值105并未與(多個)密碼密鑰110相關(guān)聯(lián)。

在一個實施例中,在判定框812確定是否在儲存器中找到了針對消化種子值的匹配。如果沒有,在一個實施例中,執(zhí)行kdf以生成一個或多個密碼密鑰814。在一個實施例中,執(zhí)行圖3的kdf-one120。在一個實施例中,kdf-one120的執(zhí)行導(dǎo)致密鑰對110中的公鑰112和私鑰114的生成。

在一個實施例中,執(zhí)行第二kdf以生成一個或多個二進(jìn)制大對象816。在一個實施例中,執(zhí)行圖3的kdf-two310。如關(guān)于圖3所討論的,在一個實施例中,kdf-two310被以種子值105和密鑰對110的私鑰114作為輸入,以及以二進(jìn)制大對象335作為輸出而執(zhí)行。在一個實施例中,kdf-two310也被以種子值105和密鑰對110的公鑰112作為輸入,以及以第二二進(jìn)制大對象345作為輸出而執(zhí)行。在替換實施例中,kdf-two310被以種子值105、密鑰對110的私鑰114和公鑰112同時作為輸入以及以二進(jìn)制大對象325作為輸出而執(zhí)行。因此,在一個實施例中,種子值與所生成的(多個)密鑰相關(guān)聯(lián)816。

在一個實施例中,種子值在其使用之后就不再保存在計算設(shè)備上,或者以其它方式而無法在計算設(shè)備的安全情境之外和/或計算設(shè)備之外進(jìn)行訪問818。

在一個實施例中,該消化種子值、二進(jìn)制大對象以及第二二進(jìn)制大對象(在其被生成時)相關(guān)聯(lián)或者以其它方式被配對為關(guān)聯(lián)數(shù)據(jù)820。

在一個實施例中,該關(guān)聯(lián)數(shù)據(jù)被存儲或以其它方式留存在例如高速緩存的數(shù)據(jù)儲存器中822。

在一個實施例中并且參考圖8b,在判定框840,確定在圖8a的判定框802處所確定要執(zhí)行的動作是否是數(shù)據(jù)的解密。如果是,則在一個實施例中,使用所生成的密碼密鑰來對經(jīng)加密的數(shù)據(jù)進(jìn)行解密842。在該實施例的一個方面,所生成的私鑰114被用于對經(jīng)加密的數(shù)據(jù)710進(jìn)行解密。

在一個實施例中,當(dāng)前存在于安全情境中的剛才已經(jīng)生成或者已經(jīng)被重新建立以用于解密的(多個)密碼密鑰在其使用之后不再被保存在計算設(shè)備上,或者以其它方式而無法在計算設(shè)備的安全情境之外和/或計算設(shè)備之外進(jìn)行訪問844。

在一個實施例中,被解密的數(shù)據(jù)被給出給用戶或者以其它方式可供用戶使用,和/或以其它方式作為有保障數(shù)據(jù)而被加以利用846。在一個實施例中,在圖8a的判定框802,再次確定是否存在要執(zhí)行的動作。

如果在圖8b的判定框840確定在圖8a的判定框802處所要執(zhí)行的動作并不是數(shù)據(jù)的解密,則在一個實施例中,在判定框850,確定在圖8a的判定框802處確定要執(zhí)行的動作是否是數(shù)據(jù)的加密。如果是,則在一個實施例中,所生成的密碼密鑰被用來對數(shù)據(jù)進(jìn)行加密852。在本實施例的一個方面,所生成的公鑰112被用來對數(shù)據(jù)730進(jìn)行加密。

在一個實施例中,當(dāng)前存在于安全情境中的剛才已經(jīng)生成或者已經(jīng)被重新建立以用于加密的(多個)密碼密鑰在其使用之后不再被保存在計算設(shè)備上,或者以其它方式而無法在計算設(shè)備的安全情境之外和/或計算設(shè)備之外進(jìn)行訪問854。

在一個實施例中,經(jīng)加密的數(shù)據(jù)被傳送、輸出,或者以其它方式作為有保障數(shù)據(jù)而被加以利用856。在一個實施例中,在圖8a的判定框802再次確定是否存在要執(zhí)行的動作。

在圖8b中,處理框415啟動如參考圖7所描述的識別與種子值相關(guān)聯(lián)的(多個)現(xiàn)有密鑰的處理。在一個實施例中,一旦數(shù)據(jù)高速緩存350被搜索并且所存儲的消化種子值354被識別為消化種子值325的匹配,則與用來生成消化種子值325的種子值105相關(guān)聯(lián)的一個或多個密碼密鑰110得以被重構(gòu)。

在一個實施例中,從高速緩存取得與匹配的所存儲的消化種子值相關(guān)聯(lián)的所存儲的密鑰二進(jìn)制大對象828。在該實施例的一個方面中,如果要采取的當(dāng)前動作是數(shù)據(jù)710的解密,則從高速緩存350取得與匹配的所存儲的消化種子值354相關(guān)聯(lián)的所存儲的密鑰二進(jìn)制大對象356。在該實施例的一個方面,如果要采取的當(dāng)前動作是數(shù)據(jù)730的加密并且存在所存儲的第二密鑰二進(jìn)制大對象358,則從高速緩存350取得與匹配的所存儲的種子值354相關(guān)聯(lián)的所存儲的第二密鑰二進(jìn)制大對象358。在該實施例的一個方面,如果要采取的當(dāng)前動作是數(shù)據(jù)730的加密并且不存在所存儲的第二密鑰二進(jìn)制大對象358,例如,所存儲的密鑰二進(jìn)制大對象356是從種子值105以及密鑰對110的公鑰112和私鑰114所生成,則從高速緩存350取得與匹配的所存儲的種子值354相關(guān)聯(lián)的所存儲的密鑰二進(jìn)制大對象356。

在一個實施例中,執(zhí)行kdf以對所取得的密鑰二進(jìn)制大對象進(jìn)行解密,從而重新生成密碼密鑰830。在該實施例的一個方面,kdf-two310被以種子值105和所取得的密鑰二進(jìn)制大對象335或第二密鑰二進(jìn)制大對象345作為kdf-two130的輸入而執(zhí)行,以便對之前加密的密碼密鑰110進(jìn)行解密。

在該實施例的一個方面,當(dāng)所要執(zhí)行的當(dāng)前動作是數(shù)據(jù)的解密時,kdf-two130被以種子值105和密鑰二進(jìn)制大對象335作為kdf-two130的輸入而執(zhí)行,其中種子值105被利用來對密鑰二進(jìn)制大對象335進(jìn)行解密,并且相應(yīng)的私鑰114得以被重構(gòu)或者以其它方式被重新生成以供計算系統(tǒng)用來對數(shù)據(jù)710進(jìn)行解密。

在該實施例的一個方面,當(dāng)所要執(zhí)行的當(dāng)前動作是數(shù)據(jù)的加密并且之前生成了第二密鑰二進(jìn)制大對象345時,kdf-two130被以種子值105和第二密鑰二進(jìn)制大對象345作為kdf-two130的輸入而執(zhí)行,其中種子值105被利用來對第二密鑰二進(jìn)制大對象345進(jìn)行解密,并且相應(yīng)的公鑰112得以被重構(gòu)或者以其它方式被重新生成以供計算系統(tǒng)100用來對數(shù)據(jù)730進(jìn)行加密。

在該實施例的一個方面,當(dāng)所要執(zhí)行的當(dāng)前動作是數(shù)據(jù)的加密并且沒有生成第二密鑰二進(jìn)制大對象345時,kdf-two130被以種子值105和密鑰二進(jìn)制大對象335作為kdf-two130的輸入而執(zhí)行,其中種子值105被利用來對密鑰二進(jìn)制大對象335進(jìn)行解密,并且相應(yīng)的公鑰112得以被重構(gòu)或者以其它方式被重新生成以供計算系統(tǒng)100用來對數(shù)據(jù)730進(jìn)行加密。

在一個實施例中,種子值在其使用之后不再被保存在計算設(shè)備上,或者以其它方式而無法在計算設(shè)備的安全情境之外和/或計算設(shè)備之外進(jìn)行訪問832。

圖9是圖示安全情境125實施例能夠在其上實施和/或從其得到命令的示例性計算設(shè)備910的框圖。計算設(shè)備910的示例包括但不限于服務(wù)器、服務(wù)器系統(tǒng)、計算機,例如臺式計算機、膝上型計算機(本文也稱為膝上型電腦)、筆記本、上網(wǎng)本、計算平板、計算機網(wǎng)絡(luò)等,蜂窩電話、蜂窩電話網(wǎng)絡(luò)、可穿戴計算設(shè)備,等等。

在一個實施例中,一個或多個計算設(shè)備910和/或其它組件包括計算設(shè)備系統(tǒng)900,上述其它組件例如(多個)外部硬盤驅(qū)動器925、外部儲存器945,包括但不限于互聯(lián)網(wǎng)970的通信系統(tǒng),等等。

計算設(shè)備910實施例包括用于傳輸信息的總線905或其它機構(gòu),以及與總線905耦合以處理信息的處理單元940,其在本文中也被稱為處理器940。計算設(shè)備910實施例還包括系統(tǒng)存儲器950,其可以是易失性或動態(tài)的,諸如隨機存取存儲器(ram),非易失性或靜態(tài)的,諸如只讀存儲器(rom)或閃存,或者是上述二者的某個組合。在一個實施例中,系統(tǒng)存儲器950耦合到總線905,用于存儲要由處理單元940所執(zhí)行的信息和指令915,并且還可以用于在處理器940執(zhí)行指令915的期間存儲臨時變量或其它中間信息。系統(tǒng)存儲器950通常包含操作系統(tǒng)以及一個或多個程序、軟件過程或應(yīng)用,和/或軟件代碼915,并且還可以包括程序數(shù)據(jù)915。

在一個實施例中,諸如磁盤或光盤、固態(tài)驅(qū)動器、閃存驅(qū)動器等的儲存器設(shè)備920也耦合到總線905以用于存儲信息,包括指令915的程序代碼和/或例如卷的數(shù)據(jù)915。在計算設(shè)備910實施例中,儲存器設(shè)備920是計算機可讀儲存器920和/或機器可讀儲存器920。

計算設(shè)備910實施例通常包括一個或多個顯示設(shè)備935,諸如但不限于顯示屏,例如陰極射線管(crt)或液晶顯示器(lcd)、打印機、用于投射信息的投影儀設(shè)備,以及一個或多個揚聲器,以用于向計算設(shè)備的系統(tǒng)管理員和用戶115提供信息。實施例計算設(shè)備910通常還包括一個或多個輸入設(shè)備930,諸如但不限于鍵盤、鼠標(biāo)、軌跡球、筆、(多個)語音輸入設(shè)備和觸摸輸入設(shè)備,系統(tǒng)管理員和用戶115可以利用這些設(shè)備向處理器940傳輸信息和命令選擇。所有這些設(shè)備930和935在本領(lǐng)域中都是已知的而并不需要在這里詳盡地討論。

在一個實施例中,處理器940執(zhí)行駐留在系統(tǒng)存儲器950中的一個或多個程序或應(yīng)用和/或軟件代碼指令915的一個或多個序列。在一個實施例中,這些指令915可以從包括但不限于儲存器設(shè)備920的另一個計算設(shè)備可讀介質(zhì)被讀入系統(tǒng)存儲器950。在替換實施例中,硬連線電路可以被用于代替軟件指令915或與軟件指令915組合使用。計算設(shè)備910實施例的環(huán)境并不局限于硬件電路和/或軟件的任何具體組合。

如本文所使用的術(shù)語“計算設(shè)備可讀介質(zhì)”是指可以參與向處理器940提供程序或應(yīng)用和/或軟件指令915以供其執(zhí)行的任何介質(zhì)。這樣的介質(zhì)可以采取許多形式,包括但不限于儲存介質(zhì)和傳輸介質(zhì)。儲存介質(zhì)的示例包括但不限于ram、rom、eeprom、閃存、固態(tài)驅(qū)動器、cd-rom、usb棒驅(qū)動器、數(shù)字通用盤(dvd)、磁帶盒、磁帶、磁盤儲存器、或者任意其它磁性介質(zhì)、軟盤、柔性盤(flexibledisk)、穿孔卡、紙帶、或者具有孔的圖案的任何其它物理介質(zhì)、存儲器芯片或卡盒。計算設(shè)備910實施例的系統(tǒng)存儲器950和儲存器設(shè)備920以及(多個)外部硬盤驅(qū)動器925是儲存介質(zhì)的另外的示例。傳輸介質(zhì)的示例包括但不限于有線介質(zhì),諸如但不限于(多個)同軸電纜、銅線和光纖,以及無線介質(zhì),諸如但不限于電信號、光信號、聲信號、rf信號和紅外信號。

計算設(shè)備910實施例還包括耦合到總線905的一個或多個通信連接960。(多個)通信連接960實施例提供從計算設(shè)備910到局域網(wǎng)(lan)965和/或廣域網(wǎng)(wan)上的其它計算設(shè)備910的雙向數(shù)據(jù)通信耦合,上述廣域網(wǎng)包括萬維網(wǎng)或互聯(lián)網(wǎng)970以及各種其它通信網(wǎng)絡(luò)975,例如基于sms的網(wǎng)絡(luò)、電話系統(tǒng)網(wǎng)絡(luò)等。

(多個)通信連接960的示例包括但不限于集成服務(wù)數(shù)字網(wǎng)絡(luò)(isdn)卡、調(diào)制解調(diào)器、lan卡,以及能夠發(fā)送和接收例如電、電磁、光學(xué)、聲學(xué)、rf、紅外等信號的任意設(shè)備。

由計算設(shè)備910實施例所接收的通信可以包括程序或應(yīng)用和/或軟件指令和數(shù)據(jù)915。由計算設(shè)備910實施例所接收的指令915可以在它們被接收時由處理器940所執(zhí)行和/或被存儲在儲存器設(shè)備920或其它非易失性儲存器中以供隨后執(zhí)行。

在一個實施例中,一種用于至少一個計算設(shè)備或計算設(shè)備系統(tǒng)的安全情境內(nèi)的密碼密鑰處理的方法,包括獲得例如數(shù)字的種子值,以及獲得至少一個非對稱的所生成的密碼密鑰,其在本文也被稱為初始密碼密鑰,其中該初始密碼密鑰在第一kdf(密鑰導(dǎo)出函數(shù))被執(zhí)行時被生成,并且其中該初始密碼密鑰在最初將種子值引入到該安全情境中時被獲得。在一個實施例中,該用于密碼密鑰處理的方法包括利用該初始密碼密鑰作為輸入并且生成二進(jìn)制大對象(blob,binarylargeobject)作為輸出來執(zhí)行第二kdf,其中該二進(jìn)制大對象包括該初始密碼密鑰的加密形式。在一個實施例中,該用于密碼密鑰處理的方法包括通過利用該種子值作為函數(shù)的至少一個輸入來執(zhí)行該函數(shù)以生成消化種子值,將該消化種子值與該二進(jìn)制大對象相關(guān)聯(lián),以及以其中該消化種子值和該二進(jìn)制大對象在儲存容器中相關(guān)聯(lián)的方式將該消化種子值和該二進(jìn)制大對象存儲在該儲存容器中。

在一個實施例中,該用于密碼密鑰處理的方法進(jìn)一步包括在獲得非對稱的所生成的密碼密鑰之前,利用該消化種子值來搜索儲存容器中的匹配,該匹配是與用于搜索儲存容器的消化種子值具有相同值的所存儲的消化種子值。在一個實施例中,該用于密碼密鑰處理的方法包括在獲得非對稱的所生成的密碼密鑰之前,在存在匹配的所存儲的消化種子值時,從儲存容器取得與所存儲的消化種子值相關(guān)聯(lián)的該二進(jìn)制大對象,該所存儲的消化種子值是與用于搜索儲存容器的消化種子值具有相同的值的匹配,以及使用該種子值作為輸入來執(zhí)行該第二kdf,以對該二進(jìn)制大對象進(jìn)行解密并且重新生成初始密碼密鑰。

在一個實施例中,該用于密碼密鑰處理的方法進(jìn)一步包括利用該重新生成的初始密碼密鑰對該計算設(shè)備所能夠訪問的經(jīng)加密的數(shù)據(jù)進(jìn)行解密。

在用于密碼密鑰處理的方法實施例中,該第一kdf利用非對稱密鑰函數(shù),其在被執(zhí)行時生成該初始密碼密鑰。

在用于密碼密鑰處理的方法實施例中,該第二kdf利用對稱密鑰函數(shù),其在被執(zhí)行時生成二進(jìn)制大對象。

在用于密碼密鑰處理的方法實施例中,被執(zhí)行以生成消化種子值的該函數(shù)是單向函數(shù),其中在該單向函數(shù)被以該消化種子值作為該單向函數(shù)的輸入而執(zhí)行時,該種子值將并不被輸出。

在用于密碼密鑰處理的方法實施例中,該種子值是被使得能夠由計算設(shè)備的安全情境所訪問的隨機數(shù)。

在用于密碼密鑰處理的方法的替換的實施例中,該種子值是由計算設(shè)備的安全情境所生成的隨機數(shù)。

在一個實施例中,一種用于密碼密鑰處理的方法進(jìn)一步包括獲得至少一個第二非對稱的所生成的密碼密鑰,其在本文也被稱為第二密碼密鑰,其中該第二密碼密鑰在該第一kdf被執(zhí)行時被生成,其中該第二密碼密鑰在該種子值被初始引入至少一個計算設(shè)備的該安全情境時被獲得,并且其中該初始密碼密鑰和該第二密碼密鑰在該第一kdf被執(zhí)行時被同時生成。在一個實施例中,該用于密碼密鑰處理的方法包括利用該第二密碼密鑰作為輸入以及輸出二進(jìn)制大對象來執(zhí)行該第二kdf,其中該二進(jìn)制大對象是該第二密碼密鑰的加密形式。在一個實施例中,該用于密碼密鑰處理的方法包括,在獲得該初始密碼密鑰或第二密碼密鑰之前,利用消化種子值搜索儲存容器中的匹配,該匹配是與被用于搜索儲存容器的消化種子值具有相同值的存儲的消化種子值。在一個實施例中,該用于密碼密鑰處理的方法包括,在獲得該初始密碼密鑰或第二密碼密鑰之前,在存在匹配的所存儲的消化種子值時,從儲存容器取得與所存儲的消化種子值相關(guān)聯(lián)的該二進(jìn)制大對象,該所存儲的消化種子值是與用于搜索儲存容器的消化種子值具有相同值的匹配,以及使用該種子值作為輸入來執(zhí)行該第二kdf以對該二進(jìn)制大對象進(jìn)行解密并且重新生成該第二密碼密鑰。

在一個實施例中,一種用于密碼密鑰處理的方法進(jìn)一步包括利用該重新生成的第二密碼密鑰對該計算設(shè)備所能夠訪問的數(shù)據(jù)進(jìn)行加密。

在用于密碼密鑰處理的方法實施例中,該初始密碼密鑰是利用來對經(jīng)加密的數(shù)據(jù)進(jìn)行解密的私鑰,以及該第二密碼密鑰是用于數(shù)據(jù)加密的公鑰。

在用于密碼密鑰處理的方法實施例中,該二進(jìn)制大對象利用該種子值而用該第二密碼密鑰對初始密碼密鑰進(jìn)行加密的結(jié)果。

在用于密碼密鑰處理的替換方法中,作為結(jié)果的該初始密碼密鑰的加密形式的二進(jìn)制大對象是第一二進(jìn)制大對象,并且第二二進(jìn)制大對象是該第二密碼密鑰的加密的結(jié)果,其中該第一二進(jìn)制大對象和該第二二進(jìn)制大對象是具有不同值的不同二進(jìn)制大對象。

在用于密碼密鑰處理的方法實施例中,該二進(jìn)制大對象是利用該種子值的結(jié)果的初始密碼密鑰的加密形式。

在一個實施例中,一種用于密碼密鑰處理的方法進(jìn)一步包括創(chuàng)建至少一個誘餌消化種子值;創(chuàng)建具有表示該初始密碼密鑰的格式和大小的至少一個誘餌密碼密鑰,其中該誘餌密碼密鑰具有不同于該初始密碼密鑰的值;利用該誘餌密碼密鑰作為輸入而以誘餌二進(jìn)制大對象作為輸出來執(zhí)行該第二kdf,其中該誘餌二進(jìn)制大對象是該誘餌密碼密鑰的加密形式;將該誘餌消化種子值與該誘餌二進(jìn)制大對象相關(guān)聯(lián);以及以其中在儲存容器中將該誘餌消化種子值和該誘餌二進(jìn)制大對象相關(guān)聯(lián)的方式將該誘餌消化種子值和該誘餌二進(jìn)制大對象存儲在該儲存容器中。

在一個實施例中,一種用于具有儲存容器的至少一個計算設(shè)備系統(tǒng)的混合安全情境內(nèi)的密碼密鑰實施的方法,包括獲得例如數(shù)字的種子值,以及利用該種子值作為函數(shù)的至少一個輸入而執(zhí)行該函數(shù)以生成消化種子值。在一個實施例中,該用于混合安全情境中的密碼密鑰實施的方法包括利用該消化種子值搜索該儲存容器中的匹配,該匹配是與被用于搜索儲存容器的消化種子值具有相同值的所存儲的消化種子值,其中該儲存容器包括所存儲的關(guān)聯(lián)數(shù)據(jù),即消化種子值和至少一個二進(jìn)制大對象(blob,binarylargeobject)。在一個實施例中,該用于混合安全情境中的密碼密鑰實施的方法包括,在存在與被用來搜索儲存容器的消化種子值具有相同值的所存儲消化種子值時,從儲存容器取得與作為匹配的所存儲的消化種子值相關(guān)聯(lián)的該二進(jìn)制大對象。在一個實施例中,該用于混合安全情境中的密碼密鑰實施的方法包括利用種子值作為輸入來執(zhí)行密碼封裝kdf(密鑰導(dǎo)出功能),以對所取得的二進(jìn)制大對象進(jìn)行解密,并且輸出至少一個密碼密鑰的重新生成形式,其是之前所生成并且在之前與該種子值相關(guān)聯(lián)的加密密碼密鑰。

在執(zhí)行密碼封裝kdf時以及當(dāng)存在待解密的數(shù)據(jù)時,在一個實施例中,該用于混合安全情境中的密碼密鑰實施的方法包括利用解密密碼密鑰對數(shù)據(jù)進(jìn)行解密。

在一個實施例中,一種用于混合安全情景中的密碼密鑰實施的方法,包括獲得至少一個密碼密鑰,其是用于對數(shù)據(jù)進(jìn)行解密的解密密碼密鑰,其中該解密密碼密鑰在密碼產(chǎn)生kdf被執(zhí)行時被生成,并且其中該解密密碼密鑰在將該種子值初始引入計算設(shè)備系統(tǒng)的該混合安全情境時被獲得。在一個實施例中,該用于混合安全情景中的密碼密鑰實施的方法包括利用該解密密碼密鑰作為輸入并且生成二進(jìn)制大對象作為輸出來執(zhí)行密碼封裝kdf,其中該二進(jìn)制大對象是該解密密碼密鑰的加密形式,將消化種子值與該二進(jìn)制大對象相關(guān)聯(lián)以生成關(guān)聯(lián)數(shù)據(jù),以及以其中該消化種子值和該二進(jìn)制大對象在儲存容器中相關(guān)聯(lián)的方式將該消化種子值和該二進(jìn)制大對象存儲在該儲存容器中。

在用于混合安全情境中的密碼密鑰實施的方法實施例中,該密碼產(chǎn)生kdf利用非對稱密鑰函數(shù)。在用于混合安全情境中的密碼密鑰實施的方法實施例中,該密碼封裝kdf利用對稱密鑰函數(shù)。在用于混合安全情境中的密碼密鑰實施的方法實施例中,被執(zhí)行以生成消化種子值的函數(shù)是單向函數(shù),其中該種子值在該單向函數(shù)被以該消化種子值作為該單向函數(shù)的輸入而執(zhí)行時并不被輸出。

在具有混合安全情境以及執(zhí)行軟件過程的能力的計算設(shè)備實施例中,該計算設(shè)備包括具有至少一個條目的儲存容器,該條目包括消化種子值和二進(jìn)制大對象(blob,binarylargeobject),其中該消化種子值和該二進(jìn)制大對象是關(guān)聯(lián)數(shù)據(jù)。在一個實施例中,該計算設(shè)備包括對種子值的訪問。在一個實施例中,該計算設(shè)備包括具有單向函數(shù)的軟件過程,該單向函數(shù)在由該計算設(shè)備在該混合安全情境中執(zhí)行時利用該種子值作為該單向函數(shù)的至少一個輸入以生成消化種子值。在一個實施例中,該計算設(shè)備包括具有由該計算設(shè)備在該混合安全情境內(nèi)執(zhí)行的密碼封裝kdf(密鑰導(dǎo)出函數(shù))的軟件過程。在一個實施例中,該密碼封裝kdf包括作為輸入的種子值,以對從儲存容器取得的二進(jìn)制大對象進(jìn)行解碼,以及包括至少一個密碼密鑰的重新生成形式的輸出,該至少一個密碼密鑰是之前所生成的解密密碼密鑰。在一個實施例中,該計算設(shè)備包括可以在該混合安全情境中用至少一個解密密碼密鑰進(jìn)行解密的經(jīng)加密的數(shù)據(jù),該解密密碼密鑰在該密碼封裝kdf被執(zhí)行時被重新生成。在一個實施例中,該計算設(shè)備包括具有密碼密鑰生成kdf的軟件過程,該密碼密鑰生成kdf在由該計算設(shè)備在該混合安全情境中執(zhí)行時包括生成能夠由該計算設(shè)備利用來對數(shù)據(jù)進(jìn)行解密的至少一個解密密碼密鑰的能力。

雖然本文描述了各個實施例,但是這些實施例僅是通過示例的方式被給出,而并非意在限制所要求保護(hù)主題的范圍??赡苓M(jìn)行許多變化,它們?nèi)匀惶幱谝韵聶?quán)利要求的范圍之內(nèi)。這樣的變化在檢視本文的說明書、附圖和權(quán)利要求書之后是清楚明了的。因此,所要求保護(hù)主題的寬度和范圍僅由以下權(quán)利要求及其等同形式所限定的來加以限制。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
锡林郭勒盟| 无极县| 册亨县| 隆回县| 焉耆| 秦皇岛市| 湘西| 阿坝县| 高密市| 潞城市| 株洲县| 吉水县| 台中县| 南阳市| 乌海市| 芜湖县| 泽库县| 绍兴县| 无锡市| 元朗区| 莲花县| 禄劝| 苍溪县| 临泽县| 边坝县| 远安县| 宝坻区| 萍乡市| 凤山市| 平顺县| 建平县| 南召县| 轮台县| 新余市| 寻乌县| 永兴县| 大关县| 万州区| 新沂市| 郴州市| 霍城县|