網路安全協議之比較(SSH、PKI、SET、SSL)

一、SSH介紹

  什麼是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秒。

  • 二、SSL介紹(Secure  socket  Layer  &  Security  Socket  Layer)

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

      當顧客想從  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+表單簽名"模式能夠為電子商務提供較好的安全性保證。(SSL介紹完)
  • 三、PKI介紹

      為解決Internet的安全問題,世界各國對其進行了多年的研究,初步形成了一套完整的Internet安全解決方案,即目前被廣泛採用的PKI體系結構,PKI體系結構採用證書管理公鑰,透過第三方的可信機構CA,把用戶的公鑰和用戶的其他標識資訊(如名稱、e-mail、身份證號等)捆綁在一起,在Internet網上驗證用戶的身份,  PKI體系結構把公鑰密碼和對稱密碼結合起來,在Internet網上實現密鑰的自動管理,保證網上數據的機密性、完整性。

      從廣義上講,所有提供公鑰加密和數字簽名服務的系統,都可叫做PKI系統,PKI的主要目的是透過自動管理密鑰和證書,可以為用戶建立起一個安全的網路運行環境,使用戶可以在多種應用環境下方便的使用加密和數字簽名技術,從而保證網上數據的機密性、完整性、有效性,數據的機密性是指數據在傳輸過程中,不能被非授權者偷看,數據的完整性是指數據在傳輸過程中不能被非法篡改,數據的有效性是指數據不能被否認。一個有效的PKI系統必須是安全的和透明的,用戶在穫得加密和數字簽名服務時,不需要詳細地了解PKI是怎樣管理證書和密鑰的,一個典型、完整、  有效的PKI應用系統至少應具有以下部分:

    公鑰密碼證書管理。

    黑名單的發佈和管理。

    密鑰的備份和恢復。

    自動更新密鑰。

    自動管理歷史密鑰。

    支援交*認證。

      由於PKI體系結構是目前比較成熟、完善的Internet網路安全解決方案,國外的一些大的網路安全公司紛紛推出一系列的基於PKI的網路安全產品,如美國的Verisign,  IBM  ,  Entrust等安全產品供應商為用戶提供了一系列的用戶端和伺服器端的安全產品,為電子商務的發展提供了安全保證。為電子商務、政府辦公網、EDI等提供了完整的網路安全解決方案。


      PKI是一種新的安全技術,它由公開密鑰密碼技術、數字證書、證書發放機構(CA)和關於公開密鑰的安全策略等基本成分共同組成的。PKI是利用公鑰技術實現電子商務安全的一種體系,是一種基礎設施,網路通訊、網上交易是利用它來保證安全的。從某種意義上講,PKI包含了安全認證系統,即安全認證系統-CA/RA系統是PKI不可缺的組成部分。

      PKI(Public  Key  Infrastructure)公鑰基礎設施是提供公鑰加密和數字簽名服務的系統或平台,目的是為了管理密鑰和證書。一個機構透過採用PKI框架管理密鑰和證書可以建立一個安全的網路環境。  X.509格式的證書和證書廢除清單(CRL);  CA/RA操作協議;  CA管理協議;  CA政策制定。
  • 四、SET協議介紹

      電子商務在提供機遇和便利的同時,也面臨著一個最大的挑戰,即交易的安全問題。在網上購物的環境中,持卡人希望在交易中保密自己的帳戶資訊,使之不被人盜用;商家則希望用戶的定單不可抵賴,並且,在交易過程中,交易各方都希望驗明其他方的身份,以防止被欺騙。針對這種情況,  由美國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將支援借記卡電子交易。
  • 有點長@@

    不過我只想看SSL而已。
回應...