Шифрование в линуксе машинным ключом
От: ariets  
Дата: 02.10.15 09:24
Оценка:
Всем привет.

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

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

Есть в линуксе такая возможность?
Re: Шифрование в линуксе машинным ключом
От: wildwind Россия  
Дата: 03.10.15 16:41
Оценка:
Здравствуйте, ariets, Вы писали:

a> Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования.


Что значит "нет возможности"? Процессор не поддерживает арифметические операции? Запрещено линковать криптобиблиотеки?

a> Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData

a> То есть зашифровать так, чтобы расшифровать можно было только на этой машине (любому пользователю)
a> Есть в линуксе такая возможность?

Никакого магического общесистемного хранилища ключей в Линуксе не предусмотрено. Бери ключ хоть из /dev/random и сохраняй где-нибудь.
Я привык, что в интернете можно найти ответ на любой вопрос. Я не люблю думать. Зачем думать, если всё уже придумано до меня? © Zenden@RSDN ::: avalon/1.0.442
Re: Шифрование в линуксе машинным ключом
От: vsb Казахстан  
Дата: 03.10.15 17:09
Оценка:
В современных дистрибутивах есть файл /etc/machine-id, можно на его основе делать ключ и шифровать. Например так:

[root@localhost ~]# echo something | openssl aes-256-cbc -a -pass file:/etc/machine-id 
U2FsdGVkX189DDZxaAWlI8+jPu2dF89mlI0EUwgwzBg=
[root@localhost ~]# echo U2FsdGVkX189DDZxaAWlI8+jPu2dF89mlI0EUwgwzBg= | openssl aes-256-cbc -a -d -pass file:/etc/machine-id 
something
Re: Шифрование в линуксе машинным ключом
От: smeeld  
Дата: 03.10.15 18:02
Оценка:
Здравствуйте, ariets, Вы писали:

A>Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования. Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData


Брать любую криптопрогу или либу в линуксах, и юзать согласно её доке, в чём проблема?
Тот машинный ключ в windows есть часть криптоcистемы, основанной на известных криптоалгоритмах,
и криптопротоколах на которых основаны криптосистемы, реализованные в линуксах, только
обозванной как нечто невпендюренно продвинутое.
Re[2]: Шифрование в линуксе машинным ключом
От: ariets  
Дата: 03.10.15 21:59
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>В современных дистрибутивах есть файл /etc/machine-id, можно на его основе делать ключ и шифровать.


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

Поэтому я и взял за пример машинный ключ из винды.
Re[2]: Шифрование в линуксе машинным ключом
От: ariets  
Дата: 03.10.15 22:03
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, ariets, Вы писали:


a>> Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования.


W>Что значит "нет возможности"? Процессор не поддерживает арифметические операции? Запрещено линковать криптобиблиотеки?


a>> Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData

a>> То есть зашифровать так, чтобы расшифровать можно было только на этой машине (любому пользователю)
a>> Есть в линуксе такая возможность?

W>Никакого магического общесистемного хранилища ключей в Линуксе не предусмотрено. Бери ключ хоть из /dev/random и сохраняй где-нибудь.


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

Это и имелось в виду под "нет возможности сгенерировать свой ключ шифрования"
Re[3]: Шифрование в линуксе машинным ключом
От: Sheridan Россия  
Дата: 03.10.15 23:12
Оценка: 2 (1) :)))
Здравствуйте, ariets, Вы писали:

vsb>>В современных дистрибутивах есть файл /etc/machine-id, можно на его основе делать ключ и шифровать.

A>К сожалению, такой метод не подойдет. Основная задача: зашифровать так, чтобы расшифровать можно было только изнутри системы.
A>Здесь же можно будет взять диск и расшифровать из другого линукса.

Ну сделай что нибудь типа
#lspci -vvv | md5sum >> /tmp/mashine-id
...
#rm /tmp/mashine-id

Matrix has you...
Re[4]: Шифрование в линуксе машинным ключом
От: мыщъх США http://nezumi-lab.org
Дата: 04.10.15 00:35
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, ariets, Вы писали:


S>Ну сделай что нибудь типа

md5 и крипитография это две большие разницы.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: Шифрование в линуксе машинным ключом
От: Sheridan Россия  
Дата: 04.10.15 08:24
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>md5 и крипитография это две большие разницы.

Это ты не мне говори, я всего лишь подсказываю как к машине привязаться можно
Matrix has you...
Re: Шифрование в линуксе машинным ключом
От: kov_serg Россия  
Дата: 05.10.15 00:01
Оценка:
Здравствуйте, ariets, Вы писали:

A>Всем привет.


A>Надо на линукс машине зашифровать строчку. При этом нет возможности сгенерировать свой ключ шифрования. Хотелось бы что-то вроде машинного ключа в Windows, который используется в CryptProtectData


A>То есть зашифровать так, чтобы расшифровать можно было только на этой машине (любому пользователю)


A>Есть в линуксе такая возможность?


Что мешает использовать e-token
Re[3]: Шифрование в линуксе машинным ключом
От: wildwind Россия  
Дата: 05.10.15 08:53
Оценка:
Здравствуйте, ariets, Вы писали:

a> Сохранить надо на этой же системе, причем так, чтобы из другой системы расшифровать не получилось.

a> Это и имелось в виду под "нет возможности сгенерировать свой ключ шифрования"

Ничего не понятно. Понял только, что у тебы проблемы с криптосхемой. Если хочешь дельных советов, опиши толком свою задачу и крнкретные сценарии. И желательно не тут, а в форуме ИБ.
Я привык, что в интернете можно найти ответ на любой вопрос. Я не люблю думать. Зачем думать, если всё уже придумано до меня? © Zenden@RSDN ::: avalon/1.0.442
Re[4]: Шифрование в линуксе машинным ключом
От: ariets  
Дата: 05.10.15 09:12
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Ничего не понятно. Понял только, что у тебы проблемы с криптосхемой. Если хочешь дельных советов, опиши толком свою задачу и крнкретные сценарии. И желательно не тут, а в форуме ИБ.


RSDN в полной красе. Помочь не помогут, но скажут, что проблемы с архитектурой.

Задачу я описал в первом сообщении: нужен аналог в линуксе CryptProctectData из WinAPI (с параметром CRYPTPROTECT_LOCAL_MACHINE-шифрование машинным ключом). В винде люди пользуются, и никто не кричит про проблемы с криптосхемой.

Если ты не в курсе про эту ф-ию, а читать лень, то прошу воздержаться от советов.
Re[4]: Шифрование в линуксе машинным ключом
От: ariets  
Дата: 05.10.15 09:17
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Ну сделай что нибудь типа

S>
S>#lspci -vvv | md5sum >> /tmp/mashine-id
S>...
S>#rm /tmp/mashine-id
S>

S>

Наверно, так и сделаю.
С линуксом не очень знаком: программно эту портянку можно получить (с++)? Или проще запустить процесс lspci и прочитать его выхлоп?
Re[5]: Шифрование в линуксе машинным ключом
От: Anton Batenev Россия https://github.com/abbat
Дата: 05.10.15 09:55
Оценка:
Здравствуйте, ariets, Вы писали:

a> С линуксом не очень знаком: программно эту портянку можно получить (с++)?


Конечно. Можешь взять исходный код утилиты и посмотреть как она работает.

a> Или проще запустить процесс lspci и прочитать его выхлоп?


К сожалению из топика не совсем понятно, что тебе нужно, по этому не могу сказать что будет проще.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Re[5]: Шифрование в линуксе машинным ключом
От: Michael7 Россия  
Дата: 05.10.15 11:16
Оценка:
Здравствуйте, ariets, Вы писали:

A>Наверно, так и сделаю.

A>С линуксом не очень знаком: программно эту портянку можно получить (с++)? Или проще запустить процесс lspci и прочитать его выхлоп?

Вот только, если пользователь хоть что-то заменит, убавит или добавит в машину или даже видеокарту в другой слот переставит, уже этот "id" изменится со всеми вытекающими проблемами. В тоже время выхлоп lspci я бы не спешил считать чем-то настолько уникальным, что его нельзя подобрать при большом желании.
Re[4]: Шифрование в линуксе машинным ключом
От: Michael7 Россия  
Дата: 05.10.15 11:24
Оценка: 2 (1)
Здравствуйте, Sheridan, Вы писали:

S>Ну сделай что нибудь типа

S>
S>#lspci -vvv | md5sum >> /tmp/mashine-id
S>...
S>#rm /tmp/mashine-id
S>

S>

lspci сомнительный выбор для этой цели. Лучше

#dmidecode -t system


Там и UUID будет уникальным. Но надо понимать, что его как и lspci получить может кто угодно, имеющий доступ к системе. Собственно, как и в винде.

вместо system можно использовать другие параметры, например, baseboard выдаст серийник материнки,
Отредактировано 05.10.2015 11:25 Michael7 . Предыдущая версия .
Re[5]: Шифрование в линуксе машинным ключом
От: wildwind Россия  
Дата: 05.10.15 11:49
Оценка: -1
Здравствуйте, ariets, Вы писали:

a> RSDN в полной красе. Помочь не помогут, но скажут, что проблемы с архитектурой.


То, что тебе не могут помочь, не проблема RSDN. Напоминание о возможных проблемах с архитектурой это бонус.

a> Задачу я описал в первом сообщении: нужен аналог в линуксе CryptProctectData из WinAPI (с параметром CRYPTPROTECT_LOCAL_MACHINE-шифрование машинным ключом).


Уже ответили, что нет аналога, а ты: "Все равно хочу!". Глупо же.
Я привык, что в интернете можно найти ответ на любой вопрос. Я не люблю думать. Зачем думать, если всё уже придумано до меня? © Zenden@RSDN ::: avalon/1.0.442
Re[6]: Шифрование в линуксе машинным ключом
От: ariets  
Дата: 05.10.15 12:51
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Уже ответили, что нет аналога, а ты: "Все равно хочу!". Глупо же.


Ты странный какой-то. Где ты увидел, что я "все равно хочу"?
Я указал только, что задачу я описал в первом сообщении, как она мне нужна. Для ясности повторил ее, раз уж ты потребовал точной формулировки.

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

ПС: никто пока явно не ответил, что нет аналога. Но, судя по всему, это так.
Re[7]: Шифрование в линуксе машинным ключом
От: wildwind Россия  
Дата: 05.10.15 13:08
Оценка:
Здравствуйте, ariets, Вы писали:

a> ПС: никто пока явно не ответил, что нет аналога. Но, судя по всему, это так.


Я ответил.
Я привык, что в интернете можно найти ответ на любой вопрос. Я не люблю думать. Зачем думать, если всё уже придумано до меня? © Zenden@RSDN ::: avalon/1.0.442
Re[5]: /sys
От: Sheridan Россия  
Дата: 05.10.15 13:14
Оценка:
Здравствуйте, ariets, Вы писали:


A>Наверно, так и сделаю.

A>С линуксом не очень знаком: программно эту портянку можно получить (с++)? Или проще запустить процесс lspci и прочитать его выхлоп?
Да проще дёрнуть lspci. Только поосторожнее с verbose (количество -v), ибо
gate configuration-generator # lspci -vvv | md5sum
c3525f277f20a2d272f560ce549163e1  -
gate configuration-generator # lspci -vvv | md5sum
e3d58fcf3b52705a57558afa3b0fba0c  -
gate configuration-generator # lspci -vvv | md5sum
e3d58fcf3b52705a57558afa3b0fba0c  -
gate configuration-generator # lspci -vvv | md5sum
32ca855e429efc93c8da7f5da47a3c79  -
gate configuration-generator # lspci -vvv | md5sum
e3d58fcf3b52705a57558afa3b0fba0c  -

А лучше всего наверное будет покопаться в /sys или /proc (это псевдо-файловые системы, которые генерируются на лету, дают описание оборудования, процессов итд), поискать нужное, типа
gate 0000:ff:13.0 # cat /sys/bus/pci/devices/*/*(vendor|device) | md5sum
0cd665030ab8f3992ee52b9af17dd007  -
gate 0000:ff:13.0 # cat /sys/bus/pci/devices/*/*(vendor|device) | md5sum
0cd665030ab8f3992ee52b9af17dd007  -
gate 0000:ff:13.0 # cat /sys/bus/pci/devices/*/*(vendor|device) | md5sum
0cd665030ab8f3992ee52b9af17dd007  -
gate 0000:ff:13.0 # cat /sys/bus/pci/devices/*/*(vendor|device) | md5sum
0cd665030ab8f3992ee52b9af17dd007  -
gate 0000:ff:13.0 # cat /sys/bus/pci/devices/*/*(vendor|device) | md5sum
0cd665030ab8f3992ee52b9af17dd007  -

Снаружи это обычные текстовые файлы с доступом только по чтению. (Есть и только по записи, для управления, типа записал туда 1, устройство отключилось. Но это другая песня).
Matrix has you...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.