首页 百科知识 关键技术简介

关键技术简介

时间:2022-06-17 百科知识 版权反馈
【摘要】:5.6.2 关键技术简介1.存储加密技术以数据加密和用户确认为基础的开放型安全保障技术使用比较普遍,且是对网络服务影响较小的途径,可望成为网络安全问题的最终的一体化解决途径。图5-30 页面原始性鉴别示意图3.分级访问控制技术为了防止Web服务器信息泄露和系统被非法使用,需要制定访问控制策略并采取相应的措施来保证服务器信息的安全性。

5.6.2 关键技术简介

1.存储加密技术

以数据加密和用户确认为基础的开放型安全保障技术使用比较普遍,且是对网络服务影响较小的途径,可望成为网络安全问题的最终的一体化解决途径。这一类技术的特征是利用现代的数据加密技术来保护网络系统中包括用户数据在内的所有数据流,只有指定的用户或网络设备才能够破译加密数据。从而在不对网络环境作特殊要求前提下根本上解决网络安全的两大要求(网络服务的可用性和信息的完整性)。这一类技术一般不需要特殊的拓扑结构的支持,因而实施代价主要体现在加密算法的设计、实现和系统运行维护等方面。这类方法在数据传输的过程中不对所经过的网络路径的安全程度作要求,从而真正实现网络通信过程的端到端的安全保障。

对于Web站上的秘密信息,我们既要保证传输过程中的安全性,又要保证存储介质上的安全性,有效防止线路上的偷听、篡改以及黑客侵入主机盗取我们的机密信息,为此,常采用存储加密技术,依据机密信息的秘密等级(分绝密、秘密、机密以及无秘密)设定文件的加密级别,然后将机密信息用对称加密算法如DES、IDEA、RC4等加密后存储,加密密钥用Web服务器的公钥,采用RSA算法加密并附加在文件中。访问者只有在通过身份认证后,并且具有同等访问权限,系统才能用Web服务器的私钥解密加密文件后传送给访问者,否则用户无法访问机密信息。即便黑客侵入系统,得到的也只是一串毫无意义的乱码,无法将密文还原。

2.Web页面原始性鉴别技术

传统的Web服务器对用户请求的页面缺乏进行原始性鉴别的能力,不能区分页面是否被篡改。这样,黑客可以在不知不觉中侵入系统,并修改关键页面。例如,美国政府、司法部的主页曾被人加上希特勒的标志,我国也发生过页面被非法修改的事件,造成极其恶劣的影响。为此,我们利用PKI提供的数据完整性服务,实现Web页面的原始性鉴别,防止Web页面在存储过程中被篡改或重放,保证Web页面的完整性和权威性。

管理员每次上传Web文件时,服务器采用严格的基于PKI的身份认证,确认管理员身份无误后,建立高强度SSL连接,保证上传文件的可靠性。系统接收文件后,先求出页面文件原文的数据摘要,然后对数据摘要用服务器的私钥并用非对称算法进行加密。数据摘要提供了一种检测页面文件是否被改动过的方法,而数字签名则防止数据摘要本身被篡改。以后Internet用户每次申请访问页面,服务器均进行页面原始性鉴别(验证数字签名等),若原始性验证通过,则同意用户访问,否则拒绝访问,并报警。这样,避免万一网站不幸被黑客侵入系统、修改网页后,而服务器却还继续将错误的页面误传给用户,造成不良影响。页面原始性鉴别过程如图5-30所示。

图5-30 页面原始性鉴别示意图

3.分级访问控制技术

为了防止Web服务器信息泄露和系统被非法使用,需要制定访问控制策略并采取相应的措施来保证服务器信息的安全性。访问控制策略定义了在系统运行期间的授权和非授权行为,即哪些事件是允许发生的,哪些是不允许的,保证只有对资源拥有访问权限的用户才能访问资源。为了达到这种控制,每个想访问安全Web服务器的用户都必须经过鉴别或身份验证,然后根据用户的身份来定制访问权利。访问控制可以有效地维护系统的保密性、完整性和可用性。

PKI的认证安全服务可以对用户身份进行强鉴别的认证。认证的原理基于签名机制。在每一个X.509证书中都有签名这一字段,覆盖了证书中所有其他的字段,它包含了用CA的私钥加密的其他字段的哈希码。在认证时,首先用CA自己的公钥解密签名信息得到证书其他字段的摘要值,再对证书其他字段计算哈希值,比较两者是否相等,如果相等则说明此证书格式为合法,继续下面的验证;否则证书非法,认证失败。

接下来对证书中各个字段的内容进行合法性检查,有效期字段包含两个时间:证书有效的第一天和最后一天。将这两个时间和当前时间比较,看证书是否生效或过期,如果证书过期或未生效,则认证失败,否则查看证书撤销列表,看此证书是否已经被撤销。撤销证书的原因可能有:

①用户的保密密钥有安全威胁

②用户不再由此CA进行认证

③CA的证书有安全威胁

如果证书已经撤销,则认证失败,否则认证结束,用户身份认证成功。身份认证过程如图5-31所示。

img119

图5-31 用户身份认证流程

在严格的PKI身份认证基础上,依据服务器上存储的信息的秘密等级,系统支持分密级的访问权限控制。举例来说,若某人通过基于PKI的身份认证进入网站后,服务器还要进一步验证他的访问权限,看他具有访问哪种密级(绝密、秘密、机密、普通)信息的权利,杜绝越权访问。

当用户访问Web服务器上进行了访问权限设置的目录时,服务器先对用户的身份进行验证,验证通过,则根据用户证书的序列号和证书发布机构的值从用户授权库中得到对应于该用户的访问权限,然后比较用户的访问权限和目录的设置权限,如果在用户授权库中没有用户的权限,或者用户的访问权限小于目录的设置权限,则拒绝用户访问。分级访问控制过程如图5-32所示。

图5-32 分级访问控制

4.SSL技术

(1)SSL协议简介

为了解决Internet/Intranet的安全问题,国内外各方面对网络安全的关键技术和安全协议进行了多年的研究,到目前为止初步形成了以公钥密码体系结构(PKI)为基础的完整的安全解决方案。安全套接层协议SSL(Secure Socket Layer)是PKI体系中的网络安全协议的标准,它最初由Netscap公司提出。它采用公开密钥技术,其目标是保证两个应用间通信的保密性和可靠性,可在服务器和客户机两端同时实现支持。目前,它得到包括Microsoft等WWW供应商的广泛支持,已成为WWW服务器和浏览器之间安全通信的事实标准,并被广泛推广应用在客户/服务器模式的网络应用当中。现行Web浏览器普遍将HTTP和SSL相结合来实现安全通信。

(2)协议概述

安全套接层协议(SSL)采用TCP作为传输协议提供数据的可靠传送和接收。SSL工作在Socket层上,因此独立于更高层应用,可为更高层协议(如HTTP,FTP,TELNET等)提供安全服务。SSL提供的安全服务和TCP层一样,采用了公开密钥和私人密钥两种加密体制对Web服务器和客户机(选项)的通信提供保密性、数据完整性和认证。在建立连接过程中采用公开密钥,在会话过程中使用私人密钥。加密的类型和强度则在两端建立连接的过程中判断决定。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。

通过以上叙述,SSL协议提供的安全信道有以下三个特性:

①数据保密:连接是保密安全的。在初始化握手协议协商加密密钥之后传输的消息均为加密的消息。加密的算法为单钥加密算法如DES、RC4、IDEA等。

②身份认证:通信双方的身份是可以通过公钥加密算法如RSA、DSS等签名来验证,杜绝假冒。

③数据完整性:HASH函数例如SHA,MD5等被用来产生消息摘要MAC。所传输的消息均包含数字签名,以保证消息的完整性和连接的可靠性。

(3)SSL体系结构

SSL协议的目标就是在通信双方之间利用加密的SSL信道建立安全的连接。它不是一个单独的协议,而是两层协议,如图5-33所示。

图5-33 SSL协议栈

SSL记录协议为各种高层协议提供了基本的安全服务,通常超文本传输协议(HTTP)可以在SSL的上层实现。有三个高层协议分别作为SSL的一部分:握手协议(Handshake Protocol)、更改密规格协议(Change Cipher Spec Protocol)和警告协议(Alert Protocol)。这些SSL特定的协议可以管理SSL的交换。

SSL的两个重要概念是SSL会话和SSL连接,具体定义如下:

①连接:连接是能提供合适服务类型的传输(在OSI分层模型中的定义)。对SSL,这样的连接是对等关系,连接是暂时的,每个连接都和一个会话相关。

②会话:SSL会话是指在客户机和服务器之间的关联。会话由握手协议创建,定义了一组可以被多个连接共用的密码安全参数。对于每个连接,可以利用会话来避免对新的安全参数进行代价昂贵的协商。

事实上,每个会话都有许多与之相关的状态。一旦建立了会话,就有一个读和写(例如,接收和发送)的当前操作状态。另外,在握手协议中,还创建了未决的读写状态。在成功的握手协议结束后,未决状态就会变成当前状态。

会话状态由以下参数确定(只定义来自SSL规范的参数):

①会话标识符(Session Identifier):由服务器选择的任意字节顺序,用来确定活动或可恢复的会话状态;

②对等实体证书(Peer Certificate):对等实体的X.509V3证书。该状态的元素可以为空;

③压缩方法(Compression method):压缩数据的算法优于加密算法;

④加密规格(Cipher spec):指定批量数据加密算法(例如空,DES等)和用于MAC计算的哈希算法(例如MD5或SHA-1)。该参数同时确定了密码属性,如hash_size;

⑤主控秘密(Master secret):由客户机和服务器共享的48位密码;

⑥是否可恢复(Is resumable):用来确定会话是否可用于初始化新连接的标志。

连接状态由以下参数确定:

①服务器和客户机随机(Server and client random):每个连接中,服务器和客户机选择的字节顺序;

②服务器写MAC秘密(Server write MAC secret):服务器发送的在MAC操作数据时用的保密密钥;

③客户机写MAC秘密(Client write MAC secret):客户机发送的在MAC操作数据时用的保密密钥;

④服务器写密钥(Server write key):由服务器加密、客户机解密的数据的常规加密密钥;

⑤客户机写密钥(Client write key):由客户机加密、服务器解密的数据的常规加密密钥;

⑥初始化向量(Initialization vectors):当在CBC模式中使用一个块密码时,为每一个密钥保留一个IV(Initialization vector,初始化向量)。该字段首先由SSL握手协议进行初始化,其后,每条记录的最后加密文本块保留作为后一条记录的IV;

⑦序列号(Sequence number):对于每次连接,每一方为传送和接收的消息保留的单独的序列号。当一方发送或接收变化的密码规格消息时,将适当的序列号置0。

(4)协议规范

①SSL记录协议

SSL记录协议为SSL连接提供了两种服务:

● 机密性:握手协议为SSL有效载荷的常规密码定义共享的保密密钥。

● 消息完整性:握手协议为生成MAC(message authentication code,消息身份认证码)定义共享的保密密钥。

图5-34描述了SSL记录协议的全部操作。记录协议发出传输请求消息,把数据分段成可以操作的数据块,还可以选择压缩数据,加入MAC消息,加密,加入记录头,在TCP段中传输结果单元。接收到的数据需要解密、身份验证、解压、重组,然后才能交付给高级用户。

图5-34 SSL记录协议操作

实现SSL记录协议的最后一步是生成一个报头,包含以下字段:

● 内容类型(8位):实现封装分段的高层协议。

● 主版本(8位):使用的SSL主要版本号。对SSLv3,值为3。

● 次版本(8位):使用的SSL的次要版本号。对SSLv3,值为0。

● 压缩长度(16位):原文分段的字节长度(如果经过压缩就是压缩分段的字节长度),最大值是214+2 048。

②更改密码规格协议

改变密码规格协议是使用SSL记录协议的SSL的三个特定协议之一,也是其中最简单的一个。协议由单个消息组成[图5-35(a)],该消息只包含一个值为1的单个字节。该消息的唯一作用就是使未决状态拷贝为当前状态,更新用于当前连接的密码组。

图5-35 SSL记录协议的有效载荷

③警报协议

警报协议用来为对等实体传递SSL的相关警告。当其他应用程序使用SSL时,根据当前状态的确定,警告消息同时被压缩和加密。

该协议的每条消息有两个字节[图5-35(b)],第1个字节有两个值,警告(1)和错误(2)来表示消息的严重性。如果是错误级,SSL立即终止该连接。同一会话的其他连接也许还能继续,但在该会话中不会再产生新的连接。第二个字节包含了指示特定警告的代码。

④握手协议

该协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在任何应用程序数据传输之前使用的。SSL握手协议包含两个阶段,第一个阶段用于建立私密性通信信道,第二个阶段用于客户认证。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈