一.网络安全问题概述
- 通信面临的两大类威胁:主动攻击(流量分析)和被动攻击(截获)
- 主动攻击:篡改、恶意程序、拒绝服务DoS
篡改:篡改网络上传送的报文
恶意程序:(1)计算机病毒
(2)计算机蠕虫:将自身从一个节点发送到另一个节点并自动运行的程序
(3)特洛伊木马:
(4)逻辑炸弹:当本地运行满足某种特定条件时,执行其他特殊功能
(5)后门入侵:
(6)流氓软件:未经过用户允许就安装并损害用户利益的软件
拒绝服务DoS:攻击者向互联网上的某个服务器不停的发送分组,导致服务器无法正常提供服务(分布式拒绝服务:从互联网上成千上万个网址集中攻击一个网站) - 安全的计算机网络
(1)保密性
(2)端点鉴别
(3)信息的完整性
(4)运行的安全性:访问控制 - 数据加密模型
(1)一般的加密模型:用户A向B发送明文X,通过加密算法E运算后,得出密文Y。Y=Ek(X)
接受端通过解密算法和解密密钥解出明文
(2)密码编码学+密码分析学=密码学
二. 两类密码体制
- 对称密钥密码体制
(1)加密密钥和解密密钥使用相同的密码体制
(2)数据加密标准DES:DES是一组分组密码;DES的保密性在于对密钥的保存,但是算法是公开的;密钥有56位 - 公钥密钥密码体制
(1)使用不用的加密密钥和解密密钥
(2)提出背景:解决相同密钥在接发双发存储的问题,对数字签名的需求
(3)RSA体制
(4)加密密钥(公钥)PK公开,解密密钥(私钥)SK需要保密
(5)密钥体制的加密解密过程:1
2
3密钥对产生器产生出接收者B的一对密钥,发送者A的PK就是接受者B的公钥,B的SK即为私钥保密
----> A用B的公钥PKB,通过E运算对明文X加密,得到密文Y
----> B用自己的私钥,通过D运算进行解密,恢复出明文X
PKB到SKB是“计算上不可能的”
公钥可用来加密,但是不可以用来解密
先加密后解密,后者先解密后加密的结果相同
(6)任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量
三. 数字签名
- 以下的三种功能:
(1)接受者可以进行报文鉴别
(2)报文的完整性
(3)不可否认 - 签名过程:对报文签名并不对报名加密
(1)A用其私钥对报文X进行D运算
(2)A把经过D运算得到的秘文传给B
(3)B为了核实签名,用A的公钥进行E运算,还原出明文
四. 鉴别
- 鉴别是要验证通信的双方的确是自己所要通信的对象,而不是其他的冒充者,并且传送的报文是完整的,没有被他人篡改过
- 鉴别和授权
(1)授权涉及所进行的过程是否被允许
(2)鉴别可分为报文鉴别(端点鉴别和报文完整性的鉴别)和实体鉴别(仅鉴别发送报文的实体,可以是一个人,也可以是一个进程,即端点鉴别) - 报文鉴别
(1)密码散列函数(相对简单的方式)
密码散列函数实际上是单向函数
(2)实用的密码散列函数MD5(报文摘要)和SHA-1(安全散列算法)
密钥的产生、分配、注入、验证和使用
(3)报文鉴别码 - 给出一个错误的流程
(1)用户A根据自己的明文X计算出散列H(X)
(2)用户A把H拼接在明文X后面,生成拓展的报文(X,H),发送给B
(3)B收到(X,H),根据散列的长度为已知的固定值,可以把X和H区分开
(4)B根据散列函数的运算,计算出收到的明文X的散列H(X)
攻击者容易仿制 - 防范攻击:对散列进行一次加密
- 实体鉴别:报文鉴别对每一个收到的报文都要鉴别报文的发送者,实体鉴别只需在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次
“一次一数”:避免重放攻击
五.密钥分配(密钥的产生、分配、注入、注册和使用)
- 对称密钥的分配
A.所需的密钥数量过大:n^2问题;同时存在如何安全的分配共享的密钥的问题
B.目前常见的密钥分配方式:设立密钥分配中心KDC,给需要进行秘密通信的用户临时分配一个会话密钥
密钥分配过程:(1)用户A向KDC发送明文,说明想和A通信,明文中包含A和B在KDC中登记的身份
(2)KDC用随机数产生“一次一密”KAB,向A发送报文,报文包含会话使用的密钥KAB和请A转给B的一个票据(ticket),票据用B的密钥KB加密过,包含A和B在KDC登记的身份
(3)B收到A转来的票据并使用自己的KB解密,就可知道要和A通信,并获得KAB
C.密钥分配协议KerberosV5 - 公钥的分配
A.不可随意公布公钥
B.认证中心CA