OPENSSL加密技術及私有CA的搭建

加密方式有對稱加密 非對稱加密 單向加密

對稱加密:

    加密和加密都用同一個對稱密鑰,但是,這種加密方法存在一定問題,就是密鑰傳輸時,容易被盜竊。還有密鑰管理困難,對稱加密的方法:DES、AESBlowfish、Twofish、IDEARC6、CAST5。

 

非對稱加密:

公鑰和私鑰都可以進行加密,解密是公鑰和私鑰對應解密的,就好像一把鎖對應多把相同的鑰匙一樣,公鑰可以公開的,非對稱加密解決了密鑰傳輸時帶來的問題,同時還解決了密鑰管理的繁雜的問題。但是如果你用非對稱加密的方式來加密一段數據,速度會非常慢,比對稱加密的速度慢幾個數量級。非對稱加密的方法:RSA DSA

 

單向加密:

單向加密是用來提取數據的特征碼,為了保證數據傳輸時的完整性,哪怕數據發生一點的變化,特征碼都會引起巨大的改變,單向加密的方法:MD5 SHA

 

數據的安全傳輸方式:

(這個圖取之于silently的淺談Openssl與私有CA搭建博客文章的圖)

 

1.png

第一步,用戶B向服務器A發起訪問請求,并攜帶自己的證書信息。服務器A收到用戶B發來的證書后,查找安裝系統時內置的證書或通過其它可靠途徑獲得證書公鑰從中挑選出一個對應的公鑰解密證書的簽名信息,完成CA的合法身份驗證,并得到簽名信息的特征碼,而后使用同樣的算法提取簽名信息的特征碼與之對比,完成簽名信息的完整性校驗,然后再對比主體的名稱與服務器的主機名是否一樣,如果一樣就從用戶B中發來的證書中提取用戶B的公鑰信息,最后將自己的證書發送給用戶B。

 

第二步,用戶B收到服務器A發來的證書,使用與之同樣的證書驗證流程驗證證書的合法性以及完整性,提取服務器A的公鑰信息。

 

第三步:使用單向加密算法,提取數據的SO的特征碼信息,使用自己的私鑰加密上一步提取出來的特征碼信息,而后將其附在數據S0后面,組成數據段S1,通過算法生成對稱密鑰,利用對稱加密對數據段S1進行加密,生成加密后的數據段S2。使用用戶B的公鑰將上一步生成的對稱密鑰加密后將其附在數據段S2后面,生成數據段S3。最后將S3發送給用戶

 

第四步:使用自己的私鑰解密數據段S3,得到服務器A生成的對稱加密密鑰和數據段S2。使用上一步解密得到的密鑰解密數據段S2得到加密后的數據特征碼和明文數據段S0, 使用自己的私鑰解密上一步得到的數據特征碼,然后使用與服務器A相同的單向加密的算法提取明文數據S0的特征碼與之比對,比對結果正確則說明數據時完整的。

 

使用openssl實現加密:

對稱加密:

opesnssl enc

-e:表示加密

-d:表示解密

-in file:表示輸入需要加密或解密的文件

 

-out file:表示輸出加密或解密的文件

-a:表示64位的編碼

例子:

     加密:         

2.png 

 

解密

3.png

非對稱加密:

私鑰生成:

 

      4.png

 

公鑰生成:

           

5.png 

 

單向加密:

文件內容單向加密:
6.png
密碼的單向加密:
7.png
                 
openssl支持隨機數,用隨機數作為salt

8.png

 

9.png

 

 

PKI公鑰管理:

CA認證機構:證書的簽訂及頒發機構

RA注冊機構:注冊證書的地方

數字證書庫:用于存儲已簽發的數字證書及公鑰,用戶可由此獲得所需的其他用戶的證書及公鑰;

密鑰備份及恢復系統:如果用戶丟失了用于解密數據的密鑰,則數據將無法被解密,這將造成合法數據丟失。為避免這種情況,PKI提供備份與恢復密鑰的機制。但須注意,密鑰的備份與恢復必須由可信的機構來完成。并且,密鑰備份與恢復只能針對解密密鑰,簽名私鑰為確保其唯一性而不能夠作備份。

證書作廢系統:證書作廢處理系統是PKI的一個必備的組件。與日常生活中的各種身份證件一樣,證書有效期以內也可能需要作廢,原因可能是密鑰介質丟失或用戶身份變更等。為實現這一點,PKI必須提供作廢證書的一系列機制。

 

CA證書的x.509格式

       (1) 版本號 (不同x.509格式的版本號)

(2) 序列號(發放證書的序列號)
(3) 簽名算法標識符 (標識證書的hash算法和密鑰的算法)
(4) 認證機構 (發放證書的機構)
(5) 有效期限 (證書可以使用的時間)
(6) 主體信息 (擁有者的姓名 服務的名字)
(7)主體的公鑰信息(公鑰的信息)
(8) 認證機構的數字簽名 (存放用私鑰加密單向加密的證書信息的特征碼)

 

構建私有CA

先看一下openssl的配置文件(/etc/pki/tls/openssl.cnf)

 

10.png

 

看到配置文件,需要在/etc/pki/CA/index.txt 和 /etc/pki/CA/serial文件。

11.png

 

 

生成CA的私鑰:                 

12.png

為CA自己簽證:

 

13.png

這里的證書我放錯了,需要放到/etc/pki/CA目錄下的.

 

假如,我們在自己的機子上的http上生成一個證書讓CA來簽:

生成http的私鑰:

14.png 

   生成http證書簽訂的請求:                 

15.png 

上面的配置信息也可以通過配置文件來指定。

 

把請求交給CA簽訂:

16.png 

 

 

 

下面講一下吊銷證書(如果你的私鑰掉失后,應該做吊銷證書)

 

第一步,先看一下你證書的信息:

17.png 

-noout:不輸出多余的信息

-subject:輸出摘要信息

-serial:輸出該證書的序列號

 

然后,要對照一下/etc/pki/CA/index.txt文件里的證書信息,如果符合,就可以吊銷了。

 

18.png 

 

然后,我們還要跟新吊銷列表:

19.png 

20.png 

 

原創文章,作者:13-廣州-楊過,如若轉載,請注明出處:http://www.www58058.com/7079

(0)
13-廣州-楊過13-廣州-楊過
上一篇 2015-08-17
下一篇 2015-08-21

相關推薦

  • 集中練習3

    用戶管理、文本處理、文件管理相關

    2017-09-20
  • 用戶相關屬性權限、正則表達式的應用(網絡班21期第四周博客)

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。          mkdir /home/tuser1        &n…

    Linux干貨 2016-08-02
  • Linux里的用戶與組

    任何事務的進行都離不開管理,脫離了管理的系統將會是一團亂麻。今天就來講講Linux里的用戶與組的管理 首先,用戶與組不會憑空出現,必須得是系統本身或人為創建的 。     所以,系統創建的就叫系統用戶.系統組,用戶創建的就是普通用戶.普通組。 useradd  創建用戶 -u 創建用戶并指定用戶的UID -g…

    2017-07-30
  • CentOS上配置https服務

    在CentOS6.9(http2.2)配置https   創建前準備:       安裝opensssl包  和 http2.2 1、在主機(192.168.109.100)創建私有CA   (1)獲取私鑰       …

    2017-06-04
  • 磁盤管理之swap,移動設備及dd命令的使用

    首先我們來復習一下前一天的內容 CHS Sector(扇區) 512字節 track(磁道) 63個 2^6個扇區 1024個磁道,10個位存儲磁道數 track=cylinder(柱面) cylinder=(容量)sector(512)track(63)head(256)=8M head(磁頭) 256 8位存儲 MBR的分區方式都是基于柱面為整…

    Linux干貨 2016-09-07
  • 知乎上推薦的幾款快速上手的UI框架

    1、Flat UI Flat UI是一套精美的扁平風格 UI 工具包,基于 Twitter Bootstrap 實現。地址:designmodo/Flat-UI · GitHub 2、BootMetro 基于 Twitter Bootstrap 框架構建,用于創建 Windows 8 的 Metro 風格的網站,靈感來自于 Metro UI CSS 。地址:…

    2015-03-17
欧美性久久久久