Tink APIs akzeptieren beliebige binäre Blobs als Eingabe. Wenn Sie also um strukturierte Daten zu verschlüsseln, Protokollzwischenspeicher, müssen Sie die Daten zuerst zu codieren.
Protokollzwischenspeicher verschlüsseln
So verschlüsseln Sie:
- Serialisiert den Protokollzwischenspeicher in ein Byte-Array.
- Verschlüsseln Sie die serialisierten Byte und speichern oder senden Sie dann den resultierenden Geheimtext. Verwendung: <ph type="x-smartling-placeholder">
So entschlüsseln Sie:
- Entschlüsseln Sie den Geheimtext.
- Wenn Schritt 1 erfolgreich war, deserialisieren Sie den Protokollzwischenspeicher.
Protokollzwischenspeicher vor Manipulation schützen
In den meisten Fällen ist die Verschlüsselung eines protobufs der reinen Authentifizierung vorzuziehen.
So schützen Sie einen protobuf vor Manipulation:
- Serialisiert den Protokollzwischenspeicher in ein Byte-Array.
- Signieren oder authentifizieren Sie die serialisierten Byte. Verwendung:
<ph type="x-smartling-placeholder">
- </ph>
- Digitale Signatur
- MAC
- Speichern Sie die serialisierten Byte zusammen mit der Signatur (oder MAC).
So nehmen Sie eine Bestätigung vor:
- Rufen Sie den serialisierten Protokollzwischenspeicher und seine Signatur (oder MAC-Adresse) ab.
- Überprüfen Sie die Signatur (oder MAC-Adresse).
- Deserialisieren Sie den Protokollzwischenspeicher.
Beachten Sie, dass eine gültige Signatur oder ein gültiger MAC nicht garantieren können, dass die Daten korrekt sind. formatiert sind. Bei einer Implementierung, die die Daten parst, sollte immer davon ausgegangen werden, dass der sind die Daten möglicherweise beschädigt.
Mehrere Datenelemente schützen
Verwenden Sie eine Serialisierungsmethode, um mehrere Datenelemente zu schützen. Alle Daten hinzufügen zu einem protobuf hinzufügen und diese wie oben beschrieben verschlüsseln (oder authentifizieren).
Sie können auch so serialisieren:
serialize(data1 , data2 , …, datan) = 4-byte-data1's length || data1 || 4-byte-data2's length || data2 || … || 4-byte-dataN's length || dataN
Verschlüsseln (oder authentifizieren) Sie abschließend das resultierende Byte-Array.