Part 1: General - Computer Security Resource Center - National ...
Part 1: General - Computer Security Resource Center - National ...
Part 1: General - Computer Security Resource Center - National ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
March, 2007<br />
However, it is often the case that different algorithms must be employed in order to provide all<br />
the desired services.<br />
Example:<br />
Consider the example system where the secure exchange of information between pairs of<br />
Internet entities is needed. Some of the exchanged information requires just integrity<br />
protection, while other information requires both integrity and confidentiality protection. It is<br />
also a requirement that each entity that participates in an information exchange knows the<br />
identity of the other entity.<br />
The designers of this example system decide that a Public Key Infrastructure (PKI) needs to<br />
be established and that each entity wishing to communicate securely is required to physically<br />
authenticate his or her identity at a Registration Authority (RA). This authentication requires<br />
the presentation of proper credentials such as a driver’s license, passport, or birth certificate.<br />
The authenticated individuals then generate a public static key pair in a smart card that is<br />
used for key agreement. The public static key agreement key of each net member is<br />
transferred from the smart card to the RA where it is incorporated with the user identifier and<br />
other information into a digitally signed message for transmission to a Certificate Authority<br />
(CA). The CA then composes the user’s public key certificate by signing the public key of<br />
the user and the user’s identifier along with other information. This certificate is returned to<br />
the public key owner so that it may be used in conjunction with the private key (under the<br />
sole control of the owner) for entity authentication and key agreement purposes.<br />
In this example, any two entities wishing to communicate may exchange public key<br />
certificates containing public keys that are checked by verifying the CA signature on the<br />
certificate (using the CA public key). The public static key agreement key of each entity and<br />
each entity's own private static key agreement key is then used in a key agreement scheme to<br />
produce a secret value shared between the two entities. The shared secret may then be used to<br />
derive one or more shared symmetric keys. If the mode of the symmetric encryption<br />
algorithm is designed to support all the desired services, then only one shared key is<br />
necessary. Otherwise, multiple shared keys and algorithms are used. One of the shared keys<br />
is used to encrypt for confidentiality, while another key is used for integrity and<br />
authentication. The receiver of the data protected by the key(s) has assurance that the data<br />
came from the other entity indicated by the public key certificate, that the data remains<br />
confidential, and that the integrity of the data is preserved.<br />
Alternatively, if confidentiality is not required, integrity protection, entity authentication, and<br />
non-repudiation can be attained by establishing a signature key pair and corresponding<br />
certificate for each entity. The private signature key of the sender is used to sign the data, and<br />
the sender's public signature verification key is used by the receiver to verify the signature. In<br />
this case a single algorithm provides all three services.<br />
The above example provides a basic sketch of how cryptographic algorithms may be used to<br />
support multiple security services. However, it can be easily seen that the security of such a<br />
system depends on many factors including:<br />
a. The strength of the entity’s credentials (e.g., driver’s license, passport, or birth certificate)<br />
and authentication mechanism,<br />
b. The strength of the cryptographic algorithms used,<br />
32