3

ここにiPhone上のSQLiteデータベースを保護する方法に関するたくさんの質問があります。これらの質問は主に次のことについてです。

  • データの改ざんを防止します。
  • ユーザーが入力する必要のあるパスワードを使用して、ユーザーの個人データを保護します。

しかし、状況は少し異なります。

  • sqliteデータベースとともに配布されるアプリがあります。
  • データベースには公開されている情報が含まれていますが、そのすべての情報を1か所に収集するにはある程度の労力が必要であり、競合他社がデータに簡単にアクセスできるようにする必要はありません。
  • すべてのデータベースコンテンツはアプリケーションUIから利用できます。基本的に、アプリの目的はそのデータを適切に表示することです。したがって、UIを使用してデータベースを再作成することは可能ですが、レコードごとに約5万レコードx 40フィールドがあり、バージョンごとに更新されるため、手動でのスクレイピングには時間がかかります。また、自動スクリーンスクレイピングを使用してデータを抽出することもおそらく可能ですが、やはりある程度の努力が必要です。
  • 前のポイントのため、私たちは産業グレードのデータ保護を探していません。ジェイルブレイクされたデバイス上のアプリケーションバンドルに誰もがアクセスしてデータベースをそこからコピーするのを防ぎたいだけです。

コラムの内容をなんらかの凝った難読化が必要だと思います。おそらく、アプリに固有で、他の人がアクセスできないキーを使用して列を暗号化する必要があります(そのようなキーがAppStoreに存在する場合)。

任意の提案とベストプラクティスをいただければ幸いです。

4

1 に答える 1

1

私自身の質問に答えるだけです。最終的にはSQLCipherを使用しましたが、それはうまく機能し、パフォーマンスへの影響はごくわずかでしたが、アプリをスクリーンスクレイピングするよりもクラックするのはおそらく難しいでしょう。

于 2015-11-05T02:13:06.750 に答える