ここにiPhone上のSQLiteデータベースを保護する方法に関するたくさんの質問があります。これらの質問は主に次のことについてです。
- データの改ざんを防止します。
- ユーザーが入力する必要のあるパスワードを使用して、ユーザーの個人データを保護します。
しかし、状況は少し異なります。
- sqliteデータベースとともに配布されるアプリがあります。
- データベースには公開されている情報が含まれていますが、そのすべての情報を1か所に収集するにはある程度の労力が必要であり、競合他社がデータに簡単にアクセスできるようにする必要はありません。
- すべてのデータベースコンテンツはアプリケーションUIから利用できます。基本的に、アプリの目的はそのデータを適切に表示することです。したがって、UIを使用してデータベースを再作成することは可能ですが、レコードごとに約5万レコードx 40フィールドがあり、バージョンごとに更新されるため、手動でのスクレイピングには時間がかかります。また、自動スクリーンスクレイピングを使用してデータを抽出することもおそらく可能ですが、やはりある程度の努力が必要です。
- 前のポイントのため、私たちは産業グレードのデータ保護を探していません。ジェイルブレイクされたデバイス上のアプリケーションバンドルに誰もがアクセスしてデータベースをそこからコピーするのを防ぎたいだけです。
コラムの内容をなんらかの凝った難読化が必要だと思います。おそらく、アプリに固有で、他の人がアクセスできないキーを使用して列を暗号化する必要があります(そのようなキーがAppStoreに存在する場合)。
任意の提案とベストプラクティスをいただければ幸いです。