PurposeDirectory Signed Operations are often requested or mandated as a part of Military ACP 133 Directory or other directory services with high security requirements. This paper explains what directory signed operations are, the benefits they provide, and situations where it makes sense to require their use. What Are Directory Signed Operations?Directory Signed Operations are a part of the X.500 Directory Standard that applies digital signatures to individual directory operations, based on X.509 PKI (Public Key Infrastructure). Directory signed operations provide additional security by applying an X.509 digital signature to individual directory operations and to the results returned. Signed operations are generally used in conjunction with Strong Authentication, described in the Isode white paper "Why Strong Authentication for Directory?", and add further security benefits to the peer authentication services described in this white paper. Client Access
The basic client service of signed operations is illustrated above. A directory client has connected to a directory server using X.500 DAP (Directory Access Protocol). This connection will also be using strong authentication between client and server. The client will issue a directory operation, such as "Read" or "Add Entry". This will be done by use of a directory "operation" PDU (Protocol Data Unit) that will be sent to the server. When signed operations are being used, a digital signature of this PDU signed by the directory client will be sent along with the PDU. This signature does three things:
The result of a directory operation back to the client is either a "result" (either a confirmation that the requested action has been done or the information requested) or an "error" (when the operation cannot be resolved correctly, for example trying to read a non-existent entry will lead to an error). The results and errors may also be digitally signed, so that both parts of the operation (request and result) are signed. The client will request these signatures as a part of the operation. In summary, all of the directory operation PDUs are digitally signed, so that the server can authenticate requests and the client can authenticate responses. Distributed Operation
Signed operations also work with X.500 distributed operations. Where referrals are used, the security functionality is for client access as described in the previous section. This above diagram shows how signed operations work for chaining using X.500 Directory System Protocol (DSP). For DSP, there are two layers of signing:
The key benefit of signed operations with DSP is that it allows chaining to occur and provide strong authentication between the client and the chained to DSA, and in the reverse direction to authenticate the DSA providing the results back to the client. ReplicationSigned operations can also be used for directory replication using X.500 DISP (Directory Information Shadowing Protocol). As with client access, this works by providing a digital signature for each replication operation, for both total and incremental replication. Benefits of Signed OperationsThere are three basic security benefits of signed operations:
Usage and Configuration RequirementsThe provision of directory signed operations has impact on the client and server implementation, so that products can be used in environments which always or sometimes make use of signed operations. Directory Administration ClientsA secure environment is likely to make use of signed operations for all directory administration. A directory administrative client designed for use in a secure environment, often referred to as an Administrative Directory User Agent (ADUA), should sign all operations and request all results and errors to be signed. If this capability is turned off, this should be made clear to the user. Signing operations will be an option provided by the ADUA, that may be required in some environments and whose presence may be enforced by the server. Technically, the signing could be transparent to the user, but security policy may make interaction desirable, for example:
The signature status of results and errors being returned may be of interest to the administrator and it is desirable for the ADUA to display this information. Examples:
Directory ServersIn order to be useful in a range of environments, a directory server will need to have configuration options for using signed operations. In particular:
In order to gain the audit benefit of signed operations, it is important to audit activity. By auditing each PDU and its signature, checks could be repeated. A simpler approach would be to (audit) log details of each verification performed, and to rely on the accuracy of the directory server’s audit logs. Comparison with Alternative ApproachesThis section considers some alternate approaches to providing data integrity and authentication. There are no other ways to provide the secure audit capabilities of signed operations, with a recorded digital signature for each operation. Data Integrity
Data integrity may be provided by use of lower layer end to end services. The two appropriate standardize approaches are shown above:
Both of these approaches provide good data confidentiality and data integrity services at the transport and network layer respectively, and are services that add security value in their own right. Both of these can be used in conjunction with X.500 protocols and LDAP to provide data confidentiality services, and are good approaches to achieve this. They would be effective at protecting against some data integrity attacks that are protected against by signed operations, in particular attacks on data in transit. Because the integrity service is provided at a lower layer, they would not be effective against local attacks that came between the directory application and the lower layer security. The difficulty of such attacks would depend to a large extent on how tightly the directory application was integrated with the lower layers (e..g., in Isode’s M-Vault server and many other LDAP clients and servers, TLS is tightly integrated, which would make attacks relatively hard). It is clearly better to have an integrity mechanism that does not rely on implementation architecture and is closer to the data that is being protected. Use of peer data confidentiality for integrity checking does not provide end to end checking when chained operations are used, and so a chaining DSA could modify the operation being chained. AuthenticationAn alternative to using the strong authentication for each operation, is to use the per association strong authentication. This could be provided in a number of ways.
Strong peer authentication has independent benefits, and is required to be used in addition to signed operations, whenever signed operations are required. The considerations here are in respect of using peer strong authentication as an alternative to signed operations. The following disadvantages are noted:
Conclusions & RecommendationsDirectory signed operations provide additional security for directory services, and are desirable for deployments where security is important. They complement and add value to peer strong authentication services and to data confidentiality services.
|
|
| Copyright © 2009 Isode | sitemap privacy feedback
|