Windows 2000 Kerberos Authentication
Total Page:16
File Type:pdf, Size:1020Kb
Operating System Windows 2000 Kerberos Authentication White Paper Abstract The next generation of the Microsoft® Windows® operating system will adopt Kerberos as the default protocol for network authentication. An emerging standard, Kerberos provides a foundation for interoperability while enhancing the security of enterprise-wide network authentication. Windows 2000 implements Kerberos version 5 with extensions for public key authentication. The Kerberos client is implemented as a security provider through the Security Support Provider Interface. Initial authentication is integrated with the Winlogon single sign-on architecture. The Kerberos Key Distribution Center (KDC) is integrated with other Windows 2000 security services running on the domain controller and uses the domain’s Active Directory as its security account database. This white paper examines components of the protocol and provides detail on its implementation. © 1999 Microsoft Corporation. All rights reserved. The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. Microsoft, Active Desktop, BackOffice, the BackOffice logo, MSN, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other product and company names mentioned herein may be the trademarks of their respective owners. Microsoft Corporation • One Microsoft Way • Redmond, WA 98052-6399 • USA 0999 &217(176Ã ,1752'8&7,21 Authentication in Windows 2000 1 Benefits of Kerberos Authentication 1 Standards for Kerberos Authentication 2 Extensions to the Kerberos Protocol 3 29(59,(:Ã2)Ã7+(Ã.(5%(526Ã35272&2/ Basic Concepts 4 Authenticators 4 Key Distribution 6 Session Tickets 7 Ticket-Granting Tickets 9 Authentication Across Domain Boundaries 10 Subprotocols 11 AS Exchange 11 TGS Exchange 12 CS Exchange 13 Tickets 14 What Is in a Ticket 14 What Clients Know About Tickets 15 How the KDC Limits a Ticket’s Lifetime 15 What Happens When Tickets Expire 16 Renewable TGTs 16 Delegation of Authentication 17 Proxy Tickets 17 Forwarded Tickets 18 .(5%(526Ã&20321(176Ã,1Ã:,1'2:6Ã Key Distribution Center 19 Account Database 19 Kerberos Policy 20 Delegation of Authentication 21 Preauthentication Error! Bookmark not defined. Kerberos Security Support Provider 22 Credentials Cache 23 DNS Name Resolution 24 IP Transport 24 $87+25,=$7,21Ã'$7$ Access Control in Windows 2000 26 How the KDC Prepares Authorization Data 27 How Services Use Authorization Data 28 Why Authorization Data Is Signed 29 ,17(5$&7,9(Ã/2*21 The Logon Process 30 Password Logon 31 Smart Card Logon 33 Preauthentication Data 34 5(027(Ã/2*21 Security Support Provider Interface 35 Security Support Provider Negotiation 36 Example: Opening a File on a Remote Server 36 Negotiating a Security Support Provider 36 How the Client Initiates Authentication 37 How the Server Responds 37 Mutual Authentication 37 Example: Cross-Domain Authentication 38 ,17(523(5$%,/,7< Scenarios 41 For More Information 42 ,1752'8&7,21Ã This paper provides a technical introduction to how the Microsoft® Windows® 2000 operating system implements the Kerberos version 5 authentication protocol. The paper includes detailed explanations of important concepts, architectural elements, and features of Kerberos authentication. The first section, “Overview of the Kerberos Protocol,” is for anyone unfamiliar with Kerberos authentication. Following this introduction to the protocol are several sections with details of Microsoft’s implementation in Windows 2000. The paper concludes with a brief discussion of requirements for interoperability with other implementations. $XWKHQWLFDWLRQÃLQÃ:LQGRZVÃÃ Windows 2000 supports several protocols for verifying the identities of users who claim to have accounts on the system, including protocols for authenticating dial-up connections and protocols for authenticating external users who access the network over the Internet. But there are only two choices for network authentication within Windows 2000 domains: • Kerberos Version 5. The Kerberos version 5 authentication protocol is the default for network authentication on computers with Windows 2000. • Windows NT LAN Manager (NTLM). The NTLM protocol was the default for network authentication in the Windows NT® 4.0 operating system. It is retained in Windows 2000 for compatibility with downlevel clients and servers. NTLM is also used to authenticate logons to standalone computers with Windows 2000. Computers with Windows 3.11, Windows 95, Windows 98, or Windows NT 4.0 will use the NTLM protocol for network authentication in Windows 2000 domains. Computers running Windows 2000 will use NTLM when authenticating to servers with Windows NT 4.0 and when accessing resources in Windows NT 4.0 domains. But the protocol of choice in Windows 2000, when there is a choice, is Kerberos version 5. %HQHILWVÃRIÃ.HUEHURVÃ$XWKHQWLFDWLRQÃ The Kerberos protocol is more flexible and efficient than NTLM, and more secure. The benefits gained by using Kerberos authentication are: • More efficient authentication to servers. With NTLM authentication, an application server must connect to a domain controller in order to authenticate each client. With Kerberos authentication, the server does not need to go to a domain controller. It can authenticate the client by examining credentials presented by the client. Clients can obtain credentials for a particular server once and reuse them throughout a network logon session. • Mutual authentication. NTLM allows servers to verify the identities of their clients. It does not allow clients to verify a server’s identity, or one server to verify the identity of another. NTLM authentication was designed for a network environment in which servers were assumed to be genuine. The Kerberos protocol makes no such assumption. Parties at both ends of a network connection can know that the party on the other end is who it claims to be. Windows 2000 White Paper 1 • Delegated authentication. Windows services impersonate clients when accessing resources on their behalf. In many cases, a service can complete its work for the client by accessing resources on the local computer. Both NTLM and Kerberos provide the information that a service needs to impersonate its client locally. However, some distributed applications are designed so that a front-end service must impersonate clients when connecting to back-end services on other computers. The Kerberos protocol has a proxy mechanism that allows a service to impersonate its client when connecting to other services. No equivalent is available with NTLM. • Simplified trust management. One of the benefits of the Kerberos protocol is that trust between the security authorities for Windows 2000 domains is by default two-way and transitive. Networks with multiple domains no longer require a complex web of explicit, point-to-point trust relationships. Instead, the many domains of a large network can be organized in a tree of transitive, mutual trust. Credentials issued by the security authority for any domain are accepted everywhere in the tree. If the network includes more than one tree, credentials issued by a domain in any tree are accepted throughout the forest. • Interoperability. Microsoft’s implementation of the Kerberos protocol is based on standards-track specifications recommended to the Internet Engineering Task Force (IETF). As a result, the implementation of the protocol in Windows 2000 lays a foundation for interoperability with other networks where Kerberos version 5 is used for authentication. 6WDQGDUGVÃIRUÃ.HUEHURVÃ$XWKHQWLFDWLRQÃ The Kerberos protocol originated at MIT more than a decade ago, where it was developed by engineers working on Project Athena.1 The first public release of the protocol was Kerberos version 4. Following wide industry review of the protocol, its authors developed and released Kerberos version 5. That version is now on a standards track with the IETF. The implementation of the protocol in Windows 2000 closely follows the specification defined in Internet RFC 1510.2 In addition, the mechanism and format for passing security tokens in Kerberos messages follows the specification defined in Internet RFC 1964.3 1 Miller, S., Neuman, C., Schiller, J., and J. Saltzer, “Section E.2.1: Kerberos Authentication and Authorization System,” MIT Project Athena, Cambridge, MA, December 1987. 2 Kohl, J., and C. Neuman, “The Kerberos Network Authentication Service (V5),” RFC 1510, September 1993. 3 Linn, J., “The Kerberos Version 5 GSS-API Mechanism,” RFC 1964, June 1996. Windows 2000 White Paper 2 ([WHQVLRQVÃWRÃWKHÃ.HUEHURVÃ3URWRFROÃ Windows 2000 implements extensions to the Kerberos protocol that permit initial authentication using public key certificates rather than conventional shared secret keys. This enhancement allows the protocol to support interactive logon with a smart card. The extensions for public key authentication are based on a draft specification submitted to the IETF working group by a number of third parties with interests in public key technology.4 Microsoft is participating in the standards