Slide 1

Slide 1 text

(続) Domino V12 新機能 テクてくLotus技術者夜会 2021年5月21日 中野晴幸 (HCL Ambassador)

Slide 2

Slide 2 text

多要素認証 TOTP(時間ベースのワンタイム パスワード)

Slide 3

Slide 3 text

認証の3要素 2つ以上の組合せ 知識情報 • パスワード • PINコード 所持情報 • スマートフォン • トークン 生体情報 • 顔 • 指紋 多要素認証

Slide 4

Slide 4 text

V12の多要素認証 知識情報 • パスワード 所持情報 • トークン 生体情報

Slide 5

Slide 5 text

トークン • OTP(ワンタイムパスワード)を生成 するもの • ハードウェアトークンに加え、スマー トフォンやWebブラウザなどで機能す るソフトウェアトークンがある • V12がサポートする TOTP (Time-base One-Time Password) は、RFC 6238 に準拠するトークンを発行する仕組み ※この資料では、RFC6238準拠のソフトウェアトークンを「TOTPアプリ」と呼びます

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

RFC 6238 準拠の TOTP アプリ Google Authenticator の ソースコードは Github で公開されており、 Webベースで動く https://totp.app なんてサイトもある ※「所持情報」という意 味では外部Webサイトは NGかも…

Slide 8

Slide 8 text

新しいログイン画面 新しい DOMCFG.ntf に MFA用のログイン フォームがある “MFAトークン”は初回 は何も入力せずに [ログイン]を押す

Slide 9

Slide 9 text

多要素認証の設定の流れ TOTPアプリ “多要素認証の設定”、 “MFAのセットアップ”、 どちらかに統一してほしい

Slide 10

Slide 10 text

ステップ 1. アカウントの名前入力 入力可能文字は 2~23文字の英数字 ハイフン”-” アンダースコア “_” スペースやピリオド、アポスト ロフィーは使えない アカウントの名前は TOTPアプリで リスト上に表示された TOTPアプリ

Slide 11

Slide 11 text

ステップ2. アプリケーションの構成 TOTP アプリへの登録を自動化するためのQRコードが表 示される TOTPアプリでQRコードを読み込むと、TOTPアプリの アカウントリストに追加される QRコードを読み込んで表示されたトークンで検証が失敗 する場合、TOTP URI 文字列にある42桁の「secret」を アプリ側に「キー」 (アプリによって言葉が違う)とし てタイプすると成功することがあった

Slide 12

Slide 12 text

TOTPアプリのひとつ Duo Mobile でアカウント追加する場合 「アカウントの追加」を押す 「カメラへのアクセス」許可し てQRコードを撮影 OTP (30秒ごとに更新)

Slide 13

Slide 13 text

ステップ3. スクラッチトークンをコピー して保存 スクラッチトークンは、TOTPアプリが発行するOTPの代わりに使 用できる スマホの不調等でTOTPアプリを使用できないときに使用できる 10個のOTPを表示する(個数の変更はできない) スクラッチトークンのメール送信も可能(サーバー設定文書で設 定:デフォルトは無効)だが、この画面は送信を有効にしても表示 される スクラッチトークンを許可しない(デフォルトは許可する)場合、 この画面を表示せずにログイン画面になる “スクラッチコード”、 “スクラッチトークン”、 どちらかに統一してほしい

Slide 14

Slide 14 text

次回以降の操作(例) 1. ブラウザで Domino アプリへアクセス 新しいログイン画面が開く 2. スマートフォンでTOTPアプリを起動 OTP(ワンタイムパスワード:30秒ごとに更新)が表示される 3. ユーザー名とパスワード、MFAトークン(TOTPアプリが表 示しているOTP)をタイプして[ログイン]を押す Domino アプリが開く

Slide 15

Slide 15 text

新しいログイン画面とTOTPアプリ 30秒の カウントダウン表示

Slide 16

Slide 16 text

OTP有効期間「30秒」は変更可能だけど RFC6238では、OTPの有効期間(time-step size) は「30秒」を推奨している OTP有効期間は、notes.ini 設定 「TOTP_STEPSIZE=」の追加で変更できる TOTP_STEPSIZE 設定は、Google Authenticator, Authy, Duo Mobile では無視されたが IIJ SmartKey (左図) では反映された ※デフォルトでは前後30秒許容されているが、 NTPやGPSなどを使い定期的に日時を補正するこ とが望ましい

Slide 17

Slide 17 text

TOTP対応にIDボールトが必要 • OTPは、多要素認証の設定で読み込んだQRコードに含まれる 「TOTP URI」文字列から派生している • このURIは、TOTP認証の設定時にボールトサーバーがユーザー の為に作成するもので、秘密鍵、ハッシュアルゴリズム、OTP の長さ、有効期限などの情報を含んでいる • URIがユーザーのIDボールトの文書に保存されるため、TOTP認 証を使用するユーザーはIDボールトに登録されていることが必 要 • 既存のIDボールトDBは、新しいテンプレートで設計置換が必 要

Slide 18

Slide 18 text

IDボールトDB TOTP関連情報

Slide 19

Slide 19 text

ユーザーのTOTP情報のリセット 「MFAのセットアップ」を ユーザー側で再び実施可能に

Slide 20

Slide 20 text

リセット後の再セットアップ TOTPアプリとの相性あり? 再セットアップに成功 • Google Authenticator • IIJ SecureKey 「無効なトークン」と表示され失敗 • Duo Mobile • Authy デフォルトのアルゴリ ズム「SHA256」を 「SHA1」へ変更後、失 敗しなくなった

Slide 21

Slide 21 text

複数のTOTPアプリを インストールしてみた • MFA設定画面のQRコードのスクショを撮り、 それを使って何度も登録操作を実行できたが、 TOTPアプリのアカウントリストに同じアカウ ント名がいくつも追加できるアプリがあった • アカウントの追加が簡単なので何度も追加す る可能性あり。サポートするなら削除方法も 押さえておきたい • 銀行用など既存TOTPアプリがある場合、QR コード読み込み時に銀行用TOTPアプリが自動 起動する可能性あり。指定のTOTPアプリを起 動しておいた上で、アプリの「アカウント追 加」機能から起動したカメラでQRコードを読 む、という方法がお勧め

Slide 22

Slide 22 text

TOTPアプリの動作チェックは念入りに • OTPの有効期限を変更できないアプリあり ➢デフォルト(30秒)のまま変更しないなら無視してOK • 「無効なトークンです」で検証に失敗するアプリあり ➢TOTPアプリが対応するアルゴリズムを許容できればOK • Domino側での設定変更が反映されないアプリあり ➢Google Authenticator はアルゴリズムの指定を無視する[*1] • アプリの使い勝手は重要 ➢アカウントの追加(削除) ➢アカウントリストの表示名を変更可能か ➢複数アカウント(を使う場合)追加可能か *1 github: google authenticator https://github.com/google/google-authenticator/wiki/Key-Uri-Forma

Slide 23

Slide 23 text

スライドの最後