掌桥专利:专业的专利平台
掌桥专利
首页

一种基于可信子系统对其他子系统的安全授权方法

文献发布时间:2024-04-18 19:58:21


一种基于可信子系统对其他子系统的安全授权方法

技术领域

本发明涉及软件系统授权技术领域,特别是涉及一种基于可信子系统对其他子系统的安全授权方法。

背景技术

软件的加密和授权能够确保软件的合法使用和保护软件开发者的知识产权,通过授权,软件开发者可以控制软件的使用范围和方式,防止未经授权的复制、分发,从而保护自己的商业利益;

目前的授权方法一般有采用以下几种:

①、加密狗:加密狗是一种硬件设备,用于存储和验证软件授权信息,软件开发者将授权信息存储在加密狗中,用户需要插入加密狗才能使用软件;

②、激活码或序列号:激活码或序列号是一种常见的授权技术,用户需要在安装软件时输入激活码或序列号,以验证软件的合法性和授权信息;

③、在线授权:在线授权是一种将授权信息存储在服务器上的技术,用户需要通过网络连接到服务器验证授权信息。

以上授权对单个系统独立使用有一定的作用,当多个需要授权的系统协同使用又需要各自授权时,就有一定的局限性,特别是采用java这类语言开发的系统,使用激活码或者序列号授权等方式容易被反编译破解,绕过授权检测逻辑部分,导致授权失败,在一个硬件系统上多个软件系统采用加密狗方式授权,处理对加密狗的管理外,会发生以下问题;

冲突问题:如果在同一硬件系统上使用多个同种加密狗,可能会导致冲突问题,例如加密狗驱动程序的冲突、加密狗的识别问题等;

安全问题:如果在同一硬件系统上使用多个同种加密狗,可能会降低系统的安全性,例如加密狗被盗用或损坏的风险增加;

稳定性问题:如果在同一硬件系统上使用多个同种加密狗,可能会影响系统的稳定性,例如加密狗驱动程序的不兼容或冲突导致系统崩溃或死机等;

采用在线授权方式对于需要在专网运行的系统无法实现授权;为此,我们提出一种基于可信子系统对其他子系统的安全授权方法。

发明内容

本发明的目的在于提供一种基于可信子系统对其他子系统的安全授权方法,通过一个已经采用加密狗授权的可信子系统对其他子系统安全授权。

本发明是通过以下技术方案实现的:

本发明为一种基于可信子系统对其他子系统的安全授权方法,包括如下步骤:

S1:使用环境特征提取工具在需授权子系统的运行环境中提取环境特征文件;

S2:将环境特征文件通过网络途径发回公司线下授权人员;

S3:授权人员使用授权工具将环境特征文件及被授权系统的产品代码、版本、使用有效期信息计算生产授权文件;

S4:将授权文件上传至需授权子系统特定路径;

S5:需授权子系统调用环境提取动态库提取运行环境特征数据;

S6:需授权子系统将授权文件、环境特征数据及型号、版本通过授权API接口发送至可信子系统;

S7:可信子系统对授权文件解密和解码,并核对环境特征数据及信号、版本,匹配值一致则通过API接口返回授权成功,否则返回授权失败。

所述S1中环境特征提取工具在需授权子系统运行的目标环境上提取硬件相关的数据信息,并生成环境特征文件。

所述S2中环境特征文件是由运行环境硬件相关唯一信息组合而成,经过特定算法计算得出的特征数据文件。

所述S3中授权工具通过读取环境特征文件,及需授权子系统的产品代码、版本、使用有效期信息,经过加密处理生成授权文件。

所述S4中授权文件为授权工具生成的授权文件,用于对需授权子系统授权;需授权子系统指授权的目标对象系统。

所述S5中环境特征提取动态库指授权目标对象系统通过调用该环境特征提取动态库的API接口提取运行环境特征,保证与环境特征提取工具提取内容一致;环境特征数据是由运行环境硬件相关唯一信息组合而成,并经过特定算法计算得出的特征数据。

所述S7中可信子系统为整个系统中必备的子系统,采用加密狗方式授权,校验需授权系统提交的授权文件及环境特征数据,从而完成授权。

本发明具有以下有益效果:

本发明基于可信子系统对其他子系统的安全授权方法,子系统授权后功能正常,如果未授权或授权失败,将提示系统未授权,因采用系统中必备子系统作为可信授权,授权不需要对外网授权专用服务器访问,也不会因为多个加密狗授权导致的冲突、安全、稳定性等问题;

同时,子系统授权是绑定了运行硬件系统,即使对软件系统镜像复制,也无法完成授权。

本发明基于可信子系统对其他子系统的安全授权方法,将一个系统必备的子系统采用加密狗(Ukey)授权,保证其安全可信,将其他需要授权的子系统通过定义的API接口注册到此子系统,通过此子系统进行验证授权;

并且,对其他子系统授权,同时还需要将其他子系统绑定到运行硬件系统上,防止子系统被镜像复制。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明基于可信子系统对其他子系统的安全授权逻辑流程及涉及对象图;

图2为本发明环境特征数据数据结构图;

图3为本发明环境特征文件生成流程图;

图4为本发明授权数据结构图;

图5为本发明授权文件生成流程图;

图6为本发明申请授权数据结构图;

图7为本发明授权子系统申请流程图;

图8为本发明可信授权流程图;

图9为本发明授权数据提取流程图;

图10为本发明基于可信子系统对其他子系统的安全授权方法流程图。

具体实施方式

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

请参照图1和图10所示,本发明基于可信子系统对其他子系统的安全授权方法,包括首先使用环境特征提取工具在需授权子系统的运行环境中提取环境特征文件,其中,环境特征提取工具在需授权子系统运行的目标环境上提取硬件相关的数据信息,并生成环境特征文件;

将环境特征文件通过网络途径发回公司线下授权人员,其中,环境特征文件是由运行环境硬件相关唯一信息组合而成,经过特定算法计算得出的特征数据文件;

授权人员使用授权工具将环境特征文件及被授权系统的产品代码、版本、使用有效期信息计算生产授权文件,其中,授权工具通过读取环境特征文件,及需授权子系统的产品代码、版本、使用有效期信息,经过加密处理生成授权文件;

将授权文件上传至需授权子系统特定路径,其中,授权文件为授权工具生成的授权文件,用于对需授权子系统授权,需授权子系统指授权的目标对象系统;

需授权子系统调用环境提取动态库提取运行环境特征数据,其中,环境特征提取动态库指授权目标对象系统通过调用该环境特征提取动态库的API接口提取运行环境特征,保证与环境特征提取工具提取内容一致,环境特征数据是由运行环境硬件相关唯一信息组合而成,并经过特定算法计算得出的特征数据;

需授权子系统将授权文件、环境特征数据及型号、版本通过授权API接口发送至可信子系统;

可信子系统对授权文件解密和解码,并核对环境特征数据及信号、版本,匹配值一致则通过API接口返回授权成功,否则返回授权失败,其中,可信子系统为整个系统中必备的子系统,采用加密狗方式授权,校验需授权系统提交的授权文件及环境特征数据,从而完成授权。

本发明包括1、环境特征数据提取及内容构成与数据结构:

子系统采用虚拟化方式部署与服务器集群,为了便于扩容调整,特征数据获取运行环境的第一个CPU的CPUID、及主通信网卡的MAC地址作为特征。

使用“环境特征提取工具”在需授权子系统运行环境提取CPU的CPUID、主通信网卡的MAC地址,以及当前时间戳,按照图2所示的数据结构拼装成特征内容;

其中,特征数据数据结构总长度为80个字节,内容为ASCII码;CPUID:占位0~31字节位,总长32个字节,不足在尾部补空格“”;MAC:占位32~55字节位,总长为24个字节,格式为:AA:BB:CC:DD:EE:FF:00格式,字母为大写字母,间隔符为“:”,不足在尾部补空格“”;Timestamp:占位56~79字节位,总长为24个字节,内容为特征提取时间戳,转换成10进制无符号整数字符串,如当前时间2023年6月10日11:21:59的时间戳“1686489719”,不足在尾部补空格“”。

2、环境特征文件内容、数据结构及生成方法

“环境特征文件”的原始内容与数据结构同“环境特征数据”的内容与数据一致,见图2特征数据数据结构。

文件生成算法:

1)采用MD5算法对80字节的“环境特征数据”签名,得到16字节的MD5内容摘要;

2)将80字节的“环境特征数据”及16字节的内容摘要拼成96字节的新数据,环境特征数据在前,摘要在后;

3)采用3DES加解密算法对96字节的新数据加密,得到一个密文;

4)再使用base64编码算法编码,将编码内容写入文本文件生成环境特征文件。

算法流程图如图3所示。

3、授权文件内容、数据结构及生成方法

使用授权工具处理“环境特征文件”得到授权文件。其处理算法如下:

1)将“环境特征文件”进行base64解码得到96字节的数据,如果解码失败则提示生成失败;

2)采用3DES加解密算法对96字节内容进行解密,得到96字节的解密数据内容;

3)对解密数据内容前80字节进行MD5获取的摘要信息与解密数据的最后16字节内容比对,内容不同则提示生成失败;

4)工具界面上输入8字节产品代码、16字节版本代码及24字节授权有效期,加上解密数据内容前80字节,以及当前24字节时间戳得到152字节新的授权数据。数据结构格式如图4“授权数据结构”所示。

其中,Product id:占位0~7字节,总长8字节,产品代码,不足在尾部补空格“”;

Version:占位8~23字节,总长16字节,产品版本号,不足在尾部补空格“”;

period ofvalidity:占位24~47字节,总长24字节,时间戳格式表示授权的最后有效时间,当内容为24字节的“-”时表示永久授权;

CPU ID:占位48~79字节位,总长32个字节,不足在尾部补空格“”。

MAC:占位80~103字节位,总长为24个字节,格式为:AA:BB:CC:DD:EE:FF:00格式,字母为大写字母,间隔符为“:”,不足在尾部补空格“”;

Timestamp:占位104~127字节位,总长为24个字节,内容为特征提取时间戳,转换成10进制无符号整数字符串,如当前时间2023年6月10日11:21:59的时间戳“1686489719”,不足在尾部补空格“”;

current timestamp:占位128~151字节位,总长为24个字节,内容为特征提取时间戳,转换成10进制无符号整数字符串,如当前时间2023年6月10日11:21:59的时间戳“1686489719”,不足在尾部补空格“”。

1)采用MD5算法对128字节的“授权数据”签名,得到16字节的MD5内容摘要;

2)将128字节的“授权数据”与16字节的MD5摘要信息拼装得到新的144字节的新数据;

3)采用Ukey对应的公钥对144字节新数据进行加密,得到加密数据内容;

4)对加密数据进行base64编码,写入文件得到授权文件。

授权文件生产流程如图5所示。

4、需授权子系统申请授权

将授权文件上传到需授权子系统的指定路径下,授权申请授权的流程如下:

1)“需授权子系统”在指定路径下读取授权文件的内容及内容长度,如果读取失败,提示授权失败;

2)“需授权子系统”调用“环境特征提取动态库”提取运行环境数据;

3)拼装授权数据,数据结构格式如图6所示。

其中,Product id:占位0~7字节,总长8字节,产品代码,不足在尾部补空格“”;

Version:占位8~23字节,总长16字节,产品版本号,不足在尾部补空格“”;

CPU ID:占位48~79字节位,总长32个字节,不足在尾部补空格“”;

MAC:占位80~103字节位,总长为24个字节,格式为:AA:BB:CC:DD:EE:FF:00格式,字母为大写字母,间隔符为“:”,不足在尾部补空格“”;

authorized encrypted content:授权文件的内容。

4)通过授权验证结构提交授权数据到可信子系统验证,返回验证通过正常运行,返回验证失败提示授权失败。

授权子系统申请流程如图7所示。

5、可信子系统授权验证

可信子系统收到授权验证申请,按照如下流程进行验证授权:

1)解析申请授权数据结构,提取product id、version、CPU ID、MAC、及authorizedencrypted content;

2)使用“authorized encrypted content数据解码”流程提取授权加密数据中的Product id、Version、period ofvalidity、CPU ID、MAC信息,提取失败返回授权失败;

3)比对申请授权数据结构与“authorized encrypted content数据解码与数据提取”流程提取到product id、version、CPU ID、MAC是否一致,如果不一致返回授权失败;

4)比较period ofvalidity与当前时间,是否已经过期,如果过期则返回授权失败;

5)返回授权成功。

可信授权验证流程如图8所示。

6、authorized encrypted content数据解码与数据提取

对“authorized encrypted content”使用如下流程解码并防篡改校验。

1)对“authorized encrypted content”进行base64解码,解码失败返回提取失败;

2)采用Ukey私钥对base64解码内容进行解密,得到144字节的解密后内容;

3)将144字节的前128字节进行MD5摘要,得到16字节摘要数据与后16字节数据比对,比对不一致则返回提取失败;

4)返回从前128字节中提取的Product id、Version、period ofvalidity、CPU ID、MAC数据信息。

授权数据提取流程如图9所示。

在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

相关技术
  • 一种基于可信任环境的视频安全播放系统及方法
  • 可信授权方法、系统、可信安全管理中心和服务器
  • 可信授权方法、系统、可信安全管理中心和服务器
技术分类

06120116484489