用于UDP传输的认证系统及认证方法与流程

文档序号:12493453阅读:583来源:国知局
用于UDP传输的认证系统及认证方法与流程

本发明涉及一种信息安全领域,特别是涉及一种用于UDP传输的认证系统及认证方法。



背景技术:

UDP(User Datagram Protocol,用户数据报协议)是一个简单的面向数据报的运输层协议。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,因此传输速度很快,适用于要求开销小、传输速度快的场合,例如音频、视频等大文件数据的传输。

但在实际应用中,用户访问网络资源时,为了保障合法用户获得资源和服务,服务器应当能够验证客户机请求的合法性。当用户需要从服务器获取音频、视频等大文件数据时,采用UDP传输尽管可以保证传输效率,但服务器无法判断用户请求的合法性,用户也无法验证所收到的数据是否在传输过程中被非法篡改,这给用户和服务器带来一定的安全隐患。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中UDP传输过程中,服务器无法判断用户请求的合法性,用户也无法验证收到的数据是否被非法篡改的缺陷,提供一种用于UDP传输的认证系统及认证方法。

本发明是通过下述技术方案来解决上述技术问题的:

本发明提供了一种用于UDP传输的认证系统,其特点在于,包括客户机、服务器以及认证中心;

所述客户机用于向所述认证中心发送第一请求,所述第一请求用于请求与所述服务器进行通信;

所述认证中心用于在接收到所述第一请求后生成会话密钥,并根据所述会话密钥生成第一票据和第二票据,并将所述第一票据和所述第二票据发送至所述客户机;

所述客户机用于解密所述第一票据得到所述会话密钥,通过所述会话密钥计算第二请求的第一哈希值,并将所述第二请求、所述第二票据及所述第一哈希值发送至所述服务器,所述第二请求用于请求从所述服务器获取服务;

所述服务器用于解密所述第二票据以得到所述会话密钥,并通过所述会话密钥验证所述第一哈希值,在验证通过后通过所述会话密钥计算服务数据的第二哈希值,并将所述服务数据及所述第二哈希值发送至所述客户机;

所述客户机还用于在接收到所述服务数据及所述第二哈希值后,通过所述会话密钥验证所述第二哈希值是否正确,若是,则接受所述服务数据;若否,则丢弃所述服务数据。

较佳地,所述认证中心还用于基于所述客户机的身份生成私钥,所述客户机还用于保存所述私钥。

较佳地,所述认证中心还用于在接收到所述第一请求后,验证所述客户机的身份,并在验证通过后生成所述会话密钥。

较佳地,所述认证中心用于通过随机数生成器生成所述会话密钥,并用所述客户机的身份加密所述会话密钥以生成所述第一票据。

较佳地,所述认证中心还用于对所述会话密钥及所述客户机的身份进行加密以生成所述第二票据,并将所述第一票据和所述第二票据发送至所述客户机。

较佳地,所述客户机用于用所述私钥解密所述第一票据以得到所述会话密钥。

较佳地,所述第二票据中还包括时间戳信息。

本发明的目的在于还提供了一种用于UDP传输的认证方法,其特点在于,包括以下步骤:

S1、客户机向认证中心发送第一请求,所述第一请求用于请求与服务器进行通信;

S2、所述认证中心在接收到所述第一请求后生成会话密钥,并根据所述会话密钥生成第一票据和第二票据,并将所述第一票据和所述第二票据发送至所述客户机;

S3、所述客户机解密所述第一票据得到所述会话密钥,通过所述会话密钥计算第二请求的第一哈希值,并将所述第二请求、所述第二票据及所述第一哈希值发送至所述服务器,所述第二请求用于请求从所述服务器获取服务;

S4、所述服务器解密所述第二票据以得到所述会话密钥,并通过所述会话密钥验证所述第一哈希值,在验证通过后通过所述会话密钥计算服务数据的第二哈希值,并将所述服务数据及所述第二哈希值发送至所述客户机;

S5、所述客户机在接收到所述服务数据及所述第二哈希值后,通过所述会话密钥验证所述第二哈希值是否正确,若是,则接受所述服务数据;若否,则丢弃所述服务数据。

较佳地,步骤S1之前还包括:

S01、所述认证中心基于所述客户机的身份生成私钥,所述客户机保存所述私钥。

较佳地,步骤S2中所述认证中心还在接收到所述第一请求后,验证所述客户机的身份,并在验证通过后生成所述会话密钥。

较佳地,步骤S2中所述认证中心通过随机数生成器生成所述会话密钥,并用所述客户机的身份加密所述会话密钥以生成所述第一票据。

较佳地,步骤S2中所述认证中心还对所述会话密钥及所述客户机的身份进行加密以生成所述第二票据,并将所述第一票据和所述第二票据发送至所述客户机。

较佳地,步骤S3中所述客户机用所述私钥解密所述第一票据以得到所述会话密钥。

较佳地,所述第二票据中还包括时间戳信息。

本发明的积极进步效果在于:本发明与传统的UDP传输相比,能够在保证传输效率的前提下,为服务器提供验证客户机合法性的方法,并为通信双方提供数据一致性检验,同时能够避免非法客户机获取服务器资源,保障服务器为合法客户机提供服务。

附图说明

图1为本发明的较佳实施例的用于UDP传输的认证系统的模块示意图。

图2为本发明的较佳实施例的用于UDP传输的认证系统的内部结构示意图。

图3为本发明的较佳实施例的用于UDP传输的认证方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

如图1所示,本发明的用于UDP传输的认证系统包括客户机1、服务器2以及认证中心3,其中所述客户机1分别与所述服务器2和所述认证中心3通信连接;

所述认证中心3可设于所述服务器2端,所述认证中心3与所述客户机1之间建立基于身份的系统,所述认证中心3基于所述客户机1的身份生成私钥,所述客户机1则用于保存所述私钥;

当用户需要从所述服务器2获取服务时,首先所述客户机1会向所述认证中心3发送第一请求,所述第一请求用于请求与所述服务器2进行通信,其具体内容可包括“申请与服务器通信”等;

所述认证中心3在接收到所述第一请求后,会验证所述客户机1的身份,即基于所述客户机的身份判断所述第一请求的合法性,并在验证通过后通过随机数生成器为所述客户机1和所述服务器2生成会话密钥,并利用基于身份的加密算法对所述会话密钥进行加密以生成第一票据C,然后利用RC4加密算法对所述会话密钥及所述客户机的身份进行加密以生成第二票据T,并将所述第一票据C及所述第二票据T发送至所述客户机1;其中,优选地,所述第二票据T中还可以包括时间戳信息。

所述客户机1在接收到所述第一票据C及所述第二票据T后,会利用基于身份的解密算法对所述第一票据C进行解密以得到所述会话密钥,然后利用SHA256算法(一种译作安全散列算法)和所述会话密钥计算第二请求的第一哈希值,并将所述第二请求、所述第一哈希值和所述第二票据级联后发送至所述服务器2;其中,所述第二请求用于请求从所述服务器获取服务,其具体内容可包括“获取服务”等;

所述服务器2在收到消息后,首先会解密所述第二票据,以得到所述会话密钥和所述客户机1的身份,然后利用SHA256算法和所述会话密钥验证所述第一哈希值,如果验证通过,则根据所述第二请求向所述客户机1提供相应服务,具体地,即利用SHA256算法和所述会话密钥计算服务数据的第二哈希值,并将所述服务数据和所述第二哈希值发送至所述客户机1;

所述客户机1在接收到所述服务数据和所述第二哈希值后,会利用SHA256算法和所述会话密钥验证所述第二哈希值是否正确,若是,则表明验证通过,此时就接受所述服务数据,若否,则表明验证未通过,此时就丢弃所述服务数据。

在本发明的具体实施过程中,所述认证中心3可以生成随机对称密钥,对称密钥由所述认证中心和所述服务器进行秘密保存,其中,所述会话密钥可用所述客户机1的身份进行加密以得到第一票据,所述会话密钥可用所述认证中心3与所述服务器2的对称密钥进行加密以得到所述第二票据。

在本发明中,如图2所示,其中示出了本发明的基于UDP传输的认证系统中所述客户机1、所述服务器2和所述认证中心3三者的内部结构,所述认证中心3和所述客户机1之间需要构建基于身份的系统,因此所述认证中心3内部需布设基于身份的私钥生成算法、基于身份的加密算法,并存储所述客户机1身份;此外所述认证中心3内部还部署有RC4加密算法和随机数生成器。所述认证中心3和所述服务器2之间的随机数由随机数生成器生成,并秘密保存在所述认证中心3和所述服务器2。所述客户机1需部署基于身份的解密算法和SHA256算法,同时将对应自己身份的私钥秘密存储。所述服务器2内部需部署RC4解密算法和SHA256算法。并且,由于所述客户机1分别与所述服务器2和所述认证中心3通信连接,所以三者均包括网络接口;在完成上述部署之后,所述客户机1与所述服务器2之间基于UDP协议的可认证通信共需4步通信:1.客户机向认证中心发送第一请求;2.认证中心向客户机发送第一票据和第二票据;3.客户机向服务器发送第二请求及第二票据;4.服务器向客户机提供服务(发送数据)。

从而本发明通过在服务器端引入一个认证中心,当客户机需要从服务器获取服务,并通过UDP协议传输数据时,由认证中心为客户机发放用户获取服务的第二票据。认证中心与客户机之间建立基于身份的系统,便于对客户机身份的管理和请求合法性的判断。第二票据中含有认证中心为客户机与服务器分配的共享的会话密钥,可用于保障通信双方通过UDP传输的数据的一致性。第二票据采用流密码RC4加密,确保了协议的轻量级。

如图3所示,本发明还提供了一种用于UDP传输的认证方法,其利用上述的用于UDP传输的认证系统实现,包括以下步骤:

步骤101、所述认证中心基于所述客户机的身份生成私钥,所述客户机保存所述私钥;

步骤102、客户机向认证中心发送第一请求,所述第一请求用于请求与服务器进行通信;

步骤103、所述认证中心还在接收到所述第一请求后,验证所述客户机的身份,并在验证通过后生成所述会话密钥;并根据所述会话密钥生成第一票据和第二票据,并将所述第一票据和所述第二票据发送至所述客户机;

步骤104、所述客户机用所述私钥解密所述第一票据以得到所述会话密钥,并通过所述会话密钥计算第二请求的第一哈希值,并将所述第二请求、所述第二票据及所述第一哈希值发送至所述服务器,所述第二请求用于请求从所述服务器获取服务;

步骤105、所述服务器解密所述第二票据以得到所述会话密钥,并通过所述会话密钥验证所述第一哈希值,在验证通过后通过所述会话密钥计算服务数据的第二哈希值,并将所述服务数据及所述第二哈希值发送至所述客户机;

步骤106、所述客户机在接收到所述服务数据及所述第二哈希值后,通过所述会话密钥验证所述第二哈希值是否正确,若是,则接受所述服务数据;若否,则丢弃所述服务数据。

其中,在步骤103中,所述认证中心通过随机数生成器生成所述会话密钥,并对所述会话密钥进行加密以生成第一票据;所述认证中心还对所述会话密钥及所述客户机的身份进行加密以生成所述第二票据,并将所述第一票据和所述第二票据发送至所述客户机,优选地,所述第二票据中还包括时间戳信息。在步骤104中,所述客户机解密所述第一票据以得到所述会话密钥。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1