基于开放互联网的数据安全通信方法及装置与流程

文档序号:33452795发布日期:2023-03-15 01:23阅读:26来源:国知局
基于开放互联网的数据安全通信方法及装置与流程

1.本发明实施例涉及计算机技术领域,特别涉及一种基于开放互联网的数据安全通信方法及装置。


背景技术:

2.互联网是一个开放的非安全网络,在开放互联网环境中进行端点间通信,需要采取安全策略保证数据安全通信。目前,针对应用层的攻击种类繁多,攻击手段可以包括数据伪造、数据篡改、数据阻断、数据重放等。为应对和防范这些攻击手段,存在对应的单一安全策略。但是,单一安全策略不能够对其他攻击手段产生有效的防御效果,若配置所有安全策略,虽能保证数据安全,但通信效率较差。可见现有技术方案无法达到安全和效率的平衡。


技术实现要素:

3.本发明实施例提供了一种基于开放互联网的数据安全通信方法及装置,能够灵活根据业务场景以及数据密级进行安全配置,以尽可能在安全和效率之间做出平衡。
4.第一方面,本发明实施例提供了一种基于开放互联网的数据安全通信方法,包括:
5.获取业务请求中携带的业务数据;所述业务请求是业务系统针对目标业务接口发起的;所述业务系统包括多个业务接口,所述多个业务接口基于不同数据密级一一对应的配置有多个安全策略;
6.基于预先对所述目标业务接口配置的目标安全策略,对所述业务数据进行处理,得到处理后的安全数据;
7.将所述安全数据发送给业务请求的响应端。
8.在一种可能的实现方式中,为业务接口配置的安全策略包括:https安全链路保护策略、应用级加密策略和数据指纹策略中的一种或多种。
9.在一种可能的实现方式中,每一种所述安全策略对应至少一个安全维度;为业务接口配置的安全策略是多种安全策略中相应安全维度的组合。
10.在一种可能的实现方式中,还包括:在对所述业务系统中每一个业务接口均配置完成后,将配置方案进行封装,以使所述业务系统与通信端进行业务数据的通信时,利用封装后的配置方案对通信的业务数据进行相应处理。
11.在一种可能的实现方式中,每一个业务接口包括至少一个对象,每一个对象包括至少一个字段;
12.对业务接口配置安全策略,包括:对业务接口、该业务接口包括的每一个对象、以及每一个对象包括的每一个字段分别配置安全策略。
13.在一种可能的实现方式中,所述对所述业务数据进行处理,包括:
14.将所述业务数据按照所属对象划分为若干个字段数据,根据所述目标安全策略确定对所述目标业务接口中每一个字段所需执行的实际安全策略;
15.利用每一个字段的实际安全策略对划分后的相应字段数据分别进行处理。
16.在一种可能的实现方式中,每一个字段所需执行的实际安全策略由为该字段、该字段所属对象以及所述目标业务接口分别配置的安全策略综合决定。
17.第二方面,本发明实施例还提供了一种基于开放互联网的数据安全通信装置,包括:
18.获取单元,用于获取业务请求中携带的业务数据;所述业务请求是业务系统针对目标业务接口发起的;所述业务系统包括多个业务接口,所述多个业务接口基于不同数据密级一一对应的配置有多个安全策略;
19.处理单元,用于基于预先对所述目标业务接口配置的目标安全策略,对所述业务数据进行处理,得到处理后的安全数据;
20.通信单元,用于将所述安全数据发送给业务请求的响应端。
21.第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
22.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
23.本发明实施例提供了一种基于开放互联网的数据安全通信方法及装置,不同的业务系统其业务场景不同,可以针对业务系统中多个业务接口的不同数据密级,分别配置相应的安全策略,以灵活适配业务场景,由于不同的业务接口其安全策略不完全相同,有些业务接口更侧重数据安全,有的业务接口更侧重通信效率,由此使得业务系统的整体数据通信在安全和效率上做出平衡。
附图说明
24.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1是本发明一实施例提供的一种基于开放互联网的数据安全通信方法流程图;
26.图2是本发明一实施例提供的一种电子设备的硬件架构图;
27.图3是本发明一实施例提供的一种基于开放互联网的数据安全通信装置结构图;
28.图4是本发明一实施例提供的另一种基于开放互联网的数据安全通信装置结构图。
具体实施方式
29.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.如前所述,单一安全策略不能够对其他攻击手段产生有效的防御效果。而安全和
效率是处于对立面的,提高数据通信的安全性往往需要损失一定的通信效率。可见现有技术方案无法达到安全和效率的平衡。因此,需要提供一种可以灵活配置的数据安全通信方法。
31.基于上述问题,本发明的发明构思在于:提供一种可配置的业务接口,针对不同业务系统其对应不同的业务场景,在不同业务场景下业务系统包含的各业务接口数据密级不同,且不同业务接口的数据密级也不是完全相同的,通过对多个业务接口一一对应配置多个安全策略,以适配业务场景,使得业务系统在整体数据通信中的安全和效率达到平衡。
32.下面描述以上构思的具体实现方式。
33.请参考图1,本发明实施例提供了一种基于开放互联网的数据安全通信方法,该方法包括:
34.步骤100,获取业务请求中携带的业务数据;所述业务请求是业务系统针对目标业务接口发起的;所述业务系统包括多个业务接口,所述多个业务接口基于不同数据密级一一对应的配置有多个安全策略;
35.步骤102,基于预先对所述目标业务接口配置的目标安全策略,对所述业务数据进行处理,得到处理后的安全数据;
36.步骤104,将所述安全数据发送给业务请求的响应端。
37.本发明实施例中,不同的业务系统其业务场景不同,可以针对业务系统中多个业务接口的不同数据密级,分别配置相应的安全策略,以灵活适配业务场景,由于不同的业务接口其安全策略不完全相同,有些业务接口更侧重数据安全,有的业务接口更侧重通信效率,由此使得业务系统的整体数据通信在安全和效率上做出平衡。
38.下面描述图1所示的各个步骤的执行方式。
39.首先,针对步骤100,获取业务请求中携带的业务数据;所述业务请求是业务系统针对目标业务接口发起的;所述业务系统包括多个业务接口,所述多个业务接口基于不同数据密级一一对应的配置有多个安全策略。
40.不同的业务场景下的业务系统,其包含的业务接口不同,业务接口所对应的数据密级也不同。其中,业务系统中包括多个业务接口,每一个业务接口实现不同的业务功能。
41.业务系统在执行相应业务功能之前,需要对相应业务接口进行安全策略的配置,以使该业务接口被调用执行相应业务功能时能够按照配置的安全策略对业务数据进行相应处理。
42.本发明一个实施例中,为业务接口配置的安全策略包括:https安全链路保护策略、应用级加密策略和数据指纹策略中的一种或多种。当业务接口的数据密级不同时,可以使用不同的安全策略。比如,业务接口1对应的数据密级较低,可以为业务接口1仅配置https安全链路保护策略;再比如,业务接口2对应的数据密级较高,需要为业务接口2配置https安全链路保护策略、应用级加密策略和数据指纹策略。
43.需要说明的是,若某个业务接口的业务数据属于公开数据,不具有保密性,为了保证数据传输效率,也可以不对该业务接口配置安全策略。
44.进一步地,每一种所述安全策略对应至少一个安全维度;为业务接口配置的安全策略是多种安全策略中相应安全维度的组合。
45.下面对上述三种安全策略及其安全维度分别进行说明。
46.1、https安全链路保护策略
47.https安全链路保护策略是在原有业务系统的基础上,加入https安全链路的相关配置。其中,https安全链路保护策略双向认证、非对称加密、公钥协商等原理,一定程度上解决了证书伪造、数据篡改、中间人攻击等手段,为网络安全通信提供了第一层保障。
48.具体地,以客户端与服务端的数据通信为例,该https安全链路保护策略包括:
49.s1、客户端向服务端发起请求,判断是https时发送自身支持的加密算法;
50.s2、服务端根据自身支持的加密算法筛选出一套和客户端匹配的算法,并返回包含匹配的加密算法、公钥、基本信息的数字证书ca;
51.s3、客户端对所接收证书逐级向上校验直到找到可信签发节点;若直到root都未找到可信签发节点,则浏览器展示警告信息提示用户风险(用户仍然可以无视风险继续访问);若找到可信签发节点,则生成和存储随机数,并使用公钥加密后发送给服务端;
52.s4、服务端使用私钥解密得到随机数,并使用随机数作为密钥使用约定的对称加密算法发送给客户端;
53.s5、客户端使用存储的随机数作为密钥,并使用约定的对称加密算法进行解密;此时,https安全链路已经建立完成。
54.其中,https安全链路保护策略可以包括一个安全维度:在https安全链路建立完成后,后续数据通信均使用该随机数作为密钥的对称解密来进行安全通信。
55.具体地,该https安全链路保护策略需要提供如下功能:
56.1-1:在服务启动时根据配置对设定业务接口进行动态配置;配置完成后,在调用该业务接口时,业务数据的通信均使用约定的随机数作为密钥的对称加密来进行安全通信。
57.2、应用级加密策略
58.使用https安全链路保护策略进行通信是最基本的安全屏障,但依然有一些风险是其无法解决的。比如,攻击者作为中间人向服务端发送请求得到服务器的证书进而获取到公钥,之后就能和服务器进行正常的通信拿到明文的服务器数据,从而产生一定的安全风险。
59.本发明一个实施例中,可以在https安全链路保护策略的基础上增加应用级加密策略,具体地,由服务端发送加密数据,中间人接收到加密数据之后无法使用只能直接转发给客户端,如此,即便攻击者作为中间人获取到服务端下发的数据仍然没办法使用,因为其获取到的是一串无法解读的密文。
60.其中,应用级加密策略可以包括一种安全维度:在应用层级上对数据加密之后发送。
61.具体地,该应用级加密策略需要提供如下功能:
62.2-1:制定密钥协商协议至少具备三种状态,分别是正常、可刷新、已过期;
63.2-2:提供密钥获取方法,在无密钥以及持有过期密钥时可以正常获取;
64.2-3:提供密钥刷新方法,在持有可刷新密钥时,可将持有密钥作为凭证进行刷新。
65.3、数据指纹策略
66.应用级加密策略仍然不完备,这是因为攻击者虽然获取到的密文无法被直接解读,但是却可以被重复在客户端和服务器之间被投递,只要找到密文和实际动作之间的关
系,完全可以进行排列组合得出一整套的攻击指令。
67.因此,还需要一套机制来保证数据一旦下发就只能被执行一次。本发明一个实施例中,可以采用数据指纹策略来解决此问题,即将所有原始数据按照一定规则进行排序之后生成一串明文字符串。本发明实施例中,可以采用数据字段名的ascii码升序进行排序,然后对该字符串进行摘要计算,得出的定长字符串就是该次发送数据的指纹。
68.进一步地,使用数据指纹策略还不能解决重放攻击,这是因为在服务运行过程中若存在传递相同数据时,这些相同数据的指纹也是相同的,如此无法识别是攻击者发出的还是真实业务产生的。为了解决此问题,本发明一个实施例中,可以在通信数据中加入时间戳和/或随机数,如此即便多次互相通信了相同数据,也会因为时间戳或者随机数不同而使得其数据指纹不同,也就使得每次通信数据的数据指纹都是唯一的且具有时效的。如此具备了解决重放攻击的前提要素,我们只需要对数据时间戳进行判断以及数据指纹进行判断,便可以得知该数据是否过期,以及是否被发送并解析过,进而有效分离出重放攻击者发送的攻击数据。
69.可见,数据指纹策略可以包括如下几种安全维度:
70.第一维度:将所有原始数据按照一定规则进行排序之后生成一串明文字符串,将该明文字符串作为数据指纹;
71.本实施例中,该规则可以为:根据字段名的ascii升序进行原始字符串排序。
72.第二维度:在原始数据中加入时间戳和/或随机数,得到拼接数据之后,将拼接数据按照一定规则进行排序之后生成一串明文字符串,将该明文字符串作为数据指纹;
73.本实施例中,可以设定时间差和/或随机数加入在原始数据中的规则,比如插入到原始数据的起始位置或结束位置。
74.第三维度:对解密数据中的时间戳和/或随机数进行通信有效期判断或消费判断。
75.本实施例中,可以提供一种机制对解密数据中的时间戳进行通信有效期判断,比如,可以采用时间戳冗余算法,即根据当前系统时间加上配置的冗余量进行有效期判断,防止短暂的时间误差导致大量的指纹错误。
76.本实施例中,可以提供一种机制对唯一数据指纹进行消费判断,比如,可以采用有效期凭证进行记录,一旦唯一的数据指纹被执行过便会将其进行缓存,后续再接收到相同指纹数据时便直接判断为非法指纹。
77.上述三个维度的安全性能是层层递进的,具体在配置数据指纹策略时,可以选择不同的维度进行配置。
78.需要说明的是,上述三种安全策略以及每一种安全策略所包括的安全维度仅为示例性的,除此之外还可以包括其他安全策略以及其他安全维度,当新增了新的安全策略和/或安全维度后,可以利用新增的安全策略和/或安全维度对业务接口进行更新配置。
79.在为业务接口配置安全策略时,可以基于业务接口的数据密级不同配置为多种安全策略中相应安全维度的组合。比如,对于登录业务接口和支付业务接口,支付业务接口的数据密级高于登录业务接口的数据密级,对于登录业务接口可以只配置https安全链路保护策略和应用级加密策略,对于支付业务接口可以配置https安全链路保护策略、应用级加密策略和第三维度的数据指纹策略。
80.进一步地,在对业务接口进行安全策略的灵活配置时,每一个业务接口包括至少
一个对象,每一个对象包括至少一个字段。比如,登录业务接口可以包括一个user对象,该user对象可以包括两个字段:username和password。
81.在对业务接口配置安全策略时,可以从多个切面进行切入,具体地,可以对业务接口、该业务接口包括的每一个对象、以及每一个对象包括的每一个字段分别配置安全策略。比如,可以对登录业务接口、user对象、username字段和password字段分别进行配置。
82.需要说明的是,当对业务接口配置完成安全策略之后,该安全策略可以适用于该业务接口所包括的对象以及每一个对象所包括的字段。也就说,一个字段的实际安全策略由为该字段、该字段所属对象以及该对象所属业务接口分别配置的安全策略综合决定。
83.本发明一个实施例中,在对所述业务系统中每一个业务接口均配置完成后,可以将配置方案进行封装,以使所述业务系统与通信端进行业务数据的通信时,利用封装后的配置方案对通信的业务数据进行相应处理。
84.本发明一个实施例中,上述安全策略在配置完成之后,随时可进行安全策略的调节配置,以利用调节配置的安全策略对相应的业务数据进行处理。
85.进一步地,本发明实施例不限开发语言,在实现灵活配置时,可以以java为例进行说明。具体地,可以先定义secure自定义类型/方法/属性注解,用于配置该类型/方法/属性是否需要进行这些安全策略的防护,其次在注解内部加入具体防护策略的配置,配置池数据可以来自于某个枚举类的定义,后期可以不断地根据业态发展而进行扩展。比如,提供scope属性值用于对安全密级进行配置,再比如,提供signature属性值用于对数据指纹生成算法进行配置。
86.本实施例中,通过对每一个业务接口、每个对象和每个字段提供可配置的形式,使得整个方案能够根据实际业务场景在效率和安全之间自由调整。
87.然后,针对步骤102,基于预先对所述目标业务接口配置的目标安全策略,对所述业务数据进行处理,得到处理后的安全数据。
88.具体地,在对业务数据进行处理时,可以包括:将所述业务数据按照所属对象划分为若干个字段数据,根据所述目标安全策略确定对所述目标业务接口中每一个字段所需执行的实际安全策略;利用每一个字段的实际安全策略对划分后的相应字段数据分别进行处理。
89.继续以登录业务接口为例,可以将业务数据划分为username字段和password字段。然后基于对登录业务接口配置的安全策略,确定username字段和password字段的实际安全策略,比如,对登录业务接口配置的安全策略为https安全链路保护策略,对user对象配置的安全策略为应用级加密策略,对password字段配置的安全策略为第三维度的数据指纹策略,那么可以综合得出username字段的实际安全策略为https安全链路保护策略和应用级加密策略,password字段的实际安全策略为https安全链路保护策略、应用级加密策略和第三维度的数据指纹策略。因此,可以利用实际安全策略对相应字段数据进行处理,处理后的数据即为安全数据。
90.本发明实施例具有封装完善,低侵入性,集成简单,配置灵活等特性,且没有依懒于特定的语言环境能根据实际业务场景进行适配,并具有动态更新的机制能一定程度上持续保持较强的保障安全通信能力。
91.如图2、图3所示,基于与上述基于开放互联网的数据安全通信方法实施例的相同
构思,本发明实施例还提供了一种基于开放互联网的数据安全通信装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种基于开放互联网的数据安全通信装置所在电子设备的一种硬件架构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在电子设备的cpu将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种基于开放互联网的数据安全通信装置,包括:
92.获取单元301,用于获取业务请求中携带的业务数据;所述业务请求是业务系统针对目标业务接口发起的;所述业务系统包括多个业务接口,所述多个业务接口基于不同数据密级一一对应的配置有多个安全策略;
93.处理单元302,用于基于预先对所述目标业务接口配置的目标安全策略,对所述业务数据进行处理,得到处理后的安全数据;
94.通信单元303,用于将所述安全数据发送给业务请求的响应端。
95.在本发明一个实施例中,为业务接口配置的安全策略包括:https安全链路保护策略、应用级加密策略和数据指纹策略中的一种或多种。
96.在本发明一个实施例中,每一种所述安全策略对应至少一个安全维度;为业务接口配置的安全策略是多种安全策略中相应安全维度的组合。
97.在本发明一个实施例中,处理单元还用于:在对所述业务系统中每一个业务接口均配置完成后,将配置方案进行封装,以使所述业务系统与通信端进行业务数据的通信时,利用封装后的配置方案对通信的业务数据进行相应处理。
98.在本发明一个实施例中,每一个业务接口包括至少一个对象,每一个对象包括至少一个字段;
99.请参考图4,该装置还可以包括:配置单元304,用于利用如下方式对业务接口配置安全策略:对业务接口、该业务接口包括的每一个对象、以及每一个对象包括的每一个字段分别配置安全策略。
100.在本发明一个实施例中,所述处理单元,具体用于将所述业务数据按照所属对象划分为若干个字段数据,根据所述目标安全策略确定对所述目标业务接口中每一个字段所需执行的实际安全策略;利用每一个字段的实际安全策略对划分后的相应字段数据分别进行处理。
101.在本发明一个实施例中,每一个字段所需执行的实际安全策略由为该字段、该字段所属对象以及所述目标业务接口分别配置的安全策略综合决定。
102.可以理解的是,本发明实施例示意的结构并不构成对一种基于开放互联网的数据安全通信装置的具体限定。在本发明的另一些实施例中,一种基于开放互联网的数据安全通信装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
103.上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
104.本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储
有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种基于开放互联网的数据安全通信方法。
105.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种基于开放互联网的数据安全通信方法。
106.具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
107.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
108.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
109.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
110.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
111.需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
112.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
113.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1