OpenID:DH/RSA

 

1. キー交換
============
DH  : お互いにパブリックを計算して交換。パブリックとプライベートを使って計算すると同じ共有キーを持つことになる。
RSA : OPがパブリックキーを配布 。配布はXRD(S)とか、SSLを経由してとか。

2. OpenID MAC用共有キーの交換
=========================

– 2.0 : OPがシークレットを作成して、DHの共有キーとXORしてRPに返す
– RSAを使うなら :
  – OPが共有キーをプライベートキーで暗号化し、RPがパブリックキーで復号する。 (これは駄目)
  – RPが共有キーを作成してOPのパブリックキーで暗号化し、OPがプライベートキーで復号して保存。

3. OpenID署名
==============
– 2.0 : 共有キーを使ってSHA1,SHA256する
– RSAを使うなら
   (1) 2.0 と同じ方式
 (2) OPがプライベートキーで署名し、RPがパブリックキーで検証する。
       – この場合、2 の共有キーの交換は不要

4. 比較
=======

共有キーを使わないという観点で3-(2)がベターだが、3-(1)が単にSHA1/256で署名するだけに対して、
3-(2)はアサーションを出す度にOP/RP双方でRSAの演算が必要なのでリソースは食う。

2でMAC共有キーをRSA暗号化する方式にすると、アソシエーションの処理でCPUリソースを大きく消費するが、
OP-RPでアソシエーションを張るときのみなので、3-(2)よりは負担が少ない。が、アソシエーションが無いAuthRequestに関しては必ずエラーを返してRPに共有キーを持ってアソシエーションリクエストするように促すことが必要。署名の強度は同じで、共有シークレットの暗号化の強度がDHに比べてどうか、ということがポイント。

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中