CN102457482B - 一种认证方法、装置和系统 - Google Patents

一种认证方法、装置和系统 Download PDF

Info

Publication number
CN102457482B
CN102457482B CN201010515915.8A CN201010515915A CN102457482B CN 102457482 B CN102457482 B CN 102457482B CN 201010515915 A CN201010515915 A CN 201010515915A CN 102457482 B CN102457482 B CN 102457482B
Authority
CN
China
Prior art keywords
random number
authentication
ticket
response message
service request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201010515915.8A
Other languages
English (en)
Other versions
CN102457482A (zh
Inventor
潘锦锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN201010515915.8A priority Critical patent/CN102457482B/zh
Publication of CN102457482A publication Critical patent/CN102457482A/zh
Application granted granted Critical
Publication of CN102457482B publication Critical patent/CN102457482B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供一种认证方法、装置和系统;该方法包括:向KDC发送包含第一随机数的认证服务请求,接收KDC返回的包含第二随机数和授权票证的认证服务回复;利用第二随机数生成第一序列号,向KDC发送包含第一序列号和第一随机数的票证授权服务请求;接收KDC返回的包含第二随机数和服务票证的票证授权服务回复;向目标服务器发送包含第一随机数的应用服务请求,接收目标服务器返回的包含第三随机数的应用服务质询;利用第三随机数生成第二序列号,向目标服务器发送包含第二序列号的应用服务回复,接收目标服务器发送的允许访问的应用服务响应。采用本发明实施例的方法、装置和系统,能够防止重放攻击,并能减少通信消耗,提高认证效率。

Description

一种认证方法、装置和系统
技术领域
本发明涉及网络通信技术领域,尤其涉及一种认证方法、装置和系统。
背景技术
目前随着网络通信技术的发展,对用户身份的认证方式也越来越多;其中,针对于网络的认证方式,尤其是分布式网络环境下的用户身份认证和资源访问认证通常采用Kerberos协议进行认证。
常见的Kerberos认证系统有三个参与者:客户端(Client)、目标服务器(Server)和密匙分发中心(KDC,Key Distribution Center),其基本原理为:用户(客户端)若要访问服务器上的服务,首先必须通过KDC进行身份验证(Authentication),并申请针对该服务的票证(Ticket Request);在获得KDC授予的服务票证之后,将该票证提交给服务器以申请服务(Service Request);最后,服务器验证票证的合法性,决定是否向其提供服务。
然而,在上述认证过程中,部分报文非常容易被攻击者攻击并重放,以骗取相关用户和服务的凭证信息。而为了防止这种重放攻击,目前的机制是在Kerberos认证过程中,在用户的请求报文中加入时间戳,并设置时间窗(例如5min),如果服务器收到用户报文的时间戳落在时间窗里,则认为合法报文,否则认为是攻击者重放的历史报文。但是,一方面,为了保证时间戳生效,使用Kerberos认证的全网客户端和服务器就要保持时间同步,但在分布式网络环境中,时钟同步的实现并非易事,代价较大;另一方面,一旦时间系统被攻破,则Kerberos防重放攻击的机制也会随之瓦解。
发明内容
本发明实施例提供一种认证方法、装置和系统,能够防止认证过程中的重放攻击,并能减少通信消耗,提高认证效率。
根据本发明实施例的一个方面,本发明实施例提供了一种认证方法,包括:向密匙分发中心KDC发送包含第一随机数的认证服务请求;
接收所述KDC判断所述认证服务请求合法后返回的认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
向KDC发送包含第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;
接收所述KDC判断所述票证授权服务请求合法后返回的票证授权服务响应消息,所述票证授权服务响应消息中包含有所述第二随机数和服务票证;
向目标服务器发送包含所述第一随机数和所述服务票证的应用服务请求;
接收所述目标服务器判断所述应用服务请求合法后返回的应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
向目标服务器发送包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;
接收所述目标服务器判断应用服务响应消息合法后发送的认证成功的应用服务响应消息。
根据本发明实施例的另一个方面,本发明实施例又提供了一种认证方法,包括:接收客户端发送的包含第一随机数的认证服务请求;
当判断所述认证服务请求合法时,向所述客户端返回认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
接收所述客户端发送的包含有第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;
当判断所述票证授权服务请求合法时,向所述客户端返回包含有所述第二随机数和服务票证的票证授权服务响应消息;
接收客户端发送的包含有第一随机数和服务票证的应用服务请求;
当判断所述应用服务请求合法时,向所述客户端返回应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
接收所述客户端发送的包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;
当判断所述应用服务响应消息合法时,向所述客户端发送认证成功的应用服务响应消息。
根据本发明实施例的另一个方面,本发明实施例又提供了一种客户端,包括:
第一处理单元,用于向KDC发送包含第一随机数的认证服务请求;接收所述KDC判断所述认证服务请求合法后返回的认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
第二处理单元,用于向KDC发送包含第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;接收所述KDC判断所述票证授权服务请求合法后返回的票证授权服务响应消息,所述票证授权服务响应消息中包含有所述第二随机数和服务票证;
第三处理单元,用于向目标服务器发送包含所述第一随机数和所述服务票证的应用服务请求;接收所述目标服务器判断所述应用服务请求合法后返回的应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
第四处理单元,用于向目标服务器发送包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;接收所述目标服务器判断应用服务响应消息合法后发送的认证成功的应用服务响应消息。
根据本发明实施例的另一个方面,本发明实施例又提供了一种认证装置,包括:认证服务模块AS、票证授权服务模块TGS、服务端认证服务模块SAS和服务提供模块;其中,
认证服务模块AS,用于接收客户端发送的包含第一随机数的认证服务请求后,当判断所述认证服务请求合法时,向所述客户端返回认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
票证授权服务模块TGS,用于接收所述客户端发送的包含有第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;并当判断所述票证授权服务请求合法时,向所述客户端返回包含有所述第二随机数和服务票证的票证授权服务响应消息;
服务端认证服务模块SAS,用于接收客户端发送的包含有第一随机数和服务票证的应用服务请求后,当判断所述应用服务请求合法时,向所述客户端返回应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
所述服务提供模块用于接收所述客户端发送的包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;当判断所述应用服务响应消息合法时,向所述客户端发送认证成功的应用服务响应消息。
根据本发明实施例的另一个方面,本发明实施例又提供了一种认证系统,包括如上所述的客户端和认证装置。
可以看出,采用本发明实施例的方法、装置和系统,在认证过程中,采用随机生成的随机数在每次进行认证申请票证时充当序列号使用,通过在信息报文的交互过程中采用随机数与利用该随机数进行防伪映射后产生的序列号的对应关系来进行合法性验证,以此来消除现有的认证过程中对于时钟同步的要求,减少了认证步骤的通信消耗,提高了认证效率,同时利用充当序列号的随机数也可实现防止重放攻击的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种认证方法流程示意图;
图2是本发明实施例提供的另一种认证方法流程示意图;
图3是本发明实施例提供的又一种认证方法流程示意图;
图4是本发明实施例提供的一种认证装置结构示意框图;
图5是本发明实施例提供的另一种认证装置结构示意框图;
图6是本发明实施例提供的认证系统结构示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,接收端的和发送端是指接收报文或发送报文的网络设备,在不同的信息交互过程中,同样的网络设备可能是在一过程中是接收端而在另一过程中是发送端,例如:在Kerberos协议认证过程中,客户端即是发送端,也是接收端;具体本文不再赘述。
为了便于本领域技术人员更好的理解,下面结合附图和具体实施例进行详细说明,以下皆以Kerberos协议认证过程为例进行说明。
本发明实施例1提供了一种认证方法,如图1所示,该方法将从客户端侧对认证过程进行描述,该方法包括:
步骤101:向KDC发送包含第一随机数的认证服务请求,并接收所述KDC判断所述认证服务请求合法后返回的包含第二随机数和授权票证的认证服务响应消息;
步骤102:通过对所述第二随机数进行防伪映射生成第一序列号后,向KDC发送包含所述第一序列号和第一随机数的票证授权服务请求;接收所述KDC判断所述认证服务请求合法后返回的包含第二随机数和服务票证的票证授权服务响应消息;
其中,所述第一序列号可以通过以下方式生成,但不局限于此:
S1021、通过对接收到的所述认证服务响应消息进行解密获得所述第二随机数;
S1022、对所述第二随机数进行防伪映射获得所述第一序列号。
步骤103:向目标服务器发送包含第一随机数和所述服务票证的应用服务请求,并接收所述目标服务器返回的包含第三随机数的应用服务质询消息;
步骤104:通过对所述第三随机数进行防伪映射生成第二序列号后,向目标服务器发送包含该第二序列号的应用服务响应消息,并接收所述目标服务器发送的表示是否允许访问的应用服务响应消息;
其中,所述第二序列号可以通过下述方式生成,但不局限于此:
S1041、通过对接收到的所述应用服务质询消息进行解密获得所述第三随机数;
S1042、对所述第三随机数进行防伪映射获得所述第二序列号。
从上述实施例的方案可以看出,在认证过程中,采用随机生成的随机数在每次进行认证申请票证时充当序列号使用,通过在信息报文的收发过程中采用随机数与利用该随机数进行防伪映射后产生的序列号的对应关系来进行合法性验证,以此来消除认证过程中对于时钟同步的要求,减少了认证步骤的通信消耗,提高了认证效率,同时利用充当序列号的随机数也可实现防止重放攻击的目的。
本发明实施例2提供了一种认证方法,如图2所示,该方法将从网络侧对认证过程进行描述,该方法包括:
步骤201:接收客户端发送的包含第一随机数的认证服务请求;当判断所述认证服务请求合法时,向所述客户端返回认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
其中,可通过以下方式判断所述认证服务请求是否合法,但并不局限于此:
S2011、根据所述认证服务请求查询用户会话信息数据库,判断是否存在与利用所述第一随机数认证相同的认证会话的四元组信息;
S2012、当不存在与利用所述第一随机数认证相同的认证会话的四元组信息时,确定所述认证服务请求合法。
步骤202:接收所述客户端发送的包含有第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;当判断所述票证授权服务请求合法时,向所述客户端返回包含有所述第二随机数和服务票证的票证授权服务响应消息;
其中,可通过下述方式判断当前所述票证授权服务请求是否合法,同样不限于此:
S2021、通过对所述票证授权服务请求进行解密得到所述第一序列号;
S2022、当所述第一序列号与本地的第二随机数存在映射关系时,确定所述票证授权服务请求合法。
步骤203:接收客户端发送的包含有第一随机数和服务票证的应用服务请求;当判断所述应用服务请求合法时,向所述客户端返回应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
其中,可通过但不限于以下方式判断所述应用服务请求是否合法:
S2031、对所述应用服务请求报文进行解密得到第一随机数;
S2032、根据所述第一随机数查询用户会话信息数据库,所述用户会话信息数据库通常保存了认证会话四元组等信息;当所述用户会话信息数据库中不存在与利用所述第一随机数认证相同的认证会话四元组信息时,确定所述应用服务请求报文合法。
其中,所述用户会话信息数据库设置于KDC侧,用于存放认证会话四元组等信息;所述认证会话四元组表明此次会话的唯一性,例如可以是诸如{c,s,rc,rs}等格式信息,表明此次会话是客户端(Client)与目标服务器(Server)之间进行的,其中c为客户端(Client)、s为目标服务器(Server)、rc为客户端(Client)产生的随机数、rs为目标服务器(Server)产生的随机数,依此类推,本文在此不再赘述。
步骤204:接收所述客户端发送的包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;当判断所述应用服务响应消息合法时,向所述客户端发送认证成功的应用服务响应消息;
值得注意的是,可通过但不限于下述方式判断所述应用服务响应消息是否合法:
S2041、通过对所述应用服务响应消息进行解密获得第二序列号;
S2042、当所述第二序列号与本地的第三随机数存在映射关系时,确定所述应用服务响应消息合法。
采用此种认证方法,在通过生成认证会话随机数序列号,并利用防伪映射的方法,能够确保被窃取的报文不能被重放,消除可认证过程中对于时钟同步的要求,减少了认证步骤的通信消耗,提高了认证效率。
下面以上述实施例的方法步骤在Kerberos认证过程中的具体实现为例,对上述实施例的方法进行详细说明。如图3所示,在Kerberos认证过程中防止重放攻击的方法可以包括以下步骤:
步骤301:当客户端请求认证时,所述客户端向KDC的认证服务模块(AS,Authentication Services)发送包含随机数rc的Kerberos认证服务请求报文(KRB_AS_REQ),以请求访问服务资源的票证授权票证(TGT,Ticket-Granting Ticket);
其中,该随机数rc可以由客户端(Client)预先产生,并在系统中与所述KDC和目标服务器共享。
步骤302:所述KDC中的AS接收到所述客户端发送的Kerberos认证服务请求报文KRB_AS_REQ后,当判断所述认证服务请求报文KRB_AS_REQ合法后,向所述客户端返回认证服务响应消息(KRB_AS_REP),所述认证服务响应消息中包含有第二随机数和授权票证TGT;
具体的,所述KDC可以通过下述方式判断当前请求报文是否为合法报文,但不局限于此:
1)查询用户会话信息数据库,判断是否存在与随机数rc相同的认证会话四元组;
其中,所述用户会话信息数据库设置于KDC侧,用于存放认证会话四元组等信息;所述认证会话四元组表明此次会话的唯一性,例如可以是诸如{c,s,rc,rs}等格式信息,表明此次会话是客户端(Client)与目标服务器(Server)之间进行的,其中c为客户端(Client)、s为目标服务器(Server)、rc为客户端(Client)产生的随机数、rs为目标服务器(Server)产生的随机数,依此类推,本文在此不再赘述。
2)当所述用户会话信息数据库中存在与随机数rc相同的认证会话四元组时,则认为所述认证服务请求报文KRB_AS_REQ不合法,为重放攻击报文;否则,认为所述认证服务请求报文合法;
AS根据判断的结果进行后续处理,具体包括:如果是重放攻击报文,则直接向客户端返回错误信息;如果是合法报文,则生成第二随机数rs,并以第二随机数rs构建Kerberos认证服务回应报文(KRB_AS_REP),向客户端提供其所需的票证TGT。
步骤303:向KDC发送包含第一序列号和所述第一随机数的票证授权服务请求KRB_TGS_REQ,所述第一序列号根据所述第二随机数生成;
具体的,当所述客户端根据接收到的所述KDC的AS模块返回的Kerberos认证服务回应报文KRB_AS_REP后,可以通过下述方式来生成第一序列号:
1)通过对所述KRB_AS_REP报文进行解密得到随机数rs;
2)对该随机数rs进行防伪映射,并保存起来作为第一序列号rs’=f(rs)。
其中,f为防伪映射函数,其可以采用形如以下的函数:rs+1,rs-1,2*rs+1...等,但不局限于此。
所述客户端将产生的第一序列号rs’=f(rs)与随机数rc作为报文的一个字段构建Kerberos授权票证服务请求报文(KRB_TGS_REQ),并发送给KDC的票证授予服务器(TGS,Ticket-Granting Server),以申请服务票证(serviceticket)。
需要注意的是,如果用户申请多个服务,则此处的防伪映射会按照f的不同而进行不同变化,而无须重新发起步骤301和302中的报文;
步骤304:所述KDC判断所述票证授权服务请求合法后,向所述客户端返回票证授权服务响应消息KRB_TGS_REP,所述票证授权服务响应消息中包含有所述第二随机数和服务票证;
具体的,当所述KDC的TGS接收到客户端发送的KRB_TGS_REQ报文之后,可以通过下述方式判断当前Kerberos票证授予服务请求是否合法,但不局限于此:
1)通过对所述KRB_TGS_REQ报文进行解密得到序列号rs’和TGT;
2)判断所述序列号rs’与本地rs是否存在映射关系rs’=f(rs),如果是则认为当前请求合法,否则认为不合法,是重放攻击报文。
所述TGS根据判断的结果进行相应处理,具体包括:如果是重放攻击报文,则KDC直接向客户端返回错误信息;如果不是重放攻击,则从所述TGT中提取出用户的身份标识信息,并以第二随机数rs和服务票证(service ticket)构建Kerberos票证授权服务回应报文(KRB_TGS_REP)发送给所述客户端,以向客户端提供其访问服务资源的票证TGT。
值得注意的是,由于TGS和AS皆为KDC内部的模块,其二者之间可以进行数据信息的实时共享,因而在步骤302中当AS随机产生随机数rs时,所述TGS即可获知该随机数,所以在该步骤中当解密得到所述序列号rs’后,所述TGS即可判断与本地rs是否存在映射关系rs’=f(rs),具体本文不再赘述。
步骤305:所述客户端根据接收的所述票证授权服务响应消息中的服务票证(service ticket),向目标服务器发送包含所述第一随机数和所述服务票证的应用服务请求;
具体的,当所述客户端接收到所述票证授权服务响应消息,获得服务票证(service ticket)后,利用该服务票证和第一随机数rc构建Kerberos应用服务请求报文(KRB_AP_REQ),并将所述应用服务请求报文(KRB_AP_REQ)发送给目标服务器中的服务端认证服务模块(SAS),请求访问所述服务资源;
步骤306:所述目标服务器判断所述应用服务请求合法后,向所述客户端返回应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
具体的,当所述目标服务器中的服务端认证服务模块SAS接收到所述客户端发送的Kerberos应用服务请求报文KRB_AP_REQ后,可以通过下述方式判断当前Kerberos应用服务请求报文是否为合法报文,但不局限于此:
1)通过对所述KRB_AP_REQ报文进行解密得到第一随机数rc;
2)查询用户会话信息数据库,判断是否存在与第一随机数rc相同认证会话四元组:
3)如果存在,则认为该KRB_AP_REQ报文为重放攻击报文;否则,认为该KRB_AP_REQ报文为合法;
然后SAS根据判断的结果进行后续处理,具体包括:如果是重放攻击报文,则SAS直接向客户端返回错误信息;如果不是重放攻击报文,则SAS生成第三随机数rv,并以第三随机数rv构建Kerberos应用服务质询报文(KRB_SAS_RES)发送给所述客户端,以向客户端发起应用服务质询。
步骤307:所述客户端向目标服务器发送包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;
具体的,当所述客户端接收到所述SAS模块的Kerberos应用服务质询后,通过下述方式来生成第二序列号:
A、通过对所述KRB_SAS_RES报文进行解密得到第三随机数rv;
B、对第三随机数rv进行防伪映射,并保存起来作为序列号rv’=f(rv)。
其中,f为防伪映射函数,其可以采用形如以下的函数:rs+1,rs-1,2*rs+1...等,但不局限于此;
然后所述客户端将产生的序列号rv’=f(rv)作为报文的一个字段构建Kerberos应用服务响应报文(KRB_AP_REP),并将所述应用服务响应报文(KRB_AP_REP)发送给目标服务器的服务提供模块(Service),以回应所述SAS发起的质询;
步骤308:当判断所述应用服务响应消息合法时,所述目标服务器向所述客户端发送认证成功的应用服务响应消息。
具体的,当所述目标服务器的Service模块接收到所述客户端的Kerberos应用服务响应报文后,通过对所述应用服务响应报文进行解密得到第二序列号rv’,判断所述第二序列号rv’与本地rv是否存在映射关系rv’=f(rv),如果存在映射关系,则认为该应用服务响应报文合法,否则认为该应用服务响应报文是重放攻击报文。进一步的,当目标服务器判断该应用服务响应报文是重放攻击报文时,则直接向客户端返回错误信息;当目标服务器判断该应用服务响应报文不是重放攻击报文时,则可允许客户端访问,为其提供服务资源,并通过Kerberos应用服务响应报文(KRB_AP_REP)通知所述客户端。
除此之外,受Kerberos协议报文长度的制约,上述实施例的方法在具体实施时,产生的各种随机数的长度通常为32bit,当然本发明实施例并不局限于此,在具体实施时也可根据实际情况进行调整,不再赘述。
尤其需要注意的是,在本发明上述实施例的方法中,对于判断包含随机数的请求报文是否为重放攻击可以通过多种方式进行判断,只要是利用所述随机数进行判断即可,而上述几种判断方式仅仅是其中优选的方式而已,并不局限于此;同时,对于各种序列号的生成也可采用多种方式实现,只要是利用随机数生成即可,上述的几种生成方式仅仅是其中的有选方式而已,具体的生成方式并不局限于此。
可以看出,在Kerberos认证过程中,利用该随机数来替代现有标准Kerberos协议报文中的时间戳,即采用随机生成的随机数在每次进行认证申请票证时充当序列号使用,在信息报文的交互过程中采用随机数与利用该随机数进行防伪映射后产生的序列号的对应关系来进行合法性验证,从而可使得该防止重放攻击的方法不受限于时间同步的要求,因而可以更好的实现防止重放攻击。例如,当随机产生随机数rc时,利用rc替代KRB_AS_REQ报文中的时间戳;再例如,当随机产生随机数rs时,利用rs替代KRB_AS_REP报文中的时间戳;其它随机数替代报文中的时间戳的方式与此类似,在此不再赘述;同时,也减少了认证过程中时间同步的通信消耗,提高了认证效率。
本发明实施例4又提出了一种客户端,如图4所示,所述客户端包括:第一处理单元401、第二处理单元402、第三处理单元403和第四处理单元404;其中,
所述第一处理单元401,用于向KDC发送包含第一随机数的认证服务请求;接收所述KDC判断所述认证服务请求合法后返回的认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
所述第二处理单元402,用于向KDC发送包含第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;接收所述KDC判断所述票证授权服务请求合法后返回的票证授权服务响应消息,所述票证授权服务响应消息中包含有所述第二随机数和服务票证;
所述第三处理单元403,用于向目标服务器发送包含所述第一随机数和所述服务票证的应用服务请求;接收所述目标服务器判断所述应用服务请求合法后返回的应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
所述第四处理单元404,用于向目标服务器发送包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;接收所述目标服务器判断应用服务响应消息合法后发送的认证成功的应用服务响应消息。
此外,所述第二处理单元可包括:通过对接收到的所述认证服务响应消息进行解密获得所述第二随机数的第一解密模块,以及对所述第二随机数进行防伪映射获得所述第一序列号的第一生成模块。
除此之外,所述第四处理单元可包括:通过对接收到的所述应用服务质询消息进行解密获得所述第三随机数的第二解密模块,以及对所述第三随机数进行防伪映射获得所述第二序列号的第二生成模块。
本发明实施例又提出了一种认证装置,如图5所示,该认证装置包括:认证服务模块AS 531、票证授权服务模块TGS 532、服务端认证服务模块SAS521和服务提供模块522;其中,
所述AS 532用于接收客户端发送的包含第一随机数的认证服务请求后,当判断所述认证服务请求合法时,向所述客户端返回认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
所述TGS 532用于接收所述客户端发送的包含有第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;并当判断所述票证授权服务请求合法时,向所述客户端返回包含有所述第二随机数和服务票证的票证授权服务响应消息;
所述SAS 521用于接收客户端发送的包含有第一随机数和服务票证的应用服务请求后,当判断所述应用服务请求合法时,向所述客户端返回应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
所述服务提供模块522用于接收所述客户端发送的包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;当判断所述应用服务响应消息合法时,向所述客户端发送认证成功的应用服务响应消息。
具体的,所述AS可以包括:第一查询模块,用于根据所述认证服务请求查询用户会话信息数据库;第一确定模块,用于所述用户会话信息数据库中当不存在与利用所述第一随机数认证相同的认证会话的四元组信息时,确定所述认证服务请求合法。
此外,所述TGS可包括:第一获取模块,用于通过对所述票证授权服务请求进行解密得到所述第一序列号;第一映射模块,用于当所述第一序列号与的第二随机数存在映射关系时,确定所述票证授权服务请求合法。
优选的,所述SAS可包括:第二获取模块,用于对所述应用服务请求报文进行解密得到第一随机数;第二查询模块,用于根据所述第一随机数查询用户会话信息数据库;第二确定模块,用于当所述用户会话信息数据库中不存在与利用所述第一随机数认证相同的认证会话四元组信息时,确定所述应用服务请求报文合法。
值得注意的是,基于上述认证装置的各种结构,所述服务提供模块还可包括:第三获取模块,用于通过对所述应用服务响应消息进行解密获得第二序列号;第二映射模块,用于当所述第二序列号与的第三随机数存在映射关系时,确定所述应用服务响应消息合法。
本发明实施例6又提出一种Kerberos认证系统,如图6所示,该系统包括:客户端510、目标服务器520和KDC530;所述目标服务器520还包括服务端认证服务模块SAS521;其中,所述客户端分别与目标服务器中的SAS521和服务提供模块522、以及KDC530中的认证服务模块AS531和票证授权服务模块TGS532相连;
具体的,所述客户端510用于生成第一随机数,并向所述AS531发送包含第一随机数的认证服务请求;
所述AS531用于判断所述认证服务请求是否合法,如果是,则生成第二随机数,并利用该第二随机数与授权票证构建认证服务响应报文发送给客户端510;
所述客户端510用于利用所述第二随机数生成第一序列号,并向所述TGS532发送包含第一序列号和第一随机数的票证授权服务请求;
所述TGS532用于判断所述票证授权服务请求是否合法,如果是,则向客户端510返回包含第二随机数和服务票证的票证授权服务回复;
所述客户端510用于向SAS521发送包含第一随机数和服务票证的应用服务请求;
所述SAS521用于判断所述应用服务请求是否合法,如果是,则生成第三随机数并向所述客户端510发起应用服务质询;
所述客户端510用于利用所述第三随机数生成第二序列号,并向服务提供模块522发送包含该第二序列号的应用服务回复;
所述服务提供模块522用于判断当前应用服务回复是否合法,如果是,则向所述客户端510发送允许访问服务的应用服务响应。
具体的,所述AS531还可包括:第一查询单元和第一判断单元;其中,所述第一查询单元用于查询用户会话信息数据库的认证会话四元组,并将查询结果通知给第一判断单元;所述第一判断单元用于接收所述第一查询单元的通知,并当所述数据库中存在与利用第一随机数相同的认证会话四元组时,确定当前请求为重放攻击,否则确定当前请求合法。
此外,所述TGS还可包括:第一解密单元和第一映射单元;其中,所述第一解密单元用于通过对所述票证授权服务请求报文进行解密得到第一序列号,并通知所述第一映射单元;所述第一映射单元用于接收所述通知,并当所述第一序列号与本地的第二随机数存在映射关系时,认定当前请求合法,否则认定为重放攻击。
另外,所述SAS还可包括:第二解密单元、第二查询单元和第二判断单元;其中,所述第二解密单元用于通过对应用服务请求报文进行解密得到随机数rc;所述第二查询单元用于查询用户会话信息数据库的认证会话四元组,并将查询结果通知给第二判断单元;所述第二判断单元用于接收所述第二查询单元的通知,并当所述数据库中存在与利用第一随机数相同的认证会话四元组时,确定当前请求为重放攻击,否则确定当前请求合法。
除此之外,所述服务提供模块还可包括:第三解密单元和第二映射单元;其中,所述第三解密单元用于通过对所述应用服务响应报文进行解密得到第二序列号,并通知给所述第二映射单元;所述第二映射单元用于接收所述通知,并当所述第二序列号与本地第三随机数存在映射关系时,认定当前回复合法,否则认定为重放攻击。
基于上述,所述客户端还可包括:第四解密单元和第三映射单元;其中,所述第四解密单元用于通过对认证服务响应报文解密得到第一随机数、通过对应用服务质询报文解密得到第三随机数,并将解密结果通知第三映射单元;所述第三映射单元用于接收通知结果,并对所述第一随机数或第三随机数进行防伪映射后保存起来分别作为第一序列号或第二序列号。
值得注意的是,在本发明上述各实施例中,所述服务端认证服务模块(SAS)是相对于现有标准Kerberos协议认证系统新增加的模块,其主要是通过与客户端的信息交互,并利用所述信息交互过程中的随机数使目标服务器可以验证客户端的身份,进而防止请求服务过程中的防重放攻击;同时,由于所述SAS模块和服务提供模块皆属于所述目标服务器的内部模块,其二者之间的数据信息处于实时共享状态,因而当SAS随机产生随机数rv时,所述服务提供模块即可获知该随机数,所以在该步骤中当解密得到所述序列号rv’后,所述TGS即可判断与本地rv是否存在映射关系rv’=f(rv),具体本文不再赘述。
专业人员还可以进一步应能意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明实施例。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明实施例的精神或范围的情况下,在其它实施例中实现。因此,本发明实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅为本发明实施例的较佳实施例而已,并不用以限制本发明实施例,凡在本发明实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (14)

1.一种认证方法,其特征在于,包括:
向密匙分发中心KDC发送包含第一随机数的认证服务请求;
接收所述KDC判断所述认证服务请求合法后返回的认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
向所述KDC发送包含第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;
接收所述KDC判断所述票证授权服务请求合法后返回的票证授权服务响应消息,所述票证授权服务响应消息中包含有所述第二随机数和服务票证;
向目标服务器发送包含所述第一随机数和所述服务票证的应用服务请求;
接收所述目标服务器判断所述应用服务请求合法后返回的应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
向目标服务器发送包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;
接收所述目标服务器判断所述应用服务响应消息合法后发送的认证成功的应用服务响应消息。
2.根据权利要求1所述的方法,其特征在于,所述第一序列号的生成方式包括:
通过对接收到的所述认证服务响应消息进行解密获得所述第二随机数;
对所述第二随机数进行防伪映射获得所述第一序列号。
3.根据权利要求1所述的方法,其特征在于,所述第二序列号的生成方式包括:
通过对接收到的所述应用服务质询消息进行解密获得所述第三随机数;
对所述第三随机数进行防伪映射获得所述第二序列号。
4.一种认证方法,其特征在于,包括:
接收客户端发送的包含第一随机数的认证服务请求;
当判断所述认证服务请求合法时,向所述客户端返回认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
接收所述客户端发送的包含有第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;
当判断所述票证授权服务请求合法时,向所述客户端返回包含有所述第二随机数和服务票证的票证授权服务响应消息;
接收客户端发送的包含有所述第一随机数和服务票证的应用服务请求;
当判断所述应用服务请求合法时,向所述客户端返回应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
接收所述客户端发送的包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;
当判断所述应用服务响应消息合法时,向所述客户端发送认证成功的应用服务响应消息。
5.根据权利要求4所述的认证方法,其特征在于,所述判断所述认证服务请求合法包括:
根据所述认证服务请求查询用户会话信息数据库,判断是否存在与利用所述第一随机数认证相同的认证会话的四元组信息;
当不存在与利用所述第一随机数认证相同的认证会话的四元组信息时,确定所述认证服务请求合法。
6.根据权利要求4所述的认证方法,其特征在于,所述判断所述票证授权服务请求合法包括:
通过对所述票证授权服务请求进行解密得到所述第一序列号;
当所述第一序列号与本地的第二随机数存在映射关系时,确定所述票证授权服务请求合法。
7.根据权利要求4所述的方法,其特征在于,所述判断所述应用服务请求合法的方法包括:
对所述应用服务请求报文进行解密得到第一随机数;
根据所述第一随机数查询用户会话信息数据库,当所述用户会话信息数据库中不存在与利用所述第一随机数认证相同的认证会话四元组信息时,确定所述应用服务请求报文合法。
8.根据权利要求4至7任意一项所述的方法,其特征在于,所述判断所述应用服务响应消息合法的方法包括:
通过对所述应用服务响应消息进行解密获得第二序列号;
当所述第二序列号与本地的第三随机数存在映射关系时,确定所述应用服务响应消息合法。
9.一种客户端,其特征在于,包括:
第一处理单元,用于向KDC发送包含第一随机数的认证服务请求;接收所述KDC判断所述认证服务请求合法后返回的认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
第二处理单元,用于向所述KDC发送包含第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;接收所述KDC判断所述票证授权服务请求合法后返回的票证授权服务响应消息,所述票证授权服务响应消息中包含有所述第二随机数和服务票证;
第三处理单元,用于向目标服务器发送包含所述第一随机数和所述服务票证的应用服务请求;接收所述目标服务器判断所述应用服务请求合法后返回的应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
第四处理单元,用于向目标服务器发送包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;接收所述目标服务器判断所述应用服务响应消息合法后发送的认证成功的应用服务响应消息。
10.根据权利要求9所述的客户端,其特征在于,所述第二处理单元包括:
第一解密模块,用于通过对接收到的所述认证服务响应消息进行解密获得所述第二随机数;
第一生成模块,用于对所述第二随机数进行防伪映射获得所述第一序列号;
所述第四处理单元包括:
第二解密模块,用于通过对接收到的所述应用服务质询消息进行解密获得所述第三随机数;
第二生成模块,用于对所述第三随机数进行防伪映射获得所述第二序列号。
11.一种认证装置,其特征在于,包括:
认证服务模块AS,用于接收客户端发送的包含第一随机数的认证服务请求后,当判断所述认证服务请求合法时,向所述客户端返回认证服务响应消息,所述认证服务响应消息中包含有第二随机数和授权票证;
票证授权服务模块TGS,用于接收所述客户端发送的包含有第一序列号和所述第一随机数的票证授权服务请求,所述第一序列号根据所述第二随机数生成;并当判断所述票证授权服务请求合法时,向所述客户端返回包含有所述第二随机数和服务票证的票证授权服务响应消息;
服务端认证服务模块SAS,用于接收客户端发送的包含有所述第一随机数和服务票证的应用服务请求,当判断所述应用服务请求合法时,向所述客户端返回应用服务质询消息,所述应用服务质询消息中包含有第三随机数;
所述服务提供模块,用于接收所述客户端发送的包含第二序列号的应用服务响应消息,所述第二序列号根据所述第三随机数生成;当判断所述应用服务响应消息合法时,向所述客户端发送认证成功的应用服务响应消息。
12.根据权利要求11所述的认证装置,其特征在于,所述AS包括:
第一查询模块,用于根据所述认证服务请求查询用户会话信息数据库;
第一确定模块,用于所述用户会话信息数据库中当不存在与利用所述第一随机数认证相同的认证会话的四元组信息时,确定所述认证服务请求合法。
13.根据权利要求11所述的认证装置,其特征在于,所述TGS包括:
第一获取模块,用于通过对所述票证授权服务请求进行解密得到所述第一序列号;
第一映射模块,用于当所述第一序列号与的第二随机数存在映射关系时,确定所述票证授权服务请求合法。
14.一种认证系统,其特征在于,包括如上述权利要求9至10任意一项所述的客户端,以及如上述权利要求11至13任意一项所述的认证装置。
CN201010515915.8A 2010-10-19 2010-10-19 一种认证方法、装置和系统 Expired - Fee Related CN102457482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010515915.8A CN102457482B (zh) 2010-10-19 2010-10-19 一种认证方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010515915.8A CN102457482B (zh) 2010-10-19 2010-10-19 一种认证方法、装置和系统

Publications (2)

Publication Number Publication Date
CN102457482A CN102457482A (zh) 2012-05-16
CN102457482B true CN102457482B (zh) 2015-06-17

Family

ID=46040149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010515915.8A Expired - Fee Related CN102457482B (zh) 2010-10-19 2010-10-19 一种认证方法、装置和系统

Country Status (1)

Country Link
CN (1) CN102457482B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739659B (zh) * 2012-06-16 2015-07-08 华南师范大学 一种防重放攻击的认证方法
CN102761560B (zh) * 2012-08-01 2015-01-14 飞天诚信科技股份有限公司 一种验证信息完整性的方法和系统
CN104468074A (zh) * 2013-09-18 2015-03-25 北京三星通信技术研究有限公司 应用程序之间认证的方法及设备
CN108566273A (zh) * 2018-03-01 2018-09-21 如般量子科技有限公司 基于量子网络的身份认证系统
CN111698225B (zh) * 2020-05-28 2022-08-19 国家电网有限公司 一种适用于电力调度控制系统的应用服务认证加密方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051898A (zh) * 2006-04-05 2007-10-10 华为技术有限公司 无线网络端到端通信认证方法及其装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051898A (zh) * 2006-04-05 2007-10-10 华为技术有限公司 无线网络端到端通信认证方法及其装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kerberos 5协议的安全分析;邵叶秦等;《电脑知识与技术》;20100228;第6卷(第6期);参见1319-1320页中的1、2节 *
对kerberos协议的攻击及对策研究;莫燕等;《计算机工程》;20050531;第31卷(第10期);66-68页 *

Also Published As

Publication number Publication date
CN102457482A (zh) 2012-05-16

Similar Documents

Publication Publication Date Title
CN109561066B (zh) 数据处理方法、装置、终端及接入点计算机
US6993652B2 (en) Method and system for providing client privacy when requesting content from a public server
KR101237632B1 (ko) 토큰과 검증자 사이의 인증을 위한 네크워크 헬퍼
KR100953095B1 (ko) 슈퍼 피어 기반 p2p 네트워크 시스템 및 이를 위한 피어인증 방법
EP2351316B1 (en) Method and system for token-based authentication
US7231526B2 (en) System and method for validating a network session
CN111030814B (zh) 秘钥协商方法及装置
KR101405509B1 (ko) 온라인 제 3 신뢰 기관을 도입함으로써 엔티티 공개키 획득, 인증서 검증 및 인증을 수행하는 방법 및 시스템
CN101090316B (zh) 离线状态下存储卡与终端设备之间的身份认证方法
CN110225050B (zh) Jwt令牌的管理方法
KR100842267B1 (ko) 다중 인증 수단을 가지는 시스템의 통합 사용자 인증 서버,클라이언트 및 방법
CN102457482B (zh) 一种认证方法、装置和系统
Muthumeenakshi et al. Extended 3PAKE authentication scheme for value-added services in VANETs
WO2005088892A1 (en) A method of virtual challenge response authentication
WO2009139673A1 (en) Verifying a message in a communication network
CN108964895B (zh) 基于群组密钥池和改进Kerberos的User-to-User身份认证系统和方法
CN114513339A (zh) 一种安全认证方法、系统及装置
CN110138558B (zh) 会话密钥的传输方法、设备及计算机可读存储介质
CN117098128A (zh) 一种基于签名的车联网高效批量认证密钥协商方法
KR100553792B1 (ko) 단말 대 단말간의 인증기능을 구비한 통신장치 및 방법
CN115883105A (zh) 认证连接方法、系统、电子设备及计算机存储介质
CN110049067B (zh) 会话密钥的传输方法、设备及计算机可读存储介质
CN100596066C (zh) 一种基于h323系统的实体认证方法
Bakhache et al. Kerberos secured address resolution protocol (karp)
Almuhaideb et al. Passport/Visa: Authentication and authorisation tokens for ubiquitous wireless communications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant before: Chengdu Huawei Symantec Technologies Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGY CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150617

Termination date: 20181019

CF01 Termination of patent right due to non-payment of annual fee