1. 数据是否为有权查看数据的用户解密?
是的。InnoDB静态数据加密旨在透明地在数据库中应用加密,而不会影响现有应用程序。以加密格式返回数据会破坏大多数现有应用程序。 InnoDB静态数据加密提供了加密的好处,而没有与传统数据库加密解决方案相关的开销,传统数据库加密解决方案通常需要对应用程序、数据库触发器和视图进行昂贵且大量的更改。
2. 与静态InnoDB 数据加密相关的开销是多少?
没有额外的存储开销。根据内部基准,性能开销相当于个位数百分比差异。
3. 静态InnoDB数据加密使用哪些加密算法 ?
InnoDB静态数据加密支持高级加密标准 (AES256) 基于块的加密算法。它使用电子码本 (ECB) 块加密模式进行表空间密钥加密,使用密码块链接 (CBC) 块加密模式进行数据加密。
4. 是否可以使用第 3 方加密算法代替静态InnoDB 数据加密功能提供的算法?
不,不能使用其他加密算法。提供的加密算法被广泛接受。
5. 索引列可以加密吗?
InnoDB 静态数据加密透明地支持所有索引。
6. 静态数据InnoDB 加密支持哪些数据类型和数据长度?
InnoDB静态数据加密支持所有支持的数据类型。没有数据长度限制。
7. 数据在网络上是否保持加密状态?
InnoDB当从表空间文件中读取数据时,会解密由静态 数据功能加密的数据。因此,如果数据在网络上,则是明文形式。但是,可以使用 MySQL 网络加密对网络上的数据进行加密,该加密使用 SSL/TLS 对进出数据库的数据进行加密。
8. 数据库内存是否包含明文或加密数据?
通过静态InnoDB数据加密,可以解密内存中的数据,从而提供完全透明的信息。
9. 我如何知道要加密哪些数据?
符合 PCI-DSS 标准要求信用卡号(主帐号,或“PAN”)以加密形式存储。违规通知法(美国 43 多个州的类似法律)要求对名字、姓氏、驾驶执照号码和其他 PII 数据进行加密。2008 年初,CA AB 1298 将医疗和健康保险信息添加到 PII 数据中。此外,行业特定的隐私和安全标准可能需要对某些资产进行加密。例如,制药研究成果、油田勘探成果、金融合同或执法线人的个人数据等资产可能需要加密。在医疗保健行业,
10. 静态InnoDB数据加密与 MySQL 已经提供的加密功能有何不同?
MySQL 中有对称和非对称加密 API,可用于手动加密数据库中的数据。但是,应用程序必须通过调用 API 函数来管理加密密钥并执行所需的加密和解密操作。InnoDB静态数据加密不需要更改应用程序,对最终用户透明,并提供自动化的内置密钥管理。
11. 可传输表空间功能是否适用于静态 InnoDB数据加密?
是的。它支持加密的 file-per-table 表空间。有关更多信息,请参阅 导出加密表空间。
12. 压缩是否适用于静态InnoDB 数据加密?
使用静态InnoDB数据加密的客户可以获得压缩的全部好处,因为在加密数据块之前应用压缩。
13. 我可以使用mysqlpump或 mysqldump加密表吗?
是的。因为这些实用程序创建逻辑备份,所以从加密表转储的数据没有加密。
14. 如何更改(轮换、重新加密)主加密密钥?
InnoDB静态数据加密使用两层密钥机制。使用静态数据加密时,各个表空间密钥存储在基础表空间数据文件的标头中。表空间密钥使用主加密密钥进行加密。主加密密钥在启用表空间加密时生成,并存储在数据库之外。使用该ALTER INSTANCE ROTATE INNODB MASTER KEY语句轮换主加密密钥,该语句生成新的主加密密钥、存储密钥并将密钥轮换使用。
15. 如何将数据从明文InnoDB 表空间迁移到加密InnoDB表空间?
不需要将数据从一个表空间传输到另一个表空间。要加密InnoDB 每个表文件表空间中的数据,请运行 . 要加密通用表空间或 表空间,请运行 . MySQL 8.0.13 中引入了对通用表空间的加密支持。从 MySQL 8.0.16 开始,对系统表空间的加密支持 可用。 ALTER TABLE tbl_name ENCRYPTION = 'Y'mysqlALTER TABLESPACE tablespace_name ENCRYPTION = 'Y'mysql
16. InnoDB静态数据功能 能否使用 PKSC11 接口将主加密密钥存储在外部设备中?
不是这个时候。目前,该keyring_okv插件支持 KMIP 1.1 协议,该插件可用于 MySQL 企业版。