Android のデータストレージ
概要
この章では、モバイルセキュリティに不可欠な、認証トークンや個人情報など、機密データを保護することの重要性を説明します。ローカルデータストレージ用の Android API に注目し、ベストプラクティスを共有します。
ローカルストレージでの機密データを制限するか、可能な限り避けることが望ましいのですが、実際のユースケースではユーザーデータの保存が必要になることがよくあります。たとえば、ユーザーエクスペリエンスを向上するために、アプリは認証トークンをローカルにキャッシュし、アプリを起動するたびに複雑なパスワード入力を必要とすることを回避します。また、アプリは個人を識別できる情報 (PII) やその他の機密データを保存する必要があることもあります。
機密データは、デバイスや外部 SD カードなど、さまざまな場所に保存される可能性があり、適切に保護されていない場合、脆弱になる可能性があります。モバイルアプリで処理される情報を特定し、機密データとみなされるものを分類することが重要です。データ分類の詳細については「モバイルアプリケーションのセキュリティテスト」の章の 「機密データの特定」 のセクションをご覧ください。包括的な情報については Android 開発者ガイドの Security Tips for Storing Data を参照してください。
機密情報開示のリスクには、情報解読、ソーシャルエンジニアリング攻撃 (PII が開示された場合)、アカウントハイジャッキング (セッション情報や認証トークンが開示された場合)、決済オプションのあるアプリの不正利用などがあります。
データ保護に加えて、あらゆるストレージソースからのデータを検証してサニタイズします。これは、データ完全性のために、正しいデータ型のチェックや、HMAC などの暗号制御の実装を含みます。
Android は、ユーザー、開発者、アプリケーションに合わせて調整された、さまざまな データストレージ 手法を提供しています。一般的な永続ストレージ技法には以下があります。
共有プリファレンス
SQLite データベース
Firebase データベース
Realm データベース
内部ストレージ
外部ストレージ
キーストア
さらに、データ保存をもたらす可能性があり、テストする必要があるその他の Android 機能には以下があります。
ログ記録機能
Android バックアップ
プロセスメモリ
キーボードキャッシュ
スクリーンショット
適切なテストケースを実行するには、関連する各データ保存機能を理解することが不可欠です。この概要では、これらのデータ保存手法の概要を提示し、テスト担当者にさらに関連ドキュメントを示します。
Last updated
Was this helpful?