基于可信计算环境的私钥管理方法和装置与流程

文档序号:22796839发布日期:2020-11-04 03:50阅读:68来源:国知局
基于可信计算环境的私钥管理方法和装置与流程

本发明涉及私钥管理技术领域,特别涉及一种基于可信计算环境的私钥管理方法和装置。



背景技术:

基于区块链技术的去中心化数字资产正在成为一种越来越重要的资产,私钥在去中心化数字资产中相当于一把具有对资产完全控制权的钥匙。现有的去中心化数字资产钱包按照私钥是否由用户本身管理可以分为两类:(1)本地钱包:用户完全掌控私钥的一种钱包(2)云钱包:用户将数字资产托管到云平台,由云钱包服务商帮助用户管理私钥的一种钱包。在云钱包中,由于平台要管理众多用户私钥,保证私钥安全成为了平台的立足之本。在现有云平台架构中,由于私钥存储在云端,所以私钥存在受到外部黑客、内部人员以及云服务厂商的窃取的威胁。

基于上述现有技术存在的缺点,现急需一种具有保护私钥不被窃取,能够避免外部黑客、内部人员和云服务厂商带来私钥安全威胁的方法。



技术实现要素:

为了解决云端存储的私钥易受到外部黑客、内部人员以及云服务厂商的窃取的威胁的问题,本发明提供一种基于可信计算环境的私钥管理方法和装置。

第一方面,本发明提供一种基于可信计算环境的私钥管理方法,该方法用于私钥生成,该方法包括:

利用可信计算环境生成内部可信计算环境私钥;

根据可信计算环境私钥加密用户私钥,得到用户加密后的第一私钥;

利用云服务厂商的加密服务对第一私钥进行加密,得到用户加密后的第二私钥;

将云服务厂商的加密版本号添加至第二私钥中,得到用户加密后的第三私钥;

存储第三私钥至云服务厂商数据库。

第二方面,本发明提供一种基于可信计算环境的私钥管理方法,该方法用于私钥签名,该方法包括:

获取云服务厂商内存储的第三私钥;

从第三私钥内获取云服务厂商的加密版本号和用户加密后的第二私钥;

根据云服务厂商的加密版本号确定云服务厂商的加密服务,对第二私钥进行解密,得到用户加密后的第一私钥;

利用可信计算环境解密第一私钥,得到用户原始私钥;

利用原始私钥对待签名数据进行处理,得到签名数据。

第三方面,本发明提供一种基于可信计算环境的私钥管理方法,该方法用于加密私钥更新,该方法包括:

获取云服务厂商内存储的第三私钥,待更换的新云服务厂商信息;

根据第三私钥、云服务厂商加密版本号和加密服务,确定用户加密后的第一私钥;

根据新云服务厂商的加密版本号确定新云服务厂商的加密服务,对第一私钥进行加密,得到用户加密后的新的第二私钥;

将新云服务厂商的加密版本号添加至新的第二私钥中,得到用户加密后的新的第三私钥;

将用户加密后的新的第三私钥更新第三私钥;

存储更新后的第三私钥至云服务厂商数据库。

进一步地,根据第三私钥、云服务厂商加密版本号和加密服务,确定用户加密后的第一私钥包括:

根据第三私钥获取云服务厂商加密版本号和用户加密后的第二私钥;

根据云服务厂商加密版本号确定对应的云服务厂商解密服务,解密第二私钥,得到用户加密后的第一私钥。

第四方面,本发明提供一种基于可信计算环境的私钥管理装置,该装置为私钥生成模块,该装置包括:

生成可信计算环境私钥单元,用于利用可信计算环境生成内部可信计算环境私钥;

第一私钥获取单元,用于根据可信计算环境私钥加密用户私钥,得到用户加密后的第一私钥;

第二私钥获取单元,用于利用云服务厂商的加密服务对第一私钥进行加密,得到用户加密后的第二私钥;

第三私钥获取单元,用于将云服务厂商的加密版本号添加至第二私钥中,得到用户加密后的第三私钥;

存储单元,用于存储第三私钥至云服务厂商数据库。

第五方面,本发明提供一种基于可信计算环境的私钥管理装置,该装置为私钥签名模块,该装置包括:

第三私钥获取单元,用于获取云服务厂商内存储的第三私钥;

第二私钥获取单元,用于从第三私钥内获取云服务厂商的加密版本号和用户加密后的第二私钥;

第一私钥获取单元,用于根据云服务厂商的加密版本号确定云服务厂商的加密服务,对第二私钥进行解密,得到用户加密后的第一私钥;

用户原始私钥得到单元,用于利用可信计算环境解密第一私钥,得到用户原始私钥;

签名处理单元,用于利用原始私钥对待签名数据进行处理,得到签名数据。

第六方面,本发明提供一种基于可信计算环境的私钥管理装置,该装置为加密私钥更新模块,该装置包括:

第三私钥和待更换新云服务厂商获取单元,用于获取云服务厂商内存储的第三私钥,待更换的新云服务厂商信息;

第一私钥确定单元,用于根据第三私钥、云服务厂商加密版本号和加密服务,确定用户加密后的第一私钥;

新的第二私钥获取单元,用于根据新云服务厂商的加密版本号确定新云服务厂商的加密服务,对第一私钥进行加密,得到用户加密后的新的第二私钥;

新的第三私钥获取单元,用于将新云服务厂商的加密版本号添加至新的第二私钥中,得到用户加密后的新的第三私钥;

更新第三私钥单元,用于将用户加密后的新的第三私钥更新第三私钥;

存储单元,用于存储更新后的第三私钥至云服务厂商数据库。

第七方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一或第二或第三方面提供的基于可信计算环境的私钥管理方法的步骤。

第八方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一或第二或第三方面提供的基于可信计算环境的私钥管理方法的步骤。

本发明在私钥生成方法中,原始私钥仅在可信计算环境中出现,二次加密后私钥存储在云服务厂商数据库服务中,依靠可信计算环境的保护,有效避免了原始私钥泄漏、窃取等问题;私钥签名方法中,在使用私钥签名时,私钥也只在可信计算环境中出现,保证了私钥的安全,并且在可信计算环境中可以实现多种签名算法,以满足不同区块链系统等签名要求;私钥更新方法中,通过云服务厂商加密服务版本号机制可以进行加密后私钥升级,可以升级到不同云服务厂商的加密服务或者相同云服务厂商不同班的加密服务,在更新的过程中未出现原始私钥,保证了原始私钥的安全,而且加密后私钥升级机制的设计也提高了私钥管理方法的灵活性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于可信计算环境的私钥管理方法流程示意图;

图2为本发明另一实施例提供的基于可信计算环境的私钥管理方法流程示意图;

图3为本发明再一实施例提供的基于可信计算环境的私钥管理方法流程示意图;

图4为本发明实施例提供的基于可信计算环境的私钥管理装置框图;

图5为本发明另一实施例提供的基于可信计算环境的私钥管理装置框图;

图6为本发明再一实施例提供的基于可信计算环境的私钥管理装置框图;

图7为本发明实施例提供的电子设备框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

基于区块链技术的去中心化数字资产正在成为一种越来越重要的资产,私钥在去中心化数字资产中的地位极其重要,而现有的去中心化数字资产钱包按照私钥是否由用户本身管理可以分为本地钱包和云钱包,在现有云平台架构中,由于私钥存储在云端,所以私钥存在受到外部黑客、内部人员以及云服务厂商的窃取的威胁。为了解决上述问题,本发明实施例提供一种基于可信计算环境的私钥管理方法,该方法用于私钥生成,如图1,该方法包括:

步骤s101,利用可信计算环境生成内部可信计算环境私钥。

具体为,本发明实施例在可信计算环境中启动时,使用可信计算环境生成一个内部可信计算环境私钥,根据可信计算环境的特性,该可信计算环境私钥仅可信计算环境内可见,任何人无法将其导出可信计算环境外使用,该私钥在下次启动时无需再次生成。该可信计算环境私钥用于第一次加密将要生成的私钥。

步骤s102,根据可信计算环境私钥加密用户私钥,得到用户加密后的第一私钥。

具体为,生成一个用户私钥,包括但不限于使用比特币bip44协议根据bip44路径生成私钥或者随机生成一个32字节的私钥,一个32字节的私钥以16进制字符串表示为:

0x3250a877c45fddf63e1d7f506f5d9243dfc86233297b9b99df4156d88ebffc9。

使用可信计算环境私钥加密该用户私钥,得到用户加密后的第一私钥。如用户加密后第一私钥为:

u2fsdgvkx1/0j060nc1b70dtnw1fubjotojzp4tz4kfp3/2nbntazw6qsgt+ilpjbq8r3+aaa94pjfnsxhnzdepnzamxyrft9zczpgiqrtqnij2yuxifzhgdn45rmaai。

步骤s103,利用云服务厂商的加密服务对第一私钥进行加密,得到用户加密后的第二私钥。

具体为,利用云服务厂商的加密服务(如awskeymanagementservice、azurekeyvault等)对上述用户加密后的第一私钥进行加密,得到用户加密后的第二私钥。

如使用云服务厂商为:

云服务厂商a。

如用户加密后的第二私钥为:

rk8hairxxc9meffwsgtjtspbz58qhk9n_k3i2r-ugzs-bw79qfjmggtcuctvegn9ooslgxprycnb67k0zjpga63koh6w6_eqcrmoneqbzif5sfjcwlflmwzsd81bxcbaltjcptuexwdlnqiaop9ffyda5xsoowem_4obimpfqeh66fc3xxvsry0vapz_psyz4bmkwlevfs-9vs6ejr9on_h_hrmohs0-wa0ihthrs32utyitfnozkbnhi3janxpnnjdrsisya-cioye6bp6ccfyncq4_agckr2krqoxbx7dgtqkslghhmhrv6p42uynkl1d1kusdypt7yew9qivsdopvmycs9z3a5jchqyx8xnockizunqbxuvalu0qxq3jvzq138e4uecygxfw_z7jhboja0he0t3smmg4ywrderft6ljcujthop-ozqmqvzmixcx9k4wk2wqxczbmpxekbdy-02h-ptaprrfe7k75zofjrskjip3nfrbg6ap04oiwukj1llit3kd7n0dizdwypwi9ge97khjxsub5avqrj_m3y8qa6-mxkkteovlcv7lcf96h9pay5btnvlw3-u_4osw5ldl-fthzwkj6-nhd3xpueorkuzq1cm6vcx-q9hiqolwo4qvl_jj-1lwm5vdzaposgpr-znzdjwvoscesxmvy。

步骤s104,将云服务厂商的加密版本号添加至第二私钥中,得到用户加密后的第三私钥。

具体为,将云服务厂商加密服务版本号信息添加到用户加密后的第二私钥中,包括但不限于使用4个字节版本信息添加到用户加密后第二私钥最前方的方法,得到用户加密后第三私钥,并且保存该版本号对应的云服务厂商相关信息。

如增加的4个字节云服务厂商加密版本号信息为:

00000001。

保存该版本号对应的云服务厂商为:

云服务厂商a。

增加4个字节云服务厂商加密版本号信息的用户加密后的第三私钥为:

00000001rk8hairxxc9meffwsgtjtspbz58qhk9n_k3i2r-ugzs-bw79qfjmggtcuctvegn9ooslgxprycnb67k0zjpga63koh6w6_eqcrmoneqbzif5sfjcwlflmwzsd81bxcbaltjcptuexwdlnqiaop9ffyda5xsoowem_4obimpfqeh66fc3xxvsry0vapz_psyz4bmkwlevfs-9vs6ejr9on_h_hrmohs0-wa0ihthrs32utyitfnozkbnhi3janxpnnjdrsisya-cioye6bp6ccfyncq4_agckr2krqoxbx7dgtqkslghhmhrv6p42uynkl1d1kusdypt7yew9qivsdopvmycs9z3a5jchqyx8xnockizunqbxuvalu0qxq3jvzq138e4uecygxfw_z7jhboja0he0t3smmg4ywrderft6ljcujthop-ozqmqvzmixcx9k4wk2wqxczbmpxekbdy-02h-ptaprrfe7k75zofjrskjip3nfrbg6ap04oiwukj1llit3kd7n0dizdwypwi9ge97khjxsub5avqrj_m3y8qa6-mxkkteovlcv7lcf96h9pay5btnvlw3-u_4osw5ldl-fthzwkj6-nhd3xpueorkuzq1cm6vcx-q9hiqolwo4qvl_jj-1lwm5vdzaposgpr-znzdjwvoscesxmvy。

步骤s105,存储第三私钥至云服务厂商数据库。

具体为,将用户加密后的第三私钥存储到云服务厂商的数据库中,包括但不限于mysql数据库等。

本发明实施例在私钥生成方法中,原始私钥仅在可信计算环境中出现,二次加密后私钥存储在云服务厂商数据库服务中,依靠可信计算环境的保护,有效避免了原始私钥泄漏、窃取等问题。

基于上述各实施例的内容,作为一种可选实施例:本发明实施例一种基于可信计算环境的私钥管理方法,该方法用于私钥签名,如图2,该方法包括:

步骤s201,获取云服务厂商内存储的第三私钥。

具体为,从数据库中读取用户加密后的第三私钥。

如读取到的用户加密后的第三私钥为:

00000001rk8hairxxc9meffwsgtjtspbz58qhk9n_k3i2r-ugzs-bw79qfjmggtcuctvegn9ooslgxprycnb67k0zjpga63koh6w6_eqcrmoneqbzif5sfjcwlflmwzsd81bxcbaltjcptuexwdlnqiaop9ffyda5xsoowem_4obimpfqeh66fc3xxvsry0vapz_psyz4bmkwlevfs-9vs6ejr9on_h_hrmohs0-wa0ihthrs32utyitfnozkbnhi3janxpnnjdrsisya-cioye6bp6ccfyncq4_agckr2krqoxbx7dgtqkslghhmhrv6p42uynkl1d1kusdypt7yew9qivsdopvmycs9z3a5jchqyx8xnockizunqbxuvalu0qxq3jvzq138e4uecygxfw_z7jhboja0he0t3smmg4ywrderft6ljcujthop-ozqmqvzmixcx9k4wk2wqxczbmpxekbdy-02h-ptaprrfe7k75zofjrskjip3nfrbg6ap04oiwukj1llit3kd7n0dizdwypwi9ge97khjxsub5avqrj_m3y8qa6-mxkkteovlcv7lcf96h9pay5btnvlw3-u_4osw5ldl-fthzwkj6-nhd3xpueorkuzq1cm6vcx-q9hiqolwo4qvl_jj-1lwm5vdzaposgpr-znzdjwvoscesxmvy。

步骤s202,从第三私钥内获取云服务厂商的加密版本号和用户加密后的第二私钥。

具体为,从用户加密后的第三私钥中获取云服务厂商加密版本号信息和用户加密后的第二私钥,从加密版本号信息和云服务加密厂商对应关系中获取该版本号对应的云服务厂商,并调用该云服务厂商提供的解密功能对用户加密后第二私钥进行解密。

如用户加密后的第三私钥对应的云服务厂商加密版本为:

00000001。

该版本号对应的云服务厂商为:

云服务厂商a。

对应的用户加密后的第二私钥为:

rk8hairxxc9meffwsgtjtspbz58qhk9n_k3i2r-ugzs-bw79qfjmggtcuctvegn9ooslgxprycnb67k0zjpga63koh6w6_eqcrmoneqbzif5sfjcwlflmwzsd81bxcbaltjcptuexwdlnqiaop9ffyda5xsoowem_4obimpfqeh66fc3xxvsry0vapz_psyz4bmkwlevfs-9vs6ejr9on_h_hrmohs0-wa0ihthrs32utyitfnozkbnhi3janxpnnjdrsisya-cioye6bp6ccfyncq4_agckr2krqoxbx7dgtqkslghhmhrv6p42uynkl1d1kusdypt7yew9qivsdopvmycs9z3a5jchqyx8xnockizunqbxuvalu0qxq3jvzq138e4uecygxfw_z7jhboja0he0t3smmg4ywrderft6ljcujthop-ozqmqvzmixcx9k4wk2wqxczbmpxekbdy-02h-ptaprrfe7k75zofjrskjip3nfrbg6ap04oiwukj1llit3kd7n0dizdwypwi9ge97khjxsub5avqrj_m3y8qa6-mxkkteovlcv7lcf96h9pay5btnvlw3-u_4osw5ldl-fthzwkj6-nhd3xpueorkuzq1cm6vcx-q9hiqolwo4qvl_jj-1lwm5vdzaposgpr-znzdjwvoscesxmvy。

步骤s203,根据云服务厂商的加密版本号确定云服务厂商的加密服务,对第二私钥进行解密,得到用户加密后的第一私钥。

具体为,根据版本号得到的对应云服务厂商的解密服务解密用户加密后的第二私钥得到用户加密后的第一私钥。

如解密后得到的用户加密后的第一私钥为:

u2fsdgvkx1/0j060nc1b70dtnw1fubjotojzp4tz4kfp3/2nbntazw6qsgt+ilpjbq8r3+aaa94pjfnsxhnzdepnzamxyrft9zczpgiqrtqnij2yuxifzhgdn45rmaai。

步骤s204,利用可信计算环境解密第一私钥,得到用户原始私钥。

具体为,使用可信计算环境私钥解密用户加密后的第一私钥可以得到原始用户私钥,如原始用户私钥以16进制字符串表示为:

0x3250a877c45fddf63e1d7f506f5d9243dfc86233297b9b99df4156d88ebffc9。

步骤s205,利用原始私钥对待签名数据进行处理,得到签名数据。

具体为,使用解密得到的用户原始私钥对待签名数据进行签名,签名算法包括但不限于比特币区块链系统(bitcoin)使用的secp256k1签名算法、恒星区块链系统(stellar)使用的ed25519签名算法等,签名后得到签名数据,业务系统可以使用签名数据执行将区块链交易发送上链等操作。

至此完成了私钥签名,在上述步骤中,使用原始私钥签名始终在可信计算环境中完成,而且在可信计算环境中可以实现多种签名算法,提高了私钥使用的易用性和安全性。

本发明实施例在私钥签名方法中,在使用私钥签名时,私钥也只在可信计算环境中出现,保证了私钥的安全,并且在可信计算环境中可以实现多种签名算法,以满足不同区块链系统等签名要求。

基于上述各实施例的内容,作为一种可选实施例:当更换新的云服务厂商加密服务时(新的云服务厂商加密服务指同一个云服务厂商不同版本的加解密服务或者不同的云服务厂商的加解密服务),需要对已有的用户加密后第三私钥进行更新,本发明实施例提供一种基于可信计算环境的私钥管理方法,该方法用于加密私钥更新,如图3,该方法包括:

步骤s301,获取云服务厂商内存储的第三私钥,待更换的新云服务厂商信息。

具体为,从数据库中读取用户加密后第三私钥。如读取到用户加密后第三私钥为:

00000001rk8hairxxc9meffwsgtjtspbz58qhk9n_k3i2r-ugzs-bw79qfjmggtcuctvegn9ooslgxprycnb67k0zjpga63koh6w6_eqcrmoneqbzif5sfjcwlflmwzsd81bxcbaltjcptuexwdlnqiaop9ffyda5xsoowem_4obimpfqeh66fc3xxvsry0vapz_psyz4bmkwlevfs-9vs6ejr9on_h_hrmohs0-wa0ihthrs32utyitfnozkbnhi3janxpnnjdrsisya-cioye6bp6ccfyncq4_agckr2krqoxbx7dgtqkslghhmhrv6p42uynkl1d1kusdypt7yew9qivsdopvmycs9z3a5jchqyx8xnockizunqbxuvalu0qxq3jvzq138e4uecygxfw_z7jhboja0he0t3smmg4ywrderft6ljcujthop-ozqmqvzmixcx9k4wk2wqxczbmpxekbdy-02h-ptaprrfe7k75zofjrskjip3nfrbg6ap04oiwukj1llit3kd7n0dizdwypwi9ge97khjxsub5avqrj_m3y8qa6-mxkkteovlcv7lcf96h9pay5btnvlw3-u_4osw5ldl-fthzwkj6-nhd3xpueorkuzq1cm6vcx-q9hiqolwo4qvl_jj-1lwm5vdzaposgpr-znzdjwvoscesxmvy。除此以外还要获取待更换的新云服务厂商信息。

步骤s302,根据第三私钥、云服务厂商加密版本号和加密服务,确定用户加密后的第一私钥;

其包括:根据第三私钥获取云服务厂商加密版本号和用户加密后的第二私钥;根据云服务厂商加密版本号确定对应的云服务厂商解密服务,解密第二私钥,得到用户加密后的第一私钥。

具体为,从用户加密后的第三私钥中获取云服务厂商加密版本号信息和用户加密后第二私钥,并调用云服务厂商加密版本号对应的云服务厂商提供的解密功能对用户加密后第二私钥进行解密。

如用户加密后第三私钥对应的云服务厂商加密版本号为:

00000001。

该版本号对应的云服务厂商为:

云服务厂商a。

对应的用户加密后的第二私钥为:

rk8hairxxc9meffwsgtjtspbz58qhk9n_k3i2r-ugzs-bw79qfjmggtcuctvegn9ooslgxprycnb67k0zjpga63koh6w6_eqcrmoneqbzif5sfjcwlflmwzsd81bxcbaltjcptuexwdlnqiaop9ffyda5xsoowem_4obimpfqeh66fc3xxvsry0vapz_psyz4bmkwlevfs-9vs6ejr9on_h_hrmohs0-wa0ihthrs32utyitfnozkbnhi3janxpnnjdrsisya-cioye6bp6ccfyncq4_agckr2krqoxbx7dgtqkslghhmhrv6p42uynkl1d1kusdypt7yew9qivsdopvmycs9z3a5jchqyx8xnockizunqbxuvalu0qxq3jvzq138e4uecygxfw_z7jhboja0he0t3smmg4ywrderft6ljcujthop-ozqmqvzmixcx9k4wk2wqxczbmpxekbdy-02h-ptaprrfe7k75zofjrskjip3nfrbg6ap04oiwukj1llit3kd7n0dizdwypwi9ge97khjxsub5avqrj_m3y8qa6-mxkkteovlcv7lcf96h9pay5btnvlw3-u_4osw5ldl-fthzwkj6-nhd3xpueorkuzq1cm6vcx-q9hiqolwo4qvl_jj-1lwm5vdzaposgpr-znzdjwvoscesxmvy。

使用获取的版本号对应的云服务厂商解密服务解密用户加密后的第二私钥得到用户加密后的第一私钥。

如解密用户加密后第二私钥得到用户加密后的第一私钥为:

u2fsdgvkx1/0j060nc1b70dtnw1fubjotojzp4tz4kfp3/2nbntazw6qsgt+ilpjbq8r3+aaa94pjfnsxhnzdepnzamxyrft9zczpgiqrtqnij2yuxifzhgdn45rmaai。

步骤s303,根据新云服务厂商的加密版本号确定新云服务厂商的加密服务,对第一私钥进行加密,得到用户加密后的新的第二私钥。

具体为,使用新版本号和其对应的云服务厂商加密服务加密用户加密后第一私钥,得到更新后的用户加密后的第二私钥,并保存该版本号和云服务厂商的对应关系。

如新版本号信息为:

00000002。

该版本号对应的云服务厂商为:

云服务厂商b。

使用版本号为00000002的云服务厂商加密用户加密后的第一私钥得到更新后的用户加密后第二私钥为:

g0mortumif-nn_qkprw6retqgsotxiwcchazc5t3o8kioav18dlneh37mqey2m0zlmdegodnrn_ahjow9iyjor7jna3xc3txpaa1_wkw6zh8veu9pu5r7ueziwg9l0r7-zazucdts9w2qjhia0i9q5vmo2b8hawwbtmumt4v53oscclkzmcrdhszem3ru-kv4arifkniwngdk46rl6qjmophfc2cp7loiobz1al1bi6rufrdb25id3mrsxrx_fsjkrc0tzu7p5-yzkdi44cclpiqacpcbbf2zjuugelfdexvl5sqikxmkyanzz9u4nlzjds5dds2gesnrtfeaey5qjsrscvetpgoso1usj8kvclrgcclaguajsohnpigd7d7p3zfl43vphkuue_zi_h-bmc84bcpss1uxpdfsqs55nk78yn_phljqpjmzynqc4gzxdj8igyqzx1wx5cpbojhvbzost_d6xoqyagy1jx2nsdpfewsxbclwgv--ijuvgd3g1vl5p9634gqzv5swxqpfuc0teyuvccqrkd3ruhtoa6jy5g2swv9ycgwvkrukydfdjiuwsj0crxbzeo9jsmlk912avipns0vmor4z_etrut1fqjar-yjbzsyhxu5hsmwbvsmxgzithdumn9bx1lcqyzfqa_zuuquipweagvwqo8。

步骤s304,将新云服务厂商的加密版本号添加至新的第二私钥中,得到用户加密后的新的第三私钥。

具体为,将新的版本号信息添加到更新后的用户加密后第二私钥,包括但不限于使用4个字节版本信息添加到用户加密后第二私钥最前方的方法,得到更新后的用户加密后第三私钥。

如新的云服务厂商加密版本号信息为:

00000002。

增加4个字节云服务厂商加密版本号信息的更新后的用户加密后的第三私钥为:

00000002g0mortumif-nn_qkprw6retqgsotxiwcchazc5t3o8kioav18dlneh37mqey2m0zlmdegodnrn_ahjow9iyjor7jna3xc3txpaa1_wkw6zh8veu9pu5r7ueziwg9l0r7-zazucdts9w2qjhia0i9q5vmo2b8hawwbtmumt4v53oscclkzmcrdhszem3ru-kv4arifkniwngdk46rl6qjmophfc2cp7loiobz1al1bi6rufrdb25id3mrsxrx_fsjkrc0tzu7p5-yzkdi44cclpiqacpcbbf2zjuugelfdexvl5sqikxmkyanzz9u4nlzjds5dds2gesnrtfeaey5qjsrscvetpgoso1usj8kvclrgcclaguajsohnpigd7d7p3zfl43vphkuue_zi_h-bmc84bcpss1uxpdfsqs55nk78yn_phljqpjmzynqc4gzxdj8igyqzx1wx5cpbojhvbzost_d6xoqyagy1jx2nsdpfewsxbclwgv--ijuvgd3g1vl5p9634gqzv5swxqpfuc0teyuvccqrkd3ruhtoa6jy5g2swv9ycgwvkrukydfdjiuwsj0crxbzeo9jsmlk912avipns0vmor4z_etrut1fqjar-yjbzsyhxu5hsmwbvsmxgzithdumn9bx1lcqyzfqa_zuuquipweagvwqo8。

步骤s305,将用户加密后的新的第三私钥更新第三私钥。

具体为,使用更新后的用户加密后第三私钥替换更新前的用户加密后第三私钥。

步骤s306,存储更新后的第三私钥至云服务厂商数据库。

具体为,将更新后的第三私钥存储至云服务厂商数据库。

本发明实施例在私钥更新方法中,通过云服务厂商加密服务版本号机制可以进行加密后私钥升级,可以升级到不同云服务厂商的加密服务或者相同云服务厂商不同班的加密服务,在更新的过程中未出现原始私钥,保证了原始私钥的安全,而且加密后私钥升级机制的设计也提高了私钥管理方法的灵活性。

根据本发明的再一个方面,本发明实施例提供基于可信计算环境的私钥管理装置,参见图4。该装置用于在前述各实施例中完成本发明实施例提供的私钥生成。因此,在前述各实施例中的本发明实施例提供的基于可信计算环境的私钥管理方法中私钥生成方法的描述和定义,可以用于本发明实施例中各执行模块的理解。

该装置包括:

生成可信计算环境私钥单元401,用于利用可信计算环境生成内部可信计算环境私钥;

第一私钥获取单元402,用于根据可信计算环境私钥加密用户私钥,得到用户加密后的第一私钥;

第二私钥获取单元403,用于利用云服务厂商的加密服务对第一私钥进行加密,得到用户加密后的第二私钥;

第三私钥获取单元404,用于将云服务厂商的加密版本号添加至第二私钥中,得到用户加密后的第三私钥;

存储单元405,用于存储第三私钥至云服务厂商数据库。

具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。

根据本发明的再一个方面,本发明实施例提供基于可信计算环境的私钥管理装置,参见图5。该装置用于在前述各实施例中完成本发明实施例提供的私钥签名。因此,在前述各实施例中的本发明实施例提供的基于可信计算环境的私钥管理方法中私钥签名方法的描述和定义,可以用于本发明实施例中各执行模块的理解。

该装置包括:

第三私钥获取单元501,用于获取云服务厂商内存储的第三私钥;

第二私钥获取单元502,用于从第三私钥内获取云服务厂商的加密版本号和用户加密后的第二私钥;

第一私钥获取单元503,用于根据云服务厂商的加密版本号确定云服务厂商的加密服务,对第二私钥进行解密,得到用户加密后的第一私钥;

用户原始私钥得到单元504,用于利用可信计算环境解密第一私钥,得到用户原始私钥;

签名处理单元505,用于利用原始私钥对待签名数据进行处理,得到签名数据。

具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。

根据本发明的再一个方面,本发明实施例提供基于可信计算环境的私钥管理装置,参见图6。该装置用于在前述各实施例中完成本发明实施例提供的加密私钥更新。因此,在前述各实施例中的本发明实施例提供的基于可信计算环境的私钥管理方法中加密私钥更新方法的描述和定义,可以用于本发明实施例中各执行模块的理解。

该装置包括:

第三私钥和待更换新云服务厂商获取单元601,用于获取云服务厂商内存储的第三私钥,待更换的新云服务厂商信息;

第一私钥确定单元602,用于根据第三私钥、云服务厂商加密版本号和加密服务,确定用户加密后的第一私钥;

新的第二私钥获取单元603,用于根据新云服务厂商的加密版本号确定新云服务厂商的加密服务,对第一私钥进行加密,得到用户加密后的新的第二私钥;

新的第三私钥获取单元604,用于将新云服务厂商的加密版本号添加至新的第二私钥中,得到用户加密后的新的第三私钥;

更新第三私钥单元605,用于将用户加密后的新的第三私钥更新第三私钥;

存储单元606,用于存储更新后的第三私钥至云服务厂商数据库。

具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。

图7为本发明实施例提供的电子设备框图,如图7所示,该设备包括:处理器701、存储器702和总线703;

其中,处理器701及存储器702分别通过总线703完成相互间的通信;处理器701用于调用存储器702中的程序指令,以执行上述实施例所提供的基于可信计算环境的私钥管理方法,该方法用于加密私钥更新,例如包括:获取云服务厂商内存储的第三私钥,待更换的新云服务厂商信息;根据第三私钥、云服务厂商加密版本号和加密服务,确定用户加密后的第一私钥;根据新云服务厂商的加密版本号确定新云服务厂商的加密服务,对第一私钥进行加密,得到用户加密后的新的第二私钥;将新云服务厂商的加密版本号添加至新的第二私钥中,得到用户加密后的新的第三私钥;将用户加密后的新的第三私钥更新第三私钥;存储更新后的第三私钥至云服务厂商数据库。

本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现基于可信计算环境的私钥管理方法,该方法用于加密私钥更新的步骤。例如包括:获取云服务厂商内存储的第三私钥,待更换的新云服务厂商信息;根据第三私钥、云服务厂商加密版本号和加密服务,确定用户加密后的第一私钥;根据新云服务厂商的加密版本号确定新云服务厂商的加密服务,对第一私钥进行加密,得到用户加密后的新的第二私钥;将新云服务厂商的加密版本号添加至新的第二私钥中,得到用户加密后的新的第三私钥;将用户加密后的新的第三私钥更新第三私钥;存储更新后的第三私钥至云服务厂商数据库。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。

最后,本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1