Strong user authentication is one of the most fundamental identity management services: It's a key building block for securing access to resources and for the safe exchange of identity data between organizations.
User authentication solutions that bundle multiple authentication factors (e.g., knowledge of a PIN or password, biometric data such as a fingerprint, possession of some device) make up the bulk of today's strong authentication market offerings. Popular examples of strong authentication solutions are smart cards and USB tokens.
If you've tried to deploy smart cards or USB tokens in a Microsoft public key infrastructure (PKI) environment, you know that Windows lacks advanced smart card and USB token deployment, management, and maintenance features. Now Microsoft is tackling this space with Certificate Lifecycle Manager (CLM), which can also add value for certificate management in Windows PKI deployments that don't use smart cards or USB tokens.
CLM's most important characteristics are its ability to ease the deployment
and administration of certificates, smart cards, and USB tokens, and its flexibility.
Let's look first at how CLM eases administration and what makes it such an adaptable
tool. Then I'll explain the CLM components and architecture.
Origin and Competition
CLM is Microsoft's rebranded and revamped version of idNexus, a product the
company obtained through the acquisition of Alacris in 2005. At the time of
writing, CLM Beta 1 was available for download and Microsoft was considering
making CLM available as a Microsoft System Center software offering—Microsoft
wasn't intending to include the CLM code in Windows Server distributions (unlike
the Windows PKI services) or to bundle it with the company's main identity management
solution, Microsoft Identity Integration Server (MIIS).
Deploying CLM is relatively straightforward: The CLM installation program comes with a wizard that automatically configures the main CLM components.
Examples of competing products that offer similar functionality are Intercede's
MyID Corporate (http://www.intercede.co.uk),
Athena Smartcard Solutions' AthenaCard Management System (CMS— http://www.athena-scs.com),
the Aladdin Token Management System (TMS—http://www.aladdin.com),
and the SafeNet Card Management System (CMS— http://www.safenet-inc.com).
Easy Administration
CLM offers a single point of administration for certificate, smart card, and
USB token management. From the CLM Web-based management interface (shown in
Figure 1), you can manage the lifecycle of
the certificates and smart cards of users defined in your Active Directory (AD).
In Windows PKI environments that don't have CLM deployed, you must use multiple Microsoft Management Console (MMC) snap-ins and command-line tools to get the same administrative jobs done. For example, without CLM, to define certificate properties, you must use the MMC Certificate Templates snap-in, but to approve or deny user certificate requests, you would use the MMC Certification Authority snap-in or the certutil.exe command-line tool.
With CLM, you can enroll users for certificates or a smart card, approve or
deny certificate requests, revoke certificates, unblock smart cards, define
certificate properties, and generate reports related to the use of certificates
and smart cards—all from a single interface.
The CLM management interface also provides a unified tool for interfacing with
multiple Windows Certificate Authorities (CAs). You can use the CLM interface
to send certificate issuance and revocation requests to different Windows CAs
in your environment.
Another feature that PKI administrators will appreciate is CLM's powerful reporting
capabilities, which let you easily generate detailed reports of the certificate
and smart card use in your AD environment. Figure
2, shows a sample CLM report that gives a CLM request type breakdown for
a selected time period.
Besides the management Web interface, CLM includes a Web interface that lets
users manage their personal certificate and smart card details. From this interface,
users can request certificates, permanent smart cards, and temporary smart cards;
view their certificates and smart card details; and change their smart card's
PIN.
Flexibility
CLM is a flexible certificate and smart card management tool for the enterprise.
You can easily customize CLM's logic to fit your organization's certificate
and smart card management needs, and you can do most of the customizations from
the CLM management interface—no or very little custom coding is required.
Organizations that want to hide certain features from the CLM interface or include
corporate branding on the CLM Web pages might need to make some small adjustments
in CLM's Web interface and associated logic.
A good example of CLM's flexibility is the ease with which you can adapt the
CLM logic to support either a centralized or decentralized model for the issuance
of smart cards and USB tokens. In the centralized model, an administrator provisions
the smart card or token and sends it to the user, who unblocks it and then uses
it. In the decentralized model, the administrator just sends the smart card
to the user, who then provisions it.
CLM also contains a significant amount of logic that's disabled by default
and that can automate parts of the certificate or smart card issuance process.
For example, organizations can configure CLM to automatically distribute smart
card unblock codes or user smart card enrollment instructions via email.
Finally, CLM has built-in and easily customizable workflow, administrative
delegation, and self-service features. The following examples illustrate these
features:
- Workflow—from the CLM interface, you can define the number of certificate
manager approvals that are required before a user is allowed to enroll for
a given certificate type.
- Administrative delegation—a CLM administrator can delegate the approval
of enrollment requests for a subset of the AD user population—for example,
for all users in a particular AD organizational unit (OU)—to another
administrator.
- Self-service—you can allow users to initiate and complete the enrollment
for a given certificate type without any administrator intervention.
Architecture and Components
CLM is a multi-tiered Web application that leverages different Microsoft infrastructure
services and servers. CLM must be installed on a Windows Server 2003 or later
server platform. On the Web server side, CLM requires a Microsoft IIS 6.0 or
later application server that has Microsoft .NET Framework 1.1 installed. On
the Web client side, CLM is optimized to work with Microsoft Internet Explorer
(IE) 6.0 or later.
On the back end, the CLM application communicates with a Windows 2000 Server
or Windows 2003 AD and a SQL Server 2000 Service Pack 3a (SP3a) or later database
server. CLM uses the database to store its configuration and history data.
As far as CA integration is concerned, CLM links to a Windows 2003 enterprise
(i.e., AD-integrated) CA. During the CLM installation process, a CLM-specific
policy module and exit module are installed and enabled on the Windows CA (as
Figure 3 shows). The policy module allows the Windows CA to add CLM-specific
X.509 attributes to the certificates it issues. The exit module allows the Windows
CA to communicate with the CLM SQL Server database. These modules do their work
behind the scenes; you really don't work with them directly with the exception
of some configuration options that Figure
3 shows.
The CLM installation wizard extends the AD schema with a set of CLM-specific
objects and attributes. CLM uses these AD objects to store the CLM certificate
and smart card profile information. CLM profiles contain the management policies
that are linked to a given certificate or smart card type. These policies include
the enrollment, recovery, renewal, revocation, disabling, unblocking (for smart
cards only), and duplication (for smart cards only) policies. You define CLM
profiles, their properties, and their related management policies in the Edit
Profile Template interface (shown in Figure
4), which you access through the Administration\Manage profile templates
option in the CLM management interface.
CLM also leverages AD to store CLM user and administrator data and to define
CLM administrative delegation. For the latter purpose, the CLM installation
wizard extends the AD authorization model by adding the following CLM-specific
permissions to AD: CLMS Audit, CLMS Request Enroll, CLMS Enrollment Agent, CLMS
Request Recover, CLMS Request Renew, CLMS Request Revoke, CLMS Request Unblock
Smart Card, and CLMS Enroll.
You can use these CLM-specific permissions to define how users and groups can
interact with the CLM system. For example, you can specify that a particular
user can initiate a certificate request to the CLM system or that a particular
administrator can request the CLM system to revoke a certificate.
The CLM-specific permissions can be set on AD user, group, and CLM profile
objects by using the classic AD management tools. Figure
5 shows how you can give an AD user CLM-specific permissions from the MMC
Active Directory Users and Computers snap-in. To give a user permission to enroll
for a particular CLM certificate or smart card type, you must set permissions
on the corresponding CLM profile object. You can do this from the Services\Public
Key Services\Profile Templates node in the MMC Active Directory Sites and Services
snap-in, as Figure 6 shows.
CLM can interface with the smart cards, smart card readers, and USB tokens
from various vendors. To let CLM and Windows interoperate with a particular
smart card, the vendor must make available a Windows CryptoAPI-compliant Cryptographic
Service Provider (CSP) software module. This CSP must also be deployed on all
Windows machines (both clients and servers) on which smart cards, USB tokens,
and CLM will be used. You can find a list of preferred Microsoft CLM smart card
vendors at http://www.microsoft.com/windowsserversystem/clm/partners.mspx.
As previously mentioned, CLM-integrated management of smart cards or USB tokens
in an AD environment also requires the installation of CLM client software,
which comes with the CLM server distribution package. Included in the CLM client
is a tool that lets users reset their smart card or USB token PIN without administrator
intervention.
Focus on Identity
CLM is another proof of how Microsoft is gradually becoming an important identity
management solution player. Over the last few years, the company has been ramping
up in the identity space by extending the reach of the identity management services
that are bundled with its OS platforms. Microsoft now offers identity management
solutions that can cover non-Microsoft platforms and applications: Good examples
are the Microsoft provisioning solution (the aforementioned MIIS), UNIX integration
services (Services for UNIX—SFU—and Windows 2003 R2), and last but
not least, Microsoft's PKI solution (bundled with Win2K and Windows 2003) and
CLM. You can find more information about CLM at http://www.microsoft.com/windowsserversystem/clm/default.mspx.