云密码服务中密钥保护体系设计

第29卷第4期北京电子科技学院学报
2021年12月
Vol.29No.4JournalofBeijingElectronicScienceandTechnologyInstituteDec.2021
密码服务密钥保护体系设计∗
王㊀雄㊀冯文浩㊀池亚平
北京电子科技学院ꎬ北京市㊀100070
摘㊀要:为解决云服务在用户隐私㊁数据保护等安全方面的问题ꎬ云密码服务应运而生ꎮ面对云服务中用户数量多㊁需求差异大等特点ꎬ云密码服务一般提供海量密钥ꎮ如何在云密码服务中结合虚拟密码机设计有效的密钥保护体系成为云密码服务中关键的问题ꎮ本文结合虚拟密码机之间的独立㊁隔离特性ꎬ设计以虚拟密码机中密钥库为核心的密钥保护体系ꎮ在该体系中ꎬ从虚拟密码机㊁云密码服务两个层面将海量密钥实现分层逐级保护ꎬ同时ꎬ对密钥的远程管理需求ꎬ设计基于密码技术的身份认证且建立安全通信通道ꎮ关键词:密钥保护ꎻ云密码服务ꎻ虚拟密码机中图分类号:TP309 7㊀㊀㊀文献标识码:A
文章编号:1672-464X(2021)4-18-24
∗㊀基金项目:国家重点研发计划项目 私有云环境下服务化智能办公系统平台 (项目编号:2018YFB1004100)与中央高校基本
科研业务费项目 密码系统关键技术研究 (项目编号:328201909)资助
∗∗㊀作者简介:王雄(1977-)ꎬ男ꎬ副教授ꎬ硕士ꎬ系统安全㊁密码应用ꎮ
冯文浩(1997-)ꎬ男ꎬ硕士研究生ꎬ网络空间安全ꎮ池亚平(1969-)ꎬ女ꎬ教授ꎬ硕士ꎬ网络安全㊁加密技术ꎮ
引言
随着 互联网+ 的不断发展ꎬ云平台在可靠性和可扩展性等方面表现出巨大优势ꎬ帮助企业在计算机㊁网络等基础设施方面节约了大量的人力物力ꎮ但是ꎬ当前云平台在信任方面表现不佳ꎮ用户存储在云平台中数据的机密性和完整性难以保障ꎬ云平台的不透明性让用户失去对数据的控制权ꎮ如何保障云平台中海量且高度共享数据的机密性和完整性呢?关键在于将密码技术运用其中ꎬ正因为如此ꎬ云密码服务应运而生[1][2]ꎮ2013年美国RSA大会上ꎬWang等[3]提出了 CaaS(CryptoasaServiceꎬ密码即服务) 的概念ꎬ云密码服务随之迅速发展ꎮ国外的Am ̄azon[4]等企业已有相对成熟的云计算密码服务
套件ꎬ国内华为[5]㊁阿里云[6]等也推出了一系列相关云密码服务平台和组件ꎬ向用户提供网络传输安全㊁存储加密安全和中间件平台安全等不同层次的云计算密码安全服务ꎮ虽然云密码服务[7][8]产业链发展逐渐成型ꎬ但依然存在着密钥管理混乱㊁密钥存储不安全㊁密码资源池使用效率不高等诸多问题ꎮ
对于云密码服务ꎬ其显著特征是多租户㊁海量密钥㊁多模态密钥ꎮ面对大量租户ꎬ如何在有限物理密码资源情况下提供无限的密码服务?如何面对海量密钥提供安全可靠的存储?如何将多种密钥进行有效管控?这些都是云密码服务必须解决的问题ꎬ密钥有关的问题[9]尤其重要ꎮ一方面ꎬ密钥的安全直接决定着密码服务的有效性和可靠性ꎬ密钥泄露㊁不安全的密钥存储
智能自吸泵
w.bookan. All Rights Reserved.
第29卷云密码服务中密钥保护体系设计㊀
都将使设计精良的密码算法完全丧失防御能力ꎮ另一方面ꎬ密钥与用户㊁应用㊁密码设备紧密相关ꎮ密钥可以代表用户㊁设备的身份ꎻ密钥在应用中生成并大量使用ꎻ密钥借助于密码设备进行密码运算[10]ꎬ同时ꎬ密钥的存储㊁产生离不开密
码设备ꎮ所以ꎬ云密码服务中ꎬ密钥体系结构的设计直接决定海量㊁多模态密钥的有效管理ꎮ1㊀云密码服务
云密码服务为多租户提供安全㊁可靠㊁即时的密码运算以及有效的密钥管理ꎮ理论上ꎬ存在无限密码资源ꎬ按照租户的实际要求(功能要求㊁效率要求等)进行分配ꎮ但是在实际情况中ꎬ为了满足多租户的大量密码资源需求ꎬ云密码服务只能采用 产品共享㊁资源池化㊁虚拟分配 的策略ꎬ即支持云密码服务的物理产品由所有租户共享使用ꎬ并将所有密码资源采用资源池的方式进行管理ꎬ根据每个租户资源的需求进行资源的逻辑分配ꎬ只有租户实际调用密码服务时物理产品才真正提供密码运算ꎮ
云密码服务在逻辑上以提供密码服务为核心ꎬ通过将有限的密码资源进行池化ꎬ形成逻辑上无限且可以动态分配的密码服务资源ꎬ为多租户分别提供完全隔离的密码服务ꎬ如图1所示ꎮ
图1㊀云密码服务逻辑
㊀㊀通过云密码资源的池化设计ꎬ虽然可以有效解决物理密码产品的计算资源不足等问题ꎮ但是ꎬ在云密码服务逻辑中ꎬ租户与密码资源单元是一对一关系ꎬ密码资源单元与密码模块之间是多对多的关系ꎮ此时ꎬ一个密码模块中将出现多租户的多类型且大数量级的密钥ꎮ在云密码服务中ꎬ对多租户相关的海量多模态密钥进行有效管控就需要对密码资源单元以及密钥管理进行合理设计ꎮ
2㊀虚拟密码机VCM
在云密码服务中ꎬ图1中的密码资源单元具体化为虚拟密码机VCM(VirtualCryptoM
achine)实施资源组织管理ꎬ每个VCM内包含密钥库ꎬ并基于密钥管理模块对密钥的产生㊁导入/导出㊁备份等进行管理ꎮ虚拟密码机VCM的架构如图2所示ꎮ各虚拟密码设备在密码服务㊁密钥管理等方面完全隔离且运行相互独立ꎬ从逻辑上为用户提供完整的密码服务ꎬ同时以VCM为基本单位ꎬ对密码资源池中的密码资源单元进行有效管理
图2㊀虚拟密码机VCM架构
租户在云密码服务平台注册后ꎬ便可在云密码服务系统中申请密码运算资源ꎮ云密码服务
91
w.bookan. All Rights Reserved.
北京电子科技学院学报2021年
管理系统按照需求(密码运算类型㊁密码运算速度等)动态提供并配置租户的密码服务资源ꎬ并按照全系统统一的密钥管理机制ꎬ为用户初始化用户级密钥(用户密钥㊁设备密钥㊁密钥加密密钥等)ꎮ虚拟密码机VCM按照密钥管理体系结构的设计ꎬ对用户级密钥进行安全保护ꎮ同时ꎬ用户可以根据应用业务的需求在云密码服务系统中自行定制应用级密钥ꎮ
从功能上ꎬ虚拟密码机VCM具有与物理密码设备相同的功能ꎮ从结构上ꎬ虚拟密码机VCM依托底层虚拟密码运算单元等计算资源以及密钥库ꎬ设计报文解析㊁身份认证㊁密码服务㊁密钥管理等四个模块ꎬ实现以虚拟密码机VCM为独立单元的用户专享密码服务ꎮ下面对密钥相关的功能模块进行介绍ꎮ
(1)身份认证模块
完成基于密码技术的用户/管理员与VCM的双向认证ꎮ管理员认证后负责VCM的初始化配置工作ꎬ包括用户密钥的生成ꎮ用户认证后便可访问VCM提供的密码服务ꎮ认证过程中ꎬ用户和VCM使用对方的公钥和自己的私钥对随机数进行加密和签名ꎬ并互相发送给对方进行验证ꎮ认证过程中的获取随机数㊁基于公钥的数据加密㊁签名等运算需要物理密码模块的支持ꎮ(2)密钥管理模块
负责VCM中应用密钥的存取访问功能ꎮ面对云环境中应用密钥的海量㊁多模态等特点ꎬ将应用密钥以密态保存在VCM中ꎮ使用密钥时ꎬVCM解密密钥后传给底层物理密码模块进行运算ꎮ无论是用户还是管理员ꎬ都无法获取密钥明文ꎮ该模块还提供密钥的备份与恢复机制ꎬ从而保障VCM密钥的机密性㊁可靠性ꎮ(3)密码服务模块
面向用户提供对称加密/解密㊁非对称加密/解密㊁非对称签名/验签㊁HASH运算㊁随机数获取等密码运算服务ꎮ在进行密码服务提供过程中ꎬ需要调用底层密码模块的密码运算ꎮ3㊀密钥保护体系
云密码服务中从功能角度共涉及四种类型的密钥:身份密钥㊁会话密钥㊁存储密钥㊁密钥保护密钥ꎮ身份密钥用于证实用户或设备的身份ꎻ会话密钥用于通信双方对传输数据的加密保护ꎻ存储密钥是一种用于对数据进行加密存储时使用的长期密钥ꎻ密钥保护密钥是一种用于对密钥进行加密保护的密钥ꎮ下文中的密钥分属四种密钥类型:用于身份认证的用户签名密钥对和设备签名密钥对属于身份密钥ꎻV
CM主密钥㊁VCM本地密钥㊁密钥加密密钥以及用于会话密钥协商或存储密钥保护的用户加密密钥对和设备加密密钥对都属于密钥保护密钥ꎻ业务系统中对数据㊁文件加密存储时使用的数据密钥或文件密钥属于存储密钥ꎻ业务系统中对数据传输时使用的数据密钥属于会话密钥ꎮ
聚氨酯筒料在实际系统中ꎬ每种类型的密钥有若干个ꎬ特别是在云密码服务中存在海量多模态的密钥ꎮ所以ꎬ主要从VCM密钥管理㊁密钥应用两个角度对密钥设计分层次的结构体系ꎮ
一方面ꎬ每名租户对应一个VCMꎬ每个VCM内建立起针对租户的密钥保护体系ꎮ另一方面ꎬVCM密钥库容量有限ꎬ只能满足部分密钥的安全存储需求ꎬ从云密码服务角度ꎬ需要建立以VCM为锚点ꎬ将租户拥有的各类密钥纳入VCM
密钥体系之下的应用密钥体系ꎮ
3 1㊀VCM密钥保护体系
从密码机密钥管理的角度ꎬVCM提供三层密钥结构ꎬ自下而上逐级保护ꎬ最终实现工作密钥的安全保护ꎬ如图3所示ꎮ这里ꎬ工作密钥是用户密钥㊁设备密钥㊁密钥加密密钥的统称ꎮ(1)VCM主密钥
VCM主密钥是底层密钥ꎬ为对称密钥ꎮ该密钥是VCM密钥安全的根ꎬ利用门限秘密共享机制ꎬ将随机生成的VCM主密钥分为多份ꎬ并将密钥分量分散保存到不同管理员的USBKey中ꎬ
02
正弦波发生电路
w.bookan. All Rights Reserved.
第29卷云密码服务中密钥保护体系设计㊀
图3㊀VCM三级密钥体系
通过USBKey与门限机制保障VCM主密钥的安全ꎮ安装VCM主密钥时ꎬ将大于门限数量的密钥分片导入VCMꎬ合成产生VCM主密钥ꎮ(2)VCM本地主密钥
VCM本地主密钥不需要存储ꎬ用于保护存储在VCM密钥库中的工作密钥的安全ꎮ
设备启动时ꎬ利用分散算法将VCM主密钥分散成多组VCM本地主密钥ꎬ并在内存中保存且根据实际情况使用ꎮ当内存掉电后ꎬVCM本地主密钥自动擦除ꎮ当生成工作密钥时ꎬ密钥管理系统根据密钥类型和用途选择一组VCM本地主密钥ꎬ并利用选中的VCM本地主密钥加密工作密钥后存储到密钥库中ꎮ使用工作密钥时ꎬ密钥管理系统再次选择VCM本地主密钥解密出工作密钥ꎮ(3)工作密钥
工作密钥是用户在业务系统需要使用但是不属于业务系统的对称或非对称密钥ꎮ工作密钥可以在VCM中产生或导入ꎬ存储时用选择的VCM本地主密钥加密保护ꎬ并保存在VCM内的密钥库中ꎻ用户密钥使用时ꎬ或者输入外部存储的全部密钥(一般指公钥)ꎬ或者输入内部存储的密钥索引ꎬ在虚拟密码VCM内对用户密钥解密后协助密码算法进行密码运算ꎻ工作密钥在任何情况下不以明文形式出现虚拟密码机外(非对称公钥除外)ꎻ当工作密钥废弃时ꎬVCM对其进行密钥销毁ꎮ
在VCM三级密钥保护体系中ꎬVCM主密钥的门限机制㊁VCM本地主密钥的选择机制以及逐层保护的机制ꎬ为VCM中的工作密钥提供高安全保护ꎮ
3 2㊀云密码服务密钥保护体系
从应用角度ꎬ云密码服务提供三级密钥体系ꎬ基于VCM密钥库扩展业务系统中应用密钥的安全管理ꎬ如图4所示桥壳
图4㊀云密码服务三级密钥体系(1)系统密钥
系统密钥指VCM本地主密钥或其他密码模块的保护密钥ꎬ并作为密钥应用体系中的基础密钥ꎬ用于加密保护上层的用户密钥/设备密钥/密钥加密密钥ꎮ
(2)用户密钥/设备密钥/密钥加密密钥
用户密钥与设备密钥是非对称密钥ꎬ密钥加密密钥是对称密钥ꎬ三种密钥都可以实现应用密钥中会话密钥的协商与分发ꎬ用户密钥与设备密钥标识身份信息ꎬ用于实现身份认证ꎮ用户密钥与设备密钥各是两对密钥ꎬ一对用于加密ꎬ一对用于签名ꎮ加密密钥对可以外部生成后导入密钥库ꎬ且导入时私钥需要加密保护ꎮ签名密钥对必须本地生成ꎮ密钥加密密钥是设备初始化时预置的密钥ꎮ用户密钥或设备密钥的公钥以及密钥加密密钥直接加密保护上层应用密钥ꎮ(3)应用密钥
应用密钥是与业务系统直接相关的会话密钥类型或存储密钥类型的密钥ꎮ在完成身份认证后ꎬ应用密钥中的会话密钥可以通过用户密钥/设备密钥或密钥加密密钥进行协商产生ꎬ并对通信双方传输的数据报文进行加密运算以及HMAC计算ꎬ保证数据报文的机密性与完整性ꎮ在设备断电或会话结束时自动销毁ꎮ应用密钥
12
w.bookan. All Rights Reserved.
北京电子科技学院学报2021年
中的存储密钥可以直接在VCM内部生成或外部导入ꎬ内部生成的密钥需要用户密钥的加密密钥加密后导出到外部存储介质保存ꎻ使用存储密钥时ꎬ或者输入外部存储的密钥密文ꎬ或者输入内部密钥索引ꎻ当存储密钥废弃时ꎬ应用负责调用密码服务接口对其进行销毁ꎮ应用密钥在任何情况下不以明文形式出现在虚拟密码机外ꎮ4㊀VCM密钥管理应用
机械钻孔桩云密码服务中ꎬ管理员通过管理客户端实现对虚拟密码机VCM中密钥的初始化㊁生成㊁销毁㊁备份等操作ꎬ其应用场景如图5所示
图5㊀VCM
密钥应用场景
图6㊀VCM密钥管理架构
㊀㊀在对VCM进行管理之前ꎬ管理客户端除了
需要使用提供密码服务和安全存储功能的US ̄
BKey外ꎬ还需要对管理员和VCM初始化ꎮVCM
管理员在初始化时要将用户密钥中的加密密钥
对写入USBKey中ꎬ并且ꎬUSBKey内部生成的签
名密钥对也要在USBKey中保存ꎬ同时ꎬ在VCM
初始化后ꎬ管理员还需将VCM设备密钥的加密
橡胶补强剂
密钥对的公钥以及签名密钥对的公钥写入管理
员USBKeyꎬ最后ꎬ管理员的用户密钥的加密密钥
对公钥以及签名密钥对的公钥需导入VCM密钥
库中ꎮ后续管理过程中ꎬ管理员通过签名密钥对
与VCM设备(平台)签名密钥对进行双向身份
认证ꎬ并协商通信密钥ꎬ对管理数据进行加密与
HMAC值计算ꎬ保障数据传输的机密性与完整
性ꎬVCM设备(平台)密钥的签名密钥对代表
VCM平台身份ꎬUSBKey中用户密钥的签名密钥
对代表管理员身份ꎮVCM密钥管理架构如图6
所示ꎮ
22
w.bookan. All Rights Reserved.

本文发布于:2024-09-22 01:30:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/179145.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:密钥   密码   服务   用户   加密
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议