




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机网络安全技术教程第1章
网络安全概述
网络安全的基本内容、网络面临的主要威胁网络安全的基本技术与策略常用的网络协议、网络服务、网络命令较为详细的介绍了实验环境的配置本章学习要点网络安全(NetworkSecurity)是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性科学。从总体上,网络安全可以分成两大方面:网络攻击技术和网络防御技术,只有全面把握两方面的内容,才能真正掌握计算机网络安全技术。网络安全“理论联系实际,并有所发展”是本书的指导方针:(1)“理论”即计算机网络以及网络安全的理论。(2)“实际”即众多的网络安全攻防工具。(3)“发展”即利用编程技术编写一些网络安全工具。本书指导方针:为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。由此可以这样理解计算机网络的安全:通过采用各种技术和管理措施,使网络系统正常运行,从而确保网络数据的可用性、完整性和保密性。所以,建立网络安全保护措施的目的是确保经过网络传输和交换的数据不会发生增加、修改、丢失和泄露等。
网络安全的定义:
从广义上说,网络安全包括网络硬件资源及信息资源的安全性。硬件资源包括通信线路、通信设备(交换机、路由器等)、主机等。要实现信息快速、安全的交换,一个可靠的物理网络是必不可少的。信息资源包括维持网络服务运行的系统软件和应用软件以及在网络中存储和传输的用户信息数据等。信息资源的保密性、完整性、可用性、真实性等是网络安全研究的重要课题,也是本书涉及的重点内容。
网络安全的定义:1.网络设备安全包括设备上运行的网络软件的安全性,使其能够正常地提供网络服务。2.网络数据安全在网络中存储和传输的信息的安全性,即网络系统的信息安全。确保网络系统的信息安全是网络安全的重要目标。
网络安全的主要内容1.可用性可用性是指得到授权的实体在需要时可以得到所需要的网络资源和服务。2.机密性机密性是指网络中的信息不被非授权实体(包括用户和进程等)获取与使用。3.完整性完整性是指网络信息的真实可信性,即网络中的信息不会被偶然或者蓄意地进行删除、修改、伪造、插入等破坏,保证授权用户得到的信息是真实的。网络安全的目标4.可靠性可靠性是指系统在规定的条件下和规定的时间内,完成规定功能的概率。可靠性是网络安全最基本的要求之一。5.不可抵赖性不可抵赖性也称为不可否认性。是指通信的双方在通信过程中,对于自己所发送或接收的消息不可抵赖。即发送者不能抵赖他发送过消息的事实和消息的内容,而接收者也不能抵赖其接收到消息的事实和内容。网络安全的目标在信息化社会中,计算机通信网络在政治、军事、金融、商业、交通、电信、文教等方面的作用日益增大。社会对计算机网络的依赖也日益增强,尤其是计算机技术和通信技术相结合所形成的信息基础设施建设已经成为反映信息社会特征最重要的基础设施建设。人们建立了各种各样完备的信息系统,使得人类社会的一些机密和“财富”高度集中于计算机中。但是这些信息系统都是依靠计算机网络接收和处理信息,实现其相互间的联系和对目标的管理、控制。网络安全问题的重要性
随着网络的开放性、共享性、互连程度扩大,特别是Internet网的出现,网络的重要性和对社会的影响也越来越大。随着网络上各种新业务的兴起,比如电子两务(ElectronicCommerce)、电子现金(ElectronicCash)、数字货币(DigitalCash)、网络银行(NetworkBank)等,以及各种专用网的建设,比如金融网等,使得安全问题显得越来越重要,成了关键之所在。因此网络安全成了数据通信领域研究和发展的一个重要方向,对网络安全技术的研究成了现在计算机和通信界的一个热点,并且成为信息科学的一个重要研究领域,正日益受到人们的关注。网络安全问题的重要性网络的安全威胁来自于网络中存在的不安全因素,网络不安全的因素来自两个方面,一方面是网络本身存在的安全缺陷,主要因素有:网络操作系统的脆弱性、TCP/IP协议的安全性缺陷、数据库管理系统安全的脆弱性、网络资源共享、数据通信、计算机病毒等。另一方面是人为因素和自然因素,即人为的入侵和破坏。计算机网络面临的威胁1.人为的无意失误(1)安全配置不当造成的安全漏洞。系统管理员设置资源访问控制的失误,而导致一些资源被偶然或故意地破坏,造成网络信息保密性的破坏。(2)无意的信息泄露。合法用户进入安全进程后中途离开而给非法用户提供可乘之机,口令密钥等保管不善而为他人非法获得,用户安全意识不强、口令选择不慎、将自己的账号随意转借或与别人共享等都会给网络安全造成威胁。(3)操作失误。删除文件、格式化硬盘、线路拆除等操作失误,系统掉电,“死机”等系统崩溃引起信息缺失,从而造成网络信息完整性和可用性的破坏。人为因素的威胁2.人为的恶意攻击(1)非授权访问。(2)信息泄露或丢失。(3)破坏数据完整性。(4)拒绝服务攻击。(5)利用网络传播木马和病毒。人为因素的威胁1.网络操作系统的脆弱性2.TCP/IP协议的安全性缺陷3.数据库管理系统安全的脆弱性4.系统软硬件故障引起泄密非人为的威胁1.端口扫描技术网络安全扫描技术是为使系统管理员能够及时了解系统中存在的安全漏洞,并采取相应防范措施,从而降低系统的安全风险而发展起来的一种安全技术。2.网络嗅探技术网络嗅探是利用计算机的网络接口截获目的地及其他计算机数据报文的一种技术。它工作在网络的最底层,把网络传输的全部数据记录下来。以帮助网络管理员查找网络漏洞和检测网络性能,还可以分析网络的流量,以便找出所关心的网络中潜在的问题。网络安全的常用技术3.数据加密技术加密是所有信息保护技术措施中最古老、最基本的一种手段。加密的主要目的是防止信息的非授权泄漏。4.数字签名技术数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等安全问题。网络安全的常用技术5.鉴别技术鉴别的目的是验明用户或信息的正身。对实体声称的身份进行唯一地识别,以便验证其访问请求或保证信息来自或到达指定的源和目的。6.访问控制技术访问控制的目的是防止非法访问。访问控制是采取各种措施保证系统资源不被非法访问和使用。一般采用基于资源的集中式控制、基于源和目的地址的过滤管理以及网络签证技术等技术来实现。网络安全的常用技术7.安全审计技术计算机安全审计是通过一定的策略,利用记录和分析历史操作事件发现系统的漏洞并改进系统的性能和安全。8.防火墙技术防火墙技术是建立在现代通信网络技术和信息安全技术基础上的应用性安全技术,越来越多地应用于专用网络与公用网络的互连环境中。网络安全的常用技术9.入侵检测技术网络入侵检测技术也叫网络实时监控技术,它通过硬件或软件对网络上的数据流进行实时检查,并与系统中的入侵特征数据库进行比较,一旦发现有被攻击的迹象,立刻根据用户所定义的动作做出反应,如切断网络连接,或通知防火墙系统对访问控制策略进行调整,将入侵的数据包过滤掉等。网络安全的常用技术10.病毒诊断与防治技术病毒对计算机及网络造成的威胁是极大的,一个安全的计算机网络系统,必须要有强大的病毒诊断能力和防范措施。网络安全的常用技术为了能够有效了解用户的安全需求,选择各种安全产品和策略,有必要建立一些系统的方法来进行网络安全防范。网络安全防范体系的科学性、可行性是其可顺利实施的保障。如图1-1所示,给出了基于扩展的一个网络三维安全防范技术体系框架结构。第一维是安全服务,给出了八种安全属性。第二维是系统单元,给出了信息网络系统的组成。第三维是结构层次,给出并扩展了国际标准化组织ISO的开放系统互联(OSI)模型。网络安全的层次结构网络安全的层次结构框架结构中的每一个系统单元都对应于某一个协议层次,需要采取若干种安全服务才能保证该系统单元的安全。网络平台需要有网络节点之间的认证、访问控制,应用平台需要有针对用户的认证、访问控制,需要保证数据传输的完整性、保密性,需要有抗抵赖和审计的功能,需要保证应用系统的可用性和可靠性。网络安全的层次结构1.IP协议在网络协议中,IP是面向非连接的协议,所以它是不可靠的数据报协议。IP协议主要负责在主机之间寻址和选择路由。IP数据报的结构为:IP头+数据,IP头有一个20字节的固定长度部分和一个可选任意长度部分.常用的网络协议2.TCP协议TCP是传输层协议,专门设计用于在不可靠的因特网上提供可靠的、端到端的字节流通信的协议。发送方和接收方TCP实体以数据段(Segment)的形式交换数据。一个数据段包含一个固定发送和接收方TCP实体以数据段(Segment)的形式交换数据。常用的网络协议3.UDP协议UDP向应用程序提供了一种无连接的服务,通常用于每次传输量较小或有实时需要的程序,在这种情况下,使用UDP开销较少,避免频繁建立和释放连接的麻烦。一个UDP数据段包括一个8字节的头和数据部分。常用的网络协议4.ICMP协议ICMP称为因特网控制消息协议。通过ICMP协议,主机和路由器可以报告错误并交换相关的状态信息。常用的网络协议1.Telnet
Telnet是一种因特网远程终端访问服务。它能够以字符方式模仿远程终端,登录远程服务器,访问服务器上的资源。2.FTP文件传输协议FTP的主要作用,是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上下载到本地计算机,或把本地计算机的文件上传到远程计算机去。FTP服务的端口为21。常用的网络服务3.E-mail
E-mail服务使用的两个主要协议是简单邮件传输协议(SimpleMailTransferProtocol,SMTP)和邮局协议(PostOfficeProtocol,POP)。SMTP默认占用25端口,用来发送邮件,POP占用110端口,用来接收邮件。常用的网络服务4.Web服务Web服务是目前最常用的服务,使用HTTP协议,默认端口为80。在Windows下一般使用IIS作为Web服务器。5.DNS域名服务(DNS—DomainNameService)用于映射网络地址,即寻找Internet域名并将它转化为IP地址。常用的网络服务1.安装虚拟机VMware的版本号为Vmware-workstation6.0.5,运行安装程序,出现下面的界面。VMware虚拟机安装
安装结束后,系统提示输入用户名和VM的注册号,输入正确后,出现安装完毕的界面,如图1-17所示。
安装结束后,系统提示是否重启动计算机,重新启动Vmware后才能使用。重启计算机后,打开Vmware程序,主界面如图1-18所示。VMware虚拟机安装
VMware虚拟机安装
2.配置VMware虚拟机安装完VMware虚拟机后,还需要为虚拟机安装操作系统。选择虚拟机界面上的“NewVirtualMachine”,出现如图1-20所示。VMware虚拟机安装
选择“MicosoftWindows”单选按钮,安装Windows系列操作系统,在下面的“Version”下面选择要安装的操作系统版本,在下面的下拉列表中选择要安装的系统。如图1-22所示,上面是要安装的操作系统版本,下面是要安装的目录。VMware虚拟机安装VMware虚拟机安装3.安装虚拟机操作系统单击绿色的启动按钮来启动虚拟机,就和一台单独的计算机启动类似。启动后,在光驱中放入XP安装光盘,开始安装操作系统。VMware虚拟机安装这样,两套操作系统就成功安装好了。启动成功后,进入操作系统,配制虚拟机上的操作系统的IP地址,使之能与主机通信。如图1-28所示,虚拟机的IP地址是:192.168.1.9;主机的IP地址是:。VMware虚拟机安装配置好IP地址后,主机和虚拟机在同一个网段,可以用Ping命令来测试是否连通。在主机的DOS窗口中输入“ping”,如图1-29所示。VMware虚拟机安装1.SnifferPro的安装和启动在主机上安装一个SnifferPro,版本好为SnifferPro_4_70_530,双击安装程序,进入安装向导,如图1-30所示。Sniffer网络协议分析软件
2.Sniffer的启动和配置SnifferPro安装好以后,从“开始”一“程序”一“SnifferPro”来启动,出现如图1-32所示的主界面。在进行流量捕获之前,首先要选择网络适配器,确定从计算机的哪个网络适配器上接收数据。Sniffer网络协议分析软件
Sniffer网络协议分析软件
选择File菜单下的SellectSettings,弹出Settings对话框,如图1-33所示,选择要监听的网卡,选中LogOn,单击“确定”按钮,Sniffer变成“LogOn”状态,此时就可以开始使用它了。Sniffer网络协议分析软件
设置过滤器:选择主菜单“Capture”一“DefineFilter”,弹出如图1-34所示的定义过滤器对话框,共包括5个标签页,下面分别加以说明。Sniffer网络协议分析软件3.报文捕获解析
CaptureStart:启动捕获引擎。sniffer能够实时监控主机、协议、应用程式、不同包类型等的分布情况。Decode:对每个数据包进行解码,能够看到整个包的结构及从链路层到应用层的信息,事实上,sniffer的使用中大部分的时间都花费在这上面的分析,同时也对使用者在网络的理论及实践经验上提出较高的需要。素质较高的使用者借此工具便可看穿网络问题的结症所在。Sniffer网络协议分析软件本章结束第2章网络安全程序设计基础学习的必要性1、网络安全中存在着“攻”与“防”两种相互矛盾而又相互依存的技术,“攻”与“防”并不只是简单的使用他人提供好的现成工具就可以了,还应该深入了解其中的原理,不但“知其然”,还要“知其所以然”。2、只有我们了解网络安全攻击与防范的一些基本原理以及相应的程序实现之后,我们才能更进一步加深对相关知识的理解与掌握程度,也才能更进一步地增强我们防范网络攻击和动手解决实际网络安全问题的能力。Windows程序的工作机制消息机制是Windows应用程序的核心,Windows是一个以消息为导向的系统1.Windows消息的分类(1)标准的Windows消息除了WM_COMMAND消息,所有以WM_为前缀的消息都是标准的Windows消息
①键盘消息,举例:WM_KEYDOWN②鼠标消息,举例:WM_MOUSEMOVE(2)控件消息:控件和子窗口向父窗口发出WM_COMMAND消息(3)命令消息:操作菜单项、工具栏按钮、快捷键等用户界面对象发出的WM_COMMAND消息。Windows消息循环Windows程序的进行依靠外部事件来驱动,也就是说,程序不断等待(利用一个while循环),等待任何可能的输入,然后做判断,然后再做适当的处理。每一个Windows程序都应该有一个如下的循环:MSGmsg;while(GetMessage(&msg,NULL,NULL,NULL))
{//从消息队列中取得消息
TranslateMessage(&msg);
//检索并生成字符消息WM_CHAR
DispatchMessage(&msg);
//将消息发送给相应的窗口函数
}消息,也就是上面的MSG结构,其实就是Windows内部的一种定义好的数据结构:TypedefstructtagMSG{HWNDhwnd;UINTmessage;WPARAMwParam;LPARAMlParam;DWORDtime;POINTpt;}WindowsSDK程序开发SDK是SoftwareDevelopmentKit的缩写,中文意思是“软件开发工具包”。WindowsSDK包含了开发该Windows版本所需的Windows函数和常数定义、API函数说明文档、相关工具和示例。用VC++编写Windows程序有两种方式:WindowsC方式(SDK)和C++方式(对SDK函数进行包装,如VC++中的MFC(MicrosoftFoundationClass)),SDK编程就是直接用WindowsAPI进行编程。API由上千个API函数组成,而MFC是API的封装,结合面向对象的继承、多态组成一个个类,共有一百多个类组成。几个概念API,也就是ApplicationProgrammingInterface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。DLL,即DynamicLinkLibrary(动态链接库)。其实Windows的三大模块就是以DLL的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了API函数的执行代码。为了使用API函数,我们就要有跟API所对应的.H和.LIB文件,而SDK正是提供了一整套开发Windows应用程序所需的相关文件、范例和工具的“工具包”WindowsSDK程序的开发流程简单的Windows程序示例一个Win32应用程序框架主要由初始化窗口类、窗口注册类、窗口的创建以及窗口消息函数等组成。结合教材分析:程序范例2-1:简单的Win32窗口程序Socket通信程序设计套接字(Socket)起初来源于UNIX,是加利福尼亚大学Berkeley分校开发的UNIX操作系统下的网络通信接口。90年代初期,由SunMicrosystems、Microsoft等几家公司联合制定了一套Windows下套接字编程的规范,称为WindowsSockets规范。常用winsock函数(1)WSAStartup()功能:Winsock.DLL模块初始化函数。(2)socket()功能:建立Socket。(3)bind()功能:指定
Socket的本地地址
(LocalAddress)。(4)listen()功能:设定Socket为监听状态,准备接受连接请求。常用winsock函数(5)connect()功能:Client向Server正式发出连接请求。(6)accept()功能:接受某Client的连接要求,以完成StreamSocket的连接。(7)closesocket()功能:关闭Socket。(8)WSACleanup()功能:结束WindowsSocketsDLL的使用。(9)send()功能:使用已连接(connected)的Socket发送数据。(10)recv()功能:从Socket接收数据。winsock编程步骤
服务器端:(1)创建服务器套接字(socket)。(2)服务器套接字进行信息绑定(bind),并开始监听连接(listen)。(3)接受来自用户端的连接请求(accept)。(4)开始数据传输(send/receive)。(5)关闭套接字(closesocket)。客户端:(1)创建用户套接字(socket)。(2)与远程服务器进行连接(connect),如被接受则创建接收进程。(3)开始数据传输(send/receive)。(4)关闭套接字(closesocket)。网络安全程序设计
2.3.1注册表操作1.注册表概述注册表到底是什么东西?Windows的注册表包含了Windows的系统配置、计算机机的硬件配置、Win32应用程序和用户的其他设置信息。在程序中使用注册表,不外乎创建、打开、读取、设置、删除这五个常规操作。注册表操作常用函数(1)RegCreateKeyEx。功能:通过RegCreateKeyEx函数可以在注册表中创建键,如果需要创建的键已经存在了,则打开键。(2)RegOpenKeyEx。功能:RegOpenKeyEx函数可以打开一个指定的键。(3)RegQueryValueEx。功能:通过RegQueryValueEx函数可以从一个已经打开的键中读取数据。(4)RegSetValueEx。功能:RegSetValueEx函数可以设置注册表中键的值。(5)RegDeketeKey。功能:函数RegDeketeKey删除一个键及所有的子键。注册表操作范例在VisualC++6.0中新建一基于对话框的工程,设置了两个命令按钮,名为“查询注册表”和“修改注册表”,用来查询和修改注册表中书名和作者名称。假定书和作者的信息位于系统注册表中\\HKEY_LOCAL_MACHINE\\Software\\UESTC\\NETWORK\\的位置,键值名BookName和BookAuthor分别表示书籍的名称和书籍的作者。具体程序代码参加教材:程序范例2-2:注册表查询进程隐藏技术三个相关的概念:进程,线程和服务。进程:一个正常的Windows应用程序,在运行之后,都会在系统之中产生一个进程,进程是资源分配的基本单位;同时,每个进程,分别对应了一个不同的PID(ProgressID,进程标识符)这个进程会被系统分配一个虚拟的内存空间地址段,一切相关的程序操作,都会在这个虚拟的空间中进行。线程:一个进程可以包含一个或多个线程,线程是CPU调度分配的基本单位,线程之间同步执行多种操作,一般地,线程之间是相互独立的,当一个线程发生错误的时候,并不一定会导致整个进程的崩溃。服务:一个进程当以服务的方式工作的时候,它将会在后台工作,不会出现在任务列表中,但是,在WindowsNT/2000下,你仍然可以通过服务管理器检查任何的服务程序是否被启动运行。进程隐藏技术的一个典型应用就是特洛伊木马,特洛伊木马实际上是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。一般情况下,Windows下的木马程序,服务器端没有进程,没有端口,开机自动运行,可以接收客户端发来的文件并执行文件,只有不被发现的木马才具有实质的意义。关于特洛伊木马的详细介绍,请教材第4章,本部分将重点从程序设计的角度来讨论一下木马程序如何隐藏进程的问题。想要隐藏木马的服务器端,可以伪隐藏,也可以是真隐藏。伪隐藏,就是指程序的进程仍然存在,只不过是让他消失在进程列表里。真隐藏则是让程序彻底的消失,不以一个进程或者服务的方式工作。进程伪隐藏技术伪隐藏的方法,是比较容易实现的,只要把木马服务器端的程序注册为一个服务就可以了,这样,程序就会从任务列表中消失了,因为系统不认为他是一个进程,当按下Ctrl+Alt+Delete的时候,也就看不到这个程序。程序范例2-4:进程隐藏技术:伪隐藏
WINAPIWinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
try
{
DWORDdwVersion=GetVersion();//取得Windows的版本号
if(dwVersion>=0x80000000)//Windows9x隐藏任务列表
{
int(CALLBACK*rsp)(DWORD,DWORD);
HINSTANCEdll=LoadLibrary("KERNEL32.DLL");//装入KERNEL32.DLLrsp=(int(CALLBACK*)(DWORD,DWORD))GetProcAddress(dll,"RegisterServiceProcess");//找到RegisterServiceProcess的入口
rsp(NULL,1);//注册服务
FreeLibrary(dll);//释放DLL模块
}
}
catch(Exception&exception)//处理异常事件
{
//处理异常事件
}
return0;
}
进程真隐藏技术我们可以不把木马做成一个应用进程,而把他做成一个线程,一个其他应用程序的线程,把自身注入其他应用程序的地址空间。而这个应用程序对于操作系统系统来说,被认为是一个绝对安全的程序。这样,就达到了进程彻底隐藏的效果,这样的结果,将导致了查杀黑客程序难度大大增加。因此,把木马程序作为其他安全进程中的一个线程运行,这样在Windows任务管理器的进程中就看不到了。最简单易用的方法就是把木马程序放在一个dll(动态链接库)中,另有一个程序负责将这个dll注入到其他进程,比如Explorer.exe进程中。负责注入dll的程序先用VirtualAllocEx(hRemoteProcess,...)在目标进程中分配一块儿内存,用WriteProcessMemory向该内存中写入要注入的dll的路径和名称,然后利用CreateRemoteThread在目标进程中创建一个线程,这个线程执行LoadLibraryW,并以刚才分配的那块内存中的dll的路径和名称为参数。这样就使dll载入了目标进程的地址空间,dll的载入将执行dll。进程隐藏范例下面给出一个说明这种隐藏方法的程序,程序分为两部分,负责注入的叫NoProcessExe.exe,被注入的dll叫做NoProcessDll.dll。NoProcessExe.exe负责把NoProcessDll.dll注入到Explorer.exe进程中,NoProcessDll.dll中的程序首先获得所在进程的Pid(进程标识符),然后用MessageBox打印出来,以证明它是在Explorer.exe进程中运行的。注意一下NoProcessDll.dll,NoProcessExe.exe要放在同一目录下,下面给出核心代码:程序范例2-5:进程隐藏技术:真隐藏端口扫描一个端口就是一个潜在的通信通道,也就是一个入侵通道,对目标计算机进行端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。端口扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。端口扫描器工作原理如下:扫描器通过选择远程主机TCP/IP不同的端口的服务,并记录目标主机给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息需要注意的是,扫描器并非一个直接的攻击网络漏洞的程序,它仅仅能帮助我们发现目标主机的某些内在的弱点。一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞,但它一般不会提供入侵一个系统的详细步骤。扫描器应该有三项功能:(1)发现一个主机或网络的能力;(2)一旦发现一台主机,有发现什么服务正运行在这台主机上的能力;(3)通过测试这些服务,发现漏洞的能力。编写扫描器程序需要我们前面学过的Socket通信编程的知识,下面给出一个较为简单的单线程扫描器程序的C语言源码,通过这个例子的学习,可以帮助我们进一步加深对Socket通信编程的理解。程序范例2-7:单线程端口扫描器程序网页病毒网页病毒(又称网页恶意代码)是利用网页来进行破坏的病毒,它使用一些脚本(Script)语言编写的一些恶意代码利用浏览器的漏洞来实现病毒植入。当用户登录某些含有网页病毒的网站时,网页病毒便被悄悄激活,这些病毒一旦激活,可以利用系统的一些资源进行破坏。WSH,是“WindowsScriptingHost”的缩略形式,其通用的中文译名为“Windows脚本宿主”。实际上,网页恶意代码的技术基础就是WSH,通过用户双击执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行。恶意的脚本语言经常会被植入网页之中(其中包括Html页面客户端和ASP等页面服务器端)。对于植入Html页面的脚本,其所需要的解析引擎会由IE这样的网页浏览器载入;对于植入ASP服务器端的脚本,其所需要的引擎由WEB服务器(如IIS)提供。而对于出现在HTML和ASP页面之外的脚本(它们常常以独立的文件形式存在),就需要由WSH来处理,WSH在工作时会调用IE中的VBScript和JavaScript解析引擎。就这样,当浏览了含有恶意脚本代码的网页时,脚本就会被WSH解释执行,攻击者就达到了攻击的目的。用户受了攻击之后有什么现象?(1)更改IE标题。(2)更改默认主页。(3)连续打开无数个窗口。(4)使浏览器崩溃。(5)永无休止的单击,迫使IE关闭。(6)消耗内存。(7)使IE拒绝服务。(8)共享你的硬盘。(9)开机弹出一个窗口。(10)修改注册表。(11)禁止运行注册表编辑器。程序范例2-8:打开多个IE窗口程序范例2-9:无休止的对话框程序范例2-10:修改注册表网络监听与数据包过滤网络监听(也被称之为网络嗅探)与包过滤技术是网络入侵的核心技术之一,也是网络安全协议技术研究的核心技术之一。网络监听和过滤也成了黑客使用最多的技术,主要用于监视他人的网络状态、攻击网络协议、窃取敏感信息等目的。最简单的监听程序包括内核部分和用户分析部分,其中内核部分负责从网络中捕获和过滤数据,用户分析部分负责界面、数据转化与处理、格式化、协议分析,如果在内核没有过滤数据包,在这里还要对数据进行过滤。一个较为完整的基于网络监听和过滤的程序一般包括以下步骤:数据包捕获、数据包过滤与分解、数据分析。winpcap概述Winpcap(Windowspacketcapture)是Windows平台下一个免费、公共的网络访问系统。开发Winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。Winpcap提供了以下的各项功能:(1)捕获原始数据包,包括在共享网络上各主机发送/接收的数据包以及相互之间交换的数据包。(2)在数据包发往应用程序之前,按照自定义的规则将某些特殊的数据包过滤掉。(3)在网络上发送原始的数据包。(4)收集网络通信过程中的统计信息。Winpcap函数(1)intpcap_findalldevs(pcap_if_t**,char*)
功能:用来获得网卡的列表。(2)voidpcap_freealldevs(pcap_if_t*)功能:与intpcap_findalldevs(pcap_if_t**,char*)配套使用,当不再需要网卡列表时,用此函数free释放空间。(3)pcap_t*pcap_open_live(constchar*device,intsnaplen,intpromisc,intto_ms,charebuf*)功能:被用来得到一个包抓取得描述符。(4)intpcap_loop(pcap_t*p,intcnt,pcap_handlercallback,u_char*user)功能:捕获数据包,而不会响应pcap_open_live()中设置的超时时间。(5)intpcap_dispatch(pcap_t*p,intcnt,pcap_handler,u_char*user)功能:捕获数据包,但可以不被阻塞。(6)intpcap_next_ex(pcap_t*p,structpcap_pkthdr**pkt_header,u_char**pkt_data)功能:捕获数据包,与pcap_dispatch()和pcap_loop()很相似。pcap_next_ex()允许直接调用来接收包,它的参数和pcap_loop()相同:有一个网卡描述符和两个指针,这两个指针会被初始化并返回给用户,一个是pcap_pkthdr结构,另一个是接收数据的缓冲区。(7)intpcap_setfilter(pcap_t*p,structbpf_program*fp)
功能:pcap_setfilter()用来联系一个在内核驱动上过滤的过滤器,这时所有网络数据包都将流经过滤器,并拷贝到应用程序中.(8)intpcap_sendpacket(pcap_t*p,u_char*buf,intsize)功能:人为主动发送一个数据包。这个函数需要的参数:一个装有要发送数据的缓冲区,要发送的长度,一个适配器。注意缓冲区中的数据将不被内核协议处理,只是作为最原始的数据流被发送,所以我门必须填充好正确的协议头以便正确的将数据发送。(9)pcap_send_queue*pcap_sendqueue_alloc(u_intmemsize);功能:给数据包队列分配空间。(10)intpcap_sendqueue_queue(pcap_send_queue*queue,conststructpcap_pkthdr*pkt_header,constu_char*pkt_data)功能:填充准备发送的数据队列。(11)u_intpcap_sendqueue_transmit(pcap_t*p,pcap_send_queue*queue,intsync)功能:发送队列中的数据。(12)voidpcap_sendqueue_destroy(pcap_send_queue*queue);说明:释放队列。Winpcap应用举例基于Winpcap库的基本使用流程比较规范,一般为:第一步:使用pcap_lookupdev获取设备。第二步:使用pcap_lookupnet获取网络地址和子网掩码。第三步:使用pcap_open_live打开设备。第四步:使用pcap_complile编译过滤规则。第五步:使用pcap_setfilter设置过滤规则。第六步:使用pcap_loop循环捕获数据包,在其中调用相应处理函数。第七步:使用pcap_close关闭设备句柄。程序范例2-11:数据包捕获程序范例2-12:发送数据包本章结束第3章
信息加密原理与技术密码学的基本概念。介绍加密领域中两种主流的加密技术:DES加密(DataEncryptionStandard)RSA加密(Rivest-Shamir-Adleman)并用程序实现这两种加密技术的算法。最后介绍目前常用的加密工具PGP(PrettyGoodPrivacy),使用PGP产生密钥,加密文件和邮件。本章学习要点计算机密码学是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交叉学科,也是一门新兴的学科。随着计算机网络和计算机通讯技术的发展,计算机密码学得到前所未有的重视并迅速普及和发展起来。在国内外,它已成为计算机安全主要的研究方向。密码学概述密码学主要研究通信保密,主要用于计算机及其保密通信,它的基本思想就是伪装信息,使未授权者不能理解它的含义。密码学的基本概念明文加密加密密钥
密文不安全媒介密文传输信道监听/窃听密文解密明文解密密钥伪装前的原始信息称为明文(Plaintext),伪装后信息称为密文(cippertext)、伪装的过程称为加密(Encryption),加密要在加密密钥(Kcy)的控制下进行,用于对信息进行加密的一组数学变换称为加密算法。发信者将明文数据加密成密文,然后将密文数据送入计算机网络或存入计算机文件。授权的接收者收到密文数据之后、进行与加密相逆的变换,去掉密文的伪装,恢复明文,这个过程称为解密(Decryption)。加密解密过程以最简单的凯撒密码为例,如果用数字0、1、2、24、25分别表示字母A、B、C、…、Y、Z相对应。则密文字母σ可以用明文字母φ表示如下:σ=φ+3(mod26)(式2-1)例如,明文字母为Y,即φ=24时,σ=1。(σ=24+3=27mod26=1),因此,密文字母为B。凯撒密码任何—个加密系统,无论形式多么复杂,都至少应包含以下5个部分:(1)明文空间M,是待加密的全体报文的集合。(2)密文空间C,是加密后全体报文的集合。(3)密钥空间K,是全体密钥的集合,可以是数字、字符、单词或语句。其中,每一个密钥,Ki均由加密密钥Ke和解密密钥组成Kd,即Ki=(Ke,Kd)。(4)加密算法E,是—组由M到C的加密变换。(5)解密算法D,是一组由C到M的解密变换。加密系统组成如果一个密码体制的Ke=Kd,即加密密钥能够从解密密钥中推算出来,反过来也成立、我们称之为对称密钥密码算法(SymmetricEncryptionAlgorithms)。对称密钥密码算法也可称为对称算法或传统算法,包括换位加密、代替加密、乘积加密和综合加密等。在大多数对称密钥密码算法中,加密密钥和解密密钥是相同的。对称密钥算法
对称密钥算法对称密钥密码算法的加密和解密表示为:E(M,K)=CD(C,K)=M对称加密算法的特征:(1)通常计算速度非常快。(2)基于简单的数学计算,所以可以通过硬件加速。(3)密钥管理比较麻烦。(4)通常用来做整段数据加密,块加密(blockciphers),流加密(streamciphers),消息完整性验证(messageauthenticationcodes)。对称密钥算法如果密码体制的Ke≠Kd,即用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内),我们称之为公钥算法(AsymmetricEncryptionAlgorithms)。公钥算法用公开密钥Ke加密表示为:E(M,Ke)=C用相应私人密钥Kd解密可表示为:D(C、Kd)=M有时消息用私人密钥加密而用公开密钥解密,这用于数字签名。加密算法的特性:(1)相对于对称加密算法,速度比较慢。(2)基于硬件计算,密钥管理简单。(3)通常用做少量数据的加密(如数字签名,对称加密算法的密钥交换)。公钥算法IBM公司从20世纪60年代末即看到通信网对于加密标准算法的需求,因而投入了相当的研究力量进行开发,成立了以Tuchman博士为领导,包括.A.Konkeim、E.Grossman、N.Coppersmith和L.Simth等人(后二人做实现工作)的研究新密码体制小组,由H.Fistel进行设计,并在1971年完成的LUCIFFER密码(64bit分组,代换一置换,128bit密钥)的基础上,改进成为建议的DES体制。NSA组织有关专家对IBM的算法进行了鉴定,而成为DES的基础。DES对称加密技术1975年3月17日,NBS公布了这种算法,并说明要以它作为联邦信息处理标准,征求各方意见。1977年1月15日,建议被批准为联邦标准[FIPSPUB46],并设计推出DES芯片。DES开始在银行、金融界广泛应用。1981年美国ANSI将其作为标准,称之为DEA[ANSIX3.92]。1983年国际标准化组织(ISO)采用它作为标准,称做DEA-1。DES对称加密技术虽然DES不会长期地作为数据加密标准算法,但它仍是迄今为止得到最广泛应用的一种算法,也是一种最有代表性的分组加密体制。因此,详细地研究这一算法的基本原理、设计思想、安全性分析,以及实际应用中的有关问题,对于掌握分组密码理论和当前的实际应用都是很有意义的。DES对称加密技术DES算法正式公开发表以后,引起了一场激烈的争论。1977年Diffie和Hellman提出了制造一个每秒能测试106个密钥的大规模芯片,这种芯片的机器大约一天就可以搜索DES算法的整个密钥空间,制造这样的机器需要两千万美元。1993年,R.Session和M.Wiener给出了一个非常详细的密钥搜索机器的设计方案,它基于并行的密钥搜索芯片,此芯片每秒测试5Χ107个密钥,当时这种芯片的造价是10.5美元,5760个这样的芯片组成的系统需要10万美元,这一系统平均1.5天即可找到密钥,如果利用10个这样的系统,费用是100万美元,但搜索时间可以降到2.5小时。可见这种机制是不安全的。DES算法的安全性世界在Internet面前变得不安全起来了。Internet仅仅应用了闲散的资源,毫无代价地破解了DES的密码,这是对密码方法的挑战,也是Internet超级计算能力的显示。尽管DES有这样那样的不足,但是作为第一个公开密码算法的密码体制成功地完成了它的使命,它在密码学发展历史上具有重要的地位。DES算法的安全性DES是一种对二元数据进行加密的算法,数据分组长度为64bit(8byte),密文分组长度也是64Bit,没有数据扩展。密钥长度为64Bit,其中有8bit奇偶校验,有效密钥长度为56bit。DES的整个体制是公开的,系统的安全性全靠密钥的保密实现。算法的构成框图如图3-4所示。算法主要包括初始置换P、16轮迭代的乘积交换、逆初始置换IP-1及16个子密钥产生器。DES算法步骤1、初始置换IP
初始置换IP可将64bit明文的位置进行置换,得到一个乱序的64bit明文组,而后分成左右两段,每段为32bit,以L0和R0表示,如图3-5所示。由图3-5可知,IP中各列元素位置号数相差为8,相当于将原明文各字节按列写出,各列比特经过偶采样和奇采样置换后,再对各行进行逆序。将阵中元素按行读出构成置换输出。DES算法步骤2、逆初始置换IP-1
将16轮迭代后给出的64bit组进行置换,得到输出的密文组,如图3-6所示。输出为阵中元素按行读得的结果。IP和IP-1在密码意义上作用不大,因为输入组x与其输出组y=IP(x)(或IP-l(x))是已知的一一对应关系。它们的作用在于打乱原来输入x的ASCII码字划分的关系,并将原来明文的校验位x8,x16…,x64变成为IP输出的一个字节。DES算法步骤3、乘积变换将经过IP置换后的数据分成32bit的左右两组,在迭代过程中彼此左右交换位置。每次迭代时只对右边的32bit进行一系列的加密变换,在此轮迭代即将结束时,把左边的32bit与右边得到的32bit逐位模2相加,作为下一轮迭代时右边的段,并将原来右边未经变换的段直接送到左边的寄存器中作为下一轮迭代时左边的段。在每一轮迭代时,右边的段要经过选择扩展运算E、密钥加密运算、选择压缩运算S、置换运算P和左右混合运算。DES算法步骤4、选择扩展运算选择扩展运算下可将输入的32bitRi-1扩展成48bit的输出,其变换表如图3-8所示。令s表示E原输入数据比特的原下标,则E的输出是将原下标s≡0或1(mod4)的各比特重复一次得到的,即对原第32,1,4,5,8,9,12,13,16,17,20,21,24,25,28,29各位都重复一次,实现数据扩展。将变换表中数据按行读出得到48bit输出。DES算法步骤5、密钥加密运算密钥加密运算可将子密钥产生器输出的48bit子密钥ki与选择扩展运算E输出的48bit数据按位模2相加。6、选择压缩运算选择压缩运算可将前面送来的48bit数据从左至右分成8组,每组为6bit。而后并行送入8个S盒,每个S盒为一非线性代换网络,有4个输出。DES算法步骤7、置换运算P置换运算可对S1-S8盒输出的32bit数据进行坐标置换,置换P输出的32bit数据与左边32bit即Ri-1逐位模2相加,所得到的32bit作为下一轮迭代用的右边的数字段,并将Ri-1并行送到左边的寄存器,作为下一轮迭代用的左边的数字段。DES算法步骤8、子密钥产生器子密钥产生器可将64bit初始密钥经过置换选择PC1、循环移位置换、置换选择PC2给出每次迭代加密用的子密钥岛。在64bit初始密钥中有8位为校验位,其位置序号为8,16,32,48,56和64,其余56位为有效位,用于子密钥计算。1977年,由Rivest、Shamir、Adleman三人提出了第一个比较完善的公钥密码算法,这就是著名的RSA算法。RSA算法的理论基础是一种特殊的可逆模指数运算,它的安全性是基于分解大整数n的困难性。RSA公钥加密算法1.算法描述RSA体制可以简单描述如下:(1)、生成两个大素数p和q。(2)、计算这两个素数的乘积n=p×q。(3)、计算小于n并且与n互质的整数的个数,即欧拉函数φ(n)=(p-1)(q-1)。(4)、选择一个随机数b满足1<b<φ(n),并且b和φ(n)互质,即gcd(b,φ(n))=1。(5)、计算ab=1modφ(n)。(6)、保密a,p和q,公开n和b。RSA公钥加密算法2.实现步骤步骤如下:(1)首先,设n是2个不同的、较大的奇素数P和q之乘积,即:n=pq,P=C=Zn,Φ(n)=(p-1)(q-1),其中,P和C分别表示明文空间和密文空间。(2)然后,定义密钥空间K为:K={(n,e,d)|ed≡1(modΦ(n))},对于每一个密钥K=(n,e,d),定义加密变换为:Ek(x)=xemodn;解密变换为:Dk(y)=ydmodn。公开n和e,保密P、q和d。RSA公钥加密算法3.举例说明(1)选取两个质数:P=47,q=71(2)计算:n=pq=3337Φ(n)=(47-1)(71-1)=3220(3)e必须与Φ(n)互质,选取e=79。(4)计算:ed=lmodΦ(n)=1mod(3220)d=1019将e、n公布,d保密,p、q销毁。RSA公钥加密算法目前已有多家公司制造出了RSA加密芯片,如:AT&T、AlpherTechn、CNET、Cryptech、英国电信等。硬件实现RSA比DES慢大约1000倍,最快的实现512bit模数的芯片可达1Mbps。在智能卡中已大量实现RSA,这些实现都比较慢。软件实现时,RSA大约比DES慢100倍,这些情况随着技术发展可能有所改观,但RSA的速度永远不会达到对称算法的加密速度。RSA的速度及安全性1、公开钥匙的分发问题需要解决。、2、RSA算法的安全性基于数论中大数分解的难度。但随着分解算法不断改进和计算能力的不断增强,模数小的算法越来越不安全。110位十进制数早已能分解。RSA的速度及安全性PGP(PrettyGoodPrivacy)加密技术的创始人是美国的PhilZimmermann。他创造性地把RSA公钥体系和传统加密体系结合起来,因此PGP成为目前几乎最流行的公钥加密软件包。由于RSA算法计算量极大,在速度上不适合加密大量数据,所以PGP实际上用来加密的是采用传统加密算法IDEA,IDEA加解密的速度比RSA要快得多。PGP随机生成一个密钥,用IDEA算法对明文加密,然后用RSA算法对密钥加密。收件人同样是用RSA解出随机密钥,再用IDEA解出原文。这样的链式加密既有RSA算法的保密性和认证性(Authentication),又保持了IDEA算法速度快的优势。PGP加密技术
1.PGP的安装PGP的安装很简单,和普通软件安装一样,只须按提示一步步操作完成即可。在安装过程中,可以选择要安装的选件,如果选择了PGPmailforMicrosoftOutlookExpress或者PGPmailforMicrosoftOutlook,就可以在OutlookExpress或Outlook中直接用PGP加密邮件的内容PGP加密技术
PGP加密技术2.PGP密钥对的生成使用PGP之前,首先需要生成一对密钥(公钥和私钥),公钥分发给朋友或者在服务器上公开发布,让他们用这个密钥来加密文件,另一个称为私钥,这个密钥由你自己保存,用它来解开加密文件。打开“开始”菜单中PGP的子菜单PGPkeys,可看到如图3-15所示的界面。PGP加密技术PGP加密技术3.发布和导入公钥发布指的是把自己的公钥分发给他人,有两种方式,一种是导出为文字文件,通过安全渠道发送到对方;一种是发布到公开服务器上。从安全的角度来说,个人的PGP公钥最好是透过安全的管道传送给自己的亲朋好友,让对方用来加密文件传给自己,当然也可以把自己的公钥发布到服务器上,开放给任何人下载,但是,这种公开的方式隐含了安全问题,因为可能会有人假造他人的公钥传送到KeyServer上,从而截取他人的私密信息。PGP加密技术PGP加密技术4、使用PGP加密文件使用PGP可以加密本地文件,用鼠标右键单击要加密的文件,选择“PGP"菜单项中的Encrypt”选项,系统自动出现对话框,让用户选择要使用的加密密钥,选中一个密钥,单击“OK"按钮。目标文件被加密,在当前目录下自动产生一个新的文件。打开加密后的文件时,程序自动要求输入密码,输入建立该密钥时的密码。PGP加密技术PGP加密技术PGP加密技术单向散列函数,也叫压缩函数、收缩函数、哈希函数,它是现代密码学的中心,是许多协议的另一个结构模块。散列函数长期以来一直在计算机科学中使用,散列函数是把可变长度的输入串(预映射)转换成固定长度的输出串(散列值)的一种函数。单向散列函数单向散列函数是在一个方向上工作的散列函数,即从预映射的值很容易计算出散列值,但要从一个特定的散列值得出预映射的值则非常难。单向散列函数利用散列函数的这些特性,可以为消息生成完整性验证码(MIC)或称消息的指纹。单向散列函数的使用为实现数据的完整性验证提供了非常有效的方法。单向散列函数是公开的,对处理过程不用保密,其安全性来自于它的单向性。单向散列函数的输出不依赖于输入,输入串的变化很小,但输出串的变化可能很大。一般来说,如果输入串中的一位发生变化,就能导致输出串中一半以上的位发生变化。单向散列函数单向散列函数的应用散列函数主要可以解决以下两个问题:在某一特定的时间内,无法查找经散列函数操作后生成特定散列函数值的原报文;也无法查找两个经散列函数操作后生成相同哈希值的不同报文。这样,在数字签名中就可以解决验证签名和用户身份验证、不可抵赖性的问题。单向散列函数(1)Alice写一条消息,并且把该消息经过哈希运算得到指纹信息(消息摘要)。(2)Alice将原始消息和指纹信息一同发送给Bob。(3)Bob收到消息后,将消息和指纹信息分开,并且将消息再次经过哈希运算,然后把结果同收到的指纹信息进行比较。(4)如果比较结果相同,那么可以确信消息是未被篡改过的。单向散列函数1数字签名所谓“数字签名”就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。数字签名与数字信封数字签名必须保证以下3点,假定A发送一个签了名的信息M给B,则A的数字签名应该满足下述条件:(1)B能够证实A对信息M的签名;(2)任何人,包括B在内,都不能伪造A的签名;(3)如果A否认对信息M的签名,可以通过仲裁解决A和B之间的争议。数字签名与数字信封数字签名具有通常签名的特点。数字签名实际上是附加在数据单元上的一些数据或是对数据单元所作的密码变换,这种数据或变换能使数据单元的接收者确认数据单元的来源和数据的完整性,并保护数据,防止被人(如接收者)伪造。数字签名与数字信封如果文件被改动,或者有人在没有私有密钥的情况下冒充签字,都将使数字签名的鉴定过程失败。其基本协议过程如下:(1)Alice用其私钥对文件加密,从而对文件签名;(2)Alice将签名后的文件传给Bob;(3)Bob用Alice的公钥解密文件,从而验证签名。数字签名与数字信封在实际过程中,这种做法的准备效率太低了。为节省时间,数字签名协议常常与单向哈希函数一起使用。Allce并不对整个文件签名,而是只对文件的哈希值签名。在下面的协议中,单向哈希函数和数字签名算法是事先协商好的,过程如下:(1)Alice产生文件的单向哈希值;(2)Alice用她的私人密钥对哈希加密,以此表示对文件的签名;(3)Alice将文件和哈希签名送给Bob;(4)Bob用Alice发送的文件产生文件的单向哈希值,同时用Alice的公钥对签名的哈希解密;如果签名的哈希值与自己产生的哈希值匹配,签名是有效的。数字签名与数字信封2数字信封所谓数字信封,就是信息发送端用接收端的公钥,将一个通信密钥(SymmentricKey,简称SK),即对称密钥给予加密,形成一个数字信封(DE),然后传送给接收端。只有指定的接收方才能用自己的私钥打开数字信封,获取该对称密钥(SK),用它来解读传送来的信息。数字签名与数字信封其工作过程如下:(1)将要传输的信息经密码杂凑函数运算后,得到一个杂凑值MD,MD=Hash(信息)。(2)发送者A用自己的私钥PVA对杂凑值MD进行加密,得到A的数字签名。(3)发送者A将信息明文、数字签名和他的证书上的公钥3项信息,通过对称算法,用对称密钥SK进行加密,得到密文E。(4)发送者A在发送信息之前,必须事先得到接收方B的证书公钥PBB,用PBB加密密钥SK,形成一个数字信封DE。(5)E+DE就是将密文与数字信封连接起来,即A所发送的内容。数字签名与数字信封(6)接收者B用自己的私钥PVB解开所收到的数字信封DE,并从中取出A所用过的对称密钥SK。(7)接收者B用SK将密文E解密还原成原信息明文、数字签名和A的证书公钥。(8)B将数字签名用A证书中的公钥PBA进行解密,将数字签名还原成杂凑值MD。(9)B再对已收到的信息明文,用同样的密码杂凑函数算法进行杂凑运算,得到一个新的杂凑值MD。(10)对数字签名进行校验,比较收到已还原的MD和新产生的MD是否相等,二者必须相等无误,否则不接收这个数据信息。数字签名与数字信封数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构CA机构,又称为证书授权(CertificateAuthority)中心发行的.数字证书数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。数字证书2数字证书的应用从证书的用途来看,数字证书可分为签名证书和加密证书。签名证书主要用于对用户信息进行签名,以保证信息的真实性和不可否认性;加密证书主要用于对用户传送信息进行加密,以保证信息的保密性和完整性。数字证书数字证书可以应用于公众网络上的商务活动和行政作业活动,包括支付型和非支付型电子商务活动,其应用范围涉及需要身份认证及数据安全的各个行业,包括传统的商业、制造业、流通业的网上交易,以及公共事业、金融服务业、工商税务海关、政府行政办公、教育科研单位、保险、医疗等网上作业系统。数字证书3数字证书的格式目前的数字证书类型主要包括:个人身份证书、企业或机构身份证书、支付网关证书、服务器证书、企业或机构代码签名证书、安全电子邮件证书、个人代码签名证书。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUTX.509国际标准。数字证书数字证书1、什么是PKI?
PKI就是PublicKeyInfrastructure的缩写,翻译过来就是公开密钥基础设施。它是利用公开密钥技术所构建的,解决网络安全问题的,普遍适用的一种基础设施。美国政府的一个报告中把PKI定义为全面解决安全问题的基础结构,从而大大扩展了PKI的概念。说PKI是基础设施,就意味着它对信息网络的重要。公钥基础设施PKI2、PKI的服务
PKI通过延伸到用户本地的接口,为各种应用提供安全的服务,如认证、身份识别、数字签名、加密等。有了PKI,安全应用程序的开发者不用再关心那些复杂的数学运算和模型,而直接按照标准使用一种插座(接口)。用户也不用关心如何进行对方的身份鉴别而可以直接使用标准的插座,正如在电力基础设施上使用电吹风一样。用户可利用PKI平台提供的服务进行安全的电子交易、通信和互联网上的各种活动。公钥基础设施PKI3、PKI的组成
PKI中最基本的元素就是数字证书。所有安全的操作主要通过证书来实现。PKI的硬设备还包括签置这些证书的证书机构(CA),登记和批准证书签置的登记机构(RA),以及存储和发布这些证书的电子目录。PKI中还包括证书策略,证书路径以及证书的使用者。所有这些都是PKI的基本元素。许多这样的基本元素有机地结合在一起就构成了PKI。公钥基础设施PKI4、部署PKI的意义
PKI是目前唯一的能够基本全面解决安全问题的可能的方案。PKI通过电子证书以及管理这些电子证书的一整套设施,维持网络世界的秩序;通过提供一系列的安全服务,为网络电子商务、电子政务提供有力的安全保障。各国政府和许多民间机构都在纷纷研究和开发PKI产品,以望走在信息安全的前列。公钥基础设施PKI5、PKI的应用
PKI技术的广泛应用能满足人们对网络交易安全保障的需求。当然,作为一种基础设施,PKI的应用范围非常广泛,并且在不断发展之中。(1)虚拟专用网(VPN);(2).安全电子邮件;(3).Web安全;(4).电子商务。公钥基础设施PKI本章结束第4章网络入侵与攻击技术
黑客攻击的基本步骤和主要的攻击方法网络扫描与网络监听技术ARP欺骗、DOS攻击、缓冲区溢出、IP欺骗、DNS欺骗等主要攻击技术在网络中隐藏真实IP地址的网络隐身技术本章学习要点黑客攻击和网络安全的是紧密结合在一起的,研究网络安全不研究黑客攻击技术简直是纸上谈兵,研究攻击技术不研究网络安全就是闭门造车。某种意义上说没有攻击就没有安全,系统管理员可以利用常见的攻击手段对系统进行检测,并对相关的漏洞采取措施。黑客攻击概述网络攻击可分为三个阶段:一是寻找目标,收集信息;二是探测系统安全弱点,获得初始的访问权和特权;三是攻击其他系统。
攻击的范围从简单地使某服务器无效到完全破坏服务器,使网络上成功实施的攻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南郑州轨道工程职业学院招聘辅导员、教师共75名考前自测高频考点模拟试题及完整答案详解1套
- 2025年冀北博望电力产业管理(北京)有限公司高校毕业生招聘(第三批)模拟试卷附答案详解(突破训练)
- 2025春季中材国际校园招聘163人考前自测高频考点模拟试题有答案详解
- 2025年融资租赁合同特征与范本解析
- 2025湖南岳阳临湘市城东粮食收储有限公司招聘考前自测高频考点模拟试题附答案详解(完整版)
- 初中信息技术考试题库及答案app
- 项目统计考试题库及答案
- 品质工具考试题库及答案
- 泰安高压电工考试题库及答案
- 中专口腔考试题库及答案
- 《水利水电建设工程验收规程》-SL223-2008
- AIOT智能物联产业学院建设方案
- 行政管理专业教学实施细则
- 闭合性颅脑损伤重型个案护理
- 紫金矿业员工工作手册
- FZ-T 01158-2022 纺织品 织物刺痒感的测定 振动音频分析法
- 工程部造价管控手册
- 2024公安联考行测题库
- 民政信访业务培训课件
- 行政检查业务培训课件
- 汽车销售三方协议
评论
0/150
提交评论