91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

簡述網絡通信安全技術及openssl命令行工具的基本使用

發布時間:2020-07-22 08:30:18 來源:網絡 閱讀:923 作者:18601962480 欄目:安全技術

在互聯網誕生的早期,接入互聯網的主機數量不多,應用也很少。因此早期設計的協議都沒有考慮到數據安全,數據在網絡上都是明文傳輸的,非常不安全。由于互聯網的迅速發展,接入互聯網的主機越來越多。網絡安全問題也層出不窮。那么如何在互聯網上安全的傳輸數據呢?加密技術在其中就起到了很大的作用。


借此,ISO(國際標準組織)定義了x.800安全框架,框架基本結構如下:

      安全***:

                被動***:竊聽數據

                主動***:偽裝、修改消息、刪除消息、重播消息

     

       安全服務機制:

                認證:驗證消息的發送方是不是發送方自己聲稱的那個人

                訪問控制:只允許用戶訪問授權給用戶資源

                數據保密性:

                             連接保密:數據流保密(tcp連接)

                             無連接保密:數據包加密(udp)

                             選擇域保密:對數據流或者數據包中的部分數據進行加密

                             流量保密:對向互聯網上發送的真實數據的流量大小進行加密                                              

                數據完整性:保證數據從消息發送方到達消息接收方時沒有經過非授權更改

                不可否認性:一旦通訊發生,通訊雙方都不能否認


由于加密算法大多數都是公開的,純粹用算法對數據進行加密是不安全的。因此現在的加密算法在加密的數據的時候會同時輸入一段密鑰,以保證數據的安全性。


數據加密流程:

簡述網絡通信安全技術及openssl命令行工具的基本使用

數據解密流程:     

簡述網絡通信安全技術及openssl命令行工具的基本使用


實現上述安全服務機制是需要算法參與的,算法的類型主要有以下幾種:

       對稱加密

            特性:加密解密使用同一個密鑰。

            優勢:加密速度快

            劣勢:當一個用戶需要跟眾多用戶進行安全通訊時需要維護眾多密鑰。


       公鑰加密(非對稱加密):

            特性: 加密解密使用一對密鑰(公鑰、私鑰),公鑰是從私鑰中提取出來的

                         用公鑰加密的數據只能用與之配對的私鑰解密

                         用私鑰加密的加密的數據只能用與之配對的公鑰解密

                         公鑰是公開的,任何人都可以得到,并使用

                         私鑰是不公開的,只有私鑰持有者可以使用

            常見算法:rsa、dsa

            優勢:只需要維護一對密鑰就可以跟眾多用戶進行安全通訊。

            劣勢:加密速度慢,一不會用它來進行大


       單向加密

            特性:只加密,不解密。提取數據特征碼

                        定長輸出:不管輸入的數據有多大,輸出的特征碼的長度都輸固定的

                        蝴蝶效應:輸入數據的微小改變會引起輸出的特征碼的巨大變化

              md5(128bit)、sha1(160bit)、sha192、sha256、sha384、sha512     


現在互聯網上常用的安全通訊模型:

簡述網絡通信安全技術及openssl命令行工具的基本使用

        發送方發送數據時執行的步驟如下(分別對應于上圖發送方的1、2、3):

            1、發送方將需要在互聯網上進行安全傳輸的數據采用單向加密算法提取數據的特征碼,然后用自己的私鑰加密這段特征碼放在數據的尾部;

            2、發送方生成一個一次性的對稱加密算法的秘鑰,然后使用對稱加密算法和生成的秘鑰將數據和加密后的特征碼加密后生成密文;

            3、將上一步對稱加密用到的秘鑰使用接收方的公鑰加密后放在密文的后面;隨后就可以將數據放到互聯網上進行傳輸。

   

       接收方接收到數據后執行的步驟如下(分別對應于上圖接收方的1、2、3):

            1、接收方接收到數據后,用自己的私鑰解密加密后的對稱加密算法的秘鑰。(如果能解密則能驗證數據的機密性

            2、接收方用解密后得到的對稱加密算法的秘鑰后使用與發送方同樣的對稱加密算法解密加密的數據和加密的數據的特征碼。

            3、接收方使用與發送方相同的單向加密算法提取解密后的數據的特征碼,而后使用發送方的公鑰對上一步解密得到的加密的數據的特征碼(如果能解密,則可以驗證接收方的身份),并比較這兩個特征碼進行比較是否一致。(如果一致,則可以驗證數據的完整)。


上面講到了單向加密、對稱加密、非對稱加密等算法。那這幾種類型的算法該如何實現呢?有沒有什么可靠的工具呢?在linux上有一款非常好用的,并且能夠實現上述的所發的開源軟件openssl,下面我就介紹openssl:

            

            openssl的組成部分:

                     /usr/bin/openssl:openssl多用途的命令行工具

                     /usr/lib64/libcrypto.so.10:第三方軟件借助openssl實現數據加密功能的庫文件

                     /usr/lib64/libssl.so.10:第三方軟件借助openssl實現ssl功能的庫文件


            openssl的具體應用

            獲取openssl工具的幫助:

    [root@localhost ~]# openssl help    
    openssl:Error: 'help' is an invalid command.
    # 此行錯誤可以忽略
    
    Standard commands 
    asn1parse         ca                ciphers           cms             
    crl               crl2pkcs7         dgst              dh               
    dhparam           dsa               dsaparam          ec               
    ecparam           enc               engine            errstr           
    gendh             gendsa            genpkey           genrsa           
    nseq              ocsp              passwd            pkcs12           
    pkcs7             pkcs8             pkey              pkeyparam        
    pkeyutl           prime             rand              req             
    rsa               rsautl            s_client          s_server         
    s_time            sess_id           smime             speed            
    spkac             ts                verify            version          
    x509              
    
    Message Digest commands (see the `dgst' command for more details)
    md2               md4               md5               rmd160           
    sha               sha1              
    
    Cipher commands (see the `enc' command for more details)
    
    aes-128-cbc       aes-128-ecb       aes-192-cbc       aes-192-ecb      
    aes-256-cbc       aes-256-ecb       base64            bf               
    bf-cbc            bf-cfb            bf-ecb            bf-ofb          
    camellia-128-cbc  camellia-128-ecb  camellia-192-cbc  camellia-192-ecb 
    
    camellia-256-cbc  camellia-256-ecb  cast              cast-cbc         
    cast5-cbc         cast5-cfb         cast5-ecb         cast5-ofb        
    des               des-cbc           des-cfb           des-ecb          
    des-ede           des-ede-cbc       des-ede-cfb       des-ede-ofb      
    des-ede3          des-ede3-cbc      des-ede3-cfb      des-ede3-ofb     
    des-ofb           des3              desx              idea             
    idea-cbc          idea-cfb          idea-ecb          idea-ofb         
    rc2               rc2-40-cbc        rc2-64-cbc        rc2-cbc          
    rc2-cfb           rc2-ecb           rc2-ofb           rc4              
    rc4-40            seed              seed-cbc          seed-cfb         
    seed-ecb          seed-ofb          zlib

   

            單向加密(提取文件特征碼):                     

       用法:openssl dgst [-md5|-md4|-md2|-sha1|-sha] [file...]
       
       示例:
       [root@localhost ~]# openssl dgst -md5 /etc/passwd    
       MD5(/etc/passwd)= cde0b986a93a765834fe7183e53dc16d
       # dgst:指定用openssl工具實現提取文件特征碼,
       # -md5:指定使用MD5算法提取文件特征碼


            對稱加密:

       用法:openssl enc -ciphername [-in filename] [-out filename]
       
       示例:
       [root@localhost ~]# openssl enc -des3 -in /etc/passwd -out /tmp/passwd.enc
       enter des-ede3-cbc encryption password:
       Verifying - enter des-ede3-cbc encryption password:
       # 輸入兩次密碼對文件進行加密
       [root@localhost ~]# file /etc/passwd
       /etc/passwd: ASCII text   # 明文
       [root@localhost ~]# file /tmp/passwd.enc 
       /tmp/passwd.enc: data     # 密文 
       [root@localhost ~]# openssl enc -des3 -in /tmp/passwd.enc -out /tmp/passwd.2 -d
       enter des-ede3-cbc decryption password:
       # 輸入加密時使用的密碼對文件進行解密
       [root@localhost ~]# file /tmp/passwd.2
       /tmp/passwd.2: ASCII text # 明文

                  

            生成非對稱密鑰中的私鑰由于非對稱密鑰通常不用來進行數據加密,因此此處不介紹如何用非對稱密鑰對數據進行加密

       用法:openssl genrsa [-out filename] [numbits]
       
       示例:
       [root@localhost ~]# openssl genrsa -out /tmp/key.pri 2048
       Generating RSA private key, 2048 bit long modulus
       .......................+++
       ...+++
       e is 65537 (0x10001)

                         

            從私鑰中提取與之對應的公鑰

       用法:openssl rsa [-in filename] [-pubout] [-out filename]
       
       示例:
       [root@localhost ~]# openssl rsa -in /tmp/key.pri -pubout -out /tmp/key.pub
       writing RSA key


            生成隨機數

       用法:openssl rand [-hex] num
       -hex:基于十六進制生成隨機數
       
       示例:
       [root@localhost tmp]# openssl rand -hex 6
       d13a62e6cdb0




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜阳市| 乐清市| 巢湖市| 安阳县| 正宁县| 吴桥县| 吉木乃县| 梁平县| 天等县| 东山县| 繁峙县| 贵阳市| 涡阳县| 宣汉县| 繁昌县| 井陉县| 莱州市| 台湾省| 浦江县| 凯里市| 屏东市| 苏尼特左旗| 道孚县| 峨山| 桐城市| 沙洋县| 苍溪县| 新平| 灵丘县| 天津市| 甘泉县| 应用必备| 和政县| 祁连县| 稻城县| 上思县| 汶上县| 金乡县| 海安县| 合作市| 高密市|