一种产品许可认证方法和系统转让专利

申请号 : CN202110027234.5

文献号 : CN112733126B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴保锡

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本发明公开了一种产品许可认证方法和系统,方法包括:在部署认证前,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM;在部署认证时,在TPM中生成唯一标识信息,并基于唯一标识信息和许可认证策略产生许可文件并反馈到TPM,以在TPM中使用许可授权根证书校验许可文件;在部署认证后,响应于产品运行而对由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证,以获得认证结果。本发明能够防止逆向分析和旁路许可认证,进而提高系统安全。

权利要求 :

1.一种产品许可认证方法,其特征在于,包括:在部署认证前执行以下步骤:

从TPM中提取硬件平台公钥;

基于所述硬件平台公钥生成所述许可授权根证书,其中所述许可授权根证书包括硬件平台的出厂配置基准值;

基于所述许可授权根证书生成所述许可认证策略;

将所述许可授权根证书和所述许可认证策略存储到所述TPM;

在部署认证时执行以下步骤:

读取所述TPM的平台密钥种子、平台配置信息、和内部处理器标识,以使用哈希算法处理获得的消息摘要作为唯一标识,并使用所述TPM的硬件平台私钥签名所述唯一标识;

基于所述许可认证策略验证外部平台的合法性;

使用所述许可授权根证书的私钥签名所述唯一标识以产生许可文件,以在所述TPM中使用所述许可授权根证书校验所述许可文件;

在部署认证后执行以下步骤:

响应于产品运行而对由许可认证引擎使用从所述TPM读取的所述许可文件来校验单次产品运行提供的许可认证,以获得认证结果。

2.根据权利要求1所述的方法,其特征在于,由许可认证引擎使用从所述TPM读取的所述许可文件来校验单次产品运行提供的许可认证包括:使用所述许可授权根证书的公钥和所述硬件平台公钥加密所述许可文件,并在所述TPM中使用所述许可授权根证书校验以获得认证结果。

3.一种产品许可认证系统,其特征在于,包括:处理器;和

存储器,存储有处理器可运行的程序代码,所述程序代码在被运行时执行以下步骤:在部署认证前:

从TPM中提取硬件平台公钥;

基于所述硬件平台公钥生成所述许可授权根证书,其中所述许可授权根证书包括硬件平台的出厂配置基准值;

基于所述许可授权根证书生成所述许可认证策略;

将所述许可授权根证书和所述许可认证策略存储到所述TPM;

在部署认证时:

读取所述TPM的平台密钥种子、平台配置信息、和内部处理器标识,以使用哈希算法处理获得的消息摘要作为唯一标识,并使用所述TPM的硬件平台私钥签名所述唯一标识;

基于所述许可认证策略验证外部平台的合法性;

使用所述许可授权根证书的私钥签名所述唯一标识以产生许可文件;

在部署认证后:

响应于产品运行而对由许可认证引擎使用从所述TPM读取的所述许可文件来校验单次产品运行提供的许可认证,以获得认证结果。

4.根据权利要求3所述的系统,其特征在于,由许可认证引擎使用从所述TPM读取的所述许可文件来校验单次产品运行提供的许可认证包括:使用所述许可授权根证书的公钥和所述硬件平台公钥加密所述许可文件,并在所述TPM中使用所述许可授权根证书校验以获得认证结果。

说明书 :

一种产品许可认证方法和系统

技术领域

[0001] 本发明涉及数据安全领域,更具体地,特别是指一种产品许可认证方法和系统。

背景技术

[0002] 随着技术的发展,面向数据中心场景的软硬一体交付产品越来越多,如面向边缘场景的边缘一体机、面向区块链应用场景的区块链一体机、面向人工智能应用场景的人工智能一体机(提供计算力及计算模型)、面向数据中心的超融合产品等,这些产品的核心能力主要来自软件,为了防止客户、ISV或竞争对手等恶意绕过license(许可)认证获取软件全部功能正在成为相关产品的版权管理、功能授权管理的重要内容之一。
[0003] 当前软件部分的license认证主要基于软件实现、提取的唯一标识信息大多为CPU ID(处理器标识)、MAC(硬件物理地址)等,这些信息大多可以基于虚拟机进行伪造,相关认证过程全部基于软件实现易被逆向分析和旁路,因而无法保障安全性。
[0004] 针对现有技术中认证过程易被逆向分析和旁路、无法保障安全性的问题,目前尚无有效的解决方案。

发明内容

[0005] 有鉴于此,本发明实施例的目的在于提出一种产品许可认证方法和系统,能够防止逆向分析和旁路许可认证,进而提高系统安全。
[0006] 基于上述目的,本发明实施例的第一方面提供了一种产品许可认证方法,包括执行以下步骤:
[0007] 在部署认证前,基于TPM(可信平台模块)中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM;
[0008] 在部署认证时,在TPM中生成唯一标识信息,并基于唯一标识信息和许可认证策略产生许可文件并反馈到TPM,以在TPM中使用许可授权根证书校验许可文件;
[0009] 在部署认证后,响应于产品运行而对由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证,以获得认证结果。
[0010] 在一些实施方式中,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM包括:
[0011] 从TPM中提取硬件平台公钥;
[0012] 基于硬件平台公钥生成许可授权根证书,其中许可授权根证书包括硬件平台的出厂配置基准值;
[0013] 基于许可授权根证书生成许可认证策略;
[0014] 将许可授权根证书和许可认证策略存储到TPM。
[0015] 在一些实施方式中,在TPM中生成唯一标识信息包括:读取TPM的平台密钥种子、平台配置信息、和内部处理器标识,以使用哈希算法处理获得的消息摘要作为唯一标识,并使用TPM的硬件平台私钥签名唯一标识。
[0016] 在一些实施方式中,基于唯一标识信息和许可认证策略产生许可文件包括:
[0017] 基于许可认证策略验证外部平台的合法性;
[0018] 使用许可授权根证书的私钥签名唯一标识以产生许可文件。
[0019] 在一些实施方式中,由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证包括:使用许可授权根证书的公钥和硬件平台公钥加密许可文件,并在TPM中使用许可授权根证书校验以获得认证结果。
[0020] 本发明实施例的第二方面提供了一种产品许可认证系统,包括:
[0021] 处理器;和
[0022] 存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
[0023] 在部署认证前,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM;
[0024] 在部署认证时,在TPM中生成唯一标识信息,并基于唯一标识信息和许可认证策略产生许可文件并反馈到TPM,以在TPM中使用许可授权根证书校验许可文件;
[0025] 在部署认证后,响应于产品运行而对由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证,以获得认证结果。
[0026] 在一些实施方式中,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM包括:
[0027] 从TPM中提取硬件平台公钥;
[0028] 基于硬件平台公钥生成许可授权根证书,其中许可授权根证书包括硬件平台的出厂配置基准值;
[0029] 基于许可授权根证书生成许可认证策略;
[0030] 将许可授权根证书和许可认证策略存储到TPM。
[0031] 在一些实施方式中,在TPM中生成唯一标识信息包括:读取TPM的平台密钥种子、平台配置信息、和内部处理器标识,以使用哈希算法处理获得的消息摘要作为唯一标识,并使用TPM的硬件平台私钥签名唯一标识。
[0032] 在一些实施方式中,基于唯一标识信息和许可认证策略产生许可文件包括:
[0033] 基于许可认证策略验证外部平台的合法性;
[0034] 使用许可授权根证书的私钥签名唯一标识以产生许可文件。
[0035] 在一些实施方式中,由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证包括:使用许可授权根证书的公钥和硬件平台公钥加密许可文件,并在TPM中使用许可授权根证书校验以获得认证结果。
[0036] 本发明具有以下有益技术效果:本发明实施例提供的产品许可认证方法和系统,通过在部署认证前,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM;在部署认证时,在TPM中生成唯一标识信息,并基于唯一标识信息和许可认证策略产生许可文件并反馈到TPM,以在TPM中使用许可授权根证书校验许可文件;在部署认证后,响应于产品运行而对由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证,以获得认证结果的技术方案,能够防止逆向分析和旁路许可认证,进而提高系统安全。

附图说明

[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038] 图1为本发明提供的产品许可认证方法的流程示意图;
[0039] 图2为本发明提供的产品许可认证方法的块状流程图。

具体实施方式

[0040] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
[0041] 需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0042] 基于上述目的,本发明实施例的第一个方面,提出了一种防止逆向分析和旁路许可认证,进而提高系统安全的产品许可认证方法的一个实施例。图1示出的是本发明提供的产品许可认证方法的流程示意图。
[0043] 所述的产品许可认证方法,如图1所示,包括执行以下步骤:
[0044] 步骤S101,在部署认证前,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM;
[0045] 步骤S103,在部署认证时,在TPM中生成唯一标识信息,并基于唯一标识信息和许可认证策略产生许可文件并反馈到TPM,以在TPM中使用许可授权根证书校验许可文件;
[0046] 步骤S105,在部署认证后,响应于产品运行而对由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证,以获得认证结果。
[0047] 本发明针对license认证过程逆向分析并旁路的问题,提出license认证的核心过程在TPM内部执行,任何主体无法获取具体验证过程及验证原理、也无法旁路相关过程;同时本发明针对license认证的伪造问题,提出基于TPM2.0芯片提供的唯一标识及平台状态配置信息作为license申请的唯一标识,可有效防止环境伪造等问题。
[0048] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
[0049] 在一些实施方式中,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM包括:
[0050] 从TPM中提取硬件平台公钥;
[0051] 基于硬件平台公钥生成许可授权根证书,其中许可授权根证书包括硬件平台的出厂配置基准值;
[0052] 基于许可授权根证书生成许可认证策略;
[0053] 将许可授权根证书和许可认证策略存储到TPM。
[0054] 在一些实施方式中,在TPM中生成唯一标识信息包括:读取TPM的平台密钥种子、平台配置信息、和内部处理器标识,以使用哈希算法处理获得的消息摘要作为唯一标识,并使用TPM的硬件平台私钥签名唯一标识。
[0055] 在一些实施方式中,基于唯一标识信息和许可认证策略产生许可文件包括:
[0056] 基于许可认证策略验证外部平台的合法性;
[0057] 使用许可授权根证书的私钥签名唯一标识以产生许可文件。
[0058] 在一些实施方式中,由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证包括:使用许可授权根证书的公钥和硬件平台公钥加密许可文件,并在TPM中使用许可授权根证书校验以获得认证结果。
[0059] 下面根据图2所示的具体实施例进一步阐述本发明的具体实施方式。
[0060] 在生产环节,主要发生在产品生产阶段,用于产品制造商向产品硬件平台TPM2.0芯片导入与硬件平台公钥绑定的license授权根证书。其中硬件平台公钥对应的硬件平台证书用于唯一标识产品由制造商生产的标识证书、在硬件平台证书中包含了硬件平台出厂时的配置基准值信息。图2中的PPubK即硬件平台公钥;LKeyCart即license授权根证书。
[0061] 在授权申请与导入环节,主要发生在客户初次部署与使用产品时,用于提取产品硬件唯一标识信息,并基于此项厂商申请license文件。图2中的PPS即平台密钥种子;PCR即平台配置信息;CPUID即内部处理器标识;UUID即唯一标识;PPrivK即硬件平台私钥;LKpriv即许可授权根证书的私钥。
[0062] 在使用阶段,主要是每次产品运行时触发的license认证过程,用于检测license授权情况。
[0063] 从上述实施例可以看出,本发明实施例提供的产品许可认证方法,通过在部署认证前,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM;在部署认证时,在TPM中生成唯一标识信息,并基于唯一标识信息和许可认证策略产生许可文件并反馈到TPM,以在TPM中使用许可授权根证书校验许可文件;在部署认证后,响应于产品运行而对由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证,以获得认证结果的技术方案,能够防止逆向分析和旁路许可认证,进而提高系统安全。
[0064] 需要特别指出的是,上述产品许可认证方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于产品许可认证方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
[0065] 基于上述目的,本发明实施例的第二个方面,提出了一种防止逆向分析和旁路许可认证,进而提高系统安全的产品许可认证系统的一个实施例。系统包括:
[0066] 处理器;和
[0067] 存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
[0068] 在部署认证前,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM;
[0069] 在部署认证时,在TPM中生成唯一标识信息,并基于唯一标识信息和许可认证策略产生许可文件并反馈到TPM,以在TPM中使用许可授权根证书校验许可文件;
[0070] 在部署认证后,响应于产品运行而对由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证,以获得认证结果。
[0071] 在一些实施方式中,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM包括:
[0072] 从TPM中提取硬件平台公钥;
[0073] 基于硬件平台公钥生成许可授权根证书,其中许可授权根证书包括硬件平台的出厂配置基准值;
[0074] 基于许可授权根证书生成许可认证策略;
[0075] 将许可授权根证书和许可认证策略存储到TPM。
[0076] 在一些实施方式中,在TPM中生成唯一标识信息包括:读取TPM的平台密钥种子、平台配置信息、和内部处理器标识,以使用哈希算法处理获得的消息摘要作为唯一标识,并使用TPM的硬件平台私钥签名唯一标识。
[0077] 在一些实施方式中,基于唯一标识信息和许可认证策略产生许可文件包括:
[0078] 基于许可认证策略验证外部平台的合法性;
[0079] 使用许可授权根证书的私钥签名唯一标识以产生许可文件。
[0080] 在一些实施方式中,由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证包括:使用许可授权根证书的公钥和硬件平台公钥加密许可文件,并在TPM中使用许可授权根证书校验以获得认证结果。
[0081] 从上述实施例可以看出,本发明实施例提供的系统,通过在部署认证前,基于TPM中的硬件平台公钥生成对应的许可授权根证书和许可认证策略并存储到TPM;在部署认证时,在TPM中生成唯一标识信息,并基于唯一标识信息和许可认证策略产生许可文件并反馈到TPM,以在TPM中使用许可授权根证书校验许可文件;在部署认证后,响应于产品运行而对由许可认证引擎使用从TPM读取的许可文件来校验单次产品运行提供的许可认证,以获得认证结果的技术方案,能够防止逆向分析和旁路许可认证,进而提高系统安全。
[0082] 需要特别指出的是,上述系统的实施例采用了所述产品许可认证方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述产品许可认证方法的其他实施例中。当然,由于所述产品许可认证方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述系统也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
[0083] 以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
[0084] 所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。