Совместимые библиотеки шифрования между клиентом и сервером (Javascript -> C # или Java) - PullRequest
0 голосов
/ 22 апреля 2009

Иногда HTTPS недостаточно. Особенно, когда мы говорим о защите пользовательских данных от троянов с доступом на уровне winsock32, где они могут прослушивать https в виде простого текста или объекты BHO, которые уже имеют доступ к расшифрованным опубликованным данным в памяти браузера.

В этом сценарии я разработал подпрограмму javascript -> classic для клиентского сервера asp, в которой javascript шифрует и отправляет данные, полученные и расшифрованные ASP. Работает очень хорошо.

Это решение было построено с использованием шифрования xICE, которое обеспечивает хорошую совместимость между javascript и PHP или ASP. Но сейчас я перехожу на ASP.NET или Java, и в XICE нет порта для этих сред.

¿Любое предложение?

Ответы [ 3 ]

3 голосов
/ 22 апреля 2009

Я никогда не слышал о xICE, поэтому я попытался найти дополнительную информацию. Все, что я нашел, это информация, опубликованная компанией, и статья об алгоритме под названием «ICE», который явно не связан. Я не смог найти информацию об алгоритмах, используемых xICE. Информация, которую я нашел, была от 4 до 5 лет.

Все эти признаки соответствуют криптографии "змеиного масла". Вы вряд ли найдете авторитетного поставщика совместимой библиотеки для другой платформы.

Я бы порекомендовал использовать известный алгоритм, такой как AES. Доступны бесплатные реализации JavaScript для поддержки криптографии на стороне клиента. Лично мне нравится прозрачность "JavaScrypt" (а также кредо его автора), но есть и другие реализации, которые могут быть быстрее.

Такое решение обеспечивает лучшую криптографию и упрощает интеграцию с другими платформами - бесплатно.

2 голосов
/ 22 апреля 2009

Фундаментально, SSL достаточно . Или, скорее, так хорошо, как вы можете получить.

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

Любое шифрование JavaScript - это безопасность по неясности.

1 голос
/ 22 апреля 2009

В зависимости от библиотеки JavaScript, может быть достаточно легко портировать на C #, хотя вам, вероятно, захочется пробежаться и немного его реорганизовать. Один из лучших способов выучить язык - это перенести на него библиотеку. В противном случае в JS есть множество реализаций для AES и других. Многие из них оптимизированы для ActionScript и JavaScript (некоторые незначительные отличия от собственно EcmaScript).

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