2012-03-08 155 views
1

我從Android手機上傳加密文件到服務器,並解密服務器端的相同文件。安全傳輸文件從客戶端到服務器

客戶端:用於HTTP發佈將文件發送到服務器 服務器:PHP 加密:三重DES

我硬編碼的密鑰和IV在客戶端和服務器端都。是否有任何想法如何使用鑰匙和iv,使傳輸高度安全?

謝謝!

回答

0

如果android在傳輸文件之前立即對文件進行加密,並且服務器在收到時解密,那麼您應該只使用SSL/TLS/HTTPS。

硬編碼的關鍵或IV是非常糟糕的做法。如果您在應用程序中對密鑰進行硬編碼,任何可以獲取該二進制文件的人都擁有密鑰並可以讀取該消息。如果你硬編碼IV,即使沒有密鑰的人也可能做一些事情(IV可以是公開的,但它們必須是隨機的)

3

不可以。如果您將對稱密鑰硬編碼到在不受信任的設備上運行的客戶端應用程序中,則實際上根本沒有加密。攻擊者可以從他的應用程序中提取密鑰,並解密所有其他傳輸。

只需使用https與對應於您的服務器的單個受信任根公鑰。

+1

你能提供一個使用https的示例代碼嗎? – mithu 2012-03-08 10:21:02

+0

不,我不是一個android用戶。但是,無論是內置庫還是使用BouncyCastle。 – CodesInChaos 2012-03-08 10:22:29

+0

@CodesInChaos如果android設備被植入,黑客可以訪問特定的文件。請參閱我的相關問題:http://stackoverflow.com/questions/30951805/protected-document-viewer – 2015-06-20 08:56:25