一种认证方法、装置及系统的制作方法

文档序号:7758671阅读:114来源:国知局
专利名称:一种认证方法、装置及系统的制作方法
技术领域
本发明涉及信息领域,特别是认证技术。
背景技术
随着网络技术的不断发展,人们的工作和生活对网络的依赖性越来越高。例如银行开始通过网络向公司和个人提供各种银行服务,企业通过网络为自己的员工提供各种服务和资料,内容服务商为用户提供各种网络服务,例如邮箱、网络游戏、网络存储等。这些网络服务大多都需要对客户的身份进行认证,以保证服务或者交易的安全。 目前,主流的认证技术是通过静态的用户名和密码进行认证。也即,用户可以自己设定一个用户名和密码,并每次通过这个用户名和密码进行认证。采用这种静态的用户名和密码的认证方法存在很大的安全隐患,因为这种静态的用户名和密码在使用过程中非常容易泄露并且很容易遭受重放攻击,例如黑客可以截取这种静态的用户名和密码,或者可以通过计算或者多次尝试破解静态的用户名和密码,或者容易被熟人猜出。上述安全隐患一旦成为现实,会导致用户的财产损失或者公司信誉损失等,严重扰乱正常的社会秩序。为了解决用户身份认证的问题,目前人们提出了几种解决方案。一种解决方案为, 定期要求用户更换密码,例如每3个月更换一次密码。但是由于在3个月内,用户名和密码仍然是静态的,所以仍然具有很大的安全隐患。另一种解决方案为,使用一次性密码硬件技术进行用户的身份认证。在一次性密码的硬件技术中,不再使用静态的密码,而是使用硬件生成一次性密码,用于进行身份认证。每次认证时都使用一个新生成的密码,可以使得黑客难以获取或者破解,也很难猜测, 从而能够提供较高的安全防护。但是由于硬件成本过高,生命周期有限,并且更新或者购买的费用较高,很难推广应用。还有一种解决方案为,使用短消息直接发送一次性密码,用于用户进行身份认证。 采用短消息直接发送一次性密码不仅可以进行动态的认证,避免了静态密码容易被破解的问题,还可以节省硬件成本。但是,通过空口下发密码时,密码较容易被截获,或者当用户与手机分离时,其他人很容易看到通过短信发送的一次性密码,从而使用该密码进行身份认证。

发明内容
考虑到现有技术的上述缺陷,本发明实施例提供一种认证方法、装置以及系统,以实现提高用户身份认证的安全性的低成本解决方案。本发明各实施例提供了以下技术方案以解决上述技术问题。本发明实施例提供的一种认证方法,该方法包括认证服务器接收用户发送的认证请求;所述认证服务器在接收到所述认证请求后,生成包含一次性密钥的密钥序列;所述认证服务器向所述用户发送所述密钥序列;
5
所述认证服务器接收所述用户发送的所述一次性密钥的一次性密钥信息;所述认证服务器比较所述接收的一次性密钥信息与本地保存的一次性密钥信息;在比较结果为相同时,所述认证服务器反馈认证通过。本发明实施例提供的一种认证装置,该装置包括接收模块、序列生成模块、发送模块以及比较模块;其中,该接收模块,用于接收用户发送的认证请求;该序列生成模块,用于在所述接收模块接收到所述认证请求后,生成包含一次性密钥的密钥序列;该发送模块,用于向所述用户发送所述序列生成模块生成的密钥序列;该接收模块进一步用于接收所述用户发送的所述一次性密钥的一次性密钥信息;该比较模块,用于比较所述第二接收模块接收的一次性密钥信息以及本地保存的一次性密钥信息,在比较结果为相同时,通知所述发送模块反馈认证通过。本发明实施例提供的一种认证系统,该认证系统包括认证代理服务器包含上述认证装置;认证代理,用于所述认证代理用于向所述认证服务器发送所述用户的认证请求, 并接收所述认证服务器反馈的认证结果。通过本发明各实施例提供的技术方案,可以为用户提供包含一次性密钥的密钥序列,使得用户以外的其他人获得该密钥序列时,难以获知用户的一次性密钥,从而降低了一次性密钥被滥用的风险,并且由于采用一次性密钥进行认证一定程度上能够防御重放攻击。因此,通过上述技术方案可以提高网络认证的安全性。


本发明实施例的其他特点、特征和优点通过以下结合附图的详细描述将变得更加显而易见,其中图Ia为本发明实施例提供的一种认证方法的流程示意图;图Ib为本发明实施例提供的一种认证方法的流程示意图;图Ic为本发明实施例提供的一种认证方法的流程示意图;图2为本发明实施例提供的一种认证方法的流程示意图;图3a为本发明实施例提供的一种认证方法的流程示意图;图北为本发明实施例提供的另一种认证方法的流程示意图;图如为本发明实施例提供的一种认证装置的结构示意图;图4b为本发明实施例提供的一种认证装置的结构示意图;图如为本发明实施例提供的一种认证装置的结构示意图;图4d为本发明实施例提供的一种认证装置的结构示意图;图如为本发明实施例提供的一种认证装置的结构示意图;图4f为本发明实施例提供的一种认证装置的结构示意图;图5为本发明实施例提供的一种认证装置的结构示意图6为本发明实施例提供的一种认证系统的结构示意图。
具体实施例方式本发明实施例提供的认证方法可以应用于各种网络安全场景,例如,可以应用于企业雇员登录企业网络,可以应用于银行的网络服务,还可以应用在网络游戏等各种应用中。图Ia为本发明实施例提供的一种认证方法的流程示意图,下面结合图Ia详细描述本发明实施例提供的认证方法。该认证方法包括步骤101,接收认证请求。本实施例中,步骤101的执行主体通常可以为认证服务器,或者也可以为认证代理,或者还可以为同时集成了认证服务器和认证代理的设备。该认证请求可以为用户直接发送的,也可以为认证代理发送的,或者还可以是网络中其他设备转发的。步骤102,生成包含一次性密钥(One Time Password, OTP)的密钥序列。本实施例中,步骤102的执行主体通常可以为认证服务器,或者其他具有认证服务器功能的实体。根据认证请求,可以获知用户的身份信息,并通过用户的身份信息获知该用户对应的密钥生成序列。或者,根据认证请求可以直接获知待认证用户对应的密钥生成序列。本实施例中,密钥生成序列用于从一次性密钥序列中获取一次性密钥。生成密钥序列时,步骤102具体例如可以包括生成初始序列,按照密钥生成序列对初始序列进行处理,从而获得密钥序列。本实施例中,初始序列例如可以是随机序列或者半随机序列,或者可以是按照一定规则生成的序列。为了提高网络的安全性能,减少密钥被破解的可能,初始序列优选的为随机序列或者半随机序列。步骤102中按照密钥生成序列对初始序列进行处理,获得密钥序列,例如可以为, 将初始序列的部分或者全部作为一次性密钥与密钥生成序列进行数学运算,获得密钥序列;或者还可以生成一次性密钥,并将一次性密钥的第η位插入到初始序列的第m位之前或者之后,或者代替初始序列的第m位,将得到的序列作为密钥序列,其中m为密钥生成序列的第η位的值,η的取值为从1到N的自然数,N为一次性密钥的长度。本领域技术人员根据上述示例可以得到其他的密钥生成序列。在本实施例中,初始序列的长度为Μ,则m还可以为密钥生成序列的第η位的值模Μ,从而可以避免由于m的值大于M可能造成的错误。步骤102还可以为直接生成密钥序列,该密钥序列即为随机序列/半随机序列或者其他序列。并且,在步骤102后,还包括根据密钥生成序列,从密钥序列中获取一次性密钥的步骤。其中,根据密钥生成序列,从密钥序列中获取一次性密钥例如可以为根据密钥生成序列,按照获取规则,从密钥序列中获取一次性密钥,其中获取规则为,一次性密钥的第η位的值为密钥序列的第m位的值,m为密钥生成序列的第η位的值,η的取值为从1开始到N的自然数,N为密钥生成序列的长度。在本实施例中,密钥序列的长度为Μ,则m还可以为密钥生成序列的第η位的值模Μ,从而可以避免由于m的值大于M可能造成的错误。步骤103,发送生成的密钥序列。
本实施例中,发送生成的密钥序列可以是通过短消息服务网关向用户发送短消息,也可以是通过互联网向用户发送邮件或者即时消息等。通过上述步骤,可以生成并发送包含一次性密钥的密钥序列,从而使得用户可以从该一次性密钥序列中获取一次性密钥,并使用一次性密钥进行认证。该方法不直接传送一次性密钥文本本身,而是通过密钥序列向用户传递密钥,用户可以根据自己的密钥生成序列从密钥序列中获取一次性密钥。因此,该方法可以最大程度的避免一次性密钥被截获、 破译,从而提高了网络认证的安全性。如图Ib所示,本发明实施例提供的认证方法,还可以包括以下步骤步骤107,接收一次性密钥信息。本实施例中,该一次性密钥信息可以是用户直接发送的,也可以是认证代理发送的。该一次性密钥信息既可以是直接的一次性密钥文本本身,也可以是一次性密钥的哈希 (Hash)值,或者还可以是另一个包含一次性密钥的密钥序列。步骤108,根据接收的一次性密钥信息进行认证。本实施例中,如果接收的是一次性密钥本身,则可以直接比较接收的一次性密钥与保存的一次性密钥;如果接收的是一次性密钥的哈希值,则可以比较该哈希值与保存的一次性密钥的哈希值;如果接收的是包含一次性密钥的密钥序列,则通过该密钥序列获取一次性密钥,并与保存的一次性密钥进行对比。步骤109,反馈认证结果。在步骤109中,向用户或者认证代理发送认证结果。通过上述步骤,可以根据用户提供的一次性密钥对用户进行认证,增加了网络的安全性能。并且在传输一次性密钥信息时,如果采用哈希值或者密钥序列会进一步增将网络的安全性能,避免黑客通过多次拦截密钥信息学习密钥生成方法。进一步的,如图Ic所示,本发明实施例提供的认证方法还可以包括以下步骤步骤111,获取用户的注册信息。本步骤的执行主体通常为认证服务器或者其他具有认证服务器功能的实体。获取用户的注册信息可以有多种途径,例如,用户通过用户终端发送短消息,该短消息中包括注册信息;或者用户通过互联网向认证服务器发送注册信息;或者用户通过固定电话向认证服务器发送注册信息;或者还可以通过其他方式,例如填写申请单由系统管理员进行人工注册。本发明各实施例中,注册信息包括以下之一或其任意组合用户ID,用户的 PIN (Personal Identification Number,个人标识号)码,用户定义的密码生成序列、用户的联系方式。其中,用户的联系方式例如可以为用户的手机号码、邮箱地址等能够向用户发送密钥序列的方式。本发明的各实施例中,注册信息包括的内容可以不同。在具体实现时,不同的认证系统可以使用不同的注册策略,从而注册信息的内容可以不同。例如,认证系统在注册时, 仅需要用户的用户ID,认证系统会为该用户分配相应的PIN码和密码生成序列,此时注册信息中仅需要包含用户ID。例如,认证系统在注册时,仅需要用户的用户ID和PIN码,认证系统会为该用户分配相应的密码生成序列,此时注册信息中仅需要包含用户ID和PIN码。 为了提供给用户更多的自主权利或者使用更加方便,优选的,注册信息中需要包括用户ID,
8PIN码,用户定义的密码生成序列以及用户的联系方式。步骤112,保存用户的注册信息。通过上述步骤,可以为用户的认证提供更多的灵活性,用户可以自己设定PIN码、 密码生成序列等,从而使得认证对于用户而言更加方便。本实施例中,用户的上述注册过程可以应用于对于后续请求认证的用户进行是否为注册用户的检验。例如,在接收到用户的认证请求后,可以先根据注册信息验证该用户是否为注册用户,若是,则可以继续正常的认证过程,若不是,则拒绝该用户进行认证。由此, 可以避免非注册用户频繁发送认证请求而导致的拒绝服务攻击,并且可以尽可能利用系统资源为注册用户服务。进一步的,在认证服务器接收到注册信息后,还可以包括对用户的密码生成序列进行异常处理的步骤。例如,用户设置的密码生成序列中某一位的值超过了密钥序列长度, 则向用户反馈错误,或者对超过密钥序列长度的值进行模密钥序列长度的运算。图2是本发明实施例提供的一种认证方法的流程示意图。下面结合图2对本发明实施例提供的认证方法进行详细说明。本实施例中,认证代理与认证服务器为分立的硬件设备。本领域技术人员可以理解,认证代理与认证服务器也可以为集成在一起的设备,并不影响本实施例提供的方法的实施。本实施例中,认证代理可以为用户终端上的应用或者独立的硬件设备,或者其他设备上的应用,本实施例并不加以限制。认证服务器可以仅连接一个认证代理也可以连接多个认证代理。步骤201,用户通过短消息服务网关向认证服务器发送注册信息,注册信息中包括用户ID,PIN码、密钥生成序列以及手机号码。在本发明各实施例中,用户可以根据个人的习惯设置密钥生成序列。例如用户可以采用奇数序列(1,3,5,7,…),或者用户也可以采用偶数序列0,4,6,8…),或者用户还可以采用斐波纳契序列(1,1,2,3,5,8,…),甚至用户还可以采用自己的生日(1,9,7,9,1, 2,2,1)作为密钥生成序列。由于用户可以完全根据个人习惯设置密钥生成序列,所以用户以外的人很难猜测到用户的密钥生成序列,提高了网络的安全性。本实施例中,为了描述方便,采用从1开始的8位奇数序列作为密钥生成序列。通过图Ic所描述的实施例已经说明,注册的方式可以有多种。并且注册的途径与接收一次性密钥序列的途径以及发送一次性密钥的途径并不存在必然联系。例如,用户可以通过短消息进行注册,但是可以通过邮件接收一次性密钥序列,并通过短消息/互联网发送一次性密钥。步骤202,用户向认证代理发送认证请求。在步骤202中,认证请求包括用户的用户ID以及PIN码。步骤203,认证代理向认证服务器发送认证请求。该认证请求中包括用户的用户 ID以及PIN码。步骤203中,认证代理可以直接转发用户发送的认证请求,也可以对用户发送的认证请求处理后再发送给认证服务器。步骤204,认证服务器根据接收的认证请求中携带的用户ID以及PIN码,对用户的身份进行第一次认证。认证通过后执行步骤205,如果未认证通过则结束处理或者反馈失败
fn息ο
本实施例中,执行步骤204可以提高网络的安全性能并保证系统的正常运行。由于只有认证通过的合法用户才会执行下面的操作,所以避免了非法用户通过频繁请求发起对认证服务器的攻击以及通过认证系统发送短消息或者邮件騷扰其他用户。并且,只针对合法用户进行后续的步骤,可以避免非法用户占用认证服务器的资源,导致认证服务器无法为合法用户提供服务。本实施例中,也可以不执行步骤204,在步骤203后直接执行步骤205。步骤205,生成密钥序列。本步骤中,生成密钥序列例如可以为以生成时间为种子,生成随机序列作为密钥序列。或者还可以是生成随机序列、半随机序列或者其他序列作为密钥序列。为T描述方便,生成的密钥序列例如为64位的随机序列{1,5,8,9,8,7,5,1,2,4, 3,6,8,7,9,2,5, ···}。步骤206,根据密钥生成序列以及密钥序列获取一次性密钥。认证服务器根据认证请求中包含的用户ID可以获知该用户的密钥生成序列。一种示例性的一次性密钥的获取方法为一次性密钥的第η位的值为密钥序列的第m位的值,其中m为密钥生成序列的第η位的值,η的取值为从1到N的自然数,N为密钥生成序列的长度。另一种示例性的获取方法为密钥生成序列为N位,将密钥生成序列与密钥序列的前N位进行加法、减法、乘法或者除法运算等数学运算,得到的结果如果超过N位则取前 N位,如果少于N位,则用0补齐,将处理后得到的N位结果作为一次性密钥。为了描述方便,采用第一种示例性的获取方法,例如密钥生成序列为{1,3,5,7,9, 11,13,15},密钥序列为{1,5,8,9,8,7,5,1,2,4,3,6,8,7,9,2,5,……},则密钥生成序列的长度为8,η的取值为从1开始到8的自然数。η取1时,密钥生成序列的第1位的值为 m = 1,则一次性密钥的第1位的值为密钥序列的第m(m = 1)位的值1 ;同理,η的取值为8 时,密钥生成序列的第8位的值为m = 15,则一次性密钥的第8位的值为密钥序列的第m(m =15)位的值9。η取值从1到8,得到一次性密钥18852389。步骤207,保存该一次性密钥。认证服务器为了进行后续基于该一次性密钥的认证,需要保存该一次性密钥。如果认证系统采用一次性密钥的哈希值进行认证,则步骤207也可以为计算并保存一次性密钥的哈希值;或者步骤207仍为保存一次性密钥,在后续的比较步骤中先使用保存的一次性密钥计算哈希值,再进行比较。由于保存哈希值所需的存储空间可能会大于保存一次性密钥所需要的存储空间, 所以可以考虑优选的保存一次性密钥。进一步的,在保存一次性密钥时,或者获取一次性密钥时,或者生成密钥序列时, 可以启动计时器以维护该一次性密钥的生命周期。通过对一次性密钥生命周期的维护,可以进一步提高网络的安全性,避免过期密钥被用户以外的人滥用,也可以抵御重放攻击。认证服务器可以将该一次性密钥保存在本认证服务器的存储空间中,也可以保存在其他设备的存储空间中。步骤208,认证服务器将生成的密钥序列发送给用户。步骤208与步骤206之间没有必然的执行顺序,可以同时执行,也可以先执行206或者先执行208。在步骤208中,认证服务器例如可以通过短信服务网关将密钥序列以短消息形式发送给用户;或者认证服务其例如可以通过互联网将密钥序列以邮件或者即时消息形式发送给用户。优选的,可以采用短消息的形式将密钥序列发送给用户,由于目前空口传输的安全性能高于固网传输,所以采用空口发送密钥序列可以进一步提高安全性能。无论是通过固网发送密钥序列还是通过空口发送密钥序列,即使被截获,都只能获得一个序列,而并非是直接的一次性密钥。截获者很难获知或者猜测密钥生成序列,因此通过密钥序列获知一次性密钥的难度很高,从而保护了网络安全。步骤209,用户将一次性密钥输入认证代理。通过步骤208用户可以获得密钥序列,用户可以通过密钥生成序列根据密钥序列获得一次性密钥。例如,本实施例中,用户得到的密钥序列为{1,5,8,9,8,7,5,1,2,4,3,6,8,7,9,2,
5,……},用户已经获知密钥生成序列为{1,3,5,7,9,11,13,15},并且用户已经获知一次性密钥的获取方法,根据该方法可以获得一次性密钥为18852389。用户可以通过事先的约定或者注册与服务器一方统一一次性密钥的获取方法。用户将该一次性密钥输入认证代理,或者发送至认证代理。步骤210,认证代理将一次性密钥信息发送给认证服务器。本实施例中,一次性密钥信息可以为一次性密钥本身,也可以为一次性密钥的哈希值,还可以为包含一次性密钥的序列。如果一次性密钥信息为一次性密钥本身,则认证代理可以直接将一次性密钥信息发送给认证服务器,也可以将一次性密钥进行加密后发送给认证服务器以进一步提高网络安全。如果一次性密钥信息为哈希值,或者包含一次性密钥的序列,则认证代理需要具有计算一次性密钥的哈希值或者生成包含该一次性密钥的序列的功能。本实施例中,如果一次性密钥信息为包含一次性密钥的序列,则具体的生成过程可以参照认证服务器生成密钥序列的方法,此处不再赘述。为了描述方便,本实施例以发送一次性密钥的哈希值为例进行说明。步骤220,认证服务器比较接收的哈希值与存储的哈希值是否相同,如果相同,则执行步骤221,如果不同则结束处理或者反馈认证失败信息。如前所述,在步骤220中,认证服务器可以直接获取存储的一次性密钥的哈希值, 也可以获取存储的一次性密钥并计算该一次性密钥的哈希值,再与接收的哈希值进行比较。进一步的,为了提高网络安全性能,可以先判断该一次性密钥的生命周期是否已经结束,如果结束则反馈认证失败,如果没有结束则进行比较步骤。步骤221,认证服务器反馈认证通过。进一步的,本实施例中,还可以包括步骤230,修改用户的注册信息。步骤230需要在步骤201之后执行,与其他步骤之间没有必然的执行顺序。修改用户的注册信息包括但不限于,用户可以修改设定的密钥生成序列,可以修改用户的PIN码,还可以修改用户的联系方式。优选的,上述修改步骤需要在安全的方式下进行,例如人工修改或者使用安全套接字(Secure Socket Layer, SSL)协议传输等。通过本实施例提供的认证方法,可以使得用户以外的人在截获到密钥序列或者通过用户的终端设备看到密钥序列时,难以获得一次性密钥,同时也使得对于一次性密钥的破解变得更加困难。由于使用了一次性密钥,本实施例提供的认证方法可以进行动态认证, 避免了静态用户名密码容易破解的问题,提高了网络的安全性能。同时,由于认证服务器在对用户的身份认证通过后才会生成一次性密钥,因此可以防御拒绝服务攻击,也能够避免非法用户占用过多的资源。并且,由于无需用户使用专用的硬件才能够获得一次性密钥,因此实施本方法的成本低,避免了硬件生命周期有限等问题。图3a是本发明实施例提供的一种认证方法的流程示意图。下面结合图3a对本发明实施例提供的认证方法进行详细说明。图3a所示实施例与图2所示实施例主要区别在于认证服务器生成密钥序列的方法。步骤301,用户通过互联网向认证服务器发送注册信息。具体可以参照步骤201。步骤302,用户请求登录认证代理。在请求登录认证代理时,用户输入用户ID以及PIN码。步骤303,认证代理向认证服务器发送认证请求,具体可以参照步骤203。步骤304,认证服务器根据接收的认证请求进行第一次认证,认证通过后执行步骤 305,如果未通过则结束处理或者反馈失败信息,具体可以参照步骤204。步骤305,生成一次性密钥以及初始序列。步骤305中,生成一次性密钥和初始序列之间没有特定的顺序,并且生成的算法可以相同也可以不同。例如,随机生成一次性密钥778995,并生成1 位初始序列{1,3,9, 2,8,5,3,4,6,6,4,2,4,2,1,···}。步骤306,根据密钥生成序列生成密钥序列。在步骤306中,可以用一次性密钥按位替代初始序列的相应位;或者可以将一次性密钥的每一位插入到初始序列的相应位之前或者之后。具体方法可以参照步骤102,此处不再赘述。例如,密钥生成序列为{2,4,5,6,7,11},一次性密钥为778995,则一次性密钥的长度为6,用一次性密钥的第η位代替初始序列的第m位,m为密钥生成序列的第η位的值, η的取值为从1开始直到6的自然数。η取值为1时,密钥生成序列的第1位的值为m = 2, 则用一次性密钥的第1位代替初始序列的第m = 2位,也即用7代替初始序列中的第2位 3 ;依此类推,η取值为6时,密钥生成序列的第6位的值为m = 11,则用一次性密钥的第6 位代替初始序列的第m= 11位,也即用5代替初始序列中的第11位4,得到密钥序列{1, 7,9,7,8,9,9,4,6,6,5,2,4,2,1, ......}。步骤307,保存生成的一次性密钥。步骤307在步骤305之后执行,与步骤306之间没有特定的执行顺序。步骤307例如还可以为保存一次性密钥的哈希值。步骤308,向用户发送密钥序列,具体可以参照步骤208。之后由用户发送一次性密钥进行认证的过程具体可以参照图2所示的实施例,在此不再赘述。进一步的,如图北所示,本实施例中,认证服务器生成密钥序列的方法还可以包括步骤310,生成一次性密钥。步骤320,根据密钥生成序列,对一次性密钥进行处理,得到密钥序列。该处理例如可以为使用密钥生成序列与一次性密钥进行数学运算,将得到的结果作为密钥序列,或者将得到的结果补足位数后作为密钥序列。通过本实施例提供的认证方法,可以最大程度的保护一次性密钥的安全,从而提高网络安全。同时,由于用户可以自己定义密钥生成序列,因此使用方便,并且其他人很难获得密钥生成序列从而破译一次性密钥。上述各实施例之间可以相互参照,且各个实施例所公开的方法的各个步骤,可以采用软件、硬件或者软硬件相结合的方式来实现。图如为本发明实施例提供的一种认证装置。该认证装置特别可以为一认证服务器,或者为一认证服务器和认证代理集成的一体设备。该认证装置包括接收模块410,用于接收用户发送的认证请求。本实施例中认证请求可以由用户发送也可以由认证代理发送。进一步的,接收模块410还可以用于接收注册信息。序列生成模块420,用于在接收模块410接收到认证请求后,生成包含一次性密钥的密钥序列。本实施例中,序列生成模块420可以用于生成随机、半随机或者其他序列。发送模块430,用于将序列生成模块420生成的密钥序列向用户发送。本实施例中,发送模块430例如可以用于将密钥序列发送至短消息网关从而实现通过空口将密钥序列发送;或者还可以用于通过互联网向用户发送密钥序列。本实施例中接收模块410进一步用于接收该用户发送的一次性密钥的一次性密朗fn息。比较模块440,用于比较接收模块410接收的一次性密钥信息以及本地保存的一次性密钥信息,在比较结果为相同时,通知发送模块430反馈认证通过。通过该认证装置,可以为用户提供包含一次性密钥的密钥序列,提高一次性密钥的安全性能,从而保证网络认证的安全可靠。如图4b所示,本实施例中,认证装置例如还可以包括第一密钥获取模块450,用于根据用户的身份信息获取该用户的密钥生成序列,其中用户的身份信息包含在接收的认证请求中。第二密钥获取模块460,用于根据第一密钥获取模块450获取的密钥生成序列,从序列生成模块420生成的密钥序列中获取一次性密钥。具体的获取方式可以参照图Ia所示实施例以及步骤206。优选的,如图如所示,本实施例中,认证装置例如还可以包括存储模块470,用于保存一次性密钥。进一步的,存储模块470还可以用于存储密钥生成序列。进一步的,如图4d所示,本实施例中,为了进一步提高安全性能,认证装置还可以包括计算模块490,用于根据获取的一次性密钥计算其哈希值。此时,存储模块470可以用于存储该哈希值也可以用于存储一次性密钥。如图如所示,本实施例中,认证装置例如还可以包括注册模块480,用于接收并保存用户的注册信息。或者,本实施例中,注册模块480的功能可以由接收模块410和存储模块470实现,也即接收模块410进一步用于接收注册信息,存储模块470用于保存接收模块410接收的注册信息。本实施例中无论是通过注册模块480实现注册功能,或者通过存储模块470以及接收模块410实现注册功能,都可以实现对注册信息的修改。如图4f所示,本实施例中,比较模块440还可以用于对请求认证的用户进行初步的身份验证,也即对比接收模块410接收的认证请求中携带的用户ID和/或PIN码与存储模块470中保存的用户ID和/或PIN码,验证通过时通知序列生成模块420生成密钥序列, 验证未通过时通知发送模块430反馈失败信息或者结束处理。本实施例中,存储模块470还可以用于对存储的一次性密钥或者一次性密钥信息进行生命周期的管理。例如,采用计时器的方式,对一次性密钥或者一次性密钥信息的生命周期进行管理。在一次性密钥或者一次性密钥信息失效后,存储模块470例如可以删除该一次性密钥或者一次性密钥信息。或者比较模块440在比较接收的一次性密钥信息和存储的一次性密钥信息前,先对该一次性密钥信息是否仍保持有效进行判断,并在有效时进行进一步的比较,在失效时反馈认证失败。通过本实施例提供的认证装置,可以为用户提供安全性能高的一次性密钥,提高对重放攻击、拒绝服务攻击等的防御能力。并且,在用户离开终端导致用户的密码信息被其他人看到或者被截获时,可以很大程度上的防治其他人根据密码信息获知该一次性密码, 提高了网络的安全性能。本实施例提供的认证装置例如可以用于执行如图la、lb、lc以及图2所示的实施例提供的方法,具体的实现方法可以参照上述方法实施例。本实施例提供的认证装置中,各模块可以通过单独的硬件实现或者集成在同一硬件中实现,且各模块可以独立实现也可以集成实现。例如接收模块410和发送模块430可以为独立的模块,也可以为集成在一起的收发模块。图5为本发明实施例提供的一种认证装置。该认证装置例如为一认证服务器,或者为一认证服务器和认证代理集成的一体设备。图5所示的认证装置与图4a_4f所示的认证装置的主要区别在于密钥序列生成和一次性密钥获得的模块不同。该认证装置包括接收模块510,用于接收用户发送的认证请求。进一步的,接收模块510还用于接收注册信息。序列生成模块520,用于在接收模块510接收认证请求后,生成包含一次性密钥的密钥序列。本实施例中,该认证装置还包括第一密钥获取模块580,用于根据用户的身份信息获取该用户的密钥生成序列。其中用户的身份信息包含在认证请求中。本实施例中,序列生成模块520例如可以包括初始序列子模块521,用于生成初始序列;密钥子模块522,用于生成一次性密钥。具体的生成方式可以参照图3a所示实施例在此不再赘述。序列生成模块520还包括密钥序列生成子模块523,用于根据密钥生成序列、初始序列以及一次性密钥生成密钥序列。具体的生成方式可以参照图3a所示的实施例,在此不再赘述。发送模块M0,用于向用户发送序列生成模块520生成的密钥序列。本实施例中,该装置还可以包括存储模块550,用于存储密钥生成序列、序列生成模块520生成的一次性密钥,或者该一次性密钥的一次性密钥信息。
14
进一步的,本装置还可以实现注册、注册更改、认证以及一次性密钥信息生命周期管理等功能,具体的模块实现可以参照图所示的实施例,在此不再赘述。本实施例中,该装置的具体实现还可以为,序列生成模块520包括密钥子模块 522用于生成一次性密钥;密钥序列生成子模块530,用于根据密钥生成序列对密钥子模块 522生成的一次性密钥进行处理,得到密钥序列。本发明实施例提供的装置可以执行图3a、!3b所示的实施例提供的方法,具体实现可以参照上述方法实施例。图6为本发明实施例提供的一种认证系统,该认证系统包括认证服务器610、认证代理620。本实施例中,认证服务器610例如可以由图或者图5所示实施例提供的装置实现,此处不再赘述。认证代理620,用于接收用户的输入,向认证服务器610发送认证请求以及接收认证服务器反馈的认证结果。进一步的,认证代理620还可以用于将用户输入的一次性密钥转发给认证服务器 610,或者将用户输入的一次性密钥处理为一次性密钥信息发送给认证服务器610,具体处理方法可以参照方法实施例。此外,本实施例的认证系统例如还可以包括短消息网关,用于以短消息的形式向用户发送密钥序列。本发明实施例提供的认证系统可以执行如图la-lc、图2、图3a、!3b所描述的方法实施例,具体可以参见上述方法实施例。本领域技术人员应当理解,本发明的各个实施例可以在没有偏离发明实质的情况下做出各种变型和改变,这些变型和改变都在本发明的保护范围之内。因此,本发明的保护范围由所附的权利要求书来定义。
权利要求
1.一种认证方法,其特征在于,所述方法包括 认证服务器接收用户发送的认证请求;所述认证服务器在接收到所述认证请求后,生成包含一次性密钥的密钥序列; 所述认证服务器向所述用户发送所述密钥序列;所述认证服务器接收所述用户发送的所述一次性密钥的一次性密钥信息; 所述认证服务器比较所述接收的一次性密钥信息与本地保存的一次性密钥信息; 在比较结果为相同时,所述认证服务器反馈认证通过。
2.如权利要求1所述的方法,其特征在于, 所述认证请求中包含所述用户的身份信息;以及所述本地保存的一次性密钥信息通过以下步骤获得 所述认证服务器根据所述用户的身份信息获取所述用户的密钥生成序列; 所述认证服务器根据所述密钥生成序列,从所述密钥序列中获取所述一次性密钥;所述认证服务器保存所述一次性密钥的一次性密钥信息。
3.如权利要求2所述的方法,其特征在于,所述认证服务器根据所述密钥生成序列,从所述密钥序列中获取所述一次性密钥,包括所述认证服务器根据所述密钥生成序列,按照获取规则,从所述密钥序列中获取所述一次性密钥,其中所述获取规则为所述一次性密钥的第η位的值为所述密钥序列的第m位的值,其中,所述密钥序列的长度为M,m为所述密钥生成序列第η位的值或者为所述密钥生成序列第η位的值模Μ, η为大于等于1且小于等于N的自然数,N为所述密钥生成序列的长度。
4.如权利要求1所述的方法,其特征在于, 所述认证请求中包含所述用户的身份信息;以及所述生成包含一次性密钥的密钥序列,包括 所述认证服务器生成一次性密钥;所述认证服务器生成初始序列;所述认证服务器按照密钥生成序列,对所述一次性密钥和所述初始序列进行处理,得到所述密钥序列,其中所述密钥生成序列由所述认证服务器根据所述用户的身份信息获取。
5.如权利要求4所述的方法,其特征在于,所述认证服务器按照密钥生成序列,对所述一次性密钥和所述初始序列进行处理,得到密钥序列,包括所述认证服务器将所述一次性密钥的第η位插入到所述初始序列的第m位之前,将得到的序列作为密钥序列;或者所述认证服务器将所述一次性密钥的第η位插入到所述初始序列的第m位之后,将得到的序列作为密钥序列;或者所述认证服务器用所述一次性密钥的第η位替代所述初始序列的第m位,将得到的序列作为密钥序列;其中所述初始序列的长度为M,m为所述密钥生成序列第η位的值或者为所述密钥生成序列第η位的值模Μ,η为大于等于1且小于等于N的自然数,N为所述一次性密钥的长度。
6.如权利要求1至5中任一项所述的方法,其特征在于,在所述认证服务器生成包含一次性密钥的密钥序列之前,所述方法进一步包括所述认证服务器根据所述认证请求判断所述用户是否为注册用户,并在所述用户为注册用户时,执行所述生成包含一次性密钥的密钥序列的步骤。
7.如权利要求1至5中任一项所述的方法,其特征在于,所述认证服务器向所述用户发送所述密钥序列,包括所述认证服务器通过短消息服务网关向所述用户通过短消息发送所述密钥序列。
8.如权利要求1至5中任一项所述的方法,其特征在于,所述方法进一步包括所述认证服务器接收并保存所述用户发送的注册信息,其中所述注册信息包括以下之一或其任意组合所述用户的用户ID,所述用户的个人识别号PIN码,所述用户的密钥生成序列,所述用户的联系方式。
9.如权利要求1至5中任一项所述的方法,其特征在于,所述一次性密钥信息包括以下之一所述一次性密钥,所述一次性密钥的哈希值,以及包含所述一次性密钥的序列。
10.如权利要求1至5中任一项所述的方法,其特征在于,所述方法进一步包括所述认证服务器维护所述本地保存的一次性密钥信息的生命周期。
11.一种认证装置,其特征在于,所述认证装置包括接收模块、序列生成模块、发送模块以及比较模块;其中,所述接收模块,用于接收用户发送的认证请求;所述序列生成模块,用于在所述接收模块接收到所述认证请求后,生成包含一次性密钥的密钥序列;所述发送模块,用于向所述用户发送所述序列生成模块生成的密钥序列; 所述接收模块进一步用于接收所述用户发送的所述一次性密钥的一次性密钥信息; 所述比较模块,用于比较所述接收模块接收的一次性密钥信息以及本地保存的一次性密钥信息,在比较结果为相同时,通知所述发送模块反馈认证通过。
12.如权利要求11所述的认证装置,其特征在于, 所述认证请求中包含所述用户的身份信息; 所述认证装置进一步包括第一密钥获取模块,用于根据所述用户的身份信息获取所述用户的密钥生成序列; 第二密钥获取模块,用于根据所述第一密钥获取模块获取的密钥生成序列,从所述序列生成模块生成的密钥序列中获取一次性密钥,并通知存储模块保存所述一次性密钥的一次性密钥信息;所述存储模块,用于保存所述一次性密钥的一次性密钥信息。
13.如权利要求11所述的认证装置,其特征在于,所述认证请求中包含所述用户的身份信息;所述认证装置进一步包括第一密钥获取模块,用于根据所述用户的身份信息获取所述用户的密钥生成序列;存储模块,用于保存一次性密钥的一次性密钥信息;所述序列生成模块包括初始序列子模块,用于生成初始序列;密钥子模块,用于生成一次性密钥,并通知所述存储模块保存所述一次性密钥的一次性密钥信息;密钥序列生成子模块,用于根据所述密钥生成序列、所述初始序列以及所述一次性密钥生成密钥序列。
14.如权利要求12或13所述的认证装置,其特征在于,所述接收模块进一步用于接收注册信息;所述存储模块进一步用于存储所述注册信息。
15.如权利要求12或13所述的认证装置,其特征在于,所述存储模块进一步用于维护所述存储的一次性密钥信息的生命周期。
16.如权利要求14所述的认证装置,其特征在于,所述比较模块进一步用于比较所述接收模块接收的认证请求与所述存储模块存储的注册信息,在结果相同时,通知所述序列生成模块生成包含一次性密钥的密钥序列。
17.一种认证系统,其特征在于,所述认证系统包括认证服务器和认证代理,其中所述认证服务器包含如权利要求11至13中任一项所述的认证装置,所述认证代理用于向所述认证服务器发送所述用户的认证请求,并接收所述认证服务器反馈的认证结果。
18.如权利要求17所述的认证系统,其特征在于,所述认证代理进一步用于接收用户输入的一次性密钥,并将一次性密钥处理为一次性密钥信息发送至所述认证服务器。
全文摘要
本发明涉及一种认证方法,该认证方法包括认证服务器接收用户发送的认证请求;所述认证服务器在接收到所述认证请求后,生成包含一次性密钥的密钥序列;所述认证服务器向所述用户发送所述密钥序列。本发明还涉及一种认证装置和包含该认证装置的认证系统。通过本发明各实施例提供的技术方案可以避免其它人通过截获传输的密钥、使用用户的终端设备等方法非法获得用户的密钥,从而伪装成为该用户进行身份认证。因此,本发明各实施例提供的技术方案可以保护用户的密钥安全,提高网络认证的安全性。
文档编号H04L9/32GK102387016SQ20101026880
公开日2012年3月21日 申请日期2010年8月26日 优先权日2010年8月26日
发明者孙芃, 王超, 田鹏伟, 龚瑞男 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1