您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[北京金融科技产业联盟]:金融业容器云密钥管理技术研究报告 - 发现报告
当前位置:首页/行业研究/报告详情/

金融业容器云密钥管理技术研究报告

金融业容器云密钥管理技术研究报告

金融业容器云 密钥管理技术研究报告 北京金融科技产业联盟2024年4月 版权声明 本报告版权属于北京金融科技产业联盟,并受法律保护。转载、编摘或利用其他方式使用本报告文字或观点的,应注明来源。违反上述声明者,将被追究相关法律责任。 编制委员会 编委会成员: 聂丽琴 编写组成员: 沈震宇吴猛廖敏飞吴孟晴解敏黄威琪金艳焦靖伟蒋闻天温玉冰 编审: 黄本涛周豫齐 参编单位: 北京金融科技产业联盟秘书处中国工商银行股份有限公司中国建设银行股份有限公司平安银行股份有限公司 北京信安世纪科技股份有限公司建信金融科技有限责任公司 浪潮电子信息产业股份有限公司 摘要 随着容器云的快速发展,Kubernetes已经成为云原生应用的事实标准,并得到了广泛应用。容器云内遍布大量敏感数据使得数据安全性成为关键关注点。本文针对镜像安全交付和密钥使用等问题,提出了两个创新方案以应对这些挑战。 首先,在镜像安全交付方面,通过测试当前已有方案,识别到容器镜像加密过程中的性能瓶颈,提出了对应的优化方案,使得解密性能有着近40%的提升。通过该优化方案,能够显著提升镜像在多接收者条件下的启动速度,提高数据安全性并改善系统性能。其次,在强化密钥使用安全性上,设计了新的密钥分发方案。当前Kubernetes中的敏感信息仅通过Base64编码后存储,尝试通过信任链延伸、复用内部安全机制等方式,解决密钥存储的安全性问题,对此开发了SecretClientPlugin测试程序,并以常见的接口访问密钥为示例进行测试。该方案有着密钥不落地、密钥随机化等优势,以达到密钥在本地的安全性和抗泄露性。 本报告深入探讨了金融行业容器云中广泛存在的密钥管理 问题,提出了创新的镜像安全交付和密钥分发方案,旨在提升重要数据的安全性,以解决镜像和密钥的分发安全问题。一方面,对现有加密镜像处理性能进行了提升;另一方面,设计了全新的密钥分发方案,保证了密钥使用的安全性和抗泄露性。以上创新方案的实施,将使得密钥管理技术在金融容器云中更加高效、灵活,并显著提升数据安全性。报告通过详细的测试验证了方案的 有效性和实用性,为强化金融行业容器云中的重要数据防护提供了实证基础与参考。 关键词:容器云、镜像加密、密钥管理、数据安全、云计算 目录 一、引言1 二、研究背景及目标3 (一)研究背景3 (二)研究目标4 三、国内外研究现状7 (一)镜像加密技术7 (二)KubernetesSecret8 四、痛点及创新方向11 (一)加速镜像分发解密11 (二)设计Secret替代方案12 五、创新方案及关键点15 (一)优化镜像解密速度15 (二)设计新的密钥使用方案20 六、测试及应用成果26 (一)加密镜像分发26 (二)数据层密钥分发27 七、总结展望28 附录:测试方案30 参考文献45 一、引言 多项政策法规颁布促进信息安全防护。“十四五”期间,国家将大力发展科技创新,其必要性在一定程度上高于经济建设。 国产密码作为科技创新和自主创新的核心,在建设数字化世界时应立足于信息安全人才建设,创新领域的信息保护和国产化信息建设。在金融业,应当发挥市场机制作用,激励企业和个人竞争、完善高效的金融市场、建立更加高效的银企关系、激活劳动力市场,以满足和适应我国自身追赶、崛起和应对经济全球化竞争的需要。随着密码技术的飞速发展,金融和重要领域密码应用的深入推进和国际化拓展,以及新技术新应用新业态的不断涌现,商用密码迎来了大有可为的发展机遇期[1]。 美国自1996年以来,颁布了《2001年关键基础设施保护法》 《2002年关键基础设施信息法》《加强联邦网络和关键基础设施安全》等十余部立法、总统令和计划,大力推进联邦信息技术基础设施现代化,改善关键基础设施的网络安全态势和能力。欧盟在最新的《欧盟安全联盟战略》中将增强关键信息基础设施的保护水平和恢复能力作为未来五年网络安全领域的核心工作[2]。 2021年7月30日,《关键信息基础设施安全保护条例》(以下简称《条例》)正式公布,标志着我国网络安全保护进入了以关键信息基础设施安全保护为重点的新阶段[3]。作为网络安全法的重要配套立法,《条例》积极应对国内外网络安全保护的主要问题和发展趋势,为下一步加强关键信息基础设施安全保护工作 提供了重要法治保障。随着相关法律和规范的发布实施,以《中华人民共和国网络安全法》和《条例》为基础,组建了一个较为完善的关键信息基础设施保护的法律体系。 金融、电力、能源、通信、交通等领域的关键信息基础设施都是我们经济社会运行的神经中枢。国家工业信息安全发展研究中心数据显示,2020年,人工智能研判的工业信息安全重大风险近800条,涉及制造业、交通、市政等多个行业,高危漏洞占比居高不下。关基是重要行业和领域关键业务的承载和支撑基础,他的破坏一定会通过关联行业和领域逐层传递,对整个经济和社会运行,还有国家安全本身,就是连锁、连片的影响。 《条例》第五十条明确了关键信息基础设施中的密码使用和 管理,应当遵守相关法律、行政法规的规定。使用密码技术能够抵御外部黑客攻击,防止内部人员窃取。当下的数据泄露事件频发,面对新安全挑战与新合规要求,企业安全防护体系正在从“以网络为中心的安全”,升级到“侧重以数据为中心的安全”。通过密码技术能够实现对核心数据的机密性和完整性保护,将明文变为密文,配合健壮的密钥管理体系,可以防止明文存储引起的数据泄密、突破边界防护的外部黑客攻击以及来自内部越权用户的数据窃取,从而在根本上解决敏感数据泄漏带来的业务风险问题。商用密码产业的发展依托信息安全产业为基础,并长期存在依存关系,安全的迫切性和重要性为商用密码行业和企业的发展带来广阔空间。 二、研究背景及目标 (一)研究背景 密码技术支撑软件供应链安全。现代软件开发框架和方法 侧重于软件交付的速度和可靠性,以及在软件利益相关方之间共享所有权。然而,随着软件供应链的广泛覆盖面和复杂性的增加,软件供应链安全问题日益受到关注。软件供应链由所有有助于开发和交付软件的代码、人员、系统和进程组成,包括在组织内部和外部。由于软件供应链攻击的不断增加,评估并解决软件供应链的安全性已成为软件开发和交付过程中的重要问题。 密码技术与软件供应链安全相结合,以进一步提高软件的 安全性和保密性。例如在软件构建流水线上,通过使用加密技术,可以对软件进行加密处理,只有持有相应密钥的工作负载才能够解密和访问软件,从而防止软件的未授权访问和使用。使用签名技术,对软件进行代码签名、镜像签名等,以保证软件的不可篡改。 云计算环境中海量数据互访,需关注密钥使用安全。随着 云计算技术的普及和应用,当前各种关键操作都有着密钥的参与,例如API访问、HTTPS访问等,用以保障访问安全和数据信任。然而,因为云计算环境的特殊性质,例如分布式、虚拟化、多租户、多层次等,使得密钥的保护和管理变得更加复杂和困难[4]。因此,云计算环境中密钥的使用安全性问题也越来越受 到关注。 在云计算环境中,密钥被广泛用于数据加解密、签名验签、认证等关键操作。而这些操作又是保证云计算安全性的基础。但是,密钥使用的安全性往往存在着风险。例如,密钥可能被泄露或盗用,从而导致数据被窃取或篡改。此外,云计算环境中密钥的管理和维护困难,也是导致密钥使用安全风险的一个重要原因。 总之,云计算环境中密钥使用的安全问题已经成为亟待解决的问题。我们需要深入研究云计算环境中密钥使用的安全问题,探索更加有效和可靠的解决方案。 (二)研究目标 微软在2020年发布了Kubernetes威胁矩阵[5],如图1所示。其中概述了Kubernetes中的安全威胁和攻击方式,以及建议的防御措施,并于2021年对其进行了更新。重点放在Secret、ServiceAccount及镜像保护等方面的安全问题上。 图1Kubernetes威胁矩阵 1.镜像制品机密性防护 矩阵中提到在使用容器镜像时存在一定的安全风险,例如镜像中包含有漏洞或者恶意软件。建议使用可信的镜像仓库并定期升级容器镜像,同时加强容器镜像的审查等。 现在对容器的攻击出现了新的方式,会对云原生应用的部署速度有很大的影响。相关IT企业在做数字化转型时,都渴望将微服务应用程序迁移到云原生上。但是,当越来越多的核心应用完成云化改造,就导致容器安全问题更加重要,解决起来就会更加棘手。 在软件开发中,广泛采用DevOps以加快软件交付速度并提高交付质量。从代码到容器镜像的过程中,镜像制品的构建和交付是至关重要的一步,因为他们是软件的基础组件。因此,构建和 交付过程中的安全问题必须得到重视,以避免遭受恶意攻击和数据泄露等风险[6]。 在镜像的安全防护上,前期通过静态检查工具对代码进行审查,后期通过扫描任意状态容器、宿主主机等方式来确认是否包含漏洞。但容器的更新速度通常要比单体应用高出几个数量级。每一个容器和他们运行的平台在每次更新时都需要进行扫描。 镜像本身就是一个完整的可运行系统,且为明文状态。无论是DevOps或是传统构建下,针对产品都可以采用代码混淆、加密压缩等方法来防止代码资产泄露。在公开报道中,Docker官方镜像库DockerHub在2019年曾被攻击,泄露了超19万用户信息[7]。通过泄露的用户信息可以很容易地访问用户的私有镜像仓库,从而获取相应的明文镜像制品,使用户数字资产受损。 2.集群密钥安全性提升 攻击者可能通过各种方式获取Secret中存储的密钥或其他敏感数据,例如使用钓鱼攻击、漏洞利用或者暴力破解等方法。建议采用加密方式保护Secret,并对Secret进行适当的权限管理。 提升API访问密钥的安全性。ServiceAccount是Kubernetes中用于管理Pod访问API的一种机制,但攻击者也可以利用ServiceAccount的漏洞或者弱密码进行攻击,从而获取Pod的权限。 此外,微软还提到了其他安全威胁和攻击方式,例如容器逃逸、节点的攻击等,建议采取多层防御措施,包括加强节点安全、 加强网络隔离、使用安全容器镜像等。 通过本课题的研究,从两方面尝试解决以上问题。一方面,提升镜像制品的安全性并对性能进行优化。另一方面,提出一种新的保护API访问密钥的措施。 三、国内外研究现状 (一)镜像加密技术 镜像加密技术是一种新兴的数据安全技术,由IBM研究院主导[8]。该技术的主要目的是在容器镜像的构建、传输和运行过程中,保护敏感数据的安全性,防止数据泄漏和窃取。 IBM研究院遵循OCI(OpenContainerInitiative)规范,设计、开发并维护了ocicrypt[9]、imgcrypt[10]等项目,为OCI镜像提供加密和解密功能。推动开源生态像containerd、podman、Docker、CRI等对该规范的支持工作。 实现上,ocicrypt通过在OCI镜像的Manifest文件中添加加密信息,并对Layer进行对称加密。在使用ocicrypt加密OCI镜像时,用户需要提供一个用于镜像加密操作的公钥。ocicrypt会修改镜像的Manifest文件,并添加加密信息。在部署镜像时,只有具有私钥的用户才能解密镜像中的数据。 标准的镜像加密流程如图2所示,Bob生成一个对称密钥用于对镜像的Layer进行加密,使用Alice的公钥加密对称密钥,完成对称密钥的数字信封。加密镜像整体结构符合OCI规范,当前常用的镜像制品库都支持OCI镜像的存储和分发。当然,也可以导 出为加密的Tar文件进行离线分发。 图2镜像加密操作流程 经前期对ocicrypt项目的深入研究,本文提供了基于硬件的PKCS11的支持方案,使得密钥可以存储在安全硬件中,推动了商用进程。当前镜像加密技术已经完全支持PKCS11接口,并在IBMCloud中商用。 (二)KubernetesSecret KubernetesSecret是存储敏感数据(如凭据、密码和令牌等)的对象。类似于ConfigMap,但其专门用于保存