煎蛋网站用什么做的,WordPress链接点击次数统计,深圳企业做网站公司有哪些,网站建设与管理ppt在了解https的加密方式之前#xff0c;我们需要先行了解两个特别经典的传统加密方式#xff1a;
1、对称加密
1.1、定义
需要对加密和解密使用相同密钥的加密算法。所谓对称#xff0c;就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解… 在了解https的加密方式之前我们需要先行了解两个特别经典的传统加密方式
1、对称加密
1.1、定义
需要对加密和解密使用相同密钥的加密算法。所谓对称就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则规定如何进行加密和解密。 注意对称加密也叫密钥加密。 1.2、密钥形式
采用单钥密码系统的加密方法同一个密钥可以同时用作信息的加密和解密这种加密方法称为对称加密也称为单密钥加密。
1.3、优缺点
优点对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。 缺点对称加密密钥管理的安全性很低因为加密和解密都使用同一个密钥在密钥的发送过程中密钥可能被第三方截取导致第三方也可以破解密文。
1.4、具体实现
在每次发送真实数据之前客户端先生成一把密钥然后先把密钥传输给服务端。之后客户端给服务端发送真实数据的时候会用这把密钥对数据进行加密服务端收到加密数据之后用刚才收到的密钥进行解密。
1.5、图解 2、非对称加密 2.1、定义
非对称加密算法需要两个密钥公开密钥publickey:简称公钥和私有密钥privatekey:简称私钥。公钥与私钥是一对如果用公钥对数据进行加密只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥所以这种算法叫作非对称加密算法。
2.2、密钥形式
公钥与私钥是一对。传输双方均有自己的一对密钥也就是双方每方均有公、私密钥一把双方加起来共4把
例子:传输双方比如是甲乙双方甲方有配对的公、私密钥一对且公钥负责加密私钥负责解对应的公钥加的密。乙方同理。
2.3、优缺点
非对称密钥的算法强度复杂是优点也是缺点安全性依赖于算法与密钥。 优点安全性较高比对称密钥安全性高很多。 非对称加密算法的保密性比较好它消除了最终用户交换密钥的需要。 缺点由于其算法复杂而使得加密解密速度没有对称加密解密的速度快。
2.4、具体实现 1.客户端要向服务器发送信息客户端和服务器都要产生一对用于加密和解密的公钥和私钥。 2.客户端的私钥保密客户端的公钥告诉服务器服务器的私钥保密服务器的公钥告诉客户端。 3.客户端要给服务器发送信息时客户端用服务器的公钥加密信息因为服务器的公钥是公开的客户端可以得到。 4.客户端将这个消息发给服务器已经用服务器的公钥加密消息。 5.服务器收到这个消息后服务器用自己的私钥解密客户端的消息。其他所有收到这个报文的人都无法解密因为只有服务器才有服务器的私钥。 2.5、图解
3、https的加密方式
上述的两种加密方式各有千秋所以HTTPS作为最后出场的大佬当然集大成者采用的是处理信息的方式是结合对称加密非对称加密这两种方式我们可以用非对称加密的方式来传输对称加密过程中的密钥之后我们就可以采取对称加密的方式来传输数据了。
3.1、对称加密非对称加密 服务器用明文的方式给客户端发送自己的公钥客户端收到公钥之后会生成一把密钥(对称加密用的)然后用服务器的公钥对这把密钥进行加密之后再把密钥传输给服务器服务器收到之后进行解密最后服务器就可以安全得到这把密钥了而客户端也有同样一把密钥他们就可以进行对称加密了。 但是非对称加密的方式也并非万无一失在此举个例子
服务器以明文的方式给客户端传输公钥的时候中间人截取了这把属于服务器的公钥并且把中间人自己的公钥冒充服务器的公钥传输给了客户端。
之后客户端就会用中间人的公钥来加密自己生成的密钥。然后把被加密的密钥传输给服务器这个时候中间人又把密钥给截取了中间人用自己的私钥对这把被加密的密钥进行解密解密后中间人就可以获得这把密钥了。
最后中间人再对这把密钥用刚才服务器的公钥进行加密再发给服务器。
毫无疑问在这个过程中中间人获取了对称加密中的密钥在之后服务器和客户端的对称加密传输中这些加密的数据对中间人来说和明文没啥区别。
3.2、证书
非对称性加密之所以不安全是应为客户端不知道这把公钥是不是服务器的。因此我们需要找到一种策略来证明这把公钥就是服务器的而不是别人冒充的,就像身份证一样唯一标识我们服务器的公钥解决这个问题的方式就是使用数字证书具体是这样的
而我们需要一个在互联网世界中充当公理的机构来签发这个证书它就是CA机构它是如今互联网世界正常运作的前提而CA机构颁发的“身份证”就是数字证书 网站在使用HTTPS前需要向CA机构申领一份数字证书数字证书里含有证书持有者信息、公钥信息等。服务器把证书传输给浏览器浏览器从证书里获取公钥就行了证书就如身份证证明“该公钥对应该网站”。而这里又有一个显而易见的问题“证书本身的传输过程中如何防止被篡改”即如何证明证书本身的真实性身份证运用了一些防伪技术而数字证书怎么防伪呢解决这个问题我们就接近胜利了
3.3、数字签名
有了数字整数之后我们又如何防止整数篡改呢
我们把证书原本的内容生成一份“签名”比对证书内容和签名是否一致就能判别是否被篡改。这就是数字证书的“防伪技术”这里的“签名”就叫数字签名 3.3.1、数字签名的制作过程
CA机构拥有非对称加密的私钥和公钥。
CA机构对证书明文数据T进行hash。
对hash后的值用私钥加密得到数字签名S。
明文和数字签名共同组成了数字证书这样一份数字证书就可以颁发给网站了。
3.3.2、浏览器验证过程
拿到证书得到明文T签名S。
用CA机构的公钥对S解密由于是浏览器信任的机构所以浏览器保有它的公钥。详情见下文得到S’。
用证书里指明的hash算法对明文T进行hash得到T’。
显然通过以上步骤T’应当等于S‘除非明文或签名被篡改。所以此时比较S’是否等于T’等于则表明证书可信。
这样的加密和验证方式的双重保险之下基本就能保证我们的连接以及数据交互的安全拥有这样证书和签名的网站我们访问起来有一把小锁的标识说明我们的访问是安全的。