离线软件认证方法、系统、计算机设备和存储介质与流程

文档序号:31870860发布日期:2022-10-21 19:11阅读:50来源:国知局
离线软件认证方法、系统、计算机设备和存储介质与流程

1.本技术涉及信息安全技术领域,特别是涉及一种离线软件认证方法、系统、计算机设备和存储介质。


背景技术:

2.随着it软件行业的不断发展,软件的种类多种多样,其中,离线软件是一种提供给设备在非联网情况下也可以使用的软件,在一些公司或部门中,都会有自己内部的局域网,对于该局域网内的设备无法与外界网络直接连接,离线软件在这些局域网设备上使用时,因为非联网的使用场景使得离线软件难以监管,故需要对离线软件的使用限制。
3.传统解决离线软件实用限制的方式一般采用许可控制方案或者加密狗,其中,许可控制方案作为常用软件系统许可校验,都会基于相关硬件标识如cpuid、mac地址、磁盘id等作为计算因子,以进行软件在设备上的激活,对于多台设备的情况下,同一款软件需要激活多次,而采用加密狗运动的软件,在加密狗认证通过后才可以运行软件,对于多台设备的情况下,每台设备都需要配置一个加密狗。
4.然而,上述无法解决设备端的用户使用离线软件的控制,仅能对于使用软件的设备进行控制,因此,需要一种解决上述问题的离线软件认证方案。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够解决离线软件基于用户粒度的控制的离线软件认证方法、系统、计算机设备和存储介质。
6.第一方面,本技术提供了一种离线软件认证方法,包括以下步骤:
7.获取用户输入离线软件的用户标识和软件使用码,其中,软件使用码通过服务平台基于用户标识、当前取整时间以及离线软件的软件标识生成;
8.基于用户标识和软件使用码进行离线软件的使用权限验证,其中,离线软件内置有校验软件使用码的校验函数,验证函数与软件使用码的生成函数相同。
9.在其中一个实施例中,方法还包括:
10.服务平台接收用户的软件注册请求,其中,软件注册请求至少包括离线软件对应用户的用户标识;
11.服务平台基于用户标识、当前取整时间以及软件标识生成对应的软件使用码,并提供离线软件的下载通道。
12.在其中一个实施例中,基于用户标识、当前取整时间以及软件标识生成对应的软件使用码包括:
13.以用户标识、当前取整时间以及软件标识为输入因子进行单向哈希,并取所得哈希值中的若干位数值作为软件使用码。
14.在其中一个实施例中,获取输入离线软件的用户标识和软件使用码之前还包括:
15.服务平台接收用户的使用码查询请求;
16.服务平台查询用户对应的软件使用码并反馈,或者重新生成软件使用码并反馈。
17.在其中一个实施例中,每隔预设的刷新时间,服务平台基于用户标识、当前取整时间以及软件标识重新生成软件使用码,其中,当前取整时间为每隔刷新时间取整。
18.在其中一个实施例中,基于用户标识和软件使用码进行离线软件的使用权限验证包括:
19.通过离线软件内置的校验函数计算用户标识、当前取整时间、软件标识对应的软件校验值;
20.比较软件校验值和软件使用码进行离线软件的使用权限验证:若一致,则验证通过,反之,则验证不通过。
21.第二方面,本技术还提供了一种离线软件认证系统,包括:离线认证模块,离线认证模块包括获取单元、验证单元;
22.获取单元用于获取用户输入离线软件的用户标识和软件使用码,其中,软件使用码通过服务平台基于用户标识、当前取整时间以及离线软件的软件标识生成;
23.验证单元用于基于用户标识和软件使用码进行离线软件的使用权限验证,其中,离线软件内置有校验软件使用码的校验函数,验证函数与软件使用码的生成函数相同。
24.在其中一个实施例中,系统还包括:服务平台,服务平台用于接收用户的软件注册请求,其中,软件注册请求至少包括离线软件对应用户的用户标识,以及基于用户标识、当前取整时间以及软件标识生成对应的软件使用码,并提供离线软件的下载通道。
25.第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述任意实施例中的离线软件认证方法的步骤。
26.第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例中的离线软件认证方法的步骤。
27.上述离线软件认证方法、系统、计算机设备和存储介质,通过用户标识和软件使用码进行离线软件的使用权限验证,其中,软件使用码可以通过服务平台基于用户标识、当前取整时间以及离线软件的软件标识进行生成,离线软件内置有校验软件使用码的校验函数以及软件标识,如此,第一方面,基于用户标识实现了基于用户粒度对离线软件的使用权限控制,对于安装有离线软件的设备可以更好地管控其离线软件的使用,提升离线软件的安全性,第二方面,基于当前取整时间实现了软件使用码的定时更新,用户需基于最新的软件使用码才能使用离线软件,可以有效管理软件使用码,防止软件使用码的滥用,第三方面,基于软件标识可以实现离线软件的管理,用户需要基于其离线软件对应的软件使用码才能正常使用,这使得离线软件只能安装于与用户相关的设备,在其他设备上安装其他用户也无法使用,第四方面,可以通过软件使用码进行用户的管理,若用户的使用权限到期,则可以停止软件使用码的更新,以限制用户的使用权限,若有新用户想使用离线软件,可以基于用户标识、当前取整时间以及离线软件进行生成该用户的软件使用码,以实现离线软件新用户的添加。
附图说明
28.为了更清楚地说明本技术实施例或传统技术中的技术方案,下面将对实施例或传
统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1为一个实施例中离线软件认证方法的整体流程示意图;
30.图2为一个实施例中离线软件认证方法的操作流程示意图;
31.图3为一个实施例中离线软件认证系统的结构框图。
具体实施方式
32.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
33.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
34.在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。
35.本技术实施例提供的离线软件认证方法,适用于局域网设备中的离线软件认证,尤其适用于软件系统平台,软件系统平台中提供了多种离线软件,并对这些离线软件的管理,其中,如图1所示,离线软件由软件系统平台提供,通过专用通道可下载安装于局域网内的设备上。采用本技术实施例提供的离线软件认证方法,由软件系统平台提供离线软件、以及基于用户标识、当前取整时间以及离线软件的软件标识生成用户对应的软件使用码,用户的局域网设备可以安装对应的离线软件,并基于软件系统平台提供的软件使用码进行离线软件的使用权限验证,其中,软件系统平台通过软件使用码可以管理用户,并且基于用户标识的软件使用码可以实现离线软件用户粒度层面的使用权限控制。软件系统平台可以基于独立的服务器或者是多个服务器组成的服务器集群来实现。
36.在一个实施例中,如图1所示,提供了一种离线软件认证方法,包括以下步骤:
37.s100:获取用户输入离线软件的用户标识和软件使用码,其中,软件使用码通过服务平台基于用户标识、当前取整时间以及离线软件的软件标识生成;
38.其中,用户标识为用于识别用户的标识信息,用户之间用户标识不同,可以用例如数字、字母、特殊标识等中一种或多种组合形成用户标识,也可以用用户身份id、用户名称等作为用户标识,软件标识为用于识别软件的标识信息,软件之间软件标识不同,也可以用例如数字、字母、特殊标识等中一种或多种组合形成软件标识。当前取整时间为当前时间的取整,具体当前时间可以按照天取整、按照小时取整、按照分钟取整,也可以按照一段时间取整,例如,当前时间为2000-6-15 13:14:36,按天取整则当前取整时间为2000-6-15 00:00:00,按小时取整则当前取整时间为2000-6-15 13:00:00,按分钟取整则当前取整时间为2000-6-15 13:14:00,按照15分钟为时间段取整则当前取整时间为2000-6-15 13:00:00等等,通过当前取整时间可以实现每隔一段时间对软件使用码重新刷新一次,从而实现软件
使用码的动态更新,提高离线软件的安全性。
39.具体地,安装有离线软件的设备获取用户输入离线软件的用户标识和软件使用码,其中,该设备可以是局域网设备,也可以联网设备,但无论是否具有网络,本实施例中设备无需通过互联网进行离线软件认证。进一步地,离线软件的软件使用码预先生成,以供用户获取使用,其中,该软件使用码由管理离线软件用户的服务平台基于用户标识、当前取整时间以及离线软件的软件标识生成,用户通过访问该平台获取用户对应离线软件的软件使用码。
40.s200:基于用户标识和软件使用码进行离线软件的使用权限验证,其中,离线软件内置有校验软件使用码的校验函数,验证函数与软件使用码的生成函数相同。
41.具体地,离线软件基于用户标识和软件使用码进行使用权限验证,用户标识和软件使用码为用户使用离线软件所需输入的信息,即用户基于用户标识和软件使用码登录离线软件,其中,离线软件内置有软件使用码的校验函数,基于该校验函数对用户标识、当前取整时间、软件标识计算可以生成同软件使用码格式一样的软件校验值,比较软件使用码和软件校验值,若一致则离线软件的使用权限验证通过,用户可以使用该离线软件,反之,验证不通过,用户无权使用离线软件。
42.上述离线软件认证方法,通过用户标识和软件使用码进行离线软件的使用权限验证,其中,软件使用码可以基于用户标识、当前取整时间以及离线软件的软件标识进行生成,离线软件内置有软件使用码的校验函数以及软件标识,如此,第一方面,基于用户标识实现了基于用户粒度对离线软件的使用权限控制,对于安装有离线软件的设备可以更好地管控其离线软件的使用,提升离线软件的安全性,第二方面,基于当前取整时间实现了软件使用码的定时更新,用户需基于最新的软件使用码才能使用离线软件,可以有效管理软件使用码,防止软件使用码的滥用,第三方面,基于软件标识可以实现离线软件的管理,用户需要基于其离线软件对应的软件使用码才能正常使用,这使得离线软件只能安装于与用户相关的设备,在其他设备上安装其他用户也无法使用,第四方面,可以通过软件使用码进行用户的管理,若用户的使用权限到期,则可以停止软件使用码的更新,以限制用户的使用权限,若有新用户想使用离线软件,可以基于用户标识、当前取整时间以及离线软件进行生成该用户的软件使用码,以实现离线软件新用户的添加。
43.在一个实施例中,方法还包括:服务平台接收用户的软件注册请求,其中,软件注册请求至少包括离线软件对应用户的用户标识;服务平台基于用户标识、当前取整时间以及软件标识生成对应的软件使用码,并提供离线软件的下载通道。
44.具体地,服务平台用于离线软件管理以及离线软件的用户管理,服务平台可以基于用户的软件注册请求进行离线软件的用户注册,实现离线软件的用户管理,其中,当用户是第一次使用离线软件,且从未下载与安装过离线软件时,软件注册请求包括用户的用户标识,则服务平台根据用户标识、当前取整时间以及新的离线软件的软件标识生成该用户的软件使用码,并提供该离线软件的下载通道,当用户直接想在已经安装有离线软件的设备上使用该离线软件时,软件注册请求包括用户的用户标识以及该离线软件的软件标识,则服务平台根据用户标识、当前取整时间以及该设备上离线软件的软件标识生成该用户的软件使用码,而当用户想在其他设备上使用以前使用过的离线软件,则仅需将该离线软件安装于当前使用的设备,即可基于软件使用码正常使用。
45.优选地,服务平台接收到软件注册请求之后,先验证该用户是否为离线软件的用户,若是则根据具体情况生成对应的软件使用码,反之则反馈软件注册失败。优选地,服务平台上存储有用户标识与软件标识之间的对应关系,每个用户标识对应一个软件标识,即每个用户对应一个软件使用码,从而一个用户只能通过软件使用码仅能使用一离线软件,以防止软件使用码滥用,同时,不同用户,即使同一时刻,其对应离线软件的使用码也不相同,从而实现针对离线软件不同用户的访问控制。
46.在一个实施例中,基于用户标识、当前取整时间以及软件标识生成对应的软件使用码包括:以用户标识、当前取整时间以及软件标识为输入因子进行单向哈希,并取所得哈希值中的若干位数值作为软件使用码。
47.具体地,本实施例中单向哈希的算法可以采用例如md5、sha1、sha256、sm3等算法,并且基于用户标识、当前取整时间、软件标识计算得到的哈希值,取前6位作为该用户对应的软件使用码。
48.在一个实施例中,每隔预设的刷新时间,软件使用码基于用户标识、当前取整时间以及软件标识重新生成,其中,当前取整时间为每隔刷新时间取整。
49.具体地,本实施例基于当前取整时间实现每隔一段时间刷新所有的软件使用码,即用户当前得到的软件使用码在一定时间之后将会自动失效,其中,当前取整时间的取整时间间隔为软件使用码的刷新时间,例如,按小时取整的当前取整时间,由于每隔一个小时之后该当前取整时间的值将发生变化,则生成的软件使用码也将发生变化,如此实现软件使用码的刷新。
50.在一个实施例中,获取输入离线软件的用户标识和软件使用码之前还包括:服务平台接收用户的使用码查询请求;服务平台查询用户对应的软件使用码并反馈,或者重新生成软件使用码并反馈。
51.具体地,由于软件使用码的定时刷新,所以对于用户而言,需要在使用离线软件之间访问服务平台以获取最新的软件使用码,再进行离线软件的使用权限验证,其中,向服务平台发送使用码查询请求,服务平台基于用户的用户标识查询获取对应的离线软件的软件使用码,或者基于当前取整时间重新生成软件使用码。
52.优选地,为了节约服务平台的资源,服务平台当接收到用户的使用码查询请求时,先基于刷新时间确定平台内当前的软件使用码是否有效,若有效则直接查询反馈给用户,若无效则重新生成软件使用码反馈给用户,其中,服务平台只有在接收到使用码查询请求时才考虑是否需要刷新该用户的软件使用码,若一直没有收到使用码查询请求则相关用户的软件使用码不进行刷新,如此,大大节省了服务平台的资源。
53.在一个实施例中,基于用户标识和软件使用码进行离线软件的使用权限验证包括:通过离线软件内置的校验函数计算用户标识、当前取整时间、软件标识的软件校验值;比较软件校验值和软件使用码进行离线软件的使用权限验证:若一致,则验证通过,反之,则验证不通过。
54.具体地,本实施例的软件校验值与软件使用码的生成规律相同,离线软件端通过内置的校验函数计算用户标识、当前取整时间、软件标识对应的软件校验值,比较软件校验值和软件使用码:若两者一致,则使用权限验证通过,若不一致,则验证不通过。
55.优选地,离线软件还通过内置的校验函数计算用户标识、前一取整时间、软件标识
对应的软件校验值,若前一时刻的软件校验值与软件使用码相同,则反馈当前软件使用码已过期。
56.优选地,离线软件内置的校验函数采用代码混淆或者硬件刻溶等方式进行存储,以防止离线软件内部的校验函数泄露,提高离线软件的安全性。
57.现结合应用场景对本实施例进行详细说明,但不仅限于此。
58.在当前应用场景下,参看图2,采用一套安全检查系统平台(服务平台)对相关网络资产进行管理和安全检查,而部分资产位于特定局域网中(与服务平台网络隔离),服务平台提供了部分离线软件下载(如木马病毒本地扫描软件、恶意文件篡改扫描软件等),对于上述离线资产即可通过这部分离线软件进行检查,例如:用户登录平台后,可以下载离线检查工具b,且用户可以看到只属于他的软件使用码,用户将检查工具b通过专用通道传输至局域网内,在局域网内如果要正常的使用检查工具b,需要输入用户标识,及其软件使用码。本实施例中通过软件码的校验完成对离线软件的使用管理,具体而言:
59.用户登录安全检查系统平台,平台中包含用户管理模块、离线软件下载模块,以用于离线软件的用户管理以及提供离线软件下载,其中,用户管理模块取用户名称uname,当前小时取整时间dates(2022-02-22 11:00:00),离线软件标识tid(每个软件都有一个固定的id与其绑定)作为因子,并通过函数算法f生成对应离线软件的软件使用码usecode:
60.usecode=f(uname,dates,tid)
61.f函数的作用为,对输入因子进行单向hash,可选算法有md5、sha1、sha256、sm3等,求出的hash取前6位为本用户的usecode,usecode每小时会刷新一次。
62.用户登录安全检查系统平台后,可在对应的页面上查看自己具有使用权限的离线软件以及对应的的软件使用码;
63.用户在安全检查系统平台的下载页面下载离线软件,并通过局域网专用通道将离线软件上传至局域网设备并安装;
64.用户启动软件时进入离线软件的输入页面,用户输入用户名称和软件使用码,离线软件通过内置的上述函数f计算输入的用户名称、当前小时取整时间、内置的软件标识对应的计算结果,比较该计算结果和软件使用码,一致则验证通过,用户可正常使用软件。
65.不同用户,即使同一时刻,其对应离线软件的使用码也不相同,从而实现针对离线软件不同用户的访问控制。
66.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
67.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的离线软件认证方法的离线软件认证系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个离线软件认证系统实施例中的具体限定可以参见上文中对于离线软件认证方法的限定,在此不再赘述。
68.在一个实施例中,如图3所示,提供了一种离线软件认证系统,包括:离线认证模块10,离线认证模块10包括获取单元11、验证单元12;
69.获取单元11用于获取用户输入离线软件的用户标识和软件使用码,其中,软件使用码通过服务平台基于用户标识、当前取整时间以及离线软件的软件标识生成;
70.验证单元12用于基于用户标识和软件使用码进行离线软件的使用权限验证,其中,离线软件内置有校验软件使用码的校验函数,验证函数与与软件使用码的生成函数相同。
71.在一个实施例中,该系统还包括:服务平台20,服务平台20用于接收用户的软件注册请求,其中,软件注册请求至少包括离线软件对应用户的用户标识,以及基于用户标识、当前取整时间以及软件标识生成对应的软件使用码,并提供离线软件的下载通道。
72.在一个实施例中,服务平台基于用户标识、当前取整时间以及软件标识生成对应的软件使用码包括:以用户标识、当前取整时间以及软件标识为输入因子进行单向哈希,并取所得哈希值中的若干位数值作为软件使用码。
73.在一个实施例中,获取单元获取输入离线软件的用户标识和软件使用码之前还包括:服务平台接收用户的使用码查询请求;服务平台查询用户对应的软件使用码并反馈,或者重新生成软件使用码并反馈。
74.在一个实施例中,服务平台每隔预设的刷新时间,软件使用码基于用户标识、当前取整时间以及软件标识重新生成,其中,当前取整时间为每隔刷新时间取整。
75.在一个实施例中,验证单元基于用户标识和软件使用码进行离线软件的使用权限验证包括:通过离线软件内置的校验函数计算用户标识、当前取整时间、软件标识的软件校验值;比较软件校验值和软件使用码进行离线软件的使用权限验证:若一致,则验证通过,反之,则验证不通过。
76.上述离线软件认证系统,通过用户标识和软件使用码进行离线软件的使用权限验证,其中,软件使用码可以基于用户标识、当前取整时间以及离线软件的软件标识进行生成,离线软件内置有软件使用码的校验函数以及软件标识,如此,第一方面,基于用户标识实现了基于用户粒度对离线软件的使用权限控制,对于安装有离线软件的设备可以更好地管控其离线软件的使用,提升离线软件的安全性,第二方面,基于当前取整时间实现了软件使用码的定时更新,用户需基于最新的软件使用码才能使用离线软件,可以有效管理软件使用码,防止软件使用码的滥用,第三方面,基于软件标识可以实现离线软件的管理,用户需要基于其离线软件对应的软件使用码才能正常使用,这使得离线软件只能安装于与用户相关的设备,在其他设备上安装其他用户也无法使用,第四方面,可以通过软件使用码进行用户的管理,若用户的使用权限到期,则可以停止软件使用码的更新,以限制用户的使用权限,若有新用户想使用离线软件,可以基于用户标识、当前取整时间以及离线软件进行生成该用户的软件使用码,以实现离线软件新用户的添加。
77.上述离线软件认证系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
78.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述实施例中任意一种离线软件认证方法。
具体详细说明参看方法对应的说明,在此不再赘述。
79.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中任意一种离线软件认证方法。具体详细说明参看方法对应的说明,在此不再赘述。
80.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
81.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
82.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1