Всем привет! Появилась вот такая вот задачка. Пытаюсь решить как это сделать. Поможете?
Есть ОС на raspbian которая залита на SD-карту работающая на raspberry pi 3b+. Необходимо обеспечить защиту образа от копирования или перемещения на другое железо (в т.ч. другую raspberry pi), а также сделать так чтобы просмотреть скрипты или каким-то образом разобрать образ было невозможно.
Доступ к любым файлам и папкам должен быть закрыт – пользователь не должен иметь возможности увидеть код скриптов. При открытии SD-карты на других ПК возможности получить доступ к данным и скриптам быть не должно. Должна быть отключена любая функция по смене пароля суперпользователя и других пользователей. Также должны быть отключены любые команды в консоли. Кроме, секретной, позволяющей войти по суперпользователем. Однако доступ к графическому интерфейсу должен быть сохранен, но урезан(в зависимости от возможностей)
Есть предположение что стоит это организвать как-то так: Управление организуется посредством reverse SSH.
Для защиты используются следующие механизмы:
• При установке и первом запуске генерится уникальный ID в и прописывает его на сервере. (это может быть серийник процессора)
• все скрипты и бинарники шифруются.
• при старте машина подключается к Серверу, на котором УЖЕ прописаны все ID для всех инсталляций, и сообщает свой ID. если он соответствует тому что в серверной базе, то получает разрешение от сервера(код дешифрации) и дешифрует папку, откуда уже и выполняется все остальное.
• Должен иметься базовый образ, который будет устаналвиваться на карту. при первом старте клиент будет генерить machine-id, автоматом отправлять его на сервер. сервер, в свою очередь, генерит public и secret ключи. при помощи public скрипт шифрует раздел (или папку). При каждом включении получать от сервера secret кей для расшифровки раздела (папки).