Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекции ОИБ / Zashchita_informacii_Lekcii_1-6_lektor_M.M._Kucherov_

.pdf
Скачиваний:
27
Добавлен:
04.06.2015
Размер:
1.09 Mб
Скачать

тоже является объектом. Таким образом, один объект может являться частью другого.

B. Программы

Среди объектов особо выделяются описания преобразований данных. Преобразование данных отображает слово, описывающее исходные данные, в другое слово. Описание преобразования данных также является словом. Примерами объектов, описывающих преобразования данных, являются компьютерные программы.

Каждое преобразование информации может:

а)

храниться;

б)

действовать.

В случае а) речь идет о хранении описания преобразования в некотором объекте (файле). В этом случае преобразование ничем не отличается от других данных. В случае б) описание программы взаимодействует с другими ресурсами вычислительной системы – памятью, процессором, коммуникациями и др.

Определение 2. Ресурсы системы, выделяемые для действия преобразования, называются доменом. Однако для осуществления преобразования одних данных в другие кроме домена необходимо передать этому преобразованию особый статус в системе, при котором ресурсы системы осуществляют преобразование. Этот статус будем называть «управление».

Определение 3. Преобразование, которому передано управление, называется процессом.

При этом подразумевается, что преобразование осуществляется в некоторой системе, в которой ясно, что значит передать управление.

Определение 4. Объект, описывающий преобразование, которому выделен домен и передано управление, называется субъектом.

Субъект – это пара (домен, процесс). Субъект для реализации преобразования использует информацию, содержащуюся в объекте О, то есть осуществляет доступ к объекту О.

Рассмотрим некоторые основные примеры доступов.

1.Доступ субъекта S к объекту О на чтение (r) данных в объекте О. При этом доступе данные считываются в объекте О и используются в качестве параметра в субъекте S.

2.Доступ субъекта S к объекту О на запись (w) данных в объекте О. При этом доступе некоторые данные процесса S записываются в объект О. Здесь возможна перезапись, т.е. стирание предыдущей информации.

3.Доступ субъекта S к объекту О на активизацию процесса, записанного в О как данные (ехе). При этом доступе формируется некоторый домен для преобразования, описанного в О, и передается управление соответствующей программе.

31

Существует множество других доступов, некоторые из них будут определены далее. Множество возможных доступов в системе будем обозначать

R.

Будем обозначать множество объектов в системе обработки данных через О, а множество субъектов в этой системе S. Ясно, что каждый субъект является объектом относительно некоторого языка (который может в активной фазе сам менять свое состояние). Поэтому S О. Иногда, чтобы не было различных обозначений, связанных с одним преобразованием, описание преобразования, хранящееся в памяти, тоже называют субъектом, но не активизированным. Тогда активизация такого субъекта означает пару (домен, процесс).

C.Основная аксиома защиты информации

Влюбой момент времени на множестве субъектов введем бинарное от-

ношение a активизации. S1aS2, если субъект S1, обладая управлением и ресурсами, может передать S2 часть ресурсов и управление (активизация). Тогда в графах, которые определяются введенным бинарным отношением на множестве субъектов, для которых определено понятие активизации, возможны вершины, в которые никогда не входит ни одной дуги. Таких субъектов будем называть принципалами. Субъекты, в которые никогда не входят дуги и из которых никогда не выходят дуги, исключаются.

Врассмотрении вопросов защиты информации мы примем аксиому, которую сформулируем в следующей форме.

Аксиома. Все вопросы безопасности информации описываются доступами субъектов к объектам.

Чем может управлять служба защиты информации, чтобы траектории вычислительного процесса не вышли в неблагоприятное множество траекторий N? Практически такое управление возможно только ограничением на доступ в каждый момент времени. Разумеется, эти ограничения могут зависеть от всей предыстории процесса. Однако, в любом случае, службе защиты доступно только локальное (по времени) воздействие. Основная сложность защиты информации состоит в том, что, имея возможность использовать набор локальных ограничений на доступ в каждый момент времени, мы должны решить глобальную проблему недопущения выхода любой возможной траектории в неблагоприятное множество N. При этом траектории множества N не обязательно определяются ограничениями на доступы конкретных субъектов к конкретным объектам. Возможно, что если в различные моменты вычислительного процесса субъект получил доступ к объектам О1 и О2, то запрещенный доступ к объекту O3 реально произошел, так как из знания содержания объектов О1 и О2 можно вывести запрещенную информацию, содержащуюся в объекте O3.

1.1.2.3.2. Протокол аутентификации

A. Протокол XNS (Корпорация Xerox)

32

Предположения

А и В не имеют никакого предварительного знания друг о друге.

А и В доверяют S.

А и В установили секретные ключи с S (Kas, Kbs).

Протокол определён следующим образом:

1. А посылает запрос на аутентификатор для В на S.

3.S отвечает сообщением, которое может расшифровать только А, содержащее аутентификатор, который А может послать В, чтобы подтвердить свою реальность.

4.A посылает начальное сообщение В, сообщающее ему, что он имеет допустимый аутентификатор, и хочет узнать о том, знает ли В, как декодировать аутентификатор и правильно ответить.

5.В заключение, В подтверждает, что может разобрать аутентификатор, и посылает ответ на сообщение А.

33

Рис. 1. Модель аутентификации XNS (Xerox Corp.)

B. Логика Бэрроуза-Абади-Нидхэма

Как мы можем убедиться, например, в протоколе XNS, что он безопасен? В идеальном случае хотелось бы получить формальный метод для утверждения, что мы доверяем или не доверяем протоколу XNS. Логика БАН попытка обеспечить формальный метод анализа протоколов.

Базисные проблемы, которые логика БАН пытается разрешить, это:

Имеется некоторая цель, которую мы хотим достигнуть.

У нас есть идея того, что мы хотим, что нам нужно.

Мы хотим убедиться, что наше решение работает

Мы не хотим зависеть от метода проб и ошибок.

Имеется много проблем, связанных с попытками доказать защиту. Мы хотим их тщательно исследовать в рамках логики БАН, рассматривая, насколько мы доверяем проверке правильности? Являются ли приемлемыми и реальными правила логики БАН? В какой момент делаются предположения, и в чём они состоят? Даже если доказать, что что-то вроде XNS работает теоретически, мы все еще можем иметь проблемы. При использовании чего-то подобного логике БАН, мы доказываем идеальный случай. К сожалению, реализации не всегда (никогда не) идеальны. Это другая сторона, о которой следует помнить.

Терминология логики БАН (принципалы)

Следующие термины описаны в работе Бэрроуза Абади Нидхэма. Принципалы - это агенты, включенные в протокол (обычно люди или

программы). Р, Q: R возможные символы для принципалов.(S, А, В - принципалы в XNS).

Ключи - используются, чтобы шифровать сообщения симметрично. Каь и Каs возможные ключи.

Нонсы - это части сообщения, которые не должны быть повторены. Na, Nb -пример нонсов.

Показания часов подобны нонсам, в том, что они, вряд ли, могут быть повторены. Отражают текущее время человека, создавшего их. Ta, Тb показания часов.

Высказывания в логике БАН

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

34

Рверит в X : Р верит в X, или Р уполномочен, чтобы верить в X. В частности, Р может принять X за истину.

Рвидит X : Р видит X. Р получил сообщение X и может его прочитать и повторить.

Рсказал X : однажды Р высказал X. Неопределенное время тому назад Р послал сообщение, содержащее утверждение X. Неизвестно, истинно ли в настоящий момент X, хотя известно, что Р верил в справедливость X, когда его отправлял.

Руправляет X : X подчиняется Р. Принципал Р имеет власть (полномочие) относительно X, и нужно доверять ему в этом вопросе (в XNS, S управ-

ляет Каь)

Свежесть (Х) : сообщение X ново, т. е. X не был ранее представлен в сообщениях до текущего выполнения протокола. Это обычно верно для нонса.

K Q P : Р и Q могут использовать совместный ключ К для связи. Ключ К

хорош тем, что он известен только Р и Q.

{X}K или K[X]: Это формула X, зашифрованная ключом К. Сокращенная запись для {X}K от Р.

Правила логического вывода

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

Для совместных ключей постулируем, что

K

X

P верит в Q P, P видит

 

K

P верит в Q сказал X

 

.

Т. е. если Р верит, что ключ К разделен только с Q, и видит X, зашифрованный ключом К, то Р верит, что Q однажды сказал X.

2. Правило подтверждения с помощью нонса выражает проверку того, что сообщение недавнее, и, следовательно, которому отправитель все еще доверяет:

P верит в свежесть X , P верит в Q сказал X .

P верит в Q верит в X

Т. е. если Р считает, что X мог бы быть произнесен только недавно, и что Q однажды сказал X, то Р верит в то, что Q верит в X. Например, X может представлять собой открытый текст.

3. Правило юрисдикции утверждает, что если Р полагает, что X находится под управлением Q, то Р полагается на Q по вопросу правдивости X:

P верит в Q управляет X , P верит в Q верит в X

P верит в

X

.

4. Если принципал видит формулу, он также видит все её компоненты, если знает необходимые ключи:

35

P видит X ,Y

P видит

X

,

K

 

P верит в Q P, P видит X

 

K

P видит

X

.

Заметим, что если Р видит X и Р видит Y, то из этого не следует, что Р видит пару (X,Y), так как последнее означает, что X и Y были произнесены в одно и то же время.

5. Если часть формулы свежая, то и вся формула является свежей:

P верит в свежесть X P верит в свежесть X ,Y

.

Если Р верит в свежесть (X), то Р верит в свежесть (X, Y)

C.Доказательство протокола XNS

Теперь, когда мы имеем работающую систему для доказательства протоколов, давайте проверим протокол XNS.

Протокол XNS, согласно логике БАН

Записываем протокол на языке логики БАН:

 

1.

A S : (А, В, I)

 

 

 

 

 

 

 

2.

 

K

 

K

 

 

 

 

 

S А : {I, B, A B , { A

B , Тs , A}Kbs}Kas

 

 

 

 

ab

 

ab

 

 

 

 

3.

А В : { A B , Тs , A}Kbs ,{ti, PIDB}Kab

 

 

 

K

 

 

 

 

 

 

 

 

 

ab

 

 

 

 

 

 

 

4.

B A : {tj, PIDB}Kab.

 

 

 

 

 

 

 

Цели протокола

 

 

 

 

 

 

Мы хотим доказать следующее:

 

 

 

K

 

 

 

K

 

 

 

 

А верит в A B & B верит в A B ,

 

 

 

 

ab

 

 

 

ab

 

 

и, идеально,

 

 

 

 

 

 

 

 

 

 

 

 

 

K

 

K

 

А верит тому, что В верит в A B

& В верит тому, что А верит в A B .

 

 

 

 

 

 

 

ab

 

ab

В основе мы хотим, чтобы А и В согласовали свой ключ Kab и полагали, что каждый обладает этим ключом и он допустим. Дополнительно, мы хотели бы, чтобы каждый верил, что другой полагает, что они установили один и тот же допустимый ключ.

Начальные предположения

А верит в

Kas

A S ,

S верит в

K

 

A S ,

 

 

as

S верит в

K

 

A B ,

 

 

ab

A верит в (S управляет

Аверит в свежесть(I),

Аверит в свежесть(tj).

Kab

A B

),

K

 

B верит в B S ,

 

 

bs

K

 

 

S верит в B S ,

 

bs

Вверит в (S управляет

Вверит в свежесть(ti),

Kab

A B

),

36

4.4Доказательство

Начнём с сообщения 2 (см. протокол):

 

K

 

K

 

, Тs , A}Kbs}Kas , и, используя предположение о

А видит {I, B, A B , { A

B

 

 

ab

 

ab

 

 

 

том, что

 

 

 

 

 

 

 

K

 

 

 

 

 

 

 

А верит в A S , применяем правило значимости сообщений для совмест-

 

as

 

 

 

 

 

 

ных ключей, получаем, что

 

 

 

 

 

А верит в S сказал (I, B,

 

K

 

K

 

 

A B , { A B , Тs , A}Kbs ) , что может быть разбито

 

 

 

 

 

ab

 

ab

на

 

 

 

 

 

 

 

А верит в S сказал (I, B,

 

K

 

используя предположение о том, что А

A B ) и,

 

 

 

 

 

 

ab

 

верит в свежесть(I),

и правило подтверждения с помощью нонса, мы получаем

А верит в S верит в (I, B,

 

K

 

 

 

A B ). Разобьем это на

 

 

 

 

 

ab

 

 

 

K

 

, и, используя предположение о том, что

А верит в S верит в A B

 

 

ab

 

 

 

 

 

 

 

 

K

 

 

 

 

A верит в (S управляет A B ) вместе с правилом юрисдикции, получим

 

 

 

 

ab

 

 

 

K

 

 

 

 

 

 

 

A верит в A B , что завершает анализ сообщения 2. Можно проделать та-

 

ab

 

 

 

 

 

 

 

 

 

 

 

 

K

 

кой же анализ и получить, что B верит в A B .

 

 

 

 

 

 

 

ab

Теперь можно расшифровать сообщение 3, и доказать следующее:

В верит в то, что А верит в

K

 

 

A B .

 

 

 

 

 

 

 

ab

 

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

K

 

 

В верит в

K

 

 

А верит в A B

 

A B

 

 

ab

 

 

 

ab

 

 

K

 

 

 

K

 

А верит, что В верит в A B

В верит, что А верит в A B

 

 

ab

 

 

 

ab

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

1.1.2.3.3. Авторизация.

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

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

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

37

лами компьютерной системы (иными словами, имеет учетную запись в данной среде). Используя эти понятия, вопрос авторизации можно перефразировать так: «Каким принципалам доверен доступ к этому объекту?»

Мы обсудим три модели авторизации: модель защитника; модель монитора доступов и модель потокового контроля.

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

A.Модель защитника

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

один другому, то принципал получает доступ. Если нет доступ принципала отклоняется. Конечно, предполагается, что защитник аутентифицировал принципала.

Для того чтобы санкционировать доступ принципала к объекту, вы даете защитнику токен и принципалу – токен для сравнения. Для секретного распределения токенов можно использовать шифрование.

Может существовать одновременно множество объектов и принципалов, в результате чего по системе перемещается много токенов. Для организации последних применяются две схемы: схема билетов и схема списков.

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

Примеры схем с билетами:

Билеты в кино

Ключи

Пропуск с магнитной полосой для входа в помещение

Кредитные карты VISA

Билеты (TGT) в протоколе Kerberos.

Чтобы все это работало, система должна препятствовать подделке токенов. В централизованных системах с разделением времени поддержка без-

38

опасности токенов осуществляется операционной системой. В протоколе XNS токены были защищены на основе шифрования.

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

Примеры схем со списками:

Скрытые в пустыне могилы египетских фараонов, защищенные цепью блокировок.

Списки голосования в избирательных округах.

Регистрация на конференциях.

Санкционирование доступов к директориям Windows

Система электронных почтовых списков.

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

B. Модель монитора доступов

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

Примеры:

Банковский сейф может быть открыт в 5:30 после полудня и ни в какое другое время.

Сейф, который может быть открыт только с согласия двух принци-

палов.

Информация по оплате, предоставляемая только для принципалов с более высоким статусом.

39

Заметьте, что модель защитника может рассматриваться, как частный случай монитора доступов.

Опасность в модели монитора доступов состоит в том, что его программа является более сложной, чем программа для защитника, что делает ее уязвимой для ошибок и оставляет бреши, которые использует нарушитель.

C. Модель контроля потоков

Модель контроля потоков это модель санкционирования доступов для ответственных систем безопасности. Многие предприятия и военные используют контроль потока для хранения секретной информации.

В модели потокового контроля имеется стена, окружающая принципала и объект. Эта стена имеет дверь, которая охраняется простым защитником. Но это не простая стена: когда принципал входит в комнату с объектом, то она распыляет на него несмываемую краску. Если принципал окрашен, то защитник не позволит ему выйти за пределы стены.

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

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

Для большей конкретности рассмотрим предприятие с тремя уровнями секретности:

1.Общим (например, пресс-релизы).

2.Только для внутреннего использования (например, телефонный справочник предприятия).

3.Конфиденциальным (например, производственный план).

Каждый файл в компьютерной системе помечен меткой конфиденциальности в данной классификации. Моделируется по типу военной классификации (несекретно, секретно, совершенно секретно).

Каждый пользователь, имеющий доступ к компьютерной системе, получает допуск на определенный уровень. Высшие исполнительные сотрудники и руководство имеют допуск на 1, 2 и 3 уровень, тогда как остальной штат предприятия имеет допуск на уровни 1 и 2. Гостевые счета могут иметь допуск только уровня 1.

Для выполнения этой работы каждый процесс помечается допуском

для принципала, который работает с ним, он хранится в Cprocess. Кроме того, система помнит максимальный допуск для данных, которые процесс мог ви-

деть, Cmaxseen. Система следует различным правилам для чтения и записи для того, чтобы санкционировать допуск и уберечь секретную информацию от раскрытия. Общее правило таково:

40

Соседние файлы в папке лекции ОИБ