关于静态数据加密
InnoDB 支持独立表空间、通用表空间、mysql 系统表空间、重做日志和撤消日志的静态数据加密,从 MySQL 8.0.16 开始,还支持为schemas和通用表空间设置加密默认值,这允许 DBA 控制在这些模式和表空间中创建的表是否被加密。
InnoDB使用两层加密密钥架构,由主加密密钥和表空间密钥组成
1.1 当表空间被加密时,表空间密钥被加密并存储在表空间头中。
1.2 当应用程序或经过身份验证的用户想要访问加密的表空间数据时,InnoDB 使用主加密密钥来解密表空间密钥。
表空间密钥的解密版本永远不会更改,但可以根据需要更改主加密密钥,此操作称为主密钥轮换。
静态数据加密功能依赖于密钥环组件或插件最为主要的加密密钥管理方式,所有MySQL版本都提供了 component_keyring_file 组件和 keyring_file 插件,每个插件都将密钥环数据存储在服务器主机本地的文件中。
MySQL企业版提供额外的密钥环组件和插件:
component_keyring_encrypted_file:将密钥环数据存储在服务器主机本地的加密的、受密码保护的文件中。
keyring_encrypted_file:将密钥环数据存储在服务器主机本地的加密的、受密码保护的文件中。
keyring_okv:一个 KMIP 1.1 插件,用于与 KMIP 兼容的后端密钥环存储产品。 支持的 KMIP 兼容产品包括集中式密钥管理解决方案,例如 Oracle Key Vault、Gemalto KeySecure、Thales Vormetric 密钥管理服务器和 Fornetix Key Orchestration。
keyring_aws:与 Amazon Web Services Key Management Service (AWS KMS) 通信,作为密钥生成的后端,并使用本地文件进行密钥存储。