JP2013106251A - Distribution access control method - Google Patents
Distribution access control method Download PDFInfo
- Publication number
- JP2013106251A JP2013106251A JP2011249722A JP2011249722A JP2013106251A JP 2013106251 A JP2013106251 A JP 2013106251A JP 2011249722 A JP2011249722 A JP 2011249722A JP 2011249722 A JP2011249722 A JP 2011249722A JP 2013106251 A JP2013106251 A JP 2013106251A
- Authority
- JP
- Japan
- Prior art keywords
- certificate
- authority
- node
- authority certificate
- access control
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、所定の処理を分散して実行させる分散システムに用いて好適な分散アクセス制御方法に関する。 The present invention relates to a distributed access control method suitable for use in a distributed system that executes predetermined processing in a distributed manner.
所定の処理を1つのノード(コンピュータ)によって実行させるのではなく、複数のノードによって実行させる分散システムがある。分散システムの一例として、ネットワーク上の複数のサーバにリソース(ファイル,ディレクトリ,フォルダ等)を分散させて記憶させる分散ファイルシステムがある。分散ファイルシステムによれば、一部のサーバが災害等で損傷してもリソースが失われてしまう可能性を低減させることができる。近年のクラウドコンピューティングの普及に伴って、分散ファイルシステムが注目を集めている。 There is a distributed system in which predetermined processing is not executed by a single node (computer), but is executed by a plurality of nodes. As an example of a distributed system, there is a distributed file system in which resources (files, directories, folders, etc.) are distributed and stored in a plurality of servers on a network. According to the distributed file system, it is possible to reduce the possibility of losing resources even if some servers are damaged by a disaster or the like. With the spread of cloud computing in recent years, distributed file systems have attracted attention.
分散ファイルシステムによれば、高い可用性(availability)とスケーラビリティ(scalability)を実現することができる。分散ファイルシステムに対するリソースの書き込みや、分散ファイルシステムに記憶されているリソースの読み出し等のアクセスは、アクセス制御機構と称されているソフトウェアによって制御される。分散ファイルシステムに用いる分散管理型のアクセス制御機構を分散アクセス制御機構と称することとする。 According to the distributed file system, high availability and scalability can be realized. Accesses such as writing resources to the distributed file system and reading resources stored in the distributed file system are controlled by software called an access control mechanism. A distributed management type access control mechanism used in the distributed file system is referred to as a distributed access control mechanism.
分散ファイルシステムに記憶されているリソースを複数のユーザで共有する場合がある。分散ファイルシステムに記憶されているリソースにアクセスする際には、分散アクセス制御機構によって特定のユーザのみがアクセスできるようにユーザの認証が行われる。ユーザがリソースにアクセスする際の権限の範囲を個々のユーザに対して設定することができる。分散アクセス制御機構は、個々のユーザに与えられている権限の範囲に応じてリソースに対するアクセスを制御する。 A resource stored in a distributed file system may be shared by multiple users. When accessing a resource stored in the distributed file system, a user is authenticated by a distributed access control mechanism so that only a specific user can access the resource. The range of authority when a user accesses a resource can be set for each user. The distributed access control mechanism controls access to resources according to the scope of authority given to individual users.
分散アクセス制御機構は、分散ファイルシステムの可用性やスケーラビリティに大きな影響を及ぼす。そこで、分散ファイルシステムの可用性やスケーラビリティを向上させるためには、分散ファイルシステム単体ではなく、分散アクセス制御機構を含めたシステム全体で可用性やスケーラビリティを考えることが必要となる。高い可用性を実現するには、分散ファイルシステム及び分散アクセス制御機構が単一障害点を持たないことが必要である。高いスケーラビリティを実現するには、性能がスケールアウトすることが必要である。 The distributed access control mechanism greatly affects the availability and scalability of the distributed file system. Therefore, in order to improve the availability and scalability of the distributed file system, it is necessary to consider availability and scalability not for the distributed file system alone but for the entire system including the distributed access control mechanism. To achieve high availability, it is necessary that the distributed file system and the distributed access control mechanism have no single point of failure. To achieve high scalability, performance needs to be scaled out.
非特許文献1には、従来の分散アクセス制御機構の一例として、権限証明書を用いた分散アクセス制御機構が記載されている。 Non-Patent Document 1 describes a distributed access control mechanism using an authority certificate as an example of a conventional distributed access control mechanism.
分散アクセス制御機構を介して分散ファイルシステム等の分散システムにアクセスする際には、権限証明書の有効性が検証される。権限証明書がルート証明書を始端として権限が順次委譲されることによって発行された場合、分散アクセス制御機構に送信された権限証明書自体の有効性を検証するだけでなく、その送信された権限証明書の全ての委譲元の権限証明書の有効性を検証することも必要となる。即ち、分散アクセス制御機構が分散システムに対してアクセスする際には、複数の権限証明書の有効性を検証することが必要となる。 When accessing a distributed system such as a distributed file system via the distributed access control mechanism, the validity of the authority certificate is verified. When the authority certificate is issued by sequentially delegating the authority starting from the root certificate, not only the validity of the authority certificate itself sent to the distributed access control mechanism is verified but also the authority It is also necessary to verify the validity of the authority certificate of all delegation sources of the certificate. That is, when the distributed access control mechanism accesses the distributed system, it is necessary to verify the validity of a plurality of authority certificates.
複数の権限証明書の有効性を検証する際に、それぞれの権限証明書の有効性を検証するたびに通信を行うとすれば、通信コストの点で好ましくない。そこで、通信コストを極力少なくした上で、複数の権限証明書の有効性を検証することができる分散アクセス制御方法が望まれる。 When verifying the validity of a plurality of authority certificates, if communication is performed every time the validity of each authority certificate is verified, it is not preferable in terms of communication cost. Therefore, a distributed access control method that can verify the validity of a plurality of authority certificates while reducing the communication cost as much as possible is desired.
本発明はこのような要望に対応するため、複数の権限証明書の有効性を検証する際の通信コストを極力少なくすることができる分散アクセス制御方法を提供することを目的とする。 In order to meet such a demand, an object of the present invention is to provide a distributed access control method capable of reducing the communication cost when verifying the validity of a plurality of authority certificates as much as possible.
本発明は、上述した従来の技術の課題を解決するため、クライアントからサーバ(10)にアクセスするに際し、複数のノード(1nac)を備えて構成される分散アクセス制御機構(10ac)における前記複数のノードのうちのいずれかのノードを介してサーバにアクセスし、前記クライアントから前記サーバに対して操作要求を行う際に、前記操作要求に権限証明書(C)を添えて前記いずれかのノードに送信し、前記権限証明書は、ルート証明書を始端として権限が順次委譲されることによって発行され、ルート証明書から直前の委譲元である権限証明書までの全ての委譲元の権限証明書を特定する特定情報を示す連鎖証明書リスト(CCL)を含み、前記複数のノードの全てのノードは、いずれかのルート証明書が無効化された場合、無効化されたルート証明書を登録し、所定のルート証明書を委譲元として発行された権限証明書以降のいずれかの権限証明書が無効化された場合、前記所定のルート証明書を委譲元として発行された権限証明書以降のいずれの権限証明書であっても、前記所定のルート証明書を委譲元として発行された権限証明書の特定情報に基づいて決定した特定のノードに登録し、前記クライアントから前記操作要求に前記権限証明書を添えて前記いずれかのノードに送信する際に、前記特定のノードにアクセスさせることを特徴とする分散アクセス制御方法を提供する。 In order to solve the above-described problems of the conventional technology, the present invention provides a plurality of the plurality of nodes in the distributed access control mechanism (10ac) configured to include a plurality of nodes (1nac) when a client accesses the server (10). When a server is accessed via any one of the nodes and an operation request is made from the client to the server, an authority certificate (C) is attached to the operation request to any one of the nodes. The authority certificate is issued by sequentially delegating authority starting from the root certificate, and all authority certificates from the root certificate to the authority certificate that is the previous delegation source are issued. A chained certificate list (CCL) indicating specific information to be specified is included, and all the nodes of the plurality of nodes have nothing when one of the root certificates is invalidated. If any authority certificate after the authority certificate issued with the specified root certificate as a delegation source is invalidated, the predetermined root certificate as the delegation source Regardless of the authority certificate issued after the issued authority certificate, the predetermined root certificate is registered in a specific node determined based on the specific information of the authority certificate issued as a delegation source, A distributed access control method is provided in which a specific node is accessed when a client sends the operation request together with the authority certificate to the node.
上記の分散アクセス制御方法において、前記複数のノードにはそれぞれ固有のノードIDが設定され、それぞれの権限証明書は前記特定情報として証明書IDを有し、前記所定のルート証明書を委譲元として発行された権限証明書の証明書IDをハッシュ化したハッシュ値に基づいて選択したノードIDを有するノードを前記特定のノードとして選択し、前記所定のルート証明書を委譲元として発行された権限証明書以降の無効化された全ての権限証明書を前記特定のノードに登録することが好ましい。 In the distributed access control method, a unique node ID is set for each of the plurality of nodes, each authority certificate has a certificate ID as the specific information, and the predetermined root certificate is a delegation source A node having a node ID selected based on a hash value obtained by hashing the certificate ID of the issued authority certificate is selected as the specific node, and the authority certificate issued using the predetermined root certificate as a delegation source It is preferable to register all the invalid authority certificates after the certificate in the specific node.
本発明の分散アクセス制御方法によれば、複数の権限証明書の有効性を検証する際の通信コストを極力少なくすることができる。 According to the distributed access control method of the present invention, the communication cost when verifying the validity of a plurality of authority certificates can be reduced as much as possible.
以下、本発明の分散アクセス制御方法の一実施形態について、添付図面を参照して説明する。以下詳述する一実施形態は、分散アクセス制御方法を分散システムの一例である分散ファイルシステムで実行させる場合を示している。 Hereinafter, an embodiment of a distributed access control method of the present invention will be described with reference to the accompanying drawings. An embodiment described in detail below shows a case where a distributed access control method is executed by a distributed file system which is an example of a distributed system.
まず、図2を用いて分散ファイルシステムの概略について説明する。図2において、分散ファイルシステム10は、互いにネットワークで接続された複数のノード1nを備える。それぞれのノード1nはサーバとして機能するコンピュータによって構成される。分散ファイルシステム10の全体も仮想的な1つのサーバとして機能する。ユーザ2が所有するパーソナルコンピュータ等の端末であるクライアント3はインターネット等のネットワークで分散ファイルシステム10と接続される。複数のノード1nのそれぞれは、他の任意のノード1nと直接接続することができるフルメッシュなネットワークとなっていることが好ましい。
First, an outline of the distributed file system will be described with reference to FIG. In FIG. 2, the
分散ファイルシステム10に対してリソースを読み出したり書き込んだりする等のアクセスをリクエストと称し、分散ファイルシステム10に対してログインしてからログアウトするまでをセッションと称する。クライアント3が分散ファイルシステム10に対してアクセスすると、リクエスト毎またはセッション毎にロードバランサやDNSラウンドロビン等の仕組みによって、クライアント3からのアクセスは1つのノード1nに割り振られてその1つのノード1nのみと通信する。
Access to the
次に、図1を用いて分散アクセス制御機構の概略について説明する。図1において、分散アクセス制御機構10acは、互いにネットワークで接続された複数のノード1nacによって構成されている。分散アクセス制御機構10acも分散ファイルシステム10と同様、フルメッシュなネットワークとなっていることが好ましい。図1に示す例では、分散アクセス制御機構10acを構成していないノード1nと、分散アクセス制御機構10acを構成しているノード1nacとによって、分散ファイルシステム10が構成されている。ノード1nacは分散アクセス制御機構であるソフトウェアがインストールされたノードであり、ノード1nはそのソフトウェアがインストールされていないノードである。
Next, an outline of the distributed access control mechanism will be described with reference to FIG. In FIG. 1, the distributed access control mechanism 10ac is composed of a plurality of nodes 1nac connected to each other via a network. Similarly to the
図1は、分散ファイルシステム10を構成するノードが分散アクセス制御機構10acを構成するノード1nacと完全に一致していなくてもよいことを示している。勿論、分散ファイルシステム10を構成するノードを全て、分散アクセス制御機構10acを構成するノード1nacとして、分散ファイルシステム10と分散アクセス制御機構10acとを完全に一致させてもよい。
FIG. 1 shows that the nodes constituting the
図1は、図2で説明したロードバランサやDNSラウンドロビン等の仕組みによって、クライアント3からのアクセスが1つのノード1nacに割り振られてその1つのノード1nacのみと通信している状態を示している。図1において、ユーザ2aが所有するクライアント3aと、ユーザ2bが所有するクライアント3bと、ユーザ2cが所有するクライアント3cはそれぞれ、分散アクセス制御機構10acを構成する1つのノード1nacと接続されている。
FIG. 1 shows a state where access from the
ユーザ2a,2b,2cをユーザ2と総称し、クライアント3a,3b,3cをクライアント3と総称することとする。クライアント3とノード1nacとの通信やノード1nacどうしの通信はSSL/TLS(Secure Sockets Layer/Transport Layer Security)等によって秘匿性が担保されている。クライアント3は、例えばパーソナルコンピュータやPDA(携帯情報端末)であり、ネットワークに接続する機能を有する任意の端末でよい。端末に搭載されているOS(オペレーティングシステム)も任意である。
ここで、図3を用いて分散アクセス制御機構10acを構成するノード1nacの具体的構成について説明する。図3に示すように、クライアント3はノード1nacを介して分散ファイルシステム10にアクセスする。クライアント3はノード1nacを介することなく分散ファイルシステム10にアクセスすることはできない。ノード1nacは、ソフトウェアによって構成されるアクセス制御部11を有する。勿論、ノード1nacはソフトウェアであるアクセス制御部11を動作させるためのハードウェアを有する。それぞれのノード1nacには、分散アクセス制御機構10acの全体でユニークなノードID12が設定されている。
Here, a specific configuration of the node 1nac constituting the distributed access control mechanism 10ac will be described with reference to FIG. As shown in FIG. 3, the
それぞれのノード1nacは、全てのノード1nacのノードID12と接続情報とのマップであるノード経路表13を有する。接続情報とは、例えばURL、または、IPアドレスとポート番号との組である。ノード1nacは、ノード秘密鍵Knprとノード公開鍵Knpbとの鍵ペアを有する。ノード秘密鍵Knprとノード公開鍵Knpbとの鍵ペアはノード1nac毎に異なっている。鍵ペアは更新される場合がある。ノード1nacは、全てのノード1nacの過去から現在までのノード公開鍵Knpbのリストであるノード公開鍵リスト14を有する。また、ノード公開鍵リスト14は、ノードID12毎に、鍵ペアの利用開始日時とノード公開鍵Knpbと漏洩フラグとの3つの組をエントリ情報として有する。
Each node 1nac has a node route table 13 which is a map of
それぞれのノード1nacにおいて、ノード秘密鍵Knprの漏洩が疑われる場合に漏洩フラグが立てられる。即ち、漏洩が疑われる場合に、漏洩フラグは漏洩を示す値に設定される。なお、漏洩フラグが漏洩を示す値に設定されことは、必ずしも実際にノード秘密鍵Knprが漏洩したことを示すとは限らない。それぞれのノード1nacでノード秘密鍵Knprの漏洩が疑われる事態が発生した場合に、漏洩フラグは漏洩を示す値に設定される。管理者が手動にて漏洩フラグを立ててもよいし、漏洩が疑われる事態が発生したことを検出してノード1nacが自動的に漏洩フラグを立ててもよい。 In each node 1nac, a leakage flag is set when leakage of the node secret key Knpr is suspected. That is, when leakage is suspected, the leakage flag is set to a value indicating leakage. Note that setting the leakage flag to a value indicating leakage does not necessarily indicate that the node secret key Knpr has actually been leaked. When a situation in which leakage of the node secret key Knpr is suspected occurs in each node 1nac, the leakage flag is set to a value indicating leakage. The administrator may manually set a leak flag, or the node 1 nac may automatically set a leak flag upon detecting the occurrence of a suspected leak.
さらに、それぞれのノード1nacは、証明書失効リスト(以下、CRL: Certificate Revocation List)15と、証明書更新リスト(以下、CUL: Certificate Update List)16とを有する。後に詳述するように、CRL15及びCUL16は複数のノード1nacに分散されて記憶される。全てのノード1nacが保持するCRL15の全体で証明書失効トータルリストとなり、全てのノード1nacが保持するCUL16の全体で証明書更新トータルリストとなる。
Further, each node 1nac has a certificate revocation list (hereinafter, CRL) 15 and a certificate update list (hereinafter, CUL: Certificate Update List) 16. As will be described in detail later, the
表1は、それぞれのノード1nacが保持する情報をまとめて示している。 Table 1 collectively shows information held by each node 1nac.
図3に示すように、クライアント3が分散ファイルシステム10のリソースに対してアクセスする際には、操作要求に権限証明書Cを添えてノード1nacに送信する。後述するように、権限証明書Cはノード1nacが発行する。
As shown in FIG. 3, when the
権限証明書Cは、大略的には図4に示すケイパビリティ(Capability)にデジタル署名を付加したものである。ケイパビリティとはユーザ単位のアクセス制御情報である。図4に示すユーザA,B,Cはユーザ2の例である。図4に示すように、ユーザBは、リソースXに対しては読み出しと書き込みのいずれも許可されておらず、リソースYに対しては読み出しが許可されており、リソースZに対しては読み出しと書き込みのいずれも許可されている。このように、それぞれのユーザに対してどのようなアクセスを許可/不許可とするかを示す情報がケイパビリティである。 The authority certificate C is generally obtained by adding a digital signature to the capability shown in FIG. The capability is access control information for each user. Users A, B, and C shown in FIG. As shown in FIG. 4, the user B is not permitted to read or write to the resource X, is permitted to read the resource Y, and reads to the resource Z. Any writing is allowed. Thus, information indicating what kind of access is permitted / not permitted for each user is the capability.
なお、それぞれのリソース単位でどのユーザにどのようなアクセスを許可/不許可とするかを対応させた情報をACL(Access Control List)と称している。ACLを用いたACL方式は、集中管理型のアクセス制御機構で利用されている。本実施形態は、ACL方式ではなく、権限証明書Cを用いた分散管理型のアクセス制御機構である。 Note that information that associates what access is permitted / not permitted to which user in each resource unit is referred to as an ACL (Access Control List). The ACL method using the ACL is used in a centralized management type access control mechanism. This embodiment is a distributed management type access control mechanism using an authority certificate C instead of the ACL method.
ノード1nacは、操作要求に添えられた権限証明書Cが有効であり、要求された操作が権限証明書Cにおいて許可されており、クライアント3(ユーザ2)が権限証明書Cの所有者であることが認証された場合に、分散ファイルシステム10に対して操作要求を仲介する。権限証明書Cが有効であるか否かは、複数のノード1nacに分散されて記憶されたCRL15及びCUL16を参照する。これについては後述する。クライアント3(ユーザ2)の認証は、操作要求のたびに毎回行う必要はなく、認証結果をキャッシュしておいてセッション単位で認証してもよい。
In the node 1nac, the authority certificate C attached to the operation request is valid, the requested operation is permitted in the authority certificate C, and the client 3 (user 2) is the owner of the authority certificate C. If it is authenticated, the operation request is mediated to the distributed
表2は、権限証明書Cに含まれている情報を示している。 Table 2 shows information included in the authority certificate C.
権限証明書Cに含まれる証明書IDは後述する権限証明書Cの更新を行っても不変である。証明書IDは権限証明書Cを特定する特定情報である。対象リソースは、図4で説明したリソースX,Y,Z等であり、許可する操作は図4で説明した読み出しや書き込み、データの複写,印刷,削除等である。本実施形態では、ユーザ2は、所有する権限証明書Cに基づいてそのサブセット権限を有する新たな権限証明書Cを発行することができる。対象リソースと許可する操作と有効期間は、権限の範囲を示す権限情報である。
The certificate ID included in the authority certificate C does not change even when the authority certificate C described later is updated. The certificate ID is identification information that identifies the authority certificate C. The target resource is the resource X, Y, Z or the like described with reference to FIG. 4, and the permitted operation is the reading or writing, data copying, printing, or deletion described with reference to FIG. In the present embodiment, the
連鎖証明書リストは、権限証明書Cがどのように連鎖しているかを示す。連鎖証明書リストが空であればルート証明書ということになる。ルート証明書は少なくとも1つ存在しているものとする。なお、ルート証明書を分散アクセス制御機構10acの管理者が保有していてもよいし、管理者が特定のユーザ2に発行してもよい。ルート証明書がどのように存在しているかは限定されない。なお、認証方式をパスワード認証に限定する場合には、表2に示す認証方式を示す情報は不要である。
The chain certificate list indicates how the authority certificate C is chained. If the chained certificate list is empty, it is a root certificate. It is assumed that at least one root certificate exists. The root certificate may be held by the administrator of the distributed access control mechanism 10ac, or may be issued to a
権限証明書Cの発行日時は、権限証明書Cが更新されていない場合には権限証明書Cを最初に発行した発行日時であり、後述のように権限証明書Cが更新された場合には更新日時となる。更新日時とは権限証明書Cの内容を更新した新たな権限証明書Cを発行した発行日時であり、発行日時とは更新日時を含むものとする。発行者ノードIDは権限証明書Cを発行したノード1nacに設定されているノードIDであり、署名は権限証明書Cを発行したノード1nacが有するノード秘密鍵Knprを用いたデジタル署名である。 The issuance date / time of the authority certificate C is the issuance date / time when the authority certificate C was first issued when the authority certificate C has not been updated, and when the authority certificate C has been updated as described later. Update date and time. The update date / time is an issue date / time when a new authority certificate C in which the content of the authority certificate C is updated is issued, and the issue date / time includes the update date / time. The issuer node ID is a node ID set in the node 1nac that issued the authority certificate C, and the signature is a digital signature using the node secret key Knpr possessed by the node 1nac that issued the authority certificate C.
図5を用いて、権限証明書Cの権限委譲の例について説明する。ユーザ2としてAliceが所有する権限証明書Cを権限証明書CAとする。図5では、表2に示す権限証明書Cに含まれる情報の一部のみを示している。図5におけるCCLは連鎖証明書リストである。Aliceが所有する権限証明書CAの証明書IDはA0001であり、連鎖証明書リストCCLが空である。即ち、権限証明書CAはルート証明書である。
An example of authority delegation of the authority certificate C will be described with reference to FIG. The right certificate C that Alice possesses a right certificate C A as
Aliceが他のユーザ2としてBobに権限を委譲したとする。委譲先(ここではBob)の権限は委譲元(ここではAlice)の権限を越えない範囲である。Bobが所有する権限証明書Cを権限証明書CBとする。Bobが所有する権限証明書CBの証明書IDはB0001であり、権限証明書CBの連鎖証明書リストCCLには権限の委譲元の証明書IDであるA0001が記載されている。
Assume that Alice delegates authority to Bob as another
さらに、Bobが他のユーザ2としてCarolに権限を委譲したとする。同様に、委譲先(ここではCarol)の権限は委譲元(ここではBob)の権限を越えない範囲である。Carolが所有する権限証明書Cを権限証明書CCとする。権限証明書CCの連鎖証明書リストCCLには権限の委譲元全ての証明書IDであるA0001,B0001が記載されている。このように、連鎖証明書リストCCLは、ルート証明書を始端として権限が順に委譲され場合のルート証明書から直前の証明書までの全ての委譲元の証明書IDのリストを示している。権限証明書Cに含まれている連鎖証明書リストCCLに記載されている証明書IDによって、どのような権限証明書Cの経路で権限が委譲されたかが分かる。
Furthermore, Bob delegates authority to Carol as another
ここで、図6を用いてノード1nacによる権限証明書Cの発行手順SAについて説明する。図6に示す権限証明書Cの発行手順SAは、一実施形態の分散アクセス制御方法の一部である権限証明書Cの発行方法であり、一実施形態の分散アクセス制御プログラムで実行させるステップの一部である権限証明書Cの発行ステップである。 Here, the issuing procedure SA of the authority certificate C by the node 1nac will be described with reference to FIG. The issuing procedure SA of the authority certificate C shown in FIG. 6 is an issuing method of the authority certificate C that is a part of the distributed access control method of the embodiment, and is a step executed by the distributed access control program of the embodiment. This is a step of issuing a part of the authority certificate C.
ユーザ2がクライアント3の端末を操作して、委譲元の権限証明書C(ユーザ2が所有する権限証明書C)と、新たに発行する権限証明書Cの権限情報と、初期パスワードpiを入力して、ノード1nacに対して新たな権限証明書Cの発行を指示したとする。委譲元の権限証明書CをCPとする。ノード1nacのアクセス制御部11は、ステップSA1にて、クライアント3から、委譲元の権限証明書CPと、新たに発行する権限証明書Cの権限情報と、初期パスワードpiを受け取る。
The
図5におけるBobがCarolに権限を委譲する場合を例にすると、アクセス制御部11は、Bobが所有する権限証明書CBと新たに発行してCarolに与えようとする権限証明書CCの権限情報と初期パスワードpiを受け取る。初期パスワードpiはBobが予め定められたパスワードの付与ルールに従って適宜に設定すればよい。以下、理解を容易にするためにBobがCarolに権限を委譲する場合の説明を適宜補足することとする。
In the case of Bob in FIG. 5 delegating authority to Carol, for example, the
アクセス制御部11は、ステップSA2にて、委譲元の権限証明書CP(権限証明書CB)を検証する。ステップSA2の権限証明書CPの検証手順SFの具体的手順については後述する。アクセス制御部11は、ステップSA3にて、ユーザ2(クライアント3)が委譲元の権限証明書CP(権限証明書CB)の所有者であることを認証する。ステップSA3のユーザ2が委譲元の権限証明書CPの所有者であることの認証手順SBの具体的手順については後述する。認証が成立した場合には、アクセス制御部11は処理をステップSA4に移行させる。
In step SA2, the
アクセス制御部11は、ステップSA4にて、委譲元の権限証明書CP(権限証明書CB)と比較して新たに発行する権限証明書C(権限証明書CC)の権限情報に権限の拡大や期限の延長等の不正がなく正当であるか否かを確認する。正当でなければ(NO)、アクセス制御部11は、ステップSA10にて、新しい権限証明書C(権限証明書CC)の発行を不許可として終了する。この際、特に図示していないが、アクセス制御部11は、新しい権限証明書Cの発行を不許可となったこと及びその理由をユーザ2(Bob)に通知する。
In step SA4, the
ステップSA4にて正当であれば(YES)、アクセス制御部11は、ステップSA5にて、新たに発行する権限証明書C(権限証明書CC)の証明書IDを生成して設定する。アクセス制御部11は、ステップSA6にて、初期パスワードpiを用いて公開認証情報Ioauthを生成して設定する。公開認証情報Ioauthは次の式(1)によって求める。式(1)において、r1,r2は乱数、passwordは初期パスワードpiの平文である。また、a‖bはaとbとを連結(ビット結合)することを意味し、H(M)はメッセージMに対して一方向ハッシュ関数を適用することを意味し、EKnpb(M)はメッセージMをノード公開鍵Knpbを用いて暗号化することを意味する。
If it is valid in step SA4 (YES), the
Ioauth=r1‖r2‖EKnpb(r2‖H(r1‖password)) …(1) Ioauth = r 1 ‖r 2 ‖E Knpb (r 2 ‖H (r 1 ‖password))… (1)
式(1)において、乱数r1,r2は公開認証情報Ioauthをより不規則とするために用いており、乱数r1,r2は擬似乱数であってもよい。公開認証情報Ioauthは、パスワードを一方向性ハッシュ関数を用いて一方向化し、ノード1nacが備えるノード公開鍵Knpbを用いて暗号化した値である。 In Expression (1), the random numbers r 1 and r 2 are used to make the public authentication information Ioauth more irregular, and the random numbers r 1 and r 2 may be pseudo-random numbers. The public authentication information Ioauth is a value obtained by encrypting a password using a one-way hash function and encrypting it using a node public key Knpb included in the node 1nac.
アクセス制御部11は、ステップSA7にて、新たに発行する権限証明書C(権限証明書CC)の連鎖証明書リストCCLとして、委譲元の権限証明書CP(権限証明書CB)の連鎖証明書リストCCLに委譲元の権限証明書CP(権限証明書CB)の証明書IDを加えたリストを設定する。図5で説明したように、権限証明書CBの連鎖証明書リストCCLには証明書IDとしてA0001が記載されており、この連鎖証明書リストCCLに権限証明書CBの証明書IDであるB0001を加えることによって、権限証明書CCの連鎖証明書リストCCLとなる。
In step SA7, the
アクセス制御部11は、ステップSA8にて、新たに発行する権限証明書C(権限証明書CC)の発行日時に現在時刻を設定し、発行者ノードIDに新たな権限証明書Cを発行しようとしているノード1nac自身のノードIDを設定する。ここでの現在時刻とは、年月日及び秒までの現在時刻である。そして、アクセス制御部11は、ステップSA9にて、新たな権限証明書Cを発行しようとしているノード1nac自身のノード秘密鍵Knprを用いてデジタル署名し、新しい権限証明書C(権限証明書CC)を発行して終了する。
In step SA8, the
以上のようにして、新たに発行する権限証明書Cとして、証明書ID,新たな権限情報,公開認証情報,連鎖証明書リスト,発行日時,発行者ノードID,デジタル署名が設定された新しい権限証明書Cが発行される。 As described above, a new authority in which a certificate ID, new authority information, public authentication information, chained certificate list, issue date / time, issuer node ID, and digital signature are set as a newly issued authority certificate C Certificate C is issued.
新しい権限証明書Cを委譲先のユーザ2(クライアント3)に渡す方法は任意である。例えば、BobがCarolに権限を委譲する場合、新たに発行した権限証明書CCをCarolに直接送付してもよいし、Bobに送付してBobがCarolに転送してもよい。また、ノード1nacが新たに発行した権限証明書CCを保持しておき、Carolが分散アクセス制御機構10acにログインした時点でCarolに転送するようにしてもよい。 A method of transferring the new authority certificate C to the user 2 (client 3) as the delegation destination is arbitrary. For example, if Bob is devolved to Carol, it may be sent directly to right certificate C C newly issued Carol, Bob and send to Bob may also be transferred to Carol. The node 1nac is holds the authority certificate C C newly issued, Carol may be transferred to Carol when logging into distributed access control mechanism 10ac.
以上の説明より分かるように、本実施形態によれば、ユーザ2は自身が保有する権限の範囲内で、他のユーザ2に対して分散ファイルシステム10へのアクセスの権限を自由に設定することができる。分散アクセス制御機構10acの管理者等の特定の者が権限証明書Cを発行し、権限証明書Cの管理を行う必要がないので、権限証明書Cの発行・管理のコストを分散させることが可能となる。
As can be seen from the above description, according to the present embodiment, the
図7を用いて、図6におけるステップSA3のユーザ2が委譲元の権限証明書C(ここでは権限証明書CP)の所有者であることの認証手順SBの具体的手順について説明する。図7に示す認証手順SBは、一実施形態の分散アクセス制御方法の一部である認証方法であり、一実施形態の分散アクセス制御プログラムで実行させるステップの一部である認証ステップである。
With reference to FIG. 7, a specific procedure of the authentication procedure SB that the
図7において、アクセス制御部11は、ステップSB1にて、権限証明書C(権限証明書CP)とパスワードpを受け取る。パスワードpは権限証明書CPを発行した際に設定したパスワードである。パスワードを変更していなければ、パスワードpは初期パスワードpiである。アクセス制御部11は、ステップSB2にて、権限証明書Cから公開認証情報Ioauthを取得する。アクセス制御部11は、ステップSB3にて、ノード公開鍵リストから権限証明書C(権限証明書CP)の発行時に用いられたノード公開鍵Knpbを取得する。ステップSB3のノード公開鍵Knpbの取得手順SEの具体的手順については後述する。
In FIG. 7, the
アクセス制御部11は、ステップSB4にて、次の式(2)が成立するか否かを判定する。式(2)において、cは公開認証情報Ioauthを乱数r1,r2と値cとに分割したときの値cである。逆に言えば、cは乱数r1,r2と値cとを連結して公開認証情報Ioauthとなるような値である。
In step SB4, the
c=EKnpb(r2‖H(r1‖p)) …(2) c = E Knpb (r 2 ‖H (r 1 ‖p)) (2)
式(2)が成立すれば(YES)、アクセス制御部11は、ステップSB5にて、パスワード認証は成立したと決定して終了する。式(2)が成立しなければ(NO)、アクセス制御部11は、ステップSB6にて、パスワード認証は不成立であると決定して終了する。式(2)が成立するということは、ユーザ2によって入力されたパスワードpを一方向性ハッシュ関数を用いて一方向化し、権限証明書C(権限証明書CP)の発行時に用いられたノード公開鍵Knpbを用いて暗号化した値が、公開認証情報Ioauthと一致するということである。
If Formula (2) is materialized (YES), the
このように、パスワードpを一方向性ハッシュ関数を用いて一方向化し、ノード公開鍵リストから取得した権限証明書Cの発行時に用いられたノード公開鍵Knpbを用いて暗号化した値と、権限証明書Cから取得した公開認証情報とを比較することによって、クライアント3(ユーザ2)が権限証明書Cの所有者であることを認証することができる。本実施形態では、ユーザ2(クライアント3)から送信された権限証明書Cとパスワードpのみを用いてパスワード認証を実現することが可能である。 In this way, the password p is unidirectional using the one-way hash function, the value encrypted using the node public key Knpb used when issuing the authority certificate C acquired from the node public key list, and the authority By comparing with the public authentication information acquired from the certificate C, it is possible to authenticate that the client 3 (user 2) is the owner of the authority certificate C. In this embodiment, password authentication can be realized using only the authority certificate C and the password p transmitted from the user 2 (client 3).
ところで、公開認証情報Ioauthは、「条件1:分散アクセス制御機構10ac(ノード1nac)が公開認証情報Ioauthのみを用いて権限証明書Cの認証を行うことができる」、「条件2:公開認証情報Ioauthが漏洩した場合でも権限証明書Cの認証の安全性が担保できる」の2つの条件を満たす情報である。条件2を満たすことにより権限証明書Cに公開認証情報Ioauthを含めることが可能となる。条件1を満たすことにより、分散アクセス制御機構10acは認証情報を保持する必要がない。
By the way, the public authentication information Ioauth is “condition 1: the distributed access control mechanism 10ac (node 1nac) can authenticate the authority certificate C using only the public authentication information Ioauth”, “condition 2: public authentication information. It is information that satisfies the two conditions of “the security of authentication of the authority certificate C can be ensured even when Ioauth is leaked”. When the
上記の式(1)によれば公開認証情報Ioauthは一方向ハッシュ関数によって一方向化されているため、逆向きにパスワードを求めることは極めて困難である。従って、仮に攻撃者が他人の権限証明書Cを入手したとしても、図7の認証手順SBでパスワード認証が成功する可能性は極めて低い。さらには、攻撃者は、通常、ノード秘密鍵Knprとノード公開鍵Knpbとの鍵ペアを知り得ないため、公開認証情報Ioauthを計算することも極めて困難である。 According to the above equation (1), since the public authentication information Ioauth is unidirectional by the one-way hash function, it is extremely difficult to obtain the password in the reverse direction. Therefore, even if an attacker obtains another person's authority certificate C, the possibility of successful password authentication in the authentication procedure SB of FIG. 7 is extremely low. Furthermore, since the attacker cannot usually know the key pair of the node secret key Knpr and the node public key Knpb, it is extremely difficult to calculate the public authentication information Ioauth.
なお、パスワード認証の代わりに従来一般的に行われている公開鍵認証を採用する場合には、図7に示すパスワード認証の認証手順SBの代わりに一般的な公開鍵認証の認証手順を用いることが可能である。 In addition, when adopting public key authentication that is generally performed instead of password authentication, a general public key authentication authentication procedure should be used instead of the password authentication authentication procedure SB shown in FIG. Is possible.
本実施形態によれば、図6で説明した権限証明書Cの発行方法を採用することによって、パスワード認証が可能な権限証明書Cとすることができる。本実施形態によれば、図7で説明した認証方法を採用することによって、ユーザ2が権限証明書Cの所有者であることを認証することができる。以上によって、パスワード認証を実現している。
According to the present embodiment, the authority certificate C capable of password authentication can be obtained by adopting the method for issuing the authority certificate C described in FIG. According to the present embodiment, it is possible to authenticate that the
次に、認証情報の更新について説明する。本実施形態によれば、管理者等の第三者によらず、いわゆる自立的に認証情報を更新することが可能である。非特許文献1に記載のような従来の分散アクセス制御機構においては、権限証明書Cの署名に権限証明書Cの最初の許諾者(図5の例ではルート証明書を所有するAlice)の秘密鍵を必要とする。従って、最初の許諾者からの委譲先以降である権限証明書Cの所有者(図5の例ではBob,Carol)は自立的に認証情報を更新することはできない。本実施形態では、図8に示す認証情報の更新手順SCによって自立的な認証情報の更新を実現している。 Next, update of authentication information will be described. According to the present embodiment, it is possible to update the authentication information in a so-called autonomous manner without depending on a third party such as an administrator. In the conventional distributed access control mechanism as described in Non-Patent Document 1, the secret of the first licensee of the authority certificate C (Alice who owns the root certificate in the example of FIG. 5) is included in the signature of the authority certificate C. I need a key. Therefore, the owner of the authority certificate C (Bob, Carol in the example of FIG. 5) after the delegation destination from the first licenser cannot autonomously update the authentication information. In this embodiment, the authentication information update procedure SC shown in FIG. 8 realizes autonomous update of the authentication information.
図8を用いて、権限証明書Cの認証情報を更新する際の更新手順SCについて説明する。図8に示す権限証明書Cの更新手順SCは、一実施形態の分散アクセス制御方法の一部である更新方法であり、一実施形態の分散アクセス制御プログラムで実行させるステップの一部である更新ステップである。 The update procedure SC for updating the authentication information of the authority certificate C will be described with reference to FIG. The update procedure SC of the authority certificate C shown in FIG. 8 is an update method that is a part of the distributed access control method according to the embodiment, and is an update that is a part of the steps executed by the distributed access control program according to the embodiment. It is a step.
ユーザ2がクライアント3の端末を操作して、更新しようとする権限証明書Cと新しい認証情報(パスワードp)を入力して、ノード1nacに対して権限証明書Cの更新を指示したとする。図8において、アクセス制御部11は、ステップSC1にて、更新する権限証明書Cと新しいパスワードpを受け取る。アクセス制御部11は、ステップSC2にて、権限証明書Cを検証する。ステップSC2の権限証明書Cの検証手順SFの具体的手順については後述する。アクセス制御部11は、ステップSC3にて、ユーザ2が権限証明書Cの所有者であることを認証する。
Assume that the
ステップSC3のユーザ2が権限証明書Cの所有者であることの認証手順SBの具体的手順は図7で説明した通りである。但し、ステップSC3では、ユーザ2は認証手順SBにおいて更新しようとしている権限証明書Cの発行時に設定したパスワードpを入力して、ノード1nacが図7のように認証する。
The specific procedure of the authentication procedure SB that the
アクセス制御部11は、ステップSC4にて、権限証明書Cの内容を複写して新しい権限証明書C’を作成する。アクセス制御部11は、ステップSC5にて、新しいパスワードpから公開認証情報Ioauthを生成して、新しい権限証明書C’に設定する。アクセス制御部11は、ステップSC6にて、新しい権限証明書C’の発行日時に現在時刻を設定し、ステップSC7にて権限証明書Cを更新しようとしているノード1nac自身のノード秘密鍵Knprを用いてデジタル署名し、新しい権限証明書C’を発行する。そして、アクセス制御部11は、ステップSC8にて、新しい権限証明書C’をユーザ2に返送し、併せて、新しい権限証明書C’を複数のノード1nacのCUL16に登録する。
In step SC4, the
前述のように、権限証明書Cの内容を更新しても証明書IDが不変である。従って、公開認証情報Ioauthを更新した新たな権限証明書C’は更新前の権限証明書Cの証明書IDを維持している。CUL16は、更新前の権限証明書Cの証明書IDを有する公開認証情報Ioauthを更新した新たな権限証明書C’を格納する。CUL16については図10を用いて後に詳述する。また、ステップSC8にて、新しい権限証明書C’をどの複数のノード1nacに記憶させるかについても後述する。
As described above, even if the contents of the authority certificate C are updated, the certificate ID does not change. Therefore, the new authority certificate C ′ whose public authentication information Ioauth has been updated maintains the certificate ID of the authority certificate C before the update. The
このように、本実施形態では、分散アクセス制御機構10ac(ノード1nac)がノード秘密鍵Knprを用いて署名するので、権限証明書Cを更新しようとする権限証明書Cの所有者は、最初の許諾者によらず自由に認証情報を更新することが可能となる。非特許文献1に記載の従来の分散アクセス制御機構のようにユーザ2が自由に権限証明書Cを作成して発行できる場合には、権限証明書Cを検証する際に権限の範囲の拡大や期限の延長がないかを確認しなければならない。本実施形態では、分散アクセス制御機構10ac(ノード1nac)が権限証明書Cを発行するので、発行の際に権限の範囲の拡大や期限の延長がないかを確認することができる。よって、検証のコストを低減させることが可能となる。
Thus, in this embodiment, since the distributed access control mechanism 10ac (node 1nac) signs using the node secret key Knpr, the owner of the authority certificate C who intends to update the authority certificate C is the first It is possible to freely update the authentication information regardless of the licensee. When the
次に、図9,図10を用いてCRL15,CUL16について説明する。非特許文献1に記載の従来の分散アクセス制御機構では、権限証明書Cを更新する手段は明示的に提供されていない。従って、前述のように、権限証明書Cを更新しようとすれば、発行済みの権限証明書Cを無効化し、新たに権限証明書Cを再発行することになる。しかしながら、一旦権限証明書を無効化すると、大きな副作用を起こしてしまう。そこで、本実施形態では、CUL16を用いることによって副作用のない権限変更を実現している。
Next,
図9(A)に示すように、権限証明書CAに基づいて権限証明書CBが発行され、権限証明書CBに基づいて権限証明書CCが発行され、権限証明書CCに基づいて権限証明書CDが発行されている。権限証明書CA〜CDにそれぞれの証明書IDを記載している。権限証明書CBを無効化すると、図9(B)に示すように、権限証明書CBを無効化することによってCRL15には権限証明書CBが登録される。図9(A)及び図10(A)において、×は無効となっていることを示す。 As shown in FIG. 9 (A), based on the authorization certificate C A is issued right certificate C B, right certificate C C based on the authorization certificate C B is issued, the authority certificate C C An authority certificate CD is issued based on this. Each certificate ID is described in the authority certificates C A to C D. Disabling right certificate C B, as shown in FIG. 9 (B), the CRL15 by disabling the right certificate C B is right certificate C B are registered. In FIG. 9A and FIG. 10A, x indicates that it is invalid.
ある権限証明書Cにおいて、図5で説明した連鎖証明書リストCCLに記載されている証明書IDのいずれか1つでもCRL15に登録されていれば、その権限証明書Cは無効となる。従って、図9(A)に示すように、権限証明書CBに基づいて発行された権限証明書CCと、権限証明書CCに基づいて発行された権限証明書CDも無効となる。
If any one certificate ID registered in the
これに対して、CUL16は権限証明書Cがどのように更新されたかを示す情報を登録している。図10(A)は、権限証明書CBが権限証明書CB’に更新された状態を示している。権限証明書CBが権限証明書CB’に更新されても証明書IDは不変である。図10(B)に示すように、CUL16に権限証明書CBが権限証明書CB’に更新されたことが登録されている。ここでは概念的に示しており、CUL16には、更新前の権限証明書Cの証明書IDと更新後の権限証明書C’の内容とを対応させた情報が登録される。証明書IDが不変であるので、CUL16には、更新後の権限証明書C’が登録されるということである。図10(A)の例では、図10(B)に示すCUL16には、更新前の権限証明書CBの証明書IDであるB0001を有する更新後の権限証明書CB’が登録される。
On the other hand, the
図11を用いて権限証明書Cの権限情報を更新する際の更新手順SDについて説明する。図11に示す権限証明書Cの更新手順SDは、一実施形態の分散アクセス制御方法の一部である更新方法であり、一実施形態の分散アクセス制御プログラムで実行させるステップの一部である更新ステップである。 The update procedure SD when updating the authority information of the authority certificate C will be described with reference to FIG. The update procedure SD of the authority certificate C shown in FIG. 11 is an update method that is a part of the distributed access control method of one embodiment, and is an update that is part of the steps executed by the distributed access control program of the one embodiment. It is a step.
ユーザ2がクライアント3の端末を操作して、更新しようとする権限証明書Cと、更新しようとする権限証明書Cに新しく設定する権限情報と、更新者であるユーザ2が所有する権限証明書Cを入力して、権限証明書Cの権限変更を指示したとする。更新者が所有する権限証明書CをCUとする。アクセス制御部11は、ステップSD1にて、更新する権限証明書Cと、新しく設定する権限情報と、更新者が所有する権限証明書CUを受け取る。
The
図5におけるBobが更新者であり、Carolが所有する権限証明書CCを更新する場合を例にすると、アクセス制御部11は、更新しようとするCarolの権限証明書CCと、新しく設定する権限情報と、Bobが所有する権限証明書CBを受け取る。以下、理解を容易にするためにBobがCarolの権限証明書CCを更新する場合の説明を適宜補足することとする。
A Bob is updated by in FIG. 5, the following applies for the case of updating the right certificate C C that Carol owned, the
アクセス制御部11は、ステップSD2にて、更新する権限証明書C(権限証明書CC)及び更新者の権限証明書CU(権限証明書CB)を検証する。ステップSD2の権限証明書Cの検証手順SFの具体的手順については後述する。アクセス制御部11は、ステップSD3にて、更新者が所有する権限証明書CU(権限証明書CB)が、更新する権限証明書C(権限証明書CC)の連鎖証明書リストCCLの中に存在するか否かを確認する。更新者が所有する権限証明書CUが、更新する権限証明書Cの連鎖証明書リストCCLの中に存在するということは、更新者が所有する権限証明書CUが更新する権限証明書Cの委譲元であるということである。
In step SD2, the
更新者が所有する権限証明書CUが、更新する権限証明書Cの連鎖証明書リストCCLの中に存在しなければ(NO)、アクセス制御部11は、ステップSD11にて、権限証明書C(権限証明書CC)の更新を不許可として終了する。
If the authority certificate CU owned by the renewer does not exist in the chained certificate list CCL of the authority certificate C to be updated (NO), the
更新者が所有する権限証明書CUが、更新する権限証明書Cの連鎖証明書リストCCLの中に存在すれば(YES)、アクセス制御部11は、処理をステップSD4に移行させる。アクセス制御部11は、ステップSD4にて、更新者が所有する権限証明書CUと比較して、新しく設定する権限情報に権限の拡大や期限の延長等の不正がなく正当であるか否かを確認する。正当でなければ(NO)、アクセス制御部11は、ステップSD11にて、権限証明書C(権限証明書CC)の更新を不許可として終了する。
If the authority certificate CU owned by the updater is present in the chained certificate list CCL of the authority certificate C to be updated (YES), the
正当であれば(YES)、アクセス制御部11は、処理をステップSD5に移行させる。アクセス制御部11は、ステップSD5にて、更新者が権限証明書CU(権限証明書CB)の所有者であることを認証する。ステップSD5の更新者が権限証明書CUの所有者であることの認証手順SBの具体的手順は図7で説明した通りである。但し、ステップSD5では、ユーザ2は更新者が所有する権限証明書CUの発行時に設定したパスワードpを入力して、ノード1nacが図7のように認証する。
If it is valid (YES), the
アクセス制御部11は、ステップSD6にて、更新する権限証明書C(権限証明書CC)の内容を複写して新しい権限証明書C’を作成する。アクセス制御部11は、ステップSD7にて、新しい権限情報を新しい権限証明書C’に設定する。アクセス制御部11は、ステップSD8にて、新しい権限証明書C’の発行日時に現在時刻を設定する。アクセス制御部11は、ステップSD9にて、権限証明書Cを更新しようとしているノード1nac自身のノード秘密鍵Knprを用いてデジタル署名し、新しい権限証明書C’を発行する。そして、アクセス制御部11は、ステップSD10にて、更新する権限証明書C(権限証明書CC)の証明書IDを有する新しい権限証明書C’を複数のノード1nacのCUL16に格納して終了する。
In step SD6, the
ステップSD10にて、新しい権限証明書C’をどの複数のノード1nacに記憶させるかについては後述する。なお、同じ証明書IDに対してCUL16に権限証明書C’が登録されている場合には、発行日時の新しい方の権限証明書C’で上書きする。
In step SD10, which node 1nac stores the new authority certificate C 'will be described later. If the authority certificate C ′ is registered in the
ここで、図12を用いて、図7の認証手順SBにおけるステップSB3のノード公開鍵Knpbの取得手順SEの具体的手順について説明する。図12に示すノード公開鍵Knpbの取得手順SEは、一実施形態の分散アクセス制御方法の一部であるノード公開鍵Knpbの取得方法であり、一実施形態の分散アクセス制御プログラムで実行させるステップの一部であるノード公開鍵Knpbの取得ステップである。 Here, a specific procedure of the node public key Knpb acquisition procedure SE of step SB3 in the authentication procedure SB of FIG. 7 will be described with reference to FIG. The node public key Knpb acquisition procedure SE shown in FIG. 12 is a node public key Knpb acquisition method that is a part of the distributed access control method of the embodiment, and is a step executed by the distributed access control program of the embodiment. This is a step of obtaining a node public key Knpb that is a part.
図12において、アクセス制御部11は、ステップSE1にて、権限証明書Cから発行日時と発行者ノードIDを取得する。アクセス制御部11は、ステップSE2にて、ノード公開鍵リストから発行者ノードIDに対応する鍵ペアの利用開始日時とノード公開鍵Knpbと漏洩フラグとの3つの組であるエントリ情報を検索する。
In FIG. 12, the
アクセス制御部11は、ステップSE3にて、該当するエントリ情報のうち、鍵ペアの利用開始日時よりも権限証明書Cの発行日時が新しく、利用開始日時が最も新しいエントリ情報を取得する。そして、アクセス制御部11は、ステップSE4にて、取得したエントリ情報からノード公開鍵Knpbと漏洩フラグとを取得する。
In step SE3, the
前述のように、ノード公開鍵リストには、過去から現在までの全てのノード1nacのノード公開鍵Knpbが格納されている。図12に示す取得手順SEによって、権限証明書Cの発行や更新を担当していないノード1nacであっても、権限証明書Cの検証手順SF及び認証手順SBで必要となるノード公開鍵Knpbを取得することができる。 As described above, the node public key list stores the node public keys Knpb of all the nodes 1nac from the past to the present. The node public key Knpb necessary for the verification procedure SF and authentication procedure SB of the authority certificate C is obtained even by the node 1nac that is not in charge of issuing or updating the authority certificate C by the acquisition procedure SE shown in FIG. Can be acquired.
次に、図13を用いて、図6の権限証明書Cの発行手順SA、図8の認証情報の更新手順SC、図11の権限証明書Cの更新手順SDのそれぞれで行われる権限証明書Cの検証手順SFの具体的手順について説明する。図13に示す権限証明書Cの検証手順SFは、一実施形態の分散アクセス制御方法の一部である権限証明書Cの検証方法であり、一実施形態の分散アクセス制御プログラムで実行させるステップの一部である権限証明書Cの検証ステップである。 Next, with reference to FIG. 13, the authority certificate performed in the authority certificate C issuance procedure SA in FIG. 6, the authentication information update procedure SC in FIG. 8, and the authority certificate C update procedure SD in FIG. A specific procedure of the C verification procedure SF will be described. The verification procedure SF of the authority certificate C shown in FIG. 13 is a verification method of the authority certificate C that is a part of the distributed access control method of the embodiment, and is a step executed by the distributed access control program of the embodiment. This is a verification step for a part of the authority certificate C.
図13において、アクセス制御部11は、ステップSF1にて、現在時刻が権限証明書Cの有効期限の範囲内であるか否かを確認する。有効期限の範囲内でなければ(NO)、アクセス制御部11は、ステップSF9にて、権限証明書Cを無効と決定して終了する。有効期限の範囲内であれば(YES)、アクセス制御部11は、ステップSF2にて、権限証明書Cとその連鎖証明書リストに含まれる全ての権限証明書Cがいずれも無効でないことを確認する。ステップSF2の確認手順SHの具体的手順については後述する。
In FIG. 13, the
アクセス制御部11は、ステップSF3にて、ノード公開鍵リストから権限証明書Cの発行時に用いられたノード公開鍵Knpbと漏洩フラグとを取得する。ステップSF3のノード公開鍵Knpbと漏洩フラグの取得手順SEは図12で説明した通りである。アクセス制御部11は、ステップSF4にて、漏洩フラグが漏洩を示す値であるか否かを判定する。前述のように、漏洩フラグが漏洩を示す値であれば、ノード秘密鍵Knprの漏洩が疑われる事態が発生したということである。漏洩フラグが漏洩を示す値であれば(YES)、アクセス制御部11は、ステップSF9にて権限証明書Cを無効と決定して終了する。
In step SF3, the
漏洩フラグが漏洩を示す値でなければ(NO)、アクセス制御部11は、ステップSF5にて、ノード公開鍵Knpbを用いて権限証明書Cの署名を検証する。特に図示していないが、署名の検証を失敗した場合には権限証明書Cを無効と決定して終了する。アクセス制御部11は、ステップSF6にて、権限証明書Cが更新されているか否かを判定する。権限証明書Cが更新されているか否かは、更新されているか否かを確認しようとしている権限証明書Cの証明書IDと同じ証明書IDの権限証明書CがCUL16に登録されているか否かで判定することができる。
If the leakage flag is not a value indicating leakage (NO), the
権限証明書Cが更新されていなければ(NO)、アクセス制御部11は、ステップSF7にて、権限証明書Cを有効と決定して終了する。権限証明書Cが更新されていれば(YES)、アクセス制御部11は、ステップSF8にて、CUL16に登録されている権限証明書C(即ち、最新の権限証明書C’)に更新して終了する。
If the authority certificate C has not been updated (NO), the
権限証明書Cは、ユーザ2からの操作要求の可否を判断する場合の他、権限証明書Cの発行や更新等の権限証明書Cが利用される操作の際に必ず検証される。このため、遅くとも図13の検証手順SFによる検証時には、全ての権限証明書CがステップSF2で無効化されているか否かとステップSF6で更新されているか否かが検出されることが保証される。
The authority certificate C is always verified at the time of operation using the authority certificate C such as issuance and update of the authority certificate C, in addition to determining whether or not an operation request from the
例えば、図5において、Aliceがパスワードを変更するのに伴って権限証明書CAが権限証明書CA’へと更新されたとする。攻撃者がAliceの古い権限証明書CAとそのパスワードを不正に入手して分散アクセス制御機構10acにアクセスを試みた場合を考える。この場合、CUL16にはAliceの古い権限証明書CAの証明書IDを有する新しい権限証明書CA’が登録されているため、権限証明書CAは最新の権限証明書CA’に置換される。従って、図7の認証手順SBによる認証は失敗することになる。
For example, in FIG. 5, Alice is the right certificate C A with to change the password is updated to right certificate C A '. Consider the case an attacker attempts to access illegally to obtain distributed access control mechanism 10ac the password and the old authority certificate C A of Alice. In this case, since the new authority certificate C A ′ having the certificate ID of Alice's old authority certificate C A is registered in the
他の例として、図5に示すように、BobがCarolに対してリソースとして/bob/foo.docの読み出しのみを許可しており、後にそのリソースに対して書き込みも許可する必要が発生した場合を考える。Bobの権限証明書CBは書き込みの権限を含んでいるため、上述した権限証明書Cの更新手順SDによって、Bobは書き込みの権限を加えた新しい権限証明書C’をCarolの新しい権限証明書CC’としてCUL16に登録することができる。CarolはBobによる権限証明書CCの更新を意識する必要はなく、Carolが有していた更新前の古い権限証明書CCを使って書き込み処理を実行すれば、古い権限証明書CCが最新の権限証明書CC’に置換されて書き込み処理が許可されることになる。
As another example, as shown in FIG. 5, when Bob only allows Carol to read /bob/foo.doc as a resource, and later it is necessary to also allow writing to that resource think of. Because Bob's right certificate C B that includes a write privileges, the update procedure SD authority certificate C described above, Bob has a new authority certificate C 'plus the authority of writing Carol new authorization certificate It can be registered in
本実施形態においては、分散ファイルシステム10に対してアクセスする際に分散アクセス制御機構10acがアクセス制御するのに必要な情報は権限証明書Cに含まれている。個々のノード1nacは、ノード経路表13,ノード公開鍵リスト14,CRL15,CUL16を除いて、アクセス制御するのに必要な情報を保持する必要がなく、個々のノード1nacは独立してアクセス制御を実行することができる。従って、本実施形態では、アクセス制御を実行するノード1nacを増やすことによって、容易に単一障害点を排除して性能をスケールアウトすること可能となる。
In the present embodiment, information necessary for the distributed access control mechanism 10ac to control access when accessing the distributed
ノード経路表13はノード1nac間での通信で必要となり、ノード公開鍵リスト14は権限証明書Cの検証やパスワード認証等の際に必要となる。従って、ノード経路表13及びノード公開鍵リスト14は、分散アクセス制御機構10acを構成する全てのノード1nacで必要な情報である。ノード1nacの追加・離脱や鍵ペアの更新の頻度は、権限証明書Cの無効化や更新の頻度と比較して十分に少ない。ノード経路表13やノード公開鍵リスト14のデータ容量はさほど大きくない。そこで、全てのノード1nacは、ノード経路表13及びノード公開鍵リスト14を共通して保持する。どのノード1nacも、ノード経路表13及びノード公開鍵リスト14として同じ情報を保持する。 The node path table 13 is necessary for communication between the nodes 1nac, and the node public key list 14 is necessary for verification of the authority certificate C, password authentication, and the like. Therefore, the node path table 13 and the node public key list 14 are information necessary for all the nodes 1nac constituting the distributed access control mechanism 10ac. The frequency of adding / leaving the node 1nac or updating the key pair is sufficiently lower than the frequency of invalidating or updating the authority certificate C. The data capacity of the node path table 13 and the node public key list 14 is not so large. Therefore, all the nodes 1nac hold the node path table 13 and the node public key list 14 in common. Every node 1nac holds the same information as the node path table 13 and the node public key list 14.
CRL15及びCUL16はユーザ2(クライアント3)から送信された権限証明書Cが無効でないか等を確認するために全てのノード1nacで参照できることが必要である。特定のノード1nacにCRL15またはCUL16を保持させると、その特定のノード1nacが単一障害点となり、同時にボトルネックとなって性能のスケールアウトを妨げることになる。そこで、本実施形態では、CRL15及びCUL16を分散させ、さらに冗長化させて複数のノード1nacに保持させる。
The
前述のように、それぞれのノード1nacが保持しているCRL15,CUL16を分散アクセス制御機構10acの全てのノード1nacでまとめると、証明書失効トータルリスト,証明書更新トータルリストとなる。即ち、証明書失効トータルリスト,証明書更新トータルリストは、複数のCRL15,CUL16に分割された形で全てのノード1nacにまたがるようにして保持されていることになる。
As described above, when the
本実施形態では、コンシステント・ハッシュ法(Consistent Hashing)を用いて、CRL15及びCUL16を分散させる。図14を用いて、コンシステント・ハッシュ法を用いたCRL15及びCUL16の分散の仕方について説明する。図14に示すように、それぞれのノード1nacのノードIDが0,150,300,450,600,750であったとする。図14に示す複数のノード1nacは図2で説明したようにフルメッシュなネットワークとなっており、ノード経路表13を参照することによって直接目的とする他のノード1nacと通信が可能であるとする。
In the present embodiment, the
無効化しようとする権限証明書Cの内容からハッシュ関数によってハッシュ値を求める。ハッシュ値は400であったとする。ここでのハッシュ関数は一方向性を満たさなくてもよく、一様性が満たされていればよい。図14に示す環状のハッシュ空間に配置されたノード1nacで、ハッシュ値400に順方向で最も近いノード1nacはノードIDが450のノード1nacである。そこで、無効化する権限証明書CをノードIDが450のノード1nacに保存し、その近傍のノード1nacに無効化する権限証明書Cの複製を保存する。冗長数をrとすると、(r−1)台のノード1nacに無効化する権限証明書Cの複製を保存する。図14は冗長数rが3の場合を示しており、近傍のノード1nacはノードIDが600と750のノード1nacとなる。
A hash value is obtained by a hash function from the contents of the authority certificate C to be invalidated. Assume that the hash value is 400. The hash function here does not have to satisfy the one-way property, and it is sufficient that the uniformity is satisfied. In the node 1nac arranged in the circular hash space shown in FIG. 14, the node 1nac closest to the hash value 400 in the forward direction is the node 1nac having a node ID of 450. Therefore, the authority certificate C to be revoked is stored in the node 1nac having the
コンシステント・ハッシュ法を用いてCRL15及びCUL16を分散させる場合、権限証明書Cのハッシュ値がどのような範囲に分布するかによって、それぞれのノード1nacに付与するノードIDの値を設定すればよい。
When distributing the
図15を用いて、権限証明書Cの無効化手順SG(CRL15への登録手順)について説明する。図15に示す権限証明書Cの無効化手順SGは、一実施形態の分散アクセス制御方法の一部である権限証明書Cの無効化方法であり、一実施形態の分散アクセス制御プログラムで実行させるステップの一部である権限証明書Cの無効化ステップである。 The authority certificate C revocation procedure SG (registration procedure to the CRL 15) will be described with reference to FIG. The authority certificate C revocation procedure SG shown in FIG. 15 is a method for revoking the authority certificate C, which is a part of the distributed access control method of the embodiment, and is executed by the distributed access control program of the embodiment. This is a step of invalidating the authority certificate C which is a part of the step.
ユーザ2がクライアント3の端末を操作して、無効化しようとする権限証明書Cと、ユーザ2が所有する権限証明書Cを入力したとする。無効化の手続きをするユーザ2が所有する権限証明書CをCUとする。図15において、ノード1nacのアクセス制御部11は、ステップSG1にて、無効化する権限証明書Cと所有する権限証明書CUを受け取る。権限証明書C,CUを受け取ったノード1nacを処理ノードと称することとする。図14では、処理ノードの図示を省略している。
Assume that the
処理ノードのアクセス制御部11は、ステップSG2にて、無効化する権限証明書Cと所有する権限証明書CUを検証する。検証手順SFの具体的手順は図13で説明した通りである。処理ノードのアクセス制御部11は、ステップSG3にて、所有する権限証明書CUが無効化する権限証明書Cと同じか、連鎖証明書リストCCLの中に存在するか否かを確認する。
The
権限証明書CUが権限証明書Cと同じではなく、連鎖証明書リストCCLの中に存在しなければ(NO)、ユーザ2は無効化しようとした権限証明書Cを無効化する権限がないため、ステップSG10にて無効化不成立として終了する。権限証明書CUが権限証明書Cと同じであるか、連鎖証明書リストCCLの中に存在すれば(YES)、処理ノードのアクセス制御部11は、ステップSG4にて、無効化の手続きをしているユーザ2が権限証明書CUの所有者であることを認証する。認証手順SBの具体的手順は図7で説明した通りである。
Right certificate C U is not the same as the right certificate C, unless present in a chain certificate list CCL (NO), the
処理ノードのアクセス制御部11は、ステップSG5にて、権限証明書Cのハッシュ値を求め、ステップSG6にて、ハッシュ値に基づいて最も近傍のノード1nacに権限証明書Cを転送する。図14の例では、ノードIDが450のノード1nacが転送先のノードとなる。この転送先のノードを担当ノードと称することとする。
The
担当ノードのアクセス制御部11は、ステップSG7にて、権限証明書Cを自身のCRL15と複製保存用の(r−1)台のノード1nacのCRL15に登録する。担当ノードのアクセス制御部11は、ステップSG8にて、無効化完了を転送元の処理ノードに通知する。処理ノードのアクセス制御部11は、ステップSG9にて、無効化完了を無効化の手続きを行ったユーザ2に通知する。
In step SG7, the
図15において、ステップSG7で、担当ノードは(r−1)回の通信を行って近傍のノード1nacのCRL15に権限証明書Cの複製を保存させているため、処理ノードがステップSG9でユーザ2に無効化完了を通知した時点では、r台のノード1nacがCRL15の構成情報(権限証明書C)を保持することが保証されている。これによって、同時に(r−1)台のノード1nacが故障したとしても、CRL15のデータは損失することがない。
In FIG. 15, in step SG7, the responsible node performs (r−1) communications to store a copy of the authority certificate C in the
図16を用いて、検証手順SFのステップSF2である権限証明書Cの無効化の確認手順SHの具体的手順について説明する。図16に示す確認手順SHは、一実施形態の分散アクセス制御方法の一部である権限証明書Cの無効化の確認方法であり、一実施形態の分散アクセス制御プログラムで実行させるステップの一部である権限証明書Cの無効化の確認ステップである。ここでも、権限証明書Cの無効化を確認するノード1nacを処理ノードと称することとする。 With reference to FIG. 16, a specific procedure of the verification procedure SH for revocation of the authority certificate C, which is step SF2 of the verification procedure SF, will be described. The confirmation procedure SH shown in FIG. 16 is a method for confirming the invalidation of the authority certificate C, which is a part of the distributed access control method of the embodiment, and is a part of the steps executed by the distributed access control program of the embodiment. This is a confirmation step of revocation of the authority certificate C. Here again, the node 1nac for confirming the invalidation of the authority certificate C is referred to as a processing node.
図16において、処理ノードのアクセス制御部11は、ステップSH1にて権限証明書Cのハッシュ値を求める。権限証明書Cのハッシュ値の求め方については後述する。処理ノードのアクセス制御部11は、ステップSH2にて、権限証明書Cのハッシュ値から、複製を含めて対応するCRL15を保持しているノード1nacを求める。CRL15を保持しているノード1nacを保持ノードと称することとする。
In FIG. 16, the
処理ノードのアクセス制御部11は、ステップSH3にて、保持ノードのうち、接続可能な任意の1台に対して権限証明書Cの証明書IDを送る。保持ノードのアクセス制御部11は、ステップSH4にて、送られてきた証明書IDに一致する権限証明書CがCRL15に登録されているか否かを確認して、確認結果を処理ノードに送る。登録されていれば(YES)、処理ノードのアクセス制御部11は、無効化されていることを処理ノードに通知して終了する。登録されていなければ(NO)、処理ノードのアクセス制御部11は、無効化されていないことを処理ノードに通知して終了する。
In step SH3, the
以上の権限証明書Cの無効化手順SG及び無効化確認手順SHによって、どのノード1nacからであっても任意の権限証明書Cを無効化することができ、無効化されているか否かを確認することができる。権限証明書Cの検証時には、検証の対象である権限証明書Cに加えて、連鎖証明書リストCCLに含まれている証明書IDの権限証明書Cが無効化されているか否かを確認する。従って、図16の確認手順SHは、連鎖する権限証明書Cの数だけ繰り返されることとなる。このとき、同じノード1nacに対してCRL15を参照して複数の権限証明書Cの無効化を確認する際には、複数の権限証明書Cをまとめて確認することにより、通信回数を少なくすることが好ましい。
The authority certificate C can be revoked from any node 1nac by the revocation procedure SG and revocation confirmation procedure SH of the authority certificate C, and it is confirmed whether or not it has been revoked. can do. When verifying the authority certificate C, it is checked whether the authority certificate C having the certificate ID included in the chained certificate list CCL is invalidated in addition to the authority certificate C to be verified. . Accordingly, the confirmation procedure SH in FIG. 16 is repeated by the number of authority certificates C to be chained. At this time, when confirming revocation of a plurality of authority certificates C by referring to the
図16のステップSH3では、保持ノードのうち、接続可能な任意の1台に対して権限証明書Cの証明書IDを送ればよい。同時に(r−1)台のノード1nacが故障したとしても接続可能なノード1nacが1台は存在することになり、ステップSH4で無効化を確認することが可能となる。 In step SH3 of FIG. 16, the certificate ID of the authority certificate C may be sent to any one of the hold nodes that can be connected. At the same time, even if (r-1) nodes 1nac fail, there is one node 1nac that can be connected, and it becomes possible to confirm the invalidation in step SH4.
更新した権限証明書CのCUL16への登録及び分散化の手順については、特に図示しないが、図15で説明した無効化した権限証明書CのCRL15への登録及び分散化の手順とほぼ同様である。但し、次の点で相違する。CUL16への登録及び分散化の手順では、図15のステップSG7にて、図10で説明したように、更新前の権限証明書Cの証明書IDを有する最新の権限証明書C’を登録する。
The procedure for registering and decentralizing the updated authority certificate C in the
権限証明書Cの更新の確認手順についても、特に図示しないが、図16で説明した権限証明書Cの無効化の確認手順SHとほぼ同様である。但し、次の点で相違する。権限証明書Cの更新の確認手順では、ステップSH4で送られてきた証明書IDに一致する権限証明書CがCUL16に登録されていれば、ステップSH5で最新の権限証明書C’を処理ノードに返送する。
Although the confirmation procedure for updating the authority certificate C is not particularly illustrated, it is almost the same as the confirmation procedure SH for invalidating the authority certificate C described with reference to FIG. However, the following points are different. In the confirmation procedure for updating the authority certificate C, if the authority certificate C that matches the certificate ID sent in step SH4 is registered in the
ところで、権限証明書Cのハッシュ値を求める方法は種々考えられ、例えば次の方法a,bである。
方法a:ハッシュ値を求める対象の権限証明書Cの証明書IDをハッシュ化する。
方法b:ハッシュ値を求める対象の権限証明書Cの連鎖証明書リストCCLに記載されている権限証明書Cのルートを順番に並べる。そして、先頭であるルート証明書からL番目の権限証明書Cの証明書IDをハッシュ化する。但し、連鎖証明書リストCCLに記載されている権限証明書Cの長さがLより小さい場合には、ハッシュ値を求める対象の権限証明書Cの証明書IDをハッシュ化する。この場合は方法aと同じとなる。
By the way, various methods for obtaining the hash value of the authority certificate C are conceivable, for example, the following methods a and b.
Method a: Hashing the certificate ID of the authority certificate C whose hash value is to be obtained.
Method b: The roots of the authority certificate C described in the chained certificate list CCL of the authority certificate C whose hash value is to be obtained are arranged in order. Then, the certificate ID of the L-th authority certificate C is hashed from the root certificate at the head. However, if the length of the authority certificate C described in the chained certificate list CCL is smaller than L, the certificate ID of the authority certificate C whose hash value is to be obtained is hashed. In this case, it is the same as method a.
図9のように権限証明書CA,CB,CC,CDと連鎖しており、権限証明書CB,CC,CDをそれぞれ無効化してCRL15に登録する際に、方法bを採用した場合について説明する。Lを例えば2とすると、権限証明書CB〜CDは全て同じノード1nacのCRL15に登録されることになる。権限証明書CA〜CDの全てを無効化する場合で同様にLを2とすると、権限証明書CB〜CDは全て同じノード1nacのCRL15に登録され、権限証明書CAは権限証明書CB〜CDとは異なるノード1nacのCRL15に登録されることになる。Lを1とすれば、権限証明書CA〜CDは全て同じノード1nacのCRL15に登録される。
Right certificate C A as shown in FIG. 9, C B, C C, and then C D linkage, right certificate C B, C C, when registering a C D to CRL15 and disable each method b The case where is adopted will be described. If L is 2, for example, the authority certificates C B to C D are all registered in the
方法aでは全ての権限証明書Cに対して偏りのないハッシュ値を得ることができるので、無効化した権限証明書Cは分散アクセス制御機構10acを構成する複数のノード1nacのCRL15に偏りなく分散されることになる。方法aは、偏りのない分散を実現しようとする場合には好ましい方法である。
Since the method a can obtain an unbiased hash value for all authority certificates C, the invalid authority certificate C is distributed evenly to the
一方、方法bでは特定の条件でハッシュ値に偏りが発生する。L回以上の委譲によって発行された権限証明書Cは、L回目の委譲で委譲元の権限証明書Cが同じであれば必ず同じハッシュ値となる。従って、L回目以降の委譲によって発行された権限証明書Cは、無効化された場合、同一のノード1nacのCRL15に登録される。上述した無効化確認手順SHで連鎖した権限証明書Cの無効化を確認する際、方法bでは、権限証明書Cの連鎖がいかなる長さであっても、たかだかL台のノード1nacのCRL15を参照すればよいことになる。方法bは、クライアント3が通信するノード1nac(処理ノード)以外のノード1nacとの通信回数(通信コスト)を少なくしようとする場合には好ましい方法である。
On the other hand, in method b, the hash value is biased under specific conditions. The authority certificate C issued by delegation of L times or more always has the same hash value if the authority certificate C of the delegation source is the same in the L-th delegation. Therefore, the authority certificate C issued by the Lth and subsequent delegations is registered in the
さらに、次のような工夫を施すと、権限証明書Cを検証する際の通信コストをゼロにすることが可能である。方法bを採用し、Lを2とする。図14で説明したように無効化した権限証明書Cを複数のノード1nacに分散させる際に、ルート証明書のみは冗長数rを分散アクセス制御機構10acを構成するノード1nacの数nとする。即ち、ルート証明書を無効化する場合には、ルート証明書を分散アクセス制御機構10acの全てのノード1nacのCRL15に登録しておく。このルート証明書の無効化時には(n−1)回の通信が発生する。
Furthermore, if the following measures are taken, the communication cost for verifying the authority certificate C can be reduced to zero. Method b is adopted and L is set to 2. When distributing the revoked authority certificate C to a plurality of nodes 1nac as described in FIG. 14, the redundant number r is set to the number n of nodes 1nac constituting the distributed access control mechanism 10ac only for the root certificate. That is, when invalidating the root certificate, the root certificate is registered in the
前述のように、クライアント3が分散アクセス制御機構10acに対してアクセスすると、クライアント3からのアクセスは1つのノード1nacに割り振られることになる。この際に、クライアント3からのアクセスを、クライアント3が利用する権限証明書Cを含む連鎖した権限証明書Cのうち、2番目の権限証明書Cを登録するCRL15を有するノード1nacに割り振るようにする。2番目の権限証明書Cを登録するCRL15とは、2番目の権限証明書Cが無効化されていない時点では、2番目の権限証明書Cが無効化された際に登録することになるCRL15ということである。
As described above, when the
このような工夫を施すことによって、権限証明書Cの検証手順SFにおいて、連鎖証明書リストCCLに含まれる全ての権限証明書Cが無効化されているか否かを確認する際に、クライアント3からのアクセスが割り振られたノード1nacのみで確認することができる。よって、他のノード1nacと通信する必要がなく、権限証明書Cを検証する際の通信コストはゼロとなる。
By applying such a device, in the verification procedure SF of the authority certificate C, when confirming whether all the authority certificates C included in the chained certificate list CCL are invalidated, the
次に、本実施形態の分散アクセス制御機構10acの安全性をさらに向上させるための対策について説明する。分散アクセス制御機構10acの安全性を向上させるための対策1として、それぞれのノード1nacは、保持するノード秘密鍵Knprとノード公開鍵Knpbとの鍵ペアを定期的に更新することが好ましい。更新前の古いノード秘密鍵Knprは破棄されるので、安全性が向上する。 Next, a countermeasure for further improving the security of the distributed access control mechanism 10ac of this embodiment will be described. As a measure 1 for improving the security of the distributed access control mechanism 10ac, each node 1nac preferably updates the key pair of the node secret key Knpr and the node public key Knpb that it holds regularly. Since the old node secret key Knpr before the update is discarded, the security is improved.
なお、仮に攻撃者がノード1nacに侵入したとすると、進入時期が特定できれば、ノード1nacは、進入した期間のエントリに対してのみ、ノード公開鍵リストの漏洩フラグを立てればよい。これによって、無効化の対象となる権限証明書Cを限定的とすることができ、ノード秘密鍵Knprの漏洩が疑われる事態が発生した場合の影響を最小限にとどめることが可能となる。 Assuming that the attacker has entered the node 1nac, the node 1nac may set the leakage flag of the node public key list only for the entry during the entry period if the entry time can be specified. As a result, the authority certificate C to be invalidated can be limited, and it is possible to minimize the influence when a situation in which the leakage of the node secret key Knpr is suspected occurs.
分散アクセス制御機構10acの安全性を向上させるための対策2として、権限証明書Cを発行時や更新時に、複数であるm台のノード1nacが同様に確認して、権限証明書Cにm個の発行者ノードIDと署名を含ませることが好ましい。それぞれのノード1nacが権限証明書Cを検証する際に、権限証明書Cの検証手順SFにおいて、m個の署名が含まれていて全ての署名が妥当である場合に権限証明書Cを有効とする。このようにすれば、権限証明書Cを発行や更新のコストはm倍になるが、m台のノード1nacからノード秘密鍵Knprが漏洩しない限り、不正なアクセスはできない。
As a
(m−1)台以下のノード1nacからノード秘密鍵Knprの漏洩であれば、漏洩が発覚した後も既存の権限証明書Cを無効化する必要はない。m台以上のノード1nacからノード秘密鍵Knprが漏洩したことが発覚した場合であっても、全て漏洩したノード秘密鍵Knprでm個の署名がされている権限証明書C以外は権限証明書Cを無効化する必要はない。従って、対策2でも、ノード秘密鍵Knprの漏洩が疑われる事態が発生した場合の影響を最小限にとどめることが可能となる。
If the node secret key Knpr is leaked from (m-1) nodes or less, it is not necessary to invalidate the existing authority certificate C even after the leak is detected. Even if it is discovered that the node secret key Knpr has been leaked from m or more nodes 1nac, all of the authority certificates C other than the authority certificate C signed with m leaked node secret keys Knpr There is no need to disable. Therefore, even with the
対策1と対策2とを組み合わせることはさらに好ましい。m台のノード1nacの署名はほぼ同時に行われるので、同じ時間帯のノード秘密鍵Knprが用いられる。攻撃者が鍵ペアの更新周期をまたいで少なくとも2つの異なる時間帯でノード秘密鍵Knprを入手したとしても、権限証明書Cの検証が失敗することになる。ノード1nacごとに鍵ペアの更新周期や更新のタイミングをずらすことにより、攻撃を成功しにくくすることが可能となる。
It is more preferable to combine the
本発明は以上説明した本実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において種々変更可能である。分散アクセス制御機構10acを構成するノード1nacに分散アクセス制御プログラムを搭載するに際し、分散アクセス制御プログラムをノード1nacに対して配信してもよい。分散アクセス制御プログラムを記録媒体に記録して、それぞれのノード1nacにおいて、記録媒体から分散アクセス制御プログラムをインストールしてもよい。 The present invention is not limited to the embodiment described above, and various modifications can be made without departing from the gist of the present invention. When the distributed access control program is installed in the node 1nac constituting the distributed access control mechanism 10ac, the distributed access control program may be distributed to the node 1nac. The distributed access control program may be recorded on a recording medium, and the distributed access control program may be installed from the recording medium at each node 1nac.
ところで、分散ファイルシステム10に、リソースをどのように記憶させるか、リソースをどのように分散させるかは本発明とは直接的には関係せず、リソースの記憶のさせ方及び分散のさせ方は任意である。
By the way, how to store resources and how to distribute resources in the distributed
本発明は、分散ファイルシステム10に限定されず、所定の処理を分散して実行させる任意の分散システムに用いることができる。
The present invention is not limited to the distributed
1n,1nac ノード
2,2a,2b,2c ユーザ
3,3a,3b,3c クライアント
10 分散ファイルシステム(分散システム,サーバ)
10ac 分散アクセス制御機構
11 アクセス制御部
12 ノードID
13 ノード経路表
14 ノード公開鍵リスト
15 証明書失効リスト(CRL)
16 証明書更新リスト(CUL)
C,CA,CB,CC 権限証明書
CCL 連鎖証明書リスト
Knpr ノード秘密鍵
Knpb ノード公開鍵
1n,
10ac distributed
13 Node routing table 14 Node public
16 Certificate renewal list (CUL)
C, C A , C B , C C authority certificate CCL chained certificate list
Knpr node private key
Knpb node public key
Claims (2)
前記クライアントから前記サーバに対して操作要求を行う際に、前記操作要求に権限証明書を添えて前記いずれかのノードに送信し、
前記権限証明書は、ルート証明書を始端として権限が順次委譲されることによって発行され、ルート証明書から直前の委譲元である権限証明書までの全ての委譲元の権限証明書を特定する特定情報を示す連鎖証明書リストを含み、
前記複数のノードの全てのノードは、いずれかのルート証明書が無効化された場合、無効化されたルート証明書を登録し、
所定のルート証明書を委譲元として発行された権限証明書以降のいずれかの権限証明書が無効化された場合、前記所定のルート証明書を委譲元として発行された権限証明書以降のいずれの権限証明書であっても、前記所定のルート証明書を委譲元として発行された権限証明書の特定情報に基づいて決定した特定のノードに登録し、
前記クライアントから前記操作要求に前記権限証明書を添えて前記いずれかのノードに送信する際に、前記特定のノードにアクセスさせる
ことを特徴とする分散アクセス制御方法。 When accessing a server from a client, the server is accessed via any one of the plurality of nodes in the distributed access control mechanism configured with a plurality of nodes,
When making an operation request from the client to the server, the operation request is sent to one of the nodes along with an authority certificate,
The authority certificate is issued by sequentially delegating authority starting from the root certificate, and specifies the authority certificate of all delegation sources from the root certificate to the authority certificate that is the previous delegation source Contains a chained certificate list showing information,
If any root certificate is revoked, all nodes of the plurality of nodes register the revoked root certificate,
If any authority certificate after the authority certificate issued with the specified root certificate as the delegation source is revoked, any certificate after the authority certificate issued with the predetermined root certificate as the delegation source Even if it is an authority certificate, the predetermined root certificate is registered in a specific node determined based on the specific information of the authority certificate issued as a delegation source,
The distributed access control method, wherein the specific node is accessed when the client sends the operation request together with the authority certificate to the node.
それぞれの権限証明書は前記特定情報として証明書IDを有し、
前記所定のルート証明書を委譲元として発行された権限証明書の証明書IDをハッシュ化したハッシュ値に基づいて選択したノードIDを有するノードを前記特定のノードとして選択し、
前記所定のルート証明書を委譲元として発行された権限証明書以降の無効化された全ての権限証明書を前記特定のノードに登録する
ことを特徴とする請求項1記載の分散アクセス制御方法。 A unique node ID is set for each of the plurality of nodes,
Each authority certificate has a certificate ID as the specific information,
A node having a node ID selected based on a hash value obtained by hashing a certificate ID of an authority certificate issued using the predetermined root certificate as a delegation source is selected as the specific node;
2. The distributed access control method according to claim 1, wherein all invalid authority certificates after the authority certificate issued with the predetermined root certificate as a delegation source are registered in the specific node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011249722A JP5830362B2 (en) | 2011-11-15 | 2011-11-15 | Distributed access control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011249722A JP5830362B2 (en) | 2011-11-15 | 2011-11-15 | Distributed access control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013106251A true JP2013106251A (en) | 2013-05-30 |
JP5830362B2 JP5830362B2 (en) | 2015-12-09 |
Family
ID=48625473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011249722A Active JP5830362B2 (en) | 2011-11-15 | 2011-11-15 | Distributed access control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5830362B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878002A (en) * | 2016-07-05 | 2017-06-20 | 阿里巴巴集团控股有限公司 | A kind of authority cancelling method and device |
-
2011
- 2011-11-15 JP JP2011249722A patent/JP5830362B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878002A (en) * | 2016-07-05 | 2017-06-20 | 阿里巴巴集团控股有限公司 | A kind of authority cancelling method and device |
US11017063B2 (en) | 2016-07-05 | 2021-05-25 | Advanced New Technologies Co., Ltd. | Authority revoking method and device |
US11017065B2 (en) | 2016-07-05 | 2021-05-25 | Advanced New Technologies Co., Ltd. | Authority revoking method and device |
US11397797B2 (en) | 2016-07-05 | 2022-07-26 | Advanced New Technologies Co., Ltd. | Authority revoking method and device |
Also Published As
Publication number | Publication date |
---|---|
JP5830362B2 (en) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111316303B (en) | Systems and methods for blockchain-based cross-entity authentication | |
CN111213147B (en) | Systems and methods for blockchain-based cross-entity authentication | |
CA2766731C (en) | Method and system for cloud based storage | |
TWI252662B (en) | Method and apparatus for accelerating public-key certificate validation | |
WO2018112946A1 (en) | Registration and authorization method, device and system | |
US8997198B1 (en) | Techniques for securing a centralized metadata distributed filesystem | |
Liu et al. | Research on information security technology based on blockchain | |
CN104836862B (en) | A kind of Intelligent terminal data storage method | |
EP2513901A1 (en) | Content control method using certificate revocation lists | |
US10270759B1 (en) | Fine grained container security | |
JP4525609B2 (en) | Authority management server, authority management method, authority management program | |
Shu et al. | Shield: A stackable secure storage system for file sharing in public storage | |
JP2013026747A (en) | Information processor, server device, and program | |
EP3777022A1 (en) | Distributed access control | |
CN107612910A (en) | A kind of distributed document data access method and system | |
Ulybyshev et al. | (WIP) blockhub: Blockchain-based software development system for untrusted environments | |
JP2018182710A (en) | Electronic certification system | |
CN115606150A (en) | Multi-layer communication network | |
Lu et al. | Secure deduplication-based storage systems with resistance to side-channel attacks via fog computing | |
Jin et al. | Design of a trusted file system based on hadoop | |
JP2007201522A (en) | Encryption communication system, key sharing method, key providing apparatus, and information processing apparatus | |
JP6976405B2 (en) | Access control system and its programs | |
JP5830362B2 (en) | Distributed access control method | |
JP2013106250A (en) | Distributed access control mechanism, distributed access control method, distributed access control program, and recording medium recording distributed access control program | |
JP3215882U (en) | Cloud storage based file access control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150709 |
|
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: 20150929 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151026 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5830362 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |