當(dāng)網(wǎng)絡(luò)中沒有密鑰管理系統(tǒng)(以下簡(jiǎn)稱KMS)時(shí)捡絮,各業(yè)務(wù)系統(tǒng)需要承擔(dān)起保護(hù)密鑰安全的責(zé)任熬芜,這種方式存在兩個(gè)問題:一方面,保護(hù)密鑰的機(jī)密性福稳、完整性和可用性將耗費(fèi)業(yè)務(wù)的大量精力涎拉;另一方面,如果業(yè)務(wù)系統(tǒng)被黑客攻克的圆,密鑰就會(huì)隨之泄露鼓拧,黑客就能直接還原業(yè)務(wù)數(shù)據(jù)了。
而依賴KMS密鑰管理服務(wù)的數(shù)據(jù)加越妈、解密過程季俩,由業(yè)務(wù)系統(tǒng)和KMS共同完成。也就是說梅掠,黑客即便攻克了業(yè)務(wù)系統(tǒng)酌住,也不能還原其中的數(shù)據(jù)。
那么依賴KMS的數(shù)據(jù)加阎抒、解密的過程到底是怎樣的呢酪我?
首先我們一起了解3個(gè)相關(guān)的概念:
- DEK(Data Encryption Key,數(shù)據(jù)加密密鑰):它是由KMS隨機(jī)生成且叁,專門負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行加密的密鑰都哭;
- KEK(Key Encryption Key,密鑰加密密鑰):它被加密存儲(chǔ)在KMS系統(tǒng)中逞带,一般情況下欺矫,公司里每一個(gè)部門都會(huì)對(duì)應(yīng)一個(gè)KEK,專門負(fù)責(zé)對(duì)DEK進(jìn)行加密的密鑰展氓;
- 根密鑰(Root Key):專門負(fù)責(zé)將KEK加密存儲(chǔ)在KMS上的密鑰穆趴。
了解相關(guān)概念后,我們一起看看KMS的數(shù)據(jù)加带饱、解密過程:
1. KMS的數(shù)據(jù)加密過程
- 第一步,KMS系統(tǒng)隨機(jī)生成DEK;
- 第二步阅羹,使用DEK對(duì)數(shù)據(jù)進(jìn)行加密勺疼;
- 第三步,使用KEK對(duì)DEK進(jìn)行加密捏鱼;
- 第四步执庐,將加密后的數(shù)據(jù)和加密后的DEK一并存入數(shù)據(jù)庫。
2. KMS解密過程
- 第一步导梆,從數(shù)據(jù)庫提取出加密后的數(shù)據(jù)和加密后的DEK轨淌;
- 第二步迂烁,使用KEK對(duì)加密后的DEK進(jìn)行解密;
- 第三步递鹉,使用解密后的DEK對(duì)加密后的密文數(shù)據(jù)進(jìn)行解密盟步,得到原始數(shù)據(jù)。
云產(chǎn)品應(yīng)用KMS
目前躏结,阿里云和AWS的云產(chǎn)品中均廣泛集成了KMS却盘,我們可以輕松使用KMS來加密保護(hù)我們敏感的云上數(shù)據(jù)資產(chǎn)。具體應(yīng)用請(qǐng)參考阿里云和AWS的KMS產(chǎn)品說明媳拴,網(wǎng)址如下:
阿里云
https://www.alibabacloud.com/zh/product/kms
https://help.aliyun.com/document_detail/28935.html
AWS
https://amazonaws-china.com/cn/kms/
https://amazonaws-china.com/cn/kms/faqs/