Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

シングルサインオン (SSO) 周りの技術について整理する

0
Posted at

はじめに

備忘録です。タイトルの通り、各用語の意味や関係性が分かりづらかったので、自分なりにまとめてみました。

本文

1. 全体図

各用語の関係性を示した全体図です。

利用シーン毎の例

① 社内アプリでケルベロス認証する

Windows ドメイン環境の社内アプリなどで、広く利用されています。

② Web アプリで OIDC 認証する

「Google でログイン」や「Microsoft アカウントでサインイン」など、一般的な Web サービスのログイン方式です。

③ メールクライアントで OAuth を使用する

Gmail や Outlook などの裏側で使用されています。

2. SASL とは

SASL (Simple Authentication and Security Layer / サスル) とは、アプリケーションプロトコルに認証方式やセキュリティ機能を組み込むためのフレームワークです。この仕組みにより、アプリケーションプロトコルの枠組みを大きく変更することなく、認証方式を柔軟に追加・変更できます。現在では、主に以下のプロトコルで利用されています。

プロトコル 分類 備考
SMTP / IMAP / POP3 メール 現代のメールシステムで必須
LDAP (v3) ディレクトリ Active Directory / OpenLDAP など
AMQP メッセージング RabbitMQ など
Kafka 内部プロトコル メッセージング 独自のプロトコル上で SASL 認証

SASL は 1997 年に登場した、成熟した技術ではありますが、現代のプロトコルでも現役で利用される安定した基盤技術です。

3. GSSAPI / SPNEGO / Kerberos とは

3-1. GSSAPI

GSSAPI (Generic Security Service Application Program Interface) とは、アプリケーションが認証やセキュリティ機能を利用するための、抽象化されたインターフェース (API) です。つまり SASL と同じく抽象化レイヤーの一種となります。実際の認証処理は Kerberos など、下位のプロトコルが担当します。

3-2. SPNEGO

SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) とは、GSSAPIで利用されるメカニズムの一つです。利用可能な認証メカニズムの中から、クライアントとサーバー間で適切な方式をネゴシエーション (交渉) するために使用されます。主に Kerberos や NTLM の選択に利用されます。

補足
NTLM (NT LAN Manager) とは、Windows NT 時代からある古い認証方式です。

3-3. Kerberos

Kerberos 認証 (ケルベロス認証) とは、チケットベースの認証プロトコルです。GSSAPI で利用される代表的な認証メカニズムのひとつであり、実際の認証処理を担います。1980 年代にマサチューセッツ工科大学 (MIT) で誕生し、2026 年現在でも Microsoft Active Directory などで採用されています。もう少し詳しい内容は、以下の記事にまとめています。

4. SAML とは

SAML (Security Assertion Markup Language / サムル / サムエル) とは、認証・認可情報をやりとりするための XML ベースの標準規格であり、シングルサインオン (SSO) などを実現するために利用されます。2002 年に SAML 1.0 が登場し、現行 (2026 年時点) での標準は 2005 年に策定された SAML 2.0 です。成熟した規格ではありますが、安定性と互換性の高さから、現在でもエンタープライズシステムで広く利用されています。

5. OAuth / OIDC とは

5-1. OAuth

OAuth (オーオース) とは、権限の認可を行うための標準規格です。2007 年に登場した OAuth 1.0 は署名ベースの仕組みで複雑だったため、普及は限定的でしたが、2012 年に登場した OAuth 2.0 では HTTP ベースのシンプルなトークン方式に整理され、扱いやすくなりました。2026 年現在では、Web API やサービス・モバイルアプリ・クラウド環境における認可の標準として広く利用されています。

5-2. OIDC

OIDC (OpenID Connect) とは、OAuth 2.0 をベースにした認証プロトコルです。ID トークンを用いてユーザーの認証情報を安全にやりとりできるように設計されており、シングルサインオン (SSO) などを実現できます。

おわりに

まだまだ見えていない部分も多いので、随時更新していきます。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?