iOS DeveloperiOS开发技术分享程序员

HTTPS(理论)

2016-12-26  本文已影响0人  小白文_Vincent
文艺求关注.png

<h5>一 背景知识</h5>

1.基本术语 HTTP|HTTPS|SSL|TLS
2.HTTP和TCP的关系,如长连接和短连接等
3.加密算法的大概知识(对称加密和非对称加密)
4.CA证书的用途

<h5>二 基本术语</h5>

<b>HTTP:</b>是一个专门用来传输web内容的协议。

<b>SSL:</b>是Secure Sockets Layer的缩写,翻译成中文叫做安全套接字层

<b>HTTPS:</b>即 HTTP + SSL

<h5>三 HTTP和TCP的关系</h5>

<b>1)HTTP协议和TCP协议</b>

<b>2)短连接和长连接</b>

<b>3)HTTP各个版本中TCP的连接方式</b>

<h5>四 加密和解密</h5>

<h5>五 HTTPS协议为什么要设计成这样?(WHY)</h5>

<b>1)兼容性问题</b>

<b>2)可扩展性</b>

<b>3)保密性</b>

<b>4)完整性</b>

<b> 5)真实性</b>
HTTPS 协议必须有某种机制来确保“真实性”的需求。
如何确定我们访问的网站是真实的,关于这一点仅仅根据域名来判断是不靠谱的。因为我们的DNS系统本身就是不可靠的(域名欺骗和域名劫持),所以我们看到的网址里面的域名未必是真实的。

<b> 6)性能</b>

<h5>六 设计HTTPS协议的难点</h5>

个人认为最难的地方在于对传输数据进行加密和解密这一块,也就是密钥交换。
如果客户端和服务器端需要进行HTTPS通信,那么首先需要协商双方应该采用什么样的加密算法,确定了加密算法之后还需要传输加密和解密中可能涉及到的密钥,而此时尚处于握手阶段,所有的数据传输都还是明文的,那么应该如何安全的传输密钥成为最大的问题。

<h5>七 解决密钥安全传输的问题</h5>

<b>1)单独使用对称加密来传输</b>

<b>2)使用非对称加密来传输 效率太低</b>
<b>3)使用非对称加密+对称加密:</b>

<b>4)正是因为"缺乏身份认证机制",所以我们需要考虑身份认证的问题。</b>

<h5>八 身份认证的几种方式</h5>

1) 基于某些私密共享的信息 |前提——通信双方认识彼此熟悉
2)基于双方都信任的公证人 |如果通信双方都不认识彼此,那么就只能采用该模式(如C2C)
   那么,谁来充当这个公证人呢?"CA"华丽登场

如何解决SSL的身份认证问题:使用CA
CA数字证书在技术实现上依赖于非对称加密技术

<h5>维基百科中对HTTPS的定义</h5>

超文本传输安全协议(英语:"Hypertext Transfer Protocol Secure",缩写:HTTPS,也被称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种网络安全传输协议。在计算机网络上,HTTPS经由超文本传输协议进行通信,但利用SSL/TLS来对数据包进行加密。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。

扩充知识:
网景(英语:Netscape)是一个自1994年开始的品牌。"1994年4月4"日它最初成立的名字是'马赛克通信公司'。该公司有一款名称为"网景导航者"的浏览器,因此"网景"也是是网景通信公司(Netscape Communications Corporation)的常用简称。网景通信公司曾经是一家美国的电脑服务公司,以其生产的同名网页浏览器而闻名。1998年11月,网景被美国在线(AOL)收购,2003年7月网景被解散,网景大部分的程序员被解雇,2008年3月1日美国在线宣布停止对网景浏览器的技术支持。

网景公司(Netscape)在1994年推出首版网页浏览器,网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布了第一版TLS标准文件

IETF:互联网工程任务小组(英语:Internet Engineering Task Force,缩写为 IETF)负责互联网标准的开发和推动.

该网站提供免费的安全证书:https://letsencrypt.org

SSL协议握手的过程:
通过握手,客户端和服务器协商各种参数用于创建安全连接:

TLS 1.2在 RFC 5246 中定义,于2008年8月发表。它基于更早的TLS 1.1规范。

//HTTPS协议中关于SSL/TLS层握手过程的说明

<b>阶段一:协商加密方式等参数</b>

<b>阶段二:验证证书的有效性并交换会话密钥</b>

<b>阶段三:使用会话密钥加密消息,所有的消息在安全的信道中传输</b>

关注一下又不会怀孕.png
上一篇 下一篇

猜你喜欢

热点阅读