高志权
摘要:大数据、人工智能、移动互联网、物联网等新型网络技术和产业的蓬勃发展,离不开云计算的支撑,随着社会经济的快速发展,云计算逐渐走向平台化、服务化,云密码服务应运而生。这种全新的模式,使传统的密码应用方式转型为云密码服务,用户不再“购买”密码硬件或密码系统等密码产品,而是以“租用”的方式使用密码功能。密码技术必须与时俱进,适应云计算的服务化需求,虚拟化技术、可信计算技术、微服务等技术为云密码服务提供基础支撑,密鑰隔离、远程管理、访问控制等技术是云密码服务的关键技术。
关键词:云密码服务;密码技术;云计算
中图分类号:TP315 文献标识码:A 文章编号:1007-9416(2019)09-0181-03
0 引言
信息技术和互联网的飞速发展,尤其是云计算、大数据、物联网、人工智能等技术的飞速发展,促进了业务的发展与变革。越来越多的业务,需要便捷、可靠、安全的密码功能,来保障业务的安全性和合规性,同时,也要求密码功能能够按需使用、按使用量计费。而传统的以密码设备、密码系统为主的交付方式,已渐渐不能满足业务的需要。在这种需求推动下,云密码服务的概念开始出现,云密码服务是一种全新的密码功能交付模式,用户不再“购买”密码硬件或密码系统等密码产品,而是以“租用”的方式使用密码功能。
云密码服务需要密码技术及其他相关技术提供支撑,主要有当前常用的密码算法、密码协议等成熟密码技术,适应新型应用场景的同态加密、多方计算等新型密码技术,满足云化部署需要的虚拟化、微服务等云服务技术,以及密钥隔离、远程管理等基于多种技术融合的云密码关键技术。
1 新型密码技术
新型密码技术主要基于基础密码技术,探索具有更多特性的密码技术,下面举例介绍几种新型密码技术。
1.1 保留格式加密
保留格式加密(也称作“保形加密”,format-preserving encryption,简称FPE)是一类特殊的对称加密机制,它最主要的特点就是保证密文的格式与加密前的明文格式完全相同。保留格式加密应用于数据库加密,即不需要改动应用系统,也不需要改动数据库结构,此外保留格式加密可以用于数据的脱敏,并可通过调节加密的位数来实现不同的访问控制粒度等。
为了更加直观了解保留格式加密,我们比较保留格式加密与SM4加密之后的密文,如表1所示。
保留格式加密算法除了可以保证加密前后数据格式保持不变外,还具备加密前后数据长度不变、格式不变等特点。
1.2 白盒密码
传统的密码运算都是假设终端设备是安全可靠的,如果这些设备处于一个不可信的执行环境中,当应用程序使用密钥进行运算的过程中,攻击者通过监控应用程序的执行,可以观察到内存的变化,则密钥对攻击者而言是直接可见的。
白盒加密技术主要解决不可信环境中的安全密码运算问题。白盒密码技术提供充分的可见性来代替原有的黑盒密钥运算,在白盒环境下,攻击者可以观察到安全密码的输入、输出、运行和内存变化等,可以自由的观察动态代码的执行,并且完全可见和改变内部算法各个环节的输入输出(白盒密码工作原理示意参照图1)。在这种完全透明的场景下,白盒加密技术仍然可以保护密钥的安全性,攻击者仍然无法获取到密钥。
1.3 同态加密
同态加密主要用于密文信息处理。同态加密是指对其加密数据进行处理得到一个输出,将此输出进行解密,其结果与用同一方法处理未加密原始数据得到的结果一致。
与普通加密算法只关注数据存储安全不同,同态加密算法关注的是数据处理安全,提供对加密数据进行加法和乘法处理的功能,使用同态加密算法,不持有解密私钥的用户也可以对加密数据进行处理,处理过程不会泄露任何原始数据信息,同时,持有私钥的用户对处理过的数据进行解密后,可得到正确的处理结果。
根据同态加密的使用场景,设计同态加密的技术方案如图2所示。
1.4 基于属性的加密
基于属性的加密(attribute-based encryption,简称ABE)可用于访问授权服务,是保障云存储安全的重要技术之一。ABE是基于身份的加密体制的进一步演变,ABE可以构造一个访问控制结构,该结构保证了ABE的密文能够被多个不同的用户私钥去解密。
1.5 开放授权
开放授权协议(OAuth)主要用于认证授权服务。OAuth协议的出现解决了Web服务整合过程中出现的用户、第三方应用和服务提供方之间在认证授权方面出现的问题。它为用户在客户端应用上点击“第三方”登录时,能够访问存储的受保护数据信息提供了认证标准,与其他授权协议的区别是:OAuth能在不触及用户身份等敏感信息的情况下,允许客户端应用在授权范围内访问该用户托管在服务器上的保护数据。
2 云服务支撑技术
云服务支撑技术包括虚拟化技术、可信计算技术和微服务架构等,主要用于实现云服务模式。
2.1 虚拟化技术
虚拟化技术可用于密码资源虚拟化。虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为基础设施。虚拟化技术与密码技术结合可以支撑构建云密码资源池,对用户提供虚拟密码机服务。
密码卡是一种基础密码产品,是许多密码产品的基础密码部件,密码卡的虚拟化是密码设备云化部署的一项基础技术。图3是一种基于SR-IOV硬件虚拟化技术的密码卡实现,将一块物理PCI-E密码卡虚拟成多块虚拟密码卡,并分配给多个用户使用,每个用户有独立的密钥存储空间和I/O通道,可实现密钥安全隔离。
2.2 可信计算技术
可信计算技术可用于可信密码服务。可信计算技术采取主动防御的方式,以系统启动过程软件加载的度量、启动后软件的动态度量、通信过程的远程证明等机制发现系统的安全问题,其基本原理是:以信任根为核心,把核心信任根模块作为起点,采取基于可信平台模块的信任链传递技术,并依靠其提供的完整性度量和验证服务,按照计算机系统的启动运行过程,一级验证一级,一级信任一级的方式,实现信任链的传递。可信计算技术应用于密码基础设施,可以对外提供可信云密码服务。
2.3 微服務架构
微服务是一项在云中部署应用和服务的新技术。微服务的基本思想在于围绕着业务功能采用组件的方式来创建应用,这些组建可独立地进行开发、管理和性能优化。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付变得更加简单。显然,云密码服务也可以采取微服务架构,充分利用微服务架构优势,使云密码服务部署、管理和交付变得更加简单。
3 云密码关键技术
3.1 密钥隔离
云密码服务面向不同的安全等级要求,需要提供多层次的密钥隔离机制。对于核心领域及关键行业需要提供高安全等级的密钥隔离,建议直接采用云密码资源池提供硬件密钥隔离安全。对于常规业务应用需提供基于主密钥隔离的安全密钥管理服务。对于多用户的应用场景,在以上密钥隔离技术的基础上供用户级的密钥隔离。自带密钥加密(Bring Your Own Encryption,BYOE)是一种云计算安全模型(参见图4),允许云服务客户使用自己的加密软件并管理自己的加密密钥。
3.2 远程管理
云密码服务的运维管理可根据实际需要与云密码服务商分配运维责任,并且用户对云密码服务的运维管理只能远程进行。通常情况下,建议密码硬件基础设施和基础网络的运维管理由云密码服务商或云计算服务提供商提供,用户更应关注密钥管理、安全策略配置及安全审计等方面的运维管理。使用PKI或其他身份认证技术、SSL/TLS安全通信技术等保证远程管理的安全性。密码服务开通时,可由服务提供商设置初始管理员后,将身份认证凭证(如智能密码钥匙等)交给用户,用户即可远程登录到云密码服务管理界面。
3.3 访问控制
云密码服务不同于传统的密码设备单一、可控的安全部署模式,其灵活性、远程性、迁移性都会带来更高的风险。访问控制作为云密码服务中接入服务的关键一环,应结合多种认证模式基于角色、服务、身份的对云密码服务进行访问授权控制,云密码服务通过集成证书认证、OAuth认证、SMAL认证、OpenID等认证形态提供多种模式的访问控制,对于不同的业务服务模式,采取最合适的访问控制机制,可以极大的提高云密码服务的安全性,同时,借助访问控制机制,为云中密码服务的全链审计提供的有效的技术支撑。
4 结语
云密码服务不仅是一种新的商业模式,也给密码技术提出新的需求和挑战,甚至给密码技术带来新的发展方向。当前云密码服务正处于发展的初级阶段,已经有些云密码技术已经得到应用实践,很多新技术的研究和应用还在探索中,并且随着密码技术与其他技术的深度融合也会衍生出更多适用于云计算环境的新型密码技术。
Abstract:the rapid development of big data, artificial intelligence, mobile Internet, Internet of things and other new network technologies and industries is inseparable from the support of cloud computing. With the rapid development of social economy, cloud computing is gradually moving towards platform and service, and cloud cryptography service comes onto the stage. This new mode transforms the traditional cryptographic application mode into cloud cryptographic service. Instead of ‘buying/owning the cryptographic hardware or system and other cryptographic products, uses nowadays only need to pay for the services for cryptographic functions. Cryptography thus must keep up the pace and adapt to the service based cloud computing. Virtualization technology, trusted computing technology, micro service and other technologies lay the foundation for cloud cryptography services. Key isolation, remote management, access control and other technologies are key technologies of cloud cryptography services.
Key words:cloud cryptography service; Cryptography; cloud computing