SSH簡介及公鑰 私鑰的基本概念

2021-07-11 12:28:40 字數 1886 閱讀 5176

sh為一項建立在應用層和傳輸層基礎上的安全協議。最早的時候,網際網路通訊都是明文通訊,一但被截獲,內容就暴露無遺,之後在2023年,芬蘭學者tatu ylonen設計了ssh協議,將資訊加密,成為網際網路安全的乙個基本解決方案,迅速在全世界獲得推廣。當然需要指出的是,ssh只是一種協議,存在著很多實現,著名的有openssh以及putty。

在客戶端來看,ssh提供了兩種級別的安全驗證:

第一種級別(基於密碼的安全驗證),即賬號+密碼,但是可能有別的伺服器在冒充真正的伺服器,無法避免被「中間人」攻擊(man-in-the-middle);

第二種級別(基於金鑰的安全驗證),這裡的金鑰即包括公鑰、私鑰。這些都屬於密碼學的概念,容易混淆。接下來闡述下加密、認證、公鑰、私鑰的概念和關係。

首先明確加密、認證兩個概念:

加密是將資料資料加密,使得非法使用者即使截獲到加密過的資料,也無法獲取正確的內容,所以資料加密可以保護資料,它的重點在於資料的安全性。身份認證是用來判斷某個身份的真實性,其重點在於使用者的真實性。兩者的側重點是不同的。

其次了解公鑰和私鑰的概念:

現代密碼體制中加密盒解密採用不同的金鑰(公鑰和私鑰),也就是非對稱金鑰密碼系統,是從前對稱加密方式的提高與增強。每個通訊方均需兩個金鑰:公鑰和私鑰。公鑰用來加密/驗章用的,私鑰用來解密/簽章。

1,公鑰和私鑰成對出現

2,公開的金鑰叫公鑰,只有自己知道的叫私鑰

3,用公鑰加密的資料只有對應的私鑰可以解密

4,用私鑰加密的資料只有對應的公鑰可以解密

5,如果可以用公鑰解密,則必然是對應的私鑰加的密

6,如果可以用私鑰解密,則必然是對應的公鑰加的密

接下來用電子郵件的方式說明一下原理。收發郵件需實現如下目的:

1. a傳送給b的內容必須加密,在郵件的傳輸過程中不能被別人看到。(加密)

2. 必須保證是a傳送的郵件,不是別人冒充我的。(認證)

要達到傳送乙個加密郵件的目標,必須傳送郵件的雙方都有公鑰和私鑰,且a必須擁有b的公鑰,b也必須擁有a的公鑰。

當a->b資料時,a會使用b的公鑰加密,這樣才能確保只有b能解密檢視真實內容,即加密機制。

驗證方面則是使用籤/驗章的機制,a傳資料給b(當然不只是b,所有有a公鑰的人都可以)時,會以a的私鑰做簽章,因為私鑰只有a手裡有,如此所有收到訊息的人都可以用a的公鑰進行驗章,便可確認訊息是由 a 發出來的了,即認證機制。

接下來把wikipedia上關於ssh第二種級別的解釋補上:

第二種級別(基於金鑰的安全驗證),需要依靠金鑰,也就是你必須為自己建立一對金鑰,並有公有金鑰放在需要訪問的伺服器上。客戶端軟體會向伺服器發出請求,請求用你的金鑰進行安全驗證。伺服器收到請求之後,先在你在該伺服器的使用者根目錄下尋找你的公鑰,然後將它和你傳送過來的公鑰進行比較。如果兩個金鑰一致,伺服器就用公鑰加密「質詢」(challenge),並把它傳送給客戶端軟體,從而避免被「中間人」攻擊。

在伺服器端,ssh也提供安全驗證。在第一種方案中,主機將自己的公鑰分發給相關的客戶端,客戶端在訪問主機時則使用該主機的公鑰加密資料,主機則使用自己的私鑰來解密資料,從而保證資料的保密性。

第二種方案中,存在乙個金鑰認證中心(ca),所有提供服務的主機(客戶端也可以)都將自己的公鑰以及身份資訊交給認證中心,當然該認證中心是權威機構,擔保證書資訊的有效性。認證中心在核實身份後,發給伺服器乙個數字證書,該證書是認證中心用自己的私鑰對伺服器的一些相關資訊和公鑰一起進行加密的,自此,服務端就可以使用自己的數字證書進行相關活動。服務端用客戶端的公鑰將內容加密後,用自身的私鑰簽章,連同數字證書,一同發給客戶端。客戶端收到服務端發來的資訊時,用ca的公鑰解開數字證書,就可以拿到服務端的真實公鑰以及加密資訊了。當然數字證書只在特定時間段內有效。

好了,把ssh以及公鑰、私鑰的概念基本理順了,具體的原理只能說還有待進一步的學習了。

(由於本篇文章是借鑑了很多網上的資料,再用自己的語言加以修改提煉,所以就不把**一一貼出來了)

ssh簡介原理 公鑰私鑰

簡單說,ssh是一種網路協議,用於計算機之間的加密登入。最早的時候,網際網路通訊都是明文通訊,一旦被截獲,內容就暴露無疑。1995年,芬蘭學者tatu ylonen設計了ssh協議,將登入資訊全部加密,成為網際網路安全的乙個基本解決方案,迅速在全世界獲得推 廣,目前已經成為linux系統的標準配置。...

公鑰私鑰及ssh公鑰無密碼登入

首先我們需要區分加密和認證這兩個基本概念。加密是將資料資料加密,使得非法使用者即使取得加密過的資料,也無法獲取正確的資料內容,所以資料加密可以保護資料,防止監聽 其重點在於資料的安全性。身份認證是用來判斷某個身份的真實性,確認身份後,系統才可以依不同的身份給予不同的許可權。其重點在於使用者的真實性。...

公鑰私鑰及ssh公鑰無密碼登入

首先我們需要區分加密和認證這兩個基本概念。加密是將資料資料加密,使得非法使用者即使取得加密過的資料,也無法獲取正確的資料內容,所以資料加密可以保護資料,防止監聽 其重點在於資料的安全性。身份認證是用來判斷某個身份的真實性,確認身份後,系統才可以依不同的身份給予不同的許可權。其重點在於使用者的真實性。...