Computer network security night train network infrastructure star Fan's blog

In front of several chapters have yet to learn, interest in this chapter is stronger than the previous sections, so learning in advance, made some notes as blog. Whenever these insignificant superficial words before writing blog, I have been subjected to the tide of the baptism of mind. Write something that is dry text. The human mind will change with the daily sunset. . .

bugku exercises did recently do a few ,, but also the good of doing.

Network Security study notes:

 

cyber security

 

Symmetric encryption and asymmetric encryption:

The so-called symmetric encryption , encryption key and the decryption key is the same cryptosystem, this encryption system, also known as symmetric key system .

Symmetric encryption model as shown below:

 

User A sends a plaintext X to B, but by calculating the encryption algorithm E, to obtain the ciphertext Y.

Ya = a (x)

Encryption and decryption key K shown in FIG secret character string is a string (or bit strings). Intercepting and tampering ciphertext may occur during transmission.

B operation using a decryption algorithm D and a decryption key K, the plaintext X. Solution Decryption algorithm is the inverse of the encryption algorithm. During decryption operations without the use of key agreed in advance can not be solved explicitly.

Dk (y) = DK (EK (X)) = X

 

Data Encryption Standard DES belonging to the symmetric key cryptosystem, DES is a block cipher. The first group of the whole plaintext before encryption. Each team leader is 64-bit.

Then for each 64-bit binary data is encrypted, generating a set of 64-bit ciphertext data.

Finally, each group connected in series ciphertext, i.e., the whole ciphertext obtained. Using a 64-bit key (actual key length is 56 bits, 8 bits for parity). 

DES privacy depends only on the secrecy of the key, and the algorithm is public. Although we made a lot of progress in terms of breaking DES, but has yet to find a more effective method than exhaustive search key.

DES is the world's first practical recognized standard cryptographic algorithms , it had developed cryptography has made a significant contribution.

After the emergence of DES IDEA (International's the Data Encryption Algorithm), using 128 as the key, and therefore less likely to be broken.

 

Asymmetric encryption is to use a different encryption key and decryption key, also known as public key cryptography .

The most famous of existing public-key cryptosystem is RSA system, which is based on the number of institutions in integer factorization problem,, Shamir and Adleman three scientists Rivest proposed by the United States in 1976 and formally published in 1978.

In public-key cryptosystem, the encryption key (i.e. public key) PK is the public information, the decryption key (i.e. private or secret key) SK is confidential.

Encryption algorithm decryption algorithm D and E are also disclosed.

While the secret key SK was determined by the public key PK, but can not be calculated according to SK PK.

 

Public key encryption model is as follows:

 

A sender uses the public key of PKB B after encrypting the plaintext X (E op) pair, the recipient B to decrypt with his private SKB (D operation) to recover the plaintext:

 

Recipient-specific decryption key is secret key, others are confidential. The encryption key is public, but it can not be decrypted, i.e.,

 

Encryption and decryption operations can be reversed, i.e.,

 

Real estate on a computer can easily generate the PK and SK. From the known PK it is virtually impossible to derive SK, SK i.e. from PK to be "computationally impossible." Encryption and decryption algorithms are public.

In public key cryptography, it seems that as long as each user has other user's public key, secure communications can be achieved, it is not true, it is envisaged to deceive the user A user B, A to B can send a forged C is transmitted message, B C how do I know this is not the public do?

This requires a trusted institution - the authentication center CA (Certification Authority), corresponding to the public key of the entity (person or machine) binding (binding).

认证中心一般由政府出资建立。每个实体都有CA发来的证书(certificate),里面有公钥及其拥有者的标识信息。此证书被 CA 进行了数字签名。任何用户都可从可信的地方获得认证中心 CA 的公钥,此公钥用来验证某个公钥是否为某个实体所拥有。有的大公司也提供认证中心服务。

 

数字签名

数字签名必须保证以下三点:

(1) 报文鉴别——接收者能够核实发送者对报文的签名;

(2) 报文的完整性——发送者事后不能抵赖对报文的签名;

(3) 不可否认——接收者不能伪造对报文的签名。

现在已有多种实现各种数字签名的方法。但采用公钥算法更容易实现。 

 

为了进行签名,A用其私钥SKA对报文X进行D运算。D运算本来叫做解密运算,虽然还没有对X进行加密,但实际上没关系,因为D运算只是为了得到某种不可读的密文。A把经过D运算得到的密文传送给B。B为了核实签名,用A的公钥进行E运算,还原出明文X。请注意,任何人用A的公钥PKA进行E运算后都可以得出A发送的明文。可见,上图中D运算和E运算不是为了解密和加密,而是为了进行签名和核实签名。

下面分析一下为什么数字签名具有上述的三点功能:

因为除 A 外没有别人能具有 A 的私钥,所以除 A 外没有别人能产生这个密文。因此 B 相信报文 X 是 A 签名发送的。

若 A 要抵赖曾发送报文给 B,B 可将明文和对应的密文出示给第三者。第三者很容易用 A 的公钥去证实 A 确实发送 X 给 B。

反之,若 B 将 X 伪造成 X’,则 B 不能在第三者前出示对应的密文。这样就证明了 B 伪造了报文。 

但是上述过程仅对报文进行了签名,却没有加密。因为截获了密文并知道发送者身份的任何人,通过查阅手册即可获得发送者的公钥,因为能知道报文的内容。采用下图所示的方法,就可同时实现秘密通信和数字签名:

 

 

报文鉴别

许多报文并不需要加密但却需要数字签名,以便让报文的接收者能够鉴别报文的真伪。然而对很长的报文进行数字签名会使计算机增加很大的负担(需要进行很长时间的运算。当我们传送不需要加密的报文时,应当使接收者能用很简单的方法鉴别报文的真伪。

报文摘要MD(Message Digest)是进行报文鉴别的简单方法。

 

A 将报文 X 经过报文摘要算法运算后得出很短的报文摘要 H。然后然后用自己的私钥对 H 进行 D 运算,即进行数字签名。得出已签名的报文摘要 D(H)后,并将其追加在报文 X 后面发送给 B。

B 收到报文后首先把已签名的D(H) 和报文 X 分离。然后再做两件事:

(1)用A的公钥对 D(H) 进行E运算,得出报文摘要 H 。

(2)对报文 X 进行报文摘要运算,看是否能够得出同样的报文摘要 H。如一样,就能以极高的概率断定收到的报文是 A 产生的。否则就不是。

 

仅对短得多的定长报文摘要 H 进行数字签名要比对整个长报文进行数字签名要简单得多,所耗费的计算资源也小得多。

但对鉴别报文 X 来说,效果是一样的。也就是说,报文 X 和已签名的报文摘要 D(H) 合在一起是不可伪造的,是可检验的和不可否认的。

报文摘要算法就是一种散列函数。这种散列函数也叫做密码编码的检验和。报文摘要算法是防止报文被人恶意篡改。

可以很容易地计算出一个长报文 X 的报文摘要 H,但要想从报文摘要 H 反过来找到原始的报文 X,则实际上是不可能的。

若想找到任意两个报文,使得它们具有相同的报文摘要,那么实际上也是不可能的。

MD5(Message-Digest Algorithm 5)已获得了广泛的应用。它对任意长的报文进行运算,然后得出128位的MD5报文摘要代码。

另一种标准叫做安全散列算法SHA(Secure HashAlgorithm),它和MD5相似,但码长为160位。SHA比MD5更安全,但计算起来也比MD5要慢些。

 

安全套接层SSL

SSL(Secure Socket Layer)为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密技术,可确保数据在网络上之传输过程中不会被截取及窃听。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL可对万维网客户与服务器之间传送的数据进行加密和鉴别,它在双方的联络阶段(也就是握手阶段)对将要使用的加密算法(如DES或RSA等)和双方共享的回话密钥进行协商,完成客户与服务器之间的鉴别。在联络阶段完成之后,所有传送的数据都使用在联络阶段商定的会话密钥。

SSL不仅被所有常用的浏览器和万维网服务器所支持,而且也是运输层安全协议TLS(Transport Layer Security)的基础。

 在发送方,SSL接受应用层的数据(如HTTP或IMAP报文),对数据进行加密,然后把加了密的数据送往TCP套接字。在接收方,SSL从TCP套接字读取数据,解密后把数据交给应用层。

SSL提供一下三种服务:

(1)认证用户和服务器,确保数据发送到正确的客户机和服务器;

(2)加密数据以防止数据中途被窃取;

(3)维护数据的完整性,确保数据在传输过程中不被改变。

SSL工作原理的示意图如下:

 

 

SSH

SSH Secure Shell 的缩写,SSH为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

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

 

从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证

只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

 

第二种级别(基于密匙的安全验证

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。

第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。

 

SSL与SSH虽然只有一个字母的差别,但是两者不是一个范畴,如果硬要将两者作比较,SSH和SSL的关系可以这么理解, SSH是用SSL协议构建的一个类似telnet的应用,即:SSH = TELNET + SSL。

 

防火墙

防火墙是由软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施接入控制策略。接入控制策略是由使用防火墙的单位自行制订的,为的是可以最适合本单位的需要。

防火墙内的网络称为“可信的网络”(trustednetwork),而将外部的因特网称为“不可信的网络”(untrusted network)。防火墙可用来解决内联网和外联网的安全问题

 

 

防火墙的功能有两个:阻止允许

“阻止”就是阻止某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来)。

“允许”的功能与“阻止”恰好相反。

防火墙必须能够识别通信量的各种类型。不过在大多数情况下防火墙的主要功能是“阻止”。

 

防火墙技术一般分为两类:

(1) 网络级防火墙——用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤和授权服务器。前者检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据,而后者则是检查用户的登录是否合法。

(2)应用级防火墙——从应用程序来进行接入控制。通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许通过访问万维网的应用,而阻止 FTP 应用的通过。

 

分组过滤是靠查找系统管理员所设置的表格来实现的。表格列出了可接受的、或必须进行阻拦的目的站和源站,以及其他的一些通过防火墙的规则。

我们知道,TCP的端口号指出了在TCP上面的应用层服务。例如,端口号23是TELNET,端口号119是USENET,等等。如果在因特网进入防火墙的分组过滤路由器中所有目的端口号为23的分组都进行阻拦,那么所有外单位用户就不能使用TELNET登录到本单位的主机。同理,如果某公司不愿意其雇员在上班时间花费大量的时间去看因特网的USENET新闻,就可将目的端口号为119的分组阻拦住,使其无法发送到因特网。

阻拦向外发送的分组很复杂,因为有时它们不使用标准的端口号。例如FTP常常是动态地分配端口号。阻拦UDP更困难,因为事先不容易知道UDP想做什么。许多分组过滤路由器干脆将所有的UDP全部阻拦。

应用网关是从应用层的角度来检查每一个分组。例如,一个邮件网关在检查每一个邮件时,要根据邮件的首部或豹纹的大小,甚至报文内容(例如,有没有某些像“导弹”、“核弹头”等敏感词汇)来确定该邮件能否通过防火墙。

 

 

Guess you like

Origin blog.csdn.net/weixin_44740377/article/details/90171903