(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023105065
(43)【公開日】2023-07-28
(54)【発明の名称】アクセス管理装置、及びプログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20230721BHJP
G09C 1/00 20060101ALI20230721BHJP
H04L 9/08 20060101ALI20230721BHJP
G06F 21/62 20130101ALI20230721BHJP
G06F 21/33 20130101ALI20230721BHJP
【FI】
H04L9/32 200B
H04L9/32 200F
G09C1/00 620A
H04L9/08 B
G06F21/62
G06F21/33 350
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2023092961
(22)【出願日】2023-06-06
(62)【分割の表示】P 2018199374の分割
【原出願日】2018-10-23
(71)【出願人】
【識別番号】515312715
【氏名又は名称】株式会社アメニディ
(74)【代理人】
【識別番号】100136630
【弁理士】
【氏名又は名称】水野 祐啓
(74)【代理人】
【識別番号】100201514
【弁理士】
【氏名又は名称】玉井 悦
(72)【発明者】
【氏名】申 吉浩
(72)【発明者】
【氏名】前田 勝之
(57)【要約】
【課題】互いに包含関係を有する複数のアクセス権を管理するアクセス制御において管理すべき鍵の個数を、アクセス権の数及び包含関係の数に対して少なくできること。
【解決手段】アクセス管理装置は、各ノードにアクセス権が対応づけられることによりアクセス権同士の包含関係を示す有向非巡回グラフの各ノードに、公開識別情報と、秘密識別情報と、秘密認証情報とをそれぞれ対応づけるアクセス権管理部と、アクセス対象ノードに秘密認証情報を、当該秘密認証情報が第3者から秘匿される方法により、ユーザに付与するアクセス権付与部と、秘密認証情報と、当該秘密認証情報に対応するノードの有向非巡回グラフ中での上位ノードの公開識別情報とを、一方向性関数に入力して得られる値を示すアクセス権行使情報と、アクセス対象ノードに対応づけられた秘密識別情報とが所定の関係式を満足するか否かを検査するアクセス権検査部と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
本願明細書に記載の発明。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アクセス管理装置、及びプログラムに関する。
【背景技術】
【0002】
権限管理は情報システムのセキュリティを確保するための、重要な課題である。今日の一般的な情報システムの構成や運用においては、付与される権限の種類は様々であり、また組織や運用の性質によって、権限管理の複雑性が増している。また、IoT(Internet of Things)デバイスの普及を背景に、権限が反映される対象の数も非常に大きいものとなりつつある。
【0003】
例えば、ある建物の中に設置された、複数のセンサーを持つデバイスを考える。権限の保持者としては、デバイスの製造者、建物の管理者、デバイスの設置者、当該建物のフロアへの入居者等が考えられる。例えば、デバイスの製造者は、建物に関わらず、デバイスに内蔵されたファームウェアのアップデートを可能とする権限を保持している、建物の管理者はその建物内に設置されたデバイスの管理権限を保持している、フロアの入居者は特定のセンサーについて読み出し権限を保持しているといった、複雑かつ管理対象の数が多い権限管理が必要とされる。
【0004】
例えば、特許文献1のデータ管理システムでは、暗号化されたデータの共有後のセキュリティを確保した上で、関係者だけでデータを共有し、データの更新管理が行われる。特許文献1のデータ管理システムでは、共有ファイルおよびディレクトリについて、共有ファイルと共に認証モジュール、展開モジュール、アップロードモジュールが暗号化され第一の領域へ格納され、当該第一の領域の共有ファイル、ディレクトリ等に共有者に対するアクセス権が設定される(特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載されるようなデータ管理システムでは、複雑かつ管理対象の数が多い権限管理が必要とされる状況において、デバイス毎、また付与される権限の種類の数に応じて、アクセス制御のための鍵を割り当てる手法を取れば、必要となる鍵の数が増加し、鍵の管理および配布に困難が生じるという課題がある。
【0007】
一方、必要となる鍵の数が増加するため、複雑かつ管理対象の数が多い権限管理が必要とされる状況におけるアクセス制御を、鍵の管理によって行うことには困難が伴う。複雑なアクセス制御を行う際には、アクセス権を確認するためのシステムを別途用意され、当該システムにアクセス権を制御させることが行われている。
アクセス権を確認するために別途用意されるシステムにおいては、アクセス権を制御するシステムが、単一障害点となり、当該システムのセキュリティが破られた際には、全ての認証が破たんするという課題が存在している。
【0008】
本発明では、アクセス権を確認するためのシステムを別途用意することなく、互いに包含関係を有する複数のアクセス権を扱うアクセス制御を扱う。ここで互いに包含関係を有する複数のアクセス権の例として、上位のアクセス権と、下位のアクセス権との2つのアクセス権を考え、上位のアクセス権を行使できるユーザは下位のアクセス権を行使できるとする。つまり、上位のアクセス権は、下位のアクセス権を包含するとする。
【0009】
当該2つのアクセス権を管理するアクセス制御では、上位のアクセス権を行使できるユーザには、上位のアクセス権を行使するための鍵と、及び下位のアクセス権を行使するための鍵との2つの鍵が付与され、下位のアクセス権を行使できるユーザには下位のアクセス権を行使するための1つの鍵が付与される必要がある。当該アクセス制御では、上位のアクセス権が下位のアクセス権を包含しているという包含関係のため、アクセス権の数に加え、当該包含関係の数の分だけ鍵が必要とされる。
【0010】
本発明が解決しようとする課題は、互いに包含関係を有する複数のアクセス権を扱うアクセス制御において管理すべき鍵の個数を、アクセス権の数及び包含関係の数に対して少なくすることである。
【0011】
本発明は上記の点に鑑みてなされたものであり、互いに包含関係を有する複数のアクセス権を管理するアクセス制御において管理すべき鍵の個数を、アクセス権の数及び包含関係の数に対して少なくできるアクセス管理装置、及びプログラムを提供する。
【課題を解決するための手段】
【0012】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、各ノードにアクセス権が対応づけられることにより前記アクセス権同士の包含関係を示す有向非巡回グラフの各ノードに、前記アクセス権を行使するユーザに公開される公開識別情報と、前記アクセス権を行使するために必須の情報である秘密識別情報と、前記ユーザに付与される秘密認証情報とをそれぞれ対応づけるアクセス権管理部と、前記ノードのうちの前記ユーザにより行使される前記アクセス権に対応する前記ノードであるアクセス対象ノードに前記アクセス権管理部により対応づけられた前記秘密認証情報を、当該秘密認証情報が第3者から秘匿される方法により、当該ユーザに付与するアクセス権付与部と、前記アクセス権付与部により付与された前記秘密認証情報と、当該秘密認証情報に対応する前記ノードの有向非巡回グラフ中での上位ノードの公開識別情報とを、一方向性関数に入力して得られる値を示すアクセス権行使情報と、前記アクセス対象ノードに対応づけられた前記秘密識別情報とが所定の関係式を満足するか否かを検査するアクセス権検査部と、を備えるアクセス管理装置である。
【0013】
また、本発明の一態様は、上記のアクセス管理装置において、前記一方向性関数は準同型性を有し、前記アクセス権行使情報は、前記秘密認証情報が前記一方向性関数に入力されて得られる値と、前記上位ノードの前記公開識別情報とに対して、所定の計算手続きが実行されることによって生成される。
【0014】
また、本発明の一態様は、上記のアクセス管理装置において、前記有向非巡回グラフにより示される前記包含関係に加え、複数の前記アクセス権の論理式により示されるアクセス権である論理式アクセス権に対し、前記論理式アクセス権を表すために用いられる前記複数の前記アクセス権に対応づけられる前記ノードに前記アクセス権管理部により対応づけられる前記秘密識別情報と、前記公開識別情報とに基づいて、前記論理式アクセス権に対する前記秘密識別情報である論理式秘密識別情報を生成する論理式秘密識別情報生成部をさらに備える。
【0015】
また、本発明の一態様は、上記のアクセス管理装置において、前記アクセス権によるアクセスの対象はデータであり、当該データは前記秘密識別情報を鍵として暗号化されており、前記ユーザに付与された前記秘密認証情報から計算された前記秘密識別情報を鍵として、前記データが復号されることによって前記データへのアクセスが可能となる。
【0016】
また、本発明の一態様は、上記のアクセス管理装置において、前記アクセス権付与部は、前記ユーザが保持する耐タンパー特性を有するモジュールである耐タンパー特性モジュールに当該秘密認証情報が記録されることにより前記ユーザに前記秘密認証情報を付与し、前記アクセス権行使情報の少なくとも一部は、前記耐タンパー特性モジュール内において算出される。
【0017】
また、本発明の一態様は、上記のアクセス管理装置において、前記ユーザへの前記アクセス権の前記秘密認証情報と、前記ユーザを識別するユーザ識別情報とを少なくとも入力の一部とする、第2の一方向性関数の値であるチケットを生成するチケット生成部と、をさらに備え、前記アクセス権付与部は、前記秘密認証情報として、前記チケット生成部により生成された前記チケットを前記ユーザに付与し、前記アクセス権検査部は、前記アクセス権付与部により付与された前記チケットを前記一方向性関数に入力して得られる第2のアクセス権行使情報と、前記アクセス対象ノードに対応づけられた前記秘密識別情報とが所定の関係式を満足するか否かを検査する。
【0018】
また、本発明の一態様は、上記のアクセス管理装置において、前記チケットが生成されるのに用いられた前記ユーザ識別情報を、前記チケット生成部により生成された前記チケットに基づいて前記ユーザが生成する前記第2のアクセス権行使情報から取得する不正ユーザ判定部をさらに備える。
【0019】
また、本発明の一態様は、コンピュータに、各ノードにアクセス権が対応づけられることにより前記アクセス権同士の包含関係を示す有向非巡回グラフの各ノードに、前記アクセス権を行使するユーザに公開される公開識別情報と、前記アクセス権を行使するために必須の情報である秘密識別情報と、前記ユーザに付与される秘密認証情報とをそれぞれ対応づけるアクセス権管理ステップと、前記ノードのうちの前記ユーザにより行使される前記アクセス権に対応する前記ノードであるアクセス対象ノードに前記アクセス権管理ステップにより対応づけられた前記秘密認証情報を、当該秘密認証情報が第3者から秘匿される方法により、当該ユーザに付与するアクセス権付与ステップと、前記アクセス権付与ステップにより付与された前記秘密認証情報と、当該秘密認証情報に対応する前記ノードの有向非巡回グラフ中での上位ノードの公開識別情報とを、一方向性関数に入力して得られる値を示すアクセス権行使情報と、前記アクセス対象ノードに対応づけられた前記秘密識別情報とが所定の関係式を満足するか否かを検査するアクセス権検査ステップと、を実行させるプログラムである。
【発明の効果】
【0020】
本発明によれば、互いに包含関係を有する複数のアクセス権を管理するアクセス制御において管理すべき鍵の個数を、アクセス権の数及び包含関係の数に対して少なくできる。
【図面の簡単な説明】
【0021】
【
図1】本発明の第1の実施形態に係るアクセス管理システムの一例を示す図である。
【
図2】本発明の第1の実施形態に係るアクセス権情報の一例を示す図である。
【
図3】本発明の第1の実施形態に係るユーザ端末、及びアクセス管理装置の構成の一例を示す図である。
【
図4】本発明の第1の実施形態に係るアクセス管理装置のアクセス管理処理の一例を示す図である。
【
図5】本発明の第1の実施形態に係るユーザ端末の公開情報、及び秘密認証情報の取得処理の一例を示す図である。
【
図6】本発明の第1の実施形態に係るユーザ端末のアクセス実行処理の一例を示す図である。
【
図7】本発明の第1の実施形態に係るアクセス管理装置のアクセス検証処理の一例を示す図である。
【
図8】本発明の第2の実施形態に係るユーザ端末、及びアクセス管理装置の構成を示す図である。
【
図9】本発明の第2の実施形態に係るアクセス管理装置のアクセス管理処理の一例を示す図である。
【
図10】本発明の第2の実施形態に係るユーザ端末の公開情報、及び秘密認証情報の取得処理の一例を示す図である。
【
図11】本発明の第2の実施形態に係るユーザ端末のアクセス実行処理の一例を示す図である。
【
図12】本発明の第2の実施形態に係るアクセス管理装置のアクセス検証処理の一例を示す図である。
【
図13】本発明の第3の実施形態に係るユーザ端末、及びアクセス管理装置の構成を示す図である。
【
図14】本発明の第3の実施形態に係るアクセス管理装置のアクセス管理処理の一例を示す図である。
【
図15】本発明の第3の実施形態に係るユーザ端末のチケット取得処理の一例を示す図である。
【
図16】本発明の第3の実施形態に係るユーザ端末のアクセス実行処理の一例を示す図である。
【
図17】本発明の第3の実施形態に係るアクセス管理装置のアクセス検証処理の一例を示す図である。
【
図18】本発明の第3の実施形態に係るアクセス管理装置の不正ユーザ判定処理の一例を示す図である。
【発明を実施するための形態】
【0022】
(第1の実施形態)
(アクセス管理システムの構成)
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本実施形態に係るアクセス管理システムASの一例を示す図である。アクセス管理システムASは、ユーザUEのアクセス対象Rへのアクセスを管理するためのシステムである。アクセス管理システムASは、ユーザ端末1と、アクセス管理装置2と、アクセス権情報サーバ3と、アクセス対象サーバ4とを備える。
【0023】
ユーザ端末1は、ユーザUEの一例である。ユーザ端末1は、例えば、スマートフォンなどの移動体通信端末や、パーソナルコンピューターである。ユーザ端末1は、セキュリティカードなど、環境からサービスの提供を受ける際に、ユーザが常に身に着けて携行する専用端末であってもよい。
【0024】
ユーザ端末1は、複数のユーザ端末1-i(i=1、2、・・・、N:Nはユーザ端末の数)を含む。以下では、複数のユーザ端末1-i全体をユーザ端末1という場合と、複数のユーザ端末1-iのうちの1つを代表させてユーザ端末1という場合とがある。
ユーザ端末1は、アクセス管理装置2を介して、アクセス対象サーバ4に記憶されるアクセスの対象であるアクセス対象Rにアクセスする。アクセス対象Rとは、一例として、データである。本実施形態においてアクセス対象Rにアクセスするとは、例えばUNIX(登録商標)のアクセス制御に定義されているように、データであるアクセス対象Rの読み取り、書き込み、及び実行を含む。本実施形態では、一例として、アクセス対象Rは、複数のアクセス対象R1~R9を含む。
【0025】
アクセス管理装置2は、アクセス権情報サーバ3に記憶されるアクセス権情報XI、及びアクセス権情報サーバ3に記憶されるユーザ管理情報ULに基づいて、ユーザ端末1のアクセス対象サーバ4に記憶されるアクセス対象Rへのアクセスを管理する。
アクセス管理装置2は、例えば、ゲートウェイやゲートキーパーである。
【0026】
ここでアクセス対象Rに含まれるアクセス対象R1~R9へアクセスするには、アクセス対象R1~R9それぞれに対応するアクセス権V1~V9がそれぞれ必要となる。アクセス権情報XIは、アクセス権V1~V9同士の包含関係、及びアクセス権Vを行使するために必要となる鍵の情報を示す情報である。以下、アクセス権V1~V9をまとめてアクセス権Vという。
【0027】
ユーザ管理情報ULは、複数のユーザ端末1-iそれぞれについて、アクセス対象R1~R9それぞれに対応するアクセス権V1~V9を付与してよいかを示す情報である。ユーザ管理情報ULは、一例として、2次元の表形式のデータである。ユーザ管理情報ULは、複数のユーザ端末1-iそれぞれに対する列を有し、列毎にアクセス権V1~V9を付与してよいかを示す。
【0028】
アクセス権情報サーバ3は、アクセス権情報XI、及びユーザ管理情報ULを記憶する。
アクセス対象サーバ4は、アクセス対象Rを記憶する。ここでアクセス対象Rは、暗号化されて記憶される。
【0029】
ここで
図2を参照し、アクセス権情報XIについて説明する。
図2は、本実施形態に係るアクセス権情報XIの一例を示す図である。アクセス権情報XIでは、有向非巡回グラフ(Directed Acyclic Graph:DAG)OGによりアクセス権V同士の包含関係が示されている。本実施形態では、アクセス権Vは、一例として、互いに包含関係が定められた9つのアクセス権V1~アクセス権V9
を含む。
有向非巡回グラフOGは、9つのノードN1~N9を有する。ノードN1~N9は、それぞれアクセス権V1~アクセス権V9に対応づけられている。
【0030】
ノードN1~N9は、向きをもつ有向辺L(
図2に示す例では、有向辺L12、有向辺L13、有向辺L24、有向辺L25、有向辺L35、有向辺L36、有向辺L47、有向辺L57、有向辺L58、有向辺L68、有向辺L79、及び有向辺L89)により接続される。例えば、ノードN1と、ノードN2とは、有向辺L12によって、ノードN1からノードN2へ向かう向きに接続される。
【0031】
ここで一方のノードNiから他方のノードNjへの有向辺が存在する場合、ノードNiに対応するアクセス権Viは、ノードNjに対応するアクセス権Vjを包含する。アクセス権Viがアクセス権Vjを包含するとは、アクセス権Viを行使することにより、アクセス権Vjに対応するアクセス対象Rjにアクセスできることできることである。アクセス権Viがアクセス権Vjを包含する場合、アクセス権Viは、アクセス権Vjに加えてアクセス権Vjにより包含されるアクセス権Vを包含する。
【0032】
以下、一方のノードと他方のノードが、一方のノードから他方のノードへ向かう向きに有向辺Lにより接続される場合、一方のノードを上位ノード、他方のノードを下位ノードと、それぞれいうことがある。
また、アクセス権Viがアクセス権Vjを包含し、アクセス権Vjがアクセス権Vkを包含する場合、推移律を適用して、アクセス権Viがアクセス権Vkを包含する、あるいは、アクセス権Viのノードはアクセス権Vkのノードの上位ノードであるということがある。
【0033】
各ノードNには、公開識別情報PK、秘密識別情報SK、及び秘密認証情報AIがそれぞれ対応づけられている。例えば、ノードN1には、公開識別情報PK1、秘密識別情報SK1、及び秘密認証情報AI1が対応づけられ、ノードN2には、公開識別情報PK2、秘密識別情報SK2、及び秘密認証情報AI2が対応づけられる。公開識別情報PK、秘密識別情報SK、及び秘密認証情報AIは、上述したアクセス権Vを行使するために必要となる情報である。
【0034】
ノードNiの公開識別情報PKiを数xiとする。数rを、アクセス権Vの共通秘密鍵とする。アクセス権Viに対応する秘密認証情報AIiを式(1)により定める。
【0035】
【0036】
ここで数pは大きな素数である。数r及び数xiは、式(2)により示される集合に属する数であり、数p-1と互いに素となるようにランダムに選ばれる。
【0037】
【0038】
複数のユーザ端末1-i(i=1、2、・・・、N:Nはユーザ端末の数)のうちのあるユーザ端末1にノードNiに対応するアクセス権Viを付与する際には、当該ユーザ端
末1を含め、アクセス管理装置2の管理者以外にアクセスできないように、式(1)により示される秘密認証情報AIiが授与される。例えば、ユーザ端末1が保有する耐タンパー特性を有するデバイスに暗号経路を用いて秘密認証情報AIiが送信され、当該デバイス中に記録されるようにすることにより、アクセス管理装置2の管理者以外が当該秘密認証情報AIiにアクセスできないようにする。特に、アクセス権Viが付与されるユーザに対しても、秘密認証情報AIiの値は秘匿される。秘密認証情報AIiの値が知られると、数xiの法pにおける逆数を乗ずることにより、共通秘密鍵rが露呈してしまう。
ただし、後述する本発明の第3の実施形態では、秘密認証情報AIiをアクセス管理装置2の管理者以外がわからないように符号化することによって耐タンパーデバイスが不要となる例を示す。
【0039】
一方、秘密識別情報SKは以下のように構成する。群Gを数pを位数にもつ巡回群とし、群Gの演算は乗法により記述する。また、元gを群Gの生成元であるとする。群Gに関する離散対数問題は計算量的に解決不能であるとする。したがって、式(3)により示される関数は、数xに関して一方向性関数であるとする。
【0040】
【0041】
以下、式(3)により示される関数を一方向性関数F1という。一方向性関数F1は、群Gに値をもつ関数である。一方向性関数F1は、準同型性を有する。一方向性関数の構成方法としては、例えば、離散対数問題を用いた構成方法、RSAのような素因数分解を用いた構成方法が知られている。離散対数問題を用いた構成方法では、有限体上の離散対数問題、楕円曲線上の離散対数問題などを用いて、準同型性を有する一方向性関数を構成することができる。本実施形態の一方向性関数F1は、一例として、離散対数問題を用いた構成方法により、群Gを限定せずに構成された一方向性関数である。
なお、一方向性関数F1は、準同型性を有していれば、RSAのような素因数分解を用いた構成方法などの他の構成方法により構成される一方向性関数であってもよい。
【0042】
アクセス権Viに対応するノードNiに対し、有向辺を有向辺が示す包含関係の向きにたどってノードNiに経路が存在するノードNの添字の集合を集合Aiとする。ここでノードNの添字とは、例えば、ノードNiの場合、添字iである。即ち、集合Aiは、ノードNiの上位のノードNjの添字の集合である。
図2に示す例では、例えば、ノードN4に対する集合A4は、ノードN2の添字である2と、ノードN1の添字である1とからなる集合である。別の例では、ノードN8に対する集合A8は、ノードN5の添字である5と、ノードN2の添字である2と、ノードN1の添字である1と、ノードN6の添字である6と、ノードN3の添字である3とからなる集合である。
【0043】
ノードNiの秘密識別情報SKiは、式(4)により示される群Gの元として定められる。
【0044】
【0045】
ノードNiに対応するアクセス対象Riでは、例えば、秘密識別情報SKiが以下のよ
うに利用されてアクセス制御が行なわれる。
【0046】
アクセス対象Riへのアクセス制御を行なうアクセス管理装置2が、ユーザ端末1との間において、Diffie-Hellman-Merkle認証を行い、認証の都度生成する乱数λに対して、ユーザ端末1が式(5)により示される一方向性関数F1の値を生成し得た場合にのみ、アクセス対象Riへのアクセスを許可する。ここでユーザ端末1が生成する一方向性関数F1の値を、アクセス権行使情報GKという。
【0047】
【0048】
アクセス制御の方法の一例としては、アクセス管理装置2が式(6)によって示される生成元gのλ乗の値をユーザ端末1に送信し、ユーザ端末1から式(5)の値、あるいはその暗号学的ハッシュ値(例えば、SHA-1などを用いて生成される値)を受信した場合にアクセス対象Riへのアクセスを許可する方法が考えられる。
アクセス制御の方法の別の一例としては、アクセス管理装置2がアクセス対象Riを式(5)の値を鍵として暗号化しておき、式(6)の値をユーザ端末1に送信し、ユーザ端末1が式(5)の値を計算できた場合のみ暗号を復号できる方法などが考えられる。
【0049】
【0050】
集合Aiに含まれる任意の添字jについて、ユーザ端末1がアクセス権Vjを付与されているとする。従って、当該ユーザ端末1は、式(7)により示される秘密認証情報AIjを入力の一部として、式(3)により示される一方向性関数F1の計算の実行が可能であるとする。
【0051】
【0052】
ユーザ端末1は秘密認証情報AIjにはアクセスできないものとする。例えば、ユーザ端末1が保有する耐タンパーデバイス中に秘密認証情報AIjが記録され、当該耐タンパーデバイスはマイクロコンピュータを内蔵し、当該耐タンパーデバイス内の安全な計算領域において式(8)により示される一方向性関数F1の値を計算し、結果のみを出力するようにする。
【0053】
【0054】
ここでアクセス権Vjにより包含されるアクセス権Viの行使では、まず、式(8)により示される一方向性関数F1の値が計算される。
【0055】
次いで、アクセス権Viの行使は、公開識別情報PKの集合である式(9)により示される公開識別情報PKの集合、及びノードNiの公開識別情報PKiである数xiを用いて、アクセス権Viに対する秘密識別情報SKiが式(10)に従って計算されることにより実行される。
【0056】
【0057】
【0058】
上述したように、上位のアクセス権Vjが付与されたユーザ端末1は、任意の下位のアクセス権Viを行使することが可能となる。
【0059】
次に
図3を参照し、ユーザ端末1及びアクセス管理装置2の構成の詳細について説明する。
図3は、本実施形態に係るユーザ端末1、及びアクセス管理装置2の構成の一例を示す図である。
図1に示した複数のユーザ端末1-i(i=1、2、・・・、N:Nはユーザ端末の数)の機能は互いに同等であるため、
図3では、
図1に示した複数のユーザ端末1-i(i=1、2、・・・、N:Nはユーザ端末の数)のうちの1つを代表させてユーザ端末1として図示している。
【0060】
ユーザ端末1は、通信部10と、公開情報取得部11と、公開情報記憶部12と、アクセス要求部13と、耐タンパー特性モジュール14と、アクセス実行部15とを備える。
【0061】
通信部10は、通信モジュールであり、アクセス管理装置2との間において、各種の情報の送信及び受信を行う。
公開情報取得部11は、アクセス管理装置2により供給される公開情報PIを取得する。公開情報PIには、公開識別情報PKと、群情報GIが含まれる。群情報GIとは、群Gを示す情報であり、群Gの生成元、及び、群Gの位数である数pを含む。なお、群情報GIは、例えば群Gが楕円曲線の場合、その定義方程式を含んでもよい。
公開情報記憶部12は、公開情報取得部11により取得された公開情報PIを記憶する。
【0062】
アクセス要求部13は、アクセス管理装置2にアクセス要求情報ARを供給する。アクセス要求情報ARとは、アクセス対象ノードANを示す情報である。ここでアクセス対象ノードANとは、有向非巡回グラフOGのノードNのうち、ユーザ端末1がアクセスするアクセス対象Riに対応するノードNiである。
【0063】
耐タンパー特性モジュール14は、耐タンパー特性を備えたモジュールである。つまり、耐タンパー特性モジュール14は、自装置の内部に保持されるデータやプログラム、及び、自装置の内部で実行される計算処理が、外部から観察、及び干渉されない性質を有している。
耐タンパー特性モジュール14は、秘密認証情報取得部140と、秘密認証情報記憶部141と、アクセス権行使情報生成部142とを備える。
【0064】
秘密認証情報取得部140は、アクセス管理装置2から供給される秘密認証情報AIを取得する。
秘密認証情報記憶部141は、秘密認証情報取得部140により取得された秘密認証情報AIを記憶する。
アクセス権行使情報生成部142は、公開情報記憶部12に記憶される公開情報PIと、秘密認証情報記憶部141に記憶される秘密認証情報AIとに基づいて、アクセス権行使情報GKを生成する。アクセス権行使情報GKを生成するため、アクセス権行使情報生成部142は、一方向性関数F1を実行する機能を有する。
【0065】
アクセス実行部15は、アクセス管理装置2にアクセス対象Rへのアクセスが許可された場合に、アクセス対象Rへのアクセスを実行する。
【0066】
アクセス管理装置2は、通信部20と、ユーザ管理部21と、アクセス権管理部22と、アクセス要求取得部23と、アクセス権付与部24と、乱数生成部25と、アクセス権検査部26と、アクセス許可部27とを備える。
【0067】
通信部20は、通信モジュールであり、ユーザ端末1との間において、各種の情報の送信及び受信を行う。
ユーザ管理部21は、アクセス権情報サーバ3に記憶されるユーザ管理情報ULに基づいて、ユーザ端末1にアクセス対象Rへのアクセス権Vを付与してよいかを判定する。
アクセス権管理部22は、アクセス権情報サーバ3に記憶されるアクセス権情報XIを管理する。ここでアクセス権管理部22は、有向非巡回グラフOGの各ノードNに、公開識別情報PKと、秘密識別情報SKと、秘密認証情報AIとをそれぞれ対応づける。
【0068】
アクセス要求取得部23は、ユーザ端末1から供給されるアクセス要求情報ARを取得する。
乱数生成部25は、乱数λを生成し、アクセス権付与部24に供給する。
【0069】
アクセス権検査部26は、ユーザ端末1に秘密認証情報AIを供給する。また、アクセス権付与部24は、アクセス要求取得部23により取得されたアクセス要求情報ARに応じて、乱数生成部25により生成された乱数λに基づいて式(6)によって示される生成元gの乱数λ乗の値を算出し、算出した値をユーザ端末1に供給することで、Diffie-Hellman-Merkle認証を実施する。
【0070】
結果として、アクセス権検査部26は、ユーザ端末1から供給されるアクセス権行使情報GKの乱数λ乗の値と、アクセス要求情報ARが示すアクセス対象ノードANに対応づけられた秘密識別情報SKのλ乗の値とが一致するか否かを検査する。即ち、アクセス権検査部26は、アクセス権行使情報GKと秘密識別情報SKとが一致するか否かを検査する。
【0071】
ここで群Gは離散対数問題を解くことが計算量的に困難であるように構成されているので、ユーザ端末1に供給される生成元gの乱数λ乗の値から乱数λを知ることは不可能である。秘密識別情報SKと一致することが期待されるアクセス権行使情報GKは乱数λによりマスクされているため、ユーザ端末1とアクセス管理装置2との通信が傍受されたとしても、傍受された通信内容から秘密識別情報SKが漏れることはない。この認証方式はDiffie-Hellman-Merkle認証方式として知られている。
アクセス許可部27は、アクセス権検査部26の判定結果に応じて、ユーザ端末1のア
クセス対象Rへのアクセスを許可、または禁止する。
【0072】
(アクセス管理システムにおける処理)
図4を参照し、ユーザ端末1によるアクセスが行われる前のアクセス管理装置2の処理であるアクセス管理処理について説明する。
図4は、本実施形態に係るアクセス管理装置2のアクセス管理処理の一例を示す図である。
図4に示す処理は、アクセス管理システムASの運用が開始された場合に開始される。
【0073】
ステップS100:アクセス権管理部22は、通信部20を介して、アクセス権情報サーバ3に記憶されるアクセス権情報XIに含まれる有向非巡回グラフOGの各ノードNに、公開識別情報PKと、秘密識別情報SKと、秘密認証情報AIとを対応づける。
【0074】
例えば、ここでアクセス権管理部22は、アクセス対象Rに対応するノードNに秘密識別情報SKを対応づけることにより、アクセス対象Rを、秘密識別情報SKを鍵として暗号化することができる。ノードNに対応づけられるアクセス対象Rが、全て同じ鍵によって暗号化されることを避けるためには、アクセス対象R毎に乱数λを生成し、秘密識別情報SKの乱数λ乗の値を暗号化の鍵とし、式(6)によって示される生成元gの式(5)によって示される乱数λ乗の値を暗号化されたアクセス対象Rに添付することで、Diffie-Hellman-Merkle認証と暗号によるデータの秘匿とを結合させる。この暗号方式はElGamal暗号方式として知られている。
【0075】
有向非巡回グラフOGは、上述したように、各ノードにアクセス権Vが対応づけられることによりアクセス権V同士の包含関係を示す。公開識別情報PKとは、アクセス権Vを行使するユーザUEに公開される情報である。秘密識別情報SKとは、アクセス権Vを行使するために必須の情報である。秘密認証情報AIとは、ユーザUEに付与される情報である。
【0076】
したがって、アクセス権管理部22は、各ノードにアクセス権Vが対応づけられることによりアクセス権V同士の包含関係を示す有向非巡回グラフOGの各ノードNに、アクセス権Vを行使するユーザUEに公開される公開識別情報PKと、アクセス権Vを行使するために必須の情報である秘密識別情報SKと、ユーザUEに付与される秘密認証情報AIとをそれぞれ対応づける。
【0077】
また、アクセス権Vによるアクセスの対象(この一例において、アクセス対象R)はデータであり、当該データは秘密識別情報SK、又は、秘密識別情報SKの乱数λ乗の値を鍵として暗号化されている。ここでユーザUEに付与された秘密認証情報AIから計算された秘密識別情報SKの乱数λ乗を鍵として、当該データが復号されることによって当該データへのアクセスが可能となる。
【0078】
ここで、式(10)に示す方法により、ある上位ノードであるノードNjに対応づけられるアクセス権Vjに包含されるアクセス権Viに対応づけられた下位ノードであるノードNiに対応づけられる秘密識別情報SKiは、生成元gの乱数λ乗の元とノードNjに対応づけられる秘密認証情報AIjとを一方向性関数F1に入力して得られる値と、公開識別情報PKのうちの集合Aiにより示されるノードNに対応づけられる公開識別情報PK及び公開識別情報PKiとから、一方向性関数F1を介して計算される。
【0079】
つまり、ノードNのうちあるノードである上位ノードにアクセス権管理部22により対応づけられるアクセス権Vに包含されるアクセス権Vに対応づけられたノードNである下位ノードに、アクセス権管理部22により対応づけられる秘密識別情報SKは、当該ある
上位ノードにアクセス権管理部22により対応づけられる秘密認証情報AIと、公開識別情報PKのうちの所定の公開識別情報PKと、生成元gの乱数λ乗の元とから一方向性関数F1を利用して得られる。
【0080】
ステップS110:アクセス権管理部22は、複数のユーザ端末1-i(i=1、2、・・・、N:Nはユーザ端末の数)それぞれに、公開識別情報PKを、通信部20を介して供給する。
【0081】
ステップS120:ユーザ管理部21は、アクセス権情報サーバ3に記憶されるユーザ管理情報ULに基づいて、アクセス権Vを付与するユーザ端末1を判定する。ユーザ管理部21は、判定結果をアクセス権付与部24に供給する。
【0082】
ステップS130:アクセス権付与部24は、アクセス権Vをユーザ端末1に付与する。ここでアクセス権付与部24は、秘密認証情報AIを、通信部20を介してユーザ端末1に供給することにより、アクセス権Vをユーザ端末1に付与する。アクセス権付与部24がユーザ端末1に付与する秘密認証情報AIとは、アクセス要求取得部23により取得されたアクセス要求情報ARが示すアクセス対象ノードANに対応づけられた秘密認証情報AIである。
【0083】
次に
図5を参照し、アクセスを行う前のユーザ端末1の処理について説明する。
図5は、本実施形態に係るユーザ端末1の公開情報、及び秘密認証情報の取得処理の一例を示す図である。
ステップS200:公開情報取得部11は、アクセス管理装置2から供給される公開識別情報PKを、通信部10を介して取得する。公開情報取得部11は、取得した公開識別情報PKを公開情報記憶部12に記憶させる。
【0084】
ステップS210:秘密認証情報取得部140は、アクセス管理装置2から供給される秘密認証情報AIを、通信部10を介して取得する。秘密認証情報取得部140は、取得した秘密認証情報AIを秘密認証情報記憶部141に記憶させる。
【0085】
ここで秘密認証情報取得部140、及び秘密認証情報記憶部141は、耐タンパー特性モジュール14に備えられるため、秘密認証情報記憶部141に記憶される秘密認証情報AIは、耐タンパー特性モジュール14の外部に備えられるユーザ端末1の他の機能部からは参照されない。
【0086】
次に
図6を参照し、ユーザ端末1がアクセス対象Rへのアクセスを行う場合の処理について説明する。
図6は、本実施形態に係るユーザ端末1のアクセス実行処理の一例を示す図である。
ステップS300:アクセス要求部13は、アクセス管理装置2にアクセス対象Rへのアクセスを要求する。ここでアクセス要求部13は、アクセス要求情報ARを、通信部10を介してアクセス管理装置2に供給することにより、アクセスを要求する。
【0087】
ステップS310:秘密認証情報取得部140は、アクセス管理装置2から供給される式(6)によって示される群Gの生成元gの乱数λ乗を取得し、アクセス権行使情報生成部142に供給する。
【0088】
ステップS320:アクセス権行使情報生成部142は、秘密認証情報記憶部141に記憶される秘密認証情報AIと、公開情報記憶部12に記憶される公開情報PIに含まれる所定の公開識別情報PKと、秘密認証情報取得部140から供給される生成元gの乱数λ乗の値とから、アクセス権行使情報GKの乱数λ乗の値を生成する。ここでアクセス権行
使情報GKは、上述した式(5)により示される。
つまり、アクセス権行使情報GKは、秘密認証情報AIが一方向性関数F1に入力されて得られる値と、上位ノードの公開識別情報PKとに対して、所定の計算手続きが実行されることによって生成される。
【0089】
アクセス権行使情報生成部142は、耐タンパー特性モジュール14に備えられる。つまり、アクセス権行使情報GKは、耐タンパー特性モジュール14内において算出される。アクセス権行使情報GKは、耐タンパー特性モジュール14内において算出されるため、アクセス権行使情報GKの算出過程は、耐タンパー特性モジュール14の外部に備えられるユーザ端末1の他の機能部からは参照されない。
【0090】
なお、本実施形態の一方向性関数F1は準同型性を満足するため、アクセス権行使情報生成部142は、アクセス権行使情報GKのうち秘密認証情報AIを必要とする部分を算出し、アクセス権行使情報GKのうち公開識別情報PKを用いた残りの部分を外部装置に算出させてもよい。
つまり、アクセス権行使情報GKの少なくとも一部は、耐タンパー特性モジュール14内において算出される。
【0091】
なお、本実施形態では、秘密認証情報AIと、所定の公開識別情報PKと、生成元gの法pにおける乱数λ乗の値とから、アクセス権行使情報GKの乱数λ乗の値が生成するため、秘密認証情報AIがアクセス管理装置2の管理者以外の第3者に解読されてしまうことはない。秘密認証情報AIがアクセス管理装置2の管理者以外の第3者に解読されてしまうことがない理由は、DDH(Decisional Diffie Hellman)仮説による。
【0092】
ステップS330:アクセス権行使情報生成部142は、生成したアクセス権行使情報GKを、通信部10を介してアクセス管理装置2に供給する。
【0093】
ステップS340:アクセス要求部13は、アクセス管理装置2によりアクセス対象Rへのアクセスが許可されたか否かを判定する。ここでアクセス要求部13は、アクセス管理装置2から供給されるアクセス許可情報APを取得した場合、アクセス対象Rへのアクセスが許可されたと判定する。アクセス要求部13は、アクセス管理装置2から供給されるアクセス禁止情報ADを取得した場合、アクセス対象Rへのアクセスが許可されなかったと判定する。
【0094】
アクセス要求部13がアクセス対象Rへのアクセスが許可されたと判定する場合(ステップS340;YES)、アクセス実行部15はステップS350の処理を実行する。一方、アクセス要求部13は、アクセス対象Rへのアクセスが許可されなかったと判定する場合(ステップS340;NO)、処理を終了する。
【0095】
ステップS350:アクセス実行部15は、通信部10を介して、アクセス対象Rへのアクセスを実行する。
【0096】
次に
図7を参照し、アクセス管理装置2がユーザ端末1のアクセス対象Rへのアクセスを検証する処理について説明する。
図7は、本実施形態に係るアクセス管理装置2のアクセス検証処理の一例を示す図である。
【0097】
ステップS400:アクセス要求取得部23は、ユーザ端末1から供給されるアクセス要求情報ARを、通信部20を介して取得する。アクセス要求取得部23は、取得したアク
セス要求情報ARをアクセス権検査部26に供給する。
【0098】
ステップS410:アクセス権検査部26は、群Gの生成元gの乱数λ乗の値を、ユーザ端末1に通信部20を介して供給する。ここで乱数生成部25は、ステップS400においてアクセス要求取得部23がアクセス要求情報ARを取得する度に乱数λを生成する。
【0099】
ここで、
図5のステップS210において説明したように、ユーザ端末1に付与された秘密認証情報AIは、ユーザ端末1が保持する耐タンパー特性モジュール14の秘密認証情報記憶部141に記憶される。つまり、アクセス権付与部24は、ユーザUEが保持する耐タンパー特性を有するモジュールである耐タンパー特性モジュール14に秘密認証情報AIを記録することによりユーザUEに秘密認証情報AIを付与する。
【0100】
アクセス権付与部24は、耐タンパー特性モジュール14に秘密認証情報AIを記録することによりユーザUEであるユーザ端末1に秘密認証情報AIを付与するため、秘密認証情報AIは第3者から秘匿される。ここで第3者とは、アクセス管理システムASの外部のユーザ、アクセス管理装置2にアクセス要求情報ARを供給したユーザ端末1以外のユーザ端末1、及びアクセス管理装置2にアクセス要求情報ARを供給したユーザ端末1を含む。秘密認証情報AIは、アクセス管理装置2から参照される。
【0101】
つまり、アクセス権付与部24は、ノードNのうちのユーザUEにより行使されるアクセス権Vに対応するノードNであるアクセス対象ノードANにアクセス権管理部22により対応づけられた秘密認証情報AIを、秘密認証情報AIが第3者から秘匿される方法により、ユーザUEに付与する。
【0102】
ステップS420:アクセス権検査部26は、ユーザ端末1から供給されるアクセス権行使情報GKを、通信部20を介して取得する。
【0103】
ステップS430:アクセス権検査部26は、ステップS420において取得したアクセス権行使情報GKと、アクセス要求情報ARが示すアクセス対象ノードANに対応づけられた秘密識別情報SKの乱数λ乗とが一致するか否かを判定する。
即ち、アクセス権行使情報GKと、秘密識別情報SKの乱数λ乗とが一致するとは、アクセス権行使情報GKと、上述した式(5)により示される乱数λを含む値とが一致することである。
なお、アクセス権行使情報GKと秘密識別情報SKの乱数λ乗とが一致することは、アクセス権行使情報GKと秘密識別情報SKとが所定の関係式を満足することの一例である。
【0104】
アクセス権検査部26は、アクセス権付与部24により付与された秘密認証情報AIと、当該秘密認証情報AIに対応するノードNの公開識別情報PKと、ノードNの有向非巡回グラフOG中での上位ノードの公開識別情報PKと、一方向性関数F1とを用いて得られるアクセス権行使情報GKと、アクセス対象ノードANに対応づけられた秘密識別情報SKとが所定の関係式を満足するか否かを検査する。
【0105】
アクセス権検査部26は、アクセス権行使情報GKと秘密識別情報SKとが上述した所定の関係式を満足すると判定する場合(ステップS430;YES)、アクセス許可部27にアクセス権が確認されたことを示す判定結果を供給する。その後、アクセス許可部27は、ステップS440の処理を実行する。
一方、アクセス権検査部26は、アクセス権行使情報GKと秘密識別情報SKとが上述した所定の関係式を満足しないと判定する場合(ステップS430;NO)、アクセス許可部27にアクセス権が確認されないことを示す判定結果を供給する。その後、アクセス
許可部27は、ステップS450の処理を実行する。
【0106】
ステップS440:アクセス許可部27は、ユーザ端末1のアクセス対象Rへのアクセスを許可する。アクセス許可部27は、アクセス許可情報APを、ユーザ端末1に通信部20を介して供給する。
【0107】
ステップS450:アクセス許可部27は、ユーザ端末1のアクセス対象Rへのアクセスを禁止する。アクセス許可部27は、アクセス禁止情報ADを、ユーザ端末1に通信部20を介して供給する。
【0108】
なお、本実施形態では、アクセス権行使情報GKが乱数λを用いて生成されて、アクセス権検査部26がアクセス権行使情報GKと、式(5)により示される乱数λを含む値とが一致するか否か、即ち、アクセス権行使情報GKが秘密識別情報SKの乱数λ乗と一致するという関係式の成立を判定する場合について説明したが、これに限らない。
アクセス権行使情報GKの生成には乱数λが用いられることなく、アクセス権行使情報GKは、式(4)により示される値として生成されてもよい。アクセス権行使情報GKが式(4)により示される値として生成される場合、ステップS440においてアクセス権検査部26は、アクセス権行使情報GKと、式(4)により示される秘密識別情報SKとが一致するか否かを判定する。
【0109】
なお、アクセス権行使情報GKの生成には乱数λが用いられることなく、アクセス権行使情報GKが、式(4)により示される値として生成される場合、アクセス管理装置2は、乱数生成部25を備えていなくてもよい。また当該場合、
図6のステップS310、及び
図7のステップS410の処理は省略される。
【0110】
なお、本実施形態では、秘密認証情報AIは、
図4のステップS130においてアクセス管理装置2からユーザ端末1に付与される場合について説明したが、これに限らない。
図7のステップS400においてユーザ端末1から供給されるアクセス要求情報ARを取得した後に、秘密認証情報AIはアクセス管理装置2からユーザ端末1に付与されてもよい。例えば、
図7のステップS410において、群Gの生成元gの乱数λ乗の値とともに、秘密認証情報AIはアクセス管理装置2からユーザ端末1に付与されてもよい。
【0111】
以上に説明したように、本実施形態に係るアクセス管理装置2は、アクセス権管理部22と、アクセス権付与部24と、アクセス権検査部26とを備える。
アクセス権管理部22は、各ノードにアクセス権Vが対応づけられることによりアクセス権V同士の包含関係を示す有向非巡回グラフOGの各ノードNに、アクセス権Vを行使するユーザUEに公開される公開識別情報PKと、アクセス権Vを行使するために必須の情報である秘密識別情報SKと、ユーザUEに付与される秘密認証情報AIとをそれぞれ対応づける。
アクセス権付与部24は、ノードNのうちのユーザUEにより行使されるアクセス権Vに対応するノードNであるアクセス対象ノードANにアクセス権管理部22により対応づけられた秘密認証情報AIを、秘密認証情報AIが第3者から秘匿される方法により、ユーザUEに付与する。
アクセス権検査部26は、アクセス権付与部24により付与された秘密認証情報AIと、当該秘密認証情報AIに対応するノードNの有向非巡回グラフOG中での上位ノードの公開識別情報PKとを、一方向性関数F1に入力されて得られる値を示すアクセス権行使情報GKと、アクセス対象ノードANに対応づけられた秘密識別情報SKとが所定の関係式を満足するか否かを検査する。
【0112】
この構成により、本実施形態に係るアクセス管理装置2では、下位ノードに対応づけら
れる秘密識別情報SKは、上位のノードに対応づけられる秘密認証情報AIと、公開識別情報PKのうちの所定の公開識別情報PKとが一方向性関数F1に入力されて得られるため、互いに包含関係を有する複数のアクセス権を管理するアクセス制御において管理すべき鍵の個数を、アクセス権の数及び包含関係の数に対して少なくできる。
本実施形態に係るアクセス管理装置2では、管理すべき鍵の個数を少なく保ちつつ、複雑かつ大量の対象に対するアクセス制御を実現できる。
【0113】
また、本実施形態に係るアクセス管理装置2では、一方向性関数F1は、準同型性を有し、アクセス権行使情報GKは、秘密認証情報AIが一方向性関数F1に入力されて得られる値と、ノードNの有向非巡回グラフOG中での上位ノードの公開識別情報PKとに対して、所定の計算手続きが実行されることによって生成される。
この構成により、安全のため耐タンパー特性モジュール14内で計算される一方向性関数F1の入力は秘密認証情報AIのみとし、耐タンパー特性モジュール14の外部において、一方向性関数F1の出力と、上位ノードの公開識別情報PKとに対して、所定の計算手続きを実行することにより、必要なアクセス権行使情報GKを生成することが可能となり、耐タンパー特性モジュール14へのデータの入出力と、計算能力が限定される耐タンパー特性モジュール内14での計算量を軽減することが可能となる。
【0114】
また、本実施形態に係るアクセス管理装置2では、アクセス権Vによるアクセスの対象(この一例において、アクセス対象R)はデータであり、当該データは秘密識別情報SKを鍵として暗号化されており、ユーザUEに付与された秘密認証情報AIから計算された秘密識別情報SKを鍵として、当該データが復号されることによって当該データへのアクセスが可能となる。
この構成により、本実施形態に係るアクセス管理装置2では、データを暗号化するための鍵である秘密識別情報SKのうち下位ノードに対応づけられる秘密識別情報SKは、上位のノードに対応づけられる秘密認証情報AIと、公開識別情報PKのうちの所定の公開識別情報PKとが一方向性関数F1に入力されて得られるため、データへのアクセス権を管理する場合において管理すべき鍵の個数を、アクセス権の数及び包含関係の数に対して少なくできる。
【0115】
また、本実施形態に係るアクセス管理装置2では、アクセス権付与部24は、ユーザUEが保持する耐タンパー特性を有するモジュールである耐タンパー特性モジュール14に秘密認証情報AIが記録されることによりユーザUEに秘密認証情報AIを付与する。また、アクセス権行使情報GKの少なくとも一部は、耐タンパー特性モジュール14内において算出される。
この構成により、本実施形態に係るアクセス管理装置2では、第3者から秘匿される方法により秘密認証情報AIをユーザに付与でき、かつ第3者から秘匿される方法によりアクセス権行使情報GKを算出できるため、耐タンパー特性モジュール14を用いない場合に比べてより安全にアクセス権を管理できる。
本実施形態に係るアクセス管理装置2では、一方向性関数F1が準同型性を満足する場合、アクセス権行使情報GKのうち秘密認証情報AIを必要とする部分を耐タンパー特性モジュール14内において算出し、アクセス権行使情報GKのうち公開識別情報PKを用いた残りの部分を外部装置に算出させることにより、計算効率を向上させることができる。
【0116】
(第2の実施形態)
以下、図面を参照しながら本発明の第2の実施形態について詳しく説明する。
互いに包含関係を有する複数のアクセス権を扱うアクセス制御において、既存のアクセス権の論理関係(論理式)を用いて新たなアクセス権が定義されることも普通である。例えば、関係データベース(Relational Database)の第1の表と第2
の表とにそれぞれ独立のアクセス権が設定されている場合、第1の表と第2の表との統合(Join)にアクセスするためには、第1の表と第2の表との両方のアクセス権を有していることが必要である。つまり、第1の表と第2の表との両方のアクセス権の論理積によって表現されるアクセス権が必要である。
【0117】
逆に第1の表と第2の表とに共通に含まれる列への射影(Projection)にアクセスするためには、第1の表と第2の表とのうちいずれか一方のアクセス権を有していれば十分である。当該アクセス権は、第1の表と第2の表との両方のアクセス権の論理和によって表現される。
【0118】
上記第1の実施形態では、アクセス管理装置が、有向非巡回グラフにより包含関係が示されるアクセス権を扱う場合について説明をした。本実施形態では、アクセス管理装置が、既に定義された2つ以上のアクセス権群に対して、当該アクセス権群の間の任意の論理式により表現されるアクセス権を新たに設定する場合について説明をする。
【0119】
例えば、簡単のために、ルート権限の公開識別情報は1、秘密識別情報は式(11)により示される値、秘密認証情報は数rであるとする。
【0120】
【0121】
以下では説明の簡単のためにルート権限の直下のアクセス権V1及びアクセス権V2を考えるが、この仮定は必須ではない。アクセス権Viの公開識別情報は式(12)により示される値、秘密識別情報SKiは式(13)により示される値、秘密認証情報は式(14)により示される値である。
なお、アクセス権Viがルート権限の直下でない場合は、上述の第1の実施形態の場合と同様に、例えば式(4)によって秘密識別情報を定めればよい。実際、式(13)は、Ai={1}、xi=1とした場合の式(4)の値に他ならない。
【0122】
【0123】
【0124】
【0125】
ここで2つ以上のアクセス権の論理式により表されるアクセス権を論理式アクセス権LVという。また、論理式アクセス権LVに対応づけられる秘密認証情報を、論理式秘密識別情報LSKという。論理式アクセス権LVに対応づけられる秘密認証情報を、論理式秘密認証情報LAIという。論理式アクセス権LVに対応づけられる公開識別情報を、論理式公開識別情報LPKという。
【0126】
アクセス権V1及びアクセス権V2の論理積(AND)により記述される論理式アクセス権LVを論理式アクセス権V1∧2とする。論理式アクセス権V1∧2の論理式公開識別情報LPKを式(15)により示される値とする。特に、論理式アクセス権V1∧2を明示的にユーザに付与せず、アクセス権V1とアクセス権V2との両方を付与されたユーザにのみアクセスを許可する場合、論理式公開識別情報LPKの値は1としてよい。
【0127】
【0128】
論理式アクセス権V1∧2の論理式秘密識別情報LSKを式(16)により示される値、論理式アクセス権V1∧2の論理式秘密認証情報LAIを式(17)により示される値とする。
【0129】
【0130】
【0131】
ここで秘密認証情報AI1と、秘密認証情報AI2との両方が付与されたユーザは、論理式アクセス権V1∧2の論理式秘密識別情報LSKを、式(18)の演算により計算できる。
【0132】
【0133】
式(18)の演算により、論理式アクセス権V1∧2を行使することができるユーザには2種類のユーザがいることがわかる。1番目のユーザは、アクセス権V1及びアクセス権V2をそれぞれ付与され、したがって、式(19)により示される値、及び式(20)により示される値の両方を計算できるユーザである。
【0134】
【0135】
【0136】
2番目のユーザは、論理式アクセス権V1∧2を付与され、したがって、式(21)により示される値を計算できるユーザである。
【0137】
【0138】
当該1番目のユーザ、あるいは、当該2番目のユーザのみが、当該論理式アクセス権V1∧2を行使することができる。当該1番目のユーザは、アクセス権V1に包含される任意のアクセス権、及び、アクセス権V2に包含される任意のアクセス権を同時に有する。一方、当該2番目は、論理式アクセス権V1∧2のみを有する。
【0139】
ここでアクセス権V1及びアクセス権V2の論理和(OR)により記述されるアクセス権を、論理式アクセス権V1∨2とする。論理式アクセス権V1∨2の論理式秘密識別情報LSKを式(22)により示される値、及び論理式アクセス権V1∨2の論理式秘密認証情報LAIを式(23)により示される値により定めれば、上述した論理積の場合と同様に論理式アクセス権V1∨2を構成することができる。
【0140】
【0141】
【0142】
上記の構成を再帰的に組み合わせれば、既存のアクセス権を引数とする任意の論理式により記述されるアクセス権を、公開識別情報、秘密識別情報、及び、秘密認証情報により構成することが可能となる。
【0143】
(アクセス管理システムの構成)
本実施形態に係るアクセス管理システムをアクセス管理システムASaという。また、本実施形態に係るユーザ端末をユーザ端末1aといい、アクセス管理装置をアクセス管理装置2aといい、アクセス権情報サーバをアクセス権情報サーバ3aという。
【0144】
図8は、本実施形態に係るユーザ端末1a、及びアクセス管理装置2aの構成を示す図である。
本実施形態に係るユーザ端末1a(
図8)と第1の実施形態に係るユーザ端末1(
図3)とを比較すると、公開情報取得部11a、公開情報記憶部12a、アクセス要求部13a、及び耐タンパー特性モジュール14a、が異なる。ここで、他の構成要素(通信部1
0、及びアクセス実行部15)が持つ機能は第1の実施形態と同じである。
また、本実施形態に係るアクセス管理装置2a(
図8)と第1の実施形態に係るアクセス管理装置2(
図3)とを比較すると、ユーザ管理部21a、アクセス権管理部22a、アクセス要求取得部23a、アクセス権付与部24a、アクセス権検査部26a、アクセス許可部27a、及び論理式秘密識別情報生成部28aが異なる。ここで、他の構成要素(通信部20、及び乱数生成部25)が持つ機能は第1の実施形態と同じである。
また、本実施形態に係るアクセス権情報サーバ3a(
図8)と、第1の実施形態に係るアクセス権情報サーバ3(
図3)とを比較すると、記憶されるアクセス権情報XIaが異なる。ここでユーザ管理情報ULが示す情報は第1の実施形態と同じである。本実施形態に係るアクセス対象サーバ4(
図8)の構成は、アクセス対象サーバ4(
図3)の構成と同じである。
第1の実施形態と同じ機能の説明は省略し、第2の実施形態では、第1の実施形態と異なる部分を中心に説明する。
【0145】
ユーザ端末1aは、通信部10と、公開情報取得部11aと、公開情報記憶部12aと、アクセス要求部13aと、耐タンパー特性モジュール14aと、アクセス実行部15とを備える。
【0146】
公開情報取得部11aは、アクセス管理装置2により供給される公開情報PIaを取得する。公開情報PIaには、公開識別情報PKと、群情報GIと、論理式公開識別情報LPKとが含まれる。
公開情報記憶部12aは、公開情報取得部11aにより取得された公開情報PIaを記憶する。
【0147】
アクセス要求部13aは、アクセス管理装置2aに論理式アクセス要求情報LARを供給する。ここで論理式アクセス要求情報LARは、論理式により示される1以上のアクセス対象Rを示す情報である。論理式アクセス要求情報LARは、例えば、アクセス対象R1及びアクセス対象R2の結合を示す。また、別の一例では、論理式アクセス要求情報LARは、アクセス対象R1及びアクセス対象R2の共通部分を示す。
【0148】
耐タンパー特性モジュール14aは、秘密認証情報取得部140aと、秘密認証情報記憶部141aと、アクセス権行使情報生成部142aとを備える。
秘密認証情報取得部140aは、アクセス管理装置2aから供給される秘密認証情報AI、及び論理式秘密認証情報LAIを取得する。
秘密認証情報記憶部141aは、秘密認証情報取得部140aにより取得された秘密認証情報AI、及び論理式秘密認証情報LAIを記憶する。
【0149】
アクセス権行使情報生成部142aは、公開情報記憶部12に記憶される公開情報PIaと、秘密認証情報記憶部141に記憶される秘密認証情報AIと、秘密認証情報記憶部141に記憶される論理式秘密認証情報LAIとに基づいて、論理式アクセス権行使情報LGKを生成する。ここでユーザ端末1aが、例えば、上述した式(18)にしたがって生成する一方向性関数F1の値を、論理式アクセス権行使情報LGKという。
【0150】
アクセス管理装置2aは、通信部20と、ユーザ管理部21aと、アクセス権管理部22aと、アクセス要求取得部23aと、アクセス権付与部24aと、乱数生成部25と、アクセス権検査部26aと、アクセス許可部27aと、論理式秘密識別情報生成部28aとを備える。
【0151】
ユーザ管理部21aは、アクセス権情報サーバ3aに記憶されるユーザ管理情報ULに基づいて、ユーザ端末1aに論理式アクセス権LVを付与してよいかを判定する。
アクセス権管理部22aは、有向非巡回グラフOGの各ノードNに、公開識別情報PKと、秘密識別情報SKと、秘密認証情報AIとをそれぞれ対応づける。さらにアクセス権管理部22aは、論理式アクセス権V1∧2に対して論理式公開識別情報LPKと、論理式秘密識別情報LSKと、論理式秘密認証情報LAIを対応づける。
【0152】
アクセス要求取得部23aは、ユーザ端末1aから供給される論理式アクセス要求情報LARを取得する。
アクセス権付与部24aは、明示的に論理式アクセス権LVを付与する場合には、ユーザ端末1に論理式秘密認証情報LAIを供給する。
論理式秘密識別情報生成部28aは、論理式秘密識別情報LSKを生成する。
【0153】
アクセス権検査部26aは、アクセス要求取得部23により取得された論理式アクセス要求情報LARに応じて、乱数生成部25により生成された乱数λから、式(6)によって群Gの生成元gの乱数λ乗をユーザ端末1aに供給し、ユーザ端末1aから供給される論理式アクセス権行使情報LGKと、論理式アクセス要求情報LARが示す論理式により表されるアクセス対象Rに対応づけられた論理式秘密識別情報LSKの乱数λ乗とが一致するか否かを検査する。
アクセス許可部27aは、アクセス権検査部26aの判定結果に応じて、ユーザ端末1の論理式により表されるアクセス対象Rへのアクセスを許可、または禁止する。
【0154】
アクセス権情報サーバ3aは、アクセス権情報XIa、及びユーザ管理情報ULを記憶する。ここでアクセス権情報XIaは、アクセス権V1~V9同士の包含関係、及びアクセス権Vを行使するために必要となる鍵、及び論理式アクセス権LVを行使するために必要となる鍵の情報を示す情報である。
【0155】
(アクセス管理システムにおける処理)
図9は、本実施形態に係るアクセス管理装置2aのアクセス管理処理の一例を示す図である。
図9に示す処理は、アクセス管理システムASaの運用が開始された場合に開始される。
【0156】
ステップS500:アクセス権管理部22aは、通信部20を介して、アクセス権情報サーバ3aに記憶されるアクセス権情報XIaに含まれる有向非巡回グラフOGの各ノードNに、公開識別情報PKと、秘密識別情報SKと、秘密認証情報AIとを対応づける。さらにアクセス権管理部22aは、通信部20を介して、アクセス権情報サーバ3aに記憶されるアクセス権情報XIaに含まれる論理式アクセス権LVに、論理式公開識別情報LPKと、論理式秘密識別情報LSKと、論理式秘密認証情報LAIとを対応づける。
【0157】
ステップS510:論理式秘密識別情報生成部28aは、論理式秘密識別情報LSKを生成する。
ここで論理式秘密識別情報LSKは、有向非巡回グラフOGにより示されるアクセス権V同士の包含関係に加え、複数のアクセス権Vの論理式により表されるアクセス権である論理式アクセス権LXに対し、論理式アクセス権LXを表すために用いられる複数のアクセス権Vに対応づけられるノードNにアクセス権管理部22aにより対応づけられる秘密識別情報SKと、公開識別情報PKとに基づいて、論理式アクセス権LXに対する秘密識別情報SKである論理式秘密識別情報LSKを生成する。
【0158】
ステップS520:アクセス権管理部22aは、複数のユーザ端末1-i(i=1、2、・・・、M:Mはユーザ端末の数)それぞれに、公開識別情報PKを、通信部20を介して供給する。さらにアクセス権管理部22aは、複数のユーザ端末1-i(i=1、2、・・・、M:Mはユーザ端末の数)それぞれに、論理式公開識別情報LPKを、通信部2
0を介して供給する。
【0159】
ステップS530:ユーザ管理部21aは、アクセス権情報サーバ3aに記憶されるユーザ管理情報ULに基づいて、ユーザ端末1aにアクセス権V、及び論理式アクセス権LVをそれぞれ付与してよいか否かを判定する。ユーザ管理部21aは、判定結果をアクセス権付与部24に供給する。
【0160】
例えば、ユーザ管理部21aは、論理式アクセス権V1∧2を付与してよいか否かを判定する場合、ユーザ管理情報ULに基づいて、ユーザ端末1aに、アクセス対象R1及びアクセス対象R2の結合へのアクセスを許可してよいか否かを判定する。
【0161】
また、例えば、ユーザ管理部21aは、論理式アクセス権V1∨2を付与してよいか否かを判定する場合、ユーザ管理情報ULに基づいて、ユーザ端末1aに、アクセス対象R1及びアクセス対象R2の共通部分へのアクセスを許可してよいか否かを判定する。
【0162】
ステップS540:アクセス権付与部24aは、アクセス権V、及び論理式アクセス権LVをユーザ端末1aに付与する。ここでアクセス権付与部24aは、秘密認証情報AI、及び論理式秘密認証情報LAIを、通信部20を介してユーザ端末1aに供給することにより、アクセス権Vをユーザ端末1aに付与する。
【0163】
次に
図10を参照し、アクセスを行う前のユーザ端末1の処理について説明する。
図10は、本実施形態に係るユーザ端末1の公開情報、及び秘密認証情報の取得処理の一例を示す図である。
ステップS600:公開情報取得部11は、アクセス管理装置2から供給される公開識別情報PK、及び論理式公開識別情報LPKを、通信部10を介して取得する。公開情報取得部11は、取得した公開識別情報PK、及び論理式公開識別情報LPKを公開情報記憶部12に記憶させる。
【0164】
ステップS610:論理式を満足させるアクセス権が付与されていない場合、例えば、論理式アクセス権V1∧2に対してアクセス権V1またはアクセス権V2のいずれかが付与されていない場合、秘密認証情報取得部140aは、アクセス管理装置2aから供給される論理式秘密認証情報LAIを、通信部10を介して取得する。秘密認証情報取得部140aは、取得した論理式秘密認証情報LAIを秘密認証情報記憶部141aに記憶させる。
【0165】
次に
図11を参照し、ユーザ端末1aが論理式により示されるアクセス対象Rへのアクセスを行う場合の処理について説明する。
図11は、本実施形態に係るユーザ端末1aのアクセス実行処理の一例を示す図である。なお、ステップS710、ステップS740、及びステップS750の各処理は、
図6におけるステップS310、ステップS340、及びステップS350の各処理と同様であるため、説明を省略する。
【0166】
ステップS700:アクセス要求部13aは、アクセス管理装置2aに論理式により表されるアクセス対象Rへのアクセスを要求する。ここでアクセス要求部13aは、論理式アクセス要求情報LARを、通信部10を介してアクセス管理装置2aに供給することにより、アクセスを要求する。
【0167】
ステップS720:アクセス権行使情報生成部142aは、公開情報記憶部12aに記憶される公開情報PIaと、秘密認証情報記憶部141aに記憶される論理式秘密認証情報LAIとに基づいて、論理式アクセス権行使情報LGKを生成する。
【0168】
ここでアクセス権行使情報生成部142aは、必要であれば、論理式秘密認証情報LAIを含む付与済みの秘密認証情報と、公開情報PIaに含まれる論理式公開識別情報LPK及び所定の公開識別情報PKとを、秘密認証情報取得部140aから供給される群Gの生成元gの乱数λ乗とを、上述した式(3)により示される一方向性関数F1に入力することにより論理式アクセス権行使情報LGKを生成する。ここで、例えば、論理式アクセス権V1∧2に対する、乱数λの値が1の場合の論理式アクセス権行使情報LGKは、上述した式(18)により示される。
【0169】
アクセス権行使情報生成部142aは、論理式秘密認証情報LAIがアクセス管理装置2aから供給されていない場合であっても、秘密認証情報取得部140aが複数のアクセス対象R(例えば、アクセス対象R1、及びアクセス対象R2)に対応する複数の秘密認証情報AI(例えば、アクセス対象R1に対する秘密認証情報AI1、及びアクセス対象R2に対する秘密認証情報AI2)を取得している場合、複数の秘密認証情報AIと、公開識別情報PKと、論理式公開識別情報LPKとを用いて、例えば、論理式アクセス権V1∧2の場合には、式(18)にしたがって論理式アクセス権行使情報LGKを生成することができる。
【0170】
ステップS730:アクセス権行使情報生成部142aは、生成した論理式アクセス権行使情報LGKを、通信部10を介してアクセス管理装置2に供給する。
【0171】
次に
図12を参照し、アクセス管理装置2aがユーザ端末1aの論理式により表されるアクセス対象Rへのアクセスを検証する処理について説明する。
図12は、本実施形態に係るアクセス管理装置2のアクセス検証処理の一例を示す図である。なお、ステップS810、及びステップS850の各処理は、
図7におけるステップS410、及びステップS450の各処理と同様であるため、説明を省略する。
【0172】
ステップS800:アクセス要求取得部23aは、ユーザ端末1aから供給される論理式アクセス要求情報LARを、通信部20を介して取得する。アクセス要求取得部23は、取得したアクセス要求情報ARをアクセス権付与部24に供給する。
【0173】
ステップS820:アクセス権検査部26aは、ユーザ端末1aから供給される論理式アクセス権行使情報LGKを、通信部20を介して取得する。
【0174】
ステップS830:アクセス権検査部26aは、ステップS830において取得した論理式アクセス権行使情報LGKと、論理式アクセス要求情報LARが示す論理式により表されるアクセス対象Rに対応づけられた論理式秘密識別情報LSKの乱数λ乗の値とが一致するか否かを判定する。
【0175】
アクセス権検査部26aは、論理式アクセス権行使情報LGKと論理式秘密識別情報LSKの乱数λ乗の値とが一致すると判定する場合(ステップS830;YES)、アクセス許可部27aに判定結果を供給する。その後、アクセス許可部27aは、ステップS840の処理を実行する。一方、論理式アクセス権行使情報LGKと論理式秘密識別情報LSKの乱数λ乗の値とが一致しないと判定する場合(ステップS830;NO)、アクセス許可部27aに判定結果を供給する。その後、アクセス許可部27aは、ステップS850の処理を実行する。
【0176】
ステップS840:アクセス許可部27aは、論理式アクセス要求情報LARが示す論理式により表されるアクセス対象Rへのユーザ端末1aのアクセスを許可する。
例えば、論理式アクセス要求情報LARがアクセス対象R1及びアクセス対象R2の結
合へのアクセス権を示す場合、アクセス許可部27aは、アクセス対象R1及びアクセス対象R2へのユーザ端末1aのアクセスを許可する。また、例えば、論理式アクセス要求情報LARがアクセス対象R1及びアクセス対象R2の共通部分へのアクセス権を示す場合、アクセス許可部27aは、アクセス対象R1及びアクセス対象R2の共通部分へのユーザ端末1aのアクセスを許可する。
【0177】
以上に説明したように、本実施形態に係るアクセス管理装置2aは、論理式秘密識別情報生成部28aを備える。
論理式秘密識別情報生成部28aは、有向非巡回グラフOGにより示される包含関係に加え、複数のアクセス権Vの論理式により表されるアクセス権である論理式アクセス権LXに対し、論理式アクセス権LXを表すために用いられる複数のアクセス権Vに対応づけられるノードNにアクセス権管理部22により対応づけられる秘密識別情報SKと、公開識別情報PKとに基づいて、論理式アクセス権LXに対する秘密識別情報SKである論理式秘密識別情報LSKを生成する。
【0178】
この構成により、本実施形態に係るアクセス管理装置2aでは、論理式秘密識別情報LSKを、論理式アクセス権LXを表すために用いられる複数のアクセス権Vに対応づけられる秘密識別情報SKと、公開識別情報PKとに基づいて生成できるため、互いに包含関係を有する複数のアクセス権を扱うアクセス制御、及び、アクセス権の論理式によって動的に定義されるアクセス権を扱うアクセス制御、並びに、それらの両方の機能を有するアクセス制御において管理すべき鍵の個数を、アクセス権の数、包含関係の数、及び対象とする論理式の数に対して少なくすることができる。
【0179】
本実施形態に係るアクセス管理装置2aでは、論理式を満足するアクセス権の秘密認証情報を既に付与されているユーザ端末に対しては、対応する論理式秘密認証情報LAIを新たにユーザ端末に発行する必要がなく、秘密認証情報の発行の手間を減少させることが可能となるとともに、ユーザ端末において管理する秘密認証情報の数も減少する。既存のアクセス権の個数に対して、その論理式アクセス権の数は組み合わせ論的に増加するので、本実施形態に係るアクセス管理装置2aによる改善の効果は甚だしく大きい。また論理式公開識別情報を1とする場合には、アクセス管理装置2aにおいて管理する情報は全く増えない。
【0180】
(第3の実施形態)
以下、図面を参照しながら本発明の第3の実施形態について詳しく説明する。
上記第1の実施形態及び第2の実施形態では、秘密認証情報が第3者から秘匿される方法として、ユーザに耐タンパー特性モジュールに秘密認証情報が記録される場合について説明をした。本実施形態では、識別子により特定されるユーザに対して、ユーザに秘密認証情報、秘密識別情報のいずれを知らせることなく、アクセス権の行使を許諾する方法を示す。本実施形態では、第1の実施形態及び第2の実施形態とは異なり、ユーザがアクセス不可能な耐タンパーデバイスに秘密認証情報を記録するのではなく、アクセス管理装置が秘密認証情報をチケットと呼ぶデータ形式に変換した後、チケットをユーザに発行する。チケットは、秘密認証情報を乱数によってマスクしたデータであるので、暗号化等によらずに送受信・記録を行っても安全である。
さらに本実施形態では、アクセス管理装置は、チケットが横流しなどにより不正に流通した場合には、当該チケットを本来受取るべきユーザの識別子を復元することが可能である。
【0181】
まず、第1の実施形態及び第2の実施形態における群Gの位数を、2つの秘密の素数の積prであるとする。ここで群Gは巡回群である。式(24)により示される元を群Gの生成元とする。
【0182】
【0183】
ここで位数pの元gを式(25)のように定める。
【0184】
【0185】
アクセス権Viの公開識別情報を上述した式(12)により示される値、秘密識別情報を式(4)により示される値とする。識別子が値uであるユーザに発行されるチケットtを式(26)により定める。
【0186】
【0187】
式(26)における、PRF(・,・)は鍵付き疑似乱数関数で、例えば、HMAC-SHA1関数である。ここでヘッダデータhはチケットtを一意に特定可能なヘッダデータであるとする。例えば、チケットtを生成する際にその識別子を一意に定め、定めた識別子をヘッダデータhに含めるようにすればよい。
アクセス権Viの公開識別情報は、式(27)により示すように標数pの素体の乗法群の元である。
【0188】
【0189】
識別子の値uは、素数pの式(28)により示されるビット長として定められるパラメータ(セキュリティパラメータという)の多項式により上から評価される適当な自然数Uに対して、式(29)により示されるように選ぶ。||p||の多項式で上から評価されるとは、適当な自然数kに対して、U≦||p||kが成り立つことである。
【0190】
【0191】
【0192】
本実施様態では、一例としてDiffie-Hellman-Merkle認証により、リソースのゲートウェイであるアクセス管理装置が、アクセス権の認証を行なうものとする。以下に認証の手順を述べる。
【0193】
まず、ユーザはアクセス権Viの対象であるリソースのゲートウェイに対して、リソースへのアクセスを要求する。次に、当該ゲートウェイは式(30)を満たす乱数を生成し、式(31)により示される値をユーザに供給する。以下では、式(31)により示される、乱数を用いて生成された値を値cと表す。
【0194】
【0195】
【0196】
続いて、ユーザは式(32)により示される値を算出し、ゲートウェイに供給する。
【0197】
【0198】
最後に、ゲートウェイは、ユーザから供給される値により式(33)が成立するか否かを検査し、検査式が成立した場合に限り、ユーザのアクセスを許可する。
【0199】
【0200】
2つの素数p、rは秘密情報であるので、PRF(p,h)はpを知らない者にとって計算不可能な乱数である。従って、チケットtも計算不可能な乱数であるから、チケットを偽造することは不可能であることが分かる。
【0201】
一方、チケットtが不正に使用された場合には、不正に提示された式(32)になる値Rに対して、まず、式(34)により示される計算が実行される。
【0202】
【0203】
次に、例えば、Baby-Step-Giant-Stepなどのアルゴリズムを用いて、式(35)を満たす値uを探索する。
【0204】
【0205】
式(35)を満たす値uの探索は式(36)により示される程度の計算量で実行できることが知られている。以下、式(35)をユーザ判定式という。
【0206】
【0207】
自然数Uの上限値は、式(28)により示されるパラメータの多項式で抑えられているので、実用的な時間内で値uの探索が可能である。
【0208】
上述したように、本実施形態では、式(26)に基づいてチケットtとヘッダデータhを発行することにより、ユーザが秘密認証情報、あるいは、秘密識別情報を知ることは不可能である。また、本実施形態では、チケットtが不正に利用された場合は、最初にチケットtが発行されたユーザを特定することが可能となる。
【0209】
(アクセス管理システムの構成)
本実施形態に係るアクセス管理システムをアクセス管理システムASbという。また、本実施形態に係るユーザ端末をユーザ端末1bといい、アクセス管理装置をアクセス管理装置2bという。
【0210】
図13は、本実施形態に係るユーザ端末1b、及びアクセス管理装置2bの構成を示す図である。
本実施形態に係るユーザ端末1b(
図13)と第1の実施形態に係るユーザ端末1(
図3)とを比較すると、モジュール14bが異なる。ここで、他の構成要素(通信部10、公開情報取得部11、公開情報記憶部12、アクセス要求部13、及びアクセス実行部15)が持つ機能は第1の実施形態と同じである。
また、本実施形態に係るアクセス管理装置2b(
図13)と第1の実施形態に係るアクセス管理装置2(
図3)とを比較すると、チケット付与部24b、チケット検査部26b、チケット生成部29b、及び不正ユーザ判定部30bが異なる。ここで、他の構成要素(通信部20、ユーザ管理部21、アクセス権管理部22、アクセス要求取得部23、乱数生成部25、及びアクセス許可部27)が持つ機能は第1の実施形態と同じである。
また、本実施形態に係るアクセス権情報サーバ3(
図8)の構成は、第1の実施形態に係るアクセス権情報サーバ3(
図3)の構成と同じである。本実施形態に係るアクセス対象サーバ4(
図8)の構成は、第1の実施形態に係るアクセス対象サーバ4(
図3)の構成と同じである。
第1の実施形態と同じ機能の説明は省略し、第3の実施形態では、第1の実施形態と異なる部分を中心に説明する。
【0211】
ユーザ端末1bは、通信部10と、公開情報取得部11と、公開情報記憶部12と、アクセス要求部13と、モジュール14bと、アクセス実行部15とを備える。
【0212】
モジュール14bは、チケット取得部140bと、チケット記憶部141bと、チケッ
ト行使情報生成部142bとを備える。本実施形態では、モジュール14bが耐タンパー特性を備えていない場合について説明するが、モジュール14bは耐タンパー特性を備えていてもよい。
【0213】
チケット取得部140bは、アクセス管理装置2bから供給されるチケットtを取得する。
チケット記憶部141bは、チケット取得部140bにより取得されたチケットtを記憶する。
チケット行使情報生成部142bは、公開情報記憶部12に記憶される公開情報PIと、チケット記憶部141bに記憶されるチケットtとに基づいて、チケット行使情報TKを生成する。ここでチケット行使情報TKとは、ユーザ端末1bにより生成される一方向性関数F1の値であり、上述した式(32)により示される。
【0214】
アクセス管理装置2bは、通信部20と、ユーザ管理部21と、アクセス権管理部22と、アクセス要求取得部23と、チケット付与部24bと、乱数生成部25と、チケット検査部26bと、アクセス許可部27と、チケット生成部29bと、不正ユーザ判定部30bとを備える。
【0215】
チケット付与部24bは、ユーザ端末1bにチケットtを供給する。
【0216】
チケット検査部26bは、アクセス要求取得部23により取得されたアクセス要求情報ARに応じて、上述した式(31)により示される値をユーザ端末1bに供給する。また、チケット検査部26bは、ユーザ端末1bから供給されるチケット行使情報TKと、アクセス要求情報ARが示すアクセス対象ノードANに対応づけられた秘密識別情報SKとの間に式(33)によって示される関係式が成立するか否かを検査する。
【0217】
チケット生成部29bは、上述した式(26)に基づいてチケットtを生成する。
不正ユーザ判定部30bは、チケットtが生成されるのに用いられたユーザ識別情報UIを、チケット生成部29bにより生成されたチケットtを用いてユーザUEが生成するチケット行使情報TKから式(35)に基づいて取得する。不正ユーザ判定部30bは、取得したユーザ識別情報UIに基づいて不正ユーザを判定する。ここでユーザ識別情報UIとは、ユーザ端末1bの識別子を示す情報である。
【0218】
(アクセス管理システムにおける処理)
図14を参照し、ユーザ端末1bによるアクセスが行われる前のアクセス管理装置2bの処理であるアクセス管理処理について説明する。
図14は、本実施形態に係るアクセス管理装置2bのアクセス管理処理の一例を示す図である。
図14に示す処理は、アクセス管理システムASbの運用が開始された場合に開始される。なお、ステップS900、ステップS910、及びステップS920の各処理は、
図4におけるステップS100、ステップS110、及びステップS120の各処理と同様であるため、説明を省略する。
【0219】
ステップS930:チケット生成部29bは、式(26)に基づいてチケットtを生成する。チケット生成部29bは、生成したチケットtをチケット付与部24bに供給する。
ここで式(26)は、数xiについての演算、つまり秘密認証情報AIについての演算を含む。また、式(26)は、秘密の素数pを含む値uについての演算、つまりユーザUEに公開されない因子を含むユーザ識別情報UIについての演算を含む。
【0220】
式(26)は、左辺のチケットtから逆演算により、右辺の素数p、数xi、及び値uを実用的な時間内に算出することが困難である。つまり、式(26)は一方向関数を表す
。当該一方向関数を一方向性関数F2という。
【0221】
したがって、チケットtとは、ユーザUEへのアクセス権Vの秘密認証情報AIと、ユーザUEを識別するユーザ識別情報UIを少なくとも入力の一部とする、一方向性関数F2の値である。
つまり、チケット生成部29bは、ユーザUEへのアクセス権Vの秘密認証情報AIと、ユーザUEを識別するユーザ識別情報UIを少なくとも入力の一部とする、一方向性関数F2の値であるチケットtを生成する。
【0222】
なお、左辺のチケットtから逆演算により、右辺の素数p、数xi、及び値uを実用的な時間内に算出することが困難であるような一方向性関数F2として式(26)以外の式により表される一方向関数が用いられてもよい。
【0223】
ステップS940:チケット付与部24bは、チケット生成部29bにより生成されたチケットtを、チケットtの生成に用いられたユーザ識別情報UIである値uが示すユーザ端末1bに付与する。ここでチケット付与部24bは、チケットtを、通信部20を介してユーザ端末1bに供給することにより、チケットtを付与する。
【0224】
チケットtは、秘密認証情報AIが式(26)に基づいて変換された情報である。つまり、チケット付与部24bは、秘密認証情報AIとして、チケット生成部29bにより生成されたチケットtをユーザUEに付与する。
【0225】
次に
図15を参照し、アクセスを行う前のユーザ端末1bの処理について説明する。
図15は、本実施形態に係るユーザ端末1bのチケット取得処理の一例を示す図である。なお、ステップS1000の処理は、
図5におけるステップS200の処理と同様であるため、説明を省略する。
【0226】
ステップS1010:チケット取得部140bは、アクセス管理装置2bから供給されるチケットtを、通信部10を介して取得する。チケット取得部140bは、取得したチケットtをチケット記憶部141bに記憶させる。
【0227】
次に
図16を参照し、ユーザ端末1bがアクセス対象Rへのアクセスを行う場合の処理について説明する。
図16は、本実施形態に係るユーザ端末1bのアクセス実行処理の一例を示す図である。なお、ステップS1100、ステップS1140、及びステップS1150の各処理は、
図5におけるステップS300、ステップS340、及びステップS350の各処理と同様であるため、説明を省略する。
【0228】
ステップS1110:チケット行使情報生成部142bは、アクセス管理装置2bから供給される、乱数を用いて生成された値cを、通信部10を介して取得する。
【0229】
ステップS1120:チケット行使情報生成部142bは、アクセス管理装置2bから供給された値cと、チケット記憶部141bに記憶されるチケットtとに基づいて、チケット行使情報TKを生成する。
ここでチケット行使情報生成部142bは、チケットtと、チケット取得部140bから供給される値cとを、上述した式(32)に基づいてチケット行使情報TKを生成する。
【0230】
ステップS1130:チケット行使情報生成部142bは、生成したチケット行使情報TKを、通信部10を介してアクセス管理装置2bに供給する。
【0231】
次に
図17を参照し、アクセス管理装置2bがユーザ端末1bのアクセス対象Rへのアクセスを検証する処理について説明する。
図17は、本実施形態に係るアクセス管理装置2bのアクセス検証処理の一例を示す図である。
図17に示すアクセス検証処理では、チケットtの生成に用いられたユーザ識別情報UIである値uが示すユーザ端末1bによりアクセスが行われる場合について説明する。
なお、ステップS1200、ステップS1240、及びステップS1250の各処理は、
図7におけるステップS400、ステップS440、及びステップS450の各処理と同様であるため、説明を省略する。
【0232】
ステップS1210:チケット付与部24bは、乱数を用いて生成された値cを、ユーザ端末1に通信部20を介して供給する。ここでチケット付与部24bは、乱数生成部25により生成された乱数λと、式(31)とに基づいて、値cを生成する。ここでチケット付与部24bは、ステップS1200においてアクセス要求取得部23がアクセス要求情報ARを取得する度に値cを生成する。
【0233】
ステップS1220:チケット検査部26bは、ユーザ端末1bから供給されるチケット行使情報TKを、通信部20を介して取得する。
【0234】
ステップS1230:チケット検査部26bは、ステップS1220において取得したチケット行使情報TKと、アクセス要求情報ARが示すアクセス対象ノードANに対応づけられた秘密識別情報SKとが適合するか否かを判定する。
なお、本実施形態では、チケット行使情報TKと秘密識別情報SKとが適合するとは、チケット行使情報TKと秘密識別情報SKとが、上述した式(33)を満足することである。
【0235】
ここで、式(33)における値Rは、チケットtを一方向性関数F1に入力して得られる値である。つまり、チケット検査部26bは、チケット付与部24bにより付与されたチケットtを一方向性関数F1に入力して得られるチケット行使情報TKと、アクセス対象ノードANに対応づけられた秘密識別情報SKとが所定の関係式を満足するか否かを検査する。
【0236】
チケット検査部26bは、チケット行使情報TKと秘密識別情報SKとが適合すると判定する場合(ステップS1230;YES)、アクセス許可部27にチケット行使情報TKと秘密識別情報SKとが適合することを示す判定結果を供給する。その後、アクセス許可部27は、ステップS1240の処理を実行する。
一方、チケット検査部26bは、チケット行使情報TKと秘密識別情報SKとが適合しないと判定する場合(ステップS1230;NO)、アクセス許可部27にチケット行使情報TKと秘密識別情報SKとが適合しないことを示す判定結果を供給する。その後、アクセス許可部27は、ステップS1250の処理を実行する。
【0237】
ここで
図18を参照し、チケットtが不正に使用された場合のアクセス管理装置2の不正ユーザ判定処理について説明する。チケットtが不正に使用されるとは、例えば、アクセス管理装置2bがチケットtを付与したユーザ以外のユーザにより、チケットtを用いたアクセスが行われることである。アクセス管理装置2bがチケットtを付与したユーザとは、チケットtの生成に用いられたユーザ識別情報UIである値uが示すユーザである。
【0238】
図18は、本実施形態に係るアクセス管理装置2bの不正ユーザ判定処理の一例を示す
図である。
図18に示す不正ユーザ判定処理は、アクセス管理装置2bがチケットtを付与したユーザ以外のユーザにより、チケットtを用いたアクセスが行われた場合に開始される。
【0239】
ステップS1300:不正ユーザ判定部30bは、チケットtを用いてユーザ端末1bが式(32)に従って生成したチケット行使情報TKを用いて、式(35)のユーザ判定式の左辺を計算する。ここで不正ユーザ判定部30bは、式(35)のユーザ判定式の左辺の計算にはチケットtのヘッダデータhを用いる。
ステップS1310:不正ユーザ判定部30bは、チケットtが付与されたユーザを判定する。ここで不正ユーザ判定部30bは、例えば、Baby-Step-Giant-Stepなどのアルゴリズムを用いて、式(35)のユーザ判定式を満たす値uを算出することにより、チケットtが付与されたユーザを判定する。
【0240】
以上に説明したように、本実施形態に係るアクセス管理装置2bは、チケット生成部29bを備える。
チケット生成部29bは、ユーザUEへのアクセス権Vの秘密認証情報AIと、ユーザUEを識別するユーザ識別情報UIとを少なくとも入力の一部とする、第2の一方向性関数(この一例において、一方向性関数F2)の値であるチケットtを生成する。
アクセス権付与部24(この一例において、チケット付与部24b)は、秘密認証情報AIとして、チケット生成部29bにより生成されたチケットtをユーザUEに付与する。
アクセス権検査部26(この一例において、チケット検査部26b)は、アクセス権付与部24(この一例において、チケット付与部24b)により付与されたチケットtを一方向性関数F1に入力して得られる第2のアクセス権行使情報(この一例において、チケット行使情報TK)と、アクセス対象ノードANに対応づけられた秘密識別情報SKとが所定の関係式を満足するか否かを検査する。
【0241】
この構成により、本実施形態に係るアクセス管理装置2bでは、秘密認証情報AIをチケットtに変換してユーザに付与できるため、秘密認証情報AIを第3者から秘匿される方法によりユーザに付与する際に耐タンパー特性モジュールなどが不要となる。
【0242】
また、本実施形態に係るアクセス管理装置2bは、不正ユーザ判定部30bを備える。
不正ユーザ判定部30bは、チケットtが生成されるのに用いられたユーザ識別情報UIを、チケット生成部29bにより生成されたチケットtに基づいてユーザUEが生成する第2のアクセス権行使情報(この一例において、チケット行使情報TK)から取得する。
【0243】
この構成により、本実施形態に係るアクセス管理装置2bでは、最初にチケットtが発行されたユーザを特定することが可能であるため、チケットtが不正に流出することを抑止できる。ユーザが自身に付与されたチケットtを流出させた場合、本実施形態に係るアクセス管理装置2bにより当該ユーザは特定されてしまう。
【0244】
なお、上述した実施形態におけるアクセス管理装置2、2a、2bの一部、例えば、通信部20、ユーザ管理部21、21a、アクセス権管理部22、22a、アクセス要求取得部23、23a、アクセス権付与部24、24a、乱数生成部25、アクセス権検査部26、26a、アクセス許可部27、27a、論理式秘密識別情報生成部28a、チケット付与部24b、チケット検査部26b、チケット生成部29b、及び不正ユーザ判定部30bをコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現し
てもよい。なお、ここでいう「コンピュータシステム」とは、アクセス管理装置2、2a、2bに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態におけるアクセス管理装置2、2a、2bの一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。アクセス管理装置2、2a、2bの各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0245】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0246】
AS、ASa、ASb…アクセス管理システム、1、1a、1b…ユーザ端末、2、2a、2b…アクセス管理装置、3…アクセス権情報サーバ、4…アクセス対象サーバ、10、20…通信部、11…公開情報取得部、12…公開情報記憶部、13…アクセス要求部、14…耐タンパー特性モジュール、140…秘密認証情報取得部、141…秘密認証情報記憶部、142…アクセス権行使情報生成部、15…アクセス実行部、21…ユーザ管理部、22、22a…アクセス権管理部、23…アクセス要求取得部、24、24a…アクセス権付与部、25…乱数生成部、26、26a…アクセス権検査部、27、27a…アクセス許可部、28a…論理式秘密識別情報生成部、14b…モジュール、140b…チケット取得部、141b…チケット記憶部、142b…チケット行使情報生成部、11a…公開情報取得部、12a…公開情報記憶部、13a…アクセス要求部、14a…耐タンパー特性モジュール、140a…秘密認証情報取得部、141a…秘密認証情報記憶部、142a…アクセス権行使情報生成部、15a…アクセス実行部、24b…チケット付与部、26b…チケット検査部、29b…チケット生成部、30b…不正ユーザ判定部、OG…有向非巡回グラフ、N、N1…ノード、V…アクセス権、PI…公開情報、PK…公開識別情報、SK…秘密識別情報、AI…秘密認証情報、F1…一方向性関数、F2…一方向性関数、AN…アクセス対象ノード、UI…ユーザ識別情報、LX…論理式アクセス権、LSK…論理式秘密識別情報