MITM

iOS应用网络安全之HTTPS

浪尽此生 提交于 2019-11-29 08:45:18
#iOS应用网络安全之HTTPS ##1. HTTPS/SSL的基本原理 安全套接字层 (Secure Socket Layer, SSL) 是用来实现互联网安全通信的最普遍的标准。Web 应用程序使用 HTTPS(基于 SSL 的 HTTP),HTTPS 使用数字证书来确保在服务器和客户端之间进行安全、加密的通信。在 SSL 连接中,客户机和服务器在发送数据之前都要对数据进行加密,然后由接受方对其进行解密。 当浏览器(客户端)需要与某个安全站点建立连接时,先建立TCP连接(三次握手),然后再发生 SSL会话握手: 浏览器将通过网络发送请求安全会话的消息(通常请求以 https 而非 http 开头的 URL)。 服务器通过发送其证书(包括公钥)进行响应。 浏览器将检验服务器的证书是否有效,并检验该证书是否是由其证书位于浏览器的数据库中的(并且是可信的)CA 所签发的。它还将检验 CA 证书是否已过期。 如果证书有效,浏览器将生成一个== 一次性的、唯一的 ==会话密钥,并使用服务器的公钥对该会话密钥进行加密。然后,浏览器将把加密的会话密钥发送给服务器,这样服务器和浏览器都有一份会话密钥。 服务器可以使用其专用密钥对消息进行解密,然后恢复会话密钥。 握手之后,即表示客户端已验证了 Web 站点的身份,并且只有该客户端和 Web 服务器拥有会话密钥副本。从现在开始