一种安全显示自定义信息的方法

文档序号:6371297阅读:91来源:国知局
专利名称:一种安全显示自定义信息的方法
技术领域
本发明涉及信息安全领域,特别涉及一种安全显示自定义信息的方法。
背景技术
USB Key是一种USB接口的硬件设备,内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法实现对用户的身份验证,以保护电子支付和结算、交易安全等。在进行身份认证、电子支付和结算、交易等过程中,在操作过程中会需要显示提示操作信息、反馈执行状态信息和执行结果信息,当操作过程中需要显示信息时,通过外部PC机或服务器后台传输的数据信息,进而进行显示。发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷显示数据信息在传输过程中容易被黑客攻击,会更改显示数据信息,对网银的安全造成了威胁。因此,现有的显示自定义信息的方法安全性太低,无法保障网银系统的安全。

发明内容
本发明提供了安全显示自定义信息的方法,在产品的生产阶段将需要使用的提示语信息设计成数据结构格式固化在产品中,用于提高网上身份认证和交易的安全性。为达到上述目的,本发明实施例采用的技术方案如下一种安全显示自定义信息的方法,具体包括①、接收主机发送的命令,遍历预置命令序列表并从中获取与所述命令相匹配的预置命令;②、判断第一状态标识是否已置位,如果所述第一状态标识未置位,执行步骤③;如果所述第一状态标识已置位,执行步骤④;③、判断所述命令是否为显示自定义信息命令,如果所述命令为所述显示自定义信息命令,将所述第一状态标识置位,从所述命令中获取下一条命令的提示语编码存入第一缓存区并替换所述第一缓存区中已存的提示语编码,并返回步骤①;如果所述命令不为所述显示自定义信息命令,执行所述命令,并返回步骤①;④、从所述命令中获取提示语编码并判断所述提示语编码与所述第一缓存区中的内容是否相同,如果相同,根据所述提示语编码获取提示语内容,判断所述提示语内容是否获取成功,是则根据提示语内容进行操作,返回步骤①;如果不同,返回错误信息,返回步骤①。从所述命令中获取下一条命令的提示语编码,具体包括从所述命令头中获取所述提示语编码;或,从所述命令的数据域中获取所述提示语编码。
所述遍历预置命令序列表并从中获取与所述命令相匹配的预置命令,具体包括根据提示语标识的第一变量值遍历预置命令序列表,找到与所述提示语标识的第一变量值相对应的第一预置命令,再从所述第一预置命令中获取与所述提示语标识的第二变量值相对应的第二预置命令,再从所述第二预置命令中获取与所述提示语标识的第三变量值相对应的第三预置命令,再从所述第三预置命令中获取与所述提示语标识的第四变量值相对应的第四预置命令,所述第四预置命令即为与当前命令相匹配的所述预置命令;
或者,根据所述提示语编码从所述预置命令序列表中直接获取与所述提示语编码相对应的所述预置命令。所述根据所述提示语编码获取提示语内容,具体包括SI :遍历提示语相关信息的内容,从预置缓存区中获取预置提示语编码;S2:判断所述预置提示语编码与从所述命令中获取的提示语编码是否相同,如果所述预置提示语编码与从所述命令中获取的提示语编码相同,则根据所述预置提示语编码获取相应的提示语内容;如果所述预置提示语编码与从所述命令中获取的提示语编码不相同,执行S3 ;S3 :判断所述预置提示语编码是否为最后一个提示语编码,若不是最后一个提示语编码,则返回遍历所述提示语相关信息的内容,从所述预置缓存区中获取下一个预置提示语编码,返回S2,若是最后一个提示语编码,则返回错误信息。所述根据提示语内容进行操作,具体包括显示所述提示语内容,将所述第一状态标识复位,执行所述命令,结束显示所述提示语内容。所述结束显示所述提示语内容,具体为当检测到定时器中断触发时结束显示所述提示语内容;和/ 或,当接收到下一条命令时结束显示所述提示语内容;和/ 或,当检测到按键确认触发时结束显示所述提示语内容。一种安全显示自定义信息的方法,具体包括①、接收主机发送的命令,遍历预置命令序列表并从中获取所述命令相匹配的预置命令;②、对所述命令的类型标识进行检测,如果所述类型标识与第一预设值相符,执行步骤③;如果所述类型标识与第二预设值相符,执行步骤④;如果所述类型标识与第三预设值相符,执行步骤⑤;③、从所述命令中获取自定义显示信息开关标识的值,根据所述自定义显示信息开关标识的值修改所述第二状态标识的取值,返回步骤①;④、判断所述第二状态标识的取值,如果所述第二状态标识的取值为第四预设值,则从所述命令中获取提示语编码,根据所述提示语编码获取提示语内容,并判断所述提示语内容是否获取成功,如果成功,则显示所述提示语内容,执行所述命令,结束显示所述提示语内容,并返回步骤①,如果不成功,则返回错误信息,并返回步骤①;如果所述第二状态标识的取值为第五预设值,则执行所述命令,返回步骤①;如果所述第二状态标识的取值为其他值,则返回错误信息,返回步骤①;⑤、判断所述命令中是否包含需要显示的提示语信息,若包含所述需要显示的提示语信息,则解析所述命令中的提示语信息,提取提示语内容并显示,执行所述命令,结束显示所述提示语内容,并返回步骤①;若不包含所述需要显示的提示语信息,从所述命令中获取提示语编码,根据所述提示语编码获取所述提示语内容,判断所述提示语内容是否获取成功,如果成功,则显示所述提示语内容,执行所述命令,结束显示所述提示语内容,并返回步骤①,如果不成功,则返回错误信息,并返回步骤①。所述从所述命令中获取所述提示语编码,具体包括从所述命令头中获取所述提示语编码;或, 从所述命令的数据域中获取所述提示语编码。所述遍历预置命令序列表并从中获取与所述命令相匹配的预置命令,具体包括根据提示语标识的第一变量值遍历预置命令序列表,找到与所述提示语标识的第一变量值相对应的第一预置命令,再从所述第一预置命令中获取与所述提示语标识的第二变量值相对应的第二预置命令,再从所述第二预置命令中获取与所述提示语标识的第三变量值相对应的第三预置命令,再从所述第三预置命令中获取与所述提示语标识的第四变量值相对应的第四预置命令,所述第四预置命令即为与当前命令相匹配的所述预置命令;或者,根据所述提示语编码从所述预置命令序列表中直接获取与所述提示语编码相对应的所述预置命令。所述根据所述提示语编码获取提示语内容,具体包括SI :遍历提示语相关信息的内容,从预置缓存区中获取预置提示语编码;S2:判断所述预置提示语编码与从所述命令中获取的提示语编码是否相同,如果所述预置提示语编码与从所述命令中获取的提示语编码相同,则根据所述预置提示语编码获取相应的提示语内容;如果所述预置提示语编码与从所述命令中获取的提示语编码不相同,执行S3 ;S3 :判断所述预置提示语编码是否为最后一个提示语编码,若不是最后一个提示语编码,则返回遍历所述提示语相关信息的内容,从所述预置缓存区中获取下一个预置提示语编码,返回S2,若是最后一个提示语编码,则返回错误信息。所述结束显示提示语内容,具体为接检测到定时器中断触发结束显示所述提示语内容;和/ 或,当接收到下一条命令时结束显示所述提示语内容;和/ 或,当检测到按键确认触发时结束显示所述提示语内容。所述解析所述命令中的提示语信息,具体包括解析所述命令中的提示语信息,判断所述提示语信息是否解析成功,如果解析成功,则显示解析得到的提示语内容;如果解析不成功,则根据所述命令相对应的所述提示语编码获取解析错误的提示语内容并显示。一种安全显示自定义信息的方法,包括①、接收主机发送的命令,根据所述命令获取显示参数并从所述命令中获取提示语编码和;②、对所述显示参数进行判断,如果所述显示参数的值为第六预设值,则执行步骤
③;如果所述显示参数的值为第七预设值,则执行步骤⑥;如果所述显示参数的值为其他值,则返回错误信息,并返回步骤①;③、从所述命令中获取命令操作类型标识的取值,判断所述操作类型标识的取值,如果所述操作类型状态标识的取值为第八预设值,执行步骤④;如果所述操作类型状态标识的取值为第九预设值,则执行步骤⑤;如果所述操作类型状态标识的取值为其他值,则返回错误信息,并返回步骤①;
④、根据所述提示语编码获取提示语内容并显示,执行所述命令,结束显示提示语内容,返回步骤①;⑤、从所述命令中获取结束显示标识并修改结束显示状态标识的取值,获取第三状态标识的取值根据不同的取值执行相应的操作,返回步骤①;⑥、执行所述命令,返回步骤①。
根据所述命令获取所述显示参数,具体包括从所述命令中获取数据结构标识,判断所述数据结构标识是否为显示标签,如果所述数据结构标识为所述显示标签,再从与数据结构标识相对应的数据结构中获取所述显示参数的值,如果所述数据结构标识不为所述显示标签,则返回错误信息;或,根据所述命令中显示参数标识直接获取所述显示参数的值。从所述命令中获取所述提示语编码,具体包括从所述命令头中获取所述提示语编码;或,从所述命令的数据域中获取所述提示语编码。所述根据所述提示语编码获取提示语内容,具体包括SI :遍历提示语相关信息的内容,从预置缓存区中获取预置提示语编码;S2:判断所述预置提示语编码与从所述命令中获取的提示语编码是否相同,如果从所述预置提示语编码与所述命令中获取的提示语编码相同,则根据所述预置提示语编码获取相应的提示语内容;如果所述预置提示语编码与从所述命令中获取的提示语编码不相同,执行S3 ;S3 :判断所述预置提示语编码是否为最后一个提示语编码,若不是最后一个提示语编码,则返回遍历所述提示语相关信息的内容,从所述预置缓存区中获取下一个预置提示语编码,返回S2,若为最后一个提示语编码,则返回错误信息。所述获取第三状态标识的取值根据不同的取值执行相应的操作,具体包括获取所述第三状态标识,判断所述第三状态标识的取值,如果所述第三状态标识的取值为第十预设值,则从所述命令中获取相应的提示语内容并显示,判断所述结束显示标识的取值,如果所述结束显示状态标识的取值为第十二预设值,则执行所述命令,结束显示所述提示语内容,如果所述结束显示状态标识的取值为第十三预设值,则执行所述命令,如果所述结束显示状态标识的取值为其他值,则返回错误信息;如果所述第三状态标识的取值为第十一预设值,则执行所述命令;如果所述第三状态标识的取值为其他值,则返回错
误信息。所述结束显示提示语内容,具体为
接检测到定时器中断触发结束显示所述提示语内容;和/ 或,当接收到下一条命令时结束显示所述提示语内容;和/ 或,当检测到按键确认触发时结束显示所述提示语内容。本发明的有益效果为通过本发明提供的一种安全显示自定义显示信息的方法,能够有效的防止黑客更改显示数据信息解决网银系统的安全问题。


图I为本发明实施例一提供的一种安全显示自定义信息的方法;图2为本发明实施例二提供的一种安全显示自定义信息的方法;图3为本发明实施例三提供的一种安全显示自定义信息的方法。
具体实施例方式本发明实施例提供了一种安全显示自定义信息的方法,下面结合附图对本发明实施例进行详细介绍。实施例一本发明实施例一提供了一种安全显示自定义信息的方法,下面结合图I对所述方法进行介绍。如图I所示,一种安全自定义显示信息的方法,具体包括以下步骤步骤101 :等待接收APDU命令;步骤102 :遍历APDU命令序列表,从所述预置APDU命令序列表中获取与当前APDU命令相匹配的预置APDU命令;在本实施例中,所述预置APDU命令序列表中包含所有的预置APDU命令;具体地,从所述预置APDU命令序列表中获取与所述APDU命令相匹配的预置APDU命令,包括根据CLA的值遍历预置APDU命令序列表,找到CLA的值相同的预置APDU命令,再根据INS的值遍历预置APDU命令序列表,找到INS的值相同的预置APDU命令,再从INS的值相同的预置APDU命令中获取Pl相同的预置APDU命令,再从满足上述条件中的预置APDU命令中获取P2的值相同的预置APDU命令;根据所述提示语编码遍历预置APDU命令序列表索引到与当前APDU命令相匹配的预置APDU命令的方法还包括从预置APDU命令序列表中直接获取CLA+INS+P1+P2的值相同的预置APDU命令;需要说明的是,从所述预置APDU命令序列表中获取与当前APDU命令相匹配的预置APDU命令不成功,则返回错误信息,并返回步骤101 ;
步骤103 :接收并读取当前APDU命令,根据当前APDU命令获取当前APDU命令的提示语编码;其中,在本实施例中,根据IS07816规范APDU命令由必备的四字节首标(CLA INSPl P2)和有条件可变长度主体组成;具体地,获取所述提示语编码包括从当前APDU命令的命令头中提取第二、三、四字节的内容或从当前APDU命令的数据域中提取所述提示语编码;步骤104 :判断与当前APDU命令相匹配的所述预置APDU命令是否获取成功,如果 获取成功则执行步骤105 ;否则返回错误信息;步骤105 :判断第一状态标识是否置位;是则执行步骤109 ;否则执行步骤106 ;具体地,在本实施例中,所述第一状态标识的置位时,第一预设值为0 ;当所述第一状态标识置位时,表示当前状态为显示自定义信息状态;步骤106 :判断当前APDU命令是否为显示自定义信息命令,是则执行步骤107 ;否则执行当前APDU命令,返回步骤101 ;
步骤107 :将所述第一状态标识置位;步骤108 :从当前APDU命令中获取下一条APDU命令的提示语编码写入ID缓存区并替换ID缓存区中的已存的提示语编码,并返回步骤101 ;其中,所述ID缓存区中只存储一条提示语编码;步骤109 :判断与当前APDU命令相匹配的预置ADPU命令的提示语编码与所述ID缓存区中的提示语编码是否相同,是则执行步骤110 ;否则返回错误信息,返回步骤101 ;具体地,在本实施例中,每一条需要显示提示语的APDU命令执行前需要一条自定义显示APDU指令,所述自定义显示APDU命令包含提示语编码,将所述提示语编码存入所述ID缓存区;步骤110 :根据所述提示语编码获取提示语内容;其中,所述提示语按TLV结构存储,所述TLV结构中的T中存储提示语标识,表示当前TLV结构存储的是提示语,L中存储数据V的长度;V中存储提示语的相关信息;进一步的,所述V中存储的提示语相关信息采用多个小tlv结构存储;小tlv中的t表示提示语编码,I表示提示语的长度,V表示提示语内容,其中t的长度为3个字节,I为I个字节;具体地,根据提示语编码获取提示语内容的过程包括获取提示语标识并读取L,根据L设置计数器的值,并遍历小tlv并更新计数器的值,计数器为0时表示遍历完全部提不语彳目息;进一步地,所述遍历小tlv具体为读取t和I并判断当前提示语编码与t中存储的提示语是否相同,若相同则从V中提取提示语内容,完成遍历;若不相同则遍历下一个tlv并更新计数器的值;更新计数器的值具体为将当前计数器的值减去小tlv的长度;步骤111 :显示提示语内容;步骤112 :将第一状态标识复位;步骤113 :执行当前APDU命令,结束显示所述提示语内容,返回步骤101 ;其中,结束显示所述提示语内容,可以通过定时器中断触发、下一条APDU命令触发、按键确认触发等方式结束,所述定时器中断触发,具体为开始显示时,打开定时器显示定时器预设时间并开始递减计时,当所述定时器的计时为0时,触发中断,关闭显示提示语内容;所述下一条APDU命令触发,具体为接收到下一条APDU命令时关闭显示提示语内容;所述按键确认触发,具体为按键确认后,关闭显示提示语内容;需要说明的是,所述结束显示提示语内容的方式可以同时使用,也可以只使用其中任意一种或多种; 本发明实施例一中先判断自定义命令显示状态,如果当前状态为自定义命令显示状态,显示当前命令对应的提示语内容,如果当前状态不为自定义命令显示状态,再判断当前APDU命令是否为自定义显示命令,如果为当前APDU命令为自定义显示命令,则将自定义命令显示状态修改为显示状态。在本发明其他实施例中,也可以通过两条APDU命令设置自定义显示状态开关标识,当自定义显示状态标识显示开时,显示当前命令对应的提示语内容,当自定义显示状态标识显示关时,不显示当前命令对应的提示语内容,具体流程见实施例二。实施例二 本发明实施例二提供了一种安全显示自定义信息的方法,下面结合图2对所述方法进行介绍。如图2所示,一种安全自定义显示信息的方法,具体包括以下步骤步骤201 :等待接收APDU命令;步骤202 :接收并读取APDU命令,根据当前APDU命令获取当前APDU命令的提示
语编码;其中,在本实施例中,根据IS07816规范APDU命令由必备的四字节首标(CLA INSPl P2)和有条件可变长度主体组成;提示语编码具体地,可以从当前APDU命令的命令头中提取第二、三、四字节内容,得到当前APDU命令的提示语编码;需要说明的是,还可以从当前APDU命令的数据域中提取提示语编码;步骤203 :遍历预置APDU命令序列表,根据所述提示语编码从所述预置APDU命令序列表中获取与当前APDU命令相匹配的预置APDU命令;在本实施例中,所述预置APDU命令序列表中包含所有的预置APDU命令;具体地,根据所述提示语编码遍历所述预置APDU命令序列表索引到与当前APDU命令相匹配的预置APDU命令的方法包括根据CLA的值遍历预置AUDU命令序列表,找到与CLA的值对应的预置APDU命令,再根据INS的值遍历预置APDU命令序列表,找到与INS的值对应的预置APDU命令,再从INS的值对应的预置APDU命令中获取Pl相同的预置APDU命令,再从满足上述条件中的预置APDU命令中获取P2的值相同的预置APDU命令;根据所述提示语编码遍历预置APDU命令序列表索引到与当前APDU命令相匹配的预置APDU命令的方法还可以为从预置APDU命令序列表中直接获取CLA+INS+P1+P2的值相同的预置APDU命令;需要说明的是,从所述预置APDU命令序列表中获取与当前APDU命令相匹配的预置APDU命令不成功,则返回错误信息,并返回步骤101 ;步骤204 :判断与当前APDU命令相匹配的所述预置APDU命令是否获取成功,如果获取成功则执行步骤205 ;否则返回错误信息,返回步骤201 ;步骤205 :判断当前APDU命令的类型;在本实施例中,APDU命令的类型包括第一类APDU命令、第二类APDU命令、第三类APDU命令;第一类APDU命令为自定义显示命令,第二类APDU命令为普通命令,第三类APDU命令为特殊命令,无论第二状态是否处于显示自定义信息状态,所述特殊命令都显示提示语息;当前APDU命令类型为第一类命令时,执行步骤206-207,当前APDU命令类型为第二类命令时,执行步骤208-211,;当前APDU命令类型为第三类命令时,执行步骤212-220 ;其中,当前APDU命令类型为第一类命令时,命令类型标识的取值为第一预设值,当前APDU命令类型为第二类命令时,所述命令类型标识的取值为第二预设值,当前APDU命令类型为第三类命令时,所述命令类型标识的取值为第三预设值;步骤206 :从当前APDU命令中获取自定义显示信息开关标识的值;具体地,在本实施例中,所述自定义显示信息命令中的数据的第一位的值表示自 定义显示信息开关标识;所述自定义显示信息开关标识的取值包含0和I,当所述自定义显示信息开关标识的取值为0时,表示关闭自定义显示信息开关;当所述自定义显示信息开关标识的取值为I时,表示打开自定义显示信息开关;步骤207 :根据自定义显示信息开关标识的值修改第二状态标识的取值,返回步骤 201 ;所述第二状态标识用于标识当前自定义显示信息的状态;所述第二状态标识的取值包括第四预设值和第五预设值;当所述第二状态标识的取值为第四预设值时,表示当前状态下显示自定义显示信息;当所述第二状态标识的取值为第五预设值时,表示当前状态下不显示自定义信息;优选地,所述第四预设值为1,第五预设值为0 ;步骤208 :判断所述第二状态标识的取值是否为第四预设值,是则执行步骤209 ;否则执行步骤210;步骤209 :根据所述提示语编码获取提示语内容;其中,所述提示语按TLV结构存储,所述TLV结构中的T中存储提示语标识,表示当前TLV结构存储的是提示语,L中存储数据V的长度;V中存储提示语的相关信息;进一步的,所述V中存储的提示语相关信息采用多个小tlv结构存储;小tlv中的t表示提示语编码,I表示提示语的长度,V表示提示语内容,其中t的长度为3个字节,I为I个字节;具体地,根据提示语编码获取提示语内容的过程包括获取提示语标识并读取L,根据L设置计数器的值,并遍历小tlv并更新计数器的值,计数器为0时表示遍历完全部提示语信息;进一步地,所述遍历小tlv具体为读取t和I并判断当前提示语编码与t中存储的提示语是否相同,若相同则从V中提取提示语内容并显示,完成遍历;若不相同则遍历下一个tlv并更新计数器的值;更新计数器的值具体为将当前计数器的值减去小tlv的长度;需要说明的是,从所述预置APDU命令序列表中获取与当前APDU命令相匹配的预置APDU命令不成功,则返回错误信息,并返回步骤101 ;步骤210 :显示所述提示语内容;步骤211 :执行当前APDU命令,结束显示所述提示语内容,返回步骤201 ;其中,结束显示提示语内容,可以通过定时器中断触发、下一条APDU命令触发、按键确认触发等方式结束,所述定时器中断触发,具体为开始显示时,打开定时器显示定时器预设时间并开始递减计时,当所述定时器的计时为O时,触发中断,关闭显示提示语内容;所述下一条APDU命令触发,具体为接收到下一条APDU命令时关闭显示提示语内容;所述按键确认触发,具体为按键确认后,关闭显示提示语内容;需要说明的是,所述结束显示提示语内容的方式可以同时使用,也可以只使用其中任意一种或多种;步骤212 :判断当前APDU命令中是否包含显示提示语信息,是则执行步骤213 ;否则执行步骤218 ;在本实施例中,所述特殊命令无论第二状态是否处于显示自定义信息状态,都需要显示提示语信息,所述特殊命令包括包含显示提示语信息的APDU命令和不包含提示语信息的APDU命令;
步骤213 :解析当前APDU命令中的自定义显示信息,并提取提示语内容;步骤214:判断解析当前APDU命令的自定义显示信息是否成功,是则执行步骤215 ;否则执行步骤216 ;步骤215 :显示提示语内容,执行当前APDU命令,结束显示所述提示语内容,返回步骤201 ;步骤216 :根据当前APDU命令相对应的提示语编码获取提示语内容,返回步骤201 ;需要说明的是,在本实施例中,根据当前APDU命令相对应的提示语编码获取提示语内容,其中,所述提示语按TLV结构存储,所述TLV结构中的T中存储提示语标识,表示当前TLV结构存储的提示语,L中存储数据V的长度;V中存储提示语的相关信息;进一步的,所述V中存储的提示语相关信息采用多个小tlv结构存储;小tlv中的t表示提示语编码,I表示提示语的长度,V表示提示语内容,其中t的长度为3个字节,I为I个字节;在本实施例中,根据提示语编码获取提示语内容的过程包括获取提示语标识并读取L,根据L设置计数器的值,并遍历小tlv并更新计数器的值,计数器为0时表示遍历完全部提示语信息;进一步地,所述遍历小tlv具体为读取t和I并判断当前提示语编码与t中存储的提示语是否相同,若相同则从V中提取提示语内容并显示,完成遍历;若不相同则遍历下一个tlv并更新计数器的值;更新计数器的值具体为将当前计数器的值减去小tlv的长度;需要说明的是,从所述预置APDU命令序列表中获取与当前APDU命令相匹配的预置APDU命令不成功,则返回错误信息,并返回步骤101 ;步骤217 :显示当前提示语编码所对应的提示语内容;具体地,在本实施例中,当前APDU命令相对应的提示语编码的提示语内容为解析错误提不彳目息;其中,显示提示语内容,通过中断显示方式中断显示提示语内容,所述结束显示的方式参见步骤210,在此不再赘述;步骤218 :根据所述提示语编码获取提示语内容,;其中,所述提示语按TLV结构存储,所述TLV结构中的T中存储提示语标识,表示当前TLV结构存储的是提示语,L中存储数据V的长度;V中存储提示语的相关信息;进一步的,所述V中存储的提示语相关信息采用多个小tlv结构存储;小tlv中t表示提示语编码,I表示提示语的长度,V表示提示语内容,其中t的长度为3个字节,I为I个字节;具体地,根据提示语编码获取提示语内容的过程包括获取提示语标识并读取L,根据L设置计数器的值,并遍历小tlv并更新计数器的值,计数器为0时表示遍历完全部提示语信息;进一步地,所述遍历小tlv具体为 读取t和I并判断当前提示语编码与t中存储的提示语是否相同,若相同则提取提示语内容并显示,完成遍历;若不相同则遍历下一个tlv并更新计数器的值;更新计数器的值具体为将当前计数器的值减去小tlv的长度;需要说明的是,从所述预置APDU命令序列表中获取与当前APDU命令相匹配的预置APDU命令不成功,则返回错误信息,并返回步骤101 ;步骤219 :显示所述提示语内容;其中,显示提示语内容,通过中断显示方式中断显示提示语内容,所述中断显示方式参见步骤210,在此不再赘述;步骤220 :执行当前APDU命令,结束显示所述提示语内容,返回步骤201 ;在本实施例中,通过设置自定义信息开关控制APDU命令,控制APDU命令的显示状态,并且根据当前APDU命令的不同类型执行相应的操作;结束显示所述提示语内容的实现方式可参考上述方式,在此不再赘述;在本发明的其他实施方式中,可以通过从当前APDU命令中的参数确定执行当前APDU命令是否需要显不自定义彳目息,具体流程参见实施例二。实施例三本发明实施例三提供了一种安全显示自定义信息的方法,下面结合图3对所述方法进行介绍。如图3所示,一种安全自定义显示信息的方法,具体包括以下步骤步骤301 :等待接收APDU命令;步骤302 :接收并读取当前APDU命令,根据所述APDU命令获取自定义显示参数并从所述命令中获取提示语编码;优选地,在本实施例中,每条APDU命令数据域的开头为特殊的数据结构,所述特殊的数据结构为显示参数数据结构,包括显示标签和显示参数,所述显示标签用于标识从当前APDU命令中提取的数据结构为显示参数数据结构,所述显示参数的取值可以为第六预设值和第七预设值,所述第六预设值具体为0,所述第七预设值具体为I ;其中,所述提示语编码的格式为CLA+INS+P1+P2 ;具体地,提取当前APDU命令头中的第二、三、四字节内容,得到当前APDU命令的提示语编码;步骤303 :判断所述显示参数的值是否为第六预设值,如果所述显示参数的值为第六预设值,则顺序执行步骤304 ;如果所述显示参数为第七预设值,则执行步骤314 ;步骤304 :从所述APDU命令中获取命令操作类型标识的取值,设置操作类型状态标识并判断所述操作类型的标识的取值,如果所述操作类型状态标识的取值为第八预设值,执行步骤305 ;如果所述操作类型状态标识的取值为第九预设值,执行步骤308 ;步骤305 :根据所述提示语编码获取提示语内容;其中,所述提示语按TLV结构存储,所述TLV结构中的T中存储提示语标识,表示当前TLV结构存储的是提示语,L中存储数据V的长度;V中存储提示语的相关信息;进一步的,所述V中存储的提示语相关信息采用多个小tlv结构存储;小tlv中的t表示提示语编码,I表示提示语的长度,V表示提示语内容,其中t的长度为3个字节,I为I个字节;具体地,根据提示语编码获取提示语内容的过程包括获取提示语标识并读取L,根据L设置计数器的值,并遍历小tlv并更新计数器的值,计数器为0时表示遍历完全部提不语彳目息;进一步地,所述遍历小tlv具体为读取t和I并判断当前提示语编码与t中存储的提示语是否相同,若相同则从V中提取提示语内容,完成遍历;若不相同则遍历下一个tlv并更新计数器的值;更新计数器的值具体为将当前计数器的值减去小tlv的长度;需要说明的是,从所述预置APDU命令序列表中获取与当前APDU命令相匹配的预置APDU命令不成功,则返回错误信息,并返回步骤101 ;
步骤306 :显示获取的提示语内容;步骤307 :执行当前APDU命令,结束显示提示语内容,返回步骤301 ;其中,结束显示提示语内容,可以通过定时器中断触发、下一条APDU命令触发、按键确认触发等方式结束,所述定时器中断触发,具体为开始显示时,打开定时器显示定时器预设时间并开始递减计时,当所述定时器的计时为0时,触发中断,关闭显示提示语内容;所述下一条APDU命令触发,具体为接收到下一条APDU命令时关闭显示提示语内容;所述按键确认触发,具体为按键确认后,关闭显示提示语内容;需要说明的是,所述结束显示提示语内容的方式可以同时使用,也可以只使用其中任意一种或多种;步骤308 :从所述APDU命令中获取结束显示标识的值并修改结束显示状态标识的取值;在本实施例中,所述结束状态标识,用于结束显示提示语的内容;所述结束显示标识的取值包括第十二预设值和第十三预设值;例如,在签名流程过程中,取签名结果命令中获取结束显示标识,表示结束显示提示语的内容;步骤309 :从所述APDU命令中获取第三状态标识的取值,并判断第三状态标识的取值,如果第三状态标识的取值为第十预设值,则执行步骤310 ;如果第三状态标识的取值为第十一预设值,则执行步骤313 ;步骤310 :获取所述APDU命令相应的提示语内容并显示;在本实施例中,获取所述提示语内容的过程见步骤305,在此不再赘述;步骤311 :判断所述结束显示状态标识的取值,如果所述结束显示状态标识的取值为第十二预设值,则执行步骤312 ;如果所述结束显示状态标识的取值为第十三预设值,否则执行步骤313;步骤312 :执行所述APDU命令,结束显示所述提示语内容,返回步骤301 ;步骤313 :执行所述APDU命令,返回步骤301 ;以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.ー种安全显示自定义信息的方法,其特征在于,具体包括 ①、接收主机发送的命令,遍历预置命令序列表并从中获取与所述命令相匹配的预置命令; ②、判断第一状态标识是否已置位,如果所述第一状态标识未置位,执行步骤③;如果所述第一状态标识已置位,执行步骤④; ③、判断所述命令是否为显示自定义信息命令,如果所述命令为所述显示自定义信息命令,将所述第一状态标识置位,从所述命令中获取下一条命令的提示语编码存入第一缓存区并替换所述第一缓存区中已存的提示语编码,并返回步骤①;如果所述命令不为所述显示自定义信息命令,执行所述命令,并返回步骤①; ④、从所述命令中获取提示语编码并判断所述提示语编码与所述第一缓存区中的内容是否相同,如果相同,根据所述提示语编码获取提示语内容,判断所述提示语内容是否获取成功,是则根据提示语内容进行操作,返回步骤①;如果不同,返回错误信息,返回步骤①。
2.如权利要求I所述的方法,其特征在干,从所述命令中获取下一条命令的提示语编码,具体包括 从所述命令头中获取所述提示语编码; 或, 从所述命令的数据域中获取所述提示语编码。
3.如权利要求I所述的方法,其特征在于,所述遍历预置命令序列表并从中获取与所述命令相匹配的预置命令,具体包括 根据提示语标识的第一变量值遍历预置命令序列表,找到与所述提示语标识的第一变量值相对应的第一预置命令,再从所述第一预置命令中获取与所述提示语标识的第二变量值相对应的第二预置命令,再从所述第二预置命令中获取与所述提示语标识的第三变量值相对应的第三预置命令,再从所述第三预置命令中获取与所述提示语标识的第四变量值相对应的第四预置命令,所述第四预置命令即为与当前命令相匹配的所述预置命令; 或者, 根据所述提示语编码从所述预置命令序列表中直接获取与所述提示语编码相对应的所述预置命令。
4.如权利要求I所述的方法,其特征在于,所述根据所述提示语编码获取提示语内容,具体包括 Si:遍历提示语相关信息的内容,从预置缓存区中获取预置提示语编码; 52:判断所述预置提示语编码与从所述命令中获取的提示语编码是否相同,如果所述预置提示语编码与从所述命令中获取的提示语编码相同,则根据所述预置提示语编码获取相应的提示语内容;如果所述预置提示语编码与从所述命令中获取的提示语编码不相同,执行S3 ; 53:判断所述预置提示语编码是否为最后ー个提示语编码,若不是最后ー个提示语编码,则返回遍历所述提示语相关信息的内容,从所述预置缓存区中获取下一个预置提示语编码,返回S2,若是最后ー个提示语编码,则返回错误信息。
5.如权利要求I所述的方法,其特征在于,所述根据提示语内容进行操作,具体包括 显示所述提示语内容,将所述第一状态标识复位,执行所述命令,结束显示所述提示语内容。
6.如权利要求5所述的方法,其特征在于,所述结束显示所述提示语内容,具体为 当检测到定时器中断触发时结束显示所述提示语内容; 和/或, 当接收到下一条命令时结束显示所述提示语内容; 和/或, 当检测到按键确认触发时结束显示所述提示语内容。
7.ー种安全显示自定义信息的方法,其特征在于,包括步骤 ①、接收主机发送的命令,遍历预置命令序列表并从中获取所述命令相匹配的预置命令; ②、对所述命令的类型标识进行检测,如果所述类型标识与第一预设值相符,执行步骤③;如果所述类型标识与第二预设值相符,执行步骤④;如果所述类型标识与第三预设值相符,执行步骤⑤; ③、从所述命令中获取自定义显示信息开关标识的值,根据所述自定义显示信息开关标识的值修改所述第二状态标识的取值,返回步骤①; ④、判断所述第二状态标识的取值,如果所述第二状态标识的取值为第四预设值,则从所述命令中获取提示语编码,根据所述提示语编码获取提示语内容,并判断所述提示语内容是否获取成功,如果成功,则显示所述提示语内容,执行所述命令,结束显示所述提示语内容,并返回步骤①,如果不成功,则返回错误信息,并返回步骤①;如果所述第二状态标识的取值为第五预设值,则执行所述命令,返回步骤①;如果所述第二状态标识的取值为其他值,则返回错误信息,返回步骤①; ⑤、判断所述命令中是否包含需要显示的提示语信息,若包含所述需要显示的提示语信息,则解析所述命令中的提示语信息,提取提示语内容并显示,执行所述命令,结束显示所述提示语内容,并返回步骤①;若不包含所述需要显示的提示语信息,从所述命令中获取提示语编码,根据所述提示语编码获取所述提示语内容,判断所述提示语内容是否获取成功,如果成功,则显示所述提示语内容,执行所述命令,结束显示所述提示语内容,并返回步骤①,如果不成功,则返回错误信息,并返回步骤①。
8.如权利要求7所述的方法,其特征在于,所述从所述命令中获取所述提示语编码,具体包括 从所述命令头中获取所述提示语编码; 或, 从所述命令的数据域中获取所述提示语编码。
9.如权利要求7所述的方法,其特征在干,所述遍历预置命令序列表并从中获取与所述命令相匹配的预置命令,具体包括 根据提示语标识的第一变量值遍历预置命令序列表,找到与所述提示语标识的第一变量值相对应的第一预置命令,再从所述第一预置命令中获取与所述提示语标识的第二变量值相对应的第二预置命令,再从所述第二预置命令中获取与所述提示语标识的第三变量值相对应的第三预置命令,再从所述第三预置命令中获取与所述提示语标识的第四变量值相对应的第四预置命令,所述第四预置命令即为与当前命令相匹配的所述预置命令;或者, 根据所述提示语编码从所述预置命令序列表中直接获取与所述提示语编码相对应的所述预置命令。
10.如权利要求7所述的方法,其特征在干,所述根据所述提示语编码获取提示语内容,具体包括 Si:遍历提示语相关信息的内容,从预置缓存区中获取预置提示语编码; S2:判断所述预置提示语编码与从所述命令中获取的提示语编码是否相同,如果所述预置提示语编码与从所述命令中获取的提示语编码相同,则根据所述预置提示语编码获取相应的提示语内容;如果所述预置提示语编码与从所述命令中获取的提示语编码不相同,执行S3 ; S3:判断所述预置提示语编码是否为最后ー个提示语编码,若不是最后ー个提示语编码,则返回遍历所述提示语相关信息的内容,从所述预置缓存区中获取下一个预置提示语编码,返回S2,若是最后ー个提示语编码,则返回错误信息。
11.如权利要求7所述的方法,其特征在于,所述结束显示提示语内容,具体为 接检测到定时器中断触发结束显示所述提示语内容; 和/或, 当接收到下一条命令时结束显示所述提示语内容; 和/或, 当检测到按键确认触发时结束显示所述提示语内容。
12.如权利要求7所述的方法,其特征在于,所述解析所述命令中的提示语信息,具体包括 解析所述命令中的提示语信息,判断所述提示语信息是否解析成功,如果解析成功,则显示解析得到的提示语内容;如果解析不成功,则根据所述命令相对应的所述提示语编码获取解析错误的提示语内容并显示。
13.ー种安全显示自定义信息的方法,其特征在于,包括 ①、接收主机发送的命令,根据所述命令获取显示參数并从所述命令中获取提示语编码和; ②、对所述显示參数进行判断,如果所述显示參数的值为第六预设值,则执行步骤③;如果所述显示參数的值为第七预设值,则执行步骤⑥;如果所述显示參数的值为其他值,则返回错误信息,并返回步骤①; ③、从所述命令中获取命令操作类型标识的取值,判断所述操作类型标识的取值,如果所述操作类型状态标识的取值为第八预设值,执行步骤④;如果所述操作类型状态标识的取值为第九预设值,则执行步骤⑤;如果所述操作类型状态标识的取值为其他值,则返回错误信息,并返回步骤①; ④、根据所述提示语编码获取提示语内容并显示,执行所述命令,结束显示提示语内容,返回步骤①; ⑤、从所述命令中获取结束显示标识并修改结束显示状态标识的取值,获取第三状态标识的取值根据不同的取值执行相应的操作,返回步骤①; ⑥、执行所述命令,返回步骤①。
14.如权利要求13所述的方法,其特征在于,根据所述命令获取所述显示參数,具体包括 从所述命令中获取数据结构标识,判断所述数据结构标识是否为显示标签,如果所述数据结构标识为所述显示标签,再从与数据结构标识相对应的数据结构中获取所述显示參数的值,如果所述数据结构标识不为所述显示标签,则返回错误信息; 或, 根据所述命令中显示參数标识直接获取所述显示參数的值。
15.如权利要求13所述的方法,其特征在干,从所述命令中获取所述提示语编码,具体包括 从所述命令头中获取所述提示语编码; 或, 从所述命令的数据域中获取所述提示语编码。
16.如权利要求13所述,其特征在于,所述根据所述提示语编码获取提示语内容,具体包括 Si:遍历提示语相关信息的内容,从预置缓存区中获取预置提示语编码; 52:判断所述预置提示语编码与从所述命令中获取的提示语编码是否相同,如果从所述预置提示语编码与所述命令中获取的提示语编码相同,则根据所述预置提示语编码获取相应的提示语内容;如果所述预置提示语编码与从所述命令中获取的提示语编码不相同,执行S3 ; 53:判断所述预置提示语编码是否为最后ー个提示语编码,若不是最后ー个提示语编码,则返回遍历所述提示语相关信息的内容,从所述预置缓存区中获取下一个预置提示语编码,返回S2,若为最后ー个提示语编码,则返回错误信息。
17.如权利要求13所述的方法,其特征在于,所述获取第三状态标识的取值根据不同的取值执行相应的操作,具体包括 获取所述第三状态标识,判断所述第三状态标识的取值,如果所述第三状态标识的取值为第十预设值,则从所述命令中获取相应的提示语内容并显示,判断所述结束显示标识的取值,如果所述结束显示状态标识的取值为第十二预设值,则执行所述命令,结束显示所述提示语内容,如果所述结束显示状态标识的取值为第十三预设值,则执行所述命令,如果所述结束显示状态标识的取值为其他值,则返回错误信息;如果所述第三状态标识的取值为第十一预设值,则执行所述命令;如果所述第三状态标识的取值为其他值,则返回错误信ο
18.如权利要求13所述的方法,其特征在于,所述结束显示提示语内容,具体为 接检测到定时器中断触发结束显示所述提示语内容; 和/或, 当接收到下一条命令时结束显示所述提示语内容; 和/或, 当检测到按键确认触发时结束显示所述提示语内容。
全文摘要
本发明公开了一种安全显示自定义信息的方法,属于信息安全领域,该方法包括以下步骤接收主机发送的命令,获取与所述命令相匹配的预置命令,判断第一状态标识是否已置位,若所述第一状态标识已置位,则根据提示语编码获取提示语内容并显示,执行所述命令;若所述第一状态标识未置位,则设置第一状态标识的状态,并获取所述命令数据域中的内容,执行所述命令。本发明通过在不同的命令中设置不同的状态对自定义信息进行显示,能够有效的解决自定义显示信息的安全问题。
文档编号G06F21/00GK102737184SQ20121019290
公开日2012年10月17日 申请日期2012年6月12日 优先权日2012年6月12日
发明者于华章, 陆舟 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1