天天看點

網絡安全協定之比較(SSH、PKI、SET、SSL)

<b>一、SSH介紹 </b>

  什麼是SSH?

  傳統的網絡服務程式,如:ftp、pop和telnet在本質

上都是不安全的,因為它們在網絡上用明文傳送密碼和資料,

别有用心的人非常容易就可以截獲這些密碼和資料。而且,這些服務程式的安全驗證方式也是有其弱點的,

就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。所謂“中間人”的攻擊方式,

就是“中間人”冒充真正的伺服器接收你的傳給伺服器的資料,然後再冒充你把資料傳給真正的伺服器。

伺服器和你之間的資料傳送被“中間人”一轉手做了手腳之後,就會出現很嚴重的問題。

  SSH的英文全稱是Secure

 

 SHell。通過使用SSH,你可以把所有傳輸的資料進行加密,這樣“中間人”這種攻擊方式就不可能實作了,

而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的資料是經過壓縮的,是以可以加快傳輸的速度。

SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個安全的“通道”。

  最初SSH是由芬蘭的一家公司開發的。但是因為受版權和加密算法的限制,現在很多人都轉而使用OpenSSH。 OpenSSH是SSH的替代軟體,而且是免費的,可以預計将來會有越 來越多的人使用它而不是SSH。

  SSH是由用戶端和服務端的軟體組成的,有兩個不相容的版本分别是:1.x和2.x。 用SSH 2.x的客戶程式是不能連接配接到SSH 1.x的服務程式上去的。OpenSSH 2.x同時支援SSH 1.x和2.x。

  SSH的安全驗證是如何工作的

  從用戶端來看,SSH提供兩種級别的安全驗證。

  第一種級别(基于密碼的安全驗證)隻要你知道自己帳号和密碼,就可以登入到遠端主機。所有傳輸的資料都會被加密, 但是不能保證你正在連接配接的伺服器就是你想連接配接的伺服器。可能會有别的伺服器在冒充真正的伺服器, 也就是受到“中間人”這種方式的攻擊。

 第二種級别(基于密匙的安全驗證)需要依靠密匙,也就是你必須為自己建立一對密匙,并把公用密匙放在需要通路的伺服器上。

如果你要連接配接到SSH伺服器上,用戶端軟體就會向伺服器送出請求,請求用你的密匙進行安全驗證。伺服器收到請求之後,

先在你在該伺服器的家目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一緻,

伺服器就用公用密匙加密“質詢”(challenge)并把它發送給用戶端軟體。

用戶端軟體收到“質詢”之後就可以用你的私人密匙解密再把它發送給伺服器。

  用這種方式,你必須知道自己密匙的密碼。但是,與第一種級别相比,第二種級别不需要在網絡上傳送密碼。

  第二種級别不僅加密所有傳送的資料,而且“中間人”這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。 但是整個登入的過程可能需要10秒。

<b>二、SSL介紹(Secure socket Layer &amp; Security Socket Layer)</b>

  一個應用程式的安全需求在很大程度上依賴于将如何使用該應用程式和該應用程式将要保護什麼。不過,用現有技術實作強大的、 一般用途的安全通常是可能的。認證就是一個很好的示例。

 當顧客想從 Web 站點購買某個産品時,顧客和 Web 站點都要進行認證。顧客通常是以提供名字和密碼的方式來認證他自己。 另一方面,Web

站點通過交換一塊簽名資料和一個有效的 X.509 證書(作為 SSL 握手的一部分)來認證它自己。

顧客的浏覽器驗證該證書并用所附的公用密鑰驗證簽名資料。一旦雙方都認證了,則交易就可以開始了。

  SSL

能用相同的機制處理伺服器認證(就如在上面的示例中)和客戶機認證。 Web 站點典型地對客戶機認證不依賴 SSL —

要求使用者提供密碼是較容易的。而 SSL 客戶機和伺服器認證對于透明認證是完美的, 對等機 — 如 p2p

應用程式中的對等機之間一定會發生透明認證。

  安全套接字層(Secure Sockets Layer(SSL)) ,SSL

是一種安全協定,它為網絡(例如網際網路)的通信提供私密性。SSL 使應用程式在通信時不用擔心被竊聽和篡改。 SSL

實際上是共同工作的兩個協定:“SSL 記錄協定”(SSL Record Protocol)和“SSL 握手協定” (SSL Handshake

Protocol)。“SSL 記錄協定”是兩個協定中較低級别的協定,它為較進階别的協定, 例如 SSL

握手協定對資料的變長的記錄進行加密和解密。SSL 握手協定處理應用程式憑證的交換和驗證。

  當一個應用程式(客戶機)想和另一

個應用程式(伺服器)通信時,客戶機打開一個與伺服器相連接配接的套接字連接配接。然後,

客戶機和伺服器對安全連接配接進行協商。作為協商的一部分,伺服器向客戶機作自我認證。客戶機可以選擇向伺服器作或不作自我認證。

一旦完成了認證并且建立了安全連接配接,則兩個應用程式就可以安全地進行通信。按照慣例,我将把發起該通信的對等機看作客戶機,

另一個對等機則看作伺服器,不管連接配接之後它們充當什麼角色。

  名為 A 和 B 的兩台對等機想安全地進行通信。在我們簡單的

p2p 應用程式的環境中,對等機 A 想查詢對等機 B 上的一個資源。 每個對等機都有包含其專用密鑰的一個資料庫(名為

keystore)和包含其公用密鑰的證書。密碼保護資料庫的内容。 該資料庫還包含一個或多個來自被信任的對等機的自簽名證書。 對等機 A

發起這項事務,每台對等機互相認證,兩台對等機協商采用的密碼及其長度并建立一個安全通道。完成這些操作之後,

每個對等機都知道它正在跟誰交談并且知道通道是安全的。 SSL (Secure socket

Layer)安全套接層協定主要是使用公開密鑰體制和X.509數字證書技術保護資訊傳輸的機密性和完整性,

它不能保證資訊的不可抵賴性,主要适用于點對點之間的資訊傳輸,常用Web Server方式。

  安全套接層協定(SSL,Security Socket Layer)是網景(Netscape)公司提出的基于WEB應用的安全協定,它包括:伺服器認證、 客戶認證(可選)、SSL鍊路上的資料

 完整性和SSL鍊路上的資料保密性。對于電子商務應用來說,使用SSL可保證資訊的真實性、

完整性和保密性。但由于SSL不對應用層的消息進行數字簽名,是以不能提供交易的不可否認性,這是SSL在電子商務中使用的最大不足。

有鑒于此,網景公司在從Communicator 4.04版開始的所有浏覽器中引入了一種被稱作“表單簽名(Form Signing)”的功能,

在電子商務中,可利用這一功能來對包含購買者的訂購資訊和付款指令的表單進行數字簽名,進而保證交易資訊的不可否認性。綜上所述,

在電子商務中采用單一的SSL協定來保證交易的安全是不夠的,但采用"SSL+表單簽名"模式能夠為電子商務提供較好的安全性保證。

<b>三、PKI介紹</b>

  為解決Internet的安全問題,世界各國對其進行了多年的研究,初步形成了一套完整的

Internet安全解決方案, 即目前被廣泛采用的PKI體系結構,PKI體系結構采用證書管理公鑰,通過第三方的可信機構CA,

把使用者的公鑰和使用者的其他辨別資訊(如名稱、e-mail、×××号等)捆綁在一起,在Internet網上驗證使用者的身份,

PKI體系結構把公鑰密碼和對稱密碼結合起來,在Internet網上實作密鑰的自動管理,保證網上資料的機密性、完整性。

  從廣義上

講,所有提供公鑰加密和數字簽名服務的系統,都可叫做PKI系統,PKI的主要目的是通過自動管理密鑰和證書,

可以為使用者建立起一個安全的網絡運作環境,使使用者可以在多種應用環境下友善的使用加密和數字簽名技術,

進而保證網上資料的機密性、完整性、有效性,資料的機密性是指資料在傳輸過程中,不能被非授權者偷看,

資料的完整性是指資料在傳輸過程中不能被非法篡改,資料的有效性是指資料不能被否認。一個有效的PKI系統必須是安全的和透明的,

使用者在獲得加密和數字簽名服務時,不需要詳細地了解PKI是怎樣管理證書和密鑰的,一個典型、完整、 有效的PKI應用系統至少應具有以下部分:

公鑰密碼證書管理。

黑名單的釋出和管理。

密鑰的備份和恢複。

自動更新密鑰。

自動管理曆史密鑰。

支援交*認證。

 由于PKI體系結構是目前比較成熟、完善的Internet網絡安全解決方案,

國外的一些大的網絡安全公司紛紛推出一系列的基于PKI的網絡安全産品,如美國的Verisign, IBM ,

Entrust等安全産品供應商為使用者提供了一系列的用戶端和服務鞫說陌踩??罰??缱由濤竦姆⒄固峁┝稅踩?Vぁ?為電子商務、政府辦公網、EDI等提

供了完整的網絡安全解決方案。

  PKI是一種新的安全技術,它由公開密鑰密碼技術、數字證書、

證書發放機構(CA)和關于公開密鑰的安全政策等基本成分共同組成的。PKI是利用公鑰技術實作電子商務安全的一種體系,

是一種基礎設施,網絡通訊、網上交易是利用它來保證安全的。從某種意義上講,PKI包含了安全認證系統,

即安全認證系統-CA/RA系統是PKI不可缺的組成部分。

  PKI(Public Key

Infrastructure)公鑰基礎設施是提供公鑰加密和數字簽名服務的系統或平台,

目的是為了管理密鑰和證書。一個機構通過采用PKI架構管理密鑰和證書可以建立一個安全的網絡環境。 X.509格式的證書和證書廢除清單(CRL);

CA/RA操作協定; CA管理協定; CA政策制定。

  <b>四、SET協定介紹</b>

  電子商務在提供機遇和

便利的同時,也面臨着一個最大的挑戰,即交易的安全問題。在網上購物的環境中,

持卡人希望在交易中保密自己的帳戶資訊,使之不被人盜用;商家則希望客戶的定單不可抵賴,并且,在交易過程中,

交易各方都希望驗明其他方的身份,以防止被欺騙。針對這種情況, 由美國Visa和MasterCard兩大信用卡組織聯合國際上多家科技機構,

共同制定了應用于Internet上的以銀行卡為基礎進行線上交易的安全标準, “這就是“安全電子交易”(Secure Electronic

Transaction,簡稱SET)。它采用公鑰密碼體制和X.509數字證書标準, 主要應用于保障網上購物資訊的安全性。

  由于SET 提供了消費者、商家和銀行之間的認證,確定了交易資料的安全性、完整可靠性和交易的不可否認性, 特别是保證不将消費者銀行卡号暴露給商家等優點,是以它成為了目前公認的信用卡/借記卡的網上交易的國際安全标準。

 SET(Secure Electronic

Transaction)安全電子交易協定是由美國Visa和MasterCard兩大信用卡組織提出的應用于

Internet上的以信用卡為基礎的電子支付系統協定。它采用公鑰密碼體制和X.509數字證書标準, 主要應用于B to

C模式中保障支付資訊的安全性。SET協定本身比較複雜,設計比較嚴格,安全性高,

它能保證資訊傳輸的機密性、真實性、完整性和不可否認性。SET協定是PKI架構下的一個典型實作,同時也在不斷更新和完善, 如SET

2.0将支援借記卡電子交易。