УДК 004.056
АЛГОРИТМ КОНТРОЛЯ ЦЕЛОСТНОСТИ ДЕПЕРСОНАЛИЗИРОВАННЫХ ДАННЫХ В ИНФОРМАЦИОННЫХ СИСТЕМАХ ПЕРСОНАЛЬНЫХ ДАННЫХ
Ю.А. Гатчин, О.А. Теплоухова, А. С. Куракин
Рассматривается проблема обеспечения целостности информации, обрабатываемой в информационных системах персональных данных, при использовании алгоритма деперсонализации данных. Предлагается использовать алгоритм контроля целостности, основанный на использовании хэш-функции, для подтверждения неизменности деперсонализированных данных, хранящихся в информационных системах персональных данных.
Ключевые слова: контроль целостности, хэш-функция, алгоритм деперсонализации, персональные данные, информационные системы персональных данных.
Введение
На сегодняшний день обеспечение безопасности персональных данных (ПДн) является одной из острейших проблем в информационной сфере и взаимоотношениях государства, юридических и физических лиц. Выполнение требований к защищенности ПДн при их обработке в информационных системах, устанавливаемых федеральным законом «О персональных данных» [1], является очень дорогостоящей задачей. Для снижения данных требований [2] к уровню защищенности информационных систем персональных данных (ИСПДн), как правило, применяют способы обезличивания, позволяющие существенно сократить расходы на обеспечение их информационной безопасности и снизить вероятность угроз несанкционированного доступа соответственно. Перспективным способом обезличивания персональных данных является алгоритм деперсонализации [3], применение которого делает невозможным определить принадлежность ПДн их владельцу.
Необходимо отметить, что даже после применения алгоритма деперсонализации ПДн остается актуальной угроза нарушения целостности данных, хранящихся в ИСПДн, направленная на изменение или искажение информации, приводящее к нарушению ее качества. Таким образом, для того чтобы оператор ИСПДн был уверен в том, что загружаемые им данные не были искажены, необходима реализация механизма контроля целостности (КЦ) деперсонализированных данных.
Существующие аппаратно-программные комплексы, включающие в свой функционал КЦ данных, являются достаточно дорогостоящим решением, которое не могут позволить бюджеты небольших организаций. Эффективным способом нейтрализации угрозы нарушения целостности ПДн является предлагаемый в настоящей работе механизм, основанный на использовании хэш-функций в процессе деперсонализации данных, позволяющий оператору отслеживать нарушение целостности деперсонализированных данных. Этот не применявшийся ранее подход не требует больших финансовых затрат и при совместном использовании с алгоритмом деперсонализации позволяет эффективно повысить уровень защищенности ИСПДн от НСД.
Целью данной работы является разработка алгоритма КЦ данных, который при совместном использовании с алгоритмом деперсонализации данных в ИСПДн обеспечивал бы обнаружение нарушения целостности хранящейся в постоянном запоминающем устройстве (ПЗУ) информации при ее загрузке в оперативном запоминающем устройстве (ОЗУ).
Описание алгоритма
Перспективным способом решения данной проблемы является использование алгоритма контроля целостности деперсонализированных данных. Предлагаемый алгоритм основан на вычислении хэш-значения от открытых данных при сохранении информации в ПЗУ до применения алгоритма деперсонализации и после применения обратного алгоритма при загрузке данных в ОЗУ. На основании сравнения полученных хэш-значений делается вывод о целостности загружаемой информации.
Рассмотрим таблицу Д, содержащую персональные данные субъектов, обрабатываемых в ИСПДн. Во время работы оператора таблица Д хранится в ОЗУ в персонализированном виде, т.е. представляет собой открытую информацию (ОИ). До того, как будет применен алгоритм деперсонализации при сохранении данных в ПЗУ, вычислим хэш-значение от ОИ: й(Д). После этого применим алгоритм деперсонализации данных, в результате чего будет получена таблица Дпредставляющая собой файл с закрытой информацией (ЗИ). Добавим вычисленное ранее хэш-значение Ь(Д) к полученному файлу, применив операцию конкатенации, и получим значение ,Р(Д ,й(Д)), которое сохраняется в ПЗУ.
Для того чтобы загрузить персональные данные в ОЗУ необходимо извлечь из хранящегося в ПЗУ файла ,Р(Д ,к(Д)) хэш-значение й(Д), после чего применяем к таблице Д ' обратный алгоритм деперсонализации, в результате чего получаем таблицу Д '. Вычислим новое хэш-значение от полученной таблицы: к(Д ) и сравним со значением, которое было извлечено из хранящегося в ПЗУ файла. В случае если й(Д) совпадает с к(Д ''), принимаем что таблица Д ' совпадает с исходной таблицей ПДн Д, и загружаем ее в ОЗУ для дальнейшей работы. В противном случае, если полученное хэш-значение к(Д ) не совпало
АЛГОРИТМ КОНТРОЛЯ ЦЕЛОСТНОСТИ ДЕПЕРСОНАЛИЗИРОВАННЫХ .
с h(D ), алгоритм должен выдать сообщение оператору о том, что была нарушена целостность файла с деперсонализированными данными.
Хэш-значение от таблицы ПДн D должно вычисляться после каждого применения к ней обратного алгоритма деперсонализации. При очередном сохранении данных в ПЗУ должен формироваться файл с ЗИ в результате конкатенации таблицы D и нового хэш-значения h'(D ).
При получении сообщения о нарушении КЦ оператор может принять решение о повторной проверке целостности деперсонализированных данных. Если вновь вычисленное хэш-значение от таблицы D не будет совпадать с извлеченным значением h(D ), оператор должен сообщить об этом администратору информационной безопасности. После чего в ОЗУ загружается резервная копия деперсонализированной таблицы .
Практическая реализация алгоритма
Использование в предлагаемом алгоритме КЦ хэш-функции обусловлено следующими ее преимуществами:
1. размер входного файла при вычислении хэш-функции может быть произвольным в отличие от шифрования данных;
2. при вычислении хэш-функции не требуется ключ, который необходимо хранить и вводить, что делает реализацию алгоритма очень простой.
Используемая функция ft(M):{0,l}* ^ {0,1}",п 6 N, где М 6 {0,1}* — произвольное цифровое сообщение, должна быть односторонней хэш-функцией, что означает выполнение следующих условий [4]:
1. значение функции h определено для любого цифрового сообщения М 6 {0,1}*;
2. для любого цифрового сообщения М 6 {0,1}* функция h имеет фиксированный порядок п 6 для любого ;
3. для любого М 6 {0,1}* значение h(M) вычисляется за полиномиальное время;
4. для любого Мх 6 {0,1}* вычислительно сложно найти сообщение М2 6 {0,1}*, такое, что Мх Ф М2 , h(M1 ) = h( М 2 );
5. вычислительно невозможно (за разумное время) найти пару (М1,М2 ), М1 Ф М2 , М; 6 {0,1}*, i = 1,2, такую, что ^М^ = ^М2 ).
Свойства 4, 5 являются важнейшими криптографическими свойствами, обеспечивающими стойкость однонаправленных хэш-функций. В случае если злоумышленнику известен алгоритм построения хэш-функции, первоначальное сообщение М 6 {0,1}* и хэш-значение ^М), то вероятность Р(к ,п) того, что среди сообщений N, ...,Nfc 6 {0,1}* существует номер i = 1,..,к 6 N , такой что ^М) = h(N) равна:
Р(к,п) = 1 — (1 — 2_n)fc « к2"и.
Таким образом, для осуществления взлома фиксированного значения для 128-битных хэш-значений (например, MD4 (Message Digest 4), MD5(Message Digest 5)) потребуется перебрать около 2 1 2 0 текстов, что за обозримое время не представляется возможным.
Необходимо отметить, что кроме метода прямого перебора существуют более эффективные атаки на хэш-функции. Так, например, взлом за линейное время (туннельный эффект) [5] основывается на том, что большинство хэш-функций используют сдвиговую функцию: текст разбивается на блоки , затем происходит итерационный процесс подсчета хэш-значения h ; = / (h_ ), i 6 N . В силу небольшой длины раунда можно применить дифференциальный анализ и найти такой текст AD, что h (ММ; + AD ) = h ( М ;).
Ввиду вышесказанного, в предлагаемом алгоритме КЦ рекомендуется использовать одностороннюю хэш-функцию в совокупности с методом повышения ее криптостойкости, например, метод перестановок. В этом случае хэш-функция будет строиться по правилу: КМ) = hMllhfa(М)) ... ||h(nfc(М)) .
В данном случае п;, i = 1,..., к , - произвольные перестановки текста М. Полученное хэш-значение будет хэш-функцией как конкатенация хэш-значений однонаправленной хэш-функции. Данный метод эффективен против туннельного эффекта, поскольку после перестановки полученный текст отличается от исходного не на туннельный эффект AD, что приводит к отличию хэш-значений данных текстов. Кроме того, данный метод может быть эффективно распараллелен, что является важным преимуществом для использования его на маломощных компьютерах.
Для получения хэш-значения таблицы D рекомендуется использовать MD5 - 128-битный алгоритм хеширования, предназначенный для вычисления хэш-функций от сообщений произвольной длины. Данный алгоритм является улучшенной в плане безопасности версией MD4.
На вход алгоритма MD5 поступает входной поток данных, хэш которого необходимо найти. Длина сообщения может быть любой (в том числе нулевой). Запишем длину сообщения в L. Это число целое
и неотрицательное. Кратность каким-либо числам необязательна. После поступления данных идет процесс подготовки потока к вычислениям. Сначала дописывают единичный бит в конец потока (байт 0x80), затем необходимое число нулевых бит. Входные данные выравниваются так, чтобы их новый размер Ь ' удовлетворял условию:
Ь' = 512хЫ + 448.
Далее выравненные данные разбиваются на блоки (слова) по 32 бита, и каждый блок проходит 4 раунда из 16 операторов. Для 4 раундов используются следующие функции от трех аргументов:
1 раунд: Р(Х,У,г) = (XлY)v(XлZ);
2 раунд: = (XлZ)v(Z лY);
3 раунд: = X®Y®Z;
4 раунд: = Y®(ZvX).
Так как множество аргументов хэш-функции счетно, а значения имеют определенный порядок, неизбежно возникновение коллизии - получение одного и того же хэша для двух разных входных значений. При использовании в данном случае одного из самых универсальных методов поиска коллизий -атаки «дней рождений», отыскание коллизии для хэш-функции разрядности п потребует в среднем около
п
22 операций, что для функции МЭ5 составляет 264. Такая вычислительная сложность нахождения коллизий позволяет гарантировать очень низкую вероятность подмены таблиц с ПДн злоумышленником, которая не была бы обнаружена алгоритмом контроля целостности.
При практической реализации алгоритма также целесообразно хранить отдельно резервные копии деперсонализированных данных. Применение таких мер позволит избежать потери ПДн, обрабатываемых в ИСПДн, в случае, если злоумышленник получит доступ к ЗИ, хранящейся в ПЗУ, и целостность данных будет нарушена.
Заключение
Предложенный алгоритм является наиболее перспективным и оптимальным решением задач по контролю целостности персональных данных, хранящихся и обрабатываемых в информационных системах персональных данных.
Данный алгоритм обладает следующими преимуществами:
1. размер файла с персональными данными, поступающего на вход алгоритма, может быть произвольным;
2. для вычисления используемой в алгоритме хэш-функции не требуется ключ, который необходимо хранить и вводить, что значительно упрощает программную реализацию;
3. для применения данного решения не требуется дополнительных аппаратных средств, используемый алгоритм вычисления хэш-функции МЭ5 входит в состав открытых библиотек криптопримитивов, таких как Ореп881, Crypt.dll;
4. алгоритм может быть реализован в качестве программной надстройки над алгоритмом деперсонализации персональных данных.
Литература
1. Федеральный закон Российской Федерации от 27 июля 2006 г. № 152-ФЗ. О персональных данных. Принят Государственной Думой Федерального Собрания Российской Федерации 8 июля 2006 г.: одобрен Советом Федерации Федерального Собрания Российской Федерации 14 июля 2006 г. // Российская газета. - 2006. - 29 июля.
2. Об утверждении Положения об обеспечении безопасности персональных данных при их обработке в информационных системах персональных данных: Постановление Правительства Российской Федерации от 17 ноября 2007 г. № 781 г. Москва // Российская газета. - 2007. - 21 ноября.
3. Куракин А.С. Алгоритм деперсонализации персональных данных // Научно-технический вестник информационных технологий, механики и оптики. - 2012. - № 6 (82). - С. 130-135.
4. Девянин П.Н., Михальский О.О., Правиков Д.И. Теоретические основы компьютерной безопасности: Учебное пособие для вузов. - М.: Радио и связь, 2000. - 192 с.
5. Лёвин В.Ю. О повышении криптостойкости однонаправленных хеш-функций // Фундаментальная и прикладная математика. - 2009. - Т. 15. - № 5. - С. 171-179.
Гатчин Юрий Арменакович - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, доктор технических наук, профессор, зав. кафедрой, [email protected] Теплоухова Ольга Александровна - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, аспирант, tep1ouhovaoa@gmai1. сот
Куракин Александр Сергеевич - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, аспирант, [email protected]