13

私は、1) ユーザー名とパスワードを AccountManager に保存するアプリ、および 2) それらの資格情報にアクセスしてサーバーにログインする別のバックグラウンド サービス アプリなどを書いています。サービス (アプリ 2) から AccountManager.getPassword(account) を呼び出して、他のアプリ (アプリ 1) を使用して AccountManager に追加したアカウントの種類にアクセスします。

このため、1) マニフェストにフィールドを含めてアカウント管理アクセス権を付与し、2) 特定の種類のすべてのアカウントを反復処理して mAccountManger.getPassword を呼び出すことから、恣意的な悪意のあるアプリを阻止するにはどうすればよいか考え始めています。 (アカウント) それらについて。インストール中に、アプリが使用を要求するすべての権限を含むダイアログがポップアップすることは知っていますが、疑わしい権限を要求するため、平均的なユーザーがアプリを拒否するとは思えません。

アカウントの種類で getPassword が呼び出されないようにする方法はありますか? 多くのアカウント権限を与えられたアプリから AccountManager のアカウントを保護する方法はありますか?

4

1 に答える 1

9

アカウントデータの保護は、リクエストを行うプロセスのLinuxユーザーID(UID)に基づいています。(ガイドの「セキュリティとアクセス許可」を参照してください。)各アカウントは(UIDを持つ)アカウントオーセンティケーターに関連付けられており、プロセス呼び出しgetPassword(または他のいくつかのメソッド)はオーセンティケーターと同じUIDを持っている必要があります。

于 2011-11-17T22:06:59.437 に答える