同态加密的应用:密文推理
周末的某个清早,阳光懒洋洋的透过窗户洒在了小张疲倦的脸上。最近,社畜小张天天熬夜加班赶项目,可算累死他了。他迷迷糊糊的醒来,下意识的拿起手机,一看,哎,怎么他绝美的容颜上长了很多红色的小点点,一查百度,哎呀,不得了,好像很严重的样子。但他又不想去医院看医生,因为这要花他很长的时间,这个周末他只想躺,他在想能不能在网上看病?直接拍一张自己的脸,发给网络医生就好了,但发出前的那一刻,他又想到,万一自己的照片传到网络上,然后被人滥用,比如当网恋头像什么的,会给自己造成很多的麻烦。
怎么办呢?小张皱着眉头,冥思苦想,“哎,会不会有相关的AI医疗图像诊断服务呢?让AI来诊断,它肯定不会乱用我的图片”,没错,这就是机器学习即服务(Machine Learning as a Service)。如图1所示,在这个应用机制中,MLaaS服务提供商将训练好的机器学习模型部署到云服务器上,并向广大客户提供推理预测服务,客户将自己的数据上传到云服务器,模型将会自动读取并对用户的输入进行推理预测,最后将结果返回给客户,得益于MLaaS 服务,用户不需要训练模型也可以推理自己的数据。
图1 MLaaS服务机制
就在小张以为找到一个万全之策的时候,他猛然一拍大腿,“不对,图片上传到了服务器,万一服务器被哪个黑客攻击了,这样我的美照不就又泄漏了吗?”如图2所示,黑客可以通过攻击服务器而窃取客户的隐私数据,MLaaS服务存在隐私泄漏的风险。
图2 MLaaS的数据安全隐患
为此,小张又发愁了,沉默许久,突然联想到最近学习的同态加密,灵光乍现,“能不能把数据用同态加密,然后让服务器在密文上执行计算,最后将推理结果以密文的形式返回?”是的,这就是同态加密的应用之一,“密文推理”,如图3所示,用户事先使用同态加密加密数据,然后将密文发给服务器,服务器开始在密文上执行计算,并将推理的结果返回,该结果同样是一个密文,由用户解密之后,即可得到推理的结果。整个过程只有用户可以看到明文状态的数据,服务器存储的是密文,因此可以抵御黑客的攻击。
图3 密文推理
忙活了半天之后,小张总算可以放心的上传自己的照片到网上了,最后AI诊断的结果是痘痘,建议不要长期熬夜,他以后再也不敢熬大夜了。