SE-PgSQL ドキュメント

SE-PostgreSQLの実装を進める傍ら、ぼちぼちとドキュメントも書き進めてみる。まだ途中だけど以下の通り。英語に詳しい人のツッコミ希望。
http://www.kaigai.gr.jp/index.php?sepgsql

ここに書いているのは、"完成形"でのセキュリティモデルの話になるが、
自分で書いていてこれをTEでちゃんと設定を記述するのは結構骨の折れる作業だなと思う。

MCS/MLSに限って使う分には結構素直ちゃんなんだけど。

例えば、UPDATE文の場合。
何日か前にも書いたが、{table column tuple}:update 権限だけで終わるわけではない。なぜなら、WHERE句でUPDATEの対象カラムを絞り込む場合には、タプルの内容を読み出して条件にマッチするかどうかを確認しなければいけないから、そこにはselectの操作を伴うことになる。
あと、何日か前に書いた時には失念していたが、外部キー制約を設定している場合には、被参照先テーブルのキー値にマッチするかどうかを確認する必要があるので、そこにも select の操作が伴う。
ちょっとこれは本当に実装可能か調べてみないといけないけど、外部キーの有無によってクエリが成功する/しないという 1bit の情報が、セキュリティポリシーで規定する範囲の外に漏れ出すなら、これは隠れチャネルと言える。
厳しいなぁ…。