首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bell-LaPadula实现实例

Bell-LaPadula实现实例
EN

Security用户
提问于 2011-11-05 13:11:40
回答 3查看 11K关注 0票数 8

我目前正在研究Bell-LaPadula模型,我需要以一个实现为例。

我理解这个模型是如何工作的,但是我很难用编程语言(例如Java)来实现它。我认为有以下分类:

  • 受到限制,
  • 机密,
  • 秘密,
  • 最高机密

和下列类别:

  • 中尉,
  • 上校,
  • 船长,
  • 中将,
  • 将军。

我如何表示格?

EN

回答 3

Security用户

发布于 2011-11-07 07:22:48

我怀疑你对Bell-Lapadula是如何工作的,特别是在Bell-Lapadula中类别是如何工作的感到有点困惑。

  • 分类必然是有序的。在您的示例中,我们限制了<机密<机密<绝密。到现在为止还好。
  • 一般来说,类别是没有排序的。通常,它们是一个集合,其中没有秩序。它们用于划分,并与分类正交。一个隔间被用来进一步限制传播给一群有需要了解的人.舱(类别)的例子可能是伽马射线(拦截苏联通讯)、拉尔夫(卫星获取的图像)或一些卫星。例如,类别的集合可能是{ GAMMA,RUFF},在GAMMA和RUFF之间没有隐含的排序。

一份文件可能会加盖印章,例如,绝密伽马射线。对于被允许阅读这份文件的人,他们需要最高机密许可,并且他们需要被授权进入伽马舱中的材料和在RUFF室中访问材料。一般来说,要阅读一些文件,你的清关至少要和分类一样高,而且你必须是文件所贴上标签的每一个隔间(类别)的成员。

因此,在实践中,师绝不会像中尉那样排列。你的榜样没有意义。

在这种背景下,每个文件/数据项的标签如下:

  • 它有分类。
  • 它有一组类别(隔间)。

正如Jeff建议的那样,你可以代表这个分类。要表示类别集,您需要修改@Jeff的建议,并存储一组类别。

最有趣的部分不是标签的表示;最有趣的部分是如何比较两个标签。如果一份文件上有L的标签,而一个人贴上L的标签,那么该人是否应该被允许阅读该文件?为了检查您是否理解Bell-Lapadula模型,我建议您对此检查进行编码,举个例子。

票数 10
EN

Security用户

发布于 2011-11-05 15:34:40

代码语言:javascript
复制
[Restricted, Confidential, Secret, Top Secret] => [0, 1, 2, 3] //constants
[Lieutenant, Colonel, Captain, Lieutenant General, General] => [0, 1, 2, 3, 4] //constants

将其设置在类似于Math.MAX_INT和其他类的静态类中.Classification.RESTRICTED将返回0。这使得从程序员的角度来理解是很容易的。

你的分类是由你来决定的。您的读/写测试很简单,“这个值比user.getClassification() (user.setClassficiation(Classification.SECRET))低/高吗?”(或您放置的位置)。

这些类别在贝尔-拉帕杜拉中没有规范,所以你要么暗示你计划如何使用它们,要么找出如何将它们联系起来,因为我假设一个等级并不直接关系到一个权限。

票数 6
EN

Security用户

发布于 2011-11-07 06:56:21

记住贝尔-拉帕杜拉模型的简单方法是:不读,不写.

分类是标签,控制主体(人)是否能够读取对象(文档、文件等)。对于这个例子,我将忽略隔间。

让我们创造四个人,爱丽丝,鲍勃,查理,戴安娜和伊芙。现在让我们给每个人贴上标签:爱丽丝是机密,鲍勃是机密,查理是机密,戴安娜是秘密,夏娃是绝密。每个人创建一个文档,当他们创建文档时,文档得到与创建文档的人相同的标签。爱丽丝创建文件A,鲍勃创建文档B,查理创建文档C,戴安娜创建文档D,夏娃创建文档E。

现在,您可以创建一个简单的表,显示当有人试图读取文档时会发生什么。

阅读:

代码语言:javascript
复制
        | Doc A | Doc B | Doc C | Doc D | Doc E |
-------------------------------------------------
Alice   | allow | deny  | deny  | deny  | deny  |
Bob     | allow | allow | deny  | deny  | deny  | 
Charlie | allow | allow | allow | deny  | deny  | 
Diana   | allow | allow | allow | allow | deny  | 
Eve     | allow | allow | allow | allow | allow | 
票数 4
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/8683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档