LINUX.ORG.RU

Шифрование дисков/разделов/файловой системы

 , , , ,


0

2

Есть поделка которая завернута в докер и бежит у клиента на PC-linux (без монитора и клавиатуры). Клиент все настраивает через веб страницу. (то есть физический доступ к пс ему не нужен).

Задача: защитить поделку от реверс инжиниринг. (то есть просто шифрование с паролем при запуски линукса не подходит)

Что можете посоветовать? если что сильно не пинать :)

Очень расплывчато. Как вариант - вынесите часть поделки (лучше то, которое содержит наиболее важные части алгоритма во внешнее криптованное хранилище (смарт, донгл, можно и просто в другое место по сети)

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

к сожалению так не получится. слишком это все усложняет.

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

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

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

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

степень важность: средняя/высокая защита нужна: от плагиата (реверс инжиниринг) что нужно скрыть: желательно все (на уровни раздела). Ну или хотя бы, то что в контейнерах и переменная среды (environment variable) что передаются к контейнера.

задача: усложнить жизнь для разработчиков плагиата/хакера.

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

Доступ к хосту только у вас? Физически ящик у клиента? Тогда систему и раздел с поделкой - под luks. На первый взгляд должно хватить.

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

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

pasifus ()

Поделку собрать в бинарник, держать на шифрованном разделе, отдавать клиенту под NDA, периодически обновлять поделку (при этом делать так, что старые версии перестают работать) и всё такое.

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

По поводу luks. Там разве не требуется при загрузки ядра ввести пароль?

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

Можно в initrd положить драйвера сетевухи и поднимать сеть, после чего тягать с сети файл-ключ и им открывать LUKS-контейнер. Можно ещё файл ключа зашифровать с паролем.

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

а где хранить ключи для расшифровки?

Я вот думал. Если разделить на две части. Первая связывается с сервером по https, каким то способом авторизируется и получает ключ для дешифрации второй части. Но мне казалась если более элегантный способ.

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

Ну это если у клиента сетка настроена на dhcp и брандмауэр ничего не блокирует. Как правило это не так.

Шифрование паролям? А как будет происходит процесс расшифровки?

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

Я же говорю, система при загрузке будет проситься на твой сервер, чтоб получить ключ. Ключ может быть сам по себе, а может быть зашифрован GPG, и для открытия LUKS-контейнера надо будет сначала расшифровать файл ключа (со вводом пароля). В таком случае, даже если пароль «убежит», ты всегда сможешь его поменять со своей стороны (просто перзашифровав файл ключа). Кроме того, без файла ключа злые жёлуди не смогут открыть LUKS, даже если будут знать пароль.

Но мне казалась если более элегантный способ.

Элегантная обфускация бывает только в Perl.

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

Пардон, подумал, что ты отвечал на мой пост про загрузку ключа по сети из initrd.

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

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

Увы, нет. Почитай всякие статейки о сборке initrd для гентушников, там должна быть инфа о том, как поднимать сеть в early userspace.

spijet ★★★ ()
Ответ на: комментарий от system-root

SafeNet + Virtual Machine Encryption Solution

Если цена известна - озвучьте, пожалуйста.

Harliff ★★★★★ ()
Ответ на: комментарий от system-root

а есть где почитать с примером реализации. как да че...

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

а есть где почитать с примером реализации. как да че..

SafeNet — крупнейший уважаемый бренд на рынке (это не реклама), с техподдержкой, со своими конференциями и обучением.
почему придумывать самопальные методы защиты для тебя норм, а загуглить о SafeNet сложно?
не троллю, просто отнесись серьезнее к проблеме. я никак не аффилирован с этой компанией, чтобы оказывать консультации по ценам или т.д., лишь пользователь их продуктов, причём не ProtectV.

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

На сколько я смотрю SafeNet + Virtual Machine Encryption Solution требует что-бы на клиентской стороне доступ в интернет уже был настрое, а это как правило не так.

pasifus ()

systemd все сломал.

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