美文网首页
6网络安全基本原理

6网络安全基本原理

作者: 龟龟51 | 来源:发表于2018-03-02 12:56 被阅读0次

    6.1网络安全基础

    6.1.1网络安全状况

    6.1.2网络安全基本概念

    什么是网络安全?

    v网络安全是指网络系统的硬件、软件及其系统中的数据受到保护, 不因偶然的或者恶意的原因而遭受到破坏、更改、泄露, 系统连续可靠正常地运行, 网络服务不中断

    网络安全基本属性

    机密性(confidentiality):只有发送方与预定接收方能够理解报文内容

    § 发送方加密报文

    § 接收方解密报文

    身份认证(authentication):发送方与接收方希望确认彼此的真实身份

    信息完整性(message integrity):发送方与接收方希望确保信息未被篡改(传输途中或者后期),发生篡改一定会被检测到

    可访问与可用性(access and availability):网络服务必须对被授权用户可访问与可用

    网络安全的基本特征

    v ■相对性

    § 只有相对的安全,没有绝对的安全

    v ■时效性

    § 新的漏洞与攻击方法不断发现

    v ■相关性

    § 新配置、新系统组件可能会引入新的安全问题

    v ■不确定性

    § 攻击时间、攻击者、攻击目标和攻击发起的地点都具有不确定性

    v ■复杂性

    § 网络安全是一项系统工程,需要技术的和非技术的手段

    v ■重要性

    § 网络安全关乎国家、政府、企业、个人的安全

    网络安全

    v ■网络安全研究领域:

    § 入侵者(bad guys)如何攻击计算机网络

    § 如何防护网络对抗攻击

    § 如何设计网络体系结构免疫(immune)攻击

    v ■Internet最初设计几乎没考虑安全性

    § 最初愿景: “一组彼此信任的互助用户连接到一个透明网络” 进行信息共享 J Internet协议设计者扮演了“追赶者”(catchup)角色

    § 网络安全需要在网络各个层次考虑!

    6.1.3网络安全拟人模型

    6.2网络安全威胁

    破坏手段

    § 窃听(eavesdrop):窃听信息

    § 插入(insert):主动在连接中插入信息

    § 假冒(impersonation):可以通过伪造(spoof)分组中的源地址(或者分组的任意其他字段)

    § 劫持(hijacking):通过移除/取代发送发或者接收方“接管” (take over)连接

    § 拒绝服务DoS(denial of service):阻止服务器为其他用户提供服务(e.g.,通过过载资源)

    Internet安全威胁

    映射(Mapping):

    § 发起攻击前: “探路” (case the joint) – 找出网络上在运行什么服务

    § 利用ping命令确定网络上主机的地址

    § 端口扫描(Port-scanning): 依次尝试与每个端口建立TCP连接

    §nmap (http://www.insecure.org/nmap/),广为使用的国外端口扫描工具之一

    对策(Countermeasures)?

    § 记录到达的网络流量

    § 分析、识别出可疑活动( IP地址和端口被依次扫描)

    分组“嗅探”(sniffing):

    § 广播介质(共享式以太网,无线网络)

    § 混杂(promiscuous)模式网络接口可以接收/记录所有经过的分组/帧

    § 可以读到所有未加密数据(e.g., 包括口令! )

    分组嗅探:对策

    § 组织中的所有主机都运行软件,周期性监测网络接口是否工作在混杂模式

    § 每段广播介质连接一台主机(如交换式以太网)

    IP欺骗(Spoofing):

    § 直接由应用生成“原始”IP分组,可以设置分组的源IP地址字段为任意值

    § 接收方无法判断源地址是否被欺骗

    §e.g.: C冒充B

    IP欺骗对策: 入口过滤(ingress filtering)

    § 路由器不转发源IP地址无效的IP分组 (e.g., 源IP地址不属于所连接网络)

    § 很有效!但是不能强制所有网络都执行入口过滤

    拒绝服务DOS(Denial of service):

    § 向接收方恶意泛洪(flood)分组,淹没(swamp)接收方

    • 带宽耗尽

    • 资源耗尽

    § 分布式拒绝服务攻击(DDOS): 多个源主机协同淹没接收方

    §e.g., C与另一个远程主机协同对A进行SYN攻击

    DOS:对策

    § 在到达主机前过滤掉泛洪分组(e.g., SYN)

    • 可能好坏一起扔

    § 追溯(traceback)攻击源

    §SYN cookie[RFC 4987]

    6.3密码学基础

    破解加密方法

    v 唯密文攻击(cipher-textonly attack):入侵者(如Trudy)只截获到密文,基于对密文的分析进行破解

    v ■两条途径:

    § 暴力破解(brute force):尝试所有可能的密钥

    § 统计分析

    v 已知明文攻击(knownplaintext attack):入侵者已知(部分)明文以及与之匹配的密文

    §e.g., 在单码替代密码(monoalphabetic cipher)中,入侵者已确认字母,l,i,c,e,b,o的替换关系

    v 选择明文攻击(chosenplaintext attack):入侵者可以获取针对选择的明文的密文

    6.3.2传统加密方法

    1.替代密码(substitution cipher):利用一种东西替代另一种东西

    § ■凯撒密码(Casesar cipher):一个字母替代另一个字母

    • 将一个字母利用字母表中该字母后面的第k个字母替代

    • 如k=3,“bob. i love you. alice” →“ere, l oryh brx. dolfh”

    § ■多码(字母)替代加密(polyalphabetic encryption):使用多个单码替代密码,明文中不同位置的字母使用不同的单码替代密码

    2. 换位(transpositions)密码: 重新排列明文中的字母§

    ■置换法(permutation method)

    • 将明文划分为固定长度(d)的组,每个组内的字母按置换规则(f)变换位置

    • 密钥:(d, f)

    § ■列置换加密

    • 将明文按行组成一个矩阵,然后按给定列顺序输出得到密文

    § ■列置换加密的密钥包括列数和输出顺序

    • 可以用一个单词来表示

    • 单词长度表示列数,单词中的字母顺序表示输出顺序

    6.3.3现代加密技术

    v■现代加密技术的基本操作包括经典的替代和置换

    § 不再针对一个个字母,而是针对二进制位操作

    v■现代加密技术主要分为:

    § 对称密钥加密

    § 非对称密钥加密(公开密钥加密)

    v■对称密钥加密:

    § 流密码(stream ciphers)

    § 分组密码,也称块密码(block ciphers)

    流密码

    v■基本思想:

    § 首先利用密钥K产生一个密钥流: z=z0 z1 z2…

    § 然后使用如下规则对明文串x=x0x1x2…加密:y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…

    v■解密时,使用相同的密钥流与密文做运算(XOR)

    流密码工作流程

    分组密码

    v■将明文序列划分成长为m的明文组

    v■各明文组在长为i的密钥组的控制下变换成长度为n的密文组

    v■通常取n=m

    §n>m 扩展分组密码

    §n

    v■典型分组密码结构:Feistel分组密码结构

    § 在设计密码体制的过程中,Shannon提出了能够破坏对密码系统进行各种统分析攻击的两个基本操作:扩散(diffusion)和混淆(confusion)

    § 基于1949年Shannon提出的交替使用替代和置换方式构造密码体制

    Feistel分组密码结构

    v ■基于“扩散” 和“混乱” 的思考,Feistel提出通过替代和置换交替操作方式构造密码

    v ■Feistel是一种设计原则,并非一个特殊的密码

    Feistel结构的分组密码安全性取决于:

    v ■分组长度

    § 分组长度越大,安全性越高,加密速度越慢,效率越低

    § 目前常用的分组加密算法的分组长度取64位

    v ■子密钥的大小

    § 子密钥长度增加,安全性提高,加密速度降低

    § 设计分组密码时需要在安全性和加密效率之间进行平衡

    v ■循环次数

    § 循环越多,安全性越高,加密效率越低

    v ■子密钥产生算法

    § 在初始密钥给定的情况下, 产生子密钥的算法越复杂,安全性越高

    v ■轮函数

    § 一般情况下,轮函数越复杂,加密算法的安全性越高

    6.3.4数据加密标准: DES

    DES: Data Encryption Standard

    v ■IBM公司研制

    v ■1972年,美国国家标准局NBS (National Bureau of Standards)开始实施计算机数据保护标准的开发计划。

    v ■1973年5月13日, NBS征集在传输和存贮数据中保护计算机数据的密码算法。

    v ■1975年3月17日,首次公布DES算法描述。

    v ■1977年1月15日,正式批准为加密标准(FIPS-46),当年7月1日正式生效。

    v ■1994年1月的评估后决定1998年12月以后不再将DES作为数据加密标准

    v■DES是16轮的Feistel结构密码

    v■DES是一个包含16个阶段的“替代--置换”的分组加密算法

    v■DES的分组长度是64位

    §64位的分组明文序列作为加密算法的输入,经过16轮加密得到64位的密文序列

    v■DES使用56位的密钥

    v■DES的每一轮使用48位的子密钥

    § 每个子密钥是56位密钥的子集构成

    初始置换IP(Initial Permutation)

    DES的安全性

    v ■DES的56位密钥可能太小

    §1998年7月, EFE(电子前哨基金会)宣布攻破了DES算法,他们使用的是不到25万美元的特殊的“DES破译机”,这种攻击只需要不到3天的时间。

    v ■DES的迭代次数可能太少

    §16次恰巧能抵抗差分分析

    v ■S盒(即替代函数S)中可能有不安全因素

    v ■DES的一些关键部分不应当保密

    v ■DES存在弱密钥和半弱密钥

    v ■针对DES的攻击方法:

    § 差分分析方法(Difference Analysis Method)

    § 线性分析方法(Linear Analysis Method)

    § 旁路攻击法(Side-Channel Attack)

    DES的改进

    v ■密码分组链接(CBC-cipher block chaining)

    § 加密算法的输入是当前明文分组和前一次密文分组的异或

    § 重复的明文分组不会在密文中暴露出重复关系

    高级加密标准AES

    v ■ES: Advanced Encryption Standard

    v ■NIST(美国国家标准技术研究所)对称密钥加密标准, 取代DES(2001年12月)

    v ■1997年NIST宣布征集AES算法,要求:

    § 可公开加密方法

    § 分组加密,分组长度为128位

    § 至少像3DES一样安全

    § 更加高效、快

    § 可提供128/192/256位密钥

    v ■比利时学者Joan Daemen和Vincent Rijmen提出的Rijndael加密算法最终被选为AES算法。

    v ■NIST在2001年12月正式颁布了基于Rijndael算法AES标准

    Rijndael加密算法简介

    v ■不属于Feistel结构

    v ■加密、解密相似但不完全对称

    v ■支持128/192/256数据块大小

    v ■支持128/192/256密钥长度

    v ■有较好的数学理论作为基础

    v ■结构简单、速度快

    v ■Rijndael算法特点:

    § 分组长度和密钥长度均可变(128/192/256bits)

    § 循环次数允许在一定范围内根据安全要求进行修正

    § 汇聚了安全、效率、易用、灵活等优点

    § 抗线性攻击和抗差分攻击的能力大大增强

    § 如果1秒暴力破解DES,则需要149万亿年破解AES

    6.3.5公钥密码学

    对称密钥加密:

    v 需要发送方与接收方知道共享的秘密密钥

    公钥加密算法

    RSA:预备知识

    v报文/信息(message): 仅仅是一个比特模式(bit pattern)

    v每个比特模式可以表示为一个唯一的整数

    v因此,加密一个报文就等价于加密一个数

    例如:

    vm= 10010001,可以唯一地表示为十进制数145

    v为了加密m,我们可以加密对应的数(145),得到一个新的数(即密文)

    RSA为什么安全?

    v■RSA的安全性建立在“大数分解和素性检测” 这个数论难题的基础上

    § 既将两个大素数相乘在计算上容易实现,而将该乘积分解的计算量相当大

    v■假设已知Bob的公钥(n,e),那么有多大难度确定d,即私钥(n,d)?

    v■本质上需要在不知道两个因子p和q的前提下,找出n的因子

    § 分解一个大数是很困难的!

    RSA的实际应用

    v■RSA的幂运算强度很大

    v■DES至少比RSA快100倍

    v■实际应用中:

    § 利用公钥加密建立安全连接,然后建立第二个密钥-对称会话密钥,用于加密数据

    会话密钥(session key, KS)

    v ■Bob与Alice利用RSA交换对称会话密钥KS

    v ■一旦双方确认KS,则利用会话密钥加密/解密会话数据

    6.5消息完整性和数字签名

    6.5.1报文完整性

    v■报文/消息完整性(message integrity),也称为报文/消息认证(或报文鉴别), 目标:

    § 证明报文确实来自声称的发送方

    § 验证报文在传输过程中没有被篡改

    § 预防报文的时间、顺序被篡改

    § 预防报文持有期被修改

    § 预防抵赖

    • 发送方否认

    • 接收方否认

    密码散列函数

    ■密码散列函数(Cryptographic Hash Function): H(m)

    § 散列算法公开

    §H(m)能够快速计算

    § 对任意长度报文进行多对一映射, 均产生定长输出

    § 对于任意报文无法预知其散列值

    § 不同报文不能产生相同的散列值

    § 单向性: 无法根据散列值倒推出报文

    • 对于给定散列值h, 无法计算找到满足h = H(m)的报文m

    § 抗弱碰撞性(Weak Collision Resistence-WCR)

    • 对于给定报文x,计算上不可能找到y且y≠x,使得H(x)=H(y)

    § 抗强碰撞性(Strong Collision Resistence-SCR)

    • 在计算上, 不可能找到任意两个不同报文x和y(x≠y),使得H(x)=H(y)

    散列函数算法

    v■MD5: 被广泛应用的散列函数(RFC 1321)

    § 通过4个步骤,对任意长度的报文输入,计算输出128位的散列值

    §MD5不是足够安全

    •1996年, Dobbertin找到了两个不同的512-bit块,在MD5计算下产生了相同的散列值

    v■SHA-1(Secure Hash Algorithm): 另一个正在使用的散列算法

    §US标准 [NIST, FIPS PUB 180-1]

    §SHA-1要求输入消息长度<264

    §SHA-1的散列值为160位

    § 速度慢于MD5,安全性优于MD5

    报文摘要(Message digests)

    对报文m应用散列函数H,得到一个固定长度的散列码,称为报文摘要(message digest), 记为H(m)

    ü 可以作为报文m的数字指纹(fingerprint)。

    6.5.2数字签名

    Q:如何解决下列与报文完整性相关的问题?

    § 否认:发送方不承认自己发送过某一报文

    § 伪造:接收方自己伪造一份报文,并声称来自发送方

    § 冒充:某个用户冒充另一个用户接收或发送报文

    § 篡改:接收方对收到的信息进行篡改

    A:数字签名(Digital signatures) !

    § 数字签名技术是实现安全电子交易的核心技术之一

    § 可验证性(verifiable)

    § 不可伪造性(unforgeable)

    § 不可抵赖性(non-repudiation)

    对报文m的简单数字签名:

    v 报文加密技术是数字签名的基础

    vBob通过利用其私钥K-B(m) 对m进行加密,创建签名报文, K-B(m)

    6.6密钥分发与公钥证书

    6.6.1密钥分发中心(KDC)

    密钥分发中心(KDC)

    v ■Alice与Bob需要共享对称密钥.

    v ■KDC: 一个服务器

    § 每个注册用户(很多用户)共享其与KDC的秘密密钥

    v ■Alice和Bob只知道自己与KDC之间的对称密钥,用于分别与KDC进行秘密通信

    6.6.2认证中心(CA)

    v■认证中心(CA): 实现特定实体E与其公钥的绑定

    v■每个E(如人、路由器等)在CA上注册其公钥.

    §E向CA提供“身份证明” .

    §CA创建绑定E及其公钥的证书(certificate).

    § 证书包含由CA签名的E的公钥 – CA声明: “这是E的公钥”

    �M5}���

    相关文章

      网友评论

          本文标题:6网络安全基本原理

          本文链接:https://www.haomeiwen.com/subject/vzcaxftx.html