密码操作的泄漏量化:原理与应用
1. 引言
在分析密码协议的安全性时,一个根本问题是量化“安全强度”。即使是安全的协议也会泄露一些信息,只是量非常小。例如,每次密码检查程序运行失败,都会泄露输入的密码是错误的这一信息。在缺乏完美安全的情况下,“全有或全无”的语义(即协议要么安全,要么不安全)并不适用。像非干扰这样的属性在这种情况下显得过于严格,因为“即使只泄露了一位信息,也会被标记为安全违规”,这导致太多协议被判定为不安全。
在实际应用中,考虑到协议控制流、泄漏发生的执行阶段、攻击者的计算能力、应用的关键性等外部因素后,有一定泄漏的协议也可以被认为是安全的。因此,重点在于量化泄漏,以便对给定协议的安全性做出明智而实际的决策。这种量化对于复杂的密码协议在高性能环境中的应用至关重要。
泄漏量化的动机源于在欧盟项目 SecureSCM 的安全多方计算领域的工作。SecureSCM 处理供应链网络中的最优规划问题,供应链规划可以建模为线性规划。目标是在安全多方计算的框架下求解线性方程。供应链网络中的合作伙伴对应多方框架中的参与方。虽然有安全多方版本的单纯形算法可用于求解大型线性规划,但实际实现中发现安全单纯形协议的性能完全不适合实际使用。性能瓶颈在于单纯形算法运行中多次调用的安全比较协议。理论上,任何多方函数都可以使用基于通用电路的协议安全计算,但这些通用协议在实际使用中效率往往很低。因此,提出了一种快速但并非完全安全的比较协议,这就需要一个统计框架来对这类协议进行精确的泄漏量化。
将安全协议中的信息流建模为离散噪声信道,期望的度量是该信道的泄漏。直观地说,泄漏衡量了观察信道输出能在多大程度上提高攻击者猜测信道输入的能力。更精确地说,它被定义为攻击者在观察输出之前和之