格子ベースアクセスコントロール(lattice-based access control)

サイバーセキュリティ専門家になるための総合学習サイト

格子ベースアクセスコントロールとは

格子ベースアクセスコントロールとは、一つの主体が複数のアクセス権を持ち得ることを想定し、アクセスコントロールをある条件下で取りえるすべての関係性として考えることです。

一人の従業員に対して一つの権限しか割り当てないのであれば、アクセス制御はとても簡単です。

しかし、現実的には一人の従業員であっても、特定の案件に属している開発部であり労働組合に所属しているなどの複数の組織に属し、グループに応じてアクセス権が与えられます。

そういった場合、少し話がややこしくなります。

格子とは、ある集団から取りえるすべてのグループのパターンをいいます。この格子に則った関係性があるアクセス制御モデルが格子ベースアクセスコントロールです。

格子の関係性とは

A君・B君がいた時、(A)(B)、(AB)、()です。

A君・B君・C君がいた時、(A)(B)(C)、(AB)(C)、(A)(BC)、(AC)(B)、(ABC)、()です。

ここで、(AB)の班を作るにはA君とB君の権限を知る必要があります。つまり、(A)(B)によって決まります。

(A)(B) → (AB)

A君・B君・C君の場合も同じです。ただし、二人グループの権限は上記の結果が反映されています。

(AB)(C)、(A)(BC)、(AC)(B) → (ABC)

つまりは、いかなるグループを作るとしても以下の関係性が成り立っていないとおかしいのです。

(A)(B)(C) → (AB)(C)、(A)(BC)、(AC)(B) → (ABC)

2つの子供の部屋

 

格子ベース?よくわからないなぁ。

 
 

例えば、太郎と次郎と三郎が同じ部屋を使うとしよう。
太郎が入る部屋には、太郎の見れる本しか置けないよね。

 
 

うん。

 
 

そこに次郎が入ってきたら、二人の見れる本しか置けないよね。
生まれた順に見れる本が多いとしようか。 つまり、本は減るわけだね。

 
 

そりゃそうだ。

 
 

じゃあ部屋が2つあったとしよう。
1つ目の部屋には太郎、2つ目の部屋には次郎、三郎に分かれたら、どっちの部屋の方が本は多い?

 
 

太郎の部屋かな?

 
 

そうだね。じゃあ、三郎が太郎の部屋に移動したら?

 
 

本が多いのは次郎の部屋だね。

 
 

ここで太郎が一人暮らしを始めて、どちらの部屋にもいなかったら?

 
 

それでも次郎の部屋だね。

 
 

人数が減っても、変わらないでしょう?
ある集合で成り立つ関係性は、その部分でも成り立つってことだね。

 
 

なんとなく、わかった気になった。

 

参考文献

ウィキペディア、Lattice-based access control、https://en.wikipedia.org/wiki/Lattice-based_access_control