实验4-多级访问控制实验指导
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海电力学院
信息安全概论
课程实验报告
题目: 多级访问控制实验
姓名:张皓翔
学号:20142201
院系:计算机科学与技术学院专业年级:信息安全系2014级
2015年11月8日
1、PMI试验
1)证书申请实验
【实验目的】
属性集(如角色、访问权限或组成员等)和一些与持有者相关的数据结构。
由于这些属性集能够定义系统中用户的权限,因此可以把作为一种授权机制的属性证书看作是权限信息的载体。
该实验的目的让用户对属性证书对资源权限的申请有一个感性的认识。
【实验预备知识点】
1、什么是PMI ?
PMI,即特权管理基础设施,是属性权威、属性证书、属性证书库等部件的集合体。
它以PKI 体系为基础,向用户和应用程序提供授权服务管理。
2、属性证书使用的先决条件是什么?
PMI 是最新发展起来的一种新的信息安全基础设施,它建立在PKI 身份验证基础之上,即用数字证书确定用户的真实身份,然后在用户真实身份的基础上用证书的形式绑定用户拥有的属性。
【实验步骤】
填写申请证书的信息,权限、资源、证书名、功能描述等,单击证书申请按钮进行证书申请。
右侧系统日志窗口中将显示出现的正常、警告或者错误信息,若证书申请不成功,试根据该日志信息分析原因。
图1-1 证书申请页面
【实验思考题】
1、在本实验环境中,为什么要使用HTTPS连接?PMI申请流程与PKI证书申请过程有什么联系与区别?
建立在HTTPS 双向认证的基础之上,通过SSL 的握手过程,让系统和用户都明了和确认了彼此的身份。
PKI 证书申请过程和PMI 申请流程不太一样,身份证书的申请涉及到需要用户填写很多相关的用户身份信息,以及该证书的使用目的等等,而属性证书的申请主要是用户提出对某一项资源申请拥有某一项权限。
2在本实验环境中,属性证书为什么分为长期证书与短期证书它们除了有效期外还有什么不同?
短期证书和长期证书在属性证书的extension 扩展域也是不同的,当属性证书中不包含noRevAvail 扩展时,那么属性证书颁发者隐含地表示了支持证书撤销状态检查,并必须为属性证书验证者提供相应得检查属性证书撤销状态的方法。
对于短期证书来说,那么就要包含noRevAvail 扩展,即使用从不撤销方案。
2)证书管理实验
【实验目的】
在PMI系统中,对用户证书申请的管理是通过RA实现的,而对属性证书的签发、撤销,以及权限的变更则是通过AA来完成的。
本实验通过属性证书的三种存在状态以及相应拥有的权限的操作帮助用户理解RA、AA的功能和联系。
【实验预备知识点】
1、AA的职责有哪些?
属性证书权威中心AA 是一个属性证书的颁发机构。
它负责为合法用户生成属性证书,为管理中心生成策略证书, 并将它们发布到数据中心。
2、为什么要进行属性证书撤销?属性证书有效期类型和撤销方式之间有什么联系?
属性证书与身份证书在某些方面存在着很大相似性,它同样必须拥有撤销证书的功能。
属性证书的撤销是针对那些长期证书,就是有效期比证书撤销列表的发布时间要长的证书,对应的这些证书在其证书扩展域中一定不包含noRevAvail 扩展项,而对于短期证书而言,其证书扩展域中就要包含noRevAvail 扩展项,从而这张证书不需要撤销支持。
【实验步骤】
1、在查找信息框中,可以分别请求列出属于该用户的未签发的、已签发的和已撤销的属性证书。
2、在属性证书列表中,对于列出的未签发的属性证书,双击证书名,可以打开“管理证书”面板,模拟RA撤销该属性证书的申请或者向AA提交签发证书的请求过程;对于列出的AA已签发的属性证书,单击证书名可以看到该属性证书的证书类型、属性证书签发者AA 的指纹信息、证书的有效期、证书序列号以及该证书对应用户的权限信息等,此外,用户还可以对已经签发的属性证书进行证书撤销请求。
如果是有效期为一天的短期证书,这里不允许撤销;对于长期证书,可以使用以下三种作为证书的撤销原因:关系变更,废弃证书,收回权限。
3、右侧系统日志窗口中将显示出现的正常、警告或者错误信息,若操作不成功,试根据该日信息分析原因。
【实验思考题】
1、为什么实验系统中短期证书不可以撤销?撤销的属性证书可以激活吗?
因为属性证书的有效期一般都比较短,而短期证书的有效期比属性证书撤销列表的发布时间还要短,所以不需要进行撤销。
2、被撤销的属性证书还可以再激活吗
一般被撤销的属性证书不会选择激活的方式,而是重新申请一张新的属性证书。
证书应用实验
【实验目的】
通过本实验,学生基本掌握属性证书的使用流程,掌握在用户身份信息的基础上,系统策略决策点和策略执行点对用户访问请求的判决和执行过程,特别是系统是如何验证属性证书的。
【实验预备知识点】
1、获得属性证书的方式有哪些?
推模式与拉模式。
【实验步骤】
1、本实验中,学生可以了解并验证自己的身份信息以及签发身份证书的CA的相关信息。
2、单击查看按钮可以了解已签发过的属性证书的个数和每个属性证书的属性概要介绍。
将鼠标移至该证书名称上就可以看到。
如果用户还没有进行证书申请实验,或者还没有向AA 请求签发属性证书,系统会提示先进行证书申请和管理实验。
3、单击使用证书按钮,确定使用该属性证书。
4、单击公司职员信息表,或者其他两个资源信息表,向AEF发出信息访问请求,
5、此时右侧系统日志中显示相应的AEF和ADF交互信息,包括验证过程,最后系统会提示判决结果。
如果允许访问,则反馈对应于该用户权限范围内的资源表信息,反之警告用户拒绝访问。
6、对于那些可以修改的资源,双击显示该资源的具体信息,在具体信息的下方就可以进行修改,完成后点击确定按钮保存即可。
7、可以通过点击重选证书按钮选择不同的属性证书进行对比验证。
【实验思考题】
1、多级安全访问控制系统中,获取属性证书的两种方式之间有什么区别?
推模式,它是由客户提供属性证书。
这种模式意味着客户需要存储和处理自己的所有属性证书,一般放在安全存储器内。
另一种方法是―拉的模式,即接收者向服务器请求合适的属性证书。
这需要存在一个新的服务器来存储所有的属性证书。
2、对访问请求的具体判决流程是怎样的?
服务器收到访问请求首先会送到PEP,即策略执行点,然后PEP 将请求发给PDP(策略决策点),由策略决策点进行相关的验证,验证完毕将结果允许访问或者拒绝访问返回给PEP,由PEP 执行下一步的操作。
【注意】
1 、为了保护用户的身份信息不被他人非法使用,在退出多级安全访问控制实验时务必在浏览器中删除用户的私钥证书信息。
2、XACML系统实验
1)策略定制实验
【实验目的】
系统管理人员通过制定策略文件实现对系统的访问控制。
本实验的目的就是让用户了解XACML策略文件的大致结构,并学习制定策略的内容
【实验原理】
策略描述了特定主体对特定资源的某个操作是否允许。
策略包括:一组规则、规则组合算法的标识符、一组义务和一个目标。
每条规则由条件、结果和目标组成。
每个策略只有一个目标,用于确定所到来的请求和该策略是否相关。
策略和请求的相关性决定了是否要为请求评估该策略。
这是通过定义目标中的三类属性(主体、资源、动作)及其属性值来实现的。
目标中不一定都有这三类属性。
将这些属性的值与请求中具有相同属性的值进行比较,如果匹配(对其应用某些函数之后,将会看到它们是否匹配),则认为该策略是相关的,并对其进行评估
【实验预备知识点】
1、XML文件的格式。
XML 是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。
2、XACML有哪几个主要的参与者?
PDP(策略决策点)、PEP(策略执行点)以及策略库等。
【实验步骤】
1、确认已经通过证书验证试验进入XMACL实验系统。
2、设定主体限制。
主体部分可以有四种属性可以设置。
你可以设置一种或多种,请将设置的属性前的选择框打钩。
对应的属性可以在资源表中选择员工表来查看系统中预先设定的员工角色信息。
1、定制资源限制。
2、定制URL类型的策略。
在资源类型下拉框中选择URL;在URL输入框中填写URL的值,如:。
1、定制资源表访问类型的策略。
在资源类型下拉框中选择“工资表”或“员工表”;接着在需要定制的列名前面打勾。
2、定制动作限制。
选择的“读取”或“写入”。
3、设定策略头属性。
填写“策略I D”和“描述”,策略ID唯一标示该策略,类型为URI,必须以字母开头,可以用’:’分隔。
如:“URL:SJTU”。
4、生成策略。
单击按钮,向服务器提交参数,生成策略。
5、如果你的输入正确,服务器生成策略内容,客户端会弹出策略编辑对话框,你可以手动修改策略文件的内容。
可以观察到,策略文件是一种xml格式的文件。
6、单击按钮将策略保存到策略库中,或者单击按钮放弃保存该策略。
【实验思考题】
1、将生成的策略内容拷贝到本地的文本编辑器上,察看策略内容;结合实验系统的XACML 介绍,观察策略的各部分。
2、如果需要定制的策略描述为:“允许Dave读取.”,策略该如何定制?
3、如果2中的策略改为“禁止Dave读取.”,该如何修改生成的策略文件?
2)策略管理实验
【实验目的】
策略制定之后就存放在策略库中,策略管理实验可以让你了解策略库,以及熟悉策略库的管理。
【实验原理】
策略库是XACML系统中重要的一环,负责存放管理员已经制定完成的策略。
管理员通过策略库的管理,可以控制系统所实施的策略。
【实验步骤】
1、激活策略。
在“待激活策略”列表中选择策略ID,实验系统在右侧显示策略的相关信息。
单击
按钮,向服务器提交激活请求。
服务器响应后,自动将该策略添加到以激活列表中。
2、禁止策略。
在“已激活策略”列表中选择相应的策略ID 。
单击按钮,向服务器提交禁止策略请求。
服务器响应后,自动将该策略添加到待激活列表中。
3、删除策略。
在“待激活策略”或“已激活策略”列表中选择相应的策略ID。
单击按钮,在列表中删除策略。
4、查看策略。
在“待激活策略”或“已激活策略”列表中选择相应的策略ID。
单击按钮,在弹出的“查看策略”窗口中查看内容。
在IE浏览器中,会显示xml的层次结构。
5、修改策略。
在“待激活策略”或“已激活策略”列表中选择相应的策略ID。
单击按钮,在弹出的“策略编辑”窗口中修改相应内容。
6、添加自定义策略。
单击按钮,在弹出的“策略编辑”窗口中输入相应的内容,单击“保存”将策略添加到策略库中。
建议在外部编辑器中编辑好策略再添加到“策略编辑”对话框中。
【实验思考题】
1、XACML为什么需要“策略库”?
PDP 在做策略评估时需要知道有哪些策略可以用于评估,所以需要一个策略仓库来存储策略信息。
此外,策略库的存在,可以使管理员方便的控制系统的访问策略。
3)策略验证实验
【实验目的】
理解PEP、PDP的角色,熟悉PEP、PDP交互的流程以及策略是如何验证的。
【实验原理】
当PEP接收到用户的访问请求时,就会收集相关信息,接着向PDP询问用户的这次访问是否被允许。
PDP接收到PEP的请求时,就到策略库中查找适用的策略,如果匹配,则返回策略评估的结果,否则返回“Not Applicable”。
【实验预备知识点】
1、PDP、PEP的概念?
PDP(策略决策点):在XACML 中负责策略的评估,并返回评估结果。
PEP(策略执行点):在XACML 中负责策略请求的生成,已经最终策略评估的执行。
2、PEP、PDP的交互过程?
交互过程:授权请求到达策略执行点(PEP)。
PEP 创建一个XACML 请求并发送到策略决策点(PDP),后者评估请求并返回一个响应。
3、PEP请求的构成。
请求由主体、资源、动作3 部分组成。
【实验步骤】
1、制定请求。
a)选择“主体”、“动作”以及“资源类型”。
b)根据请求的资源类型,设置资源的其他相关属性。
单击按钮,在弹出窗口中分别填写“健”和“值”。
i、URL类型的资源:
键=“URL”。
值为任意的URL。
ii、工资表类型的资源:
键=“column”。
值为访问的工资表中的列,列名和值的对照表如下:
iii、员工表类型的资源:
键=“column”。
值为访问的工资表中的列,列名和值的对照表如下:
c)单击按钮,提交参数到服务器,生成请求文件
2、查看请求内容
在请求内容文本区中,察看生成的请求文件。
请求包含三个部分:Subject、Resource 和Action。
每个部分由一个或多个Attribute组成。
你可以修改相应的AttributeValue字段来改变提交到PDP的请求内容。
3、发送请求到PDP。
单击按钮,将请求文件提交到PDP,PDP评估策略后,返回评估结果。
4、查看PDP返回的结果
在响应结果文本区中,察看PDP返回的结果。
【实验思考题】
1、如果现在策略库中激活的策略是URL类型的策略,且策略中限制的URL为A。
此时,如果请求文件中URL定义为B,但主体和动作相符,PDP的评估结果将是什么?
不接受
2、如果希望1中的情况,希望PEP不响应用户的请求,那对PEP有什么要求?
如果策略库中没有能够评估该请求的策略时,PEP默认拒绝该请求。
【注意】
在制定请求前,请先在策略管理实验中激活相应策略。
3、模型实验
1)BLP模型实验
【实验目的】
BLP[Bell and LaPadula,1976]模型是典型的信息保密性多级安全模型,主要应用于军事系统。
Bell-LaPadula模型通常是处理多级安全信息系统的设计基础,客体在处理绝密级数据和秘密级数据时,要防止处理绝密级数据的程序把信息泄露给处理秘密级数据的程序。
通过本实验让学生了解多级安全访问控制中的一个最基本模型。
【实验原理】
BLP模型的安全策略包括强制访问控制和自主访问控制两部分:强制访问控制中的安全特性要求对给定安全级别的主体,仅被允许对同一安全级别和较低安全级别上的客体进行"读";对给定安全级别上的主体,仅被允许向相同安全级别或较高安全级别上的客体进行"
写";任意访问控制允许用户自行定义是否让个人或组织存取数据。
Bell-LaPadula模型用偏
(1)ru,当且仅当SC(s)≥SC(o),允许读操作(2)wd,当且仅当SC(s) ≤SC(o),序关系可以表示为:
允许写操作。
简言之就是“向下读和向上写”原则。
【实验预备知识点】
1、经典的访问控制模型有哪些?它们各自的特点是什么?
【实验步骤】
1、点击模型实验按钮进入模型实验界面:
2、通过介绍了解该实验系统的原理与相关的参数,包括实验中不同主体的等级和不同客体的等级,点击BLP模型按钮进入BLP模型实验。
3、选择不同等级的主体身份进入系统,就会看到相应的比自己等级低的客体信息。
这是由BLP的“向下读,向上写”的原则决定的。
例如,选择总经理身份登陆,他的主体等级为6级,即系统中的主体最高级别,那么他能够看到中安全等级小于等于6的客体信息。
图3-2 客体信息
4、对于不同等级的主体,他们分别拥有一定的权限,比如总经理(主体等级6)-----员工登记评定权限;财务主管(主体等级3)-----员工薪金评定权限等。
【实验思考题】
1、多级安全访问控制中的多级的含义是什么?
多级,是根据信息资源的安全属性来分级考虑的。
2、除了通过主客体的安全级别来约束相应的权限外,还有什么别的方法吗?
还会用到访问控制列表(ACL),访问控制矩阵(ACM 还有访问控制能力列表(ACCL),访问控制安全标签列表等。
通过这些机制可以更安全灵活的控制访问的权限。
图3-2 客体信息图3-3 客体信息
2)Biba模型实验
【实验目的】
Biba模型[Biba,1977] 模仿BLP模型的信息保密性级别,定义了信息完整性级别,在信息流向的定义方面不允许从级别低的进程到级别高的进程,也就是说用户只能向比自己安全级别低的客体写入信息,从而防止非法用户创建安全级别高的客体信息,避免越权、篡改等行为的产生。
Biba模型可同时针对有层次的安全级别和无层次的安全种类。
【实验原理】
Biba模型是和BLP模型相对立的模型,它的偏序关系如下:
(1)ru,当且仅当SC(s) ≤SC(o),允许读操作;
(2)wd,当且仅当SC(s) ≥SC(o),允许写操作。
简言之,就是”向上读和向下写”原则。
【实验预备知识点】
1、Biba模型与BLP模型的区别在哪里?
BLP 模式的准则是―向下读和向上写‖,而Biba 实验正好相反,它遵循―向下写与向上读―的原则,这是因为BLP 模型只解决了信息的保密问题,其在完整性定义存在方面有一定缺陷。
BLP 模型没有采取有效的措施来制约对信息的非授权修改,因此使非法、越权篡改成为可能。
BLP 模型的向下读原则强调的是信息的保密性,而忽视了信息的完整性,而Biba 模型的向上读原则与此恰好相反。
【实验步骤】
1、点击Biba模型按钮进入Biba模型实验界面,该实验类似以上的BLP实验,注意此时各个主体和客体的等级。
2、选择一个主体身份进入,例如选择技术主管(主体等级2)登陆,看到的界面如下:
图3-3 客体信息
此时,主体可以读取那些等级高于自己等级的客体信息,而不能读取等级低于自身等级的客体信息。
这正好和BLP模型相反。
3、通过提交工作计划,或者财务总管修改员工工资等,可以看到主体可以对那些等级低于自身等级的客体信息进行写操作。
【实验思考题】
1、Biba模型的自身的缺陷在哪里?
允许等级较低的主体用户可以访问拥有较高安全等级的客体信息,即向上读原则,所以在一定程度上却忽视了信息的保密性。
4、RBAC系统实验
1)用户角色管理实验
【实验目的】
基于角色访问控制(RBAC)的核心思想是将权限同角色关联起来,而用户的授权则通过赋予相应的角色来完成,用户所能访问的权限就由该用户所拥有的所有角色的权限集合的并集决定。
用户角色管理实验的目的是使实验者了解用户与角色的概念、角色在RBAC系统中的作用与地位、用户指派(User Assignment)管理等,角色之间继承、限制等逻辑关系,并通过这些关系影响用户和权限的实际对应。
【实验预备知识点】
1、什么是访问控制?
访问控制是实施允许被授权的主体对某些客体的访问,同时拒绝向非授权的主体提供服务的策略。
2、什么是访问控制的主体和客体?
主体可以是人,也可以是任何主动发出访问请求的智能体,包括程序、进程、服务等;客体包括所有受访问控制保护的资源,在不同应用背景下可以有相当广泛的定义
3、什么是RBAC中的用户?
用户:是一个访问计算机系统中的数据或者用数据表示的其它资源的主体。
4、什么是RBAC中的角色?
角色是指一个组织或任务中的工作或位置,代表了一种资格、权利和责任。
【实验步骤】
1、获取角色列表。
首先打开IE浏览器,输入实验网址,打开用户角色管理实验页面(如图4-1所示);点击[1]刷新角色列表按钮,获取系统默认角色。
若与服务器交互成功,系统日志栏将会有提示信息。
鼠标移动到功能列表区“提示”标记上时,用户将会看到系统帮助。
图4-1 用户角色管理实验页面
2、显示角色图。
点击显示角色图按钮,系统将生成当前
状态下角色关系层次图,并以弹出窗口的形
式打开。
请暂时关闭浏览器的阻止弹出窗口
选项。
角色图如图4-2所示。
按钮上的[*]标
记提醒用户可以在任意时刻刷新角色图,查
看当前的系统角色继承关系。
图4-2 角色层次图
3、添加新角色。
用户可以根据角色图在某一节点上添加
新的角色作为其子节点。
点击[添加新角色按
钮]将弹出添加角色的面板,如图4-3所示。
系统根据实际应用场景,规定角色层次中最高级[第5级]只能有一种角色,即CEO,故新添加的角色只能是它的子孙角色,角色等级在4级或以下。
图4-3 添加新角色
用户只需选择要继承的父角色,系统自动判断新的角色的级别,并在角色等级中项中显示出来。
用户填写角色名称后,点击[添加]按钮,即完成角色的添加。
若取消添加,请点击[取消]按钮。
添加成功后,系统自动刷新角色列表,用户可以看到新添加的角色已经在列表中。
实验中,用户要模拟公司新设培训部门,故需要增加以下三个角色:
[1] 培训部主管–父角色:CEO –等级4;
[2] 培训部教师–父角色:培训部主管–等级3;
[3] 培训部学员–父角色:培训部教师–等级2。
添加成功后,请重新打开角色层次图,查看添加结果是否正确。
、
[注] 在重新打开角色图之前,请关闭上一次打开的角色图。
[注] 在RBAC中,角色的删除非常复杂,本实验系统暂时不提供该功能,如果您角色添加错误,请关闭浏览器,重新进入实验。
4、角色申请。
前几步操作用户都是以管理员的身份进行的。
现在用户要模拟实际系统中普通使用者的身份,申请角色。
随后会有角色的审批和应用过程。
在RBAC系统中,一个用户可以拥有若干个角色,分别应用到不同场景中。
若要申请角色,用户请勾选角色前的复选框。
然后点击[申请角色]按钮。
操作成功后,系统日志将会有提示信息。
本实验中,请用户先申请研发部中HPC项目经理和培训部教师角色。
CEO的角色前的复选框是不可用的,此目的是用户了解RBAC中“角色基数”的概念,该角色的角色基数为1,即只能有一个用户申请该角色。
本实验模拟的场景中该角色已经被占用。
5、角色审批。
在提交了申请的角色后,用户要模拟“系统管理员角色”进行角色审批。
用户可以批准列表中一个或多个角色。
单击[批准]按钮完成审批。
在后面两个实验中,用户可能要返回本实验,进行更多角色的申请和审批。
本实验中,请先批准开发部和培训部中的角色。
不能同时批准开发部和销售部的角色,因为这两个部门之间的角色存在“角色互斥”关系。
至此,用户角色管理实验基本完成。
图4-4 角色审批
【实验思考题】
1、RBAC中的角色是如何划分的?
在实际应用中,根据事业机构中不同工作的职能可以创建不同的角色,每个角色代表一个独立的访问权限实体,可以认为角色是一种资格的抽象。
2、什么是“角色互斥”关系?
限制的一种,用于指定两个角色具有不同的职责,不能让一个用户同时拥有。
3、什么是“角色基数限制”?
限制的一种,用于指定一个角色可被同时授权或激活的数目。
4、什么是管理员角色?
管理员角色是一种特定的角色,用来对角色的访问权限进行设置和管理。
2)角色权限管理实验
【实验目的】
角色权限管理实验的目的是使实验者了解访问权限在RBAC中的类型、权限指派(Permission Assignment)的原理和权限的继承关系,并了解某个角色权限的变动对其他角色的影响。