2009-02-27 6 views
1

私は2つのサイトを持っています。他のサイトのユーザーを認証するための最適な暗号化アルゴリズム(PHP)

最初のサイトでは、ユーザーがログインする必要があります。ユーザーが最初から2番目に移動すると、認証トークンが2番目のサイトに渡されます。ユーザーは2番目のサイトのURLを取得してログインすることはできません。

私はこの認証目的に使用できる最適な暗号化/認証アルゴリズムは何ですか?

答えて

6

典型的なPKスキーム。 site1では、auth情報をsite1の秘密鍵で暗号化し、site2の公開鍵で暗号化します。 site2の秘密鍵を使用するsite2 decrytp、およびsite1の公開鍵。関心の

機能:

+0

申し訳ありませんが、私はGoogleのPKスキームで何も見つかりません – Graviton

+0

PK ==公開鍵。 http://en.wikipedia.org/wiki/Public_key – vartec

+1

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

2

私はAES暗号化を使用すると思います。

なぜ対称暗号化ですか?それはより速く、よりリソースを集中しません。 (CPU、帯域幅)鍵を配布するだけで、非対称暗号化と同じように安全です。

非対称暗号化の利点は、2つのクライアントが互いを知らない場合にのみ存在します。

+0

+1を参照してください。単純なハッシュでも行うことができます。トークン「4d2.49a7f0d4.226c04be17a8f860acb7e4e5ce093d420b9a177e」、ここで、「4d2」は1634のユーザ1234、「49a7f0d4」はトークンの有効期限のタイムスタンプ、最後のビットは「sausage.4d2.49a7f0d4」のsha1()ハッシュです。 「ソーセージ」はサイト1とサイト2の間の共有秘密です – bobince

+1

nb。そんなことをしたら、「ソーセージ」よりも強力な共有秘密を使ってください:-) – bobince

+0

ソーセージは最高です!しかし、あなたが正しいです、辞書の単語はおそらく暗号化キーのあなたの最高のソースではありません... –

3

OpenIDプロトコルを確認してください。必要な処理を行います。

関連する問題