[发明专利]一种基于过滤、拦截及加密技术的软件License验证方法及系统有效
申请号: | 202111047809.6 | 申请日: | 2021-09-08 |
公开(公告)号: | CN113486305B | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 成建洪;杜冬冬;罗启铭;熊皓;吴育校;覃江威;陈功;杨志宇;冯建设 | 申请(专利权)人: | 深圳市信润富联数字科技有限公司 |
主分类号: | G06F21/10 | 分类号: | G06F21/10;G06F21/12;H04L29/06 |
代理公司: | 深圳市中科创为专利代理有限公司 44384 | 代理人: | 徐方星 |
地址: | 518000 广东省深圳市罗湖区桂园街道老围*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 过滤 拦截 加密 技术 软件 license 验证 方法 系统 | ||
1.一种基于过滤、拦截及加密技术的软件License验证系统,其特征在于包括:
软件服务应用、软件License解析及验证模块、软件License生成器模块、远程数据存储及应用服务器、服务器数据及文件存储模块、数据缓存模块;
所述软件服务应用,是许可授权给用户使用的软件;
所述软件License解析及验证模块,由软件服务应用随附携带,并用于解密、解析和验证软件license文件;
所述软件license生成器模块,用于生成和加密软件license文件,并根据许可范围在软件license文件中加入对应的资源控制信息;
所述远程数据存储及应用服务器,用于远程存储软件license文件;
所述服务器数据及文件存储模块,运行在所述软件服务应用所处的运行环境,用于存储软件license文件;
所述数据缓存模块,用于缓存软件license文件,提升软件license文件的读取速度;
所述软件License解析及验证模块,在对软件license文件进行解密、解析和验证过程中,若发现时间、设备指纹信息、资源控制信息其中之一或多个出现错误,则记下此软件license文件的唯一标识,后续遇到此唯一标识对应的软件license文件,不再进行解析和验证,直接将其过滤和拦截;
所述软件License生成器模块生成一个唯一标识;并将唯一标识、软件license的原始数据和设备指纹信息,通过非对称加密的方式进行加密,生成软件license文件;
并将唯一标识作为该软件license文件的文件名;
所述软件license的原始数据包括:软件License截止日期或有效期和资源控制信息;
所述资源控制信息包含:所允许获取的软件应用网页静态资源、服务器动态资源、软件使用最大用户数、最大并发用户数、能分配的最大硬件资源;
所述设备指纹信息,由能够唯一标识设备的信息通过加盐哈希或MD5的加密方式加密形成;
所述能够唯一标识设备的信息包含软件服务应用所处运行环境的服务器主板序列号、计算机CPU序列号、硬盘序列号、网卡物理地址,其中的任意一种或多种;所述非对称加密的方式为采用RSA加密算法。
2.一种基于过滤、拦截及加密技术的软件License验证方法,其特征在于,包括如下步骤:
步骤S1,根据许可范围将唯一标识、软件License截止日期或有效期、资源控制信息、设备指纹信息加密合成软件license文件;
步骤S2,从多个存储渠道其中之一获取软件license文件并进行验证;
步骤S3,对违规的license验证进行过滤、拦截,对合格的验证通过并授权使用;
所述步骤S1具体包括如下步骤:
步骤S11,将能够唯一标识设备的信息通过加盐哈希或MD5的加密方式加密形成设备指纹信息;
步骤S12,由软件License生成器模块生成一个唯一标识;
步骤S13,将唯一标识、软件License截止日期或有效期、资源控制信息、设备指纹信息通过非对称加密的方式进行加密,得到软件license文件,并以唯一标识命名该软件license文件;
所述步骤S2具体包括如下步骤:
步骤S21,将软件license文件发送到软件License解析及验证模块、远程数据存储及应用服务器、服务器数据及文件存储模块、数据缓存模块用于验证授权,当存储的软件license文件出现不一致时,以远程数据存储及应用服务器存储的软件license文件为准,其余作废;
步骤S22,软件License解析及验证模块从步骤S21中的存储渠道之一获取软件license文件并对其中的许可信息进行解密、解析和验证,软件服务应用在通过第一次License检验授权后开始正常提供服务;
步骤S23,后续进行新的资源请求时,优先从数据缓存模块获取软件license文件,如果获取失败,则从远程数据存储及应用服务器或服务器数据及文件存储模块获取,并同时存储一份至数据缓存模块中,以便后续直接从数据缓存模块中获取;
所述步骤S22中,
对软件license文件的验证包括三个方面:当前时间是否在软件license文件允许范围内的时间检验、所处运行环境设备指纹信息验证以及各种业务需求下的各种资源控制信息验证;
其中,时间检验,校验软件服务应用所处运行环境的当前系统时间与软件License文件中的License发行时间、上一次License使用校验时间以及License截止时间或有效期,若上述时间不是以如下先后顺序:License发行时间→上一次License使用校验时间→当前系统时间→License截止时间或有效期,则怀疑操作者试图以修改当前系统时间的方式来延长或复用软件License,并拒绝所有的资源、信息请求;
设备指纹信息验证,将软件License文件解析后获取到的设备指纹信息和软件服务应用所处运行环境服务器的同样信息以同样的方式加密得到的当前设备指纹信息进行匹配,从而判断设备指纹信息是否验证通过;
资源控制信息验证,根据软件license文件中的资源控制信息的参数与业务需求是否匹配来判断验证是否通过;
所述步骤S3具体包括如下步骤:
步骤S31,在验证软件license文件的过程中,若发现时间、设备指纹信息、资源控制信息其中之一或多个出现错误,则拒绝软件服务应用的资源、信息请求;
步骤S32,记录当前软件License文件和存储当前软件License文件的唯一标识;
步骤S33,后续校验时若发现获取的软件license文件为该唯一标识对应的软件license文件或者获取到的License许可信息与该软件License文件相同,则直接拒绝软件服务应用的资源、信息请求;
步骤S34,对合格的验证通过并授权使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市信润富联数字科技有限公司,未经深圳市信润富联数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111047809.6/1.html,转载请声明来源钻瓜专利网。