生如夏花的博客

专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等

TLS

SSL/TLS是使用最广泛的加密通信方法。

SSL/TLS中广泛运用了对称密码、消息认证码、公钥密码、数字签名、伪随机数生成器等密码技术。

SSL(Secure Socket Layer)与TLS(Transport Layer Security)是不同的,TLS相当于是SSL的后续版本。

SSL/TLS可以通过切换密码套件来使用强度更高的密码算法。

PGP

PGP说明
时间1990年
作者菲利普·齐默曼
全称Pretty Good Privary
用途商业密码软件
支持平台Windows、Mac OS X、Linux
版本商用版、免费版
GnuPGGNU Privacy Guard,遵循OpenGPG规范编写的密码软件。

PGP设计目的是在连国家都不可信的情况下仍然能够使用,因此并不关心有没有可信的认证机构,而是采用了“由用户自己来决定信任谁”的设计。

伪随机生成器

在密码技术中,随机数被用来生成密码。

随机数的性质分为三类:随机性、不可预测性和不可重现性。

线性同余法是很多库函数所采用的生成伪随机数的方法,但不可以用于密码技术。

用于密码技术的伪随机数生成器,需要使用单向散列函数和密码技术确保不可预测性。

证书

什么是证书?证书的使用场景。

证书标准规范X.509、颁发证书的认证机构。

公钥基础设施PKI,对PKI的攻击方法和对策。

无论是数字签名、证书,还是认证机构的层级结构,都不可能在完全不可信的状态下创造出信任关系

数字签名

数字签名的基础知识、如何使用公钥密码实现数字签名。

使用RSA具体实践数字签名的生成和验证。

探讨针对数字签名的攻击方法以及数字签名与消息验证码之间的关系。

数字签名可以识别篡改和伪装,还可以防止否认。

数字签名是一种非常重要的认证技术,前提是用于验证签名的发送者的公钥没有被伪造。

消息认证码

消息认证码说明
作用对消息进行认证并确认其完整性的技术,但不能保证消息的机密性
原理使用发送者和接收者之间共享的密码,识别是否存在伪装或篡改
实用技术单向散列函数和对称加密技术
存在问题由于收发双方共享相同密钥,因此无法对第三方证明以及无法防止否认

认证加密是将消息认证码与对称加密相结合,同时满足消息机密性、完整性以及认证三大功能。

由于使用对称密码,发送者和接收者均可以生成消息认证码,因此对于第三方来说无法证明消息是由发送者生成的,即消息认证码无法防止否认

单向散列函数

单向散列函数能够根据任意长度的消息计算出固定长度的散列值,通过对比散列值可以判断两条消息是否一致,这种技术可用来辨别篡改。

SHA-3的具体实现方法。

针对单向散列函数的工具:暴力破解和生日攻击。

使用单向散列函数可以辨别篡改,但无法分辨伪装。要解决这个问题,需要使用消息认证码和数字签名。

公钥密码

密钥配送问题:在对称密码中,由于加密和解密的密钥是相同的,因此必须事先向接收者配送密钥。

如果使用公钥密码,则无需向接收者配送用于解密的密钥,这就相当于解决了密钥配送问题。

对称密码通过将明文转换为复杂的形式来保证机密性,公钥密码则是基于数学难题来保证机密性。 例如RSA利用了大整数的质因数分解问题的困难度。

即使已经有了公钥密码,对称密码也不会消失。

公钥密码的运行速度远远低于对称密码,因此一般通信过程中,往往会配合使用这两种密码,即用对称密码提高处理速度,用公钥密码解决密钥配送问题。这样的方式称为混合密码系统