网络安全协议

网络安全协议的定义

网络安全协议可定义为基于密码学的通信协议,包含两层含义:

  1. 网络安全协议以密码学为基础
  2. 网络安全协议也是通信协议

第一层含义体现了网络安全协议与普通协议间的差异,使用密码技术时,算法和密钥两个要素都不可或缺。

第二层含义体现了网络安全协议与普通协议之间的共性

公钥密码和对称密码的对比

  1. 密钥交互和保密的角度:公钥密码优于对称密码。但保障数据机密性时对称密码的到广泛应用,原因之一是对称密码算法效率高
  2. 应用的角度:公钥密码主要用于:
    • 计算数字签名确保不可否认性
    • 用于密钥交换
  3. 密钥的实用角度:
    • 保障机密性,使用接收方的公钥加密
    • 用于数字签名,使用发送方的私钥加密

数字签名

确保不可否认性,原理与消息验证码类似,具备认证功能

使用发送方的私钥加密摘要,验证发使用发送方的公钥验证

消息验证码和数字签名的区别

  1. 消息验证码使用通信双方共享的会话密钥处理摘要
  2. 数字签名使用发送方的私钥加密摘要,验证发使用发送方的公钥验证

常见的网络安全协议

1.网络认证协议Kerberos

Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。

认证过程具体如下:客户机向认证服务器(AS)发送请求,要求得到某服务器的证书,然后 AS 的响应包含这些用客户端密钥加密的证书。
证书的构成为:

  • 服务器 “ticket” ;
  • 一个临时加密密钥(又称为会话密钥 “session key”) 。
  • 客户机将 ticket (包括用服务器密钥加密的客户机身份和一份会话密钥的拷贝)传送到服务器上。会话密钥可以(现已经由客户机和服务器共享)用来认证客户机或认证服务器,也可用来为通信双方以后的通讯提供加密服务,或通过交换独立子会话密钥为通信双方提供进一步的通信加密服务。

上述认证交换过程需要只读方式访问 Kerberos 数据库。但有时,数据库中的记录必须进行修改,如添加新的规则或改变规则密钥时。修改过程通过客户机和第三方 Kerberos 服务器(Kerberos 管理器 KADM)间的协议完成。有关管理协议在此不作介绍。另外也有一种协议用于维护多份 Kerberos 数据库的拷贝,这可以认为是执行过程中的细节问题,并且会不断改变以适应各种不同数据库技术。

Kerberos又指麻省理工学院为这个协议开发的一套计算机网络安全系统。系统设计上采用客户端/服务器结构与DES加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止replay攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。Kerberos的扩展产品也使用公开密钥加密方法进行认证。

2.安全外壳协议SSH

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道" 。

从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证)

只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

第二种级别(基于密匙的安全验证)

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。

3.安全电子交易协议SET

安全电子交易协议(secure Electronic Transaction简称SET) 由威士(VISA)国际组织、万事达(MasterCard)国际组织创建,结合IBM、Microsoft、Netscope、GTE等公司制定的电子商务中安全电子交易的一个国际标准。

安全电子交易协议SET是一种应用于因特网(Internet)环境下,以信用卡为基础的安全电子交付协议,它给出了一套电子交易的过程规范。通过SET协议可以实现电子商务交易中的加密、认证、密钥管理机制等,保证了在因特网上使用信用卡进行在线购物的安全。

其主要目的是解决信用卡电子付款的安全保障性问题,这包括:保证信息的机密性,保证信息安全传输,不能被窃听,只有收件人才能得到和解密信息;保证支付信息的完整性,保证传输数据完整接收,在中途不被篡改;认证商家和客户,验证公共网络上进行交易活动包括会计机构的设置、会计人员的配备及其职责权利的履行和会计法规、制度的制定与实施等内容。合理、有效地组织会计工作,意义重大,它有助于提高会计信息质量,执行国家财经纪律和有关规定;有助于提高经济效益,优化资源配置。会计工作的组织必须合法合规。讲求效益,必须建立完善的内部控制制度,必须有强有力的组织保证。

工作流程

1)消费者利用自己的PC机通过因特网选定所要购买的物品,并在计算机上输入订货单、订货单上需包括在线商店、购买物品名称及数量、交货时间及地点等相关信息。
2)通过电子商务服务器与有关在线商店联系,在线商店作出应答,告诉消费者所填订货单的货物单价、应付款数、交货方式等信息是否准确,是否有变化。
3)消费者选择付款方式,确认订单签发付款指令。此时SET开始介入。
4)在SET中,消费者必须对订单和付款指令进行数字签名,同时利用双重签名技术保证商家看不到消费者的帐号信息。
5)在线商店接受订单后,向消费者所在银行请求支付认可。信息通过支付网关到收单银行,再到电子货币发行公司确认。批准交易后,返回确认信息给在线商店。
6)在线商店发送订单确认信息给消费者。消费者端软件可记录交易日志,以备将来查询。
7)在线商店发送货物或提供服务并通知收单银行将钱从消费者的帐号转移到商店帐号,或通知发卡银行请求支付。在认证操作和支付操作中间一般会有一个时间间隔,例如,在每天的下班前请求银行结一天的帐。
前两步与SET无关,从第三步开始SET起作用,一直到第六步,在处理过程中通信协议、请求信息的格式、数据类型的定义等SET都有明确的规定。在操作的每一步,消费者、在线商店、支付网关都通过CA(认证中心)来验证通信主体的身份,以确保通信的对方不是冒名顶替,所以,也可以简单地认为SET规格充分发挥了认证中心的作用,以维护在任何开放网络上的电子商务参与者所提供信息的真实性和保密性。

4.安全套接层协议SSL

SSL的英文全称是“Secure Sockets Layer”,中文名为“安全套接层协议 ”,它是网景(Netscape)公司提出的基于 WEB 应用的安全协议。
SSL协议指定了一种在应用程序协议(如HTTP、Telnet、NNTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。

VPN SSL200设备网关适合应用于中小企业规模,满足其企业移动用户、分支机构、供应商、合作伙伴等企业资源(如基于 Web 的应用、企业邮件系统、文件服务器、C/S 应用系统等)安全接入服务。企业利用自身的网络平台,创建一个增强安全性的企业私有网络。SSL VPN客户端的应用是基于标准Web浏览器内置的加密套件与服务器协议出相应的加密方法,即经过授权用户只要能上网就能够通过浏览器接入服务器建立SSL安全隧道。

5.网络层安全协议IPSec

IPSec由IETF制定,面向TCMP,它为IPv4和IPv6协议提供基于加密安全的协议。

IPSec主要功能为加密和认证,为了进行加密和认证,IPSec还需要有密钥的管理和交换的功能,以便为加密和认证提供所需要的密钥并对密钥的使用进行管理。以上三方面的工作分别由AH,ESP和IKE(Internet Key Exchange,Internet 密钥交换)三个协议规定。为了介绍这三个协议,需要先引人一个非常重要的术语SA(Security Association安全关联)。所谓安全关联是指安全服务与它服务的载体之间的一个“连接”。AH和ESP都需要使用SA,而IKE的主要功能就是SA的建立和维护。要实现AH和ESP,都必须提供对SA的支持。通信双方如果要用IPSec建立一条安全的传输通路,需要事先协商好将要采用的安全策略,包括使用的加密算法、密钥、密钥的生存期等。当双方协商好使用的安全策略后,我们就说双方建立了一个SA。SA就是能向其上的数据传输提供某种IPSec安全保障的一个简单连接,可以由AH或ESP提供。当给定了一个SA,就确定了IPSec要执行的处理,如加密,认证等。SA可以进行两种方式的组合,分别为传输临近和嵌套隧道。

IPSec的工作原理类似于包过滤防火墙,可以看作是对包过滤防火墙的一种扩展。当接收到一个IP数据包时,包过滤防火墙使用其头部在一个规则表中进行匹配。当找到一个相匹配的规则时,包过滤防火墙就按照该规则制定的方法对接收到的IP数据包进行处理。这里的处理工作只有两种:丢弃或转发。IPSec通过查询SPD(Security Policy Database安全策略数据库)决定对接收到的IP数据包的处理。但是IPSec不同于包过滤防火墙的是,对IP数据包的处理方法除了丢弃,直接转发(绕过IPSec)外,还有一种,即进行IPSec处理。正是这新增添的处理方法提供了比包过滤防火墙更进一步的网络安全性。进行IPSec处理意味着对IP数据包进行加密和认证。包过滤防火墙只能控制来自或去往某个站点的IP数据包的通过,可以拒绝来自某个外部站点的IP数据包访问内部某些站点,也可以拒绝某个内部站点对某些外部网站的访问。但是包过滤防火墙不能保证自内部网络出去的数据包不被截取,也不能保证进入内部网络的数据包未经过篡改。只有在对IP数据包实施了加密和认证后,才能保证在外部网络传输的数据包的机密性、真实性、完整性,通过Internet进行安全的通信才成为可能。IPSec既可以只对IP数据包进行加密,或只进行认证,也可以同时实施二者。但无论是进行加密还是进行认证,IPSec都有两种工作模式,一种是隧道模式,另一种是传输模式。