一种区块链终端设备免密操作的方法及装置与流程

文档序号:24652550发布日期:2021-04-13 20:22阅读:来源:国知局

技术特征:
1.一种区块链终端设备免密操作的方法,其特征在于,包括:步骤s1:当区块链终端设备接收到上位机发送的指令时,判断指令类型,如为签名指令则执行步骤s2,如为验证pin码指令则执行步骤s7;步骤s2:所述区块链终端设备解析所述签名指令得到交互输入数值和交互数据,根据所述交互输入数值和所述交互数据得到交互数值,判断所述交互数值是否小于限定额度,是则执行步骤s3,否则保存未完成标识,返回需要验证pin码响应给所述上位机,返回步骤s1;步骤s3:所述区块链终端设备判断当前的限定次数是否等于阈值,是则保存未完成标识,返回限定次数达到阈值和需要验证pin码响应给所述上位机,返回步骤s1,否则执行步骤s4;步骤s4:所述区块链终端设备判断是否需要按键确认,是则执行步骤s5,否则执行步骤s6;步骤s5:所述区块链终端设备显示所述交互数值,等待用户操作,若接收到用户确认操作则执行步骤s6,若接收到用户取消操作则交互取消,结束;步骤s6:所述区块链终端设备获取所述交互数据中的子密钥索引,获取预先存储在安全存储区中的主密钥,根据所述主密钥生成公钥,根据所述公钥和所述子密钥索引通过密钥派生算法派生出子密钥对,获取所述子密钥对中的子私钥,根据所述交互数据生成待签名数据,使用所述子私钥对所述待签名数据进行签名生成签名结果,获取所述子密钥对中的子公钥,根据所述子公钥和所述签名结果生成交互凭据,将所述交互凭据返回给所述上位机,返回步骤s1;步骤s7:所述区块链终端设备对pin码进行验证,如验证成功则执行步骤s8,如验证失败则结束;步骤s8:所述区块链终端设备判断未完成标识是否存在,是则执行步骤s4,否则返回验证pin码成功响应给所述上位机,返回步骤s1;所述步骤s3中判断当前的限定次数不等于阈值时和所述步骤s8中判断未完成标识存在时还包括:更新所述限定次数;所述交互取消之后还包括:更新所述限定次数。2.如权利要求1所述的方法,其特征在于,所述执行步骤s2之前还包括:所述区块链终端设备判断是否开启了免密操作,是则执行步骤s2,否则所述区块链终端设备返回需要验证pin码响应给所述上位机,返回步骤s1。3.如权利要求2所述的方法,其特征在于,所述区块链终端设备判断是否开启了免密操作具体为:步骤a1:所述区块链终端设备从预置的免密操作信息中获取第一标志位;步骤a2:所述区块链终端设备判断所述第一标志位是否为置位状态,是则未开启免密操作,否则开启了免密操作。4.如权利要求1所述的方法,其特征在于,如所述限定次数的初始值为预置的限定次数,所述步骤s3中判断当前的限定次数不等于阈值时和所述步骤s8中判断未完成标识存在时的更新限定次数具体为:用当前的限定次数减第五预设值的结果更新所述限定次数;所述交互取消之后的更新所述限定次数具体为:用当前的限定次数加第五预设值的结果更新所述限定次数;
如阈值为预置的限定次数,所述步骤s3中判断当前的限定次数不等于阈值时和所述步骤s8中判断未完成标识存在时的更新限定次数具体为:用当前的限定次数加第五预设值的结果更新所述限定次数,所述交互取消之后的更新限定次数具体为:用当前的限定次数减第五预设值的结果更新所述限定次数。5.如权利要求1所述的方法,其特征在于,所述区块链终端设备对pin码进行验证具体为:从接收的验证pin码指令中获取pin码,将获取的pin码与区块链终端设备硬件主安全区中存储的pin码进行匹配,如匹配成功则验证成功,如匹配失败则验证失败。6.如权利要求1所述的方法,其特征在于,所述根据所述交互输入数值和所述交互数据得到交互数值具体包括:步骤b1:所述区块链终端设备获取所述交互数据中的输入交互个数,依次根据所述输入交互个数获取相应的输入交互数据;步骤b2:所述区块链终端设备获取所述交互数据中的输出交互个数,依次根据所述输出交互个数获取相应的输出交互数据;步骤b3:所述区块链终端设备根据预设算法依次对所述输出交互数据中的输出交互公钥哈希值进行计算得到输出交互地址数据;步骤b4:所述区块链终端设备将交互输入数值数据减输出交互数值得到交互费,并判断所述交互费是否合法,是则执行步骤b5,否则向所述上位机返回错误响应,结束;步骤b5:所述区块链终端设备依次将计算得到的输出交互地址数据与所述签名指令中的非接收方地址数据进行比对,查询到与所述非接收方地址数据一致的输出交互地址数据,用所述交互输入数值数据减查询到的输出交互地址数据对应的输出交互数值得到交互数值。7.如权利要求6所述的方法,其特征在于,所述步骤b4中判断所述交互费是否合法具体包括:步骤b4

1:所述区块链终端设备判断所述交互费是否大于第七预设值,是则执行步骤b4

2,否则判定为不合法;步骤b4

2:所述区块链终端设备判断所述交互费是否小于所述交互输入数值数据的三分之一,是则执行步骤b5,否则判定为不合法。8.如权利要求1所述的方法,其特征在于,所述步骤s1还包括:当判断指令类型为加载上一次限定次数指令时,执行步骤m;步骤m:所述区块链终端设备根据加载上一次限定次数指令对所述限定次数进行设置,返回设置成功响应给所述上位机,返回步骤s1。9.如权利要求1所述的方法,其特征在于,所述步骤s4具体包括:所述区块链终端设备从预置的免密操作信息中获取第二标志位,判断所述第二标志位是否为置位状态,是则需要按键确认,否则不需要按键确认。10.一种区块链终端设备免密操作的方法,其特征在于,包括:步骤q1:当区块链终端设备接收到上位机发送的指令时,判断指令类型,如为签名指令则执行步骤q2,如为验证pin码指令则执行步骤q6;步骤q2:所述区块链终端设备判断当前的限定次数是否等于阈值,是则保存未完成标识,返回限定次数达到阈值和需要验证pin码响应给所述上位机,执行步骤q1,否则执行步
骤q3;步骤q3:所述区块链终端设备判断是否需要按键确认,是则执行步骤q4,否则执行步骤q5;步骤q4:所述区块链终端设备显示所述签名指令中的授权信息,等待用户操作,若接收到用户确认操作则执行步骤q5,若接收到用户取消操作则交互取消,结束;步骤q5:所述区块链终端设备根据所述签名指令中的子公钥查询密钥索引,根据查询到的密钥索引计算子私钥,使用所述子私钥对所述授权信息进行签名得到签名结果,根据所述签名结果生成交互凭据,返回所述交互凭据给所述上位机,返回步骤q1;步骤q6:所述区块链终端设备对pin码进行验证,如验证成功则执行步骤q7,如验证失败则结束;步骤q7:所述区块链终端设备判断未完成标识是否存在,是则执行步骤q3,否则返回验证pin码成功响应给所述上位机,执行步骤q1;所述步骤q2中判断当前的限定次数不等于阈值时和所述步骤q7中判断未完成标识存在时还包括:更新所述限定次数;所述交互取消之后还包括:更新所述限定次数。11.如权利要求10所述的方法,其特征在于,所述执行步骤q2之前还包括:所述区块链终端设备判断是否开启了免密操作,是则执行步骤q2,否则返回需要验证pin码响应给所述上位机,执行步骤q1。12.如权利要求11所述的方法,其特征在于,所述区块链终端设备判断是否开启了免密操作具体为:步骤a1:所述区块链终端设备从预置的免密操作信息中获取第一标志位;步骤a2:所述区块链终端设备判断所述第一标志位是否为置位状态,是则未开启免密操作,否则开启了免密操作。13.如权利要求10所述的方法,其特征在于,如所述限定次数的初始值为预置的限定次数,所述步骤q2中判断当前的限定次数不等于阈值时和所述步骤q7中判断未完成标识存在时的更新所述限定次数具体为:用当前的限定次数减第五预设值的结果更新所述限定次数;所述交互取消之后的更新所述限定次数具体为:用当前的限定次数加第五预设值的结果更新所述限定次数;如阈值为预置的限定次数,所述步骤q2中判断当前的限定次数不等于阈值时和所述步骤q7中判断未完成标识存在时的更新所述限定次数具体为:用当前的限定次数加第五预设值的结果更新所述限定次数,所述交互取消之后的更新所述限定次数具体为:用当前的限定次数减第五预设值的结果更新所述限定次数。14.如权利要求10所述的方法,其特征在于,所述区块链终端设备对pin码进行验证具体为:从接收的验证pin码指令中获取pin码,将获取的pin码与区块链终端设备硬件主安全区中存储的pin码进行匹配,如匹配成功则验证成功,如匹配失败则验证失败。15.如权利要求10所述的方法,其特征在于,所述步骤q1还包括:当判断指令类型为加载上一次限定次数指令时,执行步骤n;步骤n:所述区块链终端设备根据加载上一次免密次数指令对所述限定次数进行设置,返回设置成功响应给所述上位机,返回步骤q1。16.如权利要求10所述的方法,其特征在于,所述步骤q3具体包括:
所述区块链终端设备从预置的免密操作信息中获取第二标志位,判断所述第二标志位是否为置位状态,是则需要按键确认,否则不需要按键确认。17.如权利要求10所述的方法,其特征在于,所述区块链终端设备根据所述子公钥查询密钥索引之前还包括:所述区块链终端设备判断所述子公钥是否有效,是则根据所述子公钥查询密钥索引,否则报错。18.一种区块链终端设备免密操作的装置,其特征在于,包括:第一接收判断模块,用于当区块链终端设备接收到上位机发送的指令时,判断指令类型,如为签名指令,则触发解析判断模块,如为验证pin码指令,则触发验证模块;所述解析判断模块,用于解析所述签名指令得到交互输入数值和交互数据,根据所述交互输入数值和所述交互数据得到交互数值,判断所述交互数值是否小于限定额度,是则触发第一判断模块,否则保存未完成标识,返回需要验证pin码响应给所述上位机,触发所述第一接收判断模块;所述第一判断模块,用于判断当前的限定次数是否等于阈值,是则保存未完成标识,返回限定次数达到阈值和需要验证pin码响应给所述上位机,触发所述第一接收判断模块,否则触发第二判断模块;所述第二判断模块,用于判断是否需要按键确认,是则触发第一显示接收模块,否则触发签名模块;所述第一显示接收模块,用于显示所述交互数值,等待用户操作,若接收到用户确认操作则触发所述签名模块,若接收到用户取消操作则交互取消,结束;所述签名模块,用于获取所述交互数据中的子密钥索引,获取预先存储在安全存储区中的主密钥,根据所述主密钥生成公钥,根据所述公钥和所述子密钥索引通过密钥派生算法派生出子密钥对,获取所述子密钥对中的子私钥,根据所述交互数据生成待签名数据,使用所述子私钥对所述待签名数据进行签名生成签名结果,获取所述子密钥对中的子公钥,根据所述子公钥和所述签名结果生成交互凭据,将所述交互凭据返回给所述上位机,触发所述第一接收判断模块;所述验证模块,用于对pin码进行验证,如验证成功则触发第三判断模块,如验证失败则结束;所述第三判断模块,用于判断未完成标识是否存在,是则触发所述第二判断模块,否则返回验证pin码成功响应给所述上位机,触发所述第一接收判断模块;所述装置还包括第一更新次数模块和第二更新次数模块;所述第一更新次数模块,用于当所述第一判断模块判断当前的限定次数不等于阈值时更新所述限定次数;还用于当所述第三判断模块判断未完成标识存在时更新所述限定次数;所述第二更新次数模块,用于当所述第一显示接收模块接收到用户取消操作时更新所述限定次数。19.如权利要求18所述的装置,其特征在于,还包括:第四判断模块,用于判断是否开启了免密操作,是则触发所述解析判断模块,否则返回需要验证pin码响应给所述上位机,触发所述第一接收判断模块。20.如权利要求19所述的装置,其特征在于,所述第四判断模块具体包括:
第一获取子模块,用于所述区块链终端设备从预置的免密操作信息中获取第一标志位;第一判断子模块,用于所述区块链终端设备判断所述第一标志位是否为置位状态,是则未开启免密操作,返回需要验证pin码响应给所述上位机,触发所述第一接收判断模块,否则开启了免密操作,触发所述解析判断模块。21.如权利要求18所述的装置,其特征在于,如所述限定次数的初始值为预置的限定次数,所述第一更新次数模块,具体用于用当前的限定次数减第五预设值的结果更新所述限定次数;所述第二更新次数模块,具体用于用当前的限定次数加第五预设值的结果更新所述限定次数;如阈值为预置的限定次数,所述第一更新次数模块,用于用当前的限定次数加第五预设值的结果更新所述限定次数,所述第二更新次数模块,用于用当前的限定次数减第五预设值的结果更新所述限定次数。22.如权利要求18所述的装置,其特征在于,所述验证模块,具体用于从接收的验证pin码指令中获取pin码,将获取的pin码与区块链终端设备硬件主安全区中存储的pin码进行匹配,如匹配成功则验证成功,触发第三判断模块,如匹配失败则验证失败,结束。23.如权利要求18所述的装置,其特征在于,所述解析判断模块具体包括:第二获取子模块,用于获取所述交互数据中的输入交互个数,依次根据所述输入交互个数获取相应的输入交互数据;第三获取子模块,用于获取所述交互数据中的输出交互个数,依次根据所述输出交互个数获取相应的输出交互数据;第一计算子模块,用于根据预设算法对所述输出交互数据中的输出交互公钥哈希值进行计算得到输出交互地址数据;第二判断子模块,用于将交互输入数值数据减输出交互数值得到交互费,并判断所述交互费是否合法,是则触发第二计算子模块,否则向所述上位机返回错误响应,结束;所述第二计算子模块,用于依次将计算得到的输出交互地址数据与所述签名指令中的非接收方地址数据进行比对,查询到与所述非接收方地址数据一致的输出交互地址数据,用所述交互输入数值数据减查询到的输出交互地址数据对应的输出交互数值得到交互数值。24.如权利要求23所述的装置,其特征在于,所述第二判断子模块,具体包括:第一计算单元,用于将交互输入数值数据减输出交互数值得到交互费;第一判断单元,用于判断所述交互费是否大于第七预设值,是则触发第二判断单元,否则判定为不合法,向所述上位机返回错误响应,结束;所述第二判断单元,用于判断所述交互费是否小于所述交互输入数值数据的三分之一,是则触发第二计算子模块,否则判定为不合法,向所述上位机返回错误响应,结束。25.如权利要求18所述的装置,其特征在于,还包括设置模块;所述设置模块,用于当所述第一接收判断模块判断指令的类型为加载上一次限定次数指令时,根据加载上一次限定次数指令对所述限定次数进行设置,返回设置成功响应给所述上位机,触发所述第一接收判断模块。26.如权利要求18所述的装置,其特征在于,所述第二判断模块具体包括:
第四获取子模块,用于从预置的免密操作信息中获取第二标志位;第三判断子模块,用于判断所述第二标志位是否为置位状态,是则需要按键确认,触发第一显示接收模块,否则不需要按键确认,触发签名模块。27.一种区块链终端设备免密操作的装置,其特征在于,包括:第一接收判断模块,用于当区块链终端设备接收到上位机发送的指令时,判断指令类型,如为签名指令则触发第一判断模块,如为验证pin码指令则触发验证模块;所述第一判断模块,用于判断当前的限定次数的值是否等于阈值,是则保存未完成标识,返回限定次数达到阈值和需要验证pin码响应给所述上位机,触发所述第一接收判断模块,否则触发第二判断模块;所述第二判断模块,用于判断是否需要按键确认,是则触发第一显示接收模块,否则触发签名模块;所述第一显示接收模块,用于显示所述签名指令中的授权信息,等待用户操作,若接收到用户确认操作则触发所述签名模块,若接收到用户取消操作则交互取消,结束;所述签名模块,用于根据所述签名指令中的子公钥查询密钥索引,根据查询到的密钥索引计算子私钥,使用所述子私钥对所述授权信息进行签名得到签名结果,根据所述签名结果生成交互凭据,返回所述交互凭据给所述上位机,触发所述第一接收判断模块;所述验证模块,用于对pin码进行验证,如验证成功则触发第三判断模块,如验证失败则结束;所述第三判断模块,用于判断未完成标识是否存在,是则触发第二判断模块,否则返回验证pin码成功响应给所述上位机,触发所述第一接收判断模块;所述装置还包括第一更新次数模块和第二更新次数模块;所述第一更新次数模块,用于当所述第一判断模块判断当前的限定次数不等于阈值时更新限定次数;还用于当所述第三判断模块判断未完成标识存在时更新所述限定次数;所述第二更新次数模块,用于当所述第一显示接收模块接收到用户取消操作时更新所述限定次数。28.如权利要求27所述的装置,其特征在于,还包括:第四判断模块,用于判断是否开启了免密操作,是则触发所述第一判断模块,否则返回需要验证pin码响应给所述上位机,触发所述第一接收判断模块。29.如权利要求28所述的装置,其特征在于,所述第四判断模块具体包括:第一获取子模块,用于从预置的免密操作信息中获取第一标志位;第一判断子模块,用于判断所述第一标志位是否为置位状态,是则未开启免密操作,返回需要验证pin码响应给所述上位机,触发所述第一接收判断模块,否则开启了免密操作,触发所述第一判断模块。30.如权利要求27所述的装置,其特征在于,如所述限定次数的初始值为预置的限定次数,所述第一更新次数模块,具体用于用当前的限定次数减第五预设值的结果更新所述限定次数;所述第二更新次数模块,具体用于用当前的限定次数加第五预设值的结果更新所述限定次数;如阈值为预置的限定次数,所述第一更新次数模块,具体用于用当前的限定次数加第五预设值的结果更新所述限定次数,所述第二更新次数模块,具体用于用当前的限定次数
减第五预设值的结果更新所述限定次数。31.如权利要求27所述的装置,其特征在于,所述验证模块,具体用于从接收的验证pin码指令中获取pin码,将获取的pin码与区块链终端设备硬件主安全区中存储的pin码进行匹配,如匹配成功则验证成功,触发第三判断模块,如匹配失败则验证失败,结束。32.如权利要求27所述的装置,其特征在于,还包括设置模块;所述设置模块,用于当所述第一接收判断模块判断指令的类型为加载上一次限定次数指令时,根据加载上一次限定次数指令对所述限定次数进行设置,返回设置成功响应给所述上位机,触发所述第一接收判断模块。33.如权利要求27所述的装置,其特征在于,所述第二判断模块具体包括:第四获取子模块,用于从预置的免密操作信息中获取第二标志位;第三判断子模块,用于判断所述第二标志位是否为置位状态,是则需要按键确认,触发第一显示接收模块,否则不需要按键确认,触发签名模块。34.如权利要求27所述的装置,其特征在于,所述签名模块,还用于判断所述子公钥是否有效,是则根据所述子公钥查询密钥索引,否则报错。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1