OpenSSL之一 網路資訊保安

2021-10-10 11:06:05 字數 3139 閱讀 3960

三、公鑰基礎設施

四、安全協議

五、openssl

基於密碼學原理來進行資料資訊保護的安全技術。

資訊保安的內容:

密碼學的作用是解決資訊系統機密性、完整性、鑑別和抗抵賴等相關的難題。

為解決機密性問題,密碼學提出各種演算法,主要分為對稱加密演算法(des,3des,aes等)和公開金鑰演算法(rsa,dh等)。為解決完整性問題,主要採用了雜湊函式(md5,sha,sha1等)和數字簽名相結合的演算法。解決鑑別抗抵賴問題依賴嚴格的執行一套密碼協議(kerberos計算機網路授權協議,skid)和網路協議(ssl,set)。

電子商務、電子政務、私人郵件、web安全訪問和虛擬專用網(vpn)等。

pki(public key infrastructure),公鑰基礎設施。

pki是一種基於公開金鑰演算法的安全基礎標準,它提供乙個框架,在這個框架內建立了可以建立鑑定和驗證過程需要的身份和相關信任資訊,建立了可以管理的公開金鑰加密系統。

pki的主要目的是建立可信任的數字身份,將特定金鑰和特定的人或實體聯絡起來,建立這種聯絡的主要形式就是頒發可信任的數字證書(或者叫電子證書)。

什麼是數字證書呢?我們可以將其理解為在數字世界標識自己的身份的證書。下表將數字證書和居民身份證模擬,可以幫助理解:

居民身份證

數字證書

頒發機構是公安局

頒發機構是驗證中心

公安局印章

驗證中心電子簽名

唯一的居民身份證號碼

唯一的證書序列號

持有人姓名

證書擁有者實體名稱

金鑰恢復服務:金鑰對是確保證書能夠順利簽發和正常使用的基本前提,金鑰對可以使用openssl客戶端軟體、ie瀏覽器的金鑰儲存器、usb key或smart card、或金鑰伺服器產生。但金鑰都需要恢復服務,使得金鑰可以存檔,並在丟失後可以被恢復。

時間伺服器:證書的驗證和簽發等都需要乙個統

一、可信和單調增加的時間。時間伺服器可以為pki作用域中的各個應用程式和pki元件提供數字式時間戳,確保pki域能夠可信正確地執行。

-** 簽名伺服器**:許多pki地應用程式和服務需要執行數字簽名操作,比如檔案簽名和交易資訊簽名等。如果應用程式不具備簽名功能,那麼簽名服務為各個應用程式生成簽名或提供驗籤地服務。

安全協議是密碼學在計算機網路應用中地具體形式,幾乎絕大部分地密碼演算法最後都要以安全協議地形式得到應用。

iso網路模型是最標準地網路模型,iso/osi的參考模型共有7層,由低層至高層分別為:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。

但是,目前得到普遍應用地是tcp/ip網路模型。tcp/ip網路模型抽象出來5層網路模型:

當前比較成功地安全協議,基本都是應用層、傳輸層和網路層實現。

(1)應用層安全協議pgp(pretty good privacy),免費保密電子郵件程式。該程式能夠保證電子郵件網上傳輸的安全性,具備郵件加密、對郵件傳送人的身份進行鑑別,對郵件進行數字簽名和完整性驗證等強大的哦功能。

(2)傳輸層安全協議ssl(security socket layer),標準版本為tls(teansport layer secutiry),可以應用於傳輸層上的所有服務。

(3)網路層安全協議vpn。虛擬專用網(vpn)技術確切的說不是乙個協議。vpn可以保護任何兩個子網或主機之間傳輸的資料的安全,能夠加密和鑑別在網路層的所有通訊量,vpn提供了在公用網和internet上建立安全通訊通道的能力。

ssl協議最初由netscape公司提出,並在第三版的基礎上形成了internet標準話版本tls。ssl協議被設計成為使用tcp協議提供端到端的安全服務,實際上ssl由一組協議組成,而不是單個協議。

下圖為ssl協議模型:

ssl記錄協議為不同的高層協議提供安全服務,http,ftp等高層應用協議都可以在ssl協議上執行。ssl握手協議、ssl修改密文協議和ssl告警協議也是ssl協議的一部分,它們的作用是用來管理與ssl有關的交換。

ssl協議有兩個重要的概念,連線會話

會話:客戶和伺服器之間的聯絡,會話是通過握手協議建立的。會話可以被多個連線所共享,這樣可以避免每個連線重新進行安全引數的協商而花費昂貴的時間代價。

任何一對伺服器和客戶之間可以存在多個安全的ssl連線,這些連線可以共享乙個會話,也可以共享不同的會話。理論上,一對伺服器和客戶之間也可以存在多個會話,但是由於這樣付出的代價相當高,所以一般不支援這種做法。

ssl記錄協議為ssl連線提供了機密性和報文完整性兩種服務。機密性和報文完整性所需要的金鑰都是在握手協議中協商提供的。記錄協議接收到傳輸的應用報文後,將資料分成可管理的塊,進行資料壓縮(可選),應用mac、加密和增加首部,然後使用tcp報文傳輸。記錄層接收到底層來的資料後,進行解密、驗證、解壓和重新排序組合,然後交給上層應用協議。

ssl修改密文協議是乙個最簡單的ssl相關協議,他只有乙個報文,報文由值為1的單個位元組組成。這個協議唯一的作用是將掛起狀態複製到當前狀態,改變連線將要使用的密文族。

ssl告警協議是將ssl有關的告警訊息傳送給通訊的對方實體。ssl告警協議跟其他使用ssl的應用協議(如http協議)一樣,報文按照當前的狀態被壓縮和加密。

ssl握手協議是ssl協議中最複雜的協議。伺服器和客戶端使用這個協議相互鑑別對方的身份,協商加密演算法和mac演算法,以及在ssl記錄協議中加密資料的加密金鑰和初始向量。握手協議是建立ssl連線首先應該執行的協議,必須在傳輸任何資料之前完成。ssl握手協議由一系列報文組成,根據功能基本上可以分為四個階段:

openssl是乙個開放源**的ssl協議的產品實現,它採用c語言作為開發語言,具備了跨系統的效能。

openssl包括三部分:ssl協議庫、密碼演算法庫和應用程式。

優點:

缺點:

基本網路概念之一 網路

網路是幾乎可以實時相互傳送和接收資料的計算機和其他裝置的集合。網路的每台機器稱為乙個節點 node 大多數節點是計算機,但是印表機 路由器 網橋 閘道器 可口可樂機也都是節點。具有完備功能的計算機節點也稱為主機 host 這裡將節點一詞指代網路的所有裝置,用主機一詞表示通用的計算機節點。每個網路節點...

網路程式設計(一) 網路基礎之一

今天開始學習網路程式設計,當然還是要從網路基礎學起,首先我們來熟悉一下tcp ip模型與osi模型之間的對應關係 一.tcp ip四層模型 tcp ip是 一組協議的代名詞,它還包括許多協議,組成了tcp ip協議簇。tcp ip協議簇 分為四層,ip位於協議簇的第 二層 對應osi的第三層 tcp...

linux網路程式設計學習之一網路位元組序

在不同的平台,不同的系統中,往往位元組序不同,有的採用大端順序,有的採用小端順序。在網路程式設計中為了統一,統統採用網路位元組序。網路位元組序是大端順序。網路位元組序有關的轉換函式主要有 unsigned short int htons unsigned short int hostshort 將主...