OpenID Connect(OIDC)とは、インターネット上で安全にユーザー認証を行うためのプロトコルです。本記事では、OIDCの基本概念や活用方法について、初心者にもわかりやすく解説します。
Table of Contents
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を学ぶことで、セキュリティの高い認証システムを構築でき、利便性と安全性の向上につながります。