The pervasiveness and efficiency of the Internet infrastructure have greatly-affected the business needs of many organizations in recent years. Organizations have been migrating more toward the Internet business model for interacting with partners, suppliers, contractors, and customers. The same infrastructure provides organizations with a cost-effective and easy-to-administer medium to extend their internal resources to their mobile work force. However, effective use of the Internet as a platform for conducting transactions hinges on ensuring the integrity and privacy of communications exchanged over the Internet.
Secure Networking with Windows 2000 and Trust Services is an authoritative resource that addresses the security issues involved in using the Internet as a platform for conducting commerce. It explains public-key technology and describes techniques for ensuring secure transactions with business partners and consumers. For organizations looking into scalable, remote-access solutions, this book provides basic material on virtual private networks (VPNs) and includes practical guidelines for using the built-in security features of the Windows 2000 operating system. Basic material and sample programming projects explain how to use the Kerberos authentication service to secure internal networks while sharing resources with the external world via the Internet, intranets, and extranets. In addition, the authors explain the role of trust services in ensuring the integrity of secure electronic commerce systems.
Throughout the book, the authors provide thorough explanations of such key topics as:
The accompanying CD-ROM contains sample-programming projects written in Visual C++ for the Windows 2000 server operating system. These projects demonstrate how to "Kerberize" client-server based applications and publish secure services in the Windows 2000 Active Directory.
(Each chapter concludes with a “Summary” and with “References.”)
I. THE KERBEROS NETWORK AUTHENTICATION SERVICE.1. The Kerberos Network Authentication Service.
Basic Concepts of Kerberos.
Key Distribution and Management.
Time Stamps for Nonces.
Different Views of Kerberos.
Policy Configuration Options.
Public Key Extensions.
Limitations of Kerberos.
Delegation of Authentication.
The Use of Network Addresses in Tickets.
Authenticators for Tickets.
The Kerberos Protocol.
Authentication Service Exchange.
Ticket-Granting Service Exchange.
References.2. Kerberos in Windows 2000.
Authentication: Kerberos versus NTLM.
Support for Multitier Applications.
Simplified Trust Management.
Interoperability with Existing Trust Infrastructures.
Smart Card Support.
Windows 2000 Implementation of Kerberos.
Key Distribution Center (KDC).
Kerberos Security Support Provider.
Authorization in Windows 2000.
Preparation of Authorization Data by the KDC.
Interactive Log-On in Windows 2000.
Using a Password.
Using a Smart Card.
II. PUBLIC KEY TECHNOLOGY.3. Public Key Technology.
Overview of Cryptography.
Symmetric Key Cryptography.
Public Key Cryptography.
Public Key Cryptography Schemes.
Message Digest Algorithms.
RSA Digital Signatures.
DSS Digital Signatures.
Elliptic Curve Digital Signatures.
Considerations for Symmetric Key Cryptosystems.
Considerations for Public Key Cryptosystems.
Secure, Scalable Key Distribution.
X.509 Digital Certificates.
Encoding of Certificates.
Certificate Revocation Lists (CRLs).
Methods for Propagating CRL Information.
Certificate Generation, Distribution, and Revocation.
Public Key Infrastructures (PKIs).
Structures among Multiple Certification Authorities.
Certification Path Discovery and Validation.
References.4. Public Key Technology in Windows 2000.
Public Key Security.
Secure E-Commerce: TLS/SSL.
Supporting Distributed Business Partners: TLS/SSL Client-Side Authentication.
Strong Network Authentication: Smart Cards.
Distributing Authenticated Code: Authenticode 2.0.
Laptop and Desktop File System Security: EFS.
Secure E-Mail: S/MIME.
Network-Level Secure Communications: IPsec.
Public Key Security Architecture.
Cryptographic Service Providers.
Public Key Infrastructure.
Certificate Chain Building.
Revocation Status Checking.
Cryptographic Algorithms and Key Lengths.
Certificate Trust Lists.
Public Key Infrastructure Standards.
Interoperability with Third-Party PKIs.
PKI to PKI.
PKI to Application.
Application to Application.
References.5. Using Public Key Technology in Windows 2000.
Designing a Certification Authority Structure.
Factors Influencing the Design of a CA Structure.
Models for Operating a Certification Authority.
Models for CA Structures.
Using Certificate Services.
Enterprise versus Standalone Certification Authorities.
Installing Certificate Services.
Administering the Certificate Services CA.
Certificate Enrollment for Users and Computers.
Enrollment Using the Certificate Request Wizard.
Distribution of Root CA Certificates to Computers.
III. IP SECURITY AND VIRTUAL PRIVATE NETWORKS.6. IP Security (IPsec).
Models for Combining AH and ESP Protocols.
Points of Implementation.
Limitations of IPsec and Performance Considerations.
Key Management in IPsec.
Internet Security Association and Key-Management Protocol (ISAKMP).
Internet Key Exchange.
References.7. Virtual Private Networks (VPNs).
Authentication, Authorization, Accounting, Auditing, and Alarming.
Remote-Access Virtual Interfaces and Routing Considerations.
Virtual Private Networking with L2TP/IPsec.
L2TP/IPsec Two-Level Authentication.
IPsec Confidentiality, Data Origin Authentication, and Integrity Services.
L2TP/IPsec Packet Encapsulation.
Remote-Access Authentication Protocols in Windows 2000.
VPNs and Firewalls.
VPN Server behind the Firewall.
VPN Server in front of the Firewall.
References.8. Using IPsec and VPNs in Windows 2000.
Predefined IPsec Policies.
Custom IPsec Policies.
Remote-Access Policy Configuration.
Remote-Access Policy Conditions.
Remote-Access Policy Permission.
Remote-Access Policy Profile.
Setting up VPNs.
Remote-Access VPN Server Setup.
VPN Client Setup.
Router-to-Router VPN Connections.
IV. TRUST BEYOND THE ENTERPRISE.9. Extending Trust beyond the Enterprise.
Local Registration Authorities.
The LRA Model.
LRA Deployment Models.
VeriSign OnSite Service.
Certificate Enrollment and Distribution.
Controlling Access to the LRAA Web Site.
Public versus Private Certification.
VerSign OnSite Automated Authentication Service.
Networking of Local Trust Networks.
VeriSign Gateway Service.
VeriSign Go Secure! for Microsoft Exchange.
References.10. Trust in Business-to-Business Marketplaces.
B2B Net Marketplaces.
Distributed Trust Management.
B2B Trust Services.
V. SECURE NETWORK PROGRAMMING IN WINDOWS 2000.11. Kerberizing Applications Using Security Support Provider Interface.
SSPI and Windows 2000 Security Architecture.
Impersonation and Delegation.
Sample Project: Using SSPI to Kerberize Applications.
References.12. Service Publication in Windows 2000 Active Directory.
Service Publication and Connection Points.
Service Connection Point (SCP).
Service Publication and Security.
Service Principal Names.
Sample Project: Using Connection Points for Service Publication.Summary.
The efficancy and cost-effectiveness of the Internet as a platform for conducting transactions have greatly impacted the business needs of many organizations during the past couple of years. To stay competitive, organizations need to use extranets to interact with their business partners, suppliers, contractors, and consumers around the globe. Meanwhile, the rapid growth of the Internet has been accelerating the trend toward telecommuting, challenging the information systems (IS) managers to find easy-to-administer and scaleable ways to extend their intranets to their mobile workforce. While IS managers and network administrators are facing these new tough challenges, they must continue to improve the ways their internal users log on to the network and access the network resources.
The solutions engineered to address these needs face challenging security problems. Engineers must design an effective mechanism to authenticate external; distributed business partners and enforce their access rights. The remote-access solutions based on the Internet infrastructure must ensure the authenticity and privacy of communications, be scaleable, have acceptable interoperability characteristics, and withstand attacks aimed at compromising internal networks. The authentication and authorization system for managing an internal network must scale to thousands of users and millions of resources.
We cannot, however, solve these security problems by sprinkling a magic security powder over existing insecure protocols or design new security protocols overnight. Ideally, engineers must design their solutions around a handful of existing, core security protocols, which have been scrutinized for potential weaknesses for a number of years. Furthermore, system designers must carefully analyze the toolkits that implement security protocols for design and implementation flaws that might lead to security breeches. System administrators must be conscious of the security issues of the products that they deploy; end users must understand the security properties of the systems they use and should not have unreasonable exceptions.
External trust infrastructures are growing at a rapid rate to enable secure transactions over the Internet. Many organizations rely on these infrastructures to provide trust for their internal systems or interoperate with external systems. System engineers must understand how trust ensures the integrity of the secure electronic commerce systems. They must know about the trust infrastructures that address assurance, confidence, liability, insurance, agreements, and accreditation of such systems. Equally important, they need to know how to integrate their local trust networks with existing external trust networks.
We have written this book to address the security requirements of organizations that need to extend their business reach through the Internet. We explore the public-key technology and discuss the relevant protocols and techniques for securing communications with business partners, suppliers, and contractors. For organizations that are looking for scaleable, easy-to-administer remote-access solutions using the Internet, we explain the Internet Protocol Security Protocol (IPsec) and virtual private networks (VPNs). The Kerberos authentication system is gaining popularity for the authentication of internal users who need to log on to a network and use its resources. This book starts out with a presentation of Kerberos and presents it as a secure, scaleable authentication system. Finally, we analyze the trust issues in secure electronic commerce systems and provide background material on trust services.
We have deliberately structured this book around the secure networking capabilities of the Windows 2000 operating system for two reasons. First, many organizations that have deployed the Windows NT 4.0 operating system need to find out about the security features of Windows 2000. These organizations need information on Kerberos, which is the default authentication system within a Windows 2000 domain, the public-key enhancements of Windows 2000, and the new IP security capabilities built into the operating system. The information contained in this book should equally appeal to organizations that have not deployed Windows NT 4.0, but are investigating the Windows 2000 operating system.
Second, We wish to encourage our readers to begin experimenting with security products and toolkits. We want readers to deploy pilot systems, come to grips with the basic building blocks of systems that implement security protocols, and share their learning process with others. We believe that experimentation is an essential part of the learning process and leads to systems that operate within their expected integrity boundaries in their deployed environments. The Windows 2000 security infrastructure and the built-in security capabilities provide an excellent educational environment for such experimentations.
Even though we have dedicated a lot of material to discussing the security features of Windows 2000, this book should appeal to people who want to know about the principles of secure networking and organizations that are running other operating systems. We have been very careful not to mix the presentation of the theory of secure networking with the practice of secure networking in Windows 2000. Dedicated chapters discuss the fundamentals of Kerberos, public-key technology, IP security, virtual private networks, and trust in secure electronic commerce systems.
At the same time that we encourage our readers to experiment with new security products and deploy prototype systems, we have no illusion that technology alone cannot provide absolute security. Scientists analyze security protocols by examining their vulnerabilities, determining what attacks are possible, and formulating a defense against the attacks based on the capabilities of potential attackers. The actual environment within which a security protocol operates impacts this threat analysis and may create additional vulnerabilities. Furthermore, it is difficult and costly to field test new products for security weaknesses. Vendors may find it more practical to deploy their products in the marketplace without adequate testing and then patch up any security holes discovered by elite hackers. Unfortunately, the rate of attacks is increasing and the nature of attacks is getting more pernicious. Instead of attacking random university machines, attackers are now targeting the Internet infrastructure and going after routers and high-level domain name servers. We would like to emphasize the importance of system monitoring and encourage security specialists to re-evaluate their security policies and practices for detecting intrusions.
We have written the book with five groups of readers in mind:
Although we have taken pains to progress our discussion in a logical fashion and to enable a sequential reading of the book, you may prefer to form your own route through the chapters and the different parts of the book.
This book uses the engineering discipline to address the networking requirements for securing business transactions over the insecure Internet and securing access to internal networks. We have selected topics that range from introducing the fundamentals of the Kerberos authentication system, public-key technology, and virtual private networks to analyzing the trust issues in secure electronic commerce systems. To aid the learning process, we have provided chapters that discuss the fundamentals of securing networking in the context of the Windows 2000 operating system.
This book cannot possibly provide a comprehensive guide for system administrators who need detailed, step-by-step instructions on configuring the Windows 2000 security features. Although some chapters selectively drill down to such configuration guides, we leave it up to other existing books or follow-up books to provide an administration guide for the system administrators in charge of deploying the Windows 2000 operating system.
Furthermore, because of the broad scope of this book, we had to limit the presentation of the general material on the principles of securing networking. We refer our readers to other books if they feel they need more information on a presented topic. In particular, two books deserve recommendation as suggested companions to this book: Digital Certificates: Applied Internet Security (Addison-Wesley) written by Jalal Feghhi, Jalil Feghhi, and Peter Williams, and Secure Computing--Threats and Safeguards (O'Reilly) written by Rita C. Summers. The former book focuses on public-key certificates and public-key infrastructures (PKIs); the latter book contains a digest of much of the available published research in the area of secure computing.
The book consists of five parts and two appendices. The first part provides fundamental material on the Kerberos authentication service and goes over the Kerberos system in Windows 2000. The second part contains general information on the public-key technology and discusses the public-key-based features of Windows 2000. In the third part, we provide an overview of virtual private networks and the IP Security Protocol. Furthermore, we discuss the built-in capabilities of Windows 2000 for supporting virtual private networks based on the IP Security Protocol. This part also contains a deployment project to help a programmer or system administrator obtain hands-on experience with setting up the Windows 2000 Routing and Remote Access Service.
We present external trust infrastructures in the fourth part of the book and explain how local trust networks created by the Windows 2000 Certificate Services (or other certificate servers) can plug into these external trust networks. This part demonstrates how to set up a local certificate issuing system that outsources key management to the VeriSign OnSite system. Furthermore, we analyze the role of trust in secure electronic commerce systems. The last part of the book gears toward programmers who need to Kerberize Windows 2000 applications and perform service publication in Windows 2000 Active Directory. You can refer to the part descriptions that we have provided for each part of the book to find out more information about the material covered in each part.
We have also provided two appendices. Appendix A contains a glossary of the security terms pertinent to the subject of our book. Appendix B contains the acronyms used throughout this book.
The last two chapters contain sample projects that are developed and tested using the Windows 2000 Server operating system, Microsoft Platform SDK August 2000 Edition and Visual C++ Version 6.0. These projects demonstrate how to kerberize client-server-based applications and publish secure services in the Windows 2000 Active Directory. The companion CD-ROM contains the complete source code for these projects.