2012-06-04 98 views
5

我剛開始在日常工作中使用RSA密鑰,並且我有幾個關於使用它們的最佳方法的問題。個人私鑰的最佳實踐

最大的問題圍繞着多個客戶端和多個服務器的想法。這裏有一個場景:

我有兩個客戶端計算機:

  1. 桌面
  2. 筆記本

而且有兩個服務器,我會被驗證:

  1. 我自己本地服務器
  2. 遠程服務(例如Git集線器)

所以,一般來說,在這種情況下,你會推薦多少個密鑰對?

  • 一個密鑰對:這個密鑰是「我」,我到處使用它。
  • 每個客戶端一個:這個鍵是「這個客戶端」,我把它放在每個服務器上,我的意思是從該客戶端連接到這個客戶端。
  • 每個服務器一個密鑰對:這是「這項服務」的關鍵,我將私鑰帶給每個我想連接的客戶端。
  • 每個組合都有一個:每個獨特的客戶端 - 服務器配對都有自己的密鑰對。

如果這些都不是顯著優於或更糟任何其他,可以勾勒出各的優點和缺點,這樣一個人可以爲自己選擇?

回答

2

你的四個選項中,有兩個我喜歡的是:

  • 每一個客戶端:這關鍵是「此客戶端」,我把它每次我的意思是從客戶端連接到服務器上。

    這使您可以輕鬆地撤銷特定客戶端的所有密鑰,以防其受到攻擊時刪除每個服務上的一個密鑰。它也只能在客戶數量上線性擴展,這可能會使密鑰管理更容易。它甚至可以與OpenSSH密鑰模型巧妙地結合在一起,即爲每個客戶端提供在多個服務器上使用的一個密鑰。 (您可以做其他型號的OpenSSH,這是好的,但這個是做,因爲它發生不會對您的任何努力的最簡單的事情。)

  • 一爲每個組合:每一個獨特的客戶端 - 服務器配對有自己的鑰匙對。

    這有強迫你當一個客戶端被攻破撤銷多個按鍵的缺點,但它會爲每一個服務的關鍵,無論如何,所以它不是顯著惡化。更好的一面是,一個服務作爲你和另一個服務之間的中間人將會變得非常困難。這是不是大部分時間一個真正的問題,但如果你(筆記本電腦,服務器,SMTP)鍵突然被用於(筆記本電腦,服務器,SSH),你有一些機會注意到怪胎。我不確定這個能力是否值得管理密鑰的二次增加。

2

執行此操作的常用方法是您的「每個客戶端一個」選項。這樣,如果客戶端密鑰受損,則可以從允許的服務器處撤銷只是該密鑰。如果你想額外工作,你可以做「每個組合一個」。

上述選項避免了在主機之間複製私鑰數據。