Безопасность
SafeDisk использует гибридную систему шифрования данных, совмещающую преимущества криптосистемы RSA с открытым ключом с производительностью симметричной криптосистемы AES. Схема и описание работы этой гибридной системы представлена ниже.
Процесс шифрования
Шифрование начинается с расшифровки ключа RSA (2048 бит), зашифрованного алгоритмом AES, ключом для которого выступает хэшированный мастер-пароль пользователя (256 бит). Далее генерируются случайные AES ключ (256 бит) и вектор инициализации (128 бит), которыми шифруется файл алгоритмом AES-256. Для каждого файла создаются свои уникальные случайные криптографически стойкие ключ и вектор. После этого ключ и вектор инициализации шифруются публичным ключом RSA и сохраняются. Зашифрованный файл отправляется в защищенное облачное хранилище Yandex Cloud. Ключи RSA, ключ и вектор инициализации AES — все находятся в разных местах гибридной системы, а хэшированный и зашифрованный мастер-пароль пользователя находится на его собственной машине, поэтому злоумышленнику, чтобы прочитать любой файл, надо получить доступ ко всем блокам системы. Если он получит доступ только к одному блоку или даже трем из четырех, то не сможет прочитать ровным счетом ничего. Нигде в системе ключи не хранятся в открытом виде, только в зашифрованном.
Алгоритм шифрования AES-256 настолько сильный, что его используют даже военные, им можно хранить данные вплоть до уровня "государственной тайны". До сих пор не было ни одной попытки взлома этого алгоритма. Миллиард суперкомпьютеров, вычисляющих безостановочно перебор паролей для этого алгоритма, будут считать 234 года, чтобы обработать всего лишь 0,1% от всех возможных вариантов.
Процесс расшифровки
Расшифровка начинается с хэшированного мастер-пароля пользователя при помощи алгоритма AES, им расшифровывается приватный ключ RSA, зашифрованный также алгоритмом AES. После этого расшифровываются приватным ключом RSA сохраненные ключ и вектор инициализации и при помощи их расшифровывается файл алгоритмом AES. Процесс расшифровки происходит каждый раз при чтении, редактировании и обновлении файла.
Ключи RSA и мастер-пароль
По стандарту формирования ключа на основе пароля (PKCS5 v2 PBKDF2) к мастер-паролю пользователя добавляется секретная константа (128 бит), он хэшируется 600 000 раз алгоритмом SHA-256 (рекомендация OWASP). После этого он шифруется алгоритмом AES-256 статическим ключом и уникальным для каждого пользователя вектором инициализации и отправляется на клиентскую машину пользователя. После генерации пары ключей RSA приватный ключ зашифровывается алгоритмом AES, ключом которого выступает хэшированный мастер-пароль. Зашифрованный приватный ключ RSA сохраняется в закрытое облачное хранилище Yandex Cloud. Каждому пользователю принадлежит своя уникальная пара ключей RSA и уникальный мастер-пароль для их расшифровки.
Yandex Cloud
Пользовательские ключи RSA и файлы, находящиеся в разных облачных хранилищах Yandex Cloud, хранятся физически в зашифрованном виде (помимо шифрования SafeDisk), и никто из тех, кто имеет доступ к физическому носителю, не сможет прочитать данные. Хранилища закрыты от публичного доступа, соответствует стандартам PCI DSS, ГОСТ Р 57580.1-2017 и требованиям Федерального закона Российской Федерации № 152-ФЗ "О персональных данных".
Нулевое разглашение
Владельцы и администраторы сайта SafeDisk не могут прочитать ни одного файла пользователя, так как основной ключ (мастер-пароль) от всей гибридной криптосистемы находится на клиентской машине пользователя. В открытом виде мастер-пароль не хранится нигде, поэтому если пользователь его забудет, то восстановить его будет невозможно. Соответственно, и расшифровать файлы пользователя тоже будет невозможно.
Протоколирование
Ведется запись всех действий пользователя, чтобы увидеть последствия, если злоумышленник получит доступ к аккаунту пользователя. Удалить или отключить протоколирование невозможно. Записываются все действия с файлами и папками (создание, обновление, удаление), действия с ключами RSA, мастер-паролем, обычным паролем к аккаунту и проверочными письмами на email.
XSS-защита
В системе присутствует защита от кросс-сайтовых атак: XSS и SCRF. Подменить шифруемые и расшифровываемые данные невозможно.
SSL/TLS протокол
Помимо всех вышеописанных защит, сверху накладывается дополнительный уровень защищенности в виде SSL/TLS протокола, что исключает перехват открытого текста и его чтение (атака посредника). Работа по открытому протоколу HTTP на сайте невозможна.
Обновление ПО
Все программное обеспечение, задействованное в работе SafeDisk обновляется в течение суток после выхода релиза, который фиксирует любые проблемы с безопасностью, и в течение недели, если это обычное обновление.
Резервные копии данных
Ежедневные резервные копии данных сервера сохраняются на отдельном носителе, к которому есть доступ только у компании, предоставляющей хостинг. Перед любым обновлением сервиса создаются дополнительные резервные копии данных сервера.