一种客户端、服务器、数据传输方法与系统的制作方法

文档序号:9891169阅读:603来源:国知局
一种客户端、服务器、数据传输方法与系统的制作方法
【技术领域】
[0001]本发明涉及文件传输领域,特别是涉及一种客户端、服务器、数据传输方法与系统。
【背景技术】
[0002]随着科学技术的不断发展,信息传输的安全问题逐渐成为众人关注的焦点问题。现在普遍使用的ftp、pop和telnet等方法,在网络上用明文传送口令和数据,和可能被他人截取这些口令和数据,安全性较低。
[0003]并且,这些服务程序的安全验证方式很容易受到“中间人”(man-1n-the-middle)这种方式的攻击。所谓“中间人”攻击方式,就是“中间人”冒充真正的服务器接收用户传给服务器的数据,然后冒充用户把数据传给真正的服务器,从而窃取到重要的数据,目前的传输方式存在较大的安全隐患。

【发明内容】

[0004]有鉴于此,本发明的主要目的在于提供一种客户端、服务器、数据传输方法与系统,可以安全高效地进行数据传输。
[0005]为实现上述目的,本发明提供了一种数据传输方法,包括:
[0006]获取第一公钥和与所述第一公钥相匹配的第一私钥;
[0007]接收客户端的连接请求,将所述第一公钥发送至所述客户端,接收所述客户端发送的第二公钥,将所述第二公钥进行存储;
[0008]响应所述客户端的数据接收请求,将第一原始数据利用所述第二公钥进行加密后的第一目标数据发送至所述客户端;响应所述客户端的数据发送请求,接收所述客户端对第二原始数据利用所述第一公钥加密后的第二目标数据,使用所述第一私钥对所述目标数据进行解密,得到所述客户端发送的第二原始数据。
[0009]优选地,所述获取第一公钥和与所述第一公钥相匹配的第一私钥包括:
[0010]判断是否存储有第一公钥文件,如果是,则获取第一公钥和与所述第一公钥相匹配的第一私钥,否则计算得到第一公钥和与所述第一公钥相匹配的第一私钥。
[0011]本发明还提供了一种服务器,包括:
[0012]第一密钥获取模块,用于获取第一公钥和与所述第一公钥相匹配的第一私钥;
[0013]第一密钥交换模块,用于接收客户端的连接请求,将所述第一公钥发送至所述客户端,接收所述客户端发送的第二公钥,将所述第二公钥进行存储;
[0014]第一数据传输模块,用于响应所述客户端的数据接收请求,将第一原始数据利用所述第二公钥进行加密后的第一目标数据发送至所述客户端;响应所述客户端的数据发送请求,接收所述客户端对第二原始数据利用所述第一公钥加密后的第二目标数据,使用所述第一私钥对所述目标数据进行解密,得到所述客户端发送的第二原始数据。
[0015]优选地,所述第一密钥获取模块具体用于:
[0016]判断是否存储有第一公钥文件,如果是,则获取第一公钥和与所述第一公钥相匹配的第一私钥,否则计算得到第一公钥和与所述第一公钥相匹配的第一私钥。
[0017]本发明还提供了一种数据传输方法,包括:
[0018]向服务器发送连接请求,获取所述服务器的第一公钥并存储;
[0019]用于计算第二公钥和与所述第二公钥相匹配的第二私钥,将所述第二公钥发送至所述服务器;
[0020]响应用户的数据接收请求,接收所述服务器对第一原始数据利用所述第二公钥加密后的第一目标数据,使用所述第二私钥对所述目标数据进行解密,得到所述服务器发送的第一原始数据;响应用户的数据发送请求,将第二原始数据利用所述第一公钥进行加密后的第二目标数据发送至所述服务器。
[0021 ]优选地,所述获取所述服务器的第一公钥并存储包括:
[0022]接收所述服务器发送的第一公钥,判断是否预先存储有所述服务器的公钥,如果是,则确定所述第一公钥与存储的所述服务器的公钥是否一致,如果是,将所述第一公钥进行存储。
[0023]本发明还提供了一种客户端,包括:
[0024]第二密钥获取模块,用于向服务器发送连接请求,获取所述服务器的第一公钥并存储;
[0025]第二密钥交换模块,计算第二公钥和与所述第二公钥相匹配的第二私钥,将所述第二公钥发送至所述服务器;
[0026]第二数据传输模块,用于响应用户的数据接收请求,接收所述服务器对第一原始数据利用所述第二公钥加密后的第一目标数据,使用所述第二私钥对所述目标数据进行解密,得到所述服务器发送的第一原始数据;响应用户的数据发送请求,将第二原始数据利用所述第一公钥进行加密后的第二目标数据发送至所述服务器。
[0027]优选地,所述第二密钥获取模块具体用于:
[0028]向服务器发送连接请求,接收所述服务器发送的第一公钥,判断是否预先存储有所述服务器的公钥,如果是,则确定所述第一公钥与存储的所述服务器的公钥是否一致,如果是,将所述第一公钥进行存储。
[0029]本发明还提供了一种数据传输系统,包括客户端与服务器:
[0030]所述客户端用于:
[0031]向服务器发送连接请求,获取所述服务器的第一公钥并存储;
[0032]计算第二公钥和与所述第二公钥相匹配的第二私钥,将所述第二公钥发送至所述服务器;
[0033]响应用户的数据接收请求,接收所述服务器对第一原始数据利用所述第二公钥加密后的第一目标数据,使用所述第二私钥对所述目标数据进行解密,得到所述服务器发送的第一原始数据;
[0034]响应用户的数据发送请求,将第二原始数据利用所述第一公钥进行加密后的第二目标数据发送至所述服务器;
[0035]所述服务器用于:
[0036]获取第一公钥和与所述第一公钥相匹配的第一私钥;
[0037]接收客户端的连接请求,将所述第一公钥发送至所述客户端;
[0038]接收所述客户端发送的第二公钥,将所述第二公钥进行存储;
[0039]响应所述客户端的数据接收请求,将第一原始数据利用所述第二公钥进行加密后的第一目标数据发送至所述客户端;
[0040]响应所述客户端的数据发送请求,接收所述客户端对第二原始数据利用所述第一公钥加密后的第二目标数据,使用所述第一私钥对所述目标数据进行解密,得到所述客户端发送的第二原始数据。
[0041]应用本发明提供的一种客户端、服务器、数据传输方法与系统,客户端请求连接服务器,服务器计算出第一公钥与匹配的第一私钥并将第一公钥发送给客户端,客户端计算第二公钥和与之匹配的第二私钥,将所述第二公钥发送至服务器,客户端从服务器请求数据时,服务器对数据使用第二公钥加密,加密后发送给客户端,客户端用与第二公钥匹配的第二私钥对数据解密,从而得到数据,当客户端向服务器发送数据时,客户端对要发送的数据使用第一公钥加密,加密后发送给服务器,服务器用与第一公钥匹配的第一私钥对数据解密,从而得到数据,服务器和客户端的公钥互相共享用来加密信息,但只有自己的私钥才可以解密,所以这样可以有效提高数据传输的安全性。
【附图说明】
[0042]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0043]图1为本发明一种数据传输方法实施例一的流程图;
[0044]图2为本发明一种服务器实施例二的结构示意图;
[0045]图3为本发明一种数据传输方法实施例三的流程图;
[0046]图4为本发明一种客户端实施例四的结构示意图;
[0047]图5为本发明一种数据传输系统实施例五的结构示意图。
【具体实施方式】
[0048]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]实施例一:
[0050]本发明提供了一种数据传输方法,图1示出了本发明数据传输方法实施例一的流程图,包括:
[0051]步骤SlOl:获取第一公钥和与所述第一公钥相匹配的第一私钥;
[0052]判断是否存储有第一公
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1