2011-10-22 66 views
1

我正在開發網站和應用程序(iOS和Android),這些應用程序應通過https傳輸數據。我不希望應用程序客戶端攔截這些服務器消息,但我想在應用程序內解密這些數據。 所以:請求後,加密消息(比如說高達400kb的消息)(第一次加密),通過https發送(ssl加密)(第二次加密)。 接收到解密ssl後,在客戶端解密加擾消息。 (我不希望一些機器人通過https嗅探我的數據庫,僞裝我的應用程序)。 您認爲我應該如何解決這個問題?在應用程序層上加密數據,位於SSL上

https是好的,我的意思是,但如果有人發送的請求,而不是應用程序,整個事情將是無用的,因爲我想保護數據庫數據。

有什麼建議嗎?想法?

謝謝

回答

3

所有你需要的是HTTPS/SSL與客戶端身份驗證。添加第二層加密實際上並沒有增加任何安全性。客戶端的PKI認證。

0

正如EJP所說,SSL客戶端認證將有所幫助,但它要求您的應用包含嵌入式私鑰,如果有人真的需要您的數據,他們可以分析您的應用並提取該密鑰。

這是不是你可以徹底解決:您的服務器無法可靠真實的客戶端應用程序分清,假貨一個人誰逆向工程的真正的模仿它的設計。

根據應用程序,您可能可以將一些工作轉移到服務器端。換句話說,不要將原始數據暴露給應用程序,只是暴露允許應用程序顯示的部分。這樣一來,攻擊者就無法通過欺騙他們無法通過使用真正的應用程序而獲得的應用程序來獲取任何內容。

0

我實際上想出了加密請求而不是響應的想法。 這樣用戶不能欺騙並向db發送請求。 我只是認爲再次進行加密可能會做太多太少。

相關問題