分布式系统阅读笔记(十一)-----安全

一、介绍

在分布式系统中,对于数据的隐私的保证性,完整性和可用性显得至关的重要。安全攻击的手段可以去窃取,篡改用户的信息。正是因为如此种种的情况发生了,才有了后面一系列的安全的相关防御方法。

1、这些安全的机理本质上就是以一种预想的方式对资源进行一层包装。这种包装隔离的手段可以是物理上的隔离,比如对于公司内的资源,只允许内网中的人使用,外面的人是无法访问的,当然也可以是网络层次上的隔离。

2、与安全紧密关联的词是密码学,大部分的安全策略的实现离不开他的作用。密码学的飞速发展,诞生了许多优先的加解密算法。

3、目前的安全的攻击手段有:1、信息的泄露,被没有认证过的人接收到了。2、信息的篡改。3、信息的故意毁坏。4、还有类似于拒绝服务攻击类似的方式。5、还有移动代码的攻击,比如XSS跨站脚本攻击。

4、对于移动代码的攻击,在JVM中有不错的限制措施,代码运行在jvm中,下载过来的代码是不能直接访问本地类的,在这其中还要经过type-checking和code-validation字节码的有效性检测,防止非法访问地址。

5、一些可能会有安全问题的使用场景:1Email的信息收发。2、电子商务的商品购买。3、银行金融行业的交易。4、微商务,类似于发布-订阅模式,提供者提供了信息,对应于一堆的消费者。

6、正是因为上述种种的危害存在,所以需要有一个系统安全的设计,往往要以最坏的情况最假设而设计,同时在设计系统的同时要考虑其中的用于安全的开销,与正常的系统允许相比,至少不能影响到系统的正常运转。

二、安全技术的综述

随着安全技术领域的快速发展,已经衍生出了许多的相关技术,下面是一些具体的分类。

1、密码学相关技术。主要包括里面涉及到的许许多多的加密算法。

2、证书认证技术。有的时候认证需要第三方服务的参与,这个技术算安全性比较高的。

3、数字签名技术,模拟了传统的对于数据文档的签名方式。

4、访问控制的手段。这个在各大操作系统中已经被采用了,里面的2个小小的分类是一个叫protection domain保护域,还有一个叫ACL访问控制列表,二者的概念其实非常相像。

5、授权的概念,在系统中许多的资源访问需要对用户进行授权才能被访问到,但是授权容易,撤销权利就比较难了,一旦权利授权了恶意的用户,后果不堪设想。

6、防火墙。防火墙作为计算机内部与外部连接通信的一道屏障,会对于外部发来的信息进行拦截,并且对于可疑的数据包进行防护,拦截。

三、密码学算法

这里提到的加密算法主要分为2类,对称加密算法和非对称加密算法。

1、第一类为对称加密算法啊,为什么叫做对称加密算法呢?因为在加密和解密的过程中用的是同一个key,这个key是私密的,只有接收方自己知道的。但是有的时候,这个key的位数太短,可能会被暴力攻击的手段破解。比较典型的对称加密算法为DES加密算法。

2、第二类为非对称加密算法。在这个算法中维护了一对密钥,为公钥和私钥。公钥对外界是公开的,而私钥则是归个人所有。如果谁想要发消息的就用公钥进行加密,如果谁想要收到消息的,就用私钥去解密。

3、块加密和流加密。上面说的算法都是块加密的手段,因为数据是静态文本的形式,可以通过块的形式逐一加密,但是如果是在流通性的过程中,比如音视频等过程中,数据是源源不断的,就不能采用块加密的手段了,这里的流加密的专业名字叫做Stream ciphers,原理其实是和块加密非常类似,在流加密中用到了keyStream,他是一个用来模糊数据内容的一个序列位,RC4是一种流加密算法。

4、在对称加密算法中,比较典型的是DES,后来又了安全性更高的AES算法,而在非对称加密算法中,名声最大,用的最广的是RSA算法,他是3个人的名字的开头首字母构成的。

四、数字签名

数字签名作为一种安全的实现方式,他将信息与信息的所有者的标识进行绑定。

1、在数字签名中会有用到对于数据内容的信息摘要的计算,如果文件内容发生变化,消息摘要的值也会变,所以可以根据信息摘要做数据的完整性校验。

2、消息摘要的计算的算法有很多,比如MD5算法,还有安全哈希函数SHA算法。

五、密码学的发展障碍

密码学的推广和发展在政策上遇到了一些障碍。比如有些算法在对外开放给用户使用的时候,对于位数进行了限制,密码加密的长度不能按照原先算法指定的那样,可能他们会怕他们在使用的时候,他们自己都破解不了。

六、学习例子:Needham-Schroeder,Kerberos,TLS,802.11WiFi

1、认证协议最早是由Needhan和Schroeder他们俩发布的。

2、Kerberos认证最早是用在MIT的大学校网内的。里面的认证流程大体可以为1.客户端想AS认证服务请许可票据,2.然后客户端向TGS票据授权服务请求服务票据,3.组后通过服务票据向最终服务器请求服务。在这期间的每一次会话,都会有一个session key的参与。Hadoop里用的就是Kerberos认证。

3、TLS/SSL。前者是最为后者的一个版本的扩展。这2个协议已经被用到了许多涉及电子商务的操作中,用于构建一个安全的通道。TLS的协议栈分为2层,第一层叫做TLS HandShake protocol,用于信息第一次进行通信时,进行加密算法的协商。第二层为TLS Record Protocol,第二层才是用来进行安全传输的通道。TLS的用处在于可以对于不同设备,不同地域的连接进行协商,最后通过握手达成一致的加密算法,于是进行后面的加密通信。,在协商的过程中,2边都会列出所支持的加密算法啊。

4、802.11WiFi代表的是wireless LANS,无线局域网。在无线局域网内,也会存在不同于有线网的一些安全问题,比如他的用户接入问题,连接一个无线网络,一个用户只要通过他的一个key的连接就OK了,显然这显得太过轻松了。第二点,用户在使用的无线网的过程中,往往不会开启WEP的保护模式,因为在无线网中,他们根本不知道他们的数据是完全暴露的。所以这里发展出来了一个安全协议叫WiFi Protected Access (WPA),未来还是需要去完善这个协议。

参考文献:<<Distributed Sysytems Concepts And Design>>原版第五版,author:George Coulouris,Jean Dollimore, Tim Kindberg,Gordon Blair

时间: 2024-10-10 12:10:37

分布式系统阅读笔记(十一)-----安全的相关文章

面对软件错误构建可靠的分布式系统(阅读笔记)

阅读笔记 joe Armstrong 段先德 译 核心问题:如何在存在软件错误的情况下编写具有合理行为的软件 ,如何避免像死锁.死循环等问题 ERLANG的世界观,一切皆进程.将任务分离成层次化的一系列任务,强隔离的进程负责来执行每个具体化的任务,进程之间不共享状态(实际上ETS跨越了这个准则). 只能通过消息传递来通信,必须注意进程消息的堵塞问题 工作者和监督者构成一个完整的系统,监督者的作用就是监控整个系统的运行状况.并对突发情况进行可靠的处理. behaviour库的设计思想就是将程序的并

分布式系统阅读笔记(一)-----分布式系统的特征

1)引言 从今天开始,我将会开始学习分布式系统的一些理论知识,全方面的重新学习分布式的各个技术点,所以选用了原版本的英文教材<<Dstributed Sysytems Concepts And Design>>作为学习的资源.在期间,我会没读完一章,及时的做一些阅读的笔记,1个是怕自己忘了,还有一个是把知识分享给大家,这也是我首次阅读全英文的书籍,还是挺吃力的,希望能坚持把长达1000页的书籍学习完把. 2)分布式系统的介绍 分布式系统是通过网络连接各个计算机,通过消息通信的方式实

寒假阅读笔记十一

架构之美--最终用户应用架构(一) 如果现在让你去找工作,你觉得你有什么优势吗?对于"优势"这个词汇,想必大家都不陌生,可是低下头来想一想,竟然发现我们什么优势都没有,该如何面对未来的就业的竞争压力呢?今天,我阅读的是<架构之美>的第十一章,题目为GNU Emacs:滋长的特性是其优势.看到这个,我只想说,只要我们肯坚持不懈的努力学习,那么这就是我们的优势. 首先,先介绍一下GNU Emacs,GNU Emacs 是自由软件协会的旗舰产品,也是自由软件之父 Richard

分布式系统阅读笔记(六)-----间接通信

介绍) 这次的内容其实与上篇学习的内容正好是相对的,之前的各种通讯方式其实说的都是直接通讯,而这次我学习的内容是间接通讯,二者的本质区别在于间接通讯把时间和空间进行了分离,直接通讯在这2点上都进行了耦合,有点事操作直接简单,但是缺点也是非常明显的,扩展性差,不能很好的面对变化.根据空间和时间2个维点,可以有4种不同的类型的通信方式,时间的分离是这样的形式:消息的本质在传送的过程中有一定的生存时间,并不要求一定要实时的去接受.空间的分离是这样的形式:消息的发送不需要去知道接受者是谁,就是说无须知道

分布式系统阅读笔记(七)-----操作系统的支持

介绍) 前面主要介绍了一些直接通信和间接通信,包括一些中间件的一些技术,这次我学习的内容是层级再往下,用一句话形式就是:在分布式系统中的操作系统级别对于中间件的支持.在这篇中,主要关注与操作系统级别对于通信的一些支持,包括RPC这样的远程调用等. 操作系统的层次) 操作系统是一个凌驾于纯硬件资源上面的一个软件系统,封装了对于硬件的抽象,在上面有内存管理,I/O管理,CPU的管理等等. 1.中间件运行在各种各样的操作系统之上,在分布式系统中的各个节点中.不同节点支持着共有的中间件层. 2.所有的硬

分布式系统阅读笔记(三)-----计算机网络和网络互连技术

1)介绍 当前网络在分布式系统中的主要问题有2个,1个是延时问题,还有一个数据传输速率的问题,后者可能受各方面的因素影响,比如网络总带宽的限制等.下面列表几个在分布式网络系统中的几个主要可能的讨论点: 1.扩展性. 2.可靠性. 3.安全性. 4.网络移动性. 5.网络服务质量. 6.多播传送. 2)网络类型 网络的类型有下面几种 1.PAN,私人区域网络,是本地网络的一个子集. 2.LAN,局域网. 3.MAN,城域网. 4.WAN,广域网. 5.WLAN,无线局域网络. 6.WMAN,无线城

分布式系统阅读笔记(二十二)-----时钟和时钟同步

时钟的基本概念 时钟 时钟在一般意义上指的是一个计算机的物理时间,每个计算机都会包括他们自己的物理时钟,不同的计算机的物理可能会不同. 时钟漂移 经过在同个地方的计算机,他们的物理也有可能会不一样,如果他们从刚刚开始相同的时间计时开始,过了1过月,1年也可能会有快又慢,这在专业名词上讲叫做时间漂移.本质的原因是每秒的时间偏移,经过日记月累之后,就会有可能达到1秒钟的差距,解决的办法很简单,就是过一段时间之后,将时间纠正回来就可以了. UTC UTC全称是Coordinated Universal

分布式系统阅读笔记(十三)-----命名服务

介绍 这篇笔记将要讲述的是命名服务,命名服务用一句话说就是帮助客户端进行资源的定位通过给定他们的名字的方式,与命名服务十分类似的,这里还会提到目录服务,具体的说是可以通过属性查找,后面将会以DNS,GNS等为例子. 1.在这里说的名字是指与对应的对象进行了绑定的关系,而属性指的是对象与多个属性值进行了关联.在DNS中,IP地址与域名进行了绑定,在CORBA中,将对象的名字与对象的引用进行了映射绑定. 2.名字的表现形式可以有多种形式,统一资源标识符URI可以作为一个资源的唯一标示,URI的值可以

分布式系统阅读笔记(二十)-----分布式多媒体系统

介绍 现在的分布式系统大有越来越往分布式多媒体系统的应用上走的趋势了.多媒体的应用本质上是对于持续数据流的一种消耗.包括音频以及视频,音频是由一个个audio Sample组成,而视频则是video frame组成.有时因为网络条件的原因,他是可以允许部分的延时的,延时造成的丢包率在一定比率上也是可以接受的.在多媒体应用中,很在意的quality of service服务质量的要求,因此他这里需要Qos Manager的角色. 1.分布式多媒体的应用往往是要求是实时的,这就要求系统对于QoS的控