そのスマホアプリ、権限を分離しませんか?
前置き
この前Twitterでこんなやりとりをしました。
もういっそ電話帳の端末外部への送信はアドレス帳系のサービス以外禁止!とかにしちゃえば良いのにまーでもSNSの電話帳インポート機能ってユーザーからの要望もあって付けてるんだろうし、無くすのは難しいのかな?
連絡先インポート用のプラグインアプリを別途用意する形にすれば、本体アプリから権限剥奪出来る筈だと思います。ただ実証コードで確認してないので間違い&机上の空論の可能性ありますけど。 @ks_desire
2012-05-18 16:40:15 via Janetter to @ks_desire
仕様
仕様は次のようにしてみました。
- プラグインアプリにだけ「連絡先読み取り」権限を付ける。
- 本体アプリはプラグインアプリを呼びだして結果を受け取る。(今回はActivityで実装)
- 本体アプリに渡す連絡先情報を限定出来るようにしておく。
- プラグインアプリが未インストールだったら、使いたい人だけマーケットへ誘導してあげる。
- プラグインアプリの画面から、アプリケーション管理画面へ飛べるようにしてアンインストールを容易にしてあげる。
あとセキュリティ対策として
もやっておきました。*2
*1:色々汚いコードだけど許してくださいね。まあ逆に言えば「センス不足の素人ですら簡単に権限が分離出来る」難易度ですので、みんなも遠慮無くチャレンジしてください。
*2:JSSECさんの『Android アプリのセキュア設計・セキュアコーディングガイド』【6月1日版】をベースに、独自に好き勝手やったものです。