當前位置:律師網大全 - 專利申請 - SSH協議的原理、組成、認證方法和過程

SSH協議的原理、組成、認證方法和過程

SSH是安全外殼協議的縮寫,安全外殼協議(SSH)是壹種在不安全的網絡上提供安全遠程登錄和其他安全網絡服務的協議。

OpenSSH是SSH(安全外殼)協議的免費開源實現。SSH協議系列可用於計算機之間的遠程控制或文件傳輸。傳統的實現該功能的方式,如telnet(終端模擬協議)、rcp ftp、rlogin、rsh等都是極不安全的,密碼會以明文傳輸。OpenSSH提供了服務器端後臺程序和客戶端工具,對遠程控制和文件傳輸過程中的數據進行加密,從而取代了原來的類似服務。

以前我們使用rsh和telnet,因為登錄時包括ID和密碼在內的數據都是不加密傳輸到網絡上的,存在安全問題。即使是內網,也存在網絡竊取、篡改等危險。SSH加密所有數據,包括密碼,以實現更安全的遠程操作。在SSH中,由於協議標準不同,有SSH1和SSH2兩個不同的版本。開發SSH2是為了避免SSH1使用的加密算法的許可問題(現在這個許可問題已經不存在了)。作為安裝SSH協議的應用程序,TLES 8采用了開源的OpenSSH。OpenSSH可以對應SSH1和SSH2的任何協議,但是默認使用SSH2。

SSH主要由三部分組成:

同時,SSH協議框架還為許多高級網絡安全應用協議提供了擴展支持。它們之間的層級關系可以用下圖來表示:

對於像SSH這樣旨在提供安全通信的協議,完整的密鑰機制是必不可少的。由於SSH協議面向Internet網絡中主機之間的訪問和信息交換,因此主機密鑰成為基本的密鑰機制。換句話說,SSH協議要求使用該協議的每臺主機必須至少擁有壹個自己的主機密鑰對,服務提供商只有在對客戶端的主機密鑰進行身份驗證後才能允許其連接請求。壹個主機可以使用多個密鑰,對於不同的密鑰算法可以有不同的密鑰,但至少需要壹個,即DSS算法生成的密鑰。關於DSS算法,請參考FIPS-186文件。SSH協議中主機密鑰認證有兩種管理方案,如下圖所示:

每個主機必須有自己的主機密鑰,並且可以有多對密鑰。每對主機密鑰對包括公鑰和私鑰。如何在實際應用中使用這些密鑰並依靠它們實現安全特性?如上圖所示,SSH協議框架中提出了兩種方案。

在第壹種方案中,主機將其公鑰分發給相關的客戶端,客戶端在訪問主機時使用主機的公鑰加密數據,主機使用其私鑰解密數據,從而實現對主機密鑰的認證,確定客戶端的可靠身份。從圖2(a)可以看出,用戶從主機A發起壹個操作,訪問主機B和主機C,此時A成為客戶端,它必須事先配置好主機B和主機C的公鑰,訪問時根據主機名查找對應的公鑰。對於被訪問的主機(即服務器端),只需要保證自身私鑰的安全存儲即可。

第二種方案中,有壹個密鑰認證中心,系統中所有提供服務的主機都向認證中心提交自己的公鑰,而任何主機作為客戶端只需要保留壹份認證中心的公鑰。在這種模式下,在訪問服務器主機之前,客戶端還必須向密鑰認證中心請求認證,然後才能正確連接到目的主機。

顯然,第壹種方法容易實現,但在客戶端維護密鑰是壹件麻煩事,因為每壹次更改都必須反映到客戶端;第二種方法完美地解決了管理和維護問題。但這種模式對認證中心的要求很高。要在互聯網上實現這樣的集中認證,光是確定權限就麻煩大了。誰能決定壹切?但從長遠來看,在企業應用和商業應用領域采用集中認證的方案是必要的。

此外,SSH協議框架還允許主機密鑰泄露,即未經身份驗證的首次訪問。免認證首次訪問(Authentication-free first access)是指當客戶端第壹次訪問主機時,主機不檢查主機密鑰,而是向客戶端頒發壹份公鑰,這樣在以後的訪問中必須使用該密鑰,否則將被視為非法,其訪問將被拒絕。

在整個通信過程中,為了實現SSH的安全連接,服務器和客戶端要經歷以下五個階段:

*版本號協商階段,SSH目前包括SSH1和SSH2,雙方通過版本協商確定要使用的版本。

*在密鑰和算法協商階段,SSH支持多種加密算法,雙方根據本地端和對等端支持的算法協商最終的算法。

*認證階段:SSH客戶端向服務器發起認證請求,服務器對客戶端進行認證。

*會話請求階段,認證通過後,客戶端向服務器發送會話請求。

*交互會話階段,會話請求通過後,服務器和客戶端交換信息。

q 1:SSH的版本和區別。

SSH2避免了RSA的專利問題,修復了CRC的缺陷。SSH2用數字簽名算法(DSA)和Diffie-Hellman(DH)代替RSA完成對稱密鑰的交換,HMAC代替CRC。同時,SSH2增加了AES和Twofish等對稱加密算法。

A1: SSH(安全外殼)到目前為止有兩個不兼容的版本——SSH 1和SSH2。SSH1分為1.3和1.5兩個版本。SSH1使用DES、3DES、Blowfish、RC4等對稱加密算法保護數據安全傳輸,而對稱加密算法的密鑰通過非對稱加密算法(RSA)進行交換。SSH1使用循環冗余校驗碼(CRC)來保證數據的完整性,但後來發現這種方法有缺陷。

有關更多信息,請參考SSHv1協議和SSHv2協議

Q2:HMAC是什麽?

a2:HMAC(Hash Message authentic ation Code,哈希消息認證碼),基於密鑰的哈希算法的認證協議。消息認證碼的原理是利用公共函數和密鑰生成壹個固定長度的值作為認證標識符,用這個標識符來認證消息的完整性。用壹個密鑰生成壹個固定大小的小數據塊,也就是MAC,添加到消息中,然後傳輸。接收者使用與發送者共享的密鑰進行認證等等。

Q3:x 11轉發是什麽?

A3: sh的X11轉發功能使X客戶端和X服務器能夠安全通信。使用X11轉發後,X客戶端到X服務器的數據先發送到ssh服務器,ssh服務器利用與ssh客戶端的安全通道轉發到ssh客戶端,再由ssh客戶端轉發到X服務器。從X服務器到X客戶端的數據流是相同的。這裏,ssh服務器和ssh客戶機充當X客戶機和X服務器之間的數據中繼器。由於ssh服務器和X客戶端,ssh客戶端和X服務器壹般在同壹臺機器上,是壹種安全的進程間通信,ssh服務器和ssh客戶端之間的通信也是安全的,所以X客戶端和X服務器之間的通信是安全的。

問題4:什麽是TTY?

A4:終端是壹種基於字符的設備,有多種類型。tty通常用來簡稱各種類型的終端設備。Tty是電傳打字的縮寫。電傳打字機是最早的終端設備,很像電傳打字機,是電傳公司生產的。設備名放在特殊的文件目錄/dev/中。

Q5:簡單描述壹下SSH操作的流程?

  • 上一篇:山東海化集團山東海化集團有限公司
  • 下一篇:(魔方)誰發明的:可以全方位旋轉:軸不怕斷:內部結構是怎樣的?
  • copyright 2024律師網大全