Маскирование данных - Википедия - Data masking
Маскирование данных[1][2] или обфускация данных[3] это процесс скрытия исходных данных с измененным содержанием (символы или другие данные).
Основная причина применения маскировки к поле данных для защиты данных, которые классифицируются как личная информация, конфиденциальные личные данные, или коммерчески конфиденциальные данные. Однако данные должны оставаться пригодными для использования в целях проведения действительных циклов испытаний. Он также должен выглядеть реальным и последовательным. Чаще применяется маскирование к данным, которые представлены за пределами корпоративной производственной системы. Другими словами, когда данные нужны для разработка приложения, построение программных расширений и проведение различных циклы испытаний. Обычной практикой в корпоративных вычислениях является получение данных из производственных систем для заполнения компонента данных, необходимого для этих непроизводственных сред. Однако эта практика не всегда ограничивается непроизводственной средой. В некоторых организациях данные, которые отображаются на экранах терминалов для операторов центра обработки вызовов, могут иметь динамическое маскирование в зависимости от разрешений безопасности пользователя (например, запрещение операторам центра обработки вызовов просматривать номера кредитных карт в биллинговых системах).
Основная проблема с точки зрения корпоративного управления[4] заключается в том, что персонал, выполняющий работу в этих непроизводственных средах, не всегда имеет право на работу с информацией, содержащейся в производственных данных. Эта практика представляет собой брешь в безопасности, где данные могут быть скопированы неуполномоченным персоналом, а меры безопасности, связанные со стандартными средствами управления производственным уровнем, могут быть легко обойдены. Это представляет собой точку доступа для нарушение безопасности данных.
Общая практика маскировки данных на уровне организации должна быть тесно связана с практикой управления тестированием.[5][6] и лежащей в основе Методологии и должны включать процессы для распределения подмножеств замаскированных тестовых данных.[7][8][9]
Фон
Данные, участвующие в маскировании или обфускации данных, должны оставаться значимыми на нескольких уровнях:
- Данные должны оставаться значимыми для логики приложения. Например, если элементы адресов должны быть скрыты, а город и пригород заменены на заменяющие города или пригороды, тогда, если в приложении есть функция, которая проверяет почтовый индекс или поиск почтового индекса, этой функции все равно должно быть разрешено работать без ошибка и работайте должным образом. То же самое верно и для проверка алгоритма кредитной карты чеки и ИНН проверки.
- Данные должны претерпеть достаточно изменений, чтобы не было очевидным, что замаскированные данные взяты из источника производственных данных. Например, в организации может быть общеизвестно, что 10 старших менеджеров зарабатывают более 300 тысяч долларов. Если тестовая среда системы управления персоналом организации также включает 10 идентификаторов в одной и той же группе доходов, тогда другая информация может быть собрана вместе, чтобы реконструировать реальную личность. Теоретически, если данные явно замаскированы или запутаны, то для кого-то, намеревающегося взломать данные, было бы разумно предположить, что они могли бы реконструировать идентификационные данные, если бы они имели некоторую степень знания идентичностей в производственном наборе данных. Соответственно, обфускация данных или маскирование набора данных применяется таким образом, чтобы гарантировать защиту записей идентичности и конфиденциальных данных, а не только отдельных элементов данных в дискретных полях и таблицах.
- Может потребоваться, чтобы замаскированные значения были согласованными для нескольких баз данных внутри организации, если каждая из баз данных содержит конкретный маскируемый элемент данных. Приложения могут сначала обращаться к одной базе данных, а затем обращаться к другой, чтобы получить связанную информацию, в которой внешний ключ был замаскирован (например, приложение центра обработки вызовов сначала извлекает данные из основной базы данных клиентов и, в зависимости от ситуации, впоследствии обращается к одной из нескольких других баз данных с очень разными финансовыми продуктами.) Для этого необходимо, чтобы применяемое маскирование повторялось (одно и то же входное значение для алгоритма маскирования всегда дает одно и то же выходное значение), но не может быть реконструировано для возврата к исходному значению. Дополнительные ограничения, упомянутые в пункте (1) выше, также могут применяться в зависимости от задействованных элементов данных. Если в базах данных используются разные наборы символов, которые необходимо соединить в этом сценарии, необходимо будет применить схему преобразования исходных значений в общее представление либо с помощью самого алгоритма маскирования, либо до вызова указанного алгоритма.
Методы
Замена
Подстановка - один из наиболее эффективных методов применения маскировки данных и возможности сохранить аутентичный внешний вид записей данных.
Это позволяет выполнять маскирование таким образом, чтобы другое аутентично выглядящее значение могло быть заменено существующим значением. Существует несколько типов полей данных, для которых этот подход обеспечивает оптимальное преимущество в маскировке всего подмножества данных относительно того, является ли это набором замаскированных данных. Например, при работе с исходными данными, которые содержат записи о клиентах, настоящая фамилия или имя могут быть случайным образом заменены из предоставленного или настроенного файла поиска. Если первый проход замены позволяет применить мужское имя ко всем именам, то второй проход должен разрешить применение женского имени ко всем именам, где пол равен "F." Используя этот подход, мы могли бы легко поддерживать гендерный состав в структуре данных, применять анонимность к записям данных, но также поддерживать реалистично выглядящую базу данных, которую нелегко идентифицировать как базу данных, состоящую из замаскированных данных.
Этот метод подстановки необходимо применять для многих полей, которые есть в структурах БД по всему миру, таких как телефонные номера, Zip коды и почтовые индексы, а также номера кредитных карт и другие номера типов карт, такие как номера социального страхования и Medicare числа, где эти числа действительно должны соответствовать проверке контрольной суммы Алгоритм Луна.
В большинстве случаев файлы замены должны быть довольно обширными, поэтому наличие больших наборов данных замены, а также возможность применять настраиваемые наборы замены данных должны быть ключевым элементом критериев оценки для любого решения по маскированию данных.
Перемешивание
Метод перетасовки - очень распространенная форма обфускации данных. Он похож на метод подстановки, но он извлекает набор подстановки из того же столбца данных, который маскируется. Проще говоря, данные в столбце случайным образом перемешиваются. Однако, если он используется изолированно, любой, кто хоть сколько-нибудь знает исходные данные, может затем применить сценарий «Что, если» к набору данных, а затем собрать воедино настоящую личность. Метод перетасовки также можно изменить, если алгоритм перетасовки может быть расшифрован.
Однако у перетасовки есть некоторые сильные стороны в определенных областях. Если, например, данные на конец года для финансовой информации в тестовой базе данных, можно замаскировать имена поставщиков, а затем перетасовать стоимость счетов по всей замаскированной базе данных. Крайне маловероятно, что кто-либо, даже кто-то, хорошо знакомый с исходными данными, сможет восстановить истинную запись данных до ее исходных значений.
Разница в количестве и дате
Метод числовой дисперсии очень полезен для применения к полям финансовой и датированной информации. Фактически, метод, использующий этот способ маскирования, может по-прежнему оставлять значимый диапазон в наборе финансовых данных, таком как платежная ведомость. Если применяемая дисперсия составляет около +/- 10%, то это все еще очень значимый набор данных с точки зрения диапазонов зарплат, которые выплачиваются получателям.
То же самое относится и к информации о дате. Если для всего набора данных необходимо сохранить целостность демографических и актуарных данных, то применение случайного числового отклонения в +/- 120 дней до полей даты сохранит распределение дат, но все равно предотвратит прослеживаемость до известной сущности на основе их известных фактическая дата или рождение или известное значение даты для любой записи, которая маскируется.
Шифрование
Шифрование часто является наиболее сложным подходом к решению проблемы маскировки данных. Шифрование алгоритм часто требует применения «ключа» для просмотра данных на основе прав пользователя. Часто это звучит как лучшее решение, но на практике ключ может быть выдан персоналу без надлежащих прав на просмотр данных. Это лишает смысла маскировку. Затем старые базы данных могут быть скопированы с исходными учетными данными предоставленного ключа, и та же неконтролируемая проблема останется.
В последнее время проблема шифрования данных при сохранении свойств объектов получила признание и вновь привлекла к себе внимание поставщиков и научных кругов. Новый вызов породил алгоритмы под названием FPE (формат с сохранением шифрования). Они основаны на принятом алгоритмическом режиме AES, что позволяет распознавать их NIST.[10]
Обнуление или удаление
Иногда применяется очень упрощенный подход к маскированию путем применения нулевого значения к определенному полю. Подход с нулевым значением действительно полезен только для предотвращения видимости элемента данных.
Почти во всех случаях это уменьшает степень целостность данных который сохраняется в наборе замаскированных данных. Это нереалистичное значение, и в этом случае не удастся выполнить любую проверку логики приложения, которая могла быть применена во внешнем программном обеспечении, которое находится в тестируемой системе. Он также показывает всем, кто желает реконструировать какие-либо идентификационные данные, что маскирование данных было применено в некоторой степени к набору данных.
Маскировка
Шифрование символов или маскирование определенных полей также является еще одним упрощенным, но очень эффективным методом предотвращения просмотра конфиденциальной информации. На самом деле это расширение предыдущего метода обнуления, но больший акцент делается на том, чтобы данные оставались реальными, а не полностью замаскированными.
Обычно это применяется к данным кредитных карт в производственных системах. Например, оператор в центре обработки вызовов может выставить счет за товар на кредитную карту клиента. Затем они цитируют платежную ссылку на карту с последними 4 цифрами XXXX XXXX xxxx 6789. Как оператор, они могут видеть только последние 4 цифры номера карты, но как только биллинговая система передает данные клиента для списания, полный номер сообщается системам платежных шлюзов.
Эта система не очень эффективна для тестовых систем, но очень полезна для описанного выше сценария выставления счетов. Он также широко известен как метод динамического маскирования данных.[11][12]
Дополнительные сложные правила
Дополнительные правила также могут быть учтены в любом решении по маскировке, независимо от того, как построены методы маскирования. Информационные документы, не зависящие от продукта[13] являются хорошим источником информации для изучения некоторых из наиболее распространенных сложных требований к корпоративным решениям маскирования, которые включают правила внутренней синхронизации строк, правила внутренней синхронизации таблиц и таблицы[14] к правилам синхронизации таблиц.
Различные виды
Маскирование данных тесно связано с данными тестирования зданий. Два основных типа маскирования данных - это статическое маскирование и маскирование данных «на лету».[15]
Статическая маскировка данных
Статическое маскирование данных обычно выполняется для золотой копии базы данных, но также может применяться к значениям в других источниках, включая файлы. В средах БД производственные администраторы баз данных обычно загружают резервные копии таблиц в отдельную среду, сокращают набор данных до подмножества, содержащего данные, необходимые для определенного раунда тестирования (метод, называемый «подмножество»), применяют правила маскирования данных, пока данные находятся в stasis, примените необходимые изменения кода из системы управления версиями и / или отправьте данные в желаемую среду.[16]
Детерминированное маскирование данных
Детерминированное маскирование - это процесс замены значения в столбце на одно и то же значение в той же строке, в той же таблице, в той же базе данных / схеме и между экземплярами / серверами / типами баз данных. Пример: в базе данных есть несколько таблиц, в каждой из которых есть столбец с именами. При детерминированном маскировании имя всегда будет заменяться одним и тем же значением - «Линн» всегда будет «Дениз» - везде, где «Линн» может быть в базе данных.[17]
Обфускация статистических данных
Существуют также альтернативы статическому маскированию данных, основанные на стохастических возмущениях данных, которые сохраняют некоторые статистические свойства исходных данных. Примеры методов обфускации статистических данных включают: дифференциальная конфиденциальность[18]и DataSifter метод.[19]
Маскирование данных на лету
Маскирование данных на лету[20] происходит в процессе передачи данных из среды в среду без соприкосновения данных с диском. Тот же метод применяется к «динамическому маскированию данных», но по одной записи за раз. Этот тип маскирования данных наиболее полезен для сред с непрерывным развертыванием, а также для сильно интегрированных приложений. Организации, которые используют непрерывное развертывание или непрерывная доставка у практик нет времени, необходимого для создания резервной копии и загрузки ее в золотую копию базы данных. Таким образом, важна постоянная отправка небольших подмножеств (дельт) замаскированных данных тестирования из производственной среды. В сильно интегрированных приложениях разработчики получают каналы из других производственных систем в самом начале разработки, и маскирование этих каналов либо игнорируется, либо не учитывается в бюджете до более позднего времени, что делает организации несоответствующими. Наличие маскировки данных «на лету» становится важным.
Динамическое маскирование данных
Динамическое маскирование данных похоже на маскирование данных «на лету», но отличается в том смысле, что маскирование данных «на лету» - это копирование данных из одного источника в другой, чтобы последний мог использоваться совместно. Динамическое маскирование данных происходит во время выполнения, динамически и по запросу, поэтому нет необходимости во втором источнике данных для динамического хранения замаскированных данных.
Динамическое маскирование данных позволяет использовать несколько сценариев, многие из которых основаны на строгих правилах конфиденциальности, например: Валютное управление Сингапура или правила конфиденциальности в Европе.
Динамическое маскирование данных на основе атрибутов и управляемый политикой. Политики включают:
- Врачи могут просматривать медицинские карты пациентов, которым они назначены (фильтрация данных)
- Врачи не могут просматривать поле SSN в медицинской карте (маскирование данных).
Динамическое маскирование данных также можно использовать для шифрования или дешифрования значений на лету, особенно при использовании шифрование с сохранением формата.
В последние годы появилось несколько стандартов для реализации динамической фильтрации и маскирования данных. Например, XACML политики могут использоваться для маскировки данных внутри баз данных.
Существует пять возможных технологий применения динамического маскирования данных:
- В базе данных: база данных получает SQL и применяет перезапись к возвращаемому замаскированному набору результатов. Применимо для разработчиков и администраторов баз данных, но не для приложений (поскольку пулы соединений, кэширование приложений и шина данных скрывают идентификационные данные пользователя приложения от базы данных и также могут вызвать повреждение данных приложения).
- Сетевой прокси между приложением и базой данных: захватывает SQL и применяет перезапись к запросу выбора. Применимо для разработчиков и администраторов баз данных с простыми запросами select, но не для хранимых процедур (которые прокси идентифицирует только исполняемого) и приложений (поскольку пулы соединений, кэширование приложений и шина данных скрывают идентификационные данные пользователя приложения из базы данных, а также могут вызвать повреждение данных приложения).
- Сетевой прокси между конечным пользователем и приложением: определение текстовых строк и их замена. Этот метод неприменим для сложных приложений, так как он легко может привести к повреждению, если непреднамеренно применяется замена строки в реальном времени.
- Изменения кода в приложениях и XACML: изменения кода обычно трудно выполнить, невозможно поддерживать и неприменимо для упакованных приложений. Некоторые приложения, такие как Oracle E-Business Suite, PeopleSoft и JD Edwards, позволяют добавлять код API в код своего приложения для включения динамического маскирования данных.[21]
- Во время выполнения приложения: путем инструментирования времени выполнения приложения определяются политики для перезаписи результирующего набора, возвращаемого из источников данных, при сохранении полной видимости для пользователя приложения. Этот метод является единственным применимым способом динамического маскирования сложных приложений, поскольку он позволяет управлять запросом данных, результатом данных и результатом пользователя.
- Поддерживается подключаемым модулем браузера: в случае SaaS или локальных веб-приложений надстройки браузера могут быть настроены для маскирования полей данных, соответствующих точному Селекторы CSS. Это можно сделать, отметив конфиденциальные поля в приложении, например, HTML класс или путем поиска правильных селекторов, которые идентифицируют поля, которые необходимо скрыть или замаскировать.
Маскирование данных и облако
В последние годы организации все чаще и чаще разрабатывают свои новые приложения в облаке, независимо от того, будут ли окончательные приложения размещаться в облаке или локально. Облачные решения на данный момент позволяют организациям использовать инфраструктуру как услугу или IaaS, Платформа как услуга или PaaS, и Программное обеспечение как услуга или SaaS. Существуют различные режимы создания тестовых данных и их перемещения из локальных баз данных в облако или между различными средами в облаке. Динамическое маскирование данных становится еще более важным в облаке, когда клиентам необходимо защищать данные PII, полагаясь на поставщиков облачных услуг для администрирования своих баз данных.[22]Маскирование данных неизменно становится частью этих процессов в SDLC, поскольку SLA сред разработки обычно не такие строгие, как SLA производственных сред, независимо от того, размещено ли приложение в облаке или локально.
Смотрите также
Рекомендации
- ^ «Маскирование данных или шифрование данных». www.iri.com. Innovative Routines International. Получено 24 августа 2017.
- ^ «Маскировка тестовых данных». DATPROF. 2014-05-20. Получено 2020-04-29.
- ^ «Определение маскировки данных». Получено 24 августа 2017.
- ^ «Специалисты по управлению информацией». GBT. Получено 24 августа 2017.
- ^ «Жизненный цикл данных и методология управления тестированием». Данные Кухня. Получено 24 августа 2017.
- ^ «Управление тестовыми данными: учебник». IRI. Получено 24 августа 2017.
- ^ «Дополнительная настройка». Данные Кухня. Получено 24 августа 2017.
- ^ «Подмножество базы данных». IRI. Получено 24 августа 2017.
- ^ "Подмножество данных". DATPROF. 2019-05-23. Получено 2020-04-29.
- ^ «Системы обработки данных с механизмами шифрования и дешифрования с сохранением формата». Получено 24 августа 2017.
- ^ «Решения IRI для динамического маскирования данных». Получено 24 августа 2017.
- ^ «Динамическое маскирование данных с помощью IBM Optim». Получено 24 августа 2017.
- ^ «Маскирование данных: что нужно знать» (PDF). Net2000 Ltd. Получено 24 августа 2017.
- ^ «Объяснение правил синхронизации и комплексного маскирования данных». Получено 24 августа 2017.
- ^ DataSunrise (2017). «Динамическое и статическое маскирование данных».
- ^ «Статические функции маскировки данных». IRI. Получено 24 августа 2017.
- ^ «Детерминированное маскирование данных». DATPROF. 2020-03-19. Получено 2020-04-29.
- ^ США 7698250, Синтия Дворк и Фрэнк МакШерри, "Дифференциальная конфиденциальность данных", опубликовано 13 апреля 2010 г., передано Microsoft Corp (исходное) и Microsoft Technology Licensing LLC (текущее)
- ^ Марино, Симеоне; Чжоу, Нина; Чжао, Йи; Чжоу, Нина; У, Цючэн; Динов, Иво (2018). «DataSifter: статистическая обфускация электронных медицинских карт и других конфиденциальных наборов данных». Журнал статистических вычислений и моделирования. 89 (2): 249–271. Дои:10.1080/00949655.2018.1545228. ЧВК 6450541.
- ^ «Устранение рисков соответствия - маскирование данных в облаке». Получено 24 августа 2017.
- ^ «Безопасность корпоративных приложений». MENTIS Inc. Получено 2020-05-15.
- ^ AWS Big Data (2019). «Защита и аудит данных PII».