Category: 学术论文

2008-11-19

嗅探原理与反嗅探技术详解

归类于: 学术论文 - 19 Nov 2008

渗透实验室:大皮球

一.嗅探器的基础知识
1.1 什么是嗅探器?

嗅探器的英文写法是Sniff,可以理解为一个安装在计算机上的窃听设备它可以用来窃听计算机在网络上所产生的众多的信息。简单一点解释:一部电话的窃听装置, 可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃听计算机程序在网络上发送和接收到的数据。

可是,计算机直接所传送的数据,事实上是大量的二进制数据。因此, 一个网络窃听程序必须也使用特定的网络协议来分解嗅探到的数据, 嗅探器也就必须能够识别出那个协议对应于这个数据片断,只有这样才能够进行正确的解码。

计算机的嗅探器比起电话窃听器,有他独特的优势: 很多的计算机网络采用的是“共享媒体\”。 也就是说,你不必中断他的通讯,并且配置特别的线路,再安装嗅探器,你几乎可以在任何连接着的网络上直接窃听到你同一掩码范围内的计算机网络数据。我们称这种窃听方式为“基于混杂模式的嗅探”(promiscuous mode) 。 尽管如此,这种“共享” 的技术发展的很快,慢慢转向“交换” 技术,这种技术会长期内会继续使用下去, 它可以实现有目的选择的收发数据。

1.2嗅探器是如何工作的

1.2.1如何窃听网络上的信息

刚才说了,以太网的数据传输是基于“共享”原理的:所有的同一本地网范围内的计算机共同接收到相同的数据包。这意味着计算机直接的通讯都是透明可见的。

正是因为这样的原因,以太网卡都构造了硬件的“过滤器”这个过滤器将忽略掉一切和自己无关的网络信息。事实上是忽略掉了与自身MAC地址不符合的信息。

嗅探程序正是利用了这个特点,它主动的关闭了这个嗅探器,也就是前面提到的设置网卡“混杂模式”。因此,嗅探程序就能够接收到整个以太网内的网络数据了信息了。

1.2.2什么是以太网的MAC地址

MAC:Media Access Control.

由于大量的计算机在以太网内“共享“数据流,所以必须有一个统一的办法用来区分传递给不同计算机的数据流的。这种问题不会发生在拨号用户身上,因为计算机会假定一切数据都由你发动给modem然后通过电话线传送出去。可是,当你发送数据到以太网上的时候,你必须弄清楚,哪台计算机是你发送数据的对象。的确,现在有大量的双向通讯程序出现了,看上去,他们好像只会在两台机器内交换信息,可是你要明白,以太网的信息是共享的,其他用户,其实一样接收到了你发送的数据,只不过是被过滤器给忽略掉了。

MAC地址是由一组6个16进制数组成的,它存在于每一块以太网卡中。后面的章节将告诉你如何查看自己计算机的MAC地址。

如果你对网络结构不太熟悉,建议参考一下OSI 7-Layer Model,这将有助于你理解后面的东西以太网所使用的协议主要是TCP/IP,并且TCP/IP也用于其他的网络模型(比如拨号用户,他们并不是处于一个以太网环境中)。举例一下,很多的小团体计算机用户都为实现文件和打印共享,安装了“NetBEUI” 因为它不是基于TCP/IP协议的, 所以来自于网络的黑客一样无法得知他们的设备情况。

基于Raw协议,传输和接收都在以太网里起着支配作用。你不能直接发送一个Raw数据给以太网,你必须先做一些事情,让以太网能够理解你的意思。这有点类似于邮寄信件的方法,你不可能直接把一封信投递出去,你必须先装信封,写地址,贴邮票,网络上的传输也是这样的。

下面给出一个简单的图示,有助于你理解数据传送的原理:

_________

/………\\

/..Internet.\\

+—–+ …

Hash 算法及其应用

归类于: 学术论文 - 19 Nov 2008

什么是 Hash
Hash 的重要特性
Hash 函数的实现
主要的 Hash 算法
Hash 算法的安全问题
Hash 算法的应用
结 论

Hash,一般翻译做“散列”,也有直接音译为\”哈希\”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。

数学表述为:h = H(M) ,其中H( )–单向散列函数,M–任意长度明文,h–固定长度散列值。

在信息安全领域中应用的Hash算法,还需要满足其他关键特性:

第一当然是单向性(one-way),从预映射,能够简单迅速的得到散列值,而在计算上不可能构造一个预映射,使其散列结果等于某个特定的散列值,即构造相应的M=H-1(h)不可行。这样,散列值就能在统计上唯一的表征输入值,因此,密码学上的 Hash 又被称为\”消息摘要(message digest)\”,就是要求能方便的将\”消息\”进行\”摘要\”,但在\”摘要\”中无法得到比\”摘要\”本身更多的关于\”消息\”的信息。

第二是抗冲突性(collision-resistant),即在统计上无法产生2个散列值相同的预映射。给定M,计算上无法找到M\’,满足H(M)=H(M\’) ,此谓弱抗冲突性;计算上也难以寻找一对任意的M和M\’,使满足H(M)=H(M\’) ,此谓强抗冲突性。要求\”强抗冲突性\”主要是为了防范所谓\”生日攻击(birthday attack)\”,在一个10人的团体中,你能找到和你生日相同的人的概率是2.4%,而在同一团体中,有2人生日相同的概率是11.7%。类似的,当预映射的空间很大的情况下,算法必须有足够的强度来保证不能轻易找到\”相同生日\”的人。

第三是映射分布均匀性和差分分布均匀性,散列结果中,为 0 的 bit 和为 1 的 bit ,其总数应该大致相等;输入中一个 bit 的变化,散列结果中将有一半以上的 bit 改变,这又叫做\”雪崩效应(avalanche effect)\”;要实现使散列结果中出现 …

实现网络远程攻击主动防御的一种构想:漏洞陷阱

归类于: 学术论文 - 19 Nov 2008

实现网络远程攻击主动防御的一种构想;漏洞陷阱
摘要:
网络远程攻击是威胁当今互联网上站点安全的一种最主要的方式。为实现对网络远程攻击的有效防御,本文提出了一种基于“漏洞陷阱”的主动防御策略,并对这种策略的思想基础、实践基础及实现上的技术路径等做了初步的探讨。
关键词:
网络远程攻击 主动防御 漏洞陷阱

一、简介
Internet可以说是人类在二十世纪最伟大的成就之一,它在迅速发展的同时也在越来越深刻地影响着人们的生活。然而与其飞速发展相伴的是日益增长的对网上站点的安全威胁。许多统计数据都可以表明,当今网上“黑客”数与与安全相关的事件数的增长是相当惊人的。对网上众多的站点而言,在面临的诸多安全威胁中,网络远程攻击是最主要的方式。尤其是对于政府、商业、大学的重要站点,防范网络远程攻击更是一项经常性的任务。

严峻的形势促使我们深刻地反思当前网络站点的安全保护模式。传统的网络站点的安全保护模式从本质上讲是一种被动防御模式。攻击者可以以很低的成本(包括物质成本和风险成本)实施远程攻击,每次登录都可以无后效性地退出。这种状况如不改变,将难以实现对网络远程攻击的有效遏制。

本文提出的一种实现网络站点主动防御的策略可称之为“设置漏洞陷阱”。其核心思想是防御方主动设计一些“安全漏洞”(当然是伪造的)暴露给攻击者,诱使攻击者进入“漏洞陷阱”。落入陷阱的攻击者将会遭受大量的资源消耗,甚至可能会暴露身份,攻击成本增大。从而可以有效地阻止入侵者下一次攻击的实施。

本文以下部分将对“漏洞陷阱”安全策略做以详细的介绍。各节安排如下:

第二节,介绍这种安全策略的思想基础。
第三节,讨论这种安全策略的可行性和实现路径。
第四节,探讨这种安全策略实现上的有待解决的一些关键问题。
最后一节是小结。

二、“漏洞陷阱”的思想基础
网络远程攻击是实现网络安全所关注的焦点,因此我们有必要对其基本特性做以讨论。首先,网络远程攻击涉及两方:攻击方和防御方(当然一些攻击者可以假借第三方进行身份伪装,但本质上仍是攻、守两方)。做为一个网络站点的系统管理员,有一点应该是很清醒的:即对于网络远程攻击来说,他永远处于防御的一方。这是很自然的事情。我们不可能在攻击者入侵我们的主机的同时去攻击对方的主机。但是不是只能被动防御呢?那却未必。

明确了网络远程攻击的参与主体之后,我们再对双方的基本特性做以考察和分析。

对于攻击方来说,具有以下特点:
1. 主动性

何时发起攻击,以何种方式发起攻击完全掌握在入侵者手中。防御方无法干涉。

2. 隐蔽性
攻击者的攻击过程往往是通过合法的端口和服务来进行的,不容易被察觉。

3. 低成本
这是攻击方一个很主要的特征,也是当今网络上黑客层出不穷、安全事件频发的一个重要原因。

攻击一方的成本包括两部分:

1) 物理成本
网络远程攻击不需要很高的机器条件,一般情况下只需一台PC机、一套Linux和一根网线(电话线)即可;网络上如今到处都有黑客站点,专门介绍各种攻击方法和步骤,因此学习成本也是很低的;在时间上,实施一次攻击实验从几分钟到几天不等。对于面对着高诱惑的攻击者来说也是完全可以承受的。

2) 风险成本
入侵者进行一次远程攻击的风险成本也是很低的。他可以执行未被明令禁止的各种操作。即使一次攻击实验受阻,也可以随时安全地从登录状态退出。

4. 执行敏感操作
绝大多数的入侵者并非天才,他们经常利用一些前人用过的在安全领域广为人知的技术。这就使入侵者(尤其是初级入侵者)的攻击方式常有一定的套路,如先设法获得passwd文件再进行密码破译等。
对于防御一方来说,也有以下两个明显的特点:

1) 被动性
防御方无法预测攻击的发生时间、方式、发起者等情况,也无法对攻击者施加影响。

2) 漏洞公开
防御方所有的安全漏洞都处于攻击方可探察的范围之内,攻击方只要有足够的工具、经验捕捉到一个哪怕是最微小的漏洞,就可以打开进入的渠道。

明确了当前网络远程攻击双方的特点之后,我们就可以在此基础上构造安全策略。可以看到,新的安全策略的核心目标应在增加攻击方的攻击成本上,包括物理成本和风险成本。在实现上应重点弥补现有防御方式的不足,增加防御的主动性。至于系统的安全漏洞,完全消除是不可能的,但却可以伪造一些安全漏洞,使攻击者难辩真假。从这种思想出发,“漏洞陷阱”这类安全策略可以说是一个很好的选择。

我国自古以来就有“诱敌深入”、“空城计”等主动防御的战略战术,其核心思想都在于使攻击方不知我方虚实,从而做出错误判断。构造“漏洞陷阱”的方法从本质上讲也属于这类思想。

三、可行性与实现路径

在讨论可行性和实现路径之前,先来介绍一个实例:
1991年1月7日,一个入侵者试图攻击AT&T贝尔实验室Bill Cheswwick教授的一台网关机。入侵者自以为发现了一个Sendmail DEBUG漏洞并想藉此获得passwd文件。于是Bill Cheswwick就发了一个口令文件给他并故意让他进入了一个“诱饵”机中,Bill Cheswwick和他的同事们在这台“诱饵”机构造了一个虚拟的文件系统。当入侵者采取各种方法用以获得最高访问权限和删除所有文件时,他们对他的行为进行了仔细的观察和分析。此次攻击的发起点在Stanford大学,但后来才发现这个攻击者实际上身处Netherlands。虽然Bill Cheswwick他们最终追踪到了这个入侵者的身份,但并未将其绳之以法。

这个故事是很有趣的,也很具有启发性。它向我们揭示了这种“漏洞陷阱”的可行性,也启发我们将这种思想上升为一种系统行为和安全策略。同时,它提示给我们实现这种安全策略所必需的三项工作:

1. 设计伪装漏洞,构造安全陷阱
我们需要对常见的网络安全漏洞进行整理,选择适当的漏洞形式进行伪造(如将一个伪造的passwd文件放在ftp目录下等等)。漏洞的设计需要精心,应能确实起到迷惑入侵者的作用。
物理实现上,需要一台专门用来做“陷阱”的机器。这台机器的位置应精心规划,在其所在的网段上应安装一个Sniffer,以使我们能够随时从日志中得到入侵者的信息。
2. 识别可疑请求
这是此套安全策略发挥作用的前提。系统应能实时地提醒管理员注意某些远程请求。这个任务可以考虑用人工智能中的Agent 技术来完成。可以为系统引入一个SecAgent,这个Agent 的任务主要是监视并分析日志文件的变化,并将分析的结果及时发给管理员。在上面提到的例子中,Bill Cheswwick是用如下代码实现的这项任务:

exec 2>/dev/null #ensure that stderr doesn’t appear
trap “” 1
/bin/echo
( /bin/echo “Attempt to login to inet with $LOGNAME from $CALLER” |
upasname …

基于IPSec的VPN技术

归类于: 学术论文 - 19 Nov 2008

东北大学软件中心 蒋韬 李信满 周菘 苏文革 刘积仁

一.引言

  1998年被称作\”电子商务年\”,而1999年则将是\”政府上网年\”。的确,Internet作为具有世界范围连通性的\”第四媒体\”,已经成为一个具有无限商机的场所。如何利用Internet来开展商务活动,是目前各个企业讨论的热门话题。但将Internet实际运用到商业中,还存在一些亟待解决的问题,其中最重要的两个问题是服务质量问题和安全问题。服务质量问题在有关厂商和ISP的努力下正在逐步得以解决,而VPN技术的产生为解决安全问题提供了一条有效途径。

  所谓VPN(Virtual Private Network,虚拟私有网络)是指将物理上分布在不同地点的网络通过公用骨干网联接而成逻辑上的虚拟子网,这里的公用网主要指Internet。其系统示意见图1。为了保障信息在Internet上传输的安全性,VPN技术采用了认证、存取控制、机密性、数据完整性等措施,以保证了信息在传输中不被偷看、篡改、复制。由于使用Internet进行传输相对于租用专线来说,费用极为低廉,所以VPN的出现使企业通过Internet既安全又经济地传输私有的机密信息成为可能。

  VPN技术除了可以节省费用外,还具有其它特点:

  1.伸缩性–VPN能够随着网络的扩张,很灵活的加以扩展。当增加新的用户或子网时,只需修改已有网络软件配置,在新增客户机或网关上安装相应软件并接入Internet后,新的VPN即可工作。

  2.灵活性–除了能够方便地将新的子网扩充到企业的网络外,由于Internet的全球连通性,VPN可以使企业随时安全地将信息存取到全球的商贸伙伴和顾客。

  3.易于管理–用专线将企业的各个子网连接起来时,随着子网数量的增加,需要的专线数以几何级数增长。而使用VPN时Internet的作用类似一个HUB,只需要将各个子网接入Internet即可,不需要进行各个线路的管理。

  VPN既可以用于构建企业的Intranet,也可以用于构建Extranet。随着全球电子商务热的兴起,VPN应用必将越来越广泛。据Infonetics Reseach的预测,VPN的市场份额将从今天的2亿美元增长到2001年时的119亿美元,其中VPN产品的销售收入就要占其中的十分之一。

二.基于IPSec规范的VPN技术

1、IPSec协议简介

  IPSec(IP Security)产生于IPv6的制定之中,用于提供IP层的安全性。由于所有支持TCP/IP协议的主机进行通信时,都要经过IP层的处理,所以提供了IP层的安全性就相当于为整个网络提供了安全通信的基础。鉴于IPv4的应用仍然很广泛,所以后来在IPSec的制定中也增添了对IPv4的支持。
 

  最初的一组有关IPSec标准由IETF在1995年制定,但由于其中存在一些未解决的问题,从1997年开始IETF又开展了新一轮的IPSec的制定工作,截止至1998年11月份主要协议已经基本制定完成。不过这组新的协议 仍然存在一些问题,预计在不久的将来IETF又会进行下一轮IPSec的修订工作。

2、IPSec基本工作原理

  IPSec的工作原理(如图2所示)类似于包过滤防火墙,可以看作是对包过滤防火墙的一种扩展。当接收到一个IP数据包时,包过滤防火墙使用其头部在一个规则表中进行匹配。当找到一个相匹配的规则时,包过滤防火墙就按照该规则制定的方法对接收到的IP数据包进行处理。 这里的处理工作只有两种:丢弃或转发。

  IPSec通过查询SPD(Security Policy Database 安全策略数据库)决定对接收到的IP数据包的处理。但是IPSec不同于包过滤防火墙的是,对IP数据包的处理方法除了丢弃,直接转发(绕过IPSec)外,还有一种,即进行IPSec处理。正是这新增添的处理方法提供了比包过滤防火墙更进一步的网络安全性。

  进行IPSec处理意味着对IP数据包进行加密和认证。包过滤防火墙只能控制来自或去往某个站点的IP数据包的通过,可以拒绝来自某个外部站点的IP数据包访问内部某些站点,也可以拒绝某个内部站点方对某些外部网站的访问。但是包过滤防火墙不能保证自内部网络出去的数据包不被截取,也不能保证进入内部网络的数据包未经过篡改。只有在对IP数据包实施了加密和认证后,才能保证在外部网络传输的数据包的机密性,真实性,完整性,通过Internet进新安全的通信才成为可能。

  IPSec既可以只对IP数据包进行加密,或只进行认证,也可以同时实施二者。但无论是进行加密还是进行认证,IPSec都有两种工作模式,一种是与其前一节提到的协议工作方式类似的隧道模式,另一种是传输模式。

  传输模式,如图3所示,只对IP数据包的有效负载进行加密或认证。此时,继续使用以前的IP头部,只对IP头部的部分域进行修改,而IPSec协议头部插入到IP头部和传输层头部之间。

  隧道模式,如图4所示,对整个IP数据包进行加密或认证。此时,需要新产生一个IP头部,IPSec头部被放在新产生的IP头部和以前的IP数据包之间,从而组成一个新的IP头部。

3、IPSec中的三个主要协议

  前面已经提到IPSec主要功能为加密和认证,为了进行加密和认证IPSec还需要有密钥的管理和交换的功能,以便为加密和认证提供所需要的密钥并对密钥的使用进行管理。以上三方面的工作分别由AH,ESP和IKE三个协议规定。为了介绍这三个协议,需要先引入一个非常重要的术语–SA(Security Association 安全关联)。所谓安全关联是指安全服务与它服务的载体之间的一个\”连接\”。AH和ESP都需要使用SA,而IKE的主要功能就是SA的建立和维护。只要实现AH和ESP都必须提供对SA的支持。

  通信双方如果要用IPSec建立一条安全的传输通路,需要事先协商好将要采用的安全策略,包括使用的加密算法、密钥、密钥的生存期等。当双方协商好使用的安全策略后,我们就说双方建立了一个SA。SA就是能向其上的数据传输提供某种IPSec安全保障的一个简单连接,可以由AH或ESP提供。当给定了一个SA,就确定了IPSec要执行的处理,如加密,认证等。SA可以进行两种方式的组合,分别为传输临近和嵌套隧道。

1) ESP(Encapsulating Secuity Payload)

  ESP协议主要用来处理对IP数据包的加密,此外对认证也提供某种程度的支持。ESP是与具体的加密算法相独立的,几乎可以支持各种对称密钥加密算法,例如DES,TripleDES,RC5等。为了保证各种IPSec实现间的互操作性,目前ESP必须提供对56位DES算法的支持。

  ESP协议数据单元格式三个部分组成,除了头部、加密数据部分外,在实施认证时还包含一个可选尾部。头部有两个域:安全策略索引(SPI)和序列号(Sequence number)。使用ESP进行安全通信之前,通信双方需要先协商好一组将要采用的加密策略,包括使用的算法、密钥以及密钥的有效期等。\”安全策略索引\”便用来标识发送方是使用哪组加密策略来处理IP数据包的,当接收方看到了这个序号就知道了对收到的IP数据包应该如何处理。\”序列号\”用来区分使用同一组加密策略的不同数据包。加密数据部分除了包含原IP数据包的有效负载,填充域(用来保证加密数据部分满足块加密的长度要求)包含其余部分在传输时都是加密过的。其中\”下一个头部(Next Header)\”用来指出有效负载部分使用的协议,可能是传输层协议(TCP或UDP),也可能还是IPSec协议(ESP或AH)。

  通常,ESP可以作为IP的有效负载进行传输,这JF IP的头UKB 指出下一个协议是ESP,而非TCP和UDP。由于采用了这种封装形式,所以ESP可以使用旧有的网络进行传输。
前面已经提到用IPSec进行加密是可以有两种工作模式,意味着ESP协议有两种工作模式:传输模式(Transport Mode)和隧道模式(Tunnel Mode)。当ESP工作在传输模式时,采用当前的IP头部。而在隧道模式时,将整个IP数据包进行加密作为ESP的有效负载,并在ESP头部前增添以网关地址为源地址的新的IP头部,此时可以起到NAT的作用。

2) AH(Authentication Header)

  AH只涉及到认证,不涉及到加密。AH虽然在功能上和ESP有些重复,但AH除了对可以对IP的有效负载进行认证外,还可以对IP头部实施认证。主要是处理数据对,可以对IP 头部进行认证,而ESP的认证功能主要是面对IP的有效负载。为了提供最基本的功能并保证互操作性,AH必须包含对HMAC-SHA和HMAC-MD5(HMAC是一种SHA和MD5都支持的对称式认证系统)的支持。

  AH既可以单独使用,也可在隧道模式下,或和ESP联用。

3) IKE(Internet Key Exchange)

  IKE协议主要是对密钥交换进行管理,它主要包括三个功能:
 ● 对使用的协议、加密算法和密钥进行协商。
 ● 方便的密钥交换机制(这可能需要周期性的进行)。
 ● 跟踪对以上这些约定的实施。

三.VPN系统的设计

  VPN的实现包含管理模块、密钥分配和生成模块、身份认证模块、数据加密/解密模块、数据分组封装/分解模块和加密函数库几部分组成。

  管理模块负责整个系统的配置和管理。由管理模块来决定采取何种传输模式,对哪些IP数据包进行加密/解密。由于对IP数据包进行加密需要消耗系统资源,增大网络延迟,因此对两个安全网关之间所有的IP数据包提供VPN服务是不现实的。网络管理员可以通过管理模块来指定对哪些IP数据包进行加密。Intranet内部用户也可以通过Telnet协议传送专用命令,指定VPN系统对自已的IP数据包提供加密服务。

  密钥管理模块负责完成身份认证和数据加密所需的密钥生成和分配。其中密钥的生成采取随机生成的方式。各安全网关之间密钥的分配采取手工分配的方式,通过非网络传输的其它安全通信方式完成密钥在各安全网关之间的传送。各安全网关的密钥存贮在密数据库中,支持以IP地址为关键字的快速查询获取。

  身份认证模块对IP数据包完成数字签名的运算。整个数字签名的过程:首先,发送方对数据进行哈希运算h=H(m) , 然后用通信密钥k 对h进行加密得到签名 Signature={ …

信息安全和RSA

归类于: 学术论文 - 19 Nov 2008

摘要
本文介绍了当今社会对信息安全技术的需求,谈了自己对信息安全的看法。然后讨论目前流行的公钥加密算法RSA的技术要点及其安全性的几个问题,最后简要概括了RSA的使用情况,并且指出RSA方法被淘汰的可能。

引论
“秘密是一种力量。保护一个秘密,保留一个人的隐私的能力是一种力量。刺探秘密、了解秘密、利用秘密的能力也是一种力量。秘密给予人力量,秘密保护人,秘密损害人。在一个人不知情的情况下了解他的秘密――秘密地刺探另一个人的秘密――的能力,是一种更为强大的力量。”

从古人挥舞着大刀长枪的战争开始,信息就是军队统帅战胜敌人的要决。但是,保密的需要不仅是战争的专利。尤其在现代,从一个庞大的国家或者国家集团到走在大街上的一个寻常的人,都有其不希望任何别人知道的秘密。随着科技的发达,信息技术正在改变着世界上的一切。尤其是互联网的出现,正在不可阻挡的改变着世界上的一切。按照一些人的说法,如果没有制衡力量,在未来的几十年中,可能我们的一言一行都会被监视、被记录、并被分析――这些终于让人们认识到必须把“保密”作为一个独立的学科,再调用一批卓越的科学家和许许多多深奥的数学理论去研究。

另一方面,信息技术包括保密技术的发展也使得在极大规模上的信息交流可以秘密进行。这些交流包括正常的有利于社会的活动,也有罪恶的计划。它们可以在更大规模上秘密地策划、组织、实施。而在过去,只要计划的规模一大,通讯的规模也自然会大,因而就很难保住秘密。

密码术有很长的历史。古代人在没有高速运算设备的条件下想尽了各种方法,也包含了许多巧妙的构思。早在公元前1900年,一个古埃及书写员就在一个铭文中使用了非标准的象形文字,这是人类最早的有记录的密码术。其后,古代人使用的密码术有如把字母表的顺序颠倒过来、进行字母替代,或者用错后一定数目的位置的字母替代前面的字母(凯撒就将这个方法用于政府通讯,因此这个方法叫做“凯撒替代”)。其中有些密码术的构思也是十分巧妙的。

现代密码术的划时代突破,是威特菲尔德•迪菲(Whitfield Diffie)和马丁•海尔曼(Martin Hellman)有关公开密钥加密系统的构想,这是在1976年发表的。但威特菲尔德•迪菲和马丁•海尔曼提供的MH背包算法于1984年被破译,因而失去了实际意义。真正有生命力的公开密钥加密系统算法是由隆•里维斯特(Ronald L. Rivest)、阿迪•沙米尔(Adi Shamir)和雷奥纳德•阿德尔曼(Leonard M.Adlemen)在威特菲尔德•迪菲和马丁•海尔曼的论文的启发下,在1977年发明的,这就是沿用至今的RSA算法。它是第一个既能用于数据加密也能用于数字签名的算法。

公钥加密算法RSA
传统的加密技术都是秘密密钥加密技术,也称单密钥加密技术。也就是说,消息发送者使用一把密钥将消息加密,而消息接收者须使用同一密钥将其解密。比如数据加密标准DES。这就产生了一个重要的密钥管理问题,如何告诉对方这个密钥。除非是在耳边小声告诉或者寄一封挂号信,如果在网路上传输,无论如何也不能保证这个宝贵的密钥不被一直肆机的敌人截获。这是一件很麻烦,有时甚至是做不到的事,特别是,如果你想和许许多多你根本不认识的人实现秘密通讯,用这种秘密密钥加密技术就根本不可能。公开密钥加密技术解决了这个难题。在公开密钥加密技术中,加密密钥与解密密钥是不一样的。加密者可以将加密密钥公开,成为公开密钥,而仍将解密密钥保密,作为秘密密钥。任何人如果想向其发送加密消息,都可以找到公开密钥,然而,以其加密的消息却必须用加密者自己保留的秘密密钥才能解密,别人只知道公开密钥,因而无法阅读该消息。如果想向另一个人发送加密消息,则可以先去找他的公开密钥(既然是公开的,因而往往不用与他本人作事先联系,甚至不必认识他),然后用此密钥加密我想发送的消息给他,除了他本人之外,别人是无法阅读这个消息的。

下面就要描述RSA加密算法的流程了:

首先, 找出三个数: p、 q、 r,其中 p和q是两个相异的质数, r 是与 (p-1)(q-1) 互质的数。
接著, 找出 e, 使得 re 1 mod (p-1)(q-1)。这个 e 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了。

再来, 计算 n = pq。(n,e)便是 public key。(n,r)就是private key。

p和q应该被销毁掉(PGP为了用中国的同余理论加快加密运算保留了p和q, 不过它们是用IDEA加密过再存放的)

加密的过程是, …

网络信息安全呼唤理论创新

归类于: 学术论文 - 19 Nov 2008

理论与实践的错位

如果我们把信息安全比作喷发的火山,那么作为火山岩浆动力支撑的,应该是那些沉浸在底层涌动着的信息安全理论研究。由于这些年信息安全在全社会显得过于炽热,因而那些潜伏在底层的信息安全理论研究反而不为人们所知,甚至受到人们的忽视。

信息安全的阶段性假说

信息安全的理论问题是一个复杂的问题,表现在纯技术理论和综合战略理论等诸多方面。

在二十世纪的大部份时间,人们认为信息安全就是通信保密,针对专业化的攻击手段,采用的保护措施就是加密,把密码算法的强度做够就行了。什么是安全的?胜过攻击就是安全的。这个时期被称为通信保密(COMSEC)时代,其标志是1949年Shannon发表的《保密通信的信息理论》。这个时期的理论是建立在香农的《信息论》理论基础之上的。到了二十世纪九十年代前后,随着信息的发展和互联网的兴起,人们逐步意识到数字化信息除了有保密性的需要外,还有信息的完整性、信息和信息系统的可用性需求,因此明确提出了信息安全就是要保证信息的保密性、完整性和可用性。这一时期被描述为网络和信息安全阶段,其最基础的构件是CIA模型。详细划分的话又可前后两个区分,先是INFOSEC时期,其标志是1977年美国国家标准局公布的国家数据加密标准(DES)和1983年美国国防部公布的可信计算机系统评价准则(TCSEC)。此后从九十年代后期开始,信息安全在原来的概念上增加了信息和系统的可控性、信息行为的不可否认性要求,同时,人们也开始认识到安全的概念已经不局限于信息的保护,人们需要的是对整个信息和信息系统的保护和防御,包括对信息系统的保护、检测、反应和恢复能力,除了要重视提高安全预警能力、系统的入侵检测能力,系统的事件反应能力和系统遭到入侵引起破坏的快速快速恢复能力。安全表现为系统的安全,在这个阶段,主要面对的是威胁。什么是安全?能够应对这些威胁就是安全的。网络和信息安全以完整性策略为主,所用的基本技术是防火墙、VPN加密隧道、IDS入侵检测、防病毒等,因此其基础技术是防护技术。网络属于公共设施,一般不划分等级,只有采取了防护措施或没有采取防护措施之分,如:以防火墙保护的称SIPRNET,而没有防火墙保护的称NIPRNET等。

现在,信息安全已经进入了一个全新时期,有人把它称为网络化社会的集体安全阶段,信息安全也常常为信息保障取而代之。对这一从优的描述现在看来还不够完全统一,如区别于传统的加密、身份认证、访问控制、防火墙、安全路由等技术,美国人提出的信息保障概念强调信息系统整个生命周期的防御和恢复,同时安全问题的出现和解决方案也超越了纯技术范畴。由此形成了包括预警、保护、检测、反应和恢复五个环节的信息保障概念,即信息保障的WPDRR模型,它以美国国家安全局制定的《信息保障技术框架》(IATF)为标志,其核心思想是深层防御战略(Defense in Depth),它采用一个层次化的、多样性的安全措施为保障用户信息及信息系统的安全人、技术和操作是三个主要核心因素,包括了主机、网络、系统边界和支撑性基础设施等多个网络环节之中如何实现预警、保护、检测、反应和恢复(WPDRR)这五个安全内容。

也有人反现代信息安全表述为一个综合利用了数学、物理、管理、通信和计算机等诸多学科成果的交叉学科领域,是物理安全、网络安全、数据安全、信息内容安全、信息基础设施安全与公共信息安全、国家信息安全的总和。

最近,美国总统咨询委员会的一份紧急报告中认为,现在信息安全已进入网络世界的安全阶段(Cyber security)。南湘浩教授在《新一代安全》一文中强调,网络世界安全的最基本需求是赖于可信性建立的秩序。网络世界安全的基本构件可以用C3MSE来概括:即certification(认证)、control(控制)、confrontation(对抗)、management(管理)、supervision(监察)和emergency(应急)等六个方面。

吴世忠研究员最近提出了网络化社会的安全概念。他认为在整个技术社会化的时期,安全体现为一种集体的安全,它针对的是风险。面对不断出现的复杂情况和问题,原有的理论已经很难作出令人满意的回答,因而信息安全的发燕尾服迫切呼唤新的安全理论。

理论必须避免浮躁

在回顾信息安全界的前辈们所做的工作时,翟起滨教授深有感慨地说:在商用密码还没有沸沸扬扬的时候,也就是上世纪七八十年代,国内的一引起研究机构,由于一些特殊部门的需要,集中了一批科学家做了一些深层次的、比较前沿的密码理论研究,而且这些理论者是有的放矢,取得了一些研究成果和理论文章,这些前辈们所做的工作在国际上是一流的。李国杰院士在中国信息科学技术发展概论中也指出,我国科技工作者完全自主地研究实现了我国的信息密码算法与体系,密码学研究已进入国际前列。信息安全国家重点实验室等单位在信息安全、密码学研究等方面已取得一系列重大成果。代数方法是研究现代密码系统的重要方法之一,我国学者主要利用代数方法对密码问题进行了深刻刻划,这些成果对认证码、序列密码和公钥的设计和分析提供了重要的理论。

进入上世纪九十年代,一些国家信息安全的重大专项相继出台。“十五”期间开始实施的国家自然科学基金中将信息安全列为首批启动的四个重大研究计划之一;国家科技部“863计划从九十年代后期开始设立信息安全战略专家组,此后又反信息安全作为信息技术领域下面的四个主题之一;国家重点基础研究发展计划(“973计划”)中也有专门针对信息安全与编码理论的部分;科技部于2002年正式启动的总投入经费50多他元的12个重大科技专项,其信息安全即为其中一项。此外还有一些其他的国家项目陆续问世,这些国家项目的一个侧重点就在于鼓励和扶持信息安全的理论与技术研究。

但是综合来看,我们国家的信息安全研究与先进国家差距还是很大的。吕述望教授告诉记者,我们的第一个密码学讲义一直到上世纪六十年代后期才出现。这些年,我国学者在国际学术会议上很少有影响力的论文发表,分散在科研院所、院校和国家信息安全重点实验室、工程研究中民诉力量,加上一些企业的三发力量和民间的一些研究者,也许从总的从数上并不少,但实力还是比较薄弱。支年册东大学的王小云教授在国际密码学会议上发表的MD5的碰撞研究曾引起了国际范围的轰动,但这种局面只是少有的个案。

翟起滨教授强调,目前我们的研究界普遍比较浮躁,不能沉下心来认真做学问,所发表的论文更多地是对国外一些现成理论的重新“编辑集成”,属于原创的东西很少,甚至非常罕见。丁时孙先生有一次在演讲中指出,我们的论文有95%以上都应该扔在垃圾篓里。我们的一些学术会议也存在走过场的现象。另一种现象就是,研究严重地脱离实际,搞浮夸,重学历,讲等级。他特别举了一人例子:国际密码学专家Berson先生在国外的名片上只有简单的“ANAGRAM实验室主任”这一个头衔,而在中国,他们名片上除此之外就加上了“国际密码研究学会院士、前主席,IEEE信息安全委员会前主席,剑桥大学数学院士,博士教授”等一大堆令人目眩的头衔和荣誉称号。他说,在中国办好这样,要不然人家会不以为然的,因为他在中国所见到的名片上都是写得密密麻麻的。

理论超越从何做起

实际上,上述问题并非信息安全界所独有。问题的另一个重要的地方在于,我们现在的信息安全界过去一直在实践层面上做文章,真正的信息安全理论可以说还是一个空缺。这是从理论问题比较深层次的角度来考虑的。在对先贤们所做的工作和现状进行了回顾和分析以后,我们又回到了前面提出的三个理论核心问题上来:什么是安全?谁的安全?如何提供安全?这些问题的回答决定着我们需要的是什么样的理论这一关键,因为它涉及到信息安全的本源问题。在香家之后,后人做了很多努力,尤其在欧美有大量的信息安全理论研究专家,从微观宏观方面进行研究,比如说重要的机构――美国国防部,包括欧洲的经合组织,社会性的研究所,包括我们国家在内都在研究。坦率地讲,信息安全的理论问题在国际上也是一样的,也很难讲有一个完事的理论,只是说国外走得超前一些。这些理论还要包括一些原理、原则,包括名种名样的模型(实现安全的手段),还有标准(追求最佳的实践),指标和度量等等。

吴世忠研究员强调指出,安全性理论的研究,不论中国也好、外国也好,它和战略与对策的研究关联性极大。为什么要从战略上来研究呢,就是因为信息安全已经变为信体安全现在理论的研究,如果不从信息安全的本源上作研究,是很难谈得上有什么建树的,不过是验证一些东西,破解一引起东西而已。现在我们考虑解决信息安全问题一定要融合经济学、社会学、伦理学、政治学等各方面的因素进行研究,就像我们研究环境问题一样。为什么何德全院士提出用复杂巨系统理论综合研究呢,因为它是集体的安全了,和政治安全、经济安全、文化安全一样,这类安全都不是单一的学科能够解决的,一定是在一个大的背景下异型的。如果我们不能跳出这个圈子,就把它的位置摆错了。为什么讲理论研究和战略研究、对策研究关联性极强呢,这是因为现在战略研究、对策研究的兴起是对传统的理论研究的超越,这是历史性的超越,是在批判基础上的超越。

吴世忠认为,信息安全的核心理论问题有很多种表现形式,而这些安全的表现形式恰恰是整个社会发展以及每一个国家政府或技术研究界都必须回答的一些问题。这也是作为任何一种集体安全都要研究的,作为一种科学理论需要回答的。比如在网络化的社会里而如何谋求到公共的安全、合作的安全、综合的安全、相互依存的安全。现在信息安全是事关信息化社会的安全,所以它是个集体的安全,它绝不是指某一个具体的安全。我们下面所谈的、社会上谈的都是企业的安全,做个防火墙就完了。安全产业的发展因为缺乏理论的引导,几大件做完就感到没什么做头了。坦率地讲,从通信保密、信息安全、系统安全以后,在网络化社会的安全阶段,技术仅仅是微乎其微的一个因素,它是状误况、风险和成本的综合体。到目前为止,国内对这种信息安全理论的思索基本上还没有,还只是在实践的层面上徘徊。尽管国际上也在提这个问题,但即便是美国商界也缺乏这个东西,这是个全球性的问题。

微观的实践突不破原来的那些个理论。对于信息安全为什么变成了信息安全保障的问题,这是一个很大的理论转变,但很多人没回答清楚。信息安全的经济模型是什么,社会模型是什么,做理论研究就要把它的相互关系讲清楚,就像社会学把人当作社会的人,经济学把人当作经济的人一样,当前的信息安全一定要把安全和社会紧密结合,把它放在一个集体安全的范围去考虑。保障是一种集体化行为,是一种社会化行为,所以现在的信息安全绝不是单纯的技术行为,否则就很难适应现实的需要,也很难有所突破和超越。现在理论界是急需做这方面探索的时候了。

理论之树长青

信息安全的理论问题是一个形而上学的问题,研究者既需要有科学发展的战略眼光,也需要有沉湎于科学研究的踏实态度。

现在信息安全正在经历一个重要的发展时期,大量的信息安全实践为理论研究提供了丰富和充足的素材,为信息安全理论研究创造了实现创新的前提条件。人们期待着信息安全理论能够在此基础上实现突破,能够走出理论滞后于实践、理论脱离实践的误区,引导信息安全走向健康和可持续的发展的轨道。马克思曾经说过:“理论一经掌握群众,也会变成物质力量。理论只要说服人,就能掌握群众;理论只要彻底,就能说服人。”纵观西方科学发展历程,由于理论研究推动和促进技术和社会发展的例子不胜枚举。19世纪中叶,英国的亚当斯和法国的勒威耶通过天体力学知识和天文观测资料,成功地推算了出了太阳系中的第八颗行星――海王星的轨道、质量和当时的位置。依据这一推算,柏林天文台的人员用望远镜只用了30分钟就发现了这一新的行星。为此,人们把这颗行星称之为从笔尖上发现的行星,并称这一发现是“各次行星的发现中最为辉煌的一次”,因为过去所有行星的发现还都是通过肉眼在茫茫太空中漫无边际的探索中偶然所得。

如果我们的信息安全界在理论上不能创新,只怕也会像在无边的太空中搜寻新星一样积效甚微。为此,我们的理论界有责任和义务承担起时代赋予的重任。让信息安全的理论之树长青,使信息安全大厦能够经得起未来狂风巨浪的冲击。

早在两百年前思想家歌德就曾说过:――由于理论自身的艰深和枯燥,研究它的人若非出于喜爱,且耐得住寂寞。痛下苦功,鲜有蹶然而成气候的。早期的通信保密和信息安全理论研究因为特殊的时代背景,很少对外公布,很多人的工作终其一生也不为人们所知。现在的情况与过去相比,发生了巨大的变化。信息交换已从特殊部门的需要迅速扩展为一种社会化的需要,信息安全的功能也随之面目一新。而且令人始料不及的是,由于现代社会信息技术已成为时代宠儿,信息安全也自然而然地与大行其道的IT业一样承载着时代的辉煌和荣耀。就连那些过去习惯于隐姓埋名的信息安全专家们,也被各种信息安全会议纠缠不休,不仅大受尊宠,而且应接不暇。

现在的问题早已不再是信息安全如何受到重视的问题,而是在它表面繁荣的掩盖下,存在着哪些危机,这些危机在多大程度上将阻碍信息安全的发展。我们曾经探讨过信息安全产业存在的问题。在目前的市场上,企业做来做去还是那几样东西,且有数据表明,现在的威胁不但未减还呈上升的趋势。不见树木?在接下来的时间里企业究竟该如何发展,存在着很多的困惑。很显然,理论上的苍白,必然带来实践上的盲目。信息安全理论和实践这一哲学范畴目前存在着尖锐的矛盾冲突。

这么多年来,我们的信息安全可以说一直是在实践当中探索,很少触及到信息安全理论问题。这是因为信息安全本身所面临的问题都是从现实中产生出来的问题,而在高速发展的社会环境下,大家来不及做深入的理论思考,只好通过实践来探索,按照头痛医头、脚痛医脚的模式,采用技术的方法来解决安全问题。这种实践有两个来源,一是我们自己的传统,即原来的通信保密,另一个是国外的来源,即把国外的一些东西拿过来套用。可以说,目前的实践已大大超前于理论发展的速度,从而形成严重的倒位。

正是因为信息安全本身的问题发生了显著变化,原有的理论难以给出满意的回答,在这种情况下,发展了的信息安全理论需要就显得尤为重要和迫切。托马斯-库恩在科学革命的范式中说得很清楚:新的理论能否出来,一定要有实践变化的促因。实践的变化必然引出新理论。那么这些理论需要而且必须回答的核心的问题实际上是三个问题:什么是安全?谁的安全?如何提供安全?

计算机网络安全与防火墙技术

归类于: 学术论文 - 19 Nov 2008

计算机网络安全与防火墙技术
学号:19908064
姓名:李春华
摘 要 防火墙技术的核心思想是在不安全的网际网环境中构造一个相对安全的子网环境. 本文介绍了防火墙技术的基本概念和系统结构,讨论了实现防火墙的两种主要技术手段:一种是基于分组过滤技术(Packet filtering),它的代表是在筛选路由器上实现的防火墙功能;一种是基于代理技术(Proxy),它的代表是在应用层网关上实现的防火墙功能.

关键词 网络安全,防火墙,分组过滤,代理,堡垒主机

一 防火墙的概念与构成

 所谓防火墙就是一个或一组网络设备(计算机或路由器等),可用来在两个或多个网络间加强访问控制. 它的实现有好多种形式,有些实现还是很复杂的,但基本原理原理却很简单. 你可以把它想象成一对开关, 一个开关用来阻止传输, 另一个开关用来允许传输.

 设立防火墙的主要目的是保护一个网络不受来自另一个网络的攻击. 通常,被保护的网络属于我们自己,或者是我们负责管理的,而所要防备的网络则是一个外部的网络,该网络是不可信赖的,因为可能有人会从该网络上对我们的网络发起攻击,破坏网络安全. 对网络的保护包括下列工作:拒绝未经授权的用户访问,阻止未经授权的用户存取敏感数据,同时允许合法用户不受妨碍地访问网络资源.

不同的防火墙侧重点不同. 从某种意义上来说,防火墙实际上代表了一个网络的访问原则. 如果某个网络决定设定防火墙,那么首先需要由网络决策人员及网络专家共同决定本网络的安全策略(security policy),即确定那些类型的信息允许通过防火墙,那些类型的信息不允许通过防火墙. 防火墙的职责就是根据本单位的安全策略,对外部网络与内部网络交流的数据进行检查,符合的予以放行,不符合的拒之门外.

  在设计防火墙时,除了安全策略以外,还要确定防火墙类型和拓扑结构. 一般来说,防火墙被设置在可信赖的内部网络和不可信赖的外部网络之间. 防火墙相当于一个控流器,可用来监视或拒绝应用层的通信业务, 防火墙也可以在网络层和传输层运行,在这种情况下,防火墙检查进入和离去的报文分组的IP和TCP头部,根据预先设计的报文分组过滤规则来拒绝或允许报文分组通过.

防火墙是用来实现一个组织机构的网络安全措施的主要设备. 在许多情况下需要采用验证安全和增强私有性技术来加强网络的安全或实现网络方面的安全措施. 本文主要介绍下列防火墙的基本构件和技术:筛选路由器(screening router)、分组过滤(packet filtering)技术、双宿主机(dual-homed host)、代理服务 (Proxy Service)、应用层网关(application level gateway)和堡垒主机(bastion host). 象筛选路由器这样的能够实现安全措施的路由器常常被称为安全路由器或安全网关,而实现安全管理的应用层网关又称为安全应用层网关.

二 防火墙的基本构件和技术

2.1筛选路由器 (Screening Router)

许多路由器产品都具有根据给定规则对报文分组进行筛选的功能,这些规则包括协议的类型、特定协议类型的源地址和目的地址字段以及作为协议一部分的控制字段. …

2008-11-18

分布式系统的安全

归类于: 学术论文 - 18 Nov 2008

分布式系统的安全
黄峰 19980010
分布式系统的很重要的一个方面就是它的安全。从某种意义上说,安全是分布式系统的最重要的一个方面。但是给一个分布环境提供安全是非常困难的。分布式系统的安全和传统的计算环境的安全的最大的不同是,在分布环境下,很难确定你所要保护的边界。在传统的分时系统中,终端即代表着边界,为了能够进入系统,用户必须先登陆,提供帐号及口令,但是系统的物理部件,比如硬盘、CPU、内存,这些都不是安全边界。分布式系统好象是一个物理上分开的分时系统。比如把硬盘和CPU分开,它们之间通过不能信任的接口连接,通过接口,一个恶意的用户可以访问及篡改所有信息。

非连接的局域网
很多系统是建立在非连接的局域网上的,即:这个网络在物理上只对有限个人员开放,通常是一个组织的成员。很显然,非连接的局域网和那些不是非连接的局域网相比,在安全方面要考虑的问题要少得多,因为和那些不是非连接的局域网相比,潜在的威胁要少很多。对于非连接的局域网而言,最大的威胁就来自于那些组织成员内部。因为只有这些人可以在物理上访问网络,所以只有这些人才能对网络构成威胁。但是这些来自于内部人的威胁是最难防范的。正所谓家贼难防。在大多数情况下,他们对系统究竟是怎么工作的了解得非常清楚,当然他们对系统的弱点也了解得非常清楚。

非连接的网络的的一个潜在的很大的威胁是,这个网络在大家都不知道的情况下已经和外部连上了!你可以认为你的局域网是安全的,以为这个网络只连了你们工作组的几台计算机,而这些计算机都属于可以信赖的人的。但是在谁都不知道的情况下,某个人在某台计算机上上安置了一个调制解调器。这时,这个网络就变得不安全了。

和外部连接的局域网
这些局域网和一些不受该组织控制的其他的网络相连。和非连接的局域网相比,一个主要的不同是,这个网络面临的潜在的威胁要大得多。除了要面对来自于内部人员的威胁以外,还要面对那些通过网际互连可以访问该网络的外部人员的威胁。

和外部连接的局域网可以分为两类,一类是全连接的局域网。这个局域网和外部网络有无缝接口。还有一类是部分连接的局域网。这种网络可以在外部进行访问,但是得通过这个组织自己定义的技术和方法,而这种技术和局域网的流行的技术不相同。一个简单的例子是上面所提到的。某个人通过一台机器上的调制解调器访问一个非连接的网络,结果就造成了一个部分连接的局域网。这个连接之所以是部分连接,是因为通过调制解调器访问该网络,本身就蕴涵了是通过电话线来访问的,这个手段本身就可能包含了对访问该网络的某些权限限制。

对于和外部连接的局域网而言,最大的威胁是它可能遭受来自于世界上任何一个地方的威胁。在互连网上没有警察,也没有法律规定人们究竟可以访问那些资源。

分布式系统的网络安全策略
1. 防火墙
一个最常用的网络安全技术就是使用防火墙.建造一个防火墙就是在连接该局域网和外部网络的路由器上建立包过滤。只有那些符合规定的包才能从防火墙里边传到防火墙外边。

防火墙的关键就是在端口之间进行访问控制.比如一个路由器可以被设置成把所有从外边过来的试图通过端口23来访问的包都丢弃掉.这样干可以有效的关掉外进来的TELNET。大部分的路由器供应商都支持网络管理员建立一张关于允许访问和不允许访问的端口号表。有些甚至允许你为每个用户或者子网建立端口过滤,允许网络管理员在更细的粒度上进行访问控制,使用防火墙的一个很大的好处是网络管理员做到可以不用去访问组织内的每个用户的计算机就提高系统的安全性。换句话来说,组织内的用户可以随意配置他们的计算机,防火墙可以保护他们。

不管怎么说,防火墙应该给用户以足够的自由,但是最好的防火墙和使网络不可访问是同义词。和网络连接本身就有不安全性,那么一个组织为什么还要和网络相连呢?因为安全并不是最主要的。通过网络和外部世界相连的一个主要原因就是使得信息交流变得更容易。如果防火墙使得他们不能达到这个目的的话,他们就不会使用防火墙。

防火墙的配置是非常重要的。你必须得保证网络支持的协议能够通过防火墙。尤其是使得使用和TCP的端口53的域名系统协议(Domain Name System protocal )能够通过防火墙。否则的话,组织内部的机器就不能解析防火墙外的机器的名字。同样的,如果你想让防火墙内外的机器能够通讯的话,你也得保证防火墙外的机器能够访问相应的DNS服务器,这样他们才能解析防火墙内的主机地址。

实现防火墙的一个通常的办法是拒绝绝大部分的从防火墙外发起的到防火墙内的机器的连接。当然啦,特定的机器除外,这种机器是被保证是严格安全的。

必须严格限制从防火墙内发起的到防火墙外的连接,必须对这种连接特别小心。你必须明白谁会对你构成威胁,以及什么会对你构成威胁。禁止从内部发起的连接即意味着你连接到的主机可能就是潜在的威胁。当然啦,如果防火墙允许任何协议通过的话,一个恶意的内部人员很容易攻破防火墙。

防火墙的另外一个成本是机会成本。因为大部分防火墙通常只允许特定的协议通过,一般是电子邮件。而其他的协议则一律不允许通过。这就使得公司的员工不能访问一些新的,有潜在价值的网络。这会使得网络不能得到很好的利用

应用网关(Application Gateways)
网关经常和防火墙联合起来使用。基本思想是用防火墙把大部分送往指定应用网关的包阻塞住。举个例子,如果电子邮件不是能够毫无阻碍的到达每台主机,而是只能到达某个特定的主机,这样的话,这台机器就能被设置成能够为整个组织收发电子邮件.同样的,只有一台特定的机器开放TELNET服务(这台机器是安全管理的).只有登录到这台机器上以后,你才能访问防火墙内的其他机器。

应用网关可以被用来处理电子邮件,远程登录,及文件传输.大部分情况,仅仅是要正确配置一些软件.
总的来说,防火墙和网关联合起来的话,可以提供某种程度上的安全.即使这个局域网运行在不安全的网上,只要网络管理员对局域网的安全负责的话,即使他不能为每台机器进行合理的配置,这个网络还是安全的。不过得记住,防火墙和网关结合并不是完美的.大部分的网络管理员应该对1988的蠕虫还记忆犹新.它即使是在今天,它还是能够轻而易举的越过大部分的防火墙.

虚拟私人网络(Virtual Private Networks)
有一些组织上网只是为了和在其他地方的其他部门进行通讯,而对Internet上的其他大部分组织不感兴趣。对于这种情况,在Internet上建立自己的虚拟私人网络是一个安全的策略。我们可以通过把防火墙设置成只允许防火墙内的机器和防火墙外的特定的一些系统(通常是一些路由器)之间进行通讯。通过这些路由器,虚拟链接就形成了。虚拟链接可以被看成是不同部门之间为了通讯而特意租了一条电路.和真正的虚电路不一样,在这里数据是被封装在IP包中,然后被发送到特定的路由器.通过这种手段来保护数据的安全。

总之,我们需要记住一点,安全不是绝对的。我们很容易就建造世界上最安全的计算机,但是它却什么都不能干!在很多情况下,安全需求必须和系统的其他设计目标之间做妥协,比如说性能和用户界面的友好等等。还有一个很重要的就是你必须得考虑为了达到所要求的安全,你所需要花费的钱和个人的精力。

我们还必须了解被保护的信息的价值和组织这些信息的花费。为了提供安全,得付出代价。我们必须要衡量我们为提供安全所付出的代价究竟值还是不值。我们不能为了保护一些不值钱的东西而建造一个非常昂贵的大门。

安全E-mail标准的比较与分析

归类于: 学术论文 - 18 Nov 2008

19808034 吴琼
【摘要】基于E-mail在Internet上的广泛应用,其安全性摆在一个重要的议题上。目前E-mail标准,包括官方的标准和事实上的标准,有MOSS、PEM、PGP、PGP/MIME和S/MIME等等,本文试从算法、信息格式、认证格式、信任管理四个角度对它们进行比较与分析,得出其特点,并给出了使用的建议。

【关键词】安全E-mail、MOSS、PEM、PGP、PGP/MIME、S/MIME

一、简介
E-mail可以说是Internet是最早的也是使用得最多的一种应用。为了保证E-mail在Internet上安全的运行,在理想的状态下,应该共有一个Internet E-mail的安全标准。所有的E-mail作者和厂商都要执行它,那么我们在Internet上将具有安全的电子邮件。本文将介绍现在常用的一些E-mail标准,包括官方的标准和事实上的标准,其中比较详细的介绍了MOSS、PEM、PGP、PGP/MIME和S/MIME,并对其进行比较与分析。其中MIME对象安全服务(MOSS)和保密增强邮件(PEM)是没有被广泛实现的标准。现在许多软件厂商都使用S/MIME作为安全E-mail的标准。S/MIME是在PEM的基础上建立起来的,但是它发展的方向与MOSS不同。它选择使用RSA的PKCS#7标准同MIME一起使用来保密所有的Internet E-mail信息。S/MIME的标准化工作是由一个由RSA数据安全组织协调的工业联合会进行的。PGP既是一个特定的安全E-mail应用,又是一个安全E-mail标准。尽管标准委员会并没有规定它是安全E-mail的标准,但PGP在全球的广泛应用已经使它成为一个事实上的标准。PGP对非商业的用户是免费的,它已经有了许多平台和操作系统的实现。

我们将安全的E-mail分为四个角度分析:(1)算法,(2)信息格式,(3)认证格式, (4)信任管理。本文详细比较了以上各种E-mail安全标准在这四个方面的不同表现,并对与这四个方面相关的标准进行了讨论。之所以选择这个方面进行介绍是因为这四个方面能够准确的反映出这些E-mail安全标准的本质特点,因此最能比较出它们的异同。
在讨论在这四个部分之前,简要描述一下安全的E-mail软件通常提供的服务是很有帮助的:

.保密/加密──保证只有希望的接收方能够阅读信息。
.信息完整性──保证发出的信息与接收到的完全一样,一个字符一个比特都不差。要说明的是发送一条信息并保证其完整性并不一定需要加密。
.验证──保证信息的发起者不是冒名顶替的。它同信息完整性一起可防止伪造。
.抗否认──证实发送者确实发送了信息而不管他是否承认。

二、安全E-mail的四个方面
1.算法
算法是任何一种密码系统的核心。使用什么样的算法直接关系到一个加密系统的强弱。所有的E-mail安全标准都使用两类加密算法,即秘密密钥算法和公开密钥算法。使用公钥算法是非常必要的因为秘密密钥的密钥分发几乎不可跟踪。要同100个使用秘密密钥算法的人进行通信,你将需要秘密的分发100个秘密密钥。然而与秘密密钥算法相比,公开密钥算法是很慢的。因此,对E-mail数据的加密大多使用秘密密钥。

公开密钥密码也可以用于对信息进行数字签名,但是这也会带来速度慢的问题。一个弥补办法是引进第三种算法,消息文摘算法。这个算法将待签名的数据的长度减少到一个非常短的长度,通常是128比特。

.算法安全
没有一种算法能够保证绝对的安全和不可破译。但是并不意味着密码算法的作用无足轻重。越来越多的事实促使密码人员相信我们现在使用的最安全的算法实际上是非常安全的。然而,公开一个算法(尤其是一个新的算法)的全部细节并被人们广泛理解是非常重要的,只有这样它的可靠性才能得到广泛验证。发明新的算法并且将其推广使用是可能的,但通常要在这种算法的安全性得到广泛证明后的若干年后才能被广泛接受。

.交互操作性
为了邮件能够安全的在Internet上进行传输,收发邮件的双方最好都使用同一种算法。如果双方使用不同的算法会带来交互操作性的问题,这会大大限制E-mail的的应用。

比如说甲使用RSA算法而乙使用椭园曲线算法。甲具有一个RSA密钥,乙具有一个椭园曲线密钥。那么很显然甲乙两人都必须要拥有两个密钥并且要具有能够实现这两种算法的软件,这样就不能充分享受网络给人们带来的好处。

要解决交互操作性的问题,必须为Internet E-mail安全标准选择一种通用的算法并使之标准化,但这是一件很困难的事情,因为许多算法都是专利的,它们的使用会受到非常严格的限制。

PEM确定使用的算法包括RSA、DES和MD-5。MOSS对算法没有特别的要求,它可以使用许多不同的算法,该标准没有推荐特定的算法。

S/MIME的信息格式(主要是PKCS#7)并不限制S/MIME只能使用某些特定的算法,但是S/MIME 96b实现指南给出了有关的推荐和限制。这种作法是比较好的,因为它既提供了现在实现交互操作性的指南又提供了将来的选择方案。该指南允许使用RSA算法、DES、RC-2、RC-3、RC-5、MD-5和SHA-1并且给出了建议的密钥长度。不过由于RSA、RC-2、RC-5算法都是RSA取得的专利,因此这可能会限制它的可用性。

S/MIME还提供了一种方法在发送每条信息时指示用户有哪些算法是可用的。这样收发安全E-mail的双方就可以协调使用最强的算法。

PGP使用RSA公开密钥算法来进行签名和加密。此外它还使用IDEA秘密密钥算法和MD-5消息文摘算法。因为PGP使用的都是著名的算法并且使用了较长的密钥,因此它是非常安全的,并不逊于任何通用的商业加密系统。
同绝大多数标准一样,认证和信息格式并不仅局限于某些特定的算法,但是对算法进行修改将会产生一些交互操作性问题。PGP公司正考虑放弃RSA算法转而使用Diffie Hellman和El Gamal算法来用于加密和签名,主要是因为这两种算法不久将不再受到美国专利的限制。

【建议】你的E-mail安全系统使用的算法使用那些已经被人们所熟知并且被认为是安全的。一种算法的设计上是非常复杂的,因此不能贸然使用那些未经检验的新算法。不仅选择一种合适的密码算法是一件比较困难的事情,而且还要选择这种算法的高质量的实现。在使用一个E-mail安全软件前,要确信它已经被一个可信的组织或个人很好的实现过。

选用那些标准化的算法,以增强交互性。毕竟在向小组外的人员发送E-mail时,E-mail安全算法的标准化将成为一个主要的问题,因为不同的算法之间往往是不能交互操作的。

2.信息格式
本文我们不对安全E-mail的信息格式进行详细的描述,而是把重点放在信息格式可能带来的几个问题上。各个加密标准之间最大的不同就在于信息格式。不同的安全E-mail标准都使用不同的信息格式,而它们又是互不兼容的。将来出现能够处理多种标准的信息格式的软件是可能的,但从定义上讲,它们是不兼容的。

.明文与MIME
最初的Internet E-mail的内容只包括明文。有了MIME标准后,就允许E-mail信息被分成多个部分和结构,并在E-mail中携带各个部分的类型信息,也开始可以携带非明文数据。最经常使用的就是携带各种附加文档,MIME允许携带国际字符集、HTML、音频、语音邮件、图象、多媒体等。

老一些的E-mail安全标准,如PEM和传统的PGP等,主要是设计用来处理明文的,因此不能携带MIME形式的邮件信息。为了满足E-mail发展的需要,人们又开出了一些新的标准如MOSS、S/MIME和PGP/MIME等来传送MIME形式的E-mail邮件信息。一些老一些的加密标准如PGP也能够保护磁盘上的单个文件。这些需要保密的文件可以作为附加文档进行传送,这样就将E-mail保密的范围扩大到不仅仅包括明文信息。然而它并不能保密信息的总体结构或附加文档,也不大可能无缝的同E-mail软件集成。

.E-mail软件集成
不同的标准在E-mail软件和安全软件的集成度上有很大的差别。在最糟糕的情况下,用户需要通过手工的裁减和沾帖或通过文件控制来提供两者的集成。在最理想的情况下,集成对用户来讲实际上是无缝的。它们能够发文件、回信并且就象处理其它的明文信息一样处理保密的信息。如果E-mail软件为这种集成提供了一个专门的接口,那么就很容易实现E-mail软件与安全软件的集成,当然也可以在E-mail软件中直接内置安全特性。

.清洁签名
清洁签名不需对信息进行加密就可保证其完整性和真实性。如,对政府官员发出的公开声明进行清洁签名将是非常吸引人的。对信息进行清洁签名的另一个非常吸引人的地方就是它可以被不具有安全E-mail软件和与安全E-mail软件使用的信息格式不符的用户读取。这可以使用户在即使无法验证的情况下也可以查看信息。当然这里不包括加密的情况,因为接收方没有办法在不具有相应的解密软件的情况下阅读加密的信息。

现在很难找到一种能够与同老一些的邮件程序、现有的MIME邮件程序和跨网关非MIME邮件程序都兼容的信息格式。对于明文信息来讲问题很简单,因为明文在所有的E-mail系统中都有很好的交互操作性。而对于MIME来讲,问题就要困难一些。

RFC 1847描述了专门为清洁签名MIME而设计的多部分/签名信息格式。尽管这种格式用在一些标准会产生其它的一些问题,但MOSS、PGP/MIME和S/MIME都使用这种格式。使用标准的MIME邮件程序接收一个RFC 1847格式的签名信息的用户将能够查看信息的全部MIME内容。如果具有很好集成的安全E-mail特性,他们将能够验证签名。
这似乎是很理想的,但是当安全特性集成得不好时问题就发生了。绝大部分E-mail软件并不具有内置的安全机制,也没有提供良好的安全集成所需的设备。从网关转到非MIME环境时也会产生其它的问题。在这两种情况下,接收方可以象通常一样查看信息,但是他们不可能去验证签名。即使具有能够对只包括文本的信息进行清洁签名的E-mail软件,也不可能去验证MIME信息。

S/MIME使用一种可以部分解决这个问题的信息格式,即signedData。业界提出的另一个方案涉及到围绕RFC 1847结构的叫“应用/mime”的MIME包裹。它通常可通过网关发将邮件送到特定的安全实现那里。这样的清洁签名后的信息可以被非MIME邮件程序和一些MIME邮件程序查看。

PEM选择了一个只能够保密文本信息的非常简单的信息格式,部分原因是因为MIME标准在当时还并不完善。MOSS是专门设计用来保密一条信息的全部MIME结构的。尽管MOSS并没有被广泛的使用,但我们前面在信息格式部分描述的安全多部分框架特别是清洁签名MIME E-mail却被广泛的采用。

S/MIME能很好的保密全部的MIME信息。被发送的保密信息也使用MIME进行标记和打包,使它们易于被绝大部分MIME E-mail软件识别和处理。在前面信息格式部分提到的E-mail软件的集成问题都适用于S/MIME。用户应该确保S/MIME实现能够同E-mail软件很好的集成起来。

除了使用多部分/签名的清洁签名格式外,S/MIME还提供了一个称为signedData的清洁签名格式。然而如果用户没有相应的S/MIME软件,那么它们几乎不可能解读安全E-mail信息。这些安全E-mail并没有加密,只是仅仅以一种不能被绝大部分现在的E-mail软件所理解的方式进行了格式化处理。现在要求S/MIME实现支持signedData格式,鼓励它支持多部分/签名格式。

PGP是设计用来保密文本和存储在磁盘上的文件的,它并不能用来保密MIME。它用于E-mail主要有两种工作方式。一种是文件在用户的硬盘上进行加密然后被作为保密的附加文档发送。另一种是信息的文本内容被加密。在同一条信息中使用这两种加密方式是可能的,但这样并不能保护附加文档的顺序或信息的总体结构。
就象S/MIME将PKCS#7与MIME结合起来一样,PGP/MIME将PGP和MIME标准的功能结合起来。这样PGP/MIME就能够保密带附加文档、国际字符集和多媒体的E-mail。PGP/MIME使用与传统的PGP完全一样的算法、认证格式和信任管理。它们的不同之处只体现在信息格式上。

PGP/MIME的信息格式与S/MIME类似,只有一个显著的不同是后向兼容性。PGP被广泛用来保密文本内容尤其是用于文本内容的清洁签名。用于清洁签名的PGP/MIME格式与传统的PGP不能后向兼容。传统的PGP通常是在在签名后的文本末尾增加签名,而PGP/MIME是在文本和签名之间插入MIME结构。PGP/MIME现在尚未被广泛采用。
【建议】如果E-mail的内容只包括明文,那么老一些的信息格式是可以接受的,问题是现在Internet E-mail携带的内容已经远远超过了明文的范畴,因此E-mail用户应该具有能够处理MIME的E-mail软件。

当选择安全的E-mail软件来保护MIME E-mail时,要确信它真正遵从它实现的特定标准,并且要检查它的集成程度。这可以通过测试它保护附加文档和其它的结构化媒体如HTML和图象的能力来进行判别。集成的程度可通过观察对信息进行加密和签名、接收保密的E-mail和使用它来完成基本的任务的难易程度来测试,这些基本的任务可能包括打开附加文档、回信、发送文件或检索等。

如果公共邮件的清洁签名对你很重要,那么就应该确保你的安全E-mail软件支持用于清洁签名的RFC 1847多部分/签名格式。如果你想对发送的每一条信息都进行签名或者你同一个部分成员使用的安全E-mail信息格式与你不同的小组定期通信时清洁签名都是很重要的。如果要求清洁签名过的信息可以让所有的接收方进行验证,就应该考虑另外的格式如S/MIME signedData或应用/mime包裹等。

3.认证
数字认证的功能类似于一个ID卡,它可以用来保护E-mail用户的文件和数据结构。它作为信任的传输者,将用户的公钥和身份联系起来。一个认包括三个部分:用户的公钥;身份信息如用户的姓名、地址等;一个安全地将认证的所有部分联系起来的签名。签名使用密码算法进行计算,这可以防止非法窜改。当向某人发送E-mail时,发送者使用来自认证的密钥去对其加密。当接收E-mail时,接收者使用验证的密钥来验证签名者的身份。

通常情况下认证是公开出版的,这可以容易将保密E-mail发给它们的接收者。认证通常不包括需要保持为秘密的信息。一些保密E-mail软件允许用户为他们邮件的每个接收者收集一个大的认证集合。其它的软件在每次发送信息时恢复接收方的密钥是可能的。

认证通常也携带代表发送者的其它信息,包括发送者的姓名、一个描述发送者已经认证了什么的说明和一个序列号。它们也可能携带有效日期和网络地址,发送者可能要同这个地址进行联系以验证认证是否被取消。

.PGP密钥
PGP密钥就是指PGP使用的认证格式。一个PGP密钥总是由端用户创建而并不需要发放机构。拥有者请求朋友使用他们的签名来证明自己是密钥的真正拥有者。

PGP的一个最大特点就是它能够被不止一个人签名,每个签名者可以表明附加到他/她的签名中的信任程度。这使得信任可以从对一个密钥的多个签名中计算出来。一个PGP密钥总共可以附加数十个签名。

一个PGP密钥还拥有一串独特的数字和字符,它们的作用类似于指纹。这些数字和字符串长度很短,因此可以记录下来或通过电话告诉对方。如果你想验证一个朋友的密钥,你可以给他们打电话并且请求他们去确认密钥的指纹。使用认证而不是PGP的实现有时也使用这种指纹方法。

.X.509认证
X.509是由ISO/CCITT标准机构创建的认证标准。这些认证比PGP密钥丰富得多,它能携带更多的信息。X.509最新的版本是X.509 v3,它具有一个能够添加发送者希望的任何信息的扩展机制。X.509认证只能够被签名者签名一次,这是与PGP密钥不一样的。X.509认证现在被政府机构、公共认证机构、组织和个人广泛使用。

.认证交互操作性
目前流行的PGP实现只有一种,因此所有的PGP密钥都是可交互操作的。然而如果将来有了设计用来扩展PGP功能的各种实现,这个情况可能就会发生变化。

X.509认证大部分是可交互操作的,因此几乎所有的实现都能够识别另一个X.509认证。当一个认证使用某个特定的实现无法理解的扩展时问题就产生了。比如当一个具有有效期的认证被一个不能理解有效期的实现接收时就会产生这样的问题。

为了解决这个问题,人们就定义了一个交互操作性模型,这个模型清楚地确定了一个认证中使用了哪些域。交互操作性模型通常是一个特定标准的一部分。

PEM采用一种简单的认证方法并使用X.509 v1标准。由于我们前面讲述的原因,它有时会出现一些问题。MOSS为认证选择了一种更通用的方法,它既支持自己的非常简单的格式也支持X.509。

S/MIME使用X.509 v1认证格式。实现指南中指出了如何在Internet E-mail地址和X.509需要的识别名之间进行映射,但是没有作出具体要求,因为不可能这样的一个映射方案可以在任何环境中都适用。

对PGP的认证被称为一个“PGP密钥”并且它是一个只被PGP使用的信息格式。PGP密钥很简单,它通常包括拥有者的姓名和公开密钥。它的最大特点是它们能够被多次签名。PGP公司已经表示在未来的版本中将使用X.509认证。

【建议】既然签名格式和实现各不相同,考虑它能够携带的信任信息的类型和它是否能足以保证所需的安全是很重要的。如,一些认证格式不能携带有效日期,一些格式不能携带认证说明,还有的可能不包括足够的能清楚的确认拥有者身份的信息。

发送保密E-mail时用户必须要选择与E-mail接收方相同的认证格式。因为用户必须要能够同接收方交换认证才能接收到对方的保密E-mail。这样用户要想同使用各种安全E-mail标准的用户进行通信可能就需要拥有多种不同格式的认证。

即使人们都使用同样的认证,交互操作性的问题也会照样存在,因为这些认证使用数据的方式总会有差别的。认证交互操作性也会受到算法交互操作性带来的影响,因为每个认证都包括一个特定算法的公开密钥。一个真正安全的E-mail交互操作性只有在认证所使用的特定算法或算法集标准化后才可能获得。

4.信任管理
信任管理要更多的依靠系统使用的组织环境。一个信任系统常常也称为“信任模型”。现在许多企业或公司将公司的标志发放给它的员工就是信任模型的一种例子,这个标志可以表明持有者与该公司或企业是有关系的。这种标志只对企业中和对那些同该企业有关的个人或组织有意义。

信任模型的另一个例子是护照。护照是用来表明一个人是某个国家的公民的一种证据。与普通的公司发放的标志不同的是,一个国家发放的护照一般在世界上任何地方都可以被识别和信任。

信任模型的另外一类例子就是在一圈朋友中产生的信任。如果一个人将另一个人介绍到一圈朋友中,这个行动就表达了该人可以被信任这样一种信息。信任传递的范围是非常有限的,而且信任能够以一种相关的方式进行推移。如,如果甲相信乙,并且乙相信丙,那么甲就可以相信丙。而发放企业标志和护照就不会出现这样的情况。

有了一个护照或标志,信息的安全就包含在一个很难伪造的物理物体中,并且用来签名的数字算法使认证也很难伪造。

.认证机构
一个认证机构(CA)就是一个发放认证的组织。在CA发放认证前,它可能要对申请者的背景或其它的情况进行调查以保证人员或组织的身份。一旦身份被验证后,CA就发放一个认证并对其签名。该认证此时就可被它的拥有者广泛分发。

CA可以是秘密的也可以是公开的。一个秘密的CA可以为一个企业或组织发放认证。CA将认证发放给它的成员,此时它的成员有了这些由CA签名后的认证后就被纳入一个组织的信任系统内。

一个公共CA为一般的公众发放认证,它可以由政府机构建立也可以由私人企业建立。有一些国家如丹表、澳大利亚等国正准备建立一个全国性的公共CA,美国的VeriSign现在拥有一个公共的商业CA机构。

在一圈朋友或两个商业伙伴之间的信任关系中并不存在一个中央的CA。这里个人之间相互验证。这样的信任系统建立起来非常容易,因为不需要一个中央认证机构,当然它是不能伸缩也不可能运行到Internet上的。

.信任链
为了通过认证在大规模的范围内有效的传递信任,需要一些信任分级或信任链。没有一个认证机构可以为全世界提供所有的认证。信任或认证链的基本思想是通信双方决定它们可以在双方都信任的第三方的基础上彼此信任。比如说你可能会具有由不同的CA签名的认证,但是这些CA都信任第三个CA,那么信任链就通过第三个CA连接起来。

.直接信任
人们有可能通过交换认证并通过指纹确认来建立小范围的信任。即使没有指纹确认也有可能建议信任。如果一个用户使用认证成功的同某人交换了安全的E-mail,他就已经建立了一个安全的信道。在用户发送秘密信息前,他可以通过人工方式彼此验证双方的身份。比如说可以彼此讨论过去的一些经历或说一些只有双方才能听懂的话等。一旦已经确认了双方的身份,认证和密码技术将保证在以后双方继续进行通信时有一个安全的信道。认证不必被任何人签名。这种方法的不足是不能用在用户不了解的人身上,而且它将认证管理的责任放在终端用户那里。

PEM标准确定了一个简单而又严格的全球认证分级。所有的CA──不管是公共的、私人的、商业的还是其它的──都是这个分级中的一部分。这种做法会产生许多问题,由于根认证是由单一的机构进行的,但并不是所有的组织都信任这个认证机构。这个结构太严格了,它试图在认证结构分级而不是认证本身中实施认证,因而缺乏足够的灵活性。

S/MIME还从PEM确定的严格分级中吸取了教训。使用X.509认证意味着认证只能够带有一个签名,因此一对一的直接信任可以通过S/MIME来建立。

PGP简单的信任模型和广泛的可用性使它大受欢迎。它的信任模型不需任何服务器、认证机构或集成的设施就可以建立一个小组范围的信任。它将信任的管理完全放到端用户手里。这对许多用户来讲具有很大的吸引力,因为它大大简化了部署操作。

PGP信任模型的作用实际上就相当于把你的一个朋友介绍给你的另一个朋友。PGP密钥可以被几个人分别签名,这与每个认证只允许一个签名的其它的信任系统是不同的。这个多签名会产生一个信任网而不是一个严格的分级。PGP还允许你在对某人的密钥签名时注明你对此人的信任程度。一个想验证PGP密钥的人可能查看所有的签名。具有边界信任的三个人将会象具有完全信任的一个人一样。

这种作法既有有利的一面也有不利的一面。有利的一面是它与人们日常生活中的习惯很相似因此易于被人们理解和使用。不足的地方是它的可伸缩性差。它很适用于较小的组织或团体中的保密E-mail。用户可以在电话中验证彼此的身份然后对各自的PGP密钥进行签名。但如果用户想与一个自己从未遇到过的零售商建立信任的话,这个信任模型就有些无能为力了。PGP还具有几个用于认证有效日期或取消认证的功能,这是对大范围的安全信任是必要的。

三、结论
尽管现在各种安全E-mail标准都还不成熟,但将来各种保密E-mail的标准实现交互操作是有很大希望的。现在使用的算法、认证格式和信任管理系统将来可能会逐步趋于统一。在上面讨论的安全E-mail标准的四个部分中,信息格式是各种不同的标准唯一真正不可能相同的地方,但即使如此,这几种标准都支持多种格式和标准也是有可能的。因此,虽然短期内用户可能会遇到交互操作性的问题,但从长远的观点看,随着用户对交互操作性要求的增加解决这个问题是有可能的。

参考文献
 《E-mail加密标准初探》余志华 中国计算机报9801
 RFC 1847 - Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted
 RFC 2311 - S/MIME Version …

Internet层的安全模型

归类于: 学术论文 - 18 Nov 2008

钱新贤 19708062

对Internet层的安全协议进行标准化的想法早就有了。在过去十年里,已经提出了一些方案。
例如,“安全协议3号(SP3)”就是由美国国家安全局以及标准技术协会作为“安全数据网络系统(SDNS)”的一部分而制订的。
“网络层安全协议(NLSP)”是由国际标准化组织为“无连接网络协议(CLNP)”制订的安全协议标准。
“集成化NLSP(I-NLSP)”是由美国国家科技研究所提出的包括IP和CLNP在内的统一安全机制。
SwIPe是另一个Internet层的安全协议,由Ioannidis和Blaze提出并实现原型。
所有这些提案的共同点多于不同点。事实上,他们用的都是IP封装技术。其本质是,纯文本的包被加密封装在外层的IP报头里,用来对加密的包进行Internet上的路由选择。到达另一端时,外层的IP报头被拆开,报头被解密,然后送到收报地点。
Internet工程特遣组(IETF)已经特许Internet协议安全协议(IPSEC)工作组对IP安全协议(IPSP)和对应的Internet密钥管理协议(IKMP)进行标准化工作。
IPSP的主要目的是使需要安全措施的用户能够使用相应的加密安全体制。该体制不仅能在目前流行的IP(IPv4)下工作,也能在IP的新版本(IPng或IPv6)下工作。该体制应该是与算法无关的,即使加密算法替换了,也不会对其他部分的实现产生影响。此外,该体制必须能实行多种安全策略,但要避免给不使用该体制的人造成不利影响。按照这些要求,IPSEC工作组制定了一个规范:认证头(Authentication Header,AH)和封装安全有效负荷(Encapsulating Security Payload,ESP)。简言之,AH提供IP包的真实性和完整性,ESP提供机要内容。
IP AH指一段消息认证代码(Message Authentication Code,MAC),在发送IP包之前,它已经被事先计算好。发送方用一个加密密钥算出AH,接收方用同一或另一密钥对之进行验证。如果收发双方使用的是单钥体制,那它们就使用同一密钥;如果收发双方使用的是公钥体制,那它们就使用不同的密钥。在后一种情形,AH体制能额外地提供不可否认的服务。事实上,有些在传输中可变的域,如IPv4中的time-to-live域或IPv6中的hop limit域,都是在AH的计算中必须略过不计的。RFC 1828首次规定了加封状态下AH的计算和验证中要采用带密钥的MD5算法。而与此同时,MD5和加封状态都被批评为加密强度太弱,并有替换的方案提出。
IP ESP的基本想法是对整个IP包进行封装,或者只对ESP内上层协议的数据(运输状态)进行封装,并对ESP的绝大部分数据进行加密。在管道状态下,为当前已加密的ESP附加了一个新的IP头(纯文本),它可以用来对IP包在Internet上作路由选择。接收方把这个头取掉,再对ESP进行解密,处理并取掉ESP头,再对原来的IP包或更高层协议的数据就象普通的IP包那样进行处理。RFC 1827中对ESP的格式作了规定,RFC 1829中规定了在密码块连接(CBC)状态下ESP加密和解密要使用数据加密标准(DES)。虽然其他算法和状态也是可以使用的,但一些国家对此类产品的进出口控制也是不能不考虑的因素。有些国家甚至连私用加密都要控制。
AH与ESP体制可以合用,也可以分用。不管怎么用,都逃不脱传输分析的攻击。
很多用户都不太清楚在Internet层上,是否真有经济有效的对抗传输分析的手段,不过,Internet用户里,真正把传输分析当回事儿的也是寥寥无几。
1995年8月,Internet工程领导小组(IESG)批准了有关IPSP的RFC作为Internet标准系列的推荐标准。除RFC 1828和RFC 1829外,还有两个实验性的RFC文件,规定了在AH和ESP体制中,用安全散列算法(SHA)来代替MD5(RFC 1825)和用三元DES代替DES(EFC 1815)。
在最简单的情况下,IPSP用手工来配置密钥。然而,当IPSP大规模发展的时候,就需要在Internet上建立标准化的密钥管理协议。这个密钥管理协议按照IPSP安全条例的要求,指定管理密钥的方法。
因此,IPSP工作组也负责进行Internet密钥管理协议(IKMP),其它若干协议的标准化工作也已经提上日程。其中最重要的有:
 IBM 提出的“标准密钥管理协议(MKMP)”
 Sun 提出的“Internet协议的简单密钥管理(SKIP)”
 Phil Karn 提出的“Photuris密钥管理协议”
 Hugo Krawczik 提出的“安全密钥交换机制(SKEME)”
 NSA 提出的“Internet安全条例及密钥管理协议”
 Hilarie Orman 提出的“OAKLEY密钥决定协议”
需要再次强调指出的是,这些协议草案的相似点多于不同点。除MKMP外,它们都要求一个既存的、完全可操作的公钥基础设施(PKI)。MKMP没有这个要求,因为它假定双方已经共同知道一个主密钥(Master Key),可能是事先手工发布的。SKIP要求Diffie-Hellman证书,其他协议则要求RSA证书。
1996年9月,IPSEC决定采用OAKLEY作为ISAKMP框架下强制推行的密钥管理手段,采用SKIP作为IPv4和IPv6实现时的优先选择。
目前已经有一些厂商实现了合成的ISAKMP / OAKLEY方案。Photuris以及类Photuris协议的基本想法是对每一个会话密钥都采用Diffie-Hellman参数,确保没有“中间人”进行攻击。这种组合最初是由Diffie、Ooschot和Wiener在一个“站对站(STS)”的协议中提出的。Photuris里面又添加了一种所谓的cookie交换,它可以提供“清障(anti-logging)”功能,即防范对服务攻击的否认。
Photuris以及类Photuris的协议由于对每一个会话密钥都采用Diffie-Hellman密钥交换机制,故可提供回传保护(Back-Traffic Protection,BTP)和完整转发安全性(Perfect-Forward Secrecy,PFS)。实质上,这意味着一旦某个攻击这破解了长效私钥,比如Photuris中的RSA密钥或者SKIP中的Diffie-Hellman密钥,所有其他攻击者就可以冒充被破解的密码的拥有者。但是,攻击者却不一定有本事破解该拥有者过去或未来收发的信息。
值得注意的是,SKIP并不提供BTP和PFS。尽管它采用Diffie-Hellman密钥交换机制,但交换的进行是隐含的,就是说,两个实体以证书形式彼此知道对方长效Diffie-Hellman公钥,从而隐含地共享一个主密钥。该主密钥可以导出对分组密钥进行加密的密钥,而分组密钥才真正用来对IP包加密。一旦长效Diffie-Hellman密钥泄露,则任何在该密钥保护下的密钥所保护的相应通信都将被破解。还有,SKIP是无状态的,它不以安全条例为基础。每个IP包可能是个别地进行加密和解密的,归根到底用的是不同的密钥。
SKIP不提供BTP和PFS这件事曾经引起IPSEC工作组内部的批评意见,该协议也曾进行过扩充,试图提供BTP和PFS功能之间的某种折衷。实际上,增加了BTP和PFS功能的SKIP非常类似于Photuris以及类Photuris的协议,唯一的主要区别是SKIP(仍然)需要原来的Diffie-Hellman证书。这一点必须注意:目前在Internet上,RSA证书比其他证书更容易实现和开展业务。
大多数IPSP及其相应的密钥管理协议的实现均基于UNIX系统。任何IPSP的实现都必须跟对应协议栈的源代码纠缠在一起,而这源代码又能在UNIX系统上使用,其原因大概就在于此。但是,如果要想在Internet上更广泛地使用和采纳安全协议,就必须有相应的DOS或Windows版本。而在这些系统上实现Internet层安全协议所直接面临的一个问题就是,PC上相应的实现TCP/IP的公共源代码资源什么也没有。为克服这个困难,Wagner和Bellovin实现了一个IPSEC模块,它象一个设备驱动程序一样工作,完全处于IP层以下。
Internet层安全性的主要优点是它的透明性,也就是说,安全服务的提供不需要应用程序、其他通信层次和网络部件做任何改动。它的最主要的缺点是:Internet层一般对属于不同进程和相应条例的包不作区别。对所有去往同一地址的包,它将按照同样的加密密钥和访问控制策略来处理。这可能导致提供不了所需的功能,也可能会导致性能下降。针对面向主机的密钥分配问题,RFC 1825允许(甚至可以说是推荐)使用面向用户的密钥分配,其中,不同的连接会得到不同的加密密钥。但是,面向用户的密钥分配需要对相应的操作系统内核作比较大的改动。
虽然IPSP的规范已经基本制订完毕,但密钥管理的情况千变万化,要做的工作还很多。尚未引起足够重视的一个重要的问题是在多播(Multicast)环境下的密钥分配问题,例如,在Internet多播骨干网(MBone)或IPv6网中的密钥分配问题。
简言之,Internet层是非常适合提供基于主机对主机的安全服务的。相应的安全协议可以用来在Internet上建立安全的IP通道和虚拟私有网。例如,利用它对IP包的加密和解密功能,可以简捷地强化防火墙系统的防卫能力。事实上,许多厂商已经这样做了。
RSA数据安全公司已经发起了一个倡议,来推进多家防火墙和TCP/IP软件厂商联合开发虚拟私有网。该倡议被称为S-WAN(安全广域网)倡议,其目标是制订和推荐Internet层的安全协议标准。
传输层的安全
在Internet应用程序中,通常使用广义的进程间通信(IPC)机制来与不同层次的安全协议打交道。比较流行的两个IPC编程界面是BSD Sockets和传输层界面(TLI),在UNIX系统V版本里就可以找到它们。
在Internet中提供安全服务的首要想法便是强化它的IPC界面,如BSD Sockets等,具体做法包括双端实体认证、数据加密密钥的交换等。Netscape公司遵循了这个思路,制订了建立在可靠的传输服务(如TCP/IP所提供)基础上的安全套接层协议(SSL)。SSL版本3(SSL …

下一页 »