《分布式安全》由会员分享,可在线阅读,更多相关《分布式安全(54页珍藏版)》请在金锄头文库上搜索。
1、 分布式安全分布式安全西北工业大学计算机学院西北工业大学计算机学院 周兴社周兴社 王王 涛涛主要内容主要内容n概述n安全通道n访问控制n安全管理2022/4/212分布式系统安全安全威胁安全威胁n安全性与可靠性密切相关n一个可靠的系统是一个我们可以信赖其服务的系统.n一个可以信任的计算机系统应该具有:n一般意义的可靠性n机密性:系统只将信息向授权用户公开n完整性:系统资源的变更只能以授权的方式进行2022/4/21分布式系统安全3安全威胁安全威胁我们必须首先搞清有哪些外来的威胁然后才能根据不同的威胁类别选择相应的对策 安全威胁一般有四种:窃听:如包解惑、非法侵入中断:如拒绝服务攻击DOS修改:
2、未经授权修改数据或篡改服务伪造:产生通常不存在的附加数据或活动2022/4/21分布式系统安全4安全策略与机制安全策略与机制n建立一个安全可靠的系统前提n首先需要一个安全策略n然后在安全策略基础上考虑其安全机制n安全策略是指系统安全需求的描述.n安全策略实施的机制称为安全机制2022/4/21分布式系统安全5安全策略与机制安全策略与机制n几种重要的安全机制: 加密身份验证授权审计nGlobus安全体系结构2022/4/21分布式系统安全6安全性设计安全性设计n控制的焦点数据的保护操作的控制用户层面的控制2022/4/21分布式系统安全7安全性设计安全性设计n安全机制的分层n一般把通用服务与通信
3、服务分离开来,通用服务构建在高层协议上,通信服务则构建在底层协议上n 对应地,我们把信任和安全区分开来n安全机制放在哪一层,取决于客户对特定层中服务的信任度n分布式系统中,安全机制一般放在中间件层.2022/4/21分布式系统安全8安全性设计安全性设计n安全机制的分布性n一般根据所需的安全性,将服务分布在不同的机器上,使得安全服务于其他类型的服务分开2022/4/21分布式系统安全9安全性设计安全性设计n安全性设计的简单性n背景n如果一个系统设计者可以使用一些易于理解且可靠的的简单机制,那么系统的安全性设计工作就会较容易实现n引入安全会使系统变的更加复杂,因此,用于实现安全协议的基本机制要相对
4、简单且易于理解n意义n有助于最终用户对应用程序的信任n设计者易于确信是否存在安全漏洞2022/4/21分布式系统安全10加密加密2022/4/21分布式系统安全11真正意义上的密码要追溯到古欧洲的斯巴达,为了#,斯巴达人采用一种独特的方式书写军事情报.他们将一根皮带螺旋式地绕在一根圆木棍上,然后把情报书写在皮带上.当皮带被打开时,出现在带子上的只是一些毫不相干的断断续续的字母.要重新得到秘密情报,只要将皮带卷在一根直径与原来一样的木棍上就行了. 加密加密n最基本的安全措施n加密和解密是通过以密钥为参数的加密算法实现,发送的消息的原始格式叫明文,已加密的格式叫密文n三种针对密文的攻击:n窃听n修
5、改消息n插入消息2022/4/21分布式系统安全12加密加密n对加密系统的分类是基于加密解密密钥是否相同n加密和解密密钥相同的系统称为对称加密系统或者共享密钥系统n而非对称加密系统中,加密和解密使用的密钥是不同的,但两个密钥一起构成了唯一的一对n非对称加密系统中,一个密钥是#的,称为私钥,另一个是公开的称为公钥.又称公钥系统2022/4/21分布式系统安全13主要内容主要内容n概述n安全通道n访问控制n安全管理2022/4/2114分布式系统安全安全通道安全通道通信的保护问题可以认为是在通信各方之间建立一个安全通道的问题.安全通道保护发送方和接收方免受对消息的窃听、修改和伪造的攻击实现安全通信
6、的两个主要方面通信双方需要验证身份确保消息的完整性和机密性2022/4/21分布式系统安全15身份认证身份认证n身份认证和消息完整性相互之间不能脱离n要确保进行身份认证后交换数据的完整性,常见的方法是依靠会话密钥使用密钥加密n会话密钥n会话密钥是一个共享密钥,常用于为完整性和可能的机密性而对消息进行加密2022/4/21分布式系统安全16基于共享密钥的身份验证基于共享密钥的身份验证1n质询-响应协议:一方向另一方质询一个响应,只有对方知道共享密钥时才能给予正确的响应2022/4/21分布式系统安全17基于共享密钥的身份验证基于共享密钥的身份验证2n基于共享密钥的身份验证,用三个消息代替五个20
7、22/4/21分布式系统安全18基于共享密钥的身份验证基于共享密钥的身份验证3n反射攻击2022/4/21分布式系统安全19原因:协议的双方在两个不同方向都使用相同的质询原因:协议的双方在两个不同方向都使用相同的质询解决:协议的双方永远使用不同的质询解决:协议的双方永远使用不同的质询使用密钥发布中心的身份验证使用密钥发布中心的身份验证 n共享密钥的身份验证存在可扩展性问题nN台主机,需要 N*/2个密钥n使用 KDCkey distribution center只需要管理 N 个密钥nKDC与每台主机共享一个密钥;向通信的两主机分发一个密钥通信2022/4/21分布式系统安全20使用密钥发布中
8、心的身份验证使用密钥发布中心的身份验证 n使用票据ticket让 Alice 建立与 Bob 的通道2022/4/21分布式系统安全21使用公钥加密的身份验证使用公钥加密的身份验证2022/4/21分布式系统安全22消息的完整性和机密性消息的完整性和机密性n完整性:保护消息免受修改数字签名会话密钥n机密性:确保窃听者不能截获和读取消息消息加密l采用共享密钥进行加密l使用接收者的公钥加密2022/4/21分布式系统安全23数字签名数字签名n如果消息签名检验为真,发送者不能否认消息签名这一事实n消息与其签名的唯一关联防止了对消息进行修改而未发现的可能n使用公钥加密对消息进行数字签名2022/4/2
9、1分布式系统安全24数字签名数字签名采用公钥加密实现数字签名存在的问题:Alice可以声称她的私钥在消息发送前被盗了Alice可能会改变她的私钥使用私钥加密整个消息开销可能很大使用消息摘要解决,消息摘要是固定长度的位串 h= H, m是任意长度的消息,H是加密散列函数2022/4/21分布式系统安全25会话密钥会话密钥n在身份验证完成后,通信双方一般使用唯一的共享会话密钥以实现机密性,通信完毕后丢弃n也可以使用身份验证密钥n但使用会话密钥具有以下优点:n避免经常使用一个密钥n确保通信双方免受重发攻击n会话密钥的成本低:廉价且临时性强2022/4/21分布式系统安全26主要内容主要内容n概述n安
10、全通道n访问控制n安全管理2022/4/2127分布式系统安全访问控制访问控制 n在开放型分布式系统中,尽管我们允许信息在系统结点间自由流动,但必须对信息的访问权力施加控制. n理论上,访问控制和授权是两个概念.访问控制一般在被访问的客体一方进行,用来检验访问的合法性;而授权指得是主体一方被赋予的权力,用来代表主体的合法权限.然而,这两个术语又是密切相关的,在没有二义性的场合下可以交替使用. 2022/4/21分布式系统安全28 主体访问管理器 客体 访问请求 访问授权访问控制访问控制建立安全通道后,客户就可以向服务器发送执行的请求,该请求可能会涉及到访问控制访问控制矩阵保护域防火墙保护移动代
11、码2022/4/21分布式系统安全29访问控制矩阵访问控制矩阵 n访问控制矩阵 .在一个ACM中,每一行代表一个主体z,每一列代表一个客体k,而矩阵元素ACMz, k 列举出z对k的合法操作.nACM的实现直截了当,而且效率很高.但如果一个系统需要管理成千上万的主体以及数百万计的客体 ,ACM就可能是一个非常稀疏的矩阵,绝大多数矩阵单元都被浪费了. 2022/4/21分布式系统安全30主体客体文件 1文件 2文件 3文件 4用户 1拥有读/写执行拥有用户 2-读拥有读/写用户 3复制/读拥有-访问控制表与权力表访问控制表与权力表可以把ACM演化成一维表的形式.毫无疑问,这种演化应该有两种不同的
12、方案.访问控制表在这种方案中,每一个客体都必须维护一张合法主体的访问权限表,即一个ACL相当于ACM中的一列,但其中的空项都已被删除.权力表 以ACM的一行为单位,代表一个主体对客体的访问权限.2022/4/21分布式系统安全31保护域保护域n保护域是一组对象,访问权限对,只要一个主体对一个对象执行一个操作,访问监控程序会找到相关联的保护域,检查是否允许执行该请求n构造用户组:管理简单,支持很大的组;查找分布式组成员数据代价高n使用访问监控程序:每个主体携带一个证书通过数字签名保护,列出所属的组.访问对象时,由访问监控程序检查证书n使用角色实现保护域:角色与一定的职能相联系2022/4/21分
13、布式系统安全32防火墙防火墙实际上,所发生的对分布式系统任何部分的外部访问都通过一种称为防火墙的特殊类型的访问监控程序来控制.防火墙实现了将分布式系统的任意部分与外界的分离两种不同类型的防火墙数据包过滤网关:基于数据包报头包含的原地址和目的地址制定是否传送该包的决定应用层网关:检查入站或出站的消息内容2022/4/21分布式系统安全33保护移动代码保护移动代码n保护代理:防止恶意主机盗窃或修改代理程序所带的信息攻击方式:l盗窃或修改代理程序所带的信息l恶意破坏代理程序l篡改代理程序以便在其返回时进行攻击或盗窃信息至少可以检测出代理程序被修改l只读状态l只追加状态l有选择地揭示状态:数据只允许特
14、定的服务器访问2022/4/21分布式系统安全34保护移动代码保护移动代码n保护目标:保护主机防止恶意代理程序的破坏沙箱运动场通过身份验证2022/4/21分布式系统安全35沙箱沙箱n沙箱是一种技术,通过该技术下载的程序的每条指令都能够被完全控制n访问一些指令、某些寄存器或内存空间将被禁止n通过沙箱模型, 用户可以有效地阻止那些具有潜在危险性的活动, 如对本地硬盘读写, 创建新进程, 连接动态链接库等.2022/4/21分布式系统安全36运动场运动场n运动场:为运行移动代码专门保留指定的机器,可使用这些机器的本地资源;但不能访问其他机器的资源2022/4/21分布式系统安全37通过身份验证通过
15、身份验证n要求每个下载的程序能通过身份验证,然后基于该程序的来源执行制定的安全策略2022/4/21分布式系统安全38主要内容主要内容n概述n安全通道n访问控制n安全管理2022/4/2139分布式系统安全安全管理安全管理n密钥管理密钥建立密钥分发证书的生存期n授权管理权能和属性证书委派2022/4/21分布式系统安全40密钥建立密钥建立Diffie-Hellman 建立共享密钥的原理:首先,Alice和Bob双方约定2个大整数n和g,其中1gn,这两个整数无需#,然后,执行下面的过程:Alice随机选择一个大整数x ,并计算X=gx mod n Bob随机选择一个大整数y ,并计算Y=gy
16、mod n Alice把X发送给B,B把Y发送给ALICE Alice计算K=Yx mod n = gxy mod nBob计算K=Xy mod n = gxy mod nK即是共享的密钥. 监听者在网络上只能监听到X和Y,但无法通过X,Y计算出x和y,因此,无法计算出K2022/4/21分布式系统安全41密钥分发密钥分发 n共享密钥分发n必须有提供身份验证和机密性的安全通道n带外分发:、邮递2022/4/21分布式系统安全42密钥分发密钥分发 n公钥分发n私钥发送使用提供身份验证和机密性的安全通道n公钥发送使用提供身份验证的安全通道:接收者能够确信该密钥肯定可以与声明的一个私钥配对n公钥证书:公钥,公钥关联的实体用户等,由认证机构签发,使用该机构的私钥进行数字签名2022/4/21分布式系统安全43证书的生存期证书的生存期n终生证书n吊销证书nCLRcertificate revocation list证书吊销表n限制证书的生存期n缩短证书的生存期为零,客户需要一直联系证书颁发机构以检验公钥的有效性2022/4/21分布式系统安全44权能和属性证书权能和属性证书n权能是对于指定资源的