OAuth |
辞書:通信用語の基礎知識 通信技術安全編 (CTSEC) |
読み:オース |
外語:OAuth |
品詞:名詞 |
Webアプリケーションなどに対し、セキュアなAPIアクセス権認可を与えるための標準的手段を提供するもの。
|
概要 |
簡単には、OAuthは次の特徴を持つ「認可情報の委譲」をするための仕様である。
全権委譲はあったが、特定の権利の委譲は従来なく、初めて実用化された標準的手段がOAuthであった。
版 |
由来 |
背景 |
様々なWebアプリケーションが登場し、その後Webアプリケーション同士の連携(マッシュアップ)が増えてくると、認証手段の共有をどうするかが問題化した。
OpenIDといった共有認証機能は登場したが、OpenIDで出来ることはIDの持ち主の認証のみで、どのようなリソースへのアクセスを許可するかといった認可機能は持っていなかった。
そこで、登場してきたのがOAuthである。
従来 |
マッシュアップされた二つのWebアプリケーションを利用する場合、従来であれば、「WebサービスA」のユーザーIDとパスワードを、WebサービスAにアクセスしたい「WebサービスB」にそのまま登録するような運用が行なわれてきた。
OpenIDもその延長線上であり、ユーザーIDとパスワードの共有が基本的機能である。仕様は明快であり、実装も簡単である。
しかし、WebサービスAのユーザーIDとパスワードがあれば、WebサービスBはユーザーから何の許可も得ることなくWebサービスAにある全情報へアクセスできたり、機能を利用できることになり、セキュリティ面で望ましいことではない。
また、WebサービスAのパスワードを変更した場合、WebサービスBもそれに合わせて登録し直す必要が発生し、手間が大きい。
開発 |
Twitterは、認証機能の改善として、まずOpenIDの実装に取りかかった。
SNSのMa.gnoliaも同様に、Mac OS XのDashboardウィジェットからサービスへのアクセス方法としてOpenIDを検討し始め、Twitterなどと協議を始めたが、前述したようにOpenIDには認可機能がなく、採用するに不十分と判断された。
そこで2007(平成19)年4月、彼らが集まりOAuth標準仕様の策定が開始された。それを知ったGoogleも賛同し、支援に加わった。結果、2007(平成19)年7月に最初のドラフト仕様が発表され、2007(平成19)年12月にOAuth Core 1.0がリリースされた。
特徴 |
手順 |
OAuthによって、ユーザーのリソースがあるサイト(サービスプロバイダー)と、その情報を利用したい別のサイト(コンシューマー)がAPI認証を成立させるまでに、大きく三段階の手順がある。
ここからOAuthの特徴は、次の二点に要約することができる。
コンシューマー登録 |
コンシューマーは、APIを通じたアクセスに先立ち、一度だけコンシューマー登録という手順が必要となる。
この手順により、コンシューマーを表わす一意のキー「コンシューマー・キー」と、電子署名に使う「コンシューマー・シークレット」がコンシューマーに対して発行される。
これは動的に行なわれても、また電子メール等を用いて行なわれても良い。
リクエスト・トークン |
拒否の場合は、ここで終了する。承認された場合は、次に進み実際のリソースへのアクセス権を得る。
アクセス・トークン |
以降は、サービスプロバイダーがアクセス・トークンに含めた条件(リソースの種類、有効期間)に応じて(3)を繰り返し、API経由でリソースへアクセスする。
利点 |
一旦、サービスプロバイダーへリダイレクトし、ユーザーの承認を得る処理はOpenIDと同様で、OpenIDの影響を受けている。
OAuthは、OpenIDと違って第三者にパスワード等を預ける必要がないことと、ユーザーが、許可する権利を事前に確認できるのが利点となっている。
将来的には、OpenIDとの相互運用なども検討されているとされる。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |