安全的云密码服务技术及应用

VSole2023-05-17 15:11:58

在传统模式下,企业建立一套密码服务系统不仅需要购买大量的密码设备和配套软件,还需要配备专人对密码设备和系统进行运维管理。同时,随着业务规模的不断扩大,企业还需持续增加硬件投入和运维人员。

在云计算环境下,企业用户的观念从购买软硬件产品向购买服务方向转变。企业用户希望不必购买大量的密码机设备和配套的管理软件,不必雇用更多专门的人员对密码设备和管理软件进行维护管理,只希望通过向云密码服务提供商申请实现按需分配、弹性伸缩(自动化调度)、高可用等需求的云密码服务。

为解决传统模式下密码设备使用及运维方面的问题,实现云架构下对外提供可按需分配、弹性伸缩的安全云密码服务,以及安全云密码服务的创建、发布、开通、选购、调度、使用等功能,可将密码设备集群视作密码资源池,结合 Kubernetes 云平台,使用云计算的硬件虚拟化技术,将密码设备资源虚拟成各个相互独立的虚拟密码设备,通过密码资源调度系统进行密码资源的分配、管理和统一调度,并对外提供统一的按需分配、弹性扩展的密码功能服务。可为业务系统提供平台即服务(Platform as a Service,PaaS)化云密码服务,实现云密码服务的集约利用、弹性伸缩,简化密码设备的管理和维护,有效提升密码设备利用率,为用户节省大量的运维工作量。

1

云平台及密码机

1.1 Kubernetes 云平台

Kubernetes 是 Google 公司于 2014 年创建的开源容器集群管理系统,是 Google 公司十多年大规模容器管理技术 Borg 的开源版本。它构建于 Docker 技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等一整套功能。Kubernetes 可以快速部署及扩展应用、无缝对接新的应用功能、节省资源并优化硬件资源的使用。

Kubernetes 基本架构如图 1 所示 。

图 1 Kubernetes 基本架构

Kubernetes 集群由 Master 和 Node 两个节点共同组成。在 Master 上运行 ETCD、API Server、Controller Manager 和 Scheduler 4 个组件。其中,API Server、Controller Manager 和 Scheduler 3 个组件构成了 Kubernetes 的总控中心,负责对集群中所有资源进行管控和调度。在 Node 上运行Kubelet、Kube-proxy 和 Docker,负责对节点上Pod 的全生命周期进行管理,以及实现服务代理的功能。所有节点上都可以运行 Kubectl 命令行工具。

API Server 作为集群的核心,负责集群各功能模块之间的通信。集群内的功能模块通过 API Server 将 信 息 存 入 ETCD, 其 他 模 块 通 过 API Server 读取这些信息,从而实现模块间的信息交互。Node 节点上的 Kubelet 每隔一个时间周期,通过 API Server 报告自身状态,API Server接收到信息后,将节点信息保存到 ETCD 中。Controller Manager 中 的 Node Controller 通 过 APIServer 定期读取节点状态信息,并做响应处理。当 Scheduler 监听到某个 Pod 创建的信息后,检索所有符合该 Pod 要求的节点列表,并将 Pod绑定到节点列表中最符合要求的节点上。如果Scheduler 监听到某个 Pod 被删除,则调用 APIServer 删 除 该 Pod 资 源 对 象。Kubelet 监 听 Pod信息,如果监听到 Pod 对象被删除,则删除本节点上相应的 Pod 实例,如果监听到修改 Pod 信息,则会相应修改本节点的 Pod 实例。

Kubernetes 可将多台 Docker 主机抽象为一个资源,以集群方式管理容器,包括任务调度、资源管理、弹性伸缩、滚动升级等功能。可通过编排系统(YAML File)快速构建容器集群,提供负载均衡,解决容器直接关联及通信问题,支持自动管理和修复容器。

1.2 云服务器密码机

密码机是一种以密码技术为核心,为业务系统提供安全的密钥管理和密码运算的硬件设备 。业务系统通过调用密码机提供的密码服务,实现数据的机密性、完整性、有效性和不可否认性。随着云计算技术的发展和普及,这些业务系统逐步向云上迁移,或采用云计算相关技术,实现了资源的节约利用、按需分配、弹性调度,也实现了业务系统的高可用、自动化部署 / 升级。相应的,这些业务系统也要求密码机具备节约利用、按需分配、弹性调度、高可用、自动化部署 / 升级等特性。

传统的密码机很难满足这些要求,因此密码机也需与云计算技术相结合,提供具备节约利用、按需分配、弹性调度、高可用、自动化部署 / 升级等特性的云服务器密码机。

由于 Kubernetes 具有按需分配、弹性调度、自动化等诸多方面的优点,因此本文将云服务器密码机与 Kubernetes 相结合,并围绕密码服务管理构建云密码资源池。相较于传统密码机,与 Kubernetes 相结合的云服务器密码机具有统一管理、按需分配、弹性伸缩、高可用、自动负载均衡、自动化部署 / 升级等优点。

2

云密码资源池构建

2.1 云服务器密码机接入 Kubernetes

通过在云服务器密码机中部署 KubernetesNode 节点组件(主要是 Kubelet、Kube-proxy),使 云 服 务 器 密 码 机 作 为 一 个 Node 节 点 接 入Kubernetes,然后可由 Kubernetes 调度云服务器密码机生成虚拟密码机(Virtual Security Module,VSM),VSM 可视为 Pod。云服务器密码机接入 Kubernetes 如图 2 所示。

图 2 云服务器密码机接入 Kubernetes

2.2 安全接入

云服务器密码机属于密码产品,在内部存储了密钥及其他敏感信息,Kubernetes 提供了多种配置及操作 Pod 的方法,使用这些方法可在云服务器密码机中运行恶意镜像、挂接外部存储获取敏感信息、管理人员恶意操作等,可能导致云服务器密码机内的敏感信息泄露或被破坏,因此,需对部署在云服务器密码机中的Kubernetes Node 组件进行安全性改造,以防止恶意镜像在云服务器密码机中执行、挂接外部存储导致敏感数据泄露、管理人员恶意操作等事件发生。

2.2.1 防止恶意镜像在云服务器密码机中执行

默 认 情 况 下, 在 Kubernetes 的 Node 节点中使用 Docker 作为容器的实现,Kubernetes 负责调度,最终由 Docker 生成 Pod。作为 Node 节点接入 Kubernetes 的云服务器密码机,内部也采用了Docker 生成 VSM。当创建 VSM 需从外部下载镜像时,Docker 可能会从外部下载到恶意镜像,恶意镜像可能导致云服务器密码机内部的敏感数据被窃取或破坏。因此,云服务器密码机可从以下两个维度限制恶意镜像在云服务器密码机中执行。

(1)禁止 Docker 从外部下载镜像。

(2)云服务器密码机自身提供安全的镜像管理功能:允许导入内置签名的镜像。导入镜像时,需验证该镜像是否具有签名以及签名是否能够验证通过,只有通过验证的镜像才能导入云服务器密码机。在创建 VSM 时,云服务器密码机可以使用提前导入的镜像创建 VSM。

2.2.2 防止挂接外部存储导致敏感数据泄露

在创建 Pod 时,Kubernetes 可配置 Pod 使用外部存储,并将外部存储映射到 Pod 的指定目录。VSM 内部存储了敏感信息,如果在创建 VSM 时,将 VSM 存储敏感信息的目录设置为外部存储,则可在外部存储中找到敏感信息。虽然密钥等敏感信息是密文形态,但敏感信息出现在外部存储中,也无形中增加了信息泄露的风险。因此,在云服务器密码机中,要禁止为 VSM 配置外部存储。一个可选的措施是改造部署在其中的 KubernetesNode 组件,在创建 VSM 时,检查是否要求 VSM使用外部存储,如有此需求,则禁止该 VSM 的创建,并向 Kubernetes 告知相应的错误信息。

2.2.3 防止管理人员恶意操作

Kubernetes 提供了一系列命令,供 Kubernetes管理人员远程操作 Pod,例如从 Pod 中拷贝数据、将数据拷贝到 Pod、在 Pod 中执行命令等。对云服务器密码机而言,如果允许 Kubernetes 管理人员执行上述命令,则管理人员可能会复制或破坏 VSM 内部的敏感信息。因此,需要对部署在云服务器密码机中的 Node 组件进行改造,限制其执行上述命令。

2.3 云密码资源池管理

2.3.1 云密码资源池工作原理

与 Kubernetes 结合的云密码资源池工作原理如图 3 所示。

图 3 云密码资源池工作原理

云密码资源池管理平台是整个云密码资源池的主控平台及统一入口,通过 API Server 对外提供的 RESTful 接口实现对 Kubernetes Master 的访问及调度,主要负责对云密码资源池的统一管理和维护。

Kubernetes Master 主 要 提 供 API Server、Scheduler、Controller Manager 组件,接收云密码资源池管理平台发起的请求命令,从 Kubernetes Node 节点中获取 Node 的资源信息,并发出调度任务。

云服务器密码机作为 Kubernetes Node 接入Kubernetes Master。Kubernetes Node提供了Kubelet、Kube-proxy,每个 Node 节点安装部署 Docker,即实际的执行者。

2.3.2 云密码资源池架构

云密码资源池管理平台是云密码资源池的主控平台,通过调用 Kubernetes 主控节点(Master)中 API Server,实现云密码资源池中所有计算节点(Node)的统一管理,为整个云密码资源池提供云服务器密码机接入、云密码资源池化、密码计算单元(虚拟密码机)和密码计算单元集群(虚拟密码机集群)控制管理等功能。云密码资源池架构如图 4 所示。

图 4 云密码资源池架构

云密码资源池包括云密码资源池管理平台、主控节点和计算节点 3 个部分。

云密码资源池管理平台是整个云密码资源池的管理入口,通过 API Server 实现对主控节点的统一调度及管理。

主控节点(Kubernetes Master)负责对多个计算节点(Kubernetes Node)进行管理及调度。

密码设备集群由多台云服务器密码机共同组成。云服务器密码机作为计算节点接入到主控节点,是云密码计算服务中的核心组件。VSM是云服务器密码机经过虚拟化处理后的虚拟密码机。  

云计算业务服务器集群中的业务系统通过虚拟密码机 API 接口实现对 VSM 虚拟密码机的访问及接口调用,完成云密码服务运算处理。

租户访问云密码服务管理平台,实现云密码资源申请、VSM 虚拟密码机创建、管理和监控。

2.3.3 云密码资源映射关系

建立统一的密码资源数据模型,形成密码资源模板(服务模板),划分云服务器密码机不同层次的密码运算能力,定义密码资源基准数据;分析租户云密码资源申请信息,利用密码资源数据模型实现密码运算能力与云服务器密码机内存的映射关系,便于云服务器密码机实例的创建,简化租户对云密码资源申请过程的复杂度,降低使用难度,提升易用性。

2.3.4 云密码资源服务类型水平扩展

首先基于镜像包装成服务模板,其次基于服务模板包装成服务目录,最后基于服务目录发布服务实例 。云密码资源服务类型水平扩展如图 5 所示。

图 5 云密码资源池服务类型水平扩展

镜 像 是 VSM 虚 拟 密 码 机 镜 像 文 件, 用于 创 建 VSM 虚 拟 密 码 机 或 VSM 虚 拟 密 码 机集群。

服务模板由一个或多个镜像构成,一个镜像对应一个或多个模板。服务模板用于定义云密码资源映射关系,划分云服务器密码机不同层次的密码运算能力。

服务目录由服务模板包装而成,一个服务模块可包装成一个或多个服务目录;一个服务目录唯一属于一个服务模板。服务目录定义不同档次、不同规格的云服务器密码机,如高端、中端、低端等。服务实例是密码计算单元(虚拟密码机)或密码计算单元集群(虚拟密码机集群),可对外提供按需分配、弹性伸缩的云密码服务。

3

云密码资源池应用

云密码资源池主要面向云计算、政务云领域,重点是私有云环境中,以池化机制为云服务器密码机对外提供可按需分配、弹性伸缩、高可用、自动化部署 / 升级的云密码服务 。云密码资源池应用如图 6 所示。

图 6 云密码资源池应用

管理人员访问云密码资源池管理平台,完成云密码资源配置、服务模板和服务目录创建、资源审批、分配、管理、监控、配置、审计、服务发布。租户访问云密码资源管理平台,完成密码资源申请、管理、监控、服务订阅。

在云应用场景中,对云服务器密码机的差异化需求是统一管理、高性能、高可用、动态伸缩(云密码资源充分利用)。云服务器密码机接入云密码资源池管理平台,由云密码资源池管理平台对其进行统一管理。由管理人员统一对云服务器密码机进行运维管理,并对 VSM 进行初始化、配置管理和密钥管理。多个 VSM 可组成集群,并在云服务器密码机中创建 Service,通过 Service 对多个 VSM 进行负载均衡,为云计算业务系统提供高性能、高可靠、按需分配、弹性伸缩的密码服务。

4

结 语

随着云计算服务的不断发展,密码在云计算业务系统中的应用不断增加,云计算业务系统对云密码服务的需求也随之增长。为顺应云密码服务技术发展趋势,将云服务器密码机接入 Kubernetes,通过云密码资源池管理平台实现云密码资源池构建,根据用户需求对外提供按需分配、弹性伸缩、高可用、安全的云密码服务。因此,安全的云密码服务技术及应用具有广阔的应用前景,可进一步满足云计算业务中对云密码服务的迫切需求。

引用格式:廖成军 , 吴庆国 , 李军 . 安全的云密码服务技术及应用 [J]. 信息安全与通信保密 ,2022(12):81-88.

kubernetes云计算
本作品采用《CC 协议》,转载必须注明作者和本文链接
网络犯罪组织使用一个称为Weave Scope的合法工具,在目标Docker和Kubernetes集群上建立了无文件后门。据研究人员称,TeamTNT网络犯罪团伙卷土重来,他们通过滥用一种名为Weave Scope的合法监控工具攻击Docker和Kubernetes实例。但是接下来,攻击者下载并安装 Weave Scope。TeamTNT小组专门研究攻击,通常使用恶意Docker映像进行攻击,并证明了自己的创新能力。TeamTNT之前也有文档记载在AWS内部署独特且罕见的凭证窃取蠕虫。
Controller Manager 中 的 Node Controller 通 过 APIServer 定期读取节点状态信息,并做响应处理。业务系统通过调用密码机提供的密码服务,实现数据的机密性、完整性、有效性和不可否认性。作为 Node 节点接入 Kubernetes服务器密码机,内部也采用了Docker 生成 VSM。当创建 VSM 需从外部下载镜像时,Docker 可能会从外部下载到恶意镜像,恶意镜像可能导致服务器密码机内部的敏感数据被窃取或破坏。因此,服务器密码机可从以下两个维度限制恶意镜像在服务器密码机中执行。
容器安全工具涵盖多种任务,包括配置加固和漏洞评估任务。Gartner持续观察AST市场发展的主要驱动力是支持企业DevSecOps和原生应用程序的需求。Checkmarx SCA的供应链安全执行行为分析,并对给定的开源包添加操作风险指标。这得到了Gartner客户的积极反馈。Checkmarx一直在简化软件许可,将大多数产品与开发人员的数量联系起来。
所有这一切须经认证过程加以验证,最大限度地降低未授权方窃取数据的可能性。这两个漏洞向黑客暴露了流出安全飞地的机密信息。上个月,谷歌、英伟达、微软和AMD联合发布了一套名为Caliptra的规范,用于在芯片上建立安全层存放受保护的可信数据。谷歌已经拥有了自己的机密计算技术,该名为OpenTitan的技术主要关注引导扇区保护。
本文收集整理了目前市场上主流的7款CSPM解决方案,并对其应用优势和存在的不足进行了分析。综合能力表现较突出Prisma Cloud是Palo Alto公司推出的一款CNAPP解决方案,拥有面向混合、多云和原生等环境的全面安全态势管理功能。Lacework的机器学习驱动方法允许平台自动管理安全,不仅用于行为分析,还用于威胁情报和异常检测。
“贴身”保护5G边缘计算
据悉,跨平台加密货币挖掘僵尸网络LemonDuck正在针对开源应用容器引擎Docker,以在Linux系统上挖掘加密货币。
2022年1月6日,360漏洞团队监测到 Red Hat发布安全公告,修复了多个存在于 OpenShift Container Platform中的中危漏洞。
勒索软件现在已经成为制定灾难恢复计划和灾难恢复技术的关键原因之一。也就是说,许多供应商继续利用快照作为全面灾难恢复和勒索软件保护的元素之一。从2016年到2021年,勒索软件造成的全球损失从3.25亿美元上升到200亿美元。这意味着企业需要重新考虑其针对勒索软件用例的灾难恢复策略,因为传统的数据保护解决方案和灾难恢复计划可能不起作用。
当前,计算已经成为新型基础设施的关键支撑技术。在疫情期间,推动了大量远程办公、政务防疫、百姓生活等SaaS应用和移动应用。要回答计算未来数年的发展,则需要回顾计算在过去的发展。需要注意到,计算在国内发展总体可分为三个阶段。
VSole
网络安全专家