1、操作系统安全操作系统安全 第三章操作系统安全机制3.1 硬件安全机制硬件安全机制 优秀的硬件保护设施是实现高效、安全、可靠的操作系统的基础,计算机硬件安全的目标是保证其自身的可靠性,并为操作系统提供基本的安全设施,常用的有:存储保护、运行保护和I/O保护等。保护(或称内在保护)是指一种控制程序、进程或用户对计算机系统资源的访问机制。3.1.1 存储保护存储保护存储保护主要指保护用户在存储器中的数据,对于在内存中一次只能运行一个进程的操作系统,存储保护机制应能防止用户程序对操作系统的影响。而允许多个进程同时执行的多道操作系统还需要进一步要求存储保护机制对各个进程的存储空间进行相互隔离。3.1.1
2、 存储保护存储保护在多道程序中,一个重要的问题是防止一道程序在存储和运行时影响到其他程序。操作系统可以在硬件中有效使用硬保护机制进行存储器的安全保护,现在比较常用的有界址、界限寄存器、重定位、特征位、分段、分页和段页式机制等。53.1.13.1.1存储器保护存储器保护 内存储器是操作系统中的共享资源,即内存储器是操作系统中的共享资源,即使对于单用户的个人计算机,内存也是被使对于单用户的个人计算机,内存也是被用户程序与系统程序所共享,在多道环境用户程序与系统程序所共享,在多道环境下更是被多个进程所共享。为了防止共享下更是被多个进程所共享。为了防止共享失去控制和产生不安全问题,对内存进行失去控制和
3、产生不安全问题,对内存进行保护是必要的。保护是必要的。6内存储器是操作系统中的共享资源,内存储器是操作系统中的共享资源,内存被用户程序与系统程序所共享内存被用户程序与系统程序所共享在多道环境下更是被多个进程所共享。在多道环境下更是被多个进程所共享。7内存保护的目的内存保护的目的 防止对内存的未授权访问;防止对内存的未授权访问;防止对内存的未授权访问;防止对内存的未授权访问;防止对内存的错误读写,如向只读单元写;防止对内存的错误读写,如向只读单元写;防止对内存的错误读写,如向只读单元写;防止对内存的错误读写,如向只读单元写;防防防防止止止止用用用用户户户户的的的的不不不不当当当当操操操操作作作作
4、破破破破坏坏坏坏内内内内存存存存数数数数据据据据区区区区、程程程程序序序序区区区区或或或或系统区;系统区;系统区;系统区;多多多多道道道道程程程程序序序序环环环环境境境境下下下下,防防防防止止止止不不不不同同同同用用用用户户户户的的的的内内内内存存存存区区区区域域域域互互互互不不不不影响;影响;影响;影响;将将将将用用用用户户户户与与与与内内内内存存存存隔隔隔隔离离离离,不不不不让让让让用用用用户户户户知知知知道道道道数数数数据据据据或或或或程程程程序序序序在在在在内存中的具体位置;内存中的具体位置;内存中的具体位置;内存中的具体位置;8常用的内存保护技术单用户内存保护技术单用户内存保护技术多
5、道程序的保护技术多道程序的保护技术分段与分页保护技术分段与分页保护技术和内存标记保护法和内存标记保护法 92.1 2.1 单用户内存保护问题单用户内存保护问题 可以利用地址界限寄存器在内存中规可以利用地址界限寄存器在内存中规定一条区域边界(一个内存地址),用户定一条区域边界(一个内存地址),用户程序运行时不能跨越这个地址。利用该寄程序运行时不能跨越这个地址。利用该寄存器也可以实现程序重定位功能,可以指存器也可以实现程序重定位功能,可以指定用户程序的装入地址。定用户程序的装入地址。10系统区系统区系统区系统区用户区用户区用户区用户区(内存)(内存)(内存)(内存)界限寄存器界限寄存器界限寄存器界
6、限寄存器单用户内存保护单用户内存保护 2.2 多道程序的保护11 单用户内存保护存在的问题:单用户内存保护存在的问题:单用户内存保护存在的问题:单用户内存保护存在的问题:利用一个基址寄存器无法使这些用户程序分隔在不利用一个基址寄存器无法使这些用户程序分隔在不利用一个基址寄存器无法使这些用户程序分隔在不利用一个基址寄存器无法使这些用户程序分隔在不同内存区运行同内存区运行同内存区运行同内存区运行 。解决办法:解决办法:解决办法:解决办法:再增加一个寄存器保存用户程序的上边界地址。再增加一个寄存器保存用户程序的上边界地址。再增加一个寄存器保存用户程序的上边界地址。再增加一个寄存器保存用户程序的上边界
7、地址。硬件系统将自动检查程序代码所访问的地址是否硬件系统将自动检查程序代码所访问的地址是否硬件系统将自动检查程序代码所访问的地址是否硬件系统将自动检查程序代码所访问的地址是否 在基址与上边界之间,若不在则报错。在基址与上边界之间,若不在则报错。在基址与上边界之间,若不在则报错。在基址与上边界之间,若不在则报错。用这种办法可以把程序完整地封闭在上下两个边用这种办法可以把程序完整地封闭在上下两个边用这种办法可以把程序完整地封闭在上下两个边用这种办法可以把程序完整地封闭在上下两个边界地址空间中,可以有效地防止一个用户程序访问甚界地址空间中,可以有效地防止一个用户程序访问甚界地址空间中,可以有效地防止
8、一个用户程序访问甚界地址空间中,可以有效地防止一个用户程序访问甚至修改另一个用户的内存。至修改另一个用户的内存。至修改另一个用户的内存。至修改另一个用户的内存。12如果使用多对基址和边界寄存器,还如果使用多对基址和边界寄存器,还可以把用户的可读写数据区与只读数可以把用户的可读写数据区与只读数据区和程序区互相隔离,这种方法可据区和程序区互相隔离,这种方法可以防止程序自身的访问错误。例如,以防止程序自身的访问错误。例如,可以防止向程序区或只读数据区写访可以防止向程序区或只读数据区写访问。问。13系统区系统区系统区系统区程序程序程序程序R R内存区内存区内存区内存区程序程序程序程序S S内存区内存区
9、内存区内存区程序程序程序程序T T内存区内存区内存区内存区基地址寄存器基地址寄存器基地址寄存器基地址寄存器边界址寄存器边界址寄存器边界址寄存器边界址寄存器多道程序的保护多道程序的保护142.3 2.3 2.3 2.3 标记保护法标记保护法标记保护法标记保护法 多对基址与边界寄存器技术的问题:多对基址与边界寄存器技术的问题:只能保护只能保护数据区不被其他用户程序访问,不能控制自身数据区不被其他用户程序访问,不能控制自身程序对同一个数据区内单元有选择的读或写。程序对同一个数据区内单元有选择的读或写。例如,一个程序中若没有数组越界溢出检例如,一个程序中若没有数组越界溢出检查,当向该数组区写入时就有可
10、能越界到其他查,当向该数组区写入时就有可能越界到其他数据单元,甚至越界到程序代码区(这就是缓数据单元,甚至越界到程序代码区(这就是缓冲区溢出的一种情况),而代码区是严格禁止冲区溢出的一种情况),而代码区是严格禁止写的。写的。15 解决方法:解决方法:解决方法:解决方法:按其内容要求进行保护,例如有的单元只按其内容要求进行保护,例如有的单元只读,读读,读/写、或仅执行(代码单元)等不同要写、或仅执行(代码单元)等不同要求,可以在每个内存字单元中专用几个比特来求,可以在每个内存字单元中专用几个比特来标记该字单元的属性。标记该字单元的属性。除了标记读、写、执行等属性外,还可以除了标记读、写、执行等属
11、性外,还可以标记该单元的数据类型,如数据、字符、地址、标记该单元的数据类型,如数据、字符、地址、指针或未定义等。指针或未定义等。16加标记的内存加标记的内存EE代码代码代码代码EE代码代码代码代码EE代码代码代码代码EE代码代码代码代码RWRW数据数据数据数据OROR数据数据数据数据.其中其中其中其中E E表示执行,表示执行,表示执行,表示执行,R R表示读,表示读,表示读,表示读,WW表示写,表示写,表示写,表示写,OROR表表表表示只读。示只读。示只读。示只读。172.4 2.4 分段与分页技术分段与分页技术 对于稍微复杂一些的用户程序,通常按对于稍微复杂一些的用户程序,通常按功能划分成若
12、干个模块(过程)。每个模块功能划分成若干个模块(过程)。每个模块有自己的数据区,各模块之间也可能有共享有自己的数据区,各模块之间也可能有共享数据区。各用户程序之间也可能有共享模块数据区。各用户程序之间也可能有共享模块或共享数据区。或共享数据区。这些模块或数据区有着不同的访问属性这些模块或数据区有着不同的访问属性和安全要求,使用上述各种保护技术很难满和安全要求,使用上述各种保护技术很难满足这些要求。足这些要求。18分段技术的作用分段技术的作用 分分段段技技术术就就是是试试图图解解决决较较大大程程序序的的装装入入、调度、运行和安全保护等问题的一种技术。调度、运行和安全保护等问题的一种技术。分段以模
13、块(过程或子程序)为单位。分段以模块(过程或子程序)为单位。采采用用分分段段技技术术,用用户户不不知知道道他他的的程程序序实实际际使使用用的的内内存存物物理理地地址址。这这种种隐隐藏藏对对保保护护用户代码与数据的安全是极有好处的。用户代码与数据的安全是极有好处的。19分段技术的优点:分段技术的优点:(1)在段表中除了与段名对应的段号及段)在段表中除了与段名对应的段号及段基址外,还可以增加必要的访问控制信息,基址外,还可以增加必要的访问控制信息,对于任何企图访问某个段的操作,操作系对于任何企图访问某个段的操作,操作系统和硬件都可以进行检查。统和硬件都可以进行检查。(2)分段技术几乎可以实现对程序
14、的不同)分段技术几乎可以实现对程序的不同片段分别保护的目标。根据各段敏感性要片段分别保护的目标。根据各段敏感性要求,为各段划分安全级,并提供不同的保求,为各段划分安全级,并提供不同的保护措施。护措施。20(3)分分段段技技术术的的保保护护功功能能可可以以检检查查每每一一次次对对内内存存访访问问是是否否合合法法,可可以以让让保保护护粒粒度度达达到到数据项级。数据项级。(4)可可以以为为了了实实施施保保护护而而检检查查每每一一次次地地址址访访问。问。(5)还可以避免允许用户直接指定内存地址)还可以避免允许用户直接指定内存地址或段区所带来的安全问题,也可以让多个或段区所带来的安全问题,也可以让多个用
15、户用不同的权限访问一个段。用户用不同的权限访问一个段。21段的管理方式存在的问题与困难段的管理方式存在的问题与困难(1)由由于于各各段段的的长长度度不不相相同同,对对内内存存管管理理造造成了困难,容易产生内存成了困难,容易产生内存“碎片碎片”。这是一个很大的安全漏洞。这是一个很大的安全漏洞。22(2)在在许许多多情情况况下下(如如段段内内部部包包含含动动态态数数据据结结构构)要要求求在在使使用用段段方方式式时时允允许许段段的的尺尺寸寸可可以以增增大大。为为了了保保证证安安全全起起见见,要要求求系系统统检检查查所所产产生生的的地地址址,验验证证其其是是否否超超出出所所访问的段的末端。访问的段的末
16、端。23(3)段名不易在指令中编码,由操作系统查)段名不易在指令中编码,由操作系统查名字表的速度也会很慢。解决的办法是由编名字表的速度也会很慢。解决的办法是由编译器把段名转化为数字,并建立一张数字与译器把段名转化为数字,并建立一张数字与段名之间的对照表。但这又为段的共享带来段名之间的对照表。但这又为段的共享带来麻烦,因为每个调用者都必须知道该段的编麻烦,因为每个调用者都必须知道该段的编号。号。24分段与分页的问题与作用分段与分页的问题与作用分段与分页的问题与作用分段与分页的问题与作用 为了解决分段可能产生的内存碎片问题,为了解决分段可能产生的内存碎片问题,为了解决分段可能产生的内存碎片问题,为
17、了解决分段可能产生的内存碎片问题,引入了分页技术。分页是把目标程序与内存都引入了分页技术。分页是把目标程序与内存都引入了分页技术。分页是把目标程序与内存都引入了分页技术。分页是把目标程序与内存都划分成相同大小的片段,这些片段就称为划分成相同大小的片段,这些片段就称为划分成相同大小的片段,这些片段就称为划分成相同大小的片段,这些片段就称为“页页页页”。分页技术解决了碎片问题,但损失了分段分页技术解决了碎片问题,但损失了分段分页技术解决了碎片问题,但损失了分段分页技术解决了碎片问题,但损失了分段技术的安全功能。技术的安全功能。技术的安全功能。技术的安全功能。由于段具有逻辑上的完整意义,而页则没由于
18、段具有逻辑上的完整意义,而页则没由于段具有逻辑上的完整意义,而页则没由于段具有逻辑上的完整意义,而页则没有这样的意义,程序员可以为段规定某些安全有这样的意义,程序员可以为段规定某些安全有这样的意义,程序员可以为段规定某些安全有这样的意义,程序员可以为段规定某些安全控制要求,但却无法指定各页的访问控制要求。控制要求,但却无法指定各页的访问控制要求。控制要求,但却无法指定各页的访问控制要求。控制要求,但却无法指定各页的访问控制要求。25 系统还可以为每个物理页分配一系统还可以为每个物理页分配一个密码,只允许拥有相同密码的进程个密码,只允许拥有相同密码的进程访问该页,该密码由操作系统装入进访问该页,
19、该密码由操作系统装入进程的状态字中,由硬件对进程的密码程的状态字中,由硬件对进程的密码进行检验。这种安全机制有效地保护进行检验。这种安全机制有效地保护了虚拟存储器的安全。了虚拟存储器的安全。3.1.2 运行保护运行保护安全操作系统很重要的一点是进行分层设计,而运行域安全操作系统很重要的一点是进行分层设计,而运行域正是这样一种基于保护环的等级式结构。运行域是进程正是这样一种基于保护环的等级式结构。运行域是进程运行的区域,在最内层具有最小环号的环具有最高特权,运行的区域,在最内层具有最小环号的环具有最高特权,而在最外层具有最大环号的环是最小的特权环。而在最外层具有最大环号的环是最小的特权环。设置两
20、环系统是很容易理解的,它只是为了隔离操作系设置两环系统是很容易理解的,它只是为了隔离操作系统程序与用户程序。这就像生活中的道路被划分为机动统程序与用户程序。这就像生活中的道路被划分为机动车道和非机动车道一样,各种车辆和行人各行其道,互车道和非机动车道一样,各种车辆和行人各行其道,互不影响,保证了各自的安全。对于多环结构,它的最内不影响,保证了各自的安全。对于多环结构,它的最内层是操作系统,它控制整个计算机系统的运行;靠近操层是操作系统,它控制整个计算机系统的运行;靠近操作系统环之外的是受限使用的系统应用环,如数据库管作系统环之外的是受限使用的系统应用环,如数据库管理系统或事务处理系统;最外一层
21、则是各种不同用户的理系统或事务处理系统;最外一层则是各种不同用户的应用环。应用环。Intelx86微芯片系列就是使用环概念来实施运行保护的,如微芯片系列就是使用环概念来实施运行保护的,如图所示。图所示。环有环有4个级别:环个级别:环0是最高权限的,环是最高权限的,环3是最低权限的。当然,是最低权限的。当然,微芯片上并没有实际的物理环。微芯片上并没有实际的物理环。Windows操作系统中的所有内核代码都在环操作系统中的所有内核代码都在环0级上运行。用级上运行。用户模式程序户模式程序(例如例如Office软件程序软件程序)在环在环3级上运行。包括级上运行。包括Windows和和Linux在内的许多
22、操作系统在在内的许多操作系统在Intelx86微芯片上只微芯片上只使用环使用环0和环和环3,而不使用环,而不使用环1和环和环2。3.1.23.1.2运行保护运行保护运行保护运行保护3.1.3 I/O 保护保护I/O介质输出访问控制最简单的方式是将设备看介质输出访问控制最简单的方式是将设备看作是一个客体,仿佛它们都处于安全边界外。由作是一个客体,仿佛它们都处于安全边界外。由于所有的于所有的I/O不是向设备写数据就是从设备接收不是向设备写数据就是从设备接收数据,所以一个进行数据,所以一个进行I/O操作的进程必须受到对操作的进程必须受到对设备的读写两种访问控制。这就意味着设备到介设备的读写两种访问控
23、制。这就意味着设备到介质间的路径可以不受什么约束,而处理器到设备质间的路径可以不受什么约束,而处理器到设备间的路径则需要施以一定的读写访问控制。间的路径则需要施以一定的读写访问控制。标识(identification):用来标明用户身份,确保用户的惟一性和可辨认性的标志,一般选用用户名称和用户标识符(UID)来标明一个系统用户,名称和标识符均为公开的明码信息。用户标识是有效实施其他安全策略,如用户数据保护和安全审计的基础。通过为用户提供标识,TCB能使用户对自己的行为负责。鉴别(authentication):用特定信息对用户身份、设备和其他实体的真实性进行确认,用于鉴别的信息是非公开的和难以
24、仿造的,如口令(也称密钥)。用户鉴别是有效实施其他安全策略的基础。3.2 主体标识与鉴别主体标识与鉴别AliceBobEveAlice?Alice?orEve?orEve?Bob?Bob?or Eve?or Eve?鉴别协议的目的鉴别协议的目的1、在诚实的情况下,声称者、在诚实的情况下,声称者A能向验证者能向验证者B证明他确实是他确实是A;在声称者;在声称者A向验证者向验证者B声称他的身份后,验证者声称他的身份后,验证者B不能获得任何有用的信息,任何有用的信息,B也也不能模仿A向其他第三方证明向其他第三方证明他就是他就是A。3、任何不同于、任何不同于A的实体的实体C以以A的身份,让的身份,让B
25、相信相信C是是A的概率的概率可忽略不计可忽略不计3.2 主体标识与鉴别主体标识与鉴别标识鉴别机制的设计和实现需要达到两个方面的要求:(1)标识鉴别系统的设计要协助安全操作系统实现新增的安全功能和安全策略,包括增加新的用户属性,并通过扩展标识鉴别命令来支持这些属性。(2)标识鉴别系统本身的安全性要达到安全操作系统本身的安全级别要求,增加新的安全功能,提高安全性。口令鉴别机制口令鉴别机制口令鉴别机制(1)静态口令鉴别机制传统的静态口令鉴别机制是利用用户名和口令核对的方法对系统进行维护。用户登录系统时,系统通过对比用户输入的口令和用户ID,来判断用户身份的合法性。口令鉴别机制口令鉴别机制(2)动态口
26、令鉴别机制基本原理是在客户端登录过程中,基于用户的秘密通行短语加入不确定因素,对通行短语和不确定因素进行变换,所得结果作为认证数据(即动态口令),提交给认证服务器,认证服务器接收到用户的认证数据后,以事先规定的算法去验算认证数据,从而实现对用户身份的认证。由于客户端每次生成认证数据都采用不同的不确定因素值,保证了客户端每次提交的认证数据都不相同,因此动态口令机制有效的提高了身份认证的安全性。根据口令生成时不确定因素的选择方式,动态口令机制有时间同步机制、挑战/应答机制、事件同步机制等。一次口令一次口令固定口令方案存在的主要问题:防止窃听和随后的口令重放(无时变参数)解决办法:每个口令只用一次变
27、体:一次口令的共享列表顺序更新一次口令基于单向函数的一次口令序列:w,H(w),H(H(w),身份认证的基本途径身份认证的基本途径基于你所知道的(Whatyouknow)知识、口令、密码基于你所拥有的(Whatyouhave)身份证、信用卡、钥匙、智能卡、令牌等基于你的个人特征(Whatyouare)指纹,笔迹,声音,手型,脸型,视网膜,虹膜双因素、多因素认证对固定口令的攻击对固定口令的攻击固定口令的重放:远程登录密钥搜索:敌手随机地猜测口令口令猜测和字典攻击:从整个口令空间的一个小子集中选择口令(如,短口令、字典单词、合适的名称)对口令机制的基本要求对口令机制的基本要求基于用户标识符和口令的
28、用户认证技术,其最主要的优点是简单易行,因此,在几乎所有需要对数据加以保密的系统中,都引入了基于口令的机制。但这种机制也很容易受到别有用心者的攻击,攻击者可能通过多种方式来获取用户标识符和口令,或者猜出用户所使用的口令。为了防止攻击者猜出口令,在这种机制中通常应满足以下几点要求:(1)口令长度要适中通常的口令是由一串字母和数字组成。如果口令太短,则很容易被攻击者猜中。例如,一个由四位十进制数所组成的口令,其搜索空间仅为104,在利用一个专门的程序来破解时,平均只需5000次即可猜中口令。假如每猜一次口令需花费0.1ms的时间,则平均每猜中一个口令仅需0.5s。而如果采用较长的口令,假如口令由A
29、SCII码组成,则可以显著地增加猜中一个口令的时间。例如,口令由7位ASCII码组成,其搜索空间变为957(95是可打印的ASCII码),大约是71013,此时要猜中口令平均需要几十年。对口令机制的基本要求对口令机制的基本要求(2)自动断开连接。为了给攻击者猜中口令增加难度,在口令机制中还应引入自动断开连接的功能,即只允许用户输入有限次数的不正确口令,通常规定35次。如果用户输入不正确口令的次数超过规定的次数时,系统便自动断开该用户所在终端的连接。当然,此时用户还可能重新拨号请求登录,但若在重新输入指定次数的不正确口令后,仍未猜中,系统会再次断开连接。这种自动断开连接的功能,无疑又给攻击者增加
30、了猜中口令的难度。对口令机制的基本要求对口令机制的基本要求(3)不回送显示。在用户输入口令时,登录程序不应将该口令回送到屏幕上显示,以防止被就近的人发现。(4)记录和报告。该功能用于记录所有用户登录进入系统和退出系统的时间;也用来记录和报告攻击者非法猜测口令的企图及所发生的与安全性有关的其它不轨行为,这样便能及时发现有人在对系统的安全性进行攻击。对口令机制的基本要求对口令机制的基本要求通常在口令机制中,都配置有一份口令文件,用于保存合法用户的口令和与口令相联系的特权。该文件的安全性至关重要,一旦攻击者成功地访问了该文件,攻击者便可随心所欲地访问他感兴趣的所有资源,这对整个计算机系统的资源和网络
31、,将无安全性可言。显然,如何保证口令文件的安全性,已成为系统安全性的头等重要问题。口令文件口令文件保证口令文件安全性的其中一个行之有效的方法是选择一个函数来对口令进行加密,该函数f(x)具有这样的特性:在给定了x值后,很容易算出f(x);然而,如果给定了f(x)的值,却不能算出x的值。利用f(x)函数去编码(即加密)所有的口令,再将加密后的口令存入口令文件中。当某用户输入一个口令时,系统利用函数f(x)对该口令进行编码,然后将编码(加密)后的口令与存储在口令文件中的已编码的口令进行比较,如果两者相匹配,便认为是合法用户。即使攻击者能获取口令文件中的已编码口令,他也无法对它们进行译码,因而不会影
32、响到系统的安全性。口令文件口令文件图:对加密口令的验证方法图:对加密口令的验证方法口令文件口令文件加强固定口令安全性的措施加强固定口令安全性的措施避免“弱”口令放慢口令映射口令加盐口令扩展为通行短语定义口令生存期限制口令的尝试次数登录需输入指定图片中的随机数和字母的组合3.2.2 3.2.2 传统标识与鉴别技术传统标识与鉴别技术传统的身份鉴别方法针对身份标识物品和身份标传统的身份鉴别方法针对身份标识物品和身份标识知识,识知识,如个人的钥匙、证件、用户名、密码等。如个人的钥匙、证件、用户名、密码等。智能卡智能卡智能卡的广泛应用智能卡的广泛应用 3.2.3 3.2.3 生物标识与鉴别技术生物标识与
33、鉴别技术通过计算机对人体固有的生理或行为特征进行个人身份鉴别。人的生理特征与生俱来,多为先天性,常用的生物标识技术有脸像、虹膜、指纹、掌纹、声音、笔迹、步态等。生物标识与鉴别技术具有以下三大优点:(1)不容易被遗忘或丢失。(2)不容易被伪造或被盗。(3)可以随时携带,随时使用。生理特征介绍生理特征介绍每个人所具有的唯一生理特征指纹,视网膜,声音,视网膜、虹膜、语音、面部、签名等指纹一些曲线和分叉以及一些非常微小的特征;提取指纹中的一些特征并且存储这些特征信息:节省资源,快速查询;手掌、手型手掌有折痕,起皱,还有凹槽;还包括每个手指的指纹;人手的形状(手的长度,宽度和手指)表示了手的几何特征生理
34、特征介绍(续)生理特征介绍(续)视网膜扫描扫描眼球后方的视网膜上面的血管的图案;虹膜扫描虹膜是眼睛中位于瞳孔周围的一圈彩色的部分;虹膜有其独有的图案,分叉,颜色,环状,光环以及皱褶;语音识别记录时说几个不同的单词,然后识别系统将这些单词混杂在一起,让他再次读出给出的一系列单词。面部扫描人都有不同的骨骼结构,鼻梁,眼眶,额头和下颚形状。生理特征介绍(续)生理特征介绍(续)限制因素:第一,必须保证每个人的该项生物特征具有世界唯一性。第二,生物特征必须提前识别,并存储在鉴别库中。第三,由于生物特征会随着时间或者环境发生变化,鉴别库中的生物特征需要进行必要的更新,以保证较高的识别准确率。3.3 访问控
35、制访问控制访问控制的概念和目标:一般概念 是针对越权使用资源的防御措施。基本目标:防止对任何资源(如计算资源、通信资源或信息资源)进行未授权的访问。从而使计算机系统在合法范围内使用;决定用户能做什么,也决定代表一定用户的程序能做什么。未授权的访问包括:未经授权的使用、泄露、修改、销毁信息以及颁发指令等。非法用户进入系统。合法用户对系统资源的非法使用。主体、客体和授权主体、客体和授权客体(Object):规定需要保护的资源,又称作目标(target)。主体(Subject):或称为发起者(Initiator),是一个主动的实体,规定可以访问该资源的实体,(通常指用户或代表用户执行的程序)。授权(
36、Authorization):规定可对该资源执行的动作(例如读、写、执行或拒绝访问)。一个主体为了完成任务,可以创建另外的主体,这些子主体可以在网络上不同的计算机上运行,并由父主体控制它们。主客体的关系是相对的。主体属性主体属性主体属性:用户特征,是系统用来决定访问控制的常用因素,一个用户的任何一种属性都可作为访问控制决策点,一般系统访问控制策略中常用的用户属性有:a)用户ID/用户组ID:b)用户访问许可级别:c)用户需知属性:d)角色:e)权能列表:客体属性客体属性与系统内客体相关联的属性也作为访问控制策略的一部分,客体安全属性有:a)敏感性标记:信息按“安全等级”进行分类,如“公开信息”
37、、“机密信息”、“秘密信息”、“绝密信息”;还可将系统内的信息按非等级分类,进行模拟人力资源系统的划分,称“范畴”,如参谋部、作战部、后勤部等,系统内信息的敏感性标记由等级与非等级两部分组成:敏感性级别和范畴。2.1 访问控制访问控制访问控制AccessControl:限制已授权的用户、程序、进程或计算机网络中其他系统访问本系统资源的过程。口令认证不能取代访问控制。访问控制机制:在信息系统中,为检测和防止未授权访问,以及为使授权访问正确进行所设计的硬件或软件功能、操作规程、管理规程和它们的各种组合。为达到此目的,访问进程需达到以下两个目的:识别和确认访问系统的用户;决定该用户可以对某一系统资源
38、进行何种类型的访问;授权信息 访问控制与其他安全机制的关系访问控制与其他安全机制的关系认证、授权、审计(AAA)Log身份认证身份认证访问控制访问控制审计审计授权(授权(authorization)主体主体客体客体用户认证解决的是:用户认证解决的是:“你是谁?你是你是谁?你是否真的是你所声称的身份?否真的是你所声称的身份?”访问控制技术解决的是访问控制技术解决的是“你能做什么你能做什么?你有什么样的权限?你有什么样的权限?”。三种常用的访问控制机制三种常用的访问控制机制自主访问控制DAC(DiscretionaryAccessControl)强制访问控制MAC(MandatoryAccessC
39、ontrol)基于角色的访问控制RBAC(RoleBasedAccessControl)自主自主访问控制访问控制强制强制访问控制访问控制基于角色基于角色访问控制访问控制访问控制访问控制2.1.1 2.1.1 自主访问控制自主访问控制2.1.1 自主访问控制自主访问控制定义:在自主访问控制机制中,用户有自主的决定权。这里所谓的自主决定权是指主体可以自主地将访问权,或访问权的某个子集授予其它主体。灵活性高,被大量采用。缺点:安全性最低,因为信息在移动过程中其访问权限关系会被改变。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。访问控制矩阵访问控制矩阵按列看是访问
40、控制表内容(客体)按行看是访问能力表内容(主体)矩阵元素:相应的用户对目标的访问许可。目标目标xR、W、OwnR、W、Own目标目标y目标目标z用户用户a用户用户b用户用户c用户用户dRRR、W、OwnR、WR、W目标目标用户用户访问控制矩阵访问控制矩阵为了实现完备的自主访问控制系统,由访问控制矩阵提供的信息必须以某种形式存放在系统中。访问矩阵中的每行表示一个主体每列则表示一个受保护的客体而矩阵中的元素,则表示主体可以对客体的访问模式矩阵中的许多元素常常为空。在实现自主访问控制机制时,常常是基于矩阵的行或列来表达访问控制信息。访问控制矩阵的原理简单,实现起来并不难,但当用户和文件都很多时,就需
41、要占用大量的存储空间。例如:如果系统有5000个用户和30000个文件,二维存取控制矩阵就要有5000*30000个表项,将占用大量的存储空间。如果用户和文件系统要管理的文件有所增加,那么控制矩阵将会成几何级数增长,对于增长的矩阵而言,会有大量的空余空间。另外,查找这样大的表不仅不方便,而且还浪费大量的CPU时间。所以在实际应用时,常常要采用另外的变通方式来实现。访问控制矩阵访问控制矩阵1.基于行的自主访问控制机制基于行的自主访问控制机制所谓基于行的自主访问控制是在每个主体上都附加一个该主体可访问的客体的明细表。根据表中信息的不同可以分为以下三种形式:(1)能力表(CL:Capabilitie
42、sList)(2)前缀表(Prefixes)(3)口令(Password)访问能力表访问能力表(CL)Obj1OwnRWOObj2ROObj3RWOUserA每个主体都附加一个该主体可访问的客体的明细表。每个主体都附加一个该主体可访问的客体的明细表。2.基于列的自主访问控制机制基于列的自主访问控制机制所谓基于列的访问控制是指按客体附加一份可访问它的主体的明细表。基于列的访问控制可以有两种方式,一种是保护位一种是存取控制表 保护位(保护位(Protection Bits)(1)保护位(ProtectionBits)保护位对所有的主体、主体组(用户、用户组)以及该客体(文件)的拥有者,规定了一个访
43、问模式的集合。保护位机制是一种简单易行的自主访问控制方式,能在一定程度上表达访问控制矩阵。UNIX系统采用了保护位的方法。在Unix系统中,用户组是具有相似功能特点的用户集合。某客体的拥有者实际就是生成客体的主体,它对客体的所有权仅能通过超级用户特权来改变。拥有者(超级用户除外)是唯一能够改变客体保护位的主体。一个用户可能属于多个静态的用户组,但是在某个时刻,一个用户只能属于一个活动的用户组。用户组及拥有者的权限都体现在客体的保护位中。访问控制表访问控制表(ACL)(2)存取控制表ACL(AccessControlList)存取控制表可以决定任何一个特定的主体是否可对某一个客体进行访问。它是利
44、用在客体上附加一个主体明细表的方法来表示访问控制矩阵的。表中的每一项包括主体的身份以及对该客体的访问权。主体或者组读写执行User1 1 -1Group2 1 1 1访问控制表访问控制表(ACL)userAOwnRWOuserBROuserCRWOObj1userAOwnRWOuserBROuserCRWOObj1每个客体附加一个它可以访问的主体的明细表每个客体附加一个它可以访问的主体的明细表。ACL、CL访问方式比较访问方式比较鉴别方面:二者需要鉴别的实体不同保存位置不同访问权限传递ACL:困难,CL:容易访问权限回收ACL:容易,CL:困难 自主存取控制机制实现举例自主存取控制机制实现举例
45、1)“拥有者/同组同户/其他用户”模式2)“存取控制表ACL”和“拥有者/同组同户/其他用户”结合模式在安全操作系统UNIXSVR4.1中,采用“存取控制表ACL”和“拥有者/同组同户/其他用户”结合的实现方法,ACL只对于“拥有者/同组同户/其他用户”无法分组的用户才使用。3.自主访问控制的访问许可自主访问控制的访问许可自主访问控制的访问类型:访问许可与访问模式描述了主体对客体所具有的控制权与访问权。访问许可定义了改变访问模式的能力或向其它主体传送这种能力的能力。访问模式则指明主体对客体可进行何种形式的特定的访问操作:读写运行。3.自主访问控制的访问许可自主访问控制的访问许可(1)等级型可以
46、将对客体存取控制表的修改能力划分成等级。可以将控制关系组成一个树型结构。系统管理员的等级设为等级树的根,根一级具有修改所有客体存取控制表的能力,并且具有向任意一个主体分配这种修改权的能力。等级型特点等级型特点优点:通过选择可信任的人担任各级领导,使得能够以可信方式对客体施加控制。缺点:对于一个客体而言,可能会同时有多个主体有能力修改它的存取控制表。拥有型拥有型(2)拥有型另一种控制方式是对每个客体设立一个拥有者(通常是该客体的生成者)。只有拥有者才是对客体有修改权的唯一主体。拥有者对其拥有的客体具有全部控制权。但是,拥有者无权将其对客体的控制权分配给其它主体。因此,客体拥有者在任何时候都可以改
47、变其所属客体的存取控制表,并可以对其它主体授予或者撤消其对客体的任何一种访问模式。系统管理员应能够对系统进行某种设置,使得每个主体都有一个“主目录”(homedirectory)。对主目录下的子目录及文件的访问许可权应授予该主目录的主人。使他能够修改主目录下的客体的存取控制表,但不允许使拥有者具有分配这种访问许可权的权力。可以把拥有型控制看成是二级的树型控制。例如:在UNIX系统中,利用超级用户来实施特权控制。自由型自由型(3)自由型自由型方案的特点是:一个客体的生成者可以对任何一个主体分配对它拥有的客体的访问控制权,即对客体的存取控制表有修改权,并且还可使其对其它主体也具有分配这种权力的能力
48、。在这种系统中,不存在“拥有者”概念。一旦访问许可权分配出去,那么就很难控制客体了。4.4.访问模式访问模式1)写删除(Write-delete)该访问模式允许主体用扩展(expanding)、收缩(shrinking)以及删除(deleting)的方法修改一个客体。2)读拷贝(Read-copy)该模式允许主体对客体进行读与拷贝的访问操作。现在操作系统中的Read模式实际就是Read-copy模式。3)执行(Execute)该模式允许主体将客体作为一种可执行文件而运行。在许多系统中,Execute模式需要Read模式。4)Null(无效)这种模式表示,主体对客体不具有任何访问权。在存取控制表
49、中用这种模式可以排斥某个特定的主体。2.1.2 2.1.2 强制访问控制强制访问控制强制访问控制用于将系统中的信息分密级和范畴进行管理,保证每个用户只能够访问那些被标明能够由他访问的信息的一种访问约束机制。系统中每个主体(进程),每个客体(文件、消息队列、信号量集、共享存储区等)都被赋予相应的安全属性,这些安全属性不能改变,它由安全系统(包括安全管理员)自动地按严格的规则设置,而不是像存取控制表那样由用户或用户程序直接或间接修改。2.1.2 2.1.2 强制访问控制强制访问控制强制访问控制系统为所有的主体和客体指定安全级别,比如绝密级、秘密级和无密级。不同级别标记了不同重要程度和能力的实体。不
50、同级别的主体对不同级别的客体的访问是在强制的安全策略下实现的。强制访问控制机制中,系统为每个进程、每个文件以及每个IPC客体赋予了相应的安全属性,由系统管理员或操作系统自动的按照严格的规则来设置。其访问控制关系分为:上读上读/下写下写(完整性)(完整性),下读/上写(机密性)(机密性)。强制访问控制强制访问控制规定:规定:一般安全属性可分为四个级别一般安全属性可分为四个级别具有如下的四种强制访问控制策略:具有如下的四种强制访问控制策略:下读:用户级别大于文件级别的读操作;上写:用户级别低于文件级别的写操作;下写:用户级别大于文件级别的写操作;上读:用户级别低于文件级别的读操作;这些策略保证了信