Здравствуйте, ariets, Вы писали:
vsb>>В современных дистрибутивах есть файл /etc/machine-id, можно на его основе делать ключ и шифровать. A>К сожалению, такой метод не подойдет. Основная задача: зашифровать так, чтобы расшифровать можно было только изнутри системы. A>Здесь же можно будет взять диск и расшифровать из другого линукса.
Здравствуйте, ariets, Вы писали:
a> RSDN в полной красе. Помочь не помогут, но скажут, что проблемы с архитектурой.
То, что тебе не могут помочь, не проблема RSDN. Напоминание о возможных проблемах с архитектурой это бонус.
a> Задачу я описал в первом сообщении: нужен аналог в линуксе CryptProctectData из WinAPI (с параметром CRYPTPROTECT_LOCAL_MACHINE-шифрование машинным ключом).
Уже ответили, что нет аналога, а ты: "Все равно хочу!". Глупо же.
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, Michael7, Вы писали:
M>>
M>>#dmidecode -t system
M>>
S>Оно реже встречается, в генту нопример по умолчанию оного нет (как впрочем и lspci), поэтому, как я советовал выше недавно, лучше завязаться на /sys или /proc
/sys/class/dmi/id/
или
/sys/devices/virtual/dmi
но *serial и *uuid доступны только для рута. Также зависит от конфига ядра.
Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования. Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData
То есть зашифровать так, чтобы расшифровать можно было только на этой машине (любому пользователю)
Здравствуйте, ariets, Вы писали:
a> Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования.
Что значит "нет возможности"? Процессор не поддерживает арифметические операции? Запрещено линковать криптобиблиотеки?
a> Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData a> То есть зашифровать так, чтобы расшифровать можно было только на этой машине (любому пользователю) a> Есть в линуксе такая возможность?
Никакого магического общесистемного хранилища ключей в Линуксе не предусмотрено. Бери ключ хоть из /dev/random и сохраняй где-нибудь.
Здравствуйте, ariets, Вы писали:
A>Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования. Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData
Брать любую криптопрогу или либу в линуксах, и юзать согласно её доке, в чём проблема?
Тот машинный ключ в windows есть часть криптоcистемы, основанной на известных криптоалгоритмах,
и криптопротоколах на которых основаны криптосистемы, реализованные в линуксах, только
обозванной как нечто невпендюренно продвинутое.
Здравствуйте, vsb, Вы писали:
vsb>В современных дистрибутивах есть файл /etc/machine-id, можно на его основе делать ключ и шифровать.
К сожалению, такой метод не подойдет. Основная задача: зашифровать так, чтобы расшифровать можно было только изнутри системы.
Здесь же можно будет взять диск и расшифровать из другого линукса.
Поэтому я и взял за пример машинный ключ из винды.
Здравствуйте, wildwind, Вы писали:
W>Здравствуйте, ariets, Вы писали:
a>> Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования.
W>Что значит "нет возможности"? Процессор не поддерживает арифметические операции? Запрещено линковать криптобиблиотеки?
a>> Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData a>> То есть зашифровать так, чтобы расшифровать можно было только на этой машине (любому пользователю) a>> Есть в линуксе такая возможность?
W>Никакого магического общесистемного хранилища ключей в Линуксе не предусмотрено. Бери ключ хоть из /dev/random и сохраняй где-нибудь.
Благодарю за остроумие. Но "сохраняй где-нибудь" не подходит. Сохранить надо на этой же системе, причем так, чтобы из другой системы расшифровать не получилось.
Это и имелось в виду под "нет возможности сгенерировать свой ключ шифрования"
Здравствуйте, мыщъх, Вы писали:
М>md5 и крипитография это две большие разницы.
Это ты не мне говори, я всего лишь подсказываю как к машине привязаться можно
Здравствуйте, ariets, Вы писали:
A>Всем привет.
A>Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования. Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData
A>То есть зашифровать так, чтобы расшифровать можно было только на этой машине (любому пользователю)
A>Есть в линуксе такая возможность?
Здравствуйте, ariets, Вы писали:
a> Сохранить надо на этой же системе, причем так, чтобы из другой системы расшифровать не получилось. a> Это и имелось в виду под "нет возможности сгенерировать свой ключ шифрования"
Ничего не понятно. Понял только, что у тебы проблемы с криптосхемой. Если хочешь дельных советов, опиши толком свою задачу и крнкретные сценарии. И желательно не тут, а в форуме ИБ.
Здравствуйте, wildwind, Вы писали:
W>Ничего не понятно. Понял только, что у тебы проблемы с криптосхемой. Если хочешь дельных советов, опиши толком свою задачу и крнкретные сценарии. И желательно не тут, а в форуме ИБ.
RSDN в полной красе. Помочь не помогут, но скажут, что проблемы с архитектурой.
Задачу я описал в первом сообщении: нужен аналог в линуксе CryptProctectData из WinAPI (с параметром CRYPTPROTECT_LOCAL_MACHINE-шифрование машинным ключом). В винде люди пользуются, и никто не кричит про проблемы с криптосхемой.
Если ты не в курсе про эту ф-ию, а читать лень, то прошу воздержаться от советов.
Наверно, так и сделаю.
С линуксом не очень знаком: программно эту портянку можно получить (с++)? Или проще запустить процесс lspci и прочитать его выхлоп?
Здравствуйте, ariets, Вы писали:
A>Наверно, так и сделаю. A>С линуксом не очень знаком: программно эту портянку можно получить (с++)? Или проще запустить процесс lspci и прочитать его выхлоп?
Вот только, если пользователь хоть что-то заменит, убавит или добавит в машину или даже видеокарту в другой слот переставит, уже этот "id" изменится со всеми вытекающими проблемами. В тоже время выхлоп lspci я бы не спешил считать чем-то настолько уникальным, что его нельзя подобрать при большом желании.
Здравствуйте, wildwind, Вы писали:
W>Уже ответили, что нет аналога, а ты: "Все равно хочу!". Глупо же.
Ты странный какой-то. Где ты увидел, что я "все равно хочу"?
Я указал только, что задачу я описал в первом сообщении, как она мне нужна. Для ясности повторил ее, раз уж ты потребовал точной формулировки.
Но ты продолжай традиции форума: архитектуру уже осудил, топикстартера глупым обозвал. Или пока не весь арсенал исчерпан, может, остановишься?
ПС: никто пока явно не ответил, что нет аналога. Но, судя по всему, это так.
A>Наверно, так и сделаю. A>С линуксом не очень знаком: программно эту портянку можно получить (с++)? Или проще запустить процесс lspci и прочитать его выхлоп?
Да проще дёрнуть lspci. Только поосторожнее с verbose (количество -v), ибо
А лучше всего наверное будет покопаться в /sys или /proc (это псевдо-файловые системы, которые генерируются на лету, дают описание оборудования, процессов итд), поискать нужное, типа
Снаружи это обычные текстовые файлы с доступом только по чтению. (Есть и только по записи, для управления, типа записал туда 1, устройство отключилось. Но это другая песня).
Здравствуйте, Michael7, Вы писали:
M>Вот только, если пользователь хоть что-то заменит, убавит или добавит в машину или даже видеокарту в другой слот переставит, уже этот "id" изменится со всеми вытекающими проблемами. В тоже время выхлоп lspci я бы не спешил считать чем-то настолько уникальным, что его нельзя подобрать при большом желании.
Ему это и надо. Я бы еще lsusb прикрутил и сгенерировал ключ при воткнутой специальной флешке или например вебке
Оно реже встречается, в генту нопример по умолчанию оного нет (как впрочем и lspci), поэтому, как я советовал выше недавно, лучше завязаться на /sys или /proc
Здравствуйте, Anton Batenev, Вы писали:
a>> С линуксом не очень знаком: программно эту портянку можно получить (с++)? AB>Конечно. Можешь взять исходный код утилиты и посмотреть как она работает.
Зочем огород городить, ежели от утилиты нужен просто вывод и его не надо парсить а тупо посчитать его md5.
Здравствуйте, ariets, Вы писали:
A>Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования. Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData A>То есть зашифровать так, чтобы расшифровать можно было только на этой машине (любому пользователю)
А что подразумевается под «этой машиной»? Если заменили процессор, видяху или сетевую карту, это все еще та же машина? А если все заменили? А если взяли диск, и воткнули в другой ПК? (что суть то же самое, что и предыдущее) А если переустановили систему, это все та же машина?
Здравствуйте, andrey.desman, Вы писали:
AD>А что подразумевается под «этой машиной»? Если заменили процессор, видяху или сетевую карту, это все еще та же машина? А если все заменили? А если взяли диск, и воткнули в другой ПК? (что суть то же самое, что и предыдущее) А если переустановили систему, это все та же машина?
Логичное уточнение. Во всех случаях ответ: это уже другая машина. При таких условиях и виндовая ф-ия не отработает.
То есть это ок, если ключ уже будет другой и расшифровка не отработает. То есть это как раз и требуется.
Как уже подсказали выше, dmidecode вполне подходит.