【サーバーNo.446】OIDCとは?IT用語をサクッと解説

サーバー サーバー
この記事は約5分で読めます。

OpenID Connect(OIDC)とは、インターネット上で安全にユーザー認証を行うためのプロトコルです。本記事では、OIDCの基本概念や活用方法について、初心者にもわかりやすく解説します。

スポンサーリンク

OIDCとは?

OIDC(OpenID Connect)は、OAuth 2.0の上に構築された認証レイヤーであり、ユーザー認証とID情報の取得を可能にする標準規格です。これにより、異なるウェブサービス間で安全にユーザー情報を共有できます。

わかりやすい具体的な例

わかりやすい具体的な例1

例えば、あるECサイトで買い物をする際、新しくアカウントを作成するのは面倒です。しかし、Googleアカウントを使ってログインすることで、新規登録なしにECサイトの利用が可能になります。これは、GoogleがOIDCを利用してユーザーの認証情報を提供しているためです。

sequenceDiagram
    participant User
    participant Client
    participant OP as OpenID Provider
    User->>Client: ログイン要求
    Client->>OP: 認証リクエスト
    OP->>User: 認証画面表示
    User->>OP: ログイン認証
    OP->>Client: IDトークン発行
    Client->>User: ログイン成功

OIDCの仕組みでは、IDトークンが発行され、サービス(クライアント)がユーザーの認証を確認できます。

わかりやすい具体的な例2

オンラインバンキングでは、銀行の公式アプリを利用してログインを行いますが、その際に他の認証サービスを利用することもあります。例えば、政府発行のデジタルIDを使用し、銀行アカウントにアクセスする場合も、OIDCを活用して安全に認証が行われます。

sequenceDiagram
    participant User
    participant BankApp
    participant GovID as Government ID Provider
    User->>BankApp: ログイン要求
    BankApp->>GovID: 認証リクエスト
    GovID->>User: 認証画面表示
    User->>GovID: ID認証
    GovID->>BankApp: IDトークン発行
    BankApp->>User: ログイン成功

この仕組みを活用すると、異なるサービス間でも安全かつ統一されたログインが可能になります。

スポンサーリンク

OIDCはどのように考案されたのか

OIDCは、OAuth 2.0の進化形として考案されました。OAuth 2.0はアクセス権の管理を目的としていますが、OIDCは認証の仕組みを補完し、ユーザー情報の提供を可能にしました。

flowchart TD
    A[OAuth 2.0] -->|認可| B[Access Token]
    B -->|アクセス管理| C[リソースサーバー]
    A -->|認証| D[OIDC]
    D -->|ID Token発行| E[クライアント]

考案した人の紹介

OIDCは、OpenID Foundationによって開発されました。特にナット・サクムラ氏が、日本を代表する専門家として開発に貢献しました。

考案された背景

インターネットの発展とともに、安全なログイン技術の必要性が高まりました。従来のパスワード認証は脆弱であり、多要素認証やシングルサインオンの普及とともに、OIDCの開発が進められました。

スポンサーリンク

OIDCの構造

OIDCの認証フローには、IDトークンが含まれ、クライアントはこの情報を利用してユーザーを認証します。

sequenceDiagram
    participant User
    participant Client
    participant OP as OpenID Provider
    User->>Client: 認証リクエスト
    Client->>OP: 認可コードリクエスト
    OP->>Client: 認可コード送信
    Client->>OP: トークンリクエスト
    OP->>Client: IDトークン発行

OIDCを利用する場面

OIDCは、シングルサインオンやモバイルアプリ認証に広く使用されています。

スポンサーリンク

あわせてこれも押さえよう!

OIDCの理解を深めるために、以下のサーバーについても学習すると役立ちます。

  • OAuth 2.0
  • アクセス管理のための認可フレームワークです。

  • JWT
  • 認証情報を保持するためのトークン形式です。

  • SAML
  • シングルサインオンの別の標準規格です。

  • LDAP
  • ディレクトリサービスの一種で、認証に利用されます。

  • OpenID Foundation
  • OIDCの開発を主導する団体です。

まとめ

OIDCを学ぶことで、セキュリティの高い認証システムを構築でき、利便性と安全性の向上につながります。

スポンサーリンク