DigitalCertificate
Introduction[edit]
Ein digitales Zertifikat ist ein digitaler Datensatz, der bestimmte Eigenschaften von Personen oder Objekten bestätigt und dessen Authentizität und Integrität durch kryptografische Verfahren geprüft werden kann.
Ein Public-Key-Zertifikat ist ein digitales Zertifikat, das den Eigentümer sowie weitere Eigenschaften eines öffentlichen Schlüssels bestätigt. Durch ein Public-Key-Zertifikat können Nutzer eines asymmetrischen Kryptosystems den öffentlichen Schlüssel einer Identität (z. B. einer Person, einer Organisation oder einem IT-System) zuordnen und seinen Geltungsbereich bestimmen. Public-Key-Zertifikate enthalten in der Regel die folgenden Informationen:
- Den Namen (oder eine andere eindeutige Bezeichnung) des Ausstellers (englisch issuer) des Zertifikates.
- Informationen zu den Regeln und Verfahren, unter denen das Zertifikat ausgegeben wurde.
- Informationen zur Gültigkeitsdauer des Zertifikates.
- Den öffentlichen Schlüssel, zu dem das Zertifikat Angaben macht.
- Den Namen (oder eine andere eindeutige Bezeichnung) des Eigentümers des öffentlichen Schlüssels (engl. subject).
- Weitere Informationen zum Eigentümer des öffentlichen Schlüssels.
- Angaben zum zulässigen Anwendungs- und Geltungsbereich des öffentlichen Schlüssels.
- Eine digitale Signatur des Ausstellers über alle anderen Informationen.
Bei hohen Sicherheitsanforderungen können qualifizierte Zertifikate verwendet werden, deren Aussteller gesetzlich vorgegebenen Sicherheitsvorgaben und staatlicher Aufsicht unterliegen (CA certificate authority).
Beim Signieren wird der private Schlüssel verwendet. Beim Verschlüsseln kommt der öffentliche Schlüssel des Empfängers zum Einsatz, so dass nur dieser die Daten mit seinem privaten Schlüssel wieder entschlüsseln kann.
SSL[edit]
SSL stands for Secure Socket Layer, successor is Transport Layer Security (TLS). The purpose of the protocol is:
- authentification of the communication participants via asymmetric decryption
- end-to-end tranport via symmetric decryption
- ensuring data integrity
SSL Handshake Protocol
Austausch zwischen Webbrowser und Server:
- Ein Browser versucht, eine Verbindung zu einer mit SSL gesicherten Website herzustellen.
- Einigung auf Version, etc.
- Der Browser fordert die Identität des Webservers an.
- Der Server sendet eine Kopie seines SSL-Zertifikats an den Browser.
- This certificate must be trusted by either the client itself or a party that the client trusts.
- Afterwardy a key for symmetric encryption is exchanged.
- Browser und Server tauschen verschlüsselte Daten aus.
Files[edit]
PEM[edit]
- .pem is a container format that may include just the public certificate (such as with Apache installs, and CA certificate files /etc/ssl/certs), or may include an entire certificate chain including public key, private key, and root certificates. Confusingly, it may also encode a CSR (e.g. as used here) as the PKCS10 format can be translated into PEM. The name is from Privacy Enhanced Mail (PEM), a failed method for secure email but the container format it used lives on, and is a base64 translation of the x509 ASN.1 keys.
-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----