我正在爲移動客戶端 - 服務器通信定製tcp/ip協議的設計階段。如果不需要(數據不敏感),我想避免使用SSL(出於交換時間原因(握手延遲和節省週期))。安全的密碼傳輸通過未加密的TCP/IP
我的問題是,通過未加密連接傳輸驗證信息的最佳實踐方式是什麼?我相當喜歡SRP或J-PAKE(他們生成安全的會話標記,哈希/鹽友好,並允許在必要時踢入TLS),我相信它們都是在OpenSSL中實現的。不過,我有點警惕,因爲我沒有看到許多人爲此使用這些算法。對於討論這個主題的任何材料,我一般也會很欣賞,因爲我很難找到任何材料。
編輯
也許這個問題應該是:是有通過未加密的TCP/IP安全密碼最佳實踐的方法嗎?如果不是,選擇一種特定方法的原因是什麼? (到目前爲止,Rooks的答案在精神上最接近這個問題,即使它確實違反了這封信)。
編輯,部分德塞夫勒
我在客戶端 - 服務器的認證,其中有一個期望,雙方都有一個共享密鑰(密碼)先驗的情況感興趣。
+1 a Dh密鑰交換確實解決了他的問題。然而,DH密鑰交換不能防止主動的MITM攻擊,只能是被動的。 – rook 2010-05-16 10:45:40
爲此,D-H似乎不如SRP或J-PAKE,因爲後兩者將密碼驗證爲副產品,但前者在建立密鑰後需要額外的工作來加密/解密密碼。我在這裏錯過了一些微妙之處嗎? – academicRobot 2010-05-16 16:56:44