网络安全问题概述
计算机网络面临的安全性威胁
- 被动攻击
指攻击者从网络上窃听他人的通信内容。通常把这类攻击称为 截获 。
在被动攻击中,攻击者只是观察和分析某一个 协议数据单元 PDU而不干扰信息流。即使这些数据对攻击者来说是不易理解的,他也可通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输的频度,以便了解所交换的数据的某种性质。这种被动攻击又称为 流量分析 (traffic analysis)。 - 主动攻击
(1)篡改 攻击者故意篡改网络上传送的报文。这里也包括彻底中断传送的报文,甚至把完全伪造的报文传送给接收方。这种攻击方式有时也称为“更改报文流”。
(2)恶意程序 恶意程序(rogue program)种类繁多,对网络安全威胁较大的主要有以下几种:
● 计算机病毒 (computer virus),一种会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制进去完成的。
● 计算机蠕虫 (computer worm),一种通过网络的通信功能将自身从一个结点发送到另一个结点并自动启动运行的程序。
● 特洛伊木马 (Trojan horse),一种程序,它执行的功能并非所声称的功能而是某种恶意的功能。如一个编译程序除了执行编译任务以外,还把用户的源程序偷偷地复制下来,则这种编译程序就是一种特洛伊木马。计算机病毒有时也以特洛伊木马的形式出现。
● 逻辑炸弹 (logic bomb),一种当运行环境满足某种特定条件时执行其他特殊功能的程序。如一个编辑程序,平时运行得很好,但当系统时间为13日又为星期五时,它删去系统中所有的文件,这种程序就是一种逻辑炸弹。
(3)拒绝服务 指攻击者向因特网上的某个服务器不停地发送大量分组,使因特网或服务器无法提供正常服务。在2000年2月7日至9日美国几个著名网站遭黑客袭击,使这些网站的服务器一直处于“忙”的状态,因而无法向发出请求的客户提供服务。这种攻击被称为 拒绝服务 DoS (Denial of Service)。若从因特网上的成百上千的网站集中攻击一个网站,则称为 分布式拒绝服务 DDoS (Distributed Denial ofService)。
计算机网络安全的内容
- 保密性
- 安全协议的设计
- 访问控制
一般的数据加密模型
用户A向B发送 明文 X,但通过 加密算法 E运算后,就得出 密文 Y。
加密和解密用的密钥K(key),明文通过加密算法变成密文的一般表示方法。
在传送过程中可能出现密文的 截取者(或 攻击者 、入侵者 )。接收端利用解密算法D运算和解密密钥K,解出明文X。
解密算法是加密算法的逆运算。在进行解密运算时,如果不使用事先约定好的密钥就无法解出明文。
两类密码体制
对称密钥密码体制
所谓 对称密钥密码体制 ,即 加密密钥与解密密钥是相同的密码体制 。
数据加密标准 DES属于对称密钥密码体制。
DES是一种分组密码。在加密前,先对整个的明文进行分组。每一个组为64位长的二进制数据。然后对每一个64位二进制数据进行加密处理,产生一组64位密文数据。最后将各组密文串接起来,即得出整个的密文。使用的密钥为64位(实际密钥长度为56位,有8位用于奇偶校验)。
DES的保密性仅取决于对密钥的保密,而算法是公开的。
公钥密码体制
公钥密码体制(又称为公开密钥密码体制)的概念是由斯坦福(Stanford)大学的研究人员Diffie与Hellman于1976年提出的。公钥密码体制 使用不同的加密密钥与解密密钥 。
公钥密码体制的产生主要是因为两个方面的原因,一是由于对称密钥密码体制的 密钥分配 问题,二是由于对 数字签名 的需求。
在对称密钥密码体制中,加解密的双方使用的是相同的密钥。但怎样才能做到这一点呢?一种是事先约定,另一种是用信使来传送。在高度自动化的大型计算机网络中,用信使来传送密钥显然是不合适的。如果事先约定密钥,就会给密钥的管理和更换都带来了极大的不便。若使用高度安全的 密钥分配中心 KDC (KeyDistribution Center),也会使得网络成本增加。
RSA体制 ,它是一种基于数论中的大数分解问题的体制。
在公钥密码体制中,加密密钥 PK(public key,即 公钥 )是向公众公开的,而 解密密钥 SK(secret key,即 私钥 或 秘钥 )则是需要保密的。加密算法 E 和解密算法 D也都是公开的。
公钥密码体制的加密和解密过程有如下特点:
(1) 密钥对产生器产生出接收者B的一对密钥:加密密钥PKB和解密密钥SKB。发送者A所用的加密密钥PKB就是接收者B的公钥,它向公众公开。而B所用的解密密钥SKB就是接收者B的私钥,对其他人都保密。
(2) 发送者A用B的公钥PKB通过E运算对明文X加密,得出密文Y,发送给B。
B用自己的私钥SKB通过D运算进行解密,恢复出明文,即
(3) 虽在计算机上可以容易地产生成对的PKB和SKB。但从已知的PKB实际上不可能推导出SKB,即从PKB到SKB是“ 计算上不可能的 ”。
(4) 虽然公钥可用来加密,但却不能用来解密,即
(5) 先后对X进行D运算和E运算或进行E运算和D运算,结果都是一样的:
任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量 ,而不是简单地取决于加密的体制(公钥密码体制或传统加密体制