一种签名方法

文档序号:6402589阅读:157来源:国知局
专利名称:一种签名方法
技术领域
本发明涉及信息安全领域,尤其涉及一种签名方法。
背景技术
网上支付应用一般使用互联网及通用计算平台,如个人电脑、手机等。由于连接互联网以及通用计算平台自身的开放性,通用计算平台上存在较多安全威胁,如病毒、木马等恶意程序。恶意程序可以窃取从键盘输入的静态口令,并用来进行恶意支付;或者篡改关键的交易数据,如将客户转账的入账账户和入账户名进行替换,以谋取不当利益。现有技术中使用USB Key (智能密钥设备)来加强网上支付的安全性。目前USBKey插入电脑上电后可以进行多笔交易。在多次交易过程中,黑客可以在用户交易报文显示后再次发起交易流程或者修改用户报文,如果用户没注意关键信息内容被修改,就可能按下确认键,从而造成骗签成功。

发明内容
本发明的目的是为·了克服现有技术的不足,提供一种签名方法。本发明提供了一种签名方法,包括:步骤s I:设备上电,进行初始化;步骤s2:所述设备等待接收指令和按键信息;步骤s3:当所述设备接收到上位机下发的指令时,判断所述接收到的指令是否为计算签名指令,是则执行步骤s4 ;否则根据指令进行相应操作,并将操作结果返回给上位机,返回步骤s2 ;步骤s4:判断报文解析条件是否合法,是则执行步骤s5,否则给上位机返回错误响应,返回步骤s2 ;步骤S5:对所述计算签名指令进行解析得到待签名报文,根据有效哈希算法对所述待签名报文进行计算并保存计算结果,从所述待签名报文中提取关键信息并存储到显示缓存区;步骤s6:将所述显示缓存区中存储的关键信息通过显示屏输出,并等待接收按键信息;步骤s7:当接收到按键信息时,检测所述按键信息的类型,如为取消信息则输出取消提示信息,给上位机返回取消响应,返回步骤s2 ;如为上翻页信息则通过显示屏输出上一页的关键信息,返回步骤s2 ;如为下翻页信息则执行步骤s8 ;如为确认信息则执行步骤s9 ;步骤s8:判断关键信息是否全部输出,是则返回步骤s2,否则通过显示屏继续输出下一页的关键信息,返回步骤s2 ;步骤s9:判断关键信息是否全部输出,是则使用所述有效用户私钥根据有效签名算法对所述保存的计算结果进行签名,将签名结果返回给上位机,给上位机返回成功响应,返回步骤s2,否则通过显示屏继续输出下一页的关键信息,返回步骤s2。其中,该签名方法中的所述步骤s8和步骤s9替换为:步骤S80:通过显示屏继续输出下一页的关键信息,并判断所述关键信息是否全部输出,是则将报文显示完成标志设为有效,返回步骤s2,否则返回步骤s2 ;步骤s90:判断报文显示完成标志是否有效,是则使用所述有效用户私钥根据有效签名算法对所述保存的计算结果进行签名,将签名结果返回给上位机,给上位机返回成功响应,返回步骤s2,否则返回步骤s8。其中,在所述步骤s3和步骤s4之间包括标志S3’ ;步骤S3’:根据当前算法标识设置有效哈希算法和有效签名算法,根据密钥信息定位有效用户私钥。其中,所述算法标识和密钥信息是预先设置的或上位机通过指令下发的。 其中,所述 计算签名指令包括设置算法指令、报文解析指令、报文签名指令;所述步骤S3替换为:当所述设备接收到上位机下发的指令是,检测指令的类型,如为设置算法指令,则执行步骤S3’,如为报文解析指令则执行步骤s4,如为报文签名指令则执行步骤s6 ;其中在步骤S3’之后,给所述上位机返回成功响应,返回步骤s2 ;在步骤s4中对所述报文解析指令进行解析得到待签名报文;其中在步骤s5之后,给所述上位机返回成功响应,返回步骤s2。其中,所述计算签名指令包括设置算法指令、报文解析签名指令;所述步骤S3替换为:当所述设备接收到上位机下发的指令是,检测指令的类型,如为设置算法指令,则执行步骤S3’,如为报文解析签名指令则执行步骤s4 ;其中在步骤S3’之后,给所述上位机返回成功响应,返回步骤s2 ;在步骤s4中对所述报文解析签名指令进行解析得到待签名报文。其中,所述计算签名指令包括报文解析指令、报文签名指令;所述步骤S3替换为:当所述设备接收到上位机下发的指令是,检测指令的类型,如为报文解析指令则执行步骤s4,如为报文签名指令则执行步骤s6 ;在步骤s4中对所述报文解析指令进行解析得到待签名报文;其中在步骤s5之后,给所述上位机返回成功响应,返回步骤s2。其中,该签名方法中的所述步骤s5和步骤s6替换为:步骤s5’ ’ ’:对所述报文解析指令进行解析得到待签名报文,根据预设算法对所述待签名报文进行计算并保存计算结果,从所述待签名报文中提取关键信息,并通过显示屏输出所述关键信息,并给上位机返回成功响应,返回步骤s2 ;步骤s6’ ’ ’:等待接收用户的确认信息。其中,所述步骤s4与步骤s5之间包括:输出操作次数等待用户确认,并判断是否接收到用户的确认信息,是则执行步骤s5,否则给上位机返回错误响应,返回步骤s2 ;所述步骤s9判断为是时还包括:对所述操作次数自加I。其中,所述步骤s5替换为s5’,所述步骤s7-步骤s9替换为步骤s7’ -步骤s8’ ;步骤s5’:输出操作次数等待用户确认,并判断是否接收到用户的确认信息,是则对所述计算签名指令进行解析得到待签名报文,根据有效哈希算法对所述待签名报文进行计算并保存计算结果,从所述待签名报文中提取关键信息并存储到显示缓存区,给上位机返回成功响应,返回步骤s2 ;否则给上位机返回错误响应,返回步骤s2 ;步骤S7’:当接收到按键信息时,判断按键信息类型是否为确认键,是则执行步骤s8’,否则根据按键类型进行相应操作,返回步骤s2 ;步骤s8’:使用所述有效用户私钥根据有效签名算法对所述保存的计算结果进行签名,对所述操作次数自加I,将签名结果返回给上位机,给所述上位机返回成功响应,返回步骤s2。其中,所述步骤s5’和步骤s8’替换为步骤s5’ ’和步骤s8’ ’ ;步骤s5’ ’:判断允许签名标志是否有效,是则对所述计算签名指令进行解析得到待签名报文,根据有效哈希算法对所述待签名报文进行计算并保存计算结果,从所述待签名报文中提取关键信息并存储到显示缓存区,给上位机返回成功响应,返回步骤s2;否则给上位机返回错误响应,返回步骤s2 ;步骤s8’ ’:判断报文显示完成标志是否有效,是则使用所述有效用户私钥根据有效签名算法对所述保存的计算结果进行签名,并将签名结果返回给上位机,给所述上位机返回成功响应,将所述允许签名标志复位,返回步骤s2,否则给上位机返回错误响应信息,返回步骤s2。其中,所述步骤Si中进行初始化包括:将所述允许签名标志设为有效。其中,该签名方法还包括:所述设备上电时计时器开始计时,当所述计时器的计时到达预设值时,进入时钟中断;

所述时钟中断的 过程为:关闭时钟中断,并将所述允许签名标志设为有效,打开时钟中断。其中,所述步骤S3’包括:步骤S3’ -1:根据当前算法标识判断是否支持哈希算法,是则设置有效哈希算法,继续,否则给上位机返回错误响应,返回步骤s2 ;步骤S3’ -2:根据当前算法标识判断是否支持签名算法,是则设置有效签名算法,继续,否则给上位机返回错误响应,返回步骤s2 ;步骤S3’ -3:根据所述密钥信息中的密钥ID和用途信息定位有效用户私钥。其中,所述步骤S3’ -1具体为:判断接收到的指令中的第三字节上的数据是否为第一预设字符,是则支持,否则不支持;所述步骤S3’ -2具体为:判断接收到的指令中的第四字节上的数据是否为第二预设字符,是则支持,否则不支持。其中,所述s4包括:步骤s4_l:判断参数是否正确,是则执行步骤s4_2,否则给上位机返回错误响应,返回步骤s2 ;步骤s4_2:判断是否有有效哈希算法,是则执行步骤s4_3,否则给上位机返回错误响应,返回步骤s2 ;步骤s4_3:判断执行权限是否满足,是则执行步骤s5,否则给上位机返回错误响应,返回步骤s2。其中,所述步骤s4_l具体包括:
步骤s4_ll:判断所述报文解析指令的第二预设位置上的数据是否为预设数据串,是则执行步骤S4-12,否则给上位机返回错误响应,返回步骤s2 ;步骤S4-12:判断所述报文解析指令的第三预设位置上的数据的长度是否大于预设长度值,是则给上位机返回错误响应,返回步骤s2,否则执行步骤s4-2 ;所述步骤s4_3具体为:判断PIN码校验操作是否成功执行,是则执行权限满足,否则执行权限不满足。其中,所述输出操作次数等待用户确认,并判断是否接收到用户的确认信息,包括:步骤p1:判断与确认键和取消键关联的CPU引脚电平是否为预设状态,是则执行步骤P2,否 则给上位机返回错误响应,返回步骤s2 ;步骤P2:输出所述操作次数的提示信息,等待用户确认;步骤P3:判断与确认键关联的CPU引脚电平是否发生了变化,是则继续,否则给上位机返回取消响应,返回步骤s2。其中,所述步骤s6_步骤s8具体为:步骤h1:从所述显示缓存区中读取字符并记录开始读取时的位置;步骤h2:将所述读取的字符进行编码转换并根据转换后的编码从字库中读出对应的字模数据,将所述字模数据通过所述显示屏进行输出;步骤h3:判断所述显示屏上是否有显示空间,是则执行步骤h4,否则执行步骤h5 ;步骤h4:判断是否读取完所述显示缓存区中的字符,是则将所述报文显示完成标志设为有效,执行步骤h5,否则继续从所述显示缓存区中读取字符,返回步骤h2 ;步骤h5:判断在预设时间内是否接收到按键信息,是则执行步骤h6,否则给上位机返回错误响应,返回步骤s2;步骤h6:检测所述按键信息的类型,如为确认信息则执行步骤slO,如为取消信息则输出取消提示信息,给上位机返回取消响应,返回步骤s2,如为下翻页信息则执行步骤h7,如为上翻页信息则执行步骤h8 ;步骤h7:判断是否读取完所述显示缓存区中的字符,是则返回步骤s2,否则继续从所述显示缓存区中读取字符并记录开始读取时的位置,返回步骤h2 ;步骤h8:根据记录的所述读取位置从所述显示缓存区中读取字符,返回步骤h2。其中,在所述显示屏上输出所述字模数据时记录显示位置,所述步骤h3具体为:判断所述显示位置是否超过所述显示屏的最大行值和最大列值,是则所述显示屏上无显示空间,否则所述显示屏上有显示空间。其中,读取个数初始值为0,每次读取一个字符后所述读取个数自加1,所述步骤h4具体为:判断所述读取个数是否等于所述显示缓存区中的字符的数量,是则读取完,否则未读取完。其中,读取次数初始值为所述显示缓存区中的字符的数量,每次读取一个字符后所述读取次数自减1,所述步骤h4具体为:判断读取次数是否为0,是则读取完所有字符,否则未读取完。其中,在所述步骤hi之前包括:判断与确认键、取消键、上翻键、下翻键关联的CPU引脚的电平是否为预设值,是则执行步骤hl,否则给上位机返回错误响应,返回步骤s2 ;所述步骤h5具体包括:判断与按键关联的引脚的电平是否发生了变化,是则接收到按键信息,否则未接收到按键信息;所述步骤h6具体包括:检测电平发生变化的引脚类型,如为确认键关联的CPU引脚则为确认信息;如为取消键关联的CPU引脚则为取消信息;如为下翻键关联的CPU引脚则为下翻页信息;如为上翻键关联的CPU引脚则为上翻页信息。其中,所述s7’包括:步骤s7’ -1:当接收到按键信息时,判断与确认键、取消键、上翻键、下翻键关联的(PU引脚的电平是否为预设值,是则执行步骤S7’ _2,否则给上位机返回错误响应,返回步骤s2 ;步骤s7’ -3:判断与确认键关联的引脚的电平是否发生了变化,则执行步骤s8’,否则给上位机返回错误响应,返回步骤s2。本发明与现有技术相比,具有以下优点:本发明技术方案每次上电只允许单笔交易,如要进行多笔交易必须重新插拔USBKey,增强网上交易的安全性;或在交易前输出当前用户进行的操作次数或当所有关键信息输出完成时,当接收到用户的按键确认信息后才可以进行签名,有效防止用户交易报文被替换后不容易被察觉的风险;防止黑客骗签,增强签名的安全性。


图1为本发明实施例一提供的一种签名方法流程图;图2为本发明实施例一提供方法中的步骤s6_步骤s80的具体实现流程图;图3为本发明实施例二提供的一种签名方法流程图;图4为本发明实施例三提供的一种签名方法流程图;图5为本发明实施例四提供的一种签名方法流程图;图6-图7为本发明实施例五提供的一种签名方法流程图;图8-图9为本发明实施例六提供的一种签名方法流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一本发明实施 例一提供一种签名方法,在该方法实现之前USB Key设备已与上位机进行了连接,本实施例方法如图1所示,包括:步骤S1:设备上电,进行初始化;步骤s2:设备等待接收指令和按键信息;步骤s3:当设备接收到上位机下发的指令时,判断接收到的指令是否为计算签名指令,是则执行步骤s4 ;否则根据指令进行相应操作,并将操作结果返回给上位机,返回步骤s2 ;步骤S4:判断报文解析条件是否合法,是则执行步骤S5,否则给上位机返回错误响应,返回步骤s2 ;在本实施例中,步骤s4包括:步骤s4_l:判断参数是否正确,是则执行步骤s4_2,否则给上位机返回错误响应,返回步骤s2 ;在本实施例中,判断参数是否正确的具体过程为:步骤S4-11:判断报文解析指令的第二预设位置上的数据是否为预设数据串,是则执行步骤S4-12,否则给上位机返回错误响应,返回步骤s2 ;步骤S4-12:判断报文解析指令的第三预设位置上的数据的长度是否大于预设长度值,是则给上位机返回错误响应,返回步骤s2,否则执行步骤s4-2 ;步骤s4_2:判断是否有有效哈希算法,是则执行步骤s4_3,否则给上位机返回错误响应,返回步骤s2 ;步骤s4_3:判断执行权限是否满足,是则执行步骤s5,否则给上位机返回错误响应,返回步骤s2 ;本实施例中的步骤s4_3具体为:判断PIN码校验操作是否成功执行,是则执行权限满足,否则执行权限不满足;步骤s5:对计算签名指令进行解析得到待签名报文,根据有效哈希算法对待签名报文进行计算并保存计·算结果,从待签名报文中提取关键信息并存储到显示缓存区;步骤S6:将显示缓存区中存储的关键信息通过显示屏输出,并等待接收按键信息;步骤s7:当接收到按键信息时,检测按键信息的类型,如为取消信息则输出取消提示信息,给上位机返回取消响应,返回步骤s2;如为上翻页信息则通过显示屏输出上一页的关键信息,返回步骤s2 ;如为下翻页信息则执行步骤s8 ;如为确认信息则执行步骤s9 ;步骤s8:判断关键信息是否全部输出,是则返回步骤s2,否则通过显示屏继续输出下一页的关键信息,返回步骤s2 ;步骤s9:判断关键信息是否全部输出,是则使用有效用户私钥根据有效签名算法对保存的计算结果进行签名,将签名结果返回给上位机,给上位机返回成功响应,返回步骤s2,否则通过显示屏继续输出下一页的关键信息,返回步骤s2。本实施例在步骤s9中判断为否时的操作还可以为:给主机返回错误响应,返回步骤s2。本实施例中的步骤s8和步骤s9可替换为:步骤s80:通过显示屏继续输出下一页的关键信息,并判断关键信息是否全部输出,是则将报文显示完成标志设为有效,返回步骤s2,否则返回步骤s2 ;步骤s90:判断报文显示完成标志是否有效,是则使用有效用户私钥根据有效签名算法对保存的计算结果进行签名,将签名结果返回给上位机,给上位机返回成功响应,返回步骤s2,否则返回步骤s8。在步骤s90中判断为否时还可以返回步骤s2,或者在给主机返回错误响应后,在返回步骤s2。本实施例的方法需要将关键信息全部输出并经过用户确认后,才能进行签名,有效防止用户交易报文被替换后不容易被察觉的风险;防止黑客骗签,增强签名的安全性。在所述步骤s3和步骤s4之间包括标志S3’ ;步骤S3’:设置有效哈希算法和签名算法,从密钥文件中获取用户私钥并存储到内存中,给上位机返回成功响应,返回步骤s2 ;本实施例中的算法标识和密钥信息是预设的,也可以是上位机通过指令下发的;步骤S3’包括:步骤S3’ -1:根据当前算法标识判断是否支持哈希算法,是则设置有效哈希算法,执行步骤S3’ -2,否则给上位机返回错误响应,返回步骤s2 ;如本实施例中的算法标识和密钥信息是上位机通过指令下发的,则步骤S3’ -1具体为:判断接收到的指令中的第三字节上的数据是否为第一预设字符,是则支持,否则不支持;步骤S3’ -2:根据当前算法标识判断是否支持签名算法,是则设置有效签名算法,执行步骤S3’ -3,否则给上位机返回错误响应,返回步骤s2 ;如本实施例中的算法标识和密钥信息是上位机通过指令下发的,则步骤S3’ -2具体为:判断接收到的指令中的第四字节上的数据是否为第二预设字符,是则支持,否则不支持;

步骤S3’ -3:根据所述密钥信息中的密钥ID和用途信息定位有效用户私钥;优选的,步骤S3’ -3为:打开密钥文件,根据设置算法指令中的密钥ID和用途信息从密钥文件中获取对应的用户私钥并存储到内存中;其中,上述步骤S3’ -1、步骤S3’ -2、步骤s3’ _3的顺序可调换。本实施例中的计算签名过程可以通过一条指令或两条指令或三条指令来实现;①当签名过程通过三条指令实现且算法标识和密钥信息是上位机通过指令下发的时,即计算签名指令包括设置算法指令、报文解析指令、报文签名指令;则步骤s3替换为:当设备接收到上位机下发的指令是,检测指令的类型,如为设置算法指令,则执行步骤S3’,如为报文解析指令则执行步骤s4,如为报文签名指令则执行步骤s6 ;其中在步骤S3’之后,给上位机返回成功响应,返回步骤s2 ;在步骤s4中对报文解析指令进行解析得到待签名报文;其中在步骤s5之后,给上位机返回成功响应,返回步骤s2。②当签名过程通过两条指令实现且算法标识和密钥信息是上位机通过指令下发的时,即计算签名指令包括设置算法指令、报文解析签名指令;步骤S3替换为:当设备接收到上位机下发的指令是,检测指令的类型,如为设置算法指令,则执行步骤S3’,如为报文解析签名指令则执行步骤s4 ;其中在步骤S3’之后,给上位机返回成功响应,返回步骤s2 ;在步骤s4中对所述报文解析签名指令进行解析得到待签名报文。③当签名过程通过两条指令实现且算法标识和密钥信息是预先设置的时,即计算签名指令包括报文解析指令、报文签名指令;
步骤S3替换为:当设备接收到上位机下发的指令是,检测指令的类型,如为报文解析指令则执行步骤s4,如为报文签名指令则执行步骤s6 ;在步骤S4中对所述报文解析指令进行解析得到待签名报文;其中在步骤s5之后,给上位机返回成功响应,返回步骤s2。当本实施例中的签名过程是通过①或③的方法实现,即从待签名报文中提取关键信息后就通过显示屏输出,则步骤s5和步骤s6还可替换为:步骤s5’ ’ ’:对报文解析指令进行解析得到待签名报文,根据预设算法对待签名报文进行计算并保存计算结果,从待签名报文中提取关键信息,并通过显示屏输出关键信息,并给上位机返回成功响应,返回步骤s2 ;步骤s6’’’:等待接收用户的确认信息。

本实施例中在步骤s4与步骤s5之间包括:步骤A:输出操作次数等待用户确认,并判断是否接收到用户的确认信息,是则执行步骤s5,否则给上位机返回错误响应,返回步骤s2 ;步骤s9判断为是时还包括:对操作次数自加I ;优选的,本实施例中的操作次数的初始值为O。在操作次数输出且经用户的确认后才可以进行签名,进一步的增强签名的安全性。上述输出操作次数还有另一种实现方案,即步骤s5替换为s5’,步骤s7_步骤s9替换为步骤s7’ -步骤s8’ ;步骤s5’:输出操作次数等待用户确认,并判断是否接收到用户的确认信息,是则对计算签名指令进行解析得到待签名报文,根据有效哈希算法对待签名报文进行计算并保存计算结果,从待签名报文中提取关键信息并存储到显示缓存区,给上位机返回成功响应,返回步骤s2 ;否则给上位机返回错误响应,返回步骤s2 ;步骤s7’:当接收到按键信息时,判断按键信息类型是否为确认键,是则执行步骤s8’,否则根据按键类型进行相应操作,返回步骤s2 ;具体的,步骤s7’的实现过程为:步骤s7’ -1:当接收到按键信息时,判断与确认键、取消键、上翻键、下翻键关联的(PU引脚的电平是否为预设值,是则执行步骤s7’ _2,否则给上位机返回错误响应,返回步骤s2 ;步骤s7’ -3:判断与确认键关联的引脚的电平是否发生了变化,则执行步骤s8’,否则给上位机返回错误响应,返回步骤s2 ;步骤s8’:使用有效用户私钥根据有效签名算法对保存的计算结果进行签名,对操作次数自加1,将签名结果返回给上位机,给上位机返回成功响应,返回步骤s2。上述步骤A和步骤s5’中的所述输出操作次数等待用户确认,并判断是否接收到用户的确认信息,包括:步骤p1:判断与确认键和取消键关联的CPU引脚电平是否为预设状态,是则执行步骤P2,否则给上位机返回错误响应,返回步骤s2 ;步骤P2:输出所述操作次数的提示信息,等待用户确认;步骤P3:判断与确认键关联的CPU引脚电平是否发生了变化,是则继续,否则给上位机返回取消响应,返回步骤s2。本实施例中的签名过程还可设置每次上电只允许单笔交易,如要进行多笔交易必须重新插拔USB Key,增强网上交易的安全性;具体实现过程为将上述步骤s5’和步骤s8’替换为步骤s5’’和步骤s8’’ ;步骤s5’’:判断允许签名标志是否有效,是则对计算签名指令进行解析得到待签名报文,根据有效哈希算法对待签名报文进行计算并保存计算结果,从待签名报文中提取关键信息并存储到显示缓存区,给上位机返回成功响应,返回步骤s2 ;否则给上位机返回错误响应,返回步骤s2;步骤s8’’:判断报文显示完成标志是否有效,是则使用有效用户私钥根据有效签名算法对保存的计算结果进行签名,并将签名结果返回给上位机,给上位机返回成功响应,将允许签名标志复位,返回步骤s2,否则给上位机返回错误响应信息,返回步骤s2。该方案中的允许签名标志可以在初始化时设为有效或者在时钟中断过程中将其设为有效;如在时钟中断过程中将允许签名标志设为有效,则设备上电时计时器开始计时,当计时器的计时到达预设值时,进入时钟中断;时钟中断的过程为:关闭时钟中断,并将允许签名标志设为有效,打开时钟中断。本实施例中的步骤s6-步骤s80的具体实现过程如图2,包括:步骤h1:从显示缓存区中读取字符并记录开始读取时的位置;本实施例中在步骤hi之前可包括:判断与确认键、取消键、上翻键、下翻键关联的引脚的电平是否为预设值,是则执行步骤hl,否则给上位机返回错误响应,返回步骤s2 ;步骤h2:将读取的字符进行编码转换并根据转换后的编码从字库中读出对应的字模数据,将字模数据通过显示屏进`行输出;步骤h3:判断显示屏上是否有显示空间,是则执行步骤h4,否则执行步骤h5 ;本实施例中,在显示屏上输出字模数据时记录显示位置,步骤h3具体为:判断显示位置是否超过显示屏的最大行值和最大列值,是则显示屏上无显示空间,否则显示屏上有显不空间;步骤h4:判断是否读取完显示缓存区中的字符,是则将报文显示完成标志设为有效,执行步骤h5,否则继续从显示缓存区中读取字符,返回步骤h2 ;本实施例中,步骤h4有两种实现方式;第一种实现方式为:读取个数初始值为0,每次读取一个字符后读取个数自加1,步骤h4具体为:判断读取个数是否等于显示缓存区中的字符的数量,是则读取完,否则未读取完;第二中实现方式为:读取次数初始值为显示缓存区中的字符的数量,每次读取一个字符后读取次数自减1,步骤h4具体为:判断读取次数是否为0,是则读取完所有字符,否则未读取完;步骤h5:判断在预设时间内是否接收到按键信息,是则执行步骤h6,否则给上位机返回错误响应,返回步骤s2;在本实施例中,步骤h5具体包括:判断与按键关联的引脚的电平是否发生了变化,是则接收到按键信息,否则未接收到按键信息;步骤h6:检测按键信息的类型,如为确认信息则执行步骤slO,如为取消信息则输出取消提示信息,并给上位机返回取消响应,返回步骤s2,如为下翻页信息则执行步骤h7,如为上翻页信息则执行步骤h8 ;在本实施例中,步骤h6具体包括:检测电平发生变化的引脚类型,如为确认键关联的CPU引脚则为确认信息;如为取消键关联的CPU引脚则为取消信息;如为下翻键关联的CPU引脚则为下翻页信息;如为上翻键关联的CPU引脚则为上翻页信息。步骤h7:判断是否读取完显示缓存区中的字符,是则返回步骤s2,否则继续从显示缓存区中读取字符并记录开始读取时的位置,返回步骤h2 ;步骤h8:根据记录的读取位置从显示缓存区中读取字符,返回步骤h2。实施例二本发明实施例二提供一种签名方法,在该方法实现之前USB Key设备已与上位机建立了连接,本实施例中的签名过程通过两条指令实现且算法标识和密钥信息是上位机通过指令下发的时,即计算签名指令包括设置算法指令、报文解析签名指令;如图3所示,该签名方法包括:步骤101:设备上电,进行初始化;步骤102:设备等待接收指令和按键信息;步骤103:当设备接收到上位机下发的指令是,检测指令的类型,如为设置算法指令,则执行步骤104,如为报文解析签名指令则执行步骤105,如为其他指令则进行相应操作,并将操作结果返回给上位机,返回步骤102 ;步骤104:根据算法标识设置有效哈希算法和有效签名算法,根据密钥信息定位有效用户私钥,给上位机返回成功响应,返回步骤102。步骤105:判断报文解析条件是否合法,是则执行步骤106,否则给上位机返回错误响应,返回步骤s2 ;步骤106:对报文解析签名指令进行解析得到待签名报文,根据有效哈希算法对待签名报文进行计算并保存计算结果;步骤107:从接收到的待签名报文中提取关键信息;步骤108:将关键信息输出等待用户确认;步骤109:当接收到按键信息时,检测按键信息的类型,如为确认信息则执行步骤110,如为取消信息,则输出取消提示信息,给上位机返回取消响应;如为上翻页信息,则输出上一页的关键信息,返回步骤102 ;如为下翻页信息,则通过显示屏继续输出下一页的关键信息,并判断关键信息是否全部输出,是则将报文显示完成标志设为有效,返回步骤102,否则返回步骤102 ;具体的,本实施例中通过显示屏输出关键信息数据;步骤110:判断报文显示完成标志是 否有效,是则使用有效用户私钥根据有效签名算法对保存的计算结果进行签名,并将签名结果返回给上位机,给上位机返回成功响应,返回步骤102,否则给上位机返回错误响应,返回步骤102。在本实施例中的步骤106之前还包括:输出操作次数等待用户确认,并判断是否接收到用户的确认信息,是则执行步骤106,否则给上位机返回错误响应。在步骤110签名之后将操作次数自加I,优选的,本实施例中操作次数的初始值为O。实施例三
本发明实施例三提供一种签名方法,在该方法实现之前USB Key设备已与上位机建立了连接,本实施例的签名过程通过两条指令实现且算法标识和密钥信息是预先设置的时,即计算签名指令包括报文解析指令、报文签名指令;如图4所示,本实施例方法包括:步骤201:设备上电,进行初始化;步骤202:设备等待接收指令和按键信息;步骤203:当设备接收到上位机下发的指令是,检测指令的类型,如为报文解析指令则执行步骤204,如为报文签名指令则执行步骤207 ;如为其他指令则根据指令进行相应操作,并将操作结果返回给上位机,返回步骤202 ;步骤204:判断报文解析条件是否合法,是则执行步骤205,否则给上位机返回错误响应,返回步骤202 ;步骤205:输出操作次数等待用户确认,并判断是否接收到用户的确认信息,是则执行步骤206,否则给上位机返回错误响应,返回步骤202 ;步骤206:对报文解析指令进行解析得到待签名报文,根据有效哈希算法对接收到的待签名报文进行计算并保存计算结果,从待签名报文中提取关键信息,给上位机返回成功响应,返回步骤 s2;;步骤207:将关键信息输出等待用户确认,并判断是否接收到用户的确认信息,是则执行步骤208,否则进行相应操作,返回步骤202 ;在本实施例中,如接收到取消信息,则输出取消提示信息,给上位机返回取消响应;如接收到翻页信息,则输出上/下一页关进信息;例如接收到上翻页信息则输出上一页关键信息,如接收到下翻页信息则输出下一页的关键信息;步骤208:使用有效用户私钥根据有效签名算法对保存的计算结果进行签名,对操作次数自加1,将签名结果返回给上位机,并给上位机返回成功响应,返回步骤202 ;优选的,本实施例中的操作次数的初始值为O。实施例四本发明实施例四提供一种签名方法,在该方法实现之前USB Key设备已与上位机建立了连接,本实施例中的签名过程通过三条指令实现且算法标识和密钥信息是上位机通过指令下发的时,即计算签名指令包括设置算法指令、报文解析指令、报文签名指令;本实施例方法如图5所示,包括:步骤301:设备上电,进行初始化;步骤302:设备等待接收指令和按键信息;步骤303:当设备接收到上位机下发的指令时,检测指令的类型,如为设置算法指令则执行步骤304 ;如为报文解析指令则执行步骤305 ;如为报文签名指令则执行步骤308,如为其他指令则根据指令进行相应操作,并将操作结果返回给上位机,返回步骤302 ;步骤304:根据设置算法指令中的算法标识设置有效哈希算法和有效签名算法,根据设置算法指令中的密钥信息定位有效用户私钥,给上位机返回成功响应,返回步骤302 ;本实施例中,设置有效哈希算法和有效签名算法具体为:将有效哈希算法标识和有效签名算法标志置位;步骤304具体包括:
步骤304-1:根据算法标识判断是否支持哈希算法,是则设置有效哈希算法,执行步骤304-2,否则给上位机返回错误响应,返回步骤302 ;本实施例中,步骤304-1具体为:判断接收到的指令中的第三字节上的数据是否为第一预设字符,是则支持,否则不支持;步骤304-2:根据算法标识判断是否支持签名算法,是则设置有效签名算法,执行步骤304-3,否则给上位机返回错误响应,返回步骤302 ;本实施例中,步骤304-2具体为:判断接收到的指令中的第四字节上的数据是否为第二预设字符,是则支持,否则不支持;步骤304-3:根据设置算法指令中的密钥ID和用途信息定位对应的密钥文件中的有效用户私钥,给上位机返回成功响应,返回步骤302 ;步骤305:判断报文解析条件是否合法,是则执行步骤306,否则给上位机返回错误响应,返回步骤302 ;本实施例中 ,步骤305包括:步骤305-1:判断参数是否正确,是则执行步骤305-2,否则给上位机返回错误响应,返回步骤302 ;本实施例的步骤305-1具体为:判断报文解析指令的第二预设位置上的数据是否为预设数据串,是则继续,否则给上位机返回错误响应,返回步骤302 ;判断报文解析指令的第三预设位置上的数据是否大于预设长度值,是则给上位机返回错误响应,返回步骤302,否则继续;步骤305-2:判断有效哈希算法标识是否有效,是则执行步骤305_3,否则给上位机返回错误响应,返回步骤302 ;步骤305-3:判断执行权限是否满足,是则执行步骤306,否则给上位机返回错误响应,返回步骤302 ;具体的,本实施例中的步骤305-3具体为:判断PIN码校验操作是否成功执行,是则执行权限满足,否则执行权限不满足;步骤306:输出操作次数等待用户确认,并判断是否接收到用户的确认信息,是则执行步骤307,否则给上位机返回错误响应,返回步骤302 ;本实施例的步骤306具体包括:步骤306-1:判断与确认键和取消键关联的CPU引脚电平是否为预设状态,是则执行步骤306-2,否则给上位机返回错误响应,返回步骤302 ;步骤306-2:输出操作次数的提示信息,等待用户确认;步骤306-3:判断与确认键关联的CPU引脚电平是否发生了变化,是则执行步骤307,否则给上位机返回取消响应,返回步骤302 ;步骤307:对报文解析指令进行解析得到待签名报文,根据有效哈希算法对待签名报文进行计算并保存计算结果,从待签名报文中提取关键信息并存储到显示缓存区,给上位机返回成功响应,返回步骤302 ;步骤308:将显示缓存区中存储的关键信息通过显示屏输出;步骤309:当接收到按键信息时,判断按键信息类型是否为确认键,是则执行步骤310,否则根据按键类型进行相应操作,返回步骤302 ;本实施例中,步骤309具体为:步骤309-1:判断与确认键、取消键、上翻键、下翻键关联的CPU引脚的电平是否为预设值,是则执行步骤309-2,否则给上位机返回错误响应,返回步骤302 ;步骤309-3:判断与确认键关联的引脚的电平是否发生了变化,则执行步骤310,否则给上位机返回错误响应,返回步骤302 ;步骤310:使用有效用户私钥根据有效签名算法对保存的计算结果进行签名,对操作次数自加1,将签名结果返回给上位机,给所述上位机返回成功响应,返回步骤302 ;在本实施例中操作次数的初始值为O。本实施例中的设置算法指令、报文解析指令、报文签名指令也可通过下发两条指令或者下发一条指令实现,实现过程与实施例一中的方法相同,在此不再赘述。为增强签名过程的安全性,本实施例中步骤310中签名之前需输出全部的关键信息并经用户确认后再进行签名,具体实现过程为:将步骤309和步骤310替换为:步骤309’:当接收到按键信息时,检测按键信息的类型,如为取消键则输出取消提示信息,给上位机返回取消响应,返回步骤302 ;如为上翻页键则通过显示屏输出上一页的关键信息,返回步骤302;如为下翻页键则执行步骤310’ ;如为确认键则执行步骤311’ ;步骤310’:通过显示屏输出下一页的关键信息,并判断关键信息是否全部输出,是则将报文显示完成标志设为有效,返回步骤302,否则,给上位机返回错误响应信息,返回步骤 302 ;

步骤311’:判断报文显示完成标志是否有效,是则使用有效用户私钥根据有效哈希算法对保存的计算结果进行签名,将签名结果返回给上位机,给上位机返回成功响应,返回步骤302,否则给上位机返回错误响应信息,返回步骤302。本实施方法还可通过设置允许签名标志来实现每次只能进行一笔交易,如要进行多笔交易必须重新插拔USB Key,增强网上交易的安全性;具体实现过程为:将步骤306和步骤310替换为步骤306,’和步骤310,’ ;步骤306’ ’:判断允许签名标志是否有效,是则执行步骤307,否则给上位机返回错误响应信息,返回步骤302 ;步骤310’ ’:判断报文显示完成标志是否有效,是则使用有效用户私钥根据有效哈希算法对保存的计算结果进行签名,并将签名结果返回给上位机,给所述上位机返回成功响应,将允许签名标志复位,返回步骤302,否则给上位机返回错误响应信息,返回步骤302 ;本实施例的步骤301设备上电进行初始化时就将允许签名标志设为有效;或步骤301中设备上电时计时器开始计时,当计时器的计时到达预设值时,进入时钟中断;时钟中断的过程为:关闭时钟中断,并将允许签名标志设为有效,打开时钟中断。实施例五本发明实施例五提供一种签名方法,在该方法实现之前USB Key设备已与上位机进行了连接,指令下发的时,即计算签名指令包括设置算法指令、报文解析指令、报文签名指令;本实施例方法如图6和图7所示,包括:步骤401:设备上电进行初始化;
本实施例中,操作次数在每次上电时都初始化为设定值;步骤402:设备等待接收上位机下发的指令和按键信息;步骤403:当设备接收到上位机下发的指令时,检测指令的类型,如为设置算法指令则执行步骤404 ;如为报文解析指令则执行步骤408 ;如为报文签名指令则执行步骤417,如为其他指令则根据指令进行相应操作,并将操作结果返回给上位机;本实施例步骤403包括:当设备接收到上位机下发的指令时,检测指令的第一预设位置上的数据,如为ΟχΟΟΙΑ,则表示接收的指令是报文解析指令;如为ΟχΟΟΙΒ,则表示接收的指令是报文签名指令;如为OxOOlC,则表示接收的指令是设置算法指令;如为其他数据,则表示接收的指令是其他指令;具体的,第一预设位置为第一、二两个字节;步骤404:根据设置算法指令中的算法标识判断是否支持哈希算法,是则执行步骤405,否则给上位机返回错误响应,返回步骤402 ;具体的,在本实施例中步骤404包括:判断接收到的指令中的第三字节是否为第一预设字符,是则支持,否则不支持;第一预设字符为=SHAl或SHA256或SM3或MD5 ;步骤405:将有效哈希算法标识置位;步骤406:根据设置算法指令中的算法标识判断是否支持签名算法,是则执行步骤407,否则给上位机返回错误响应,返回步骤402 ;具体的,在本实施例中步骤406包括:判断接收到的指令中的第四字节是否为第二预设字符,是则支持,否则不支持;第二预设字符为:RSA或SM2 ;步骤407:将有效签名算法标识置位,根据设置算法指令中的密钥信息定位有效用户私钥,给上位机返回成功响应,返回步骤402 ;本实施例中,签名算法标识和哈希算法标识置位则表示对应的签名算法和哈希算法有效;步骤408:判断参数是否正确,是则执行步骤409,否则给上位机返回错误响应,返回步骤402 ;本实施例中步骤408具体包括:步骤408-1:判断报文解析指令的第二预设位置上的数据是否为预设数据串,是则执行步骤408-2,否则给上位机返回错误响应,返回步骤402 ;步骤408-2:判断报文解析指令的第三预设位置上的数据的长度是否超过预设长度,是则给上位机返回错误响应,返回步骤402,否则执行步骤409 ;具体的,第二预设位置为第三、四两个字节,预设数据串为30 60 ;第三预设位置为第五字节,预设长度为1024;步骤409:判断是否有有效哈希算法,是则执行步骤410,否则给上位机返回错误响应,返回步骤402 ;步骤410:判断执行权限是否满足,是则执行步骤411,否则给上位机返回错误响应,返回步骤402 ;本实施例中步骤410具体为:判断PIN码校验操作是否成功执行,是则执行步骤411,否则给上位机返回错误响应,返回步骤402 ;步骤411:判断与确认键和取消键关联的CPU引脚电平是否为预设状态,是则执行步骤412,否则给上位 机返回错误响应,返回步骤402 ;
步骤412:输出操作次数的提示信息,等待用户确认;具体的,本实施例中,设备输出“第N笔交易,是否继续”的提示信息;步骤413:判断与确认键关联的CPU引脚电平是否发生了变化,是则执行步骤416,否则执行步骤414;步骤414:判断与取消键关联的CPU引脚电平是否发生了变化,是则输出取消提示信息,给上位机返回取消响应,返回步骤402,否则执行步骤415 ;本实施例中的取消提示信息具体为“第N笔交易取消”;步骤415:判断与确认键和取消键关联的CPU引脚电平未变化的时间是否超过允许值,是则输出取消提示信息,给上位机返回取消响应,返回步骤402,否则返回步骤413 ;步骤416:根据有效哈希算法对接收到的报文进行计算并保存计算结果,并从接收到的报文中提取关键信息并将其保存到显示缓存区,给上位机返回成功响应,返回步骤402 ;在本实施例中,例如:接收到的报文为:
权利要求
1.一种签名方法,其特征在于,包括: 步骤S1:设备上电,进行初始化; 步骤s2:所述设备等待接收指令和按键信息; 步骤s3:当所述设备接收到上位机下发的指令时,判断所述接收到的指令是否为计算签名指令,是则执行步骤s4 ;否则根据指令进行相应操作,并将操作结果返回给上位机,返回步骤s2 ; 步骤s4:判断报文解析条件是否合法,是则执行步骤s5,否则给上位机返回错误响应,返回步骤s2 ; 步骤s5:对所述计算签名指令进行解析得到待签名报文,根据有效哈希算法对所述待签名报文进行计算并保存计算结果,从所述待签名报文中提取关键信息并存储到显示缓存区; 步骤s6:将所述显示缓存区中存储的关键信息通过显示屏输出,并等待接收按键信息; 步骤s7:当接收到按键信息时,检测所述按键信息的类型,如为取消信息则输出取消提示信息,给上位机返回取消响应,返回步骤s2;如为上翻页信息则通过显示屏输出上一页的关键信息,返回步骤s2 ;如为下翻页信息则执行步骤s8 ;如为确认信息则执行步骤s9 ; 步骤s8:判断关键信息是否全部输出,是则返回步骤s2,否则通过显示屏继续输出下一页的关键信息,返回步骤s2; 步骤s9:判断关键信息是否全部输出,是则使用所述有效用户私钥根据有效签名算法对所述保存的计算结果进行签名,将签名结果返回给上位机,给上位机返回成功响应,返回步骤s2,否则通过显示屏继续输出下一页关键信息,返回步骤s2。
2.如权利要求1所述的方法,其特征在于,所述步骤s8和步骤s9替换为: 步骤s80:通过显示屏继续输出下一页的关键信息,并判断所述关键信息是否全部输出,是则将报文显示完成标志设为有效,返回步骤s2,否则返回步骤s2 ; 步骤s90:判断报文显示完成标志是否有效,是则使用所述有效用户私钥根据有效签名算法对所述保存的计算结果进行签名,将签名结果返回给上位机,给上位机返回成功响应,返回步骤s2,否则返回步骤s80。
3.如权利要求1所述的方法,其特征在于,在所述步骤s3和步骤s4之间包括标志S3’; 步骤S3’:根据当前算法标识设置有效哈希算法和有效签名算法,根据密钥信息定位有效用户私钥。
4.如权利要求3所述的方法,其特征在于,所述算法标识和密钥信息是预先设置的或上位机通过指令下发的。
5.如权利要求3所述的方法,其特征在于,所述计算签名指令包括设置算法指令、报文解析指令、报文签名指令; 所述步骤s3替换为:当所述设备接收到上位机下发的指令是,检测指令的类型,如为设置算法指令,则执行步骤S3’,如为报文解析指令则执行步骤s4,如为报文签名指令则执行步骤s6 ; 其中在步骤S3’之后,给所述上位机返回成功响应,返回步骤s2 ;在步骤s4中对所述报文解析指令进行解析得到待签名报文; 其中在步骤s5之后,给所述上位机返回成功响应,返回步骤s2。
6.如权利要求3所述的方法,其特征在于,所述计算签名指令包括设置算法指令、报文解析签名指令; 所述步骤s3替换为:当所述设备接收到上位机下发的指令是,检测指令的类型,如为设置算法指令,则执行步骤S3’,如为报文解析签名指令则执行步骤s4 ; 其中在步骤S3’之后,给所述上位机返回成功响应,返回步骤s2 ; 在步骤s4中对所述报文解析签名指令进行解析得到待签名报文。
7.如权利要求1所述的方法,其特征在于,所述计算签名指令包括报文解析指令、报文签名指令; 所述步骤s3替换为:当所述设备接收到上位机下发的指令是,检测指令的类型,如为报文解析指令则执行步骤s4,如为报文签名指令则执行步骤s6 ; 在步骤s4中对所述报文解析指令进行解析得到待签名报文; 其中在步骤s5之后,给所述上位机返回成功响应,返回步骤s2。
8.如权利要求5或7所述的方法,其特征在于, 所述步骤s5和步骤s6替换为: 步骤s5’ ’ ’:对所述报文解析指令进行解析得到待签名报文,根据预设算法对所述待签名报文进行计算并保存计算结果,从所述待签名报文中提取关键信息,并通过显示屏输出所述关键信息,并给上位机返回成功响应,返回步骤s2 ; 步骤s6’’’:等待接收用户的确认信息。
9.如权利要求1所述的方法,其特征在于,所述步骤s4与步骤s5之间包括:输出操作次数等待用户确认,并判断是否接收到用户的确认信息,是则执行步骤s5,否则给上位机返回错误响应,返回步骤s2; 所述步骤s9判断为是时还包括:对所述操作次数自加I。
10.如权利要求9所述的方法,其特征在于,所述步骤s5替换为s5’,所述步骤s7-步骤s9替换为步骤s7,-步骤s8’ ; 步骤s5’:输出操作次数等待用户确认,并判断是否接收到用户的确认信息,是则对所述计算签名指令进行解析得到待签名报文,根据有效哈希算法对所述待签名报文进行计算并保存计算结果,从所述待签名报文中提取关键信息并存储到显示缓存区,给上位机返回成功响应,返回步骤s2 ;否则给上位机返回错误响应,返回步骤s2 ; 步骤s7’:当接收到按键信息时,判断按键信息类型是否为确认键,是则执行步骤s8’,否则根据按键类型进行相应操作,返回步骤s2 ; 步骤s8’:使用所述有效用户私钥根据有效签名算法对所述保存的计算结果进行签名,对所述操作次数自加1,将签名结果返回给上位机,给所述上位机返回成功响应,返回步骤s20
11.如权利要求10所述的方法,其特征在于,所述步骤S5’和步骤S8’替换为步骤S5’’和步骤s8’’ ; 步骤s5’ ’:判断允许 签名标志是否有效,是则对所述计算签名指令进行解析得到待签名报文,根据有效哈希算法对所述待签名报文进行计算并保存计算结果,从所述待签名报文中提取关键信息并存储到显示缓存区,给上位机返回成功响应,返回步骤s2 ;否则给上位机返回错误响应,返回步骤s2 ; 步骤s8’’:判断报文显示完成标志是否有效,是则使用所述有效用户私钥根据有效签名算法对所述保存的计算结果进行签名,并将签名结果返回给上位机,给所述上位机返回成功响应,将所述允许签名标志复位,返回步骤s2,否则给上位机返回错误响应信息,返回步骤s2。
12.如权利要求11所述的方法,其特征在于,所述步骤Si中进行初始化包括:将所述允许签名标志设为有效。
13.如权利要求11所述的方法,其特征在于,还包括:所述设备上电时计时器开始计时,当所述计时器的计时到达预设值时,进入时钟中断; 所述时钟中断的过程为:关闭时钟中断,并将所述允许签名标志设为有效,打开时钟中断。
14.如权利要求3所述的方法,其特征在于,所述步骤S3’包括: 步骤S3’ -1:根据 当前算法标识判断是否支持哈希算法,是则设置有效哈希算法,继续,否则给上位机返回错误响应,返回步骤s2 ; 步骤S3’ -2:根据当前算法标识判断是否支持签名算法,是则设置有效签名算法,继续,否则给上位机返回错误响应,返回步骤s2 ; 步骤S3’ -3:根据所述密钥信息中的密钥ID和用途信息定位有效用户私钥。
15.如权利要求14所述的方法,其特征在于,所述步骤s3’-l具体为:判断接收到的指令中的第三字节上的数据是否为第一预设字符,是则支持,否则不支持; 所述步骤S3’ -2具体为:判断接收到的指令中的第四字节上的数据是否为第二预设字符,是则支持,否则不支持。
16.如权利要求1所述的方法,其特征在于,所述s4包括: 步骤s4-l:判断参数是否正确,是则执行步骤s4-2,否则给上位机返回错误响应,返回步骤s2 ; 步骤s4-2:判断是否有有效哈希算法,是则执行步骤s4-3,否则给上位机返回错误响应,返回步骤s2 ; 步骤s4-3:判断执行权限是否满足,是则执行步骤s5,否则给上位机返回错误响应,返回步骤s2。
17.如权利要求16所述的方法,其特征在于,所述步骤s4-l具体包括: 步骤S4-11:判断所述报文解析指令的第二预设位置上的数据是否为预设数据串,是则执行步骤S4-12,否则给上位机返回错误响应,返回步骤s2 ; 步骤S4-12:判断所述报文解析指令的第三预设位置上的数据的长度是否大于预设长度值,是则给上位机返回错误响应,返回步骤s2,否则执行步骤s4-2 ; 所述步骤s4-3具体为:判断PIN码校验操作是否成功执行,是则执行权限满足,否则执行权限不满足。
18.如权利要求9或10所述的方法,其特征在于,所述输出操作次数等待用户确认,并判断是否接收到用户的确认信息,包括: 步骤Pl:判断与确认键和取消键关联的CPU引脚电平是否为预设状态,是则执行步骤p2,否则给上位机返回错误响应,返回步骤s2 ; 步骤P2:输出所述操作次数的提示信息,等待用户确认; 步骤P3:判断与确认键关联的CPU引脚电平是否发生了变化,是则继续,否则给上位机返回取消响应,返回步骤s2。
19.如权利要求2所述的方法,其特征在于,所述步骤s6-步骤s80具体为: 步骤h1:从所述显示缓存区中读取字符并记录开始读取时的位置; 步骤h2:将所述读取的字符进行编码转换并根据转换后的编码从字库中读出对应的字模数据,将所述字模数据通过所述显示屏进行输出; 步骤h3:判断所述显示屏上是否有显示空间,是则执行步骤h4,否则执行步骤h5 ;步骤h4:判断是否读取完所述显示缓存区中的字符,是则将所述报文显示完成标志设为有效,执行步骤h5,否则继续从所述显示缓存区中读取字符,返回步骤h2 ; 步骤h5:判断在预设时间内是否接收到按键信息,是则执行步骤h6,否则给上位机返回错误响应,返回步骤s2; 步骤h6:检测所述按键信息的类型,如为确认信息则执行步骤slO,如为取消信息则输出取消提示信息,给上位机返回取消响应,返回步骤s2,如为下翻页信息则执行步骤h7,如为上翻页信息则执行步骤h8 ; 步骤h7:判断是否读取完所述显示缓存区中的字符,是则返回步骤s2,否则继续从所述显示缓存区中读取字符并记录开始读取时的位置,返回步骤h2 ; 步骤h8:根据记录的所述读取位置从所述显示缓存区中读取字符,返回步骤h2。
20.如权利要求19所述的方法,其特征在于,在所述显示屏上输出所述字模数据时记录显示位置,所述步骤h3具体为:判断所述显示位置是否超过所述显示屏的最大行值和最大列值,是则所述显示屏上无显示空间,否则所述显示屏上有显示空间。
21.如权利要求19所述的方法,其特征在于,读取个数初始值为0,每次读取一个字符后所述读取个数自加1,所述步骤h4具体为:判断所述读取个数是否等于所述显示缓存区中的字符的数量,是则读取完,否则未读取完。
22.如权利要求19所述的方法,其特征在于,读取次数初始值为所述显示缓存区中的字符的数量,每次读取一个字符后所述读取次数自减1,所述步骤h4具体为:判断读取次数是否为0,是则读取完所有字符,否则未读取完。
23.如权利要求19所述的方法,其特征在于,在所述步骤hi之前包括:判断与确认键、取消键、上翻键、下翻键关联的CPU引脚的电平是否为预设值,是则执行步骤hl,否则给上位机返回错误响应,返回步骤S2 ; 所述步骤h5具体包括:判断与按键关联的引脚的电平是否发生了变化,是则接收到按键信息,否则未接收到按键信息; 所述步骤h6具体包括:检测电平发生变化的引脚类型,如为确认键关联的CPU引脚则为确认信息;如为取消键关联的CPU引脚则为取消信息;如为下翻键关联的CPU引脚则为下翻页信息;如为上翻键关联的CPU引脚则为上翻页信息。
24.如权利要求10所述的方法,其特征在于,所述s7’包括: 步骤s7,-1:当接收到按键信息时,判断与确认键、取消键、上翻键、下翻键关联的CPU引脚的电平是否为预设值,是则执行步骤s7’ _2,否则给上位机返回错误响应,返回步骤s2 ; 步骤s7,-3:判断与确认键关联的引脚的电平是否发生了变化,则执行步骤s8’,否则给上位机 返回错误响应,返回步骤s2。
全文摘要
本发明公开一种签名方法,包括设备接收到上位机下发的计算签名指令则对计算签名指令解析得到待签名报文,根据有效哈希算法对待签名报文进行计算并保存计算结果,从待签名报文中提取关键信息并存储到显示缓存区;将关键信息通过显示屏输出;当接收到确认按键信息且关键信息全部输出时,使用用户私钥根据有效签名算法对保存的计算结果进行签名,将签名结果返回给上位机。本发明技术方案需要关键信息全部输出确认后才能进行签名,提高了签名的安全性。
文档编号G06F21/34GK103235911SQ201310151280
公开日2013年8月7日 申请日期2013年4月27日 优先权日2013年4月27日
发明者陆舟, 于华章 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1