Androidで作るセキュアなアプリのポイントとは

2012年3月7日(水)
タオソフトウェア株式会社

2.6 アプリケーションの不正利用抑止

悪意を持つユーザが端末からアプリケーションを抜き出し、本来ならばユーザとして不適格な人物にアプリケーションを渡してしまう可能性があります。アプリケーションの抜き出し自体を完全に防ぐのは難しいため、このような場合に備えて、セキュリティを維持できる方法を考えておく必要があります。アンドロイドマーケットで購入したアプリケーションの場合は、コピー防止機能やAndroid Market Licensing Serviceを利用することで、不正使用をある程度防ぐことができます。

しかし、購入手続きなしで配布される業務用アプリケーションの場合、GoogleのAndroid Market Licensing Serviceは利用できません。重要な業務用サーバにアクセスするアプリケーションの場合は、アプリケーションが抜き出され、ユーザIDとパスワードも漏洩するという最悪のケースを想定し、そのような場合であっても不正にアクセスできないような対策を立ててください。これについては、以下の方法が考えられます。

  • ログインIDとパスワードに加えて、端末側で生成したUUIDなどを使った機器認証を組み合わせる
  • ワンタイムパスワードを導入する

アプリケーションの重要度にもよりますが、アプリケーションの使用者を限定することが必要な場合は、Android Market Licensing Serviceに相当する仕組みを独自に実装する必要があるかもしれません。アンドロイド端末だけで不正使用を完全に防ぐのは難しいため、アンドロイドアプリがクリティカルなシステムの一部である場合は、システム全体のセキュリティを設計した後、アンドロイドアプリが担う範囲を決めるとよいでしょう。

2.7 まとめ

1. アンドロイドの連絡先を使用する場合
連絡先のデータは他のアプリケーションから参照可能なので、セキュアなデータを入れるべきではない。
2. ユーザのプライバシーを守る
  • ユーザの行動監視につながるような情報を取得する場合は、オプトイン形式でユーザの許可を得る。
  • 取得したデータの用途を明示するとともに、許可をいつでも取り消すことができる手段を用意する。
  • 取得したデータは個人情報に準じる情報として厳重に管理する。
  • データはなるべく端末内に保存しないことが望ましい。
3. アプリケーションが個人情報保護法の適用を受ける場合
企業が業務目的で保持している個人情報を使用するアプリケーションの場合、個人情報は厳重に管理される必要がある。以下の3点は最低限必要と考えること。
  • データはなるべく端末内に保存しないようにする。
  • やむを得ず個人情報を保存している場合は、データ抜き取りに対する対策を施す。
  • 個人情報を外部に送信している場合は、パケット盗聴に対する対策を施す。
4. 著作権が設定されるデータを内蔵する場合
  • データ抜き取りを完全に防ぐことはできないものと考える。
  • DRMか、最低でも暗号化を適用するなど、抜き取られても使用できないような対策を施す。
5. 外部に公開する機能がある場合
  • 基本原則は「できる限り公開範囲を狭くする」である。
  • 外部と連携し、呼び出し可能な機能を実装する必要がある場合は、呼び出し元の確認やパーミッション設定などの対策を施し、呼び出し元を限定するよう努力する。
6. アンドロイドマーケットで公開する場合
ユーザの正当性を確認する必要がある場合は、Android Market Licensing Serviceの利用を検討する。
7. 業務アプリケーションの場合
  • Android Market Licensing Serviceを利用できないケースが大半であると見られる。
  • ユーザの正当性を確認する必要がある場合は、ユーザ認証の仕組みを用意したほうがよい。パスワードが漏洩することを想定して対策を施すことができれば理想的である。
この記事のもとになった書籍
Android Security 安全なアプリケーションを作成するために

Android Security 安全なアプリケーションを作成するために

システムの脆弱性を突くスパイウェアの手法を学び、ユーザの個人情報や企業データを情報漏洩のリスクから守る。セキュリティ対策チェックシートや用語集も収録! アンドロイドアプリの開発者が知っておくべき実践ノウハウが満載の一冊です。Android 4.0:Ice Cream Sandwich(APIレベル14)に関する最新情報にも対応!

タオソフトウェア株式会社 著
価格:3,360円 (本体 3,200円+税)
発売日:2012年01月06日発売
ISBN:978-4-8443-3134-6
発行:インプレスジャパン

 
著者
タオソフトウェア株式会社

2005年創業の独立系ソフトハウス、代表取締役 谷口 岳
サーバサイドアプリケーション開発会社としてスタート。Google社のアンドロイドに発表当初より着目し、研究開発を開始。現在はアンドロイド専業(受託開発)として、アンドロイド端末上で動作するアプリケーションやアンドロイド端末と連携して動作するサーバ側アプリケーションを数多く手がけている。日経BP社主催Android Application Award 2010 Springにて「tWakeUpCallMaker」が大賞を受賞。2010年5月に、プログラミング不要でアンドロイドアプリを作成できる「DOROKURI」サービスを開始。記事執筆、講演など多数。
ブログ(開発者向け情報を発信)

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています