一种防窥密码器及其密码防窥方法

文档序号:1354334 发布日期:2020-07-24 浏览:22次 >En<

阅读说明:本技术 一种防窥密码器及其密码防窥方法 (Anti-peeping cipher device and cipher anti-peeping method thereof ) 是由 苑贵全 于 2020-03-31 设计创作,主要内容包括:本申请公开一种防窥密码器及其密码防窥方法。所述防窥密码器,包括按键模块、主控电路、脉冲计时器、振动模块、振动计数器和码值寄存器;按键模块包括数码按钮、确认按钮和取消按钮;主控电路连接按键模块、振动计数器和码值寄存器,以及上位机和脉冲计时器;主控电路接收到数码按键信号后,将码值记录至码值存储器中,并触发脉冲计时器开始以脉冲周期输出高脉冲信号;振动模块每接收到一次高脉冲信号后发出一次振动,并且更新一次振动计数器的值;在按键信号结束后将振动计数器的值对应记录在码值寄存器中;在接收到确认按钮的确认信号后,向上位机输出码值寄存器中每个按键的码值以及对应的振动计数器的值。防止密码被窥探,保证密码安全性。(The application discloses a peep-proof cipher device and a cipher peep-proof method thereof. The peep-proof cipher device comprises a key module, a main control circuit, a pulse timer, a vibration module, a vibration counter and a code value register; the key module comprises a digital button, a confirmation button and a cancel button; the main control circuit is connected with the key module, the vibration counter, the code value register, the upper computer and the pulse timer; after receiving the digital key signal, the main control circuit records the code value into the code value memory and triggers the pulse timer to start outputting a high pulse signal in a pulse period; the vibration module sends out vibration once after receiving the high pulse signal once and updates the value of the vibration counter once; correspondingly recording the value of the vibration counter in a code value register after the key signal is finished; and after receiving a confirmation signal of the confirmation button, outputting the code value of each key in the code value register and the value of the corresponding vibration counter to the upper computer. The password is prevented from being snooped, and the security of the password is ensured.)

一种防窥密码器及其密码防窥方法

技术领域

本申请涉及信息安全领域,尤其涉及一种防窥密码器及其密码防窥方法。

背景技术

在现代高科技信息社会中,数字密码技术越来越多地被应用在各种安全保障之中。为了保证数据的安全性,现有技术常采用设置位数不等的密码的方式来防止数据被窃取。

但是现有的普通密码输入设备大多键盘裸露于外且数字键盘成规律有序固定分布,由于密码输入时通常周围环境很复杂,存在被窥视的风险。不法分子使用高科技设备根据用户手法动作规律和数字键盘规律即可猜测到其密码,从而侵害使用者利益。因此如何保障使用者密码不被窥视成为现如今亟待解决的问题。

发明内容

本申请提供了一种防窥密码器,包括按键模块、主控电路、脉冲计时器、振动模块、振动计数器和码值寄存器;

所述按键模块包括数码按钮、确认按钮和取消按钮;所述数码按钮输出的数码按键信号中每一位对应一个按钮;所述确认按钮输出确认信号,按钮按下时确认信号有效;所述取消按钮输出取消信号,按钮按下时取消信号有效;

所述主控电路的接收端连接按键模块、振动计数器和码值寄存器,输出端连接上位机和脉冲计时器;主控电路接收到数码按钮的数码按键信号后,将码值记录至码值存储器中,并触发脉冲计时器开始以脉冲周期输出高脉冲信号;振动模块每接收到一次高脉冲信号后发出一次振动,并且更新一次振动计数器的值;在按键信号结束后将振动计数器的值对应记录在码值寄存器中;

所述主控电路在接收到取消按钮的取消信号后,将记录的码值与对应的振动计数值均清零;在接收到确认按钮的确认信号后,向上位机输出码值寄存器中每个按键的码值以及对应的振动计数器的值。

如上所述的防窥密码器,其中,当主控电路上电复位或取消信号有效时,主控电路进入等待第1按键状态;

主控电路在等待第i按键状态下,当数码按键信号均无效时,保持等待第i按键状态;当数码按键信号中至少一个信号有效时,记录其中的有效信号,主控电路进入第i按键计时状态;

主控电路在第i按键计时状态下,当所述有效信号无效时,主控电路令码值寄存器记录振动计数器值,主控电路进入等待按键弹起状态;否则保持第i按键计时状态;

主控电路在等待按键弹起状态下,当数码按键信号中任何信号均无效时,如果按键次数达到预定密码长度时,主控电路进入等待确认状态,否则主控电路进入等待第i+1按键状态;

主控电路在等待确认状态下,当确认信号有效时,主控电路输出码值寄存器的值,进入等待确认无效状态;否则主控电路保持等待确认状态;

主控电路在等待确认无效状态下,当确认信号无效时,主控电路进入等待第1按键状态;否则保持等待确认无效状态。

如上所述的防窥密码器,其中,还包括删除按钮,当删除按钮按下,主控电路接收到删除信号有效后,主控电路删除上一次记录的码值以及对应的振动计数值。

本申请还提供一种密码防窥方法,应用于上述任一项所述的防窥密码器中,其特征在于,所述方法包括如下步骤:

当检测到数码按钮按下时,启动并清零脉冲计时器和振动计数器,设置脉冲周期,开始计时计数;

检测数码按钮按下持续时间,脉冲计时器每间隔一次脉冲周期则触发一次振动模块,并且更新一次振动计数器的值,在按键抬起时记录按键码值以及对应的振动计数器的值;

当检测到确认按钮按下时,按照记录的按键码值顺序以及记录的振动计数器值的顺序组织密码。

如上所述的密码防窥方法,其中,在按键抬起后,将脉冲计时器的数值和振动计数器的数值再次清零,开始记录下一数码按键按下的持续时间和振动次数。

如上所述的密码防窥方法,其中,所述脉冲周期为定期改变的变量值,在按键抬起后更新脉冲周期。

如上所述的密码防窥方法,其中,若按键按下的持续时间未达到设置的脉冲周期,则振动计数器保持原始数值0,并在数码按钮抬起时将脉冲计时器的数值再次清零,开始记录下一数码按键按下的持续时间。

如上所述的密码防窥方法,其中,若按键按下的持续时间超过设置的脉冲周期,则脉冲计时器每间隔一次设定的脉冲周期之后,向与脉冲计时器连接的振动模块发送一次高脉冲信号,振动模块接收到高脉冲信号后发出一次振动,并且向与脉冲计时器连接的振动计数器发送计数信号,振动计数器接收到计数信号后,将当前振动计数器的值作加一操作。

如上所述的密码防窥方法,其中,当某个按键持续按下x*T1的时间,则不再振动且不再计时。

如上所述的密码防窥方法,其中,如果第一按键按下未松开时再按下其他按键,以及按下其他按键期间松开第一按键并再次按下第一按键,均仅将第一按键对应的码值加入输入密码序列,并仅在第一按键的第一次按下时开始计时、并在第一次松开时停止计时,其他按键的按下和松开均不影响计时、振动及输入密码序列。

本申请实现的有益效果如下:采用本申请提供的防窥密码器和密码防窥方法,将用户的密码以及用户按下按键的持续时间组合作为最终的密码,使得窥视者即使看到用户输入的字符序列也无法得知正确的密码。保证密码的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种防窥密码器的示意图;

图2是本申请实施例提供的一种密码防窥方法流程图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本申请实施例一提供一种密码防窥方法,应用在防窥密码器中,如图1所示,防窥密码器包括按键模块、主控电路、脉冲计时器、振动模块、振动计数器和码值寄存器;

按键模块包括数码按钮、确认按钮和取消按钮;数码按钮输出的数码按键信号中每一位对应一个按钮;确认按钮输出确认信号,按钮按下时确认信号有效;取消按钮输出取消信号,按钮按下时取消信号有效;

其中,数码按钮输出一组(m个)btn_down信号,每个按钮对应其中的一位;当第i个按键按下时,btn_down[i]为1,否则为0(1<=i<=m);确认按钮输出submit信号,按钮按下时submit信号为1,否则为0;取消按钮输出cancel信号,按钮按下时cancel信号为1,否则为0。

主控电路的接收端连接按键模块、振动计数器和码值寄存器,主控电路的输出端连接上位机、脉冲计时器、振动计数器和码值寄存器;

具体地,主控电路接收到数码按钮的数码按键信号后,将码值记录至码值存储器中,并触发脉冲计时器开始以脉冲周期输出高脉冲信号;振动模块每接收到一次高脉冲信号后发出一次振动,并且更新一次振动计数器的值;在按键信号结束后将振动计数器的值对应记录在码值寄存器中;

主控电路在接收到取消按钮的取消信号后,将记录的码值与对应的振动计数值均清零;在接收到确认按钮的确认信号后,向上位机输出码值寄存器中每个按键的码值以及对应的振动计数器的值。

如图1所示,主控电路接收btn_down、submit、cancel信号,以及来自计数器的计数值cnt信号;当主控电路上电复位或cancel信号有效时,输出ena信号为0,tm_pwd信号无效,主控电路进入等待第1按键状态;

主控电路在等待第i按键状态下,当btn_down[m:1]中任何信号均无效时,主控电路输出ena信号为0,保持等待第i按键状态;当btn_down[m:1]中至少一个信号有效时,记录其中第一个有效的信号为btn_down[j],其中1<=j<=m;主控电路输出ena信号为1,tm_pwd信号无效,进入第i按键计时状态;

主控电路在第i按键计时状态下,当btn_down[j]信号无效时,主控电路令码值寄存器tm_pwd_buf[i*n-1:i*n-n]等于(锁存)当前输入的cnt值,输出ena信号为0,主控电路进入等待按键弹起状态;当btn_down[j]信号持续有效且cnt等于x时,主控电路输出ena信号为0,保持第i按键计时状态;否则主控电路输出ena信号为1,保持第i按键计时状态;

主控电路在等待按键弹起状态下,当btn_down[m:1]中任何信号均无效时,如果i=m主控电路进入等待确认状态,否则主控电路进入等待第i+1按键状态;否则保持等待按键弹起状态;

主控电路在等待确认状态下,当submit信号有效时,主控电路输出tm_pwd等于码值寄存器tm_pwd_buf的值,进入等待确认无效状态;否则主控电路输出tm_pwd保持无效,保持等待确认状态;

主控电路在等待确认无效状态下,当submit信号无效时,主控电路进入等待第1按键状态;否则保持等待确认无效状态。

当ena信号有效时,脉冲计时器(优选采用脉冲周期可调的脉冲计时器)开始以T1为脉冲周期输出高脉冲pulse信号;ena信号无效时,脉冲计时器输出pulse信号保持为0;

振动模块每收到一次来自脉冲计时器的pulse脉冲则振动一次(优选持续T2时间,T2<T1)。并且振动计数器每接收到一个来自脉冲计时器的pulse脉冲,则振动计数值cnt加1,并向主控电路输出cnt;ena无效时,振动计数器输出cnt信号保持为0;其中一组cnt共包含n个信号,对应n位二进制数表示的振动计数值。

当确认按钮按下,主控电路接收到submit信号有效后,主控电路向上位机输出一组(m*n个)tm_pwd信号作为持续时间密码(需要说明的是,输出正常按键码值电路与现有方案相同,在此不做赘述);tm_pwd信号中每n位为一组,对应一个按钮的按下时间计数值;其中n=log2(x+1)向上取整,x=每个按键允许按下的最长时间/T1。例如x=1时,n=1;x=3时,n=2。

当取消按钮按下,主控电路接收到cancel信号有效后,主控电路将记录的码值与对应的振动计数值均清零。

此外,本申请提供的防窥密码器还包括删除按钮,当删除按钮按下,主控电路接收到delete信号有效后,主控电路删除上一次记录的码值以及对应的振动计数值。

本申请实施例在用户设置的密码基础上,将用户在防窥密码器上按下按键的持续时间也作为密码的一部分进行处理,由用户在设定密码时同时记录密码码值与每个密码码值按下时振动的次数,由此使得窥探者即使看到用户输入的字符序列也无法得知正确的密码。如图2所示,所述密码防窥方法具体包括如下子步骤:

步骤210、当检测到数码按钮按下时,启动并清零脉冲计时器和振动计数器,设置脉冲周期,开始计时计数;

本申请实施例中,以检测到数码按钮按下为脉冲计时器启动响应,在数码按钮按下时,启动脉冲计时器和振动计数器,并将脉冲计时器和振动计数器的数值均清零,并设置初始脉冲周期,由脉冲计时器开始记录按键按下持续时间,并由振动计数器开始记录振动次数;

其中,脉冲周期可以为初始设置的定值,也可以定期改变,例如每按下一个按键则改变一次脉冲周期,这样即使用户按下按键持续同样的时间其触发的振动次数也可能不同,使得窥视者无法通过多次重复观测来推测用户按下按键时触发了几次振动。

步骤220、检测数码按钮按下持续时间,脉冲计时器每间隔一次脉冲周期则触发一次振动模块,并且更新一次振动计数器的值,在按键抬起时记录按键码值以及对应的振动计数器的值;

具体地,在数码按钮按下持续过程中,若按键按下的持续时间未达到设置的脉冲周期,则振动计数器保持原始数值0,并在数码按钮抬起时将脉冲计时器的数值再次清零,开始记录下一数码按键按下的持续时间;即当t<T1时,振动计数器的值T=0。

若按键按下的持续时间超过设置的脉冲周期,则脉冲计时器每间隔一次设定的脉冲周期之后,向与脉冲计时器连接的振动模块发送一次pulse脉冲信号,振动模块接收到pulse脉冲信号后发出一次振动,使得用户感知本次按键的持续时间已满一个计时单位,并且向与脉冲计时器连接的振动计数器发送计数信号,振动计数器接收到计数信号后,将当前振动计数器的值作加一操作;例如T1为0.8秒时,如果用户持续按下数码按钮2秒,则能感受到两次振动,振动计数器的值为2,即当T1<=t<2*T1时,振动计数器的值T=1。

此外,在按键抬起后,将脉冲计时器的数值和振动计数器的数值再次清零,开始记录下一数码按键按下的持续时间和振动次数;

进一步地,若采用定期改变的脉冲周期,则在按键抬起后更新脉冲周期。

需要说明的是,为了防止按键按下时间太长,需要限制每个按键按下的时间,当某个按键持续按下x*T1的时间,也即振动了x次,则不再振动且不再计时(即t>x*T1时,无论按下多久均按T=x处理),即当x*T1<=t<(x+1)*T1时,持续时间,T=x。

另外,本申请对用户按键特殊情况也作出对应方案:如果第一按键按下未松开时再按下其他按键,以及按下其他按键期间松开第一按键并再次按下第一按键,均仅将第一按键对应的码值加入输入密码序列,并仅在第一按键的第一次按下时开始计时、并在第一次松开时停止计时(从而触发振动),其他按键的按下和松开均不影响计时、振动及输入密码序列;

例如下面的操作序列:

时刻a:按下1

时刻b:按下2

时刻c:按下3

时刻d:松开3

时刻e:松开1

时刻f:按下1

时刻g:松开2

时刻h:松开1

可知时刻a开始计时,时刻e停止计时,认为用户输入了“1”,将“1”加入密码序列。

返回参见图2,步骤230、当检测到确认按钮按下时,按照记录的按键码值顺序以及记录的振动计数器值的顺序组织密码;

本申请将每个按键按下持续时间所出发的振动次数也作为密码的一部分,按照记录的按键码值顺序以及记录的振动计数器值的顺序组织密码上传上位机;例如按键序列为1、2、3、4四个数字,每个按键按下的振动计数器值分别为1、2、1、3次,则最终密码为12341213,前四位与正常密码相同,后四位为持续时间密码。

每个按键的持续时间密码也可以根据需求用其他进制的数存储以便节省存储空间。例如把每个按键的持续时间用一位4进制数表示,则上述实例的持续时间密码为4进制1213(二进制01100111),即十进制103。

此外,本申请也可以采用记录持续时间的方式来确定持续时间密码,即记录脉冲周期和每个按键的持续时间,不需要记录振动次数,在获取持续时间密码时,通过如下公式计算:

其中,Si为第i个码值的按键按下持续时间,T1为脉冲周期,Si/T1作下取整运算得到xi,xi为计算得到的第i个码值对应的持续密码;例如,记录按键序列为1、2、3、4四个数字,每个按键按下的持续时间分别为T1、2T1、T1、3T1,则最终密码为12341213。

若本申请采用定期更新脉冲周期的方式来确定持续时间,则记录每个按键的持续时间以及每个按键对应的脉冲周期,不需要记录振动次数,在获取持续时间密码时,通过如下公式计算:

其中,Si为第i个码值的按键按下持续时间,Ti为给第i个码值设置的脉冲周期,Si/T1作下取整运算得到xi,xi为计算得到的第i个码值对应的持续密码,例如记录按键序列为1、2、3、4四个数字,每个按键按下的持续时间分别为T1、3T2、2T3、3T4,则最终密码为12341323。

例如,用户使用6位数字密码;如果每个数字按键允许按下的最长时间为T1(即每个按键对应的T=0或1),对于每个密码序列,可能的按键时间组合有2的6次方(64)种;如果每个数字按键允许按下的最长时间为3*T1(即每个按键对应的T=0、1、2或3),对于每个密码序列,可能的按键时间组合有4的6次方(4096)种。因此采用本申请的技术方案窥视者即使看到整个按键序列,也难以猜到用户的正确密码。

以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种测温信息显示方法、装置及终端设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类