2012-03-30 9 views
0

コアデータを使用してsqliteデータベースにデータを格納しています。私はそれらを確保するために余分な措置を取る必要がありますか?iOSアプリケーションでsqliteデータベースを保護するために余分な作業が必要ですか?

また、私はアプリストアでいくつかのsqliteブラウザアプリを見つけました。私の疑いは、これらのアプリケーションは、私のアプリで使用されるsqlite dbにアクセスすることができますか、またはこれらのアプリはどのように働く/開発者にとって便利です。

ありがとうございます。

+0

セキュリティのために、キーを持っている暗号化されたデータベースを使用することができます。あなたのアプリを開くときに、キーを使ってデータベースを復号化します。あなたのdbは暗号化されているので、誰もあなたのdbを使用することはできません。 – Invincible

+1

をご覧ください。http://sokol8.blogspot.in/2011/05/iphone-sqlite-data-encryption-sqlcipher.html – Invincible

答えて

2

あなたのdbを保護する度合いによって異なります。あなたが脱獄されたデバイスを考慮しない場合は、あなたのアプリケーションのプライベートフォルダにdbを保存すれば十分です。

しかし、脱獄されたデバイスのユーザーは、sqlite dbを含むファイルシステム全体を読み取ることができます。このリスクも考慮する必要がある場合は、@Invincibleが示唆するようにデータベースを暗号化できます。ここで問題となるのは、依然としてパスワードをアプリケーションのどこかに格納して、何らかの労力をリバースエンジニアリングして抽出できることです。パスワードを保存するために難読化メソッドを使用することができますが、これは100%のセキュリティを提供するものではありません。

「オープン」(脱獄)プラットフォームでのセキュリティの問題は、攻撃者がアクセスできない情報へのアクセス権がないことです。ただし、異なる難読化と暗号化の手法を適用することで、攻撃者の状況を大幅に改善することができます。どのくらいの労力を投資すべきですか?あなたは、次の要因を考慮する必要があります。攻撃者は を投資するどのくらいの努力攻撃者の機密データ< =>ゲイン

  • あなたの努力あなたは< =を投資する準備ができている>を失うの

    • リスクを
  • 関連する問題