口令认证系统及口令认证方法

文档序号:6649698阅读:943来源:国知局
专利名称:口令认证系统及口令认证方法
技术领域
本发明涉及身份验证、访问控制的电子认证系统及认证方法。特别是涉及电子生成动态、随机不可预测的口令,通过验证这些口令来正确识别已获得授权的个体或用户,并由此判定是否允许访问、进出、存取受保护的系统资源、是否提供有条件的服务,是否实现特别的业务往来等。
背景技术
口令是最广泛使用的一种验证身份合法性的方法,授权的用户都拥有一个区别于系统中其他用户的标识符ID(用户名、序列码或帐号)和只有用户自己知道的秘密口令。若用户想要登录系统,就须在请求节点键入自已的用户标示符和口令。系统将所述用户标示符和口令与预先保护的用户标示符和口令进行比对,如果匹配,则所述用户身份合格,允许其进入系统或提供服务,否则所述用户身份非法,拒绝其进入系统或不提供服务。
现在随着通信网络化的迅猛发展,口令在网上来回传输的机会越来越多,传统的口令认证系统没有提供口令在网上传输的保护机制的问题目益突出,口令在网上被黑客截取的事件日益增多。为使口令安全传输,简单地将口令加密后在网上传送的办是徒劳的,丝毫也不会提高安全性。因为,黑客同样可以截获该些密口令,无需还原密口令成明的形式,直接用截获的密口令来冒充授权用户,同样可以达到目的。密口令对认证节点来说只不过是多了一次脱密的程序,无法由此判定用户的真伪,进而造成损失。比如,在网上银行交易过程中,用户的标示符和对应的口令被不法第三方获得后,很容易给用户造成经济损失。
要彻底解决这个问题,使用动态的口令是一种较为有效的方法。动态的口令是指每个口令只有一次有效,并只在很短的时间内有效,使口令随时间不可预测地变化,致使黑客即使截获到口令也只是一个无用的失效口令,由此提高认证的安全性。
一次性密码本是上述思路的产物,按照事先约定使用办法,认证双方使用相同的密码本进行认证,比如建行的刮刮卡方案,一次性密码本方案在一定程序上解决了口令泄漏的问题,但是,由于无限大的密码本是不可能的,有限的密码本必然带来安全问题,即存在安全性还是非常低的技术问题,并且,若每个应用、每个认证实体都必须维护一个密码本,造成难以支持多个应用的技术缺陷。
目前还存在另一种一次性口令生成器方案,认证双方采用相同的种子和相同的算法每次产生不同的认证口令。这种一次性口令生成器认证的安全系数较高,但是口令生成器通常做成便于用户携带、象信用卡大小或外形象普通计算器一样的装置(简称卡或令牌),成本较高且不能支持多应用。比如,为了提高客户进行网上交易的安全性,每个银行给客户提供一口令生成器。若一客户申请若干家银行的网上交易,则该客户需要保存若干张口令生成器,对于银行来说,口令生成器的制作成本高,对于客户来说,携带不便。并且,一张口令生成器只支持一认证,比如,某家银行开发的口令生成器只对应用于网上银行交易的认证,对POS机的银行交易并不支持等,无法做到支持多应用。

发明内容
本发明的目的在于提供一种口令认证系统及口令认证方法,以解决现有技术中动态口令认证系统的安全系数低或成本高、不支持多应用的技术问题。
为解决上述问题,本发明公开了一种口令认证系统,包括设置在客户端的口令保护器和设置在服务器端的验证器,其中口令保护器用以先对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;验证器用以当接收客户端发送的当前口令时,利用预先约定的所述不变因子和可变因子采用与口令保护器相同的算法产生验证口令,当所述验证口令与所述接收到的当前口令相同时,所述客户端的用户身份认证通过。
所述口令保护器进一步包括混淆扩散单元、伪随机序列生成单元和口令产生单元,其中混淆扩散单元用于对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子;伪随机序列生成单元用以由伪随机序列生成算法根据混淆扩散单元产生的种子产生伪随机序列;口令产生单元根据设定的口令长度、类型按照预设算法产生当前口令。
所述验证器进一步包括混淆扩散单元、伪随机序列生成单元、口令产生单元和验证单元,其中混淆扩散单元用于对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子;伪随机序列生成单元用以由伪随机序列生成算法根据混淆扩散单元产生的种子产生伪随机序列;口令产生单元根据设定的口令长度、类型按照预设算法产生验证口令;验证单元用于将接收到的当前口令与所述验证口令进行比对,若相同,则验证通过。
所述口令保护器/验证器还包括非线性变换单元,所述非线性变换单元设置在伪随机序列生成单元和口令产生单元之间,用于按照预先设定从产生的伪随机序列中截取一段序列作非线性变换。
混淆扩散单元和伪随机序列生成单元可以采用不同的算法进行混淆扩散和伪随机序列生成或采用一算法完成混淆扩散和伪随机序列生成。
所述客户端包括计算机终端、手机、PDA。并且,客户端从服务器上下载并安装口令保护器。
本发明还公开了一种口令认证方法,包括以下步骤(1)客户端先对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;(2)服务器端接收客户端发送的当前口令时,利用预先约定的所述不变因子和可变因子采用与口令保护器相同的算法产生验证口令,当所述验证口令与所述接收到的当前口令相同时,所述客户端的用户身份认证通过。
步骤(1)之前还包括客户端接收用户修改后的不变因子或/和可变因子;步骤(1)和步骤(2)之间还包括客户端将修改后的不变因子或/和可变因子加密后发送至服务器端。
步骤(1)之前包括在客户端和服务器设置并保存若干种口令产生算法;步骤(1)包括客户端选择其中一种口令产生算法产生当前口令先将不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;步骤(1)和步骤(2)之间还包括客户端将选择口令产生算法的序号发送至服务器端,以便服务器采用相同的口令产生算法产生验证口令。
与现有技术相比,本发明具有以下优点本发明每次使用的口令都不相同,随着可变因子(如时间)的变化,口令也随之变化,明显降低了口令泄漏带来的风险,并且,本发明先通过混淆扩散来保证可变因子的变化引起种子足够大的变化,从而保证每次口令的足够随机性,然后利用伪随机序列生成单元来保证每次口令的足够随机性,随后利用非线性变换单元来保证口令的不可前逆和不可后退性,通过上述处理后产生的当前口令具有较高的安全性。
最重要的是,本发明无需增加额外的硬件设备来进行身份认证,实现成本低,并且支持多应用、多渠道。


图1是本发明的口令认证系统的结构示意图;图2是口令保护器的一种实施结构示意图;
图3是验证器的一种实施结构示意图;图4是本发明的口令认证方法的流程图。
具体实施例方式
以下结合附图,具体说明本发明。
加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文),其逆过程就是解码(解密)。加密技术的要点是加密算法,加密算法可以分为对称加密、不对称加密和不可逆加密三类算法。不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。现有的口令认证系统广泛使用不可逆加密算法进行身份认证。本发明的动态口令认证系统及认证方法也是使用不可逆加密算法来进行身份认证。
请参阅图1,其为本发明的口令认证系统的结构示意图。它包括设置在客户端的口令保护器12和设置在服务器端的验证器11,其中口令保护器12用以先对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;验证器11用以当接收客户端发送的当前口令时,利用预先约定的所述不变因子和可变因子采用与口令保护器相同的算法产生验证口令,当所述验证口令与所述接收到的当前口令相同时,所述客户端的用户身份认证通过。
服务器可以通过网络(因特网、无线通信网或其它专用网)与各个客户端连接,当然,服务器也可以通过专线和各个客户端连接。在服务器上设置有验证器11,在客户端设置口令保护器12。口令保护器12可以预先安装在客户端,也可以通过客户端从服务器上下载口令保护器12安装在客户端。
请参阅图2,其为口令保护器的一种实施结构示意图。该口令保护器包括混淆扩散单元21、伪随机序列生成单元22和口令产生单元23,其中混淆扩散单元21用于对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子;伪随机序列生成单元22用以由伪随机序列生成算法根据混淆扩散单元产生的种子产生伪随机序列;口令产生单元23根据设定的口令长度、类型按照预设算法产生当前口令。
为了保证序列的不可前逆和不可后退性,口令保护器还包括非线性变换单元24,所述非线性变换单元24设置在伪随机序列生成单元22和口令产生单元23之间,用于按照预先设定从产生的伪随机序列中截取一段序列作非线性变换。
在每个口令保护器12中预先保存一个静态常量,该静态常量即为不变因子。服务器给不同客户端可以设置相同的静态常量,也可以设置不同的静态常量。静态常量可以和每个客户端对应,也可以不和客户端对应。并且,客户端的用户可以能够修改该静态常量,并将修改后的静态常量告知服务器端即可。客户端也可以设定用户不能够随意修改静态常量。
对于口令保护器采用的可变因子的选择,直接影响应用的便利性和算法的安全性。本发明可以选用时间作为可变因子,在应用便利性允许的范围内,时间精度越高则越安全。比如采用美国专利US-4720860公开的动态口令认证系统中的源于时间的动态变量,即,口令保护器12使用当前时间(年/月/日/时/分)作为可变因子。考虑到当前口令在网络上传输的延时,验证器11用比口令保护器12确定的时间间隔大一些的持续时间长度来建立一个有效时间范围。当用户请求身份认证时,将以客户端当前时间作为可变因子产生的当前口令发送至服务器端,服务器在有效的时间范围内计算多个口令(如5个口令,10个口令),如果用户的当前口令与其中之一匹配,则身份认证通过。可变因子也可以是每次身份认证之前用户预先设定,并且,客户端将可变因子加密后发送至服务器端,以便服务器解密后保存,用于后续的身份验证。另外,考虑到单项赛列函数Y=F(X)。其中,给出一个X,很容易算出Y;但是给出Y,却很难求出X。即,口令保护器12上预先保存初始可变因子和单项散列函数,口令保护器12利用初始可变因子和单项散列函数产生第一次可变因子,以后的可变因子都是利用前一次可变因子和单项散列函数产生。同样,对于服务器端的验证器只需保存每一客户端的前一次可变因子和单项散列函数即可获得该客户端当前的可变因子。
混淆扩散单元21对不变因子和可变因子作混淆和扩散变换,以保证可变因子任何一位的变化都将影响到种子的每一位。混淆扩散单元的作用是保证可变因子的变化引起种子足够大的变化,从而保证每次口令的足够随机性。伪随机序列生成单元22由伪随机序列生成算法利用产生的种子产生序列,以保证每次口令的足够随机性。非线性变换单元24从序列中截取一段作非线性变换,以保证序列的不可前逆和不可后退性。上述的混淆扩散单元21、伪随机序列生成单元22和非线性变换单元24可选择满足条件的任何算法,DES算法、AES算法、HASH算法、线性反馈移位寄存器等。即混淆扩散单元21、伪随机序列生成单元22和非线性变换单元24可以采用不同的算法进行混淆扩散和伪随机序列生成或采用一算法完成混淆扩散和伪随机序列生成。比如整个混淆扩散、伪随机序列和非线性变换采用一DES算法用不变因子对可变因子加密,并将加密后的结果对客户端和服务器端预先获知的固定串作加密,加密后的结果即为经非线性变换后的序列。
由于有很多产生序列的方式,比如采用一种算法利用不变因子和可变因子产生序列,也可以采用几种算法联合利用不变因子和可变因子产生序列。口令保护器12和验证器11预先保存若干种产生序列方式及序列方式的每一种算法,口令保护器12选择其中一种方式产生序列,进行产生当前口令,验证器11只需采用对应的方式产生序列,利用该序列产生验证口令即可。通过上述处理方式,提高不法分子获得口令保护器12解剖口令保护器12的难度。
口令产生单元23按照预设算法生成当前口令。比如,先将经非线性变换单元24变换后的序列转换为ASCII码流,若所述口令类型为字母和数字类型,则从该ASCII码流中截取N个字母和数字作为当前口令,N为设置的口令长度。若该ASCII码流中存在不可见字符,则将该不可见字符的最高位变为“0”,转换为可见字符。若所述口令类型为数字类型,则将该ASCII码流中不是数字类型的字符变换为数字类型后,截取N个数字作为当前口令。当然,口令产生单元23可以采用其它预设算法生成当前口令。当前口令通过网络或专线发送至服务器端。
请参阅图3,其为验证器11的结构示意图。它包括混淆扩散单元31、伪随机序列生成单元32、口令产生单元33和验证单元35,其中混淆扩散单元31用于对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子;伪随机序列生成单元32用以由伪随机序列生成算法根据混淆扩散单元产生的种子产生伪随机序列;口令产生单元33根据设定的口令长度、类型按照预设算法产生验证口令;验证单元35用于将接收到的当前口令与所述验证口令进行比对,若相同,则验证通过。
为了保证序列的不可前逆和不可后退性,验证器11还包括非线性变换单元34,所述非线性变换单元34设置在伪随机序列生成单元32和口令产生单元33之间,用于按照预先设定从产生的伪随机序列中截取一段序列作非线性变换。事实上,验证器11上采用的产生验证口令的方法与产生当前口令的方法是完全相同的,即,混淆扩散单元31、伪随机序列生成单元32、口令产生单元33、非线性变换单元34和口令保护器12上完全相同,在此就不再赘述。
该口令认证系统可以应用于银行系统、邮箱系统等。并且,服务器和客户端不仅可以是传统的局域网/广域网上的服务器和客户端,客户端还可以是手机、PDA等网络节点。
以下就以手机进入MSN邮箱系统为例说明口令认证系统。手机上预先安装所述MSN邮箱系统对应的口令保护器,然后,在口令保护器中添加需要保护的应用初始口令,并选择口令的类型,当需要口令时,启动口令保护器,口令保护器将不变因子(初始口令)和可变因子(如时间)生成当前口令,最后,手机将用户名和当前口令发送至MSN邮箱系统,MSN邮箱系统通过预先获得的初始口令和可变因子产生验证口令,若当前口令与验证口令相同,则验证通过,允许所述用户访问MSN邮箱系统该用户对应的邮箱。
上述口令认证系统还可以应用于银行业,提高网上银行、POS机消费和ATM机上取款的安全性,减少客户由于泄露密码带来的经济损失。
请参阅图4,其为本发明的口令认证方法的流程图。它包括以下步骤S110客户端先对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;S120服务器端接收客户端发送的当前口令时,利用预先约定的所述不变因子和可变因子采用与口令保护器相同的算法产生验证口令,当所述验证口令与所述接收到的当前口令相同时,所述客户端的用户身份认证通过。
步骤S110之前还包括客户端接收用户修改后的不变因子或/和可变因子;步骤S110和步骤S120之间还包括客户端将修改后的不变因子或/和可变因子加密后发送至服务器端。服务器端解密后即可获得本次口令的不变因子和可变子。当然,不变因子和可变因子也可以预先设定,而不需要每次都客户端告知服务器端。比如,不变因子可采用一固定数,可变因子采用产生动态口令的当前时间。
步骤S110之前包括在客户端和服务器设置并保存若干种口令产生算法;步骤S110还包括客户端选择其中一种口令产生算法产生当前口令先将不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;步骤S110和步骤S120之间还包括客户端将选择口令产生算法的序号发送至服务器端,以便服务器采用相同的口令产生算法产生验口令。通过上述方式,增加不法分子获得口令保密器后解密其口令生成过程的难度。
通过上述验证,本发明具有以下优点一、安全每次使用的口令都不相同,随着可变因子(如时间)的变化,口令也随之变化,明显降低了口令泄漏带来的风险。
二、简单方便面对多种多样的应用,降低了记忆口令的复杂度三、成本低不需要专用设备,支持手机等多种实现方式,服务器端改造较小,改造成本低。
四、同步机制简单服务器端和客户端不需要专门的同步机制,只要使用公认的,诸如时间这样的可变因子,就可以实现服务器端和客户端的认证。
五、支持多应用口令保护器支持多应用,例如既可以保护银行卡口令,又可以保护邮箱口令。
六、支持多渠道口令保护系统支持多渠道的应用,例如既可以支持POS机交易认证,又可以支持互联网邮箱登录认证。
七、支持多种实现方式口令保护器既可以在PC上实现;可以在支持BREW、J2ME的手机/PDA上实现;可以在USB-Key上实现;也可以在特定服务器上实现,通过短信发给用户。
八、支持多算法选择口令保护系统的核心是种子的选择、初始口令在服务器端的存储方式、还有伪随机序列的产生方式。种子的选择包括不变因子的选择和可变因子的选择;不变因子可以选用初始口令,可变因子可以选择当前时间,根据时间的精度还可以增加诸如认证次数等可变因子;初始口令在服务器端可能有三种存储方式明文、密文和散列值,根据存储方式的不同,实现方式略有不同,都可以支持;伪随机序列生成模块只要满足一,产生周期足够大的伪随机序列;二,从产生的伪随机序列中间任何一段序列不可前逆也不可后退。
以上公开的仅为本发明的几个具体实施例,但本发明并非限于此,任何本领域的技术人员能思之的变化,都应落在本发明的保护范围内。
权利要求
1.一种口令认证系统,其特征在于,包括设置在客户端的口令保护器和设置在服务器端的验证器,其中口令保护器用以先对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;验证器用以当接收客户端发送的当前口令时,利用预先约定的所述不变因子和可变因子采用与口令保护器相同的算法产生验证口令,当所述验证口令与所述接收到的当前口令相同时,所述客户端的用户身份认证通过。
2.如权利要求1所述的口令认证系统,其特征在于,所述口令保护器进一步包括混淆扩散单元、伪随机序列生成单元和口令产生单元,其中混淆扩散单元用于对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子;伪随机序列生成单元用以由伪随机序列生成算法根据混淆扩散单元产生的种子产生伪随机序列;口令产生单元根据设定的口令长度、类型按照预设算法产生当前口令。
3.如权利要求2所述的口令认证系统,其特征在于,所述验证器进一步包括混淆扩散单元、伪随机序列生成单元、口令产生单元和验证单元,其中混淆扩散单元用于对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子;伪随机序列生成单元用以由伪随机序列生成算法根据混淆扩散单元产生的种子产生伪随机序列;口令产生单元根据设定的口令长度、类型按照预设算法产生验证口令;验证单元用于将接收到的当前口令与所述验证口令进行比对,若相同,则验证通过。
4.如权利要求3所述的口令认证系统,其特征在于,所述口令保护器/验证器还包括非线性变换单元,所述非线性变换单元设置在伪随机序列生成单元和口令产生单元之间,用于按照预先设定从产生的伪随机序列中截取一段序列作非线性变换。
5.如权利要求3或4所述的口令认证系统,其特征在于,混淆扩散单元和伪随机序列生成单元可以采用不同的算法进行混淆扩散和伪随机序列生成或采用一算法完成混淆扩散和伪随机序列生成。
6.如权利要求1所述的口令认证系统,其特征在于,所述客户端包括计算机终端、手机、PDA。
7.如权利要求1所述的口令认证系统,其特征在于,客户端从服务器上下载并安装口令保护器。
8.一种口令认证方法,其特征在于,包括以下步骤(1)客户端先对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;(2)服务器端接收客户端发送的当前口令时,利用预先约定的所述不变因子和可变因子采用与口令保护器相同的算法产生验证口令,当所述验证口令与所述接收到的当前口令相同时,所述客户端的用户身份认证通过。
9.如权利要求8所述的口令认证方法,其特征在于,步骤(1)之前还包括客户端接收用户修改后的不变因子或/和可变因子;步骤(1)和步骤(2)之间还包括客户端将修改后的不变因子或/和可变因子加密后发送至服务器端。
10.如权利要求8所述的口令认证方法,其特征在于,步骤(1)之前包括在客户端和服务器设置并保存若干种口令产生算法;步骤(1)包括客户端选择其中一种口令产生算法产生当前口令先将不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;步骤(1)和步骤(2)之间还包括客户端将选择口令产生算法的序号发送至服务器端,以便服务器采用相同的口令产生算法产生验证口令。
全文摘要
一种口令认证系统,包括设置在客户端的口令保护器和设置在服务器端的验证器,其中口令保护器用以先对与服务器端约定的不变因子和可变因子进行混淆扩散变换产生种子,再利用所述种子产生伪随机序列,最后利用伪随机序列直接产生当前口令或利用对所述序列做非线性变换的结果产生当前口令;验证器用以当接收客户端发送的当前口令时,利用预先约定的所述不变因子和可变因子采用与口令保护器相同的算法产生验证口令,当所述验证口令与所述接收到的当前口令相同时,所述客户端的用户身份认证通过。该系统不仅安全系数高,成本低且支持多应用和多渠道。
文档编号G06F21/00GK1980127SQ200510111400
公开日2007年6月13日 申请日期2005年12月8日 优先权日2005年12月8日
发明者郭锐, 杨家雏, 李登峰 申请人:中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1