<<信息安全>>复旦大学.李景涛

一、 古典密码学

信道本身是不安全的。
对信息做安全变换,在信道上传输,接收方做安全反变换,还原信息。

1 对称密钥密码模型(Symmetric Cipher Model)

(1)对称密钥密码模型

羊皮传书;
藏头诗;
凯撒密码:最早的替代密码,明文与加密文有固定的替换关系;

概念:
明文P:plaintext
密文C:ciphertext
密钥K:key
加密E:encipher(encrypt)
解密D:decipher(decrypt)
以上五个要素,组成了密钥系统,称为“ 对称密钥密码模型”(Symmetric Cipher Model)

(2)密码学的基础假设

密码的共享问题
在通信开始之前,双方要共享密钥。通过带外的方式传递。

假设:秘密必须全部依赖于密钥。
即便在加密算法公开的情况下,加密传输还是安全的。

保密算法公开的好处:接收全世界技术人员的检验,查找算法的漏洞。

美国军方的加密算法是公开的;
中国军方的加密算法是不公开的,但是接收了大量的攻击测试;
商用加密算法是公开的;

密钥是易于更换的;
算法是难于更换的;

密码编码学:cryptography;
密码分析学:cryptanalysis;
密码学:cryptology;

密码学分类:
分类一:
替代密码:Substitution(明文与密文有映射关系);
置换密码:Transposition(位置发生变换);
乘积密码:Product(多轮的替代与置换);
分类二:
对称密钥密码(单密钥密码);
非对称密钥密码系统(双密钥系统,公私钥密码系统,公开密钥密码系统)
分类三:
分组密码(Block),先分组再加密,主要用在商用系统;
流密码(Stream),来一个符号加密一个符号,主要用于军方系统;

2 如何设计好的密码算法

(1)Caesar密码与单字母表密码

Caesar密码的密钥数量只有25个,明文有冗余信息存在,可以被识别出,这种系统容易采取穷举攻击。

单字母表密码,密钥数量26!=2625…*1,利用穷举攻击,需要10^6年。
可以用频率分析的方法,根据词频分析。可以统计不同字母的出现频率有不同的分布。
单字母表密码系统并没有屏蔽词频信息。

理想的可靠的加密算法,攻击者只能用穷举密钥的方式才能解密,这样破解密钥的消耗是可以预估量化的。

无条件安全,unconditional security:将设攻击者有足够的算力和足够的时间,也无法解密;
计算上安全,computational security:攻击者的计算资源和时间有限的情况下,是无法解密的;

在实际中,无条件安全是不存在的,只有计算上安全。

(2)Playfair密码

如何提高单字母表密码的安全性?
多对一思路:将明文先分组,一次加密多个字母,将block作为单位进行替代;
一对多思路:明文中的一个字母,在密文中被多个字母替代;

多对一的例子Playfair密码:
一次加密两个字母,block大小为2;

(3)Vignere密码

二、公开密钥密码学

1. 对称密钥密码的密钥交换问题

在利用加密通信之前,需要事先交换密钥。
对称加密算法,加密实现容易,但密钥交换是个问题。

2. 公钥密码模型提出

每个有一对密钥:公钥、私钥;
用A的公钥对明文加密,生成密文,只有A的私钥才能对这份密文解密。
公钥属于公开信息,可以放在公开信息栏种。
攻击者解密需要获得:密文、加解密算法、密钥;缺一不可。

公开密码密码是1970年代的新技术,书写了密码技术的新篇章。
公开密钥密码算法往往使用数论种的一些函数精心构造。
补充而非取代对称密钥密码。
公开密钥密码的加密过程计算量大。
公开密码密码可用在密码交换场景。

3. 设计公钥密码的基本要求

参与方B容易产生一对公私密钥;(要足够随机,无法人为产生密钥对碰撞)
发送方A容易利用B公钥产生密文;(容易:是指计算复杂度较低)
接收方B容易利用私钥解密密文;
攻击方已知B公钥,无法计算出B私钥;(无法计算,也称计算不可行,是指只能蛮力求解,计算复杂度可预估)
攻击方已知B公钥、密文,无法计算出明文;
密钥对互相之间可以交换使用:用公钥加密、可用私钥解密,用私钥加密、可用公钥解密;

4. 数字签名

理论基础:公开加密的密钥对互相之间可以交换使用;

签名有效性的要求:(1)可认证,证明身份;(2)抗抵赖;

签名方法:用私钥对明文进行加密;

公开密钥密码能够提供的安全服务

包含三类:
保密通信:公开密钥密码和对称密钥密码都能实现;
密钥交换:只有公开密钥密码能实现这个功能;
数字签名:只有公开密钥密码能实现这个功能;

并不是所有的公开密钥算法都可以实现这三个安全服务

RSA算法 Diffie-Hellman算法 DSA算法
保密通信 Y N N
密钥交换 Y Y N
数字签名 Y N Y

5. RSA算法

1977年,Rivest、Shamir和Adleman三人实现了公开密钥密码体制,可用于密钥交换、数字签名。
是一种分组加密算法:将明文先分组,然后再加密。
是目前使用最为广泛密码的算法。
理论基础是数论种的一下论断:
要求求得两个大素数的乘积是容易的,但要分解一个合数为两个大素数的乘积,则在计算上几乎是不可能的。
基于最大整数做因式分解的难题。

RSA密钥生成的步骤:

(1)生成两个足够大的随机素数p和q;
(2)计算这两个素数的乘积n=pq;
(3)计算小于n并且与n互质的整数的个数,即欧拉函数phai(n)=(p-1)
(q-1);
(4)选择一个随机数e满足:1 (5)解方程ed=1mod phai(n),求出d;ed 除以phai(n)的余数,等于1;
(6)保密d,销毁p和q,公开n和e;
(7)公钥公开:PU={e,n};
(8)私钥保密:PR={d,n};

如何得到足够大的随机素数p和q?
首先产生足够大的随机数,然后用素数判定算法检测是否为素数;常用的两个素数判定算法:Solovay-Strassen, Miller-Rabin;

RSA的使用

加密:
已知明文M,公钥PU={e,n};
计算密文:C=M^e mod n,where 0<=M

解密:
已知密文C,私钥PR={d,n};
计算明文:M=C^d mod n;

在加密和解密运算中都采用了模指数运算,可用一些巧妙算法降低运算量;

RSA算法的安全性

理论上,RSA的安全性取决于模n分解的困难性。目前最快的分解因子算法其时间复杂性为O(exp(sqr(ln(n)*ln(ln(n)))));
并没有证明分解大整数就是NP问题,并不排除未发现的算法可以解决此问题。
目前,RSA的一些变种算法已经被证明等价于大数分解。

到目前位置RSA被认为是最安全的。

6. 公钥密码的特征总结

加密与解密又不同的密钥完整;
知道其中一个密钥,无法推算另外一个密钥;
公钥和密钥可以互换使用;

单向函数:计算f(x)容易,计算其逆不可行;

可提供单项函数的三大数学难题:

大数分解难题(IFP);
离散对数难题(DLP)
椭圆曲线离散对数问题(ECDLP);

单向陷门函数:
对于一个函数f(x),如果其逆函数invf(y)在已知某些辅助信息情况下容易求解得出,则称该单向函数f(x)为单向陷门函数;

构造公钥密码系统的关键实在如何求解某个单向函数的逆函数的NP完全问题中设置合理的“陷门”。

7. Diffie-Hellman密钥交换算法

1976年 Diffie和Hellman首次提出了公开密钥密码体制的思想。

最早应用在局域网环境中,每个局域网参与者都可以共享密钥。

单元测试2

三、报文鉴别与哈希函数

1. 安全服务与安全需求

信息安全的需求又很多种,通信安全仅仅是其中一种。
保密性(Confidentiality):防止未经授权的访问,包含数据读取、系统访问控制;
完整性(Integrity):防止篡改;
可用性(Availability):业务连续性,任何时候合法用户的访问请求都可以被满足;应对拒绝服务攻击;
可认证(Authentication):通信人的身份是可以被确认的;
抗抵赖(Non-repudiation):对发生的事情无法否认;

2. 报文鉴别的安全需求

报文鉴别是指怎样的安全需求?

报文鉴别的三重含义(安全需求):
(1)保护报文的完整性;
(2)验证发送者的身份;
(3)抗抵赖:防止报文发送者抵赖;

尝试以下三种方案实现报文鉴别:
(1)报文加密
(2)报文鉴别码
(3)HASH函数

并不是每种方案都可以实现以上的全部方案;

3. 对报文加密来实现报文鉴别

对称密钥:收到的密文可以解密为明文,但难以自动确定报文是否被篡改。报文应具有合适的结构,冗余的信息或校验和来检测报文是否被更改。
不能提供抗抵赖服务,A与B都可以构造报文。

公钥加密:不能实现任意一种报文鉴别,因为任何人都知道接收者B的公钥,都可以利用B的公钥加密。

私钥签名:不具备保密性,任何人都知道公钥;一定程度上可以确保报文的完整性;可以验证A的身份;可以防止发送者抵赖;

先私钥签名后公钥加密:报文M先用A的私钥加密,再用B的公钥加密;这种方法可以提供报文鉴别的三种需求。

4. 报文鉴别码

用加密实现报文鉴别的缺点:
(1)计算开销大;
(2)难以自动实现;

专用方案:报文鉴别码MAC(Message Auto Code)
固定长度比特串;
由报文鉴别码算法生成(类似于对称密钥算法,但不可逆);
附加到报文种用于鉴别;

为什么用MAC?
有时候只需要报文鉴别;
有时候需要长时间保存数据完整性;

注意:MAC不是数字签名;

报文鉴别码的第2种用法:
E(K2,M||C(K1,M))
A和B共享密钥K1,K2;先用K1生成报文鉴别码,再用K2加密整个报文;

5. 哈希函数

h=H(M)
哈希函数没有密钥;
哈希函数主要用来鉴别报文内容没有被更改;

hash函数的最常应用场景是构造数字签名:
M||E(PRa,H(E))
先对报文求hash,对hash签名放在报文末尾;
既可以保证报文完整性,又可以防止恶意篡改。

对哈希函数的要求:
(1)可应用于任意长度的报文M;
(2)生成固定长度的输出h;
(3)容易计算;
(4)单行性,不可逆;
(5)弱抗碰撞性;找到x与给定y具有相同h;
(6)强抗碰撞性;找到任意x,y具有相同h;

hash的6种应该用场景:
(a)a->B: E(K,[M||H(M)])
先对报文求hash,放在报文末尾;
然后用对称密钥K对所有内容进行加密,生成密文;
具有保密性:A和B共享密钥K;
可确保完整性;
可以验证发送者身份(因为仅有AB拥有密钥K);
不具备抗抵赖性:B可以伪造A发来的数据;

(b)a->B: M||E(K,H(M)]
对报文取hash,加密后与报文拼接;
可确保报文完整性;
可验证发送者身份:A和B共享密钥K;
不具备保密性:暴露了明文;
不具备抗抵赖性:B可以伪造A发来的数据;

(c)a->B: M||E(PRa,H(M)]
对报文取hash,A签名后,与报文拼接;
具备报文鉴别的3种服务;
不具备保密性:暴露了明文;

(d)a->B: E(K,[M||E(PRa,H(M))])
先对报文求hash,A再对hash签名,放在报文末尾;
然后用对称密钥K对所有内容进行加密,生成密文;
具备报文鉴别的3种服务;
具有保密性:A和B共享密钥K;

(e)a->B: M||H(M||S)
计算报文和随机数的hash,拼接到报文末尾;
A和B共享随机数S;
可确保完整性;
可以验证发送者身份(因为仅有AB拥有随机数S);

(f)a->B:E(K, M||H(M||S))
计算报文和随机数的hash,拼接到报文末尾;
A和B共享随机数S,对称密钥K;
可确保完整性;
可以验证发送者身份;
具有保密性;

目前公认最好的hash函数:SHA-1,SHA-256,SHA-384, SHA512;

6. 生日攻击

生日悖论:在一组23名人中,至少2人相同生日,概率为50%,当50名时,概率为70%;

一般描述:空间容量为N,群组人数为r,碰撞的概率P=1-exp(-r^2/(2N));

单元测试3

四、公开密钥基础设施(PKI)

public key infrastructure

公钥技术回顾

建立在非对称密钥密码学基础上;
可以实现:保密性;数字签名,签名可以保证完整性(hash防篡改),可认证性(谁签名),抗抵赖性(不可伪造);

PKI之动机

公开密钥用来交换对称密钥、数字签名;

问题:如何验证公钥是某人的,而不是伪造者的?

PKI之动机:如何实现公钥与身份建立联系?

证书信息:持有者的身份信息和某种属性;第三方信息;

数字世界的证书(Digital certificate):
(1)主体的身份信息;
(2)主体的公开密钥;
(3)证书授权中心(CA)名称;
(4)CA的证明(数字签名);

密钥生命周期:
密钥产生、证书签发、密钥使用(密钥验证)、密钥过期;

数字证书格式

数字证书实现了身份与公开密钥的绑定;
证书的权威性取决于该机构(CA)的权威性;

由于证书在互联网系统,异构系统传播,需要定义统一格式。
常用X.509国际标准,格式如下:
(1)版本:Version1,2,3;
(2)序列号:Certificate Serial Number,在CA内部唯一;
(3)签名算法标识符:该证书CA的签名算法;
(4)签发人名字:CA的名字;
(5)有效时间:起始和终止时间;
(6)主体名字;
(7)主体的公钥信息:算法、参数、公开密钥;(主体的签名算法独立与CA的签名算法);
(8)签发人唯一标识符;(Version 2)
(9)主体唯一标识符; (Version 2)
(10)扩展域;(Version 3:包含丰富的扩展信息,例如查询证书是否被注销)
(11)签名(指纹,CA对证书签名);

PKI的组成

KPI三个层面组成:
(1)底层:
PKI strategy;定义了一个组织安全信息的指导方针;
software and hardware systems;

(2)中间层:
certificate authority(CA,证书授权中心),
狭义CA的职能:签发证书,签发证书注销列表;

registration authority(RA,证书登记中心),
验证用户身份,与用户由物理接触;

certificate issuance system(证书发布系统)
放在服务器上,证书发布与被查阅;

(3)上层:
PKI application(证书应用系统);

证书的撤销机制
各种原因导致证书需要被撤销:私钥泄露,密钥更换,用户变化(企业信息变更);
CRL(证书注销列表)格式:X.509 V2 CRL;

PKI信任关系

单CA模型:全世界只有一个CA机构,不存在信任关系。

多CA模型:
A为CA1的用户,得到了B的CA2证书,如何信任该证书?

CA层次结构的建立:
根CA;
层次CA,叶节点CA;
维护这棵树需要两棵树:前向树,后向树;
证书链:一级一级验证证书的合法性;
仅信任根CA签发给自己的证书。

如何解决两棵CA树之间的信任关系:
交叉认证:树的根CA相互给对方的根CA签发证书;(可分为单向认证和双向认证)
交叉认证可以做约束:名字空间范围约束、路径长度约束;

PKI的应用

PKCS系列标准;

单元测试4

五、身份认证

身份认证的基本概念

基于口令的身份认证

质询与应答认证技术

Needham-Schroeder协议

KERBEOS协议解决的问题

单元测试5

六、Web与电子商务安全

密码学基础:安全协议(PKI,身份认证协议);作为支撑实现:系统安全、应用安全、网络安全;

1. 信息安全的学科内容

密码理论

数字加密
数字签名
消息摘要
密钥管理

安全理论

(与密码学关系密切)
身份验证
访问控制
审计追踪
安全协议

安全技术

(与密码学关系不大,与网络攻防关系密切)
防火墙技术
漏洞扫描技术
入侵检测技术
防病毒技术

平台安全

物理安全
网络安全
系统安全
数据安全
边界安全
用户安全

安全目标

机密性Confidentiality
完整性Integrity
抗抵赖
可用性

安全服务安全需求

  1. 机密性 Confidentiality
  2. 完整性 Integrity
  3. 可用性 Availability
  4. 可认证 Authentication
  5. 抗抵赖 Non-repudiation

2. Web和电子商务安全问题提出

Web,EC定义

Web定义,又称WWW(World Wide Web)

Web系统的脆弱性:
Web是外网可见;
复杂的软件存在漏洞;
Web站点容易配置和管理;
可作为跳板发起对内网的攻击;
用户没有意识到威胁的存在;

威胁有哪些

原生的基于Http协议的Web应用面临多种威胁:

  1. 保密性;否,基于Http协议明文传输,可被中间人获取,如果广播则所有人都可以看到信息内容;
  2. 完整性;否,攻击者在报文经过的路由器可篡改;
  3. 可用性;否,拒绝服务攻击;
  4. 可认证;否,有一部分有认证;仅仅Http协议,没有对web服务器认证,某些场景只有对浏览器的身份认证;

结论:基于原生的http需要增加安全机制;

哪里会有威胁

网络上:
网络窃听,报文篡改;

服务器端:
网络钓鱼Phising,使用相同口令;

浏览器端:
恶意软件(间谍软件,木马软件);

EC 电子商务

电子商务主要通过Web实现,存在问题与Web相同;

3. 安全套接字协议SSL与传输层安全协议TLS

安全套接字协议SSL(Secure Socket Layer)最初由网景(Netscape)公司开发,由V1.0,V2.0, V3.0三个版本;
后来称为Internet标准,名称改为TLS(Transport Layer Security),即传输层安全协议;
TLS working group in IETF;IETF组织中的TLS 工作组;
TLS V1.0被认为是SSL V3.1;

安全机制可以在传输层、网络层、应用层由相应的实现方案:
网络层(Network Level):IP/IPSec;
传输层(Transport Level):SSL or TLS;
应用层(Application Level):SET,PGP,S/MIME,Kerberos;

在应用层做加固,只能由程序员自己做;
在主机上由完整的五层协议栈,在路由器上只有三层协议栈;
在出口路由器加固,保护内部子网,只能在IP/IPsec层做;

【*】SSL/TLS 提供的安全服务:
1. 为两个通讯个体之间提供保密性,数据完整性,身份认证;

例如:浏览器地址栏中的“锁”标识,表明SSL协议已经开始工作,做如下事项:

  1. 身份认证:浏览器从公正网站获取服务器的公钥,验证服务器的签名;
  2. 完整性:例如在登陆时,发送的用户名和口令,内容是保密的,任何人无法篡改;木马本地捕捉键盘输入,SSL是无法保护的;
2. 互操作性、可扩展性、相对效率
【*】SSL协议体系结构

SSL协议位置
在TCP与应用层之间加入子层;

--- Top level
SSL Handshake Protocol 握手协议
SSL Change Cipher Spec Protocol 密码变化协议;
SSL Alert Protocol 警报协议;
HTTP
--- second level
SSL Record Protocol 记录协议;
--- 3rd level
TCP
--- 4th level
IP

SSL 协议本身包含4个子协议;

【*】SSL/TLS的子协议

协议分为两层:
底层:ssl记录协议;
上层:ssl握手协议,ssl密码变化协议,ssl警告协议;

SSL工作流程
  1. 先握手;
    单向身份认证(先认证服务器),然后双向认证(可选)
    协商SSL会话的密钥和算法等参数(有公开密钥,有对称密钥);
    用公开密钥握手,交换对称密钥和加密算法;

  2. SSL记录协议;
    加密会话数据(采用对称密钥);
    提供完整性、保密性支持;

  3. 什么是会话;
    浏览器访问Web一次,称为一次会话(短时间断开还是一次会话);

ssl握手协议:(最复杂)
  1. 客户和服务器之间的相互认证;(服务器认证是必需的)
  2. 协商加密算法和密钥
  3. 它提供连接安全性,有三个特点:
    (1)身份认证,至少对一方实现认证(对服务器),也可以是双向认证;
    (2)协商得到的共享密钥是安全的,中间人不能够知道;
    (3)协商过程是可靠的;

【*】四个阶段
第一阶段:
【client -> server】client hello;
hello消息包含:版本号,随机数,会话ID,…
【server -> client】server hello;
hello消息包含:版本号,随机数,会话ID,…

第二阶段:
【server -> client】cerificate:证书;(可选)可能从第三方获取;
【server -> client】server_key_exchange;a

【server -> client】cerificate_request;(可选)server对client的认证
【server -> client】server_hello_done;server用自己的私钥,对客户机发给它的随机数进行签名;

第三阶段:
【client -> server】cerificate:证书;(可选)如果上阶段有cerificate_request;这阶段就会有这个报文;
【client -> server】client_key_exchange;
【client -> server】cerificate_verify;(可选)用客户机对server发来的数据做签名;

第四阶段:
完成密码变换;
【client -> server】change_cipher_spec;
【client -> server】finished;
【client -> server】change_cipher_spec;
【client -> server】finished;

ssl记录协议
  1. 建立在可靠的传输协议(如TCP)之上;udp不能使用ssl协议;
  2. 它提供连接安全性,有两个特点:
    (1)保密性,使用了对称加密算法;
    (2)完整性,使用MAC算法;
  3. 用来封装高层的协议;

【*】 ssl记录协议封装:
数据来源与应用层数据;
对数据进行分段处理(Fragment);
数据压缩(Compress)(可选);
增加报文鉴别码(Add MAC)(可选);
采用对称密钥加密(Encrypt);
增加报文头部(Append SSL Record Header);
头部信息结构体:

struct {
	ContentType type;  // 8位,上层协议类型;
	ProtocolVerison version; // 16位,主次版本;
	uint16 length;	// 加密后的数据长度,不超出2^14+2048字节;
	EncryptedData fragment; // 密文数据;
} SSLCiphertext;

【*】 SSL记录协议的载荷(Payload)
(a)Change Cipher Spec Protocol;
1个字节;
(b)Alert Protocol;
2个字节:级别,报警码;
(c) Handshake Protocol;
1字节:Type;
3字节:Length;
xx字节:内容;
(d)other upper-layer protocol;

4. 安全电子交易 (SET)

SET(Secure Electronic Transactions)
开放的安全电子交易安全规范;
保护Internet上的信用卡支付交易;
由Mastercard,Visa发起。
不是支付系统;
一系列安全协议和规范格式;

客户和商家交易的10个步骤:

  1. The customer opens an account;消费者开通账号;
  2. The customer receives a certificate;消费者收到证书;
  3. Merchants have their own certificates;商家有自己的证书(开店之前获得);
  4. The customer places an order;消费者下订单;
  5. The merchant is verified;商家身份认证;
  6. The order and payment are send;订单信息和支付信息发送给商家;支付信息是信用卡卡号、用户名等;【重要】需要保护客户隐私,用到双重数字签名;
  7. The merchant request payment authorization;商家拿到支付信息后,发送给收到收单银行;
  8. The merchant confirm the order;支付授权通过后,商家确认订单;
  9. The merchant provides the goods or service;商家提供商品;
  10. The merchant requests payments; 商家向支付网关(收单行)请求支付;

七、区块链

区块链简史

两个方面的完整性

工作量证明

共识机制

公钥密码实现身份标识、交易的签名

单元测试6

八、防火墙

1. 防火墙的基本介绍

防火墙的位置:输入输出的必经之地;
通过安全策略,只有授权的流量才可以进入;
防火墙部署在安全的操作系统上;

防火墙的访问控制能力:
服务控制;
方向控制;
用户控制;
行为控制;

实现审计和报警;
可以实现地址转换;
实现IPSec;

防火墙的局限性:
对于绕开防火墙的攻击无能为力;例如走另外一条路由,没有经过防火墙;
防火墙不能防止内部攻击,以及内部人员与外部人员的联合攻击;(通过tunnel工具建立隧道进入);
防火墙不能防止被病毒感染的程序或者文件、邮件等;
防火墙不能防止应用层的病毒;
防火墙会降低数据包的转发速度,降低计算机的网络性能;

入侵检测系统(IDS,Instrusion Detection System)与防火墙
防火墙主要做访问控制,要求实时处理,属于不可或缺的部分,但是不能完全保证系统的安全;
入侵检测,包含信息收集、分析引擎、响应部件,可以先收集再分析,从而智能地发现网络或系统中是否有违反安全策略的行为和被攻击的迹象;
防火墙是在线实时处理;IDS在防火墙后面,在旁路实现一定程度的离线分析;

IDS演进->IPS(Instrusion Prevention System)在线防护与阻断;

2.防火墙类型

包过滤路由器

有三层协议栈:物理层、链路层、网络层;

基本的思想很简单:
对于每个进来的包,使用一组规则,然后决定转发或者丢弃;
往往配置成双向;

如何设定规则过滤:
过滤的规则以IP和传输的头中的域(字段)为基础;包括源和目标IP地址、IP协议域、源和目标端口、标志位;
过滤器往往建立一组规则,根据IP包是否匹配规则中指定的条件来作出决定。
如果匹配到一条规则,则根据此规则决定转发或者丢弃;
如果所有规则都不匹配,则执行缺省策略;

两种基本的缺省策略:
第一种:没有被拒绝的流量都可以通过;出现新危险,增加新策略;
第二种:没有被允许的流量都要拒绝;保守型安全策略,根据需要,逐渐开放;

优点:
简单,效率高;

缺点:
指定正确的规则不容易;
不可能引入认证机制;无法打开报文应用层数据的头部;

攻击类型:
IP地址欺骗;
源路由攻击;
小碎片攻击;
利用复杂协议和管理员的配置失误进入防火墙;

应用层网关

可以打开应用层的数据头部,需要支持所有应用层的协议;
可以提供理想的日志功能;
非常安全,但是开销比较大;

Application level gateway,支持协议:
http,ftp, telnet, smtp;

代理服务器,对外屏蔽了真正的服务器;

优点:
允许用户“直接”访问internet;
易于记录日志;
缺点:
新服务不能被及时代理;
成本较高;
对于每一种应用都需要编写服务端的软件,工作量比较大;

3. 防火墙部署

场景:

企业内部的服务器不对外提供服务;
企业的FTP服务器、WWW服务器,需要对外提供服务;

几个概念:

堡垒主机(Bastion Host):对外部网络暴露,同时也是内部网络用户的主要连接点;
双宿主主机(Dual-homed host):至少有两个网络接口的通用计算机系统,一种堡垒主机;
DMZ(Demilitarized Zone,非军事区):在内网和内网之间的子网,缓冲地带;

防火墙几种部署方案

【*】包过滤
采用包过滤路由器:
方案简单;
但是不同主机的安全需求不同,无法实现这个需求;

【*】屏蔽主机方案
单宿主堡垒主机:
两层保护:在出口位置部署包过滤路由器+内部部署应用层网关;
只允许堡垒主机可以与外界直接通讯,采用代理的方式;
缺点:单宿主堡垒主机出于旁路位置,一旦包过滤路由器被攻破,则内部网络被暴露。

双宿主堡垒主机:
两层保护:包过滤路由器+双宿主堡垒主机;
所有进出内网的数据都要经过双宿主堡垒主机,双宿主堡垒主机即连接内网也连接万网;
优点:真正的两层保护;

【*】屏蔽子网方案
三层防护:外部包过滤路由器,堡垒主机,内部包过滤路由器;

九、AES与国密SM4算法

AES背景与算法主体结构

Rijndael基本运算

Rijndael加密算法

Rijndael工作密钥

Rijndael解密算法

SM4算法结构与加密算法

SM4解密与密钥扩展算法

SM4对合性与安全性分析

你可能感兴趣的:(网络,网络安全)