我目前正在開發一個使用TCP/IP在客戶端和服務器之間進行通信的C#應用程序。連接後,我交換基於會話的RSA公鑰,然後傳遞基於會話的AES對稱密鑰。這一切都正常工作,並意味着我有一個安全的溝通渠道。沒有SSL的服務器和客戶端安全標識
現在的麻煩是我需要確保服務器和客戶端都是我希望與之通信的服務器和客戶端。在任何人建議SSL/TLS之前:我沒有連接到互聯網以允許使用根CA.
在客戶端和服務器之間建立一個安全通道後,我提供了一個簡單的質詢 - 響應方法嗎?例如,如果客戶端發送標識符(GUID?),則服務器將該值與已知客戶端進行比較並接受或拒絕該標識符,並且在相反的方向上重複相同的操作。由於數據是加密的,加密是基於會話的,這是一種有效的驗證方法?
我知道這些標識符的存儲是一個弱點。
我已經避免了整個SSL,因爲我認爲自簽名證書會很麻煩。關鍵固定完全解決了這個問題。 – Postie