公开/公告号CN103312513A
专利类型发明专利
公开/公告日2013-09-18
原文格式PDF
申请/专利权人 北京华胜天成科技股份有限公司;
申请/专利号CN201310243191.X
申请日2013-06-19
分类号H04L9/32(20060101);H04L29/08(20060101);G06F21/10(20130101);
代理机构44224 广州华进联合专利商标代理有限公司;
代理人陈振
地址 100085 北京市海淀区学清路8号科技财富中心A座10-11层
入库时间 2024-02-19 21:10:10
法律状态公告日
法律状态信息
法律状态
2016-03-02
授权
授权
2013-10-30
实质审查的生效 IPC(主分类):H04L9/32 申请日:20130619
实质审查的生效
2013-09-18
公开
公开
技术领域
本发明涉及应用软件保护领域,尤其涉及一种分布式环境下验证使用授权 的方法及系统。
背景技术
分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能 力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行 处理,最后把这些计算结果综合起来得到最终的结果。分布式网络存储技术是 将数据分散的存储于多台独立的机器设备上。分布式网络存储系统采用可扩展 的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信 息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系 统的可靠性、可用性和扩展性。
分布式软件系统采用分布式计算的结构,把原来单系统中CPU的任务分散 到各个计算机终端,在不同的终端上安装不同的软件,各个终端之间相互协调 工作,实现系统功能。
目前,对于需要安装在分布式系统中各个终端上的很多大型专业的应用软 件,购买前可在一定期限内试用,因此,在试用期内如何控制软件的使用时间 成为重要的技术要求。
传统的软件使用时间控制通常采用结合电脑主机时间进行时间累加计算的 方式实现。对于这种计算方法,当用户修改电脑主机时间时,软件保护装置将 获得错误的时间信息,从而达不到准确控制软件使用时间的目的。
综上所述,如何准确的控制软件的使用时间是一个亟待解决的问题。
发明内容
为了解决上述问题,本发明提供了一种分布式环境下验证使用授权的方法 及系统,通过分布式系统中的控制节点发送使用授权验证信息到执行节点,执 行节点进行使用授权验证,并返回验证结果到控制节点,控制节点控制执行节 点的是否可用。
本发明提供的一种分布式环境下验证使用授权的方法,包括以下步骤:
S100,分布式环境中的控制节点发送使用授权验证请求到所述分布式环境 中的执行节点;
S200,所述执行节点解析所述控制节点发送的使用授权验证请求,验证其 授权信息,并返回验证结果信息给所述控制节点;
S300,所述控制节点根据所述验证结果信息控制所述执行节点。
较佳地,作为一种可实施方式,所述S100,包括以下步骤:
S110,控制节点部署SOA客户端,客户端通过一种随机的方法随机生成一 种随机数x,并对所述x采用加密算法加密;
S120,经过时间x后,所述客户端通过SOAP发送使用授权验证请求到执 行节点。
较佳地,作为一种可实施方式,所述S200,包括以下步骤:
S210,执行节点接收使用授权验证请求后,部署SOA服务端,通过所述服 务端解析请求中的内容,并解密加密的数据,获取所述随机数x;
S220,执行节点通过所述服务端中验证授权的逻辑对所述执行节点的授权 信息进行验证;
S230,所述执行节点返回验证结果信息到控制节点。
较佳地,作为一种可实施方式,所述S220,包括以下步骤:
S221,根据软件许可文件的路径查找所述软件许可文件,如果存在,则执 行步骤S222,否则返回使用授权验证失败信息;
S222,根据所述软件许可文件中的特定数据进行校验与比对,判断文件是 否合法或过期,当判断出软件许可文件中的数据合法或授权时间过期时,返回 使用授权验证失败信息,当软件许可文件中存在试用版标示时,执行步骤S223, 否则返回使用授权验证成功信息;
S223,通过调用系统内预设路径下的加密文件Y获取当前执行节点的运行 时间,通过所述随机数x算出此次累加的时间,与当前执行节点运行时间求和 后加密写入所述文件Y中,并判断重新写入的所述执行节点的运行时间是否超 过授权时间,如果是则返回使用授权验证失败信息,否则返回使用授权验证成 功信息。
基于同一发明构思的一种分布式环境下验证使用授权的系统,包括控制节 点、执行节点、使用授权验证请求模块和使用授权验证模块,其中:
所述控制节点,用于部署使用授权验证请求模块发送使用授权验证请求到 执行节点,并控制所述执行节点;
所述执行节点,用于接收所述使用授权验证请求模块发送的使用授权验证 请求并部署所述使用授权验证模块进行使用授权验证;
所述使用授权验证请求模块,用于根据所述控制节点的部署发送使用授权 验证请求到执行节点;
所述使用授权验证模块,用于根据执行节点的部署对软件授权情况进行验 证,并返回验证结果信息。
较佳地,作为一种可实施方式,所述使用授权验证请求模块,包括随机数 生成子模块和使用授权验证请求发送子模块,其中:
所述随机数生成子模块,用于通过一种随机的方法随机生成一种随机数x, 并对所述随机数x采用加密算法加密;
所述使用授权验证请求发送子模块,用于经过时间x后,发送使用授权验 证请求到执行节点。
较佳地,作为一种可实施方式,所述使用授权验证模块,包括解析子模块、 授权信息验证子模块和验证结果返回子模块,其中:
所述解析子模块,用于解析接收到的使用授权验证请求,解密加密的数据, 获取所述随机数x;
所述授权信息验证子模块,用于根据解析子模块解析出的数据对所述执行 节点的使用授权信息进行验证;
所述验证结果返回子模块,用于返回所述授权信息验证子模块的验证结果 信息到所述控制节点。
较佳地,作为一种可实施方式,所述授权信息验证子模块,包括文件查找 子模块、数据校验子模块和授权时间校验子模块,其中:
所述文件查找子模块,用于根据软件许可文件的路径查找所述软件许可文 件;
所述数据校验子模块,用于根据所述软件许可文件中的特定数据进行校验 与比对,判断文件是否合法或过期,并判断软件是否为试用版;
所述授权时间校验子模块,用于对试用版软件通过调用系统内预设路径下 的加密文件Y获取当前执行节点的运行时间,通过所述随机数x算出此次累加 的时间,与当前执行节点运行时间求和后加密写入所述文件Y中,并判断重新 写入的所述执行节点的运行时间是否超过授权时间,如果是则返回使用授权验 证失败信息,否则返回使用授权验证成功信息。
本发明的有益效果包括:
本发明提供的一种分布式环境下验证使用授权的方法及系统,通过分布式 环境中的控制节点经随机时间发送使用授权验证请求到执行节点,执行节点根 据随机时间的积累验证试用版软件是否到期,避免了用户通过修改系统时间的 方式无限制的使用试用版软件。
附图说明
图1为本发明一种分布式环境下验证使用授权的方法的一具体实施例的流 程示意图;
图2为本发明一种分布式环境下验证使用授权的系统的一具体实施例的系 统结构示意图;
图3为本发明一种分布式环境下验证使用授权的系统的一具体实施例的使 用授权请求模块结构示意图;
图4为本发明一种分布式环境下验证使用授权的系统的一具体实施例的使 用授权验证模块结构示意图;
图5为本发明一种分布式环境下验证使用授权的系统的一具体实施例的授 权信息验证子模块结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本 发明分布式环境下验证使用授权的方法及系统的具体实施方式进行详细说明。 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发 明。
本发明实施例的一种分布式环境下验证使用授权的方法,如图1所示,包 括以下步骤:
S100,分布式环境中的控制节点发送使用授权验证请求到所述分布式环境 中的执行节点;
S200,所述执行节点解析所述控制节点发送的使用授权验证请求,验证其 授权信息,并返回验证结果信息给所述控制节点;
S300,所述控制节点根据所述验证结果信息控制所述执行节点。
下面对以上步骤做详细说明:
较佳地,作为一种可实施方式,所述S100,分布式环境中的控制节点发送 使用授权验证请求到所述分布式环境中的执行节点,具体包括以下步骤:
S110,控制节点部署SOA客户端,客户端通过一种随机的方法随机生成一 个随机数x,并对所述x采用加密算法加密;
此处需要说明的是,所述控制节点是指,在分布式环境中存在负责控制的 节点,即控制分布式环境中各个终端之间的关系与执行状态,称之为控制节点; 在分布式环境中有负责具体任务执行的节点,即具体的执行仿真、计算等任务 的节点,称之为执行节点。
所述执行节点个数在两个以上,所述控制节点一般为分布式系统中一个固 定的服务器。
所述SOA(Service-Oriented Architecture,面向服务的体系结构)是一个组件模 型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的 接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现 服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服 务可以以一种统一和通用的方式进行交互。本实施例中,采用部署SOA客户端 的方式,利用SOA客户端生成一个随机数x,并发送至执行节点,本领域技术 人员可以理解,控制节点也可以采用其他类似的技术手段发送随机生成的随机 数到执行节点。
控制节点部署所述SOA的客户端,即控制节点发送任务到SOA,SOA的 客户端通过一种随机的方法生成一个随机数x,并对所述x采用加密算法加密。
此处需要说明的是,所述通过一种随机的方法生成一个随机数x,可通过传 统的随机数生成方法生成随机数,并对随机生成数的范围进行限定,此为成熟 技术,此处不再作一一详细描述。
所述随机数x为一个正整数,其取值范围可进行设定,此为成熟技术,在 此不作一一详细描述。
较佳地,作为一种可实施方式,本实施例中x的取值范围设定为5-60,即 随机数生成为5-60中的某一个数。
较佳地,作为一种可实施方式,本实施例中采用RSA算法对所生成的x进 行加密,此为成熟技术,在此不再赘述。
S120,经过时间x后,所述客户端发送使用授权验证请求到执行节点。
此处需要说明的,SOA的客户端生成的随机数x作为一个时间限定使用, 经过时间x后,客户端发送使用授权验证请求到执行节点。
所述时间x的单位为分钟,即经过x分钟后,客户端发送使用授权验证请 求到执行节点。
所述执行节点为分布式环境中的一个或多个执行节点,当需要对所述分布 式环境中的某个或几个执行节点进行授权验证时,则发送使用授权验证请求到 需要验证的执行节点。
此处需要说明的是,因为此处x为随机生成数,所以很难通过修改控制节 点系统时间的方式来推迟使用授权验证请求发送从而延长执行节点试用版软件 使用时间。
所述执行节点是控制节点所指定的执行节点,当控制节点要对分布式系统 中的某个或某几个执行节点进行使用授权验证时,则指定执行节点为SOA的客 户端发送使用授权验证请求的对象。
较佳地,作为一种可实施方式,所述S200,所述执行节点解析所述控制节 点发送的使用授权验证请求,验证其授权信息,并返回验证结果信息给所述控 制节点,具体包括以下步骤:
S210,执行节点接收使用授权验证请求后,部署SOA服务端,通过所述服 务端解析请求中的内容,并解密加密的数据,获取所述随机数x;
执行节点接收到使用授权验证请求后,根据验证请求部署SOA的服务端, 所述服务端中包含验证授权的逻辑,从而利用所述服务端中的验证授权的逻辑 对使用授权进行验证,所述解密加密的数据为验证授权的逻辑中的一部分,对 加密的数据进行解密后,获取SOA的客户端发送过来的随机数x,作为后续判 断试用版使用时间期限的参数。
S220,执行节点通过所述服务端中验证授权的逻辑对所述执行节点的授权 信息进行验证;
此处需要说明的是,所述授权信息包括授权软件的版本、授权人姓名、生 成授权文件的时间、硬件ID及授权过期时间等信息。
较佳地,作为一种可实施方式,所述S220,执行节点通过所述服务端中验 证授权的逻辑对所述执行节点的授权信息进行验证,包括以下步骤:
S221,根据软件许可文件的路径查找所述软件许可文件,如果存在,则执 行步骤S222,否则返回使用授权验证失败信息。
根据软件的软件许可文件的路径在所述执行节点中查找软件许可文件,如 果在指定路径中查找到所述软件许可文件则执行步骤S222,如果按照预定的软 件许可文件的路径没有找到所述软件许可文件,则说明此执行节点中未的到软 件授权,因此,返回使用授权验证失败信息。
此处需要说明的是,所述授权授权验证失败信息为“未找到软件许可文件”, 并在后续步骤中由执行节点返回给控制节点。
S222,根据所述软件许可文件中的特定数据进行校验与比对,判断文件是 否合法或过期,当判断出软件许可文件中的数据不合法或授权时间过期时,返 回使用授权验证失败信息,当软件许可文件中存在试用版标示时,执行步骤 S223,否则返回使用授权验证成功信息;
所述软件许可文件中的特定数据包括:授权人姓名、生成授权文件的时间、 硬件ID、密钥描述数据、日期描述数据、授权过期时间,所述验证授权的逻辑 对上述信息进行验证,通过授权过期时间验证软件授权是否过期,通过其他信 息可验证软件的软件许可文件是否是合法文件,如果发现所述软件许可文件为 合法文件,则返回软件许可文件非法,如果授权文件已过期,则返回授权文件 超期,当发现软件许可文件中包含有试用版标示时,则执行步骤S232,否则返 回使用授权验证成功信息。
返回使用授权验证成功信息表明,所验证的执行节点中软件为经过授权的 正式版本,且软件在使用期限内。
S223,通过调用系统内预设路径下的加密文件Y获取当前执行节点的运行 时间,通过所述随机数x算出此次累加的时间,与当前执行节点运行时间求和 后加密写入所述文件Y中,并判断重新写入的所述执行节点的运行时间是否超 过授权时间,如果是则返回授权文件到期,否则返回使用授权验证成功信息。
当发现所述执行节点的软件许可文件中有试用版标示时,则说明此执行节 点的软件为试用版,则应进一步判断所述软件的累计使用时间,其是否已达到 试用期限。
此时所述验证授权的逻辑调用系统中预设路径下的加密文件Y,获取当前 执行节点的运行时间。
此处需要说明的是,所述预设路径为所述授权验证的逻辑在安装时的预存 储位置,所述加密文件Y存储所述执行节点的运行时间,每次对执行节点的使 用授权验证之后的节后都保存到所述加密文件Y中,调用所述加密文件Y之后, 对所述加密文件进行解密,得到其中所存储的当前执行节点运行时间z,将当前 执行节点的运行时间与所述x进行求和运算得到新的当前节点的运行时间z’, 并加密写入文件Y中,同时判断所述新的当前节点的运行时间z’是否超过授权 时间,也即是否超过试用期,如果超过试用期,则返回授权文件到期;否则返 回使用授权验证成功的信息;加密写入文件Y中的新的当前节点的运行时间z’ 可作为下一次使用授权验证依据。
此处需要说明的,所述节点运行时间z的初始值设定为0,即软件开始运行 时积累时间为0。
通过上述方法对执行节点的软件使用授权进行验证,不依赖于执行节点的 系统时间,因此规避了用户通过修改执行节点系统时间来延长软件试用期的时 间的方式,通过时间的累加严格的确定执行节点软件的使用时间。
S230,所述执行节点返回验证结果信息到控制节点。
经过前述步骤的执行节点使用授权验证后,所述执行节点返回相应的使用 授权验证结果到所述控制节点,由控制节点做出进一步的判断与执行决定。
S300,所述控制节点根据所述验证结果信息控制所述执行节点。
控制节点根据所述执行节点返回的使用授权验证信息,判断所述执行节点 是否可用,并控制所述执行节点。
当执行节点返回未找到软件许可文件时,则控制节点控制所述执行节点不 可用,并提示“未找到软件许可文件”;当执行节点返回文件授权文件到期时, 则控制节点控制所述执行节点不可用,并返回“授权文件到期”。
此处需要说明的是,所述授权文件到期包括软件正式版超过授权过期时间 以及试用版软件超过授权时间。
当执行节点返回软件许可文件非法时,则控制节点控制所述执行节点不可 用,并返回“软件许可文件非法”。
此处需要说明的是,控制节点接收到执行节点返回的的判定结果后,立即 部署SOA的客户端产生下一个随机数x’。经过时间x’后再次对执行节点的使用 授权进行验证。
基于同一发明构思,本发明实施例还提供了一种分布式环境下验证使用授 权的系统,由于此系统解决问题的原理与前述一种分布式环境下验证使用授权 的方法相似,因此,此系统的实施可以可通过前述方法的具体实施步骤实现, 重复之处不再赘述。
本发明实施例的一种分布式环境下验证使用授权的系统,如图2所示,包 括控制节点100、执行节点200、使用授权验证请求模块300和使用授权验证模 块400,其中:
所述控制节点100,用于部署使用授权验证请求模块300发送使用授权验证 请求到执行节点,并控制所述执行节点;
此处需要说明的是,所述控制节点根据使用授权验证模块400返回的验证 结果控制所述执行节点,而且控制节点收到所述使用授权验证模块400返回的 验证结果信息后立即部署使用授权验证请求模块300发送下一次使用授权验证 请求到执行节点。
所述执行节点200,用于接收所述使用授权验证请求模块300发送的使用授 权验证请求并部署所述使用授权验证模块400进行使用授权验证;
此处需要说明的是,在分布式环境下,一般有两个以上所述执行节点,控 制节点通过使用授权验证请求模块发送使用授权验证请求时会指定多个执行节 点中的某个节点,所指定的某个节点接收到使用授权验证请求。
所述使用授权验证请求模块300,用于根据所述控制节点100的部署发送使 用授权验证请求到执行节点。
所述使用授权验证模块400,用于根据执行节点200的部署对软件授权情况 进行验证,并返回验证结果信息。
较佳地,作为一种可实施方式,所述使用授权验证请求模块300,如图3所 示,包括随机数生成子模块310和使用授权验证请求发送子模块320,其中:
所述随机数生成子模块310,用于通过一种随机的方法随机生成一种随机数 x,并对所述随机数x采用加密算法加密;
所述使用授权验证请求发送子模块320,用于经过时间x后,发送使用授权 验证请求到执行节点200。
较佳地,作为一种可实施方式,所述使用授权验证模块400,如图4所示, 包括解析子模块410、授权信息验证子模块420和验证结果返回子模块430,其 中:
所述解析子模块410,用于解析接收到的使用授权验证请求,解密加密的数 据,获取所述随机数x;
所述授权信息验证子模块420,用于根据解析子模块410解析出的数据对所 述执行节点的使用授权信息进行验证;
较佳地,作为一种可实施方式,所述授权信息验证子模块420,如图5所示, 包括文件查找子模块421、数据校验子模块422和授权时间校验子模块423,其 中:
所述文件查找子模块421,用于根据软件许可文件的路径查找所述软件许可 文件;
当未找到软件许可文件时,则返回“未找到软件许可文件”,当查找到软件 许可文件时,则将软件许可文件交给数据校验子模块422对许可文件中的数据 进行校验。
所述数据校验子模块422,用于根据所述软件许可文件中的特定数据进行校 验与比对,判断文件是否合法或过期,并判断软件是否为试用版;
当判定软件许可文件为非法文件时,则返回“软件许可文件非法”,当判定 软件许可文件过期时,则返回“授权文件到期”,当判定软件为试用版时,则利 用授权时间校验子模块423对软件使用授权进行进一步验证,否则返回使用授 权验证成功信息。
所述授权时间校验子模块423,用于对试用版软件通过调用系统内预设路径 下的加密文件Y获取当前执行节点的运行时间,通过所述随机数x算出此次累 加的时间,与当前执行节点运行时间求和后加密写入所述文件Y中,并判断重 新写入的所述执行节点的运行时间是否超过授权时间。
所述预设路径为加密文件Y预先存储在系统中的位置,如 /etc/encode/time.date。
所述验证结果返回子模块430,用于返回所述授权信息验证子模块420的验 证结果信息到所述控制节点100。
此处需要说明的是,控制节点100根据使用授权验证模块400返回的相关 信息,在控制执行节点不可用时同时显示相应的不可用信息,如前面所述的“未 找到软件许可文件”,“软件许可文件非法”“授权文件到期”。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域 的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和 改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附 权利要求为准。
机译: 服务验证系统,认证请求终端,服务使用终端和服务供应方法,尤其涉及用于提供多个服务的服务验证系统,用于通过在服务中进行认证并在系统中进行认证的服务使用的认证请求终端基于终端的授权结果的服务使用终端和使用服务的服务提供方法
机译: 在计算机系统内对文件集进行电子签名的方法,包括响应于随后的命令来验证存储的验证码,并在进行肯定验证的情况下向计算机发送授权信号
机译: 使用三方呼叫方法的扬声器授权电信ARS系统及其方法,尤其是通过使PBX,ARS和扬声器授权系统授权以使现有系统发生更改来最大程度地减少故障发生率身份验证者的路径和过程数据