本申請涉及數(shù)據(jù)加密技術(shù),具體涉及一種數(shù)據(jù)加密方法及裝置。本申請同時涉及一種數(shù)據(jù)解密方法及裝置,一種密鑰存儲方法及裝置,一種密鑰提供方法及裝置,一種數(shù)據(jù)加密系統(tǒng),以及另一種數(shù)據(jù)加密方法。
背景技術(shù):
隨著數(shù)據(jù)種類以及數(shù)量的日益增多,為了避免公司數(shù)據(jù)、客戶數(shù)據(jù)等敏感數(shù)據(jù)因為泄露而引發(fā)的損失,數(shù)據(jù)存儲加密技術(shù)得到了較為普遍的應(yīng)用,成為保護(hù)數(shù)據(jù)安全性的有效方法。數(shù)據(jù)存儲加密技術(shù)通常是指,在將數(shù)據(jù)寫入存儲設(shè)備之前采用特定技術(shù)為數(shù)據(jù)加密,從而確保存放在存儲設(shè)備上的數(shù)據(jù)的安全性,相應(yīng)的,在讀取已存儲數(shù)據(jù)時則采用相應(yīng)技術(shù)為數(shù)據(jù)解密。
數(shù)據(jù)存儲加密技術(shù)按照實現(xiàn)手段可以分為主機(jī)軟件加密、加密存儲安全交換機(jī)、嵌入式專門加密設(shè)備以及基于存儲設(shè)備本身的加密機(jī)制等方法,各種方法的邏輯架構(gòu)中通常都包括加密解密單元、以及密鑰管理中心。其中加密解密單元通常是指,對待存儲的數(shù)據(jù)利用固定密鑰進(jìn)行加密、對讀取的已存儲數(shù)據(jù)采用固定密鑰進(jìn)行解密的功能單元;密鑰管理中心通常是指,負(fù)責(zé)存儲密鑰、以及對密鑰進(jìn)行更換等管理操作的功能單元。一般情況下,加密解密單元中的密鑰是不會輕易去改變的,只有在遇到密鑰泄露或者有重大的泄露風(fēng)險的情況的時候才會更新密鑰,例如:通過密鑰管理中心和加密解密單元通過非對稱加密算法建立加密安全傳輸通道、將新的密鑰傳給加密解密單元;或者是由專門的管理維護(hù)人員通過拷貝等方式去現(xiàn)場手動更新密鑰。而且更新密鑰后需要做好對歷史密鑰及歷史數(shù)據(jù)的管理,以免造成存儲設(shè)備中的歷史數(shù)據(jù)無法解密,導(dǎo)致數(shù)據(jù)損失。
上述數(shù)據(jù)存儲加密技術(shù),存在以下缺陷:
1)由于加密解密單元使用的密鑰通常都是固定的,會增加數(shù)據(jù)被暴力破解的可能性,而且一旦密鑰發(fā)生泄漏,整個存儲的數(shù)據(jù)都將面臨被竊讀的危險,從而導(dǎo)致數(shù)據(jù)的安全性無法得到保障。
2)設(shè)置或者更換密鑰的過程(即:密鑰分發(fā)過程)存在安全隱患,例如:采用非對稱加密算法更新密鑰存在傳輸過程被竊聽、算法被破解的風(fēng)險,而人工更新則存在惡意泄露的危險。
3)每次更換密鑰之后,為了避免歷史數(shù)據(jù)損失,管理維護(hù)人員都要額外執(zhí)行對歷史密鑰及數(shù)據(jù)的妥善處理,操作復(fù)雜。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種數(shù)據(jù)加密方法和裝置,以解決現(xiàn)有的數(shù)據(jù)存儲加密技術(shù)無法保障數(shù)據(jù)存儲、密鑰分發(fā)的安全性、以及密鑰更換操作復(fù)雜的問題。本申請實施例還提供一種數(shù)據(jù)解密方法和裝置,一種密鑰存儲方法,一種密鑰提供方法,一種數(shù)據(jù)加密系統(tǒng),以及另一種數(shù)據(jù)加密方法。
本申請?zhí)峁┮环N數(shù)據(jù)加密方法,包括:
接收針對待存儲數(shù)據(jù)的加密請求;
采用預(yù)設(shè)方式選取密鑰、以及用于標(biāo)識所述密鑰的密鑰標(biāo)簽;
用所述密鑰對所述加密請求攜帶的數(shù)據(jù)加密;
輸出加密后的數(shù)據(jù)以及所述密鑰標(biāo)簽,以將上述信息對應(yīng)存儲于存儲設(shè)備;
其中,所述密鑰是從加密解密單元的密鑰池獲取的、且與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同,所述密鑰池用于存儲加密解密單元與密鑰管理中心執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列;用于標(biāo)識所述密鑰的密鑰標(biāo)簽與密鑰管理中心相同。
可選的,所述采用預(yù)設(shè)方式選取密鑰、以及用于標(biāo)識所述密鑰的密鑰標(biāo)簽,包括:
判斷是否需要更換密鑰;
若是,從所述密鑰池中獲取密鑰,所述密鑰與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同;并獲取用于標(biāo)識所述密鑰的、且與密鑰管理中心相同的密鑰標(biāo)簽;
否則,采用上一次執(zhí)行加密操作所用的密鑰、以及相應(yīng)的密鑰標(biāo)簽。
可選的,所述判斷是否需要更換密鑰,包括:
根據(jù)是否接收到密鑰更換指令,判斷是否需要更換密鑰;或者,
根據(jù)預(yù)設(shè)的密鑰更換策略,判斷是否需要更換密鑰。
可選的,所述預(yù)設(shè)的密鑰更換策略,包括:
按照預(yù)設(shè)的時間間隔更換密鑰;或者,
針對每次接收到的加密請求更換密鑰。
可選的,所述從所述密鑰池中獲取密鑰,所述密鑰與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同,包括:
按照預(yù)設(shè)方式從所述密鑰池中獲取密鑰;
向密鑰管理中心發(fā)送密鑰更換同步請求、以觸發(fā)密鑰管理中心獲取相同的密鑰。
可選的,在按照預(yù)設(shè)方式從所述密鑰池中獲取密鑰之后,執(zhí)行下述操作:
采用預(yù)設(shè)算法計算所述密鑰的散列值;
所述向密鑰管理中心發(fā)送密鑰更換同步請求,包括:向密鑰管理中心發(fā)送至少包含所述散列值的密鑰更換同步請求。
可選的,所述獲取用于標(biāo)識所述密鑰的、且與密鑰管理中心相同的密鑰標(biāo)簽,采用以下方式實現(xiàn):
采用與密鑰管理中心相同的算法生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽;
或者,
采用與密鑰管理中心交互確認(rèn)由任一方生成的密鑰標(biāo)簽的方式,獲取用于標(biāo)識所述密鑰的密鑰標(biāo)簽。
相應(yīng)的,本申請還提供一種數(shù)據(jù)加密裝置,包括:
加密請求接收單元,用于接收針對待存儲數(shù)據(jù)的加密請求;
密鑰及標(biāo)簽選取單元,用于采用預(yù)設(shè)方式選取密鑰、以及用于標(biāo)識所述密鑰的密鑰標(biāo)簽;所述密鑰是從加密解密單元的密鑰池獲取的、且與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同,所述密鑰池用于存儲加密解密單元與密鑰管理中心執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列;用于標(biāo)識所述密鑰的密鑰標(biāo)簽與密鑰管理中心相同;
數(shù)據(jù)加密單元,用于用所述密鑰對所述加密請求攜帶的數(shù)據(jù)加密;
加密數(shù)據(jù)及標(biāo)簽輸出單元,用于輸出加密后的數(shù)據(jù)以及所述密鑰標(biāo)簽,以將上述信息對應(yīng)存儲于存儲設(shè)備。
可選的,所述密鑰及標(biāo)簽選取單元包括:
密鑰更換判斷子單元,用于判斷是否需要更換密鑰;
新密鑰及標(biāo)簽獲取子單元,用于當(dāng)所述密鑰更換判斷子單元的輸出為是時,從所述密鑰池中獲取密鑰,所述密鑰與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同;并獲取用于標(biāo)識所述密鑰的、且與密鑰管理中心相同的密鑰標(biāo)簽;
舊密鑰及標(biāo)簽采用子單元,用于當(dāng)所述密鑰更換判斷子單元的輸出為否時,采用上一次執(zhí)行加密操作所用的密鑰、以及相應(yīng)的密鑰標(biāo)簽。
其中,所述新密鑰及標(biāo)簽獲取子單元包括:
新密鑰獲取子單元,用于當(dāng)所述密鑰更換判斷子單元的輸出為是時,從所述密鑰池中獲取密鑰,所述密鑰與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同;
新標(biāo)簽獲取子單元,用于獲取用于標(biāo)識所述密鑰的、且與密鑰管理中心相同的密鑰標(biāo)簽;
可選的,所述密鑰更換判斷子單元具體用于,根據(jù)是否接收到密鑰更換指令,判斷是否需要更換密鑰;或者,根據(jù)預(yù)設(shè)的密鑰更換策略,判斷是否需要更換密鑰。
可選的,所述新密鑰獲取子單元包括:
密鑰池密鑰獲取子單元,用于按照預(yù)設(shè)方式從所述密鑰池中獲取密鑰;
密鑰更換同步請求發(fā)送子單元,用于向密鑰管理中心發(fā)送密鑰更換同步請求、以觸發(fā)密鑰管理中心獲取相同的密鑰。
可選的,所述新標(biāo)簽獲取子單元具體用于,采用與密鑰管理中心相同的算法生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽;或者,采用與密鑰管理中心交互確認(rèn)由任一方生成的密鑰標(biāo)簽的方式,獲取用于標(biāo)識所述密鑰的密鑰標(biāo)簽。
此外,本申請還提供一種數(shù)據(jù)解密方法,包括:
接收針對已存儲數(shù)據(jù)的解密請求;
根據(jù)所述解密請求攜帶的密鑰標(biāo)簽,從密鑰管理中心獲取相應(yīng)的密鑰;
用所述密鑰對所述解密請求攜帶的數(shù)據(jù)解密;
將解密后的數(shù)據(jù)返回給所述解密請求的請求方。
可選的,所述根據(jù)所述解密請求攜帶的密鑰標(biāo)簽,從密鑰管理中心獲取相應(yīng)的密鑰,包括:
向密鑰管理中心發(fā)送密鑰獲取請求,所述請求中攜帶從所述解密請求中提取的密鑰標(biāo)簽;
從密鑰管理中心返回的應(yīng)答中獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰。
可選的,所述從密鑰管理中心返回的應(yīng)答中獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰,包括:
從密鑰管理中心返回的應(yīng)答中提取加密后的密鑰;
采用與密鑰管理中心相同的密鑰對所述加密后的密鑰解密,并將解密后的密鑰作為與所述密鑰標(biāo)簽對應(yīng)的密鑰。
可選的,在向密鑰管理中心發(fā)送密鑰獲取請求之前,執(zhí)行下述操作:
采用對稱加密算法,對從所述解密請求中提取的密鑰標(biāo)簽加密;
相應(yīng)的,在向密鑰管理中心發(fā)送的密鑰獲取請求中攜帶的是加密后的密鑰標(biāo)簽。
可選的,在向密鑰管理中心發(fā)送密鑰獲取請求之前,包括:
從加密解密單元的密鑰池中獲取密鑰,所述密鑰與通過發(fā)送密鑰獲取同步請求觸發(fā)密鑰管理中心獲取的密鑰相同;并將獲取的密鑰作為對從應(yīng)答中提取的密鑰解密所采用的密鑰、或者對從應(yīng)答中提取的密鑰解密以及對密鑰標(biāo)簽加密所采用的密鑰;
其中,所述密鑰池用于存儲加密解密單元與密鑰管理中心執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列。
可選的,在用所述密鑰對所述解密請求攜帶的數(shù)據(jù)解密之后,還包括:
刪除所述密鑰。
相應(yīng)的,本申請還提供一種數(shù)據(jù)解密裝置,包括:
解密請求接收單元,用于接收針對已存儲數(shù)據(jù)的解密請求;
密鑰獲取單元,用于根據(jù)所述解密請求攜帶的密鑰標(biāo)簽,從密鑰管理中心獲取相應(yīng)的密鑰;
數(shù)據(jù)解密單元,用于用所述密鑰對所述解密請求攜帶的數(shù)據(jù)解密;
解密數(shù)據(jù)返回單元,用于將解密后的數(shù)據(jù)返回給所述解密請求的請求方。
可選的,所述密鑰獲取單元包括:
獲取請求發(fā)送子單元,用于向密鑰管理中心發(fā)送密鑰獲取請求,所述請求中攜帶從所述解密請求中提取的密鑰標(biāo)簽;
應(yīng)答密鑰獲取子單元,用于從密鑰管理中心返回的應(yīng)答中獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰。
可選的,所述應(yīng)答密鑰獲取子單元,包括:
加密密鑰提取子單元,用于從密鑰管理中心返回的應(yīng)答中提取加密后的密鑰;
密鑰解密子單元,用于采用與密鑰管理中心相同的密鑰對所述加密后的密鑰解密,并將解密后的密鑰作為與所述密鑰標(biāo)簽對應(yīng)的密鑰。
可選的,所述裝置包括:
密鑰標(biāo)簽加密單元,用于在觸發(fā)所述密鑰獲取單元之前,采用對稱加密算法,對從所述解密請求中提取的密鑰標(biāo)簽加密;
所述獲取請求發(fā)送子單元具體用于,向密鑰管理中心發(fā)送攜帶加密后的密鑰標(biāo)簽的密鑰獲取請求。
此外,本申請還提供一種密鑰存儲方法,包括:
接收加密解密單元發(fā)送的密鑰更換同步請求;
從密鑰管理中心的密鑰池中獲取與加密解密單元相同的密鑰,所述密鑰池用于存儲密鑰管理中心與加密解密單元執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列;
獲取用于標(biāo)識所述密鑰的、且與加密解密單元相同的密鑰標(biāo)簽;
將所述密鑰和所述密鑰標(biāo)簽對應(yīng)存儲于密鑰數(shù)據(jù)庫中。
可選的,所述從密鑰管理中心的密鑰池中獲取與加密解密單元相同的密鑰,包括:按照預(yù)設(shè)的、與加密解密單元相同的方式從密鑰池中獲取密鑰。
可選的,所述密鑰更換同步請求中攜帶請求方所選密鑰的散列值;
在所述按照預(yù)設(shè)的、與加密解密單元相同的方式從密鑰池中獲取密鑰之后,還包括:
采用預(yù)設(shè)算法計算所述密鑰的散列值;
比較計算得到的散列值與所述密鑰更換同步請求中攜帶的散列值是否一致,若一致,則視為所述密鑰與加密解密單元獲取的密鑰相同。
可選的,所述獲取用于標(biāo)識所述密鑰的、且與加密解密單元相同的密鑰標(biāo)簽,包括:
采用與加密解密單元相同的算法生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽;
或者,
采用與加密解密單元交互確認(rèn)由任一方生成的密鑰標(biāo)簽的方式,獲取用于標(biāo)識所述密鑰的密鑰標(biāo)簽。
相應(yīng)的,本申請還提供一種密鑰存儲裝置,包括:
密鑰更換同步請求接收單元,用于接收加密解密單元發(fā)送的密鑰更換同步請求;
密鑰池密鑰獲取單元,用于從密鑰管理中心的密鑰池中獲取與加密解密單元相同的密鑰,所述密鑰池用于存儲密鑰管理中心與加密解密單元執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列;
密鑰標(biāo)簽獲取單元,用于獲取用于標(biāo)識所述密鑰的、且與加密解密單元相同的密鑰標(biāo)簽;
密鑰及標(biāo)簽存儲單元,用于將所述密鑰和所述密鑰標(biāo)簽對應(yīng)存儲于密鑰數(shù)據(jù)庫中。
可選的,所述密鑰池密鑰獲取單元,具體用于按照預(yù)設(shè)的、與加密解密單元相同的方式從密鑰池中獲取密鑰。
可選的,所述密鑰標(biāo)簽獲取單元,具體用于采用與加密解密單元相同的算法生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽;或者,采用與加密解密單元交互確認(rèn)由任一方生成的密鑰標(biāo)簽的方式,獲取用于標(biāo)識所述密鑰的密鑰標(biāo)簽。
此外,本申請還提供一種密鑰提供方法,包括:
接收加密解密單元發(fā)送的密鑰獲取請求;
根據(jù)所述密鑰獲取請求攜帶的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰;
將獲取的密鑰返回給加密解密單元。
可選的,在所述將獲取的密鑰返回給加密解密單元之前,執(zhí)行下述操作:
采用對稱加密算法,對所述獲取的密鑰加密;
相應(yīng)的,返回給加密解密單元的密鑰為:加密后的密鑰。
可選的,所述根據(jù)所述密鑰獲取請求攜帶的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰,包括:
從所述密鑰獲取請求中提取加密后的密鑰標(biāo)簽;
采用與加密解密單元相同的密鑰對所述加密后的密鑰標(biāo)簽解密;
根據(jù)解密后的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰。
可選的,在接收加密解密單元發(fā)送的密鑰獲取請求之前,包括:
根據(jù)接收到的密鑰獲取同步請求,從密鑰管理中心的密鑰池中獲取與加密解密單元相同的密鑰;并將獲取的密鑰作為對從密鑰數(shù)據(jù)庫獲取的密鑰加密所采用的密鑰、或者對從密鑰數(shù)據(jù)庫獲取的密鑰加密以及對密鑰標(biāo)簽解密所采用的密鑰;
其中,所述密鑰池用于存儲密鑰管理中心與加密解密單元執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列。
相應(yīng)的,本申請還提供一種密鑰提供裝置,包括:
密鑰獲取請求接收單元,用于接收加密解密單元發(fā)送的密鑰獲取請求;
密鑰查詢單元,用于根據(jù)所述密鑰獲取請求攜帶的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰;
密鑰返回單元,用于將獲取的密鑰返回給加密解密單元。
可選的,所述裝置還包括:
密鑰加密單元,用于在觸發(fā)密鑰返回單元之前,采用對稱加密算法,對所述獲取的密鑰加密;
相應(yīng)的,所述密鑰返回單元,具體用于將加密后的密鑰返回給加密解密單元。
可選的,所述密鑰查詢單元包括:
密鑰標(biāo)簽提取子單元,用于從所述密鑰獲取請求中提取加密后的密鑰標(biāo)簽;
密鑰標(biāo)簽解密子單元,用于采用與加密解密單元相同的密鑰對所述加密后的密鑰標(biāo)簽解密;
數(shù)據(jù)庫查詢子單元,用于根據(jù)解密后的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰。
此外,本申請還提供一種數(shù)據(jù)加密系統(tǒng),包括:根據(jù)上述任意一項所述的數(shù)據(jù)加密裝置,根據(jù)上述任意一項所述的數(shù)據(jù)解密裝置,根據(jù)上述任意一項所述的密鑰提供裝置,以及用于執(zhí)行量子密鑰分發(fā)操作的一對量子密鑰分發(fā)引擎裝置。
此外,本申請還提供另一種數(shù)據(jù)加密方法,包括:
接收針對待存儲數(shù)據(jù)的加密請求;
采用預(yù)設(shè)方式選取密鑰、以及用于標(biāo)識所述密鑰的密鑰標(biāo)簽;
用所述密鑰對所述加密請求攜帶的數(shù)據(jù)加密;
輸出加密后的數(shù)據(jù)以及所述密鑰標(biāo)簽,以將上述信息對應(yīng)存儲于存儲設(shè)備。
可選的,所述密鑰是從加密解密單元的密鑰池獲取的,所述密鑰池用于存儲加密解密單元與密鑰管理中心執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列。
與現(xiàn)有技術(shù)相比,本申請具有以下優(yōu)點:
本申請?zhí)峁┑臄?shù)據(jù)加密方法,接收針對待存儲數(shù)據(jù)的加密請求后,用基于預(yù)設(shè)方式選取的密鑰的對待存儲數(shù)據(jù)加密,并輸出加密后的數(shù)據(jù)、以及所選密鑰的密鑰標(biāo)簽,以便將這兩項信息對應(yīng)存儲于存儲設(shè)備中。其中,所述密鑰是從加密解密單元的密鑰池獲取的、且與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同,所述密鑰池用于存儲加密解密單元與密鑰管理中心執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列;用于標(biāo)識所述密鑰的密鑰標(biāo)簽與密鑰管理中心相同。
本申請?zhí)峁┑纳鲜龇椒?,采用量子密鑰分發(fā)技術(shù)實現(xiàn)密鑰管理中心與加密解密單元之間的密鑰分發(fā),基于量子力學(xué)原理保障密鑰分發(fā)過程的安全性;而且在執(zhí)行數(shù)據(jù)加密操作時,采用的是基于預(yù)設(shè)方式選取的密鑰、而不是固定密鑰,從而可以靈活地采用不同的密鑰對數(shù)據(jù)進(jìn)行加密,有效地保障了數(shù)據(jù)存儲的安全性;同時針對所使用的密鑰引入了密鑰標(biāo)簽,通過與密鑰管理中心維護(hù)相同密鑰及密鑰標(biāo)簽、以及在存儲設(shè)備上將加密后數(shù)據(jù)與密鑰標(biāo)簽對應(yīng)存儲,從而在采用不同密鑰對數(shù)據(jù)加密的同時,可以保證讀取數(shù)據(jù)時執(zhí)行正確的解密操作,而且省卻了管理維護(hù)人員在密鑰變更時維護(hù)歷史密鑰及數(shù)據(jù)的額外操作,大大簡化密鑰更換的操作流程。
附圖說明
圖1是本申請的一種數(shù)據(jù)加密方法的實施例的流程圖;
圖2是本申請實施例提供的采用預(yù)設(shè)方式選取密鑰、以及用于標(biāo)識所述密鑰的密鑰標(biāo)簽的處理流程圖;
圖3是本申請的一種數(shù)據(jù)加密裝置的實施例的示意圖;
圖4是本申請的一種密鑰存儲方法的實施例的流程圖;
圖5是本申請的一種密鑰存儲裝置的實施例的示意圖;
圖6是本申請的一種數(shù)據(jù)解密方法的實施例的流程圖;
圖7是本申請的一種數(shù)據(jù)解密裝置的實施例的示意圖;
圖8是本申請的一種密鑰提供方法的實施例的流程圖;
圖9是本申請的一種密鑰提供裝置的實施例的示意圖;
圖10是本申請的一種數(shù)據(jù)加密系統(tǒng)的示意圖;
圖11是本申請的另一種數(shù)據(jù)加密方法的實施例的流程圖。
具體實施方式
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本申請。但是,本申請能夠以很多不同于在此描述的其它方式來實施,本領(lǐng)域技術(shù)人員可以在不違背本申請內(nèi)涵的情況下做類似推廣,因此,本申請不受下面公開的具體實施的限制。
在本申請的技術(shù)方案中,量子密鑰分發(fā)操作,是指收發(fā)雙方量子設(shè)備遵循量子密鑰分發(fā)協(xié)議,經(jīng)過原始密鑰協(xié)商、密鑰篩選和糾錯、隱私放大等處理流程后,雙方生成相同的隨機(jī)密鑰序列的操作過程;密鑰序列,是指由若干密鑰比特組成的序列;密鑰池,是指存儲執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列的內(nèi)存區(qū)域;密鑰標(biāo)簽,是指用于區(qū)分不同密鑰的標(biāo)識信息,其形式可以為數(shù)值、或者字符串等;密鑰更換同步請求,是指加密解密單元發(fā)送給密鑰中心的、用于觸發(fā)密鑰中心從其密鑰池中獲取與加密解密單元相同密鑰的請求。
在本申請中,分別提供了一種數(shù)據(jù)加密方法及裝置,一種數(shù)據(jù)解密方法及裝置,一種密鑰存儲方法及裝置,一種密鑰提供方法及裝置,一種數(shù)據(jù)加密系統(tǒng),以及另一種數(shù)據(jù)加密方法。在下面的實施例中逐一進(jìn)行詳細(xì)說明。
現(xiàn)有的數(shù)據(jù)存儲加密實現(xiàn)方案中,通常包括加密解密單元和密鑰管理中心,由于加密解密單元通常采用固定密鑰對待存儲數(shù)據(jù)加密,而且在面臨密鑰泄露風(fēng)險時,在密鑰管理中心和加密解密單元通過非對稱加密算法進(jìn)行密鑰更新、或者進(jìn)行人工更新后,還需要管理維護(hù)人員執(zhí)行額外的維護(hù)處理,因此不僅數(shù)據(jù)存儲、密鑰分發(fā)的安全性得不到保障、而且密鑰更換操作復(fù)雜。
本申請?zhí)峁┑募夹g(shù)方案,包括:數(shù)據(jù)加密方法、數(shù)據(jù)解密方法、密鑰存儲方法、以及密鑰提供方法,通過引入量子密鑰分發(fā)技術(shù)、以及密鑰標(biāo)簽,解決了現(xiàn)有技術(shù)存在的上述問題。
本申請?zhí)峁┑募夹g(shù)方案,在密鑰管理中心和加密解密單元中分別添加量子密鑰分發(fā)引擎,通過執(zhí)行量子密鑰分發(fā)協(xié)議在密鑰管理中心和加密解密單元生成相同的密鑰序列,并存儲在各自的密鑰池中;當(dāng)需要對待存儲數(shù)據(jù)加密時,加密解密單元用從自己的密鑰池中獲取的密鑰進(jìn)行加密,并輸出加密后的數(shù)據(jù)以及密鑰標(biāo)簽,以便對應(yīng)存儲在存儲設(shè)備上,密鑰管理中心則將與加密解密單元同步獲取的相同密鑰以及密鑰標(biāo)簽存儲在密鑰數(shù)據(jù)庫中;當(dāng)需要對已存儲數(shù)據(jù)解密時,加密解密單元根據(jù)已存儲數(shù)據(jù)的密鑰標(biāo)簽向密鑰管理中心獲取密鑰,并用獲取的密鑰執(zhí)行解密操作。
其中,所述量子密鑰分發(fā)引擎執(zhí)行的量子密鑰分發(fā)協(xié)議包括bb84、b91、b92協(xié)議,以及后來為提高成碼率提出的continuousvariableqkd、dsp-qkp、sarg等協(xié)議。遵循量子密鑰分發(fā)協(xié)議的量子密鑰分發(fā)過程如下所述:其中一方(以下簡稱alice)隨機(jī)地產(chǎn)生一組二進(jìn)制數(shù)據(jù)串,根據(jù)數(shù)據(jù)串選擇基矢制備相應(yīng)編碼的量子態(tài),并通過量子信道發(fā)送給另一方(以下簡稱bob),bob接收到量子態(tài)后隨機(jī)選擇測量基矢進(jìn)行測量;隨后,bob通過經(jīng)典信道公開自己的測量基矢,從而雙方篩選出基矢相同的原始密鑰;最后雙方通過估計誤碼率、糾錯、隱私放大等處理獲取到無條件安全的密鑰序列。
在本技術(shù)方案中,密鑰管理中心和加密解密單元中的量子密鑰分發(fā)引擎,采用預(yù)設(shè)方式,例如:連續(xù)地、或者定時地,執(zhí)行量子密鑰分發(fā)協(xié)議,從而生成相同的密鑰序列,并存儲在各自的密鑰池中。
由于本技術(shù)方案引入了量子密鑰分發(fā)技術(shù),從而基于量子力學(xué)原理保障密鑰分發(fā)過程的安全性;進(jìn)一步地,由于引入了密鑰標(biāo)簽,因此可以采用不同的密鑰對待存儲數(shù)據(jù)加密,實現(xiàn)密鑰使用粒度的多樣化,一方面保證數(shù)據(jù)存儲的安全性,令一方面簡化了密鑰更換的操作流程。
下面對本申請?zhí)峁┑母鲗嵤├鹨贿M(jìn)行說明。為了便于描述,在以下的實施例中,將實施數(shù)據(jù)加密方法的模塊稱為數(shù)據(jù)加密模塊,將實施數(shù)據(jù)解密方法的模塊稱為數(shù)據(jù)解密模塊,將實施密鑰存儲方法的模塊稱為密鑰存儲模塊,將實施密鑰提供方法的模塊稱為密鑰提供模塊。
密鑰管理中心包括:密鑰存儲模塊、密鑰提供模塊、以及量子密鑰分發(fā)引擎模塊,加密解密單元包括:數(shù)據(jù)加密模塊、數(shù)據(jù)解密模塊、以及量子密鑰分發(fā)引擎模塊。其中,數(shù)據(jù)加密模塊輸出的密鑰更換同步請求,具體由密鑰管理中心的密鑰存儲模塊接收并處理,數(shù)據(jù)解密模塊輸出的密鑰獲取請求(以及密鑰獲取同步請求),具體由密鑰管理中心的密鑰提供模塊接收并處理。
參考圖1,其為本申請的一種數(shù)據(jù)加密方法的實施例的流程圖,所述方法包括如下步驟:
步驟101、接收針對待存儲數(shù)據(jù)的加密請求。
前端主機(jī)或者服務(wù)器輸出的數(shù)據(jù),通常會經(jīng)過拆分、壓縮等數(shù)據(jù)處理后,經(jīng)由加密解密單元的數(shù)據(jù)存儲加密模塊進(jìn)行加密處理。例如:前端主機(jī)或者服務(wù)器輸出的數(shù)據(jù),由執(zhí)行上述數(shù)據(jù)處理操作的功能單元進(jìn)行必要處理后,所述功能單元可以通過調(diào)用預(yù)設(shè)接口或者發(fā)送消息等方式觸發(fā)數(shù)據(jù)加密模塊對待存儲數(shù)據(jù)加密,數(shù)據(jù)加密模塊就會相應(yīng)接收到針對待存儲數(shù)據(jù)的加密請求,所述請求中至少攜帶待存儲數(shù)據(jù)。
步驟102、采用預(yù)設(shè)方式選取密鑰、以及用于標(biāo)識所述密鑰的密鑰標(biāo)簽。
本實施例的核心在于,加密解密單元與密鑰管理中心通過各自的量子密鑰分發(fā)引擎執(zhí)行量子密鑰分發(fā)操作生成密鑰序列,并存儲在各自的密鑰池中。對待存儲數(shù)據(jù)加密時,則可以采用加密解密單元密鑰池中的密鑰進(jìn)行加密。具體到每一次的數(shù)據(jù)加密操作,可以選用上一次執(zhí)行加密操作所使用的密鑰、該密鑰也是從密鑰池中獲取的,即,用舊密鑰執(zhí)行本次加密操作,也可以重新從密鑰池中獲取密鑰,即,用更換后的新密鑰執(zhí)行本次加密操作。
不難理解,如果存儲設(shè)備中所存儲的加密數(shù)據(jù)使用的是相同密鑰的話,一旦密鑰泄露,會造成所有數(shù)據(jù)的泄露。然而如果存儲設(shè)備中的加密數(shù)據(jù)不是采用相同密鑰加密的話,那么泄露的密鑰只能破解泄露的密鑰對應(yīng)的加密數(shù)據(jù),會大大降低危害性。密鑰更換的時間粒度越小,數(shù)據(jù)的安全性越高。因此本步驟通過預(yù)設(shè)方式選取用于加密的密鑰、而不是固定使用相同的密鑰,從而消除了使用相同密鑰加密的弊端,有助于提高數(shù)據(jù)存儲的安全性。本步驟的具體實施可以包括步驟102-1至步驟102-4,下面結(jié)合圖2作進(jìn)一步說明。
步驟102-1、判斷是否需要更換密鑰,若是,執(zhí)行步驟102-2,否則,執(zhí)行步驟102-4。
可以采用不同的方式判斷是否需要更換密鑰。下面給出兩種實施方式:
(一)根據(jù)預(yù)設(shè)的密鑰更換策略進(jìn)行判斷。
所述預(yù)設(shè)的密鑰更換策略可以是:按照預(yù)設(shè)的時間間隔更換密鑰。例如:預(yù)設(shè)的時間間隔為5秒,在具體實施時則可以設(shè)置定時器的超時時間為5秒,如果發(fā)生定時器超時事件,則判定需要更換密鑰(并在更換密鑰后復(fù)位定時器),否則不需要更換。
所述預(yù)設(shè)的密鑰更換策略,也可以是:針對每次接收到的加密請求更換密鑰,這也是本實施例提供的優(yōu)選實施方式。針對每次加密請求中攜帶的數(shù)據(jù)都采用更換后的密鑰進(jìn)行加密,即:實現(xiàn)對數(shù)據(jù)的“一存一密”,從而可以提供更高安全等級的加密服務(wù),即使出現(xiàn)某一密鑰泄露的情況,被破解的也只是用這個密鑰加密的數(shù)據(jù),不會造成其他的數(shù)據(jù)泄露。
上述列舉了兩種密鑰更換策略,在實際實施時,還可以預(yù)先設(shè)定其他的密鑰更換策略,此處不再贅述。通過設(shè)置不同的密鑰更換策略,可以實現(xiàn)密鑰使用的不同粒度,為提高數(shù)據(jù)存儲的安全性提供保障。
(二)根據(jù)是否接收到密鑰更換指令進(jìn)行判斷。
具體實施時,也可以將根據(jù)預(yù)設(shè)的密鑰更換策略決定是否更換密鑰的功能從數(shù)據(jù)存儲加密模塊剝離出來,由其他模塊或者單元依據(jù)預(yù)設(shè)的密鑰更換策略進(jìn)行決策,并發(fā)送相應(yīng)的密鑰更換指令。在這種情況下,如果數(shù)據(jù)存儲加密模塊接收到密鑰更換指令、則判定需要更換密鑰,否則不需要。
例如:密鑰更換指令可以由發(fā)送加密請求的功能單元發(fā)送,如果步驟101接收到的加密請求中攜帶了密鑰更換指令,則判定需要更換密鑰,否則不需要。
步驟102-2、從加密解密單元的密鑰池中獲取密鑰,所述密鑰與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同。
執(zhí)行到本步驟,說明需要更換密鑰,因此本步驟可以從加密解密單元的密鑰池中獲取密鑰,考慮到后續(xù)通常會有對加密數(shù)據(jù)的解密需求,因此從密鑰池中獲取密鑰的操作應(yīng)該與密鑰管理中心同步,從而密鑰管理中心可以存儲相應(yīng)的密鑰信息以便執(zhí)行解密操作。
具體實現(xiàn)可以是:按照預(yù)設(shè)方式從加密解密單元的密鑰池中獲取密鑰;向密鑰管理中心發(fā)送密鑰更換同步請求、以觸發(fā)密鑰管理中心獲取相同的密鑰。所述預(yù)設(shè)方式可以是:從所述密鑰池存儲的、尚未使用的密鑰序列的第一個密鑰比特開始,截取預(yù)設(shè)長度的密鑰,并在密鑰池中將該密鑰標(biāo)識為已使用。密鑰管理中心也采用同樣的方式從其密鑰池中截取密鑰,從而雙方獲取了相同的密鑰。
優(yōu)選地,在按照預(yù)設(shè)方式從所述密鑰池中獲取密鑰之后,還可以采用預(yù)設(shè)算法計算所述密鑰的散列值,并在向密鑰管理中心發(fā)送的密鑰更換同步請求中包含所述散列值,從而密鑰管理中心可以通過比對散列值,驗證雙方選取的密鑰的確是相同的。在具體實施過程中,如果出現(xiàn)不一致的現(xiàn)象,則雙方可以通過協(xié)商重新選取密鑰。
在具體實施時,本步驟也可以按照隨機(jī)方式從所述密鑰池中選取密鑰,并在發(fā)送給密鑰管理中心的密鑰更換同步請求中攜帶選取密鑰的具體方式,例如:選取的位置、密鑰長度等,以供密鑰管理中心獲取相同的密鑰。
步驟102-3、獲取用于標(biāo)識所述密鑰的、且與密鑰管理中心相同的密鑰標(biāo)簽。
由于在步驟102-2中選取了密鑰,考慮到對加密數(shù)據(jù)的解密需求,需要獲取用于標(biāo)識所述密鑰的密鑰標(biāo)識、并且與密鑰管理中心存儲的相應(yīng)信息一致。例如:選取的密鑰為key1,密鑰標(biāo)識為key_id1,那么在密鑰管理中心存儲的key1的密鑰標(biāo)識也是key_id1,從而密鑰管理中心可以根據(jù)密鑰標(biāo)識為解密操作提供正確的密鑰,保證解密操作的正確執(zhí)行。
獲取與密鑰管理中心相同的密鑰標(biāo)識,可以采用多種方式實現(xiàn),在此列舉兩種:
(一)采用與密鑰管理中心相同的算法生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽。例如:采用遞增計數(shù)器生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽,遞增計數(shù)器的初始值設(shè)置為0,每次更換密鑰,則將計數(shù)器的數(shù)值加1,并用執(zhí)行累加操作后的計數(shù)器數(shù)值作為密鑰標(biāo)簽,密鑰管理中心也采用相同的算法生成密鑰標(biāo)簽。
(二)采用與密鑰管理中心交互確認(rèn)由任一方生成的密鑰標(biāo)簽的方式,獲取用于標(biāo)識所述密鑰的密鑰標(biāo)簽。例如:可以采用預(yù)設(shè)算法生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽,然后將密鑰標(biāo)簽發(fā)送給密鑰管理中心,從而密鑰管理中心也就獲取了同樣的密鑰標(biāo)簽。或者,接收由密鑰管理中心生成并發(fā)送的密鑰標(biāo)簽,也是可以的。
至此,通過步驟102-2和步驟102-3從密鑰池中選取了新的密鑰、并且獲取了用于標(biāo)識所述密鑰的密鑰標(biāo)簽,在再次更換密鑰之前的數(shù)據(jù)加密操作,都可以使用該密鑰。
需要說明的是,在步驟102-1判斷出需要更換密鑰的情況下,還可以刪除上一次執(zhí)行加密操作所用的密鑰、以及相應(yīng)的密鑰標(biāo)簽,采用這種方式,不僅可以減少對存儲空間的占用,而且由于不在加密解密單元中存儲密鑰,而是由密鑰管理中心集中管理,可以減少密鑰泄露的幾率。
步驟102-4、采用上一次執(zhí)行加密操作所用的密鑰、以及相應(yīng)的密鑰標(biāo)簽。
執(zhí)行到本步驟,說明不需要更換密鑰,因此可以繼續(xù)采用上一次執(zhí)行加密操作所用的密鑰、以及相應(yīng)的密鑰標(biāo)簽。
至此,通過步驟102-1至步驟102-4對選取密鑰以及密鑰標(biāo)簽的實施方式進(jìn)行了描述,在本實施例給出的上述實施方式中需要先判斷是否需要更換密鑰,然后再執(zhí)行相應(yīng)的操作,在具體實施時也可以對上述實施方式進(jìn)行變更,例如:對于固定采用“一存一密”的應(yīng)用場景,可以直接從加密解密單元的密鑰池中獲取密鑰,并向密鑰管理中心發(fā)送密鑰更換同步請求,也是可以的。
步驟103、用所述密鑰對所述加密請求攜帶的數(shù)據(jù)加密。
在步驟102中已經(jīng)選取了密鑰,本步驟可以采用對稱加密算法,利用所選密鑰對步驟101接收到的加密請求攜帶的數(shù)據(jù)加密。所述對稱加密算法包括:rc2、rc4、des(dataencryptionstandard)、3des、或aes(advancedencryptionstandard)算法等。
步驟104、輸出加密后的數(shù)據(jù)以及所述密鑰標(biāo)簽,以將上述信息對應(yīng)存儲于存儲設(shè)備。
完成加密操作后,將加密后的數(shù)據(jù)以及加密所用密鑰的密鑰標(biāo)簽一并輸出,以將這兩項信息對應(yīng)存儲于存儲設(shè)備上。在具體實施時,可以直接輸出到存儲設(shè)備,也可以輸出給負(fù)責(zé)與存儲設(shè)備接口的其他功能單元,由其他功能單元完成將加密后的數(shù)據(jù)及密鑰標(biāo)簽寫入存儲設(shè)備的功能。
綜上所述,本實施例提供的數(shù)據(jù)加密方法,采用量子密鑰分發(fā)技術(shù)實現(xiàn)密鑰管理中心與密鑰加密解密單元之間的密鑰分發(fā),基于量子力學(xué)原理保障密鑰分發(fā)過程的安全性;而且執(zhí)行數(shù)據(jù)加密操作時,采用的是基于預(yù)設(shè)方式選取的密鑰、而不是固定密鑰,從而可以靈活地采用不同的密鑰對數(shù)據(jù)進(jìn)行加密,有效地保障了數(shù)據(jù)存儲的安全性;同時針對所使用的密鑰引入了密鑰標(biāo)簽,通過與密鑰管理中心維護(hù)相同密鑰及密鑰標(biāo)簽、以及在存儲設(shè)備上將加密后數(shù)據(jù)與密鑰標(biāo)簽對應(yīng)存儲,從而在采用不同密鑰對數(shù)據(jù)加密的同時,可以保證讀取數(shù)據(jù)時執(zhí)行正確的解密操作,而且省卻了管理維護(hù)人員在密鑰變更時維護(hù)歷史密鑰及數(shù)據(jù)的額外操作,大大簡化密鑰更換的操作流程。
在上述的實施例中,提供了一種數(shù)據(jù)加密方法,與之相對應(yīng)的,本申請還提供一種數(shù)據(jù)加密裝置。請參看圖3,其為本申請的一種數(shù)據(jù)加密裝置的實施例的示意圖。由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。
本實施例的一種數(shù)據(jù)加密裝置,包括:加密請求接收單元301,用于接收針對待存儲數(shù)據(jù)的加密請求;密鑰及標(biāo)簽選取單元302,用于采用預(yù)設(shè)方式選取密鑰、以及用于標(biāo)識所述密鑰的密鑰標(biāo)簽;所述密鑰是從加密解密單元的密鑰池獲取的、且與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同,所述密鑰池用于存儲加密解密單元與密鑰管理中心執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列;用于標(biāo)識所述密鑰的密鑰標(biāo)簽與密鑰管理中心相同;數(shù)據(jù)加密單元303,用于采用對稱加密算法,用所述密鑰對所述加密請求攜帶的數(shù)據(jù)加密;加密數(shù)據(jù)及標(biāo)簽輸出單元304,用于輸出加密后的數(shù)據(jù)以及所述密鑰標(biāo)簽,以將上述信息對應(yīng)存儲于存儲設(shè)備。
可選的,所述密鑰及標(biāo)簽選取單元包括:
密鑰更換判斷子單元,用于判斷是否需要更換密鑰;
新密鑰及標(biāo)簽獲取子單元,用于當(dāng)所述密鑰更換判斷子單元的輸出為是時,從所述密鑰池中獲取密鑰,所述密鑰與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同;并獲取用于標(biāo)識所述密鑰的、且與密鑰管理中心相同的密鑰標(biāo)簽;
舊密鑰及標(biāo)簽采用子單元,用于當(dāng)所述密鑰更換判斷子單元的輸出為否時,采用上一次執(zhí)行加密操作所用的密鑰、以及相應(yīng)的密鑰標(biāo)簽。
其中,所述新密鑰及標(biāo)簽獲取子單元包括:
新密鑰獲取子單元,用于當(dāng)所述密鑰更換判斷子單元的輸出為是時,從所述密鑰池中獲取密鑰,所述密鑰與通過發(fā)送密鑰更換同步請求觸發(fā)密鑰管理中心獲取的密鑰相同;
新標(biāo)簽獲取子單元,用于獲取用于標(biāo)識所述密鑰的、且與密鑰管理中心相同的密鑰標(biāo)簽;
可選的,所述密鑰更換判斷子單元具體用于,根據(jù)是否接收到密鑰更換指令,判斷是否需要更換密鑰;或者,根據(jù)預(yù)設(shè)的密鑰更換策略,判斷是否需要更換密鑰。
可選的,所述新密鑰獲取子單元包括:
密鑰池密鑰獲取子單元,用于按照預(yù)設(shè)方式從所述密鑰池中獲取密鑰;
密鑰更換同步請求發(fā)送子單元,用于向密鑰管理中心發(fā)送密鑰更換同步請求、以觸發(fā)密鑰管理中心獲取相同的密鑰。
可選的,所述新標(biāo)簽獲取子單元具體用于,采用與密鑰管理中心相同的算法生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽;或者,采用與密鑰管理中心交互確認(rèn)由任一方生成的密鑰標(biāo)簽的方式,獲取用于標(biāo)識所述密鑰的密鑰標(biāo)簽。
此外,本申請還提供一種密鑰存儲方法,請參考圖4,其為本申請?zhí)峁┑拿荑€存儲方法的實施例的流程圖,本實施例與上述方法實施例步驟相同的部分不再贅述,下面重點描述不同之處。本實施例的一種密鑰存儲方法包括如下步驟:
步驟401、接收加密解密單元發(fā)送的密鑰更換同步請求。
加密解密單元的數(shù)據(jù)存儲加密模塊接收到針對待存儲數(shù)據(jù)的加密請求、并且需要更換密鑰時,會向密鑰管理中心發(fā)送密鑰更換同步請求,密鑰管理中心的密鑰管理模塊就會接收到該請求。
步驟402、從密鑰管理中心的密鑰池中獲取與加密解密單元相同的密鑰,所述密鑰池用于存儲密鑰管理中心與加密解密單元執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列。
密鑰管理中心的密鑰池中,存儲了密鑰管理中心的量子密鑰分發(fā)引擎與加密解密單元的量子密鑰分發(fā)引擎執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列。
本步驟可以按照預(yù)設(shè)的、與加密解密單元相同的方式從密鑰管理中心的密鑰池中獲取密鑰。例如:從所述密鑰池存儲的、尚未使用的密鑰序列的第一個密鑰比特開始,截取預(yù)設(shè)長度的密鑰,并在密鑰池中將該密鑰標(biāo)識為已使用。由于加密解密單元也采用相同方式從其密鑰池中獲取密鑰,因此雙方可以獲取相同的密鑰。
優(yōu)選地,如果在所述密鑰更換同步請求中攜帶了密鑰的散列值,那么在按照上述方式從所述密鑰池中獲取密鑰之后,還可以采用與加密解密單元相同的預(yù)設(shè)算法計算所述密鑰的散列值,并比較計算得到的散列值與所述密鑰更換同步請求中攜帶的散列值是否一致,若一致,則視為所述密鑰與加密解密單元獲取的、用于執(zhí)行加密操作的密鑰相同,從而驗證了雙方選取的密鑰的確是相同的。在具體實施過程中,一旦出現(xiàn)不一致的現(xiàn)象,則雙方可以重新協(xié)商選取密鑰。
在具體實施時,本步驟也可以根據(jù)所述密鑰更換同步請求中攜帶的密鑰選取位置、密鑰長度等信息,從密鑰池中獲取密鑰;也可以采用其他方式從密鑰池中獲取密鑰,只要能夠與加密解密單元獲取相同的密鑰就都是可以的。
步驟403、獲取用于標(biāo)識所述密鑰的、且與加密解密單元相同的密鑰標(biāo)簽。
本步驟可以采用與加密解密單元相同的算法生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽;或者,采用與加密解密單元交互確認(rèn)由任一方生成的密鑰標(biāo)簽的方式,獲取用于標(biāo)識所述密鑰的密鑰標(biāo)簽。
步驟404、將所述密鑰和所述密鑰標(biāo)簽對應(yīng)存儲于密鑰數(shù)據(jù)庫中。
本步驟將步驟402獲取的密鑰、以及步驟403獲取的密鑰標(biāo)簽對應(yīng)存儲于密鑰數(shù)據(jù)庫中,從而將加密解密單元執(zhí)行數(shù)據(jù)加密操作所用的密鑰存儲下來,并且通過密鑰標(biāo)簽與被存儲數(shù)據(jù)之間建立關(guān)聯(lián)。當(dāng)需要執(zhí)行解密操作時,就可以根據(jù)密鑰標(biāo)簽從密鑰數(shù)據(jù)庫中獲取相應(yīng)的密鑰。
至此,通過上述步驟401-404,對本實施例提供的密鑰存儲方法的實施方式進(jìn)行了說明。通過上面的描述可以看出,由于根據(jù)接收到的密鑰更換同步請求,獲取了與加密解密單元相同的密鑰和密鑰標(biāo)簽,并且對應(yīng)存儲在密鑰數(shù)據(jù)庫中,從而確保與被加密數(shù)據(jù)對應(yīng)的密鑰被存儲下來、并且可以基于密鑰標(biāo)簽進(jìn)行查詢,從而為正確地執(zhí)行解密操作提供數(shù)據(jù)保障。
在上述的實施例中,提供了一種密鑰存儲方法,與之相對應(yīng)的,本申請還提供一種密鑰存儲裝置。請參看圖5,其為本申請的一種密鑰存儲裝置的實施例的示意圖。由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。
本實施例的一種密鑰存儲裝置,包括:密鑰更換同步請求接收單元501,用于接收加密解密單元發(fā)送的密鑰更換同步請求;密鑰池密鑰獲取單元502,用于從密鑰管理中心的密鑰池中獲取與加密解密單元相同的密鑰,所述密鑰池用于存儲密鑰管理中心與加密解密單元執(zhí)行量子密鑰分發(fā)操作生成的密鑰序列;密鑰標(biāo)簽獲取單元503,用于獲取用于標(biāo)識所述密鑰的、且與加密解密單元相同的密鑰標(biāo)簽;密鑰及標(biāo)簽存儲單元504,用于將所述密鑰和所述密鑰標(biāo)簽對應(yīng)存儲于密鑰數(shù)據(jù)庫中。
可選的,所述密鑰池密鑰獲取單元,具體用于按照預(yù)設(shè)的、與加密解密單元相同的方式從密鑰池中獲取密鑰。
可選的,所述密鑰標(biāo)簽獲取單元,具體用于采用與加密解密單元相同的算法生成用于標(biāo)識所述密鑰的密鑰標(biāo)簽;或者,采用與加密解密單元交互確認(rèn)由任一方生成的密鑰標(biāo)簽的方式,獲取用于標(biāo)識所述密鑰的密鑰標(biāo)簽。
此外,本申請還提供一種數(shù)據(jù)解密方法,請參考圖6,其為本申請?zhí)峁┑囊环N數(shù)據(jù)解密方法的實施例的流程圖,本實施例與上述方法實施例步驟相同的部分不再贅述,下面重點描述不同之處。本實施例的一種數(shù)據(jù)解密方法包括如下步驟:
步驟601、接收針對已存儲數(shù)據(jù)的解密請求。
根據(jù)應(yīng)用程序或者用戶對已存儲在存儲設(shè)備上的數(shù)據(jù)的讀取需求,與存儲設(shè)備之間有訪問接口的功能單元通常會從存儲設(shè)備上讀取被請求的數(shù)據(jù),然后通過調(diào)用預(yù)設(shè)接口或者發(fā)送消息等方式觸發(fā)數(shù)據(jù)解密模塊執(zhí)行解密操作,數(shù)據(jù)解密模塊就會相應(yīng)接收到針對已存儲數(shù)據(jù)的解密請求。所述解密請求中不僅攜帶待解密的數(shù)據(jù)、而且還攜帶加密所述數(shù)據(jù)所用密鑰的密鑰標(biāo)簽。
步驟602、根據(jù)所述解密請求攜帶的密鑰標(biāo)簽,從密鑰管理中心獲取相應(yīng)的密鑰。
從密鑰管理中心獲取密鑰的操作步驟為:向密鑰管理中心發(fā)送密鑰獲取請求,所述請求中攜帶從所述解密請求中提取的密鑰標(biāo)簽;密鑰管理中心通過查找密鑰數(shù)據(jù)庫獲取對應(yīng)于所述密鑰標(biāo)簽的密鑰,并返回包含所述密鑰的應(yīng)答,本步驟則可以從返回的應(yīng)答中獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰。
優(yōu)選地,為了保證在應(yīng)答中攜帶的密鑰的安全性,密鑰管理中心通常會將對應(yīng)于所述密鑰標(biāo)簽的密鑰采用對稱加密算法加密后返回,因此從密鑰管理中心返回的應(yīng)答中獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰的步驟可以包括:先從密鑰管理中心返回的應(yīng)答中提取加密后的密鑰,然后采用與密鑰管理中心相同的密鑰對所述加密后的密鑰解密,并將解密后的密鑰作為與所述密鑰標(biāo)簽對應(yīng)的密鑰。
進(jìn)一步優(yōu)選地,在對從密鑰數(shù)據(jù)庫獲取的密鑰加密、以及對從應(yīng)答中提取的密鑰解密的操作中,密鑰管理中心與數(shù)據(jù)存儲解密模塊可以采用預(yù)設(shè)的相同密鑰執(zhí)行所需的加解密操作,也可以采用從密鑰池中獲取相同密鑰的優(yōu)選實施方式,即:本步驟在向密鑰管理中心發(fā)送密鑰獲取請求之前,可以從加密解密單元的密鑰池中獲取密鑰、所述密鑰與通過發(fā)送密鑰獲取同步請求觸發(fā)密鑰管理中心獲取的密鑰相同,并將獲取的密鑰作為對從應(yīng)答中提取的密鑰解密所采用的密鑰。采用這種方式,相當(dāng)于構(gòu)建了量子安全傳輸信道,能夠進(jìn)一步保證密鑰傳輸過程的安全性。
此外,為了保證密鑰獲取請求攜帶的密鑰標(biāo)簽的安全性,數(shù)據(jù)存儲解密模塊可以在向密鑰管理中心發(fā)送密鑰獲取請求之前,采用對稱加密算法,對從所述解密請求中提取的密鑰標(biāo)簽加密,相應(yīng)的,在向密鑰管理中心發(fā)送的密鑰獲取請求中攜帶加密后的密鑰標(biāo)簽。
同樣的道理,為了進(jìn)一步保證密鑰標(biāo)簽傳輸?shù)陌踩?,本步驟可以采用在向密鑰管理中心發(fā)送密鑰獲取請求之前、從密鑰池中獲取的密鑰對密鑰標(biāo)簽加密,相應(yīng)的,密鑰管理中心也采用從其密鑰池中同步獲取的相同密鑰對接收到的密鑰標(biāo)簽解密。
步驟603、用所述密鑰對所述解密請求攜帶的數(shù)據(jù)解密。
步驟602獲取的密鑰,是步驟601接收到的解密請求所攜帶的數(shù)據(jù)的加密密鑰,因此本步驟可以根據(jù)該密鑰對所述數(shù)據(jù)進(jìn)行解密,從而可以還原出加密前的數(shù)據(jù),即:明文。
優(yōu)選地,在完成解密操作后,可以刪除所述從密鑰管理中心獲取的密鑰。采用這種方式,不僅可以減少對存儲空間的占用,而且由于不在加密解密單元中存儲密鑰、而是由密鑰管理中心集中管理,可以減少密鑰泄露的幾率。
步驟604、將解密后的數(shù)據(jù)返回給所述解密請求的請求方。
將解密后的數(shù)據(jù)返回給請求方,所述請求方可以對解密后的數(shù)據(jù)進(jìn)行必要的處理,例如:拼接、解壓縮等,并將處理后的數(shù)據(jù)返回給需要讀取數(shù)據(jù)的應(yīng)用程序或者用戶。
至此,通過上述步驟601-604,對本實施例提供的數(shù)據(jù)解密方法的實施方式進(jìn)行了說明。通過上面的描述可以看出,由于根據(jù)與已存儲數(shù)據(jù)對應(yīng)存儲的密鑰標(biāo)簽,從密鑰管理中心獲取了相應(yīng)的密鑰,因此雖然在存儲設(shè)備上存儲的數(shù)據(jù)是采用不同密鑰加密的,本方法依然可以執(zhí)行正確的解密操作,從而在采用不同加密密鑰保障數(shù)據(jù)安全性的同時,避免了因為無法解密造成的數(shù)據(jù)損失。
在上述的實施例中,提供了一種數(shù)據(jù)解密方法,與之相對應(yīng)的,本申請還提供一種數(shù)據(jù)解密裝置。請參看圖7,其為本申請的一種數(shù)據(jù)解密裝置的實施例的示意圖。由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。
本實施例的一種數(shù)據(jù)解密裝置,包括:解密請求接收單元701,用于接收針對已存儲數(shù)據(jù)的解密請求;密鑰獲取單元702,用于根據(jù)所述解密請求攜帶的密鑰標(biāo)簽,從密鑰管理中心獲取相應(yīng)的密鑰;數(shù)據(jù)解密單元703,用于用所述密鑰對所述解密請求攜帶的數(shù)據(jù)解密;解密數(shù)據(jù)返回單元704,用于將解密后的數(shù)據(jù)返回給所述解密請求的請求方。
可選的,所述密鑰獲取單元包括:
獲取請求發(fā)送子單元,用于向密鑰管理中心發(fā)送密鑰獲取請求,所述請求中攜帶從所述解密請求中提取的密鑰標(biāo)簽;
應(yīng)答密鑰獲取子單元,用于從密鑰管理中心返回的應(yīng)答中獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰。
可選的,所述應(yīng)答密鑰獲取子單元,包括:
加密密鑰提取子單元,用于從密鑰管理中心返回的應(yīng)答中提取加密后的密鑰;
密鑰解密子單元,用于采用與密鑰管理中心相同的密鑰對所述加密后的密鑰解密,并將解密后的密鑰作為與所述密鑰標(biāo)簽對應(yīng)的密鑰。
可選的,所述裝置包括:
密鑰標(biāo)簽加密單元,用于在觸發(fā)所述密鑰獲取單元之前,采用對稱加密算法,對從所述解密請求中提取的密鑰標(biāo)簽加密;
所述獲取請求發(fā)送子單元具體用于,向密鑰管理中心發(fā)送攜帶加密后的密鑰標(biāo)簽的密鑰獲取請求。
此外,本申請還提供一種密鑰提供方法,請參考圖8,其為本申請?zhí)峁┑囊环N密鑰提供方法的實施例的流程圖,本實施例與上述方法實施例步驟相同的部分不再贅述,下面重點描述不同之處。本實施例的一種密鑰提供方法包括如下步驟:
步驟801、接收加密解密單元發(fā)送的密鑰獲取請求。
當(dāng)加密解密單元的數(shù)據(jù)解密模塊接收到解密請求后,向密鑰管理中心發(fā)送密鑰獲取請求,密鑰管理中心的密鑰提供模塊就會接收到該請求。所述請求中攜帶了與待解密數(shù)據(jù)對應(yīng)存儲于存儲設(shè)備上的密鑰標(biāo)簽。
步驟802、根據(jù)所述密鑰獲取請求攜帶的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰。
本步驟根據(jù)密鑰獲取請求攜帶的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,例如通過執(zhí)行sql語句進(jìn)行查詢,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰,即:加密解密單元所需的、用于執(zhí)行解密操作的密鑰。
優(yōu)選地,為了保證密鑰獲取請求中攜帶的密鑰標(biāo)簽的安全性,加密解密單元通常會將在密鑰獲取請求中攜帶的密鑰標(biāo)簽加密,因此本步驟可以:從所述密鑰獲取請求中提取加密后的密鑰標(biāo)簽;采用與加密解密單元相同的密鑰對所述加密后的密鑰標(biāo)簽解密;根據(jù)解密后的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰。
進(jìn)一步優(yōu)選地,在接收加密解密單元發(fā)送的密鑰獲取請求之前,可以根據(jù)接收到的密鑰獲取同步請求,從密鑰管理中心的密鑰池中獲取與加密解密單元相同的密鑰;并將獲取的密鑰作為對密鑰標(biāo)簽解密所采用的密鑰。采用這種方式,能夠進(jìn)一步保證密鑰標(biāo)簽傳輸?shù)陌踩浴?/p>
步驟803、將獲取的密鑰返回給加密解密單元。
本步驟可以將獲取的密鑰返回給所述密鑰獲取請求的請求方,即:加密解密單元,以供加密解密單元執(zhí)行解密操作。
優(yōu)選地,為了保證所述密鑰在傳輸過程中的安全性,可以在將獲取的密鑰返回給加密解密單元之前,采用對稱加密算法,對所述獲取的密鑰加密;相應(yīng)的,返回給加密解密單元的密鑰為:加密后的密鑰。
進(jìn)一步優(yōu)選地,在接收加密解密單元發(fā)送的密鑰獲取請求之前,可以根據(jù)接收到的密鑰獲取同步請求,從密鑰管理中心的密鑰池中獲取與加密解密單元相同的密鑰;并將獲取的密鑰作為對從密鑰數(shù)據(jù)庫獲取的密鑰加密所采用的密鑰。采用這種方式,能夠進(jìn)一步保證密鑰傳輸過程的安全性。
同樣的道理,如果在步驟801中接收到進(jìn)一步保證密鑰標(biāo)簽傳輸?shù)陌踩?,本步驟可以采用上述從密鑰池中獲取的密鑰對密鑰標(biāo)簽加密,相應(yīng)的,密鑰管理中心也采用從其密鑰池中同步獲取的相同密鑰對接收到的密鑰標(biāo)簽解密。
至此,通過上述步驟801-803,對本實施例提供的密鑰提供方法的實施方式進(jìn)行了說明。通過上面的描述可以看出,本方法能夠根據(jù)密鑰獲取請求攜帶的密鑰標(biāo)簽為加密解密單元提供所需的密鑰,從而為加密解密單元執(zhí)行正確的解密操作提供了保障。
在上述的實施例中,提供了一種密鑰提供方法,與之相對應(yīng)的,本申請還提供一種密鑰提供裝置。請參看圖9,其為本申請的一種密鑰提供裝置的實施例的示意圖。由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。
本實施例的一種密鑰提供裝置,包括:密鑰獲取請求接收單元901,用于接收加密解密單元發(fā)送的密鑰獲取請求;密鑰查詢單元902,用于根據(jù)所述密鑰獲取請求攜帶的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰;密鑰返回單元903,用于將獲取的密鑰返回給加密解密單元。
可選的,所述裝置包括:
密鑰加密單元,用于在觸發(fā)密鑰返回單元之前,采用對稱加密算法,對所述獲取的密鑰加密;
相應(yīng)的,所述密鑰返回單元,具體用于將加密后的密鑰返回給加密解密單元。
可選的,所述密鑰查詢單元包括:
密鑰標(biāo)簽提取子單元,用于從所述密鑰獲取請求中提取加密后的密鑰標(biāo)簽;
密鑰標(biāo)簽解密子單元,用于采用與加密解密單元相同的密鑰對所述加密后的密鑰標(biāo)簽解密;
數(shù)據(jù)庫查詢子單元,用于根據(jù)解密后的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫,獲取與所述密鑰標(biāo)簽對應(yīng)的密鑰。
此外,本申請還提供一種數(shù)據(jù)加密系統(tǒng),如圖10所示,所述系統(tǒng)包括數(shù)據(jù)加密裝置1001-1、數(shù)據(jù)解密裝置1001-2、密鑰存儲裝置1002-1、密鑰提供裝置1002-2、以及用于執(zhí)行量子密鑰分發(fā)操作的一對量子密鑰分發(fā)引擎裝置1001-3和1002-3。
在具體實施時,所述數(shù)據(jù)加密裝置1001-1、數(shù)據(jù)解密裝置1001-2、以及量子密鑰分發(fā)引擎裝置1001-3可以部署于加密解密設(shè)備1001,所述密鑰存儲裝置1002-1、密鑰提供裝置1002-2、以及量子密鑰分發(fā)引擎裝置1002-3可以部署于密鑰管理中心設(shè)備1002。密鑰管理中心設(shè)備中還可以包括密鑰數(shù)據(jù)庫。
下面對本系統(tǒng)的各個裝置的相互協(xié)作方式作簡要說明:所述一對量子密鑰分發(fā)引擎裝置通過執(zhí)行量子密鑰分發(fā)協(xié)議獲取相同的密鑰序列,并存儲在各自的密鑰池中;數(shù)據(jù)加密裝置接收數(shù)據(jù)加密請求后,通過向密鑰存儲裝置發(fā)送密鑰更換同步請求的方式,與對方從各自密鑰池中獲取相同密鑰,并且獲取相同的密鑰標(biāo)簽;數(shù)據(jù)加密裝置用獲取的密鑰對待存儲數(shù)據(jù)加密,并將加密數(shù)據(jù)以及相應(yīng)的密鑰標(biāo)簽輸出、以便對應(yīng)存儲于存儲設(shè)備中,密鑰存儲裝置則將獲取的密鑰及相應(yīng)的密鑰標(biāo)簽存儲在密鑰數(shù)據(jù)庫中;數(shù)據(jù)解密裝置接收對加密數(shù)據(jù)的解密請求后,向密鑰提供裝置發(fā)送密鑰獲取請求,密鑰提供裝置根據(jù)密鑰獲取請求中攜帶的密鑰標(biāo)簽查詢密鑰數(shù)據(jù)庫、獲取相應(yīng)的密鑰,并返回給數(shù)據(jù)解密裝置,數(shù)據(jù)解密裝置用返回的密鑰對加密數(shù)據(jù)解密,從而得到解密后的數(shù)據(jù)。
在上面的描述中,數(shù)據(jù)加密裝置執(zhí)行了密鑰更換操作,在具體實施中,數(shù)據(jù)加密裝置如果判定無需執(zhí)行密鑰更換操作,則可以直接采用上一次執(zhí)行加密操作所用的密鑰及相應(yīng)的密鑰標(biāo)簽,在這種情況下,數(shù)據(jù)加密裝置不向密鑰存儲裝置發(fā)送密鑰更換同步請求,雙方無需執(zhí)行從各自密鑰池中獲取相同密鑰、以及獲取相同的密鑰標(biāo)簽的操作。
此外,本申請還提供另一種數(shù)據(jù)加密方法,所述方法通常在加密解密單元實施。請參考圖11,其為本申請?zhí)峁┑牧硪环N數(shù)據(jù)加密方法的實施例的流程圖,本實施例與上述方法實施例步驟相同的部分不再贅述,下面重點描述不同之處。本實施例的一種數(shù)據(jù)加密方法包括如下步驟:
步驟1101、接收針對待存儲數(shù)據(jù)的加密請求。
本步驟的具體實施方式,可以參見之前提供的數(shù)據(jù)加密方法實施例中的步驟101的描述。
步驟1102、采用預(yù)設(shè)方式選取密鑰、以及用于標(biāo)識所述密鑰的密鑰標(biāo)簽。
本步驟可以按照預(yù)設(shè)的方式判斷是否需要更換密鑰,若需要,則可以從預(yù)設(shè)的密鑰集合中獲取密鑰以及相應(yīng)的密鑰標(biāo)簽,若不需要,則可以采用上一次執(zhí)行加密操作所用的密鑰、以及相應(yīng)的密鑰標(biāo)簽。
所述密鑰集合可以是由管理維護(hù)人員在加密解密單元預(yù)先配置的,也可以是由密鑰管理中心生成并發(fā)送給加密解密單元的。所述密鑰集合中包括兩個或者兩個以上的密鑰條目,每個密鑰條目中包含密鑰和相應(yīng)的密鑰標(biāo)簽。
優(yōu)選地,為了保障密鑰分發(fā)過程的安全性,密鑰管理中心和加密解密單元中分別引入量子密鑰分發(fā)引擎,這一對量子密鑰分發(fā)引擎采用預(yù)設(shè)方式,例如:連續(xù)地、或者定時地,執(zhí)行量子密鑰分發(fā)協(xié)議,從而生成相同的密鑰序列,并存儲在各自的密鑰池中。
采用上述優(yōu)選實施方式,本步驟可以先按照預(yù)設(shè)方式判斷是否需要更換密鑰,若需要,則可以從加密解密單元的密鑰池中獲取密鑰,并采用預(yù)設(shè)方式獲取所述密鑰的密鑰標(biāo)簽(例如,采用預(yù)設(shè)算法生成所述密鑰標(biāo)簽),并將所述密鑰和密鑰標(biāo)簽對應(yīng)存儲、以供解密時使用;若不需要,則采用上一次執(zhí)行加密操作所用的密鑰、以及相應(yīng)的密鑰標(biāo)簽。
步驟1103、用所述密鑰對所述加密請求攜帶的數(shù)據(jù)加密。
本步驟的具體實施方式,可以參見之前提供的數(shù)據(jù)加密方法實施例中的步驟103的描述。
步驟1104、輸出加密后的數(shù)據(jù)以及所述密鑰標(biāo)簽,以將上述信息對應(yīng)存儲于存儲設(shè)備。
本步驟的具體實施方式,可以參見之前提供的數(shù)據(jù)加密方法實施例中的步驟104的描述。
綜上所述,本實施例提供的數(shù)據(jù)加密方法,在執(zhí)行數(shù)據(jù)加密操作時,采用的是基于預(yù)設(shè)方式選取的密鑰、而不是固定密鑰,從而可以靈活地采用不同的密鑰對數(shù)據(jù)進(jìn)行加密,有效地保障了數(shù)據(jù)存儲的安全性;同時針對所使用的密鑰引入了密鑰標(biāo)簽,以便在存儲設(shè)備上將加密后數(shù)據(jù)與密鑰標(biāo)簽對應(yīng)存儲,從而在采用不同密鑰對數(shù)據(jù)加密的同時,可以保證讀取數(shù)據(jù)時執(zhí)行正確的解密操作,而且省卻了管理維護(hù)人員在密鑰變更時維護(hù)歷史密鑰及數(shù)據(jù)的額外操作,大大簡化密鑰更換的操作流程。
本申請雖然以較佳實施例公開如上,但其并不是用來限定本申請,任何本領(lǐng)域技術(shù)人員在不脫離本申請的精神和范圍內(nèi),都可以做出可能的變動和修改,因此本申請的保護(hù)范圍應(yīng)當(dāng)以本申請權(quán)利要求所界定的范圍為準(zhǔn)。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機(jī)可讀介質(zhì)的示例。
1、計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲器(sram)、動態(tài)隨機(jī)存取存儲器(dram)、其他類型的隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
2、本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。