realmのセキュリティまわりについて調べてみた
realmを使う場面に出くわしました。 これまでrealmについて調べたことが無く、realmのセキュリティ周りについて少し調べたので備忘メモを残しておきます。
目次
realmとは?
androidやiOSといったモバイル環境を意識したデータストレージです。
推奨されているセキュリティ機能
標準でデータベースの暗号化機能を持っており、「.encryptionKey(key)」の一文を加えるだけで簡単に利用することができます。
swift、javaのサンプルコードに加えて、host serverのセキュリティ設定についても解説していて、とても親切な印象でした。
暗号化鍵の保存
暗号化の鍵はAndroid OSの提供するKeyStoreを使います。
realmとSQLインジェクション
データベースのセキュリティというと、SQLインジェクションが頭に浮かびます。
realmでは、SQLインジェクションは発生しないようです。
Realm Java uses a type safe query engine, that doesn’t allow you to execute multiple commands nor inject commands inside other commands. So something like SQL injection is impossible.
realmの脆弱性情報
NVD, Exploit Databaseを調べたところ、2019/07時点では公開されている脆弱性は無さそうです。
realmのviewer
SQLite Browserと同様のBrowserアプリが使えます。
apps.apple.com最後に
realmについて何も知らなかったので、調べたメモをまとめました。
これまでローカルにDBを持ちたい場合はSQLite一択だったのですが、次はrealmを使ってみようと思いました。