Nowoczesne tryby szyfrowania obsługują powiązane dane, które są uwierzytelniane, ale nie są szyfrowane. W ten sposób możesz powiązać tekst szyfrowany z konkretnym kontekstem.
Przykłady powiązania szyfru z powiązanymi danymi:
Szyfrowanie poszczególnych baz danych w komórkach (lub poszczególnych kolumnach). Dzięki temu tekst komórki jest tylko w tej konkretnej komórce. Dzięki temu atakujący nie może przenieść tekstu szyfrującego z jednej komórki do drugiej. W tym przykładzie tekst szyfru powinien być powiązany z elementami
column_id
irow_id
dla danej komórki bazy danych.Przechowywanie tekstów szyfrowanych w różnych klientach pozwala wykrywać niewłaściwe zachowanie, jeśli Klient A dostarcza odszyfrowywany tekst klienta B. Parametr ciphertext powinien być powiązany z nazwą klienta.
Tink ma kilka możliwości powiązania szyfru z kontekstem:
AEAD, AEAD przesyłane strumieniowo i Deterministyczne AEAD akceptują powiązane dane wejściowe wraz ze zwykłym tekstem. Odszyfrowywanie nie powiedzie się, jeśli powiązane dane nie zostaną udostępnione za pomocą kodu szyfrującego.
Szyfrowanie hybrydowe zapewnia tę samą funkcję dzięki parametrowi informacji kontekstowych.