Fidelius
Fidelius简介
Fielius是由熠智科技自主研发并完全开源的隐私计算中间件,基于机密计算和密态计算等技术,为数据要素的安全流通保驾护航。目前您可以在Github上查看源代码。 Fidelius具有如下特点:
- 全流程隐私保护:原始数据不出域,支持模型参数、计算过程、计算结果弹性隐私保护,提供监管合规组件。
- 企业级性能保证:自研高性能数据分析框架,支持大规模集群部署,满足工业场景性能需求。
- 通用场景支持:不依赖第三方验证的跨平台私密数据传输和身份验证,支持WAN/LAN多网络环境部署;兼容TensorFlow、PyTorch等主流机器学习框架。
Fidelius遵从Apache License 2.0协议和GNU General Public License 3.0协议
Fidelius由来
Fidelius来自于《哈利波特》中的特殊而复杂的符咒:赤胆忠心咒(Fidelius Charm),其主要的用途是将一个秘密隐藏在“守密人”心中,除非守密人主动对他人泄露这个秘密,否则此秘密永远无法被人发现。
解决方案原理
下图描述了基于Fidelius实现数据合作的抽象流程。
该方案最重要的核心是Fidelius,通常来说Fidelius会分别运行在数据提供方和数据使用方中,需要注意的是,在大多数场景下,数据提供方和数据使用方之间没有直接的数据交换,即原始原始数据不会离开数据提供方的安全域,数据提供方仅公开元数据描述文件,这可以从根本上避免敏感数据的泄露问题。
同时,整个方案也结合了区块链技术,由于区块链本身具有去中心化、公开可验证等特性,其可以作为可信的传输通道和数据计算验证平台。
关于区块链和隐私计算结合的详细介绍,可以阅读[#系统架构]。
系统架构
下图简述了Fidelius系统各个模块及其之间的关系。
安装
目前,Fidelius仅支持Ubuntu系统。
我们提供了从源安装的方式。您也可以从源代码编译安装,但是请注意,由于Intel SGX的限制,一个Enclave在构建时需要使用RSA 3072的私钥进行签名,自行编译安装时使用的私钥与通过源安装的版本所使用的私钥并不相同,因此,自行编译安装的Fidelius可能与从源安装版本不兼容。
目前Fidelius稳定版为v1.0release版,新版本即将推出,您可以切换到patterns分支查看,注意该版本目前并未提供相关技术支持。
TODO:安装步骤
使用Fidelius
作为一个中间件,Fidelius更多是被上层服务,例如典枢来使用,而不是单独使用。此处,我们仅提供一个单独使用的例子,用于说明Fidelius的工作流程。