会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 一种限制软件使用权限的方法

一种限制软件使用权限的方法

阅读:1023发布:2020-08-04

IPRDB可以提供一种限制软件使用权限的方法专利检索,专利查询,专利分析的服务。并且本发明公开一种限制软件使用权限的方法,包括如下步骤:启动应用程序;获取BIOS中的识别码;判断是否需要解密所获取的识别码,若不需解密,则将识别码进行分类,若需要解密则将识别码先进行解密后再进行分类;转换分类后的识别码,并对应不同的权限。本发明中运行软件需要检测到所运行的系统具备某些条件才可以开放对应的功能供用户使用,这很好的将软件和系统进行绑定,可以保护软件在许可的平台上使用,而不被盗用。,下面是一种限制软件使用权限的方法专利的具体信息内容。

1.一种限制软件使用权限的方法,其特征在于:包括如下步骤:

(1)启动软件应用程序;

(2)获取BIOS中的识别码,若获取成功则进入步骤(3);

(3)判断是否需要解密所获取的识别码,若不需解密,则将识别码进行分类,若需要解密则将识别码先进行解密后再进行分类;

(4)转换分类后的识别码,并对应不同的权限。

2.根据权利要求1所述的限制软件使用权限的方法,其特征在于:所述步骤(2)中获取BIOS中的识别码的方法为:直接在BIOS二进制文件的某个固定位置放置不同权限级别的识别码,然后软件应用程序在执行过程中,从BIOS映射到内存的固定位置获取存放在BIOS二进制文件中的认证信息。

3.根据权利要求1所述的限制软件使用权限的方法,其特征在于:所述步骤(2)中获取BIOS中的识别码的方法为:用UEFI提供的EFI_RUNTIME_SERVICES中的EFI_SET_VARIABLE服务建立一个特别含义的变量,根据产品及客户的级别,设置不同权限级别的识别码,并且通过BIOS Setup界面的选项来开发用户接口;然后软件应用程序将获取到的信息和软件预设的密码进行比对,如果采用加密的方式存放识别码,在这个环节需要先进行解密处理。

4.根据权利要求1所述的限制软件使用权限的方法,其特征在于:所述步骤(2)中获取BIOS中的识别码的方法为:把识别码存放到ACPI的某个表中;软件从ACPI表中获取识别码,然后软件将获取到的识别码和预设的密码进行比对,然后按照比对结果确定该系统中所能使用的等级或根本不允许该软件运行。

5.根据权利要求3所述的限制软件使用权限的方法,其特征在于:所述特别含义的变量是指由BIOS和软件开发者均知晓的变量名,且用于定义软件。

6.根据权利要求3所述的限制软件使用权限的方法,其特征在于:通过增加一个Setup选项,且将这个Setup选项跟特别含义的变量进行关联,从而使得终端用户可以通过修改这个Setup选项来修改BIOS中存入的识别码,形成用户接口。

说明书全文

一种限制软件使用权限的方法

技术领域

[0001] 本发明属于计算机软件系统技术,具体涉及一种限制软件使用权限的方法。

背景技术

[0002] 系统厂商开发出某一软件后,不希望自己开发的软件运行到对手的产品中,所以会考虑采用一系列的认证识别方法来避免自己的软件运行在其他系统上。
[0003] 现有技术处中,通常采用以下手段:比如设备驱动的安装,通常透过BIOS去把设备控制器中的SVID(子系统供应商号)和SSID(子系统号)设成自己家的ID来和驱动绑定认证,但这样别人可以直接透过访问设备控制器中的这两个ID来获取到识别码,依旧存在安全隐患。

发明内容

[0004] 发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种限制软件使用权限的方法。
[0005] 技术方案:本发明一种限制软件使用权限的方法,包括如下步骤:
[0006] (1)启动应用程序;
[0007] (2)获取BIOS中的识别码,若获取成功则进入步骤(3);
[0008] (3)判断是否需要解密所获取的识别码,若不需解密,则将识别码进行分类,若需要解密则将识别码先进行解密后再进行分类(此处是否需要解密由程序开发者设计初期统一规定,如果需要则BIOS和软件都需要,而且加密解密方法要一致,如果不需要则都不需要。同时所谓分类也由程序开发者设计初期根据功能需要自定义的,比如有多种功能,则在软件中定义多个与之对应的密码,最后看BIOS中设定的是哪个密码,便解锁哪个功能);
[0009] (4)转换分类后的识别码,并对应不同的权限。
[0010] 所述步骤(2)中获取BIOS中的识别码的方法为:直接在BIOS二进制文件的某个固定位置放置不同权限级别的识别码,然后软件在执行过程中,从BIOS映射到内存的固定位置获取存放在BIOS二进制文件中的认证信息。该方法中代码简单,甚至可以不通过BIOS代码直接编辑二进制文件来实现。
[0011] 所述步骤(2)中获取BIOS中的识别码的方法为:用UEFI提供的EFI_RUNTIME_SERVICES中的EFI_SET_VARIABLE服务建立一个特别含义的变量,根据产品及客户的级别,设置不同权限级别的识别码(即特殊含义变量的内容),并且通过BIOS Setup界面的选项来开发用户接口;然后软件将获取到的信息和软件预设的密码进行比对,如果采用加密的方式存放识别码,在这个环节需要先进行解密处理。此过程中,只占用识别码限制长度的变量区,而且可以通过BIOS Setup界面的选项来开发用户接口。此处,特别含义的变量是指由BIOS和软件开发者均知晓的变量名,且用于定义软件。通过增加一个Setup选项,且将这个Setup选项跟特别含义的变量进行关联,从而使得终端用户可以通过修改这个Setup选项来修改BIOS中存入的识别码,形成用户接口。
[0012] 所述步骤(2)中获取BIOS中的识别码的方法为:把识别码存放到ACPI的某个表中,比如DSDT;软件从ACPI表中获取识别码,然后软件将获取到的识别码和预设的密码进行比对,然后按照比对结果确定该系统中所能使用的等级或根本不允许该软件运行。ACPI表是动态成立的,关机即消失,前两种方式识别码存放到ROM里。
[0013] 上述过程中,获取BIOS中的识别码时,均可以采用加密方式进行存放[0014] 有益效果:本发明中的软件需要检测到所运行的系统具备某些条件才可以开放对应的功能供用户使用,这很好的将软件和系统进行绑定,可以保护软件在许可的平台上使用,而不被盗用;另外与BIOS配合使用,不同的系统硬件不同,其BIOS也是不可以随便交换使用的,这保证别人不可以随便把含有认证信息的BIOS用在自己的系统上,从而使得别人无法使用相应的软件应用程序。
[0015] 总而言之,本发明中的软件需要检测到所运行的系统具备某些条件才可以开放对应的功能供用户使用,很好的将软件和系统进行绑定,保护软件在许可的平台上使用,安全级别高且使用方便。

附图说明

[0016] 图1为本发明的整体流程示意图。

具体实施方式

[0017] 下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
[0018] 实施例1:
[0019] 以存放在BIOS二进制文件的某个固定位置为例:
[0020] (1)在UEFI代码的FDF文件上划分一小块区域用来存放识别码(FDF:Flash Description File,描述ROM上各块信息的文件);
[0021] (2)编译生成BIOS二进制文件,更新到测试机器中,并启动到操作系统;
[0022] (3)打开软件,软件从ROM中相应的地址获取识别码;
[0023] (4)若获取失败则直接跳至第(12)步;
[0024] (5)软件判断是否要对识别码进行解密;
[0025] (6)若不需要则直接跳至第(8)步;
[0026] (7)对识别码进行解密;
[0027] (8)对最终识别码进行分析,以确定访问等级;
[0028] (9)若无访问等级则直接跳至第(12)步;
[0029] (10)根据访问等级,给用户开发相应的功能权限;
[0030] (11)等待用户进一步操作,直至退出软件;
[0031] (12)显示无权访问信息,退出软件;
[0032] 实施例2:
[0033] 以存放在BIOS Setup Variable中为例:
[0034] (1)在BIOS代码中通过EFI_RUNTIME_SERVICES中的EFI_SET_VARIABLE服务新开一个Variable并开设Setup选项,存放默认识别码;
[0035] (2)编译生成BIOS二进制文件,更新到测试机器中,并启动到操作系统;
[0036] (3)打开软件,软件通过EFI_RUNTIME_SERVICES中的EFI_GET_VARIABLE服务从ROM中获取识别码;
[0037] (4)若获取失败则直接跳至第(12)步;
[0038] (5)软件判断是否要对识别码进行解密;
[0039] (6)若不需要则直接跳至第(8)步;
[0040] (7)对识别码进行解密;
[0041] (8)对最终识别码进行分析,以确定访问等级;
[0042] (9)若无访问等级则直接跳至第(12)步;
[0043] (10)根据访问等级,给用户开发相应的功能权限;
[0044] (11)等待用户进一步操作,直至退出软件
[0045] (12)显示无权访问信息,退出软件;
[0046] (13)重启系统,进入BIOS Setup,将该Setup选项设置为授权的识别码,并启动到操作系统;
[0047] (14)重复步骤(3)~(12);
[0048] 实施例3:
[0049] 以存放在ACPI的DSDT表中为例:
[0050] (1)在ACPI的DSDT表中,新开一个带有标志位的内存区域,用来存放识别码;
[0051] (2)编译生成BIOS二进制文件,更新到测试机器中,并启动到操作系统;
[0052] (3)打开软件,软件从ACPI的DSDT表中查找(1)中设置的标志位获,并取识别码;
[0053] (4)若获取失败则直接跳至第(12)步;
[0054] (5)软件判断是否要对识别码进行解密;
[0055] (6)若不需要则直接跳至第(8)步;
[0056] (7)对识别码进行解密;
[0057] (8)对最终识别码进行分析,以确定访问等级;
[0058] (9)若无访问等级则直接跳至第(12)步;
[0059] (10)根据访问等级,给用户开发相应的功能权限;
[0060] (11)等待用户进一步操作,直至退出软件;
[0061] (12)显示无权访问信息,退出软件。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用