当加密数据时,数据被保护了, 但同时必须保护加密的key,不然这个key泄露了也很危险。一个保护key的策略是继续加密这个key。envelope encryption
就是这样的实践:使用data key
加密数据,再使用另一个key加密data key
。甚至可以层层套key,就像信封一样。但最后一定有个要保护的明文key,这个key就叫master key
:
KMS就是这样的服务:可以保护master key
, 又叫CMK(customer master keys)
,
由于CMK最多加密4KB的数据,所以通常用它来加密和解密data key
,用这个data key来加密文件。
流程如下:
当我们加密数据时:
当我们解密数据时: