cossacklabs / acra

Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL.
https://www.cossacklabs.com/acra/
Apache License 2.0
1.33k stars 128 forks source link

Searchable tokenization implementation #581

Closed Zhaars closed 1 year ago

Zhaars commented 1 year ago

Current tokenization simply replaces data when we write or read. The idea of this PR is to make it possible to replace the data even in the search requests, thus the search will work during tokenization, not only encryption. We need to replace type column1=1234 with column1=54872, where 348729 is the corresponding tokenized value if consistent_tokenization setting is provided.

This PR contains an implementation of searchable tokenization for PostgreSQL for text/binary protocols.

Checklist