2009-02-27 2 views
1

У меня есть два сайта.Лучший алгоритм шифрования (PHP) для аутентификации пользователей с других сайтов

Первый сайт требует, чтобы пользователи выполнили вход. Затем токен аутентификации будет передан на второй сайт, когда пользователи перейдут от первого ко второму. Таким образом, пользователи не могут просто захватить URL-адрес вторых сайтов и войти в него.

Каков наилучший алгоритм шифрования/аутентификации, который я могу использовать для этой цели аутентификации?

ответ

6

Типичная схема ПК. На сайте1 зашифровать информацию об аутентификации с помощью закрытого ключа site1 и открытого ключа site2. На site2 decrytp с использованием private key site2 и открытого ключа site1.

Функции интереса:

+0

Извините, но я ничего не нахожу на схеме ПК в Google. – Graviton

+0

PK == Открытый ключ. http://en.wikipedia.org/wiki/Public_key – vartec

+1

См. http://en.wikipedia.org/wiki/Public-key_cryptography –

2

Я бы использовать AES шифрование.

Почему симметричное шифрование? Это быстрее и менее ресурсоемким. (ЦП, пропускная способность). Вы можете просто распределять ключи, а затем это безопасно, как асимметричное шифрование.

Преимущество асимметричного шифрования существует только в том случае, если оба клиента не знают друг друга.

+0

+1. Вы также можете сделать это с помощью простого хеша. например: токен «4d2.49a7f0d4.226c04be17a8f860acb7e4e5ce093d420b9a177e», где «4d2» является пользователем 1234 в шестнадцатеричном виде, «49a7f0d4» является отметкой времени истечения маркера, а последний бит является хэшем sha1() «sausage.4d2.49a7f0d4», «колбаса» является общей тайной между сайтом1 и сайтом2 – bobince

+1

nb. Если вы сделаете что-то подобное, используйте более сильный общий секрет, чем «колбаса» :-) – bobince

+0

колбаса потрясающая! но вы правы, словарные слова, вероятно, не лучший источник ключей шифрования ... –

3

Обязательно ознакомьтесь с протоколом OpenID, он делает то, что вы хотите.

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