0
我正在做一個關於密鑰交換的小報告,並且想問一下這個安全信息是否安全。c#AES密鑰交換senario:這將是安全的嗎?
首先,我將製作一個簡單的基於服務器端的即時聊天源。
它會發送一個類到服務器,該服務器由兩個字段組成:發件人ID和消息,它將被AES加密。服務器將通知其他客戶端。
每個客戶端將與服務器共享密鑰(使用Diffie-Hellman密鑰交換)。相比於其他客戶
每一個客戶都會有不同的密鑰,並且密鑰值將
存儲在每個客戶端和服務器端(server將保留所有的按鍵爲每個客戶端。)
我想問的第一件事是,這可能嗎?
二,它會安全嗎?
三,會有更聰明的方法來做出類似的效果嗎?
除了從證書頒發機構獲取密鑰之外,是否還有其他方法可以避免中間人攻擊? – March3
您意識到您控制了客戶端和服務器,您不需要獲取公共CA.成爲你自己的私人CA,簽署服務器證書,將CA的公共證書頒發給客戶端,然後客戶端可以檢查服務器發送給他們的證書是否由私人CA簽署,證明服務器是「真正的「服務器,而不是冒用您的服務器的人(假設您保證CA的安全併爲您部署的每臺服務器使用新的證書,否則我只能反編譯服務器軟件的副本,而您又回到了告訴真正的服務器從一個假的)。 –