Способ верификации безопасного распределения пользовательских задач по узлам грид-системы
Иллюстрации
Показать всеИзобретение относится к вычислительной технике и может быть использовано в распределенных вычислительных сетях. Техническим результатом является повышение защищенности грид-системы и сокращение временных затрат на поддержание надежного функционирования грид-систем за счет сокращения времени простоя оборудования, вызванного его отказом вследствие осуществления компьютерных атак на ресурсы грид-систем. Способ содержит этапы, на которых: создают пару криптографических ключей шифрования: открытый и закрытый ключи шифрования; принимают решение о легитимности узлов грид-системы и выполняют обмен ключами шифрования; после этого шифруют данные, содержащиеся в пользовательской задаче, открытым ключом шифрования и распределяют пользовательскую задачу по легитимным узлам грид-системы; затем легитимные узлы грид-системы расшифровывают полученные данные и выполняют пользовательскую задачу. 2 ил.
Реферат
Изобретение относится к области вычислительной техники и может найти применение в распределенных вычислительных сетях типа «грид» (грид-системах).
Известен способ распределения пользовательских задач по узлам грид-системы, реализованный в сервисе контроля доступа GRAM. При выполнении запроса на предоставление информационных и вычислительных ресурсов каждый узел, входящий в состав грид-системы, осуществляет авторизацию учетной записи пользователя путем отображения глобального идентификатора учетной записи в локальный идентификатор. Учетная запись пользователя грид-системы может инициировать выполнение пользовательской задачи только на тех узлах грид-системы, где она авторизована. [Кирьянов А.К., Рябов Ю.Ф. Введение в технологию Грид: Учебное пособие. - Гатчина: ПИЯФ РАН, 2006. - 39 с.].
Недостатком способа является отсутствие учета таких состояний системы, при которых несколько учетных записей пользователей авторизуются на одном и том же узле грид-системы под одной локальной учетной записью. Это приводит к тому, что один пользователь может получить доступ к данным других пользователей, совместно с которыми он прошел процедуру авторизации на узле грид-системы, не имея права на такой доступ в соответствии с политикой безопасности.
Известен способ распределения пользовательских задач по узлам грид-системы, в котором перед передачей пользовательской задачи на узел грид-системы сопоставляют права доступа, запрашиваемые учетной записью пользователя, с уже предоставленными правами доступа на выбранных узлах грид-системы. Затем, учитывая правила разграничения доступа, формируют множество узлов грид-системы, на которых допустимо выполнение пользовательской задачи (легитимных узлов) [RU 2536678 С1, опубл. 27.12. 2014 г.]. Это техническое решение выбрано в качестве прототипа.
Недостаток известного способа заключается в том, что при определении легитимности узла грид-системы выполняется верификация учетной записи пользователя, запрашивающего ресурсы грид-системы, и не выполняется верификация учетной записи пользователя, обладающей административными полномочиями на данном узле грид-системы. Это приводит к тому, что учетная запись пользователя, обладающая административными полномочиями на узле грид-системы, предоставляющем свои вычислительные ресурсы, получает доступ к данным других учетных записей пользователей грид-системы. В результате происходит утечка данных, что имеет негативные последствия в виде нарушений безопасности данных и функционирования системных процессов в грид-системах.
Задача, на решение которой направлено предлагаемое изобретение, заключается в создании способа верификации безопасного распределения пользовательских задач по узлам грид-системы, обладающего свойствами защищенности от учетных записей пользователей, наделенными административными полномочиями на узлах грид-системы, предоставляющих свои вычислительные ресурсы, и сокращении временных и экономических затрат на поддержание надежного функционирования грид-систем за счет сокращения времени простоя оборудования, вызванного его отказом вследствие осуществления компьютерных атак на ресурсы грид-систем.
Для решения этой задачи, в отличие от известного способа распределения пользовательской задачи по узлам грид-системы, включающего принятие решения о легитимности узлов на основании сопоставления прав доступа, запрашиваемых учетной записью пользователя грид-системы, с уже предоставленными правами доступа на этих узлах и распределение пользовательской задачи по легитимным узлам после принятия решения об их легитимности
в предлагаемом способе вначале создают пару криптографических ключей шифрования: открытый и закрытый ключи шифрования;
затем принимают решение о легитимности узлов грид-системы и выполняют обмен ключами шифрования;
после этого шифруют данные, содержащиеся в пользовательской задаче, открытым ключом шифрования и распределяют пользовательскую задачу по легитимным узлам грид-системы;
легитимные узлы грид-системы расшифровывают полученные данные и выполняют пользовательскую задачу.
Предварительное шифрование данных учетной записью пользователя, инициирующей запрос на предоставление ресурсов грид-системы, исключает возможность получения несанкционированного доступа к этим данным со стороны учетных записей пользователей, наделенных административными полномочиями на узлах грид-системы.
Изобретение поясняется чертежами, где фиг. 1 - схема грид-системы, фиг. 2 - схема реализации предложенного технического решения.
Грид-система содержит узлы 1, 2, 3, 4, 5, 6, 7, представляющие собой вычислительные устройства. В грид-системе реализована программная база Globus Toolkit 5.0. Цифровые сертификаты учетных записей пользователей и узлов грид-системы являются легитимными.
Узел 1 является провайдером ресурсов Т1={'пользовательские_данные'};
узел 2 является провайдером ресурсов T2={'ресурсы_ПО'}
узел 3 является провайдером ресурсов Т3={'пользовательские_данные'};
узел 4 является провайдером ресурсов Т4={'вычислительные_ресурсы'};
узел 5 является провайдером ресурсов T5=['пользовательские_данные'};
узел 6 является провайдером ресурсов T6={'ресурсы_ПО'};
узел 7 является провайдером ресурсов T7={'пользовательские_данные'}.
В грид-системе заданы следующие правила разграничения доступа, которые предусматривают два типа доступа: доступ к вычислительным ресурсам и к данным учетных записей пользователей грид-системы:
Правило №1. Учетная запись пользователя U1 может хранить данные на узле 1.
Правило №2. Учетная запись пользователя U1 не может хранить данные на узле 6.
Правило №3. Учетная запись пользователя U3 может исполнять приложения на узле 7.
Правило №4. Учетная запись пользователя U4 может хранить данные на узле 1.
Правило №5. Учетная запись пользователя U5 может исполнять приложения на узле 3.
Правило №6. Учетная запись пользователя U5 не может выполнять никаких действий на узле 1.
Правило №7. Учетная запись пользователя U1 может исполнять приложения на узле 4.
Правило №8. Учетная запись пользователя U7 может хранить данные на узле 1.
Правило №9. Учетная запись пользователя U1 может исполнять приложения на узле 2.
Предлагаемый способ может быть реализован следующим образом.
Изначально в грид-системе отсутствуют пользовательские задачи. При запросе на выполнение пользовательской задачи на узле 1 с учетной записью пользователя U1 с типом метки Т={'пользовательские_данные', 'вычислительные_ресурсы', U1} сначала выполняется взаимная аутентификация узла грид-системы с учетной записью пользователя грид-системы посредством проверки их цифровых сертификатов.
Поскольку цифровые сертификаты учетных записей пользователей и узлов грид-системы являются легитимными, выполняется первичная обработка пользовательской задачи, инициированной процессами от имени учетной записи пользователя, посредством определения доступных узлов грид-системы, анализа их загруженности, производительности, а также доступных типов ресурсов. Для успешного выполнения данной задачи в соответствии с типом ее метки Т провайдеры ресурсов (узлы грид-системы) должны располагать следующим множеством ресурсов: {'пользовательские_данные', 'вычислительные_ресурсы'}. В результате определено множество доступных узлов грид-системы, суммарно способных выполнить данную задачу: узел 3 и узел 4. Остальные узлы либо чрезмерно загружены выполнением других задач, либо не обладают нужным типом ресурсов.
Затем выполняют шифрование данных, содержащихся в пользовательской задаче. Для этого создают пару криптографических ключей: открытый ключ шифрования, предназначенный для зашифровывания данных, и закрытый ключ шифрования, предназначенный для расшифровывания данных.
Затем определяют множество легитимных узлов грид-системы (например, посредством построения дерева достижимости сети Петри, моделирующей данную грид-систему). Для каждой вершины полученного дерева выполняют сравнение запрашиваемых прав доступа с предоставленными правами доступа и с правилами разграничения доступа. Сначала проверяют узел 6 путем последовательного просмотра правил доступа, в результате чего находят правило №2 (в соответствии с набором правил, представленным выше), которое не позволяет учетной записи пользователя U1 хранить свои данные на узле 6. Затем проверяют узел 2, в результате чего находят правило №9, которое разрешает учетной записи пользователя U1 исполнять приложения на узле 2. Переход от узла 1 до узла 2 образует первую часть маршрута распределения пользовательских задач по узлам грид-системы. Затем аналогично строится оставшаяся часть маршрута. Таким образом, узел 3 и узел 4 являются конечными пунктами маршрута распределения пользовательской задачи.
Затем выполняют обмен ключами шифрования между учетной записью пользователя U1 и полученными легитимными узлами грид-системы: 3 и 4.
После этого учетная запись пользователя U1 выполняет зашифровывание данных пользовательской задачи на узле 1 с помощью открытого ключа шифрования.
В соответствии с определенным ранее маршрутом распределения пользовательской задачи по узлам грид-системы пользовательскую задачу передают на узлы 3 и 4.
На указанных узлах грид-системы выполняют расшифровывание данных пользовательской задачи с помощью закрытого ключа шифрования. После этого программный сервис грид-системы, расположенный на указанных узлах, запускает задачу от имени локальной учетной записи пользователя, в результате чего задействует ресурсы на узлах 3 и 4.
Применение данного изобретения в существующих реализациях грид-систем позволит улучшить защиту информационных и вычислительных ресурсов грид-систем от несанкционированного доступа, а также сократить временные и экономические затраты на поддержание надежного функционирования грид-систем за счет сокращения времени простоя оборудования, вызванного его отказом вследствие осуществления компьютерных атак на ресурсы грид-систем. Применение предлагаемой в изобретении системы позволит автоматизировать процедуру анализа безопасности, придать ей объективный характер и тем самым обеспечить высокий уровень надежности и защищенности грид-систем.
Способ верификации распределения пользовательских задач по узлам грид-системы, включающий принятие решения о легитимности узлов на основании сопоставления прав доступа, запрашиваемых учетной записью пользователя грид-системы с уже предоставленными правами доступа на этих узлах, и распределение пользовательской задачи по легитимным узлам, отличающийся тем, что вначале создают пару криптографических ключей шифрования: открытый и закрытый ключи шифрования, затем принимают решение о легитимности узлов грид-системы и выполняют обмен ключами шифрования, после этого шифруют данные, содержащиеся в пользовательской задаче, открытым ключом шифрования и распределяют пользовательскую задачу по легитимным узлам грид-системы, затем легитимные узлы грид-системы расшифровывают полученные данные и выполняют пользовательскую задачу.