Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Обернихин Виталий Александрович

Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов
<
Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Обернихин Виталий Александрович. Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов : Дис. ... канд. физ.-мат. наук : 05.13.18 : Москва, 2004 104 c. РГБ ОД, 61:05-1/113

Содержание к диссертации

Введение

Глава 1. Обзор существующих одноранговых файловых систем 14

1.1 Одноранговые системы обмена файлами 15

1.1.1 Gnutella 15

1.12 KazaA 15

1.1 3 Self-certifying File System 16

1.2 Одноранговые системы хранения файлов 16

1.2.1 FreeNet 16

1.2.2 OceanStore 17

1 2.3 Cooperative File System (CFS) 18

1.2.4 PAST 18

Глава 2. Распределенная децентрализованная отказоустойчивая файловая система TorFS 19

2.1 Свойства файловой системы 20

2.1.1 Хранение файлов с задаваемой избыточностью. Использование схемы разделения секрета 20

2.1.2 Структура файлов. Транзакция. Покрытие 21

2.1.3 Использование индексного дерева 23

2.1.4 Структура директории 23

2.1.5 Корневая директория 23

2.2 Математическая модель распределенной децентрализованной файловой системы TorFS 24

2.2.1 Определения и аксиомы 24

2.2.2 «Правила вывода» 26

Глава 3. Криптосистемы с открытым ключом на основе линейных кодов 29

3.1 Криптосистемы с открытым ключом 29

3.2 Коды, исправляющие ошибки 31

3 3 Исправление ошибок и стираний 33

3.4 Криптосистема Мак-Элиса 34

3.5 Криптосистема Нидеррайтера 35

3 6 Эквивалентность взлома криптосистем Нидеррайтера и МакЭлиса, использующих шумовую матрицу 36

3.7. Метрика 39

3.7.1 Общие свойства 39

3.7.2 Родительский код 41

3.7 3 Метрика Вандермонда 42

Глава 4. Коды в проективных JT-метриках 43

4.1 Обобщенная граница Синглтона 43

4.2 Коды с максимальным расстоянием в метрике Вандермонда . 44

4.3 Быстрое декодирование оптимальных кодов в метрике Вандермонда 46

Глава 5. Криптосистема с открытым ключом на основе кодов, исправляющих ошибки в -метрике Вандермонда 56

5.1 Криптосистема на основе системы Нидеррайтера 57

5.2 Криптосистема на основе системы МакЭлиса 60

5.3 Возможность одновременного шифрования сообщения и его (п, k)- разделения на части 63

Глава 6. Математические модели контроля доступа для распределенной децентрализованной файловой системы TorFS 66

6.1 Используемые обозначения 68

6.2 Аутентификация пользователей системы 69

6 3 Математическая модель контроля доступа, названная «анонимной» 70

6.3.1 Файл 71

6.3.2 Структура директории 73

6 3.3 Структура ACL 75

6 3.4 Корневая директория 77

6 3.5 Примеры основных операций в системе 77

6 4 Математическая модель контроля доступа с протоколированием 88

6 5 Математическая модель контроля доступа, включающая «вла дельца» 91

Заключение 94

Список использованной литературы 98

Введение к работе

Общая характеристика работы

Актуальность темы исследования

В последнее время появляется все больше распределенных децентрализованных файловых систем. В качестве примера можно привести Napster1, Gnutella, Freenet, OceanStore, eDonkey, BitTorrent, а также системы на основе протокола FastTrack: KazaA, Grokster, Morpheus и другие. По некоторым сведениям, объем пересылаемых такими системами данных составляет около 80% объема пересылаемой по сети информации2. Часто данные в таких системах для обеспечения отказоустойчивости и/или ускорения загрузки хранятся с избыточностью - используются копии файлов или их частей на разных компьютерах сети. Также возможен вариант, при котором файл делится на п частей так, что любых к (к < п) из них достаточно, чтобы восстановить файл. Предположим, некоторый пользователь решил сделать свой компьютер частью распределенной децентрализованной системы хранения данных и поместить в нее

1 Строго говоря, Napster - это гибридная система, поскольку индексирование и поиск файлов в ней выполняются централизованно.

2Такая статистика была получена компанией CacheLogic ( cachelogic com) на

выборке поставщиков услуг Интернет, обслуживающих конечных потребителей - "Last mile" Internet service providers

свои файлы. Для обеспечения отказоустойчивости файлы или их части должны храниться не только на компьютере пользователя, но и на других компьютерах системы, которые потенциально могут быть взломаны или принадлежать злоумышленнику. В этой ситуации контроль доступа к файлам, хранящимся в распределенной файловой системе, достаточно проблематичен. Поэтому построение и анализ математических моделей контроля доступа, работающих в условиях отсутствия надежного центра, который проверял бы полномочия доступа к файлам, являются перспективными и актуальными.

Для обеспечения конфиденциальности информации в распределенных системах часто используются криптосистемы с открытым ключом. В частности, их можно использовать для построения математической модели контроля доступа в распределенной децентрализованной файловой системе. Одним из интересных классов данных криптосистем являются системы, основанные на кодах, исправляющих ошибки. К преимуществам подобных криптосистем можно отнести сравнительно высокую скорость шифрования/расшифрования данных. Кроме того, некоторые из криптосистем на линейных кодах могут быть использованы для одновременного шифрования и помехоустойчивого кодирования данных, или же для одновременного шифрования сообщения и разделения его на части - по схеме разделения секрета.

Впервые криптосистема с открытым ключом на линейных кодах была предложена Р. Мак-Элисом в 1978 году и не взломана до сих пор. Другой вариант, предложенный Г. Нидеррайтером, к сожалению, оказался нестойким, что было показано В.М. Сидельниковым и СО. Шестаковым. Одним из способов повышения стойкости криптосистем на линейных кодах является добавление специальных шумовых матриц к открытому ключу. При таком подходе представляет интерес использование метрик, отличных от хэмминговой. Исследо-

вание свойств кодов в данных метриках и построение криптосистем на основе таких кодов также является перспективным и актуальным.

Целью настоящего исследования является построение и анализ математических моделей контроля доступа для распределенной отказоустойчивой файловой системы TorFS, а также построение и анализ криптосистем с открытым ключом, основанных на кодах, исправляющих ошибки в проективных Т-метриках.

В соответствии с поставленной целью были определены следующие задачи.

  1. Исследование принципов работы распределенной децентрализованной отказоустойчивой файловой системы TorFS.

  2. Построение математической модели контроля доступа к файлам и директориям системы TorFS.

  3. Анализ построенной математической модели контроля доступа для файловой системы TorFS.

  4. Анализ свойств кодов в проективных ^-метриках.

  5. Построение криптосистемы с открытым ключом на основе кодов, исправляющих ошибки в ^"-метрике Вандермонда.

Методы исследования. Для решения поставленных задач в работе использовались методы математического моделирования, теории кодирования, алгебры, теории алгоритмов.

Научная новизна результатов, полученных в диссертации, заключается в том, что в ней впервые:

  1. Предложена математическая модель распределенной децентрализованной файловой системы TorFS, в которой отражены свойства системы TorFS, существенные для построения математических моделей контроля доступа.

  2. Построены математические модели контроля доступа для файловой системы TorFS: модель с протоколированием изменений файлов в системе и модель, названная «анонимной».

  3. Приведены доказательства гарантированного выполнения задаваемой политики безопасности в рамках построенных математических моделей контроля доступа.

  4. Введена обобщенная граница Синглтона для кодов в проективных Т-метриках.

  5. Предложен быстрый алгоритм декодирования оптимальных кодов в Т-метрике Вандермонда.

  6. Построена криптосистема с открытым ключом на основе кодов, исправляющих ошибки в ^"-метрике Вандермонда.

Теоретическая и практическая ценность

Разработанные математические модели контроля доступа с успехом могут применяться для обеспечения защиты от несанционированного доступа в распределенных файловых системах в условиях отсутствия доверенного центра, который разрешал или запрещал бы доступ к файлам/директориям. В условиях предложенных математических моделей контроля доступа не требуется безопасности ПЭВМ, на которых данные непосредственно хранятся. Это позволяет использовать любые ПЭВМ для хранения данных.

Построенная криптосистема с открытым ключом может быть использована в системах передачи данных для обеспечения конфиденциальности передаваемой информации, особенно в случае, когда необходима высокая скорость шифрования и расшифрования данных.

Научные положения, выносимые на защиту

  1. Математическая модель распределенной децентрализованной файловой системы TorFS, в которой отражены свойства, существенные для построения математических моделей контроля доступа.

  2. Математические модели контроля доступа для файловой системы TorFS: модель с протоколированием изменений файлов в системе и модель, названная «анонимной».

  3. Доказательство гарантированного выполнения задаваемой политики безопасности в рамках построенных математических моделей контроля доступа.

  4. Доказательство неравенства, названного обобщенной границей Синглто-на, для кодов в проективных j^-метриках.

  5. Быстрый алгоритм декодирования оптимальных кодов в ^"-метрике Вандермонда.

  6. Метод построения криптосистемы с открытым ключом на основе кодов, исправляющих ошибки в ^-метрике Вандермонда.

Апробация работы

Результаты диссертационной работы докладывались на российских и международных конференциях:

9-th International Workshop on Algebraic and Combinatorial Coding Theory, Kranevo, Bulgaria, 2004.

8-th International Workshop on Algebraic and Combinatorial Coding Theory, Tsarskoe Selo, 2002.

XLIV, XLV, XLVI ежегодных научных конференциях Московского физико-технического института, Москва-Долгопрудный, 2001-2003.

Основные результаты диссертации обсуждались и были одобрены на научном семинаре по теории кодирования ИППИ РАН (2002г.), научном семинаре кафедры радиотехники МФТИ (2001 - 2004гг.), научном семинаре кафедры информатики МФТИ (2004г.), научном семинаре кафедры информационных технологий Лундского университета, Швеция (2002г.), докладе аспирантов компании LSI Logic International (2002 - 2004гг.).

Публикации. По теме диссертации опубликовано 8 работ, из них 2 статьи в научных журналах, 6 статей в сборниках трудов научных конференций.

Содержание работы

Первая глава содержит обзор существующих децентрализованных распределенных файловых систем. Рассмотрены распределенные системы обмена файлами, в которых пользователи позволяют считывать хранящиеся на их компьютере файлы, но не записывают собственные файлы или их части на компьютеры других пользователей - Gnutella, KazaA, giFT-FastTrack и распределенные системы хранения данных - FreeNet, OceanStore, Cooperative File System (CFS), PAST. Кратко изложены подходы к обеспечению безопасности рассмотренных систем.

Вторая глава посвящена распределенной децентрализованной отказоустойчивой файловой системе TorFS. Пояснены основные принципы работы системы. В первом параграфе излагаются известные сведения о типах серверов в системе и о характере их взаимодействия. Приведена схема хранения файлов с задаваемой избыточностью. Во втором параграфе показаны предпосылки для создания математических моделей контроля доступа на основе криптографических средств. Далее автором предложена математическая модель распределенной файловой системы TorFS, в которой отражены свойства, существенные для построения математических моделей контроля доступа для данной файловой системы. Эти свойства сформулированы в виде аксиом.

Третья глава посвящена изложению известных результатов в области криптосистем с открытым ключом, в частности, криптосистем на основе линейных кодов. В первом параграфе приведены математические определения криптосистем с открытым ключом. Далее приведены основные сведения из теории кодирования, определения и некоторые свойства хэмминговой и ранговой метрик, а также ^"-метрик.

В четвертой главе для случая проективной ^-метрики автором предложено доказательство неравенства, названного обобщенной границей Синглто-на. Доказано, что код, задаваемый транспонированной порождающей матрицей матрицей вида GT(4.2) (см. ниже), является оптимальным кодом в ^"-метрике Вандермонда и предложен быстрый алгоритм декодирования для таких кодов.

В пятой главе предложена модификация криптосистемы Нидеррайтера на основе кодов в ^"-метрике Вандермонда. Предложенная модификация помогает противостоять атаке Сидельникова - Шестакова на криптосистему Нидеррайтера.

В шестой главе автором предложены математические модели контроля доступа для распределенной децентрализованной файловой сисіемьі TorFS и доказано гарантированное выполнение правил разграничения доступа в рамках построенных математических моделей.

В заключении сформулированы основные результаты диссертационной работы.

Структура файлов. Транзакция. Покрытие

Файловая система TorFS позволяет пользователям сохранять с задаваемой избыточностью файлы в системе - части файла располагаются на различных узлах сети, и даже если некоторые из этих узлов становятся недоступными, можно восстановить файл с помощью информации на оставшихся доступными узлах системы. Для разделения файла, а точнее - блоков файла (см. ниже), на части используется (п,к)-схема, т.е. файл делится на п частей так, что любых к из них достаточно, чтобы восстановить файл.

Относительно системы TorFS все компьютеры в сети Интернет можно разделить на: а), компьютеры, благодаря которым данная система функционирует - «узлы» системы; б), компьютеры, с которых пользователи считывают или записывают файлы в систему - «компьютеры пользователей» и в), все остальные компьютеры.

Существует несколько типов серверов в системе: директбрные, топологические, файловые, кэширования, и пользовательские (или «клиентские») серверы. Пользователь взаимодействует с системой, используя «пользовательский» сервер. В минимальной конфигурации именно «пользовательский» сервер, в частности выполняющий операции сборки-разборки файлов на части, должен быть установлен на «компьютере пользователя». На данный сервер и будет воз-ложена задача выполнять криптографические операции над файлами/директориями. Топологический сервер отвечает за связь «узла» сети с несколькими («ближайшими») «узлами»-соседями. Директорный сервер выполняет преобразование текстового пути к файлу в числовой идентификатор FID. Файлы записываются в систему в виде блоков. Каждый блок имеет идентификатор (BID), уникальный в пределах одного файла. В свою очередь, блоки файла «делятся» с использованием (п,к)-схемы на более мелкие части («слайсы»), которые и записываются на файловые серверы различных узлов системы. Хотелось бы отметить, что система не является распределенным блочным устройством, т.е. работает на уровне файлов, а не на уровне блоков. Блоки вводятся лишь для оптимизации работы системы.

Так как изменение файла подразумевало бы изменение блоков и «слайсов» на разных и, возможно, не все время подключенных к сети компьютерах, была выбрана схема, при которой записанные в систему блоки являются неизменными (immutable, см., например, [57, С. 255]). При записи измененного файла в систему записывается новая транзакция (версия) файла. Кроме BID каждый блок несет на себе идентификатор транзакции TID, зависящий от времени, т.о. в системе реализовано упорядочение транзакций файла по времени (TSO - timestamp ordering).Список измененных блоков вместе с другой служебной информацией хранится в нулевом (служебном) блоке транзакции. При поиске файла в системе пользователь задает диапазон времени модификации файла, либо запрашивает наиболее позднюю версию файла в системе. Для сборки файла необходимо собрать «покрытие» (snapshot) - состояние файла на момент записи транзакции с заданным TID. Отметим, что в покрытие входят не толь ко блоки, TID которых равен заданному. На рис. выше изображено покрытие файла (красная линия), соответствующее транзакции TID3: при записи транзакции TID2 был изменен второй блок файла, при записи ТЮЗ - третий. Блоки различных транзакций файла одновременно существуют в системе до тех пор, пока блоки, относящиеся к наиболее «старой из них не будут удалены сборщиком мусора. Перед удалением (блоков) «старой» транзакции файла сборщик мусора должен убедиться, что файл может быть собран полностью без данной транзакции. В будущем предполагается следующая функциональность сборщика мусора: при обнаружении «большого» количества транзакций одного и того же файла в системе собирается «покрытие» файла, соответствующее последней по времени транзакции, после чего производится запись новой транзакции, содержащей все блоки данного файла. Таким образом осуществляется «склейка» в единую транзакцию всех блоков файла. После этого старые транзакции файла могут быть удалены сборщиком мусора.

В служебном блоке файла вместо списка идентификаторов блоков, измененных в результате транзакции, можно использовать индекс блоков файла, принадлежащих версии файла, соответствующей заданной транзакции. Эта схема более оптимальна при большом количестве блоков, записываемых в результате транзакции, а также сделает ненужным механизм сборки «покрытия» и «склейки» транзакций сборщиком мусора.

Директории предназначены для сопоставления текстового пути к файлу и FID. Содержимое директории хранится в виде файла, что является общепринятым при проектировании файловых систем (см., например, [23, С. 660], [16, С. 198] или [10, С.240]). Файл директории состоит из записей вида: «FileNameFID». Каждая запись представляет из себя отдельный блок файла директории, что способствует «атомарности» операций добавления/удаления директбрных записей.

Эквивалентность взлома криптосистем Нидеррайтера и МакЭлиса, использующих шумовую матрицу

Впервые криптосистема с открытым ключом, основанная на линейных кодах, была предложена МакЭлисом [45]. Криптосистема использовала коды Гоппы.

Пусть G - порождающая матрица кода с большим кодовым расстоянием, имеющая быстрый алгоритм декодирования. Легальный пользователь вычисляет открытый ключ Gpub = SG. Для того, чтобы зашифровать открытый текст (вектор-строку) m = (mi, 7П2,... ,Шк), отправитель вычисляет с = mGpub + е, где е - искусственно введенная ошибка веса, не превосходящего корректирующей способности кода. Для того, чтобы расшифровать сообщение, легальный пользователь применяет быстрый алгоритм декодирования. Злоумышленнику же пришлось бы декодировать код с порождающей матрицей G в общем случае. Криптосистема с параметрами, хДля кодов Рида - Соломона d = п — fc + І и существование и единственность решения гарантируется для любых комбинаций стираний при ф п — к. предложенными МакЭлисом, до сих пор не взломана. Однако, если криптосистемы МакЭлиса и Нидеррайтера (см. ниже) основаны на одном и том же коде, они имеют одинаковую стойкость к атакам2. В случае, когда система МакЭлиса основана на использовании ОРС-кода, атака Сидельникова-Шестакова [13] также применима к системе МакЭлиса. Система шифрования с открытым ключом, в которой открытым текстом является вектор ошибки, впервые была предложена Нидеррайтером [47]. В качестве открытого ключа была выбрана проверочная матрица обобщенного кода Рида - Соломона (ОРС-кода) - матрица Н, умноженная слева на некоторую невырожденную матрицу S, скрывающую структуру Н: Открытым текстом является вектор ошибки е веса е?я(е) t= [ р], где d - минимальное расстояние ОРС-кода с проверочной матрицей Н. Примечание: задача отображения -мерного вектора открытого текста в вектор ошибки веса, не превышающего t есть задача нумерации биномиальных коэффициентов, решение которой можно найти, например, в [35]. Шифрование заключается в вычислении синдрома s = SHe. Легальный пользователь умножает полученный синдром на S 1, применяет алгоритм быстрого декодирования для ОРС-кода и получает е. Нелегальному пользователю для получения открытого текста пришлось бы решать задачу декодирования кода с известной проверочной матрицей Н ь в общем случае. На сегодняшний 2Насколько известно автору, это было отмечено Г.А. Кабатянским. день неизвестен алгоритм, который за полиномиальное время решал бы эту задачу. Однако, Сидельников и Шестаков показали [13], что можно за полиномиальное время получить из Нриь матрицу вида S H , где S - некоторая невырожденная матрица, Н - обобщенная матрица Вандермонда, являющаяся проверочной матрицей того же ОРС-кода. Таким образом, первоначальная система Нидеррайтера не выдержала структурной атаки восстановления секретного ключа по известному открытому. При использовании в криптосистемах МакЭлиса и Нидеррайтера «шумовых» матриц (см., например, [36] или [34]) возникает вопрос: означает ли взлом криптосистемы МакЭлиса взлом криптосистемы Нидеррайтера и наоборот? Оказывается, что и в случае использования «шумовых» матриц, взлом криптосистемы Нидеррайтера эквивалентен взлому криптосистемы МакЭлиса. Пусть задан код С при помощи порождающей G или проверочной Н матриц. Открытый ключ в криптосистеме Нидеррайтера: Тогда для любого кодового слова (вектора-строки) g = rnGpub выполняется BgT = О. Очевидно, существуют матрицы такие S, Р, У, что В может быть представлена в виде (3.1). По условию построенная криптосистема взламывается, то есть для любой криптограммы в системе Нидеррайтера с можно за полиномиальное время найти сообщение т (внешнюю ошибку в терминах системы МакЭлиса). Таким образом, по криптограмме в системе МакЭлиса с можно найти сумму g+eint = rnGpub. При помощи обратимой подматрицы Gpub размерности к, которую криптоаналитик может подсчитать заранее, вычисляется сообщение пі в системе МакЭлиса. А Лемма 2. Пусть дана криптосистема Нидеррайтера с некоторым открытым ключом (3.1). Если параметры построенной по Нриь криптосистемы МакЭлиса (3.2) допускают взлом (системы МакЭлиса), то криптосистема Нидеррайтера (3.1) также взламывается. Пусть задана криптосистема Нидеррайтера (3.1). Построим порождающую матрицу М кода, задаваемого проверочной матрицей Hpvb: Поскольку все решения данной системы описываются выражением у = д+ тп, где m - сообщение в системе Нидеррайтера, ад- кодовый вектор (столбец) кода с порождающей матрицей М. Таким образом, мы имеем криптограмму х в системе МакЭлиса.

По условию построенная криптосистема (МакЭлиса) взламывается, то есть для любой криптограммы в системе МакЭлиса с можно за полиномиальное время найти eext, что и будет являться искомым сообщением для системы Нидеррайтера. А

В алгебраической теории кодирования много работ посвящено кодам в метрике Хэмминга, а также ранговой метрике. Прочие метрики, например "-метрики, предлагаемые в [55,3,30], исследованы недостаточно. Можно указать, например, работы [31, 7] и другие. Между тем данные метрики могут обеспечить новые возможности как для исправления ошибок специального вида, так и для применений в других областях, например, в криптографии.

Быстрое декодирование оптимальных кодов в метрике Вандермонда

В данной главе автором предложены математические модели контроля доступа для распределенной децентрализованной файловой системы TorFS и доказано гарантированное выполнение правил разграничения доступа в рамках построенных математических моделей.

В распространенных на сегодняшний день системах хранения данных доступ контролируется при помощи некоторой активной компоненты, которая может разрешить или отклонить доступ субъекта к некоторому объекту на основании информации о том, разрешен ли доступ данному субъекту к этому объекту. Указанная информация должна где-то храниться и быть недоступной для модификации пользователям, не обладающим соответствующим правом. Следовательно, должно существовать защищенное хранилище данной информации. Например, если в клиент-серверной модели пользователь (при помощи клиента) хранит свои файлы на сервере, то информация о том, кто может получить доступ к файлам пользователя, хранится именно сервере. Изменять эту информацию, таким образом управляя доступом к файлам, может сам пользователь или администратор сервера, но практически всегда администратор имеет возможность сделать это. В частности, администратор может сам получить доступ к файлам пользователя. Кроме того, сервер может быть взломан злоумышленниками, которые при этом также могут получить доступ к файлам, хранящимся на сервере.

Использование средств криптографии позволяет реализовать ситуацию, когда администраторы серверов или злоумышленники не могут изменить права доступа к файлам пользователя. Можно провести следующую аналогию: человек (пользователь) приходит в банк и желает использовать несколько банковских ячеек для хранения ценностей. Банк выдает ему ключи от ячеек и с этого момента сам пользователь (и, теоретически, только он) распоряжается доступом к содержимому этих ячеек. Аналогия будет ещё более полной, если предположить, что пользователь сам установил замки на банковские ячейки и ключей от них в распоряжении банка не было. Пользователь может разрешить доступ к некоторым ячейкам другому человеку, передав ему ключи от них. Однако при достаточно большом числе ячеек и тех, кто может их использовать, возникает задача распределения ключей. Возвращаясь к файловой системе, можно сказать, что именно задачу распределения ключей доступа к файлам и директориям децентрализованной файловой системы TorFS и решил автор. В диссертационной работе предложено несколько несколько математических моделей контроля доступа, интегрированных с распределенной файловой системой TorFS и обладающих различными свойствами: модель, названная «анонимной» , модель с протоколированием, модель, включающая «владельца» и без такового.

Основой всех этих математических моделей является использование средств криптографии, и фактически контроль доступа перенесен на компьютер пользователя. В файловой системе TorFS возможно два типа доступа: запись и чтение. Для контроля доступа типа «запись» используется электронная цифровая подпись (ЭЦП), для контроля доступа типа «чтение» используется шифрование с открытым ключом. f/j - идентификатор пользователя, связанный с его открытым ключом. К? - «ключ транзакции» - секретный ключ для симметричного шифрования. Ключ генерируется при помощи генератора псевдослучайных чисел для каждой транзакции файла. Pubp - открытый ключ для шифрования файла F. Privp - секретный ключ для расшифрования файла F. Vkp - открытый ключ, используемый для проверки ЭЦП для файла F. Skp - секретный ключ, используемый при генерации ЭЦП для файла F. РиЬиг - открытый ключ пользователя U„ используемый для шифрования информации для пользователя 17г. Privu, - секретный ключ пользователя Uu используемый им для расшифрования информации. Filelenc = E mm(Ftlel) - файл Filel , зашифрованный алгоритмом симметричного шифрования на ключе К. Filel = Ds mm(Ftlelenc) - файл Fzlel, расшифрованный алгоритмом симметричного шифрования на ключе К. File2enc = EPs n(Fzle2) - файл File2, зашифрованный алгоритмом асимметричного шифрования при помощи открытого ключа РиЬК. File2 — Dp?K (File2enc) - файл File2, расшифрованный алгоритмом асимметричного шифрования при помощи секретного ключа PrivK. Sp — S%grtsk{F) - ЭЦП для файла F, созданная при помощи ключа Sk. Checkvk{Sp) - проверка ЭЦП Sp при помощи ключа Vk. Яр = Hash(F) - значение хэш-функции на файле F. VkftootDir - открытый ключ, используемый для проверки ЭЦП корневой директории. SkRoctDir - секретный ключ, используемый для генерации ЭЦП для корневой директории. Для того, чтобы дать некоторому пользователю право доступа к информации, хранящейся в системе, необходимо знать его идентификатор и открытый ключ для шифрования. Возникает задача сопоставления идентификаторов пользователей и их открытых ключей. Для этих целей, в принципе, можно воспользоваться любой инфраструктурой открытых ключей (PKI). Как вариант, возможно хранение сертификатов пользователей в самой системе TorFS - сделать дерево директорий, совпадающее, например, со структурой DN (distinguished names) в сертификатах Х.509.

В математической модели контроля доступа, названной анонимной, после изменений файлов нельзя сказать, кто из пользователей, которым была разрешена запись, в действительности записал измененные файлы в систему3. Основой данной математической модели является использование для каждого файла двух пар «открытый ключ - секретный ключ» -для шифрования/расшифрования файла и проверки/генерации ЭЦП.

Доступ к файлу определяется списком контроля доступа (ACL - access control list), в котором открытыми ключами пользователей зашифрованы соответствующие ключи доступа к файлу. Список контроля доступа хранится в директорной записи, соответствующей данному файлу.

Возможность одновременного шифрования сообщения и его (п, k)- разделения на части

Пользователь, обладающий правом на чтение файла (знающий ключ Privp) и правом на запись в директорию, в которой содержится файл, может разрешить доступ на чтение файла другому пользователю (1/г ). Для этого нужно добавить запись {Ut\EpS m(PrivF)} в reader list в ACL для данного файла. Поскольку ACL содержится в файле директории, для модификации ACL необходимо изменить файл директории, т.е. нужно обладать правами на запись в файл директории.

Лемма 12. Для того, чтобы дать другому пользователю право чтения (текущей и последующих транзакций) файла, необходимо и достаточно одновременно: либо иметь право на чтение данного файла либо знать его содержимое; иметь право на запись в директорию, содержащую файл. Достаточность: следует из вышесказанного. Необходимость: иметь право на запись в директорию очевидна, поскольку пользователь должен модифицировать ACL, содержащийся в директории. Если пользователь не меняет ключи доступа к файлу, то необходимость иметь ключ для чтения файла также очевидна. Ситуация с заменой ключей доступа к файлу рассмотрена в п. 6.3.3. А Разрешение записи в файл (директорию) Пользователь, обладающий правом записи в файл (знающий ключи Pub р\ Sky) и правом на запись в директорию, в которой содержится данный файл, может разрешить запись в данный файл другому пользователю, добавив соответствующую запись в список writers list в ACL для данного файла. Лемма 13. Для того, чтобы при неизменных ключах доступа к файлу дать другому пользователю право на запись данного файла, необходимо и достаточно одновременно: иметь право на запись этого файла; иметь право на запись в директорию, содержащую файл Аналогично предыдущему пункту. Тем не менее, пользователь, обладающий правом на запись в директорию, в которой находится файл, может полностью поменять ключи доступа к файлу и сгенерировать новый ACL. Данная ситуация рассмотрена в п. б.3.3. Запрещение записи/чтения файл (директории) Явного запрещения выполнения операций записи/чтения не существует. Пользователь может иметь или не иметь права записи/чтения. Если нужно отозвать у пользователя право на запись/чтение, то необходимо сменить две пары ключей файла: шифрования/расшифрования (PuhF/PrivF) и проверки/ генерации ЭЦП (Vkp/SkF). Изменения ACL и удаления записи для данного пользователя из списков writers/readers недостаточно, поскольку пользователь мог сохранить у себя ключи для данного файла. При смене ключей доступа к файлу необходимо записать новую транзакцию, содержащую все блоки данного файла, поскольку после смены ключей предыдущие транзакции файла становятся недействительными4. Смена ключа пользователя Смена ключа пользователя влечет за собой изменение всех ACL, в которых содержатся записи для данного пользователя (в списках readers/writers), что является нетривиальной задачей без построения «обратных» ссылок. 4Если говорить более строго, то предыдущие транзакции становятся недействительными при смене ключей Skp/VkF, а при смене Privp/Pubp нельзя будет прочитать ключи транзакций Кт- Вариант, когда предыдущие транзакции проверяются на предыдущем ACL приводит к необходимости следить за тем, чтобы предыдущая версия ACL не была удалена сборщиком мусора раньше, чем соответствующая ей транзакция файла. В существующей модели группу пользователей можно ввести лишь как одного из пользователей со своей парой ключей. Соответственно, пользователь входит в группу, если у него есть секретный ключ группы. Основная проблема при таком подходе состоит в том, что при удалении пользователя из группы необходимо сменить ключи группы - см. предыдущий пункт. Гарантия выполнения заданных правил контроля доступа Покажем, каким образом гарантируется выполнение заданных пользователем правил контроля доступа к информации, хранящейся в системе. Рассмотрим ситуацию: пользователь записал файл /dirl/dir2/file в систему, составил ACL, в котором разрешил чтение/запись данного файла только определенным пользователям. Как система гарантирует, что указанные пользователям доступ будет разрешен, а всем остальным - не разрешен? 1. Для осуществления доступа к файлу /dirl/dir2/file пользователи должны иметь право на чтение всех директорий в пути к данному файлу (см. п. 6.3.5); 2. Как показано в п. 6.3.5-6.3.5, при условии отсутствия у пользователя права записи в директорию, содержащую файл, наличие полномочий чтения/записи по известным FID и ACL необходимо и достаточно для осуществления операций чтения/записи; 3. Полномочия доступа к файлу содержатся в ACL. Аутентичность ACL для файла гарантируется при помощи ЭЦП на директории {/dirl/dir2), содержащей данный файл. 4. Аутентичность ключа для проверки ЭЦП на директории/dirl/dir2 гаран тируется тем, что этот ключ содержится в ACL для директории /dirl/dir2. , Поскольку у пользователя нет права записи в директорию, он не знает ключа для генерации ЭЦП.

Похожие диссертации на Построение полностью децентрализованной системы контроля доступа на основе криптографических алгоритмов