Что такое хороший продукт для шифрования на уровне браузера? - PullRequest
1 голос
/ 07 октября 2010

Я ищу продукт, который может обеспечить шифрование текстовых данных на уровне браузера перед их отправкой на внутренний сервер. HTTPS может быть безопасным транспортным механизмом, но нам нужно сначала зашифровать пакет в браузере. Пакет данных должен находиться в зашифрованном виде в базе данных. Вариант использования: пользователь заполняет форму в браузере, пользователь отправляет данные формы, перед отправкой данных по проводам, браузер шифрует данные, данные попадают в базу данных бэкэнда в зашифрованном виде, в определенный момент времени все данные будут собраны из базы данных сервера, перемещены на отключенный компьютер и расшифрованы в этот момент.

Ответы [ 3 ]

4 голосов
/ 07 октября 2010

HTTP по SSL / TLS (HTTPS) достаточно достаточно безопасно.На самом деле он настолько безопасен, насколько это возможно.

С SSL / TLS вы можете выбрать набор шифров и настроить алгоритмы шифрования и размеры ключей в соответствии с вашими потребностями.2048-битный RSA и 256-битный AES должны быть достаточно безопасными.

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

3 голосов
/ 07 октября 2010

Я согласен, что TLS достаточно хорош для многих случаев, и я немного написал об этом в своем путешествии, чтобы посмотреть, как он работает.У него есть некоторые проблемы, такие как правительства, которые могут заставить центры сертификации выдавать сертификаты, разрешающие атаки типа "человек посередине" , но в целом это довольно хорошо.

Вас может заинтересоватьв разработке таких систем, как LastPass, которые шифруют вещи в дополнение к использованию TLS (подробности здесь ).Я бы сказал, что ваш лучший подход, если вы считаете, что TLS недостаточно хорош, - это делать что-то в дополнение к этому, а не вместо этого.

2 голосов
/ 07 октября 2010

Для этого и нужен HTTPS (SSL / TLS). Это должно быть достаточно безопасно.

Но, как вы заявляете в своем ответе на мой запрос, вы хотите, чтобы данные формы сохранялись в базе данных в зашифрованном виде. Быстрый поиск в Google вызывает JQuery.Gibberish-AES . Это плагин JQuery, который выполняет шифрование AES и может использовать открытый ключ RSA.

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

Я уверен, что были бы аналогичные плагины / библиотеки для других клиентских сред, если вы не используете JQuery.

Я бы все еще использовал SSL / TLS для соединения, потому что он обеспечивает аутентификацию сервера (и аутентификацию клиента, если вы хотите) для защиты от посредника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...