2011-06-08 152 views
0

什麼是驗證服務器是誰的最好方式。驗證服務器的身份

我使用簽名的SSL證書是最好的路線猜測,但不知道是否有任何編程方法要做到這一點..

編輯:這是一個應用程序,其中的服務器處理與其他服務器(相互認證)以交換用戶信息。 (對不起,如果我忘記提到這一點)

+0

你是什麼意思? SSL *是*編程式的。 – 2011-06-08 18:45:37

+0

我的意思是,除了使用已簽署的證書之外,還有其他任何方式*例如,不依賴於中央授權機構。 – Ian 2011-06-08 18:46:52

+0

您可以創建自己的證書頒發機構,並安排讓您的所有服務器和客戶端信任它。安排1對1的信任關係是O(n^2),所以它很快變得笨拙;一個「中央權威」就是你如何處理這個問題。 – Nemo 2011-06-08 18:54:05

回答

1

由授權CA(證書頒發機構)簽署的SSL證書是唯一確定的方法。其他任何事情都可能是假的,特別是任何「程序化手段」都會特別不可靠。簡而言之:無論如何,只有授權的SSL證書纔是瀏覽器認可的唯一可靠的證書。

+0

A)他從未指定他在保護網絡服務器。 B)是的,你可以。你只需要在帶外交換密鑰。 – 2011-06-08 18:53:38

0

我推薦HMAC或RSA。 HMAC非常安全,更容易實現。如果您有5臺服務器需要直接與對方通信,那麼HMAC可能會變得很笨重。

你想保護什麼?這聽起來像一個Web應用程序,如果它是一個,那麼你應該使用SSL證書。

+0

這是一個網絡應用程序,它無疑將有超過5臺服務器相互通信。 – Ian 2011-06-08 19:04:34

1

您不需要證書就可以向某人證明您的身份(或針對該案例的服務器)。您可以爲此使用預共享密鑰,並避免使用任何公鑰基礎結構。 TLS(或SSL)協議supports that。找到一個允許您使用TLS-PSK並使用它的TLS library