Шифрование данных на уровне приложений поверх ssl - PullRequest
1 голос
/ 22 октября 2011

Я нахожусь в процессе разработки веб-сайта и приложения (iOS и Android), которые должны передавать данные через https.Я не хочу, чтобы клиенты приложений перехватывали эти серверные сообщения, но я бы хотел расшифровать эти данные внутри самого приложения.Итак: после запроса зашифруйте сообщение (скажем, до 400 КБ) (1-е шифрование), отправьте через https (ssl-шифрование) (2-е шифрование).при получении расшифровать ssl, на уровне клиента расшифровать зашифрованное сообщение.(Я не хочу, чтобы некоторые боты нюхали мой БД через https, скрывая мое приложение).Как вы думаете, я должен обойти эту проблему?

https - это нормально, я имею в виду, но если кто-то отправляет запросы вместо приложения, все это будет бесполезно, поскольку я хочу защитить данные БД.

Есть предложения?идеи?

Спасибо

Ответы [ 3 ]

3 голосов
/ 22 октября 2011

Все что вам нужно здесь - это HTTPS / SSL с аутентификацией клиента.Добавление второго уровня шифрования фактически не добавляет никакой безопасности.PKI аутентификация клиента делает.

0 голосов
/ 24 октября 2011

Мне действительно пришла в голову идея зашифровать запрос, а не ответ.таким образом, пользователь не может подделывать и отправлять запросы в БД.Я просто подумал, что повторное шифрование может сделать слишком много для слишком малого.

0 голосов
/ 22 октября 2011

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

Это не то, что вы можете решить полностью: ваш сервер не может надежно отличить реальное клиентское приложение от поддельного, разработанного кем-то, кто перепроектировал реальное приложение для имитации.

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

...