首页   >  关于我们   >  新闻中心   >  云密码服务的分类与技术分支
返回
云密码服务的分类与技术分支
  • 2021.12.03
  • 4982
作者:北京数字认证股份有限公司 李向锋 傅大鹏 郑亚杰 夏冰冰
 

摘要: 随着“密码即服务”概念的提出,云密码服务相关的研究和产业实践也如火如荼的展开。由于云密码服务包含的内容非常广泛和丰富,因而需要我们对云密码服务概念有更清晰的认知,对常见的云密码服务进行分类,理顺这些不同类别的云密码服务所面对的场景以及所采取的技术路线,对其安全性和商业前景进行分析。

 

目录

1.引言

2.云密码服务的分类

2.1 云服务商提供的云密码服务

2.2 密码厂商或其它机构单独提供的密码服务

2.3 大型集团为分支机构业务提供的云密码服务

3.总结

附录A 几种典型的密码资源池

A.1 基本型密码资源池

A.2 进阶型密码资源池

A.3 高级密码资源池

 

 

01 引言

随着密码产业升级的不断深入,密码能力服务化成为密码供给侧改革的重要举措。研究领域、产业界和应用中都对云密码服务这一新兴事物进行了研究探索以及尝试。北京商用密码行业协会《云密码服务技术白皮书》中,在总结国内外云密码服务方面的进展与成果的基础上,以描述性的方式,给出了云密码服务的定义[1]。云密码服务被定义为一种“商业模式”、“交付模式”,在白皮书中原文是“云密码服务是一种全新的密码功能交付模式,是云计算技术与身份认证、授 权访问、传输加密、存储加密等密码技术的深度融合”,指出云密码服务的本质特征“密码服务提供商按照云计算技术架构的要求整合密码产品、密码使用策略、密码服务接口和服务流程,将密码系统设计、部署、运维、管理、计费等组合成一种服务,来解决用户的密码 应用需求”,以达到“用户不再购买密码硬件或密码系统等密码产品,而是以租用的方式使用云中提供的各种密码功能”这一目标。

 

在这一概念的基础上,后续研究领域和产业界的探索中,云密码服务通常被认为是一系列架构、技术与运营的统称,其中,既包括传统集中化部署实施的各种密码基础设施如PKI/CA、密钥管理系统,也包含用于云架构下密码资源共享的云密码机[2][3],作为第三方服务提供的电子签名服务[4]等等。在这种大背景下,每个人所说的“云密码服务”可能所指向的具体内容都是不一样的,而这些不同的内容,可以说都是云密码服务的一部分,这样就常常带来各种沟通上的不一致问题,甚至造成类似于“盲人摸象”的错误认知。因此,有必由对“云密码服务”进行进一步分析,使其中各种概念、架构、技术以及建设、运营等活动各归其位。

 

02 云密码服务的分类

正是因为“云密码服务”的本质是“交付模式”,因而,传统的很多密码功能、密码能力,都可能通过这种新的交付形式,以更高的效率、更敏捷、易用的形式交付给使用者。如果从技术发展与沿革的视角来看,云密码服务是将原本的密码功能改变形式提供,其所包含的内容是各种密码功能的组织逻辑和表现形式;如果从项目建设与交付的视角看,云密码服务功能至少包含以云密码机为代表的虚拟化基础设施服务、以数字签名、数据加密、时间戳电子签章、密钥管理等为代表的密码功能服务,以电子合同服务为代表的密码应用服务等,其内容也是非常丰富和庞杂。


2.1 云服务商提供的云密码服务

2.1.1 场景特点

业务系统部署在云上,需要内生的安全能力。随着云计算的迅猛发展,涌现出越来越多的企业应用迁移到云架构上的诉求,原本部署在企业机房内的各种信息系统需要部署在公有云上。这些系统通常部署密码机、签名验签服务器保证业务安全合规,这些密码设备自身又依靠传统物理边界、物理交换机网络边界以及各种管理职责边界保证设备管理安全、密钥安全和服务安全。而在云架构下,每个企业信息系统的传统物理边界已然不存在了,原本的网络边界和管理职责边界也无法采用原有传统手段,网络边界改为VPC[5]、安全组方式,原有管理职责边界改为远程身份证明、远程管理模式。

 

保证部署在云上的业务系统安全合规是这一场景的另一诉求。在这一场景下,业务方独立可控的物理环境安全和网络安全都需要云服务商通过,诸如传统的屏蔽机房、网线直连的密码设备都变成了虚拟化的,而传统的一些必须依赖密码设备的业务如果希望迁移到云上,采用此类云密码服务,在业务VPC内使用虚拟密码机无疑能够保持逻辑上与原有本地系统的一致性,降低系统改造和迁移的成本。

 

在这种场景下,Amazon开始在其云服务中引入“CloudHSM”,这就是典型的“以服务方式”,为业务应用提供密码功能。在Amazon租用云主机、云存储、VPC等租户,可以租用“虚拟密码机(vHSM)”,部署在其业务应用的VPC内,支持VPC内的业务应用来调用[6]。

 

上述模式下,用户通常可在设计基于云计算的业务系统时,例如租用云主机部署业务应用的情况下,根据需要选择由服务商提供的虚拟密码机,这里的“服务商”可能是厂商,也可以是其它类型的机构,或租用云主机时,选择包含虚拟密码模块的机型。服务商向外提供的,是“密码设备”或“密码模块”这一的基础设施,所以这种交付模式也被称为CIaaS(Cryptography Infrastructure as a Service,密码基础设施即服务)。

 

在用户采函数计算模式(Function Compute)[7]设计其基于云计算的业务系统时,例如采用ServerLess模式将业务逻辑委托在云服务端[8],此时,用户不需要租用云主机,当然也没有VPC,更没有vHSM,而是通过调用云服务厂商提供的SDK或向指定的地址发送报文来调用密码功能。这种场景下,服务商向用户提供的是“密码功能平台(Cryptography Function Platform”),所以这种交付模式也被称为CPaaS(Cryptography Platform as a Service,密码平台即服务)或CFaaS(Cryptography Function as a Service,密码功能即服务)。

 

2.1.2 技术特点

2.1.2.1 在虚拟化场景中提供内生密码能力。

在上述的CIaaS交付模式中,用户不再需要为业务系统及所需的密码支撑能力单独建设机房、设计物理网络,而是直接在服务商提供的虚拟设施上开展业务应用的部署、管理和业务,用户租用云主机和VPC,组成专有的独立二层网络,这样相当于给每个用户分了个房间,VPC保证了这些“房间”是相互隔离的。这种模式下,对vHSM的管理活动、密钥管理活动,以及业务应用调用密码功能,都发生在VPC虚拟的网络边界内,这保证了密码 “从逻辑上”是不出网络边界的,即具备“内生”特性的。

 

2.1.2.2 使用支持高度水平扩展的密码资源池。

由于云服务厂商通常为大量用户提供基础设施,因此,通常使用大量的密码设备或密码模块构成密码资源池,需要密码资源池密码资源池需要满足高度水平扩展的需求,需要支持密码计算资源共享、密码资源按需分配使用、统一密码功能入口、统一监控等特性。在附录A中描述了几种典型的密码资源池。

 

2.1.2.3 将密码能力映射到虚拟层

将密码机设备或设备的切片映射为vHSM。在Amazon的云密码服务中,典型的虚拟密码机方案就是将实体密码机直接映射为VPC中多台虚拟密码机。国内的厂商在此基础上,实现了基于SR-IOV[9]的密码卡虚拟化机制,将一块PCI-E密码库虚拟为多块,再通过Linux中安装虚拟化软件,在Hypervisor层之上安装多个虚拟操作系统,在操作系统中封装虚拟密码卡,成为虚拟密码机,然后借助虚拟化网路工具,将这个虚拟密码机分配到业务应用的VPC内。SR-IOV的虚拟化方式保证了输入输出的高效率,但也存在不足之处,即,一定是“实体密码卡”虚拟成“虚拟密码卡”,这也使一定是“实体密码机”虚拟成“虚拟密码机”,使其在密码资源池中使用时,资源调度存在浪费的情况。

 

先聚合后切片,将密码机聚合称为服务再切片映射为vHSM。而对进阶型密码资源池中,则可以采用Virtio[10]的“半虚拟化”机制,将一个庞大的服务,虚拟化成为一个虚拟机中的密码模块,将服务中由策略制定的一个密码能力“分片”,由这个密码模块来呈现给业务系统。Virtio通过前端驱动和后端驱动的配合,使“先聚合后分片”方式的密码资源池以形态各异、能力各异的密码模块的形式,而不仅仅是虚拟密码机,保护业务应用的安全,例如可将密码资源池以密码模块形式提供并封装为VPC内的TLS反向代理等。

 

2.1.3 安全特性

2.1.3.1 安全隔离

基于VPC和虚拟化的隔离。用户所租用的vHSM,通常部署在其虚拟专用网络(VPC)内。VPC能够为每个用户一个专属独立的二层网络。这样相当于给每个用户分了个房间,VPC保证了这些“房间”是相互隔离的。用户密码机的“物理安全”更容易得到保障。密码机的密码功能接口仅能够被VPC内的云主机调用,密码机的启动、停止等管理操作及密钥管理操作仅能够通过VPC内的管理终端进行。

 

2.1.3.2 密钥管理安全

用户自主的远程密钥管理。用户的密钥,在形式上是由自己进行管理的。用户通过登录其在VPC内的管理终端,远程进行所需的密钥管理。密钥不离开其虚拟机上的“密码模块”。这就是用户站在虚拟层上看到的安全性。

 

通过测评和认证保证密钥安全。在实体层上看,密码服务通过各种测评和认证保证其密钥的安全。

 

2.1.4 商业视角

本节描述的云密码服务由于与云技术、云服务融合非常紧密,因此,毫无疑义是云服务商或云技术提供商为主导的,密码厂商可以借助其专业能力,以合作者或方案、技术的提供者身份参与。由于“新基建”将“内生安全能力”作为其规划的一部分,而密码正是“安全能力”的一部分,所以可以预见,这种方式,可能将会成为云架构下密码功能的一种主要供应方式,如果密码厂商不愿或不能成为合作者或技术提供商,那么随着云计算的迅速发展,在云计算场景下,就只能放弃这个庞大的市场,而其中的密码能力供应将由云服务商自行实现或其它密码厂商实现,这就导致厂商被新技术革命边缘化。

 

2.2 密码厂商或其它机构单独提供的密码服务

在第一种场景之外,密码厂商也可自行建设各种密码基础设施,向外提供服务。当然,为了提升服务能力、扩大业务范围,密码厂商所提供的服务也可能面向互联网,在技术路线上采用云架构技术等,甚至部分或全部采用云服务厂商提供的基础设施。从这一点上来讲这些服务也可以称为云密码服务。

 

2.2.1 场景特点

此类密码服务主要提供需要全局性、合规性服务,以及需要更大应用域保持策略一致、管理统一和功能协同的密码功能。不论基于云架构还是传统架构下,所需的“网络边界”内的各种密码功能如数据加密解密、密码杂凑、数字签名,或是VPC“虚拟网络边界”的密码功能,使用网络边界内的实体密码设备成为首选项,或2.1中所描述的虚拟密码设备,也可以作为内生密码能力来使用。这样选择有两个原因,一是本地有密码能力,直接使用这些能力完成所需功能逻辑上是最简单的;二这些密码功能在调用时,本地调用相比远程调用云端的密码服务因为少了很多网络开销要好很多;三是远程服务的密钥管理是否完全可信、通信安全是否完全可信都不易保证;四是即便调用远程的加密或数字签名等密码操作,本地还需要做通道层上的加密、摘要、数字签名来保证交互安全,这样就凭空需要进行很多次多余且没有价值的密码操作。

 

另外一种情况,是否用户侧本地没有很强的密码能力的情况才需要调用厂商提供的远程密码服务?本地有了内生的密码能力,是否就不再需要使用远程的密码服务?

 

第一个问题,用户侧在与远程的云密码服务进行交互时,必然需要通过某种途径表明、证明自身身份,保证传递给云密码服务的数据在传输过程中的完整性、机密性,对于某些有业务追溯、审计、对账类还需要有对行为不可抵赖的要求,因此,用户侧通常也需要与业务安全级别相匹配的安全防护能力,可以是密码措施,也可以是与密码措施等同效果的其它安全防护措施如网络分区、访问控制等,用以存储用户侧身份鉴别的凭据,保证身份鉴别和通信过程中的数据安全。例如云签名服务支持移动终端可采用移动终端密码模块提供所需的用户侧密码能力,但考虑移动终端密码能力不足的特点,同时采用手机短信OTP方式、生物特征方式鉴别身份,支持通过行为特征提升鉴别的安全性。

 

第二个问题,云密码服务的“敏捷”目标之一,是密码能力的可管理,正是通过将原本分散的密码实现,统一部署、统一管理、统一以服务方式提供,实现了密码算法符合统一的策略,算法相关的模式、实现方式是统一可控的。而密码功能调用分散在用户侧,“敏捷”则无从说起。例如某个场景中,所有的用户侧都支持了SM4,用户侧应用系统可能使用SM4算法的ECB、CBC、OFB、CTR、GCM等各种模式,使用PKCS#7Padding填充方式或“ZeroPadding”填充方式,而管理层如果要求“低于16字节的报文采用ECB模式,超过16字节采用CBC方式”、“统一采用PKCS#7Padding”的统一策略,则这一策略落实过程会牵涉大量分散的密码系统,这就极大拉升了系统管理的成本。当然,如果用户根本没有“敏捷”这一目标,的确这种情况是没有必要采用云密码服务这种架构模式的。因此,出于统一策略和统一管理的目的,管理者会希望在用户侧有本地内生密码能力的情况下依然要使用云密码服务。

 

再者,用户侧即便本地有内生的密码能力,在需要基于第三方背书的合规性要求的功能或者需要与其它应用系统保持策略一致和功能协同的密码功能。所谓基于第三方背书的合规性,例如第三方的电子签名/签章/合同,甚至第三方的数字证书服务也可算是此类型服务;所谓与其它应用系统保持策略一致和功能协同的密码功能,例如数据在区块链联盟链中安全共享,数据在城市各个政务、医疗、交通系统中安全流动等场景,可以使用云密码服务简化策略一致和功能协同的复杂度。一种典型的服务是某些面向大众的业务应用,可根据业务需要通过密码厂商或其它组织机构提供的数字证书服务或基于云的电子签名服务。

 

有鉴于此,密码厂商单独提供的云密码服务,虽然也可以用来提供数字签名、加密解密等基础功能,但这些服务主要是“有强烈统一管理和统一策略”要求的场景使用。而厂商独立提供的最主要的密码服务,则是基于第三方背书的合规密码服务,或需要业务应用间一致协同的密码服务。

国内很多机构所提供的电子签名服务,通常借助云架构实现并支持移动终端通过智能手机完成所需的电子签名,通常被称为“云签名服务”或“基于云计算的电子签名服务”[11]。或某些基于电子签名包装的业务服务如电子合同、电子签约[12]等服务。

 

在这种模式下,业务系统需要调用密码厂商提供的SDK接口,或向服务主机发送特定格式的报文来调用相关服务。这种情况下,服务商向用户提供的是“密码功能平台(Cryptography Function Platform”,所以这种交付模式也被称为CPaaS(Cryptography Platform as a Service,密码平台即服务)或CFaaS(Cryptography Function as a Service,密码功能即服务)。而对其中使用业务包装密码功能的情况如电子合同、电子签约,服务商可以以软件方式,向用户提供完整业务的流程,我们将这种模式称为CBaaS(Cryptography Business as a Service,密码业务即服务),也有称为CAaaS(Cryptography Application as a Service,密码应用即服务)。

 

2.2.2 技术特点

2.2.2.1 借助密码资源池达到节约成本、增强服务能力的目标

厂商或机构为了在提供服务的构成中,节约部署硬件和软件的成本,增强服务能力,通常需要借助密码资源池,使密码资源能够快速水平扩展。密码资源池的论述见附录A。

 

2.2.2.2 通过新技术增强密码服务安全

远程身份核验和身份鉴别技术。由于服务的内容是“密码”,所以本节所描述的云密码服务通常采用灵活的身份核验和身份鉴别机制,以提高用户体验水平,核验通常包括基于身份证的核验、基于手机号码的核验、基于银行卡的核验[18]。身份鉴别通常包括基于手机短信、基于生物特征、基于行为分析等[19]。其中,基于行为分析的身份鉴别[20]通常需要对大量用户的服务信息进行机器学习,总结出用户行为规律,以之为基础,为用户提高更加安全可靠、便于使用的身份鉴别机制。同时对API鉴权方面,也通常支持用户侧采用访问控制等非密码技术的方式来保护其访问云密码服务的凭据。

 

远程密钥管理技术。厂商或机构在提高密码服务的过程中,由于用户将密码功能委托服务提供者执行,因此很多场景下用户密钥安全成为关键问题。如何保证用户密钥不被服务提供者违规使用是一个密码服务?例如,目前在基于云计算的电子签名服务中,广泛采用“协同数字签名”机制[13][14],通过将密码功能分在用户端和服务端两侧完成,任何一方发现功能执行违背了自己的策略或意愿都会造成密码功能无法执行,这既降低了因用户终端侧操作环境复杂多变、密钥安全存储困难等因素导致的潜在风险,尤其是便于使用移动终端完成密码功能,这就促进了移动终端业务的发展;另一方面,用户的确认和控制是必须的,从而使服务端主动或被动的违规操作失去价值,因而,协同数字签名机制是本节所描述的云密码服务的一种重要技术。

 

新兴密码技术。与协同签名类似,在加密解密场景,协同加密解密也有很多场景中使用[15],例如电子招投标、文件共享、群组协同工作等;代理重加密[16]用于文件安全共享等场景,安全多方计算[17]用于外包计算等。而同态加密[18]等技术目前看还出于研究和尝试阶段,没有大规模使用。

 

数据安全保护技术。在本节所描述的云密码服务中,服务方通常还会采用数据加密存储、数据脱敏等机制,对业务所收集的用户信息进行安全保护。一些技术能力较强的服务提供商甚至会采用机密计算[21]、隐私计算[22]的技术,保证数据在使用过程中的安全。

 

2.2.2.3 通过严格的服务测评、认证和审计保证服务SLA得到满足

本节所描述的服务,通常需要通过第三方的测评、认证和审计,确保服务方向外提供的SLA是恰当的,并通过业务规则声明来向外说明采取了必要的技术、管理等手段保证SLA中的声明和承诺是能够得到满足的,通过外部的审计活动保证服务是真正按照业务规则说明来建设、部署、运行、迭代和维护的,这就实现了云密码服务使用者对“合规敏捷”特性的需求。

 

为了保证审计活动能够达到所预期的目的,服务提供者通常还会采取存证了技术,保证服务相关活动中所产生的各种记录完整无误,供审计方或用户随时查询核对,以证明服务方的服务活动合规性。

 

2.2.3 安全特性

2.2.3.1 新的技术增强了服务安全性

协同密码技术、多方安全计算技术,既为用户提供了灵活易用的服务,又从技术上避免了服务方主动或被动的违规操作,能够极大的提升服务安全性。尤其是协同数字签名,近年来已经在产业中大量应用。

 

2.2.4 商业视角

此类型的云密码服务与第一类云密码服务在很多场景上是互补的。本节描述的云密码服务与上节的服务在业务场景有很大的区别,在业务中有很大的可能是“互补”的。即便用户拥有传统环境或云环境“内生”的密码能力,购买了密码机或租用了第一类云密码服务,但业务中还是可能存在一些场景,需要满足合规要求的第三方密码服务,或需要全局依赖的密码功能,这时,就需要使用第二类云密码服务。

 

此类型的云密码服务与与第一类云密码服务在很多场景中可能会互相衔接。由于在密码功能调用过程中,需要对作为业务提供方的调用者身份进行鉴别,这时,可以使用业务应用“内生”的密码能力来实现这一身份鉴别过程,如果业务应用部署在云环境中,那么可以采用第一类云密码服务所提供的密码能力,保存密码服务调用者的身份凭据、身份密钥以及身份鉴别的过程。另外一种可能业务中采用“内生”的密码能力进行密码计算,但使用内生的密码能力之前需要从第二类密码服务中安全获取到密钥或数字证书。

 

此类型的云密码服务有可能成为第一类云密码服务的渠道和增值服务。假如此类型的云密码服务部分或全部基于云厂商提供的基础设施,那这个云密码服务实际上就变成了第一类云密码服务的一个“渠道”和“通道”,实际上是将云厂商提供的密码能力经过各种应用层的包装,为其增加一层价值后提供给用户。

 

使用此类云密码服务,用户侧安全能力是必需的。用户侧通常也需要与业务安全级别相匹配的密码能力,或与密码措施等同效果的其它安全防护能力,用以存储用户侧身份鉴别的凭据,保证身份鉴别和通信过程中的数据安全。在用户侧没有足够密码能力的场景中,可以采用其它安全措施或管理手段进行安全防护。当然,从职责分配上而言,这个责任不是云密码服务建设者和运营者应当解决、能够解决的,用户侧有责任保护好自己的凭据,而不应当将这个责任推给服务运营者,可以通过访问控制等手段,当然也可以通过本地的密码机制实现。

 

即便客户端具备足够的密码能力,仍然有很多使用此类云密码服务的诉求。原因如2.2.1中所描述,在很多用户侧具备足够的密码能力的场景中,为了统一的管理、一致的策略和功能的协同,仍然有很多使用云密码服务的需求。例如典型的云签名,其设计的一个出发点是移动终端密码能力不足,密钥存储安全性不足,使用协同签名降低了客户端密钥存储和使用面临的风险。但云签名的存在绝不仅仅为降低客户端的风险,云签名服务使服务端和业务调具备了对终端密码行为的控制能力,云签名服务通过 “合规”测评使业务更好地满足合规要求。这些诉求是很多业务场景都存在的,而单纯靠客户端的TEE/SE、终端密码介质却难以做到。

 

密码厂商可以基于自己的密码基础设施,配合运营、运维、迭代等机制,独立提供密码服务,或为其它机构建设此类密码服务提供方案、产品以及运营运维等服务,服务应当通过国家相关认证机构的认证。

 

2.3  大型集团为分支机构业务提供的云密码服务

很多大型集团之前的密码系统是由各个分支机构、各个业务自行规划的,因而,很多时候造成密码资源浪费、无法统一管理、难以制定统一的密码策略要求等弊端,因而,大型集团迫切需要将分散的密码系统统一起来,以服务化方式提供,提供云密码服务的“管理敏捷”和“部署敏捷”特性。这种密码服务,由于也常借助云技术,因此,也常被认为是云密码服务中的一种,在很多场景中,也经常被称为“统一密码服务(平台)”、“统一(云)密码服务”等。

 

2.3.1 场景特征

业务系统需要调用服务提供者提供的SDK接口,或向服务主机发送特定格式的报文来调用相关服务。这种情况下,服务提供者向密码功能使用者提供的是“密码功能平台(Cryptography Function Platform”,所以这种交付模式也被称为CPaaS(Cryptography Platform as a Service,密码平台即服务)或CFaaS(Cryptography Function as a Service,密码功能即服务)。

 

本节所描述密码的一大诉求是服务的使用者例如分支机构、业务部门快速便捷通过密码应用安全性评估。原本通过评估需要考虑的技术和管理因素非常多,尤其是密码相关的密钥安全、数据安全、管理安全等等,使用统一的密码服务,这些繁琐的过程都通过云密码服务中统一建设、统一设计、统一部署、统一运行维护来实现,本地仅保留简单的密码功能使用。虽然本地业务系统还有一部分与密码相关的内容,但相比之前,通过评估所需的难度与复杂的、需要的成本都大大降低。

 

本节所描述的云密码服务具体的场景存在很多差异,从服务提供方和服务使用者关系的角度看,有两种不同模式,其一是提供者和使用者属于同一实体,二者之间关于服务没有契约和责任的问题;其二是二者分属不同实体,关于服务,需要明确服务的契约和责任。而其中很重要的一个责任就是密钥安全管理的责任。

 

按照北京密码协会《云密码服务技术白皮书》中的定义,上述“提供者和使用者不属于同一实体”的情况下,由于涉及“密码功能的交付”和“契约和责任”,因而需要第三方对服务的评估和认证;而“不属于同一实体”的情况则不需要第三方的评估和认证,很多时候人们并不将这类服务当初“云密码服务”来看待。

 

从部署的角度来看,又有两种不同的模式,其一是提供者和使用者在同一网络边界内,其二是二者在不同的网络边界内。第一种情况下,云密码服务可以提供各种基础密码功能如对称加密解密、数字签名等,第二种情况下出于效率和安全性限制则一般不提供这类基础密码功能,主要是提供用于满足集团内部合规性要求而设计的服务。如果需要跨网络提供基础的密码功能,需要考虑网络通信开销、安全通道开销,以及提供者和调用者之间的身份鉴别安全。

 

对大型用户而言,除典型的集中式云密码服务部署方式外,通常还可以采用云密码服务“集中+分布”式部署。“集中+分布”式部署实际上是集中化的云向边缘弥散而形成的,其要点是“统一管理”+“分布式运行”。如下图所示:

 

 

上图是一种典型的“集中+分布”式部署方式。其中,“总部”、“分支机构”也可以理解成为“中心系统”和“子系统”等类似的场景模式。图中,总部的云密码服务提供全局的身份管理、全局密钥管理可供分支机构使用,同时提供密码功能为部署在总部的系统使用。分支机构可以采用总部提供的全局身份和全局密钥管理,当然也可以建立本区域的云密码服务,使用区域性的身份管理和区域性的密钥管理,以及本区域的密码功能,这取决于业务的诉求。而这种模式,可以沿着这一模式向下延伸。例如“部级”-“省级”-“市级”,直至达到与业务和管理诉求相匹配的安全性和可用性。每一级,都遵循上级的策略和管理要求,为本级的业务系统和下级提供身份管理、密钥管理、策略和调度以及密码功能。

 

一种比较典型的场景模式是总部机构云密码服务实现统一的身份管理、统一的密钥管理和统一的密码策略,具体密码功能由分支机构的云密码服务实现,这是性能、安全性、可用性与效率几方面兼顾的一种折衷。对于其中某些特殊领域,可能在此基础上,要求某些存在“强烈统一管理和策略一致”或“强烈加密数据互通”的情况下,可能会需要一部分密码功能必须使用总部云密码服务,一部分可由分支机构实现。而总部系统要求各分支机构所有密码功能都使用总部的云密码服务的情况则因效率问题和安全问题导致部署复杂且不易实施。

 

在上述场景模式的另外一种极端化部署是在分支机构实现身份管理、密钥管理、密码功能,总部系统仅实现区域身份的互信、密码功能策略管理和分发以及密码功能互通。这种情况下,就形成了一个由各个分支机构密码系统组成的“密码”的“算力网络”。身份的互信可以采用统一的数字证书体系实现,统一的密钥管理体系可以采用密钥逐级分散机制实现,密码策略管理和分发则可以依靠建立统一的标准体系、监管体系实现。密码功能的互通,一方面依托各种互操作标准实现,对于与密钥、加密解密相关的密码功能互通,如果密码算力网络上每一个节点均可使用相关密钥、实现所需的密码功能,可通过云密码服务的调度功能与业务需求匹配度最高、代价最低的节点完成;如果只有特定的算力提供节点可实现,可借助云密码服务的服务调度机制实现,将密码功能的请求通过寻址路由等方式分派到适当的算力提供节点完成。

 

此外,本节描述的云密码服务,如果需要为分支机构及分支业务之外的用户提供密码服务,可参照2.2节的描述。

 

2.3.2 技术特点

从技术角度看,本节描述的云密码服务的最大特征是使用密码资源池。关于资源池的描述请参见第一类云密码服务的描述。

 

第二个技术特点是,此类云密码服务更加靠近业务,因而,由于业务的需要,需要对云密码服务的功能、非功能特性进行长时间、高频度的迭代,包括修正bug、问题排查、加入新功能、架构调整等。

 

第三,对于2.3.1中所描述的“提供者和使用者不属于同一实体”的服务,需要使用额外的技术手段和非技术手段,保证密钥的产生、存储、使用等生命周期安全,保证服务方不会主动或被动违规使业务应用的密钥进行操作。

 

2.3.3 安全特性

“提供者和使用者属于同一实体”模式下的安全需求较为简单,容易实现。而“提供者和使用者不属于同一实体”则需要采用技术手段,保证密钥托管状态下的生命周期安全。

 

“提供者和使用者在同一网络边界内”的安全通信和身份鉴别较为简单,易于实现,而“提供者和使用者不在同一网络边界内”则需要考虑安全通信和更为严格的身份鉴别机制。

 

2.3.4 商业视角

本节所描述的云密码服务,由于在集团内部,密码服务提供者和使用者分离后,密码服务提供者通常属于成本单位,而密码使用者因其通常属于业务方,属于效益单位,如何平衡成本和效益两种单位之间的关系,是规划时必须要考虑的。

 

本节所描述的云密码服务,由于其密码功能集中化这一特性,使其迭代和不断完善需求变得更加复杂多变,集中服务化的密码功能提供方式,每个功能都有可能有很多用户共同使用,这也使每个功能的修改都需要考虑对其它业务的影响,进行更多设计的考量,这也增大了功能完善与迭代的工作量。因此,虽然相比传统分散型的密码系统,对业务方而言,极大的降低了密码设备和产品购买、部署、维护的成本,但成本实际上并没有消失,而是转嫁到了对作为成本方的服务提供单位上,服务提供方所需的购买、部署、维护成本还是非常高的,尤其系统迭代成本更为突出(由于密码统一建设、统一部署、统一维护,所以即便服务提供方的成本提升很多,总的看来,对整个集团而言,总体成本还是大大降低的)。因此,密码服务提供者和相关运营者、支撑厂商需要充分认知到服务迭代和运维过程中的成本需求,妥善规划以保证服务的平稳运行。

 

本节所描述的云密码服务,在满足分支机构和业务需要之外,还可以将云密码服务的能力辐射到行业,或辐射到相关单位如向本集团提供软件产品的供应商,来加强软件供应链安全能力、供应链上厂商的安全管理能力。

 

密码厂商可作为技术提供方,提供方案、产品、集成和运营运维。考虑到后其持续不断的迭代和完善,密码厂商可向用户长期提供技术迭代、产品完善和系统集成支撑。

 

03

总结

本文对常见的几种云密码服务。我们可以看到,密码服务是将技术和管理的复杂度、合规的成本由统一的服务提供方承担,为密码功能使用者提供最大限度的敏捷,而这种敏捷,能够带来密码供给侧资源的优化部署、密码管理效率的提升,为密码应用合规化提供强有力的支撑。当然,在本文所列的类型之外,也可能还存在其它未被描述到的其它类型的云密码服务。在为客户设计云密码服务时,应当认识到,各种密码服务的应用场景、技术特征、安全性特征都各不相同,因而其技术路线也存在很大差异,所以方案设计者需要针对客户和项目的具体需要进行分析和设计,选择适当的类型。

 

附录A 几种典型的密码资源池

 

通常,密码资源池可分为基本型密码资源池(Base CSRP)、进阶型密码资源池(Advancing CSRP)、高级密码资源池(Advanced CSRP)。

 

A.1

基本型密码资源池

基本型密码资源池主要通过负载均衡和“密码服务网关(Crypro Service Gateway)”[23]向外提供各种服务接口,通过统一的监控、日志归集等运营运维手段保证池的正常服务运转。基本型资源池基本满足了用户对密码“部署敏捷”、“接入敏捷”、“管理敏捷”、“运维敏捷”的诉求。密码服务网关通常支持配置各种接入策略包括调用者身份鉴别、计费,将接收到的密码请求路由到池中符合策略要求的密码设备或模块进行处理,返回处理结构。其次,为方便运营运维,密码资源池通常提供各种图形化运营运维工具或系统,用以进行密码策略管理、密码设备管理、接入管理、日志管理、事件管理、工单管理等功能。

 

基本型密码资源池通常使用若干密码机完成密码服务所需的密钥产生、密钥管理和密码运算,密码机通常无须进行大的改变,仅需支持原本的标准接口,例如GM/T0018等即可接入,密码资源池通过对各种密码机的适配接入,起到保护用户先期投资、降低密码机产品供应商潜在风险的作用。另一方面,密码资源池还可以部署采用虚拟化技术实现的“云密码机”,支持将单台密码机主机虚拟为多台“虚拟密码机”提供,以达到密码能力水平扩展、易于管理的目的。

 

基本型密码资源池的这种设计路线是从传统密码设备形式过渡到服务化形式的第一步。其优势是易于实现且能快速满足统一入口、统一管理的目的,使用单独的密码机产生和管理密钥,密钥不出密码机,使其最大限度做到与使用传统密码机安全性以之;不足之处是密钥和密码运算不分离的架构使其密码计算能力分配粒度较粗,调度复杂,很多时候密码资源限制但却无法分配给需要的业务应用,带来效率的浪费,即便使用云密码机方式其带来的优化也有限。

 

A.2

进阶型密码资源池

进阶型密码资源池的一大特性是密钥和密码运算相互解耦。通常采用统一的密钥管理系统,在密钥管理系统中通过密码机制保证密钥隔离,这就使所有的密码机都成为“密码计算单元CCU(Crypto Computing Unit)”[24],从而可以在整个资源池范围内统一调度、按需分配,这使得服务商能够最大限度通过资源调度,做到密码计算资源共享,起到节约资源的作用。

 

正是因为密码机成为单纯的“计算单元”,因而,进阶型密码资源池能够支持“先聚合、再分片”的资源分配模式。和基本型密码资源池不同,基本型资源池每次申请密码资源,至少需要分配一台虚拟密码机,哪怕应用端每天仅需要10次密码计算,如果需要超过1台密码机的能力,例如每秒需要签名50万次,需要租用多台虚拟密码机并构建密码机集群;而进阶型资源池,在服务层将计算单元的能力聚合后,可以按照用户应用的任意用量需求来进行切片,仅给与其满足业务需要的密码能力,对密码需求量要求非常大的业务应用,直接切分更多资源,变成一台“更大”的虚拟密码机即可。这极大地简化了用户在租用“虚拟密码机”时的部署成本和维护成本。

 

进阶型密码资源池在基本型资源池的基础上,进一步降低了业务应用使用密码的成本,使其“更加敏捷”,同时,“先聚合、再分片”的设计路线,使服务商以较低的成本,实现了“密码计算能力变更敏捷”,用户需要更多密码能力就能够快速拥有和获得;用户希望释放部分密码能力时也能够快速将其退回。

 

A.3

高级密码资源池

高级密码资源池在满足基本型资源池和进阶型资源池的特性要求之外,还采取了一系列措施,将密码服务提供商的服务能力提供给用户。

 

第一个方法是引入密码功能主动迭代机制,即根据密码相关的威胁情报以及资源池历史数据分析的结果,动态调整密码功能到安全状态,包括密钥、密码算法配用策略、密码算法实现等,在无法单方面调整的情况下,也可为用户提供报警通知提示用户进行变更等。这也为将来的密码算法更换与过渡创造了条件。

 

正如2016年4曰的NISTIR 8105《Report on Post-Quantum Cryptography》中首先提出为了应对量子计算给传统密码技术和密码系统带来的冲击,传统密码系统应“评估算法更换的成本”、“为升级到后量子算法做好准备”,而密码资源池通过密码以集中方式部署,使算法过渡的成本易于评估,主动迭代使密码系统能够主动进行过渡需要的能力支撑。

 

即便不考虑抗量子算法带来的潜在威胁,密码系统也越来越“从静态走向动态”,现代新型密码系统也应该能够迅速从现有加密算法和原语转移到更新和更新的算法和原语的能力。高级密码资源池的主动迭代功能正是基于这种新型设计理念而进行的实践活动。

 

第二个方法是运营方可通过新技术,使密码功能、能力的变更更加快捷,包括使用软件密码模块方式使密码功能可通过一个内部“密码模块功能变更服务”按需进行更新,从而改变模块提供的密码算法、密码产生和管理机制,使用LibOS技术[25]使密码模块支持在极短的时间内完成启动、挂起和恢复等,从而实现用户密码资源的快速扩展、快速回收。

 

高级型密码资源池在基本型资源池和进阶型资源池的基础上,实现了“密码功能变更敏捷”,从而,使业务系统能够在安全形势日趋多变的网络形势下,持续得到有效的密码保护,持续处于安全状态。

 

参考文献

 

[1]云密码服务技术白皮书.北京市商密协会 2019年10月

[2] 佚名. AmazonWebServices新推AWSCloudHSM服务[J]. 计算机与网络(7期):75-75.

[3] 佚名. 江南天安助力阿里云保障云端安全[J]. 中国信息安全, 2016(1):133-133.

[4] 徐祺, 崔久强. 云计算环境下的电子签名服务研究[J]. 软件, 2016, 37(6):33-36.

[5] Safenet I . AWS Customers Can Enforce Control and Maintain Compliance with SafeNet Cloud-Based Encryption and Secure Key Management[J]. safenet inc.

[6] VPC, https://aws.amazon.com/cn/vpc/?vpc-blogs.sort-by=item.additionalFields.createdDate&vpc-blogs.sort-order=desc

[7]什么是函数计算 https://help.aliyun.com/document_detail/52895.html 2021/8/6

[8] A Pérez, G Moltó, Caballer M , et al. Serverless computing for container-based architectures[J]. Future Generation Computer Systems, 2018, 83(JUN.):50-59.

[9]  Dong Y , Yu Z , Rose G . {SR-IOV networking in Xen: architecture, design and implementation. 2008.

[10] Jones M T . Virtio: An I/O virtualization framework for Linux. 2010.

[11] 刘伟. 云计算环境下数字签名应用趋势[J]. 信息安全与通信保密, 2013, 000(012):64-64.

[12] 熊传毅. 基于网络环境下云服务中电子合同应用[J]. 电子世界, 2018, 000(022):50,52.

[13] 冯琦, 何德彪, 罗敏,等. 移动互联网环境下轻量级SM2两方协同签名[J]. 计算机研究与发展, 57(10):11.

[14] 尚铭, 马原, 林璟锵,等. SM2椭圆曲线门限密码算法[J]. 密码学报, 2014, 1(002):155-166.

[15] 崔久强, 管佩, 黄晨,等. 一种基于SM2算法的协同解密方法及装置,系统,介质:, CN111049650A[P]. 2020.

[16] 庞岩梅, 李晓东, 叶思水. 基于代理重加密的云数据共享机制的研究与实现[J]. 南京理工大学学报:自然科学版, 2015.

[17] 董涛. 安全多方计算的应用研究[D]. 解放军信息工程大学, 2008.

[18] 夏超. 同态加密技术及其应用研究[D]. 安徽大学, 2013.

[19] 温旭杰, 马建军. 可信身份核验服务设计与实现[J]. 信息安全研究, 2019(10).

[20] Peng Jia, 彭佳, Jiang Wei yu ,等. 基于用户行为分析的动态身份鉴别系统[C]// 中国密码学会 中国信息协会. 中国密码学会 中国信息协会, 2016.

[21] A Technical Analysis of Confidential Computing, https://confidentialcomputing.io/wp-content/uploads/sites/85/2021/03/CCC-Tech-Analysis-Confidential-Computing-V1.pdf 2021/8/6

[22] 李凤华, 李晖, 贾焰,等. 隐私计算研究范畴及发展趋势[J]. 通信学报, 2016, 37(04):1-11.

[23] Crypto Service Gateway. https://www.cryptomathic.com/products/key-management/crypto-service-gateway

[24] 李向锋, 傅大鹏, 李敏. 基于多技术融合的密码计算资源池研究[J]. 信息安全研究, 7(4):5.

[25] Madhavapeddy A , Scott D J . Unikernels: The Rise of the Virtual Library Operating System[J]. Communications of the Acm, 2014, 57(1):61-69.

本网站使用Cookies以使您获得最佳的体验。为了继续浏览本网站,您需同意我们对Cookies的使用。想要了解更多有关于Cookies的信息,或不希望当您使用网站时出现cookies,请阅读我们的Cookies声明隐私声明
全 部 接 受
拒 绝