大家好,欢迎来到IT知识分享网。
文 / 中国银联 邹奋 袁航 周雍恺 高鹏飞 何朔
数据成为新生产要素背景下,安全问题至关重要,重视数据安全成为世界趋势。金融数据作为“关键信息基础设施”中的“国家关键数据资源”,守住安全的底线,不仅十分必要,而且迫在眉睫。
国家“十四五”规划中明确提出了要着力强化数字经济安全体系,提升数据安全保障水平,并进一步要求研究推进数据安全标准体系建设,规范数据全生命周期管理。2021年人民银行发布《金融数据安全数据生命周期安全规范》,明确了金融数据生命周期的安全框架,要求金融机构构建涵盖数据采集、传输、存储、使用、销毁全生命周期的数据安全治理体系。在整个数据生命周期中,数据存储安全是数据安全的底线保障。在数据存储阶段面临着较大挑战,一方面数据由动态变为了静态,攻击者目标更明确且攻击技术难度较小;另一方面数据从分散汇集为集中,一旦被攻破,危害性大,影响范围更广。
前期人民银行提出了对敏感数据加密存储的要求,明确了重要系统需基于商用密码算法实施重要数据保护的要求。2023年人民银行在《中国人民银行业务领域数据安全管理办法(征求意见稿)》中,进一步明确了对数据存储保护的技术措施,并鼓励结合新技术研究更“细粒度加密方式”的数据安全存储创新方案。
当前没有比较合适的解决方案能够兼顾安全和改造成本,在此背景下,本文基于机密计算技术开展了金融数据安全存储的研究工作。借助机密计算基于硬件的安全能力,制定了机密计算安全存储方案,将重要数据、密钥及加解密计算放置在机密计算安全可信的运行环境中。同时,进一步开展了应用探索,为应用系统提供统一的安全存储基础服务组件,有效保障金融敏感数据在计算状态和存储状态下的安全。
现有存储加密方案
当前业界进行存储加密的方案主要有两种:一是在应用层面实现数据加密,二是在数据落盘时进行磁盘加密。两种方案都能实现数据加密存储的效果,但在实际应用中仍存在一些问题。
对于应用层加密方案,改造工作量大一直是影响其使用的首要问题,不论是结合加密机的硬加密方案,还是直接使用软件加密包的软加密方案,均需要对应用进行代码级的改造。其次,硬加密方案的安全性保障依赖硬件加密机,在进行大规模数据存储加密的情况下,增加硬件加密机会引起成本的大幅增加;而软加密方案的密钥明文暴露在内存中,密钥安全性存在一定的不足。
对于磁盘加密方案,最主要的问题是安全防护力度问题,该方案防护粒度较粗,仅能防物理拔盘攻击,一旦内部环境被侵入后,恶意人员从应用或系统层面读取数据仍是明文形态的展现,防护能力仍存在较大不足。
针对上述问题,本文创新性地结合机密计算技术,制定了机密计算安全存储方案,为应用系统提供了一种轻量化、高安全的解决方案。
机密计算技术简介
机密计算是一种在受信任的硬件基础上构建加密、隔离、可验证的计算环境,保证环境内数据和运算过程安全的一种计算模式。机密计算主要目标是对使用中的数据进行保护,借助的是具有通用计算能力的可编程硬件可信执行环境。
当前各大芯片厂商均相继推出了机密计算解决方案,主流的方案主要有Intel SGX、AMD SEV、海光CSV、Intel TDX、ARM TrustZone等,国内外一些大型厂商均在布局和探索机密计算技术及应用。
本文基于海光CSV机密计算技术路线,CSV是一种安全虚拟化技术,支持在物理节点上创建多个加密虚拟机,技术框架有以下几个特点。
(1)资源隔离。CPU内部使用ASID(Address Space ID)来区分主机和不同的CSV虚拟机,每个加密虚拟机使用独立的Cache、TLB等CPU资源,实现加密虚拟机、主机之间的资源隔离。在SOC内部,ASID标签与数据保存在一起,以防止数据被其它虚拟机或主机访问。
(2)内存加密。CSV具备安全内存加密能力,通过片内控制器中专用的高性能SM4加解密引擎来执行,加解密引擎使用的密钥通过集成在芯片中的安全处理器管理。数据写入内存时自动加密,从内存读取数据时自动解密,同时密钥也通过ASID与CSV虚拟机一一对应。未经授权的实体,即使是主机操作系统、Hypervisor等也无法查看机密虚拟机中的数据,有效保护CSV虚拟机中数据的机密性。
(3)启动可度量。CSV虚拟机在启动的时候会对加载的文件进行动态度量,确保启动的CSV虚拟机符合预期,防止未经授权的实体篡改,保证CSV虚拟机数据的完整性。
CSV机密虚拟机进一步与kata容器相结合,能够在机密虚拟机中运行容器,实现一种机密容器,容器运行时,所有使用中的数据均受到保护。尤其是在云计算场景,机密计算可以保证租户的工作负载(数据、代码等)对云服务商不透明,租户保留对其工作负载的完全控制权,不受信任的实体(主机、管理员、云服务商软件栈等)无法访问租户的数据,可有效防范云内部恶意人员入侵,有利于建立租户的技术信任。
机密计算安全存储服务方案
1.技术框架
本文基于数据安全相关要求,创新性地结合机密计算技术、代理网关等技术,制定了机密计算安全存储服务方案,在应用与数据库或文件系统之间增加前置加密模块(前置加密模块部署在机密计算环境),拦截、解析数据并匹配加密策略后,对敏感数据进行加密。机密计算安全存储服务技术框架主要包括前置加密模块和管理平台两大模块。
(1)前置加密模块。加密代理:加解密模块的前置代理,负责拦截、解析协议数据包,匹配应用预先设置好的加密策略,并对需要处理的数据进行转发。加解密模块:负责对加密代理传输的敏感数据进行基于国密算法的加密或解密处理。
(2)管理平台。策略管理:负责加解密策略的设置与管理,应用可根据数据加密需求定制化加密策略,可实现字段级细粒度数据加密。密钥管理:负责密钥生成、存储、下发、更新等功能。
2.主要功能点
为满足应用系统加密存储需求,兼容现有应用功能和使用方式,提升应用系统使用体验,机密计算安全存储服务除实现基础的加解密功能外,还提供了加密策略设置、密钥更新、模糊查询、机密容器等功能。
(1)加密策略设置。应用系统可定制化配置加解密策略,可根据自身需求配置需要加密的库、表、字段、加密算法等。本方案提供两种加密策略的配置方式。
方式一为通过管理平台界面手动配置加密策略。应用提取表结构信息上传至管理平台,在管理平台策略管理页面,选择对应的加密策略信息。
方式二为DDL语句自动拦截生成加密策略。为了灵活扩展和管理加密策略,支持通过在数据库DDL语句的字段备注中添加特定规则的标签来标记加密字段,前置加密模块可自动拦截、解析DDL语句,动态生成或更新加密策略,提供更为灵活和即时的响应能力,有效应对业务需求变化。
(2)密钥更新。支持数据密钥定期更新,并提供密钥更新批量处理工具。将密钥状态分为普通状态和过渡状态,普通状态的加密策略包含正在使用中的一个密钥信息,过渡状态下加密策略包含新旧两把密钥信息。在过渡阶段,数据写入使用最新密钥加密,数据更新、删除、查询等操作时,分别使用新旧两把密钥对数据进行处理,不影响服务正常运行。同时,过渡阶段可使用密钥更新批量处理工具对旧密文数据进行刷新,刷新完成后即可恢复普通状态。
(3)模糊查询。本方案数据在进入数据库时已经完成加密,实现了一种密态数据库效果,但是也能支持一些预设定的常用模糊查询操作,应用系统可定制化设置加密算法,通过加密算法明确加密规则,加密时将根据设置的加密规则对数据进行拆分,分别做加密处理,最后将各部分密文合成一个字段。
(4)机密容器。将CSV机密虚拟机和Kata容器技术结合实现机密容器方案,容器整体受到机密计算环境保护,应用在该机密容器中运行时,所有运算数据都会受到保护,其他应用程序或者容器无法解密机密容器内存中的加密数据。此外,机密容器兼容普通容器接口,能够和当前容器管理引擎无缝对接,在使用方式上与普通容器无差异,具有较强的通用性。
3.关键技术点
(1)机密计算环境保障数据和密钥安全。借助机密计算基于硬件芯片的安全能力,构建一个安全可信的计算环境,将敏感数据、加解密算法实现、密钥以及整个加解密的计算过程均放在机密计算环境中,大幅提升敏感数据在加解密计算和存储整体流程中的安全性,最大程度降低数据泄露风险。
(2)代理网关加密架构设计,实现应用无感接入。采用代理网关加密形式,将应用业务流程与加解密计算解耦,不改变应用原有业务逻辑和使用方式,应用无需进行代码级改造即可实现字段级敏感数据加密,大大降低应用的改造难度和成本。
机密计算安全存储服务应用实践
1.试点应用效果
基于上述方案,完成机密计算安全存储服务能力构建,并进一步开展了试点应用,对服务的功能、性能、易用性、扩展性等进行了充分验证。数据库加密前后对比(见图),试点情况表明,机密计算安全存储服务能够兼容现有应用使用方式,应用无需任何代码级改造,无需关注加解密过程。应用配置好加密策略后,只需将数据库客户端配置文件的连接地址修改为指向前置加密模块,即可实现细粒度字段级的敏感数据实时加密存储,大大降低了应用的开发改造难度和成本。同时,对应用系统来说,前置加密模块是无状态的,可实现动态扩缩容,具有良好的扩展性。
2.性能分析
机密计算大大提升了服务的安全性,但安全性的提升必定会牺牲一些性能,为了分析机密计算安全存储服务的整体性能以及机密计算环境对服务性能带来的影响,分别在普通环境和机密计算环境下对服务的性能进行了测试。
(1)测试方法。使用国密SM4算法对一个18字段表进行加密,分别设置加密1、2、3、4个字段;前置加密模块分别部署在普通环境和机密计算环境中;在客户端使用sysbench工具连接前置加密模块压测。
(2)资源配置。数据库资源配置为4C16G,前置加密模块分别配置为2C8G、4C8G、6C8G,客户端配置为2C8G。
(3)结果分析。普通环境和机密计算环境下服务整体性能如表1、表2所示。
表1 普通环境下服务整体性能
表2 机密计算环境中服务整体性能
从表2可以看出,在2C8G资源配置下,加密1个字段时,机密计算安全存储服务TPS可达2330(QPS为6990)左右,能满足大部分应用需求。随着资源配置的增加,服务性能逐渐提升,4C8G资源配置下,服务TPS达到4369,具有良好的扩展性。
为了分析机密计算环境对服务性能的影响,对普通环境与机密计算环境下服务整体性能进行了对比分析。可以看出,机密计算环境在提升安全的同时会带来一定的性能损耗,机密计算环境相对普通环境的性能损耗在20%以内。随着资源配置的增加,性能损耗逐渐降低,在2C资源配置下机密计算环境与普通环境性能损耗在15%~20%之间,4C配置下性能损耗在15%上下波动,6C配置下性能损耗缩小到3%以内。
总结及展望
在重视数据安全以及监管提出对敏感数据加密存储的背景下,本文结合机密计算技术,构建了机密计算安全存储服务,为应用系统提供了一种轻量化、安全性高的安全存储基础服务组件,有效保障金融敏感数据在计算状态和存储状态下的安全。机密计算安全存储服务实现了敏感数据的拦截、解析、加解密功能,以对应用无感的方式,达到敏感数据加密存储改造的目标,同时机密计算可信的计算环境为数据处理过程提供了安全保障。经试点应用验证,机密计算安全存储服务具备良好的可用性,能较好地满足应用需求。
金融行业的数据涉及国家安全和社会安全,金融数据防护是重中之重。同时,数据也成为了经济活动的关键生产要素。未来,在满足数据安全存储的基础上,金融机构可进一步结合机密计算、多方安全计算等新兴技术,构建数据采集、传输、计算、存储全密态链路,在保障金融数据全生命周期安全的前提下,有效激发数据潜能,助力金融数字化产业升级。
(此文刊发于《金融电子化》2024年5月上半月刊)
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/163922.html