サイバー攻撃が巧妙化する現在、PCやサーバーにログインするためのID(アカウント)とパスワードが漏えいすると、悪意の第三者によるなりすましのリスクが高くなります。今回は、ソフトウェアトークンを使用して、二要素で認証する方法を説明します。
ソフトウェアトークン認証(二要素認証)とは
二要素認証は「知識要素(知っている)」「所有要素(持っている)」「生体要素(人がその状態である)」といった異なる要素から 2 つの要素を組み合わせて行う認証です。
今回は次の 2 つの要素を使用して二要素認証を説明します。
- ログインID(アカウント)のパスワードを「知っている」
- 認証用デバイス(トークン)を「持っている」
認証用デバイス(トークン)には次の 2 種類があります。
- カード型や USB デバイス型等の認証専用デバイス(ハードウェアトークン)
- スマートフォンなどの汎用デバイスにインストールした認証アプリ(ソフトウェアトークン)
今回は専用ハードウェアを必要としないソフトウェアトークンを使用します。
ソフトウェアトークンの識別の仕組みとして、今回は認証を行う二者間で事前に共有した共通キー(秘密キー)を使用します。認証時に共通キーを直接使うと危険ですから、代わりに時間ベースのワンタイムパスワードを送ることにします。
時間ベースのワンタイムパスワードは、時刻と共通キーから生成されるパスワードで、一度使用するかまたは一定時間が経過すると使用できなくなります。
「時間ベースのワンタイムパスワード」が一致することをもって、認証相手は同じ共通キーつまり正しいソフトウェアトークンを「持っている」と判断できます。
本ブログでは、証跡管理 Ekran でのソフトウェアトークンの設定例および操作例を説明します。Ekranについては、こちらを参照ください。
ソフトウェアトークン認証の設定
Ekranでは、ソフトウェアトークン認証をサポートしています。今回は、ワンタイムパスワードを生成するモバイルアプリケーションとして、Google Authenticatorを使用して説明します。
ソフトウェアトークン認証を使用するユーザーの設定
Ekran管理ツールにWebブラウザでアクセスし、[クライアント管理]ページで、Ekranクライアント(エージェント)のインストールされた管理・記録対象Windows のリストを表示します。ログイン時に通常のパスワードに加えて、ソフトウェアトークンも使用したい Windowsを選択して詳細画面を開き、[認証オプション]タブでソフトウェアトークン認証を有効にします。
Ekranクライアントは、Ekranエージェントがインストールされているコンピュータになります。
次に、[アクセス管理]ページの[ソフトウェアトークン認証(TOTP)]タブを選択します。[ユーザーの追加]をクリックします。
[ユーザーの追加]ウィンドウで、ソフトウェアトークンを使用するユーザーを選択します。
ソフトウェアトークン用キーの生成と保存
[ソフトウェアトークン(TOTP)用キー]で[生成]をクリックすると、キーが生成されQRコードが表示されます。
モバイルアプリケーションGoogle Authenticatorで、生成されたソフトウェアトークン用キーを入力またはQRコードをスキャンすると、ユーザーの Google Authenticator に共通キーが保存されます。
Ekran 管理ツールの[保存]ボタンをクリックすると、共通キーが Ekran サーバーに保存されます。
時間ベースのワンタイムパスワードの生成
Ekran サーバーと、ユーザーの Google Authenticator で同一の共通キーを共有しましたので、同一の時間ベースのワンタイムパスワードを生成できるようになりました。
Google Authenticator を見てみると、6桁の数字がワンタイムパスワードとして表示されています。時間ベースのワンタイムパスワードなので、30秒間隔で更新されます。
ユーザー操作例
Windowsログイン
EkranクライアントがインストールされているWindowsマシンに、ソフトウェアトークンを使用するユーザーでログインしてみます。
ログインできれば、ユーザーがログインID(アカウント)のパスワードを「知っている」の確認に成功したことになります。 1要素目
Ekranクライアントは、Ekran管理サーバーにログインを通知します。
Ekranサーバーは、そのログインユーザーが持っているトークン(ワンタイムパスワード)の確認を要求します。
Ekranクライアントで、上画面のようなウィンドウが表示されます。
ワンタイムパスワードの入力
ユーザーは、自分が持っているスマートフォンでGoogle Authenticatorを確認します。
Google Authenticatorに表示されているワンタイムパスワードを、Ekranウィンドウに入力します。
Ekranサーバーは、「ユーザーの生成したワンタイムパスワード」と「自分(Ekranサーバー)が生成したワンタイムパスワード」を比較して、一致するなら同じ共通キーを持っている(=正しいトークンを持っている)とみなします。ユーザーが正しい認証用デバイス(トークン)を「持っている」の確認に成功したことになります。 2要素目
Ekran管理サーバーは2要素の認証に成功したので、ログインを許可します。
Windowsマシンにログインできました
さいごに
このように、ID(アカウント)とパスワードで認証した後に、ソフトウェアトークンを使用した二要素認証が可能となります。
今回は、ソフトウェアトークンによるワンタイムパスワードをご紹介しました。他にもEkranサーバーがワンタイムパスワードを生成してユーザーのメールアドレスに送付するオプションも用意しています。(ユーザーの Windowsアカウントのパスワードとユーザーのメールアカウントのパスワードの二段階認証)
Ekran 製品紹介ページ
Ekran には、この記事で紹介した以外にも機能があります。
その他の特長や機能については、それぞれの製品紹介ページをご参照ください。
Ekran 評価版
Ekranの評価版は、すべての機能を30日間無料でご利用いただけます。
評価版の利用をご希望いただく場合は、下記お問い合わせフォームから無料トライアルをお申し込みください。
お問い合わせ
購入前の Ekran に関するお問い合わせは、下記お問い合わせフォームからお問い合わせください。