Linux -- 进阶 Web服务器 搭建基于 https 协议的静态网站 ( 预备知识 )

概念引入 : 

     

      什么是 HTTPS ?   HTTPS  协议背景 ? 

      ===>>> 

                HTTP 协议  即  超文本传输协议 ,

                它出生的很早,在早期,网络服务的相关攻击呢,或者病毒啥的几乎没有,安全类的问

                 题也是少之又少。

             

                但是,随着计算机技术的发展,到目前呢安全攻击啥的就很多了,而 http 协议 就有点对

                付不了了,因为它几乎就没啥安全防御的措施。 

                HTTP 协议呢 它是以明文方式发送内容的,它并不提供任何方式的数据加密,那如果攻

                击者截取了 Web浏览器和网站服务器之间的传输报文,那就可以直接读取其中的信息,

                因此 HTTP 协议 不适合传输一些 敏感信息,比如 银行卡号,密码等。 

               

                所以,慢慢的专家就在 HTTP 协议的基础上 后来又开发了   ssl  协议,主要的目的

                呢就是给 HTTP 协议 补充一些 安全类相关的控制 ( 比如 加密、认证 啥的  )

                所以,超文本传输协议适用于 传输 Web浏览器 和 网站服务器之间的数据,它的最大问

                题就是传输的方式 是明文,你写的是什么传输的就是什么,没有提供任何方式的数据加

                密,那就有风险了; 你想想,如果攻击者截取了 Web浏览器和网站服务器之间的传输报

                文,那就可以直接读懂其中的信息,因此 HTTP 协议不适合传输一些敏感信息,比如银

                行卡号,密码啥的。 

               

                那为了解决这一问题 ( HTTP 安全方面的缺陷 ) 这就有了我们要讲的  HTTPS    

                HTTPS   :  超文本传输安全协议   

                HTTPS 这个协议并不是一个新协议,而是  HTTP + SSL (TLS  这两个协议组成。 

     在之前, HTTP 是先和 TCP ( 假定传输层是 TCP 协议 ) 直接通信;

     

     而加了 SSL 协议之后,

     就变成 HTTP 先和 SSL 通信,再由 SSL 和 TCP 通信,就相当于 SSL 被嵌在了

     HTTP 和 TCP 之间 。 

                如下图所示  

                ===>>> 

                Linux -- 进阶 Web服务器 搭建基于 https 协议的静态网站 ( 预备知识 )_第1张图片

 

             

                                      

SSL 协议   

               

   SSL 背景  

                ===>>> 

                SSL 即  Secure Sockets Layer  的缩写, 中文名叫做 “ 安全套接层 ”  它是在上世纪90年

                代中期设计的,到了1999年就应用广泛了,默认成为了互联网的标准,再后来就被标准

                化了,标准化为 TLS  ---  传输层安全协议 。  

     SSL协议分为两层 :  

                 *  SSL 记录协议  :   

                                                   它建立在可靠的传输协议之上 ( 如TCP ) 之上,为高层协议提

                                                    供数据封装、压缩、加密等基本功能。  

                                                    记录 主要提供的是  加密 ~!!!

                 *  SSL 握手协议  : 

                                                   它建立在 SSL 记录协议之上,用在 实际的数据传输开始前,通讯

                                                    双方进行身份认证、协商加密算法。交换加密密钥等。  

                                                    握手 , 是用于认证的,就是表明对方的身份是认可的~!!

   官方  : 

                         SSL协议提供的服务 : 

                                           *   认证用户和服务器,确保数据发送到正确的客户机和服务器 

                                           *    加密数据以防止数据中途被窃取 

                                           *    维护数据的完整性,确保数据在传输过程中不被改变  

                                                                        

   综上 : 

                          SSL 主要是解决两个问题  ( 作用 ) 

                                       

                                    *    传输时的秘密性   

                                                 就是 在数据传输时 这个数据是加密的,不能被对方破译掉 。 

                                    *    身份验证的真实性 

                                                 传给对方接收者,你对对方的身份也是认可的~!!               

加密认证 :    

                       *   最常见的加密算法 就是 哈希 ( HASH )了 

                            常见的 HASH 算法 :  

                                   MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5 

                                   HMAC、 SHA1 

              

                            

           共享密钥加密 : 

                  *        又称为对称密钥加密,即 :  加密和解密使用相同的密钥  

                            常见的对称加密算法 :  DES、3DES、DESX、Blowfish、IDEA、RC4、RC5

                                                                   RC6 和 AES  。 

                                                                   

            公开密钥加密  :  

                          又称为 非对称密钥加密    

                   *        公开密钥加密使用一对非对称的密钥。 

                             一把叫 私有密钥,一把叫公开密钥 。 

                   *        私有密钥不能让其他人知道, 而公开密钥则可以随意发布,任何人都可以获得

                   *        使用此加密方式,发送密文的一方使用公开密钥进行加密处理,对方收到被加密

                            的信息后,再使用自己的私有密钥进行解密。 

                            利用这种方式,不需要发送用来解密的私有密钥,也不必担心密钥被攻击者窃听

                            盗走。

               

                 :  公开密钥比共享密钥 要慢 。 

              常见的非对称加密算法:  RSA、ECC、Diffie-Hellma、 EL Gamal DSA (  数字签名用)  

     

你可能感兴趣的:(Linux,进阶,linux,运维,服务器,https)