Microsoft Windows 2000 Server White Paper July 5, 2000 Published Abstract This white paper introduces the concept of encryption and public key Basic Structure (PKI) and the basics of certification services in the Microsoft Windows 2000 Server operating system. If you are not familiar with encryption and public key technology, you will read this white paper will help understand other technical white paper on these topics on the Windows 2000 Web site. Introduction The integrated public key basic structure (PKI) provided by the Microsoft Windows 2000 certificate service enables e-commerce to be performed in a secure environment. This white paper introduces the concept of encryption and PKI. Understanding these related concepts is a prerequisite for understanding certificates, and the certificate service is a component in the Microsoft Windows 2000 Server operating system. If you are not familiar with encryption and public key technology, please read this white paper first, then find the following related technical white paper in the link listed in the "Other Information" section:
Windows 2000 Certificate Services Windows 2000 PKI Deployment and Smart Card Login Troubleshooting Microsoft Windows 2000 Interoperability Encryption Concept Encryption is the basis for secure information exchange through intranet, extranet, and Internet. From a business point of view, security features implemented by encryption include: authentication, making the recipient's confident sender is his or her state; confidentiality, ensuring that only expected recipients can read mail; As well as integrity, make sure messages are not changed during transmission. From a technical point of view, encryption is a science that converts mail into an unreadable format to achieve the purpose of protecting data with mathematical methods. This section describes the following encryption concepts:
Symmetric key encryption: a key public key encryption: two key single-way aquary algorithm digital signature: combined with public key with a hash key exchange: combined with symmetry key and the top three sections of the public key Describe the symmetric key encryption, public key encryption, and hashing algorithms. The latter two section descriptions use these techniques - especially, combining the public key algorithm with the hash algorithm to create digital signatures, and combine the symmetric algorithm with the public key algorithm to make the exchange density (private) key. Symmetric key encryption: a key symmetry key is encrypted, also called a shared key encryption or confidential key encryption, using a single key with the sender and the recipient. This key is for encryption and is also used to decrypt, called a confidential key (also known as a symmetric key or session key). Symmetric key encryption is an effective way to encrypt a large amount of data. The symmetric key encryption has many algorithms, but all of these algorithms have a common purpose - convert the plaintext (unencrypted data) into a dark text in a restored manner. The dark text uses the encryption key code, and it is meaningless to anyone who does not decrypt the key. Since the symmetric key is encrypted using the same key when encrypting and decrypting, the security of such an encryption process depends on whether there is an unauthorized person obtains a symmetric key. This is why it is also called secret key encryption. It is desirable to use both sides of the symmetric key encrypted communication, and must first switch the key before switching the encrypted data. The main scale of the measurement of the symmetric algorithm is the length of its key. The longer the key, the more the number of keys that must be tested before finding the correct key required for decryption data. The more you need to test, the more difficult it is to crack this algorithm. With a good encryption algorithm and a sufficiently long key, if someone wants to reverse the conversion process in a practical time, and from the dark text, it is not possible to do it from the perspective of calculation. Public key encryption: Two key public keys encrypts two keys - a public key and a private key, both key is mathematically related. In order to be connected to a symmetric key, the public key is encrypted is sometimes called an asymmetric key encryption. In public key encryption, public keys can be publicly delivered between communication, or publish in public reserve, but related private keys are confidential. Only using private keys can decrypt data encrypted with public key. Data using private key encryption can only decrypt with public key. In Figure 1, the sender has the public key of the recipient and encrypts an email with it, but only the recipient masters the relevant private key to decrypt the message. If your browser is not supported, click here to view the stand-alone page. Figure 1 Public key encryption requires a public key and a private key. Similar to the symmetric key encryption, there are many algorithms in public key encryption. However, the symmetric key and the public key algorithm are not similar in design. You can use a symmetrical algorithm to replace another in the program, and the changes are not large because their work mode is the same. On the other hand, the working mode of different public key algorithms is completely different, so they are not interchangeable. The public key algorithm is a complex mathematical equation that uses a lot of numbers. The main limit of the public key algorithm is that this encryption form is relatively low. In fact, the public key algorithm is usually used only at the critical time, such as when the symmetric key is exchanged between the entity, or when signing a restriction of an email (has a hash by applying a one-way mathematical function. The length of the length is called a hash algorithm for data. Using the public key encryption with other encryption forms (such as symmetric key encryption), it can be optimized. The public key encryption provides an effective method that can be used to send a confidential key used to a large amount of data to a confidential key to someone. Public key encryption can also be used in conjunction with a hash algorithm to generate digital signatures.
To learn more about the information of using public key encryption and symmetric key encryption or hash algorithm, see the following two sections: "Digital Signature: Combined with the Public Key and Hatt Algorithm" and "Key Exchange: Symmetric Key and Public Key "Encrypts the public key for digital signature numbers. The sender that is mail, file, or other digital encoded information, binding their identity and information (ie, providing signature for information). The process of digital signature of the information is required to convert the information to the signature tags called the signature. Digital Signatures In public key environments, it is really his or her statement, and confirms that the received mail is exactly the same, to help ensure the security of e-commerce transactions. Typically, digital signatures are used to distribute data with plaintext, such as email. In this case, when the sensitivity of the mail itself may not guarantee the security of encryption, ensure that the data is in its original format and is not transmitted by the counterfeiter, it is very important. To learn how to use the public key with the hash algorithm to create a digital signature, see "Digital Signature: Combined with the Public Key and Hatigan Algorithm" section below is the three most common public key algorithms:
RSA- is suitable for digital signature and key exchange. Rivest-Shamir-Adleman (RSA) encryption algorithm is currently the most widely used public key encryption algorithm, which is especially suitable for data transmitted over Internet. This algorithm is named after its three inventors: Ron Rivest, Adi Shamir and Leonard Adleman. The security of the RSA algorithm is based on the difficulty of decomposing large numbers (in terms of computer processing capabilities and processing time). In the commonly used public key algorithm, the RSA is different, and it can perform digital signature and key exchange operations. Microsoft Base Cryptographic Service Provider (Microsoft Base CSP1) supports RSA encryption algorithm, and the Microsoft Enhanced Cryptographic Service Provider (Microsoft Enhanced CSP2) already built into many software products, including Microsoft Internet Explorer, including in. DSA-only for digital signatures. Digital Signature Algorithm, DSA Invented by the NSA, NSA, has been included in the US National Standards and Technology Association (NAST) to federal information processing standards. Among the Federal Information Processing Standard, FIPS, as a criteria for digital signatures. The security of the DSA algorithm originates from the difficulty of calculating discrete algorithms. This algorithm is only used for digital signature operations (not applicable to data encryption). Microsoft CSP supports the DSA algorithm. Diffie-Hellman- is only available for key exchange. Diffie-Hellman is the first public key algorithm for inventors, named by the name of the inventors Whitfield Diffie and Martin Hellman. The security of the DIFFIE-Hellman algorithm is derived from the difficulty of calculating discrete algorithms in a limited field. The Diffie-Hellman algorithm is only used for key exchange. Both Microsoft Base DSS 3 and Diffie-Hellman CSP support Diffie-Hellman algorithm. One-way hash algorithm hash - also known as a hash value or message summary, is a data conversion type with a key (symmetric key or public key). The hash is to convert one piece of data of any length into a fixed length, irreversible number by using a one-way mathematical function called a hash algorithm to data. The length of the resulting hash should be long enough, thus making the opportunity to find two pieces of data having the same haveh value. The sender generates the hash value of the mail and encrypts it, and then it is sent with the mail itself. The recipient simultaneously decrypts the email and hash values, and the received mail generates another hash value, and then compares the two hash values. If both are the same, the mail is extremely likely to have no changes during transmission. The commonly used one-way hash function is the two most common hash functions:
MD5. The MD5 is a hash algorithm designed by Ron Rivest designed a 128-bit hash value. The MD5 is designed to optimize for Intel processors. The basic principles of this algorithm have been leaked, which is why it is not very popular. SHA-1. Similar to the DSA public key algorithm, the safety hash algorithm 1 (SHA-1) is also designed by NSA, and is included in the FIPS by NIST as the standard of hash data. It produces a 160-bit hash value. SHA-1 is a universal hash algorithm for creating digital signatures. Digital Signature: Combined with the public key and hash algorithm can use public key technology to create a digital signature with a hash algorithm. Digital signatures can be used as a data integrity check and provide credentials with private key. The steps to sign and verify the data (completed by the application of PKI, such as Microsoft Outlook) are as follows: The sender applies a hash algorithm to the data and generates a hash value. The sender uses the private key to convert the hash value to a digital signature. Then, the sender sent the data, signature and sender's certificate to the recipient. The recipient applies the hash algorithm to the received data and generates a hash value. The recipient uses the sender's public key and the newly generated hash value verification signature. This process is transparent to the user. The speed of the hash algorithm processing data is much better than the public key algorithm. Hash data also shorten the length of data to sign, thus speeding up the signature process. When you create or verify the signature, the public key algorithm must be converted with a column value (128 or 160 bits). The detailed steps of creating a signature and verify signature depends on the public key algorithm used. Key Exchange: Combined with the symmetric key and the public key symmetry key algorithm is very suitable for fast and securely encrypt data. However, its disadvantage is that the sender and the recipient must switch the secret key before switching the data. Combined with the symmetric key algorithm of encrypted data and the public key algorithm of the switching secret key can generate a fast and flexible solution. The key exchange step based on the public key is as follows:
The sender gets the public key of the recipient. The sender creates a random confidential key (a single key used in the symmetric key encryption). In Windows 2000, CryptoAPI4 can be used to create a confidential key. (For more information on CRYPTOAPI, see the "Certificate Chain Verification" section below.) The sender uses the confidential key and the symmetrical key algorithm to convert the plaintext data into the paper data. The sender uses the recipient's public key to convert the secret key to a secret key. The sender sends the text data to the recipient of the recipient. The recipient uses its private key to convert the secret key to its plaintext. The recipient uses the plain text confidential key to convert the dark text data into a plaintext data. Similarly, these steps are done by enabling PKI applications, such as Microsoft Outlook, and transparent to users. Concept of public key basic structure The basic structure (PKI) for describing or manipulating the certificate and the public key and the private key. In fact, PKI refers to a set of systems that are composed of other registries that are inspected and validated by other registries involved in the digital certificate, certificate authority (CA), and the legitimacy of the parties involved in the parties. The relevant standards of PKI are still in the continuous development, even if these standards have been widely implemented as elements of e-commerce. This section helps you understand what is PKI and what services do you need to create a PKI. These PKI concepts will be discussed in the following sections:
Certificate Authority (CA) Unregrand CA Hierarchy Registration Certificate Registration Certificate Revocation Certificate Chain Verification Information about how the basic structure of public key is integrated with Windows 2000, see "Windows 2000 Certificate Services" "Link of white paper. The certificate public key certificate is usually referred to as a certificate for authentication on Internet, Extranet, and intranet and secure data exchange. The issuer and signer of the certificate are well known certificate issuance agencies (CA), which will be described in the next section. The entity that issues a certificate is the subject of the certificate. The public key certificate is a declaration of digitally signed, which binds the value of the public key with the body (personal, device and service) of the corresponding private key. By signing on the certificate, CA can verify that the private key corresponding to the public key on the certificate is owned by the subject specified by the certificate. You can issue certificates for a variety of purposes, such as web user authentication, web server authentication, secure email, IP security (IP), IP security (IP, S / MIME), S / MIME Security, security socket protocol layer / transaction layer security (Secure Sockets Layer / Transaction Layer Security, SSL / TLS), and code signature. If the Windows 2000 Enterprise Certificate Authority (in the "Windows 2000 Certificate Services" white paper is inside, the certificate can be used to log in to the Windows 2000 domain. The certificate can also be issued by a CA to another CA to establish a certificate hierarchy. The main body can be identified by multiple names, such as user main names (for end user certificates), directory name, email name, and DNS domain name. The certificate should also contain the following information:
The validity period of the certificate. The serial number of the certificate, CA should ensure that the serial number is unique. The name of the CA and the key used to sign the certificate. The identifier of the policy that CA is used to determine the policy of the certificate body (describe the CA policy will be described in detail later). The usage of the key pair (public key and related private key) identified in the certificate. The location of the certificate revocation list (CRL) is a document that lists the certificate that has been revoked and published by CA. To ensure its integrity, CRL is signed with the private key of CA. The certificate provides a mechanism for establishing a relationship between the public key and the entity with the corresponding private key. Currently used certificate formats are defined by ITU-T X.509 Version 3 (X.509V3) international standards. RFC 2459 is a profile of X.509V3, further illustrating the fields defined in X.509V3. Windows 2000 PKI adopts X.509V3 standard. The Windows certificate is programmed in accordance with the instructions in RFC 2459, but still called X.509V3 certificates. (For more information on ITU-T X.509, see "Windows 2000 Certificate Services" white paper.) ITU-T X.509 is not the only format of the certificate. For example, Pretty Good Privacy (PGP) secure email relies on a certificate unique to PGP. The Certificate Authority Certificate Authority (CA) is a trusted entity that issues a certificate to an individual, computer or any other application entity. CA Acceptance Certificate Application, based on the Policy of the CA, verify the applicant's information, and then use its private key to apply its digital signature to the certificate. Then, CA issues the certificate to the subject of the certificate as a secure credentials inside the PKI. Since different CAs use different methods to verify the binding between the public key and the main body, it is very important to understand the CA before selecting the issuing agency (later explained later). CA can be a remote third-party mechanism, such as VeriSign. As a choice, you can also create CAs you are using for your organization, for example, create a CA by installing the Windows 2000 certificate service. Each CA may have a completely different identity credential requirements, such as Windows 2000 domain accounts, staff tags, driver licenses, notarized requests or actual addresses. CA Policy CA issued a certificate to the Applicant based on a set of standards established. A set of criteria used in the acceptance certificate request (and issuing certificates, revoking certificates, and issuing CRLs) is called CA strategies. Typically, CA issues its strategy with a document called a Certification Practice Statement (CPS). The CA policy should not be confused with the term "group policy" of Windows 2000, which is usually associated with domain account deployment services such as IntelliMirror. (For information on the CA strategy in Windows 2000, the role of the Group Policy in Windows 2000 PKI, please refer to the "Windows 2000 CA Policy" and "CA Certificate Distribution" section of the "Windows 2000 CA Strategy" section.) The type of CA of the issued agency 5 includes the following three: