ssl, ssh, openssl, openssh

---------------------------------------- ssl/ssh 是協(xié)議 ----------------------------------------
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對網(wǎng)絡連接進行加密。

SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡小組(Network Working Group)所制定;SSH 為建立在應用層基礎上的安全協(xié)議。SSH 是目前較可靠,專為遠程登錄會話和其他網(wǎng)絡服務提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統(tǒng)上的一個程序,后來又迅速擴展到其他操作平臺。SSH在正確使用時可彌補網(wǎng)絡中的漏洞。SSH客戶端適用于多種平臺。幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH。

---------------------------------------- openssl 是開源代碼庫 ----------------------------------------
OpenSSL是一個開放源代碼的軟件庫包,應用程序可以使用這個包來進行安全通信,避免竊聽,同時確認另一端連接者的身份。這個包廣泛被應用在互聯(lián)網(wǎng)的網(wǎng)頁服務器上。

Apache/Nginx使用它加密HTTPS
OpenSSH使用它加密SSH
你不應該只將其作為一個庫來使用,它還是一個多用途的、跨平臺的密碼工具。

OpenSSL整個軟件包大概可以分成三個主要的功能部分:SSL協(xié)議庫、應用程序以及密碼算法庫。
OpenSSL提供兩個庫libssl和libcrypto
OpenSSL實現(xiàn)了SSL協(xié)議的SSLv2和SSLv3,支持了其中絕大部分算法協(xié)議。OpenSSL也實現(xiàn)了TLSv1.0,TLS是SSLv3的標準化版,雖然區(qū)別不大,但畢竟有很多細節(jié)不盡相同。
對稱加密
OpenSSL一共提供了8種對稱加密算法,其中7種是分組加密算法,僅有的一種流加密算法是RC4。這7種分組加密算法分別是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持電子密碼本模式(ECB)、加密分組鏈接模式(CBC)、加密反饋模式(CFB)和輸出反饋模式(OFB)四種常用的分組密碼加密模式。其中,AES使用的加密反饋模式(CFB)和輸出反饋模式(OFB)分組長度是128位,其它算法使用的則是64位。事實上,DES算法里面不僅僅是常用的DES算法,還支持三個密鑰和兩個密鑰3DES算法。
非對稱加密
OpenSSL一共實現(xiàn)了4種非對稱加密算法,包括DH算法、RSA算法、DSA算法和橢圓曲線算法(EC)。DH算法一般用于密鑰交換。RSA算法既可以用于密鑰交換,也可以用于數(shù)字簽名,當然,如果你能夠忍受其緩慢的速度,那么也可以用于數(shù)據(jù)加密。DSA算法則一般只用于數(shù)字簽名。
信息摘要
OpenSSL實現(xiàn)了5種信息摘要算法,分別是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事實上包括了SHA和SHA1兩種信息摘要算法。此外,OpenSSL還實現(xiàn)了DSS標準中規(guī)定的兩種信息摘要算法DSS和DSS1。

---------------------------------------- openssh ----------------------------------------
OpenSSH 是 SSH (Secure SHell) 協(xié)議的免費開源實現(xiàn)。SSH協(xié)議族可以用來進行遠程控制, 或在計算機之間傳送文件。而實現(xiàn)此功能的傳統(tǒng)方式,如telnet(終端仿真協(xié)議)、 rcp ftp、 rlogin、rsh都是極為不安全的,并且會使用明文傳送密碼。OpenSSH提供了服務端后臺程序和客戶端工具,用來加密遠程控制和文件傳輸過程中的數(shù)據(jù),并由此來代替原來的類似服務。

OpenSSH是SSH協(xié)議的實現(xiàn), 實現(xiàn)過程中,需要用到密鑰交換算法,對稱/非對稱加密算法,Mac算法,隨機數(shù)算法。OpenSSL提供兩個庫libssl和libcrypto,OpenSSH使用的是libcrypto中實現(xiàn)的上述算法。許多公司出于安全,效率,硬件加速等考慮,將OpenSSH porting到自己系統(tǒng)之后,會用自己實現(xiàn)的算法替換這個算法庫,我確切知道的有微軟和IBM。

源碼目錄介紹, https://blog.csdn.net/qq_19444381/article/details/50037981

程序主要包括了幾個部分:
ssh
rlogin與Telnet的替代方案。
scp、sftp
rcp的替代方案,將文件復制到其他電腦上。
sshd
SSH服務器。
ssh-keygen
產(chǎn)生RSA或DSA密鑰,用來認證用。
ssh-agent、ssh-add
幫助用戶不需要每次都要輸入密鑰密碼的工具。
ssh-keyscan
掃描一群機器,并記錄其公鑰。

---------------------------------------- libcrypto libssl libssh libssh2 ----------------------------------------
OpenSSL提供了兩個主庫:libssl和libcrypto。libcrypto庫提供了libssl使用的基本加密例程。但是,您可以在不使用libssl的情況下使用libcrypto 。
參考網(wǎng)址,https://wiki.openssl.org/index.php/Libssl_API

libssh和libssh2是兩個ssh開源實現(xiàn)的lib庫,兩個不是一個東西。
openssh是根據(jù)libssh2做的

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容