一种实现密钥信息编解码的装置及其工作方法.pdf

上传人:32 文档编号:669458 上传时间:2018-03-02 格式:PDF 页数:53 大小:5.93MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410314409.0

申请日:

2014.07.03

公开号:

CN104092537A

公开日:

2014.10.08

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 9/08申请日:20140703|||公开

IPC分类号:

H04L9/08

主分类号:

H04L9/08

申请人:

飞天诚信科技股份有限公司

发明人:

陆舟; 于华章

地址:

100085 北京市海淀区学清路9号汇智大厦B楼17层

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开一种实现密钥信息编解码的装置及其工作方法,其中,编码装置将密钥信息编码为统一格式的密钥文件,解码装置对密钥文件进行解码,得到密钥信息,使得认证系统能够对多个设备厂商配置的密钥信息执行统一的处理流程,减轻了认证系统的工作负担。

权利要求书

1.  一种实现密钥信息编码的装置的工作方法,其特征在于,包括以下步骤:
S1、编码装置生成密钥容器节点,将所述密钥容器节点作为根节点添加到密钥文件中;
S2、所述编码装置生成密钥包节点,将所述密钥包节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;
S3、所述编码装置生成设备信息节点,将所述设备信息节点作为所述密钥包节点的子节点添加到所述密钥包节点中;
S4、所述编码装置生成厂商节点和序列号节点,将所述厂商节点和所述序列号节点作为所述设备信息节点的子节点添加到所述设备信息节点中,从密钥信息的密钥属性列表中读取厂商信息和设备序列号,将所述厂商信息作为文本节点添加到所述厂商节点中,将所述设备序列号作为文本节点添加到所述序列号节点中;
S5、所述编码装置生成密钥节点,将所述密钥节点作为所述密钥包节点的子节点添加到所述密钥包节点中;
S6、所述编码装置从所述密钥属性列表中读取密钥标识、密钥算法信息和密钥明文,根据所述密钥标识生成密钥标识节点,根据所述密钥算法信息生成密钥算法节点,将所述密钥标识节点和所述密钥算法节点作为属性节点添加到所述密钥节点中;所述编码装置生成数据节点,将所述数据节点作为所述密钥节点的子节点添加到所述密钥节点中;所述编码装置生成密钥值节点,将所述密钥值节点作为所述数据节点的子节点添加到所述数据节点中,将所述密钥明文或与所述密钥明文对应的密钥密文添加到所述密钥值节点中。

2.
  如权利要求1所述的方法,其特征在于,所述编码装置将所述密钥明文添加到所述密钥值节点中之前,还包括:
所述编码装置从所述密钥信息中读取密钥传输方式,并判断出所述密钥传输方式为明文传输;
所述编码装置将所述密钥明文添加到所述密钥值节点中,具体为:
所述编码装置生成第一明文节点,将所述第一明文节点作为所述密钥值节点的子节点添加到所述密钥值节点中,将所述密钥明文作为文本节点添加到所述第一明文节点中。

3.
  如权利要求1所述的方法,其特征在于,所述步骤S1之后,还包括:
所述编码装置从所述密钥信息中读取密钥传输方式,并判断出所述密钥传输方式不是明文传输;
所述编码装置生成加密密钥节点,将所述加密密钥节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;所述编码装置生成密钥名节点,将所述密钥名节点作为所述加密密钥节点的子节点添加到所述加密密钥节点中;所述编码装置从所述密钥信息中读取加密密钥名,将所述加密密钥名作为文本节点添加到所述密钥名节点中;
所述编码装置将与所述密钥明文对应的密钥密文添加到所述密钥值节点中,具体为:
所述编码装置生成密文节点,将所述密文节点作为所述密钥值节点的子节点添加到所述密钥值节点中;
所述编码装置生成第一加密方法节点和第一密码数据节点,将所述第一加密方法节点和所述第一密码数据节点作为所述密文节点的子节点添加到所述密文节点中;所述编码装置从所述密钥信息中读取加密密钥算法信息,根据所述加密密钥算法信息生成第一加密密钥算法节点,将所述第一加密密钥算法节点作为属性节点添加到所述第一加密方法节点中;所述编码装置生成第一密码值节点,将所述第一密码值节点作为所述第一密码数据节点的子节点添加到所述第一密码数据节点中;所述编码装置根据与所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述密钥明文进行加密,将加密得到的密钥密文作为文本节点添加到所述第一密码值节点中。

4.
  如权利要求3所述的方法,其特征在于,所述步骤S2之前,还包括:
所述编码装置生成MAC方法节点,将所述MAC方法节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;
所述编码装置从所述密钥信息中读取MAC算法信息,根据所述MAC算法信息生成MAC算法节点,将所述MAC算法节点作为属性节点添加到所述MAC方法节点中;所述编码装置生成MAC密钥节点,将所述MAC密钥节点作为所述MAC方法节点的子节点添加到所述MAC方法节点中;所述编码装置生成第二加密方法节点和第二密码数据节点,将所述第二加密方法节点和所述第二密码数据节点作为子节点添加到所述MAC密钥节点中;所述编码装置从所述密钥信息中读取加密密钥算法信息,根据所述加密密钥算法信息生成第二加密密钥 算法节点,将所述第二加密密钥算法节点作为属性节点添加到所述第二加密方法节点中;所述编码装置生成第二密码值节点,将所述第二密码值节点作为所述第二密码数据节点的子节点添加到所述第二密码数据节点中;所述编码装置从所述密钥信息中读取MAC密钥,根据与所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述MAC密钥进行加密,将加密得到的密文作为文本节点添加到所述第二密码值节点中;
所述编码装置生成密钥值节点之后,还包括:
所述编码装置生成MAC值节点,将所述MAC值节点作为所述密钥值节点的子节点添加到所述密钥值节点中;
所述编码装置根据所述MAC密钥,使用与所述MAC算法信息对应的策略,对所述密钥明文进行摘要处理,将得到的摘要值作为文本节点添加到所述MAC值节点中。

5.
  如权利要求1所述的方法,其特征在于,所述步骤S2之前,还包括:
S7、所述编码装置从密钥信息中选取一个未被处理过的密钥属性列表作为当前列表;
所述编码装置从密钥信息的密钥属性列表中读取厂商信息和设备序列号,具体为:
所述编码装置从当前列表中读取厂商信息和设备序列号;
所述编码装置从所述密钥属性列表中读取密钥标识、密钥算法信息和密钥明文,具体为:
所述编码装置从当前列表中读取密钥标识、密钥算法信息和密钥明文;
所述步骤S6之后,还包括:
所述编码装置判断所述密钥信息中是否存在未被处理过的密钥属性列表,如果是,则返回步骤S7;否则,结束流程。

6.
  如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括:
所述编码装置生成发行方节点,将所述发行方节点作为所述密钥节点的子节点添加到所述密钥节点中,从所述密钥属性列表中读取发行方信息,将所述发行方信息作为文本节点添加到所述发行方节点中。

7.
  如权利要求1所述的方法,其特征在于,所述编码装置生成设备信息节 点之后,还包括:
所述编码装置生成设备用户标识节点,将所述设备用户标识节点作为所述设备信息节点的子节点添加到所述设备信息节点中,从所述密钥属性列表中读取设备用户标识,将所述设备用户标识作为文本节点添加到所述设备用户标识节点中。

8.
  如权利要求1所述的方法,其特征在于,所述编码装置生成密钥包节点之后,还包括:
所述编码装置生成密码模块节点,将所述密码模块节点作为所述密钥包节点的子节点添加到所述密钥包节点中,生成密码模块标识节点,将所述密码模块标识节点作为所述密码模块节点的子节点添加到所述密码模块节点中,从所述密钥属性列表中读取密码模块标识,将所述密码模块标识作为文本节点添加到所述密码模块标识节点中。

9.
  如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括:
所述编码装置生成密钥用户标识节点,将所述密钥用户标识节点作为所述密钥节点的子节点添加到所述密钥节点中,从所述密钥属性列表中读取密钥用户标识,将所述密钥用户标识作为文本节点添加到所述密钥用户标识节点中。

10.
  如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括:
所述编码装置生成策略节点,将所述策略节点作为所述密钥节点的子节点添加到所述密钥节点中,生成起始日期节点、终结日期节点和密钥用途节点,将所述起始日期节点、所述终结日期节点和所述密钥用途节点添加到所述策略节点中,从所述密钥属性列表中读取密钥起始日期、密钥终结日期和密钥用途信息,将所述密钥起始日期作为文本节点添加到所述起始日期节点中,将所述密钥终结日期作为文本节点添加到所述终结日期节点中,将所述密钥用途信息作为文本节点添加到所述密钥用途节点中。

11.
  如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括:
所述编码装置生成算法参数节点,将所述算法参数节点作为所述密钥节点的子节点添加到所述密钥节点中,生成响应码格式节点,将所述响应码格式节 点作为所述算法参数节点的子节点添加到所述算法参数节点中,从所述密钥属性列表中读取响应码长度和响应码编码信息,根据所述响应码长度生成响应码长度节点,根据所述响应码编码信息生成响应码编码信息节点,将所述响应码长度节点和所述响应码编码信息节点作为属性节点添加到所述响应码格式节点中;
所述编码装置生成数据节点之后,还包括:
所述编码装置生成时间节点,将所述时间节点作为所述数据节点的子节点添加到所述数据节点中,生成第二明文节点,将所述第二明文节点作为所述时间节点的子节点添加到所述时间节点中,从所述密钥属性列表中读取时间因子的初始值,将所述时间因子的初始值作为文本节点添加到所述第二明文节点中;
所述编码装置生成时间间隔节点,将所述时间间隔节点作为所述数据节点的子节点添加到所述数据节点中,生成第三明文节点,将所述第三明文节点作为所述时间间隔节点的子节点添加到所述时间间隔节点中,从所述密钥属性列表中读取时间间隔值,将所述时间间隔值作为文本节点添加到所述第三明文节点中;
所述编码装置生成时间偏移节点,将所述时间偏移节点作为所述数据节点的子节点添加到所述数据节点中,生成第四明文节点,将所述第四明文节点作为所述时间偏移节点的子节点添加到所述时间偏移节点中,从所述密钥属性列表中读取时间偏移量的初始值,将所述时间偏移量的初始值作为文本节点添加到所述第四明文节点中。

12.
  如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括:
所述编码装置生成算法参数节点,将所述算法参数节点作为所述密钥节点的子节点添加到所述密钥节点中,生成响应码格式节点,将所述响应码格式节点作为所述算法参数节点的子节点添加到所述算法参数节点中,从所述密钥属性列表中读取响应码长度和响应码编码信息,根据所述响应码长度生成响应码长度节点,根据所述响应码编码信息生成响应码编码信息节点,将所述响应码长度节点和所述响应码编码信息节点作为属性节点添加到所述响应码格式节点中;
所述编码装置生成数据节点之后,还包括:
所述编码装置生成计数器节点,将所述计数器节点作为所述数据节点的子节点添加到所述数据节点中,生成第五明文节点,将所述第五明文节点作为所述计数器节点的子节点添加到所述计数器节点中,从所述密钥属性列表中读取事件因子的初始值,将所述事件因子的初始值作为文本节点添加到所述第五明文节点中。

13.
  一种实现密钥信息解码的装置的工作方法,其特征在于,包括以下步骤:
S1、解码装置从密钥文件的根节点中查找密钥包节点,如果查找到,则执行步骤S2;否则,显示错误信息,结束流程;
S2、所述解码装置从所述密钥包节点中查找设备信息节点,从所述设备信息节点中查找厂商节点和序列号节点,获取所述厂商节点的子节点的文本内容,将获取到的文本内容作为厂商信息进行保存,获取所述序列号节点的子节点的文本内容,将获取到的文本内容作为设备序列号进行保存;
S3、所述解码装置从所述密钥包节点中查找密钥节点,如果查找到,则执行步骤S4;否则,显示错误信息,结束流程;
S4、所述解码装置获取所述密钥节点中的密钥算法节点的属性值,将获取到的属性值作为密钥算法信息进行保存;获取所述密钥节点中的密钥标识节点的属性值,将获取到的属性值作为密钥标识进行保存;
S5、所述解码装置从所述密钥节点中查找数据节点,如果查找到,则执行步骤S6;否则,显示错误信息,结束流程;
S6、所述解码装置从所述数据节点中查找密钥值节点,如果查找到,则执行步骤S7;否则,显示错误信息,结束流程;
S7、所述解码装置从所述密钥值节点中获取密钥明文进行保存,
或者,所述解码装置从所述密钥值节点中获取密钥密文,对所述密钥密文进行解密,对解密得到的密钥明文进行保存。

14.
  如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥值节点中获取密钥明文进行保存,具体为:
所述解码装置从所述密钥值节点中查找明文节点,获取所述明文节点的子节点的文本内容,将获取到的文本内容作为密钥明文进行保存。

15.
  如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥值节点中获取密钥密文,对所述密钥密文进行解密,对解密得到的密钥明文进行保存,具体为:
所述解码装置从所述密钥值节点中查找密文节点,从所述密文节点中查找第一加密方法节点和第一密码数据节点,获取所述第一加密方法节点中的第一加密密钥算法节点的属性值作为加密密钥算法信息,从所述第一密码数据节点中查找第一密码值节点,获取所述第一密码值节点的子节点的文本内容作为密钥密文;
所述解码装置从所述密钥文件的根节点中查找加密密钥节点,从所述加密密钥节点中查找密钥名节点,获取所述密钥名节点的子节点的文本内容作为加密密钥名,根据与所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述密钥密文进行解密,得到密钥明文。

16.
  如权利要求15所述的方法,其特征在于,所述解码装置从所述数据节点中查找到密钥值节点之后,还包括:
所述解码装置从所述密钥文件的根节点中查找MAC方法节点,获取所述MAC方法节点中的MAC算法节点的属性值作为MAC算法信息,从所述MAC方法节点中查找MAC密钥节点,从所述MAC密钥节点中查找第二加密方法节点和第二密码数据节点,获取所述第二加密方法节点中的第二加密密钥算法节点的属性值作为加密密钥算法信息,从所述第二密码数据节点中查找第二密码值节点,获取所述第二密码值节点的子节点的文本内容作为MAC密钥密文,根据所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述MAC密钥密文进行解密,得到MAC密钥;
所述解码装置根据所述MAC密钥,对所述密钥明文进行摘要处理,判断摘要处理得到的摘要值是否与从所述密钥值节点中的MAC值节点中获取的摘要值相同,如果是,则对所述密钥明文进行保存;否则,显示错误信息,结束流程。

17.
  如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到密钥节点之后,还包括:
所述解码装置从所述密钥节点中查找发行方节点,获取所述发行方节点的子节点的文本内容,将获取到的文本内容作为发行方信息进行保存。

18.
  如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到设备信息节点之后,还包括:
所述解码装置从所述设备信息节点中查找设备用户标识节点,获取所述设备用户标识节点的子节点的文本内容,将获取到的文本内容作为设备用户标识进行保存。

19.
  如权利要求13所述的方法,其特征在于,所述解码装置从密钥文件的根节点中查找到密钥包节点之后,还包括:
所述解码装置从所述密钥包节点中查找密码模块节点,从所述密码模块节点中查找密码模块标识节点,获取所述密码模块标识节点的子节点的文本内容,将获取到的文本内容作为密码模块标识进行保存。

20.
  如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到密钥节点之后,还包括:
所述解码装置从所述密钥节点中查找密钥用户标识节点,获取所述密钥用户标识节点的子节点的文本内容,将获取到的文本内容作为密钥用户标识进行保存。

21.
  如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到密钥节点之后,还包括:
所述解码装置从所述密钥节点中查找策略节点,从所述策略节点中查找起始日期节点、终结日期节点和密钥用途节点,获取所述起始日期节点的子节点的文本内容,将获取到的文本内容作为密钥起始日期进行保存;获取所述终结日期节点的子节点的文本内容,将获取到的文本内容作为密钥终结日期进行保存;获取所述密钥用途节点的子节点的文本内容,将获取到的文本内容作为密钥用途信息进行保存。

22.
  如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到密钥节点之后,还包括:
所述解码装置从所述密钥节点中查找算法参数节点,从所述算法参数节点中查找响应码格式节点,获取所述响应码格式节点中的响应码长度节点的属性值,将获取到的属性值作为响应码长度进行保存,获取所述响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;
所述解码装置从所述密钥节点中查找到数据节点之后,还包括:
所述解码装置从所述数据节点中查找时间节点、时间间隔节点和时间偏移节点,从所述时间节点中查找第二明文节点,获取所述第二明文节点的子节点的文本内容,将获取到的文本内容作为时间因子的初始值进行保存;从所述时间间隔节点中查找第三明文节点,获取所述第三明文节点的子节点的文本内容,将获取到的文本内容作为时间间隔值进行保存;从所述时间偏移节点中查找第四明文节点,获取所述第四明文节点的子节点的文本内容,将获取到的文本内容作为时间偏移量的初始值进行保存。

23.
  如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到密钥节点之后,还包括:
所述解码装置从所述密钥节点中查找算法参数节点,从所述算法参数节点中查找响应码格式节点,获取所述响应码格式节点中的响应码长度节点的属性值,将获取到的属性值作为响应码长度进行保存,获取所述响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;
所述解码装置从所述密钥节点中查找到数据节点之后,还包括:
所述解码装置从所述数据节点中查找计数器节点,从所述计数器节点中查找第五明文节点,获取所述第五明文节点的子节点的文本内容,将获取到的文本内容作为事件因子的初始值进行保存。

24.
  一种编码装置,其特征在于,包括:
读取模块,用于从密钥信息的密钥属性列表中读取厂商信息、设备序列号、密钥标识、密钥算法信息和密钥明文;
生成模块,用于生成密钥容器节点,将所述密钥容器节点作为根节点添加到密钥文件中;生成密钥包节点,将所述密钥包节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;生成设备信息节点和密钥节点,将所述设备信息节点和所述密钥节点作为所述密钥包节点的子节点添加到所述密钥包节点中;
生成厂商节点和序列号节点,将所述厂商节点和所述序列号节点作为所述设备信息节点的子节点添加到所述设备信息节点中;将所述读取模块读取到的 所述厂商信息作为文本节点添加到所述厂商节点中,将所述读取模块读取到的所述设备序列号作为文本节点添加到所述序列号节点中;
根据所述读取模块读取到的所述密钥算法信息生成密钥算法节点,根据所述读取模块读取到的密钥标识生成密钥标识节点,将所述密钥标识节点和所述密钥算法节点作为属性节点添加到所述密钥节点中;生成数据节点,将所述数据节点作为所述密钥节点的子节点添加到所述密钥节点中;生成密钥值节点,将所述密钥值节点作为所述数据节点的子节点添加到所述数据节点中;
添加模块,用于将所述读取模块读取到的所述密钥明文或与所述密钥明文对应的密钥密文添加到所述密钥值节点中。

25.
  如权利要求24所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥信息中读取密钥传输方式;
所述编码装置,还包括:
第一判断模块,用于判断所述密钥传输方式是否为明文传输;
所述添加模块,具体用于在所述第一判断模块判断出所述密钥传输方式为明文传输时,生成第一明文节点,将所述第一明文节点作为所述密钥值节点的子节点添加到所述密钥值节点中,将所述读取模块读取到的所述密钥明文作为文本节点添加到所述第一明文节点中。

26.
  如权利要求24所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥信息中读取密钥传输方式、加密密钥名和加密密钥算法信息;
所述编码装置,还包括:
第一判断模块,用于判断所述密钥传输方式是否为明文传输;
所述生成模块,还用于生成加密密钥节点,将所述加密密钥节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;生成密钥名节点,将所述密钥名节点作为所述加密密钥节点的子节点添加到所述加密密钥节点中;将所述读取模块读取到的所述加密密钥名作为文本节点添加到所述密钥名节点中;
所述添加模块,具体用于在所述第一判断模块判断出所述密钥传输方式不是明文传输时,生成密文节点,将所述密文节点作为所述密钥值节点的子节点添加到所述密钥值节点中;生成第一加密方法节点和第一密码数据节点,将所述第一加密方法节点和所述第一密码数据节点作为所述密文节点的子节点添加 到所述密文节点中;根据所述读取模块读取到的所述加密密钥算法信息生成第一加密密钥算法节点,将所述第一加密密钥算法节点作为属性节点添加到所述第一加密方法节点中;生成第一密码值节点,将所述第一密码值节点作为所述第一密码数据节点的子节点添加到所述第一密码数据节点中;根据与所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述密钥明文进行加密,将加密得到的密钥密文作为文本节点添加到所述第一密码值节点中。

27.
  如权利要求26所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥信息中读取MAC算法信息、加密密钥算法信息和MAC密钥;
所述生成模块,还用于生成MAC方法节点,将所述MAC方法节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;根据所述读取模块读取到的所述MAC算法信息生成MAC算法节点,将所述MAC算法节点作为属性节点添加到所述MAC方法节点中;生成MAC密钥节点,将所述MAC密钥节点作为所述MAC方法节点的子节点添加到所述MAC方法节点中;生成第二加密方法节点和第二密码数据节点,将所述第二加密方法节点和所述第二密码数据节点作为子节点添加到所述MAC密钥节点中;根据所述读取模块读取到的所述加密密钥算法信息生成第二加密密钥算法节点,将所述第二加密密钥算法节点作为属性节点添加到所述第二加密方法节点中;生成第二密码值节点,将所述第二密码值节点作为所述第二密码数据节点的子节点添加到所述第二密码数据节点中;根据与所述读取模块读取到的所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述读取模块读取到的所述MAC密钥进行加密,将加密得到的密文作为文本节点添加到所述第二密码值节点中;生成MAC值节点,将所述MAC值节点作为所述密钥值节点的子节点添加到所述密钥值节点中;根据所述读取模块读取到的所述MAC密钥,使用与所述读取模块读取到的所述MAC算法信息对应的策略,对所述密钥明文进行摘要处理,将得到的摘要值作为文本节点添加到所述MAC值节点中。

28.
  如权利要求24所述的编码装置,其特征在于,还包括:
选择模块,用于从所述密钥信息中选取一个未被处理过的密钥属性列表作为当前列表;
所述读取模块,具体用于从所述选择模块选取的当前列表中读取厂商信息、设备序列号、密钥标识、密钥算法信息和密钥明文;
所述编码装置,还包括:
第二判断模块,用于在所述添加模块将所述密钥明文或与所述密钥明文对应的密钥密文添加到所述密钥值节点中后,判断所述密钥信息中是否存在未被处理过的密钥属性列表,如果是,则触发所述选择模块从所述密钥信息中选取一个未被处理过的密钥属性列表作为当前列表;否则,确定编码结束。

29.
  如权利要求24所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥属性列表中读取发行方信息;
所述生成模块,还用于生成发行方节点,将所述发行方节点作为所述密钥节点的子节点添加到所述密钥节点中,将所述发行方信息作为文本节点添加到所述发行方节点中。

30.
  如权利要求24所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥属性列表中读取设备用户标识;
所述生成模块,还用于生成设备用户标识节点,将所述设备用户标识节点作为所述设备信息节点的子节点添加到所述设备信息节点中,将所述设备用户标识作为文本节点添加到所述设备用户标识节点中。

31.
  如权利要求24所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥属性列表中读取密码模块标识,
所述生成模块,还用于生成密码模块节点,将所述密码模块节点作为所述密钥包节点的子节点添加到所述密钥包节点中,生成密码模块标识节点,将所述密码模块标识节点作为所述密码模块节点的子节点添加到密码模块节点中,将所述密码模块标识作为文本节点添加到所述密码模块标识节点中。

32.
  如权利要求24所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥属性列表中读取密钥用户标识;
所述生成模块,还用于生成密钥用户标识节点,将所述密钥用户标识节点作为所述密钥节点的子节点添加到所述密钥节点中,将所述密钥用户标识作为文本节点添加到所述密钥用户标识节点中。

33.
  如权利要求24所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥属性列表中读取密钥起始日期、密钥终 结日期和密钥用途信息;
所述生成模块,还用于生成策略节点,将所述策略节点作为所述密钥节点的子节点添加到所述密钥节点中,生成起始日期节点、终结日期节点和密钥用途节点,将所述起始日期节点、所述终结日期节点和所述密钥用途节点添加到所述策略节点中,将所述密钥起始日期作为文本节点添加到所述起始日期节点中,将所述密钥终结日期作为文本节点添加到所述终结日期节点中,将所述密钥用途信息作为文本节点添加到所述密钥用途节点中。

34.
  如权利要求24所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥属性列表中读取响应码长度、响应码编码信息、时间因子的初始值、时间间隔值和时间偏移量的初始值;
所述生成模块,还用于生成算法参数节点,将所述算法参数节点作为所述密钥节点的子节点添加到所述密钥节点中,生成响应码格式节点,将所述响应码格式节点作为所述算法参数节点的子节点添加到所述算法参数节点中,根据所述响应码长度生成响应码长度节点,根据所述响应码编码信息生成响应码编码信息节点,将所述响应码长度节点和所述响应码编码信息节点作为属性节点添加到所述响应码格式节点中;生成时间节点,将所述时间节点作为所述数据节点的子节点添加到所述数据节点中,生成第二明文节点,将所述第二明文节点作为所述时间节点的子节点添加到所述时间节点中,将所述时间因子的初始值作为文本节点添加到所述第二明文节点中;生成时间间隔节点,将所述时间间隔节点作为所述数据节点的子节点添加到所述数据节点中,生成第三明文节点,将所述第三明文节点作为所述时间间隔节点的子节点添加到所述时间间隔节点中,将所述时间间隔值作为文本节点添加到所述第三明文节点中;生成时间偏移节点,将所述时间偏移节点作为所述数据节点的子节点添加到所述数据节点中,生成第四明文节点,将所述第四明文节点作为所述时间偏移节点的子节点添加到所述时间偏移节点中,将所述时间偏移量的初始值作为文本节点添加到所述第四明文节点中。

35.
  如权利要求24所述的编码装置,其特征在于,
所述读取模块,还用于从所述密钥属性列表中读取响应码长度、响应码编码信息和事件因子的初始值;
所述生成模块,还用于生成算法参数节点,将所述算法参数节点作为所述 密钥节点的子节点添加到所述密钥节点中,生成响应码格式节点,将所述响应码格式节点作为所述算法参数节点的子节点添加到所述算法参数节点中,根据所述响应码长度生成响应码长度节点,根据所述响应码编码信息生成响应码编码信息节点,将所述响应码长度节点和所述响应码编码信息节点作为属性节点添加到所述响应码格式节点中;生成计数器节点,将所述计数器节点作为所述数据节点的子节点添加到所述数据节点中,生成第五明文节点,将所述第五明文节点作为所述计数器节点的子节点添加到所述计数器节点中,将所述事件因子的初始值作为文本节点添加到所述第五明文节点中。

36.
  一种解码装置,其特征在于,包括:
查找模块,用于从密钥文件的根节点中查找密钥包节点,如果查找到所述密钥包节点,则从所述密钥包节点中查找设备信息节点,从所述设备信息节点中查找厂商节点、序列号节点和密钥节点;如果查找到所述密钥节点,则从所述密钥节点中查找数据节点;如果查找到所述数据节点,则从所述数据节点中查找密钥值节点;
第一获取模块,用于在所述查找模块查找到所述厂商节点时,获取所述厂商节点的子节点的文本内容,将获取到的文本内容作为厂商信息进行保存;在所述查找模块查找到所述序列号节点时,获取所述序列号节点的子节点的文本内容,将获取到的文本内容作为设备序列号进行保存;在所述查找模块查找到所述密钥节点时,获取所述密钥节点中的密钥算法节点的属性值,将获取到的属性值作为密钥算法信息进行保存;获取所述密钥节点中的密钥标识节点的属性值,将获取到的属性值作为密钥标识进行保存;
第二获取模块,用于在所述查找模块查找到密钥值节点时,从所述密钥值节点中获取密钥明文进行保存,
或者,从所述密钥值节点中获取密钥密文,对所述密钥密文进行解密,对解密得到的密钥明文进行保存;
显示模块,用于在所述查找模块没有查找到所述密钥包节点、所述密钥节点、所述数据节点或所述密钥值节点时,显示错误信息。

37.
  如权利要求36所述的解码装置,其特征在于,
所述第二获取模块,具体用于从所述密钥值节点中查找明文节点,获取所 述明文节点的子节点的文本内容,将获取到的文本内容作为密钥明文进行保存。

38.
  如权利要求36所述的解码装置,其特征在于,
所述第二获取模块,具体用于从所述密钥值节点中查找密文节点,从所述密文节点中查找第一加密方法节点和第一密码数据节点,获取所述第一加密方法节点中的第一加密密钥算法节点的属性值作为加密密钥算法信息,从所述第一密码数据节点中查找第一密码值节点,获取所述第一密码值节点的子节点的文本内容作为密钥密文;
从所述密钥文件的根节点中查找加密密钥节点,从所述加密密钥节点中查找密钥名节点,获取所述密钥名节点的子节点的文本内容作为加密密钥名,根据与所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述密钥密文进行解密,得到密钥明文。

39.
  如权利要求38所述的解码装置,其特征在于,
所述查找模块,还用于在从所述数据节点中查找到密钥值节点之后,从所述密钥值节点中查找MAC值节点,从所述密钥文件的根节点中查找MAC方法节点,从所述MAC方法节点中查找MAC密钥节点,从所述MAC密钥节点中查找第二加密方法节点和第二密码数据节点,从所述第二密码数据节点中查找第二密码值节点;
所述第一获取模块,还用于获取所述MAC值节点的子节点的文本内容作为摘要值,获取所述MAC方法节点中的MAC算法节点的属性值作为MAC算法信息,获取所述第二加密方法节点中的第二加密密钥算法节点的属性值作为加密密钥算法信息,获取所述第二密码值节点的子节点的文本内容作为MAC密钥密文,根据所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述MAC密钥密文进行解密,得到MAC密钥;
所述解码装置,还包括:
摘要模块,用于根据所述第一获取模块获取到的所述MAC密钥,对所述密钥明文进行摘要处理;
判断模块,用于判断所述摘要模块摘要处理得到的摘要值是否与所述第一获取模块从所述MAC值节点中获取的摘要值相同;
所述第二获取模块,具体用于从所述密钥值节点中获取密钥密文,对所述密钥密文进行解密,得到密钥明文,并在所述判断模块判断出所述摘要模块摘 要处理得到的摘要值与所述第一获取模块从所述密钥值节点中的MAC值节点中获取的摘要值相同时,对所述密钥明文进行保存;
所述显示模块,还用于在所述判断模块判断出所述摘要模块摘要处理得到的摘要值与所述第一获取模块从所述密钥值节点中的MAC值节点中获取的摘要值不同时,显示错误信息。

40.
  如权利要求36所述的解码装置,其特征在于,
所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找发行方节点;
所述第一获取模块,还用于在所述查找模块查找到所述发行方节点时,获取所述发行方节点的子节点的文本内容,将获取到的文本内容作为发行方信息进行保存。

41.
  如权利要求36所述的解码装置,其特征在于,
所述查找模块,还用于在从所述密钥包节点中查找到设备信息节点之后,从所述设备信息节点中查找设备用户标识节点;
所述第一获取模块,还用于在所述查找模块查找到所述设备用户标识节点时,获取所述设备用户标识节点的子节点的文本内容,将获取到的文本内容作为设备用户标识进行保存。

42.
  如权利要求36所述的解码装置,其特征在于,
所述查找模块,还用于在从所述密钥文件的根节点中查找到密钥包节点之后,从所述密钥包节点中查找密码模块节点,从所述密码模块节点中查找密码模块标识节点;
所述第一获取模块,还用于在所述查找模块查找到所述密码模块标识节点时,获取所述密码模块标识节点的子节点的文本内容,将获取到的文本内容作为密码模块标识进行保存。

43.
  如权利要求36所述的解码装置,其特征在于,
所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找密钥用户标识节点;
所述第一获取模块,还用于在所述查找模块查找到所述密钥用户标识节点时,获取所述密钥用户标识节点的子节点的文本内容,将获取到的文本内容作为密钥用户标识进行保存。

44.
  如权利要求36所述的解码装置,其特征在于,
所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找策略节点,从所述策略节点中查找起始日期节点、终结日期节点和密钥用途节点;
所述第一获取模块,还用于在所述查找模块查找到所述起始日期节点时,获取所述起始日期节点的子节点的文本内容,将获取到的文本内容作为密钥起始日期进行保存;在所述查找模块查找到所述终结日期节点时,获取所述终结日期节点的子节点的文本内容,将获取到的文本内容作为密钥终结日期进行保存;在所述查找模块查找到所述密钥用途节点时,获取所述密钥用途节点的子节点的文本内容,将获取到的文本内容作为密钥用途信息进行保存。

45.
  如权利要求36所述的解码装置,其特征在于,
所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找算法参数节点,从所述算法参数节点中查找响应码格式节点;在从所述密钥节点中查找到数据节点之后,从所述数据节点中查找时间节点、时间间隔节点和时间偏移节点,从所述时间节点中查找第二明文节点,从所述时间间隔节点中查找第三明文节点,从所述时间偏移节点中查找第四明文节点;
所述第一获取模块,还用于在所述查找模块查找到所述响应码格式节点时,获取所述响应码格式节点中的响应码长度节点的属性值,将获取到的属性值作为响应码长度进行保存,获取所述响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;在所述查找模块查找到所述第二明文节点时,获取所述第二明文节点的子节点的文本内容,将获取到的文本内容作为时间因子的初始值进行保存;在所述查找模块查找到所述第三明文节点时,获取所述第三明文节点的子节点的文本内容,将获取到的文本内容作为时间间隔值进行保存;在所述查找模块查找到所述第四明文节点时,获取所述第四明文节点的子节点的文本内容,将获取到的文本内容作为时间偏移量的初始值进行保存。

46.
  如权利要求36所述的解码装置,其特征在于,
所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找算法参数节点,从所述算法参数节点中查找响应码格式节点;在从所述密钥节点中查找到数据节点之后,从所述数据节点中查找计数器节点, 从所述计数器节点中查找第五明文节点;
所述第一获取模块,还用于在所述查找模块查找到所述响应码格式节点时,获取所述响应码格式节点中的响应码长度节点的属性值,将获取到的属性值作为响应码长度进行保存,获取所述响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;在所述查找模块查找到所述第五明文节点时,获取所述第五明文节点的子节点的文本内容,将获取到的文本内容作为事件因子的初始值进行保存。

说明书

一种实现密钥信息编解码的装置及其工作方法
技术领域
本发明涉及信息安全领域,特别涉及一种实现密钥信息编解码的装置及其工作方法。
背景技术
随着信息安全技术的发展,种子密钥作为数据处理过程中必不可少的参数,已广泛应用于数据加解密、身份认证和完整性验证等领域。
现有技术中,设备厂商将包括种子密钥在内的密钥信息配置到认证系统中,认证系统对多个设备厂商配置的密钥信息进行集成。为提高认证系统中的密钥信息的兼容性,通常要求设备厂商使用统一格式的密钥文件配置密钥信息。
然而,现有技术中并没有基于统一格式的密钥文件提供密钥信息的编解码方法,导致认证系统无法对多个设备厂商配置的密钥信息执行统一的处理流程,从而加重了认证系统的工作负担。
发明内容
本发明提供了一种实现密钥信息编解码的装置及其工作方法,以解决现有技术中认证系统工作负担重的缺陷。
本发明提供了一种实现密钥信息编码的装置的工作方法,包括以下步骤:
S1、编码装置生成密钥容器节点,将所述密钥容器节点作为根节点添加到密钥文件中;
S2、所述编码装置生成密钥包节点,将所述密钥包节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;
S3、所述编码装置生成设备信息节点,将所述设备信息节点作为所述密钥包节点的子节点添加到所述密钥包节点中;
S4、所述编码装置生成厂商节点和序列号节点,将所述厂商节点和所述序列号节点作为所述设备信息节点的子节点添加到所述设备信息节点中,从密钥信息的密钥属性列表中读取厂商信息和设备序列号,将所述厂商信息作为文本节点添加到所述厂商节点中,将所述设备序列号作为文本节点添加到所述序列 号节点中;
S5、所述编码装置生成密钥节点,将所述密钥节点作为所述密钥包节点的子节点添加到所述密钥包节点中;
S6、所述编码装置从所述密钥属性列表中读取密钥标识、密钥算法信息和密钥明文,根据所述密钥标识生成密钥标识节点,根据所述密钥算法信息生成密钥算法节点,将所述密钥标识节点和所述密钥算法节点作为属性节点添加到所述密钥节点中;所述编码装置生成数据节点,将所述数据节点作为所述密钥节点的子节点添加到所述密钥节点中;所述编码装置生成密钥值节点,将所述密钥值节点作为所述数据节点的子节点添加到所述数据节点中,将所述密钥明文或与所述密钥明文对应的密钥密文添加到所述密钥值节点中。
本发明还提供了一种实现密钥信息解码的装置的工作方法,包括以下步骤:
S1、解码装置从密钥文件的根节点中查找密钥包节点,如果查找到,则执行步骤S2;否则,显示错误信息,结束流程;
S2、所述解码装置从所述密钥包节点中查找设备信息节点,从所述设备信息节点中查找厂商节点和序列号节点,获取所述厂商节点的子节点的文本内容,将获取到的文本内容作为厂商信息进行保存,获取所述序列号节点的子节点的文本内容,将获取到的文本内容作为设备序列号进行保存;
S3、所述解码装置从所述密钥包节点中查找密钥节点,如果查找到,则执行步骤S4;否则,显示错误信息,结束流程;
S4、所述解码装置获取所述密钥节点中的密钥算法节点的属性值,将获取到的属性值作为密钥算法信息进行保存;获取所述密钥节点中的密钥标识节点的属性值,将获取到的属性值作为密钥标识进行保存;
S5、所述解码装置从所述密钥节点中查找数据节点,如果查找到,则执行步骤S6;否则,显示错误信息,结束流程;
S6、所述解码装置从所述数据节点中查找密钥值节点,如果查找到,则执行步骤S7;否则,显示错误信息,结束流程;
S7、所述解码装置从所述密钥值节点中获取密钥明文进行保存,
或者,所述解码装置从所述密钥值节点中获取密钥密文,对所述密钥密文进行解密,对解密得到的密钥明文进行保存。
本发明还提供了一种编码装置,包括:
读取模块,用于从密钥信息的密钥属性列表中读取厂商信息、设备序列号、密钥标识、密钥算法信息和密钥明文;
生成模块,用于生成密钥容器节点,将所述密钥容器节点作为根节点添加到密钥文件中;生成密钥包节点,将所述密钥包节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;生成设备信息节点和密钥节点,将所述设备信息节点和所述密钥节点作为所述密钥包节点的子节点添加到所述密钥包节点中;
生成厂商节点和序列号节点,将所述厂商节点和所述序列号节点作为所述设备信息节点的子节点添加到所述设备信息节点中;将所述读取模块读取到的所述厂商信息作为文本节点添加到所述厂商节点中,将所述读取模块读取到的所述设备序列号作为文本节点添加到所述序列号节点中;
根据所述读取模块读取到的所述密钥算法信息生成密钥算法节点,根据所述读取模块读取到的密钥标识生成密钥标识节点,将所述密钥标识节点和所述密钥算法节点作为属性节点添加到所述密钥节点中;生成数据节点,将所述数据节点作为所述密钥节点的子节点添加到所述密钥节点中;生成密钥值节点,将所述密钥值节点作为所述数据节点的子节点添加到所述数据节点中;
添加模块,用于将所述读取模块读取到的所述密钥明文或与所述密钥明文对应的密钥密文添加到所述密钥值节点中。
本发明还提供了一种解码装置,包括:
查找模块,用于从密钥文件的根节点中查找密钥包节点,如果查找到所述密钥包节点,则从所述密钥包节点中查找设备信息节点,从所述设备信息节点中查找厂商节点、序列号节点和密钥节点;如果查找到所述密钥节点,则从所述密钥节点中查找数据节点;如果查找到所述数据节点,则从所述数据节点中查找密钥值节点;
第一获取模块,用于在所述查找模块查找到所述厂商节点时,获取所述厂商节点的子节点的文本内容,将获取到的文本内容作为厂商信息进行保存;在所述查找模块查找到所述序列号节点时,获取所述序列号节点的子节点的文本内容,将获取到的文本内容作为设备序列号进行保存;在所述查找模块查找到所述密钥节点时,获取所述密钥节点中的密钥算法节点的属性值,将获取到的属性值作为密钥算法信息进行保存;获取所述密钥节点中的密钥标识节点的属 性值,将获取到的属性值作为密钥标识进行保存;
第二获取模块,用于在所述查找模块查找到密钥值节点时,从所述密钥值节点中获取密钥明文进行保存,
或者,从所述密钥值节点中获取密钥密文,对所述密钥密文进行解密,对解密得到的密钥明文进行保存;
显示模块,用于在所述查找模块没有查找到所述密钥包节点、所述密钥节点、所述数据节点或所述密钥值节点时,显示错误信息。
本发明达到的有益效果:编码装置将密钥信息编码为统一格式的密钥文件,解码装置对密钥文件进行解码,得到密钥信息,使得认证系统能够对多个设备厂商配置的密钥信息执行统一的处理流程,减轻了认证系统的工作负担。
附图说明
图1和图2为本发明实施例中的一种实现密钥信息编码的装置的工作方法流程图;
图3至图6为本发明实施例中的一种实现密钥信息解码的装置的工作方法流程图;
图7为本发明实施例中的一种编码装置的结构示意图;
图8为本发明实施例中的一种解码装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种实现密钥信息编解码的装置及其工作方法,应用于包括编码装置和解码装置的系统,其中,编码装置对密钥信息进行编码,生成密钥文件,该密钥文件为XML文件;相应地,解码装置对密钥文件进行解码,得到密钥信息。
其中,密钥信息可以包括密钥传输方式和至少一个密钥属性列表,每个密钥属性列表包括厂商信息、设备序列号、密钥标识、密钥算法信息和密钥明文。 当密钥传输方式为密文传输时,密钥信息中还包括加密密钥名和加密密钥算法信息,且还可进一步包括MAC密钥和MAC算法信息。
基于上述密钥信息,本发明实施例提供了一种实现密钥信息编码的装置的工作方法,如图1和图2所示,包括以下步骤:
步骤101,编码装置生成密钥容器节点,将密钥容器节点作为根节点添加到密钥文件中。
具体地,编码装置生成密钥容器节点的起始标记和结束标记,将密钥容器节点的起始标记和结束标记添加到密钥文件中。
例如,编码装置在密钥文件中添加密钥容器节点的起始标记<KeyContainer>和结束标记</KeyContainer>。
步骤102,编码装置从密钥信息中读取密钥传输方式,判断密钥传输方式是否为明文传输,如果是,则执行步骤103;否则,则执行步骤117。
具体地,编码装置可以判断密钥信息中的密钥传输方式是否为预设字符,如果是,则确定密钥传输方式为明文传输,否则,确定密钥传输方式不是明文传输。
例如,预设字符为“PLAIN”时,当密钥信息中的密钥传输方式为“PLAIN”时,编码装置确定密钥传输方式为明文传输;当密钥信息中的密钥传输方式为“AES128”时,编码装置确定密钥传输方式不是明文传输。
步骤103,编码装置从密钥信息中选取一个未被处理过的密钥属性列表作为当前列表。
步骤104,编码装置生成密钥包节点,将密钥包节点作为密钥容器节点的子节点添加到密钥容器节点中。
具体地,编码装置生成密钥包节点的起始标记和结束标记,将密钥包节点的起始标记和结束标记添加到密钥容器节点的起始标记和结束标记之间。
例如,编码装置将密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>添加到密钥容器节点的起始标记<KeyContainer>和结束标记</KeyContainer>之间。
步骤105,编码装置生成设备信息节点,将设备信息节点作为密钥包节点的子节点添加到密钥包节点中。
具体地,编码装置生成设备信息节点的起始标记和结束标记,将设备信息 节点的起始标记和结束标记添加到密钥包节点的起始标记和结束标记之间。
例如,编码装置将设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>添加到密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>之间。
步骤106,编码装置生成厂商节点,将厂商节点作为设备信息节点的子节点添加到设备信息节点中。
具体地,编码装置生成厂商节点的起始标记和结束标记,将厂商节点的起始标记和结束标记添加到设备信息节点的起始标记和结束标记之间。
例如,编码装置将厂商节点的起始标记<Manufacturer>和结束标记</Manufacturer>添加到设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>之间。
步骤107,编码装置从当前列表中读取厂商信息,将厂商信息作为文本节点添加到厂商节点中。
具体地,编码装置从当前列表中读取厂商信息,并将厂商信息添加到厂商节点的起始标记和结束标记之间。
例如,编码装置从当前列表中读取厂商信息“Manufacturer”,并将厂商信息“Manufacturer”添加到厂商节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>之间。
步骤108,编码装置生成序列号节点,将序列号节点作为设备信息节点的子节点添加到设备信息节点中。
具体地,编码装置生成序列号节点的起始标记和结束标记,将序列号节点的起始标记和结束标记添加到设备信息节点的起始标记和结束标记之间。
例如,编码装置将序列号节点的起始标记<SerialNo>和结束标记</SerialNo>添加到设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>之间。
步骤109,编码装置从当前列表中读取设备序列号,将设备序列号作为文本节点添加到序列号节点中。
具体地,编码装置从当前列表中读取设备序列号,并在序列号节点的起始标记和结束标记之间添加设备序列号。
例如,编码装置从当前列表中读取设备序列号“987654321”,并在序列号节点的起始标记和结束标记之间添加设备序列号“987654321”。
步骤110,编码装置生成密钥节点,将密钥节点作为密钥包节点的子节点添加到密钥包节点中。
具体地,编码装置生成密钥节点的起始标记和结束标记,将密钥节点的起始标记和结束标记添加到密钥包节点的起始标记和结束标记之间。
例如,编码装置将密钥节点的起始标记<Key>和结束标记</Key>添加到密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>之间。
步骤111,编码装置从当前列表中读取密钥标识和密钥算法信息,根据密钥标识生成密钥标识节点,根据密钥算法信息生成密钥算法节点,将密钥标识节点和密钥算法节点作为属性节点添加到密钥节点中。
具体地,编码装置从当前列表中读取密钥标识和密钥算法信息,将密钥标识作为属性值生成密钥标识节点,将密钥算法信息作为属性值生成密钥算法节点,并在密钥节点的起始标记中添加密钥标识节点和密钥算法节点。其中,密钥标识节点和密钥算法节点均为属性节点,均包括属性名和属性值。
例如,编码装置从当前列表中读取密钥标识“12345678”和密钥算法信息“urn:ietf:params:xml:ns:keyprov:pskc:hotp”,根据密钥标识生成密钥标识节点,即,Id="12345678";根据密钥算法信息生成密钥算法节点,即,Algorithm="urn:ietf:params:xml:ns:keyprov:pskc:hotp",并在密钥节点的起始标记<Key>中添加上述密钥标识节点和密钥算法节点。
其中,密钥标识节点包括属性名“Id”和属性值“12345678”,密钥算法节点包括属性名“Algorithm”和属性值“urn:ietf:params:xml:ns:keyprov:pskc:hotp”,添加上述信息后,密钥节点的起始标记被更新为:<Key Id="12345678"Algorithm="urn:ietf:params:xml:ns:keyprov:pskc:hotp">。
步骤112,编码装置生成数据节点,将数据节点作为密钥节点的子节点添加到密钥节点中。
具体地,编码装置生成数据节点的起始标记和结束标记,将数据节点的起始标记和结束标记添加到密钥节点的起始标记和结束标记之间。
例如,编码装置将数据节点的起始标记<Data>和结束标记</Data>添加到密钥节点的起始标记<Key>和结束标记</Key>之间。
步骤113,编码装置生成密钥值节点,将密钥值节点作为数据节点的子节点添加到数据节点中。
具体地,编码装置生成密钥值节点的起始标记和结束标记,在数据节点的起始标记和结束标记之间添加密钥值节点的起始标记和结束标记。
例如,编码装置在数据节点的起始标记<Data>和结束标记</Data>之间添加密钥值节点的起始标记<Secret>和结束标记</Secret>。
步骤114,编码装置生成第一明文节点,将第一明文节点作为密钥值节点的子节点添加到密钥值节点中。
具体地,编码装置生成第一明文节点的起始标记和结束标记,将第一明文节点的起始标记和结束标记添加到密钥值节点的起始标记和结束标记之间。
例如,编码装置在密钥值节点的起始标记<Secret>和结束标记</Secret>之间添加第一明文节点的起始标记<PlainValue>和结束标记</PlainValue>。
步骤115,编码装置从当前列表中读取密钥明文,将密钥明文作为文本节点添加到第一明文节点中。
具体地,编码装置从当前列表中读取密钥明文,并在第一明文节点的起始标记和结束标记之间添加密钥明文。
例如,编码装置从当前列表中读取密钥明文“MTIzNA==”,并在第一明文节点的起始标记<PlainValue>和结束标记</PlainValue>之间添加密钥明文“MTIzNA==”。
通过执行上述操作,编码装置生成的密钥文件为:


步骤116,编码装置判断密钥信息中是否存在未被处理过的密钥属性列表,如果是,则返回步骤103;否则,结束流程。
步骤117,编码装置生成加密密钥节点,将加密密钥节点作为密钥容器节点的子节点添加到密钥容器节点中。
具体地,编码装置生成加密密钥节点的起始标记和结束标记,将加密密钥节点的起始标记和结束标记添加到密钥容器节点的起始标记和结束标记之间。
例如,编码装置将加密密钥节点的起始标记<EncryptionKey>和结束标记</EncryptionKey>添加到密钥容器节点的起始标记<KeyContainer>和结束标记</KeyContainer>之间。
步骤118,编码装置生成密钥名节点,将密钥名节点作为加密密钥节点的子节点添加到加密密钥节点中。
具体地,编码装置生成密钥名节点的起始标记和结束标记,将密钥名节点的起始标记和结束标记添加到加密密钥节点的起始标记和结束标记之间。
例如,编码装置将密钥名节点的起始标记<ds:KeyName>和结束标记</ds:KeyName>添加到加密密钥节点的起始标记<EncryptionKey>和结束标记</EncryptionKey>之间。
步骤119,编码装置从密钥信息中读取加密密钥名,将加密密钥名作为文本节点添加到密钥名节点中。
具体地,编码装置从密钥信息中读取加密密钥名,将加密密钥名添加到密钥名节点的起始标记和结束标记之间。
例如,编码装置从密钥信息中读取加密密钥名“Pre-shared-key”,将加密密钥名“Pre-shared-key”添加到密钥名节点的起始标记和结束标记之间。
步骤120,编码装置生成MAC方法节点,将MAC方法节点作为密钥容器节点的子节点添加到密钥容器节点中。
具体地,编码装置生成MAC方法节点的起始标记和结束标记,将MAC方 法节点的起始标记和结束标记添加到密钥容器节点的起始标记和结束标记之间。
例如,编码装置将MAC方法节点的起始标记<MACMethod>和结束标记</MACMethod>添加到密钥容器节点的起始标记<KeyContainer>和结束标记</KeyContainer>之间。
步骤121,编码装置从密钥信息中读取MAC算法信息,根据MAC算法信息生成MAC算法节点,将MAC算法节点作为属性节点添加到MAC方法节点中。
具体地,编码装置从密钥信息中读取MAC算法信息,将MAC算法信息作为属性值生成MAC算法节点,将MAC算法节点添加到MAC方法节点的起始标记中。
例如,编码装置从密钥信息中读取MAC算法信息,即,"hmac-sha1",将该MAC算法信息作为属性值,生成MAC算法节点,即,Algorithm=hmac-sha1,将上述MAC算法节点添加到MAC方法节点的起始标记中,将MAC方法节点的起始标记更新为:<MACMethod Algorithm="hmac-sha1">。
步骤122,编码装置生成MAC密钥节点,将MAC密钥节点作为MAC方法节点的子节点添加到MAC方法节点中。
具体地,编码装置生成MAC密钥节点的起始标记和结束标记,将MAC密钥节点的起始标记和结束标记添加到MAC方法节点的起始标记和结束标记之间。
例如,编码装置将MAC密钥节点的起始标记<MACKey>和结束标记</MACKey>添加到MAC方法节点的起始标记<MACMethod>和结束标记</MACMethod>之间。
步骤123,编码装置生成第二加密方法节点,将第二加密方法节点作为子节点添加到MAC密钥节点中。
具体地,编码装置生成第二加密方法节点,将第二加密方法节点添加到MAC密钥节点的起始标记和结束标记之间。
例如,编码装置将第二加密方法节点<xenc:EncryptionMethod/>添加到MAC密钥节点的起始标记<MACKey>和结束标记</MACKey>之间。
步骤124,编码装置从密钥信息中读取加密密钥算法信息,根据加密密钥算 法信息生成第二加密密钥算法节点,将第二加密密钥算法节点作为属性节点添加到第二加密方法节点中。
具体地,编码装置从密钥信息中读取加密密钥算法信息,将加密密钥算法信息作为属性值,生成第二加密密钥算法节点,将第二加密密钥算法节点添加到第二加密方法节点中。
例如,编码装置从密钥信息中读取加密密钥算法信息,即,"aes128-cbc",将上述加密密钥算法信息作为属性值,生成第二加密密钥算法节点,即,Algorithm=aes128-cbc,将上述第二加密密钥算法节点添加到第二加密方法节点中,将第二加密方法节点更新为:
<xenc:EncryptionMethod
Algorithm="aes128-cbc"/>。
步骤125,编码装置生成第二密码数据节点,将第二密码数据节点作为MAC密钥节点的子节点添加到MAC密钥节点中。
具体地,编码装置生成第二密码数据节点的起始标记和结束标记,将第二密码数据节点的起始标记和结束标记添加到MAC密钥节点的起始标记和结束标记之间。
例如,编码装置将第二密码数据节点的起始标记<xenc:CipherData>和结束标记</xenc:CipherData>添加到MAC密钥节点的起始标记<MACKey>和结束标记</MACKey>之间。
步骤126,编码装置生成第二密码值节点,将第二密码值节点作为第二密码数据节点的子节点添加到第二密码数据节点中。
具体地,编码装置生成第二密码值节点的起始标记和结束标记,将第二密码值节点的起始标记和结束标记添加到第二密码数据节点的起始标记和结束标记之间。
例如,编码装置将第二密码值节点的起始标记<xenc:CipherValue>和结束标记</xenc:CipherValue>添加到第二密码数据节点的起始标记<xenc:CipherData>和结束标记</xenc:CipherData>之间。
步骤127,编码装置从密钥信息中读取MAC密钥,根据与密钥信息中的加密密钥名对应的密钥,使用与密钥信息中的加密密钥算法信息对应的策略,对MAC密钥进行加密,将加密得到的密文作为文本节点添加到第二密码值节点中。
具体地,编码装置从密钥信息中读取MAC密钥,根据与密钥信息中的加密密钥名对应的密钥,使用与密钥信息中的加密密钥算法信息对应的策略,对MAC密钥进行加密,将加密得到的密文添加到第二密码值节点的起始标记和结束标记之间。
例如,编码装置从密钥信息中读取MAC密钥,根据与密钥信息中的加密密钥名“Pre-shared-key”对应的密钥,使用与密钥信息中的加密密钥算法信息“hmac-sha1”对应的策略,对MAC密钥进行加密,得到的密文为:ESIzRFVmd4iZABEiM0RVZgKn6WjLaTC1sbeBMSvIhRejN9vJa2BOlSaMrR7I5w SX,将上述密文添加到第二密码值节点的起始标记<xenc:CipherValue>和结束标记</xenc:CipherValue>之间。
步骤128,编码装置从密钥信息中选取一个未被处理过的密钥属性列表作为当前列表。
步骤129,编码装置生成密钥包节点,将密钥包节点作为密钥容器节点的子节点添加到密钥容器节点中。
具体地,编码装置生成密钥包节点的起始标记和结束标记,将密钥包节点的起始标记和结束标记添加到密钥容器节点的起始标记和结束标记之间。
例如,编码装置将密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>添加到密钥容器节点的起始标记<KeyContainer>和结束标记</KeyContainer>之间。
步骤130,编码装置生成设备信息节点,将设备信息节点作为密钥包节点的子节点添加到密钥包节点中。
具体地,编码装置生成设备信息节点的起始标记和结束标记,将设备信息节点的起始标记和结束标记添加到密钥包节点的起始标记和结束标记之间。
例如,编码装置将设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>添加到密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>之间。
步骤131,编码装置生成厂商节点,将厂商节点作为设备信息节点的子节点添加到设备信息节点中。
具体地,编码装置生成厂商节点的起始标记和结束标记,将厂商节点的起始标记和结束标记添加到设备信息节点的起始标记和结束标记之间。
例如,编码装置将厂商节点的起始标记<Manufacturer>和结束标记</Manufacturer>添加到设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>之间。
步骤132,编码装置从当前列表中读取厂商信息,将厂商信息作为文本节点添加到厂商节点中。
具体地,编码装置从当前列表中读取厂商信息,并将厂商信息添加到厂商节点的起始标记和结束标记之间。
例如,编码装置从当前列表中读取厂商信息“Manufacturer”,并将厂商信息“Manufacturer”添加到厂商节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>之间。
步骤133,编码装置生成序列号节点,将序列号节点作为设备信息节点的子节点添加到设备信息节点中。
具体地,编码装置生成序列号节点的起始标记和结束标记,将序列号节点的起始标记和结束标记添加到设备信息节点的起始标记和结束标记之间。
例如,编码装置将序列号节点的起始标记<SerialNo>和结束标记</SerialNo>添加到设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>之间。
步骤134,编码装置从当前列表中读取设备序列号,将设备序列号作为文本节点添加到序列号节点中。
具体地,编码装置从当前列表中读取设备序列号,并在序列号节点的起始标记和结束标记之间添加设备序列号。
例如,编码装置从当前列表中读取设备序列号“987654321”,并在序列号节点的起始标记和结束标记之间添加设备序列号“987654321”。
步骤135,编码装置生成密钥节点,将密钥节点作为密钥包节点的子节点添加到密钥包节点中。
具体地,编码装置生成密钥节点的起始标记和结束标记,将密钥节点的起始标记和结束标记添加到密钥包节点的起始标记和结束标记之间。
例如,编码装置将密钥节点的起始标记<Key>和结束标记</Key>添加到密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>之间。
步骤136,编码装置从当前列表中读取密钥标识和密钥算法信息,根据密钥标识生成密钥标识节点,根据密钥算法信息生成密钥算法节点,将密钥标识节 点和密钥算法节点作为属性节点添加到密钥节点中。
具体地,编码装置从当前列表中读取密钥标识和密钥算法信息,将密钥标识作为属性值生成密钥标识节点,将密钥算法信息作为属性值,生成密钥算法节点,并在密钥节点的起始标记中添加密钥标识节点和密钥算法节点。其中,密钥标识节点和密钥算法节点均为属性节点,均包括属性名和属性值。
例如,编码装置从当前列表中读取密钥标识“12345678”和密钥算法信息“urn:ietf:params:xml:ns:keyprov:pskc:hotp”,根据密钥标识生成密钥标识节点,即,Id="12345678";根据密钥算法信息生成密钥算法节点,即,Algorithm="urn:ietf:params:xml:ns:keyprov:pskc:hotp",并在密钥节点的起始标记<Key>中添加上述密钥标识节点和密钥算法节点。
其中,密钥标识节点包括属性名“Id”和属性值“12345678”,密钥算法节点包括属性名“Algorithm”和属性值“urn:ietf:params:xml:ns:keyprov:pskc:hotp”,添加上述信息后,密钥节点的起始标记被更新为:<Key Id="12345678"Algorithm="urn:ietf:params:xml:ns:keyprov:pskc:hotp">。
步骤137,编码装置生成数据节点,将数据节点作为密钥节点的子节点添加到密钥节点中。
具体地,编码装置生成数据节点的起始标记和结束标记,将数据节点的起始标记和结束标记添加到密钥节点的起始标记和结束标记之间。
例如,编码装置将数据节点的起始标记<Data>和结束标记</Data>添加到密钥节点的起始标记<Key>和结束标记</Key>之间。
步骤138,编码装置生成密钥值节点,将密钥值节点作为数据节点的子节点添加到数据节点中。
具体地,编码装置生成密钥值节点的起始标记和结束标记,在数据节点的起始标记和结束标记之间添加密钥值节点的起始标记和结束标记。
例如,编码装置在数据节点的起始标记<Data>和结束标记</Data>之间添加密钥值节点的起始标记<Secret>和结束标记</Secret>。
步骤139,编码装置生成密文节点,将密文节点作为密钥值节点的子节点添加到密钥值节点中。
具体地,编码装置生成密文节点的起始标记和结束标记,将密文节点的起始标记和结束标记添加到密钥值节点的起始标记和结束标记之间。
例如,编码装置将密文节点的起始标记<EncryptedValue>和结束标记</EncryptedValue>添加到密钥值节点的起始标记<Secret>和结束标记</Secret>之间。
步骤140,编码装置生成第一加密方法节点,将第一加密方法节点作为子节点添加到密文节点中。
具体地,编码装置生成第一加密方法节点,将第一加密方法节点添加到密文节点的起始标记和结束标记之间。
例如,编码装置将第一加密方法节点<xenc:EncryptionMethod/>添加到密文节点的起始标记<EncryptedValue>和结束标记</EncryptedValue>之间。
步骤141,编码装置从密钥信息中读取加密密钥算法信息,根据加密密钥算法信息生成第一加密密钥算法节点,将第一加密密钥算法节点作为属性节点添加到第一加密方法节点中。
具体地,编码装置从密钥信息中读取加密密钥算法信息,将加密密钥算法信息作为属性值,生成第一加密密钥算法节点,将第一加密密钥算法节点添加到第一加密方法节点中。
例如,编码装置从密钥信息中读取加密密钥算法信息,即,"aes128-cbc",将上述加密密钥算法信息作为第一加密密钥算法节点的属性值,生成第一加密密钥算法节点,即,Algorithm="aes128-cbc",将上述第一加密密钥算法节点添加到第一加密方法节点中,将第一加密方法节点更新为:
<xenc:EncryptionMethod
Algorithm="aes128-cbc"/>。
步骤142,编码装置生成第一密码数据节点,将第一密码数据节点作为密文节点的子节点添加到密文节点中。
具体地,编码装置生成第一密码数据节点的起始标记和结束标记,将第一密码数据节点的起始标记和结束标记添加到密文节点的起始标记和结束标记之间。
例如,编码装置将第一密码数据节点的起始标记<xenc:CipherData>和结束标记</xenc:CipherData>添加到密文节点的起始标记<EncryptedValue>和结束标记</EncryptedValue>之间。
步骤143,编码装置生成第一密码值节点,将第一密码值节点作为第一密码 数据节点的子节点添加到第一密码数据节点中。
具体地,编码装置生成第一密码值节点的起始标记和结束标记,将第一密码值节点的起始标记和结束标记添加到第一密码数据节点的起始标记和结束标记之间。
例如,编码装置将第一密码值节点的起始标记<xenc:CipherValue>和结束标记</xenc:CipherValue>添加到第一密码数据节点的起始标记<xenc:CipherData>和结束标记</xenc:CipherData>之间。
步骤144,编码装置从当前列表中读取密钥明文,根据与密钥信息中的加密密钥名对应的密钥,使用与密钥信息中的加密密钥算法信息对应的策略,对密钥明文进行加密,将加密得到的密钥密文作为文本节点添加到第一密码值节点中。
具体地,编码装置从当前列表中读取密钥明文,根据与密钥信息中的加密密钥名对应的密钥,使用与密钥信息中的加密密钥算法信息对应的策略,对密钥明文进行加密,将加密得到的密钥密文添加到第一密码值节点的起始标记和结束标记之间。
例如,编码装置从当前列表中读取密钥明文,即“MTIzNA==”,根据与密钥信息中的加密密钥名“Pre-shared-key”对应的密钥,使用与密钥信息中的加密密钥算法信息“hmac-sha1”对应的策略,对密钥明文“MTIzNA==”进行加密,得到的密钥密文为:AAECAwQFBgcICQoLDA0OD+cIHItlB3Wra1DUpxVvOx2lef1VmNPCMl8jwZqI UqGv,将上述密钥密文添加到第一密码值节点的起始标记<xenc:CipherValue>和结束标记</xenc:CipherValue>之间。
步骤145,编码装置生成MAC值节点,将MAC值节点作为密钥值节点的子节点添加到密钥值节点中。
具体地,编码装置生成MAC值节点的起始标记和结束标记,将MAC值节点的起始标记和结束标记添加到密钥值节点的起始标记和结束标记之间。
例如,编码装置将MAC值节点的起始标记<ValueMAC>和结束标记</ValueMAC>添加到密钥值节点的起始标记<Secret>和结束标记</Secret>之间。
步骤146,编码装置根据密钥信息中的MAC密钥,使用与密钥信息中的MAC算法信息对应的策略,对密钥明文进行摘要处理,将得到的摘要值作为文 本节点添加到MAC值节点中。
具体地,编码装置根据密钥信息中的MAC密钥,使用与密钥信息中的MAC算法信息对应的策略,对密钥明文进行摘要处理,将得到的摘要值作为文本节点添加到MAC值节点的起始标记和结束标记之间。
例如,编码装置根据密钥信息中的MAC密钥,使用与密钥信息中的MAC算法信息“hmac-sha1”对应的策略,对密钥明文“MTIzNA==”进行摘要处理,得到摘要值“Su+NvtQfmvfJzF6bmQiJqoLRExc=”,并将该摘要值作为文本节点添加到MAC值节点的起始标记<ValueMAC>和结束标记</ValueMAC>之间。
通过执行上述操作,编码装置生成的密钥文件为:


步骤147,编码装置判断密钥信息中是否存在未被处理过的密钥属性列表,如果是,则返回步骤128;否则,结束流程。
本发明达到的有益效果:编码装置将密钥信息编码为统一格式的密钥文件,使得认证系统能够对多个设备厂商配置的密钥信息执行统一的处理流程,减轻了认证系统的工作负担。
进一步地,本发明的另一种实施方式中,编码装置生成密钥容器节点,将密钥容器节点作为根节点添加到密钥文件中,并判断出密钥传输方式为明文传输之后,并发多个线程,将密钥信息中的所有密钥属性列表分配给上述多个线程;每个线程获取至少一个密钥属性列表,并将每个密钥属性列表作为当前列表,执行步骤104至步骤115,生成至少一个密钥包节点;编码装置将所有线程生成的密钥包节点添加到密钥容器节点中,实现对密钥信息的编码。
编码装置生成密钥容器节点,将密钥容器节点作为根节点添加到密钥文件 中,并判断出密钥传输方式不是明文传输之后,并发多个线程,将密钥信息中的所有密钥属性列表分配给上述多个线程;每个线程获取至少一个密钥属性列表,并将每个密钥属性列表作为当前列表,执行步骤117至步骤146,生成至少一个密钥包节点;编码装置将所有线程生成的密钥包节点添加到密钥容器节点中,实现对密钥信息的编码。上述工作机制能够加快编码装置的编码速度。
需要说明的是,本发明的另一种实施方式中,密钥属性列表中还可包括发行方信息,相应地,编码装置生成发行方节点,将发行方节点作为密钥节点的子节点添加到密钥节点中,从密钥属性列表中读取发行方信息,将发行方信息作为文本节点添加到发行方节点中。
具体地,编码装置生成发行方节点的起始标记和结束标记,将发行方节点的起始标记和结束标记添加到密钥节点的起始标记和结束标记之间,从密钥属性列表中读取发行方信息,并在发行方节点的起始标记和结束标记之间添加发行方信息。
例如,编码装置将发行方节点的起始标记<Issuer>和结束标记</Issuer>添加到密钥节点的起始标记<Key>和结束标记</Key>之间,从密钥属性列表中读取发行方信息“Issuer-A”,并在发行方节点的起始标记<Issuer>和结束标记</Issuer>之间添加发行方信息“Issuer-A”。
本发明的另一种实施方式中,密钥属性列表中还可包括设备用户标识,相应地,编码装置生成设备用户标识节点,将设备用户标识节点作为设备信息节点的子节点添加到设备信息节点中,从密钥属性列表中读取设备用户标识,将设备用户标识作为文本节点添加到设备用户标识节点中。
具体地,编码装置生成设备用户标识节点的起始标记和结束标记,将设备用户标识节点的起始标记和结束标记添加到设备信息节点的起始标记和结束标记之间,并在设备用户标识节点的起始标记和结束标记之间添加设备用户标识。
例如,编码装置将设备用户标识节点的起始标记<UserId>和结束标记</UserId>添加到设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>之间,并在设备用户标识节点的起始标记<UserId>和结束标记</UserId>之间添加设备用户标识“DC=example-bank,DC=net”。
本发明的另一种实施方式中,密钥属性列表中还可包括密码模块标识,相应地,编码装置生成密码模块节点,将密码模块节点作为密钥包节点的子节点 添加到密钥包节点中,生成密码模块标识节点,将密码模块标识节点作为密码模块节点的子节点添加到密码模块节点中,从密钥属性列表中读取密码模块标识,将密码模块标识作为文本节点添加到密码模块标识节点中。
具体地,编码装置生成密码模块节点的起始标记和结束标记,将密码模块节点的起始标记和结束标记添加到密钥包节点的起始标记和结束标记之间,将密码模块标识节点的起始标记和结束标记添加到密码模块节点的起始标记和结束标记之间,并将密码模块标识添加到密码模块标识节点的起始标记和结束标记之间。
例如,编码装置将密码模块节点的起始标记<CryptoModuleInfo>和结束标记</CryptoModuleInfo>添加到密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>之间,将密码模块标识节点的起始标记<Id>和结束标记</Id>添加到密码模块节点的起始标记<CryptoModuleInfo>和结束标记</CryptoModuleInfo>之间,并将密码模块标识“CM_ID_001”添加到密码模块标识节点的起始标记<Id>和结束标记</Id>之间。
本发明的另一种实施方式中,密钥属性列表中还可包括密钥用户标识,相应地,编码装置生成密钥用户标识节点,将密钥用户标识节点作为密钥节点的子节点添加到密钥节点中,从密钥属性列表中读取密钥用户标识,将密钥用户标识作为文本节点添加到密钥用户标识节点中。
具体地,编码装置生成密钥用户标识节点的起始标记和结束标记,将密钥用户标识节点的起始标记和结束标记添加到密钥节点的起始标记和结束标记之间,并在密钥用户标识节点的起始标记和结束标记之间添加密钥用户标识。
例如,编码装置将密钥用户标识节点的起始标记<UserId>和结束标记</UserId>添加到密钥节点的起始标记<Key>和结束标记</Key>之间,并在密钥用户标识节点的起始标记<UserId>和结束标记</UserId>之间添加密钥用户标识“UID=jsmith,DC=example-bank,DC=net”。
本发明的另一种实施方式中,密钥属性列表中还可包括密钥起始日期、密钥终结日期和密钥用途信息,相应地,编码装置生成策略节点,将策略节点作为密钥节点的子节点添加到密钥节点中,生成起始日期节点、终结日期节点和密钥用途节点,将起始日期节点、终结日期节点和密钥用途节点添加到策略节点中,从密钥属性列表中读取密钥起始日期、密钥终结日期和密钥用途信息, 将密钥起始日期作为文本节点添加到起始日期节点中,将密钥终结日期作为文本节点添加到终结日期节点中,将密钥用途信息作为文本节点添加到密钥用途节点中。
具体地,编码装置生成策略节点的起始标记和结束标记,将策略节点的起始标记和结束标记添加到密钥节点的起始标记和结束标记之间,将起始日期节点的起始标记和结束标记添加到策略节点的起始标记和结束标记之间,从密钥属性列表中读取密钥起始日期,将密钥起始日期添加到起始日期节点的起始标记和结束标记之间,将终结日期节点的起始标记和结束标记添加到策略节点的起始标记和结束标记之间,从密钥属性列表中读取密钥终结日期,将密钥终结日期添加到终结日期节点的起始标记和结束标记之间,将密钥用途节点的起始标记和结束标记添加到策略节点的起始标记和结束标记之间,从密钥属性列表中读取密钥用途信息,将密钥用途信息添加到密钥用途节点的起始标记和结束标记之间。
例如,编码装置将策略节点的起始标记<Policy>和结束标记</Policy>添加到密钥节点的起始标记<Key>和结束标记</Key>之间,将起始日期节点的起始标记<StartDate>和结束标记</StartDate>添加到策略节点的起始标记和结束标记之间,从密钥属性列表中读取密钥起始日期“2014-05-07T02:58:31Z”,将上述密钥起始日期添加到起始日期节点的起始标记<StartDate>和结束标记</StartDate>之间,将终结日期节点的起始标记<ExpiryDate>和结束标记</ExpiryDate>添加到策略节点的起始标记<Policy>和结束标记</Policy>之间,从密钥属性列表中读取密钥终结日期“2019-05-07T02:57:37Z”,将上述密钥终结日期添加到终结日期节点的起始标记<ExpiryDate>和结束标记</ExpiryDate>之间,将密钥用途节点的起始标记<KeyUsage>和结束标记</KeyUsage>添加到策略节点的起始标记<Policy>和结束标记</Policy>之间,从密钥属性列表中读取密钥用途信息“OTP”,将密钥用途信息“OTP”添加到密钥用途节点的起始标记<KeyUsage>和结束标记</KeyUsage>之间。
另外,当密钥信息与时间型动态令牌中的种子密钥相关时,密钥属性列表中还可包括响应码长度、响应码编码信息、时间间隔值、时间偏移量的初始值和时间因子的初始值,相应地,编码装置生成算法参数节点,将算法参数节点作为密钥节点的子节点添加到密钥节点中,生成响应码格式节点,将响应码格 式节点作为算法参数节点的子节点添加到算法参数节点中,从密钥属性列表中读取响应码长度和响应码编码信息,根据响应码长度生成响应码长度节点,根据响应码编码信息生成响应码编码信息节点,将响应码长度节点和响应码编码信息节点作为属性节点添加到响应码格式节点中;生成时间节点,将时间节点作为数据节点的子节点添加到数据节点中,生成第二明文节点,将第二明文节点作为时间节点的子节点添加到时间节点中,从密钥属性列表中读取时间因子的初始值,将时间因子的初始值作为文本节点添加到第二明文节点中;生成时间间隔节点,将时间间隔节点作为数据节点的子节点添加到数据节点中,生成第三明文节点,将第三明文节点作为时间间隔节点的子节点添加到时间间隔节点中,从密钥属性列表中读取时间间隔值,将时间间隔值作为文本节点添加到第三明文节点中;生成时间偏移节点,将时间偏移节点作为数据节点的子节点添加到数据节点中,生成第四明文节点,将第四明文节点作为时间偏移节点的子节点添加到时间偏移节点中,从密钥属性列表中读取时间偏移量的初始值,将时间偏移量的初始值作为文本节点添加到第四明文节点中。
具体地,编码装置可以将算法参数节点的起始标记和结束标记添加到密钥节点的起始标记和结束标记之间,将响应码格式节点添加到算法参数节点的起始标记和结束标记之间,从密钥属性列表中读取响应码长度和响应码编码信息,将响应码长度作为属性值生成响应码长度节点,将响应码编码信息作为属性值生成响应码编码信息节点,将响应码长度节点和响应码编码信息节点添加到响应码格式节点中。其中,响应码长度节点和响应码编码信息节点均为属性节点,均包括属性名和属性值。
编码装置可以将时间节点的起始标记和结束标记添加到数据节点的起始标记和结束标记之间,将第二明文节点的起始标记和结束标记添加到时间节点的起始标记和结束标记之间,从密钥属性列表中读取时间因子的初始值,将时间因子的初始值添加到第二明文节点的起始标记和结束标记之间;将时间间隔节点的起始标记和结束标记添加到数据节点的起始标记和结束标记之间,将第三明文节点的起始标记和结束标记添加到时间间隔节点的起始标记和结束标记之间,从密钥属性列表中读取时间间隔值,将时间间隔值添加到第三明文节点的起始标记和结束标记之间;将时间偏移节点的起始标记和结束标记添加到数据节点的起始标记和结束标记之间,将第四明文节点的起始标记和结束标记添加 到时间偏移节点的起始标记和结束标记之间,从密钥属性列表中读取时间偏移量的初始值,将时间偏移量的初始值添加到第四明文节点的起始标记和结束标记之间。
例如,编码装置将算法参数节点的起始标记<AlgorithmParameters>和结束标记</AlgorithmParameters>添加到密钥节点的起始标记<Key>和结束标记</Key>之间,将响应码格式节点<ResponseFormat/>添加到算法参数节点的起始标记和结束标记之间,从密钥属性列表中读取响应码长度“8”和响应码编码信息“DECIMAL”,将响应码长度“8”作为属性值,生成响应码长度节点“Length="8"”,将响应码编码信息“DECIMAL”作为属性值,生成响应码编码信息节点“Encoding="DECIMAL"”,其中,响应码长度节点包括属性名“Length”和属性值“8”,响应码编码信息节点包括属性名“Encoding”和属性值“DECIMAL”,编码装置将上述响应码长度节点和响应码编码信息节点添加到响应码格式节点后,响应码格式节点被更新为:<ResponseFormat Length="8"Encoding="DECIMAL"/>。编码装置将时间节点的起始标记<Time>和结束标记</Time>添加到数据节点的起始标记<Data>和结束标记</Data>之间,将第二明文节点的起始标记<PlainValue>和结束标记</PlainValue>添加到时间节点的起始标记<Time>和结束标记</Time>之间,从密钥属性列表中读取时间因子的初始值“0”,将时间因子的初始值“0”添加到第二明文节点的起始标记<PlainValue>和结束标记</PlainValue>之间;将时间间隔节点的起始标记<TimeInterval>和结束标记</TimeInterval>添加到数据节点的起始标记<Data>和结束标记</Data>之间,将第三明文节点的起始标记<PlainValue>和结束标记</PlainValue>添加到时间间隔节点的起始标记<TimeInterval>和结束标记</TimeInterval>之间,从密钥属性列表中读取时间间隔值“60”,将时间间隔值“60”添加到第三明文节点的起始标记<PlainValue>和结束标记</PlainValue>之间;将时间偏移节点的起始标记<TimeDrift>和结束标记</TimeDrift>添加到数据节点的起始标记<Data>和结束标记</Data>之间,将第四明文节点的起始标记<PlainValue>和结束标记</PlainValue>添加到时间偏移节点的起始标记<TimeDrift>和结束标记</TimeDrift>之间,从密钥属性列表中读取时间偏移量的初始值“0”,将时间偏移量的初始值“0”添加到第四明文节点的起始标记<PlainValue>和结束标记</PlainValue>之间。
此外,当密钥信息与事件型动态令牌中的种子密钥相关时,密钥属性列表中还可包括响应码长度、响应码编码信息和事件因子的初始值,相应地,编码装置生成算法参数节点,将算法参数节点作为密钥节点的子节点添加到密钥节点中,生成响应码格式节点,将响应码格式节点作为算法参数节点的子节点添加到算法参数节点中,从密钥属性列表中读取响应码长度和响应码编码信息,根据响应码长度生成响应码长度节点,根据响应码编码信息生成响应码编码信息节点,将响应码长度节点和响应码编码信息节点作为属性节点添加到响应码格式节点中,生成计数器节点,将计数器节点作为数据节点的子节点添加到数据节点中,生成第五明文节点,将第五明文节点作为计数器节点的子节点添加到计数器节点中,将事件因子的初始值作为文本节点添加到第五明文节点中。
具体地,编码装置可以将算法参数节点的起始标记和结束标记添加到密钥节点的起始标记和结束标记之间,将响应码格式节点添加到算法参数节点的起始标记和结束标记之间,从密钥属性列表中读取响应码长度和响应码编码信息,将响应码长度作为属性值生成响应码长度节点,将响应码编码信息作为属性值生成响应码编码信息节点,将响应码长度节点和响应码编码信息节点添加到响应码格式节点中。其中,响应码长度节点和响应码编码信息节点均为属性节点,均包括属性名和属性值。
编码装置可以将计数器节点的起始标记和结束标记添加到数据节点的起始标记和结束标记之间,将第五明文节点的起始标记和结束标记添加到计数器节点的起始标记和结束标记之间,并在第五明文节点的起始标记和结束标记之间添加事件因子的初始值。
例如,编码装置将算法参数节点的起始标记<AlgorithmParameters>和结束标记</AlgorithmParameters>添加到密钥节点的起始标记<Key>和结束标记</Key>之间,将响应码格式节点<ResponseFormat/>添加到算法参数节点的起始标记和结束标记之间,从密钥属性列表中读取响应码长度“8”和响应码编码信息“DECIMAL”,将响应码长度“8”作为属性值,生成响应码长度节点“Length="8"”,将响应码编码信息“DECIMAL”作为属性值,生成响应码编码信息节点“Encoding="DECIMAL"”,其中,响应码长度节点包括属性名“Length”和属性值“8”,响应码编码信息节点包括属性名“Encoding”和属性值“DECIMAL”,编码装置将上述响应码长度节点和响应码编码信息节点添加到 响应码格式节点后,响应码格式节点被更新为:<ResponseFormat Length="8"Encoding="DECIMAL"/>。编码装置将计数器节点的起始标记<Counter>和结束标记</Counter>添加到数据节点的起始标记<Data>和结束标记</Data>之间,将第五明文节点的起始标记<PlainValue>和结束标记</PlainValue>添加到计数器节点的起始标记<Counter>和结束标记</Counter>之间,并在第五明文节点的起始标记<PlainValue>和结束标记</PlainValue>之间添加事件因子的初始值“0”。
与图1和图2所示的实现密钥信息编码的装置的工作方法相对应,本发明实施例还提供了实现密钥信息解码的装置的工作方法,如图3至图6所示,包括以下步骤:
步骤201,解码装置从密钥文件的根节点中查找密钥包节点,如果查找到,则执行步骤202;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在密文文件的根节点的起始标记和结束标记之间查找密钥包节点的起始标记和结束标记,如果查找到,则确定从密钥文件的根节点中查找到密钥包节点;否则,确定没有从密钥文件的根节点中查找到密钥包节点。其中,密文文件的根节点为密钥容器节点。
例如,解码装置在密钥容器节点的起始标记<KeyContainer>和结束标记</KeyContainer>之间查找密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>,如果查找到,则确定从密钥文件的根节点中查找到密钥包节点;否则,确定没有从密钥文件的根节点中查找到密钥包节点。
步骤202,解码装置从密钥包节点中查找设备信息节点,如果查找到,则执行步骤203;否则,执行步骤208。
具体地,解码装置可以在密钥包节点的起始标记和结束标记之间查找设备信息节点的起始标记和结束标记,如果查找到,则确定从密钥包节点中查找到设备信息节点;否则,确定没有从密钥包节点中查找到设备信息节点。
例如,解码装置在密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>之间查找设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>,如果查找到,则确定从密钥包节点中查找到设备信息节点;否则,确定没有从密钥包节点中查找到设备信息节点。
步骤203,解码装置从设备信息节点中查找厂商节点,如果查找到,则执行步骤204;否则,执行步骤205。
具体地,解码装置可以在设备信息节点的起始标记和结束标记之间查找厂商节点的起始标记和结束标记,如果查找到,则确定从设备信息节点中查找到厂商节点;否则,确定没有从设备信息节点中查找到厂商节点。
例如,解码装置在设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>之间查找厂商节点的起始标记<Manufacturer>和结束标记</Manufacturer>,如果查找到,则确定从设备信息节点中查找到厂商节点;否则,确定没有从设备信息节点中查找到厂商节点。
步骤204,解码装置获取厂商节点的子节点的文本内容,将获取到的文本内容作为厂商信息进行保存,并执行步骤205。
具体地,解码装置可以获取位于厂商节点的起始标记和结束标记之间的文本节点的文本内容,将该文本内容作为厂商信息进行保存。
例如,解码装置获取位于厂商节点的起始标记<Manufacturer>和结束标记</Manufacturer>之间的文本节点的文本内容“Manufacturer”,将该文本内容“Manufacturer”作为厂商信息进行保存。
步骤205,解码装置从设备信息节点中查找序列号节点,如果查找到,则执行步骤206;否则,执行步骤207。
具体地,解码装置可以在设备信息节点的起始标记和结束标记之间查找序列号节点的起始标记和结束标记,如果查找到,则确定从设备信息节点中查找到序列号节点;否则,确定没有从设备信息节点中查找到序列号节点。
例如,解码装置在设备信息节点的起始标记<DeviceInfo>和结束标记</DeviceInfo>之间查找序列号节点的起始标记<SerialNo>和结束标记</SerialNo>,如果查找到,则确定从设备信息节点中查找到序列号节点;否则,确定没有从设备信息节点中查找到序列号节点。
步骤206,解码装置获取序列号节点的子节点的文本内容,将获取到的文本内容作为设备序列号进行保存,并执行步骤207。
具体地,解码装置可以获取位于序列号节点的起始标记和结束标记之间的文本节点的文本内容,将该文本内容作为设备序列号进行保存。
例如,解码装置获取位于序列号节点的起始标记<SerialNo>和结束标记</SerialNo>之间的文本节点的文本内容“987654321”,将该文本内容“987654321”作为设备序列号进行保存。
步骤207,解码装置从密钥包节点中查找密钥节点,如果查找到,则执行步骤208;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在密钥包节点的起始标记和结束标记之间查找密钥节点的起始标记和结束标记,如果查找到,则确定从密钥包节点中查找到密钥节点;否则,确定没有从密钥包节点中查找到密钥节点。
例如,解码装置在密钥包节点的起始标记<KeyPackage>和结束标记</KeyPackage>之间查找密钥节点的起始标记<Key>和结束标记</Key>,如果查找到,则确定从密钥包节点中查找到密钥节点;否则,确定没有从密钥包节点中查找到密钥节点。
步骤208,解码装置获取密钥节点中的密钥算法节点的属性值,将获取到的属性值作为密钥算法信息进行保存。
具体地,解码装置可以将位于密钥节点的起始标记中的密钥算法节点作为属性节点,获取密钥算法节点的属性值,并将获取到的属性值作为密钥算法信息进行保存。
例如,解码装置将位于密钥节点的起始标记<Key>中的密钥算法节点“Algorithm="urn:ietf:params:xml:ns:keyprov:pskc:hotp"”作为属性节点,获取上述密钥算法节点的属性值,即,“urn:ietf:params:xml:ns:keyprov:pskc:hotp”,并将获取到的属性值作为密钥算法信息进行保存。
步骤209,解码装置获取密钥节点中的密钥标识节点的属性值,将获取到的属性值作为密钥标识进行保存。
具体地,解码装置可以将位于密钥节点的起始标记中的密钥标识节点作为属性节点,获取密钥标识节点的属性值,并将获取到的属性值作为密钥标识进行保存。
例如,解码装置将位于密钥节点的起始标记<Key>中的密钥标识节点“Id="12345678"”作为属性节点,获取密钥算法节点的属性值“12345678”,并将获取到的属性值“12345678”作为密钥标识进行保存。
步骤210,解码装置从密钥节点中查找数据节点,如果查找到,则执行步骤211;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在密钥节点的起始标记和结束标记之间查找数据节点的起始标记和结束标记,如果查找到,则确定从密钥节点中查找到数据节点; 否则,确定没有从密钥节点中查找到数据节点。
例如,解码装置在密钥节点的起始标记<Key>和结束标记</Key>之间查找数据节点的起始标记<Data>和结束标记</Data>,如果查找到,则确定从密钥节点中查找到数据节点;否则,确定没有从密钥节点中查找到数据节点。
步骤211,解码装置从数据节点中查找密钥值节点,如果查找到,则执行步骤212;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在数据节点的起始标记和结束标记之间查找密钥值节点的起始标记和结束标记,如果查找到,则确定从数据节点中查找到密钥值节点;否则,确定没有从数据节点中查找到密钥值节点。
例如,解码装置在数据节点的起始标记和<Data>和结束标记</Data>之间查找密钥值节点的起始标记<Secret>和结束标记</Secret>,如果查找到,则确定从数据节点中查找到密钥值节点;否则,确定没有从数据节点中查找到密钥值节点。
步骤212,解码装置从密钥值节点中查找明文节点,如果查找到,则执行步骤213;否则,执行步骤214。
具体地,解码装置可以在密钥值节点的起始标记和结束标记之间查找明文节点的起始标记和结束标记,如果查找到,则确定从密钥值节点中查找到明文节点;否则,确定没有从密钥值节点中查找到明文节点。
例如,解码装置在密钥值节点的起始标记<Secret>和结束标记</Secret>之间查找明文节点的起始标记<PlainValue>和结束标记</PlainValue>,如果查找到,则确定从密钥值节点中查找到明文节点;否则,确定没有从密钥值节点中查找到明文节点。
步骤213,解码装置获取明文节点的子节点的文本内容,将获取到的文本内容作为密钥明文进行保存。
具体地,解码装置可以获取位于明文节点的起始标记和结束标记之间的文本节点的文本内容,将该文本内容作为密钥明文进行保存。
例如,解码装置获取位于明文节点的起始标记<PlainValue>和结束标记</PlainValue>之间的文本节点的文本内容“MTIzNA==”,将该文本内容“MTIzNA==”作为密钥明文进行保存。
步骤214,解码装置从密钥值节点中查找密文节点,如果查找到,则执行步 骤215;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在密钥值节点的起始标记和结束标记之间查找密文节点的起始标记和结束标记,如果查找到,则确定从密钥值节点中查找到密文节点;否则,确定没有从密钥值节点中查找到密文节点。
例如,解码装置在密钥值节点的起始标记<Secret>和结束标记</Secret>之间查找密文节点的起始标记<EncryptedValue>和结束标记</EncryptedValue>,如果查找到,则确定从密钥值节点中查找到密文节点;否则,确定没有从密钥值节点中查找到密文节点。
步骤215,解码装置从密文节点中查找第一加密方法节点,如果查找到,则执行步骤216;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在密文节点的起始标记和结束标记之间查找第一加密方法节点,如果查找到,则确定从密文节点中查找到第一加密方法节点;否则,确定没有从密文节点中查找到第一加密方法节点。
例如,解码装置在密文节点的起始标记<EncryptedValue>和结束标记</EncryptedValue>之间查找第一加密方法节点<xenc:EncryptionMethod/>,如果查找到,则确定从密文节点中查找到第一加密方法节点;否则,确定没有从密文节点中查找到第一加密方法节点。
步骤216,解码装置获取第一加密方法节点中的第一加密密钥算法节点的属性值作为加密密钥算法信息。
具体地,解码装置可以将第一加密方法节点中的密钥算法节点作为属性节点,获取密钥算法节点的属性值,并将获取到的属性值作为密钥算法信息进行保存。
例如,解码装置将第一加密方法节点中的密钥算法节点“Algorithm="aes128-cbc"”作为属性节点,获取密钥算法节点的属性值,即,“aes128-cbc”,并将获取到的属性值作为密钥算法信息进行保存。
步骤217,解码装置从密文节点中查找第一密码数据节点,如果查找到,则执行步骤218;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在密文节点的起始标记和结束标记之间查找第一密码数据节点的起始标记和结束标记,如果查找到,则确定从密文节点中查找到第一密码数据节点;否则,确定没有从密文节点中查找到第一密码数据节点。
例如,解码装置在密文节点的起始标记<EncryptedValue>和结束标记</EncryptedValue>之间查找第一密码数据节点的起始标记<xenc:CipherData>和结束标记</xenc:CipherData>,如果查找到,则确定从密文节点中查找到第一密码数据节点;否则,确定没有从密文节点中查找到第一密码数据节点。
步骤218,解码装置从第一密码数据节点中查找第一密码值节点,如果查找到,则执行步骤219;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在第一密码数据节点的起始标记和结束标记之间查找第一密码值节点的起始标记和结束标记,如果查找到,则确定从第一密码数据节点中查找到第一密码值节点;否则,确定没有从第一密码数据节点中查找到第一密码值节点。
例如,解码装置在第一密码数据节点的起始标记<xenc:CipherData>和结束标记</xenc:CipherData>之间查找第一密码值节点的起始标记<xenc:CipherValue>和结束标记</xenc:CipherValue>,如果查找到,则确定从第一密码数据节点中查找到第一密码值节点;否则,确定没有从第一密码数据节点中查找到第一密码值节点。
步骤219,解码装置获取第一密码值节点的子节点的文本内容作为密钥密文。
具体地,解码装置可以获取位于第一密码值节点的起始标记和结束标记之间的文本节点的文本内容作为密钥密文。
例如,解码装置获取位于第一密码值节点的起始标记<xenc:CipherValue>和结束标记</xenc:CipherValue>之间的文本节点的文本内容,即,AAECAwQFBgcICQoLDA0OD+cIHItlB3Wra1DUpxVvOx2lef1VmNPCMl8jwZqI UqGv,作为密钥密文。
步骤220,解码装置从密钥文件的根节点中查找加密密钥节点,如果查找到,则执行步骤221;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在密文文件的根节点的起始标记和结束标记之间查找加密密钥节点的起始标记和结束标记,如果查找到,则确定从密钥文件的根节点中查找到加密密钥节点;否则,确定没有从密钥文件的根节点中查找到加密密钥节点。其中,密钥文件的根节点为密钥容器节点
例如,解码装置在密钥容器节点的起始标记<KeyContainer>和结束标记 </KeyContainer>之间查找加密密钥节点的起始标记<EncryptionKey>和结束标记</EncryptionKey>,如果查找到,则确定从密钥文件的根节点中查找到加密密钥节点;否则,确定没有从密钥文件的根节点中查找到加密密钥节点。
步骤221,解码装置从加密密钥节点中查找密钥名节点,如果查找到,则执行步骤222;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在加密密钥节点的起始标记和结束标记之间查找密钥名节点的起始标记和结束标记,如果查找到,则确定从加密密钥节点中查找到密钥名节点;否则,确定没有从加密密钥节点中查找到密钥名节点。
例如,解码装置在加密密钥节点的起始标记<EncryptionKey>和结束标记</EncryptionKey>之间查找密钥名节点的起始标记<ds:KeyName>和结束标记</ds:KeyName>,如果查找到,则确定从加密密钥节点中查找到密钥名节点;否则,确定没有从加密密钥节点中查找到密钥名节点。
步骤222,解码装置获取密钥名节点的子节点的文本内容作为加密密钥名,根据与加密密钥名对应的密钥,使用与获取到的加密密钥算法信息对应的策略,对获取到的密钥密文进行解密,得到密钥明文。
具体地,解码装置可以获取位于密钥名节点的起始标记和结束标记之间的文本节点的文本内容作为加密密钥名,根据与加密密钥名对应的密钥,使用与获取到的加密密钥算法信息对应的策略,对获取到的密钥密文进行解密,得到密钥明文。
例如,解码装置获取位于密钥名节点的起始标记<ds:KeyName>和结束标记</ds:KeyName>之间的文本节点的文本内容“Pre-shared-key”作为加密密钥名,根据与加密密钥名“Pre-shared-key”对应的密钥,使用与通过步骤216获取到的加密密钥算法信息,即“aes128-cbc,”对应的策略,对通过步骤219获取到的密钥密文,即,“AAECAwQFBgcICQoLDA0OD+cIHItlB3Wra1DUpxVvOx2lef1VmNPCMl8jwZ qIUqGv”进行解密,得到密钥明文“MTIzNA==”。
步骤223,解码装置从密钥值节点中查找MAC值节点,如果查找到,则执行步骤225;否则,执行步骤224。
具体地,解码装置可以在密钥值节点的起始标记和结束标记之间查找MAC值节点的起始标记和结束标记,如果查找到,则确定从密钥值节点中查找到MAC 值节点;否则,确定没有从密钥值节点中查找到MAC值节点。
例如,解码装置在密钥值节点的起始标记<Secret>和结束标记</Secret>之间查找MAC值节点的起始标记<ValueMAC>和结束标记</ValueMAC>,如果查找到,则确定从密钥值节点中查找到MAC值节点;否则,确定没有从密钥值节点中查找到MAC值节点。
步骤224,解码装置对解密得到的密钥明文进行保存。
例如,解码装置对通过步骤222解密得到的密钥明文“MTIzNA==”进行保存。
步骤225,解码装置获取MAC值节点的子节点的文本内容作为摘要值。
具体地,解码装置可以获取位于MAC值节点的起始标记和结束标记之间的文本节点的文本内容作为摘要值。
例如,解码装置获取位于MAC值节点的起始标记<ValueMAC>和结束标记</ValueMAC>之间的文本节点的文本内容“Su+NvtQfmvfJzF6bmQiJqoLRExc=”作为摘要值。
步骤226,解码装置从密钥文件的根节点中查找MAC方法节点,如果查找到,则执行步骤227;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在密文文件的根节点的起始标记和结束标记之间查找MAC方法节点的起始标记和结束标记,如果查找到,则确定从密钥文件的根节点中查找到MAC方法节点;否则,确定没有从密钥文件的根节点中查找到MAC方法节点。其中,密文文件的根节点为密钥容器节点。
例如,解码装置在密钥容器节点的起始标记<KeyContainer>和结束标记</KeyContainer>之间查找MAC方法节点的起始标记<MACMethod>和结束标记</MACMethod>,如果查找到,则确定从密钥文件的根节点中查找到MAC方法节点;否则,确定没有从密钥文件的根节点中查找到MAC方法节点。
步骤227,解码装置获取MAC方法节点中的MAC算法节点的属性值作为MAC算法信息。
具体地,解码装置可以将位于MAC方法节点的起始标记中的密钥算法节点作为属性节点,获取MAC算法节点的属性值作为MAC算法信息。
例如,解码装置将位于MAC方法节点的起始标记<MACMethod>中的MAC算法节点,即,“Algorithm="hmac-sha1"”作为属性节点,获取MAC算法节点 的属性值,即,“hmac-sha1”作为MAC算法信息。
步骤228,解码装置从MAC方法节点中查找MAC密钥节点,如果查找到,则执行步骤229;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在MAC方法节点的起始标记和结束标记之间查找MAC密钥节点的起始标记和结束标记,如果查找到,则确定从MAC方法节点中查找到MAC密钥节点;否则,确定没有从MAC方法节点中查找到MAC密钥节点。
例如,解码装置在MAC方法节点的起始标记<MACMethod>和结束标记</MACMethod>之间查找MAC密钥节点的起始标记<MACKey>和结束标记</MACKey>,如果查找到,则确定从MAC方法节点中查找到MAC密钥节点;否则,确定没有从MAC方法节点中查找到MAC密钥节点。
步骤229,解码装置从MAC密钥节点中查找第二加密方法节点,如果查找到,则执行步骤230;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在MAC密钥节点的起始标记和结束标记之间查找第二加密方法节点,如果查找到,则确定从MAC密钥节点中查找到第二加密方法节点;否则,确定没有从MAC密钥节点中查找到第二加密方法节点。
例如,解码装置在MAC密钥节点的起始标记<MACKey>和结束标记</MACKey>之间查找第二加密方法节点,如果查找到,则确定从MAC密钥节点中查找到第二加密方法节点;否则,确定没有从MAC密钥节点中查找到第二加密方法节点。
步骤230,解码装置获取第二加密方法节点中的第二加密密钥算法节点的属性值作为加密密钥算法信息。
具体地,解码装置可以将第二加密方法节点中的第二加密密钥算法节点作为属性节点,获取第二加密密钥算法节点的属性值作为加密密钥算法信息。
例如,解码装置将第二加密方法节点中的第二加密密钥算法节点“Algorithm="aes128-cbc"”作为属性节点,获取第二加密密钥算法节点的属性值,即,“aes128-cbc”作为加密密钥算法信息。
步骤231,解码装置从MAC密钥节点中查找第二密码数据节点,如果查找到,则执行步骤232;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在MAC密钥节点的起始标记和结束标记之间查找第 二密码数据节点的起始标记和结束标记,如果查找到,则确定从MAC密钥节点中查找到第二密码数据节点;否则,确定没有从MAC密钥节点中查找到第二密码数据节点。
例如,解码装置在MAC密钥节点的起始标记<MACKey>和结束标记</MACKey>之间查找第二密码数据节点的起始标记<xenc:CipherData>和结束标记</xenc:CipherData>,如果查找到,则确定从MAC密钥节点中查找到第二密码数据节点;否则,确定没有从MAC密钥节点中查找到第二密码数据节点。
步骤232,解码装置从第二密码数据节点中查找第二密码值节点,如果查找到,则执行步骤233;否则,解码装置显示错误信息,结束流程。
具体地,解码装置可以在第二密码数据节点的起始标记和结束标记之间查找第二密码值节点的起始标记和结束标记,如果查找到,则确定从第二密码数据节点中查找到第二密码值节点;否则,确定没有从第二密码数据节点中查找到第二密码值节点。
例如,解码装置在第二密码数据节点的起始标记<xenc:CipherData>和结束标记</xenc:CipherData>之间查找第二密码值节点的起始标记<xenc:CipherValue>和结束标记</xenc:CipherValue>,如果查找到,则确定从第二密码数据节点中查找到第二密码值节点;否则,确定没有从第二密码数据节点中查找到第二密码值节点。
步骤233,解码装置获取第二密码值节点的子节点的文本内容作为MAC密钥密文。
具体地,解码装置可以获取位于第二密码值节点的起始标记和结束标记之间的文本节点的文本内容作为MAC密钥密文。
例如,解码装置获取位于第二密码值节点的起始标记<xenc:CipherValue>和结束标记</xenc:CipherValue>之间的文本节点的文本内容,即,“ESIzRFVmd4iZABEiM0RVZgKn6WjLaTC1sbeBMSvIhRejN9vJa2BOlSaMrR7I5wSX”作为MAC密钥密文。
步骤234,解码装置根据与获取到的加密密钥名对应的密钥,使用与获取到的加密密钥算法信息对应的策略,对获取到的MAC密钥密文进行解密,得到MAC密钥。
例如,解码装置根据与通过步骤222获取到的加密密钥名“Pre-shared-key” 对应的密钥,使用与通过步骤230获取到的加密密钥算法信息“aes128-cbc”对应的策略,对通过步骤233获取到的MAC密钥密文,即,“ESIzRFVmd4iZABEiM0RVZgKn6WjLaTC1sbeBMSvIhRejN9vJa2BOlSaMrR7I5wSX”进行解密,得到MAC密钥。
步骤235,解码装置根据解密得到的MAC密钥,对解密得到的密钥明文进行摘要处理,得到摘要值。
例如,解码装置根据通过步骤234解密得到的MAC密钥,对通过步骤222解密得到的密钥明文“MTIzNA==”进行摘要处理,得到摘要值“Su+NvtQfmvfJzF6bmQiJqoLRExc=”。
步骤236,解码装置判断摘要处理得到的摘要值是否与从MAC值节点中获取的摘要值相同,如果是,则执行步骤237;否则,解码装置显示错误信息,结束流程。
例如,解码装置判断出通过步骤235摘要处理得到的摘要值“Su+NvtQfmvfJzF6bmQiJqoLRExc=”与通过步骤225从MAC值节点中获取的摘要值“Su+NvtQfmvfJzF6bmQiJqoLRExc=”相同。
步骤237,解码装置对解密得到的密钥明文进行保存。
例如,解码装置对通过步骤222解密得到的密钥明文“MTIzNA==”进行保存。
本发明达到的有益效果:解码装置对统一格式的密钥文件进行解码,得到密钥信息,使得认证系统能够对多个设备厂商配置的密钥信息执行统一的处理流程,减轻了认证系统的工作负担。
进一步地,本发明的另一种实施方式中,解码装置从密钥包节点中查找到密钥节点之后,还可以从密钥节点中查找发行方节点,获取发行方节点的子节点的文本内容,将获取到的文本内容作为发行方信息进行保存。
解码装置从密钥包节点中查找到设备信息节点之后,还可以从设备信息节点中查找设备用户标识节点,获取设备用户标识节点的子节点的文本内容,将获取到的文本内容作为设备用户标识进行保存。
解码装置从密钥文件的根节点中查找到密钥包节点之后,还可以从密钥包节点中查找密码模块节点,从密码模块节点中查找密码模块标识节点,获取密码模块标识节点的子节点的文本内容,将获取到的文本内容作为密码模块标识 进行保存。
解码装置从密钥包节点中查找到密钥节点之后,还可以从密钥节点中查找密钥用户标识节点,获取密钥用户标识节点的子节点的文本内容,将获取到的文本内容作为密钥用户标识进行保存。
解码装置从密钥包节点中查找到密钥节点之后,还可以从密钥节点中查找策略节点,从策略节点中查找起始日期节点、终结日期节点和密钥用途节点,获取起始日期节点的子节点的文本内容,将获取到的文本内容作为密钥起始日期进行保存;获取终结日期节点的子节点的文本内容,将获取到的文本内容作为密钥终结日期进行保存;获取密钥用途节点的子节点的文本内容,将获取到的文本内容作为密钥用途信息进行保存。
解码装置从密钥包节点中查找到密钥节点之后,还可以从密钥节点中查找算法参数节点,从算法参数节点中查找响应码格式节点,获取响应码格式节点中的响应码长度节点的属性值,将获取到的属性值作为响应码长度进行保存,获取响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;
相应地,解码装置从密钥节点中查找到数据节点之后,还可以从数据节点中查找时间节点、时间间隔节点和时间偏移节点,从时间节点中查找第二明文节点,获取第二明文节点的子节点的文本内容,将获取到的文本内容作为时间因子的初始值进行保存;从时间间隔节点中查找第三明文节点,获取第三明文节点的子节点的文本内容,将获取到的文本内容作为时间间隔值进行保存;从时间偏移节点中查找第四明文节点,获取第四明文节点的子节点的文本内容,将获取到的文本内容作为时间偏移量的初始值进行保存。
解码装置从密钥节点中查找到数据节点之后,还可以从数据节点中查找计数器节点,从计数器节点中查找第五明文节点,获取第五明文节点的子节点的文本内容,将获取到的文本内容作为事件因子的初始值进行保存。
基于上述实现密钥信息编码的装置的工作方法,本发明实施例还提供了一种编码装置,如图7所示,包括:
读取模块710,用于从密钥信息的密钥属性列表中读取厂商信息、设备序列号、密钥标识、密钥算法信息和密钥明文;
生成模块720,用于生成密钥容器节点,将密钥容器节点作为根节点添加到密钥文件中;生成密钥包节点,将密钥包节点作为密钥容器节点的子节点添加到密钥容器节点中;生成设备信息节点和密钥节点,将设备信息节点和密钥节点作为密钥包节点的子节点添加到密钥包节点中;
生成厂商节点和序列号节点,将厂商节点和序列号节点作为设备信息节点的子节点添加到设备信息节点中;将读取模块710读取到的厂商信息作为文本节点添加到厂商节点中,将读取模块710读取到的设备序列号作为文本节点添加到序列号节点中;
根据读取模块710读取到的密钥算法信息生成密钥算法节点,根据读取模块710读取到的密钥标识生成密钥标识节点,将密钥标识节点和密钥算法节点作为属性节点添加到密钥节点中;生成数据节点,将数据节点作为密钥节点的子节点添加到密钥节点中;生成密钥值节点,将密钥值节点作为数据节点的子节点添加到数据节点中;
添加模块730,用于将读取模块710读取到的密钥明文或与密钥明文对应的密钥密文添加到密钥值节点中。
进一步地,上述读取模块710,还用于从密钥信息中读取密钥传输方式;
相应地,上述编码装置,还包括:
第一判断模块740,用于判断密钥传输方式是否为明文传输;
上述添加模块730,具体用于在第一判断模块740判断出密钥传输方式为明文传输时,生成第一明文节点,将第一明文节点作为密钥值节点的子节点添加到密钥值节点中,将读取模块710读取到的密钥明文作为文本节点添加到第一明文节点中。
进一步地,上述读取模块710,还用于从密钥信息中读取加密密钥名和加密密钥算法信息;
上述生成模块720,还用于生成加密密钥节点,将加密密钥节点作为密钥容器节点的子节点添加到密钥容器节点中;生成密钥名节点,将密钥名节点作为加密密钥节点的子节点添加到加密密钥节点中;将读取模块710读取到的加密密钥名作为文本节点添加到密钥名节点中;
上述添加模块730,具体用于在第一判断模块740判断出密钥传输方式不是明文传输时,生成密文节点,将密文节点作为密钥值节点的子节点添加到密钥 值节点中;生成第一加密方法节点和第一密码数据节点,将第一加密方法节点和第一密码数据节点作为密文节点的子节点添加到密文节点中;根据读取模块710读取到的加密密钥算法信息生成第一加密密钥算法节点,将第一加密密钥算法节点作为属性节点添加到第一加密方法节点中;生成第一密码值节点,将第一密码值节点作为第一密码数据节点的子节点添加到第一密码数据节点中;根据与加密密钥名对应的密钥,使用与加密密钥算法信息对应的策略,对密钥明文进行加密,将加密得到的密钥密文作为文本节点添加到第一密码值节点中。
进一步地,上述读取模块710,还用于从密钥信息中读取MAC算法信息、加密密钥算法信息和MAC密钥;
相应地,上述生成模块720,还用于生成MAC方法节点,将MAC方法节点作为密钥容器节点的子节点添加到密钥容器节点中;根据读取模块710读取到的MAC算法信息生成MAC算法节点,将MAC算法节点作为属性节点添加到MAC方法节点中;生成MAC密钥节点,将MAC密钥节点作为MAC方法节点的子节点添加到MAC方法节点中;生成第二加密方法节点和第二密码数据节点,将第二加密方法节点和第二密码数据节点作为子节点添加到MAC密钥节点中;根据读取模块710读取到的加密密钥算法信息生成第二加密密钥算法节点,将第二加密密钥算法节点作为属性节点添加到第二加密方法节点中;生成第二密码值节点,将第二密码值节点作为第二密码数据节点的子节点添加到第二密码数据节点中;根据与读取模块710读取到的加密密钥名对应的密钥,使用与加密密钥算法信息对应的策略,对读取模块710读取到的MAC密钥进行加密,将加密得到的密文作为文本节点添加到第二密码值节点中;生成MAC值节点,将MAC值节点作为密钥值节点的子节点添加到密钥值节点中;根据读取模块710读取到的MAC密钥,使用与读取模块710读取到的MAC算法信息对应的策略,对密钥明文进行摘要处理,将得到的摘要值作为文本节点添加到MAC值节点中。
进一步地,上述编码装置,还包括:
选择模块750,用于从密钥信息中选取一个未被处理过的密钥属性列表作为当前列表;
相应地,上述读取模块710,具体用于从选择模块750选取的当前列表中读取厂商信息、设备序列号、密钥标识、密钥算法信息和密钥明文;
上述编码装置,还包括:
第二判断模块760,用于在添加模块730将密钥明文或与密钥明文对应的密钥密文添加到密钥值节点中后,判断密钥信息中是否存在未被处理过的密钥属性列表,如果是,则触发选择模块750从密钥信息中选取一个未被处理过的密钥属性列表作为当前列表;否则,确定编码结束。
相应地,上述读取模块710,还用于从密钥属性列表中读取发行方信息;
上述生成模块720,还用于生成发行方节点,将发行方节点作为密钥节点的子节点添加到密钥节点中,将发行方信息作为文本节点添加到发行方节点中。
进一步地,上述读取模块710,还用于从密钥属性列表中读取设备用户标识;
相应地,上述生成模块720,还用于生成设备用户标识节点,将设备用户标识节点作为设备信息节点的子节点添加到设备信息节点中,将设备用户标识作为文本节点添加到设备用户标识节点中。
进一步地,上述读取模块710,还用于从密钥属性列表中读取密码模块标识,
生成模块720,还用于生成密码模块节点,将密码模块节点作为密钥包节点的子节点添加到密钥包节点中,生成密码模块标识节点,将密码模块标识节点作为密码模块节点的子节点添加到密码模块节点中,将密码模块标识作为文本节点添加到密码模块标识节点中。
进一步地,上述读取模块710,还用于从密钥属性列表中读取密钥用户标识;
相应地,上述生成模块720,还用于生成密钥用户标识节点,将密钥用户标识节点作为密钥节点的子节点添加到密钥节点中,将密钥用户标识作为文本节点添加到密钥用户标识节点中。
进一步地,上述读取模块710,还用于从密钥属性列表中读取密钥起始日期、密钥终结日期和密钥用途信息;
相应地,上述生成模块720,还用于生成策略节点,将策略节点作为密钥节点的子节点添加到密钥节点中,生成起始日期节点、终结日期节点和密钥用途节点,将起始日期节点、终结日期节点和密钥用途节点添加到策略节点中,将密钥起始日期作为文本节点添加到起始日期节点中,将密钥终结日期作为文本节点添加到终结日期节点中,将密钥用途信息作为文本节点添加到密钥用途节点中。
进一步地,上述读取模块710,还用于从密钥属性列表中读取响应码长度、 响应码编码信息、时间因子的初始值、时间间隔值和时间偏移量的初始值;
相应地,上述生成模块720,还用于生成算法参数节点,将算法参数节点作为密钥节点的子节点添加到密钥节点中,生成响应码格式节点,将响应码格式节点作为算法参数节点的子节点添加到算法参数节点中,根据响应码长度生成响应码长度节点,根据响应码编码信息生成响应码编码信息节点,将响应码长度节点和响应码编码信息节点作为属性节点添加到响应码格式节点中;生成时间节点,将时间节点作为数据节点的子节点添加到数据节点中,生成第二明文节点,将第二明文节点作为时间节点的子节点添加到时间节点中,将时间因子的初始值作为文本节点添加到第二明文节点中;生成时间间隔节点,将时间间隔节点作为数据节点的子节点添加到数据节点中,生成第三明文节点,将第三明文节点作为时间间隔节点的子节点添加到时间间隔节点中,将时间间隔值作为文本节点添加到第三明文节点中;生成时间偏移节点,将时间偏移节点作为数据节点的子节点添加到数据节点中,生成第四明文节点,将第四明文节点作为时间偏移节点的子节点添加到时间偏移节点中,将时间偏移量的初始值作为文本节点添加到第四明文节点中。
进一步地,上述读取模块710,还用于从密钥属性列表中读取响应码长度、响应码编码信息和事件因子的初始值;
相应地,上述生成模块720,还用于生成算法参数节点,将算法参数节点作为密钥节点的子节点添加到密钥节点中,生成响应码格式节点,将响应码格式节点作为算法参数节点的子节点添加到算法参数节点中,根据响应码长度生成响应码长度节点,根据响应码编码信息生成响应码编码信息节点,将响应码长度节点和响应码编码信息节点作为属性节点添加到响应码格式节点中;生成计数器节点,将计数器节点作为数据节点的子节点添加到数据节点中,生成第五明文节点,将第五明文节点作为计数器节点的子节点添加到计数器节点中,将事件因子的初始值作为文本节点添加到第五明文节点中。
本发明达到的有益效果:编码装置将密钥信息编码为统一格式的密钥文件,使得认证系统能够对多个设备厂商配置的密钥信息执行统一的处理流程,减轻了认证系统的工作负担。
基于上述实现密钥信息解码的装置的工作方法,本发明实施例还提供了一 种解码装置,如图8所示,包括:
查找模块810,用于从密钥文件的根节点中查找密钥包节点,如果查找到密钥包节点,则从密钥包节点中查找设备信息节点,从设备信息节点中查找厂商节点、序列号节点和密钥节点;如果查找到密钥节点,则从密钥节点中查找数据节点;如果查找到数据节点,则从数据节点中查找密钥值节点;
第一获取模块820,用于在查找模块810查找到厂商节点时,获取厂商节点的子节点的文本内容,将获取到的文本内容作为厂商信息进行保存;在查找模块810查找到序列号节点时,获取序列号节点的子节点的文本内容,将获取到的文本内容作为设备序列号进行保存;在查找模块810查找到密钥节点时,获取密钥节点中的密钥算法节点的属性值,将获取到的属性值作为密钥算法信息进行保存;获取密钥节点中的密钥标识节点的属性值,将获取到的属性值作为密钥标识进行保存;
第二获取模块830,用于在查找模块810查找到密钥值节点时,从密钥值节点中获取密钥明文进行保存,
或者,从密钥值节点中获取密钥密文,对密钥密文进行解密,对解密得到的密钥明文进行保存;
显示模块840,用于在查找模块810没有查找到密钥包节点、密钥节点、数据节点或密钥值节点时,显示错误信息。
具体地,上述第二获取模块830,具体用于从密钥值节点中查找明文节点,获取明文节点的子节点的文本内容,将获取到的文本内容作为密钥明文进行保存。
或者,
从密钥值节点中查找密文节点,从密文节点中查找第一加密方法节点和第一密码数据节点,获取第一加密方法节点中的第一加密密钥算法节点的属性值作为加密密钥算法信息,从第一密码数据节点中查找第一密码值节点,获取第一密码值节点的子节点的文本内容作为密钥密文;
从密钥文件的根节点中查找加密密钥节点,从加密密钥节点中查找密钥名节点,获取密钥名节点的子节点的文本内容作为加密密钥名,根据与加密密钥名对应的密钥,使用与加密密钥算法信息对应的策略,对密钥密文进行解密,得到密钥明文。
进一步地,上述查找模块810,还用于在从数据节点中查找到密钥值节点之后,从密钥值节点中查找MAC值节点,从密钥文件的根节点中查找MAC方法节点,从MAC方法节点中查找MAC密钥节点,从MAC密钥节点中查找第二加密方法节点和第二密码数据节点,从第二密码数据节点中查找第二密码值节点;
相应地,上述第一获取模块820,还用于获取MAC值节点的子节点的文本内容作为摘要值,获取MAC方法节点中的MAC算法节点的属性值作为MAC算法信息,获取第二加密方法节点中的第二加密密钥算法节点的属性值作为加密密钥算法信息,获取第二密码值节点的子节点的文本内容作为MAC密钥密文,根据加密密钥名对应的密钥,使用与加密密钥算法信息对应的策略,对MAC密钥密文进行解密,得到MAC密钥;
上述解码装置,还包括:
摘要模块850,用于根据第一获取模块820获取到的MAC密钥,对密钥明文进行摘要处理;
判断模块860,用于判断摘要模块850摘要处理得到的摘要值是否与第一获取模块820从MAC值节点中获取的摘要值相同;
第二获取模块830,具体用于从密钥值节点中获取密钥密文,对密钥密文进行解密,得到密钥明文,并在判断模块860判断出摘要模块850摘要处理得到的摘要值与第一获取模块820从密钥值节点中的MAC值节点中获取的摘要值相同时,对密钥明文进行保存;
显示模块840,还用于在判断模块860判断出摘要模块850摘要处理得到的摘要值与第一获取模块820从密钥值节点中的MAC值节点中获取的摘要值不同时,显示错误信息。
进一步地,上述查找模块810,还用于在从密钥包节点中查找到密钥节点之后,从密钥节点中查找发行方节点;
相应地,上述第一获取模块820,还用于在查找模块810查找到发行方节点时,获取发行方节点的子节点的文本内容,将获取到的文本内容作为发行方信息进行保存。
进一步地,上述查找模块810,还用于在从密钥包节点中查找到设备信息节点之后,从设备信息节点中查找设备用户标识节点;
相应地,上述第一获取模块820,还用于在查找模块810查找到设备用户标识节点时,获取设备用户标识节点的子节点的文本内容,将获取到的文本内容作为设备用户标识进行保存。
进一步地,上述查找模块810,还用于在从密钥文件的根节点中查找到密钥包节点之后,从密钥包节点中查找密码模块节点,从密码模块节点中查找密码模块标识节点;
相应地,上述第一获取模块820,还用于在查找模块810查找到密码模块标识节点时,获取密码模块标识节点的子节点的文本内容,将获取到的文本内容作为密码模块标识进行保存。
进一步地,上述查找模块810,还用于在从密钥包节点中查找到密钥节点之后,从密钥节点中查找密钥用户标识节点;
相应地,上述第一获取模块820,还用于在查找模块810查找到密钥用户标识节点时,获取密钥用户标识节点的子节点的文本内容,将获取到的文本内容作为密钥用户标识进行保存。
进一步地,上述查找模块810,还用于在从密钥包节点中查找到密钥节点之后,从密钥节点中查找策略节点,从策略节点中查找起始日期节点、终结日期节点和密钥用途节点;
相应地,上述第一获取模块820,还用于在查找模块810查找到起始日期节点时,获取起始日期节点的子节点的文本内容,将获取到的文本内容作为密钥起始日期进行保存;在查找模块810查找到终结日期节点时,获取终结日期节点的子节点的文本内容,将获取到的文本内容作为密钥终结日期进行保存;在查找模块810查找到密钥用途节点时,获取密钥用途节点的子节点的文本内容,将获取到的文本内容作为密钥用途信息进行保存。
进一步地,上述查找模块810,还用于在从密钥包节点中查找到密钥节点之后,从密钥节点中查找算法参数节点,从算法参数节点中查找响应码格式节点;在从密钥节点中查找到数据节点之后,从数据节点中查找时间节点、时间间隔节点和时间偏移节点,从时间节点中查找第二明文节点,从时间间隔节点中查找第三明文节点,从时间偏移节点中查找第四明文节点;
相应地,上述第一获取模块820,还用于在查找模块810查找到响应码格式节点时,获取响应码格式节点中的响应码长度节点的属性值,将获取到的属性 值作为响应码长度进行保存,获取响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;在查找模块810查找到第二明文节点时,获取第二明文节点的子节点的文本内容,将获取到的文本内容作为时间因子的初始值进行保存;在查找模块810查找到第三明文节点时,获取第三明文节点的子节点的文本内容,将获取到的文本内容作为时间间隔值进行保存;在查找模块810查找到第四明文节点时,获取第四明文节点的子节点的文本内容,将获取到的文本内容作为时间偏移量的初始值进行保存。
进一步地,上述查找模块810,还用于在从密钥包节点中查找到密钥节点之后,从密钥节点中查找算法参数节点,从算法参数节点中查找响应码格式节点;在从密钥节点中查找到数据节点之后,从数据节点中查找计数器节点,从计数器节点中查找第五明文节点;
相应地,上述第一获取模块820,还用于在查找模块810查找到响应码格式节点时,获取响应码格式节点中的响应码长度节点的属性值,将获取到的属性值作为响应码长度进行保存,获取响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;在查找模块810查找到第五明文节点时,获取第五明文节点的子节点的文本内容,将获取到的文本内容作为事件因子的初始值进行保存。
本发明达到的有益效果:解码装置对统一格式的密钥文件进行解码,得到密钥信息,使得认证系统能够对多个设备厂商配置的密钥信息执行统一的处理流程,减轻了认证系统的工作负担。
结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

一种实现密钥信息编解码的装置及其工作方法.pdf_第1页
第1页 / 共53页
一种实现密钥信息编解码的装置及其工作方法.pdf_第2页
第2页 / 共53页
一种实现密钥信息编解码的装置及其工作方法.pdf_第3页
第3页 / 共53页
点击查看更多>>
资源描述

《一种实现密钥信息编解码的装置及其工作方法.pdf》由会员分享,可在线阅读,更多相关《一种实现密钥信息编解码的装置及其工作方法.pdf(53页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104092537A43申请公布日20141008CN104092537A21申请号201410314409022申请日20140703H04L9/0820060171申请人飞天诚信科技股份有限公司地址100085北京市海淀区学清路9号汇智大厦B楼17层72发明人陆舟于华章54发明名称一种实现密钥信息编解码的装置及其工作方法57摘要本发明公开一种实现密钥信息编解码的装置及其工作方法,其中,编码装置将密钥信息编码为统一格式的密钥文件,解码装置对密钥文件进行解码,得到密钥信息,使得认证系统能够对多个设备厂商配置的密钥信息执行统一的处理流程,减轻了认证系统的工作负担。51INTCL。

2、权利要求书12页说明书33页附图7页19中华人民共和国国家知识产权局12发明专利申请权利要求书12页说明书33页附图7页10申请公布号CN104092537ACN104092537A1/12页21一种实现密钥信息编码的装置的工作方法,其特征在于,包括以下步骤S1、编码装置生成密钥容器节点,将所述密钥容器节点作为根节点添加到密钥文件中;S2、所述编码装置生成密钥包节点,将所述密钥包节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;S3、所述编码装置生成设备信息节点,将所述设备信息节点作为所述密钥包节点的子节点添加到所述密钥包节点中;S4、所述编码装置生成厂商节点和序列号节点,将所述厂商节。

3、点和所述序列号节点作为所述设备信息节点的子节点添加到所述设备信息节点中,从密钥信息的密钥属性列表中读取厂商信息和设备序列号,将所述厂商信息作为文本节点添加到所述厂商节点中,将所述设备序列号作为文本节点添加到所述序列号节点中;S5、所述编码装置生成密钥节点,将所述密钥节点作为所述密钥包节点的子节点添加到所述密钥包节点中;S6、所述编码装置从所述密钥属性列表中读取密钥标识、密钥算法信息和密钥明文,根据所述密钥标识生成密钥标识节点,根据所述密钥算法信息生成密钥算法节点,将所述密钥标识节点和所述密钥算法节点作为属性节点添加到所述密钥节点中;所述编码装置生成数据节点,将所述数据节点作为所述密钥节点的子节。

4、点添加到所述密钥节点中;所述编码装置生成密钥值节点,将所述密钥值节点作为所述数据节点的子节点添加到所述数据节点中,将所述密钥明文或与所述密钥明文对应的密钥密文添加到所述密钥值节点中。2如权利要求1所述的方法,其特征在于,所述编码装置将所述密钥明文添加到所述密钥值节点中之前,还包括所述编码装置从所述密钥信息中读取密钥传输方式,并判断出所述密钥传输方式为明文传输;所述编码装置将所述密钥明文添加到所述密钥值节点中,具体为所述编码装置生成第一明文节点,将所述第一明文节点作为所述密钥值节点的子节点添加到所述密钥值节点中,将所述密钥明文作为文本节点添加到所述第一明文节点中。3如权利要求1所述的方法,其特征。

5、在于,所述步骤S1之后,还包括所述编码装置从所述密钥信息中读取密钥传输方式,并判断出所述密钥传输方式不是明文传输;所述编码装置生成加密密钥节点,将所述加密密钥节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;所述编码装置生成密钥名节点,将所述密钥名节点作为所述加密密钥节点的子节点添加到所述加密密钥节点中;所述编码装置从所述密钥信息中读取加密密钥名,将所述加密密钥名作为文本节点添加到所述密钥名节点中;所述编码装置将与所述密钥明文对应的密钥密文添加到所述密钥值节点中,具体为所述编码装置生成密文节点,将所述密文节点作为所述密钥值节点的子节点添加到所述密钥值节点中;所述编码装置生成第一加密方法。

6、节点和第一密码数据节点,将所述第一加密方法节点和所述第一密码数据节点作为所述密文节点的子节点添加到所述密文节点中;所述编码装置从所述密钥信息中读取加密密钥算法信息,根据所述加密密钥算法信息生成第一加密权利要求书CN104092537A2/12页3密钥算法节点,将所述第一加密密钥算法节点作为属性节点添加到所述第一加密方法节点中;所述编码装置生成第一密码值节点,将所述第一密码值节点作为所述第一密码数据节点的子节点添加到所述第一密码数据节点中;所述编码装置根据与所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述密钥明文进行加密,将加密得到的密钥密文作为文本节点添加到所述第一密码值。

7、节点中。4如权利要求3所述的方法,其特征在于,所述步骤S2之前,还包括所述编码装置生成MAC方法节点,将所述MAC方法节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;所述编码装置从所述密钥信息中读取MAC算法信息,根据所述MAC算法信息生成MAC算法节点,将所述MAC算法节点作为属性节点添加到所述MAC方法节点中;所述编码装置生成MAC密钥节点,将所述MAC密钥节点作为所述MAC方法节点的子节点添加到所述MAC方法节点中;所述编码装置生成第二加密方法节点和第二密码数据节点,将所述第二加密方法节点和所述第二密码数据节点作为子节点添加到所述MAC密钥节点中;所述编码装置从所述密钥信息中读。

8、取加密密钥算法信息,根据所述加密密钥算法信息生成第二加密密钥算法节点,将所述第二加密密钥算法节点作为属性节点添加到所述第二加密方法节点中;所述编码装置生成第二密码值节点,将所述第二密码值节点作为所述第二密码数据节点的子节点添加到所述第二密码数据节点中;所述编码装置从所述密钥信息中读取MAC密钥,根据与所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述MAC密钥进行加密,将加密得到的密文作为文本节点添加到所述第二密码值节点中;所述编码装置生成密钥值节点之后,还包括所述编码装置生成MAC值节点,将所述MAC值节点作为所述密钥值节点的子节点添加到所述密钥值节点中;所述编码装置根据。

9、所述MAC密钥,使用与所述MAC算法信息对应的策略,对所述密钥明文进行摘要处理,将得到的摘要值作为文本节点添加到所述MAC值节点中。5如权利要求1所述的方法,其特征在于,所述步骤S2之前,还包括S7、所述编码装置从密钥信息中选取一个未被处理过的密钥属性列表作为当前列表;所述编码装置从密钥信息的密钥属性列表中读取厂商信息和设备序列号,具体为所述编码装置从当前列表中读取厂商信息和设备序列号;所述编码装置从所述密钥属性列表中读取密钥标识、密钥算法信息和密钥明文,具体为所述编码装置从当前列表中读取密钥标识、密钥算法信息和密钥明文;所述步骤S6之后,还包括所述编码装置判断所述密钥信息中是否存在未被处理过。

10、的密钥属性列表,如果是,则返回步骤S7;否则,结束流程。6如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括所述编码装置生成发行方节点,将所述发行方节点作为所述密钥节点的子节点添加到所述密钥节点中,从所述密钥属性列表中读取发行方信息,将所述发行方信息作为文本节点添加到所述发行方节点中。7如权利要求1所述的方法,其特征在于,所述编码装置生成设备信息节点之后,还包权利要求书CN104092537A3/12页4括所述编码装置生成设备用户标识节点,将所述设备用户标识节点作为所述设备信息节点的子节点添加到所述设备信息节点中,从所述密钥属性列表中读取设备用户标识,将所述设备用户标识作。

11、为文本节点添加到所述设备用户标识节点中。8如权利要求1所述的方法,其特征在于,所述编码装置生成密钥包节点之后,还包括所述编码装置生成密码模块节点,将所述密码模块节点作为所述密钥包节点的子节点添加到所述密钥包节点中,生成密码模块标识节点,将所述密码模块标识节点作为所述密码模块节点的子节点添加到所述密码模块节点中,从所述密钥属性列表中读取密码模块标识,将所述密码模块标识作为文本节点添加到所述密码模块标识节点中。9如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括所述编码装置生成密钥用户标识节点,将所述密钥用户标识节点作为所述密钥节点的子节点添加到所述密钥节点中,从所述密钥属性。

12、列表中读取密钥用户标识,将所述密钥用户标识作为文本节点添加到所述密钥用户标识节点中。10如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括所述编码装置生成策略节点,将所述策略节点作为所述密钥节点的子节点添加到所述密钥节点中,生成起始日期节点、终结日期节点和密钥用途节点,将所述起始日期节点、所述终结日期节点和所述密钥用途节点添加到所述策略节点中,从所述密钥属性列表中读取密钥起始日期、密钥终结日期和密钥用途信息,将所述密钥起始日期作为文本节点添加到所述起始日期节点中,将所述密钥终结日期作为文本节点添加到所述终结日期节点中,将所述密钥用途信息作为文本节点添加到所述密钥用途节点中。

13、。11如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括所述编码装置生成算法参数节点,将所述算法参数节点作为所述密钥节点的子节点添加到所述密钥节点中,生成响应码格式节点,将所述响应码格式节点作为所述算法参数节点的子节点添加到所述算法参数节点中,从所述密钥属性列表中读取响应码长度和响应码编码信息,根据所述响应码长度生成响应码长度节点,根据所述响应码编码信息生成响应码编码信息节点,将所述响应码长度节点和所述响应码编码信息节点作为属性节点添加到所述响应码格式节点中;所述编码装置生成数据节点之后,还包括所述编码装置生成时间节点,将所述时间节点作为所述数据节点的子节点添加到所述数据。

14、节点中,生成第二明文节点,将所述第二明文节点作为所述时间节点的子节点添加到所述时间节点中,从所述密钥属性列表中读取时间因子的初始值,将所述时间因子的初始值作为文本节点添加到所述第二明文节点中;所述编码装置生成时间间隔节点,将所述时间间隔节点作为所述数据节点的子节点添加到所述数据节点中,生成第三明文节点,将所述第三明文节点作为所述时间间隔节点的子节点添加到所述时间间隔节点中,从所述密钥属性列表中读取时间间隔值,将所述时间间隔值作为文本节点添加到所述第三明文节点中;所述编码装置生成时间偏移节点,将所述时间偏移节点作为所述数据节点的子节点添加到所述数据节点中,生成第四明文节点,将所述第四明文节点作为。

15、所述时间偏移节点的权利要求书CN104092537A4/12页5子节点添加到所述时间偏移节点中,从所述密钥属性列表中读取时间偏移量的初始值,将所述时间偏移量的初始值作为文本节点添加到所述第四明文节点中。12如权利要求1所述的方法,其特征在于,所述编码装置生成密钥节点之后,还包括所述编码装置生成算法参数节点,将所述算法参数节点作为所述密钥节点的子节点添加到所述密钥节点中,生成响应码格式节点,将所述响应码格式节点作为所述算法参数节点的子节点添加到所述算法参数节点中,从所述密钥属性列表中读取响应码长度和响应码编码信息,根据所述响应码长度生成响应码长度节点,根据所述响应码编码信息生成响应码编码信息节点。

16、,将所述响应码长度节点和所述响应码编码信息节点作为属性节点添加到所述响应码格式节点中;所述编码装置生成数据节点之后,还包括所述编码装置生成计数器节点,将所述计数器节点作为所述数据节点的子节点添加到所述数据节点中,生成第五明文节点,将所述第五明文节点作为所述计数器节点的子节点添加到所述计数器节点中,从所述密钥属性列表中读取事件因子的初始值,将所述事件因子的初始值作为文本节点添加到所述第五明文节点中。13一种实现密钥信息解码的装置的工作方法,其特征在于,包括以下步骤S1、解码装置从密钥文件的根节点中查找密钥包节点,如果查找到,则执行步骤S2;否则,显示错误信息,结束流程;S2、所述解码装置从所述密。

17、钥包节点中查找设备信息节点,从所述设备信息节点中查找厂商节点和序列号节点,获取所述厂商节点的子节点的文本内容,将获取到的文本内容作为厂商信息进行保存,获取所述序列号节点的子节点的文本内容,将获取到的文本内容作为设备序列号进行保存;S3、所述解码装置从所述密钥包节点中查找密钥节点,如果查找到,则执行步骤S4;否则,显示错误信息,结束流程;S4、所述解码装置获取所述密钥节点中的密钥算法节点的属性值,将获取到的属性值作为密钥算法信息进行保存;获取所述密钥节点中的密钥标识节点的属性值,将获取到的属性值作为密钥标识进行保存;S5、所述解码装置从所述密钥节点中查找数据节点,如果查找到,则执行步骤S6;否则。

18、,显示错误信息,结束流程;S6、所述解码装置从所述数据节点中查找密钥值节点,如果查找到,则执行步骤S7;否则,显示错误信息,结束流程;S7、所述解码装置从所述密钥值节点中获取密钥明文进行保存,或者,所述解码装置从所述密钥值节点中获取密钥密文,对所述密钥密文进行解密,对解密得到的密钥明文进行保存。14如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥值节点中获取密钥明文进行保存,具体为所述解码装置从所述密钥值节点中查找明文节点,获取所述明文节点的子节点的文本内容,将获取到的文本内容作为密钥明文进行保存。15如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥值节点中获取密钥密文。

19、,对所述密钥密文进行解密,对解密得到的密钥明文进行保存,具体为权利要求书CN104092537A5/12页6所述解码装置从所述密钥值节点中查找密文节点,从所述密文节点中查找第一加密方法节点和第一密码数据节点,获取所述第一加密方法节点中的第一加密密钥算法节点的属性值作为加密密钥算法信息,从所述第一密码数据节点中查找第一密码值节点,获取所述第一密码值节点的子节点的文本内容作为密钥密文;所述解码装置从所述密钥文件的根节点中查找加密密钥节点,从所述加密密钥节点中查找密钥名节点,获取所述密钥名节点的子节点的文本内容作为加密密钥名,根据与所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所。

20、述密钥密文进行解密,得到密钥明文。16如权利要求15所述的方法,其特征在于,所述解码装置从所述数据节点中查找到密钥值节点之后,还包括所述解码装置从所述密钥文件的根节点中查找MAC方法节点,获取所述MAC方法节点中的MAC算法节点的属性值作为MAC算法信息,从所述MAC方法节点中查找MAC密钥节点,从所述MAC密钥节点中查找第二加密方法节点和第二密码数据节点,获取所述第二加密方法节点中的第二加密密钥算法节点的属性值作为加密密钥算法信息,从所述第二密码数据节点中查找第二密码值节点,获取所述第二密码值节点的子节点的文本内容作为MAC密钥密文,根据所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对。

21、应的策略,对所述MAC密钥密文进行解密,得到MAC密钥;所述解码装置根据所述MAC密钥,对所述密钥明文进行摘要处理,判断摘要处理得到的摘要值是否与从所述密钥值节点中的MAC值节点中获取的摘要值相同,如果是,则对所述密钥明文进行保存;否则,显示错误信息,结束流程。17如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到密钥节点之后,还包括所述解码装置从所述密钥节点中查找发行方节点,获取所述发行方节点的子节点的文本内容,将获取到的文本内容作为发行方信息进行保存。18如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到设备信息节点之后,还包括所述解码装置从。

22、所述设备信息节点中查找设备用户标识节点,获取所述设备用户标识节点的子节点的文本内容,将获取到的文本内容作为设备用户标识进行保存。19如权利要求13所述的方法,其特征在于,所述解码装置从密钥文件的根节点中查找到密钥包节点之后,还包括所述解码装置从所述密钥包节点中查找密码模块节点,从所述密码模块节点中查找密码模块标识节点,获取所述密码模块标识节点的子节点的文本内容,将获取到的文本内容作为密码模块标识进行保存。20如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到密钥节点之后,还包括所述解码装置从所述密钥节点中查找密钥用户标识节点,获取所述密钥用户标识节点的子节点的文本内容,。

23、将获取到的文本内容作为密钥用户标识进行保存。21如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到密钥节点之后,还包括权利要求书CN104092537A6/12页7所述解码装置从所述密钥节点中查找策略节点,从所述策略节点中查找起始日期节点、终结日期节点和密钥用途节点,获取所述起始日期节点的子节点的文本内容,将获取到的文本内容作为密钥起始日期进行保存;获取所述终结日期节点的子节点的文本内容,将获取到的文本内容作为密钥终结日期进行保存;获取所述密钥用途节点的子节点的文本内容,将获取到的文本内容作为密钥用途信息进行保存。22如权利要求13所述的方法,其特征在于,所述解码装置从。

24、所述密钥包节点中查找到密钥节点之后,还包括所述解码装置从所述密钥节点中查找算法参数节点,从所述算法参数节点中查找响应码格式节点,获取所述响应码格式节点中的响应码长度节点的属性值,将获取到的属性值作为响应码长度进行保存,获取所述响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;所述解码装置从所述密钥节点中查找到数据节点之后,还包括所述解码装置从所述数据节点中查找时间节点、时间间隔节点和时间偏移节点,从所述时间节点中查找第二明文节点,获取所述第二明文节点的子节点的文本内容,将获取到的文本内容作为时间因子的初始值进行保存;从所述时间间隔节点中查找第三明文节点,。

25、获取所述第三明文节点的子节点的文本内容,将获取到的文本内容作为时间间隔值进行保存;从所述时间偏移节点中查找第四明文节点,获取所述第四明文节点的子节点的文本内容,将获取到的文本内容作为时间偏移量的初始值进行保存。23如权利要求13所述的方法,其特征在于,所述解码装置从所述密钥包节点中查找到密钥节点之后,还包括所述解码装置从所述密钥节点中查找算法参数节点,从所述算法参数节点中查找响应码格式节点,获取所述响应码格式节点中的响应码长度节点的属性值,将获取到的属性值作为响应码长度进行保存,获取所述响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;所述解码装置从所述。

26、密钥节点中查找到数据节点之后,还包括所述解码装置从所述数据节点中查找计数器节点,从所述计数器节点中查找第五明文节点,获取所述第五明文节点的子节点的文本内容,将获取到的文本内容作为事件因子的初始值进行保存。24一种编码装置,其特征在于,包括读取模块,用于从密钥信息的密钥属性列表中读取厂商信息、设备序列号、密钥标识、密钥算法信息和密钥明文;生成模块,用于生成密钥容器节点,将所述密钥容器节点作为根节点添加到密钥文件中;生成密钥包节点,将所述密钥包节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;生成设备信息节点和密钥节点,将所述设备信息节点和所述密钥节点作为所述密钥包节点的子节点添加到所述密。

27、钥包节点中;生成厂商节点和序列号节点,将所述厂商节点和所述序列号节点作为所述设备信息节点的子节点添加到所述设备信息节点中;将所述读取模块读取到的所述厂商信息作为文本节点添加到所述厂商节点中,将所述读取模块读取到的所述设备序列号作为文本节点添加到所述序列号节点中;权利要求书CN104092537A7/12页8根据所述读取模块读取到的所述密钥算法信息生成密钥算法节点,根据所述读取模块读取到的密钥标识生成密钥标识节点,将所述密钥标识节点和所述密钥算法节点作为属性节点添加到所述密钥节点中;生成数据节点,将所述数据节点作为所述密钥节点的子节点添加到所述密钥节点中;生成密钥值节点,将所述密钥值节点作为所述。

28、数据节点的子节点添加到所述数据节点中;添加模块,用于将所述读取模块读取到的所述密钥明文或与所述密钥明文对应的密钥密文添加到所述密钥值节点中。25如权利要求24所述的编码装置,其特征在于,所述读取模块,还用于从所述密钥信息中读取密钥传输方式;所述编码装置,还包括第一判断模块,用于判断所述密钥传输方式是否为明文传输;所述添加模块,具体用于在所述第一判断模块判断出所述密钥传输方式为明文传输时,生成第一明文节点,将所述第一明文节点作为所述密钥值节点的子节点添加到所述密钥值节点中,将所述读取模块读取到的所述密钥明文作为文本节点添加到所述第一明文节点中。26如权利要求24所述的编码装置,其特征在于,所述读。

29、取模块,还用于从所述密钥信息中读取密钥传输方式、加密密钥名和加密密钥算法信息;所述编码装置,还包括第一判断模块,用于判断所述密钥传输方式是否为明文传输;所述生成模块,还用于生成加密密钥节点,将所述加密密钥节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;生成密钥名节点,将所述密钥名节点作为所述加密密钥节点的子节点添加到所述加密密钥节点中;将所述读取模块读取到的所述加密密钥名作为文本节点添加到所述密钥名节点中;所述添加模块,具体用于在所述第一判断模块判断出所述密钥传输方式不是明文传输时,生成密文节点,将所述密文节点作为所述密钥值节点的子节点添加到所述密钥值节点中;生成第一加密方法节点和第。

30、一密码数据节点,将所述第一加密方法节点和所述第一密码数据节点作为所述密文节点的子节点添加到所述密文节点中;根据所述读取模块读取到的所述加密密钥算法信息生成第一加密密钥算法节点,将所述第一加密密钥算法节点作为属性节点添加到所述第一加密方法节点中;生成第一密码值节点,将所述第一密码值节点作为所述第一密码数据节点的子节点添加到所述第一密码数据节点中;根据与所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述密钥明文进行加密,将加密得到的密钥密文作为文本节点添加到所述第一密码值节点中。27如权利要求26所述的编码装置,其特征在于,所述读取模块,还用于从所述密钥信息中读取MAC算法信息。

31、、加密密钥算法信息和MAC密钥;所述生成模块,还用于生成MAC方法节点,将所述MAC方法节点作为所述密钥容器节点的子节点添加到所述密钥容器节点中;根据所述读取模块读取到的所述MAC算法信息生成MAC算法节点,将所述MAC算法节点作为属性节点添加到所述MAC方法节点中;生成MAC密权利要求书CN104092537A8/12页9钥节点,将所述MAC密钥节点作为所述MAC方法节点的子节点添加到所述MAC方法节点中;生成第二加密方法节点和第二密码数据节点,将所述第二加密方法节点和所述第二密码数据节点作为子节点添加到所述MAC密钥节点中;根据所述读取模块读取到的所述加密密钥算法信息生成第二加密密钥算法节。

32、点,将所述第二加密密钥算法节点作为属性节点添加到所述第二加密方法节点中;生成第二密码值节点,将所述第二密码值节点作为所述第二密码数据节点的子节点添加到所述第二密码数据节点中;根据与所述读取模块读取到的所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述读取模块读取到的所述MAC密钥进行加密,将加密得到的密文作为文本节点添加到所述第二密码值节点中;生成MAC值节点,将所述MAC值节点作为所述密钥值节点的子节点添加到所述密钥值节点中;根据所述读取模块读取到的所述MAC密钥,使用与所述读取模块读取到的所述MAC算法信息对应的策略,对所述密钥明文进行摘要处理,将得到的摘要值作为文本节。

33、点添加到所述MAC值节点中。28如权利要求24所述的编码装置,其特征在于,还包括选择模块,用于从所述密钥信息中选取一个未被处理过的密钥属性列表作为当前列表;所述读取模块,具体用于从所述选择模块选取的当前列表中读取厂商信息、设备序列号、密钥标识、密钥算法信息和密钥明文;所述编码装置,还包括第二判断模块,用于在所述添加模块将所述密钥明文或与所述密钥明文对应的密钥密文添加到所述密钥值节点中后,判断所述密钥信息中是否存在未被处理过的密钥属性列表,如果是,则触发所述选择模块从所述密钥信息中选取一个未被处理过的密钥属性列表作为当前列表;否则,确定编码结束。29如权利要求24所述的编码装置,其特征在于,所述。

34、读取模块,还用于从所述密钥属性列表中读取发行方信息;所述生成模块,还用于生成发行方节点,将所述发行方节点作为所述密钥节点的子节点添加到所述密钥节点中,将所述发行方信息作为文本节点添加到所述发行方节点中。30如权利要求24所述的编码装置,其特征在于,所述读取模块,还用于从所述密钥属性列表中读取设备用户标识;所述生成模块,还用于生成设备用户标识节点,将所述设备用户标识节点作为所述设备信息节点的子节点添加到所述设备信息节点中,将所述设备用户标识作为文本节点添加到所述设备用户标识节点中。31如权利要求24所述的编码装置,其特征在于,所述读取模块,还用于从所述密钥属性列表中读取密码模块标识,所述生成模块。

35、,还用于生成密码模块节点,将所述密码模块节点作为所述密钥包节点的子节点添加到所述密钥包节点中,生成密码模块标识节点,将所述密码模块标识节点作为所述密码模块节点的子节点添加到密码模块节点中,将所述密码模块标识作为文本节点添加到所述密码模块标识节点中。32如权利要求24所述的编码装置,其特征在于,所述读取模块,还用于从所述密钥属性列表中读取密钥用户标识;权利要求书CN104092537A9/12页10所述生成模块,还用于生成密钥用户标识节点,将所述密钥用户标识节点作为所述密钥节点的子节点添加到所述密钥节点中,将所述密钥用户标识作为文本节点添加到所述密钥用户标识节点中。33如权利要求24所述的编码装。

36、置,其特征在于,所述读取模块,还用于从所述密钥属性列表中读取密钥起始日期、密钥终结日期和密钥用途信息;所述生成模块,还用于生成策略节点,将所述策略节点作为所述密钥节点的子节点添加到所述密钥节点中,生成起始日期节点、终结日期节点和密钥用途节点,将所述起始日期节点、所述终结日期节点和所述密钥用途节点添加到所述策略节点中,将所述密钥起始日期作为文本节点添加到所述起始日期节点中,将所述密钥终结日期作为文本节点添加到所述终结日期节点中,将所述密钥用途信息作为文本节点添加到所述密钥用途节点中。34如权利要求24所述的编码装置,其特征在于,所述读取模块,还用于从所述密钥属性列表中读取响应码长度、响应码编码信。

37、息、时间因子的初始值、时间间隔值和时间偏移量的初始值;所述生成模块,还用于生成算法参数节点,将所述算法参数节点作为所述密钥节点的子节点添加到所述密钥节点中,生成响应码格式节点,将所述响应码格式节点作为所述算法参数节点的子节点添加到所述算法参数节点中,根据所述响应码长度生成响应码长度节点,根据所述响应码编码信息生成响应码编码信息节点,将所述响应码长度节点和所述响应码编码信息节点作为属性节点添加到所述响应码格式节点中;生成时间节点,将所述时间节点作为所述数据节点的子节点添加到所述数据节点中,生成第二明文节点,将所述第二明文节点作为所述时间节点的子节点添加到所述时间节点中,将所述时间因子的初始值作为。

38、文本节点添加到所述第二明文节点中;生成时间间隔节点,将所述时间间隔节点作为所述数据节点的子节点添加到所述数据节点中,生成第三明文节点,将所述第三明文节点作为所述时间间隔节点的子节点添加到所述时间间隔节点中,将所述时间间隔值作为文本节点添加到所述第三明文节点中;生成时间偏移节点,将所述时间偏移节点作为所述数据节点的子节点添加到所述数据节点中,生成第四明文节点,将所述第四明文节点作为所述时间偏移节点的子节点添加到所述时间偏移节点中,将所述时间偏移量的初始值作为文本节点添加到所述第四明文节点中。35如权利要求24所述的编码装置,其特征在于,所述读取模块,还用于从所述密钥属性列表中读取响应码长度、响应。

39、码编码信息和事件因子的初始值;所述生成模块,还用于生成算法参数节点,将所述算法参数节点作为所述密钥节点的子节点添加到所述密钥节点中,生成响应码格式节点,将所述响应码格式节点作为所述算法参数节点的子节点添加到所述算法参数节点中,根据所述响应码长度生成响应码长度节点,根据所述响应码编码信息生成响应码编码信息节点,将所述响应码长度节点和所述响应码编码信息节点作为属性节点添加到所述响应码格式节点中;生成计数器节点,将所述计数器节点作为所述数据节点的子节点添加到所述数据节点中,生成第五明文节点,将所述第五明文节点作为所述计数器节点的子节点添加到所述计数器节点中,将所述事件因子的初始值作为文本节点添加到所。

40、述第五明文节点中。权利要求书CN104092537A1010/12页1136一种解码装置,其特征在于,包括查找模块,用于从密钥文件的根节点中查找密钥包节点,如果查找到所述密钥包节点,则从所述密钥包节点中查找设备信息节点,从所述设备信息节点中查找厂商节点、序列号节点和密钥节点;如果查找到所述密钥节点,则从所述密钥节点中查找数据节点;如果查找到所述数据节点,则从所述数据节点中查找密钥值节点;第一获取模块,用于在所述查找模块查找到所述厂商节点时,获取所述厂商节点的子节点的文本内容,将获取到的文本内容作为厂商信息进行保存;在所述查找模块查找到所述序列号节点时,获取所述序列号节点的子节点的文本内容,将获。

41、取到的文本内容作为设备序列号进行保存;在所述查找模块查找到所述密钥节点时,获取所述密钥节点中的密钥算法节点的属性值,将获取到的属性值作为密钥算法信息进行保存;获取所述密钥节点中的密钥标识节点的属性值,将获取到的属性值作为密钥标识进行保存;第二获取模块,用于在所述查找模块查找到密钥值节点时,从所述密钥值节点中获取密钥明文进行保存,或者,从所述密钥值节点中获取密钥密文,对所述密钥密文进行解密,对解密得到的密钥明文进行保存;显示模块,用于在所述查找模块没有查找到所述密钥包节点、所述密钥节点、所述数据节点或所述密钥值节点时,显示错误信息。37如权利要求36所述的解码装置,其特征在于,所述第二获取模块,。

42、具体用于从所述密钥值节点中查找明文节点,获取所述明文节点的子节点的文本内容,将获取到的文本内容作为密钥明文进行保存。38如权利要求36所述的解码装置,其特征在于,所述第二获取模块,具体用于从所述密钥值节点中查找密文节点,从所述密文节点中查找第一加密方法节点和第一密码数据节点,获取所述第一加密方法节点中的第一加密密钥算法节点的属性值作为加密密钥算法信息,从所述第一密码数据节点中查找第一密码值节点,获取所述第一密码值节点的子节点的文本内容作为密钥密文;从所述密钥文件的根节点中查找加密密钥节点,从所述加密密钥节点中查找密钥名节点,获取所述密钥名节点的子节点的文本内容作为加密密钥名,根据与所述加密密钥。

43、名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述密钥密文进行解密,得到密钥明文。39如权利要求38所述的解码装置,其特征在于,所述查找模块,还用于在从所述数据节点中查找到密钥值节点之后,从所述密钥值节点中查找MAC值节点,从所述密钥文件的根节点中查找MAC方法节点,从所述MAC方法节点中查找MAC密钥节点,从所述MAC密钥节点中查找第二加密方法节点和第二密码数据节点,从所述第二密码数据节点中查找第二密码值节点;所述第一获取模块,还用于获取所述MAC值节点的子节点的文本内容作为摘要值,获取所述MAC方法节点中的MAC算法节点的属性值作为MAC算法信息,获取所述第二加密方法节点中的第二加。

44、密密钥算法节点的属性值作为加密密钥算法信息,获取所述第二密码值节点的子节点的文本内容作为MAC密钥密文,根据所述加密密钥名对应的密钥,使用与所述加密密钥算法信息对应的策略,对所述MAC密钥密文进行解密,得到MAC密钥;权利要求书CN104092537A1111/12页12所述解码装置,还包括摘要模块,用于根据所述第一获取模块获取到的所述MAC密钥,对所述密钥明文进行摘要处理;判断模块,用于判断所述摘要模块摘要处理得到的摘要值是否与所述第一获取模块从所述MAC值节点中获取的摘要值相同;所述第二获取模块,具体用于从所述密钥值节点中获取密钥密文,对所述密钥密文进行解密,得到密钥明文,并在所述判断模块。

45、判断出所述摘要模块摘要处理得到的摘要值与所述第一获取模块从所述密钥值节点中的MAC值节点中获取的摘要值相同时,对所述密钥明文进行保存;所述显示模块,还用于在所述判断模块判断出所述摘要模块摘要处理得到的摘要值与所述第一获取模块从所述密钥值节点中的MAC值节点中获取的摘要值不同时,显示错误信息。40如权利要求36所述的解码装置,其特征在于,所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找发行方节点;所述第一获取模块,还用于在所述查找模块查找到所述发行方节点时,获取所述发行方节点的子节点的文本内容,将获取到的文本内容作为发行方信息进行保存。41如权利要求36所述的解码。

46、装置,其特征在于,所述查找模块,还用于在从所述密钥包节点中查找到设备信息节点之后,从所述设备信息节点中查找设备用户标识节点;所述第一获取模块,还用于在所述查找模块查找到所述设备用户标识节点时,获取所述设备用户标识节点的子节点的文本内容,将获取到的文本内容作为设备用户标识进行保存。42如权利要求36所述的解码装置,其特征在于,所述查找模块,还用于在从所述密钥文件的根节点中查找到密钥包节点之后,从所述密钥包节点中查找密码模块节点,从所述密码模块节点中查找密码模块标识节点;所述第一获取模块,还用于在所述查找模块查找到所述密码模块标识节点时,获取所述密码模块标识节点的子节点的文本内容,将获取到的文本内。

47、容作为密码模块标识进行保存。43如权利要求36所述的解码装置,其特征在于,所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找密钥用户标识节点;所述第一获取模块,还用于在所述查找模块查找到所述密钥用户标识节点时,获取所述密钥用户标识节点的子节点的文本内容,将获取到的文本内容作为密钥用户标识进行保存。44如权利要求36所述的解码装置,其特征在于,所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找策略节点,从所述策略节点中查找起始日期节点、终结日期节点和密钥用途节点;所述第一获取模块,还用于在所述查找模块查找到所述起始日期节点时,获取所述起。

48、权利要求书CN104092537A1212/12页13始日期节点的子节点的文本内容,将获取到的文本内容作为密钥起始日期进行保存;在所述查找模块查找到所述终结日期节点时,获取所述终结日期节点的子节点的文本内容,将获取到的文本内容作为密钥终结日期进行保存;在所述查找模块查找到所述密钥用途节点时,获取所述密钥用途节点的子节点的文本内容,将获取到的文本内容作为密钥用途信息进行保存。45如权利要求36所述的解码装置,其特征在于,所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找算法参数节点,从所述算法参数节点中查找响应码格式节点;在从所述密钥节点中查找到数据节点之后,从所述。

49、数据节点中查找时间节点、时间间隔节点和时间偏移节点,从所述时间节点中查找第二明文节点,从所述时间间隔节点中查找第三明文节点,从所述时间偏移节点中查找第四明文节点;所述第一获取模块,还用于在所述查找模块查找到所述响应码格式节点时,获取所述响应码格式节点中的响应码长度节点的属性值,将获取到的属性值作为响应码长度进行保存,获取所述响应码格式节点中的响应码编码信息节点的属性值,将获取到的属性值作为响应码编码信息进行保存;在所述查找模块查找到所述第二明文节点时,获取所述第二明文节点的子节点的文本内容,将获取到的文本内容作为时间因子的初始值进行保存;在所述查找模块查找到所述第三明文节点时,获取所述第三明文。

50、节点的子节点的文本内容,将获取到的文本内容作为时间间隔值进行保存;在所述查找模块查找到所述第四明文节点时,获取所述第四明文节点的子节点的文本内容,将获取到的文本内容作为时间偏移量的初始值进行保存。46如权利要求36所述的解码装置,其特征在于,所述查找模块,还用于在从所述密钥包节点中查找到密钥节点之后,从所述密钥节点中查找算法参数节点,从所述算法参数节点中查找响应码格式节点;在从所述密钥节点中查找到数据节点之后,从所述数据节点中查找计数器节点,从所述计数器节点中查找第五明文节点;所述第一获取模块,还用于在所述查找模块查找到所述响应码格式节点时,获取所述响应码格式节点中的响应码长度节点的属性值,将。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1