System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據管理,特別涉及一種用戶外包數據的加密解密方法、云服務器、設備及介質。
技術介紹
1、在互聯網技術迅速發展的當代,出現了眾多云服務提供商,云服務提供商提供的云存儲服務旨在幫助用戶高效地管理數據,這不僅減少了用戶本地存儲數據的需求,降低了相關成本,還為用戶處理數據提供了一種健壯、便捷和靈活的方法。然而,如果用戶的外包數據以明文形式存儲在云服務提供商的服務器(即云服務器)上,一旦云服務器遭遇安全漏洞,便存在數據泄露甚至永久丟失的風險。這類事件會給用戶帶來無法修復的損失,并影響云服務提供商的聲譽。為了降低這些風險,用戶在數據外包前總是進行數據加密,這被認為是確保數據保密性的最有效方法,因此已成為數據外包實踐中的標準范式。
2、傳統保護外包數據的方法是隨機選擇一個對稱密鑰,然后使用該密鑰對數據進行加密。對于不同的外包數據,每位用戶傾向于選擇不同的對稱密鑰以保護數據,這意味著每位用戶需要謹慎地維護其多個對稱密鑰,這不可避免地導致了用戶的密鑰管理問題。
3、管理對稱密鑰的一種常見方法是采用包裝-解包(wrap-unwrap)方法,該方法已在一些大型基于云的應用中廣泛使用。在這種方法中,當用戶要加密其外包數據時,她/他選擇一個對稱密鑰,并用該密鑰加密。接下來,用戶將密鑰傳輸給密鑰服務器,該服務器使用用戶的獨特密鑰對進行包裝,并將包裝結果(即包裝體)發送回用戶。最后,用戶將包裝體和加密數據外包給云服務器。當用戶需要訪問其外包數據時,首先從云服務器獲取相應的密文,發送包裝體到密鑰服務器,該服務器使用解密它,并將
4、然而,上述方法中對稱密鑰在明文形式中暴露給密鑰服務器,在這種情況下,如果一個敵手截獲了互聯網上的通信或冒充預定接收者的身份與云服務器和密鑰服務器進行交互,則會獲得對稱密鑰,進而解密得到外包數據。
技術實現思路
1、本申請的目的在于提供一種用戶外包數據的加密解密方法、云服務器、設備及介質,可以保證對稱密鑰不被暴露,進而保證用戶外包數據的安全。
2、為解決上述技術問題,本申請的實施例提供了一種用戶外包數據的加密解密方法,應用于云服務器,包括以下步驟:
3、獲取第一用戶發送的采用第一用戶的對稱密鑰進行加密的加密外包數據以及用于生成第一用戶的對稱密鑰的對稱密鑰生成材料,所述對稱密鑰生成材料采用第二用戶的公私密鑰對中的公密鑰進行加密;
4、在接收到第二用戶發送的采用第二用戶的公私密鑰對中的私密鑰進行加密的請求消息后,向第二用戶發送加密外包數據以及加密的對稱密鑰生成材料,以通過第二用戶的公私密鑰對中的私密鑰解密得到對稱密鑰生成材料,并通過對稱密鑰生成材料確定對稱密鑰,以及通過對稱密鑰對加密外包數據進行解密。
5、在一些可選的實施例中,所述公私密鑰對的生成步驟如下:
6、用戶端采用預設隨機數對用戶的身份標識與預設口令進行盲化,生成盲化值,并發送至密鑰服務器;
7、密鑰服務器根據盲化值生成用戶的盲化簽名,并返回至用戶端;
8、用戶端采用預設隨機數對用戶的盲化簽名進行去盲化,并通過預設的隨機函數生成用戶的公私密鑰對。
9、在一些可選的實施例中,所述用戶端包含用戶的設備和逆向防火墻,所述公私密鑰對的生成步驟如下:
10、設備采用第一預設隨機數對用戶的身份標識與預設口令進行盲化,生成第一盲化值,并發送至逆向防火墻;
11、逆向防火墻采用第二預設隨機數對第一盲化值進行盲化,生成第二盲化值,并發送至密鑰服務器;
12、密鑰服務器根據第二盲化值生成用戶的盲化簽名,并返回至逆向防火墻;
13、逆向防火墻采用第二預設隨機數對用戶的盲化簽名進行去盲化,生成第一去盲化值,并返回至設備;
14、設備采用第一預設隨機數對第一去盲化值進行去盲化,生成第二去盲化值,并根據預設的隨機函數和第二去盲化值生成公私密鑰對。
15、本申請中通過在用戶的設備和外部的密鑰服務器之間部署了一個逆向防火墻,設備和逆向防火墻共同協作與密鑰服務器交互,這種設計確保了即便設備被泄露,也無法向外部泄露任何秘密,從而增強了方案的安全性。
16、在一些可選的實施例中,所述密鑰服務器有多個,每個密鑰服務器均會根據用戶端發送的盲化值生成用戶的一個盲化簽名,使得用戶端根據多個盲化簽名生成用戶的公私密鑰對。
17、本申請中采用多個密鑰服務器,用戶和這多個密鑰服務器共同協作生成了用戶的公私密鑰對,使得這個公私密鑰對與多個密鑰服務器相關聯,即使敵手攻破了其中一個密鑰服務器,也無法獲得正確的公私密鑰對,從而進一步保證了對稱密鑰生成材料的安全。
18、在一些可選的實施例中,所述第二用戶通過對稱密鑰生成材料確定對稱密鑰的步驟如下:
19、第二用戶的設備采用第三預設隨機數對對稱密鑰生成材料進行盲化,生成第三盲化值,并發送至第二用戶的逆向防火墻;
20、第二用戶的逆向防火墻采用第四預設隨機數對第三盲化值進行盲化,生成第四盲化值,并將第四盲化值發送至每個密鑰服務器;
21、每個密鑰服務器根據第四盲化值生成第二用戶的盲化簽名,并返回至第二用戶的逆向防火墻;
22、第二用戶的逆向防火墻采用第四預設隨機數對多個第二用戶的盲化簽名進行去盲化,生成第三去盲化值,并返回至第二用戶的設備;
23、第二用戶的設備采用第三預設隨機數對第三去盲化值進行去盲化,生成第四去盲化值,作為對稱密鑰。
24、在一些可選的實施例中,所述第一用戶和所述第二用戶均對應有一個公私密鑰對,且第一用戶和第二用戶的公私密鑰對中的公密鑰公開,私密鑰各自保存。
25、本申請中用于加密對稱密鑰生成材料的公私密鑰對中的公密鑰公開,這樣有利于第一用戶采用第二用戶的公密鑰對對稱密鑰生成材料進行加密。并且,雖然公密鑰是公開的,但是私密鑰每個用戶都是各自保存的,即使敵手獲得了加密時所使用的公密鑰,但其無法獲知每個用戶所保存的私密鑰,則無法解密得到對稱密鑰生成材料,進一步保證了對稱密鑰的安全性。再者,每個用戶只需保存各自的私密鑰,還可以節省用戶端的存儲資源。
26、在一些可選的實施例中,所述加密外包數據中還包括基于哈希函數生成的消息認證碼,以供第二用戶在對加密外包數據進行解密后,根據消息認證碼來驗證加密外包數據是否完整。
27、本申請的實施例還提供了一種云服務器,包括:
28、數據加密模塊,用于獲取第一用戶發送的采用第一用戶的對稱密鑰進行加密的加密外包數據以及用于生成第一用戶的對稱密鑰的對稱密鑰生成材料,所述對稱密鑰生成材料采用第二用戶的公私密鑰對中的公密鑰進行加密;
29、數據解密模塊,用于在接收到第二用戶發送的采用第二用戶的公私密本文檔來自技高網...
【技術保護點】
1.一種用戶外包數據的加密解密方法,其特征在于,應用于云服務器,所述方法包括:
2.根據權利要求1所述的用戶外包數據的加密解密方法,其特征在于,所述公私密鑰對的生成步驟如下:
3.根據權利要求2所述的用戶外包數據的加密解密方法,其特征在于,所述用戶端包含用戶的設備和逆向防火墻,所述公私密鑰對的生成步驟如下:
4.根據權利要求3所述的用戶外包數據的加密解密方法,其特征在于,所述密鑰服務器有多個,每個密鑰服務器均會根據用戶端發送的盲化值生成用戶的一個盲化簽名,使得用戶端根據多個盲化簽名生成用戶的公私密鑰對。
5.根據權利要求4至所述的用戶外包數據的加密解密方法,其特征在于,所述第二用戶通過對稱密鑰生成材料確定對稱密鑰的步驟如下:
6.根據權利要求1至5中任一項所述的用戶外包數據的加密解密方法,其特征在于,所述第一用戶和所述第二用戶均對應有一個公私密鑰對,且第一用戶和第二用戶的公私密鑰對中的公密鑰公開,私密鑰各自保存。
7.根據權利要求1所述的用戶外包數據的加密解密方法,其特征在于,所述加密外包數據中還包括基于哈希
8.一種云服務器,其特征在于,包括:
9.一種計算機設備,其特征在于,包括:至少一個處理器;以及,與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠執行如權利要求1至7中任一項所述的用戶外包數據的加密解密方法。
10.一種計算機可讀存儲介質,存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時,實現如權利要求1至7中任一項所述的用戶外包數據的加密解密方法。
...【技術特征摘要】
1.一種用戶外包數據的加密解密方法,其特征在于,應用于云服務器,所述方法包括:
2.根據權利要求1所述的用戶外包數據的加密解密方法,其特征在于,所述公私密鑰對的生成步驟如下:
3.根據權利要求2所述的用戶外包數據的加密解密方法,其特征在于,所述用戶端包含用戶的設備和逆向防火墻,所述公私密鑰對的生成步驟如下:
4.根據權利要求3所述的用戶外包數據的加密解密方法,其特征在于,所述密鑰服務器有多個,每個密鑰服務器均會根據用戶端發送的盲化值生成用戶的一個盲化簽名,使得用戶端根據多個盲化簽名生成用戶的公私密鑰對。
5.根據權利要求4至所述的用戶外包數據的加密解密方法,其特征在于,所述第二用戶通過對稱密鑰生成材料確定對稱密鑰的步驟如下:
6.根據權利要求1至5中任一項所述的用戶外包數據的加密解密方法,其特征在于,所述第一用戶和所述第二用戶均...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。