欢迎您光临深圳塔灯网络科技有限公司!
电话图标 余先生:13699882642

网站百科

为您解码网站建设的点点滴滴

https 初步了解

发表日期:2017-01 文章编辑:小灯 浏览次数:2039

https 初步了解
2017-01-16 10:27:43
ssl证书

1. https 简单介绍

概述

HTTP协议属于明文传输协议,交互过程以及数据传输都没有进行过加密,通信双方也没有进行身份验证,通信过程非常容易遭到劫持,篡改等安全问题,为了提高网络传输的安全性,HTTPS应运而生.相比HTTP,HTTPS提供了以下三个特性:

  • 通信内容隐私性: 内容经过对称加密,每个连接生成一个唯一的加密密钥
  • 通信双方身份的真实 : 第三方无法伪造服务端(客户端)身份
  • 通信内容的完整性 :内容传输经过完整性校验

接下来需要了解几个重要的概念

  • SSL
    SSL(secure sockets layer):安全套接层,它是在上世纪90年代中期,由网景公司设计的,为解决使用的 HTTP 协议造成传输内容会被偷窥(嗅探)和篡改等安全问题而设计的,到了1999年,SSL成为互联网上的标准,名称改为TSL(transport layer security):传输层安全协议,两者可视为同一种东西的不同阶段。
    HTTPS(HTTP over SSL)也是在HTTP的基础加了一层SSL的封装。
06070134_FZAi.png
  • 对称加密和非对称加密
    对称加密(AES,RC4,3DES) 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,优点是算法公开、计算量小、加密速度快、加密效率高。;
    非对称加密(RSA,DSA/DSS )算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密,非对称加密算法比对称加密算法慢数千倍,但在保护通信安全方面,非对称加密算法却具有对称密码难以企及的优势。
20170113160933951.png
  • CA证书
    CA是Certificate Authority的缩写,也叫“证书授权中心”,CA 证书,顾名思义,就是CA颁发的证书(内含公钥和私钥),网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。
  • TCP/UDP
    TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。
    UDP协议也是传输层协议,它是无连接,不保证可靠的传输层协议。
  • 哈希算法
    哈希算法(MD5,SHA1)将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。

工作流程

20170113193549689.png
  1. 客户端向服务器发送请求,并告诉服务器支持的算法列表;
  2. 服务器选择一种算法,并将自己的证书返回给客户端,证书包含服务器域名和公钥等信息;
  3. 客户端得到证书后进行验证,验证通过的话就生成一个随机值,并用证书中的公钥进行加密
  4. 传递加密信息,目的就是让服务器得到这个随机值,以后客户端与服务器的通信就可以通过这个随机值来进行加密解密;
  5. 服务器用自己的私钥解密客户端传过来的随机值,然后把内容进行对称加密,即将信息和私钥通过加密算法混在一起,这样除非知道私钥,不然无法获取到内容,而客户端与服务器都知道这个私钥,所以只要加密算法够强大,私钥够复杂,数据就很安全了;
  6. 将加密后的信息发给客户端,客户端还原信息
  7. 客户端用之前生成的私钥解密服务器发过来的信息,便获取到了解密后的内容;

2. 在android中如何使用

使用https 需要区分是自签名证书还是花钱向权威机构申请的证书 ,那么这两个证书有什么区别 ?
什么是自签名证书( self-signed certicates)
自签名证书就是没有通过受信任的证书颁发机构, 自己通过JDK自带工具keytool去生成一个证书。

SSL 证书大致分三类:

  • 由安卓认可的证书颁发机构(如: VeriSign), 或这些机构的下属机构颁发的证书.
  • 没有得到安卓认可的证书颁发机构颁发的证书.
  • 自己颁发的证书, 分临时性的(在开发阶段使用)或在发布的产品中永久性使用的两种.

只有第一种, 也就是那些被安卓系统认可的机构颁发的证书, 在使用过程中不会出现安全提示.

对于向权威机构((简称CA,Certificate Authority))申请过证书的网络地址,用OkHttp或者HttpsURLConnection都可以直接访问 ,不需要做额外的事情 。但是申请需要$$ (每年要交 100 到 500 美元不等的费用)。
CA机构颁发的证书有3种类型:

  • 域名型SSL证书(DV SSL):信任等级普通,只需验证网站的真实性便可颁发证书保护网站;
  • 企业型SSL证书(OV SSL):信任等级强,须要验证企业的身份,审核严格,安全性更高;
  • 增强型SSL证书(EV SSL):信任等级最高,一般用于银行证券等金融机构,审核严格,安全性最高,同时可以激活绿色网址栏。

**下面主要介绍一下使用自签名证书的情况 **
具体流程参考 ,http://blog.majiajie.me/2016/05/11/Android-%E5%81%B6%E9%81%87HTTPS/

参考文档

https时代来了,你却还一无所知?
Android 偶遇HTTPS : 介绍android 使用自签名证书实现https请求
初探HTTPS协议
Android Https相关完全解析 当OkHttp遇到Https


本页内容由塔灯网络科技有限公司通过网络收集编辑所得,所有资料仅供用户学习参考,本站不拥有所有权,如您认为本网页中由涉嫌抄袭的内容,请及时与我们联系,并提供相关证据,工作人员会在5工作日内联系您,一经查实,本站立刻删除侵权内容。本文链接:https://dengtar.com/20409.html
相关开发语言
 八年  行业经验

多一份参考,总有益处

联系深圳网站公司塔灯网络,免费获得网站建设方案及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:余经理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

  • QQ咨询
  • 在线咨询
  • 官方微信
  • 联系电话
    座机0755-29185426
    手机13699882642
  • 预约上门
  • 返回顶部