计算机网络(8)-----计算机网络中的安全

思维导图:

一.引言

这篇文章的主要内容是关于计算机网络的安全,其主要的手段则是加密.加密的种类和方法也不唯一.主要会为了四点而进行加密

  • 机密性:为了保证发送的内容不被别人了解.
  • 完整性:为了保证内容不被篡改
  • 端点鉴别:为了保证不会收到冒名顶替者的报文
  • 运行安全性:为了识别一个组织或机构所收发的报文内容的合法性

    如上所述,这篇文章的内容主要分为两个大的部分来叙述,第一部分是原理,包括密码学的原则,然后更进一步的描述了如何实现机密性,完整性,端点鉴别和运行安全性.第二部分则是应用,分别以应用层,运输层,网络层,链路层的一个例子来说明网络安全是如何实现的.

二.原理

这一小节会介绍加密的原理和安全通行的实现方式

2.1密码学原则

    在网络安全的概念中,我们所发送的报文如果是任何人都可读的,称之为明文,即不加密内容,如果对发送内容进行加密,获得的加密结构就称之为密文,因为加密所使用的算法大家都是公用的,所以需要一些秘密信息以组织密文被破解,这个秘密信息就是密钥.

    我们常用的密钥系统分为两种,一种是对称密钥系统,一种是公开密钥系统.

2.1.1对称密钥系统

对称密钥系统有两种加密方式,块密码和流密码,这里主要介绍块密码

  • 块密码

    块密码的主要原理是间明文分为固定大小的,对每一种块都维护一个映射表以加密数据.比如如果块的大小为3的话,那么,我们就会把一段明文分为n块,每块3比特大小,所以,一共有2^3=8中映射.明文通过映射取值后,就变成了密文.而密钥就是这张映射表.如下图:

                 

    所以,如果使用块密码的话,块的大小不能太小,否则非常容易破解,一般的,块的大小为64.但是,出现了新的问题,如果块的大小是64的或,那么交互的双方都必须维护一张长达2^64大小的映射表,更可怕的情况是如果映射有所修改,那么这将是一个非常大的工作量,所以,我们会使用一个置乱函数,在将64大小的块分为8块,即每个快大小为8并进行加密后,使用此置乱函数,这样就不用维护过大的映射表了,如图:

                      

    现在又有了新的问题,因为报文是有固定的格式的,即当我们加密了报文后,不法分子很有可能利用已知的内容(报文格式,重复内容等)来反推密钥,所以,需要一种方法来使得即使是相同的数据也有不同的加密结果,这种方法就是密码块连接,其主要原理是在加密第一个块之前,会生成一个初始向量IV c0,明文会与此IV取异或的值,作为下一块异或取指所需要的向量,然后通过映射表获取密文,然后依次加密所有的块.

  • 流密码:

流密码则会使用算法比如RC4产生密钥,比如双发都知道一个长40比特的密钥KS,然后会生成长24比特的向量,共64比特,所以一共只有2^24个密钥可用.然后对每个帧用不同的密钥加密.此方法主要用于以前的WiFi加密.加密方法如下,对每一个比特进行运算.

               

2.1.2公开密钥系统

    公开密钥系统利用了一个数论的数学原理:如果p,和q是两个素数,n=p*q,z=(p-1)*(q-1),那么如果有一个数e,他和z互为素数(公因数只有1),有存在一个数d,使得e*d mod z = 1.则下式成立:

                                                 

其中:用于加密,c表示密文的值,m表示明文的值.则用于解密.

综上所述,一套公开密钥系统有两个密钥,一个是公钥,所有人都可以获得,用于加密数据.一个是私钥,这个只有自己知道.用于解密

如下,如果p=5,q=7,那么n=35.z=24.5和24互为素数,所以选择e=5,那么d可以选择d=29(e*d mod z = 1),将使用ASCII获取明文的数字值,则有以下加密和解密表:

获取公钥加密:

使用私钥解密:

 

    这个算法称之为RSA算法,如果使用RSA算法来加密所有明文的话,如上所述,那将是相当大的运算量,所以,一般我们会配合对称密钥系统,我们称这个对称密钥系统的一种加法方法为会话密钥,使用会话密钥加密明文,再使用RSA加密使用了那个对称密钥系统的密钥,一次来减少运算量.

自此,我们对于如何使得报文具有机密性的讨论就到此结束了.

2.2报文完整性

    虽然我们具有是报文获得机密性的能力,但是,这样并不安全,加入我是不法分子,我不知道密文代表了什么,但是我可以随意修改密文的内容啊!!!哈哈哈哈哈.,尴尬我还可以假冒别人发送或者接受信息,哈哈哈哈哈哈哈哈哈哈哈哈哈哈!!!!!

2.2.1数字签名

为了防止数据别篡改,我们需要额外的加密方法.

  • 密码散列函数:一般有MD5和SHA-1,对加密后的密文使用散列函数后会获得固定长度的散列字符串,不同的密文其散列结果不                        同.这就可以保证了解密文是否被修改过.

            

    使用了密码散列函数后,依然是不安全的,因为我可以假冒发送方在生成密文m2后,使用散列函数然后生命我就是原本的发送方.哈哈哈哈哈哈哈哈!!!!所以需要在通讯的两者之间共享一个鉴别密钥MAC,他可以是一个字符串,密文和此鉴别密钥会被一同散列,这样我就无法得逞了,哎.

                 

最后,我们还需要证明,这个报文就是我发的,怎么办呢?

  • 数字签名:我们可以使用自己的私钥来作为此鉴别密钥,接收方可以使用我的公钥来解密.为了证明这个公开密钥系统是我的,我需要去专门的机构比如CA认证.这样我就能证明这个报文是我发的了,比人也不能顶替我发送报文.具体操作则是在密文经过散列后,使用我自己的私钥进行加密.这样就形成了我的数字签名了.

                    

我不是不发分子吗?精神错乱了..........................

2.2.2端点鉴别

    端点鉴别是一个实体经计算机网络向另一个实体证明其自己的过程.像我们日常中使用的账号密码就是一种端点鉴别.但是,只有账号和密码是不够的.因为我可以通过分组嗅探到你的账号和加密后的密码.以此冒充你的身份.所以在确认账号密码的过程中,需要使用到不重数,他在一个协议的生存期中只会使用一次.你向希望的交互方发送账号和密码,它发送一个不重数给你,你接收到这个不重数后,使用自己的私钥加密,再重新发送个接收方,这样,接收方通过获取你的公钥(CA认证)就可以证明你的身份了.

2.3运行安全性

我们可以通过一些系统来保卫我们的安全

2.3.1防火墙

防火墙是软件和硬件的结合体,他可以讲一个机构的内部网络和整个英特网隔离开,允许一些分组通过,拒绝一些分组通过.

主要有3种:

  • 分组过滤器:他会检查路由器的每个分组,通过管理员的规则决定是通过还是拒绝.
  • 状态分组过滤器:通过连接的状态来决定是通过还是拒绝,他会跟踪所有的TCP连接,如果60秒内没有任何的活动性,则结束该连接,这可以防止Dos攻击
  • 引用程序网关:除了上路的两者的功能外,还可以通过数据的内容来决定是通过还是拒绝.

除了防火墙外,还有入侵检查系统IDS入侵防卫系统IPS可供使用

 

三.应用

以上是网络安全的原理,在这个小节中,则分别通过不同网络层级举例,讨论网络安全的实际情况

3.1电子邮件安全

    电子邮件是如何确保网络安全的呢?其实就是使用上文中提到的对称密钥,公开密钥,散列函数,数字签名综合作用一下.

    具体步骤则是:通过散列明文获取散列字符串已提供完整性,然后使用发送方自己的私钥加密此散列结果以提供数字签名.获得的结果和命名级联,使用对称密钥加密,榆次同时,对称密钥则通过获取接收方的公钥加密,级联这两者就可以了.如下图:

                          

3.2TCP安全SSL

3.2.1SSL握手

SSL握手主要有三个阶段

  1. 发起连接:即通常的3此握手
  2. 验证对方的真实性:发送方需要发送SSL的hello报文,接收方收到后,会把自己的公钥发送过去,供发送方验证
  3. 发送主密钥:生成主密钥MS后,利用对方的公钥机密获得机密主密钥EMS,然后发送给对方.

            

3.2.2密钥导出

    双方会使用主密钥MS生成4个密钥,即发送方到接收方的会话加密秘钥MAC密钥以及接收方到发送方的会话加密秘钥和MAC密钥.会话加密秘钥是对称密钥,用于加密数据,MAC密钥则用于完整性检查.

3.2.3数据传输

数据的传输以记录为单位,格式如下:

                     

    数据会被MAC密钥加密获得完整性(其中会有序号别加密进去保证重排序或者重放报文攻击),然后数据和MAC则被会话加密秘钥再次加密获得机密性.类型字段则用于分辨握手报文还是数据报文,以及用于关闭连接.

3.3虚拟专用网VPN

     IP安全IPsec为网络层提供了安全性.许多机构使用IPsec常见了运行在公共因特网之上的虚拟专用网VPN.这会使此机构的所有主机在互相进行通讯是数据被加密,主要使用ESP协议.如下图:

                  

3.3.1安全关联

    在从源实体向目的地实体发送IPsec数据报之前,源和目的实体之间会创建一个网络层的单向逻辑连接,被称为安全关联SA.它主要保存了一些信息:32比特标识符称为安全索引参数SPI,初始接口和目的接口的IP地址,加密类型及机密密钥,完整性检查的类型及鉴别密钥.因为SA是单向的,所以两个相连的主机间具有两个SA.

                       

3.3.2 IPsec数据报

                    

被加密指的的机密性机密,ESPMAC则用于完整性鉴别.

执行过程如下:

  1. 在原始数据报后添加ESP尾部,填充是因为块密码要求加密报文必须是块大小的整数倍.
  2. 使用对称密钥加密以上数据
  3. 生成ESP首部,包含了SPI,和序号,以防止重放攻击,SIP则指明术语那个SA.
  4. 将以上部分进行MAC加密,以获得完整性加密.添加一个ESPMAC
  5. 最后,添加新IP首部,指明目的地主机

3.4 无线LAN安全

无线LAN安全主要用IEEE802.11i协议实现,其组成和步骤如下图所示:

                    

  1. 发现:AP通告他的存在,并标明自己可以接受的加密和鉴别形式
  2. 互相鉴别:在客户和鉴别服务器器之间,使用可扩展鉴别报文协议EAP的报文,选择若干种鉴别方式的一种来执行互相鉴别,最后导出双方都知道的主密钥MK
  3. 生成成对主密钥PMK:两者使用MK生成PMK,
  4. 生成临时密钥TK:使用PMK生成附加的用于通信的密钥TK,这就是用于加密的密钥了.

 

注:本篇文章由《计算机网络:自顶向下方法》第八章:计算机网络中的安全  总结而来,由于本人非计算机专业出身,许多知识实在是理解不能,总结有相当多的遗漏,乃是我看不懂所致,更别说其中内容肯定有大量的理解错误,万望大家提出批评,我好改正。

 

 

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值