摘自:http权威指南 人民邮电出版社 (陈涓,赵振平译)
本章同时介绍了数字签名 数字证书 密码等相关知识
一、安全http
(1) http安全技术需要提供的功能:
*服务器认证(客户端知道他们是在与真正的而不是伪造的服务端通话)
*客户端认证(服务端知道他们是在与真正的而不是伪造的客户端通话)
*完整性(客户端和服务端的数据不会被修改)
*加密(客户端和服务端的对话是私密的,无需担心被窃听)
*效率(一个运行的足够快的算法,以便低端的客户端和服务器使用)
*普适性(基本上所有的客户端和服务器都支持这些协议)
*适应性(能够支持当前最知名的安全方法)
*在社会上的可行性(满足社会的政治文化的需要)
(2)安全http的标志:https://
(3) 网络传输机制(网络七层协议)
*http HTTP(应用层)----TCP(传输层)----IP(网络层)------网络接口(数据层)
*https HTTP(应用层)----SSL or TLS(安全层)----TCP(传输层)----IP(网络层)------网络接口(数据层)
(HTTPS是位于安全层智商的HTTP),这个安全层位于TCP之上
二、数字加密
(1)知识点解析
*密码(cipher) 对文本进行编码,是偷窥者无法识别的算法
*密钥(key) 改变密码行为的数字化参数
*对称密钥加密系统 编/解码使用相同密钥的算法
*非对称密钥加密系统 编/解码使用不同密钥的算法
* 数字签名 用来验证报文未被伪造或篡改的校验和
*数字证书 由一个可信的组织验证和签发的识别信息
(2)数字加解密流程
加密
给定一段明文报文P、一个编码函数E和一个数字编码密钥e,就可以生成一段经过编码的密文C
流行的对称密钥加密算法包括:DES、RC2、RC4
(3)公开密钥加密技术
客户端使用公开密钥加密,服务端使用私有密钥解密,过程如上图,其中e为公开密钥,d为私有密钥
(只有服务端才能对客户端的信息解码,保证客户端信息的安全)
(4)数字签名
除了加解密报文之外,还可以对报文进行签名(sign),以说明是谁编写的报文,同时证明报文未被篡改过。这种技术被成为数字签名(digital signing).
签名过程
(5)数字证书
通常被称为certs,其中包含了某个受信任组织担保的用户或公司的相关信息(类似于身份证,有国家颁发,其中是你自己的个人信息),证书结构如下
用证书对服务器认证,验证数据的正确来源。
(6)也就是说客户端通过服务端的证书验证数据来源的可靠性
整个过程起到的作用,客户端的数据无法被窃取,服务端数据的来源是可靠的,但是,如果没办法验证客户端是可靠的,所以在MDM签名过程中,需要预装根证书,确定客户端也可靠的。在苹果开发者证书申请的过程中的cert也是证书,验证开发者有没有权限开发app,且验证能不能安装app,进行调试,profile(预置描述文件)
判断客户端有没有权限安装。