前言
作为17级的人下人,我对学院不开《网络安全导论》这门课表示十分愤懑且无奈,可是夏令营/考研复试又涉及这门课,只能自学了。
[TOC]
网络信息安全概述
本章主要内容是网络信息安全的概述,比较简单。
关键词
COMSEC、INFOSEC、TCSEC、ITSEC、Information Assurance、IATF、深度防护战略、木桶原则
信息安全的发展阶段
通信保密阶段 40-60年代
在20世纪初期,通信技术还不发达,面对电话、电报、传真等信息交换过程中存在的安全问题,强调的主要是信息的保密性,安全理论和技术的研究侧重于密码学,这一阶段称为通信安全,即COMSEC(Communication Security)
主要解决:发方和收方的信息源编码、信道编码和传输、通信协议和密码的问题。
信息安全阶段 80-90年代
20世纪60年代后,半导体和集成电路技术的飞速发展推动了计算机软硬件的发展,计算机和网络技术的应用进入了实用化和规模化阶段,安全扩展为以保密性、完整性和可用性为目标的信息安全阶段,即INFOSEC(Information Security).
代表成果是美国国防部标准5200.28——可信计算系统评估准则(TCSEC 桔皮书)和欧洲四国(荷兰、法国、英国、德国)的信息技术安全评估准则(ITSEC 白皮书)的制定。
信息保障阶段 90年代-
20世纪80年代开始,信息对内对外都得到极大开放,由此产生的信息安全问题跨越了时间和空间,信息安全的焦点已经不仅仅是传统的保密性、完整性和可用性三个原则了,由此衍生出了诸如可控性、抗抵赖性、真实性等其他的原则和目标,信息安全也转化为从整体角度考虑其体系建设的信息保障(Information Assurance)阶段,代表是美国的IATF规范。
IATF技术框架
美国国家安全局制定的信息保障技术框架(IATF)1998年开始,已发布V3.0,IATF代表理论为”深度防护战略(Defense-in-Depth)“。IATF强调人、技术、操作三个核心原则,人借助技术的支持,实施一系列的操作过程,最终实现信息保障目标。
网络空间安全阶段
物联网、云计算、大数据、移动互联网、人工智能等技术……
网络信息安全发展趋势
- 网络边界的消失:网络基础设施扩展、无线/移动接入->网络固有边界消失
- 应用层威胁不断增加
- 漏洞威胁涌现、传播速度加快
- 网络攻击简单化、多样化
- 攻击技术与病毒技术、社交工程融合
- 新技术的安全威胁增加
- 人工智能在攻击与反制中的应用:APT(高级持续威胁)、0day攻击;网络流量分析、态势感知、漏洞挖掘、攻防对抗、行为分析……
信息安全基本特征
- 相对性:相对安全;安全性在不同部件间可以转移。
- 时效性
- 安全攻击源与防范对象的不确定性
- 逆向思维与复杂的“人-机”关系
- 相关性:不同配置、新部件都会引入安全问题
- 信息结构的高度脆弱性和风险性:安全防护是全面保护过程。“木桶原理”
木桶原则
攻击者的攻击原则是 “最易渗透原则” ——攻击防守最薄弱的部分。同样,安全防御的目标也是提高整个系统的 “安全最低点”。
计算机网络基础
回顾
上次主要学习了信息安全发展的几个阶段、发展趋势和基本特征,提到了
- 通信保密、信息安全(保密性、机密性、完整性,TCSEC、ITSEC)、信息保障(可控性、真实性、不可抵赖性,IATF、三保卫一支撑);
- 网络边界消失、攻击简单多样化、应用层威胁增加、0day和APT攻击、漏洞被发现和传播的速度加快、AI的应用、网络攻击与社会工程学结合等;
- 相对性、时效性、不确定性、相关性、逆向思维、“木桶原则”。
本章主要涉及计网基础的复习。
关键词
计算机网络、OSI、TCP/IP、port、socket、MAC、DNS、三次握手、TCP、UDP
资源子网和通信子网
把计算机网络中实现网络通信功能的设备及其软件的集合称为网络的通信子网,而把网络中实现资源共享功能的设备及其软件的集合称为资源子网。
计算机网络定义
计算机网络是指将地理位置不同,具有独立功能(或自治能力)的多个计算机系统用通信设备和线路连接起来,并以功能完善的网络软件(网络协议、网络操作系统等)进行信息交换,实现资源共享和协同工作的系统。具备以下特征:
- 两台或以上地理位置不同、具有“自治能力”的计算机
- 各结点间有通道——传输介质实现物理互联
- 各结点间能够通信,并遵守相应的协议,实现逻辑互联
- 以实现数据通信和网络资源共享与协作为目的
计算机通信三要素
- 计算机构成的网络
- 通信信道
- 协议
网络层次模型
底层物理媒体进行实通信,其他对等实体间进行虚通信——必须通过旗下各层的通信间接完成。
OSI(Open System Interconnection)模型
各层功能及数据单元
- 物理层(传递光、电信号)——比特流
- 数据链路层(定义访问方法,保证信号无差错)——数据帧
- 网络层(负责路由选择)——分组
- 传输层(对数据分组,保证数据的传输)——数据段
- 会话层(建立、保持和断开会话)——报文
- 表示层(编码,解/压缩,加/解密)——报文
- 应用层(定义用户程序之间的交互)——字节流
TCP/IP模型与协议
TCP/IP简介
TCP/IP是美国为ARPAnet制定的协议,包含了大量的协议,是由一组通信协议所组成的协议集,TCP和IP是其中最基本也是最重要的两个协议。
- IP协议实现两个基本功能:寻址(路由)和分段; IP协议仅限于将数据从源端传送到目的端,而不提供可靠的传输服务;
- TCP协议:建立在IP协议的基础上用于分组交换计算机网络的主机到主机的协议,是面向连接的端到端的可靠协议,提供可靠的字节流传输和对上层应用提供连接服务;
TCP/IP模型分为4层:
- 应用层
- 传输层
- 网络层
- 链路层(数据链路层和物理层)
TCP/IP协议栈
端口号和套接字
- 端口号:TCP和UDP的应用程序,都有标识其的端口号(用于区分各种应用)。端口号有16位。
- 1-255作为公共端口,是保留号
- 256-1024用于UNIX服务
- 1024以上的端口号可以本地分配。
- 套接字socket:是ip地址+TCP使用的端口号,唯一标识整个Internet中地一个网络进程。
TCP(transmission control protocol,传输控制协议)和UDP(user datagram protocol,用户数据报协议)
同:
- 都使用IP协议,即协议数据单元PDU作为IP数据报中的数据部分
- 都采用了端口与上层的应用进程进行通信
异:
- UDP是不可靠的、以数据报为中心的传输协议。提供多路复用和差错检测功能,但是不提供纠错和重发,不保证数据的正确传送和重复出现。
- TCP是面向连接的协议,提供双向的、可靠的、有流量控制的字节流服务,提供缓冲、流控、窗口、自适应重发来保证传输的可靠性。
IP地址划分
- 网络号+主机号
- IPv4和IPv6相比(IPv4的缺点):
- 地址数量有限(32位)
- IP报头复杂
- 难以实现扩展和可选机制
- 提供有限的不同类型的服务
- 缺少安全性和保密性
MAC地址
MAC地址就是网卡的物理地址(Physical address),现在的Mac地址一般都采用6字节48bit。
域名解析
- 主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。
- 本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。
TCP三次握手
- 主机1发出的连接请求序号为x(seq=x)
- 主机2应答接受主机1的连接请求,并声明自己的序列号为y(seq=y,ACK=x)
- 主机1收到确认后发送第一个数据TPDU并确认主机2的序列号(seq=x,ACK=y),至此,整个连接建立过程正常结束,客户端和服务器进入ESTABLISHED状态,数据传输已正式开始
- CR:Connection Request(连接请求)
ACC:Connection Accepted(接受连接)
为什么是三次握手而不是两次握手?
客户端收到服务端的应答后进入ESTABLISHED(已建立连接状态),而服务端在收到客户端的连接请求之后就进入了ESTABLISHED状态。
如果出现网络拥塞,客户端发送的连接请求报文A过了很久没有到达服务端,会超时重发请求报文B,服务端正确接受并确认应答,连接建立并开始通信传输数据,等通信结束之后释放连接。
此时,如果之前失效的连接请求A到达服务端,由于两次握手就能成功建立连接,服务端收到请求A之后进入ESTABLISHED已建立连接状态,等待发送数据或者主动发送数据,此时,客户端已经进入CLOSED断开连接状态,服务器会一直等下去,浪费服务器连接资源。
局域网基础
- 结构复杂程度最低的计算机网络
- 仅在同一地点上经网络连在一起
- 常用的拓扑结构有总线型结构、环型结构、星型结构。
- 局域网中的机器通常离得很近,它是目前应用最广泛的一类网络。以太网是常见的局域网之一。
网络信息安全基础
回顾
上次主要复习了计网基础,涉及内容:
- 计算机网络的定义
- OSI协议的七层模型
- TCP/IP协议的四层模型
- TCP和UDP
- DNS域名解析
- TCP三次握手
- 子网划分和CIDR
本章主要涉及网络信息安全基础。
信息安全定义
指在既定的安全密级条件下,信息系统通过预警、保护、检测、响应、恢复和反击机制,抵御意外事件或恶意行为攻击,确保信息系统避免非授权的访问、破坏或者服务中断,实现信息和资源的保密性、完整性、可用性、非否认性和可控性的能力。
信息安全的属性/基本要素
CIA三要素:
- 机密性:指保证信息与信息系统不被非授权者截获和未经授权使用。
- 完整性:指信息是真实可信的,被传输、接收或存储的数据是完整的,其发布者不被冒充,来源不被伪造,内容不被篡改。
- 可用性:指尽管存在可能的突发事件,保证信息与信息系统服务可被授权人正常使用。
其他关联属性:
- 信息的不可否认性Non-repudiation 或抗抵赖性:指能够保证信息行为人不能否认其信息行为,无论发送方还是接收方都不能抵赖所发生过的通信
- 信息的可控性(Controllability):
- 鉴别(或验证) Authentication,确认实体是它所声明的。适用于用户、进程、系统、信息等的信息可信度, 真实性(Authenticity)
- 审计Accountability, 确保实体的活动可被跟踪
- 信息的可存活性(Survivability):面对各种攻击或错误的情况下继续提供核心的服务,而且能够及时地恢复全部的服务
OSI安全体系架构
OSI安全体系结构主要包括三部分内容:
- 安全服务
- 安全机制
- 安全攻击
安全服务
安全服务:一种用来增强数据处理系统安全性和信息传递安全性的措施或服务。目的在于使用1种或多种安全机制来阻止攻击。
ISO 7498-2对 OSI规定了五个方面的安全服务:
- 认证服务:提供关于某个实体(人或事物)身份的保证
- 访问控制服务:实施授权的一种方法,防止对资源的未授权使用,包括防止以未授权方式使用某一资源
- 数据机密性:指保护信息不泄露或不暴露给那些未授权掌握这一信息的实体。
- 数据完整性:确保数据的价值和存在性没有改变,针对对数据进行修改、增加、删除或重新排序等攻击行为所采用的安全服务。
- 非否认(不可抵赖性)服务:是指用以阻止参与某次通信交换的一方在事后否认曾经发生过本次交换这一事实。
安全机制
安全机制:用来检测、防范安全攻击并从中恢复系统的措施。
安全服务与安全机制有着密切的关系。安全服务体现了安全系统的功能;而安全机制则是安全服务的实现。一个安全服务可以由多个安全机制实现;而一个安全机制也可以用于实现多个安全服务中。
ISO 7498-2确定了8类安全机制,实现安全服务
- 加密机制(密码机制)
- 数字签名机制
- 访问控制机制
- 数据完整性机制
- 通信业务流填充机制:提供针对流量分析的保护:填充流空余位,干扰流量分析;对抗攻击者在链路上监听数据并对其进行流量和流向分析;
- 路由控制机制:路由改变、物理通道的选择,选择特殊的路由,保证数据安全;
- 认证交换机制
- 公证机制
OSI安全管理活动有3类:系统安全管理、安全服务管理和安全机制管理。
某些普遍性安全机制可认为属于安全管理方面:
- 安全标签 (security labels):为某一资源命名或指定安全属性
- 事件检测 (event detection):对安全相关事件的检测
- 审计跟踪 (security audit trail):对系统的记录与行为进行独立的评估考查,目的是测试系统的控制是否恰当,保证与既定策略和操作的协调一致。
- 安全恢复 (security recovery)
安全威胁和攻击
安全威胁:可能造成攻击的潜在危险
被动攻击是企图了解和利用系统信息但不影响系统的资源
被动攻击:消息内容泄露、流量攻击
主动攻击试图改变系统的资源和影响系统操作;主动攻击包含改写数据流的改写和错误数据流的添加
- 主动攻击:假冒、重放、改写消息、拒绝服务
网络安全威胁与攻击技术
回顾
上次学习了网络信息安全基础,涉及内容:
- CIA
- OSI安全体系架构
- 安全服务
- 安全机制
- 安全攻击
本章主要涉及网络信息安全威胁和技术。
网络信息安全威胁的原因
- 物理安全因素(物理设备和通信线路)
- 方案设计因素
- 系统的安全因素
- TCP/IP协议的安全因素:网络的开放性,因特网最初的设计只考虑该网会不会因为局部故障而影响信息的传输,基本没有考虑安全问题,因此TCP/IP协议族软件本身缺乏安全性。
- 人的因素
攻击过程
- 预攻击:网络攻击首先以分析目标信息系统的脆弱点入手,收集各类信息
- 攻击:设法绕过对方的安全防护措施,寻找可利用的突破口,使用某种技术手段来突破外围防线。利用该缺口在内部网络中进行层层渗透,定位存储有重要信息的服务器或工作主机,设法取得对目标对象的控制权限
- 后攻击:植入后门、消除痕迹
常用攻击手段
- 网络监听:监视网络状态、数据流以及网络上传输信息
- 密码破解
- 会话劫持(Session Hijack):是一种结合了嗅探以及欺骗技术在内的攻击手段。
会话劫持就是在一次正常的通信过程中,黑客作为第三方参与其中,或者是在数据流(例如基于TCP的会话)里注射额外的信息,或者监听双方会话,将双方的通信模式暗中改变,即从直接联系变成有黑客联系。
会话劫持利用了TCP/IP工作原理来设计攻击。TCP会话劫持的攻击方式可以对基于TCP的任何应用发起攻击,如HTTP、FTP、Telnet等。 - 缓冲区溢出攻击
- 拒绝服务攻击
- 计算机网络带宽攻击
- 连通性攻击
- 泛洪攻击
- Smurf 攻击:Smurf攻击通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包,来淹没受害主机,最终导致该网络的所有主机都对此ICMP应答请求做出答复,导致网络阻塞。
- 网络蠕虫攻击
- 木马攻击
- SQL注入攻击
APT和社会工程学
APT Advanced Persistent Threat(高级持续性威胁)
- 极强的隐蔽能力
- 很强的针对性
- 0day收集
社会工程学(Social Engineering)
- 一种通过受害者心里弱点、本能反应、好奇心、信任、贪婪等心里陷阱进行诸如欺骗、伤害等危害手段,取得自身利益的手法。
- 业务系统都是由系统软件和人组成,系统中最薄弱的一环——人。
网络信息安全模型
回顾
上期学习了网络安全的威胁与相关技术,涉及到:
- 安全威胁的原因
- 网络攻击的过程
- 常用手段
- APT
- 社会工程学
本章涉及网络信息安全中的网络通信模型。
网络安全模型—网络通信
- 为了在开放网络环境中保护信息的传输,需要提供安全机制和安全服务:
- 对发送的信息进行与安全相关的转换,例如消息加密和数字签名。
- 由两个主体共享的秘密信息,而对开放网络是保密的,例如密钥。
- 为了完成安全的处理,常常需要可信的第三方。
- 一种能被通信主体使用的协议,这种协议使用安全算法和秘密信息以便获得特定的安全服务。
网络安全模型-访问安全
网络访问安全模型,该模型考虑了黑客攻击、病毒与蠕虫等的非授权访问。黑客攻击可以形成两类威胁:
- 信息访问威胁,即非授权用户截获或修改数据;
- 服务威胁,即服务缺陷以禁止合法用户使用。
病毒和蠕虫是软件攻击的两个实例,这类攻击通常是通过移动存储介质引入系统,并隐藏在有用软件中;也可通过网络接入系统。
两个层次:
- 网闸 或看门人功能,组织非授权用户访问
- 内部安全控制(监控):监测有害入侵者的存在
网络安全模型—P2DR模型
- P2DR模型是可量化的、可由数学证明的、基于时间的的安全模型, 包含安全策略(Policy)、防护(Protection)、检测(Detection)和响应(Response);
- 安全策略是P2DR安全模型的核心,所有的防护、检测、响应都是依据策略实施的;
- 防护主要是预防安全事件的发生,发现存在的系统脆弱性和防止意外威胁和恶意威胁;
- 检测是P2DR中一个非常重要的环节,是静态防护转化为动态防护的关键,动态响应和加强防护的依据,同时也是强制落实安全策略的工具;
- 响应在安全系统中占有重要的地位,是解决安全潜在威胁最有效的方法。
安全的目标实际上就是尽可能地增大保护时间,尽量地减少检测时间和响应时间。
- P2DR2 :网络安全=风险分析(A)+安全策略(P)+系统防护(P)+实时监测(D)+实时响应(R)+灾难恢复(R)
网络安全评估标准
在TCSEC中,美国国防部按处理信息的等级和应采用的响应措施,将计算机安全从高到低分为:A、B、C、D四类八个级别,共27条评估准则,随着安全等级的提高,系统的可信度随之增加,风险逐渐减少。
四个安全等级:
- 无保护级
- 自主保护级
- 强制保护级
- 验证保护级
密码学
回顾
上一章学习了网络信息安全的模型,主要包括:
- 网络通信
- 访问安全
- P2DR模型
本章主要涉及密码学。
密码学基本概念
密码学的起源和发展
- 手工阶段
- 机器时代
- 公钥密码理论
1883年Kerchoffs第一次明确提出了编码的原则:加密算法应建立在算法的公开不影响明文和密钥的安全。——成为判定密码强度的衡量标准,也成为传统密码和现代密码的分界线。
密码算法的安全性
- 无条件安全
- 计算上安全
- *不可攻破的密码系统
密码破解类型
- 唯密文
- 已知明文
- 选择明文
- 选择密文
- 选择文本
对称密钥体系
分组密码
定义
在明文分组和密文分组上进行运算—通常分组长64bits,有时更长。相同的明文和相同的密钥得到相同的密文。分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字序列,
设计原则
混乱(Confusion)原则:为了避免密码分析者利用明文与密文之间的依赖关系进行破译,密码的设计应该保证这种依赖关系足够复杂。 通常的方法是“替换(Substitution)”。一个二进制字用其它二进制字替换,被称作 S-boxes
扩散(Diffusion)原则:为避免密码分析者对密钥逐段破译,密码的设计应该保证密钥的每位数字能够影响密文中的多位数字;同时,为了避免密码分析者利用明文的统计特性,密码的设计应该保证明文的每位数字能够影响密文中的多位数字,从而隐藏明文的统计特性。通常的方法是“换位(Permutation)”。二进制字次序被打乱,重新排序,被称作 P-boxes
Feistel密码结构
单个循环不能提供足够的安全性,而多个循环提供的安全性高,典型的循环次数是16次循环。
- 序列密码(流密码)
作用在明文和密文的数据序列的1位(bit)或1字节(byte)上。
工作模式
电子密码本(ECB)
明文一次被处理b比特,而且明文的每一个分组都使用同一密钥加密。密码分组链接模式(CBC)
加密算法的输入是当前明文分组与前一密文分组的异或;每一个分组使用同一密钥。(先异或再Encrypt)密码反馈模式(CFB)
将任意分组密码转为为流密码。(密文和明文长度相等)(先encrypt再异或)计数器模式(CTR)
- 计数器被加密然后与明文分组异或来产生密文分组。
- 随着消息块的增加,计数器的值增加1
- E(R,K)异或P
数据加密标准DES
DES
密钥56bit(64bit只有56bit有效),明文64bit,迭代16轮,56bit密钥产生16组子密钥。
2DES
C = EK2(EK1(P)) <-> P = DK1(DK2(C))
- 中间相遇(meet-in-the-middle)攻击
3DES
加密-解密-加密
AES
- 分组 16字节 128位
- 子秘钥 44个,每个 32位,每轮使用4个字,128位
- 每轮进行“字节替换”、“行移位”、“列混淆”、“轮密钥加”
- 10轮迭代,但是非Feistel结构
流密码
定义
由种子密钥通过密钥流发生器得到的密钥流为:K=k1k2…..kn,则加密变换为:C=c1c2…..cn,其中 ci=mi⊕ki,(i=1,2,…..,n),其中m,k,c是0,1 序列,⊕表示模2加法(异或)。
流密码具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信。 流密码强度依赖于密钥流产生器所生成序列的随机性和不可预测性。
流密码VS分组密码
- 分组密码以一定大小作为每次处理的基本单元,而流密码则是以一个元素(一个字母或一个比特)作为基本的处理单元。
- 流密码是一个随时间变化的加密变换,具有转换速度快、低错误传播的优点,硬件实现电路更简单;其缺点是:低扩散(意味着混乱不够)、插入及修改的不敏感性。
- 分组密码使用的是一个不随时间变化的固定变换,具有扩散性好、插入敏感等优点;其缺点是:加解密处理速度慢、存在错误传播。
- 分组密码可以重复使用密钥,流密码则最好不要重复使用密钥。
公钥密码和消息认证
完整性校验(消息认证)
消息认证的目的
防止主动攻击的重要技术:
- 验证信息的发送者是真正的,而不是冒充的,信息是真实可信的,此为信源识别;
- 验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟,消息流的相对顺序等。
常规加密方法实现消息认证
- 发送接收双方共享一个密钥(确认身份)
- 消息中含有序列号、时间戳进行标记(确认完整性)
- 错误检测码(确认完整性)
非加密方法实现消息认证—消息认证码(MAC)
使用一个密钥生成一个固定大小的数据,并加入到消息中,称MAC或密码校验和(cryptographic checksum),核心是一个类似于加密的算法CK(),在密钥的作用下,以报文内容作为输入,其输出值是一个较短的定长数据分组,也就是报文鉴别码MAC(带有密钥),即:
MAC = CK(M)
(使用附加秘密值在进行计算的MAC就是HMAC)
- 基于分组密码的MAC
非加密方法实现消息认证—单向散列函数(不带有密钥)
消息摘要(Message Digests)是散列函数,它以变长的信息为输入,把其压缩成一个定长的值输出。若输入的信息被改变了,则输出的定长值(摘要)也会相应改变,提供错误检测能力。
散列函数的要求
- H可以作用于一个任意长度的数据块;
- 散列函数H必须对任意长度的明文产生固定长度的散列值;
- 对任意给定的明文x ,无论是软件还是硬件实现H(x) ,计算都相对容易。
- 对任意给定码h,找到x满足H(x)=h具有计算不可行性;(单向性,抗原像攻击性)
- 对任何给定的报文M,若要寻找不等于M的报文M1 使H( M1 ) = H(M) 在计算上是不可行的。——防止伪造(弱碰撞攻击性)
- 要找到任意两个报文M和N使H(M)=H(N)在计算上是不可行(抗强碰撞性)
生日攻击(基于生日悖论):在k个人中,找一个与某人生日相同的人的概率超过0.5时,只需k>183; 而在此人群中,至少有两个人生日相同的概率超过0.5,只需k>23.
散列函数的安全性
- 密码分析:依赖于具体算法的设计缺陷,利用算法的某种性质。理想的Hash函数要求密码分析攻击所需的代价大于或等于穷举攻击所需的代价。
- 穷举攻击
对于长度为m的Hash码,对于穷举攻击所需付出的代价分别于下表中相应量成正比.(通过生日悖论进行穷举攻击)
穷举攻击 | 代价 |
---|---|
抗原像攻击 | 2m</sub> |
抗弱碰撞攻击 | 2m</sub> |
抗强碰撞攻击 | 2m/2</sub> |
典型散列函数
- MD5:合成的迭代函数,将数据分为512bit的块,生成128bit摘要
- SHA:预处理与MD5相同,输出5*32bit=160bit
- HMAC:用一个秘密密钥来产生和验证MAC。将散列函数和密钥结合起来产生鉴别码,称为基于散列函数的报文鉴别码HMAC
HMAC(K, text)= H((K opad ), H((K ipad) ,text))
Hash与MAC的区别
与密钥相关的单向散列函数通常称为MAC,因此MAC需要密钥, MAC计算速度慢;
Hash是一种直接产生鉴别码的方法,不需要密钥,对任意长度的报文直接产生定长的鉴别码
公钥密码(非对称加密)
这种方案需要两个不同的但是相关的密钥值,一个是公钥,一个是私钥。私钥总是保密的,公钥需要公开。由私钥可以计算出公钥,但由公钥难以计算出私钥。
公钥密码体制是基于单向陷门函数的概念。单向函数是一些易于计算但难于求逆的函数,而单向陷门函数就是在已知一些额外信息的情况下易于求逆的单向函数,这些额外信息就是所谓的陷门。
公钥密码系统的应用
- 加密/解密:发送者使用接收者的公钥加密消息
- 数字签名:发送者使用自己的私钥签名消息,通过对消息或者小的数据块应用加密算法来签名消息
- 密钥交换:双方合作交换会话密钥
RSA算法三种方式都适合,Diffie-Hellman算法只适合于密钥交换,DSS(数字签名标准)适合于数字签名,EIGamal适合于前两种,椭圆曲线算法三种都适合。
RSA
RSA安全性基础:求两个大素数的乘积是计算上容易的,但是要分解两个大素数的积求出它的素因子是计算上困难的。
(1)取两个素数p和q(保密);
(2)计算n(公开)=pq,φ(n)=(p–1)(q–1)(保密);
(3)随机选取整数e,满足gcd(e,φ(n))=1(公开),即e 与φ(n)互素且小于φ(n);
(4)计算d,满足de≡1 (modφ(n))(保密)。
利用RSA加密第一步需将明文数字化,并取长度小于log2n位的数字作明文块。
加密算法: c=E(m)≡me(mod n)
解密算法: D(c)≡cd(mod n)
Diffie-hellman
共享密钥K,Ya、Yb为私钥
第3类公钥系统的安全性依赖于离散对数的计算困难性。离散对数问题可细分为两类: 一类为有限域上的离散对数问题;一类为椭圆曲线上的离散对数问题。
如果p和a被窃取,则会遭受中间人攻击。
EIGamal公钥密码体制
EIGamal公钥密码体制安全性是基于有限域上计算离散对数的困难性;其认证模型形成美国数字签名标准DSS的基础
椭圆曲线公钥密码体制ECC
ECC实际上是将原有的经典的加密算法通过某些运算移植到安全的椭圆曲线方程上,如D-H协议、EIGamal协议等。
- 160bit ECC = 1024bit RSA
- 210bit ECC = 2048bit RSA
- 实现速度快,密钥尺度小
数字签名
功能
数字签名用来保护信息传输过程中信息的完整性(hash)和提供信息发送者的身份的确认(private key)。
工作原理
Mes = M + E(H(M), Pria)
公钥密码体制VS对称密钥体制
- 对称加密的优点
- 速度快,处理量大,适用于对应用数据的直接加密。
- 加密密钥长度相对较短,如40比特—-256比特。
- 除了加密,还可构造各种加密体制,如产生伪随机数等。
- 对称加密的缺点
- 密钥在双方都要一致、保密,传递较难。
- 大型网络中密钥量大,难以管理,一般需要KDC。
- 密钥需要经常更换。
- 公钥加密的优点
- 只有私钥保密,公钥公开,密钥保存安全。
- 网络上密钥管理不需在线,可以离线。
- 密钥生命周期相对较长。
- 许多公钥方案可以产生数字签名机制。
- 公钥加密的缺点
- 速度慢,处理量少,适用于密钥交换。
- 密钥长度相对较长。
密钥分配和用户认证
密钥管理
密钥管理直接原因:
- 拥有大量的密文有助于密码分析;一个密钥使用得太多了,会给攻击者增大收集密文的机会:
- 假定一个密钥受到危险或用一个特定密钥的加密/解密过程被分析,则限定密钥的使用期限就相当于限制危险的发生。
密钥分配
基于对称密码体制的密钥分配
KDC
设立密钥分配中心(KDC)
定义两种密钥:
- 会话密钥(一次性密钥,会话开始时产生,会话结束时候销毁)
- 永久密钥:分发会话密钥时候所用的密钥
KDC的分层可以减少主密钥的分布
Kerberos
Kerberos:
- 认证(authentication)
- 记录(accounting)
- 审计(audit)
Kerberos提供一个中心认证服务器,采用对称密码加密体制DES,不使用公开密钥加密体制,提供一个可信第三方的认证服务。
特点: - 基于口令鉴别,但未对口令做额外保护
- 依赖较好的时钟同步
- 可适用于分布式网络
- 存在登陆程序被篡改的风险
- 口令和会话密钥的存储风险(金钥匙、银钥匙)
基于公开密钥体制的密钥的分配
公钥证书
用户通过公钥证书相互交换自己的公钥而无需和公钥管理机构联系。绑定实体姓名与公钥及其他属性。
CA=E(T+IDA+PKA, SKCA)
T: 时间戳
IDA: A用户的身份标识
PKA: A用户的公钥
SKCA: CA的私钥
证书验证
- 假设个体A看到B的一个证书
- B的证书中含有签发该证书的CA的信息
- 沿着层次树往上找,可以构成一条证书链,直到根证书
- 验证过程:
- 沿相反的方向,从根证书开始,依次往下验证每一个证书中的签名。其中,根证书是自签名的,用它自己的公钥进行验证
- 一直到验证B的证书中的签名
- 如果所有的签名验证都通过,则A可以确定所有的证书都是正确的,如果他信任根CA,则他可以相信B的证书和公钥
公开加密+常规加密的密钥分配
用非对称加密保护对称密钥,用对称加密保护消息。
- 结合了非对称加密的高安全性和对称加密的快速、适应性强的特点
- A->B :EKUb[N1//IDa]
- B->A :EKUa[N1//N2]
- A->B :EKUb[N2]
- A->B :EKUb[EKRa[Ks]]
- B计算 DKUa[DKRb[EKUb[EKRa[Ks]]]]
PKI
PKI是用公钥概念与技术来实施和提供安全服务的具有普适性的安全基础设施。PKI中最基本的元素是数字证书。
交叉认证
交叉认证是一种把以前无关的CA连接在一起的有用机制,从而使得在它们各自主体群之间的安全通信成为可能。
两个CA安全地交换密钥信息,这样每个CA都可以有效地验证另一方密钥的可信任性,这个过程称为交叉认证;
联合身份管理
将身份管理扩展到多个安全域,目的是:共享数字身份。
身份管理系统要素:认证、授权、审计(3A)
数字水印
信息隐藏技术(Information Hiding),是利用载体信息中具有随机特性的冗余部分,将秘密信息隐藏在某些宿主对象中,且信息在传输或存储过程中不被发现或引起注意,接受者获得隐藏对象后按照约定规则可读取秘密信息的技术。
数字水印技术是利用数字作品中普遍存在的冗余数据与随机性把版权信息嵌入在数字作品本身中从而起到保护数字作品版权或完整性的一种数字产品版权保护技术,目的是鉴别出非法复制和盗用的数字产品。
网络访问控制和云安全
回顾
上一次学习了密码学与密钥分配的内容,涉及到:
- 密码学的发展史
- 密码算法的安全性
- 对称加密
- 分组密码
- 电子密码本
- 密码分组链接
- 密码反馈
- 计数器
- 流密码
- 分组密码
- 公钥加密
- 加解密
- 密钥交换
- 数字签名
- 密钥分配
- 基于对称加密的密钥分发(KDC、Kerberos)
- 基于非对称加密的密钥分发(公钥证书)
- 基于对称加密与非对称加密的密钥分发
- PKI
- 交叉验证
- 联合身份管理
本章涉及网络访问控制和云安全的内容。
访问控制
访问控制的定义
访问控制是通过某种途径显式地准许或限制访问能力及范围的一种方法。
访问控制的基本目标
- 防止对任何资源(如计算资源、通信资源或信息资源)进行未授权的访问
- 非法用户进入系统
- 合法用户对系统资源的非法使用
- 允许被授权的主体对某些客体的访问、拒绝向非授权的主体提供服务
访问控制的实体
- 主体
- 客体
- 授权
网络访问控制措施
- IEEE802.1X:链路层协议,它在一个端口被分配IP之前执行授权
- VLAN:企业网络在逻辑上被分割成为一系列虚拟的LAN
- 防火墙: 允许或者拒绝企业主机与外部用户的网络流量来提供一种形式的网络访问控制。
- DHCP:动态主机配置协议,给主机动态分配IP
- EAP
可扩展认证协议EAP
EAP通常直接运行在数据链路层,目前支持EAP协议的网络有PPP、有线网(EAPOL,802.1X协议)、无线网络(即802.11 WLAN)、TCP、UDP
- 步骤1:请求方向认证方发送EAPOL-Start消息
- 步骤2:认证方向请求方发送EAP-Request/Identity消息
- 步骤3:请求方给认证方回复EAP-Response/Identity消息,并由认证方转发给认证Server
- 步骤4:认证Server给认证方发送一个Radius格式的质询(challenge)消息,认证方将其重新封装为EAPOL发送给请求方( 支持单向和双向认证,单向即Server验证请求方的身份;双向即双方都验证对方身份,无线中采用双向避免中间人攻击)
- 步骤5:请求方向认证方回复质询消息,并由认证方转发给认证Server
- 步骤6:如果请求方提供的身份凭证无误,认证Server将返回Success的消息给请求方,并由认证方转发给请求方,认证方根据认证 结果给予请求方访问网络资源的权限。
基于端口的认证策略—IEEE 802.1
目的:确定一个端口是否可用。
一个端口,认证前处于“非授权”状态。
如果认证成功,就“打开”,端口切换到“授权”状态,允许所有的报文通过;如果认证不成功,就保持“关闭”,处于“非授权”状态,只允许802.1X的认证报文EAPOL(EAP OVER LAN)和广播报文通过。
云计算
“云”中的资源在使用者看来是无限可以扩展的,并且可以随时获取、按需伸缩、按需使用。
主要特征
- 广泛的网络访问:服务能力通过网络提供,支持各种标准接入手段,
- 快速的可伸缩性:快速扩容,可弹性提供服务
- 可度量的服务:具备一种可计量的能力,控制及优化资源,可以监视和控制资源
- 按需自助服务:用户可以在需要时自动配置计算能力
- 资源共享:计算资源汇集到资源池中,将不同的物理和虚拟资源动态分配给多个消费者使用。
服务模式
- 软件即服务(SaaS, Software as a Service)
- 平台即服务(PaaS)
- 基础设施即服务(IaaS)
云安全风险
- 滥用和恶意使用云计算算力
- 不安全的API
- 恶意的内部人员
- 共享技术的安全风险
- 数据丢失或泄露:不合适的访问控制、弱加密
- 账户或服务劫持、流量劫持:证书盗用、密码泄露、流量拦截、改道发送数据等
- 其他:非标准私有云和公有云;缺少持续性风险管理和符合性监控;不完整的身份管理;
web安全和传输层安全
回顾
上一次学习了访问控制的安全相关内容和云计算基础,涉及:
- 访问控制
- 防止未授权用户的访问,防止授权用户的非法操作
- EAP
- IEEE802.1
- 云计算
- 服务模式
- 安全风险
本章主要学习Web安全和传输层安全。
Web安全
Web安全威胁
将威胁进行分组的方法之一是将其分为主动攻击和被动攻击:
- 主动攻击:包括对其它用户的冒充、修改客户服务器之间传递的消息流量、木马,以及修改Web站点存储的信息等完整性攻击;
- 被动攻击:包括对在浏览器和服务器之间的数据流的窃听、对Web站点的施加了访问控制措施的信息的未授权访问、盗窃信息等机密性攻击;
拒绝服务攻击等可用性攻击;
将威胁进行分组的方法之二是根据安全威胁所发生的位置:
- Web服务器
- Web浏览器
- 浏览器和服务器之间的网络流量。
根据威胁的后果,可分为:
- 对信息完整性的攻击
- 对信息保密性的攻击
- 拒绝服务攻击
- 对身份认证攻击。
基于TCP/IP协议的网络安全体系结构
传输层安全
TCP/IP协议本身非常简单,没有加密、身份认证等安全特性,因此必须在TCP之上建立一个安全通信层次。
SSL(Secure Sockets Layer)协议
SSL是Netscape提出的一个在Internet上提供秘密通信的安全协议;为Client/Server应用提供可靠连接方式下的防窃听、防篡改、防信息伪造的通信。SSL协议使用通讯双方的证书,在通讯双方间建立一条安全的、可信任的通讯通道。
- 设计目标:在TCP基础上提供一种可靠的端到端的安全服务,其服务对象一般是WEB应用,通过在两个实体之间建立一个共享的密钥,提供机密性服务。
重要概念
- SSL连接是一个双向连接,每个连接都和一个SSL会话相关。SSL连接成功后,可以进行安全保密通信。
- SSL会话由握手协议创建,定义了一系列相应的安全参数,最终建立客户机和服务器之间的一个关联。对于每个SSL连接,可利用SSL会话避免对新的安全参数进行代码繁多协商。
- 每个SSL会话都有许多与之相关的状态。一旦建立了会话,就有一个当前操作状态。
SSL记录协议层(SSL Record Protocol layer)
- 为高层协议提供基本的安全服务:机密性和完整性服务。
- 记录层封装各种高层协议。
- 具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。
SSL握手协议层(SSL HandShake Protocol layer)
用于SSL管理信息的交换,允许应用协议传送数据之前相互验证,协商加密算法和生成密钥等。
包括:
SSL握手协议(SSL HandShake Protocol);
SSL密码参数修改协议(SSL Change Cipher Spec Protocol);
应用数据协议(Application Data Protocol);
SSL告警协议(SSL Alert Protocol)。
TLS传输层安全
- TLS(Transport Layer Security) 1.0 (RFC 5246) = SSLv3.l
- TLS:基于会话的加密和认证的Internet协议,为通信的两个实体提供了一个安全的通道。
- TLS的主要目标是使得SSL更安全,并使协议的规范更精确和完善
- TLS与SSL3.0之间存在着显著差别,主要是它们所支持的加密算法不同, TLS与SSL3.0不能互操作。
HTTPS协议
- HTTPS = HTTP + SSL
- 标准端口443
- HTTPS对传输的数据进行加密,以及需要CA机构签名的SSL证书
SSH(Secure Shell)
- 用于在非安全网络上提供安全的远程登录、交互式会话安全和其他安全网络服务,使用端口22。
- SSH提供机密性、完整性服务、身份认证服务
- 可以取代传统的Telnet、FTP等,在本地主机和远程服务器间设置加密通道
无线网络安全
回顾
上次学习了Web安全和传输层安全,主要涉及:
- Web安全
- 基于TCP/IP协议的网络安全体系架构
- 传输层安全
- SSL
- 记录协议层
- 握手协议层
- TLS
- HTTPS
- SSH
- SSL
本章学习无线网络安全。
无线网络安全
接入方式
- 基站
- WiFi热点
- 无线网和有线网的接入点AP
将多个无线用户互连起来组成一个无线局域网,将无线用户接入有线局域网
特点
- 开放性
- 移动性
- 动态性(资源)
- 不确定性(信道)
安全威胁
- 窃听、截取和监听
- 主动式攻击:欺骗(IP\MAC)、非授权访问、网络接管、篡改、DOS攻击、恶意代码、隐蔽通道
- 潜在的法律问题
安全措施
- 安全无线传输
- 安全无线AP
- 安全的无线网络
移动设备安全
WAP(Wireless Application Protocol,无线应用协议)
WAP是一个使移动用户使用无线设备(例如移动电话)随时使用互联网的信息和服务的开放的规范。
主要意图:使得无线终端设备能够获得类似网页浏览器的功能
安全威胁
- 缺乏物理安全控制
- 不可信移动设备
- 不可信网络
- 未知来源的app
- 不安全内容
- 与其他系统的相互作用
- 定位服务
安全措施
- 设备安全
- 数据流安全与边界安全
- 数据流加密(VPN)
- 身份认证
- 边界安全(firewall+IDS)
无线局域网
IEEE 802.11
802.11 只涉及介质访问控制(MAC)层和物理层
- LLC子层:保证站点之间数据传输的正确性,流量控制、差错控制
- MAC子层:解决多个站点对共享信道的访问,寻址、差错检测、媒介控制,组装拆封帧
介质访问特点
- 信息传输特点
- 一个无线用户发出的电磁波会向各个方向扩散
- 一定范围内的所有无线用户共享传输信道。
- MAC层采用CSMA/CA (载波侦听多点接入/避让机制)协议
- CSMA:与在传统以太网中的含义相同
- CA:冲突避免(先预约而非发送后检测)
802.11网络组成模型
- 无线局域网最小的组成块:基本服务单元BSS(Basic Service Set)
一个基本服务集 BSS 包括一个接入点AP(基站)和若干个移动站(STA),所有的站在本 BSS 以内都可以直接通信,但在和本 BSS 以外的站通信时 ,都要通过本 BSS 的AP。 - 分布式系统(Distributed System, DS):通过固定基础设施把多个BSS连接起来而形成的扩展服务集Extended Service Set (ESS)
- 一个基本服务集可以是孤立的,也可通过接入点 AP连接到一个分布式系统 DS (Distribution System),然后再接入到另一个基本服务集,构成扩展的服务集ESS (Extended Service Set)。
- ESS 还可通过叫做门户(portal)为无线用户提供到非 802.11 无线局域网(例如,有线连接的因特网)的接入。门户的作用就相当于一个网桥。
- 移动站 A 从某一个基本服务集漫游到另一个基本服务集(到 A 的位置),仍可保持与另一个移动站 B 进行通信。
提供2类9种服务
分配服务(Distribution service):由基站提供,管理BSS内成员关系,与其它BSS中的站进行交互
- 建立联系(association):移动节点进入一个BSS后使用该服务与基站建立联系
- 解除联系(disassociation):节点关机或离开前与基站解除联系
- 重建联系(reassociation):节点使用该服务改变首选基站
- 分发(distribution):基站转发收到的帧。
- 整合(integration):将802.11格式转换成目的网络要求的格式
站服务(station services):在联系建立起来后使用,用于管理BSS内的活动。
- 身份鉴别(authentication):基站验证移动节点的身份。
- 解除鉴别(deauthentication):一个此前经过认证的节点离开网络前解除认证。
- 保密(privacy):处理数据的加密和解密。
- 数据传递(data delivery):数据收发服务,802.11提供的数据传输服务是不可靠的。
安全服务
服务集标识符(SSID)匹配
对AP设置不同的SSID,无线工作站必须出示正确的SSID才能访问AP
问题:AP周期地广播信标帧(包含SSID),信标帧在发送时没有进行任何方式的保护,导致黑客很容易地识别出SSIDWEP(有线对等保密)
用于在无线局域网中保护链路层数据。WEP使用40位钥匙,采用RSA开发的RC4对称加密算法,在链路层加密数据。WEP加密采用静态的保密密钥,各无线工作站使用相同的密钥访问无线网络;采用认证 ,防止未授权用户对网络进行访问)WPA是继承了WEP基本原理而又解决了WEP缺点的一种新技术
- 根据通用密钥,配合表示电脑MAC地址和分组信息顺序号的编号,分别为每个分组信息生成不同的密钥,然后与WEP一样将此密钥用于RC4加密处理。通过这种处理,所有客户端的所有分组信息所交换的数据将由各不相同的密钥加密而成。无论收集到多少这样的数据,要想破解出原始的通用密钥几乎是不可能的
- 追加了防止数据中途被篡改的数据完整性校验功能和认证功能
物理地址(MAC)过滤
每个无线工作站的无线网卡都有唯一的物理地址,类似以太网物理地址。可以在AP中建立允许访问的MAC地址列表
802.11i
IEEE 802.11i 操作过程
- 第一阶段:发现:站点连接访问接入点,
- 第二阶段:认证(在802.11i的认证中,涉及三个核心协议:802.1x、EAP、RADIUS):站点和访问服务器互相证明身份,
- 第三阶段:密钥管理(产生与配送)
- 第四阶段:保密数据传输:数据帧在站点和终端站点间通过访问接入点进行交换,安全数据传输只在站点和访问接入点之间,不能确保端到端的安全
- 第五阶段:终止连接
密钥管理
要通过四次握手完成以下任务:STA和AP要确认PMK,产生新的PTK,确认数据加密与完整性检验方法。
PMK应用伪随机函数PRF导出PTK,计算TKIP的PTK时使用PRF-512,计算AES的PTK时使用PRF-384,函数PRF中的参数AA和SA分别是认证者和申请者的MAC地址,SNonce和ANonce分别是申请者和认证者发出的现时当前值。
- AP->STA: Anonce
- STA->AP: Snonce,带有MIC
- AP->STA: 是否使用一对一密钥,带有MIC
- STA响应
暂时密钥集成协议TKIP
当WEP被攻破的时候,已安装的数百万个系统突然失去安全,需要一种方案解决这一问题。但这些系统的硬件不能支持AES-CCMP。因此,设计者们寻找到一种既能够克服WEP的缺陷,又能利用现有的硬件的方法,这就是TKIP 。
CCMP协议
- CCMP是围绕AES建立的安全协议,称为计数器模式+密码块链认证码协议( Counter Mode with Cipher Block Chaining MAC Protocol,CCMP)。
- CCMP能提供高可靠的安全性,因为它是独立的设计,不是妥协的产物。
- 使用AES-CBC-MAC来计算消息完整性校验值
- 使用AES-CTR密码块模式来进行数据加密
电子邮件安全
回顾
上次学习了无线安全,涉及到:
- 无线安全
- 移动设备安全
- IEEE 802.11
- 网络组成模型
- 2类9种服务
- 安全服务
- IEEE 802.11i
- 发现、认证、密钥管理、加密传输、终止
- 密钥管理四次握手
- TKIP
- CCMP
本章学习电子邮件安全。
电子邮件安全
- 端到端的安全电子邮件技术: PGP, S/MIME (Multipurpose Internet Mail Extensions),使用密码技术对身份进行识别,对信息加密
- 传输层的安全电子邮件技术: SSL SMTP, SSL POP(在SSL建立的安全传输通道上运行SMTP、POP)支持认证,VPN和其他IP通道技术等使用
- 增强邮件服务器的安全与可靠性:防垃圾邮件网关、邮件过滤网关、防病毒网关等;加强认证和访问控制,及时更新补丁修补漏洞。
PGP
PGP提供的服务
- 认证
- 保密
- 压缩
- 电子邮件兼容性
- 分段和重组
密钥环
PGP使用四种密钥:
- 一次性会话密钥
- 公钥
- 私钥
- 基于对称密钥(口令短语)的口令。
PGP在每一个节点上提供一对数据结构:
存储该节点拥有的公钥/私钥对; (私钥环)(依赖于用户口令的安全性)
存储本节点知道的其他用户的公钥;(公钥环)
工作原理
SMTP的局限性
- 不能传输可执行文件或其它二进制对象;
- SMTP限于7比特的ASCII码,不能传递包括国际语言字符的文本数据;
- SMTP可能拒绝超过一定大小的邮件消息;
- SMTP网关在ASCII码和EBCDIC码之间转换时没有使用一致的映射;
- 不能处理 包含在X.400消息中的非文本数据;
- RFC821中定义的SMTP标准和SMTP实现不完全一致;
S/MIME
基本功能
- 数据加密(对称加密消息,非对称加密密钥)
- 数据签名
- 数据的干净签名
- 数据嵌套使用签名(先签名后加密或先加密后签名)
DKIM(DomainKeys Identified Mail,域名密钥识别邮件标准)
DKIM让企业把加密签名插入到发送的电子邮件中,然后把该签名与域名关联起来。
DKIM 的基本工作原理同样是基于传统的密钥认证方式,产生公钥(public key)和私钥(private key),公钥将会存放在 DNS 中,而私钥会存放在寄信服务器中。
传输层的安全电子邮件技术
通过对信头进行加密处理后进行传递。
- 利用SSL SMTP和SSL POP
- 利用VPN或者其他的IP通道技术,将所有的TCP/IP传输封装起来,当然也就包括了电子邮件。
IP安全
回顾
上次学习了电子邮件安全,涉及:
- PGP
- 认证、加密、压缩、电子邮件兼容性、分段和重组
- S/MIME
- DKIM
- 域名与签名联系
- 传输层邮件安全
- SSL、VPN
本章学习IP安全。
IP安全背景
Everything over IP(TCP/IP, VOIP…),但是IP不能提供安全性。
IP协议本质上就是不安全的。
- 窃听:明文形式
- 篡改:修改内容和校验和
- IP欺骗:假冒IP包中声明的IP
- 重放
IPSec
概述
IPSec是随着IPv6的制定而产生的,IPSec对IPV4是可选的,对IPV6是必须的,IPSec由三种机制共同保障:
- 认证
- 信息机密性
- 密钥管理
IPSec实现两个基本目标: - 保护IP数据包安全;
- 为抵御网络攻击提供防护措施。
安全功能和服务
- 访问控制
- 无连接完整性
- 数据源认证
- 拒绝重放数据包
- 保密性(加密)
- 受限制的流量保密性
体系结构
两大部分,三类协议构成IPSec:
AH(IP认证头) , ESP(IP封装安全载荷);密钥协商及交换协议: IKE
- AH 提供认证和数据完整性,ESP实现通信保密
- IKE 定义了通信实体间进行身份认证、创建安全关联SA、协商加密算法以及生成共享会话密钥的方法
两种操作模式:
- 传输模式(主机与主机的直接通信)
- 隧道模式(常用于关联到多台主机的网络访问连入设备间使用)
安全关联SA (Security Association):是通信对等方对某些要素的一种协定
两个重要数据库:安全策略数据库SPD,安全关联数据库SAD
使用鉴别和加密算法
工作模式
- 传输模式
- 传输模式保护的是IP载荷。
- 传输模式通常应用于主机之间端对端通信,该模式要求主机支持IPSec。
- 隧道模式
- 隧道模式保护的是整个IP包。
- 遂道就就是把一个包封装在另一个新包里面,整个源数据包作为新包的载荷部分,并在前面添加一个新的IP对。被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。
- 被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地。
- 隧道模式应用于网关模式中,即在主机的网关(防火墙、路由器)上加载IPSec。
安全关联SA
- AH和ESP两个协议都使用SA来保护通信,而IKE的主要功能就是在通信双方协商SA。当一个SA协商完成后,两个对等方都在其安全关联数据库(SAD)中存储该SA参数。
- SA决定了保护什么、如何保护以及谁来保护。
- SA是一个单向的逻辑链接,通常成对出现
- IPSec 需要建立两个SA,一个用于入站通信,另一个用于出站通信,两个SA构成了一个SA束(SA Bundle)。
安全关联有哪些组合?
- 实现IPsec终端系统提供所有的安全
- 仅在安全网关之间提供安全性,主机没有实现IPsec
- 在情况二的基础上实现端对端安全
- 为互联网到达组织的防火墙然后获得在防火墙后面特定的工作站和服务器的访问权限的远程主机提供支持。远程主机和防火墙之间仅需要隧道模式
IKE密钥两阶段协商
- 阶段1协商:主模式交换和野蛮模式交换
ISAKMP通信双方建立一个ISAKMP SA,即用于保护双方后面的协商通信的一个协定,在通信双方建立一个已经通过身份验证和安全保护的通道,商定如何保护后面的协商过程;
用这个ISAKMP SA为其它安全协议(如AH和ESP)建立SA的协商。 - 阶段2协商:快速模式交换
利用第一阶段建立的通道,用于为其它安全协议,如像AH,ESP等协议或者是任何其它的需要密钥信息和参数协商的协议或服务建立SA,协商安全服务。
一个阶段1的SA可用于建立多个阶段2的SA,此SA将被相应的安全协议用于保护数据或者消息的交换
两阶段协商作用:
- 第一阶段的开销可以分摊到多个第二阶段中,这允许多个SA建立在同样的ISAKMP SA基础上
- 第一阶段商定的安全服务可以为第二阶段提供安全特性
- 两阶段分开,提供管理上的便利
Oakley密钥确定协议和ISAKMP
Oakley密钥确定协议:它提供了额外的安全性,Oakley的通用性在于它没有规定任何特殊的格式;同时为IKE提供了一种模式。
ISAKMP:它为互联网密钥管理(IKE)提供了一个框架,并提供了特定的协议支持,包括格式和安全属性的协商。
IPSec优点
- IPSec在传输层之下,对于应用程序来说是透明的
- 保证因特网上各分支办公点的安全连接。
- 保证因特网上远程访问的安全。
- 通过外部网或内部网建立与合作伙伴的联系。
- 提高了电子商务的安全性。
IDS & firewall
回顾
上一次学习了IPSec,涉及到:
- 两类3种协议
- AH IP认证头,ESP IP封装安全载荷
- IKE 密钥协商与交换 两阶段协商
- 模式
- 隧道模式 IP包
- 传输模式 IP载荷
- 安全关联SA
- 数据库
- SPD
- SAD
本章学习IDS、firewall。
入侵检测模型
- (统计分析)异常检测模型(Anomaly Detection ):基于行为的检测技术
- 阈值检测
- 用户轮廓(Profile)
- (模式匹配)误用检测模型(Misuse Detection):基于知识(或规则)的检测技术或者模式匹配检测技术
- 完整性分析技术
信息响应
- 主动响应:检测到后采取措施阻断攻击
- 被动响应:检测到后只报告信息
蜜罐技术
- 一个高级的网络节点可以采用路由器把攻击者引导到一个经过特殊装备的系统(诱骗系统)上,这种系统被成为蜜罐;
- 蜜罐是一种欺骗手段,它可以用于错误地诱导攻击者转移对重要系统的访问,也可以用于收集攻击信息,以改进防御能力;
入侵追踪
- 基于主机的:要求信任追踪系统的每个节点
- 基于网络的
口令管理
保护口令
- hash
- 访问控制
防火墙
防火墙是建立在内外网络边界上的过滤封锁机制,是一种用于保护本地系统或者网络不受基于网络的安全威胁的有效方法。
四种控制机制
- 服务控制
- 方向控制
- 用户控制
- 行为控制
类型
- 包过滤:在网络层根据数据包中包头信息选择
- 应用网关
- 代理
- 状态检测:不限于包过滤防火墙的3/4层的过滤,又不需要应用层网关防火墙的5层过滤,既提供了比包过滤防火墙更高的安全性和更灵活的处理,也避免了应用层网关防火墙带来的速度降低的问题。
- 应用级网关(代理服务器):应用层,代理服务器是运行在防火墙主机上的专门的应用程序或者服务器程序,用于代表客户处理服务器连接请求
- 电路级网关:工作在会话层。在两个主机首次建立TCP连接时创立一个电子屏障。不允许端到端TCP连接,作为服务器接收外来请求,转发请求;与被保护的主机连接时则担当客户机角色,起代理服务的作用。
体系结构
- 双/多宿主机模式:利用多个连接到不同网络的网络接口(网卡)的主机作为堡垒主机
- 屏蔽主机模式:路由器+堡垒主机
- 屏蔽子网模式:两个包过滤路由器+堡垒主机,建立了一个被隔离的子网DMZ(充当了内部网络和外部网络的缓冲区,在内部网络与外部网络之间形成了一个“隔离带”)
SOCKS
SOCKS(Protocol for sessions traversal across firewall securely,防火墙安全会话转换协议) 是一种基于传输层的网络代理协议。
SOCKS 利用网络防火墙将组织内部的网络结构与外部网络(如 Internet)有效地隔离开来
SOCKS代理只是简单地传递数据包,而不必关心传输的是何种应用协议,1080port。