認証技術 — MFA / SSO / OAuth / OIDC / SAML / JWT

多要素認証・シングルサインオン・OAuth/OIDC/SAML の使い分け、JWT の仕組みを整理。

認証・認可は AP科目Aで頻出。OAuth と OIDC、SAML と OIDC の違いを混同せずに覚えましょう。

鳴海 理央(普段) 鳴海 理央

MFA は知識・所持・生体の3要素のうち2つ以上を組み合わせる多要素認証。
SSO は1度のログインで複数サービスを使う仕組み。

砂原 ニコ(普段) 砂原 ニコ

OAuth と OIDC って何が違うの?

緒方 ナオミ 先生(笑顔) 緒方 ナオミ 先生

OAuth 2.0 は『認可』、つまりリソースへのアクセス権を委譲する仕組みで、OIDC はその上に『認証』(誰がログインしたか) を乗せた規格なのよ。
OAuth だけでは『誰』が分からないのね。

藤咲 まりあ(普段) 藤咲 まりあ

SAML ってどんなものなのぉ…?

鳴海 理央(普段) 鳴海 理央

Security Assertion Markup Language。
XML で認証情報を交換する SSO 規格。
エンタープライズで広く使われ、Active Directory 連携などで活用されます。
OIDC は SAML より新しい規格で、モバイルや SPA に向いています。

緒方 ナオミ 先生(普段) 緒方 ナオミ 先生

JWT は JSON ベースの署名付きトークン。
OIDC の ID トークンや、API のアクセストークンとして広く使われます。

確認クイズ

OAuth 2.0 と OpenID Connect (OIDC) の関係として、最も適切なものはどれか。

  1. OAuth は認証、OIDC は認可を扱う規格である
  2. OIDC は OAuth 2.0 の上に認証機能を追加した規格である
  3. 両者は完全に独立した別の認証規格であり、互換性はない
  4. OIDC は OAuth 1.0 の後継規格である
こたえを見る

正解: 2. OIDC は OAuth 2.0 の上に認証機能を追加した規格である

OAuth 2.0 は『認可』(リソースへのアクセス権を第三者アプリに委譲) を扱う規格。OIDC はこの上に『認証』(誰がログインしたかを ID トークンで提供) の層を追加した規格。Sign in with Google などはこの仕組みを使っています。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。