https的证书机制

参考:(1)HTTPS的加密方式超详细解读_渔火愁眠__CSDN (2)通俗易懂的带你了解HTTPS的原理_IT烂笔头_CSDN(3)网站向CA申请的数字安全证书可能被盗用吗?(4)rsa公钥和私钥到底哪个才是用来加密,哪个用来解密?

1、对称加密

1.1、定义
需要对加密和解密使用相同密钥的加密算法。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。

1.2、密钥形式
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

1.3、优缺点
优点:对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。 缺点:对称加密,密钥管理的安全性很低,因为加密和解密都使用同一个密钥,在密钥的发送过程中,密钥可能被第三方截取,导致第三方也可以破解密文。

1.4、 http通信中的使用及存在的问题
在每次发送真实数据之前,客户端先生成一把密钥,然后先把密钥传输给服务端。之后客户端给服务端发送真实数据的时候,会用这把密钥对数据进行加密,服务端收到加密数据之后,用刚才收到的密钥进行解密。
问题:中间人攻击如下图所示
在这里插入图片描述

2、非对称加密

2.1、定义
非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

2.2、密钥形式
公钥与私钥是一对。传输双方均有自己的一对密钥(也就是双方每方均有:公、私密钥一把,双方加起来共4把)

例子:传输双方比如是甲乙双方,甲方有配对的公、私密钥一对,且公钥负责加密,私钥负责解对应的公钥加的密。乙方同理。

2.3、优缺点
非对称密钥的算法强度复杂(是优点也是缺点),安全性依赖于算法与密钥。 优点:安全性较高,比对称密钥安全性高很多。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。 缺点:由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。

2.4、http通信中的使用及存在的问题
1.客户端要向服务器发送信息,客户端和服务器都要产生一对用于加密和解密的公钥和私钥。
2.客户端的私钥保密,客户端的公钥告诉服务器;服务器的私钥保密,服务器的公钥告诉客户端。
3.客户端要给服务器发送信息时,客户端用服务器的公钥加密信息,因为服务器的公钥是公开的,客户端可以得到。
4.客户端将这个消息发给服务器(已经用服务器的公钥加密消息)。
5.服务器收到这个消息后,服务器用自己的私钥解密客户端的消息。其他所有收到这个报文的人都无法解密,因为只有服务器才有服务器的私钥。
问题:由于其算法复杂,而使得加密解密速度较慢
在这里插入图片描述

注意:公钥和私钥都可用于加密和解密
公钥和私钥都可以用于加解密操作,用公钥加密的数据只能由对应的私钥解密,反之亦然。虽说两者都可用于加密,但是不同场景使用不同的密钥来加密,规则如下:
1、私钥用于签名、公钥用于验签签名和加密作用不同,签名并不是为了保密,而是为了保证这个签名是由特定的某个人签名的,而不是被其它人伪造的签名,所以私钥的私有性就适合用在签名用途上。私钥签名后,只能由对应的公钥解密,公钥又是公开的(很多人可持有,但私钥只有创建者有,这就可以用于判断是不是私钥持有者加密的数据),所以这些人拿着公钥来解密,解密成功后就能判断出是持有私钥的人做的签名,验证了身份合法性。
2、公钥用于加密、私钥用于解密,这才能起到加密作用因为公钥是公开的,很多人可以持有公钥。若用私钥加密,那所有持有公钥的人都可以进行解密,这是不安全的!若用公钥加密,那只能由私钥解密,而私钥是私有不公开的,只能由特定的私钥持有人解密,保证的数据的安全性。

3、对称加密与非对称加密的混合加密方法和存在的问题

黑色字迹:加密及传输过程
橙色字迹:安全问题
请添加图片描述

4、结合证书机制的非对称加密

请添加图片描述
注意:关于证书的验证,即客户端如何知道证书有效?
首先网站会想CA机构申请证书,CA机构有了网站信息;CA将网站信息通过hash散列得到hashcode,将hashcode使用CA机构的私钥加密(即所谓的签名)后与网站信息放在一起,构成了CA证书;用于非对称加密的公钥也是放在证书中。
因为私钥的私有的,并不会在互联网传播,所以无人能够伪造;又因为私钥对应的公钥有很多,所以公钥持有者可以通过解密被私钥加密的数据(这里是hashcode),判断数据是不是属于私钥持有者,也就是CA机构,从而知道证书的真伪。

5、思考

既然中间人可以截取密钥(3中),那么为什么不能截取证书呢?(中间人可以修改其中的公钥,在发给客户端)
答案是可以截取到证书,但截取到证书后还需要修改其中的公钥。但是如果A、B互发的公钥是带有签名,且验签所用的证书是CA颁发、可公开查询的,那么这种改变公钥的中间人攻击不被发现的可能性很小。

另外,如果没有别的附加手段,比如时间戳等保证会话匹配(matching conversation)的技术,单独的签名也防不住中间人的重放攻击。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值