8.6.2 配置 MySQL 企业加密
MySQL 企业加密允许您限制键的长度,以满足您的安全要求,同时平衡资源使用。您还可以配置component_enterprise_encryption
组件提供的函数来支持老版本openssl_udf
共享库函数生产的内容解密和验证。
默认情况下,component_enterprise_encryption
组件提供的函数不解密加密文本,也不验证由老版本openssl_udf
共享库函数生产的签名。这些组件函数假设加密文本使用 RSAES-OAEP 填充方案,签名使用 RSASSA-PSS 签名方案。然而,老版本函数生产的加密文本使用 RSAES-PKCS1-v1_5 填充方案,签名使用 RSASSA-PKCS1-v1_5 签名方案。
如果您想让组件函数支持由遗留函数生产的内容,设置enterprise_encryption.rsa_support_legacy_padding
系统变量为ON
。这个变量在组件安装时可用。当您设置为ON
,组件函数首先尝试解密或验证内容,以他们正常的方案。如果不能,那么也尝试以旧函数的方案解密或验证内容。这不是默认行为,因为它增加了无法解密或验证的内容处理时间。如果您不处理由旧函数生产的内容,让系统变量保持默认为OFF
。
MySQL Enterprise Encryption的密钥生成函数需要的CPU资源随着密钥长度增加而增加。对于某些安装,这可能会导致不可接受的CPU使用率,如果应用程序频繁地生成过长的密钥。
组件component_enterprise_encryption
提供的函数对RSA密钥的最小长度为2048位,这与当前最佳实践的最小密钥长度相符。系统变量enterprise_encryption.maximum_rsa_key_size
指定了最大密钥大小。