Главная » Просмотр файлов » Distributed System L-10

Distributed System L-10 (1034042)

Файл №1034042 Distributed System L-10 (Лекции по распределённым системам)Distributed System L-10 (1034042)2017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Распределенныевычислительные системыЛекция №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.

Характеристики

Тип файла
PDF-файл
Размер
188,6 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

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

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов лекций

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