Client Initiated Backchannel Authentication (CIBA)

CIBA とは

Client Initiated Backchannel Authentication (CIBA;シーバ) は OpenID Foundation によって新たに策定された、新しいタイプの認証 (authentication) および認可 (authorization) に関する仕様の一つです。

従来の「リダイレクト」ベースの OAuth / OpenID Connect とは異なる、「デカップルド・フロー(decoupled flow)」に分類されるタイプの認証・認可フローです。この仕様を使うことで、新しい方法でエンドユーザーの同意を得ることができるため、ユーザー体験の向上が期待されます。

CIBA フロー


CIBA では、消費デバイス(Consumption Device)認証デバイス(Authentication Device)の2種類のデバイスを定義しています。

CIBA フローは、消費デバイスが、対象となる OpenID Connect (OIDC) Relying Party と通信し、OIDC Identity Provider (IdP) とターゲットとなるユーザーの識別子を特定することから始まります。その後、消費デバイスは、IdP に対して、OIDC 認証リクエストを送信します。リクエストを受け取った IdP は、エンドユーザーの認証デバイスに対して、通知を送信します。エンドユーザーが認証デバイス上でリクエストを認証した後、IdP はアクセストークンやリクエストトークンを含むレスポンスを生成します。

このポイントの二つは、2つのデバイスが同一でなくてもよい (Decoupled) という点です。同じ場所になくてもかまいません。また、消費デバイスを用いてフローを開始するユーザーと、認証デバイスで認証するユーザーも同じ人物である必要がありません。そのため、従来のリダイレクトフローよりも、多様なユーザー認証・同意の仕組みを導入することが可能となります。

Authlete と CIBA

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 など)の仕様策定にも貢献しています。

Authlete を使って CIBA を実装する

こちらの記事をご参照ください。

参考文献

  1. 世界最先端の認証認可技術、実装者による『CIBA』解説
  2. Authlete API リファレンス