OAuth 2.0 draft 12で出てきたMAC Tokenとは

OAuth 2.0 draft 12を読まれた方の中では、この文言が気になった方もいるのではと思います。

while the "mac" token type defined in [I-D.hammer-oauth-v2-mac-token]
is utilized by issuing a token secret together with the access token
which is used to sign certain components of the HTTP requests:


GET /resource/1 HTTP/1.1
Host: example.com
Authorization: MAC token="h480djs93hd8",
timestamp="137131200",
nonce="dj83hs9s",
signature="kDZvddkndxvhGRXZhvuDjEWhGeE="

draft-ietf-oauth-v2-12 - The OAuth 2.0 Authorization Framework

OAuth WRAPのあたりから、Access Tokenを使ったリソースアクセス方法としていわゆる"bearer token"と呼ばれるSecretや署名が不要な形式で使われるという話でしばらく進んできました。
しかし、Draft11で"token_type"というパラメータが追加されたり、リソースアクセス時のAccess Tokenの使い方が具体的な文言ではなくなったりと、少し動きがありました。
今回、その"bearer"typeと並ぶ位置づけとして、"mac" typeというのが仕様に含まれたということです。

仕様はこちらです。
draft-hammer-oauth-v2-mac-token-02 - HTTP Authentication: MAC Access Authentication
ということで、読みながらまとめたメモをSlideshareに挙げておきました。

今までは「署名ないの?いままでより"セキュリティ的なもの"が下がるのでは?」って漠然と思われたこともあったかと思いますが、この"mac"typeを用いて署名を含むリクエストがサポートされると、決済系のAPIなど「やっぱり署名が必要」というレベルのリソースアクセスも現実的なユースケースとして想定できるかもしれませんね。

といっても、このドラフト、短い期間に頻繁に更新されているのですぐ次のDraftが出ると思います。
今後も注目していきましょう。

draft12との差分?ああ、それはまたあとで・・・