一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

客户端与服务端数据加密传输的方法、装置及存储介质与流程

2022-12-06 22:08:34 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其是涉及客户端与服务端数据加密传输的方法、装置及存储介质。


背景技术:

2.用户通过手机app、web网页等客户端进行操作时,客户端把用户操作生成的请求数据发送至服务端,服务端对请求数据进行处理后,把响应数据返回客户端。客户端与服务端之间的数据传输存在被“抓包(数据被截获、重发、编辑、转存等)”的风险,攻击者利用“抓包”软件获取传输的数据后,恶意纂改数据,攻击服务端。


技术实现要素:

3.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种客户端与服务端数据加密传输的方法、装置及存储介质;解决了传统客户端与服务端数据传输模式下,攻击者截获客户端与服务端之间传输的数据,恶意篡改数据,恶意攻击系统的问题。
4.本发明的目的可以通过以下技术方案来实现:
5.本发明提供一种客户端与服务端数据加密传输的方法,用于客户端和服务端的数据通讯,包括以下步骤:
6.所述客户端在用户登录后接收到用户信息后,随机生成客户端公钥和客户端私钥,并保存;
7.所述客户端采用预先获取的服务端公钥对用户信息和客户端公钥进行非对称加密,得到第一加密数据,传输至服务端;
8.所述服务端获取第一加密数据后,采用预先获取的服务端私钥进行非对称解密,获取用户信息和客户端公钥,并对用户信息进行验证;若用户信息验证成功,则服务端生成用户登录成功信息,并获取与本次用户登录关联的对称密钥;
9.所述服务端通过所述客户端公钥对用户登录成功信息和对称密钥进行非对称加密,得到第二加密数据,传输至客户端;
10.所述客户端接收到第二加密数据后使用客户端私钥进行非对称解密操作,获取用户登录成功信息和对称密钥;
11.所述客户端实时获取用户请求数据,并采用对称密钥对用户请求数据进行对称加密,得到第三加密数据,传输至服务端。
12.进一步地,所述用户请求数据中设有时间戳,所述客户端采用对称密钥对设有时间戳的用户请求数据进行对称加密,得到第三加密数据;
13.所述服务端获取第三加密数据后,采用对称密钥进行解密,获取时间戳和用户请求数据,并将时间戳与服务端的系统时间对比,若时间戳与系统时间的差值达到预设的时间阈值,则不处理此次用户请求数据;若否,则判断服务端缓存中是否存在基于当前时间戳的用户请求标记信息,若存在,则不处理此次用户请求数据,若不存在,则处理此次用户请
求数据,并生成基于当前时间戳的用户请求标记信息,放入服务端缓存中。
14.进一步地,所述基于当前时间戳的用户请求标记信息为md5信息,该md5信息包括时间戳和用户登录成功信息。
15.本发明还提供一种客户端与服务端数据加密传输的装置,包括:
16.客户端,被配置为,在用户登录后接收到用户信息后,随机生成客户端公钥和客户端私钥,并保存;采用预先获取的服务端公钥对用户信息和客户端公钥进行非对称加密,得到第一加密数据,传输至服务端;然后在接收到第二加密数据后使用客户端私钥进行非对称解密操作,获取用户登录成功信息和对称密钥;最后实时获取用户请求数据,并采用对称密钥对用户请求数据进行对称加密,得到第三加密数据,传输至服务端;
17.服务端,被配置为,获取第一加密数据后,采用预先获取的服务端私钥进行非对称解密,获取用户信息和客户端公钥,并对用户信息进行验证;若用户信息验证成功,则服务端生成用户登录成功信息,并请求与本次用户登录关联的对称密钥;通过所述客户端公钥对用户登录成功信息和对称密钥进行非对称加密,得到第二加密数据,传输至客户端;然后接收第三加密数据,进行解密后获取用户请求数据,进行数据处理,并采用客户端公钥对用户请求数据进行非对称加密后,传输至客户端进行处理;
18.密钥服务端,被配置为,根据服务端传输的用户登录成功信息,生成与本次用户登录关联的对称密钥,并反馈给服务端。
19.进一步地,所述用户请求数据中设有时间戳,所述客户端采用对称密钥对设有时间戳的用户请求数据进行对称加密,得到第三加密数据;
20.所述服务端获取第三加密数据后,采用对称密钥进行解密,获取时间戳和用户请求数据,并将时间戳与服务端的系统时间对比,若时间戳与系统时间的差值达到预设的时间阈值,则不处理此次用户请求数据;若否,则判断服务端缓存中是否存在基于当前时间戳的用户请求标记信息,若存在,则不处理此次用户请求数据,若不存在,则处理此次用户请求数据,并生成基于当前时间戳的用户请求标记信息,放入服务端缓存中。
21.进一步地,所述基于当前时间戳的用户请求标记信息为md5信息,该md5信息包括时间戳和用户登录成功信息。
22.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上储存有计算机程序,所述计算机程序被处理器执行如上所述的方法。
23.本发明是通过非对称加密与对称加密相结合的方法,确保客户端与服务端之间用户数据传输的安全性;并采用在客户端向服务端发送的数据中添加时间戳,服务端校验时间戳的方法,保护服务端免受攻击者的重放攻击。
24.与现有技术相比,本发明具有以下优点:
25.(1)安全性:本发明加解密采用的核心密钥攻击者无法获取,因此数据即使被“抓包”,也无法篡改并用于攻击服务端。在保证数据传输安全性的基础上,采用客户端请求携带时间戳,服务端对时间戳进行校验的方式,避免对服务端的重放攻击。
26.(2)模块化:本发明分为客户端模块、服务端模块、密钥服务三部分,构建了高内聚低耦合的数据加密传输的实现方式,因此本方法具备更好的重用性、维护性和扩展性,可以简单高效的进行推广和应用。
27.(3)高效:非对称加密算法相较于对称加密算法效率低,本方法在用户首次登录成
key,保存在客户端的内存中。
44.3.客户端使用持有的服务端公钥server public key进行非对称加密操作,待加密数据是用户的手机、密码及第2步生成的客户端公钥client public key。
45.4.客户端将请求数据传输至服务端,请求数据是第3步非对称加密操作后的数据。
46.5.服务端收到客户端的登录请求后,使用服务端私钥server private key进行非对称解密操作,获取用用户输入的手机、密码及客户端公钥client public key。
47.服务端对用户输入的手机和密码进行验证,如果登录验证失败。
48.6.服务端发送响应数据至客户端,响应数据是“登录失败”。
49.7.客户端提示用户登录失败。
50.服务端对用户输入的手机和密码进行验证,如果登录验证成功。
51.8.服务端请求密钥服务,获取与用户本次登录关联的对称密钥symmetric key。
52.9.服务端使用第5步获取的客户端公钥client public key进行非对称加密操作,待加密数据是用户登录成功的token(token由服务端生成)和对称密钥symmetric key。
53.10.服务端响应客户端,响应数据是第9步非对称加密操作后的数据。
54.11.客户端使用客户端私钥client private key进行非对称解密操作,获取登录token和对称密钥symmetric key。
55.登录流程结束,用户后续的其他操作的加解密过程如下:
56.12.用户其他操作。
57.13.客户端使用symmetric key对用户其他操作产生的请求数据进行对称加密。
58.14.客户端将加密后的数据传输至服务端。
59.以上流程中,客户端使用密钥对client public key和client private key,由客户端随机生成并保存在客户端内存中,攻击者无法获取。用户登录操作之后的其他数据传输采用对称加密算法进行加解密,使用的对称密钥symmetric key由服务端生成并使用客户端的公钥进行加密client public key传输给客户端,客户端使用客户端私钥进行解密client private key。由于client private key保存在客户端内存中,攻击者无法获取,所以对称密钥symmetric key即使被攻击者“抓包”,他们也无法解密到正确的对称密钥symmetric key。
60.用户登录操作之后的数据传输采用对称加密,密钥为symmetric key,攻击者无法获取正确的symmetric key,保障了客户端与服务端之间数据传输的用户数据的安全性。
61.作为一种优选的实施方式,本实施例在数据传输对称加密的基础上,提供了防止重放攻击的方法,具体过程为:
62.用户请求数据中设有时间戳,客户端采用对称密钥对设有时间戳的用户请求数据进行对称加密,得到第三加密数据;
63.服务端获取第三加密数据后,采用对称密钥进行解密,获取时间戳和用户请求数据,并将时间戳与服务端的系统时间对比,若时间戳与系统时间的差值达到预设的时间阈值,则不处理此次用户请求数据;若否,则判断服务端缓存中是否存在基于当前时间戳的用户请求标记信息,若存在,则不处理此次用户请求数据,若不存在,则处理此次用户请求数据,并生成基于当前时间戳的用户请求标记信息,放入服务端缓存中。
64.如图2所示,本实施例具体实施时,上述方法的防止重放攻击的方法如下:
65.客户端的每次请求都在请求数据中携带当前时间的时间戳。正常情况下,同一用户在同一时间的请求数据是不同的(正常情况下,我们预期每个用户在同一时间最多只能进行一个操作)。客户端在请求数据中增加时间戳,时间戳参与请求数据的对称加密。
66.服务端在收到客户端请求数据后,解密获得包含时间戳的请求数据,将时间戳与服务端的系统时间进行对比,如果时间戳与系统时间超过一定时间(比如15秒),则将请求判定为重放攻击,不处理本次请求。如果时间戳在允许的时间范围内,再去缓存中检查是否存在key为md5(登录token 时间戳),如果缓存中存在,依然判定本次请求为重放攻击,不处理。如果缓存中不存在,判定本次请求为正常请求,服务端处理本次请求,并将md5(登录token 时间戳)放进缓存(缓存有效时间与判定时间戳是否超时的指标相同)。通过以上方法,本技术方案可以有效保护服务端免受攻击者的重放攻击。
67.针对现有技术,本技术方案实现的技术效果如下:
68.1.提高数据传输安全性
69.本技术方案采用非对称加密算法与对称加密算法相结合的方法,对客户端与服务端之间传输的数据进行加密,保护用户数据的安全。
70.2.提高密钥安全性
71.本技术方案采用非对称加密算法与对称加密算法相结合的办法。非对称密钥方面,客户端的密钥由客户端随机生成,并保存在客户端的内存中,攻击者无法获取。对称密钥方面,服务端在用户首次登录成功时,生成密钥,并加密传输至客户端,需要使用客户端内存中的密钥进行解密,攻击者无法获取。
72.3.拦截重放攻击
73.本技术方案采用客户端在发送请求时携带时间戳,服务端使用时间窗与客户端时间戳进行对比校验,拦截重放攻击。
[0074][0075]
以上是关于方法实施例的介绍,以下通过装置实施例,对本发明方案进行进一步说明。
[0076]
本实施例还涉及一种客户端与服务端数据加密传输的装置,其结构如图1所示,包括:
[0077]
客户端,被配置为,在用户登录后接收到用户信息后,随机生成客户端公钥和客户端私钥,并保存;采用预先获取的服务端公钥对用户信息和客户端公钥进行非对称加密,得到第一加密数据,传输至服务端;然后在接收到第二加密数据后使用客户端私钥进行非对称解密操作,获取用户登录成功信息和对称密钥;最后实时获取用户请求数据,并采用对称
密钥对用户请求数据进行对称加密,得到第三加密数据,传输至服务端;
[0078]
服务端,被配置为,获取第一加密数据后,采用预先获取的服务端私钥进行非对称解密,获取用户信息和客户端公钥,并对用户信息进行验证;若用户信息验证成功,则服务端生成用户登录成功信息,并请求与本次用户登录关联的对称密钥;通过客户端公钥对用户登录成功信息和对称密钥进行非对称加密,得到第二加密数据,传输至客户端;然后接收第三加密数据,进行解密后获取用户请求数据,进行数据处理,并采用客户端公钥对用户请求数据进行非对称加密后,传输至客户端进行处理;
[0079]
密钥服务端,被配置为,根据服务端传输的用户登录成功信息,生成与本次用户登录关联的对称密钥,并反馈给服务端。
[0080]
作为一种优选的实施方式,用户请求数据中设有时间戳,客户端采用对称密钥对设有时间戳的用户请求数据进行对称加密,得到第三加密数据;
[0081]
服务端获取第三加密数据后,采用对称密钥进行解密,获取时间戳和用户请求数据,并将时间戳与服务端的系统时间对比,若时间戳与系统时间的差值达到预设的时间阈值,则不处理此次用户请求数据;若否,则判断服务端缓存中是否存在基于当前时间戳的用户请求标记信息,若存在,则不处理此次用户请求数据,若不存在,则处理此次用户请求数据,并生成基于当前时间戳的用户请求标记信息,放入服务端缓存中。
[0082]
可选的,基于当前时间戳的用户请求标记信息为md5信息,该md5信息包括时间戳和用户登录成功信息。
[0083]
需要说明的是,本技术的装置具体内容和有益效果可参见上述方法实施例,在此不再赘述。
[0084]
在一些实施例中,本发明方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由rom和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到ram并由cpu执行时,可以执行上文描述的本发明方法的一个或多个步骤。备选地,在其他实施例中,cpu可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本发明方法。
[0085]
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0086]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献