こんにちは。
リーデックス小川です。
サイバー攻撃の増加に伴い、セキュリティーの観点でパスワード認証だけでは不十分な状況になっています。
プリザンターに重要な情報が保存されていることも多く、デフォルトのパスワード認証に追加して、他の認証方法も検討する機会が増えてきています。
この記事では、プリザンターでも利用できるTOTP(Time-based One-Time Password)の仕組みや導入メリット、導入方法についてまとめていきます。
TOTP認証とは?
TOTP(Time-based One-Time Password)は、時刻に基づいて生成される使い捨てパスワードを活用した認証方式です。一定時間ごとに新しいコードが生成され、コードは短期間しか有効でない(一般的に30秒~1分程度)ため、安全性が非常に高いのが特徴です。
なお、プリザンターはメールによる2段階認証も設定可能です。以前ブログにしていますので、ご興味のある方は下記記事を参考にしてください。
TOTP導入のメリット
TOTP認証のメリットは下記のようなものがあります。
- セキュリティ強化
パスワードが漏洩しても、TOTPコードがなければ不正にアクセスすることが難しくなります。 - オフライン環境でも動作可能
TOTPコードはスマートフォンなどのデバイスで生成されるため、ネット接続がなくても利用可能です。 - 複数のアプリで利用
Google AuthenticatorやMicrosoft Authenticatorなど、複数の認証アプリが対応しているため導入が容易です。 - コスト削減
専用のハードウェアトークンを必要とせず、無料のアプリを利用できるため、コストを低減したうえでセキュリティーを高めることが可能です。
プリザンターでの設定
それでは、プリザンターでの設定してみましょう。
Security.jsonのSecondaryAuthenticationパラメータで有効化する
パラメータファイルSecurity.jsonのSecondaryAuthenticationを有効化します。具体的には下記のような設定を行います。
"SecondaryAuthentication": { "Mode": "DefaultEnable", "NotificationType": "Totp", "CountTolerances": 1, "NotificationMailBcc": false, "AuthenticationCodeCharacterType": "Number", "AuthenticationCodeLength": 8, "AuthenticationCodeExpirationPeriod": 300 },
各パラメータは下記を参考にしてください。
| パラメータ名 | 設定例 | 説明 |
|---|---|---|
| Mode | "DefaultEnable" | 2段階認証機能の利用を設定します。 |
| NotificationType | "Totp" | 認証方式を設定します。"Mail"または"Totp"が設定可能です。※2 |
| CountTolerances | 1 | TOTP認証時、有効とする確認コードの世代数を指定します。※2 |
| NotificationMailBcc | true | 認証コードをSupportFromのアドレスにBCCで送付するかどうかをtrue/falseで設定します。 |
| AuthenticationCodeCharacterType | "Number" | 認証コードの文字種を設定します。(Number: 数字のみ、Letter: 英字のみ、NumberAndLetter: 数字と英字) |
| AuthenticationCodeLength | 8 | 文字数を設定します。 |
| AuthenticationCodeExpirationPeriod | 300 | 認証コードの有効時間を秒単位で設定します。 |
その他の設定については「TOTP(Time-based One-Time Password)による二段階認証を有効にする」を参照ください。
認証用の端末にTOTP認証に対応したアプリケーションをインストールする
Google AuthenticatorやMicrosoft Authenticatorなどの認証アプリをスマホにインストールしてください。
TOTP認証のログインを試す
TOTP認証を有効にすると、通常のID/パスワードを入力後に確認コードの入力画面へ移動します。

初回ログイン時には、下図の様にQRコードが表示されます。

スマホの認証アプリでQRコードを読み取り、表示されている数値を入力します。
二回目以降は、確認コードのみとなります。

注意点と運用のコツ
- 時刻の同期が重要
TOTPは時刻ベースの認証方式のため、ユーザーのデバイスとサーバーの時刻が一致している必要があります。サーバとスマホの時刻が30秒以上違うとログインできないことがありますので、注意しましょう。 - バックアップコードの準備
ユーザごとのメールアドレスを設定しておきましょう。万が一スマホを紛失した場合でもメールアドレスでログインすることができます。
まとめ
今回はTOTP認証についての概要と、プリザンターへの導入について紹介しました。
簡単に導入ができ、セキュリティーを上げることができますので、インターネット上からプリザンターにログインする環境の場合は導入を検討してみても良いかもしれません。
弊社では、スクリプトやスタイルを利用したカスタマイズについてご支援させていただいております。スクリプトについて相談したい、業務を改善のために実現したい機能がある、や、本記事や過去の記事のスクリプトを応用したい、などありましたら、お気軽にお問合せください。
それでは、今回はこの辺で。
最後までご覧いただき、ありがとうございました。