LINUX.ORG.RU

Вопросы по шифрованию разделов

 , , ,


1

1

Добрый день. Хочу зашифровать все данные на SSD-ноута с системой и доп. винчестере с бекапами и образами виртуальных машин. Скопился ряд вопросов, на которых хотелось бы получить ответы.

1. Система у меня стоит на SSD и имеет один раздел / (вместе с хомяком). Думаю имеет смысл перенести всё это на lvm, чтобы шифровать только /home. Или лучше всё сразу (тогда lvm не нужен)?

1.1 luks я так понимаю лучший выбор для этого?

2. Для внешних винтов думаю стоит юзать encfs с blowfish. Или лучше везде одни и те же инструменты использовать? encfs универсальнее, но мне в принципе по-барабану, т.к. винт этот стоит в ноуте и больше нигде кроме linux не используется.

2.1 какой по размеру блок данных ФС лучше использовать на x64?

2.2 заметно ли ухудшится скорость при работе с виртуальными машинами записанными на винт?

(пока что всё, но вопросы будут дополняться по мере возникновения)

Спасибо.

★★★★★
Ответ на: комментарий от crowbar

Ты не понимаешь разницы между хеш-функцией и алгоритмом шифрования?

я-то понимаю. А вот ты — не очень. Если оперируешь результатами теста, в котором вперемешку собраны хешфункции и функции шифрования.

На самом деле, важна скорость и того, и другого. И то и другое должно быть достаточно медленным. А атака будет направлена на то, что побыстрее.

Про это тоже говорилось выше. См. параметр cryptsetup'а --iter-time

этим ты затрудняешь атаку на угадывание ключа. Т.е. только одно время. На самом деле, это нужно только для всяких маздаев. В нормальной системе /dev/random тебе просто не даст нужное количество бит достаточно быстро. Будешь стоять, и ждать, сколько-бы там в --iter-time не вписал.

emulek
()
Ответ на: комментарий от emulek

этим ты затрудняешь атаку на угадывание ключа.

На скорость перебора.

Т.е. только одно время.

Тибе иго мала? Ты этим параметром можешь рулить время дешифровки мастер-ключа, при этом имя быстрый криптоалгоритм.

На самом деле, это нужно только для всяких маздаев.

Расширь мысль.

В нормальной системе /dev/random тебе просто не даст нужное количество бит достаточно быстро. Будешь стоять, и ждать, сколько-бы там в --iter-time не вписал.

--iter-time не призван исправлять недостаток энтропии, а призван читай выше.

Umberto ★☆
()
Ответ на: комментарий от emulek

я-то понимаю. А вот ты — не очень.

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

Будешь стоять, и ждать, сколько-бы там в --iter-time не вписал.

Лол, при каждом монтировании шифрованного раздела?

crowbar
()
Ответ на: комментарий от Umberto

Тибе иго мала? Ты этим параметром можешь рулить время дешифровки мастер-ключа, при этом имя быстрый криптоалгоритм.

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

emulek
()
Ответ на: комментарий от crowbar

Ты говорил про все криптофункции, не только про хеш. Производительность хеш-функции не имеет значение, потому что для более быстрой хеш функции будет больше итераций PBKDF2.

тогда это будет другая функция.

Производительность алгоритма шифрования тут вообще не при чем, потому что он применяется один раз после ~10000 операций хеширования для расшифрования мастер ключа.

да ты можешь хоть весь день крутить свой цикл. Это никак не отразится на множестве возможных ключей, и на скорость проверки каждого. А из чего ты начал свой цикл, я не узнаю, да. Ну а зачем это мне?

при каждом монтировании шифрованного раздела?

вот уж точно — лол. При чём тут монтирование? Ты же про создание мастер-ключа говорил только-что? Или про что?

emulek
()
Ответ на: комментарий от emulek

Ты же про создание мастер-ключа говорил только-что?

Не мастер ключа, а кейслотов.

Это никак не отразится на множестве возможных ключей

Которых будет 2^128, а то и 2^256. Ты советуешь человеку брать самый медленный алгоритм, чтобы злоумышленник подобрал ключ за (например) 10^200 лет, а не за 10^100? С практической т.з. это одинаково неперебираемо.

crowbar
()
Ответ на: комментарий от crowbar

Которых будет 2^128, а то и 2^256.

вот в этом твоя ошибка: если у тебя 100500 паролей, то из них получится ровно 100500 ключей(однозначных, считаем, что коллизий нет. Если есть, то всё ещё печальнее). И нет никакой разницы, сколько там бит.

Ты советуешь человеку брать самый медленный алгоритм, чтобы злоумышленник подобрал ключ за (например) 10^200 лет, а не за 10^100? С практической т.з. это одинаково неперебираемо.

Понимаешь... Вот тебе хеш: 01b0294eb0d8d83c56bf4fdd7fce6508845e777ab13f834d24c35d98b34a0bd689789c87967342b7b004680f5fd6fcc7e914999235272fdceb940433762650d3 Ты точно уверен, что для обращения этой sha512 нужно перебрать все 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096 комбинаций, ли хотя-бы значительную их часть?

emulek
()
Ответ на: комментарий от emulek

У тебя опять мысли поплыли куда-то в сторону от производительности алгоритмов.

Ты точно уверен, что для обращения этой sha512 нужно перебрать все

Этот твой хеш достаточно загуглить. В криптосистеме есть как минимум соль.

если у тебя 100500 паролей, то из них получится ровно 100500 ключей

И что дальше? Как ты получишь ключи, соответствующие возможным паролям?

crowbar
()
Ответ на: комментарий от crowbar

У тебя опять мысли поплыли куда-то в сторону от производительности алгоритмов.

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

Этот твой хеш достаточно загуглить

загугли. Раз «достаточно». В гугле забанили что-ли? Речь как раз и о том идёт, что такие хеши легко обратить.

В криптосистеме есть как минимум соль.

а на солнце есть пятна. Что дальше?

если у тебя 100500 паролей, то из них получится ровно 100500 ключей

И что дальше? Как ты получишь ключи, соответствующие возможным паролям?

это уже детали реализации. Важно то, что если для записи 3х битов использовать Over9000 битов, то это всё равно будет 3 бита. И способ преобразования значения не имеет, если оно однозначно(а если нет, то оно не годно для шифрования).

emulek
()
Ответ на: комментарий от emulek

Речь как раз и о том идёт, что такие хеши легко обратить

Ну? Рассказывай, как ты будешь обращать sha512.

Важно то, что если для записи 3х битов использовать Over9000 битов, то это всё равно будет 3 бита.

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

crowbar
()
Ответ на: комментарий от crowbar

Ну? Рассказывай, как ты будешь обращать sha512.

ну ясное дело, что не руками. Перебором и буду. Всего множества, мощность которого у нас 100500. Я думаю, одной секунды мне хватит(точнее моему CPU).

Важно то, что если для записи 3х битов использовать Over9000 битов, то это всё равно будет 3 бита.

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

для тех кто в танке: мощность множества паролей НЕ меняется, если эти пароли хешировать. Оно может только уменьшаться, если хешфункция кривая и с коллизиями. Т.е. если у тебя 100500 паролей, из них появится 100500 хешей. И нет никакой разницы, сколько бит в хеше.

Повторяю ещё раз: «чем медленнее криптофункция, тем она лучше. Вся криптография именно на этом и держится — тебе просто ресурсов не хватит проверить ВСЕ пароли. Если ты криптоаналитик, и если твой враг грамотно зашифровал свой файл, т.е. так, что тебе вправду ВСЕ пароли проверять надо»

Тут «ВСЕ» значит «все пароли», и «все хеши этих паролей», а вовсе НЕ «любые хеши». Т.ч. если у тебя sha512, то это само по себе ничего НЕ меняет.

emulek
()
Ответ на: комментарий от emulek

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

Это единственный случай, когда имеет значение скорость криптофункции. Но в разумные сроки ты все равно не подберешь 256-битный ключ. Никто в здравом уме не будет перебирать все 2*256 ключей, будут перебирать пароли. А в этом случае скорость хеш-функции и алгоритма шифрования уже не имеет значения.

для тех кто в танке: мощность множества паролей НЕ меняется, если эти пароли хешировать

Как ты будешь перебирать хеши паролей, не перебирая пароли и не хешируя их?

crowbar
()
Ответ на: комментарий от crowbar

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

Это единственный случай, когда имеет значение скорость криптофункции.

единственной дыры в заборе достаточно, что-бы этот забор стал-бы полностью негодным.

Но в разумные сроки ты все равно не подберешь 256-битный ключ. Никто в здравом уме не будет перебирать все 2*256 ключей, будут перебирать пароли.

я переберу пароли, и потом буду пользоваться заранее заготовленным списком из ключей. Например.

Как ты будешь перебирать хеши паролей, не перебирая пароли и не хешируя их?

это уже другой вопрос.

emulek
()
Ответ на: комментарий от emulek

я переберу пароли, и потом буду пользоваться заранее заготовленным списком из ключей

Казалось бы, зачем придумали «соль».

единственной дыры в заборе достаточно

Из скорости функции никак не следует наличие в ней уязвимостей.

это уже другой вопрос.

Нет, это не другой вопрос. И учти, что хеш функция там не sha512, а sha512(salt+sha512(salt+(... sha512(salt+x)...)))

crowbar
()
Ответ на: комментарий от crowbar

Казалось бы, зачем придумали «соль».

соль придумали для тех юзеров, которые не в состоянии придумать пароль, который не ломаем словарём ЭллочкиЛюдоедочки.

Из скорости функции никак не следует наличие в ней уязвимостей.

что-бы обратить необратимую функцию, H(x) потребуется примерно X вычислений H(x), где X — число значений x. Таким образом, время обращения функции прямо пропорционально времени работы этой функции и мощности входного множества.

ты просто почему-то думаешь, что «множество очень большое, потому не важно, сколько занимает одна проверка». На самом деле, это не так. Множество не такое и большое. Выше я привёл хеш всем известного русского слова, которое часто пишут на заборах. Вариантов да, МНОГО, но на практике — увы. Их никто не использует. Придумать можно что угодно, но IRL на заборе пишут одно и то же. Как и в поле «пароль».

Из-за этого, время вычисления хеша имеет огромное значение.

Нет, это не другой вопрос. И учти, что хеш функция там не sha512, а sha512(salt+sha512(salt+(... sha512(salt+x)...)))

ну вот ты вместо «быстрой» функции sha, применяешь медленную. И доказываешь мне тут, что «функция должна быть быстрой». Делить на ноль нельзя.

emulek
()
Ответ на: комментарий от emulek

соль придумали для тех юзеров, которые не в состоянии придумать пароль, который не ломаем словарём ЭллочкиЛюдоедочки.

Не важно для кого ее там придумали, она не даст тебе составить словарь.

ну вот ты вместо «быстрой» функции sha, применяешь медленную.

Что бы пользователь не выбрал, сложность вывода ключа из пароля будет одна, и определяется она параметром --iter-time. Так что брать нужно не самую медленную, а самую криптостойкую.

ты просто почему-то думаешь, что «множество очень большое, потому не важно, сколько занимает одна проверка»

Проверка будет занимать примерно одно время. Можно было бы еще как-то понять совет типа «бери ту хеш-функцию, для которой пока нет эффективной аппаратной реализации». Но выбрать такую функцию — задача намного более сложная, чем просто «взять самое медленное из того, что предлагает бенчмарк».

crowbar
()
Ответ на: комментарий от crowbar

Не важно для кого ее там придумали, она не даст тебе составить словарь.

мне — даст. А вот тебе — она даёт чувство сухости и защищённости, как и твой allways.

Что бы пользователь не выбрал, сложность вывода ключа из пароля будет одна, и определяется она параметром --iter-time. Так что брать нужно не самую медленную, а самую криптостойкую.

что значит «самую криптостойкую»? md5 по твоему «не самая»? Обоснуй.

Проверка будет занимать примерно одно время. Можно было бы еще как-то понять совет типа «бери ту хеш-функцию, для которой пока нет эффективной аппаратной реализации». Но выбрать такую функцию — задача намного более сложная, чем просто «взять самое медленное из того, что предлагает бенчмарк».

дык думаешь у злоумышленника бенчмарк покажет что-то принципиально иное? А я думаю — тоже самое. (исключая AES, для которого у меня нет реализации, а вот у врага — может и есть в его CPU).

emulek
()
Ответ на: комментарий от emulek

мне — даст.

Нет, не даст. Размер словаря умножится на количество возможных вариантов соли.

что значит «самую криптостойкую»?

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

дык думаешь у злоумышленника бенчмарк покажет что-то принципиально иное?

Наоборот. Можешь хеш функцией считать PBKDF, время выполнения которой всегда равно одной секунде, независимо от того, что там указано в --hash.

crowbar
()
Ответ на: комментарий от crowbar

Нет, не даст. Размер словаря умножится на количество возможных вариантов соли.

да. Но только если мне эта соль не известна. А она — известна, и лежит рядом с данными в открытом виде.

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

это бред сивой кобылы в лунную ночь: я тебе сейчас придумаю функцию, для которой НЕТ выявленных уязвимостей(я же её только-что придумал!), она по твоему «самая лучшая»? С другой стороны, используют как раз те функции, для которых уязвимости таки есть. Все идиоты, а только ты самый умный?

Наоборот. Можешь хеш функцией считать PBKDF, время выполнения которой всегда равно одной секунде, независимо от того, что там указано в --hash.

в таком случае её стойкость в «моём» смысле тоже будет одинаковой.

emulek
()
Ответ на: комментарий от emulek

А она — известна, и лежит рядом с данными в открытом виде.

У тебя не будет готового словаря хеш->пароль. Соответственно обратить хеш за константное время ты уже не сможешь.

я тебе сейчас придумаю функцию, для которой НЕТ выявленных уязвимостей

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

в таком случае её стойкость в «моём» смысле тоже будет одинаковой.

И сложность перебора будет одинаковой. А значит все равно, что там внутри - быстрый sha1 или медленный rmd160.

crowbar
()
Ответ на: комментарий от crowbar

У тебя не будет готового словаря хеш->пароль. Соответственно обратить хеш за константное время ты уже не сможешь.

это смотря что за соль, что за хеш, и что за пароль.

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

это ты прекращай. В твоём критерии не было «в глаза видел».

И сложность перебора будет одинаковой. А значит все равно, что там внутри - быстрый sha1 или медленный rmd160.

да, если криптоаналитег будет делать точно также как ты, и не придумает ничего лучше.

emulek
()
Ответ на: комментарий от emulek

это ты прекращай. В твоём критерии не было «в глаза видел».

Продолжаешь шланговать? Мы про cryptsetup говорим и про поддерживаемые им алгоритмы.

да, если криптоаналитег будет делать точно также как ты, и не придумает ничего лучше.

Ты мысль на середине не обрывай, продолжай.

может займёшься самообразованием? Направления я показал. А ты как гоблин какой: «сломай „мою“ страничку фконтакте, тогда поверю».

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

crowbar
()
Ответ на: комментарий от crowbar

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

ты наверное ждал, что я сломаю твою асечку в качестве пруфа? Или может выложу твою фотку с флажком в попе?

Не, не туда ты пишешь, и не тому.

emulek
()
Ответ на: комментарий от emulek

emulek (01.12.2013 11:26:02) «специалист» по криптографии>ты наверное ждал, что я сломаю твою асечку в качестве пруфа? Или может выложу твою фотку с флажком в попе?

Ты бы сливался молча и не позорился.

crowbar
()
Ответ на: комментарий от crowbar

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

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.