一、简介

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服务: