网络安全概述
基本概念
- 网络安全通信的基本属性:
- 机密性;只有发送方与预定接收方能够理解报文内容
- 消息完整性;发送方和接收方希望确保信息未被篡改,或发生篡改一定会被检测到
- 可访问性与可用性;可访问与可用性是网络信息可悲授权实体访问并按需求使用的特性
- 身份认证;发送方与接收方希望确认彼此的真实身份
- 网络安全:网络系统的硬件、软件及其系统中的数据受到保护,不因偶然或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断
网络安全威胁
- 窃听:报文传输过程中窃听信息,或偶去报文信息
- 插入:攻击者主动在连接中插入信息,混淆信息,让接收者收到虚假信息
- 假冒:可以伪造分组中的源地址
- 劫持:通过移除/取代发送方或接收方“接管”连接
- 拒绝服务Dos和分布式DDos等;拒绝:阻止服务器为其他用户提供服务;DDos:利用多个源主机协同淹没对方
- 映射:在发起攻击前先“探路”,找出网络上在运行说明服务,利用ping命令确定网络上的主机的地址,最后使用端口扫描的方法一次尝试与每个端口建立TCP连接
- 嗅探:通过混杂模式网络接口卡,可以接收或记录所有广播介质上的分组/帧,可以读到所有未加密数据
- IP欺骗:直接由应用生成“原始”IP分组,设置分组的源IP地址字段为任意值,接收方无法判断源地址是否被欺骗,可能导致错误述的接收,或者隐藏网络安全攻击身份
数据加密
- M是可能明文的有限集称为明文空间
- C是可能密文的有限集称为密文空间
- K是一切可能密钥构成的有限集称为密钥空间
- E为加密算法,对于任一密钥,都能够有效计算
- D为解密算法,对于任一密钥,都能够有效计算
传统加密方式
- 加密方法分为替代密码和换位密码:
- 替代密码;典型:凯撒密码——将字母按顺序后推3位(不算本身往后推三)
- 换位密码;也称置换密码,基本流程如下:将明文按照密钥长度进行分组并按行排列,不足用x补充,按密钥规定顺序将分组按序输出;书中示例如下:
对称密钥加密
- 对称密钥加密系统可分为分组密码和流密码
- 常见分组密码:
- DES:使用56位密钥,明文为64位分组序列,共进行16轮的加密,每轮加密都会进行复杂的替换和置换操作,并且每轮加密都会使用一个由56位密钥导出的48位子密钥,最终输出与明文等长的64位密钥
- 三重DES:加密时采用加密-解密-加密
- AES:涉及操作——字节替换、行移位、列混淆、轮密钥加;特点——分组长度和密钥长度可变、循环次数允许在一定范围内根据安全要求进行修正、汇聚了安全、效率、易用、灵活等优点、抗线性攻击和抗差攻击的能力大大增强、如果1s暴力破解DES,则需要149万亿年破解AES
- IDEA加密算法:分组长度为64位的分组密码算法、密钥长度位128位,同一个算法可用于加密也可以解密
非对称/公开密钥加密
- RSA:目前应用较广泛的公开密钥算法,算法安全性高,计算量大,除RSA外还有Diffie-Hellman算法
- Alice用BOb公有密钥和加密算法加密成密文传输给Bob
- Bob用Bob的私钥和解密算法解密Alice加密的密文
- Bob私钥加密可以用Bob公钥解密
消息完整性和数字签名
报文/消息完整性,也成为报文/消息认证其主要目标:证明报文确实来自声称的发送方;验证报文在传输过程中没有被篡改;预防报文的时间、顺序被篡改、预防报文持有期被篡改;预防抵赖
消息完整性检测方法
- 密码散列函数的主要特性:一般的散列函数具有算法公开、能够快速计算、对任意长度报文进行多对一映射均能产生定长输出、对于任意报文无法预知其散列值、不同报文不能产生相同的散列值
- 典型散列函数:
- MD5——得到128位散列值
- SHA-1——产生160位的散列值,典型的用于创建数字签名的单向散列算法
报文认证
- 报文认证:使消息的接收者能够检验收到的消息是否是真实的认证方法
- 简单报文验证工作原理如下:
- 报文认证码MAC工作原理如下图所示:
注:MAC发送方和接收方共享一个认证密钥
数字签名
- 消息认证使接收方能验证发送方以及所发消息内容是否被篡改过
- 数字签名多用于身份指明
- 数字签名的要求:
- 接收方能够确认或证实发送方的签名,但不能伪造
- 发送方发出签名的消息给接收方后,并不能再否认它所签发的消息
- 接收方对已收到的签名消息不能否认,既有收报认证
- 第三者可以确认收发双方之间的消息传送,并不能伪造这一过程
- 简单数字签名:数字签名用私有密钥加密,认证用公开密钥解密
- 签名报文摘要工作流程如下:
身份认证
- 为了预防重放攻击,比较有效的方式是引入一次性随机数
- 在一次性随机数上利用公钥加密技术
存在的安全漏洞(“传话人危机”)示意图如下:
密钥分发中心与证书认证机构
密钥分发中心
- 通信发起方生成会话密钥
- 由KDC为双方生成通信的会话密钥
证书认证机构
- 认证中心(CA)的作用:
- 证实一个实体的真实身份
- 一旦验证了某个实体的身份,CA会生成一个把其身份和实体的公钥绑定起来的证书
防火墙与入侵检测系统
防火墙基本概念
- 防火墙发挥作用的基本前提:保证从外部不到内部和从内部到外部的所有流量都经过防火墙,并且仅被授权的流量允许通过,防火墙能够限制对授权流量的访问
防火墙分类
- 无状态分组过滤器;部署在内部和网络边缘路由器上的防火墙;进行过滤是基于以下参数进行决策:IP数据报的源IP地址和目的IP地址、TCP/UDP报文段的源端口号和目的端口号、ICMP报文类型、TCP报文段的SYN和ACK标志位等
- 有状态分组过滤器
- 应用网关;二者结合
入侵检测系统IDS
- 入侵检测系统:当观察到的潜在的恶意流量时,能够产生警告的设备或系统,IDS不仅仅针对TCP/IP首部进行操作,而且会进行深度包检测,并检测多数据之间的相关性
网络安全协议
安全电子邮件
- 电子邮件对网络安全的需求主要有以下方面:
- 机密性;真正接收方才可以阅读邮件
- 完整性;邮件传输过程中不被篡改
- 身份认证性;发送方不能被假冒,接收方能够确认发送方的身份
- 抗抵赖性;发送方无法抵赖
- 安全电子邮件标准——1991、PGP标准
- PGP加密过程:
- PGP解密过程:
安全套接字层SSL
- HTTP协议使用SSL进行安全通信时称为HTTPS
- 简化SSL主要包括内容:
- 发送方和接收方利用各自证书、私钥认证、鉴别彼此,并交换共享密钥
- 密钥派生或密钥导出,发送方和接收方利用共享密钥派生出一组密钥
- 数据传输,将传输数据分割为一系列记录,加密后传输
- 连接关闭,通过发送特殊消息,安全关闭连接,不能留有漏洞被攻击方利用
- SSL协议栈:
- SSL握手过程:
- 客户发送其支持的算法列表 ,以及客户一次随机数nonce,服务器从算法列表中选择算法,并发给客户自己的选择,公钥证书和服务器端一次随机数nonce
- 客户验证证书,提取服务器公钥,生成预主密钥,并利用服务器中的公钥加密预主密钥,发送给服务器,实现密钥的分发
- 客户与服务器基于预主密钥和一次随机数,分别独立计算加密密钥和MAC密钥
- 客户发送一个针对所有握手消息的MAC,并将此MAC发送给服务器
- 服务器发送一个针对所有握手消息的MAC,并将此MAC发送给客户
虚拟专用网VPNN和IP安全协议IPec
- PN——基于专属的网络设备、链路或协议等建立的专门服务与特定组织机构的网络
- VPN关键技术——隧道技术、数据加密、身份认证、密钥管理、访问控制和网络管理等
- 隧道协议包括协议:
- 乘客协议:确定封装对象属于哪个协议
- 封装协议:确定遵循哪一种协议进行封装,需要加什么字段
- 承载协议:确定最后的对象会放入哪类公共网络
- VPN技术的实现技术IPSec是最安全、使用最广的技术
- IPSec两种典型传输模式:传输模式和隧道模式
- 安全关联SA建立需要维护的参数:
- 安全参数索引(SPI);32位唯一标识
- 序列号;用于抗重放攻击
- 抗重放窗口;接收方利用滑动窗口检测恶意主机重放数据报
- 生存周期;使用周期
- 运行模式;分为传输模式和隧道模式
- IPSec隧道源和目的地址;只在隧道模式下才有这两个参数
- AH协议和ESP是IPSec的核心
- 传输模式AH
- 隧道模式AH
- 传输模式ESP
- 隧道模式ESP
- IPSec密钥交换IKE主要包括内容如下:
- 互联网安全关联与密钥管理协议(ISAKMP)
- 密钥交换协议OAKELY
- 共享和密钥更新技术SKEME