一种密钥生成方法及装置制造方法及图纸

技术编号:14656255 阅读:133 留言:0更新日期:2017-02-16 20:34
本发明专利技术提供一种密钥生成方法及装置,所述方法包括:获取密钥创建参数;根据用户提供的防攻击数据将所述密钥创建参数中的第一唯一unique值更新为第二unique值;根据更新后的密钥创建参数生成主密钥。应用本发明专利技术实施例可以提高主密钥的安全性。

【技术实现步骤摘要】

本专利技术涉及信息安全
,尤其涉及一种密钥生成方法及装置
技术介绍
TPM(TrustedPlatformModule,可信平台模块)芯片,是指符合TPM规范的安全芯片,它能有效地保护PC(PersonalComputer,个人计算机),防止攻击者访问PC。在TPM2.0规范中,主密钥的创建是使用TPM2.0芯片内部保存的种子(seed)和用户提供的参数(该参数可以称为密钥创建参数),通过KDF(KeyDerivationFunction密钥派生函数)算法生成。其中,TPM2.0主密钥在TPM芯片内部保存,可以删除,之后需要使用可以进行恢复。然而实践发现,在现有TPM2.0规范的密钥生成方案中,主密钥是根据用户提供的参数模板中的数据创建的,一旦攻击者获取到了参数模板,便可以根据该参数模板恢复用户创建的主密钥,进而,使用该主密钥加密的数据或其它密钥,就会被攻击者获取到。
技术实现思路
本专利技术提供一种密钥生成方法及装置,以解决现有TPM2.0规范中生成主密钥安全性较差的问题。根据本专利技术实施例的第一方面,提供一种密钥生成方法,包括:获取密钥创建参数;根据用户提供的防攻击数据将所述密钥创建参数中的第一唯一unique值更新为第二unique值;根据更新后的密钥创建参数生成主密钥。根据本专利技术实施例的第二方面,提供一种密钥生成装置,包括:获取单元,用于获取密钥创建参数;更新单元,用于根据用户提供的防攻击数据将所述密钥创建参数中的第一唯一unique值更新为第二unique值;生成单元,用于根据更新后的密钥创建参数生成主密钥。应用本专利技术实施例,通过获取密钥创建参数,并根据用户提供的防攻击数据将密钥创建参数中的第一unique值更新为第二unique值,进而,根据更新后的密钥创建参数生成主密钥,从而,即使用户提供的密钥创建参数被攻击者获得,攻击者也无法直接根据该密钥创建参数对主密钥进行恢复,提高了主密钥的安全性。附图说明图1是本专利技术实施例提供的一种密钥生成方法的流程示意图;图2是本专利技术实施例提供的一种密钥生成装置的结构示意图;图3是本专利技术实施例提供的另一种密钥生成装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,下面对现有TPM2.0规范中密钥生成的相关实现进行简单说明。现有TPM2.0规范中密钥生成包括软件实现部分和TPM芯片实现部分;其中:软件实现部分:1、用户提供创建主密钥的密钥创建参数以及授权数据;其中,该密钥创建参数包括密钥类型、摘要算法、属性、exp(exponent,公钥指数)以及unique(唯一)值等。2、软件将用户提供的数据,按照TPM要求的格式,进行组装,得到InPublic(一种数据结构)数据和InSensitive(一种数据结构)数据;3、软件通过TPM2_CreatePrimary(创建主密钥)命令将InPublic数据和InSensitive数据发送到TPM芯片。TPM芯片实现部分:1、将整个InPublic数据进行摘要计算(利用InPublic中指示的算法);2、从TPM芯片内部存储区获取seed;3、使用步骤1中计算出的摘要和seed通过密钥生成算法KDF,生成主密钥;4、将InSensitive数据中的authValue(授权数据)部分复制到密钥的私有部分。可见,在现有TPM2.0规范中,生成主密钥时只需要使用用户提供的密钥创建参数以及TPM芯片内部的seed,而用户提供的密钥创建参数通常是以参数模板的形式输入,一旦参数模板被攻击者获得,主密钥很容易被攻击者恢复,进而造成使用该主密钥加密的数据或其它密钥的安全性受到威胁。下面结合附图对本专利技术实施例中技术方案作进一步详细的说明。请参见图1,为本专利技术实施例提供的一种密钥生成方法的流程示意图,如图1所示,该密钥生成方法可以包括以下步骤:步骤101、获取密钥创建参数。步骤102、根据用户提供的防攻击数据将该密钥创建参数中的第一unique值更新为第二unique值。本专利技术实施例中,上述密钥生成方法可以应用于支持TPM2.0规范的通信设备(包括但不限于PC、服务器等)中,为便于描述,以下以步骤101~步骤103的执行主体为通信设备为例进行说明。本专利技术实施例中,考虑到现有TPM2.0规范中生成主密钥是仅需要使用用户提供的密钥创建参数以及TPM芯片中存储的seed,而用户提供的密钥创建参数通常会以参数模板的形式保存在设备存储介质中,因此,用户提供的密钥创建参数容易被攻击者获取到,进而,攻击者可能会恢复该主密钥,并使用该密钥对相关加密数据进行解密。因此,为了提高通信设备生成的主密钥的安全性,通信设备在获取到用户提供的密钥创建参数之后,在根据该密钥创建参数生成主密钥之前,可以先对该密钥创建参数中的unique值进行更新,以便后续使用更新后的unique值进行密钥生成,从而,即使用户提供的密钥创建参数被攻击者获取到,攻击者也无法直接使用该密钥创建参数恢复主密钥。相应地,在本专利技术实施例中,通信设备获取到用户提供的密钥创建参数之后,可以对该密钥创建参数中的unique值(本文中称为第一unique值)进行更新,以得到更新后的unique值(本文中称为第二unique值)。作为一种可选的实施方式,在本专利技术实施例中,将密钥创建参数中的第一unique值更新为第二unique值,可以包括:根据用户提供的防攻击数据以及第一unique值确定第二unique值;将密钥创建参数中的第一unique值更新为第二unique值。在该实施方式中,在创建密钥的过程中,用户除了需要提供密钥创建参数之外,还需要提供防攻击数据;通信设备获取到用户提供的密钥创建参数之后,可以根据用户提供的防攻击数据以及该密钥创建参数中的第一unique值确定第二unique值。在该实施方式的一种可选实施例中,用户提供的防攻击数据可以包括密钥创建过程中用户输入的授权数据(authValue)。具体的,在该实施例中,通信设备获取到用户提供的参数创建模板以及授权数据之后,可以根据参数创建模板中的第一unique值和授权数据确定第二unique值,并将参数创建模板中的第一unique值更新为第二unique值。在该实施方式的另一种可选实施例中,用户提供的防攻击数据可以包括用户提供的专门用于防止主密钥被攻击者恢复的数据。具体的,在该实施方式中,通信设备检测到用户的主密钥创建操作指令时,除了需要用户提供参数创建模板以及授权数据之外,还可以提示用户输入防攻击数据,并根据用户输入的防攻击数据以及参数创建模板中的第一unique值和授权数据确定第二unique值,并将参数创建模板中的第一unique值更新为第二unique值。值得说明的是,在本专利技术实施例中,通信设备也可以在主密钥创建的相关功能界面中提供关于是否使用授权数据作为防攻击数据的选项,若通信设备检测到用户针对使用授权数据作为防攻击数据的选项的选择指令,则通信设备可以将用户提供的授权参数作为防攻击数据;若通信设备检测到用户针对不使用授权数据作为防攻击数据的选项的选择指令,则通信设备可以提示用户输入防攻击数据,其具体实现在此不再赘述。在该实施方式中,通信设备可以根据防攻击数据以及第一unique值,通过预设算本文档来自技高网
...
一种密钥生成方法及装置

【技术保护点】
一种密钥生成方法,其特征在于,包括:获取密钥创建参数;根据用户提供的防攻击数据将所述密钥创建参数中的第一唯一unique值更新为第二unique值;根据更新后的密钥创建参数生成主密钥。

【技术特征摘要】
1.一种密钥生成方法,其特征在于,包括:获取密钥创建参数;根据用户提供的防攻击数据将所述密钥创建参数中的第一唯一unique值更新为第二unique值;根据更新后的密钥创建参数生成主密钥。2.根据权利要求1所述的方法,其特征在于,所述根据用户提供的防攻击数据将所述密钥创建参数中的第一唯一unique值更新为第二unique值,包括:当所述防攻击数据长度小于所述第一unique值时,将所述防攻击数据循环扩展为与所述第一unique值长度相同;根据循环扩展后的防攻击数据以及所述第一unique值,通过异或算法,确定所述第二unique值。3.根据权利要求1所述的方法,其特征在于,根据用户提供的防攻击数据将所述密钥创建参数中的第一唯一unique值更新为第二unique值,包括:将所述防攻击数据与所述第一unique值进行串接,通过散列hash算法确定所述第二unique值。4.根据权利要求2或3所述的方法,其特征在于,所述防攻击数据包括用户在密钥创建过程中输入的授权数据。5.根据权利要求1所述的方法,其特征在于,所述根据更新后的密钥创建参数生成主密钥,包括:根据预设摘要算法对InPublic数据进行摘要计算;其中,所述InPublic数据是对所述更新后的密钥创建参数封装后得到的;根据摘要计算得出的摘要和预先...

【专利技术属性】
技术研发人员:王亚旗
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1