LINUX.ORG.RU

Использование TPM в Linux и Open Source

 , , , ,


2

3

Кто-нибудь из ныне присутствующих юзал TPM в линухе? Знаете, как можно подружить fTPM с GPG и хранить там ключи (свободной информации очень мало)? И вообще интересно услышать мнение об этой штуковине, наслышан, что в опенсорс коммьюнити у неё очень плохая репутация. Читал несколько развернутых статей, конечно, есть некоторые уязвимости, но это больше придирки. Самая большая претензия, которую я знаю - это создание хардварного DRM и возможность потери управления над некоторыми процессами. Может кто-нибудь сможет пояснить за это? Я не понимаю, как вещь, которая создана для безопасности ключей и защиты от внешнего вмешательства может способствовать такой херне, как DRM, ведь она просто записывает хеш загрузчика, биоса и ядра в свои регистры для проверки вмешательства (ну и хранит ключи).

Ты какую проблему решать собрался?

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

Как часто ты не апгрейдил процессор?

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

да тут особо нечего скидывать

в пакете https://archlinux.org/packages/community/x86_64/tpm2-tools/ есть man страницы

В https://archlinux.org/packages/community/x86_64/tpm2-tss/ тоже чето есть.

Ещё качал какие-то пдфки со спеками tpm кажется с https://trustedcomputinggroup.org/

sergej ★★★★★
()

ТС-ру: хоть fTPM, хоть не fTPM - говно и то и то. Первый привязан к ЦПУ. Второй к мат. плате. Замена/апгрейд - головная боль. Решение - usb smart карта вроде Feitian ePass2003. Полностью совметима, i.e. read/write, с OpenSC.

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

вроде как минимум некоторые материнки делают с разъемом под tpm:

Внутренние порты I/O: … 1 x Trusted Platform Module (TPM), 1 x джампер для сброса CMOS 1 …

правда сами внешние модули стоят как пол материнки…

sergej ★★★★★
()
Ответ на: комментарий от anonymous

Забыл сказать что #269 номер журнала

anonymous
()

… можно подружить fTPM с GPG и хранить там ключи …

Security Boot и подпись загрузчика Windows (комментарий) оказывается ключи можно выковырять даже с TPM.

TPM можно использовать для хранения ключей. И не только TPM, мастер ключ LUKS можно хранить в регистрах CPU.

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

Вопрос: какие ключи ты собираешься хранить в TPM? Для Integrity хранение секретных ключей в работающем компе грубая ошибка:

secure boot - ложная безопасность? (комментарий)

secure boot - ложная безопасность? (комментарий)

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

Спасибо за ответы, просто для интереса хотел разобраться в TPM и попробовать использовать для своих нужд

alexvim
() автор топика
Ответ на: комментарий от anonymous

леннарт по этому поводу недавно писал в своем твиттере

И? Ссылку я или общий смысл я за тебя вставлять буду?

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

Говорит, что TPM - хорошая штука, жаль, что linux её не использует и не поддерживает её должным образом. Призывает к поддержке её в системе, и в одном из твитов говориться, что скоро должны добавить модули в системде.

P.S. Прям в подробности дискуссий не вдавался

alexvim
() автор топика

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

Legioner ★★★★★
()
Ответ на: комментарий от anonymous

AMD fTPM встроен с CPU. Сгорел процессор - конец приватным ключам.

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

Legioner ★★★★★
()
Ответ на: комментарий от anonymous

Они китайцы, а ты собираешься у них смарт-карты брать. Где гарантия, что они не имеют возможности лёгким движением руки делать со своими картами всё, что захочется.
Да, это паранойя и про всех так можно сказать, но тем не менее.
И чтобы понять то, как они делают своё «секурити», можно краем глаза посмотреть на исходники примеров в их девкитах. Может сейчас они и исправились, незнаю, но некоторое время назад это был АдЪ и ПогибелЬ.

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

Замена смарткарт проще?

Если в случае паранойи, i.e. шифрование хомяка и рута, то конечно не проще. BTW, безопастность это никогда не о том как проще. Безопастность это как сложнее за твои же деньги. Для всего остального вроде почта, ssh, keepassxc, смена смарт карты вообще не проблема.

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

Максимально защищеннной должна быть только жизненно важная информация. В домашних условиях это твоя банковская инфа в первую очередь. Эта и другая подобная инфа прекрасно защищается с помощью такого софта как veracrypt, keepassxc + Yubikey or similar. Здесь ассиметричное шифрование нахрен не надо, следовательно любая утеря h/w token-а не смертельна и поправима.

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

У каждого своя информация. Моя банковская инфа по уровню защищённости находится в районе лора. У меня там лежит пара копеек на текущие расходы и всё. Ещё не хватало банку деньги доверять. А ключи, ну не буду преувеличивать свою значимость, но если мои ssh-ключи утекут, то мне потом пару недель придётся потратить на переустановку всех систем. А если это будет злонамеренная атака, стырят данные, которые всплывут, тут и посадить могут, защита персональных данных штука серьёзная.

Правда я всё равно токенами не пользуюсь, лол. Но диск шифрую. Хотя когда-нибудь до юбикея дорасту.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Legioner

Ещё не хватало банку деньги доверять.

Редчайшее совпадение мыслеустройства и аватара. Модеры, нельзя ли еще одну звезду этому господину за вклад в развития лора?

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

Не очень понимаю о чём ты. Я про стопицот ssh ключей ничего не писал. На каждом компьютере должен быть один ssh ключ. И должен быть способ входа на сервер, не зависимый от этих ключей. Самый простой вариант это пароль. Ну или ещё один ключ, например на флешке в сейфе.

Если ключ хранится в файловой системе, его могут украсть, есть кто-то получит доступ к твоей файловой системе. Если ключ хранится в TPM, его украсть никак не смогут. Правда его, возможно, смогут использовать без твоего ведома, пока сохраняется контроль над твоим компьютером. Но это в любом случае лучше, чем если его просто скопируют.

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

Legioner ★★★★★
()
Ответ на: комментарий от EXL

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

izzholtik ★★★
()
Ответ на: комментарий от anonymous

шифрование хомяка и рута

Стандарт на переносных устройствах, ноуты (за исключением 17-дюймовых монстров, переносимых максимум между столом и диваном) сюда входят.

Безопастность это как сложнее за твои же деньги

В оффтопике: включается галочкой (да, даже в home edition), запасной ключ по дефолту на твоём (созданном по дефолту) live-аккаунте, при нормальной работе вообще незаметно: нет пароля для расшифровки, например. Запасной ключ нужен только если грузишься нестандартно (с флешки либо вытащил ssd и вообще на другом ПК).

В линуксе: заметно сложнее.

Это не защитит от трёхбуквенных организаций, но от банального «если ноут украли — не хочу чтобы украли ещё и данные на нём» поможет. При практически нулевых сложностях в оффтопике и… тут целый топик про то, как всё в онтопике замечательно.

x3al ★★★★★
()

Кто-нибудь из ныне присутствующих юзал TPM в линухе? Знаете, как можно подружить fTPM с GPG и хранить там ключи

Не с того конца заходите, батенька. 🙂

Дело не в придирках. Главный вопрос — какую проблему мы пытаемся решить?

Если речь о безопасности, то главный вопрос всегда — от какого вектора атаки мы хотим защититься?

Иначе мы подгоняем условие под ответ: «вот у меня есть такая забавная штучка, как бы её использовать...»

Безопасность так не работает.

Но если безопасность пофиг, просто хочется поиграться, то не вопрос. 🙂

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

Уж и незнаю, надо-ли дорастать до юбикея, т.к. это очень своеобразные комбайны про всё вместе и про ничего одновременно.
Уже бы кто-нибудь дорос не до юбикея, а до допиливания обычных смарт-карт, которые на джяве можно программировать, настало-бы всеобщее счастье.

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

Решение - usb smart карта вроде Feitian ePass2003. Полностью совметима, i.e. read/write, с OpenSC.

Зачем такие сложности? От какого вектора атаки мы хотим защититься?

А то, может, просто берём флешку за три рубля, и скидываем на неё свои ключи? Чем это хуже? 😉

Флешку могут украсть? Ну и ключ могут украсть.

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

Ну лично у меня есть желание сделать действительно безопасный криптодевайс. Он должен быть в отдельном корпусе, иметь дисплей для отображения запрошенной информации, пин-код, защищённое взломоустойчивое хранилище. В общем без компромиссов. Но скилла пока не хватает на такое.

Legioner ★★★★★
()
Ответ на: комментарий от anonymous

Вопрос для размышления...

Для Integrity хранение секретных ключей в работающем компе грубая ошибка:
secure boot - ложная безопасность? (комментарий)
secure boot - ложная безопасность? (комментарий)

Вот, кстати! Intel Boot Guard, UEFI, Secure Boot, верифицированный initramfs, IMA/EVM, Linux Kernel Module Signing Key...

Сколько умных слов...

А если сделать так: обычный LUKS — ВСЕ разделы шифрованы (никаких нешифрованных ESP/boot-ов).
Стандартный нешифрованный grub2 кладём... на флешку!

Нужно загрузиться? Втыкаем флешку, грузим ОС, вынимаем флешку.

Чем это хуже всех тех умных слов?

Это защитит от кражи — все разделы шифрованы.
Защитит от затроянивания загрузчика в моё отсутствие.
И защитит утёкших ключей и багов биоса/uefi/ima/evm/etc, потому что мы от них не зависим.

Сплошной профит?

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

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

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

Если убрать слово дисплей, то банальный юбикей или любой другой криптотокен решает задача и ничего придумывать уже не надо. И брать их пачками ни к чему, это серьёзный девайс и заплатить 300 баксов за такой приемлемо.

Legioner ★★★★★
()
Ответ на: Вопрос для размышления... от anonymous

А если сделать так: обычный LUKS — ВСЕ разделы шифрованы (никаких нешифрованных ESP/boot-ов).
Стандартный нешифрованный grub2 кладём... на флешку!

А сам по себе GRUB2 не затроянен уже? :) Может быть, лучше все же маленький загрузчик типа grub4dos или еще меньше?

Нужно загрузиться? Втыкаем флешку, грузим ОС, вынимаем флешку.

И защитит утёкших ключей и багов биоса/uefi/ima/evm/etc, потому что мы от них не зависим.

Флэшку кто грузит? Бивис?

Защитит от затроянивания загрузчика в моё отсутствие.

Но не защитит в твоем присутствии:

https://madaidans-insecurities.github.io/guides/linux-hardening.html

https://madaidans-insecurities.github.io/linux.html

IMHO чем изобретать велосипед, проще и намного быстрее поставить себе на рабочую станцию OpenBSD и не мучаться, а все нужные привычные прикладные проги запускать изолированно в линупсах на других железяках для начала хотя бы в виртуалках типа AQemu KVM и цепляться к ним например по VNC и SSH.

В идеале конечно лучше изолировать в Firecracker через Ignite/K3S/OpenNebula и т.п.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Если речь о безопасности, то главный вопрос всегда — от какого вектора атаки мы хотим защититься?

От максимального количества популярных векторов, по крайне мере как минимум ото всех, от которых защищает решение с OpenBSD.

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

Я новенький. Пояснишь в пару линков почему OpenBSD всех спасёт?

Потому что аналоги:

https://madaidans-insecurities.github.io/guides/linux-hardening.html

в базовой части OpenBSD включены по дефолту и ненадо ничего допиливать дополнительно, даже если ты полный нубас?

Теоретически много чего включено по дефолту и в Whonix, но в нем systemD и в целом жЫрнота линупс ядра слишком велика для безопасной безопасности.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

А сам по себе GRUB2 не затроянен уже? :)

Нет. Он установлен мной на флешку, которую я ношу с собой.

Может быть, лучше все же маленький загрузчик типа grub4dos или еще меньше?

Лучше для чего и по сравнению с чем?

Может быть и лучше, если grub4dos займёт меньше места на флешке, и может загрузить ядро с шифрованного LUKS-раздела. А он может?

Флэшку кто грузит? Бивис?

Да. А кто ещё может грузиться с диска/флешки?

Но не защитит в твоем присутствии:
https://madaidans-insecurities.github.io/guides/linux-hardening.html

Ну так и я о том же. По ссылке написано:

> «Be aware that full-disk encryption does not cover /boot.»

А я как раз предлагаю вариант, когда на диске всё зашифровано, в т.ч. и /boot.

IMHO чем изобретать велосипед, проще и намного быстрее поставить себе на рабочую станцию OpenBSD и не мучаться

Часть про «не мучаться» выполнить совсем не просто. 🙂

К тому же, как это поможет шифрованию диска? OpenBSD ведь тоже грузится незашифрованным загрузчиком?

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