[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5993285B2 - ユーザ認証装置及びユーザ認証プログラム - Google Patents

ユーザ認証装置及びユーザ認証プログラム Download PDF

Info

Publication number
JP5993285B2
JP5993285B2 JP2012248523A JP2012248523A JP5993285B2 JP 5993285 B2 JP5993285 B2 JP 5993285B2 JP 2012248523 A JP2012248523 A JP 2012248523A JP 2012248523 A JP2012248523 A JP 2012248523A JP 5993285 B2 JP5993285 B2 JP 5993285B2
Authority
JP
Japan
Prior art keywords
terminal
information
user
salt value
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012248523A
Other languages
English (en)
Other versions
JP2014096101A (ja
Inventor
隆也 嘉藤
隆也 嘉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MUFG Bank Ltd
Original Assignee
Bank of Tokyo Mitsubishi UFJ Trust Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of Tokyo Mitsubishi UFJ Trust Co filed Critical Bank of Tokyo Mitsubishi UFJ Trust Co
Priority to JP2012248523A priority Critical patent/JP5993285B2/ja
Publication of JP2014096101A publication Critical patent/JP2014096101A/ja
Application granted granted Critical
Publication of JP5993285B2 publication Critical patent/JP5993285B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ユーザ認証装置及びプログラムに係り、特に、クライアント端末を操作している操作者が予め登録されているユーザか否かを認証するためのユーザ認証装置及びコンピュータを前記ユーザ認証装置として機能させるためのユーザ認証プログラムに、関する。
予め登録したユーザに対してオンラインで所定のサービスを提供するウェブサイトでは、ネットワークを介してウェブサイトにアクセスしてきた端末の操作者にユーザID及びパスワードを入力させ、入力されたユーザIDとパスワードの組合わせがデータベースに登録されているか否かに基づいて、アクセスしてきた端末の操作者が予め登録されたユーザか否かを確認するユーザ認証方法が採用されることが、一般的である。
しかし、上記のユーザ認証方法は、ユーザが操作する端末の個性には依存しないので、仮にユーザIDとパスワードが他者へ漏洩してしまった場合に、ユーザが漏洩に気付く前に、ユーザIDとパスワードを知った者が正当なユーザになりすまして不正にアクセスすることが可能になってしまうという欠点がある。
これに関連して、非特許文献1には、認証サーバを運用する認証業者との間で契約を交わしたユーザに対し、内部クロックによって生成した時刻及び機器識別情報に対して所定のパスワード生成アルゴリズムに従った変換を施すことによってパスワード(ワンタイムパスワード)を生成するスタンドアローンなハードウェア(ハードウェアトークン)を交付するとともに、当該ユーザのID(ユーザID)に対応付けて上記機器識別情報を認証サーバに格納しておき、ハードウェアトークンが最新に生成したワンタイムパスワードとユーザIDが端末から認証サーバへ送信されると、認証サーバが、受信したユーザIDに対応付けて格納している機器識別情報及び現在時刻に対して上記パスワード生成アルゴリズムに従った変換を施すことによってワンタイムパスワードを再現し、当該ワンタイムパスワードと端末から受信したワンタイムパスワードが一致していると、当該端末の操作者が上記ユーザであることを認証し、ユーザが指定する他の業者等に対して証明を行う技術が、記載されている。
一方、ワンタイムパスワードの生成方式として、上述した方式(時刻同期方式)の他、チャレンジ・レスポンス方式が知られている。このチャレンジ・レスポンス方式とは、1回のログイン毎に、認証サーバから端末に対してチャレンジと呼ばれるワンタイムパスワード生成パラメータを送信し、端末は、受信したチャレンジを入力としてレスポンスと呼ばれるワンタイムパスワードを生成し、認証サーバへ送信し、認証サーバは、チャレンジに基づいてユーザが送信すべきレスポンスを算出し、端末から受信したレスポンスと照合して認証処理を行う技術である。
上述した非特許文献1に記載された時刻同期方式の認証方法によると、ワンタイムパスワード生成の基礎となるパラメータは二つだけ(機器識別情報及び現在時刻)であるので、セキュリティ強度(ハ―ドウェアトークンの偽造の困難性)が比較的低いという問題が、認識されるようになった。
そこで、非特許文献2には、時刻同期方式とチャレンジレスポンス方式とを組み合わせ、ワンタイムパスワード生成アルゴリズムとして機器識別情報及び現在時刻の他にソルト値(認証情報を生成する為のパラメータであり、従来、主に乱数が充てられていたもの)を要求するものを採用し、ハードウェアトークンにソルト値入力用のキーボードを追加し、認証サーバがユーザ毎にソルト値を生成して、ユーザからの要求に応じてソルト値を認証サーバから端末へ送信するとともに、当該ユーザのユーザID及び機器識別情報に対応付けて認証サーバに格納し、その後、端末からワンタイムパスワードが送信されてくると、格納しておいたソルト値及び機器識別情報並びに現在時刻に基づいてワンタイムパスワードを生成し、両ワンタイムパスワードが一致するか否かに基づいて認証処理を行う技術が、開示されている。
"正しい認証方式の選び方ハンドブック"、[online]、平成24年8月、RSAセキュリティ株式会社、[平成24年10月26日検索]、インターネット〈URL:http://japan.rsa.com/japan/pdf/products/SID/AuthHandBook.pdf〉 "Tele-IDv.6.2 FIPS 140-2 Non-Proprietary Security Policy"、[online]、平成19年、Encotone Ltd.、[平成24年10月26日検索]、インターネット〈URL:http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp417.pdf〉
特許文献2に記載の技術によると、ソルト値は、ネットワークを通じて認証サーバから端末へ送信されるので、悪意のある第三者(中間攻撃者)によって傍受され易く、よって、総合的なセキュリティ強度(ハ―ドウェアトークンの偽造の困難性)は、特許文献1に記載の時刻同期方式からあまり向上していないという問題があった。
本発明は上記事実を考慮して成されたもので、その課題は、ソルト値を端末において生成可能とすることによってソルト値がネットワーク上で中間攻撃者によって傍受される危険を回避できるにも拘わらず、同一のソルト値を認証サーバ内で生成できるようにしたユーザ認証装置及びユーザ認証プログラムを得ることにある。
上記課題を解決するための手段としてのサーバは、ネットワークを通じてアクセスしてきた端末を操作している操作者が予め登録されたユーザであることを認証する際に、端末の処理装置に対して当該端末から発信される電文のヘッダに書き込まれることになる当該端末の固有可変情報に対して所定アルゴリズムに従った変換を施させることによって、ユーザ認証に用いられる認証情報の生成に必要とされるソルト値を生成させるソルト値生成プログラムを記憶装置に格納しておき、端末からの電文による要求に応じて、前記ソルト値生成プログラムを当該端末へ送信し、前記ソルト値生成プログラムに従って、前記端末からの電文のヘッダに書き込まれた当該端末の固有可変情報に対して前記所定アルゴリズムに従った変換を施すことによってソルト値を生成し、生成した前記ソルト値に基づいて前記所定関数を実行することにより認証情報を生成するものである。
ここにおいて、ソルト値生成プログラムとは、単独で、処理装置に対して上述したソルト値の生成を行わせるものであっても良いし、別のプログラム,例えばブラウザプログラムのアドインプログラムであっても良いし、ブラウザプログラムやヴァーチャルマシンプログラムに従って動作している処理装置に読み込まれて実行されるスクリプトやアプレットであっても良い。ソルト値生成プログラムは一つだけ用意されていても良いし、複数パターン用意されていても良い。その場合、一つのプログラムのテンプレートに、予め用意されていた複数パターンのパラメータの中から選択されたパラメータを埋め込んでプログラムを完成させて端末へ送信するようにしても良い。後者についても、本明細書では「複数パターンのソルト生成プログラム」と称する。このように複数パターンのソルト生成プログラムから選択した特定ソルト生成プログラムを端末へ送信する場合には、要求電文を送信してきた端末の識別情報に対応付けて、いずれのソルト生成プログラムを送信したかを事後的に識別できる情報を、記憶装置に記憶させておく必要がある。かかる端末の識別情報としては、例えば、固定IPアドレスを用いることもできるが、端末を操作している操作者のユーザIDであっても良い。
端末の固有可変情報とは、本発明に基づいて認証が行われるような短時間の間には変更される蓋然性が低い情報である必要がある。この固有可変情報としては、例えば、電文がハイパーテキストトランスファープロトコルに従ったメッセージである場合には、当該プロトコルに従ったユーザエージェント情報,特に、端末にインストールされたオペレーティングシステム及びブラウザプログラムの種類情報及びバージョン情報を、用いることができる。この場合、ソルト値生成プログラムを要求する電文にも、その後認証情報を伝達するために送信されて来る電文にも、同じ固有可変情報が含まれることになる。従って、その場合には、サーバは、前者の電文に含まれる固有可変情報に基づいてソルト値を生成し更に認証情報も生成して記憶装置に記憶しておいても良いし、後者の電文に含まれる固有可変情報に基づいてソルト値を生成して更に認証情報を生成して、生成した認証情報を記憶装置に記憶することなく、直ちに、当該電文に含まれる認証情報と比較しても良い。
本発明によれば、ソルト値を端末において生成可能であり、端末において生成されたものと同一のソルト値が認証サーバ内でも生成されるので、ソルト値がネットワーク上で中間攻撃者によって傍受される危険を回避できる。従って、本発明を従来のワンタイムパスワード生成方法及び認証方法に適用すれば、かかる傍受の危険が低いソルト値を用いてワンタイムパスワードを生成することができるので、セキュリティの強度が強固になる。
本実施形態に係るコンピュータ・システムの概略構成を示すブロック図 ユーザデータベースを構成する顧客マスターファイルのデータ構造を示す表 ユーザデータベースを構成する送信情報ファイルのデータ構造を示す表 ワンタイムパスワード入力画面を示す図 ハードウェアトークンの表面を示す図 ユーザ認証サーバプログラムに従って銀行システムのCPUが実行する処理の内容を示すフローチャート ユーザ認証サーバプログラムに従って銀行システムのCPUが実行する処理の内容を示すフローチャート スクリプトムを読み込んだブラウザプログラムに従ってクライアント端末のCPUが実行する処理の内容を示すフローチャート HTMLを読み込んだブラウザプログラムに従ってクライアント端末のCPUが実行する処理の内容を示すフローチャート
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には本実施形態に係るオンライン取引システム10が示されている。このオンライン取引システム10は、特定金融機関に設置されたユーザ認証装置としての銀行システム12を含んで構成されている。ただし、本発明は、銀行システムに限らず、あらゆるネットワークシステムにおいて、サーバにアクセスして一定サービスを要求してきたクライアント端末の操作者が、予め正規のユーザとして登録された者と一致するかどうかを認証する場合に、用いられる。かかるサービスには、他の事業者に対してクライアント端末の操作者が予め登録されているユーザであることを証明するサービスも、含まれている。
本実施形態について説明すると、上記特定金融機関は、当該特定金融機関に口座を開設しているユーザがオンラインで金融取引を行うことを可能とするサービスとして、オンライン金融取引用ウェブサイトを通じてユーザからのオンラインでの金融取引の実行指示を受け付けるオンライン金融取引受付サービスを、提供している。このオンライン金融取引受付サービスを利用した金融取引では、ユーザがクライアントPC(Personal Computer)18を介してオンライン金融取引用ウェブサイトのウェブページを閲覧し、該ウェブページ上で必要な情報を入力することで、ユーザが所望している金融取引の実行を指示するための情報(金融取引指示情報)がクライアントPC18から銀行システム12へ送信される。そして、この金融取引指示情報が銀行システム12からイントラネット26に接続された勘定系システム28等へ転送されることで、金融取引指示情報に基づいてユーザから指示された金融取引が勘定系システム28等によって実行されるようになっている。
かかる銀行システム12は、相互にバスBを通じて接続されたCPU12A、メモリ12B、ハードディスクドライブ(HDD)12C、及び、ネットワークインタフェース(I/F)部12Dを、備えている。
ネットワークI/F部12Dは、多数台のウェブサーバが通信回線を介して相互に接続されて成る公共のコンピュータ・ネットワーク(インターネット)16に直接接続されており、更に特定金融機関内に設置されたイントラネット(LAN)26にも接続されている。イントラネット26には勘定系システム28が接続されている。
上記インターネット16には、多数台のクライアントPC18が接続されているので、上記ネットワークI/F部12Dは、インターネット16を介して各クライアントPC18に接続可能となっている。
メモリ12Bは、RAM(ランダムアクセスメモリ)からなる主記憶装置であり、CPU12Bによる作業領域が展開される。
CPU12Aは、メモリ12B上に読み出されたプログラムを実行して、銀行システム12を構成するハードウェア全体を制御するコンピュータであり、応答手段,ソルト値再現手段,送信情報管理手段の一部,認証情報生成手段及び判定手段に、相当する。
HDD12Cは、各種データ及びプログラムを格納したコンピュータ読取可能な記憶媒体を内蔵した記憶装置である。HDD12Cが格納しているプログラムには、CPU12Aによってメモリ12B上に読み出されて実行されるオペレーティングシステム(OS),ユーザ認証サーバプログラム13,ワンタイムパスワード生成関数17,及び、複数パターンのソルト値生成用スクリプト(JavaScript(登録商標))14が、含まれている。ただし、オペレーティングシステムは、一般に市販されているものであるので、その説明を省略する。また、ユーザ認証サーバプログラム13の内容については、図6及び図7のフローチャートを参照して、後述する。各ソルト値生成用スクリプト14は、複数のパラメータ(OS種類識別情報,OSバージョン,ブラウザ種類識別情報,ブラウザバージョン)を所定のアルゴリズムに従って変換することによって一意の数列(ソルト値)を生成する関数を定義した一種のプログラム(ソルト値生成プログラム)である。HDD12Cは、上記アルゴリズムが相互に異なる複数パターンのソルト値生成用スクリプト14が予め用意されている。これらソルト値生成用スクリプト14は、時間帯に対応付けられていても良いし、時刻と後述するユーザIDとを入力値とする関数によって一意に特定されるように対応付けられていても良い。ワンタイムパスワード生成関数17は、例えば、非特許文献2に記載された様なハードウェアトークン(認証情報生成装置)に実装されているプログラムであり、ソルト値,現在時刻及びハードウェアトークン番号(認証情報生成装置の固体識別情報)からなる3種類のパラメータを所定のアルゴリズムに従って変換することによって一意の数列(ワンタイムパスワード[ユーザ認証に用いられる認証情報に相当])を生成する関数を定義したプログラムである。
HDD12Cが格納している各種データには、ユーザデータベース15が、含まれている。ユーザデータベース15は、当該特定金融機関と口座開設契約を締結している全てのユーザに関する情報を管理するデータベースである。このユーザデータベース16は、複数のデータファイルから構成されているので、その一例を図2及び図3に示す。
図2は、認証対象者たる個々のユーザについての固定的な情報を予め登録するためのデータファイル(顧客マスターファイル)であり、個々のユーザ毎に、一意に付与されたユーザID(契約番号),当該ユーザに交付されたハードウェアトークンの固体識別情報(ハードウェアトークン番号)及びその有効期限,当該ユーザの氏名,生年月日及び住所,並びに、当該ユーザが任意に設定したパスワード(固定パスワード)が、登録される。
図3は、顧客マスターファイルに予め認証対象者として登録されているユーザが認証要求をする毎に、その認証要求を管理するための情報を一時的に記録するための送信情報管理手段としてのデータファイル(送信情報ファイル[送信情報管理手段の一部に相当])であり、個々の認証要求毎にエントリが追加され、追加されたエントリには、その認証要求をしたユーザのユーザID,顧客マスターファイル(図2)において当該ユーザIDに対応付けて登録されているハードウェアトークン番号,その認証要求に応じて当該ユーザへ送信されたソルト値生成用スクリプト14のパターン番号及びその送信を行った時刻,並びに、認証失敗をした回数を記録するためのカウンタ値(失敗カウンタ)が、記録される。
図1に戻り、端末としてのクライアントPC18は、バスBを通じて相互にデータ交換可能に接続されたCPU19、メモリ20、キーボード21、通信モジュール22、ディスプレイ23及びハードディスク(HDD)24を、有している。即ち、当該クライアントPC18は、一般的なハードウェア構成を有する汎用のコンピュータである。なお、クライアントPC18は、インターネット接続機能を備えているコンピュータであれば良いので、所謂タブレットコンピュータのハードウェア構成を有していても、所謂スマートフォンのハードウェア構成を有していても良い。
CPU19は、プログラムを読み込んで実行することによって当該クライアントPC18全体の制御を行う処理装置である。
通信モジュール22は、当該クライアントPC18を使用するユーザが利用可能な各種ネットワークのプロトコルを終端し、かかるプロトコルに従ったデータ形式にて、かかるネットワークの基地局との間で通信を行う通信装置である。
ディスプレイ23は、CPU19によって各種画像,画面,メッセージ等の可視情報が表示される表示装置である。
キーボード21は、ユーザによって操作されることによってCPUに文字列を入力する入力装置である。
ハードディスク24は、各種プログラム及び各種データを格納した外部記憶装置である。ハードディスク24が格納している各種プログラムには、クライアントPC18の基本動作を制御するための基本プログラムであるオペレーティングシステム(OS),ブラウザプログラムが、含まれている。ただし、これらオペレーシングシステム及びブラウザプログラムは、一般的に流通しているものであるので、その説明を省略する。
メモリ20は、CPU19の作業領域が展開される主記憶装置である。このメモリ20には、ネットワークを経由してダウンロードされたプログラムやデータも、一時的に記憶される。例えば、上述した銀行システム12からインターネット16を介して受信したソルト値生成用スクリプト14やワンタイムパスワード生成関数17も、当該メモリ20上に一時記憶され、CPU19に読み出されて実行される。
ハードウェアトークン1は、上述したワンタイムパスワード生成関数17を実行することに特化された専用電算機であり、例えば、非特許文献2に記載された従来公知のものが、用いられ得る。ここで、ハードウェアトークン1の構造を模式的に説明すると、図1に図示されるように、Bを通じて相互にデータ交換可能に接続されたCPU2、メモリ3、キーボード5、ディスプレイ6、及びクロック7から、構成されている。
メモリ3は、当該ハードウェアトークン1に対して予め一意且つ固定的に付与されたハードウェアトークン番号8及び銀行システム12のハードディスク12Cに格納されているものと全く同じワンタイムパスワード生成関数17を格納した、ROM(リードオンリーメモリー)である。
キーボード5は、図5の平面図に示すように、0〜9の数字や若干の記号を入力するための複数の文字ボタン5a及び入力ボタン5bから構成されている。
クロック7は、現在時刻を示す情報(時刻情報)を常時生成し、CPU2に入力する。
CPU2は、キーボード5によって入力された文字列(ソルト値)及びメモリ3から読み出したハードウェアトークン番号8に対して、メモリ3から読み出したワンタイムパスワード生成関数17を実行することにより、ワンタイムパスワードを生成する。なお、このCPU2の代わりに、同機能を果たすロジック回路が用いられても良い。
ディスプレイ6は、図5に示されるように、ワンタイムパスワードの桁数分の文字列を表示することができる液晶パネルであり、CPU2によって生成されたワンタイムパスワードを表示する。
以下、銀行システム12内において、ユーザ認証サーバプログラム13に従ってCPU12Aが実行する処理の内容を、クライアントPC18においてブラウザプログラムに従ってCPU19が実行する処理の内容とともに、図6乃至図9のフローチャートを参照して説明する。なお、以下の節名においては、便宜上、ユーザ認証サーバプログラム13に従って動作するCPU12Aを、「ユーザ認証サーバ13」と称する。
図6の処理は、銀行システム12が提供するサイトにアクセスしているクライアントPC18の操作者が、当該サイト上において重要取引を実行することを選択したことによって、当該クライアントPC18から送信されるリクエストメッセージを銀行システム12が受信することにより、スタートする。
そして、スタート後最初のS001では、ユーザ認証サーバ13は、リクエストメッセージ送信元クライアントPC18の操作者がユーザデータベース15に登録されたユーザであるとの想定の下に、そのユーザIDを取得する。具体的には、リクエストメッセージ中にユーザIDが含まれている場合(直前にクライアントPC18に送信されたHTMLデータに、ユーザID入力欄を表示させるとともに上記リクエストメッセージ中に当該ユーザID入力欄に書き込まれた文字列をユーザIDとして含ませる設定のタグが、含まれていた場合)には、当該リクエストメッセージ中からユーザIDを抽出する。また、当該クライアントPC18とのセッション中で当該クライアントPC18からユーザIDを受信していた場合には、一時記憶されていた当該ユーザIDを読み込む。それ以外の場合には、クライアントPC18に対して、ユーザID入力欄を表示させるとともに上記メッセージに当該ユーザID入力欄に書き込まれた文字列をユーザIDとして応答させる設定のタグを含むHTMLを送信し、これに応じてクライアントPC18が送信してくるユーザIDを取得すれば良い。
次のS002では、ユーザ認証サーバ13は、ユーザデータベース15中の顧客マスターファイル(図2)から、S001にて取得したユーザIDに対応付けられたハードウェアトークン番号を読み出す。
次のS003では、ユーザ認証サーバ13は、リクエストメッセージ送信元クライアントPC18へ送信すべきソルト値生成用スクリプト14のバターン番号を決定する。この場合、上述したように、ソルト値生成用スクリプト14が時間帯に対応付けられていている場合には、現在時刻を含む時間帯に対応付けられたソルト値生成用スクリプト14のパターン番号を決定する。これに対して、ソルト値生成用スクリプト14が時刻と後述するユーザIDとを入力値とする関数によって一意に特定されるように対応付けられている場合には、現在時刻及びS001にて取得したユーザIDを当該関数に適用することにより、その関数の出力に対応付けられたソルト値生成用スクリプト14のパターン番号を決定する。
次のS004では、ユーザ認証サーバ13は、S001にて取得したユーザID,S002にて読み出したハードウェアトークン番号,現在時刻,S004にて決定したソルト値生成用スクリプト14のパターン番号を、クライアント送信情報として、ユーザデータベース15中の送信情報ファイルに記録する(送信情報管理手段に相当)。なお、ソルト値生成用スクリプト14のパターン番号は、現在時刻又は/及びユーザIDに基づいていつでも再現できるので、送信情報ファイルに記録されなくても問題はない。従って、現在時刻又はパターン番号が、ソルト値生成プログラムを識別するための情報に相当し、ユーザIDが、端末を識別するための情報,操作者の識別情報,及び、予め認証対象者として登録されているユーザの識別情報に相当する。
次のS005では、ユーザ認証サーバ13は、図4に示すワンタイムパスワード入力画面をブラウザによって表示させるための電文(HTTPレスポンスメッセージ)を、動的に生成して、リクエストメッセージ送信元クライアントPC18へ送信する。この電文中に含まれるHTMLデータには、S003にて決定されたパターン番号に対応したソルト値生成用スクリプト14が組み込まれているとともに、当該ソルト値生成用スクリプト14の実行結果であるソルト値を表示するためのスクリプト欄31,ユーザID入力欄32,固定パスワード入力欄33,ワンタイムパスワード入力欄34及び送信ボタン35を夫々ワンタイムパスワード入力画面中に表示させるとともに、各欄32〜34に文字列が入力された状態で送信ボタン35が操作(クリック)されると、各欄32〜34に入力された文字列を夫々ユーザID,固定パスワード,ワンタイムパスワードとして銀行システム12へ送信させる設定のタグが、組み込まれている。従って、S005の処理を実行するユーザ認証サーバ13(CPU12A)が、応答手段に相当する。
次のS006では、ユーザ認証サーバ13は、上記電文に応じてリクエストメッセージ送信元クライアントPC18が電文(ユーザID,固定パスワード及びワンタイムパスワードを含むHTTPリクエストメッセージ)を送信して来るのを待つ。
ここで、S005において送信された電文(HTTPレスポンスメッセージ)を受信したクライアントPC18のCPU19が、当該電文に含まれるHTMLデータ及びブラウザプログラムに従って実行する処理を、図8及び図9を参照して説明する。図8は、当該HTMLデータに組み込まれたソルト値生成用スクリプト14を読み込んだブラウザプログラムに従って実行される処理を示し、図9は、当該HTMLデータにおけるそれ以外の部分を読み込んだブラウザプログラムに従って実行される処理を示す。これら二つの処理は、実質的に並行実行される。以下では、ブラウザプログラムに従って動作するCPU19のことを「CPU19」と称する。
まず、CPU19は、図9のS201において、受信したHTMLデータを読み込んで、その記述に従って、図4に示すワンタイムパスワード入力画面をディスプレイ23上に表示する。
これと並行して、CPU19は、図8のS101において、クライアントPC18のハードディスク24にインストールされてCPU19によって現に実行されているオペレーティングシステム(OS)の種類識別情報及びバージョン,ブラウザプログラムの種類識別情報及びバージョンを、OS提供関数を用いて取得する。これらオペレーティングシステム(OS)の種類識別情報及びバージョン,ブラウザプログラムの種類識別情報及びバージョンは、ブラウザプログラムに従ってHTTPリスエクスメッセージが当該クライアントPC18から何れかのウェブサーバへ送信される際に、HTTP(ハイパーテキストトランスファープロトコル)の規約に従って、当該HTTPリクエストメッセージのヘッダ(HTTPヘッダ)に書き込まれることになるユーザエージェント情報を構成するので、端末の固有可変情報に相当する。
次のS102では、CPU19は、S101にて取得したオペレーティングシステム(OS)の種類識別情報及びバージョン,ブラウザの種類識別情報及びバージョンを入力値として、ソルト値生成用スクリプト14に記述されたアルゴリズムに従って変換を施すことによって、一つのソルト値を算出する。
次のS103では、CPU19は、S201にて表示されたワンタイムパスワード入力画面中のスクリプト領域31中に、S102にて算出したソルト値を表示する。当該ソルト値を見たユーザは、当該ソルト値を、ハードウェアトークン1のキーボード5中の文字ボタン5aを用いて入力した後に、入力ボタン5bを押下する。すると、当該ハードウェアトークン1のJCPU2は、当該ソルト値,メモリ3から読み出したハードウェアトークン番号8及びクロック7から入力された現在時刻情報を入力値として、メモリ3から読み出したワンタイムパスワード生成関数を適用することにより、ワンタイムパスワードを算出して、ディスプレイ6上に表示する。
一方、CPU19は、S201の次のS202において、クライアントPC19を操作しているユーザが、ワンタイムパスワード入力画面中のユーザID入力欄32に当該ユーザのユーザIDを入力し、固定パスワード欄33に当該ユーザが記憶している当該ユーザの固定パスワードを入力するとともに、ワンタイムパスワード欄32にハードウェアトークン1のディスプレイ6上に表示されたワンタイムパスワードを入力してから、送信ボタン35を操作(クリック)するのを待つ。
そして、送信ボタン35が操作されると、CPU19は、S203において、ワンタイムパスワード入力画面中のユーザID入力欄32に入力された文字列,固定パスワード欄33に入力された文字列,及び、ワンタイムパスワード欄32に入力された文字列を、夫々、ユーザID,固定パスワード及びワンタイムパスワードとして格納した電文(HTTPリクエストメッセージ)を、銀行システム12へ送信する。この電文(HTTPリクエストメッセージ)のヘッダ(HTTPヘッダ)には、上述したように、メッセージ送信元端末のオペレーティングシステム(OS)の種類識別情報及びバージョン,ブラウザの種類識別情報及びバージョンを含むユーザエージェント情報が、不可避的に書き込まれている。S203を完了すると、CPU19は、S204において、銀行システム12からの応答を待つ。
図6に戻り、クライアントPC18から送信された電文(HTTPリクエストメッセージ)を受信すると、ユーザ認証サーバ13は、処理をS006からS007へ進め、クライアントPC18から受信した電文(HTTPリクエストメッセージ)のヘッダ(HTTPヘッダ)に含まれるユーザエージェント情報中から、オペレーティングシステム(OS)の種類識別情報及びバージョン,ブラウザの種類識別情報及びバージョンを取得する。
次のS008では、ユーザ認証サーバ13は、S006にて受信した電文(HTTPリクエストメッセージ)中に含まれるユーザIDに対応付けられたパターン番号をユーザデータベース15中の送信情報ファイルから読み出し、当該パターン番号に対応したソルト値生成用スクリプト14をハードディスク12Cから読み出す。
次のS009では、ユーザ認証サーバ13は、S007にて取得したオペレーティングシステム(OS)の種類識別情報及びバージョン,ブラウザの種類識別情報及びバージョンを入力値として、S008にて読み出したソルト値生成用スクリプト14を適用することにより、ソルト値を算出する(ソルト値再現手段に相当)。このとき、当該ソルト値生成用スクリプト14がクライアント端末18へ送信されたものと一致していることと、当該オペレーティングシステム(OS)の種類識別情報及びバージョン,ブラウザの種類識別情報及びバージョンクライアント端末18にインストールされているオペレーティングシステム及びブラウザプログラムのものと一致していることが保障されているので、当該ソルト値がクライアントPC18内で算出されたものと一致していることが、論理的帰結となる。
次のS010では、ユーザ認証サーバ13は、S006にて受信した電文(HTTPリクエストメッセージ)中に含まれるユーザIDに対応付けられたハードウェアトークン番号,及び時刻を、ユーザデータベース15中の送信情報ファイルから読み出す。
次のS011では、ユーザ認証サーバ13は、S010にて読み出したハードウェアトークン番号及び時刻,並びに、S009にて算出したソルト値を入力値として、ハードディスク12Cから読み出したワンタイムパスワード生成関数17を適用し、ワンタイムパスワードを生成する(認証情報生成手段に相当)。
次のS012では、ユーザ認証サーバ13は、S006にて受信した電文(HTTPリクエストメッセージ)中に含まれるワンタイムパスワード及び固定パスワードの組み合わせが、同電文(HTTPリクエストメッセージ)中に含まれるユーザIDに対応付けられてユーザデータベース15の顧客情報ファイルに格納されている固定パスワード及びS011にて生成されたワンタイムパスワードの組み合わせと一致するか否かを判定する(判定手段に相当)。そして、両者が一致しなければ、処理をS016へ進め、両者が一致していれば、処理をS013へ進める。
S016では、ユーザ認証サーバ13は、S006にて受信した電文(HTTPリクエストメッセージ)中に含まれるユーザIDを含む送信情報ファイル中のエントリの「失敗カウンタ」の値(初期値は0)を一つインクリメントする。次のS017では、ユーザ認証サーバ13は、インクリメント後の「失敗カウンタ」の値が上限(例えば、3)に達したか否かをチェックする。そして、未だ「失敗カウンタ」の値が上限に達していなければ、ユーザ認証サーバ13は、S020において、リトライ指示メッセージをリクエストメッセージ送信元のクライアントPC18へ応答した後に、処理を終了する。これに対して「失敗カウンタ」の値が上限に達していると、ユーザ認証サーバ13は、S018において、警告メッセージ(失敗回数が上限に達したことにより、中間者攻撃が行われた疑いが生じたので、以後のネットワークを通じた取引を停止する旨の宣告。及び、ネットワークを通じた取引を再開したいのであれば、身分証明書,通帳,ハードウェアトークン等を支店窓口に持参して再開手続きをする様に促す通知)をリクエストメッセージ送信元のクライアントPC18へ応答した後に、S019においてID無効化処理を行った後に、処理を終了する。なお、ID無効化処理とは、S006にて受信した電文(HTTPリクエストメッセージ)中に含まれるユーザIDを用いて行うネットワーク経由の取引を停止するための処理であり、例えば、当該ユーザIDに対応付けられて顧客マスターファイルに登録されているハードウェアトークン番号を削除するとともに、当該ユーザIDを含むエントリを送信情報ファイルから削除する処理である。
S012にて一致している旨の判断がなされた場合に実行されるS013では、ユーザ認証サーバ13は、認証成功の旨をリクエストメッセージ送信元のクライアントPC18へ応答する。次のS014では、ユーザ認証サーバ13は、S006にて受信した電文(HTTPリクエストメッセージ)中に含まれるユーザIDを含むエントリを送信情報ファイルから削除する。次のS015では、ユーザ認証サーバ13は、当該リクエストメッセージ送信元のクライアントPC18の操作者が、ユーザデータベース15に登録されている正規のユーザであることを前提に、当該クライアントPC18からのリクエストに従って、重要な取引処理を実行する。
図9に戻り、クライアントPC18のCPU19は、銀行システム12からの応答(HTTPレスポンスメッセージ)がリトライ指示であれば、S206において、ディスプレイ23上にリトライ指示を表示した後に、処理を終了する。また、CPU19は、銀行システム12からの応答が警告であれば、警告の内容をディスプレイ23上に表示した後に、処理を終了する。これに対して、銀行システム12からの応答が成功の旨であれば、S205において、処理を継続する。この場合、当該クライアントPC18の操作者は、銀行システム12のユーザデータベース15に登録されている正規のユーザであると認証されたので、銀行システム12に対して、重要な取引処理のリクエストをすることが可能となる。
以上のように構成された本実施形態に係るオンライン取引システム10よると、ソルト値は、銀行システム12内においてユーザ認証サーバ13が生成すると同時に、クライアントPC18内においても同アルゴリズム及び同入力値に基づいて生成されるので、ソルト値をネットワーク上に露出させる必要がない。従って、ソルト値が中間攻撃者によって傍受(漏洩)される危険がないので、セキュリティ強度が向上する。
しかも、当該ソルト値は、複数パターンの中から選択された特定のソルト値生成用スクリプト14及びユーザエージェント情報から算出され、両者の流通方向は真逆(ソルト値生成用スクリプト14は銀行システム12からクライアントPC18へ送信される一方、ユーザエージェント情報はクライアントPC18から銀行システム12へ送信される)であるので、仮に、両者からソルト値が生成されることを中間攻撃者が知っていた場合であっても、これらの両情報を共に傍受できる蓋然性は、限りなく低い。
また、最終的にクライアントPCが銀行システムへ送信(S203)しようとした電文(HTTPリクエストメッセージ)中のユーザID,固定パスワード及びワンタイムパスワードが中間攻撃者に傍受(漏洩)された場合、当該中間攻撃者が自己使用の端末内においてこれら情報を含む電文(HTTPリクエストメッセージ)を組み立てて、正規のユーザになりすまして銀行システムへ当該電文(HTTPリクエストメッセージ)を送信するおそれがあるが、その場合、当該中間攻撃者が組み立てた電文(HTTPリクエストメッセージ)のヘッダ(HTTPヘッダ)には、当該中間攻撃者が使用する端末のユーザエージェント情報(オペレーティングシステム(OS)の種類識別情報及びバージョン,ブラウザの種類識別情報及びバージョン)が不可避的に含まれてしまうので、銀行システム12のユーザ認証サーバ13は、認証失敗応答(S015)をすることになる。よって、この場合であっても、高いセキュリティ強度を維持することができる。
1 ハードウェアトークン
10 オンライン取引システム
12 銀行システム
12A CPU
12C HDD
13 ユーザ認証サーバプログラム
14 ソルト値生成用スクリプト
15 ユーザデータベース
16 インターネット
17 ワンタイムパスワード生成関数
18 クライアントPC
19 CPU
20 メモリ
21 キーボード
22 通信モジュール
23 ディスプレイ
24 ハードディスク

Claims (6)

  1. ネットワークを通じてアクセスしてきた端末を操作している操作者が予め登録されたユーザであることを認証するユーザ認証装置であって、
    端末の処理装置に対して当該端末から発信される電文のヘッダに書き込まれることになる当該端末の固有可変情報に対して所定アルゴリズムに従った変換を施させることによって、ユーザ認証に用いられる認証情報の所定関数に基づく生成に必要とされるソルト値を生成させるソルト値生成プログラムを格納した記憶装置と、
    端末からの電文による要求に応じて、前記ソルト値生成プログラムを当該端末へ送信する応答手段と、
    前記ソルト値生成プログラムに従って、前記端末からの電文のヘッダに書き込まれた当該端末の固有可変情報に対して前記所定アルゴリズムに従った変換を施すことによってソルト値を生成し、生成した前記ソルト値に基づいて前記所定関数を実行することにより認証情報を生成する認証情報生成手段と
    を備えたことを特徴とするユーザ認証装置。
  2. 前記端末から前記認証情報を格納した電文を受信すると、前記電文に格納された前記認証情報と前記認証情報生成手段が生成した前記認証情報とが一致する場合に、前記端末の操作者が予め認証対象者として登録されているユーザであると判定する判定手段を
    更に備えたことを特徴とする請求項1記載のユーザ認証装置。
  3. 前記記憶装置には、前記アルゴリズムが互いに異なる複数パターンの前記ソルト値生成プログラムが格納されているとともに、
    前記応答手段が前記端末に送信したソルト値生成プログラムを識別するための情報を、前記端末を識別するための情報に対応付けて記録する、送信情報管理手段
    前記電文を送信した端末を識別するための情報を取得し、当該情報に対応付けて前記送信情報管理手段によって記録されているソルト値生成プログラムを識別するための情報を読み出し、当該情報によって識別されるソルト値生成プログラムに従って、当該電文のヘッダに書き込まれた当該端末の固有可変情報に対して前記所定アルゴリズムに従った変換を施すことによってソルト値を生成する、ソルト値再現手段と、をさらに備える
    ことを特徴とする請求項1記載のユーザ認証装置。
  4. 前記端末を識別するための情報は、予め認証対象者として登録されているユーザの識別情報であり、
    前記関数は、前記認証情報を生成する認証情報生成装置の固体識別情報、現在時刻及び入力された前記ソルト値に基づいて当該認証情報生成装置が前記認証情報を生成するために実行する関数と同じ関数であり、
    前記送信情報管理手段は、さらに、前記端末に前記ソルト値生成プログラムを送信した時刻、前記端末を操作しているユーザに交付された前記認証情報生成装置の個体識別情報を、当該ユーザの識別情報に対応付けて記録し、
    前記認証情報生成手段は、生成した前記ソルト値、並びに、前記電文を送信した端末を操作しているユーザの識別情報に対応付けて前記送信情報管理手段が記録している時刻及び前記認証情報生成装置の個体識別情報に対して、前記関数を実行することにより前記認証情報を生成する
    ことを特徴とする請求項に記載のユーザ認証装置。
  5. 前記応答手段が前記端末に送信したソルト値生成プログラムを識別するための情報を、前記端末を識別するための情報に対応付けて記録する、送信情報管理手段をさらに備え、
    前記端末を識別するための情報は、予め認証対象者として登録されているユーザの識別情報であり、
    前記関数は、前記認証情報を生成する認証情報生成装置の固体識別情報、現在時刻及び入力された前記ソルト値に基づいて当該認証情報生成装置が前記認証情報を生成するために実行する関数と同じ関数であり、
    前記送信情報管理手段は、さらに、前記端末に前記ソルト値生成プログラムを送信した時刻、前記端末を操作しているユーザに交付された前記認証情報生成装置の個体識別情報を、当該ユーザの識別情報に対応付けて記録し、
    前記認証情報生成手段は、生成した前記ソルト値、並びに、前記電文を送信した端末を操作しているユーザの識別情報に対応付けて前記送信情報管理手段が記録している時刻及び前記認証情報生成装置の個体識別情報に対して、前記関数を実行することにより前記認証情報を生成する
    ことを特徴とする請求項1または請求項2に記載のユーザ認証装置。
  6. 端末の処理装置に対して当該端末から発信される電文のヘッダに書き込まれることになる当該端末の固有可変情報に対して所定アルゴリズムに従った変換を施させることによって、ユーザ認証に用いられる認証情報の所定関数に基づく生成に必要とされるソルト値を生成させるソルト値生成プログラムを格納した記憶装置に接続され、ネットワークを通じてアクセスしてきた端末を操作している操作者が予め登録されたユーザであることを認証するコンピュータを、
    端末からの電文による要求に応じて、前記ソルト値生成プログラムを当該端末へ送信する応答手段、及び、
    前記ソルト値生成プログラムに従って、前記端末からの電文のヘッダに書き込まれた当該端末の固有可変情報に対して前記所定アルゴリズムに従った変換を施すことによってソルト値を生成し、生成した前記ソルト値に基づいて前記所定関数を実行することにより認証情報を生成する認証情報生成手段
    として機能させるユーザ認証プログラム。
JP2012248523A 2012-11-12 2012-11-12 ユーザ認証装置及びユーザ認証プログラム Expired - Fee Related JP5993285B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012248523A JP5993285B2 (ja) 2012-11-12 2012-11-12 ユーザ認証装置及びユーザ認証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012248523A JP5993285B2 (ja) 2012-11-12 2012-11-12 ユーザ認証装置及びユーザ認証プログラム

Publications (2)

Publication Number Publication Date
JP2014096101A JP2014096101A (ja) 2014-05-22
JP5993285B2 true JP5993285B2 (ja) 2016-09-14

Family

ID=50939103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012248523A Expired - Fee Related JP5993285B2 (ja) 2012-11-12 2012-11-12 ユーザ認証装置及びユーザ認証プログラム

Country Status (1)

Country Link
JP (1) JP5993285B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6027577B2 (ja) * 2014-07-23 2016-11-16 株式会社三井住友銀行 認証システム、認証方法、及びプログラム
JP6199827B2 (ja) * 2014-08-12 2017-09-20 株式会社日本製鋼所 射出成形機とパスワード発行器の組み合わせ
CN106341372A (zh) * 2015-07-08 2017-01-18 阿里巴巴集团控股有限公司 终端的认证处理、认证方法及装置、系统
JP6789633B2 (ja) * 2015-09-18 2020-11-25 キヤノン株式会社 通信システム、及び情報処理装置
JP2018107777A (ja) * 2016-12-28 2018-07-05 東京電力ホールディングス株式会社 認証システム及び認証方法
CN114448706B (zh) * 2022-02-08 2024-05-17 恒安嘉新(北京)科技股份公司 一种单包授权方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067320A (ja) * 1999-08-25 2001-03-16 Railway Technical Res Inst 情報提供支援方法及びその手順を記録した記録媒体
JP2002132728A (ja) * 2000-10-30 2002-05-10 K Laboratory Co Ltd ワンタイムパスワード認証システム
ES2517865T3 (es) * 2006-03-08 2014-11-04 Monitise Limited Métodos, aparatos y software para usar un testigo para calcular contraseña limitada en tiempo en teléfono celular
JP4693171B2 (ja) * 2006-03-17 2011-06-01 株式会社日立ソリューションズ 認証システム

Also Published As

Publication number Publication date
JP2014096101A (ja) 2014-05-22

Similar Documents

Publication Publication Date Title
EP3743838B1 (en) Generating and managing decentralized identifiers
JP5651112B2 (ja) デジタルidを用いたフォーム入力および自動パスワード生成
JP5993285B2 (ja) ユーザ認証装置及びユーザ認証プログラム
EP2839603B1 (en) Abstracted and randomized one-time passwords for transactional authentication
EP2860906B1 (en) Identity authentication method and device
CN104364792B (zh) 用于多个网络站点的账户管理系统
US9767262B1 (en) Managing security credentials
US20130275282A1 (en) Anonymous billing
WO2015088986A1 (en) System and method for high trust cloud digital signing and workflow automation in health sciences
JP2010238102A (ja) 情報処理装置、認証システム、認証方法、認証装置及びプログラム
JP5193787B2 (ja) 情報処理方法、中継サーバおよびネットワークシステム
JP2018519562A (ja) 取引セキュリティのための方法及びシステム
US11444936B2 (en) Managing security credentials
JP2019086937A (ja) 画像処理装置、画像処理装置の制御方法、プログラム、システム、およびシステムの制御方法
JP2011215753A (ja) 認証システムおよび認証方法
US11275865B2 (en) Privacy friendly decentralized ledger based identity management system and methods
JP2011204169A (ja) 認証システム、認証装置、認証方法および認証プログラム
JP2010086175A (ja) リモートアクセス管理システム及び方法
JP5707204B2 (ja) 身元確認システムおよび身元確認方法
CN114760070A (zh) 数字证书颁发方法、数字证书颁发中心和可读存储介质
JP5664759B2 (ja) 情報処理装置、認証システム、認証方法、認証装置及びプログラム
TW201537377A (zh) 資訊處理裝置、資訊處理方法、程式及記錄媒體
JP2019164590A (ja) Api提供システム、認証サーバ、api提供方法、及びプログラム
JP2013251000A (ja) ユーザ確認装置、方法及びプログラム
KR20150055563A (ko) 가상 머신 클라이언트 구동 방법, 온라인 금융 서비스 제공 방법 및 이를 수행하는 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160819

R150 Certificate of patent or registration of utility model

Ref document number: 5993285

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees