- PVSM.RU - https://www.pvsm.ru -

Upspin: новая глобальная файловая система от Google

Upspin: новая глобальная файловая система от Google - 1

На днях стало известно [1] о новом проекте Upspin [2], который разрабатывается группой инженеров из корпорации Google. Основная задача участников проекта — создание фреймворка для обеспечения безопасного совместного доступа к файлам. Upspin, если коротко, задает набор протоколов, интерфейсов и прочих программных компонент, что позволяет связать вместе различные данные, включая ФС и сервисы хранения. Написан фреймворк на язык Go. Распространяется [3] он под лицензией BSD. Стоит отметить, что сам проект — не официальная разработка Google, а «хобби» сотрудников.

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

Чтобы лучше понять саму проблему, можно представить себе ситуацию, когда пользователь хочет поместить фотографию, которая загружена в Facebook, в другую социальную сеть, например, во «Вконтакте». В этом случае приходится загружать картинку сначала на ПК или телефон, а потом уже пересохранять в другой социальной сети. Чтобы передать файл другому пользователю или передать со смартфона на удаленный ПК, нужно загружать информацию в «облако» любого доступного файлового сервиса. Контроль над файлом у пользователя исчезает сразу после того, как данные попадают на сервера выбранного сервиса. Для сохранения безопасности данных их в этом случае приходится шифровать.

В системе три основных компонента:

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

Upspin: новая глобальная файловая система от Google - 2Для того, чтобы идентифицировать файл, разработчики Upspin предлагают использовать схему типа «ann@example.com/dir/file», которая состоит из электронной почты пользователя и виртуального пути. Если известен глобальный идентификатор файла, то любой пользователь, получив доступ, сможет обратиться к этому файлу из практически любого локального приложения. Это будет работать, как обращение к обычному файлу в собственной файловой системе или любого их совместимых с фреймворком онлайн-сервисов.

Достоинством проекта можно назвать еще и обеспечение доступа к динамически меняющейся информации, будь то данные с датчиков или же результаты запроса к сетевым сервисам. Для прикрепления глобального пространства имен к локальной файловой системе пользователь получает FUSE-модуль. Второй вариант — программа upspin с набором типовых команд вроде «ср». Для того, чтобы произвести подключение к глобальной ФС нужно просто установить одну из реализаций Upspin, создать ключи для email и зарегистрировать их в хранилище ключей.

Доступом можно управлять путем создания в экспортируемой директории особого файла, который называется Access, в котором перечисляются все полномочия, предоставленные другим пользователям. В итоге, добавив в файл правило типа «read: joe@here.com, mae@there.com», пользователи joe@here.com и mae@there.com могут читать файлы в текущих директории и поддиректории. Кроме того, фреймворк дает возможность предоставлять доступ к записи или же просмотру содержимого каталога, удалению, созданию файла. Можно создавать и отдельные групповые политики, используя шаблоны либо же индивидуальное определение правил доступа к различным файлам.

По словам разработчиков, одна из основных целей — обеспечение максимального уровня безопасности. Что касается производительности, то ей здесь отводится второстепенная роль. Для обеспечения безопасности данных пользователя используются методы идентификации пользователей по открытым ключам. Одна из них Key Transparency с централизованным сервером ключей key.upspin.io. Изначально применяется верификация содержимого по цифровой подписи, а все данные передаются в зашифрованном виде с использованием ширования типа end-to-end. Это позволяет многое, включая разворачивание собственного сервера Upspin, хранение файлов в любом облачном хранилище.

Автор: King Servers

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/google/246012

Ссылки в тексте:

[1] стало известно: https://security.googleblog.com/2017/02/another-option-for-file-sharing.html

[2] Upspin: https://upspin.io/

[3] Распространяется: https://github.com/upspin/upspin

[4] Источник: https://habrahabr.ru/post/322480/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best