• 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

    Cryptographic Elements in Windows Server 2003

    In 9th grade science class, my good buddy Mark Roff and I would exchange secret notes. Our code used a system of numerical letter displacements based on pages from the Bantam paperback edition of Lord of the Rings. We included the page numbers in the notes spelled out in High Elvish runes with the certain knowledge that we were the only two kids in the school capable of understanding them. We would fold the notes in a certain way so that we knew they came from each other and that no one else had opened them.

    Needless to say, a seasoned cryptographer would not have puzzled long over our notes. (To be fair, Mark was capable of constructing a much more sophisticated system but he kept it simple for my benefit.) Despite their lack of sophistication, though, the notes contained all the elements of a modern PKI: an encryption algorithm, a unique cipher key, a way of exchanging the key in secrecy, and a way to validate the integrity of the process.

    Encryption Methods

    The cryptographic services in Windows Server 2003 use two general encryption methods:

    • Block. A block cipher divides data into chunks, pads the last chunk if necessary, and then encrypts each chunk in its turn. The better ciphers use the output of one encrypted block as the basis for the key for encrypting the next block (cipher block chaining). Most encryption algorithms use block ciphers.

    • Streaming. A streaming cipher uses a series of seemingly random numbers seeded with a cipher key to encrypt a stream of bits. The random number stream is actually a predetermined series of bits based on the cipher key seed, so the stream can be decrypted if the cipher is known. Streaming encryption is much faster than block encryption for bulk data transfers.

    The default crypto providers in Windows Server 2003 support the following algorithms:

    • RC2 and RC5. Ronald Rivest, one of the team of Rivest, Shamir, and Adleman that formed RSA Labs in the early 90s, developed these algorithms. They are block encryption algorithms with variable block and key sizes. This variability makes them difficult to break if the attacker does not know the original sizes when attempting to decrypt captured data.

    • RC4. RC4, also from RSA, is a streaming encryption algorithm that also uses variable key sizes to thwart attacks.

    • DES. The now-outdated Data Encryption Standard (DES) was co-developed by IBM and the U.S. Government. It uses a block algorithm with a 64-bit block and a 40- or 56-bit key. Its chief advantage was speed and exportability. DES was broken quite a while ago and is no longer use by any respectable encryption product.

    • DESX. A modification of DES constructed by Rivest at RSA that sandwiches standard DES encryption between two XOR bit-wise replacement runs, all with different keys.

    • 3DES. Triple-DES is not so much a modification of DES as it is a way of strengthening the final output by running data through the DES engine three times.

    • AES. The newly promulgated Advanced Encryption Standard (AES) uses the Rijndael (pronounced Rhine-doll) algorithm. This algorithm was developed by Joan Daemen and Vincent Rijmen of Belgium. AES will eventually displace DESX and 3DES.

    Cipher Keys

    In general, the longer and more complex the cipher key, the less likely it is that someone can deduce the contents of an encrypted message. This is not necessarily the case, of course. You could have an extraordinarily long key and an extraordinarily simple cipher, but what would be the point?

    There are two types of cipher keys:

    • Symmetric. In this kind of cipher, the same key is used to encrypt and decrypt data.

    • Asymmetric. In this cipher, two keys are mathematically paired together. One is used for encryption, whereas the other is used for decryption.

    Asymmetric keys are associated with slow algorithms that are generally unsuitable for encrypting large amounts of data. Bulk encryption algorithms tend to use symmetric keys, but this presents the challenge of exchanging the key in a secure manner. Most modern systems use a hybrid method with a short-lived symmetric key encrypted with asymmetric key technology. Protecting and validating the asymmetric keys is the job of a PKI.

    Hashes

    Encryption only fulfills two of the goals we set out to achieve, those of confidentiality and integrity. To get authentication and non-repudiation, PKI uses another form of data manipulation, the hash. (A hash is also called a message digest.)

    In contrast to encryption, where the original input can be recovered, hashing scrambles the input with no chance of ever recovering it. If you've seen the last scene of the movie Fargo, you have an idea of how hashing works.

    In its barest form, a hashing algorithm accepts a variable length input and produces a fixed-length output that is highly sensitive to the input. A single bit changed in the input produces dozens of changes to the output. The greater the number of bits in the hash, the more secure the algorithm. It takes longer to create a bigger hash, though, so there is a tradeoff between performance and security.

    Digital signatures use hashing technology to verify a sender's identity. For example, the RSA digital signature method hashes a message (or TCP datagram) and then encrypts the hash with the sender's private key. The recipient hashes the message (or datagram) using the same algorithm and then decrypts the sender's hash using the sender's public key and compares the results. If the hashes match, the sender has been verified.

    The Digital Signature Security Standard, or DSS, uses a similar signing method but generates the key pair using Digital Signature Algorithm (DSA) rather than RSA. DSA is slower but uses the more secure SHA-1 hashing algorithm, making it less likely that an attacker could generate an identical hash with different inputs.

    Hashing is not a true cryptographic process but it is possible to add a cipher key to a hash to produce a kind of cryptographic mulligan stew. This technique is called Hashed Message Authentication Code, or HMAC. It is described in RFC 2104, "HMAC: Keyed-Hashing for Message Authentication." HMAC is used for digital signatures in S/MIME, IP Security (IPSec), and Secure Sockets Layer (SSL). It is also used for obfuscating passwords in Kerberos and NT LanMan (NTLM) Challenge-Response authentication.

    It is theoretically possible to derive a hash by trial and error to produce a collision—that is, by producing a hash that has identical output for the same or dissimilar input. For example, Windows uses hashes to obfuscate passwords. Let's say you have a clear-text password of £oan$hark. The system hashes this password using RSA MD4 to produce a fixed, 128-bit hash that it stores in Active Directory. A password-cracking program can attempt to determine the password (or a substitute for the password) by hashing combinations of letters and numbers using MD4 until it gets a result that matches the hash in Active Directory.

    Windows Server 2003 supports six hashing mechanisms:

    • MD4 and MD5. (MD stands for message digest.) These are RSA algorithms. MD4 is used to hash user passwords in NT and Windows 2000 while MD5 is used to support third-party CHAP (Challenge Handshake Authentication Protocol) authentication for dial-in clients. Both algorithms process inputs in 512-bit blocks and produce a single 128-bit output block. MD5 is computationally more expensive but far more secure.

    • SHA-1 (pronounced Shah One). The Secure Hash Algorithm (SHA) was promulgated by the National Institute of Standards and Technology (NIST) to compliment the Digital Signature Standard (DSS). SHA-1 is based on MD4. It processes input in 512-bit blocks but produces a 160-bit output rather than 128-bit. This makes SHA-1 more secure than MD4 or MD5, all other things being equal. Also, SHA-1 is not as vulnerable to cryptanalysis thanks to the type of algorithm used to do the data scrambling. It is also faster than MD4 or MD5.

    • SHS (Secure Hash Standard). This includes three extensions to the SHA-1 standard with larger digest sizes: SHA-256, SHA-384, and SHA-512. There is no Registry key to select a different algorithm. The application developer must select it from the function library.

      Previous Section Next Section