布尔程序中的定量信息流分析
1. 引言
在程序安全领域,非干扰程序旨在确保攻击者对程序执行的低安全级观察与高安全级输入无关,从而保护输入的机密性。然而,程序的显式输出往往会违反非干扰性,例如匿名拍卖中的中标出价会泄露其他出价的上限信息。因此,为了评估程序的安全性,人们提出了量化程序信息泄露量的方法。
在量化信息泄露时,常用的信息论度量包括香农熵和最小熵。最小熵适用于衡量密码检查器等一次猜测的脆弱性,但对于公布投票结果的投票协议并不适用,因为它无法区分安全和不安全的电子协议。而使用香农熵来衡量信息泄露对于此类协议更为合适。
本文主要研究当使用香农熵来衡量不确定性时,评估程序信息泄露量的复杂度。具体来说,考虑定量信息流边界问题:给定一个输入均匀分布的程序 $P$ 和一个有理数 $q$,检查程序泄露的信息是否不超过 $q$。
2. 相关工作
近年来,人们采用了多种自动化方法来计算程序泄露的信息,包括模型检查、静态分析和统计分析等。但计算泄露量的复杂度是最近才被关注的问题。
对于无循环的布尔程序,定量信息流边界问题是 $PP$ 难的,这意味着它比无循环布尔程序的可达性问题更难,因为可达性问题是 $NP$ 完全的,而 $PP$ 复杂度类包含 $NP$ 复杂度类。对于带循环的布尔程序,定量信息流问题是 $PSPACE$ 难的,但之前的研究没有给出其上界。有研究表明该问题在 $EXPTIME$ 内可解,并且当输出数量与程序大小呈对数关系时,问题是 $PSPACE$ 完全的。
3. 布尔程序
3.1 语法
考虑的程序包含输入变量、输出变量和局部变量。输入变量分为高安
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



