一种实现唯一性许可的方法

文档序号:7776078阅读:476来源:国知局
一种实现唯一性许可的方法
【专利摘要】一种实现唯一性许可的方法,包括以下步骤:步骤S1,客户端安装软件时生成软件识别码;步骤S2,客户端将软件识别码发送给服务器;步骤S3,服务器生成许可并发送给客户端;步骤S4,客户端安装许可;步骤S5,客户端验证许可,验证通过时获准正常使用所安装的软件;其中,服务器根据客户端生成的软件识别码生成许可,使得该许可与客户端安装的软件唯一对应。本发明的一种实现唯一性许可的方法,使得软件提供商可以基于软件的唯一识别码来生成并发放许可,使得所发放的许可唯一适用于该许可对应的软件,从而实现了软件许可证的适用唯一性,维护了商业软件提供商的利益。
【专利说明】—种实现唯一性许可的方法
【技术领域】
[0001]本发明属于计算机网络通信【技术领域】,具体涉及一种实现唯一性许可的方法。
【背景技术】
[0002]商业软件(commercial software)是在计算机软件中,指被作为商品进行交易的软件。商业软件一般都是按照许可(License)来控制软件的使用期限和功能,并按照一定的价格体系来销售。为了保证商业软件提供商的利益,这些License只能适用具体唯一的软件环境中,否则用户购买一个License就可安装多套软件环境,商业软件的价格体系就会被破坏,从而商业软件提供商的利益将会受到侵害。
[0003]为了保证许可(License)只能适用具体唯一的软件环境中,商业软件提供商一般按照软件环境中服务器的唯一标识作为控制对象,比如MAC地址。但是这种将MAC地址作为控制对象的方法存在一些缺点,例如:(I)服务器的MAC地址是可更改的,保证不了环境的唯一性,保证不了环境的唯一性会导致保证不了 License的适用唯一性;(2)旧服务器有可能从集群环境中退出,新服务器也可能加入集群环境,MAC地址会随着服务器的加入、退出而不断更改,无法保证License的适用唯一'丨生。
[0004]因此,有必要提出一种实现唯一性许可的方法,既可以唯一标识软件环境,又可以确保在软件环境中不随物理服务器的加入、退出而变化,能够使License只能适用具体唯一的软件环境中。

【发明内容】

[0005]本发明的目的是提供一种实现唯一性许可的方法,通过生成与软件唯一对应的识别码来唯一标识软件环境,并基于软件的唯一识别码来生成并发放许可,以克服现有技术中软件环境标识不能唯一标识软件环境,在软件环境中会随物理服务器的加入、退出而变化的缺陷。
[0006]根据本发明的一个方面,提供了一种实现唯一性许可的方法,包括以下步骤:
[0007]步骤SI,客户端安装软件时生成软件识别码;
[0008]步骤S2,客户端将软件识别码发送给服务器;
[0009]步骤S3,服务器生成许可并发送给客户端;
[0010]步骤S4,客户端安装许可;
[0011]步骤S5,客户端验证许可,验证通过时获准正常使用所安装的软件;
[0012]其中,服务器根据客户端生成的软件识别码生成许可,使得该许可与客户端安装的软件唯一对应。
[0013]其中,客户端生成的软件识别码与客户端所安装的软件唯一对应。
[0014]其中,服务器所生成的许可中包含对应的软件识别码,使得该许可与客户端安装的软件唯一对应。
[0015]其中,客户端将安装的许可与所述生成的软件识别码进行对比,验证所述许可中包含的软件识别码与所述生成的软件识别码是否相同,如果相同,则验证通过,客户端获准正常使用所安装的软件。
[0016]进一步地,如果所述许可中包含的软件识别码与所述生成的软件识别码不同,则验证未通过,客户端不能使用所安装的软件。
[0017]其中,服务器所生成的许可中还包含有签名信息,该签名信息体现了服务器的身份。
[0018]所述客户端验证许可时,进一步包括验证许可中的签名信息是否与软件中的签名信息相同,如果相同,则验证通过;如果不同,则验证未通过。
[0019]其中,所述客户端接收到服务器发送的许可后,按照预定价格购买许可后才获准安装该许可。
[0020]其中,所述许可的内容为{"data": {〃soft_uuid": 〃 xxx〃,〃start_time〃:〃xxx〃
” I” ”” ”I” ””” c.j” ”//-]//// ////1
,days: xxx,nodes: xxx,teature: xxx, xxx, xxx,_},signature: xxxx I ,其中:"SOft_UUid"字段表示软件识别码,〃start_time"字段表示软件可以使用的开始时间,"days"字段表示软件准许使用期限,"feature"字段表示软件可以使用的功能,"signature"字段表示软件提供商签名信息,"nodes"字段表示可以使用软件的节点数量。
[0021]根据本发明的一种实现唯一性许可的方法,软件提供商可以基于软件的唯一识别码来生成并发放许可,由于该识别码在软件环境中不会随物理服务器的加入、退出而变化,同时该识别码被服务器签名,不可更改,有效地保证了许可只能适用具体唯一的软件环境中,使得服务器所发放的许可唯一适用于该许可对应的软件,实现了软件许可证的适用唯一性,维护了商业软件提供商的利益。
【专利附图】

【附图说明】
[0022]图1显示了本发明实施例的实现唯一性许可的方法的原理图;
[0023]图2显示了本发明实施例的实现唯一性许可的方法的流程图;
[0024]图3显示了本发明的生成唯一性许可方法的具体实施例的流程图。
【具体实施方式】
[0025]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0026]下面对本发明涉及的专业术语给出解释。
[0027]UUID 生成器:UUID 含义是通用唯一识别码(Universally Unique Identifier),应用于分布式计算环境(Distributed Computing Environment, DCE)领域,用于让分布式系统中的所有元素都有唯一的识别码,而不需要透过中央控制端来做辨识对象的指定。
[0028]UUID生成器是指生成UUID识别码的模块。UUID生成器的算法可以保证所生成的识别码(Fingerprint)具有全球唯一性。
[0029]图1显示了本发明实施例的实现唯一性许可的方法的原理图。
[0030]如图1所示,用户安装所需要的商业软件,软件安装完毕后,利用UUID生成器生成一个关于该软件的识别码(例如指纹识别码Fingerprint)。用户将生成的识别码发送给软件提供商,软件提供商根据该识别码生成一个对应的许可(License),并将该许可签名,防止其被更改;用户按照软件提供商的价格购买了许可后,安装许可,将安装的许可与该软件唯一对应的识别码进行密钥验证,如果验证通过,则可以正常使用该软件。通过这种方法,使得软件提供商可以基于软件的唯一识别码来生成并发放许可,使得所发放的许可唯一适用于该许可对应的软件,从而实现了软件许可证(License)的适用唯一性。
[0031]图2显示了本发明实施例的实现唯一性许可的方法的流程图。
[0032]如图2所示,本发明实施例的实现唯一性许可的方法,包括以下步骤:
[0033]步骤SI,客户端安装软件时生成软件识别码。[0034]用户在客户端安装所需要的软件,安装软件的同时在客户端生成一个与该安装的软件唯一对应的识别码。具体来说,利用UUID生成器生成一个关于该软件的指纹识别码Fingerprint, UUID生成器的算法保证了生成的Fingerprint的全球唯一性。
[0035]步骤S2,客户端将软件识别码发送给服务器。
[0036]用户在客户端安装完软件后,客户端将所生成的软件识别码发送给服务器,服务器从安装软件的客户端获取到与该安装软件唯一对应的识别码。
[0037]步骤S3,服务器生成许可并发送给客户端。
[0038]服务器根据获取的识别码生成对应的许可,将该许可发送到对应的客户端。该许可中包含安装软件所生成的识别码,用于许可对应的软件能够正常运行。
[0039]可选的,服务器所生成的许可中还包含有签名信息,签名信息体现了服务器或软件提供商的身份信息,用于对生成的许可进行签名,以防止其被更改。
[0040]步骤S4,客户端安装许可。
[0041]用户在客户端接收服务器发送的许可,按照软件提供商的价格购买了许可后安装许可。
[0042]步骤S5,客户端验证许可,验证通过时获准正常使用所安装的软件。
[0043]客户端将安装的许可与软件唯一对应的识别码进行识别码验证,比对识别码是否相同。如果对比相同,表示该许可适用于该软件,验证通过,可以正常使用该软件;如果对比不同,表示该许可不适用于该软件,软件保护自身不可被用户使用。
[0044]所述客户端验证许可时,进一步包括验证许可中的签名信息是否与软件中的签名信息相同,如果相同,则验证通过,客户端可以正常使用软件;如果不同,则验证未通过,客户端不能使用软件。
[0045]通过上述流程,软件提供商可以基于软件的唯一识别码来生成并发放许可,使得所发放的许可唯一适用于该许可对应的软件,从而实现了软件许可证的适用唯一性。
[0046]图3显示了本发明的生成唯一性许可方法的具体实施例的流程图。
[0047]如图3所示,本实施例的生成唯一性许可(License)的方法包括下述步骤:
[0048]步骤S31,客户端生成软件识别码Fingerprint。
[0049]步骤S32,客户端将软件识别码Fingerprint发送给服务器。
[0050]步骤S33,服务器根据软件识别码Fingerprint生成对应的许可License。
[0051]在本发明的实施例中,在所述步骤S33生成的License内容例如为
(// -1 J//f //(- J.I // //// // ,,,.””” C\r\ ”I” c\r\ ” c.J”
{ data:{ sott—uuid: xxx , start_time: xxx , days:3U, nodes:ZO, teature:"xxx, xxx, xxx", }, "signature": "xxxx"},其中,{"soft—uuicT: "xxx"}字段表不软件识别码Fingerprint,是识别码在许可License的中的表现形式,start_time字段表示本许可对应的软件可使用的开始时间,days字段表示软件可使用的天数(例如可以使用30天,正式购买许可后可使用天数可以大幅延长),nodes字段表示可使用软件的节点数量(例如可以供20个节点终端使用),feature字段表示许可适用后软件可以使用的功能。从上述许可的数据结构可以看到,客户端生成的fingerprint包含在License中,体现为{〃soft_ [0052]在步骤S33中,优选地,所述步骤S32中License生成后,服务器端对License签名,以防止License被随意更改,"signature"字段表示软件提供商签名信息。
[0053]步骤S34,用户获取并安装License。本步骤中,通常要求用户支付费用购买License后才能正常安装License,用户接收到服务器发送的许可后,按照预定价格购买许可后才获准安装该许可。
[0054]步骤S35,许可License安装和验证。
[0055]将步骤S34中获取的License安装到上述软件中,并将安装的许可与软件唯一对应的识别码Fingerprint进行识别码验证,比对识别码Fingerprint是否相同,还要验证许可中的签名信息是否与软件中的签名信息相同。如果识别码Fingerprint的对比、签名信息的验证均相同,表示该许可适用于该软件,可以正常使用该软件;否则,用户无法正常使用该软件。
[0056]如上所述,根据本发明的一种实现唯一性许可的方法,软件提供商可以基于软件的唯一识别码来生成并发放许可,由于该识别码在软件环境中不会随物理服务器的加入、退出而变化,同时该识别码被服务器签名,不可更改,有效地保证了许可只能适用具体唯一的软件环境中,使得服务器所发放的许可唯一适用于该许可对应的软件,实现了软件许可证的适用唯一性,维护了商业软件提供商的利益。
[0057]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【权利要求】
1.一种实现唯一性许可的方法,包括以下步骤: 步骤Si,客户端安装软件时生成软件识别码; 步骤S2,客户端将软件识别码发送给服务器; 步骤S3,服务器生成许可并发送给客户端; 步骤S4,客户端安装许可; 步骤S5,客户端验证许可,验证通过时获准正常使用所安装的软件; 其中,服务器根据客户端生成的软件识别码生成所述许可,使得该许可与客户端安装的软件唯一对应。
2.根据权利要求1所述的方法,客户端生成的软件识别码与客户端所安装的软件唯一对应。
3.根据权利要求2所述的方法,服务器所生成的许可中包含对应的软件识别码,使得该许可与客户端安装的软件唯一对应。
4.根据权利要求3所述的方法,客户端将安装的许可与所述生成的软件识别码进行对t匕,验证所述许可中包含的软件识别码与所述生成的软件识别码是否相同,如果相同,则验证通过,客户端获准正常使用所安装的软件。
5.根据权利要求4所述的方法,如果所述许可中包含的软件识别码与所述生成的软件识别码不同,则验证未通过,客户端不能使用所安装的软件。
6.根据权利要求3所述的方法,服务器所生成的许可中还包含有签名信息,该签名信息体现了服务器的身份。
7.根据权利要求6所述的方法,所述客户端验证许可时,进一步包括验证许可中的签名信息是否与软件中的签名信息相同,如果相同,则验证通过;如果不同,则验证未通过。
8.根据权利要求1-6中任一项所述的方法,所述客户端接收到服务器发送的许可后,按照预定价格购买许可后才获准安装该许可。
9.根据权利要求1-6中任一项所述的方法,所述许可的内容为{"data":{"SOft_uuid: XXX,start_time: xxx,days: xxx,nodes: xxx,teature: xxx, xxx,xxx〃,},"signature": 〃xxxx〃},其中:〃soft—uuid〃 字段表不软件识别码,〃start—time"字段表示软件可以使用的开始时间,"days"字段表示软件准许使用期限,"feature"字段表示软件可以使用的功能,"signature"字段表示软件提供商签名信息,"nodes"字段表示可以使用软件的节点数量。
【文档编号】H04L9/32GK103812857SQ201310554652
【公开日】2014年5月21日 申请日期:2013年11月8日 优先权日:2013年11月8日
【发明者】徐安 申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1