Table of Contents
Client Initiated Backchannel Authentication (CIBA;シーバ) は OpenID Foundation によって新たに策定された、新しいタイプの認証 (authentication) および認可 (authorization) に関する仕様の一つです。
従来の「リダイレクト」ベースの OAuth / OpenID Connect とは異なる、「デカップルド・フロー(decoupled flow)」に分類されるタイプの認証・認可フローです。この仕様を使うことで、新しい方法でエンドユーザーの同意を得ることができるため、ユーザー体験の向上が期待されます。
CIBA では、**消費デバイス(Consumption Device)と認証デバイス(Authentication Device)**の2種類のデバイスを定義しています。
CIBA フローは、消費デバイスが、対象となる OpenID Connect (OIDC) Relying Party と通信し、OIDC Identity Provider (IdP) とターゲットとなるユーザーの識別子を特定することから始まります。その後、消費デバイスは、IdP に対して、OIDC 認証リクエストを送信します。リクエストを受け取った IdP は、エンドユーザーの認証デバイスに対して、通知を送信します。エンドユーザーが認証デバイス上でリクエストを認証した後、IdP はアクセストークンやリクエストトークンを含むレスポンスを生成します。
このポイントの二つは、2つのデバイスが同一でなくてもよい (Decoupled) という点です。同じ場所になくてもかまいません。また、消費デバイスを用いてフローを開始するユーザーと、認証デバイスで認証するユーザーも同じ人物である必要がありません。そのため、従来のリダイレクトフローよりも、多様なユーザー認証・同意の仕組みを導入することが可能となります。
<img src="/img/news/oidc_certification.png" class=“mx-auto d-block” style=“width: 100%; max-width: 200px;” alt=“OIDF Certified Mark” />
Authlete は CIBA 対応ソリューションのパイオニアです。2019年2月に CIBA Core 1.0 に実装を完了し、 Financial-grade API Client Initiated Backchannel Authentication Profile (FAPI-CIBA) conformance profiles も2019年9月の認定プログラム提供開始直後より取得しています。
実装だけでなく、CIBA Core や関連仕様(FAPI -CIBA Profile など)の仕様策定にも貢献しています。
こちらの記事をご参照ください。