top of page

OIDCとは?OAuthとの関係や仕組み・メリットについて解説

OIDCとは?OAuthとの関係や仕組み・メリットについて解説

SecureCube_logo.PNG

API認証を利用したアプリケーション・Webサービスの連携を安全に行うためには、セキュリティレベルの高い認証情報の連携技術が必要です。OIDC(OpenID Connect)は、導入が簡単でありながら高度なセキュリティを保てる技術規格であり、現在はほとんどのサービスがAPI認証にOIDCを利用しています。


この記事ではOIDCとOAuthの関係、OIDCが策定された背景や仕組み、導入にあたってのメリットを解説します。F-APIの導入を考えている金融機関の方は、ぜひこの記事を参考にしてください。



目次


1. OIDC(OpenID Connect)とは

1-1. OIDCと関係の深いOAuth

1-2. OIDCが策定された背景


2. OIDCの仕組み


3. OIDCのメリットとデメリット

3-1. 【メリット】導入がしやすい

3-2. 【メリット】管理が簡単にできる

3-3. 【デメリット】不正なIDトークンへの注意が必要になる


まとめ




1. OIDC(OpenID Connect)とは


サービス間でユーザーの同意のもと認証情報を連携するための規格

OIDC(OpenID Connect)とは、サービス間でユーザーの同意のもと認証情報を連携するための規格です。ユーザーがOIDCを提供するサイトに登録した認証情報を利用して、ほかのサービスへシームレスにログインできます。


OIDCを利用した連携では、ユーザー名のみならず住所やクレジットカードの番号など細かな属性情報も、本人が同意すれば連携先のサービスへ提供されます。


OIDCはAPI認証を利用したサービスの連携に必須であり、特に金融業界向けの高度なセキュリティを持つ、F-APIの基盤にもなるセキュリティレベルの高い規格です。


FAPIとは|金融機関にとって重要な理由やセキュリティを解説

API認証とは?認証が必要な理由や主要な認証方式を解説



1-1. OIDCと関係の深いOAuth


OIDCと混同されやすい認証方法として、OAuthがあげられます。OAuthとはトークンベースの認証(使い捨てのパスワードを利用した認証形式)を利用し、複数のアプリケーションを連携して動作させる技術のことです。


OAuthの特徴は、特定の情報へのアクセスのみを許可する点です。連携先にIDとパスワードを登録せず、あらかじめ設定されている利用サービスの範囲のみ認可します。仮に悪意ある第三者がいたずらしようとしても、たとえばアカウント削除など認可されていない範囲の操作はできません。


OIDCとOAuthの違いは、「認可」と「認証」のどちらを目的とするかにあります。


OIDCは、認可ではなく認証を目的としています。連携先のアプリケーションやWebサイトに対して、本人のIDを証明することでログインの手間を軽減する仕組みです。毎回IDやパスワードを入力する必要がなく、手軽にログインできます。


また、連携後に誰が操作するのかも、OIDCとOAuthで異なります。OIDCで連携した各アプリケーションやサービスは、ユーザーによる操作が前提です。一方のOAuthは、認可された範囲でサービス側が情報を参照したり操作したりできます。




1-2. OIDCが策定された背景


OIDCが策定された背景として、API連携の利便性を高めるとともにセキュリティの向上が求められたことがあげられます。


一般的なパスワード認証の場合、各アプリケーションやWebサイトでユーザー自身がIDやパスワードを入力して、ログインします。しかし、IDとパスワードを使った認証制度はパスワード漏洩によるセキュリティリスクがあるほか、パスワード忘れでログインできなくなるなどの点がデメリットです。


そこで、IDとパスワードの入力なく、より簡単にシステムやアプリケーションを連携できる技術としてOAuth1.0が作られました。しかし、OAuth1.0は実装が難しく、コストがかかる問題があり、ほとんど利用されませんでした。


こうした背景から、より簡単で柔軟にアプリケーションを連携する仕組みとしてOAuth2.0が生まれました。OAuth2.0は比較的簡単に実装できるため、多くのサービスに普及します。


さらに、OAuth2.0のセキュリティリスクを抑える規格として、OAuth2.0をベースにOIDCが作られました。現在はほとんどのアプリケーションやWebサービスがOIDCを利用し、API連携を行っています。




2. OIDCの仕組み


OIDCの仕組み図解

OIDCによってサービス間で認証情報が連携される仕組みとして、ユーザーがWebサイトAのログイン情報を利用して、WebサイトBへログインする場合の流れを解説します。




OIDCの規格では、IDトークンとアクセストークンの要求・応答によって認証を行っています。OAuth2.0が同じ流れでアクセストークンの発行のみを要求するのに対して、OIDCは同時にIDトークンの処理も依頼します。


OIDCによってIDトークンを発行することで、WebサイトAはユーザーの同意にもとづいて認証情報を提供していると証明しつつ、サービス間の連携を実現します。




3. OIDCのメリットとデメリット


導入しやすい・管理が簡単・不正アクセス

OIDCの導入は、今後F-APIの活用を必要とする金融機関にとって多くのメリットがあります。


より効果的に活用するためには、メリットのみならずデメリットを理解しておくことも大切です。以下では、OIDCに期待できるメリットおよび導入時に注意すべきデメリットについて解説します。




3-1. 【メリット】導入がしやすい


OIDCはシームレスでセキュアな連携を実現しつつも、シンプルなコードを書き入れれば、手軽に導入できるメリットがあります。


従来の認証システムは導入時に高度な技術が必要で、アプリケーションやサービスの開発者は設計の自由度が制限されていました。


しかしOIDCの導入において、従来のように高度な技術は求められません。開発者側は認証システムの実装に関連する手間を省ける上、アプリケーションやサービスを自由に設計できます。




3-2. 【メリット】管理が簡単にできる


OIDCは、ユーザーにとってもログイン情報の管理が簡便にできるメリットがあります。従来のWebサイトごとにIDとパスワードでログインする方法の場合、想定される主なリスクは下記の通りです。

利用しているWebサイトやサービスが増えれば増えるほど、IDやパスワードを使い分けるのが面倒に感じるようになります。結果、複数のWebサイトで共通するIDやパスワードを使いまわすこととなり、セキュリティレベルの低下を招きます。


IDやパスワードを使いまわしている状態でログイン情報が1社から流出すれば、ほかのWebサイトも不正利用されかねません。


また、管理するIDとパスワードの数が増えれば、一部を忘れる恐れもあります。ログインできなくなったユーザーが増えてサービスの利用継続率が低下すれば、企業にとっても悪影響です。


OIDCを導入すれば、IDやパスワード管理の煩わしさを軽減できます。IDトークンを利用した認証によって高いセキュリティを維持しつつ、複数のWebサイトで異なるIDやパスワードを作成・管理する手間が省けます。




3-3. 【デメリット】不正なIDトークンへの注意が必要になる


ただし、IDトークンそのものを悪意ある第三者に不正取得されると、共通したログイン情報を利用している複数のWebサイトに不正アクセスされる恐れがあります。


不正アクセスはユーザーが複数のWebサイトで共通するIDやパスワードを設定した場合にも起こり得るトラブルです。ログイン情報を厳重に管理するときと同じように、OIDCを導入した場合もIDトークンの発行許可は適切に行う必要があります。




まとめ


OIDC(OpenID Connect)はAPI認証を利用したアプリケーションやソフトウェアの連携に利用される規格です。ユーザーはIDやパスワードを複数のサイトに入力しなくても、APIを提供するサイトにログインするだけで別のサイトにもログインできます。OIDCはセキュリティレベルが高く、導入もしやすいことに加えてユーザーにとってもパスワードを覚えるわずらわしさがなく利便性の高い技術です。そのため、金融業界向けのAPI認証であるF-APIにも基盤にもなっています。


F-APIの利用を考えている金融業界の方には、CTCが提供するC-FAPIの利用をおすすめします。認証・認可の標準的フレームワークであるOAuth2.0とOIDCを基盤としており、APIの脆弱性を利用した不正アクセスから金融機関を守ります。



C-FAPIについて詳しくはこちら

C-FAPI


bottom of page