「キーチェーン」で管理しています。「キーチェーンアクセス」アプリで操作します。ある署名の仕組みを使用しています。インストールさえできれば端末の全機能が自由に使える...という風にはなっていません。個人情報の取得や外部サービスとの連携などの機能はユーザーが明示的に許可しないと実行できないようになっています。記載させ、どのような機能を使うかをユーザーがわかるようにしています。すれば、例えば全く必要もなさそうなのに連絡帳にアクセスするようなマルウェアは、実行前に認識できます。考察マニフェストに記載する機能の粒度は比較的大雑把です。細かい検証はできませんので、これだけで安全という判断はできません。プラットフォームのベンダー(Google)としては、配布の許可をコントロールしたいでしょう。場合、機能の許可はマニフェストを経由して行いません。呼び出す際に、承認を求めるダイアログが表示されます。プロビショニングプロファイルは「実行の条件を記述して利用を制限させる」という意味ではマニフェストに似ています。プロビショニングプロファイルの目的は使用する機能の制限というよりは、配布の制限という意味合いが強そうです。アプリの安全性を保障する最終段階はプラットフォームベンダー(もしくは信頼できるサードパーティ)による審査を通した配布方法に制限することです。ローテクですが、誰にでもわかりやすい手法です。(審査以外の手法も併用する理由)この方法はもっとも安全そうです。署名やマニフェストによって保護しているセキュリティの機能のほとんどは、流通経路の制限と審査だけで実現できそうです。実際にはストアによる管理だけでなく、署名やマニフェストを併用されています。審査以外の方法が適用されている理由としてあげられそうなものを整理してみました。マニフェストが必要な理由プライバシー保護の許容範囲などは個人の嗜好によるので、個人で判断してもらう必要がある。場合はプロビショニングプロファイルの正当性の検証に使う(後述)ちなみに、プラットフォームベンダーによる配布のコントロールができるというのも、他の手法にはない特徴なのではないかと思います。アプリを配布する際には、やたらと面倒なプロビショニングプロファイルという物を使います。プロビショニングプロファイルを使うことで、ストアなどで流通経路に制限をかけることをせずに、配布に制限をかけることができます。プロビショニングプロファイルの仕組みを書いてみます。一部憶測が入っていますのでご了承下さい...。(パッケージング時)開発者はプロビショニングプロファイルをプログラムと一緒にパッケージングし、署名を行った上で配布します。よって署名された許可証のようなものになっています。契約内容は例えば以下の通りです。許可されていることを確認します。実際にどのように端末側が検証しているかが書かれた資料は、実は見つけられませんでした。