一种认证方法

文档序号:7918724阅读:179来源:国知局
专利名称:一种认证方法
技术领域
本发明涉及一种认证(Authentication)方法,尤其是一种一次性口令 (One Time Password, OTP)认证方法。
背景技术
在目前的网络中, 一些传统的认证方法(例如常用的"用户名+ 口令" 的认证方法)存在抗攻击能力差的弱点。这些认证方法通常使用静态口令(或 称密码),在比较长的一段时间内口令不变。由于使用明文在网络中传输口 令,因此攻击者较容易猜测出口令或者较容易使用监听工具来窃听传输内 容,从而发觉用户口令。另外, 一些木马工具也可以在用户敲击键盘时将用 户敲击的内容记录下来,进而识别用户口令。再有,即使有些时候用户使用 了密文传输数据,攻击者难以破解用户的口令明文,但是攻击者仍可以通过 模拟发送用户已经发送的数据包来得到用户的访问权限。
针对上述认证方法中的弱点,现有技术中已经提出了一些安全性更高的 认证方法,其中之一是一次性口令方法。在一次性口令方法中,用户的口令 不是像传统的认证方法那样在一段时间内口令不变,而是对于每一次认证都 使用一个新的口令,故称为一次性口令。
现有的认证系统中已经存在许多一次性口令技术。例如,在一些网上银 行应用中将一次性口令打印在一次性口令卡上,每个口令上面覆盖有可刮擦 的涂层。用户在每一次网上银行应用的认证中可以使用一个一次性口令。使 用该方法在价格上比较便宜,但当一次性口令卡上的口令都用完时,用户需 要购买新的一次性口令卡。又例如, 一些一次性口令认证系统使用一次性口 令令牌(OTP Token)技术。该令牌是一个硬件设备,用来和认证服务器进 行同步,并将同步结果显示在令牌的显示屏上。但是,该方法的弱点是令牌
4具有一定的生命周期,超过该生命周期就需要重新购置令牌,由于该令牌的 价格较昂贵,因此导致购买或者更新的成本较高。再例如,可以使用挑战-
应答(Challenge-Response)技术来产生一次性口令。这种方法是由网络侧 发送一个随机数给终端,终端用所存储的密钥对该随机数进行运算并返回运 算结果给网络侧,用以验证终端侧所存储的密钥是否与网络侧的相同。
随着手机的普及,出现了一种用短消息服务(Short Message Service, SMS)来传递一次性口令的一次性口令技术。在这种认证系统中,目前存在 以下几种SMS认证方法
第一种,当收到用户发出的认证请求时,认证服务器(也称认证中心) 生成一个一次性口令,然后通过SMS将该口令传递给用户。用户使用该口令 登陆一个应用并对该应用进行访问。
由于认证服务器是通过SMS消息将一次性口令发送给用户,而SMS消息 是通过空中接口进行传递,在空中接口传递的SMS消息容易被窃听。也就是 说,中间人(man-in-the-middle)可以在手机和认证服务器之间架设一个 基站从而窃听到传递一次性口令的SMS消息,进而用窃听获取的一次性口令 登陆上述应用并对该应用进行访问。因此,这种认证过程的安全性较差。
第二种,当收到用户发出的认证请求时,认证服务器(也称认证中心) 生成一个一次性口令,然后通过SMS将该口令传递给用户。用户再将接收到 的一次性口令通过SMS发送给认证服务器进行验证。
这种方法在一个认证过程的两个方向上都要使用SMS来传递一次性口 令,基于和第一种同样的原因,这种认证过程的安全性也较差。另外,由于 发送SMS的无线资源有限,在SMS中心要进行SMS的排队,在某一时刻如果 要发送的SMS很多,造成SMS拥塞的情况下,SMS易于丢失。
第三种,当收到用户发出的认证请求时,认证服务器(也称认证中心) 生成一个一次性口令,并将该口令进行二维条码编码,然后将该编码后的一 次性口令通过多媒体短信服务(Multimedia Messaging Sevice,麗S)传递 给用户。用户接收到该應S消息后使用条码解码器进行解码,取出一次性口 令,再使用该口令登陆一个应用并对该应用进行访问。
基于和第一种同样的原因,这种认证过程的安全性也较差。另外,由于 丽S为图片格式,使用薩S传递一次性口令速度较慢,价格也比SMS贵,因 此这种方法并不实用。

发明内容
本发明的主要目的在于提供一种认证方法,能够使得认证过程更为安全。
为达到上述目的,本发明的技术方案具体是这样实现的一种认证方法, 该方法包含以下步骤
(1) 用户向一个认证服务器发送认证请求消息;
(2) 所述认证服务器验证所述用户的身份,若为合法用户则继续步骤
(3);
(3) 所述认证服务器生成一个一次性口令并创建一个会话,并将所述 一次性口令和标志所述会话的会话标识符通过一个有线网络发送给所述用 户;
(4 )所述用户将获得的一次性口令和会话标识符通过一个无线网络发 送给所述认证服务器;
(5)所述认证服务器将所接收的一次性口令和所生成的一次性口令进 行对比,若两者相同,则认证成功;否则认证失败。
所述步骤(1)中,所述用户通过一个客户端将所述认证请求消息发送 给一个认证代理,所述认证代理再将所述认证请求消息发送给所述认证服务 器。所述认证请求消息通常包括所述用户的用户标识符、个人识别码和验证 码。
所述步骤(2)中,所述认证服务器通过检验所述个人识别码的哈希值 和所述用户标识符来验证所述用户的身份。
所述步骤(3)中,所述认证服务器将所述一次性口令和所述会话标识 符进行加密和/或编码后通过所述有线网络发送给所述用户。其中,所述认 证服务器首先对所述一次性口令进行加密,认证服务器采用对称密码算法对 所述一次性口令进行加密,其中的密钥为所述用户标识符、个人识别码、会 话标识符三者的哈希值。然后,认证服务器将加密后的一次性口令和所述会 话标识符进行二维条码编码,再将编码后的消息通过所述有线网络发送给所 述用户。
所述步骤(4)中,所述用户对接收到的消息进行二维条码解码和解密,从而获得所述所述会话标识符和所述一次性口令。其中,所述用户首先使用 一个解码器对接收到的消息进行二维条码解码,得到所述会话标识符,再根 据所述用户标识符、个人识别码、会话标识符三者的哈希值计算出所述密钥, 最后根据所述密钥对所述一次性口令进行解密。最后,所述用户将获得的一 次性口令和会话标识符通过短消息服务发送给所述认证服务器。
采用本发明所提供的认证方法,认证服务器将生成的一次性口令通过有 线网络传递给用户,而用户则通过无线网络,尤其是通过短消息服务将一次 性口令传递给认证服务器。在这个过程中,首先有线网络有效地保证了一次 性口令传递的安全性。其次,即使攻击者在有线网络传递的过程中截获了一
次性口令,但由于攻击者无法拥有用户的手机,无法模拟用户的SIM卡,因
此也就无法冒充用户去发送一次性口令以获得认证服务器的验证。再次,即 使在最坏的情况下,攻击者在有线网络传递的过程中截获了一次性口令,并
且模拟用户的SBI卡去发送一次性口令,但是由于认证服务器已经为用户创 建了一个会话并且为该会话设置了一个会话标识符,而该会话标识符与一次 性口令是一一对应的,攻击者发送的一次性口令无法与用户的会话标识符相 对应,因此也就无法登陆并访问用户的应用。
另外,本发明所提供的认证方法中,认证服务器将生成的一次性口令通 过有线网络而非短消息服务传递给用户。由于有线网络的带宽要大于无线网 络,因此用有线网络发送一次性口令给用户时,具有稳定、速度快的优点, 而且一次性口令不易丢失,可靠性高。


下面结合附图对本发明的具体实施方式
作进一步详细的描述,其中 图1是本发明实施例的认证方法的流程具体实施例方式
图1是本发明实施例的认证方法的流程图。在图1所示的认证系统中包 括用户所使用的手机,用户的客户端,认证代理(或称应用服务器),SMS 系统以及认证服务器(或称认证中心)。用户在访问一个应用以前,必须先与认证服务器建立一个会话
(session)。用户通过客户端发起认证请求和接收一次性口令0TP。在常用的浏览器和服务器结构(Browser/Server, B/S)中,客户端通常是一个认证代理上的网页应用。客户端可以用其IP地址标识,更准确地,客户端还可用其IP地址和端口号标识。认证代理将用户从客户端发起的认证请求转发给认证服务器并将认证服务器生成的一次性口令OTP转发给用户的客户端。认证中心则用于对用户进行验证、生成一次性口令OTP和认证一次性口令0TP。在用户的手机中或者客户端中安装有能够对二维条码进行解码的解码器,该解码器还能够对加密算法进行解密。用户的手机中的解码器可以是手机中设置的照相机或者手机上的一段解码程序。下面具体说明认证步骤
第一步,在访问一个应用之前,用户通过客户端向认证服务器发送认证请求消息。例如在一个网页应用中,用户通过一个浏览器访问认证代理。认证代理则通过客户端的浏览器来显示一个界面,让用户通过客户端输入其用户标识符(userID)、个人识别码(PIN码)和验证码。验证码通常是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素,由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。验证码的作用是为了防止攻击者利用机器自动注册、登录、访问。
用户通过客户端输入其用户标识符userID、个人识别码PIN码和验证码后,客户端发送一个认证请求消息给认证代理。认证请求消息中包含了上述用户标识符userID、对个人识别码PIN码进行哈希运算的值HASH (PIN)和验证码和客户端的IP地址,其中HASH ()为哈希函数。为了更准确地标识用户,认证请求消息中还可以包括客户端所使用的端口号。认证代理对其中的验证码进行验证,以区分是用户发出的请求还是机器发出的请求。如果是前者,认证代理将用户标识符userID、对个人识别码PIN码进行哈希运算的值HASH (PIN)、客户端的IP地址和端口号转发给认证服务器。
第二步,认证服务器验证所述用户的身份。认证服务器将用户标识符userID和个人识别码的哈希值HASH (PIN)与其存储的用户标识符userlD和个人识别码的哈希值HASH (PIN)进行比较,如果一致则进行第三步。
第三步,认证服务器使用随机生成器生成一个一次性口令OTP并创建一个会话,该会话用一个会话标识符SessionID来标识。会话标识符SessionID和该一次性口令OTP绑定,并且也与用户客户端的IP地址和端口号绑定。也就是说,对于一个会话,只对应该用户客户端的一个IP地址和一个端口号。该会话设置为未激活状态,直到认证服务器收到用户发送过来的一次性
口令OTP并认证通过后该会话才被激活。
认证服务器将一次性口令OTP和标志所述会话的会话标识符SessionID通过一个有线网络发送给所述用户。但从安全性的角度出发,更多的情况下,要对一次性口令OTP和会话标识符SessionID进行加密或者编码,或者既进行加密,又进行编码。此处以既对一次性口令OTP和会话标识符SessionID进行加密,又进行编码为例进行说明。
认证服务器首先对一次性口令OTP进行加密。认证服务器先计算加密的密钥K,密钥K为用户标识符userlD、个人识别码PIN、会话标识符SessionID
三者连接后的哈希值,即表示如下= 7i4OT(證/Dll房IS固'o"/D)其中,I表示将该符号前后两者进行连接。
然后,认证服务器采用对称密码算法对所述一次性口令OTP进行加密,
即计算&(or尸),^表示对称密码算法,尺为密钥。
最后,认证服务器采用对加密后的一次性口令OTP和会话标识符SessionID进行二维条码编码,生成消息Msgl。
M堪i =脸Cocfe(^ (or尸)ls謡'o禮)
其中,I表示将该符号前后两者进行连接,^W。A表示对连接后的字符串进行二维条码编码。这里所说的二维条码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息,能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的
"f曰息。
认证服务器将加密和二维条码编码后生成的消息Msgl发送给认证代理,认证代理再将该消息进一步转发给用户客户端。
第四步,用户通过客户端获得消息Msgl后,首先用手机上的照相机将显示在客户端上的消息Msgl进行拍照,获得二维条码图案。用户利用手机中安装的能够对二维条码进行解码的解码器对二维条码进行解码,获得加密的一次性口令&(orP)和会话标识符SessionID。由于手机上的解码器还能够对加密算法进行解密,因此手机再根据用户标识符userID、个人识别码PIN、会话标识符SessionlD三者的哈希值计算出密钥/C,最后根据密钥K对加密的一次性口令&(07P)进行解密,得到一次性口令0TP。
在另一个实施例中,客户端有解码器。客户端获得消息Msgl后,直接在客户端利用其解码器对二维条码进行解码,获得加密的一次性口令^(07P)和会话标识符SessionID。客户端再根据用户标识符userID、个人识别码PIN、会话标识符SessionID三者的哈希值计算出密钥K,最后根据密钥《对加密的一次性口令&(O7P)进行解密,得到一次性口令0TP。
用户利用手机来编辑短消息SMS,短消息SMS中包括一次性口令OTP和会话标识符SessionID,将该短消息SMS发送给SMS网关,SMS网关将该消息转发给认证服务器。
第五步,认证服务器将从SMS网关处所接收的一次性口令OTP和所生成的一次性口令OTP进行对比,若两者相同,则认证成功;否则认证失败。一旦认证成功,则认证服务器将用会话标识符SessionID标识的会话激活。这样,用户与认证服务器成功地建立了会话,用户就可以对位于客户端的应用进行访问。
从上述实施例的过程中可以看出,本发明中认证服务器先创建了一个会话,而该会话又与客户端的IP地址(和端口号)绑定。即使在认证服务器向客户端传递一次性口令的过程中攻击者截获了一次性口令,攻击者也无法登陆用户所要访问的应用。这是因为首先攻击者无法拥有用户的手机,无法模拟用户的SIM卡,因此也就无法冒充用户去发送一次性口令以获得认证服务器的验证。再次,即使在最坏的情况下,攻击者截获了一次性口令,并且模拟用户的SIM卡去发送一次性口令,但是由于认证服务器已经为用户创建了一个会话并且为该会话设置了一个会话标识符,而该会话标识符与一次性口令是一一对应的,攻击者发送的一次性口令无法与用户的会话标识符相对应,因此也就无法登陆并访问用户的应用。
权利要求
1.一种认证方法,其特征在于该方法包含以下步骤(1)用户向一个认证服务器发送认证请求消息;(2)所述认证服务器验证所述用户的身份,若为合法用户则继续步骤(3);(3)所述认证服务器生成一个一次性口令并创建一个会话,并将所述一次性口令和标志所述会话的会话标识符通过一个有线网络发送给所述用户;(4)所述用户将获得的一次性口令和会话标识符通过一个无线网络发送给所述认证服务器;(5)所述认证服务器将所接收的一次性口令和所生成的一次性口令进行对比,若两者相同,则认证成功;否则认证失败。
2. 根据权利要求1所述的认证方法,其特征在于所述步骤(1)中, 所述用户通过一个客户端将所述认证请求消息发送给一个认证代理,所述认 证代理再将所述认证请求消息发送给所述认证服务器。
3. 根据权利要求1或2所述的认证方法,其特征在于所述认证请求消息包括所述用户的用户标识符、个人识别码、验证码和用户客户端的IP 地址。
4. 根据权利要求3所述的认证方法,其特征在于所述步骤(2)中,所 述认证服务器通过检验所述个人识别码的哈希值和所述用户标识符来验证 所述用户的身份。
5. 根据权利要求1所述的认证方法,其特征在于所述步骤(3)中,所述认证服务器将所述一次性口令和所述会话标识符进行加密和/或编码后 通过所述有线网络发送给所述用户。
6. 根据权利要求5所述的认证方法,其特征在于所述认证服务器首先对所述一次性口令进行加密,然后将加密后的一次性口令和所述会话标识 符进行二维条码编码,再将编码后的消息通过所述有线网络发送给所述用 户。
7. 根据权利要求6所述的认证方法,其特征在于所述认证服务器采用对称密码算法对所述一次性口令进行加密,其中的密钥为所述用户标识 符、个人识别码、会话标识符三者的哈希值。
8. 根据权利要求6所述的认证方法,其特征在于所述步骤(4)中, 所述用户对接收到的消息进行二维条码解码和解密,从而获得所述所述会话 标识符和所述一次性口令。
9. 根据权利要求8所述的认证方法,其特征在于所述用户首先使用 一个解码器对接收到的消息进行二维条码解码,得到所述会话标识符,再根 据所述用户标识符、个人识别码、会话标识符三者的哈希值计算出所述密钥, 最后根据所述密钥对所述一次性口令进行解密。
10. 根据权利要求5所述的认证方法,其特征在于所述步骤(4)中,所述用户将获得的一次性口令和会话标识符通过短消息服务发送给所述认 证服务器。
全文摘要
本发明提出一种认证方法,该方法包含以下步骤(1)用户向一个认证服务器发送认证请求消息;(2)认证服务器验证用户的身份,若为合法用户则继续步骤(3);(3)认证服务器生成一个一次性口令并创建一个会话,并将一次性口令和标志会话的会话标识符通过一个有线网络发送给用户;(4)用户将获得的一次性口令和会话标识符通过一个无线网络发送给认证服务器;(5)认证服务器将所接收的一次性口令和所生成的一次性口令进行对比,若两者相同,则认证成功;否则认证失败。和现有技术中的一次性口令认证方法相比,本发明能够使得认证过程更为安全。
文档编号H04L29/06GK101662458SQ20081014695
公开日2010年3月3日 申请日期2008年8月28日 优先权日2008年8月28日
发明者涛 王, 郭代飞, 隋爱芬 申请人:西门子(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1