铜匠算法安全外包的实用方案
1. 预备知识
1.1 安全模型
资源受限、计算能力和存储空间有限的客户端 C 打算将昂贵的计算任务外包给云服务器 S,但 S 是共享的,C 不能完全信任它。曾经提出过多种模型,如“诚实但好奇”模型、“懒惰但诚实”模型等,而云服务器可能既懒惰、好奇又不诚实,这就是恶意云模型。在半诚实云模型中,云会正确遵循协议规范,但要确保它无法从外包任务中获取关键信息;在恶意云模型中,云可能会随意偏离协议规范,因此外包协议必须能同时处理结果验证。
一个安全的外包计算方案由五元组组成:
1. 密钥生成(KeyGen) : KeyGen(F, k) → (PK, SK) ,给定安全参数 k,随机密钥生成算法生成编码目标函数 F 的公钥 PK 和客户端 C 保留的私钥 SK。
2. 问题生成(ProbGenSK) : ProbGenSK(x) → (σx, τx) ,问题生成算法使用私钥 SK 将函数输入 x 编码为公共值 σx 给服务器 S 计算,以及客户端 C 保留的秘密值 τx。
3. 云计算(ComputePK) : ComputePK(σx) → σy ,服务器根据公钥 PK 和编码输入 σx 计算输出 y = F(x) 的编码版本 σy。
4. 结果验证(VerifySK) : VerifySK(σy) → 1 ∪ 0 ,验证算法根据私钥 SK 和编码
超级会员免费看
订阅专栏 解锁全文
24

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



