說到信息加密就離不開加密算法,所謂加密算法其實就是對原來爲明文的文件或數據按某種算法進行處理,使其成爲不可讀的一段代碼,一般稱爲「密文」,使其只能在輸入相應的密鑰以後才能顯示出原本內容,經過這樣的途徑來達到保護數據不被非法人竊取、閱讀的目的。主要有對稱加密、非對稱加密和單項加密。
對稱加密:
通訊的雙方使用方式用一樣的密鑰進行加密和解密。密鑰其實是一種算法,通訊發送方使用這種算法加密數據,接收方再以一樣的算法解密數據。
因爲在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。
優勢:算法公開、計算量小、加密速度快、加密效率高;
缺點:通訊雙方都使用一樣鑰匙,安全性得不到保證;用戶每次使用對稱加密算法時,都須要使用其餘人不知道的唯一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增加,密鑰管理成爲用戶的負擔。
常見的對稱加密算法有:DES、AES、3DES等。
非對稱加密:
非對稱加密算法使用兩把徹底不一樣但又是徹底匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時採用公鑰加密,解密密文時使用私鑰才能完成,並且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)纔是惟一知道本身私鑰的人。
簡單的說也就是若是發信方想發送只有收信方纔能解讀的加密信息,發信方必須首先知道收信方的公鑰,而後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用本身的私鑰才能解密密文。
優勢:非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的須要;
缺點:但加密和解密花費時間長、速度慢,所以它不適合於對文件加密而只適用於對少許數據進行加密。
常見的非對稱加密有:DSA、RSA等。
單向加密:
單向加密是指經過提取特徵值的方法對數據進行加密,此種加密不可逆,且具備「雪崩效應」即元數據有一點點改變就會引發加密後的密碼變化很大。
常見的單項加密算法有:
MD5:MD5 -- message-digest algorithm 5 (信息-摘要算法)縮寫,普遍用於加密、解密技術和數據的校驗。
SHA1:(Secure Hash Algorithm,安全散列算法),數字簽名等密碼學應用中重要的工具,被普遍地應用於電子商務等信息安全領域。
他們都具備定長輸出的特色,md5的輸出長度爲128位,sha1的輸出長度爲160位。
PKI
PKI(Public Key Infrastructure)。是基於公開密鑰理論和技術創建起來的安全體系,是提供信息安全服務具備廣泛性的安全基礎設施。該體系在統一的安全認證標準和規範基礎上提供了在線身份認證,是CA認證、數字證書、數字簽名以及相關的安全應用組件的集合。PKI的核心是解決信息網絡空間中的信任問題,肯定信息網絡、信息空間中各類經濟、軍事、和管理行爲行爲主體(包括組織和我的)身份的惟一性、真實性和合法性。是解決網上身份認證、信息完整性和抗抵賴等安全問題的技術保障體系。管理PKI的機構即爲CA中心。
做爲一個安全基礎設施的全功能的PKI由一系列組件和服務構成:
1. 證書機構
2. 證書庫
3. 證書撤消
4. 密鑰備份和恢復
5. 自動密鑰更新
6. 密鑰文檔管理
7. 交差認證
8. 支持不能否認
9. 時間戳
10. 客戶端軟件
什麼是數字證書?
數字證書就是網絡通信中標誌通信各方身份信息的一系列數據,其做用相似於現實生活中的×××。它是由一個權威機構發行的,人們能夠在交往中用它來識別對方的身份。
最簡單的證書包含一個公開密鑰、名稱以及證書受權中心的數字簽名。通常狀況下證書中還包括密鑰的有效時間,發證機關(證書受權中心)的名稱,該證書的序列號等信息,證書的格式遵循ITUT X.509國際標準。
使用數字證書,經過運用對稱和非對稱密碼體制等密碼技術創建起一套嚴密的身份認證系統,從而保證:信息除發送方和接收方外不被其它人竊取;信息在傳輸過程當中不被篡改;發送方可以經過數字證書來確認接收方的身份;發送方對於本身的信息不能抵賴。
Linux服務器實現CA功能
在linux服務器上實現CA功能須要使用到Openssl,Openssl是一個基於密碼學的安全開發包,囊括了主要的密碼算法、經常使用的密鑰和證書封裝管理功能以及SSL協議,並提供了豐富的應用程序供測試或其它目的使用。
1.在服務器生成供CA使用的openssl證書
cd /etc/pki/CA
(umask 66; open; openssl genrsa 2048 >
private/cakey.pem)
#先生成CA的密鑰
openssl req –
new –x509 –key –days 3650
private/cakey.pem –
out cacert.pem
#向本身提出發證請求
2.配置CA
CA的配置文件位於/etc/pki/CA/openssl.conf中
mkdir certs crl newcert
touch index.txt
echo 「01」 > serial
#建立幾個CA配置文件中要用到的目錄
3.將收到的簽名請求(.csr)作成證書
openssl ca –
in web.csr –
out web.crt
客戶端證書的得到:
1.針對須要證書的服務創建對應目錄
mkdir /etc/httpd/ssl
2.生成httpd的公鑰
(umask 66; openssl genrsa 2048 > web.key)
3.生成簽名(.csr)文件
openssl req –
new –key web.key –
out web.csr
4. 將生成的簽名.csr文件發送給CA