Что такое шифрование AES-256? Простое объяснение
AES-256 — опубликованный стандарт шифрования, который превращает данные в нечитаемый вид с помощью 256-битного ключа. Без этого ключа данные нельзя прочитать за сколько-нибудь разумное время. Поэтому для любого приложения, которое пишет «AES-256», вопрос не в шифре. Вопрос в том, у кого ключ и что его защищает.
Что нужно знать?
- Слабое место — не шифр. Атакуют ключ, пароль за ним или разблокированное устройство.
- «256» — это длина ключа. Это 2^256 возможных ключей, далеко за пределами любого перебора.
- Сама по себе надпись говорит мало. Спросите, что именно шифруется, где создаётся ключ и у кого он ещё есть.
Что на самом деле значит AES-256?
AES — это Advanced Encryption Standard, опубликованный Национальным институтом стандартов и технологий США (NIST). Стандарт NIST FIPS 197 описывает три версии: AES-128, AES-192 и AES-256. Все работают с блоками по 128 бит. Число — это длина ключа в битах.
У 256-битного ключа 2^256 возможных значений. Это число из 78 цифр. Перебирать их по одному — нереалистичная атака, сейчас и на любом компьютере, который мы умеем построить.
Что такое AES-256-GCM?
Сам AES описывает только то, как шифруется один блок. «Режим» говорит, как обрабатывается целый файл. GCM — один из таких режимов, он описан в NIST SP 800-38D.
GCM — это аутентифицированное шифрование. Помимо того что он скрывает содержимое, он обнаруживает, если кто-то изменил зашифрованный файл. Подделанный файл не откроется, а не откроется как что-то другое.
Если AES-256 не взломать, как же крадут данные?
Через всё, что окружает шифр. Обычные пути:
- Слабый пароль или код. Если ключ создаётся из 4-значного PIN-кода, злоумышленник перебирает 10 000 PIN-кодов, а не 2^256 ключей.
- Ключ хранится рядом с данными. Шифрование с ключом в том же месте — это запертая коробка с приклеенным к ней ключом.
- Ключ хранит компания. Если сервер может сбросить ваш пароль и вернуть файлы, их может прочитать кто-то кроме вас.
- Открытое, разблокированное устройство. Всё, что расшифровано и показано на экране, можно увидеть или скопировать.
- То, что осталось незашифрованным. Миниатюры, имена файлов или база альбомов могут выдать, что это за файлы.
Как проверить заявление приложения об «AES-256»?
Задайте пять вопросов. Хорошее приложение отвечает на них в своей документации.
- Зашифрован ли каждый файл, включая миниатюры и индекс содержимого хранилища?
- Где создаётся ключ: на вашем устройстве или на сервере компании?
- Что превращает ваш пароль или узор в ключ? Это должен быть медленный стандартный метод.
- Может ли компания сбросить ваш пароль? Если да, она может добраться до ваших файлов.
- Опубликованы ли код или описание безопасности, чтобы другие могли их проверить?
Если приложение пишет только «AES-256» и больше ничего, считайте его неизвестным, а не надёжным.
Как Cryptile использует AES-256?
Каждый файл, миниатюра и индекс в хранилище Cryptile зашифрованы AES-256-GCM. Ключ создаётся на вашем телефоне из нарисованного вами узора. Аккаунта и сервера нет, и разработчик никогда не хранит ваши ключи.
Ядро шифрования опубликовано для аудита вместе с моделью угроз и тестовыми векторами. Ссылка на него есть на нашей странице о безопасности. Размеры файлов дополняются, поэтому размер зашифрованного файла меньше говорит о том, что в нём.
Что это не защищает
AES-256 надёжен настолько, насколько надёжен секрет за ключом. Короткий узор слабее парольной фразы, поэтому используйте 8 точек или больше. Если кто-то видит, как вы его рисуете, или на телефоне работает вредоносная программа, пока хранилище открыто, шифрование не поможет. Если вы потеряете узор и фразу восстановления, хранилище не откроет никто, включая нас.
Как это делается в Cryptile
Cryptile шифрует фото, видео, файлы и заметки AES-256-GCM ключом, созданным на вашем устройстве. Другой узор открывает другое хранилище, и списка хранилищ нет.
Cryptile бесплатна для 2 хранилищ, 100 фото и 10 видео. Plus снимает ограничения и добавляет аварийный узор и поиск внутри хранилища за $19.99 в год (пробный период 7 дней) или $39.99 один раз.