LINUX.ORG.RU

Защищенное хранилище и уникальный идентификатор оборудования

 


0

1

Пишу некую потенциально полезную криптоприблуду.

Стоит такой вопрос - есть некий кусок кода, которому на вход подается блоб, являющийся основой для вычисления криптоключа.

Хочется иметь возможность после первого скармливания блоба софтине пошифровать его неким «пинкодом»+уникальным идентификатором железа и запихнуть его куда-то в систему (хотя бы в ФС).

Собственно, возникает вопрос - как лучше всего на онтопике генерировать уникальный ид хоста? Читать /sys на тему маков интерфейсов, откатываться на имя хоста? Или есть варианты лучше? Может есть готовые библиотеки (гуглеж сходу ничего не дал).

Также реквестируются рецепты для мака, иос, винды, андроида.

Дополнительно возникает такой вопрос: в шинде есть DPAPI, который, в принципе, 80% моего вопроса покрывает. Есть ли нечто похожее, на онтопике? Есть ли кроссплатформенная обертка/библиотека, покрывающая озвученный набор платформ?


Собственно да, есть, конечно, на онтопике такая шляпа, как gnome-keyring. Мне здесь не нравится словечко gnome.

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

Еще нашлась вот такая шляпа, но она под моно: http://keystorage.codeplex.com/

Мне же надо кресты или чистые сцы.

Ну и еще эта шляпа не умеет мобильники.

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

Можно ещё запихнуть в софтину выхлоп sudo blkid.

Есть правда, один нюанс — виртуальные машины. Вот там с хардварными идентификаторами может быть очень плохо. Как минимум вспоминаю историю о том что кто-то использовал вебмани из-под vmware (если не путаю). И в один прекрасный момент ноут сдох. Он поставил бэкап виртуалки на другой ноут, но виртуальное железо типа сменилось и он лишился кошелька. Судя гуглению «webmoney привязка к железу» — таки какая-то привязка там есть.

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

sudo не подходит, софтина должна работать без всякого поднятия привилегий.

Что касается изменения железа - мне это как раз отлично подойдет, мне надо максимально надежно привязаться как раз к конкретному конфигу. В идеале - TPM, но он мало где есть.

Смысл как раз в том, что мне нужно временное хранилище ключей, protected key storage. Если что-то съехало - можно будет запросить ключ снова.

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

Ну, щито тут поделать, TPM без TPM сделать не получится.

Пока насчитываю хэш на строки вида

username(1000:1000);/home/username;x;/bin/zsh;;b1a68bf0f9096ff8dac1f45650a91606.

Последний блобик - machine id от dbus.

dmidecode, к слову, требует рута.

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

Как дополнение к уже используемому, cpuid не пойдёт? Я бы не ограничился каким-то одним путём, а попробовал бы по-максимумому собрать информацию о железе.

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