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

Хра­нение важ­ных фай­лов в обла­ке — удоб­ный и надеж­ный спо­соб обе­зопа­сить дан­ные от полом­ки компь­юте­ра или выхода из строя жес­тко­го дис­ка, от дей­ствий вирусов‑шиф­роваль­щиков и даже от собс­твен­ных оши­бок. И если бес­плат­но мож­но получить лишь отно­ситель­но нем­ного мес­та в обла­ке с весь­ма огра­ничен­ными воз­можнос­тями защиты, то под­писка на офис­ный пакет от Microsoft пре­дос­тавит сра­зу целый терабайт облачно­го прос­транс­тва.

В то же вре­мя все, что ты сох­раня­ешь в обла­ке, ста­новит­ся дос­тупным со сто­роны. Вла­делец облачно­го сер­виса смо­жет (и будет!) ска­ниро­вать твои фай­лы в поис­ках зап­рещен­ного кон­тента, а в некото­рых слу­чаях — и прос­то для того, что­бы показать тебе более релеван­тную рек­ламу. Если же дан­ные тво­ей учет­ной записи попадут в руки зло­умыш­ленни­ка, то и твои докумен­ты и фотог­рафии могут быть исполь­зованы про­тив тебя. При­меров более чем дос­таточ­но: здесь и Celebgate, и поваль­ные уволь­нения со сто­роны работо­дате­лей, узнавших, что их работ­ницы могут носить (а могут и не носить) купаль­ники, и мно­гочис­ленные попыт­ки шан­тажа.

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

 

Как и от чего защищены данные в облаке

Каж­дый облачный про­вай­дер счи­тает сво­им дол­гом сооб­щить о том, нас­коль­ко серь­езно зашиф­рованы дан­ные и нас­коль­ко безопас­но их хра­нить имен­но в его обла­ке. Хороший при­мер — статья Encryption at rest in Google Cloud, в которой Google рас­ска­зыва­ет о мно­гос­лой­ной схе­ме шиф­рования с исполь­зовани­ем AES-256. В то же вре­мя Google спо­кой­но ска­ниру­ет перепис­ку поль­зовате­лей, фотог­рафии и даже пароли, что вызыва­ет логич­ный воп­рос: а в самом ли деле дан­ные зашиф­рованы?

Дан­ные в облачных сер­висах Amazon, Microsoft OneDrive, Dropbox и Google дей­стви­тель­но хра­нят­ся в виде зашиф­рован­ных бло­ков, рас­пре­делен­ных не толь­ко по раз­ным дис­кам, но и по раз­ным физичес­ким сер­верам, час­то раз­несен­ных геог­рафичес­ки, а в слу­чае с Apple iCloud — рас­сре­дото­чен­ных по раз­ным про­вай­дерам. При ска­чива­нии фотог­рафий, фай­лов и дру­гих дан­ных из iCloud сис­тема выда­ет ссыл­ки на бло­ки дан­ных, рас­положен­ные на сер­верах то Microsoft, то Google, а для аме­рикан­ских поль­зовате­лей попада­ются ссыл­ки и на инфраструк­туру AT&T. Разуме­ется, вла­делец облачно­го сер­виса не хочет, что­бы про­вай­деры сер­верной инфраструк­туры (как видим, это не всег­да одно и то же лицо) мог­ли получить дос­туп к дан­ным. Соот­ветс­твен­но, дан­ные шиф­руют­ся по бло­кам, а клю­чи шиф­рования хра­нят­ся уже на собс­твен­ных сер­верах вла­дель­ца облачно­го сер­виса.

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

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

Из это­го пра­вила есть исклю­чения. Наибо­лее извес­тное из них — тех­нология «сквоз­ного шиф­рования», которую исполь­зует Apple для защиты отдель­ных катего­рий дан­ных (нап­ример, сох­ранен­ных паролей, тво­ей медицин­ской информа­ции и исто­рии бра­узе­ра Safari; фотог­рафии и докумен­ты в чис­ло таких дан­ных не вхо­дят, чему есть дос­таточ­но све­жее под­твержде­ние: фо­тог­рафии дол­гое вре­мя «уте­кали» из нес­коль­ких сотен учет­ных записей). К таким дан­ным дос­тупа не име­ет даже сама ком­пания Apple, а для их рас­шифров­ки нужен отдель­ный ключ, который рас­шифро­выва­ется с помощью кода бло­киров­ки экра­на одно­го из при­вязан­ных устрой­ств (нап­ример, iPhone или iPad) или пароля на вход в компь­ютер с macOS. Я вижу здесь опре­делен­ное лукавс­тво со сто­роны Apple. С одной сто­роны, такие дан­ные и в самом деле защище­ны, а ком­пания Apple не толь­ко не рас­шифро­выва­ет их сама, но и не выда­ет пра­воох­ранитель­ным орга­нам даже через суд.

С дру­гой же сто­роны, единс­твен­ное, что защища­ет эти дан­ные, — это доб­рая воля самой ком­пании Apple: сто­ит ей захотеть, как тут же будет соз­дан инс­тру­мент (если, конеч­но, он уже не соз­дан), переби­рающий все воз­можные ком­бинации кодов бло­киров­ки экра­на (для боль­шинс­тва поль­зовате­лей это шесть цифр, реже — все­го четыре). Более того, если зло­умыш­ленник или работ­ник спец­служб узна­ет код бло­киров­ки экра­на при­вязан­ного к iCloud устрой­ства, то «сквоз­ное шиф­рование» совер­шенно не помеша­ет ска­чать и рас­шифро­вать эти дан­ные. Мне кажет­ся, что если это и исклю­чение, то из раз­ряда тех, которые толь­ко под­твержда­ют пра­вило.

Кста­ти, Google, в отли­чие от Apple, твои пароли «сквоз­ным шиф­ровани­ем» не защища­ет (по край­ней мере с нас­трой­ками по умол­чанию: Google то раз­решал, то зап­рещал, то сно­ва раз­решал опци­ональ­но защищать сох­ранен­ные пароли отдель­ным мас­тер‑клю­чом). В доказа­тель­ство при­веду скрин­шот одной из тес­товых учет­ных записей: Google авто­мати­чес­ки прос­каниро­вал сох­ранен­ные пароли и срав­нил их с дан­ными из уте­чек.

Действительно конфиденциальные облака

Су­щес­тву­ют облачные про­вай­деры, которые ничего не зна­ют и не хотят знать о том, какой имен­но кон­тент хра­нят на их сер­верах поль­зовате­ли. Широко известен про­вай­дер Mega, офи­циаль­ная полити­ка которо­го такова: «Дан­ные в сер­висе Mega зашиф­рованы на сто­роне кли­ента с исполь­зовани­ем алго­рит­ма AES. Пос­коль­ку Mega не зна­ет клю­чей шиф­рования заг­ружа­емых фай­лов, рас­шифро­вать и прос­мотреть их содер­жимое невоз­можно. Сле­дова­тель­но, ком­пания Mega не может нес­ти ответс­твен­ность за содер­жимое заг­ружен­ных фай­лов». В то же вре­мя Mega час­то исполь­зуют для того, что­бы поделить­ся фай­лами, для чего генери­рует­ся ссыл­ка; в ссыл­ке содер­жится ключ, поз­воля­ющий рас­шифро­вать содер­жимое фай­ла. Это поз­воля­ет пра­вооб­ладате­лям отсле­живать нелегаль­ный кон­тент и тре­бовать у Mega его уда­лить.

Под­ведем итог. Популяр­ные облачные про­вай­деры (Google, Apple, Microsoft, Dropbox, Amazon) сог­ласны хра­нить твои фай­лы, фотог­рафии и докумен­ты, и эти дан­ные дей­стви­тель­но зашиф­рованы; воп­рос лишь в том, кто кон­тро­лиру­ет клю­чи шиф­рования. Для боль­шей час­ти дан­ных клю­чи шиф­рования находят­ся в руках у самих облачных сер­висов, а это зна­чит, что дос­туп к содер­жимому как для них самих, так и для взлом­щика, получив­шего дос­туп к тво­им учет­ным дан­ным, совер­шенно проз­рачен. Имен­но эту проб­лему — кон­троль клю­чей шиф­рования — мы и будем решать.

 

Вариант решения: костыль OneDrive Personal Vault

OneDrive Personal Vault — в перево­де наз­ванный «лич­ный сейф OneDrive» — допол­нитель­ный уро­вень защиты, который Microsoft пред­лага­ет под­писчи­кам на Office 365 (без под­писки в «лич­ный сейф» мож­но помес­тить толь­ко три фай­ла). В рек­ламе говорит­ся: «Лич­ный сейф OneDrive защищен средс­тва­ми про­вер­ки лич­ности, бла­года­ря чему вы можете сох­ранять в обла­ке самые важ­ные фай­лы, не бес­поко­ясь о воз­можнос­ти несан­кци­они­рован­ного дос­тупа к ним». Microsoft пред­лага­ет хра­нить в нем самые важ­ные докумен­ты — «циф­ровые копии сво­его пас­порта, водитель­ско­го удос­товере­ния и дру­гих важ­ных докумен­тов». Обе­щает­ся «повышен­ная безопас­ность»: по мне­нию ком­пании, «лич­ный сейф уси­лива­ет и без того надеж­ную защиту OneDrive с помощью шиф­рования фай­лов, отсле­жива­ния подоз­ритель­ных дей­ствий, поис­ка вирусов, обна­руже­ния прог­рамм‑шан­тажис­тов и вос­ста­нов­ления дан­ных».

Очень мно­го кра­сивых слов, которые вызыва­ют доверие и желание защитить важ­ные дан­ные. Фак­тичес­ки же нам пред­лага­ется обыч­ная «запаро­лен­ная пап­ка», для дос­тупа к которой тебе пот­ребу­ется ввес­ти пароль от учет­ной записи (тот же самый пароль, который исполь­зует­ся для дос­тупа к основно­му хра­нили­щу OneDrive) и прой­ти про­вер­ку по методу двух­фактор­ной аутен­тифика­ции (ту же самую про­вер­ку, которая нуж­на… ну, ты понял).

Мы иссле­дова­ли безопас­ность «лич­ного сей­фа OneDrive» и не обна­ружи­ли никаких допол­нитель­ных механиз­мов защиты или кон­тро­ля дос­тупа. В статье «Ана­лиз дан­ных из учет­ных записей Microsoft» есть упо­мина­ние о том, что для вхо­да в «сейф» не тре­бует­ся даже пов­торной авто­риза­ции, дос­таточ­но обыч­ного токена дос­тупа в OneDrive.

Вы­вод: «лич­ный сейф OneDrive» име­ет отно­шение к мар­кетин­гу, рек­ламе и зараба­тыва­нию денег, но не име­ет ни малей­шего отно­шения к реаль­ной безопас­ности тво­их дан­ных. Все фай­лы, которые ты помес­тишь в «лич­ный сейф», будут точ­но так же дос­тупны и Microsoft, и любому зло­умыш­ленни­ку, получив­шему дос­туп к тво­ей учет­ной записи.

 

Вариант решения: криптоконтейнер в облаке

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

Нес­табиль­ная син­хро­низа­ция — основная проб­лема это­го решения. Как пра­вило, файл, содер­жащий крип­токон­тей­нер, дос­таточ­но объ­емный, и син­хро­низи­ровать его нуж­но не целиком, а по бло­кам. В то же вре­мя блоч­ная син­хро­низа­ция появи­лась в облачных сер­висах не так дав­но, при­чем в некото­рых из них она дос­тупна толь­ко для плат­ных поль­зовате­лей. В отсутс­твие блоч­ной син­хро­низа­ции при каж­дом добав­лении или изме­нении фай­ла в крип­токон­тей­нере весь кон­тей­нер целиком дол­жен будет син­хро­низи­ровать­ся с обла­ком; это мед­ленно и неудоб­но.

Вто­рая проб­лема — неудобс­тво исполь­зования на нес­коль­ких устрой­ствах: под­клю­чить крип­токон­тей­нер в обла­ке к смар­тфо­ну или план­шету будет труд­но, а поль­зовать­ся им воз­можно толь­ко в руч­ном режиме. В этот же пункт запишем неудобс­тво инкре­мен­тно­го резер­вно­го копиро­вания кон­тей­нера.

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

Все эти проб­лемы реша­ет шиф­рование каж­дого фай­ла в отдель­нос­ти — и имен­но этим занима­ются крип­тогра­фичес­кие фай­ловые сис­темы.

 

Правильный вариант: криптографические файловые системы

Ре­шить проб­лему при­ват­ности и безопас­ности сох­раня­емых в обла­ке (и не толь­ко) фай­лов поз­воля­ет класс про­дук­тов, который мож­но оха­рак­теризо­вать тер­мином «крип­тогра­фичес­кие фай­ловые сис­темы». В отли­чие от шиф­рования дис­ка (к при­меру, LUKS, VeraCrypt или BitLocker), крип­тогра­фичес­кие фай­ловые сис­темы шиф­руют и рас­шифро­выва­ют дан­ные «на лету» на уров­не отдель­ных фай­лов и папок, сох­раняя при этом проз­рачность дос­тупа для самого поль­зовате­ля. Цель и смысл сущес­тво­вания крип­тогра­фичес­ких фай­ловых сис­тем — защитить фай­лы от несан­кци­они­рован­ного дос­тупа, если зло­умыш­ленник получит физичес­кий дос­туп к тво­ему дис­ку либо взло­мает твою облачную учет­ную запись.

С целью син­хро­низа­ции в обла­ко подой­дет далеко не каж­дая крип­тогра­фичес­кая фай­ловая сис­тема. Так, популяр­ная сре­ди поль­зовате­лей Linux сис­тема eCryptFS (о ней мы еще погово­рим) под­держи­вает­ся толь­ко в Linux; о сущес­тво­вании кли­ентов для Windows, а тем более для мобиль­ных плат­форм мне неиз­вес­тно. Фай­ловая сис­тема EncFS, работа­ющая по прин­ципу FUSE, обла­дает чуть более широкой сов­мести­мостью, но удоб­ной син­хро­низа­ции с обла­ком с мобиль­ных устрой­ств не будет все рав­но. Схо­жими недос­татка­ми обла­дают и дру­гие фай­ловые сис­темы FUSE, которых для Linux сущес­тву­ет доволь­но мно­го. Эти огра­ниче­ния обхо­дят, пожалуй, толь­ко два про­екта: бес­плат­ный (для дес­ктоп­ных ОС), дос­тупный в исходных кодах Cryptomator и плат­ный, дос­тупный по под­писке Boxcryptor.

 

Cryptomator или eCryptFS?

По­дой­дет ли eCryptFS, если тебе не нуж­на под­дер­жка дру­гих ОС? Или же выбор в любом слу­чае делать в поль­зу Cryptomator? Это воп­рос спор­ный, у той и дру­гой ФС есть силь­ные и сла­бые сто­роны.

 

Совместимость

Как уже упо­мина­лось, eCryptFS есть в Linux и отсутс­тву­ет на дру­гих плат­формах. Cryptomator дос­тупен прак­тичес­ки на всех рас­простра­нен­ных дес­ктоп­ных и мобиль­ных плат­формах.

 

Ограничения на длину имен файлов и папок

В боль­шинс­тве сов­ремен­ных ОС ты можешь исполь­зовать име­на фай­лов дли­ной до 255 зна­ков ASCII (при исполь­зовании сим­волов Unicode — мень­ше). Крип­тогра­фичес­кие фай­ловые сис­темы могут либо оста­вить име­на как есть (зло­умыш­ленник уви­дит наз­вания фай­лов), либо зашиф­ровать име­на фай­лов и папок (при этом мак­сималь­ная дли­на име­ни фай­ла будет мень­ше; для eCryptFS — 143 сим­вола ASCII), либо исполь­зовать допол­нитель­ные ухищ­рения, сох­раняя ори­гиналь­ное длин­ное имя фай­ла в метадан­ных шиф­рования или, как дела­ет Cryptomator, в отдель­ном фай­ле. Забегая впе­ред, добав­лю, что фай­лы с длин­ными име­нами Cryptomator помеща­ет в отдель­ные пап­ки, в которых соз­дает фай­лы contents.c9r (содер­жимое фай­ла) и name.c9s (его имя в зашиф­рован­ном виде).

 

Скорость работы

Ско­рость дос­тупа к зашиф­рован­ным пап­кам будет ниже, чем к обыч­ным; это в какой‑то мере ожи­даемо. Одна­ко в боль­шинс­тве сов­ремен­ных крип­тогра­фичес­ких фай­ловых сис­тем ско­рость дос­тупа к зашиф­рован­ным фай­лам пада­ет катас­тро­фичес­ки. Это свя­зано не столь­ко с самим фак­том шиф­рования (аппа­рат­ное уско­рение AES прак­тичес­ки не замед­ляет работу), сколь­ко с нак­ладны­ми рас­ходами. Для каж­дого фай­ла нуж­но соз­дать заголо­вок (eCryptFS) или файл‑ком­пань­он (Cryptomator), в котором будут сох­ранены метадан­ные шиф­рования; ког­да его откры­ваешь, соот­ветс­твен­но, этот заголо­вок или отдель­ный файл нуж­но про­читать и обра­ботать. Если речь идет об одном круп­ном фай­ле — падение про­изво­дитель­нос­ти отно­ситель­но невели­ко, но при работе с мно­жес­твом мел­ких (а фотог­рафии и докумен­ты отно­сят­ся как раз к таким) ско­рость дос­тупа пада­ет в разы. От это­го стра­дают как eCryptFS, так и Cryptomator; пос­ледний даже в нес­коль­ко боль­шей сте­пени, если речь идет о мно­жес­тве мел­ких фай­лов с длин­ными име­нами (напом­ню, для таких фай­лов соз­дают­ся отдель­ные пап­ки и фай­лы‑ком­пань­оны).

 

Возможность сменить пароль

В той реали­зации шиф­рования eCryptFS, которую исполь­зуют популяр­ные сетевые хра­нили­ща (в час­тнос­ти, Synology) невоз­можно быс­тро (без перешиф­ровки фай­лов) сме­нить пароль шиф­рования. В то же вре­мя в самой фай­ловой сис­теме механизм сме­ны пароля пре­дус­мотрен; через wrapped-passphrase пароль шиф­рования всей пап­ки мож­но успешно сме­нить. Про­изво­дите­ли сетевых хра­нилищ не исполь­зуют этот механизм. Так, в Synology DSM в качес­тве клю­ча шиф­рования берет­ся пароль поль­зовате­ля, а в качес­тве wrapping passphrase — фик­сирован­ный пароль 115YN01o9y, что замет­но сни­жает как безопас­ность сис­темы, так и ее фун­кци­ональ­ность.

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

Cryptomator работа­ет нес­коль­ко ина­че. В зашиф­рован­ной пап­ке соз­дают­ся фай­лы vault.cryptomator и masterkey.cryptomator; в пос­леднем содер­жится зашиф­рован­ный мас­тер‑ключ, которым будут рас­шифро­вывать­ся клю­чи шиф­рования каж­дого отдель­ного фай­ла. Для рас­шифров­ки мас­тер‑клю­ча, в свою оче­редь, исполь­зует­ся пароль поль­зовате­ля. Это дает воз­можность как момен­таль­но сме­нить пароль (для это­го дос­таточ­но перешиф­ровать один лишь мас­тер‑ключ), так и мгно­вен­но и безопас­но унич­тожить все зашиф­рован­ные дан­ные, физичес­ки затерев на дис­ке файл с мас­тер‑клю­чом.

Есть и менее оче­вид­ная воз­можность: ты можешь соз­давать резер­вные копии, в сос­тав которых вой­дет все содер­жимое зашиф­рован­ной пап­ки за исклю­чени­ем фай­ла с мас­тер‑клю­чом. Фай­лы из таких резер­вных копий невоз­можно рас­шифро­вать в прин­ципе, даже если зло­умыш­ленни­ку известен твой пароль: тек­сто­вый пароль исполь­зует­ся не для дос­тупа к фай­лам, а для рас­шифров­ки мас­тер‑клю­ча. Нет мас­тер‑клю­ча — нет и воз­можнос­ти рас­шифро­вать дан­ные.

 

Несовершенная защита

Не­воз­можно пол­ностью защитить дан­ные, если они хра­нят­ся за пре­дела­ми крип­токон­тей­нера. Тот факт, что шиф­руют­ся отдель­ные фай­лы и пап­ки, поз­волит зло­умыш­ленни­ку получить некото­рую информа­цию о зашиф­рован­ных дан­ных. Для eCryptFS эти дан­ные таковы:

  • струк­тура фай­ловой сис­темы;
  • точ­ное чис­ло фай­лов;
  • об­щий объ­ем зашиф­рован­ных дан­ных и раз­мер каж­дого зашиф­рован­ного фай­ла (поз­воля­ет искать сов­падения по раз­мерам фай­лов);
  • ат­рибуты фай­ла (дата и вре­мя соз­дания и пос­ледней модифи­кации).

А как с этим обсто­ит дело у Cryptomator? Нес­коль­ко луч­ше:

  • струк­тура фай­ловой сис­темы — недос­тупна; Cryptomator исполь­зует обфуска­цию, а для фай­лов с длин­ными име­нами соз­дают­ся отдель­ные под­катало­ги;
  • точ­ное чис­ло фай­лов. Для фай­лов с длин­ными име­нами соз­дают­ся отдель­ные под­катало­ги и фай­лы‑ком­пань­оны, но вычис­лить количес­тво исходных фай­лов мож­но и без клю­ча шиф­рования;
  • об­щий объ­ем зашиф­рован­ных дан­ных и раз­мер каж­дого зашиф­рован­ного фай­ла (поз­воля­ет про­делать поиск сов­падений по раз­мерам фай­лов);
  • ат­рибуты фай­ла (дата и вре­мя соз­дания и пос­ледней модифи­кации) — раз­работ­чики Cryptomator заяв­ляют, что работа­ют над шиф­ровани­ем атри­бутов фай­лов. Не уве­рен, что это пой­дет на поль­зу: мно­гие ути­литы резер­вно­го копиро­вания полага­ются на атри­буты вре­мени.

Мнение редактора

Сто­ит отме­тить, что срав­нивать Cryptomator с eCryptFS мож­но исклю­читель­но в ваку­уме. В отли­чие от eCryptFS, которая есть в любом дис­три­бути­ве, Linux-вер­сия Cryptomator рас­простра­няет­ся толь­ко в виде обра­за AppImage, который весит 52 Мбайт и вклю­чает в себя Java-машину и гра­фичес­кую вер­сию при­ложе­ния. Если же ты хочешь получить кон­соль­ный вари­ант Cryptomator, то единс­твен­ный вари­ант — это исполь­зовать Cryptomator CLI, рас­простра­няемый в виде фай­ла JAR, для запус­ка которо­го тре­бует­ся уже уста­нов­ленная Java 11. Нас­коль­ко удоб­но будет исполь­зовать такой инс­тру­мент в скрип­тах и на вир­туаль­ных сер­верах «Ама­зона», можешь пред­ста­вить сам.

 

Особенности Cryptomator

Соз­дание зашиф­рован­ной пап­ки в Cryptomator выг­лядит пре­дель­но прос­то. Вво­дим наз­вание кон­тей­нера, выбира­ем мес­то (по умол­чанию пред­лага­ется выбор меж­ду облачны­ми про­вай­дерами — в моем слу­чае это Dropbox и OneDrive, но под­держи­вают­ся и iCloud Drive, и Google Drive — и любой пап­кой на дис­ке) и ука­зыва­ем пароль. Соз­даем (или не соз­даем) ключ вос­ста­нов­ления.

Все, кон­тей­нер (зашиф­рован­ный мас­тер‑ключ и неболь­шой файл с метадан­ными) соз­дан. Теперь его мож­но смон­тировать. Для замеров про­изво­дитель­нос­ти я исполь­зовал локаль­ную пап­ку.

Ес­ли соз­дать зашиф­рован­ную пап­ку в Dropbox, то в обла­ке будет при­мер­но сле­дующее.

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

Собс­твен­но, это то, ради чего все и затева­лось: Dropbox хра­нит твои фай­лы, но не может их рас­шифро­вать. Ты же смо­жешь уста­новить на телефон при­ложе­ние Cryptomator (при­ложе­ние Dropbox для дос­тупа к зашиф­рован­ной пап­ке не нуж­но, дос­таточ­но соз­дать при­вяз­ку в при­ложе­нии Cryptomator), ввес­ти пароль от зашиф­рован­ной пап­ки — и дан­ные ста­нут тебе дос­тупны.

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

Фун­кций у Cryptomator на мобиль­ных устрой­ствах не так мно­го; нап­ример, в при­ложе­нии для iOS нет штат­ного спо­соба нас­тро­ить син­хро­низа­цию фото­аль­бома с зашиф­рован­ной пап­кой (в при­ложе­нии для Android такая воз­можность при­сутс­тву­ет). Тем не менее дос­туп к важ­ным фай­лам сох­раня­ется, а на компь­юте­ре таких огра­ниче­ний нет. Если же ты хочешь исполь­зовать сквоз­ное шиф­рование для син­хро­низа­ции фотог­рафий — пос­мотри в сто­рону сер­виса Mega.

Ин­терес­ная осо­бен­ность Cryptomator — обфуска­ция струк­туры катало­гов. Час­тично это чис­то тех­ничес­кое решение (для фай­лов с длин­ными име­нами соз­дают­ся отдель­ные катало­ги с дву­мя фай­лами — содер­жимым зашиф­рован­ного фай­ла и его зашиф­рован­ным име­нем), отчасти же сде­лано соз­натель­но, что­бы зат­руднить воз­можность иден­тифика­ции по чис­лу и раз­меру фай­лов в катало­ге. Я про­тес­тировал эту воз­можность; выг­лядит она так.

Со­дер­жимое незашиф­рован­ной пап­ки:

G:.
| WELCOME.rtf
|
\---2016
+---07
| IMG_2016_07_01_16_14_5600.jpg
| IMG_2016_07_01_16_11_3900.jpg
| IMG_2016_07_01_16_11_4400.jpg
| IMG_2016_07_01_16_10_0700.jpg
| IMG_2016_07_01_16_14_1500.jpg
|
+---01
| IMG_2016_01_03_12_22_0900.jpg
| IMG_2016_01_03_12_22_0200.jpg
| IMG_2016_01_03_12_22_1100.jpg
| IMG_2016_01_03_12_21_5300.jpg
|
+---04
| IMG_2016_04_21_16_04_1500.jpg
|
+---05
| IMG_2016_05_01_14_34_0600.jpg
| IMG_2016_05_01_14_34_1000.jpg
| IMG_2016_05_01_14_34_0200.jpg
|
\---06
IMG_2016_06_03_18_01_0200.jpg
IMG_2016_06_03_18_00_4000.jpg

А вот как выг­лядит та же пап­ка, но в зашиф­рован­ном виде (здесь при­веде­на толь­ко часть лис­тинга):

F:.
| IMPORTANT.rtf
| masterkey.cryptomator
| vault.cryptomator
|
\---d
+---4H
| \---TD3CWCFSTS7VUHGVTBDFPQZVO223U3
| +---0g9J-_jgFO_kMhu1urXobjwY.c9r
| | dir.c9r
| |
| +---cqTUhWxKgUxOKYRyEaLj5HRE.c9r
| | dir.c9r
| |
| +---m-DSWVeYyPogxkeGjpBFImj5.c9r
| | dir.c9r
| |
| +---ppPxaJGVhLPK8J0RmJ-But8t.c9r
| | dir.c9r
| |
| \---v086lvJ5yXGfctveff6UvvVO.c9r
| dir.c9r
|
+---77
+---JQ
+---NX
| \---E6PMXLIKCAKKERUMB3RVNKOOMYTESS
| 9l0EohTQJFHu7TioBlynQT16F9Oru9QngQ_2l4Vjm8FD83GSFPF_DfquoMPr.c9r
| RrAwURAxq94yNNEiviSFgHCX9EXA9DgS9wQlg2i7U-tA3Gq3y_8fZgka1IXS.c9r
| vIQ-JTS2L-J8D9UkeWairkOd6FMwHlJAT6G1j9BztwVH5eCKWJs-h3o6xF2Y.c9r
| zchERCt2nRER1FT0q8PFTlnrVPPPRDHN8geUF59BQdbBK_PgfWpP867IjII8.c9r
...

В вер­сии для Windows Cryptomator работа­ет по прин­ципу fused file system через WebDAV либо под­систе­му Dokany, которую пред­лага­ется допол­нитель­но уста­новить пос­ле уста­нов­ки Cryptomator. Сто­ит ли это делать? Я про­тес­тировал Cryptomator в нес­коль­ких кон­фигура­циях на одном и том же кон­тей­нере; резуль­тат — ниже.

Для начала на быс­тром SSD (Samsung 970 Evo Plus) в локаль­ной пап­ке был соз­дан пус­той кон­тей­нер. Вот резуль­тат тес­та CrystalDiskMark.

Об­рати вни­мание: в качес­тве тес­тового устрой­ства наз­начена пап­ка, а не блоч­ный накопи­тель, который добав­ляет в сис­тему Cryptomator при соз­дании зашиф­рован­ной пап­ки.

Пос­ле это­го та же пап­ка была смон­тирова­на через Dokany; бен­чмарк получил­ся такой.

От­мечу, что в этом слу­чае CrystalDiskMark уда­лось завер­шить все тес­ты лишь с треть­ей попыт­ки; в двух пер­вых про­ходи­ли толь­ко пер­вые два тес­та, а на мес­те осталь­ных были нули.

Да­лее я перемес­тил зашиф­рован­ную пап­ку в Ramdisk, что­бы исклю­чить вли­яние SSD на резуль­таты тес­тирова­ния. Для начала — ско­рость самого рам­диска.

Пов­торяю тест через WebDAV.

Осо­бой раз­ницы не наб­людаю. Теперь то же самое, но через Dokany. Бен­чмарк получил­ся, как видишь, не очень.

Мой вывод: в Windows 10 смыс­ла в исполь­зовании Cryptomator через Dokany нет. Ско­рость сущес­твен­но ниже, надеж­ность — катас­тро­фичес­ки ниже, чем при исполь­зовании WebDAV.

На­конец, в режиме WebDAV я замерил сред­нюю ско­рость копиро­вания мел­ких фай­лов (фото­аль­бом объ­емом 7 Гбайт, поряд­ка 5600 фотог­рафий): запись — 120 Мбайт/с, чте­ние — 132 Мбайт/с. Для зашиф­рован­ной пап­ки впол­не при­лич­но, но, конеч­но же, нес­равни­мо со ско­ростью работы даже зашиф­рован­ного BitLocker дис­ка.

 

Cryptomator: достоинства и недостатки

Итак, Cryptomator нас­тро­ен и про­тес­тирован. Под­ведем итог, перечис­лив силь­ные и сла­бые сто­роны решения. К плю­сам Cryptomator я отне­су сле­дующее:

  1. Ра­бота­ет на компь­юте­рах (Windows, macOS, Linux) и мобиль­ных устрой­ствах (Android, iOS), при этом на компь­юте­рах — бес­плат­но.
  2. Дос­тупен в ис­ходни­ках.
  3. Есть при­ложе­ния для всех популяр­ных плат­форм: для дос­тупа к зашиф­рован­ным фай­лам дос­таточ­но уста­новить и нас­тро­ить соот­ветс­тву­ющее при­ложе­ние.
  4. Под­держи­вают­ся длин­ные име­на фай­лов (бич, прес­леду­ющий eCryptFS и мно­гие дру­гие крип­тогра­фичес­кие фай­ловые сис­темы).
  5. Мож­но как момен­таль­но сме­нить пароль шиф­рования, так и унич­тожить все зашиф­рован­ные фай­лы, сде­лав дан­ные недос­тупны­ми: для это­го дос­таточ­но уда­лить файл с мас­тер‑клю­чом.
  6. Пол­ностью авто­ном­ное шиф­рование: мож­но ско­пиро­вать зашиф­рован­ную пап­ку на дру­гой диск, пос­ле чего смон­тировать ее уста­нов­ленным или пор­татив­ным вари­антом Cryptomator.
  7. Бе­зопас­ное резер­вное копиро­вание: для соз­дания и под­держа­ния резер­вных копий (в том чис­ле инкре­мен­тных) нет необ­ходимос­ти рас­шифро­вывать дан­ные и мон­тировать зашиф­рован­ные сетевые пап­ки.
  8. Воз­можны инкре­мен­тные резер­вные копии: вре­мя пос­ледней модифи­кации каж­дого фай­ла дос­тупно без клю­ча шиф­рования.
  9. За­шиф­рован­ные фай­лы мож­но ско­пиро­вать куда угод­но: на любой встро­енный или внеш­ний диск, отформа­тиро­ван­ный в любой фай­ловой сис­теме, на любой NAS любого про­изво­дите­ля, в любой облачный сер­вис, на уда­лен­ный сер­вер по любому под­держи­ваемо­му про­токо­лу.
  10. Шиф­руют­ся как сами дан­ные, так и име­на папок и фай­лов. Для сок­рытия струк­туры катало­гов исполь­зует­ся обфуска­ция.

В минусы запишу сле­дующие пун­кты:

  1. Ста­биль­ность и ско­рость работы в Windows 10 через Dokany оставля­ет желать луч­шего.
  2. С исполь­зовани­ем WebDAV ско­рость работы выше и дос­тига­ет при­емле­мых величин, оста­ваясь, впро­чем, не очень высокой.
  3. Из­быточ­ность: пос­коль­ку шиф­рование имен фай­лов в фай­ловых сис­темах, работа­ющих по прин­ципу fused, всег­да слу­жит сво­еоб­разным «кос­тылем», Cryptomator соз­дает отдель­ные пап­ки и фай­лы‑ком­пань­оны для фай­лов с длин­ными име­нами. Если таких фай­лов у тебя мно­го, то дос­туп к ним будет очень мед­ленным.
  4. Не пре­дус­мотрен спо­соб син­хро­низи­ровать фото­аль­бомы с мобиль­ных устрой­ств в зашиф­рован­ную пап­ку.
 

Cryptomator или Boxcryptor?

Хо­телось бы написать пол­ноцен­ный обзор‑иссле­дова­ние всех популяр­ных крип­тогра­фичес­ких фай­ловых сис­тем, но огра­ниче­ния по вре­мени и объ­ему зас­тавля­ют уре­зать осет­ра, так что срав­нение с Boxcryptor получи­лось доволь­но повер­хностным.

Boxcryptor — это сер­вис, реша­ющий прин­ципи­аль­но те же задачи, которые реша­ет Cryptomator. При этом, в отли­чие от Cryptomator, Boxcryptor дос­тупен по под­писке. Бес­плат­ная вер­сия сер­виса сущес­тву­ет, но тре­бует регис­тра­ции учет­ной записи, при этом чрез­вычай­но фун­кци­ональ­но огра­ниче­на: нап­ример, в ней невоз­можно зашиф­ровать име­на фай­лов, а при­вязать мож­но толь­ко один облачный сер­вис. Есть ли смысл исполь­зовать плат­ный сер­вис Boxcryptor, если сущес­тву­ет бес­плат­ный Cryptomator? И наобо­рот, отка­зыва­ешь­ся ли ты от чего‑то важ­ного, поль­зуясь бес­плат­ным про­дук­том вмес­то дос­тупно­го по под­писке сер­виса? Про­веду корот­кое срав­нение, но преж­де рекомен­дую озна­комить­ся с, так ска­зать, офи­циаль­ными матери­ала­ми:

Сто­имость. Подож­ди, Cryptomator же вро­де бы бес­плат­ный? Так, да не так: бес­плат­ны при­ложе­ния для дес­ктоп­ных плат­форм, а за мобиль­ные при­ложе­ния (iOS, Android) пот­ребу­ется зап­латить 9,99 дол­лара/евро. Впро­чем, Boxcryptor все рав­но дороже: за пер­вый пос­ле бес­плат­ного уро­вень сер­виса про­сят 36 евро в год (бес­плат­ный же уро­вень доволь­но силь­но огра­ничен).

Воз­можность шиф­рования Camera Roll. Син­хро­низа­ция фотог­рафий с обла­ком. Плюс в поль­зу Boxcryptor: в мобиль­ных при­ложе­ниях реали­зова­на под­дер­жка шиф­рования син­хро­низи­рован­ных фотог­рафий, при­чем в при­ложе­нии для iOS даже при­сутс­тву­ет под­дер­жка Files с генера­цией умень­шен­ных вер­сий изоб­ражений на лету. Раз­работ­чики сер­виса пос­вятили это­му целую статью. Cryptomator под­держи­вает син­хро­низа­цию фотог­рафий с обла­ком толь­ко в при­ложе­нии для Android; в iOS под­дер­жка отсутс­тву­ет.

От­кры­тый исходный код. +1 в поль­зу Cryptomator.

Тре­бует­ся учет­ная запись. Боль­шой и жир­ный +1 Cryptomator, который не тре­бует­ся регис­три­ровать у раз­работ­чиков прос­то для того, что­бы он работал. А вот Boxcryptor тре­бует регис­тра­ции учет­ной записи, которая при этом активно исполь­зует­ся: ключ шиф­рования мас­тер‑клю­ча хеширу­ется не на компь­юте­ре поль­зовате­ля, а на сер­верах Boxcryptor (что, кста­ти, соз­дает некото­рую неуве­рен­ность в будущем про­екта: а что слу­чит­ся, если сер­вер зак­роет­ся?).

По­лити­ка защиты кон­фиден­циаль­нос­ти. И сно­ва +1 в поль­зу Cryptomator, раз­работ­чики которо­го не получа­ют и не хра­нят никакой информа­ции о сво­их поль­зовате­лях. Boxcryptor утвер­жда­ет, что он Zero Knowledge Provider, но в то же вре­мя собира­ет и хра­нит сле­дующую информа­цию:

  • Email address
  • First and last name
  • Country
  • Etc.

Keys and Additional Values

Additionally, we store keys and values that are necessary for encrypting and decrypting processes. Of course, these values are protected carefully as well.

  • Private RSA key (encrypted with the user’s password)
  • Public RSA key
  • AES keys (encrypted with the user’s password / wrapping key)
  • Hash of the password hash
  • Number of KDF iterations used in the key and password hash derivation functions
  • Salt (used to salt the password key and the password hash server side)
  • Password hash salt
  • If a company uses the Master Key: Password Key (encrypted with the company’s public RSA key)

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

Двух­фактор­ная аутен­тифика­ция. Казалось бы, ее под­дер­жку нуж­но записать в плю­сы Boxcryptor, но при исполь­зовании Cryptomator двух­фактор­ная аутен­тифика­ция не под­держи­вает­ся прос­то потому, что нет и одно­фак­торной: учет­ная запись тре­бует­ся толь­ко для Boxcryptor.

Ста­биль­ность работы. +1 в поль­зу Boxcryptor: про­ект стар­ше и луч­ше отла­жен.

Шиф­рование имен фай­лов и папок. Есть в обо­их про­дук­тах, но в Boxcryptor — толь­ко за день­ги. Еще +1 в поль­зу Cryptomator.

Ог­раниче­ния на чис­ло устрой­ств и облачных сер­висов. У Boxcryptor есть огра­ниче­ния в зависи­мос­ти от выб­ранно­го пла­на; у Cryptomator таких огра­ниче­ний нет. Еще +1 в поль­зу Cryptomator.

Об­фуска­ция струк­туры фай­ловой сис­темы. И сно­ва +1 в поль­зу Cryptomator. Этот пункт, пожалуй, сто­ит пояс­нить раз­верну­то. Сущес­тву­ют про­дук­ты, которые соз­дают опре­делен­ную струк­туру катало­гов, и в каж­дом из них могут быть свои под­катало­ги и/или опре­делен­ное количес­тво фай­лов. Ана­лиз фай­ловой струк­туры, таким обра­зом, может помочь ата­кующе­му догадать­ся, что исполь­зует­ся та или иная прог­рамма.

Воз­можность кол­лабора­ции через ссыл­ки на фай­лы (без ука­зания пароля): а вот здесь +1 получа­ет Boxcryptor. В Boxcryptor есть воз­можность орга­низо­вать сов­мес­тную работу над докумен­том нес­коль­кими поль­зовате­лями, при этом ни один из них не дол­жен будет раз­гла­шать свой пароль.

Та­ким обра­зом, Cryptomator выиг­рыва­ет с раз­гром­ным сче­том при исполь­зовании в домаш­них усло­виях за единс­твен­ным исклю­чени­ем: син­хро­низа­ция фотог­рафий. Boxcryptor, с дру­гой сто­роны, поз­воля­ет ком­пани­ям орга­низо­вать сов­мес­тную работу над докумен­тами, пред­лага­ет более ста­биль­ное и отла­жен­ное при­ложе­ние, син­хро­низа­цию фотог­рафий и интегра­цию с Files в iOS.

 

Заключение

Нуж­дают­ся ли твои дан­ные в допол­нитель­ной защите — решать тебе. Веро­ятно, нуж­дают­ся, но не все. Веро­ятно, ты захочешь защитить циф­ровые копии докумен­тов (пас­порта, водитель­ские пра­ва) и какие‑то еще дан­ные, дос­туп к которым может пот­ребовать­ся в неожи­дан­ный момент и в неожи­дан­ном мес­те.

«Лич­ный сейф OneDrive» спо­собен успо­коить нер­вы тех­ничес­ки малог­рамот­ных поль­зовате­лей; как‑то осо­бен­но защитить (а тем более зашиф­ровать) твои дан­ные он не может. Извес­тный спо­соб с крип­токон­тей­нером в обла­ке по‑преж­нему работа­ет и по‑преж­нему безопа­сен, одна­ко про­игры­вает в удобс­тве более сов­ремен­ным вари­антам, в роли которых выс­тупа­ют крип­тогра­фичес­кие облачные сис­темы.

Са­мых рас­простра­нен­ных вари­антов сегод­ня два: появив­ший­ся чуть рань­ше плат­ный сер­вис Boxcryptor и про­ект с откры­тым исходным кодом Cryptomator. Оба про­дук­та реша­ют одну и ту же задачу, но дела­ют это по‑раз­ному. Резуль­тат моего иссле­дова­ния дос­таточ­но однозна­чен: если брать для себя, бери Cryptomator — это бес­плат­но, удоб­но и безопас­но. Ком­пани­ям может боль­ше подой­ти Boxcryptor, но толь­ко в том слу­чае, если необ­ходимо орга­низо­вать сов­мес­тную работу над докумен­тами через облачные сер­висы.

Подписаться
Уведомить о
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии