Upgrade to Pro — share decks privately, control downloads, hide ads and more …

HCL Domino 12.0 の新機能 - 多要素認証(TOTP)対応

HCL Domino 12.0 の新機能 - 多要素認証(TOTP)対応

HCL Domino 12.0 の新機能のひとつである、時間ベースのワンタイムパスワード(TOTP)への対応について検証しました。
2021年5月の「テクてくLotus技術者夜会」で使用した資料です。

Haruyuki Nakano

September 01, 2022
Tweet

More Decks by Haruyuki Nakano

Other Decks in Technology

Transcript

  1. トークン • OTP(ワンタイムパスワード)を生成 するもの • ハードウェアトークンに加え、スマー トフォンやWebブラウザなどで機能す るソフトウェアトークンがある • V12がサポートする

    TOTP (Time-base One-Time Password) は、RFC 6238 に準拠するトークンを発行する仕組み ※この資料では、RFC6238準拠のソフトウェアトークンを「TOTPアプリ」と呼びます
  2. ユーザーの初回操作(例) 1. TOTPアプリをスマートフォンへインストール 2. ブラウザで Domino へアクセス 新しいログイン画面が開く 3. ユーザー名とパスワードをタイプして[ログイン]を押す

    「MFAのセットアップ」が開く 4. アカウントの名前をタイプして[OK]を押す QRコードが表示される 5. スマートフォンでQRコードをスキャンする TOTPアプリの起動とアカウントの追加が自動で行われる OTP(ワンタイムパスワード:30秒ごとに更新)が表示される 6. 「MFAのセットアップ」へOTPをタイプして[検証]を押す スクラッチトークンが表示される(のでどこかへ保存しておく) 7. “トークンを安全な場所にコピーしました”にチェックを付けて[完了]を押す 再び新しいログイン画面が開く 8. ユーザー名とパスワード、MFAトークンへタイプして[ログイン]を押す Domino のアプリが開く
  3. RFC 6238 準拠の TOTP アプリ Google Authenticator の ソースコードは Github

    で公開されており、 Webベースで動く https://totp.app なんてサイトもある ※「所持情報」という意 味では外部Webサイトは NGかも…
  4. OTP有効期間「30秒」は変更可能だけど RFC6238では、OTPの有効期間(time-step size) は「30秒」を推奨している OTP有効期間は、notes.ini 設定 「TOTP_STEPSIZE=<sec>」の追加で変更できる TOTP_STEPSIZE 設定は、Google Authenticator,

    Authy, Duo Mobile では無視されたが IIJ SmartKey (左図) では反映された ※デフォルトでは前後30秒許容されているが、 NTPやGPSなどを使い定期的に日時を補正するこ とが望ましい
  5. 複数のTOTPアプリを インストールしてみた • MFA設定画面のQRコードのスクショを撮り、 それを使って何度も登録操作を実行できたが、 TOTPアプリのアカウントリストに同じアカウ ント名がいくつも追加できるアプリがあった • アカウントの追加が簡単なので何度も追加す る可能性あり。サポートするなら削除方法も

    押さえておきたい • 銀行用など既存TOTPアプリがある場合、QR コード読み込み時に銀行用TOTPアプリが自動 起動する可能性あり。指定のTOTPアプリを起 動しておいた上で、アプリの「アカウント追 加」機能から起動したカメラでQRコードを読 む、という方法がお勧め
  6. TOTPアプリの動作チェックは念入りに • OTPの有効期限を変更できないアプリあり ➢デフォルト(30秒)のまま変更しないなら無視してOK • 「無効なトークンです」で検証に失敗するアプリあり ➢TOTPアプリが対応するアルゴリズムを許容できればOK • Domino側での設定変更が反映されないアプリあり ➢Google

    Authenticator はアルゴリズムの指定を無視する[*1] • アプリの使い勝手は重要 ➢アカウントの追加(削除) ➢アカウントリストの表示名を変更可能か ➢複数アカウント(を使う場合)追加可能か *1 github: google authenticator https://github.com/google/google-authenticator/wiki/Key-Uri-Forma