説明

情報処理装置、認証方法、及びコンピュータプログラム

【課題】 ユーザの認証情報を一方向性関数に基づく値に変換して保存する場合に、変換に使用するアルゴリズムを、管理者の負担を増やすことなく、且つユーザに意識させることなく変更できるようにする。
【解決手段】 ユーザにより入力されたアカウント名に対応するハッシュ値として、変更前のハッシュ関数(MD5)により得られたハッシュ値が記憶されている場合、ユーザにより入力されたパスワードからMD5を用いてハッシュ値を算出する。そして、算出したハッシュ値と記憶されているハッシュ値とが一致するか否かを判定する。これらのハッシュ値が一致する場合には、記憶されているハッシュ値を削除すると共に、ユーザにより入力されたパスワードから、変更後のハッシュ関数r(SHA−1)を用いてハッシュ値を新たに算出する。そして、新たに算出したハッシュ値をそのユーザのパスワードのハッシュ値として新たに記憶する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、認証方法、及びコンピュータプログラムに関し、特に、ユーザの認証を行うために用いて好適なものである。
【背景技術】
【0002】
ハッシュアルゴリズムは、その特徴として一方向性と非衝突性とを有していることから、システム内にパスワードを保存する際に利用されることがある。具体的には、パスワードをそのまま保存するのでなく、パスワードのハッシュ値を保存するといった用途で利用されることがある。
一方近年、ハッシュ関数の一種であるMD5の脆弱性が発見される等、ハッシュアルゴリズムに対する攻撃が成功したことに関する報告が相次いでいる。このようにハッシュアルゴリズムに対する攻撃に成功した場合であっても、必ずしもハッシュ値からパスワードを推測することができるわけではない。しかしながら、セキュリティの向上を考慮する場合、攻撃に成功したものとは異なるハッシュアルゴリズムを採用することが好ましい。
【0003】
アルゴリズムの変更を行うための従来の技術としては、以下のものがあげられる。
特許文献1では、まず、システムに既に登録されている画像に施したデータ特徴量抽出処理のアルゴリズムのバージョンが現在使用しているバージョンと異なる画像が含まれているか否かを判定する。この判定の結果、現在使用しているバージョンと異なる画像が含まれている場合に、その画像に対して、現在使用しているデータ特徴量抽出処理のアルゴリズムを用いて、特徴量及びその重み情報を算出する。
また、特許文献2では、相互に認証を行う第1装置から第2の装置に古い認証用鍵を送信し、古い認証用鍵が第2の装置で正しく認証されると、新しい認証用鍵を第2の装置から第1の装置に送信する。そして、新しい認証用鍵が第1の装置で正しく認証されると、第1の装置は古い認証用鍵を新しい認証用鍵に更新する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−84271号公報
【特許文献2】特開2005−278065号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、前述した従来の技術では、パスワードのハッシュ値であって、古いハッシュアルゴリズムで求めたハッシュ値がシステムに既に登録されている場合に、使用するハッシュアルゴリズムを変更すると、以下に示すような問題点があった。
すなわち、既にシステムに登録されているハッシュ値は、古いハッシュアルゴリズムでないと算出できない。このため、ハッシュアルゴリズムを新しいものに入れ替えると、既にシステムに登録されているハッシュ値は無効になってしまう。この古いハッシュ値がパスワードのハッシュ値であった場合、ユーザが正しいパスワードを入力しても、ハッシュアルゴリズムが異なるため、求まるハッシュ値も異なることになる。そうすると、ユーザがシステムにログインできなくなる。ユーザの利便性を考えた場合、ハッシュアルゴリズムの変更があったとしても、その変更の前と同じパスワードでシステムにログインできた方が、ユーザがシステムの変更を意識する必要がないため、好ましい。
【0006】
そこで、ハッシュアルゴリズムの変更時に、システム内に保存している古いハッシュ値から新しいハッシュアルゴリズムによるハッシュ値を求めることが考えられる。このようにすれば、ハッシュアルゴリズムの変更前後で、ユーザは同じパスワードを用いてシステムにログインできる。新しいハッシュ値を求めるためには、元となるパスワードをシステムが知っていることと、古いハッシュ値から元となるパスワードをシステムが推測できることとの何れかが必要になる。しかしながら、元となるパスワードをシステムに認識させることは非常に困難である。また、ハッシュアルゴリズムの特徴として一方向性があるので、古いハッシュ値から元になったパスワードを推測することは非常に困難である。したがって、古いハッシュ値から新しいハッシュ値を生成することはできない。よって、ハッシュアルゴリズムを変更すると、ユーザは元のパスワードではシステムにログインできなくなる。
【0007】
また、ユーザがシステムにログインできるようにするために、管理者が各ユーザのパスワードを再設定することも考えられる。この場合、管理者が入力したパスワードから、新しいハッシュアルゴリズムを用いて新しいハッシュ値を求めることが可能である。よって新しいハッシュ値をシステム内に保存すれば、それ以降は管理者が設定したパスワードを利用して、ユーザはシステムにログインできるようになる。しかしながら、パスワードの再設定を必要とするユーザの数が多い場合、パスワードを設定するために管理者にかかる負担が大きくなる。
【0008】
この他にも、システムが自動で新しいパスワードを生成し、新しいハッシュアルゴリズムで新しいハッシュ値を求め、各ユーザに新しいパスワードを通知することも考えられる。しかしながら、いずれにせよ、ハッシュアルゴリズムが変更されるとユーザは、パスワードの変更を余儀なくされる。
【0009】
そこで、本発明では、ユーザの認証情報を一方向性関数に基づく値に変換して保存する場合に、変換に使用するアルゴリズムを、管理者の負担を増やすことなく、且つユーザに意識させることなく変更できるようにすることを目的とする。
【課題を解決するための手段】
【0010】
本発明の情報処理装置は、ユーザの認証情報を取得する取得手段と、前記取得手段により取得されたユーザの認証情報を、第1の一方向性関数に基づいて第1の変換値に変換する第1の変換手段と、前記取得手段により取得されたユーザの認証情報を、第2の一方向性関数に基づいて第2の変換値に変換する第2の変換手段と、前記取得手段により取得された認証情報を前記第1の変換手段により変換された変換値と既に記憶されている前記第1の変換値の比較、または前記第2の変換手段により変換された変換値と既に記憶されている前記第2の変換値の比較を行い、ユーザの認証を行う認証手段と、を有し、更に、前記取得手段によりユーザの認証情報が取得された際に、当該ユーザが前記第1の一方向性関数を使用する必要があるユーザである場合は、前記第1の変換手段による前記認証情報の変換を行い前記認証手段による前記第1の変換値に基づいた認証を行うとともに、前記第2の変換手段による前記認証情報の変換を行い前記第2の変換値を記憶し、前記認証手段は次回以降のユーザの認証時に前記第2の変換値を用いたユーザの認証を行うことが可能になることを特徴とする。
【0011】
本発明の認証方法は、ユーザの認証情報を取得する取得ステップと、前記取得ステップにより取得されたユーザの認証情報を、第1の一方向性関数に基づいて第1の変換値に変換する第1の変換ステップと、前記取得ステップにより取得されたユーザの認証情報を、第2の一方向性関数に基づいて第2の変換値に変換する第2の変換ステップと、前記取得ステップにより取得された認証情報を前記第1の変換ステップにより変換された変換値と既に記憶されている前記第1の変換値の比較、または前記第2の変換ステップにより変換された変換値と既に記憶されている前記第2の変換値の比較を行い、ユーザの認証を行う認証ステップと、を有し、更に、前記取得ステップによりユーザの認証情報が取得された際に、当該ユーザが前記第1の一方向性関数を使用する必要があるユーザである場合は、前記第1の変換ステップによる前記認証情報の変換を行い前記認証ステップによる前記第1の変換値に基づいた認証を行うとともに、前記第2の変換ステップによる前記認証情報の変換を行い前記第2の変換値を記憶し、前記認証ステップは次回以降のユーザの認証時に前記第2の変換値を用いたユーザの認証を行うことが可能になることを特徴とする。
【0012】
本発明のコンピュータプログラムは、ユーザの認証情報を取得する取得ステップと、前記取得ステップにより取得されたユーザの認証情報を、第1の一方向性関数に基づいて第1の変換値に変換する第1の変換ステップと、前記取得ステップにより取得されたユーザの認証情報を、第2の一方向性関数に基づいて第2の変換値に変換する第2の変換ステップと、前記取得ステップにより取得された認証情報を前記第1の変換ステップにより変換された変換値と既に記憶されている前記第1の変換値の比較、または前記第2の変換ステップにより変換された変換値と既に記憶されている前記第2の変換値の比較を行い、ユーザの認証を行う認証ステップと、をコンピュータに実行させ、更に、前記取得ステップによりユーザの認証情報が取得された際に、当該ユーザが前記第1の一方向性関数を使用する必要があるユーザである場合は、前記第1の変換ステップによる前記認証情報の変換を行い前記認証ステップによる前記第1の変換値に基づいた認証を行うとともに、前記第2の変換ステップによる前記認証情報の変換を行い前記第2の変換値を記憶することをコンピュータに実行させ、前記認証ステップは次回以降のユーザの認証時に前記第2の変換値を用いたユーザの認証を行うことが可能になることを特徴とする。
【発明の効果】
【0013】
本発明によれば、ユーザの認証情報の変換に使用するアルゴリズム(一方向性関数)を変更しても、ユーザの認証情報を変更する必要がなくなる。したがって、ユーザの認証情報を一方向性関数に基づく値に変換して保存する場合に、変換に使用するアルゴリズムを、管理者の負担を増やすことなく、且つユーザに意識させることなく変更できるようにすることができる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施形態を示し、ネットワークデバイス管理装置のハードウェアの構成の一例を示す図である。
【図2】本発明の第1の実施形態を示し、ネットワークデバイス管理装置における機能構成(サーバモジュール構成)の一例を示す図である。
【図3】本発明の第1の実施形態を示し、ユーザによるにログインを認証する際のネットワークデバイス管理装置の動作の一例を説明するフローチャートである。
【図4】本発明の第1の実施形態を示し、第1の認証情報記憶装置と第2の認証情報記憶装置に記憶されている認証情報管理テーブルの一例を示す図である。
【図5】本発明の第2の実施形態を示し、ネットワークデバイス管理装置における機能構成(サーバモジュール構成)の一例を示す図である。
【図6】本発明の第2の実施形態を示し、追加の認証モジュールの構成の一例を示す図である。
【図7】本発明の第2の実施形態を示し、認証モジュールを追加する際のネットワークデバイス管理装置における動作の一例を説明するフローチャートである。
【図8】本発明の第2の実施形態を示し、認証モジュールが追加された後のネットワークデバイス管理装置における機能構成(サーバモジュール構成)の一例を示す図である。
【発明を実施するための形態】
【0015】
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、ネットワークデバイス管理装置のハードウェアの構成の一例を示す図である。
図1に示すように、ネットワークデバイス管理装置100は、PC(パーソナルコンピュータ)を用いることにより実現できる。図1において、CPU101は、ROM102又はハードディスク(HD)111に記憶されたアプリケーションプログラム、又はフレキシブルディスク(FD)112により供給されるアプリケーションプログラムを実行する。また、CPU101は、システムバス104に接続される各デバイスを総括的に制御する。RAM103は、CPU101の主メモリやワークエリア等として機能する。キーボードコントローラ(KBC)105は、キーボード(KB)109や不図示のポインティングデバイス等からの指示入力を制御する。
【0016】
CRTコントローラ(CRTC)106は、CRTディスプレイ(CRT)110の表示を制御する。ディスクコントローラ(DKC)107は、ハードディスク(HD)111及びフレキシブルディスク(FD)112に対するアクセスを制御する。ネットワークインタフェースカード(NIC)108は、ネットワーク150を介して、外部のネットワーク機器等と双方向にデータをやり取りする。ネットワーク150としてはLANやインターネット等が想定される。ハードディスク(HD)111や、フレキシブルディスク(FD)112は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、アプリケーションプログラム、及びネットワーク制御プログラム等を記憶する。尚、後述する全ての説明において、特に断りのない限り、実行のハード上の主体は主としてCPU101であり、ソフトウェア上の主体は主としてハードディスク(HD)111にインストールされたアプリケーションプログラムである。
【0017】
図2は、ネットワークデバイス管理装置100における機能構成(サーバモジュール構成)の一例を示す図である。ネットワークデバイス管理装置100は、入力装置201、判断装置202、第1の認証装置210、第1のハッシュ演算装置211、及び第1の認証情報記憶装置212を有する。更に、ネットワークデバイス管理装置100は、第2の認証装置220、第2のハッシュ演算装置221及び第2の認証情報記憶装置222を有する。
入力装置201が、ユーザによる操作に従って、アカウント名とパスワードとの入力を受け付けることで認証処理を開始する。尚、入力装置201が受け付けるのは必ずしもアカウント名とパスワードとの組でなくてもよい。
【0018】
図3は、ユーザによるにログインを認証する際のネットワークデバイス管理装置100の動作の一例を説明するフローチャートである。尚、ここでは説明のため、第1の認証装置210、第1のハッシュ演算装置211、及び第1の認証情報記憶装置212が扱うハッシュ関数(変更前のハッシュ関数)をMD5としている。また、第2の認証装置220、第2のハッシュ演算装置221、第2の認証情報記憶装置222が扱うハッシュ関数(変更後のハッシュ関数)をSHA−1としている。しかしながら、使用するハッシュ関数は、前述のものに限定されない。また、パスワードを、一方向性の不可逆的な値に変換することができれば(その値から元のパスワードに変換することができなければ)、ハッシュ(ハッシュ値、ハッシュ関数)を用いる必要もない。
【0019】
まず、ステップS1001において、入力装置201は、ユーザが入力したアカウント名とパスワードとを受信(取得)する。このように本実施形態では、少なくともステップS1001の処理を行うことによって、取得手段が実現される。また、本実施形態では、アカウント名によりユーザの識別情報が実現され、パスワードによりユーザの認証情報が実現される。
次に、ステップS1002において、判断装置202は、使用するハッシュを判定する。具体的に説明すると、判断装置202は、ステップS1001で受信したアカウント名に対応する認証情報が、第1の認証情報記憶装置212と第2の認証情報記憶装置222とのうち、どちらに記憶されているかを判定する。
【0020】
図4は、第1の認証情報記憶装置212と第2の認証情報記憶装置222に記憶されている認証情報管理テーブルの一例を示す図である。認証情報管理テーブル500は、アカウント名と、パスワードから求めたハッシュ値(認証情報)とを互いに関連付けて記憶している。第1の認証情報記憶装置212内の認証情報管理テーブル500で管理されるハッシュ値は、MD5に基づくハッシュ値であり、第2の認証情報記憶装置222内の認証情報管理テーブル500で管理されるハッシュ値は、SHA−1に基づくハッシュ値である。尚、認証情報管理テーブル500で管理する情報は、アカウント名と、パスワードのハッシュ値とに限定されるものではない。
以上のように本実施形態では、少なくともステップS1002の処理を行うことにより、判断手段が実現される。
【0021】
ステップS1002の判定の結果、ステップS1001で受信したアカウント名に該当する認証情報が第2の認証情報記憶装置222に記憶されている場合には、ステップS1101に遷移する。一方、ステップS1001で受信したアカウント名に該当する認証情報が第1の認証情報記憶装置212に記憶されている場合には、後述するステップS1201に遷移する。
【0022】
ステップS1101に遷移すると、第2のハッシュ演算装置221は、ステップS1001で受信されたパスワードから、SHA−1を用いてハッシュ値を算出する。このように本実施形態では、少なくともステップS1101の処理を行うことにより、第3の変換手段が実現される。
次に、ステップS1102において、第2の認証装置220は、ステップS1101で算出されたハッシュ値と、第2の認証情報記憶装置222に記憶されている認証情報であって、ステップS1001で受信されたアカウント名に対応する認証情報とを比較する。そして、第2の認証装置220は、ステップS1101で算出されたハッシュ値と、第2の認証情報記憶装置222に記憶されている認証情報とが一致するか否かを判定する。このように本実施形態では、少なくともステップS1102の処理を行うことにより、第2の認証手段が実現される。
【0023】
この判定の結果、ステップS1101で算出されたハッシュ値と、第2の認証情報記憶装置222に記憶されている認証情報とが一致する場合には、ユーザのログインの認証に成功としたと判定して、ステップS1103に遷移する。一方、ステップS1101で算出されたハッシュ値と、第2の認証情報記憶装置222に記憶されている認証情報とが一致しない場合には、ユーザのログインの認証に失敗したと判定して、ステップS1104に遷移する。
【0024】
ステップS1103に遷移すると、判断装置202は、ユーザのシステムへのログインを許可する。
一方、ステップS1104に遷移すると、判断装置202は、ユーザのシステムへのログインを拒否する。
【0025】
前述したように、ステップS1002において、ステップS1001で受信したアカウント名に該当する認証情報が第1の認証情報記憶装置212に記憶されていると判定された場合には、ステップS1201に遷移する。ステップS1201に遷移すると、第1のハッシュ演算装置211は、ステップS1001で受信したパスワードから、MD5を用いてハッシュ値を算出する。このように本実施形態では、少なくともステップS1201の処理を行うことにより、第1の変換手段が実現される。また、本実施形態では、MD5により第1の一方向性関数が実現され、MD5を用いて算出されたハッシュ値により第1の変換値が実現される。
次に、ステップS1202において、第1の認証装置210は、ステップS1201で算出されたハッシュ値と、第1の認証情報記憶装置212に記憶されている認証情報であって、ステップS1001で受信されたアカウント名に対応する認証情報とを比較する。そして、第1の認証装置210は、ステップS1201で算出されたハッシュ値と、第1の認証情報記憶装置212に記憶されている認証情報とが一致するか否かを判定する。このように本実施形態では、少なくともステップS1202の処理を行うことにより、認証手段が実現される。
【0026】
この判定の結果、ステップS1201で算出されたハッシュ値と、第1の認証情報記憶装置212に記憶されている認証情報とが一致する場合には、ユーザのログインの認証に成功したと判定して、ステップS1203に遷移する。一方、ステップS1201で算出されたハッシュ値と、第1の認証情報記憶装置212に記憶されている認証情報とが一致しない場合には、ユーザのログインの認証に失敗したと判定して、後述するステップS1207に遷移する。
【0027】
ステップS1203に遷移すると、第2のハッシュ演算装置221は、前記受信したパスワードから、SHA−1を用いてハッシュ値を算出する。このように本実施形態では、少なくともステップS1203の処理を行うことにより、第2の変換手段が実現される。また、本実施形態では、SHA−1により第2の一方向性関数が実現され、SHA−1を用いて算出されたハッシュ値により、第2の変換値が実現される。
次に、ステップS1204において、第2の認証情報記憶装置222は、ステップS1203でSHA−1を用いて算出されたハッシュ値と、ステップS1001で受信したアカウント名とを互いに関連付けて認証情報管理テーブル500に記憶する。このように本実施形態では、少なくともステップS1204の処理を行うことにより、記憶手段が実現される。
【0028】
次に、ステップS1205において、第1の認証情報記憶装置212は、ステップS1001で受信したアカウント名と、そのアカウント名に関連付けられて記憶されている認証情報とを削除する。このように本実施形態では、少なくともステップS1205の処理を行うことにより、削除手段が実現される。
そして、前述したように、ステップS1202で、ユーザのログインの認証に成功したと判定されているので、ステップS1206において、判断装置202は、ユーザのシステムへのログインを許可する。
一方、前述したように、ステップS1202で、ユーザのログインの認証に失敗したと判定されている場合には、ステップS1207に遷移する。ステップS1207に遷移すると、判断装置202は、ユーザのシステムへのログインを拒否する。
【0029】
以上のように本実施形態では、ユーザにより入力されたアカウント名に対応するハッシュ値として、変更前のハッシュ関数(MD5)により得られたハッシュ値が記憶されている場合、ユーザにより入力されたパスワードからMD5を用いてハッシュ値を算出する。そして、算出したハッシュ値と既に記憶されているハッシュ値とが一致するか否かを判定する。この判定の結果、これらのハッシュ値が一致する場合には、記憶されているハッシュ値を削除すると共に、ユーザにより入力されたパスワードから、変更後のハッシュ関数r(SHA−1)を用いてハッシュ値を新たに算出する。そして、新たに算出したハッシュ値をそのユーザのパスワードのハッシュ値として新たに記憶する。したがって、ハッシュ関数を変更しても、パスワードを変更する必要がなくなる。よって、パスワードのハッシュ値を保存して認証を行うシステムのハッシュアルゴリズム(ハッシュ関数)の変更を、システム管理者の負担を増やすことなく、且つユーザに意識させることなく実施することが可能となる。
尚、本実施形態では、ネットワーク150に接続された図示しないデバイス(印刷装置等)を管理する装置を例に挙げて説明したが、必ずしもこのような装置でなくていもよい。
【0030】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、2つのハッシュ関数(MD5、SHA−1)のみを使用する場合を例に挙げて説明した。これに対し、本実施形態では、使用するハッシュ関数を追加する場合について説明する。このように本実施形態は、前述した第1の実施形態に対し、使用するハッシュ関数を追加する構成が付加されたものである。したがって、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図4に示した符号と同一の符号を付すこと等により、詳細な説明を省略する。
【0031】
図5は、ネットワークデバイス管理装置における機能構成(サーバモジュール構成)の一例を示す図である。ネットワークデバイス管理装置400は、入力装置201、判断装置202、第1の認証装置210、第1のハッシュ演算装置211、及び第1の認証情報記憶装置212を有する。また、ネットワークデバイス管理装置400は、第2の認証装置220、第2のハッシュ演算装置221及び第2の認証情報記憶装置222を有する。更に、ネットワークデバイス管理装置400は、機能追加装置203を有する。機能追加装置203が追加の認証モジュールを受け付けることで機能追加処理を開始する。
【0032】
図6は、追加の認証モジュールの構成の一例を示す図である。ソフトウェアモジュールとして構成される追加の認証モジュール413は、第2の判断装置402、第3の認証装置410、第3のハッシュ演算装置411及び第3の認証情報記憶装置412を有する。第2の判断装置402は、入力装置201で受信(取得)したアカウント名に対応する認証情報が、第1の認証情報記憶装置212、第2の認証情報記憶装置222、及び第3の認証情報記憶装置412のいずれに記憶されているかを判断するものである。
【0033】
図7は、認証モジュール413を追加する際のネットワークデバイス管理装置400における動作の一例を説明するフローチャートである。尚、ここでは説明のため、第3の認証装置410、第3のハッシュ演算装置411、及び第3の認証情報記憶装置412が扱うハッシュ関数をSHA−256としている。しかしながら、追加の認証モジュールが扱うハッシュ関数は前述のものに限定されない。また、パスワードを、一方向性の不可逆的な値に変換することができれば(その値から元のパスワードに変換することができなければ)、ハッシュ(ハッシュ値、ハッシュ関数)を用いる必要もない。
【0034】
まず、ステップS2001において、機能追加装置203は、追加の認証モジュール413を受信(取得)する。
次に、ステップS2002において、機能追加装置203は、ネットワークデバイス管理装置400内に判断装置202が存在するか否かを判定する。このように本実施形態では、少なくともステップS2002の処理を行うことにより、判定手段が実現される。
この判定の結果、ネットワークデバイス管理装置400内に判断装置202が存在する場合には、ステップS2003に遷移する。一方、ネットワークデバイス管理装置400内に判断装置202が存在しない場合には、ステップS2004に遷移する。
【0035】
ステップS2003に遷移すると、機能追加装置203は、ネットワークデバイス管理装置400内に存在する判断装置202を削除し、その判断装置202の代わりに第2の判断装置402をネットワークデバイス管理装置400に追加する。そして、ステップS2005に遷移する。
一方、ステップS2004に遷移すると、機能追加装置203は、ネットワークデバイス管理装置400に第2の判断装置402を追加する。そして、ステップS2005に遷移する。
【0036】
ステップS2005に遷移すると、機能追加装置203は、ネットワークデバイス管理装置400に、第3の認証装置410、第3のハッシュ演算装置411、及び第3の認証情報記憶装置412を追加する。
以上のように本実施形態では、少なくともステップS2003〜S2005の処理を行うことにより、追加手段が実現される。
【0037】
図8は、認証モジュール413が追加された後のネットワークデバイス管理装置400における機能構成(サーバモジュール構成)の一例を示す図である。
認証モジュール413が追加された後のネットワークデバイス管理装置400は、入力装置201、機能追加装置203、第1の認証装置210、及び第1のハッシュ演算装置211を備える。また、ネットワークデバイス管理装置400は、第1の認証情報記憶装置212、第2の認証装置220、第2のハッシュ演算装置221、及び第2の認証情報記憶装置222も備える。更に、ネットワークデバイス管理装置400は、第2の判断装置402、第3の認証装置410、第3のハッシュ演算装置411、及び第3の認証情報記憶装置412も備える。
【0038】
図8に示した例では、入力装置201が、ユーザによる操作に従って、アカウント名とパスワードとの入力を受け付けることで認証処理を開始する。尚、入力装置201が受け付けるのは必ずしもアカウント名とパスワードとの組でなくてもよい。そして、ステップS1001で受信したアカウント名に対応する認証情報が、第1の認証情報記憶装置212と第2の認証情報記憶装置222と第3の認証情報記憶装置412とのうち、何れに記憶されているかを、第2の判断装置402が判定する。
【0039】
この判定の結果、ステップS1001で受信したアカウント名に対応する認証情報が、第3の認証情報記憶装置412以外の認証情報記憶装置(第1の認証情報記憶装置212、第2の認証情報記憶装置222)に記憶されている場合、例えば、次の処理を行う。すなわち、当該認証情報記憶装置(第1の認証情報記憶装置212、第2の認証情報記憶装置222)に記憶されているハッシュ値と、当該認証情報記憶装置に対応するハッシュ関数(MD5、SHA−1)を用いて算出したハッシュ値とを比較する。
【0040】
そして、これらが一致しない場合には、ユーザのログインを拒否する。一方、これらが一致する場合には、ステップS1001で受信したパスワードから、SHA−256を用いてハッシュ値を算出する。そして、算出したハッシュ値と、ステップS1001で受信したアカウント名とを互いに関連付けて認証情報管理テーブル500(第3の認証情報記憶装置412)に記憶する。また、ステップS1001で受信したアカウント名と、そのアカウント名に関連付けられて記憶されている認証情報であって、認証情報記憶装置(第1の認証情報記憶装置212、第2の認証情報記憶装置222)に既に記憶されている認証情報とを削除する。
以上のようにした場合、SHA−256により、新たな一方向性関数が実現され、SHA−256を用いて算出したハッシュ値により、新たな一方向性関数に基づいて得られた新たな変換値が実現される。また、MD5を用いて算出したハッシュ値、又はSHA−1を用いて算出したハッシュ値により、第1の変換値が実現され、SHA−256を用いて算出したハッシュ値により、第2の変換値が実現される。
【0041】
以上のように本実施形態では、認証モジュール413を機能追加装置203によりネットワークデバイス管理装置400に追加するようにした。したがって、前述した第1の実施形態で説明した効果に加え、変更するハッシュアルゴリズムを自由に設定することができるという効果を奏する。
尚、本実施形態では、認証モジュール413を追加する前に、ハッシュ関数による認証を行うモジュール(認証装置、ハッシュ演算装置、及び認証情報記憶装置)が既に2つ存在する場合を例に挙げて示した。しかしながら、認証モジュール413を追加する前に存在しているモジュールの数は、1つであっても、0(ゼロ)であっても、3つ以上であってもよく、2つに限定されない。
【0042】
(第3の実施形態)
次に、本発明の第3の実施形態を説明する。前述した第1及び第2の実施形態では、ユーザによる入力があってから、パスワードのハッシュ値を更新するようにする場合を例に挙げて説明した。これに対し、本実施形態では、パスワードのハッシュ値を自動的に更新する場合を説明する。このように本実施形態と、前述した第1及び第2の実施形態とでは、パスワードのハッシュ値を更新する際の動作の一部が主として異なる。したがって、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図8に示した符号と同一の符号を付すこと等により、詳細な説明を省略する。尚、ここでは説明のため、ネットワークデバイス管理装置が、図2に示した構成を有している場合を例に挙げて説明するが、ネットワークデバイス管理装置は、図2に示した構成を有していなくてもよく、例えば図8に示した構成を有していてもよい。
【0043】
まず、判断装置202は、第1の認証情報記憶装置212の認証情報管理テーブル500において、所定時間変更がないハッシュ値を検索する。そして、第1の認証情報記憶装置212は、所定時間変更がないハッシュ値と、そのハッシュ値に対応するアカウント名とを認証情報管理テーブル500から削除する。そして、第2のハッシュ演算装置221は、ランダムで文字列を生成し、生成した文字列から、SHA−1を用いてハッシュ値を算出する。そして、第2の認証情報記憶装置222は、そのハッシュ値と、第1の認証情報記憶装置212の認証情報管理テーブル500から削除したアカウント名とを互いに関連付けて認証情報管理テーブル500に記憶する。そして、例えば、ユーザにより所定の操作がなされたことを入力装置201が受け付けると、前述した文字列をパスワードとして表示する等してユーザに報知する。
【0044】
以上のように本実施形態では、パスワードのハッシュ値を自動的に更新するようにした。したがって、前述した第1及び第2の実施形態で説明した効果に加え、ハッシュアルゴリズムに対する攻撃を受ける可能性をより低減することができるという効果を奏する。
尚、本実施形態のように、パスワードのハッシュ値を自動的に更新することと、前述した第1及び第2の実施形態のように、ユーザによる入力に基づいてパスワードのハッシュ値を更新することとを組み合わせてもよい。また、本実施形態のように、パスワードのハッシュ値を自動的に更新することを単独で行ってもよい。
また、所定時間変更がないハッシュ値と、そのハッシュ値に対応するアカウント名とを認証情報管理テーブル500から削除した後、パスワードのハッシュ値を更新しないようにしてもよい(ランダムな文字列に基づく新たなハッシュ値を生成しなくてもよい)。このようにするだけでも、ハッシュアルゴリズムに対する攻撃を受ける可能性を低減することができる。
【0045】
(本発明の他の実施形態)
前述した本発明の実施形態における情報処理装置を構成する各手段、並びに認証方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【0046】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【0047】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図3、図7に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0048】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0049】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0050】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0051】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0052】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0053】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0054】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0055】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0056】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0057】
100、400 ネットワークデバイス管理装置
201 入力装置
202 判断装置
203 機能追加装置
210 第1の認証装置
211 第1のハッシュ演算装置
212 第1の認証情報記憶装置
220 第2の認証装置
221 第2のハッシュ演算装置
222 第2の認証情報記憶装置
402 第2の判断装置
410 第3の認証装置
411 第3のハッシュ演算装置
412 第3の認証情報記憶装置
413 追加の認証モジュール
500 認証情報管理テーブル

【特許請求の範囲】
【請求項1】
ユーザの認証情報を取得する取得手段と、
前記取得手段により取得されたユーザの認証情報を、第1の一方向性関数に基づいて第1の変換値に変換する第1の変換手段と、
前記取得手段により取得されたユーザの認証情報を、第2の一方向性関数に基づいて第2の変換値に変換する第2の変換手段と、
前記取得手段により取得された認証情報を前記第1の変換手段により変換された変換値と既に記憶されている前記第1の変換値の比較、または前記第2の変換手段により変換された変換値と既に記憶されている前記第2の変換値の比較を行い、ユーザの認証を行う認証手段と、を有し、
更に、前記取得手段によりユーザの認証情報が取得された際に、当該ユーザが前記第1の一方向性関数を使用する必要があるユーザである場合は、前記第1の変換手段による前記認証情報の変換を行い前記認証手段による前記第1の変換値に基づいた認証を行うとともに、前記第2の変換手段による前記認証情報の変換を行い前記第2の変換値を記憶し、前記認証手段は次回以降のユーザの認証時に前記第2の変換値を用いたユーザの認証を行うことが可能になることを特徴とする情報処理装置。
【請求項2】
前記記憶されている第1の変換値が所定時間変更されていない場合、前記第2の一方向性関数に基づく第2の変換値を得るとともに当該第1の変換値を当該第2の変換値に更新することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
ユーザの認証情報を取得する取得ステップと、
前記取得ステップにより取得されたユーザの認証情報を、第1の一方向性関数に基づいて第1の変換値に変換する第1の変換ステップと、
前記取得ステップにより取得されたユーザの認証情報を、第2の一方向性関数に基づいて第2の変換値に変換する第2の変換ステップと、
前記取得ステップにより取得された認証情報を前記第1の変換ステップにより変換された変換値と既に記憶されている前記第1の変換値の比較、または前記第2の変換ステップにより変換された変換値と既に記憶されている前記第2の変換値の比較を行い、ユーザの認証を行う認証ステップと、を有し、
更に、前記取得ステップによりユーザの認証情報が取得された際に、当該ユーザが前記第1の一方向性関数を使用する必要があるユーザである場合は、前記第1の変換ステップによる前記認証情報の変換を行い前記認証ステップによる前記第1の変換値に基づいた認証を行うとともに、前記第2の変換ステップによる前記認証情報の変換を行い前記第2の変換値を記憶し、前記認証ステップは次回以降のユーザの認証時に前記第2の変換値を用いたユーザの認証を行うことが可能になることを特徴とする認証方法。
【請求項4】
前記記憶されている第1の変換値が所定時間変更されていない場合、前記第2の一方向性関数に基づく第2の変換値を得るとともに当該第1の変換値を当該第2の変換値に更新することを特徴とする請求項3に記載の認証方法。
【請求項5】
ユーザの認証情報を取得する取得ステップと、
前記取得ステップにより取得されたユーザの認証情報を、第1の一方向性関数に基づいて第1の変換値に変換する第1の変換ステップと、
前記取得ステップにより取得されたユーザの認証情報を、第2の一方向性関数に基づいて第2の変換値に変換する第2の変換ステップと、
前記取得ステップにより取得された認証情報を前記第1の変換ステップにより変換された変換値と既に記憶されている前記第1の変換値の比較、または前記第2の変換ステップにより変換された変換値と既に記憶されている前記第2の変換値の比較を行い、ユーザの認証を行う認証ステップと、をコンピュータに実行させ、
更に、前記取得ステップによりユーザの認証情報が取得された際に、当該ユーザが前記第1の一方向性関数を使用する必要があるユーザである場合は、前記第1の変換ステップによる前記認証情報の変換を行い前記認証ステップによる前記第1の変換値に基づいた認証を行うとともに、前記第2の変換ステップによる前記認証情報の変換を行い前記第2の変換値を記憶することをコンピュータに実行させ、前記認証ステップは次回以降のユーザの認証時に前記第2の変換値を用いたユーザの認証を行うことが可能になることを特徴とするコンピュータプログラム。
【請求項6】
前記記憶されている第1の変換値が所定時間変更されていない場合、前記第2の一方向性関数に基づく第2の変換値を得るとともに当該第1の変換値を当該第2の変換値に更新することを更にコンピュータに実行させることを特徴とする請求項5に記載のコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−69325(P2013−69325A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2012−260972(P2012−260972)
【出願日】平成24年11月29日(2012.11.29)
【分割の表示】特願2007−262180(P2007−262180)の分割
【原出願日】平成19年10月5日(2007.10.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】