2016-10-10 10 views
2

私はxamarin.androidを使用しているモバイル開発者です。遅かれ早かれ、通常は銀行からのクライアント向けのアプリケーションを作成します。 私は現在、セキュリティ上の問題を必要としないアプリケーション用の領域(初心者)を開発中です。ハッカーからのデータセキュリティに関してsqliteとrealm

私が知りたいのは、私がアプリを作って、それを銀行のモバイルシステム用にすれば、あらゆるタイプのハッカーからより安全なローカルデータベースを提供することです。

答えて

3

RealmとSQLiteの両方は、内部ストレージ内のアプリケーションのプライベートディレクトリに保存されているファイルを使用します。これは、あなた以外のアプリにはアクセスできないため、ほとんどの場合、十分安全です。

ただし、ルーツのデバイスを考慮する必要があります。それらを使うと、ユーザはあなたのアプリのプライベートディレクトリを含め、ファイルシステム全体を簡単にナビゲートできます。

これを考えると、私たちの最善の策はデータ暗号化に依存しています。

Realm supports AES-256 encryptionあなたがそれを求めている場合:

byte[] key = new byte[64]; 
new SecureRandom().nextBytes(key); 
RealmConfiguration config = new RealmConfiguration.Builder(context) 
    .encryptionKey(key) 
    .build(); 

Realm realm = Realm.getInstance(config); 

をものとレルムにアクセスすると、透過的にディスクに永続化されたすべてのデータを暗号化/復号化します。これは、開発者としてあなたの側から余計な努力を必要とせずにセキュリティを向上させます。

This projectレルムの暗号化機能をどのように利用できるかをデモします。

SQLiteについては...まだ何も見つかりませんでした。おそらくあなたの最善の策は、手動で暗号化/復号化を自分で行うことです。

+0

他に暗号化されていない限り、本当にストレージが確保されているとは思われません:)あなたの大きな説明に感謝し、私にレルムについて良い気分にさせました。私はrealmがそれ自身の暗号化を持っているので、将来私はsqliteにジャンプする必要はないと思う。乾杯!!! – jace

+1

私はオープンソースOSを使用してAndroidのようなセキュリティの不足に直面することがありますので、すべての機密情報をクラウドまたはWebサービスに移行するのがベストプラクティスです。 –

+0

まあ、Mohsen。それは本当です; OSSは本当に両刃の剣です。あなたが本当に安全であることを望むなら、適切なバックエンドは現在でもそこにある最善の解決策になります。 –

1

sqlicipher androidを試しましたか?

+0

nope :)しかし私はそれを見てみましょう。情報をありがとう ! – jace

関連する問題