Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Статья является ответкой на эту вот статью https://habr.com/ru/post/593449/
Если, например, в каком-то аэропорту теряет ноутбук/накопитель рядовой пользователь, он может купить новый и дело с концом. А если свой ноутбук, вместе с хранящимися на винчестере документами с коммерческой тайной, потерял там какой-нибудь владелец крупной фирмы, последствия могут быть губительны для его бизнеса. Но перечислим все риски
потеря ноутбука/накопителя
отказ оборудования
вредоносные программы, шифровальщики например
На все риски ответ один, данные архивируют в резервные хранилища. При архивировании встаёт ряд вопросов:
Где архивировать.
В каком формате архивировать.
Как шифровать.
Как хранить ключи.
Как всё это автоматизировать
Рассмотрим их детально
Где архивировать.
Есть несколько вариантов
на внешних носителях
на FTP сервере
в облачном хранилище
Я когда был студентом, хранил все важные данные (рефераты, курсовые) на флешке, которую всегда носил с собой. Флешка ни разу меня не подводила. И в наши дни не подводит. Однако, если иметь ввиду природу памяти флешки, можно понять, что для длительного хранения она не подходит.
Я летом этого года покупал флешку на 16 гигов, для DrWeb Live Disk. Пару раз я ей воспользовался, когда установил на неё DrWeb и когда пылесосил комп. При очередной попытке загрузиться с неё я обнаружил, что она не только не открывается, но и не обнаруживается как устройство. Потрогав её я понял, что флешке пришёл красивый пушной зверёк.
Также внешний носитель легко потерять. И чем больше габариты носителя, тем проще. Иногда достаточно оставить без присмотра. Я так потерял флешку, на которой установил MS-DOS.
Преимущество облачного хранилища перед другими вариантами в том, что физически данные могут быть несколько раз продублированы в местах с различным географическим расположением. Авария в одном из дата-центров не подрывает сохранности данных.
Однако, хранение данных в облачном хранилище означает, что ваши данные больше не подконтрольны вам. Шифрование данных на винчестере сокращает размер информации, которая нуждается в физической защите. А шифрование данных в облаке делает вообще возможным контроль за их движением. Т.е. данные нужно шифровать
Как шифровать
Как шифровать Простейший способ - симметричное шифрование. Однако здесь есть свои тонкости. Шифрование каждого файла одним ключом увеличивает вероятность атаки открытого текста. Поэтому такой способ не подходит. Точнее, способ удачный, но он - всего лишь основа. Нужно как то его дополнить.
Например, для каждого файла генерировать уникальный ключ симметричного шифрования. И уже каждый уникальный ключ шифровать общим. Как это делается в технологии Bitlocker. Такой подход делает невозможными атаки открытого текста, однако лишает каждый файл автономности, поскольку рандомные ключи нужно хранить в отдельном файле. Здесь уже сохранность данных зависит от сохранности ключей. Как хранить ключи - об этом следующий вопрос.
Как хранить ключи.
Хранить ключи лучше в единой БД, пусть это будет даже текстовый файл. И желательно отдельно от данных. Также помним, что ключевая БД много меньше по размеру самих данных. Это значит, что её проще контролировать.
Варианты хранения также несколько Например, хранить на флешке с небольшим объёмом памяти. И сделать хоть тысячу копий на случай отказа одной из них. Но тогда каждый ключ нужно снабжать хэш-значением. У меня не так давно полетела флешка, отформатированная NTFS, с хранящимися на ней паролями. Предварительно вычисленные их хеши сэкономили мне немало времени на их восстановление, поскольку восстанавливал вручную из MFT, дабы избежать полной потери данных.
Но тогда какой смысл, хранить ключи на флешке или сами файлы на флешке. Риски всё те же. Как вариант, хранить ключевой файл в облачном менеджере паролей, защищённом доступом по СМС. Например: Keeper, Kaspersky Password Manager, т.е. уже с физической защитой. Без необходимости хранить ключевой файл на флешке с риском потери.
В каком формате архивировать
Шифрование данных, отправляемых на долгосрочное хранение, означает, что сохранять их нужно в совместимых с альтернативными программами форматах. При шифровании бэкапа важно, чтобы этот зашифрованный формат через N-лет можно было расшифровать. Пример такого формата - архивы 7z. Они допускают шифрование и совместимы с большим количеством программ, поддерживаемых различными организациями. Например: Total Commander, WinRar, CryptSync.
Один человек на Хабре пишет, что шифруется TrueCrypt'ом. Так дело в том, что TrueCrypt уже не поддерживается, он перестал поддерживаться с окончанием поддержки хрюсофта. То же самое с VeraCrypt, которую советуют там же некоторые товарищи. Где гарантии, что их не закроют через год, два и т.д.? Вот смотрите (предполагаемый вариант развития событий):
1 Всё хорошо, винт работает, вы копируете в облако контейнер, зашифрованный VeraCrypt. Дистрибутив не сохраняете.
2 Проходит несколько лет. Их конторку в результате каких то санкций прикрывают. Вы об этом даже не подозреваете.
3 Проходит несколько лет. Вы всё также копируете в облако контейнер, зашифрованный VeraCrypt. Бац, винт полетел. Вы скачиваете с облака зашифрованный контейнер. Ищете программу VeraCrypt в Интернете. А её либо нигде нет, либо её невозможно установить по причине, например, кончины сертификата, которым подписывается инсталлятор.
Как всё автоматизировать
Этот вопрос частично я оставляю за вами. Мне интересно ваше мнение. Я пробовал CryptSync с настройками синхронизации в каталог OneDrive. Но этот способ не подходит по причине шифрования всех файлов одним паролем. Можно сделать батник, генерирующий пароли с помощью OpenSSL и упаковывающий файлы по 7z архивам. Потом вызывать этот батник из GoodSync. Но тогда встаёт вопрос автоматического сохранения паролей в файл. Допустим файл находится в Keeper. Тогда нужно реализовать авторизацию.