1

私はsqllitedbを使用するアプリを開発しています。DBにセキュリティを提供したい。SQLite DBにセキュリティを提供して、デバイスなどをハッキングして誰もデータベースを読み取れないようにする方法はありますか。

暗号化を提供する必要がありますか、それともアップルが独自のセキュリティを提供しますか?アプリのDBセキュリティを提供する方法はどれですか?

ありがとう

4

1 に答える 1

1

@Quentin のコメントは正しいです。誰かがあなたのデバイスに物理的にアクセスできる限り、クラックされるのは時間の問題です。ただし、それだけの時間を無駄にするほど時間がかかる場合があります。

データベースを暗号化する場合は、復号化キーもデバイスに保存する必要があります (オフラインで動作させたい場合)。キーチェーンを使用してこのキーを保存できます。その後、データにアクセスするには、 iPhone のキーチェーンをクラックする必要があります。

もう 1 つの方法は、オンラインでのみアプリを動作させることです。キーをサーバーに保存し、キーをアプリに戻す前にユーザーがログインして認証するようにします。これには少し手間がかかりますが、鍵とデータが別の場所に確実に保存されるようにします。

最後に (そして最も安全に)、すべてをサーバーに保存することができます。この方法では、データとキーを自分で制御し、盗難を防止しても、わずかな違いはありません。ただし、データ セットが大きい場合、アプリの UI がより複雑になる可能性があります。そして、明らかにオフラインでは動作しません:)

于 2012-06-13T10:09:38.120 に答える