加密数据上的机器学习模型技术解析

本文介绍了一种基于同态加密和保序加密技术的隐私保护型XGBoost算法,该算法允许在加密数据上直接执行机器学习推理,同时保持数据机密性。文章详细阐述了技术架构和加密原理,包括伪随机函数和加法同态加密的应用。

加密数据上的机器学习模型

在隐私保护机器学习(PPML)领域,一项突破性技术使得机器学习模型能够直接在加密数据上进行计算,并返回加密结果。这种技术特别适用于处理敏感数据场景,只有加密输入数据的人才能解密最终结果。

技术实现原理

XGBoost(极端梯度提升)是一种高效的分布式梯度提升框架,通过训练数据生成并行分类和回归树集。每个树通过在每个节点进行分支决策来评估输入查询,直至到达叶节点并输出数值分数,所有树的結果求和产生最终输出。

隐私保护型XGBoost推理算法采用多种密码学工具:

  1. 保序加密(OPE):允许数据加密后密文保持明文顺序。对于任意明文a和b,a > b当且仅当Enc(a) > Enc(b)

  2. 伪随机函数(PRF):用于为树节点测试值生成伪随机"特征名称",OPE则加密被测试的特征值

  3. 加法同态加密(AHE):支持在密文上执行加法运算,Eval(Enc(a), Enc(b), +) = Enc(a+b),使模型能够合并回归树输出获得最终加密结果

操作流程

用户计算机使用OPE加密明文查询后,将加密查询发送至PPML模型服务器。服务器在加密查询上评估每个树,获得加密叶值集合,然后通过同态加密求和所有叶值,将结果返回用户计算机进行解密。

测试显示,针对约500KB大小的模型,隐私保护版本耗时约0.4秒产生结果(未加密版本仅需1毫秒),符合当前基于智能手机的云端机器学习任务性能要求。

未来方向

后续工作将支持更多隐私保护版本的学习参数,并采用安全多方计算技术,为加密回归树中的每个决策节点执行安全比较。

相关开源原型可在代码托管平台获取

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计