-

Certificates

Dieses Thema enthält die folgenden Abschnitte:

What are certificates used for?

Certificates can be used for the following:

What is a certificate?

A certificate is an electronic, digitally signed and forgery-proofed identity document (data structure).
A certificate...

Authentication using certificates

Following the mutual verification of applications, a secure communication channel between the authenticated applications can be established.

Certificates do not contain encrypted content but plain text. Due to their signature, they do not need to be protected. Therefore, they can be distributed (to involved applications/administrators), for example, by e-mail.

CA-signed certificates vs. self-signed certificates

A Certificate Authority (CA) is an administrator, organization or application that issues certificates, i.e, that creates certificates for other subjects and signs them using the private key of the CA. Subject (owner) and issuer (creator) in this certificate are not identical. The issuing CA writes the public key of the subject for which the certificate is going to be created into the certificate, instead of its own public key when "self-signing".

A self-signed certificate results, if an application creates its own certificate and signs it with its own private key. In a self-signed certificate, the subject (owner) and issuer (creator) are identical. For securing the communication between a small number of applications, the use of self-signed certificates may be practicable. Since there is no common trust basis in such a scenario, each application involved must be manually configured for each relevant self-signed certificate.
To secure the communication in large distributed networks with many applications, certificates issued by a Certificate Authority (CA) are recommended. This is because using the CA certificate(s) as a common trust anchor makes management much more scalable. Also hierarchical certification structures are possible with one or several issuers and sub-issuer levels.

Hinweis
For the communication between PLCnext Technology controller and PLCnext Engineer, no self-signed certificates can be used.

Certificate Signing Request (CSR)

A Certificate Authority (CA) generates and signs a certificate only on request. This request is called Certificate Signing Request (CSR). With the CSR, the CA receives detailed information on the subject that requests the certificate (subject/owner attributes) as well as the subject's public key in order to include these data in the certificate.

Certification hierarchy, certification path, and Trusted Anchor

When a CA issues a certificate for a particular subject it has to define the future capabilities of the subject. Possibly, the certificate can only be used for authentication purposes, or (by granting further capabilities) a subject may become an issuer and is also able to issue certificates for other subjects. This way, a hierarchical certification structure can be created.

In a hierarchical certification structure, the CA is considered as root node. The CA certificate (root certificate) is called Trusted Anchor. In the next lower level, further issuers (sub-CAs) can follow, each of them with the right to issue certificates. Their own certificates are called issuer certificates. Further sublevels with subsub-CAs are possible. The certificates on application level (e.g., controller and PLCnext Engineer, or OPC UA server and clients) are called application certificates.

In a hierarchical certification structure, a certificate (for example the device certificate of a PLCnext Technology controller, or the application certificate of an OPC UA client) can only be verified by authenticating the entire certification path from the particular certificate up to the Trusted Anchor (root certificate).

Example: PLCnext Technology controller and PLCnext Engineer

Certificate Revocation List (CRL)

A Certificate Revocation List (CRL) is a list which describes the invalidity of certificates. A CRL specifies certificates that must not be accepted by application instances or devices. A certificate can be revoked if the relating private key (which is the property of the certificate subject) has been compromised or if the certificate contains content that is no longer valid (e.g. an outdated application instance URI after migrating the application to another computer).

CRLs can be created by any issuers (CA or sub-CA) which are endowed with the rights for issuing CRLs ("Sign CRL"). To revoke a certificate, the CA adds the respective serial number of the certificate (and potentially more) to the CRL. To secure the CRL, it is also signed by the CA using the private key of the CA and it contains a time stamp. This way, applications can verify the authenticity, integrity and validity of a CRL before evaluating its content.

Because usually authentication only happens during connection establishment, an application instance only evaluates the CRL each time when authenticating a certificate.

Consequently, existing connections are not disconnected if a certificate, which was used during connection establishment is revoked later. Such connections must be disconnected manually, for example, after a private key has been compromised or stolen. The disconnection may also be done by restarting the affected devices or application instances.

Example illustration

A CA has issued certificates for a server and a client application on request. This represents a two-level certification hierarchy.

Mutual authentication: To authenticate their identities, each application verifies the certificate of the other application using the public key of the other application. Following the successful authentication, a secure communication channel can be established.

The CA has additionally issued a CRL. The application can use this CRL during authentication to ensure that a certificate that to be authenticated is not revoked. Communication is only established if the involved certificate is not listed in the CRL.

Secure Certificate Management

Trusted networks may have a large number of certificates in use. To maintain smooth and secure communication, each of these certificates must be checked for the following aspects.

Expired, forgotten or invalid certificates in most cases lead to security problems, communication or even production downtime. Therefore, a secure certificate management is essential. As certificates contain public keys, such management is also referred to as Public Key Infrastructure (PKI).

If possible, use an automated certificate management system (or PKI) that covers the following tasks or contains the following components: