2011-06-18 75 views
2

我知道這裏有幾個話題,但我仍然想聽聽你的意見。我正在創建一個網站,它將在網絡上發送一些消息。這些消息將通過私鑰/公鑰加密進行加密。保護私鑰

現在,由於我的服務器將發送很多這些消息,我將需要很多訪問私鑰。該私鑰當前位於服務器上作爲文件。然而,這不是必需的。

現在,如果沒有人能夠進入我的服務器,根本沒有問題。但是如果有人訪問我的服務器呢?他們只需拿到私鑰文件,我的安全性就被破壞了。

我無法爲此問題使用硬件解決方案。

我有什麼選擇?現在

+0

您知道您的私鑰僅用於1)簽名您創建的郵件和2)解密其他人發送給您*的郵件。如果您正在向個人或節點X發送消息,則使用X的公鑰來保護消息。 –

+2

如果有人有權訪問您的服務器,他們可以重寫您的應用程序,以便在現場外發送內容。保護您的服務器並將密鑰放在服務器上。 – tjameson

+0

互聯網上的每臺SSL服務器都面臨這個問題。唯一的選擇是儘可能保護您的網絡服務器,並且當您檢測到服務器損害時,您會撤銷您的密鑰。這很容易通過使用由Verisign,GoDaddy,GlobalSign,Comodo等人發佈的X509證書來完成。 –

回答

2

如果他們有密鑰,並且他們知道如何處理它(其中&它如何應用於您的消息),那麼是的,你完全被破壞了。但是,讓我們面對現實吧,當有人對您的服務器進行根植時,情況總是如此。

更好的方法可能是:如何防止常見黑客入侵,如中間人攻擊,從而危及安全性?

我會說:

  1. 通過SSL發送郵件(如果你使用HTTP/HTTPS協議)。
  2. 混淆提供編碼/解碼功能的代碼。這將使你的哈希難以解碼,如果有人沒有得到鑰匙。如果您不在服務器上編碼密鑰和/或消息,並在客戶端進行解碼 - 根據您的需求可能需要查看的內容
  3. 在網絡上,正在傳輸的消息是 ,使用網絡 工具來監控流量(即 snort)。入侵檢測可以告訴你何時某人正在做某件事。

剛開始...

3

,因爲我的服務器會發送大量的郵件....

如果你真的只需要發送消息給其他參與者,你只需要他們的公共密鑰存儲在你的服務器。那裏沒有危險。

如果您打算簽署/解密發送給您的郵件,但您必須考慮安全私鑰存儲解決方案。

現在,如果沒有人能夠進入我的服務器,根本沒有問題。但是如果有人訪問我的服務器呢?他們只需拿到私鑰文件,我的安全性就被破壞了。

您將始終有一個單點故障,一段代碼必須知道您的私鑰/訪問私鑰的祕密等。但是,此問題並非來自公鑰/私鑰加密而是系統本身。無論基礎協議如何,您總是必須處理未加密的消息。

+0

對不起,我在我的開始帖子中確實很不清楚。我實際上是在尋找一個安全的私鑰存儲解決方案。 –

0

如前所述,您將始終有單點故障。但是,在談論私鑰存儲解決方案時,您可以檢查Vault project存儲您的祕密 - 私鑰以加密形式存儲。它提供訪問控制策略,審計日誌和其他功能。