Sicherheitskonzepte

Bei der traditionellen Verschlüsselung mit privaten oder symmetrischen Schlüsseln wird ein einzelner geheimer Schlüssel benötigt, der von zwei oder mehr Parteien für eine sichere Kommunikation benutzt wird. Dieser Schlüssel wird benutzt, um sichere Meldungen zu verschlüsseln und zu entschlüsseln, die zwischen den Parteien verschickt werden, wobei eine vorherige, sichere Verteilung des Schlüssels an jede Partei vorausgesetzt wird. Das Problem bei dieser Methode besteht darin, dass der Schlüssel nur schwer sicher übertragen und gespeichert werden kann.

Die Verschlüsselung mit Public Keys bietet eine Lösung für dieses Problem, indem Public/Private Key-Paare und eine sichere Methode für die Verteilung des Schlüssels benutzt werden. Der frei verfügbare Public Key wird benutzt, um Meldungen zu verschlüsseln, die nur von dem Inhaber des zugehörigen Private Keys entschlüsselt werden können. Der Private Key wird zusammen mit anderen Sicherheits-ID-Daten sicher in einem verschlüsselten Container gespeichert, der als Wallet bezeichnet wird.

Algorithmen mit Public Keys können gewährleisten, dass die Meldung geheim bleibt, garantieren jedoch nicht unbedingt eine sichereKommunikation, weil die Identität der kommunizierenden Parteien nicht überprüft wird. Um sichere Kommunikationen zu erstellen, muss gewährleistet sein, dass der Public Key, der für die Verschlüsselung einer Meldung benutzt wird, in Wirklichkeit dem Zielempfänger gehört. Sonst kann eine dritte Partei die Kommunikation potenziell abhören und Anforderungen mit Public Keys unterbrechen, indem der eigene Public Key als legitimer Schlüssel verwendet wird (die so genannte man-in-the-middle attack).

Um eine derartige Attacke zu vermeiden, muss der Eigentümer des Public Key mit einem Prozess überprüft werden, der als Berechtigungsprüfung bezeichnet wird. Die Berechtigungsprüfung kann über eine Zertifizierungsstelle (CA) vorgenommen werden, eine dritte Partei, die von beiden kommunizierenden Parteien anerkannt wird.

Die CA gibt Public Key-Zertifikate aus, die den Namen, den Public Key und bestimmte andere Sicherheits-ID-Daten einer Entität enthalten. Diese ID-Daten umfassen typischerweise den CA-Namen, die CA-Signatur und das Gültigkeitsdatum des Zertifikats (Von-Datum, Bis-Datum).

Die CA benutzt ihren Private Key, um eine Meldung zu verschlüsseln, während der Public Key für die Entschlüsselung der Meldung benutzt wird, sodass sichergestellt ist, dass die Meldung von der CA verschlüsselt wurde. Der öffentliche CA-Schlüssel ist bekannt und muss nicht jedes Mal auf Berechtigung überprüft werden, wenn er aufgerufen wird. Derartige öffentliche CA-Schlüssel werden in einem Oracle Wallet gespeichert.