一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于密码技术的软件使用授权认证方法、系统及相关产品与流程

2021-10-24 07:43:00 来源:中国专利 TAG:区块 技术 授权 认证 计算机

1.本技术涉及计算机技术领域,区块链技术,具体涉及软件使用授权认证技术。


背景技术:

2.版权保护,又称著作权保护,最终目的不是“如何防止使用”,而是“如何控制使用”,版权法的实质是一种控制作品使用的机制。
3.软件产品基于其本身技术以及应用的特殊性,对软件版权的保护提出的更高的要求。为了能够有效的对软件版权进行有效控制,现有市场上软件产品的版权保护方法主要有:(1)简单的机器码及注册码;(2)常规预先分配授权码(含在线);(3)硬件加密狗授权保护等。
4.但是这些软件产品的版权保护方式在实际应用时,都存在相应的缺陷或不足。
5.其中,方式(1)不适用于大规模部署使用,安全性较差,易破解;不适用于存在客户端的网络版的授权控制;需要人为输入等问题。
6.方式(2)可任意输入授权码进行使用,无法有效控制软件的版权保护;授权使用不方便,需要人为输入等问题。
7.方式(3)不适用于云软件运行环境;需要购买硬件,存在一定的财务成本等问题。
8.由此可见,提供一种安全性高且易于使用的软件产品版权保护方案为本领域亟需解决的问题。


技术实现要素:

9.针对现有软件产品版权保护方案在安全性和通用性方面所存在的不足,本发明的目的在于提供一种基于密码技术的软件使用授权认证方法,提高软件使用授权的通用性、安全性;本发明还在此基础上进一步提供实现该方法的系统,以及相关设备。
10.为了达到上述目的,本发明提供的基于密码技术的软件使用授权认证方法,包括:
11.在软件运行环境中基于随软件配发的根公钥证书对运行环境参数信息进行加密运算形成软件当前运行环境的唯一标识;
12.基于当前运行环境的唯一标识请求远程软件授权中心生成授权文件;
13.在软件运行环境中获取远程软件授权中心审核授权请求后,并经解密计算生成的软件授权文件;
14.在软件运行环境中验证远程软件授权中心反馈的软件授权文件。
15.进一步的,所述方法中基于随软件配发的根公钥证书进行软件授权文件验证。
16.进一步地,所述方法中将根公钥证书进行硬编码,并对其进行加密处理。
17.进一步地,所述方法中形成当前运行环境的唯一标识,包括:
18.采集软件运行环境的参数信息,并计算形成运行环境的唯一标识;
19.通过随软件配发的根公钥证书对形成的运行环境唯一的标识进行加密并编码后
输出。
20.进一步地,所述远程软件授权中心生成软件授权文件时,包括:
21.接收到经加密编码后的运行环境唯一标识后,通过对应的根私钥进行解密,获取到相关的软件运行环境的参数信息;
22.在审核通过后,软件授权中心对软件运行环境设置授权信息,再按预设公钥证书格式要求生成授权文件并反馈到软件运行环境。
23.进一步地,所述方法在软件运行环境接收到授权文件后,对授权文件进行验证时,包括:
24.验证授权文件自身签名的有效性;
25.通过根证书对授权文件证书可信链进行验证;
26.提取、解析并验证授权文件证书中扩展信息中的唯一标识是否合法,确定最终的授权验证结果,并进一步通过授权文件中的授权信息控制软件的合法使用。
27.为了达到上述目的,本发明提供的基于密码技术的软件使用授权认证系统,包括:
28.授权请求模块,所述授权请求模块运行在软件运行环境中,基于随软件配发的根公钥证书对运行环境参数信息进行加密运算形成软件当前运行环境的唯一标识;
29.授权生成模块,所述授权生成模块运行在远程软件授权中心中,获取基于软件当前运行环境的唯一标识生成的授权文件请求信息,对请求信息审核后,基于软件当前运行环境的唯一标识生成授权文件并反馈至软件运行环境中;
30.授权验证模块,所述授权验证模块运行在软件运行环境中,在软件运行环境中验证远程软件授权中心反馈的软件授权文件。
31.进一步地,所述授权请求模块和授权验证模块内嵌经过硬编码并加密的随软件配发的根公钥证书。
32.进一步地,所述授权请求模块采集软件运行环境的参数信息,并计算形成运行环境的唯一标识,再通过随软件配发的根公钥证书对形成的运行环境唯一的标识进行加密并编码后输出。
33.进一步地,所述授权生成模块接收到经加密编码后的运行环境唯一标识后,通过对应的根私钥进行解密,获取到相关的软件运行环境的参数信息;软件授权中心对软件运行环境设置授权信息,再按预设公钥证书格式要求生成授权文件并反馈到软件运行环境。
34.进一步地,所述授权验证模块验证授权文件自身签名的有效性,通过内嵌的根证书对授权文件证书可信链进行验证;并提取、解析并验证授权文件证书中扩展信息中的唯一标识是否合法,以确定最终的授权验证结果,并进一步通过授权文件中的授权信息控制软件的合法使用。
35.为了达到上述目的,本发明提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述软件使用授权认证的步骤。
36.为了达到上述目的,本发明提供了一种处理器,所述处理器用于运行程序,所述程序运行时执行上述软件使用授权认证的步骤。
37.为了达到上述目的,本发明提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述软件使用授权认证的步骤。
38.为了达到上述目的,本发明提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述软件使用授权认证的步骤。
39.本发明所提供的基于密码技术的软件使用授权认证方案,采用基于密码技术对软件的授权信息进行授权和验证,提高了软件使用授权的通用性、安全性,实现对软件版权的有效控制。
40.本发明所提供的基于密码技术的软件使用授权认证方案,可用于独立环境中软件使用授权认证、可信环境和非可信环境中的云计算、云服务使用授权认证。
具体实施方式
41.为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实例,进一步阐述本发明。
42.针对现有软件版权控制的问题,本方案采用基于密码技术对软件的授权信息进行授权和验证,由此来提高软件使用授权的通用性、安全性,实现对软件版权的有效控制。
43.为此,本方案给出一种基于密码技术的软件使用授权认证方法,用于实现对软件的授权信息进行授权和验证。
44.本方法对软件的授权信息进行授权和验证时,包括:
45.在软件运行环境中基于随软件配发的根公钥证书对运行环境参数信息进行加密运算形成软件当前运行环境的唯一标识;
46.基于当前运行环境的唯一标识请求远程软件授权中心生成授权文件;
47.在软件运行环境中获取远程软件授权中心审核授权请求后,并经解密计算生成的软件授权文件;
48.在软件运行环境中验证远程软件授权中心反馈的软件授权文件。
49.在此之前,本方案将随软件配发的根公钥证书进行硬编码,并对其进行加密,解决根公钥证书的分发和安全保护,这样当软件运行时,软件自动获取到根公钥证书,当需要使用根公钥证书进行加密、签名验证时,软件自动对公钥证书解密。据此处理的根公钥证书可用于当前运行环境唯一标识的生成和后续软件授权文件的验证。
50.本方案在计算形成软件当前运行环境的唯一标识时,计算的内容包括但不限于采集软件运行环境的唯一硬件标识信息、用户名称等信息。
51.据此,作为举例,本方案可通过如下方案形成授权请求:
52.首先,采集软件运行环境的唯一硬件标识信息、用户名称等信息;
53.接着,将基于采集到的信息计算生成软件运行环境的唯一标识;作为优选,本步骤中采用按十六进制字符编码方式进行计算;
54.接着,通过随软件配发的根公钥证书对生成的软件运行环境唯一标识进行加密后编码输出;作为优选,本步骤中加密符合公钥加密算法要求,再按十六进制编码方式输出可见字符;
55.最后,通过网络或人工方式向远程软件授权中心发送经编码后的唯一标识,以请求远程软件授权中心生成授权文件。
56.作为举例,为配合方案中形成的授权请求,本实例中的远程软件授权中心优选采用如下的方案来生成授权文件。
57.本事例中的远程软件授权中心的接收到经加密编码后的唯一标识信息后,先通过对应的根私钥进行解密,获取到硬件唯一标识、用户名称等信息。
58.获取到的硬件唯一标识、用户名称等信息经过审核通过后,以便确认软件授权用户的合法性,软件授权中心对软件运行环境设置授权信息,作为举例,这里的授权信息包括但不限于授权用户数、使用有效期限等信息,以便可以保护软件运行环境中的软件使用版权。
59.最后,再按公钥证书格式要求生成授权文件并反馈到软件运行环境。
60.作为举例,本实例在生成授权文件时,可遵循公钥证书格式标准要求,将用户名称、授权数、有效期、硬件唯一标识等信息存放于证书不同的属性中,并按公钥证书格式要求生产相应的授权文件,便于公开、安全和可控使用授权文件。
61.对授权信息按公钥证书的形式生成授权文件,并进一步验证授权证书自身的有效期。其中,授权文件其格式为公钥证书格式,授权信息为公钥证书中的属性信息,如用户名称即对应为公钥证书中的cn,有效期即为公钥证书的有效期起始截止期限等。
62.本实例在软件运行环境中获取到远程软件授权中心反馈的软件授权文件后,将对反馈的软件授权文件进行验证。
63.这里在上述实例的基础上,进一步说明本方案对反馈的软件授权文件进行验证的实现过程。
64.在软件运行环境中接收到远程软件授权中心反馈的授权文件后,首先验证授权文件自身签名的有效性;
65.接着,利用经过硬编码和加密的随软件配发的根公钥证书对授权文件可信链进行验证,即验证授权文件的签名根证书是否为根公钥证书,确保其签名链是可信任的;
66.最后,提取、解析并验证授权文件中扩展信息中的唯一标识是否合法,以确立最终的授权验证结果,并进一步通过授权文件中的授权信息控制软件的合法使用。
67.针对本实例方案给出的基于密码技术的软件使用授权认证方案,在具体应用时,可构成相应的软件程序,形成相应的软件使用授权认证系统。该软件程序在运行时,将执行上述的基于密码技术的软件使用授权认证方法,同时存储于相应的存储介质中,以供处理器调取执行。
68.由此形成的软件使用授权认证系统在功能上主要包括:授权请求模块,授权生成模块,授权验证模块。
69.其中,授权请求模块运行在软件运行环境中,基于随软件配发的根公钥证书对运行环境参数信息进行加密运算形成软件当前运行环境的唯一标识。
70.授权生成模块运行在远程软件授权中心中,获取基于软件当前运行环境的唯一标识生成的授权文件请求信息,对请求信息审核后,基于软件当前运行环境的唯一标识生成授权文件并反馈至软件运行环境中。
71.授权验证模块运行在软件运行环境中,在软件运行环境中验证远程软件授权中心反馈的软件授权文件。
72.在本实例的一些实现方式中,将随软件配发的根公钥证书通过硬编码并对运行环境参数信息进行加密至相应的授权请求模块及授权验证模块中,以分别用于生成软件当前运行环境的唯一标识,和用于验证软件授权文件。
73.在本实例的一些实现方式中,本系统中的授权请求模块在实现时,其采集软件运行环境的唯一硬件标识信息、用户名称等信息,并据此进一步计算生成唯一标识。
74.进一步地,本授权请求模块还通过内嵌的随软件配发的根公钥证书对生成的唯一标识进行加密后编码输出,再通过网络或人工方式发送经编码后的唯一标识。
75.在本实例的一些实现方式中,本系统中的授权生成模块在远程软件授权中心对请求信息审核后,通过接收到的经过编码和加密的软件运行环境唯一标识进行解密,并据此生成授权文件并反馈至软件运行环境中。
76.作为举例,本系统中的授权生成模块针对接收到经加密编码后的唯一标识后,先通过对应的根私钥进行解密,获取到硬件唯一标识和用户名称等信息。
77.授权生成模块针对解密得到的信息经过审核通过后,软件授权中心对软件运行环境设置授权信息,再按公钥证书格式要求生成授权文件并反馈到软件运行环境。
78.作为举例,本授权生成模块在按公钥证书格式要求生成授权文件时,遵循公钥证书格式标准要求,将用户名称、授权数、有效期、硬件唯一标识等信息存放于证书不同的属性中,并按公钥证书格式要求生产相应的授权文件。
79.在本实例的一些实现方式中,本系统中的授权验证模块在软件运行环境中验证授权生成模块生成并反馈的软件授权文件执行以下操作:
80.本授权验证模块验证授权文件签名、授权文件证书可信链、唯一标识,以确立最终的授权验证结果。
81.作为举例,本授权验证模块验证软件运行环境接收到授权文件的过程如下:
82.本授权验证模块验证授权文件自身签名的有效性;
83.本授权验证模块内嵌的根证书对授权文件证书可信链进行验证;
84.本授权验证模块提取、解析并验证授权文件证书中扩展信息中的唯一标识是否合法,以确立最终的授权验证结果,并进一步通过授权文件中的授权信息控制软件的合法使用。
85.由此形成的软件使用授权认证系统在运行时,将系统中的授权请求模块和授权验证模块部署并运行在软件运行的环境中,同时将授权生成模块部署运行在远程软件授权中心。通过这三个模块的相互配合(实现过程如上所述)即可对软件的授权信息进行授权和验证,从而能够提高软件使用授权的通用性、安全性,实现对软件版权的有效控制。
86.作为进一步地补充实例方案:
87.本发明实施例还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述软件使用授权认证方法的步骤。
88.本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述软件使用授权认证方法的步骤。
89.本发明实施例还提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述软件使用授权认证方法的步骤。
90.本发明还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述软件使用授权认证方法的步骤。
91.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部
分,可以参见其他实施例的相关描述。
92.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
93.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
94.本发明是参照本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
95.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
96.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
97.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
98.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
99.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
100.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
101.本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
102.以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜