RSA криптование на JavaScript
От: Sokil  
Дата: 09.06.10 08:45
Оценка:
Здравствуйте, Уважаемые Форумчане.

Возникла необходимость криптовать логин и пароль в JavaScript и передавать в таком виде на сервер.

Нашел несколько реализаций:
http://www.ohdave.com/rsa/
http://www.java2s.com/Code/JavaScript/Security/RSAEncodinginJavaScript.htm
http://www.hanewin.net/encrypt/rsa/rsa-test.htm

Задаю експоненту и открытый ключ, криптую сообщение.
Проблема в том, что на сервере не могу декриптовать сообщение. Сервер реализован на Java.


Посоветуете реализацию на JavaScript чтобы и в Java декриптовалось верно.
Кто как решал подобные задачи?
Re: RSA криптование на JavaScript
От: . Великобритания  
Дата: 09.06.10 09:14
Оценка:
On 09/06/2010 11:45, Sokil wrote:
> Возникла необходимость криптовать логин и пароль в JavaScript и
> передавать в таком виде на сервер.
Интересно. А зачем? Чем https плох?
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: RSA криптование на JavaScript
От: Sokil  
Дата: 09.06.10 09:55
Оценка:
.>Интересно. А зачем? Чем https плох?

Lело в том, что на сервере не настроен https, сервер Tomcat на винде, идет редирект через IIS, нужно настраивать на https и в Tomcat и в IIS.
Да и с сертификатами заморачиваться не хочется....
Re[3]: RSA криптование на JavaScript
От: . Великобритания  
Дата: 09.06.10 10:30
Оценка: +4
On 09/06/2010 12:55, Sokil wrote:

> .>Интересно. А зачем? Чем https плох?

> Lело в том, что на сервере не настроен https, сервер Tomcat на винде,
> идет редирект через IIS, нужно настраивать на https и в Tomcat и в IIS.
Если tomcat и IIS стоят на одной машине, то https достаточно настроить только для IIS.

> Да и с сертификатами заморачиваться не хочется....

Специалист по трансректальным операциям?

Какой смысл криптовать пароль/логин, если потом, после авторизации, все данные будут гоняться незащищёнными?
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: RSA криптование на JavaScript
От: Viper_Craft  
Дата: 17.06.10 17:00
Оценка:
Здравствуйте, Sokil, Вы писали:

.>>Интересно. А зачем? Чем https плох?


S>Lело в том, что на сервере не настроен https, сервер Tomcat на винде, идет редирект через IIS, нужно настраивать на https и в Tomcat и в IIS.

S>Да и с сертификатами заморачиваться не хочется....

смахивает на "экономию на спичках" (т.е. на админах), а это дорого может обойтись...
Re[4]: RSA криптование на JavaScript
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 17.06.10 20:19
Оценка: +1
Здравствуйте, ., Вы писали:

.>Какой смысл криптовать пароль/логин, если потом, после авторизации, все данные будут гоняться незащищёнными?


А какая связь между конфиденциальностью и целостностью учетных данных и прочего трафика?

Кэп подсказывает, что смысл есть тогда, когда риск нарушения конфиденциальности и целостности учетных данных является существенным, а те же риски, связанные с передаваемой потом информацией — нет. Аутентификация с "двойным рукопожатием" (и, как следствие, шифрованием на стороне клиента), является весьма дешевой и в то же время надежной заменой шифрованию всего трафика там, где оно не требуется дальше самой процедуры аутентификации. Так бывает, когда сервис аутентификации шарится между различными, слабосвязанными друг с другом компонентами или подсистемами. Аутентификация на базе openid, хороший пример такой инфраструктуры. Еще один — сервисы гугла. Далеко не каждый из них пускает весь трафик поверх SSL/TLS, но процедура аутентификации строго шифруется в любом случае. Или в системах, где все пользователи имеют равные права (такие тоже бывают), но в которых важно закрыть риски, связанные в т.ч. с repudiation (отказом от транзакции). Или тогда, когда подсистема аутентификации разрабатывается в отрыве от той системы, в которой будет использоваться (в этом случае, мы не можем полагаться на то, что система будет использовать https и должны закрыть интересующие риски на нашем уровне).. Продолжать?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: RSA криптование на JavaScript
От: venicum Россия -
Дата: 09.07.10 18:35
Оценка:
Здравствуйте, ., Вы писали:

.>On 09/06/2010 12:55, Sokil wrote:


.>Какой смысл криптовать пароль/логин, если потом, после авторизации, все данные будут гоняться незащищёнными?


А мне интересно как, в общем случае, раздаются ключи?
Re[5]: RSA криптование на JavaScript
От: . Великобритания  
Дата: 09.07.10 20:21
Оценка:
On 09/07/2010 21:35, venicum wrote:

> .>Какой смысл криптовать пароль/логин, если потом, после авторизации,

> все данные будут гоняться незащищёнными?
> А мне интересно как, в общем случае, раздаются ключи?
Какие ключи? В каком общем случае? Certificate authority что-ли?
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[6]: RSA криптование на JavaScript
От: venicum Россия -
Дата: 12.07.10 10:29
Оценка:
Здравствуйте, ., Вы писали:

.>On 09/07/2010 21:35, venicum wrote:


>> .>Какой смысл криптовать пароль/логин, если потом, после авторизации,

>> все данные будут гоняться незащищёнными?
>> А мне интересно как, в общем случае, раздаются ключи?
.>Какие ключи? В каком общем случае? Certificate authority что-ли?

Открытые и закрытые, которые используются для шифрования.
Общий случай: комп юзера, комп сервера и они должны знать ключи соответственно.
Re[7]: RSA криптование на JavaScript
От: . Великобритания  
Дата: 12.07.10 14:30
Оценка:
On 12/07/2010 13:29, venicum wrote:

> .>Какие ключи? В каком общем случае? Certificate authority что-ли?

> Открытые и закрытые, которые используются для шифрования.
> Общий случай: комп юзера, комп сервера и они должны знать ключи
> соответственно.
У юзера в браузере есть root certs, серверный cert подписан одним из рутовых, клиент проверяет подпись. Читай про cert authority.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[8]: RSA криптование на JavaScript
От: Аноним  
Дата: 14.07.10 10:02
Оценка:
Точно такая же проблемма, нужно шифровать на Javascript, а на сервере расшифровывать, автор темы, вы нашли решение?
Re[8]: RSA криптование на JavaScript
От: venicum Россия -
Дата: 16.07.10 10:22
Оценка:
Здравствуйте, ., Вы писали:

.>On 12/07/2010 13:29, venicum wrote:


>> .>Какие ключи? В каком общем случае? Certificate authority что-ли?

>> Открытые и закрытые, которые используются для шифрования.
>> Общий случай: комп юзера, комп сервера и они должны знать ключи
>> соответственно.
.>У юзера в браузере есть root certs, серверный cert подписан одним из рутовых, клиент проверяет подпись. Читай про cert authority.

Спасибо это я и хотел услышать. Я знаю про сертификаты, просто здесь о них не упоминали (или я не заметил), поэтому уточнил.
Re[5]: RSA криптование на JavaScript
От: Vamp Россия  
Дата: 20.07.10 17:43
Оценка:
KV>А какая связь между конфиденциальностью и целостностью учетных данных и прочего трафика?

Тут проблема в другом. Такое шифрование — для бедных. Без подписи открытого ключа все, что автор делает бессмысленно, ибо в случае настоящей атаки ему просто-напросто подсунут вражеский ключ.
Да здравствует мыло душистое и веревка пушистая.
Re: RSA криптование на JavaScript
От: Sokil  
Дата: 11.08.10 14:08
Оценка: 3 (1)
Здравствуйте, Sokil, Вы писали:

S>Здравствуйте, Уважаемые Форумчане.


S>Возникла необходимость криптовать логин и пароль в JavaScript и передавать в таком виде на сервер.


S>Нашел несколько реализаций:

S>http://www.ohdave.com/rsa/
S>http://www.java2s.com/Code/JavaScript/Security/RSAEncodinginJavaScript.htm
S>http://www.hanewin.net/encrypt/rsa/rsa-test.htm

S>Задаю експоненту и открытый ключ, криптую сообщение.

S>Проблема в том, что на сервере не могу декриптовать сообщение. Сервер реализован на Java.
Проблема решилась.
Вот самая удачная реализация RSA криптования на скриптах:

http://www-cs-students.stanford.edu/~tjw/jsbn/

может, кому-то пригодится )
Re[6]: RSA криптование на JavaScript
От: Sokil  
Дата: 11.08.10 14:13
Оценка:
Здравствуйте, Vamp, Вы писали:

KV>>А какая связь между конфиденциальностью и целостностью учетных данных и прочего трафика?


V>Тут проблема в другом. Такое шифрование — для бедных. Без подписи открытого ключа все, что автор делает бессмысленно, ибо в случае настоящей атаки ему просто-напросто подсунут вражеский ключ.


Наше приложение для локальной сети. Никто из сети атаковать его по настоящему не будет, просто нет смысла.
Логин и пароль нужно криптовать потому, что они используются для логина в другие(более важные) модули продукта.
Re[5]: RSA криптование на JavaScript
От: Sokil  
Дата: 11.08.10 14:17
Оценка:
Здравствуйте, venicum, Вы писали:

V>Здравствуйте, ., Вы писали:


.>>On 09/06/2010 12:55, Sokil wrote:


.>>Какой смысл криптовать пароль/логин, если потом, после авторизации, все данные будут гоняться незащищёнными?


V>А мне интересно как, в общем случае, раздаются ключи?


Ключ генерятся на сервере и по необходимости(прилогине) клиент его запрашивает через веб-сервис.
Re[9]: RSA криптование на JavaScript
От: Sokil  
Дата: 11.08.10 14:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Точно такая же проблема, нужно шифровать на Javascript, а на сервере расшифровывать, автор темы, вы нашли решение?


Проблему решил.
Вот самая удачная реализация RSA криптования на скриптах:
http://www-cs-students.stanford.edu/~tjw/jsbn/
Есть одна проблема с предупреждением IE(много операций и он думает, что скрипт завис) лечится изменением ключа реестра.

На сервере декриптую стандартными средствами Java.
Примеров в нэте куча. Если коротко, то так:

Cipher cipher = Cipher.getInstance( "RSA" ); cipher.init( Cipher.DECRYPT_MODE, privateKey );
byte[] retArray = cipher.doFinal( dataSource );
String data = new String(retArray, "UTF8");
Re[7]: RSA криптование на JavaScript
От: . Великобритания  
Дата: 11.08.10 14:36
Оценка:
On 11/08/10 17:13, Sokil wrote:

> Наше приложение для локальной сети. Никто из сети атаковать его по

> настоящему не будет, просто нет смысла.
> Логин и пароль нужно криптовать потому, что они используются для логина
> в другие(более важные) модули продукта.
А значит будут делать банальный фишинг паролей, чтобы получить пароль в другие, более важные модули продукта. А если и это смысла не имеет, то какой вообще смысл в криптовании? Используйте обычный XOR — проблем меньше и работает быстрее.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: RSA криптование на JavaScript
От: lokoArt  
Дата: 17.08.10 02:58
Оценка:
S>Вот самая удачная реализация RSA криптования на скриптах:

S>http://www-cs-students.stanford.edu/~tjw/jsbn/


S>может, кому-то пригодится )


Действительно удачная реализация))) У меня все заработало) Данные криптуются и на сервере без проблем декриптуются!!!
СпасибО!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.