第2章 计算机网络安全机制
知识点
● 网络安全机制及其作用
● 加密机制——数据流加密、数据加密
● 控制机制——身份认证、访问控制、路由控制、数字签名和交换认证
● 监督机制——业务流分析、一致性检查
重点和难点
● 加密机制、控制机制和监督机制的内容、方法和作用
要求
掌握
● 加密机制、控制机制和监督机制的内容、方法和作用
● 密钥管理的基本内容及考虑的要点
了解
● 网络安全机制、安全策略、安全服务等基本概念及其作用
● 密码技术的基本知识
2.1 关于安全机制问题
安全机制是指一种用于解决和处理某种安全问题的方法,通常分为预防、检测和恢复三种类型。网络安全中的绝大多数安全服务和安全机制都是建立在密码技术基础之上的,它们通过密码学方法对数据信息进行加密和解密来实现网络安全的目标要求。
一个或多个安全机制的运用与实现便构成一种安全策略。在网络安全中,常把密码函数运用到安全策略中的某个环节上,例如,对数据信息进行加密/解密,鉴别交换,口令存储与检验等,进而实现数据的保密、完整和可鉴别的目的。通过数据加密可以把需要保护的敏感数据的敏感性减弱,从而降低危险。特殊的密码函数可用来解决要求较高的安全问题,如数据的完整性、鉴别等。
2.1.1 加密技术
加密是指将明文转变成密文的过程,其逆过程就是解密,有些加密过程是不可逆的,称为单向加密。有时为了安全需要,对重要信息进行多次加密和交叉加密(运用多种加密方法实施加密的过程)。在计算处理过程中,一般计算处理的都是语义内容可以理解的明文信息,而不是语义内容被隐藏的密文信息,对于有特殊安全要求的数据信息必须采用特殊处理方法。例如,口令就是一个不需要转换为明文处理的密码信息。
在密码函数中,将称为密钥(key)的密码变量作用于字段、数据单元或数据单元流上即可实现加密或解密操作。密钥是一种用于控制加密与解密操作的序列符号,它是成对使用的。用于进行加密的密钥被称为加密密钥,用于进行解密的密钥被称为解密密钥。如果加密和解密所使用的密钥是相同的(或可相互推导),则称这个加密为对称加密,否则称为非对称加密。在数学上,用于非对称加密算法的两个密钥是相互独立的,所以不可能或很难从一个密钥计算出另一个密钥,这种算法也称为公开密钥算法,因为可以让一个密钥公之于众(称为公钥)而另一个处于秘密状态(称为私钥)。
如果使用一个脆弱的或是有缺陷的密码函数,就可能导致不需要密钥也能进行解密的危险,或不需要解密也能对密文进行分析。例如,窃听和通信业务流分析可能导致对密码系统的攻击,包括消息和字段的插入、删除与更改,先前有效密文的播放,以及冒充。所以密码协议的设计要抗攻击,有时还要抗通信业务流分析。对付通信业务流分析的一种具体办法即“通信业务流机密性”,目的是掩蔽数据及其特征的出现或不出现。如果密文被中继,那么在中继站和网关上地址必须是明文。如果数据只在每个链路上是加密的,而在中继内或网关内被解密,这种体系被称为“链路加密”体系。如果只有地址及类似的控制数据在中继或网关内是明文,这种体系被称为“端到端加密——数据在源端系统内进行加密,而相应的解密仅仅发生在目的端系统之内”体系。从安全观点看,更希望有端到端的加密,但在体系结构上却带来相当大的复杂性,特别是如果数据包中含有电子密钥分配(一种密钥管理功能),则更是如此。链路加密和端到端加密可以联合起来使用以实现多种安全目标。数据完整性经常是借计算密码校验值(又称为操作检测码)来实现的,这种校验值可以在一步或多步内导出,而且是密钥与那些受保护数据的数字函数。
密码技术能够提供或有助于提供保护,以防止发生消息流被观察和篡改、通信业务流分析、抵赖、伪造、非授权连接和篡改消息等安全问题。
使用密码技术必然涉及密钥管理机制,密钥的安全管理是十分重要的,一个复杂的加密/解密过程,一旦丢失密钥就完全失去了加密/解密的意义。
2.1.2 密钥管理
使用密码算法就意味着要进行密钥管理。密钥管理(key management)包括密钥的产生、存储、分配、删除、归档及其应用等。密钥管理方法是根据参与者使用该方法的环境因素确定的。要充分考虑所用环境对密钥产生的各种威胁,确保密钥的安全,一般需要考虑的要点问题包括:
① 对于每一个明显或隐含指定的密钥,使用基于时间的“存活期”,或使用别的准则;
② 按密钥的功能恰当地区分密钥以便可以按功能使用密钥,例如,打算用来做机密性服务的密钥就不应该用于完整性服务,反之亦然;
③ 非OSI的考虑,例如,密钥的物理分配和密钥存档。
对于对称密钥算法,有关密钥管理要考虑的要点包括:
① 使用密钥管理协议中的机密性服务以运送密钥;
② 使用密钥体系。应该允许有各种不同情况,例如,
● “平直的”密钥体系,只使用加密数据密钥,从一个集合中按密钥的身份或索引隐含地或明显地进行选取。
● 多层型的密钥体系。
● 加密密钥的密钥决不应该用来保护数据,而加密数据的密钥也决不应该用做保护加密密钥的密钥。
③ 将责任作分解使得没有一个人具有重要密钥的完全复制。
对于非对称密钥算法,有关密钥管理要考虑的要点包括:
① 使用密钥管理协议中的机密性服务以运送私钥;
② 使用密钥管理协议中的完整性服务,或数据原发证明的抗抵赖服务以运送公钥。
这些服务可以通过使用对称或非对称密码算法提供。