摘要

“随着商用密码应用与安全性评估工作的深入推进,国内公有云、混合云和私有云运营者纷纷开始对云平台进行商用密码应用改造,建设云密码资源池(也称“云密码服务平台”)与密码服务支撑能力,对云上应用(或云上租户)提供密码服务,逐步形成了多种云平台密码服务支撑能力解决方案并存的局面。本文结合密评工作实践,侧重对目前常见的云平台密码服务支撑能力解决方案进行梳理和分类,从云上应用的角度介绍云平台密码服务支撑能力合规性分析思路,并给出云平台密码服务支撑能力密评典型案例,希望为密码应用与安全性评估(以下简称“密评”)人员开展相关密评工作提供借鉴和参考。

01 云平台密码服务支撑能力类型概述

目前,云平台对外提供密码服务,主要是通过IaaS层调用服务器密码机或云服务器密码机接口,为云上应用提供PaaS层或SaaS层密码运算资源。因此,云平台提供的密码服务核心是依赖于密码产品提供的密钥管理和密码运算能力。但在具体提供服务时,一方面由于所调用密码产品的形态、部署位置、提供服务层次的不同,对应的密码服务模式会存在差异;另一方面云平台密码服务支撑能力类型亦不同。可以考虑从云平台密码服务实现方式、密码服务与密码产品的关系、云平台密码服务虚拟化位置、云平台提供的密码服务层次等四个维度对其进行分类。

01 根据云平台密码服务实现方式进行分类

从密码应用合规性角度对云平台密码服务实现方式进行分析,可以发现云平台向云上应用提供密码服务,核心是能否确保云平台对密码产品的调用和密钥的管理是否能满足密码相关国家、行业标准要求。在采信密码产品认证结果的基础上,可将云平台抽象为密码产品的使用方,因此,可将云平台密码服务能力粗略划分为以下四种情况:

1)密钥管理和密码运算能力完全由密码产品实现;

2)仅(部分)密钥管理由密码产品实现;

3)密钥管理和密码运算能力均由密码产品和非密码产品共同实现;

4)密钥管理和密码运算能力均非密码产品实现。

02 根据云平台密码服务与密码产品的关系进行分类

根据云平台向云上应用提供密码服务方式与密码产品提供密码服务的关系,可将云平台提供的密码服务分为以下三种情况:

1)直接由密码产品提供密码服务支撑,如IaaS云平台直接调用云服务器密码机或物理VPN向云上应用提供密码服务;

2)云平台将密码产品提供的服务能力虚拟化后重新分配给云上应用,如云平台在PaaS层将服务器密码机资源虚拟化后为云上应用提供服务;

3)云平台将密码产品提供的服务能力虚拟化后,再根据需要形成相应的密码服务能力,如云平台通过服务器密码机提供虚拟VPN服务,通过签名验签服务器提供电子签章服务。

03 根据云平台密码服务虚拟化位置进行分类

云平台调用密码产品并对外提供服务的过程与传统服务器调用密码产品过程的主要区别,在于前者涉及到对密码资源的虚拟化过程。从云平台对密码资源是否虚拟化、虚拟化实现位置的角度,可将云平台提供的密码服务分为以下三种情况:

1)在密码产品中虚拟化(目前只有云密码机具备商密产品认证证书);

2)在云平台进行虚拟化;

3)不涉及虚拟化。

04 根据云平台提供的密码服务层级进行分类

依据云平台提供服务的层级,可将提供的密码服务可分为3种情况:

1) IaaS密码服务;2)PaaS密码服务;3)SaaS层密码服务。

其中,IaaS、PaaS层密码服务多由接口调用或SDK提供;SaaS层密码服务多由云原生应用资源形式提供

02 云平台密码服务支撑能力合规性分析思路

01 云平台密码应用保护对象分析

GB/T 31167-2014《信息安全技术 云计算服务安全指南》“6.6 安全保护要求”中提出“对于公开信息主要是防篡改、防丢失,对于敏感信息还要防止未经授权披露、丢失、连用、篡改和销毁”。GB/T 31168-2014《信息安全技术 云计算服务安全能力要求》“7.10.2 增强要求”中提出要“控制系统内或互联系统间的信息流动,如限制受控信息流向互联网、限制对互联网的Web访问请求、限制某些数据或含关键字的信息流出云计算平台”。GB/T 34080.1-2017《基于云计算的电子政务公共平台安全规范 第1部分:总体要求》“6.1.1 数据传输” 中提出要“采用加密等,实现虚拟机镜像文件、系统管理数据、鉴别信息和重要业务数据传输保密性”、“能够检测到虚拟机镜像文件、系统管理数据、鉴别信息和重要业务数据传输过程中完整性受到破坏”。

在云平台的密评过程中,主要选取云平台管理应用和云上应用作为测评对象,对用户登录过程身份鉴别技术实现以及鉴别信息、虚拟机镜像文件、系统管理数据、重要业务数据等敏感信息和公开信息的密码应用情况进行取证分析。在第三章典型案例中,选取虚拟机迁移数据、云平台管理数据和云上应用关键数据作为关键数据,并对云平台管理应用和云上应用密码应用情况分别进行合规性分析。

02 云平台密码服务支撑能力合规性分析要点

根据GB/T 39786-2021《信息安全技术 信息系统密码应用基本要求》,信息系统需使用合规的密码算法、密码技术、密码产品和密码服务构建密码保障体系。目前,云上应用系统主要通过调用云平台提供的密码服务实现密码应用保障,因此,云平台构建的密码服务支撑能力其自身密码实现的合规性和安全性必须予以关注和考虑。

与传统信息系统通过本地调用密码产品实现密码服务所不同的是,云平台主要通过虚拟化技术为云上应用提供密码支撑服务,其在实现资源高效利用的同时,也带来了诸如虚拟机溢出、新漏洞引入、网络风险扩散和资源非法占用、密钥管理和使用安全、密码算法实现安全等新的安全威胁,同时,虚拟机迁移操作和虚拟存储网络环境也可能引入新的风险点,这些都为密码应用安全带来了新的威胁。

《商用密码应用安全性评估量化评估规则》从密码使用有效性(D)、密码算法/技术合规性(A)、密钥管理安全(K)三个维度构建了信息系统密码应用的合规性量化评估规则体系。其中:

1)密码使用有效性(D)定义为:密码技术是否被正确、有效使用,以满足信息系统的安全需求,有效提供机密性、完整性、真实性和不可否认性的保护;

2)密码算法/技术合规性(A)定义为:信息系统中使用的密码算法是否符合法律、法规的规定和密码相关国家标准、行业标准的有关要求,信息系统中使用的密码技术是否遵循密码相关国家标准和行业标准或经国家密码管理部门核准;

3)密钥管理安全(K)定义为:密钥管理的全生命周期是否安全,用于密码计算或密钥管理的密码产品/密码服务是否安全。

在开展云平台密码服务支撑能力评估时,密码使用有效性(D)、密码算法/技术合规性(A)的合规性分析判定与其他云下信息系统并无明显差异,在此不做赘述。这里重点探讨云平台密码服务支撑能力密钥管理安全(K)合规性判定问题。

考虑云平台使用虚拟化技术对密码应用带来的安全风险,并结合目前大部分云平台密码服务支撑能力实现上均将密码运算服务和密钥管理服务分开实现的现状,借鉴《商用密码应用安全性评估量化评估规则》对密码应用合规性分析判定思路,将云平台密码服务支撑能力密钥管理安全(K)细分为“密码运算安全”、“密钥管理安全”、“虚拟化实现安全”三个方面。

03 云平台密码服务支撑能力实现情况分类及合规性判定

密评过程中,分析云平台密码服务支撑能力及其应用是否合规,关键在于确定密码运算、密钥管理和密码资源虚拟化的实现方式。下面按照:密钥管理和密码运算能力完全由密码产品实现、仅(部分)密钥管理由密码产品实现、密钥管理和密码运算能力均由密码产品和非密码产品共同实现、密钥管理和密码运算能力均非密码产品实现四种分类方式,从“密码运算安全”、“密钥管理安全”、“虚拟化实现安全”三个方面对网络安全等级为三级及以上的云平台密码服务支撑能力密钥管理安全(K)合规性给出分析判定示例,具体如表1所示(√表示合规,×表示不合规)。

表1 云平台密码服务支撑能力实现情况分类

03 云平台密码服务支撑能力密评典型案例

基于第二章提出的云平台密码服务支撑能力合规性分析思路,我们以某云平台及其构建的密码支撑能力为例,按照密评的要求分别分析云上应用和运管应用密码服务支撑能力,并对其进行合规性分析。

以某云平台为例,密码服务平台硬件由云服务器密码机、签名验签服务器、密钥管理系统、数字证书认证系统组成,向云上应用提供关键应用数据存储机密性、完整性保护功能,并配合智能密钥钥匙提供用户登录身份鉴别功能和关键应用数据传输机密性、完整性保护功能;云平台通过部署硬件服务器密码机为云管应用提供密码服务,实现对云管应用中的虚拟机镜像文件及重要业务数据的存储机密性、完整性保护功能,通过调用数字证书认证系统配合智能密码钥匙向云上应用提供身份鉴别功能和提供用户登录身份鉴别功能和关键数据传输机密性、完整性保护功能。

某云平台应用密码应用情况简述

表2所示为该云平台在应用和数据层面每个测评指标对应的密码改造措施,其中使用的密码产品、密码服务,均符合国家密码管理部门要求。

表2 某云平台应用和数据层面密码改造情况

某云平台密码能力支撑合规性分析

根据对某云平台应用和数据安全层面保护对象、密码技术应用和密钥管理的分析结果,结合表3梳理得到云平台应用和数据安全层面密码保护需求,对其应用和数据层面改造后的测评对象选取和密钥管理安全(K)合规性分析结果示例如下表3所示。

表3 某云平台应用和数据层面合规性判定表

云平台密钥管理体系

针对云平台应用和数据安全方面的密码服务支撑能力,其对应的密钥管理体系分析如下:

某云平台采用PKI技术对各个实体进行身份标识,由CA为云平台管理应用、云上应用、云平台管理员、租户和用户签发标识其身份的数字证书,其密钥对包括签名密钥对和加密密钥对。云平台管理应用、云上应用的证书(含私钥)保存在物理密码机或云服务器密码机中,云平台管理员和租户的证书(含私钥)保存在智能密码钥匙中,用户的证书(含私钥)保存在移动智能终端密码模块(二级)中。针对该云平台本身,其密钥体系可分为云平台管理应用层和云上应用层两层密钥,具体如下图1所示。

(1) 云平台管理应用层

物理密码机服务于云平台管理应用,通过自身的主密钥,对以下五类密钥进行保护:

① 虚拟机迁移密钥。用于虚拟机在迁移过程中的机密性和完整性保护。

② 云平台管理应用的访问控制信息、日志记录保护密钥。对访问控制信息、日志记录进行完整性保护。

③ 云平台管理应用的关键数据保护密钥。对包括虚拟机镜像、快照、租户信息等关键数据进行机密性和完整性保护。

④ 云平台管理应用密钥对。用于进行云平台管理应用和云平台管理员/租户之间的身份鉴别和密钥协商。

⑤ 云服务器密码机主密钥。用于对云服务器密码机的相关密钥进行机密性和完整性保护。

(2) 云上应用层

云服务器密码机服务于云上应用。租户可能有多个应用,共分三层密钥体系:虚拟机主密钥保护应用主密钥;而各个云上应用通过自己的应用主密钥对以下三类密钥进行保护:

① 云上应用的访问控制信息、日志记录保护密钥。对访问控制信息、日志记录进行完整性保护。

② 云上应用的关键数据保护密钥。对虚拟机镜像、快照、租户/用户信息等关键数据进行机密性和完整性保护。

③ 云上应用密钥对。用于云上应用和租户/用户之间的身份真实性鉴别和密钥协商。

图1 某云平台密钥体系示意图

04 结束语

信息系统“上云用数赋智”已成为新时代我国信息化发展不可阻挡的趋势和潮流。云平台作为信息系统运行的基础设施,对云上租户应用系统的密码应用发挥着基础保障支撑作用,近年来在政策要求和信息化发展双重驱动下,云平台密码服务支撑能力已成为云平台建设和服务能力的“标配”。

但目前,云平台密码服务支撑能力建设标准、评估标准均未制定出台,云平台密码服务支撑能力评价认定体系尚未建立。因此,密评人员在对云平台开展密评时,需注意把握云平台自身密评与云平台密码服务支撑能力密评的关系,主动引导运营者厘清两者之间的概念,并采取稳妥审慎的态度对云平台密码服务支撑能力的合规性进行分析判定,合理有效的实施密评。

由于笔者认识的局限性,文中不妥和错漏之处在所难免,恳请读者提出宝贵意见。

参考文献

作者简介

朱凌国家信息技术安全研究中心 密评工程师,长期从事密评工作。

作者:朱凌

编辑:林青

审核:吴冬宇

声明:本文来自极客安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。