Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

元ネタ: https://github.com/korteke/Shibboleth-IdP3-TOTP-Auth

...

1. はじめに

Google Authenticatorなど、TOTPに対応したデバイス/アプリのワンタイムパスワードを追加で必要とするように変更します。

動作確認にはTOTPに対応したデバイスもしくはアプリが必要です。


...

2. 実習セミナーでは

以下の手順で作業を進めてください。

「3.手順書」記載のページのreleasesタブから totpauth-impl-NNN-bin.zip をダウンロード、展開。

...

conf/authn/general-authn.xmlの <util:list id="shibboleth.AvailableAuthenticationFlows"> の子要素として以下を挿入します。TOTPの優先順位を高くしたければ先頭に挿入してください。 の子要素として以下を挿入します。TOTPの優先順位を高くするためには先頭に挿入してください。

Code Block
languagexml
        <bean id="authn/Totp" parent="shibboleth.AuthenticationFlow"
                p:passiveAuthenticationSupported="true"
                p:forcedAuthenticationSupported="true">
            <property name="supportedPrincipals">
                <util:list>
                    <bean parent="shibboleth.SAML2AuthnContextClassRef"
                        c:classRef="urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken" />
                </util:list>
            </property>
        </bean>

...

最後に、Tomcatを起動したまま/opt/shibboleth-idp/bin/build.shを実行し、WARファイル再作成およびデプロイします。


...

3. 手順書

以下は、利用するTOTPプラグインの開発元のURLです。手順の詳細にご興味がある方はご参照ください。
Shibboleth IdPバージョン3.2対応のものであるため、3.3以降に対応するためには上記の追加手順が必要となります。


参考: https://github.com/korteke/Shibboleth-IdP3-TOTP-Auth



...

4. 動作確認

以下が登録手順です。

  1. 接続確認用SPから各自が使用するIdPを選択します。(どのSPからの認証要求でもTOTP認証フローが実行されます)
  2. 第一画面は通常と変わりませんので、通常のUsername/Passwordを入力して次に進みます。
  3. "Token code"というワンタイムパスワードを入力する画面になりますが、まだ登録していませんので下の"Register a new Token"ボタンをクリックします。
  4. TOTP対応アプリ(例: Google Authenticator)を起動します。
  5. 「設定を開始」をタップします。
  6. 「バーコードをスキャン」をタップします。
  7. 登録画面に表示されているQRコードを読み取ります。
  8. 登録後に数字6桁のワンタイムパスワードが表示されますので、IdPのQRコードの下にある"Token code"欄に入力し"Register"ボタンをクリックします。

以下が動作確認手順です。

  1. 上記登録直後はワンタイムパスワード入力画面になりますが、入力せずに、再度接続確認用SPから各自が使用するIdPを選択します。
  2. 第一画面は通常と変わりませんので、通常のUsername/Passwordを入力して次に進みます。
  3. "Token code"というワンタイムパスワードを入力する画面になりますので、TOTP対応アプリ/デバイスに表示されている数字6桁のワンタイムパスワードを入力して次に進みます。
  4. 通常通り送信属性同意画面および属性受信の確認ページが表示されれば動作確認完了です。