网络安全 - 应用层

现在通过客户端 - 服务器应用程序在线提供各种商业服务.最流行的形式是Web应用程序和电子邮件.在这两个应用程序中,客户端与指定的服务器通信并获取服务.

在使用来自任何服务器应用程序的服务时,客户端和服务器在底层Intranet或Internet上交换大量信息. .我们意识到这些信息交易容易受到各种攻击.

网络安全需要保护数据免受网络传输过程中的攻击.为了实现这一目标,已经设计了许多实时安全协议.此类协议需要至少提供以下主要目标 :

  • 各方可以交互方式进行协商以进行相互身份验证.

  • 在交换网络信息之前建立一个秘密会话密钥.

  • 以加密形式交换信息.

有趣的是,这些协议适用于不同的网络模型层.例如,S/MIME协议在应用层工作,SSL协议开发用于传输层,IPsec协议在网络层工作.

应用层

在本章中,我们将讨论实现电子邮件通信和相关安全协议安全性的不同过程.随后将介绍用于保护DNS的方法.在后面的章节中,将描述实现Web安全性的协议.

电子邮件安全性

如今,电子邮件已经变得非常广泛二手网络应用.在继续了解电子邮件安全协议之前,让我们简要讨论一下电子邮件基础设施.

电子邮件基础设施

最简单的发送方式电子邮件将直接从发件人的计算机向收件人的计算机发送邮件.在这种情况下,两台机器必须同时在网络上运行.但是,这种设置是不切实际的,因为用户可能偶尔将他们的机器连接到网络.

因此,设置电子邮件服务器的概念到了.在此设置中,邮件将发送到网络上永久可用的邮件服务器.当收件人的计算机连接到网络时,它会从邮件服务器读取邮件.

通常,电子邮件基础结构由一组邮件服务器组成,也称为邮件传输代理(MTA)和运行电子邮件程序的客户端计算机,包括用户代理(UA)和本地MTA.

通常,电子邮件获取从其UA转发,经过MTA网格,最后到达收件人机器上的UA.

E -mail基础设施

用于电子邮件的协议如下 :

  • 用于转发电子邮件的简单邮件传输协议(SMTP).

  • 使用邮局协议(POP)和Internet邮件访问协议(IMAP)从收件人从服务器检索邮件.

MIME

基本的Internet电子邮件斯坦dard写于1982年,它描述了在因特网上交换的电子邮件消息的格式.它主要支持以基本罗马字母书写为文本的电子邮件消息.

到1992年,人们感到有必要改进这一点.因此,定义了另外的标准多用途Internet邮件扩展(MIME).它是基本Internet电子邮件标准的一组扩展. MIME提供了使用基本罗马字母以外的字符发送电子邮件的功能,如西里尔字母(俄语使用),希腊字母,甚至是中文的表意字符.

MIME实现的另一个需求是发送非文本内容,例如图像或视频剪辑.由于这一特性,MIME标准被广泛采用SMTP进行电子邮件通信.

电子邮件安全服务

越来越多地使用e - 重要和关键交易的电子邮件通信需要提供某些基本安全服务,如下所示;

  • 机密性 : 除了目标收件人之外,任何人都不应阅读电子邮件.

  • 身份验证 : 电子邮件收件人可以确定发件人的身份.

  • 诚信 : 向收件人保证电子邮件自发件人传送后未被更改.

  • 不可否认性  : 去;电子邮件收件人能够向第三方证明发件人确实发送了邮件.

  • 提交证明 :  ;电子邮件发件人获得邮件传递给邮件传递系统的确认.

  • 交付证明 : 发件人收到收件人收到邮件的确认.

隐私,身份验证,邮件完整性和不可否认性等安全服务是通常使用公钥加密技术提供.

通常,有三种不同的电子邮件通信方案.我们将在这些场景中讨论实现上述安全服务的方法.

一对一电子邮件

在此方案中,发件人仅向一个收件人发送电子邮件.通常,通信中不会涉及两个MTA.

一对一电子邮件

假设发件人想要向收件人发送机密电子邮件.在这种情况下提供隐私是通过以下方式实现的:<

  • 发件人和收件人的私人 - 公共密钥为(S PVT ,S PUB )和(R PVT ,R PUB ).

  • 发件人生成一个秘密对称密钥,K S 进行加密.虽然发件人可以使用R PUB 进行加密,但使用对称密钥来实现更快的加密和解密.

  • 发件人使用密钥K S 加密消息,并使用收件人的公钥R PUB 加密K S .

  • 发件人将加密邮件和加密的K S 发送给收件人.

  • 收件人首先通过使用他的私钥R PVT 解密编码的K S 来获得K S .

  • 然后,收件人使用对称密钥K S 解密邮件.

机密电子邮件

如果在此方案中还需要邮件完整性,身份验证和不可否认服务,请执行以下操作步骤将添加到上述过程中.

  • 发件人生成消息和数字的哈希值ally使用他的私钥S PVT 签署此哈希.

  • 发件人将此签名哈希与其他组件一起发送给收件人.

消息完整性认证和不可否认

  • 收件人使用公钥S PUB 并提取在发件人签名下收到的哈希值.

  • 然后,收件人对已解密的消息进行哈希处理,然后比较两个哈希值.如果它们匹配,则认为实现了消息完整性.

  • 此外,收件人确定邮件是由发件人发送的(身份验证).最后,发件人不能否认他没有发送消息(不可否认).

一对多收件人E -mail

在此方案中,发件人向两个或多个收件人发送电子邮件.该列表由发件人的电子邮件程序(UA +本地MTA)管理.所有收件人都会收到相同的消息.

一对多收件人电子邮件

我们假设,发件人想要向许多收件人发送机密电子邮件(比如R1,R2和R3).在这种情况下提供隐私是通过以下方式实现的;

  • 发件人和所有收件人都拥有自己的私人对-public keys.

  • 发件人生成一个秘密对称密钥,K s 并使用此密钥加密邮件.

  • 发件人然后使用R1,R2和R3的公钥多次加密K S ,得到R1 PUB (K S ),R2 PUB (K S )和R3 PUB (K S ).

  • 发件人将加密邮件和相应的加密K S 发送给收件人.例如,收件人1(R1)接收加密邮件,R1 PUB (K S ).

  • 每个收件人首先通过使用他的私钥解密编码的K S 来提取密钥K S .

  • 然后,每个收件人使用对称密钥K S 解密邮件.

为了提供邮件完整性,身份验证和不可否认性,要遵循的步骤类似于上面在一对一电子邮件方案中提到的步骤.

一对一分发列表电子邮件

在此方案中,发件人向两个或多个收件人发送电子邮件,但发件人不会在本地管理收件人列表.通常,电子邮件服务器(MTA)维护邮件列表.

发件人向管理邮件列表的MTA发送邮件,然后邮件由MTA分发给所有收件人.列表.

One-to-Distribution List E-mail

在这种情况下,当发件人想要向邮件列表的收件人发送机密电子邮件时(例如R1,R2和R3);保证隐私如下:

  • 发件人和所有收件人都有自己的一对私钥. Exploder Server为每个邮件列表(List PUB ,List PVT )提供了一对私钥 - 公钥.

  • 发件人生成一个秘密对称密钥K s ,然后使用此密钥加密邮件.

  • 然后发件人使用与列表关联的公钥加密K S ,获得List PUB (K S ).

  • 发件人发送加密邮件并列出 PUB (K S ).爆炸者MTA使用List PVT 解密List PUB (K S )并获得K S .

  • 爆炸者使用与列表中的成员一样多的公钥来加密K S .

  • Exploder将收到的加密邮件和相应的加密K S 转发给列表中的所有收件人.例如,Exploder将加密的消息和R1 PUB (K S )转发给收件人1,依此类推.

加密消息

用于提供消息完整性,身份验证和非否认要遵循的步骤与一对一电子邮件方案中的步骤类似.

有趣的是,使用上述安全方法保护电子邮件的电子邮件程序预计将适用于上面讨论的所有可能的情况.大多数上述电子邮件安全机制由两个流行的方案提供,即好隐私(PGP)和S/MIME.我们将在以下各节讨论.

PGP

相当不错的隐私(PGP)是一种电子邮件加密方案.它已成为为电子邮件通信提供安全服务的事实上的标准.

如上所述,它使用公钥加密,对称密钥加密,散列函数和数字签名.它提供 : 去;

  • 隐私

  • 发件人身份验证

  • 消息完整性

  • 不可否认性

除了这些安全服务外,它还提供数据压缩和密钥管理支持. PGP使用现有的加密算法,如RSA,IDEA,MD5等,而不是发明新的加密算法.

PGP的工作

PGP的工作

  • 计算消息的哈希值. (MD5算法)

  • 使用发送方的私钥(RSA算法)对结果128位哈希进行签名.

  • 数字签名连接到消息,结果被压缩.

  • 128位对称密钥,K

  • K S 使用公共加密使用RSA算法的收件人密钥,结果附加到加密邮件.

PGP邮件的格式如下所示图. ID指示用于加密KS的密钥以及用于验证散列上的签名的密钥.

PGP消息格式

在PGP方案中,签名和加密的消息,然后在传输之前对MIME进行编码.

PGP证书

PGP密钥证书通常通过信任链建立.例如,A的公钥由B使用他的公钥签名,B的公钥由C使用他的公钥签名.随着这个过程的继续,它建立了一个信任网.

在PGP环境中,任何用户都可以充当认证机构.任何PGP用户都可以认证另一个PGP用户的公钥.但是,如果用户将验证者识别为可信的介绍人,则此类证书仅对其他用户有效.

此类验证方法存在若干问题.可能很难找到从已知且受信任的公钥到期望密钥的链.此外,可能存在多个链,这些链可以为所需用户提供不同的密钥.

PGP还可以使用具有证书颁发机构的PKI基础架构,并且公钥可以由CA认证(X.509)证书).

S/MIME

S/MIME代表安全多用途Internet邮件扩展. S/MIME是一种安全的电子邮件标准.它基于早期的非安全电子邮件标准MIME.

使用S/MIME

S/MIME方法类似于PGP.它还使用公钥加密,对称密钥加密,散列函数和数字签名.它提供与PGP类似的安全服务,用于电子邮件通信.

S/MIME中使用的最常见的对称密码是RC2和TripleDES.通常的公钥方法是RSA,哈希算法是SHA-1或MD5.

S/MIME指定其他MIME类型,例如"application/pkcs7-mime",加密后的数据包络.整个MIME实体被加密并打包到一个对象中. S/MIME具有标准化的加密消息格式(与PGP不同).实际上,MIME通过一些关键字进行了扩展,以识别消息中的加密和/或签名部分.

S/MIME依赖于X.509证书进行公钥分发.它需要自上而下的分层PKI来进行认证支持.

S/MIME的可用性

由于需要来自证书颁发机构的证书才能实现并非所有用户都可以利用S/MIME,因为有些人可能希望用公钥/私钥对加密消息.例如,没有证书的参与或管理开销.

实际上,尽管大多数电子邮件应用程序实现了S/MIME,但证书注册过程很复杂.相反,PGP支持通常需要添加插件,并且该插件随附管理密钥所需的全部内容. Web of Trust并未真正使用.人们通过另一种媒介交换他们的公钥.获得后,他们会保留通常与之交换电子邮件的公钥的副本.

PGP和S/MIME方案的网络架构中的实现层如下图所示.这两种方案都为电子邮件通信提供了应用程序级别的安全性.

S/MIME的可用性

根据环境使用其中一种方案(PGP或S/MIME).可以通过适应PGP来提供捕获网络中的安全电子邮件通信.对于通过Internet的电子邮件安全,邮件经常与新的未知用户交换,S/MIME被认为是一个不错的选择.

DNS安全

在第一章中,我们提到攻击者可以使用DNS缓存中毒对目标用户进行攻击. 域名系统安全扩展(DNSSEC)是一种可以阻止此类攻击的Internet标准.

标准DNS的漏洞

在标准DNS方案中,只要用户想要连接到任何域名,他的计算机就会联系DNS服务器并查找该域名的关联IP地址.获得IP地址后,计算机将连接到该IP地址.

在此方案中,根本不涉及验证过程.计算机向其DNS服务器询问与网站关联的地址,DNS服务器以IP地址响应,并且您的计算机无疑将其视为合法响应并连接到该网站.

A DNS查找实际上分几个阶段进行.例如,当计算机要求"www.it1352.com"时,DNS查询分几个阶段进行 :

  • 计算机首先询问本地DNS服务器(ISP提供).如果ISP在其缓存中具有此名称,则它会将查询转发到"根区域目录",在该目录中可以找到".com."和根区域回复.

  • 根据回复,计算机会询问".com"目录,在那里可以找到"it1352.com".

  • 基于收到的信息,计算机查询"it1352.com",它可以找到www. it1352.com.

标准DNS漏洞

DNSSEC定义

使用DNSSEC执行DNS查询涉及响应实体的回复签名. DNSSEC基于公钥加密.

在DNSSEC标准中,每个DNS区域都有一个公钥/私钥对. DNS服务器发送的所有信息都使用始发区域的私钥进行签名,以确保真实性. DNS客户端需要知道区域的公钥以检查签名.可以使用所有顶级域的公钥或根DNS预先配置客户端.

使用DNSSEC,查找过程如下 :

  • 当您的计算机去询问可以找到.com的根区域时,回复会由根区域服务器签名.

  • 计算机检查根区域的签名密钥,并确认它是具有真实信息的合法根区域.

  • 在回复中,根区域提供有关.com区域服务器的签名密钥及其位置的信息,允许计算机联系.com目录并确保其合法.

  • .com目录然后提供it1352.com的签名密钥和信息,允许它联系google.com并验证您是否已连接到真正的it1352.com,如上面的区域所确认它.

  • 发送的信息采用资源记录集(RRSets)的形式.顶级".com"服务器中域"it1352.com"的RRSet示例如下表所示.

域名生存时间输入
it1352.com86400NSdns.it1352.com
dns.it1352.com86400A36..1.2 .3
it1352.com86400KEY3682793A7B73F731029CE2737D ...
it1352.com86400SIG86947503A8B848F5272E53930C ...
  • KEY记录是一个酒吧"it1352.com"的许可证.

  • SIG记录是顶级.com服务器的字段NS,A和KEY的签名哈希记录以验证其真实性.它的值是Kcom pvt (H(NS,A,KEY)).

因此,它是认为当DNSSEC完全推出时,用户的计算机能够确认DNS响应是合法且真实的,并避免通过DNS缓存中毒启动的DNS攻击.

摘要

保护电子邮件的过程可确保通信的端到端安全性.它提供机密性,发件人身份验证,消息完整性和不可否认性的安全服务.

已经为电子邮件安全性开发了两种方案:PGP和S/MIME.这两种方案都使用密钥和公钥加密.

标准DNS查找容易受到DNS欺骗/缓存中毒等攻击.通过使用采用公钥加密的DNSSEC来保护DNS查找是可行的.

在本章中,我们讨论了在应用层使用的机制,以便为端到端提供网络安全性.结束沟通.