Chcę powiązać tekst szyfru z kontekstem
Nowoczesne tryby szyfrowania obsługują powiązane dane, które są uwierzytelniane, ale nie są szyfrowane. Można go użyć do powiązania szyfrogramu z określonym kontekstem.
Przykłady wiązania szyfrowanego tekstu z powiązanymi danymi:
szyfrowanie bazy danych komórka po komórce (lub kolumna po kolumnie); Dzięki temu szyfrogram komórki jest prawidłowy tylko w tej konkretnej komórce. Zapobiega to przenoszeniu przez atakującego tekstu zaszyfrowanego z jednego pola do drugiego. W tym przykładzie tekst zaszyfrowany powinien być powiązany z wartościami column_id
i row_id
w danej komórce bazy danych.
Przechowywanie szyfrów w różnych klientach umożliwia wykrywanie nieprawidłowego działania, jeśli klient A udostępnia szyfr klienta B do odszyfrowania. W tym przypadku szyfrogram powinien być powiązany z nazwą klienta.
Tink ma kilka opcji łączenia szyfrowanego tekstu z kontekstem:
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-03-04 UTC.
[null,null,["Ostatnia aktualizacja: 2025-03-04 UTC."],[[["Modern encryption techniques can authenticate additional data without encrypting it, ensuring data integrity and context."],["This \"associated data\" links ciphertext to its specific location or user, preventing unauthorized use or manipulation."],["Tink offers multiple encryption options, including AEAD, Streaming AEAD, Deterministic AEAD, and Hybrid Encryption, that support binding ciphertext to its context for enhanced security."],["Developers can utilize associated data to prevent attacks like ciphertext movement or unauthorized decryption by ensuring the ciphertext remains tied to its intended context."]]],["Encryption modes utilize associated data to authenticate but not encrypt, binding ciphertexts to specific contexts. This prevents ciphertext misuse. Examples include binding database cell data to `column_id` and `row_id` or binding data to a client's name. Tink offers this functionality through AEAD, Streaming AEAD, Deterministic AEAD with an associated data input and Hybrid encryption with a context info parameter. Decryption fails if the correct associated data is not provided.\n"]]