加密生成指定長度 KMS信封加密

2021-10-11 20:34:27 字數 2236 閱讀 9880

今天的課程內容信封加密,是kms部分比較重要的內容。

我們開始今天的課程內容。

我們先看下什麼是信封加密。信封加密是類似數字信封技術的一種加密手段。

這種技術將加密資料的資料金鑰封入信封中儲存、傳遞、和使用,不再使用主金鑰直接加解密資料。也就是說,信封加密使用客戶主金鑰生成資料金鑰,然後用離線的資料金鑰在本地加密大量資料,而不再使用主金鑰直接加解密資料。

我們上節課實操演示了使用kms的客戶主金鑰也就是cmk進行加密,將需要加密的明文內容為「www.iloveaws.cn」直接傳送到aws kms中進行加密。那什麼情況下使用信封加密呢?我們來看下:

以上就是信封加密的定義及主要優勢,我們之前課程提到的整合了 aws kms 的 aws 服務和客戶端工具包,也是使用信封加密的方法來保護資料的。

好的,我們繼續。

我們來看下信封加密是如何工作的。

1、首先,我們建立乙個客戶主金鑰,也就是cmk。

2、cmk生成後,我們使用cmk生成資料金鑰,一旦請求kms生成資料金鑰時,使用者能夠得到乙個明文資料金鑰和乙個密文的資料金鑰,共2個資料金鑰。

3、然後使用明文資料金鑰加密您伺服器上的檔案,生成密文檔案。

4、將密文檔案和密文資料金鑰一同儲存到持久化儲存裝置或服務中。

完成加密後,將明文檔案,以及明文資料金鑰刪除。

以上,是加密流程部分。

當您完成上述加密操作後,只保留密文金鑰和密文檔案,這樣即使密文金鑰和密文檔案被竊取,也無法解密獲得使用者的明文檔案。

接下來我們看下解密的步驟:

1、需要解密檔案時,首先從持久化儲存裝置或服務中讀取密文資料金鑰和密文檔案

2、然後,呼叫kms服務的decrypt介面,解密資料金鑰,取得明文資料金鑰

3、最後,使用明文資料金鑰解密檔案

好的,以上就是信封加密的加密和解密的過程,下面的內容我們快速實操演示下使用cmk生成資料金鑰的操作。

首先,我們需要使用aws cli命令生成資料金鑰,開啟aws cli的kms命令參考頁面,在此頁面的最後【可用命令】部分,開啟generate-data-key命令頁面。

我們前面講過了,通過呼叫generate-data-key命令,kms會返回明文資料金鑰以及密文資料金鑰,然後使用明文資料金鑰加密您自己伺服器上的資料。

我們看下這個命令的摘要,命令需要指定cmk的金鑰id

然後還需要乙個命令引數—資料金鑰的長度,資料金鑰的長度我們測試就使用aes_256,生成256位金鑰。

好的,命令我們看完了,我們先到kms管理控制台複製下cmk的金鑰id,然後切換到終端。

輸入命令:aws kms generate-data-key --key-id 231973f0-4cbe-4ef5-8ac3-0ef3f8164960 --key-spec aes_256

key-id後面指定cmk的金鑰id,我們貼上下,然後key-spec 我們輸入 aes_256 然後執行命令。

好的,可以看到,命令執行後,返回了明文資料金鑰以及密文資料金鑰,然後您就可以使用明文資料金鑰對您的伺服器上的檔案進行加密,加密後您可以將密文資料金鑰和密文檔案一同儲存到持久化儲存裝置或服務中。

需要解密檔案時,使用kms的decrypt介面,將密文資料金鑰解密為明文資料金鑰,在使用明文資料金鑰為本地檔案解密。

好的,以上就是我們今天的課程內容,我們今天講了kms-信封加密的內容以及加解密的流程,並對生成資料金鑰進行了實操演示。

信封加密在kms服務部分是非常重要的內容,在考試中也會有相應的考點,希望本節課程會為同學們理解信封加密帶來幫助。

KMS信封加密

www.iloveaws.cn 今天的課程內容信封加密,是kms部分比較重要的內容。我們開始今天的課程內容。我們先看下什麼是信封加密。信封加密是類似數字信封技術的一種加密手段。這種技術將加密資料的資料金鑰封入信封中儲存 傳遞 和使用,不再使用主金鑰直接加解密資料。也就是說,信封加密使用客戶主金鑰生成...

python生成指定長度的隨機數密碼

複製 如下 usr bin env python coding utf 8 匯入random和string模組 import random,string def genpassword length 隨機出數字的個數 numofnum random.randint 1,length 1 numofl...

PHP生成指定長度隨機數最簡潔的方法

剛才在寫簡訊驗證碼模組,需要用到指定位數的隨機數,然後網上一找發現太可怕了這麼簡單的事情竟然用了好幾十行多個迴圈巢狀 看來沒有好腦仁兒真的不適合當程式設計師。自寫了一行版本 function generate code length 4 為了便於理解,同時也為了這篇水文可以湊點字數,這是多行版 fu...