Symfoware V12基於PostgreSQL,並提供了一些功能增強,其中包括表空間級的透明加密。
采用AES算法,利用Intel Xeon內置的AES-NI(Advanced Encryption Standard New Instructions)硬件加密,可加減少加解密的資源消耗。
在postgres.conf中設置keystore文件存放位置
keystore_location = '/key/store/location'
設置master key
SELECT pgx_set_master_key('passphrase');
這個函數會生成master key,並通過passphrase加密存儲到keystore_location設定目錄的keystore.ks中。passphrase即keystore的密碼。
打開keystore
SELECT pgx_open_keystore('passphrase');
每次啟動數據庫後,需要打開keystore,把master key加載到內存。這裡的passphrase是前面傳入pgxsetmaster_key()的密碼。
表空間的加密
設置以後創建的表空間自動數據加密
SET tablespace_encryption_algorithm = 'AES256';CREATE TABLESPACE secure_tablespace LOCATION '/My/Data/Dir';
設置以後創建的表空間不使用加密
SET tablespace_encryption_algorithm = 'none';
keystore的密碼變更
SELECT pgx_set_keystore_passphrase('old_passphrase', 'new_passphrase');
設置自動打開keystore
pgx_keystore --enable-auto-open /key/store/location/keystore.ks
執行後生成keystore.aks文件,keystore.aks是keystore.ks解密後再經過混淆後的結果。 生成keystore.aks後,每次數據庫啟動時會自動打開keystore,加載master key,無需輸入密碼。
http://software.fujitsu.com/jp/manual/manualfiles/m140019/j2ul1736/05z200/index.html