introduction of kerberos
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 PresentationTRANSCRIPT
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. • 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
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.
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.
The Whole Authentication
?
Simplified Principle
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 :
Where Key ?• Short-termKey
– Session Key ( SServer-Client ) • Kerberos Distribution Center (KDC)
– 所有帐户的 Account Database ~ Master Key
KDC SServer-Client
Session Ticket
↑ ~ Authenticator
• 只要通过一个双方知晓的 Key 就可以对对方进行有效的认证,但是在一个网络的环境中,这种简单的做法是具有安全漏洞,为此 ,Client 需要提供更多的证明信息,我们把这种证明信息称为 Authenticator
• Authenticator = ClientInfo + Timestamp
• Session Ticket = 被 Server的Master Key 加密过的 (ClientInfo + Session Key )
Some Advantages
• Why Timestamp?
• Mutual Authentication (双向认证 )
Authentication
How Key?
• Kerberos 实际上一个基于 Ticket 的认证方式– 超强的防伪标识:它是被 Server 的 Master Ke
y 加密的 • 而该 Ticket 应由合法的 Ticket 颁发机构获
得– Client 和 Server 双方信任的 KDC
TGT
• TGT: Ticket Granting Ticket
• 前面从大体上说明了 KDC 向 Client 分发 Ticket 的过程,而在 Kerberos 中真正的 Ticket Distribution 要复杂一些。
• Client 在从 KDC 那边获得 Ticket 之前,需要先获得这个 Ticket 的认购权证,在 Kerberos 中被称为 TGT : Ticket Granting Ticket , TGT 的分发方仍然是 KDC 。
How TGT
Logon Session Key
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 多了这一步的关键所在。
TGT Ticket
The Whole Authentication
• 大体上包含以下 3 个子过程:– Client 向 KDC 申请 TGT ( Ticket Granting Tic
ket )。– Client 通过获得 TGT 向 DKC 申请用于访问 Se
rver 的 Ticket 。– Client 最终向为了 Server 对自己的认证向其提
交 Ticket 。
The Whole Authentication
• 不过上面的介绍离真正的 Kerberos Authentication 还是有一点出入。
• Kerberos 整个认证通过 3 个 Sub-Protocol分别完成上面列出的 3 个子过程。这 3 个 sub-protocol 分别为:– Authentication Service Exchange– Ticket Granting Service Exchange– Client/Server Exchange
The Whole Authentication
User2User Sub-protocol
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 )