苹果已经确定,在iOS9中通信机制采用HTTPS了。

第一篇:http://www.cnblogs.com/ziyi--caolu/p/4742577.html

上一篇详细介绍了为什么要对HTTP进行加密,以及对HTTP进行加密的两种主要手段。也穿插了,在我以前开发过程中,对HTTP内容进行加密的知识。这一篇,主要是讲对通信过程的加密,也就是所说的HTTPS了。

简单的说,其实  HTTPS = HTTP  +  加密  +  认证  +  完整性保护

为了统一解决上一篇中提到的HTTP各种安全问题,需要在HTTP上加入加密处理和认证机制,把加了加密和认证机制的HTTP称为HTTPS。

使用HTTPS通信时,不再是http://     而是https://

A、身披SSL(Secure Socket Layer  安全套接层)的HTTP,即HTTPS

HTTPS并非是应用层的一种新协议,只是HTTP通信接口部分用SSL协议(TLS协议)代替而已。通常,HTTP直接和TCP通信。当使用SSL时,则是HTTP先和SSL通信,再由SSL和TCP通信。在采用SSL之后,HTTP就拥有了HTTPS的加密、证书、完整性保护功能,SSL是独立于HTTP协议的,也就是说,不光是HTTP协议,其他运行在应用层的协议,都是可以使用SSL的。

B、相互交换密钥的公开密钥加密技术

SSL采用的是一种叫做公开密钥加密的加密处理方式(近代的加密方法中加密算法是公开的,而密钥是保密的,加密和解密都要用到密钥,没有密钥,也就无法解密,但如果密钥被攻击者得到,那么加密也就失去了意义)。

1、共享密钥加密的困境

加密与解密使用的是同一个密钥的加密方式称之为共享密钥加密(对称密钥加密)。以这种方式加密时,必须将密钥也发给对方,同样的,如果可以确保密钥可以安全的到达,那么数据也是可以安全到达的。

2、使用两把密钥的公开密钥加密

公开密钥加密的方式很好的解决了共享密钥加密的问题。公开密钥加密使用一对非对称的密钥。一把为私钥(私有密钥),一把为公钥(公开密钥),其中私有密钥不能让任何人得知,而公开密钥则可以随意公布。

加密方式:

发送密文的那一端,使用对方的公开密钥进行加密处理,对方接收到被加密的信息后,使用私钥对此密文进行解密。

利用这种方式,不需要发送用来解密的私钥。从而解决了共享密钥加密存在的问题。

3、使用混合加密机制的HTTPS

HTTPS采用共享密钥加密和公开密钥加密的混合加密机制。如果为了实现密钥的安全,那么可以考虑仅使用公开密钥加密技术。(公开密钥加密比共享密钥加密处理速度要慢)

所以,应当充分利用两者的优势,将多种方法组合起来进行通信:在交换密钥环节,使用公开密钥加密技术(比如说,从客户端到服务器,那么在这样一个安全的通信中,客户端可以将共享密钥加密中的密钥用公开密钥加密中的公钥进行加密,发送给服务器,然后服务器使用公开密钥加密技术的私钥进行解密,就拿到了共享密钥加密技术中的私钥),之后建立通信报文交换的阶段则可使用共享密钥加密技术。

确保安全的HTTPS(使用混合加密的HTTPS,前端面试常问)第二篇的更多相关文章

  1. 确保安全的HTTPS(对HTTP加密的几种技术,前端面试常问)第一篇

    HTTP固然足够好,但是在安全方面有着很大隐患: 1.与服务器进行通信使用的是明文,内容可能会被窃听(HTTP协议本身并不具备加密功能,所以无法对请求和响应的内容进行加密) 2.使用HTTP协议的服务 ...

  2. 前后端API交互数据加密——AES与RSA混合加密完整实例

    前言 前段时间看到一篇文章讲如何保证API调用时数据的安全性(传送门:https://blog.csdn.net/ityouknow/article/details/80603617),文中讲到利用R ...

  3. AES和RSA混合加密技术在网络数据传输中的应用

    原文:http://www.fx361.com/page/2017/0110/519967.shtml          摘要:文章通过分析和比较AES加密算法和RsA加密算法的实现过程和各自的特点, ...

  4. 聊聊对称/非对称加密在HTTPS中的使用

    目前常用的加密算法主要分成三类: 对称加密算法 非对称加密算法 消息摘要算法 在互联网中,信息防护主要涉及两个方面:信息窃取和信息篡改.对称/非对称加密算法能够避免信息窃取,而消息摘要算法能够避免信息 ...

  5. 学习加密(四)spring boot 使用RSA+AES混合加密,前后端传递参数加解密

      学习加密(四)spring boot 使用RSA+AES混合加密,前后端传递参数加解密 技术标签: RSA  AES  RSA AES  混合加密  整合   前言:   为了提高安全性采用了RS ...

  6. AES加密和Base64混合加密

    /// <summary> /// AES加密方法(AES加密和Base64混合加密) /// </summary> /// <param name="toEn ...

  7. iOS开发之 AES+Base64数据混合加密与解密

    2016-04-08 09:03 编辑: liubinqww 分类:iOS开发 来源:liubinqww 投稿 4 889     "APP的数据安全已经牵动着我们开发者的心,简单的MD5/ ...

  8. Android接口安全 - RSA+AES混合加密方案

    转载请注明出处: http://blog.csdn.net/aa464971/article/details/51034462 本文以Androidclient加密提交数据到Java服务端后进行解密为 ...

  9. WebSocket数据加密——AES与RSA混合加密

    前言 之前在写“一套简单的web即时通讯”,写到第三版的时候没什么思路,正好微信公众号看到一篇讲API交互加密,于是就自己搞了一套AES与RSA混合加密,无意中产生应用在WebSocket想法,好在思 ...

随机推荐

  1. Intel Edison学习笔记(一)—— 刷系统

    一.下载安装包 1.固件安装包:官网下载地址:http://downloadmirror.intel.com/ ... image-ww25.5-15.zip2 2.烧录工具下载地址:http://d ...

  2. 【代码导读】Github 开源项目——wysihtml5 富编辑器(Bootstrap 风格)【一】

    如果你经常留迹于各大论坛.博客,肯定对它们的富编辑器稍有印象.纯 Javascript 富编辑器可以说是前台 JS 脚本的巅峰作品.一款完整的编辑器,其复杂的功能,会让你遇到各种头痛的浏览器兼容问题, ...

  3. 算法中的 log 到底是什么?

    之前一直不解为何算法中经常会看到 log 今天看<数据结构与算法分析 Java 语言描述>(第 3 版)2.4.3 节 求最大子序列和的分治算法实现时才注意到原因 翻看第 29 页的最后一 ...

  4. android异步处理机制

    昨天面试被提问android的异步处理机制有哪些,他说处理new thread还有哪种方式,我说implement runnable,他说不是,比如intentservice. 我说那还有asyncT ...

  5. logstash_output_mongodb插件用途及安装详解

    安装详情参见:http://mojijs.com/2017/03/222639/index.html http://www.jianshu.com/p/8516e51e105d

  6. 【转载】linux 测试机器端口连通性方法

    转载原文:http://blog.csdn.net/z1134145881/article/details/54706711 下面一一介绍: 1 telnet方法 2 wget方法 3 ssh方法 4 ...

  7. tomcat启动报错 java.lang.ClassNotFoundException: org.apache.jsp.index_jsp

    项目运行一直很平稳,但是换了tomcat之后打开jsp网页时就报错,描述如下: 1. 错误描述 打开jsp网页时报错 java.lang.NullPointerException     org.ap ...

  8. excel中对数据进行分类求和

    我们在用excel处理数据时,常常需要按不同的类别分别汇总数据.例如下图中需要求出每个业务员的总销售金额等. 通常情况下我们的数据量很大,而且需要较快的统计出来结果,所以我们要用一定的技巧才能计算出来 ...

  9. Gituhb 上一些值得攻读的玩具代码库

    https://github.com/sindresorhus/globby https://github.com/dylansmith/node-exif-renamer https://githu ...

  10. 关于Eclipse如何加入Gradle文件与Android Studio两个平台一起开发,工作目录不发生变化

    前言: 本来很久之前想弄这玩意,不过因为各种原因,所以没弄. 今天有位前辈提出需求.说想让Eclipse的Android项目逐步走向Android Studio,但是又担心Android Studio ...