# 数据完整性/保密性

##### 测评项：**a）应采用校验技术或密码技术保证重要数据在传输过程中的完整性，包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等**；  
测评项：**a）应采用密码技术保证重要数据在传输过程中的保密性，包括但不限于鉴别数据、重要业务数据和重要个人信息等**；

<p class="callout info">该项核查与身份鉴别c强相关，即仅允许使用TLS证书进行传输时为符合。</p>

```mysql
# 查看指定用户名（如root）是否强制使用TLS传输
select user, host, ssl_type from mysql.user where user = 'root';
# 查看是否全局开启强制TLS传输
show variables like 'require_secure_transport';
# 查看MySQL是否已开启TLS传输
show variables like 'have_ssl';
# 查看MySQL当前TLS相关配置信息
show global variables like 'ssl_cipher';
show global variables like 'ssl_ca';
show global variables like 'ssl_cert';
show global variables like 'ssl_key';
# （重点）查看当前会话是否采用TLS传输
show session status like 'ssl_cipher';
show session status LIKE 'Ssl_cipher_list';
show session status like 'ssl_version';
# 查看MySQL当前支持的TLS版本
show variables like 'tls_version';
```

[![](https://cdn.sa.net/2025/08/29/mlLfek53w67OnWX.png)](https://smms.app/image/mlLfek53w67OnWX)

[![](https://cdn.sa.net/2025/08/29/WvAU3G8griLPJfl.png)](https://smms.app/image/WvAU3G8griLPJfl)

---

##### 测评项：**b）应采用校验技术或密码技术保证重要数据在存储过程中的完整性，包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等**。  
测评项：**b）应采用密码技术保证重要数据在存储过程中的保密性，包括但不限于鉴别数据、重要业务数据和重要个人信息等**。

<p class="callout warning">MySQL <span style="color: rgb(224, 62, 45);">**5.6**</span> 、MySQL <span style="color: rgb(224, 62, 45);">**5.7**</span>和 MySQL <span style="color: rgb(224, 62, 45);">**8.0.0**</span> ~<span style="color: rgb(224, 62, 45);">**8.0.33**</span> ，MySQL默认采用 <span style="color: rgb(224, 62, 45);">**mysql\_native\_password**</span> 插件。该插件依赖存在安全风险的<span style="color: rgb(224, 62, 45);">**SHA1**</span>算法。</p>

<p class="callout success">MySQL <span style="color: rgb(35, 111, 161);">**5.6**</span> ~ MySQL <span style="color: rgb(35, 111, 161);">**8.0.3**</span> 支持的**<span style="color: rgb(35, 111, 161);">sha256\_password</span>** 或 MySQL <span style="color: rgb(35, 111, 161);">**8.0.4**</span> 开始支持的<span style="color: rgb(35, 111, 161);">**caching\_sha2\_password**</span> 引入<span style="color: rgb(35, 111, 161);">**RSA**</span>公私钥对鉴别数据进行加密，两者均使用<span style="color: rgb(35, 111, 161);">**SHA256**</span>校验算法进行保存，区别在于后者加入缓存机制允许高并发操作。</p>

> The SHA-2 family consists of six hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256.
> 
> 原文详见：https://security.stackexchange.com/questions/87154/what-is-the-relationship-between-sha-2-and-sha-256
> 
> 翻译：SHA2家族包括SHA224、SHA256、SHA384、SHA512所有算法。

```mysql
-- 查看当前用户@地址口令段加密后的信息和所采用的算法
select user, host, plugin, authentication_string from mysql.user;
-- 查看私钥路径（caching_sha2_password）
show variables like 'caching_sha2_password_private_key_path';
-- 查看公钥路径（caching_sha2_password）
show variables like 'caching_sha2_password_public_key_path';
-- 查看当前通信使用的公钥
show status like 'caching_sha2_password_rsa_public_key';
-- 查看公钥路径（sha256_password）
SHOW VARIABLES LIKE 'sha256_password_public_key_path';
-- 查看私钥路径（sha256_password）
SHOW VARIABLES LIKE 'sha256_password_private_key_path';
-- 查看当前通信使用的公钥
show status like 'rsa_public_key';
```

[![](https://cdn.sa.net/2025/08/29/xbSN1U2Lzpi3FIP.png)](https://smms.app/image/xbSN1U2Lzpi3FIP)