SSOのトラストサークルにPasskey認証を組み込む

1 はじめに

数多くのクラウドサービスや社内システムを利用する中、企業の財産・知財を保護するため、世界中で「ゼロトラストセキュリティ」が重要視されています。利用するアプリケーションを組織内で安全に運用するため、シングルサインオン(以降、SSO)という仕組みで連携することが重要です。SSOで連携したアプリケーション同士の認証方式に従来のパスワード認証を採用してしまうと、なりすましやアカウントの乗っ取りなどのリスクが高まります。また、”パスワード忘れ”時のパスワードリセット作業など、アカウント管理に膨大なコストを費やすことになります。

今回の記事では、SSOの認証をDAuthと連携し、Passkey※1 と呼ばれるパスワードレス認証を組み込む方法をご紹介します。

※1 Passkeyは従来のパスワード認証に取って代わり、簡単で安全に認証できる仕組みを各種デバイスのOSレベルで実装するというものです。Passkeyの認証にはWeb Authentication(単に、WebAuthn)という仕組みが使われます。

詳細は『Passkeysがもたらす認証の未来』の記事を参照ください。

2 SSOの構成

シングルサインオンの構成要素は、Service Provider(以降、SP)と呼ばれるアプリケーションサービスと、ユーザー情報を管理し、認証処理を担うIdentity Provider(IdP)が連携して、トラストサークル(trust of circle)を構成します。

SSO(SAML2.0)構成例

通常、トラストサークルに連携されるSPは、Passkeyの認証を実装していない場合がほとんどです。トラストサークルの認証をカスタマイズする場合は、IdPを用いて認証をカスタマイズします。

今回は、トラストサークルの認証に、Passkeyを利用したパスワードレス認証を組み込むことがテーマとなります。IdPがDAuthと連携することで、Passkey認証が実装可能となります。

3 IdPの実装について

SSOのトラストサークルで認証を担うのはIdPです。エンジンの拡張性、安定性、信頼性を考慮し、Keycloak(キークローク)をIdPとしてチョイスしています。Keycloakは、Javaで記述されたSSOやID管理を提供するオープンソースソフトウェア製品です。

Keycloakはとても柔軟なシステムで、さまざまな部分でSPIと言う仕組みがあり、容易に独自拡張することができます。

今回は、Authenticator SPIを利用し、Passkey認証をDAuthを用いて処理する部品を実装し、Keycloakのカスタム認証を追加しました。

Service Provider(SP)との連携

これにより、SSOのトラストサークルで、Passkeyによる認証が利用できるようになります。

Passkeyは、FIDO2(Fast IDentity Online)のプロトコル仕様に基づいているため、利用者がパスワードレスでかつ、非常に信頼性の高い認証を利用することが可能となります。

4 Dauthへの期待

今回は、DAuthのFIDO2プロトコルを利用し、SSOの認証でPasskey認証を利用する例を紹介しました。

その他、DAuthの認証ではPasskey以外のさまざまなデバイス認証を実装しています。DAuthの利用で個々の環境に応じた認証を組み合わせることが可能です。さらには、Low-Code開発などのフレームワークと組み合わせると認証以外にも高度で安全なソリューションを提供することが可能です。

今後はそのような実装例を紹介できればと考えています。

5 まとめ

本コラムを最後まで読んでいただき、誠にありがとうございます。今後、SSOを取り巻くトラストサークル内で認証環境をどのように構築するかが重要なポイントとなります。

クラウドサービスへの移行や連携で企業の財産・知財を守ることは非常に重要です。認証環境を構築する際のアイデアやヒントになれば幸いです。

このコラムにコメントする

コメントは承認制とさせていただいているため、反映まで少しお時間をいただきます。あらかじめご了承ください。

コラム一覧

お見積り・導入に関する
ご質問・サービスの詳細など
ご不明な点は
お気軽にお問い合わせください