一、网络安全概述
1. 基本概念
网络安全通信所需要的基本属性:
- 机密性;
- 消息完整性;
- 可访问与可用性;
- 身份认证。
2. 网络安全威胁
- 窃听;
- 插入;
- 假冒;
- 劫持;
- 拒绝服务Dos和分布式拒绝服务DDos;
- 映射;
- 嗅探;
- IP欺骗。
二、数据加密
1. 基本概念
明文:未加密的消息。
密文:被加密的消息。
加密:伪装消息以隐藏消息的过程,即明文转变为密文的过程。
解密:密文转变为明文的过程。
2. 传统加密方式
-
替代密码 用密文字母代替明文字母。 -
换位密码 根据一定的规则重新排列明文。
3. 对称密钥加密
现代密码分类:
- 对称密钥密码:加密密钥和解密密钥相同(密钥保密)。
- 非对称密钥密码:加密密钥和解密密钥不同。
对称密钥密码分类:
4. 非对称/公开密钥加密
密钥成对使用,其中一个用于加密,另一个用于解密,且加密密钥可以公开,也称公开密钥加密。
典型的公钥算法:Diffie-hellman算法、RSA算法。
三、消息完整性与数字签名
1. 消息完整性检测方法
密码散列函数:
-
特性: 定长输出(当输入一组数据时,不管该组数据的长度是多少,都能输出固定长度结果,即固定长度的散列值); 单向性(无法根据散列值逆推报文); 抗碰撞性(无法找到具有相同散列值的两个报文)。 -
典型散列函数 MD5:128位散列值 SHA-1:160位散列值
2. 报文认证
报文认证是使消息的接收者能够检验收到的消息是否是真实(即来源真实、未被篡改)的认证方法。
报文认证的两种方法:
简单报文验证:仅使用报文摘要(即密码散列散列函数),可以防篡改,但不能防伪造,不能真正实现报文鉴别。
-
散列函数问题
报文认证码:使用共享认证密码(即收发双方协商好一固定密钥),但无法防止接受防篡改。
3. 数字签名
数字签名的三个功能:
-
实体鉴别:证明来源。 -
报文鉴别:防篡改,保证完整性。 -
不可否认:防抵赖。
有两种签名方法:
-
简单数字签名:直接对报文签名 通常使用公钥加密,但是直接加密报文所使用的计算量过大。 -
签名报文摘要 上图展示了签名报文摘要的工作流程,Bob对报文m应用散列函数H生成报文摘要H(m),然后Bob通过其私钥KB+对报文摘要进行加密生成加密的报文摘要KB-(H(m)),将扩展报文(m,KB-(H(m))))发送给Alice。假设Alice收到报文以及加密的报文摘要(m,KB-(H(m)))),Alice利用Bob的公钥解密KB+解密KB-(H(m)),并检验KB+(KB-(H(m)))来证实报文是否是Bob签名的。如果KB+(KB-(H(m)))=H(m)成立,则签名报文的一定是Bob的私钥。
四、身份认证
常用的认证方法:
-
口令:会被窃听; -
加密口令:可能遭受回放(重放)攻击; 重放:攻击者截获加密口令,之后再把它重新发给认证服务器,这样即使攻击者不知道正确口令,也能通过认证。 -
加密一次性随机数:可能遭受中间人攻击。 使用一次随机数的基本过程:
- Alice向Bob发送报文“我是Alice”
- Bob选择一个一次性随机数然后把这个值发送给Alice。
- Alice使用她与Bob共享的对称秘密密钥KA-B来加密这个一次性随机数,然后把加密的一次性随机数KA-B?发回给Bob。由于Alice知道KA-B并用它加密了R,就使得Bob知道收到的报文是由Alice产生的,于是,这个一次性随机数便可用于确定Alice是活跃的。
- Bob解密接收到的报文。如果解密得到的一次性随机数等于他发送给Alice的那个一次性随机数,则可确认Alice的身份。
该方法的缺点是需要通信双方共享密钥,一个改进的方法是,在使用一次性随机数的基础上,再利用公钥加密技术:
- Alice向Bob发送报文“我是Alice”。
- Bob选择一个一次性随机数,然后把这个值发送给Alice。
- Alice使用她的私钥来加密R,然后把加密结果发回给Bob。
- Bob向Alice索要她的公钥。
- Alice向Bob发送自己的公钥。
- Bob用Alice的公钥解密收到的报文。如果解密得到的一次性随机数等于他发送给Alice的那个一次性随机数R则可确认Alice的身份。
加密一次性随机数和公钥加密技术进行身份认证会遭受中间人攻击: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EnCyXzJq-1643292760594)(D:/llf/Snipaste/202201271901806.png)] Alice向Bob发送消息,但是发送的消息被中间人Trudy劫持;Trudy劫持消息后将其转发给Bob;Bob收到消息后向他认为的“Alice”发送一次性随机数同样被Trudy动持;Trudy将一次性随机数转发给Alice;Alice收到后,向她认为的“Bob”发送用自己私钥加密的一次性随机数;与此同时,Trudy也向Bob发送用自己私钥加密的一次性随机数,并向Alice索要Alice的公钥;Bob收到加密后的一次性随机数后,向“Alice”索要公钥;然后,Trudy成功获取了Alice发来的公钥KA,并将自己的公钥碍发送给Bob。至此,Trudy己经完全成为了“中间人”,Bob与Alice可以收到彼此发送的所有信息,但同时Trudy也收到了所有信息。再之后,Bob会用Trudy的公钥加密消息,而此时Trudy只需要使用自己的私钥解密,就可以获取信息。 这中间最主要的问题是,公钥被替换,也就是无法确认一个公钥到底是谁的。
五、密钥分发中心与证书认证
1. 密钥分发中心
基于KDC的密钥生成和分发:
2. 证书认证机构
认证中心CA:将公钥与特定的实体绑定,为实体颁发数字证书。
数字证书是对公钥与其对应的实体 (人或机器) 进行绑定的一个证明。每个证书中写有公钥及其拥有者的标识信息(例如:人名、地址、电子邮件地址或IP地址等)。
注意:
-
证书中有A使用自己私钥的数字签名。 -
把CA的数字签名和未签名的B的证书放在一起,就最后构成了已签名的B的数字证书。 -
证书被CA进行了数字签名,是不可伪造的。 -
任何用户都可从可信任的地方(如代表政府的报纸)获得认证中心CA的公钥,以验证证书的真伪。数字证书是公开的,不需要加密。
分发数字证书的过程如下:
已签名的B的数字证书的生产过程:
核实数字证书的过程:
A拿到B的数字证书后,使用数字证书上给出的CA的公钥,对数字证书中CA的数字签名进行E运算(解密),得出一个数值。再对B的数字证书(CA数字签名除外的部分)进行散列运算,又得出一个数值。比较这两个数值。若一致,则数字证书是真的。
六、防火墙入侵检测系统
1. 防火墙基本概念
防火墙:能够隔离组织内部网络与公共互联网,允许某些分组通过,而阻止其他分组进入或离开内部网络的软件、硬件或者软件硬件结合的一种设施。只有符合安全规则的信息才能通过防火墙(从外部到内部或从内部到外部)。
前提:从外部到内部和从内部到外部的所有流量都经过防火墙。
2. 防火墙的分类
-
无状态分组过滤器 基于特定的规则(不考虑通信状态,仅仅是通过IP地址或端口号来判断)对分组是通过还是丢弃进行决策。 使用访问控制列表(ACL)实现防火墙规则。 -
有状态分组过滤器 跟踪每个TCP连接建立、拆除,根据状态确定是否允许分组通过。 -
应用网关 鉴别用户身份或针对授权用户开放特定服务。
3. 入侵检测系统IDS
入侵检测系统(IDS)是当观察到潜在的恶意流量时,能够产生警告的设备或系统。
七、网络安全协议
1. 安全电子邮件
电子邮件安全需求
- 机密性;
- 完整性;
- 身份认证性;
- 抗抵赖性。
安全电子邮件标准:PGP
2. 安全套接字层SSL(TLS)
-
SSL是介于应用层和传输层之间的安全协议。 -
SSL作用在TCP之上建立起一个安全通道,为通过TCP传输的应用层数据提供安全保障。 -
1999年,IETF在SSL 3.0基础上设计了TLS 1.0,为所有基于TCP的网络应用提供安全数据传输服务。 -
TLS的位置 在发送方,TLS接收应用层的数据,对数据进行加密孬然后把加密后的数据送往TCP套接字。 在接收方,TSL从TCP套接字读取数据,解密后把数据交给应用层。 -
TLS建立安全会话的工作原理 TLS的握手阶段:验证服务器,生成会话阶段所需的共享密钥
- 协商加密算法。①浏览器A向服务器B发送浏览器的TLS版本号和一些可 选的加密算法。②B从中选定自己所支持的算法(如RSA),告知A, 同时把自己的CA数字证书发送给A。
- 服务器鉴别。③客户A用数字证书中CA的公钥对数字证书进行验证鉴别。
- 生成主密钥。④客户A按照双方确定的密钥交换算法生成主密钥MS。⑤客户A用B的公钥PKB对主密钥MS加密,得出加密的主密钥PKB(MS),发送给服务器B。
- 服务器B用自己的私钥把主密钥解密出来。⑥:SKB(PKB(MS))=MS。这 样,客户A和服务器B都有了为后面数据传输使用的共同的主密钥MS。
- 生成会话密钥⑦和⑧。为了使双方的通信更加安全,客户A和服务器B最好使用不同的密钥。主密钥被分割成4个不同的密钥。每一方都拥有这样4个密钥(注意:这些都是对称密钥):
- 客户A发送数据时使用的会话密钥KA
- 客户A发送数据时使用的MAC密钥MA
- 服务器B发送数据时使用的会话密钥KB
- 服务器B发送数据时使用的MAC密钥MB
3. 虚拟专用网VPN和IP安全协议IPSec
-
VPN 建立在公共网络上的安全通道,实现远程用户、分支机构、业务伙伴等与机构总部网络的安全连接,从而构建针对特定组织机构的专用网络。 关键技术:隧道技术,如IPSec。 -
典型的网络层安全协议一IPSec 提供机密性、身份鉴别、数据完整性验证和防重放攻击服务。 体系结构:认证头AH协议、封装安全载荷ESP协议。 运行模式:传输模式(AH传输模式、ESP传输模式)、隧道模式(AH隧道模式、ESP隧道模式)。
参考视频:https://www.bilibili.com/video/BV1xJ41137Q3?p=45
参考资料:《计算机网络(第8版)》—— 谢希仁
|