Перейти к содержанию
Fire Monkey от А до Я
  • 0

Android + DataSnape + Локальная БД


zekelive

Вопрос

Товарищи, здравствуйте. Хотел бы проконсультироваться с вами на довольно сложно для меня тему. Имеется клиентское мобильное приложение на Андроид. Принцип его просто, загружает фирмы из БД в scrollbox. За счёт того, что сразу загрузка всех данных из сервера занимает длительное время, было принято решение загружать с сервера только ключевую информацию (название фирмы), а остальную информацию загружать из локальной БД. При этом, т.к. файл БД можно легко вытащить из apk файла любому человеку, размещать всю БД на локалке нельзя. Только информацию в целом не представляющую большой значимости в отдельности от названия фирмы и не только. 

Вопрос, правильная ли схему построения была выбрана с точки зрения защиты данных (если это так можно назвать), и оптимизации загрузки информации. 

Приветствуются ваши советы, как лучше построить схему взаимодействия приложения с БД, или как лучше защитить данные. В идеале для быстродействия, загнать побольше данных в локальную БД. 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
1 час назад, zekelive сказал:

Товарищи, здравствуйте. Хотел бы проконсультироваться с вами на довольно сложно для меня тему. Имеется клиентское мобильное приложение на Андроид. Принцип его просто, загружает фирмы из БД в scrollbox. За счёт того, что сразу загрузка всех данных из сервера занимает длительное время, было принято решение загружать с сервера только ключевую информацию (название фирмы), а остальную информацию загружать из локальной БД. При этом, т.к. файл БД можно легко вытащить из apk файла любому человеку, размещать всю БД на локалке нельзя. Только информацию в целом не представляющую большой значимости в отдельности от названия фирмы и не только. 

Вопрос, правильная ли схему построения была выбрана с точки зрения защиты данных (если это так можно назвать), и оптимизации загрузки информации. 

Приветствуются ваши советы, как лучше построить схему взаимодействия приложения с БД, или как лучше защитить данные. В идеале для быстродействия, загнать побольше данных в локальную БД. Ну

- А что пугает в локальном расположении БД? SQL lite прекрасно шифруется sha256 с головой.

- DataSnap убогий на мой взгляд. Уже сколько релизов подряд он течет не дай бог как. И по сути не лучшее решение для web сервера. Я думаю многие поддержат меня когда я скажу что лучшим вариантом будет трехзвенка Client -> PHP -> DB

- Хранить статичные данные в локальной БД тоже такое себе. А вдруг они станут не актуальны? Надо учесть это и описать методы их замены/удаления. Ну а также VACUUM

Ссылка на комментарий
  • 0
2 минуты назад, FREEFAR сказал:

- А что пугает в локальном расположении БД? SQL lite прекрасно шифруется sha256 с головой.

- DataSnap убогий на мой взгляд. Уже сколько релизов подряд он течет не дай бог как. И по сути не лучшее решение для web сервера. Я думаю многие поддержат меня когда я скажу что лучшим вариантом будет трехзвенка Client -> PHP -> DB

- Хранить статичные данные в локальной БД тоже такое себе. А вдруг они станут не актуальны? Надо учесть это и описать методы их замены/удаления. Ну а также VACUUM

Катраз использую sql lite для локальной БД. Но из коробки delphi шифрование отсутствует. Подскажите, в какую сторону копать? 

Ссылка на комментарий
  • 0
3 минуты назад, zekelive сказал:

Катраз использую sql lite для локальной БД. Но из коробки delphi шифрование отсутствует. Подскажите, в какую сторону копать? 

LiteDAC от DEVART

Ссылка на комментарий
  • 2
2 часа назад, zekelive сказал:

Катраз использую sql lite для локальной БД. Но из коробки delphi шифрование отсутствует. Подскажите, в какую сторону копать? 

Кто сказал отсутствует?

image.png.c525bf2cf5823a51da1f8623f4583759.png

Ссылка на комментарий
  • 0
2 минуты назад, FREEFAR сказал:

Кто сказал отсутствует?

image.png.c525bf2cf5823a51da1f8623f4583759.png

Действительно, спасибо, обращу внимание. Обращаться к БД так же, или после шифрования что то меняется? Запросы выборки и ТД так же выполнять?

Ссылка на комментарий
  • 0
5 минут назад, zekelive сказал:

Действительно, спасибо, обращу внимание. Обращаться к БД так же, или после шифрования что то меняется? Запросы выборки и ТД так же выполнять?

все то же самое. Включаешь тип шифрования и пароль. 

В нашем случае мы БД создавали в рантайме

Ссылка на комментарий
  • 0
2 минуты назад, FREEFAR сказал:

все то же самое. Включаешь тип шифрования и пароль. 

В нашем случае мы БД создавали в рантайме

Спасибо, буду пробовать.

Ссылка на комментарий
  • 0
10 часов назад, FREEFAR сказал:

все то же самое. Включаешь тип шифрования и пароль. 

В нашем случае мы БД создавали в рантайме

С шифрование разобрался спасибо за информацию. Возник вторичный вопрос, т.к. пароль указывается в интерфейсе самого firebird из под delphi, не будет ли возможно его вытащить из apk файла путем его декомпиляции? Или лучше пароль передать из серверной БД? Пароль для обращения к БД каким то образом шифруется или нет?

Ссылка на комментарий
  • 0
6 часов назад, zekelive сказал:

С шифрование разобрался спасибо за информацию. Возник вторичный вопрос, т.к. пароль указывается в интерфейсе самого firebird из под delphi, не будет ли возможно его вытащить из apk файла путем его декомпиляции? Или лучше пароль передать из серверной БД? Пароль для обращения к БД каким то образом шифруется или нет?

Мы не проверяли , но аудит ИБ прошли. Полагаю когда подписали приложение его стало невозможным вытащить 

Ссылка на комментарий
  • 0

Увы, но нет проблем вытащить пароль из apk, если он лежит в открытом виде. Подпись приложения этому никак не препятствует (подпись гарантирует только отсутствие изменений, но не более того).

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

Ссылка на комментарий
  • 0
1 минуту назад, Tumaso сказал:

Увы, но нет проблем вытащить пароль из apk, если он лежит в открытом виде. Подпись приложения этому никак не препятствует (подпись гарантирует только отсутствие изменений, но не более того).

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

Интересные подробности. Спасибо, буду думать как организовать это.

Ссылка на комментарий
  • 0
13 минут назад, Tumaso сказал:

Увы, но нет проблем вытащить пароль из apk, если он лежит в открытом виде. Подпись приложения этому никак не препятствует (подпись гарантирует только отсутствие изменений, но не более того).

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

Ну при таком раскладе AirWatch наше все

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...