-引自《2014年中国互联网网络安全报告》
截至2014年12月底:
我国互联网网络安全状况
互联网网络安全一组数据(2014年)
“飞客”蠕虫监测:
移动互联网安全监测:
网站安全监测:
安全漏洞:
网络,安全?
目标:网络,安全!
数据受到保护
,不
因偶然的或者恶意的原因而 遭受到破坏、更改、泄露,系统连续可靠正常地 运行,网络服务不中断
。机密性(confidentiality)
: 只有发送方与预定接收方能够理解报文内容
身份认证(authentication)
:信息完整性(message integrity)
: 发送方与接收方希 望确保信息未被篡改(传输途中或者后期),发生篡改一定会被检测到可访问与可用性(access and availability)
: 网络服务必须对被授权用户可访问与可用Q:
“坏蛋”们能做什么?
A:
很多!
窃听(eavesdrop)
: 窃听信息插入(insert)
:主动在连接中插入信息假冒(impersonation)
: 可以通过伪造(spoof)分组中的源地址(或者分组的任意其他字段)劫持(hijacking)
: 通过移除/取代发送发或者接 收方“接管”(take over)连接拒绝服务DoS(denial of service)
: 阻止服务器 为其他用户提供服务(e.g., 通过过载资源)映射(Mapping)
:
端口扫描
(Port-scanning): 依次尝试与每个端口建立TCP连接对策(Countermeasures)?
分组“嗅探”(sniffing)
:
IP欺骗(Spoofing)
:
IP欺骗对策: 入口过滤(ingress filtering)
很有效!但是不能强制所有网络都执行入口过滤
在网络安全领域,隐藏自己的一种手段就是IP欺骗——伪造自身的IP地址向目标系统发送恶意请求,造成目标系统受到攻击却无法确认攻击源,或者取得目标系统的信任以便获取机密信息。
这两个目的对应着两种场景:
场景一,常用于DDoS攻击(分布式拒绝攻击),在向目标系统发起的恶意攻击请求中,随机生成大批假冒源IP,如果目标防御较为薄弱,对收到的恶意请求也无法分析攻击源的真实性,从而达到攻击者隐藏自身的目的。
这类场景里一种很有意思的特殊情景来自于“反射”式DDoS攻击,它的特点来自于利用目标系统某种服务的协议缺陷,发起针对目标系统输入、输出的不对称性——向目标发起吞吐量相对较小的某种恶意请求,随后目标系统因其协议缺陷返回大量的响应,阻塞网络带宽、占用主机系统资源。这时如果攻击者的请求使用真实源地址的话,势必要被巨大的响应所吞没,伤及自身。这样,攻击者采取IP欺骗措施就势在必行了。
场景二,原本A主机信任B主机,也就是B可以畅通无阻地获取A的数据资源。而恶意主机C为了能同样获取到A的数据,就需要伪装成B去和A通信。这样C需要做两件事:第一、让B“把嘴堵上”,不再向A吐请求,比如向B主机发起DoS攻击(拒绝服务攻击),占用B的连接使其无法正常发出网络包;第二、伪装成B的IP和A交互。
拒绝服务DOS(Denial of service)
:
唯密文攻击(cipher-text only attack)
: 入侵者(如 Trudy)只截获到密文,基于对密文的分析进行破解
两条途径
:
已知明文攻击(knownplaintext attack)
: 入侵者已知(部分)明文以及与之匹配的密文
单码替代密码
(monoalphabetic cipher)中,入侵者已确认字母a,l,i,c,e,b,o的替换关系选择明文攻击(chosenplaintext attack)
: 入侵者可以获取针对选择的明文的密文大致可分为替代密码
和换位密码
。
利用一种东西替代另一种东西 。
凯撒密码(Casesar cipher)
:一个字母替代另一个字母
单码(字母)替代密码(monoalphabetic cipher)
多码(字母)替代加密(polyalphabetic encryption)
:使 用多个单码替代密码,明文中不同位置的字母使用不 同的单码替代密码
重新排列明文中的字母。
置换法(permutation method)
列置换加密
列置换加密-改进版
替代
和置换
位
操作流密码(stream ciphers)
分组密码
,也称块密码(block ciphers)
m
的明文组i
的密钥组的控制下变换成长度 为n
的密文组Feistel分组密码结构
扩散(diffusion)
和混淆(confusion)
替代
和置换
方式构造密码体制这个结构的理论根据是啥?为什么这样能破坏各种统计分析的攻击?有空得去读读香农大师的论文!
Feistel结构的分组密码安全性取决于:
分组长度
大
,安全性越高
,加密速度越慢
,效率越低
64位
子密钥的大小
增加
,安全性提高
,加密速度降低
平衡
循环次数
循环越多
,安全性越高
,加密效率越低
子密钥产生算法
复杂
,安全性越高
轮函数
复杂
,加密算法的安全性越高
DES: Data Encryption Standard
1998年12月
以后不再将DES作为 数据加密标准。16
轮的Feistel结构密码“替代--置换”
的分组加密算法56位
的密钥48位
的子密钥
扩展变换
:扩展变换(Expansion Permutation,也被称为E-盒
)将64位
输入序列的右半部分
从32
位扩展到48
位。
S-盒替代
(S-boxes Substitution)P-盒置换
(P-boxes Permutation)弱密钥
和半弱密钥
3DES
使用3个密钥
,执行3次DES算法,加密过程:
168bit
),Tuchman提出使用两个密钥的三重加密方法,这个方法只要求112bit
密钥,即令其K1=K3:唯一优点是可以使用3DES解密原来的单次DES加密的数据
,即K1=K2=K3不
属于Feistel结构128/192/256
数据块大小128/192/256
密钥长度128/192/256
bits)1秒
暴力破解DES,则需要149万亿年
破解AES对称密钥加密
有一定的缺陷
于是乎公钥加密技术
应运而生:
比特模式 (bit pattern)
整数
n
= pq,z = (p-1)(q-1)e
(满足ed
使得ed-1刚好可以被z整除, (即: ed mod z = 1 ).大数分解和素性检测
”这个数论难题的基础上
RSA的缺陷
:RSA的幂运算强度很大
利用公钥加密建立安全连接,然后建立第二个密钥对称会话密钥,用于加密数据
会话密钥(session key, KS)
也就是说,因为RSA需要的运算太多了,所以没办法给所有数据加密,那么我们就在建立安全连接的时候采取RSA,而之后就采取传统的对称加密技术。
证明身份时会出现失效
的情况,下面对每一代协议的失效情况都做了概述。
目标:
来自声称的发送方
没有被篡改
时间、顺序被篡改
持有期被修改
抵赖
密码散列函数
(Cryptographic Hash Function):H(m)
多对一
映射,均产生定长输出
不能
产生相同的散列值单向性:
无法根据散列值倒推出报文
抗弱碰撞性
(Weak Collision Resistence-WCR)
抗强碰撞性
(Strong Collision Resistence-SCR)
不可能
找到任意两个不同报文x和y(x≠y),使得 H(x)=H(y)MD5:
被广泛应用的散列函数(RFC 1321)
128位
的散列值SHA-1(Secure Hash Algorithm)
:另一个正在使用的散列算法
160位
简单方案
:报文+报文摘要→扩展报文(m, H(m))报文认证码MAC(Message Authentication Code)
:简单方案
的改进版。上述报文认证方案中存在的缺陷可以通过下一节讲的
数字签名
解决。
Q:
如何解决下列与报文完整性相关的问题?
- 否认
:发送方不承认自己发送过某一报文
- 伪造
:接收方自己伪造一份报文,并声称来自发送方
- 冒充
:某个用户冒充另一个用户接收或发送报文
- 篡改
:接收方对收到的信息进行篡改
A
:数字签名(Digital signatures) !
- 数字签名技术是实现安全电子交易的核心技术之一
- 可验证性(verifiable)
- 不可伪造性(unforgeable)
- 不可抵赖性(non-repudiation)
对称密钥问题
对称密钥问题
:解决方案
:密钥分发中心
(Key Distribution Center-KDC
)作为实体间的中介(intermediary)密钥分发中心
KDC如何支持Bob和Alice确定用于彼此通信的共享对称密钥呢?
注意:这里的R1不是ap4.0中的一次性数R,而是共享密钥。
问题情景
:
假如Alice要给Bob发送她的公钥,但半路被Trudy拦住了,然后Trudy把她自己的公钥发给Bob并声称那是Alice的公钥。
比萨恶作剧
公钥问题
公钥问题
:
真
的是Bob的 公钥而不是Trudy的?解决方案
:
认证中心
(Certification Authority-CA
)认证中心
在应用层
解决电子邮件安全问题。
垃圾邮件
诈骗邮件
邮件炸弹
蠕虫/病毒
欺骗、钓鱼
式攻击机密性
完整性
身份认证性
抗抵赖性
1、2、3是逐步递进的,其中3是1、2的结合,它是当今邮件传输中常用的加密方法。
PEM(Privacy Enhanced Mail)标准
PGP(Pretty Good Privacy)标准
PGP特点:
PGP密钥
PGP公钥认证机制与传统CA差异较大:
防止篡改公钥的方法(假如Alice需要Bob的公钥):
不仅限于邮件使用,可用于任何支持MIME数据的传输 机制,如HTTP
Web安全威胁
基于传输层
实现Web安全
基于网络层
实现Web安全
由于内容较多,通过几行文字并不能清晰表达出其主要内涵,所以强烈建议观看配套视频学习。video-安全套接字层
机密性(confidentiality)
完整性(integrity)
认证(authentication)
TCP
的网络应用
从简单的框架可以得到SSL的最核心
的思想。
握手(handshake)
: Alice和Bob利用他们的证书、私钥认证(鉴别)彼此,以及交换共享密钥密钥派生(key derivation)
: Alice和Bob利用共享密钥派生出一组密钥数据传输(data transfer)
: 待传输数据分割成一系列记录连接关闭(connection closure)
: 通过发送特殊消息,安全关闭连接下面以几小节来解释上述四种技术。
4个密钥
:
密钥是如何派生的?
- 客户一次数、服务器一次数和预主密钥输入伪随 机数发生器
- 产生主密钥MS
- 主密钥和新一次随机数输入另一个随机数发生器: “密钥块(key block)”
- 密钥块“切片”:
- 客户MAC密钥
- 服务器MAC密钥
- 客户加密秘钥
- 服务器加密秘钥
- 客户初始向量(IV)
- 服务器初始向量(IV)
(注意,client和server使用的是相同的随机数生成函数,所以它们派生密钥是相同的。因为需要相同的钥匙才能解密嘛,这个很容易理解。)
发送的所有字节
进行完整性检验?方案
:将字节流分割为一系列记录
每个记录携带一个MAC
问题
:对于每个记录, 接收方需要从数据中识别出MAC
待解决的问题
: 攻击者可以捕获和重放记录或者重新排序记录解决方案
: 在MAC中增加序列号
待解决的问题
: 攻击者可以重放所有记录解决方案
: 使用一次性随机数(nonce)待解决的问题
: 截断攻击
解决方案
: 记录类型, 利用一个类型的记录专门用 于断连
上一节知识对SSL进行了简化版的介绍,还有几个问题没有说明:
目的
:
SSL中上层所有协议内容都要被封装再记录中。
预主密钥
(pre_master_secret),并利用服务器的公钥加密预主密钥,发送给服务器最后2步的意义:保护握手过程免遭篡改
动机
:安全+成本虚拟专用网VPN
(Virtual Private Networks):通过建立在 公共网络(如Internet)上的安全通道,实现远程用户、分 支机构、业务伙伴等与机构总部网络的安全连接,从而 构建针对特定组织机构的专用网络。
隧道技术
隧道
:通过Internet提供安全的点到点(或端到端) 的数据传输“安全通道”
隧道协议内包括以下三种协议:
常见VPN隧道协议:
IPSec
IPSec
:最安全、适用面最广AH
ESP
AH
(Authentication Header)
源认证/鉴别
和数据完整性
检验,但不提供 机密性ESP
(Encapsulation Security Protocol)
源认证/鉴别
、数据完整性
检验以及机密性
- 比AH应用更广泛SA (security association)
R1为SA存储:
安全参数索引SPI
(Security Parameter Index)安全关联数据库SAD
(security association database)中
两倍
的SA
,因为需要双向
。选择符
”的结构
安全处理需要的参数存储在SP指向的SA结构
R1: 将原IP数据报转换为IPsec数据报
整个enchilada
,利用SA定义的算法与密钥,创建报 文认证码MAC;载荷
(新IP数据报载荷);R2: 解封IPsec数据报
IPsec支持两种方式的SA建立和密钥管理:
前面的例子
:在IPsec端点,手工建立IPsec SAIKE
(Internet Key Exchange)IKE
:
ISAKMP
(Internet Security Association and Key Management Protocol)的通用框架
OAKLEY
的密钥交换模式
SKEME
的共享和密钥更新技术
PSK
),或者PKI
(公开/私有密钥对以及证书).IKE包括两个阶段
:
阶段1
:建立双向IKE SA(也称为ISAKMP安全关联)
阶段2
:基于ISAKMP协议,进行IPsec SA的安全协商完整性校验值ICV
(Integrity Check Value)
24位初始向量(IV)
,附加到密钥上:得到128位密钥keyID
(8位字段)数据+ICV
”进行加密:
一次性随机数(nonce)
: 一个生命期内只用一次的数R
如何证明Alice是“真实的”
:Bob向Alice发送一次性 随机数nonceR, Alice必须利用共享密钥加密并返回R。
注意
:
安全漏洞:
攻击:
预防拒绝服务攻击(DoS)
:
预防非法修改/内部数据访问
:只允许对内部网络的授权访问
:三种类型的防火墙
:路由器防火墙(router firewall)
与Internet连接逐个分组过滤
,决策是否转发/丢弃分组,依据:
例1
: 阻止协议字段=17,以及源或目的端口号=23 的数据报进入与离开
例2
: 阻止进入的、 ACK=0的TCP段
ACL(Access Control Lists)
: 规则表,自顶向下应用于到达的分组:(action, condition)对
无状态分组过滤器
: 笨拙
有状态分组过滤器
: 跟踪每个TCP连接
例如
:允许特定用户 telnet外部网络IP欺骗(spoofing)
: 路由器 不知道数据是否来自于声称的源折衷(tradeoff): 确定安全级别
与外部网络的通信度
创作不易,看完记得点赞喔。