我不是密碼學專家,實際上我只有一點點經驗。無論如何,時間已經到了,我的一個應用程序要求我設置一些加密。請注意,該計劃將不會管理任何超級關鍵任務,這將會造成很大的損失。無論如何,我只是試圖看看我使用的這個方案是否普遍,如果有缺陷(其中可能有完全愚蠢的設計,這就是我要問的原因)。非對稱密鑰切換的對稱密鑰
好吧,我有一個客戶端 - >服務器通信。客戶端可以在2048位RSA密鑰的公共部分中進行硬編碼。當客戶端想要發起安全連接時,他會發送他的用戶名,密碼的md5哈希以及隨機UUID的散列,所有這些散列都已根據服務器的公鑰加密。服務器接收信息並使用其私鑰解密。檢查數據庫以查看他的登錄+傳遞是否工作&,如果他們這樣做,則在數據庫的「Sessions」表中創建一個新條目。這包括SessionID,UID(用戶ID)和UUID哈希。使用相應的會話ID的UUID作爲關鍵字,服務器將發回一條消息,其中包含Blowfish加密的單詞「Success!」。 +隨機的UUID(這個消息是數字簽名的,所以我們可以確定它是否來自服務器)。從那時起,當客戶端向服務器發送信息時,它將以明文sess_id &包含Blowfish加密消息,並使用相應的會話ID的blowfish密碼(在DB中加密存儲)作爲加密/解密密鑰。
具體而言,我很好奇這個系統是否「應該工作」,或者是否有人注意到明顯存在漏洞,比如MITM。
難道你不是在重塑SSL嗎? – 2010-02-08 15:42:25