赞
踩
思维导图:
这篇文章的主要内容是关于计算机网络的安全,其主要的手段则是加密.加密的种类和方法也不唯一.主要会为了四点而进行加密
如上所述,这篇文章的内容主要分为两个大的部分来叙述,第一部分是原理,包括密码学的原则,然后更进一步的描述了如何实现机密性,完整性,端点鉴别和运行安全性.第二部分则是应用,分别以应用层,运输层,网络层,链路层的一个例子来说明网络安全是如何实现的.
这一小节会介绍加密的原理和安全通行的实现方式
在网络安全的概念中,我们所发送的报文如果是任何人都可读的,称之为明文,即不加密内容,如果对发送内容进行加密,获得的加密结构就称之为密文,因为加密所使用的算法大家都是公用的,所以需要一些秘密信息以组织密文被破解,这个秘密信息就是密钥.
我们常用的密钥系统分为两种,一种是对称密钥系统,一种是公开密钥系统.
对称密钥系统有两种加密方式,块密码和流密码,这里主要介绍块密码
块密码的主要原理是间明文分为固定大小的块,对每一种块都维护一个映射表以加密数据.比如如果块的大小为3的话,那么,我们就会把一段明文分为n块,每块3比特大小,所以,一共有2^3=8中映射.明文通过映射取值后,就变成了密文.而密钥就是这张映射表.如下图:
所以,如果使用块密码的话,块的大小不能太小,否则非常容易破解,一般的,块的大小为64.但是,出现了新的问题,如果块的大小是64的或,那么交互的双方都必须维护一张长达2^64大小的映射表,更可怕的情况是如果映射有所修改,那么这将是一个非常大的工作量,所以,我们会使用一个置乱函数,在将64大小的块分为8块,即每个快大小为8并进行加密后,使用此置乱函数,这样就不用维护过大的映射表了,如图:
现在又有了新的问题,因为报文是有固定的格式的,即当我们加密了报文后,不法分子很有可能利用已知的内容(报文格式,重复内容等)来反推密钥,所以,需要一种方法来使得即使是相同的数据也有不同的加密结果,这种方法就是密码块连接,其主要原理是在加密第一个块之前,会生成一个初始向量IV c0,明文会与此IV取异或的值,作为下一块异或取指所需要的向量,然后通过映射表获取密文,然后依次加密所有的块.
流密码则会使用算法比如RC4产生密钥,比如双发都知道一个长40比特的密钥KS,然后会生成长24比特的向量,共64比特,所以一共只有2^24个密钥可用.然后对每个帧用不同的密钥加密.此方法主要用于以前的WiFi加密.加密方法如下,对每一个比特进行运算.
公开密钥系统利用了一个数论的数学原理:如果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加密使用了那个对称密钥系统的密钥,一次来减少运算量.
自此,我们对于如何使得报文具有机密性的讨论就到此结束了.
虽然我们具有是报文获得机密性的能力,但是,这样并不安全,加入我是不法分子,我不知道密文代表了什么,但是我可以随意修改密文的内容啊!!!哈哈哈哈哈.,尴尬我还可以假冒别人发送或者接受信息,哈哈哈哈哈哈哈哈哈哈哈哈哈哈!!!!!
为了防止数据别篡改,我们需要额外的加密方法.
使用了密码散列函数后,依然是不安全的,因为我可以假冒发送方在生成密文m2后,使用散列函数然后生命我就是原本的发送方.哈哈哈哈哈哈哈哈!!!!所以需要在通讯的两者之间共享一个鉴别密钥MAC,他可以是一个字符串,密文和此鉴别密钥会被一同散列,这样我就无法得逞了,哎.
最后,我们还需要证明,这个报文就是我发的,怎么办呢?
我不是不发分子吗?精神错乱了..........................
端点鉴别是一个实体经计算机网络向另一个实体证明其自己的过程.像我们日常中使用的账号密码就是一种端点鉴别.但是,只有账号和密码是不够的.因为我可以通过分组嗅探到你的账号和加密后的密码.以此冒充你的身份.所以在确认账号密码的过程中,需要使用到不重数,他在一个协议的生存期中只会使用一次.你向希望的交互方发送账号和密码,它发送一个不重数给你,你接收到这个不重数后,使用自己的私钥加密,再重新发送个接收方,这样,接收方通过获取你的公钥(CA认证)就可以证明你的身份了.
我们可以通过一些系统来保卫我们的安全
2.3.1防火墙
防火墙是软件和硬件的结合体,他可以讲一个机构的内部网络和整个英特网隔离开,允许一些分组通过,拒绝一些分组通过.
主要有3种:
除了防火墙外,还有入侵检查系统IDS和入侵防卫系统IPS可供使用
以上是网络安全的原理,在这个小节中,则分别通过不同网络层级举例,讨论网络安全的实际情况
电子邮件是如何确保网络安全的呢?其实就是使用上文中提到的对称密钥,公开密钥,散列函数,数字签名综合作用一下.
具体步骤则是:通过散列明文获取散列字符串已提供完整性,然后使用发送方自己的私钥加密此散列结果以提供数字签名.获得的结果和命名级联,使用对称密钥加密,榆次同时,对称密钥则通过获取接收方的公钥加密,级联这两者就可以了.如下图:
SSL握手主要有三个阶段
双方会使用主密钥MS生成4个密钥,即发送方到接收方的会话加密秘钥和MAC密钥以及接收方到发送方的会话加密秘钥和MAC密钥.会话加密秘钥是对称密钥,用于加密数据,MAC密钥则用于完整性检查.
数据的传输以记录为单位,格式如下:
数据会被MAC密钥加密获得完整性(其中会有序号别加密进去保证重排序或者重放报文攻击),然后数据和MAC则被会话加密秘钥再次加密获得机密性.类型字段则用于分辨握手报文还是数据报文,以及用于关闭连接.
IP安全IPsec为网络层提供了安全性.许多机构使用IPsec常见了运行在公共因特网之上的虚拟专用网VPN.这会使此机构的所有主机在互相进行通讯是数据被加密,主要使用ESP协议.如下图:
在从源实体向目的地实体发送IPsec数据报之前,源和目的实体之间会创建一个网络层的单向逻辑连接,被称为安全关联SA.它主要保存了一些信息:32比特标识符称为安全索引参数SPI,初始接口和目的接口的IP地址,加密类型及机密密钥,完整性检查的类型及鉴别密钥.因为SA是单向的,所以两个相连的主机间具有两个SA.
被加密指的的机密性机密,ESPMAC则用于完整性鉴别.
执行过程如下:
无线LAN安全主要用IEEE802.11i协议实现,其组成和步骤如下图所示:
注:本篇文章由《计算机网络:自顶向下方法》第八章:计算机网络中的安全 总结而来,由于本人非计算机专业出身,许多知识实在是理解不能,总结有相当多的遗漏,乃是我看不懂所致,更别说其中内容肯定有大量的理解错误,万望大家提出批评,我好改正。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。