易捷网络专注企业网站建设
11年企业网站建设经验、响应式网站建设,兼容PC、手机、平板全
终端,给你更佳的浏览体验...

关于HTTPS连接过程以及中间人攻击原理分解

来源:网站建设行业资讯网
添加时间:2021-12-16
一、HTTPS连接过程及中间人攻击原理:

  https协议就是http+ssl协议,如下图所示为其连接过程:

1.https请求
  客户端向服务端发送https请求;
  2.生成公钥和私钥
  服务端收到请求之后,生成公钥和私钥。公钥相当于是锁,私钥相当于是钥匙,只有私钥才能够打开公钥锁住的内容;
  3.返回公钥
  服务端将公钥(证书)返回给客户端,公钥里面包含有很多信息,比如证书的颁发机构、过期时间等等;
  4.客户端验证公钥
  客户端收到公钥之后,首先会验证其是否有效,如颁发机构或者过期时间等,如果发现有问题就会抛出异常,提示证书存在问题。如果没有问题,那么就生成一个随机值,作为客户端的密钥,然后用服务端的公钥加密;
  5.发送客户端密钥
  客户端用服务端的公钥加密密钥,然后发送给服务端。
  6.服务端收取密钥,对称加密内容
  服务端收到经过加密的密钥,然后用私钥将其解密,得到客户端的密钥,然后服务端把要传输的内容和客户端的密钥进行对称加密,这样除非知道密钥,否则无法知道传输的内容。
  7.加密传输
  服务端将经过加密的内容传输给客户端。
  8.获取加密内容,解密
  客户端获取加密内容后,用之前生成的密钥对其进行解密,获取到内容。
  中间人劫持攻击
  https也不是绝对安全的,如下图所示为中间人劫持攻击,中间人可以获取到客户端与服务器之间所有的通信内容。
  HTTPS连接过程以及中间人攻击劫持
  中间人截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信;将服务器返回给客户端的内容发送给客户端,伪装成服务器与客户端进行通信。
  通过这样的手段,便可以获取客户端和服务器之间通信的所有内容。
  使用中间人攻击手段,必须要让客户端信任中间人的证书,如果客户端不信任,则这种攻击手段也无法发挥作用。
  二、关于Webview的HTTPS安全
  目前很多应用都用webview加载H5页面,如果服务端采用的是可信CA颁发的证书,在webView.setWebViewClient(webviewClient)时重载WebViewClient的onReceivedSslError(),如果出现证书错误,直接调用handler.proceed()会忽略错误继续加载证书有问题的页面,如果调用handler.cancel()可以终止加载证书有问题的页面,证书出现问题了,可以提示用户风险,让用户选择加载与否,如果是需要安全级别比较高,可以直接终止页面加载,提示用户网络环境有风险:
  HTTPS连接过程以及中间人攻击劫持
  三、中间人攻击的预防
  造成中间人劫持的原因是没有对服务端证书及域名做校验或者校验不完整,为了方便,直接采用开源框架默认的校验方式进行https请求
  如volley
  HTTPS连接过程以及中间人攻击劫持
  HTTPS连接过程以及中间人攻击劫持
  OKhttp3.0
  HTTPS连接过程以及中间人攻击劫持
  预防方式有两种:
1.针对安全性要求一般的app,可采用通过校验域名,证书有效性、证书关键信息及证书链的方式
  2.针对安全性要求比较高的app,可采取客户端预埋证书的方式锁死证书,只有当客户端证书和服务端的证书完全一致的情况下才允许通信,如一些银行类的app,但这种方式面临一个问题,证书过期的问题,因证书有一定的有效期,当预埋证书过期了,只有通过强制更新或者要求用户下载证书来解决。
  以volley为例,重写HTTPSTrustManager中的checkServerTrusted方法,同时开启域名强校验
  深圳()不建议直接用handler.proceed()。如果webview加载https需要强校验服务端证书,可以在onPageStarted()中用HttpsURLConnection强校验证书的方式来校验服务端证书,如果校验不通过停止加载网页。当然这样会拖慢网页的加载速度,需要进一步优化。

网站建设计最新案例赏析:


深圳趣团建文化传播网站制作首页设计效果图
深圳趣团建文化传播
上海艾艺信息技术网站制作首页设计效果图
上海艾艺信息技术
江苏天兴环保股份网站制作首页设计效果图
江苏天兴环保股份
深圳福工精密科网站制作首页设计效果图
深圳福工精密科
东莞禾聚精密电子科技网站制作首页设计效果图
东莞禾聚精密电子科技
广东思远工程技术网站制作首页设计效果图
广东思远工程技术
深圳共安智能科技网站制作首页设计效果图
深圳共安智能科技
佛山市共宏纺织机械网站制作首页设计效果图
佛山市共宏纺织机械
上海科宁会展服务网站制作首页设计效果图
上海科宁会展服务
山东博纳电气网站制作首页设计效果图
山东博纳电气
 

网站建设行业资讯推荐阅读:


网站建设设计怎样才可以强化效果网站做完之后应该注意的几点 网站排名不好,真的是你推广的问题吗软文营销在网站推广中需要注意什么怎么让网站页面的加载速度更快微信网页开发这几个开发重点要好好了解 效果好的网站设计公司专业定制 网站优化建设firefox小工具(一)Symantec证书倒计时刻你还没准备更换吗参照百度指数选取合适的关键字科技分享珠宝等高端产品微信营销方案聊聊今年六个全新的扁平化设计风格官网设计的四个重要知识点你要知道怎样建立符合要求的企业网站Thinkphp的URL大小写敏感的解决方法企业网站设计有哪些注意事项深圳网站设计网站建设公司要想发展好要做好哪些方面提高客户购买率的电子商务网站设计技巧如何通过通过网站弹窗技巧来拯救用户体验的!如何识别和选择靠谱的深圳网站建设公司深圳网站建设分享手机网站优化细节平台网站开发具体的详细步骤是怎样的网站关键词上到首页下一步该怎么做深圳网站设计中html网页包含html文件的方法企业建站如何把控细节企业网站的设计中常见的SEO错误网站优化过度的反应有哪些 很好的网站设计哪家不错 深圳网站建设如何选择较优网站空间企业网站建设的基本步骤介绍网站现在已经是企业的基本配置,那么我们需要了解什么深圳网站制作中遇到问题该如何处理易捷网络教你怎样选靠谱的服务器 网页页面设计怎么样 对症下药!如何设计受欢迎的引导页营销型网站必须具备的常用功能一定要推荐给大家,中软国际解放号的软件定制服务太给力了小公司网站建设如何建设一个好站点土豪广州网站建设公司是怎样的seo自我提升的学习途径有哪些高校网站是否需要制作英文版本应该怎么做电商网站开发外贸英文网站怎么做才符合外国人用户体验提高搜索引擎优化的三种方式如何设计出一个优秀的网站页面网站建设方案需要注意哪些事项什么是劫持百度快照,哪些问题会导致快照被劫持网站建设需要准备什么知道这四点网站建设很容易企业在建设外贸网站时需要了解哪些常识PHP网站开发中多条件组合搜索深圳网站建设中优化网站结构的方法网页设计中背景如何设计企业网站建设的价值和作用是什么如何找回工信部备案密码 怎样把网站设计得更高层次为您推荐8个较佳Web开发资源网站设计制作价格怎么收费的多少钱深圳企业官网建设有哪些基本步骤建设网站是要注意哪些SEO推广细节易捷网络给大家讲述目标关键词
企业网站建设行业信息服务发布平台!
(www.fantodo.com)版权所有
QQ在线咨询