Moderne Verschlüsselungsmodi unterstützen verknüpfte Daten, die authentifiziert, aber nicht verschlüsselt werden. So kann ein Geheimtext mit einem bestimmten Kontext verknüpft werden.
Beispiele für die Bindung von Geheimtext an zugehörige Daten:
Verschlüsselung einer Datenbank zeilenweise (oder spaltenweise). So wird sichergestellt, dass der Geheimtext der Zelle nur in dieser bestimmten Zelle gültig ist. So wird verhindert, dass der Angreifer den Geheimtext von einer Zelle in eine andere verschiebt. In diesem Beispiel sollte der Geheimtext an
column_id
undrow_id
für die angegebene Datenbankzelle gebunden sein.Wenn Sie Geheimtexte in verschiedenen Clients speichern, können Sie Fehlverhalten erkennen, wenn Client A den Geheimtext von Client B zur Entschlüsselung bereitstellt. Hier sollte der Geheimtext an den Namen des Kunden gebunden sein.
Tink bietet mehrere Möglichkeiten, den Geheimtext an seinen Kontext zu binden:
AEAD, Streaming AEAD und deterministische AEAD akzeptieren neben dem Klartext auch eine zugehörige Dateneingabe. Die Entschlüsselung schlägt fehl, wenn die zugehörigen Daten nicht mit dem Geheimtext bereitgestellt werden.
Die Hybridverschlüsselung bietet die gleiche Funktion mit dem Parameter „context_info“.