了解这些属性的基本含义,保障这些属性需要采用什么基本策略。
这两种加密技术是属于最为基础最为核心的部分。
所谓对称加密技术就是在加密和解密的过程中所使用的密钥相同。即我用什么样的密钥加密就是用什么样的密钥解密。
所谓非对称加密技术就是加密和解密的过程中所使用的密钥不同。即用公钥加密就要使用相应的私钥解密。
接下来,我们考虑一下平常我们使用的ara、rar的压缩包可以加密吗?还有平常的excel、word、pdf也可以加密吗?
这种机制肯定是涉及到加密解密的问题。它们是属于对称的加密技术还是非对称的呢?
它们应该属于是对称加密技术。为什么是对称加密技术呢?因为你加密的密钥和解密的密钥是一样的。这就是典型的对称加密技术。
重点讲一下DES。
在非对称加密方案中,每一个人会有这自己的公钥和私钥,公钥是可以公开的,私钥是不可以公开的。
比如:甲会有甲的公钥和私钥,乙也会有乙的公钥和私钥。如果说甲要把一个明文加密后发给乙,那么这个明文只能够用乙的公钥加密,因为乙接收到加密后的明文之后,就会使用乙的私钥解密,这样就能够防止私钥的泄露。
通过上述示例,可知在非对称加密方案中,发给谁就直接使用对方的公钥加密即可。
但是问题又来了,什么问题呢?
我们会发现非对称加密过程中,密钥的长度是非常之长的,而目前的密钥一般是使用1024位的密钥。
1024位密钥是要比56位密钥长接近20倍,那么56位密钥加密所消耗的时间远远低于1024位加密的时间,这里面的差距可以达到数千倍,所以对于内容比较庞大的数据来说,用非对称加密是完全行不通的,因为效率太低而没办法走向应用,相反对称方式就很高效快捷。
故在实际的应用过程中,其实对称和非对称是互为补充使用的。我们往往使用对称的方式加密大内容的传输,用非对称的方式加密对称加密的密钥,这样子密钥分发的问题就得以解决了。
信息摘要其实就是一段信息的特征值。
这些特征值有什么特点呢?
特点就是原始信息发生变化,特征值就跟着变。如:就好比我把一段话的标点符号改变,底下的摘要就会发生很大的变化。
那么这种特点能够给我们什么启发,在哪里能够用到这种特性呢?
举一个简单的例子,甲发送一个消息给乙,告诉他要给乙支付10万的合同款,这个信息是明文传送的,这个时候这个消息被丙截获了,并且在这个信息中加入了一个0传给了乙。这时信息的安全就存在问题,因为丙的篡改就导致公司损失90万,这种情况就是信息的完整性遭到了破坏。
故我们需要想办法保证信息的完整性,让信息发送时的内容和接收时的内容是一致的,要想验证信息发送和接收后的情况是否一致,所以提出了完整性要求。
那么我们通过信息摘要的特点来解决这个问题。把信息的明文和明文产生的摘要传送给乙,然后乙用接收到的明文产生一个摘要,然后让生成的摘要与收到的摘要进行对比,如果两者一致,这就代表信息被篡改,所以信息摘要适用于这样的场景。
解决一个问题就会出现其它的一些问题。就是如果发送的明文和摘要都被篡改了,并且篡改后的明文生成的摘要与被篡改的摘要相同,这种情况是有可能发生的,所以后面讲到数字签名技术,将信息摘要和数字签名结合起来,这个问题就迎刃而解了。
单 向 散 列 函 数 ( 单 向 H a s h 函 数 ) 、 固 定 长 度 的 散 列 值 。 单向散列函数(单向Hash函数)、固定长度的散列值。 单向散列函数(单向Hash函数)、固定长度的散列值。
信息摘要中的单向散列函数就是 将正文通过消息摘要算法计算出摘要的结果。但是反过来就不能够把摘要还原成明文。意思就是单向的走,不能够返回。
常用的消息摘要算法有MD5、SHA等,市场上广泛使用的MD5、SHA算法的散列值分别为 128 和 160 位,由于SHA通常采用的密钥长度较长, 因此安全性高于MD5。
加密技术与信息摘要的区别,信息摘要为什么不能够做加密?
像加密就不是这么回事,明文我们可以加密成密文,密文又能够通过解密还原成明文。但是信息能够通过单向散列函数形成摘要,反过来摘要就不能够得到信息;因为摘要是一种破坏性的手法,它是只取特征值,它的长度非常短。像MD5长度是128位,SHA长度是160位,无论你是几个G的数据,产生的摘要都只有一百多个bit,自然会有绝大多数的信息已经丢失,所以不能够还原。故信息摘要算法是不能够做加密职能的。
数字签名技术主要是一种防止抵赖的技术。
顾名思义,就是用数字化的方式来给发送者在信息上面签上自己的名字。这样接收者就能够知道信息是由谁发送的,并且发送者是没有办法去抵赖。因为有证据指出这个东西就是你发出来的。
那么要达到这种效果,我们需要用到什么样的手段去实现呢?
还是以发送者,接收者所涉及到的几个密钥来看,我们需要用到哪个密钥来进行加密动作,哪个密钥来进行解密动作。比如信息从A传给B,也就是用A的私钥加密,A的公钥解密,这样子就能够达到我们的目的。用发送者的密钥加密,相当于做了数字签名。这里的加密称为数字签名的过程,解密称为数字签名的验证过程。为什么要这样子称呼呢?因为加密解密往往是在安全传输过程中,为了达到相应的保密性采取的操作,会有这种认知在其中;但事实上,数字签名是没有保密性可言,因为用私钥来做加密操作而用公钥来做解密操作,而公钥是公开的,因此数字签名没有保密的职能,任何人都能够打开这个包知道这是谁的包。
在实际应用的时候,如下图所示。
图注:首先我们会对正文产生摘要,再对摘要做数字签名发送过去,为什么是对摘要签名,而不是对整个信息签名呢?因为非对称的体制里面,不适合对大信息量进行加密解密的操作,所以对简短的摘要进行签名,这样子效率就非常高效了。所以在很多时候,我们都会把信息摘要和数字签名结合起来使用。
PGP的应用
目前来讲,市面上推出了PGP的软件,所以我们可以用到PGP的软件来对相应的保密数据进行加密操作。像现在很多人都喜欢使用云盘网盘,因为这种方式运用的是云计算的技术,这有什么好处呢?一旦你的信息存储到云盘上面,往往是不容易丢失的,因为云盘的背后往往是有专业的团队去做信息的冗余、信息的备份这些工作,相较于本地存储可靠性高一些。但是放在云盘上面又带来了另一个问题,就是有人担心放在云盘上的保密信息会被别人获取到,这是一个安全性问题,这需要结合PGP技术来解决,用PGP的软件先把保密技术加密,再把信息传送到云盘上面。
PGP承认的两个证书存在一定的差异,但是基本的内容是保持一致的。
数字证书是一个什么样的概念呢?
数字证书是电子凭证,用于断言网络上的个人,计算机和其他实体的在线身份。数字证书的功能类似于护照和驾驶执照等身份证。最常见的是,它们包含公钥和所有者的身份。它们由证书颁发机构(CA)颁发,证书颁发机构必须在颁发证书之前和使用证书时验证证书持有者的身份。常见用途包括需要身份验证,加密和数字签名的业务场景。
证书持有者的公钥、证书持有者的信息等必须要在数字证书中显示,为什么呢?它是在什么环境下提出来的呢?之前提出的一系列安全技术,其实已经能够解决绝大部分问题了,那为什么还要有数字证书这样的体系呢?
因为在应用过程中,我们发现了一个很大的问题,在非对称体系中,讲到每个人都会有自己的公钥和私钥,你想要传输信息,只需要用对方的公钥加密传送过去即可。讲的轻松,但是实际使用是不好实现的,为什么?比如说甲在跟乙聊天,甲对乙说你把公钥给我,我给你传送消息,他发送过来的公钥是一串数字,你无法判断这一串数字是否为乙的公钥,如果在传输公钥的过程中,被丙截获并把公钥换掉,这整个信息传输过程就不安全了,正是因为这个因素,咱们一定要想一个办法将个人信息与密钥绑定起来就可靠就安全了,所以就有了数字证书。所以数字证书就是这样一个东西,它描述了这是乙的一个证书,乙的公钥就包含在里面。所以我们会发现,**在日常生活中,用到的数字证书安全加密的体制往往都已经跟数字证书结合起来了。**就是因为我们在传输沟通的过程中,需要证明身份的问题,所以这个数字证书类似于我们生活当中的身份证。它有专门的颁发机构称为CA机构。
一旦我们看到这个数字证书是我们信任的CA机构颁发的,我们就可以认为该数字证书是真实有效的,如何去判定该证书是合法的CA机构颁发的呢?就要用到鲜明的机制,因为数字证书上面都有颁发机构的签名,我们可以通过了解颁发机构的签名来判断数字证书是不是伪造出来的。正是因为有了这样一个特点,所以数字证书除了那些信息之外,还会有持有者的公钥信息,持有者的公钥信息必须要有,否则就违背了初衷。
通过这个问题将前面所学到的安全基础相关的一系列知识全部整合起来。
题干:要求邮件以加密方式传输, 邮件最大附件内容可达 500 M B 500 \mathrm{MB} 500MB , 发送者不可抵赖, 若邮件被第三方截获, 第三方无法篡改。
答 :通过题目信息可以获取相应的安全技术。“以加密方式传输”需要用到加密解密技术;“最大附件内容可达500MB”确定了加密解密的方式为对称加密技术;“发送者不可抵赖”需要用到数字签名;“第三方无法篡改”需要使用信息摘要技术,因为信息摘要技术保证了信息的完整性。
图解:随机密钥K是对称加密技术生成的,而数字签名和数字信封技术是通过非对称加密技术实现。
我们知道互联网的发展壮大有着一定的偶然因素,同时在互联网发展的初期,虽然大家都有美好的畅想,说要把全世界的计算机都给连接起来,但事实上谁也没有想到能够做的这么极致,所以在设计协议时,TCP/IP协议组中的协议基本上都是走的明文方式。它没有考虑很多安全方面的有很多严苛要求的应用也会在互联网上运行,所以就导致整个网络体系在安全方面都欠缺考虑,所以在互联网高速发展的时候,人们同时也在关注这个问题并提出了很多解决方案,这也就是本节讲到的“各个网络层次的安全保障”。因为原来没有而现在已经补充上,所以基本上都有一定的针对性。以Https为例,为什么要提出它呢?因为原有的Http走的是明文传输,而网页的明文传输一般会被截获,安全隐患是非常大的,所以就把Http和SSL安全协议结合起来形成Https。在平常登录网页基本上应用Https,在后端是有SSL的保障的。
下面我们逐个层级进行分析。
图注
物理层。提高安全性的基本手段是隔离和屏蔽。
比如说无线电信号以防止它们泄露出去,你就可以使用屏蔽的方式。
某科研研究所内部有WIFT信号,供大家上网方便,那么内部网就会有大量的数据进行交换和传输,最好将这个研究院墙壁上加上屏蔽材料,这样子防止无线电信号散发出去被间谍组织截获到。
整个国内投入了很多基金来建设互联网基础设备的通讯网络,但是这个通讯网络跟军方的网络还不是公用的,军方会单独地铺设通讯网络,这也就考虑到安全性的问题,就从物理层完全地隔离了,它们就不使用相同的物理通道,安全性是最高的。
数据链路层。从数据链路层开始基本上是走协议的路线来保障信息安全。所谓协议其实就是通信的时候封包的一种规则。PPTP和L2TP是两种隧道协议,这种隧道协议的基本理念是在开放的互联网之上,相当于开放出两条安全的隧道从隧道中传输的数据是安全的,不会遭到破坏和截获,这是通过两种协议的加密机制来保障的,这就类似于通道。数据链路层还可以对相应的链路进行加密。
网络层。网络层典型的保障措施之一是防火墙技术,防火墙有软件性质的(就是直接装在本机的),也有硬件软件配合在一起的(硬件就是专是为了防火墙的软件策略这一块支撑提供平台的一个东西,其实就是软件硬件结合在一起,这个硬件设备不做任何职能,就是运行一个防火墙而已),按级别划分,防火墙的级别又可以分为网络级和应用级。IPSec就是针对于IP包加密的一种协议,因为IP包本身是不涉及到加密的问题,它是直接明文传输的,当传输的数据要求保密程度非常高的时候,可以使用IPSec介入,IPSec可以把原有的IP包加密之后在传输,从整体来讲,IPSec拥有两种运作方式,一种就是拥有普通未加密的包,我把这个IP包中的数据拆出来进行加密,再封装包头之类的,然后再发出去;另外一种就是连着这些包头信息之类的一起这个IP包进行整体加密,然后再附加一个包头发出去,两种形式都是可以的。
输入层。传输层有TLS属于标准的传输层安全协议;SET是一个面向与电子商务的协议,在这个协议当中,集成了很多机制,比如通信过程的安全保密,购物过程的一些防抵赖的一些措施,因为它是因电子商务而生的,所以这些方面它都有所考虑。
应用层。在应用层次会有PGP、Https=Http+SSL。
SSL协议的工作层次跨越了多个层次,从传输层到应用层。
网络攻击的分类
网络攻击可以分为主动攻击和被动攻击两种。
常见的网络威胁
图注
防火墙的级别可以分成网络级和应用级。其中网络级的防火墙工作层次比较低,工作效率会比较高,主要做法是 拒绝接受指定IP段的信息,不管其中内容如何;而应用级的防火墙工作层次比较高,工作效率会比较低,主要做法是 不论信息的来源而直接将信息开箱进行检查,若有问题则拒绝接收。
防火墙这种技术在现实生活中也非常常见,其实你不知道这个东西叫防火墙而已。比方说,不同的省份经常会爆发一些动物禽流感之类的,我们知道动物群体中有疫情的发生这是一件很头疼的事情,因为它的传染性相当之大,一旦传染了要大面积捕杀这些动物,然后造成非常大的经济损失,所以在控制疫情的过程中我们经常会采用隔离的措施,其中就用到了防火墙技术。
图注
具体来讲,网络级防火墙又分成包过滤和状态检测。所谓包过滤就是指最简单的防火墙;状态检测就是TCP/IP的连接的时候,它会有连接状态信息,网络级状态检测防火墙就会把连接状态信息进行相应的分析统计。应用级比网络级更复杂。
主要掌握应用级防火墙中的屏蔽子网防火墙。这个防火墙的结构非常地独特,从微观程度来看,这个防火墙做得极其复杂,是由多道防火墙构成的,基本思路就是要弥补已有和固有的防火墙的一些缺陷。防火墙有一个特点:防外不防内,经过统计,造成损失的网络攻击有百分之80以上是由内部发起的。内部发起的并不意味着这是真正意义上的加载,是因为可能够感染了木马和病毒所以导致了这样现象的发生。所以在人们设计防火墙的时候,就希望防火墙整个结构尽可能地安全,这样就能降低一些安全隐患,所以就组成了结构复杂的防火墙——屏蔽子网防火墙。
被屏蔽子网(DMZ/非军事区)则是一块既不属于内网也不属于外网的隔离区,其目的是为了防止防火墙内部的攻击。 该隔离区一般放置对外提供服务的服务器(堡垒主机),比方说,web服务器,邮件服务器。这样子做有什么好处呢?外部的入侵者攻破了一道防火墙,然后再要进入到内部网络,还有一道防火墙,所以说安全性提高了。内部要访问web服务器也要经过一道防火墙,也提高了相应的安全性,当然纯粹的内部发动的对内部其它服务器的攻击导致仍然难以杜绝,但屏蔽子网防火墙是安全程度最高的。
DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其期的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。
作个形象的比喻来理解DoS。街头的餐馆是为大众提供餐饮服务,如果一群地痞流氓要DoS餐馆的话, 手段会很多,比如霸占着餐桌不结账,堵住餐馆的大门不让路,骚扰餐馆的服务员或厨子不能干活,甚至更恶劣…
SYN Flooding攻击便是Dos攻击的典型代表,该攻击以多个随机的源主机地址向目的路由器发送SYN包,而在收到目的路由器的SYN ACK后并不回应,这样,目的路由器就为这些源主机建立了大量的连接队列,且由于没有收到ACK-直维护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务,甚至导致路由器崩溃。服务器要等待超时(Time Out)才能断开已分配的资源。