Я использую API-интерфейс basic-auth twitter (больше не доступен), чтобы интегрировать твиттер с моей системой комментариев в блоге. Проблема с этим и многими другими веб-интерфейсами заключается в том, что они требуют, чтобы пользовательское имя пользователя и пароль делали что-нибудь полезное. Я не хочу иметь дело с хлопотами и стоимостью установки SSL-сертификата, но я также не хочу, чтобы пароли передавались по проводу в ясном тексте.
Я думаю, мой общий вопрос: Как я могу отправлять конфиденциальные данные по небезопасному каналу?
Это мое текущее решение, и я хотел бы знать, есть ли в нем дыры:
- Создайте случайный ключ на сервере (я использую php).
- Сохраните ключ в сеансе, а также выведите ключ в переменной javascript.
- В форме submit используйте Triple DES в javascript с ключом для шифрования пароля.
- На сервере расшифруйте пароль с помощью ключа из сеанса, а затем уничтожьте сеанс.
Конечным результатом является то, что по проводу отправляется только зашифрованный пароль, и ключ используется один раз и никогда не отправляется с паролем. Проблема решена?