@g0vern0r

Как скрыть код на питоне на мини-компьютере от пользвователя?

Ситуация: Есть проект, написанный на питоне. Проект крутится на мини-компьютере, который размещается среди прочих контроллеров и устройств в шкафу. Проект коммерческий, и мы не хотим, чтобы пользователь, которому мы продадим шкаф, смог бы украсть код, либо внести туда изменения. Вопрос, как защитить код?

У нас есть идея зашифровать весь диск SSD мини-компьютера инструментами linux. Насколько это надежно?
  • Вопрос задан
  • 393 просмотра
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
Решение, которое позволит поднять стоимость реверса Вашего приложения до неприличного значения:
1. Обфусцируем код через https://github.com/dashingsoft/pyarmor .
2. Перегоняем п1. через https://github.com/Nuitka/Nuitka в сишный код.
3. Компилим п2. в машинный код.
4. Запускаем п3. exe-шник на клиенте.

Получаем:
1. Увеличение производительности.
2. Exe-шник из машинного кода.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
ValdikSS
@ValdikSS
Для этого используют полнодисковое шифрование с использованием Trusted Boot.
Ответ написан
Комментировать
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Полное шифрование диска - надёжно. При условии, что у клиента не будет доступа внутрь по SSH и консоль. Но тогда встаёт вопрос - как расшифровывать при ребуте? Есть некоторые варианты (1, 2), но они довольно гемороечные.
Ответ написан
Комментировать
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Для начала было бы интересно - а этот код - он имеет ценность в отрыве от шкафа? Если нет - то идея его скрывать - так себе идея, потому что оборудование имеет свойство ломаться, в особенности если вы еще и гарантию даете на что-то.
Ответ написан
Комментировать
@yan4ikhi
Тут все очевидно просто. RSA-1024 бита рулит! Шифруем Python скрипт, компилим ROOTFS образ линукса. Компилим ядро линукса, со встраимаевой проверкой ROOTFS по хэшу MD5, прогнанного через RSA-1024. Хэш файла с расшифрованным совпадает? Идет комманда на запуск файла. ROOTFS модифицирован? Хэш не совпадает? Комманда на запуск не дается.
Человек при всем желании сможет только узнать публичный RSA ключ, а им можно только расшифровывать. Приватный ключ дает право защифровывать, он и не нужен юзеру как раз.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы