一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种私钥保护方法、装置、系统及存储介质与流程

2022-04-13 17:48:56 来源:中国专利 TAG:


1.本发明涉及信息安全技术领域,尤其涉及一种私钥保护方法、装置、系统及存储介质。


背景技术:

2.数字证书和私钥是公钥基础设施系统(publickeyinfrastructure-pki)中的核心元素。数字证书是一个实体身份的有效标识,而与之对应的私钥则用于这个身份的证明,其作用类似于“身份证”。私钥用于签名,公钥用于验签。数学上保证了私钥签名的不可伪造,不可否认性。比如在一次ssl(secure sockets layer,安全套接字协议)握手中,私钥的拥有者利用自己的私钥做数据签名,并和数字证书一同发送给接收方,接收方在收到信息后可以用对方的公钥来验签,来验证发送者的真实身份。如果黑客窃取了私钥,那么就完全可以伪造数据发起方来欺骗对方,从而进行非法的活动。
3.秘钥泄露的危害是非常高的。国内很多密码卡或者密码机厂商都需要通过专用硬件的方法来保存秘钥。但是,这些设计方案都无法使用通用cpu(central processing unit,中央处理器)的加解密功能,性能都存在瓶颈。
4.目前,cpu通常提供有加解密协处理器(ccp:crypto co-processor),可以用来专门做加解密操作,秘钥需要由用户通过api(application programming interface,应用程序接口)写入,并把需要加解密的数据和命令发送给ccp来完成操作。然而,该设计中,秘钥需要由客户软件自行管理,暴露在操作系统一侧,容易收到攻击。


技术实现要素:

5.有鉴于此,本发明实施例提供一种私钥保护方法、装置、系统及存储介质,以实现对用户私钥的安全保护。
6.第一方面,本发明实施例提供一种私钥保护方法,包括:
7.在cpu内置的安全处理模块存储用户私钥;
8.认证应用程序是否合法;
9.确定应用程序合法后,利用用户私钥进行应用程序的数据加解密处理。
10.可选的,在cpu内置的安全处理模块存储用户私钥之前,所述方法还包括:
11.离线加密用户私钥;
12.将加密后的用户私钥放入cpu内置的安全处理模块,由安全处理模块解密用户私钥。
13.进一步的,离线加密用户私钥,包括:
14.离线利用cpu内置的证书链得到加密封装公钥;
15.利用加密封装公钥加密用户私钥。
16.可选的,在cpu内置的安全处理模块存储用户私钥之前,所述方法还包括:
17.在cpu内置的安全处理模块生成用户私钥。
18.可选的,在cpu内置的安全处理模块存储用户私钥,包括:
19.在cpu内置的安全处理模块中的可信子模块存储用户私钥。
20.可选的,认证应用程序是否合法,包括:
21.将应用程序的存储地址发送到cpu内置的安全处理模块,以使cpu内置的安全处理模块利用自身的可信子模块认证应用程序是否合法。
22.可选的,在cpu内置的安全处理模块存储用户私钥之后,所述方法还包括:将cpu内置的安全处理模块存储的用户私钥编程入密码协处理器;
23.利用用户私钥进行应用程序的数据加解密处理,包括:由密码协处理器使用用户私钥进行应用程序的数据加解密处理。
24.第二方面,本发明实施例提供一种私钥保护装置,包括:
25.用户私钥存储单元,用于在cpu内置的安全处理模块存储用户私钥;
26.程序认证单元,用于认证应用程序是否合法;
27.加解密处理单元,用于确定应用程序合法后,利用用户私钥进行应用程序的数据加解密处理。
28.可选的,所述装置还包括:
29.用户私钥离线加密单元,用于离线加密用户私钥;
30.用户私钥传送单元,用于将加密后的用户私钥放入cpu内置的安全处理模块,由安全处理模块解密用户私钥后触发用户私钥存储单元存储解密后的用户私钥。
31.进一步的,用户私钥离线加密单元用于离线加密用户私钥,包括:
32.离线利用cpu内置的证书链得到加密封装公钥;
33.利用加密封装公钥加密用户私钥。
34.可选的,在cpu内置的安全处理模块存储用户私钥之前,所述装置还包括:
35.用户私钥产生单元,用于在cpu内置的安全处理模块生成用户私钥,触发用户私钥存储单元存储生成的用户私钥。
36.可选的,用户私钥存储单元用于在cpu内置的安全处理模块存储用户私钥,包括:
37.在cpu内置的安全处理模块中的可信子模块存储用户私钥。
38.可选的,程序认证单元用于认证应用程序是否合法,包括:
39.将应用程序的存储地址发送到cpu内置的安全处理模块,以使cpu内置的安全处理模块利用自身的可信子模块认证应用程序是否合法。
40.第三方面,本发明实施例提供一种私钥保护系统,所述系统包括内置有安全处理模块的中央处理器;其中:中央处理器包括上述第二方面所述的私钥保护装置。
41.可选的,所述中央处理器还内置有与安全处理模块连接的密码协处理器;其中:中央处理器将cpu内置的安全处理模块存储的用户私钥编程入密码协处理器,由密码协处理器使用用户私钥进行应用程序的数据加解密处理。
42.第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个中央处理器执行,以实现前述第一方面所述的私钥保护方法。
43.本发明实施例提供的技术方案中,利用设备上cpu内置的安全处理模块来保护运行时的用户私钥,并且只有在应用程序的合法性认证通过后方可使用该用户私钥作加解密
处理,能够以较低的成本很好地防止用户私钥泄露,保证用户私钥地安全性。
附图说明
44.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
45.图1为本发明实施例一提供的一种私钥保护方法的流程图;
46.图2为本发明实施例二提供的一种私钥保护方法的流程图;
47.图3为本发明实施例三提供的一种私钥保护方法适用的架构图;
48.图4为本发明实施例三提供的一种私钥保护装置的结构示意图。
具体实施方式
49.下面结合附图对本发明实施例进行详细描述。
50.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
51.首先,对本发明实施例中涉及的部分名词做简要阐述。
52.soc:system-on-a-chip,称为系统级芯片,也有称片上系统,意指一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容;
53.psp:platform secure processor安全处理器,通用处理器之外的专门用于管理安全策略的专有处理器,具有独立的随机存取存储器ram;
54.ccp:crypto co-processor密码协处理器,专门用于处理各类加密解密算法的硬件装置;
55.digital signature:数字签名;
56.signature verification:验签;
57.symmetric encryption:对称加密;
58.secureboot:安全启动,指对启动过程的代码进行验证的过程,防止加载被篡改过的代码以保护设备的安全性,一般采用验签或者校验哈希hash的方法;
59.明文:原始的消息;
60.密文:加密后的明文;
61.加密:将明文变为密文的变换过程;
62.解密:将密文变为明文的变换过程;
63.密码编码学:研究各种加密方案的领域;
64.密码分析学:在不知道任何加密信息的条件下去解密;
65.privatekey:私钥,指不能让别人知道的钥匙;
66.publickey:公钥,可以公开让别人知道钥匙;
67.trustedcomputing:可信计算;
68.tpm:trusted platform module可信平台模块;
69.tpcm:trusted platform control module可信平台控制模块;
70.sram:静态随机内存,一般具有较高的性能,但是集成度较低,成本比较高;
71.签名:数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明;它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法;一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证;
72.验签:同上;
73.证书:数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份;
74.证书链:证书链也称认证链,它是最终实体到根证书的一系列证书组成,像一个链条,子辈连向父辈,一般要求逐级签名并可以反向逐级验证。
75.下面,通过各实施例详细介绍本发明的技术方案。
76.实施例一
77.本实施例提供了一种私钥保护方法,该方法可以由对应的私钥保护装置执行,该装置可以被集成在部署有soc的智能设备的cpu执行,cpu内嵌在soc。参见图1,该方法具体包括如下步骤101-103。
78.步骤101、在cpu内置的安全处理模块存储用户私钥。
79.在本步骤中,安全处理模块可以是安全处理器,也可以是cpu内部其它具有安全空间和处理功能的模块。安全处理器是内置的异构处理器,具体独立于cpu核心,具有独立的sram、dram、专用的ccp,以及,内置的存储flash,专为处理核心安全功能设计,一般用于秘钥管理等。用户私钥可以是对称的密钥或者是非对称的私钥。
80.其中,用户私钥可以是在cpu内置的安全处理模块之外离线环境下生成,而后传给安全处理模块;也可以在cpu内置的安全处理模块之内直接生成并存储,也即,在cpu内置的安全处理模块存储用户私钥之前,本实施例中的私钥保护方法还包括在cpu内置的安全处理模块生成用户私钥,需要向外传输的时候用公钥加密即可,这样可以避免客户搭建自己的离线安全环境。
81.优选的,在cpu内置的安全处理模块存储用户私钥,包括:在cpu内置的安全处理模块中的可信子模块(例如tpm、tpcm)存储用户私钥。在可信子模块中存储用户私钥,可以更好的保护用户私钥。cpu目前提供内置可信计算方案,包括tpm和tpcm。tpm和tpcm都具有秘钥管理的功能。tpm和tpcm都用fw(firmware,固件)的形式在安全处理器中实现。tpm和tpcm被广泛运用于各种安全场景,比如秘钥保护,磁盘加密等。
82.步骤102、认证应用程序是否合法。
83.在本步骤中,为避免黑客程序恶意调用,使得非法程序无法使用已经内部的私钥来解密,需要对后续要进行数据加解密处理的应用程序进行合法性认证,具体可以利用tpm或者tpcm或者动态度量完成对该应用程序的认证。
84.示例性的,可以将应用程序的存储地址发送到cpu内置的安全处理模块,以使cpu内置的安全处理模块利用自身的可信子模块认证应用程序是否合法。
85.步骤103、确定应用程序合法后,利用用户私钥进行应用程序的数据加解密处理。
86.在本步骤中,若认证应用程序合法后,读取安全处理模块中存储的用户私钥,使用该用户私钥根据具体的加解密指令对应用程序的数据进行相应的加密或解密处理,具体的加密或解密处理过程为现有技术,在此不再赘述。
87.作为一种优选实施方式,cpu中还可包括密码协处理器,其作为安全处理模块的辅助部件,主要负责为安全处理模块提供密码学计算功能。相应的,在cpu内置的安全处理模块存储用户私钥之后,本实施例提供的私钥保护方法还包括:将cpu内置的安全处理模块存储的用户私钥编程入密码协处理器;利用用户私钥进行应用程序的数据加解密处理,包括:由密码协处理器使用用户私钥进行应用程序的数据加解密处理。
88.实施例二
89.本实施例提供了一种私钥保护方法,该方法可以由对应的私钥保护装置执行,该装置可以被集成在部署有soc的智能设备的cpu执行,cpu内嵌在soc。参见图2,该方法具体包括如下步骤201-205。
90.步骤201、离线加密用户私钥。
91.离线是指在一个不联网的安全环境中。比如,用户可以在自己的机器上面生产私钥,然后再这个环境中用公钥来加密私钥,进而将这个加密后的私钥拿出来使用。离线是为了确保安全,没有任何网络安全的问题。优选的,离线利用cpu内置的证书链得到加密封装公钥;利用加密封装公钥加密用户私钥。
92.在上述优选方式中,cpu内置有证书链,包括根秘钥对(包括公私钥),签名秘钥对(公私钥),芯片秘钥对(公私钥),加密封装秘钥对(公私钥)等。根秘钥、签名秘钥中以及加密封装秘钥中的公钥信息公开,用户可以从公开途径下载使用。根据密码学理论,非对称加解密中,用公钥来加密的信息必须使用和其对应的私钥来解密。证书链形成过程如下:
93.根秘钥签名签名公钥;
94.签名私钥签名芯片公钥;
95.签名私钥签名加密封装公钥,生成加密封装证书;
96.根秘钥中的公钥自签名后生成根证书;
97.签名公钥由根秘钥签名后生成签名证书。
98.证书都可以从公开渠道获得。可以逐级验签,外人在不知道私钥的情况下无法伪造。
99.用户取得证书和验签的流程如下:
100.用户下载加密封装证书、签名证书和根证书;
101.用户用签名证书验签加密封装证书;
102.用户用根证书验签签名证书;
103.用户用根证书验证根证书,并比对公钥,确认无误。
104.用户将加密封装证书放入离线安全环境。
105.当然,本领域技术人员应理解,本实施例不限于用加密封装公钥来加密用户私钥,还可以用各种派生公钥对用户私钥进行加密。
106.步骤202、将加密后的用户私钥放入cpu内置的安全处理模块,由安全处理模块解密用户私钥。
107.步骤203、在cpu内置的安全处理模块存储解密后的用户私钥。
108.步骤204、认证应用程序是否合法。
109.步骤205、确定应用程序合法后,利用用户私钥进行应用程序的数据加解密处理。
110.实施例三
111.本实施例以上述各实施例为基础,提供一优选实施例。参见图3提供的架构,一种私钥保护方法包括如下步骤301-308。
112.步骤301、秘钥的拥有者基于用户态程序基于在离线安全环境中用内置的证书链得到加密封装公钥,利用加密封装公钥加密自己的用户私钥,将加密后的用户私钥放入到用户运行系统中。
113.步骤302、秘钥的拥有者通过第一应用程序编程接口api将加密后的用户私钥放入安全处理器中,由安全处理器用存储在里面的加密封装私钥来解密,还原出明文的用户私钥。
114.具体的,秘钥的拥有者基于用户态程序通过第一api把用加密封装公钥加密的用户私钥发送到内核驱动,内核驱动将加密的用户私钥以命令的形式传递给安全处理器。
115.步骤303、安全处理器内置的tpm将解密后的用户私钥存储在内部,以供后续使用。
116.步骤304、秘钥的使用者通过第二应用程序编程接口api,将tpm中的用户私钥编程入ccp,由ccp存入dram(dynamic random access memory,动态随机存取存储器)。
117.具体的,秘钥的使用者可基于用户态程序通过第二api把用于指示将用户私钥编程入ccp的消息发送到内核驱动,内核驱动将该消息以命令的形式传递给安全处理器,安全处理器在该消息的指示下将tpm中的用户私钥编程入ccp。当然,如果秘钥的使用者能够直接操控安全处理器,也可以直接控制安全处理器将tpm中的用户私钥编程入ccp。
118.步骤305、应用程序将要处理的数据和加解密命令发送到安全处理器。
119.步骤306、安全处理器利用tpm或者tpcm或者动态度量完成对应用程序的认证。
120.步骤307、安全处理器将数据和加解密命令做验证后发送到ccp。
121.步骤308、ccp解析加解密命令,使用dram中的用户私钥完成对数据的加密或解密。
122.本实施例中,利用cpu的证书链来离线保护用户秘钥,利用安全处理器来保护运行时的用户秘钥,形成闭环的保护系统,内置ftpm、tpcm都可以用来保持用户秘钥,利用内置的可信系统来完成对应用程序的认证后方可使用该密码,从而能够让用户私钥不出现在任何不安全的场景或者开放的场景中,以防止任何情况下的私钥泄露,比如黑客攻击,比如内部人泄露,比如配置错误等。
123.本实施例描述的技术方案使得基于通用cpu的加解密协处理器方案的秘钥管理的安全性提升了一个台阶。秘钥安全性由cpu内部的安全处理器和证书链来保证。基于这种方案的通用处理器完全可以取代专用的密码机。在安全性上不弱于专用密码机,在性能上大大超过,成本也会降低不少。并且,可以和云计算上的秘钥管理系统对接,让云上的数据处理更安全,彻底杜绝泄露隐患。
124.实施例四
125.本实施例提供了一种私钥保护装置,该装置可以用于执行本发明实施例所述的私钥保护方法,该装置可以被集成在部署有soc的智能设备的cpu中,cpu内嵌在soc。参见图4,该装置具体包括以下单元:
126.用户私钥存储单元401,用于在cpu内置的安全处理模块存储用户私钥;
127.程序认证单元402,用于认证应用程序是否合法;
128.加解密处理单元403,用于确定应用程序合法后,利用用户私钥进行应用程序的数据加解密处理。
129.作为一种实施方式,所述装置还包括:
130.用户私钥离线加密单元404,用于离线加密用户私钥;
131.用户私钥传送单元405,用于将加密后的用户私钥放入cpu内置的安全处理模块,由安全处理模块解密用户私钥后触发用户私钥存储单元存储解密后的用户私钥。
132.可选的,用户私钥离线加密单元404用于离线加密用户私钥,包括:
133.离线利用cpu内置的证书链得到加密封装公钥;
134.利用加密封装公钥加密用户私钥。
135.作为另一种实施方式,在cpu内置的安全处理模块存储用户私钥之前,所述装置还包括:
136.用户私钥产生单元(图中未示出),用于在cpu内置的安全处理模块生成用户私钥,触发用户私钥存储单元存储生成的用户私钥。
137.可选的,用户私钥存储单元401用于在cpu内置的安全处理模块存储用户私钥,包括:
138.在cpu内置的安全处理模块中的可信子模块存储用户私钥。
139.可选的,程序认证单元402用于认证应用程序是否合法,包括:
140.将应用程序的存储地址发送到cpu内置的安全处理模块,以使cpu内置的安全处理模块利用自身的可信子模块认证应用程序是否合法。
141.本实施例提供私钥保护装置与前述方法实施例属于同一发明构思,未在本实施例中描述的技术细节可参见前述方法实施例中的相关描述,在此不再赘述。
142.此外,本发明实施例还提供一种私钥保护系统,所述系统包括内置有安全处理模块的cpu;其中:cpu包括上述所述的私钥保护装置。
143.可选的,cpu还内置有与安全处理模块连接的密码协处理器;其中:
144.cpu将cpu内置的安全处理模块存储的用户私钥编程入密码协处理器,由密码协处理器使用用户私钥进行应用程序的数据加解密处理。
145.再者,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或多个程序,所述一个或者多个程序可被一个或者多个中央处理器执行,以实现前述实施例所述的私钥保护方法。
146.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
147.本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一
般表示前后关联对象是一种“或”的关系。
148.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
149.尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
150.为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
151.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
152.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献