您好,欢迎访问三七文档
数据安全哈尔滨工程大学数据安全数据本身的安全,利用现代密码学的手段对数据进行主动保护。数据防护的安全,采用现代信息存储手段对数据进行保护,如:磁盘阵列,数据备份,异地容灾等。数据安全是一个主动的保护措施。数据安全数据丢失原因分析1、误操作2、人为破坏3、病毒,黑客破坏4、软硬件故障,电源,硬盘驱动器毁坏5、环境因素6、灾害数据丢失原因分析6,18%7,21%10,31%10,30%病毒破坏物理损坏误操作未知原因存储技术介绍Raid技术硬盘是计算机最重要的外部存储设备,但一旦硬盘损坏,数据可能丢失。RAID是美国加利福尼亚伯克利分校提出的,RedundantArrayofInexpensiveDisks,廉价冗余磁盘阵列,又称独立冗余磁盘阵列。所谓的RAID就是利用若干个硬盘驱动器加上控制器按一定的组合方式组成的一个大容量、快速响应和高可靠的存储子系统。RAID特点传输速率高过去十几年来,CPU的处理速度增加了五十倍有多,内存(memory)的存取速度亦大幅增加,而数据储存装置--主要是磁盘(harddisk)--的存取速度只增加了三、四倍,形成电脑系统的瓶颈,拉低了电脑系统的整体性能,若不能有效的提升磁盘的存取速度,CPU、内存及磁盘间的不平衡将使CPU及内存的改进形成浪费。磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。RAID特点容错(faulttolerance),即安全性。普通硬盘无法提供容错功能。尽量的平衡CPU,内存及磁盘的性能差异,提高电脑的整体工作性能。RAID技术磁盘阵列中针对不同的应用使用的不同技术,称为RAIDlevel,RAID是RedundentArrayofInexpensiveDisks的缩写,而每一level代表一种技术,目前业界公认的标准是RAID0~RAID5。这个level并不代表技术的高低,level5并不高于level3,level1也不低过level4,至于要选择那一种RAIDlevel的产品,纯视用户的操作环境及应用而定,与level的高低没有必然的关系。RAID0及RAID1适用于PC及PC相关的系统如小型的网络服务器(networkserver)及需要高磁盘容量与快速磁盘存取的工作站等,比较便宜;RAID3及RAID4适用于大型电脑及影像、CAD/CAM等处理;RAID5多用于OLTP,因有金融机构及大型数据处理中心的迫切需要,故使用较多而较有名气,RAID2较少使用,其他如AID6,RAID7,乃至RAID10等,都是厂商各做各的,并无一致的标准,在此不作说明。介绍各个RAIDlevel之前,先看看形成磁盘阵列的两个基本技术。磁盘延伸译为磁盘延伸,能确切的表示diskspanning这种技术的含义。如图磁盘阵列控制器,联接了四个磁盘,这四个磁盘形成一个阵列(array),而磁盘阵列的控制器(RAIDcontroller)是将此四个磁盘视为单一的磁盘,如DOS环境下的C:盘。这是diskspanning的意义,因为把小容量的磁盘延伸为大容量的单一磁盘,用户不必规划数据在各磁盘的分布,而且提高了磁盘空间的使用率。并使磁盘容量几乎可作无限的延伸;而各个磁盘一起作取存的动作,比单一磁盘更为快捷。磁盘阵列控制器磁盘1磁盘2磁盘3磁盘4磁盘延伸磁盘数据分段因为磁盘阵列是将同一阵列的多个磁盘视为单一的虚拟盘,所以其数据是以分段(blockorsegment)的方式顺序存放在磁盘阵列中,数据按需要分段,从第一个磁盘开始放,放到最後一个磁盘再回到第一个磁盘放起,直到数据分布完毕。至于分段的大小视系统而定,有的系统或以1KB最有效率,或以4KB,或以6KB,甚至是4MB或8MB的,但除非数据小于一个扇区(sector,即521bytes),否则其分段应是512byte的倍数。因为磁盘的读写是以一个扇区为单位,若数据小于512bytes,系统读取该扇区后,还要做组合或分组(视读或写而定)的动作,浪费时间。从上图我们可以看出,数据以分段于在不同的磁盘,整个阵列的各个磁盘可同时作读写,故数据分段使数据的存取有最好的效率,理论上本来读一个包含四个分段的数据所需要的时间约=(磁盘的accesstime+数据的tranfertime)X4次,现在只要一次就可以完成。磁盘分段图磁盘数据分段A0-A1B0-B1C0-C1D0-D1A2-A3B2-B3C2-C3D2-D3A4-A5B4-B5C4-C5D4-D5A6-A7B6-B7C6-C7D6-D7磁盘1磁盘2磁盘3磁盘4Diskstriping也称为RAID0,很多人以为RAID0没有甚么,其实这是非常错误的观念,因为RAID0使磁盘的输出入有最高的效率。而磁盘阵列有更好效率的原因除数据分段,它可以同时执行多个输出入的要求,因为阵列中的每一个磁盘都能独立动作,分段放在不同的磁盘,不同的磁盘可同时作读写,而且能在快取内存及磁盘作并行存取(parallelaccess)的动作,但只有硬件的磁盘阵列才有此性能表现。RAID0至少需要两块硬盘,没有任何的保护。只要一个硬盘出事,所有数据都会破坏。所以,RAID0应用在不重要的数据上。RAID0阵列的实际容量为Mxn,MM为硬盘驱动器的容量,n为硬盘驱动器的数量。磁盘的利用率100%。RAID0技术RAID0技术RAID0无冗余无校验磁盘阵列每块硬盘可以同时写每块硬盘可以同时读数据数据数据数据数据数据RAID0示意图RAID1是使用磁盘镜像(diskmirroring)的技术,它的方式是在工作磁盘(workingdisk)之外再加一额外的备份磁盘(backupdisk),两个磁盘所储存的数据完全一样,数据写入工作磁盘的同时亦写入备份磁盘。数据的写入时间会长一点。但数据的读取没有影响,两块硬盘可同时读取数据。在一对影像盘中,如果一块硬盘发生错误不会损失任何数据,因为数据可以从影像盘中恢复。但如果两个硬盘驱动器都发生了错误,数据则丢失。很多人以为RAID1要加一个额外的磁盘,形成浪费而不看好RAID1,事实上磁盘越来越便宜,并不见得造成负担,况且RAID1有最好的容错(faulttolerence)能力,其效率也是除RAID0之外最好的。RAID1技术RAID1技术RAID1影像磁盘阵列复制数据分别写入两块硬盘数据数据每块硬盘可同时读RAID2技术RAID2是把数据分散为位(bit)或块(block),加入海明码HammingCode,在磁盘阵列中作间隔写入(interleaving)到每个磁盘中,而且地址(address)都一样,也就是在各个磁盘中,其数据都在相同的磁道(cylinderortrack)及扇区中。RAID2的设计是使用共轴同步(spindlesynchronize)的技术,存取数据时,整个磁盘阵列一起动作,在各作磁盘的相同位置作平行存取,所以有最好的存取时间(accesstime),其总线(bus)是特别的设计,以大带宽(bandwide)并行传输所存取的数据,所以有最好的传输时间(transfertime)。在大型档案的存取应用,RAID2有最好的性能,但如果档案太小,会将其性能拉下来,因为磁盘的存取是以扇区为单位,而RAID2的存取是所有磁盘平行动作,而且是作单位元的存取,故小于一个扇区的数据量会使其性能大打折扣。RAID2是设计给需要连续且大量数据的电脑使用的,如大型电脑、作影像处理或CAD/CAM的工作站(workstation)等,并不适用于一般的多用户环境、网络服务器(networkserver),小型机或PC。RAID2的安全采用内存阵列(memoryarray)的技术,使用多个额外的磁盘作单位错误校正(single-bitcorrection)及双位错误检测(double-bitdetection);至于需要多少个额外的磁盘,则视其所采用的方法及结构而定,例如八个数据磁盘的阵列可能需要三个额外的磁盘,有三十二个数据磁盘的高档阵列可能需要七个额外的磁盘。RAID2技术RAID2纠错海明码磁盘阵列第2n个硬盘存放校验值校验值校验值校验值校验值校验值校验值每块硬盘同时读海明码简介码距:一个编码系统中任意两个合法编码(码字)之间不同的二进数位(bit)数叫这两个码字的码距,而整个编码系统中任意两个码字的的最小距离就是该编码系统的码距。如图1所示的一个编码系统,用三个bit来表示八个不同信息中。在这个系统中,两个码字之间不同的bit数从1到3不等,但最小值为1,故这个系统的码距为1。如果任何码字中一位或多位被颠倒了,结果这个码字就不能与其它有效信息区分开。例如,如果传送信息001,而被误收为011,因011仍是表中的合法码字,接收机仍将认为011是正确的信息。然而,如果用四个二进数字来编8个码字,那么在码字间的最小距离可以增加到2,如图2的表中所示。海明码注意,图2的8个码字相互间最少有两bit的差异。因此,如果任何信息的一个数位被颠倒,就成为一个不用的码字,接收机能检查出来。例如信息是1001,误收为1011,接收机知道发生了一个差错,因为1011不是一个码字(表中没有)。然而,差错不能被纠正。假定只有一个数位是错的,正确码字可以是1001,1111,0011或1010。接收者不能确定原来到底是这4个码字中的那一个。也可看到,在这个系统中,偶数个(2或4)差错也无法发现。海明码奇偶校验奇偶校验可描述为:给每一个码字加一个校验位,用它来构成奇性或偶性校验。例如,在图8-2中,就是这样做的。可以看出,附加码元d2,是简单地用来使每个字成为偶性的。因此,若有一个码元是错的,就可以分辨得出,因为奇偶校验将成为奇性。奇偶校验编码通过增加一位校验位来使编码中1个个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。因为其利用的是编码中1的个数的奇偶性作为依据,所以不能发现偶数位错误。再以数字0的七位ASCII码(0110000)为例,如果传送后右边第一位出错,0变成1。接收端还认为是一个合法的代码0110001(数字1的ASCII码)。若在最左边加一位奇校验位,编码变为10110000,如果传送后右边第一位出错,则变成10110001,1的个数变成偶数,就不是合法的奇校验码了。但若有两位(假设是第1、2位)出错就变成10110011,1的个数为5,还是奇数。接收端还认为是一个合法的代码(数字3的ASCII码)。所以奇偶校验不能发现。海明码海明校验推求海明码时的一项基本考虑是确定所需最少的校验位数k。考虑长度为m位的信息,若附加了k个校验位,则所发送的总长度为m+k。图列出了m=4,k=3时,信息位和校验位的分布情况。图海明码中校验位和信息位的定位海明码校验位的确定k个校验位是通过对m+k位复合码字进行奇偶校验而确定的。其中:P1位负责校验海明码的第1、3、5、7、…(P1、D1、D2、D4、…)位,(包括P1自己)P2负责校验海明码的第2、3、6、7、…(P2、D1、D3、D4、…)位,(包括P2自己)P3负责校验海明码的第4、5、6、7、…(P3、D2、D3、D4、…)位,(包括P3自己)海明码因此可得到三个校验方程及确定校验位的三个公式:A=B1⊕B3⊕B5⊕B7=0得P1=D1⊕D2⊕D4B=B2⊕B3⊕B6⊕B7=0得P2=D1⊕D3⊕D4C=B4⊕B5⊕B6⊕B7=0得P3=D2⊕D3⊕D4海明码若四位信息码为1001,利用这三个公式可求得三个校验位P1、P2、P3值。和海明码,如图7则表示了信息码为1001时的海明码编码的全部情况。而图8中则列出了全部16种信息(D1D2D3D4=0000~1111)的海明码。海明码在接收方,也可根据这三个校验方程对接收到的信息进行同样的奇偶测试:A=B1⊕B3⊕B5⊕B7=0;B=B2⊕B3⊕B6⊕B7=0;C=B4⊕B5⊕B6⊕B7
本文标题:042-数据安全
链接地址:https://www.777doc.com/doc-1244741 .html