写在前面:
结合最近的工作与学习,我决定把日常学习的内容进一步总结形成文档,放在这里方便时刻查看,也能分享帮到有需要的小伙伴,内容由我整理自各类书籍与互联网博文,未经允许禁止转载,如有侵权联系我删除,谢谢
目录
1.6 密码协议
密码协议是指:两个或两个以上参与者使用密码算法时,为达到加密保护或安全认证目的指定的交互规则。
密钥交换协议
公钥密码出现之前通信双方建立共享密钥是一个困难问题,在不安全的信道进行密钥交换是公钥密码相对对称密码的一个优点。
Diffie-Hellman密钥交换协议
经典的DH密钥交换协议运算在有限循环群上,初始化阶段选择大素数p,令g为模p乘法群的生成元,并公开参数p和g。
图6 DH协议图解(似曾相识燕归来)
DH协议不能抵抗中间人攻击,不能提供相互鉴别的安全保障。
设想:
在AB间,有一C。AB交换DH公钥P时,C在中间截获;C自己生成一对DH密钥(Pc,Sc),用Pc和A、B完成密钥交换。于是C与A间有了会话密钥Kac=f(Pa,Sc)=f(Pc, Sa),C与B间有了会话密钥Kcb=f(Pb,Sc)=f(Pc, Sb)。只要C从一方获得的信息,重新加密后传递给另一方,AB就都不会发现他们的通信被劫持了。
图7 DH中间人攻击
MQV密钥交换协议
MQV协议在DH协议基础上,在交互过程中用到了双方的公钥信息,有相应私钥的用户才能计算出与对方相同的会话密钥,从而达到隐式鉴别的效果
协议采用椭圆曲线加法群作为基本计算群。
SM2密钥交换协议
作为MQV的一个变种,具有鉴别通信双方真实性能力,通信双方经过两次(可选三次)信息传递过程,计算由双方确定的一个公钥。
GM/T 0003.3-2012:gmbz.org.cn/main/viewfile/20180108023456003485.html
实体鉴别协议
实体鉴别协议用于证实某个实体就是他所声称的实体,通过鉴别的实体通过表明它确实知道某个秘密来证明其身份。
实体鉴别包括单向鉴别(使用时双方只有一方被鉴别)与双向鉴别(运用响应机制对彼此进行鉴别),根据相互传递的次数又划分为一次传递鉴别、两次传递鉴别等
一次传递鉴别:身份声称者A向验证者B发送能证明自己身份的TokenAB,由B进行鉴别
为防止重放攻击,一次传递鉴别Token应包含时间值或序列号。
三种实现:①对称加密②MAC③数字签名
两次传递鉴别:采用“挑战-相应”机制,由验证者B将随机数Rb作为挑战发送给A,A通过对称加密/重新计算密码校验值/签名验证来验证Token有效性。
实体鉴别GB/T 15843研究(合集)_gbt15843-CSDN博客https://blog.csdn.net/samsho2/article/details/83591527
GB/T 15843.1—2017:标准文本查看 (tc260.org.cn)
综合密码协议
综合密码协议是一系列协议,身份鉴别+密钥交换+数据加密
应用层:HTTPS(WEB安全)、PGP、S/MIME、PEM(电邮安全)、SSH和RDP(远程登陆安全)、Kerberos(网络认证)
传输层:SSL/TLS、TLCP(国密SSL)
网络层:IPsec
IPsec协议和SSL协议是两个较综合的密码协议,包括数据保密性、完整性校验、数据源身份鉴别和抗重放攻击。IPsec工作在网络层,SSL工作在应用层和传输层之间。
IPsec协议是为网络层上的同心数据提供一整套安全体系结构的一套协议集合,包括IKE(Internet Key Exchange,互联网密钥交换)协议、AH(Authentication Header,认证头)协议、ESP(Encapsulating Security Payload,封装安全载荷)协议和一系列网络身份鉴别和加密的算法。
SSL协议是网景公司推出Web浏览器时推出的,旨在保证web传输的重要或敏感数据的安全性的通用协议,采用B/S(浏览器/服务器)架构为典型实现方式,有数据加密、完整性保护、数据源鉴别、抗重放攻击等功能
图8 SSL协议栈
表1 IPsec与SSL特征对比
特征 | IPsec | SSL/TLS |
身份鉴别 | IKE | 握手协议 |
安全通信 | AH、ESP | 记录层协议 |
网络层次 | 网络层 | 应用层与TCP层之间 |
部署 | 客户端 | 浏览器 |
连接双方 | 站到站、子网间 | 端到站、终端到子网 |
保护双方 | 一个内网整体 | 常仅开放一个端口 |
密评之——综合密码协议IPSEC 和SSL - 霍易 - 博客园 (cnblogs.com)https://www.cnblogs.com/huio/p/17105674.html
1.7 密码功能实现
保密性实现
信息保密性保护的目的是避免信息泄露或暴露给未授权的实体。一般有三种方法:①访问控制 ②信息隐藏 ③信息加密
CBC模式下的初始向量一般要随机产生,CTR模式下计数器值保证每次不同
完整性实现
数据完整性保护信息免受非授权实体的篡改和替代,数据完整性的破坏包括有意或无意的破坏。①访问控制方法,限制非授权实体修改被保护的数据 ②损坏检测方法,无法避免数据损坏,但保证这些损坏被检测出来并能纠正和报警。
真实性实现
实现信息来源真实性的核心是鉴别,使用密码技术可安全实现对实体的鉴别,常用方式有①基于对称密码、公钥密码等密码技术的鉴别 ②基于静态口令的鉴别 ③基于动态口令的鉴别 ④基于生物特征的鉴别
不可否认性实现
不可否认功能不能防止通信参与方否认通信交换行为发生,但能在纠纷时提供可信证据,有利于纠纷解决。网络中不可否认分为①起源的不可否认 ②传递的不可否认
起源的不可否认:产生证据的主体是发起者,某些场景下有可信第三方参与,起源不可否认性证据要求将各种信息片段用无可辩驳方式联系起来,信息至少包括发起者身份和数据精确值。证据产生方式:①使用发起者数字签名 ②使用可信第三方数字签名
传递的不可否认:关于某特定接收者接受到特定数据的证据。产生证据的主体是接收者,某些场景下有可信第三方参与。传递不可否认将至少包括接收者身份和数据精确值的信息连接起来形成证据。证据产生方式:①使用接收者签名确认 ②使用可信代理传递 ③使用两阶段传递