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

一种基于硬件可信信任链的License授权方法和系统与流程

2022-12-19 20:08:20 来源:中国专利 TAG:

一种基于硬件可信信任链的license授权方法和系统
技术领域
1.本发明涉及license授权技术领域,尤其涉及一种基于硬件可信信任链的license授权方法和系统。


背景技术:

2.对license授权时通常采用非对称加密签名机制保障license授权文件的完整性。通过提前创建公私钥对,并分别在客户端和服务端内置公钥(证书)和私钥,公钥(证书)/私钥加密或签名的数据只能由成对的私钥/公钥(证书)执行解密或验签,以此保证license授权内容的安全可信。为了实现双向认证,通常做法是申请两套公私钥,在授权客户端和服务端各内置一份私钥以及对端私钥对应的公钥。客户端私钥用于对客户环境信息进行加密签名,服务端私钥用于license授权内容的加密签名。当需要签发license时,首先获取客户端环境信息,使用客户端私钥执行加密/签名。将环境信息或申请授权信息拿到服务端,使用服务端保存的客户端公钥解密验证通过之后,服务端使用license授权私钥对授权信息执行加密签名。加密签名后的授权信息再拿到客户端导入,客户端使用本地保存的license授权公钥进行解密以及签名验证。通过后认为授权内容合法且信息完整未被篡改。上述方法存在以下问题:
3.1.通过软件方式保存私钥时,安全性受限于操作系统的安全性。当操作系统被入侵、破坏等场景发生时存在私钥被窃取甚至篡改的风险。私钥存放在tpm/tpcm等硬件介质可以提高数据的安全性,但是签名/验签和加解密等行为通常在内存中执行,仍然存在数据被窃取甚至篡改的可能。
4.2.由于客户端需要内置公私钥对,当产品售卖实体众多时,服务端需要记录海量的产品公钥和产品实例的映射关系,极大的增加服务端的管理难度和管理成本。当密钥泄露、定期更新等原因需要更换密钥对时,必须客户端服务器端两端同时替换。产品发布数量很大时,替换的难度将非常高。
5.因此,如何提供提高license授权的安全性、管理效率,降低license授权的成本,成为亟待解决的技术问题。


技术实现要素:

6.有鉴于此,为了克服现有技术的不足,本发明提供一种基于硬件可信信任链的license授权方法和系统。
7.一方面,本发明提供一种基于硬件可信信任链的license授权方法,包括:
8.步骤s1:通过根证书在客户端生成客户端私钥和客户端证书,在服务端生成产品私钥和产品证书;
9.步骤s2:通过客户端私钥对客户端环境信息进行签名加密;
10.步骤s3:根据授权内容和客户端环境信息生成授权文件;
11.步骤s4:通过合法的产品证书导入授权文件,并通过接口对外提供服务。
12.进一步地,本发明基于硬件可信信任链的license授权方法中的步骤s1,包括:
13.步骤s11:根据系统初始化请求签发根证书,分别将根证书存储于服务端和客户端;
14.步骤s12:通过客户端的根证书生成客户端私钥和客户端证书,将生成的客户端私钥和客户端证书存储在客户端的可信硬件环境中;
15.步骤s13:根据产品创建请求,通过服务端的根证书生成产品私钥和产品证书,将生成的产品私钥和产品证书存储在服务端的硬件加密机中。
16.进一步地,本发明基于硬件可信信任链的license授权方法中的步骤s2,包括:通过存储在可信硬件环境中的客户端私钥对客户端环境信息进行签名加密,将客户端证书放置到签名加密后的客户端环境信息中。
17.进一步地,本发明基于硬件可信信任链的license授权方法中的步骤s3,包括:
18.步骤s31:根据授权申请请求,采用产品私钥对授权内容进行签名,生成签名授权信息;
19.步骤s32:获取客户端环境信息并校验客户端环境信息中客户端证书的有效性;
20.步骤s33:采用通过验证的客户端证书对客户端环境信息进行验签解密;
21.步骤s34:将产品证书和验签解密后的客户端环境信息放置在签名授权信息中形成授权数据;
22.步骤s35:对步骤s34中的授权数据进行加密,生成授权文件。
23.进一步地,本发明基于硬件可信信任链的license授权方法中的步骤s4,包括:
24.步骤s41:通过存储在客户端的根证书验证授权文件中产品证书的合法性;
25.步骤s42:采用通过验证的产品证书对授权文件进行验签解密;
26.步骤s43:同时验证客户端环境信息以及对签名授权信息进行格式化,通过接口方式对外提供信息查询服务。
27.另一方面,本发明提供一种基于硬件可信信任链的license授权系统,包括:
28.license授权服务端,由产品管理模块、服务端授权管理模块以及硬件加密机组成,其中,产品管理模块由系统初始化单元、产品创建单元以及授权申请单元组成;服务端授权管理模块由授权信息签名单元、客户端证书校验单元、环境信息验证单元以及授权信息加密单元组成;硬件加密机用于根据系统初始化请求签发根证书,分别将根证书存储于服务端和客户端,通过客户端的根证书生成客户端私钥和客户端证书,将生成的客户端私钥和客户端证书存储在客户端的可信硬件环境模块中,根据产品创建请求,通过服务端的根证书生成并存储产品私钥和产品证书,以及向服务端授权管理模块提供api接口,使服务端授权管理模块通过api接口在加密机内完成授权信息签名、客户端证书校验、环境信息验证以及授权信息加密;
29.license授权客户端,由客户端授权管理模块和可信硬件环境模块组成,其中,客户端授权管理模块由环境信息签名加密单元、授权信息验证解密单元、授权信息格式化单元和授权信息接口单元组成;可信硬件环境模块用于存储客户端私钥和客户端证书,以及向客户端授权管理模块提供api接口,使客户端授权管理模块在可信硬件环境模块内完成环境信息签名加密、授权信息验证解密、授权信息格式化和授权信息接口提供。
30.进一步地,本发明基于硬件可信信任链的license授权系统的产品管理模块中,系
统初始化单元用于发送系统初始化请求,产品创建单元用于发送产品创建请求,授权申请单元用于发送授权申请请求。
31.进一步地,本发明基于硬件可信信任链的license授权系统的服务端授权管理模块中,授权信息签名单元用于根据授权申请请求,采用产品私钥对授权内容进行签名,生成签名授权信息;客户端证书校验单元用于校验客户端环境信息中客户端证书的有效性;环境信息验证单元用于获取客户端环境信息,采用通过验证的客户端证书对客户端环境信息进行验签解密;授权信息加密单元用于将产品证书和验签解密后的客户端环境信息放置在签名授权信息中形成授权数据,对授权数据进行加密,生成授权文件。
32.进一步地,本发明基于硬件可信信任链的license授权系统的客户端授权管理模块中,环境信息签名加密单元用于通过存储在硬件系统中的客户端私钥对客户端环境信息进行签名加密,将客户端证书放置到签名加密后的客户端环境信息中;授权信息验证解密单元用于通过存储在客户端的根证书验证授权文件中产品证书的合法性,采用通过验证的产品证书对授权文件进行验签解密;授权信息格式化单元用于验证客户端环境信息以及对签名授权信息进行格式化;授权信息接口单元用于通过接口方式对外提供信息查询服务。
33.最后,本发明还提供一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。
34.本发明基于硬件可信信任链的license授权方法和系统,具有以下有益效果:
35.1.采用硬件加密机管理根证书和各产品的产品私钥,所有加密和签名验签行为在硬件加密机中执行,私钥不出硬件加密机,保证license授权服务端绝对的安全性。
36.2.license根证书和客户端私钥存储在可信硬件环境模块中,所有加密和签名验签过程都在客户端可信硬件环境模块中执行,私钥不传递到软件系统(内存),保证客户端环境使用的证书不可替换、私钥不被窃取和篡改,从而保证license授权客户端的绝对安全性。
37.3.采用证书链管理所有license授权服务端和授权客户端使用的私钥和证书,在不降低安全性的前提下极大的降低服务端需要维护的产品私钥数量,降低license签发成本。
附图说明
38.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
39.图1为本发明示例性第一实施例一种基于硬件可信信任链的license授权方法的流程图。
40.图2为本发明示例性第二实施例一种基于硬件可信信任链的license授权方法的流程图。
41.图3为本发明示例性第三实施例一种基于硬件可信信任链的license授权方法的流程图。
42.图4为本发明示例性第四实施例一种基于硬件可信信任链的license授权方法的流程图。
43.图5为本发明示例性第四实施例一种基于硬件可信信任链的license授权系统的架构图。
具体实施方式
44.下面结合附图对本发明实施例进行详细描述。
45.需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
46.需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
47.本技术的技术原理如下:
48.采用硬件加密机管理根证书和各产品的产品私钥,所有加密和签名验签行为在硬件加密机中执行,私钥不出硬件加密机,保证license授权服务端绝对的安全性。
49.license根证书和客户端私钥存储在可信硬件环境模块如tpm/tpcm/tee中,所有加密和签名验签过程都在客户端可信硬件环境模块中执行,私钥不传递到软件系统(内存),保证客户端环境使用的证书不可替换、私钥不被窃取和篡改,从而保证license授权客户端的绝对安全性。
50.采用证书链管理所有license授权服务端和授权客户端使用的私钥和证书,在不降低安全性的前提下极大的降低服务端需要维护的产品私钥数量,降低license签发成本。如系统可为每个产品版本分配一套license授权私钥证书,可以为每个版本甚至每个售卖实体分配一套客户端私钥和客户端证书。license授权服务端无需记录客户端的私钥和证书,只需要在验证客户端加密信息时,使用根证书校验客户端随密文一并提供的证书的信任链即可验证客户端的合法性。license授权服务端可以独立更换产品私钥,客户端无需更新;授权客户端更新内置的客户端私钥时,license授权服务端也无需感知。
51.图1为根据本发明示例性第一实施例的一种基于硬件可信信任链的license授权方法的流程图,如图1所示,本实施例的方法,包括:
52.步骤s1:通过根证书在客户端生成客户端私钥和客户端证书,在服务端生成产品私钥和产品证书;
53.步骤s2:通过客户端私钥对客户端环境信息进行签名加密;
54.步骤s3:根据授权内容和客户端环境信息生成授权文件;
55.步骤s4:通过合法的产品证书导入授权文件,并通过接口对外提供服务。
56.本实施例基于硬件可信信任链的license授权方法中的步骤s2,包括:通过存储在可信硬件环境中的客户端私钥对客户端环境信息进行签名加密,将客户端证书放置到签名加密后的客户端环境信息中,将签名加密后的环境信息连同客户端证书一起提供给服务
端。
57.图2为根据本发明示例性第二实施例的一种基于硬件可信信任链的license授权方法的流程图,本实施例是图1所示方法的优选实施例,如图2所示,本实施例方法的步骤s1,包括:
58.步骤s11:根据系统初始化请求签发根证书,分别将根证书存储于服务端和客户端;
59.步骤s12:通过客户端的根证书生成客户端私钥和客户端证书,将生成的客户端私钥和客户端证书存储在客户端的可信硬件环境中;
60.步骤s13:根据产品创建请求,通过服务端的根证书生成产品私钥和产品证书,将生成的产品私钥和产品证书存储在服务端的硬件加密机中。
61.图3为根据本发明示例性第三实施例的一种基于硬件可信信任链的license授权方法的流程图,本实施例是图1所示方法的优选实施例,如图3所示,本实施例方法的步骤s3,包括:
62.步骤s31:根据授权申请请求,采用产品私钥对授权内容进行签名,生成签名授权信息;
63.步骤s32:获取客户端环境信息并校验客户端环境信息中客户端证书的有效性;
64.步骤s33:采用通过验证的客户端证书对客户端环境信息进行验签解密;
65.步骤s34:将产品证书和验签解密后的客户端环境信息放置在签名授权信息中形成授权数据;
66.步骤s35:对步骤s34中的授权数据进行加密,生成授权文件。
67.本实施例中,使用根证书对客户端证书进行信任链校验,使用通过校验的客户端证书对客户端环境信息进行验签解密。因此,服务端并不需要记录分配给产品的产品私钥信息,使用根证书即可校验产品内置证书的合法性。license授权内容使用根证书私钥生成的license授权私钥进行签名,并且将产品证书随license授权文件提供给授权客户端。
68.图4为根据本发明示例性第四实施例的一种基于硬件可信信任链的license授权方法的流程图,本实施例是图1所示方法的优选实施例,如图4所示,本实施例方法的步骤s4,包括:
69.步骤s41:通过存储在客户端的根证书验证授权文件中产品证书的合法性;
70.步骤s42:采用通过验证的产品证书对授权文件进行验签解密;
71.步骤s43:同时验证客户端环境信息以及对签名授权信息进行格式化,通过接口方式对外提供信息查询服务。
72.本实施例中,客户端通过可信硬件环境存储的根证书验证二级证书的信任链合法性,二级证书作为产品证书,cn字段填写产品id,客户端校验产品证书合法性时需额外校验产品证书cn与产品id是否相同。当该产品证书可信时,使用该产品证书对license授权内容进行验签解密。
73.图5为根据本发明示例性第五实施例的一种基于硬件可信信任链的license授权系统,如图5所示,本实施例的系统,包括:
74.license授权服务端,由产品管理模块、服务端授权管理模块以及硬件加密机组成,其中,产品管理模块由系统初始化单元、产品创建单元以及授权申请单元组成;服务端
授权管理模块由授权信息签名单元、客户端证书校验单元、环境信息验证单元以及授权信息加密单元组成;硬件加密机用于根据系统初始化请求签发根证书,分别将根证书存储于服务端和客户端,通过客户端的根证书生成客户端私钥和客户端证书,将生成的客户端私钥和客户端证书存储在客户端的可信硬件环境模块中,根据产品创建请求,通过服务端的根证书生成并存储产品私钥和产品证书,以及向服务端授权管理模块提供api接口,使服务端授权管理模块通过api接口在加密机内完成授权信息签名、客户端证书校验、环境信息验证以及授权信息加密;
75.license授权客户端,由客户端授权管理模块和可信硬件环境模块组成,其中,客户端授权管理模块由环境信息签名加密单元、授权信息验证解密单元、授权信息格式化单元和授权信息接口单元组成;可信硬件环境模块用于存储客户端私钥和客户端证书,以及向客户端授权管理模块提供api接口,使客户端授权管理模块在可信硬件环境模块内完成环境信息签名加密、授权信息验证解密、授权信息格式化和授权信息接口提供。
76.本实施例基于硬件可信信任链的license授权系统的产品管理模块中,系统初始化单元用于发送系统初始化请求,产品创建单元用于发送产品创建请求,授权申请单元用于发送授权申请请求。
77.本实施例基于硬件可信信任链的license授权系统的服务端授权管理模块中,授权信息签名单元用于根据授权申请请求,采用产品私钥对授权内容进行签名,生成签名授权信息;客户端证书校验单元用于校验客户端环境信息中客户端证书的有效性;环境信息验证单元用于获取客户端环境信息,采用通过验证的客户端证书对客户端环境信息进行验签解密;授权信息加密单元用于将产品证书和验签解密后的客户端环境信息放置在签名授权信息中形成授权数据,对授权数据进行加密,生成授权文件。
78.本实施例基于硬件可信信任链的license授权系统的客户端授权管理模块中,环境信息签名加密单元用于通过存储在硬件系统中的客户端私钥对客户端环境信息进行签名加密,将客户端证书放置到签名加密后的客户端环境信息中;授权信息验证解密单元用于通过存储在客户端的根证书验证授权文件中产品证书的合法性,采用通过验证的产品证书对授权文件进行验签解密;授权信息格式化单元用于验证客户端环境信息以及对签名授权信息进行格式化;授权信息接口单元用于通过接口方式对外提供信息查询服务。
79.本发明示例性第五实施例提供一种基于硬件可信信任链的license授权系统的应用原理,本实施例是图5所示系统的优选实施例,本实施例的系统按以下方式应用:
80.系统初始化单元发出系统初始化请求,硬件加密机根据系统初始化请求签发根证书,分别将根证书存储于服务端的硬件加密机和客户端的可信硬件环境模块;
81.硬件加密机通过客户端的根证书生成客户端私钥和客户端证书,将生成的客户端私钥和客户端证书存储在客户端的可信硬件环境模块中;
82.产品创建单元发出产品创建请求,硬件加密机根据产品创建请求,通过服务端的根证书生成产品私钥和产品证书,将生成的产品私钥和产品证书存储在服务端的硬件加密机中;
83.通过环境信息签名加密单元采用存储在可信硬件环境模块中的客户端私钥对客户端环境信息进行签名加密,将客户端证书放置到签名加密后的客户端环境信息中。
84.通过授权信息签名单元根据授权申请单元发出的授权申请请求,采用产品私钥对
授权内容进行签名,生成签名授权信息;
85.通过环境信息验证单元获取客户端环境信息,通过客户端证书校验单元校验客户端环境信息中客户端证书的有效性;
86.通过环境信息验证单元采用通过验证的客户端证书对客户端环境信息进行验签解密;
87.通过授权信息加密单元将产品证书和验签解密后的客户端环境信息放置在签名授权信息中形成授权数据,对授权数据进行加密,生成授权文件。
88.通过授权信息验证解密单元采用存储在客户端的根证书验证授权文件中产品证书的合法性,采用通过验证的产品证书对授权文件进行验签解密;
89.通过授权信息格式化单元验证客户端环境信息以及对签名授权信息进行格式化;
90.通过授权信息接口单元采用接口方式对外提供信息查询服务。
91.本实施例中,license授权使用的私钥存储在硬件加密机中,软件管理系统仅保存密钥id,在生成产品license授权时,通过硬件加密机的api接口,在加密机中完成数据加密和签名。
92.客户端环境的私钥在产品发布前由硬件加密机生成,与license根证书一起内置在产品客户端的可信硬件环境模块如tpm/tpcm/tee中。证书合法性校验、加解密验签通过可信硬件环境模块提供的api接口,在可信硬件环境模块中完成。
93.最后,本发明还提供一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。
94.该终端设备具有上述基于硬件可信信任链的license授权方法和系统相应的技术效果。
95.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献