2011-11-02 170 views
1

我是新來的加密和Android,所以問這個問題。AES加密 - 在Android上存儲密碼

應用程序如密碼管理器,密碼安全等如何處理AES加密,他們都聲稱他們的應用程序是安全的。但我的問題是,如果密碼存儲在設備數據庫中,並且所用的密鑰在代碼中,那麼根本無法完全保證它的安全。因爲如果設備遭到黑客攻擊,應用程序可能會被反向設計,並且可以輕鬆獲取密鑰/代碼。即使代碼被混淆,密鑰仍然可以從混淆代碼中獲得,對吧?混淆可能會更困難,但並非不可能。

或者這些應用程序是否有不同的方式來處理加密?

我正在做一個類似的應用程序,所以我真的很想知道一個好的加密密鑰是什麼以及存儲它的最佳位置/方式。我不想從應用程序遠程訪問密鑰。

在此先感謝。

+0

你是對的,如果鑰匙在機器上,它可以找到。假裝這一點的唯一方法是將密鑰從機器上取下或通過用戶在應用程序運行之前必須輸入的密碼進行加密。有點像加密磁盤的作品。你在USB棒上有你的鑰匙,或者你知道密碼。其他任何東西都不安全。也許在移動設備上存儲器被加密一些(電話卡的引腳)。但那只是一個猜測。 – evildead

+0

我不確定這個網站是否適合您的問題,我會查看security.stackexchange.com姊妹網站。 – Incognito

回答

0

密碼管理器應該使用一種「主密碼」來保護其密鑰。通常這是通過使用PBKDF2(基於密碼的密鑰推導函數)生成密碼來完成的。因此,用戶必須在應用程序能夠解密數據之前輸入密碼。

如果您的應用程序以任何形式包含密鑰,則它在設計上不安全。

+0

是的,我有一個主密碼,所以這將工作。謝謝! – radkan