NSS Group logo

Baltimore Unicert V5

INTRODUCTION

UniCERT is Baltimore Technologies� flagship product.

Using X.509v3 digital certificates, UniCERT provides key management, authentication and non-repudiation facilities for services such as secure e-mail, Internet commerce, secure Web banking, on-line trading and Virtual Private Networks (VPN).

Architecture

The architecture of UniCERT has been designed to be as flexible as possible in order to help it fit a wide range of business and legislatory requirements. The result is a modular structure that allows new components to be individually added, modified, upgraded or removed as the organisation needs evolve.

Separate components can be run on the same machine, or can be placed on separate machines to reduce bottlenecks and allow distribution of workload. All modules communicate either through the underlying Oracle database or via secured (i.e. PKIX CMP) TCP/IP connections.

UniCERT Certification Authority

The Certification Authority (CA) module generates and signs certificates and Certificate Revocation Lists (CRLs), and is the nucleus of a PKI. All trust within the infrastructure depends upon the CA's signature. The CA operates according to its own flexible operational policy, which is controlled by the Certificate Authority Operator (CAO).

Responsibilities include:

  • The CA receives approved certificate and revocation requests from Registration Authorities (RAs) and CAOs, and returns certificates and confirmation messages. 

  • If selected in the registration policy, the CA sends end users' private encryption keys that are marked to be archived to the Key Archive Server (KAS).

  • Certificate Signing � the CA is responsible for signing infrastructure and end-user certificates. The CA also signs certificates for both subordinate (sub) CAs and other CAs in the case of cross certification. 

  • Certificate Revocation Lists (CRLs) and Authority Revocation Lists (ARLs) � The CA signs all revocation information in the form of CRLs, partial CRLs (CDPs) and ARLs. 

  • Optional publication of CRLs and ARLs to disk to provide an easily customisable publication mechanism.

  • Message Signing � all messages sent by the CA are digitally signed. 

  • Message Verification � the CA verifies all messages it receives to ensure integrity and authenticity.

  • All data and audit logs are archived in the CA�s database. All information archived is digitally signed by the CA. Each entry has a unique tracking number.

  • Generation of Key Pairs � the CA generates its own key pair(s).

  • Unique Distinguished Name (DN) and public key check � the CA can optionally check that all certificates being certified have a unique DN and/or public key.

fig1-unicertm-CAarch.png (72547 bytes)
Figure 1 - UniCERT CA Architecture

UniCERT includes various features to support revocation, including:

  • Creation of version 2 Certificate Revocation Lists (CRLs).

  • Creation of an Authority Revocation List (ARL) for revoked UniCERT PKI entities.

  • Revocation Interface � easy-to-use revocation GUIs are available in the CAO and WebRAO.

  • If allowed in the policy, revocation can be requested by end users via the Protocol Handler.

  • The optional inclusion of revocation passwords in certificate policies which allow end-user to revoke their own certificates.

  • Multiple authorisation � multiple WebRAOs can be required to approve a revocation request before the certificate is actually revoked.

  • Publication of CRLs to a directory and/or an OCSP responder.

  • Certificate distribution points (CDPs) � allow for the optional splitting of CRLs into smaller components.

  • Issuer Distribution Point (IDP) in the CRL can be marked as critical or non-critical.

  • Suspension of certificate � a certificate can be suspended rather than revoked allowing for it to be unsuspended or revoked at a later date.

  • Noting reason for revocation � CRL (v2) allows for the inclusion of a revocation reason.

  • Periodically issuing a CRL � the time and frequency of publishing a CRL is configured as part of the CA Operational Policy.

  • Immediate issuance of a CRL � a CAO can manually request the issuance of a CRL.

  • Issuance of CRL on certificate revocation � if a revocation is requested from the RA, the CA Operational Policy can be set to automatically issue a CRL on revocation.

  • Export of all CRLs � all CRLs created by UniCERT can be exported to file to support non-repudiation.

  • Noting time of revocation - CRL (v2) allows for the inclusion of the time with a revoked certificate

UniCERT Certificate Authority Operator

The Certificate Authority Operator (CAO) module is the �security officer� of the PKI. The CAO controls all of the administration functions and grants privileges to other UniCERT modules and operators. There can be multiple CAOs, each with diminished rights, if distributed control is required.

Responsibilities include:

  • Registration Policy Creation � the CAO is responsible for the creation and maintenance of registration policies for the issuance of certificates.

  • Operational Policies � the CAO is responsible for maintaining the operational policies of all the PKI modules (CA, RA, etc). The operational policies control how these modules operate.

  • Authorisation Group Maintenance � the CAO is responsible for assigning Registration Officers (WebRAOs) to Authorisation Groups, and to controlling which Registration Policies can be used by a specific Authorisation Group.

  • PKI Design � the CAO can add new modules to the PKI (new RAs, a sub CA, etc.)

  • Certification of PKI Entities � the CAO can authorise the certification of other PKI entities, such as other CAOs, sub CAs, RAs, and so on. This can include generation of keys for the entity if necessary.

  • Revocation � any certificate can be revoked by the CAO. 

  • The CAO can view certificates that have been issued, and can view the audit logs. 

  • The CAO communicates approved certificate and revocation requests directly with the CA.

  • Message Signing � all messages sent by the CAO are digitally signed. 

  • Message Verification � all messages received by the CAO are verified to ensure integrity and authenticity. 

  • All data and audit logs are archived in the CA�s database. All information archived is digitally signed.

UniCERT Certificate Status Server

The Certificate Status Server (CSS) provides real-time certificate status information to the other UniCERT components. The CSS acts as a server listening for network connections. When a connection is established, the CSS checks for Online Certificate Status Protocol (OCSP) requests.

The CSS responds to OCSP request messages by sending OCSP response messages containing the status of each certificate listed in the request. OCSP is a well-defined ASN.1 protocol that provides a message format to request the status of a certificate, and a message format to respond to such a request.

UniCERT Publisher

The CA certificate typically needs to be made as public as possible � end-users must be able to download the CA certificate and manually trust it, for example, before they can take advantage of the services offered by the PKI. The CA certificate within UniCERT can be exported in a variety of different formats, and is included in PKCS#12 and PKCS#7 responses to end-users. If an X.500 or LDAP directory is being utilised then the certificate can be published to the directory using the Publisher.

The use of a directory in conjunction with UniCERT is optional, but adds considerable functionality. In order to encrypt messages it is necessary to have the recipient�s certificate, and in order to verify a signature one must have access to the signer�s certificate. For these two reasons it is common to store certificates and revocation information (CRLs) in a directory. This directory is made accessible to the user group, and all publishing is handled by the UniCERT Publisher. This is standards based and can be configured to use the Lightweight Directory Access Protocol (LDAP V3). 

The Publisher handles all the publishing requirements of the CA, including the ability to publish to a wide range of different directories (including Microsoft�s Active directory) and OCSP responders, and to be able to publish to multiple directories. It supports flexible publishing schemas, and has the ability to only publish certain types of certificates and CRL/ARLs.

UniCERT also allows certificates and CRLs to be published to disk, opening up possibilities for custom publication mechanisms to be implemented outside of the CA if required.

Responsibilities include:

  • Publication of CA certificates � the Publisher optionally publishes its CA certificates, CRLs and ARLs to one or more LDAP connected directories.

  • Publication of End Entity certificates � the Publisher optionally publishes end entity certificates to one or more LDAP connected directories. Control of whether end entities certificates are published is achieved via configurable filters.

  • Publication of CRLs to OCSP responder � the Publisher optionally publishes CRLs to Online Certification Status Protocol (OCSP) servers.

  • Publication of attributes - the Publisher can optionally publish attributes (which are contained in the certificate certificates) to one or more LDAP connected directories.

  • Creation of directory entries - the Publisher can create directory entries for CAs and end users. Entry names may correspond to the distinguished name (DN) in the certificate, or may be configured to follow a different naming convention.

  • Support for multiple CAs and directories - the publisher can publish to multiple directories, and can handle publication for multiple CAs.

UniCERT Registration Authority

The Registration Authority (RA) acts as a router between RA Operators (WebRAOs), Protocol handlers and the CA. RAs divide the PKI into operational domains. Each operational domain is a separate structure linked to the CA, yet intra-domain confidentiality is maintained at all times. The RA obeys its own operational policy, which is maintained centrally.

fig2-unicertn-RAarch.png (102930 bytes)
Figure 2 - UniCERT RA Architecture

Responsibilities include:

  • The RA communicates approved end-user certificate and revocation requests received from the WebRAOs and Protocol Handlers to the CA. It receives certificates and confirmation messages from the CA and makes them available to the WebRAOs and Protocol Handlers.

  • The RA communicates certificate and revocation requests received from the Protocol Handlers to WebRAOs for authorisation, and sends certificates and informational messages back to the Protocol Handlers.

  • The RA is responsible for initiating end-user certificate rollover, whenever an end-user�s certificate is about to expire and the associated registration policy dictates that a new certificate is to be issued.

  • Message Signing � all messages sent by the RA are digitally signed. 

  • Message Verification � all messages received by the RA are verified to ensure integrity and authenticity.

  • All data and audit logs are archived in the RA�s database. All information archived is digitally signed by the RA. Each entry has a unique tracking number.

UniCERT WebRAO

The WebRAO can authorise certification and revocation requests that have been sent by the Protocol Handlers, or via other WebRAOs. It can also handle face to face registrations. The WebRAOs belong to one or a number of Authorisation Groups, and can only process requests associated with specific registration policies that have been assigned to their Authorisation Groups by the CAOs.

Responsibilities include:

  • The WebRAO can register and authorise certificate requests using Registration Policies that have been defined by the CAOs for their Authorisation Group. 

  • Under the control of the Registration Policies, the WebRAO can register and authorise a face to face certification request, including optionally generating end user keys on a token or in software.

  • Under the control of the Registration Policies, the WebRAO can authorise or reject a certification request received from the Protocol Handlers. 

  • The WebRAO can provide additional authorisation for certification requests received from other WebRAOs or ARM. 

  • The WebRAO can authorise revocation of a certificate issued against Registration Policies that have been defined by the CAOs for their Authorisation Group.

  • Message Signing � all messages sent by the WebRAO are digitally signed. 

  • Message Verification � all messages received by the WebRAO are also verified to ensure integrity and authenticity. 

  • All data and audit logs are archived in the RA�s database. All information archived is digitally signed by the WebRAO. Each entry has a unique tracking number.

UniCERT RA eXchange

The RA eXchange functions as a gateway for remote requests from the protocol handlers and the WebRAO.

Responsibilities include:

  • Receives certification and revocation requests from the Protocol Handlers and the WebRAOs, and submits the requests into the RA database

  • When requested by the Protocol Handlers or the WebRAOs, it retrieves information (certificates, rejection notices, CRLs, operation policies, registration policies) from the RA database.

  • Passes notifications (e.g. certification) to the e-mail protocol handler

UniCERT Protocol Handlers

The Protocol Handlers (PH) are an extensible set of request handlers, that handle certification requests using such protocols as Web, e-mail, Cisco SCEP and PKIX CMP. 

The Protocol Handlers take care of the complexities of each protocol, and pass the registration (or revocation) requests into the RA for onward processing. They also return the resulting certificates.

Responsibilities include:

  • The Protocol Handlers handle the complexities of the various certificate management protocols and pass the registration (or revocation) requests into the RA using a common internal format. Each request is automatically associated with a registration policy (which is then used to control its authorisation path, etc.)

  • If allowed by the registration policy, the Protocol Handlers receive the certificates back from the RA and communicate them to the end user according to the methods allowed by the protocol handler.

  • The e-mail PH retrieves certificate requests in PKCS#10 or PEM format from a POP3 store. The email PH sends back certificates in PKCS#7 (certificate chain), X.509 (binary) or PEM format via a SMTP server. 

  • The email PH distributes e-mail notices, where these have been set up in a registration policy. E-mail notices can be configured to be sent out for any of the following status:

  • Pending - certificate request has been received into system

  • Rejection - certificate request has been rejected

  • Pickup - send out a URL where the certificate can be retrieved

  • Renewal - warns that a certificate is about to expire

  • Certificate - which includes a certificate in response to a certificate request (which may have been requested by another registration method), or from auto renewal via the system.

  • The Web PH provides registration pages which are dynamically built from the registration policies. Through these request pages end users may request certificates via the major browsers (Netscape and Microsoft IE) and via PKI-aware applications capable of generating PKCS#10 certificate requests (e.g. Web servers). The Web PH is able to distribute certificates that have been requested via the Web PH, or where web distribution has been configured in a registration policy.

  • Where allowed by the registration policy, the Web PH supports end-user revocation by providing revocation specific web pages. End users may revoke or suspend their own certificate and must supply a password in order to perform this function. The Web PH, also enables users to query the status of the certificate, and to download CRLs.

  • The SCEP PH receives Simple Certificate Enrolment Protocol (SCEP) requests directly by sockets and returns the certificate in the same manner. SCEP is the certificate request and retrieval method used by Cisco and other VPN vendor devices and software.

  • This PH is used with the Baltimore PKIX CMP Toolkit, and is typically used for custom remote registration/authorisation applications

UniCERT Token Manager

The UniCERT Token Manager can be used to manage multiple PKCS#11 devices and initialise and administer the tokens or smart cards that the hardware device uses. It is possible to change the tokens� PINs, as well as administer the objects stored on tokens or smart cards.

The Token Manager is also used to create crypto profiles. UniCERT v5.0 uses crypto profiles to store the configuration information required to start UniCERT services.

This configuration information can include details of the location of the PSE file, if the PSE is split, and details of any devices used. Each application has its own crypto profile.

UniCERT Advanced Technology

Other modules are also available:

  • Key Archive Server � The Key Archive Server securely backs up and recovers end-user private encryption keys. This allows enterprises to implement PKI without the threat and expense of data loss. The use of the Key Archive Server does not impact upon non-repudiation since private singing keys are never archived.

  • Advanced Registration Module (ARM) - The ARM is an automated registration system that allows PKI solutions to be fully integrated into database or workflow systems. It has been designed to enforce centrally generated security policies and to be easily customisable in order to meet the widest possible range of registration needs.

  • XKMS Server � UniCERT XKMS streamlines key registration and validation processes and also facilitates integration of the UniCERT PKI with any XML-aware application.

  • Timestamp Sever � The Timestamp Severe supplies non-repudiation services by attesting to the existence of a document at a particular time. It does this by cryptographically linking an imprint of a document along with a timestamp.

Installation

The underlying database for UniCERT is Oracle 8.1.7, and UniCERT makes use of Oracle features that allow for multiple million record tables to be created, thus enabling UniCERT to handle millions of certificates. There is no theoretical limit on how big a UniCERT-based PKI may become � the number of certificates that can be managed is purely dependent on the design of the PKI and the choice of hardware.

Each of the UniCERT components (e.g. CAO, CA etc) which has an Oracle connection requires an Oracle client licence. Baltimore bundles Oracle with the UniCERT starter kit with enough licences to install a basic PKI, and can resell additional Oracle licences as required.

Baltimore also interoperates with a number of third party directory servers, since the UniCERT package does not include one. The directory server is only necessary if it is required to publish certificates and CRL�s for LDAP clients, however � all certificate and CRL data is also stored in the Oracle database.

As UniCERT employs secure, encrypted communications between components, it is possible to configure it for intranet or Internet usage. The UniCERT components � such as the CA, RA, and so on �  can be run on separate computers or together on a single system.

UniCERT V5 is undergoing Common Criteria EAL4 certification (UniCERT V3 was evaluated to ITSEC E3). Note that with the release of Version 5, both Unix and Windows platforms are supported for all modules except the CAO.

Installation is a lengthy process, but relatively uncomplicated. Even the required interaction with Oracle (to create user accounts for components such as the CA, RA and Publisher) has been simplified in the latest release thanks to the introduction of the Database Wizard, which provides an easy way to create an Oracle user account and its underlying database structure. Once Oracle has been installed, the installation of the UniCERT components is very straightforward. The only blight on the installation as tested was the requirement for a DOS box running the Java-based Tomcat server, which handles the Web requests for the WebRAO and Web Handler components. Apache, iPlanet or IIS with suitable servlet managers can all be used instead of Tomcat.

For any serious PKI implementations, the optional Key Archive Server should be installed too (available separately), and the root CA keys should be protected by Hardware Security Modules (HSM). If a HSM is used, this must be installed prior to UniCERT.

Baltimore recommends that the CA be installed on a separate machine and physically secured to prevent access by unauthorised users. All the main components run as native NT services on the Windows platform (or as daemons under Unix), and the administrator can choose between having the services start automatically whenever the machine is booted (not recommended in a production environment) or starting them manually. �Crypto profiles� are used to store configuration information required to start services or log onto UniCERT applications. This configuration information includes details of the location of the PSE file (and whether it is stored in a file on disk, or in a hardware token), if the PSE is split, and details of any cryptographic devices used.

A new utility, the UniCERT Service Manager, can be used to install and run multiple UniCERT services on a single computer. The Service Manager provides a useful graphical interface allowing the administrator to add service instances and configure new service types, such as:

  • The CA
  • The RA
  • The RA eXchange
  • The Publisher
  • The ARM
  • The CMP Handler, the SCEP Handler, and the e-mail Handler
  • The CSS

When a service is installed, the Service Manager automatically adds it to the registry, and it is also possible to configure certain service properties, such as service name and start-up mode.

The ability to clone CAs and RAs enables administrators to continually extend the capacity of a single CA/RA as required. As the name suggests, clones are exact replicas using the same database, same certificate and same key pair (i.e. this is not the same as simply supporting multiple CAs, each of which would require its own root key pair). The resulting implementation provides higher performance (through rudimentary load balancing) and high availability (through automatic fail over of cloned components).

Cloning also enables organisations to cost-effectively run two �parallel� systems in separate locations.

Because both systems are always running in parallel, should a system fail in one location, the other system automatically picks up the work without the need for manual intervention. In essence, this means that the parallel system can provide both back-up and disaster recovery capabilities.

Certification Authority

Once installed, it is necessary to initialise the CA configuration, during which a key pair is generated for the CA itself and the CA Officer (CAO), and a CA registration policy is completed. The CA registration policy specifies such things as the Distinguished Name, key pair size and algorithm, key pair usage, certificate, CRL and directory options, and so on. Key pairs can be generated in software or on a token/HSM (Hardware Security Module). Automatic certificate rollover for the CA is not supported in the current version (planned for a future release).

The resulting Personal Secure Environment (PSE) file holds the CA�s certificate and key information. The PSE can be stored on disk or on a PKCS#11 smartcard/token. When key pairs are generated in the software, the PSE contains both the key pairs and the certificates.

It is possible to have the CA's PSE file split into multiple components and protected by more than one user's pass phrase. In this way, the responsibility for creating or running the CA(s) is shared among two or more trusted security officers. One person cannot load the PSE if he knows only his own pass phrase and the PSE has been saved as individual components, each protected by a different person's pass phrase.

Once the initialisation process has been completed (it needs doing only once) the CAO utility can be run. This has been completely revamped for the new release, and offers a clean, intuitive interface that provides the administrator with all the tools he needs to manage the PKI components, policies, certificates, CRLs, and reports.

The CAO main screen provides access to the two main editors which will be used by the administrator:

  • PKI Editor � This is the interface that is used to configure and control the various elements of the PKI.

  • RP Editor � The Registration Policy Editor is where the administrator will define and administer the registration policies for processing certificate requests and determining what is contained in the resulting certificate. 

In addition, it is possible to create authorisation groups, administer policies and certificates, and monitor logs using the dockable Policy Authorisation and Explorer windows on the right of the main CAO screen.

PKI Editor

As with previous releases, the PKI entities are depicted in a graphical manner in the PKI Editor, making it very easy to view and manage the overall infrastructure. Although it is still possible that in very large infrastructures � with large numbers of CA�s and RA�s � the screen could potentially become very cluttered, this has been partially addressed in the latest release by eliminating the need to create individual RAO entries.

This has been achieved by providing a new set of extensions to the certificate policies that allow a certificate to be identified as a PKI entity certificate � thus a WebRAO certificate will identify itself as such, and automatically authorise its holder to perform RAO operations without having to be explicitly defined as an operator within the PKI Editor.

In addition, should on-screen clutter ever become a real issue, the number of objects on display at any one time can be further reduced by only including sub CAs, Cross CAs, and RAs connected to the specific CA being administered.

On bringing up the PKI Editor for the first time after the PKI �bootstrap� process, administrator is presented with icons for the CA and CAO (referred to as the �CAO Superuser�) generated during the initialisation process. Any number of additional CAOs can be created, and these can be assigned a subset of the tasks available to the Superuser � for instance, they may only be able to create and edit policies, and may not be allowed to edit the PKI itself or revoke certificates. These security assignments are applied via a set of check boxes on the CAO Access Rights tab.

fig3-unicert5-PKIedit.png (67285 bytes)
Figure 3 - PKI Editor

Once the CA and CAO have been configured, the remainder of the PKI can be designed by creating and registering other PKI entities, including:

  • CAO
  • RA
  • RA eXchange
  • CSS
  • CMP handler
  • Web handler
  • E-Mail handler
  • SCEP handler

Each of these entities has a number of attributes associated with them, such as CRL generation parameters or certificate publication details for a CA, or access rights for a CAO.

The relationships between entities (specifying which RA belongs to which CA, for example) are defined by connecting them together on screen. A set of standard policies are provided with the PKI which apply to the CAs, PKI entities and end users (specifying critical parameters such as key length, algorithm, key usage, and so on). New policies can be created using the RP Editor.

It is also possible to delete entities, generate CRLs, and establish cross-certification relationships from the PKI Editor. Entity renewal capabilities will be added in the next patch release.

UniCERT allows a hierarchical system of CAs � either on different machines or on the same host � with the certificate of each CA down the hierarchy being generated by its parent CA. Sub-CA and Sub-RA components are used to create the hierarchy in the PKI Editor by creating new CA or RA components and connecting them to the parent CA/RA as required. There is no limit to the number of sub-CAs that can be created.

fig4-unicert3-CAprop.png (103436 bytes)
Figure 4 - Configuring CA properties in the CAO utility

Peer-to-peer cross certification is accomplished by generating cross certification requests, or processing requests from other CAs, by right clicking on the CA entity in the PKI Editor. Requests can be generated in PKCS#10 or certificate format. The request file is transmitted to the remote CAO out of band and a reply is returned, at which point it can be imported to complete the cross certification processIn addition to support for standard CRL�s and OCSP � it is possible to define CRL Distribution Points (CDPs) in the CAO. Distribution Points allow CRL�s to be broken down into sub CRL�s and have the CA publish them (or make them available to a third-party application that publishes them) to various locations depending on the policy being used for the issued certificates. When the CDP extension is used, the CA can place a CRL in a location where it can be retrieved via an e-mail address, a URL, or by other means.

For those who require key backup and recovery, the Key Archive Server (KAS) is an optional UniCERT component which allows storage of end users' private encryption keys securely in encrypted form, and retrieval as needed. The Key Archive Server is connected to the CA in the PKI, and RAOs pass the keys to be archived to the KAS via the CA.

Unfortunately we were unable to test key recovery functions in the version of software provided to us.

RP Editor

Within a PKI, the policies under which certificates are issued determine the level of confidence other parties will have in the certificates issued by a CA, and are normally published in a Certification Practice Statement (CPS). This states the policies for issuing various levels of certificates and the registration process that people must go though in order to obtain each different type of certificate. 

The Registration Policy Editor (RP Editor) allows the administrator to define the attributes that end users must specify to have their request accepted. It also provides the ability to specify the operational constraints that either the WebRAO who processes the request, or the end user, must obey to complete the certification process. 

UniCERT supports a wide variety of registration processes, including direct face-to-face requests, or indirect or remote requests via the UniCERT Protocol Handlers (web browser, e-mail or VPN, for example).

fig5-unicert2-policy.png (79860 bytes)
Figure 5 - The Registration Policy (RP) Editor

The RP Editor enables the administrator to set up details of:

  • How the registration process is to be done

  • Information that needs to be checked or recorded

  • The number of keys and hence certificates that are to be generated (typically separate keys are generated for signing and encryption purposes)

  • Where and on what media the keys are to be generated � keys can be generated by the end user or by the WebRAO, and can be stored on disk, smartcard or token.

  • Format of certificates that are to be produced

  • The number of authorisers required to accept a certification request

  • Additional business information to be collected during the registration process 

Personal information � such as date of birth, postal address, driving license number, and so on � which is required as part of the registration process but is not intended to be published in the final certificate, can be collected via the registration policy and stored in the Oracle database separate from the certificate to which it relates. This information can later be used for reporting and auditing purposes.

fig6-unicert7-polmap.png (94692 bytes)
Figure 6 - Mapping Registration Policies to Web Handlers

The RP Editor provides a very easy-to-use graphical interface that provides a drag-and-drop approach to building new policies on-screen. Certificate elements are dragged from an hierarchical menu on the left of the screen to the editing area on the right. 

Once placed in the editing area, the appearance of the object can be changed (text input fields can be altered, pick lists can be designated as drop-down menus or multiple check boxes, and so on), a range of values specified (allowable encryption algorithms, for example), and default values specified.

During policy definition, the administrator must:

  • Decide which elements of the Distinguished Name (DN), which uniquely identifies an entity, are going to appear in all certificates issued in accordance with the policy. Some elements can be optional.

  • Determine which extensions are going to appear in certificates issued in accordance with the policy.

  • Decide what additional registration information needs to be collected in order for a certificate to be issued. This information is not published in the certificate.

  • Determine additional operation constraints to be enforced at the issuance and use of the certificate.

In order to be a true security policy, as opposed to a profile editor, it is necessary to be able to provide operational controls, such as mandating key length or encryption algorithm, key archival policy, certificate validity period, method of key generation (hardware or software), and the number of RAOs required for certificate authorisation (or whether no RAO authorisation is required at all, allowing the certificate request to be passed directly to the CA). 

These controls go beyond the content of a certificate, and allow for certificate issuance to be processed in a more integrated fashion. At the very highest level, there may be differences between the requirements of the registration policies which are to be used in a face-to-face environment and those which are to be applied to requests received remotely (via the Protocol Handlers).

New elements can easily be added � registration criteria, key properties, extensions, policy information, and so on � and for each element in the policy, it is possible to choose whether the end user or WebRAO is to enter a value, or whether a value is predefined (and even hidden from the user). For example, a specific registration policy could always set certain certificate extensions and not show this to the WebRAO, or the key length and algorithm used may be fixed for certain types of certificate. Where values are pre-defined by the administrator, those elements do not need to be visible on the registration form.

However, since UniCERT can support any number of registration policies, it is possible to create one policy where these values are fixed, and another where the available options are presented in drop-down menus or pick lists if required.

Once elements are placed in the editing area, they can be resized and repositioned, and at any point the administrator can call up a WYSIWYG preview of the finished form before saving it. Once saved, the policy is pushed to all the RAs in the PKI automatically, making it easy for a CAO to control enterprise-wide policy from a single, central location.

UniCERT offers one of the most flexible, powerful and, above all, easy to use policy definition capabilities that we have seen.

Finally, the CAO utility also provides access to the reporting and auditing functions of UniCERT. From here the administrator can manage certificates as required. This includes revoking certificates, suspending or unsuspending certificates (a temporary revocation), viewing certificate details and event log entries, and viewing and troubleshooting incomplete tasks (i.e. certificates that cannot be issued).

Registration Authority

The Registration Authority (RA) acts as a router between RA Operators (WebRAOs), Protocol handlers and the CA.The RA eXchange functions as a gateway for remote requests from the protocol handlers and the WebRAO.

RAs divide the PKI into operational domains. Each operational domain is a separate structure linked to the CA, yet intra-domain confidentiality is maintained at all times. The RA obeys its own operational policy, which is maintained centrally. The actual RA process is something of a �black box� that simply needs to be started each time the RA machine boots.

The UniCERT RA Operator (WebRAO), on the other hand, is the Java-based Web interface through which requests for certification are received and processed. These requests may be received via e-mail, WWW (remote Web or VPN requests) or in person (face-to-face requests). In the latest release of the software, the old Windows-based RAO GUI has been  replaced completely by the WebRAO utility, providing purely Web-based access to the RAO functions.

unicertk-webrfig7-ao-policylist.png (55888 bytes)
Figure 7 - Selecting a Registration Policy in WebRAO

Unlimited numbers of WebRAOs can be created, and the operations that can be performed by each of them is controlled by the Registration and Operation Policies, and by the RAs that they have access to. WebRAOs can also be divided into operation domains, dividing the infrastructure into logical sections. Information and certificate requests specific to a domain are not made available to other domains, thus allowing the PKI to be departmentalised.

When the RAO user first accesses the WebRAO he will be required to authenticate himself using his private key (smartcard or PKCS#12). He is then presented with a list of available security policies, one of which is selected � this determines the information to be collected and the type (and content) of certificate to be issued.

During face-to-face registrations, the person using the WebRAO program enters an end user�s details and accepts or rejects the candidate�s application. 

It is the RAO�s responsibility to process certificate requests and perform whatever steps are deemed necessary to ensure that the information and credentials provided by the requester are valid as defined in the Certificate Practice Statement (CPS).

Keys can either be generated by the WebRAO program and are secured using a pass phrase entered by the applicant, or the applicant can generate their own keys and provide the public key to the WebRAO. Once the certificate is processed, it can be saved on a smartcard or disk and given to the user.

In many cases, however, a method of registration other than face-to-face is required. This can occur where the user is remote from the WebRAO and wishes to submit their registration request via browser, e-mail or VPN. In these cases the registration request is sent via the UniCERT Protocol Handlers, and the request is stored at the RA. A WebRAO can then authorise the request in the same way as when doing face-to-face registration. Alternatively, if allowed by the Registration Policy, the RA can send requests received from the UniCERT Protocol Handler directly to the CA without being authorised by a WebRAO.

Another of the features that make UniCERT so flexible, is that custom registration processes can be built, typically using the UniCERT ARM or Baltimore KeyTools (e.g. Using the PKIX CMP protocol). This may be done where it is required for the registration process to interact with another application or database, for example a human resources database.

End-user certificates must be provided to the requestor by a method and in a format that matches the requestor requirements. UniCERT can issue certificates in a variety of formats and deliver them by suitable mechanisms � this is controlled by the Registration Policy. Typically, certificates dealt with in a face-to-face manner are distributed either in software or on cryptographic hardware (smartcards, for example). Remote requests are generally distributed by the same method in which they were received: email, HTTP or sockets. However using the Registration Policy, alternative distribution mechanisms can be used.

On firing up the WebRAO utility, the operator is offered a simple menu containing four options: 

  • Register
  • Authorise
  • Collect
  • Status

Register

When processing face-to-face requests, the WebRAO user first selects the registration policy from a list of those available. He then completes the appropriate fields as specified by the policy selected and generates a key pair (either in software or using a PKCS#11 token or smart card). If either a PKCS#11 Token or PKCS#11 Smartcard was used, then the key pair is generated on the device. If no hardware token was used, then the key pair is stored in a password protected PKCS#12 file on disk.

Alternatively, the end user may elect to use a key pair that was generated remotely as the basis of their certificate request, in which case the key pair can be loaded from the appropriate source.

Whichever method is used to acquire the key pair, the public key is passed to the CA for signing at this point.

fig8-unicertj-webrao-nssreg.png (66390 bytes)
Figure 8 - Processing a face-to-face registration in WebRAO

Having been processed by the RA, the RAO user retrieves the certificate and installs it into the key store (PKCS#12 file or PKCS#11 device) that was used during the initial key generation process.

The registration process is then complete.

Authorise

The Authorise command is used to process remotely generated certificate requests that require one or more authorisations. This command can be used to authorise both certificate issuance and certificate revocation, suspension and unsuspension requests.

If Remote certificate requests require authorisation (as defined by the registration policy) they are automatically routed to the RAO and can be retrieved from a list of pending requests and processed according to the available remote policies.

Any additional validation can be performed at this point before the request is passed on the to CA. Certificates issued for remote requests received by e-mail or Web are automatically routed back to the requester (rather than the RAO) via the appropriate protocol handler.To authorise certificate issuance and revocation requests, the WebRAO user must belong to a user group that has an authorisation access path to the policies under which the certificates were processed.

Collect

Usually, a certificate can be collected almost immediately after submitting the request (unless the policy under which the certificate is issued requires that the CA send the certificate directly to the applicant or place it at a Web address from which the applicant can collect it). 

The most common reasons for collecting certificates some time after the initial registration process are the following:

  • It was not possible to collect an applicant�s certificates during the registration interview, perhaps because the CA was offline or processing times were slow.

  • An applicant wants the certificate saved in DER, PEM, or PKCS#7 format, while the private key is saved to a file.

  • A request is received from a certificate applicant after the registration interview.

  • It is necessary to search for certificates that other WebRAO users processed in the WebRAO. These certificates can be collected only if the customer registration policy allows it.

fig9-unicertg-webrao-collect.png (68466 bytes)
Figure 9 - Collecting a certificate in the WebRAO

All that is required to collect a certificate is to enter the transaction ID provided during the registration process (other search criteria can be entered if this is not known, or if it is necessary to collect multiple certificates) and the certificate is returned to the WebRAO. At this point, it can be saved � along with the previously generated key pair(s) � to either a hardware token or a PKCS#12 file on disk.

Status

Once certificates are issued, the WebRAO user can perform additional certificate management tasks as needed, such as revoking, suspending and unsuspending certificates.

Certificate revocation refers to the practice of invalidating the public key of a user�s certificate during the life of that certificate. The revocation of any user�s certificate needs to be made public and is hence entered into a directory or an Online Certificate Status Protocol (OCSP) responder. 

fig10unicerth-webrao-revoke.png (73779 bytes)
Figure 10 - Revoking a certificate in the WebRAO

Auditing and Reporting

UniCERT maintains a number of different system logs, which detail every system and operator action at the CA or RA.

These logs can be viewed through UniCERT screens and complex reports can be created through the use of SQL. All the database logs are signed by the entity logging the information and are verifiable via the GUI screens.

The CAO utility provides access to basic auditing and reporting capabilities, and a number of pre-defined reports are provided, including:

  • Certificates issued today
  • Certificates that expire today
  • Certificates that expire in the next year
  • Certificates that have expired
  • All certificates
  • Today�s log
  • Today�s error log
  • Today�s alert log
  • Today�s warning log
  • Today�s information log
  • Last year�s log

Using the New Query dialogue box, simple queries can be constructed to locate certificates with particular characteristics, for example, certificates issued by a particular CA or which contain a particular domain name in the e-mail address.

Output is restricted to a basic spreadsheet format, and once the query has been built, any of the certificates displayed can be managed further (revoke, suspend, unsuspend, view or export) by right clicking on the appropriate entry.

fig11-unicertd-certmgmt.png (151374 bytes)
Figure 11 - Certificate queries and management in the CAO utility

Client

The UniCERT Web Handler provides the Web-based user interface to certificate applicants who originate certificate requests, retrieval requests, and status requests remotely from a Web browser. Typically, the applicant invokes the Web Handler by linking from a Web page.

The Certification Authority Operator (CAO) configures the Web Handler by creating policies that determine the information required from, and available to, applicants. The CAO then maps the policies to the Web Handler.

From this screen, the applicant selects the following commands:

  • Register: Using this command, the applicant can generate new keys and apply for digital certificates.

  • Retrieve: Using this command the applicant can do the following:

  • Collect their own certificate from the Certification Authority (CA) that issued it.

  • Retrieve the latest Certificate Revocation List (CRL) published by the CA.

  • CertStatus: Using this command, the applicant can check the status of their own certificate and/or suspend or revoke it.

When the applicant clicks Register, they are presented initially with  a list of the available policies, which will determine the certificate types that may be applied for. 

The operational policy that the CAO has created and mapped to the screen determines the types of policies that appear on this screen. The subsequent Web pages are built dynamically from the registration policies depending on which policy is selected.

Once the application form has been completed and the certificate request submitted, the applicant can attempt to collect their certificate by clicking Retrieve Certificate. Often, however, because the CA can not process the request immediately, especially if the request requires one or more authorisations, the certificate is not ready for collection. The applicant then returns to the Web Handler at a later time to retrieve their certificate, using the Retrieve command (or the certificate can be returned by other means � Web page or e-mail, for example � as specified by the registration policy).

When the certificate is retrieved, it can be saved in DER format, PEM format, as a certificate chain, or saved directly to the browser. When a CRL is retrieved, it can be saved in X.509 format, PKCS#7 format, or directly to the browser. Note that the Retrieve command can also be used to search for the latest CRL issued by the CA. 

fig12-unicert9-client.png (66367 bytes)
Figure 12 � Completing a certificate request in the browser-based Web Handler

Using the CertStatus command, the applicant can check the status of a certificate � either their own or someone else�s � and change the status of their own certificate. To begin either process, the applicant clicks CertStatus and the Certificate Status dialogue appears, displaying the two options available to the applicant: check or change.

Check returns the current status of the certificate (from the CSS server, rather than via a CRL), whilst Change allows the user to revoke, suspend or unsuspend their certificate (providing this is allowed by the issuing policy).

If the browser model is not acceptable to an organisation � or more functionality is required � there are a number of tool kits available to allow third-party applications to be PKI-enabled.

KeyTools Pro is the primary Baltimore tool kit for developing PKI-enabled applications. It is available as C++ or Java classes, and provides a high-level API offering full encryption and digital signature capabilities to the developer.

fig13-unicert8-client.png (52402 bytes)
Figure 13 - Selecting the registration policy/certificate type in the Web Handler

The built-in policy enforcement system allows an organisation to dictate security policy at application and desktop level. Being completely standards-based, Baltimore KeyTools applications work with any standards-based CA, not just UniCERT. Additional tool kits are available to address specific XML, WAP, S/MIME and SSL applications/requirements.

Verdict

The simplicity of configuration of UniCERT hides the tremendous complexity and power hidden beneath the hood. A powerful database-driven policy engine, coupled with the excellent PKI and RP Editors, makes UniCERT the most flexible CA solution out of the box of all those we have tested. Yet it lacks none of the features we expect to see in a high-end PKI solution.

Other products allow similar functionality to be achieved via extensive Java coding or the use of tool kits, but UniCERT provides a superior �out of the box� experience, as well as offering the necessary tool kits for those who want to take things even further via custom development.

If we had any criticism of the current release, it would be that automatic key update is not available at the CA. Also, it would be nice to see an enterprise LDAP directory included in the box.

The new release provides a number of new features that make it a very attractive proposition, however. Multiple registration methods are on offer backed by strong policy enforcement, and the new Protocol Handlers have streamlined remote registration requests. Extensive customisation is also available via the ARM module.

Whilst cost may prohibit the use of UniCERT in smaller (i.e. under 1000 user) PKI implementations, it nevertheless provides and attractive and easy-to-use interface for the PKI �novice� whilst providing the ability to scale to the largest implementations. Hierarchical PKI structures, cross certification, unlimited RAs and WebRAOs, unlimited certification policies, real-time certificate status checking, multiple CAs and RAs on a single platform, PKI entity cloning, and unlimited certificates all help to make UniCERT ideal for the largest and most mission critical deployments. Cross-platform deployment is easier too, with almost all the components running on both Windows and Unix now, and Windows components running as native services.

At the client end, strong policy enforcement is a key feature, and the ability to build client-side Web pages dynamically from the stored registration policies makes it one of the simplest systems to deploy and maintain.

Overall, we found UniCERT to be hard to beat in terms of features, flexibility and ease of use.

Contact Details

Company name: Baltimore Technologies
E-mail: [email protected]
Internet: www.baltimore.com
Address:
Baltimore Technologies
39/41 Parkgate Street
Dublin 8
Ireland
Tel: + 353 1 881 6000
For a complete list of regional offices, please visit � http://www.baltimore.com

Click here to go to the Baltimore Checklist
Click here to go to the Baltimore Pricing 
Click here to return to the PKI Index Section

top         Home

Security Testing

NSS Awards

Group Test Reports

Articles/White Papers

Contact

Home

Send mail to webmaster with questions or 
comments about this web site.

Copyright � 1991-2006 The NSS Group Ltd.
All rights reserved.