Distributed System L-10 (Лекции по распределённым системам)

PDF-файл Distributed System L-10 (Лекции по распределённым системам) Распределённые системы (14040): Лекции - 10 семестр (2 семестр магистратуры)Distributed System L-10 (Лекции по распределённым системам) - PDF (14040) - СтудИзба2017-12-22СтудИзба

Описание файла

Файл "Distributed System L-10" внутри архива находится в папке "Лекции по распределённым системам". PDF-файл из архива "Лекции по распределённым системам", который расположен в категории "". Всё это находится в предмете "распределённые системы" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "распределённые системы" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

Распределенныевычислительные системыЛекция №10:БезопасностьАлексей В. Бурдаков, к.т.н.burdakov@usa.net10-1План лекции• Виды атак• Шифрование• Высокоуровневые сервисы• Сервисы безопасности в объектноориентированном среднем слое ПО10-21Проблема• Все больше жизненно важной и секретнойинформации обрабатывается распределеннымивычислительными системами• Безопасность: защита данных, хранимых ипредаваемой между распределеннымикомпонентами от неавторизованного доступа• Безопасность является нефункциональнымтребованием, которое не может быть добавленов виде отдельного компонента, а должно бытьвстроено во все компоненты10-3Почему распределенные системынебезопасны?• Распределенные компоненты полагаются накомпоненты, которые посылаются через сеть• Общие сети небезопасны!• Является ли клиентский компонент безопасным?• Является ли клиентский компонент тем, за когоон себя выдает?• Являются ли пользователи компонентов,осуществляющих вызовы теми за кого они себявыдают?10-42Необходимость защиты• Потеря доверия к системе: приведенное вышеможет привести к потере доверия к системе• Иски по возмещению ущерба: в случае еслиданные не были защищены надлежащимобразом, это может привести к возникновениюисков на возмещение ущерба• Уголовная ответственность за разглашениесекретной информации• Разглашение конфиденциальных данных:данные, сохраняемые на компьютере могут бытьконфиденциальными (медицинские или кадровыеданные)10-5Последствия небезопасности• Конфиденциальные данные могут бытьукрадены, как то:• Корпоративные планы• Проекты новых продуктов• Медицинские или финансовые записи• Данные могут быть подменены, например:• Финансовые записи будут выглядеть лучше чем то,что они из себя представляют на самом деле• Результаты тестов (на наркотики, и т.п.)• Подмена результатов экзаменов10-63Угрозы• Категоризация атак, которые могут бытьпредприняты• Четыре основные идеи:• Утечка (leakage): информация похищается из системы• Подмена (tampering): информация подменяется всистеме• Кража ресурсов (resource stealing): нелегальноеиспользование ресурсов• Вандализм (vandalism): нарушение корректной работысистемы• Используется для определения того от чегосистема защищена10-7Методы атак• Подслушивание (eavesdropping): получениекопий сообщений без обладания права на то• Маскировка (masquerading): использованиеидентификатора другого принципала (лица) безправа на то• Подмена сообщений (tampering): перехват иподмена сообщений• Повтор (replaying): перехват, сохранение ипоследующая повторная посылка сообщений10-84Проведение атак• Инициирование атак требует доступа к системе:• Инициируется законными пользователями• Запускается после получения паролей известныхпользователей• Некоторые пути проведения атак:• Вирусы• Черви• Троянские кони10-9План лекции• Виды атак• Шифрование• Высокоуровневые сервисы• Сервисы безопасности в объектноориентированном среднем слое ПО10-105Введение• Криптография: шифрует данные, содержащиеся всообщении, так что они могут быть прочитаны толькожелаемыми получателями• Римляне использовали шифрование в коммуникациимежду военными подразделениями• Зная об алгоритме шифрования можно попробоватьиспользовать метод грубой силы:необходимо использовать все варианты до тех пор покасообщение не будет окончательно декодировано• Компьютеры выполнят эту работу достаточно хорошо• Для того чтобы оставаться защищенными, современныеметоды защиты должны быть вычислительно сложными10-11Терминология криптографии• Открытый текст (Plain text): сообщение докодирования• Зашифрованный текст (Cypher text): сообщениепосле кодирования• Ключ: информация, необходимая дляпреобразования из (1) в (2)• Функция: алгоритм шифрования илидешифрования, использованные совместно сключем для кодирования или декодированиясообщения• Сервис распределения ключей: доверенныйсервер с набором ключей10-126Шифрование• Шифрование данных предотвращает неавторизованныйдоступ и модификацию данных (например,предотвращает подслушивание и подмену)• Если дешифрование может быть выполнено только спомощью совпадающего ключа, то это может бытьиспользовано для доказательства идентификациизапрашивающего (предотвращает маскировку)• Точно также может использоваться для того, чтобыобеспечить уверенность в том, что толькоавторизованный пользователь может использоватьинформацию• Два основных способа: секретные и открытые ключи10-13Секретные ключи• Один ключ используется для шифрования идешифрования данных• Функции шифрования и дешифрования частоиспользуется те же самые• Защищенность никак не снижается припубликации функций, так как защищенностьобеспечивается закрытыми ключами10-147Использование секретных ключей• Посылающий и принимающий получаютсекретные ключи посредством использованиядоверенных, закрытых не сетевых каналов• Посылающий шифрует сообщение используяфункцию и отсылает его, зная, что толькодержатель ключа может использовать ее• Получатель декодирует сообщение и знает, чтооно могло быть сгенерировано толькоотправляющей стороной• Сообщение может быть перехвачено, однакоявляется бесполезным10-15Использование секретных ключей вобъектном запросеClient AServer BCallerCalledStubStub1.

acquire KAB,M) -> {M}2. f(KKABAB3. send{M}KAB1. acquire KAB2. receive3. f -1(K ,{M}) MKAB ->AB10-168Открытые ключи• Обеспечивает секретность только в одну сторону• Генерируются два ключа, где один используетсядля алгоритма дешифрования (закрытый ключ) иодин для шифрования (открытый ключ)• Генерация закрытого ключа при наличииоткрытого является вычислительно сложнойзадачей• Не требует защищенной передачи ключей10-17Использование открытых ключей• Получатель генерирует пару ключей• Открытый ключ публикуется довереннымсервисом• Отправитель получает открытый ключ ииспользует его для кодирования сообщения• Получатель декодирует сообщение• Ответы могут быть закодированы сиспользованием открытых ключей от доверенныхсервисов распространения• Сообщение может быть перехвачено, однако непредставляет никакого смысла10-189Использование открытых ключей вобъектном запросеClient AServer BCallerCalledStubStub1.

acquire KPB2. f(K,M) -> {M}PBKPB3. send{M}KPB1. acquire KPB, SB2. Publish K pb3. g (K,{M}) MSBKPB ->10-19Проблема: каким образомраспространять ключи?• Для распределенных объектных системраспространение без использования сетевыхсоединений является не практичным• Распределение ключей является проблемой какдля секретных, так и для открытых ключей:• Секретные ключи: очевидно• Открытые ключи: каким образом мы можемубедиться, что принципал, передающий нам ключявляется именно тем, за кого себя выдает?• Использование доверительного сервисараспространения ключей и защищенногопротокола распространения ключей10-2010Протокол Нидхэма/Шредера• Обеспечивает безопасный способ для паркомпонентов получить ключи для последующеговзаимодействия• Основанный на аутентификационных серверах:• Содержит ключ и имя для каждого компонента• Может генерировать ключи для взаимодействияточка-точка• Секретные ключи используются длявзаимодействия с серверами10-21Протокол Нидхэма/Шредера• Секретный ключ:1: C, S, NCKey DistributionServer AS2: {NC,S,KCS,{KCS,C}KS}KC3: {KCS,C}KSClientC4: {NS}KCS5: {NS-1}KCSServerS10-2211Протокол Нидхэма/Шредера• Открытый ключ:1: C, SKey DistributionServer AS2: {KPS, S}KSAS4: S,C5: {KPC, A}KSAS3: {NC,C}KPSClientC6: {NC,NS}KPC7: {NS}KPSServerS10-23Протокол Secure Socket Layer (SSL)• Защищенный транспортный протокол между Вебклиентом и Веб-сервером• Также используется для объектноориентированного ПО среднего слоя• Основан на технологии RSA для открытыхключей• Клиент генерирует секретный ключ сессии• Клиент использует открытый ключ сервера дляшифрования ключа сессии и передает его насервер• Ключ сессии используется для шифрования ивзаимодействия между клиентом и сервером10-2412План лекции• Виды атак• Шифрование• Высокоуровневые сервисы• Сервисы безопасности в объектноориентированном среднем слое ПО10-25Что необходимо для осуществлениябезопасных вызовов?• Разделение общедоступных и частных сетей спомощью межсетевых экранов (firewalls)• Установка безопасного взаимодействия междуклиентом и сервером (аутентификация)• Решение о том может ли принципал осуществитьданную операцию (контроль доступа)• Обеспечение неопровержимости доступа коперации (аудит)• Защита запросов и ответов от подслушивания впроцессе передачи (шифрование)• Неопровержимость доставки10-2613Межсетевые экраныPrivateNetworkFirewallPublicNetwork10-27Межсетевые экраны• Межсетевые экраны – шлюзы, которыеконтролируют поток сообщений между частнымии общими сетями• Межсетевые экраны между распределеннымиобъектами должны понимать кодировкуобъектных запросов• Межсетевые экраны должны быть интегрированыв механизмы шифрования, используемые длязащищенной транспортировки10-2814Что такое аутентификация?• Аутентификация: доказательство того, чтоаутентифицируемый является именно тем, закого себя выдает• В централизованных системах: проверка пароляво время установления сессии• В распределенных системах:• Использование аутентификационного сервера• Основан на возможностишифрования/дешифрования сообщений(протокол Нидхэма/Шредера)10-29Принципалы• Человек или системный компонент, которыйзарегистрирован и является аутентичным поотношению к распределенной системе• Принципалы обладают идентификаторами,используемыми для:• Доказательства неопровержимости действий,осуществленных принципалами• Получения доступа к защищенным компонентам• Идентификации источников сообщений• Идентификации тех, кто должен оплатитьпредоставление сервиса10-3015Полномочия• Информация, которой обладает системе опринципале:Credentialsauthenticated attributesunauthenticated(public)attributesidentityattributesprivilegeattributes10-31Установление секретных ассоциаций• Установка доверительных отношений в обоихкомпонентах• Клиент аутентифицирует сервера• Сервер аутентифицирует клиента• Полномочия клиента доступны серверу• Установка контекста безопасности,используемого для защиты запросов,используемых для защиты запросов и ответов втранзите (например, распределенные закрытыеключи)10-3216Установление секретных ассоциаций• Использование протокола вызова-отклика и егоиспользование для аутентификации:AuthenticationServer:Clientauthenticate()challenge()response()credentials()10-33Контроль доступа• Базовый вопрос, решаемый контролем доступа:может ли операция, запрашиваемаяпринципалом, быть выполнена• Основывается на аутентификации:подразумевается, что принципал и егополномочия были проверены• Две формы:• Политики доступа к вызовы объектов• Политики доступа к прикладным объектам10-3417Политики доступа к прикладнымобъектам• В предыдущем случае контроль доступапрозрачен и для сервера и для клиента• В данном случае клиент и/или сервер реализуетконтроль доступа самостоятельно• Политики контроля доступа:• Могут принимать во внимание данные, к которымпредполагается осуществить доступ• Могут принимать во внимание семантикузапрошенных параметров10-35Атрибуты привилегий контролядоступа• Атрибуты привилегий принципала для контролядоступа включают:• Идентификатор принципала• Роли (относящиеся к функциям принципала)• Группы (относящиеся к организационной структуре, вкоторую внедрен принципал)• Допуск• Возможности серверного объекта, которые принципалможет использовать• Другие …10-3618Атрибуты контроля сервера• Списки контроля доступа (ACL) идентифицируютпользователей по:• Имени• Атрибутам привилегий• Информация по схемам, основанным на метках• Атрибуты контроля доступа часто разделяютсягруппами операций и даже группами объектов10-37Неопровержимость• Предоставляет неопровержимые доказательствао выполненных операциях принципалами• Неопровержимое доказательство особытии/действии• Используется как доказательство в случаеотрицания выполнения операции• Пример: электронная коммерция10-3819Сервис неопровержимости:Client::АрбитрАрбитр:ServerNon-Repudiation ServiceEvidenceGenerationandVerificationEvidenceStorageandVerificationDeliveryAuthority10-39Компоненты доказательств• Зависит от политики неопровержимости• Примеры:••••Типы действий и событийДата, полученная от доверенного сервисаПараметры, относящиеся к действиям и событиямДоказательство источника параметров10-4020Общие типы доказательств• Доказательство создания сообщения• Защищает от ложного отрицания факта созданиясообщения• Доказательство получения сообщения• Защищает от ложного отрицания получениясообщения10-41Аудит безопасности• Помогает проводить аудит попыток илидействительных нарушений защиты• Записывая детали событий, относящихся квопросам безопасности• Записывая детали событий в журнальный файл• Генерируя сигналы нарушения безопасности• Принимая другие меры• Два уровня безопасности• Системный• Прикладной10-4221Политики аудита безопасности• Потенциально большое число записей можетбыть записано• Политики аудита безопасности определяютнабор событий, которые должны быть записаныи являются критичными для каждой конкретнойобстановки• Политики системного аудита записывают всесобытия, относящиеся к безопасности, даже состороны приложений без специальных функцийобеспечения безопасности10-43План лекции• Виды атак• Шифрование• Высокоуровневые сервисы• Сервисы безопасности в объектноориентированном среднем слое ПО10-4422Сервисы безопасности• Сервисы безопасности CORBA обеспечиваютподдержку и реализуют принципы, обсужденныевыше• Два уровня• Уровень 1: Безопасность является обязательной длясоответствия и определяет требования пореализации аутентификации, контроль доступа иаудит• Уровень 2: Безопасность является необязательной икасается только неопровержимости10-45Сервисы безопасности• Полномочия – список атрибутов привилегий,предоставленных принципалуinterface Credentials {Credentials copy();void destroy();...boolean set_privileges(in boolean force_commit,in AttributeList requested_privileges,out AttributeList actual_privileges);AttributeList get_attributes(in AttributeTypeList attributes);boolean is_valid (out UtcT expiry_time);boolean refresh();};10-4623Сервисы безопасности• Интерфейс аутентификации, используемыйсессией начинает проверять полномочияпринципалаinterface PrincipalAuthenticator {AuthenticationStatus authenticate(in AuthenticationMethod method,in SecurityName security_name,in Opaque auth_data,in AttributeList privileges,out Credentials creds,out Opaque continuation_data,out Opaque auth_specific_data);...}10-47Сервисы безопасности• Аутентифицированные полномочия принципаластановятся доступными серверному объектучерез интерфейс Current, предоставляемый какчасть интерфейса ORBinterface Current {CredentialList get_credentials(in CredentialType cred_type);...}10-4824Сервис контроля доступа CORBA• Права доступа CORBA имеют три составляющих:• Полномочия• Политики доступа• Права доступа• Политики доступа сопоставляют права доступа спривилегиями• Права доступа определяют привилегии, которыепринципалы должны держать для того чтобыиметь возможность запроса операций10-49Контроль доступа CORBA• Основан на интерфейсе принятия решенийtypedef sequence <Credentials> CredentialsList;interface AccessDecision {boolean access_allowed(in CredentialsList cred_list,in Object target,in CORBA::Identifier operation_name,in CORBA::Identifier target_interface_name);};10-5025Аудит CORBA• Интерфейсы определяют политики аудита• Политики определяют:• Какие события должны быть журналированы• Где должны быть записаны событияinterface AuditPolicy : CORBA::Policy {void set_audit_selectors (in CORBA::InterfaceDef object_type,in AuditEventTypeList events,in SelectorValueList selectors);...void set_audit_channel (in AuditChannelId audit_channel_id);};10-51Неопровержимость CORBAinterface NRCredentials : Credentials {void generate_token(in Opaque input_buffer,in EvidenceType generate_evidence_type,in boolean include_data_in_token,in boolean generate_request,in RequestFeatures request_features,in boolean input_buffer_complete,out Opaque nr_token,out Opaque evidence_check);NRVerificationResult verify_evidence(in Opaque input_token_buffer,in Opaque evidence_check,in boolean form_complete_evidence,in boolean token_buffer_complete,out Opaque output_token,out Opaque data_included_in_token,out boolean evidence_is_complete,out boolean trusted_time_used,out TimeT complete_evidence_before,out TimeT complete_evidence_after);...};10-5226Ключевые вопросы• Сетевое взаимодействие наследственнонебезопасно• Шифрование может быть использовано дляпредотвращения подслушивания и подделкисообщений• Ключи шифрования распространяютсядоверенными сервисами по протоколураспространения ключей, например, черезпротокол Нидхэма/Шредера• Шифрование также используется дляаутентификации10-53Ключевые вопросы• Контроль доступа основан на аутентификации иопределяет имеет ли принципал права на запросвыполнения операции• Неопровержение используется для генерациинеопровержимых доказательств того, чтопринципал запросил выполнение операции• Аудит является пассивной мерой безопасностью,которая записывает события в соответствии сполитикой безопасности10-5427Литература / Internet источники• В.

Эммерих Конструирование распределенныхобъектов. - М.:Мир. - 2002.• М.Р. Когаловский Энциклопедия технологий базданных. - М.: ФС. - 2002.• Ю.А. Григорьев, А.Д. Плутенко. - Жизненный циклпроектирования распределенных баз данных. Благовещенск. - 1999.• Э. Таненбаум, М. Ван Стеен Распределенныесистемы. Принципы и парадигмы.

– СПб.: Питер,2003. – 877 с.: ил. – (Серия «Классика computerscience»)• www.omg.org10-5528.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее