增量类型检查实现稳健解密
在软件开发中,确保程序的安全性和正确性至关重要。类型检查是保证程序安全的一种重要手段,而增量类型检查则可以在程序修改时,更高效地进行类型检查。本文将通过一个简单的登录程序示例,介绍如何使用增量类型检查算法实现稳健解密,并详细阐述增量框架的构建和应用。
工作示例
为了非正式地引入算法模式,我们通过一个示例来说明如何逐步使用非干扰类型检查算法实现稳健解密。假设有一个大型程序包含以下代码片段,用于检查用户输入的密码是否正确以进行登录:
p ≜ pwd := secret input(); [•];
if check(pwd) then use(pwd) else skip
其中, pwd 是一个高完整性的秘密变量, [•] 表示可能被攻击者注入代码的位置。假设 check 和 use 子例程不会泄露信息,该程序满足稳健解密,如图 1 的完整非增量推导所示。
然而,为了让用户知道登录尝试是否成功,我们可能会对上述代码进行细化:
p′ ≜ pwd := secret input(); [•];
res := check(pwd); out := res;
if res then use(pwd) else skip
这里, res 是一个私有且具有高完整性的变量,
超级会员免费看
订阅专栏 解锁全文
4025

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



