Недавно (20 июня 2019 года) на Cryptology ePrint Archive была опубликована статья "SoK of Used Cryptography in Blockchain". Данный пост - восемнадцатый в запланированной серии, содержащей любительский перевод этой статьи.
Систематизация знаний по используемой криптографии в блокчейне
(перевод с английского
статьи
Mayank Raikwar, Danilo Gligoroski and Katina Kralevska
SoK of Used Cryptography in Blockchain
Cryptology ePrint Archive, Report 2019/735
https://eprint.iacr.org/2019/735)
Аннотация
(перевод аннотации здесь)
1 Введение (перевод введения здесь)
1.1 Наш вклад (перевод здесь)
2 Методология исследования (перевод здесь)
3 Основные понятия блокчейна
3.1 Криптографическая хэш-функция (перевод здесь)
3.2 Механизмы консенсуса (перевод здесь)
3.3 Сетевая инфраструктура (перевод здесь)
3.4 Типы блокчейна (перевод здесь)
4 Проблемы в блокчейн
4.1 Безопасность и приватность (перевод здесь)
4.2 Проблемы масштабируемости (перевод здесь)
4.3 Форкинг (перевод здесь)
4.4 Производительность (перевод здесь)
4.5 Энергопотребление (перевод здесь)
4.6 Инфраструктурные зависимости (перевод здесь)
5. Обзор используемых криптографических понятий в блокчейне
5.1 Схема подписи (перевод здесь)
5.2 Доказательства с нулевым разглашением (перевод здесь)
5.3 Контроль доступа
Это выборочное ограничение информации или ресурса на основе определенной политики или критериев. Эти механизмы [142] могут быть применены для установления ограничения или доступа к блокчейну. Доступ может быть доступом для чтения/записи или доступом для участия в протоколе блокчейна. Существует множество различных механизмов управления доступом, таких как управление доступом на основе ролей, атрибутов, организации, которые можно использовать в блокчейне. Недавние инциденты показывают нарушения безопасности и кражу данных с определенных платформ блокчейна, которые можно устранить и предотвратить с помощью контроля доступа. Приватность данных может быть обеспечена в блокчейнах с помощью контроля доступа [92, 93]. В настоящее время методы контроля доступа широко используются в медицинских приложениях на основе блокчейна [143] или блокчейнах для страховой отрасли, где данные представляют собой конфиденциальную информацию, которая должна быть доступна только доверенным и авторизованным сторонам. Существуют различные типы механизмов контроля доступа, которые можно использовать в блокчейн-приложениях; поясняется, что некоторые из этих механизмов используются в блокчейне.
1. Управление доступом на основе ролей (Role-based Access Control (RBAC)): RBAC — это подход к ограничению просмотра системы пользователями системы в соответствии с их ролями в системе. Таким образом, его можно применять в рамках блокчейна, где доступ предоставляется в соответствии с ролями пользователей. RBAC используется в решении на основе блокчейна для здравоохранения [144]. Простой пример, показанный на рис. 8, описывает управление доступом на основе ролей в блокчейне частного здравоохранения. В зависимости от роли каждый объект в системе блокчейна имеет свои права доступа. Пациент может запросить свои личные медицинские данные, однако только врач, связанный с пациентом, может вводить или изменять медицинскую карту пациента в блокчейне. С другой стороны, исследовательская компания может запросить данные пациентов по любому заболеванию в исследовательских целях.
Рисунок 8: Управление доступом на основе ролей в блокчейне здравоохранения
2. Управление доступом на основе атрибутов (Attribute-based Access Control (ABAC)): в ABAC правила управления доступом основаны на структуре атрибутов. Эти атрибуты могут быть специфичными для пользователя, среды или объекта. Например, в настройке блокчейна для страховой отрасли «отдел» может быть атрибутом, с помощью которого ограничивается доступ к данным блокчейна, что означает, что отдел обработки претензий будет иметь другое представление о блокчейне по сравнению с отделом аудита. ABAC можно использовать в модели блокчейна справедливого доступа [92], сохраняя атрибуты в политике.
3. Организационный контроль доступа (Organization-based Access Control (OrBAC)): OrBAC — одна из самых богатых моделей контроля доступа. OrBAC состоит из трех сущностей (субъект, действие, объект), которые определяют, что какой-либо субъект имеет разрешение на выполнение некоторого действия над некоторым объектом. OrBAC уже использовался в блокчейне для IoT в модели блокчейна справедливого доступа [92] и в модели динамического контроля доступа на блокчейне [145].
Другие механизмы управления доступом, такие как управление доступом на основе контекста и управление доступом на основе возможностей (предлагаемые в блокчейн-решениях для автономных транспортных средств, умных городов, IoT [146]), также могут быть полезны для различных блокчейн-решений.