本公开涉及计算机,尤其涉及一种文件传输系统及方法、装置、电子设备和存储介质。
背景技术:
1、网络信息安全对于公司尤为重要,为了保障公司核心业务的网络安全,通常,对于公司内部网络架构往往分为核心区和资源隔离区,每个区域之间都是独立的网络环境,各个区域之间文件交互都有各自的特定网络通道交互数据。
2、核心区(core区):主力产品、关键技术、核心代码等关键信息项目部门或产品部门,有独立的网络环境,专属的服务器,位于企业内网,部署在核心区的应用不允许从互联网直接访问,也无法直接访问互联网。
3、隔离区(demilitarized zone,dmz):少数研发测试、文档办公、对外交流、技术支持、移动办公环境,有独立的内网环境并可以访问外网,文件到核心区只能通过单向的文件传输接口,访问业务系统有企业信息门户(enterprise information portal,eip)、外网邮箱、客户关系管理系统(customer relationship management,crm)等,并会使用即时通信工具等跟外部沟通,目前到隔离区的文件无管控措施,核心区的应用需要访问互联网(比如调用公网接口),需要在资源隔离区搭出向代理,通过隔离区访问互联网;互联网想要访问核心区应用,需要在隔离区搭入向代理,通过隔离区访问核心区应用。
4、对于公司内部的文件跨区传输,其安全性有待于进一步提升。
技术实现思路
1、本公开提出了一种文件传输技术方案。
2、根据本公开的一方面,提供了一种文件传输系统,所述系统包括:服务端和客户端,所述服务端包括位于核心区的第一服务端和位于隔离区的第二服务端,所述客户端包括位于核心区的第一客户端和位于隔离区的第二客户端;位于同一区的客户端与服务端之间能够进行通信;
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、所述服务端,将文件上传和/或文件跨区传输的日志信息,实时发送给管理端;
74、所述服务端,按照预设周期,将最近一个周期内产生的文件操作的日志信息,定时发送给管理端。
75、在一种可能的实现方式中,所述第一服务端和第二服务端之间通过单个接口进行通信。
76、根据本公开的一方面,提供了一种文件传输方法,其特征在于,应用于文件传输系统中的客户端,所述客户端包括位于核心区的第一客户端和位于隔离区的第二客户端,所述客户端能够与位于同一区的服务端进行通信,所述方法包括:
77、向位于同一区的服务端发送文件上传请求,以便位于同一区的服务端将上传的文件保存在本区的存储模块中;
78、向位于同一区的服务端发送文件跨区传输请求,以便位于同一区的服务端向另一区的服务端获取目标文件,并在获取到目标文件的情况下,将目标文件保存在本区的存储模块中。
79、在一种可能的实现方式中,所述方法还包括:
80、接收用户的用户登录信息配置指令,将用户配置的用户登录信息保存在本地;
81、在接收到用户输入的针对文件的操作指令的情况下,读取本地保存的用户登录信息执行登陆操作,并在登陆成功的情况下,根据用户输入的操作指令生成对应的请求发送给服务端。
82、在一种可能的实现方式中,所述用户登录信息包括:用户名、加密后的用户密码和用户私钥:
83、所述将用户配置的用户登录信息保存在本地包括:
84、对用户名、用户私钥和终端标识进行组合得到客户端加密密钥,利用所述客户端加密密钥对所述用户密码进行加密,利用客户端公钥对用户私钥进行加密,并对用户名、加密后的用户私钥和加密后的用户密码进行保存。
85、在一种可能的实现方式中,所述读取本地保存的用户登录信息执行登陆操作,包括:
86、获取保存的用户名、加密后的用户私钥、加密后的用户密码和终端标识;
87、利用客户端公钥对加密后的用户私钥进行解密,得到用户私钥;
88、对用户名、用户私钥和终端标识进行组合得到客户端加密密钥,利用所述客户端加密密钥对加密后的用户密码进行解密,得到用户密码;
89、利用所述用户名和解密后的用户密码进行用户登陆操作。
90、根据本公开的一方面,提供了一种文件传输装置,其特征在于,应用于文件传输系统中的服务端,所述服务端包括位于核心区的第一服务端和位于隔离区的第二服务端,所述服务端能够与位于同一区的客户端进行通信,所述装置包括:
91、文件上传处理模块,用于响应于同一区的客户端的文件上传请求,将上传的文件保存在本区的存储模块中;
92、文件传输处理模块,用于响应于同一区的客户端的文件跨区传输请求,向另一区的服务端获取目标文件,并在获取到目标文件的情况下,将目标文件保存在本区的存储模块中。
93、在一种可能的实现方式中,所述装置还包括传输管控模块,用于:
94、响应于同一区的客户端的文件传输请求,对所述文件进行传输管控,所述文件传输请求包括所述文件上传请求或所述文件跨区传输请求;
95、所述对所述文件进行传输管控包括:
96、在所述客户端所在的终端标识属于终端白名单的情况下,执行文件传输操作;
97、在所述客户端的当前用户属于用户白名单的情况下,执行文件传输操作;
98、在所述终端标识不属于终端白名单且当前用户不属于用户白名单的情况下,发起内部审批,根据审批结果进行传输管控。
99、在一种可能的实现方式中,所述传输管控模块,用于:
100、在所述第一服务端接收到文件传输请求的情况下,所述第一服务端将用户请求传输的文件的文件标识和用户令牌发送给第二服务端;
101、所述第二服务端基于所述用户令牌,获取审批端的用户信息;
102、所述第二服务端基于所述文件标识和审批端的用户信息,创建审批实例并发送给审批端;
103、所述第二服务端保存审批实例信息,根据所述审批实例信息定时查询审批结果,并将审批结果进行保存;
104、所述第二服务端将审批结果发送给第一服务端;
105、所述第一服务端根据所述审批结果进行传输管控。
106、在一种可能的实现方式中,所述传输管控模块,用于:
107、在所述第一服务端接收到文件传输请求的情况下,所述第一服务端将用户请求传输的文件的文件标识和用户令牌发送给第二服务端;
108、所述第二服务端基于所述用户令牌,获取审批端的用户信息;
109、所述第二服务端基于所述文件标识和审批端的用户信息,创建审批实例并发送给审批端;
110、所述第二服务端保存审批实例信息,根据所述审批实例信息定时查询审批结果,并将审批结果进行保存;
111、所述第二服务端将审批结果发送给第一服务端;
112、所述第一服务端根据所述审批结果进行传输管控。
113、在一种可能的实现方式中,传输管控模块,用于:
114、在所述第二服务端接收到文件传输请求的情况下,所述第二服务端获取用户请求传输的文件的文件标识和用户令牌;
115、所述第二服务端基于所述用户令牌,获取审批端的用户信息;
116、所述第二服务端基于所述文件标识和审批端的用户信息,创建审批实例并发送给审批端;
117、所述第二服务端保存审批实例信息,根据所述审批实例信息定时查询审批结果,并将审批结果进行保存;
118、所述第二服务端根据所述审批结果进行传输管控。
119、在一种可能的实现方式中,传输管控模块,用于:
120、所述服务端在对文件进行保存前,获取用户名、文件名和所在区域的服务端公钥;
121、所述服务端对所述用户名、文件名、服务端公钥和随机数进行组合,得到服务端加密密钥,利用所述加密密钥对用户上传的文件进行加密,并将加密后的文件进行保存;
122、所述服务端将所述服务端加密密钥保存到数据库中,所述数据库与隔离区连接,所述核心区的服务端通过所述隔离区的服务端将所述服务端加密密钥保存到数据库中。
123、所述服务端响应于同一区的客户端的文件跨区传输请求,在从另一区的服务端获取到目标文件的情况下,从数据库中获取预先保存的所述目标文件对应的服务端加密密钥,其中,核心区的服务端通过隔离区的服务端从所述数据库获取服务端加密密钥;
124、所述服务端利用所述加密密钥对所述目标文件进行解密,得到解密后的目标文件。
125、在一种可能的实现方式中,所述装置还包括:
126、实时发送模块,用于将文件上传和/或文件跨区传输的日志信息,实时发送给管理端;
127、定时发送模块,用于按照预设周期,将最近一个周期内产生的文件操作的日志信息,定时发送给管理端。
128、在一种可能的实现方式中,所述第一服务端和第二服务端之间通过单个接口进行通信。
129、根据本公开的一方面,提供了一种文件传输装置,其特征在于,应用于文件传输系统中的客户端,所述客户端包括位于核心区的第一客户端和位于隔离区的第二客户端,所述客户端能够与位于同一区的服务端进行通信,所述装置包括:
130、文件上传模块,用于向位于同一区的服务端发送文件上传请求,以便位于同一区的服务端将上传的文件保存在本区的存储模块中;
131、文件传输模块,用于向位于同一区的服务端发送文件跨区传输请求,以便位于同一区的服务端向另一区的服务端获取目标文件,并在获取到目标文件的情况下,将目标文件保存在本区的存储模块中。
132、在一种可能的实现方式中,所述装置还包括:
133、配置保存模块,用于接收用户的用户登录信息配置指令,将用户配置的用户登录信息保存在本地;
134、登陆模块,用于在接收到用户输入的针对文件的操作指令的情况下,读取本地保存的用户登录信息执行登陆操作,并在登陆成功的情况下,根据用户输入的操作指令生成对应的请求发送给服务端。
135、在一种可能的实现方式中,所述用户登录信息包括:用户名、加密后的用户密码和用户私钥:
136、所述配置保存模块:用于对用户名、用户私钥和终端标识进行组合得到客户端加密密钥,利用所述客户端加密密钥对所述用户密码进行加密,利用客户端公钥对用户私钥进行加密,并对用户名、加密后的用户私钥和加密后的用户密码进行保存。
137、在一种可能的实现方式中,所述登陆模块,用于:
138、获取保存的用户名、加密后的用户私钥、加密后的用户密码和终端标识;
139、利用客户端公钥对加密后的用户私钥进行解密,得到用户私钥;
140、对用户名、用户私钥和终端标识进行组合得到客户端加密密钥,利用所述客户端加密密钥对加密后的用户密码进行解密,得到用户密码;
141、利用所述用户名和解密后的用户密码进行用户登陆操作。
142、根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
143、根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
144、在本公开实施例中,文件传输系统包括服务端和客户端,所述服务端包括位于核心区的第一服务端和位于隔离区的第二服务端,所述客户端包括位于核心区的第一客户端和位于隔离区的第二客户端;位于同一区的客户端与服务端之间能够进行通信;所述服务端响应于同一区的客户端的文件上传请求,将上传的文件保存在本区的存储模块中;所述服务端响应于同一区的客户端的文件跨区传输请求,向另一区的服务端获取目标文件,并在获取到目标文件的情况下,将目标文件保存在本区的存储模块中。由此,通过文件分区保存,文件只保留在上传区域,仅当发起文件跨区传输请求时才会触发文件的单次跨区传输行为,提高了网络的安全性。
145、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。