第五章 安全性基础
网络攻击
- 被动攻击:指攻击者从网络上窃听他人的通信内容。通常把这类攻击称为截获
- 流量分析:是通过持续检测现有网络中的流量变化或者变化趋势,从而得到相应信息的一种被动攻击方式
- 主动攻击:是指通过一系列的方法,主动地获取向被动攻击对象实施破坏的一种攻击方式
- 篡改:攻击者故意篡改网络上传送的报文。也包括彻底中断传送的报文
- 恶意程序:种类繁多,威胁较大的有:计算机病毒、计算机蠕虫、特洛伊木马、逻辑炸弹
- 拒绝服务:指攻击者向因特网上的某个服务器不停地发送大量分组,使因特网或服务器无法提供正常服务。如:DoS,DDos
网络安全内容
- 保密性:为用户提供安全可靠的保密通信是计算机网络安全最为重要的内容
- 网络的保密机制也是许多其他安全机制的基础,例如:访问控制中登录口令的设计,以及数字签名的设计等
- 安全协议的设计:主要是针对具体的攻击(如假冒)设计安全的通信协议
- 一种是用形式化方法来证明,另一种是用经验来分析协议的安全性
- 访问控制:也叫做存取控制或接入控制,必须对接入网络的权限加以控制,并规定每个用户的接入权限
两类密码体制
对称密钥密码体制(对称加密算法)
- 所谓对称密钥密码体制,即加密密钥和解密密钥是相同的密码体制
- 常见对称密钥加密算法:
- 数据加密标准DES:替换+移位、56位密钥、64位数据块、速度快、密钥易产生
- 3DES(三重DES):两个56位的密钥K1、K2
- 加密:K1加密 - K2解密 - K1加密
- 解密:K1解密 - K2加密 - K1解密
- RC-5:RSA数据安全公司的很多产品都使用了RC-5。流加密算法,可选64位或128位
- IDEA算法:128位密钥、64位数据块、比DES的加密线好、对计算机功能要求相对低
- AES算法:高级加密标准,又称Rijndael加密法,是美国政府采用的一种区块加密标准。支持128、192和256位3种密钥长度
- 缺点:
- 加密强度不高、但效率高
- 密钥分发困难
公钥密码体制(非对称加密算法)
- 所谓公钥密码体制,即加密密钥和解密密钥是不同的密码体制,在公钥密码体制中,加密密钥Pk(public key,即公钥)是向公众公开的,而解密密钥Sk(secret key,即私钥)则是需要保密的。加密算法E和解密算法D也都是公开的
- 常见非对称密钥加密算法
- RSA体制:是一种基于数论中的大数分解问题的体制。2048位(或1024位)密钥计算量极大、难破解
- Elgamal:基于有限域上离散对数问题的公钥密码体制,有较好的安全性,同一明文在不同时刻会产生不同的密文
- ECC:椭圆曲线算法
RSA的加密和解密
- 参数定义和密钥生成
- 选两个大素数p和q(保密)
- 计算n=p x q,N = (p - 1) x (q - 1)(n公开,N保密)
- 选一整数e,满足 1 < e < N,且N和e的最大公约数为1(e公开)
- 计算d,满足 d x e MOD N = 1(保密)
- 公钥 (n ,e) 私钥 (n,d)
- 加密算法:c MOD n = me
- 解密算法:m MOD n = cd
- 举例
- 公钥(143,7) 私钥(143,103)
- 加密过程:27 MOD 143 = 128
- 解密过程:128103 MOD 143 = 2
数字签名和消息摘要
认证
- 在网络的应用中,鉴别是网络安全中的一个很重要的问题。认证和加密并不相同。认证是要验证通信的双方的确是自己所要通信的对象,而不是其他的冒充者
- 一种则是实体认证,是识别通信对方的身份,防止假冒(数字签名)
- 另一种是消息认证,即所收到的报文的确是报文的发送者所发送的,而不是其他人伪造的或篡改的(报文摘要)
数字签名
- 为了进行签名
- A用其私钥SKA对报文X进行D运算,从而得到了某种不可读的密文
- A把经过D运算得到的密文传送给B
- B为了核实签名,用A的公钥PKA进行E运算,还原出明文X
- 上述过程仅对报文进行了签名。对报文X本身却未保密。因为截获到密文DSKA(X),并知道发送者身份的任何人,都可以获得发送者的公钥PKA,因而能知道报文的内容
- 具有保密性的数字签名
消息摘要
对很长的报文进行数字签名会使计算机增加很大的负担(需要进行很长时间的运算),因此,我们传送不需要加密的报文时,应当使接收者能用很简单的方法鉴别报文的真伪
- 报文摘要(信息摘要)是进行报文认证的简单方法
- 常用的算法有MD5(消息摘要算法),SHA(安全散列算法)等,市场上广泛使用的MD5,SHA算法的散列值分别128和160位,由于SHA通常采用密钥长度较长,因此安全性高于MD5,但计算起来要慢些
消息摘要算法
消息摘要是主要的数字签名算法,它是利用散列(Hash)函数(哈希函数、杂凑函数)进行数据的加密
- 单向Hash函数提供了这样一种计算过程:输入一个长度不固定的字符串,返回一串定长的字符串,这个返回的字符串称为消息摘要,也称为Hash值或散列值
特点
- 首先,在某一特定时间内,无法查找经Hash操作后生成特定Hash值的原消息
- 其次,无法查找两个经Hash操作后生成相同Hash值的不同消息
- 这样,在数字签名中就可以解决验证签名,用户身份认证和不可抵赖性的问题
消息摘要的实现
- 优点:仅对短得多定长报文摘要H进行数字签名要比对整个长报文进行数字签名要简单得多,所耗费的计算资源也小得多
数字信封
- 对原文信息采用对称密钥K进行加密,再利用非对称密钥加密传递对称密钥
PKI
- PKI(Public Key Infrastructure)公钥基础设施
- CA(证书颁发机构)
- 数字证书(X.509国际标准)
- 版本号
- 序列号
- 签名算法
- 发行者
- 有效期
- 主体名
- 公钥:有效的公钥及其使用方法
- 发行者ID
- 主体ID
- 扩展域
- 认证机构的签名:用CA私钥对证书的签名
- 证书实现的安全保证
- 机密性
- 不可否认性
- 完整性
- 鉴别
数字证书的应用过程
防火墙技术
入侵检测系统、计算机病毒
- 入侵检测系统功能
- 实时监视网络上正在通信的数据流,分析网络通信反映连接状态
- 通过内置已知网络攻击模式数据库,查询网络事件,进行相应的响应
- 能够根据所发生的网络安全事件,启用配置好的报警方式
- 提供网络数据流量统计功能,为事后分析提供依据
- 默认预设了很多的网络安全事件,保障客户基本的安全需要
- 提供全面的内容恢复,支持多种常用协议
- 提供黑名单快速查看功能
- 支持分布式结构
- 计算机病毒
- 编制或者在计算机程序中插入的破坏计算机功能或者破坏代码,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码
- 病毒 破坏者
- 潜伏性、传染性、隐蔽性、破坏性、多样性、条件触发性
- 木马 盗窃者
- 不产生图标、伪装成“系统服务”的方式、自动运行、具备自动恢复、能自动开启端口,建立网络连接
- 计算机病毒和木马
- 系统病毒(前缀:Win32、PE、W32,如:KCOM–Win32.KCOM)
- 蠕虫病毒(如:恶鹰–Worn.BBeagle)
- 蠕虫病毒是一种常见的计算机病毒。它是利用网络进行复制和传播,传染途径是通过网络和电子邮件。最初的蠕虫病毒定义是因为在DOS环境下,病毒发作时会在屏幕上出现一种类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形
- 木马病毒、黑客病毒(如:QQ消息尾巴木马–Trojan.QQ3344)
- 脚本病毒(如:红色代码–Scripts.Redlof)
- 宏病毒(如:美丽莎–Macro.Melissa)
- 后门病毒(如:灰鸽子–Backdoor.Win32.Huigezi)
- 病毒种植程序病毒(冰河传播者–Dropper.BingHe2.2C)
- 破坏性程序病毒(杀手命令–Harm.Command.Killer)
- 玩笑病毒(如:女鬼–Joke.Girl ghost)
- 捆绑机病毒(如:捆绑QQ–Binder.QQPass.QQBin)
常见的防病毒软件、网络安全协议
- 常见防病毒软件
- Symantec、瑞星、ESET NOD32、McAfee、金山毒霸、江民KV、卡巴斯基 等等
- 网络安全协议
- 因特网使用的安全协议
- 因特网使用的安全协议
- 应用层安全协议
- HTTPS:端口号443,HTTP+SSL
- PGP:优良保密协议,电子邮件事实标准,是一个基于IDEA的邮件加密软件,可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名,从而使收信人可以确信邮件发送者
- 传输层安全协议
- SSL:安全套接字层,用于在Internet上传送机密文件,SSL协议由握手协议、记录协议和警报协议组成
- TLS:安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性
- SET:安全电子交易协议,是信用卡网上交易的国际标准,是指为了实现更加完善的即使电子支付应运而生的,具有保证交易数据的完整性,交易的不可抵赖性等
- 网络层安全协议
- IPsec:IP安全协议,是一个工业标准网络安全协议,为IP网络通信提供透明的安全服务,保护TCP/IP通信免遭窃听和篡改,可以有效抵御网络攻击
- 防火墙:作为一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,尽可能降低这类安全威胁所带来的安全风险
- 数据链路层协议
- 链路加密:使用链路加密装置能为某链路上的所有报文提供传输服务。接收方是传送路径上的各台节点机,信息在每台节点机内都要被解密和再加密,依次进行,直到到达目的地
- PPTP:点对点隧道协议,是一种支持多协议虚拟专用网络的网络技术,它工作在第二层。通过该协议,远程用户能够通过操作系统以及其他装有点对点协议的系统安全访问公司网络,并能拨号连入本地ISP,通过Internet安全链接到公司网络
- L2TP:第二层隧道协议,是一种虚拟隧道协议,通常用于虚拟专用网