SQLite3を暗号化「SQLCipher」
SQLCipherはSQLite用のオープンソース・ソフトウェア。SQLiteはPHPや各種言語でデフォルトサポートされているデータベースエンジンだ。ファイルベースで使える手軽さで、データベースを使うまでもないものの、CSVでデータ管理するのは面倒というケースによく使われる。
使っているところ
手軽に使えるもののSQLはきちんとサポートしており、とても便利なソフトウェアだ。だがデフォルトでは暗号化されないため、セキュリティ的に不安があるという人もいるだろう。そこで使ってみたいのがSQLCipherだ。
SQLCipherはSQLiteの拡張で、AES-256による暗号化に対応する。PRAGMAコマンドによってキーを設定し、その後SQLを実行することでデータを暗号化された状態で扱えるようになる。逆に復号化する場合も同様にPRAGMAを最初に実行する必要がある。
C言語からも扱えるようになっているようで、同作者によるiPhoneアプリStrip(パスワード管理アプリ)でもこのSQLCipherが使われているようだ。手元のデータをストアするのにぴったりなSQLiteではあるが、セキュアを求めるケースではSQLCipherは良い選択肢になりそうだ。
執筆時のバージョン
1.1.1
sjlombardo’s sqlcipher at master - GitHub
http://github.com/sjlombardo/sqlcipher
Zetetic - SQLCipher