密码学应用

要使用安全随机数;

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 简单的编解码变换,没有加密的功能;

安全算法敏捷性要求,具体措施:产品当中支持多种安全的算法,未来某天某个算法不安全时,可以迅速完成切换。 

posted @ 2018-06-24 16:31  Mr.van_Gogh  阅读(1715)  评论(0)    收藏  举报