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] K と M に RFC 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) と M と S に RFC 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 を利用しています。