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

一种通信连接的加解密方法、系统及电子设备与流程

2023-01-15 10:15:11 来源:中国专利 TAG:


1.本发明涉及互联网技术领域,尤其涉及一种通信连接的加解密方法、系统及电子设备。


背景技术:

2.现有的终端访问,通常没有对访问信息进行加密处理,当有人使用该终端时,会轻易的获取访问信息,从而造成访问信息的泄露;为了防止通过互联网接口直接爬取访问信息内容,通常是设置一层加密,返回到客户端之后再进行解密。而这种技术方案通常是将密码放置在客户端上,如果查找到该密码,就可以利用该密码查看所有加密的内容,鉴于此,该技术方案形同虚设,极其不安全。
3.如何对终端的访问信息进行加密处理的同时,又不会造成访问信息的泄露,已经成为了业内亟待解决的技术难题。


技术实现要素:

4.为了至少解决上述技术问题,本发明实施例的目的在于提供了一种通信连接的加解密方法,实现了对终端访问信息的加密处理。
5.为了达到上述目的,本发明实施例提供的通信连接的加解密方法,包括:终端通过账号和密码向服务器端发起连接请求,其中账号与密码均在服务器端有备份;服务器端接收到终端的连接请求后,对账号与密码进行验证,验证通过后,服务器端向终端返回json web令牌;其中,服务器端存储json web令牌;终端选取json web令牌的部分内容作为秘钥对请求内容进行加密,加密方式包括将秘钥通过哈希算法计算终端hmac签名;其中,秘钥在服务器端有备份;终端向服务器端发起访问请求,访问请求中包括有经过秘钥加密后的请求内容、json web令牌和终端hmac签名;服务器端接收到终端的访问请求后,通过存储的json web令牌验证账号是否合法,当验证结果为是时,服务器端再通过秘钥解密加密后的请求内容,并计算服务器端hmac签名;判断服务器端hmac签名与终端hmac签名是否一致,若一致,则服务器端向终端返回响应内容;其中,响应内容为经过秘钥加密的响应内容;终端接收到响应内容后,通过秘钥对响应内容进行解密,并呈现解密后的响应内容。
6.进一步地,hmac签名包括消息内容,消息内容包括:账号,请求链接,请求内容,http方法类型,时间戳和随机数;其中,随机数为只能使用一次的随机数。
7.进一步地,访问请求中还包括有:时间戳和只能使用一次的随机数。
8.进一步地,服务器端接收到只能使用一次的随机数之后还包括,验证只能使用一
次的随机数是否被使用过。
9.为了达到上述目的,本发明实施例提供的通信连接的加解密系统,包括:终端和服务器端,终端包括有:终端连接请求模块、终端计算模块、终端访问请求模块以及终端解密模块;服务器端包括有:服务器端验证模块、服务器端存储模块、服务器端判断模块、服务器端计算模块以及服务器端响应模块;终端连接请求模块,通过账号和密码向服务器端发起连接请求;服务器端验证模块,接收到终端的连接请求后,对账号与密码进行验证,验证通过后向终端返回json web令牌;终端计算模块,选取json web令牌的部分内容作为秘钥对请求内容进行加密,加密方式包括将秘钥通过哈希算法计算终端hmac签名;服务器端存储模块,用于存储账号、密码、json web令牌以及秘钥;终端访问请求模块,向服务器端发起访问请求,访问请求中包括有经过秘钥加密后的请求内容、json web令牌和终端hmac签名;服务器端判断模块,接收到终端的访问请求后,通过存储的json web令牌验证账号是否合法;服务器端计算模块,当验证结果为是时,服务器端再通过秘钥解密加密后的请求内容,并计算服务器端hmac签名;服务器端判断模块还包括:判断服务器端hmac签名与终端hmac签名是否一致;服务器端响应模块,在服务器端hmac签名与终端hmac签名一致时,向终端返回响应内容;其中,响应内容为经过秘钥加密的响应内容;终端解密模块,收到响应内容后,通过秘钥对响应内容进行解密,并呈现解密后的响应内容。
10.进一步地,hmac签名包括消息内容,消息内容包括:账号,请求链接,请求内容,http方法类型,时间戳和随机数;其中,随机数为只能使用一次的随机数。
11.进一步地,访问请求中还包括有:时间戳和只能使用一次的随机数。
12.进一步地,服务器端验证模块,还包括,在服务器端接收到只能使用一次的随机数之后,验证只能使用一次的随机数是否被使用过。
13.为达到上述目的,本发明实施例还提供一种电子设备,包括,处理器;以及被安排成存储计算机可执行指令的存储器,可执行指令在被执行时使处理器执行上述通信连接的加解密方法的步骤。
14.为达到上述目的,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储一个或多个程序,一个或多个程序当被包括多个应用程序的电子设备执行时,使得电子设备执行上述通信连接的加解密方法的步骤。
15.本发明实施例的通信连接的加解密方法,包括:终端通过账号和密码向服务器端发起连接请求,其中账号与密码均在服务器端有备份;服务器端接收到终端的连接请求后,对账号与密码进行验证,验证通过后,服务器端向终端返回json web令牌;其中,服务器端存储json web令牌;终端选取json web令牌的部分内容作为秘钥对请求内容进行加密,加密方式包括将秘钥通过哈希算法计算终端hmac签名;其中,秘钥在服务器端有备份;终端向服务器端发起访问请求,访问请求中包括有经过秘钥加密后的请求内容、json web令牌和
终端hmac签名;服务器端接收到终端的访问请求后,通过存储的json web令牌验证账号是否合法,当验证结果为是时,服务器端再通过秘钥解密加密后的请求内容,并计算服务器端hmac签名;判断服务器端hmac签名与终端hmac签名是否一致,若一致,则服务器端向终端返回响应内容;其中,响应内容为经过秘钥加密的响应内容;终端接收到响应内容后,通过秘钥对响应内容进行解密,并呈现解密后的响应内容。在请求与回复中均有加密处理,避免了爬虫窃取请求内容;hmac签名保证了消息的完整性和真实性;通过授权的json web令牌,json web令牌具有特定及时效性,不会造成请求内容的泄密;使得消息在传递过程中,即使被攻击,也不会造成泄密,极大的保障了访问的安全性。
附图说明
16.为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对一个或多个实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1是本发明实施例的通信连接的加解密方法流程示意图;图2是本发明实施例的通信连接的加解密系统结构示意图;图3是本发明一个实施例的电子设备的结构示意图。
具体实施方式
18.下面将参照附图更详细地描述本技术的实施例。虽然附图中显示了本技术的某些实施例,然而应当理解的是,本技术可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本技术。应当理解的是,本技术的附图及实施例仅用于示例性作用,并非用于限制本技术的保护范围。
19.应当理解,本技术方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本技术的范围在此方面不受限制。
20.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
21.需要注意,本技术中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
22.下面,将参考附图详细地说明本技术的实施例。
23.本发明实施例提供一种通信连接的加解密方法,包括:终端通过账号和密码向服务器端发起连接请求,其中账号与密码均在服务器端有备份;服务器端接收到终端的连接请求后,对账号与密码进行验证,验证通过后,服务器端向终端返回json web令牌;其中,服务器端存储json web令牌;
终端选取json web令牌的部分内容作为秘钥对请求内容进行加密,加密方式包括将秘钥通过哈希算法计算终端hmac签名;其中,秘钥在服务器端有备份;终端向服务器端发起访问请求,访问请求中包括有经过秘钥加密后的请求内容、json web令牌和终端hmac签名;服务器端接收到终端的访问请求后,通过存储的json web令牌验证账号是否合法,当验证结果为是时,服务器端再通过秘钥解密加密后的请求内容,并计算服务器端hmac签名;判断服务器端hmac签名与终端hmac签名是否一致,若一致,则服务器端向终端返回响应内容;其中,响应内容为经过秘钥加密的响应内容;终端接收到响应内容后,通过秘钥对响应内容进行解密,并呈现解密后的响应内容。
24.实施例1图1是本发明实施例的通信连接的加解密方法流程示意图,下面将参考图1,对本发明实施例的通信连接的加解密方法进行详细描述。
25.首先,在步骤101,终端通过账号和密码向服务器端发起连接请求,其中账号与密码均在服务器端有备份。
26.在一示例性的实施方式中,终端向服务器端发起连接请求,该连接请求中包括通过账号和密码(可以理解为进行账号、密码的登录)向服务器端发起网络连接请求。
27.在一示例性的实施方式中,账号和密码均在服务器端有备份。
28.在一示例性的实施方式中,账号可以为终端的id,(一个终端对应着一个id)。
29.在步骤102,服务器端接收到终端的连接请求后,对账号与密码进行验证,验证通过后,服务器端向终端返回json web令牌;其中,服务器端存储json web令牌。
30.在一示例性的实施方式中,服务器端接收到终端的连接请求后,服务器端对该账号和密码进行验证(例如,判断终端的id和密码是否正确),在终端的账号和密码都正确时(即验证通过后),服务器端向终端提供json web令牌。
31.在一示例性的实施方式中,服务器端向终端提供json web令牌的同时,服务器端也会自己保存json web令牌。
32.在一示例性的实施方式中,json web令牌(即,json web token,简称jwt),jwt的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该json web令牌也可直接被用于认证,也可被加密。
33.在一示例性的实施方式中,jwt 可以使用秘钥(例如使用 hmac 算法)进行签名,已经签名的json web令牌可以验证信息的完整性,而加密的json web令牌会想其他方隐藏信息,当使用秘钥对json web令牌进行签名时,签名还能证明只要持有秘钥的一方才是签署它的一方。
34.在一示例性的实施方式中,json web令牌由三部分组成,它们是头部header)、有效负载(payload)以及签名(signature)。
35.在步骤103,终端选取json web令牌的部分内容作为秘钥对请求内容进行加密,加密方式包括将秘钥通过哈希算法计算终端hmac签名;其中,秘钥在服务器端有备份。
36.在一示例性的实施方式中,请求内容包括请求体和请求参数。
37.在一示例性的实施方式中,终端接收到服务器端返回的json web令牌之后,选取json web令牌中的部分内容作为秘钥,通过该秘钥对请求内容进行加密处理。
38.在一示例性的实施方式中,加密方式包括将秘钥通过哈希算法计算终端hmac签名。
39.在一示例性的实施方式中,hmac是秘钥相关的哈希运算消息认证码(hash-based message authentication code)的缩写。
40.在一示例性的实施方式中,hmac算法的数学公式为:;其中,h 为密码hash函数(如md5或sha-2),能够对明文进行分组循环压缩;k 为秘钥(secret key);m 为要认证的消息(即,消息内容);k’是从原始秘钥 k 导出的另一个秘钥(如果 k 短于散列函数的输入块大小,则向右填充零;如果比该块大小更长,则对 k 进行散列);ipad 内部填充(0x5c5c5c

5c5c,一段十六进制常量);opad 外部填充(0x363636

3636,一段十六进制常量)。
41.在一示例性的实施方式中,hmac签名包括消息内容,消息内容包括:账号,请求链接,请求内容,http方法类型,时间戳以及随机数(该随机数为只能使用一次的随机数)。
42.在一示例性的实施方式中,哈希算法(hash)也称为散列,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值就是散列值。
43.在一示例性的实施方式中,hmac(hash-based message authentication code,基于密钥散列消息认证码)。
44.在一示例性的实施方式中,该秘钥在服务器端有备份(可以理解为,终端选取json web令牌的部分内容,该部分内容在服务器端有备案;或者说终端与服务器端统一设定秘钥为json web令牌的某个部分;或者终端选定秘钥后将该秘钥提供给服务器端)。
45.在步骤104,终端向服务器端发起访问请求,访问请求中包括有经过秘钥加密后的请求内容、json web令牌和终端hmac签名。
46.在一示例性的实施方式中,终端向服务器端发起请求,该请求可以为访问请求,请求中包括有经过秘钥加密后的请求内容、json web令牌和终端hmac签名。
47.在一示例性的实施方式中,请求中还包括有:时间戳和只能使用一次的随机数。
48.在步骤105,服务器端接收到终端的访问请求后,通过存储的json web令牌验证账号是否合法,当验证结果为是时,服务器端再通过秘钥解密加密后的请求内容,并计算服务器端hmac签名。
49.在一示例性的实施方式中,hmac是秘钥相关的哈希运算消息认证码(hash-based message authentication code)的缩写。
50.在一示例性的实施方式中,hmac算法的数学公式为:;其中,h 为密码hash函数(如md5或sha-2),能够对明文进行分组循环压缩;
k 为秘钥(secret key);m 为要认证的消息(即,消息内容);k’是从原始秘钥 k 导出的另一个秘钥(如果 k 短于散列函数的输入块大小,则向右填充零;如果比该块大小更长,则对 k 进行散列);ipad 内部填充(0x5c5c5c

5c5c,一段十六进制常量);opad 外部填充(0x363636

3636,一段十六进制常量)。
51.在一示例性的实施方式中,服务器端接收到终端的访问请求后,通过之前存储的json web令牌验证请求访问的账号合法性,当验证结果为合法账号时(当然,若验证结果为非法账号,肯定不予应答),再通过秘钥解密上述加密后的请求内容。
52.在一示例性的实施方式中,服务器端计算服务器端hmac签名。
53.在一示例性的实施方式中,hmac签名包括消息内容,消息内容包括:账号,请求链接,请求内容,http方法类型,时间戳以及随机数(该随机数为只能使用一次的随机数)。
54.在一示例性的实施方式中,服务器端hmac签名的哈希算法与终端hmac签名的哈希算法一致。
55.在一示例性的实施方式中,只所以设计服务器端再计算一遍服务器端hmac签名,在于后续与终端hmac签名比较,判断二者是否一致。
56.在步骤106,判断服务器端hmac签名与终端hmac签名是否一致,若一致,则服务器端向终端返回响应内容;其中,响应内容为经过秘钥加密的响应内容。
57.在一示例性的实施方式中,在计算出服务器端hmac签名,并且该服务器端hmac签名与终端hmac签名一致时,服务器端向终端返回响应内容。
58.在一示例性的实施方式中,服务器端接收到只能使用一次的随机数之后还包括,验证只能使用一次的随机数是否被使用过,验证该只能使用一次的随机数未被使用过之后,服务器端再向终端返回响应内容。
59.在步骤107,终端接收到响应内容后,通过秘钥对响应内容进行解密,并呈现解密后的响应内容。
60.在一示例性的实施方式中,终端接收到服务器端返回的响应内容后,通过上述秘钥对该响应内容进行解密。
61.在一示例性的实施方式中,终端将解密后的响应内容呈现出来。
62.在一示例性的实施方式中,通过上述方法,实现了对请求内容和响应内容的加解密,极大的保障了访问的安全性。
63.实施例2图2是本发明实施例的通信连接的加解密系统结构示意图,下面将参考图2,对本发明实施例的通信连接的加解密系统进行详细说明。
64.在一示例性的实施方式中,本发明实施例的通信连接的加解密系统包括终端和服务器端。
65.在一示例性的实施方式中,终端包括有:终端连接请求模块201、终端计算模块202、终端访问请求模块203以及终端解密模块204。
66.在一示例性的实施方式中,服务器端包括有:服务器端验证模块205、服务器端存储模块206、服务器端判断模块207、服务器端计算模块208以及服务器端响应模块208。
67.在一示例性的实施方式中,终端连接请求模块201,通过账号和密码向服务器端发起连接请求。
68.在一示例性的实施方式中,账号和密码均在服务器端有备份。
69.在一示例性的实施方式中,账号可以为终端的id,(一个终端对应着一个id)。
70.在一示例性的实施方式中,服务器端验证模块205,接收到终端的连接请求后,对账号与密码进行验证,验证通过后向终端返回json web令牌。
71.在一示例性的实施方式中,终端计算模块202,选取json web令牌的部分内容作为秘钥对请求内容进行加密,加密方式包括将秘钥通过哈希算法计算终端hmac签名。
72.在一示例性的实施方式中,hmac是秘钥相关的哈希运算消息认证码(hash-based message authentication code)的缩写。
73.在一示例性的实施方式中,hmac算法的数学公式为:;其中,h 为密码hash函数(如md5或sha-2),能够对明文进行分组循环压缩;k 为秘钥(secret key);m 为要认证的消息(即,消息内容);k’是从原始秘钥 k 导出的另一个秘钥(如果 k 短于散列函数的输入块大小,则向右填充零;如果比该块大小更长,则对 k 进行散列);ipad 内部填充(0x5c5c5c

5c5c,一段十六进制常量);opad 外部填充(0x363636

3636,一段十六进制常量)。
74.在一示例性的实施方式中,请求内容包括请求体和请求参数。
75.在一示例性的实施方式中,终端接收到服务器端返回的json web令牌之后,选取json web令牌中的部分内容作为秘钥,通过该秘钥对请求内容进行加密处理。
76.在一示例性的实施方式中,hmac签名包括消息内容,消息内容包括:账号,请求链接,请求内容,http方法类型,时间戳以及随机数(该随机数为只能使用一次的随机数)。
77.在一示例性的实施方式中,哈希算法(hash)也称为散列,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值就是散列值。
78.在一示例性的实施方式中,hmac(hash-based message authentication code,基于密钥散列消息认证码)。
79.在一示例性的实施方式中,该秘钥在服务器端有备份(可以理解为,终端选取json web令牌的部分内容,该部分内容在服务器端有备案;或者说终端与服务器端统一设定秘钥为json web令牌的某个部分;或者终端选定秘钥后将该秘钥提供给服务器端)。
80.在一示例性的实施方式中,服务器端存储模块206,用于存储账号、密码、json web令牌以及秘钥。
81.在一示例性的实施方式中,终端访问请求模块203,向服务器端发起访问请求,访问请求中包括有经过秘钥加密后的请求内容、json web令牌和终端hmac签名。
82.在一示例性的实施方式中,请求中还包括有:时间戳和只能使用一次的随机数。
83.在一示例性的实施方式中,服务器端判断模块207,接收到终端的访问请求后,通过存储的json web令牌验证账号是否合法。
architecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
96.存储器,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
97.处理器从非易失性存储器中读取对应的计算机程序到存储器中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行上述通信连接的加解密方法的步骤。
98.实施例4本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行附图中所示实施例的方法,并具体用于执行上述通信连接的加解密方法的步骤。
99.虽然本发明所揭露的实施方式如上,但内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
再多了解一些

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

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

相关文献