CN114416773B - 数据处理方法、装置、存储介质和服务器 - Google Patents

数据处理方法、装置、存储介质和服务器 Download PDF

Info

Publication number
CN114416773B
CN114416773B CN202111648235.8A CN202111648235A CN114416773B CN 114416773 B CN114416773 B CN 114416773B CN 202111648235 A CN202111648235 A CN 202111648235A CN 114416773 B CN114416773 B CN 114416773B
Authority
CN
China
Prior art keywords
data
query language
structured query
language statement
plaintext
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.)
Active
Application number
CN202111648235.8A
Other languages
English (en)
Other versions
CN114416773A (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unicom Smart Connection Technology Ltd
Original Assignee
China Unicom Smart Connection Technology Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Unicom Smart Connection Technology Ltd filed Critical China Unicom Smart Connection Technology Ltd
Priority to CN202111648235.8A priority Critical patent/CN114416773B/zh
Publication of CN114416773A publication Critical patent/CN114416773A/zh
Application granted granted Critical
Publication of CN114416773B publication Critical patent/CN114416773B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/308Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information retaining data, e.g. retaining successful, unsuccessful communication attempts, internet access, or e-mail, internet telephony, intercept related information or call content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种数据处理方法、装置、存储介质和服务器。该方法包括:对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;对第一结构化查询语言语句进行解析,得到第一结构化查询语言语句的目标操作和明文数据,明文数据为需要加密的数据;判断目标操作为存入数据或者查询数据;若判断出目标操作为存入数据,则根据用户预先设置的加密算法对明文数据进行加密,生成密文数据;根据密文数据改写第一结构化查询语言语句,生成第二结构化查询语言语句;执行第二结构化查询语言语句,从而提高了数据的安全性。

Description

数据处理方法、装置、存储介质和服务器
【技术领域】
本发明涉及计算机安全技术领域,具体涉及一种数据处理方法、装置、存储介质和服务器。
【背景技术】
在对数据库中的数据进行加密的时候,常用的加密算法为数据加密标准(DataEncryption Standard,DES),DES数据加密算法是在美国国家安全局(National SecurityAgency,NSA)的资助下由国际商业机器公司(International Business MachinesCorporation,IBM)公司开发的密码算法,可以为政府非机密的敏感信息等提供较强的加密保护。DES加密算法将明文数据分为至少一个分组,每个分组的分组长度为64比特,密钥长度也为64比特,将每个分组与密钥进行异或运算生成密文,但DES加密算法的分组长度、密钥长度等都存在劣势。现有技术的方案降低了数据的安全性。
【发明内容】
有鉴于此,本发明实施例提供了一种数据处理方法、装置、存储介质和服务器,用以解决现有技术中数据安全性降低的问题。
第一方面,本发明实施例提供了一种数据处理方法,所述方法应用于服务器,包括:
对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;
对所述第一结构化查询语言语句进行解析,得到所述第一结构化查询语言语句的目标操作和明文数据,所述明文数据为需要加密的数据;
判断所述目标操作为存入数据或者查询数据;
若判断出所述目标操作为所述存入数据,则根据所述用户预先设置的加密算法对所述明文数据进行加密,生成密文数据;
根据所述密文数据改写所述第一结构化查询语言语句,生成第二结构化查询语言语句;
执行所述第二结构化查询语言语句。
在一种可能的实现方式中,所述第二结构化查询语言语句包括所述密文数据,所述执行所述第二结构化查询语言语句,包括:
将所述密文数据存入数据库中。
在一种可能的实现方式中,所述第二结构化查询语言语句包括所述密文数据和所述明文数据,所述执行所述第二结构化查询语言语句,包括:
将所述明文数据与所述密文数据均存入数据库中。
在一种可能的实现方式中,所述判断所述目标操作为存入数据或者查询数据之后,还包括:
若判断出所述目标操作为所述查询数据,且确定出预先设置的查询属性为查询密文数据,则根据所述加密算法对所述明文数据进行加密,生成密文数据;根据所述密文数据生成第三结构化查询语言语句;
根据所述用户预先设置的解密算法对执行所述第三结构化查询语言语句查询到的密文数据进行解密,生成第二明文数据;
若确定出所述第二明文数据为待脱敏数据,则对所述明文数据进行脱敏,生成显示数据;
将所述显示数据发送至所述用户的终端设备。
在一种可能的实现方式中,所述判断所述目标操作为存入数据或者查询数据之后,还包括:
若判断出所述目标操作为所述查询数据,且确定出预先设置的查询属性为查询明文数据,则根据所述明文数据生成第四结构化查询语言语句;
执行所述第四结构化查询语言语句以从所述数据库中查找出所述明文数据;
若确定出所述明文数据为待脱敏数据,则对所述明文数据进行脱敏,生成显示数据,并将所述显示数据发送至所述用户的终端设备。
在一种可能的实现方式中,所述加密算法包括SM4算法。
在一种可能的实现方式中,所述解密算法包括SM4算法。
第二方面,本发明实施例提供了一种数据处理装置,其特征在于,包括:
获取模块,用于对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;
解析模块,用于对所述第一结构化查询语言语句进行解析,得到所述第一结构化查询语言语句的目标操作和明文数据;
判断模块,用于判断所述目标操作为存入数据或者查询数据;
第一生成模块,用于若所述判断模块判断出所述目标操作为所述存入数据,则根据所述用户预先设置的加密算法对所述明文数据进行加密,生成密文数据;根据所述密文数据改写所述第一结构化查询语言语句,生成第二结构化查询语言语句;
第一执行模块,执行所述第二结构化查询语言语句。
第三方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述数据处理方法。
第四方面,本发明实施例提供了一种服务器,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述程序指令被处理器加载并执行时实现上述数据处理方法的步骤。
本发明实施例提供的技术方案中,对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;对第一结构化查询语言语句进行解析,得到第一结构化查询语言语句的目标操作和明文数据,明文数据为需要加密的数据;判断目标操作为存入数据或者查询数据;若判断出目标操作为存入数据,则根据用户预先设置的加密算法对明文数据进行加密,生成密文数据;根据密文数据改写第一结构化查询语言语句,生成第二结构化查询语言语句;执行第二结构化查询语言语句,从而提高了数据的安全性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种数据处理方法流程图;
图2为本发明实施例提供的一种脱敏规则配置示意图;
图3为本发明实施例提供的一种数据处理系统的结构示意图;
图4为本发明实施例提供的另一种数据处理方法流程图;
图5为本发明实施例提供的一种数据处理装置的结构示意图;
图6为本发明实施例提供的一种服务器的示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述数目等,但这些数目不应限于这些术语。这些术语仅用来将数目彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一数目也可以被称为第二数目,类似地,第二数目也可以被称为第一数目。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1为本发明实施例提供的一种数据处理方法流程图,如图1所示,该方法包括:
步骤101、对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句。
本发明实施例中,一种数据处理方法基于中间件ShardingSphere执行,中间件ShardingSphere提供了一种面向用户的Encrypt-JDBC,Encrypt-JDBC搭载在服务器上。由于Encrypt-JDBC提供了面向多个数据库软件的接口,因此,用户面向Encrypt-JDBC进行JDBC编程便可对数据库的数据进行存入或查询。
用户在终端设备上输入第一结构化查询语言(Structured Query Language,SQL)语句;终端设备响应于用户输入第一SQL语句的操作,生成第一SQL语句;终端设备执行第一SQL语句。终端设备包括但不限于手机、平板电脑、便携式PC、台式机、可穿戴设备等。服务器检测到终端设备执行第一SQL语句,通过Encrypt-JDBC对第一SQL语句进行拦截,并获取第一SQL语句。
在一种可能的实现方式中,步骤101之前,还包括:用户向终端设备输入将数据库与服务器建立连接的操作,终端设备响应于用户输入的将数据库与服务器建立连接的操作,发送数据源消息至服务器,服务器响应于数据源消息,与数据库建立连接。
图2为本发明实施例提供的一种脱敏规则配置示意图,如图2所示,用户可配置脱敏规则,脱敏规则包括数据源、加密器、脱敏表和查询属性。用户可通过配置数据源,将服务器与数据库建立连接。用户可通过配置加密器,设置加密算法和解密算法。用户可通过配置脱敏表使服务器获得目标列名与密文列名的映射关系和目标列名与明文列名的映射关系。用户可通过配置查询属性,指定使用明文数据或密文数据进行查询。例如,终端设备上搭载数据库软件,终端设备的显示屏上显示供用户配置脱敏规则的页面,用户通过终端设备的显示屏上显示的供用户配置脱敏规则的页面,输入数据库的名称、用户登录密码、用户登陆密码、数据源接口实现类等将数据库与服务器建立连接的操作。终端设备响应于用户输入的将终端设备与服务器建立连接的操作,发送数据源消息至服务器。服务器接收数据源消息,服务器根据获取到数据库的名称、用户登录密码、用户登陆密码、数据源接口实现类等与数据库建立连接。
步骤102、对第一结构化查询语言语句进行解析,得到第一结构化查询语言语句的目标操作和明文数据,明文数据为需要加密的数据。
本发明实施例中,图3为本发明实施例提供的一种数据处理系统的结构示意图,如图3所示,包括用户的终端设备、服务器与数据库,用户的终端设备上搭载数据库软件,服务器上搭载Encrypt-JDBC。服务器通过SQL语法解析器对第一SQL语句进行解析,得到第一SQL语句的目标操作、目标列名和明文数据。目标列名为存储明文数据的目标列的名称,目标列为面向用户的虚拟列,实际并不存在,用户在第一SQL语句中规定将明文数据存入目标列中,或用户通过目标列查询明文数据。
步骤103、判断目标操作为存入数据或者查询数据,若判断出目标操作为存入数据,则执行步骤104;若判断出目标操作为查询数据,则执行步骤107。
本发明实施例中,存入数据为对数据库中的数据进行增加、修改或删除。查询数据为对数据库中的数据进行查询。
步骤104、根据用户预先设置的加密算法对明文数据进行加密,生成密文数据。
本发明实施例中,加密算法包括SM4算法。SM4算法是一个迭代分组密码算法,由SM4加密算法、SM4解密算法和密钥拓展算法组成,其中,SM4解密算法与SM4加密算法相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。SM4加密算法与密钥拓展算法都采用32轮非线性迭代结构,将128位的明文、密钥通过32次循环的非线性迭代运算得到最终结果,其中,每一轮的密钥为子密钥,而子密钥生成算法与SM4加密算法结构类似,从而在设计上做到了资源重用。服务器根据SM4加密算法与密钥拓展算法对明文数据进行加密,生成密文数据。
如图2所示,配置脱敏规则包括配置脱敏表,用户设置目标列名,服务器根据目标列名与明文列名的映射关系,生成明文列名。明文列名为明文列的名称,明文列用于存储明文数据,由于明文列名由目标列名和第一固定尾缀生成,所以目标列名与明文列名存在一一对应的映射关系。例如,第一固定尾缀为“_plain”。服务器根据目标列名与密文列名的映射关系,生成密文列名。密文列名为密文列的名称,密文列用于存储密文数据,由于密文列名由目标列名和第二固定尾缀生成,所以目标列名与明文列名存在一一对应的映射关系。例如,第二固定尾缀为“_cipher”。步骤104还包括:服务器根据脱敏表中包括的目标列名与密文列名的映射关系,生成目标列名的密文列名;根据脱敏表中包括的目标列名与明文列名的映射关系,生成目标列名的明文列名。
例如,第一SQL语句为INSERT INTO t_user(pwd)values(”123”),表示数据库中有一个名称为t_user的表,目标列名为pwd,存入的明文数据为123。服务器目标列名与密文列名的映射关系,生成pwd的密文列名,密文列名为pwd_cipher;服务器根据目标列名与密文列名的映射关系,生成pwd的明文列名,明文列名为pwd_plain;服务器根据SM4加密算法与密钥拓展算法对明文数据“123”进行加密,生成密文数据,密文数据为“abc”。
在一种可能的实现方式中,步骤104之前,还包括:用户向终端设备输入加密算法和解密算法的操作,终端设备响应于用户输入的加密算法和解密算法的操作,发送加密器消息至服务器;服务器响应于终端设备发送的加密器消息,设置加密算法与解密算法。
如图2所示,配置脱敏规则包括配置加密器,服务器提供配置脱敏规则的应用程序接口(Application Programming Interface,API),支持切换不同的脱敏规则。用户可通过应用程序接口自定义脱敏规则。例如,用户通过终端设备的显示屏上显示的供用户配置脱敏规则的页面,输入加密算法与解密算法均为SM4算法的操作;终端设备响应于用户输入的加密算法与解密算法均为SM4算法的操作,发送加密器消息至服务器;服务器响应于终端设备发送的加密器消息,设置加密算法与解密算法均为SM4算法。
步骤105、根据密文数据改写第一结构化查询语言语句,生成第二结构化查询语言语句。
本发明实施例中,如图3所示,服务器根据密文数据、明文数据、密文列名和明文列名改写第一SQL语句,生成第二SQL语句。
例如,第一SQL语句为INSERT INTO t_user(pwd)values(”123”),明文数据为123,密文列名为pwd_cipher,明文列名为pwd_plain,密文数据为abc。服务器根据上述密文数据、明文数据、密文列名和明文列名改写第一SQL语句,生成的第二SQL语句为INSERT INTOt_user(pwd_plain,pwd_cipher)values(”123”,”abc”)。
步骤106、执行第二结构化查询语言语句。
本发明实施例中,服务器执行第二SQL语句,将明文数据与密文数据均存入数据库中,即根据明文列名,将明文数据存入明文列中;根据密文列名,将密文数据存入密文列中,从而实现了明文数据与密文数据的同步存储。
例如,第二SQL语句为INSERT INTO t_user(pwd_plain,pwd_cipher)values(”123”,”abc”)。服务器将明文数据“123”存入明文列名为pwd_plain的明文列中;将密文数据“abc”存入密文列名为pwd_cipher的密文列中。
步骤107、判断预先设置的查询属性为查询密文数据或查询明文数据;若判断出查询属性为查询密文数据,则执行步骤108;若判断出查询属性为查询明文数据,则执行步骤113。
本发明实施例中,如图2所示,配置脱敏规则包括配置查询属性,查询属性配置包括查询明文数据或查询密文数据。用户可设置查询属性为查询密文数据;服务器根据用户设置的查询属性,执行步骤108以查询密文数据。用户设置查询属性为查询明文数据;服务器根据用户设置的查询属性,执行步骤113以查询明文数据。
步骤108、根据加密算法对明文数据进行加密,生成密文数据。
本发明实施例中如图2所示,配置脱敏规则包括配置脱敏表。步骤107还包括:服务器根据脱敏表中包括的目标列名与密文列名的映射关系,生成目标列名的密文列名。
例如,第一SQL语句为SELECT pwd FROM t_user WHERE pwd=”123”,表示数据库中有一个名称为t_user的表,目标列名为pwd,查询的明文数据为123。服务器根据目标列名与密文列名的映射关系,生成pwd的密文列名,密文列名为pwd_cipher;服务器根据SM4算法对明文数据“123”进行加密,生成密文数据,密文数据为abc。
步骤109、根据密文数据生成第三结构化查询语言语句。
本发明实施例中,如图3所示,服务器根据密文数据和密文列名生成第三SQL语句。
例如,第一SQL语句为SELECT pwd FROM t_user WHERE pwd=”123”,密文数据为abc,密文列名为pwd_cipher。服务器根据上述密文数据和密文列名生成的第三SQL语句为SELECT pwd_cipher FROM t_user WHERE pwd_cipher=”abc”。
步骤110、根据所述用户预先设置的解密算法对执行所述第三结构化查询语言语句查询到的密文数据进行解密,生成第二明文数据。
本发明实施例中,如图3所示,服务器执行第三SQL语句,根据密文列名从数据库的密文列中查找出密文数据。解密算法包括SM4算法。服务器根据SM4解密算法和密钥拓展算法对密文数据进行解密,生成第二明文数据。
例如,第三SQL语句为SELECT pwd_cipher FROM t_user WHERE pwd_cipher=”abc”,服务器根据密文列名为pwd_cipher,从密文列中查找出密文数据“abc”。服务器根据SM4解密算法和密钥拓展算法对密文数据进行解密,生成的第二明文数据为“123”。
步骤111、若确定出第二明文数据为待脱敏数据,则对所述明文数据进行脱敏,生成显示数据。
本发明实施例中,服务器预先设置待脱敏数据,待脱敏数据为敏感数据,例如,待脱敏数据为用户的电话号码、身份号码等。在一种可能的实现方式中,服务器若确定出第二明文数据不是待脱敏数据,则将第二明文数据发送至用户的终端设备。
例如,第二明文数据为“123”,服务器若确定出第二明文数据为待脱敏数据,对第二明文数据进行脱敏,生成的显示数据为“1*3”。服务器若确定出第二明文数据不是待脱敏数据,则将第二明文数据发送至用户的终端设备;用户的终端设备显示“123”
步骤112、将显示数据发送至用户的终端设备。
本发明实施例中,用户的终端设备包括显示屏以显示服务器发送的显示数据。例如,服务器将“1*3”发送至用户的终端设备,用户的终端设备显示“1*3”。
步骤113、根据明文数据生成第四结构化查询语言语句。
本发明实施例中,如图2所示,配置脱敏规则包括配置脱敏表。如图3所示,
步骤113还包括:服务器根据脱敏表中包括的目标列名与明文列名的映射关系,生成目标列名的明文列名;服务器根据明文数据与明文列名生成第四SQL语句。
例如,第一SQL语句为SELECT pwd FROM t_user WHERE pwd=”123”,表示数据库中有一个名称为t_user的表,目标列名为pwd,查询的明文数据为123。服务器根据目标列名与明文列名的映射关系,生成pwd的明文列名,明文列名为pwd_plain;服务器根据明文数据与明文列名生成第四SQL语句,第四SQL语句为SELECT pwd_plain FROM t_user WHEREpwd_plain=”123”。
步骤114、执行第四结构化查询语言语句以从数据库中查找出明文数据。
本发明实施例中,如图3所示,服务器执行第四SQL语句,根据明文列名从数据库的明文列中查找出明文数据。
例如,第四SQL语句为SELECT pwd_plain FROM t_user WHERE pwd_plain=”123”。服务器根据明文列名为pwd_plain,从明文列中查找出明文数据“123”。
步骤115、若确定出明文数据为待脱敏数据,则对明文数据进行脱敏,生成显示数据,并将显示数据发送至用户的终端设备。
本发明实施例中,服务器预先设置待脱敏数据。在一种可能的实现方式中,步骤115还包括:服务器若确定出明文数据不是待脱敏数据,则将第二明文数据发送至用户的终端设备。用户的终端设备包括显示屏以显示服务器发送的显示数据。
例如,第二明文数据为“123”,服务器若确定出明文数据为待脱敏数据,对明文数据进行脱敏,生成的显示数据为“1*3”。服务器将“1*3”发送至用户的终端设备;用户的终端设备显示“1*3”。服务器若确定出明文数据不是待脱敏数据,则将明文数据发送至用户的终端设备;用户的终端设备显示“123”。
本发明实施例提供的数据处理方法的技术方案中,对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;对第一结构化查询语言语句进行解析,得到第一结构化查询语言语句的目标操作和明文数据,明文数据为需要加密的数据;判断目标操作为存入数据或者查询数据;若判断出目标操作为存入数据,则根据用户预先设置的加密算法对明文数据进行加密,生成密文数据;根据密文数据改写第一结构化查询语言语句,生成第二结构化查询语言语句;执行第二结构化查询语言语句,从而提高了数据的安全性。
图4为本发明实施例提供的另一种数据处理方法流程图,如图4所示,该方法包括:
步骤201、对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句。
步骤202、对第一结构化查询语言语句进行解析,得到第一结构化查询语言语句的目标操作和明文数据,所述明文数据为需要加密的数据。
步骤203、判断目标操作为存入数据或者查询数据,若判断出目标操作为存入数据,则执行步骤204;若判断出目标操作为查询数据,则执行步骤207。
本发明实施例中,步骤201至203可参考图1所示的发明实施例中的步骤101至103,在此不再赘述。
步骤204、根据用户预先设置的加密算法对明文数据进行加密,生成密文数据。
本发明实施例中,如图2所示,配置脱敏规则包括配置脱敏表,步骤204还包括:服务器根据脱敏表中包括的目标列名与密文列名的映射关系,生成目标列名的密文列名。加密算法包括SM4算法。
步骤205、根据密文数据改写第一结构化查询语言语句,生成第二结构化查询语言语句。
本发明实施例中,服务器根据密文数据和密文列名改写第一SQL语句,生成第二SQL语句。
例如,第一SQL语句为INSERT INTO t_user(pwd)values(”123”),密文数据为abc,密文列名为pwd_plain。服务器根据上述密文数据和密文列名改写第一SQL语句,生成的第二SQL语句为INSERT INTO t_user(pwd_cipher)values(”abc”)。
步骤206、执行第二结构化查询语言语句。
本发明实施例中,服务器执行第二SQL语句,将密文数据存入数据库中,即根据密文列名,将密文数据存入密文列中。
例如,第二SQL语句为INSERT INTO t_user(pwd_cipher)values(”abc”)。服务器将将密文数据“abc”存入密文列名为pwd_cipher的密文列中。
步骤207、确定出预先设置的查询属性为查询密文数据,则根据加密算法对明文数据进行加密,生成密文数据。
步骤208、根据密文数据生成第三结构化查询语言语句。
步骤209、根据用户预先设置的解密算法对执行第三结构化查询语言语句查询到的密文数据进行解密,生成第二明文数据。
步骤210、若确定出第二明文数据为待脱敏数据,则对明文数据进行脱敏,生成显示数据。
步骤211、将显示数据发送至用户的终端设备。
本发明实施例中,步骤207至211可参考图1所示的发明实施例中的步骤108至112,在此不再赘述。
本发明实施例提供的数据处理方法的技术方案中,对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;对第一结构化查询语言语句进行解析,得到第一结构化查询语言语句的目标操作和明文数据,明文数据为需要加密的数据;判断目标操作为存入数据或者查询数据;若判断出目标操作为存入数据,则根据用户预先设置的加密算法对明文数据进行加密,生成密文数据;根据密文数据改写第一结构化查询语言语句,生成第二结构化查询语言语句;执行第二结构化查询语言语句,从而提高了数据的安全性。
图5为本发明实施例提供的一种数据处理装置的结构示意图,如图5所示,该装置包括:获取模块11、解析模块12、判断模块13、第一生成模块14与第一执行模块15。
获取模块11与解析模块12连接,解析模块12与判断模块13连接,判断模块13与第一生成模块14连接,第一生成模块14与第一执行模块15连接。
获取模块11用于对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;解析模块12用于对第一结构化查询语言语句进行解析,得到第一结构化查询语言语句的目标操作和明文数据,明文数据为需要加密的数据;判断模块13用于判断目标操作为存入数据或者查询数据;第一生成模块14用于若判断模块13判断出目标操作为存入数据,则根据用户预先设置的加密算法对明文数据进行加密,生成密文数据;第一生成模块14还用于根据密文数据改写第一结构化查询语言语句,生成第二结构化查询语言语句;第一执行模块15执行第二结构化查询语言语句。
本发明实施例中,第二结构化查询语言语句包括密文数据,第一执行模块15包括:第一执行子模块151。第一执行子模块151用于将密文数据存入数据库中。
本发明实施例中,第二结构化查询语言语句包括密文数据和明文数据,第一执行模块15包括:第二执行子模块152。第二执行子模块152用于将明文数据与密文数据均存入数据库中。
本发明实施例中,该装置还包括:第二生成模块16、第三生成模块17、第四生成模块18与第一发送模块19。
第二生成模块16与判断模块13、第三生成模块17连接,第三生成模块17与第四生成模块18连接,第四生成模块18与第一发送模块19连接。
第二生成模块16用于若判断模块13判断出目标操作为查询数据,且确定出预先设置的查询属性为查询密文数据,则根据加密算法对明文数据进行加密,生成密文数据;第二生成模块16还用于根据密文数据生成第三结构化查询语言语句;第三生成模块17用于根据用户预先设置的解密算法对执行第三结构化查询语言语句查询到的密文数据进行解密,生成第二明文数据;第四生成模块18用于若确定出第二明文数据为待脱敏数据,则对明文数据进行脱敏,生成显示数据;第一发送模块19用于将显示数据发送至用户的终端设备。
本发明实施例中,该装置还包括:第五生成模块20、第二执行模块21与第二发送模块22。
第五生成模块20与判断模块13、第二执行模块21连接,第二执行模块21与第二发送模块22连接。
第五生成模块20用于若判断模块13判断出目标操作为查询数据,且确定出预先设置的查询属性为查询明文数据,则根据明文数据生成第四结构化查询语言语句;第二执行模块21用于执行第四结构化查询语言语句以从数据库中查找出明文数据;第二发送模块22用于若确定出所述明文数据为待脱敏数据,则对明文数据进行脱敏,生成显示数据,并将显示数据发送至用户的终端设备。
本发明实施例中,加密算法包括SM4算法。
本发明实施例中,解密算法包括SM4算法。
本发明实施例提供的数据处理装置的技术方案中,对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;对第一结构化查询语言语句进行解析,得到第一结构化查询语言语句的目标操作和明文数据,明文数据为需要加密的数据;判断目标操作为存入数据或者查询数据;若判断出目标操作为存入数据,则根据用户预先设置的加密算法对明文数据进行加密,生成密文数据;根据密文数据改写第一结构化查询语言语句,生成第二结构化查询语言语句;执行第二结构化查询语言语句,从而提高了数据的安全性。
本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述数据处理方法的实施例的各步骤,具体描述可参见上述数据处理方法的实施例。
本发明实施例提供了一种服务器,包括存储器和处理器,存储器用于存储包括程序指令的信息,处理器用于控制程序指令的执行,程序指令被处理器加载并执行时实现上述数据处理方法的实施例的各步骤,具体描述可参见上述数据处理方法的实施例。
图6为本发明实施例提供的一种服务器的示意图。如图6所示,该实施例的服务器30包括:处理器31、存储器32以及存储在存储32中并可在处理器31上运行的计算机程序33,该计算机程序33被处理器31执行时实现实施例中的应用于数据处理方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器31执行时实现实施例中应用于数据处理装置中各模型/单元的功能,为避免重复,此处不一一赘述。
服务器30包括,但不仅限于,处理器31、存储器32。本领域技术人员可以理解,图6仅仅是服务器30的示例,并不构成对服务器30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如服务器还可以包括输入输出设备、网络接入设备、总线等。
所称处理器31可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器32可以是服务器30的内部存储单元,例如服务器30的硬盘或内存。存储器32也可以是服务器30的外部存储设备,例如服务器30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器32还可以既包括服务器30的内部存储单元也包括外部存储设备。存储器32用于存储计算机程序以及服务器所需的其他程序和数据。存储器32还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法应用于服务器,包括:
对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;
对所述第一结构化查询语言语句进行解析,得到所述第一结构化查询语言语句的目标操作和明文数据,所述明文数据为需要加密的数据;
判断所述目标操作为存入数据或者查询数据;
若判断出所述目标操作为所述存入数据,则根据所述用户预先设置的加密算法对所述明文数据进行加密,生成密文数据;根据所述密文数据改写所述第一结构化查询语言语句,生成第二结构化查询语言语句;
执行所述第二结构化查询语言语句。
2.根据权利要求1所述的方法,其特征在于,所述第二结构化查询语言语句包括所述密文数据,所述执行所述第二结构化查询语言语句,包括:
将所述密文数据存入数据库中。
3.根据权利要求1所述的方法,其特征在于,所述第二结构化查询语言语句包括所述密文数据和所述明文数据,所述执行所述第二结构化查询语言语句,包括:
将所述明文数据与所述密文数据均存入数据库中。
4.根据权利要求1所述的方法,其特征在于,所述判断所述目标操作为存入数据或者查询数据之后,还包括:
若判断出所述目标操作为所述查询数据,且确定出预先设置的查询属性为查询密文数据,则根据所述加密算法对所述明文数据进行加密,生成密文数据;根据所述密文数据生成第三结构化查询语言语句;
根据所述用户预先设置的解密算法对执行所述第三结构化查询语言语句查询到的密文数据进行解密,生成第二明文数据;
若确定出所述第二明文数据为待脱敏数据,则对所述明文数据进行脱敏,生成显示数据;
将所述显示数据发送至所述用户的终端设备。
5.根据权利要求1所述的方法,其特征在于,所述判断所述目标操作为存入数据或者查询数据之后,还包括:
若判断出所述目标操作为所述查询数据,且确定出预先设置的查询属性为查询明文数据,则根据所述明文数据生成第四结构化查询语言语句;
执行所述第四结构化查询语言语句以从所述数据库中查找出明文数据;
若确定出所述明文数据为待脱敏数据,则对所述明文数据进行脱敏,生成显示数据,并将所述明文数据发送至所述用户的终端设备。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述加密算法包括SM4算法。
7.根据权利要求4所述的方法,其特征在于,所述解密算法包括SM4算法。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于对用户输入的第一结构化查询语言语句进行拦截,获取第一结构化查询语言语句;
解析模块,用于对所述第一结构化查询语言语句进行解析,得到所述第一结构化查询语言语句的目标操作和明文数据,所述明文数据为需要加密的数据;
判断模块,用于判断明文数据中是否包括需要加密的数据,且判断所述目标操作为存入数据或者查询数据;
第一生成模块,用于若所述判断模块判断出所述目标操作为所述存入数据,则根据所述用户预先设置的加密算法对所述明文数据的需要加密的数据进行加密,生成密文数据;根据所述密文数据改写所述第一结构化查询语言语句,生成第二结构化查询语言语句;
第一执行模块,执行所述第二结构化查询语言语句。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任意一项所述的数据处理方法。
10.一种服务器,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于,所述程序指令被处理器加载并执行时实现权利要求1至7中任意一项所述的数据处理方法的步骤。
CN202111648235.8A 2021-12-30 2021-12-30 数据处理方法、装置、存储介质和服务器 Active CN114416773B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111648235.8A CN114416773B (zh) 2021-12-30 2021-12-30 数据处理方法、装置、存储介质和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111648235.8A CN114416773B (zh) 2021-12-30 2021-12-30 数据处理方法、装置、存储介质和服务器

Publications (2)

Publication Number Publication Date
CN114416773A CN114416773A (zh) 2022-04-29
CN114416773B true CN114416773B (zh) 2023-01-06

Family

ID=81269190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111648235.8A Active CN114416773B (zh) 2021-12-30 2021-12-30 数据处理方法、装置、存储介质和服务器

Country Status (1)

Country Link
CN (1) CN114416773B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115221191A (zh) * 2022-07-27 2022-10-21 北京火山引擎科技有限公司 一种基于数据湖的虚拟列构建方法以及数据查询方法
CN117033748B (zh) * 2023-10-08 2024-02-06 恒生电子股份有限公司 业务查询信息的获取方法、业务数据查询方法以及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639349A (zh) * 2020-05-14 2020-09-08 瀚高基础软件股份有限公司 一种数据加密处理方法、装置和存储介质
CN112800088A (zh) * 2021-01-19 2021-05-14 东北大学 基于双向安全索引的数据库密文检索系统及方法
CN113111082A (zh) * 2021-03-09 2021-07-13 深圳市教育信息技术中心(深圳市教育装备中心) 结构化查询语句重写方法、装置、设备和介质
CN113111356A (zh) * 2021-03-09 2021-07-13 深圳市教育信息技术中心(深圳市教育装备中心) 数据加密方法、装置、设备和介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743069B2 (en) * 2004-09-03 2010-06-22 Sybase, Inc. Database system providing SQL extensions for automated encryption and decryption of column data
CN106778288B (zh) * 2015-11-24 2019-08-09 阿里巴巴集团控股有限公司 一种数据脱敏的方法及系统
US10642828B2 (en) * 2017-10-10 2020-05-05 Sap Se Searchable encryption scheme with external tokenizer
CN111475525A (zh) * 2020-03-05 2020-07-31 平安科技(深圳)有限公司 基于结构化查询语言的脱敏方法、及其相关设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639349A (zh) * 2020-05-14 2020-09-08 瀚高基础软件股份有限公司 一种数据加密处理方法、装置和存储介质
CN112800088A (zh) * 2021-01-19 2021-05-14 东北大学 基于双向安全索引的数据库密文检索系统及方法
CN113111082A (zh) * 2021-03-09 2021-07-13 深圳市教育信息技术中心(深圳市教育装备中心) 结构化查询语句重写方法、装置、设备和介质
CN113111356A (zh) * 2021-03-09 2021-07-13 深圳市教育信息技术中心(深圳市教育装备中心) 数据加密方法、装置、设备和介质

Also Published As

Publication number Publication date
CN114416773A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN114416773B (zh) 数据处理方法、装置、存储介质和服务器
CN106997439B (zh) 基于TrustZone的数据加解密方法、装置及终端设备
CN109241484B (zh) 一种基于加密技术的网页数据的发送方法及设备
WO2019134361A1 (zh) 接口调用及接口调用的响应方法、装置、电子设备及介质
US20190042786A1 (en) Query Processing with Adaptive Risk Decisioning
CN110688662A (zh) 一种敏感数据脱敏及逆脱敏方法、电子设备
EP3962021B1 (en) Service processing methods, apparatuses, devices and systems
WO2019114137A1 (zh) 密码调用方法、服务器及存储介质
CN111753320A (zh) 基于拦截器的数据加密方法、装置及计算机设备
CN105827582A (zh) 一种通信加密方法、装置和系统
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
CN112733180A (zh) 数据查询方法、装置和电子设备
CN108170753B (zh) 一种共有云中Key-Value数据库加密与安全查询的方法
CN113038463B (zh) 一种通讯加密认证实验装置
CN116107520B (zh) S3对象存储协议的加密数据存储方法及系统
CN111368322B (zh) 一种文件解密方法、装置、电子设备和存储介质
CN111104693A (zh) 一种Android平台软件数据破解方法、终端设备及存储介质
SE526070C2 (sv) Arrangemang för datakommunikationssäkerhet och metod
CN115883078A (zh) 文件加密方法、文件解密方法、装置、设备及存储介质
CN113946862A (zh) 一种数据处理方法、装置、设备及可读存储介质
CN114036546A (zh) 基于手机号的身份验证方法、装置、计算机设备和介质
CN114048266A (zh) 数据库数据的同步方法、装置和计算机可读存储介质
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
CN112948852A (zh) 一种数据存取方法、装置和计算机可读存储介质
CN102387181A (zh) 一种登录方法和登录装置

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