2013-05-02 32 views
-1

我有幾個樹莓派設備,我想用公鑰基礎結構中的ssl安全地將它們鏈接到一個Web應用程序。並且樹莓派應該在其內存中保存一個證書密鑰以進行設備驗證。但我有兩個問題1.誰(樹莓派或服務器)應該生成密鑰對2.誰保留私鑰。如何在樹莓派和服務器之間構建設備身份驗證和密鑰分配

所以對於第一個問題,我想跟隨Amazon EC2服務的例子。服務器實例生成密鑰對,服務器保存公鑰並將私鑰發送給用戶。一個個人原因是,如果想連接到一項特定服務,我希望一組樹莓派能夠共享相同的密鑰。因此每個特定的服務都會生成密鑰對並與鏈接到該服務的一組設備共享。如果我們允許每個設備爲服務生成密鑰對,服務器很難控制訪問,對嗎?

對於第二個問題,正如aws所做的那樣,私鑰被髮送給用戶,這也意味着我們必須確保給予用戶/設備的私鑰安全。但是我想知道是否對許多設備發佈相同的私鑰是一種威脅,如果一個設備的密鑰被盜,服務器端的整個服務就會受到影響。因此,給這些設備一個公鑰而不是一個私鑰甚至更好?

如果我的猜測是錯誤的根據我有限的安全知識

回答

0

這將是最好&最安全的,如果你寫了一個簡短的腳本,可以產生在每個樹莓派一個密鑰,然後複製市民請指正關鍵到服務器(例如scp)。這樣你的私鑰就像系統預期的一樣。

無論誰生成密鑰的每個說法,只是如何運輸。你可以把它想出來,因爲Lowes或Home Depot製作鑰匙並不重要,只是每個人都可以將正確的鑰匙運輸給他們,而不會讓他們沿途複製。你總是希望你的私鑰被保密,但是公鑰是否被截獲並不重要。

最安全的事情是,client1,client2和client3被授權與服務器通話。換句話說,服務器說,我單獨瞭解這三個客戶端,稍後可以決定是否其中一個客戶已經離開並停止與他們交談,直到他們呈現一個新的正確密鑰。

如果不在所有設備上覆制相同的密鑰會造成輕微的不便,但是如果安全因任何原因而受到損害,它會使您頭痛不已,這將會讓您的系統在找出時停止磨合出了什麼問題,並且是正確的做法。

(案例2)但是,這取決於你的設備如何相互交談。如果是通過ssh,以上是你想要做的。如果您使用SSL和HTT只是爲了確保pi上的最終用戶知道他們實際上已連接到服務器,那麼您將在服務器上擁有一個私鑰,並對所有的SSL證書進行身份驗證你的pi通過你的瀏覽器或其他。在這方面,任何pi都會受到影響並不重要,因爲所有的ssl證書都在告訴pi,他們實際上是在與權威服務器通話。你唯一需要擔心的祕密鑰匙將被保護在服務器本身(不要與你的pi分享)。

最終取決於誰需要進行身份驗證。如果人們需要知道服務器是真正的服務器,那麼情況2將適用。如果服務器需要知道它的客戶真的是他們說的那個人,那麼情況1就適用。

相關問題