Управление доступом на основе блокчейн

ОРГАНИЗАЦИОННЫЕ И ОБЩЕТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

УдК 38:004

управление доступом на основе блокчейн

ACCESS MANAGEMENT BASED ON BLOCK-CHAIN TECHNOLOGY

волошин Игорь Петрович

Voloshin Igor Petrovich

кандидат технических наук, доцент, заведующий кафедрой информационных систем в экономике, Саратовский социально-экономический институт (филиал) РЭУ им. Г.В. Плеханова, Саратов

Cand. Sc. (Technical Sciences), associate professor, head of the department of information systems in economics, Saratov socio-economic institute (branch) of Plekhanov Russian University, Saratov

e-mail: voloshin.i.p@gmail.com

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

Ключевые слова: блокчейн, политика управления доступом, право доступа к ресурсу.

The article shows that access control systems are used in computer security to regulate access to critical or valuable resources. The rights of access to such resources are usually maintained through access control policies that are checked during the access request to the current access object. The article presents an approach based on the block-chain technology for publishing policies regulating the right of access to a resource and for enabling distributed transfer of such access rights among users. This solution helps distribute audit-ability and prevent criminals from changing the right of access provided by enforced policy.

Keywords: block-chain, access control policy, right of access to resource.

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

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

Научно-практический журнал. ISSN 1995-5731

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

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

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

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

Основными преимуществами предлагаемого подхода являются:

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

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

вильные переводы, публикуются на блочной цепочке.

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

Общим способом выражения прав доступа является использование политик управления доступом на основе атрибутов (ABAC). Политика управления доступом на основе атрибутов объединяет набор правил, выражающих условия по набору атрибутов, сопряженных с объектом, ресурсу или окружающей среде. Правила объединены друг с другом, они должны быть удовлетворены соответствующим образом, чтобы право доступа было предоставлено. Хорошо известным языком политик, позволяющим выражать политики ABAC, является расширяемый язык разметки доступа (XACML), разработанный консорциумом OASIS [3].

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

Такой подход требует, чтобы V и Sj выполняли отдельные действия, независимо друг от друга. Эмитент политики не принимает участия в обмене политическими правами, и аналогичным образом субъект не принимает участия и не должен быть в сети, когда эмитент политики изменяет политику.

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

В таком подходе политика состоит из:

- условия, которое определяет идентификатор субъекта, которому политика предоставляет право доступа;

- условий, которые определяют набор значений, разрешенных для атрибутов субъекта, ресурса и среды для доступа.

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

- добавить новые условия к условиям, уже определенным в политике;

- разделять набор значений, допустимых для атрибута, на существующее условие политики в двух (или более) вариантах набора.

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

Каждая политика относится только к одному субъекту. Это не является ограничением, поскольку, когда V хочет предоставить доступ к ресурсу нескольким субъектам, он может просто создать отдельную политику для каждого из этих субъектов. Каждая политика включает только одно правило со всеми условиями политики, надлежащим образом объединенными с помощью логических операторов.

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

ной цепочке приведет к серьезной проблеме занятости пространства.

Самым простым решением было бы хранить в блочной цепочке только ссылку на внешний источник, содержащий эту политику, в сочетании с криптографическим хешем самой политики, чтобы сделать это доказательством. Например, блок-цепочка может сохранить только ссылку на внешний источник, на котором размещена фактическая политика (написанная в стандартном формате, например, XACML) [4].

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

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

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

- имя атрибута;

- соединяющий операнд;

- имя атрибута или постоянное значение (возможен набор постоянных значений).

Условия объединяются логическим оператором для формирования уникального условия.

для того чтобы хранилище политик было масштабируемо в размере политики, необходимо чтобы каждое из перечисленных выше сведений о состоянии представлялось с постоянным размером. Логический коннектор политики, конечно, легко кодифицировать одним битом (0 для OR и 1 для AND). для сжатия операндов необходимо составить кодировоч-ную таблицу, которая будет поддерживаться на уровне протокола (с открытым исходным кодом) и обновляться новыми полезными символами в будущих версиях протокола. для сжатия имен атрибутов эмитентом политики составляется список. В списке атрибуты отображаются уникальным кодом фиксированного размера. При этом размер зависит от количества вариантов атрибутов. данный список должен быть опубликован и подписан эмитентом, а также принят другими пользователями для использования в политике. Криптографический хэш этого списка затем встав-

Научно-практический журнал. ISSN 1995-5731

ляется в каждую политику, используя атрибуты списка. Такой хеш необходим, чтобы знать, какое отображение используется, и не позволяет эмитенту политики создавать новое сопоставление, что потенциально изменит смысл уже существующей политики. Но так как эмитент политики может удалить сопоставление в будущем (поскольку он хранится локально, а не на блочной цепочке), то пользователю рекомендуется получать права, полученные из политики, для локального сохранения соответствующего сопоставления. В случае будущего спора правообладатель может доказать корректность сопоставления имеющегося у него списка и сформированного для него хэша, а эмитент политики не сможет отрицать, что он является его создателем, а значит и не сможет подменить список [2].

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

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

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

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

Библиографический список

1. Волошин И.П., Сорокина Е.В. Проблемы обеспечения информационной безопасности при организации информационного взаимодействия муниципальных учреждений // Информационная безопасность регионов. 2015. № 3 (20). С. 38-42.

Voloshin I.P., Sorokina Ye.V. (2015) Problemy obespecheniya informatsionnoy bezopasnosti pri organizatsii informatsionnogo vzaimodeystviya munitsipal'nykh uchrezhdeniy [Problems of ensuring information security in the process of organizing information interaction of municipal institutions] // Informatsionnaya bezopasnost' regionov. № 3 (20). P. 38-42.

2. Соколова Т.Н., Сыксин В.В. Управление децентрализованными системами с помощью технологии blockchain // Информационная безопасность регионов. 2017. № 1 (26). С. 12-17.

Sokolova T.N., Syksin V.V. (2017) Upravleniye detsentralizovannymi sistemami s pomoshch'yu tekhnologii blockchain [Management of decentralized systems using blockchain technology] // Informatsionnaya bezopasnost' regionov. № 1 (26). P. 12-17.

3. extensible Access Control Markup Language (XACML) Version 3.0 Plus Errata 01 OASIS Standard incorporating Approved Errata 12 July 2017. URL: http://docs.oasis-open.org/xacml/3.0/errata01/os/xacml-3.0-core-spec-errata01-os-complete.pdf.

4. Zyskind G., Nathan O. (2015) Decentralizing privacy: Using blockchain to protect personal data //Security and Privacy Workshops (SPW). P. 180-184.