2011-01-24 8 views
4

OpenIDスマートモードでは、この仕様ではDiffie-Hellmanキー交換が使用されます。私は、パブリックキーとプライベートキーが再利用できるかどうか(それぞれが侵害されていないと仮定して)、またはすべての要求に対して生成されるべきかどうか疑問に思っています。私はキーを生成するためにPHPのOpenSSLライブラリ(私のコード:$key = openssl_pkey_new(array('private_key_type' => OPENSSL_KEYTYPE_DH));)を使用していますが、それはひどく遅いです(キーを生成する平均で22秒 - 非常にウェブサイトでは容認できません)。キーを再利用できない場合は、OpenSSLを使用してキーを生成する方法がありますか?OpenIDコンシューマの詳細の実装

EDIT:私は答えで2つのことを探しています:OpenID関連モードでDiffie-Hellmanキーを再利用することはできますか?そうでない場合は、OpenSSLを使用して鍵を生成するより速い方法が、openssl_pkey_new()よりも非常に長いです。

+1

WOW、なぜあなたはOpenIDのライブラリを使用していません、自分でOpenIDトランザクションを実行する代わりに? – timdream

+1

a)私のニーズを満たしていないし、b)私が理解していないものを使用したくないからです。 JanRainライブラリはひどく設計されており、私のセットアップではゆっくりと読み込まれます - PHP 5.3.5をサポートしていないことは言うまでもありません(私は妥協しません)。 LightOpenIDは適切なXML DOMメソッドの代わりにプレグを使用します。このメソッドは無駄になります(実際はスマートモード認証をサポートしていません)。 PHP 5.3.5とスマートモード認証の両方をサポートするライブラリはありません。 –

+0

Zend Framework OpenIDについて http://framework.zend.com/manual/en/zend.openid.consumer.html – Marc

答えて

1

ジェフは、

私は、このソリューションを自分で構築するためにあなたの決定をサポートすることにより開始します。私は、他の解決策がいくつかの分野で(ほとんどの場合)弱いことに同意します。私はまだ完全にPHP 5.3.5に移行していませんが、あなたのかかとの上にあるでしょう。

  1. はい、そう長くあなたが確保できるよう、民間&公開鍵が危険にさらされていない、あなたがそれらを再使用するように罰金です:

    はとにかく、あなたの質問にいくつかの答えがあります。私はいつもこれに少し妄想的です。だから、毎晩私の鍵を再生成してセッショントラッキングを使って、古い鍵の下で始まり、新しい鍵の下で終了するトランザクションがないことを確認します。この余分なステップ(24時間ごとの再生)は不要ですが、あなたの心配を緩和するのに役立ちます。

  2. いいえ、新しいキーを生成するのに22秒かかることはありません。私のサーバーはこれらを作成するのに3〜5秒かかります(私はまだそれほど長く感じていますので、ユーザーが影響を受けていない/待っていないときのサイドでのcronジョブです。ログを見て、あなたのopenssl.cnfやサーバ内のいくつかの設定に問題がある可能性があります。もしあなたのサーバが資源のために過度の負荷がかかっていたり、プロセッサが非常に遅い場合は、長い時間がかかるかもしれません。バックグラウンドで...多分いくつかの暴走無限ループがあなたのプロセッサを占有し、RAMで?リブートオプションますか?

幸運!

+0

素晴らしいです!私は同じ鍵を使うことを望んでいましたが、私は確信が持てませんでした - 暗号化に関しては専門家ではなく、私は妄想的です。私はサーバログを調べるつもりですが、サーバ管理を行っている友人と話をした後、問題を引き起こしているのは/ dev/urandomにエントロピーがないことだけです。 –

1

OpenIDのスマートモード

このOpenIDのスマートモードとは何ですか? あなたがOpenIDでの消費について話されていない場合は(私はあなたがまだ別のOpenIDプロバイダを作成する必要があるとは思いませんが。それらの既に十分)、私はあなたが読んで止めることができると思い


。 私はOpenID認証(?/)を行うのに21秒かかっても、openidの仕様を読むことは決してありません。あなたは何か間違っていると思います。 LightOpenID(実際のシンプルライブラリ)ライブラリ(コンシューマ)はOpenID認証を分割して実行します。私はthis library which wraps LightOpenID+openid selectorを作成しました。 my hostingにデモが開催されています。

+1

OpenIDスマートモードは、プロバイダに署名の検証を依頼するのではなく、プロバイダに関連付ける場所です。 LightOpenIDは見ましたが、私のニーズに合っていませんでした(具体的には、関連付けをサポートしていません)。明確にするには、認証を実行するのに22秒かかるわけではありません。 opensslがDHキーを生成するのに22秒かかります。 –

+1

@ Jeff Hubbardあなたの情報に感謝します。私はLightOpenIDが本当に好きです。私は面倒なくOpenID認証を行うことができます。それは私のために十分です:P。 P.S:この興味深いリンクを見つけました。関連=> http://blog.facilelogin.com/2008/05/understanding-openid-association.html – Alfred

関連する問題