一、简介
HTTPS - 安全超文本传输协议
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为
目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基
础是SSL,因此加密的详细内容请看SSL。
它是一个URI SCHEME(抽象标识符体系),句法类同HTTP 体系。用于安全的
HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端
口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司
进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通
讯,例如交易支付方面。
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并
返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全套接字层(SSL)作
为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和
TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加
密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发
送者是谁。
也就是说它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证
数据传输的安全;另一种就是确认网站的真实性。
HTTP和HTTPS的区别
HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,
后者是443。HTTP的连接很简单,是无状态的, HTTPS协议是由SSL+HTTP协议构建
的可进行加密传输、身份认证的网络协议要比HTTP协议安全。
SSL (Secure Socket Layer)
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输
协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际
的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
SSL协议的工作流程:
服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个
新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则
服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收
到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务
器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户
认证服务器。
用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对
客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的
提问和其公开密钥,从而向服务器提供认证。
二、案例
配置过程:
安装httpd:
启动httpd:
搭建CA服务器:
编辑/etc/pki/tls/openssl.cnf
编辑结果:
切换到CA目录,并创建相应的文件夹
创建CA
WEB服务器
创建密钥:
证书申请:
产生证书:
安装SSL模块:
安装结果:
编辑SSL配置:
编辑结果:
重启HTTPD服务:
转载于:https://blog.51cto.com/caoruijun/968747