JP5403955B2 - 権限検証装置及び実行装置及び利用者端末装置及びアクセス制御システム及びコンピュータプログラム及び権限検証方法及び操作要求通知方法及びアクセス制御方法 - Google Patents

権限検証装置及び実行装置及び利用者端末装置及びアクセス制御システム及びコンピュータプログラム及び権限検証方法及び操作要求通知方法及びアクセス制御方法 Download PDF

Info

Publication number
JP5403955B2
JP5403955B2 JP2008172399A JP2008172399A JP5403955B2 JP 5403955 B2 JP5403955 B2 JP 5403955B2 JP 2008172399 A JP2008172399 A JP 2008172399A JP 2008172399 A JP2008172399 A JP 2008172399A JP 5403955 B2 JP5403955 B2 JP 5403955B2
Authority
JP
Japan
Prior art keywords
unit
key
user
data
operation request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008172399A
Other languages
English (en)
Other versions
JP2010016465A (ja
Inventor
信博 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008172399A priority Critical patent/JP5403955B2/ja
Publication of JP2010016465A publication Critical patent/JP2010016465A/ja
Application granted granted Critical
Publication of JP5403955B2 publication Critical patent/JP5403955B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、利用者端末装置の利用者に対象装置を操作する権限があるか否かを判定し、対象装置に対するアクセスを制御する技術に関する。
暗号通信を利用して、利用者を検証し、アクセスを制御する技術がある。
暗号通信方式には、対称暗号方式と非対称暗号方式とがある。
対称暗号方式は、暗号化に使用する暗号化鍵と、復号に使用する復号鍵とが同一である暗号方式である。送信側の装置と受信側の装置とが、同一の共通鍵を共有し、送信側の装置は、共有した共通鍵を暗号化鍵として使用して暗号化をし、受信側の装置は、共有した共通鍵を復号鍵として使用して復号をする。対称暗号方式では、いかにして第三者に知られることなく共通鍵を共有するかが課題となる。
非対称暗号方式は、暗号化鍵と復号鍵とが異なる暗号方式をいい、特に、暗号化鍵と復号鍵とのうちいずれか一方を公開して第三者に知られても、第三者が他方を推測することができない方式を、公開鍵暗号方式という。公開鍵暗号方式において、第三者に知られてもいいほうの鍵を公開鍵、秘密裡に保持しなければならないほうの鍵を秘密鍵という。例えば、暗号化鍵を公開する場合、送信側の装置は、公開された公開鍵を暗号化鍵として使用して暗号化をし、受信側の装置は、秘密裡に保持した秘密鍵を復号鍵として使用して復号をする。これにより、送信側の装置が受信側の装置と秘密を共有する必要がない。また、復号鍵を公開する場合、送信側の装置は、秘密裡に保持した秘密鍵を暗号化鍵として使用して暗号化をし、受信側の装置は、公開された公開鍵を復号鍵として使用して復号する。これにより、誰でも復号をすることができるが、第三者が改竄することができないので、署名などに利用される。公開鍵暗号方式では、公開された公開鍵が、送信先もしくは送信元の装置が保持している秘密鍵に対応するものであることを検証する手段が課題となる。公開鍵と秘密鍵を保持している装置との対応を検証できなければ、なりすましなどを防ぐことができないからである。
公開鍵と秘密鍵を保持している装置との対応を検証する方式の一つとして、公開鍵基盤(PKI:Public Key Infrastructure)を利用する方式がある。公開鍵基盤においては、公開鍵と、その公開鍵に対応する秘密鍵を保持している装置との対応関係を表わすデータを公開鍵証明書とし、公開鍵証明書を検証することで、公開鍵と秘密鍵を保持している装置との対応を検証する。公開鍵証明書が第三者により改竄されるのを防ぐため、公開鍵証明書には、公開鍵証明書を発行した認証機関(CA:Certification Authority)の秘密鍵による署名が付される。公開鍵証明書に付された署名を検証するには、認証機関の公開鍵が必要となる。認証機関の公開鍵は、認証機関の公開鍵証明書から入手することができる。公開鍵基盤を利用する方式では、このように、公開鍵証明書を連鎖的に辿ることにより、公開鍵と秘密鍵を保持している装置との対応を検証する。
別の方式として、IDベース暗号方式を利用する方式がある。IDベース暗号方式とは、装置のID(製造番号、装置番号、MACアドレス、IPアドレス、メースアドレスなど、その装置を識別するデータ)をそのままその装置の公開鍵として使用する公開鍵暗号方式である。装置のIDを公開鍵として使用するため、公開鍵と秘密鍵を保持している装置との対応を検証する必要がない。
特開2006−325072号公報 特開2004−112538号公報 特開平10−30367号公報 特開2002−290394号公報 特開2006−208967号公報 特開2003−32235号公報 特開2005−198189号公報 特開2006−319457号公報 ウィリアム・スターリングス「暗号とネットワークセキュリティ 理論と実際」ピアソン・エデュケーション、618〜619ページ、ISBN4−89471−367−5、2001年。
暗号通信を利用してアクセス制御をする場合、利用者の権限をいかにして検証するかが課題となる。
特に、組込み機器などでは、処理能力や通信能力が低い場合があり、利用者の権限を検証する処理の負荷を少なくすることが望まれる。
この発明は、例えば、上記のような課題を解決するためになされたものであり、処理能力や通信能力が限られた場合であっても、利用者の操作権限を検証できるようにすることを目的とする。
この発明にかかる権限検証装置は、
利用者が対象装置を操作する権限があるか否かを検証する権限検証装置において、
データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置と、識別取得部と、通信鍵生成部と、通信鍵暗号化部と、暗号化通信鍵送信部と、暗号化操作要求受信部と、操作要求復号部と、操作要求検証部と、操作要求通知部とを有し、
上記識別取得部は、上記処理装置を用いて、利用者を識別する利用者識別データを取得し、
上記通信鍵生成部は、上記処理装置を用いて、暗号化鍵と上記暗号化鍵に対応する復号鍵とを生成し、
上記通信鍵暗号化部は、上記処理装置を用いて、IDベース暗号方式により、上記識別取得部が取得した利用者識別データを使用して、上記通信鍵生成部が生成した暗号化鍵を暗号化して、暗号化通信鍵とし、
上記暗号化通信鍵送信部は、上記送信装置を用いて、上記通信鍵暗号化部が暗号化した暗号化通信鍵を送信し、
上記暗号化操作要求受信部は、上記受信装置を用いて、上記対象装置に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信し、
上記操作要求復号部は、上記処理装置を用いて、上記通信鍵生成部が生成した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とし、
上記操作要求検証部は、上記処理装置を用いて、上記操作要求復号部が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定し、
上記操作要求通知部は、上記処理装置を用いて、上記操作要求検証部が操作権限ありと判定した場合に、上記操作要求復号部が復号した復号操作要求を、操作要求メッセージとして上記対象装置に対して通知することを特徴とする。
この発明にかかる権限検証装置によれば、暗号化鍵(共通鍵)をIDベース暗号方式で暗号化するので、PKIを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置100を設ける場合であっても、利用者の操作権限を検証することができる。
実施の形態1.
実施の形態1について、図1〜図8を用いて説明する。
図1は、この実施の形態におけるアクセス制御システム800の全体構成の一例を示すシステム構成図である。
アクセス制御システム800は、鍵生成装置400、複数の利用者端末装置300a〜300d(以下、複数の利用者端末装置300a〜300dを区別する必要がない場合は、単に「利用者端末装置300」と呼ぶ。)、複数の実行装置200a〜200c(同様に、「実行装置200」と呼ぶ場合がある。)を有する。
鍵生成装置400は、IDベース暗号方式における秘密鍵を生成する装置である。鍵生成装置400は、利用者を識別するデータ(以下「利用者識別データ」と呼ぶ。)を利用者端末装置300から受け取り、受け取った利用者識別データに対応する秘密鍵を生成し、生成した秘密鍵を利用者端末装置300に返す。
利用者端末装置300は、利用者による実行装置200に対する操作要求を入力し、入力した操作要求を実行装置200に渡す。
実行装置200は、利用者端末装置300から操作要求を受け取り、その利用者にその操作をする権限があるかを確認した上で、権限があれば、その操作に基づいて処理を実行する。
実行装置200の操作をする権限を有する利用者は、複数いる。それぞれの利用者は、一つの利用者端末装置300を有していて、自分の利用者端末装置300を介して、実行装置200を操作する。
実行装置200ごとに、操作をする権限を有する利用者は異なり、また、利用者により、権限のある操作の範囲が異なる。
例えば、実行装置200aを操作する権限のある利用者は、利用者端末装置300aの利用者(以下「利用者a」と呼ぶ。)と、利用者端末装置300bの利用者(以下「利用者b」と呼ぶ。)とに限られ、利用者端末装置300cの利用者や利用者端末装置300dの利用者には、実行装置200aを操作する権限がない。利用者aは、実行装置200aの管理者権限を有し、実行装置200aに対してすべての操作をする権限を有するが、利用者bは、実行装置200aの一般利用者権限しか有さず、実行装置200aの状態をモニターする操作をする権限を有するが、実行装置200aの状態を変更する操作をする権限がない。
利用者の権限の管理は、鍵生成装置400が行う。
実行装置200は、利用者端末装置300の利用者に権限があるかを検証するためのデータを、IDベース暗号方式により暗号化して、利用者端末装置300に渡す。
鍵生成装置400は、利用者端末装置300の利用者に権限があるかを判定し、権限があると判定した場合に、IDベース暗号方式における秘密鍵を利用者端末装置300に渡す。
利用者端末装置300は、IDベース暗号方式により、鍵生成装置400から受け取った秘密鍵を使用して、実行装置200から受け取ったデータを復号する。
実行装置200は、利用者端末装置300に渡したデータを利用者端末装置300が正しく復号できた場合に、利用者端末装置300の利用者に権限があると認める。
図2は、この実施の形態における鍵生成装置400、利用者端末装置300、実行装置200のハードウェア資源の一例を示す図である。
鍵生成装置400、利用者端末装置300、実行装置200は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図3は、この実施の形態における鍵生成装置400の機能ブロックの構成の一例を示すブロック構成図である。
鍵生成装置400は、生成利用者識別受信部411、署名受信部412、公開鍵証明書記憶部421、生成個別識別取得部422、署名検証部423、役割記憶部431、生成役割取得部432、生成対象識別取得部433、権限判定部434、秘密鍵生成部441、秘密鍵暗号化部442、暗号化秘密鍵送信部451を有する。
生成利用者識別受信部411は、通信装置915を用いて、利用者端末装置300が送信した利用者識別データを受信する。生成利用者識別受信部411は、CPU911を用いて、受信した利用者識別データを出力する。
署名受信部412は、通信装置915を用いて、利用者端末装置300が送信した署名データを受信する。署名データは、利用者端末装置300が利用者識別データから生成したデータである。署名データを検証することにより、利用者端末装置300が送信した利用者識別データが、途中で改変されていないことを確認できる。署名方式には、通常の公開鍵暗号方式に基づく公開鍵署名方式や、IDベース暗号方式に基づくIDベース署名方式などがあり、いずれの署名方式を使用する構成としてもよい。この例では、署名方式として、通常の公開鍵暗号方式に基づく公開鍵署名方式を使用するものとする。
署名受信部412は、CPU911を用いて、受信した署名データを出力する。
公開鍵証明書記憶部421は、磁気ディスク装置920を用いて、各利用者についての公開鍵証明書を記憶している。公開鍵証明書は、利用者の公開鍵が、その利用者の秘密鍵と対応するものあることを証明するデータである。
生成個別識別取得部422は、CPU911を用いて、生成利用者識別受信部411が出力した利用者識別データを入力する。
生成個別識別取得部422は、CPU911を用いて、入力した利用者識別データを鍵生成装置400に対して送信してきた利用者端末装置300の利用者を特定する。生成個別識別取得部422は、CPU911を用いて、特定した利用者を個別に識別するデータ(以下「個別識別データ」と呼ぶ。)を取得する。例えば、生成利用者識別受信部411が受信する利用者識別データは、個別識別データを含み、生成個別識別取得部422は、CPU911を用いて、利用者識別データに含まれる個別識別データを抜き出すことにより、個別識別データを取得する。
生成個別識別取得部422は、CPU911を用いて、取得した個別識別データを出力する。
なお、個別識別データは、利用者個人(あるいは、その利用者の利用者端末装置300)を識別するものであり、利用者(あるいは利用者端末装置300)と個別識別データとの対応関係は、原則として変化しない。これに対し、利用者識別データは、実行装置200に対する今回の操作において利用者を識別するものである。そのため、利用者と利用者識別データとの対応関係は、変化しなくてもよいし、変化してもよい。利用者と利用者識別データとの対応関係が変化する場合、ある利用者について状況により異なる利用者識別データが対応してもよいし、異なる利用者について状況により同じ利用者識別データが対応してもよい。
署名検証部423は、CPU911を用いて、生成利用者識別受信部411が出力した利用者識別データと、署名受信部412が出力した署名データと、生成個別識別取得部422が出力した個別識別データとを入力する。
署名検証部423は、CPU911を用いて、公開鍵証明書記憶部421が記憶した公開鍵証明書のなかから、入力した個別識別データによって識別される利用者についての公開鍵証明書を取得する。
署名検証部423は、CPU911を用いて、取得した公開鍵証明書から、その利用者の公開鍵を取得する。
署名検証部423は、CPU911を用いて、公開鍵署名方式により、取得した公開鍵を復号鍵として使用して、入力した署名データを復号する。以下、署名検証部423が署名データを復号して得たデータを「復号署名データ」と呼ぶ。
署名検証部423は、CPU911を用いて、復号した復号署名データと、入力した利用者識別データとを比較して、利用者識別データが改変されていないか判定する。
利用者識別データが改変されていないと判定した場合、署名検証部423は、CPU911を用いて、入力した個別識別データを出力する。
役割記憶部431は、磁気ディスク装置920を用いて、利用者端末装置300の利用者と、実行装置200と、その利用者がその実行装置200に対して有する役割との対応関係を表わすデータ(以下「役割対応データ」と呼ぶ。)をあらかじめ記憶している。利用者の役割とは、例えば「管理者」であるとか「一般利用者」であるといった区分のことをいい、役割によって、実行装置200を操作する権限に違いがある。
図4は、この実施の形態における役割記憶部431が記憶している役割対応データ510の一例を模式的に表わした図である。
役割対応データ510は、例えば、個別識別データ511、対象識別データ512、役割データ513を一組のデータ(レコード)とし、複数のレコードからなるデータである。
この図では、左側の列に個別識別データ511を、真ん中の列に対象識別データ512を、右側の列に役割データ513を、それぞれ縦に並べ、横に並んだ個別識別データ511と、対象識別データ512と、役割データ513とが、一つのレコードであることを表わしている。
個別識別データ511は、利用者を個別に識別するデータである。
対象識別データ512は、実行装置200を識別するデータである。
役割データ513は、役割を識別するデータである。
この例に示した役割対応データ510において、例えば、一番上のレコードは、個別識別データ511「a」によって識別される利用者(例えば、利用者端末装置300aの利用者)が、対象識別データ512「A」によって識別される実行装置200(例えば、実行装置200a)に対して、役割データ「ADMIN」によって識別される役割(例えば、管理者としての役割)を有することを表わしている。
なお、この図に示した役割対応データ510の形式は一例であり、それぞれの利用者が、それぞれの実行装置200に対して、どのような役割を有するかをを表わすことができる形式であれば、役割対応データの形式は、他の形式であってもよい。
図3に戻り、鍵生成装置400の機能ブロックの説明を続ける。
生成役割取得部432は、CPU911を用いて、生成利用者識別受信部411が出力した利用者識別データを入力する。
生成役割取得部432は、CPU911を用いて、入力した利用者識別データに基づいて、利用者が実行装置200を操作しようとする権限が、どのような役割に基づくものであるかを表わす役割データを取得する。例えば、生成利用者識別受信部411が受信する利用者識別データは、役割データを含み、生成役割取得部432は、CPU911を用いて、利用者識別データに含まれる役割データを抜き出すことにより、役割データを取得する。
生成役割取得部432は、CPU911を用いて、取得した役割データを出力する。
生成対象識別取得部433は、CPU911を用いて、生成利用者識別受信部411が出力した利用者識別データを入力する。
生成対象識別取得部433は、CPU911を用いて、入力した利用者識別データに基づいて、利用者が操作しようとしている実行装置200を表わす対象識別データを取得する。例えば、生成利用者識別受信部411が受信する利用者識別データは、対象識別データを含み、生成対象識別取得部433は、CPU911を用いて、利用者識別データに含まれる対象識別データを抜き出すことにより、対象識別データを取得する。
生成対象識別取得部433は、CPU911を用いて、取得した対象識別データを出力する。
権限判定部434は、CPU911を用いて、署名検証部423が出力した個別識別データと、生成役割取得部432が出力した役割データと、生成対象識別取得部433が出力した対象識別データとを入力する。
権限判定部434は、CPU911を用いて、役割記憶部431が記憶した役割対応データに基づいて、入力した個別識別データによって識別される利用者が、入力した対象識別データによって識別される実行装置200に対して、入力した役割データによって識別される役割を有するか否かを判定する。
権限判定部434は、CPU911を用いて、判定結果を表わすデータを出力する。
秘密鍵生成部441は、CPU911を用いて、権限判定部434が出力したデータを入力する。
秘密鍵生成部441は、CPU911を用いて、入力したデータが表わす判定結果に基づいて、その利用者がその実行装置200に対してその役割を有する場合に、生成利用者識別受信部411が出力した利用者識別データを入力する。
秘密鍵生成部441は、CPU911を用いて、入力した利用者識別データをIDベース暗号方式における公開鍵とし、公開鍵に対応する秘密鍵を生成する。
秘密鍵生成部441は、CPU911を用いて、生成した秘密鍵を出力する。
秘密鍵暗号化部442は、CPU911を用いて、秘密鍵生成部441が出力した秘密鍵と、署名検証部423が出力した個別識別データとを入力する。
秘密鍵暗号化部442は、CPU911を用いて、公開鍵証明書記憶部421が記憶した公開鍵証明書のなかから、入力した個別識別データによって識別される利用者についての公開鍵証明書を取得する。
秘密鍵暗号化部442は、CPU911を用いて、取得した公開鍵証明書から、その利用者の公開鍵を取得する。
秘密鍵暗号化部442は、CPU911を用いて、公開鍵暗号方式により、取得した公開鍵を暗号化鍵として使用して、入力した秘密鍵を暗号化する。以下、秘密鍵暗号化部442が秘密鍵を暗号化して得たデータ(暗号文)を「暗号化秘密鍵」と呼ぶ。
秘密鍵暗号化部442は、CPU911を用いて、暗号化した暗号化秘密鍵を出力する。
暗号化秘密鍵送信部451は、CPU911を用いて、秘密鍵暗号化部442が出力した暗号化秘密鍵を入力する。
暗号化秘密鍵送信部451は、通信装置915を用いて、生成利用者識別受信部411が受信した利用者識別データ及び署名受信部412が受信した署名データを送信してきた利用者端末装置300に対して、入力した暗号化秘密鍵を送信する。
なお、この例では、秘密鍵暗号化部442が秘密鍵を暗号化する暗号方式として、通常の公開鍵暗号方式を使用する構成としているが、IDベース暗号方式やその他の暗号方式により、暗号化してもよい。また、秘密鍵を第三者に知られたり、第三者に改変されたりすることなく、利用者端末装置300に安全に届けることができる方式であれば、暗号化以外の方式を採用する構成としてもよい。
図5は、この実施の形態における利用者端末装置300の機能ブロックの構成の一例を示すブロック構成図である。
利用者端末装置300は、対象入力部311、役割入力部312、操作入力部313、権限要求生成部321、権限要求送信部322、端末利用者識別受信部331、端末利用者識別記憶部341、利用者秘密鍵記憶部342、署名生成部343、端末利用者識別送信部351、署名送信部352、暗号化秘密鍵受信部361、秘密鍵復号部362、通信鍵復号部371、復号通信鍵記憶部372、操作要求生成部381、操作要求暗号化部382、暗号化操作要求送信部383、操作結果受信部391、結果出力部392を有する。
対象入力部311は、キーボード902などの入力装置を用いて、利用者がどの実行装置200を操作しようとしているかを入力する。
対象入力部311は、CPU911を用いて、入力した内容に基づいて、利用者が操作しようとしている実行装置200を識別する対象識別データを取得する。
対象入力部311は、CPU911を用いて、取得した対象識別データを出力する。
役割入力部312は、キーボード902などの入力装置を用いて、利用者がどのような役割に基づいて実行装置200を操作しようとしているかを入力する。
役割入力部312は、CPU911を用いて、入力した内容に基づいて、利用者の役割を識別する役割データを取得する。
役割入力部312は、CPU911を用いて、取得した役割データを出力する。
操作入力部313は、キーボード902などの入力装置を用いて、利用者が実行装置200に対してどのような操作をしようとしているかを入力する。
操作入力部313は、CPU911を用いて、入力した内容に基づいて、操作の内容を表わすデータ(以下「操作内容データ」と呼ぶ。)を取得する。
操作入力部313は、CPU911を用いて、取得した操作内容データを出力する。
権限要求生成部321は、CPU911を用いて、役割入力部312が出力した役割データを入力する。
権限要求生成部321は、CPU911を用いて、入力した役割データに基づいて、実行装置200に対して、役割データが表わす役割による操作をする権限を要求するメッセージ(以下「権限要求メッセージ」と呼ぶ。)を生成する。
権限要求生成部321は、CPU911を用いて、生成した権限要求メッセージを出力する。
権限要求送信部322は、CPU911を用いて、対象入力部311が出力した対象識別データと、権限要求生成部321が出力した権限要求メッセージとを入力する。
権限要求送信部322は、通信装置915を用いて、入力した対象識別データによって識別される実行装置200に対して、入力した権限要求メッセージを送信する。
実行装置200は、権限要求送信部322が送信した権限要求メッセージに対する応答として、利用者識別データと、暗号化通信鍵とを送信する。暗号化通信鍵は、IDベース暗号方式により、利用者識別データを暗号化鍵として使用して、共通鍵を暗号化したものである。共通鍵は、利用者端末装置300と実行装置200とが一時的に共有するデータであり、利用者端末装置300は、共有した共通鍵を使用して、共通鍵暗号方式により、実行装置200との間の通信を暗号化する。利用者識別データをIDベース暗号方式における公開鍵とし、公開鍵に対応する秘密鍵を、利用者端末装置300が知っていれば、その秘密鍵を復号鍵として使用して暗号化通信鍵を正しく復号することができるので、実行装置200と共通鍵を共有することができる。
端末利用者識別受信部331は、通信装置915を用いて、実行装置200が送信した利用者識別データを受信する。
端末利用者識別受信部331は、CPU911を用いて、受信した利用者識別データを出力する。
暗号化通信鍵受信部332は、通信装置915を用いて、実行装置200が送信した暗号化通信鍵を受信する。
暗号化通信鍵受信部332は、CPU911を用いて、受信した暗号化通信鍵を出力する。
端末利用者識別記憶部341は、CPU911を用いて、端末利用者識別受信部331が出力した利用者識別データを入力する。
端末利用者識別記憶部341は、RAM914を用いて、入力した利用者識別データを記憶する。
利用者秘密鍵記憶部342は、耐タンパ性のある記憶装置を用いて、公開鍵暗号方式における利用者の秘密鍵を記憶している。
署名生成部343は、CPU911を用いて、端末利用者識別記憶部341が記憶した利用者識別データと、利用者秘密鍵記憶部342が記憶した秘密鍵とを入力する。
署名生成部343は、CPU911を用いて、公開鍵暗号方式により、入力した秘密鍵を暗号化鍵(署名鍵)として使用して、入力した利用者識別データを暗号化して、署名データを生成する。
署名生成部343は、CPU911を用いて、生成した署名データを出力する。
端末利用者識別送信部351は、CPU911を用いて、端末利用者識別記憶部341が記憶した利用者識別データを入力する。
端末利用者識別送信部351は、通信装置915を用いて、鍵生成装置400に対して、入力した利用者識別データを送信する。
署名送信部352は、CPU911を用いて、署名生成部343が出力した署名データを入力する。
署名送信部352は、通信装置915を用いて、鍵生成装置400に対して、入力した署名データを送信する。
暗号化秘密鍵受信部361は、通信装置915を用いて、鍵生成装置400が送信した暗号化秘密鍵を受信する。鍵生成装置400が暗号化秘密鍵を送信した場合、利用者端末装置300の利用者が実行装置200に対して役割を有すると鍵生成装置400が判定したことを意味する。
暗号化秘密鍵受信部361は、CPU911を用いて、受信した暗号化秘密鍵を出力する。
秘密鍵復号部362は、CPU911を用いて、暗号化秘密鍵受信部361が出力した暗号化秘密鍵と、利用者秘密鍵記憶部342が記憶した秘密鍵とを入力する。
秘密鍵復号部362は、CPU911を用いて、公開鍵暗号方式により、入力した秘密鍵を復号鍵として使用して、入力した暗号化秘密鍵を復号する。以下、秘密鍵復号部362が暗号化秘密鍵を復号して得たデータを「復号秘密鍵」と呼ぶ。
秘密鍵復号部362は、CPU911を用いて、復号した復号秘密鍵を出力する。
通信鍵復号部371は、CPU911を用いて、暗号化通信鍵受信部332が出力した暗号化通信鍵と、秘密鍵復号部362が出力した復号秘密鍵とを入力する。
通信鍵復号部371は、CPU911を用いて、IDベース暗号方式により、入力した復号秘密鍵を復号鍵として使用して、入力した暗号化通信鍵を復号する。以下、通信鍵復号部371が暗号化通信鍵を復号して得たデータを「復号通信鍵」と呼ぶ。
通信鍵復号部371は、CPU911を用いて、復号した復号通信鍵を出力する。
復号通信鍵記憶部372は、CPU911を用いて、通信鍵復号部371が出力した復号通信鍵を入力する。
復号通信鍵記憶部372は、RAM914を用いて、入力した復号通信鍵を記憶する。
操作要求生成部381は、CPU911を用いて、操作入力部313が出力した操作内容データを入力する。
操作要求生成部381は、CPU911を用いて、入力した操作内容データに基づいて、実行装置200に対して、操作内容データが表わす操作を要求するメッセージ(以下「操作要求メッセージ」と呼ぶ。)を生成する。
操作要求生成部381は、CPU911を用いて、生成した操作要求メッセージを出力する。
操作要求暗号化部382は、CPU911を用いて、操作要求生成部381が出力した操作要求メッセージと、復号通信鍵記憶部372が記憶した復号通信鍵とを入力する。
操作要求暗号化部382は、CPU911を用いて、共通鍵暗号方式により、入力した復号通信鍵を暗号化鍵として使用して、入力した操作要求メッセージを暗号化する。以下、操作要求暗号化部382が操作要求メッセージを暗号化して得たデータを「暗号化操作要求」と呼ぶ。
操作要求暗号化部382は、CPU911を用いて、暗号化した暗号化操作要求を出力する。
暗号化操作要求送信部383は、CPU911を用いて、操作要求暗号化部382が出力した暗号化操作要求と、対象入力部311が出力した対象識別データとを入力する。
暗号化操作要求送信部383は、通信装置915を用いて、入力した対象識別データによって識別される実行装置200に対して、入力した暗号化操作要求を送信する。
実行装置200は、暗号化操作要求送信部383が送信した暗号化操作要求に対する応答として、操作の結果を表わすメッセージ(以下「操作結果メッセージ」と呼ぶ。)を送信する。
操作結果受信部391は、通信装置915を用いて、実行装置200が送信した操作結果メッセージを受信する。
操作結果受信部391は、CPU911を用いて、受信した操作結果メッセージを出力する。
結果出力部392は、CPU911を用いて、操作結果受信部391が出力した操作結果メッセージを入力する。
結果出力部392は、CPU911を用いて、入力した操作結果メッセージに基づいて、操作結果メッセージが表わす操作結果を取得する。
結果出力部392は、表示装置901などの出力装置を用いて、取得した操作結果を出力する。
図6は、この実施の形態における実行装置200の機能ブロックの構成の一例を表わすブロック構成図である。
実行装置200は、権限検証装置100と対象装置210とを有する。
権限検証装置100は、利用者の操作権限を判定する装置である。
対象装置210は、利用者の操作にしたがって、実際に処理を実行する装置である。
権限検証装置100は、権限要求受信部111、役割取得部121、乱数生成部122、識別生成部123、識別記憶部124、通信鍵生成部131、通信鍵記憶部132、通信鍵暗号化部133、識別送信部141、暗号化通信鍵送信部142、暗号化操作要求受信部151、操作要求復号部152、権限記憶部161、操作要求検証部162、操作要求通知部163を有する。
権限要求受信部111は、通信装置915を用いて、利用者端末装置300が送信した権限要求メッセージを受信する。
権限要求受信部111は、CPU911を用いて、受信した権限要求メッセージを出力する。
役割取得部121は、CPU911を用いて、権限要求受信部111が出力した権限要求メッセージを入力する。
役割取得部121は、CPU911を用いて、入力した権限要求メッセージに基づいて、権限要求メッセージが要求する役割を判別する。
役割取得部121は、CPU911を用いて、判別した役割を識別する役割データを取得する。
役割取得部121は、CPU911を用いて、取得した役割データを出力する。
乱数生成部122は、CPU911を用いて、乱数を生成する。
乱数生成部122は、CPU911を用いて、生成した乱数を出力する。
識別生成部123は、CPU911を用いて、役割取得部121が出力した役割データと、乱数生成部122が出力した乱数とを入力する。
識別生成部123は、CPU911を用いて、入力した役割データと乱数とに基づいて、利用者識別データを生成する。例えば、識別生成部123は、CPU911を用いて、実行装置200自身を識別する対象識別データと、入力した役割データと、入力した乱数を表わす文字列データとを結合して、結合したデータを利用者識別データとする。あるいは、識別生成部123は、CPU911を用いて、更に、権限要求受信部111が受信した権限要求メッセージを送信した利用者端末装置300の利用者を識別する個別識別データを入力し、入力した個別識別データを更に結合して、利用者識別データとしてもよい。
識別生成部123は、CPU911を用いて、生成した利用者識別データを出力する。
識別記憶部124は、CPU911を用いて、識別生成部123が出力した利用者識別データを入力する。
識別記憶部124は、磁気ディスク装置920を用いて、入力した利用者識別データを記憶する。
通信鍵生成部131は、CPU911を用いて、共通鍵を生成する。例えば、通信鍵生成部131は、CPU911を用いて、乱数を生成し、生成した乱数を表わすデータを、共通鍵とする。
通信鍵生成部131は、CPU911を用いて、生成した共通鍵を出力する。
通信鍵記憶部132は、CPU911を用いて、通信鍵生成部131が出力した共通鍵を入力する。
通信鍵記憶部132は、磁気ディスク装置920を用いて、入力した共通鍵を記憶する。
通信鍵暗号化部133は、CPU911を用いて、識別記憶部124が記憶した利用者識別データと、通信鍵記憶部132が記憶した共通鍵とを入力する。
通信鍵暗号化部133は、CPU911を用いて、入力した利用者識別データをIDベース暗号方式における公開鍵とし、IDベース暗号方式により、入力した利用者識別データを暗号化鍵として使用して、入力した共通鍵を暗号化する。以下、通信鍵暗号化部133が共通鍵を暗号化して取得したデータを、暗号化通信鍵と呼ぶ。
通信鍵暗号化部133は、CPU911を用いて、取得した暗号化通信鍵を出力する。
識別送信部141は、CPU911を用いて、識別記憶部124が記憶した利用者識別データを入力する。
識別送信部141は、通信装置915を用いて、権限要求受信部111が受信した権限要求メッセージを送信した利用者端末装置300に対して、入力した利用者識別データを送信する。
暗号化通信鍵送信部142は、CPU911を用いて、通信鍵暗号化部133が出力した暗号化通信鍵を入力する。
暗号化通信鍵送信部142は、通信装置915を用いて、権限要求受信部111が受信した権限要求メッセージを送信した利用者端末装置300に対して、入力した暗号化通信鍵を送信する。
暗号化操作要求受信部151は、通信装置915を用いて、利用者端末装置300が送信した暗号化操作要求を受信する。
暗号化操作要求受信部151は、CPU911を用いて、受信した暗号化操作要求を出力する。
操作要求復号部152は、CPU911を用いて、暗号化操作要求受信部151が出力した暗号化操作要求と、通信鍵記憶部132が記憶した共通鍵とを入力する。
操作要求復号部152は、CPU911を用いて、共通鍵暗号方式により、入力した共通鍵を復号鍵として使用して、入力した暗号化操作要求を復号する。以下、操作要求復号部152が暗号化操作要求を復号して得たデータを「復号操作要求」と呼ぶ。
操作要求復号部152は、CPU911を用いて、復号した復号操作要求を出力する。
権限記憶部161は、磁気ディスク装置920を用いて、利用者の役割と、その役割を有する利用者に権限がある操作との対応関係を表わすデータ(以下「権限対応データ」と呼ぶ。)をあらかじめ記憶している。
図7は、この実施の形態における権限記憶部161が記憶している権限対応データ520の一例を模式的に示す図である。
権限対応データ520は、例えば、役割データ521、操作内容データ522を一組のデータ(レコード)とし、複数のレコードからなるデータである。
この図では、左側の列に役割データ521を、右側の列の操作内容データ522を、それぞれ縦に並べ、横に並んだ役割データ521と、操作内容データ522とが、一つのレコードであることを表わしている。
役割データ521は、役割を識別するデータである。
操作内容データ522は、操作の内容を表わすデータである。
この例に示した権限対応データ520において、例えば、一番上のレコードは、役割データ521「ADMIN」によって識別される役割(例えば、管理者としての役割)を有する利用者が、操作内容データ522「BOOT」によって表わされる操作(例えば、起動操作)をする権限を有することを表わしている。
なお、この図に示した権限対応データ520の形式は一例であり、それぞれの役割を有する利用者が、どのような操作をする権限を有するかをを表わすことができる形式であれば、権限対応データの形式は、他の形式であってもよい。
図6に戻り、実行装置200の機能ブロックの説明を続ける。
操作要求検証部162は、CPU911を用いて、操作要求復号部152が出力した復号操作要求を入力する。
操作要求検証部162は、CPU911を用いて、入力した復号操作要求を検証する。
復号操作要求の検証には、二つの段階がある。
第一段階は、復号操作要求が正しく復号されているか否かの検証である。操作要求メッセージには、あらかじめ定められた書式(フォーマット)があり、復号操作要求が正しく復号されていれば、復号操作要求は、操作要求メッセージとしての書式を満たしているはずである。操作要求検証部162は、CPU911を用いて、復号操作要求が操作要求メッセージとしての書式を満たしているか否かを判定することにより、復号操作要求が正しく復号されているか否かを検証する。
復号操作要求が正しく復号されていれば、暗号化操作要求は、通信鍵記憶部132が記憶した共通鍵と同じ共通鍵を暗号化鍵として使用して、共通鍵暗号方式により暗号化されたものであるから、利用者端末装置300が、暗号化通信鍵を正しく復号できたことを意味する。すなわち、識別生成部123が生成した利用者識別データをIDベース暗号方式における公開鍵とし、IDベース暗号方式における公開鍵に対応する秘密鍵を、利用者端末装置300が知っていることがわかる。これは、利用者端末装置300が実行装置200に対してその役割に基づいて操作する権限を有すると鍵生成装置400が判定し、利用者識別データに対応するIDベース暗号方式における秘密鍵を、鍵生成装置400が利用者端末装置300に教えたということであるから、操作要求検証部162は、利用者端末装置300が実行装置200に対してその役割に基づいて操作する権限を有するものとして、検証の第一段階が成功となる。
検証の第二段階は、その役割にその操作をする権限があるかの検証である。利用者の権限は、役割ごとに異なり、検証の第一段階で、その利用者が実行装置200に対してその役割を有することが検証できた場合、その役割を有する利用者にその操作をする権限があることが検証できれば、その利用者にその操作をする権限があることになる。操作要求検証部162は、CPU911を用いて、権限記憶部161が記憶した権限対応データ520に基づいて、その役割を有する利用者に、入力した復号操作要求が要求する操作をする権限があるか否かを判定する。権限があると判定できれば、検証の第二段階が成功となる。
操作要求検証部162は、CPU911を用いて、二段階の検証に成功した場合に、操作権限ありと判定し、それ以外の場合は、操作権限なしと判定する。
操作要求検証部162は、CPU911を用いて、操作権限ありと判定した場合、入力した復号操作要求を出力する。
操作要求通知部163は、CPU911を用いて、操作要求検証部162が出力した復号操作要求を入力する。
操作要求通知部163は、CPU911を用いて、入力した復号操作要求を、対象装置210に対して、操作要求メッセージとして通知する。
対象装置210は、操作要求取得部211、処理実行部212、操作結果生成部213、操作結果送信部214を有する。
操作要求取得部211は、CPU911を用いて、操作要求通知部163が通知した操作要求メッセージを取得する。
操作要求取得部211は、CPU911を用いて、取得した操作要求メッセージを出力する。
処理実行部212は、CPU911を用いて、操作要求取得部211が出力した操作要求メッセージを入力する。
処理実行部212は、CPU911を用いて、入力した操作要求メッセージに基づいて、操作要求メッセージにより要求された操作に対応する処理を実行する。
処理実行部212は、CPU911を用いて、処理を実行した結果を表わすデータ(以下「結果データ」と呼ぶ。)を出力する。
操作結果生成部213は、CPU911を用いて、処理実行部212が出力した結果データを入力する。
操作結果生成部213は、CPU911を用いて、入力した結果データに基づいて、処理実行部212が処理を実行した結果を利用者端末装置300に対して通知するメッセージ(以下「操作結果メッセージ」と呼ぶ。)を生成する。
操作結果生成部213は、CPU911を用いて、生成した操作結果メッセージを出力する。
操作結果送信部214は、CPU911を用いて、操作結果生成部213が出力した操作結果メッセージを入力する。
操作結果送信部214は、通信装置915を用いて、暗号化操作要求受信部151が受信した暗号化操作要求を送信した利用者端末装置300に対して、入力した操作結果メッセージを送信する。
なお、操作結果メッセージをそのまま送信するのではなく、通信鍵記憶部132が記憶した共通鍵を暗号化鍵として使用して、共通鍵暗号方式により暗号化した上で送信する構成としてもよい。
図8は、この実施の形態におけるアクセス制御システム800が、利用者による実行装置200の操作を制御するアクセス制御処理の流れの一例を示すフローチャート図である。
操作入力処理S610において、利用者端末装置300では、対象入力部311が、キーボード902などを用いて、利用者がどの実行装置200を操作しようとしているかを入力する。役割入力部312は、キーボード902などを用いて、利用者がどのような役割に基づいてその実行装置200を操作しようとしているかを入力する。操作入力部313は、キーボード902などを用いて、利用者がその実行装置200に対してどのような操作をしようとしているかを入力する。
権限要求処理S615において、利用者端末装置300では、権限要求生成部321が、CPU911を用いて、操作入力処理S610で役割入力部312が入力した役割に基づいて、権限要求メッセージを生成する。権限要求送信部322は、通信装置915を用いて、操作入力処理S610で対象入力部311が入力した実行装置200に対して、権限要求生成部321が生成した操作要求メッセージを送信する。
通信鍵発行処理S620において、実行装置200では、権限要求受信部111が、通信装置915を用いて、権限要求処理S615で利用者端末装置300が送信した操作要求メッセージを受信する。役割取得部121は、CPU911を用いて、権限要求受信部111が受信した操作要求メッセージに基づいて、役割データを取得する。乱数生成部122は、CPU911を用いて、乱数を生成する。識別生成部123は、CPU911を用いて、役割取得部121が取得した役割データと、乱数生成部122が生成した乱数とに基づいて、利用者識別データを生成する。識別記憶部124は、磁気ディスク装置920を用いて、識別生成部123が生成した利用者識別データを記憶する。
通信鍵生成部131は、CPU911を用いて、共通鍵暗号方式における共通鍵を生成する。通信鍵記憶部132は、磁気ディスク装置920を用いて、通信鍵生成部131が生成した共通鍵を記憶する。通信鍵暗号化部133は、IDベース暗号方式により、識別記憶部124が記憶した利用者識別データをIDベース暗号方式における公開鍵として使用して、通信鍵記憶部132が記憶した共通鍵を暗号化する。
識別送信部141は、通信装置915を用いて、利用者端末装置300に対して、識別記憶部124が記憶した利用者識別データを送信する。暗号化通信鍵送信部142は、通信装置915を用いて、利用者端末装置300に対して、通信鍵暗号化部133が暗号化した暗号化通信鍵を送信する。
秘密鍵要求処理S630において、利用者端末装置300では、端末利用者識別受信部331が、通信装置915を用いて、実行装置200が送信した利用者識別データを受信する。暗号化通信鍵受信部332は、通信装置915を用いて、実行装置200が送信した暗号化通信鍵を受信する。端末利用者識別記憶部341は、RAM914を用いて、端末利用者識別受信部331が受信した利用者識別データを記憶する。
署名生成部343は、CPU911を用いて、公開鍵暗号方式により、利用者秘密鍵記憶部342が記憶した公開鍵暗号方式における秘密鍵を使用して、端末利用者識別記憶部341が記憶した利用者識別データを暗号化する。
端末利用者識別送信部351は、通信装置915を用いて、鍵生成装置400に対して、端末利用者識別記憶部341が記憶した利用者識別データを送信する。署名送信部352は、通信装置915を用いて、鍵生成装置400に対して、署名生成部343が生成した署名データを送信する。
権限判定処理S640において、鍵生成装置400では、生成利用者識別受信部411が、通信装置915を用いて、利用者端末装置300が送信した利用者識別データを受信する。署名受信部412は、通信装置915を用いて、利用者端末装置300が送信した署名データを受信する。
署名検証部423は、CPU911を用いて、公開鍵証明書記憶部421が記憶した公開鍵証明書に基づいて、署名受信部412が受信した署名データを検証する。
署名検証部423が署名データの検証に成功した場合、生成役割取得部432は、CPU911を用いて、生成利用者識別受信部411が受信した利用者識別データに基づいて、役割データを取得する。生成対象識別取得部433は、CPU911を用いて、生成利用者識別受信部411が受信した利用者識別データに基づいて、対象識別データを取得する。権限判定部434は、CPU911を用いて、役割記憶部431が記憶した役割対応データに基づいて、生成利用者識別受信部411が受信した利用者識別データを送信してきた利用者端末装置300の利用者が、生成対象識別取得部433が取得した対象識別データによって識別される実行装置200に対して、生成役割取得部432が取得した役割データによって識別される役割を有するか否かを判定する。
その利用者がその実行装置200に対してその役割を有すると権限判定部434が判定した場合、鍵生成装置400は、秘密鍵通知処理S645へ進む。
その利用者がその実行装置200に対してその役割を有しないと権限判定部434が判定した場合、または、署名検証部423が署名データの検証に失敗した場合、鍵生成装置400は、処理を終了する。
秘密鍵通知処理S645において、鍵生成装置400では、秘密鍵生成部441が、CPU911を用いて、IDベース暗号方式により、権限判定処理S640で生成利用者識別受信部411が受信した利用者識別データに対応する秘密鍵を生成する。秘密鍵暗号化部442は、CPU911を用いて、公開鍵暗号方式により、公開鍵証明書記憶部421が記憶した公開鍵証明書に基づいて、利用者端末装置300の利用者の公開鍵を使用して、秘密鍵生成部441が生成したIDベース暗号方式における秘密鍵を暗号化する。暗号化秘密鍵送信部451は、通信装置915を用いて、利用者端末装置300に対して、秘密鍵暗号化部442が暗号化した暗号化秘密鍵を送信する。
通信鍵復号処理S650において、利用者端末装置300では、暗号化秘密鍵受信部361が、通信装置915を用いて、鍵生成装置400が送信した暗号化秘密鍵を受信する。秘密鍵復号部362は、CPU911を用いて、公開鍵暗号方式により、利用者秘密鍵記憶部342が記憶した公開鍵暗号方式における秘密鍵を使用して、受信した暗号化秘密鍵を復号する。
通信鍵復号部371は、CPU911を用いて、IDベース暗号方式により、秘密鍵復号部362が復号した復号秘密鍵を使用して、暗号化通信鍵受信部332が受信した暗号化通信鍵を復号する。復号通信鍵記憶部372は、RAM914を用いて、通信鍵復号部371が復号した復号通信鍵を記憶する。
操作要求処理S655において、利用者端末装置300では、操作要求生成部381が、CPU911を用いて、操作入力処理S610で操作入力部313が入力した操作に基づいて、操作要求メッセージを生成する。操作要求暗号化部382は、CPU911を用いて、共通鍵暗号方式により、通信鍵復号処理S650で復号通信鍵記憶部372が記憶した復号通信鍵を使用して、操作要求生成部381が生成した操作要求メッセージを暗号化する。暗号化操作要求送信部383は、通信装置915を用いて、実行装置200に対して、操作要求暗号化部382が暗号化した暗号化操作要求を送信する。
操作要求検証処理S660において、実行装置200では、暗号化操作要求受信部151が、通信装置915を用いて、利用者端末装置300が送信した暗号化操作要求を受信する。操作要求復号部152は、CPU911を用いて、共通鍵暗号方式により、通信鍵記憶部132が記憶した共通鍵を使用して、暗号化操作要求受信部151が受信した暗号化操作要求を復号する。操作要求検証部162は、CPU911を用いて、操作要求復号部152が復号した復号操作要求が、正しく復号されているか否かを判定する。
復号操作要求が正しく復号されていると判定した場合、操作要求検証部162は、CPU911を用いて、権限記憶部161が記憶した権限対応データに基づいて、役割取得部121が取得した役割を有する利用者に、操作要求復号部152が復号した復号操作要求が要求する操作をする権限があるか判定する。
権限があると操作要求検証部162が判定した場合、実行装置200は、処理実行処理S670へ進む。
権限がないと操作要求検証部162が判定した場合、または、復号操作要求が正しく復号されていないと操作要求検証部162が判定した場合、実行装置200は、処理を終了する。
処理実行処理S670において、実行装置200では、操作要求通知部163が、CPU911を用いて、操作要求取得部211に対して、操作要求復号部152が復号した復号操作要求を、操作要求メッセージとして通知する。操作要求取得部211は、CPU911を用いて、操作要求通知部163が通知した操作要求メッセージを取得する。処理実行部212は、CPU911を用いて、操作要求取得部211が取得した操作要求メッセージに基づいて、処理を実行する。操作結果生成部213は、CPU911を用いて、処理実行部212が処理を実行した結果に基づいて、操作結果メッセージを生成する。操作結果送信部214は、通信装置915を用いて、利用者端末装置300に対して、操作結果生成部213が生成した操作結果メッセージを送信する。
操作結果出力処理S680において、利用者端末装置300では、操作結果受信部391が、通信装置915を用いて、実行装置200が送信した操作結果メッセージを受信する。結果出力部392は、表示装置901などを用いて、操作結果受信部391が受信した操作結果メッセージに基づいて、操作結果を出力する。
同じ実行装置200に対して、続けて複数の操作をする場合、操作入力処理S610〜操作結果出力処理S680の処理を繰り返す。なお、2回目以降は、同じ共通鍵を流用することとし、権限要求処理S615〜通信鍵復号処理S650の処理を省略する構成としてもよい。
この実施の形態における権限検証装置100は、利用者が対象装置210を操作する権限があるか否かを検証する装置であって、データを処理する処理装置(CPU911)と、データを送信する送信装置(通信装置915)と、データを受信する受信装置(通信装置915)と、識別取得部(識別生成部123)と、通信鍵生成部131と、通信鍵暗号化部133と、暗号化通信鍵送信部142と、暗号化操作要求受信部151と、操作要求復号部152と、操作要求検証部162と、操作要求通知部163とを有する。
上記識別取得部(識別生成部123)は、上記処理装置(CPU911)を用いて、利用者を識別する利用者識別データを取得する。
上記通信鍵生成部131は、上記処理装置(CPU911)を用いて、暗号化鍵(共通鍵)と上記暗号化鍵に対応する復号鍵(共通鍵)とを生成する。
上記通信鍵暗号化部133は、上記処理装置(CPU911)を用いて、IDベース暗号方式により、上記識別取得部(識別生成部123)が取得した利用者識別データを使用して、上記通信鍵生成部131が生成した暗号化鍵(共通鍵)を暗号化して、暗号化通信鍵とする。
上記暗号化通信鍵送信部142は、上記送信装置(通信装置915)を用いて、上記通信鍵暗号化部133が暗号化した暗号化通信鍵を送信する。
上記暗号化操作要求受信部151は、上記受信装置(通信装置915)を用いて、上記対象装置210に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信する。
上記操作要求復号部152は、上記処理装置(CPU911)を用いて、上記通信鍵生成部131が生成した復号鍵(共通鍵)を使用して、上記暗号化操作要求受信部151が受信した暗号化操作要求を復号して、復号操作要求とする。
上記操作要求検証部162は、上記処理装置(CPU911)を用いて、上記操作要求復号部152が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定する。
上記操作要求通知部163は、上記処理装置(CPU911)を用いて、上記操作要求検証部162が操作権限ありと判定した場合に、上記操作要求復号部152が復号した復号操作要求を、操作要求メッセージとして上記対象装置210に対して通知する。
この実施の形態における権限検証装置100によれば、暗号化操作要求受信部151が受信した暗号化操作要求を、通信鍵生成部131が生成した復号鍵(共通鍵)を使用して、正しく復号できる場合に、利用者に対象装置210に対する操作権限があると判定する。通信鍵生成部131が生成した復号鍵(共通鍵)で暗号化操作要求を正しく復号できるということは、通信鍵生成部131が生成した暗号化鍵(共通鍵)を利用者が知っているということであり、通信鍵暗号化部133がIDベース暗号方式により暗号化した暗号化通信鍵を利用者が正しく復号できたことを意味する。すなわち、暗号化操作要求受信部151は、識別取得部(識別生成部123)が取得した利用者識別データに対応するIDベース暗号方式における秘密鍵を利用者が知っている場合に、利用者に対象装置210に対する操作権限があると判定する。
暗号化鍵(共通鍵)を、IDベース暗号方式ではなく、通常の公開鍵暗号方式で暗号化する構成も考えられるが、その場合、利用者の公開鍵の正当性・有効性が保証されている必要がある。例えば、権限検証装置100は、公開鍵証明書を辿ってCAによる証明を検証したり、公開鍵証明書の失効を確認するなど、PKIを利用して、公開鍵の正当性・有効性を検証する必要がある。
これに対し、この実施の形態における権限検証装置100は、暗号化鍵(共通鍵)をIDベース暗号方式で暗号化するので、PKIを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置100を設ける場合であっても、利用者の操作権限を検証することができる。
なお、この例では、利用者端末装置300が共通鍵暗号方式により操作要求メッセージを暗号化して暗号化操作要求とし、権限検証装置100が共通鍵暗号方式により暗号化操作要求を復号する構成としているが、操作要求メッセージを暗号化する暗号方式は、共通鍵暗号方式に限らず、非対称な暗号方式であってもよい。
その場合、通信鍵生成部131は、CPU911を用いて、非対称暗号方式における暗号化鍵と復号鍵とのペアを生成し、通信鍵記憶部132は、磁気ディスク装置920を用いて、通信鍵生成部131が生成した復号鍵を記憶する。通信鍵暗号化部133は、CPU911を用いて、IDベース暗号方式により、識別生成部123が生成した利用者識別データを公開鍵として使用して、通信鍵生成部131が生成した暗号化鍵を暗号化して、暗号化通信鍵とする。
識別生成部123が生成した利用者識別データに対応するIDベース暗号方式における秘密鍵を利用者端末装置300が知っていれば、権限検証装置100が送信した暗号化通信鍵を正しく復号できるので、通信鍵復号部371が復号した復号通信鍵は、識別生成部123が生成した暗号化鍵と同一となる。したがって、通信鍵復号部371が復号した復号通信鍵を暗号化鍵として使用して、操作要求暗号化部382が操作要求メッセージを暗号化し、通信鍵記憶部132が記憶した復号鍵を使用して操作要求復号部152が暗号化操作要求を復号することにより、共通鍵暗号方式を使用する構成と同じ効果を得ることができる。
この実施の形態における権限検証装置100は、更に、役割取得部121を有する。
上記役割取得部121は、上記処理装置(CPU911)を用いて、利用者の役割を表わす役割データを取得する。
上記識別取得部(識別生成部123)は、上記処理装置(CPU911)を用いて、上記役割取得部121が取得した役割データに基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
上記操作要求検証部162は、上記処理装置(CPU911)を用いて、上記操作要求復号部152が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、上記役割取得部121が取得した役割データが表わす役割に、上記復号操作要求が表わす操作をする権限があるか否かを判定し、上記役割に上記操作をする権限があると判定した場合に、操作権限ありと判定する。
この実施の形態における権限検証装置100によれば、役割取得部121が取得した役割データに基づいて識別取得部(識別生成部123)が生成した利用者識別データに対応するIDベース暗号方式における秘密鍵を利用者が知っているか否かを、操作要求検証部162が判定するので、役割取得部121が取得した役割データが表わす役割を、その利用者が有しているか否かを判定できる。その上で、利用者が要求した操作をする権限がその役割に与えられているか否かを操作要求検証部162が判定するので、権限の異なる利用者のグループを、役割により管理することができる。
この実施の形態における権限検証装置100は、更に、識別送信部141を有する。
上記識別送信部141は、上記送信装置(通信装置915)を用いて、上記識別取得部(識別生成部123)が取得した利用者識別データを送信する。
この実施の形態における権限検証装置100によれば、識別取得部(識別生成部123)が取得した利用者識別データを識別送信部141が送信するので、権限要求受信部111が権限要求メッセージを受信するたびに、異なる利用者識別データを使用することができる。
ある時点において、利用者が対象装置210に対する操作権限を有し、その時点で権限検証装置100が送信した利用者識別データに対応する秘密鍵を知っていたとしても、利用者の権限が失効したのちに、権限検証装置100が送信した利用者識別データに対応する秘密鍵を知らなければ、操作要求検証部162は、利用者に操作権限がないと判定し、利用者の権限が失効したのち、利用者は、対象装置210を操作できなくなる。すなわち、権限検証装置100の設定を変えることなく、利用者の操作権限の変動に対応することができる。
この実施の形態における権限検証装置100は、更に、乱数生成部122を有する。
上記乱数生成部122は、上記処理装置(CPU911)を用いて、乱数を生成する。
上記識別取得部(識別生成部123)は、上記処理装置(CPU911)を用いて、上記乱数生成部122が生成した乱数に基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
この実施の形態における権限検証装置100によれば、乱数生成部122が生成した乱数に基づいて識別取得部が利用者識別データを生成するので、権限要求受信部111が権限要求メッセージを受信するたびに、あらかじめ予測不可能な利用者識別データを使用することができる。
操作権限を有する利用者が、操作権限の失効に備えて、あらかじめ利用者識別データを予測し、予測した利用者識別データに対応するIDベース暗号方式における秘密鍵を入手しておくことができないので、利用者の操作権限を確実に失効させることができる。
この実施の形態における実行装置200は、操作権限のある利用者からの操作要求に基づいて処理を実行する装置であって、上記権限検証装置100と、上記権限検証装置100が通知した操作要求メッセージに基づいて処理を実行する対象装置210とを有する。
この実施の形態における実行装置200によれば、暗号化鍵(共通鍵)をIDベース暗号方式で暗号化するので、PKIを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた実行装置200であっても、利用者の操作権限を検証し、操作権限がある場合のみ処理を実行することができる。
この実施の形態における利用者端末装置300は、利用者が対象装置210を操作する権限を有するか否かを検証する権限検証装置100に対して、上記利用者による上記対象装置210に対する操作要求を通知する装置であって、データを処理する処理装置(CPU911)と、データを受信する受信装置(通信装置915)と、データを送信する送信装置(通信装置915)と、端末利用者識別取得部(端末利用者識別受信部331)と、秘密鍵取得部(秘密鍵復号部362)と、暗号化通信鍵受信部332と、通信鍵復号部371と、操作要求暗号化部382と、暗号化操作要求送信部383とを有する。
上記端末利用者識別取得部(端末利用者識別受信部331)は、上記処理装置(CPU911)を用いて、利用者を識別する利用者識別データを取得する。
上記秘密鍵取得部(暗号化秘密鍵受信部361・秘密鍵復号部362)は、上記処理装置(CPU911)を用いて、IDベース暗号方式において上記端末利用者識別取得部(端末利用者識別受信部331)が取得した利用者識別データに対応する秘密鍵を取得する。
上記暗号化通信鍵受信部332は、上記受信装置(通信装置915)を用いて、暗号化に使用する暗号化鍵(共通鍵)をIDベース暗号方式により暗号化した暗号化通信鍵を、上記権限検証装置100から受信する。
上記通信鍵復号部371は、上記処理装置(CPU911)を用いて、IDベース暗号方式により、上記秘密鍵取得部(暗号化秘密鍵受信部361・秘密鍵復号部362)が取得した秘密鍵を使用して、上記暗号化通信鍵受信部332が受信した暗号化通信鍵を復号して、復号通信鍵とする。
上記操作要求暗号化部382は、上記処理装置(CPU911)を用いて、上記通信鍵復号部371が復号した復号通信鍵を使用して、上記利用者による対象装置210に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とする。
上記暗号化操作要求送信部383は、上記送信装置(通信装置915)を用いて、上記操作要求暗号化部382が暗号化した暗号化操作要求を、上記権限検証装置100に対して送信する。
この実施の形態における利用者端末装置300によれば、IDベース暗号方式において、端末利用者識別取得部(端末利用者識別受信部331)が取得した利用者識別データに対応する秘密鍵を、秘密鍵取得部(暗号化秘密鍵受信部361・秘密鍵復号部362)が取得し、取得した秘密鍵を使用して、IDベース暗号方式により、暗号化通信鍵受信部332が受信した暗号化通信鍵を復号するので、秘密鍵取得部(秘密鍵復号部362)が正しい秘密鍵を取得した場合のみ、暗号化通信鍵を正しく復号することができる。利用者に対象装置210に対する操作権限がある場合にのみ、秘密鍵取得部(秘密鍵復号部362)が正しい秘密鍵を取得できる構成とすれば、利用者に操作権限がある場合のみ、暗号化通信鍵を正しく復号できるので、これを利用して、利用者に操作権限があることを、権限検証装置100に対して証明することができる。
この実施の形態における利用者端末装置300は、更に、端末利用者識別送信部351を有する。
上記端末利用者識別送信部351は、上記送信装置(通信装置915)を用いて、IDベース暗号方式における秘密鍵を生成する鍵生成装置400に対して、上記端末利用者識別取得部(端末利用者識別受信部331)が取得した利用者識別データを送信する。
上記秘密鍵取得部(暗号化秘密鍵受信部361・秘密鍵復号部362)は、上記受信装置(通信装置915)を用いて、上記鍵生成装置400が生成した秘密鍵を受信することにより、上記秘密鍵を取得する。
この実施の形態における利用者端末装置300によれば、端末利用者識別取得部(端末利用者識別受信部331)が取得した利用者識別データを、端末利用者識別送信部351が鍵生成装置400に対して送信し、鍵生成装置400が生成した秘密鍵を秘密鍵取得部(暗号化秘密鍵受信部361・秘密鍵復号部362)が取得するので、利用者が実行装置200に対する操作権限を有する場合のみ、鍵生成装置400が受信した利用者識別データに対応する秘密鍵を生成する構成とすれば、利用者に操作権限があることを、権限検証装置100に対して証明することができる。
この実施の形態における鍵生成装置400は、IDベース暗号方式における秘密鍵を生成する装置であって、データを処理する処理装置(CPU911)と、データを受信する受信装置(通信装置915)と、データを送信する送信装置(通信装置915)と、生成利用者識別受信部411と、権限判定部434と、秘密鍵生成部441と、秘密鍵送信部(秘密鍵暗号化部442・暗号化秘密鍵送信部451)とを有する。
上記生成利用者識別受信部411は、上記受信装置(通信装置915)を用いて、利用者を識別する利用者識別データを受信する。
上記権限判定部434は、上記処理装置(CPU911)を用いて、上記利用者に対象装置210を操作する権限があるか否かを判定する。
上記秘密鍵生成部441は、上記処理装置(CPU911)を用いて、上記利用者に対象装置210を操作する権限があると上記権限判定部434が判定した場合に、IDベース暗号方式において上記生成利用者識別受信部411が受信した利用者識別データに対応する秘密鍵を生成する。
上記秘密鍵送信部(秘密鍵暗号化部442・暗号化秘密鍵送信部451)は、上記送信装置(通信装置915)を用いて、上記秘密鍵生成部441が生成した秘密鍵を送信する。
この実施の形態における鍵生成装置400によれば、利用者に対象装置210を操作する権限があると権限判定部434が判定した場合に、IDベース暗号方式において、生成利用者識別受信部411が受信した利用者識別データに対応する秘密鍵を秘密鍵生成部441が生成するので、IDベース暗号方式において利用者識別データを使用して暗号化したデータを正しく復号できるかを検証することにより、利用者に操作権限があるかを判定することができる。
上記鍵生成装置400は、更に、生成役割取得部432を有する。
上記生成利用者識別受信部411は、上記受信装置(通信装置915)を用いて、上記利用者の役割を表わす役割データを含む利用者識別データを受信する。
上記生成役割取得部432は、上記処理装置(CPU911)を用いて、上記生成利用者識別受信部411が受信した利用者識別データに基づいて、上記役割データを取得する。
上記権限判定部434は、上記処理装置(CPU911)を用いて、上記利用者が上記対象装置210に対して上記役割データが表わす役割を有するか否かを判定し、上記利用者が上記対象装置210に対して上記役割データが表わす役割を有すると判定した場合に、上記利用者に上記対象装置210を操作する権限があると判定する。
この実施の形態における鍵生成装置400によれば、生成利用者識別受信部411が受信した利用者識別データに含まれる役割データを生成役割取得部432が取得し、取得した役割データが表わす役割を、利用者が対象装置210に対して有する場合に、操作権限があると権限判定部434が判定するので、対象装置210に対して異なる操作権限を有する利用者を、対象装置210に対して有する役割により分類して管理することができる。
この実施の形態における鍵生成装置400は、更に、生成個別識別取得部422を有する。
上記生成利用者識別受信部411は、上記受信装置(通信装置915)を用いて、上記利用者を個別に識別する個別識別データを含む利用者識別データを受信する。
上記生成個別識別取得部422は、上記処理装置(CPU911)を用いて、上記生成利用者識別受信部411が受信した利用者識別データに基づいて、上記個別識別データを取得する。
上記権限判定部434は、上記処理装置(CPU911)を用いて、上記生成個別識別取得部422が取得した個別識別データにより個別に識別される利用者に上記対象装置210を操作する権限があるか否かを判定する。
この実施の形態における鍵生成装置400によれば、生成利用者識別受信部411が受信した利用者識別データに含まれる個別識別データを生成個別識別取得部422が取得し、取得した個別識別データによって識別される利用者が、対象装置210に対する操作権限を有するか否かを権限判定部434が判定するので、操作権限の異なる複数の利用者を管理することができる。
この実施の形態における鍵生成装置400は、更に、生成対象識別取得部433を有する。
上記生成利用者識別受信部411は、上記受信装置(通信装置915)を用いて、上記対象装置210を識別する対象識別データを含む利用者識別データを受信する。
上記生成対象識別取得部433は、上記処理装置(CPU911)を用いて、上記生成利用者識別受信部411が受信した利用者識別データに基づいて、上記対象識別データを取得する。
上記権限判定部434は、上記処理装置(CPU911)を用いて、上記生成対象識別取得部433が取得した対象識別データにより識別される対象装置210を操作する権限が上記利用者にあるか否かを判定する。
この実施の形態における鍵生成装置400によれば、生成利用者識別受信部411が受信した利用者識別データに含まれる対象識別データを生成対象識別取得部433が取得し、取得した対象識別データにより識別される対象装置210に対して、利用者が操作権限を有する場合に、操作権限があると権限判定部434が判定するので、複数の対象装置210に対して、利用者が有する操作権限が異なる場合を管理することができる。
この実施の形態におけるアクセス制御システム800は、利用者による対象装置210の操作を制御するシステムであって、上記権限検証装置100と、上記利用者端末装置300とを有する。
この実施の形態におけるアクセス制御システム800によれば、利用者識別データを使用して権限検証装置100がIDベース暗号方式により暗号化鍵(共通鍵)を暗号化し、利用者端末装置300が、正しく復号できるかにより、利用者の操作権限を検証するので、PKIを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置100を設ける場合であっても、利用者の操作権限を検証することができる。
この実施の形態におけるアクセス制御システム800は、更に、上記鍵生成装置400を有する。
この実施の形態におけるアクセス制御システム800によれば、利用者に対象装置210を操作する権限があると権限判定部434が判定した場合に、IDベース暗号方式において、生成利用者識別受信部411が受信した利用者識別データに対応する秘密鍵を秘密鍵生成部441が生成するので、PKIを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置100を設ける場合であっても、利用者の操作権限を検証することができる。
この実施の形態における権限検証装置100・実行装置200・利用者端末装置300・鍵生成装置400はいずれも、データを処理する処理装置(CPU911)と、データを送信する送信装置と(通信装置915)、データを受信する受信装置(通信装置915)とを有するコンピュータを上記権限検証装置100・上記実行装置200・上記利用者端末装置300・上記鍵生成装置400として機能させるコンピュータプログラムを上記コンピュータが実行することにより、実現することができる。
この実施の形態におけるコンピュータプログラムによれば、上記説明した効果を奏する権限検証装置100・実行装置200・利用者端末装置300・鍵生成装置400を実現することができる。
この実施の形態におけるアクセス制御システム800は、データを処理する処理装置(CPU911)と、データを送信する送信装置(通信装置915)と、データを受信する受信装置(通信装置915)とを有する複数のコンピュータを上記アクセス制御システム800として機能させるコンピュータプログラムを上記複数のコンピュータが実行することにより実現することができる。
この実施の形態におけるコンピュータプログラムによれば、上記説明した効果を奏するアクセス制御システム800を実現することができる。
この実施の形態における権限検証装置100が、利用者が対象装置210を操作する権限を有するか否かを検証する権限検証方法は、以下の工程を有する。
上記処理装置(CPU911)が、利用者を識別する利用者識別データを取得する。
上記処理装置(CPU911)が、暗号化鍵(共通鍵)と上記暗号化鍵に対応する復号鍵(共通鍵)とを生成する。
上記処理装置(CPU911)が、IDベース暗号方式により、取得した利用者識別データを使用して、生成した暗号化鍵(共通鍵)を暗号化して、暗号化通信鍵とする。
上記送信装置(通信装置915)が、暗号化した暗号化通信鍵を送信する。
上記受信装置(通信装置915)が、上記対象装置210に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信する。
上記処理装置(CPU911)が、生成した復号鍵(共通鍵)を使用して、受信した暗号化操作要求を復号して、復号操作要求とする。
上記処理装置(CPU911)が、復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定する。
上記処理装置(CPU911)が、操作権限ありと判定した場合に、復号した復号操作要求を、操作要求メッセージとして上記対象装置210に対して通知する。
この実施の形態における権限検証方法によれば、利用者識別データを使用して処理装置(CPU911)がIDベース暗号方式により暗号化鍵(共通鍵)を暗号化するので、PKIを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置が権限検証方法を使用する場合であっても、利用者の操作権限を検証することができる。
この実施の形態における利用者端末装置300が、利用者が対象装置210を操作する権限を有するか否かを検証する権限検証装置100に対して、上記利用者による上記対象装置210に対する操作要求を通知する操作要求通知方法は、以下の工程を有する。
上記処理装置(CPU911)が、利用者を識別する利用者識別データを取得する。
上記処理装置(CPU911)が、IDベース暗号方式において、取得した利用者識別データに対応する秘密鍵を取得する。
上記受信装置(通信装置915)が、暗号化に使用する暗号化鍵(共通鍵)をIDベース暗号方式により暗号化した暗号化通信鍵を、上記権限検証装置100から受信する。
上記処理装置(CPU911)が、IDベース暗号方式により、取得した秘密鍵を使用して、受信した暗号化通信鍵を復号して、復号通信鍵とする。
上記処理装置(CPU911)が、復号した復号通信鍵を使用して、上記利用者による上記対象装置210に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とする。
上記送信装置(通信装置915)が、暗号化した暗号化操作要求を、上記権限検証装置100に対して送信する。
この実施の形態における操作要求通知方法によれば、IDベース暗号方式において、処理装置(CPU911)が取得した利用者識別データに対応する秘密鍵を、処理装置(CPU911)が取得し、取得した秘密鍵を使用して、IDベース暗号方式により、受信装置(通信装置915)が受信した暗号化通信鍵を復号するので、処理装置(CPU911)が正しい秘密鍵を取得した場合のみ、暗号化通信鍵を正しく復号することができる。利用者に対象装置210に対する操作権限がある場合にのみ、処理装置(CPU911)が正しい秘密鍵を取得できる構成とすれば、利用者に操作権限がある場合のみ、暗号化通信鍵を正しく復号できるので、これを利用して、利用者に操作権限があることを、権限検証装置100に対して証明することができる。
この実施の形態における鍵生成装置400が、IDベース暗号方式における秘密鍵を生成する鍵生成方法は、以下の工程を有する。
上記受信装置(通信装置915)が、利用者を識別する利用者識別データを受信する。
上記処理装置(CPU911)が、上記利用者に対象装置210を操作する権限があるか否かを判定する。
上記処理装置(CPU911)が、上記利用者に対象装置210を操作する権限があると判定した場合に、IDベース暗号方式において、受信した利用者識別データに対応する秘密鍵を生成する。
上記送信装置(通信装置915)が、生成した秘密鍵を送信する。
この実施の形態における鍵生成方法によれば、利用者に対象装置210を操作する権限があると処理装置(CPU911)が判定した場合に、IDベース暗号方式において、受信装置(通信装置915)が受信した利用者識別データに対応する秘密鍵を処理装置(CPU911)が生成するので、IDベース暗号方式において利用者識別データを使用して暗号化したデータを正しく復号できるかを検証することにより、利用者に操作権限があるかを判定することができる。
この実施の形態におけるアクセス制御システム800が、利用者による対象装置210の操作を制御するアクセス制御方法は、以下の工程を有する。
上記権限検証装置100(識別生成部123)が、利用者を識別する利用者識別データを取得する。
上記権限検証装置100(通信鍵生成部131)が、暗号化鍵(共通鍵)と上記暗号化鍵に対応する復号鍵(共通鍵)とを生成する。
上記権限検証装置100(通信鍵暗号化部133)が、IDベース暗号方式により、取得した利用者識別データを使用して、生成した暗号化鍵(共通鍵)を暗号化して、暗号化通信鍵とする。
上記権限検証装置100(暗号化通信鍵送信部142)が、暗号化した暗号化通信鍵を送信する。
上記利用者端末装置300(端末利用者識別受信部331)が、上記利用者識別データを取得する。
上記利用者端末装置300(暗号化秘密鍵受信部361・秘密鍵復号部362)が、IDベース暗号方式において、取得した利用者識別データに対応する秘密鍵を取得する。
上記利用者端末装置300(暗号化通信鍵受信部332)が、上記権限検証装置100が送信した暗号化通信鍵を受信する。
上記利用者端末装置300(通信鍵復号部371)が、IDベース暗号方式により、取得した秘密鍵を使用して、受信した暗号化通信鍵を復号して、復号通信鍵とする。
上記利用者端末装置300(操作要求暗号化部382)が、復号した復号通信鍵を使用して、上記利用者による対象装置210に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とする。
上記利用者端末装置300(暗号化操作要求送信部383)が、暗号化した暗号化操作要求を、上記権限検証装置100に対して送信する。
上記権限検証装置100(暗号化操作要求受信部151)が、上記利用者端末装置300が送信した暗号化操作要求を受信する。
上記権限検証装置100(操作要求復号部152)が、生成した復号鍵(共通鍵)を使用して、受信した暗号化操作要求を復号して、復号操作要求とする。
上記権限検証装置100(操作要求検証部162)が、復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定する。
上記権限検証装置100(操作要求通知部163)が、操作権限ありと判定した場合に、復号した復号操作要求を、操作要求メッセージとして上記対象装置210に対して通知する。
この実施の形態におけるアクセス制御方法によれば、利用者識別データを使用して権限検証装置100がIDベース暗号方式により暗号化鍵(共通鍵)を暗号化し、利用者端末装置300が、正しく復号できるかにより、利用者の操作権限を検証するので、PKIを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置100を設ける場合であっても、利用者の操作権限を検証することができる。
以上説明した利用者端末装置300(ユーザ装置)は、
機器(実行装置200)を操作する役割(ロール)に関するロール情報(役割データ)を送信するロール要求送信部(権限要求送信部322)と、
権限確認情報(利用者識別データ及び暗号化通信鍵)を受信する権限確認受信部(端末利用者識別受信部331・暗号化通信鍵受信部332)と、
権限確認情報に含まれるID情報(利用者識別データ)からユーザ秘密鍵(公開鍵暗号方式における秘密鍵)により署名情報(署名データ)を生成する署名部(署名生成部343)と、
ユーザ公開鍵を含むユーザ情報(個別識別データ)と、ID情報(利用者識別データ)と、署名情報(署名データ)とをあわせて発行要求として送信する発行要求送信部(端末利用者識別送信部351・署名送信部352)と、
暗号済秘密鍵(暗号化秘密鍵)を受信する秘密鍵受信部(暗号化秘密鍵受信部361)と、
暗号済秘密鍵からユーザ秘密鍵(公開鍵暗号方式における秘密鍵)によりIDベース秘密鍵(IDベース暗号方式における秘密鍵)を復号する秘密鍵復号部362と、
権限確認情報に含まれる暗号済暗号鍵(暗号化通信鍵)からIDベース秘密鍵(IDベース暗号方式における秘密鍵)により暗号鍵(共通鍵)を復号するIDベース復号部(通信鍵復号部371)と、
機器(実行装置200)に対する操作情報(操作要求メッセージ)から暗号鍵(共通鍵)により暗号済操作情報(暗号化操作要求)を生成する暗号部(操作要求暗号化部382)と、
暗号済操作情報を送信する操作要求送信部(暗号化操作要求送信部383)とを有する。
以上説明した実行装置200(機器)は、
ロール情報(役割データ)を受信するロール要求受信部(権限要求受信部111)と、
乱数を生成する乱数生成部122と、
機器(実行装置200)を識別する識別情報(対象識別データ)と、ロール情報(役割データ)と、乱数とからID情報(利用者識別データ)を生成するID情報生成部(識別生成部123)と、
暗号鍵(共通鍵)と復号鍵(共通鍵)とを生成する暗号鍵生成部(通信鍵生成部131)と、
暗号鍵(共通鍵)からID情報(利用者識別データ)により暗号済暗号鍵(暗号化通信鍵)を生成するIDベース暗号部(通信鍵暗号化部133)と、
ID情報(利用者識別データ)と、暗号済暗号鍵(暗号化通信鍵)とをあわせて権限確認情報として送信する権限確認送信部(識別送信部141・暗号化通信鍵送信部142)と、
暗号済操作情報(暗号化操作要求)を受信する操作要求受信部(暗号化操作要求受信部151)と、
暗号済操作情報から復号鍵(共通鍵)により操作情報(操作要求メッセージ)を復号する復号部(操作要求復号部152)と、
正しく復号された操作情報(操作要求メッセージ)と、ロール情報(役割データ)とをもとに、アクセス制御マトリクス(権限対応データ)にしたがい、役割(ロール)として操作が許可されているかどうかの判定結果を生成するアクセス制御部(操作要求検証部162)とを有し、
判定結果からアクセスが許可された場合に操作を実行する。
以上説明した鍵生成装置400(サーバ)は、
発行要求(利用者識別データ及び署名データ)を受信する発行要求受信部(生成利用者識別受信部411・署名受信部412)と、
発行要求に含まれる署名情報(署名データ)を署名検証情報(公開鍵証明書)により検証して検証結果を生成する署名検証部423と、
検証結果が正しい場合に、発行要求に含まれるID情報(利用者識別データ)に含まれるロール情報(役割データ)と、発行要求に含まれるID情報に含まれる識別情報(対象識別データ)と、発行要求に含まれるユーザ情報(個別識別データ)とをもとに、認証情報(役割対応データ)にしたがい、ユーザの機器(実行装置200)に対する役割(ロール)としてのアクセス権の有無を認証結果として生成するアクセス権認証部(権限判定部434)と、
認証結果からアクセス権が有ると認証された場合に、ID情報(利用者識別データ)からIDベース秘密鍵(IDベース暗号方式における秘密鍵)を生成するIDベース秘密鍵生成部(秘密鍵生成部441)と、
IDベース秘密鍵(IDベース暗号方式における秘密鍵)からユーザ情報に含まれるユーザ公開鍵(公開鍵暗号方式における公開鍵)により暗号済秘密鍵(暗号化秘密鍵)を生成する秘密鍵暗号部(秘密鍵暗号化部442)と、
暗号済秘密鍵(暗号化秘密鍵)を送信する秘密鍵送信部(暗号化秘密鍵送信部451)とを有する。
以上説明したアクセス制御システム800(アクセス制御方式)は、上記ユーザ装置(利用者端末装置300)と、上記機器(実行装置200)と、上記サーバ(鍵生成装置400)とにより制御される。
以上説明した機器(実行装置200)は、ロールベースのアクセス制御方式におけるロール(役割)を元にID情報(利用者識別データ)を生成するID情報生成部(識別生成部123)を備える。
また、以上説明した機器(実行装置200)は、ユーザが操作情報(操作要求メッセージ)を暗号化する暗号鍵(共通鍵)をID情報(利用者識別データ)により暗号化して暗号済暗号鍵(暗号化通信鍵)を得るIDベース暗号部(通信鍵暗号化部133)を備える。
以上説明したユーザ装置(利用者端末装置300)は、ID情報(利用者識別データ)により暗号化された暗号済暗号鍵(暗号化通信鍵)をIDベース暗号の秘密鍵により復号して暗号鍵(復号通信鍵)を得るIDベース復号部(通信鍵復号部371)を備える。
以上説明したサーバ(鍵生成装置400)は、ID情報(利用者識別データ)に対応する秘密鍵を生成するIDベース秘密鍵生成部(秘密鍵生成部441)を備える。
また、以上説明したサーバ(鍵生成装置400)は、機器(実行装置200)の識別情報(対象識別データ)とユーザ情報(個別識別データ)とユーザの要求するロール情報(役割データ)とをもとに、認証情報(役割対応データ)を参照してアクセス権の有無を認証するアクセス権認証部(権限判定部434)を備えたものである。
以上説明したアクセス制御システム800の動作を要約して説明する。
まず事前に、ユーザ装置(利用者端末装置300)は、公開鍵暗号方式におけるユーザ秘密鍵と、ユーザ公開鍵とを保持する。機器(実行装置200)は、他の機器(実行装置200)と識別可能とする為の識別情報(対象識別データ)と、役割(ロール)と許可される操作との関係を示すアクセス制御マトリクス(権限対応データ)とを保持する。サーバ(鍵生成装置400)は、署名情報(署名データ)を検証する為の署名検証情報(公開鍵証明書)と、ユーザ情報(個別識別データ)とロール情報(役割データ)と識別情報(対象識別データ)とに対応するアクセス権の有無を示す認証情報(役割対応データ)を保持する。以上で、準備が完了する。
そして、ユーザ装置(利用者端末装置300)が処理を始める。
ユーザが機器(実行装置200)を操作する役割(ロール)を決定し、ロール要求送信部(権限要求送信部322)が、ロール情報(役割データ)を機器(実行装置200)へ送信する。
そして、機器(実行装置200)が処理を始める。
ロール要求受信部(権限要求受信部111)が、ユーザ装置(利用者端末装置300)からロール情報(役割データ)を受信する。次に、乱数生成部122が、乱数を生成する。次に、ID情報生成部(識別生成部123)が、機器(実行装置200)を識別する識別情報(対象識別データ)と、ロール情報(役割データ)と、乱数とからID情報(利用者識別データ)を生成する。次に、暗号鍵生成部(通信鍵生成部131)が、暗号鍵(共通鍵)と復号鍵(共通鍵)とを生成する。次に、IDベース暗号部(通信鍵暗号化部133)が、IDベース暗号の暗号化の対象となる暗号鍵(共通鍵)からID情報(利用者識別データ)により暗号済暗号鍵(暗号化通信鍵)を生成する。次に、権限確認送信部(識別送信部141・暗号化通信鍵送信部142)が、ID情報(利用者識別データ)と、暗号済暗号鍵(暗号化通信鍵)とをあわせて権限確認情報としてユーザ装置(利用者端末装置300)へ送信する。
そして、ユーザ機器(利用者端末装置300)が処理を始める。
権限確認受信部(端末利用者識別受信部331・暗号化通信鍵受信部332)が、機器(実行装置200)から権限確認情報(利用者識別データ及び暗号化通信鍵)を受信する。署名部(署名生成部343)が、権限確認情報に含まれるID情報(利用者識別データ)からユーザ秘密鍵(公開鍵暗号方式における秘密鍵)により署名情報(署名データ)を生成する。次に、発行要求送信部(端末利用者識別送信部351・署名送信部352)が、ユーザ公開鍵を含むユーザ情報(個別識別データ)と、ID情報(利用者識別データ)と、署名情報(署名データ)とをあわせて発行要求としてサーバ(鍵生成装置400)に送信する。
そして、サーバ(鍵生成装置400)が処理を始める。
発行要求受信部(生成利用者識別受信部411・署名受信部412)が、ユーザ装置(利用者端末装置300)から発行要求を受信する。次に、署名検証部423が、発行要求に含まれる署名情報(署名データ)を署名検証情報(公開鍵証明書)により検証して検証結果を生成する。
なお、署名検証部423は、署名検証情報として、予め安全な方法により、ユーザ装置(利用者端末装置300)からサーバ(鍵生成装置400)に渡されたユーザ公開鍵を利用する構成としてもよい。
また、予めサーバ(鍵生成装置400)がユーザの秘密鍵(公開鍵暗号方式における秘密鍵)とユーザの公開鍵(公開鍵暗号方式における公開鍵)を生成し、安全な方法により、サーバ(鍵生成装置400)からユーザ装置(利用者端末装置300)にユーザの秘密鍵とユーザの公開鍵とを渡しておく構成としてもよい。
また、予めユーザ公開鍵に対してPKIの認証局が公開鍵証明書を発行し、サーバ(鍵生成装置400)は認証局の公開鍵証明書を署名検証情報として利用する構成としてもよい。
次に、アクセス権認証部(権限判定部434)が、検証結果が正しい場合に、発行要求に含まれるID情報(利用者識別データ)に含まれるロール情報(役割データ)と、発行要求に含まれるID情報に含まれる識別情報(対象識別データ)と、発行要求に含まれるユーザ情報(個別識別データ)とをもとに、認証情報(役割対応データ)にしたがい、ユーザの機器(実行装置200)に対する役割(ロール)としてのアクセス権の有無を認証結果として生成する。
例えば、権限判定部434は、まずユーザ情報(個別識別データ)をもとに識別情報(対象識別データ)とロール情報(役割データ)との関係を表す表(役割対応データ)を特定し、識別情報(対象識別データ)とロール情報(役割データ)とから、表(役割対応データ)の該当する箇所の「○」と「×」とによりアクセス権の有無を判断する。
次に、IDベース秘密鍵生成部(秘密鍵生成部441)が、認証結果からアクセス権が有ると認証された場合に、ID情報(利用者識別データ)からIDベース秘密鍵を生成する。次に、秘密鍵暗号部(秘密鍵暗号化部442)が、IDベース秘密鍵からユーザ情報(個別識別データ)に含まれるユーザ公開鍵(公開鍵暗号方式における公開鍵)により暗号済秘密鍵(暗号化秘密鍵)を生成する。次に、秘密鍵送信部(暗号化秘密鍵送信部451)が、暗号済秘密鍵(暗号化秘密鍵)をユーザ装置(利用者端末装置300)に送信する。
そして、ユーザ装置(利用者端末装置300)が処理を始める。
秘密鍵受信部(暗号化秘密鍵受信部361)が、暗号済秘密鍵(暗号化秘密鍵)を受信する。次に、秘密鍵復号部(秘密鍵復号部362)が、暗号済秘密鍵(暗号化秘密鍵)からユーザ秘密鍵(公開鍵暗号方式における秘密鍵)によりIDベース秘密鍵を復号する。次に、IDベース復号部(通信鍵復号部371)が、権限確認情報に含まれる暗号済暗号鍵(暗号化通信鍵)からIDベース秘密鍵により暗号鍵(共通鍵)を復号する。次に、暗号部(操作要求暗号化部382)が、機器(実行装置200)に対する操作情報(操作要求メッセージ)から暗号鍵(共通鍵)により暗号済操作情報(暗号化操作要求)を生成する。次に、操作要求送信部(暗号化操作要求送信部383)が、暗号済操作情報(暗号化操作要求)を機器(実行装置200)に送信する。
そして、機器(実行装置200)が処理を始める。
操作要求受信部(暗号化操作要求受信部151)が、暗号済操作情報(暗号化操作要求)を受信する。次に、復号部(操作要求復号部152)が、暗号済操作情報(暗号化操作要求)から復号鍵(共通鍵)により操作情報(操作要求メッセージ)を復号する。次に、復号部(操作要求復号部152)が操作情報(操作要求メッセージ)が正しく復号した場合に、操作要求検証部162が、正しく復号された操作情報(操作要求メッセージ)と、ロール情報(役割データ)とをもとに、アクセス制御マトリクス(権限対応データ)にしたがい、役割(ロール)として操作が許可されているかどうかの判定結果を生成する。
例えば、操作要求検証部162は、操作(操作内容データ)とロール情報(役割データ)から、表の該当する箇所の「○」と「×」とにより操作が許可されているかどうかを判断する。
次に、機器(実行装置200)が、判定結果からアクセスが許可された場合に操作を実行する。
以上により、アクセス制御を実現する。
なお、機器(実行装置200)の保持するアクセス制御マトリクス(権限対応データ)は、機器(実行装置200)ごとに異なるものを保持させてもよいし、同じものを保持させてもよい。
また、機器(実行装置200)が暗号鍵生成部による生成する暗号鍵と復号鍵とは、共通鍵暗号方式に基づいて同じ鍵を利用する構成としてもよいし、非対称な暗号方式に基づいて異なる鍵を利用する構成としてもよい。
また、ユーザ公開鍵のかわりにPKIにおける公開鍵証明書を利用し、署名検証情報に公開鍵証明書を発行した認証局の公開鍵証明書を利用する構成としてもよい。
以上説明したアクセス制御システム800によれば、IDベース暗号方式を用いてアクセス制御を行う場合に、ロールベースのアクセス制御方式におけるアクセス制御マトリクスを各アクセス先に対して共通としつつ、複数のアクセス先に対して個別のアクセス権の有無を判断できる。
また、IDベース暗号方式を用いてアクセス制御を行う場合に、予め全てのアクセス先に対するアクセス権の有無を発行センタ(鍵生成装置400)に対して送信し、各々に対応する秘密鍵を取得し、これら全ての秘密鍵を安全に保管し続ける必要がない。
また、IDベース暗号方式を用いてアクセス制御を行う場合に、アクセス権の失効を迅速に反映できる。
以上説明したアクセス制御システム800によれば、機器(実行装置200)が、ロールベースのアクセス制御方式におけるロール(役割)を元にID情報(利用者識別データ)を生成するID情報生成部(識別生成部123)を備え、機器(実行装置200)が、ユーザが操作情報(操作要求メッセージ)を暗号化する暗号鍵(共通鍵)をID情報(利用者識別データ)により暗号化して暗号済暗号鍵(暗号化通信鍵)を得るIDベース暗号部(通信鍵暗号化部133)を備え、ユーザ装置(利用者端末装置300)が、ID情報(利用者識別データ)により暗号化された暗号済暗号鍵(暗号化通信鍵)をIDベース暗号の秘密鍵により復号して暗号鍵(共通鍵)を得るIDベース復号部(通信鍵復号部371)を備え、サーバ(鍵生成装置400)が、ID情報(利用者識別データ)に対応する秘密鍵を生成するIDベース秘密鍵生成部(秘密鍵生成部441)を備えているので、IDベース暗号方式を用いてアクセス制御を行う場合に、ロールベースのアクセス制御方式におけるアクセス制御マトリクス(権限対応データ)を各アクセス先(実行装置200)に対して共通としつつ、複数のアクセス先に対して個別のアクセス権の有無を判断できるという効果を奏する。
以上説明したアクセス制御システム800によれば、サーバ(鍵生成装置400)が、ID情報(利用者識別データ)に対応する秘密鍵を生成するIDベース秘密鍵生成部(秘密鍵生成部441)を備えたことにより、IDベース暗号方式を用いてアクセス制御を行う場合に、予め全てのアクセス先に対するアクセス権の有無を発行センタに対して送信し、各々に対応する秘密鍵を取得し、これら全ての秘密鍵を安全に保管し続ける必要がないという効果を奏する。
以上説明したアクセス制御システム800によれば、サーバ(鍵生成装置400)が、機器(実行装置200)の識別情報(対象識別データ)とユーザ情報(個別識別データ)とユーザの要求するロール情報(役割データ)とをもとに、認証情報(役割対応データ)を参照してアクセス権の有無を認証するアクセス権認証部(権限判定部434)を備え、サーバ(鍵生成装置400)が、ID情報(利用者識別データ)に対応する秘密鍵を生成するIDベース秘密鍵生成部(秘密鍵生成部441)を備えたことにより、IDベース暗号方式を用いてアクセス制御を行う場合に、アクセス権の有無が認証情報(役割対応データ)に反映されており、アクセス権が有る場合のみID情報に対応する秘密鍵を生成するため、アクセス権の失効を迅速に反映できるという効果を奏する。
なお、機器(実行装置200)が判定結果を下したのち、鍵更新のために、機器(実行装置200)において、新たに暗号鍵生成部(通信鍵生成部131)が暗号鍵を生成し、前回と同じID情報(利用者識別データ)を使用してIDベース暗号部(通信鍵暗号化部133)が暗号済暗号鍵(暗号化通信鍵)を生成し、権限確認情報としてユーザ機器(利用者端末装置300)に送信する構成としてもよい。その場合、ユーザ機器(利用者端末装置300)は、同じID情報(利用者識別データ)に対応するIDベース秘密鍵を再利用し、IDベース復号部(秘密鍵復号部362)で暗号鍵(共通鍵)を復号し、操作情報(操作要求メッセージ)を暗号鍵(共通鍵)で暗号化して機器(実行装置200)に送る。
これにより、機器(実行装置200)がアクセス権を有効と取り扱う間は、同一のID情報(利用者識別データ)を利用して、操作情報(操作要求メッセージ)を暗号化するための暗号鍵(共通鍵)の更新をすることができる。
一般に、客体(オブジェクト、対象装置210)の有する機能や情報などの資産へアクセスする主体(サブジェクト、利用者端末装置300)に対して、客体(オブジェクト)がアクセスの可否を制御するため、アクセス制御という技術が用いられる。アクセス制御の1つの実現方式となるロールベースのアクセス制御方式では、アクセス制御マトリクスにより、主体(サブジェクト)に割り当てる役割(ロール)とアクセスの可否が管理される。また、認証により、主体(サブジェクト)が正しく役割を与えられていることを証明する必要がある。このため、客体(オブジェクト)は主体(サブジェクト)を認証する為の認証情報(役割対応データ)と、アクセス制御マトリクス(権限対応データ)とを保持する必要がある。
以上説明したアクセス制御システム800によれば、IDベース暗号方式を用いることにより、主体(サブジェクト)のアクセス権の有無をID情報(利用者識別データ)から判定することが可能となり、客体(オブジェクト)は、事前に認証情報(役割対応データ)を設定し保持する必要がない。
すなわち、実行装置200が公開鍵証明書などの認証情報を保持したり検証したりする必要がなく、利用者の操作権限が変化した場合であっても、実行装置200に設定されたデータを変更する必要がない。このため、操作権限の変更に柔軟に対応することができる。
実施の形態2.
実施の形態2について、図9〜図11を用いて説明する。
なお、実施の形態1で説明したアクセス制御システム800と共通する部分については、同一の符号を付し、説明を省略する。
図9は、この実施の形態における利用者端末装置300の機能ブロックの構成の一例を示すブロック構成図である。
利用者端末装置300は、実施の形態1で説明した機能ブロックに加えて、更に、要求利用者識別送信部384を有する。
要求利用者識別送信部384は、CPU911を用いて、暗号化操作要求送信部383が暗号化操作要求を送信するとき、端末利用者識別記憶部341が記憶した利用者識別データを入力する。
要求利用者識別送信部384は、通信装置915を用いて、実行装置200に対して、暗号化操作要求送信部383が送信する暗号化操作要求とともに、入力した利用者識別データを送信する。
図10は、この実施の形態における実行装置200の機能ブロックの構成の一例を示すブロック構成図である。
権限検証装置100は、実施の形態1で説明した機能ブロックに加えて、更に、発行時刻取得部125、識別受信部153、要求時刻取得部154、通信鍵削除部155、通信鍵選択部156を有する。
発行時刻取得部125は、CPU911を用いて、権限要求受信部111が権限要求メッセージを受信した場合に、現在時刻を取得する。発行時刻取得部125は、CPU911を用いて、取得した現在時刻(以下「発行時刻」と呼ぶ。)を表わすデータ(以下「発行時刻データ」と呼ぶ。)を出力する。
識別生成部123は、CPU911を用いて、役割取得部121が出力した役割データと、乱数生成部122が出力した乱数と、発行時刻取得部125が出力した発行時刻データとを入力する。
識別生成部123は、CPU911を用いて、入力した役割データと乱数と発行時刻データとに基づいて、利用者識別データを生成する。例えば、識別生成部123は、CPU911を用いて、実行装置200自身を識別する対象識別データと、入力した役割データと、入力した乱数を表わす文字列データと、入力した発行時刻データとを結合して、結合したデータを利用者識別データとする。
識別生成部123は、CPU911を用いて、生成した利用者識別データを出力する。
通信鍵記憶部132は、CPU911を用いて、識別生成部123が出力した利用者識別データと、通信鍵生成部131が出力した共通鍵とを入力する。
通信鍵記憶部132は、磁気ディスク装置920を用いて、入力した共通鍵を、入力した利用者識別データと対応づけて記憶する。通信鍵記憶部132は、既に記憶している共通鍵がある場合、既に記憶している共通鍵に加えて、入力した共通鍵を記憶し、複数の共通鍵を記憶する。
識別受信部153は、通信装置915を用いて、利用者端末装置300が暗号化操作要求とともに送信した利用者識別データを受信する。識別受信部153は、CPU911を用いて、受信した利用者識別データを出力する。
要求時刻取得部154は、CPU911を用いて、暗号化操作要求受信部151が暗号化操作要求を受信した場合に、現在時刻を取得する。要求時刻取得部154は、CPU911を用いて、取得した現在時刻(以下「要求時刻」と呼ぶ。)を表わすデータ(以下「要求時刻データ」と呼ぶ。)を出力する。
通信鍵削除部155は、CPU911を用いて、識別受信部153が出力した利用者識別データと、要求時刻取得部154が出力した要求時刻データとを入力する。
通信鍵削除部155は、CPU911を用いて、入力した利用者識別データから、発行時刻データを取得する。例えば、通信鍵削除部155は、CPU911を用いて、発行時刻データを含む利用者識別データから、発行時刻データを抜き出すことにより、発行時刻データを取得する。
通信鍵削除部155は、CPU911を用いて、取得した発行時刻データが表わす発行時刻と、入力した要求時刻データが表わす要求時刻とを比較して、利用者識別データの有効期限が切れていないかを判定する。
例えば、利用者識別データの有効期限を「1日」とする場合、通信鍵削除部155は、CPU911を用いて、発行時刻の日付と要求時刻の日付とを比較して、日付が同じなら有効期限内、日付が異なれば有効期限切れと判定する。あるいは、利用者識別データの有効期限を「10分」とする場合、通信鍵削除部155は、CPU911を用いて、発行時刻の10分後の時刻を計算し、計算した時刻(以下「有効期限時刻」と呼ぶ。)と要求時刻とを比較して、要求時刻が有効期限時刻より前であれば有効期限内、要求時刻が有効期限時刻より後であれば有効期限切れと判定する。
なお、識別生成部123が、発行時刻データを含む利用者識別データを生成するのではなく、CPU911を用いて、発行時刻データが表わす発行時刻から有効期限時刻を計算して、計算した有効期限時刻を表わすデータ(以下「有効期限時刻データ」と呼ぶ。)を含む利用者識別データを生成する構成としてもよい。その場合、通信鍵削除部155は、CPU911を用いて、利用者識別データから、有効期限時刻データを取得し、取得した有効期限時刻データが表わす有効期限時刻と、要求時刻とを比較して、有効期限が切れていないかを判定する。このように構成すれば、利用者識別データごとに異なる有効期限を設定することもできる。
有効期限切れと判定した場合、通信鍵削除部155は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、入力した利用者識別データに対応づけられた共通鍵を削除する。
なお、通信鍵削除部155は、暗号化操作要求受信部151が暗号化操作要求を受信したときだけでなく、定期的に、あるいは、通信鍵記憶部132が記憶した共通鍵の数が所定の数を上回った場合、もしくは、実行装置200のCPU911の処理能力に余裕がある場合などに、通信鍵記憶部132が記憶した共通鍵が対応づけられた利用者識別データの有効期限を判定し、通信鍵記憶部132が記憶した共通鍵のなかから、有効期限切れと判定した利用者識別データに対応づけられた共通鍵を削除する構成としてもよい。
通信鍵選択部156は、CPU911を用いて、識別受信部153が出力した利用者識別データを入力する。
通信鍵選択部156は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、入力した利用者識別データに対応づけられた共通鍵を選択し、選択した共通鍵を取得する。
通信鍵選択部156は、CPU911を用いて、取得した共通鍵を出力する。
操作要求復号部152は、CPU911を用いて、暗号化操作要求受信部151が出力した暗号化操作要求と、通信鍵選択部156が出力した共通鍵とを入力する。
操作要求復号部152は、CPU911を用いて、共通鍵暗号方式により、入力した共通鍵を復号鍵として使用して、入力した暗号化操作要求を復号する。
操作要求復号部152は、CPU911を用いて、復号した復号操作要求を出力する。
入力した利用者識別データに対応づけられた共通鍵を通信鍵記憶部132が記憶していない場合、通信鍵選択部156は、共通鍵を取得せず、操作要求復号部152は、暗号化操作要求を復号しない。例えば、有効期限切れにより通信鍵削除部155が共通鍵を削除した場合や、通信の途中で利用者識別データが改竄されたり、第三者が実行装置200を攻撃するために実行装置200に対して不正なデータを送信したりしたことにより、識別送信部141が送信した利用者識別データと異なる利用者識別データを識別受信部153が受信した場合、操作要求復号部152は、暗号化操作要求を復号しない。
図11は、この実施の形態における権限検証装置100が暗号化操作要求を検証する操作要求検証処理S660の流れの一例を示すフローチャート図である。
暗号化操作要求受信工程S661において、暗号化操作要求受信部151は、通信装置915を用いて、利用者端末装置300が送信した暗号化操作要求を受信する。
識別受信工程S662において、識別受信部153は、通信装置915を用いて、利用者端末装置300が送信した利用者識別データを受信する。
有効期限判定工程S663において、要求時刻取得部154は、CPU911を用いて、要求時刻を取得する。通信鍵削除部155は、CPU911を用いて、識別受信工程S662で識別受信部153が受信した利用者識別データに基づいて、発行時刻データを取得する。通信鍵削除部155は、CPU911を用いて、取得した発行時刻データが表わす発行時刻と、要求時刻取得部154が取得した要求時刻とに基づいて、有効期限内か否かを判定する。
有効期限内であると通信鍵削除部155が判定した場合、権限検証装置100は、通信鍵選択工程S664へ進む。
有効期限切れであると通信鍵削除部155が判定した場合、権限検証装置100は、通信鍵削除工程S668へ進む。
通信鍵選択工程S664において、通信鍵選択部156は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、識別受信工程S662で識別受信部153が受信した利用者識別データに対応づけられた共通鍵を選択する。
通信鍵記憶部132が記憶した共通鍵のなかに、その利用者識別データに対応づけられた共通鍵がない場合、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670を実行しない。
通信鍵記憶部132が記憶した共通鍵のなかから、その利用者識別データに対応づけられた共通鍵を通信鍵選択部156が選択した場合、権限検証装置100は、操作要求復号工程S665へ進む。
操作要求復号工程S665において、操作要求復号部152は、CPU911を用いて、共通鍵暗号方式により、通信鍵選択工程S664で通信鍵選択部156が選択した共通鍵を復号鍵として使用して、暗号化操作要求受信工程S661で暗号化操作要求受信部151が受信した暗号化操作要求を復号する。
操作要求検証工程S666において、操作要求検証部162は、CPU911を用いて、操作要求復号工程S665で操作要求復号部152が復号した復号操作要求を検証する。
検証の結果、利用者に操作権限があると操作要求検証部162が判定した場合、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670へ進む。
検証の結果、利用者に操作権限がないと操作要求検証部162が判定した場合、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670を実行しない。
通信鍵削除工程S668において、通信鍵削除部155は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、識別受信工程S662で識別受信部153が受信した利用者識別データに対応づけられた共通鍵を削除する。
その後、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670を実行しない。
この実施の形態における権限検証装置100は、更に、データを記憶する記憶装置(磁気ディスク装置920)と、通信鍵記憶部132と、識別受信部153と、通信鍵選択部156とを有する。
上記通信鍵記憶部132は、上記記憶装置(磁気ディスク装置920)を用いて、上記識別取得部(識別生成部123)が取得した利用者識別データに対応づけて、上記通信鍵生成部131が生成した復号鍵(共通鍵)を記憶する。
上記識別受信部153は、上記受信装置(通信装置915)を用いて、上記暗号化操作要求とともに上記利用者端末装置300が送信した利用者識別データを受信する。
上記通信鍵選択部156は、上記処理装置(CPU911)を用いて、上記通信鍵記憶部132が記憶した復号鍵(共通鍵)のなかから、上記識別受信部153が受信した利用者識別データに対応づけられた復号鍵(共通鍵)を選択する。
上記操作要求復号部152は、上記処理装置(CPU911)を用いて、上記通信鍵選択部156が選択した復号鍵(共通鍵)を使用して、上記暗号化操作要求受信部151が受信した暗号化操作要求を復号して、復号操作要求とする。
この実施の形態における権限検証装置100によれば、通信鍵生成部131が生成した復号鍵(共通鍵)を、識別取得部(識別生成部123)が取得した利用者識別データと対応づけて、通信鍵記憶部132が記憶し、識別受信部153が受信した利用者識別データと対応づけられた復号鍵(共通鍵)を通信鍵選択部156が選択するので、複数の復号鍵(共通鍵)を、利用者識別データごとに使い分けることができ、複数の利用者による操作を並列的に受け付けることができる。
この実施の形態における権限検証装置100は、更に、通信鍵削除部155を有する。
上記通信鍵削除部155は、上記処理装置(CPU911)を用いて、上記通信鍵記憶部132が記憶した復号鍵(共通鍵)が有効か無効かを判定し、上記通信鍵記憶部132が記憶した復号鍵(共通鍵)のなかから、無効であると判定した復号鍵(共通鍵)を削除する。
この実施の形態における権限検証装置100によれば、通信鍵記憶部132が記憶した復号鍵(共通鍵)が有効か無効かを通信鍵削除部155が判定し、無効であると判定した復号鍵(共通鍵)を削除するので、無効な復号鍵(共通鍵)が使用されるのを防ぐことができる。
この実施の形態における権限検証装置100は、更に、現在時刻取得部(発行時刻取得部125)を有する。
上記現在時刻取得部(発行時刻取得部125)は、上記処理装置(CPU911)を用いて、現在時刻(発行時刻)を表わす現在時刻データ(発行時刻データ)を取得する。
上記識別取得部(識別生成部123)は、上記処理装置(CPU911)を用いて、上記現在時刻取得部(発行時刻取得部125)が取得した現在時刻データ(発行時刻データ)に基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
この実施の形態における権限検証装置100によれば、現在時刻取得部(発行時刻取得部125)が取得した現在時刻データ(発行時刻データ)に基づいて、識別取得部(識別生成部123)が利用者識別データを生成するので、利用者識別データの重複を避けることができる。
この実施の形態における権限検証装置100は、更に、発行時刻取得部125と、要求時刻取得部154と、有効期限判定部(通信鍵削除部155)とを有する。
上記発行時刻取得部125は、上記処理装置(CPU911)を用いて、上記識別取得部(識別生成部123)が利用者識別データを取得した時刻(発行時刻)を表わす発行時刻データを取得する。
上記要求時刻取得部154は、上記処理装置(CPU911)を用いて、上記暗号化操作要求受信部151が暗号化操作要求を受信した時刻(要求時刻)を表わす要求時刻データを取得する。
上記有効期限判定部(通信鍵削除部155)は、上記処理装置(CPU911)を用いて、上記発行時刻取得部125が取得した発行時刻データと、上記要求時刻取得部154が取得した要求時刻データとに基づいて、有効期限内か否かを判定する。
上記操作要求復号部152は、上記処理装置(CPU911)を用いて、上記有効期限判定部(通信鍵削除部155)が有効期限内であると判定した場合に、上記通信鍵生成部131が生成した復号鍵を使用して、上記暗号化操作要求受信部151が受信した暗号化操作要求を復号して、復号操作要求とする。
この実施の形態における権限検証装置100によれば、発行時刻取得部125が取得した発行時刻データと、要求時刻取得部154が取得した要求時刻データとに基づいて、有効期限判定部(通信鍵削除部155)が有効期限内か否かを判定するので、復号鍵(共通鍵)に有効期限を設けることができ、有効期限内であれば、利用者端末装置300は、同じ暗号化鍵を流用して複数回の操作をすることができ、鍵生成装置400と通信してIDベース暗号方式における秘密鍵を取得する必要がないので、アクセス制御システム800における通信量を減らすことができる。また、復号鍵(共通鍵)の有効期限が切れた場合には、復号鍵(共通鍵)を失効させるので、操作権限に変更があった場合などにおいて、操作権限のない利用者が対象装置210を操作するのを防ぐことができる。
この実施の形態における権限検証装置100は、更に、識別受信部153を有する。
上記識別取得部(識別生成部123)は、上記処理装置(CPU911)を用いて、上記発行時刻取得部125が取得した発行時刻データに基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
上記識別受信部153は、上記受信装置(通信装置915)を用いて、上記暗号化操作要求とともに上記利用者端末装置300が送信した利用者識別データを受信する。
上記有効期限判定部(通信鍵削除部155)は、上記処理装置(CPU911)を用いて、上記識別受信部153が受信した利用者識別データに基づいて、発行時刻データを取得し、取得した発行時刻データと、上記要求時刻取得部154が取得した要求時刻データとに基づいて、有効期限内か否かを判定する。
この実施の形態における権限検証装置100によれば、発行時刻取得部125が取得した発行時刻データに基づいて識別取得部(識別生成部123)が利用者識別データを生成するので、利用者識別データ自体を調べることにより、利用者識別データの発行時刻を知ることができ、有効期限の管理が容易になる。
以上説明した実行装置200(機器)は、
ロール情報(役割データ)を受信するロール要求受信部(権限要求受信部111)と、
乱数を生成する乱数生成部122と、
日時(発行時刻)を取得する日時取得部(発行時刻取得部125)と、
機器(実行装置200)を識別する識別情報(対象識別データ)と、ロール情報(役割データ)と、乱数と、日時(発行時刻)とからID情報(利用者識別データ)を生成するID情報生成部(識別生成部123)と、
暗号鍵(共通鍵)と復号鍵(共通鍵)とを生成する暗号鍵生成部(通信鍵生成部131)と、
日時(発行時刻)と、日時取得部(要求時刻取得部154)から取得した現在の日時(要求時刻)とをもとに復号鍵(共通鍵)を消去する復号鍵消去部(通信鍵削除部155)と、
暗号鍵(共通鍵)からID情報(利用者識別データ)により暗号済暗号鍵(暗号化通信鍵)を生成するIDベース暗号部(通信鍵暗号化部133)と、
ID情報(利用者識別データ)と、暗号済暗号鍵(暗号化暗号鍵)とをあわせて権限確認情報として送信する権限確認送信部(識別送信部141・暗号化通信鍵送信部142)と、
暗号済操作情報(暗号化操作要求)を受信する操作要求受信部(暗号化操作要求受信部151)と、
暗号済操作情報から復号鍵(共通鍵)により操作情報(操作要求メッセージ)を復号する復号部(操作要求復号部152)と、
正しく復号された操作情報(操作要求メッセージ)と、ロール情報(役割データ)とをもとに、アクセス制御マトリクス(権限対応データ)にしたがい、役割(ロール)として操作が許可されているかどうかの判定結果を生成するアクセス制御部(操作要求検証部162)とを有し、
判定結果からアクセスが許可された場合に操作を実行する。
以上説明したアクセス制御システム800の動作を要約して説明する。
まず事前に、ユーザ装置(利用者端末装置300)は、公開鍵暗号方式におけるユーザ秘密鍵とユーザ公開鍵とを保持する。機器(実行装置200)は、他の機器(実行装置200)と識別可能とする為の識別情報(対象識別データ)と、役割(ロール)と許可される操作の関係を示すアクセス制御マトリクス(権限対応データ)とを保持する。サーバ(鍵生成装置400)は、署名情報(署名データ)を検証する為の署名検証情報(公開鍵証明書)と、ユーザ情報(個別識別データ)とロール情報(役割データ)と識別情報(対象識別データ)とに対応するアクセス権の有無を示す認証情報(役割対応データ)とを保持する。以上で、準備が完了する。
そして、ユーザ装置(利用者端末装置300)が処理を始める。
ユーザが機器を操作する役割(ロール)を決定し、ロール要求送信部(権限要求送信部322)が、ロール情報(役割データ)を機器(実行装置200)へ送信する。
そして、機器(実行装置200)が処理を始める。
ロール要求受信部(権限要求受信部111)が、ユーザ装置(利用者端末装置300)からロール情報(役割データ)を受信する。次に、乱数生成部122が、乱数を生成する。次に、日時取得部(発行時刻取得部125)が、日時(発行時刻)を取得する。次に、ID情報生成部(識別生成部123)が、機器を識別する識別情報(対象識別データ)と、ロール情報(役割データ)と、乱数と、日時(発行時刻)とからID情報(利用者識別データ)を生成する。次に、暗号鍵生成部(通信鍵生成部131)が、暗号鍵(共通鍵)と復号鍵(共通鍵)とを生成する。次に、IDベース暗号部(通信鍵暗号化部133)が、IDベース暗号の暗号化の対象となる暗号鍵(共通鍵)からID情報(利用者識別データ)により暗号済暗号鍵(暗号化通信鍵)を生成する。次に、権限確認送信部(識別送信部141・暗号化通信鍵送信部142)が、ID情報(利用者識別データ)と暗号済暗号鍵(暗号化通信鍵)とをあわせて権限確認情報としてユーザ装置(利用者端末装置300)へ送信する。
そして、ユーザ機器(利用者端末装置300)が処理を始める。
権限確認受信部(端末利用者識別受信部331・暗号化通信鍵受信部332)が、機器(実行装置200)から権限確認情報(利用者識別データ及び暗号化通信鍵)を受信する。次に、署名部(署名生成部343)が、権限確認情報に含まれるID情報(利用者識別データ)からユーザ秘密鍵(公開鍵暗号方式における秘密鍵)により署名情報(署名データ)を生成する。次に、発行要求送信部(端末利用者識別送信部351・署名送信部352)が、ユーザ公開鍵を含むユーザ情報(個別識別データ)と、ID情報(利用者識別データ)と、署名情報(署名データ)とをあわせて発行要求としてサーバ(鍵生成装置400)に送信する。
そして、サーバ(鍵生成装置400)が処理を始める。
発行要求受信部(生成利用者識別受信部411・署名受信部412)が、ユーザ装置(利用者端末装置300)から発行要求を受信する。次に、署名検証部423が、発行要求に含まれる署名情報(署名データ)を署名検証情報(公開鍵証明書)により検証して検証結果を生成する。
なお、署名検証部423は、署名検証情報として、予め安全な方法により、ユーザ装置(利用者端末装置300)からサーバ(鍵生成装置400)に渡されたユーザ公開鍵を利用する構成としてもよい。
また、予めサーバ(鍵生成装置400)がユーザの秘密鍵とユーザの公開鍵を生成し、安全な方法により、サーバ(鍵生成装置400)からユーザ装置(利用者端末装置300)にユーザの秘密鍵とユーザの公開鍵を渡しておく構成としてもよい。
また、予めユーザ公開鍵に対してPKIの認証局が公開鍵証明書を発行し、サーバ(鍵生成装置400)は、認証局の公開鍵証明書を署名検証情報として利用する構成としてもよい。
次に、アクセス権認証部(権限判定部434)が、検証結果が正しい場合に、発行要求に含まれるID情報に含まれるロール情報(役割データ)と、発行要求に含まれるID情報に含まれる識別情報(対象識別データ)と、発行要求に含まれるユーザ情報(個別識別データ)とをもとに、認証情報(役割対応データ)にしたがい、ユーザの機器(実行装置200)に対する役割(ロール)としてのアクセス権の有無を認証結果として生成する。
例えば、権限判定部434は、まずユーザ情報(個別識別データ)をもとに識別情報(対象識別データ)とロール情報(役割データ)との関係を表す表を特定し、識別情報とロール情報から、表の該当する箇所の「○」と「×」とによりアクセス権の有無を判断する。
次に、IDベース秘密鍵生成部(秘密鍵生成部441)が、認証結果からアクセス権が有ると認証された場合に、ID情報(利用者識別データ)からIDベース秘密鍵を生成する。次に、秘密鍵暗号部(秘密鍵暗号化部442)が、IDベース秘密鍵からユーザ情報(個別識別データ)に含まれるユーザ公開鍵により暗号済秘密鍵(暗号化秘密鍵)を生成する。次に、秘密鍵送信部(暗号化秘密鍵送信部451)が、暗号済秘密鍵(暗号化秘密鍵)をユーザ装置(利用者端末装置300)に送信する。
そして、ユーザ装置(利用者端末装置300)が処理を始める。
秘密鍵受信部(暗号化秘密鍵受信部361)が、暗号済秘密鍵(暗号化秘密鍵)を受信する。次に、秘密鍵復号部362が、暗号済秘密鍵(暗号化秘密鍵)からユーザ秘密鍵によりIDベース秘密鍵を復号する。次に、IDベース復号部(通信鍵復号部371)が、権限確認情報に含まれる暗号済暗号鍵(暗号化通信鍵)からIDベース秘密鍵により暗号鍵(共通鍵)を復号する。次に、暗号部(操作要求暗号化部382)が、機器(実行装置200)に対する操作情報(操作要求メッセージ)から暗号鍵(共通鍵)により暗号済操作情報(暗号化操作要求)を生成する。次に、操作要求送信部(暗号化操作要求送信部383)が、暗号済操作情報(暗号化操作要求)を機器(実行装置200)に送信する。
そして、機器(実行装置200)が処理を始める。
操作要求受信部(暗号化操作要求受信部151)が、暗号済操作情報(暗号化操作要求)を受信する。次に、復号鍵消去部(通信鍵削除部155)が、日時(発行時刻)と、日時取得部(要求時刻取得部154)が取得した現在の日時(要求時刻)とをもとに、日時の経過からアクセス権の失効の即時性が損なわれていないかどうかを確認し、即時性が損なわれた場合に復号鍵(共通鍵)を消去し、以後の処理を中断する。
次に、復号部(操作要求復号部152)が、暗号済操作情報(暗号化操作要求)から復号鍵(共通鍵)により操作情報(操作要求メッセージ)を復号する。次に、復号部(操作要求復号部152)が操作情報(操作要求メッセージ)を正しく復号した場合に、操作要求検証部162が、正しく復号された操作情報(操作要求メッセージ)と、ロール情報(役割データ)とをもとに、アクセス制御マトリクス(権限対応データ9にしたがい、役割(ロール)として操作が許可されているかどうかの判定結果を生成する。
例えば、操作要求検証部162は、操作(操作内容データ)とロール情報(役割データ)とから、表の該当する箇所の「○」と「×」とにより操作が許可されているかどうかを判断する。
次に、機器(実行装置200)が、判定結果からアクセスが許可された場合に操作を実行する。
以上により、アクセス制御を実現する。
以上説明したアクセス制御システム800によれば、ID情報(利用者識別データ)に日時(発行時刻)を含めるので、過去のID(利用者識別データ)との重複を避けることができる。また、復号鍵消去部(通信鍵削除部155)が、日時(発行時刻)と、日時取得部(要求時刻取得部154)が取得した現在の日時(要求時刻)とをもとに、日時の経過からアクセス権の失効の即時性が損なわれていないかどうかを確認し、即時性が損なわれた場合に復号鍵を消去し以後の処理を中断するので、ユーザによる過去の復号鍵(共通鍵)の利用を防止できる。
実施の形態3.
実施の形態3について、図12〜図13を用いて説明する。
なお、実施の形態1または実施の形態2で説明したアクセス制御システム800と共通する部分については、同一の符号を付し、説明を省略する。
図12は、この実施の形態における実行装置200の機能ブロックの構成の一例を示すブロック構成図である。
権限検証装置100は、実施の形態1で説明した機能ブロックに加えて、更に、識別受信部153、通信鍵削除部155、通信鍵選択部156、操作回数記憶部157、操作回数計数部158を有する。
なお、権限検証装置100は、更に、実施の形態2で説明した発行時刻取得部125、要求時刻取得部154を有していてもよい。
操作回数記憶部157は、磁気ディスク装置920を用いて、利用者識別データと対応づけて、その利用者識別データによる操作が行われた回数を表わすデータ(以下「操作回数データ」と呼ぶ。)を記憶する。
操作回数計数部158は、CPU911を用いて、識別受信部153が出力した利用者識別データと、操作要求検証部162が出力した復号操作要求とを入力する。
操作回数計数部158は、CPU911を用いて、操作要求検証部162が復号操作要求を出力した場合に、操作回数記憶部157が記憶した操作回数データのなかから、入力した利用者識別データに対応づけられた操作回数データを取得する。操作回数記憶部157が記憶した操作回数データのなかに、入力した利用者識別データに対応づけられた操作回数データがない場合、操作回数計数部158は、CPU911を用いて、操作回数0回を表わす操作回数データを取得する。
操作回数計数部158は、CPU911を用いて、入力した操作回数データが表わす操作回数に1を加える。
操作回数計数部158は、CPU911を用いて、入力した利用者識別データと、加算した操作回数を表わす操作回数データとを出力する。
操作回数計数部158は、CPU911を用いて、加算した操作回数を、所定の最大操作回数と比較して、操作回数が最大操作回数未満であるか最大操作回数以上であるかを判定する。
操作回数計数部158は、CPU911を用いて、判定結果を表わすデータを出力する。
操作回数記憶部157は、CPU911を用いて、操作回数計数部158が出力した利用者識別データと操作回数データとを入力する。
操作回数記憶部157は、磁気ディスク装置920を用いて、入力した利用者識別データと対応づけて、入力した操作回数データを記憶する。
通信鍵削除部155は、CPU911を用いて、操作回数計数部158が出力した利用者識別データと、判定結果を表わすデータとを入力する。通信鍵削除部155は、CPU911を用いて、入力したデータが表わす判定結果に基づいて、操作回数が最大操作回数以上であると操作回数計数部158が判定した場合に、通信鍵記憶部132が記憶した共通鍵のなかから、入力した利用者識別データに対応づけられた共通鍵を削除する。
図13は、この実施の形態における権限検証装置100が暗号化操作要求を検証する操作要求検証処理S660の流れの一例を示すフローチャート図である。
暗号化操作要求受信工程S661において、暗号化操作要求受信部151は、通信装置915を用いて、利用者端末装置300が送信した暗号化操作要求を受信する。
識別受信工程S662において、識別受信部153は、通信装置915を用いて、利用者端末装置300が送信した利用者識別データを受信する。
通信鍵選択工程S664において、通信鍵選択部156は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、識別受信工程S662で識別受信部153が受信した利用者識別データに対応づけられた共通鍵を選択する。
通信鍵記憶部132が記憶した共通鍵のなかに、その利用者識別データに対応づけられた共通鍵がない場合、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670を実行しない。
通信鍵記憶部132が記憶した共通鍵のなかから、その利用者識別データに対応づけられた共通鍵を通信鍵選択部156が選択した場合、権限検証装置100は、操作要求復号工程S665へ進む。
操作要求復号工程S665において、操作要求復号部152は、CPU911を用いて、共通鍵暗号方式により、通信鍵選択工程S664で通信鍵選択部156が選択した共通鍵を復号鍵として使用して、暗号化操作要求受信工程S661で暗号化操作要求受信部151が受信した暗号化操作要求を復号する。
操作要求検証工程S666において、操作要求検証部162は、CPU911を用いて、操作要求復号工程S665で操作要求復号部152が復号した復号操作要求を検証する。
検証の結果、利用者に操作権限があると操作要求検証部162が判定した場合、権限検証装置100は、操作回数計数工程S667へ進む。
検証の結果、利用者に操作権限がないと操作要求検証部162が判定した場合、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670を実行しない。
操作回数計数工程S667において、操作回数計数部158は、CPU911を用いて、操作回数記憶部157が記憶した操作回数データのうち、識別受信工程S662で識別受信部153が受信した利用者識別データに対応づけられた操作回数データが表わす操作回数に1を加える。操作回数記憶部157は、磁気ディスク装置920を用いて、操作回数計数部158が1を加えた操作回数を表わす操作回数データを、識別受信工程S662で識別受信部153が受信した利用者識別データに対応づけて記憶する。
1を加えた操作回数が最大操作回数以上である場合、権限検証装置100は、通信鍵削除工程S668へ進む。
1を加えた操作回数が最大操作回数未満である場合、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670へ進む。
通信鍵削除工程S668において、通信鍵削除部155は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、識別受信工程S662で識別受信部153が受信した利用者識別データに対応づけられた共通鍵を削除する。
その後、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670へ進む。
これにより、操作回数が最大操作回数に達すると、実行装置200は、今回の操作に基づく処理を実行するが、通信鍵記憶部132が記憶した共通鍵を通信鍵削除部155が削除するので、次回は、操作要求復号部152が暗号化操作要求を復号せず、実行装置200は、処理を実行しない。
この実施の形態における権限検証装置100は、更に、操作回数計数部158を有する。
上記操作回数計数部158は、上記処理装置(CPU911)を用いて、上記操作要求検証部162が操作権限ありと判定した回数を計数して、操作回数とする。
上記操作要求復号部152は、上記処理装置(CPU911)を用いて、上記操作回数計数部158が計数した操作回数が所定の最大操作回数未満である場合に、上記通信鍵生成部131が生成した復号鍵(共通鍵)を使用して、上記暗号化操作要求受信部151が受信した暗号化操作要求を復号して、復号操作要求とする。
この実施の形態における権限検証装置100によれば、操作権限ありと操作要求検証部162が判定した回数を操作回数計数部158が計数し、計数した操作回数が最大操作回数未満である場合に、次回の暗号化操作要求を操作要求復号部152が復号するので、最大操作回数以内であれば、利用者端末装置300は、同じ暗号化鍵(共通鍵)を流用して複数回の操作をすることができ、鍵生成装置400と通信してIDベース暗号方式における秘密鍵を取得する必要がないので、アクセス制御システム800における通信量を減らすことができる。また、最大操作回数の操作をした場合には、復号鍵(共通鍵)を失効させるので、操作権限に変更があった場合などにおいて、操作権限のない利用者が対象装置210を操作するのを防ぐことができる。
この実施の形態における権限検証装置100は、更に、識別受信部153と、通信鍵削除部155とを有する。
上記識別受信部153は、上記受信装置(通信装置915)を用いて、上記暗号化操作要求とともに上記利用者端末装置300が送信した利用者識別データを受信する。
上記操作回数計数部158は、上記処理装置(CPU911)を用いて、上記識別受信部153が受信した利用者識別データごとに、上記操作要求検証部162が操作権限ありと判定した回数を計数して、上記利用者識別データについての操作回数とする。
上記通信鍵削除部155は、上記処理装置(CPU911)を用いて、上記操作回数計数部158が計数した操作回数が所定の最大操作回数以上である場合に、上記通信鍵記憶部132が記憶した復号鍵(共通鍵)のなかから、上記識別受信部153が受信した利用者識別データに対応づけられた復号鍵(共通鍵)を削除する。
この実施の形態における権限検証装置100によれば、操作権限ありと操作要求検証部162が判定した回数を操作回数計数部158が利用者識別データごとに計数し、計数した操作回数が最大操作回数以上である場合に、その利用者識別データに対応づけられた復号鍵(共通鍵)を通信鍵削除部155が通信鍵記憶部132から削除するので、その利用者識別データによる操作が最大操作回数に達した場合に、復号鍵(共通鍵)を失効させることができ、操作権限に変更があった場合などにおいて、操作権限のない利用者が対象装置210を操作するのを防ぐことができる。
実施の形態4.
実施の形態4について、図14〜図15を用いて説明する。
なお、実施の形態1乃至実施の形態3のいずれかで説明したアクセス制御システム800と共通する部分については、同一の符号を付し、説明を省略する。
図14は、この実施の形態における実行装置200の機能ブロックの構成の一例を示すブロック構成図である。
権限検証装置100は、実施の形態1で説明した機能ブロックに加えて、更に、識別受信部153、要求時刻取得部154、通信鍵削除部155、通信鍵選択部156、操作履歴記憶部164、操作人数算出部165、削除利用者特定部166を有する。
権限検証装置100は、更に、実施の形態2または実施の形態3で説明した発行時刻取得部125、操作回数記憶部157、操作回数計数部158などを有していてもよい。
操作履歴記憶部164は、CPU911を用いて、識別受信部153が出力した利用者識別データと、要求時刻取得部154が出力した要求時刻データと、操作要求検証部162が出力した復号操作要求とを入力する。
操作履歴記憶部164は、磁気ディスク装置920を用いて、操作要求検証部162が復号操作要求を出力した場合に、入力した利用者識別データに対応づけて、入力した要求時刻データを記憶する。例えば、操作履歴記憶部164は、磁気ディスク装置920を用いて、利用者識別データと、要求時刻データとを一組のデータ(レコード)とし、複数のレコードからなるデータを記憶する。操作履歴記憶部164は、CPU911を用いて、入力した利用者識別データと同一の利用者識別データを既に記憶しているか否かを判定し、既に記憶していると判定した場合、そのレコードの要求時刻データに上書きして、入力した要求時刻データを記憶する。また、記憶していないと判定した場合は、操作履歴記憶部164は、入力した利用者識別データと入力した要求時刻データとからなるレコードを新たに生成し、既に記憶しているレコードに追加して記憶する。
操作人数算出部165は、CPU911を用いて、操作履歴記憶部164が記憶した要求時刻データを入力する。
操作人数算出部165は、CPU911を用いて、入力した要求時刻データが対応づけられた利用者識別データの数(以下「操作人数」と呼ぶ。)を算出する。例えば、操作人数算出部165は、CPU911を用いて、入力した要求時刻データの数を計数し、計数した数を操作人数とする。
操作人数算出部165は、CPU911を用いて、算出した操作人数を表わすデータ(以下「操作人数データ」と呼ぶ。)を出力する。
削除利用者特定部166は、CPU911を用いて、操作人数算出部165が出力した操作人数データを入力する。
削除利用者特定部166は、CPU911を用いて、入力した操作人数データが表わす操作人数と、所定の最大操作人数とを比較して、操作人数が最大操作人数以下であるか最大操作人数超であるかを判定する。
削除利用者特定部166は、CPU911を用いて、操作人数が最大操作人数超であると判定した場合、操作履歴記憶部164が記憶した要求時刻データを入力する。
削除利用者特定部166は、CPU911を用いて、入力した要求時刻データのなかから、要求時刻データが表わす要求時刻が古い順に、所定の数の要求時刻データを選択する。
削除利用者特定部166は、CPU911を用いて、選択した要求時刻データに対応づけられた利用者識別データ(以下「削除識別データ」と呼ぶ。)を特定する。
削除利用者特定部166は、CPU911を用いて、特定した削除識別データを出力する。
通信鍵削除部155は、CPU911を用いて、削除利用者特定部166が出力した削除識別データを入力する。
通信鍵削除部155は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、入力した削除識別データに対応づけられた共通鍵を削除する。
図15は、この実施の形態における権限検証装置100が暗号化操作要求を検証する操作要求検証処理S660の流れの一例を示すフローチャート図である。
操作要求検証工程S666において、操作要求検証部162が、CPU911を用いて、操作要求復号工程S665で操作要求復号部152が復号した復号操作要求を検証した結果、利用者に操作権限があると判定した場合、権限検証装置100は、操作履歴記憶工程S691へ進む。
操作履歴記憶工程S691において、要求時刻取得部154は、CPU911を用いて、要求時刻を取得する。操作履歴記憶部164は、磁気ディスク装置920を用いて、識別受信工程S662で識別受信部153が受信した利用者識別データに対応づけて、要求時刻取得部154が取得した要求時刻を表わす要求時刻データを記憶する。
操作人数算出工程S692において、操作人数算出部165は、CPU911を用いて、操作履歴記憶部164が記憶した要求時刻データに基づいて、操作人数を算出する。削除利用者特定部166は、CPU911を用いて、操作人数算出部165が算出した操作人数と、最大操作人数とを比較する。
操作人数が最大操作人数以下であると削除利用者特定部166が判定した場合、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670へ進む。
操作人数が最大操作人数超であると削除利用者特定部166が判定した場合、権限検証装置100は、削除利用者特定工程S693へ進む。
削除利用者特定工程S693において、削除利用者特定部166は、CPU911を用いて、操作履歴記憶部164が記憶した要求時刻データに基づいて、削除識別データを特定する。
通信鍵削除工程S668において、通信鍵削除部155は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、削除利用者特定工程S693で削除利用者特定部166が特定した削除識別データに対応づけられた共通鍵を削除する。操作履歴記憶部164は、CPU911を用いて、記憶した要求時刻データのなかから、削除利用者特定工程S693で削除利用者特定部166が特定した削除識別データに対応づけられた要求時刻データを削除する。
その後、権限検証装置100は、操作要求検証処理S660を終了し、処理実行処理S670へ進む。
実行装置200に対する操作権限を与える利用者の人数があらかじめ定まっていて、新たな利用者に操作権限を与え、古い利用者の操作権限を停止する場合がある。操作権限を停止された利用者に対して既に発行済の利用者識別データがある場合、その利用者識別データに対応づけられた共通鍵を無効化し、実行装置200を操作できないようにする必要がある。
実施の形態2では有効期限、実施の形態3では最大操作回数を設け、それを超えた場合は、共通鍵を無効化し、新たな利用者識別データの発行を受けなければ、実行装置200を操作できないよう構成している。このため、新たな利用者識別データに対応するIDベース暗号方式における秘密鍵を鍵生成装置400に問い合わせる必要が生じ、操作権限を停止された利用者は、新たな利用者識別データに対応する秘密鍵を鍵生成装置400に教えてもらえないので、その後、実行装置200を操作できなくなる。
この実施の形態の権限検証装置100は、新しく操作権限を与えられた利用者が実行装置200を操作したことによって、実行装置200を操作したことのある利用者の数があらかじめ定めた最大人数を上回ったことを判定することにより、操作権限を与えられた利用者が変更になったことを検出し、古い共通鍵を無効化する。利用者に発行された利用者識別データに対応づけられた共通鍵が無効化されたことにより、新たな利用者識別データに対応するIDベース暗号方式における秘密鍵を鍵生成装置400に問い合わせる必要が生じる。操作権限を停止されていない利用者は、新たな利用者識別データに対応する秘密鍵を鍵生成装置400に教えてもらい、新たな共通鍵を取得して、実行装置200を操作することができるのに対し、操作権限を停止された利用者は、新たな利用者識別データに対応する秘密鍵を鍵生成装置400に教えてもらえないので、その後、実行装置200を操作できなくなる。これにより、利用者識別データの有効期限が切れたり、操作回数が最大操作回数に達したりする前であっても、操作権限を停止された利用者が実行装置200を操作するのを防ぐことができる。
なお、この例では、利用者識別データを単位として操作人数を算出したが、利用者あるいは利用者端末装置300を単位として操作人数を算出してもよい。
その場合、例えば、識別生成部123が、CPU911を用いて、個別識別データを含む利用者識別データを生成する。操作履歴記憶部164は、CPU911を用いて、入力した利用者識別データから個別識別データを取得して、磁気ディスク装置920を用いて、取得した個別識別データに対応づけて、入力した要求時刻データを記憶する。操作人数算出部165は、CPU911を用いて、操作履歴記憶部164が記憶した要求時刻データに対応づけれらた個別識別データの数を算出して、操作人数とする。
また、この例では、実行装置200に対する操作をした利用者すべてについて操作人数を算出したが、利用者の役割ごとに分けて操作人数を算出してもよい。
その場合、例えば、操作人数算出部165は、CPU911を用いて、入力した要求時刻データに対応づけられた利用者識別データから、役割データを取得し、役割データごとに、利用者識別データ(あるいは個別識別データ)の数を算出して、操作人数とする。そうすれば、例えば、管理者の数はあらかじめ定めてあるが、一般利用者の数はあらかじめ定めていない場合などにも、対応することができる。
この実施の形態における権限検証装置100は、更に、操作人数算出部165と、削除利用者特定部166とを有する。
上記操作人数算出部165は、上記処理装置(CPU911)を用いて、上記操作要求検証部162が操作権限ありと判定した利用者の利用者識別データの数を算出して、操作人数とする。
上記削除利用者特定部166は、上記処理装置(CPU911)を用いて、上記操作人数算出部165が算出した操作人数が、上記対象装置210の操作を許可する最大人数(最大操作人数)を超えた場合に、上記通信鍵記憶部132が記憶した復号鍵(共通鍵)に対応づけられた利用者識別データのなかから、削除する利用者識別データを特定して、削除識別データとする。
上記通信鍵削除部155は、上記処理装置(CPU911)を用いて、上記通信鍵記憶部132が記憶した復号鍵(共通鍵)のなかから、上記削除利用者特定部166が特定した削除識別データに対応づけられた復号鍵(共通鍵)を削除する。
この実施の形態における権限検証装置100によれば、操作人数が所定の最大人数を超えた場合に、削除利用者特定部166が特定した削除識別データに対応づけられた復号鍵(共通鍵)を通信鍵削除部155が通信鍵記憶部132から削除するので、操作権限を与える利用者を変更した場合に、古い操作権限を有していた利用者が実行装置200を操作するのを防ぐことができる。
この実施の形態における権限検証装置100において、上記操作人数算出部165は、上記処理装置(CPU911)を用いて、利用者の役割ごとに、上記操作人数を算出する。
この実施の形態における権限検証装置100によれば、操作人数算出部165が利用者の役割ごとに操作人数を算出するので、役割ごとに、その役割を与える利用者の数を制限することができる。
実施の形態5.
実施の形態5について、図16〜図17を用いて説明する。
なお、実施の形態1乃至実施の形態4のいずれかで説明したアクセス制御システム800と共通する部分については、同一の符号を付し、説明を省略する。
図16は、この実施の形態における実行装置200の機能ブロックの構成の一例を示すブロック構成図である。
権限検証装置100は、実施の形態1で説明した機能ブロックに加えて、更に、発行番号計数部126、識別受信部153、通信鍵削除部155、通信鍵選択部156を有する。
なお、権限検証装置100は、更に、実施の形態2乃至実施の形態4のいずれかで説明した発行時刻取得部125、要求時刻取得部154、操作回数記憶部157、操作回数計数部158、操作履歴記憶部164、操作人数算出部165、削除利用者特定部166などを有していてもよい。
発行番号計数部126は、磁気ディスク装置920を用いて、識別生成部123が生成する利用者識別データの番号(以下「発行番号」と呼ぶ。)を表わすデータ(以下「発行番号データ」と呼ぶ。)記憶している。
発行番号計数部126は、CPU911を用いて、権限要求受信部111が権限要求メッセージを受信した場合に、記憶した発行番号データが表わす発行番号に1を加え、磁気ディスク装置920を用いて、1を加えた発行番号を表わす発行番号データを記憶する。
発行番号計数部126は、CPU911を用いて、記憶した発行番号データを出力する。
識別生成部123は、CPU911を用いて、役割取得部121が出力した役割データと、乱数生成部122が出力した乱数と、発行番号計数部126が出力した発行番号データとを入力する。
識別生成部123は、CPU911を用いて、入力した役割データと乱数と発行番号データとに基づいて、利用者識別データを生成する。例えば、識別生成部123は、CPU911を用いて、実行装置200自身を識別する対象識別データと、入力した役割データと、入力した乱数を表わす文字列データと、入力した発行番号データとを結合して、結合したデータを利用者識別データとする。
識別生成部123は、CPU911を用いて、生成した利用者識別データを出力する。
通信鍵削除部155は、CPU911を用いて、発行番号計数部126が出力した発行番号データ(以下「最新発行番号データ」と呼ぶ。)を入力する。
通信鍵削除部155は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵について、対応づけられた利用者識別データに基づいて、発行番号データ(以下「通信鍵発行番号データ」と呼ぶ。)を取得する。
通信鍵削除部155は、CPU911を用いて、入力した最新発行番号データが表わす発行番号と、取得した通信鍵発行番号データが表わす発行番号との差(以下「通信鍵発行数」と呼ぶ。)を算出する。通信鍵削除部155が算出する通信鍵発行数は、その共通鍵が対応づけられた利用者識別データを識別生成部123が生成したのち、現在までに識別生成部123が生成した利用者識別データの数を表わし、その共通鍵がどのくらい古いものであるかの目安となるものである。
通信鍵削除部155は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、算出した通信鍵発行数が所定の最大発行数よりも大きい共通鍵を削除する。
図17は、この実施の形態における権限検証装置100が共通鍵を発行する通信鍵発行処理S620の流れの一例を示すフローチャート図である。
権限要求受信工程S621において、権限要求受信部111は、通信装置915を用いて、利用者端末装置300が送信した権限要求メッセージを受信する。
役割取得工程S622において、役割取得部121は、CPU911を用いて、権限要求受信工程S621で権限要求受信部111が受信した権限要求メッセージに基づいて、役割データを取得する。
乱数生成工程S623において、乱数生成部122は、CPU911を用いて、乱数を生成する。
発行番号計数工程S624において、発行番号計数部126は、CPU911を用いて、記憶した発行番号データが表わす発行番号に1を加える。
識別生成工程S625において、識別生成部123は、CPU911を用いて、役割取得工程S622で役割取得部121が取得した役割データと、乱数生成工程S623で乱数生成部122が生成した乱数と、発行番号計数工程S624で発行番号計数部126が計数した発行番号とに基づいて、利用者識別データを生成する。
通信鍵生成工程S626において、通信鍵生成部131は、CPU911を用いて、共通鍵暗号方式で使用する共通鍵を生成する。通信鍵記憶部132は、磁気ディスク装置920を用いて、通信鍵生成部131が生成した共通鍵を、識別生成部123が生成した利用者識別データと対応づけて記憶する。
通信鍵暗号化工程S627において、通信鍵暗号化部133は、CPU911を用いて、IDベース暗号方式により、識別生成工程S625で識別生成部123が生成した利用者識別データをIDベース暗号方式における公開鍵として使用して、通信鍵生成工程S626で通信鍵生成部131が生成した共通鍵を暗号化する。
識別送信工程S628において、識別送信部141は、通信装置915を用いて、識別生成工程S625で識別生成部123が生成した利用者識別データを、利用者端末装置300に対して送信する。
暗号化通信鍵送信工程S629において、暗号化通信鍵送信部142は、通信装置915を用いて、通信鍵暗号化工程S627で通信鍵暗号化部133が暗号化した暗号化通信鍵を、利用者端末装置300に対して送信する。
通信鍵選択工程S695において、通信鍵削除部155は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、通信鍵発行数算出工程S696〜通信鍵削除工程S697の処理をまだしていない共通鍵を一つ選択する。通信鍵記憶部132が記憶したすべての共通鍵について、通信鍵発行数算出工程S696〜通信鍵削除工程S697の処理が終り、選択できる共通鍵がない場合、権限検証装置100は、通信鍵発行処理S620を終了する。
通信鍵発行数算出工程S696において、通信鍵削除部155は、CPU911を用いて、通信鍵選択工程S695で選択した共通鍵と、発行番号計数工程S624で発行番号計数部126が計数した発行番号とに基づいて、通信鍵発行数を算出する。通信鍵削除部155は、CPU911を用いて、算出した通信鍵発行数と、最大発行数とを比較して、大小関係を判定する。
通信鍵発行数が最大発行数以下であると通信鍵削除部155が判定した場合、権限検証装置100は、通信鍵繰り返し工程S698へ進む。
通信鍵発行数が最大発行数超であると通信鍵削除部155が判定した場合、権限検証装置100は、通信鍵削除工程S697へ進む。
通信鍵削除工程S697において、通信鍵削除部155は、CPU911を用いて通信鍵記憶部132が記憶した共通鍵のなかから、通信鍵選択工程S695で選択した共通鍵を削除する。
通信鍵繰り返し工程S698において、通信鍵削除部155は、CPU911を用いて、通信鍵選択工程S695に戻り、次の共通鍵を選択する。
なお、この例では、発行番号が、識別生成部123が生成するすべての利用者識別データについての通し番号となっているが、発行番号は、役割ごとに分けた通し番号であってもよい。
その場合、発行番号計数部126は、磁気ディスク装置920を用いて、役割データに対応づけて発行番号データを記憶する。発行番号計数部126は、CPU911を用いて、役割取得部121が出力した役割データを入力し、記憶した発行番号データのなかから、入力した役割データに対応づけられた発行番号データを選択し、選択した発行番号データが表わす発行番号に1を加え、加算した発行番号を表わす発行番号データを、入力した役割データに対応づけて上書きして記憶する。
通信鍵削除部155は、CPU911を用いて、通信鍵記憶部132が記憶した共通鍵のなかから、その共通鍵が対応づけられた利用者識別データに基づいて取得した役割データが、役割取得部121が出力した役割データと同一である共通鍵を抽出し、抽出した共通鍵について、その共通鍵が対応づけられた利用者識別データに基づいて取得した通信鍵発行番号データと、発行番号計数部126が計数した最新発行番号データとに基づいて、通信鍵発行数を算出して、削除する共通鍵を決定する。
また、この例では、識別生成部123が利用者識別データを生成するたびに、通信鍵記憶部132が記憶した共通鍵のなかから、通信鍵削除部155が削除する共通鍵を抽出して、共通鍵を削除しているが、通信鍵削除部155は、定期的に、あるいは、識別受信部153が利用者識別データを受信した場合、もしくは、実行装置200のCPU911の処理能力に余裕がある場合などに、通信鍵記憶部132が記憶した共通鍵のなかから、通信鍵削除部155が削除する共通鍵を抽出して、共通鍵を削除する構成としてもよい。
この実施の形態における権限検証装置100は、更に、発行番号計数部126と、通信鍵削除部155とを有する。
上記発行番号計数部126は、CPU911を用いて、識別取得部(識別生成部123)が利用者識別データを取得すると増加する発行番号を計数する。
上記識別取得部(識別生成部123)は、CPU911を用いて、発行番号計数部126が計数した発行番号に基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
上記通信鍵削除部155は、CPU911を用いて、上記通信鍵記憶部132が記憶した復号鍵(共通鍵)のなかから、上記発行番号計数部126が計数した発行番号と、上記復号鍵(共通鍵)に対応づけられた利用者識別データに基づいて取得した発行番号との差が所定の最大発行数よりも大きい復号鍵(共通鍵)を削除する。
この実施の形態における権限検証装置100によれば、発行番号計数部126が計数した発行番号に基づいて、識別取得部(識別生成部123)が利用者識別データを生成するので、利用者識別データの重複を避けることができる。また、通信鍵記憶部132が記憶した復号鍵(共通鍵)のうちから、発行番号が古い復号鍵(共通鍵)を、通信鍵削除部155が削除するので、操作権限に変更があった場合などにおいて、操作権限のない利用者が対象装置210を操作するのを防ぐことができる。
以上説明した実行装置200(機器)は、
ロール情報(役割データ)を受信するロール要求受信部(権限要求受信部111)と、
乱数を生成する乱数生成部122と、
カウント値(発行番号)を生成するカウント部(発行番号計数部126)と、
機器(実行装置200)を識別する識別情報(対象識別データ)と、ロール情報(役割データ)と、乱数と、カウント値(発行番号)とからID情報(利用者識別データ)を生成するID情報生成部(識別生成部123)と、
暗号鍵(共通鍵)と復号鍵(共通鍵)とを生成する暗号鍵生成部(通信鍵生成部131)と、
カウント値(発行番号)と、カウント部(発行番号計数部126)の保持する現在のカウント値(発行番号)とをもとに復号鍵(共通鍵)を消去する復号鍵消去部(通信鍵削除部155)と、
暗号鍵(共通鍵)からID情報(利用者識別データ)により暗号済暗号鍵(暗号化通信鍵)を生成するIDベース暗号部(通信鍵暗号化部133)と、
ID情報(利用者識別データ)と、暗号済暗号鍵(暗号化通信鍵)とをあわせて権限確認情報として送信する権限確認送信部(識別送信部141・暗号化通信鍵送信部142)と、
暗号済操作情報(暗号化操作要求)を受信する操作要求受信部(暗号化操作要求受信部151)と、
暗号済操作情報から復号鍵(通信鍵)により操作情報(操作要求メッセージ)を復号する復号部(操作要求復号部152)と、
正しく復号された操作情報(操作要求メッセージ)と、ロール情報(役割データ)とをもとに、アクセス制御マトリクス(権限対応データ)にしたがい、役割(ロール)として操作が許可されているかどうかの判定結果を生成するアクセス制御部(操作要求検証部162)とを有し、
判定結果からアクセスが許可された場合に操作を実行する。
以上説明したアクセス制御システム800の動作を要約して説明する。
まず事前に、ユーザ装置(利用者端末装置300)は、公開鍵暗号方式におけるユーザ秘密鍵とユーザ公開鍵とを保持する。機器(実行装置200)は、他の機器(実行装置200)と識別可能とする為の識別情報(対象識別データ)と、役割(ロール)と許可される操作の関係を示すアクセス制御マトリクス(権限対応データ)とを保持する。サーバ(鍵生成装置400)は、署名情報(署名データ)を検証する為の署名検証情報(公開鍵証明書)と、ユーザ情報(個別識別データ)とロール情報(役割データ)と識別情報(対象識別データ)とに対応するアクセス権の有無を示す認証情報(役割対応データ)を保持する。以上で、準備が完了する。
そして、ユーザ装置(利用者端末装置300)が処理を始める。
ユーザが機器(実行装置200)を操作する役割(ロール)を決定し、ロール要求送信部(権限要求送信部322)が、ロール情報(役割データ)を機器(実行装置200)へ送信する。
そして、機器(実行装置200)が処理を始める。
ロール要求受信部(権限要求受信部111)が、ユーザ装置(利用者端末装置300)からロール情報(役割データ)を受信する。次に、乱数生成部122が、乱数を生成する。次に、カウント部(発行番号計数部126)が、前回生成したカウント値(発行番号)を1つ増やして、カウント値(発行番号)を生成する。次に、ID情報生成部(識別生成部123)が、機器(実行装置200)を識別する識別情報(対象識別データ)と、ロール情報(役割データ)と、乱数と、カウント値(発行番号)とからID情報(利用者識別データ)を生成する。次に、暗号鍵生成部(通信鍵生成部131)が、暗号鍵(共通鍵)と復号鍵(共通鍵)とを生成する。次に、IDベース暗号部(通信鍵暗号化部133)が、IDベース暗号の暗号化の対象となる暗号鍵(共通鍵)からID情報(利用者識別データ)により暗号済暗号鍵(暗号化通信鍵)を生成する。次に、権限確認送信部(識別送信部141・暗号化通信鍵送信部142)が、ID情報(利用者識別データ)と、暗号済暗号鍵(暗号化通信鍵)とをあわせて権限確認情報としてユーザ装置(利用者端末装置300)へ送信する。
そして、ユーザ機器(利用者端末装置300)が処理を始める。
権限確認受信部(端末利用者識別受信部331・暗号化通信鍵受信部332)が、機器(実行装置200)から権限確認情報を受信する。次に、署名部(署名生成部343)が、権限確認情報に含まれるID情報(利用者識別データ)からユーザ秘密鍵により署名情報(署名データ)を生成する。次に、発行要求送信部(端末利用者識別送信部351・署名送信部352)が、ユーザ公開鍵を含むユーザ情報(個別識別データ)と、ID情報(利用者識別データ)と、署名情報(署名データ)とをあわせて発行要求としてサーバ(鍵生成装置400)に送信する。
そして、サーバ(鍵生成装置400)が処理を始める。
発行要求受信部(生成利用者識別受信部411・署名受信部412)が、ユーザ装置(利用者端末装置300)から発行要求を受信する。次に、署名検証部423が、発行要求に含まれる署名情報(署名データ)を署名検証情報(公開鍵証明書)により検証して検証結果を生成する。
なお、署名検証部423は、署名検証情報として、予め安全な方法により、ユーザ装置(利用者端末装置300)からサーバ(鍵生成装置400)に渡されたユーザ公開鍵を利用する構成としてもよい。
また、予めサーバ(鍵生成装置400)がユーザの秘密鍵とユーザの公開鍵とを生成し、安全な方法により、サーバ(鍵生成装置400)からユーザ装置(利用者端末装置300)にユーザの秘密鍵とユーザの公開鍵とを渡しておく構成としてもよい。
また、予めユーザ公開鍵に対してPKIの認証局が公開鍵証明書を発行し、サーバ(鍵生成装置400)は認証局の公開鍵証明書を署名検証情報として利用する構成としてもよい。
次に、アクセス権認証部(権限判定部434)が、検証結果が正しい場合に、発行要求に含まれるID情報に含まれるロール情報(役割データ)と、発行要求に含まれるID情報に含まれる識別情報(対象識別データ)と、発行要求に含まれるユーザ情報(個別識別データ)とをもとに、認証情報(役割対応データ)にしたがい、ユーザの機器(実行装置200)に対する役割(ロール)としてのアクセス権の有無を認証結果として生成する。
例えば、権限判定部434は、まずユーザ情報(個別識別データ)をもとに識別情報(対象識別データ)とロール情報(役割データ)との関係を表す表を特定し、識別情報(対象識別データ)とロール情報(役割データ)とから、表の該当する箇所の「○」と「×」とによりアクセス権の有無を判断する。
次に、IDベース秘密鍵生成部(秘密鍵生成部441)が、認証結果からアクセス権が有ると認証された場合に、ID情報(利用者識別データ)からIDベース秘密鍵を生成する。次に、秘密鍵暗号部(秘密鍵暗号化部442)が、IDベース秘密鍵からユーザ情報に含まれるユーザ公開鍵により暗号済秘密鍵(暗号化秘密鍵)を生成する。次に、秘密鍵送信部(暗号化秘密鍵送信部451)が、暗号済秘密鍵(暗号化秘密鍵)をユーザ装置(利用者端末装置300)に送信する。
そして、ユーザ装置(利用者端末装置300)が処理を始める。
秘密鍵受信部(暗号化秘密鍵受信部361)が、暗号済秘密鍵(暗号化秘密鍵)を受信する。次に、秘密鍵復号部362が、暗号済秘密鍵(暗号化秘密鍵)からユーザ秘密鍵によりIDベース秘密鍵を復号する。次に、IDベース復号部(通信鍵復号部371)が、権限確認情報に含まれる暗号済暗号鍵(暗号化通信鍵)からIDベース秘密鍵により暗号鍵(共通鍵)を復号する。次に、暗号部(操作要求暗号化部382)が、機器(実行装置200)に対する操作情報(操作要求メッセージ)から暗号鍵(共通鍵)により暗号済操作情報(暗号化操作要求)を生成する。次に、操作要求送信部(暗号化操作要求送信部383)が、暗号済操作情報(暗号化操作要求)を機器(実行装置200)に送信する。
そして、機器(実行装置200)が処理を始める。
操作要求受信部(暗号化操作要求受信部151)が、暗号済操作情報(暗号化操作要求)を受信する。次に、復号鍵消去部(通信鍵削除部155)が、カウント値(発行番号)と、カウント部(発行時刻取得部125)の保持する現在のカウント値(発行番号)をもとに、カウントの差分(通信鍵発行数)からアクセス権の失効の即時性が損なわれていないかどうかを確認し、即時性が損なわれた場合に復号鍵(共通鍵)を消去し、以後の処理を中断する。
次に、復号部(操作要求復号部152)が、暗号済操作情報(暗号化操作要求)から復号鍵(共通鍵)により操作情報(操作要求メッセージ)を復号する。次に、復号部(操作要求復号部152)が操作情報を正しく復号した場合に、操作要求検証部162が、正しく復号された操作情報(操作要求メッセージ)と、ロール情報(役割データ)とをもとに、アクセス制御マトリクス(権限対応データ)にしたがい、役割(ロール)として操作が許可されているかどうかの判定結果を生成する。
例えば、操作要求検証部162は、操作(操作内容データ)とロール情報(役割データ)とから、表の該当する箇所の「○」と「×」とにより操作が許可されているかどうかを判断する。
次に、機器(実行装置200)が、判定結果からアクセスが許可された場合に操作を実行する。
以上により、アクセス制御を実現する。
以上説明したアクセス制御システム800によれば、ID情報(利用者識別データ)にカウント値(発行番号)を含めるので、過去のID(利用者識別データ)との重複を避けることができる。また、復号鍵消去部(通信鍵削除部155)が、カウント値(発行番号)と、カウント部(発行時刻取得部125)の保持する現在のカウント値(発行番号)とをもとに、カウントの差分(通信鍵発行数)からアクセス権の失効の即時性が損なわれていないかどうかを確認し、即時性が損なわれた場合に復号鍵(共通鍵)を消去し、以後の処理を中断するので、ユーザによる過去の復号鍵(共通鍵)の利用を防止できる。
実施の形態1におけるアクセス制御システム800の全体構成の一例を示すシステム構成図。 実施の形態1における鍵生成装置400、利用者端末装置300、実行装置200のハードウェア資源の一例を示す図。 実施の形態1における鍵生成装置400の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1における役割記憶部431が記憶している役割対応データ510の一例を模式的に表わした図。 実施の形態1における利用者端末装置300の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1における実行装置200の機能ブロックの構成の一例を表わすブロック構成図。 実施の形態1における権限記憶部161が記憶している権限対応データ520の一例を模式的に示す図。 実施の形態1におけるアクセス制御システム800が、利用者による実行装置200の操作を制御するアクセス制御処理の流れの一例を示すフローチャート図。 実施の形態2における利用者端末装置300の機能ブロックの構成の一例を示すブロック構成図。 実施の形態2における実行装置200の機能ブロックの構成の一例を示すブロック構成図。 実施の形態2における権限検証装置100が暗号化操作要求を検証する操作要求検証処理S660の流れの一例を示すフローチャート図。 実施の形態3における実行装置200の機能ブロックの構成の一例を示すブロック構成図。 実施の形態3における権限検証装置100が暗号化操作要求を検証する操作要求検証処理S660の流れの一例を示すフローチャート図。 実施の形態4における実行装置200の機能ブロックの構成の一例を示すブロック構成図。 実施の形態4における権限検証装置100が暗号化操作要求を検証する操作要求検証処理S660の流れの一例を示すフローチャート図。 実施の形態5における実行装置200の機能ブロックの構成の一例を示すブロック構成図。 実施の形態5における権限検証装置100が共通鍵を発行する通信鍵発行処理S620の流れの一例を示すフローチャート図。
符号の説明
100 権限検証装置、111 権限要求受信部、121 役割取得部、122 乱数生成部、123 識別生成部、124 識別記憶部、125 発行時刻取得部、126 発行番号計数部、131 通信鍵生成部、132 通信鍵記憶部、133 通信鍵暗号化部、141 識別送信部、142 暗号化通信鍵送信部、151 暗号化操作要求受信部、152 操作要求復号部、153 識別受信部、154 要求時刻取得部、155 通信鍵削除部、156 通信鍵選択部、157 操作回数記憶部、158 操作回数計数部、159 発行番号取得部、161 権限記憶部、162 操作要求検証部、163 操作要求通知部、164 操作履歴記憶部、165 操作人数算出部、166 削除利用者特定部、200 実行装置、210 対象装置、211 操作要求取得部、212 処理実行部、213 操作結果生成部、214 操作結果送信部、300 利用者端末装置、311 対象入力部、312 役割入力部、313 操作入力部、321 権限要求生成部、322 権限要求送信部、331 端末利用者識別受信部、332 暗号化通信鍵受信部、341 端末利用者識別記憶部、342 利用者秘密鍵記憶部、343 署名生成部、351 端末利用者識別送信部、352 署名送信部、361 暗号化秘密鍵受信部、362 秘密鍵復号部、371 通信鍵復号部、372 復号通信鍵記憶部、381 操作要求生成部、382 操作要求暗号化部、383 暗号化操作要求送信部、384 要求利用者識別送信部、391 操作結果受信部、392 結果出力部、400 鍵生成装置、411 生成利用者識別受信部、412 署名受信部、421 公開鍵証明書記憶部、422 生成個別識別取得部、423 署名検証部、431 役割記憶部、432 生成役割取得部、433 生成対象識別取得部、434 権限判定部、441 秘密鍵生成部、442 秘密鍵暗号化部、451 暗号化秘密鍵送信部、510 役割対応データ、511 個別識別データ、512 対象識別データ、513,521 役割データ、520 権限対応データ、522 操作内容データ、800 アクセス制御システム、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (26)

  1. 利用者が対象装置を操作する権限があるか否かを検証する権限検証装置において、
    データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置と、識別取得部と、通信鍵生成部と、通信鍵暗号化部と、暗号化通信鍵送信部と、暗号化操作要求受信部と、操作要求復号部と、操作要求検証部と、操作要求通知部とを有し、
    上記識別取得部は、上記処理装置を用いて、利用者を識別する利用者識別データを取得し、
    上記通信鍵生成部は、上記処理装置を用いて、暗号化鍵と上記暗号化鍵に対応する復号鍵とを生成し、
    上記通信鍵暗号化部は、上記処理装置を用いて、IDベース暗号方式により、上記識別取得部が取得した利用者識別データを使用して、上記通信鍵生成部が生成した暗号化鍵を暗号化して、暗号化通信鍵とし、
    上記暗号化通信鍵送信部は、上記送信装置を用いて、上記通信鍵暗号化部が暗号化した暗号化通信鍵を送信し、
    上記暗号化操作要求受信部は、上記受信装置を用いて、上記対象装置に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信し、
    上記操作要求復号部は、上記処理装置を用いて、上記通信鍵生成部が生成した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とし、
    上記操作要求検証部は、上記処理装置を用いて、上記操作要求復号部が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定し、
    上記操作要求通知部は、上記処理装置を用いて、上記操作要求検証部が操作権限ありと判定した場合に、上記操作要求復号部が復号した復号操作要求を、操作要求メッセージとして上記対象装置に対して通知することを特徴とする権限検証装置。
  2. 上記権限検証装置は、更に、役割取得部を有し、
    上記役割取得部は、上記処理装置を用いて、利用者の役割を表わす役割データを取得し、
    上記識別取得部は、上記処理装置を用いて、上記役割取得部が取得した役割データに基づいて、利用者識別データを生成することにより、上記利用者識別データを取得し、
    上記操作要求検証部は、上記処理装置を用いて、上記操作要求復号部が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、上記役割取得部が取得した役割データが表わす役割に、上記復号操作要求が表わす操作をする権限があるか否かを判定し、上記役割に上記操作をする権限があると判定した場合に、操作権限ありと判定することを特徴とする請求項1に記載の権限検証装置。
  3. 上記権限検証装置は、更に、発行時刻取得部と、要求時刻取得部と、有効期限判定部とを有し、
    上記発行時刻取得部は、上記処理装置を用いて、上記識別取得部が利用者識別データを取得した時刻を表わす発行時刻データを取得し、
    上記要求時刻取得部は、上記処理装置を用いて、上記暗号化操作要求受信部が暗号化操作要求を受信した時刻を表わす要求時刻データを取得し、
    上記有効期限判定部は、上記処理装置を用いて、上記発行時刻取得部が取得した発行時刻データと、上記要求時刻取得部が取得した要求時刻データとに基づいて、有効期限内か否かを判定し、
    上記操作要求復号部は、上記処理装置を用いて、上記有効期限判定部が有効期限内であると判定した場合に、上記通信鍵生成部が生成した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とすることを特徴とする請求項1または請求項2に記載の権限検証装置。
  4. 上記権限検証装置は、更に、操作回数計数部を有し、
    上記操作回数計数部は、上記処理装置を用いて、上記操作要求検証部が操作権限ありと判定した回数を計数して、操作回数とし、
    上記操作要求復号部は、上記処理装置を用いて、上記操作回数計数部が計数した操作回数が所定の最大操作回数未満である場合に、上記通信鍵生成部が生成した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とすることを特徴とする請求項1請求項3のいずれかに記載の権限検証装置。
  5. 上記権限検証装置は、更に、識別送信部を有し、
    上記識別送信部は、上記送信装置を用いて、上記識別取得部が取得した利用者識別データを送信することを特徴とする請求項1請求項4のいずれかに記載の権限検証装置。
  6. 上記権限検証装置は、更に、現在時刻取得部を有し、
    上記現在時刻取得部は、上記処理装置を用いて、現在時刻を表わす現在時刻データを取得し、
    上記識別取得部は、上記処理装置を用いて、上記現在時刻取得部が取得した現在時刻データに基づいて、利用者識別データを生成することにより、上記利用者識別データを取得することを特徴とする請求項5に記載の権限検証装置。
  7. 上記権限検証装置は、更に、乱数生成部を有し、
    上記乱数生成部は、上記処理装置を用いて、乱数を生成し、
    上記識別取得部は、上記処理装置を用いて、上記乱数生成部が生成した乱数に基づいて、利用者識別データを生成することにより、上記利用者識別データを取得することを特徴とする請求項5または請求項6に記載の権限検証装置。
  8. 上記権限検証装置は、更に、データを記憶する記憶装置と、通信鍵記憶部と、識別受信部と、通信鍵選択部とを有し、
    上記通信鍵記憶部は、上記記憶装置を用いて、上記識別取得部が取得した利用者識別データに対応づけて、上記通信鍵生成部が生成した復号鍵を記憶し、
    上記識別受信部は、上記受信装置を用いて、上記暗号化操作要求とともに利用者端末装置が送信した利用者識別データを受信し、
    上記通信鍵選択部は、上記処理装置を用いて、上記通信鍵記憶部が記憶した復号鍵のなかから、上記識別受信部が受信した利用者識別データに対応づけられた復号鍵を選択し、
    上記操作要求復号部は、上記処理装置を用いて、上記通信鍵選択部が選択した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とすることを特徴とする請求項1請求項7のいずれかに記載の権限検証装置。
  9. 上記権限検証装置は、更に、通信鍵削除部を有し、
    上記通信鍵削除部は、上記処理装置を用いて、上記通信鍵記憶部が記憶した復号鍵が有効か無効かを判定し、上記通信鍵記憶部が記憶した復号鍵のなかから、無効であると判定した復号鍵を削除することを特徴とする請求項8に記載の権限検証装置。
  10. 上記権限検証装置は、更に、操作人数算出部と、削除利用者特定部とを有し、
    上記操作人数算出部は、上記処理装置を用いて、上記操作要求検証部が操作権限ありと判定した利用者の利用者識別データの数を算出して、操作人数とし、
    上記削除利用者特定部は、上記処理装置を用いて、上記操作人数算出部が算出した操作人数が、上記対象装置の操作を許可する最大人数を超えた場合に、上記通信鍵記憶部が記憶した復号鍵に対応づけられた利用者識別データのなかから、削除する利用者識別データを特定して、削除識別データとし、
    上記通信鍵削除部は、上記処理装置を用いて、上記通信鍵記憶部が記憶した復号鍵のなかから、上記削除利用者特定部が特定した削除識別データに対応づけられた復号鍵を削除することを特徴とする請求項9に記載の権限検証装置。
  11. 上記操作人数算出部は、上記処理装置を用いて、利用者の役割ごとに、上記操作人数を算出することを特徴とする請求項10に記載の権限検証装置。
  12. 操作権限のある利用者からの操作要求に基づいて処理を実行する実行装置において、
    請求項1請求項11のいずれかに記載の権限検証装置と、上記権限検証装置が通知した操作要求メッセージに基づいて処理を実行する対象装置とを有することを特徴とする実行装置。
  13. 利用者が対象装置を操作する権限を有するか否かを検証する権限検証装置に対して、上記利用者による上記対象装置に対する操作要求を通知する利用者端末装置において、
    データを処理する処理装置と、データを受信する受信装置と、データを送信する送信装置と、端末利用者識別取得部と、秘密鍵取得部と、暗号化通信鍵受信部と、通信鍵復号部と、操作要求暗号化部と、暗号化操作要求送信部とを有し、
    上記端末利用者識別取得部は、上記処理装置を用いて、利用者を識別する利用者識別データを取得し、
    上記秘密鍵取得部は、上記処理装置を用いて、IDベース暗号方式において上記端末利用者識別取得部が取得した利用者識別データに対応する秘密鍵を取得し、
    上記暗号化通信鍵受信部は、上記受信装置を用いて、暗号化に使用する暗号化鍵をIDベース暗号方式により暗号化した暗号化通信鍵を、上記権限検証装置から受信し、
    上記通信鍵復号部は、上記処理装置を用いて、IDベース暗号方式により、上記秘密鍵取得部が取得した秘密鍵を使用して、上記暗号化通信鍵受信部が受信した暗号化通信鍵を復号して、復号通信鍵とし、
    上記操作要求暗号化部は、上記処理装置を用いて、上記通信鍵復号部が復号した復号通信鍵を使用して、上記利用者による対象装置に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とし、
    上記暗号化操作要求送信部は、上記送信装置を用いて、上記操作要求暗号化部が暗号化した暗号化操作要求を、上記権限検証装置に対して送信することを特徴とする利用者端末装置。
  14. 上記利用者端末装置は、更に、端末利用者識別送信部を有し、
    上記端末利用者識別送信部は、上記送信装置を用いて、IDベース暗号方式における秘密鍵を生成する鍵生成装置に対して、上記端末利用者識別取得部が取得した利用者識別データを送信し、
    上記秘密鍵取得部は、上記受信装置を用いて、上記鍵生成装置が生成した秘密鍵を受信することにより、上記秘密鍵を取得することを特徴とする請求項13に記載の利用者端末装置。
  15. 利用者による対象装置の操作を制御するアクセス制御システムにおいて、
    請求項1請求項11のいずれかに記載の権限検証装置と、請求項13または請求項14に記載の利用者端末装置とを有することを特徴とするアクセス制御システム。
  16. 上記アクセス制御システムは、更に、
    IDベース暗号方式における秘密鍵を生成する鍵生成装置であって、
    データを処理する処理装置と、データを受信する受信装置と、データを送信する送信装置と、生成利用者識別受信部と、権限判定部と、秘密鍵生成部と、秘密鍵送信部とを有し、
    上記生成利用者識別受信部は、上記受信装置を用いて、利用者を識別する利用者識別データを受信し、
    上記権限判定部は、上記処理装置を用いて、上記利用者に対象装置を操作する権限があるか否かを判定し、
    上記秘密鍵生成部は、上記処理装置を用いて、上記利用者に対象装置を操作する権限が
    あると上記権限判定部が判定した場合に、IDベース暗号方式において上記生成利用者識別受信部が受信した利用者識別データに対応する秘密鍵を生成し、
    上記秘密鍵送信部は、上記送信装置を用いて、上記秘密鍵生成部が生成した秘密鍵を送信する鍵生成装置を有することを特徴とする請求項15に記載のアクセス制御システム。
  17. 上記鍵生成装置は、更に、生成役割取得部を有し、
    上記生成利用者識別受信部は、上記受信装置を用いて、上記利用者の役割を表わす役割データを含む利用者識別データを受信し、
    上記生成役割取得部は、上記処理装置を用いて、上記生成利用者識別受信部が受信した利用者識別データに基づいて、上記役割データを取得し、
    上記権限判定部は、上記処理装置を用いて、上記利用者が上記対象装置に対して上記役割データが表わす役割を有するか否かを判定し、上記利用者が上記対象装置に対して上記役割データが表わす役割を有すると判定した場合に、上記利用者に上記対象装置を操作する権限があると判定することを特徴とする請求項16に記載のアクセス制御システム。
  18. 上記鍵生成装置は、更に、生成個別識別取得部を有し、
    上記生成利用者識別受信部は、上記受信装置を用いて、上記利用者を個別に識別する個別識別データを含む利用者識別データを受信し、
    上記生成個別識別取得部は、上記処理装置を用いて、上記生成利用者識別受信部が受信した利用者識別データに基づいて、上記個別識別データを取得し、
    上記権限判定部は、上記処理装置を用いて、上記生成個別識別取得部が取得した個別識別データにより個別に識別される利用者に上記対象装置を操作する権限があるか否かを判定することを特徴とする請求項16または請求項17に記載のアクセス制御システム。
  19. 上記鍵生成装置は、更に、生成対象識別取得部を有し、
    上記生成利用者識別受信部は、上記受信装置を用いて、上記対象装置を識別する対象識別データを含む利用者識別データを受信し、
    上記生成対象識別取得部は、上記処理装置を用いて、上記生成利用者識別受信部が受信した利用者識別データに基づいて、上記対象識別データを取得し、
    上記権限判定部は、上記処理装置を用いて、上記生成対象識別取得部が取得した対象識別データにより識別される対象装置を操作する権限が上記利用者にあるか否かを判定することを特徴とする請求項16〜請求項18のいずれかに記載のアクセス制御システム。
  20. データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有するコンピュータを、請求項1請求項11のいずれかに記載の権限検証装置として機能させることを特徴とするコンピュータプログラム。
  21. データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有するコンピュータを、請求項12に記載の実行装置として機能させることを特徴とするコンピュータプログラム。
  22. データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有するコンピュータを、請求項13または請求項14に記載の利用者端末装置とし
    て機能させることを特徴とするコンピュータプログラム。
  23. データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有する複数のコンピュータを、請求項15から請求項19のいずれかに記載のアクセス制御システムとして機能させることを特徴とするコンピュータプログラム。
  24. データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有する権限検証装置が、利用者が対象装置を操作する権限を有するか否かを検証する権限検証方法において、
    上記処理装置が、利用者を識別する利用者識別データを取得し、
    上記処理装置が、暗号化鍵と上記暗号化鍵に対応する復号鍵とを生成し、
    上記処理装置が、IDベース暗号方式により、取得した利用者識別データを使用して、生成した暗号化鍵を暗号化して、暗号化通信鍵とし、
    上記送信装置が、暗号化した暗号化通信鍵を送信し、
    上記受信装置が、上記対象装置に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信し、
    上記処理装置が、生成した復号鍵を使用して、受信した暗号化操作要求を復号して、復号操作要求とし、
    上記処理装置が、復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定し、
    上記処理装置が、操作権限ありと判定した場合に、復号した復号操作要求を、操作要求メッセージとして上記対象装置に対して通知することを特徴とする権限検証方法。
  25. データを処理する処理装置と、データを受信する受信装置と、データを送信する送信装置とを有する利用者端末装置が、利用者が対象装置を操作する権限を有するか否かを検証する権限検証装置に対して、上記利用者による上記対象装置に対する操作要求を通知する操作要求通知方法において、
    上記処理装置が、利用者を識別する利用者識別データを取得し、
    上記処理装置が、IDベース暗号方式において、取得した利用者識別データに対応する秘密鍵を取得し、
    上記受信装置が、暗号化に使用する暗号化鍵をIDベース暗号方式により暗号化した暗号化通信鍵を、上記権限検証装置から受信し、
    上記処理装置が、IDベース暗号方式により、取得した秘密鍵を使用して、受信した暗号化通信鍵を復号して、復号通信鍵とし、
    上記処理装置が、復号した復号通信鍵を使用して、上記利用者による上記対象装置に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とし、
    上記送信装置が、暗号化した暗号化操作要求を、上記権限検証装置に対して送信することを特徴とする操作要求通知方法。
  26. 権限検証装置と、利用者端末装置とを有するアクセス制御システムが、利用者による対象装置の操作を制御するアクセス制御方法において、
    上記権限検証装置が、利用者を識別する利用者識別データを取得し、
    上記権限検証装置が、暗号化鍵と上記暗号化鍵に対応する復号鍵とを生成し、
    上記権限検証装置が、IDベース暗号方式により、取得した利用者識別データを使用して、生成した暗号化鍵を暗号化して、暗号化通信鍵とし、
    上記権限検証装置が、暗号化した暗号化通信鍵を送信し、
    上記利用者端末装置が、上記利用者識別データを取得し、
    上記利用者端末装置が、IDベース暗号方式において、取得した利用者識別データに対応する秘密鍵を取得し、
    上記利用者端末装置が、上記権限検証装置が送信した暗号化通信鍵を受信し、
    上記利用者端末装置が、IDベース暗号方式により、取得した秘密鍵を使用して、受信した暗号化通信鍵を復号して、復号通信鍵とし、
    上記利用者端末装置が、復号した復号通信鍵を使用して、上記利用者による対象装置に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とし、
    上記利用者端末装置が、暗号化した暗号化操作要求を、上記権限検証装置に対して送信し、
    上記権限検証装置が、上記利用者端末装置が送信した暗号化操作要求を受信し、
    上記権限検証装置が、生成した復号鍵を使用して、受信した暗号化操作要求を復号して、復号操作要求とし、
    上記権限検証装置が、復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定し、
    上記権限検証装置が、操作権限ありと判定した場合に、復号した復号操作要求を、操作要求メッセージとして上記対象装置に対して通知することを特徴とするアクセス制御方法。
JP2008172399A 2008-07-01 2008-07-01 権限検証装置及び実行装置及び利用者端末装置及びアクセス制御システム及びコンピュータプログラム及び権限検証方法及び操作要求通知方法及びアクセス制御方法 Expired - Fee Related JP5403955B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008172399A JP5403955B2 (ja) 2008-07-01 2008-07-01 権限検証装置及び実行装置及び利用者端末装置及びアクセス制御システム及びコンピュータプログラム及び権限検証方法及び操作要求通知方法及びアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008172399A JP5403955B2 (ja) 2008-07-01 2008-07-01 権限検証装置及び実行装置及び利用者端末装置及びアクセス制御システム及びコンピュータプログラム及び権限検証方法及び操作要求通知方法及びアクセス制御方法

Publications (2)

Publication Number Publication Date
JP2010016465A JP2010016465A (ja) 2010-01-21
JP5403955B2 true JP5403955B2 (ja) 2014-01-29

Family

ID=41702178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008172399A Expired - Fee Related JP5403955B2 (ja) 2008-07-01 2008-07-01 権限検証装置及び実行装置及び利用者端末装置及びアクセス制御システム及びコンピュータプログラム及び権限検証方法及び操作要求通知方法及びアクセス制御方法

Country Status (1)

Country Link
JP (1) JP5403955B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101234784B1 (ko) * 2011-05-30 2013-02-20 삼성에스디에스 주식회사 아이디 기반 암호화 방법 및 그 장치
DE102017204181A1 (de) * 2017-03-14 2018-09-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sender zum Emittieren von Signalen und Empfänger zum Empfangen von Signalen
JP7115556B2 (ja) * 2018-10-19 2022-08-09 日本電信電話株式会社 認証認可システム及び認証認可方法
US11576037B2 (en) * 2019-10-18 2023-02-07 Huawei Technologies Co., Ltd. Issuing offline PKI certificates in distributed V2X network
CN114124395B (zh) * 2020-08-31 2024-04-12 北京书生网络技术有限公司 密钥管理方法及装置
CN113489710B (zh) * 2021-06-30 2023-03-24 厦门熵基科技有限公司 一种文件共享方法、装置、设备和存储介质
CN115277053B (zh) * 2022-06-08 2024-04-23 深圳蜂鸟创新科技服务有限公司 基于SaaS和Pass平台的数据处理方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266847B2 (en) * 2003-09-25 2007-09-04 Voltage Security, Inc. Secure message system with remote decryption service
JP4869824B2 (ja) * 2006-08-08 2012-02-08 三菱電機株式会社 受信者装置及び送信者装置及び暗号通信システム及びプログラム

Also Published As

Publication number Publication date
JP2010016465A (ja) 2010-01-21

Similar Documents

Publication Publication Date Title
JP4219965B2 (ja) ワンタイムidによる認証
JP5403955B2 (ja) 権限検証装置及び実行装置及び利用者端末装置及びアクセス制御システム及びコンピュータプログラム及び権限検証方法及び操作要求通知方法及びアクセス制御方法
US10708047B2 (en) Computer-readable recording medium storing update program and update method, and computer-readable recording medium storing management program and management method
JP4973899B2 (ja) 送信装置、送信方法、受信装置、受信方法、記録媒体、および通信システム
KR101452708B1 (ko) Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체
KR101078546B1 (ko) 범용 저장장치의 식별정보를 기반으로 하는 보안 데이터 파일 암호화 및 복호화 장치, 그를 이용한 전자 서명 시스템
US8510844B2 (en) Authorized content verification method, content transmission/reception system, transmitter, and receiver
KR20060045440A (ko) 패스워드 보호 비밀 데이터의 노출 없이 통신 네트워크을통해 이 비밀 데이터를 복구하는 방법 및 시스템
JP2011082662A (ja) 通信装置及び情報処理方法及びプログラム
KR20080033373A (ko) 취소 정보 관리
JP2021090114A (ja) 電子署名システム及び耐タンパ装置
JP2009033402A (ja) Idベース暗号システム及び送信端末装置及び配送サーバ装置及び受信端末装置
JP3992396B2 (ja) 電子文書管理装置、電子文書管理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH05298174A (ja) 遠隔ファイルアクセスシステム
JP2010081154A (ja) 情報処理装置、プログラム、及び情報処理システム
JP6976405B2 (ja) アクセス管理システム、及びそのプログラム
JP5494171B2 (ja) ファイル管理システム、ストレージサーバ、クライアント、ファイル管理方法およびプログラム
JP3984570B2 (ja) 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム
JP2014022920A (ja) 電子署名システム、電子署名方法および電子署名プログラム
JP5665592B2 (ja) サーバ装置並びにコンピュータシステムとそのログイン方法
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
US8307098B1 (en) System, method, and program for managing a user key used to sign a message for a data processing system
KR100382880B1 (ko) 일회성 암호화 방식을 이용한 인증 시스템 및 방법
JP2010245712A (ja) Id有効性管理装置及び通信装置及びid有効性管理方法及びデータ処理方法及びプログラム
JP2005020536A (ja) 電子データ署名装置および署名装置用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110511

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130627

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: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131029

R150 Certificate of patent or registration of utility model

Ref document number: 5403955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees