一种智能密钥设备转让专利

申请号 : CN200610113182.9

文献号 : CN1921392B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陆舟于华章

申请人 : 飞天诚信科技股份有限公司

摘要 :

本发明公开了一种智能密钥设备,包括MCU,还包括输入装置、显示装置,所述输入装置、显示装置分别与MCU连接;所述显示装置包括显示器件。智能密钥设备根据数据处理的需要在显示装置上显示提示的信息,通过智能密钥设备上的输入装置输入数据,设备对这些输入的数据进行处理。也可以根据网络远端或者是主机端应用程序的需求,在显示装置上提示信息,通过输入装置输入数据,主机将输入的数据发送给网络远端处理或者交给应用程序使用。本发明有效避免了用户密码通过主机端的输入装置输入存在密码安全隐患的主机端,防止木马程序窃取用户的私密信息,且不会削弱本身的安全性。本发明还可以防止键盘漏洞,更有效的保护用户的数据。

权利要求 :

1.一种智能密钥设备,包括MCU,其特征在于:还包括输入装置和显示装置,所述输入装置、显示装置分别与MCU连接;所述显示装置包括显示器件;

如果所述MCU部分不能直接和主机通信,则可在MCU设置用来和主机连接并辅助MCU完成通信的接口单元;

当所述智能密钥设备接收到来自主机的应用程序请求时,通过显示装置显示密码提示码提示用户进行数据输入,所述数据为PIN码或者关键信息,通过输入装置获取用户输入的数据,所述智能密钥设备根据输入的数据判断是否是验证PIN码,是则设备内执行用户PIN码校验,验证成功则继续使用智能密钥设备进行相关的其他操作,验证失败则不能继续工作;否则所述智能密钥设备用作网络登录的应用,所述智能密钥设备将通过输入装置获取的关键信息发送给主机,主机将关键信息发送给网络远端用于登录网络;或者所述智能密钥设备对所述关键信息加密后传给主机,主机再发送给网络远端使用;或者所述智能密钥设备不作处理将所述关键信息发送给主机由主机端进行加密处理然后再发送给网络远端使用;

当所述智能密钥设备接收到主机请求对设备的使用时,通过显示装置显示提示用户通过输入装置输入数据,智能密钥设备接收到输入装置的输入数据后,对数据做加密或重新编码处理后发送给主机,主机有了所述处理过的数据后进行相关的操作;

所述显示装置的提示和正确的PIN码之间存在一定的用户和设备共同遵守的私密法则,即显示装置显示的提示信息并不是用户要输入的数据,智能密钥设备采用和用户约定的计算法则,对提示信息倒序,或者是异或,对数据进行处理,然后作为给用户的提示数据,用户在得到提示信息之后对数据作相应的变化从而得到用户应该输入的信息,然后用户将这个新计算得到的信息输入给智能密钥设备作为PIN码校验的数据。

2.根据权利要求1所述智能密钥设备,其特征在于:输入装置上的开关为按钮或触摸键或微型开关或光电开关或者感应式开关。

3.根据权利要求1所述智能密钥设备,其特征在于:所述显示器件为液晶显示器件或OLED或LED。

4.根据权利要求1所述智能密钥设备,其特征在于:所述输入装置和显示装置是触摸屏模块。

5.根据权利要求1所述智能密钥设备,其特征在于:智能密钥设备通过USB接口和主机通信。

6.根据权利要求1或2所述智能密钥设备,其特征在于:所述输入装置上的开关与MCU直接连接或通过阻容器件和MCU连接,将输入装置的输入信号直接发送给MCU。

7.根据权利要求1或2所述智能密钥设备,其特征在于:所述输入装置包括串行模块,输入装置上的开关通过串行模块与MCU连接,MCU和输入装置通过串行通信方式来获得输入的状态,串行模块用于采集输入装置的输入信号并且将信息串行输入到MCU。

8.根据权利要求1或2所述智能密钥设备,其特征在于:所述输入装置包括并行模块,输入装置上的开关通过并行模块与MCU连接,MCU和输入装置通过并行通信方式来获得输入的状态,并行模块用于采集输入装置的输入信号并且将信息并行输入到MCU。

9.根据权利要求1或2所述智能密钥设备,其特征在于:所述MCU采用扫描方式检查输入端口的连接情况,所述输入装置的开关矩阵式连接到MCU,在IO不充足的情况下,输入用开关采用矩阵式连接结构,用X+Y个IO口通过扫描方式检查输入端口,判断X*Y个按键开关的开关情况,或利用中断和IO结合的方式来判断输入端口的情况。

10.根据权利要求1或3所述智能密钥设备,其特征在于:所述显示装置的显示器件与MCU直接连接,由MCU直接控制显示器件显示。

11.根据权利要求1或3所述智能密钥设备,其特征在于:所述显示装置包括串行模块,MCU通过串行通信方式和串行模块通信,串行模块获得MCU的输出数据来控制显示器件。

12.根据权利要求1或3所述智能密钥设备,其特征在于:所述显示装置包括并行模块,MCU通过并行通信方式和并行模块通信,并行模块获得MCU的输出数据来控制显示器件。

13.根据权利要求1或3所述智能密钥设备,其特征在于:所述显示装置与MCU使用总线访问的方式,显示装置和MCU通过数据总线以及控制信号线共同完成显示。

14.根据权利要求1所述的智能密钥设备,其特征在于:智能密钥设备发送到显示装置的提示信息固定不变或是每次不同,根据应用的要求,显示的信息经过智能密钥设备进行运算变化之后,再显示在显示装置上。

15.根据权利要求14所述的智能密钥设备,其特征在于:信息在提供给显示器件显示之前所作的变化和运算包括加解密算法运算、散列运算、自定义算法运算。

16.根据权利要求15所述的智能密钥设备,其特征在于:变化和运算为RSA、DES、3DES、HMAC-MD5、TEA以及取反、倒序、异或运算。

说明书 :

一种智能密钥设备

技术领域

[0001] 本发明涉及信息安全领域,尤其涉及一种智能密钥设备。

背景技术

[0002] 现在是密码的时代,网上密码安全问题已经成为目前最大的网络安全隐患,网上银行、网络游戏、支付平台、网上证券交易等等各方面,密码无处不在,带给我们更多的安全。但是密码在给我们必要的安全保障的同时,也存在一些问题,一旦密码丢失或被盗,则带来很多的麻烦。经常会看到报道网络密码被盗的事件,木马病毒,自我保护意识差被网络钓鱼,或者密码被暴力破解等等都是造成密码安全问题的因素,为此有必要采取一些密码安全的保障措施,为保护网上密码增设一道屏障。
[0003] 智能密钥设备是一种密钥存储器,通常由一个MCU(主控制单元)或者是智能卡芯片再配合一些外围的器件来实现其功能。MCU等主控制单元可以包含一些IO管脚,可以包含串行通信的接口或者一些其他控制管脚。
[0004] 在使用智能密钥设备的时候,一般需要进行用户密码的验证。但是密码输入的时候都面临着前边提到的密码使用中遇到的种种不安全的情况,这样都导致了智能密钥设备的更多不安全因素。
[0005] 显示技术的发展取得了长足的进展,人们不用局限于体积庞大,功耗也很高的显示器件,体积小耗电低性能优的显示器件很容易就可以得到,并且不必花费太多的精力就可以开发成功,得到应用。液晶显示器件、OLED、LED等都是不错的选择,尤其液晶技术。液晶显示具有工作电压低、功耗低、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点。
[0006] 输入装置的现状也很乐观,不仅仅形式多样,而且可以做到体积小巧,功耗小,开发简单,成本也不会很贵。
[0007] 但是,目前却没有智能密钥设备结合显示装置和输入装置这样的应用,来更好的保护智能密钥设备使用过程中的密码安全。

发明内容

[0008] 为了更好的保护智能密钥设备使用过程中的数据的安全,本发明提供一种智能密钥设备,用户输入数据不经过主机端的输入装置,直接从智能密钥设备输入,而且能够在每次使用时出现不同的提示,用户每次根据提示输入设备的信息也就每次都在变化,这样就不用担心木马程序截获口令,使得本发明更适合在公共场合使用。
[0009] 本发明通过以下方案实现:一种智能密钥设备,包括MCU,还包括输入装置、显示装置,所述输入装置、显示装置分别与MCU连接;所述显示装置包括显示器件。
[0010] 所述输入装置上的按键可以是按钮、触摸键、微型开关、光电开关、感应式开关等不同形式。
[0011] 所述显示器件可以是液晶显示器件、OLED、LED等任何在价格、性能、外形等等方面满足用户需求的显示器件。
[0012] 所述输入装置和显示装置可以是结合在一起的,如触摸屏等模块。
[0013] 所述智能密钥设备和主机通过USB接口通信。
[0014] 所述输入装置上的开关可以与MCU直接连接或者通过阻容器件和MCU连接,将输入装置的输入信号直接发送给MCU。
[0015] 所述输入装置还可以包括串行模块,输入装置上的开关通过串行模块与MCU连接,MCU和输入装置通过串行通信方式来获得输入的状态,串行模块用于采集输入装置的输入信号并且将信息串行输入到MCU。
[0016] 所述输入装置还可以包括并行模块,输入装置上的按键开关通过并行模块与MCU连接,MCU和输入装置通过并行通信方式来获得输入的状态,并行模块用于采集输入装置的输入信号并且将信息并行输入到MCU。也可以不使用并行模块,是开关通过并行方式和MCU连接。
[0017] 所述输入装置的开关可以使用矩阵式连接方式连接到MCU,MCU可以采用扫描方式检查输入端口的连接情况,也可以利用中断和IO结合的方式来判断输入端口的情况。
[0018] 所述显示装置的显示器件可以与MCU直接连接,由MCU直接控制显示。
[0019] 所述显示装置还可以包括串行模块,MCU通过串行通信方式和串行模块通信,串行模块获得MCU的输出数据来控制显示器件。串行模式可以使用2线、3线等等多种模式。
[0020] 所述显示装置还可以包括并行模块,MCU通过并行通信方式和并行模块通信,并行模块获得MCU的输出数据来控制显示器件。并行模式可以采用8位、4位等多种方式。
[0021] 所述显示装置是液晶显示装置的时候,可以与MCU使用总线访问的方式,液晶显示装置的总线控制方式使用起来也比较简单方便,显示装置和MCU通过数据总线以及其他的控制信号线共同完成丰富多彩的显示。
[0022] 智能密钥设备根据数据处理的需要在显示装置上显示一些提示的数据,这些提示可以是每次都固定不变的也可以是每次都在变化的,信息在显示之前根据不同的需要被智能密钥设备按照一定的规则进行变化处理之后再显示;通过智能密钥设备上的输入装置输入数据,智能密钥设备直接对该数据进行处理。这些提示的数据可以是对密码的提示,输入数据可以是密码,智能密钥设备所作的处理可为密码验证。这样免去了用户私密信息固定不变的模式,并且通过连接于智能密钥设备的输入装置输入到智能密钥设备中,避免了私密信息需要输入到应用端的不安全操作,进而避免木马程序盗得变化较少的用户密码。
[0023] 当智能密钥设备在显示装置上显示提示信息,提示输入数据时,通过智能密钥设备上的输入装置输入数据,智能密钥设备对输入的数据经过加密处理之后再发送给主机,主机解密后使用,或者智能密钥设备不作处理,直接发送给主机使用。以上应用可防止键盘漏洞。
[0024] 智能密钥设备也可以根据网络远端或者是主机端应用程序的需求,在显示装置上提示需要输入的信息,这些信息也可以是每次不变或者变化的,显示的信息在显示之前根据应用的不同需求经过处理,或按照规则进行变化或者智能密钥设备对其作加密处理或者不作任何处理直接显示,通过智能密钥设备上的输入装置输入数据,主机将智能密钥设备输入的数据发送给网络远端处理或者输入主机端交给应用程序使用。这些提示的信息可以是登录网络的密码的提示,也可以是应用需要的一些关键信息,这些信息参与到网络远端登录网络的验证或者是应用程序使用中。输入的数据可为登录网络的密码,网络远端所作的处理为登录验证。输入的数据也可以是应用需要的关键信息,发送给应用程序使用。上面提到的信息显示之前所作的变化或者运算可以是加密算法运算、散列运算或其他自定义算法,具体来说可以包含RSA、DES、3DES、HMAC-MD5、TEA以及取反、倒序、异或等等。此外,当在提示输入密码时,按输入装置上的特定按键开关,可从显示装置获得一个一次性密码,然后将这个一次性口令通过输入装置输入给应用程序使用,从而使智能密钥设备提供一次性口令的功能。
[0025] 本发明避免了固定不变的用户密码通过主机端的输入装置输入潜在存在密码安全隐患的主机端,防止木马程序窃取用户的私密信息,并且不会削弱设备本身的安全特性。本发明还可以防止键盘漏洞,更有效的保护用户需要使用的数据。显示装置的提示信息可以是每次都在随机变化的,并且设备和用户中间存在约定的规则,可以按照显示装置的提示分别获得各自正确的密码。只要这个规则不泄漏,密码就是安全的。而且是每次在变化的,甚至可以做到是一次性的,大大的增加了密码的随机性,并且用户不必每次都记得设备的密码,防止为了记忆简单导致密码设置简单易于被破解。输入装置和显示装置在制作上可以做到简洁、小巧,易用等特点,因此设备本身的易用、便携等优点也不会受到影响。而且,显示装置的加入,使得智能密钥设备从外观上来说更新颖、美观。另外,输入装置和显示装置的加入不会增加太多的开发成本和设备成本,因此也不会导致开发难度加大等问题。
随着输入装置和显示装置的新技术的发展,智能密钥设备附加输入装置和显示装置的方式将会得到更好的发展。输入装置和显示装置附加在智能密钥设备上的模式,使得密码信息得到更好的保护,更方便用户的使用,为智能密钥设备拓展出新的天地。

附图说明

[0026] 图1是本发明的硬件结构框图;
[0027] 图2是本发明实施例1的内部连接的示意图;
[0028] 图3是本发明进行PIN码验证以及登录网络的应用流程图;
[0029] 图4是本发明进行键盘加密流程图;
[0030] 图5是本发明使用一次性口令功能的流程图;
[0031] 图6是本发明实施例2的内部连接的示意图;
[0032] 图7是本发明实施例3的内部连接的示意图。

具体实施方式

[0033] 下面结合附图和具体实施例对本发明进行更详细的描述。
[0034] 实施例1:
[0035] 如图1所示,为本发明的硬件结构框图。其中智能密钥设备101和主机端104的USB端口连接。MCU105负责完成智能密钥设备101的功能,当然此处也可以根据需要为MCU105扩展别的外围电路。如果MCU105部分不能直接和主机104通信,还可以为MCU105加上接口单元(图中未示)用来和主机104连接并辅助MCU105完成通信。输入装置107与MCU105通讯,将接收到的输入信号发送给MCU105。显示装置106接收MCU105的输出信号完成显示功能。
[0036] 如图2所示,输入装置和MCU采用矩阵式连接方式。在IO不充足的情况下,输入用开关可以采用矩阵式连接的方式,用X+Y个IO口通过扫描方式检查输入端口,判断X*Y个按键开关的开关情况。也可以利用中断和IO结合的方式来判断输入端口的情况。
[0037] 在图2中,每条水平线和垂直线不是直接连通,通过一个按键开关连接,这样7个IO口可以构成12个按键开关,这种排列方式会比直接连接的复杂,识别起来也会复杂一些。图中列线通过电阻连接正电源VCC,将行线对应的IO(P1.0~P1.2)作为输出,列线连接的IO(P1.3~P1.6)作为输入,这样,行线输出低电平,在没有按键开关按下的时候所有输入端都是高电平,相反有按键开关按下的时候对应的列线所在的输入端口为低电平。通过将行线分别置低的方式来判断是哪一根行线上的按键开关被按下,由此确定了唯一的一个位置,从而确定是哪个位置的按键开关按下,通过查表或别的方式获得对应的输入值。
[0038] MCU与显示装置采用总线访问方式,图中DB0~DB7是数据线,和MCU的数据线连接,C/D是通道选通信号,C/D为1表示指令,C/D为0表示数据通道,CS为片选信号,RD和WR分别为读控制和写控制信号线,和MCU的各个可以用于控制的管脚连接。MCU通过这些数据线和控制线来设置所需要的显示方式,并传输需要显示的信息给显示装置。对各个管脚的访问时序可以由MCU控制。
[0039] 如图3中所示,当步骤301智能密钥设备连接到主机之后,步骤302智能密钥设备收到来自主机的应用程序请求,主机端要求对智能密钥设备的使用,则步骤303,智能密钥设备通过显示装置显示密码提示码提示用户进行数据输入,这个步骤中,智能密钥设备按照不同的使用需求对待显示的数据进行运算或者其他处理或者不作任何处理,然后再显示,提示用户需要利用智能密钥设备上的输入装置输入数据,即PIN码或者关键信息,步骤304用户在看到提示信息之后通过输入装置进行输入,并不是将这些信息通过主机端的输入装置输入到主机。本例中按照下边的流程应用,智能密钥设备获得用户输入的信息后,步骤305判断是否是验证PIN码,如是,则进行步骤306,在设备内执行用户PIN码校验,步骤
307判断验证是否成功,如验证通过,步骤308用户可以继续使用智能密钥设备进行相关的其他操作,验证失败则步骤309用户为非法,智能密钥设备不能继续工作。如果步骤305判断为否,则智能密钥设备此时用作网络登录的应用,步骤310主机将从输入装置获得的关键信息发送给网络远端用于登录网络,使这一关键信息参与到登录过程的验证当中,这个关键信息在从输入装置获得以后可先由智能密钥设备进行加密处理以后再传输给主机,主机发送给网络远端使用;也可以从智能密钥设备不作处理就发送给主机由主机端进行加密处理然后再发送给网络远端。步骤311判断登录是否成功,如验证通过登录成功,则步骤
312用户可以正常的访问网站信息,否则步骤313用户将被拒绝使用网站信息。在实际的使用中,步骤305以及305之后的两种应用可以分别使用,不做在一起。
[0040] 上面提到的显示装置的提示和正确的PIN码之间存在一定的法则,只要用户和设备遵守共同的私密的法则,则这种PIN码校验方式即为相对安全的。即显示装置显示的提示信息并不是用户要输入的数据,智能密钥设备采用和用户约定的计算法则,例如对提示信息倒序,或者是异或,对数据进行处理,然后作为给用户的提示数据,用户在得到提示信息之后对数据作相应的变化从而得到用户应该输入的信息,然后用户将这个新计算得到的信息输入给智能密钥设备作为PIN码校验的数据。对这种变化法则简单的举例来说明一下。当智能密钥设备需要输入的信息是1234的时候,智能密钥设备对这个数据进行变化,倒序变化为4321,然后通过显示器件显示;用户通过显示装置看到的提示信息即为4321,于是用户作互逆的处理即也倒序处理得到1234,然后将1234输入到智能密钥设备用于校验密码使用。这种提示以及计算方式也可以简化为直接使用提示的信息作为输入,或者提示的信息是每次使用的时候随时随机生成的,增加了使用的灵活性。提示的信息可以是在每次变化的,甚至可以做到是一次性的。大大的增加了密码的随机性,并且用户不必每次都记得设备的密码,防止用户为了记忆简单导致密码设置简单易于被破解。
[0041] 图4为智能密钥设备的另一种工作方法,实现类似键盘加密的功能。即通过输入装置输入的数据并不是直接被智能密钥设备拿来使用,而是通过智能密钥设备对数据进行处理,比如加密或者重新编码,然后发送给应用程序使用,也可以不作处理,直接发送给应用程序。例如进行网络登录或者别的需要和用户交互信息的应用。这种应用可以防止键盘漏洞,更有效的保护用户需要使用的数据。步骤401,连接智能密钥设备到主机的USB端口,步骤402,智能密钥设备接收主机请求对设备的使用,例如应用准备登录网络的时候网络要求身份识别口令,步骤403智能密钥设备的显示装置显示提示用户从输入装置输入数据,步骤404用户将数据通过输入装置输入给设备,步骤405智能密钥设备接收到数据之后对数据做加密处理,步骤406智能密钥设备将处理后的数据发送给主机,例如作为口令登录网络,步骤407主机有了用户的处理过的数据之后即可进行相关的操作,例如正确的口令,则登录成功;错误的口令,则登录失败。
[0042] 图5为智能密钥设备的另一种工作方法,实现一次性口令功能。步骤501,智能密钥设备连接到主机;步骤502,智能密钥设备接收到应用程序的口令验证请求;步骤503,用户按输入装置上的特定按钮,生成一个一次性口令;步骤504,显示装置显示这个一次性口令;步骤505,用户看到一次性口令之后通过输入装置输入或者不使用输入装置而是利用这个一次性口令进行别的操作;步骤506,智能密钥设备将数据发送给应用程序;步骤507,应用程序使用该数据工作。
[0043] 实施例2:
[0044] 如图6所示,输入装置和MCU采用串行通信的方式。输入装置通过一个串行模块和一些用于输入的开关组成,该串行模块为并入串出器件,将并行输入的信息转换成串行的信号发送给智能密钥设备的MCU,MCU根据收到的串行信号判断是对应着什么样的输入。该串行模块可以采用74系列的并行输入转为串行输出的74166。
[0045] 图6中MCU和显示装置之间并行连接,可以利用主控芯片的IO等控制数码管的显示。显示器件采用数码管,也可以采用几个数码管集成在一起的模块,显示控制非常方便。智能密钥设备需要显示的内容通过这些数码管显示,显示的内容是用户输入的提示信息。
[0046] 本实施例的工作过程同实施例1。
[0047] 实施例3:
[0048] 输入装置和MCU采用并行通信的方式。输入装置可以由开关直接构成和MCU并行连接,MCU直接获得开关输入的状态。也可以包括并行模块,输入装置上的按键开关通过并行模块与MCU连接,MCU和输入装置通过并行通信方式来获得输入的状态,并行模块用于采集输入装置的输入信号并且将信息并行输出给MCU。这种并行模块的应用可以作为输入的一个缓存,这里就不画出相关的示意图了。
[0049] 如果智能密钥设备的MCU有足够的IO口的话,即可为每一个按键开关连接一个IO口,这样很容易的就可以实现输入装置和MCU连接。
[0050] 如图7所示,图中输入装置可以是一个10路的开关,分别对应MCU的10个输入IO口。当有开关按下的时候,相应的IO口会获得相关的输入信息。通过查表的方式即可获得输入的数字。同时,图7所示的连接方式也体现了开关通过阻容和MCU连接这种情况。
[0051] 图7中MUC和显示装置之间通过串行方式通信。MCU的Data和Clk信号分别提供串行通信需要的数据以及时钟,显示器件可以采用数码管,它和串并转换的芯片(例如74LC164)共同构成显示装置,当有显示需求的时候设备的MCU发送串行数据到串入并出转换芯片,将串行数据转换为对数码管的控制信号,输出到显示装置。显示器件即可显示MCU需要输出的数字了。如果一个显示装置不够的话还可以并行的连接多个,以达到目的。
[0052] 本实施例的工作过程同实施例1。
[0053] 以上对本发明所提供的一种智能密钥设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其实现思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。