基于设备管理协议的软件合法性验证系统及验证方法

文档序号:7954737阅读:132来源:国知局
专利名称:基于设备管理协议的软件合法性验证系统及验证方法
技术领域
本发明涉及基于设备管理协议的软件合法性验证系统及验证方法,尤其是基于设备管理协议并通过在服务器端和终端设备设置安全验证机制来进行软件合法性验证的系统及其对软件合法性进行验证的方法。
背景技术
随着无线通信技术的发展,传统的软件安装方式对于移动终端来说已显得太过复杂,现在已经出现了通过空中下载(简称OTA)的方式直接将数据包从无线通信网络中下载到移动终端,并自动运行的技术,这即是设备管理(Device Management,简称DM),这种新的网络技术能够自行的完成后续的安装和配置,同时也可以将运营商需要的业务信息和终端功能信息从终端自动的传递到网络侧的服务器,从而实现了软件从安装到配置双向的自动化流程。
在现有的开放移动联盟的设备管理规范中(即OMA DM),提供了一种用于在终端设备上软件组件的下载和安装的机制,并设置设备管理系统对终端设备上的软件组件进行管理。这种管理操作包括终端设备参数设置、固件更新、软件安装和升级、故障诊断以及备份恢复等。如图1所示,为DM系统的整体结构示意图,在图1中,终端设备1的DM代理2(DM Agent)用于解释和执行DM服务器5下发的管理命令。终端设备1中存储有一种DM管理树3,可作为DM服务器5通过DM协议对终端设备1进行管理的接口,在DM管理树3中包括一些基本的管理对象4,DM服务器5就是通过对DM管理树3中的管理对象4进行操作来实现控制终端资源的目的的。
具体来讲,对于软件组件的管理可以通过对终端设备上的软件组件管理对象的添加、删除和修改等操作来实现。这些软件可以是可执行应用程序、动态链接库或者UI界面等。如图2所示,为DM软件组件管理对象的结构示意图,从图中可以看出,DM软件组件管理对象呈一种树状的结构排列,其中内部节点11(Interior)是软件组件管理对象的根节点;目录节点12(Inventory)内存储已下载或已安装到终端设备上的软件组件信息;配置节点13(Deployed)内存储已安装配置到终端设备上的软件组件信息;已接收节点14(Delivered)内存储已下载到终端设备上的软件组件信息;下载节点15(Download)内存储准备下载的软件组件的相关信息;占位符节点17内存储具体的单个的软件组件;在占位符节点17之后还有很多子节点18,这里不详细介绍,用省略号代替;扩展节点16(Extension)是扩展节点,留作以后扩展用。
这种管理机制对于软件的安装和使用是高效的,但是在这个过程中,会涉及到软件提供商和运营商是否能从软件的发布和提供相应服务中获取利润的问题。这个问题具体来讲大概有以下几个方面用户终端在未知的情况下获取服务器下发的软件,可能未经过运营商或软件提供商的许可和认证;可能会出现盗版问题,即非法的传播、复制和使用未授权的软件,软件提供商可能会因此造成极大的损失,而用户也可能会不自觉的使用到这些盗版的软件产品;对于一些运营商来讲,基于某种软件提供服务,并进行相应计费和收费,但现有的机制中没有对软件使用进行有效控制和管理的手段,另外有些运营商想通过使用时限来控制收费的时间,仅仅通过现有的技术手段仍难以实现。

发明内容
本发明的目的是针对现有的DM系统对软件的下载安装机制在合法性认证上的缺陷,提出了一种基于设备管理协议的软件合法性验证系统,以及对应于该软件合法性验证系统的验证方法,能够对DM系统的下载安装机制进行合理的补充,实现软件在安装前的合法性检查以及对使用用户的合法性检查。
为实现上述目的,本发明提供了一种基于设备管理协议的软件合法性验证系统,包括设备管理服务器,用于通过网络服务接口(Web ServiceInterface,简称WSI)从软件提供商获得软件,并根据设备管理协议向终端设备下发软件并进行管理;终端设备,与所述设备管理服务器以设备管理接口进行连接,该终端设备包括一设备管理代理,用于解释和执行设备管理服务器下发的管理命令,在所述终端设备中还包括一存储有验证信息的设备管理信息存储模块,以及一验证模块,用于根据所述验证信息对软件进行合法性验证。
在上述技术方案中,验证模块可以具体为数字版权管理代理(DigitalRights Management,简称DRM),其由设备管理代理调用,并与数字版权管理服务器通信连接,用于对软件安装进行数字版权的验证。终端设备还可以包括一系列的使能部件,例如软件更新代理、空中下载代理以及智能卡管理使能部件等,软件更新代理与所述设备管理代理相连,用于软件的安装更新使能操作;空中下载代理与所述设备管理代理以及空中下载服务器相连,用于从所述空中下载服务器中下载数据;智能卡管理使能部件与所述设备管理代理相连,用于执行智能卡的管理操作。
在设备管理代理中还可以包括大对象下载组件,用于对字节数超过规定数字的数据进行下载。
在上述技术方案中,验证模块可以根据验证方法的不同与终端设备中的其它功能模块进行整合,例如与所述设备管理代理一体设置,或者与存储在所述终端设备中的软件组件一体设置,用于使所述软件组件具备验证功能。
为实现上述目的,本发明提供了一种基于设备管理协议采用统一加密方式的软件合法性验证方法,其包括以下步骤
步骤1,终端设备获取软件包并执行安装程序;步骤2,设备管理代理读取所述软件包中的加密信息以及设备管理信息存储模块或智能卡中的验证密码,并根据验证机制进行验证;步骤3,判断是否通过合法性验证,是则继续安装,否则根据用户返回的信息来确定退出安装或继续安装。
其中步骤1还可以具体为步骤1a,终端设备通过设备管理协议或通过计算机下载或智能卡或Web方式获取软件;步骤1b,所述终端设备判断所述软件是否通过设备管理协议获得,是则由设备管理代理执行安装程序,否则所述设备管理代理监测软件的安装。
在上述技术方案中,所述步骤1a中终端设备通过设备管理协议获取软件时,所述设备管理服务器生成软件的验证密码和加密信息,然后将所述验证密码下发到所述终端设备的设备管理信息存储模块或智能卡上,并将加密信息与所述软件封装。
为实现上述目的,本发明提供了一种基于设备管理协议采用注册码方式的软件合法性验证方法,其包括以下步骤步骤1’,终端设备获取软件,并执行安装程序;步骤2’,设备管理代理读取设备管理信息存储模块或智能卡中存储的注册码信息,并从所述注册码信息提取出验证信息,然后将所述验证信息发送给软件进行验证;步骤3’,判断是否通过合法性验证,是则继续安装,否则退出安装。
在上述技术方案中,步骤1’具体为步骤1a’,终端设备通过设备管理协议或通过计算机下载或智能卡或Web方式获取软件;步骤1b’,所述终端设备判断所述软件是否通过设备管理协议获得,是则由设备管理代理执行安装程序并结束操作,否则执行步骤1c’;步骤1c’,所述设备管理代理监测软件的安装,当监测到安装程序启动时,所述设备管理代理模块启动验证功能;步骤1d’,所述终端设备将软件信息映射到所述设备管理信息存储模块中;步骤1e’,所述设备管理代理模块将所述软件信息上报给设备管理服务器,所述设备管理服务器生成所述软件的注册码,并下发到所述终端设备的设备管理信息存储模块中。
在所述步骤1a’中,终端设备通过设备管理协议获取软件时,为所述软件增加密钥验证功能,然后将所述终端设备的设备标识信息或用户标识信息与原始密钥结合生成注册码信息,并下发到所述终端设备的设备管理信息存储模块中;这时所述步骤2’具体为设备管理代理读取设备管理信息存储模块或智能卡中存储的注册码信息,并根据所述设备标识信息或用户标识信息从所述注册码信息提取出所述原始密钥,然后将所述原始密钥发送给软件进行验证。
又或者在所述步骤1a’中,终端设备通过设备管理协议获取软件时,根据所述终端设备的设备标识信息或用户标识信息生成注册码信息,并为所述软件增加解码和验证功能,然后将所述注册码信息下发到所述终端设备的设备管理信息存储模块中;所述步骤2’具体为设备管理代理读取设备管理信息存储模块或智能卡中存储的注册码信息,并将注册码信息及设备标识信息或用户标识信息传递给软件,软件从所述注册码信息中提取出所述设备标识信息或用户标识信息,并与传递进来的设备标识信息或用户标识信息进行对比验证。
为实现上述目的,本发明提供了一种基于设备管理协议采用数字版权管理方式的软件合法性验证方法,其包括以下步骤
步骤1”,终端设备获取软件,并执行安装程序;步骤2”,设备管理代理调用数字版权管理代理对所述软件进行数字版权验证;步骤3”,判断是否通过合法性验证,是则继续安装,否则退出安装。
在上述技术方案中,步骤1”可以具体为步骤1a”,终端设备通过设备管理协议或通过计算机下载或智能卡或Web方式获取软件;步骤1b”,所述终端设备判断所述软件是否通过设备管理协议获得,是则由设备管理代理执行安装程序,否则所述设备管理代理监测软件的安装。
而当步骤1a”中终端设备通过设备管理协议获取软件时,所述数字版权管理服务器将软件以数字版权管理内容格式进行打包,再将打包后的软件与版权对象以分开或整合的方式传给设备管理服务器,然后所述设备管理服务器下发到终端设备的设备管理信息存储模块。
这时,步骤2”可以具体为步骤2a”,设备管理代理对数字版权管理代理进行调用;步骤2b”,所述数字版权管理代理判断所述终端设备中是否存有版权对象,是则执行步骤2c”,否则向所述数字版权管理代理服务器发送获取版权对象的请求,并获取版权对象;步骤2c”,所述数字版权管理代理根据所述版权对象对软件进行验证,并将验证结果返回给所述设备管理代理。
基于上述的技术方案,本发明具有以下优点1、本发明在原有的基于DM协议的终端设备上增加了验证模块,提供了软件安装合法性验证的功能,实现了对运营商许可和软件提供商许可的认证。
2、本发明采用三种合法性验证的机制对软件进行验证,增强了用户的体验,并能很好的根据计费策略、功能使用等方面进行各细致的区分。
3、本发明采用三种合法性验证的机制对软件进行验证,既有利于软件提供商的控制和管理,同时也避免了盗版软件的问题,保证了软件使用的合法性。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为DM系统的整体结构示意图。
图2为DM软件组件管理对象的结构示意图。
图3为本发明软件合法性验证系统的一实施例的结构示意图。
图4为本发明软件合法性验证系统的另一实施例的结构示意图。
图5为本发明采用统一加密方式进行软件合法性验证的方法的基本流程示意图。
图6为本发明采用统一加密方式进行软件合法性验证时验证信息存储于设备管理信息存储模块中的位置示意图。
图7为本发明采用统一加密方式进行软件合法性验证的方法的一个实施例的流程示意图。
图8为本发明采用统一加密方式进行软件合法性验证的方法的另一实施例的流程示意图。
图9为本发明采用注册码进行软件合法性验证的方法的基本流程示意图。
图10为本发明采用注册码进行软件合法性验证时验证信息存储于设备管理信息存储模块中的位置示意图。
图11为本发明采用注册码进行软件合法性验证的方法的一个实施例的流程示意图。
图12为本发明采用注册码进行软件合法性验证的方法的另一实施例的流程示意图。
图13为本发明采用DRM技术进行软件合法性验证的方法的基本流程示意图。
具体实施例方式
对于DM软件安装更新服务中出现的合法性问题,本发明在终端设备和DM服务器两端加入对应的合法性验证机制以构造新的软件合法性验证系统,并根据具体的要求在下面列举的实施例中公开了几种基于改造后的软件合法性验证系统的合法性验证方法。
现有的DM软件安装更新服务所涉及的系统主要包括两大部分,即终端侧的终端设备、网络侧的DM服务器,这两种设备通过DM协议进行通信,为了实现软件合法性验证,就需要在设备中增加新的功能模块来实现,本发明是以这样的方式实现的在终端设备中增加一个验证模块6,并相应的在DM服务器内增加了验证机制管理模块,如图3所示,为本发明软件合法性验证系统的一实施例的结构示意图,其中终端设备1内包括设备管理信息存储模块3(即DM管理树)和DM代理2,DM代理2通过DM接口与DM服务器5相连,用于解释和执行DM服务器5下发的管理命令,在DM代理2中包括有软件组件管理模块,对软件组件进行管理;设备管理信息存储模块3与DM代理2相连,其作用是存储用户终端的软件和硬件运行参数,在设备管理信息存储模块3中可存储验证软件合法性的验证信息,DM代理2作为终端设备1的DM功能的执行模块,与设备管理信息存储模块3相连,根据DM服务器5的命令从设备管理信息存储模块3提取或者向设备管理信息存储模块3存储软件信息或者一些厂家设置的硬件信息。终端设备1中还包括一个验证模块6,与设备管理信息存储模块3和DM代理2相连,其作用是对软件进行合法性验证,验证模块可以作为一个终端设备中单独的功能模块存在,也可以根据合法性验证的方式与设备管理信息存储模块或DM代理中的组件进行整合,在实际中对应于该验证模块,DM服务器中还需设置一验证机制管理模块,向下发的软件内加入合法性验证机制,然后再将这种合法性验证机制与终端设备中的相应验证信息进行匹配,从而实现合法性验证的功能。其中下发的软件是由DM服务器通过WSI接口从软件提供商获得的。
如图4所示,为本发明软件合法性验证系统的另一实施例的结构示意图,在本实施例中采用DRM代理6’作为实现合法性验证功能的验证模块,而DRM的验证功能需要网络侧的DRM服务器的配合,DRM代理6’可以对软件进行数字版权管理,具体的数字版权认证过程见下面的DRM合法性验证方法的实施例。在上述技术方案中,验证模块可以根据验证方法的不同与终端设备中的其它功能模块进行整合,例如嵌入于所述设备管理代理,或者嵌入于存储在所述终端设备中的软件组件,用于使所述软件组件具备验证功能。在终端设备中除了设备管理信息存储模块3、DM代理2以及DRM代理6’之外,还包括实现一些具体功能的功能模块,例如软件更新代理9、空中下载(Download Over The Air,简称DLOTA)代理7和智能卡管理使能部件(Smart Card Management Enabler),其中软件更新代理9与DM代理2中的软件组件管理模块相连,作用是对软件的软件进行安装、升级等;DLOTA代理7与DM代理2连接,其作用根据DLOTA协议与DLOTA服务器8进行通信;智能卡管理使能部件,与DM代理2相连,可以使终端设备对智能卡进行管理,例如将软件的验证信息存储在智能卡中,当DM代理2进行软件合法性验证时,能够通过智能卡管理使能部件来调用智能卡中存储的相关验证信息;在DM代理2中还可以包括用于下载大对象的大对象下载组件,这里的大对象通常是指字节数超过规定的大小的软件或者其他数据包等。DM代理2作为中心组件能够根据DM服务器5的指令调用各种功能组件,例如DM服务器5向终端设备发送下载某个软件的指令,DM代理2会调用DLOTA代理7,再由DLOTA代理7通过DLOTA协议从DLOTA服务器8中下载该软件的数据包。
基于上述两个软件合法性验证系统,本发明提出了三种验证机制来完成软件合法性验证的实现,包括通过统一加密机制验证软件是否已经过网络侧的DM服务器的许可、通过注册码来验证终端设备对软件的使用是否合法以及利用DRM技术来验证终端设备对软件的使用是否合法,这三种验证机制可以同时使用,也可以使用其中至少一种。这三种验证机制总的方法流程为DM服务器通过WSI接口从软件提供商获取软件;DM服务器对软件进行打包操作,并且在软件包中加入验证机制,对应于每一种验证机制来讲,可能是添加用于验证的数字签名,或者添加用于验证的注册码,或者使用DRM技术为软件增加版权对象;DM服务器将添加验证机制的软件包发送给终端设备;终端设备启动软件安装,这种启动方式可以由DM服务器下发安装命令,也可由用户启动安装程序;终端设备调用内部的验证模块对软件的被验证信息进行合法性验证,这种合法性验证包括两种方面软件本身的合法性验证以及设备对软件使用的合法性验证,在具体的实现中,可以对至少一种验证方面进行合法性验证;如果验证通过,则继续软件的安装流程,如果未通过,可以直接退出安装操作,或者对用户进行相应的提示,或者到服务器去寻找注册码或版权对象。在上述方法流程中,如果在启动安装前,软件并非是通过DM接口进行空中下载获得的,而是通过PC机、存储卡或Web站点等途径获取的,那么从安装操作开始后的验证流程仍与上述方法流程相同。
现在通过具体的实施例对三种验证机制进行说明,首先是采用统一加密方式进行合法性验证,软件安装程序的启动与软件的获得途径有关,如果是从DM服务器上通过DM接口获取的,软件信息以及验证信息会预先存储在设备管理信息存储模块中,然后由DM代理启动软件安装;而如果软件并非来自于DM途径,而是例如来自PC机、智能卡以及Web站点时,则可由用户自行启动安装,系统监测安装程序的运行,然后执行以下步骤终端设备获取软件包并执行安装程序;设备管理代理读取所述软件包中的加密信息以及设备管理信息存储模块或智能卡中的验证密码,并根据验证机制进行验证;判断是否通过合法性验证,是则继续安装,否则根据用户返回的信息来确定退出安装或继续安装。
如图5所示,为本发明采用统一加密方式进行软件合法性验证的方法的基本流程示意图,终端设备在通过设备管理协议或通过计算机下载或智能卡或Web方式获取软件后,执行以下步骤,包括步骤101,判断该软件是否是根据DM协议获得的,是则执行步骤104,否则执行步骤102;步骤102,由用户启动该软件的安装程序;步骤103,DM代理对软件安装进行监控,当安装程序运行时,DM代理执行验证功能,然后执行步骤105;步骤104,DM代理自行启动软件安装程序,并执行步骤105;步骤105,DM代理监测到安装程序运行,则读取设备管理信息存储模块或智能卡中的验证信息;步骤106,DM代理读取软件中的验证信息;步骤107,DM代理将验证信息与被验证信息进行比较验证;步骤108,判断该软件的合法性验证是否通过,是则继续安装,否则执行步骤109;步骤109,对用户进行提示,即提醒用户该软件非法,是否继续安装,如果用户确认,则继续安装,如果用户放弃,则退出安装程序。
在上述使用统一加密机制的技术方案中,如果设备管理信息存储模块上未存储有软件的验证信息,或者存储的是错误的验证信息,则会导致匹配失败的结果。由于通常DM代理会将验证信息存储在设备管理信息存储模块的固定区域,即使该区域中没有存储验证信息,在DM代理提取验证信息的时候也会提取出初始值或者空值,因此同样会导致匹配失败。这种验证信息除了可以存储在设备管理信息存储模块中,还可以存储于智能卡中,例如SIM/USIM卡等,而且这两种存储方式是可以同时存在的,如果设备管理信息存储模块上的验证信息无法与被验证信息匹配,则可以对用户进行提示,用户可以在知情的状况下选择是否使用非法的软件,除此之外,还可以使用户可以去选择智能卡中的验证信息进行验证,如果智能卡上存储有正确的验证信息,则可以继续完成安装。
当验证信息存储在设备管理信息存储模块时,可以存储在任意节点内,但通常存储于特定的位置以方便调用,如图6所示,为本发明采用统一加密方式进行软件合法性验证时验证信息存储于设备管理信息存储模块中的位置示意图,验证信息被存储在已接收节点后的密码节点19。
如图7所示,为本发明采用统一加密方式进行软件合法性验证的方法的一个实施例的流程示意图,步骤包括步骤201,DM服务器中的验证机制管理模块为软件包添加一段数据包头,并对数据包头使用MD5算法生成128位的摘要。验证机制管理模块将摘要作为认证密码预先下发到终端设备的设备管理信息存储模块上,即图6中的密码节点。
步骤202,验证机制管理模块将数据包头和软件数据一起被封装在DM消息包里,由DM服务器下发到终端设备的管理树上。
步骤203,验证机制管理模块下发软件安装命令给终端设备,或是用户启动软件安装。
步骤204,终端设备的DM代理在执行软件安装命令前,读取管理树上的密码,接着使用MD5算法从数据包头中计算出摘要值,如果摘要值和密码相同,终端设备就可以确认软件包是由运营商下发的,是经过运营商许可的。
步骤205,如果验证通过,软件继续安装;如果验证没通过,向用户发出提示信息,并结束安装。
如果用户下载到设备上的软件没有这一段数据包头或有错误,认证将不会通过,说明软件没有经过管理方的认证许可。DM服务器中的验证机制管理模块可以为所有的软件都添加同样的包头,在所有的用户终端存储同样的摘要,达到认证的目的。这个简单的实施例仅仅解决了认证问题,不能用于防范数据包头被复制、伪造的情况。
除了以上的加密算法可以实现统一加密以外,还可以使用非对称加密算法实现,在非对称加密算法中比较有名的是RSA(Rivest ShamirAdleman)算法。如图8所示,为本发明采用统一加密方式进行软件合法性验证的方法的另一实施例的流程示意图,具体验证过程如下步骤301,DM服务器中的验证机制管理模块生成一对密钥,包括一个公钥和一个私钥。验证机制管理模块将公钥预先下发到终端设备的管理树上,即图6中的密码节点19。
步骤302,验证机制管理模块从软件数据中生成一个128位的散列值(或报文摘要),例如使用MD5算法来生成,并使用私钥对这个散列值进行加密形成自己的数字签名。然后,这个数字签名和软件数据一起被封装在DM消息包里,由DM服务器下发到终端设备的管理树上。
步骤303,验证机制管理模块下发软件安装命令给终端设备,或是用户启动软件安装。
步骤304,终端设备的DM代理在执行软件安装命令前,读取管理树上的公钥,用公钥对报文中附加的数字签名进行解密,得到解密的散列值,接着从软件数据中计算出(例如使用MD5算法)散列值,如果两个散列值相同,终端设备就可以确认软件包是由运营商下发的,是经过运营商许可的。
步骤305,如果验证通过,软件继续安装;如果验证没通过,向用户发出提示信息,并结束安装。
在上述技术方案中,公钥存储于终端是公开的,不用担心其安全性,私钥是管理方专用的,只有用私钥加密的数据才能用公钥成功解密。这样,没有经过管理方认证的纯软件在终端侧是无法通过公钥认证的。对于这种密码验证机制,还有其他的实现方式。比如,密码机制可以不存储在设备管理信息存储模块上,而是存储在其他DM代理可以访问到的地方,比如作为DM代理的一个功能模块存在或者智能卡中。或者终端设备可以不单独存储密码,而是存储一段密码验证程序,直接用这个程序对软件进行验证,具体这些实现方式取决于终端设备的结构。无论使用什么加密算法或者将验证信息存储在终端内任何地方,都应覆盖在本发明的技术构思中。
采用统一加密机制只能实现统一的认证,比如对运营商许可的认证,却无法实现对软件的差异化认证和版权保护。为此本发明还提出了采用注册码进行软件合法化验证的方法,即由软件来验证授权许可,来实现版权控制。例如,某个软件是付费的,软件提供商会为软件配有一个注册码,软件在安装时或者首次使用前会验证这个注册码,验证通过后才让用户安装或使用。这个注册码可以根据需要与终端设备的标识信息,如国际移动设备识别号(International Mobile Equipment Identity,简称IMEI)、国际(international mobile subscriber identity,简称IMSI)、移动台国际ISDN号码(Mobile Station international ISDN number,简称MSISDN)等相结合,因为只有这样,注册码才能控制在本终端设备上使用,而对别的设备无效,从而实现防拷贝、防盗版的功能。本发明中所说的注册码是泛指用于软件安装、使用时的验证码,包括但不限于注册码、授权码、序列号(Serial Number)、密钥(Key)、安装码、用户名(User Name)、密码(Password)、License等各种验证形式。
注册码机制与统一加密机制相比具有一定的区别前者对于不同的软件,注册码是不同的,而后者对不同的软件,加密机制是一样的;前者是由下载到终端设备上的软件对注册码进行验证,而后者是由终端设备上的DM Agent用加密机制对软件进行验证;前者主要是对运营商许可的验证,而后者主要是软件提供商提供许可的验证。
与上一种验证机制相同,软件安装程序的启动与软件的获取途径有关,如果软件从DM途径获取的,软件信息会存储在设备管理信息存储模块上,DM服务器的验证机制管理模块会先为软件生成一个与终端设备标识信息相关联的注册码,并将包含注册码的软件包发下到该终端设备,然后由DM代理启动软件的安装过程;如果软件是从非DM途径获取的,例如从PC机、智能卡或者Web上获取的,这种情况终端设备接收到的软件包是不含注册码信息的,然后由用户启动软件的安装程序,然后再执行以下的操作终端设备获取软件,并执行安装程序;设备管理代理读取设备管理信息存储模块或智能卡中存储的注册码信息,并从所述注册码信息提取出验证信息,然后将所述验证信息发送给软件进行验证;判断是否通过合法性验证,是则继续安装,否则退出安装。
如图9所示,为本发明采用注册码进行软件合法性验证的方法的基本流程示意图,终端设备在通过设备管理协议或通过计算机下载或智能卡或Web方式获取软件后,执行以下步骤步骤401,判断软件是否根据DM协议获得,是则执行步骤402,否则执行步骤403;步骤402,DM代理启动软件安装程序,然后执行步骤409;步骤403,用户自行启动软件的安装程序;步骤404,DM代理对软件安装进行监控,当安装程序运行时,DM代理执行验证功能,然后执行步骤405;步骤405,由于软件提供商或者运营商可能会设定不进行注册码验证,还需要对是否进行注册码验证进行判断,是则执行步骤406,否则继续安装,并结束操作;步骤406,判断是否需要通过DM协议获取注册码,也就是说是否要通过DM途径获取注册码,是则执行步骤407,否则退出安装程序;步骤407,终端设备将终端设备的设备标识信息或者用户标识信息映射到设备管理信息存储模块;步骤408,再由DM代理将设备标识信息或者用户标识信息上报给DM服务器,生成注册码,这种注册码是与该设备的设备标识信息或者用户标识信息绑定的,再将注册码下发给终端设备,存储在设备管理信息存储模块;步骤409,DM代理读取注册码,再进行相应的处理,生成关于该注册码的相关信息,然后将该信息作为参数传给软件安装程序;步骤410,软件利用内部的验证功能对该信息进行验证;步骤411,判断是否验证通过,是则继续安装,否则退出安装程序。
在上述方案中,步骤407中的映射的方法有很多种,例如由底层固件(类似于操作系统)来获取软件的相关信息,比如软件的名称、类型、大小、创建日期等信息,获取时机可以是在软件下载到终端之后,或是在软件安装前,底层固件获取软件信息后,将相关信息传递给DM代理。还有一种可选的方法是由DM代理中的诊断监控Enabler监控到软件的下载、安装,直接获取软件的相关信息。整个注册码的验证过程对于用户而言是透明的,在软件的设置上还可以采用用户输入注册码的方式。
注册码的存储具体可以见图10,图10为本发明采用注册码进行软件合法性验证时验证信息存储于设备管理信息存储模块中的位置示意图,在存储软件信息和注册码时,这两种信息都存储在对应于该软件的节点之下的两个节点中,即用于存储下载到终端的软件组件的标识节点20,以及用于存储下载到终端的软件组件的注册码节点21。如果该软件不需要注册码,则可以取消注册码节点,当安装结束后,也可以将注册码节点21删除。注册码还可以存在设备管理信息存储模块的其他节点下,只是特定的位置有利于形成统一的标准,除了可以将注册码存储在设备管理信息存储模块上,还可以通过其他方式,例如由DM代理从DM服务器上获取、软件自行读取或者由用户输入,而这些方式都应覆盖在本发明的构思当中。
注册码的生成可以由软件提供商,也可以由运营商生成。下面这个实施例是由运营商生成注册码,然后再由终端设备进行验证的例子,如图11所示,为本发明采用注册码进行软件合法性验证的方法的一个实施例的流程示意图,包括以下步骤步骤501,软件提供商先为软件生成一个密钥,并为软件增设验证这个密钥的功能,然后软件提供商将软件和密钥提供给运营商。
步骤502,运营商通过DM服务器使用DM协议从终端设备获取设备的设备标识信息(DevInfo、DevDetail、IMEI等)或用户标识信息(IMSI、MSISDN等)。
步骤503,运营商将软件密钥与设备信息组合起来,形成注册码。组合方法应该是管理方和终端设备共知的,必须是终端设备可以根据该组合方法将注册码拆离的。比如,管理方可以使用IMEI作为密码,对软件的密钥进行加密,作为注册码,加密算法可以采用对称加密算法(如DES等)。
步骤504,运营商将包含有注册码的软件包下发到终端设备的管理树上。
步骤505,终端设备启动软件安装或升级,可以是由服务器下发的命令启动的,也可以是由用户来启动的。
步骤506,终端设备的DM代理读取设备管理信息存储模块上的注册码,并根据设备信息和相关算法将注册码拆离为软件的原始密钥,比如以IMEI号作为密码对注册码使用DES算法进行解密,得到软件的原始密钥。
步骤507,终端设备的DM Agent将软件密钥传递给软件,由软件对密钥进行验证,如果验证通过,继续安装,如果验证没通过,则进行后续处理。
在这种方法中,注册码不是软件的原始密钥,必须由DM代理根据设备的硬件信息对注册码解密才能得到原始密钥,这样,即使软件和注册码同时被拷贝到别的终端设备上,这个注册码也会由于别的设备的硬件信息不同,而导致解密出错误的原始密钥,从而无法通过认证。因此,这种注册码机制可以保证授权的唯一性,避免拷贝和盗版。
还可以由软件提供商生成注册码,再由终端设备进行验证,如图12所示,为本发明采用注册码进行软件合法性验证的方法的另一实施例的流程示意图,其详细步骤为步骤601,运营商从终端设备获取设备的设备标识信息或用户标识信息,运营商提供各终端设备的信息给软件提供商,比如IMEI号。
步骤602,软件提供商根据这个IMEI号生成一个唯一的注册码,并为软件配备相应的解码及验证功能。生成注册码的方法应该是可逆的,这样软件才能由解码算法从注册码得到IMEI号。这个编解码算法只要保证软件提供商和软件双方都认可就可以了。例如进行简单的移位、加减法等。
步骤603,软件提供商将软件与注册码提供给运营商,运营商将其下发到终端设备的管理树上。
步骤604,终端设备中的DM代理启动软件安装或升级,可以是由DM服务器下发的命令启动的,也可以是由用户来启动的。
步骤605,DM代理将设备的IMEI号传递给软件的安装程序,软件根据解码算法,提取注册码里面的IMEI信息,与DM代理传递的IMEI信息进行比较,如果一致,则认证通过。
步骤606,如果验证通过,继续安装,如果验证没通过,则进行后续处理。
由于IMEI号是全球唯一的,即使是同样的注册码和软件,在别的设备上是无法认证通过的,因此采用这种机制,可以有效防止拷贝、盗版。在上述使用注册码的两个实施例中注册码在验证未通过后,还可以通过用户自行输入注册码,或者连接到DM服务器获取新的注册码进行验证。
本发明还公开了一种与DRM技术结合的验证方式,DRM技术所需要验证的信息是版权对象(Rights Object,简称RO),RO是存储在设备管理信息存储模块中的,至于验证的过程通常有三种Forward-lock(转发锁定)方式、Combined delivery(组合分发)方式、Separate delivery(分开分发)方式,其中转发锁定方式不需要RO。管理方利用DRM系统对软件打包,使软件成为受保护的内容。然后用DM服务器将以DRM格式封装的软件下发、存储到终端的设备管理信息存储模块上,设备就可以根据一系列默认的版权规则来对软件进行安装使用,再由终端上的DRM代理来保证终端无法对被保护内容进行转发,这样就避免了对软件的拷贝、盗版。
组合分发方式是将内容与RO一起下发到终端设备的方式。DRM系统可以对软件打包,添加RO,并将软件和RO组合起来下发到终端设备的管理树上,DRM代理可以根据RO来对软件进行认证。内容与RO不能同时被拷贝到别的设备上,这样也可以避免拷贝、盗版。分开分发方式与组合分发方式类似,只是将内容与RO分开发送给终端设备,终端设备根据RO使用被保护的内容。如果终端设备上的软件没有版权对象,需要从DRM服务器寻找版权对象,则DRM代理发起DRM会话,从DRM服务器获取版权对象,例如,通过ROAP协议(Rights Object Acquisition Protocol,版权对象获取协议)等方式。
与上两种验证机制相同,软件安装程序的启动与软件的获取途径有关,如果软件从DM途径获取的,软件信息会存储在设备管理信息存储模块上,DRM服务器还会将RO也一起下发给终端设备,然后由DM代理启动软件的安装过程;如果软件是从非DM途径获取的,例如从PC机、智能卡或者Web上获取的,这种情况终端设备接收到的软件包是不含RO对象的,然后由用户启动软件的安装程序,然后再执行以下操作终端设备获取软件,并执行安装程序;设备管理代理-调用数字版权管理代理对所述软件进行数字版权验证;判断是否通过合法性验证,是则继续安装,否则退出安装。
如图13所示,为本发明采用DRM技术进行软件合法性验证的方法的基本流程示意图,如果终端设备是通过DM协议获取软件,DRM服务器需要先将软件打包成DCF(DRM Content Format)格式,DRM服务器将打包后的软件发给DM服务器,再由DM服务器将内容和RO以分开或整合的方式下发给终端设备,终端设备将软件信息和RO存储在设备管理信息存储模块中,终端设备也可以采用非DM协议的方式获得软件,例如通过PC下载、智能卡或者Web方式获得,然后执行以下步骤步骤701,判断软件是否是根据DM协议获得的,是则执行步骤704,否则执行步骤702;步骤702,由用户启动该软件的安装程序;步骤703,DM代理对软件安装进行监控,当安装程序运行时,DM代理执行验证功能,然后执行步骤705;步骤704,DM代理自行启动软件安装程序,并执行步骤705;步骤705,DM代理对DRM代理进行调用以完成数字版权的检查;步骤706,DRM代理判断终端设备上是否有版权对象,是则执行步骤708,否则执行步骤707;步骤707,DRM代理向DRM代理服务器发送获取版权对象的请求,再由DRM代理服务器将版权对象返回给DRM代理;步骤708,DRM代理根据版权对象对该软件在该终端设备上的实用合法性进行验证,并将验证结果返回给DM代理;步骤709,判断是否通过了数字版权认证,是则继续安装,否则退出安装程序。
在上述技术方案中,由于同一个RO是不能在其它设备上使用的,因此必须由版权发行者(Rights Issuer,简称RI)进行授权认证才能获得RO,因此保证了软件的合法性,防止了盗版。
本发明提供了三种基于DM管理系统的软件合法性验证方法,很方便的对各种情况进行管理,例如通过注册码的验证,来实现运营商和软件提供商对用户的使用权限、计费策略等进行管理;同时也加强了用户的体验,例如根据注册码来给予不同的使用功能,采用不同的计费手段。这些软件合法性检验方法避免了盗版软件的问题,降低了用户非法使用软件的风险,避免了非法软件的传播,特别是采用DRM技术保证了软件使用的合法性。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所述领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种基于设备管理系统的软件合法性验证系统,包括设备管理服务器,用于通过WSI接口从软件提供商获得软件,并根据设备管理协议向终端设备下发软件并进行管理;终端设备,与所述设备管理服务器以设备管理接口进行连接,其特征在于该终端设备包括一设备管理代理,用于解释和执行设备管理服务器下发的管理命令,在所述终端设备中还包括一存储有验证信息的设备管理信息存储模块,以及一验证模块,用于根据所述验证信息对软件进行合法性验证。
2.根据权利要求1所述的软件合法性验证系统,其特征在于所述验证模块具体为数字版权管理代理,其由所述设备管理代理调用,并与数字版权管理服务器进行通信连接,用于对软件进行数字版权的验证。
3.根据权利要求1所述的软件合法性验证系统,其特征在于所述验证模块与所述设备管理代理一体设置。
4.根据权利要求1所述的软件合法性验证系统,其特征在于所述验证模块与存储在所述终端设备中的软件组件一体设置。
5.一种基于设备管理协议采用统一加密方式的软件合法性验证方法,其特征在于包括以下步骤步骤1,终端设备获取软件包并执行安装程序;步骤2,设备管理代理读取所述软件包中的加密信息以及设备管理信息存储模块或智能卡中的验证密码,并根据验证机制进行验证;步骤3,判断是否通过合法性验证,是则继续安装,否则根据用户返回的信息来确定退出安装或继续安装。
6.根据权利要求5所述的软件合法性验证方法,其特征在于所述步骤1具体为步骤1a,终端设备通过设备管理协议或通过计算机下载或智能卡或Web方式获取软件;步骤1b,所述终端设备判断所述软件是否通过设备管理协议获得,是则由设备管理代理执行安装程序,否则所述设备管理代理监测软件的安装。
7.根据权利要求5所述的软件合法性验证方法,其特征在于所述步骤3具体为判断是否通过合法性验证,是则继续安装,否则所述终端设备向用户发出所述软件非法的提示信息;根据用户返回的信息判断是否为确认,是则继续安装,否则退出安装。
8.根据权利要求6所述的软件合法性验证方法,其特征在于所述步骤1a中终端设备通过设备管理协议获取软件时,所述设备管理服务器生成软件的验证密码和加密信息,然后将所述验证密码下发到所述终端设备的设备管理信息存储模块或智能卡上,并将所述加密信息与所述软件封装。
9.一种基于设备管理协议采用注册码方式的软件合法性验证方法,其特征在于包括以下步骤步骤1’,终端设备获取软件,并执行安装程序;步骤2’,设备管理代理读取设备管理信息存储模块或智能卡中存储的注册码信息,并从所述注册码信息提取出验证信息,然后将所述验证信息发送给软件进行验证;步骤3’,判断是否通过合法性验证,是则继续安装,否则退出安装。
10.根据权利要求9所述的软件合法性验证方法,其特征在于所述步骤1’具体为步骤1a’,终端设备通过设备管理协议或通过计算机下载或智能卡或Web方式获取软件;步骤1b’,所述终端设备判断所述软件是否通过设备管理协议获得,是则由设备管理代理执行安装程序并结束操作,否则执行步骤1c’;步骤1c’,所述设备管理代理监测软件的安装,当监测到安装程序启动时,所述设备管理代理模块启动验证功能;步骤1d’,所述终端设备将软件信息映射到所述设备管理信息存储模块中;步骤1e’,所述设备管理代理模块将所述软件信息上报给设备管理服务器,所述设备管理服务器生成所述软件的注册码,并下发到所述终端设备的设备管理信息存储模块中。
11.根据权利要求10所述的软件合法性验证方法,其特征在于所述步骤1d’之前还包括以下步骤步骤1b1’,判断软件是否需要注册码验证,是则继续安装,否则执行步骤1b2’;步骤1b2’,判断软件是否需要通过设备管理协议从所述设备管理服务器获取注册码,是则执行步骤1d’,否则退出安装。
12.根据权利要求9所述的软件合法性验证方法,其特征在于,所述步骤2’中设备管理代理读取设备管理信息存储模块或智能卡中存储的注册码信息具体为设备管理代理读取设备管理信息存储模块或智能卡中存储的由设备管理服务器下发的注册码信息,该注册码信息与终端设备的设备标识信息或用户标识信息绑定。
13.根据权利要求10所述的软件合法性验证方法,其特征在于所述步骤1a’中终端设备通过设备管理协议获取软件时,为所述软件增加密钥验证功能,然后将所述终端设备的设备标识信息或用户标识信息与原始密钥结合生成注册码信息,并下发到所述终端设备的设备管理信息存储模块中;所述步骤2’具体为设备管理代理读取设备管理信息存储模块或智能卡中存储的注册码信息,并根据所述设备标识信息或用户标识信息从所述注册码信息提取出所述原始密钥,然后将所述原始密钥发送给软件进行验证。
14.根据权利要求10所述的软件合法性验证方法,其特征在于所述步骤1a’中终端设备通过设备管理协议获取软件时,根据所述终端设备的设备标识信息或用户标识信息生成注册码信息,并为所述软件增加解码和验证功能,然后将所述注册码信息下发到所述终端设备的设备管理信息存储模块中;所述步骤2’具体为设备管理代理读取设备管理信息存储模块或智能卡中存储的注册码信息,并将注册码信息及设备标识信息或用户标识信息传递给软件,软件从所述注册码信息中提取出所述设备标识信息或用户标识信息,并与传递进来的设备标识信息或用户标识信息进行对比验证。
15.一种基于设备管理协议采用数字版权管理方式的软件合法性验证方法,其特征在于包括以下步骤步骤1”,终端设备获取软件,并执行安装程序;步骤2”,设备管理代理调用数字版权管理代理对所述软件进行数字版权验证;步骤3”,判断是否通过合法性验证,是则继续安装,否则退出安装。
16.根据权利要求15所述的软件合法性验证方法,其特征在于所述步骤1”具体为步骤1a”,终端设备通过设备管理协议或通过计算机下载或智能卡或Web方式获取软件;步骤1b”,所述终端设备判断所述软件是否通过设备管理协议获得,是则由设备管理代理执行安装程序,否则所述设备管理代理监测软件的安装。
17.根据权利要求16所述的软件合法性验证方法,其特征在于所述步骤1a”中终端设备通过设备管理协议获取软件时,所述数字版权管理服务器将软件以数字版权管理内容格式进行打包,再将打包后的软件与版权对象以分开或整合的方式传给设备管理服务器,然后所述设备管理服务器下发到终端设备的设备管理信息存储模块。
18.根据权利要求17所述的软件合法性验证方法,其特征在于所述步骤2”具体为步骤2a”,设备管理代理对数字版权管理代理进行调用;步骤2b”,所述数字版权管理代理判断所述终端设备中是否存有版权对象,是则执行步骤2c”,否则向所述数字版权管理代理服务器发送获取版权对象的请求,并获取版权对象;步骤2c”,所述数字版权管理代理根据所述版权对象对软件进行验证,并将验证结果返回给所述设备管理代理。
全文摘要
本发明涉及一种基于设备管理系统的软件合法性验证系统,包括设备管理服务器和终端设备,在所述终端设备中包括设备管理代理,还包括一存储有验证信息的设备管理信息存储模块,以及一验证模块。本发明还涉及三种基于设备管理协议采用统一加密方式、注册码以及数字版权管理方式的软件合法性验证方法。本发明在原有的基于DM协议的终端设备上增加了验证模块,提供了软件安装合法性验证的功能,并采用三种合法性验证的机制对软件进行验证,能很好的根据计费策略、功能使用等方面进行各细致的区分,既有利于软件提供商的控制和管理,同时也避免了盗版软件的问题,保证了软件使用的合法性。
文档编号H04L12/24GK1866870SQ20061003398
公开日2006年11月22日 申请日期2006年2月23日 优先权日2006年2月23日
发明者李克鹏, 柴晓前, 何江水, 董晓艺 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1