HTTPS 的安全模型

每周五部门内有一个分享会,这周轮到我了,不知道讲些什么东西,因为不全是码农,所以讲写程序讲不了(目前这水平估计也只能讲Hello World),刚好上次回答了一个关于网页嗅探中间人攻击的问题,我自己的回答一般般,但是看到 网页嗅探中间人攻击-cevin的回答 还是有启发的,顺便查了点资料,整理一下。

一.简单加密(对称加密)

就是加密解密用同一个密钥。双方用同一个密钥,如果不知道密钥,是无法获知消息内容的。
但是交换密钥的过程,消息内容一定是明文的。
那么如果处于不安全的网络环境,如果一开始,交换密钥的消息被截获,那么之后的安全也无从谈起了
漏洞:交换密钥的过程不安全

二.非对称加密(非对称加密算法-百度百科)

具体的描述见百度百科,简单的说是:公钥加密的内容,只能私钥解密 / 私钥加密的内容,只能公钥解密
解决 简单加密 中出现的问题:

双方交换公钥,然后通信,分别用对方的公钥加密数据,发送给对方,接收方再用自己的私钥解密。公钥加密的数据无法再用公钥解密,所以,即时你能监听到密钥的内容,你也不知道消息内容。因为你并没有解密的钥匙

漏洞:中间人攻击(中间人攻击)

攻击者C事先生成两对密钥(C1,C2),A 和 B通信,交换公钥,如果恰好攻击者节点能截获数据报文(广域网并不存在一个固定的链路,但是如果攻击者是你的网关的话,或者局域网有人进行ARP欺骗,数据流经攻击者节点是必然的),那么攻击者可以将报文里的公钥给替换成自己的密钥(此时密钥交换过程,是明文的),然后保存原来的密钥
自己画了个图,不要吐槽。本来正常交换的密钥,然后经过攻击者C的时候,被替换了,然后两边收到的都是C的公钥,A和B密钥交换完成,A向B传输加密报文的时候,报文流经C(此时报文是 用 C2.public 加密的),C用 C2.proteced 解密,获知报文内容,然后用 B.public 加密,再发送给B。

整个过程下来,AB的通信内容,还是被泄露了

三.数字证书

这里问题的根源就在于,大家都可以生成公钥、私钥对,无法确认公钥对到底是谁的。为了解决这个问题,就有了数字证书这个东西。数字证书有会一个发布机构,去申请数字证书,会将明天再写,我再查一查。

关键字:https, 公钥, 加密, 密钥


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部