2014-09-25 4 views
0

Некоторые справочные материалы для SSL с помощью Node.js: http://nodejs.org/api/https.htmlSSL с использованием самозаверяющего сертификата над Node.js

Мне нужно построить доказательство концепции безопасного соединения SSL между сервером Node.js и браузером.

Клиент должен зашифровать передаваемые им данные, а затем серверу необходимо сохранить эти данные в зашифрованной базе данных.

Я предполагаю, что это означает, что мне нужна клиентская JS для шифрования данных? Как я могу это сделать, если это так (клиентский сервер OR)? Благодаря!

ответ

1

Для клиента у вас нет альтернативы использованию сборки в браузере TLS/SSL. Вы можете реализовать JavaScript SSL, если это произойдет, но вы не можете распространять доверенную базу данных сертификатов в браузере.

Как только безопасный и надежный путь был создан с клиента на сервер, вы можете дополнительно шифровать данные, используя общедоступный (RSA или EC) ключ для отправки клиенту и гибридную криптографию. Таким образом, вы можете использовать криптографию уровня приложения поверх транспортной безопасности, хотя криптография уровня приложения всегда будет зависеть от безопасности и доверия, предоставляемого TLS/SSL.

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

+0

Я думаю, что нужно сделать, чтобы зашифровать его на сервере непосредственно перед его хранением? – Wes

+0

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

Смежные вопросы