常見的明文傳輸協議有:http,smtp,dns,pop3,imap4。
常見的攻擊方式有:竊聽,數據注入,會話劫持
爲了保證互聯網上的數據傳輸的安全性,因而各類的加密方式和加密算法誕生了:
數據加密方式:對稱加密、公鑰加密、單向加密。
1.對稱加密:加密方和解密方使用同一個密鑰,其優勢是:加密解密的速度快,適合於大量數據的加密。缺點是:沒法進行密鑰交換。
2.公鑰加密:使用接受方的公鑰進行加密,接收方在使用本身的密鑰進行解密。缺點是:加密效率低,通常不用在數據加密上,一般是用在數據加密的密鑰交換上的加密。
3.單向加密:獲取數據的特徵碼,其特色是:定長的輸出,加密過程不可逆,具備雪崩效應也稱做蝴蝶效應。
由上面的加密方式能夠得知,每一種加密方式都具備缺點,要想在互聯網上傳輸數據既要保證數據的完整性和數據的保密性,以及數據發送者的身份驗證 ,顯然使用一種加密方式是遠遠不夠的。
單說要完成數據發送者的身份驗證:算法
發送者使用本身的私鑰對某一數據的特徵碼或其餘進行加密,當接受者收到數據時在使用發送者的公鑰進行解密,這一過程就能夠完成發送者的什麼驗證,該過程又稱做"數字簽名"。
在既保證數據的完整性,保密性以及實現發送者的身份驗證的數據傳送過程:安全
首先發送者對本身要發送的數據進行單行加密,計算出數據的特徵碼,而且使用本身的私鑰講該段特徵碼進行加密,而且將其特徵碼附加至數據的尾部,以後在使用對稱加密,隨機生成一個加密密碼,使用該密碼對包含有特徵碼和數據這一整塊進行加密,以後在使用接受者的公鑰對隨機生成的這個密碼進行加密,附加至全部數據以後發送給接受者!
整個加密過程如圖所示:服務器
在這個傳送過程當中,爲保證數據的完整性,首先使用了單向加密,計算出數據的特徵碼。
又爲實現數據的保密性,使用對稱加密,隨機生成加密密碼對數據和特徵碼加密。
其次實現發送者的身份驗證:使用公鑰加密方式,使用發送者的私鑰對密碼進行加密。
最後爲保證全部的數據的保密性,再次的使用公鑰加密方式,使用接收者的公鑰進行加密。
在這個過程看似完美,可是有個細節,接受者如何獲取發送者的公鑰,以及發送者如何獲取接收者的公鑰?這時就要借住一個第三方CA。
CA:證書辦法機構。
PKI:公鑰基礎設施。
PKI的核心就是CA
CA的組成: 1.證書的持有者;
2.CA的相關信息;
3.證書的使用方法;
4.持有者的公鑰;
5.證書的有效日期。
下面就來講,接收者如何確認發送者的公鑰:
首先:CA是一個接收者和發送者共同信任的第三方,也能夠說是中間人。
其次:CA爲了保證本身的權威性,在頒發證書以前必定回去實地考查申請證書的用戶或主機的真實狀況,一切屬實才會爲其辦法證書。
再而:CA爲了保證證書確實是由本身頒發,而且證書內容沒有被篡改過,這裏就要CA進行數字簽名。
首先:CA使用單向加密方式計算出真個證書的特徵碼;
以後:使用公鑰加密方式,使用CA本身的私鑰對特徵碼進行加密,而且附加在證書的後面。
當接受者或發送者收到對方的證書後,首先使用CA的公鑰進行解密出特徵碼,而後使用單行加密方式計算出證書的特徵碼,相比較兩個特徵碼,若是相同,則表示證書中的公鑰確實是對方的公鑰。因而得到了對方的公鑰。
而此時CA的公鑰又從何而來呢?在操做系統的製做時,就會植入一部分權威的CA機構的公鑰,也就是本機自帶嘍!而若是你所須要的CA並無在系統中,那麼你就須要到這家CA得到其公鑰,而後導入到您的服務器中。加密