デジタル資産を守るためには、適切かつ厳格なセキュリティ対策の必要性は言うまでもありません。日々、経営者やIT専門家は様々な脅威に悩まされており、効果的なアプリセキュリティ対策の導入こそがサイバー犯罪や窃盗を抑制する唯一の方法です。
SSOセキュリティ戦略の一環として、専門家はSAML、OAuth、またはOpenIDを選択します。しかし、
これらは同じものなのでしょうか?どのような違いがあり、SAML、OAuth、OpenIDの中でどれが最適なのでしょうか?
本記事では、これらの疑問に回答しています。
通称OAuth 2.0は、様々なデジタル資産へのアクセス許可や制御のための細かな規定を提供する認可フレームワークです。API、ハードウェア、アプリ、ユーザー、システム、さらにはサーバにも簡単に適用できます。
アクセストークンによりアクセスが制御され、指定されたトークン情報が提供されない、または誤って入力された場合、アプリ、API、各種デバイスはアクセスを拒否することが可能です。
OAuth導入前(2010年)はHTTPの基本認証が利用されていましたが、状況は一変しました。現行のOAuth 2.0は、REC 6749アップデートにより旧来のOAuth 1.0が大幅に改正された2012年に施行されました。
OAuth の主な特徴を見てみましょう:
OAuthの処理は、大きく分けてコンシューマー、エンドユーザー、そしてサービス提供者の3つの要素に基づいています。
また、OAuthで使用されるトークンには、短期間用と長期間用の2種類があることを理解してください。
どちらのトークンもデータ保護のために暗号化されています。
OAuthについて理解したところで、セキュリティアサーションマークアップ言語の略であるSAMLに移ります。2002年にOASIS Security Services Technical Committeeによって設計され、プロトコルの歴史を考えれば、SAMLは実に最も古い選択肢と言えます。
機能面では、SAMLは認証と認可のための資格情報交換において守るべき国際的なオープンスタンダードです。ここで関わるのは、一般にサービス提供者とアイデンティティ提供者です。
2002年の誕生以降、複数の更新と改良を経て、現時点ではSAML 2.0が最も採用されています。
SAMLの仕組みで重要な役割は以下の通りです:
SAML導入時には、これら3つの要素が連携して動作します。
OpenIDは、複数サイトへのアクセス管理を行うSSO技術の一環として用いられる、特有のユーザー識別手法です。このプロトコルは誰もが容易に本人確認できるよう、処理を簡素化することに重点を置いています。
OpenIDはOAuth 2.0に基づいた認証のオープンスタンダードであり、異なるサイトごとに複数のアカウントを作成する必要をなくします。
異なるログインアカウントの作成や管理は混乱やエラーの原因となり、各サイトごとに強固なパスワードを作成し管理するのは容易ではありません。
OpenIDを利用すれば、1つのIDで複数サイトにログイン可能です。認可サーバが収集する情報に基づいて本人確認を行うため、OAuthなしでの実装は困難です。また、そのおかげでREST APIを通じ、エンドユーザー情報の取得が容易になります。
OpenIDは、特定のURLを所有していることを証明することで認証を可能にし、このURLが信用の証として機能します。
認証方法は複数存在します。
一般的には、サイトが該当URLを取得してOpenIDプロバイダーを特定し、その後Diffie-Hellman鍵交換により秘密情報を共有して、OpenIDプロバイダーがユーザーとの間でメッセージに署名できるようにします。
初回のOpenID利用時は、OpenIDプロバイダー経由でサインインし、その後、認証結果を示すアサーションによりエンドユーザーが信頼できるサイトへリダイレクトされます。
どちらもSSO戦略の一環ですが、類似点はほとんどなく、さまざまな点で異なります。
例えば、SAMLはXMLを用いてメッセージを送信する一方、OAuthはJSONを使用します。OAuthはモバイル向けで使いやすいですが、大規模利用は推奨されません。SAMLは企業向けのセキュリティに適しており、広く利用されるため複雑です。
また、OAuthはAPIコールに最適なため、モバイル、ゲーム機、IoT、現代的なウェブ環境に好まれます。一方、SAMLはブラウザにセッションクッキーを残す仕様なため、短期間の本人認証に限定されます。
本題を分かりやすくするため、議論を2部に分けます:
SAMLとOAuthは広範な議題で、その主な違いは以下の通りです:
これら3つのプロトコルのユースケースを理解することは重要です。SAMLは強固な暗号化により重要情報を守るため、アイデンティティ管理に適しています。仮想デスクトップインフラでもSAMLは有用です。
モバイルアプリのセキュリティ対策には、OAuthが推奨されます。
一時的なアクセスが必要な場合はOpenIDを検討してください。認証作業を自社で一括管理する際に役立ちます。
ITセキュリティの世界は広大で、SSOはその一部に過ぎません。SAML、OAuth、OpenIDはSSOで広く利用される主要技術ですが、その動作は大きく異なります。本記事は、SAML、OAuth、OpenIDの主な違いを理解するのに役立ち、より明確な理解が適切な実装につながります。
最新情報を購読