RSA-SHA1

RSA-SHA1

署名方式 RSA-SHA1 (OAuth 1.0)

[2] RSA-SHA1 署名方式署名は、クライアントで計算方法が異なります。

[10] クライアントは、次のように計算します >>1

  1. [4] KクライアントRFC 3347 RSA秘密鍵とします。
  2. [5] M署名基底文字列とします。
  3. [6] KMRFC 3447 8.2.1節の RSASSA-PKCS1-v1_5 署名アルゴリズム (PKCS#1) を適用します。 EMSA-PKCS1-v1_5ハッシュ関数には SHA-1 を使います。
  4. [7] 結果を RFC 2045 Base64 符号化します。

[8] こうして得られた文字列を oauth_signature 引数の値に使います >>1

[3] クライアントは予めRSA公開鍵を含むクライアントcredentialsを確立しておく必要がありますが、 その方法は OAuth 仕様としては規定していません >>1

[9] は、次のように検証 (verify) します >>1

  1. [11] (n, e) をクライアントRSA公開鍵とします。
  2. [12] M署名基底文字列とします。
  3. [13] Sクライアントから受信した oauth_signature 引数の値とします。
  4. [14] (n, e) と MSRFC 3447 8.2.2節の RSASSA-PKCS1-v1_5検証 (verify) アルゴリズムを適用します。

[16] SHA-1 は現在となっては暗号学的に弱いと考えられており、 RSA-SHA1 もその影響を受けます。実用上は喫緊の脅威とはならないと思われますが、 注意はしておくべきでしょう。 >>15

[17] OpenSocial の拡張である xoauth_signature_publickey / xoauth_public_key 引数に対応している実装もあるようです。

[18] RSA-SHA1 はほとんど使われていません。

[19] Firefox 22 での Cookie有効化について << mixi Developer Center (ミクシィ デベロッパーセンター) ( 版) <http://developer.mixi.co.jp/appli/ns/pc/firefox_22_cookie/>

署名方式には RSA-SHA1 を利用しています。