Dynamic Database Table Name Randomization for SQL Injection Defense
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Relational database systems are vulnerable to data breaches when hackers obtain table names and column names, allowing them to access sensitive data through SQL injections or direct queries, as existing tables have fixed names and lack robust security measures.
Innovation Solution
Implementing secure table management by creating pairs of data structures with randomly generated names, frequent name changes, multiple factor authentication, and encryption, while maintaining transparency for authorized clients, thereby making it difficult for unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If fixed table names and column names are used in relational database systems, then ease of operation and data accessibility are improved, but security and vulnerability to unauthorized access deteriorate
Solution Approach 1:
The patent applies dynamics by making table and column names changeable rather than fixed. The system dynamically generates random names for tables and columns, and these names can be changed at any time. This dynamic naming mechanism prevents hackers from using fixed SQL injection patterns, as the target names are constantly changing, thus resolving the contradiction between ease of operation and security.
Solution Approach 2:
The patent changes the parameter of names from static to dynamic. Instead of using fixed table and column names, the system uses randomly generated names that can change over time. This parameter change makes it impossible for attackers to predict or exploit specific names, thereby improving security while maintaining operational functionality through proper authentication mechanisms.
2Object-affected harmful factors
If randomly generated names are assigned to data structures, then security against SQL injection is improved, but device complexity and difficulty of management increase
Solution Approach 1:
The patent introduces an intermediary layer between the user and the actual data structures. This intermediary manages the mapping between user-friendly names and randomly generated names. The system handles the complexity of name generation and mapping transparently, so users interact with simple names while the system maintains security through random names. This intermediary mechanism resolves the contradiction by absorbing the complexity internally.
Solution Approach 2:
The patent creates a mapping relationship that copies the interface simplicity while maintaining the security complexity underneath. The system maintains a correspondence between user-visible names and actual random names, allowing users to work with simple names while the system uses complex random names for security. This copying approach resolves the contradiction by separating the user interface from the underlying implementation.
3Object-affected harmful factors
If data structures are renamed frequently, then security and data protection are improved, but loss of time and operational overhead increase
Solution Approach 1:
The patent implements periodic action by changing names at predetermined intervals rather than continuously. The system changes table and column names after a specified time period, which provides sufficient security protection while avoiding excessive operational overhead. This periodic renaming balances security requirements with operational efficiency, resolving the contradiction between data protection and time loss.
Data Source
AI summary
Data protection techniques for data structures in an information processing system are provided. For example, a method comprises the following steps. A request is received to create a data structure with a given data structure name and one or more given parameter names. A pair of data structures is generated in response to the request. Each of the pair of data structures is assigned a different randomly-generated data structure name derived from the given data structure name in the request, and the one or more given parameter names are assigned different one or more randomly-generated parameter names in each of the pair of data structures.


