Маскирование без дублей: перестановка вместо проверок на уникальность

habrahabr.ru · world
Full story

A former DBA recalls that one of his least favorite tasks was making a test copy of production without personal data. Swapping values is not hard, but difficulties begin with columns that have a unique index. He and a small team are now developing a service for masking personal data in PostgreSQL and SQL Server, and this was one of the first serious problems they faced.

Когда-то я работал DBA, и одной из самых нелюбимых задач было «сделать копию прода для тестов, только без персональных данных». Заменить значения несложно. Сложности начинаются на колонках с уникальным индексом. Сейчас мы с небольшой командой разрабатываем сервис для маскирования персональных данных в PostgreSQL и SQL Server. Одной из первых серьёзных задач, с которой мы столкнулись, стала проблема уникальности данных. Ниже расскажу, к каким выводам мы пришли: почему случайная замена может приводить к дубликатам, во что обходится их устранение и как перестановка с сохранением формата (format-preserving encryption, FPE) позволяет сохранить уникальность без проверок на занятость значений. В конце разберём, где заканчиваются гарантии этого подхода и чего он не позволяет добиться. Читать далее

Read full article → Compare