對稱加密:
通信的雙方使用方式用同樣的密鑰進行加密和解密。密鑰實際上是一種算法,通信發送方使用這種算法加密數據,接收方再以同樣的算法解密數據。
由於在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。 優點:算法公開、計算量小、加密速度快、加密效率高;
缺點:通信雙方都使用同樣鑰匙,安全性得不到保證;用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成爲用戶的負擔。
常見的對稱加密算法有: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.配置CACA的配置文件位於/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/ssl2.生成httpd的公鑰(umask 66; openssl genrsa 2048 > web.key)3.生成簽名(.csr)文件openssl req –new –key web.key –out web.csr4. 將生成的簽名.csr文件發送給CA