• Chapter 1. Installing and Configuring Windows Server 2003
  • software development Company Server 2003
  • Chapter 1. Installing and Configuring Windows Server 2003
  • New Features in Windows Server 2003
  • Best Practices
  • Moving Forward
  • Version Comparisons
  • Hardware Recommendations
  • Installation Checklist
  • Functional Overview of Windows Server 2003 Setup
  • Installing Windows Server 2003
  • Post Setup Configurations
  • Functional Description of the Windows Server 2003 Boot Process
  • Correcting Common Setup Problems
  • Chapter 2. Performing Upgrades and Automated Installations
  • New Features in Windows Server 2003
  • NT4 Upgrade Functional Overview
  • Upgrading an NT4 or Windows 2000 Server
  • Automating Windows Server 2003 Deployments
  • Moving Forward
  • Chapter 3. Adding Hardware
  • New Features in Windows Server 2003
  • Functional Description of Windows Server 2003 Architecture
  • Overview of Windows Server 2003 Plug and Play
  • Installing and Configuring Devices
  • Troubleshooting New Devices
  • Moving Forward
  • Chapter 4. Managing NetBIOS Name Resolution
  • New Features in Windows Server 2003
  • Moving Forward
  • Overview of Windows Server 2003 Networking
  • Name Resolution and Network Services
  • Network Diagnostic Utilities
  • Resolving NetBIOS Names Using Broadcasts
  • Resolving NetBIOS Names Using Lmhosts
  • Resolving NetBIOS Names Using WINS
  • Managing WINS
  • Disabling NetBIOS-over-TCP/IP Name Resolution
  • Chapter 5. Managing DNS
  • New Features in Windows Server 2003
  • Configuring a Caching-Only Server
  • Configuring a DNS Server to Use a Forwarder
  • Managing Dynamic DNS
  • Configuring Advanced DNS Server Parameters
  • Examining Zones with Nslookup
  • Command-Line Management of DNS
  • Configuring DHCP to Support DNS
  • Moving Forward
  • Overview of DNS Domain Structure
  • Functional Description of DNS Query Handling
  • Designing DNS Domains
  • Active Directory Integration
  • Configuring DNS Clients
  • Installing and Configuring DNS Servers
  • Configuring Secondary DNS Servers
  • Integrating DNS Zones into Active Directory
  • Chapter 6. Understanding Active Directory Services
  • New Features in Windows Server 2003
  • Active Directory Support Files
  • Active Directory Utilities
  • Bulk Imports and Exports
  • Moving Forward
  • Limitations of Classic NT Security
  • Directory Service Components
  • Brief History of Directory Services
  • X.500 Overview
  • LDAP Information Model
  • LDAP Namespace Structure
  • Active Directory Namespace Structure
  • Active Directory Schema
  • Chapter 7. Managing Active Directory Replication
  • New Features in Windows Server 2003
  • Replication Overview
  • Detailed Replication Transaction Descriptions
  • Designing Site Architectures
  • Configuring Inter-site Replication
  • Controlling Replication Parameters
  • Special Replication Operations
  • Troubleshooting Replication Problems
  • Moving Forward
  • Chapter 8. Designing Windows Server 2003 Domains
  • New Features in Windows Server 2003
  • Design Objectives
  • DNS and Active Directory Namespaces
  • Domain Design Strategies
  • Strategies for OU Design
  • Flexible Single Master Operations
  • Domain Controller Placement
  • Moving Forward
  • Chapter 9. Deploying Windows Server 2003 Domains
  • New Features in Windows Server 2003
  • Preparing for an NT Domain Upgrade
  • In-Place Upgrade of an NT4 Domain
  • In-Place Upgrade of a Windows 2000 Forest
  • Migrating from NT and Windows 2000 Domains to Windows Server 2003
  • Additional Domain Operations
  • Moving Forward
  • Chapter 10. Active Directory Maintenance
  • New Features in Windows Server 2003
  • Loss of a DNS Server
  • Loss of a Domain Controller
  • Loss of Key Replication Components
  • Backing Up the Directory
  • Performing Directory Maintenance
  • Moving Forward
  • Chapter 11. Understanding Network Access Security and Kerberos
  • New Features in Windows Server 2003
  • Windows Server 2003 Security Architecture
  • Security Components
  • Password Security
  • Authentication
  • Analysis of Kerberos Transactions
  • MITv5 Kerberos Interoperability
  • Security Auditing
  • Moving Forward
  • Chapter 12. Managing Group Policies
  • New Features in Windows Server 2003
  • Group Policy Operational Overview
  • Managing Individual Group Policy Types
  • Moving Forward
  • Chapter 13. Managing Active Directory Security
  • New Features in Windows Server 2003
  • Overview of Active Directory Security
  • Using Groups to Manage Active Directory Objects
  • Service Accounts
  • Using the Secondary Logon Service and RunAs
  • Using WMI for Active Directory Event Notification
  • Moving Forward
  • Chapter 14. Configuring Data Storage
  • New Features in Windows Server 2003
  • Functional Description of Windows Server 2003 Data Storage
  • Performing Disk Operations on IA32 Systems
  • Recovering Failed Fault Tolerant Disks
  • Working with GPT Disks
  • Moving Forward
  • Chapter 15. Managing File Systems
  • New Features in Windows Server 2003
  • Overview of Windows Server 2003 File Systems
  • NTFS Attributes
  • Link Tracking Service
  • Reparse Points
  • File System Recovery and Fault Tolerance
  • Quotas
  • File System Operations
  • Moving Forward
  • Chapter 16. Managing Shared Resources
  • New Features in Windows Server 2003
  • Functional Description of Windows Resource Sharing
  • Configuring File Sharing
  • Connecting to Shared Folders
  • Resource Sharing Using the Distributed File System (Dfs)
  • Printer Sharing
  • Configuring Windows Server 2003 Clients to Print
  • Managing Print Services
  • Moving Forward
  • Chapter 17. Managing File Encryption
  • New Features in Windows Server 2003
  • File Encryption Functional Description
  • Certificate Management
  • Encrypted File Recovery
  • Encrypting Server-Based Files
  • EFS File Transactions and WebDAV
  • Special EFS Guidelines
  • EFS Procedures
  • Moving Forward
  • Chapter 18. Managing a Public Key Infrastructure
  • New Features in Windows Server 2003
  • Moving Forward
  • PKI Goals
  • Cryptographic Elements in Windows Server 2003
  • Public/Private Key Services
  • Certificates
  • Certification Authorities
  • Certificate Enrollment
  • Key Archival and Recovery
  • Command-Line PKI Tools
  • Chapter 19. Managing the User Operating Environment
  • New Features in Windows Server 2003
  • Side-by-Side Assemblies
  • User State Migration
  • Managing Folder Redirection
  • Creating and Managing Home Directories
  • Managing Offline Files
  • Managing Servers via Remote Desktop
  • Moving Forward
  • Chapter 20. Managing Remote Access and Internet Routing
  • New Features in Windows Server 2003
  • Configuring a Network Bridge
  • Configuring Virtual Private Network Connections
  • Configuring Internet Authentication Services (IAS)
  • Moving Forward
  • Functional Description of WAN Device Support
  • PPP Authentication
  • NT4 RAS Servers and Active Directory Domains
  • Deploying Smart Cards for Remote Access
  • Installing and Configuring Modems
  • Configuring a Remote Access Server
  • Configuring a Demand-Dial Router
  • Configuring an Internet Gateway Using NAT
  • Chapter 21. Recovering from System Failures
  • New Features in Windows Server 2003
  • Functional Description Ntbackup
  • Backup and Restore Operations
  • Recovering from Blue Screen Stops
  • Using Emergency Management Services (EMS)
  • Using Safe Mode
  • Restoring Functionality with the Last Known Good Configuration
  • Recovery Console
  • Moving Forward
  • Who Should Read This Book
  • Who This Book Is Not For
  • Conventions
  • Acknowledgments
  • About the Author
  • About the Technical Reviewers
  • Index
  • Index A
  • Index B
  • Index C
  • Index D
  • Index E
  • Index F
  • Index G
  • Index H
  • Index I
  • Index J
  • Index K
  • Index L
  • Index M
  • Index N
  • Index O
  • Index P
  • Index Q
  • Index R
  • Index S
  • Index SYMBOL
  • Index T
  • Index U
  • Index V
  • Index W
  • Index X
  • Index Z
  • Preface
  • Previous Section Next Section

    Public/Private Key Services

    Theoretically, users could exchange cipher keys with each user by copying the keys to a disk and transporting the disk using a secure courier. A PKI is a kind of electronic courier service that operates over a highly insecure network.

    Public key technology got its start back in the late 1970's when a couple of guys, Whitfield Diffie and Martin Hellman, developed a way to exchange secret keys right out in the open, the cryptographic equivalent of passing your wallet to the beer guy at a basketball game without worrying that someone will reach in to take a fiver.

    Soon after the introduction of the Diffie-Hellman key exchange method, the trio of Ron Rivest, Adi Shamir, and Len Adleman (founders of RSA Labs) took the idea of mathematically related keys and developed a more general-purpose encryption service using key pairs. Anything encrypted with one key can only be decrypted with the other key in the pair.

    RSA identifies one of the keys as a public key. The public key can be freely distributed. You can spray paint it on the side of a building without fear of compromising your security system. (Here in Phoenix where I live, spray-painting buildings has very nearly replaced newspapers as the primary means of public communication.) The private key is another matter. The private key is heavily protected. PKI entities take another user's public key and use it to encrypt messages that can then only be read by the user with the private key.

    RSA developed secure methods for validating and distributing public keys using certificates. A certificate contains a public key along with information about the key issuer, the key owner, and how long the key is valid.

    RSA continues to be a major force in the development of PKI technology. Visit its web site at www.rsalabs.com.

    Following the release of RSA public/private key exchange technologies, a computer programmer named Phil Zimmerman combined RSA asymmetric keys with a symmetric bulk encryption scheme to produce Pretty Good Privacy (PGP), still one of the most widely used mail encryption applications around. Visit the PGP web site, www.pgp.com. (PGP is now owned by Network Associates, www.nai.com.)

    Network Associates has stopped all new development for their PGP tools and has stated that support will be dropped sometime in 2002. Phil Zimmerman is working to make NAI put the PGP code in the public domain. Refer to the OpenPGP web site at www.openpgp.org for developments in this area.

    From its grassroots beginnings, public key technology has evolved into a systematic method for producing, acquiring, distributing, cataloging, and protecting cryptographic elements. The clearinghouse for PKI information is the PKIX Working Group, chartered by the IETF. For information, visit www.ietf.org/html.charters/pkix-charter.shtml.

    Public Key Technologies in Windows Server 2003

    Windows Server 2003 supports these public key exchange methods:

    • Diffie-Hellman

    • RSA

    • Digital Signature Standard (DSS)

    Diffie-Hellman

    Diffie-Hellman (D-H) is the granddaddy of public key technologies. It is a way to share a secret key across an open network without actually passing the key or an encrypted form of the key. Windows Server 2003 uses D-H to support IP Security (IPSec), Secure Socket Layer (SSL), and Transport Layer Security (TLS).

    In a D-H transaction, a sender and receiver use very large prime numbers and primitive roots of those prime numbers in an engine that produces secret keys. D-H relies on special features of prime numbers and logarithms of prime numbers in modulo algebra. Modulo is a Bizarro world where numbers are congruent if their remainders are equal after having been completely factored by the same number. The common divisor is called a modulus, hence the name. For example, 17/3 yields 5 remainder 2, so 17 mod 3 is 2. Because 23 mod 3 is also 2 (23/3 calculates out to 7 remainder 2), then 23 and 17 are congruent modulo 3.

    In D-H, two entities independently generate a secret random number, Ax from one entity and Bx from the other entity. They each process their random numbers through the D-H engine to produce a public number, Pa and Pb. They exchange these public numbers and then run them through a second part of the D-H engine to produce a secret key. Here's where the magic of modulo algebra comes into play. The separate calculations performed at the two entities produce the same result.

    The end result of this D-H transaction is a shared secret key that the entities can use for encrypting messages between each other. An attacker cannot reverse-calculate the D-H secret key without knowing the original secret random number at one of the entities.

    RSA

    Most of this topic concerns the generation and use of RSA keys, so I won't spend time discussing them now. Unlike Diffie-Hellman, where a key only exists during a particular session, RSA generates persistent keys that can be used for encryption, digital signatures, and so forth. Windows Server 2003 uses RSA for Kerberos. Exchange 2000 uses RSA for S/MIME.

    Digital Signature Standard

    In 1991, the National Institute of Standards and Technology (NIST) published standard 186, the Digital Signature Standard, or DSS. This standard incorporated a different method for generating public/private key pairs than the method used by RSA. The new method is called the Digital Signature Algorithm, or DSA.

    NIST published DSA to address a perceived problem with the RSA method for producing digital signatures. (Only a cynic would think that avoiding the RSA license fees had anything to do with this decision.)

    DSA uses session keys based on the difficulty of deriving discrete logarithms, just as Diffie-Hellman and RSA. The difference lies in the way the keys are used to apply and verify a digital signature. Using RSA, signing a message happens quickly, whereas verifying the signature is relatively CPU intensive. Using DSA, signing a message is the intensive step and the verification is simple. Windows Server 2003 supports both DSA and RSA. It's up to the application designer to decide which to use.

    Windows Server 2003 Cryptographic Services

    Windows Server 2003 uses a set of function libraries and executables to perform cryptographic chores such as generating cipher keys and handling certificates. In Windows 9x and NT, this library is called the Crypto API. In Windows 2000 and Windows Server 2003, it is called the Data Protection API, or DPAPI. The function calls in these libraries are common among all modern Windows platforms, although the underlying executable files are different. This ensures that encrypted and digitally signed data can be freely exchanged between all Windows clients.

    Each discrete set of crypto functions is supported by a Cryptographic Service Provider, or CSP. Microsoft supplies a set of CSPs with Windows Server 2003 to provide core cryptographic services. Third parties add their own CPSs to support their hardware or independent cryptographic functions. Figure 18.1 shows the list of CSPs in the Registry under HKLM | Software | Microsoft | Cryptography | Defaults | Provider.

    Figure 18.1. Registry showing location of keys for Cryptographic Service Providers (CSPs).

    graphics/18fig01.jpg

    This list is actually more complex than necessary. Before export controls were lifted on cryptographic technology, it was necessary for Microsoft to divide CSPs into U.S.-only and exportable versions, typically using a Base and Enhanced moniker. Now that all cryptographic technology in Windows Server 2003 is exportable, there are now only two core CSPs and a few vendor add-ons:

    • RSAenh. This CSP supports industry-standard RSA cryptographic functions along with U.S. Government cryptographic standards. These functions include key generation, certificate requests, hashing, and encryption. This CSP also supports Schannel services for secure web transactions.

    • Dssenh. This CSP supports the U.S. Government's Digital Signature Standard and the more prevalent Diffie-Hellman key exchange transactions.

    • Smart card providers. Windows Server 2003 includes generic interfaces for collecting tokens from smart cards and a set of drivers for Gemplus, Infineon (a spinoff of Siemens Semiconductors), and Schlumberger smart card readers.

    Outlook 2000 and Outlook XP install another CSP, Exchcsp.dll, to support FIPS-140 compliant S/MIME. This provider is documented in a white paper available at csrc.nist.gov/cryptval/140-1/140sp/140sp110.pdf.

    Key Storage

    Windows Server 2003 and XP store a user's crypto keys in the user's profile. Figure 18.2 shows the locations.

    • The user's private keys are stored under Crypto\RSA. The keys are encrypted with a Session key derived from a Master key generated by the Data Protection API, or DPAPI.

    • The Master key is stored under Protect\<userSID>. It is encrypted using a special structure called an HMAC, which stands for Hash-based Message Authentication Code. An HMAC is a hash that combines a block of data with a secret key. The HMAC for the Master key consists of a SHA-1 hash of the Master key itself using the user's password hash as the secret key. This HMAC permits the Master key to be encrypted with a cryptographically strong key that is still derivable from the user's password.

    • The user's public keys are stored under System Certificates\My\Certificates. Copies of the public key certificates are stored in the Registry. If a user is a member of a Windows Server 2003 or Windows 2000 domain, a copy of the user's public key can also be stored in Active Directory.

    Figure 18.2. PKCS key locations in a user profile.

    graphics/18fig02.gif

    If you delete the user's profile, you lose the private keys that are paired with the public keys used to encrypt files and emails. The user then loses the ability to decrypt those files and emails. Be very careful when working with user profiles if you deploy a Windows-based PKI.

      Previous Section Next Section