Https Prinzip
Zur sicheren Ãœbertragung wird zwischen Anwendung und TCP eine "Zwischenschicht" eingebaut, die die sichere Übertragung der Daten durch Http organisiert.
Diese Zwischenschicht heisst: SSL – Secure Socket Layer bzw. TLS – Transport Layer Secure
Das Verfahren kann bei vielen Anwendungsprotokollen (Schicht 5-7) angewendet werden, vorzugsweise aber als Https.
Schema Sichere Datenkommunikation mit Https
Zertifizierung bei Https
Vorgang Datenkommunikation bei Https Verbindung
- Der HTTPS Server bildet aus der Server-ID einen Hash
- Der Hash wird vom Server mit seinem Privat-Key verschlüsselt
- Nun sendet der HTTPS Server Server-ID, Public-Key und verschlüsselten Hashwert an den Client
- Der Client bildet nun aus der Server-ID ebenfalls einen Hashwert
- Der Client entschlüsselt mit dem Public-Key des HTTPS Servers den empfangenen verschlüsselten Hashwert.
- Die beiden Hashwerte werden verglichen und bei Übereinstimmung kann ein symmetrischer Session-Key für die Datenübertragung ausgetauscht werden.
Vorgang Zertifizierung des Public-Keys bei Https
Das Problem bei HTTPS Verbindungen besteht darin, dass es möglich ist den Public-Key des Servers „zu fälschen“. Hier wird dem Client der Public-Key eines Angreifers untergeschoben. Um dies zu verhindern wird der Hash des Public-Key des Servers mit dem Private-Key einer sogenannten CA (Trust Center) verschlüsselt. Der Client kann diesen mit dem Public-Key der CA entschlüsseln.
- Der Server sendet den mit dem Private Key der CA verschlüsselten Hashwert seines Public-Keys und seinen Public-Key.
- Der Client entschlüsselt den verschlüsselten Hashwert des Servers mit dem Public-Key der CA.
- aus dem Public-Key des Servers bildet der Client einen Hashwert.
- die Hashwerte werden nun verglichen und bei Übereinstimmung kann ein symmetrischer Session-Key für die Datenübertragung ausgetauscht werden.