Jump to content 日本-日本語
日本HPホーム 製品 & サービス サポート & ドライバー ソリューション ご購入方法
≫  お問い合わせ

ソフトウェア  >  セキュリティ

HP IceWall SSO と VASCO DIGIPASS (ワンタイムパスワード)との連携

HP IceWall ソフトウェア

お問い合わせ
サポート
導入サービス
技術レポート
IceWallニュース
オンラインデモ
デモセンター
カタログ
イベント・セミナー情報
HP IceWall SSO
HP IceWall Identity Manager
HP IceWall Federation
HP IceWall MCRP
HP IceWall Remote Configuration Manager
HP IceWall File Manager
HP IceWall QFS
IceWall サイトマップ
HP IceWall SSO(English)
HP IceWall Federation(English)
HP IceWall Remote Configuration Manager(English)
日本HP セキュリティページ
日本HP メールニュース
日本HP サイトマップ
IceWallについてのお問い合わせ 0120-436-555
※HP IceWall SSO は株式会社SCCとの共同開発製品です。
コンテンツに進む

1.はじめに

認証を強化する一つの方法として、ワンタイムパスワードの導入があります。このレポートでは、HP IceWall SSOに、ワンタイムパスワードによる認証機能を追加する方法についてご紹介します。ワンタイムパスワードの生成、検証にはVASCO Data Security(※1)のDIGIPASS・VACMAN Controllerを使用しています。

このレポートでは以降、ワンタイムパスワード(One Time Password)を「OTP」と表記します。
(※1)詳細はこちらをご覧下さい

2.VASCO Data SecurityのDIGIPASSとVACMAN Controller

2.1 DIGIPASS

DIGIPASSは、VASCO Data Securityが製造販売する認証トークンの総称です。ユーザーがDIGIPASSのボタンを押すと、OTPが生成され、6けたの数字(※2)が液晶画面に表示されます。DIGIPASSは全世界でトップシェアを誇り、金融業界・企業内ユースを中心に使われているセキュティが高い製品です。ハードウェアトークンの他に、携帯電話上で動作するソフトウェアトークンもあります。

(※2)運用により異なります。
DIGIPASSの例
DIGIPASSの例

2.2 VACMAN Controller

VACMAN ControllerはOTPを検証するライブラリプログラム(※3)です。すでに100を超える製品に統合されており、また、約1350(※4)の金融機関および9000(※4)の企業で採用されています。VACMAN Controllerの概要を下図に示します。

(※3)VACMAN Controllerは、他にもDIGIPASSデータのインポート、チャレンジ/レスポンス、デジタル署名などに対応しています。
(※4)2010年4月時点
VACMAN Controller1

No

内容

(1) アプリケーションは、OTPを引数としてVACMAN Controllerを呼び出します。
(2) VACMAN Controllerは、OTPの検証結果を返します。
実際には、VACMAN ControllerがOTPを検証するには、OTPの他に「DIGIPASSデータ」も必要です。「DIGIPASSデータ」とは、それぞれのDIGIPASSに対応する248バイトのデータで、DIGIPASSとシステム時刻とのずれ情報などを格納しています。処理の流れを下図に示します。
VACMAN Controller2

No

内容

(1) アプリケーションは、それぞれのDIGIPASSに結びついたDIGIPASSデータをデータベースから取得します。
(2) アプリケーションは、OTP、DIGIPASSデータをVACMAN Controllerに渡します。
(3) VACMAN Controllerは、OTPの検証結果を返します。また、新しいDIGIPASSデータ(※)を返します。
(4) アプリケーションは、VACMAN Controllerが返した、新しいDIGIPASSデータをデータベースに反映します。
※VACMAN Controllerは、OTPを検証する度に、DIGIPASSデータに格納されている時刻のずれ情報などを更新します。

3.HP IceWall SSOとの連携

3.1 運用シナリオ

OTPによる運用には、さまざまな方法があります。このレポートでは、以下を運用シナリオとして説明します。
  • ユーザーには、以下の「PWDユーザー」と「OTPユーザー」が存在する。
    • PWDユーザー:ユーザーIDとパスワードでログインするユーザー
    • OTPユーザー:ユーザーIDとOTPでログインするユーザー
  • ユーザーは、「PWDユーザー」か「OTPユーザー」のどちらかに属する。
  • 「PWDユーザー」と「OTPユーザー」が混在して、同じWEBシステムを利用する。

3.2 システム構成

以下にシステム構成を示します。赤い部分は、HP IceWall SSOをOTPに対応するために、追加した部分を示します。
VACMAN Controller2
このレポートでは、OTPを検証する「OTP検証サーバー」を用意します。UserExitプログラムは、この「OTP検証サーバー」をHTTP経由で呼び出し、OTPを検証します。

OTPの検証をUserExitプログラム内で処理せずに、外部の「OTP検証サーバー」で実行している理由は以下です。
  • UserExitプログラム内の処理を少なくする。
  • UserExitプログラム内で使用するDBクライアントライブラリと、認証モジュールが使用するDBクライアントライブラリとの衝突を避ける。
  • DBへのコネクションプールを利用できる。

3.3 ワンタイムパスワードに対応する方法

標準のHP IceWall SSOには、OTPを使って認証を行う機能がありません。このため、OTPに対応するための設定が必要です。このレポートでは、認証DBにダミーのパスワードを登録し、認証モジュールにUserExitプログラムを組み込むことで実現します。
  1. 認証DBに登録するDIGIPASSデータとパスワード

  2. DIGIPASSをユーザーに配布する際、DIGIPASSデータを、下図のように認証DBに格納しておきます。
認証DBに登録するDIGIPASSデータとパスワード
※OTPユーザーには、パスワードとして「DUMMY」(固定値)を格納しておきます。
  1. UserExitプログラム内の処理

  2. UserExitプログラムは、認証モジュールから複数の異なるタイミングでコールされます。OTPに対応するためには、受信したユーザーIDとパスワードを認証DB内のものと比較する直前にコールされる、「ログイン前」UserExitプログラムを作成する必要があります。「ログイン前」UserExitプログラムでは、ユーザーが送信してきたユーザーIDとパスワードを強制的に書き換えることができます。

OTPに対応するために作成したUserExitプログラム内の処理内容を下図に示します。UserExitプログラムは、OTPの検証をOTP検証サーバーに依頼します。次に、UserExitプログラムは、この検証結果に応じて、ユーザーがパスワードとして送信したOTPを、強制的に書き換えます。

OTP検証
サーバーの
結果

UserExitプログラムの実行内容

UserExitプログラム実行後の、
認証モジュールの処理結果

OKの場合 UserExitプログラムは、ユーザーがパスワードとして送信したOTPを「DUMMY」に書き換える。 認証モジュールは、ユーザーが入力したパスワードと、認証DBに格納されているパスワードが一致と判定する。(※)
NGの場合 UserExitプログラムは、ユーザーがパスワードとして送信したOTPを「@」に書き換える。 認証モジュールは、ユーザーが入力したパスワードと、認証DBに格納されているパスワードが不一致と判定する。(※)
※認証DBのパスワードカラムには、事前に「DUMMY」が格納されているため。
認証モジュール(UserExitプログラムを含む)の処理フロー
認証モジュール(UserExitプログラムを含む)の処理フロー
  1. OTP検証サーバーの処理

  2. OTP検証サーバーは、「2.2 VACMAN Controller」で説明した処理を実行します。

3.4 処理の流れ

ログイン画面を下図に示します。
ログイン画面
  • PWDユーザーは、左側のフォームに「ユーザーID」と「パスワード」を入力します。
  • OTPユーザーは、右側のフォームに「ユーザーID」とDIGIPASSで生成したOTPを入力します。
OTPユーザーの処理の流れを、下図で説明します。赤い部分は、HP IceWall SSOをOTPに対応するために、追加した部分を示します。
OTPユーザーの処理の流れ
OTPユーザーの処理の流れ(OTP)。赤い部分は、HP IceWall SSOをOTPに対応するために、追加した部分を示します。

No

内容

OTPユーザーは、ユーザーIDと、パスワードとしてOTPをフォームに入力後、「ログイン」ボタンを押します。
フォワーダは、ユーザーID、パスワードとしてOTPを受信します。
③④ 認証モジュールは、ユーザーID、パスワードとしてOTPを受信します。
⑤⑥ UserExitプログラムは、OTP検証サーバーにユーザーIDとOTPをHTTPで送信します。
⑦⑧ OTP検証サーバーは、ユーザーIDを検索キーとして、DIGIPASSデータを取得します。
OTP検証サーバーは、VACMAN Controllerに、OTPとDIGIPASSデータを引数として、関数呼び出しします。
⑩⑪ VACMAN ControllerはOTPを検証し、結果(OKまたはNG)を返します。また、同時に新しいDIGIPASSデータを返します。
OTP検証サーバーは、認証DB上のDIGIPASSデータを、新しいDIGIPASSデータに更新します。
OTP検証サーバーは、検証結果(OKまたはNG)をHTTPのレスポンスとして返します。
UserExitプログラムは、OTPの検証結果がOKの場合、フォワーダから受信したパスワードを「DUMMY」に変更します。検証結果がNGの場合、パスワードを「@」に変更します。
認証モジュールは、認証DBからユーザーIDを検索キーとして、パスワード(DUMMY)を取得します。
Jの結果がOKの場合、パスワードはデータベース値と一致します。Jの結果がNGの場合、パスワードは一致しません。認証モジュールは、パスワードが一致した場合、認証を許可し、セッションIDを発行します。
認証モジュールは、フォワーダにセッションIDを返します。認証を許可しなかった場合、エラー画面番号をフォワーダに返します。

3.5 注意点

このレポートで説明した方法の注意点を以下に示します。
  • OTP検証処理を追加しているため、パスワード認証時と比べてログイン時の応答性能が悪くなる場合があります。
  • このレポートでは説明していませんが、OTP検証サーバーの二重化を考慮する必要があります。
  • 認証DBを二重化している場合、認証モジュールとOTP検証サーバーが接続する認証DBを一致させるなどの考慮が必要です。

3.6 管理機能

ここまでは認証機能について説明しました。実際の運用では、以下の機能も必要になります。
  • ユーザーデータの登録、削除
  • ログインのロック、アンロック
  • DIGIPASSデータの登録、削除
これらはHP IceWall SSOでは範囲外の機能であるため、このレポートでは説明しません。ユーザーデータの管理には、HP IceWall Identity Managerが使用できます。
DIGIPASSデータの管理は、VACMAN Controllerに付属するサンプルのWEBアプリケーションを参考にできます。

3.7 携帯端末への対応

HP IceWall SSOはクッキーを使用できないiモード端末にも対応しています。このため、携帯端末用のWEBサイトでも上記の方法が使えます。

4.まとめ

このレポートでは、VACMAN ControllerとHP IceWall SSOを連携することで、HP IceWall SSOでOTPによる認証を実現できることを説明しました。また、その構成例と注意点についても説明しました。

DIGIPASSおよびVACMANは、VASCO Data Securityの登録商標です。
※RSA SecurIDの連携との連携については、こちらをご参照ください。
2009.9.11 日本HP テクノロジーサービス統括本部 テクニカルコンサルタント 米川 和利
≫ 技術レポート一覧へ戻る
このページのトップへ
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項 ウェブマスターに連絡