データベースの暗号化の機能

Empress組込みデータベースは米国商務省標準技術局(NIST)に準拠し、AES128, AES192, AES256ビットの暗号化の実装が可能です。暗号化は、データベースやテーブル単位ではなくカラム単位で可能ですので、暗号化が必要なカラムだけを暗号化することが可能です。また、カーネルで暗号化されるためファイルそのものの暗号化と異なりインデックスの使用が可能なため5%以下という低いオーバヘッドで実装が可能です。

Empressの暗号化はデータベース作成時のオプションで設定し、create table内でカラム単位で設定します。設定後は通常のSQL文の使用が可能です。

1 create table sample1 (Name character (10), Message character (15));
2 create table sample2 (Name character (10), Message character (15) encrypted);

上記の例で1は通常のテーブルが作成され、2ではMessageというカラムのみが暗号化されます。

Empressの暗号化アルゴリズムはオープンアーキテクチュアー構造(ユーザの暗号化アルゴリズムをそのまま使用可能)です。ユーザが現在使用している暗号化アルゴリズム、すでに使用しているTPMセキュリティチップなどの暗号化アルゴリズムとのリンクが可能です。

Empressは暗号化キーの置き場としてデータ保存場所以外に置くことをお薦めしています。たとえば、IoT認証によりクラウド上、USBメモリーのような外部デバイス、もしくはキーの半分のみをデバイスに置き、パスワードを入力しキーを完成させるような方法などいろいろな方法で実装しています。