CN113645226A - 一种基于网关层的数据处理方法、装置、设备及存储介质 - Google Patents
一种基于网关层的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113645226A CN113645226A CN202110909216.XA CN202110909216A CN113645226A CN 113645226 A CN113645226 A CN 113645226A CN 202110909216 A CN202110909216 A CN 202110909216A CN 113645226 A CN113645226 A CN 113645226A
- Authority
- CN
- China
- Prior art keywords
- key
- user
- label
- encrypted data
- authorization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于网关层的数据处理方法,包括:网关层获取客户端发送的请求信息;识别请求信息中待加密的目标字段,确定与每个目标字段对应的第一标签密钥;通过第一标签密钥对目标字段进行加密,并与第一标签密钥对应的第一密钥标签构造第二请求信息发送至业务系统。可见,本方案为了避免对业务系统产生较大的改动,主要通过网关层对关键数据进行处理,若客户端发送的请求信息中具有待加密的目标字段,则通过对应的标签密钥加密后再发送,从而既可实现对业务系统关键信息的加密处理,确保关键数据的安全性,又可避免对业务系统进行较大改进。本发明还公开了一种基于网关层的数据处理装置、设备及存储介质,同样能实现上述技术效果。
Description
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种基于网关层的数据处理方法、装置、设备及存储介质。
背景技术
随着技术的发展,数据被泄露的情况日益增多,保证敏感数据的安全性是非常重要的。目前对业务系统中关键信息的加解密等操作,需要对原有的业务系统进行较大的改动,通过业务系统实现相关逻辑,实现过程比较繁琐。因此,如何在对业务系统尽可能小的改动下,实现对业务系统关键信息的加解密等处理操作,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种基于网关层的数据处理方法、装置、设备及存储介质,以在业务系统较小改动下,实现对业务系统关键信息的加解密等处理操作,确保关键数据的安全性。
为实现上述目的,本发明提供一种基于网关层的数据处理方法,包括:
网关层获取客户端发送的请求信息;
识别所述请求信息中待加密的目标字段,并确定与每个目标字段对应的第一标签密钥;其中,每个标签密钥具有唯一对应的密钥标签;
通过所述第一标签密钥对所述目标字段进行加密,并与所述第一标签密钥对应的第一密钥标签构造第二请求信息发送至对应的业务系统。
其中,所述数据处理方法还包括:
所述网关层拦截所述业务系统发送的响应信息;
判断所述响应信息中是否含有密文;
若否,则将所述响应信息发送至对应的客户端;
若是,则确定与所述响应信息对应的第二密钥标签及用户ID,并判断密钥授权库中是否存在与所述第二密钥标签及用户ID相匹配的第一加密数据;若不存在,则直接将所述响应信息发送至对应的客户端;
若存在,则从所述密钥授权库中获取所述第一加密数据,并根据所述用户ID从公私钥对数据库中获取对应的第二加密数据;
通过与所述用户ID对应的用户密码解密所述第二加密数据,得到用户私钥,并通过所述用户私钥解密所述第一加密数据得到第二标签密钥,并通过所述第二标签密钥对所述响应信息解密,并将解密的响应信息发送至对应的客户端。
其中,所述识别所述请求信息中待加密的目标字段,包括:
根据所述请求信息中的接口信息匹配对应的识别策略;
利用所述识别策略对所述请求信息中待加密的目标字段进行识别。
其中,所述通过所述第一标签密钥对所述目标字段进行加密之后,还包括:通过系统公钥加密所述第一标签密钥得到第三加密数据,并将所述第三加密数据及所述第一密钥标签存入原始密钥库。
其中,密钥授权库的构建过程包括:
所述业务系统接收目标用户发送的第一授权指令;所述第一授权指令包括授权项及授权用户;所述授权项为第三密钥标签;
若所述目标用户为超级管理员,则根据所述第三密钥标签从原始密钥库中获取第四加密数据,通过系统私钥对所述第四加密数据解密得到第三标签密钥;通过所述授权用户的用户公钥加密所述第三标签密钥得到第五加密数据D4,并将所述授权用户的用户ID、所述第五加密数据及所述第三密钥标签存储至密钥授权库。
其中,本方法还包括:
所述业务系统接收超级管理员发送的第二授权指令;所述第二授权指令包括被授权的普通管理员;
通过第一随机密钥加密系统私钥得到第六加密数据;
确定被授权的普通管理员的用户ID,并根据所述普通管理员的用户公钥对所述第一随机密钥加密得到第七加密数据;
将所述普通管理员的用户ID及对应的第六加密数据和第七加密数据存入功能授权表。
其中,所述业务系统接收目标用户发送的第一授权指令之后,还包括:
若所述目标用户为目标普通管理员,则从所述功能授权表中获取与所述目标普通管理员的用户ID对应的第八加密数据和第九加密数据;
通过所述目标普通管理员的用户私钥解密第九加密数据得到第二随机密钥,并通过所述第二随机密钥解密所述第八加密数据得到系统私钥;通过系统私钥对所述第四加密数据解密得到第四密钥标签;
通过所述授权用户的用户公钥加密所述第四密钥标签得到第十加密数据,并将所述授权用户的用户ID、所述第十加密数据及所述第三密钥标签存储至密钥授权库。
为实现上述目的,本发明进一步提供一种基于网关层的数据处理装置,包括:
第一获取模块,用于获取客户端发送的请求信息;
识别模块,用于识别所述请求信息中待加密的目标字段;
第一确定模块,用于确定与每个目标字段对应的第一标签密钥;其中,每个标签密钥具有唯一对应的密钥标签;
第一加密模块,用于通过所述第一标签密钥对所述目标字段进行加密;
第一发送模块,用于在所述目标字段解密后,与所述第一标签密钥对应的第一密钥标签构造第二请求信息发送至对应的业务系统。
为实现上述目的,本发明进一步提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述基于网关层的数据处理方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于网关层的数据处理方法的步骤。
通过以上方案可知,本发明实施例提供的一种基于网关层的数据处理方法,包括:网关层获取客户端发送的请求信息;识别请求信息中待加密的目标字段,并确定与每个目标字段对应的第一标签密钥;其中,每个标签密钥具有唯一对应的密钥标签;通过第一标签密钥对目标字段进行加密,并与第一标签密钥对应的第一密钥标签构造第二请求信息发送至对应的业务系统。可见,本方案为了避免对业务系统产生较大的改动,主要通过网关层对关键数据进行处理,若客户端发送的请求信息中具有待加密的目标字段,则通过对应的标签密钥加密后再发送至业务系统,从而既可实现对业务系统关键信息的加密处理,确保关键数据的安全性,又可避免对业务系统进行较大改进。本发明还公开了一种基于网关层的数据处理装置、设备及存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种数据处理系统拓扑结构图;
图2为本发明实施例公开的网关侧数据库示意图;
图3为本发明实施例公开的业务系统侧数据库示意图;
图4为本发明实施例公开的用户身份识别流程图;
图5为本发明实施例公开的一业务系统与网关层交互流程图;
图6为本发明实施例公开的一种基于网关层的数据处理方法流程示意图;
图7为本发明实施例公开的测试阶段流程示意图;
图8为本发明实施例公开的正式阶段流程示意图;
图9为本发明实施例公开的数据加密流程示意图
图10为本发明实施例公开的另一种基于网关层的数据处理方法流程示意图;
图11为本发明实施例公开的数据解密流程示意图;
图12为本发明实施例公开的整体授权流程示意图;
图13为本发明实施例公开的一种基于网关层的数据处理装置结构示意图;
图14为本发明实施例公开的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本实施例中,主要通过在网关层实现关键数据加解密及授权实现,以避免业务系统的强耦合;本方案主要功能均在网关层实现,原业务系统需要根据规格做适当改进,本方案可针对字符串类型的数据做加解密。
在对本方案进行说明之前,先对本方案所使用的相关词汇进行说明:
1)Zuul:一种HTTP代理技术实现,用于http(Hyper Text Transfer Protocol,超文本传输协议)请求的中转;
2)RSA:一种非对称加密算法。通常用于密钥交换和数字签名;
3)AES(Advanced Encryption Standard):一种对称的高级加密算法。
加解密时所用密钥相同;
3)Tag:一种用来区分密钥的密钥标签,通常写法“$tag$:”,其中“tag”可以是数字、字符串等格式类型;
4)TK(Tag-Key):是分配给Tag的标签密钥,标签密钥为一种对称加密密钥,长度不易太长;
5)Master PK/SK:系统主密钥对,Master PK为系统公钥,Master SK为系统私钥,一般是分配给超级管理员的RSA公私钥对。Master-PK主要用于TK的加密保存,Master-SK是打开系统内所有标签密钥的钥匙;Master SK也使用Password加密存储;
6)User PK/SK:分配给其他用户的公私钥对,User PK为用户私钥,User SK为用户公钥;具体来说,用户在注册时即可产生该公私钥对,并设置用户密码Password,用户私钥通过Password加密后存储至公私钥对库。
7)D0:使用Master-PK对TK加密得到D0;
8)Password:每个用户设置的用户密码,用于加密个人的私钥User-SK,如:SuperAdmin的私钥就由它自己的Password通过AES加密存储;
9)K1:单次授权密钥,用于加密Master SK的密钥,当超级管理员授权某个管理员拥有“密钥授权”功能权限时,会随机产生一个K1,通过AES算法加密Master SK得到D1,在用User-PK加密K1得到D2,最后将D1和D2一起存入业务系统的功能授权库中;
10)公私钥对库:存放所有的公私钥对数据,User SK使用Password通过AES加密得到D3进行存储,PK明文存储;
11)功能授权库:存储超级管理员对普通管理员的授权数据,即前文所述的D1和D2及用户身份数据(User ID);
12)原始密钥库:存储使用Master PK加密TK密钥后得到的密钥数据D0和对应的Tag;
13)密钥授权库:存储管理员授权普通用户查看数据用的授权数据,使用被授权用户User-PK加密TK生成D4,分别存储D4和被授权用户身份
14)接口库:网关在测试阶段收集到的所有接口数据。
为了对本方案进行说明,参见图1,为本发明实施例提供的一种数据处理系统拓扑结构图,在本实施例中,本系统基于B/S(Browser/Server,浏览器/服务器模式)架构运行,系统主要包括:客户端和网关层、业务系统,其中,客户端主要是浏览器,用于向业务系统发送请求信息,接收业务系统发送的响应信息,并判断响应信息的字段中是否有“$Tag$:”前缀,若有“$Tag$:”前缀,则判定响应信息中有密文,此时客户端可隐藏此密文,以“此字段已加密”展示;若没有“$Tag$:”前缀,则说明解密成功;在本方案中,网关层可以为Zuul网关,主要用于请求转发、身份识别、敏感数据加解密、权限控制、密钥管理,在对请求信息进行处理时,通过标签密钥TK对字段进行加密后,需要使用Master PK加密标签密钥TK得到D0进行存储,在对响应信息进行处理时,需要根据识别到的用户身份及权限是否需要解密展示。业务系统位于服务器端,用于接收请求并做出响应。
具体来说,本方案在网关层侧,可以通过执行初始SQL(Structured QueryLanguage,结构化查询语言)生成配套的数据表结构,以存放后期产生的策略数据和密钥授权数据、密钥数据以及接口数据,参见图2,为本发明实施例提供的网关侧数据库示意图,可见,数据库主要包括:API(Application Programming Interface,应用程序接口)接口库、策略库、原始密钥库、密钥授权库、公私钥对库。本方案在业务系统侧,对于加密后的字段变长需要考虑增大数据库字段长度,参见图3,为本发明实施例提供的业务系统侧数据库示意图,可见,在业务系统侧还需要增加用于存放Tag列表的字段空间,增加功能授权库、密钥授权库、公私钥对库。需要说明的是,本方案中的数据库可以根据实际需要,设置为后端业务系统和网关层共同使用。
并且,业务系统还需要提供用户身份识别所需接口,具体来说,网关层可调用业务系统的用户身份识别接口,识别出当前请求的登陆用户USER_ID,并据此查询出用户授权信息,解密出响应的密文数据。参见图4,为本发明实施例提供的用户身份识别流程图,可见,网关拦截请求后,会获取当前请求的header信息,通过调用业务系统的用户身份识别接口附加当前请求中的header得到USER_ID。
进一步,网关层还需要设置网关层接口,具体来说:客户端直接与后端进行交互,进行账号登陆(登陆密码为Password),在用户登陆成功后,通过https(Hyper TextTransfer Protocol over SecureSocket Layer,超文本传输安全协议)双向认证(用户公私钥对+网关层平台公私钥对)调用网关层接口,将当前登陆用户的password以安全的方式传送到网关层,供后续网关解密用户私钥使用。其中,https双向认证是为了保证请求数据加密传输,在传输过程中,Password作为参数是请求的一部分,最终通过https对请求中的数据做整体加密发送至业务系统。参见图5,为本发明实施例公开的一业务系统与网关层交互流程图,可见,业务层首先从公私钥对数据库中获取D3,通过用户密码Password解密出用户私钥,这样业务层便可根据用户的公私钥及系统公私钥进行的https双向认证过程,安全传输Password给网关层,网关层还需要根据Header确定用户的User ID,到公私钥对数据库中查询用户公钥,并配合系统私钥解密出Password,并将User ID及对应的Password存储至内存中,维护在线用户的Password数据,供后续解密用户的User SK。
参见图6,为本发明实施例提供的一种基于网关层的数据处理方法流程示意图,该方法具体包括:
S101、网关层获取客户端发送的请求信息;
S102、识别请求信息中待加密的目标字段,并确定与每个目标字段对应的第一标签密钥;其中,每个标签密钥具有唯一对应的密钥标签;
S103、通过第一标签密钥对目标字段进行加密,并与第一标签密钥对应的第一密钥标签构造第二请求信息发送至对应的业务系统。
具体来说,本方案为了让网关层具有识别请求信息中关键数据这一功能,需要通过两个阶段实现,具体为测试阶段及正式阶段,参加图7,为本发明实施例提供的测试阶段流程示意图,可见,在测试阶段,网关部署在测试环境后,需要开启接口发现功能,在测试人员对业务系统进行功能测试的同时,收集业务系统所有的接口信息并,待系统测试阶段完成,以json格式导出所有接口数据,存入接口库中。参见图8,为本发明实施例提供的正式阶段流程示意图,可见,当系统测试无误即将正式上线时,在系统正式部署到生产环境后,将之前收集到的接口数据导入,之后管理员可以在已有接口之上配置策略,以指定接口后期转发时需要加密的字段以及加密用的标签密钥key。配置结束后即可开启网关开关,正式对请求中的字段进行发现识别加密,找到匹配的字段列表。其中,加密位置position包括:body、query及header,body中的content-type包括:application/json、application/xml、form-data、www-form-urlencoded。
在本方案中,从请求信息中识别待加密的目标字段时,主要根据请求信息中的接口信息匹配对应的识别策略,并利用识别策略对请求信息中待加密的目标字段进行识别。具体来说,本方案对请求信息中的字段进行发现识别后,找到匹配的目标字段列表,每个目标字段的字段值value包含T信息,由于不同目标字段可以使用相同的T信息,因此本方案取所有目标字段的T信息的并集,每个T信息随机生成一个密钥标签Tag和一个标签密钥TK。在本实施例中,将目标字段对应的密钥标签称为第一密钥标签,将与第一密钥标签对应的标签密钥称为第一标签密钥,并通过第一标签密钥TK加密相应字段得到密文,密文格式类似“$tag$:[密文]”,并附加所有的Tag列表到header中,构造新的请求信息后发送至业务系统。同时,通过系统公钥Master PK加密第一标签密钥TK得到第三加密数据D0,并将第三加密数据D0及第一密钥标签Tag存入原始密钥库。
参见图9,为本发明实施例提供的数据加密流程示意图,可以看出,获取请求信息后,会根据请求信息获取匹配的策略;根据接口信息的content type找到对应的parse类,以便通过对应的方法查找请求信息中待加密的目标字段;判断匹配的策略中是否含有加密body、query、header中任意一者参数的策略,若有,则取所有目标字段的T的并集,每个T信息随机生成一个密钥标签Tag和一个标签密钥TK,然后遍历每一条策略,找到策略处理参数中的位置,对body对象或query对象、header对象中指定参数做加密处理,如:针对json文档,通过json解析方法jsonpath从json文档中找到对应的字段信息,字段信息包括字段名和value,并通过对应的标签密钥对value进行加密。然后使用Master PK加密TK得到D0插入原始密钥库,若Tag为多个,则会插入多条D0数据。根据body等对象构造新的请求发送至业务系统。
综上可见,本方案为了避免对业务系统产生较大的改动,主要通过网关层对关键数据进行处理,若客户端发送的请求信息中具有待加密的目标字段,则通过对应的标签密钥加密后再发送至业务系统,从而既可实现对业务系统关键信息的加密处理,确保关键数据的安全性,又可避免对业务系统进行较大改进。
参见图10,为本发明实施例提供的另一种基于网关层的数据处理方法流程示意图,该方法具体包括:
S201、网关层拦截业务系统发送的响应信息;
S202、判断响应信息中是否含有密文;
若否,则执行S203;若是,则执行S204;
S203、将响应信息发送至对应的客户端;
S204、确定与响应信息对应的第二密钥标签及用户ID;
S205、判断密钥授权库中是否存在与第二密钥标签及用户ID相匹配的第一加密数据;
若否,则执行S203;若是,则执行S206;
S206、从密钥授权库中获取第一加密数据D4,并根据用户ID从公私钥对数据库中获取对应的第二加密数据D3;
S207、通过与用户ID对应的用户密码解密第二加密数据D3,得到用户私钥,并通过用户私钥解密第一加密数据D4得到第二标签密钥,并通过第二标签密钥对响应信息解密,并将解密的响应信息发送至对应的客户端。
可见,在本方案中,用户需要查看敏感数据时,正常访问页面,响应信息经过网关层时会被拦截,由于密文满足一定格式“$tag$:[密文]”,因此,若可匹配出tag,则说明响应信息被加密了,否则说明响应信息未被加密,直接返回至相应的客户端;若响应信息被加密,则根据识别出的第二密钥标签Tag及经过用户身份识别出来的用户USER_ID到密钥授权库中去查询,如果可以查到匹配的记录,则说明之前有过授权,则从密钥授权库获取第一加密数据D4,在根据USER_ID取出用户密码password,对第二加密数据D3解密获取用户私钥USER SK,根据USER SK解密第一加密数据D4得到第二标签密钥TK,最后通过第二标签密钥TK解密出明文数据。
参见图11,为本发明实施例提供的数据解密流程示意图,可以看出,接收到业务系统发送的响应信息后,若响应信息中有密文,则使用正则匹配出所需的Tag,然后根据Tag及经过用户身份识别出来的USER_ID到密钥授权表中去查询,若可查询到,则说明之前有过授权,则取出D4;再根据USER_ID取出password,配合D3解密USER SK,通过USER SK解密D4得出TK,执行对应解析,如:json则产生jsonobject,然后遍历jsonobject中的键值,解密键值中的密文,将解密的响应信息返回给原请求方。
需要说明的是,本方案在业务系统扩增授权模块,目标用户可选中要授权的项授权给某个用户。其中,目标用户可以是超级管理员,也可以是被超级管理员赋予权限的普通管理员。在此,对密钥授权库的构建过程进行说明。
业务系统接收目标用户发送的第一授权指令;第一授权指令包括授权项及授权用户;授权项为第三密钥标签;
若目标用户为超级管理员,则根据第三密钥标签从原始密钥库中获取第四加密数据D0,通过系统私钥对第四加密数据D0解密得到第三标签密钥;通过授权用户的用户公钥加密第三标签密钥得到第五加密数据D4,并将授权用户的用户ID、第五加密数据D4及第三密钥标签存储至密钥授权库。
具体来说,目标用户可向业务系统发送第一授权指令,该第一授权指令包括授权项及授权用户,以便为授权用户赋予查看授权项的权利,授权项为加密字段对应的密钥标签,在此表示为第三密钥标签Tag。若目标用户为超级管理员,首先需要根据第三密钥标签Tag从原始密钥库中获取对应的第四加密数据D0,通过系统私钥对第四加密数据D0解密得到第三标签密钥TK;然后通过授权用户的用户公钥加密第三标签密钥TK得到第五加密数据D4,并将授权用户的用户ID、第五加密数据D4及第三密钥标签Tag存储至密钥授权库;其中,系统私钥一般通过超级管理员的用户密码加密存储,因此在获取系统私钥时,需要通过超级管理员的用户密码解密获得系统私钥解密。
进一步,若超级管理员要给普通管理员赋予权限,则本方案还包括:
业务系统接收超级管理员发送的第二授权指令;第二授权指令包括被授权的普通管理员;通过第一随机密钥K1加密系统私钥得到第六加密数据D1;确定被授权的普通管理员的用户ID,并根据普通管理员的用户公钥对第一随机密钥K1加密得到第七加密数据D2;将普通管理员的用户ID及对应的第六加密数据D1和第七加密数据D2存入功能授权表。
因此,本方案在构建密钥授权库时,若目标用户为目标普通管理员,则本方案还需要从功能授权表中获取与目标普通管理员的用户ID对应的第八加密数据D1和第九加密数据D2;若功能授权表中不存在与目标普通管理员的用户ID对应数据,则说明目标普通管理员不具有权限。
然后通过目标普通管理员的用户私钥解密第九加密数据D2得到第二随机密钥K1,并通过第二随机密钥K1解密第八加密数据D1得到系统私钥;通过系统私钥对第四加密数据D0解密得到第四密钥标签TK;通过授权用户的用户公钥加密第四密钥标签TK得到第十加密数据D4,并将授权用户的用户ID、第十加密数据D4及第三密钥标签Tag存储至密钥授权库。
通过上述方式构造密钥授权库后,网关系统拦截到响应信息后,便可通过该密钥授权库判断用户是否具有查看密文的权利,只有用户具有查看密文的权利时,才对密文进行解密返回给用户,否则不会对密文进行解密。参见图12,为本发明实施例提供的整体授权流程示意图,可见,目标用户进入扩展的授权模块,选中要授权的项及将要授权给的人,同时提示输入当前登录用户的用户密码password,调用业务层后端接口。判断当前用户是否是超级管理员,若是,则根据用户的password解密出系统私钥Master SK,否则,在功能授权表中具有当前用户的授权信息时,解密出系统私钥Master SK。然后根据选中的项解密出其TK,使用被授权用户的PK加密TK得到D4,并结合其他相关信息存储至密钥授权库中。
综上所述,用户通过本方案上传文件时,请求信息会达到网关层,网关层根据预先配置好的字段识别策略识别到关键字段,通过配置的Tag生成TK对字段进行加密,并在网关层通过Master PK加密存储TK,同时在请求信息中附上最终的Tag列表数据,最终转发到业务系统进行存储,业务系统原数据表结构需要增加一个字段存储本条记录的所有tag列表。并且,在本方案中,超级管理员可将某些记录授权给某个用户,通过在密钥授权表中增加授权的方式实现,同时超级管理员也可以将授权的这个功能赋予普通管理员,通过在功能授权表中增加授权的方式实现。用户在查看某些内容时,响应信息同样先经过网关层,网关层拦截业务系统返回的加密内容,根据用户身份识别手段得到的用户信息,在密钥授权库中查找此用户的授权数据,最终解密出明文数据,当前用户没有此数据授权时则会将原始加密数据返回,客户端可检查字段是否有“$Tag$:”前缀判断是否解密成功最后给出正确的显示效果。
可见,本方案实现较为简单,适合私有化部署,作为业务系统前置网关层,一者将密钥和数据分开存储保证安全,另外也将授权控制及相应的身份跟踪、多标签密钥加密数据考虑在类。在配置策略时使用最简单的配置方式,防止大而全的设计,以最小配置成本实现关键字段的识别。
下面对本发明实施例提供的数据处理装置进行介绍,下文描述的数据处理装置与上文描述的数据处理方法可以相互参照。
参见图13,本发明实施例提供的一种基于网关层的数据处理装置结构示意图,包括:
第一获取模块10,用于获取客户端发送的请求信息;
识别模块11,用于识别所述请求信息中待加密的目标字段;
第一确定模块12,用于确定与每个目标字段对应的第一标签密钥;其中,每个标签密钥具有唯一对应的密钥标签;
第一加密模块13,用于通过所述第一标签密钥对所述目标字段进行加密;
第一发送模块14,用于在所述目标字段解密后,与所述第一标签密钥对应的第一密钥标签构造第二请求信息发送至对应的业务系统。
其中,所述装置还包括:
拦截模块,用于拦截所述业务系统发送的响应信息;
第一判断模块,用于判断所述响应信息中是否含有密文;
第二发送模块,用于在所述响应信息中不含有密文时,将所述响应信息发送至对应的客户端;
第二确定模块,用于在所述响应信息中含有密文时,确定与所述响应信息对应的第二密钥标签及用户ID;
第二判断模块,用于判断密钥授权库中是否存在与所述第二密钥标签及用户ID相匹配的第一加密数据;若不存在,则通过所述第二发送模块将所述响应信息发送至对应的客户端;
第二获取模块,用于在密钥授权库中存在相匹配的第一加密数据时,从所述密钥授权库中获取第一加密数据,并根据所述用户ID从公私钥对数据库中获取对应的第二加密数据;
解密模块,用于通过与所述用户ID对应的用户密码解密所述第二加密数据,得到用户私钥,并通过所述用户私钥解密所述第一加密数据得到第二标签密钥,并通过所述第二标签密钥对所述响应信息解密;
第三发送模块,用于将解密的响应信息发送至对应的客户端。
其中,所述识别模块具体用于:根据请求信息中的接口信息匹配对应的识别策略,利用识别策略对请求信息中待加密的目标字段进行识别。
其中,所述装置还包括:
第二加密模块,用于通过系统公钥加密第一标签密钥得到第三加密数据;
存储模块,用于将第三加密数据及第一密钥标签存入原始密钥库。
其中,所述装置还包括:密钥授权库构建模块,包括:
第一接收单元,用于通过所述业务系统接收目标用户发送的第一授权指令;所述第一授权指令包括授权项及授权用户;所述授权项为第三密钥标签;
第一解密单元,用于在目标用户为超级管理员时,根据所述第三密钥标签从原始密钥库中获取第四加密数据,通过系统私钥对所述第四加密数据解密得到第三标签密钥;
第一加密单元,用于通过所述授权用户的用户公钥加密所述第三标签密钥得到第五加密数据D4;
第一存储单元,用于将所述授权用户的用户ID、所述第五加密数据及所述第三密钥标签存储至密钥授权库。
其中,所述装置还包括:授权模块,包括:
第二接收单元,用于通过业务系统接收超级管理员发送的第二授权指令;所述第二授权指令包括被授权的普通管理员;
第二加密单元,用于通过第一随机密钥加密系统私钥得到第六加密数据;确定被授权的普通管理员的用户ID,并根据所述普通管理员的用户公钥对所述第一随机密钥加密得到第七加密数据;
第二存储单元,用于将所述普通管理员的用户ID及对应的第六加密数据和第七加密数据存入功能授权表。
其中,所述密钥授权库构建模块还包括:
获取单元,用于在所述目标用户为目标普通管理员时,从功能授权表中获取与所述目标普通管理员的用户ID对应的第八加密数据和第九加密数据;
第二解密单元,用于通过所述目标普通管理员的用户私钥解密第九加密数据得到第二随机密钥,并通过所述第二随机密钥解密所述第八加密数据得到系统私钥;通过系统私钥对所述第四加密数据解密得到第四密钥标签;
第三加密单元,用于通过所述授权用户的用户公钥加密所述第四密钥标签得到第十加密数据;
第三存储单元,用于将所述授权用户的用户ID、所述第十加密数据及所述第三密钥标签存储至密钥授权库。
参见图14,本发明实施例还公开了一种电子设备,包括:
存储器21,用于存储计算机程序;
处理器22,用于执行所述计算机程序时实现上述基于网关层的数据处理方法的步骤。
在本实施例中,设备可以网关设备、服务器等等。
该设备可以包括存储器21、处理器22和总线23。
其中,存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器21在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器21在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器21还可以既包括设备的内部存储单元也包括外部存储设备。存储器21不仅可以用于存储安装于设备的应用软件及各类数据,例如执行数据处理方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器22在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器21中存储的程序代码或处理数据,例如执行数据处理方法的程序代码等。
该总线23可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口24,网络接口24可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口25,用户接口25可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口25还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图14仅示出了具有组件21-25的设备,本领域技术人员可以理解的是,图14示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的基于网关层的数据处理方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于网关层的数据处理方法,其特征在于,包括:
网关层获取客户端发送的请求信息;
识别所述请求信息中待加密的目标字段,并确定与每个目标字段对应的第一标签密钥;其中,每个标签密钥具有唯一对应的密钥标签;
通过所述第一标签密钥对所述目标字段进行加密,并与所述第一标签密钥对应的第一密钥标签构造第二请求信息发送至对应的业务系统。
2.根据权利要求1所述的数据处理方法,其特征在于,还包括:
所述网关层拦截所述业务系统发送的响应信息;
判断所述响应信息中是否含有密文;
若否,则将所述响应信息发送至对应的客户端;
若是,则确定与所述响应信息对应的第二密钥标签及用户ID,并判断密钥授权库中是否存在与所述第二密钥标签及用户ID相匹配的第一加密数据;若不存在,则直接将所述响应信息发送至对应的客户端;
若存在,则从所述密钥授权库中获取所述第一加密数据,并根据所述用户ID从公私钥对数据库中获取对应的第二加密数据;
通过与所述用户ID对应的用户密码解密所述第二加密数据,得到用户私钥,并通过所述用户私钥解密所述第一加密数据得到第二标签密钥,并通过所述第二标签密钥对所述响应信息解密,并将解密的响应信息发送至对应的客户端。
3.根据权利要求1所述的数据处理方法,其特征在于,所述识别所述请求信息中待加密的目标字段,包括:
根据所述请求信息中的接口信息匹配对应的识别策略;
利用所述识别策略对所述请求信息中待加密的目标字段进行识别。
4.根据权利要求1所述的数据处理方法,其特征在于,所述通过所述第一标签密钥对所述目标字段进行加密之后,还包括:
通过系统公钥加密所述第一标签密钥得到第三加密数据,并将所述第三加密数据及所述第一密钥标签存入原始密钥库。
5.根据权利要求1至4中任意一项所述的数据处理方法,其特征在于,密钥授权库的构建过程包括:
所述业务系统接收目标用户发送的第一授权指令;所述第一授权指令包括授权项及授权用户;所述授权项为第三密钥标签;
若所述目标用户为超级管理员,则根据所述第三密钥标签从原始密钥库中获取第四加密数据,通过系统私钥对所述第四加密数据解密得到第三标签密钥;
通过所述授权用户的用户公钥加密所述第三标签密钥得到第五加密数据D4,并将所述授权用户的用户ID、所述第五加密数据及所述第三密钥标签存储至密钥授权库。
6.根据权利要求5所述的数据处理方法,其特征在于,还包括:
所述业务系统接收超级管理员发送的第二授权指令;所述第二授权指令包括被授权的普通管理员;
通过第一随机密钥加密系统私钥得到第六加密数据;
确定被授权的普通管理员的用户ID,并根据所述普通管理员的用户公钥对所述第一随机密钥加密得到第七加密数据;
将所述普通管理员的用户ID及对应的第六加密数据和第七加密数据存入功能授权表。
7.根据权利要求6所述的数据处理方法,其特征在于,所述业务系统接收目标用户发送的第一授权指令之后,还包括:
若所述目标用户为目标普通管理员,则从所述功能授权表中获取与所述目标普通管理员的用户ID对应的第八加密数据和第九加密数据;
通过所述目标普通管理员的用户私钥解密第九加密数据得到第二随机密钥,并通过所述第二随机密钥解密所述第八加密数据得到系统私钥;通过系统私钥对所述第四加密数据解密得到第四密钥标签;
通过所述授权用户的用户公钥加密所述第四密钥标签得到第十加密数据,并将所述授权用户的用户ID、所述第十加密数据及所述第三密钥标签存储至密钥授权库。
8.一种基于网关层的数据处理装置,其特征在于,包括:
第一获取模块,用于获取客户端发送的请求信息;
识别模块,用于识别所述请求信息中待加密的目标字段;
第一确定模块,用于确定与每个目标字段对应的第一标签密钥;其中,每个标签密钥具有唯一对应的密钥标签;
第一加密模块,用于通过所述第一标签密钥对所述目标字段进行加密;
第一发送模块,用于在所述目标字段解密后,与所述第一标签密钥对应的第一密钥标签构造第二请求信息发送至对应的业务系统。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的基于网关层的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于网关层的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909216.XA CN113645226B (zh) | 2021-08-09 | 2021-08-09 | 一种基于网关层的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909216.XA CN113645226B (zh) | 2021-08-09 | 2021-08-09 | 一种基于网关层的数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645226A true CN113645226A (zh) | 2021-11-12 |
CN113645226B CN113645226B (zh) | 2022-12-16 |
Family
ID=78420343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110909216.XA Active CN113645226B (zh) | 2021-08-09 | 2021-08-09 | 一种基于网关层的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645226B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086432A (zh) * | 2022-06-10 | 2022-09-20 | 深圳云创数安科技有限公司 | 基于网关监督的数据处理方法、装置、设备及存储介质 |
CN115085975A (zh) * | 2022-05-23 | 2022-09-20 | 上海销氪信息科技有限公司 | SaaS业务场景下数据私有化部署方法、装置、设备、介质 |
CN116095155A (zh) * | 2023-01-09 | 2023-05-09 | 蚂蚁区块链科技(上海)有限公司 | 数据推送决策方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997042726A1 (en) * | 1996-05-06 | 1997-11-13 | Symantec Corporation | Cryptographic file labeling system for supporting secured access by multiple users |
CN112632585A (zh) * | 2020-12-31 | 2021-04-09 | 北京海泰方圆科技股份有限公司 | 一种网页数据传输系统、方法、装置、介质和设备 |
CN112751868A (zh) * | 2020-12-30 | 2021-05-04 | 武汉海昌信息技术有限公司 | 一种异构加密传输方法、存储介质及系统 |
CN113204772A (zh) * | 2021-04-26 | 2021-08-03 | 五八有限公司 | 数据处理方法、装置、系统、终端、服务器和存储介质 |
-
2021
- 2021-08-09 CN CN202110909216.XA patent/CN113645226B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997042726A1 (en) * | 1996-05-06 | 1997-11-13 | Symantec Corporation | Cryptographic file labeling system for supporting secured access by multiple users |
CN112751868A (zh) * | 2020-12-30 | 2021-05-04 | 武汉海昌信息技术有限公司 | 一种异构加密传输方法、存储介质及系统 |
CN112632585A (zh) * | 2020-12-31 | 2021-04-09 | 北京海泰方圆科技股份有限公司 | 一种网页数据传输系统、方法、装置、介质和设备 |
CN113204772A (zh) * | 2021-04-26 | 2021-08-03 | 五八有限公司 | 数据处理方法、装置、系统、终端、服务器和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115085975A (zh) * | 2022-05-23 | 2022-09-20 | 上海销氪信息科技有限公司 | SaaS业务场景下数据私有化部署方法、装置、设备、介质 |
CN115086432A (zh) * | 2022-06-10 | 2022-09-20 | 深圳云创数安科技有限公司 | 基于网关监督的数据处理方法、装置、设备及存储介质 |
CN115086432B (zh) * | 2022-06-10 | 2024-06-04 | 深圳云创数安科技有限公司 | 基于网关监督的数据处理方法、装置、设备及存储介质 |
CN116095155A (zh) * | 2023-01-09 | 2023-05-09 | 蚂蚁区块链科技(上海)有限公司 | 数据推送决策方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113645226B (zh) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113645226B (zh) | 一种基于网关层的数据处理方法、装置、设备及存储介质 | |
US9900290B2 (en) | Methods and systems for proxying data | |
US20190140844A1 (en) | Identity-linked authentication through a user certificate system | |
US9767300B2 (en) | Managing restricted tagged content elements within a published message | |
US8619986B2 (en) | Systems and methods for secure communication using a communication encryption bios based upon a message specific identifier | |
US20150163065A1 (en) | Identity authentication method and apparatus and server | |
CN109450633B (zh) | 信息加密发送方法及装置、电子设备、存储介质 | |
JP2011527804A (ja) | 仮想入力レイアウトを用いた情報伝送 | |
US20160085861A1 (en) | Private cloud api | |
US20120163598A1 (en) | Session secure web content delivery | |
US20140208104A1 (en) | Id-based encryption and signature method and terminal | |
CN109635581A (zh) | 一种数据处理方法、设备、系统及存储介质 | |
KR102146940B1 (ko) | 토큰 위변조 검증 방법 | |
EP2942899B1 (en) | Information processing method, trust server and cloud server | |
JP4979210B2 (ja) | ログイン情報管理装置及び方法 | |
CN110225017B (zh) | 基于联盟区块链的身份验证方法、设备及存储介质 | |
CN115412269A (zh) | 业务处理方法、装置、服务器及存储介质 | |
RU2698424C1 (ru) | Способ управления авторизацией | |
JP2015090993A (ja) | 暗号制御装置、暗号制御方法、及びプログラム | |
US10506288B2 (en) | DRM addition authentication | |
WO2020048289A1 (zh) | 用于处理用户信息的系统和方法 | |
CN114861144A (zh) | 基于区块链的数据权限处理方法 | |
WO2016202129A1 (zh) | 一种信息处理方法、装置、终端及服务器 | |
CN112997462B (zh) | 用于保护数据的系统和方法 | |
Al-Sinani et al. | Client-based cardspace-openid interoperation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |