系统安全中的算法

系统安全中的算法
Photo by Collin / Unsplash

1.DES的工作流程,简要介绍

DES是第一种安全的商用密码算法。

DES(Data Encryption Standard)是一种对称密钥加密算法,其工作流程如下:

  1. 密钥生成:首先,需要生成一个密钥,该密钥用于加密和解密信息。DES的密钥长度为64位,但是其中有8位是校验位,所以实际上只有56位可用。
  2. 初始置换(IP):将64位明文输入到DES算法中后,首先会进行初始置换(IP)。初始置换是一种置换操作,它将输入的64位明文重新排列成一个新的64位序列。
  3. 密钥置换(PC-1):接下来,密钥会进行密钥置换(PC-1)。密钥置换是一种置换操作,它将输入的56位密钥重新排列成一个新的56位序列。
  4. 循环左移:接下来,将密钥进行循环左移。循环左移是一种操作,它将密钥的位置向左移动一定的位数。DES算法中,每轮循环左移的位数都是固定的,共有16轮循环左移。
  5. 密钥置换(PC-2):每轮循环左移后,密钥会再次进行密钥置换(PC-2)。
  6. 分组加密:每轮循环左移后,使用当前的密钥进行分组加密。在DES算法中,将64位明文分成两部分,分别称为左部分和右部分。每轮循环左移后,使用当前的密钥对左部分进行加密,然后将加密后的结果与右部分进行异或运算,得到新的左部分。新的左部分即为原来的右部分,新的右部分即为原来的左部分异或上加密后的左部分。这样,64位明文就被加密成了64位密文。
  7. 迭代压缩:每轮循环左移后,对左部分进行迭代压缩。迭代压缩是一种操作,它将左部分压缩成48位,以便与密钥进行比较。
  8. 循环:重复步骤4到7,直到所有的明文都被加密完毕。
  9. 逆初始置换(IP-1):最后,对64位密文进行逆初始置换(IP-1)。逆初始置换是一种置换操作,它将密文重新排列成最终的加密结果。

2.RSA具体步骤

10b37dc768c4bc36bdf04bb98ece2da1.png
9fb2dd2de47d01976958ead0b1860beb.png

3.对称密码体制五要素

  1. 明文(Plaintext):是要加密的信息,也称为未加密信息。
  2. 密钥(Key):是用于加密和解密信息的信息,通常是一个数字或字符串。
  3. 加密算法(Encryption Algorithm):是用于加密信息的算法,它使用密钥对明文进行变换,以生成密文。
  4. 密文(Ciphertext):是加密后得到的信息,也称为已加密信息。
  5. 解密算法(Decryption Algorithm):是用于解密信息的算法,它使用密钥对密文进行变换,以恢复明文。解密算法通常是与加密算法相反的算法,即使用相同的密钥和算法,将密文变换回明文。
在对称密码体制中,使用相同的密钥对明文进行加密和解密,因此称之为对称密码。对称密码体制的优点在于算法简单,加密和解密速度快,但是存在着密钥的管理问题,即如何安全地传递密钥。

4.对称密码和非对称密码优点和缺点

对称密码和非对称密码是两种不同的密码体制,它们各有优点和缺点。

对称密码:优点:

  • 算法简单,加密和解密速度快。
  • 适用于大量数据的加密。

缺点:

  • 密钥的管理问题,即如何安全地传递密钥。

非对称密码:

优点:

  • 公钥和私钥的使用方式使得密钥的管理问题得到了有效解决。
  • 可以用于密钥交换,即在不同的计算机之间安全地传递密钥。
  • 可以用于数字签名,即用于验证信息的发送者身份。

缺点:

  • 算法复杂,加密和解密速度慢。
  • 不适用于大量数据的加密。

5.凯撒密码和维吉尼亚密码

凯撒密码是单表替换密码;维吉尼亚密码是多表替换密码

6.哈希函数

  • 抗碰撞性
  • 压缩性
  • 单向性
不具备可逆性

7.公钥密码体制的工作原理是什么

公钥密码体制是一种用于加密和解密信息的方法,它使用一对密钥来实现信息的加密和解密,其中一个密钥用于加密信息(公钥),另一个密钥用于解密信息(私钥)。

在公钥密码体制中,一个用户(通常称为发送者)希望将一条信息发送给另一个用户(通常称为接收者)。发送者使用接收者的公钥对信息进行加密,然后将加密后的信息发送给接收者。接收者使用自己的私钥解密信息,以便查看原始信息。

公钥密码体制还可以用于数字签名,以确保信息的完整性和可信性。在这种情况下,发送者使用自己的私钥对信息进行签名,然后使用接收者的公钥对签名进行验证。这样,接收者就可以确定信息来自发送者,并且在传输过程中没有被篡改。

具体步骤:
  1. A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。
  2. A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。
  3. A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。
  4. A将这个消息发给B(已经用B的公钥加密消息)。
  5. B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。

8.SSL、IPSec基本概念

SSL(Secure Sockets Layer)是一种网络安全协议,它使用加密来保护网络通信免受窃听、篡改和中间人攻击。SSL通常用于保护Web浏览器和Web服务器之间的通信,例如在购物网站或银行网站上输入密码时。

IPSec(Internet Protocol Security)是一种网络层安全协议,它在Internet层上提供了加密和身份验证功能。IPSec可以用于保护任何网络协议,例如TCP和UDP,并且可以用于保护在私有网络或公共网络(如Internet)上进行的通信。

总的来说,SSL和IPSec都是用于保护网络通信的协议,但它们的工作方式不同。SSL在传输层(也称为应用层)上工作,主要用于保护Web浏览器和Web服务器之间的通信。相反,IPSec在网络层上工作,可以用于保护任何网络协议的通信。

9.握手层与记录层的作用

SSL记录协议层的作用是为高层协议提供基本的安全服务。

SSL记录协议针对HTTP协议进行了特别的设计,使得超文本的传输协议HTTP能够在SSL运行。记录封装各种高层协议,具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。

握手层的协议用于SSL管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥等。

SSL握手协议的作用是协调客户和服务器的状态,使双方能够达到状态的同步。

10.传输模式与隧道模式的工作流程

IPsec有两种操作模式:传输模式和隧道模式。

IPSec隧道模式是默认模式。在隧道模式下,整个原始IP数据包均受IPSec保护。这意味着IPSec包装原始数据包,对其进行加密,添加新的IP标头并将其发送到隧道的另一端(IPSec对等方)。
IPSec传输模式用于端到端通信,例如,用于客户端与服务器之间或工作站与网关之间的通信(如果网关被视为主机)。一个很好的例子是从工作站到服务器的加密Telnet或远程桌面会话。

11.根据过滤规则填充表格

12.包过滤防火墙工作原理和判断方法

包过滤(Packet Filter)是在网络层中根据事先设置的安全访问策略(过滤规则),检查每一个数据包的源IP地址、目的IP地址以及IP分组头部的其他各种标志信息(如协议、服务类型等),确定是否允许该数据包通过防火墙。

当网络管理员在防火墙上设置了过滤规则后,在防火墙中会形成一个过滤规则表。当数据包进入防火墙时,防火墙会将IP分组的头部信息与过滤规则表进行逐条比对,根据比对结果决定是否允许数据包通过。

13.特征检测与异常检测工作方法和优缺点

特征检测:定义收集非正常操作的行为特征(signature),建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵。

优点:实现上较为简单缺点:

  • 处理速度比较慢,需要用解释系统来实现,而解释器比编译器的处理速度慢
  • 规则库维护难度大,相互间的关联性导致更新困难

异常检测:首先总结正常操作应该具有的特征(用户画像),当用户活动与正常行为有重大偏离时即被认为是入侵。

优点:

  • 能够检测新的入侵或从未发送的入侵
  • 对操作系统的依赖性较小;可检测出属于滥用权限型的入侵缺点:
  • 报警率高,行为模型建立困难

14.区别内网、外网、DMZ非军事区概念

内网 (Internal Network) 指一个组织内部的网络,通常由企业、学校或者政府机构等组织使用。内网通常用来连接组织内部的计算机和设备,这些计算机和设备之间可以互相通信,并且可以通过内网访问组织内部的服务和资源。

外网 (External Network) 指与内网相对的网络,也就是互联网。外网是指与内网相对的网络,是指与组织内部网络相连的公共网络,如互联网。

DMZ (Demilitarized Zone) 指分隔内网和外网的一个区域,也称作“解放区”。DMZ 通常包含一些特定的服务器,这些服务器可以提供给外网访问,但是不能直接访问内网。这样可以提高网络的安全性,因为可以限制外网访问内网的能力。

常见的网络架构中,内网通常被隔离在一个安全的环境中,而 DMZ 则被设置在内网和外网之间,作为一个缓冲区。外网只能访问 DMZ 中的服务器,而不能直接访问内网。这样可以有效保护内网免受外部威胁的侵害。

15.Web安全简答题部分

1、SQL注入

1)SQL注入的定义通过构建特殊的输入作为参数传入Web应用程序,最终达到欺骗数据库服务器执行恶意SQL命令的目的。2)SQL注入的种类重言式、基于UNION的注入、基于错误信息利用的SQL注入、盲注等3)SQL注入的步骤  确定数据库、确定表、确定表的结构、获取数据4)SQL注入点   表单、URL、Cookie等。4)SQL注入的防范   检查用户输入的信息,看是否包含SELECT、UNION、or、注释符等;屏蔽数据库返回的错误信息等

2、XSS漏洞

1)定义是Web应用程序的一种安全漏洞,攻击者将恶意脚本代码注入到网页中,其他用户在浏览网页时,恶意脚本就会执行。2)类型反射型、存储型、DOM型3)什么地方会存在xss漏洞接受用户输入,并且把用户输入作为网页内容返回的地方,比如留言板等。4)如何防范XSS漏洞    对用户输入进行检查,看是否包括<script>等。

3、文件上传漏洞

1)定义如果Web服务器没有对上传文件类型进行检查过滤,攻击者有可能上传包含恶意代码的文件(如一句话木马),获取Web服务器系统命令执行权限。2)防范措施

  • 网站开发人员:对用户上传文件类型进行严格检查;对上传文件重新命名;
  • 网站维护人员:定期检查网站中是否有新增的可疑脚本
  • 网站访问人员:具有安全意识,不访问不可信网站,不随意点击可疑的链接;不在不可信网站上留下自己的身份信