説明

パスワードの階層を管理する方法及びシステム

【課題】ユーザの階層のためのパスワードを生成する方法を提供する。
【解決手段】アクセス制御デバイスの階層にアクセスするユーザのためのパスワードの階層を管理する。最初に、1つのコードワードが取得され、そのコードワードのシンドロームが求められる。次に、そのコードワードが確率pでランダムに変更され、変更済みコードワードが生成される。変更済みコードワードが復元可能である場合には、その変更済みコードワードがパスワードとして選択され、ユーザに割り当てられる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的にはパスワードを生成する方法に関し、より詳細には、ユーザの階層のためのパスワードを生成する方法に関する。
【背景技術】
【0002】
脆弱な電子情報に対する無許可のアクセスを拒否する必要がある。計算及び通信システムは経済活動のあらゆる領域において見受けられ、家庭及び他の場所においてもますます見受けられるようになっている。コンピュータを基にするシステムの利用可能性が広がり、その使用が進むにつれて、それらのシステムの相互接続も進む。その結果が、情報、計算及び通信の共用インフラストラクチャである。共有インフラストラクチャの性質は、ユーザにとっての脆弱性をもたらす。一般的に、ユーザにとってアクセスがより容易であることは、無許可のユーザによるアクセスがより容易であることを暗示する。特定のタイプの情報脆弱性に対処する際に、暗号法が重要な役割を果たす。
【0003】
従来の暗号法は、暗号化過程及び秘密鍵を用いることによってデータを保護する。暗号化は、その鍵を用いて、平文を暗号文に変換する。異なる鍵を用いる結果として、異なる暗号文が作成される。復号化は、暗号文を変換して、平文に戻す。暗号化演算及び復号化演算が同じ鍵を用いるとき、その方法は、対称鍵暗号法として知られている。非対称鍵暗号法では、暗号化鍵と復号化鍵とが異なる。通常、これらの鍵のうちの一方は公に入手可能であるように作成され、他方の鍵は、許可を受けた関係者によって非公開で保持される。或るシステムのユーザに対して割り当てられるパスワードは、このユーザがそのシステムの特定の機能にアクセスすることができるようにする秘密鍵と見なすことができる。鍵及びパスワードを生成する方法、並びにその鍵及びパスワードを配布する方法は、「鍵管理」という広い名称の下に包括される。
【0004】
多くの場合にアクセス制御方式を実施する必要があり、それによれば、データへのアクセスを承認するか、又は拒否するかの判断は、クラスの階層内のユーザの位置による。たとえば、ユーザは3つのクラス、A、B及びCに区分される。クラスAは最も高い特権を有し、クラスCは最も低い特権を有する。したがって、最もセキュリティの高いデバイスは、クラスAのユーザに対してのみアクセスを許可する。中間のセキュリティのデバイスは、クラスA及びBのユーザに対してアクセスを許可し、一方、セキュリティの低いデバイスは、全てのユーザに対してアクセスを許可する。このアーキテクチャは、4つ以上のクラスに拡張することができ、それらのクラスは数多くの実現可能な階層のうちの1つにおいて配置され、クラスの特権は階層内のそのクラスの位置による。特定の特権クラス内に多数のユーザが存在することができる。
【0005】
そのような階層は、数多くの実用的なアクセス制御の用途において生じる。たとえば、工場において、或るエリアは、機械工場労働者の立ち入りを禁止することができ、資格のある監督者だけが出入りすることができる。別の例では、銀行の顧客サービス担当者は、顧客の公開情報にアクセスすることができ、一方、その上司は、さらに機密の詳細にアクセスすることができる。階層的パスワード方式は、階層内のユーザの位置に応じて、すなわち、ユーザの特権クラスに応じて、各ユーザに鍵又はパスワードを生成する方法と定義される。
【0006】
セキュリティシステムにおいて鍵又はパスワード管理は重要である。鍵管理は、鍵の生成、配布及び破棄を含む。さらに、数多くの用途において、ユーザの複数のサブセットが異なるアクセス権を有するような、階層的なアクセス構造が必要とされる。
【0007】
パスワードの階層を生成するための数多くの異なる構成が知られている。しかしながら、取り組まれていないままであるいくつかの重要な課題がある。第1の課題は、セキュリティシステムはネットワーク化され得ること、すなわちネットワーク接続を介して、新たなユーザを追加するか、又はユーザを取り消す動作を都合良く実行することができるように、全てのアクセス制御デバイスが中央管理デバイスに接続されることである。ネットワーク化が利用可能でないか、又はネットワーク化が可能でない場合には、アクセス制御デバイスのデータベース内に格納されているユーザ情報を手作業で変更することが大きな負担になる。第2の課題は、大部分の従来のパスワード方式では、各アクセス制御デバイスが、種々の認証情報、たとえば、そのデバイスに合法的にアクセスすることが許される全てのユーザのための暗号ハッシュ又は鍵を格納することである。これは、メモリ要件の点で効率的でない場合がある。
【0008】
セキュリティシステム内のアクセス制御デバイスを更新する必要性を低減するか、又はその更新を完全に排除しながら、パスワードを生成することができる方法を提供することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の目的は、ユーザの階層のためのパスワードを生成する方法を提供することである。
【0010】
本発明のさらに別の目的は、ユーザの階層が更新されるときに、アクセス制御デバイスを更新する必要性を排除する方法を提供することである。
【0011】
本発明のさらに別の目的は、アクセス制御デバイスにおいて単一の暗号ハッシュ及び補助情報を用いて、多数のユーザの認証を可能にするのに適している方法を提供することである。
【課題を解決するための手段】
【0012】
本発明は、復元可能でランダムに変更されるコードワードをパスワードとして用いることができるという認識に基づく。
【0013】
本発明の複数の実施の形態が、ユーザの任意の階層のためのパスワードを生成する方法を提供する。その認証過程は、誤り訂正符号(ECC)に基づいており、それによって、単一の暗号及びECCの単一のシンドロームを用いて、多数のパスワードを認証することができるようになる。
【0014】
記憶要件を低減することに加えて、その方法は、アクセス制御デバイス上に格納されている情報を更新することなく、新たなユーザを登録することも可能にする。格納された情報しか与えられないものとすると、攻撃者にとって任意のユーザのパスワードを推測することは難しい。さらに、他のユーザに成りすますために正規のユーザが自身のパスワードを操作しないことを確実にするために、デジタル署名が用いられる。また、その方法は、システム管理者が、パスワードのうちの漏洩している可能性がある部分を取り消すことも可能にする。
【発明の効果】
【0015】
本発明の実施の形態は、誤り訂正符号化及び暗号ハッシュの組み合わせを用いて、ユーザの任意の階層のためのパスワードを生成する。その方法は、暗号ハッシュだけに基づく従来の認証方式に対して複数の利点を有する。これらの利点は、アクセス制御デバイスを更新することなく、複数の新たなユーザを容易に登録すること、及びアクセス制御デバイス上の記憶要件が大幅に低減されることを含む。
【0016】
その方法は、多数のアクセス制御の用途のために用いることができる。たとえば、例えば用途として次のものが挙げられる:異なる特権を有するユーザアカウントを介する、大企業又は銀行内のソフトウエアデータベースへのアクセス制御;スマートカードリーダを介する、工場の物理的な場所へのアクセス制御;セキュリティの目的から、建物の選択された部分への階層的アクセスを提供すること;ソフトウエアで、使用権を認められたユーザがツールボックスの許された部分だけにアクセスすることを可能にする鍵を提供すること;テレビゲーム又はコンピュータゲームで、使用権を認められたユーザがゲームレベルの許された部分だけにアクセスすることを可能にする鍵を提供すること。
【図面の簡単な説明】
【0017】
【図1】本発明の実施の形態に従って生成されるセキュリティ情報を用いるパスワード認証の方法及びシステムの流れ図である。
【図2A】本発明の実施の形態による、認証情報を計算する方法のブロック図である。
【図2B】本発明の実施の形態による、認証情報を計算する方法のブロック図である。
【図3】本発明の実施の形態による、ユーザ及びアクセス制御デバイスの階層の一例の図である。
【図4】本発明の実施の形態による、パスワードを生成し、割り当てる方法のブロック図である。
【図5】本発明の実施の形態による、図3に示される階層例の場合の図4の方法の一例の流れ図である。
【図6】本発明の実施の形態による、ユーザで格納される認証情報及びアクセス制御デバイス上に格納される認証情報の概略図である。
【図7】本発明の実施の形態による、パスワード認証の方法のブロック図である。
【発明を実施するための形態】
【0018】
図1は、本発明の実施の形態に従って生成されるセキュリティ情報を用いるパスワード認証の方法及びシステム100を示す。ユーザuのための認証情報、たとえば、パスワードY[u]115が、ユーザデバイス110上に格納される。そのパスワードは、アクセス制御デバイスD120にアクセスするために用いられる。スマートカードが、ユーザデバイス110の一例である。他のデバイスは、移動端末、ハンドヘルドプロセッサ等を含む。
【0019】
アクセス制御デバイス120は、無許可のアクセスからの保護を必要とする任意の資源であり、たとえば、安全化された部屋のドア、データベース又はドキュメントにアクセスする特権である。
【0020】
アクセス制御デバイス120へのアクセスは、コードワード、たとえば、長さNのバイナリコードワード
【0021】
【数1】

【0022】
で保護される。しかしながら、そのコードワードは、デバイス120において格納される必要はない。代わりに、本発明の一実施の形態では、コードワードC[D]の暗号ハッシュh(C[D])125、及び線形誤り訂正符号(ECC)又はシンドロームS[D]126だけが、アクセス制御デバイス120に関連付けられるメモリ130内に格納される。ECCは、パリティチェック行列H670によって表すことができる。図6を参照されたい。パリティチェック行列は、K行及びN列の0及び1から成る行列である。パリティチェック行列のN列は、ECCのN個のシンボルに対応し、Kは、ECCが満たさなければならない制約の数を表す。
【0023】
パリティチェック行列を用いて、K個の方程式及びN個の未知数の系を形成することができる。バイナリパリティチェック行列は
【0024】
【数2】

【0025】
であり、関係S[D]=C[D]を用いてシンドロームを計算する。ただし、K<Nであり、Hは行列Hの転置を表す。たとえば、K=3、N=7の場合には、取り得るパリティチェック行列は以下の通りである。
【0026】
【数3】

【0027】
[D]=[1011000]であると仮定すると、以下の式が成り立つ。
【0028】
【数4】

【0029】
K<Nであるため、その方程式系は劣決定であり、すなわちシンドロームS[D]しか分からないとき、コードワードC[D]を求めることは不可能である。
【0030】
パスワード認証方法100は、シンドロームS[D]126を用いてパスワードY[u]115のための誤り訂正関数g(Y[u],S[D])140によって生成される候補コードワードのハッシュ155を求める(150)。これは、その方法が、格納されたシンドロームS[D]及びパスワードY[u]の両方を用いて候補コードワードを求めることを意味する。候補コードワードのハッシュ155がデバイス120において格納されるハッシュ125と一致する(160)場合には、アクセス制御デバイス120へのアクセスが許可される。一実施の形態では、確率伝搬復号化法によって、候補コードワードを求める。しかしながら、任意の他の誤り訂正復号化技法を用いることができる。
【0031】
パスワード生成のための誤り訂正符号
、U、...、UをデバイスDへのアクセスを要求するユーザであるとする。従来の暗号技術に基づくパスワード方式では、システム管理者が各ユーザにパスワードを割り当て、そのパスワードの暗号ハッシュをアクセス制御デバイスに格納する。したがって、T人のユーザがT個のハッシュの格納を要求する。さらに、新たなユーザが追加されることになる場合には、そのデバイス上に新たなハッシュが格納されなければならない。
【0032】
本発明の実施の形態は、T人のユーザが複数の異なるパスワード115を割り当てられ、そのパスワード全てを、適当なECCから計算される単一のシンドロームS[D]126、すなわち誤り指示子を用いて認証することができる方法を提供する。
【0033】
図2A及び図2Bは、本発明の実施の形態による、セキュリティ情報を計算する方法のブロック図である。図2Aは、アクセス制御デバイス上に格納されることになるセキュリティ情報、すなわちシンドローム126及びハッシュ125を如何に求めるかを示す。図2Bは、ユーザデバイス110上に格納されることになるセキュリティ情報、すなわちパスワード110を如何に求めるかを示す。
【0034】
アクセス制御デバイスD120の場合、長さNのバイナリコードワードC[D]210を生成する。コードワードC[D]のビットは独立同分布(i.i.d.)のベルヌーイ数であり、各ビットは0又は1であり、その確率bは等しく、すなわちb=0.5である。したがって、任意の1つのビットの値がわかっても、任意の他のビットの値を推定する助けにはならない。パラメータbを有するベルヌーイ数Xは、Xが0又は1のいずれかであり、その数は、bの確率で1であることを意味する。コードワードC[D]210の暗号ハッシュh(C[D])125が求められ(250)、アクセス制御デバイス120に格納される。
【0035】
このハッシュは、MD5、SHA−1、SHA−2のような任意の従来の暗号化技法を用いて求めることができ、MD5、すなわちメッセージダイジェストアルゴリズム5及びSHA、すなわちセキュアハッシュアルゴリズムは、既知の暗号ハッシュ関数の例である。さらに、本発明のECCは、バイナリパリティチェック行列Hを用いて、S[D]=C[D]のようなシンドロームS[D]126を求める(260)。また、シンドロームS[D]126はアクセス制御デバイス120に格納される。
【0036】
本発明の実施の形態は、復元可能で、ランダムに変更されるコードワードをユーザのパスワードとして用いることができるという認識に基づく。任意のユーザU(i=1、2、...、T)のためのパスワードを見つけるために、図2Bに示されるように、交差確率pを有するバイナリ対称チャネル(BSC)の中にコードワードC[D]210を通す(220)ことによって、コードワードをランダムに変更する。交差確率pを有するBSCを、「BSC−p」によって示す。この過程は、確率pでコードワードC[D]210のビットをランダムに反転して、変更されたコードワードX[Ui,D]230を生成する。ビット反転の確率pは、シンドロームS[D]が与えられるときに、X[Ui,D]からコードワードC[D]を常に復元することができるように、すなわち、以下の式が成り立つように選択される。
【0037】
【数5】

【0038】
ただし、関数gは、誤り訂正符号のための任意の復号化方法、たとえば、確率伝搬復号化とすることができる。
【0039】
変更されたコードワードが復元可能である場合には、変更されたコードワードX[Ui,D]をユーザUのためのパスワードY[Ui]115として選択し、そのパスワードをユーザデバイス110に割り当てる。上記のように、一実施の形態では、入力として、変更されたコードワード及びシンドロームを有する誤り訂正関数を実行した結果がコードワードに等しい場合には、変更されたコードワードを復元可能として選択する。変更されたコードワードが復元可能でない場合には、その方法の変更するステップ及び選択するステップを繰り返す。
【0040】
ここで、BSC−pの異なる実現形態に基づいて、異なるユーザUに異なるパスワードを割り当てることができる。システム管理者は、BSCの実現値が異なることを検証することができ、式(1)が全てのUの場合に成り立つことも検証することができる。或るUの場合に、その関係が成り立たない場合には、その関係が成り立つBSC−pの別の実現形態を作り出すことは簡単なことである。
【0041】
BSC−pの異なる実現形態は、異なるユーザが異なるパスワードを割り当てられるのを確実にする。式(1)を検証することによって、正規のユーザがシステムにアクセスすることができることが保証される。X[Ui,D]は変更されたコードワードであるので、X[Ui,D]は必ずしもC[D]に復号化されるとは限らない。すなわち、変更されたコードワードは式(1)を満たさない。この場合、式(1)が満たされるまで、X[Ui,D]を生成し続け、その後、パスワードとして最新のX[Ui,D]を割り当てる。
【0042】
コードワードC[D]はユーザデバイス上に格納される必要はなく、暗号ハッシュh(C[D])だけが格納される必要があることに留意されたい。暗号ハッシュ関数は計算に関して安全であると仮定される。すなわち、格納されたハッシュの値からC[D]の値を推定することは極めて難しい。図1に示されるように、認証を実行するために、ユーザuはパスワードY[u]を入力し、以下の式が成り立つ場合に且つその場合に限り、アクセスが許可される。
【0043】
【数6】

【0044】
本発明の実施の形態は、1つのシンドロームS[D]、及び1つの暗号ハッシュを用いて、T人のユーザのためのアクセス制御システムを構成する。加えて、コードワードC[D]のサイズNが十分に大きい場合には、新たなユーザを追加することは、何の問題もない。管理者はすべきことは、BSC−pの新たな実現形態を作り出し、上記のようなX[UT+1,D]を得ることだけである。
【0045】
パスワードの階層を生成する方法
単一のハッシュ及び1つのシンドロームで多数のユーザを認証する方法は、本発明の実施の形態による階層的パスワード割当て方法における基礎的要素として用いられる。この説明を容易にするために、4レベルのユーザの階層を用いる。コードワードのサイズNが十分に大きいものとすると、本発明は、任意のレベル数及びレベル当たり任意のユーザ数に一般化される。また、本発明は、図3に示されるよりもはるかに複雑な、任意の分岐階層にも一般化される。
【0046】
図3は、本発明の実施の形態による、ユーザ及びアクセス制御デバイスの階層300を示す。その階層は、1つの根ノード及び複数の派生ノードを有する木の形をとる。階層300は、デバイス31、32、33、34及び35を含む。また、階層300は、ユーザであるA、B、B、C、C、C、C、C、D及びDを特定する。本実施の形態の目的は、これらのユーザのそれぞれにパスワードを割り当てることである。
【0047】
表記及び定義
この説明のために、階層300内の全てのユーザのパスワードが、以下の規則に従って割り当てられる。
【0048】
その木の根ノードに近いユーザは、根ノードから離れているユーザよりも上位である。複数の下位のユーザが単一の上位のユーザに接続される場合には、その上位のユーザは祖先と呼ばれ、複数の下位のユーザは子孫と呼ばれる。たとえば、図3を参照すると、ユーザBは、ユーザC、C、D及びDに対する祖先であり、ユーザC、C、D及びDは全てユーザBの子孫である。
【0049】
ユーザが所与のデバイスにアクセスすることができる場合には、全ての祖先も、それぞれのパスワードで、そのデバイスにアクセスすることが可能である。たとえば、さらに図3を参照すると、デバイス35には、ユーザD及びユーザDがアクセスすることができるので、デバイスDには、ユーザC及びユーザBもアクセスすることができるが、ユーザCはアクセスすることができない。
【0050】
ユーザuがアクセスすることができる最もセキュリティの高いデバイスDは、最も近いノードに関連付けられるデバイスである。したがって、ユーザuがアクセスすることができる他のデバイスは、セキュリティのより低いデバイスである。たとえば、図3において、デバイス32は、ユーザBにとって最もセキュリティの高いデバイスであり、一方、デバイス34は、ユーザCにとって最もセキュリティの高いデバイスである。最もセキュリティの高いデバイスに割り当てられる、ユーザuのためのパスワードは、全ての他のセキュリティのより低いデバイスへのアクセスを容易にする。
【0051】
ユーザuが最もセキュリティの高いデバイスDにアクセスすることができる場合には、そのユーザの子孫は、割り当てられたパスワードだけを用いて、そのデバイスにアクセスすることはできない。たとえば、デバイス33は、ユーザCにとって最もセキュリティの高いデバイスであり、それゆえ、ユーザD及びユーザDは、デバイス33にアクセスすることはできない。
【0052】
ユーザuに割り当てられるパスワードはX[u,D]によって示される。ただし、Dはユーザのための最もセキュリティの高いデバイスである。たとえば、ユーザBに割り当てられるパスワードはX[B2,32]である。上記のように、このパスワードは、長さNの2進数列である。さらに、本明細書において規定される規則によれば、このパスワードは、ユーザBが祖先である全ての他のデバイスのパスワードとしても用いることができる。
【0053】
特定のデバイスにアクセスすることができる全てのユーザは同僚と呼ばれる。たとえば、図3において、ユーザC及びユーザCは同僚である。同僚は、同じ祖先又は異なる祖先を有することができる。同僚は、同じ子孫又は異なる子孫を有することができる。
【0054】
パスワード生成
図4は、本発明の実施の形態による、パスワードを生成し、割り当てる方法を示す。ユーザuのためのパスワードY[u]又はX[u,D]は、システム管理者の管理下で典型的に実行される以下のステップを用いて生成される。
【0055】
最初に、管理者は、ユーザuの「親」すなわち最も近い祖先の位置を特定する(410)。たとえば、図3を参照すると、ユーザDの親はユーザCであり、ユーザCの親はユーザBであり、ユーザBの親はユーザAであり、ユーザAの親は、長さがNであり、i.i.d.ベルヌーイ入力を有し、b=0.5であるバイナリコードワードC[D]∈R1×Nである。ユーザuの親はu’によって示され、セキュリティデバイスはD’によって示される。したがって、親のパスワード415はX[u’,D’]である。
【0056】
親のデバイスD’のために、管理者は、式(1)に従って、シンドロームS[D’]を用いてコードワードC[D’]425、すなわちC[D’]=g(X[u’,D’],S[D’])を求める(420)。
【0057】
その後、管理者は、或る反転確率q、たとえば、0.5を有するバイナリ対称チャネルの中に、コードワードC[D’]425のビットを通すことによって、親のコードワードを変更する(430)。C[D’]の変更されたバージョンは、C[D]435によって示される。典型的には、BSC−qチャネルをシミュレートするために、すなわち、確率qでC[D’]のビットをランダムに反転するために、擬似乱数発生器が用いられる。任意のセキュリティのより低いデバイスにアクセスすることができるようにするために、擬似乱数発生器のシードが、親ユーザu’に予め割り当てられている。このシードはデバイス上に格納されないこと、又はこのシードはユーザuには提供されないことに留意されたい。これは、親u’の無許可の同僚によるデバイスDへの攻撃するのを難しくする。
【0058】
パリティチェック行列H442を用いる所定のECCの場合、シンドロームS[D]=C[D]445を計算する(440)。シンドローム445は、アクセス制御デバイスD120に格納される。この単一のシンドロームを用いて、このデバイスにアクセスことを許される全てのユーザを認証する。
【0059】
さらに、上記のように、h(C[D])、すなわちC[D]の暗号ハッシュ455を求め(450)、そのハッシュをデバイス120に格納する。典型的には、C[D]を直接デバイス120に格納しない。
【0060】
図2Bを参照しながら上述したように、BSC−qの1つの実現形態の中にコードワードC[D]435を通し(460)、X[u,D]465を生成する。X[u,D]465をユーザuのためのパスワードY[u]として割り当て、典型的には、そのパスワードをユーザデバイス110に格納する。
【0061】
本発明のいくつかの実施の形態において、パスワードX[u,D]465及びシステム管理者の秘密鍵475Kを与えられると、デジタル署名480Z[u]=V(X[u,D],K)を求める(470)。また、署名Z[u]480はユーザuに割り当てられ、ユーザデバイス110に格納される。アクセスを獲得するために、ユーザは、自分のパスワードX[u,D]465及びデジタル署名Z[u]480の両方を提供し、インサイダ攻撃からシステムを保護しなければならない。
【0062】
図5は、階層的な形において方法400を示す。個々の演算ユニットは、図2を参照しながら説明された単一ステージのパスワード割当てのレプリカである。簡単にするために、パスワード割当て過程の最後のステップ、すなわちデジタル署名の計算は示されない。
【0063】
ユーザ及びアクセス制御デバイスに格納される認証情報
図6は、ユーザが階層、たとえば階層300の全ての許されるアクセス制御デバイスにアクセスすることができるようにするために、本発明の実施の形態に従ってユーザ及びアクセス制御デバイスに格納される認証情報例を示す。
【0064】
本発明の実施の形態において、ユーザデバイス110は、パスワードX[u,D]610にアクセスすることができる。ただし、Dは、ユーザuがアクセスするのを許される最もセキュリティの高いデバイスを表す。このパスワードX[u,D]610は、ユーザuが、全ての子孫に割り当てられるデバイスにアクセスすることができるようにする。デジタル署名Z[u]630もデバイス110に格納され、それによって、アクセス制御デバイスは、パスワードの完全性を検査することができるようになる。これは、管理者に知られることなく新たなパスワードを生成することによってアクセスを獲得しようと試みる正規のユーザによるインサイダ攻撃に対する防御の最前線である。
【0065】
シード620は、さらに詳細に後述するように、コードワード演算の変更を実行するために擬似乱数発生器によって用いられる。ユーザがデバイスD及びl個の他のセキュリティのより低いデバイスにアクセスする場合には、l個のシードが格納され、より低いレベルのデバイス毎に1つのシードによって変更演算が実行される。その変更演算は、祖先のパスワードにアクセスする困難を増大させる。
【0066】
アクセス制御デバイス120上に格納される認証情報は、そのデバイスが、ユーザデバイス110によって提供されるパスワードの信憑性を検証することを可能にする。デバイスDにおいて、認証の過程は、シンドロームS[D]が与えられるときに、入力パスワードYからコードワードC[d]を復元することができるか否かを検証することを含む。しかしながら、セキュリティのために、デバイス120上にコードワードC[D]を直接格納することは望ましくない。なぜなら、悪意のある攻撃者がC[D]へのアクセスを獲得する場合には、その攻撃者が、入力パスワードY=C[D]を用いることによって、当たり前のように自己認証することができるためである。
【0067】
本発明のいくつかの実施の形態では、アクセス制御デバイス120は、誤り訂正符号のパリティチェック行列H670、シンドロームS[D]640及びh(C[D])650によって表される、C[D]の暗号ハッシュにアクセスする。さらに、ユーザによって提供されるパスワードの完全性を検査するために用いられる公開鍵K660も、デバイス120に格納される。ユーザがパスワードX[u,D]及び署名Z[u]を入力しなければならないことを思い出されたい。インサイダ攻撃中に、パスワード内の数ビットを反転して新たなパスワードY[u]を生成することによって、正規のユーザuが、本人であることを隠すことができる。これを防ぐために、公開鍵Kを用いて、Y[u]が署名Z[u]と一致するか否かを検査する。
【0068】
パスワードを認証する方法
本発明の一実施の形態では、ユーザuがパスワードY[u]及び署名Z[u]を用いて、最もセキュリティの高いデバイスDにアクセスするとき、以下のように、認証過程が行われる。そのデバイスは、システム管理者の公開鍵K660を用いて、パスワードY[u]、すなわちX[u,D]610が、デジタル署名Z[u]630と一致するか否かを検証する。一致しない場合には、そのアクセスは拒否される。一致する場合には、そのデバイスは、式(2)の等式が満たされるか否かを検証する。満たされない場合には、アクセスが拒否される。満たされる場合には、アクセスが許可される。この最後のステップは、図1に示される方法100と同様である。
【0069】
図7は、ユーザuが親である低レベルデバイスにおけるパスワード認証を示す。たとえば、ユーザBが、デバイス33にアクセスする必要がある。図3を参照されたい。セキュリティのより低いデバイスが、最もセキュリティの高いデバイスDよりもlレベルだけ低い一般的な状況を分析する。これは、パスワードを入力するために用いられるユーザデバイスが、ユーザのパスワードを変更するために少なくともl個のシードを格納することを意味する。一実施の形態では、各シードは、擬似乱数発生器によって生成される整数である。
【0070】
正規のユーザ、たとえば親ユーザが、l個の低レベルデバイス、すなわちlレベルアクセス制御デバイスにアクセスすることができるようにするパスワードY’[u]を求めるために、l個のシード620の最初のシードを用いてパスワードY[u]710を変更し、lレベル親パスワードを生成する。
【0071】
たとえば、ユーザuが、デバイス階層、たとえば、階層300内の最もセキュリティの高いデバイスDよりも1レベルだけ低いデバイスにアクセスする必要がある場合には、シード620のうちの最初のシードを用いて、パスワード710を1回だけ変更する(700)。ユーザuが、最もセキュリティの高いデバイスDよりも3レベルだけ低いデバイスにアクセスする必要がある場合には、シード620のうちの最初の3つのシードを用いて、パスワード710を3回変更する(700)。
【0072】
変更されたパスワードは、l回の変更演算の後に、Y’[u]720によって表される。変更されたパスワード720は、低レベルデバイスへのアクセスを認証するために、方法100に供給される。したがって、lレベル親パスワード及びlレベルシンドロームからlレベル親候補コードワードを復元する。ただし、lレベルシンドロームはlレベルアクセス制御デバイスに関連付けられる。次に、lレベル親候補コードワードの暗号ハッシュが、lレベルアクセス制御デバイスに関連付けられるlレベルコードワードの暗号ハッシュに等しい場合には、親ユーザがlレベルアクセス制御デバイスにアクセスするのを許可する。
【0073】
パスワードの取消
ユーザに割り当てられたパスワードを取り消すことが必要になる場合がある。暗号ハッシュに基づく従来のパスワードシステムの場合、取消は、単にパスワードのハッシュを削除することによって実行される。本明細書において記述されるシステムの場合、この手順は、各アクセス制御デバイス上に無効なパスワードの「ブラックリスト」680を包含し、そのデバイス上の1つ又は複数のパスワードを取り消す必要があるときにはいつでも、そのブラックリストを更新することによって果たされる。新たなユーザは、アクセス制御デバイスを更新することなく登録されるが、任意のパスワードの取消は、ブラックリストの更新を必要とする。
【0074】
ブラックリストにアクセスを獲得する攻撃者に対するセキュリティのために、システム管理者によってのみ保有されるシステムパスワードを用いて、デバイスへの書込みアクセスを要求する。このシステムパスワードは、従来の暗号ハッシュを用いて、又は本明細書において記述される階層的アクセス制御方式によって実現される。取消の過程は、任意のユーザを認証する前に実行され、すなわち、そのアクセス制御方法は最初に、入力パスワードがブラックリストに属するか否かを検査する。入力パスワードがブラックリストにおいて見つかる場合には、その方法の残りの部分は無効となり、アクセスが拒否される。
【0075】
本発明は好ましい実施の形態の例として説明されてきたが、本発明の精神及び範囲内で、種々の他の適合及び変更が行われ得ることは理解されたい。それゆえ、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲内に入るような全ての変形及び変更を包含することである。

【特許請求の範囲】
【請求項1】
パスワードの階層を管理する方法であって、前記方法の複数のステップを実行するプロセッサを含み、前記複数のステップは、
コードワードを取得すること、
前記コードワードをランダムに変更することにより、変更済みコードワードを生成すること、
前記変更済みコードワードが復元可能である場合には、該変更済みコードワードをパスワードとして選択すること、並びに、そうでない場合には、前記変更すること及び前記選択するステップを繰り返すこと、
前記パスワードをユーザに割り当てること
からなる、方法。
【請求項2】
前記コードワードのシンドロームを求めること、及び
前記コードワードの暗号ハッシュ及び前記シンドロームをアクセス制御デバイスに格納すること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記パスワードをユーザデバイスに格納すること
をさらに含む、請求項1に記載の方法。
【請求項4】
前記変更済みコードワード及び前記シンドロームを入力として有する誤り訂正関数の実行の結果が前記コードワードに等しい場合には、前記変更済みコードワードは復元可能である、請求項2に記載の方法。
【請求項5】
前記パスワード及び前記シンドロームから候補コードワードを復元すること、並びに
前記候補コードワードの暗号ハッシュが前記コードワードの前記暗号ハッシュに等しい場合には、前記ユーザが前記アクセス制御デバイスにアクセスするのを許可すること
をさらに含む、請求項2に記載の方法。
【請求項6】
第2のユーザを前記ユーザに関連付けること、
前記パスワード及び前記シンドロームに基づいて前記コードワードを求めること、
前記コードワードを第1の確率でランダムに変更することにより、第2の変更済みコードワードを生成すること、
前記第2の変更済みコードワードの第2のシンドロームを求めること、
前記第2のシンドローム及び前記第2の変更済みコードワードの暗号ハッシュを第2のアクセス制御デバイスに格納すること、
前記第2の変更済みコードワードを第2の確率でランダムに変更することにより、第2のパスワードを生成すること、並びに
前記第2のパスワードを前記第2のユーザに割り当てること
をさらに含む、請求項2に記載の方法。
【請求項7】
前記第2のパスワードを第2のユーザデバイスに格納することをさらに含む、請求項6に記載の方法。
【請求項8】
前記ユーザにデジタル署名を割り当てることをさらに含む、請求項1に記載の方法。
【請求項9】
前記デジタル署名が前記パスワードと一致する場合には、前記ユーザが前記アクセス制御デバイスにアクセスするのを許可することをさらに含む、請求項8に記載の方法。
【請求項10】
前記第2のパスワード及び前記第2のシンドロームから第2の候補コードワードを復元すること、並びに
前記第2の候補コードワードの暗号ハッシュが前記第2の変更済みコードワードの前記暗号ハッシュに等しい場合には、前記ユーザが前記第2のアクセス制御デバイスにアクセスするのを許可すること
をさらに含む、請求項6に記載の方法。
【請求項11】
前記コードワードをランダムに変更することのために、乱数発生器のためのシードを割り当てること、及び
前記第2の変更済みコードワードをランダムに変更することのために、前記乱数発生器のための第2のシードを割り当てること
をさらに含む、請求項6に記載の方法。
【請求項12】
乱数発生器のためのシードを用いて前記パスワードを変更することにより、変更済みパスワードを生成すること、
前記変更済みパスワード及び前記シンドロームから候補コードワードを復元すること、並びに
前記候補コードワードの暗号ハッシュが前記第2の変更済みコードワードの前記暗号ハッシュに等しい場合には、前記ユーザが前記第2のアクセス制御デバイスにアクセスするのを許可すること
をさらに含む、請求項6に記載の方法。
【請求項13】
前記ユーザに1組のシードを割り当てること
をさらに含み、
前記1組のシードは、パスワードの階層を生成して、前記ユーザがアクセス制御デバイスの階層にアクセスすることができるようにするために、前記コードワードを変更するのに適している、請求項1に記載の方法。
【請求項14】
前記1組のシードのうちの最初のl個のシードを用いて、前記パスワードをl回変更することにより、lレベルパスワードを生成すること、
前記lレベルパスワード及びlレベルシンドロームからlレベル候補コードワードを復元することであって、該lレベルシンドロームはlレベルアクセス制御デバイスに関連付けられること、並びに
前記lレベル候補コードワードの暗号ハッシュが前記lレベルアクセス制御デバイスに関連付けられるlレベルコードワードの暗号ハッシュに等しい場合には、前記ユーザが前記lレベルアクセス制御デバイスにアクセスするのを許可すること
をさらに含む、請求項13に記載の方法。
【請求項15】
パスワードのブラックリストを前記アクセス制御デバイスに関連付けることをさらに含み、
前記ブラックリスト内の各パスワードは前記アクセス制御デバイスへのアクセスを拒否される、請求項6に記載の方法。
【請求項16】
アクセス制御デバイスの階層にアクセスするユーザのためのパスワードの階層を管理するシステムであって、
アクセス制御デバイスを備え、
前記デバイスは認証情報にアクセスすることができ、
前記認証情報は、
コードワードの暗号ハッシュと、
シンドロームと
を含み、ユーザのパスワード及び該シンドロームを入力として有する誤り訂正関数の実行の結果の暗号ハッシュが前記コードワードの前記暗号ハッシュに等しい場合には、前記ユーザに対して前記アクセス制御デバイスへのアクセスが許可されるように、前記シンドローム及び前記コードワードの前記暗号ハッシュは前記ユーザの前記パスワードを認証するのに適している、システム。
【請求項17】
前記認証情報は、無効なパスワードのブラックリストを含む、請求項16に記載のシステム。
【請求項18】
前記認証情報は、前記ユーザのデジタル署名を認証するための公開鍵を含む、請求項16に記載のシステム。
【請求項19】
前記システムは、前記ユーザに関連付けられるユーザデバイスをさらに備え、
前記ユーザデバイスは該ユーザの前記パスワード及び該ユーザの前記デジタル署名を格納する、請求項18に記載のシステム。
【請求項20】
前記ユーザデバイスは、前記ユーザの前記パスワードを変更するための1組のシードにアクセスすることができ、前記ユーザが1組の低レベルのデバイスにアクセスするための1組のパスワードを生成する、請求項19に記載のシステム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−170521(P2010−170521A)
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【外国語出願】
【出願番号】特願2009−189082(P2009−189082)
【出願日】平成21年8月18日(2009.8.18)
【出願人】(597067574)ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド (484)
【住所又は居所原語表記】201 BROADWAY, CAMBRIDGE, MASSACHUSETTS 02139, U.S.A.
【Fターム(参考)】