При работе в браузере пользователь накапливает массу важных персональных данных, включая не только ссылки на различные веб-сайты, позволяющие определить круг его личных интересов, но и пароли ко всем ресурсам, требующим авторизации, включая банковские учётные записи и личную почтовую переписку. Локальное хранение этих данных не несёт большой угрозы, но как только заходит разговор о синхронизации между различными устройствами, в процессе которой задействуются сторонние серверы, сразу встаёт вопрос о том, как защитить эти данные в облачном хранилище.
Тёмная сторона облака
Облачные технологии обладают огромными преимуществами, позволяя человеку иметь доступ к своим данным с любого устройства и из любой части света без необходимости таскать всё на гипотетической флэшке или без опасности потерять эти данные уронив, например, ноутбук под паровоз. Но это же преимущество является и недостатком (диалектика, однако) — когда все данные миллионов людей в одном месте, их легче всего украсть. Это грустный, но факт.
И здесь применяются самые разные способы нивелирования данного недостатка. В частности — разрабатываются всевозможные сложные системы защиты данных, содержатся целые отделы, отвечающие за безопасность, и т.д. и т.п. К сожалению, это не всегда эффективный способ. Просто потому, что взломщики всегда находят способ обойти защиту. Это только вопрос времени. В результате мы имеем постоянную гонку, аналогичную гонке вирусов и антивирусов. А нередко в дело вступает и человеческий фактор, когда базу данных пользователей просто продают на чёрном рынке те, кто работает на облачных серверах.
Конечно, есть и другой выход, более сложный, но более эффективный — исключить саму необходимость красть чьи-то пароли и взламывать шифры, сделав новую систему взаимоотношений людей в обществе на базе полной открытости всех данных. Эта тема ещё ждёт своих исследователей, хотя уже есть действующие «прототипы» — так, например, в Норвегии уже много лет существует открытый доступ к информации о доходах всех граждан в стране, включая всех высших лиц и чиновников. Любой желающий может посмотреть, сколько заработал сосед или министр. Но, как бы то ни было, пока в мире действуют другие принципы, где принято наращивать стены и усложнять замки.
Безопасная рокировка
И мы в Vivaldi тоже пока вынуждены действовать по «традиционному» пути и как-то защищать данные синхронизации пользователей. Но мы решили совместить два варианта — облачный и локальный. Таким образом, все данные пользователей хранятся исключительно локально, в установленном браузере. А когда включается синхронизация, все эти данные шифруются паролем, придуманным пользователем, и бесформенным массивом данных отправляются на наш сервер в Исландии. Теоретически можно их там прочитать индивидуально, но для этого злоумышленнику нужно знать пароль, который придумал пользователь. Другими словами, массовый взлом и утечка данных невозможны в принципе.
Далее, когда пользователь включает синхронизацию на другом устройстве, бесформенный массив зашифрованных данных загружается с сервера на устройство пользователя, где опять же с уникальным паролем пользователя происходит расшифровка данных и их распаковка из массива. После этого браузер объединяет имеющиеся данные и данные загруженного массива, а затем снова их шифрует и отправляет обновлённый бесформенный массив данных на сервер.
Как видите, мы постарались объединить преимущества облачного и локального решений, при этом попытались нивелировать недостатки обоих вариантов работы с данными: данные доступны пользователям с любого устройства и из любой точки мира, но при этом они непригодны для массового хищения злоумышленниками, т. к. без пользовательских паролей данные не прочитать. И даже если вдруг наш сисадмин захочет продать эти данные на чёрном рынке, их никто не купит. Они же нечитаемые.
Естественно, и здесь есть свои негативные моменты — например, из-за сложности всех операций время от времени происходят сбои в синхронизации, но мы стараемся оперативно обнаруживать эти проблемы (в основном — благодаря баг-репортам пользователей) и исправлять их максимально быстро. Понятно, что чем сложнее система — тем больше вариантов, при которых может пойти что-то не так. Но мы считаем, что достоинства нашего решения с лихвой перекрывают недостатки.
Блокировка по-домашнему
Аналогично работает и наш блокировщик слежки и рекламы. Он одновременно и облачный, и локальный. В облаке у нас находятся списки блокировки, которые оперативно обновляются из множества источников, начиная от мощных онлайновых сервисов и заканчивая популярными браузерными расширениями для блокировки нежелательного контента. Также пользователь может подключать и собственные списки, как размещённые в сети, так и хранящиеся локально на компьютере.
Далее, каждый браузер раз в день загружает эти обновлённые списки для локального использования, включая списки пользователя, сохраняемые в сети или на собственном компьютере. В процессе работы, когда пользователь пытается открыть какую-то страницу (а она, в свою очередь, формирует некие запросы на другие ресурсы), браузер локально сверяется с базой данных блокировки и предотвращает запросы на запрещённые ресурсы. Таким образом мы решаем две важных проблемы: пользователь сохраняет приватность, т.к. запросы не отправляются на проверку куда-то на другой ресурс, а также происходит ускорение загрузки страниц, т.к. некоторые данные просто не загружаются в браузер из-за блокировки.
Искать компромисс
Не секрет, что в последнее время облачные сервисы часто «радуют» нас сообщениями об утечках данных, что приводит к росту числа сторонников полной автономизации своего компьютера и попытках обезопасить свои данные путём их переноса с устройства на устройство с помощью флэшек и внешних дисков. Но отказ от новых удобных технологий вряд ли можно назвать оптимальным решением. Зачем делать вручную то, что могут взять на себя машины? Главное, найти правильный компромисс между всеми вариантами выполнения поставленной задачи.
Мы считаем, что приблизились к оптимальному решению на данный момент, что косвенно подтверждает и постоянный рост числа пользователей Vivaldi, ежедневно использующих синхронизацию данных между своими устройствами. Тем более, что с помощью флэшки можно перенести данные только между компьютерами, а наша синхронизация работает на всех устройствах, включая мобильные телефоны, планшеты и даже встроенные в автомобили информационно-развлекательные системы.
И мы всегда рады вашим идеям по улучшению данных функций браузера и по добавлению новых. Мы — одна команда: вы предлагаете, а мы реализуем ваши предложения, стараясь найти оптимальное решение. Это и позволяет нам с вами создавать лучший браузер из всех существующих.
Фото Антона Максимова