西安电子科技大学 计算机科学与技术 计算机安全导论 复习下

Notion

六 网络安全2

DNS

应用层协议

53端口

域名解析

迭代域名解析: 本地服务器和其他服务器

递归域名解析:客户端和本地服务器

DNS数据包

小于512B UDP,大于512B TCP

DNS攻击

网络嫁接,网络钓鱼:

将网站发送的请求解析成恶意服务器的伪装ip地址

DNS缓存中毒:

欺骗DNS服务器保存虚假的DNS记录

服务器面临中毒威胁:忽略标识符,具有可预测的id,接受未经请求的DNS记录

防御:

  1. 对查询使用随机标识符
  2. 始终检查标识符
  3. DNS请求端口随机化
  4. 部署DNSSEC

DNSSEC保证:

DNS回答来源的真实性

回复的完整性

拒绝存在的真实性

实现: 每一步中对DNS回复签名

使用公钥加密部署响应

信任锚,操作系统中的条目引导进程

防火墙

防火墙策略

  • 接受:允许通过
  • 丢弃:不允许通过,无失败提示
  • 拒绝:不允许通过,有失败提示

防火墙类型

数据包过滤器(无状态防火墙):

根据规则集匹配,必须具有严格的限制性

状态过滤器(状态防火墙):

维护通过防火墙的连接的记录

应用层防火墙:

检查数据包内容

SSH

  1. 客户端通过TCP连接到服务器
  2. 客户端与服务器交换管理细节(协议,加密算法)
  3. 客户端与服务器进行密钥交换

七 WEB安全

跨站脚本XSS

攻击者将脚本代码注入Web应用程序生成的页面

XSS发起条件

  1. Web服务器没有对用户输入进行验证
  2. 允许用户输入不相关字符
  3. 直接显示用户输入,没有去除非法字符或者重新编码

客户端对XSS防御

基于代理:

分析浏览器和服务器间HTTP通信量

寻找HTML特殊字符

执行Web页面之前编码

应用层防火墙:

分析页面中超链接

停止不良请求链接

审计:

监视Javascript代码执行

SQL注入

防范

  1. 使用预编译语句,绑定变量
  2. 对用户提交的数据输入参数过滤
  3. 不使用动态SQL语句,使用储存过程访问和操作数据
  4. 用户以低权限使用数据库

八 密码学概述

攻击类型

  • 唯密文攻击 ciphertext only attack
  • 已知明文攻击 known plaintext attack : 有多个明文-密文对
  • 选择明文攻击 chosen plaintext attack :收集指定的明文对应的密文
  • 选择密文攻击 chosen ciphertext attack : 收集指定密文对应的明文

分组密码

填充

PKC35:字节相同,表示填充的长度(填充了几个字节)

如果正好够分组,最后一个分组全是填充的

实际应用

DES

分组64bit,密钥56bit

3DES

密钥长度168bit(56*3)

AES

分组长度128bit,密钥长度128,192,256

AES-256是最常用的对称加密算法

AES轮结构

  • 10轮
  • 每一轮进行可逆替换
  • X0是明文P与密钥K的异或

在这里插入图片描述

每一轮进行四个步骤

  1. SubBytes: S盒替换
  2. ShiftRows: 置换
  3. MixColums: 矩阵乘法
  4. AddRoundKey: 从128位密钥派生轮密钥

分组密码操作模式

电子密码本ECB

在这里插入图片描述

适用于数据较少的情况

对于大文件,相同的分组会使用相同的加密方式

密码分组链接CBC

C [ i ] = E k (   C ( i − 1 )   ⊕   P [ i ]   ) C[i]=E_k(\ C(i-1)\ \oplus \ P[i]\ ) C[i]=Ek( C(i1)  P[i] )

在这里插入图片描述

优点:

  • 没有在密文中泄露明文的模式
  • 最常用的模式
  • 快速,简单

缺点:

  • 所有数据快都必须可靠,丢失一个后面就都无了

流密码

适用于快速写入的任意长度的明文

同步流密码

密钥流的生成只依靠密钥k

如果明文是带有序列号的包,可以在不可靠信道下工作

自同步流密码

密钥k前q个密文生成密钥流

收到q个密文后自动与密钥流生成器同步,数字被丢弃或天骄到明文流中,更容易恢复

RC4

2048位密钥

算法非常简单

工作在计数器模式下(CTR)

同步流密码

公钥加密

数论基础

一个正整数可由若干素数唯一表示

欧几里得算法(辗转相除)

g c d ( a , b ) = g c d ( b , a   m o d   b ) gcd(a,b)=gcd(b, a \ mod \ b) gcd(a,b)=gcd(b,a mod b)

乘法逆元

( x ∗ y )   m o d   n = 1 (x*y)\ mod \ n=1 (xy) mod n=1

费马小定理

p是素数,p不是x的因子,则

x p − 1   m o d   p = 1 x^{p-1} \ mod \ p = 1 xp1 mod p=1

推论:x关于p的模逆元是 x p − 2 x^{p-2} xp2

x ∗ x p − 2   m o d   p = 1 x * x^{p-2} \ mod \ p =1 xxp2 mod p=1

欧拉定理

欧拉函数 Φ ( n ) \Phi (n) Φ(n),比n小且与n互质的个数, Φ ( q ) = q − 1 \Phi (q)=q-1 Φ(q)=q1 ,q 为素数时

对于任意互素的x和n

x Φ ( n )   m o d   n = 1 x^{\Phi(n)}\ mod \ n =1 xΦ(n) mod n=1

n为素数时,退化为费马小定理

RSA

  1. n = p ∗ q n=p*q n=pq , p、q互素,则 Φ ( n ) = ( p − 1 ) ∗ ( q − 1 ) \Phi (n)=(p-1)*(q-1) Φ(n)=(p1)(q1)
  2. 寻找一个e满足 g c d (   e , Φ ( n )   ) = 1 gcd(\ e,\Phi(n)\ )=1 gcd( e,Φ(n) )=1
  3. d = e − 1   m o d   Φ ( n ) d=e^{-1} \ mod \ \Phi (n) d=e1 mod Φ(n) ,即d是e的模逆元

密钥

公钥: K E = ( n , e ) K_E=(n,e) KE=(n,e)

私钥: K D = d K_D=d KD=d

加密

明文: M<n

密文: C = M e   m o d   n C = M^e \ mod \ n C=Me mod n

解密

密文: C

明文: M = C d   m o d   n M=C^d\ mod \ n M=Cd mod n

RSA安全性

给定e和n,无法找到d,关键在于没法分解n为p,q

RSA正确性

在这里插入图片描述

模幂运算

时间复杂度 O ( l o g   p ) O(log \ p) O(log p)

在这里插入图片描述

模逆运算

在这里插入图片描述

哈希函数

密码学Hash应满足的性质

  1. 抗原象攻击(单向性): 一直哈希值,求原值很难
  2. 抗第二原象攻击(抗弱碰撞性):已知P,找到Q使得 h ( P ) = h ( Q ) h(P)=h(Q) h(P)=h(Q) 很难
  3. 抗碰撞攻击(抗强碰撞性): 已知 h ( P ) h(P) h(P) ,找到Q使得 h ( P ) = h ( Q ) h(P)=h(Q) h(P)=h(Q)

使用至少256位的Hash函数

随机预言机

  1. 一致性: 输入相同,输出相同
  2. 可计算性: 多项式时间
  3. 均匀分布性: 在取值空间内均匀分布,不碰撞

生日攻击

消息认证码MAC

在这里插入图片描述

基于Hash的MAC(HMAC)

h ( K ⊕ A ∣ ∣    h ( K ⊕ B ∣ ∣ M ) ) h(K\oplus A||\ \ h(K\oplus B||M)) h(KA∣∣  h(KB∣∣M))

安全通信

签名配合加密和MAC配合加密

在这里插入图片描述

九 安全模型与实践

kerberos

kerberos使用**票据(ticket)**作为身份令牌。票据是储存会话密钥的数字文件

票据

  1. 票据授予票据(TGT): 用户和会话密钥的全局标识符
  2. 服务票据: 对用户进行身份认证

票据都有时间戳,便于管理员设置到期时间

密钥分发中心KDC

  1. 身份验证服务器AS: 验证用户身份
  2. 票据授予服务器TGS: 向用户授予票据

kerberos身份验证

  1. 客户端与身份验证服务器互相进行身份验证
  2. 客户端与票据授予服务相互验证
  3. 客户端与服务S相互身份验证,为客户端提供服务

优点

  1. 分布式体系结构,在不安全网络下也安全
  2. 每次传输都用密钥加密,攻击者无法伪造
  3. 可以防止重放攻击
  4. 对称加密高效

缺点

  1. 密钥分发中心不可用,整个网络瘫痪
  2. 攻击者破坏KDC,所有客户端和服务器的身份验证信息都被泄露
  3. 使用时间戳,所有参与方都同步时钟

十 数据库安全

敏感数据

使用加密

数据库数据储存为密文

解密密钥不能存储于数据库中

隐私保护

不能公开隐私

可以采用掩码值

推理攻击

可以通过其他信息组合得到隐私信息

防御方法:

  1. 单元抑制: 删除数据库一些单元
  2. 推广: 一些值被常用值替代
  3. 加噪: 添加随机值使平均噪声为0
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值