计算机网络:
网络组成部分:
- 主机:客户端和服务端
- 路由器
- 网络协议:标头和载荷
交换方式:
电路交换(电话):占线
分组交换(传真):按顺序分组
网络分层:
- 运输层
- 应用层
- 网络层
- 链路层
- 物理层
协议:
依赖于连接,定义了在两个或多个通信实体之间交换的格式和顺序
web中的网络:
CDN:DNS劫持
- 域名解析一般由网站自己处理
- 要加速的域名则重定向到CDN厂商的域名解析服务处理
- CDN厂商根据来源确定最近的CDN服务器的IP
- 用户直接访问最近的CDN服务器
WebSocket:
- 有状态的持久连接
- 服务端可以主动推送消息
- 用WebSocket发送消息延迟比HTTP低;
网络安全:HTTPS把HTTP的明文换成密文,再验证省份,即HTTPS;
HTTPS=http+TLS TLS=身份验证+加解密,身份验证靠PKI,服务端身份验证靠PKI,客户端身份验证靠HTTP协议
-
机密性:攻击者无法获知通信内容
- 加密需要加密算法和密钥等信息(被称为秘密信息)
- 网络是明文的,不安全
-
完整性:攻击者对内容进行篡改是能被发现
- 密码散列函数性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
- 有明文m,密码散列函数H
- 计算H(m)获得哈希值h
- 将m和h组合成新信息m+h
- 接受方拆分m+h,重新计算H(M)得h、,对比h、和h
-
身份验证:攻击者无法伪装成通信双方任意一方向与另一方通信
- 非对称性加密性质:加密使用不同的密钥,而且公钥加密只能用私钥解密,私钥加密只能用公钥解密
- 保证了机密性,完整性和身份验证
- 对明文内容的哈希值使用私钥加密,验证者使用公钥加密
- 一般用于对公开内容进行私钥加密,防止篡改
对称加密和非对称加密
- 对称加密:加密、解密用同样的密钥
- 非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用撕咬解密,私钥加密只能用公钥解密
密码散列函数(哈希函数)
-
输入:任意长度的内容
-
输出:固定长度的哈希值;
-
性质:找到两个不同的输入使之经过密码散列函数后会有相同的哈希值,在计算上是不可能的;
PKI保证普通用户不需要面对面和根证书机构交换根证书,https使用 PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现