Kerberos认证协议_原创精品文档.pdfVIP

  • 0
  • 0
  • 约4.58千字
  • 约 5页
  • 2024-01-03 发布于中国
  • 举报

Kerberos认证协议

序⾔:近⼏天学习了Kerberos认证协议,觉得有必要把学习过程和学习⼼得记录⼀下,⽂章内容有WilliamStallings编著的《⽹络安

全基础》中的部分内容,也有⾃⼰的理解和思考。我希望能⽤⾃⼰的理解来解释出Kerberos认证协议的⼯作过程。由于Kerberos⽐

较复杂,所以需要通过多个假设会话来理解协议,对于有哪些不妥之处还请前辈批评指正。

1.⼀个简单的会话

(1)C—AS:IDc||Pc||IDv

(2)AS—C:Ticket

(3)C—V:IDc||Ticket,Ticket=E(Kv,[IDc||ADc||IDv])

C=客户端

AS=认证服务器

V=认证服务器

IDc=客户端上⽤户的⾝份标识

IDv=服务器端的⾝份标识

Pc=客户端上⽤户的⼝令

ADc=客户端的⽹络地址

Kv=认证服务器和服务器间共享的加密密钥

根据图中所⽰:

客户端⽤户⼝令

AS作为认证服务器与C()共享了Pc()。C想要访问V,⾸先需要得到AS的认证。于是C向AS发出请求,C需要告

IDc||PcIDv

诉AS⾃⼰是C()现在想要访问V()。

AS得到C的请求以后在⾃⼰的数据库中查找信息验证C的⾝份,同时查看C是否拥有访问V的权限。如果知道C的⾝份合法,要求合

Ticket例:

理,AS会发⼀张去往V的通⾏证()。这⼀张通⾏证⾄关重要,所以必须加密,⽽Kerberos采⽤的对称加密算法(

E(K,M),指的是⽤密钥K去加密M。

)加密票据信息。对于这张票据上含有最基本的信息,类⽐于我们的车票,它包括“我是

谁”(IDc)、“我从哪⾥来”(ADc)、“我要到哪⾥去”(IDv)。

C拿着AS发放的票据,告诉⾃⼰是C,就能成功的访问V。

回顾这个会话⽅法可以明显的发现两个问题:1、每⼀次C想要访问V都需要先向AS发出请求,这就意味着每⼀次都要输⼊密码,这对

⽤户来说是极不⽅便的。2、在C访问AS的过程中竟然使⽤了Pc明⽂传输

2.⼀个更加安全的认证会话

每次⽤户登陆会话就执⾏⼀次:

(1)C—AS:IDc||IDtgs

(2)AS—C:E(Kc,Tickettgs)

每种类型的服务就会执⾏⼀次:

(3)C—TGS:IDc||IDv||Tickettgs

(4)TGS—C:Ticketv

每个服务会话就会执⾏⼀次:

(5)C—V:IDc||Ticketv

Tickettgs=E(Ktgs,[IDc||ADc||IDtgs||TS1||Lifetime1])

Ticketv=E(Kv,[IDc||ADc||IDv||TS2||Lifetime2])

我们现在来分析这个会话:

为了解决第⼀种会话⽅案出现的问题,我们引⼊⼀个叫做票据授权服务器的新服务器,同时我们允许票据重⽤来解决多次输⼊密码的问

题。

C希望访问V,但是访问V所需要的票据由TGS发放,所以C需要先访问TGS。可是访问TGS也需要票据,这个票据由AS发放。所以C

的访问路程就是先访问AS再访问TGS,然后才能访问V。

AS与C共享密钥Kc,AS与TGS共享密钥Ktgs,TGS与V共享密钥Kv。

此使AS并没有要求C来证明他的⾝份

C向AS发出申请:我是C我想要访问TGS。()

在C

AS交给C⼀个上了锁的盒⼦,告诉C说:你要的票在盒⼦⾥,如果你真的是C,那你⼀定有钥匙打开这个盒⼦拿到⾥⾯的票据。(

与AS的会话过程中并没有出现明⽂传输

文档评论(0)

1亿VIP精品文档

相关文档