著录项信息
专利名称 | 插件模块验证宿主模块合法性的方法、系统及设备 |
申请号 | CN200910140407.3 | 申请日期 | 2009-05-06 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2009-10-07 | 公开/公告号 | CN101552676 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L9/32 | IPC分类号 | H;0;4;L;9;/;3;2;;;H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 阿里巴巴集团控股有限公司 | 申请人地址 | 英属开曼群岛大开曼岛
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 阿里巴巴集团控股有限公司 | 当前权利人 | 阿里巴巴集团控股有限公司 |
发明人 | 张利明;周夏衍;闻波 |
代理机构 | 北京同达信恒知识产权代理有限公司 | 代理人 | 郭润湘 |
摘要
本发明实施例公开了一种插件模块验证宿主模块合法性的方法,该方法包括:服务器端生成宿主模块的身份标识信息,并将该身份标识信息发送给所述宿主模块;所述宿主模块向插件模块发送携带所述身份标识信息的加载请求,所述插件模块接收到所述加载请求后,向服务器端发送携带所述身份标识信息的验证请求;服务器端接收到所述验证请求后,利用所述身份标识信息对所述宿主模块进行合法性验证,并将验证结果返回给所述插件模块。本发明实施例还公开了一种插件模块验证宿主模块合法性的系统及装置。采用本发明,能够实现了插件模块对宿主模块的合法性验证,并且插件模块的实现复杂度较低。
1.一种插件模块验证宿主模块合法性的方法,其特征在于,该方法包括:
服务器端生成宿主模块的身份标识信息,并将该身份标识信息发送给所述宿主模块;
所述宿主模块是指制定了插件的接入规范并供插件运行的载体;
服务器端接收插件模块发送的携带从宿主模块发送的加载请求中提取出的身份标识信息的验证请求;
服务器端利用所述身份标识信息对所述宿主模块进行合法性验证,并将验证结果返回给所述插件模块。
2.如权利要求1所述的方法,其特征在于,在服务器端生成宿主模块的身份标识信息之前,该方法进一步包括:
所述服务器端接收宿主模块发送的用户登录本宿主模块时输入的帐户信息;
服务器端根据所述帐户信息对所述用户进行身份验证。
3.如权利要求1或2所述的方法,其特征在于,所述服务器端生成宿主模块的身份标识信息包括:
服务器端生成虚拟身份标识并保存,利用散列算法计算所述虚拟身份标识的散列值;
将计算得到的散列值作为所述宿主模块的身份标识信息。
4.如权利要求3所述的方法,其特征在于,所述服务器端利用所述身份标识信息对所述宿主模块进行合法性验证包括:
服务器端利用散列算法计算保存的各虚拟身份标识的散列值;判断所述验证请求中携带的散列值是否包含在计算得到的散列值中,若是,则对所述宿主模块的合法性验证通过,否则,对所述宿主模块的合法性验证失败。
5.如权利要求3所述的方法,其特征在于,在服务器端生成所述虚拟身份标识之后,该方法进一步包括:
服务器端保存生成的虚拟身份标识与所述宿主模块所在客户端的物理身份标识的对应关系;
服务器端接收插件模块发送的携带所述客户端的物理身份标识的验证请求;
服务器端从保存的虚拟身份标识与物理身份标识的对应关系中查找所述验证请求中携带的物理身份标识,若未查找到,则对所述宿主模块的合法性验证失败;若查找到,则:
根据散列算法计算查找到的物理身份标识对应的虚拟身份标识的散列值,比较计算得到的散列值与所述验证请求中携带的散列值是否一致,若是,则对所述宿主模块的合法性验证通过,否则,对所述宿主模块的合法性验证失败。
6.如权利要求5所述的方法,其特征在于,该方法进一步包括:
服务器端定时检查保存的虚拟身份标识与物理身份标识的对应关系是否过期,若是,则将过期的对应关系删除。
7.一种插件模块验证宿主模块合法性的方法,其特征在于,该方法包括:
插件模块接收宿主模块发送的携带身份标识信息的加载请求;所述宿主模块是指制定了插件的接入规范并供插件运行的载体;
所述插件模块向服务器端发送携带所述身份标识信息的验证请求;
所述插件模块接收服务器端返回的验证结果;
其中,所述身份标识信息是由服务器端生成,并发送给所述宿主模块。
8.一种插件模块验证宿主模块合法性的系统,其特征在于,该系统包括:
服务器,用于生成宿主模块的身份标识信息,并将该身份标识信息发送给所述宿主模块;接收到插件模块发来的验证请求后,利用该验证请求中携带的身份标识信息对所述宿主模块进行合法性验证,并将验证结果返回给所述插件模块;所述宿主模块是指制定了插件的接入规范并供插件运行的载体;
宿主模块,用于向插件模块发送加载请求,该加载请求中携带所述服务器发来的身份标识信息;
插件模块,用于在接收到所述加载请求后,向服务器发送验证请求,该验证请求中携带所述加载请求中所携带的身份标识信息。
9.如权利要求8所述的系统,其特征在于,所述宿主模块还用于:
将用户登录本宿主模块时输入的帐户信息发送给服务器;
所述服务器还用于:根据所述帐户信息对所述用户进行身份验证;在对所述用户的身份验证通过后,生成宿主模块的身份标识信息。
10.如权利要求8或9所述的系统,其特征在于,所述服务器用于:
生成虚拟身份标识并保存,利用散列算法计算所述虚拟身份标识的散列值;将计算得到的散列值作为所述宿主模块的身份标识信息。
11.如权利要求10所述的系统,其特征在于,所述插件模块还用于:
将所述宿主模块所在客户端的物理身份标识携带在所述验证请求中;
所述服务器还用于:
保存生成的虚拟身份标识与所述客户端的物理身份标识的对应关系;
在接收到所述验证请求后,从保存的虚拟身份标识与物理身份标识的对应关系中查找所述验证请求中携带的物理身份标识,若未查找到,则对所述宿主模块的合法性验证失败;
若查找到,则根据散列算法计算查找到的物理身份标识对应的虚拟身份标识的散列值,比较计算得到的散列值与所述验证请求中携带的散列值是否一致,若是,则对所述宿主模块的合法性验证通过,否则,对所述宿主模块的合法性验证失败。
12.一种服务器,其特征在于,该服务器包括:
标识生成单元,用于生成宿主模块的身份标识信息;所述宿主模块是指制定了插件的接入规范并供插件运行的载体;
标识发送单元,用于将所述身份标识信息发送给所述宿主模块;
合法性验证单元,用于在接收到插件模块发来的验证请求后,利用该验证请求中携带的身份标识信息对所述宿主模块进行合法性验证,并将验证结果返回给所述插件模块。
13.如权利要求12所述的服务器,其特征在于,该服务器还包括:
身份验证单元,接收所述宿主模块发来的用户登录该宿主模块时输入的帐 户信息,根据所述帐户信息对所述用户进行身份验证;
所述标识生成单元用于:在对所述用户的身份验证通过后,生成宿主模块的身份标识信息。
14.如权利要求12或13所述的服务器,其特征在于,所述标识生成单元包括:
逻辑标识单元,用于生成虚拟身份标识并保存;
散列值单元,用于利用散列算法计算所述虚拟身份标识的散列值;将计算得到的散列值作为所述宿主模块的身份标识信息。
15.如权利要求14所述的服务器,其特征在于,所述服务器还包括:
保存单元,用于保存所述逻辑标识单元生成的虚拟身份标识与客户端的物理身份标识的对应关系;
所述合法性验证单元用于:
在接收到所述验证请求后,从保存的虚拟身份标识与物理身份标识的对应关系中查找所述验证请求中携带的物理身份标识,若未查找到,则对所述宿主模块的合法性验证失败;
若查找到,则根据散列算法计算查找到的物理身份标识对应的虚拟身份标识的散列值,比较计算得到的散列值与所述验证请求中携带的散列值是否一致,若是,则对所述宿主模块的合法性验证通过,否则,对所述宿主模块的合法性验证失败。
16.一种插件模块,其特征在于,该插件模块包括:
加载请求接收单元,用于接收宿主模块发来的加载请求,该加载请求中携带宿主模块的身份标识信息;所述宿主模块是指制定了插件的接入规范并供插件运行的载体;其中,所述身份标识信息是由服务器端生成,并发送给所述宿主模块;
验证请求发送单元,用于向服务器端发送验证请求,该验证请求中携带所述身份标识信息;
用于接收服务器端返回的验证结果的模块。
17.如权利要求16所述的插件模块,其特征在于,该插件模块还包括:
身份标识加载单元,用于获取客户端的物理身份标识,并将该物理身份标识携带在所述验证请求中。
插件模块验证宿主模块合法性的方法、系统及设备 \n技术领域\n[0001] 本申请涉及数据安全领域,尤其涉及一种插件模块验证宿主模块合法性的方法、系统及设备。 \n背景技术\n[0002] 客户端上的宿主模块往往需要加载一些插件模块,宿主模块是指制定了插件的接入规范并供插件运行的载体,插件模块是指能够运行于宿主模块、并非宿主模块本身所必须的功能或业务模块。 \n[0003] 为了防止非法或伪装的宿主模块加载插件模块,在加载前,需要由插件模块对宿主模块的合法性进行验证。具体验证方法主要有以下两种: \n[0004] 第一种,采用对称算法进行验证。 \n[0005] 例如,宿主模块和插件模块双方约定一个明码,宿主模块对该明码进行加密,插件模块对宿主模块加密后的密文进行解密,并将解密后的数据和约定的明码进行比较,若比较两者一致,则验证通过,否则,验证失败。 \n[0006] 第二种,采用非对称算法进行验证。 \n[0007] 例如,宿主模块生成一对密钥,其中公钥随证书公开发布,私钥保密。宿主模块使用自己的私钥加密插件模块提供的或者约定的明文,然后将加密后的密文发送给插件模块,插件模块若使用宿主模块发布的公钥能够成功解密宿主模块发来的密文,则对宿主模块的验证成功,否则,对宿主模块的验证失败。 \n[0008] 在实现本申请的过程中,发明人发现现有技术中存在如下技术问题: [0009] 对于上述两种插件模块对宿主模块的验证方法,具体验证过程在客户端进行,客户端需要进行复杂的运算,插件模块也需要执行密钥值计算或解密操作等,实现复杂度较高。 \n发明内容\n[0010] 本申请实施例提供一种验证宿主模块合法性的方法、系统及设备,用于简化插件对宿主模块合法性验证时插件的实现复杂度。 \n[0011] 本申请实施例提供一种插件模块验证宿主模块合法性的方法,该方法包括: [0012] 服务器端生成宿主模块的身份标识信息,并将该身份标识信息发送给所述宿主模块; \n[0013] 所述宿主模块向插件模块发送携带所述身份标识信息的加载请求,所述插件模块接收到所述加载请求后,向服务器端发送携带所述身份标识信息的验证请求; [0014] 服务器端接收到所述验证请求后,利用所述身份标识信息对所述宿主模块进行合法性验证,并将验证结果返回给所述插件模块。 \n[0015] 本申请实施例提供一种插件模块验证宿主模块合法性的系统,该系统包括: [0016] 服务器,用于生成宿主模块的身份标识信息,并将该身份标识信息发送给所述宿主模块;接收到插件模块发来的验证请求后,利用该验证请求中携带的身份标识信息对所述宿主模块进行合法性验证,并将验证结果返回给所述插件模块; \n[0017] 宿主模块,用于向插件模块发送加载请求,该加载请求中携带所述服务器发来的身份标识信息; \n[0018] 插件模块,用于在接收到所述加载请求后,向服务器发送验证请求,该验证请求中携带所述加载请求中所携带的身份标识信息。 \n[0019] 本申请实施例提供一种服务器,该服务器包括: \n[0020] 标识生成单元,用于生成宿主模块的身份标识信息; \n[0021] 标识发送单元,用于将所述身份标识信息发送给所述宿主模块; [0022] 合法性验证单元,用于在接收到插件模块发来的验证请求后,利用该验证请求中携带的身份标识信息对所述宿主模块进行合法性验证,并将验证结果返回给所述插件模块。 \n[0023] 本申请实施例提供一种插件模块,该插件模块包括: \n[0024] 加载请求接收单元,用于接收宿主模块发来的加载请求,该加载请求中携带宿主模块的身份标识信息;所述宿主模块是指制定了插件的接入规范并供插件运行的载体;其中,所述身份标识信息是由服务器端生成,并发送给所述宿主模块; \n[0025] 验证请求发送单元,用于向服务器端发送验证请求,该验证请求中携带所述身份标识信息; \n[0026] 用于接收服务器端返回的验证结果的模块。 \n[0027] 本申请中,由服务器端生成宿主模块的身份标识信息并发给宿主模块,宿主模块在需要加载插件模块时,将身份标识信息携带在加载请求中发送给插件模块,插件模块将加载请求中的身份标识信息发送给服务器端,服务器端根据接收到的身份标识信息对宿主模块进行验证,并将验证结果返回给插件模块,从而通过服务器实现了插件模块对宿主模块的合法性验证,插件模块并不需要执行密钥值计算或解密等复杂操作,实现复杂度较低。 [0028] 附图说明\n[0029] 图1为本申请实施例所提供方法的流程示意图; \n[0030] 图2为本申请实施例所提供系统的结构示意图; \n[0031] 图3为本申请实施例所提供服务器的结构示意图; \n[0032] 图4为本申请实施例所提供宿主模块的结构示意图; \n[0033] 图5为本申请实施例所提供插件模块的结构示意图; \n[0034] 图6为本申请结合图2所示系统的实施例流程示意图。 \n[0035] 具体实施方式\n[0036] 为了简化对宿主模块合法性验证时插件的实现复杂度,本申请实施例提供一种插件模块验证宿主模块合法性的方法,本方法中,由服务器端生成宿主模块的身份标识信息并发给宿主模块,宿主模块在需要加载插件模块时,将身份标识信息携带在加载请求中发送给插件模块,插件模块将加载请求中的身份标识信息发送给服务器端,服务器端根据接收到的身份标识信息对宿主模块进行验证,并将验证结果返回给插件模块,插件模块可以根据接收到的验证结果决定是否同意宿主模块的加载操作。 \n[0037] 本申请中,宿主模块是指制定了插件的接入规范并供插件运行的载体,例如即时通信软件等。插件模块是指能够运行于宿主模块、并非宿主模块本身所必须的功能或业务模块,例如即时通信软件的安全补丁模块。 \n[0038] 参见图1,本申请实施例提供的插件模块验证宿主模块合法性的方法,具体包括以下步骤: \n[0039] 步骤10:服务器端生成宿主模块的身份标识信息,并将该身份标识信息发送给宿主模块; \n[0040] 步骤11:宿主模块向插件模块发送加载请求,该加载请求中携带服务器端发来的身份标识信息; \n[0041] 步骤12:插件模块接收到宿主模块发来的加载请求后,向服务器端发送验证请求,该验证请求中携带加载请求中所携带的身份标识信息; \n[0042] 步骤13:服务器端接收到插件模块发来的验证请求后,利用该验证请求中携带的身份标识信息对宿主模块进行合法性验证,并将验证结果返回给插件模块。 [0043] 步骤10中,身份标识信息是指能够用来标识宿主模块的数据信息。触发服务器端生成宿主模块的身份标识信息的方式可以有多种,例如,可以是以下两种: [0044] 第一种:用户登录宿主模块时输入帐户信息后,宿主模块将该帐户信息发送给服务器端。服务器端根据接收到的帐户信息对用户进行身份验证,并在对用户的身份验证通过后,生成宿主模块的身份标识信息。该种方式依靠宿主模块的登录系统来确认宿主模块的合法性,一般来说,合法的宿主模块的登录系统是很难被仿冒和逾越的,用户只能通过合法的宿主模块的登录系统才能登录服务器,因此,在对用户的身份验证通过后才为宿主模块生成身份标识信息,安全性较高,并且实现上较简单。 \n[0045] 第二种,宿主模块的使用者携带能够证明宿主模块合法的相关数据(例如宿主模块的序列号)在服务器端进行注册,服务器端根据相关数据资料确认宿主模块合法后,为宿主模块生成身份标识信息。或者,宿主模块被安装在客户端后,客户端主动将能够证明宿主模块合法的相关数据发送给服务器端,服务器端根据相关数据确认宿主模块合法后,为宿主模块生成身份标识信息。 \n[0046] 步骤10中,服务器端生成的宿主模块的身份标识信息可以是但不限于以下两种:\n虚拟身份标识或虚拟身份标识的散列值。其中,虚拟身份标识是随机生成或按照一定的规则生成的一段数据,只需保证本次生成的虚拟身份标识与本次之前生成并保存的虚拟身份标识不同,即保证服务器端保存的各个虚拟身份标识唯一不重复。 \n[0047] 虚拟身份标识的散列值是利用散列算法计算得到的,散列算法可以是任何单向不可逆算法,单向不可逆算法的特征是根据该算法可以计算原数据的散列值,但不能利用该算法计算得到该散列值对应的原数据。单向不可逆算法有SHA1、MD5等算法。 [0048] 在身份标识信息为虚拟身份标识时,服务器端根据验证请求中携带的虚拟身份标识对宿主模块进行合法性验证的具体实现可以有以下两种: \n[0049] 第一种,服务器端在保存的所有虚拟身份标识中查找验证请求中携带的虚拟身份标识,若查找到,则对宿主模块的合法性验证通过,否则,对宿主模块的合法性验证失败。 [0050] 第二种,服务器端在生成宿主模块的虚拟身份标识后,保存该虚拟身份标识与宿主模块和插件模块所在客户端的物理身份标识的对应关系。插件模块向服务器发送的验证请求还携带该客户端的物理身份标识,服务器接收到该验证请求后,判断是否已保存验证请求中携带的虚拟身份标识与物理身份标识的对应关系,若是,则对宿主模块的合法性验证通过,否则,对宿主模块的合法性验证失败。 \n[0051] 在身份标识信息为虚拟身份标识的散列值时,服务器端根据验证请求中携带的散列值对宿主模块进行合法性验证的具体实现也可以有以下两种: \n[0052] 第一种,服务器端利用散列算法计算保存的各虚拟身份标识的散列值;判断验证请求中携带的散列值是否包含在计算得到的散列值中,若是,则对宿主模块的合法性验证通过,否则,对宿主模块的合法性验证失败。 \n[0053] 第二种,服务器端保存生成的虚拟身份标识与宿主模块和插件模块所在的客户端的物理身份标识的对应关系;插件模块向服务器发送的验证请求还携带该客户端的物理身份标识,服务器端接收到该验证请求后,从已保存的虚拟身份标识与物理身份标识的对应关系中查找验证请求中携带的物理身份标识,若未查找到,则对宿主模块的合法性验证失败;若查找到,则根据散列算法计算查找到的物理身份标识对应的虚拟身份标识的散列值,比较计算得到的散列值与验证请求中携带的散列值是否一致,若是,则对宿主模块的合法性验证通过,否则,对宿主模块的合法性验证失败。 \n[0054] 使用虚拟身份标识的散列值作为宿主模块的身份标识信息,与直接使用虚拟身份标识作为宿主模块的身份标识信息相比,安全性较高,因为服务器端可以通过调整散列值的计算方法来防止散列值被窃取,因此静态的虚拟身份标识与虚拟身份标识的散列值更容易被窃取。 \n[0055] 客户端的物理身份标识可以是该客户端的MAC地址、该客户端的硬盘序列号、该客户端的CPU序列号等能够唯一标识该客户端的数据信息。客户端的物理身份标识还可以是MAC地址等能够唯一标识客户端的数据信息与用户 输入的帐户信息的组合,例如MAC地址与用户名的组合。此时,宿主模块还需要将用户输入的帐户信息提供给插件模块。 [0056] 在物理身份标识是能够唯一标识客户端的数据信息与用户输入的帐户信息的组合时,若有多个用户登录同一宿主模块,服务器端保存的虚拟身份标识与物理身份标识的对应关系不会存在多对一的关系,即不会存在多个不同的虚拟身份标识对应同一物理身份标识的关系,那么,服务器端在采用上述身份标识信息为虚拟身份标识的散列值时的第二种验证方法进行验证时,只需计算1次虚拟身份标识的散列值,而不需要计算多次,因此能够有效降低服务器的工作量,提高验证效率。同时,由于用户的帐户信息的引入,即便非法宿主模块窃取了服务器端发给合法宿主模块的虚拟身份标识或虚拟身份标识的散列值,若非法宿主模块窃取不到用户账户信息,将不会通过服务器端的合法性验证。可见,物理身份标识采用能够唯一标识客户端的数据信息与用户输入的帐户信息的组合,能够有效提高本方案的安全性。 \n[0057] 较佳的,服务器端为保存的各条虚拟身份标识与物理身份标识的对应关系设置过期时间,并根据该过期时间定时检查各条对应关系是否过期,若是,则将过期的对应关系删除。这样,能够节省服务器端的存储资源,并且在服务器端根据保存的对应关系验证宿主模块的合法性时,能够有效缩短处理时间。 \n[0058] 本申请中,服务器端生成的宿主模块的身份标识信息并不局限于上述虚拟身份标识和虚拟身份标识的散列值,该身份标识信息可以是任何能够用来标识宿主模块的数据信息。并且,服务器端根据身份标识信息对宿主模块进行合法性验证的方法也不局限于上述提到的四种方法,服务器端可以根据任何预先设置的验证策略进行合法性验证,这样,采用何种方法进行合法性验证并不影响本申请发明目的的实现。 \n[0059] 本申请插件模块验证宿主模块合法性的方法的一种具体应用实例为在即时通讯软件中的应用,即时通讯服务器生成宿主模块的身份标识信息,并将该身份标识信息发送给宿主模块;宿主模块向插件模块发送携带所述身份标识信 息的加载请求;插件模块从所述加载请求中提取出宿主模块的身份标识信息,并向即时通讯服务器发送携带所述身份标识信息的验证请求;即时通讯服务器接收到插件模块发来的验证请求后,利用该验证请求中携带的身份标识信息对宿主模块进行合法性验证,并将验证结果返回给插件模块。 [0060] 参见图2,本申请实施例还提供一种插件模块验证宿主模块合法性的系统,该系统包括: \n[0061] 服务器20,用于生成宿主模块的身份标识信息,并将该身份标识信息发送给所述宿主模块;接收到插件模块发来的验证请求后,利用该验证请求中携带的身份标识信息对所述宿主模块进行合法性验证,并将验证结果返回给所述插件模块; \n[0062] 宿主模块21,用于向插件模块发送加载请求,该加载请求中携带所述服务器发来的身份标识信息; \n[0063] 插件模块22,用于在接收到所述加载请求后,向服务器发送验证请求,该验证请求中携带所述加载请求中所携带的身份标识信息。 \n[0064] 所述宿主模块21还用于: \n[0065] 将用户登录本宿主模块时输入的帐户信息发送给服务器; \n[0066] 所述服务器20还用于:根据所述帐户信息对所述用户进行身份验证;在对所述用户的身份验证通过后,生成宿主模块的身份标识信息。 \n[0067] 所述服务器20用于:生成虚拟身份标识并保存,利用散列算法计算所述虚拟身份标识的散列值;将计算得到的散列值作为所述宿主模块的身份标识信息。 [0068] 所述插件模块22还用于:将所述客户端的物理身份标识携带在所述验证请求中;\n相应的,所述服务器20还用于:保存生成的虚拟身份标识与所述客户端的物理身份标识的对应关系;在接收到所述验证请求后,从保存的虚拟身份标识与物理身份标识的对应关系中查找所述验证请求中携带的物理身份标识,若未查找到,则对所述宿主模块的合法性验证失败;若查找到,则根据散 列算法计算查找到的物理身份标识对应的虚拟身份标识的散列值,比较计算得到的散列值与所述验证请求中携带的散列值是否一致,若是,则对所述宿主模块的合法性验证通过,否则,对所述宿主模块的合法性验证失败。 [0069] 所述服务器20还用于: \n[0070] 定时检查保存的虚拟身份标识与物理身份标识的对应关系是否过期,若是,则将过期的对应关系删除。 \n[0071] 参见图3,本申请实施例还提供一种服务器,可以应用于插件模块验证宿主模块合法性的系统中,该服务器包括: \n[0072] 标识生成单元30,用于生成宿主模块的身份标识信息; \n[0073] 标识发送单元31,用于将所述身份标识信息发送给所述宿主模块; [0074] 合法性验证单元32,用于在接收到插件模块发来的验证请求后,利用该验证请求中携带的身份标识信息对所述宿主模块进行合法性验证,并将验证结果返回给所述插件模块。 \n[0075] 所述服务器还包括: \n[0076] 身份验证单元33,用于接收所述宿主模块发来的用户登录该宿主模块时输入的帐户信息,根据所述帐户信息对所述用户进行身份验证; \n[0077] 所述标识生成单元30用于:在对所述用户的身份验证通过后,生成宿主模块的身份标识信息。 \n[0078] 所述标识生成单元30包括: \n[0079] 逻辑标识单元,用于生成虚拟身份标识并保存; \n[0080] 散列值单元,用于利用散列算法计算所述虚拟身份标识的散列值;将计算得到的散列值作为所述宿主模块的身份标识信息。 \n[0081] 所述服务器还包括: \n[0082] 保存单元34,用于保存所述逻辑标识单元生成的虚拟身份标识与所述宿主模块所在客户端的物理身份标识的对应关系; \n[0083] 所述合法性验证单元32用于: \n[0084] 在接收到所述验证请求后,从保存的虚拟身份标识与物理身份标识的对应关系中查找所述验证请求中携带的物理身份标识,若未查找到,则对所述宿主模块的合法性验证失败;若查找到,则根据散列算法计算查找到的物理身份标识对应的虚拟身份标识的散列值,比较计算得到的散列值与所述验证请求中携带的散列值是否一致,若是,则对所述宿主模块的合法性验证通过,否则,对所述宿主模块的合法性验证失败。 \n[0085] 该服务器还包括: \n[0086] 过期检查单元35,用于定时检查所述保存单元保存的虚拟身份标识与物理身份标识的对应关系是否过期,若是,则将过期的对应关系删除。 \n[0087] 参见图4,本申请实施例还提供一种宿主模块,可以应用于插件模块验证宿主模块合法性的系统中,该宿主模块包括: \n[0088] 身份标识接收单元40,用于接收服务器端发来的宿主模块的身份标识信息; [0089] 加载请求发送单元41,用于向插件模块发送加载请求,该加载请求中携带所述身份标识信息。 \n[0090] 所述宿主模块还包括: \n[0091] 登录信息发送单元42,用于在用户登录所述宿主模块并输入帐户信息后,将该帐户信息发送给所述服务器端。 \n[0092] 参见图5,本申请实施例还提供一种插件模块,可以应用于插件模块验证宿主模块合法性的系统中,该插件模块包括: \n[0093] 加载请求接收单元50,用于接收宿主模块发来的加载请求,该加载请求中携带宿主模块的身份标识信息; \n[0094] 验证请求发送单元51,用于向服务器端发送验证请求,该验证请求中携带所述身份标识信息。 \n[0095] 该插件模块还包括: \n[0096] 身份标识加载单元52,用于获取所述客户端的物理身份标识,并将该物理 身份标识携带在所述验证请求中。 \n[0097] 需要说明的是,本申请中在方法中提及但未在系统、服务器、宿主模块、插件模块中提及的说明同样适用在系统、服务器、宿主模块和插件模块中,例如各标识的定义、生成方式等,这里不再赘述。 \n[0098] 下面结合附图2所示的系统对插件模块验证宿主模块合法性的流程进行说明,如图6所示: \n[0099] 步骤S01:用户在客户端上登录宿主模块,输入用户名和密码信息; [0100] 步骤S02:宿主模块将输入的用户名和密码信息发送给服务器; [0101] 步骤S03:服务器根据接收到的用户名和密码信息对用户进行身份验证, [0102] 步骤S04:在验证通过后,生成宿主模块的虚拟身份标识(clientID),并保存生成的clientID与步骤S01中客户端的MAC地址的对应关系;利用散列算法计算生成的clientID的散列值(clientIDToken); \n[0103] 步骤S05:将计算得到的clientIDToken发送给客户端上的宿主模块; [0104] 步骤S06:宿主模块将接收到的clientIDToken携带在加载请求中发送给插件模块; \n[0105] 步骤S07:插件模块将加载请求中的clientIDToken以及客户端的MAC地址携带在验证请求中发送给服务器; \n[0106] 步骤S08:服务器在已保存的clientID与MAC地址的对应关系中查找验证请求中携带的MAC地址; \n[0107] 步骤S09:判断是否查找到,若查找到,则执行步骤S10,否则,执行步骤S15; [0108] 步骤S10:利用散列算法计算查找到的MAC地址对应的clientID的散列值,并将计算得到的散列值与验证请求中携带的散列值进行比较; \n[0109] 步骤S11:判断比较结果是否为计算得到的散列值与验证请求中携带的散列值一致,若是,则到步骤S12;否则,到步骤S15; \n[0110] 步骤S12:向插件模块发送验证宿主模块合法性通过的通知; \n[0111] 步骤S13:插件模块向宿主模块发送同意加载的通知; \n[0112] 步骤S14:宿主模块执行加载插件模块的操作,流程结束; \n[0113] 步骤S15:向插件模块发送验证宿主模块合法性失败的通知; \n[0114] 步骤S16:插件模块向宿主模块发送拒绝加载的通知,流程结束。 [0115] 综上,本申请的有益效果包括: \n[0116] 本申请实施例提供的方案中,由服务器端生成宿主模块的身份标识信息并发给宿主模块,宿主模块在需要加载插件模块时,将身份标识信息携带在加载请求中发送给插件模块,插件模块将加载请求中的身份标识信息发送给服务器端,服务器端根据接收到的身份标识信息对宿主模块进行验证,并将验证结果返回给插件模块,从而通过服务器实现了插件模块对宿主模块的合法性验证,插件模块并不需要执行密钥值计算或解密等复杂操作,实现复杂度较低。 \n[0117] 为了描述的方便,以上所述系统的各部分以功能分为各种模块或单元分别描述。\n当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。 [0118] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。 \n[0119] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
法律信息
- 2021-04-16
未缴年费专利权终止
IPC(主分类): H04L 9/32
专利号: ZL 200910140407.3
申请日: 2009.05.06
授权公告日: 2012.12.05
- 2012-12-05
- 2009-12-02
- 2009-10-07
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-06-18
|
2007-11-29
| | |
2
| |
2005-04-06
|
2002-11-22
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |