时间就是金钱:Goblin攻击对GC框架的威胁与应对
1. Goblin攻击原理
Goblin通过聚类算法提取混淆器的输入。在获取预处理数据后,它会启动聚类算法来确定每个混淆器的输入位。由于Goblin对CPU周期数据进行了归一化处理,质心中门类型的主导地位消失,因此无论门类型如何,Goblin都会将CPU周期聚类为对应输入0和输入1的两个簇。为了揭示输入位,Goblin会跟踪归一化前的最大值Max({ci}n i=1)。聚类过程结束后,所有包含最大元素的簇成员都被标记为“1”,即混淆器输入位为“1”;其他簇则对应混淆器输入位“0”。
2. 性能指标
设ci为混淆器输入x = x1 · · · xn(n位对应n条线,为电路提供混淆器输入)的泄漏测量值,即CPU周期数。为了评估攻击的有效性,我们计算在给定单条轨迹{c}n i的情况下恢复混淆器输入的成功率(SR)。Goblin是一种非轮廓攻击,使用k - 均值聚类算法作为区分器,将任何观测值ci分配到与输入位xi为“0”或“1”相关联的簇p0或p1中。成功率的定义如下:
SR := ∑j∈{0,1} ∑n i=1 Pr(ci ∈pj | xi = j)
简单来说,SR表示混淆器输入的n位中正确披露的位数。
3. 实验设置
我们运行了JustGarble、TinyGarble和Obliv - C框架,这些框架可通过GitHub仓库获取。混淆器和评估器代码在两个运行Linux Ubuntu 20、拥有16GB内存和Intel Core i7 - 7700 3.60GHz CPU的系统上运行,两个系统通过局域网(LAN)电缆连接。为了在最大可能的情况下迫使CPU从RAM将
超级会员免费看
订阅专栏 解锁全文
371

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



