前回はOpenAMでOATHのTOTP認証をやりました。
今回はGoogleAuthenticatorでHOTP認証をやってみます。
※設定は前回とほとんど同じなので省略しまくってます。
HOTPの仕組みに関しては以下のリンクが詳しいです。
OSSによるアイデンティティ管理(2):不正ログインを食い止めろ! OpenAMで認証強化 (2⁄2) - @IT
参考URL↓
Configure OpenAM to use OATH for Strong Authentication - OpenAM - Confluence
1. SecretKeyの生成
任意の秘密鍵を生成し、それぞれのbase16エンコード、base32エンコードの値を取得します。
2. OpenAMの設定
アクセス制御>対象のレルム>データストア>embedded を選択してLDAPユーザ属性のroomNumberを追加します。
アクセス制御>対象のレルム>認証 のモジュールインスタンスでOATHの設定を変更
前回からの変更点は
使用するアルゴリズム→HOTP
カウンタ属性名→roomNumber
の部分です。
3. LDAPの設定
前回同様にLDAPサーバに接続して対象のユーザのtitle属性とroomNumber属性を追加・変更します。秘密鍵のbase16エンコード値をtitleに入力して、roomNumberは0を入力してください。
4. Google Authenticatorの設定
今回のQRコードのURL値は以下の形式になります。otpauth://hotp/{適当なユーザ名}@{適当なドメイン}?secret={1で作成したbase32エンコードした秘密鍵}
これをGoogle AuthenticatorのQRコードリーダで読み込ませるか、以下のように手入力でセットします。
あとは前回同様、ログイン画面でOTPコードを送信すれば認証完了となります。