背景技术
物联网是继计算机、互联网与移动通信网之后的世界信息产业第三次浪潮。据权威机构预测,物联网所带来的产业价值要比互联网大30倍,物联网将会形成下一个万亿元级别的通信业务;同时,物联网的发展将对调整经济结构、转变经济增长方式具有积极意义。
和其他信息产品一样,物联网系统在应用过程中,也遇到了软件盗版问题。尽管各国都在一定程度上采取反盗版措施,对软件盗版进行打击,但时至今日,盗版现象不仅没有得到有效的根除,反而还有日益漫延之势。盗版极大地打击了我国的信息产业,尤其是软件产业,导致相关企业无法获得正常的利润来维持运营、培养人才,也不利于社会长远发展和进步。
软件授权是软件保护概念的延伸和发展,是在防止软件不被盗版的基础上,让软件用户按照购买许可来使用软件,其涉及软件的安装份数,使用时间,应用范围以及功能块等内容。软件授权的发展主要基于以下几个因素:1)软件的功能及包含的功能块越来越多,系统开发商常按照功能块来销售系统;2)软件的按需使用销售模式的发展,用户希望按照使用时间,次数等来购买和使用软件;3)软件用户数量的增长和软件版本的增加,开发商需要更好地管理软件购买和使用。
目前存在多种软件授权方法,主要包括:
1)加密狗方式:当用户执行软件时,先进行校验,确定加密狗是否连接到主机上,并确定加密狗的密钥是否正确;确认二者都正确后,才允许客户使用软件。该方式适用于单机系统,同时需要占用硬件接口。
2)注册码方式:为了不受限制地实现计算机软件的功能,在软件安装或使用的过程中,按照指定的要求输入由字母、数字或其它符号所组成的序列。目前破解这种方式的方法比较多,其安全性值得怀疑。
3)软件激活方式:将软件绑定在唯一的一台PC上,用户为这台PC指定一个ID,发给软件开发商,然后就能得到软件的激活码。虽然可以保证这台PC中的硬件被更换(如内存升级)后,系统仍然可以被使用,但若用户更换了电脑,系统就不能运行,系统开发者必须为他的系统设置后门程序来实现激活。
4)注册文件方式:注册文件一般是一个小文件,可以是纯文本文件,也可以是包含不可显示字符的二进制文件,其内容是一些加密过或未加密的数据,其中可能有用户名、注册码等信息。文件格式则由系统开发商定义。试用版系统没有注册文件,当用户向开发商付费注册之后,会收到开发商寄来的注册文件,其中可能包含用户的个人信息。用户只要将该文件放入指定的目录,就可以让系统成为正式版。该文件一般是放在系统的安装目录中或系统目录下。系统每次启动时,从该文件中读取数据,然后利用某种算法进行处理,根据处理的结果判断是否为正确的注册文件,如果正确则以注册版模式来运行。
5)光盘保护方法:程序在启动时判断光驱中的光盘上是否存在特定的文件,如果不存在则认为用户没有正版光盘,拒绝运行。在程序运行的过程当中一般不再检查光盘的存在与否。
然而,上述方式大多针对单机软件设计的,无法有效地针对物联网这种分布式软件系统进行合理地授权,并且无法根据用户需求的不同,对物联网系统中分布在不同实体中的不同功能、功能点进行独立授权,因此无法满足物联网系统开发商维护版权、保证自身权益以及按需授权的要求。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种物联网软件功能模块授权方法及系统,以实现按需授权。
为实现上述目的及其他相关目的,本发明提供一种物联网软件功能模块授权系统,其至少包括:至少一个终端设备、通过第一网络与终端设备通信的运营商运营平台以及通过第二网络与所述运营商运营平台通信的授权认证服务器,其中,
在所述终端设备设置有第一软件模块,其包括:
授权请求单元,用于基于相关信息来形成唯一性标志信息,并基于所述唯一性标志信息及预定公钥及私钥来生成授权请求信息,并发送该授权请求信息;
授权码获取单元,用于获取基于所述授权请求信息反馈回的第一授权码信息;
至少一个第一软件的至少一个第一功能模块;
至少一个第一监控单元,用于基于所述第一授权码信息来监控正在运行的各第一功能模块是否超出授权范围;
所述运营商运营平台包括:
至少一个权限管理单元,用于接收来自所述授权认证服务器的第一及第二授权码信息,并基于预定公钥及私钥解密授权请求信息后所得的唯一性标志信息,向终端设备提供相应的第一授权码信息;
至少一个第二功能模块,用于基于第二授权码信息向相应的第一功能模块提供相应的服务;
至少一个第二监控单元,用于基于所述第二授权码信息来监控正在运行的各第二功能模块是否超出授权范围;
所述授权认证服务器用于基于唯一性标识信息来生成第一及第二授权码信息,向所述运营商运营平台提供第一授权码信息、第二授权码信息及公钥与私钥。
本发明还提供一种物联网软件功能模块授权方法,其至少包括步骤:
-终端设备的授权请求单元基于相关信息来形成唯一性标志信息,并基于所述唯一性标志信息及预定公钥与私钥来生成授权请求信息,并发送该授权请求信息;
-运营商运营平台的权限管理单元采用预定公钥与私钥将接收的授权请求信息解密后,基于唯一性标志信息在授权码库中进行查询,若查询到对应的第一授权码信息,则将所述第一授权码信息反馈回所述终端设备,否则将所述唯一性标志信息加密后发送给授权认证服务器;
-授权认证服务器基于将来自运营商运营平台的信息解密后获得的唯一性标志信息来确定相应第一功能模块的权限,并基于所确定的权限生成第一授权码信息及第二授权码信息,并将所述第一授权码信息及第二授权码信息加密后发送给所述运营商运营平台;
-所述运营商运营平台的权限管理单元将接收的信息解密后获得的第二授权码信息提供给相应的第二功能模块,第一授权码信息予以存储并发送给所述终端设备;
-所述终端设备相应的第一功能模块基于所述第一授权码信息开始运行,第一监控单元监控第一功能模块是否超出权限;
-所述运营商运营平台的第二功能模块基于所述第二授权码信息开始运行,第二监控单元监控第二功能模块是否超出权限。
如上所述,本发明的物联网软件功能模块授权方法及系统,具有以下有益效果:可应用于整个物联网的软件的单个功能、功能点进行授权,授权方式灵活、安全、可靠,并可实现按需授权。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1至图2。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,本发明提供一种物联网软件功能模块授权系统。所述授权系统1至少包括:至少一个终端设备11、运营商运营平台12以及授权认证服务器13。
每一个终端设备11均设置有由软件开发商所提供的第一软件模块,以便完成一个或多个功能。
所述第一软件模块至少包括:授权请求单元111、授权码获取单元112、至少一个第一功能模块113、及至少一个第一监控单元114。
所述授权请求单元111基于相关信息来形成唯一性标志信息,并基于所述唯一性标志信息及预定公钥及私钥来生成授权请求信息,并发送该授权请求信息。
其中,所述相关信息包括与终端设备相关的信息,优选地,包括但不限于:1)终端设备的MAC地址;2)终端设备的第一软件模块的身份信息;3)终端设备的通信账号;4)终端设备的加密狗信息;5)终端设备的用户帐号密码信息;6)终端设备的硬盘序列号等。
所述授权请求单元111获取所述相关信息的方式包括但不限于:由自身所属的终端设备的系统中获取等。
其中,预定公钥及私钥由软件开发商预先提供,即第一软件模块安装在终端设备中的同时,在该第一软件模块中配置有预定公钥及私钥。该预定公钥可以是与运营商运营平台12进行数据通信时需要采用的密钥,预定私钥为与终端设备11进行数据通信时需要采用的密钥。
所述授权码获取单元112获取基于所述授权请求信息反馈回的第一授权码信息。
其中,所述第一授权码信息包括第一功能模块的使用权限信息,优选地,包括但不限于:使用时间、使用次数、安装机器数、安装次数、用户数、强制认证周期等信息。所述第一授权码信息由所述授权认证服务器13通过运营商运营平台12来提供。
每一第一功能模块113均能完成一个子功能,例如,第一功能模块113a为计数器功能模块,可完成访问量的统计功能;又例如,第一功能模块113b为访客留言功能模块,可实现留言实时发布、删除等功能。
其中,各第一功能模块113可以均属于同一个软件,也可以部分第一功能模块113属于同一个软件,而另一部分第一功能模块113属于其他软件等。
各第一监控单元114基于所述第一授权码信息来监控正在运行的各第一功能模块113是否超出授权范围。
优选地,一个第一监控单元监控一个第一功能模块113。
所述运营商运营平台12通过第一网络与各终端设备11通信。优选地,所述运营商运营平台12包括一台或多台计算机设备,用于处理各终端设备11的授权请求,提供终端设备11中的各功能模块的第一授权码信息,向所述授权认证服务器发送授权请求,并获取授权码信息,提供运营商运营平台12中各功能模块的第二授权码信息等。其中,所述第一网络包括互联网等。
所述运营商运营平台12至少包括:至少一个第二功能模块121、至少一个权限管理单元122、至少一个第二监控单元123。
各权限管理单元122用于接收来自所述授权认证服务器13的第一及第二授权码信息,并基于预定公钥及私钥解密授权请求信息后所得的唯一性标志信息,向终端设备11提供相应的第一授权码信息等。
其中,第二授权码信息包括第二功能模块的使用权限信息,优选地,包括但不限于:使用时间、使用次数、安装机器数、安装次数、用户数、强制认证周期等信息。
各第二功能模块121基于第二授权码信息向相应的第一功能模块113提供相应的服务。
其中,所述服务包括但不限于查询服务等。
优选地,一个或多个第二功能模块121、权限管理单元122安装在一台计算机设备中,由此,所述运营商运营平台12为基于云计算(CloudComputing)的由大量计算机设备构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机设备集组成的一个超级虚拟计算机。
优选地,每一第二功能模块121与一个第一功能模块113相对应。
各第二监控单元123基于所述第二授权码信息来监控正在运行的各第二功能模块122是否超出授权范围。
所述授权认证服务器13通过第二网络与所述运营商运营平台12通信,优选地,所述第二网络包括互联网、移动网络等。所述授权认证服务器13由软件开发商所控制及使用,其基于唯一性标识信息来生成第一授权码信息,向所述运营商运营平台12提供第一授权码信息、第二授权码信息及公钥与私钥等。
上述授权系统1的工作过程如图2所示:
首先,软件开发商在发行软件时,先在安装有其软件的终端设备11中通过多种方式设定终端设备私钥、运营商运营平台公钥、授权管理服务器地址等;并向运营商授权管理服务器发放运营商运营平台私钥,也可以根据需要可以发放终端设备的公钥和相应第一授权码信息等。
随后,在步骤S1中,当终端设备11的第一软件模块中的一个第一功能模块或多个第一功能模块需要授权时,终端设备11的授权请求单元111基于相关信息来形成唯一性标志信息,并基于所述唯一性标志信息及终端设备私钥与运营商运营平台公钥来生成授权请求信息,并发送该授权请求信息。
其中,所述相关信息在前述图1所示的实施例中已有详述,在此不再重述。
接着,在步骤S2中,运营商运营平台12的权限管理单元122采用终端设备私钥与运营商运营平台公钥将接收的授权请求信息解密后,基于解密后的授权请求信息中的唯一性标志信息,在自身所属的运营商运营平台12的授权码库中进行查询,若查询到对应的第一授权码信息,则将所述第一授权码信息反馈回所述终端设备11,否则将所述唯一性标志信息用运营商运营平台私钥加密后发送给授权认证服务器13。
接着,在步骤S3中,授权认证服务器13将来自运营商运营平台12的信息解密后,由解密后的信息中的唯一性标志信息来确定相应第一功能模块与第二功能模块的权限,并基于所确定的权限生成第一授权码信息及第二授权码信息,并将所述第一授权码信息及第二授权码信息加密后发送给所述运营商运营平台12。
具体地,若授权认证服务器13确定相应第一功能模块无授权,则生成无授权的第一授权码信息及无授权的第二授权码信息,并在加密后提供给运营商运营平台12;若确定相应第一功能模块具有授权,则基于使用时间、使用次数等权限信息来生成第一授权码信息及第二授权码信息,并在加密后提供给运营商运营平台12。
接着,在步骤S4中,所述运营商运营平台12的权限管理单元122将接收的信息解密后获得的第一及第二授权码信息予以存储,将第一授权码信息发送给所述终端设备11。
接着,在步骤S5中,所述终端设备11相应的第一功能模块基于所述第一授权码信息开始运行,第一监控单元监控第一功能模块是否超出权限,例如,是否超出使用时间等等。
在步骤S6中,所述运营商运营平台的第二功能模块基于所述第二授权码信息开始运行,第二监控单元监控第二功能模块是否超出权限。
作为一种优选方式,前述授权系统1的第一软件模块还包括修改单元。该修改单元基于来自所述授权认证服务器的修改信息来修改第一授权码信息,以便相应的第一监控单元基于修改后的第一授权码信息来监控相应的第一功能模块。
也就是,授权认证服务器11将基于诸如使用时间、使用次数等的修改信息生成的第一及第二授权码信息加密后发送给所述运营商运营平台12;所述运营商运营平台12的权限管理单元122将接收的信息解密后获得的修改信息,来修改相应的第二授权码信息,并将所述修改信息发送给所述终端设备11;所述终端设备11的修改单元基于接收的修改信息来修改相应的第一授权码信息。
综上所述,本发明的物联网软件功能模块授权方法及系统相对于现有技术,具有以下优点:
1)同时针对物联网运营商平台和用户终端进行授权;
2)根据物联网系统功能特点,可以针对物联网系统内功能模块进行独立授权;
3)系统授权的认证在服务器端完成,避开内存补丁,注册机等相关破解工具对所授权的系统进行破解。
4)可以灵活使用MAC地址、功能模块的数字ID、通信账号或硬盘序列号等信息组成唯一性标志,保证系统授权认证的安全性。
5)实现了按需授权,针对不同用户、不同运营商的需求对不同的模块进行授权。
6)方便开发商进行版本管理,开发商只要使用一个版本,通过修改授权码的变换,就可以给不同用户提供不同应用;
7)便于开发商了解软件应用情况,在此基础上可以删除不受用户欢迎的模块,增加用户欢迎的墨苦熬,以便进一步改善软件,增加收入。
所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。