https实现过程

  • Web⽹站的登录⻚⾯都是使⽤https加密传输的,加密数据以保障数据的安全
  • HTTPS能够加密信息,以免敏感信 息被第三⽅获取,所以很多银⾏⽹站或电⼦邮箱等等安全级别较⾼的服务都会采⽤HTTPS协议
  • HTTPS其实是有两 部分组成:HTTP + SSL / TLS,也就是在HTTP上⼜加了⼀层处理加密信息的模块。服务端和客⼾端的信息传输都会 通过TLS进⾏加密,所以传输的数据都是加密后的数据。
    在这里插入图片描述
  • https 实现过程如下
  1. 客⼾端发起HTTPS请求: 客⼾端访问某个web端的https地址,⼀般都是443端⼝
  2. 服务端的配置: 采⽤https协议的服务器必须要有⼀套证书,可以通过⼀些组织申请,也可以⾃⼰制作,⽬前国内很多⽹站都⾃⼰做的, 当你访问⼀个⽹站的时候提⽰证书不可信任就表⽰证书是⾃⼰做的,证书就是⼀个公钥和私钥匙,就像⼀把锁和钥匙,正 常情况下只有你的钥匙可以打开你的锁,你可以把这个送给别⼈让他锁住⼀个箱⼦,⾥⾯放满了钱或秘密,别⼈不知道⾥ ⾯放了什么⽽且别⼈也打不开,只有你的钥匙是可以打开的。
  3. 传送证书: 服务端给客⼾端传递证书,其实就是公钥,⾥⾯包含了很多信息,例如证书得到颁发机构、过期时间等等
  4. 客⼾端解析证书: 这部分⼯作是有客⼾端完成的,⾸先回验证公钥的有效性,⽐如颁发机构、过期时间等等,如果发现异常则会弹出⼀个警 告框提⽰证书可能存在问题,如果证书没有问题就⽣成⼀个随机值,然后⽤证书对该随机值进⾏加密,就像2步骤所说把随 机值锁起来,不让别⼈看到。
  5. 传送4步骤的加密数据: 就是将⽤证书加密后的随机值传递给服务器,⽬的就是为了让服务器得到这个随机值,以后客⼾端和服务端的通信就可以 通过这个随机值进⾏加密解密了。
  6. 服务端解密信息: 服务端⽤私钥解密5步骤加密后的随机值之后,得到了客⼾端传过来的随机值(私钥),然后把内容通过该值进⾏对称加 密,对称加密就是将信息和私钥通过算法混合在⼀起,这样除⾮你知道私钥,不然是⽆法获取其内部的内容,⽽正好客⼾ 端和服务端都知道这个私钥,所以只要机密算法够复杂就可以保证数据的安全性。
  7. 传输加密后的信息: 服务端将⽤私钥加密后的数据传递给客⼾端,在客⼾端可以被还原出原数据内容。
  8. .客⼾端解密信息: 客⼾端⽤之前⽣成的私钥获解密服务端传递过来的数据,由于数据⼀直是加密的,因此即使第三⽅获取到数据也⽆法知道 其详细内容
发布了107 篇原创文章 · 获赞 20 · 访问量 6355
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章