基于云端服务器的软件保护的方法技术

技术编号:7789270 阅读:213 留言:0更新日期:2012-09-21 23:42
本发明专利技术公开了一种基于云的软件保护的方法,通过在云端服务器建立一套应用功能调用体系,实现低成本的软件保护的方法,该方法包括应用功能的调度、应用功能执行、应用数据存储和用户数据存储。该方法是让应用程序经过网络调用云端服务器提供应用功能,然后将云端服务器所处理的结果给应用程序,实现多个应用程序、多个用户共享一个软件保护云的技术方案,因而在没有降低软件保护强度的前提下,降低软件保护的成本。

【技术实现步骤摘要】

本专利技术涉及软件保护领域,具体说是一种利用云端服务器为软件提供保护的方法。
技术介绍
现有技术中,软件保护装置是实现软件安全保护和版权保护的主要手段。软件保护装置特指一种附加在计算机接口(比如,USB接口、串口、并口等接口)上的硬件设备,对运行在计算机上的特定的软件进行软件安全保护和版权保护。现代的软件保护装置,例如USB加密锁,采用高强度智能卡芯片和先进的密码学技术,具有一定的运算和存储能力,同时难以被破解和复制,在高强度软件版权保护中具有广泛的应用。目前,采用软件保护装置进行软件保护的通常的方法是将其视作一个与受保护软 件并行的运算平台,将受保护软件中的一部分功能移植到软件保护装置中执行、实现,从而在受保护软件运行时调用这些功能。因为受保护软件的运行依赖于软件保护装置提供的运算功能(即软件保护装置收到调用请求和相关数据时,通过软件保护装置中的运行时环境运行其内部移植的功能并返回运行结果),而破解者又无法复制硬件形式的软件保护装置,因此很好地保护软件。使用软件保护装置的传统方式是软件开发者给授权的软件使用者提供硬件形式的软件保护装置,软件使用者在使用软件时将其插入运行受保护软件的计算机端口,受保护软件与硬件形式的软件保护装置建立连接,在需要运行被移植功能时向软件保护装置发出调用请求和相关数据,软件保护装置运行其内部被移植的功能代码后返回运行结果,受保护软件接收到数据后继续运行。由于使用软件保护装置需要投入一定的硬件成本,因此造成小型应用程序较难使用硬件形式的软件保护装置来保护小型应用程序。另外,在软件保护装置的发放、更换或升级过程中都涉及硬件的实物交递,会带来软件开发者较高的使用成本。
技术实现思路
有鉴于此,本专利技术提出了一种。—种,受保护软件所在的客户端通过网络与云端服务器通信,所述受保护软件中的至少一部分应用功能设置在云端服务器中,所述云端服务器包括 调度模块,用于根据客户端发出的调用请求,判断是否允许调用相应的应用功能; 应用功能执行模块,用于创建用于所述应用功能的运行时环境、加载应用数据和用户数据,并执行应用功能; 用户数据存储模块,用于存储用户数据; 应用数据存储模块,用于存储应用数据; 所述方法包括如下步骤所述云端服务器中的调度模块接收到受保护软件发出的调用所述云端服务器中的应用功能的请求后,判断用户是否合法并且判断受保护软件是否合法;如果二者都合法,则向应用功能执行模块发出执行通知,通知应用功能执行模块执行相应的应用功能; 应用功能执行模块接收到调度模块的执行通知,加载相应的应用数据和用户数据并创建运行时环境; 执行该应用功能; 将执行该应用功能的处理结果返回给调度模块; 调度模块接收到应用功能执行模块返回的处理结果之后,将处理结果返回给受保护软件。根据本专利技术的一个方面,先判断用户是否是已在云端服务器中注册过的合法用 户; 如果是注册过的合法用户,则判断受保护软件是否已在云端服务器中注册过; 如果受保护软件已在云端服务器中注册过,则判断用户是否是所述受保护软件的合法用户。根据本专利技术的一个方面,应用功能执行模块在接收到调度模块的执行通知之后进行的操作包括 创建应用功能模块的运行时环境; 判断是否需要加载应用数据,如果需要加载,则加载应用数据; 判断是否需要加载用户数据,如果需要加载,则加载用户数据; 执行应用功能,将执行该应用功能的处理结果返回给调度模块; 判断是否需要保存用户数据,如果需要,则保存用户数据; 销毁运行时环境。该方法是让应用程序经过网络调用云端服务器提供应用功能,然后将云端服务器所处理的结果给应用程序,实现多个应用程序、多个用户共享一个软件保护云的技术方案,因而在没有降低软件保护强度的前提下,降低软件保护的成本。附图说明图I :整体结构示意图。图2 :判断用户和应用合法性的流程图。图3 :应用功能执行模块流程图。图4 :实施例I结构示意图。具体实施例方式上述的应用功能包括云端服务器预定义的功能,如数据存储,物品购买等,也可以是应用程序定义的特殊功能。如应用程序开发者提供的模块。如图I所示,云端服务器至少包括调度模块、应用功能执行模块、用户数据存储模块、应用数据存储模块。调度模块,用于调度应用功能的执行。调度模块根据用户端发出的调用请求,确定发出请求的应用程序和该应用程序的用户是否合法。如果合法,则允许调用相应的应用功能。否则返回错误。其中,根据应用程序ID及用户ID或用户名称信息来确认合法,具体流程为用户端发出调用请求,同时会发送应用程序信息例如应用程序ID、应用程序功能ID及用户ID、Name信息,调度模块根据这些信息在数据库中检索是否有对应的应用程序ID及使用该应用程序的用户列表中是否有该用户ID,如果均有则表示为合法。应用功能执行模块,用于创建应用功能的运行时环境(运行时环境指运行移植的功能所需要的配置环境或软件,比如相关的工具包之类)、加载应用数据和用户数据,并执行应用模块(参见图I中的多项应用功能)。上述的创建应用功能运行时环境包含为应用程序映射需要的资源。所谓映射关系就是不同应用与应用资源关系的匹配,将某个应用与该应用下的所有资源信息通过特定方式进行关联。所谓资源指该应用程序所需要的相关信息,包括场景等。为应用程序映射需要的资源即提供一种机制,比如变量或其他的很多设置,只要设置好这些变量与后台资源的对应关系,前端用户就可以只调用该变量而不用关心该变量具体与后台资源是如何对应的,或与后台资源的具体关系或相关运算或存储规则等,从而为用户提供了很大的便利性。根据本专利技术的一个具体实施方式,资源可包括游戏类应用程序中计数值,或其他数据资源。应用功能执行模块通过运行时环境限制应用功能对资源的占用。例如限制或者允许(比如,如果没给该用户映射某些资源,则该用户就无法使用该资源功能)应用功能访问其他应用功能的数据。用户数据存储模块,用于存储用户数据。用户数据是指用户在使用某个应用程序时,该应用程序调用了云端服务器的应用功能而产生的对应于用户的某个应用程序私有的数据。如应用程序通过应用功能保存在云端服务器的数据。应用数据存储模块,用于存储应用数据。应用数据是某个应用程序需要用到的并由该应用程序的所有用户共享的数据,如游戏类应用程序中的场景数据。根据本专利技术的一个具体实施方式,场景数据指应用程序需要用到的相关静态数据,包括但不限于场景、地图数据、背景音乐、图片及其他静态数据等。云端服务器的具体工作流程如下 A :调度模块接收到客户端向云端服务器发送的应用功能的调用请求后,判断用户和应用程序是否合法。如果不合法,返回错误;如果合法,则向应用功能执行模块发出执行通知,通知应用功能执行模块执行相应的应用功能。B :应用功能执行模块接收到调度模块的执行通知,首先加载相应的应用数据。然后加载相应的用户数据。创建运行时环境。然后执行该应用功能。最后返回执行结果给调度模块。C :调度模块返回结果给应用程序。上述调度模块判断判断用户和应用程序是否合法的流程如图2所示 Al :判断用户是否是系统的合法用户。如果不是返回不合法。如果是执行步骤A2。根据本专利技术的一个具体实施方式,通过用户名和密码的形式进行判断。 A2 :判断应用程序是否是在系统内注册过的应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于云端服务器的软件保护的方法,受保护软件所在的客户端通过网络与云端服务器通信,所述受保护软件中的至少一部分应用功能设置在云端服务器中,其特征在于,所述云端服务器包括 调度模块,用于根据客户端发出的调用请求,判断是否允许调用相应的应用功能; 应用功能执行模块,用于创建用于所述应用功能的运行时环境、加载应用数据和用户数据,并执行应用功能; 用户数据存储模块,用于存储用户数据; 应用数据存储模块,用于存储应用数据; 所述方法包括如下步骤 所述云端服务器中的调度模块接收到受保护软件发出的调用所述云端服务器中的应 用功能的请求后,判断用户是否合法并且判断受保护软件是否合法; 如果二者都合法,则向应用功能执行模块发出执行通知,通知应用功能执行模块执行相应的应用功能; 应用功能执行模块接收到调度模块的执行通知,加载相应的应用数据和用户数据并创建运行时环境; 执行该应用功能; 将执行该应用功能的处理结果返回给调度模块; 调度模块接收到应用功能执行模块返回的处...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:北京深思洛克软件技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1