亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

加密解密技術基礎、PKI及創建私有CA

發布時間:2020-07-18 20:43:55 來源:網絡 閱讀:442 作者:Eval丶Tao 欄目:安全技術


在OSI模型和tcp/ip模型中,應用發送某個數據到服務器,通過很多條路徑才能到達服務器,在發送的路上,因為數據是明文,且任意人都可以查看,這就給數據帶來了風險。因此,加密就很有必要了。

加密解密技術基礎、PKI及創建私有CA

常見的密鑰算法和協議
  對稱加密(加密解密使用同一個密鑰)
  公鑰加密(非對稱加密,公鑰和私鑰)
  單向加密(只能加密,不能解密)
  認證協議


對稱加密

  對稱加密采用了對稱密碼編碼技術,它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學中叫做對稱加密算法,對稱加 密算法使用起來簡單快捷,密鑰較短,且破譯困難,除了數據加密標準(DES),另一個對稱密鑰加密系統是國際數據加密算法(IDEA),它比DES的加密 性好,而且對計算機功能要求也沒有那么高。IDEA加密標準由 PGP(Pretty Good Privacy)系統使用。

工作過程

下面舉個例子來簡要說明一下對稱加密的工作過程。甲和乙是一對生意搭檔, 他們住在不同的城市。由于生意上的需要,他們經常會相互之間郵寄重要的貨物。為了保證貨物的安全,他們商定制作一個保險盒,將物品放入其中。他們打造了兩 把相同的鑰匙分別保管,以便在收到包裹時用這個鑰匙打開保險盒,以及在郵寄貨物前用這把鑰匙鎖上保險盒。加密解密技術基礎、PKI及創建私有CA

上面是一個將重要資源安全傳遞到目的地的傳統方式,只要甲乙小心保管好鑰匙,那么就算有人得到保險盒,也無法打開。這個思想被用到了現代計算機通信的信息加密中。在對稱加密中,數據發送方將明文(原始數據)和加密密鑰一起經過特殊加密算法處理后,使其變成復雜的加密密文發送出去。接收方收到密文后,若想解讀原文,則需要使用加密密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密。


對稱加密常用的算法:

    DES:Data Encryption Standard;
    3DES:Triple DES;
     AES:Advanced Encryption Standard;  (128bits, 192bits, 256bits, 384bits)
     Blowfish
     Twofish
     IDEA
     RC6
     CAST5
                
  特性:
   1、加密、解密使用同一個密鑰;
   2、將原始數據分割成為固定大小的塊,逐個進行加密;
                    
  缺陷:
   1、密鑰過多;
   2、密鑰分發困難;


公鑰加密    

   與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果 用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩 個不同的密鑰,所以這種算法叫作非對稱加密算法。


工作過程

1.A要向B發送信息,A和B都要產生一對用于加密非對稱加密算法和解密的公鑰和私鑰。

2.A的私鑰保密(自己保存),A的公鑰告訴B;B的私鑰保密(自己保存),B的公鑰告訴A。

3.A要給B發送信息時,A用B的公鑰加密信息,因為A知道B的公鑰。

4.A將這個消息發給B(已經用B的公鑰加密消息)。

5.B收到這個消息后,B用自己的私鑰解密A的消息。其他所有收到這個報文的人都無法解密,因為只有B才有B的私鑰。

加密解密技術基礎、PKI及創建私有CA

       特性:        

    公鑰:從私鑰中提取產生;可公開給所有人;pubkey
     私鑰:通過工具創建,使用者自己留存,必須保證其私密性;private key;
   特點:

    用公鑰加密的數據,只能使用與之配對兒的私鑰解密;反之亦然;
                
   用途:
     數字簽名:主要在于讓接收方確認發送方的身份;
     密鑰交換:發送方用對方公鑰加密一個對稱密鑰,并發送給對方;
     數據加密
                
   算法:RSA, DSA, ELGamal
     DSS: Digital Signature Standard
     DSA:Digital Signature Algorithm


單向加密  

  又叫單向散列算法,又稱hash函數,Hash函數(也稱雜湊函數或雜湊算法)就是把任意長的輸入消息串變化成固定長的輸出串的一種函數。這個輸出串稱為該消息的雜湊值。一般用于產生消息摘要,密鑰加密等。即提取出數據指紋;只能加密,不能解密;  

    特性:定長輸出、雪崩效應;
     功能:完整性驗證;
     常見算法:
       md5:Message Digest 5, 128bits
       sha1:安全的哈希算法 Secure Hash Algorithm 1, 160bits
           sha224, sha256, sha384, sha512
   

密鑰交換:

    IKE(Internet Key Exchange)一種用以獲得認證密鑰的協議。

  密鑰交換的兩種機制:

   1、公鑰加密實現:

發送方用接收方的公鑰加密自己的密鑰,接收方用自己的私鑰解密得到發送方的密鑰,逆過來亦然,從而實現密鑰交換。

   2、使用DH算法:前提發送方和接受方協商使用同一個大素數P和生成數g,各自產生的隨機數X和Y。發送方將g的X次方modP產生的數值發送給接收方,接受方將g的Y次方modP產生的數值發送給發送方,發送方再對接收的結果做X次方運算,接受方對接收的結果做Y次方運算,最終密碼形成,密鑰交換完成。


通信階段加密解密

加密解密技術基礎、PKI及創建私有CA

BOB和ALICE通信階段

  黑框A:表示要傳輸的數據
  黑框B:就是單項加密對這段數據提取的特征碼,這段特征碼同時運用了非對稱加密,具體過程是用BOB的私鑰加密,傳輸給ALICE,只要到達后ALICE能解密,表明對方確實是BOB。這一過程同時起到了用戶認證和數據完整性的校驗。黑框B又稱為數字簽名
  紅框A:這一階段會生成一段很長的隨機數(密鑰)然后配合對稱加密算法對黑框A和黑框B加密,但是我們如何把加密的密鑰傳輸給ALICE呢?這就要用到紅框B了
  紅框B:這一階段是用ALICE的公鑰加密這串隨機數(對稱加密階段的密鑰),ALICE接收到數據后如果能用自己私鑰解密,那就證明接受者確實ALICE

加密過程:
  第一步:用單向加密算法提取數據(黑框A)的特征值
  第二步:用自己的私鑰加密這段特征值形成黑框B
  第三步:用對稱加密算法,對黑框A和黑框B來加密,得到紅框A
  第四步:用ALICE的公鑰來加密第三步所用的密鑰,得到紅框B


解密過程:
  第一步:ALICE用自己的私鑰解密紅框B得到對稱加密的密鑰
  第二步:用這個密鑰解密紅框A內容
  第三步:用BOB的公鑰解密黑框B,如果能成功,說明發送方確實是BOB,這就完成了身份驗證(解密后會得到一串數據的特征值)
  第四步:用同樣的單項加密算法來對這段數據提取特征值,如果和第三步的特征值一樣,說明這段數據是完整的,這就完成了數據完整性的校驗


還有一個問題就是BOB和ALICE如何獲得對方的公鑰,或者說如何證明獲得的公鑰就是對方。這就需要引入另一方證書頒發機構CA,下面是對證書頒發機構跟BOB/ALICE之間的解釋


  黑框C:代表要頒發給BOB/ALICE的公鑰,組織,地址等信息
  黑框D:是對黑框C進行單向加密后得到的數字簽名,然后用自己的私鑰對其加密,傳輸給BOB和ALICE,拿著這個證書頒發機構的公鑰(這些證書頒發機構 的公鑰一般已經被microsoft事先放在windows里面,當然其他操作系統也是一樣的)的BOB和ALICE如果能對這個證書進行解密,說明這個 證書頒發機構不是冒充的
  紅框E:表示頒發給BOB和ALICE的證書


CA的工作方式:

加密解密技術基礎、PKI及創建私有CA


PKI

PKI(Public Key Infrastructure)公鑰基礎設施是提供公鑰加密和數字簽名服務的系統或平臺,目的是為了管理密鑰和證書。一個機構通過采用PKI 框架管理密鑰和證書可以建立一個安全的網絡環境。PKI 主要包括四個部分:X.509 格式的證書(X.509 V3)和證書廢止列表CRL(X.509 V2);CA 操作協議;CA 管理協議;CA 政策制定。一個典型、完整、有效的PKI 應用系統至少應具有以下五個部分;

            公鑰基礎設施
     簽證機構:CA
     注冊機構:RA
     證書吊銷列表:CRL
     證書存取庫


CA:
 公共信任的CA,私有CA;
        
  建立私有CA:
    openssl
    OpenCA


openssl命令:
   配置文件:/etc/pki/tls/openssl.cnf
            
構建私有CA:
   在確定配置為CA的服務上生成一個自簽證書,并為CA提供所需要的目錄及文件即可;
                
步驟:

    1、生成私鑰

    2、生成自簽證書

    3、為CA提供所需的目錄和文件


操作步驟

   (1) 生成私鑰;

[root@bogon ~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
Generating RSA private key, 4096 bit long modulus
..........................................................................................
..........................................................................................
.....................................................++...................................
..........................................................................................
...............................................................++
e is 65537 (0x10001)

  (2) 生成自簽證書;
  

 [root@bogon ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:test
Organizational Unit Name (eg, section) []:test
Common Name (eg, your name or your server's hostname) []:test
Email Address []:abc@qq.com

     選項解釋:

       -new:生成新證書簽署請求;
       -x509:生成自簽格式證書,專用于創建私有CA時;
       -key:生成請求時用到的私有文件路徑;
       -out:生成的請求文件路徑;如果自簽操作將直接生成簽署過的證書;
       -days:證書的有效時長,單位是day;
  

  (3) 為CA提供所需的目錄及文件;

[root@bogon ~]#  mkdir  -pv  /etc/pki/CA/{certs,crl,newcerts}
[root@bogon ~]#  touch  /etc/pki/CA/{serial,index.txt}
[root@bogon ~]#  echo  01 > /etc/pki/CA/serial


要用到證書進行安全通信的服務器,需要向CA請求簽署證書:
  步驟:(以httpd為例)
  

(1) 用到證書的主機生成私鑰;

[root@bogon ~]#  mkdir /etc/httpd/ssl 
[root@bogon ~]#  cd /etc/httpd/ssl
[root@bogon ~]#  (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)

(2) 生成證書簽署請求

[root@bogon ~]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365


(3) 將請求通過可靠方式發送給CA主機;
    U盤復制或其它可靠方式               


(4) 在CA主機上簽署證書;
    

[root@bogon ~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

                        
查看證書中的信息:

[root@bogon ~]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject

                            
吊銷證書:
  步驟:
   (1) 客戶端獲取要吊銷的證書的serial(在使用證書的主機執行):

[root@bogon ~]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject

 

   (2) CA主機吊銷證書
    先根據客戶提交的serial和subject信息,對比其與本機數據庫index.txt中存儲的是否一致;
                        
  吊銷:

[root@bogon ~]# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

   注:其中的SERIAL要換成證書真正的序列號;
                                
   (3) 生成吊銷證書的吊銷編號(第一次吊銷證書時執行)

[root@bogon ~]#  echo  01  > /etc/pki/CA/crlnumber

                    
   (4) 更新證書吊銷列表

[root@bogon ~]#  openssl  ca  -gencrl  -out  thisca.crl

                        
   查看crl文件:

[root@bogon ~]#  openssl  crl  -in  /PATH/FROM/CRL_FILE.crl  -noout  -text

                           
           

向AI問一下細節

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

AI

山阳县| 乐昌市| 泽州县| 阿荣旗| 巴彦淖尔市| 共和县| 罗平县| 桂平市| 邯郸市| 三穗县| 藁城市| 巫溪县| 鄯善县| 永泰县| 红原县| 二连浩特市| 班玛县| 昌图县| 博白县| 平乐县| 保康县| 大邑县| 无为县| 商河县| 甘孜县| 南丰县| 会昌县| 东辽县| 英超| 错那县| 黄平县| 水富县| 孟州市| 横峰县| 河间市| 田东县| 隆尧县| 澄江县| 喀喇沁旗| 金阳县| 翼城县|