May 17, 2006

Paper: Cryptographic Support for Secure Logs on Untrusted Machines

Cryptographic Support for Secure Logs on Untrusted Machines
Bruce Schneier and John Kelsey, 7th USENIX Security Symposium

乗っ取り/不正行為に対する耐性が保証されていない端末(Credit Card/電子財布やUSBメモリ型のGadgetを想定している模様)にて,その端末によるデータのやり取りや操作を記録し,のちにそれらを確実に監査できるようするためには,ログ記録をどのようにして保護すべきか? という問題に対する対策手法を提案した論文である.

想定する脅威をもう少し具体的に書くと、
攻撃者がその端末にアクセスでき,乗っ取ったとしても,

1. ログから機密情報が漏れないようにしたい.
2. ログファイルの改ざんおよび意図的な削除を不可能にしたい.

ということであり、実装方法の肝としては、
計算量の少ない暗号化処理を駆使することで,すべてのログエントリを暗号化し,

1. 攻撃者はログエントリを読むことができず,
2. また検知不可能な形でのログ改ざんまたは破壊を不能にする

という手法の提案である.

暗号が駆使されており,その整合性,安全性については詳しく突っ込まない(つっこむ能力が自分にはない)が,実装されている機能は多数あり,その基本方針は,「仮にその端末が攻撃者によって乗っ取られたとしても,それ以前のログは,攻撃者によって,読まれることがなく,意図的に改竄されることもなく,かつ検知不可能な状態で削除されることもない.すなわち,監査によってなんらかの悪事があったかどうかを確実に知ることができる」ことを目指している.

ログエントリーの生成における処理を例に挙げると以下のようになっている.

1. ログの生成されるたびに認証キーが生成され,過去のキーはその値で上書きされる
2. 個々のログエントリーは暗号化される
3. 個々のログエントリーはhash chainを持つ.これにより過去のすべてのログエントリーは1つのhash値で検査することができる
4. 個々のログエントリーは許可権を持つ.これによりrole-baseのアクセス制御が可能になっており,特定のログエントリーだけを,特定のユーザに閲覧可能にする.といったことが可能になっている.

論文はUSENIXのWebページにて取得可能である
----
author = {Bruce Schneier and John Kelsey}
title = {Cryptographic Support for Secure Logs on Untrusted Machines}
journal = {Proceedings of The 7th USENIX Security Symposium}
pages = {53--62}
publisher = {USENIX Press}
month = {1}
year = {1998}
URL = {http://www.usenix.org/publications/library/proceedings/sec98/schneier.html}

Posted by z at May 17, 2006 03:15 AM