文献标识码:A
DOI:10.19358/j.issn.2097-1788.2023.07.005
引用格式:钟志威.面向隐私保护机器学习的同态加密转换器设计与实现[J].网络安全与数据治理,2023,42(7):31-36.
0 引言
数据被认为是大数据时代最宝贵的资源,而机器学习成为挖掘数据价值的有力工具。近些年来随着云计算的广泛普及,人们越来越多地将数据保存在云端,并将计算也外包至云端。然而,异地存储和计算带来了潜在的数据泄露风险。随着各国数据安全法的颁布和实施,人们对于数据安全的重视程度不断提高,一些持有敏感数据的机构对于数据托管和外包计算产生了较大的疑虑。业界的这种担忧极大地阻碍了数据的共享和流通,数据价值难以得到充分利用。隐私计算是解决这一问题的有效途径,可在保护数据本身不泄露的前提下对数据进行分析计算,达到数据可用不可见的目的,实现数据价值的转化和释放。
在现有隐私计算技术中,同态加密(Homomorphic Encryption,HE)是一类具有特殊数学性质的加密方法。利用同态加密技术,无密钥的计算方可以对密文进行计算,在整个计算过程中无须与密钥方交互,具有极高的安全性。自2009年Gentry提出第一个可行的全同态加密方案以来,经过多年演进,同态加密逐渐从理论走向现实。现在,得益于底层理论的进步、更高效的软件实现以及专用硬件(如GPU)的支持,同态加密已经越来越实用。特别是现代同态加密方案引入了批量编码特性,能够将多个明文值编码到单个密文中,进一步提高了数据吞吐量和计算并行性。
由于同态加密可对加密数据进行计算,基于同态加密的隐私计算解决方案引起了越来越多的关注。Cheon等人提出了一种支持实数运算和批量编码的加密方案CKKS,其特别适合于机器学习应用,目前已被应用于逻辑回归以及支持向量机等任务中。尽管将同态加密应用于机器学习前景光明,但是目前缺乏一种通用方式让开发者在不了解底层加密方案细节的情况下,为特定隐私保护机器学习算法编写高效的同态加密应用程序。具体来说,将同态加密应用于隐私保护机器学习时面临以下两个挑战。
第一,选择最优的加密参数是一个难题。使用同态加密时需要设置合适的加密参数(Encryption Parameters),才能保证密文的安全性和解密的正确性。一方面,较大的加密参数会产生非常大的密文,增加计算和存储密文的成本;另一方面,较小的加密参数可能导致达不到期望的安全级别,甚至无法解密。最优的加密参数应在保证密态计算的安全性和正确性的同时,最小化加密程序的内存占用和执行时间。
第二,选择合适的数据编码方案是一个难题。机器学习算法主要涉及矩阵和向量运算,为充分利用同态加密的批量编码特性提升计算效率,可将一个矩阵编码在若干个密文中,并配合相应的算法实现对密文的高效计算,这需要熟悉加密方案的专家设计合理的数据编码方案。如何针对不同的机器学习应用设计合理的数据编码方案是一个难题。
近年来,同态加密编译器的研究试图解决以上问题。EVA(Encrypted Vector Arithmetic)编译器是一种领域特定语言的编译器,其基于CKKS方案,配合其前端 PyEVA 可以方便地编写同态加密应用程序。然而,EVA 编译器在实际中应用仍然存在两个问题需要解决。首先,EVA作为一种向量算术编译器,其计算逻辑建立在向量表达式之上,需要手动将输入数据分解为多个向量并提前指定EVA编译器输入向量的大小,程序性能非常依赖于手工调优。其次,当前以数据为中心的机器学习算法的数学本质是矩阵运算,但EVA尚未提供矩阵层次的抽象,不足以应对矩阵运算带来的挑战。
从系统设计的角度来看,EVA编译器的不足之处在于缺少从向量算术到矩阵算术的抽象层,需要用户手动将矩阵算术映射为向量算术。本文设计的同态加密转换器研究可以填补这一抽象层的空白,其可以将用高级语言Python编写的代码转换为能够处理加密输入的等效代码。本文充分利用了机器学习算法的批量计算和同态加密方案的批量编码特性,首次提出了对用户透明的同态加密转换器,实现了矩阵计算逻辑与底层密文计算的完全分离。使用转换器实现安全高效的隐私保护机器学习算法时,不需要考虑矩阵数据的编码和计算细节。
本文详细内容请下载:https://www.chinaaet.com/resource/share/2000005417
作者信息:
钟志威
(中国科学技术大学计算机科学与技术学院,安徽合肥230027)