[发明专利]一种Keystone中Fernet密钥的生成方法及相关装置在审
申请号: | 201811353659.X | 申请日: | 2018-11-14 |
公开(公告)号: | CN109462474A | 公开(公告)日: | 2019-03-12 |
发明(设计)人: | 许鑫 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 密钥 可信芯片 随机性 密钥请求 密钥生成 随机源 计算机可读存储介质 工作性能 生成系统 相关装置 指令生成 申请 服务器 发送 指令 返回 | ||
本申请所提供的一种Keystone中Fernet密钥的生成方法,包括:接收到Keystone的密钥请求后,向可信芯片发送密钥请求对应的密钥生成指令;在可信芯片根据密钥生成指令生成随机值后,接收随机值;将随机值作为Fernet密钥返回至Keystone。通过利用可信芯片作为Fernet密钥的随机源,解决了现有的系统随机源在生成随机值的随机性与效率方面的不足,提高了随机值的随机性,有利于提高Fernet密钥的安全性和工作性能。本申请还提供了一种Keystone中Fernet密钥的生成系统、一种计算机可读存储介质和一种服务器,具有上述有益效果。
技术领域
本申请涉及云服务领域,特别涉及一种Keystone中Fernet密钥的生成方法、生成系统、一种计算机可读存储介质和一种服务器。
背景技术
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。KeyStone是OpenStack中的身份管理组件,为其他组件提供授权、认证等服务。KeyStone可利用Fernet令牌作为身份验证后的标识,即验证通过后其他组件可利用KeyStone颁发的Fernet令牌来访问其他组件或服务。
目前,KeyStone中的Fernet密钥是利用系统提供的伪随机源来生成的,Linux系统中使用的是/dev/unrandom设备作为随机源生成Fernet密钥。而/dev/unrandom设备的随机性较差,容易遭受攻击。
发明内容
本申请的目的是提供一种Keystone中Fernet密钥的生成方法、生成系统、一种计算机可读存储介质和一种服务器,解决现有技术中利用伪随机源生成Fernet密钥带来的随机性差的问题。
为解决上述技术问题,本申请提供一种Keystone中Fernet密钥的生成方法,具体技术方案如下:
接收到Keystone的密钥请求后,向可信芯片发送所述密钥请求对应的密钥生成指令;
在所述可信芯片根据所述密钥生成指令生成随机值后,接收所述随机值;
将所述随机值作为所述Fernet密钥返回至所述Keystone。
其中,接收所述随机值之后,还包括:
将所述随机值存放至密钥仓库。
其中,将所述随机值存放至密钥仓库之前,还包括:
利用Base64编码对所述Fernet密钥进行字符格式转换。
其中,当所述随机值包括一级随机值和二级随机值时,将所述随机值作为所述Fernet密钥返回至所述Keystone包括:
利用所述一级随机值对所述二级随机值加密,并将加密后的所述二级随机值作为所述Fernet密钥返回至所述Keystone。
其中,所述可信芯片为TPM2.0芯片。
本申请还提供一种Keystone中Fernet密钥的生成系统,包括:
请求发送模块,用于接收到Keystone的密钥请求后,向可信芯片发送所述密钥请求对应的密钥生成指令;
随机值接收模块,用于在所述可信芯片根据所述密钥生成指令生成随机值后,接收所述随机值;
密钥返回模块,用于将所述随机值作为所述Fernet密钥返回至所述Keystone。
其中,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811353659.X/2.html,转载请声明来源钻瓜专利网。