发明名称 RSA密钥生成方法及装置
摘要 本发明实施例公开了一种RSA密钥生成方法及装置,在可信平台模块外部的ARM安全运行环境生成素数等密钥参数,将生成的密钥参数发送给可信平台模块,由可信平台模块根据接收到的密钥参数生成RSA密钥,也就是说,本申请实施例中,将生成密钥所需的高运算量的计算(素性检验计算)转移到可信平台模块外部,从而减轻了可信平台模块的计算负担,缩短了创建RSA密钥的时间。
申请公布号 CN103812648B 申请公布日期 2017.03.22
申请号 CN201410092851.3 申请日期 2014.03.13
申请人 深圳数字电视国家工程实验室股份有限公司 发明人 桂丰;余小龙;邹家须;孙卓;李新国;宫俊;黄华松;赵宝龙
分类号 H04L9/30(2006.01)I;H04L9/08(2006.01)I 主分类号 H04L9/30(2006.01)I
代理机构 深圳市深佳知识产权代理事务所(普通合伙) 44285 代理人 唐华明
主权项 一种RSA密钥生成方法,应用于ARM嵌入式系统,所述ARM嵌入式系统的主板上设置有可信平台模块,其特征在于,所述ARM嵌入式系统的运行环境包括安全运行环境和非安全运行环境,所述方法包括:获取可信计算组织软件栈生成创建RSA密钥请求,并将所述创建RSA密钥请求存储至所述ARM嵌入式系统的内存中,所述创建RSA密钥请求中包括父密钥、RSA密钥的公钥的长度;当所述创建RSA密钥请求有效时,将所述ARM嵌入式系统的运行环境切换至安全运行环境;在所述可信平台模块外部创建RSA密钥参数,所述密钥参数包括:依据两个不同素数得到的RSA密钥的公钥和RSA密钥的私钥,所述RSA密钥的公钥的摘要值,所述RSA密钥的私钥的长度,以及第一加密参数;所述第一加密参数由所述父密钥对所述公钥的摘要值、所述私钥,以及所述私钥的长度进行加密得到;向所述可信平台模块发送创建RSA密钥命令,所述创建RSA密钥命令中包括所创建的RSA密钥参数,以及预先载入所述可信平台模块的父密钥的句柄,RSA密钥的使用授权数据、RSA密钥的迁移授权数据,父密钥的第一口令验证码,以及第一随机数;所述可信平台模块创建RSA密钥,包括:验证所述父密钥的第一口令验证码是否有效;当所述父密钥的第一口令验证码有效时,通过所述父密钥解密所述第一加密参数,得到所述RSA密钥的公钥的摘要值、所述RSA密钥的私钥,以及所述私钥的长度;计算所述RSA密钥的公钥的摘要值;当计算得到的RSA密钥的公钥的摘要值与解密得到的RSA密钥的公钥的摘要值相同时,将所述RSA密钥参数加载至RSA密钥数据块中;如果RSA密钥是不可迁移密钥,则将所述可信平台模块的不可迁移标识标记到所述RSA密钥的迁移授权数据上,并加载至所述RSA密钥数据块中;如果RSA密钥是可迁移密钥,则通过预先建立的特定对象授权会话的共享密钥对RSA密钥的迁移授权数据进行解密,将解密得到的数据加载至所述RSA密钥数据块中;通过预先建立的特定对象授权会话的共享密钥对RSA密钥的使用授权数据进行解密,将得到的RSA密钥的使用授权数据加载至所述RSA密钥数据块中;用所述父密钥对所述公钥的摘要值、所述私钥、所述私钥的长度、所述RSA密钥的迁移授权数据加密得到第二加密参数,将所述第二加密参数加载至所述RSA密钥数据块中;生成第二随机数,并将所述第二随机数加载至所述RSA密钥数据块中;生成父密钥的第二口令验证码,将所述父密钥的第二口令验证码加载至所述RSA密钥数据块中;通过所述可信计算组织软件栈的创建密钥接口向所述可信计算组织软件栈返回与所述创建RSA密钥命令相对应的响应消息,所述响应消息中携带有所述RSA密钥数据块;将所述响应消息存储至所述ARM嵌入式系统的内存中;将所述ARM嵌入式系统的运行环境切换到非安全运行环境。
地址 518057 广东省深圳市南山区高新技术产业园高新南一道015号国微研发大楼4层北侧E室