今回は、属性計算の部分の有用性を検証するための一部分の実装しか行っておらず、
未実装部分の設計をさらに詳細且つ具体的に行い、提案したポリシーシステム全体を構 築して、実際のネットワークに適用可能かど うかを検証していくことが必要と考える。
特に、以下の点については再度深く検討する必要がある。
•
ポリシー表現•
ポリシーコンフリクト検出•
メタフィルタリング記述また、IETF 等のポリシーベースの管理システムについての動向も注目し 、取り入れ ていく必要がある。
謝辞
本研究を進めるにあたり、指導教官である篠田陽一助教授には、様々な助言、日頃より 適切な指導をたまわり深く感謝致します。また、有益な議論をして頂きました篠田研究 室の皆様に感謝致します。
横河電機株式会社には、本研究を行う機会を与えて頂き、特に向井 正和様、星 哲夫 様、太田 一史様、内藤 誠一様、中島 一様をはじめとする多くの方には様々な御援助を 頂き深く感謝致します。
最後に、本研究を進める上であらゆる面で私を支えてくれた妻と子供たちに心からの 感謝の気持を贈ります。
参考文献
[1] Filter Language Compiler. http://coombs.anu.edu.au/ avalon/c.html.
[2] S.Jajodia, P.Samarati,and V.S.Subrahmanian. Alogicallanguageforexpressing
authorizations. In Proceedings of the IEEE Symposium on Research in Security
and Privacy, Research in Security and Privacy, Oakland, CA, May 1997. IEEE
Computer Society Press.
[3] SushilJajodia,PierangelaSamarati,V.S.Subrahmanian,andElisaBertino. A
uni-edframeworkforenforcingmultipleaccesscontrol. InProceedingsACM SIGMOD
International Conference on Management of Data, May 1997.
[4] D. Jonscher and K. R. Dittrich. Argos A congurable access control system for
interoperable environments. In IFIP WG 11.3 Ninth Annual Working Conference
on Database Security, Rensselaerville, NY, 1995.
[5] Hugh Mahon,YoramBernet, and ShaiHerzog. RequirementsforaPolicy
Manage-ment System. Internet Draft draft-ietf-policy-req-01.txt, October 1999. Work in
progress...
[6] D. A. Marriott, M. S. Sloman, and N. Yialelis. Management policy service for
distributed systems. Technical ReportDoC 95/10,Department ofComputing,
Im-perial College, London,October 1995.
[7] J.BretMichael,EdgarH.Sibley,andDavidC.Littleman.Integrationofformaland
heuristic reasoning as a basis for testing and debugging computer security policy.
workshop, pp. 6975, 1993.
[8] J. D. Moett, D. Jonscher, and J. A. McDermid. The policy obstacle course.
SCHEMA/York/93/1 version1, July 1993.
[9] J. D. Moettand M. S. Sloman. The representation of policies as system objects.
In Proceedings of the Conference on Organizational Computer Systems, Atlanta,
Georgia,November1991. ACMSIGOIS.
[10] Jonathan D. Moett. Specication of Managmenet Policies and Discretionary
Ac-cess Control, chapter 17. Depart. of Computer Science, University of York, June
1994.
[11] JonathanD.MoettandMorrisS.Sloman.Therepresentationofpoliciesassystem
objects. In Conference on Organizational Computing Systems, Objects, pp. 171
184, 1991.
[12] Jonathan D. Moett and Morris S. Sloman. Policy conictanalysis in distributed
system management. Journal of Organizational Computing, April 1993.
[13] Jonathan D. Moett and Morris S. Sloman. Policyconict analysis in distributed
systemmanagement. Journalof OrganizationalComputing, Vol.4,No.1,pp. 122,
1994.
[14] B.Moore,E.Ellesson,andJ.Strassner. PolicyFrameworkCoreInformationModel
Version 1 Specication. Internet Draft draft-ietf-policy-core-info-model-03.txt,
January 2000. Work inprogress...
[15] Ramesh V. Peri. Specication and Verication of Security Policies. PhD thesis,
University of Virginia,January 1996.
[16] M.S.Sloman,J. D.Moett, and K.P.Twidle. Domino Domains and Policies: An
introductiontothe Project Results,Vol.Network andDistributedSystems
Manage-and J. Wheeler. Policy Framework. Internet Draft
draft-ietf-policy-framework-00.txt, September 1999. Work inprogress...
[18] J. Strassner, E. Ellesson, B. Moore, and Ryan Moats. Policy Framework LDAP
Core Schema. Internet Draft draft-ietf-policy-core-schema-06.txt, November 1999.
Workin progress...
付録
Aプログラムの構成
1.初期設定ファイルの読み込み
-f : ネットワーク構成及び属性初期値設定
-c : 初期設定コマンド
2.属性評価式の設定
3.標準入力からのコマンド の読み込みと結果の出力
コマンド 文法解説
コマンド 名 解説
location 設置場所設定
genpe 物理機器生成
genpp 物理ポート設定
linkpp 物理ポート接続設定
genve 論理機器生成
linkvp 論理ポート接続設定
putattr 論理ポート管理属性/接続属性/サービ ス属性設定
genservice サービ ス属性定義
genassets 物理ポート所属属性生成
putassets 物理ポート所属属性設定
genadmingr 物理ポート管理グループ属性生成
putadmingr 物理ポート管理グループ属性設定
attrlter 属性フィルタリング設定
defaultlter デフォルト属性フィルタリング設定
addmatrix 属性評価マトリックス設定
delmatrix 属性評価マトリックス削除
delallmatrix 属性評価マトリックス全削除
dump ネットワーク情報をダンプするコマンド
show 各種登録情報の表示コマンド
help コマンド ヘルプ
run 属性計算スタート
acchk 属性ポリシー違反検査
acgen 属性アクセスコントロール規則導出
表 A.1: コマンド 解説
コマンド 引数一覧
コマンド 名 引数
location 名前 フラグ
genpe 名前 タイプ 場所
genpp 親PE名 MACアドレスIPアドレス
linkpp 親PE名 index 親PE名 index
genve 名前 タイプ 親PE名
genvp 親VE名
linkvp 親VE名 index 親VE名 index
putattr 親VE名 index amdin 属性値
putattr 親VE名 index connection 属性値
putattr 親VE名 index trust 属性値
putattr 親VE名 index service 属性値
genservice 名前
genassets 名前
putassets PE名 所属名
genadmingr 名前
putadmingr PE名 管理グループ名
表 A.2: プロトタイプコマンド 引数一覧(ネットワーク構成記述と属性初期設定)
コマンド 名 引数
attrlter サービ ス属性名 VE名 index index (pass|block) defaultlter VE名 index index (pass|block)
addmatrix サービス属性名(allow|deny)サービス属性値所属属性値 管理グルー
プ属性値 ロケーション属性値接続属性値 管理属性値 信頼度属性値
delmatrix サービス属性名(allow|deny)サービス属性値所属属性値 管理グルー
プ属性値 ロケーション属性値接続属性値 管理属性値 信頼度属性値
delallmatrix サービ ス属性名
表 A.3: プロトタイプコマンド 引数一覧(フィルター設定と属性評価マトリックス設定)
コマンド 名 引数
run [VE名]
step [VE名]
acchk
acgen
表 A.4: プロトタイプコマンド 引数一覧(属性計算実行、アクセスコントロール規則生 成等)
コマンド 名 引数
dump pe PE名
dump veVE名
dump penet [PE名]
dump venet [VE名]
dump service [PE名]
dump trust
dump location
show service
show assets
show admingr
show matrix [サービ ス属性名]
help
表 A.5: プロトタイプコマンド 引数一覧(状態ダンプ、内部データ照会)
付録
Bプロトタイプ : ネットワーク構成記述設定ファイル例
location "OutSite" LF_UNSECURE LF_OUTAREA ;
location "InSite1" LF_SECURE LF_INAREA LF_PRIVATE1 ;
location "InSite2" LF_UNSECURE LF_INAREA LF_PRIVATE4 ;
location "InSite3" LF_SECURE LF_INAREA LF_PRIVATE2 ;
genservice "WWW client-" 0 ;
genservice "WWW client+" 1 ;
genservice "WWW Server" 1 ;
genpe "router1" PE_ROUTER "InSite1" ;
genpp "router1" 0:e0:2b:80:89:0 150.65.32.10 ;
genpp "router1" 8:0:20:b4:2:6 150.65.190.9 ;
genpp "router1" 8:0:20:7d:c6:7c 150.65.7.10 ;
genpe "hub1" PE_HUB "InSite1" ;
genpp "hub1" 8:0:20:b3:3e:19 150.65.190.20 ;
genpp "hub1" 8:0:20:a6:cf:27 150.65.190.21 ;
genpp "hub1" 8:0:20:7d:b3:df 150.65.190.22 ;
genpp "hub1" 8:0:20:a7:23:e4 150.65.190.23 ;
genpe "host1" PE_HOST "InSite1" ;
genpp "host1" 8:0:20:b3:3d:e9 150.65.190.1 ;
genpe "host2" PE_HOST "InSite1" ;
genpp "host2" 8:0:20:9c:24:c5 150.65.190.2 ;
genpp "host3" 8:0:20:b3:3c:f0 150.65.190.3 ;
genpe "host4" PE_HOST "InSite1" ;
genpp "host4" 8:0:20:b3:4d:70 150.65.7.4 ;
genpe "hostx" PE_HOST "OutSite" ;
genpp "hostx" 8:0:20:7d:ff:e8 202.249.11.99 ;
linkpp "router1" 0 "hostx" 0 ;
linkpp "router1" 1 "hub1" 0 ;
linkpp "router1" 2 "host4" 0 ;
linkpp "hub1" 1 "host1" 0 ;
linkpp "hub1" 2 "host2" 0 ;
linkpp "hub1" 3 "host3" 0 ;
genve "verouter1" VE_ROUTER "router1" ;
genvp "verouter1" ;
putattr "verouter1" 0 admin PA_ADMIN ;
putattr "verouter1" 0 connection PA_CONOUT ;
putattr "verouter1" 0 trust PA_UNTRUSTED ;
genvp "verouter1" ;
putattr "verouter1" 1 admin PA_ADMIN ;
putattr "verouter1" 1 connection PA_CONIN ;
putattr "verouter1" 1 trust PA_COMPLETE ;
genvp "verouter1" ;
putattr "verouter1" 2 admin PA_ADMIN ;
putattr "verouter1" 2 connection PA_CONIN ;
putattr "verouter1" 2 trust PA_COMPLETE ;
genve "vehub1" VE_HUB "hub1" ;
genvp "vehub1" ;
putattr "vehub1" 0 admin PA_ADMIN ;
putattr "vehub1" 0 connection PA_CONIN ;
putattr "vehub1" 0 trust PA_MARGINAL ;
putattr "vehub1" 1 connection PA_CONIN ;
putattr "vehub1" 1 trust PA_MARGINAL ;
genvp "vehub1" ;
putattr "vehub1" 2 admin PA_ADMIN ;
putattr "vehub1" 2 connection PA_CONIN ;
putattr "vehub1" 2 trust PA_MARGINAL ;
genve "vehub2" VE_HUB "router1" ;
genvp "vehub2" ;
putattr "vehub2" 0 admin PA_ADMIN ;
putattr "vehub2" 0 connection PA_CONIN ;
putattr "vehub2" 0 trust PA_MARGINAL ;
genvp "vehub2" ;
putattr "vehub2" 1 admin PA_ADMIN ;
putattr "vehub2" 1 connection PA_CONIN ;
putattr "vehub2" 1 trust PA_MARGINAL ;
genve "vehub3" VE_HUB "router1" ;
genvp "vehub3" ;
putattr "vehub3" 0 admin PA_ADMIN ;
putattr "vehub3" 0 connection PA_CONIN ;
putattr "vehub3" 0 trust PA_MARGINAL ;
genvp "vehub3" ;
putattr "vehub3" 1 admin PA_ADMIN ;
putattr "vehub3" 1 connection PA_CONIN ;
putattr "vehub3" 1 trust PA_MARGINAL ;
genvp "vehub3" ;
putattr "vehub3" 2 admin PA_ADMIN ;
putattr "vehub3" 2 connection PA_CONIN ;
putattr "vehub3" 2 trust PA_COMPLETE ;
genve "vehub4" VE_HUB "hub1" ;
genvp "vehub4" ;
putattr "vehub4" 0 admin PA_ADMIN ;
genvp "vehub4" ;
putattr "vehub4" 1 admin PA_ADMIN ;
putattr "vehub4" 1 connection PA_CONIN ;
putattr "vehub4" 1 trust PA_MARGINAL ;
genve "vehost1" VE_HOST "host1" ;
genvp "vehost1" ;
putattr "vehost1" 0 admin PA_ADMIN ;
putattr "vehost1" 0 connection PA_CONIN ;
putattr "vehost1" 0 trust PA_MARGINAL ;
putattr "vehost1" 0 service "WWW client+" ;
genve "vehost2" VE_HOST "host2" ;
genvp "vehost2" ;
putattr "vehost2" 0 admin PA_ADMIN ;
putattr "vehost2" 0 connection PA_CONIN ;
putattr "vehost2" 0 trust PA_MARGINAL ;
putattr "vehost2" 0 service "WWW client+" ;
genve "vehost3" VE_HOST "host3" ;
genvp "vehost3" ;
putattr "vehost3" 0 admin PA_ADMIN ;
putattr "vehost3" 0 connection PA_CONIN ;
putattr "vehost3" 0 trust PA_MARGINAL ;
putattr "vehost3" 0 service "WWW client+" ;
genve "vehost4" VE_HOST "host4" ;
genvp "vehost4" ;
putattr "vehost4" 0 admin PA_ADMIN ;
putattr "vehost4" 0 connection PA_CONIN ;
putattr "vehost4" 0 trust PA_COMPLETE ;
putattr "vehost4" 0 service "WWW Server" ;
genve "vehostx" VE_HOST "hostx" ;