密码学应用
要使用安全随机数;
Rand()是不安全随机数,容易被预测,禁止使用。
一、对称加密算法
定义:加密和解密使用相同的密钥
包括:分组加密算法、流加密算法
公司禁止使用流加密算法,不安全。
分组加密算法:AES(公司推荐)、3DES算法
二、非对称加密算法
(1)RSA算法,是第一个既能用于数据非对称加密也能用于数字签名的算法。
公司对使用该算法的要求:
1、选取安全的密钥长度,长度大于等于3072bits;
2、选取合适的公共指数e,通常2的16次方加1;
3、RSA加密时的填充,优先选择OAEP填充方式;
4、加密和签名要使用不同的密钥对。
(2)DH算法
用于密钥协商
三、对称和非对称加密算法对比
对称算法运算速度快,密文长度增长少,安全性容易证明,密钥长度短;密钥分发困难,不可以用于数字签名。
非对称加密算法密钥分发容易,可以用于数字签名;但是运算慢,密钥长度剧烈正常,安全性不容易证明,密钥长度长。
两类算法没有孰优孰劣,只能根据实际情况选用。
四、Hash算法
举例:MD5、SHA-1、SHA256
MD2、4、5已证明是不安全的hash算法,SHA-1已证明用于数字签名时其安全强度不足,在数字签名场景下禁用。
公司推荐的单向加密算法:PBKDF2算法。
五、消息认证码MAC
用于对消息的完整性进行认证,防止消息被篡改。HMAC是MAC算法的一种,公司推荐。
六、密钥管理
(1)密钥的来源
密钥使用规则:密钥用途单一化;
密钥存储规则:密钥在本地存储要提供保密存储,密钥要分层保护。
KMC:公司的密钥管理和存储的组件。
(2)密钥更新
方式:自动、手动
(3)密钥备份(建议)
(4)密钥销毁
不再使用的密钥 立即销毁
七、密码协议
(1)SSL、TLS
公司禁止使用SSL2.0 SSL3.0协议,TLS1.0仅可在遗留场景使用。
(2)ssh协议
使用其进行远程登录
公司要求:
禁止使用CBC模式;
禁止在密码协议中使用截短的消息认证码;
优先选择ECC密码交换算法和数字签名算法,优先选择HMAC-SHA2消息认证算法。
八、小结:
不允许使用私有、非标准的算法;
BASE64 简单的编解码变换,没有加密的功能;
安全算法敏捷性要求,具体措施:产品当中支持多种安全的算法,未来某天某个算法不安全时,可以迅速完成切换。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号