The invention discloses a method and device for creating a secure channel for the application renewal of digital money hardware wallet. The method includes: when the hardware wallet receives the acquisition data instruction sent by the upper computer, it obtains the corresponding data according to the acquisition data instruction and returns it to the upper computer; when receiving and executing the security operation instruction, it obtains the upper computer's own public from the execution of the security operation instruction. The key and certificate number, according to the certificate number, obtains the corresponding upper computer certificate, uses the upper computer's own public key to verify the upper computer certificate; when receiving the verification instruction, obtains the upper computer's own public key according to the key version number and key ID in the verification instruction, generates the receipt and combines the upper computer's temporary public key, the upper computer's own public key and the generated session key according to the verification instruction. When receiving the application update instruction, the application data ciphertext of the application update instruction is decrypted with session key, and the saved application data is updated with the application data which is successfully decrypted.
【技术实现步骤摘要】
数字货币硬件钱包应用更新的安全通道的创建方法及装置
本专利技术涉及数字钱包领域,尤其涉及一种数字货币硬件钱包应用更新的安全通道的创建方法及装置。
技术介绍
近年来,随着电子货币的产生,人们已经逐渐习惯并依赖于电子货币,现在每个人的钱包里基本上都会有几张电子消费卡或者银行信用卡。银行卡成为了用户身份识别和参与交易的一个载体。而数字货币是电子货币形式的替代货币。数字金币和密码货币都属于数字货币。它不同于虚拟世界中的虚拟货币,因为它能被用于真实的商品和服务交易,而不局限在网络游戏中。目前,中央银行不承认也不发行数字货币,数字货币也不一定要有基准货币,现被定义为一种虚拟商品。目前流行的数字货币有,比特币、莱特币、众创币等,他们都属于钱包币,具有软件钱包,采用了区块链技术,能够去中心化,并具有实际应用。然而由于纯软件的特点,软件钱包安全性较低,如果软件钱包忘记备份,当计算机系统发生问题,很容易丢失钱包数据信息,也很容易被盗取钱包余额,解决这种问题的途径就是采用硬件钱包。硬件钱包是指将数字资产私钥单独储存在一个芯片中,与互联网隔离,即插即用。在数字货币硬件钱包应用中有远程更新 ...
【技术保护点】
1.一种数字货币硬件钱包应用更新的安全通道的创建方法,其特征在于,包括:步骤S1:当硬件钱包接收到上位机发送的指令时,判断指令的类型,如为获取数据指令则步骤S2,如为执行安全操作指令则执行步骤S5;如为验证指令则执行步骤S6,如为应用更新指令则执行步骤S7;步骤S2:根据获取数据指令判断要获取数据的类型,如为获取密钥信息则执行步骤S3,如为获取设备证书信息则执行步骤S4;步骤S3:根据获取数据指令中的密钥集标识在对应的密钥集中获取密钥版本和密钥标识并保存,并将所述密钥版本和密钥标识返回给所述上位机,返回步骤S1;步骤S4:根据获取数据指令中的证书集标识查找对应的证书集,遍历 ...
【技术特征摘要】
1.一种数字货币硬件钱包应用更新的安全通道的创建方法,其特征在于,包括:步骤S1:当硬件钱包接收到上位机发送的指令时,判断指令的类型,如为获取数据指令则步骤S2,如为执行安全操作指令则执行步骤S5;如为验证指令则执行步骤S6,如为应用更新指令则执行步骤S7;步骤S2:根据获取数据指令判断要获取数据的类型,如为获取密钥信息则执行步骤S3,如为获取设备证书信息则执行步骤S4;步骤S3:根据获取数据指令中的密钥集标识在对应的密钥集中获取密钥版本和密钥标识并保存,并将所述密钥版本和密钥标识返回给所述上位机,返回步骤S1;步骤S4:根据获取数据指令中的证书集标识查找对应的证书集,遍历证书集中的上级证书找到根证书,顺序保存根证书开始的所有证书的证书内容,并将所有证书的内容返回给所述上位机,返回步骤S1;步骤S5:从执行安全操作指令中获取上位机自身公钥和证书编号,根据所述证书编号获取对应的上位机证书,使用所述上位机自身公钥对所述上位机证书进行验证,如验证成功则保存上位机密钥,给上位机返回成功响应,返回步骤S1,如验证失败则给所述上位机返回错误信息;步骤S6:根据验证指令中的密钥版本号和密钥ID获取上位机自身公钥,根据所述验证指令中的上位机临时公钥、所述上位机自身公钥和生成的会话密钥生成收条,并将所述收条发送给所述上位机,返回步骤S1;步骤S7:使用会话密钥对所述应用更新指令中的应用数据密文进行解密,并用解密成功得到的应用数据更新保存的应用数据,并给上位机返回更新成功信息,返回步骤S1。2.如权利要求1所述的方法,其特征在于,所述步骤S3包括:步骤S31:根据当前安全级别对接收到的获取数据指令的数据域内容进行解析并将解析结果存储到接收缓存中;步骤S32:判断所述接收缓存中的数据是否合法,是则执行步骤S33,否则给上位机返回错误响应;步骤S33:从所述接收缓存中获取密钥集标识,根据密钥集标识在密钥存储区中查找对应的密钥集,如找到则执行步骤S34,否则给所述上位机返回错误响应;步骤S34:从所述密钥集中获取密钥版本和密钥标识,并将密钥版本和密钥标识存储到响应缓存中,根据安全级别对所述响应缓存中的数据进行打包并返回给上位机,返回步骤S1。3.如权利要求1所述的方法,其特征在于,所述步骤S4包括:步骤S41:根据当前安全级别对接收到的获取数据指令的数据域内容进行解析并将解析结果存储在接收缓存中,并判断所述接收缓存中的数据是否合法,是则执行步骤S42,否则给所述上位机返回错误响应;步骤S42:从所述接收缓存中获取证书集标识,根据所述证书集标识在证书存储区中查找对应的证书集,如找到则执行步骤S43,否则给所述上位机返回错误响应;步骤S43:遍历所述证书集中的上级证书找到根证书,依次从根证书开始将所有证书的证书内容存储到响应缓存,根据安全级别对响应缓存中的数据进行打包并返回给所述上位机,返回步骤S1。4.如权利要求1所述的方法,其特征在于,所述步骤S5包括:步骤S5-0:根据当前安全级别对执行安全操作指令的数据域内容进行解析并将解析结果存储在接收缓存中,从所述接收缓存中获取密钥版本号和密钥ID;步骤S5-1:根据所述密钥ID和密钥版本号从密钥存储区查找对应的密钥集,如查找到则执行步骤S5-3,如未获取到则执行步骤S5-2;步骤S5-2:从密钥存储区中获取预置的默认密钥集,执行步骤S5-3;步骤S5-3:根据获取的密钥集判断是否存在合法的上位机临时公钥缓存,是则执行步骤S5-4,否则给所述上位机返回错误响应;步骤S5-4:将接收缓存中的上位机根公钥保存到上位机临时公钥缓存;步骤S5-5:保存所述接收缓存中的部分当前证书,判断完整的当前证书是否接收完成,是则执行步骤S5-6,否则给所述上位机返回响应状态码,返回步骤S1;步骤S5-6:使用所述上位机临时公钥缓存中的公钥对保存的当前证书进行验证,如验证成功则执行步骤S5-7,如验证失败则给所述上位机返回错误响应;步骤S5-7:从当前证书中提取上位机自身公钥;步骤S5-8:判断是否还有未接收到的证书,是则执行步骤S5-9,否则用上位机自身公钥替换所述上位机临时公钥缓存中的公钥,给所述上位机返回响应状态码,返回步骤S1;步骤S5-9:判断是否存在合法的上位机公钥缓存,是则执行步骤S5-10,否则创建合法的上位机公钥缓存,执行步骤S5-10;步骤S5-10:将获取的上位机自身公钥保存到所述上位机公钥缓存中,给所述上位机返回响应状态码,返回步骤S1。5.如权利要求4所述的方法,其特征在于,所述步骤S5-3包括:步骤A1:根据所述密钥ID从获取的密钥集中获取对应的上位机根公钥和密钥参数引用值;步骤A2:判断上位机临时公钥缓存是否存在,是则执行步骤A3,否则执行步骤A4;步骤A3:判断上位机临时公钥缓存的类型和密钥长度是否与从密钥集中获取的密钥参数引用值相匹配,是则执行步骤A5,否则执行步骤A4;步骤A4:根据预置的曲线参数引用值创建上位机临时公钥缓存,并根据获取的密钥集中的密钥参数引用值设置上位机临时公钥缓存的类型和密钥长度,执行步骤A5;步骤A5:判断上位机临时公钥是否已经初始化,是则执行步骤A6,否则执行步骤A7;步骤A6:判断密钥版本号和密钥ID是否为上一条指令中的值,是则执行步骤A7,否则给所述上位机返回错误响应;步骤A7:初始化上位机临时公钥,执行步骤S5-4。6.如权利要求5所述的方法,其特征在于,所述步骤S5-5判断为否时还包括:保存获取的所述密钥版本号和密钥ID,所述步骤A6包括:步骤A6-1:判断是否保存有密钥版本号和密钥ID,是则执行步骤A6-2,否则执行步骤A7;步骤A6-2:判断获取的密钥版本号和密钥ID与保存的密钥版本号和密钥ID是否相同,是则执行步骤A7,否则给所述上位机返回错误响应。7.如权利要求5所述的方法,其特征在于,所述步骤S5-6包括:步骤B1:从所述接收缓存中获取证书编号;步骤B2:判断是否已经设置了与所述证书编号对应的证书,是则执行步骤B3,否则执行步骤B5;步骤B3:判断指定密钥的白名单是否存在,是则执行步骤B4,否则执行步骤B5;步骤B4:检查当前证书的证书编号是否在白名单中,是则执行步骤B5,否则给所述上位机返回错误响应;步骤B5:使用上位机临时公钥缓存的公钥验证当前证书,如验证成功则执行步骤S5-7,如验证失败则给所述上位机返回错误响应。8.如权利要求7所述的方法,其特征在于,所述步骤S5-7与所述步骤S5-8之间包括:从当前证书中提取密钥参数引用值,判断从密钥集中获取的密钥参数引用值是否与从当前证书中提取的密钥参数引用值一致,是则执行步骤S5-8,否则给所述上位机返回错误响应。9.如权利要求8所述的方法,其特征在于,所述步骤S5-9包括:步骤C1:判断上位机公钥缓存是否存在,是则执行步骤C2,否则执行步骤C3;步骤C2:判断上位机公钥缓存的类型和密钥长度是否与密钥参数引用值相匹配,是则执行步骤S5-10,否则执行步骤C3;步骤C3:根据曲线参数引用值创建上位机公钥缓存,并根据密钥集中存储的密钥参数引用值设置曲线参数,执行步骤S5-10。10.如权利要求1所述的方法,其特征在于,如步骤S1中判断指令的类型为内部验证指令,则所述步骤S6包括:步骤S6-11:根据当前安全级别对内部验证指令的数据域内容进行解析并将解析结果存储在接收缓存中,从所述接收缓存中获取密钥版本号和密钥ID;步骤S6-12:从所述接收缓存中获取密钥协商的控制应用模板和上位机临时公钥;步骤S6-13:判断安全通道协议选项的类型,如为第一类型则执行步骤S6-14,如为第二类型则执行步骤S6-17;步骤S6-14:生成设备临时密钥对,根据密钥版本号和密钥ID查找上位机自身公钥;步骤S6-15:根据上位机自身公钥、设备自身私钥、所述上位机临时公钥、控制应用模板、设备临时公钥生成收条;步骤S6-16:根据收条和设备临时公钥生成响应数据,并根据当前安全级别对响应数据进行打包然后返回给上位机,返回步骤S1;步骤S6-17:根据密钥版本号和密钥ID查找上位机自身公钥;步骤S6-18:根据上位机自身公钥、设备自身私钥、所述上位机临时公钥、控制应用模板、设备自身公钥生成收条;步骤S6-19:根据收条和设备自身公钥生成响应数据,并根据当前安全级别对响应数据进行打包然后返回给上位机,返回步骤S1。11.如权利要求10所述的方法,其特征在于,所述步骤S6-15包括:步骤D1:使用上位机自身公钥和设备自身私钥协商生成第一共享私钥,使用上位机临时公钥和生成的设备临时私钥协商生成第二共享私钥;步骤D2:根据第一共享私钥和第二共享私钥使用派生算法生成共享信息;步骤D3:根据第一共享私钥、第二共享私钥和共享信息使用预设算法生成会话密钥;步骤D4:根据密钥协商引用控制模板、上位机临时公钥和设备临时公钥生成收条输入数据,根据收条输入数据和会话密钥生成收条。12.如权利要求10所述的方法,其特征在于,所述步骤S6-18包括:步骤E1:使用上位机自身公钥和设备自身私钥协商生成第一共享私钥,使用上位机临时公钥和设备自身私钥协商生成第二共享私钥;步骤E2:根据第一共享私钥和第二共享私钥使用派生算法生成共享信息;步骤E3:根据第一共享私钥、第二共享私钥和共享信息使用预设算法生成会话密钥;步骤E4:根据密钥协商引用控制模板、上位机临时公钥和设备自身公钥生成收条输入数据,根据收条输入数据和会话密钥生成收条。13.如权利要求1所述的方法,其特征在于,如步骤S1中判断指令的类型为相互验证指令,则所述步骤S6包括:步骤S6-21:根据当前安全级别对指令的数据域内容进行解析并将解析结果存储在接收缓存中,从接收缓存中获取密钥版本号和密钥ID;步骤S6-22:从接收缓存中获取密钥协商的控制应用模板和上位机临时公钥;步骤S6-23:根据密钥版本号和密钥ID查找上位机自身公钥;生成设备临时密钥对,根据上位机自身公钥、设备自身私钥、所述上位机临时公钥、控制应用模板、设备临时公钥生成收条;步骤S6-24:根据收条和设备临时公钥生成响应数据,并根据当前安全级别对响应数据进行打包然后返回给上位机,返回步骤S1。14.如权利要求13所述的方法,其特征在于,所述根据上位机自身公钥、设备自身私钥、所述上位机临时公钥、控制应用模板、设备临时公钥生成收条,包括:步骤F1:使用上位机临时公钥和设备自身私钥协商生成第一共享私钥,使用上位机临时公钥和生成的设备临时私钥协商生成第二共享私钥;步骤F2:根据第一共享私钥和第二共享私钥使用派生算法生成共享信息;步骤F3:根据第一共享私钥、第二共享私钥和共享信息使用预设算法生成会话密钥;步骤F4:根据密钥协商引用控制模板、上位机临时公钥和设备临时公钥生成收条输入数据,根据收条输入数据和会话密钥生成收条。15.如权利要求1所述的方法,其特征在于,还包括:步骤H1:当硬件钱包接收到上位机发送的个人化指令时,将个人化指令的数据域内容存储在接收缓存中,判断当前指令是否为当前操作的最后一条指令,是则给上位机返回响应状态码,等待接收数据,返回步骤H1,否则执行步骤H2;步骤H2:判断当前指令的格式,如为TLV格式则执行步骤H3,否则执行步骤H9;步骤H3:判断是否处理完接收缓存中的数据,是则给上位机返回响应状态码,等待接收数据,返回步骤H1,否则执行步骤H4;步骤H4:判断当前指令的类型,如为设置密钥信息指令则执行步骤H5,如为这是ECC曲线参数指令则执行步骤H6,如为设置ECC密钥对指令则执行步骤H7,如为设置个人化数据指令则执行步骤H8;步骤H5:从接收缓存中获取密钥信息并保存,返回步骤H3;步骤H6:从接收缓存中获取曲线参数值并保存在曲线参数集中,返回步骤H3;步骤H7:根据设置ECC密钥对指令中的参数引用值和曲线参数值创建ECC密钥对象,并从接收缓存中读取密钥值并将密钥值设置到ECC密钥对象中;将ECC密钥对象存储在密钥信息对象中,返回步骤H3;步骤H8:从接收缓存中获取安全域提供者标识号和安全域编号并保存,返回步骤H3;步骤H9:判断是否处理完接收缓存中的数据,是则给上位机返回响应状态码,等待接收数据,返回步骤H1;否则执行步骤H10;步骤H10:根据当前指令判断操作类型,如为存储白名单则执行步骤H11,如为修改白名单则执行步骤H12,如为存储上位机根证书则执行步骤H13,如为设置设备证书则执行步骤H16;步骤H11:判断是否有合法的白名单,是则将接收缓存中的白名单数据存储到所述白名单中,返回步骤H9,否则给上位机返回错误响应;步骤H12:判断接收缓存中是否有白名单数据,是则删除白名单和保存的公钥,返回步骤H9,否则根据所述白名单数据的长度分配存储空间,并将所述接收缓存中的证书序列号存储在所述存储空间的白名单中,删除保存的公钥,返回步骤H9;步骤H13:判断接收缓存中的上位机根证书是否符合预设要求,是则执行步骤H14,否则给上位机返回错误响应;步骤H14:判断是否处理完当前指令,是则返回步骤H3,否则执行步骤H15;步骤H15:获取上位机根证书发行者标识和上位机根证书发行者标识的长度,返回步骤H14;步骤H16:判断当前指令是否为证书链指令,是则执行步骤H17,否则给上位机返回错误响应;步骤H17:判断是否有合法的证书链,是则执行步骤H18,否则创建证书链,执行步骤H18;步骤H18:判断是否需要构建临时证书,是则执行步骤H19,否则返回步骤H9;步骤H19:构建临时证书,并使用所述证书链中的当前证书的公钥对所述临时证书进行验证,如验证成功则将所述临时证书追加到所述证书链中,执行步骤H20,否则给上位机返回错误响应;步骤H20:检查所述临时证书的密钥商用方式是否为密钥协商使用,是则设置个人化完成标记,返回步骤H18,否则返回步骤H18。16.如权利要求15所述的方法,其特征在于,所述步骤H5包括:步骤H5-1:判断设置密钥信息的特性,如为密钥类型则执行步骤H5-2,如为密钥字节长度则执行步骤H5-3,如为密钥ID则执行步骤H5-5,如为密钥参数引用值则执行步骤H5-6,如为密钥获取方式则执行步骤H5-7,如为密钥访问权限则执行步骤H5-8,如为密钥版本号则执行步骤H5-9;步骤H5-2:从接收缓存中获取密钥类型,并判断密钥类型是否为预设类型,是则创建密钥信息对象,返回步骤H3,否则等待接收数据,返回步骤S1;步骤H5-3:从接收缓存中获取密钥长度和密钥类型,并判断密钥类型是否为预设类型,是则根据密钥长度分配存储空间作为密钥存储区,返回步骤H3;否则执行步骤H5-4;步骤H5-4:根据密钥长度分配存储空间作为曲线参数存储区,返回步骤H3;步骤H5-5:从接收缓存中获取密钥ID并保存在秘钥对象中,返回步骤H3;步骤H5-6:从接收缓存中获取密钥参数引用值,并根据参数引用值构建一个曲线参数集,返回步骤H3;步骤H5-7:从接收缓存中获取密钥使用方式并保存在秘钥对象中,返回步骤H3;步骤H5-8:从接收缓存中获取密钥访问权限并保存在秘钥对象中,返回步骤H3;步骤H5-9:从接收缓存中获取密钥版本号,根据密钥版本号在密钥集群中查找对应的密钥集;步骤H5-10:判断找到的密钥集是否为空,是则执行步骤H5-11,否则执行步骤H5-15;步骤H5-11:从接收缓存中获取默认密钥集;步骤H5-12:判断获取的密钥集的版本号是否为第一预设版本号,是则执行步骤H5-13,否则执行步骤H5-14;步骤H5-13:将密钥集的版本号更新为密钥版本号,执行步骤H5-15;步骤H5-14:创建新的密钥集并添加到现有密钥集群中,执行步骤H5-15;步骤H5-15:设置密钥信息对象中的密钥使用方式和密钥访问权限;步骤H5-16:将密钥信息对象设置在与密钥ID对应的密钥集中,返回步骤H3。17.如权利要求15所述的方法,其特征在于,所述步骤H11包括:步骤H11-1:判断当前安全通道协议选项是否为预设协议类型,是则执行步骤H11-2,否则给上位机返回错误响应;步骤H11-2:判断接收缓存中是否存在白名单计数值,是则执行步骤H11-3,否则给上位机返回错误响应;步骤H11-3:从接收缓存中获取白名单计数值;步骤H11-4:判断获取的白名单计数值是否大于记录的白名单个数,是则执行步骤H11-5,否则给上位机返回错误响应;步骤H11-5:判断是否有可用的白名单,是则从接收缓存中获取白名单数据并保存到白名单中,返回步骤H3,否则给上位机返回错误响应。18.如权利要求15所述的方法,其特征在于,所述步骤H12包括:步骤H12-1:判断接收缓存中是否有白名单数据,是则执行步骤H12-3,否则执行步骤H12-2;步骤H12-2:删除储存的白名单,执行步骤H12-5;步骤H12-3:根据白名单数据的长度分配存储空间;步骤H12-4:从接收缓存中获取证书序列号并存储在存储空间的白名单中;步骤H12-5:删除保存的公钥;步骤H12-6:用接收缓存中的白名单计数值更新记录的白名单个数,返回步骤H3。19.如权利要求15所述的方法,其特征在于,所述步骤H15包括:步骤H15-1:判断后续操作类型,如为获取上位机根证书发行者标识的长度则执行步骤H15-2,如为获取上位机根证书发行者标识则执行步骤H15-4;步骤H15-2:从接收缓存中获取上位机根证书发行者标识的长度,并判断上位机根证书发行者标识的长度是否在预设范围内,是则执行步骤H15-3,否则给上位机返回错误响应;步骤H15-3:保存上位机根证书发行者标识的长度,返回步骤H14;步骤H15-4:从接收缓存中获取密钥信息长度值,并判断密钥信息长度值是否符合要求,是则执行步骤H15-5,否则给上位机返回错误响应;步骤H15-5:从接收缓存中获取密钥ID和密钥版本号并保存;步骤H15-6:判断密钥版本号是否在预设区间,是则执行步骤H15-7,否则给上位机返回错误响应;步骤H15-7:根据密钥版本号在预置密钥集中查找对应的密钥集,如找到则执行步骤H15-9,如未找到则执行步骤H15-8;步骤H15-8:从预置密钥集群中获取默认密钥集,执行步骤H15-9;步骤H15-9:根据密钥ID在密钥集中查找密钥信息,如找到则执行步骤H15-10,如未找到则给上位机返回错误响应;步骤H15-10:判断是否处理完当前指令,是则执行步骤H9,否则返回步骤H15-11;步骤H15-11:根据上位机根证书发行者标识的长度从接收缓存中获取上位机根证书发行者标识并与密钥信息对应保存,返回步骤H14。20.如权利要求15所述的方法,其特征在于,所述步骤H17包括:步骤H17-1:判断保存的密钥ID和密钥版本号是否是否合法,是则执行步骤H17-2,否则给上位机返回错误响应;步骤H17-2:根据密钥ID与密钥版本号在证书存储区中查找与之对应的证书链,如找到则执行步骤H18,否则执行步骤H17-3;步骤H17-3:根据缓存的密钥ID与密钥版本号创建新的证书链,执行步骤H18。21.如权利要求20所述的方法,其特征在于,所述步骤H19包括:步骤H19-1:从接收缓存中获取临时证书数据并根据读取的临时证书数据构建临时证书;步骤H19-2:从证书链中获取当前证书并判断是否获取成功,是则执行步骤H19-4,否则执行步骤H19-3;步骤H19-3:检查临时证书的密钥使用方式是否为签名使用,是则执行步骤H19-5,否则给上位机返回错误响应;步骤H19-4:使用当前证书的公钥验证临时证书,如验证成功则执行步骤H19-5,如验证失败则给上位机返回错误响应;步骤H19-5:将临时证书、密钥ID和密钥版本号追加到证书链中。22.如权利要求21所述的方法,其特征在于,所述设置个人化完成标记,包括:根据密钥ID设置个人化完成标记,修改卡片数据中SCP域的默认值为个人化完成标记。23.如权利要求2、3、10、13任意一项所述的方法,其特征在于,所述根据安全级别对缓存中的所有数据进行打包,具体包括:步骤T1:判断当前安全级别,如为明文级别则执行步骤T2,如为密文级别则执行步骤T3;步骤T2:根据响应缓存中的数据计算mac值,将响应缓存中的数据和mac值组成响应数据;步骤T3:根据缓存中的数据计算mac值,对缓存中的所有数据进行加密,将加密结果和mac值组成响应数据。24.一种数字货币硬件钱包应用更新的安全通道的创建装置,其特征在于,包括:第一接收模块,用于收到上位机发送的指令;第一判断模块,用于判断所述第一接收模块接收到的指令的类型,如为获取数据指令则触发第二判断模块,如为执行安全操作指令则触发验证保存模块;如为验证指令则触发获取生成模块,如为应用更新指令则触发解密更新模块;所述第二判断模块,用于根据获取数据指令判断要获取数据的类型,如为获取密钥信息则触发获取保存模块,如为获取设备证书信息则触发查找保存模块;所述获取保存模块,用于根据获取数据指令中的密钥集标识在对应的密钥集中获取密钥版本和密钥标识并保存;第一发送模块,用于将所述获取保存模块保存的密钥版本和密钥标识返回给所述上位机,触发所述第一接收模块;所述查找保存模块,用于根据获取数据指令中的证书集标识查找对应的证书集,遍历证书集中的上级证书找到根证书,顺序保存根证书开始的所有证书的证书内容;第二发送模块,用于将所述查找保存模块保存的所有证书的内容返回给所述上位机,触发所述第一接收模块;所述验证保存模块,用于从执行安全操作指令中获取上位机自身公钥和证书编号,根据所述证书编号获取对应的上位机证书,使用所述上位机自身公钥对所述上位机证书进行验证,如验证成功则保存上位机密钥;第三发送模块,用于当所述验证保存模块对所述上位机证书验证成功时给所述上位机返回成功响应,触发所述第一接收模块;还用于当所述验证保存模块对所述上位机证书验证失败时给所述上位机返回错误信息;所述获取生成模块,用于根据验证指令中的密钥版本号和密钥ID获取上位机自身公钥,根据所述验证指令中的上位机临时公钥、所述上位机自身公钥和生成的会话密钥生成收条;第四发送模块,用于将所述获取生成模块生成的所述收条发送给所述上位机,触发所述第一接收模块;所述解密更新模块,用于使用会话密钥对所述应用更新指令中的应用数据密文进行解密,并用解密成功得到的应用数据更新保存的应用数据;第五发送模块,用于在所述解密更新模块用解密成功得到的应用数据更新保存的应用数据之后给所述上位机返回更新成功信息,触发所述第一接收模块。25.如权利要求24所述的装置,其特征在于,所述获取保存模块包括:第一解析存储子模块,用于根据当前安全级别对接收到的获取数据指令的数据域内容进行解析并将解析结果存储到接收缓存中;第一判断子模块,用于判断所述接收缓存中的数据是否合法,是则触发第一获取查找子模块,否则触发所述第一发送模块给上位机返回错误响应;所述第一获取查找子模...
【专利技术属性】
技术研发人员:陆舟,于华章,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。