代码改变世界

【学习笔记】安全算法及安全认证方式

2021-02-24 23:36  l_v_y_forever  阅读(482)  评论(0)    收藏  举报

安全算法:

1、数字摘要:MD5(128bit)、SHA-1(160bit,公认最安全散列算法),不能逆向解密,可能需要十六进制或者Base64进行传输,彩虹表是一种风险
2、对称加密算法:DES(容易被破解),可升级为3DES和AES(128、192、256位三种,加密强度更高)
3、非对称加密算法:RSA算法
4、数字签名:报文+摘要算法然后+私钥生成数字签名,报文+摘要算法与数字签名+公钥比对校验结果,MD5withRSA和SHA1withRSA
5、数字证书:一序列(版本、对象名称、公钥)等各种信息生成证书摘要,然后再用证书颁发者私钥进行数字签名。可以用证书颁发者公钥验证签名,公钥存在于上一级证书颁发者数字证书中。因此形成一条证书链,因此最终首先检查证书认证机构,即根证书。

安全认证方式:

1、摘要认证:确保没有被篡改,主要使用MD5或者SHA-1摘要算法进行摘要认证。分为客户端参数摘要生成、服务端参数摘要校验、服务端响应摘要生成、客户端响应摘要校验。生成阶段主要是参数排序加secret然后使用摘要算法生成摘要,校验阶段主要是排序加secret然后使用摘要算法生成摘要进行比较校验。

2、签名认证:把摘要认证的加secret变为对摘要串使用私钥生成签名,然后校验时候先用公钥解密获取摘要串进行摘要串比较。

已上两种一般把最后的摘要串或者签名串放到header中。

3、HTTPS:

 

 

参考文献:

1、大型分布式网站架构-设计与实践  电子工业出版社  陈康贤著