通信安全:哈希、加密、证书、签名、密钥协商、ECDH、TLS、DTLS

通信安全:哈希、加密、证书、签名、密钥协商、ECDH、TLS、DTLS

 通信风险

窃听:第三方可以知道通信内容。篡改:第三方可以修改通信内容。假装:第三方可以冒充另一个人参与交流。

风险防范

信息被加密和传输,第三方不能窃听。添加验证机制,一旦被篡改,通信双方将立即发现。配备身份证明以防止身份被假冒。

​哈希(Hash)

hash也被称为hash。它通过哈希算法将任意长度的输入转换成固定长度的输出。输出是哈希值,也称为摘要。

通信安全:哈希、加密、证书、签名、密钥协商、ECDH、TLS、DTLS@

哈希是一种压缩映射,通常不可逆

此转换是压缩映射。也就是说,哈希值的空间通常比输入空间小得多。不同的输入可以被散列到相同的输出中,因此不可能从散列值中确定唯一的输入值。然而,如果输出的位数足够多,不同输入散列到相同输出的概率非常非常小。

简单地说,散列是将任何长度的消息压缩成固定长度的消息摘要的过程。

哈希是不可逆的,即输入不能通过输出恢复。此功能通常用于密码保存。

SHA-512和MD5是众所周知的散列函数。MD5生成的哈希代码是128位,甚至MD5也是哈希的同一个名词。您可以通过网站在线计算哈希:https://passwordsgenerator.net/sha512-hash-generator/.

散列有什么用?

加密

加密是将明文转化为密文的过程,解密是将密文转化为明文的反向。

例如,著名的凯撒密码是将每个单词映射到另一个单词,所以只要有一本密码本,加密和解密就可以通过比较来完成。例如,在最简单的情况下,对于英语中的26个字母,每个字母向右移动3,abc变成def,这也是一种加密。当然,这种加密非常简单,很容易解码。

虽然诸如AES(高级加密标准)和3DES(三重数据加密算法)被公认为难以破解,但山东大学女教授王小云非常擅长破解MD5和SHA-1,迫使加密标准升级,最终成为院士。

对称加密

对称加密意味着加密和解密密钥相同,具有速度快的优点。这也是传统的加密方法,像AES和3DES都是对称加密。

非对称加密

不对称加密使用不同的加密和解密密钥。有两个密钥,一个公钥和一个私钥。公钥可以被公开,私钥被适当地保存。RSA、椭圆曲线加密算法和密钥交换算法都是非对称加密。

不对称加密很慢,有多慢?与对称加密相比,它慢1000倍,因为它慢,所以它通常用于密钥协商(握手)。协商会话密钥后,用对称密钥加密通信数据。

1976年,惠特菲尔德·迪菲(Whitfield Diffie)和马丁·赫尔曼(Martin Hellman)首次提出了不对称加密的概念,称为迪菲-赫尔曼密钥交换。然后在1978年,麻省理工学院的罗恩·瑞文斯特、阿迪·萨莫尔和伦纳德·阿德勒曼发表了RSA算法。这些可以被视为不对称加密的基础。

不对称加密也称为公钥基础设施或公钥基础设施。不对称加密的提出是密码学的一场革命,具有深远的影响。

不对称加密算法用私钥加密,用公钥解密,或者用公钥加密并用私钥解密。

证书

证书只是为了证明我就是我。例如,如果您想访问中国银行的网站,中国银行官方网站如何证明它是中国银行的官方网站?答案是数字证书。

认证中心是一个数字证书中心。服务器需要找到认证中心进行认证,并让认证中心向自己颁发数字证书。数字证书通常包含一些关于服务和服务器公钥的信息。CA私钥加密后生成的数字证书具有权威性,其公钥为世界所知。因此,如果您可以用证书颁发机构的公钥解锁证书,您可以证明该证书必须由证书颁发机构颁发。否则,它将没有证书颁发机构的私钥,并且无法生成用证书颁发机构的公钥解密的证书。

因此,可以看出数字证书使用不对称加密。

数字签名

日常生活中也有签名。每个人的笔迹都不一样。刷卡消费后,在账单上签名。店员检查并保存了它。当你违约时,你可以有一个签名来证明这一点,因为别人写的字总是不同于你的笔迹。

什么是数字签名?例如,甲发送一封电子邮件。接收者如何证明这封信是甲写的?

本质上,数字签名也使用不对称加密。

如前所述,非对称加密有一个公钥和一个私钥。如果生成方使用私钥加密,然后接收方使用发送方的公钥解密,则可以证明它是从发送方发送的,因为其他人无法获得您的私钥,也无法使用您的私钥加密,并且您无法拒绝它。

数字签名通常首先散列内容,生成内容摘要,然后用私钥加密以获得签名。

密钥协商

让我们举个例子来说明这些问题:

张三有两个密钥,一个公钥,一个公钥,一个私钥,它们都保存得很好。显然,只有他知道不对称加密。

李四给张三写信,用张三的公钥加密,通过邮局发给张三。即使邮递员打开信封,他也无法理解,因为内容是密文,只有张三的公钥才能解密。

张三收到信后会用私钥解密,并能正常阅读。

现在张三将回复李四。写入后,使用哈希函数生成摘要。

然后张三用私钥加密摘要以生成数字签名。

然后把你的签名附在信的底部,寄给李四。

过程是:清除字母-散列-数字-私钥加密-签名。

李四收到回复后,用张三的公钥解密了数字签名并获得了摘要,从而证明这封信确实是张三发来的。为什么?因为如果不是张三的,那么作者就没有张三的私钥。用其他私钥加密的签名不能用张三的公钥解锁。

李四,内容再散列一遍,得到一个摘要。将其与上一步中获得的摘要进行比较。如果一致,将证明信件的内容没有被修改,并且信件的内容是完整的。

一个复杂的情况出现了。

王武,用自己的公钥替换李四保存的张三的公钥,也就是说,王武欺骗了李四。李四把王武的公钥误认为张三的公钥。就这样,王吴灿假扮成张三,给李四写信(王五用自己的私钥加密)。

有什么问题?问题是李四不能确定他保存的公钥真的是张三的公钥。如果客户计算机上存储的工行官方网站的公钥实际上是欺诈公司的公钥,那就麻烦大了。

怎么做?让张三去认证中心认证公钥。怎么做?认证中心用其私钥加密张三的公钥和其他相关信息,以生成数字证书。

张三收到数字证书后,给李四回了信,并附上了签名的数字证书。

李四收到信后,从ca的公钥中解开数字证书(digital certifiCAte),取出张三的公钥(一定是真的),然后可以按照之前的程序安全愉快地解开签名。

数字证书添加后,核心区别在于张三的公钥不再存储在李思思中,而是通过数字证书颁发的。

为什么张三在数字证书中的公钥必须是真的?因为证书颁发机构是一个权威机构,假设世界上只有一个(事实上,并不多,但也不多),它的公钥在全世界被称为固定字符串,证书

密钥交换算法

爱丽丝和鲍勃必须协商一种共同的颜色。他们可以交换信息,但交换的信息可能会被窃取。我们做什么呢在不让别人知道的情况下协商一种公共颜色是可能的。

首先,它们有一种共同的颜色,1毫升黄色。

然后爱丽丝选择红色,鲍勃选择绿色,都是1毫升。只有自己知道,不会告诉别人。

然后爱丽丝混合黄色和红色,鲍勃混合黄色和绿色,每两毫升。

然后,他们给了对方2毫升混合色液体。

然后,将一毫升私人彩色液体与从另一方接收的两毫升液体混合。以下是见证奇迹色彩的时刻。他们得到了相同的颜色,第三方无法通过查看他们传递的数据来知道他们最终得到的颜色(根据一个假设,如图所示)。

密钥交换算法的原理类似于此。互联网上有很多关于这个问题的信息。我认为在理解了上述例子之后,看看ECDH并不难。

众所周知,http是一种互联网协议,但它不够安全,所以它后面有一个改进版本的https,这实际上是一个额外的顶级域名。这是传输层加密,本质上是通过握手协商会话密钥,所有后续数据传输都用该密钥对称加密和解密。

我们经常谈论安全通道,实际上就是协商会话密钥。他并不神秘。让我们随便放几张照片。

为了减少这些RTT的,我想了各种方法,然后重用连接,我可以实现0RTT和1RTT。

这么说吧,最后抛出几个名词。你有兴趣向百度学习吗:DTLS、HMAC、AEAD、重播攻击、放大攻击,是不是很高端?

极牛网精选文章《通信安全:哈希、加密、证书、签名、密钥协商、ECDH、TLS、DTLS》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/4896.html

(39)
打赏 微信公众号 微信公众号 微信小程序 微信小程序
主编的头像主编认证作者
上一篇 2019年10月9日 下午4:49
下一篇 2019年10月10日 上午9:16

相关推荐

发表回复

登录后才能评论
扫码关注
扫码关注
分享本页
返回顶部