【发明内容】:
本发明的目的就是为了解决以上问题,提供一种能有效防止密码意外泄露或被恶意窃取、提高身份认证安全性和有效性的身份认证方法和身份认证系统。
为实现上述目的,本发明提出了一种身份认证方法,包括如下步骤:1)接收身份认证请求并由随机码产生装置产生一个随机密码;2)将该随机密码与预设的身份认证固定密码根据预设的算法运算而产生一个输入码,对该输入码直接进行有效认证或将由该输入码反算出的随机密码及身份认证固定密码进行有效认证。
上述的身份认证方法,包括如下步骤:
1)系统接到身份认证请求时,由随机码产生装置产生并发出一个随机密码;
2)用户终端直接读取由前述随机密码和身份认证固定密码根据预设算法运算后的输入码并传输给数据处理装置;或用户终端接收随机密码,再读取身份认证固定密码,并将二者通过预设的算法进行运算转换为输入码,再传输给数据处理装置;
3)数据处理装置将上述随机密码和身份认证固定密码根据预设算法运算后的输入码通过预设的算法反算出上述随机密码和身份认证固定密码进行有效认证或直接认证输入码的有效性。
上述步骤1)中包括随机密码传输过程,即随机密码通过数据处理装置内置的主通信交换模块发送出去,用户终端通过内置的从通信交换模块接收该随机密码;或由辅助用户终端接收所述随机密码并显示出来,所述用户终端读取输入的随机密码。步骤2)中包括由随机密码和身份认证固定密码通过预设的算法运算后的输入码传输过程,即随机密码和身份认证固定密码通过预设的算法运算后的输入码通过用户终端内置的从通信交换模块发送出去,数据处理装置通过内置的主通信交换模块接收由随机密码和身份认证固定密码通过预设的算法运算后的输入码。主、从通信交换模块之间或数据处理装置、辅助用户终端之间的信号收发方式可以是红外收发、射频收发、蓝牙收发、无线通信网络收发、局域网收发、互联网收发、有线电话收发等方式。
本发明提出的一种身份认证系统,包括数据处理装置、随机码产生装置、用户终端,数据处理装置分别与随机码产生装置、用户终端连接;随机码产生装置用于在系统接到身份认证请求时,产生一个随机密码;用户终端用于读取由随机密码和身份认证固定密码通过预设的算法运算后的输入码;或直接读取随机密码和身份认证固定密码,并将二者通过预设的算法转换为输入码;或接收随机密码和读取身份认证固定密码并将二者通过预设的算法转换为输入码,再将输入码传输给数据处理装置;数据处理装置用于将由随机密码和身份认证固定密码通过预设的算法运算后的输入码通过预设的算法反算出随机密码和身份认证固定密码进行有效认证或直接对输入码进行有效认证。
上述的身份认证系统,数据处理装置包括中央处理模块、主通信交换模块,所述主通信交换模块与所述中央处理模块连接,用于将随机码产生装置产生的随机密码传输给所述用户终端;和/或接收所述由用户终端传输来的输入码。所述用户终端包括中央处理模块、键盘和从通信交换模块,所述键盘、从通信交换模块分别与中央处理模块相连接;所述从通信交换模块用于与所述主通信交换模块适配,进行数据处理装置与用户终端之间的信息交换;所述键盘用于接受身份认证请求和身份认证固定密码或接受由随机密码和身份认证固定密码通过预设的算法运算后的输入码等信息。所述用户终端还包括显示器,用于显示所述从通信交换模块接收到的随机密码等信息。
上述的身份认证系统,所述数据处理装置包括中央处理模块和显示器,所述显示器与中央处理器相连接,用于将随机码产生装置产生的随机密码等信息显示出来;用户终端包括键盘,与中央处理器相连接,键盘用于接受身份认证请求、接受由随机密码与身份认证固定密码通过预设的算法运算后的输入码或直接接收随机密码和身份认证固定密码。
由于采用了以上的方案,产生了以下有益效果:1)在任何场合下,身份认证时,所输入信息都是当次有效,即便当次输入的信息被无意中泄露,或被用各种手段恶意窃取,都无法对权利人造成实质性的侵害,安全性和认证的有效性大大提高;2)身份认证的固定密码无需频繁更改,方便了用户。
另外,随机密码、由随机密码和身份认证固定密码通过预设的算法运算后的输入码、随机密码和身份认证固定密码的传输途径,有多种不同的组合方式,可以采用不同的传输路径,也降低了数据被非法窃取的机率。
【具体实施方式】:
下面通过具体的实施例并结合附图对本发明作进一步详细的描述。
如图1、图2所示,本发明的方法和系统在基于网络应用中:
数据处理装置和随机码产生装置的功能由网络身份认证的服务器系统来实现,如装有Windows Server、Unix等服务器系统的服务器。其功能是接收到应用请求后产生随机密码并将随机密码通过公共数据网传送个人计算机终端,计算机终端再将随机密码和身份认证固定密码通过预设的算法运算后的输入码或直接将随机密码和身份认证固定密码传输回服务器,服务器将由随机密码和身份认证固定密码通过预设的算法运算后的输入码逆向运算后进行有效身份认证或直接将输入码进行有效身份认证,此时用户终端即个人计算机终端。同理数据处理装置和随机码产生装置的功能还可以通过无线通信网络服务器来实现,此时的用户终端和辅助用户终端可以是移动电话、计算机等。
数据处理装置和随机码产生装置的功能还可以用具有身份认证的软件系统来实现,如邮件服务系统软件、Windows SQL Server、财务软件系统的服务器端软件系统等应用软件系统。
数据处理装置和随机码产生装置的功能还可以用基于网络的具有身份认证的单片机来实现,如基于网络应用的门禁系统的处理身份认证功能的单片机。
用户终端或辅助用户终端指的是:
工作站等数据终端,如局域网的工作站、Internet中的用户计算机等。其功能是接收由随机密码和身份认证固定密码通过预设的算法运算后的输入码、或直接接收随机密码和输入的身份认证固定密码并将二者通过预设算法运算成输入码并将通过数据网传送给数据处理装置。
具有身份认证的软件系统的客户端软件,如财务系统的客户端软件、电子邮箱系统的客户端Outlook、Foxmail等。
手机等无线通信装置,有线电话等。
上述用户终端和辅助用户终端是相对的,根据其在系统中的作用,二者是可以相互转换的,即在此方案中计算机是用户终端,手机是辅助用户终端;在彼方案中计算机可以作为辅助用户终端,而手机作为用户终端。
基于网络的具有身份认证的单片机系统的前端输入的单片机如键盘、IC卡读写器、指纹仪;基于无线的收发器,如红外线收发器、蓝牙适配器等。
带键盘、或射频收发模块、或红外收发模块、蓝牙适配器等的单片机装置。
数据传输途径指的是:
物理路径:基于线路的传输路径有基于电信号传输的电缆、基于光传输的光缆;基于无线技术的信息传输途径,如基于手机网络的GMS、CDMA等系统的无线传输途径;基于卫星网络的无线传输途径等。如将随机密码通过手机网络传给应用者,再由将随机密码和身份认证固定密码通过预设的算法运算后的输入码由基于线路的电子传输途径传回服务器认证过程比单独从基于线路的电子传输更不易被截获信息。其原理如图2所示。
软件路径:基于不同软件的传输途径,如将信息通过邮件系统以邮件的传输方式传输和通过财务软件系统传输是不同的传输途径。如应用时将随机密码通过邮件系统传给应用者,再通过财务软件系统将由随机密码和身份认证固定密码通过预设的算法运算后的输入码传给财务软件系统的服务器端软件进行认证,他的安全性将高于单由财务软件系统单一传输途径安全得多。
基于网络的具有身份认证的单片机系统的传输路径有基于线路的电子路径,基于无线网络路径、基于蓝牙的网络路径,基于红外线收发,射频收发等。
在单计算机应用系统中:
数据处理装置和随机码产生装置的功能可以由操作系统的身份认证功能模块来实现:如Windows XP中的身份识别功能模块;具有身份认证的软件系统,如单机版的财务软件系统的身份认证模块;基于单片机系统的身份认证单片机,如计算机开始进行身份认证的Bios单片机。
用户终端指的是键盘、鼠标、摄像头、电子钥匙、蓝牙适配器等,带单片机的电子设备如基于蓝牙的电子设备,基于红外线的电子钥匙等。
数据传输路径可以是:基于线路的传输路径,如键盘、鼠标线缆等;基于无线技术的传输路径,如红外线、射频、基于蓝牙技术的无线传输路径等。
在单片机应用系统中:
数据处理装置和随机码产生装置可以用单片机系统的具有身份认证功能的数据处理芯片来实,如电子锁系统中的身份认证芯片。
用户终端指的是处理输入的单片机,如电子钥匙、指纹仪等。
数据传输路径可以是:基于线路的传输路径,如键盘、指纹仪等的信息传输线路;基于无线技术的传输路径,如电子钥匙的红外线、基于蓝牙技术的无线传输路径等。
如图3所示,本发明的身份认证方法和系统在电子密码锁中的应用,该电子密码锁包括电子锁和电子钥匙两部分,电子锁部分包括随机码产生装置、中央处理模块MCU1、主通信交换模块;电子钥匙部分包括中央处理模块MCU2、键盘、从通信交换模块。主从通信交换模块可以采用多种方式,如蓝牙适配器、红外收发器、射频收发器等。
如图4所示的实施例一:所述身份认证系统是一个电子密码锁系统,包括电子锁和电子钥匙,电子锁包括单片机MCU1、随机码产生装置、红外收发模块1、电子钥匙包括红外收发模块2、MCU2、键盘,用户从键盘输入开锁请求,该请求信号通过红外收发模块2发送给红外收发模块1,电子锁的MCU1通过红外收发模块接收到请求后,从随机码产生装置提取一个随机密码,并通过红外收发模块1和2,发送到电子钥匙MCU2,MCU2再从键盘读取用户输入的身份认证固定密码,将随机密码和固定密码通过预设的算法,转换为输入码,此输入码通过红外收发模块发送到电子锁的MCU1,MCU1根据预设的算法进行反运算,得到随机密码和固定密码,并进行比较认证,最终确认身份是否合法。这样既能有效防止输入的密码被非法记录,又能防止信号传输过程中,密码被恶意监听到。
如图5所示的实施例二:在电子密码锁系统应用中,用户的身份认证过程时,由用户提出应用请求,电子锁给出随机密码显示在显示器上,用户用与系统预设的算法将随机加密码与固定密码运算得出输入码通过键盘输入,MCU再反算出用户的固定密码,从而完成有效身份认证。
前述加密或解密过程中的算法,由系统与客户预先约定,如可以约定算法为输入码=随机密码+固定密码,也可以约定为符合国家安全标准的算法,其选择理论上可以有无数种。假设随机密码和身份认证固定密码均为四位数,预设的算法为将加权码中的每一位数与对应的用户密码的每一位数相加,产生的数字如果为一位数,即成为输入码相应位置的数,如果相加后产生的数为两位数则仅取后一位成为相应位置的输入码。随机密码为四位自然数1234,而用户的固定密码为3456,按照这种算法,则真正的输入码第一位为1/3∶4,第二位为2+4=6,第三位为3+5=8,第四位为4+6二10取0,则真正的输入码为4680。本实施方式中即使别人看到了输入码为4680,却得不到真正的密码,而下次使用时随机产生的加权码也是1234的可能性是非常小的,所以几乎每一次用户输入的输入码都是不相同的。
假设预设算法A为将用户密码的第一、二、三、四位依次插入加权码的一二、二三、三四之间和第四位之后。例如数据处理装置1随机产生的加权码为四位自然数1234,而用户真正的密码为3456,按照这种算法,则输入码为13243546。由于算法的不同,所以算法的预设可以是多种多样的。简单的算法可以通过用户的心算实现,而较复杂的算法可以借助计算器等其它设备实现。
在Internet应用中,用户的身份认证过程是,由用户提出登录请求,系统给出随机密码,用户用与系统预设的算法将随机密码与固定密码运算得出输入码输入系统或直接输入随机密码和身份认证固定密码而完成有效身份认证。