一种安全的金融终端的固件烧写方法及金融终端的制作方法_3

文档序号:8942866阅读:来源:国知局
更新数据包,以此封装成64条标准CCID通信指令依次下发给应用处理器。
[0139]步骤512、安全处理器将安全处理器的外部flash中存储的安全boot更新数据存储到安全处理器的内部flash的boot存储地址,擦除安全处理器的外部flash中存储的安全boot校验和以及安全boot更新数据,执行步骤514 ;
[0140]本实施例中,安全处理器依序从安全处理器的外部flash中读取预设长度的安全boot更新数据,顺序存储到安全处理器的内部flash的boot存储地址。
[0141]例如,预设长度为2k字节。
[0142]步骤513、安全处理器擦除安全处理器的外部flash中存储的安全boot校验和以及安全boot更新数据,执行步骤514 ;
[0143]步骤514、安全处理器向应用处理器返回安全boot下载结束指令应答;
[0144]步骤515、应用处理器根据安全处理器返回的安全boot下载结束指令应答组织应答数据,对应答数据封装CCID协议层数据后返回给上位机。
[0145]参见图3,本实施例中,金融终端下载正式应用固件,具体包括:
[0146]步骤601、应用处理器接收到上位机下发的应用固件下载更新指令后判断应用固件下载更新指令的类型,若为下载开始指令则执行步骤602,若为下载指令则执行步骤606,若为下载结束指令则执行步骤610 ;
[0147]步骤602、应用处理器向安全处理器发送应用固件下载开始指令;
[0148]本实施例中,应用处理器向安全处理器发送的应用固件下载开始指令中包含应用处理器从上位机下发的CCID通信指令中获取的应用固件下载更新头文件。本实施例中,应用固件下载更新头文件中包含应用固件下载更新文件的信息和签名数据,其中,应用固件下载更新文件的信息包括应用固件下载更新文件的名称和/或版本号和/或加密模式和/或校验模式和/或更新地址空间和/或地址类型和/或文件存储目的地址和/或文件长度等。
[0149]步骤603、安全处理器从应用固件下载开始指令中获取应用固件下载更新头文件,并将应用固件下载更新头文件存储到安全处理器的外部flash ;
[0150]步骤604、安全处理器向应用处理器返回应用固件下载开始指令应答;
[0151]步骤605、应用处理器根据安全处理器返回的应用固件下载开始指令应答组织应答数据,对应答数据封装CCID通信协议层数据后返回给上位机,返回步骤601 ;
[0152]步骤606、应用处理器向安全处理器下发应用固件下载指令;
[0153]本实施例中,应用处理器向安全处理器下发的应用固件下载指令中包含应用处理器从上位机下发的CCID通信指令中获取的应用固件下载更新文件。
[0154]步骤607、安全处理器从应用固件下载指令中获取应用固件下载更新文件,并将应用固件下载更新文件存储到安全处理器的外部flash ;
[0155]本实施例中,应用固件下载更新文件中包含正式应用固件和正式应用固件摘要的签名值,或者包含对正式应用固件和正式应用固件摘要的签名值进行加密得到的密文。
[0156]步骤608、安全处理器向应用处理器返回应用固件下载指令应答;
[0157]本实施例中,上位机将应用固件下载更新文件分包后封装成若干包含应用固件下载更新文件数据包的标准CCID通信指令,依次下发给应用处理器,相应地,应用处理器接收到每条包含应用固件下载更新文件数据包的标准CCID通信指令时,向安全处理器下发一条包含相应应用固件下载更新文件数据包的应用固件文件下载指令,安全处理器获取应用固件文件下载指令中的应用固件下载更新文件数据包,将获取到的应用固件下载更新文件数据包顺序存入安全处理器的外部flash,向应用处理器返回应用固件文件下载指令应口 ο
[0158]步骤609、应用处理器根据安全处理器返回的应用固件下载指令应答组织应答数据,对应答数据封装CCID通信协议层数据后返回给上位机,返回步骤601 ;
[0159]步骤610、应用处理器向安全处理器下发应用固件下载结束指令;
[0160]步骤611、安全处理器对应用固件下载更新文件进行校验,若校验通过则执行步骤612,若校验未通过则执行步骤613 ;
[0161 ] 本实施例中,当应用固件下载更新文件中包含正式应用固件和正式应用固件摘要的签名值时,安全处理器对应用固件下载更新文件进行校验具体包括:安全处理器根据应用固件下载更新头文件包含的应用固件下载更新文件的信息中的校验模式信息选择相应哈希算法(或者安全处理器直接选择预设哈希算法),根据选择的哈希算法对安全处理器的外部flash中存储的应用固件下载更新文件进行哈希运算,使用根密钥解密应用固件更新密钥密文,得到应用固件更新密钥明文,根据应用固件更新密钥明文对应用固件下载更新头文件包含的签名数据进行验签,得到应用固件下载更新文件摘要,判断验签得到的应用固件下载更新文件摘要与对安全处理器的外部flash中存储的应用固件下载更新文件进行哈希运算得到的摘要是否一致,是则校验通过,否则校验未通过;
[0162]本实施例中,当应用固件下载更新文件中包含对正式应用固件和正式应用固件摘要的签名值加密得到的密文时,安全处理器对应用固件下载更新文件进行校验具体包括:安全处理器根据应用固件下载更新头文件包含的应用固件下载更新文件的信息中的校验模式信息选择相应哈希算法(或者安全处理器直接选择预设哈希算法),根据选择的哈希算法对安全处理器的外部flash中存储的应用固件下载更新文件进行哈希运算,使用根密钥解密应用固件更新密钥密文,得到应用固件更新密钥明文,根据应用固件更新密钥明文对应用固件下载更新头文件包含的签名数据进行验签,得到应用固件下载更新文件摘要和应用固件下载密钥,判断验签得到的应用固件下载更新文件摘要与对安全处理器的外部flash中存储的应用固件下载更新文件进行哈希运算得到的摘要是否一致,是则校验通过,否则校验未通过。
[0163]步骤612、安全处理器向安全处理器的外部flash中写入应用固件更新标志,执行步骤614 ;
[0164]本实施例中,步骤612中还可以包括安全处理器控制IXD显示重新开机提示。
[0165]步骤613、安全处理器擦除安全处理器的外部flash中存储的应用固件下载更新头文件和应用固件下载更新文件,执行步骤614 ;
[0166]本实施例中,步骤613中还可以包括安全处理器控制IXD显示相应错误提示。
[0167]步骤614、安全处理器向应用处理器返回应用固件下载结束指令应答;
[0168]步骤615、应用处理器根据安全处理器返回的应用固件下载结束指令应答组织应答数据,对应答数据封装CCID通信协议层数据后返回给上位机。
[0169]参见图4,本实施例中,金融终端用正式应用固件替换金融终端中的测试应用固件,具体包括:
[0170]步骤701、应用处理器擦除应用处理器的内部flash中的测试应用固件;
[0171]具体地,应用处理器擦除应用处理器的内部flash的固件存储地址中的数据。
[0172]步骤702、应用处理器向安全处理器发送获取应用固件下载更新头文件指令;
[0173]步骤703、安全处理器读取安全处理器的外部flash中存储的应用固件下载更新头文件;
[0174]步骤704、安全处理器向应用处理器返回应用固件下载更新头文件;
[0175]步骤705、应用处理器根据应用固件下载更新头文件中的文件长度向安全处理器发送获取正式应用固件及其摘要的签名值指令;
[0176]步骤706、安全处理器根据安全处理器的外部flash中存储的应用固件下载更新文件获取正式应用固件及其摘要的签名值;
[0177]本实施例中,当应用固件下载更新文件中包含正式应用固件和正式应用固件摘要的签名值时,步骤706具体包括:安全处理器读取安全处理器的外部flash中存储的应用固件下载更新文件得到正式应用固件及其摘要的签名值。
[0178]本实施例中,当应用固件下载更新文件中包含对正式应用固件和正式应用固件摘要的签名值加密得到的密文时,步骤706具体包括:安全处理器使用根密钥解密应用固件更新密钥密文,得到应用固件更新密钥明文,使用应用固件更新密钥明文对应用固件下载更新头文件包含的签名数据进行验签,从验签结果中获取应用固件下载密钥,根据应用固件下载更新头文件包含的应用固件下载更新文件的信息中的加密模式信息选择相应加解密算法(或者直接选择预设加解密算法),根据选择的加解密算法使用应用固件下载密钥对安全处理器的外部flash中存储的应用固件下载更新文件解密,得到正式应用固件及其摘要的签名值。
[0179]步骤707、安全处理器向应用处理器返回正式应用固件及其摘要的签名值;
[0180]步骤708、应用处理器将安全处理器返回的正式应用固件及其摘要的签名值写入应用处理器的内部flash ;
[0181]具体地,应用处理器将安全处理器返回的正式应用固件及其摘要的签名值写入应用处理器的内部flash的固件存储地址。
[0182]本实施例中,步骤705?步骤708具体包括:应用处理器向安全处理器依次发送若干获取更新数据指令,直至应用处理器根据之前获取到的应用固件下载更新头文件包含的应用下载更新文件的信息中的文件长度判断已获取到全部更新数据;相应地,安全处理器接收到每条获取更新数据指令时,顺序获取预设长度的更新数据返回给应用处理器,应用处理器将当前预设长度的更新数据顺序写入应用处理器内部flash的固件存储地址。
[0183]步骤709、应用处理器向安全处理器发送应用固件更新完成指令;
[0184]步骤710、安全处理器擦除安全处理器的外部flash中存储的应用固件下载更新头文件、应用固件下载更新文件以及应用固件更新标志;
[0185]步骤711、安全处理器向应用处理器返回应用固件更新完成指令应答。
[0186]本实施例中,步骤711之后,应用处理器接收到安全处理器返回的应用固件更新完成指令应答时还包括:应用处理器对应用处理器的内部flash中存储的正式应用固件进行哈希运算,将应用处理器的内部flash中存储的正式应用固件摘要的签名值发送给安全处理器进行验签;安全处理器对应用处理器发送的正式应用固件摘要的签名值进行验签,将验签结果返回给应用处理器;应用处理器判断哈希运算结果和安全处理器返回的验签结果是否一致,是则运行正式应用固件,否则提示错误。
[0187]参见图5,本实施例中,金融终端下载正式安全固件,具体包括:
[0188]步骤801、应用处理器接收到上位机下发的安全固件下载更新指令后判断安全固件下载更新指令的类型,若为下载开始指令则执行步骤802,若为下载指令则执行步骤806,若为下载结束指令则执行步骤810 ;
[0189]步骤802、应用处理器向安全处理器发送安全固件下载开始指令;
[0190]本实施例中,应用处理器向安全处理器发送的安全固件下载开始指令中包含应用处理器从上位机下发的CCID通信指令中获取的安全固件下载更新头文件。本实施例中,安全固件下载更新头文件中包含安全固件下载更新文件的信息和签名数据,其中,安全固件下载更新文件的信息包括安全固件下载更新文件的名称和/或版本号和/或加密模式和/或校验模式和/或更新地址空间和/或地址类型和/或文件存储目的地址和/或文件长度等信息。
[0191]步骤803、安全处理器从安全固件下载开始指令中获取安全固件下载更新头文件,并将安全固件下载更新头文件存储到安全处理器的外部flash ;
[0192]步骤804、安全处理器向应用处理器返回安全固件下载开始指令应答;
[0193]步骤805、应用处理器根据安全处理器返回的安全固件下载开始指令应答组织应答数据,对应答数据封装CCID通信协议层数据后返回给上位机,返回步骤801 ;
[0194]步骤806、应用处理器向安全处理器下发安全固件下载指令;
[0195]本实施例中,应用处理器向安全处理器下发的安全固件下载指令中包含应用处理器从上位机下发的CCID通信指令中获取的安全固件下载更新文件。
[0196]步骤807、安全处理器从安全固件下载指令中获取安全固件下载更新文件,并将安全固件下载更新文件存储到安全处理器的外部flash ;
[0197]本实施例中,安全固件下载更新文件中包含正式安全固件和正式安全固件摘要的签名值,或者包含对正式安全固件和正式安全固件摘要的签名值进行加密得到的密文。
[0198]步骤808、安全处理器向应用处理器返回安全固件下载指令应答;
[0199]本实施例中,上位机将安全固件下载更新文件分包后封装成若干包含安全固件下载更新文件数据包的标准CCID通信指令,依次下发给应用处理器,相应地,应用处理器接收到每条包含安全固件下载更新文件数据包的标准CCID通信指令时,向安全处理器下发一条包含相应安全固件下载更新文件数据包的安全固件文件下载指令,安全处理器获取安全固件文件下载指令中的安全固件下载更新文件数据包,将获取到的安全固件下载更新文件数据包顺序存入安全处理器的外部flash,向应用处理器返回安全固件文件下载指令应口 ο
[0200]步骤809、应用处理器根据安全处理器返回的安全固件下载指令应答组织应答数据,对应答数据封装CCID通信协议层数据后返回给上位机,返回步骤801 ;
[0201]步骤810、应用处理器向安全处理器下发安全固件下载结束指令;
[0202]步骤811、安全处理器对安全固件下载更新文件进行校验,若校验通过则执行步骤812,若校验未通过则执行步骤813 ;
[0203]本实施例中,当安全固件下载更新文件中包含正式安全固件和正式安全固件摘要的签名值时,安全处理器对安全固件下载更新文件进行校验具体包括:安全处理器根据安全固件下载更新头文件包含的安全固件下载更新文件的信息中的校验模式信息选择相应哈希算法(或者安全处理器直接选
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1