JP4258551B2 - 認証システム、認証方法、及び認証プログラム - Google Patents
認証システム、認証方法、及び認証プログラム Download PDFInfo
- Publication number
- JP4258551B2 JP4258551B2 JP2007014897A JP2007014897A JP4258551B2 JP 4258551 B2 JP4258551 B2 JP 4258551B2 JP 2007014897 A JP2007014897 A JP 2007014897A JP 2007014897 A JP2007014897 A JP 2007014897A JP 4258551 B2 JP4258551 B2 JP 4258551B2
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- hash
- hash value
- hash algorithm
- information
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
Description
このような通信のセキュリティを確保すべく、従来から様々な技術が提案されているが、この中でもユーザ認証に関する技術として近年広く利用されているものに、ハッシュアルゴリズムを用いた認証システムがある。
まず、特許文献1には、発生させた乱数をチャレンジデータとして、入力されたユーザIDとパスワード、及びチャレンジデータからハッシュ値を生成して認証に利用する認証装置が開示されている。
また、このような場合、ユーザごとに使用するハッシュアルゴリズムを変えることができないため、全ユーザの認証情報をまとめて再作成する必要があり、再作成に相当の時間がかかり、その間認証システムが利用できないという問題があった。
さらに、認証サーバ装置側でハッシュアルゴリズムが変更されると、これに対応する認証クライアント装置側のハッシュアルゴリズムも同時に変更しなければならなかった。
この更新方法では、第1認証アルゴリズムと関連する第1のアカウントと第2認証アルゴリズムと関連する第2のアカウントを記憶手段に格納し、アカウントを切り換えるコマンドが実行されるとアカウントが切り換わり、これと同期して認証アルゴリズムも切り換わる構成となっている。
そして、一致していると判定された場合に、サーバ装置で算出したハッシュ値とクライアント装置で算出したハッシュ値を比較することで、認証の成否を判定することができる。
このため、認証システムにおいて、認証処理に用いるハッシュアルゴリズムを変更する場合に、その変更を行うタイミングで、サーバ装置における全てのユーザ情報を一度に再作成する必要はなく、ユーザごとに認証処理を行うタイミングで更新することが可能となる。また、サーバ装置側のハッシュアルゴリズムを変更しても、クライアント装置側については、全てのクライアント装置における対応するハッシュアルゴリズムを一度に変更する必要はなく、個々のクライアント装置ごとに段階的に変更することも可能となる。
すなわち、ハッシュアルゴリズムを変更するタイミングでサーバ装置におけるユーザ情報を新規に作成する必要はなく、各ユーザの認証を行うタイミングで、個別にユーザ情報を更新することができる。
このため、本発明の認証システムによれば、使用するハッシュアルゴリズムを変更する必要が生じても、ユーザ情報の作成などのために認証システムの利用を停止することを回避することが可能となっている。
このため、ハッシュアルゴリズムの脆弱性の発見等によりシステムで使用するハッシュアルゴリズムをさらに強度の高いものに変更する必要が出てきたときなどには、これを容易に認証システムに反映することが可能となっている。
また、ハッシュアルゴリズムを変更するタイミングで、サーバ装置におけるユーザ情報を変更後のハッシュアルゴリズムを用いて事前に作成しておく必要はなく、ユーザの認証を行うタイミングで、個別に最強のハッシュアルゴリズムを用いて更新することができ、ユーザ情報の再作成などのために認証システムの利用を停止することを回避することが可能となっている。
また、ハッシュアルゴリズムを変更するタイミングで、変更後のハッシュアルゴリズムを用いてユーザ情報をサーバ装置に事前に作成しておく必要はなく、ユーザの認証を行うタイミングで、ユーザ情報を個別に最強のハッシュアルゴリズムを用いて更新させることができるため、ユーザ情報の再作成などのために認証システムの利用を停止することを回避することが可能となっている。
また、ハッシュアルゴリズムを変更するタイミングで、ハッシュ値を含むユーザ情報を一度に新規に作成する必要がなく、各ユーザの認証を行うタイミングで個別にユーザ情報を更新することが可能となる。
なお、以下の実施形態に示す本発明の認証システムは、プログラムに制御されたコンピュータにより動作するようになっている。コンピュータのCPUは、プログラムにもとづいてコンピュータの各構成要素に指令を送り、認証クライアント装置及び認証サーバ装置の動作に必要となる所定の処理、例えば、所定のハッシュアルゴリズムを用いてユーザIDとパスワードなどからハッシュ値を生成する処理、認証クライアント装置及び認証サーバ装置でそれぞれ生成されたハッシュ値を比較する処理等を行わせる。このように、本発明の認証システムにおける各処理,動作は、プログラムとコンピュータとが協働した具体的手段により実現できるものである。
また、プログラムを格納する記録媒体は、例えば半導体メモリ,磁気ディスク,光ディスク、その他任意のコンピュータで読取り可能な任意の記録手段により構成できる。
図1に示すように、本実施形態の認証システムは、ユーザIDとパスワードの組み合わせによって認証するシステムであり、認証クライアント装置10と認証サーバ装置20を有している。
すなわち、認証情報入力部11は、認証要求管理部12から認証情報の入力要求情報を入力すると、ユーザに認証情報の入力を促すための認証情報入力画面などを認証クライアント装置10における図示しない表示手段などに出力して、ユーザの操作により認証情報を入力する。そして、この入力された認証情報を認証要求管理部12に出力する。なお、入力要求情報とは、トリガとなる情報であり、情報の内容としては任意のものを用いることができる。以下の各種要求情報についても同様であるが、その後の処理において用いられる情報、例えばハッシュアルゴリズム識別子等を要求情報として用いることも勿論可能である。
また、認証要求管理部12は、クライアント通信部13からチャレンジ(乱数と最高強度ハッシュアルゴリズム識別子)を入力すると、認証情報入力部11に認証情報受付要求情報を出力する。
また、認証要求管理部12は、ハッシュ値をクライアント通信部13に出力して、クライアント通信部13からハッシュアルゴリズム変更要求や認証結果を取入力し、入力した認証結果をユーザに参照可能とするため、認証クライアント装置10における図示しない表示手段や印刷手段等に出力する。
これらの認証要求管理部12により実行される各処理の詳細については、図6a及び図6bを用いて後述する。
すなわち、クライアント通信部13は、認証要求管理部12から入力した各種情報を通信回線を介してサーバ通信部21に送信する。また、サーバ通信部21から通信回線を介して送信されてきた各種情報を受信すると、この受信した情報を認証要求管理部12に出力する。
すなわち、ハッシュ値生成部15は、認証要求管理部12から一定のハッシュアルゴリズム識別子と、ハッシュ値を生成するための元となる情報を入力すると、この入力した元となる情報を用いて、入力したハッシュアルゴリズム識別子に対応するハッシュアルゴリズム(例えば、MD4、SHA−1等)により、ハッシュ値を生成する。そして、生成したハッシュ値を認証要求管理部12に出力する。
すなわち、サーバ通信部21は、クライアント通信部13から通信回線を介して送信されてきた各種情報を受信すると、この受信した情報を認証情報管理部22に出力する。また、認証情報管理部22から入力した各種情報を通信回線を介してクライアント通信部13に送信する。
また、認証情報管理部22は、乱数生成部25から乱数を入力すると、この乱数と最高強度ハッシュアルゴリズム識別子をチャレンジとしてサーバ通信部21に出力し、サーバ通信部21からユーザIDとハッシュ値を入力する。
さらに、認証情報管理部22は、サーバ通信部21から入力したユーザIDにもとづいて、このユーザIDに対応するユーザ情報をユーザ情報管理テーブル24から取得する。
また、認証情報管理部22は、ハッシュ値生成部26により生成されたハッシュ値とサーバ通信部21から入力したハッシュ値を比較し、これらが一致すれば認証成功とし、一致しなければ認証失敗と判定し、この判定結果をサーバ通信部21に出力する。
以上の認証情報管理部22により実行される各処理の詳細については、図9a及び図9bを用いて後述する。
すなわち、乱数生成部25は、認証情報管理部22から乱数生成要求情報を入力すると、所定の計算方法により乱数を生成し、生成した乱数を認証情報管理部22に出力する。このときに乱数生成部25が用いる計算方法としては、乱数を生成できる限り任意のものとすることができる。
すなわち、ハッシュ値生成部26は、認証情報管理部22から所定のハッシュアルゴリズム識別子と、ハッシュ値生成の元になる情報を入力すると、この入力した元になる情報を用いて、入力したハッシュアルゴリズム識別子に対応するハッシュアルゴリズムによりハッシュ値を生成し、生成したハッシュ値を認証情報管理部22に出力する。
rand1は、乱数生成部25により生成された乱数を示す変数である。以下、乱数と称する場合がある。
sHash_alg_idは、認証クライアント装置10と認証サーバ装置20で共に使用可能なハッシュアルゴリズムの中で、最も強度の高いハッシュアルゴリズムの識別子を示す変数である。以下、最高強度ハッシュアルゴリズム識別子と称する場合がある。
passwdは、ユーザの操作により認証情報入力部11に入力されたパスワードを示す変数である。以下、パスワードと称する場合がある。
uid_passwd_sHashVは、uidとpasswdをハッシュ値を計算するための元になる情報として用い、sHash_alg_idが示すハッシュアルゴリズムに従って生成したハッシュ値を示す変数である。以下、第一のハッシュ値と称する場合がある。
uHash_alg_idは、ユーザ情報管理テーブル24において、uidごとに記憶されているユーザ情報におけるハッシュアルゴリズム識別子を示す変数である。以下、ユーザID対応ハッシュアルゴリズム識別子と称する場合がある。
uid_passwd_uHashV_rand1_sHashVは、uid_passwd_uHashVとrand1をハッシュ値を計算するための元になる情報として用い、sHash_alg_idが示すハッシュアルゴリズムに従って生成したハッシュ値を示す変数である。以下、第四のハッシュ値と称する場合がある。
uid_Npasswd_sHashVは、uidとNpasswdをハッシュ値を計算するための元になる情報として用い、sHash_alg_idが示すハッシュアルゴリズムに従って生成したハッシュ値を示す変数である。以下、第五のハッシュ値と称する場合がある。
次に、認証クライアント装置10及び認証サーバ装置20に共通の最強ハッシュアルゴリズムと、ユーザ情報管理テーブル24に記憶されているハッシュ値の生成に使用されたハッシュアルゴリズムが同一である場合の認証システムにおける処理手順について、図6a〜図13のフローチャートを用いて説明する。
認証要求管理部12は、図6aに示すように、認証クライアント装置10に認証要求情報が入力されるかを監視し、認証要求情報が入力された場合(ステップ10のYes)、ハッシュアルゴリズムリスト14からハッシュアルゴリズム識別子の一覧を取得する(ステップ11)。
なお、認証要求情報は、認証クライアント装置10において認証を実行するためのトリガの役割を果たすものであり、その構成は特に限定されるものではなく任意の情報とすることが可能である。
次に、サーバ通信部21は、図8に示すように、クライアント通信部13から認証要求情報とハッシュアルゴリズム識別子の一覧を受信すると(ステップ40のNo,ステップ42のYes)、これらの情報を認証情報管理部22に出力する(ステップ43)。
そして、ハッシュアルゴリズム強度テーブル23から取得した各ハッシュアルゴリズムごとの強度と、ハッシュアルゴリズム識別子の一覧にもとづいて、ハッシュアルゴリズム識別子の一覧に識別子が存在するハッシュアルゴリズムのうち、最も強度の高いハッシュアルゴリズムの識別子(sHash_alg_id:最高強度ハッシュアルゴリズム識別子)を選択する(ステップ52)。
このとき、乱数生成部25は、図10に示すように、認証情報管理部22から乱数生成要求情報を入力すると(ステップ70のYes)、乱数(rand1)を生成し、生成した乱数を認証情報管理部22に出力する(ステップ71)。
なお、このとき用いる乱数の生成方法は、特に限定されるものではなく、任意の好適なものを用いることができる。
サーバ通信部21は、図8に示すように、認証情報管理部22から乱数(rand1)と最高強度ハッシュアルゴリズム識別子(sHash_alg_id)を入力すると(ステップ40のYes)、これらの情報をクライアント通信部13に送信する(ステップ41)。
認証情報入力部11は、図11に示すように、認証要求管理部12から認証情報入力受付要求情報を入力すると(ステップ80のYes)、認証情報の入力受付を行う(ステップ81)。
そして、認証情報(uidとpasswd)の入力が完了すると(ステップ82のYes)、この認証情報を認証要求管理部12に出力する(ステップ83)。
クライアント通信部13は、図7に示すように、認証要求管理部12からユーザID(uid)と第二のハッシュ値(uid_passwd_sHashV_rand1_sHashV)を入力すると(ステップ30のYes)、これらの情報をサーバ通信部21に送信する(ステップ31)。
なお、ユーザ情報管理テーブル24に、ユーザID(uid)に対応するユーザ情報が存在しない場合は、認証情報管理部22はサーバ通信部21及びクライアント通信部13を介して認証要求管理部12に認証失敗の認証結果を返すなどの処理を行うことができる。
これらの識別子が一致する場合(ステップ57のYes)、認証情報管理部22は、最高強度ハッシュアルゴリズムの識別子(sHash_alg_id)と、ハッシュ値生成のための入力情報としてユーザ情報における第三のハッシュ値(uid_passwd_uHashV)と乱数(rand1)をハッシュ値生成部26に出力し、ハッシュ値生成部26から第四のハッシュ値(uid_passwd_uHashV_rand1_sHashV)を入力する(ステップ58)。
そして、これらのハッシュ値が一致する場合、認証情報管理部22は、認証結果として認証成功をサーバ通信部21に出力する(ステップ60)。
一方、これらのハッシュ値が一致しない場合、認証情報管理部22は、認証結果として認証失敗をサーバ通信部21に出力する(ステップ61)。
そして、認証要求管理部12は、クライアント通信部13から認証結果を入力すると(ステップ19のNo,ステップ20のYes)、例えば認証クライアント装置10における図示しない表示手段に認証結果を出力することで、ユーザに認証結果を通知する(ステップ21)。
次に、認証クライアント装置10及び認証サーバ装置20に共通の最強ハッシュアルゴリズムと、ユーザ情報管理テーブル24に記憶されているハッシュ値の生成に使用されたハッシュアルゴリズムが異なる場合の認証システムにおける処理手順について、図6a〜図13のフローチャートを用いて説明する。
このとき、認証情報管理部22は、ハッシュアルゴリズム変更要求情報として、ユーザID対応ハッシュアルゴリズム識別子(uHash_alg_id)をサーバ通信部21に出力する(ステップ62)。
この場合、ステップ23の処理結果をYesとして、ステップ24以後における処理では、パスワード(passwd)と新パスワード(Npasswd)を同一のものとして取り扱う。
そして、認証情報(uidとpasswdとNpasswd)の入力が完了すると(ステップ86のYes)、この認証情報を認証要求管理部12に出力する(ステップ87)。
クライアント通信部13は、認証要求管理部12から入力したユーザIDと第四のハッシュ値と第五のハッシュ値をサーバ通信部21に送信し(ステップ30のYes,ステップ31)、サーバ通信部21はこれらの情報を受信して認証情報管理部22に出力する(ステップ40のNo,ステップ42のYes,ステップ43)。
そして、これらのハッシュ値が一致しない場合(ステップ65のNo)、認証情報管理部22は、認証結果として認証失敗をサーバ通信部21に出力する(図9aのステップ61)。
そして、認証情報管理部22は、認証結果として認証成功をサーバ通信部21に出力する(図9aのステップ60)。
そして、認証要求管理部12は、クライアント通信部13から認証結果を入力すると(図6aのステップ20のYes)、この認証結果を表示手段に出力することなどにより、ユーザに通知する(ステップ21)。
また、ハッシュアルゴリズムを変更した場合でも、ユーザ認証を行うタイミングで、認証処理を行うとともに既存のユーザ情報を個別に新たなハッシュアルゴリズムを用いて更新できるため、ハッシュアルゴリズムの変更時にユーザ情報を一括して新規に作成するために認証システムを停止することなく、その認証システムを継続して利用することが可能となる。
例えば、図1には、一の認証クライアント装置10のみを示しているが、一の認証サーバ装置20に二以上の認証クライアント装置10を接続する構成とすることも可能である。また、ハッシュアルゴリズムとして、図2に示したもの以外の新たなアルゴリズムを追加するなど適宜変更することが可能である。
11 認証情報入力部
12 認証要求管理部
13 クライアント通信部
14 ハッシュアルゴリズムリスト
15 ハッシュ値生成部
20 認証サーバ装置
21 サーバ通信部
22 認証情報管理部
23 ハッシュアルゴリズム強度テーブル
24 ユーザ情報管理テーブル
25 乱数生成部
26 ハッシュ値生成部
Claims (9)
- 通信回線を介して接続されたクライアント装置及びサーバ装置により、ハッシュアルゴリズムを用いて前記クライアント装置のユーザの認証を行う認証システムであって、
前記クライアント装置が、
ユーザの識別情報及びパスワードを含む認証情報を入力する認証情報入力手段と、
前記サーバ装置から送信されてきた第一のハッシュアルゴリズム識別子に対応する第一のハッシュアルゴリズムを用いて前記認証情報から第一のハッシュ値を生成し、前記第一のハッシュアルゴリズムを用いて前記第一のハッシュ値と前記サーバ装置から送信されてきた乱数から第二のハッシュ値を生成するクライアント側ハッシュ値生成手段と、
前記サーバ装置に認証処理を開始させるための認証要求情報を前記サーバ装置に送信し、前記サーバ装置から前記乱数と前記第一のハッシュアルゴリズム識別子を受信し、前記認証情報入力手段により入力された前記ユーザの識別情報と前記第二のハッシュ値を前記サーバ装置に送信し、前記サーバ装置から認証結果を受信する認証要求管理手段と、を備え、
前記サーバ装置が、
前記ユーザの識別情報ごとに、それぞれ対応する第二のハッシュアルゴリズム識別子と、このハッシュアルゴリズム識別子に対応する第二のハッシュアルゴリズムを用いて前記ユーザの識別情報及び前記パスワードを含む認証情報から予め生成された第三のハッシュ値とを含むユーザ情報を記憶するユーザ情報記憶手段と、
乱数を生成する乱数生成手段と、
ハッシュ値を生成するサーバ側ハッシュ値生成手段と、
前記クライアント装置から前記認証要求情報を受信すると、前記乱数生成手段に乱数を生成させ、前記乱数と前記第一のハッシュアルゴリズム識別子を前記クライアント装置に送信し、前記クライアント装置から前記ユーザの識別情報と前記第二のハッシュ値を受信すると、この受信した前記ユーザの識別情報に対応するユーザ情報を前記ユーザ情報記憶手段から取得し、前記取得したユーザ情報に含まれる前記第二のハッシュアルゴリズム識別子と前記第一のハッシュアルゴリズム識別子とが一致するか否かを判定し、一致する場合、前記サーバ側ハッシュ値生成手段に、前記第一のハッシュアルゴリズムを用いて前記取得したユーザ情報に含まれる第三のハッシュ値と前記乱数から第四のハッシュ値を生成させ、前記第二のハッシュ値と前記第四のハッシュ値とが一致するか否かを判定し、一致する場合、認証成功を示す認証結果を前記クライアント装置に送信し、一致しない場合、認証失敗を示す認証結果を前記クライアント装置に送信する認証情報管理手段と、を備えた
ことを特徴とする認証システム。 - 前記サーバ装置における前記認証情報管理手段が、
前記第二のハッシュアルゴリズム識別子と前記第一のハッシュアルゴリズム識別子とが一致しないと判定した場合、前記第二のハッシュアルゴリズム識別子をハッシュアルゴリズム変更要求情報として前記クライアント装置に送信し、
前記クライアント装置における前記認証要求管理手段が、
前記第二のハッシュアルゴリズム識別子を受信すると、前記認証情報入力手段に、前記ユーザの識別情報、パスワード、及び新パスワードを再入力させ、前記クライアント側ハッシュ値生成手段に、前記第二のハッシュアルゴリズムを用いて再入力された前記ユーザの識別情報及び前記パスワードから新しい第三のハッシュ値を生成させるとともに、前記第一のハッシュアルゴリズムを用いて前記新しい第三のハッシュ値と前記乱数から新しい第四のハッシュ値を生成させ、さらに前記第一のハッシュアルゴリズムを用いて再入力された前記ユーザの識別情報及び前記新パスワードから第五のハッシュ値を生成させ、前記ユーザの識別情報、前記新しい第四のハッシュ値、及び前記第五のハッシュ値を前記サーバ装置に送信し、
前記サーバ装置における前記認証情報管理手段が、
前記ユーザの識別情報、前記新しい第四のハッシュ値、及び前記第五のハッシュ値を受信すると、前記サーバ側ハッシュ値生成手段に、前記第一のハッシュアルゴリズムを用いて前記取得したユーザ情報に含まれる第三のハッシュ値と前記乱数から第四のハッシュ値を生成させ、前記第四のハッシュ値と前記新しい第四のハッシュ値とが一致するか否かを判定し、一致する場合、前記ユーザ情報記憶手段における前記ユーザの識別情報に対応する前記第二のハッシュアルゴリズム識別子及び前記第三のハッシュ値を、それぞれ前記第一のハッシュアルゴリズム識別子及び前記第五のハッシュ値に更新して、認証成功を示す認証結果を前記クライアント装置に送信し、一致しない場合、認証失敗を示す認証結果を前記クライアント装置に送信する
ことを特徴とする請求項1記載の認証システム。 - 前記クライアント装置が、当該クライアント装置において使用可能なハッシュアルゴリズムの識別子の一覧を記憶するハッシュアルゴリズム識別子記憶手段を備え、
前記サーバ装置が、ハッシュアルゴリズムの識別子ごとに、対応するハッシュアルゴリズムの強度を記憶するハッシュアルゴリズム強度記憶手段を備え、
前記クライアント装置における前記認証要求管理手段が、
前記認証要求情報を前記サーバ装置に送信するにあたり、前記ハッシュアルゴリズムの識別子の一覧を前記サーバ装置に送信し、
前記サーバ装置における前記認証情報管理手段が、
前記クライアント装置から前記認証要求情報と前記ハッシュアルゴリズムの識別子の一覧を受信すると、前記ハッシュアルゴリズム強度記憶手段に記憶されている各ハッシュアルゴリズムの強度にもとづいて、前記ハッシュアルゴリズムの識別子の一覧から最も強度の高いハッシュアルゴリズムの識別子を選択し、この選択した識別子を前記第一のハッシュアルゴリズム識別子として、前記乱数とともに前記クライアント装置に送信する
ことを特徴とする請求項1又は2記載の認証システム。 - 通信回線を介して接続されたクライアント装置及びサーバ装置によりハッシュアルゴリズムを用いて、前記クライアント装置のユーザの認証を行う認証方法であって、
前記クライアント装置における認証要求管理手段が、前記サーバ装置に認証処理を開始させるための認証要求情報を前記サーバ装置に送信し、
前記サーバ装置における認証情報管理手段が、前記クライアント装置から前記認証要求情報を受信すると、前記サーバ装置における乱数生成手段に乱数を生成させ、前記乱数と所定の第一のハッシュアルゴリズム識別子を前記クライアント装置に送信し、
前記クライアント装置における前記認証要求管理手段が、前記サーバ装置から前記乱数と前記第一のハッシュアルゴリズム識別子を受信し、
前記クライアント装置における認証情報入力手段が、ユーザの識別情報及びパスワードを含む認証情報を入力し、
前記クライアント装置におけるクライアント側ハッシュ値生成手段が、前記第一のハッシュアルゴリズム識別子に対応する第一のハッシュアルゴリズムを用いて前記認証情報から第一のハッシュ値を生成し、前記第一のハッシュアルゴリズムを用いて前記第一のハッシュ値と前記乱数から第二のハッシュ値を生成し、
前記クライアント装置における前記認証要求管理手段が、前記ユーザの識別情報と前記第二のハッシュ値を前記サーバ装置に送信し、
前記サーバ装置におけるユーザ情報記憶手段が、前記ユーザの識別情報ごとに、それぞれ対応する第二のハッシュアルゴリズム識別子と、このハッシュアルゴリズム識別子に対応する第二のハッシュアルゴリズムを用いて前記ユーザの識別情報及び前記パスワードを含む認証情報から予め生成された第三のハッシュ値とを含むユーザ情報を予め記憶しており、
前記サーバ装置における前記認証情報管理手段が、前記クライアント装置から前記ユーザの識別情報と前記第二のハッシュ値を受信すると、この受信した前記ユーザの識別情報に対応するユーザ情報を前記ユーザ情報記憶手段から取得し、前記取得したユーザ情報に含まれる前記第二のハッシュアルゴリズム識別子と前記第一のハッシュアルゴリズム識別子とが一致するか否かを判定し、一致する場合、前記サーバ装置におけるサーバ側ハッシュ値生成手段に、前記第一のハッシュアルゴリズムを用いて前記取得したユーザ情報に含まれる第三のハッシュ値と前記乱数から第四のハッシュ値を生成させ、前記第二のハッシュ値と前記第四のハッシュ値とが一致するか否かを判定し、一致する場合、認証成功を示す認証結果を前記クライアント装置に送信し、一致しない場合、認証失敗を示す認証結果を前記クライアント装置に送信し、
前記クライアント装置における前記認証要求管理手段が、前記サーバ装置から認証結果を受信する
ことを特徴とする認証方法。 - 前記サーバ装置における前記認証情報管理手段が、前記第二のハッシュアルゴリズム識別子と前記第一のハッシュアルゴリズム識別子とが一致しないと判定した場合、前記第二のハッシュアルゴリズム識別子をハッシュアルゴリズム変更要求情報として前記クライアント装置に送信し、
前記クライアント装置における前記認証要求管理手段が、前記第二のハッシュアルゴリズム識別子を受信すると、前記クライアント装置における前記認証情報入力手段に、前記ユーザの識別情報、パスワード、及び新パスワードを再入力させ、前記クライアント装置における前記クライアント側ハッシュ値生成手段に、前記第二のハッシュアルゴリズムを用いて再入力された前記ユーザの識別情報及び前記パスワードから新しい第三のハッシュ値を生成させるとともに、前記第一のハッシュアルゴリズムを用いて前記新しい第三のハッシュ値と前記乱数から新しい第四のハッシュ値を生成させ、さらに前記第一のハッシュアルゴリズムを用いて再入力された前記ユーザの識別情報及び前記新パスワードから第五のハッシュ値を生成させて、前記ユーザの識別情報、前記新しい第四のハッシュ値、及び前記第五のハッシュ値を前記サーバ装置に送信し、
前記サーバ装置における前記認証情報管理手段が、前記ユーザの識別情報、前記新しい第四のハッシュ値、及び前記第五のハッシュ値を受信すると、前記サーバ装置における前記サーバ側ハッシュ値生成手段に、前記第一のハッシュアルゴリズムを用いて前記取得したユーザ情報に含まれる第三のハッシュ値と前記乱数から第四のハッシュ値を生成させ、前記第四のハッシュ値と前記新しい第四のハッシュ値とが一致するか否かを判定し、一致する場合、前記ユーザ情報記憶手段における前記ユーザの識別情報に対応する前記第二のハッシュアルゴリズム識別子及び前記第三のハッシュ値を、それぞれ前記第一のハッシュアルゴリズム識別子及び前記第五のハッシュ値に更新して、認証成功を示す認証結果を前記クライアント装置に送信し、一致しない場合、認証失敗を示す認証結果を前記クライアント装置に送信する
ことを特徴とする請求項4記載の認証方法。 - 前記クライアント装置が、当該クライアント装置において使用可能なハッシュアルゴリズムの識別子の一覧を記憶するハッシュアルゴリズム識別子記憶手段を備えるとともに、前記サーバ装置が、ハッシュアルゴリズムの識別子ごとに、対応するハッシュアルゴリズムの強度を記憶するハッシュアルゴリズム強度記憶手段を備えており、
前記クライアント装置における前記認証要求管理手段が、前記認証要求情報を前記サーバ装置に送信するにあたり、前記ハッシュアルゴリズムの識別子の一覧を前記サーバ装置に送信し、
前記サーバ装置における前記認証情報管理手段が、前記クライアント装置から前記認証要求情報と前記ハッシュアルゴリズムの識別子の一覧を受信すると、前記ハッシュアルゴリズム強度記憶手段に記憶されている各ハッシュアルゴリズムの強度にもとづいて、前記ハッシュアルゴリズムの識別子の一覧から最も強度の高いハッシュアルゴリズムの識別子を選択し、この選択した識別子を前記第一のハッシュアルゴリズム識別子として、前記乱数とともに前記クライアント装置に送信する
ことを特徴とする請求項4又は5記載の認証方法。 - 通信回線を介して接続されたクライアント装置及びサーバ装置によりハッシュアルゴリズムを用いて、前記クライアント装置のユーザの認証を行わせる認証プログラムであって、
前記クライアント装置を、
ユーザの識別情報及びパスワードを含む認証情報を入力する認証情報入力手段、
前記サーバ装置から送信されてきた第一のハッシュアルゴリズム識別子に対応する第一のハッシュアルゴリズムを用いて前記認証情報から第一のハッシュ値を生成し、前記第一のハッシュアルゴリズムを用いて前記第一のハッシュ値と前記サーバ装置から送信されてきた乱数から第二のハッシュ値を生成するクライアント側ハッシュ値生成手段、及び、
前記サーバ装置に認証処理を開始させるための認証要求情報を前記サーバ装置に送信し、前記サーバ装置から前記乱数と前記第一のハッシュアルゴリズム識別子を受信し、前記認証情報入力手段により入力された前記ユーザの識別情報と前記第二のハッシュ値を前記サーバ装置に送信し、前記サーバ装置から認証結果を受信する認証要求管理手段として機能させ、
前記サーバ装置を、
前記ユーザの識別情報ごとに、それぞれ対応する第二のハッシュアルゴリズム識別子と、このハッシュアルゴリズム識別子に対応する第二のハッシュアルゴリズムを用いて前記ユーザの識別情報及び前記パスワードを含む認証情報から予め生成された第三のハッシュ値とを含むユーザ情報を記憶するユーザ情報記憶手段、
乱数を生成する乱数生成手段、
ハッシュ値を生成するサーバ側ハッシュ値生成手段、及び、
前記クライアント装置から前記認証要求情報を受信すると、前記乱数生成手段に乱数を生成させ、前記乱数と所定の第一のハッシュアルゴリズム識別子を前記クライアント装置に送信し、前記クライアント装置から前記ユーザの識別情報と前記第二のハッシュ値を受信すると、この受信した前記ユーザの識別情報に対応する前記ユーザ情報を前記ユーザ情報記憶手段から取得し、取得した前記ユーザ情報に含まれる前記第二のハッシュアルゴリズム識別子と前記第一のハッシュアルゴリズム識別子とが一致するか否かを判定し、一致する場合、前記サーバ側ハッシュ値生成手段に、前記第一のハッシュアルゴリズムを用いて前記取得したユーザ情報に含まれる第三のハッシュ値と前記乱数から第四のハッシュ値を生成させ、前記第二のハッシュ値と前記第四のハッシュ値とが一致するか否かを判定し、一致する場合、認証成功を示す認証結果を前記クライアント装置に送信し、一致しない場合、認証失敗を示す認証結果を前記クライアント装置に送信する認証情報管理手段
として機能させるための認証プログラム。 - 前記サーバ装置における前記認証情報管理手段に、
前記第二のハッシュアルゴリズム識別子と前記第一のハッシュアルゴリズム識別子とが一致しないと判定された場合、前記第二のハッシュアルゴリズム識別子をハッシュアルゴリズム変更要求情報として前記クライアント装置に送信させ、
前記クライアント装置における前記認証要求管理手段に、前記第二のハッシュアルゴリズム識別子が受信されると、
前記クライアント装置における前記認証情報入力手段に、前記ユーザの識別情報、パスワード、及び新パスワードを再入力させ、
前記クライアント装置における前記クライアント側ハッシュ値生成手段に、前記第二のハッシュアルゴリズムを用いて再入力された前記ユーザの識別情報及び前記パスワードから新しい第三のハッシュ値を生成させるとともに、前記第一のハッシュアルゴリズムを用いて前記新しい第三のハッシュ値と前記乱数から新しい第四のハッシュ値を生成させ、さらに前記第一のハッシュアルゴリズムを用いて再入力された前記ユーザの識別情報及び前記新パスワードから第五のハッシュ値を生成させ、
前記クライアント装置における前記認証要求管理手段に、前記ユーザの識別情報、前記新しい第四のハッシュ値、及び前記第五のハッシュ値を前記サーバ装置へ送信させ、
前記サーバ装置における前記認証情報管理手段に、前記ユーザの識別情報、前記新しい第四のハッシュ値、及び前記第五のハッシュ値が受信されると、
前記サーバ装置における前記サーバ側ハッシュ値生成手段に、前記第一のハッシュアルゴリズムを用いて前記取得したユーザ情報に含まれる第三のハッシュ値と前記乱数から第四のハッシュ値を生成させ、
前記サーバ装置における前記認証情報管理手段に、前記第四のハッシュ値と前記新しい第四のハッシュ値とが一致するか否かを判定させ、一致する場合、前記ユーザ情報記憶手段における前記ユーザの識別情報に対応する前記第二のハッシュアルゴリズム識別子及び前記第三のハッシュ値を、それぞれ前記第一のハッシュアルゴリズム識別子及び前記第五のハッシュ値に更新させて、認証成功を示す認証結果を前記クライアント装置へ送信させ、一致しない場合、認証失敗を示す認証結果を前記クライアント装置へ送信させる
ことを実行させるための請求項7記載の認証プログラム。 - 前記クライアント装置を、当該クライアント装置において使用可能なハッシュアルゴリズムの識別子の一覧を記憶するハッシュアルゴリズム識別子記憶手段として機能させるとともに、
前記サーバ装置を、ハッシュアルゴリズムの識別子ごとに、対応するハッシュアルゴリズムの強度を記憶するハッシュアルゴリズム強度記憶手段として機能させ、
前記クライアント装置における前記認証要求管理手段に、前記認証要求情報を前記サーバ装置へ送信させるにあたり、前記ハッシュアルゴリズムの識別子の一覧を前記サーバ装置へ送信させ、
前記サーバ装置における前記認証情報管理手段に、前記クライアント装置から前記認証要求情報と前記ハッシュアルゴリズムの識別子の一覧が受信されると、前記ハッシュアルゴリズム強度記憶手段に記憶されている各ハッシュアルゴリズムの強度にもとづいて、前記ハッシュアルゴリズムの識別子の一覧から最も強度の高いハッシュアルゴリズムの識別子を選択させ、この選択された識別子を前記第一のハッシュアルゴリズム識別子として、前記乱数とともに前記クライアント装置へ送信させる
ことを実行させるための請求項7又は8記載の認証プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007014897A JP4258551B2 (ja) | 2007-01-25 | 2007-01-25 | 認証システム、認証方法、及び認証プログラム |
US12/015,630 US8180054B2 (en) | 2007-01-25 | 2008-01-17 | Authenticating system, authenticating method, and authenticating program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007014897A JP4258551B2 (ja) | 2007-01-25 | 2007-01-25 | 認証システム、認証方法、及び認証プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008182535A JP2008182535A (ja) | 2008-08-07 |
JP4258551B2 true JP4258551B2 (ja) | 2009-04-30 |
Family
ID=39668002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007014897A Expired - Fee Related JP4258551B2 (ja) | 2007-01-25 | 2007-01-25 | 認証システム、認証方法、及び認証プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8180054B2 (ja) |
JP (1) | JP4258551B2 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100932536B1 (ko) * | 2007-11-20 | 2009-12-17 | 한국전자통신연구원 | 사용자 정보 관리 장치 및 방법 |
US20100246815A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the kasumi cipher algorithm |
US20100250965A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm |
US8654970B2 (en) * | 2009-03-31 | 2014-02-18 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the data encryption standard (DES) algorithm |
US9317286B2 (en) * | 2009-03-31 | 2016-04-19 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the camellia cipher algorithm |
US8832464B2 (en) * | 2009-03-31 | 2014-09-09 | Oracle America, Inc. | Processor and method for implementing instruction support for hash algorithms |
JP5286380B2 (ja) * | 2011-03-07 | 2013-09-11 | 株式会社東芝 | データ送信装置および送信方法 |
US9778912B2 (en) * | 2011-05-27 | 2017-10-03 | Cassy Holdings Llc | Stochastic processing of an information stream by a processing architecture generated by operation of non-deterministic data used to select data processing modules |
US8789154B2 (en) * | 2011-06-30 | 2014-07-22 | Qualcomm Incorporated | Anti-shoulder surfing authentication method |
CN102868665B (zh) * | 2011-07-05 | 2016-07-27 | 华为软件技术有限公司 | 数据传输的方法及装置 |
US9648011B1 (en) * | 2012-02-10 | 2017-05-09 | Protegrity Corporation | Tokenization-driven password generation |
JP5612006B2 (ja) | 2012-03-13 | 2014-10-22 | 株式会社東芝 | データ送信装置、データ受信装置、及びプログラム |
US9305150B2 (en) * | 2012-12-10 | 2016-04-05 | Lookout, Inc. | Method and system for managing user login behavior on an electronic device for enhanced security |
US9201629B2 (en) | 2013-03-14 | 2015-12-01 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
US8873750B2 (en) * | 2013-03-14 | 2014-10-28 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
US9282093B2 (en) * | 2013-04-30 | 2016-03-08 | Microsoft Technology Licensing, Llc | Synchronizing credential hashes between directory services |
US9246677B2 (en) * | 2013-07-01 | 2016-01-26 | Infosys Limited | Method and system for secure data communication between a user device and a server |
KR102182894B1 (ko) | 2014-02-28 | 2020-11-26 | 삼성전자주식회사 | 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법 |
CN103841108B (zh) * | 2014-03-12 | 2018-04-27 | 北京天诚盛业科技有限公司 | 用户生物特征的认证方法和系统 |
US9237129B2 (en) | 2014-05-13 | 2016-01-12 | Dell Software Inc. | Method to enable deep packet inspection (DPI) in openflow-based software defined network (SDN) |
SE538349C3 (en) * | 2014-09-30 | 2016-06-28 | Tokon Security Ab | Method for authentication using an electronic device |
US9537872B2 (en) * | 2014-12-31 | 2017-01-03 | Dell Software Inc. | Secure neighbor discovery (SEND) using pre-shared key |
US9998425B2 (en) | 2015-01-27 | 2018-06-12 | Sonicwall Inc. | Dynamic bypass of TLS connections matching exclusion list in DPI-SSL in a NAT deployment |
US9876783B2 (en) | 2015-12-22 | 2018-01-23 | International Business Machines Corporation | Distributed password verification |
CN110999209B (zh) * | 2017-06-20 | 2022-08-16 | 诺基亚技术有限公司 | 一种用于通信的装置、方法和非瞬态计算机可读介质 |
EP3506138A1 (en) * | 2017-12-29 | 2019-07-03 | Gemalto Sa | Authentication method, device and system |
US11126755B2 (en) * | 2018-01-30 | 2021-09-21 | Hewlett Packard Enterprise Development Lp | Object signatures in object stores |
US11509647B2 (en) * | 2019-01-28 | 2022-11-22 | Microsoft Technology Licensing, Llc | Determination of weak hashed credentials |
US10790967B1 (en) * | 2019-11-18 | 2020-09-29 | Capital One Services, Llc | Server side authentication |
JP7445135B2 (ja) * | 2020-08-27 | 2024-03-07 | 富士通株式会社 | 通信プログラム、通信装置、通信方法、及び通信システム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000057099A (ja) | 1998-08-12 | 2000-02-25 | Open Loop:Kk | 認証装置及び記録媒体 |
US6834112B1 (en) * | 2000-04-21 | 2004-12-21 | Intel Corporation | Secure distribution of private keys to multiple clients |
US7921290B2 (en) * | 2001-04-18 | 2011-04-05 | Ipass Inc. | Method and system for securely authenticating network access credentials for users |
US20040093525A1 (en) * | 2002-02-01 | 2004-05-13 | Larnen Vincent Alan | Process based security tai building |
FR2837009A1 (fr) | 2002-03-11 | 2003-09-12 | Schlumberger Systems & Service | Mise a jour d'un algorithme d'authentification dans un systeme informatique |
US7793323B2 (en) * | 2002-04-29 | 2010-09-07 | The Boeing Company | Digital cinema system hub for multiple exhibitor distribution |
US7636840B2 (en) * | 2002-07-10 | 2009-12-22 | Dresser, Inc. | Secure communications and control in a fueling environment |
JP2004310202A (ja) | 2003-04-02 | 2004-11-04 | Nec Corp | 個人認証システムおよび方法 |
JP2005094146A (ja) | 2003-09-12 | 2005-04-07 | Nippon Telegr & Teleph Corp <Ntt> | バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体 |
US7591012B2 (en) * | 2004-03-02 | 2009-09-15 | Microsoft Corporation | Dynamic negotiation of encryption protocols |
EP1745589B1 (en) * | 2004-04-30 | 2014-07-16 | BlackBerry Limited | System and method for configuring devices for secure operations |
US7464865B2 (en) * | 2006-04-28 | 2008-12-16 | Research In Motion Limited | System and method for managing multiple smart card sessions |
-
2007
- 2007-01-25 JP JP2007014897A patent/JP4258551B2/ja not_active Expired - Fee Related
-
2008
- 2008-01-17 US US12/015,630 patent/US8180054B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008182535A (ja) | 2008-08-07 |
US8180054B2 (en) | 2012-05-15 |
US20080181403A1 (en) | 2008-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4258551B2 (ja) | 認証システム、認証方法、及び認証プログラム | |
US10013692B2 (en) | Systems and methods for authorizing transactions via a digital device | |
US10454913B2 (en) | Device authentication agent | |
US10313126B2 (en) | Barcode security authentication method | |
US20210234857A1 (en) | Authentication system, authentication method, and application providing method | |
CN109660343A (zh) | 令牌更新方法、装置、计算机设备及存储介质 | |
US20050021957A1 (en) | Authentication method in wire/wireless communication system using markup language | |
KR20160099922A (ko) | 사용자 인증서 발급과 사용자 인증을 위한 방법, 장치 및 컴퓨터 프로그램 | |
US9027103B2 (en) | Method and system for securely accessing to protected resource | |
CN112637131A (zh) | 用户身份认证方法、装置、设备和存储介质 | |
KR102162044B1 (ko) | 블록체인 기반의 사용자 인증 방법 및 그 시스템 | |
CN109660330B (zh) | 一种在区块链上进行身份认证的方法及系统 | |
WO2017000479A1 (zh) | 身份信息认证方法、用户终端、服务终端、认证服务器以及服务系统 | |
KR20210142180A (ko) | 효율적인 챌린지-응답 인증을 위한 시스템 및 방법 | |
CN105743854A (zh) | 安全认证系统及方法 | |
US20150310441A1 (en) | Transaction system method, electronic signature tool, and network bank server authentication | |
CN114430324B (zh) | 基于哈希链的线上快速身份验证方法 | |
CN111324885A (zh) | 一种分布式身份认证方法 | |
EP1398903B1 (en) | Digital signature validation and generation | |
JP6081857B2 (ja) | 認証システムおよび認証方法 | |
TWI645308B (zh) | Electronic transaction authentication method and system using mobile device application | |
US11483166B2 (en) | Methods and devices for enrolling and authenticating a user with a service | |
US10354243B2 (en) | Authentication method and a server | |
JP2021508892A (ja) | 電子デバイスの無欠性検査 | |
JP5793593B2 (ja) | ユーザ識別情報を安全に検証するためのネットワーク認証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20090113 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4258551 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140220 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |