SECURITY

Deploying a Public Key Infrastructure with Windows Server 2008 R2

2/27/2011 10:08:19 AM
The term Public Key Infrastructure (PKI) is often loosely thrown around, but is not often thoroughly explained. PKI, in a nutshell, is the collection of digital certificates, registration authorities, and certificate authorities that verify the validity of each participant in an encrypted network. Effectively, a PKI itself is simply a concept that defines the mechanisms that ensure that the user who is communicating with another user or computer on a network is who he says he is. PKI implementations are widespread and are becoming a critical component of modern network implementations. Windows Server 2008 R2 fully supports the deployment of multiple PKI configurations, as defined in the following sections.

PKI deployments can range from simple to complex, with some PKI implementations utilizing an array of smart cards and certificates to verify the identity of all users with a great degree of certainty. Understanding the capabilities of PKI and choosing the proper deployment for an organization are subsequently a must.

Defining Private Key versus Public Key Encryption

Encryption techniques can primarily be classified as either symmetrical or asymmetrical. Symmetrical encryption requires that each party in an encryption scheme hold a copy of a private key, which is used to encrypt and decrypt information sent between the two parties. The problem with private key encryption is that the private key must somehow be transmitted to the other party without it being intercepted and used to decrypt the information.

Public key, or asymmetrical, encryption uses a combination of two keys, which are mathematically related to each other. The first key, the private key, is kept closely guarded and is used to encrypt the information. The second key, the public key, can be used to decrypt the information. The integrity of the public key is ensured through certificates, which will be explained in depth in the following sections of this article. The asymmetric approach to encryption ensures that the private key does not fall into the wrong hands and only the intended recipient will be able to decrypt the data.

Exploring Digital Certificates

A certificate is essentially a digital document that is issued by a trusted central authority and is used by the authority to validate a user’s identity. Central, trusted authorities such as VeriSign are widely used on the Internet to ensure that software from Microsoft, for example, is really from Microsoft, and not a virus in disguise.

Certificates are used for multiple functions, such as the following:

  • Secure email

  • Web-based authentication

  • IP Security (IPSec)

  • Code signing

  • Certification hierarchies

Certificates are signed using information from the subject’s public key, along with identifying information, such as name, email address, and so on, and a digital signature of the certificate issuer, known as the Certificate Authority (CA).

Other  
  •  Introduction to Transport-Level Security in Windows Server 2008 R2
  •  Windows Server 2008 : Using Windows Server Update Services
  •  Programming .NET Security : Programming XML Signatures (part 3) - Verifying an XML Signature
  •  Programming .NET Security : Programming XML Signatures (part 2) - Embedding Objects in the Signature
  •  Programming .NET Security : Programming XML Signatures (part 1) - XMLDSIG Explained & Signing an XML Document
  •  Windows Server 2008 : Examining File-Level Security
  •  Server 2008 : Hardening Server Security
  •  Server 2008 : Using the Integrated Windows Firewall with Advanced Security
  •  Server 2008 : Deploying Physical Security
  •  Programming .NET Security : Programming Digital Signatures (part 3) - Using the Signature Formatter Classes
  •  Programming .NET Security : Programming Digital Signatures (part 2) - Using the Implementation Class
  •  Programming .NET Security : Programming Digital Signatures (part 1) - Using the Abstract Class
  •  Programming .NET Security : Digital Signatures Explained
  •  Programming .NET Security : Programming Asymmetrical Encryption
  •  Programming .NET Security : Asymmetric Encryption Explained (part 2) - Creating the Encrypted Data
  •  Programming .NET Security : Asymmetric Encryption Explained (part 1) - Creating Asymmetric Keys
  •  Programmatic Security (part 6) - Assembly-Wide Permissions
  •  Programmatic Security (part 5) - Permission Set Attributes
  •  Programmatic Security (part 4) - Permission Set Classes
  •  Programmatic Security (part 3) - Permission Attributes
  •  
    Most View
    IIS 7.0 : Using Command Line Tools - Working with Failed Request Tracing
    Slim, Light And Mighty Ultrabooks Supertest (Part 3) : Lenovo IdeaPad U300s, HP Envy 14 Spectre, Lenovo U300s
    Windows 7: Using Windows Live Mail (part 2) - Creating, Sending, and Receiving Email
    The big test … Inter Core Power (Part 4) - Samsung RF511
    jQuery 1.3 : An image carousel
    AMD Radeon HD 7970 - The World's Fastest Single-GPU (Part 1)
    SQL Server 2008 : Index design (part 3) - Indexed views
    Acer Aspire V5 Touch – Best Of All Worlds
    Programming with DirectX : Transformation Demo
    Microsoft SQL Server 2005 : Report Management
    Top 10
    ADO.NET Programming : Microsoft SQL Server (part 4) - Working with Typed Data Sets
    ADO.NET Programming : Microsoft SQL Server (part 3) - Using Stored Procedures with DataSet Objects
    ADO.NET Programming : Microsoft SQL Server (part 2) - Using SQL Server Stored Procedures
    ADO.NET Programming : Microsoft SQL Server (part 1) - Connecting to SQL Server, Creating Command Objects
    Windows Phone 8 In-Depth Review (Part 6)
    Windows Phone 8 In-Depth Review (Part 5)
    Windows Phone 8 In-Depth Review (Part 4)
    Windows Phone 8 In-Depth Review (Part 3)
    Windows Phone 8 In-Depth Review (Part 2)
    Windows Phone 8 In-Depth Review (Part 1)