数据是人工智能时代最重要的资源之一,随着大数据的进一步发展,对用户数据隐私和安全管理的日趋严格已经成为了世界性的趋势,互联网金融行业严监管也正在朝着更加纵深的方向迈进。同时,大多数行业数据呈现数据孤岛现象,如何在满足用户隐私保护、数据安全和政府法规的前提下,进行跨组织的数据合作是困扰人工智能从业者的一大难题。
在构建跨组织跨行业的应用系统时,相对于一般性行业对软件系统的要求要高很多。隐私计算作为一个新的技术,如何满足金融业的使用标准并在金融场景落地,需要从五个方面定义了金融级隐私计算平台的关键能力要求。
高安全隐私计算是用于保护数据隐私不被隐私泄漏的关键技术,尤其是在金融领域,安全成了金融领域的必选项,安全问题是一个体系化的问题,需要有全面的考虑,除了系统安全、应用安全这些常规的安全体系,针对于隐私计算这个技术,还需要关注协议安全、密码安全、数据安全、模型安全四个层面的安全问题。
协议安全,包括联邦学习、秘密共享、混淆电路等在内隐私计算安全协议,应能够根据场景灵活的配应不同的标准的协议安全假设,如:对于企业间合作,多存在法律条文保证相互间一定的相互信任关系和严格的系统、网络管控,协议有时可以基于诚实且好奇的安全假设;对于面向用户的隐私计算应用,由于应用对象复杂多变,则倾向于使用恶意安全模型等较强的安全假设;此外,对于非(物理)保护的专有信道等其他场景,则还应根据经典的Dolev-Yao等协议相关安全模型,赋予攻击者额外的诸如信道监听等能力,相应的,隐私计算平台也应提供类似加密信道、信息完整性校验的能力。
密码安全,所使用的隐私计算安全协议所涉及密码算法需要满足国家标准规范的安全强度要求,这包括:1、建设密钥管理的基础设施,保障认证、授权、网络通信层面的基础安全性;2、满足国密、商密算法的使用规范,在此基础上,对国密规范未明确的密码学算法,需要建立密码分析机制和安全证明;3、加密强度,密钥长度的选取;4、充分考虑密码场景适用性。为了能对底层安全有足够的把控能力,要自下而上的加强密码安全体系构建;
数据安全,数据安全是指对数据从包括存储、使用、回收在内的全生命周期进行必要的安全管理,这也是一个隐私计算领域的安全的关键挑战。首先,从架构上要避免第三方节点介入,计算、数据节点分离;存储上除保证基本的权限控制外,需对敏感字段加密或脱敏存储,对非敏感字段提供灵活的基本安全保护选项;使用上,所有出域数据均基于加密信道传输,其中的计算相关数据需以满足上述密码安全规范的多方计算算子为媒介;数据回收阶段,保证相关数据与中间计算结果于计算节点不落库,于数据节点落库即需审计。
模型安全,模型本身的安全性也是隐私计算平台一个值得深入探讨的热门话题。面向模型的不同使用阶段,基础的安全防护手段有很多,包括:训练时对模型参数的保护;部署时模型访问权限的管控;下架时的历史记录审计等。但随着新的攻击手段的出现,也催生了对模型安全的许多新的需求,如:对投毒数据的防护以及污染模型的清洗、模型的后门注入攻击防护、防止模型偷取攻击的管控策略等。
高性能随着算力的提升和算法的不断优化,隐私计算与联邦学习这类产品得以实现商业场景的落地,但是性能仍然有很大的提升空间,运用于金融级的隐私计算,首先需要有高效的计算能力,万次算子计算要求控制在毫秒级,其次需要有对大数据的处理能力,包括亿级求交、亿级建模等大数据隐私计算能力,架构上要求具备足够的可扩展性,引入弹性资源调度、可水平扩展大数据计算任务的调度,去掉性能单点和瓶颈,设计上要能支持万级TPS的隐私计算能力。
研究发现,对于不同的密码学算子其性能表现差别很大,主要体现在网络吞吐密集和计算密集两者的差距,有的算子对计算要求高,有的算子对数据传输要求高,需要探索一种安全、性能上的混合策略,提供有针对性的解决方案,结合具体的业务场景、软硬件环境,存在很多可以优化的空间。从技术架构上看,在提升性能方面,应采取更多自适应的性能提升策略,根据不同计算需要、网络带宽、存储能力、系统算力、算法特性等条件,自适应的选择算法、算子,充分发挥整体计算性能是性能优化的关键切入点。
高精度可控的加密计算精度也是金融隐私计算平台下的一大特点,金融级场景要求模型精度损控制在±1%以内。高的精度,意味着更多的计算和开销,在建模工程中,对于一般性的场景,也要支持其进度的可定制化。比如在一个营销投放场景下,适度的计算精度损失对于营销投放的最终效果影响较小,但在诸如贷款风控、授信等业务场景,计算精度的损失对于结果的影响就举足轻重了。为了满足不同金融场景的精度诉求,在产品上定义出了精度可选项,通过一键式的选择和后台自动化的安全参数配适,在不损失安全强度的前提下,控制所需算法加密计算精度,但一般来说,更高计算精度通常也就意味着更大的计算开销,毕竟“天下没有免费的午餐”。
易用性在设计隐私计算产品时,需要将“可用不可见”的原则深入融入到产品设计中去,面向初级算法人员或者建模人员的能力视角,极大的降低产品使用和操作的门槛,通过拖拉拽的可视化建模过程,完成建模、预测的一站式联邦学习平台。这其中最关键的思考是,如何将引入的外部数据资源的使用进行抽象,抽象出“可用”,对“不可见”做保留处理,这样可以将本地数据的“可用”和外部数据资源的“可用”抽象到同一个层面,最后结合传统的机器学习平台的建模流程,与“可用不可见”的思想融入,使建模人员能够想使用传统机器学习平台一样,使用联邦学习产品,充分解决产品的易用性。
高可用架构首先要明确高可用的要求和目标,对于金融级隐私计算平台,需要满足至少99.9%的可用率。其次,要有数据计算的可靠性保障机制,支持计算任务全链路的可验证、可回溯、可监控能力。在一个联盟网络中,一个任务跨多个计算节点,分散的部署,一方面提升了整体的可用性,另外一方面,对每个节点的鲁棒性也提出了更高的要求。一般机器学习多是线下系统,主要面对的是使用庞大的算力处理大量的数据,对可用性的要求相对没那么高;多方安全计算产品应能够支持实时、准实时以及批量计算要求,比照金融系统的高可用标准并遵循木桶原理就高不就低的原则设计相应的高可用能力。架构上宜采用基于微服务应用架构设计,实现断点继跑和FailOver的能力,增强系统鲁棒性,根据高可用要求,建立主备机制,主备的服务器,一方面保障高可用,另外一方面,要求共享算力资源,最大化算力资源效用。在具备主备机制的基础上,根据不同的高可用需要来部署不同等级的高可用方案,比如主备切换、同城容灾、异地容灾