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

一种数据传输方法、装置、电子设备及存储介质与流程

2021-11-03 21:09:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种数据传输方法、装置、电子设备及存储介质。


背景技术:

2.网络通信是指通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信。随着网络通信的广泛应用,网络通信过程中的传输数据的安全问题也成为人们非常关注的问题。为此,可以采取数据保护的措施。数据保护是指保护网络通信过程中的数据安全,防止或监测数据窃取,篡改,拦截等中间人攻击行为。但是,相关技术中缺乏有效的数据保护方式。以超文件传输协议(http,hypertext transfer protocol)和安全套接层超文本传输协议(https,hypertext transfer protocol over secure socket layer)传输数据为例,其中,https依靠安全套接层(ssl,secure sockets laye)或者传输层安全(transport layer security,tls)进行数据加密保护,http则无任何加密保护策略,目前,无论是http还是https,在网络通信过程中所传输的数据都存在较高的被中间人攻击的风险。


技术实现要素:

3.本发明实施例提供一种数据传输方法、装置、电子设备及存储介质,以解决相关技术中的问题。
4.本发明的目的是通过以下技术方案实现的:
5.第一方面,本发明实施例提供一种数据传输方法,包括:
6.针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文,第一传输数据是第一设备端需要传输至第二设备端的原始数据;
7.将包含密文的第一传输数据,作为第二传输数据,第二传输数据是进入第一设备端与第二设备端之间进行网络通信的传输通道的数据。
8.在一种可能的实施方式中,还包括:
9.获取配置文件,配置文件包含第一配置信息,第一配置信息表征第一传输数据包含的各个字段是否为需要转换成密文的目标字段,以及目标字段对应的至少一种按照安全级别配置的密文生成策略;
10.基于第一配置信息,确定第一传输数据包含的所有字段中的目标字段以及目标字段对应的至少一种按照安全级别配置的密文生成策略。
11.在一种可能的实施方式中,至少一种按照安全级别配置的密文生成策略,包括:
12.按照第一安全级别配置的加密算法,和/或,按照第二安全级别配置的签名算法。
13.在一种可能的实施方式中,配置文件中包含第二配置信息,第二配置信息表征安全保护功能的开关信息;
14.针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文,包括:
15.响应于第二配置信息表征开启安全保护功能,针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文。
16.在一种可能的实施方式中,获取配置文件,包括:
17.获取安全服务端更新的配置文件。
18.在一种可能的实施方式中,还包括:
19.将配置文件在本地加密存储。
20.在一种可能的实施方式中,还包括:
21.生成密文生成策略对应的第一动态密钥;
22.将目标字段转换成密文,包括:
23.基于第一动态密钥,将目标字段转换成密文。
24.在一种可能的实施方式中,生成密文生成策略对应的第一动态密钥,包括:
25.从预设的多种密钥生成算法中,随机选择一种密钥生成算法,以作为目标密钥生成算法;
26.基于目标密钥生成算法,生成第一动态密钥。
27.在一种可能的实施方式中,第一设备端和第二设备端中的一者为用户终端,基于目标密钥生成算法,生成第一动态密钥,包括:
28.基于来自用户终端的固定密钥,以及来自安全服务端的第二动态密钥,组合形成第三动态密钥;
29.基于目标密钥生成算法,对第三动态密钥进行处理,以得到第一动态密钥。
30.在一种可能的实施方式中,第一传输数据为针对目标业务的数据,目标业务对应的第二动态密钥不同于目标业务之外的其它业务对应的第二动态密钥。
31.在一种可能的实施方式中,还包括:
32.检测运行环境是否出现异常;
33.响应于检测到运行环境出现异常,记录异常信息,并将异常信息添加到密文中。
34.在一种可能的实施方式中,还包括:
35.对来自第二设备端的第三传输数据进行解密,以得到第四传输数据;
36.第四传输数据是第二设备端需要传输至第一设备端的原始数据;
37.第三传输数据是针对第四传输数据中的所有字段的至少一个目标字段,基于该目标字段对应的至少一种按照安全级别配置的密文生成策略,将该目标字段转换成密文得到的。
38.第二方面,本发明实施例提供一种数据传输装置,包括:
39.密文生成模块,用于针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文,第一传输数据是第一设备端需要传输至第二设备端的原始数据;
40.数据获得模块,用于将包含密文的第一传输数据,作为第二传输数据,第二传输数据是进入第一设备端与第二设备端之间进行网络通信的传输通道的数据。
41.在一种可能的实施方式中,还包括:
42.配置获取模块,用于获取配置文件,配置文件包含第一配置信息,第一配置信息表征第一传输数据包含的各个字段是否为需要转换成密文的目标字段,以及目标字段对应的至少一种按照安全级别配置的密文生成策略;
43.策略确定模块,用于基于第一配置信息,确定第一传输数据包含的所有字段中的目标字段以及目标字段对应的至少一种按照安全级别配置的密文生成策略。
44.在一种可能的实施方式中,至少一种按照安全级别配置的密文生成策略,包括:
45.按照第一安全级别配置的加密算法,和/或,按照第二安全级别配置的签名算法。
46.在一种可能的实施方式中,配置文件中包含第二配置信息,第二配置信息表征安全保护功能的开关信息;
47.密文生成模块,具体用于:
48.响应于第二配置信息表征开启安全保护功能,针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文。
49.在一种可能的实施方式中,配置获取模块,具体用于:
50.获取安全服务端更新的配置文件。
51.在一种可能的实施方式中,还包括:
52.文件存储模块,用于将配置文件在本地加密存储。
53.在一种可能的实施方式中,还包括:
54.密钥生成模块,用于生成密文生成策略对应的第一动态密钥;
55.密文生成模块,具体用于:
56.基于第一动态密钥,将目标字段转换成密文。
57.在一种可能的实施方式中,密钥生成模块,具体用于:
58.从预设的多种密钥生成算法中,随机选择一种密钥生成算法,以作为目标密钥生成算法;
59.基于目标密钥生成算法,生成第一动态密钥。
60.在一种可能的实施方式中,第一设备端和第二设备端中的一者为用户终端,密钥生成模块,具体用于:
61.基于来自用户终端的固定密钥,以及来自安全服务端的第二动态密钥,组合形成第三动态密钥;
62.基于目标密钥生成算法,对第三动态密钥进行处理,以得到第一动态密钥。
63.在一种可能的实施方式中,第一传输数据为针对目标业务的数据,目标业务对应的第二动态密钥不同于目标业务之外的其它业务对应的第二动态密钥。
64.在一种可能的实施方式中,还包括:
65.异常检测模块,用于检测运行环境是否出现异常;响应于检测到运行环境出现异常,记录异常信息,并将异常信息添加到密文中。
66.在一种可能的实施方式中,还包括:
67.数据解密模块,用于对来自第二设备端的第三传输数据进行解密,以得到第四传输数据;第四传输数据是第二设备端需要传输至第一设备端的原始数据;第三传输数据是
针对第四传输数据中的所有字段的至少一个目标字段,基于该目标字段对应的至少一种按照安全级别配置的密文生成策略,将该目标字段转换成密文得到的。
68.第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现如以上第一方面中任一的数据传输方法的步骤。
69.第四方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一的数据传输方法的步骤。
70.上述技术方案中的优点或有益效果至少包括:
71.对需要传输的第一传输数据中的目标字段,基于至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文,得到包含密文的第二传输数据,由该第二传输数据进入第一设备端与第二设备端之间用于网络通信的传输通道,一方面,由于将目标字段本身转换成了密文,提高了在网络通信的过程中的安全性,另一方面,以第一传输数据的目标字段为单位,对于每个目标字段来说,该目标字段都有对应的至少一种按照安全级别配置的密文生成策略,那么,对传输数据整体来说,多个目标字段可能采用多种不同安全级别的密文生成策略,实现了密文生成策略的动态化,增加了复杂度,可以有效防止暴力破解,从而进一步提高了网络通信过程中的安全性,如此,从整体上提高了数据保护的效果。
72.上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
73.图1是本发明实施例中的一种示例性的硬件硬件系统架构图;
74.图2是本发明实施例中的一种示例性的数据传输方法的流程图;
75.图3是本发明实施例中的一种示例性的数据传输方法的流程图;
76.图4是本发明实施例中的一种示例性的数据传输方法的流程图;
77.图5是本发明实施例中的一种示例性的数据传输装置的结构示意图;
78.图6是本发明实施例中的一种示例性的数据传输装置的结构示意图;
79.图7是本发明实施例中的一种电子设备的结构示意图。
具体实施方式
80.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
81.本发明实施例提供的数据传输方法可以在用户终端执行,也可以在安全服务端执行。其中,该用户终端可以是移动终端、计算机,等等。图1是一种示例性的硬件系统架构图,如图1所示,该硬件系统架构包括进行网络通信的第一设备端101和第二设备端102,第一设备端101和第二设备端102中的一者可以为用户终端,另一者为用户终端对应的业务服务
端,如此,通过双方的网络通信,业务服务端可以为用户终端提供业务服务。该硬件系统架构还包括安全服务端103,为提高网络通信过程中的传输数据的安全性,当用户终端向业务服务端传输数据时,可以通过用户终端执行本发明实施例提供的数据传输方法来进行数据保护,当业务服务端向用户终端传输数据时,可以通过安全服务端执行本发明实施例提供的数据传输方法来进行数据保护,以实现安全保护功能。另外,安全服务端103也可以为用户终端提供安全服务。实施中,可以采用http或者https传输协议进行网络通信。对于https来说,可以在原有的ssl或者tls的加密保护策略的基础上,采用本发明实施例的安全保护功能,因此,该安全保护功能也可以称为加固保护功能。
82.下面对本发明实施例提供的数据传输方法进行详细地介绍。
83.图2是本发明实施例提供的一种示例性的数据传输方法的流程图。如图2所示,该数据传输方法至少包括如下步骤:
84.步骤201、针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文,该第一传输数据是第一设备端需要传输至第二设备端的原始数据。
85.这里的目标字段即第一传输数据包含的所有字段中需要转换成密文的一个字段。该至少一个目标字段可以是第一传输数据包含的全部字段,也可以是部分字段。举例来说,第一传输数据中包含5个字段,可以5个字段均转换成密文,也可以将其中3个字段转换成密文,另外2个不转换成密文。
86.其中,不同的安全级别配置的密文生成策略不同。
87.步骤202、将包含密文的第一传输数据,作为第二传输数据,第二传输数据是进入第一设备端与第二设备端之间进行网络通信的传输通道的数据。
88.本实施例中,对需要传输的第一传输数据中的目标字段,基于至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文,得到包含密文的第二传输数据,由该第二传输数据进入第一设备端与第二设备端之间用于网络通信的传输通道,一方面,由于将目标字段本身转换成了密文,提高了在网络通信的过程中的安全性,另一方面,以第一传输数据的目标字段为单位,对于每个目标字段来说,该目标字段都有对应的至少一种按照安全级别配置的密文生成策略,那么,对传输数据整体来说,多个目标字段可能采用多种不同安全级别的密文生成策略,实现了密文生成策略的动态化,增加了复杂度,可以有效防止暴力破解,从而进一步提高了网络通信过程中的安全性,如此,从整体上提高了数据保护的效果。
89.在示例性实施例中,上述数据传输方法还可以包括:获取配置文件,配置文件包含第一配置信息,该第一配置信息表征第一传输数据包含的各个字段是否为需要转换成密文的目标字段,以及目标字段对应的至少一种按照安全级别配置的密文生成策略;基于第一配置信息,确定第一传输数据包含的所有字段中的目标字段以及目标字段对应的至少一种按照安全级别配置的密文生成策略。
90.本实施例中,可以获取配置文件,该配置文件已根据需要配置好第一传输数据中的每个字段,包括该字段是否需要转换成密文,以及按照安全级别配置的密文生成策略,基于此,可以准确地确定将哪个字段转换成密文,并采用什么安全级别的密文生成策略,并且能够满足用户的个性化需求。
91.在示例性实施例中,获取配置文件,具体可以包括:获取安全服务端更新的配置文件。
92.实际应用中,安全服务端可以提供配置管理后台,该配置管理后台用于提供配置页面,通过该配置页面的配置操作,可以得到配置文件。如果上述数据传输方法由用户终端执行,则安全服务端可以将配置文件发送至用户终端,用户终端则可以获取到来自安全服务端的配置文件。
93.基于此,当需要更新配置文件时,安全服务端可以通过该配置页面的配置操作,得到更新后的配置文件。如此,通过安全服务端更新配置,可以满足最新的配置需求。
94.在示例性实施例中,第一传输数据可以为针对目标业务线接口的数据。示例性的,该目标业务线接口可以为登录接口、支付接口,等等。实际应用中,可以通过上述配置页面针对每个业务线接口的第一传输数据配置目标字段及该目标字段对应的至少一种按照安全级别配置的密文生成策略。如此,不同的业务线接口的目标字段可能不同,相应的密文生成策略也可能不同。
95.可以理解的是,也可以通过其它方式确定第一传输数据包含的所有字段中的目标字段以及目标字段对应的至少一种按照安全级别配置的密文生成策略,例如,可以实时分析字段的内容,基于分析结果确定目标字段及该目标字段对应的至少一种按照安全级别配置的密文生成策略。举例来说,如果字段的内容与用户隐私数据相关,则该字段为目标字段,安全级别也较高。
96.在示例性实施例中,上述至少一种按照安全级别配置的密文生成策略,可以包括:按照第一安全级别配置的加密算法,和/或,按照第二安全级别配置的签名算法。
97.其中,加密算法用于进行数据加密。数据加密是通过加密算法和加密密钥将明文转变为密文,与之向对应的过程是数据解密,解密是通过解密算法和解密密钥将密文恢复为明文。
98.第一安全级别是指加密算法的安全级别。示例性的,可以分为高、中、低三个安全级别。实际应用中,可以采用的加密算法可以包括高级加密标准(aes,advanced encryption standard)算法、白盒加密算法和sm4加密算法(一种分组密码算法),等等。示例性的,可以配置第一安全级别为低的密文生成策略为aes加密算法,第一安全级别为中的密文生成策略为白盒加密算法,第一安全级别为高的密文生成策略为sm4加密算法。
99.其中,签名算法用于进行数字签名。数字签名是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
100.第二安全级别是指签名算法的安全级别。示例性的,可以分为高、中、低三个安全级别。实际应用中,可以采用的签名算法可以包括信息摘要算法(md5,message

digest algorithm)、安全散列算法(sha,secure hash algorithm)1、sha256、哈希运算消息认证码(hmac,hash

based message authentication code)_sha1、hmac_sha256,等等。示例性的,可以配置第二安全级别为低的密文生成策略为md5,第二安全级别为中的密文生成策略为sha1或者sha256,第二安全级别为高的密文生成策略为hmac_sha1或者hmac_sha256。
101.对于同一个目标字段来说,该目标字段对应的第一安全级别和第二安全级别可以不同,也可以相同。例如,可以采用第一安全级别为高的加密算法,且采用第二安全级别为
低的签名算法。实施中,可以根据实际需要进行配置。
102.本实施例中,可以采用加密算法和/或签名算法,将目标字段转换成密文,如果第一传输数据中包含多个目标字段,每个目标字段都采用各自的加密算法和/或签名算法,并非统一的加密算法和/或签名算法,对于传输数据整体来说,就会呈现多种加密算法、多种签名算法形成的多种动态化的组合模式,进一步增加了复杂度,增加了破解难度,提高了数据保护的效果。
103.在示例性实施例中,上述配置文件中包含第二配置信息,第二配置信息表征安全保护功能的开关信息;针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文,其具体实现方式可以包括:响应于第二配置信息表征开启安全保护功能,针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文。
104.本发明实施例提供的数据传输方法,实现了对数据的安全保护功能。实际应用中,可以根据需要配置是否开启安全保护功能来进行数据保护。例如,可以在上述配置页面上设置安全保护功能的开关控件。基于此,通过上述配置页面针对开关控件的配置操作,开启或者关闭安全保护功能。在安全保护功能开启的情况下,再将目标字段转换成密文,使用更加灵活。
105.可以理解的是,响应于第二配置信息表征关闭安全保护功能,直接将所述第一传输数据作为第二传输数据。
106.在示例性实施例中,上述数据传输方法还可以包括:将配置文件在本地加密存储。由于配置文件中都属于敏感数据,为避免暴露,可以对配置文件加密存储。进一步的,该配置文件对应的加密密钥也可以加密存储。例如,可以基于keychain,将配置文件对应的加密密钥安全存储。keychain是一种安全的存储容器,可以存储数据量小的密码、用户名等信息,防暴力破解。另外,对于其它的常量字符串等敏感数据也可以进行加密存储,以保证数据安全。
107.在示例性实施例中,上述数据传输方法还可以包括:生成密文生成策略对应的第一动态密钥。相应的,将目标字段转换成密文,其具体实现方式可以包括:基于第一动态密钥,将目标字段转换成密文。
108.动态密钥是指加密密钥在处理数据过程中动态生成,与之相对的是静态密钥。
109.不同的密文生成策略对应的第一动态密钥不同。
110.本实施例中,可以通过密文生成策略对应的第一动态密钥,来进行密文转换,与传统的采用静态密钥的方式相比,有效地保证了密钥的安全性,另外,不同的密文生成策略对应的第一动态密钥也不同,也可以认为是密钥的一种动态化,进一步保证了密钥的安全性。
111.在示例性实施例中,生成密文生成策略对应的第一动态密钥,其具体实现方式可以包括:从预设的多种密钥生成算法中,随机选择一种密钥生成算法,以作为目标密钥生成算法;基于目标密钥生成算法,生成第一动态密钥。
112.实际应用中,可以预设多种密钥生成算法,例如,aes或者sm4。本实施例中,采用的生成第一动态密钥的目标密钥生成算法是从多种密钥生成算法中随机选择的,因此,目标密钥生成算法也是动态的,与采用固定的密钥生成算法相比,进一步提高了安全性。
113.在示例性实施例中,第一设备端和第二设备端中的一者为用户终端,那么,基于目标密钥生成算法,生成第一动态密钥,其具体实现方式可以包括:基于来自用户终端的固定密钥,以及来自安全服务端的第二动态密钥,组合形成第三动态密钥;基于目标密钥生成算法,对第三动态密钥进行处理,以得到第一动态密钥。
114.其中,来自用户终端的固定密钥也称为主密钥,来自安全服务端的第二动态密钥,也可以称为子密钥,由主密钥和子密钥形成了密钥组,即第三动态密钥。
115.本实施例中,采用密钥组的形式,将密钥分成两部分,一部分由客户端维护,一部分由安全服务端动态维护,增加了动态密钥的复杂度,进一步提高了数据保护的安全性。
116.实际应用中,用户终端可以基于用户终端的设备信息,采用第一预设密钥生成算法生成固定密钥。如此,该固定密钥也可以表征用户终端的设备信息,体现出传输数据的来源,在一定程度上可以表明数据的安全性,如果用户终端的设备信息异常,则可能存在安全隐患。
117.安全服务端可以采用第二预设密钥生成算法生成第二动态密钥。该第二动态密钥可以设置有效期,当达到有效期后,安全服务端可以采用第二预设密钥生成算法生成新的第二动态密钥,从而达到动态密钥的效果。第二动态密钥可以携带在上述配置文件中。
118.其中,安全服务端采用的第二预设密钥生成算法与对应的密文生成策略相同,以方便快速解密。
119.在示例性实施例中,第一传输数据为针对目标业务的数据,目标业务对应的第二动态密钥不同于目标业务之外的其它业务对应的第二动态密钥。
120.实际应用中,业务服务端可以同时提供多种业务,每种业务对应的第二动态密钥可以不同。通过不同业务之间采用不同的第二动态密钥,实现了不同业务的密钥相互隔离,其中一个业务出现安全问题,不会影响其它的业务,从而使得安全风险降低。举例来说,业务服务端可以提供租房业务和买车业务,租房业务的第二动态密钥被破解,但是买车业务的第二动态密钥与之不同,那么买车业务的数据仍然是安全的。
121.在示例性实施例中,上述数据传输方法还可以包括:检测运行环境是否出现异常;响应于检测到运行环境出现异常,记录异常信息,并将异常信息添加到密文中。
122.本实施例中,对运行环境的异常在线监控,在检测到运行环境出行异常时,并非将异常信息直接显示或者直接发送到某个固定的监控端,而是将异常信息放在当前的密文中隐藏,具有较好的隐藏性,当有调试等需求时,开发人员可以通过密文中原有的数据以及异常信息,得知是在传输哪些数据时发生了哪些异常,如此,可以快速进行异常定位。
123.在示例性实施例中,上述数据传输方法还可以包括:将目标字段对应的密文生成策略的标识添加到密文中,以便采用目标字段对应的密文生成策略匹配的解密策略进行解密。实际应用中,该密文生成策略的标识可以采用随机数标识。举例来说,产生0

100之间的一个随机数,来标识aes加密算法,产生100

10000之间的一个随机数,来标识sm4加密算法。
124.在示例性实施例中,上述数据传输方法还可以包括:对来自第二设备端的第三传输数据进行解密,以得到第四传输数据;该第四传输数据是第二设备端需要传输至第一设备端的原始数据;该第三传输数据是针对第四传输数据中的所有字段的至少一个目标字段,基于该目标字段对应的至少一种按照安全级别配置的密文生成策略,将该目标字段转换成密文得到的。
125.本实施例中,除了可以将第一设备端需要发送至第二设备端的第一传输数据,转换成密文之外,还可以对来自第二设备端的密文进行解密,从而实现双方的交互。
126.实际应用中,第一设备端和第二设备端之间的内部接口通信协议可以采用google protocol buffer协议,与常用的json协议相比,数据体积可以减少到40%以上。可以将协议封装成静态库,接入方可以通过cocoapods快速集成。
127.下面以具体的应用场景为例,对本发明实施例提供的一种数据传输方法进行更加详细地介绍。
128.相关技术中,用户终端与业务服务端之间可以采用http或者https传输协议,进行网络通信,如果是采用http,则无数据加密策略,如果是采用https,加密安全性低。并且,无论是采用http还是https,都比较容易实现中间人攻击,安全性低。为此,本实施例提供了一种解决方案,具体如下:
129.对于用户终端来说,本实施例提供的数据传输方法可以封装成安全sdk,并添加到应用程序(app,application)的安装包中,另外,该安装包中还包含有上述配置文件。用户终端可以下载app的安装包,进行安装之后,用户终端中包含app以及该安全sdk、配置文件。基于此,app与业务服务端(即app服务端)之间的传输数据,都可以通过该安全sdk的上述数据传输方法进行处理。
130.对于app服务端来说,则可以通过部署有本发明实施例的数据传输方法的安全服务端,对app服务端与app之间的传输数据进行处理。
131.本实施例的数据传输方法的相关部署主要包括以下几个方面:
132.一、内部接口通信协议:a)、app服务端与app之间使用google protocol buffer协议处理通信数据,与常用的json协议相比,数据体积减少40%以上。b)、将该协议封装成静态库,接入方集成可通过cocoapods快速集成。
133.二、密钥设计:
134.a)、采用密钥组形式,将密钥拆分成两部分,一部分由用户终端维护,是用户终端由第一预设密钥生成算法生成的固定密钥,即主密钥,另一部分安全服务端维护,是由安全服务端由第二预设密钥生成算法生成的与密文生成策略对应的可更新的第二动态密钥,即子密钥,基于主密钥和子密钥,利用密钥生成算法生成,对主密钥和子密钥的密钥组进行处理,以得到第一动态密钥,更安全。
135.b)、设计多种密钥生成算法,可以从多种密钥生成算法中随机选择一种密钥生成算法生成第一动态密钥,确保密钥动态化及复杂度,有效防止暴力破解。
136.c)、子密钥与业务线关联,并设置有效期,不同业务线的子密钥相互隔离,即不同的业务线采用不同的子密钥。
137.三、加密/签名算法设计:
138.a)、采用加密算法和/或签名算法,生成密文,其中,加密算法可以从多种加密算法中选择配置,签名算法也可以从多种签名算法中选择配置。
139.b)、设置安全等级,每种算法分配不同的密钥,即,可以针对第一传输数据,按照字段分别设置加密安全等级和/或签名安全等级,不同的加密安全等级对应不同的加密算法和第一动态密钥,不同的签名安全等级对应不同的签名算法和第一动态密钥,以在字段级实现加密算法、签名算法的动态化,更安全。
140.c)、每种算法采用随机数标识,组装到密文里,以便基于随机数标识所表征的算法,确定解密算法。
141.四、设置配置文件,数据处理灵活可控:
142.a)、开关:安全保护功能上线后,可通过安全服务端提供的配置管理后台在线控制是否开启,并将开关信息添加到配置文件中;
143.b)、字段:业务线的接口要处理的字段,也可通过配置管理后台在线调整,可以设置哪些字段需要加密,签名,安全等级,所采用的加密算法,签名算法等。
144.c)、密钥:子密钥通过配置文件下发,每个业务线的子密钥相互隔离。
145.五、敏感数据保护:
146.a)、配置文件为敏感数据,可以全部加密存储。
147.b)、避免暴露常量字符串,关键key(即配置文件的加密密钥)全部通过算法生成,即加密成密文。
148.c)、使用keychain对关键key安全存储,防暴力破解。
149.六、设置异常检测机制:
150.a)、检测app运行环境异常,并标记异常信息。
151.b)、将异常信息隐藏到数据处理结果中,即添加在密文(即上述第二传输数据)里,具有较好的隐蔽性。
152.c)、对异常设备及app,进行在线监控。
153.基于此,如图3所示,本实施例的流程如下:
154.第一步、开始。
155.第二步、app准备发送网络请求(即上述第一传输数据)。该网络请求可以为http网络请求,或者https网络请求。
156.第三步、app调用安全sdk,若安全sdk的开关开启,生成密文。
157.在安全sdk中,如图4所示,在安全sdk的开关开启的情况下,可以从多种密钥生成算法中随机选择一种密钥生成算法,以得到目标密钥生成算法,基于该目标密钥生成算法,对主密钥和子密钥组合形成的第三动态密钥进行处理,以得到目标字段对应的按照加密安全等级配置的签名算法对应的第一动态密钥,按照签名安全等级配置的加密算法对应的第一动态密钥。然后,进行数据处理:采用加密安全等级及对应的第一动态密钥对网络请求中的目标字段进行加密,以及采用签名安全等级及对应的第一动态密钥对网络请求中的目标字段进行签名。图4中将高、中、低三个安全等级以1、2、3标识。之后,得到经处理的网络请求。
158.在安全sdk的开关关闭的情况下,则将原始的网络请求作为经处理的网络请求。
159.第四步、app将包含密文的网络请求(即上述第二传输数据)传输至app服务端。
160.第五步、app服务端接收来自app的包含密文的网络请求,并调用安全服务端对app密文进行解密,得到app明文。
161.第六步、app服务端响应于app明文,生成发送给app的明文,以及调用安全服务端,生成包含密文的数据并传输至app。
162.第七步、app接收到app服务端的包含密文的数据(即上述第三传输数据),调用安全sdk,对app服务端的密文进行解密,得到app服务端的明文(即上述第四传输数据)。
163.第八步、结束。
164.如此,实现了app与app服务端的网络通信。双方的数据都在进入网络通信的传输通道之前进行了安全保护处理,实现的效果如下:
165.1、不论是采用http还是https,都可实现数据的加密保护。
166.2、加密算法动态化,大大提高密文数据安全性,可防止中间人通过工具破解加密数据。
167.3、签名算法动态化,可有效检测出网络通信过程,数据被篡改的行为。
168.4、使用动态密钥技术取代传统的静态密钥技术,有效保证加密密钥的安全性。
169.图5是本发明实施例的一种数据传输装置的结构示意图。如图5所示,本实施例提供一种数据传输装置500,包括:
170.密文生成模块501,用于针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文,第一传输数据是第一设备端需要传输至第二设备端的原始数据;
171.数据获得模块502,用于将包含密文的第一传输数据,作为第二传输数据,第二传输数据是进入第一设备端与第二设备端之间进行网络通信的传输通道的数据。
172.在一种可能的实施方式中,如图6所示,还包括:
173.配置获取模块503,用于获取配置文件,配置文件包含第一配置信息,第一配置信息表征第一传输数据包含的各个字段是否为需要转换成密文的目标字段,以及目标字段对应的至少一种按照安全级别配置的密文生成策略;
174.策略确定模块504,用于基于第一配置信息,确定第一传输数据包含的所有字段中的目标字段以及目标字段对应的至少一种按照安全级别配置的密文生成策略。
175.在一种可能的实施方式中,至少一种按照安全级别配置的密文生成策略,包括:
176.按照第一安全级别配置的加密算法,和/或,按照第二安全级别配置的签名算法。
177.在一种可能的实施方式中,配置文件中包含第二配置信息,第二配置信息表征安全保护功能的开关信息;
178.密文生成模块501,具体用于:
179.响应于第二配置信息表征开启安全保护功能,针对第一传输数据包含的所有字段中的至少一个目标字段,基于目标字段对应的至少一种按照安全级别配置的密文生成策略,将目标字段转换成密文。
180.在一种可能的实施方式中,配置获取模块503,具体用于:
181.获取安全服务端更新的配置文件。
182.在一种可能的实施方式中,如图6所示,还包括:
183.文件存储模块505,用于将配置文件在本地加密存储。
184.在一种可能的实施方式中,如图6所示,还包括:
185.密钥生成模块506,用于生成密文生成策略对应的第一动态密钥;
186.密文生成模块501,具体用于:
187.基于第一动态密钥,将目标字段转换成密文。
188.在一种可能的实施方式中,密钥生成模块506,具体用于:
189.从预设的多种密钥生成算法中,随机选择一种密钥生成算法,以作为目标密钥生
成算法;
190.基于目标密钥生成算法,生成第一动态密钥。
191.在一种可能的实施方式中,第一设备端和第二设备端中的一者为用户终端,密钥生成模块506,具体用于:
192.基于来自用户终端的固定密钥,以及来自安全服务端的第二动态密钥,组合形成第三动态密钥;
193.基于目标密钥生成算法,对第三动态密钥进行处理,以得到第一动态密钥。
194.在一种可能的实施方式中,第一传输数据为针对目标业务的数据,目标业务对应的第二动态密钥不同于目标业务之外的其它业务对应的第二动态密钥。
195.在一种可能的实施方式中,如图6所示,还包括:
196.异常检测模块507,用于检测运行环境是否出现异常;响应于检测到运行环境出现异常,记录异常信息,并将异常信息添加到密文中。
197.在一种可能的实施方式中,如图6所示,还包括:
198.数据解密模块508,用于对来自第二设备端的第三传输数据进行解密,以得到第四传输数据;第四传输数据是第二设备端需要传输至第一设备端的原始数据;第三传输数据是针对第四传输数据中的所有字段的至少一个目标字段,基于该目标字段对应的至少一种按照安全级别配置的密文生成策略,将该目标字段转换成密文得到的。
199.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
200.本发明实施例提供的一种电子设备,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现如以上任一实施例中的数据传输方法的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
201.图7是本发明实施例提供的一种示例性的电子设备的结构示意图。如图7所示,该电子设备可以包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的计算机程序,以执行以上任一实施例中的数据传输方法。
202.本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如以上任一实施例中的数据传输方法的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read

only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
203.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
204.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
205.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
206.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
207.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
208.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
209.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
210.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
211.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
212.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献