introduction of kerberos

23
Introduction of Kerberos

Upload: herne

Post on 06-Jan-2016

111 views

Category:

Documents


1 download

DESCRIPTION

Introduction of Kerberos. What is Kerberos?. Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography. Why needs Kerberos?. The Internet is an insecure place. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introduction of  Kerberos

Introduction of

Kerberos

Page 2: Introduction of  Kerberos

What is Kerberos?

• Kerberos is a network authentication protocol.

• It is designed to provide strong authentication for client/server applications by using secret-key cryptography.

Page 3: Introduction of  Kerberos

Why needs Kerberos?

• The Internet is an insecure place. • Many Internet protocols ~ no security. • malicious hackers ~ "sniff" passwords • Application• Sending unencrypted passwords ~

extremely vulnerable. • Client/server ~ the client program to be

"honest" • Client/server ~ the client to restrict its

activities to those which it is allowed to do

Page 4: Introduction of  Kerberos

Firewall~ security problems?

• A very bad assumption that "the bad guys" are on the outside ~Most of the really damaging incidents of computer crime are carried out by insiders.

• A significant disadvantage~ Restrict how your users can use the Internet.

• In many places, these restrictions are simply unrealistic and unacceptable.

Page 5: Introduction of  Kerberos

Who ~ Kerberos?

• 1988,MIT, as a solution to these network security problems.

• The Kerberos protocol uses strong cryptography so that a client can prove its identity to a server (and vice versa) across an insecure network connection.

• After this, they can also encrypt all of their communications to assure privacy and data integrity as they go about their business.

Page 6: Introduction of  Kerberos

The Whole Authentication

Page 7: Introduction of  Kerberos

Simplified Principle

Page 8: Introduction of  Kerberos

Two Concepts

• Long-term Key/Master Key :• 使用原则:被 Long-termKey 加密的数据不应该

在网络上传输。• 但是密码却又是证明身份的凭据,所以必须通过

基于你密码的派生的信息来证明用户的真实身份,在这种情况下,一般将你的密码进行 Hash 运算得到一个 Hash code, 这叫做 Master Key 。

• 由于 Hash Algorithm 是不可逆的,同时保证密码和 Master Key 是一一对应的,这样既保证了你密码的保密性,又同时保证你的 Master Key 和密码本身在证明你身份的时候具有相同的效力。

• Short-term Key/Session Key :

Page 9: Introduction of  Kerberos

Where Key ?• Short-termKey

– Session Key ( SServer-Client ) • Kerberos Distribution Center (KDC)

– 所有帐户的 Account Database ~ Master Key

Page 10: Introduction of  Kerberos

KDC SServer-Client

Session Ticket

Page 11: Introduction of  Kerberos

↑ ~ Authenticator

• 只要通过一个双方知晓的 Key 就可以对对方进行有效的认证,但是在一个网络的环境中,这种简单的做法是具有安全漏洞,为此 ,Client 需要提供更多的证明信息,我们把这种证明信息称为 Authenticator

• Authenticator = ClientInfo + Timestamp

• Session Ticket = 被 Server的Master Key 加密过的 (ClientInfo + Session Key )

Page 12: Introduction of  Kerberos

Some Advantages

• Why Timestamp?

• Mutual Authentication (双向认证 )

Page 13: Introduction of  Kerberos

Authentication

Page 14: Introduction of  Kerberos

How Key?

• Kerberos 实际上一个基于 Ticket 的认证方式– 超强的防伪标识:它是被 Server 的 Master Ke

y 加密的 • 而该 Ticket 应由合法的 Ticket 颁发机构获

得– Client 和 Server 双方信任的 KDC

Page 15: Introduction of  Kerberos

TGT

• TGT: Ticket Granting Ticket

• 前面从大体上说明了 KDC 向 Client 分发 Ticket 的过程,而在 Kerberos 中真正的 Ticket Distribution 要复杂一些。

• Client 在从 KDC 那边获得 Ticket 之前,需要先获得这个 Ticket 的认购权证,在 Kerberos 中被称为 TGT : Ticket Granting Ticket , TGT 的分发方仍然是 KDC 。

Page 16: Introduction of  Kerberos

How TGT

Logon Session Key

Page 17: Introduction of  Kerberos

Why TGT?

• Client 解密 Session Key( SKDC-Client)和 TGT 缓存。

• 此后 Client 可以使用 SKDC-Client 向 KDC申请用以访问每个 Server 的 Ticket ,而不再需要 Client 自己的 Master Key 。

• 相对于 Client 的 Master Key 这个 Long-term Key , SKDC-Client 是一个 Short-term Key ,安全保证得到更好的保障,这也是 Kerberos 多了这一步的关键所在。

Page 18: Introduction of  Kerberos

TGT Ticket

Page 19: Introduction of  Kerberos

The Whole Authentication

• 大体上包含以下 3 个子过程:– Client 向 KDC 申请 TGT ( Ticket Granting Tic

ket )。– Client 通过获得 TGT 向 DKC 申请用于访问 Se

rver 的 Ticket 。– Client 最终向为了 Server 对自己的认证向其提

交 Ticket 。

Page 20: Introduction of  Kerberos

The Whole Authentication

• 不过上面的介绍离真正的 Kerberos Authentication 还是有一点出入。

• Kerberos 整个认证通过 3 个 Sub-Protocol分别完成上面列出的 3 个子过程。这 3 个 sub-protocol 分别为:– Authentication Service Exchange– Ticket Granting Service Exchange– Client/Server Exchange

Page 21: Introduction of  Kerberos

The Whole Authentication

Page 22: Introduction of  Kerberos

User2User Sub-protocol

Page 23: Introduction of  Kerberos

Kerberos Advantages

• 1 .较高的 Performance• 2 .实现了双向验证( Mutual Authentication )• 3 .对 Delegation 的支持

– Impersonation 和 Delegation 是一个分布式环境中两个重要的功能。 Impersonation 允许 Server 在本地使用Logon 的 Account 执行某些操作, Delegation 需用 Server 将 logon 的 Account 带入到另过一个 Context 执行相应的操作。 NTLM 仅对 Impersonation 提供支持,而 Kerberos 通过一种双向的、可传递的( Mutual 、 Transitive )信任模式实现了对 Delegation 的支持。

• 4 .互操作性( Interoperability )