San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
閉じる
プライバシー設定
ウェブサイト運営に必要なCookieや類似技術を使用しています。追加のCookieは貴社の同意がある場合のみ利用されます。同意は「Agree」をクリックすることでいただけます。どのデータが収集され、どのようにパートナーと共有されているかの詳細は、Cookieポリシープライバシーポリシーをご確認ください。
Cookieは、貴社デバイスの特性や、IPアドレス、閲覧履歴、位置情報、固有識別子などの特定の個人情報を取得、解析、保存するために使用されます。これらのデータは様々な目的で利用されます。分析Cookieによりパフォーマンスを評価し、オンライン体験やキャンペーンの効果向上に役立てます。パーソナライズCookieは、利用状況に応じた情報やサポートを通じ、貴社専用の体験を提供します。広告Cookieは、第三者が貴社のデータをもとにオーディエンスリストを作成し、ソーシャルメディアやネット上でのターゲット広告に使用します。貴社は各ページ下部のリンクから、いつでも同意の許可、拒否、または撤回が可能です。
ご送信ありがとうございます。内容を受け付けました。
申し訳ありません。フォーム送信時にエラーが発生しました。
/
/
API Security

OAuthがSAMLおよびOpenIDとどう異なるか

デジタル資産を守るためには、適切かつ厳格なセキュリティ対策の必要性は言うまでもありません。日々、経営者やIT専門家は様々な脅威に悩まされており、効果的なアプリセキュリティ対策の導入こそがサイバー犯罪や窃盗を抑制する唯一の方法です。

SSOセキュリティ戦略の一環として、専門家はSAML、OAuth、またはOpenIDを選択します。しかし、

これらは同じものなのでしょうか?どのような違いがあり、SAML、OAuth、OpenIDの中でどれが最適なのでしょうか?

本記事では、これらの疑問に回答しています。

OAuthがSAMLおよびOpenIDとどう異なるか

OAuth - 概要 

通称OAuth 2.0は、様々なデジタル資産へのアクセス許可や制御のための細かな規定を提供する認可フレームワークです。API、ハードウェア、アプリ、ユーザー、システム、さらにはサーバにも簡単に適用できます。 

アクセストークンによりアクセスが制御され、指定されたトークン情報が提供されない、または誤って入力された場合、アプリ、API、各種デバイスはアクセスを拒否することが可能です。

OAuth導入前(2010年)はHTTPの基本認証が利用されていましたが、状況は一変しました。現行のOAuth 2.0は、REC 6749アップデートにより旧来のOAuth 1.0が大幅に改正された2012年に施行されました。

OAuth の主な特徴を見てみましょう:

  • JSONベースのため、モバイルでも性能は十分です。
  • OAuthは認可のみを扱い、本人確認は行いません。本人確認が必要な場合は、認証手段と組み合わせる必要があります。
  • 認証機能がないため、大規模利用は推奨されません。
  • APIコールに対応しているので、先進的なウェブ環境に適しています。
  • OAuthの信頼性は、サーバとクライアントの関係に依存します。
  • 従来のパスワードの代わりにトークンでアクセスを管理します。

仕組み

OAuthの処理は、大きく分けてコンシューマー、エンドユーザー、そしてサービス提供者の3つの要素に基づいています。

  1. ユーザーがサービス利用に興味を示すと(例:Twitterでツイートを投稿したい場合)、
  2. そのユーザーに代わり、コンシューマーがソーシャルメディア大手にユニークなトークンを要求します。 
  3. トークンは双方で機密情報として取り扱われます。
  4. コンシューマーはこのトークンをエンドユーザーに渡し、ソーシャルメディアプラットフォーム上で利用させます。
  5. エンドユーザーがソーシャルメディアアカウントにログインすると、コンシューマーは関連リクエストをプラットフォームへ送信します。
  6. プラットフォームは受け取ったトークンの信頼性に基づきリクエストを承認または拒否します。 
  7. 許可は直接エンドユーザーではなく、対象のサービス(コンシューマー)に与えられます。

また、OAuthで使用されるトークンには、短期間用と長期間用の2種類があることを理解してください。

どちらのトークンもデータ保護のために暗号化されています。

SAML - 概要 

OAuthについて理解したところで、セキュリティアサーションマークアップ言語の略であるSAMLに移ります。2002年にOASIS Security Services Technical Committeeによって設計され、プロトコルの歴史を考えれば、SAMLは実に最も古い選択肢と言えます。

機能面では、SAMLは認証と認可のための資格情報交換において守るべき国際的なオープンスタンダードです。ここで関わるのは、一般にサービス提供者とアイデンティティ提供者です。

2002年の誕生以降、複数の更新と改良を経て、現時点ではSAML 2.0が最も採用されています。 

仕組み

SAMLの仕組みで重要な役割は以下の通りです:

  1. 対象者はクラウド型アプリを利用したい人々です。
  2. IdP(アイデンティティ提供者)はユーザーの識別情報を保存するクラウドソフトで、シンプルなログインで利用でき、クラウドアプリへのアクセス許可を確認します。
  3. 最後に、サービスプロバイダーはエンドユーザーが利用するクラウドホスト型アプリです。Gmail、Outbox、Microsoft 365、Google Photosなどがその例です。通常は直接利用可能ですが、SSOが導入されるとSAMLがアクセス制御を行い、どのリクエストを処理するか判断します。

SAML導入時には、これら3つの要素が連携して動作します。 

  • エンドユーザーがサービス提供者へアクセスリクエストを送信する。
  • リクエスト受領後、サービス提供者は別のリクエストでIdPからユーザーデータを取得する。
  • IdPはSAMLアサーション(ユーザーのログイン情報を示すメッセージ)を送信し、必要に応じたユーザー情報を提供する。これに基づき、対象者のリクエストが処理される。

OpenID - 概要 

OpenIDは、複数サイトへのアクセス管理を行うSSO技術の一環として用いられる、特有のユーザー識別手法です。このプロトコルは誰もが容易に本人確認できるよう、処理を簡素化することに重点を置いています。

OpenIDはOAuth 2.0に基づいた認証のオープンスタンダードであり、異なるサイトごとに複数のアカウントを作成する必要をなくします。

異なるログインアカウントの作成や管理は混乱やエラーの原因となり、各サイトごとに強固なパスワードを作成し管理するのは容易ではありません。 

OpenIDを利用すれば、1つのIDで複数サイトにログイン可能です。認可サーバが収集する情報に基づいて本人確認を行うため、OAuthなしでの実装は困難です。また、そのおかげでREST APIを通じ、エンドユーザー情報の取得が容易になります。

仕組み

OpenIDは、特定のURLを所有していることを証明することで認証を可能にし、このURLが信用の証として機能します。

認証方法は複数存在します。

一般的には、サイトが該当URLを取得してOpenIDプロバイダーを特定し、その後Diffie-Hellman鍵交換により秘密情報を共有して、OpenIDプロバイダーがユーザーとの間でメッセージに署名できるようにします。 

初回のOpenID利用時は、OpenIDプロバイダー経由でサインインし、その後、認証結果を示すアサーションによりエンドユーザーが信頼できるサイトへリダイレクトされます。

SAML 対 OAuth

どちらもSSO戦略の一環ですが、類似点はほとんどなく、さまざまな点で異なります。

例えば、SAMLはXMLを用いてメッセージを送信する一方、OAuthはJSONを使用します。OAuthはモバイル向けで使いやすいですが、大規模利用は推奨されません。SAMLは企業向けのセキュリティに適しており、広く利用されるため複雑です。

また、OAuthはAPIコールに最適なため、モバイル、ゲーム機、IoT、現代的なウェブ環境に好まれます。一方、SAMLはブラウザにセッションクッキーを残す仕様なため、短期間の本人認証に限定されます。

SAML 対 OAuth 対 OpenID - 主な違い

本題を分かりやすくするため、議論を2部に分けます:

OpenID 対 OAuth

  • OpenIDは認証を行い、OAuthは許可に重点を置く。
  • OpenIDは第三者ツールによるユーザー認証(フェデレーション認証)に焦点を当て、OAuthは各種アプリでパスワードの共有や作成の必要性をなくすために設計されている。
  • OpenIDは第三者向けアプリやAPI用に作られ、OAuthはパスワード情報漏洩のリスクを回避するために用いられる。
  • OpenIDはアイデンティティアサーションを利用して動作し、OAuthはより汎用的である。

SAML 対 OAuth

SAMLとOAuthは広範な議題で、その主な違いは以下の通りです:

  • SAMLは認証と許可の両方を行うが、OAuthは認可のみ。
  • SAMLは強固な暗号化に支えられているのに対し、OAuthは暗号化が不十分。
  • どちらもトークン方式だが、SAMLではトークンはSAMLアサーション、OAuthではアクセストークンと呼ばれる。

どのプロトコルをいつ使用するか

これら3つのプロトコルのユースケースを理解することは重要です。SAMLは強固な暗号化により重要情報を守るため、アイデンティティ管理に適しています。仮想デスクトップインフラでもSAMLは有用です。 

モバイルアプリのセキュリティ対策には、OAuthが推奨されます。

一時的なアクセスが必要な場合はOpenIDを検討してください。認証作業を自社で一括管理する際に役立ちます。

まとめ

ITセキュリティの世界は広大で、SSOはその一部に過ぎません。SAML、OAuth、OpenIDはSSOで広く利用される主要技術ですが、その動作は大きく異なります。本記事は、SAML、OAuth、OpenIDの主な違いを理解するのに役立ち、より明確な理解が適切な実装につながります。

FAQ

最新情報を購読

更新日:
February 25, 2025
学習目標
最新情報を購読
購読
関連トピック