圖解SSL和加密解密-原理篇+命令篇

1.SSL原理
算法

    Secure Sockets Layer(安全的套接字層)位於TCP/IP協議與各類應用層協議之間,爲數據通信提供安全支持。用於保障在Internet上數據傳輸之安全,利用數據加密技術,可確保數據在網絡上之傳輸過程當中不會被截取及竊聽。數據庫


2.SSL的會話過程
安全

            SSL會話主要分爲三步:

                    1.客戶端向服務器端索要並驗正證書;bash

                    2.雙方協商生成「會話密鑰」;對成密鑰服務器

                                    3.雙方採用「會話密鑰」進行加密通訊;網絡

wKioL1cGUbjQZyizAAHJ_gSatco560.png



3.加密算法和協議
併發


wKiom1cGVfKAY_0HAAEvWb3_BB4884.png


3.1 對稱加密運維

    加密和解密使用同一個密鑰ide

常見的加密算法:工具

    DES、3DES、AES、Blowfish、Twofish、IDEA、RC六、CAST5

特性:

    一、加密、解密使用同一個密鑰;

    二、將原始數據分割成爲固定大小的塊,逐個進行加密;

缺陷:

    一、密鑰過多;

    二、密鑰分發困難;


3.2 公鑰加密

            密鑰分爲公鑰與私鑰

公鑰:從私鑰中提取產生;可公開給全部人;

私鑰:經過工具建立,使用者本身留存,必須保證其私密性;


特色:用公鑰加密的數據,只能使用與之配對兒的私鑰解密;反之亦然

用途:

數字簽名:主要在於讓接收方確認發送方的身份;

密鑰交換:發送方用對方公鑰加密一個對稱密鑰,併發送給對方;

數據加密:


3.3  單向加密

    提取數據指紋(特徵碼);只能加密,不能解密;

常見算法:md五、sha1

特性:定長輸出、雪崩效應;

功能:完整性;


3.4 密鑰交換

    IKE(Internet Key Exchange互聯網密鑰交換)

1.公鑰加密

2.DH(Deffie-Hellman地獄男爵)



4.PKI

    PKI是Public Key Infrastructure的首字母縮寫,翻譯過來就是公鑰基礎設施;PKI是一種遵循標準的利用公鑰加密技術爲電子商務的開展提供一套安全基礎平臺的技術和規範


公鑰基礎設施主要包含如下四個:

簽證機構:CA

註冊機構:RA

證書吊銷列表:CRL

證書存取庫

5.openssl命令


openssl有衆多子命令,基本可分爲三類:

            1.標準命令

            2.消息摘要命令(dgst子命令)

            3.加密命令(enc子命令)

5.1 對稱加密

1
2
加密:~] # openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext
解密:~] # openssl enc -d -des3 -a -salt -out fstab -in fstab.ciphertext

5.2 單向加密

1
         ~] # openssl dgst -md5 /PATH/TO/SOMEFILE

5.3 生成用戶密碼

1
          ~] # openssl passwd -1 -salt $(openssl rand -hex 5)

5.4 生成隨機數

1
2
         ~] # openssl rand -hex NUM    
         ~] # openssl rand -base64 NUM

5.5 公鑰加密

1
2
生成私鑰:~] # (umask 077; openssl genrsa -out /PATH/TO/PRIVATE_KEY_FILE NUM_BITS)
提取公鑰:~] # openssl rsa -in /PATH/FROM/PRIVATE_KEY_FILE -pubout


6.構建私有CA

(如下詳細命令參考http://ch666.blog.51cto.com/10870222/1761516)

1.在CA的服務器上生成私鑰

1
[root@ch sysroot] # (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

2.生成自簽證書

1
2
3
4
5
6
7
8
9
[root@ch sysroot] openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365

3.爲CA提供所需的目錄及文件

1
2
3
[root@ch sysroot] # mkdir  -pv  /etc/pki/CA/{certs,crl,newcerts}
[root@ch sysroot] # touch  /etc/pki/CA/{serial,index.txt}

  [root@ch sysroot]# echo  01 > /etc/pki/CA/serial


以上步驟是在CA服務器端操做


http服務器向CA請求籤署證書

a.主機生成私鑰


b.生成證書籤署請求


c.將請求經過可靠方式發送給CA服務器


以上操做是在http服務器端操做


4.在CA主機上籤署證書


5.查看證書中的信息

(1)客戶端獲取要吊銷的證書的serial

(2)CA服務器根據客戶提交的serial和subject信息,對比其與本機數據庫index.txt中存儲的是否一致

(3)CA服務器吊銷證書

(4)生成吊銷證書的吊銷編號(僅在第一次吊銷證書時執行)

(5)更新證書吊銷列表

查看crl文件




本文出自 「Linux運維之路」 博客,請務必保留此出處http://ch666.blog.51cto.com/10870222/1761516

相關文章
相關標籤/搜索