Linux系統之加密、解密、openssl的基本應用及CA的實現過程
Linux系統之加密、解密、openssl的基本應用及CA的實現過程
簡介
加密技術是最常用的安全保密手段,利用技術手段把重要的資料變為亂碼(加密)傳送,到達目的地後再用相同或不同的手段還原(解密)。
加密技術包括兩個元素:演算法和金鑰。演算法是將普通的資訊或者可以理解的資訊與一串數字(金鑰)結合,產生不可理解的密文的步驟,金鑰是用來對資料進行編碼和解密的一種演算法。在安全保密中,可通過適當的鑰加密技術和管理機制來保證網路的資訊通訊安全。
分類:
對稱加密:加密方解密方使用同一個口令
加密方法:
DES、AES、3DES、Blowfish、Twofish、IDEA、RC6、CASTS、Serpent
其中常見的為:
DES(資料加密標準):56為金鑰
AES(高階加密標準):128位金鑰
特性:
1、加密解密使用同一個口令
2、將原文分割成固定大小的資料塊,對這些塊進行加密
優點:加密效率高、計算量小、加密解密的速度很快
缺點:口令傳輸且口令較多,無法實現金鑰交換
公鑰加密:也叫非對稱加密,公鑰加密的加密和解密使用的不是同一個密碼,而是一對密碼中的一個,,它的祕鑰是成對出現的,一個叫公鑰,一個叫私鑰,使用公鑰加密的只能使用與之配對的私鑰解密;反之,使用私鑰加密的只能使用與之配對的公鑰解密;用私鑰加密是用來認證使用者的,能實現所謂的電子憑證。
單向加密
加密方法:
RSA、EIGamal、DSA
其中DSA不能實現資料加密,只能實現身份認證
特性:可以實現金鑰交換以及身份認證
缺點:花費時間長
在非對稱加密長度中,最常用的就是2048位,雖然比對稱加密安全,卻花費了太多的時間,所以,我們通常用對稱加密來實現資料的加密盒解密,而用非對稱加密實現使用者的身份認證。
單向加密:單向加密具有雪崩效應,只要輸入的資料相同,輸出的資料就相同;反之,如果輸入不同,結果就有巨大不同,可以避免逆推。
加密演算法:
MD5、MD4、SHA1、SHA512、CRC-32
特性:保證資料的完整性,不可逆
OpenSSL
作為一個基於密碼學的安全開發包,OpenSSL提供的功能相當強大和全面,囊括了主要的密碼演算法、常用的金鑰和證書封裝管理功能以及SSL協議,並提供了豐富的應用程式供測試或其它目的使用。
基本功能:
OpenSSL整個軟體包由三個套件組成:
libcrypto:具有通用功能的加密庫
libssl:用於實現TLS/SSL的功能
openssl:多功能命令工具,可以生產金鑰、建立數字證書、手動加密解密資料
利用openssl加密解密技術常用的功能及演算法:
對稱加密:
演算法:
DES、AES、3DES、Blowfish、Twofish、IDEA、RC6、CASTS、Serpent
工具:gpg、openssl enc
格式:
加密:openssl enc -des3 -a -salt -in /path/to/input_file -out /path/to/cipher_file
解密:openssl enc -d -des3 -a -salt -in /path/to/cipher_file -out /path/to/clear_file
例子:
加密:
解密:
-in:需要加密的檔案
-out:需要解密的檔案
-des3:演算法,也可以使用以上列出的其它演算法
單向加密:
演算法:md5:128bits
sha1:160bits
sha512:512bits
工具:sha1sum,md5sum,cksum,openssl dgst
格式:
openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-out filename] /path/to/somefile
例子:
CA的實現過程:
數字證書的格式:
x509,pkcs
x509格式:
公鑰和有效期限;
持有者的個人合法身份資訊;
證書的使用方式;
CA的資訊;
CA的數字簽名;
簽名是用來驗證證書的有效性和合法性;
證書籤署請求:
生成一對金鑰;
把所需的資訊按固定格式製作成證書申請;
用openssl實現私有CA(自建CA並完成對伺服器發證):
1、自建CA
生成金鑰對兒:
檢視公鑰的命令為:
openssl rsa -in private/cakey.pem -pubout -text -noout
生成自簽證書:
-new:新的自簽證書
-x509:x509格式的證書
-key:私鑰檔案
-out:輸出的證書檔案
-days:有效期限為多少天
按需要填寫證書內容:
建立需要的檔案:
2、用openssl實現證書申請:
在主機上生成金鑰,儲存至應用此證書的服務的配置檔案目錄下
生成證書籤署請求:
將請求檔案發往CA:
CA端簽署證書:
將證書傳回請求者:
吊銷證書:
注意:吊銷證書並不是必要步驟,是隻有在證書過期或掛失的時候才會吊銷。
轉載於:https://blog.51cto.com/junfengwang/1386131