P2P网络系统中安全问题的研究

2017-07-11 15:01王一飞
电脑知识与技术 2017年15期
关键词:安全威胁安全策略

王一飞

摘要:该文介绍了P2P应用以及P2P应用所面临的安全问题,针对这些安全问题进行分析研究,提出了一种P2P网络系统中的安全策略。

关键词:P2P;对等网;用户识别;安全策略;安全威胁

近年来,随着P2P(Peer-to-Peer)技术的日趋成熟,基于P2P网络的各种应用系统不断涌现和壮大,P2P技术应用主要集中在:1)分布式计算。P2P技术可以将网络中众多计算机暂时不用的计算能力连接起来,用这积累起来的巨大的计算能力来解决问题。如有许多大型的计算,比如某些天体力学中的计算,单靠一个或数个PC的计算能力是不可能完成的,甚至单个的大型计算机的计算能力也不能满足其需求;2)交互应用。交互应用是指Internet上用户之间的实时通信,比如即时消息、语音聊天、视频聊天等。这是我们平时经常用到的P2P技术的应用实例。在交互的过程中,应包括信息的发布者,信息的接受者和管理员三种角色;3)文件共享。文件共享也是P2P技术的重要应用之一。有三种角色参与了文件共享的过程,即文件的发布者、文件的接受者和管理员。

1P2P应用带来的安全问题

基于P2P的分布式计算所面临的可靠性和安全性问题,远比单机的计算任务要复杂得多。在计算任务的提交者(分布式计算用户)将计算任务(可以包含应用程序、数据、结果位置、需要的资源、通知机制等)提交后,有一个中心的管理服务器(不是必需的,可以由发起者完成管理工作)按照一定的策略,将工作分配下去,于是开始了该分布式计算的过程。而对于提供这些计算资源的用户,分布式计算程序应该对他们尽量透明,分布式计算程序不影响他们现行的工作,他们也不知道使用其计算资源的用户身份、分布式计算程序的具体操作和得到的数据信息。

基于P2P的交互应用信任模型很依赖于具体应用实例的特殊性以及所包含内容的敏感度。对于传输内容有一定敏感性的应用,可能存在着以下这些安全威胁:1)窃取:第三方可以用监听信道或桥接攻击的方法非法得到通信内容;2)篡改:第三方可以用桥接攻击的方法,改变被传输的内容;3)伪装:伪装通讯的某一方,骗取通讯内容。

基于P2P的文件共享應用过程中,文件的发布者希望知道:谁是文件的接受者、他是否有权限接受此文件。文件的接受者希望所接受的文件就是他想要的,即要保证文件的完整性。管理员希望对文件内容可以做一定的审记。另外,为了保证文件的安全传输,也要防止数据在传输期间可能受到的拦截攻击。

2P2P系统安全策略的研究

根据上述P2P的三种应用中我们分析出的安全威胁,我们可以得到我们的安全机制所要完成的工作包括:

1)用户身份的识别与认证

这在三种应用中都有必要,可以说是整个P2P安全机制中的核心内容,在分布式计算中,要对计算任务的提交者进行身份认证,防止对计算资源的非授权使用;在交互应用中,要对交互对手的身份进行验证,重点是对信息发布者的身份进行验证,防止伪装攻击;在文件共享中,用身份认证保证文件访问控制的正确实施。

2)基于资源的访问控制

与身份认证组合使用,保证只有被授权的合法用户才能得到想要的资源。

3)安全传输

无论是分布式计算中的数据和结果传输,交互应用中的交互信息,文件共享中的文件传输,都需要一个加/解密过程,来保证对应内容传输过程中不被窃听、篡改。

4)完整性保护

在分布式计算,要保证被分发到各个计算资源的程序代码和数据的完整性,保证计算结果的完整性;文件共享中要保证被共享文件的完整性。

3P2P系统安全策略的设计

首先我们要实现的就是对等认证,在C/S方式下,用户可以有多种认证方式,最常见的是基于口令的身份认证。但这种认证方式的安全强度较低,存在着穷举口令或拦截认证报文等多种可能的攻击,另外一个最大的问题是,在对等方式下,没有一个集中存放口令的sever来验证用户身份,不可能要求每一个交互对手都知道我的口令,所以在P2P方式下,这样的身份认证手段是不适合的。

基于x.509证书的身份认证很适合在应用P2P技术的系统中使用,因为在认证过程中,它并不要求要有一个sever存在,而是把认证建立在双方对于签发对方证书的CA的信任之上的。X.509证书是建立在非对称加密体制上的,所有人都使用数字证书(最终成为数字身份证),所有网络上有安全需求的服务都有基于数字证书的认证过程才是整个网络安全的终级方案,才能在网络上建立和现实社会中一样的安全秩序。

下面我们就给出一个身份认证过程的实例来具体说明。

假设A要验证B的身份,B有由A所信任的CA甲签发的数字证书(所谓信任,一是A承认甲的权威性,同时A拥有甲的公钥)。B所拥有的数字证书当然要包含以下内容:简单的用户信息,B的公钥,CA甲对以上内容的签名(做文摘后甲用私钥匙加密)交互过程如下:

1)A要求B提交证书。

2)B向A提交证书,A用甲的公钥做验证,确认证书。

3)A用B的公钥加密一个由时戳生成的随机数,将它发给B,(同时再给B一个对称密钥,或是对话密钥)。

4)B用自己的私钥对A送回的信息解密,将所得的信息送回(可以用A传来的对称密钥加密)。

5)完成身份认证过程。

传输安全和部分的完整性保护工作,我们采用SSL来完成。SSL工作过程是在身份认证过程中,交互双方交换了通讯所要使用的一对对称密钥匙(会话密钥),然后所有要发送的数据在发送端加密,在接受方被解密。这样,就能有效地防止窃听信道、篡改传输数据等攻击。

完整性保护工作的重点是保护内容的完整性,如保护文件共享时,文件接受者收到的就是他要求的文件,或者至少他能追查出是谁生成了这个文件。有许多方法可以验证内容,包括简单的校验和,加密和水印技术。在保证内容完整性的时候,我们引进一种基于非对称加密机制的数字签名的机制:

1)在安全连接建立好后,对等点A向对等点B要求一个内容。

2)如果对等点B创建了该内容,它就会在传送该内容之前为其数字签名。如果对等点B只是发布在别处创建的内容,那么该内容是已经被签名过的。

3)在对等点A收到内容后,它将验证附在内容上的数字签名。具体过程是,A对收到的文件内容做文摘,用B的公钥对B的签名解密,将得到的结果与文摘做比较,就可以得到结果。

鉴于P2P文件共享时文件被多次复制,接受者多半不是从文件的发布者得到文件,有很大的危险性。所以对文件内容进行校验是十分必要的。

4小结

本文对P2P网络系统中安全问题进行了分析研究,提出了强认证机制的安全策略,增强了P2P系统的安全性和可审计性,然而所给的安全解决方案也并不全面,例如没有涉及如何解决引入互操作性所带来的安全问题等,不足之处将会成为我们日后的研究重点。

猜你喜欢
安全威胁安全策略
基于认知负荷理论的叉车安全策略分析
基于飞行疲劳角度探究民航飞行员飞行安全策略
浅析涉密信息系统安全策略
关于计算机网络信息安全及防护策略探究
大数据时代的微信安全文化建构
如何加强农村食盐消费安全策略