近日,第九届iDASH国际隐私计算竞赛落下帷幕,字节跳动安全研究独立组队-Jeddak Team,首次参加了可信计算和区块链两个赛道的角逐。在为期4个月的赛题准备和组委会官方评估后,Jeddak提交的可信隐私计算解决方案从众多参赛队伍中脱颖而出、入围前三。
iDASH是数据隐私与安全计算领域的国际最高规格竞赛,由美国国立卫生研究院(NIH)主办,历年来吸引了全球顶尖高校和科技公司的积极参与。今年包括有美国耶鲁大学、加州大学圣迭戈分校、瑞士联邦理工、德国慕尼黑工业大学、新加坡南洋理工、浙江大学,以及英特尔、三星、腾讯、阿里巴巴、蚂蚁金服等来自14个国家、共计81支队伍的激烈角逐。
此次比赛设置了可信计算、区块链、同态加密、多方安全计算共4个赛道,组委会根据各赛题场景筛选出满足要求的方案设计和代码实现,然后从性能、精度等指标维度对各参赛队进行排名。Jeddak Team 分别获得可信计算赛道第二名、区块链赛道第三名的好成绩。作为Best-Performing Team,团队成员还受邀在iDASH Workshop 2022上展示了参赛方案。
可信计算赛道揭秘
可信计算的赛题是对单细胞转录组学数据进行安全分类,目标是为了检测可信执行环境实施并行训练的可扩展性:要求使用多个飞地(Enclave)来对单细胞数据进行分类训练,并且为了模拟云中的弹性计算环境,比赛规定每个飞地最多使用8个线程来进行训练,最后按照分类准确率和耗时对各参赛队伍进行排名;同时要求在分类过程中,任何输入、中间和输出数据都不能泄露。本次比赛主要考察可信计算系统的设计与优化水平。
为此,Jeddak Team对现有主流分类算法做了调研,最终选取DPMM算法因其优秀的分类正确性和计算效率;同时,创新性地提出了一系列方法手段来提升分类的性能,例如:
· 加解密阶段使用共享内存。在非可信环境加密数据时,将结果直接落到共享内存中,这样飞地里的线程便可以直接读取加密数据并解密,节省了一次OCALL操作和一次内存复制操作。
· 动态加载飞地。分配给飞地的可信内存越大,加载飞地的效率就会越低,于是根据数据集的大小预估所需可信内存的大小,然后从事先生成的、不同大小可信内存的二进制文件中选取最合适者,实现动态加载飞地,从而减少加载时间。
· 线程池的使用。在飞地里面的计算任务会被写到一个任务队列,线程池的线程通过ECALL进入飞地后,便会一直监听任务队列:有任务则取出来执行、直到算法结束才将线程销毁。这样在分类时,便不会有可信环境与非可信环境的转换,同时避免了频繁地创建线程。
· 设计收敛判断逻辑。DPMM算法只支持固定轮数的训练,在一些收敛特别快的数据集上会导致性能变差,于是增加了收敛判断逻辑,一旦算法判断收敛便将任务提前终止。
根据主办方的评估,Jeddak Team的方案在仅使用2个飞地的情况下,耗时8.8秒就完成18900个样本分类,其ARI也在所有参赛队伍中保持了较高水平。此外,需要特别指出的是,Jeddak方案在更大样本规模(200k)的测试条件下,依然可以保证极高的性能和准确率。
凭借着上述创新,最终在该赛道的18支参赛队伍中获得了第2名的好成绩。与蚂蚁链、阿里安全双子座实验室、腾讯Angel PowerFL共同入选Best-Performing Teams。
区块链赛道揭秘
区块链赛道的题目和要求是,使用Ethereum Solidity智能合约语言设计出高效的数据结构和算法,来存储和检索生物医学证书。证书在插入时被划分为多个15K的分块数据,而这些数据和对应的元数据都要上链;同时,设置有两个查询函数,分别要求根据查询条件来返回满足的元数据信息和最近的证书内容。最后会评估查询结果的正确性,以及插入操作和两个查询函数的性能。
为此,Jeddak Team给出了一系列优化设计和实现。例如,在插入证书元数据和证书内容时,均采用哈希表存储上链;另外,为了快速查询而使用了额外4个mapping(typeFiles,courseFiles,unameFiles、以及typeCourseFiles),用于存储查询字段到证书文件名列表的映射。
查询优化的一个创新举措是:根据证书数据分布,优先使用最具标识性的字段进行过滤,从而将多通配符条件下可能的匹配证书锁定在一个较小范围,提高了查询匹配效率。此外,对于给定gaslimit条件下组装恢复大文件的挑战,Jeddak Team采用分组拼接、以取替迭代拼接的方式,解决了因内存拷贝次数过多而导致gas使用超限的问题。
根据主办方的评估,Jeddak Team方案的平均插入时间和两类查询的执行时间均十分高效。最终在该赛道34支参赛队伍中获得了第3名的好成绩。与耶鲁大学、蚂蚁链共同入选Best-Performing Teams。
关于本次比赛的更多详细信息以及对应参赛作品的介绍视频和幻灯片材料,请大家参考赛事官网: http://www.humangenomeprivacy.org/2022/。
Jeddak数据安全沙箱
此次Jeddak Team参赛所使用的核心技术均源于自研的Jeddak数据安全沙箱,是构建在可信执行环境和区块链基础上的数据计算平台。适用于多方数据融合的隐私计算应用场景:既能够联合多个数据提供方进行协同计算、打通“数据孤岛”发挥数据价值;又能够满足数据“可用不可见”的安全合规要求。从而实现了计算过程中数据的隐私保护、审计溯源和防篡改,为数据的可信应用及其互联互通提供了行之有效的解决方案。
目前,Jeddak数据安全沙箱已通过火山引擎对外提供服务,包括数据复杂处理、联合分析、联合建模与预测,以及隐私集合求交PSI、匿踪查询PIR、机密数据库查询SQL等功能应用。在云端代理计算、数据合规计算、分布式计算等多类场景模式下,为用户挖掘和创造更多数据价值。