网络安全概述
计算机网络基础知识
Computer network=computer(CPU+MEM+peripherals)
Application layer
WHY DNS?
transport layer
services provided to upper layer(application layer?)
two types of transport service
UDP
TCP
Actually, it is similar to netwok service,but we also need transport layer.
The reason is:
- transport layer has a set of primitives.
- transport layer realized the logic channel of application processes,and network layer realized only the logic channel of hosts
so network layer is the basis of transport layer.
- transport layer is more reliable.
UDP
UDP transmits segments consisting of an 8-byte header followed by the payload. (yes)
applications:SNMP、DNS
checksum:
should add 12-byte pseudo header.
TCP
comparison:
TCP | UDP | |
---|---|---|
header | 20-byte | 8-byte |
connection-oriented | connectionless | |
reliable | unreliable | |
point to point full-duplex | point to point | |
byte stream | message stream | |
socket
TCP service is obtained by having both the sender and receiver create end points, called sockets.
Each socket has a number (address) consisting of the IP address of the host and a 16-bit number local to that host, called port.
For example:
Socket=(IP address:port number)
if IP address is 210.37.145.1,and the port number is 23,then the socket is (210.37.145.1:23).
Port numbers below 1024 are called well-known ports and are reserved for standard services.
well-known port:0-1023
registered port:1024-49151
dynamic port or private port:49152-65535
Question:
Host A sends a TCP segment (Seq = 43, ACK = 103), to which host B replies with a TCP segment (Seq = 103, ACK = 57). The payload of the first TCP segment is ( D )
A 57 bytes long
B 46 bytes long
C 43 bytes long
D 14 bytes long
network layer
routing algorithm
shortes path routing.
Dijkstra algo
Flooding:
Flooding is a simple routing algorithm, which delivers the received packets to all possible connection paths until the packets arrive.
Problem:
dest can receive duplicate packets
Distance Vector Routing
DV
IP address
IP早期编码方案:
划分成:
A:0-127
B:128-191
C:192-223
D:224-239
subnet
subnet mask
复习
计算机网络从两个层面来讲吧,一个是硬件的infrastructure,一个就是从软件来讲的protocol。而infrastructure更像是通信工程专业所重点研究的,软件方向的protocol就是计算机和信息安全专业所研究的。
protocol展现的是一种设计方法吧,像区块链的那种共识机制啊、bitcoin和其他一些币的运行模式啊等等。
protocol定义的是网络信息中的一个形式。
我们常用的四层中常用的有很多的protocol,也许应该将这些protocols做一个比较,他们有很多相近之处。
SSL和HTTPS的关系:HTTPS=HTTP+SSL
email安全中常用的是PGP(一种标准)
它的整体思路就是先签名后加密,是一种比较安全的??
网络标准:
- RFC:Request for comments
- IETF:Internet Engineering Task Force
编码解码学
传统密码学
现代密码学
对称密码(共享密钥
- stream cipher
- RC4
- block cipher
- DES
- stream cipher
非对称密码(公钥密码
流密码类似一次一密?one time pad
通过keygenerator生成keystream(他的长度应该和明文一样长)
DES
CBC:cipher block chaining
DH交换协议———开端
ElGamal———DH拓展
RSA———–巅峰
ECC
网络安全协议
电子邮件安全
应用层的SMTP本身不具备任何安全措施。
安全的电子邮件标准——–PGP
PGP的过程就类似于先签名后解密。
一般来说这种是不安全的,不安全在于重放攻击replay attack,这里是单项的。
SSL
提供的服务:
- confidentiality
- integrity
- Authentication
要注意的是,客户端发送的信息之中不包括服务器的域名。也就是说,理论上服务器只能包含一个网站,否则会分不清应该向客户端提供哪一个网站的数字证书。这就是为什么通常一台服务器只能有一张数字证书的原因。
如果服务器需要确认客户端的身份,就会再包含一项请求,要求客户端提供”客户端证书”。比如,金融机构往往只允许认证客户连入自己的网络,就会向正式客户提供USB密钥,里面就包含了一张客户端证书。
增强SSL安全的方法:
- pre_master_key保密性增强
- 口令加密
- 硬件加密
- 提高随机数的质量
- 提高证书CA的可靠性
其他:
HTTPS与SSL关系:
HTTPS:HTTP over TLS。TLS的前身是SSL,TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。
其中,数据完整性和隐私性由TLS Record Protocol保证,身份认证由TLS Handshaking Protocols实现
如何防御中间人攻击:
HTTPS提供一种思路:找一个十分权威的第三方CA(Certificate Authority),去那里申请证书的一方可以获得权威认证。
端口号:
HTTP:80
HTTPS:443
压缩算法:
基于口令的认证:
“表单签名”?是一种吗?
IPsec:
网络层:路由器之间的连接。
提供的服务:
- data integrity
- origin authentication
- replay attack prevention
- message confidentiallity
有两种协议供选择(为啥又是协议protocol)?
哦,明白了,IPSec是协议簇,不是一个协议,AH和ESP是其中两个协议。
- AH
- ESP:更严谨
ESP通常使用DES、3DES、AES等加密算法(公钥加密)实现数据加密,使用MD5或SHA1来实现数据完整性认证。
两种传输模式:
- transfer mode
- tunneling mode
两两组合,构成4种组合,最常用的是Tunneling mode with ESP。
SA安全联盟
- 单向的
- 作用??
IPSec中安全关联(Security Associations)三元组是<SPI,源/目的IP地址,IPSec>
- SPI:安全参数索引security parameters index
- 源/目的IP地址
- IPSec协议:AH/ESP
一个典型的应用:VPN
无线网络安全
WiFI是越来越重要:理由是越来越多人使用。
比较失败的一个协议是802.11b WEP(wired Equivalent Privacy)
WEP的设计思路:倒是利用了OTP
防火墙以及攻防系统
比较应用化:
三种防火墙
- 有状态记录的数据包过滤
- 无状态记录的数据包过滤
- 基于应用的网关设置
无状态记录的数据包过滤
IP Spoofing:防火墙对IP地址进行筛选。
内网通过router防火墙连接外网,筛选
- 发出方和接收方的IP地址。
- TCP/UDP发出方和接收方的端口(port number)???
- ICMP信息类别(message type)????
- TCP SYN和ACK比特位的位置??
例子example:
这些例子完全不懂,是不是呀计算机网络基础知识????
block incoming and outgoing datagrams with IP protocol field=17 and with either source or dest port =23
- 对于进出子网的UDP flows和telnet链接都被截断
block inbound TCO segment with ACK=0
- 不允许子网外用户向子网内用户申请创建TCP链接,但是允许子网内向子网外用户创建TCP链接
ACL:一个权限控制条件表,以(action,condition)的格式对进入内网数据包做筛选
有状态记录的数据包过滤
对每一个TCP连接都跟踪其状态信息
- 实时检测建立SYN,断开FIN信息,从而判断进入和离开内网的网报是否合理
- 对很久呆滞的链接进行切断处理
过滤筛选:
子网的IP地址(source)是不可伪造的,如果有人伪造IP地址,很容易被发现,而这种伪造行为就叫IP地址。
应用网关
不光根据IP/TCP/UDP信息,而且根据因国内高才能信息进行网报筛选。
e.g 允许有选择的一些内部用户通过telnet链接外网。
- 要求所有用户通过网关建立telnet链接
- 对有权限的用户,网关为其向目标中断建立telnet连接
- router连接所有非网关连接的链接
防火墙
筛选不就是一个分类的过程???(而且是二分类?
网关
IP spoofing(IP 欺骗):
e.g假冒自己是另一个子网中的IP
SYN:同步序列编号(Synchronize Sequence Numbers)TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应
IDS
intrusion detection system入侵检测系统。
对网络包进行过滤:
- 只对TCP/IP协议数据“头区间”进行分析
- 对连接与连接之间的相关性不做检查
更深入的数据包检查:
同时检测协议包的data contents内容(e.g 对一个数据包的字符串做比较检查,检查其与已知病毒数据库中电脑病毒的相似性)
检查属于不同网络连接的数据包的相关性:
- port scanning
- Dos attack
e.g多个网络想一个web service 发送SYN message的话可能就是一个SYN flooding attack
恶意代码
主要包括 Virus、Worm、Trojan Horse、Backdoor、Logic Bomb