一种算法加载方法和装置制造方法

文档序号:6543236阅读:223来源:国知局
一种算法加载方法和装置制造方法
【专利摘要】本发明实施例公开了一种算法加载方法和装置,用于避免对TPM硬件的频繁更换,降低使用TPM硬件进行加解密操作的成本。本发明实施例方法包括:获取对数据进行加解密的可信平台模块TPM加解密命令,所述TPM加解密命令包括对所述数据加解密需要使用的算法的标识ID;判断是否支持所述ID对应的算法;若不支持所述算法,从预置的存储地址获取所述算法;根据获取到的所述算法对所述数据执行加解密操作。
【专利说明】一种算法加载方法和装置
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种算法加载方法和装置。
【背景技术】
[0002]可信平台模块(Trusted Platform Module,TPM)技术由可信赖计算组织(TrustedComputing Group,TCG)提出,可以有效的防止非法用户对敏感数据的更改。为了保护敏感数据,通常在数据管理的硬件结构设计中可以加入TPM硬件,通过TPM硬件中提供的算法来进行一些加解密操作。
[0003]通常设计的TPM硬件中包括有两大类模块,一种是存储模块,另一种是算法模块,其中,存储模块用于存储密钥、随机数等数据,算法模块中包括有多种算法,例如安全散列算法(Secure Hash Algorithm, SHA) I 算法、非对称密码算法(Rivest-Shamir-Adleman,RSA)算法等,由于TPM硬件中算法模块包括的算法都是硬件先设计好的,因此TPM硬件能够支持的算法也是固定且有限的,例如在算法模块中设计有SHAl算法、RSA算法,则TPM硬件就只能够支持SHAl算法、RSA算法。
[0004]随着TPM规范的越来越完善,需要TPM硬件支持的算法越来越多,由于TPM硬件只能支持已经在算法模块设计有的算法,故当TPM加解密命令要求使用新算法时,若还使用现有的TPM硬件进加解密操作,则必然导致加解密操作失败,但是按照现有的TPM硬件设计方式,为了使TPM硬件支持新算法,则只能够更换已有的TPM硬件,故现有技术中一旦需要增加新算法,就必须更换TPM硬件,而这会大幅提高使用TPM硬件进行加解密操作的成本。

【发明内容】

[0005]本发明实施例提供了一种算法加载方法和装置,用于避免对TPM硬件的频繁更换,降低使用TPM硬件进行加解密操作的成本。
[0006]为解决上述技术问题,本发明实施例提供以下技术方案:
[0007]第一方面,本发明实施例提供一种算法加载方法,包括:
[0008]获取对数据进行加解密的可信平台模块TPM加解密命令,所述TPM加解密命令包括对所述数据加解密需要使用的算法的标识ID ;
[0009]判断是否支持所述ID对应的算法;
[0010]若不支持所述算法,从预置的存储地址获取所述算法;
[0011 ] 根据获取到的所述算法对所述数据执行加解密操作。
[0012]结合第一方面,在第一方面的第一种可能的实现方式中,所述TPM加解密命令还包括:所述算法的版本号;
[0013]所述判断是否支持所述ID对应的算法之后,还包括:
[0014]若支持所述算法,根据所述版本号判断是否支持所述版本号对应的算法版本;
[0015]若不支持所述算法版本号对应的算法版本,从预置的存储地址获取所述算法版本对应的算法内容;[0016]根据所述算法版本对应的算法内容对所述数据执行加解密操作。
[0017]结合第一方面,在第一方面的第二种可能的实现方式中,所述从预置的存储地址获取所述算法之后,还包括:
[0018]将获取到的所述算法存储到本地存储空间中,则所述本地存储空间中存储了所述算法后,支持所述算法。
[0019]结合第一方面或第一方面的第一种可能或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述判断是否支持所述ID对应的算法,包括:
[0020]判断TPM配置表中是否记录有所述算法的ID,若所述TPM配置表中记录有所述算法的ID,则确定支持所述算法,若所述TPM配置表中没有记录所述算法的ID,则确定不支持所述算法。
[0021]结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述从预置的存储地址获取所述算法之后,还包括:
[0022]当所述TPM配置表中没有记录所述算法的ID时,将所述算法的ID添加到所述TPM
配置表中。
[0023]结合第一方面,在第一方面的第五种可能的实现方式中,所述从预置的存储地址获取所述算法之后,还包括:
[0024]根据获取到的所述算法的安全标识对所述算法进行解密认证,若解密认证通过,触发执行根据获取到的所述算法对所述数据执行加解密操作。
[0025]结合第一方面,在第一方面的第六种可能的实现方式中,所述从预置的存储地址获取所述算法,包括:
[0026]从所述存储地址加载所述算法到内存空间。
[0027]第二方面,本发明实施例还提供一种算法加载装置,包括:
[0028]命令获取模块,用于获取对数据进行加解密的TPM加解密命令,所述TPM加解密命令包括对所述数据加解密需要使用的算法的标识ID ;
[0029]判断模块,用于判断是否支持所述ID对应的算法;
[0030]算法获取模块,用于若不支持所述算法,从预置的存储地址获取所述算法;
[0031]加解密模块,用于根据获取到的所述算法对所述数据执行加解密操作。
[0032]结合第二方面,在第二方面的第一种可能的实现方式中,所述TPM加解密命令还包括:所述算法的版本号;
[0033]所述判断模块,还用于根据所述算法的ID判断本系统是否支持所述算法之后,当支持所述算法时,根据所述版本号判断是否支持所述版本号对应的算法版本;
[0034]所述算法获取模块,还用于当不支持所述算法版本号对应的算法版本时,从预置的存储地址获取所述算法版本对应的算法内容;
[0035]所述加解密模块,还用于根据所述算法版本对应的算法内容对所述数据执行加解密操作。
[0036]结合第二方面,在第二方面的第二种可能的实现方式中,所述算法加载装置,还包括:存储模块,用于所述算法获取模块从预置的存储地址获取所述算法之后,将获取到的所述算法存储到本地存储空间中,则所述本地存储空间中存储了所述算法后,支持所述算法。
[0037]结合第二方面或第二方面的第一种可能或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述判断模块,具体用于判断TPM配置表中是否记录有所述算法的ID,若所述TPM配置表中记录有所述算法的ID,则确定支持所述算法,若所述TPM配置表中没有记录所述算法的ID,则确定不支持所述算法。
[0038]结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述算法加载装置,还包括:配置表维护模块,用于所述算法获取模块从预置的存储地址获取所述算法之后,当所述TPM配置表中没有记录所述算法的ID时,将所述算法的ID添加到所述TPM配置表中。
[0039]结合第二方面,在第二方面的第五种可能的实现方式中,所述算法加载装置,还包括:安全控制模块,用于所述算法获取模块从预置的存储地址获取所述算法之后,根据获取到的所述算法的安全标识对所述算法进行解密认证,若解密认证通过,触发执行根据获取到的所述算法对所述数据执行加解密操作。
[0040]结合第二方面,在第二方面的第六种可能的实现方式中,所述算法获取模块,具体用于从所述存储地址加载所述算法到本系统的内存空间。
[0041]从以上技术方案可以看出,本发明实施例具有以下优点:
[0042]在本发明实施例中,首先获取到TPM加解密命令,该TPM加解密命令用于指示对数据进行加解密,并且在TPM加解密命令中包括对该数据加解密需要使用的算法的ID,然后根据该ID判断是否支持该ID对应的算法,若不支持该算法,从预置的存储地址获取到该算法,最后根据获取到的该算法对数据执行加解密操作。由于在不支持TPM加解密命令指示的算法时根据ID可以从预置的存储地址获取到该算法,从而使用获取到的该算法对数据执行加解密操作,故可以避免TPM硬件的算法模块中没有设计该算法时对TPM硬件的更换,降低使用TPM硬件进行加解密操作的成本。
【专利附图】

【附图说明】
[0043]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
[0044]图1为本发明实施例提供的一种算法加载方法的流程方框示意图;
[0045]图2为本发明实施例提供的另一种算法加载方法的流程方框示意图;
[0046]图3_a为本发明实施例提供的一种算法加载装置的组成结构示意图;
[0047]图3_b为本发明实施例提供的另一种算法加载装置的组成结构示意图;
[0048]图3-c为本发明实施例提供的另一种算法加载装置的组成结构示意图;
[0049]图3-d为本发明实施例提供的另一种算法加载装置的组成结构示意图;
[0050]图4_a为本发明实施例提供的另一种算法加载装置的组成结构示意图;
[0051]图4-b为本发明实施例提供的一种TPM硬件的组成结构示意图;
[0052]图5为本发明实施例提供的另一种算法加载装置的组成结构示意图。
【具体实施方式】
[0053]本发明实施例提供了一种算法加载方法和装置,用于避免对TPM硬件的频繁更换,降低使用TPM硬件进行加解密操作的成本。[0054]为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0055]本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
[0056]以下分别进行详细说明。
[0057]本发明算法加载方法的一个实施例,可应用于基于TPM硬件进行加解密操作中,该方法可包括:获取对数据进行加解密的(Trusted Platform Module, TPM)加解密命令,TPM加解密命令包括对上述数据加解密需要使用的算法的标识(Identity,ID);判断是否支持上述ID对应的算法;若不支持上述算法,从预置的存储地址获取上述算法;根据获取到的上述算法对上述数据执行加解密操作。
[0058]请参阅图1所示,本发明一个实施例提供的算法加载方法,可以包括如下步骤:
[0059]101、获取对数据进行加解密的TPM加解密命令,其中,TPM加解密命令包括对上述数据加解密需要使用的算法的ID。
[0060]在本发明实施例中,对于上层应用程序产生的数据或者上层应用程序需要进一步使用的数据,尤其是敏感数据,为了防止该数据被非法用户更改,可以使用TPM硬件对数据进行加密操作,若应用程序产生的数据已经被TPM硬件加密或者应用程序需要使用的数据已经被TPM硬件加密,则需要使用TPM硬件进行相应的解密操作。当算法加载装置无论需要对数据进行加密操作还是解密操作都可以首先获取到TPM加解密命令,该TPM加解密命令可以用于指示对数据进行加解密,即TPM加解密命令具体可以指示需要对数据进行加密还是需要对数据进行解密,并且在TPM加解密命令中包括对该数据加解密需要使用的算法的ID,通过TPM加解密命令携带的ID指示算法加载装置应该采用哪种算法对数据进行加解密,故算法加载装置通过对获取到的TPM加解密命令进行解析,就可以解析出应该使用哪种算法对数据进行加解密操作。举例说明,TPM加解密命令可以由TPM驱动接口的调用者来生成,另外TPM加解密命令可以由上层应用程序指定采用哪种算法,其中算法的ID可以是算法的名称,也可以是一个算法区别于其他算法的标识符等。例如,TPM技术中常使用的算法有SHAl算法、RSA算法等。
[0061]需要说明的是,在本发明的一些实施例中,算法加载装置获取到的TPM加解密命令还可以包括:对数据加解密需要使用的算法的版本号。其中,TPM技术中对于同一种算法还存在有两个以上的版本时,TPM加解密命令中还需要携带具体的版本号,以指示算法加载装置应该使用哪种算法的哪一个版本对数据进行加解密,例如,对于TPM1.2和TPM2.0,其分别设计的算法可能有多个版本,那么对于同一种算法的多个版本,可以使用不同的版本号来加以区别。例如,对于SHAl算法,当有两个以上的版本时,可以使用分别使用两个版本号加以区分,那么TPM加解密命令中除了携带对数据加解密需要使用的SHAl算法的ID,还需要携带一个SHAl算法的某个版本号。
[0062]102、判断是否支持上述ID对应的算法。[0063]在本发明实施例中,算法加载装置通过TPM加解密命令解析出其携带的算法的ID之后,算法加载装置判断是否支持该ID对应的算法。其中,是否支持ID对应算法指的是算法加载装置是否支持该ID对应的算法,在本发明的一些实施例中,算法加载装置是否支持ID对应的算法指的是算法加载装置的本地存储空间中是否存储有该ID对应的算法,例如,算法加载装置通过TPM硬件来实现时,在TPM硬件的算法模块中是否设计有某个ID对应的算法。也就是说,在本发明实施例中,算法加载装置获取到TPM加解密命令之后,并不是像现有技术一样直接根据该TPM加解密命令对数据进行加解密操作,而是根据TPM加解密命令携带的算法ID进行判断,判断本算法加载装置是否支持该ID对应的算法,这样可以避免现有技术中直接使用该TPM加解密命令对数据进行加解密操作时因为不支持某一些算法而导致的算法加载失败,在本发明实施例中,算法加载装置若判断本算法加载装置能够支持TPM加解密命令中包括的ID对应的算法,则可以根据该ID对应的算法对数据进行加解密操作,若判断本算法加载装置不支持TPM加解密命令中包括的ID对应的算法,触发步骤103执行。
[0064]需要说明的是,在本发明的一些实施例中,算法加载装置判断是否支持上述ID对应的算法时,可以有其它实现方式,例如,算法加载装置在本地存储空间中保存一个TPM配置表,将本算法加载装置能够支持的所有算法的ID都保存到TPM配置表中,则步骤102判断是否支持上述ID对应的算法,具体可以包括如下步骤:
[0065]判断TPM配置表中是否记录有上述算法的ID,若TPM配置表中记录有上述算法的ID,则确定支持上述算法,若TPM配置表中没有记录上述算法的ID,则确定不支持上述算法。其中,当算法加载装置从TPM加解密命令中获取到对数据加解密需要使用的算法的ID时,算法加载装置根据这个ID查找TPM配置表,遍历完TPM配置表之后,算法加载装置若从该TPM配置表中查找到上述ID,则说明该算法加载装置能够支持该ID对应的算法,算法加载装置若从该TPM配置表中没有查找到上述ID,则说明该算法加载装置不支持该ID对应的算法。通过算法加载装置对是否支持某一算法进行判断,既可获取在算法加载装置中是否存储有可以用于对数据进行加解密操作的算法,若存储有,则说明算法加载装置可以支持该算法,若没有存储,则说明算法加载装置不支持该算法。本发明实施例中算法加载装置通过TPM配置表可以快速判断本算法加载装置是否支持某一算法,可以避免现有技术中直接使用该TPM加解密命令对数据进行加解密操作时因为不支持某一些算法而导致的算法加载失败。
[0066]103、若不支持上述算法,从预置的存储地址获取上述算法。
[0067]在本发明实施例中,算法加载装置根据步骤102对本算法加载装置是否支持上述ID对应的算法进行判断之后,当判断结果为本算法加载装置不支持上述算法时,根据TPM加解密命令携带的ID从预置的存储地址中获取与该ID对应的算法。也就是说,在本发明实施例中,可以将所有的算法都预先保存到一个存储地址中,例如可以是与算法加载装置具有通信连接的服务器,该服务器提供存储空间,将TPM加解密时用到的所有算法存储到该存储空间,并将存储地址通过通信连接发送给算法加载装置,当算法加载装置不支持上述算法时,可以依据ID从预先设置的一个存储地址中获取到该ID对应的算法,例如,算法加载装置通过TPM硬件来实现时,当TPM硬件不支持某一算法时并不需要像现有技术一样更换TPM硬件,而是依据上述ID从存储地址获取到该ID对应的算法。[0068]需要说明的是,在本发明实施例中,算法加载装置可以将存储地址预先保存到算法加载装置中的地址列表中,则当算法加载装置不支持某一算法时,算法加载装置通过算法的ID可以查找地址列表,从而通过算法加载装置的地址列表获取到算法存储的存储地址,基于该存储地址可以获取到算法。
[0069]需要说明的是,在本发明的一些实施例中,若TPM加解密命令还包括:算法的版本号,即算法加载装置获取到的TPM加解密命令还可以包括:对数据加解密需要使用的算法的版本号。则步骤102判断是否支持上述ID对应的算法之后,还可以包括如下步骤:
[0070]Al、若支持算法,根据版本号判断是否支持版本号对应的算法版本;
[0071]A2、若不支持算法版本号对应的算法版本,从预置的存储地址获取算法版本对应的算法内容;
[0072]A3、根据算法版本对应的算法内容对数据执行加解密操作。
[0073]其中,在步骤102中算法加载装置判断本算法加载装置支持TPM加解密命令中携带的ID对应的算法时,若TPM加解密命令还携带有该算法的版本号,则执行步骤Al,算法加载装置根据版本号判断本算法加载装置是否支持该版本号对应的算法版本,当算法加载装置不支持该版本号对应的算法版本时,从预置的存储地址获取该算法版本对应的算法内容,也就是说,在本发明实施例中,可以将一个算法的所有版本都预先保存到一个存储地址中,例如可以是与算法加载装置具有通信连接的服务器,该服务器提供存储空间,将TPM加解密时用到的某个算法的所有版本对应的算法内容都存储到该存储空间,并将存储地址通过通信连接发送给算法加载装置,当算法加载装置不支持上述算法的某个版本时,可以依据版本号从预先设置的一个存储地址中获取到该算法版本对应的算法内容,例如,算法加载装置通过TPM硬件来实现时,当TPM硬件不支持某一算法版本时并不需要像现有技术一样更换TPM硬件,而是依据上述算法版本从存储地址获取到该算法版本对应的算法内容。当算法加载装置从存储地址获取到上述算法版本对应的算法内容之后,执行步骤A3,根据该算法内容对数据执行加解密操作。
[0074]在本发明的一些实施例中,步骤103从预置的存储地址获取所述算法之后,还可以包括如下步骤:
[0075]将获取到的上述算法存储到本地存储空间中,则本地存储空间中存储了上述算法后,支持上述算法。
[0076]也就是说,算法加载装置从预置的存储地址获取到上述算法之后,为了便于后续的算法加载,可以将获取到的算法存储到本地存储空间中,则当算法加载装置下次再接收到TPM加解密命令之后,算法加载装置就可以支持存储到本地存储空间中的算法。
[0077]在本发明的一些实施例中,若算法加载装置设置有TPM配置表,则步骤103从预置的存储地址获取所述算法之后,还可以包括如下步骤:
[0078]当TPM配置表中没有记录算法的ID时,将算法的ID添加到TPM配置表中。
[0079]也就是说,算法加载装置需要对TPM配置表进行动态管理,算法加载装置从预置的存储地址获取到算法之后,将获取到的算法的ID添加到TPM配置表中,故算法加载装置就可以支持该算法了。
[0080]在本发明的一些实施例中,为了检测获取到的算法的合法性,,则步骤103从预置的存储地址获取所述算法之后,还可以包括如下步骤:[0081]根据获取到的上述算法的安全标识对上述算法进行解密认证,若解密认证通过,触发执行步骤104根据获取到的上述算法对上述数据执行加解密操作。
[0082]具体的,算法加载装置从预置的存储地址中获取到算法之后,算法加载装置还可以根据获取到的算法携带的安全标识对算法进行解密认证,只有解密认证通过后,才可以触发步骤104执行,否则说明算法加载装置获取到的算法是非法的,不能够用于对数据的加解密操作,以防止非法用户对数据的篡改。其中,算法携带的安全标识可以有多种实现方式,例如信息-摘要算法(Message Digest Algorithm5, MD5)、公钥加密、特征字等。
[0083]需要说明的是,在本发明的一些实施例中,步骤103从预置的存储地址获取上述算法,具体可以包括如下步骤:
[0084]从上述存储地址加载上述算法到内存空间。
[0085]也就是说,算法加载装置根据存储地址可以将存储地址中存储的算法加载到本算法加载装置的内存空间中,当需要使用加载的算法时可以直接从内存空间读取,提高使用算法对数据加解密操作的效率。
[0086]104、根据获取到的上述算法对上述数据执行加解密操作。
[0087]在本发明实施例中,当算法加载装置不支持TPM加解密命令携带的算法的ID时,算法加载装置从预置的存储地址获取到该ID对应的算法之后,算法加载装置根据获取到的上述算法对上述数据执行加解密操作,对于算法加载装置使用算法对数据执行加解密操作的实现方式,可以参阅现有技术,此处不再赘述。
[0088]通过前述对本发明实施例的描述可知,首先获取到TPM加解密命令,该TPM加解密命令用于指示对数据进行加解密,并且在TPM加解密命令中包括对该数据加解密需要使用的算法的ID,然后根据该ID判断是否支持该ID对应的算法,若不支持该算法,从预置的存储地址获取到该算法,最后根据获取到的该算法对数据执行加解密操作。由于在不支持TPM加解密命令指示的算法时根据ID可以从预置的存储地址获取到该算法,从而使用获取到的该算法对数据执行加解密操作,故可以避免TPM硬件的算法模块中没有设计该算法时对TPM硬件的更换,降低使用TPM硬件进行加解密操作的成本。
[0089]为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。
[0090]请参阅如图2所示,为本发明实施例中另一种算法加载方法的流程示意图,可以包括:
[0091]S01、算法加载装置获取到TPM加解密命令,然后执行步骤S02。
[0092]其中,该TPM加解密命令中携带有对数据加解密需要使用的算法的ID。另外,TPM加解密命令中还可以携带对数据加解密需要使用的算法的版本号。
[0093]例如,上层应用程序产生数据或者需要使用数据时,上层应用程序需要调用TPM接口进行加解密操作,算法加载装置可以获取到TPM加解密命令,并解析出需要使用哪种算法(通过ID来标识)对数据进行加解密操作。
[0094]S02、算法加载装置查询TPM配置表判断是否支持上述ID对应的算法,若本算法加载装置支持该ID对应的算法且PM加解密命令中携带有对数据加解密需要使用的算法的版本号,则执行步骤S03,若本算法加载装置不支持该ID对应的算法,执行步骤S04。
[0095]其中,算法加载装置在本地存储空间中保存一个TPM配置表,也可以在本算法加载装置的内存空间中设置一个TPM配置表,在TPM配置表中记录下本算法加载装置能够支持的所有算法的ID,则通过查询TPM算法配置表,就可以确定本算法加载装置是否支持该ID对应的算法。
[0096]S03、算法加载装置查询TPM配置表判断是否支持上述版本号对应的算法版本,若本算法加载装置支持上述版本号对应的算法版本,执行步骤S07,若本算法加载装置不支持上述版本号对应的算法版本,则执行步骤S04。
[0097]具体的,一种常用的应用场景是TPM加解密命令中携带的是高级的算法版本,而算法加载装置中存储的会是低级的算法版本,故步骤S03具体可以为:算法加载装置查询TPM配置表判断是否需要对算法进行升级,即算法加载装置中存储有TPM加解密命令携带的算法ID,但是该算法加载装置中存储的算法版本低级时,算法加载装置判断需要对原算法的版本进行升级。当算法加载装置判断出需要对原算法的版本进行升级时,算法加载装置可以将原算法从存储空间中删除掉,然后触发执行步骤S04。
[0098]S04、算法加载装置从预置的存储地址加载TPM加解密命令携带的算法ID以及算法版本对应的算法内容到内存空间中,然后执行步骤S05。
[0099]其中,当算法加载装置中没有存储TPM加解密命令携带的ID对应的算法时,算法加载装置需要从预置的存储地址中来加载上述ID对应的算法,当算法加载装置中没有存储TPM加解密命令携带的版本号对应的算法内容时,算法加载装置需要从预置的存储地址中来加载上述版本号对应的算法内容。
[0100]例如,算法加载装置根据TPM配置表中记录的算法ID对应的存储地址,以及算法版本号对应的存储地址来加载算法内容,其中TPM配置表中记录有算法的ID、版本号、存储地址以及算法的长度等信息,请参阅如下表1所示的TPM配置表:
[0101]
【权利要求】
1.一种算法加载方法,其特征在于,包括: 获取对数据进行加解密的可信平台模块TPM加解密命令,所述TPM加解密命令包括对所述数据加解密需要使用的算法的标识ID ; 判断是否支持所述ID对应的算法; 若不支持所述算法,从预置的存储地址获取所述算法; 根据获取到的所述算法对所述数据执行加解密操作。
2.根据权利要求1所述的方法,其特征在于,所述TPM加解密命令还包括:所述算法的版本号; 所述判断是否支持所述ID对应的算法之后,还包括: 若支持所述算法,根据所述版本号判断是否支持所述版本号对应的算法版本; 若不支持所述算法版本号对应的算法版本,从预置的存储地址获取所述算法版本对应的算法内容; 根据所述算法版本对应的算法内容对所述数据执行加解密操作。
3.根据权利要求1所述的方法,其特征在于,所述从预置的存储地址获取所述算法之后,还包括: 将获取到的所述算法存储到本地存储空间中,则所述本地存储空间中存储了所述算法后,支持所述算法。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述判断是否支持所述ID对应的算法,包括: 判断TPM配置表中是否记录有所述算法的ID,若所述TPM配置表中记录有所述算法的ID,则确定支持所述算法,若所述TPM配置表中没有记录所述算法的ID,则确定不支持所述算法。
5.根据权利要求4所述的方法,其特征在于,所述从预置的存储地址获取所述算法之后,还包括: 当所述TPM配置表中没有记录所述算法的ID时,将所述算法的ID添加到所述TPM配置表中。
6.根据权利要求1所述的方法,其特征在于,所述从预置的存储地址获取所述算法之后,还包括: 根据获取到的所述算法的安全标识对所述算法进行解密认证,若解密认证通过,触发执行根据获取到的所述算法对所述数据执行加解密操作。
7.根据权利要求1所述的方法,其特征在于,所述从预置的存储地址获取所述算法,包括: 从所述存储地址加载所述算法到内存空间。
8.一种算法加载装置,其特征在于,包括: 命令获取模块,用于获取对数据进行加解密的TPM加解密命令,所述TPM加解密命令包括对所述数据加解密需要使用的算法的标识ID ; 判断模块,用于判断是否支持所述ID对应的算法; 算法获取模块,用于若不支持所述算法,从预置的存储地址获取所述算法; 加解密模块,用于根据获取到的所述算法对所述数据执行加解密操作。
9.根据权利要求8所述的装置,其特征在于,所述TPM加解密命令还包括:所述算法的版本号; 所述判断模块,还用于根据所述算法的ID判断本系统是否支持所述算法之后,当支持所述算法时,根据所述版本号判断是否支持所述版本号对应的算法版本; 所述算法获取模块,还用于当不支持所述算法版本号对应的算法版本时,从预置的存储地址获取所述算法版本对应的算法内容; 所述加解密模块,还用于根据所述算法版本对应的算法内容对所述数据执行加解密操作。
10.根据权利要求8所述的装置,其特征在于,所述算法加载装置,还包括:存储模块,用于所述算法获取模块从预置的存储地址获取所述算法之后,将获取到的所述算法存储到本地存储空间中,则所述本地存储空间中存储了所述算法后,支持所述算法。
11.根据权利要求8至10中任一项所述的装置,其特征在于,所述判断模块,具体用于判断TPM配置表中是否记录有所述算法的ID,若所述TPM配置表中记录有所述算法的ID,则确定支持所述算法,若所述TPM配置表中没有记录所述算法的ID,则确定不支持所述算法。
12.根据权利要求11所述的装置,其特征在于,所述算法加载装置,还包括:配置表维护模块,用于所述算法获取模块从预置的存储地址获取所述算法之后,当所述TPM配置表中没有记录所述算法的ID时,将所述算法的ID添加到所述TPM配置表中。
13.根据权利要求8所述的装置,其特征在于,所述算法加载装置,还包括:安全控制模块,用于所述算法获取模块从预置的存储地址获取所述算法之后,根据获取到的所述算法的安全标识对所述算法进行解密认证,若解密认证通过,触发执行根据获取到的所述算法对所述数据执行加解密操作。
14.根据权利要求7所述的装置,其特征在于,所述算法获取模块,具体用于从所述存储地址加载所述算法到本系统的内存空间。
【文档编号】G06F9/445GK103942074SQ201410140279
【公开日】2014年7月23日 申请日期:2014年4月9日 优先权日:2014年4月9日
【发明者】陈丹, 王伟, 沈钢纲 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1