我有一個項目,我的服務器需要將超級密鑰加密密鑰發送給android應用程序。應用程序使用該密鑰進行對稱加密,以與經批准的官方藍牙設備進行通信。關鍵是沒有發現這個密鑰,因爲它可以讓任何人在應用程序外與藍牙設備進行通信。防止服務器與非官方Android客戶端進行通信
我的問題是,我怎樣才能保護這個祕密密鑰不被發現。我知道我可以使用SSL在服務器和Android應用程序之間進行通信,並且我可以確保密鑰從未實際存儲在Android設備上。
但是,我可以使用什麼技術來確保它是我未編輯的android應用程序與服務器通信,而不是另一個僞裝成我自己的應用程序,試圖獲得密鑰?
謝謝。我提出了一種技術,使用在服務器和藍牙設備上使用通用僞隨機數算法創建的單次使用會話密鑰作爲種子,從而消除了向Android應用發送「主」密鑰的需要。我會一直假設我們的應用程序可以被反編譯,永遠不會相信它。 – dgel