Moderne Verschlüsselungsmodi unterstützen verknüpfte Daten, die authentifiziert, aber nicht verschlüsselt sind. Hiermit kann ein Geheimtext an einen bestimmten Kontext gebunden werden.
Beispiele für die Bindung von Geheimtext an verknüpfte Daten:
Verschlüsselung einer Datenbank in einer Zelle (oder Spalte für Spalte). Dadurch wird der Geheimtext der Zelle nur in dieser bestimmten Zelle gültig. Dadurch wird verhindert, dass der Angreifer den Geheimtext von einer Zelle in eine andere verschiebt. In diesem Beispiel sollte der Geheimtext an die
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 Clients gebunden sein.
Tink hat mehrere Möglichkeiten, Geheimtext an seinen Kontext zu binden:
AEAD, Streaming AEAD und Deterministische AEAD akzeptieren jeweils eine zugehörige Dateneingabe und den Klartext. Die Entschlüsselung schlägt fehl, wenn die zugehörigen Daten nicht mit dem Geheimtext bereitgestellt werden.
Bei der Hybridverschlüsselung wird das gleiche Feature mit dem Kontextinfoparameter bereitgestellt.