2014-07-24

OpenAMでHOTP認証してみる【GoogleAuthenticator編】

前回はOpenAMでOATHのTOTP認証をやりました。

今回はGoogleAuthenticatorでHOTP認証をやってみます。

※設定は前回とほとんど同じなので省略しまくってます。

 

HOTPの仕組みに関しては以下のリンクが詳しいです。

OSSによるアイデンティティ管理(2):不正ログインを食い止めろ! OpenAMで認証強化 (22) - @IT

 

参考URL↓

Configure OpenAM to use OATH for Strong Authentication - OpenAM - Confluence 

 

1. SecretKeyの生成

任意の秘密鍵を生成し、それぞれのbase16エンコード、base32エンコードの値を取得します。

 

2. OpenAMの設定

アクセス制御>対象のレルム>データストア>embedded を選択して

LDAPユーザ属性のroomNumberを追加します。

openam-ldapsetting4

アクセス制御>対象のレルム>認証 のモジュールインスタンスでOATHの設定を変更

openam-hotp-setting

前回からの変更点は

使用するアルゴリズム→HOTP

カウンタ属性名→roomNumber

の部分です。

 

3. LDAPの設定

前回同様にLDAPサーバに接続して対象のユーザのtitle属性とroomNumber属性を追加・変更します。

ads-ldap-hotp

秘密鍵のbase16エンコード値をtitleに入力して、roomNumberは0を入力してください。

 

4. Google Authenticatorの設定

今回のQRコードのURL値は以下の形式になります。

otpauth://hotp/{適当なユーザ名}@{適当なドメイン}?secret={1で作成したbase32エンコードした秘密鍵}

これをGoogle AuthenticatorのQRコードリーダで読み込ませるか、以下のように手入力でセットします。

googleauthenticator-hotp-manual

 

あとは前回同様、ログイン画面でOTPコードを送信すれば認証完了となります。

このエントリーをはてなブックマークに追加