Решительный злоумышленник может получить любые данные на устройстве. Если вы шифруете данные на устройстве перед тем, как поместить их в базу данных, вам необходимо иметь ключи на устройстве, и решительный злоумышленник может получить любые ключи, которые хранятся в памяти устройства или сохраняются.
Шифрование может помочь только в том случае, если на ненадежном устройстве не происходит ни шифрование, ни дешифрование, а только хранение. Вы можете зашифровать конфиденциальные данные на компьютере, которому доверяете, сохранив зашифрованные биты в базе данных для последующей расшифровки на компьютере, которому доверяете.
Вы также не можете использовать пароль для защиты этого. Пароли, сохраненные в памяти устройства или сохраненные на устройстве, могут быть прочитаны так же легко, как закрытые ключи шифрования.
Если вам не важно, читает ли пользователь данные из БД, но не хотите, чтобы они могли записывать данные, вы можете иметь критические данные , подписанные на доверенной машине, перед тем как их сохранят , Затем, если устройство подключается к доверенному компьютеру, оно может проверить подпись и убедиться, что эти важные данные не были подделаны.
EDIT:
Вы не можете доверять никаким вычислениям, выполненным на ненадежном устройстве, если вы не готовы пойти на довольно необычайную длину - единственное, что вы можете сделать, это проверить данные, маршрутизируемые через ненадежную систему, с помощью подписей и предотвратить подслушивание ненадежной системой данных, проходящих через нее с помощью шифрования.