精华内容
下载资源
问答
  • 网络安全论文--浅析计算机网络安全技术摘要:文中就信息网络安全内涵发生的根本变化,阐述我国发展民族信息安全体系的重要性及建立有中国特色的网络安全体系的必要性。论述了网络防火墙安全技术的分类及其主要技术...

    网络安全论文--浅析计算机网络安全技术摘要:文中就信息网络安全内涵发生的根本变化,阐述我国发展民族信息安全体系的重要性及建立有中国特色的网络安全体系的必要性。论述了网络防火墙安全技术的分类及其主要技术特征。            

      1.概述       

     21世纪全世界的计算机都将通过Internet联到一起,信息安全的内涵也就发生了根本的变化。随着互联网的飞速发展,网络安全逐渐成为一个潜在的巨大问题。网络安全性是一个涉及面很广泛的问题,其中也会涉及到是否构成犯罪行为的问题。它不仅从一般性的防卫变成了一种非常普通的防范,而且还从一种专门的领域变成了无处不在。当人类步入21世纪这一信息社会、网络社会的时候,我国将建立起一套完整的网络安全体系,特别是从政策上和法律上建立起有中国自己特色的网络安全体系。     

       一个国家的信息安全体系实际上包括国家的法规和政策,以及技术与市场的发展平台。我国在构建信息防卫系统时,应着力发展自己独特的安全产品,我国要想真正解决网络安全问题,最终的办法就是通过发展民族的安全产业,带动我国网络安全技术的整体提高。     

       网络安全产品有以下几大特点:  

       第一,网络安全来源于安全策略与技术的多样化,如果采用一种统一的技术和策略也就不安全了;   

     第二,网络的安全机制与技术要不断地变化;第三,随着网络在社会个方面的延伸,进入网络的手段也越来越多,因此,网络安全技术是一个十分复杂的系统工程。为此建立有中国特色的网络安全体系,需要国家政策和法规的支持及集团联合研究开发。安全与反安全就像矛盾的两个方面,总是不断地向上攀升,所以安全产业将来也是一个随着新技术发展而不断发展的产业。    

        信息安全是国家发展所面临的一个重要问题。对于这个问题,我们还没有从系统的规划上去考虑它,从技术上、产业上、政策上来发展它。zhengfu不仅应该看见信息安全的发展是我国高科技产业的一部分,而且应该看到,发展安全产业的政策是信息安全保障系统的一个重要组成部分,甚至应该看到它对我国未来电子化、信息化的发展将起到非常重要的作用。      

     2.防火墙   

        网络防火墙技术是一种用来加强网络之间访问控制,防止外部网络用户以非法手段通过外部网络进入内部网络,访问内部网络资源,保护内部网络操作环境的特殊网络互联设备。它对两个或多个网络之间传输的数据包如链接方式按照一定的安全策略来实施检查,以决定网络之间的通信是否被允许,并监视网络运行状态。 目前的防火墙产品主要有堡垒主机、包过滤路由器、应用层网关(代理服务器)以及电路层网关、屏蔽主机防火墙、双宿主机等类型。    虽然防火墙是目前保护网络免遭黑客袭击的有效手段,但也有明显不足:无法防范通过防火墙以外的其它途径的攻击,不能防止来自内部变节者和不经心的用户们带来的威胁,也不能完全防止传送已感染病毒的软件或文件,以及无法防范数据驱动型的攻击。 

       自从1986年美国Digital公司在Internet上安装了全球第一个商用防火墙系统,提出了防火墙概念后,防火墙技术得到了飞速的发展。国内外已有数十家公司推出了功能各不相同的防火墙产品系列。       防火墙处于5层网络安全体系中的最底层,属于网络层安全技术范畴。在这一层上,企业对安全系统提出的问题是:所有的IP是否都能访问到企业的内部网络系统?如果答案是“是”,则说明企业内部网还没有在网络层采取相应的防范措施。       作为内部网络与外部公共网络之间的第一道屏障,防火墙是最先受到人们重视的网络安全产品之一。虽然从理论上看,防火墙处于网络安全的最底层,负责网络间的安全认证与传输,但随着网络安全技术的整体发展和网络应用的不断变化,现代防火墙技术已经逐步走向网络层之外的其他安全层次,不仅要完成传统防火墙的过滤任务,同时还能为各种网络应用提供相应的安全服务。另外还有多种防火墙产品正朝着数据安全与用户认证、防止病毒与黑客侵入等方向发展。    

       根据防火墙所采用的技术不同,我们可以将它分为四种基本类型:包过滤型、网络地址转换—NAT、代理型和监测型。      

      2.1.包过滤型  

         包过滤型产品是防火墙的初级产品,其技术依据是网络中的分包传输技术。网络上的数据都是以“包”为单位进行传输的,数据被分割成为一定大小的数据包,每一个数据包中都会包含一些特定信息,如数据的源地址、目标地址、TCP/UDP源端口和目标端口等。防火墙通过读取数据包中的地址信息来判断这些“包”是否来自可信任的安全站点 ,一旦发现来自危险站点的数据包,防火墙便会将这些数据拒之门外。系统管理员也可以根据实际情况灵活制订判断规则。  

         包过滤技术的优点是简单实用,实现成本较低,在应用环境比较简单的情况下,能够以较小的代价在一定程度上保证系统的安全。但包过滤技术的缺陷也是明显的。包过滤技术是一种完全基于网络层的安全技术,只能根据数据包的来源、目标和端口等网络信息进行判断,无法识别基于应用层的恶意侵入,如恶意的Java小程序以及电子邮件中附带的病毒。有经验的黑客很容易伪造IP地址,骗过包过滤型防火墙。  

        2.2.网络地址转化—NAT  

         网络地址转换是一种用于把IP地址转换成临时的、外部的、注册的IP地址标准。它允许具有私有IP地址的内部网络访问因特网。它还意味着用户不许要为其网络中每一台机器取得注册的IP地址。       在内部网络通过安全网卡访问外部网络时,将产生一个映射记录。系统将外出的源地址和源端口映射为一个伪装的地址和端口,让这个伪装的地址和端口通过非安全网卡与外部网络连接,这样对外就隐藏了真实的内部网络地址。在外部网络通过非安全网卡访问内部网络时,它并不知道内部网络的连接情况,而只是通过一个开放的IP地址和端口来请求访问。OLM防火墙根据预先定义好的映射规则来判断这个访问是否安全。当符合规则时,防火墙认为访问是安全的,可以接受访问请求,也可以将连接请求映射到不同的内部计算机中。当不符合规则时,防火墙认为该访问是不安全的,不能被接受,防火墙将屏蔽外部的连接请求。网络地址转换的过程对于用户来说是透明的,不需要用户进行设置,用户只要进行常规操作即可。  

         2.3.代理型  

         代理型防火墙也可以被称为代理服务器,它的安全性要高于包过滤型产品,并已经开始向应用层发展。代理服务器位于客户机与服务器之间,完全阻挡了二者间的数据交流。从客户机来看,代理服务器相当于一台真正的服务器;而从服务器来看,代理服务器又是一台真正的客户机。当客户机需要使用服务器上的数据时,首先将数据请求发给代理服务器,代理服务器再根据这一请求向服务器索取数据,然后再由代理服务器将数据传输给客户机。由于外部系统与内部服务器之间没有直接的数据通道,外部的恶意侵害也就很难伤害到企业内部网络系统。       代理型防火墙的优点是安全性较高,可以针对应用层进行侦测和扫描,对付基于应用层的侵入和病毒都十分有效。其缺点是对系统的整体性能有较大的影响,而且代理服务器必须针对客户机可能产生的所有应用类型逐一进行设置,大大增加了系统管理的复杂性。    

       2.4.监测型       

    监测型防火墙是新一代的产品,这一技术实际已经超越了最初的防火墙定义。监测型防火墙能够对各层的数据进行主动的、实时的监测,在对这些数据加以分析的基础上,监测型防火墙能够有效地判断出各层中的非法侵入。同时,这种检测型防火墙产品一般还带有分布式探测器,这些探测器安置在各种应用服务器和其他网络的节点之中,不仅能够检测来自网络外部的攻击,同时对来自内部的恶意破坏也有极强的防范作用。据权威机构统计,在针对网络系统的攻击中,有相当比例的攻击来自网络内部。因此,监测型防火墙不仅超越了传统防火墙的定义,而且在安全性上也超越了前两代产品  

        虽然监测型防火墙安全性上已超越了包过滤型和代理服务器型防火墙,但由于监测型防火墙技术的实现成本较高,也不易管理,所以目前在实用中的防火墙产品仍然以第二代代理型产品为主,但在某些方面也已经开始使用监测型防火墙。基于对系统成本与安全技术成本的综合考虑,用户可以选择性地使用某些监测型技术。这样既能够保证网络系统的安全性需求,同时也能有效地控制安全系统的总拥有成本。  

        实际上,作为当前防火墙产品的主流趋势,大多数代理服务器(也称应用网关)也集成了包过滤技术,这两种技术的混合应用显然比单独使用具有更大的优势。由于这种产品是基于应用的,应用网关能提供对协议的过滤。例如,它可以过滤掉FTP连接中的PUT命令,而且通过代理应用,应用网关能够有效地避免内部网络的信息外泄。正是由于应用网关的这些特点,使得应用过程中的矛盾主要集中在对多种网络应用协议的有效支持和对网络整体性能的影响上。

    展开全文
  • 网络安全

    千次阅读 2019-04-29 12:20:43
    计算机网络面临的安全性威胁 被动攻击 指攻击者从网络上窃听他人的通信内容。 通常把这类攻击称为截获。 在被动攻击中,攻击者只是观察和分析某一个协议数据单元 PDU,以便了解所交换的数据的某种性质。但不干扰...

    计算机网络面临的安全性威胁

    被动攻击

    • 指攻击者从网络上窃听他人的通信内容。
    • 通常把这类攻击称为截获。
    • 在被动攻击中,攻击者只是观察和分析某一个协议数据单元 PDU,以便了解所交换的数据的某种性质。但不干扰信息流。
    • 这种被动攻击又称为流量分析 (traffic analysis)。

    主动攻击主要有:

    • 篡改——故意篡改网络上传送的报文。这种攻击方式有时也称为更改报文流。
    • 恶意程序——种类繁多,对网络安全威胁较大的主要包括:计算机病毒、计算机蠕虫、特洛伊木马、逻辑炸弹、后门入侵、流氓软件等。
    • 拒绝服务——指攻击者向互联网上的某个服务器不停地发送大量分组,使该服务器无法提供正常服务,甚至完全瘫痪。

    对于主动攻击,可以采取适当措施加以检测。
    对于被动攻击,通常却是检测不出来的。
    根据这些特点,可得出计算机网络通信安全的目标:
    防止分析出报文内容和流量分析。
    防止恶意程序。
    检测更改报文流和拒绝服务。
    对付被动攻击可采用各种数据加密技术。
    对付主动攻击则需将加密技术与适当的鉴别技术相结合。

    网络的安全性是不可判定的。
    一个安全的计算机网络应达到四个目标:、

    保密性

    • 只有信息的发送方和接收方才能懂得所发送信息的内容。
    • 是网络安全通信的最基本的内容,也是对付被动攻击必须具备的功能。
    • 为了使网络具有保密性,需要使用各种密码技术。

    端点鉴别

    • 鉴别信息的发送方和接收方的真实身份。
    • 在对付主动攻击中是非常重要的。

    信息的完整性

    • 信息的内容未被篡改过。
    • 在应对主动攻击中是必不可少的。
    • 信息的完整性与端点鉴别往往是不可分割的。
    • 在谈到“鉴别”时,也同时包含了端点鉴别和报文完整性。

    运行的安全性

    • 系统能正常运行并提供服务。
    • 访问控制 (access control) 对计算机系统的安全性是非常重要的。必须对访问网络的权限加以控制,并规定每个用户的访问权限

    对称密钥密码体制
    所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。
    这种加密系统又称为对称密钥系统。

    在这里插入图片描述数据加密标准 DES

    • 数据加密标准 DES 属于对称密钥密码体制,是一种分组密码。
    • 在加密前,先对整个明文进行分组。每一个组长为 64 位。
    • 然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文 数据。
    • 最后将各组密文串接起来,即得出整个的密文。
    • 使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。

    DES 的保密性

    • DES 的保密性仅取决于对密钥的保密,其算法是公开的。
    • 目前较为严重的问题是 DES 的密钥的长度。
    • 现在已经设计出搜索 DES 密钥的专用芯片。56位 DES 已不再认为是安全的了。

    三重 DES
    使用两个 56 位的密钥。
    把一个 64 位明文用一个密钥加密,再用另一个密钥解密,然后再使用第一个密钥加密,即
    在这里插入图片描述在这里插入图片描述公钥密码体制

    • 公钥密码体制(又称为公开密钥密码体制)使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
    • 公钥密码体制产生的主要原因:
      常规密钥密码体制的密钥分配问题。
      对数字签名的需求。

    加密密钥与解密密钥

    • 公钥密码体制中,加密密钥 PK(public key,即公钥)是向公众公开的,而解密密钥 SK(secret key,即私钥或秘钥)则是需要保密的。
    • 加密算法 E 和解密算法 D 也都是公开的。
    • 虽然私钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。

    应当注意

    • 任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量。在这方面,公钥密码体制并不具有比传统加密体制更加优越之处。
    • 由于目前公钥加密算法的开销较大,在可见的将来还看不出来要放弃传统的加密方法。
    • 公钥还需要密钥分配协议,具体的分配过程并不比采用传统加密方法时更简单。

    公钥算法的特点

    • 密钥对产生器产生出接收者 B 的一对密钥:加密密钥 PKB 和解密密钥 SKB 。
    • 加密密钥 PKB 就是接收者B的公钥,它向公众公开。
    • 解密密钥 SKB 就是接收者B的私钥,对其他人都保密。
    • 发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:
      在这里插入图片描述 加密密钥是公开的,但不能用它来解密,即:
      在这里插入图片描述加密和解密运算可以对调,即加密和解密是互逆的:
      在这里插入图片描述
      在这里插入图片描述
      公开密钥与对称密钥的区别
    • 在使用对称密钥时,由于双方使用同样的密钥,因此在通信信道上可以进行一对一的双向保密通信,每一方既可用此密钥加密明文,并发送给对方,也可接收密文,用同一密钥对密文解密。这种保密通信仅限于持有此密钥的双方(如再有第三方就不保密了)。
    • 在使用公开密钥时,在通信信道上可以是多对一的单向保密通信。

    公钥密码体制

    • 如果某一信息用公开密钥加密,则必须用私有密钥解密,这就是实现保密的方法
    • 如果某一信息用私有密钥加密,那么,它必须用公开密钥解密。这就是实现数字签名的方法

    数字签名

    • 用于证明真实性。
    • 数字签名必须保证以下三点:
      报文鉴别——接收者能够核实发送者对报文的签名(证明来源);
      报文的完整性——发送者事后不能抵赖对报文的签名(防否认);
      不可否认——接收者不能伪造对报文的签名(防伪造)。
    • 现在已有多种实现各种数字签名的方法。但采用公钥算法更容易实现。

    基于公钥的数字签名的实现
    在这里插入图片描述

    • 因为除 A 外没有别人能具有 A 的私钥,所以除 A 外没有别人能产生这个密文。因此 B 相信报文 X 是 A 签名发送的。
    • 若 A 要抵赖曾发送报文给 B,B 可将明文和对应的密文出示给第三者。第三者很容易用 A 的公钥去证实 A 确实发送 X 给 B。
    • 反之,若 B 将 X 伪造成 X’,则 B 不能在第三者前出示对应的密文。这样就证明了 B 伪造了报文。

    具有保密性的数字签名
    在这里插入图片描述
    网络层安全协议

    • IP 安全性很差:
      没有为通信提供良好的数据源鉴别机制;
      没有为数据提供强大的完整性保护机制;
      没有为数据提供任何机密性保护;
      在设计和实现上存在安全漏洞,使各种攻击有机可乘。例如:攻击者很容易构造一个包含虚假地址的 IP 数据报。
    • IP 几乎不具备任何安全性,不能保证:
      数据机密性
      数据完整性
      数据来源认证
    • 由于其在设计和实现上存在安全漏洞,使各种攻击有机可乘。例如:攻击者很容易构造一个包含虚假地址的 IP 数据报。
    • IPsec 提供了标准、健壮且包含广泛的机制保证 IP 层安全。

    IPsec 协议

    • IPsec 就是“IP 安全 (security)”的缩写。
    • IPsec 并不是一个单个的协议,而是能够在 IP 层提供互联网通信安全的协议族。
    • IPsec 是个框架,它允许通信双方选择合适的算法和参数(例如,密钥长度)。
    • 为保证互操作性,IPsec 还包含了所有 IPsec 的实现都必须有的一套加密算法。

    IPsec 由三部分组成

    • IP 安全数据报格式的两个协议
      鉴别首部 AH (Authentication Header) 协议
      封装安全有效载荷 ESP (Encapsulation Security Payload) 协议
    • 有关加密算法的三个协议(在此不讨论)
    • 互联网密钥交换 IKE (Internet Key Exchange) 协议

    -AH 协议提供源点鉴别和数据完整性,但不能保密。
    ESP 协议比 AH 协议复杂得多,它提供源点鉴别、数据完整性和保密。
    使用 ESP 或 AH 协议的 IP 数据报称为 IP 安全数据报(或 IPsec数据报)。
    Ipsec 支持 IPv4 和 IPv6。
    AH 协议的功能都已包含在 ESP 协议中。

    运输层安全协议
    现在广泛使用的有以下两个协议:

    • 安全套接字层 SSL (Secure Socket Layer)
    • 运输层安全 TLS (Transport Layer Security)

    SSL / TLS 的位置
    在这里插入图片描述运输层不使用安全协议和使用安全协议的对比
    在这里插入图片描述
    SSL 和 TLS

    • SSL / TLS 建立在可靠的 TCP 之上,与应用层协议独立无关。
    • SSL / TLS 已被所有常用的浏览器和万维网服务器所支持。
    • SSL / TLS 基本目标:实现两个应用实体之间的安全可靠通信。
    • 应用层使用 SSL 最多的就是 HTTP,但 SSL 并非仅用于 HTTP,而是可用于任何应用层的协议。
    • 应用程序 HTTP 调用 SSL 对整个网页进行加密时,网页上会提示用户,在网址栏原来显示 http 的地方,现在变成了 https。在 http 后面加上的 s 代表 security,表明现在使用的是提供安全服务的 HTTP 协议(TCP 的 HTTPS 端口号是 443,而不是平时使用的端口号 80)。

    SSL 提供的安全服务

    • SSL 服务器鉴别,允许用户证实服务器的身份。支持 SSL 的客户端 通过验证来自服务器的证书,来鉴别服务器的真实身份并获得服务 器的公钥。
    • SSL 客户鉴别,SSL 的可选安全服务,允许服务器证实客户的身份。
    • 加密的 SSL 会话,对客户和服务器间发送的所有报文进行加密,并 检测报文是否被篡改。

    SSL 安全会话建立过程
    在这里插入图片描述1. 协商加密算法。 浏览器 A 向服务器 B 发送浏览器的 SSL 版本号和一些可选的加密算法。 B 从中选定自己所支持的算法(如 RSA),并告知 A。
    2. 服务器鉴别。 服务器 B 向浏览器 A 发送包含其 RSA 公钥的数字证书。 A 使用该证书的认证机构 CA 公开发布的RSA公钥对该证书进行验证。
    3. 会话密钥计算。由浏览器 A 随机产生一个秘密数。 用服务器 B 的 RSA 公钥进行加密后发送给 B。 双方根据协商的算法产生共享的对称会话密钥。
    4. 安全数据传输。 双方用会话密钥加密和解密它们之间传送的数据并验证其完整性。

    应用层安全协议

    PGP (Pretty Good Privacy)

    • PGP (Pretty Good Privacy) 是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。
    • PGP 并没有使用什么新的概念,它只是将现有的一些算法如 MD5,RSA,以及 IDEA 等综合在一起而已。
    • 虽然 PGP 已被广泛使用,但 PGP 并不是互联网的正式标准。

    防火墙

    • 防火墙是由软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施访问控制策略。
    • 访问控制策略是由使用防火墙的单位自行制订的,为的是可以最适合本单位的需要。
    • 防火墙内的网络称为“可信的网络”(trusted network),而将外部的互联网称为“不可信的网络”(untrusted network)。
    • 防火墙可用来解决内联网和外联网的安全问题。

    防火墙在互连网络中的位置
    在这里插入图片描述
    防火墙的功能

    • 防火墙的功能有两个:阻止和允许。
    • “阻止”就是阻止某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来)。
    • “允许”的功能与“阻止”恰好相反。
    • 防火墙必须能够识别各种类型的通信量。不过在大多数情况下防火墙的主要功能是“阻止”。

    防火墙技术一般分为两类

    分组过滤路由器

    • 是一种具有分组过滤功能的路由器,它根据过滤规则对进出内部网络的分组执行转发或者丢弃(即过滤)。过滤规则基于分组的网络层或运输层首部的信息,例如:源/目的 IP 地址、源/目的端口、协议类型(TCP 或 UDP)等。
    • 分组过滤可以是无状态的,即独立地处理每一个分组。也可以是有状态的,即要跟踪每个连接或会话的通信状态,并根据这些状态信息来决定是否转发分组。
    • 简单高效,对用户透明,但不能对高层数据进行过滤。

    应用网关也称为代理服务器 (proxy server)

    • 它在应用层通信中扮演报文中继的角色。
    • 每种网络应用需要一个应用网关。
    • 在应用网关中,可以实现基于应用层数据的过滤和高层用户鉴别。
    • 所有进出网络的应用程序报文都必须通过应用网关。
    • 应用网关也有一些缺点:
      每种应用都需要一个不同的应用网关。
      在应用层转发和处理报文,处理负担较重。
      对应用程序不透明,需要在应用程序客户端配置应用网关地址。

    入侵检测系统

    展开全文
  • 常见的网络安全协议

    万次阅读 2019-09-25 20:38:04
    常见的网络安全协议 网络认证协议Kerberos Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机...

    常见的网络安全协议

    1.网络认证协议Kerberos

    Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。

    认证过程具体如下:客户机向认证服务器(AS)发送请求,要求得到某服务器的证书,然后 AS 的响应包含这些用客户端密钥加密的证书。
    证书的构成为:

    • 服务器 “ticket” ;
    • 一个临时加密密钥(又称为会话密钥 “session key”) 。
    • 客户机将 ticket (包括用服务器密钥加密的客户机身份和一份会话密钥的拷贝)传送到服务器上。会话密钥可以(现已经由客户机和服务器共享)用来认证客户机或认证服务器,也可用来为通信双方以后的通讯提供加密服务,或通过交换独立子会话密钥为通信双方提供进一步的通信加密服务。

    上述认证交换过程需要只读方式访问 Kerberos 数据库。但有时,数据库中的记录必须进行修改,如添加新的规则或改变规则密钥时。修改过程通过客户机和第三方 Kerberos 服务器(Kerberos 管理器 KADM)间的协议完成。有关管理协议在此不作介绍。另外也有一种协议用于维护多份 Kerberos 数据库的拷贝,这可以认为是执行过程中的细节问题,并且会不断改变以适应各种不同数据库技术。

    Kerberos又指麻省理工学院为这个协议开发的一套计算机网络安全系统。系统设计上采用客户端/服务器结构与DES加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止replay攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。Kerberos的扩展产品也使用公开密钥加密方法进行认证。

    2.安全外壳协议SSH

    SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

    传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道" 。

    从客户端来看,SSH提供两种级别的安全验证。
    第一种级别(基于口令的安全验证)
    只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

    第二种级别(基于密匙的安全验证)
    需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
    用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
    第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。

    3.安全电子交易协议SET

    安全电子交易协议(secure Electronic Transaction简称SET) 由威士(VISA)国际组织、万事达(MasterCard)国际组织创建,结合IBM、Microsoft、Netscope、GTE等公司制定的电子商务中安全电子交易的一个国际标准。

    安全电子交易协议SET是一种应用于因特网(Internet)环境下,以信用卡为基础的安全电子交付协议,它给出了一套电子交易的过程规范。通过SET协议可以实现电子商务交易中的加密、认证、密钥管理机制等,保证了在因特网上使用信用卡进行在线购物的安全。

    其主要目的是解决信用卡电子付款的安全保障性问题,这包括:保证信息的机密性,保证信息安全传输,不能被窃听,只有收件人才能得到和解密信息;保证支付信息的完整性,保证传输数据完整接收,在中途不被篡改;认证商家和客户,验证公共网络上进行交易活动包括会计机构的设置、会计人员的配备及其职责权利的履行和会计法规、制度的制定与实施等内容。合理、有效地组织会计工作,意义重大,它有助于提高会计信息质量,执行国家财经纪律和有关规定;有助于提高经济效益,优化资源配置。会计工作的组织必须合法合规。讲求效益,必须建立完善的内部控制制度,必须有强有力的组织保证。

    工作流程
    1)消费者利用自己的PC机通过因特网选定所要购买的物品,并在计算机上输入订货单、订货单上需包括在线商店、购买物品名称及数量、交货时间及地点等相关信息。
    2)通过电子商务服务器与有关在线商店联系,在线商店作出应答,告诉消费者所填订货单的货物单价、应付款数、交货方式等信息是否准确,是否有变化。
    3)消费者选择付款方式,确认订单签发付款指令。此时SET开始介入。
    4)在SET中,消费者必须对订单和付款指令进行数字签名,同时利用双重签名技术保证商家看不到消费者的帐号信息。
    5)在线商店接受订单后,向消费者所在银行请求支付认可。信息通过支付网关到收单银行,再到电子货币发行公司确认。批准交易后,返回确认信息给在线商店。
    6)在线商店发送订单确认信息给消费者。消费者端软件可记录交易日志,以备将来查询。
    7)在线商店发送货物或提供服务并通知收单银行将钱从消费者的帐号转移到商店帐号,或通知发卡银行请求支付。在认证操作和支付操作中间一般会有一个时间间隔,例如,在每天的下班前请求银行结一天的帐。
    前两步与SET无关,从第三步开始SET起作用,一直到第六步,在处理过程中通信协议、请求信息的格式、数据类型的定义等SET都有明确的规定。在操作的每一步,消费者、在线商店、支付网关都通过CA(认证中心)来验证通信主体的身份,以确保通信的对方不是冒名顶替,所以,也可以简单地认为SET规格充分发挥了认证中心的作用,以维护在任何开放网络上的电子商务参与者所提供信息的真实性和保密性。

    4.安全套接层协议SSL

    SSL的英文全称是“Secure Sockets Layer”,中文名为“安全套接层协议 ”,它是网景(Netscape)公司提出的基于 WEB 应用的安全协议。
    SSL协议指定了一种在应用程序协议(如HTTP、Telnet、NNTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。

    VPN SSL200设备网关适合应用于中小企业规模,满足其企业移动用户、分支机构、供应商、合作伙伴等企业资源(如基于 Web 的应用、企业邮件系统、文件服务器、C/S 应用系统等)安全接入服务。企业利用自身的网络平台,创建一个增强安全性的企业私有网络。SSL VPN客户端的应用是基于标准Web浏览器内置的加密套件与服务器协议出相应的加密方法,即经过授权用户只要能上网就能够通过浏览器接入服务器建立SSL安全隧道。

    5.网络层安全协议IPSec

    IPSec由IETF制定,面向TCMP,它为IPv4和IPv6协议提供基于加密安全的协议。

    IPSec主要功能为加密和认证,为了进行加密和认证,IPSec还需要有密钥的管理和交换的功能,以便为加密和认证提供所需要的密钥并对密钥的使用进行管理。以上三方面的工作分别由AH,ESP和IKE(Internet Key Exchange,Internet 密钥交换)三个协议规定。为了介绍这三个协议,需要先引人一个非常重要的术语SA(Security Association安全关联)。所谓安全关联是指安全服务与它服务的载体之间的一个“连接”。AH和ESP都需要使用SA,而IKE的主要功能就是SA的建立和维护。要实现AH和ESP,都必须提供对SA的支持。通信双方如果要用IPSec建立一条安全的传输通路,需要事先协商好将要采用的安全策略,包括使用的加密算法、密钥、密钥的生存期等。当双方协商好使用的安全策略后,我们就说双方建立了一个SA。SA就是能向其上的数据传输提供某种IPSec安全保障的一个简单连接,可以由AH或ESP提供。当给定了一个SA,就确定了IPSec要执行的处理,如加密,认证等。SA可以进行两种方式的组合,分别为传输临近和嵌套隧道。

    IPSec的工作原理类似于包过滤防火墙,可以看作是对包过滤防火墙的一种扩展。当接收到一个IP数据包时,包过滤防火墙使用其头部在一个规则表中进行匹配。当找到一个相匹配的规则时,包过滤防火墙就按照该规则制定的方法对接收到的IP数据包进行处理。这里的处理工作只有两种:丢弃或转发。IPSec通过查询SPD(Security Policy Database安全策略数据库)决定对接收到的IP数据包的处理。但是IPSec不同于包过滤防火墙的是,对IP数据包的处理方法除了丢弃,直接转发(绕过IPSec)外,还有一种,即进行IPSec处理。正是这新增添的处理方法提供了比包过滤防火墙更进一步的网络安全性。进行IPSec处理意味着对IP数据包进行加密和认证。包过滤防火墙只能控制来自或去往某个站点的IP数据包的通过,可以拒绝来自某个外部站点的IP数据包访问内部某些站点,也可以拒绝某个内部站点对某些外部网站的访问。但是包过滤防火墙不能保证自内部网络出去的数据包不被截取,也不能保证进入内部网络的数据包未经过篡改。只有在对IP数据包实施了加密和认证后,才能保证在外部网络传输的数据包的机密性、真实性、完整性,通过Internet进行安全的通信才成为可能。IPSec既可以只对IP数据包进行加密,或只进行认证,也可以同时实施二者。但无论是进行加密还是进行认证,IPSec都有两种工作模式,一种是隧道模式,另一种是传输模式。

    参考文章:
    Kerberos
    SSH
    安全电子交易协议
    安全套接层协议
    IPSec协议

    展开全文
  • 网络安全期末大论文

    千次阅读 多人点赞 2019-01-30 11:46:26
    桂林理工大学 《网络安全》 学生姓名 张识虔 学 号 3162052051116 所属学院 信息科学与工程学院 专 业 软件工程 班 级 16-1班 教 师 张攀峰 桂林理工大学教...

     

     

    桂林理工大学

     

     

    《网络安全》

     

     

     

     

    学生姓名       张识虔        

    学    号    3162052051116   

    所属学院  信息科学与工程学院

    专    业       软件工程      

    班    级       16-1        

    教    师       张攀峰       

     

    桂林理工大学教务处

     

     

     

     

    《网络安全》课程论文

     

    作者 张识虔

     

    摘  要随着计算机技术和网络技术的发展, 网络安全问题, 在今天已经成为网络世界里最为人关注的问题之一 危害网络安全的因素很多, 它们主要依附于各种恶意软件, 其中病毒和木马最为一般网民所熟悉。针对这些危害因素, 网络安全技术得以快速发展, 这也大大提高了网络的安全性。文章分析了几种常见的网络入侵方法以及在此基础上探讨了网络安全的几点策略。
    关键词网络安全  计算机网络  入侵检测

    1. 前 言
            一、 计算机网络安全的含义 
       计算机网络安全的具体含义会随着使用者的变化而变化,使用者不同,对网络安全的认识和要求也就不同。例如从普通使用者的角度来说,可能仅仅希望个人隐私或机密信息在网络上传输时受到保护, 避免被窃听、篡改和伪造; 而网络提供商除了关心这些网络信息安全外,还要考虑如何应付突发的自然灾害、 军事打击等对网络硬件的破坏,以及在网络出现异常时如何恢复网络通信, 保持网络通信的连续性。从本质上来讲,网络安全包括组成网络系统的硬件、软件及其在网络上传输信息的安全性,使其不致 因偶然的或者恶意的攻击遭到破坏,网络安全既有技术方面的问题,也有管理方面的问题,两方面相互补充,缺一不可。 
      二、 常见的几种网络入侵方法
      由于计算机网络的设计初衷是资源共享、分散控制、分组交换,这决定了互联网具有大跨度、分布式、无边界的特征。这种开放性使黑客可以轻而易举地进入各级网络,并将破坏行为迅速地在网络中传播。同时,计算机网络还有着自然社会中所不具有的隐蔽性:无法有效识别网络用户的真实身份;由于互联网上信息以二进制数码,即数字化的形式存在,所以操作者能比较容易地在数据传播过程中改变信息内容。计算机网络的传输协议及操作系统也存在设计上的缺陷和漏洞,从而导致各种被攻击的潜在危险层出不穷,这使网络安全问题与传统的各种安全问题相比面临着更加严峻的挑战,黑客们也正是利用这样的特征研发出了各种各样的攻击和入侵方法:
        1.通过伪装发动攻击
        2.利用开放端口漏洞发动攻击
        3.通过木马程序进行入侵或发动攻击
         4.嗅探器和扫描攻击
        为了应对不断更新的网络攻击手段,网络安全技术也经历了从被动防护到主动检测的发展过程。主要的网络安全技术包括:防火墙、VPN、防毒墙、入侵检测、入侵防御、漏洞扫描。其中防病毒、防火墙和VPN属早期的被动防护技术,入侵检测、入侵防御和漏洞扫描属主动检测技术,这些技术领域的研究成果已经成为众多信息安全产品的基础。
    1.1论文的目的和意义

    我们是软件工程的本科生,《网络安全》是我们重要的课程。当代社会学要大学培养出理论扎实,动手实践能力强的大学生。所以,本次课程大作业的目的就在于通过一次实践性的活动加深对这门课程的理解,使我们在感性的认识上进一步升华为理性的认识。为后继课程的学习打下坚实的基础。

    马克思主义唯物辩证法认为,实践是连接客观实在和人主观意识的通道和桥梁。物质对意识的作用以及意识对物质的反作用都蕴含在实践活动当中。也就是,实践是检验真理的唯一标准。对这门课的学习状况的好坏,用一次课程大作业便可以检验出来。而这,就是本次我们课程大作业的意义之所在。

     

    1.2大论文的目标

    本次课程大作业主要是通过对上机软件如下的几点的认真落实:

    1、 利用sniffer抓包软件,分析IP头的结构。

    2、 利用sniffer工具,分析TCP头的结构,并分析TCP的三次握手过程。

    3、 实现加解密程序。(详见《密码学及应用实验部分》,实验一)

    4、 已知RSA算法中,素数p=5,q=7,模数n=35,公钥e=5,明文为bed,对明文进行加解密,使用手工完成RSA公开秘钥密码体制算法加密运算。

    5、 安装一款杀毒软件,分析该软件从哪些方面对计算机进行防护,这些功能与

    2. 论文任务

    2.1利用sniffer抓包软件,分析IP头的结构。(请附上截图)

     

    根据IP数据报 来分析IP

     

    由抓包结果可知 IP包 红框内 灰色部分

     “45”,其中“4”是IP协议的版本(Version),说明是IP4。“5”是IHL位,表示IP头部的长度,是一个4bit字段,最大就是1111了,值为15(表示有15行,一行有32bit),IP头部的最大长度就是60字节。而这里为“5”,说明是20字节,这是标准的IP头部长度,头部报文中没有发送可选部分数据。

     

    “00”,为服务类型(Type of Service)。这个8bit字段由3bit的优先权子字段

    “00 3C”,为IP数据报文总长,包含头部以及数据,这里表示60字节。这60字节由20字节的IP头部以及40字节的TCP头构成(最后的一个字节为数据)。因此目前最大的IP数据包长度是65535字节。

     

    01 29” 两个字节为数据包封装标识信息,与后面的偏移量一起用,这个是让目的主机来判断新来的分段属于哪个分组。

     

    “00 00”其中前三位表示标志位,后面13位表示片段偏移地址。其中第一位是IP协议目前没有用上的,为0。接着的是两个标志DF和MF。DF为1表示不要分段,MF为1表示还有进一步的分段(本例为0)。然后的“0 0000”是分段便移(Fragment Offset)。

     

    80 这个字节就是TTL(Time To Live)了,表示一个IP数据流的生命周期,用Ping显示的结果,能得到TTL的值50(将十六进制的80转化为十进制得48)。

     

    01 这个字节表示传输层的协议类型(Protocol)。在RFC790中有定义,1表示传输层是ICMP协议

     

    7d 44 这个16bit是头校验和(Header Checksum)。

     

    c0 a8 9d 80”表示源地址,也就是PC的IP地址,转换为十进制的IP地址就是:192.168.157.128。

     

    “c0 a8 9d 82”表示目标IP地址,转换为十进制的IP地址就是:192.168.1.130

     

    2.2利用sniffer工具,分析TCP头的结构,并分析TCP的三次握手过程。(请附上截图)

    抓包结束后 可以获得TCP头

    根据TCP头结构对获得的TCP头进行分析

    TCP包头占有20个字节,后00 00 6e 6f 6f 70 0d 0a部分是可选项和数据部分。

     

    “00 15”表示目的端口号为:21,可知用了FTP文件文件传输。

     

    “68 47 e2 37”表示数据包顺序号(Sequence Number)

     

    “d7 44 7c a2”表示(Acknowledgment Number),简写为ACKNUM。在此为不全0,表示连接成功,有确认。

     

    “50 18”两字节中,前4位为头部长度,用十进制表示为7,转化为字节,总共有7×4=28字节;中间六位为保留,都为0,在TCP协议没有用上;后面6位为000010,是重要的6个标志位,此时SYN=1,ACK=0,连接响应时,表示连接向应超时。

     

    “f9 78”两个字节表示窗口大小为63864。

     

    “6c 67”这个16bit是头校验和(Header Checksum)。

     

    00 00”为紧急指针,此时表示没有,当且仅当URG同时置1才有效。

    TCP的三次握手过程

    第一次握手:192.168.157.128发送位码syn=1,随机产生SEQ number =1384476279的数据包到192.168.157.130 ,192.168.157.130由SYN=1知道192.168.157.128要求建立联机;

    第二次握手:192.168.157.130收到请求后要确认联机信息,向192.168.157.128发送ACK number =1384476280,SYN=1,ACK=1,随机产生SEQ number =337715159741的包;

    第三次握手:192.168.157.128收到后检查ACK是否正确,即第一次发送的SEQ number + 1,以及位码ACK是否为1,若正确,192.168.157.128会再发送ACK number =3377159742,ACK=1,192.168.157.130收到后确认SEQ = SEQ + 1,ACK=1则连接建立成功。

     

     

    2.3实现加解密程序。(详见《密码学及应用实验部分》,实验一)(附截图)

     

    代替算法(JAVA实现)

    import java.util.Scanner;
    
    class Encryption{
    
    public void Encryption() {
    
        char l;
    
        System.out.println("请输入要加密的明文");
    
        Scanner input = new Scanner(System.in);
    
        String str1 = input.nextLine();
    
        System.out.println("请输入要加密的密钥");
    
        int k = input.nextInt();
    
       
    
        System.out.print("加密后的明文为: ");
    
        for(int i = 0 ; i < str1.length() ; i ++) {
    
           int n = (int)(str1.charAt(i));
    
           if(n > 96 && n < 123) {
    
               n = (n - 97 + k) % 26; 
    
               l = (char)(n + 97);
    
               System.out.print(l);
    
           }
    
        }
    
    }
    
    }
    
    
    
    class Decrypt{
    
    public void Decrypt() {
    
        char l ;
    
       
    
        System.out.println("请输入需要解密的密文");
    
        Scanner input = new Scanner(System.in);
    
        String str3 = input.nextLine();
    
        System.out.println("请输入解密的密钥");
    
        int k = input.nextInt();
    
       
    
        System.out.println("解密的明文是: ");
    
        for(int i = 0 ; i < str3.length() ; i ++) {
    
           int n = (int)(str3.charAt(i));
    
          
    
           if(n > 96 && n < 123) {
    
               n = (n - 97 - k) % 26;
    
               if(n == -1)
    
                  n = 25;
    
               l = (char)(n + 97);
    
               System.out.print(l);
    
           }
    
        }
    
    }
    
    }
    
    public class Substitution {
    
        public static void main(String[] args) {
    
          
    
           while(true) {
    
               System.out.println("\n选择功能");
    
               System.out.println("1. 加密功能");
    
               System.out.println("2. 解密功能");
    
               Scanner input = new Scanner(System.in);
    
               int c = input.nextInt();
    
               switch(c) {
    
              
    
                  case 1 :{
    
                      Encryption encryption  = new Encryption();
    
                      encryption.Encryption();
    
                      break;
    
                  }
    
                 
    
                  case 2 : {
    
                      Decrypt decrypt = new Decrypt();
    
                      decrypt.Decrypt();
    
                      break;
    
                  }
    
                     
    
               }
    
           }
    
    
    
        }
    
    }

    置换算法(JAVA实现)

    import java.util.Arrays;
    
    import java.util.Scanner;
    
    
    
    
    
    public class zhihuan4 {
    
     private String sourceString = "attack begins at five";
    
     private String keyString = "cipher";
    
    
    
     private int[] secretMatrix;
    
     private char groupedSource[][];
    
    
    
     private void getSource(){//获取源字符串
    
      Scanner scan = new Scanner(System.in);
    
      System.out.print("请输入要加密的字符串:\t");
    
      sourceString = scan.nextLine();
    
      System.out.print("请为您输入密钥字符串:\t");
    
      keyString = scan.next();
    
     }
    
    
    
     public zhihuan4(){//此类的构造函数
    
      getSource();
    
     }
    
    
    
     private void groupSourceString(){//根据keystring为sourcestring创建组
    
      int sourceLen = sourceString.length();
    
      int keyLen = keyString.length();
    
      groupedSource = new char[sourceLen/keyLen+1][keyLen];
    
      if (sourceLen%keyLen!=0){
    
       for (int i = 0;i < (keyLen - sourceLen%keyLen);i++){
    
        sourceString += "#";
    
       }
    
      }
    
      sourceLen = sourceString.length();
    
      for(int i = 6,j=0;i <= sourceLen;i+=keyLen,j++){
    
        groupedSource[j] = sourceString.substring(i-keyLen, i).toCharArray();
    
      }
    
     }
    
    
    
     private void getTheMatrix(){//获取用于加密的矩阵
    
      char[] temp01 = keyString.toCharArray();
    
      secretMatrix = new int[keyString.length()];
    
      Arrays.sort(temp01);
    
      for (int i = 0;i < keyString.length();i++){
    
       for (int j = 0;j<keyString.length();j++){
    
        if (keyString.toCharArray()[i]==temp01[j]){
    
         secretMatrix[i] = j;
    
        }
    
       }
    
      }
    
      }
    
    
    
     private void changeSourceMatix(){
    
      groupSourceString();
    
      char temp[][] = new char[groupedSource.length][keyString.length()];
    
      for (int i = 0;i < groupedSource.length;i++){
    
       for (int j = 0;j < keyString.length();j++){
    
        temp[i][j] = groupedSource[i][j];
    
       }
    
      }
    
     
    
      for (int i = 0;i < groupedSource.length - 1;i++){
    
       for (int j = 0;j < keyString.length();j++){
    
        groupedSource[i][j] = temp[i][secretMatrix[j]];
    
       }
    
      }
    
     }
    
    
    
     private void getEncryptedString(){//获取将要打印的矩阵。
    
      groupSourceString();
    
      changeSourceMatix();
    
      char temp[][] = new char[groupedSource.length][keyString.length()];
    
      for (int i = 0;i < groupedSource.length;i++){
    
       for (int j = 0;j < keyString.length();j++){
    
        temp[i][j] = groupedSource[i][j];
    
       }
    
      }
    
     
    
      for (int i = 0;i < groupedSource.length - 1;i++){
    
       for (int j = 0;j < keyString.length();j++){
    
        groupedSource[i][j] = temp[i][secretMatrix[j]];
    
       }
    
      }
    
     }
    
    
    
     public void print1(){//打印密码已加密
    
      getEncryptedString();
    
      for(int i = 0;i < keyString.length();i++){
    
       for(int j = 0;j < groupedSource.length-1;j++){
    
        System.out.print(groupedSource[j][i]);
    
       }
    
      }
    
      System.out.println();
    
     }
    
    
    
     //解密过程
    
     private void groupEncryptedString(){
    
      int sourceLen = sourceString.length();
    
      int keyLen = keyString.length();
    
      char[][] temp =  new char[keyLen][sourceLen/keyLen+1];
    
      for (int i = 0;i < keyLen;i++){
    
       temp[i] = sourceString.substring(i*sourceLen/keyLen, (i+1)*sourceLen/keyLen).toCharArray();
    
      }
    
      groupedSource = new char[sourceLen/keyLen+1][keyLen];
    
      for(int j = 0; j < sourceLen/keyLen;j++){
    
       for (int i = 0;i < keyLen;i++){
    
        groupedSource[j][i] = temp[i][j];
    
       }
    
      }
    
     }
    
    
    
     private void getDecryptString(){//获取将要打印的矩阵。
    
      groupEncryptedString();
    
      char temp[][] = new char[groupedSource.length][keyString.length()];
    
      for (int i = 0;i < groupedSource.length;i++){
    
       for (int j = 0;j < keyString.length();j++){
    
        temp[i][j] = groupedSource[i][j];
    
       }
    
      }
    
     
    
      for (int i = 0;i < groupedSource.length - 1;i++){
    
       for (int j = 0;j < keyString.length();j++){
    
        groupedSource[i][j] = temp[i][secretMatrix[secretMatrix[j]]];
    
       }
    
      }
    
     }
    
    
    
     public void print2(){//打印密码已加密
    
      getDecryptString();
    
      for(int j = 0;j < groupedSource.length-1;j++){
    
       for(int i = 0;i < keyString.length();i++){
    
        System.out.print(groupedSource[j][i]);
    
       }
    
      }
    
      System.out.println();
    
     }
    
    
    
     public static void main(String args[]){
    
      zhihuan4 RD = null;
    
      Scanner scanin = null;
    
      System.out.println("请选择要操作的方法:\t(选择“0”进行加密,选择“1”进行解密。)");
    
      scanin = new Scanner(System.in);
    
      int selected = scanin.nextInt();
    
      while(selected==0 || selected==1){
    
       RD = new zhihuan4();
    
       RD.getTheMatrix();
    
       if (selected == 0){
    
        RD.print1();
    
       }
    
       else{
    
        RD.print2();
    
       }
    
       System.out.println("请选择要操作的方法:\t(选择“0”进行加密,选择“1”进行解密。)");
    
       scanin = new Scanner(System.in);
    
       selected = scanin.nextInt();
    
      }
    
     }
    
    }

    2.4已知RSA算法中,素数p=5,q=7,模数n=35,公钥e=5,明文为bed,对明文进行加解密,使用手工完成RSA公开秘钥密码体制算法加密运算。字母数字映射表如下:

    1)设计公私密钥(e,n)(d,n)
    令p=5,q=7,得出n=p×q=5×7=35;f(n)=(p-1)(q-1)=4×6=24;公钥e=5,(5与24互质)则e×d≡1 mod f(n),即5×d≡1 mod 24。

     

    求d的值如下表:

    d

    e*d = 5*d

    (e*d)mod(p-1)(q-1)= (5*d)mod24

    1

    5

    5

    2

    10

    10

    3

    15

    15

    4

    20

    20

    5

    25

    1

     

    通过试算我们找到,当d=5时,e×d≡1 mod f(n)同余等式成立。因此,可令d=5。从而我们可以设计出一对公私密钥,加密密钥(公钥)为:KU =(e,n)=(5,35),解密密钥(私钥)为:KR =(d,n)=(5,35)。

     

    2)英文数字化。
      将明文信息数字化,并将每块两个数字分组。假定明文英文字母编码表为按字母顺序排列数值,即:

    则得到分组后的bed的明文信息为:02,05,04。

    3)明文加密 
      用户加密密钥(5,35) 将数字化明文分组信息加密成密文。由C≡Me(mod n)得:

    M1 = {c1} e{mod n} = 025  {mod 35} = 32

    M2 = {c1}e {mod n} = 055  {mod 35} = 10

    M3 = {c1} e{mod n} = 045  {mod 35} = 9

    4)密文解密。
      用户B收到密文,若将其解密,只需要计算M≡Cd(mod n),即:

    M1 = {c1} d {mod n} = 325  {mod 35} = 02

     

    M2 = {c1} d {mod n} = 105  {mod 35} = 05

     

    M3 = {c1} d {mod n} = 95  {mod 35} = 04

    用户得到明文信息为:02,05,04。根据上面的编码表将其转换为英文,我们又得到了恢复后的原文“bed”。 

     

     

    2.5安装一款杀毒软件,分析该软件从哪些方面对计算机进行防护,这些功能与HIDS系统的功能有哪些异同?

     

    我使用的是德国的小红伞杀毒软件  它的功能

    病毒防护(AntiVir)–病毒、蠕虫、木马的防御。

    间谍软件的防护(AntiSpyware)–间谍程序、广告软件、身份盗用(Identity Theft)的防御。

    恶意软件防护(AntiRootkit)此功能同免费版本

    链接扫描(AntiPhishing)此功能同免费版本

    邮件扫描 (AntiSpam) –可以过滤垃圾信件、防止网络诈骗(网络钓鱼)

    小红伞是一款德国著名杀毒软件,自带防火墙。它能有效的保护个人电脑以及工作站的使用,以免受到病毒侵害。它可以检测并移除超过60万种病毒,支持网络更新,资源占用很少,监控能力强

    HIDS全称是Host-based Intrusion Detection System,即基于主机入侵检测系统。作为计算机系统的监视器和分析器,它并不作用于外部接口,而是专注于系统内部,监视系统全部或部分的动态的行为以及整个计算机系统的状态。由于HIDS动态地检查网络数据包这一特性,它可以检测到哪一个程序访问了什么资源以及确保文字处理器(Word-Processor)不会突然的、无缘无故的启动并修改系统密码数据库。同样的,不管是往内存文件系统日志文件还是其它地方存储信息,HIDS会一直监控系统状态,并且核对他们是否还预期相同。

    HIDS运行依赖与这样一个原理:一个成功的入侵者一般而言都会留下他们入侵的痕迹。这样,计算机管理员就可以察觉到一些系统的修改,HIDS亦能检测并报告出检测结果。

    一般而言,HIDS使用一个它们所监视的目标系统以及文件系统(非必需)的数据库,HIDS也可以核对内存中未被非法修改的区域。对于每一个正被处理的目标文件来说,HIDS会记录下他们的属性(如权限、大小、修改时间等)然后,如果该文件有其文件内容的话,HIDS将会创建一个校验码(如SHA1MD5或类似)。这个校验码信息将储存在一个安全的数据库中,即校验码数据库,以便将来的核对。

          

    3. 总结

         一个学期的网络安全课程要结束了,在这期间得到了很多的上机实践,能学到了很多东西,之前就知道编程,操作这些新的软件需要花很多的时间去弄懂,并且能操作他们,每个实验都运用不同的软件,对于我这种入门比较慢的学生,花很多时间跟很多同学交流,才慢慢地弄懂软件,并且一步步的操作都记录了下来,以免自己忘记。在Sniffer Pro网络分析器应用实验中,学习了Sniffer工具的安装和使用方法,通过使用Sniffer工具理解TCP/IP协议栈中IP,TCP,UDP等协议的数据结构,并且掌握了ICMP协议的类型和代码。在扫描器X-SCANNER应用实验中,基本上了解了X-scan扫描器的使用方法,对计算机的潜在的安全性问题有了进一步的理解,提高了我对计算机的安全意识,还对扫描器扫描原理的理解和掌握。在使用PGP实现电子邮件安全实验中,了解了PGP软件的使用,进一步加深对非对称密码算法RSA的认识和掌握,熟悉软件的操作及主要功能,使用它加密邮件,普通文件。为了用户邮件内容保密,以防止非法授权者阅读。从而我们使用了PGP。本次实验我通过PGP的安装,创建密钥。了解了如何使用

    PGP输出和签名公共密钥。在防火墙技术的具体应用实验中,了解了防火墙的工作原理和规则设置方法,了解天网防火墙的有点及缺点: 1、灵活的安全级别设置2、实用的应用程序规则设置3、详细的访问记录4、严密的应用程序网络状态监控功能5、多样的缺省IP规则 6、可以自定义IP规则7、具有修补系统漏洞功能。

          

     

    参考文献:

    [1] 刘建伟 王育民 网络安全---技术与实践(第三版) 清华大学出版社 2017版

    展开全文
  • 网络安全基础要点知识介绍

    千次阅读 多人点赞 2019-03-02 10:55:31
    在介绍对客户端与服务端的传输数据加密之前,先介绍下网络安全相关的知识,主要是为了更好的了解为什么要对传输数据加密以及为什么要采用这种加密算法。 网络安全 网络安全问题概述 计算机网络的通信面临两大类威胁...
  • 送给正在尝试踏入网络安全行业的小白

    千次阅读 多人点赞 2021-07-30 14:44:13
    作为在网络安全行业工作了近10年,各种岗位都做过一遍的“资深程序员”来告诉你,网络安全不难,网络安全入门更简单!可不要被它神秘的外衣给唬住了。 只要你接下来认真听完我的讲解,虽然保证不了你能成为大神,但...
  • 网络攻击的形式复杂多样,而动态攻击类型的检测和预测始终是具有挑战性的任务。... 实验结果表明,斯坦福大学NER提供了许多功能,并且useGazettes参数可用于在网络安全领域训练识别器,以为将来的工作做准备。
  • 网络安全

    千次阅读 2004-10-23 13:10:00
    2.5网络安全2.5.1正确认识网络安全问题 信息安全从最初的通信安全,发展到之后的计算机安全,发展到现在的网络安全,已经进入了第三个阶段。 网络安全即在分布网络环境中,对信息载体(处理载体、存储载体、传输...
  • 一门新的网络安全技术正逐渐进入人们的视野 ,那就是网络欺骗技术。基于欺骗的网络安全技术并不是将入侵者简单地拒之门外,而是通过伪装—使入侵者得到错误的信息或使入侵者置身于一个虚拟的非真实的环境里交互,以...
  •  对3G移动通信系统的网络安全问题进行了探讨,国内开展的4G系统及工程的建设已经开始安全性改造的工程,此举具有特别重要的意义。  安全性问题自移动通信技术问世以来就已产生。第一代移动通信的模拟蜂窝移动通信...
  • 网络安全基础知识

    千次阅读 2015-01-23 20:59:32
    什么是网络安全网络安全基础知识有那些?  网络安全问题随着计算机技术的迅速发展日益突出,从网络运行和管理者角度说,他们希望对本地网络信息的访问、读写等操作受到保护和控制,避免出现“陷门”、病毒、非法...
  • 第二版包含了最新的黑客技术,但并不是集中于单独的安全问题,而是通过在较高层面对安全威胁进行分组与分析,来获取对网络安全的整体了解。通过本书,你将学会如何针对整体攻击行为制定防护策略,为网络提供现实的与...
  • 网络安全与加密技术

    千次阅读 2018-01-25 11:18:41
    Rijndael被选中成为将来的AES。 Rijndael是在 1999 年下半年,由研究员 Joan Daemen 和 Vincent Rijmen 创建的。AES 正日益成为加密各种形式的电子数据的实际标准。 美国标准与技术研究院 (NIST) 于 ...
  • 本课程设计实现一个小的端口监控软件,可以实现对指定IP地址、指定端口、指定线程完成端口扫描功能,并介绍了端口扫描的原理,通过了解入侵者如何扫描目标主机的端口,来更好的确保本机的安全性,为将来设计更为安全...
  • 这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了Web渗透的第一步工作,涉及网站信息、域名信息、端口信息、敏感信息及指纹...
  • 思科 网络安全 考试期末

    万次阅读 2020-06-23 14:37:53
    管理员可以控制特定的安全功能,但不能控制标准应用程序。 说明: Linux是SOC的不错选择的原因有很多.Linux是开源的。 命令行界面是一个非常强大的环境。 用户可以更好地控制操作系统。 Linux...
  • 网络安全知识体系

    千次阅读 2020-03-13 12:58:49
    最近网络攻击的增加,加上组织要求更严格的安全法规,使SIEM成为越来越多的组织正在采用的标准安全方法。 但是SIEM实际上涉及到什么呢?它由哪些不同的部分组成?SIEM实际上如何帮助减轻攻击?本文试图提供一种SIEM 101...
  • 首先,先来简要介绍一下什么是《网络安全法》与“等保”。 《网络安全法》: 全称《中华人民共和国网络安全法》,由中华...《网络安全法》将近年来一些成熟的好做法制度化,并为将来可能的制度创新做了原则性规定,为网
  • 网络安全风险评估关键技术研究

    千次阅读 2018-02-05 10:15:00
    前言 北邮 博士研究生学位论文 作者:吴金宇 指导老师:方 2013/3/31 摘要 主要包括三个方面:定性评估、定量评估、...结合作者在网络安全风险评估的实践和体会,在将来的研究工作中,还有如下问题有待于进一步解决:...
  • 网络安全态势感知的理解和认识

    万次阅读 2018-09-10 21:36:37
    随着网络规模和复杂性不断增大,网络的攻击技术不断革新,新型攻击工具大量涌现,传统的网络安全技术显得力不从心,网络入侵不可避免,网络安全问题越发严峻。 单凭一种或几种安全技术很难应对复杂的安全问题,网络...
  • 汽车车内CAN总线网络安全分析及防御措施智能化和信息化的发展,汽车电气系统变得日益复杂,当前汽车普遍拥有数十个电子控制单元(ECU),一辆高级轿车运行代码接近1亿行,而这些车载信息是通过车内总线实现互联。...
  • 网络安全态势可视化

    千次阅读 2017-03-22 18:53:33
    网络态势可视化技术作为一项新技术,是网络安全态势感知与可视化技术的结合,将网络中蕴涵的态势状况通过可视化图形方式展示给用户,并借助于人在图形图像方面强大的处理能力,实现对网络异常行为的分析和检测。...
  • [网络安全学习篇54]:SQL注入

    千次阅读 2020-04-29 23:21:40
    引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以我就...
  • 随着网络规模和应用的迅速扩大, 网络安全威胁不断增加, 单一的网络安全防护技术已经不能满足需要。 网 络安全态势感 知能够从整体上动态反映网 络安全状况并对网 络安全的发展趋势进行预测, 大数据的特点为大规模...
  • 网络安全不难,网络安全入门更简单!可不要被它神秘的外衣给唬住了。 只要你接下来认真听完我的讲解,虽然保证不了你能成为大神,但就算你学习能力再差那也能达到入门级别。 进入正题 01.简单了解网络安全 说白了,...
  • 网络安全 零. 试题解析 1.分数分配 删去。。。。 2.IP分类复习 根据上图,我们可以推出下面的表 再筛选掉特殊的地址,就有如下的范围 P地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都...
  • 本文作者:Alexander Polyakov,ERPScan的首席技术官和联合创始人、EAS-SEC总裁,SAP网络安全传播者。现在已经出现了相当多的文章涉及机器学习及其保护我们免遭网络攻击的能力。尽管如此,我们也要清楚的去将理想与...
  • 3.你获取网络安全知识途径有哪些? 4.什么是CC攻击? 5.Web服务器被入侵后,怎样进行排查? 6.dll文件是什么意思,有什么用?DLL劫持原理 7.0day漏洞 8.Rootkit是什么意思 9.蜜罐 10.ssh 11.DDOS 12.震网病毒: 13....
  • 网络安全协议比较(PKI SSH SSL SET)

    千次阅读 2017-06-23 15:34:10
     传统的网络服务程序,如:ftp、pop和telnet在本质上都是不 安全的,因为它们在网络上用明文传送口令和数据, 别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, ...
  • 网络安全应急响应技术实战指南

    千次阅读 2020-12-17 10:28:00
    DFIR 团队是组织中负责安全事件响应(包括事件证据、影响修复等)的人员组织,以防止组织将来再次发生该事件。 目录 对抗模拟 工具集 书籍 社区 磁盘镜像创建工具 证据收集 事件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,333
精华内容 32,133
关键字:

网络安全将来