本技術(shù)涉及存儲(chǔ),特別是涉及一種基于量子密鑰的國密ceph塊存儲(chǔ)的加密方法與系統(tǒng)。
背景技術(shù):
1、ceph是一種分布式存儲(chǔ)系統(tǒng),被廣泛應(yīng)用于云環(huán)境、大數(shù)據(jù)分析和各類企業(yè)級應(yīng)用中,常用于存儲(chǔ)大量敏感或具有長期價(jià)值的數(shù)據(jù)。
2、相關(guān)技術(shù)中,ceph主要使用rsa加密算法或橢圓曲線密碼(elliptic?curvecryptography,ecc)等傳統(tǒng)加密算法對數(shù)據(jù)進(jìn)行加密存儲(chǔ)。隨著量子計(jì)算技術(shù)的快速發(fā)展,這些傳統(tǒng)加密算法面臨被量子計(jì)算機(jī)破解的風(fēng)險(xiǎn),以致ceph中存儲(chǔ)數(shù)據(jù)的安全性難以得到保障。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,本技術(shù)實(shí)施例提供了一種基于量子密鑰的國密ceph塊存儲(chǔ)的加密方法與系統(tǒng),以便克服上述問題或者至少部分地解決上述問題。
2、本技術(shù)實(shí)施例的第一方面,提供了一種基于量子密鑰的國密ceph塊存儲(chǔ)的加密系統(tǒng),包括密碼短語管理系統(tǒng)、ceph?rbd客戶端和ceph云存儲(chǔ)服務(wù)端,其中:
3、所述ceph?rbd客戶端,用于向所述密碼短語管理系統(tǒng)發(fā)送身份認(rèn)證請求和加密請求;
4、所述密碼短語管理系統(tǒng),用于在所述ceph?rbd客戶端通過所述加密請求所關(guān)聯(lián)的身份認(rèn)證的情況下,獲取量子隨機(jī)數(shù)密碼,并根據(jù)所述量子隨機(jī)數(shù)密碼,創(chuàng)建數(shù)據(jù)加密密鑰和密碼短語;
5、所述密碼短語管理系統(tǒng),還用于根據(jù)所述密碼短語、以及所述密碼短語所對應(yīng)的密鑰派生函數(shù),生成密鑰封裝密鑰,并生成所述密碼短語所對應(yīng)的密碼短語標(biāo)識;
6、所述密碼短語管理系統(tǒng),還用于使用所述密鑰封裝密鑰,通過國密算法對所述數(shù)據(jù)加密密鑰進(jìn)行加密,得到數(shù)據(jù)加密密鑰密文,并使用所述數(shù)據(jù)加密密鑰,通過國密算法對所述加密請求所對應(yīng)的寫入數(shù)據(jù)進(jìn)行加密,得到數(shù)據(jù)密文;
7、所述密碼短語管理系統(tǒng),還用于將所述數(shù)據(jù)加密密鑰密文、所述密碼短語所對應(yīng)的密鑰派生函數(shù)和密碼短語標(biāo)識,作為所述數(shù)據(jù)密文所對應(yīng)的元數(shù)據(jù),并將所述數(shù)據(jù)密文和所述數(shù)據(jù)密文所對應(yīng)的元數(shù)據(jù),發(fā)送至所述ceph?rbd客戶端;
8、所述ceph?rbd客戶端,還用于對所述數(shù)據(jù)密文和所述數(shù)據(jù)密文所對應(yīng)的元數(shù)據(jù),依次進(jìn)行數(shù)據(jù)封裝處理和數(shù)據(jù)條帶化處理,并將處理后的數(shù)據(jù)發(fā)送至所述ceph云存儲(chǔ)服務(wù)端進(jìn)行存儲(chǔ)。
9、可選地,所述ceph?rbd客戶端,還用于從所述ceph云存儲(chǔ)服務(wù)端中讀取目標(biāo)封裝數(shù)據(jù),并向所述密碼短語管理系統(tǒng)發(fā)送身份認(rèn)證請求和解密請求,所述目標(biāo)封裝數(shù)據(jù)包括:目標(biāo)數(shù)據(jù)密文和所述目標(biāo)數(shù)據(jù)密文所對應(yīng)的目標(biāo)元數(shù)據(jù);
10、所述密碼短語管理系統(tǒng),還用于在所述ceph?rbd客戶端通過所述解密請求所關(guān)聯(lián)的身份認(rèn)證的情況下,接收所述ceph?rbd客戶端發(fā)送的所述目標(biāo)封裝數(shù)據(jù);
11、所述密碼短語管理系統(tǒng),還用于從所述目標(biāo)封裝數(shù)據(jù)中獲取所述目標(biāo)元數(shù)據(jù)和所述目標(biāo)數(shù)據(jù)密文,并根據(jù)所述目標(biāo)元數(shù)據(jù)中的目標(biāo)密碼短語標(biāo)識,查詢對應(yīng)的目標(biāo)密碼短語;
12、所述密碼短語管理系統(tǒng),還用于根據(jù)所述目標(biāo)密碼短語、以及所述目標(biāo)元數(shù)據(jù)中的目標(biāo)密鑰派生函數(shù),生成目標(biāo)密鑰封裝密鑰,并使用所述目標(biāo)密鑰封裝密鑰,通過國密算法對所述目標(biāo)元數(shù)據(jù)中的目標(biāo)數(shù)據(jù)加密密鑰密文進(jìn)行解密,得到目標(biāo)數(shù)據(jù)加密密鑰;
13、所述密碼短語管理系統(tǒng),還用于使用所述目標(biāo)數(shù)據(jù)加密密鑰,通過國密算法對所述目標(biāo)數(shù)據(jù)密文進(jìn)行解密,得到目標(biāo)數(shù)據(jù),并將所述目標(biāo)數(shù)據(jù)返回至所述ceph?rbd客戶端。
14、可選地,所述ceph?rbd客戶端,還用于向所述ceph云存儲(chǔ)服務(wù)端發(fā)送身份認(rèn)證請求和讀取請求;
15、所述ceph云存儲(chǔ)服務(wù)端,用于在所述ceph?rbd客戶端通過所述讀取請求所關(guān)聯(lián)的身份認(rèn)證的情況下,向所述ceph?rbd客戶端返回所述讀取請求所關(guān)聯(lián)的身份認(rèn)證通過信息和所述目標(biāo)封裝數(shù)據(jù)。
16、可選地,所述系統(tǒng)還包括:量子密碼服務(wù)平臺,用于向所述ceph?rbd客戶端和所述密碼短語管理系統(tǒng)分發(fā)對稱密鑰;其中:
17、所述ceph?rbd客戶端,還用于在向所述密碼短語管理系統(tǒng)發(fā)送讀寫相關(guān)數(shù)據(jù),以使所述密碼短語管理系統(tǒng)對所述讀寫相關(guān)數(shù)據(jù)進(jìn)行加解密處理之前,作為量子安全通道建立的發(fā)起方,向所述密碼短語管理系統(tǒng)發(fā)送系統(tǒng)認(rèn)證請求;
18、所述ceph?rbd客戶端,還用于在收到所述密碼短語管理系統(tǒng)返回的系統(tǒng)認(rèn)證通過的信息的情況下,向所述密碼短語管理系統(tǒng)發(fā)送量子密鑰協(xié)商請求,并根據(jù)所述量子密碼服務(wù)平臺分發(fā)的對稱密鑰,生成對應(yīng)的第一對稱密鑰標(biāo)識;
19、所述密碼短語管理系統(tǒng),還用于在收到所述量子密鑰協(xié)商請求的情況下,根據(jù)所述對稱密鑰,生成對應(yīng)的第二對稱密鑰標(biāo)識,并將所述第二對稱密鑰標(biāo)識返回至所述cephrbd客戶端;
20、所述ceph?rbd客戶端,還用于根據(jù)所述第一對稱密鑰標(biāo)識,通過國密算法對所述讀寫相關(guān)數(shù)據(jù)進(jìn)行加密,并將所述第二對稱密鑰標(biāo)識、以及加密后的所述讀寫相關(guān)數(shù)據(jù),發(fā)送至所述密碼短語管理系統(tǒng);
21、所述密碼短語管理系統(tǒng),還用于在接收到所述第二對稱密鑰標(biāo)識、以及加密后的所述讀寫相關(guān)數(shù)據(jù)的情況下,根據(jù)所述第二對稱密鑰標(biāo)識,通過國密算法對加密后的所述讀寫相關(guān)數(shù)據(jù)進(jìn)行解密,得到所述讀寫相關(guān)數(shù)據(jù);
22、所述密碼短語管理系統(tǒng),還用于在對所述讀寫相關(guān)數(shù)據(jù)進(jìn)行加解密處理之后,將得到的加解密處理后數(shù)據(jù)作為返回?cái)?shù)據(jù),根據(jù)所述第二對稱密鑰標(biāo)識,通過國密算法對所述返回?cái)?shù)據(jù)進(jìn)行加密,并將加密后的所述返回?cái)?shù)據(jù)發(fā)送至所述ceph?rbd客戶端;
23、所述ceph?rbd客戶端,還用于根據(jù)所述第一對稱密鑰標(biāo)識,通過國密算法對加密后的所述返回?cái)?shù)據(jù)進(jìn)行解密,得到所述返回?cái)?shù)據(jù)。
24、可選地,所述量子密碼服務(wù)平臺,還用于進(jìn)行子網(wǎng)間的路由計(jì)算,以及,用于采集量子網(wǎng)絡(luò)和密碼系統(tǒng)的可用性數(shù)據(jù)。
25、可選地,所述ceph?rbd客戶端,還用于向所述ceph云存儲(chǔ)服務(wù)端發(fā)送身份認(rèn)證請求和寫入請求;
26、所述ceph?rbd客戶端,還用于在收到所述ceph云存儲(chǔ)服務(wù)端返回的所述寫入請求所關(guān)聯(lián)的身份認(rèn)證通過信息的情況下,生成所述寫入數(shù)據(jù),并向所述密碼短語管理系統(tǒng)發(fā)送所述身份認(rèn)證請求和所述寫入數(shù)據(jù)所對應(yīng)的加密請求。
27、可選地,所述ceph?rbd客戶端包括:
28、ceph?rbd客戶端服務(wù),用于進(jìn)行rbd設(shè)備的掛載和使用,以及,用于進(jìn)行數(shù)據(jù)密文所對應(yīng)元數(shù)據(jù)的設(shè)置和查詢;
29、第一量子安全服務(wù),用于以提供sdk工具包的形式,為所述ceph?rbd客戶端服務(wù)提供與所述第一量子密碼機(jī)設(shè)備進(jìn)行交互的功能;
30、第一量子密碼機(jī)設(shè)備,用于進(jìn)行量子密鑰管理和量子密碼運(yùn)算。
31、可選地,所述密碼短語管理系統(tǒng)包括:
32、密碼短語管理服務(wù),用于進(jìn)行數(shù)據(jù)的加解密處理,以及,用于進(jìn)行所述加解密處理所關(guān)聯(lián)的密碼短語和密鑰的生命周期管理;
33、第二量子安全服務(wù),用于以提供sdk工具包的形式,為所述密碼短語管理服務(wù)提供與所述第二量子密碼機(jī)設(shè)備進(jìn)行交互的功能;
34、第二量子密碼機(jī)設(shè)備,用于進(jìn)行量子密鑰管理和量子密碼運(yùn)算。
35、本技術(shù)實(shí)施例的第二方面,提供了一種基于量子密鑰的國密ceph塊存儲(chǔ)的加密方法,應(yīng)用于密碼短語管理系統(tǒng),所述方法包括:
36、接收ceph?rbd客戶端發(fā)送的身份認(rèn)證請求和加密請求;
37、在所述ceph?rbd客戶端通過所述加密請求所關(guān)聯(lián)的身份認(rèn)證的情況下,獲取量子隨機(jī)數(shù)密碼,并根據(jù)所述量子隨機(jī)數(shù)密碼,創(chuàng)建數(shù)據(jù)加密密鑰和密碼短語;
38、根據(jù)所述密碼短語、以及所述密碼短語所對應(yīng)的密鑰派生函數(shù),生成密鑰封裝密鑰,并生成所述密碼短語所對應(yīng)的密碼短語標(biāo)識;
39、使用所述密鑰封裝密鑰,通過國密算法對所述數(shù)據(jù)加密密鑰進(jìn)行加密,得到數(shù)據(jù)加密密鑰密文,并使用所述數(shù)據(jù)加密密鑰,通過國密算法對所述加密請求所對應(yīng)的寫入數(shù)據(jù)進(jìn)行加密,得到數(shù)據(jù)密文;
40、將所述數(shù)據(jù)加密密鑰密文、所述密碼短語所對應(yīng)的密鑰派生函數(shù)和密碼短語標(biāo)識,作為所述數(shù)據(jù)密文所對應(yīng)的元數(shù)據(jù),并將所述數(shù)據(jù)密文和所述數(shù)據(jù)密文所對應(yīng)的元數(shù)據(jù),發(fā)送至所述ceph?rbd客戶端,以使所述ceph?rbd客戶端,對所述數(shù)據(jù)密文和所述數(shù)據(jù)密文所對應(yīng)的元數(shù)據(jù),依次進(jìn)行數(shù)據(jù)封裝處理和數(shù)據(jù)條帶化處理,并將處理后的數(shù)據(jù)發(fā)送至ceph云存儲(chǔ)服務(wù)端進(jìn)行存儲(chǔ)。
41、本技術(shù)實(shí)施例的第三方面,提供了一種基于量子密鑰的國密ceph塊存儲(chǔ)的加密方法,應(yīng)用于ceph?rbd客戶端,所述方法包括:
42、向密碼短語管理系統(tǒng)發(fā)送身份認(rèn)證請求和加密請求;
43、在接收到所述密碼短語管理系統(tǒng)發(fā)送的所述加密請求所關(guān)聯(lián)的身份認(rèn)證通過信息的情況下,向所述密碼短語管理系統(tǒng)發(fā)送所述加密請求所對應(yīng)的寫入數(shù)據(jù);
44、接收所述密碼短語管理系統(tǒng)發(fā)送的數(shù)據(jù)密文和所述數(shù)據(jù)密文所對應(yīng)的元數(shù)據(jù);
45、對所述數(shù)據(jù)密文和所述數(shù)據(jù)密文所對應(yīng)的元數(shù)據(jù),依次進(jìn)行數(shù)據(jù)封裝處理和數(shù)據(jù)條帶化處理,并將處理后的數(shù)據(jù)發(fā)送至ceph云存儲(chǔ)服務(wù)端進(jìn)行存儲(chǔ);
46、其中,所述數(shù)據(jù)密文是所述密碼短語管理系統(tǒng)使用數(shù)據(jù)加密密鑰,通過國密算法對所述寫入數(shù)據(jù)進(jìn)行加密得到的;所述數(shù)據(jù)密文所對應(yīng)的元數(shù)據(jù)包括數(shù)據(jù)加密密鑰密文、密碼短語所對應(yīng)的密鑰派生函數(shù)和密碼短語標(biāo)識,所述數(shù)據(jù)加密密鑰和所述密碼短語是所述密碼短語管理系統(tǒng)根據(jù)量子隨機(jī)數(shù)密碼創(chuàng)建的,所述數(shù)據(jù)加密密鑰密文是所述密碼短語管理系統(tǒng)使用密鑰封裝密鑰,通過國密算法對所述數(shù)據(jù)加密密鑰進(jìn)行加密得到的,所述密鑰封裝密鑰是所述密碼短語管理系統(tǒng)根據(jù)所述密碼短語和所述密碼短語所對應(yīng)的密鑰派生函數(shù)生成的。
47、本技術(shù)實(shí)施例包括以下優(yōu)點(diǎn):
48、通過設(shè)置密碼短語管理系統(tǒng),以對ceph?rbd客戶端提供基于量子隨機(jī)數(shù)密碼的數(shù)據(jù)加密相關(guān)運(yùn)算功能,由此將量子安全技術(shù)應(yīng)用于ceph的加密存儲(chǔ)中,使得ceph中存儲(chǔ)數(shù)據(jù)能夠抵御被量子計(jì)算機(jī)破解的風(fēng)險(xiǎn),從而保證存儲(chǔ)數(shù)據(jù)的長期安全性;且采用ceph?rbd客戶端與密碼短語管理系統(tǒng)分離部署的架構(gòu),也即是將基于量子隨機(jī)數(shù)密碼的相關(guān)運(yùn)算功能獨(dú)立封裝于密碼短語管理系統(tǒng)中進(jìn)行實(shí)現(xiàn),可以避免ceph?rbd客戶端中的復(fù)雜業(yè)務(wù)邏輯對所述相關(guān)運(yùn)算功能引入安全漏洞,由此可以增加對數(shù)據(jù)泄露風(fēng)險(xiǎn)的控制能力,且在對所述相關(guān)運(yùn)算功能進(jìn)行調(diào)整或更新時(shí),無需改動(dòng)ceph?rbd客戶端中的業(yè)務(wù)邏輯,可以降低維護(hù)成本。