全同态加密(FHE)在加密数据上提供量子安全的计算,保证明文数据及其衍生的计算结果永远不会暴露,并且即使基础设施受到破坏,也能保持安全,免受修改和/或泄露。大多数 FHE 方案都基于格密码学,据信能够抵御量子计算的破解9,并被认为是后量子密码学(PQC)。新的硬件加速器架构是研究和开发的活跃领域1,3,学术研究也在不断开发新的、更高效的实现方案,使得 FHE 对数据处理的全面影响即将实现。随着商业化 FHE 的到来
• 数据,包括其不受限制的计算衍生数据,在其整个生命周期中始终保持加密状态,无论是在静态存储还是传输过程中,并且仅在安全、可信的环境中解密为明文。
• 通过人工智能(AI)、大数据和分析可以从数据中提取有价值的见解——即使来自多个不同来源——所有这些都无需暴露数据、秘密解密密钥,或者在需要时,无需暴露底层评估代码。
当今 IT 基础设施中常见的基于边界的安全技术,由数千个集成的、不断变化的硬件和软件组件构建而成。它们主要依赖于加密技术,而这些技术又依赖于现有硬件难以找到离散对数和/或分解大整数的难度。这引出了一些关于当今数据安全状态的令人不安的结论
• 由于组件的数量和不断变化的性质,基础设施漏洞点将始终存在,无论付出多少努力,这都是统计学上的必然。唯一未知的是它们是否已被识别和利用。由于使用这种方法无法实现可证明的数据安全,因此保护数据已成为一个日益复杂且容易发生漏洞的过程。此外,数据处理正处于监管日益严格的环境中,数据泄露会带来重大后果和成本7。
• 广泛使用的加密技术依赖于在标准硬件上找到离散对数和/或分解大整数的难度。量子计算算法可以轻松解决这些问题11。随着商业量子计算市场以 36.5% 的复合年增长率增长,预计到 2028 年将达到 19.876 亿美元8,这些加密技术正迅速过时,需要新的 PQC。
我们需要的是一种安全机制,它
• 假定 IT 基础设施已经遭到破坏,因此不依赖于强大的边界防御来保护数据。
• 使用不被认为容易受到量子计算攻击的 PQC 加密技术。
FHE 满足这两个要求。
1978 年,Ronald L. Rivest、Len Adelman 和 Michael L. Dertouzos 首次认识到直接在加密数据上进行计算的想法10。他们观察到,在 RSA(Rivest-Shamir-Adleman)加密下,两个加密数字可以相乘,结果等同于使用相同密钥加密的明文乘积。他们将这些属性称为隐私同态,认识到加密方案可以具有某些属性,即对明文数据进行一组运算的结果等于对其加密形式执行相同运算然后再解密的结果。RSA 加密表现出乘法同态性。
他们认识到
• 借助同态加密(HE),即在加密数据上进行计算的能力,数据访问可以与数据处理分离,允许在加密数据上进行计算,而无需秘密解密密钥。
• 用户可以获取一条数据,对其进行同态加密,在查询中使用该加密数据(查询本身可以加密或不加密)到数据库,并获得以相同方式加密的结果。
• 在此计算过程中,原始查询数据、秘密解密密钥、查询结果,以及(如果加密)查询本身,都从未暴露。
2009 年,30 多年后,Craig Gentry 提出了第一个看似安全的 FHE 方案4。算法被定义为逻辑门电路,并且在加密数据上进行不受限制的计算,结果以相同方式加密。它非常慢,在标准 x86 硬件上完成单个逻辑门运算大约需要 30 分钟5。持续的研究已经产生了四代不同的 FHE,并在标准硬件平台上实现了显著的速度提升。
如今,传统观点认为,至少还需要 100 万倍的性能加速才能使 FHE 以商业上可行的速度运行。目前,Cornami 是唯一一家宣布即将推出能够满足并超越该性能水平的商业芯片公司3。
FHE 提供非对称公钥加密(PKE)支持的所有功能。正如今天所使用的那样,PKE 基于查找离散对数或分解大整数,并具有五个属性
• 密钥生成: (sk, pk) ← K(λ)
,其中密钥生成函数 K
以随机种子数 λ
为参数,生成一个密钥对,包括秘密密钥 sk
和公钥 pk
。
• 加密: c ← E(pk, m)
,其中加密函数 E
以 pk
和明文消息 m
为参数,生成加密消息密文 c
。
• 解密: m ← D(sk, c)
,其中解密函数 D
以 sk
和 c
为参数,生成 m
。
• 正确性: 对于所有密钥对、消息和加密随机数,m = D(sk, E(pk, m))
。
• 语义安全性: ∀m ∈ {0, 1}
— 对于所有单比特消息 m
,属于集合 0 和 1,E(pk, 0)
和 E(pk, 1)
必须在计算上无法区分,并且必须是概率性的(例如,对于每个明文消息 m
,应该有许多加密消息 c
)。
为了在 HE 中使用,必须添加另外两个属性
• 评估: 除了 K、E
和 D
函数之外,还添加了用于评估的 V
函数。
• 正确性: D(sk, V(pk, f, c1, ... cn)) = f(m1, ... , mn)
,其中解密函数 D
以 sk
和评估函数 V
为参数,评估函数 V
的参数为 pk
;函数 f
,其中 f ∈ F
(一组或一系列有效可计算的函数,它们具有所需的同态性质);以及密文 c1, ... , cn
等于应用于参数 m1, ... , mn
的函数 f
。对于乘法,这将是 D(sk, HE-MULTIPLY(pk, MULTIPLY, E(pk, m1), E(pk, m2))) = MULTIPLY(m1, m2)
。
为了实现不受限制的同态计算,或 FHE,您必须选择 F
作为一组对于所有计算都是完备的函数(例如,图灵完备)。实现此目标的两个必要函数是比特加法
(等同于布尔异或
)和比特乘法
(等同于布尔与
),因为集合 {XOR, AND}
是图灵完备的。任何可计算函数都可以通过 XOR
和 AND
门的组合来创建。如果对加密比特同态计算 SUM
和 PRODUCT
,那么就可以计算任何加密比特上的函数。
虽然比特 XOR/加法
和比特 AND/乘法
对于同态计算系统实现图灵完备性是必要的,但算法不必直接以这些低级术语定义。当前的 FHE 模型在布尔电路、整数算术或实/复数算术中定义计算。
在他们 1978 年的论文中,Rivest、Adelman 和 Dertouzos 提出,秘密密钥 sk
(他们使用了变量 p
)通过创建 p
的随机倍数(例如 qip
)隐藏在公钥 pk
中,其中 qi
是每个加密都不同的秘密因子。使用公钥加密单比特 b
是将 p
的随机倍数添加到 b
。然后解密为 m = c modulo p modulo 2
。遗憾的是,这种方法破坏了语义安全性,因为明文比特 0 的加密只是 p
的倍数:
1. c = qip + b modulo 2
2. = qip + 0 modulo 2
3. p = GCD(<0 的加密>)
2010 年,Martin van Dijk、Craig Gentry、Shai Halevi 和 Vinod Vaikuntanathan12 (DGHV) 确定,在 pqi
公钥中添加噪声可以阻止 GCD(最大公约数)秘密密钥的发现,并且目前可以阻止任何其他秘密密钥发现方法。要添加的噪声量由近似 GCD 假设确定:如果您从集合 {xi = qip + 2ri : ri << p : p << qi}
中采样多个整数,其中 (1) ri
是少量噪声,并且对于每次加密都不同,并且 (2) 每个 xi
都非常接近 p
的倍数,但不是 p
的精确倍数,那么整数集 xi
与相同大小的随机整数无法区分。
HE 将明文比特加密为多项式。
1. 选择一个大的奇数 p
作为秘密密钥。
2. 对于每次加密,选择一个随机的、大的 p
的倍数,例如 qip
。
3. 然后对于每次加密,将比特 b
和 qip
与由随机小数 ri
加倍到 2ri
定义的噪声
表达式求和。这将生成密文 c = qip + 2ri + b
,其中 qip + 2ri
是公钥。
b = c modulo p modulo 2
删除噪声
。
= qip + 2ri + b modulo p modulo 2
c1 = q1p + 2r1 + b1
c2 = q2p + 2r2 + b2
c1 + c2 = p(q1 + q2) + 2(r1 + r2) + (b1 + b2)
| |
噪声
c1 = q1p + 2r1 + b1
c2 = q2p + 2r2 + b2
c1c2 = p(q1q2 + q1b2 + q2b1) + r1(2pq2 + b2) + r2(2pq1 + b1) + r1r2 + b1b2
| |
噪声
• 加法:2(r1 + r2) 噪声 = 2 x <初始噪声>
• 乘法:r1(2pq2 + b2) + r2(2pq1 + b1) + r1r2 噪声 = <初始噪声>2
如果 |噪声|
超过 p/2
,则无法保证解密。由于加法噪声
呈线性增长,而乘法呈指数增长,如果没有机制来重置噪声
增长,这种方法将允许进行许多加法和一些乘法,然后达到 p/2
限制。在 p/2 噪声
限制内工作是 SHE(“半同态加密”)的定义,并且对于许多有价值的、有界的使用案例(例如数据库查询和垃圾邮件过滤)可能有效。SHE 没有在加密值计算期间重置噪声
增长的机制,不支持对加密数据进行不受限制的计算,因此不是 FHE。
在 Gentry 2009 年的论文之前,在 HE 计算期间累积的 噪声
严重限制了 HE 的使用案例。基本上有两种选择来解决更大的同态计算线程。
通过增加秘密密钥 sk
的大小来增加 噪声
限制。这将增加在达到 sk/2
限制之前可以完成的计算量。
1. 在不受信任、不安全的站点上冻结同态计算线程。
2. 将加密的中间值 cn
传输回安全、可信的站点。
3. 使用秘密密钥 sk
将 cn
解密为明文 mn
。
4. 使用公钥 pk
将 mn
重新加密回 cn
,将 噪声
降低到标称状态。
5. 将 cn
传输回不受信任、不安全的站点。
6. 使用新的重新加密且噪声较低的 cn
重新启动同态计算线程。
显然,选项 2 不切实际。Gentry 开发了一种机制来重置加密结果中的 噪声
,以便计算线程可以无限期地继续进行。在他的方法中,他使用了基于格密码学的加密技术,该技术被认为可以抵抗经典计算机和量子计算机方法的攻击。
Gentry 有效地实现了选项 2,通过应用递归的、嵌入式的同态解密,允许重置加密值 cn
的噪声,而无需将其或秘密密钥暴露给潜在的泄露,也无需将其物理传输到安全、可信的站点进行解密和重新加密。通过这种方式,Gentry 表明可以在加密数据或 FHE 上进行不受限制的计算是可能的。Gentry 的方法遵循以下步骤(如图 1 所示)
1. 使用公钥 pk
加密明文消息 m
,生成密文 c1
。
2. 对 c1
执行一些 HE 计算,生成 cn
,使得 cn
接近但不超过噪声限制 sk/2
。
3. 使用公钥 pk
加密秘密密钥 sk
,创建加密的秘密密钥 ck
。
4. 使用公钥 pk
加密 cn
,得到新的双重加密 ccn
。
5. 使用加密的秘密密钥 ck
对 ccn
进行 HE 解密,生成具有重置噪声水平的 cn
。
6. 使用 cn
继续计算。
Gentry 实现的是使用同态计算和加密的秘密密钥 sk
以及公钥 pk
来解密和重新加密加密值 c
。Gentry 将他的 噪声
重置过程称为自举。虽然它表明可以在加密数据上进行不受限制的计算,但两个重要的限制阻碍了其在编程应用中的使用:(1)自举算法所需的计算远远超过了可用硬件平台的性能;(2)它缺乏条件的有效实现,条件使程序能够进行比较和选择/跳转操作。
自 2009 年以来,研究人员在原始 Gentry 方案的基础上发展了显著的性能和功能改进:提高整体同态计算性能;提高自举性能;减少固定量同态计算所需的自举次数;在不进行自举的情况下最大限度地减少同态计算期间的噪声增长;以及改进基于已知的、量子计算无法解决的格密码学中高难度问题的密码学模型。
以下是一些更值得注意的进展
• LWE(带错误的学习)和 RLWE(环带错误的学习)。 等同于解决格密码学中的 CVP(最近向量问题),并且基于无法确定线性方程组(LWE)或有限域上的多项式环(RLWE)采样中系数(代表秘密密钥)的能力,其中每个方程都有一个小的、随机的加性误差。
• 分级。 允许在需要自举之前评估预定深度的逻辑门电路。
• 线性化。 通过减少密码文本长度(由同态乘法产生),同时保持底层消息的正确性,来降低同态计算成本和存储负担的计算密集型方法。
• 模切换。 在不使用秘密密钥的情况下降低噪声,同时通过将密文 c modulo q
除以噪声因子 |r|
来生成新的、低噪声的等效密文 c' = c/r modulo q/r
,从而保持密文 c
的完整性。
FHE 的历史如图 2 所示13。
Gentry 最初的基于理想格的 FHE 方案支持密文上的加法和乘法,允许逻辑电路执行不受限制的计算(例如,图灵完备)。它非常慢。然后,DGHV 用一个简单的基于整数的方案取代了 Gentry 方法的 SHE 部分。
BFV(Brakerski/Fan-Vercauteren)和 BGV(Brakerski-Gentry-Vaikuntantan)引入了 LWE 和 RLWE 安全模型,并引入了分级方案,允许在需要自举之前执行设定深度的逻辑门电路。
GSW(Gentry-Sahai-Waters)避免了同态乘法中使用的计算成本高昂的线性化。它的噪声增长较慢。随着 FHEW(Ducas-Micciancio — “西方最快的同态加密”)的出现,更有效的环变体得到了发展,自举的简化和优化也得到了提高。
CKKS(Cheon-Kim-Kim-Song)为加密值引入了有效的舍入运算,可以控制 HE 乘法中的噪声率增加,并减少逻辑电路中的自举次数。它还引入了 TFHE2 (环面全同态加密)中的 PBS(可编程自举)概念,减少了逻辑电路中所需的自举次数。
当前的 FHE 方案6 以三种方式之一实现计算
• 明文:比特
• 计算:任意布尔逻辑门电路
• 快速数字比较和自举
• GSW、FHEW、TFHE
• 明文:模明文模数 a
的整数(或其向量)
• 计算:模 a
的整数算术电路
• 高效的 SIMD(单指令多数据)批量计算,针对整数向量
• 快速、高精度的整数算术和标量乘法
• 可以避免自举的分级
• BGV、BFV
• 明文:实数或复数
• 计算:类似于浮点算术
• 快速多项式近似
• 相对快速的乘法逆元和离散傅里叶变换
• 深度近似计算,例如逻辑回归学习
• 高效的 SIMD 批量计算,针对实数向量
• 可以避免自举的分级
• CKKS
表 1 显示了当前的 FHE 框架和支持的方案,表 2 列出了 FHE 平台。
随着硬件 FHE 加速器的出现,理解商业级 FHE 将会带来的一些用例非常重要。以下是潜在应用领域的部分列表
• 在数据的整个生命周期中保护数据免受泄露/修改。在加密数据上进行隐私保护计算,保证数据及其衍生的计算结果在基础设施受到破坏的情况下,仍然安全,免受修改和/或泄露。对于静态和整个计算生命周期中的数据,可证明的安全性将加速向不受信任的平台迁移,以进行机密数据的计算服务,从而消除私有数据中心使用的大部分理由。
• 保护数据免受量子计算攻击。FHE 中使用的基于格的 PQC 不被认为容易受到量子计算攻击,而当今使用的行业标准数字分解和基于离散对数的加密则容易受到攻击。随着许多量子计算机产品的发布或计划发布,PQC 时代已经开始。
• 保护应用程序服务数据、结果和分析模型免于泄露。使用 FHE 安全的用户加密数据输入、服务结果和分析模型信息(例如神经网络权重)执行大数据、AI 和/或分析服务。
• 分析来自多个组织的机密汇总数据。来自多个组织的不同机密数据集被汇总和分析,而不会泄露底层数据。示例包括 (1) 对全行业趋势的大数据、AI 或分析见解;(2) 用于评估并购的资产负债表汇总;(3) 结合来自不同供应商的数据以促进药物临床试验;以及 (4) 应用于潜在合作伙伴关系数据的分析,以确定潜在的商业价值。
• 安全且机密地将规则与网络流量进行匹配。通过高级 NTA(网络流量分析)随时间学习到的网络恶意行为者的行为模式、方法和技术,被定义为规则,并使用 FHE 加密。这些加密规则使用 FHE 计算应用于不受信任环境中的网络流量,识别和监控威胁行为者的存在,而不会泄露威胁签名或匹配流量。这在 WAN/LAN 计算机网络安全和 AML(反洗钱)中都很有用。
• PSI(私有集合交集):在更大的数据库中进行安全且机密的数据交集检查。这是查询特定数据是否存在于更大的数据存储中的能力,而不会泄露有关查询内容或数据存储的信息。
• FHE 增强的区块链。使用 FHE 和 ZKP(零知识证明)启用记录在区块链上的私有交易,可以证明交易发生,而无需泄露数据细节。
• 保证传感器/控制器/执行器实时控制链中的数据安全性和完整性。通过在源头加密传感器数据,并在整个实时控制链中支持加密计算,可以保护数据免受泄露和修改。
• 机密数据资源的货币化。可以通过许可 FHE 加密的专有/机密数据集,供不受信任的机器学习/大数据/分析应用程序在不受信任的平台上使用,从而产生收入流。
商业化 FHE 近在咫尺,它常被称为密码学的圣杯。强大的力量正在结合起来推动 FHE 走向商业现实。这些力量包括以下几点
• IT 基础设施的可证明安全模型将成为不可避免的要求。
• 监管要求的提高和量子计算机的广泛可用性将使 PQC 成为政府和行业的当务之急。
• 在不泄露机密数据的情况下,从多个来源汇总机密数据,将为组织合作和提取对广泛行业趋势的新高价值见解开辟广阔的道路。
• 高价值分析服务模型将受到保护,免受泄露,即使在不受信任的平台上运行时也是如此。
• 数据完整性将在传感器-处理-执行器链中得到维护。
• 将存在新的数据许可收入模式的机会,这些模式不会使机密数据泄露的风险。
• 积极的研发将继续开发硬件 FHE 加速器。
• 持續的學術研究將加速 FHE 方案的性能。
一旦商业化 FHE 实现,数据访问将与不受限制的数据处理完全分离,并且在不受信任的平台上进行可证明的安全存储和计算将变得相对便宜且广泛可及。与数据库、云计算、PKE 和 AI 的影响类似,FHE 将在如何保护、处理和共享机密信息方面引发一场巨变,并将从根本上改变计算的基础方向。
1. Atherton, K. 2021. DARPA awards contracts for encrypted data processing. Breaking Defense; https://breakingdefense.com/2021/03/darpa-awards-contracts-for-encrypted-data-processing/.
2. Chillotti, I., Joye, M., Paillier, P. 2020. Programmable bootstrapping enables efficient homomorphic inference of deep neural networks; https://whitepaper.zama.ai/.
3. Cornami, Inc. Fully homomorphic encryption; https://cornami.com/fully-homomorphic-encryption-fhe/.
4. Gentry, C. 2009. Fully homomorphic encryption using ideal lattices. In Proceedings of the 41st Annual Symposium on Theory of Computing, 169—178; https://www.cs.cmu.edu/~odonnell/hits09/gentry-homomorphic-encryption.pdf.
5. Gentry, C., Halevi, S. 2011. Implementing Gentry's Fully-Homomorphic Encryption Scheme; IBM Research. https://eprint.iacr.org/2010/520.pdf.
6. Homomorphic Encryption Standardization Consortium. 2018. Building Applications with Homomorphic Encryption; https://homomorphicencryption.org/wp-content/uploads/2018/10/CCS-HE-Tutorial-Slides.pdf.
7. IT Governance. 2018. Data breach notification laws by state; https://www.itgovernanceusa.com/data-breach-notification-laws.
8. MarketWatch. Quantum Computing Market Size In 2022; https://www.marketwatch.com/press-release/quantum-computing-market-size-in-2022-352-cagr-analysis-of-key-trends-with-top-countries-data-top-key-manufactures-industry-dynamics-insights-and-future-growth-2028-exclusive-110-pages-report-2022-07-21.
9. Regev, O. 2006. Lattice-based cryptography. In Advances in Cryptology, ed. C. Dwork, 131—141. Lecture Notes in Computer Science 4117. Berlin, Heidelberg: Springer; https://link.springer.com/content/pdf/10.1007/11818175_8.pdf.
10. Rivest, R. L., Adleman, L., Dertouzos, M. L. 1978. On data banks and privacy homomorphism. Massachusetts Institute of Technology. Academic Press; https://people.csail.mit.edu/rivest/RivestAdlemanDertouzos-OnDataBanksAndPrivacyHomomorphisms.pdf.
11. Shor, P. W. 1994. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science. IEEE Computer Society Press, 124—134; https://klein.mit.edu/~shor/papers/algsfqc-dlf.pdf.
12. van Dijk, M., Gentry, C., Halevi, S., Vaikuntanathan, V. 2010. Fully homomorphic encryption over the integers. In Advances in Cryptology — Eurocrypt 2010, ed. H. Gilbert. Lecture Notes in Computer Science 6110. Berlin, Heidelberg: Springer; https://eprint.iacr.org/2009/616.pdf.
13. Wikipedia. Homomorphic encryption; https://en.wikipedia.org/wiki/Homomorphic_encryption.
Mache Creeger 一生致力于新兴技术的商业化,曾在 Sun、MIPS、Sony、LISP Machine Inc.、InstallShield、多家初创公司、海军研究实验室和喷气推进实验室工作,并经营着自己的咨询业务。在 Cornami 公司,他担任业务发展副总裁,专注于与 FHE(全同态加密)框架供应商合作,以实现 Cornami 硬件加速 FHE 应用程序。Creeger 创立并运营了 acmqueue 的 CTO 圆桌会议系列,担任首席协调员,曾担任 acmqueue 杂志的专栏作家,并在麻省理工学院企业论坛(VLAB)斯坦福分会担任志愿者期间,共同主持了三场关于新兴商业技术趋势(合成生物学、人类增强和自动驾驶汽车)的小组讨论。他发表了 23 篇文章,并拥有一项美国专利申请。他拥有马里兰大学的心理学和生物化学学士学位、一年的生物化学研究生学习经历以及计算机科学硕士学位。
版权 © 2022 归所有者/作者所有。出版权已授权给 。
最初发表于 Queue vol. 20, no. 4—
在 数字图书馆 中评论本文
Jinnan Guo, Peter Pietzuch, Andrew Paverd, Kapil Vaswani - 使用机密联邦学习实现值得信赖的 AI
安全性、隐私性、问责制、透明度和公平性原则是现代 AI 法规的基石。经典的 FL 在设计时非常强调安全性和隐私性,但代价是透明度和问责制。CFL 通过将 FL 与 TEE 和承诺相结合,弥补了这一差距。此外,CFL 还带来了其他理想的安全属性,例如基于代码的访问控制、模型机密性和推理期间的模型保护。诸如机密容器和机密 GPU 等机密计算的最新进展意味着,现有的 FL 框架可以无缝扩展以支持 CFL,且开销较低。
Raluca Ada Popa - 机密计算还是密码学计算?
通过 MPC/同态加密与硬件飞地进行安全计算,在部署、安全性和性能方面存在权衡。关于性能,您心中所想的工作负载非常重要。对于简单的求和、低阶多项式或简单的机器学习任务等简单的工作负载,这两种方法都可以在实践中使用,但对于复杂的 SQL 分析或训练大型机器学习模型等丰富的计算,目前只有硬件飞地方法对于许多实际部署场景来说足够实用。
Matthew A. Johnson, Stavros Volos, Ken Gordon, Sean T. Allen, Christoph M. Wintersteiger, Sylvan Clebsch, John Starks, Manuel Costa - 机密容器组
此处介绍的实验表明,Parma(在 Azure 容器实例上驱动机密容器的架构)增加的额外性能开销不到底层 TEE 增加的开销的百分之一。重要的是,Parma 确保了容器组所有可达状态的安全不变量,该不变量根植于证明报告中。这允许外部第三方与容器安全地通信,从而支持各种需要机密访问安全数据的容器化工作流程。公司可以在云中运行其最机密的工作流程,而无需在其安全要求上妥协,从而获得优势。
Charles Garcia-Tobin, Mark Knight - 使用 Arm CCA 提升安全性
机密计算通过将监控系统从 TCB 中移除,从而减小 TCB 的大小、攻击面和安全架构师必须考虑的攻击向量,从而极大地提高通用计算平台的安全性。机密计算需要在平台硬件和软件方面进行创新,但这些创新有可能增强对计算的信任,尤其是在第三方拥有或控制的设备上。机密计算的早期消费者将需要自行决定他们选择信任的平台。