2011年8月31日水曜日

Androidセキュリティ機能の実装方法

 Androidの特性から、Android向けの業務アプリなどを自社開発して利用するケースが増えつつあります。もしそれらがMDMと併用できない場合は、業務アプリにある程度のセキュリティ機能を実装することになるでしょう。そこで、各対策の実装方法をご紹介します。
■ロック、ワイプ
 Android 2.2以降に搭載されたDevice Administration APIを利用して実装できます。
 ローカルワイプの場合には、Android SDK添付サンプルアプリ画面中の「Password Attempts Wipe Data」で回数を設定します。規定回数を超えて失敗すると、即座に出荷状態に戻ります。
 リモートワイプは、Device Administration APIではリモートから待ち受ける機能までは持っていませんが、ポーリング、SMS通知やC2DMなどを組み合わせて構築することもできます。
■アプリのインストール確認
 Package Manager APIを利用すればインストールアプリを取得できるため、ブラックリスト方式あるいはホワイトリスト方式で、インストールされているアプリを定期的にチェックする仕組みを構築できます。
 業務用Androidアプリを内製している場合には、アプリ間連携で動作の有無を判定させることで強制力を持たせることも可能でしょう。
■ファイルの暗号化
 Androidで暗号化を実装するには、「javax.crypto」を利用して実装できます。アルゴリズムとしては、AESの利用が一般的であると思われますが、AESアルゴリズムは復号処理の負荷が高いことが知られています。
 AESと同等、あるいはそれ以上セキュリティマージンが高いと評価されているアルゴリズムとして、日本で開発され、組み込み機器用途でも使用できるcamelliaがあります。camelliaアルゴリズムをAndroidから簡単に利用する目的で開発されたCamellia-androidライブラリは、Apache2ライセンスにて無償公開されていますのでご参照ください。
http://info.isl.ntt.co.jp/crypt/camellia/dl/Camellia2010v7_0.pdf
http://code.google.com/p/camellia-android/

0 件のコメント:

コメントを投稿