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

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

В рамках Upspin предлагается использовать для идентификации файла схему «ann@example.com/dir/file», где есть email пользователя и виртуальный путь. Зная глобальный идентификатор файла, любой пользователь, при предоставлении ему доступа, может обратиться к этому файлу из любого локального приложения, как к обычному файлу в своей файловой системе, или из любого online-сервиса, поддерживающего Upspin. Как отмечается, для подключения к Upspin нужно установить одну из реализаций Upspin, создать ключи для своего email и зарегистрировать их в хранилище ключей.

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

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