Есть андройд терминал на котором должно крутиться только одно приложение. Устройство будет стоять в общественном месте.
Нужно защитить это самое приложение(или всю систему) от копирования.
По началу смотрел в в стандратную систему шифрования, которая встроена в Андройд. Но не подходит то что при перезагрузке требуется вводить пароль. Так допустим если система перезагрузилась, то потребуется скакать к терминалу и вводить этот пароль. Очень неудобно, если учесть что придется мотаться в другие города.
Хотелось в мечтах такую отдельную систему, которая будет расшифровать apk или целый раздел удаленно через интернет.
Кто может подсказать как поступить лучше?
Александр +: там флеш память будет или sd карта
но в андройде есть же для этих целей шифрование разделов, но из-за пинкода при перезагрузке устроства ф-цией это пользоваться не удобно.
Хочется понять, как можно расшифровку разделов сделать удаленно или применить другие методы защиты.
Пока что на ум приходит сделать приложение со всей ф-циональность в плагинах, которые будут расшифровываться /tmp (ramfs) раздел. Таким образом при перезагрузке или по удаленной команде, расшифрованные копии будут теряться.
Прекрасн опонимаю, что от всего защититься не возможно, но хочется максимально усложнить задачу реверса, наиболее простыми средствами
Спасибо за интересное предложние.
Впринципе эта решение аналогично системе плагинов что я выше предлагал. Кода даже можно не загружать а расшифровывать с локального хранилища.
Но мне тут не нравится что это все действительно только для java-классов, т.е. ресурсы уже не удасться загрузить таким образом.
Есть aar библиотеки для андройда, в которые можно хранить и ресурсы. Но ... как их грузить динамически не очень понятно.
Нет решения этой задачи, то что вы сейчас делаете это не техническая а архитектурная проблема.
Если вас беспокоит возможность слива софта вашими конкурентами или ещё кем то данная задача решается архитектурно - минимум логики софта на терминале, максимум на сервере - тоесть софт на терминале не более чем морда которая умеет делать запросы и показывать мемасики :)
связь с интренетом никто хорошую не обещает и так же важен реалтайм.
К тому же кто мешает скопировать эту обертку? и использовать её в дальнейшем...
В серьезных компаниях это решается secure boot, где в загрузчик чипа прописывается допустим AES ключ для расшифровки флеш памяти. Но это слишком сложный пилотаж(
отчасти согласен, но:
во-первых, тут не понятно как ограничить чужие терминалы по доступу к серверу
во-вторых, это не терминал оплаты, там нужен реалтайм
ser-mk: Так админ на сервере увидит "нелегальные конеекты" и тупо заблокирует сертификат, правда для этого придётся допиливать софт.
С ВПН та-же история - каждый ерминал коннектится через ВПН к серверу, если замечено что левак подключился то просто ВПМ серт добавляется в блэклист и всё. (тут софт допиливать не нужно)
Алексей POS_troi: разумееется программу защитить программой невозможно. Для этого нужно пользоваться аппратными средствами шифрования.
Сказать честно, не понял на счет "нелегальные конеекты" и VPN ... как там возможно отследить левых клиентов, если с терминала скопировали ВСЕ, сертификаты, приватные ключи и даже МАС?
ser-mk: Всё отслеживается без проблем, сорри но эта тема выходит за рамки обсуждения её в рамках тостера.
Не потому что влом а просто потому что каждый случай индивидуален и способы выбираются исходя из ситуации и железа.
Наймите хорошего *NIX админа, он вам порешает этот вопрос :D