CN102930184B - 一种功能组件加载方法及装置 - Google Patents

一种功能组件加载方法及装置 Download PDF

Info

Publication number
CN102930184B
CN102930184B CN201210401239.0A CN201210401239A CN102930184B CN 102930184 B CN102930184 B CN 102930184B CN 201210401239 A CN201210401239 A CN 201210401239A CN 102930184 B CN102930184 B CN 102930184B
Authority
CN
China
Prior art keywords
functional module
column list
grant column
bag
digital signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210401239.0A
Other languages
English (en)
Other versions
CN102930184A (zh
Inventor
张日华
李世光
王涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210401239.0A priority Critical patent/CN102930184B/zh
Publication of CN102930184A publication Critical patent/CN102930184A/zh
Application granted granted Critical
Publication of CN102930184B publication Critical patent/CN102930184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实例公开了一种功能组件加载方法及装置,涉及电子设备领域,可以对设备功能进行有效的授权控制,提高设备厂商的信息技术安全。本发明的方法包括:检查设备中的功能组件包的数字签名;在通过数字签名检查后,获取所述设备的用户许可证中的授权列表;根据所述授权列表从所述功能组件包中加载对应的功能组件。本发明的实施例主要用于电子设备的功能组件加载过程中。

Description

一种功能组件加载方法及装置
技术领域
本发明涉及电子设备领域,尤其涉及一种功能组件加载方法及装置。
背景技术
电子设备通常由若干功能组件组成,在购买电子设备时,由于使用场景不同、用户群体不同,因而所需功能也会有所差异。
传统的,在设备出厂时可以根据用户需求对设备的功能组件进行人工删选,删除用户未购买的功能组件。但是,如果用户需要在该设备中增加新的功能,则需要技术人员重新封装功能组件,并对设备进行升级更新,增加了设备后期的维护成本。
现有技术中,为了节省设备的后期维护成本,在功能组件包中保留该设备所有功能对应的功能组件,并通过在每个功能组件上添加授权标志,以区分各功能是否对用户可用。具体的,当用户购买了设备中某项功能的使用权限时,则将授权标志设置为已授权,并从功能组件包中获取已授权的功能组件;当用户未购买某项功能的使用权限时,则将授权标志设置为未授权,对用户屏蔽该功能对应的功能组件,不允许获取未授权的功能组件。当用户访问功能组件时,通过查询被访问的功能组件对应的授权标志,以确定是否从功能组件包中加载该功能组件。
在实现上述功能组件加载的过程中,发明人发现现有技术中至少存在如下问题:由于未被授权的功能组件也保留在功能组件包中,所以用户可以通过一些技术手段修改功能组件包中功能组件的代码,从而绕过设备对该功能组件授权标志的检查,从而能够加载未被授权的功能组件,不能对设备功能实现有效的授权控制,设备厂商的信息技术被非法盗用的风险较高。
发明内容
本发明的实施例提供一种功能组件加载方法及装置,可以对设备功能进行有效的授权控制,提高设备厂商的信息技术安全。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明实施例的第一方面,提供一种功能组件加载方法,包括:
检查设备中的功能组件包的数字签名,其中,所述功能组件包中包含所述数字签名和至少一个功能组件,所述数字签名用于表征所述功能组件包中的数据内容;
在通过数字签名检查后,获取所述设备的用户许可证中的授权列表,其中,所述授权列表中包含已获得授权权限的功能组件信息;
根据所述授权列表从所述功能组件包中加载对应的功能组件。
结合第一方面,在一种可能的实现方式中,在所述获取所述设备的用户许可证中的授权列表之后,所述方法还包括:
检查所述授权列表中已获得授权权限的功能组件的权限有效期,其中,所述用户许可证中还包含所述已获得授权权限的功能组件的权限有效期信息;
所述根据所述授权列表从所述功能组件包中加载对应的功能组件,包括:
根据所述授权列表从所述功能组件包中加载对应的在有效期内的功能组件。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,在检查设备中的功能组件包的数字签名之前,还包括:
更新所述用户许可证中的所述权限有效期信息,和/或更新所述用户许可证中的所述授权列表。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述检查设备中的功能组件包的数字签名,包括:
提取所述功能组件包的当前特征值;采用公共密钥解密所述功能组件包中的数字签名,得到所述功能组件包的原始特征值;匹配所述当前特征值和所述原始特征值;若所述当前特征值与所述原始特征值相同,则所述数字签名检查通过;若所述当前特征值与所述原始特征值不相同,则所述数字签名检查不通过。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述根据所述授权列表从所述功能组件包中加载对应的功能组件,包括:
识别出所述授权列表中包含的未加载的新增功能组件;
加载所述新增功能组件。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述根据所述授权列表从所述功能组件包中加载对应的功能组件,还包括:
识别出已加载却不包含在所述授权列表中的过期功能组件;卸载所述过期功能组件。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述根据所述授权列表从所述功能组件包中加载对应的功能组件具体包括:根据所述授权列表将对应的功能组件释放到内存中。
本发明实施例的第二方面,还提供一种功能组件加载装置,包括:
第一检查单元,用于检查设备中的功能组件包的数字签名,其中,所述功能组件包中包含所述数字签名和至少一个功能组件,所述数字签名用于表征所述功能组件包中的数据内容;
获取单元,用于在通过所述第一检查单元进行的数字签名检查后,获取所述设备的用户许可证中的授权列表,其中,所述授权列表中包含已获得授权权限的功能组件信息;
加载单元,用于根据所述获取单元获取的所述授权列表从所述功能组件包中加载对应的功能组件。
结合第二方面,在一种可能的实现方式中,所述功能组件加载装置,还包括:
第二检查单元,用于在所述获取单元获取所述设备的用户许可证中的授权列表之后,检查所述授权列表中已获得授权权限的功能组件的权限有效期,其中,所述用户许可证中还包含所述已获得授权权限的功能组件的权限有效期信息;
所述加载单元,还用于根据所述授权列表从所述功能组件包中加载对应的在有效期内的功能组件。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,所述功能组件加载装置,还包括:
更新单元,用于在所述第一检查单元检查设备中的功能组件包的数字签名之前,更新所述用户许可证中的所述权限有效期信息,和/或更新所述用户许可证中的所述授权列表。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一检查单元,包括:
提取模块,用于提取所述功能组件包的当前特征值;
解密模块,用于采用公共密钥解密所述功能组件包中的数字签名,得到所述功能组件包的原始特征值;
匹配模块,用于匹配所述当前特征值和所述原始特征值;若所述当前特征值与所述原始特征值相同,则所述数字签名检查通过;若所述当前特征值与所述原始特征值不相同,则检查不通过。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,所述加载单元包括:
识别模块,用于识别出所述授权列表中包含的未加载的新增功能组件;
加载模块,用于加载所述识别模块识别出的新增功能组件。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,所述识别模块,还用于识别出已加载却不包含在所述授权列表中的过期功能组件;
所述加载单元,还包括:卸载模块,用于卸载所述识别模块识别出的过期功能组件。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,所述加载单元还用于:根据所述获取单元获取的授权列表将对应的功能组件释放到内存中。
本发明实施例提供的功能组件加载方法及装置,检查设备中的功能组件包的数字签名,在通过数字签名检查后,获取所述设备的用户许可证中的授权列表,根据授权列表从所述功能组件包中加载对应的功能组件,与现有技术中仅在每个功能组件上添加授权标志区分各功能是否被授权相比,可以通过数字签名保护功能组件包的完整性,避免用户采用非法篡改功能组件包中功能组件的程序代码的方式绕过系统对该功能组件的授权权限检查从而从功能组件包中获取未授权的功能组件,提高了设备功能授权控制的有效性以及设备厂商的信息技术安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中的一种功能组件加载方法流程图;
图2为本发明实施例2中的一种功能组件加载方法流程图;
图3为本发明实施例3中的一种功能组件加载装置组成示意图;
图4为本发明实施例3中的另一种功能组件加载装置组成示意图;
图5为本发明实施例4中的一种功能组件加载装置组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种功能组件加载方法,该方法可以由需要加载功能组件的设备自行完成,该设备可以是终端或防火墙等网络设备,在此不做限定。如图1所示,包括:
101、检查设备中的功能组件包的数字签名。
具体的,当设备要加载功能组件时,可以检查自身携带的功能组件包的数据签名,其中,所述数字签名用于表征所述功能组件包中的数据内容,可以是使用非对称加密技术加密通过采用特定算法提取的所述功能组件包的原始特征值,从而得到的一个用以核实所述功能组件包是否发生变化的字符串。其中,所述非对称加密技术中包含两个密钥:公共密钥和私有密钥。所述私有密钥用于在设备出厂时,对所述通过采用特定算法提取的所述功能组件包的原始特征值进行加密。所述公共密钥用于在检查数字签名时,解密所述数字签名,获取所述原始特征值。其中,所述私有密钥绝对保密,而所述公共密钥可以对用户公开。
其中,所述功能组件包中包含所述数字签名和至少一个功能组件,设备厂商可以将设备具备的全部功能组件进行压缩,生成压缩包并存储在设备中。当然,也可以根据设备的配货区域不同等等,选配预存在功能组件包中的功能组件。
102、在通过数字签名检查后,获取所述设备的用户许可证中的授权列表。
其中,所述授权列表中包含有用户已获得授权权限的功能组件信息。所述已获得授权权限的功能组件信息可以包括:所述已获得授权权限的功能组件的名称或标识。进一步的,所述用户许可证中还可以包含用户信息和有效期信息等。
需要说明的是,所述功能组件包和所述用户许可证可以存放在设备的存储介质中,所述存储介质可以是移动存储设备,例如,USB闪存驱动器(USBFlashDisk)、移动硬盘等等。
103、根据所述授权列表从所述功能组件包中加载对应的功能组件。
其中,所述设备在获取所述授权列表后,可以根据所述授权列表中包含的已获得授权权限的功能组件信息,获取所述功能组件包中的相应的功能组件进行加载。所述根据所述授权列表从所述功能组件包中加载对应的功能组件的具体实现方法可以是:根据所述授权列表中对应的已获得授权权限的功能组件的名称或标识,从所述功能组件包的压缩包中解压出对应的功能组件,释放到内存中并启动。或者,也可以释放到内存中暂不启动,当用户触发启动时再启动已释放的功能组件。
其中,所述内存可以是在设备的随机存储器(RandomAccessMemory,RAM)中划分出来的一块虚拟内存,或其他易失性存储介质。例如,可以将功能组件释放到虚拟文件系统(VirtualFileSystem,VFS)中。实际应用中,用户非法获取功能组件时,首先需要通过他人购买的授权权限释放功能组件。传统的将功能组件释放到硬盘等非易失性存储介质中,用户便可以在断电后拆取硬盘并在其他设备上篡改代码。在本发明的实施例中,采用VFS来存放释放的功能组件,由于VFS是易失性存储介质,断电后VFS中的数据无法保留,因此可以以物理隔离的方式对组件进行安全控制。
本发明实施例提供的功能组件加载方法,检查设备中的功能组件包的数字签名,在通过数字签名检查后,获取所述设备的用户许可证中的授权列表,根据授权列表从功能组件包中加载对应的功能组件,与现有技术中通过在每个功能组件上添加授权标志区分各功能是否被授权相比,可以通过数字签名保护功能组件包的完整性,避免用户非法篡改功能组件包后从功能组件包中获取未授权的功能组件,从而保护设备功能授权控制的有效性,提高设备厂商的信息技术安全。
实施例2
本发明实施例提供一种功能组件加载方法,该方法可以由需要加载功能组件的设备完成,该设备可以是终端或防火墙等网络设备,在此不做限定。如图2所示,包括:
201、更新所述用户许可证中的权限有效期信息,和/或更新所述用户许可证中的所述授权列表。
其中,步骤201是可选的,在实际应用时可以不执行步骤201。具体的,当设备要加载功能组件时,可以先更新所述用户许可证中的权限有效期信息和/或更新所述用户许可证中的所述授权列表,所述用户许可证中包含已获得授权权限的功能组件信息,进一步的还可以包含每个已获得授权权限的功能组件的权限有效期信息。所述更新所述用户许可证中的权限有效期信息,和/或更新所述用户许可证中的所述授权列表可以包括:根据用户需求在所述授权列表中增添新功能组件,并在所述权限有效期信息中增添新功能组件的权限有效期信息;根据用户需求延长已获得授权权限的功能组件的权限有效期,将该功能组件的权限有效期信息替换为延长后的权限有效期;或者,当功能组件的权限有效期截止时,在所述授权列表中删除该功能组件的名称或标识,并删除其对应的权限有效期。
例如,若所述用户许可证中的授权列表中包括功能组件A的授权信息和功能组件B的授权信息,对应的,所述用户许可证中的权限有效期信息中包括功能组件A的权限有效期信息和功能组件B的权限有效期信息。更新该用户许可证可以包括:根据用户需求在所述授权列表中增添新功能组件C,同时,对应的在所述权限有效期信息中增添功能组件C的权限有效期信息;根据用户需求延长功能组件A的权限有效期,将功能组件A的权限有效期信息替换为延长后的权限有效期;当功能组件B的权限有效期截止时,在所述授权列表中删除功能组件B的名称或标识,并删除功能组件B的权限有效期。
需要说明的是,所述更新所述用户许可证中的权限有效期信息,和/或更新所述用户许可证中的所述授权列表,包括但不局限于上述条件和方法,本发明实施例不再一一举例。
202、提取所述功能组件包的当前特征值。
其中,可以采用与对所述功能组件包进行所述数字签名时提取所述功能组件包的原始特征值所采用的特定算法相同的算法提取所述功能组件包的当前特征值,具体的可以是;扫描所述功能组件包(包括扫描功能组件包的每一个字符),并根据扫描结果生成该功能组件包的特征值。由于数字签名是可以表征功能组件包中每一个字符内容的特征值,因此,若功能组件包中的功能组件的程序被篡改就会导致当前特征值发生变化。
其中,提取特征值所采用的特定算法可以是任一种哈希算法,例如第五版消息摘要算法(MessageDigestAlgorithm,MD5)或第一版安全散列算法(SecureHashAlgorithm,SHA-1)等。简单的哈希算法可以是,扫描功能组件包中各个功能组件程序的每一个字节,将每一个字节的数值相加(也可以进行相乘、异或等)得到固定长度的一个数值,作为功能组件包的数字签名。其他提取特征值的算法本发明实施例不再一一举例。
203、采用公共密钥解密所述功能组件包中包含的数字签名,得到所述功能组件包的原始特征值。
需要说明的是,在本实施例中步骤202和步骤203的执行不分先后,可以先执行步骤202得到当前特征值,再执行步骤203得到原始特征值;也可以先执行步骤203,再执行步骤202;步骤202和步骤203执行的先后不影响对数字签名的检查结果。
204、匹配所述当前特征值和所述原始特征值;若所述当前特征值与所述原始特征值相同,则所述数字签名检查通过,执行步骤205;若所述当前特征值与所述原始特征值不相同,则所述数字签名检查不通过,执行步骤212。
其中,匹配所述当前特征值和所述原始特征值时,若所述当前特征值与所述原始特征值相同,表示在厂商预制完成后用户设备上存储的功能组件包的内容没有发生变化,即所述功能组件包未被篡改,则所述数字签名检查通过,继续执行步骤205;若所述当前特征值与所述原始特征值不相同,表示在厂商预制完成后用户设备上功能组件包的授权检查代码可能被篡改,例如绕过授权与否的判定或修改判定条件等。为了保证设备提供方的信息技术安全,结束所述功能组件加载流程。例如,用户企图通过技术手段从设备的功能组件包中加载未获得授权权限的功能组件,由于用户的操作会导致功能组件包的内容发生变化,进而采用所述特定算法提取出的功能组件包的特征值也会发生变化,则该特征值与解密所述数字签名得到的原始特征值进行比对的结果表示该功能组件包被篡改过,则不通过数字签名检查。
在实际应用中,具备一定经验的用户可能企图通过一些手段对功能组件的内部程序进行破解,从而修改程序绕过授权权限的检查,打开相应的功能。在本发明的实施例中,为了避免用户篡改功能组件的程序,给设备厂商造成经济损失,当用户修改了功能组件的程序内容时,会造成当前特征值和原始特征值不同的情况,从而阻止非法加载。
205、获取所述设备的用户许可证中的授权列表。
其中,所述授权列表中包含已获得授权权限的功能组件信息。
进一步可选的,为了对已授权的功能组件进行时限管理,适应不同用户对不同功能组件的使用时长需求,可以在授权列表中增加权限有效期的参数,本发明实施例的方法还可以包括步骤206:
206、检查所述授权列表中已获得授权权限的功能组件的权限有效期。
其中,在本发明实施例的一种应用场景中,由于所述授权列表中的所述功能组件的权限有效期存在截止的可能,所以需要检查所述授权列表中已获得授权权限的功能组件的权限有效期,从而仅获取所述权限有效期未截止的功能组件并释放到内存中。
207、根据所述授权列表从所述功能组件包中加载对应的在有效期内的功能组件。
其中,所述设备根据所述授权列表从所述功能组件包中加载对应的在有效期内的功能组件可以包括:根据所述授权列表将对应的在有效期内的所述功能组件从所述功能组件包中释放到内存中,使得所述已释放到所述内存中的所述功能组件对应的功能对用户可见;根据用户的触发启动,或自动启动已释放到内存中的功能组件,从而实现功能组件对应的功能。例如,由于释放到内存中的功能组件可能不止一个,所以可以根据用户的触发选择性地启动所述已释放到内存中的功能组件中的一个或多个。
进一步的,为了确认所述授权列表中包含的所述功能组件与当前内存中以释放的功能组件是否对应,从而依据授权列表更新内存中的功能组件,因此本发明实施例的方法还可以包括:
208、设备识别所述授权列表中包含的未加载的新增功能组件。
其中,由于执行所述更新所述授权列表时,可能会在所述授权列表中新增至少一个功能组件,所以为了减少已释放到所述内存中的功能组件的重复释放,可以对比所述授权列表中的功能组件与所述内存中已释放的功能组件,识别出所述授权列表中包含的未加载的新增功能组件,以便于获取所述新增功能组件并释放到内存中。或者,已释放到所述内存中的功能组件由于不正常操作或者其他故障造成数据丢失的情况下,也可以通过步骤206的方法将授权列表中包含的在内存中丢失的功能组件。
209、加载所述新增功能组件。
其中,经过步骤208的确认,由于所述新增功能组件信息包含在所述授权列表中,却未进行加载,所以可以在识别出所述授权列表中包含的未加载的新增功能组件后,获取所述新增功能组件并释放到内存中。
需要说明的是,所述设备加载所述新增功能组件可以包括:将所述功能组件从所述新增功能组件包中释放到内存中,使得所述已释放到所述内存中的所述新增功能组件对应的功能对用户可见;根据用户的触发启动,或自动启动已释放到内存中的新增功能组件,从而实现功能组件对应的功能。
具体的,由于可以对所述功能组件包中的功能组件进行压缩,并生成压缩包存储在功能组件包中,而在压缩所述功能组件包生成压缩包时,可以使用相应的压缩密码对每一个功能组件进行加密。所述压缩密码还可以在解压所述压缩包时,解密对应的功能组件。所以所述获取所述新增功能组件并释放到内存中的具体实现方法可以是:获取所述新增功能组件的名称或标识以及解压新增功能组件压缩密码,使用该新增功能组件的压缩密码解压功能组件包中与该新增功能组件的名称或标识对应的功能组件,并释放到内存中。其中,所述已获得授权权限的功能组件信息还可以包括:每一个已获得授权权限的功能组件的压缩密码。
210、识别出已加载却不包含在所述授权列表中的过期功能组件。
其中,由于执行所述更新所述授权列表时,之前授权列表中的部分功能组件可能有效期截至,或被取消了授权权限,即存在过期功能组件,所以为了避免用户使用过期的已加载的功能组件对应功能,可以对比所述授权列表中的功能组件与所述内存中已加载的功能组件,确认出已释放到内存中却不包含在所述授权列表中的过期功能组件,以删除过期功能组件。
211、卸载所述过期功能组件。
其中,所述设备卸载所述过期功能组件可以包括两种情况:若所述过期功能组件已经启动(处于运行状态)时,可以先关闭并卸载所述过期功能组件,再删除所述过期功能组件;当所述过期功能组件未经启动(不处于运行状态)时,可以直接从内存中删除所述过期功能组件。
需要说明的是,在本实施例中步骤208-209和步骤210-211的执行不分先后,可以先执行步骤208-209,识别所述授权列表中包含的未加载的新增功能组件,加载所述新增功能组件,再执行步骤210-211,识别出已加载却不包含在所述授权列表中的过期功能组件,卸载所述过期功能组件;也可以先执行步骤210-211,再执行步骤208-209。
212、结束功能组件加载流程。
本发明实施例提供的功能组件加载方法,检查设备中的功能组件包的数字签名,在通过数字签名检查后,获取所述设备的用户许可证中的授权列表,根据授权列表从功能组件包中加载对应的功能组件,与现有技术中通过在每个功能组件上添加授权标志区分各功能是否被授权相比,可以通过数字签名保护功能组件包的完整性,避免用户非法篡改功能组件包后从功能组件包中获取未授权的功能组件,从而保护设备功能授权控制的有效性,提高设备厂商的信息技术安全。
实施例3
本发明实施例提供一种功能组件加载装置,可以应用在用到按需授权的电子设备中,例如终端、防火墙、网关设备、基站、数字电视和机顶盒等等,只要是需要加载功能组件的设备均可,在此不做限定。如图3所示,该功能组件加载装置可以包括:第一检查单元31、获取单元32、加载单元33。
第一检查单元31,用于检查设备中的功能组件包的数字签名,其中,所述功能组件包中包含所述数字签名和至少一个功能组件,所述数字签名用于表征所述功能组件包中的数据内容。
获取单元32,用于在通过所述第一检查单元31进行的数字签名检查后,获取所述设备的用户许可证中的授权列表,其中,所述授权列表中包含已获得授权权限的功能组件信息。
加载单元33,用于根据所述获取单元32获取的所述授权列表从所述功能组件包中加载对应的功能组件。
进一步的,如图4所述,所述功能组件加载装置,还可以包括:第二检查单元34。
第二检查单元34,用于在所述获取单元32在通过数字签名检查后,获取所述设备的用户许可证中的授权列表之后,检查所述授权列表中已获得授权权限的功能组件的权限有效期,其中,所述用户许可证中还包含所述已获得授权权限的功能组件的权限有效期信息。
所述加载单元33,还用于根据所述授权列表从所述功能组件包中加载对应的在有效期内的功能组件。
进一步的,所述功能组件加载装置,还可以包括:更新单元35。
更新单元35,用于在所述第一检查单元31检查设备中的功能组件包的数字签名之前,更新所述用户许可证中的所述权限有效期信息,和/或更新所述用户许可证中的所述授权列表。
进一步的,所述第一检查单元31,包括:提取模块311、解密模块312、匹配模块313。
提取模块311,用于提取所述功能组件包的当前特征值。
解密模块312,用于采用公共密钥解密所述功能组件包中包含的数字签名,得到所述功能组件包的原始特征值。
匹配模块313,用于匹配所述当前特征值和所述原始特征值;若所述当前特征值与所述原始特征值相同,则所述数字签名检查通过;若所述当前特征值与所述原始特征值不相同,则所述数字签名检查不通过。
进一步的,所述加载单元33,可以包括:识别模块331、加载模块332。
识别模块331,用于识别出所述授权列表中包含的未加载的新增功能组件。
加载模块332,用于加载所述识别模块331识别出的新增功能组件。
进一步的,所述识别模块331,还用于识别出已加载却不包含在所述授权列表中的过期功能组件。
所述加载单元33,还可以包括:卸载模块333。
卸载模块333,用于卸载所述识别模块331识别出的过期功能组件。
进一步的,所述加载单元33还用于:根据所述获取单元32获取的授权列表将对应的功能组件释放到内存中。
需要说明的是,本发明实施例提供的功能组件加载装置中部分功能模块的具体描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。
本发明实施例提供的功能组件加载装置,检查功能组件包的数字签名,在通过数字签名检查后,获取用户许可证中的授权列表,根据授权列表获取对应的功能组件并释放到内存中并启动,与现有技术中仅在每个功能组件上添加授权标志区分各功能是否被授权相比,可以通过数字签名保护功能组件包的完整性,避免用户非法篡改功能组件包中的授权检查代码后从功能组件包中获取未授权的功能组件,从而保护设备功能授权控制的有效性,提高设备厂商的信息技术安全。
实施例4
本发明实施例提供一种功能组件加载装置,该装置可以应用在用到按需授权的电子设备中,例如终端、防火墙、网关设备、基站、数字电视和机顶盒等等,只要是需要加载功能组件的设备均可,在此不做限定。如图5所示,包括:处理器41、存储器42。
处理器41,用于检查设备中的功能组件包的数字签名,其中,所述功能组件包中包含所述数字签名和至少一个功能组件,所述数字签名用于表征所述功能组件包中的数据内容;在通过所述数字签名检查后,获取所述设备的用户许可证中的授权列表,其中,所述授权列表中包含已获得授权权限的功能组件信息;根据所述授权列表从所述功能组件包中加载对应的功能组件。
存储器42,用于存储所述处理器41加载的对应的功能组件;存储所述功能组件包和所述授权列表。
进一步的,所述处理器41,还用于在所述获取所述设备的用户许可证中的授权列表之后,检查所述授权列表中已获得授权权限的功能组件的权限有效期,其中,所述用户许可证中还包含所述已获得授权权限的功能组件的权限有效期信息;根据所述授权列表从所述功能组件包中加载对应的在有效期内的功能组件。
所述存储器42,还用于存储所述处理器41加载的对应的在有效期内的功能组件。
进一步的,所述处理器41,还用于在检查设备中的功能组件包的数字签名之前,更新所述用户许可证中的所述权限有效期信息,和/或更新所述用户许可证中的所述授权列表。
所述存储器42,还用于存储所述处理器41更新的所述用户许可证中的所述权限有效期信息;存储所述处理器41更新的所述用户许可证中的所述授权列表。
进一步的,所述处理器41,提取所述功能组件包的当前特征值;采用公共密钥解密所述功能组件包中的数字签名,得到所述功能组件包的原始特征值;匹配所述当前特征值和所述原始特征值;若所述当前特征值与所述原始特征值相同,则检查通过;若所述当前特征值与所述原始特征值不相同,则检查不通过。
进一步的,所述处理器41,还用于识别出所述授权列表中包含的未加载的新增功能组件;加载所述新增功能组件。
所述存储器42,还用于存储所述处理器41加载的所述新增功能组件。进一步的,所述处理器41,还用于识别出已加载却不包含在所述授权列表中的过期功能组件;从所述存储器42中卸载所述过期功能组件。
进一步的,所述处理器41还用于:根据所述授权列表将对应的功能组件释放到内存中。
需要说明的是,本发明实施例提供的功能组件加载装置中部分功能模块的具体描述可以参考实施例1-3中的对应内容,本实施例这里不再详细赘述。
本发明实施例提供的功能组件加载装置,检查功能组件包的数字签名,在通过数字签名检查后,获取用户许可证中的授权列表,根据授权列表获取对应的功能组件并释放到内存中并启动,与现有技术中仅在每个功能组件上添加授权标志区分各功能是否被授权相比,可以通过数字签名保护功能组件包的完整性,避免用户非法篡改功能组件包中的授权检查代码后从功能组件包中获取未授权的功能组件,从而保护设备功能授权控制的有效性,提高设备厂商的信息技术安全。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个设备中,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部,模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种功能组件加载方法,其特征在于,包括:
检查设备中的功能组件包的数字签名,其中,所述功能组件包中包含所述数字签名和至少一个功能组件,所述数字签名用于表征所述功能组件包中的数据内容;
在通过数字签名检查后,获取所述设备的用户许可证中的授权列表,其中,所述授权列表中包含已获得授权权限的功能组件信息;
根据所述授权列表从所述功能组件包中加载对应的功能组件;
其中,所述根据所述授权列表从所述功能组件包中加载对应的功能组件具体包括:根据所述授权列表将对应的功能组件释放到虚拟文件系统VFS中。
2.根据权利要求1所述的功能组件加载方法,其特征在于,在所述获取所述设备的用户许可证中的授权列表之后,所述方法还包括:
检查所述授权列表中已获得授权权限的功能组件的权限有效期,其中,所述用户许可证中还包含所述已获得授权权限的功能组件的权限有效期信息;
所述根据所述授权列表从所述功能组件包中加载对应的功能组件,包括:
根据所述授权列表从所述功能组件包中加载对应的在有效期内的功能组件。
3.根据权利要求2所述的功能组件加载方法,其特征在于,在检查设备中的功能组件包的数字签名之前,还包括:
更新所述用户许可证中的所述权限有效期信息,和/或
更新所述用户许可证中的所述授权列表。
4.根据权利要求1所述的功能组件加载方法,其特征在于,所述检查设备中的功能组件包的数字签名,包括:
提取所述功能组件包的当前特征值;
采用公共密钥解密所述功能组件包中的数字签名,得到所述功能组件包的原始特征值;
匹配所述当前特征值和所述原始特征值;
若所述当前特征值与所述原始特征值相同,则所述数字签名检查通过;
若所述当前特征值与所述原始特征值不相同,则所述数字签名检查不通过。
5.根据权利要求1-4任意一项所述的功能组件加载方法,其特征在于,所述根据所述授权列表从所述功能组件包中加载对应的功能组件,包括:
识别出所述授权列表中包含的未加载的新增功能组件;
加载所述新增功能组件。
6.根据权利要求5所述的功能组件加载方法,其特征在于,所述根据所述授权列表从所述功能组件包中加载对应的功能组件,还包括:识别出所述设备已加载却不包含在所述授权列表中的过期功能组件;
从所述设备中卸载所述过期功能组件。
7.一种功能组件加载装置,其特征在于,包括:
第一检查单元,用于检查设备中的功能组件包的数字签名,其中,所述功能组件包中包含所述数字签名和至少一个功能组件,所述数字签名用于表征所述功能组件包中的数据内容;
获取单元,用于在通过所述第一检查单元进行的数字签名检查后,获取所述设备的用户许可证中的授权列表,其中,所述授权列表中包含已获得授权权限的功能组件信息;
加载单元,用于根据所述获取单元获取的所述授权列表从所述功能组件包中加载对应的功能组件;
其中,所述加载单元,具体用于根据所述授权列表将对应的功能组件释放到虚拟文件系统VFS中。
8.根据权利要求7所述的功能组件加载装置,其特征在于,还包括:
第二检查单元,用于在所述获取单元获取所述设备的用户许可证中的授权列表之后,检查所述授权列表中已获得授权权限的功能组件的权限有效期,其中,所述用户许可证中还包含所述已获得授权权限的功能组件的权限有效期信息;
所述加载单元,还用于根据所述授权列表从所述功能组件包中加载对应的在有效期内的功能组件。
9.根据权利要求8所述的功能组件加载装置,其特征在于,还包括:
更新单元,用于在所述第一检查单元检查设备中的功能组件包的数字签名之前,更新所述用户许可证中的所述权限有效期信息,和/或更新所述用户许可证中的所述授权列表。
10.根据权利要求7所述的功能组件加载装置,其特征在于,所述第一检查单元包括:
提取模块,用于提取所述功能组件包的当前特征值;
解密模块,用于采用公共密钥解密所述功能组件包中的数字签名,得到所述功能组件包的原始特征值;
匹配模块,用于匹配所述当前特征值和所述原始特征值;若所述当前特征值与所述原始特征值相同,则所述数字签名检查通过;若所述当前特征值与所述原始特征值不相同,则所述数字签名检查不通过。
11.根据权利要求7-10任意一项所述的功能组件加载装置,其特征在于,所述加载单元包括:
识别模块,用于识别出所述授权列表中包含的未加载的新增功能组件;
加载模块,用于加载所述识别模块识别出的新增功能组件。
12.根据权利要求11所述的功能组件加载装置,其特征在于,
所述识别模块,还用于识别出已加载却不包含在所述授权列表中的过期功能组件;
所述加载单元,还包括:卸载模块,用于卸载所述识别模块识别出的过期功能组件。
CN201210401239.0A 2012-10-19 2012-10-19 一种功能组件加载方法及装置 Active CN102930184B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210401239.0A CN102930184B (zh) 2012-10-19 2012-10-19 一种功能组件加载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210401239.0A CN102930184B (zh) 2012-10-19 2012-10-19 一种功能组件加载方法及装置

Publications (2)

Publication Number Publication Date
CN102930184A CN102930184A (zh) 2013-02-13
CN102930184B true CN102930184B (zh) 2015-11-25

Family

ID=47644981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210401239.0A Active CN102930184B (zh) 2012-10-19 2012-10-19 一种功能组件加载方法及装置

Country Status (1)

Country Link
CN (1) CN102930184B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598661B (zh) * 2016-12-08 2020-10-30 上海众人网络安全技术有限公司 一种动态更新插件的方法及系统
CN110727468A (zh) * 2018-06-28 2020-01-24 北京京东尚科信息技术有限公司 管理算法模型的方法和装置
CN109165055B (zh) * 2018-08-30 2022-09-06 百度在线网络技术(北京)有限公司 无人驾驶系统组件加载方法、装置、计算机设备及介质
CN109067809B (zh) * 2018-10-18 2021-08-13 深信服科技股份有限公司 安全组件的权限配置方法、装置、设备及存储介质
CN109981562B (zh) * 2019-01-17 2023-05-12 平安科技(深圳)有限公司 一种软件开发工具包授权方法及装置
CN110109712A (zh) * 2019-04-04 2019-08-09 平安科技(深圳)有限公司 业务组件加载方法、装置、计算机设备和存储介质
CN113312179A (zh) * 2021-06-01 2021-08-27 中国民航信息网络股份有限公司 数据组件管理方法、装置、系统、电子设备及存储介质
CN114896621B (zh) * 2022-07-15 2022-10-14 深圳竹云科技股份有限公司 应用服务的获取方法、加密方法、装置、计算机设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967555A (zh) * 2006-05-29 2007-05-23 华为技术有限公司 一种软件功能控制方法及系统
CN101000551A (zh) * 2007-01-05 2007-07-18 中兴通讯股份有限公司 嵌入式单板引导模块版本加载方法
CN101175268A (zh) * 2006-10-31 2008-05-07 华为技术有限公司 控制通信终端芯片操作权限的方法及装置
CN101339595A (zh) * 2008-05-20 2009-01-07 北京深思洛克数据保护中心 一种通过使用许可控制软件使用的装置
CN101621518A (zh) * 2009-07-20 2010-01-06 厦门敏讯信息技术股份有限公司 一种权限管理方法
CN102314578A (zh) * 2011-09-26 2012-01-11 浪潮(北京)电子信息产业有限公司 一种实现软件保护的系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967555A (zh) * 2006-05-29 2007-05-23 华为技术有限公司 一种软件功能控制方法及系统
CN101175268A (zh) * 2006-10-31 2008-05-07 华为技术有限公司 控制通信终端芯片操作权限的方法及装置
CN101000551A (zh) * 2007-01-05 2007-07-18 中兴通讯股份有限公司 嵌入式单板引导模块版本加载方法
CN101339595A (zh) * 2008-05-20 2009-01-07 北京深思洛克数据保护中心 一种通过使用许可控制软件使用的装置
CN101621518A (zh) * 2009-07-20 2010-01-06 厦门敏讯信息技术股份有限公司 一种权限管理方法
CN102314578A (zh) * 2011-09-26 2012-01-11 浪潮(北京)电子信息产业有限公司 一种实现软件保护的系统及方法

Also Published As

Publication number Publication date
CN102930184A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
CN102930184B (zh) 一种功能组件加载方法及装置
US9756033B2 (en) Information recording apparatus with shadow boot program for authentication with a server
CN1682488B (zh) 在电子装置上装载数据
CN100524333C (zh) 防止非法使用软件的方法
CN105683990A (zh) 用于保护动态库的方法和装置
CN101308538B (zh) 检查固件完整性的方法和设备
CN104573435A (zh) 用于终端权限管理的方法和终端
CN103827881A (zh) 用于设备操作系统中的动态平台安全的方法和系统
CN102521548A (zh) 一种管理功能使用权限的方法及移动终端
CN108229144B (zh) 一种应用程序的验证方法、终端设备及存储介质
CN112861191B (zh) 一种应用程序监控方法及装置
US10412079B2 (en) NFC device, software installation method, software uninstallation method, computer program and article of manufacture
CN104639506A (zh) 对应用程序安装进行管控的方法、系统与终端
CN111008034B (zh) 一种补丁生成方法及装置
CN112231702A (zh) 应用保护方法、装置、设备及介质
CN108334754B (zh) 嵌入式系统程序的加密解密方法及系统
CN111160879A (zh) 一种硬件钱包及其安全性提升方法和装置
CN111596938A (zh) 嵌入式设备固件安全升级方法、系统、终端及存储介质
US11838282B2 (en) Information recording apparatus with server-based user authentication for accessing a locked operating system storage
CN104464114A (zh) 金融终端应用的安全管理监控系统及其方法
CN103034810B (zh) 一种检测方法、装置及电子设备
CN111382447B (zh) 安装包的加密方法、存储介质及计算机设备
CN103297816A (zh) 一种安全下载方法及数字电视接收终端
CN112035803A (zh) 一种基于Windows平台软件的保护方法及装置
CN109905408B (zh) 网络安全防护方法、系统、可读存储介质及终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant