美文网首页
Android中HTTPS协议原理

Android中HTTPS协议原理

作者: MengkZhang | 来源:发表于2019-07-28 11:19 被阅读0次

简介

理解HTTPS为什么相较Http是安全的。

个人对于ssl握手解决的问题实质的理解

  • 非对称加密用来验证服务端的合法性,并“加密”对称加密秘钥(实际只加密了一个随机数Random3)
  • 对称加密用来加密数据
  • SSL握手是为了安全地协商出一份对称加密的秘钥

SSL握手和TCP握手的先后顺序

SSL层在TCP层之上,SSL握手是在TCP握手完成之后,除了这点之外,两者应该是相对独立的过程。在服务端,这两个过程有可能不在同一台主机上,比如服务端用LVS+Nginx实现负载均衡,LVS是四层负载均衡,只解析到TCP层,并不会解析SSL层,而Nginx实现的是七层负载均衡,可以解析到应用层。因此,LVS与客户端只建立TCP连接,而SSL握手是在Nginx上实现的。

SSL握手过程

这里只解释单方认证,即客户端辨别服务端的身份真假。且以RSA为例子。

下面是示意图


示意图解释如下(C代表客户端,S代表服务端)
第一步:C—>S: SSL协议版本号,客户端支持的加密套件(加密算法种类),客户端生成的随机数Random1

第二步:从客户端发过来的加密算法中选一种;利用非对称加密,生成含有公钥的证书;服务端自己生成一个随机数Random2(至此客户端和服务端都拥有了两个随机数(Random1+ Random2),这两个随机数会在后续生成对称秘钥时用到)

第三步:确认数字证书有效;生成随机数Random3并用公钥加密;

第四步:服务端用自己的私钥解密获得Random3;

第五步:客户端,服务端根据约定的对称加密算法,使用三个随机数组合起来生成“对称加密的秘钥”,后面传输的数据都用这个秘钥来加密。

相关文章

  • Android中HTTPS协议原理

    简介 理解HTTPS为什么相较Http是安全的。 个人对于ssl握手解决的问题实质的理解 非对称加密用来验证服务端...

  • HTTPS之自签SSL证书相关资料

    HTTPS工作原理 JDK自带工具keytool生成ssl证书 Android访问Https协议的接口 证书格式转...

  • https协议原理

    从新浪博客搬到简书(在简书试写) 参考链接:http://www.cnblogs.com/zery/p/51647...

  • https协议原理

    HTTPS HTTPS是以安全为目标的http通道,即在http下加入SSL层(HTTP +SSL/ TLS),S...

  • HTTPS协议原理

    服务提供商找CA签发一张证书,证书包含两部分:第一部分,使用CA私钥加密的服务商的公钥,还有一些说明信息第二部分,...

  • HTTPS协议

    HTTPS协议详解(一):HTTPS基础知识HTTPS协议详解(二):TLS/SSL工作原理HTTPS协议详解(三...

  • HTTPS传输协议原理

    我们常常在使用网上银行时看到的连接都是以“https”开始的,那么这个https是什么呢?这其实是表示目前连接使用...

  • HTTPS协议---原理浅析

    作者: 张洋日期:2019-10 原创文章,转载请注明出处 题目本来是在公司中做的一次分享,后来觉得30分钟通过P...

  • HTTPS传输协议原理

    HTTPS传输协议原理 我们常常在使用网上银行时看到的连接都是以“https”开始的,那么这个https是什么呢?...

  • (Note) 浅析Https

    Thanks HTTPS理论基础及其在Android中的最佳实践聊聊HTTPS和SSL/TLS协议 理解HTTPS...

网友评论

      本文标题:Android中HTTPS协议原理

      本文链接:https://www.haomeiwen.com/subject/ftuurctx.html