diff --git a/zh-cn/contribute/OpenHarmony-security-design-guide.md b/zh-cn/contribute/OpenHarmony-security-design-guide.md index b72fe853173c1f6195763b41a8b6d93fa3e5652a..62331acb7981a736e0151a4967d7c816830aa2be 100644 --- a/zh-cn/contribute/OpenHarmony-security-design-guide.md +++ b/zh-cn/contribute/OpenHarmony-security-design-guide.md @@ -102,7 +102,8 @@ MD5/DES/3DES(加密传输协议TLS/SSH密码协议中避免使用3DES,非密 3-14 同一笔业务中,若既需要加密运算也需要计算MAC时,加密操作和计算MAC操作不能使用同一个对称密钥。 -**说明**:如果加密和MAC密钥相同,一旦密钥泄露,攻击者可以有针对性的篡改机密信息。 +**说明**:如果加密和MAC密钥相同,一旦密钥泄露,攻击者可以有针对性的篡改机密信息。 + 3-15 加密时避免使用固定的IV(如:硬编码,或固定在配置文件中)。 **说明**:CBC模式的随机IV值可确保相同的明文、相同的密钥加密出的密文完全不同,如果IV无法确保每次加密都不同,对于CBC模式,攻击者可以轻易的进行密文替换攻击;CBC模式之外的其他分组密码运算模式(如:OFB、CRT等),攻击者可以非常容易的解密密文。 @@ -111,7 +112,8 @@ MD5/DES/3DES(加密传输协议TLS/SSH密码协议中避免使用3DES,非密 **说明**:容易造成安全上的薄弱环节从而降低系统的安全性。 -**示例**:匿名认证举例:TLS_DH_anon_WITH_3DES_EDE_CBC_SHA、TLS_DH_anon_WITH_AES_256_CBC_SHA +**示例**: +匿名认证举例:TLS_DH_anon_WITH_3DES_EDE_CBC_SHA、TLS_DH_anon_WITH_AES_256_CBC_SHA 弱身份认证举例:密钥长度小于2048比特的RSA/DSA密钥 3-17 推荐仅选择使用ECDHE作为密钥交换算法的加密套件。 @@ -136,8 +138,11 @@ MD5/DES/3DES(加密传输协议TLS/SSH密码协议中避免使用3DES,非密 4-2 认证凭据不需要还原的场景,应使用PBKDF2等不可逆的算法加密,对于性能敏感且安全性要求不高的场景可使用HMAC(认证凭据,盐值)(注:认证凭据、盐值位置可以互换)。 -**示例**:1、认证凭据使用PBKDF2算法计算口令单向哈希时,迭代次数最低1000次。 +**示例**: +1、认证凭据使用PBKDF2算法计算口令单向哈希时,迭代次数最低1000次。 + 2、盐值Salt为密码学意义上的安全随机数,由系统随机生成,盐值salt至少16字节,并按用户区分。 + 3、避免使用HASH(用户名||口令)、HMAC(用户名,口令)、HASH(口令 XOR salt)。 4-3 敏感数据如需通过非信任网络传输,应支持安全传输通道或者将数据加密后再传输的机制。 @@ -160,7 +165,9 @@ MD5/DES/3DES(加密传输协议TLS/SSH密码协议中避免使用3DES,非密 5-4 应使用合适的安全协议,不安全协议应默认关闭。 -**示例**:安全协议举例:SSHv2/TLS1.2/TLS1.3/IPSec/SFTP/SNMPv3等协议,及其业界最新安全版本。对于流密码算法,建议使用AES的OFB和CTR模式或chacha20流加密算法替换RC4算法。 +**示例**: +安全协议举例:SSHv2/TLS1.2/TLS1.3/IPSec/SFTP/SNMPv3等协议,及其业界最新安全版本。对于流密码算法,建议使用AES的OFB和CTR模式或chacha20流加密算法替换RC4算法。 + 不安全协议举例:TFTP、FTP、Telnet、SSL2.0、SSL3.0、TLS1.0、TLS1.1、SNMP v1/v2和SSHv1.x。 5-5 基于权限最小化原则,系统新建账号默认不授予任何权限,或者默认只指派最小权限(如:只读权限)的角色。