区别与工作原理,http和https区别( 三 )


它分为两部分,公钥和私钥 。有了私钥能推导出公钥,反过来则不行 。可以简单理解为钥匙和锁头的关系,即有了钥匙能配出锁头来,但有锁头想配出钥匙来则很难 。证书证书是公钥的载体,里面除了公钥外,还有证书有效期,颁发者信息等其它内容 。摘要摘要就是其字面上的意思,对一段内容进行简略抽象 。加解密加密就是把一段内容使用公钥,转换为另一种无法识别的内容,解密就是使用私钥把加了密的内容还原成原始的内容 。
签名验签签名可以理解为另一种形式的加密,它使用私钥把原始内容转换为无法识别的内容,验签则是拿着原始内容以及签名内容,使用公钥验证它们是否一致 。下面再说下安全处理过程 。给消息生成摘要后,对摘要做签名,使得客户端能验证消息来源的可靠性和完整性 。服务器在给客户端的消息前,会先给消息生成摘要,再用自己的私钥给摘要做签名,最后再把签名和私钥对应的证书一起附在消息最后,发给客户端 。
客户端收到消息后,先验证证书的有效性,如果证书无效,直接pass以确保消息的可靠性 。然后对消息做摘要,再拿证书里的公钥结合摘要验证签名是否有效,这样即使消息被篡改或者破坏了了,因为生成的摘要不同,签名也就不一样,可以确保消息的完整性以及未被篡改 。通过对消息加密,避免消息内容被他人解读 。服务器和客户端在传输消息前,会先交换双方的密钥,然后传输过程都是一方用密钥对消息加密,另一方用密钥对消息解密 。
而第三方即使拦截了数据包,也会因为没有密钥而无法解读消息,避免其中的具体内容泄漏 。总之,相比较HTTP协议,虽然HTTPS的处理逻辑要复杂得多,但在互联网安全日益重要的今天,它已经成为了一个最常用的网络传输协议 。以上就是HTTP和HTTPS的一些概念性介绍,更复杂和详细的实现原理这里就不展开了,希望对你有帮助,谢谢 。
HTTP 和 HTTPS 是什么?有什么区别?
HTTPS是什么意思?HTTPS全称为Hypertext Transfer Protocol over Secure Socket Layer,中文含义为“超文本传输协议在安全加密字层”,简单来说就是加密数据传输,通俗的说就是安全连接 。HTTPS安全超文本传输协议,它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息 。
它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版 。HTTPS是一个URI scheme(抽象标识符体系),句法类同http:体系,用于安全的HTTP数据传输 。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间) 。
这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面 。它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果 。HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的子层 。
(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信 。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的 。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁 。也就是说它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性 。
专业来说,HTTPS安全连接是指在正访问的网站和 Internet Explorer 之间以加密的方式交换信息 。加密是利用网站提供的称为证书的文档来实现的 。将信息发送到网站时,该信息会在计算机上加密,然后在网站上解密 。正常情况下,该信息在发送期间无法被读取或篡改,但是某些人可能会找到破解加密的方法 。尽管HTTPS要比HTTP传输更安全,但即便计算机和网站之间的连接经过加密,也无法完全保证网站值得信任,因为网站使用或分发信息的方式仍可能会泄漏您的隐私 。

推荐阅读