




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机网络安全教材第
1章网络安全概论1.1网络安全面临的威胁1.2网络安全体系结构1.3PDRR网络安全模型1.4网络安全基本原则
1.1网络安全面临的威胁
物理安全威胁、操作系统的安全缺陷、网络协议的安全缺陷、应用软件的实现缺陷、用户使用的缺陷和恶意程序等6个方面的安全威胁。物理安全威胁1.物理安全问题的重要性
信息安全首先要保障信息的物理安全。物理安全是指在物理介质层次上对存储和传输的信息的安全保护。物理安全是信息安全的最基本保障,是不可缺少和忽视的组成部分。2.主要的物理安全威胁物理安全威胁,即直接威胁网络设备。目前主要的物理安全威胁包括以下3大类。
自然灾害。特点是突发性、自然因素性、非针对性。这种安全威胁只破坏信息的完整性和可用性,无损信息的秘密性。
电磁辐射。这种安全威胁只破坏信息的秘密性,无损信息的完整性和可用性。
操作失误和意外疏忽(例如,系统掉电、操作系统死机等系统崩溃)。特点是人为实施的无意性和非针对性。这种安全威胁只破坏信息的完整性和可用性,无损信息的秘密性。(1)外部终端的物理安全(2)通信线路的物理安全操作系统的安全缺陷
操作系统是用户和硬件设备的中间层,是任何计算机在使用前都必须安装的。目前,人们使用的操作系统分为两大类:UNIX/Linux系列和Windows系列。下面分别举例说明这两大类操作系统中存在的安全缺陷。1.公共缺陷检索(CommonVulnerabilitiesandExposures,CVE)
大多数信息安全工具都包含一个信息安全缺陷的数据库,但是,这些数据库对信息安全缺陷的描述格式各不相同。
CVE是信息安全确认的一个列表或者词典。它对不同信息安全缺陷的数据库之间提供一种公共的索引,是信息共享的关键。有了CVE检索之后,一个缺陷就有了一个公共的名字,从而可以通过CVE的条款检索到包含该缺陷的所有数据库。CVE有如下几个特点:①每一种缺陷都有惟一的命名;②每一种缺陷都有惟一的标准描述;③CVE不是一个数据库而是一种检索词典;④CVE为多个不同的数据库提供一种交流的共同语言;⑤CVE是评价信息安全数据库的一个基础;⑥CVE可以通过因特网阅读和下载;⑦CVE的会员可以给CVE提供自己数据库的索引信息及其修改信息。2.UNIX操作系统的安全缺陷(1)远程过程调用(RemoteProcedureCalls,RPC)
远程过程调用允许一台机器上的程序执行另一台机器上的程序。它们被广泛地用于提供网络服务,如NFS文件共享和NIS。很多UNIX操作系统的RPC软件包中包含具有缓冲区溢出缺陷的程序。以下的程序具有缓冲区溢出的缺陷。①rpc.yppasswdd:②rpc.espd:③rpcsd:④rpc.ttdbserver:⑤rpc.bind:
如果系统运行上述程序之一,那么系统就很可能受到RPC服务缓冲区溢出的攻击。值得注意的是,UNIX的绝大部分版本都具有这个缺陷。解决这个问题的最好方案是全部删除这些服务。在必须运行该服务的地方,安装最新的补丁。
(2)Sendmail
Sendmail是在UNIX和Linux操作系统中用得最多的发送、接收和转发电子邮件的程序。Sendmail在因特网上的广泛应用使它成为攻击者的主要目标,过去的几年里曾发现了若干个缺陷。
Sendmail有很多易受攻击的弱点,必须定期地更新和打补丁。
3.Windows系列操作系统的安全缺陷(1)UnicodeUnicode是ISO发布的统一全球文字符号的国际标准编码。它是一种双字节的编码。通过向IIS(InternetInformationServer)服务器发出一个包括非法UnicodeUTF-8序列的URL,攻击者可以迫使服务器逐字“进入或退出”目录并执行任意脚本,这种攻击称为目录转换(DirectoryTraversal)攻击。(2)ISAPI缓冲区溢出
MicrosoftIIS(InternetInformationServer)是在大多数MicrosoftWindowsNT和Windows2000服务器上使用的服务器软件。在安装IIS的时候,多个ISAPI(InternetServicesApplicationProgrammingInterface)被自动安装。ISAPI允许开发人员使用多种动态链接库DLLs来扩展IIS服务器的性能。一些动态链接库,例如idq.dll,有编程错误,使得它们进行不正确的边界检查。特别是,它们不阻塞超长字符串。攻击者可以利用这一点向DLL发送数据,造成缓冲区溢出,进而控制IIS服务器。
解决上述问题的方案是如果发现系统具有这种缺陷,则安装最新的Microsoft补丁。同时,应检查并取消所有不需要的ISAPI扩展。经常检查这些扩展是否被恢复。还要记住最小权限规则,系统应运行系统正常工作所需的最少服务。
网络协议的安全缺陷
TCP/IP是目前Internet使用的协议。
TCP/IP也存在着一系列的安全缺陷。有的缺陷是由于源地址的认证问题造成的,有的缺陷则来自网络控制机制和路由协议等。这些缺陷,是所有使用TCP/IP的系统所共有的,以下将讨论这些安全隐患。1.TCP/IP概述(1)TCP/IP基本结构
TCP/IP是一组Internet协议,不但包括TCP和IP两个关键协议,还包括其他协议,如UDP、ARP、ICMP、Telnet和FTP等。TCP/IP的设计目标是使不同的网络互相连接,即实现互联网。
图1.1TCP/IP基本逻辑结构
IPv4的地址是32bit,目前正在推出IPv6,其地址为128bit。以太网MAC地址是48bit。
TCP/IP层次结构有两个重要原则:①在同一端点,每一层只和邻接层打交道,例如,应用程序根本不关心网络层是怎么转发包以及数据在哪些网络上传输;②不同端点之间的同一层有对等关系,对等层之间可以进行通信,如应用程序之间的通信,TCP模块之间的通信等。(2)TCP/IP通信模型通信模型是TCP/IP最基本的模型之一,它描述了端和端之间怎样传输数据。如在图1.1中,各层模块之间的连接表示数据流的路线。
TCP/IP提供两个主要的传输协议:TCP和UDP。TCP是一个面向连接的协议,它通过发送和确认机制,保证数据无错误传输。UDP是无连接的,它只管发送和接收所有的包,不保证数据是否到达。(3)TCP/IP网络互连模型
TCP/IP的另一个主要功能是实现不同网络之间的互连。网络互连功能在网络层实现,即一个IP模块连接到两个不同的物理链路层可以实现这两个网络之间的互连,如图1.2所示。图1.2
一个IP模块连接两个网络
2.TCP序列号预计
TCP序列号预计由莫里斯首先提出,是网络安全领域中最有名的缺陷之一。这种攻击的实质,是在不能接到目的主机应答确认时,通过预计序列号来建立连接。这样,入侵者可以伪装成信任主机与目的主机通话。正常的TCP连接建立过程是一个三次握手的过程,客户方取一初始序列号ISNc并发出第一个SYN包,服务方确认这一包并设自己一方的初始序列号为ISNs,客户方确认后这一连接即建立。一旦连接建立成功,客户方和服务方之间即可以开始传输数据。连接建立过程可以被描述如下:TCP连接建立过程客户方→服务方:SYN(ISNc)服务方→客户方:ACK(ISNc),SYN(ISNs)客户方→服务方:ACK(ISNs)客户方→服务方:数据和/或者服务方→客户方:数据3.路由协议缺陷(1)源路由选项的使用在IP包头中的源路由选项用于该IP包的路由选择,这样,一个IP包可以按照预告指定的路由到达目的主机。
但这样也给入侵者创造了良机,当预先知道某一主机有一个信任主机时,即可利用源路由选项伪装成受信任主机,从而攻击系统,这相当于使主机可能遭到来自所有其他主机的攻击。(2)伪造ARP包伪造ARP包是一种很复杂的技术,涉及到TCP/IP及以太网特性的很多方面,在此归入ARP的安全问题不是很合适。伪造ARP包的主要过程是,以目的主机的IP地址和以太网地址为源地址发一ARP包,这样即可造成另一种IPspoof。
这种攻击主要见于交换式以太网中,在交换式以太网中,交换集线器在收到每一ARP包时更新Cache。不停发spoofARP包可使送往目的主机的包均送到入侵者处,这样,交换式以太网也可被监听。解决上述问题的方法是:将交换集线器设为静态绑定。另一可行的方法是当发现主机运行不正常时(网速慢,IP包丢失率较高),反映给网络管理员。(3)RIP的攻击
RIP(RoutingInformationProtocol)是用于自治系统(AutonomousSystem,AS)内部的一种内部路由协议(InternalGatewayProtocol,IGP)。RIP用于在自治系统内部的路由器之间交换路由信息。RIP使用的路由算法是距离向量算法。该算法的主要思想就是每个路由器给相邻路由器宣布可以通过它达到的路由器及其距离。一个入侵者有可能向目的主机以及沿途的各网关发出伪造的路由信息。(4)OSPF的攻击
OSPF(OpenShortestPathFirst)协议是用于自治域内部的另一种路由协议。OSPF协议使用的路由算法是链路状态(Link-State)算法。在该算法中,每个路由器给相邻路由器宣布的信息是一个完整的路由状态,包括可到达的路由器,连接类型和其他相关信息。
LSA(LinkStateAdvertisement)是OSPF协议中路由器之间要交换的信息。一个LSA头格式如图1.3所示。
LS序列号为32bit,用来指示该LSA的更新程度。LS序列号是一个有符号整数,大小介于0x80000001(负值)和0x7fffffff之间。
图1.3LSA头格式4.网络监听以太网(Ethernet)是网络结构中,链路层和物理层的主要连网方式。由于以太网的工作方式,网络请求在网上一般以广播的方式传送,这个广播是非验证的,也就是同网段的每个计算机都可以收到,除了目标接受者会应答这个信息外,其他的接受者会忽略这个广播。如果有一个网络设备专门收集广播而决不应答,那么,它就可以看到本网的任何计算机在网上传输的数据。如果数据没有经过加密,那么它就可以看到所有的内容。Sniffer就是一个在以太网上进行监听的专用软件。监听这个现象对网络的安全威胁是相当大的,因为它可以做到以下几点。(1)抓到正在传输的密码。(2)抓到别人的秘密(信用卡号)或不想共享的资料。(3)暴露网络信息。
5.TCP/UDP应用层服务(1)finger的信息暴露这是由于以下几点原因。①finger没有任何认证机制。任何人都可利用finger来获得目的主机的有关信息。②finger所提供的信息包括用户名,用户来自于何处等,这些信息可以用于口令的猜测攻击,以及信任主机被假冒的攻击,具有很大的潜在危险。③finger没有认证,这使得无法辨别一个主机是否在基于“正当的”目的使用finger,这使得用户即使被攻击,也无法辨明finger在其中起了多大作用。 解决上述问题的方法是:关掉finger服务,如果有充分理由打开finger服务的话,不妨将finger设为:/bin/cat/etc/something(2)FTP的信息暴露
FTP本身并无安全问题,但几乎所有的实现都存在如下问题。①FTP一般用户的口令与登录口令相同,而且采用明文传输。②
一些网点上的匿名FTP提供了另一攻击途径。(3)Telnet的安全问题
Telnet本身也并没有安全问题。它的安全隐患类似FTP的①,只不过要更严重一些。由于Telnet是用明文传输的,因此不仅是用户口令,而且用户的所有操作及其回答,都将是透明的。
(4)POP3的安全问题
由于POP3的口令与账号的口令相同,在此它存在着类似FTP①的问题,解决方法也是类似的。(5)tftp/bootp的安全问题
tftp允许不经认证就能读主机的那些被设置成所有人可读的文件。这将可能暴露系统的账号、工作目录等重要信息。
应用软件的实现缺陷
软件实现缺陷是由于程序员在编程的时候没有考虑周全而造成的。软件缺陷一般可以分为以下几种类型:
输入确认错误;
访问确认错误;
特殊条件错误;
设计错误;
配置错误;
竞争条件错误;
其他。1.输入确认错误
在输入确认错误的程序中,由用户输入的字符串没有经过适当的检查,使得黑客可以通过输入一个特殊的字符串造成程序运行错误。输入确认错误的另一个子集就是边界条件溢出。边界条件溢出指的是程序中的一个变量值超过它自己边界条件时的程序运行错误。
2.访问确认错误
访问确认错误指的是系统的访问控制机制出现错误。错误并不在于用户可控制的配置部分,而在系统的控制机制本身。所以,这样的缺陷有可能使得系统运行不稳定,但是基本上不能被利用去攻击系统,因为它的运行错误不受用户的控制。用户使用的缺陷用户使用的缺陷体现在以下几个方面:
密码易于被破解;
软件使用的错误;
系统备份不完整。1.密码易于被破解(1)缺省密码(2)密码与个人信息有关(3)密码为词典中的词语(4)过短密码(5)永久密码2.软件使用的错误除了软件自身的缺陷以外,软件的使用错误还体现在以下几个方面。(1)大量打开端口(2)危险缺省脚本(3)软件运行权限选择不当3.系统备份不完整
系统是否有备份?
备份间隔是可接受的吗?
系统是按规定进行备份的吗?
是否确认备份介质正确地保存了数据?
备份介质是否在室内得到了正确的保护?
是否在另一处还有操作系统和存储设施的备份(包括必要的licensekey)?
存储过程是否被测试及确认?恶意代码
恶意代码是这几年比较新的概念。可以说,这些代码是攻击、病毒和特洛伊木马的结合。恶意代码不但破坏计算机系统(像计算机病毒),给黑客留出后门(像特洛伊木马),它还能够主动去攻击并感染别的机器。1.计算机病毒
计算机病毒是一种计算机程序,它可以寄生在一定的载体上,具有隐蔽性、传染性和破坏性。计算机病毒的影响对象就是计算机,也就是这个定义中提到的载体,隐蔽性、传染性和破坏性都是针对计算机而言。2.特洛伊木马
网络安全的另一种威胁是特洛伊木马。与计算机病毒一样,特洛伊木马并不是利用系统本身留下的缺陷而是设计者故意创造出来的,用来对系统进行攻击的一种工具。特洛伊木马与病毒的不同点在于,病毒的设计目标是破坏系统,而特洛伊木马的设计目标是远程控制受害系统。这样,特洛伊木马可以直接影响信息的机密性、完整性和可用性。3.恶意代码
恶意代码是一种计算机程序,它既有利用系统缺陷的攻击特性,又有计算机病毒和特洛伊木马的特性。下面分别讨论这3种特性。(1)攻击特性(2)计算机病毒特性(3)特洛伊木马特性1.2网络安全体系结构网络安全总体框架
可以把信息安全看成一个由多个安全单元组成的集合,其中每一个安全单元都是一个整体,包含了多个特性。一般来说,人们都从3个主要特性去理解一个安全单元,就是安全特性、结构层次和系统单元。安全单元集合可以用一个三维的安全空间去描述它,如图1.6所示。图1.6信息安全空间
OSI安全体系结构主要包括三部分内容,即安全服务、安全机制和安全管理。
安全控制安全控制是指在微机操作系统和网络通信设备上对存储和传输的信息的操作和进程进行控制和管理,主要是在信息处理层次上对信息进行的初步的安全保护,可以分为以下3个层次。(1)微机操作系统的安全控制。(2)网络接口模块的安全控制。(3)网络互连设备的安全控制。
安全服务
OSI安全体系结构定义了一组安全服务,主要包括认证服务、访问控制服务、数据保密服务、数据完整性服务和抗抵赖服务。1.认证服务认证服务提供某个实体的身份保证。认证服务有对等实体认证和数据起源认证两种类型,现分述如下。(1)对等实体认证对等实体认证服务就是,在一个实体与实体的连接中,每一方确认对方的身份。
(2)数据起源认证数据起源认证服务就是,在通信的某个环节中,需要确认某个数据是由某个发送者发送的。
2.访问控制服务访问控制服务就是对某些确知身份限制对某些资源的访问。
访问控制服务直接支持保密性、完整性、可用性和认证的安全性能,其中对保密性、完整性和认证所起的作用十分明显。
图1.7
访问控制服务一般模型
3.数据保密性服务(1)连接保密性数据保密性服务要保证数据在传输过程中的保密性。(2)无连接保密性无连接保密性服务保证数据在无连接的一次通信中的保密性。(3)选择字段保密性(4)业务流保密性
业务流保密性服务保证数据不能通过其流量特征而推断出其中的保密信息。4.数据完整性服务(1)可恢复的连接完整性(2)不可恢复的连接完整性(3)选择字段的连接完整性(4)无连接完整性(5)选择字段的无连接完整性数据完整性服务直接保证数据的完整性。
5.抗抵赖服务抗抵赖服务与其他安全服务有根本的不同。它主要保护通信系统不会遭到来自系统中其他合法用户的威胁,而不是来自未知攻击者的威胁。抗抵赖服务包括如下两种形式。(1)数据起源的抗抵赖(2)传递过程的抗抵赖安全需求1.保密性
广义的保密性是指保守国家机密,或是未经信息拥有者的许可,不得非法泄漏该保密信息给非授权人员。狭义的保密性则指利用密码技术对信息进行加密处理,以防止信息泄漏和保护信息不为非授权用户掌握。
2.安全性 安全性标志着一个信息系统的程序和数据的安全保密程度,即防止非法使用和访问的程度,可分为内部安全和外部安全。内部安全是由计算机网络内部实现的;而外部安全是在计算机网络之间实现的。
3.完整性 完整性就是数据未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被修改、破坏和丢失的特性。4.服务可用性服务可用性是一种可被授权实体访问并按需求使用的特性,即当需要时被授权实体能否存取所需的信息。
5.可控性可控性是一种对信息的传播及内容具有控制能力的特性。
6.信息流保护1.3PDRR网络安全模型
一个最常见的安全模型就是PDRR模型。PDRR由4个英文单词的头一个字符组成:Protection(防护)、Detection(检测)、Response(响应)和Recovery(恢复)。这4个部分组成了一个动态的信息安全周期,如图1.8所示。安全策略的每一部分包括一组安全单元来实施一定的安全功能。图1.8信息安全策略防护1.风险评估——缺陷扫描风险评估属于网络安全防护类型。风险评估就是发现并修补系统和网络存在的安全缺陷。安全缺陷可以分为两种,允许远程攻击的缺陷和只允许本地攻击的缺陷。对于允许远程攻击的安全缺陷,可以使用网络缺陷扫描工具去发现。2.访问控制及防火墙访问控制技术属于网络安全防护类型。3.防病毒软件与个人防火墙4.数据备份和归档5.数据加密数据加密技术是信息安全防护的重要技术。6.鉴别技术鉴别技术也是信息安全防护的重要技术。7.使用安全通信8.系统安全评估标准检测
PDRR模型的第二个环节是检测(D)。
检测和防护有根本性的区别。如果防护和黑客的关系是:“防护在明,黑客在暗”,那么检测和黑客的关系就是“黑客在明,检测在暗”。
在PDRR模型中,防护(P)和检测(D)之间有互补关系。
IDS是一个硬件系统或软件程序,它的功能是检测出正在发生或者已经发生的入侵事件,这些入侵已经成功地穿过防护战线。一个入侵检测系统有很多特征,其主要特征为:检测环境和检测算法。根据不同的特征,入侵检测系统可以分为不同的类型。响应
PDRR模型中的第三个环节是响应(R)。响应就是已知一个攻击(入侵)事件发生之后,进行处理。恢复恢复(R)是PDRR模型中的最后一个环节。1.4网络安全基本原则普遍参与 为了使安全机制更有效,绝大部分安全保护系统要求站点人员普遍参与(或至少没有反对者)。纵深防御 纵深防御也是一种基本的安全原则,而且不光是针对网络系统而言的。纵深防御是指不能只依赖单一安全机制,应该建立多种机制。防御多样化系统可以通过使用大量的不同系统提供纵深防御而获得额外的安全保护。
阻塞点所谓阻塞点就是设置一个窄通道,在那里可以对攻击者进行监视和控制。
最薄弱链接安全保护的基本原则是链的强度取决它的最薄弱链接,墙的坚固取决于它的最弱点。
失效保护状态
安全保护的另一个基本原则就是,在某种程度上系统应该可以做到失效保护。就是说如果系统运行错误,那么它们发生故障时会拒绝侵袭者访问,更不用说让侵袭者侵入了。
(1)默认拒绝状态。(2)默认许可状态。
最小特权
最小特权原则是指一个对象(程序、人、路由器或者任何事物)应该只拥有为执行其分配的任务所必要的最小特权并且绝不超越此限。
简单化简单化作为一个安全保护策略有两个原因:第一,让事情简单使它们易于理解,如果不了解某事,就不能真正了解它是否安全;第二,复杂化会为所有类型的事情提供隐藏的角落和缝隙。计算机网络安全数据安全技术知识点数据加密基本概念和基本加密技术数据压缩与数据压缩工具的使用4/21/202581难点
DES加密标准公开密钥密码体制数据加密方法的工作原理4/21/202582要求熟练掌握以下内容:传统和现代的数据加密技术及其基本概念典型的压缩工具的使用WinZip和WinRAR的使用了解以下内容:数据压缩的基本原理4/21/202583存放在计算机系统中的数据的安全,每时每刻都受到来自各方面的威胁,这些威胁会破坏数据的完整性和不可用性,数据加密是保护数据的最主要的手段。通过数据加密使原本清晰的数据变得晦涩的难懂,从而实现对数据的保护。4/21/2025841.1数据加密数据加密基本概念数据加密技术典型的对称密码技术——替代密码和换位密码数据加密标准DES公开密钥密码体制——RSA算法RSA算法的应用4/21/2025854.1.1数据加密基本概念1.数据加密技术的历史起源数据加密技术是一项相当古老的技术,很多考古发现都表明古人会很多奇妙的方法进行加密,早在公元前2000多年前,埃及人就开始使用特别的象形文字作为信息编码来保护他们的密码文件;而始于公元前17世纪由克里特岛发明的费斯托斯圆盘更是被誉为世界上最难解的十大密码之一,至今无人能解。早在4000年前,古埃及就开始使用密码传递信息,历代重大战争更是促进了加密技术的发展,1949年,香农发表了《保密系统通信理论》为密码学奠定了理论基础,使密码学成为一门真正的学科。4/21/2025864.1.1数据加密基本概念2.数据加密的基本概念明文P(Plaintext):可以理解的信息原文。加密E(Encryption):用某种方法伪装明文以隐藏它的内容的过程。密文C(Ciphertext):经过加密后将明文变换成不容易理解的信息。解密D(Decryption):将密文恢复成明文的过程。算法(algorithm):就是用于加密或解密的方法,在现代密码学中算法就是一个用于加密和解密的数学函数。密钥K(key):是用来控制加密和解密算法的实现。4/21/2025874.1.1数据加密基本概念如果将加密过程看成是一个数学函数F的话,则密文C可以表示为:C=F(P,K)这个函数具有两个自变量P和K,在函数F的作用下得到密文。在已知密钥K1、K2、加密算法E和解密算法D时,则加密和解密过程可以表示如下:EK1(P)=CDK2(C)=P显然为使明文加密后能被解密必须有:P=DK2(EK1(P)),在实际加密和解密时,根据加密算法的特点,K1与K2的值可以不同,也可以相同。
4/21/2025884.1.2数据加密技术1.对称密钥加密技术对称密钥加密又称密钥加密,加密和解密过程均采用同一把秘密“钥匙”(密钥),通信双方都必须具备这把“钥匙”,并保证这把“钥匙”不被泄露。典型代表是数据加密标准DES(数据加密标准)、IDEA(国际数据加密算法)、AES(高级加密标准)等算法。对称加密算法,有时又叫传统密码算法,它的典型特点是:1).采用的解密算法就是加密算法的逆运算,或者解密算法与加密算法完全相同;2).加密密钥和解密密钥相同,或者加密密钥能够从解密密钥中推算出来,反过来也成立。
4/21/2025894.1.2数据加密技术2.非对称密钥加密技术非对称密钥加密算法又叫公开密钥加密算法,其典型代表是RSA、椭圆曲线加密、NTRU算法等。公开密钥加密算法中对数据进行加密和解密使用的是一个密钥对。其中一个用于加密,而另一个用于解密。用于加密的密钥不同于用作于密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内),所以加密密钥能够公开,每个人都能用加密密钥加密信息,但只有解密密钥的拥有者才能解密信息。解密密钥必须严格保管。在公开密钥算法系统中,加密密钥叫做公开密钥(简称公钥),解密密钥叫做秘密密钥(私有密钥,简称私钥)。4/21/2025904.1.2数据加密技术下面举一个典型的使用公钥密码体制进行数据传输的实例如图4-3所示。Bob要想从Alice那里接受数据,为了保障数据传输的安全性,他决定采用公钥密码体制进行传输。他首先用一定算法产生一对密钥(公钥和私钥),然后把公钥传送出去。Alice收到Bob的公钥后,用这一公钥对将要传送给Bob的数据加密,然后通过网络传送给Bob。Bob从网络上接收到Alice传过来的加密数据后,用他的私钥进行解密。最终得到Alice传送过来的原始明文数据。由于网络上传输的加密数据只有Bob能够用私钥解密,如果确保Bob的私钥不被泄露,那么用公钥密码体制就能够保证数据传输的安全性。Alice用Bob的公钥加密信息Bob用自己的私钥解密信息加密信息在网络中传输的安全性。
Alice用Bob的公钥加密信息Bob用自己的私钥解密信息加密信息在网络中传输4/21/2025914.1.2数据加密技术3.对称加密体制与公开密钥体制比较
1)对称加密体制(1)在对称加密算法体制中,如果有N个成员,就需要N(N-1)/2个密钥,这巨大的密钥量给密钥的分配和安全管理带来了困难。(2)在对称加密算法体制中,知道了加密过程可以很容易推导出解密过程,知道了加密密钥就等于知道了解密密钥,可以用简单的方法随机产生密钥。(3)多数对称加密算法不是建立在严格意义的数学问题上,而是基于多种“规则”和可“选择”假设上。(4)用对称加密算法传送信息时,通信双方在开始通信之前必须约定使用同一密钥,这就带来密钥在传递过程中的安全问题,所以必须建立受保护的通道来传递密钥。(5)对称加密算法不能提供法律证据,不具备数字签名功能。(6)对称加密算法加密速度快,这也是对称加密算法唯一的重要优点,通常用对称算法加密大量的明文。
4/21/2025924.1.2数据加密技术对称加密体制与公开密钥体制比较
2)公开密钥体制(1)在公开密钥体制中,每个成员都有一对密钥(pk、sk)。如果有N个成员,只需要2N个密钥,需要的密钥少,密钥的分配和安全管理相对要容易一些。(2)知道加密过程不能推导出解密过程,不能从pk推导出sk,或从sk推导出pk。或者说如果能推导出来也是很难的,要花很长的时间和代价。(3)容易用数学语言描述,算法的安全性建立在已知数学问题求解困难的假设上。(4)需要一个有效的计算方法求解一对密钥pk、sk,以确保不能从pk、sk中相互推导。(5)用公开密钥算法传送信息时,无需在通信双方传递密钥。也就不需要建立受保护的信息通道。这是公开密钥算法最大的优势,使得数字签名和数字认证成为可能。公开密钥算法有着更广阔的应用范围。(6)就目前来看,公开密钥算法加密的速度要比对称算法慢的多。一般只用公开密钥算法加密安全要求高,信息量不大的场合。4/21/2025934.1.2数据加密技术对称加密体制与公开密钥体制比较
2)公开密钥体制(1)在公开密钥体制中,每个成员都有一对密钥(pk、sk)。如果有N个成员,只需要2N个密钥,需要的密钥少,密钥的分配和安全管理相对要容易一些。(2)知道加密过程不能推导出解密过程,不能从pk推导出sk,或从sk推导出pk。或者说如果能推导出来也是很难的,要花很长的时间和代价。(3)容易用数学语言描述,算法的安全性建立在已知数学问题求解困难的假设上。(4)需要一个有效的计算方法求解一对密钥pk、sk,以确保不能从pk、sk中相互推导。(5)用公开密钥算法传送信息时,无需在通信双方传递密钥。也就不需要建立受保护的信息通道。这是公开密钥算法最大的优势,使得数字签名和数字认证成为可能。公开密钥算法有着更广阔的应用范围。(6)就目前来看,公开密钥算法加密的速度要比对称算法慢的多。一般只用公开密钥算法加密安全要求高,信息量不大的场合。4/21/2025944.1.3典型的对称密码技术——替代密码和换位密码1.替代密码替代密码又称替换密码,就是按照一定要求,将明文中的每个字符替换成另一个字符,明文中字符的位置保持不变,但其本身改变了。包括移位密码、单表代换密码和多表带换密码。1)、移位密码凯撒(Caeser)密码是对英文26个字母进行移位代换的密码,其q=26。例如,选择密钥k=5,则有代换表如表4-2所示。4/21/2025954.1.3典型的对称密码技术——替代密码和换位密码1.替代密码替代密码又称替换密码,就是按照一定要求,将明文中的每个字符替换成另一个字符,明文中字符的位置保持不变,但其本身改变了。包括移位密码、单表代换密码和多表带换密码。1)、移位密码凯撒(Caeser)密码是对英文26个字母进行移位代换的密码,其q=26。例如,选择密钥k=5,则有代换表如表4-2所示。4/21/2025964.1.3典型的对称密码技术——替代密码和换位密码【例4-1】明文:m=Casearcipherisashiftsubstitution密文:c=E(m)=hfxjfwhnumjwnxfxmnkyxzgxynyzynts解密运算为D5=E21,用密钥k=21的加密表加密就可恢复明文。2)、单表代换密码:明文中的一个字符用相应的一个密文代替。Abcdefghijklmnopqrstuvwxyzkhwtxysgbpejazmlnofcidvur【例4-2】设明文为:Iamagoodstudent则密文为:bkjklzztofctxaf4/21/2025974.1.3典型的对称密码技术——替代密码和换位密码2.换位密码换位密码(permutationcipher),又称置换密码(transpositioncipher),明文的字母保持相同,但顺序被打乱了。当矩阵变换密码的变换矩阵为一置换阵时,相应密码就是置换密码,亦称换位密码(TranspositionCipher),PermutationCipher是对明文L长字母组中的字母位置进行重新排列,而每个字母本身并不改变。【例4-4】对明文shesellsseashellsbytheseashore进行加密解:对明文shesellsseashellsbytheseashore进行分组加密shesellsseashellsbytheseashore然后将每6个字母重新进行排序得到密文EESLSHSALSESLSHBLEHSYEETHRAEOS再用逆置换解密得到明文。4/21/2025984.1.3典型的对称密码技术——替代密码和换位密码3)、多表替换密码:又称维吉尼亚密码,这是一种以移位代换为基础的周期代换密码,M个移位代换表由m个字母组成的密钥字确定。【例4-3】明文:wearediscoveredsaveyourself密钥:deceptivedeceptivedeceptive密文:ZICVTWQNGRZGVTWAVZHCQYGLMGJ其中,密钥字母a,b,c,y,z对应数字0,1,2,………24,25。密钥字母d对应数字3,因而明文字母w在密钥字母d的作用下向后移动3,得到密文字母Z;明文字母e在密钥字母e的作用下向后移动4,得到密文字母i,以此类推。解密时,密文字母在密钥字母的作用下前移。但是该算法有没有缺点呢?因为人们在使用密钥时通常都是用一个熟悉的单词、一个句子或一段文字。仍然能够通过统计技术进行分析。当然这又出现了更高级的多字母代换密码和轮转密码。4/21/2025994.1.4数据加密标准DESDES的发展历程DES(DataEncryptionStandard)是美国国家标准研究所(AmericanNationalStandardInstitution,ANSI)制定的数据加密算法(dataencryptionalgorithm,DEA)。与此相应的国际标准化组织(InternationalStandardOrganization,ISO)制定的数据加密算法是DEA-1.DES作为一个世界范围内的标准已经存在了20多年了,尽管它带有过去的时代特征,但它很好地抵制住了多年的密码分析,除了可能的最强有力的攻击外,其他攻击仍然是安全的。美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DESDataEncryptionStandard)。DES是密码学历史上的一大进步,首次形成了密码体制。DES用途很广Linux中使用了DES算法,xp系统中使用3DES。4/21/20251004/21/20251014.1.4数据加密标准DESDES的发展历程DES(DataEncryptionStandard)是美国国家标准研究所(AmericanNationalStandardInstitution,ANSI)制定的数据加密算法(dataencryptionalgorithm,DEA)。与此相应的国际标准化组织(InternationalStandardOrganization,ISO)制定的数据加密算法是DEA-1.DES作为一个世界范围内的标准已经存在了20多年了,尽管它带有过去的时代特征,但它很好地抵制住了多年的密码分析,除了可能的最强有力的攻击外,其他攻击仍然是安全的。美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DESDataEncryptionStandard)。DES是密码学历史上的一大进步,首次形成了密码体制。DES用途很广Linux中使用了DES算法,xp系统中使用3DES。4/21/20251024.1.4数据加密标准DESDES算法描述DES是分组加密算法,它以64位(二进制)为一组,对称数据加密,64位明文输入,64位密文输出。DES是一个对称算法:加密和解密用的是同一种算法。但是加密和解密是采取的密钥并不相同。密钥长度为56位,但密钥通常表示为64位,并分为8组,每组第8位作为奇偶校验位,以确保密钥的正确性,这样对用户来说每组密钥仍是56位。利用密钥,通过传统的换位、替换和异或等变换,实现二进制明文的加密与解密。DES所采取的算法比较简单,只是用了算术和逻辑运算,而且算法所用的数也最多只有64位。因此用70年代末期的硬件技术很容易实现。4/21/20251034.1.4数据加密标准DES4/21/20251044.1.4数据加密标准DESDES算法概要对输入的明文从右向左按顺序每64位分为一组(不足64位时,在高位补0),并按组进行加密或解密。进行初始换位。将换位后的明文分成左、右两个部分,每部分为32位长。进行16轮相同的变换,包括密钥变换。DES算法一轮的细节如图4-5所示。将变换后左右两部分合并在一起。逆初始变换,输出64位密文。
4/21/20251054.1.4数据加密标准DES4.DES算法加密过程初始置换:就是对输入的64位二进制明文按照IP的规则,改变明文P的顺序。在第一轮前出现对明文比特移位,例如第58比特位移位至第一位,第50比特位移位至第二位,第7为移至最后一位等等。初始值换表如图4-3所示。初始置换并不影响DES的安全性,变换完后,原来二进制顺序变成了P=P58P50……P7。初始置换表中共有8行8列,64个元素。把上面4行和下面4行分成左L和右R2组。4/21/20251064.1.4数据加密标准DES表4-3初始置换58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157
4/21/20251074.1.4数据加密标准DES明文分组:将置换后的明文,即新的64位二进制序列,按顺序分为左、右两组L0,R0,每组都是32位。密钥置换:密钥置换就是按照表4-4的规则改变密钥的顺序,密钥置换规则和前面的初始置换规则完全相同,即将原密钥的第57位换到第1位的位置,将原密钥第49位换到第2位的位置,第4位换到第56位的位置。置换表中共有56个元素,去掉了原64位密钥中的奇偶校验位8、16、32、40、48、56、64这些数。4/21/20251084.1.4数据加密标准DES表4-4密钥置换574941332517915850423426181025951433527191136052443663554739312315762544638302214661534537292113528201244/21/20251094.1.4数据加密标准DES表4-5每轮密钥循环左移位数
迭代次数12345678910111213141516左移位数1122222212222221产生子密钥:合并后的密钥一方面用于产生子密钥,另一方面为下次迭代运算作准备。按照密钥压缩置换表4-6从56位产生48位子密钥。实现了密钥的压缩。4/21/20251104.1.4数据加密标准DES表4-6密钥压缩置换14171124153281562110231912426816727201324152313747553040514533484449395634534642503629324/21/20251114.1.4数据加密标准DES压缩置换表中共有48位元素。原密钥的14位,在子密钥中就是第1位,原密钥的17位在子密钥中就是第2位。扩展压缩:将明文数据的右半部分R从32位扩展成48位,扩展置换按照扩展置换表4-7规则进行。从表4-7中可以看出元数据的第32位被扩展成第1位和第47位,原数据第一位被扩展成第2位和第48位。共有16位进行了扩展,这样原数据的32位扩展成48位。4/21/20251124.1.4数据加密标准DES表4-7密钥置换32123454567898910111213121314151617161718192021202122232425242526272829282930313214/21/20251134.1.4数据加密标准DES表4-8DES的S盒替换表S(1)14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,S(2)15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,S(3)10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12,4/21/20251144.1.4数据加密标准DES表4-8DES的S盒替换表S(4)7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14,S(5)2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14,11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3,S(6)12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,4/21/20251154.1.4数据加密标准DES表4-8DES的S盒替换表S(7)4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1,13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6,1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12,S(8)13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,114/21/20251164.1.4数据加密标准DES【例4-5】S1盒的输入101110则第一个和最后一个决定行号(行号从0开始):二进制10对应2,b1b6=(10)=2行;中间的数字决定列号(列号从0开始):二进制0111对应7,b2b3b4b5=(0111)=7列;对应S盒的(2,7)元素为11,将11转换为二进制数1011。所以,当S盒的输入为101110时,S盒的输出为1011。
S盒代替是DES算法的核心部分,整个变换过程是非线性的(而DES算法的其他变换都是线性的),提供很好的混乱数据效果,比DES算法的其他步骤都提供了更好的安全性。4/21/20251174.1.4数据加密标准DES9)P盒置换:将S盒输出的32位二进制数据按P盒置换表4-9进行置换。将S盒输出的第16位变换成第1位,第1位变成第9位。表4-9P盒置换表167202129122817115232651831102824143227391913306221142510)P盒输出与原64位数据进行异或运算:将p盒输出的32位二进制数与原64位数据分组的左半部分L进行异或运算,得到分组的右半部分Ri11)交换Ri-1到Li:将原分组的右半部分Ri-1作为分组的左半部分12)重复:循环操作16轮4/21/20251184.1.4数据加密标准DES13)初始逆置换
表4-10逆初始置换40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725将16轮的DES运算后,将输出的L16和R16合并起来,形成64位的二进制数,最后按照初始逆置换表进行逆置换,就可以得到密文。4/21/20251194.1.5公开密钥密码体制——RSA算法
1.RSA算法数学基础定义1:对一个自然数P,如果P只能被1和自身除尽时,则称P为素数(或质数),否则为合数。定义2:如果整数a与整数b的最大公约数是1,则称a与b是互为质数。【例4-6】2和3,7和11等都是互为质数。定义3:欧拉函数定义为:φ=r(1-1/P)(1-1/P)···(1-1/P)P、P···P是r的质因子,即公约数。欧拉函数是用来计算1、2、3、···、r中有多个数与r互为质数的。4/21/20251204.1.5公开密钥密码体制——RSA算法例4-7】:当r=20时,由于r=2×2×5,即20的公约数是2和5所以:=20×(1-1/2)×(1-1/5)=8即在1~20个整数中有8个与20互质的数,它们是1,3,7,9,11,13,17,19。定义4:两个整数a、b分别被m除,如果所得余数相同,则称a与b对模m是同余的,记作:a≡b(modm)4/21/20251214.1.5公开密钥密码体制——RSA算法
2.RSA算法基础1).产生素数产生素数的方法很多,这里介绍的方法是:除2以外所有素数为奇数,由素数的定义决定算法。判断1~N个数中的n是否为素数时具体算法是:令n从3开始(3是素数);每次增加2,n=n+2(排除了偶数);n被所有小于等于的素数整除若不存在被整除的数,则n为素数4/21/20251224.1.5公开密钥密码体制——RSA算法
2.RSA算法基础2).求最大公约数算法设b、c为整数,b>0,c>0,b>c(使用这个条件不影响算法,但可避免符号问题),b、c的最大公约数记为gcd(b、c)。我们可以利用欧几里德算法,即重复使用带余数除法求最大公约数。欧几里德算法:每次的余数为除数,除上一次的除数,直到余数为0时为止,则上次余数为最大公约数。可以先设b为上次的除数,c为余数,按欧几里德算法求出gcd(b、c)4/21/20251234.1.5公开密钥密码体制——RSA算法
2.RSA算法基础3)求乘逆算法设已知a,求b,称求a对于模r的乘逆b,并称a与b对r互为乘逆。也可以写成:b=a-1modr求乘逆时也可以利用欧几里德算法,即重复使用带余数除法。但与求最大公约数不同,即每次的余数为除数,除上次除数,直到余数为1时为止。4/21/20251244.1.5公开密钥密码体制——RSA算法3.RSA算法过程建立一个RSA密码体制过程如下:选择两个随机大素数p和q;计算模数N=pq和Ф(n)=(p-1)(q-1);选择一个大于1小于Ф(n)随机加密密钥e<N,gcd(e,Ф(N))=1;解同余方程ed=1modФ(n),求解密密钥d(0<d<N)对每一个密钥k=(n,p,q,d,e),定义加密变换为Ek(x)=xemodn,解密变换为Dk(x)=ydmodn;公开加密密钥PK={e,N},保存其解密密钥SK={d,p,q}
4/21/20251254.1.5公开密钥密码体制——RSA算法【例4-8】RSA算法举例:1.选素数p=47和q=71,得n=3337,((n)=46×70=3220;2.选择e=79,求得私钥d=e-1(1019mod32203.公开n=3337和e=79.4.现要发送明文688,计算:68879(mod3337)=15705.收到密文1570后,用私钥d=1019进行解密:15701019(mod3337)=6884/21/20251264.1.5公开密钥密码体制——RSA算法4.RSA算法安全性RSA体制的加密强度依赖于大数分解的困难程度。采用穷举法,对于两个100位的十进制大素数,破译它大约需要1023步,若使用100万步/秒的计算机资源对其进行破密,约需要1000年。但是,人类的计算能力也在不断提高,原来一些被认为不可能分解的大数,现在已经被成功分解。例如,RSA-129(即n为129位的十进制数,约428比特),历时8个月,已经于1994年4月被成功分解。而且有报道,国外科学家正在用量子方法对大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加盟商合作合同范本
- 商业街商铺租赁合同样本
- 版健康体检服务合同协议书样本
- 货物采购代理合同甲方
- 康复医学课件
- 初中数学第1-3章阶段测试卷-2024-2025学年北师大版(2024)数学七年级下册
- Brand KPIs for ready-made-food Eat Happy in Germany-外文版培训课件(2025.2)
- 九年级英语下册 Unit 14 I remember meeting all of you in Grade 7 Section B第4课时(2a-2e)教学设计(新版)人教新目标版
- 2025年度施工员资格考试全真模拟考试试题及答案(共四套)
- 影视后期特效项目教程课件 项目8 大国工匠栏目包装-扭曲、过渡、音频特效
- 2023年一级建造师《管理与实务(通信与广电工程)》考试真题
- 空调系统维保记录表
- 《空间向量基本定理》示范课教学设计【高中数学人教】
- GB/T 25742.4-2022机器状态监测与诊断数据处理、通信与表示第4部分:表示
- GB/T 6417.1-2005金属熔化焊接头缺欠分类及说明
- GB/T 14823.2-1993电气安装用导管特殊要求-刚性绝缘材料平导管
- 北医安全法规考试题
- 2023年宜昌市中医医院医护人员招聘笔试题库及答案解析
- 内部控制建设课件
- 加强施工管理、严格保护环境
- 抗拔桩裂缝计算表格(自动版)
评论
0/150
提交评论