WO2022211233A1 - Abstract database management device and method based on virtual account and access control model - Google Patents

Abstract database management device and method based on virtual account and access control model Download PDF

Info

Publication number
WO2022211233A1
WO2022211233A1 PCT/KR2022/000812 KR2022000812W WO2022211233A1 WO 2022211233 A1 WO2022211233 A1 WO 2022211233A1 KR 2022000812 W KR2022000812 W KR 2022000812W WO 2022211233 A1 WO2022211233 A1 WO 2022211233A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
virtual
account information
virtual account
client terminal
Prior art date
Application number
PCT/KR2022/000812
Other languages
French (fr)
Korean (ko)
Inventor
주형준
문종섭
김종호
전승호
유학제
Original Assignee
고려대학교 산학협력단
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 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Publication of WO2022211233A1 publication Critical patent/WO2022211233A1/en

Links

Images

Classifications

    • 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
    • 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/25Integrating or interfacing systems involving database management systems
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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/40Network security protocols

Definitions

  • the present application relates to an abstract database management apparatus and method based on a virtual account and access control model. For example, we provide a technique for preemptively controlling client access when a client performs an operation that violates the security policy through the security policy of a medical database management system (DBMS) using a virtual account. it's about
  • DBMS medical database management system
  • the principle of network communication is based on ‘The Basic Reference Model for Open Systems Interconnection’ specified in ISO/IEC 7498-1:1994, and the simplified TCP/IP stack is popularly used.
  • the TCP/IP stack consists of a total of five layers, including the physical, data link, network, transport, and application layers.
  • There is a protocol designed for this purpose and a software developer has the characteristic of being able to design and implement a protocol for using the function of the corresponding software at the application layer level.
  • a proxy and a firewall are representative methods for monitoring and protecting network communication, and a proxy and a firewall corresponding to each layer of the TCP/IP stack exist.
  • a proxy is located between two or more participants with network functions and plays a role of relaying each other's communication.
  • the user communicates with the server through the proxy , the proxy can check the communication contents.
  • a firewall is a network device or software that allows the application of an organization's security policy to network communications based on its proxy function. If it causes damage or violates the policy, the session can be forcibly blocked.
  • a proxy or firewall has a problem in that it is difficult to apply a security policy specific to a specific application or service because it monitors and controls all communication occurring in the organization regardless of the application running on the server.
  • JDBC Java Database Connectivity
  • ODBC Open Database Connectivity
  • the present application is to solve the problems of the prior art described above, and between a client and a database management system (DBMS) of the target DB, by utilizing a virtual account that is mapped to the real account of the target DB, the client's access is preemptively It aims to provide an abstract database management device and method based on a virtual account and access control model that supports security policies managed by DBMS.
  • DBMS database management system
  • the abstract database management method based on a virtual account and access control model is a virtual account mapped with the real account information based on the real account information of the target DB.
  • Generating account information receiving an access request to the target DB from a client terminal, determining whether the real account information mapped to a virtual account included in the access request exists, and the determination result
  • the method may include relaying the access to the target DB of the client terminal based on the actual account information.
  • the relaying may include replacing the virtual account with a real account according to the real account information and transferring it to the target DB, receiving identification information for user authentication from the target DB, and the received identification converting information into virtual identification information and transmitting the virtual identification information to the client terminal; receiving a password input request including the virtual account, a virtual password corresponding to the virtual account, and the virtual identification information from the client terminal receiving, when the virtual account and the virtual password included in the password input request correspond to the virtual account information, and the virtual identification information included in the password input request corresponds to the identification information, the real account information and transmitting an authentication request including the identification information to the target DB, receiving an authentication processing result according to the authentication request from the target DB, and transmitting the authentication processing result to the client terminal have.
  • the virtual account information may be exposed to the user of the client terminal, but direct access to the target DB based on the virtual account information may not be possible.
  • the generating may include generating the virtual account information by converting the real account information into a random number processing method to prevent deriving the real account information from the generated virtual account information.
  • mapping of the virtual account information to the real account information may be released.
  • the abstract database management method based on a virtual account and access control model after the relaying, receiving a query associated with the target DB from the client terminal, the access request The method may include determining whether or not the user has authority to perform processing on the target DB according to the query of the included virtual account, and selectively performing the processing based on whether the user has the authority.
  • the step of determining whether the authority is possessed may include determining whether the user role granted to the virtual account included in the access request among a plurality of user roles preset in connection with the target DB includes the authority.
  • the abstract database management method based on a virtual account and access control model includes the steps of receiving a session termination request for the target DB from the client terminal and transmitting the session termination request to the target DB and terminating the session associated with the client terminal.
  • the target DB may be a DB for storing medical data.
  • the apparatus for managing an abstract database based on a virtual account and access control model includes a mapping unit that generates virtual account information mapped with the real account information based on real account information of a target DB, a client terminal a client identification unit that receives an access request to the target DB from It may include an access relay unit for relaying the connection to the target DB of the client terminal.
  • the access relay unit replaces the virtual account with a real account according to the real account information and transmits it to the target DB, receives identification information for user authentication from the target DB, and converts the received identification information into a virtual Identification information processing unit converting into identification information and transmitting the virtual identification information to the client terminal, receiving a password input request including the virtual account, a virtual password corresponding to the virtual account, and the virtual identification information from the client terminal and a password analysis unit to analyze whether the virtual account and the virtual password included in the password input request correspond to the virtual account information, and whether the virtual identification information included in the password input request corresponds to the identification information and transmitting an authentication request including the real account information and the identification information to the target DB based on the analysis result, receiving an authentication processing result according to the authentication request from the target DB, and receiving the authentication processing result from the target DB It may include an authentication processing unit for transmitting to the client terminal.
  • the mapping unit may generate the virtual account information by converting the real account information into a random number processing method to prevent deriving the real account information from the generated virtual account information.
  • the mapping unit may release the mapping of the virtual account information to the real account information when a preset validity period elapses after the virtual account information is generated.
  • the apparatus for managing an abstract database based on a virtual account and access control model receives a query associated with the target DB from the client terminal, and responds to the query of the virtual account included in the access request. and a query processing unit that determines whether or not the user has authority to perform processing on the target DB, and selectively performs the processing on the basis of whether or not the authority is possessed.
  • the virtual account and access control model-based abstract database management apparatus receives a session termination request for the target DB from the client terminal, and transmits the session termination request to the target DB, , it may include a session terminating unit for terminating the session associated with the client terminal.
  • the target DB-related processing is selectively performed according to the query written by the client through a virtual account and role-based access control (RBAC), or data in the target DB is selectively performed.
  • RBAC virtual account and role-based access control
  • FIG. 1 is a schematic configuration diagram of a database management system based on a virtual account and access control model according to an embodiment of the present application.
  • FIG. 2 is a conceptual diagram illustrating a mapping between real account information and virtual account information.
  • FIG. 3 is a diagram exemplarily illustrating an interface for creating/registering real account information and virtual account information mapped thereto.
  • FIG. 4 is a conceptual diagram for explaining an access control model for selectively performing target DB processing according to a query.
  • FIG. 5 is a diagram illustrating a query type according to a user role and corresponding authority based on an access control model.
  • FIG. 6 is a diagram exemplarily showing an interface that provides an integrated security policy associated with a database management system based on a virtual account and an access control model according to an embodiment of the present application.
  • FIG. 7 is a schematic configuration diagram of an abstract database management apparatus based on a virtual account and access control model according to an embodiment of the present application.
  • FIG. 8 is a detailed configuration diagram of an access relay unit of an abstract database management apparatus based on a virtual account and access control model according to an embodiment of the present application.
  • FIG. 9 is an operation flowchart of an abstract database management method based on a virtual account and access control model according to an embodiment of the present application.
  • FIG. 10 is a detailed operation flowchart of a process of relaying access to a target DB of a client terminal based on virtual account information and real account information.
  • the present application relates to an abstract database management apparatus and method based on a virtual account and access control model.
  • FIG. 1 is a schematic configuration diagram of a database management system based on a virtual account and access control model according to an embodiment of the present application.
  • the virtual account and access control model-based database management system 10 according to an embodiment of the present application, the virtual account and access control model-based abstract database management apparatus 100 according to an embodiment of the present application (hereinafter referred to as 'abstract database management apparatus 100'), the client terminal 200 and the target DB 300 may be included.
  • the abstract database management apparatus 100, the client terminal 200, and the target DB 300 may communicate with each other through a network (not shown).
  • a network (not shown) refers to a connection structure capable of exchanging information between each node, such as terminals and servers, and an example of such a network (not shown) includes a 3rd Generation Partnership Project (3GPP) network, LTE (Long Term Evolution) network, 5G network, WIMAX (World Interoperability for Microwave Access) network, Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN ( Personal Area Network), wifi network, Bluetooth (Bluetooth) network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, and the like are included, but are not limited thereto.
  • the network (not shown) may refer to a distributed research network based on a Common Data Model (CDM) utilizing a plurality of databases including the target DB 300 .
  • CDM Common Data
  • the client terminal 200 is, for example, a smart phone, a smart pad, a tablet PC, and the like and a PCS (Personal Communication System), GSM (Global System for Mobile communication), PDC (Personal Digital Cellular), PHS ( Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) terminals The same may be any type of wireless communication device.
  • PCS Personal Communication System
  • GSM Global System for Mobile communication
  • PDC Personal Digital Cellular
  • PHS Personal Handyphone System
  • PDA Personal Digital Assistant
  • IMT International Mobile Telecommunication
  • CDMA Code Division Multiple Access
  • W-CDMA Wide-Code Division Multiple Access
  • Wibro Wireless Broadband Internet
  • the target DB 300 is a database that the user of the client terminal 200 wants to access, and the client terminal 200 does not directly connect to the target DB 300 , but in the present application. It is possible to access the target DB 300 through the relay of the disclosed abstract database management device 100 .
  • the target DB 300 may be a DB for storing medical data, but is not limited thereto, and according to the embodiment of the present application, the target DB 300 is a financial institution, administrative institution, education It may refer broadly to various databases for storing information related to the relevant institution or corporation in connection with various institutions or corporations, such as institutions.
  • the target DB 300 is provided for various medical institutions such as university hospitals, hospitals and public health centers, and various medical data (patient information, surgery/procedure information, medicine data, clinical data, image data) in the medical institution. etc.) to be described as a medical database provided to store / manage the embodiment of the present application.
  • the target DB 300 which is a medical database, may be linked to a Common Data Model (CDM) in which terms/structures are standardized for domestic or international joint research in the medical field.
  • CDM Common Data Model
  • the abstract database management apparatus 100 transmits and receives various types of information (data) to and from the target DB 300 or requests processing corresponding to a client's query and receives the processing result is It may mean specifically a process performed with respect to a database management system (DBMS) of the target DB 300 .
  • DBMS database management system
  • the abstract database management apparatus 100 is provided to integrally relay a plurality of client terminals (200a, ..., 200n) and a plurality of target DBs (300a, ..., 300n) it could be In other words, the abstract database management apparatus 100 may relay the connection/processing of at least one client terminal 200 of the plurality of client terminals 200a, ..., 200n to the target DB 300, etc., Furthermore, the connection/processing of at least one target DB 300 among a plurality of target DBs 300a, ..., 300n of the specific client terminal 200 may be relayed.
  • FIG. 2 is a conceptual diagram illustrating a mapping between real account information and virtual account information.
  • the abstract database management apparatus 100 may generate virtual account information mapped with the real account information of the target DB 300 based on the real account information of the target DB 300 .
  • the abstract database management apparatus 100 may determine (define) a user role for the mapped virtual account information based on the real account information of the target DB 300 .
  • the virtual account information may be determined to correspond to a user role previously assigned to the real account information mapped with the corresponding virtual account information.
  • the mapped virtual account information and the real account information may share a user role related to a query in the target DB 300 and processing corresponding to the query.
  • the present invention is not limited thereto, and according to an embodiment of the present application, if necessary, a user role granted to virtual account information and a user role given to real account information may be determined to be different from each other.
  • mapping of virtual account information to real account information may be performed in a one-to-one or one-to-many relationship if necessary.
  • virtual account information for two different virtual accounts a first virtual account (Fake 1) and a second virtual account (Fake 2), is the same real account, a first real account (Real 1).
  • first virtual account Fake 1
  • second virtual account Fake 2
  • first real account Real 1
  • the abstract database management apparatus 100 may map virtual account information to real account information of each of a plurality of target DBs 300a, ..., 300n.
  • the abstract database management apparatus 100 may individually map a plurality of virtual account information corresponding to real account information of each of a plurality of target DBs 300a, ..., 300n.
  • the abstract database management apparatus 100 integrates a single virtual account information corresponding to the real account information of at least two target DBs 300 among a plurality of target DBs 300a, ..., 300n. it could be
  • FIG. 3 is a diagram exemplarily illustrating an interface for creating/registering real account information and virtual account information mapped thereto.
  • the abstract database management device 100 provides an account registration interface for creating/registering real account information of the target DB 300 and virtual account information mapped to the corresponding real account information for a user (administrator). can do.
  • the user through the real account registration area (A in FIG. 3) of the account registration interface provided by the abstract database management device 100 provides a real account (Real User), a real account password (Real Password),
  • the real account information of the target DB 300 including the real database, real host, and real port is directly entered through user input or received from the DBMS of the target DB 300. can register.
  • the user (administrator) through the virtual account registration area (B of FIG. 3) of the account registration interface provided by the abstract database management device 100 is a virtual account (Fake User), virtual account password (Fake Password), virtual database Virtual account information including (Fake Database), a virtual host (Fake Host), and a virtual port (Fake Port) may be generated by replacing the real account information.
  • the virtual account information disclosed herein is exposed to the user of the client terminal 200, but direct access to the target DB 300 based on the exposed virtual account information may be generated by substitution from the real account information.
  • the abstract database management apparatus 100 prevents deriving the mapped real account information from the virtual account information provided (exposed) to the user of the client terminal 200 to prevent real account information.
  • the mapping of the virtual account information to the real account information may be released.
  • the abstract database management apparatus 100 is effective corresponding to the virtual account information so that the virtual account information can be used in the access process to the target DB 300 only during a preset validity period after the virtual account information is generated by being replaced from the real account information. You can set the period.
  • the abstract database management apparatus 100 determines the validity period associated with the virtual account information that is created based on the type of user role previously given to the real account information used to generate the virtual account information. It may be setting For example, referring to FIG. 2 , the 'Role_admin' user role including various processing rights for the target DB 300 is relatively substituted from real account information (eg, Real 2 in FIG. 2 ). The validity period for the generated virtual account information is replaced from real account information (eg, Real 1 in FIG. 2 ) to which the 'Role_guest' user role including relatively limited processing rights for the target DB 300 is granted. It may be set longer than the validity period for the generated virtual account information. However, the present invention is not limited thereto, and the validity period for each virtual account may be individually set for each virtual account based on a user (administrator) input authorized to the abstract database management apparatus 100 according to an embodiment of the present application.
  • the virtual account information may be stored in the in-memory of the client terminal 200 or the abstract database management apparatus 100 .
  • the in-memory database performs a function in which information is maintained only in the memory of the device and not in the disk of the device, and when a program using the in-memory database ends, all information in the in-memory database is automatically deleted.
  • virtual account information for relaying the one-time connection to the target DB 300 of the client terminal 200 exists only in the memory space of the program, so that other programs access it. It can be implemented to efficiently manage virtual accounts by making it impossible to inquire information. As such, there is no need to leave the virtual account information in the device (eg, the client terminal 200, etc.) in a form that is permanently stored such as a file as data used temporarily.
  • the virtual account used by the user of the client terminal 200 to access the target DB 300 For reference, for the user of the client terminal 200 in the present application, as well as specific contents of real account information corresponding to the virtual account information, the virtual account used by the user of the client terminal 200 to access the target DB 300 .
  • the fact that the information is about a virtual account substituted from the real account information of the target DB 300 may not be recognized. In other words, the existence of the abstract database management apparatus 100 itself may not be recognized by the user of the client terminal 200 .
  • the abstract database management apparatus 100 may receive a request for access to the target DB 300 from the client terminal 200 .
  • a virtual account (ID) and a scheme of a virtual database accessed by the user of the client terminal 200 (Fake Database) (Scheme) information may be included.
  • the abstract database management apparatus 100 may determine whether real account information mapped to a virtual account included in the access request exists.
  • the abstract database management apparatus 100 may cancel communication with the client terminal 200 when it is determined that the mapping real account information does not exist in the virtual account included in the access request.
  • the abstract database management apparatus 100 provides the real account information mapped to the virtual account Based on the , access to the target DB 300 of the client terminal 200 may be relayed.
  • the abstract database management apparatus 100 may replace a virtual account (Fake User) included in an access request with a real account (Real User) according to real account information and deliver it to the target DB.
  • a virtual account Feke User
  • Real User real account
  • the abstract database management apparatus 100 may receive identification information (real salt) for user authentication from the target DB 300 .
  • the identification information for user authentication may include a 4-byte salt, which is an encryption value for confirming (identifying) the user of the client terminal 200 .
  • the abstract database management apparatus 100 converts the identification information (real salt) received from the target DB (300) into virtual identification information (fake salt), and converts the converted virtual identification information (fake salt) to the client terminal ( 200) can be transmitted.
  • the abstract database management device 100 a virtual account (fake user) from the client terminal 200, a password input request including a virtual password (fake password) and virtual identification information (fake salt) corresponding to the virtual account (fake salt) ( password message). That is, the user of the client terminal 200 calculates a hash value (eg, MD5, SHA, etc.) using a virtual account (fake user, ID), a virtual password (fake password), and virtual identification information (fake salt). It can be delivered to the abstract database management device 100 .
  • a hash value eg, MD5, SHA, etc.
  • the abstract database management device 100 the virtual account (fake user) and the virtual password (fake password) included in the password input request (password message) corresponds to the virtual account information, the password input request (password message) If the included virtual identification information (fake salt) corresponds to the identification information (real salt), an authentication request (password message) including the real account information mapped to the virtual account and the identification information (real salt) is sent to the target DB 300 ) can be transmitted.
  • the abstract database management apparatus 100 receives an authentication processing result (authenticationOk) according to an authentication request (password message) from the target DB 300 , and transmits the received authentication processing result (authenticationOk) to the client terminal 200 .
  • the client terminal 200 completes the connection relay process (authentication sequence) for the target DB 300 through the above-described process, the user of the client terminal 200 can manage the abstract database of the target DB 300 ( 100 ) As a state in which login is normally successful under the relay of
  • the abstract database management apparatus 100 may receive a query associated with the target DB 300 from the client terminal 200 .
  • the abstract database management apparatus 100 processes the target DB 300 according to the query of the virtual account (in other words, the virtual account used in the authentication sequence for access to the target DB 300) included in the access request. You can determine whether you have the authority to perform
  • the abstract database management apparatus 100 determines whether the user role granted to the virtual account included in the access request among a plurality of user roles preset in connection with the target DB 300 includes the authority according to the received query. can be judged
  • FIG. 4 is a conceptual diagram for explaining an access control model for selectively performing target DB processing according to a query.
  • the abstract database management apparatus 100 assigns a user role to each account through the above-described RBAC access model, and the processing that the user can perform for the target DB 300 and the processing.
  • a right associated with the type of a corresponding query may be set based on a user role granted for each account.
  • the abstract database management device 100 disclosed herein defines the rights for each user role, utilizes the virtual account information, and interlocks the user roles and rights of the real account information to manage the user roles and rights of the virtual account information. By making the decision, it is possible to eliminate the hassle of newly granting a corresponding user authority whenever a user newly accesses the target DB 300 .
  • 'System admin' has all of the system file editing rights, network access rights, user file editing rights, and /foo /bar file reading rights
  • the 'student' may selectively have only the network access right and the /foo /bar file read right.
  • the present invention is not limited thereto, and various user roles and corresponding rights may be defined according to an embodiment of the present application.
  • the user role is implemented to be customizable by a user (administrator) according to the type of the target DB 300 , and the administrator role (role_admin) and the guest role (role_guest) are basically configurable options may be provided as
  • FIG. 5 is a diagram illustrating query types according to user roles and corresponding privileges based on an access control model.
  • the query type that can be provided by the user may be set differently according to the authority determined based on the user role, and as such a query type, a table/view associated with the data structure in the target DB 300 .
  • Various query types related to permissions such as create/modify/delete/search/change for /index/parameter, etc. can be considered.
  • the query type (type) may be variously determined according to the purpose of the software platform to which the abstract database management apparatus 100 is applied.
  • the abstract database management apparatus 100 selectively performs processing on the target DB 300 corresponding to the received query based on whether the virtual account has authority, and returns the processing result for the target DB 300 to the client. may be returned to the terminal 200 .
  • the abstract database management apparatus 100 may receive a session termination request for the target DB 300 from the client terminal 200 . Also, the abstract database management apparatus 100 may transmit a session termination request to the target DB 300 and terminate the session to the target DB 300 associated with the client terminal 200 .
  • the user of the client terminal 200 performs one or more queries (SQL queries) through one session, and after executing all queries (SQL queries), makes a session termination request to the abstract database management device 100 ( terminate message).
  • SQL queries queries
  • SQL queries the user of the client terminal 200 performs one or more queries (SQL queries) through one session, and after executing all queries (SQL queries), makes a session termination request to the abstract database management device 100 ( terminate message).
  • FIG. 6 is a diagram exemplarily showing an interface that provides an integrated security policy associated with a database management system based on a virtual account and an access control model according to an embodiment of the present application.
  • the abstract database management device 100 provides real account information (B of FIG. 6 ), virtual account information (C of FIG. 6 ), and user roles for each account through the integrated security policy management interface shown in FIG. 6 .
  • a list of policy information including (A of FIG. 6 ) and authority (D of FIG. 6 ) may be displayed to the user (administrator).
  • the user (administrator) of the abstract database management device 100 determines the type of query (SQL query) that can be used according to the real account and role mapped to the virtual account through the security policy integrated management interface. can be viewed.
  • SQL query type of query
  • FIG. 7 is a schematic configuration diagram of an abstract database management apparatus based on a virtual account and access control model according to an embodiment of the present application.
  • the abstract database management apparatus 100 may include a mapping unit 110 , a client identification unit 120 , a connection relay unit 130 , a query processing unit 140 , and a session termination unit 150 .
  • a mapping unit 110 may include a mapping unit 110 , a client identification unit 120 , a connection relay unit 130 , a query processing unit 140 , and a session termination unit 150 .
  • the mapping unit 110 may generate virtual account information mapped with the real account information based on the real account information of the target DB 300 .
  • the client identification unit 120 may receive an access request for the target DB 300 from the client terminal 200 and determine whether real account information mapped to a virtual account included in the access request exists.
  • the access relay unit 130 may relay the access to the target DB of the client terminal 200 based on the actual account information according to the determination result.
  • FIG. 8 is a detailed configuration diagram of an access relay unit of an abstract database management apparatus based on a virtual account and access control model according to an embodiment of the present application.
  • the access relay unit 130 may include an identification information processing unit 131 , an encryption analysis unit 132 , and an authentication processing unit 133 .
  • the identification information processing unit 131 may replace the virtual account included in the access request with a real account according to the mapped real account information and deliver it to the target DB 300 . Also, the identification information processing unit 131 may receive identification information for user authentication from the target DB 300 , convert the received identification information into virtual identification information, and transmit the received identification information to the client terminal 200 .
  • the password analysis unit 132 may receive a password input request including a virtual account, a virtual password corresponding to the virtual account, and virtual identification information from the client terminal 200 . In addition, the password analysis unit 132 analyzes whether the virtual account and the virtual password included in the password input request correspond to (match) the virtual account information, and whether the virtual identification information included in the password input request corresponds to the identification information. can
  • the authentication processing unit 133 may transmit an authentication request including real account information and identification information to the target DB 300 based on the analysis result of the password analysis unit 132 . Also, the authentication processing unit 133 may receive the authentication processing result according to the authentication request from the target DB 300 and transmit it to the client terminal 200 .
  • the query processing unit 140 may selectively perform processing on the target DB 300 according to the received query based on the determined authority.
  • the session termination unit 150 may receive a session termination request for the target DB 300 from the client terminal 200 , transmit it to the target DB 300 , and terminate the session associated with the client terminal 200 .
  • FIG. 9 is an operation flowchart of an abstract database management method based on a virtual account and access control model according to an embodiment of the present application.
  • the mapping unit 110 may generate virtual account information mapped with the real account information based on the real account information of the target DB 300 .
  • the client identification unit 120 may receive an access request (startup message; fake user, fake database) for the target DB 300 from the client terminal 200 .
  • the client identification unit 120 may determine whether real account information mapped to a virtual account included in the access request exists.
  • step S14 the access relay unit 130 may relay the connection to the target DB of the client terminal 200 based on the actual account information according to the determination result of step S13 .
  • the query processing unit 140 may receive a query associated with the target DB 300 from the client terminal 200 .
  • the query processing unit 140 may determine whether or not the authority to process the target DB 300 according to the query of the virtual account included in the access request.
  • step S16 the query processing unit 140 determines whether the user role granted to the virtual account included in the access request among a plurality of user roles preset in connection with the target DB 300 includes the corresponding authority.
  • step S17 the query processing unit 140 may selectively perform processing on the target DB 300 according to the query based on whether or not the authority is determined in step S16 .
  • the session termination unit 150 may receive a session termination request for the target DB 300 from the client terminal 200 .
  • the session termination unit 150 may transmit the received session termination request to the target DB 300 and terminate the session associated with the client terminal 200 .
  • FIG. 10 is a detailed operation flowchart of a process of relaying access to a target DB of a client terminal based on virtual account information and real account information.
  • the process of relaying the connection to the target DB of the client terminal based on the virtual account information and the real account information shown in FIG. 10 may be performed by the abstract database management apparatus 100 described above. Accordingly, even if omitted below, the description of the abstract database management apparatus 100 may be equally applied to the description of FIG. 10 .
  • the identification information processing unit 131 may replace a virtual account with a real account according to real account information and deliver it to the target DB 300 (startup message; real user, real database).
  • step S142 the identification information processing unit 131 receives identification information (real salt) for user authentication from the target DB 300 .
  • the identification information processing unit 131 may convert the received identification information (real salt) into virtual identification information (fake salt).
  • the identification information processing unit 131 may transmit the converted virtual identification information (fake salt) to the client terminal 200 .
  • step S145 the identification information processing unit 131 inputs a password including a virtual account (fake user), a virtual password corresponding to the virtual account, and virtual identification information (fake salt) from the client terminal 200 . You may receive a password message.
  • step S146 the password analysis unit 132 determines that the virtual account and virtual password included in the password input request (password message) correspond to (match) the virtual account information, and the virtual account included in the password input request (password message)
  • an authentication request (password message) including real account information and identification information (real salt) may be transmitted to the target DB 300 .
  • the authentication processing unit 133 may receive an authentication processing result (authenticationOk) according to the authentication request from the target DB 300 .
  • step S148 the authentication processing unit 133 may transmit the received authentication processing result (authenticationOk) to the client terminal 200 .
  • steps S141 to S148 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present application.
  • some steps may be omitted if necessary, and the order between the steps may be changed.
  • the abstract database management method based on the virtual account and access control model may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks.
  • magneto-optical media includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the above-described abstract database management method based on the virtual account and access control model may be implemented in the form of a computer program or application executed by a computer stored in a recording medium.

Abstract

Disclosed are an abstract database management device and method based on a virtual account and an access control model. The abstract database management method based on a virtual account and an access control model according to an embodiment of the present invention may comprise the steps of: generating, on the basis of actual account information of a target DB, virtual account information that is mapped to the actual account information; receiving a connection request for the target DB from a client terminal; determining whether actual account information mapped to a virtual account included in the connection request is present; and relaying the connection of the client terminal to the target DB on the basis of the actual account information according to the determination result.

Description

가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치 및 방법Device and method for abstract database management based on virtual account and access control model
본원은 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치 및 방법에 관한 것이다. 예를 들면, 본원은 가상 계정을 활용한 의료 데이터베이스 관리 시스템(Database Management System, DBMS)의 보안 정책을 통해 클라이언트가 보안 정책에 어긋나는 작업을 수행하는 경우에 선제적으로 클라이언트의 접근을 제어하는 기법에 관한 것이다.The present application relates to an abstract database management apparatus and method based on a virtual account and access control model. For example, we provide a technique for preemptively controlling client access when a client performs an operation that violates the security policy through the security policy of a medical database management system (DBMS) using a virtual account. it's about
네트워크(Network) 통신의 원리는 ISO/IEC 7498-1:1994에 명세된 ‘The Basic Reference Model for Open Systems Interconnection’에 기초하며, 이를 단순화한 TCP/IP 스택이 대중적으로 사용된다. 여기서, TCP/IP 스택은 물리, 데이터 링크, 네트워크, 전송, 그리고 애플리케이션 계층까지 총 5개의 계층으로 구성되며, TCP와 IP는 각각 전송 계층과 네트워크 계층에 사용되는 대표적인 프로토콜로서 각 계층별로 특정 목적을 위해 설계된 프로토콜이 존재하며, 소프트웨어 개발자는 애플리케이션 계층 수준에서 해당 소프트웨어의 기능을 이용하기 위한 프로토콜을 설계 및 구현할 수 있다는 특징을 가진다.The principle of network communication is based on ‘The Basic Reference Model for Open Systems Interconnection’ specified in ISO/IEC 7498-1:1994, and the simplified TCP/IP stack is popularly used. Here, the TCP/IP stack consists of a total of five layers, including the physical, data link, network, transport, and application layers. There is a protocol designed for this purpose, and a software developer has the characteristic of being able to design and implement a protocol for using the function of the corresponding software at the application layer level.
이와 관련하여, 프록시와 방화벽은 네트워크 통신을 감시하고 보호하기 위한 대표적인 방법으로서, TCP/IP 스택의 각 계층에 해당하는 프록시와 방화벽이 존재하게 된다. 구체적으로, 프록시는 네트워크 기능을 가진 2개 이상의 참여자 사이에 위치하여 서로의 통신을 중계하는 역할을 수행하며, 이러한 프록시를 사용한 클라이언트-서버 통신 모델에서 사용자(클라이언트)는 프록시를 통해 서버와 통신하고, 프록시는 통신 내용을 확인할 수 있다.In this regard, a proxy and a firewall are representative methods for monitoring and protecting network communication, and a proxy and a firewall corresponding to each layer of the TCP/IP stack exist. Specifically, a proxy is located between two or more participants with network functions and plays a role of relaying each other's communication. In the client-server communication model using such a proxy, the user (client) communicates with the server through the proxy , the proxy can check the communication contents.
또한, 방화벽은 프록시 기능을 기반으로 네트워크 통신에 대해 조직의 보안 정책을 적용할 수 있게 하는 네트워크 장치 혹은 소프트웨어로서 사용자와 조직의 서버 사이의 통신을 확인할 수 있을 뿐만 아니라, 통신 내용이 조직의 자산에 피해를 끼치거나 정책에 위배될 경우 해당 세션을 강제로 차단할 수 있다.In addition, a firewall is a network device or software that allows the application of an organization's security policy to network communications based on its proxy function. If it causes damage or violates the policy, the session can be forcibly blocked.
일반적으로 프록시나 방화벽은 서버에서 실행되는 애플리케이션에 관계없이 조직에서 발생하는 모든 통신을 모니터링하고 제어하기 때문에 특정 애플리케이션이나 서비스에 특화된 보안 정책을 적용하기 어렵다는 문제가 있다.In general, a proxy or firewall has a problem in that it is difficult to apply a security policy specific to a specific application or service because it monitors and controls all communication occurring in the organization regardless of the application running on the server.
한편, 의료 데이터는 환자의 개인정보 등 개인의 프라이버시와 연관된 민감한 정보를 포함하기 때문에 물리적/논리적으로 제한된 환경에서 운영되어 왔으나, 최근 빅 데이터의 가치가 강조되고 활용 사례가 증가함에 따라, 의료 데이터를 연구 등 2차 활용 목적으로 분석하려는 시도가 이어지고 있다.On the other hand, medical data has been operated in a physically and logically limited environment because it contains sensitive information related to personal privacy, such as patient personal information. Attempts to analyze for secondary purposes such as research are continuing.
종래의 의료 데이터 분석 기법의 경우, 기술적 관점에서 사용자는 지리적/물리적으로 의료원 내에서 데이터베이스에 접근하거나, 엄격하게 제한된 네트워크 환경에서의 원격 접속만 허용하는 등 데이터 활용에 제약이 많았다. 이러한 환경을 개선하고 의료 데이터를 적극적으로 활용하기 위해 2010년 중반부터는 의료 데이터의 양식을 규격화하고, 이를 토대로 데이터베이스 접속 도구나 분석 프로그램 등에 대한 개발이 활발히 이루어졌으나, 이러한 프로그램들은 주로 Java Database Connectivity(JDBC) 혹은 Open Database connectivity(ODBC)를 이용해 데이터베이스에 접속하고, 의료 데이터를 읽고 분석하는 방식을 취하고 있었는데, 전술한 종래의 방식은 사용자가 자신의 PC에서 의료 데이터가 저장된 데이터베이스에 직접 접속해야 하기 때문에, 사용자가 데이터베이스의 정보를 사전에 알고 있어야 하고 적절한 질의를 통해 데이터베이스의 정보가 노출될 수 있으며, 이는 보안상 바람직하지 않다는 문제가 있었다.In the case of the conventional medical data analysis technique, from a technical point of view, a user has many restrictions on data utilization, such as geographically/physically accessing a database within a medical center or allowing only remote access in a strictly limited network environment. In order to improve this environment and actively utilize medical data, the format of medical data was standardized from mid-2010, and database access tools and analysis programs were actively developed based on this, but these programs are mainly Java Database Connectivity (JDBC). ) or Open Database Connectivity (ODBC) to access the database and read and analyze medical data. The user must know the database information in advance, and the database information can be exposed through an appropriate query, which is undesirable in terms of security.
이에 따라, 의료 데이터의 분석 및 활용을 위하여 의료용 데이터베이스에 특화되어 사용자와 데이터베이스 사이의 통신을 모니터링하고 통제할 수 있는 보안 조치의 개발이 요구된다.Accordingly, in order to analyze and utilize medical data, it is required to develop a security measure that is specialized for a medical database and can monitor and control communication between a user and the database.
본원의 배경이 되는 기술은 한국등록특허공보 제10-0916668호에 개시되어 있다.The technology that is the background of the present application is disclosed in Korean Patent Publication No. 10-0916668.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 클라이언트와 대상 DB의 데이터베이스 관리 시스템(Database Management System, DBMS) 사이에서 대상 DB의 실제 계정에 매핑되는 가상 계정을 활용하여 클라이언트의 접근을 선제적으로 관리하는 보안 정책을 지원하는 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치 및 방법을 제공하려는 것을 목적으로 한다.The present application is to solve the problems of the prior art described above, and between a client and a database management system (DBMS) of the target DB, by utilizing a virtual account that is mapped to the real account of the target DB, the client's access is preemptively It aims to provide an abstract database management device and method based on a virtual account and access control model that supports security policies managed by
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problems to be achieved by the embodiments of the present application are not limited to the technical problems as described above, and other technical problems may exist.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 방법은, 대상 DB의 실제 계정 정보에 기초하여 상기 실제 계정 정보와 매핑되는 가상 계정 정보를 생성하는 단계, 클라이언트 단말로부터 상기 대상 DB에 대한 접속 요청을 수신하는 단계, 상기 접속 요청에 포함된 가상 계정에 매핑된 상기 실제 계정 정보가 존재하는지 여부를 판단하는 단계 및 상기 판단 결과에 따라 상기 실제 계정 정보에 기초하여 상기 클라이언트 단말의 상기 대상 DB에 대한 접속을 중계하는 단계를 포함할 수 있다.As a technical means for achieving the above technical problem, the abstract database management method based on a virtual account and access control model according to an embodiment of the present application is a virtual account mapped with the real account information based on the real account information of the target DB. Generating account information, receiving an access request to the target DB from a client terminal, determining whether the real account information mapped to a virtual account included in the access request exists, and the determination result Accordingly, the method may include relaying the access to the target DB of the client terminal based on the actual account information.
또한, 상기 중계하는 단계는, 상기 가상 계정을 상기 실제 계정 정보에 따른 실제 계정으로 치환하여 상기 대상 DB로 전달하는 단계, 상기 대상 DB로부터 사용자 인증을 위한 식별 정보를 수신하는 단계, 상기 수신한 식별 정보를 가상 식별 정보로 변환하고, 상기 가상 식별 정보를 상기 클라이언트 단말로 전송하는 단계, 상기 클라이언트 단말로부터 상기 가상 계정, 상기 가상 계정에 대응하는 가상 암호 및 상기 가상 식별 정보를 포함하는 암호 입력 요청을 수신하는 단계, 상기 암호 입력 요청에 포함된 상기 가상 계정 및 상기 가상 암호가 상기 가상 계정 정보에 대응하고, 상기 암호 입력 요청에 포함된 상기 가상 식별 정보가 상기 식별 정보에 대응하면, 상기 실제 계정 정보 및 상기 식별 정보를 포함하는 인증 요청을 상기 대상 DB로 전송하는 단계 및 상기 인증 요청에 따른 인증 처리 결과를 상기 대상 DB로부터 수신하고, 상기 인증 처리 결과를 상기 클라이언트 단말로 전송하는 단계를 포함할 수 있다.In addition, the relaying may include replacing the virtual account with a real account according to the real account information and transferring it to the target DB, receiving identification information for user authentication from the target DB, and the received identification converting information into virtual identification information and transmitting the virtual identification information to the client terminal; receiving a password input request including the virtual account, a virtual password corresponding to the virtual account, and the virtual identification information from the client terminal receiving, when the virtual account and the virtual password included in the password input request correspond to the virtual account information, and the virtual identification information included in the password input request corresponds to the identification information, the real account information and transmitting an authentication request including the identification information to the target DB, receiving an authentication processing result according to the authentication request from the target DB, and transmitting the authentication processing result to the client terminal have.
또한, 상기 가상 계정 정보는 상기 클라이언트 단말의 사용자에게 노출되되, 상기 가상 계정 정보에 기초한 상기 대상 DB로의 직접 접속은 불가능한 것일 수 있다.In addition, the virtual account information may be exposed to the user of the client terminal, but direct access to the target DB based on the virtual account information may not be possible.
또한, 상기 생성하는 단계는, 상기 생성된 가상 계정 정보로부터 상기 실제 계정 정보를 도출하는 것이 방지되도록 상기 실제 계정 정보를 난수 처리 방식으로 변환하여 상기 가상 계정 정보를 생성할 수 있다.In addition, the generating may include generating the virtual account information by converting the real account information into a random number processing method to prevent deriving the real account information from the generated virtual account information.
또한, 상기 생성하는 단계 이후에 미리 설정된 유효 기간이 도과하면, 상기 가상 계정 정보의 상기 실제 계정 정보에 대한 매핑이 해제될 수 있다.Also, when a preset validity period elapses after the generating step, the mapping of the virtual account information to the real account information may be released.
또한, 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 방법은, 상기 중계하는 단계 이후에, 상기 클라이언트 단말로부터 상기 대상 DB와 연계된 질의를 수신하는 단계, 상기 접속 요청에 포함된 가상 계정의 상기 질의에 따른 상기 대상 DB에 대한 처리를 수행할 권한 보유 여부를 판단하는 단계 및 상기 권한 보유 여부에 기초하여 상기 처리를 선택적으로 수행하는 단계를 포함할 수 있다.In addition, the abstract database management method based on a virtual account and access control model according to an embodiment of the present application, after the relaying, receiving a query associated with the target DB from the client terminal, the access request The method may include determining whether or not the user has authority to perform processing on the target DB according to the query of the included virtual account, and selectively performing the processing based on whether the user has the authority.
또한, 상기 권한 보유 여부를 판단하는 단계는, 상기 대상 DB와 연계하여 미리 설정된 복수의 사용자 역할 중 상기 접속 요청에 포함된 가상 계정에 대하여 부여된 상기 사용자 역할이 상기 권한을 포함하는지 여부를 판단할 수 있다.In addition, the step of determining whether the authority is possessed may include determining whether the user role granted to the virtual account included in the access request among a plurality of user roles preset in connection with the target DB includes the authority. can
또한, 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 방법은, 상기 클라이언트 단말로부터 상기 대상 DB에 대한 세션 종료 요청을 수신하는 단계 및 상기 세션 종료 요청을 상기 대상 DB에 전송하고, 상기 클라이언트 단말과 연계된 세션을 종료하는 단계를 포함할 수 있다.In addition, the abstract database management method based on a virtual account and access control model according to an embodiment of the present application includes the steps of receiving a session termination request for the target DB from the client terminal and transmitting the session termination request to the target DB and terminating the session associated with the client terminal.
또한, 상기 대상 DB는 의료 데이터를 저장하는 DB일 수 있다.Also, the target DB may be a DB for storing medical data.
한편, 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치는, 대상 DB의 실제 계정 정보에 기초하여 상기 실제 계정 정보와 매핑되는 가상 계정 정보를 생성하는 매핑부, 클라이언트 단말로부터 상기 대상 DB에 대한 접속 요청을 수신하고, 상기 접속 요청에 포함된 가상 계정에 매핑된 상기 실제 계정 정보가 존재하는지 여부를 판단하는 클라이언트 식별부 및 상기 판단 결과에 따라 상기 실제 계정 정보에 기초하여 상기 클라이언트 단말의 상기 대상 DB에 대한 접속을 중계하는 접속 중계부를 포함할 수 있다.Meanwhile, the apparatus for managing an abstract database based on a virtual account and access control model according to an embodiment of the present application includes a mapping unit that generates virtual account information mapped with the real account information based on real account information of a target DB, a client terminal a client identification unit that receives an access request to the target DB from It may include an access relay unit for relaying the connection to the target DB of the client terminal.
또한, 상기 접속 중계부는, 상기 가상 계정을 상기 실제 계정 정보에 따른 실제 계정으로 치환하여 상기 대상 DB로 전달하고, 상기 대상 DB로부터 사용자 인증을 위한 식별 정보를 수신하고, 상기 수신한 식별 정보를 가상 식별 정보로 변환하고, 상기 가상 식별 정보를 상기 클라이언트 단말로 전송하는 식별 정보 처리부, 상기 클라이언트 단말로부터 상기 가상 계정, 상기 가상 계정에 대응하는 가상 암호 및 상기 가상 식별 정보를 포함하는 암호 입력 요청을 수신하고, 상기 암호 입력 요청에 포함된 상기 가상 계정 및 상기 가상 암호가 상기 가상 계정 정보에 대응하고, 상기 암호 입력 요청에 포함된 상기 가상 식별 정보가 상기 식별 정보에 대응하는지 여부를 분석하는 암호 분석부 및 상기 분석 결과에 기초하여 상기 실제 계정 정보 및 상기 식별 정보를 포함하는 인증 요청을 상기 대상 DB로 전송하고, 상기 인증 요청에 따른 인증 처리 결과를 상기 대상 DB로부터 수신하고, 상기 인증 처리 결과를 상기 클라이언트 단말로 전송하는 인증 처리부를 포함할 수 있다.In addition, the access relay unit replaces the virtual account with a real account according to the real account information and transmits it to the target DB, receives identification information for user authentication from the target DB, and converts the received identification information into a virtual Identification information processing unit converting into identification information and transmitting the virtual identification information to the client terminal, receiving a password input request including the virtual account, a virtual password corresponding to the virtual account, and the virtual identification information from the client terminal and a password analysis unit to analyze whether the virtual account and the virtual password included in the password input request correspond to the virtual account information, and whether the virtual identification information included in the password input request corresponds to the identification information and transmitting an authentication request including the real account information and the identification information to the target DB based on the analysis result, receiving an authentication processing result according to the authentication request from the target DB, and receiving the authentication processing result from the target DB It may include an authentication processing unit for transmitting to the client terminal.
또한, 상기 매핑부는, 상기 생성된 가상 계정 정보로부터 상기 실제 계정 정보를 도출하는 것이 방지되도록 상기 실제 계정 정보를 난수 처리 방식으로 변환하여 상기 가상 계정 정보를 생성할 수 있다.Also, the mapping unit may generate the virtual account information by converting the real account information into a random number processing method to prevent deriving the real account information from the generated virtual account information.
또한, 상기 매핑부는, 상기 가상 계정 정보가 생성된 후 미리 설정된 유효 기간이 도과하면, 상기 가상 계정 정보의 상기 실제 계정 정보에 대한 매핑을 해제할 수 있다.Also, the mapping unit may release the mapping of the virtual account information to the real account information when a preset validity period elapses after the virtual account information is generated.
또한, 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치는, 상기 클라이언트 단말로부터 상기 대상 DB와 연계된 질의를 수신하고, 상기 접속 요청에 포함된 가상 계정의 상기 질의에 따른 상기 대상 DB에 대한 처리를 수행할 권한 보유 여부를 판단하고, 상기 권한 보유 여부에 기초하여 상기 처리를 선택적으로 수행하는 질의 처리부를 포함할 수 있다.In addition, the apparatus for managing an abstract database based on a virtual account and access control model according to an embodiment of the present application receives a query associated with the target DB from the client terminal, and responds to the query of the virtual account included in the access request. and a query processing unit that determines whether or not the user has authority to perform processing on the target DB, and selectively performs the processing on the basis of whether or not the authority is possessed.
또한, 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치는, 상기 클라이언트 단말로부터 상기 대상 DB에 대한 세션 종료 요청을 수신하고, 상기 세션 종료 요청을 상기 대상 DB에 전송하고, 상기 클라이언트 단말과 연계된 세션을 종료하는 세션 종료부를 포함할 수 있다.In addition, the virtual account and access control model-based abstract database management apparatus according to an embodiment of the present application receives a session termination request for the target DB from the client terminal, and transmits the session termination request to the target DB, , it may include a session terminating unit for terminating the session associated with the client terminal.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary, and should not be construed as limiting the present application. In addition to the exemplary embodiments described above, additional embodiments may exist in the drawings and detailed description.
전술한 본원의 과제 해결 수단에 의하면, 클라이언트와 대상 DB의 데이터베이스 관리 시스템(Database Management System, DBMS) 사이에서 대상 DB의 실제 계정에 매핑되는 가상 계정을 활용하여 클라이언트의 접근을 선제적으로 관리하는 보안 정책을 지원하는 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치 및 방법을 제공할 수 있다.According to the above-described problem solving means of the present application, between the client and the database management system (DBMS) of the target DB, by using a virtual account that is mapped to the real account of the target DB, the security to preemptively manage the access of the client It is possible to provide an abstract database management device and method based on a virtual account and access control model supporting policy.
전술한 본원의 과제 해결 수단에 의하면, 의료 데이터와 관련한 애플리케이션에 특화된 보안 정책을 용이하게 적용할 수 있다.According to the above-described problem solving means of the present application, it is possible to easily apply a security policy specific to an application related to medical data.
전술한 본원의 과제 해결 수단에 의하면, 악의의 공격자가 네트워크를 통해 의료 데이터베이스 등의 대상 DB에 접근하더라도 공격자가 실제 계정이 치환된 가상 계정만을 보유하기 때문에 대상 DB의 기능을 이용하는 것을 효과적으로 방지할 수 있다.According to the above-described problem solving means of the present application, even if a malicious attacker accesses a target DB such as a medical database through a network, it is possible to effectively prevent the attacker from using the function of the target DB because the attacker has only a virtual account in which the real account is replaced. have.
전술한 본원의 과제 해결 수단에 의하면, 가상 계정 및 역할 기반 접근제어(Role-based Access Control, RBAC)를 통해 클라이언트가 작성하는 질의에 따라 선택적으로 대상 DB 관련 처리를 수행하거나 선택적으로 대상 DB 내 데이터를 제공함으로써 효율적으로 클라이언트를 통제할 수 있다.According to the above-described problem solving means of the present application, the target DB-related processing is selectively performed according to the query written by the client through a virtual account and role-based access control (RBAC), or data in the target DB is selectively performed. By providing an efficient way to control the client.
전술한 본원의 과제 해결 수단에 의하면, 사용자에게 노출되는 가상 계정을 유효 기간 도과에 따라 실제 계정과 매핑 해제함으로써 클라이언트에 대한 엄격한 보안 정책을 제공할 수 있다.According to the above-described problem solving means of the present application, it is possible to provide a strict security policy for the client by unmapping the virtual account exposed to the user with the real account according to the expiration of the validity period.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.However, the effects obtainable herein are not limited to the above-described effects, and other effects may exist.
도 1은 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반 데이터베이스 관리 시스템의 개략적인 구성도이다.1 is a schematic configuration diagram of a database management system based on a virtual account and access control model according to an embodiment of the present application.
도 2는 실제 계정 정보와 가상 계정 정보의 매핑을 설명하기 위한 개념도이다.2 is a conceptual diagram illustrating a mapping between real account information and virtual account information.
도 3은 실제 계정 정보 및 이에 매핑되는 가상 계정 정보를 생성/등록하기 위한 인터페이스를 예시적으로 나타낸 도면이다.3 is a diagram exemplarily illustrating an interface for creating/registering real account information and virtual account information mapped thereto.
도 4는 질의에 따른 대상 DB 처리를 선택적으로 수행하기 위한 접근 제어 모델을 설명하기 위한 개념도이다.4 is a conceptual diagram for explaining an access control model for selectively performing target DB processing according to a query.
도 5는 접근 제어 모델에 기초한 사용자 역할 및 이에 대응하는 권한에 따른 질의 유형을 나타낸 도표이다.5 is a diagram illustrating a query type according to a user role and corresponding authority based on an access control model.
도 6은 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반 데이터베이스 관리 시스템과 연계된 보안 정책을 통합 제공하는 인터페이스를 예시적으로 나타낸 도면이다.6 is a diagram exemplarily showing an interface that provides an integrated security policy associated with a database management system based on a virtual account and an access control model according to an embodiment of the present application.
도 7은 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치의 개략적인 구성도이다.7 is a schematic configuration diagram of an abstract database management apparatus based on a virtual account and access control model according to an embodiment of the present application.
도 8은 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치의 접속 중계부의 세부 구성도이다.8 is a detailed configuration diagram of an access relay unit of an abstract database management apparatus based on a virtual account and access control model according to an embodiment of the present application.
도 9는 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 방법에 대한 동작 흐름도이다.9 is an operation flowchart of an abstract database management method based on a virtual account and access control model according to an embodiment of the present application.
도 10은 가상 계정 정보 및 실제 계정 정보에 기초하여 클라이언트 단말의 대상 DB에 대한 접속을 중계하는 프로세스에 대한 세부 동작 흐름도이다.10 is a detailed operation flowchart of a process of relaying access to a target DB of a client terminal based on virtual account information and real account information.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present application will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art to which the present application pertains can easily implement them. However, the present application may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present application in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다. Throughout this specification, when a part is said to be “connected” to another part, it is not only “directly connected” but also “electrically connected” or “indirectly connected” with another element interposed therebetween. "Including cases where
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when it is said that a member is positioned "on", "on", "on", "under", "under", or "under" another member, this means that a member is located on the other member. It includes not only the case where they are in contact, but also the case where another member exists between two members.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout this specification, when a part "includes" a component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.
본원은 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치 및 방법에 관한 것이다.The present application relates to an abstract database management apparatus and method based on a virtual account and access control model.
도 1은 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반 데이터베이스 관리 시스템의 개략적인 구성도이다.1 is a schematic configuration diagram of a database management system based on a virtual account and access control model according to an embodiment of the present application.
도 1을 참조하면, 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반 데이터베이스 관리 시스템(10)은, 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치(100)(이하, '추상 데이터베이스 관리 장치(100)'라 한다.), 클라이언트 단말(200) 및 대상 DB(300)를 포함할 수 있다.1, the virtual account and access control model-based database management system 10 according to an embodiment of the present application, the virtual account and access control model-based abstract database management apparatus 100 according to an embodiment of the present application (hereinafter referred to as 'abstract database management apparatus 100'), the client terminal 200 and the target DB 300 may be included.
추상 데이터베이스 관리 장치(100), 클라이언트 단말(200) 및 대상 DB(300) 상호간은 네트워크(미도시)를 통해 통신할 수 있다. 네트워크(미도시)는 단말들 및 서버들과 같은 각각의 노드 상호간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(미도시)의 일 예에는, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5G 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), wifi 네트워크, 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다. 또한, 예시적으로, 네트워크(미도시)는 대상 DB(300)를 포함하는 복수의 데이터베이스를 활용한 공통데이터모델(Common Data Model, CDM) 기반의 분산 연구망을 지칭하는 것일 수 있다.The abstract database management apparatus 100, the client terminal 200, and the target DB 300 may communicate with each other through a network (not shown). A network (not shown) refers to a connection structure capable of exchanging information between each node, such as terminals and servers, and an example of such a network (not shown) includes a 3rd Generation Partnership Project (3GPP) network, LTE (Long Term Evolution) network, 5G network, WIMAX (World Interoperability for Microwave Access) network, Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN ( Personal Area Network), wifi network, Bluetooth (Bluetooth) network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, and the like are included, but are not limited thereto. Also, for example, the network (not shown) may refer to a distributed research network based on a Common Data Model (CDM) utilizing a plurality of databases including the target DB 300 .
클라이언트 단말(200)은 예를 들면, 스마트폰(Smartphone), 스마트패드(SmartPad), 태블릿 PC등과 PCS(Personal Communication System), GSM(Global System for Mobile communication), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말기 같은 모든 종류의 무선 통신 장치일 수 있다.The client terminal 200 is, for example, a smart phone, a smart pad, a tablet PC, and the like and a PCS (Personal Communication System), GSM (Global System for Mobile communication), PDC (Personal Digital Cellular), PHS ( Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) terminals The same may be any type of wireless communication device.
또한, 본원의 실시예에 관한 설명에서 대상 DB(300)는 클라이언트 단말(200)의 사용자가 접속하고자 하는 데이터베이스로서, 클라이언트 단말(200)은 직접 대상 DB(300)로 접속하는 것이 아니라, 본원에서 개시하는 추상 데이터베이스 관리 장치(100)의 중계를 통해 대상 DB(300)로 접근할 수 있다.In addition, in the description of the embodiment of the present application, the target DB 300 is a database that the user of the client terminal 200 wants to access, and the client terminal 200 does not directly connect to the target DB 300 , but in the present application. It is possible to access the target DB 300 through the relay of the disclosed abstract database management device 100 .
본원의 일 실시예에 따르면, 대상 DB(300)는 의료 데이터를 저장하는 DB일 수 있으나, 이에만 한정되는 것은 아니고, 본원의 구현예에 따라 대상 DB(300)는 금융 기관, 행정 기관, 교육 기관 등의 다양한 기관이나 기업과 연계하여 해당 기관이나 기업과 관련한 정보를 저장하기 위한 각종 데이터베이스를 폭넓게 지칭하는 것일 수 있다. 이하에서는, 설명의 편의를 위하여 대상 DB(300)가 대학 병원, 병의원, 보건소 등 다양한 의료 기관에 대하여 마련되어 의료 기관 내 각종 의료 데이터(환자 정보, 수술/시술 정보, 의약 데이터, 임상 데이터, 영상 데이터 등)를 저장/관리하도록 구비되는 의료용 데이터베이스인 것으로 본원의 실시예를 설명하도록 한다. 예시적으로, 의료용 데이터베이스인 대상 DB(300)는 국내 또는 국제적인 의료 분야 공동연구를 위해 용어/구조 등이 표준화된 공통데이터모델(Common Data Model, CDM)과 연계된 것일 수 있다.According to an embodiment of the present application, the target DB 300 may be a DB for storing medical data, but is not limited thereto, and according to the embodiment of the present application, the target DB 300 is a financial institution, administrative institution, education It may refer broadly to various databases for storing information related to the relevant institution or corporation in connection with various institutions or corporations, such as institutions. Hereinafter, for convenience of explanation, the target DB 300 is provided for various medical institutions such as university hospitals, hospitals and public health centers, and various medical data (patient information, surgery/procedure information, medicine data, clinical data, image data) in the medical institution. etc.) to be described as a medical database provided to store / manage the embodiment of the present application. For example, the target DB 300 , which is a medical database, may be linked to a Common Data Model (CDM) in which terms/structures are standardized for domestic or international joint research in the medical field.
한편, 본원의 실시예에 관한 설명에서 추상 데이터베이스 관리 장치(100)가 대상 DB(300)에 대하여 각종 정보(데이터)를 송수신하거나 클라이언트의 질의에 대응하는 처리를 요청하고 처리 결과를 수신하는 동작은 대상 DB(300)의 데이터베이스 관리 시스템(Database Management System, DBMS)에 대하여 이루어지는 프로세스를 구체적으로 의미하는 것일 수 있다.On the other hand, in the description of the embodiment of the present application, the abstract database management apparatus 100 transmits and receives various types of information (data) to and from the target DB 300 or requests processing corresponding to a client's query and receives the processing result is It may mean specifically a process performed with respect to a database management system (DBMS) of the target DB 300 .
또한, 도 1을 참조하면, 추상 데이터베이스 관리 장치(100)는 복수의 클라이언트 단말(200a, ···, 200n)과 복수의 대상 DB(300a, ···, 300n)를 통합적으로 중계하도록 구비되는 것일 수 있다. 달리 말해, 추상 데이터베이스 관리 장치(100)는 복수의 클라이언트 단말(200a, ···, 200n) 중 적어도 하나의 클라이언트 단말(200)의 대상 DB(300)로의 접속/처리 등을 중계할 수 있으며, 나아가, 특정 클라이언트 단말(200)의 복수의 대상 DB(300a, ···, 300n) 중 적어도 하나의 대상 DB(300)에 대한 접속/처리 등을 중계하는 것일 수 있다.In addition, referring to Figure 1, the abstract database management apparatus 100 is provided to integrally relay a plurality of client terminals (200a, ..., 200n) and a plurality of target DBs (300a, ..., 300n) it could be In other words, the abstract database management apparatus 100 may relay the connection/processing of at least one client terminal 200 of the plurality of client terminals 200a, ..., 200n to the target DB 300, etc., Furthermore, the connection/processing of at least one target DB 300 among a plurality of target DBs 300a, ..., 300n of the specific client terminal 200 may be relayed.
도 2는 실제 계정 정보와 가상 계정 정보의 매핑을 설명하기 위한 개념도이다.2 is a conceptual diagram illustrating a mapping between real account information and virtual account information.
도 2를 참조하면, 추상 데이터베이스 관리 장치(100)는 대상 DB(300)의 실제 계정 정보에 기초하여 대상 DB(300)의 실제 계정 정보와 매핑되는 가상 계정 정보를 생성할 수 있다.Referring to FIG. 2 , the abstract database management apparatus 100 may generate virtual account information mapped with the real account information of the target DB 300 based on the real account information of the target DB 300 .
또한, 도 2를 참조하면, 추상 데이터베이스 관리 장치(100)는 대상 DB(300)의 실제 계정 정보에 기초하여 매핑되는 가상 계정 정보에 대한 사용자 역할(Role)을 결정(정의)할 수 있다. 예를 들어, 가상 계정 정보는 해당 가상 계정 정보와 매핑되는 실제 계정 정보에 대하여 기 부여된 사용자 역할(Role)에 대응하도록 결정될 수 있다.Also, referring to FIG. 2 , the abstract database management apparatus 100 may determine (define) a user role for the mapped virtual account information based on the real account information of the target DB 300 . For example, the virtual account information may be determined to correspond to a user role previously assigned to the real account information mapped with the corresponding virtual account information.
달리 말해, 매핑된 가상 계정 정보와 실제 계정 정보는 대상 DB(300) 내에서의 질의 및 질의에 대응하는 처리와 관련한 사용자 역할을 공유하는 것일 수 있다. 다만, 이에만 한정되는 것은 아니고, 본원의 구현예에 따라 필요에 따라서는 가상 계정 정보에 대하여 부여되는 사용자 역할과 실제 계정 정보에 대하여 기 부여된 사용자 역할이 서로 상이하도록 결정되는 것일 수 있다.In other words, the mapped virtual account information and the real account information may share a user role related to a query in the target DB 300 and processing corresponding to the query. However, the present invention is not limited thereto, and according to an embodiment of the present application, if necessary, a user role granted to virtual account information and a user role given to real account information may be determined to be different from each other.
한편, 실제 계정 정보에 대한 가상 계정 정보의 매핑은 1 대 1 로 이루어지거나 필요에 따라서는 1 대 다 관계로 이루어질 수 있다. 예시적으로, 도 2를 참조하면, 서로 다른 두 가상 계정인 제1가상 계정(Fake 1) 및 제2가상 계정(Fake 2)에 대한 가상 계정 정보는 동일한 실제 계정인 제1실제 계정(Real 1)의 실제 계정 정보로부터 생성되는 것일 수 있다.Meanwhile, mapping of virtual account information to real account information may be performed in a one-to-one or one-to-many relationship if necessary. For example, referring to FIG. 2 , virtual account information for two different virtual accounts, a first virtual account (Fake 1) and a second virtual account (Fake 2), is the same real account, a first real account (Real 1). ) may be generated from actual account information.
또한, 본원의 일 실시예에 따르면, 추상 데이터베이스 관리 장치(100)는 복수의 대상 DB(300a, ···, 300n) 각각의 실제 계정 정보에 대하여 가상 계정 정보를 매핑할 수 있다. 예를 들어, 추상 데이터베이스 관리 장치(100)는 복수의 대상 DB(300a, ···, 300n) 각각의 실제 계정 정보에 대응하는 복수의 가상 계정 정보를 개별적으로 매핑하는 것일 수 있다. 다른 예로, 추상 데이터베이스 관리 장치(100)는 복수의 대상 DB(300a, ···, 300n) 중 적어도 둘 이상의 대상 DB(300)의 실제 계정 정보에 대응하는 단일의 가상 계정 정보를 통합적으로 매핑하는 것일 수 있다.Also, according to an embodiment of the present application, the abstract database management apparatus 100 may map virtual account information to real account information of each of a plurality of target DBs 300a, ..., 300n. For example, the abstract database management apparatus 100 may individually map a plurality of virtual account information corresponding to real account information of each of a plurality of target DBs 300a, ..., 300n. As another example, the abstract database management apparatus 100 integrates a single virtual account information corresponding to the real account information of at least two target DBs 300 among a plurality of target DBs 300a, ..., 300n. it could be
도 3은 실제 계정 정보 및 이에 매핑되는 가상 계정 정보를 생성/등록하기 위한 인터페이스를 예시적으로 나타낸 도면이다.3 is a diagram exemplarily illustrating an interface for creating/registering real account information and virtual account information mapped thereto.
도 3을 참조하면, 추상 데이터베이스 관리 장치(100)는 사용자(관리자)에 대하여 대상 DB(300)의 실제 계정 정보 및 해당 실제 계정 정보에 매핑되는 가상 계정 정보를 생성/등록하는 계정 등록 인터페이스를 제공할 수 있다.Referring to FIG. 3 , the abstract database management device 100 provides an account registration interface for creating/registering real account information of the target DB 300 and virtual account information mapped to the corresponding real account information for a user (administrator). can do.
보다 구체적으로, 추상 데이터베이스 관리 장치(100)가 제공하는 계정 등록 인터페이스의 실계 계정 등록 영역(도 3의 A)를 통해 사용자(관리자)는 실제 계정(Real User), 실제 계정 암호(Real Password), 실제 데이터베이스(Real Database), 실제 호스트(Real Host), 실제 포트(Real Port)를 포함하는 대상 DB(300)의 실제 계정 정보를 사용자 입력을 통해 직접 기입하거나 대상 DB(300)의 DBMS로부터 수신하여 등록할 수 있다.More specifically, the user (administrator) through the real account registration area (A in FIG. 3) of the account registration interface provided by the abstract database management device 100 provides a real account (Real User), a real account password (Real Password), The real account information of the target DB 300 including the real database, real host, and real port is directly entered through user input or received from the DBMS of the target DB 300. can register.
또한, 추상 데이터베이스 관리 장치(100)가 제공하는 계정 등록 인터페이스의 가상 계정 등록 영역(도 3의 B)를 통해 사용자(관리자)는 가상 계정(Fake User), 가상 계정 암호(Fake Password), 가상 데이터베이스(Fake Database), 가상 호스트(Fake Host), 가상 포트(Fake Port)를 포함하는 가상 계정 정보를 실제 계정 정보로부터 치환하여 생성할 수 있다.In addition, the user (administrator) through the virtual account registration area (B of FIG. 3) of the account registration interface provided by the abstract database management device 100 is a virtual account (Fake User), virtual account password (Fake Password), virtual database Virtual account information including (Fake Database), a virtual host (Fake Host), and a virtual port (Fake Port) may be generated by replacing the real account information.
본원에서 개시하는 가상 계정 정보는 클라이언트 단말(200)의 사용자에게 노출되되, 노출된 가상 계정 정보에 기초한 대상 DB(300)로의 직접 접속은 불가능하도록 실제 계정 정보로부터 치환 생성될 수 있다.The virtual account information disclosed herein is exposed to the user of the client terminal 200, but direct access to the target DB 300 based on the exposed virtual account information may be generated by substitution from the real account information.
이와 관련하여 본원의 일 실시예에 따르면, 추상 데이터베이스 관리 장치(100)는 클라이언트 단말(200)의 사용자에게 제공(노출)되는 가상 계정 정보로부터 매핑된 실제 계정 정보를 도출하는 것이 방지되도록 실제 계정 정보를 난수 처리 방식으로 변환하여 가상 계정 정보를 생성할 수 있으나, 이에만 한정되는 것은 아니다.In this regard, according to an embodiment of the present application, the abstract database management apparatus 100 prevents deriving the mapped real account information from the virtual account information provided (exposed) to the user of the client terminal 200 to prevent real account information. may be converted to a random number processing method to generate virtual account information, but is not limited thereto.
한편, 본원의 일 실시예에 따르면 가상 계정 정보가 생성된 후 미리 설정된 유효 기간이 도과하면, 가상 계정 정보의 실제 계정 정보에 대한 매핑은 해제되는 것일 수 있다. 달리 말해, 추상 데이터베이스 관리 장치(100)는 가상 계정 정보가 실제 계정 정보로부터 치환되어 생성된 후 미리 설정된 유효 기간 동안에만 대상 DB(300)로의 접속 프로세스에 활용될 수 있도록 가상 계정 정보에 대응하는 유효 기간을 설정할 수 있다.Meanwhile, according to an exemplary embodiment of the present disclosure, when a preset validity period elapses after the virtual account information is generated, the mapping of the virtual account information to the real account information may be released. In other words, the abstract database management apparatus 100 is effective corresponding to the virtual account information so that the virtual account information can be used in the access process to the target DB 300 only during a preset validity period after the virtual account information is generated by being replaced from the real account information. You can set the period.
본원의 일 실시예에 따르면, 추상 데이터베이스 관리 장치(100)는 가상 계정 정보를 생성하는데 활용되는 실제 계정 정보에 대하여 기 부여된 사용자 역할의 유형에 기초하여 생성되는 가상 계정 정보와 연계된 유효 기간을 설정하는 것일 수 있다. 예를 들어, 도 2를 참조하면, 상대적으로 대상 DB(300)에 대한 다양한 처리 권한을 포함하는 'Role_admin' 사용자 역할이 부여된 실제 계정 정보(예를 들면, 도 2의 Real 2)로부터 치환되어 생성되는 가상 계정 정보에 대한 유효 기간은 대상 DB(300)에 대하여 상대적으로 제한적인 처리 권한을 포함하는 'Role_guest' 사용자 역할이 부여된 실제 계정 정보(예를 들면, 도 2의 Real 1)로부터 치환되어 생성되는 가상 계정 정보에 대한 유효 기간 대비 길게 설정될 수 있다. 다만, 이에만 한정되는 것은 아니며, 본원의 구현예에 따라 가상 계정 별 유효 기간은 추상 데이터베이스 관리 장치(100)로 인가된 사용자(관리자) 입력 등에 기초하여 가상 계정마다 개별적으로 설정되는 것일 수 있다.According to an embodiment of the present application, the abstract database management apparatus 100 determines the validity period associated with the virtual account information that is created based on the type of user role previously given to the real account information used to generate the virtual account information. It may be setting For example, referring to FIG. 2 , the 'Role_admin' user role including various processing rights for the target DB 300 is relatively substituted from real account information (eg, Real 2 in FIG. 2 ). The validity period for the generated virtual account information is replaced from real account information (eg, Real 1 in FIG. 2 ) to which the 'Role_guest' user role including relatively limited processing rights for the target DB 300 is granted. It may be set longer than the validity period for the generated virtual account information. However, the present invention is not limited thereto, and the validity period for each virtual account may be individually set for each virtual account based on a user (administrator) input authorized to the abstract database management apparatus 100 according to an embodiment of the present application.
또한, 본원의 일 실시예에 따르면, 가상 계정 정보는 클라이언트 단말(200) 또는 추상 데이터베이스 관리 장치(100)의 인-메모리에 저장되는 것일 수 있다. 이와 관련하여, 인-메모리 데이터베이스는 디바이스의 메모리에만 정보가 유지되고, 디바이스의 디스크에는 정보가 유지되지 않는 기능을 수행하며, 인-메모리 데이터베이스를 사용하는 프로그램이 종료되면 인-메모리 데이터베이스 내의 모든 정보가 자동으로 삭제되는 특성을 가진다.In addition, according to an embodiment of the present application, the virtual account information may be stored in the in-memory of the client terminal 200 or the abstract database management apparatus 100 . In this regard, the in-memory database performs a function in which information is maintained only in the memory of the device and not in the disk of the device, and when a program using the in-memory database ends, all information in the in-memory database is automatically deleted.
따라서, 본원에서 개시하는 추상 데이터베이스 관리 장치(100)는 클라이언트 단말(200)의 대상 DB(300)로의 접속을 1회성으로 중계하기 위한 가상 계정 정보가 프로그램의 메모리 공간 내에만 존재하여 다른 프로그램이 접근하여 정보를 조회할 수 없도록 하여 가상 계정을 효율적으로 관리하도록 구현될 수 있다. 이렇듯, 가상 계정 정보는 임시로 사용되는 데이터로서 파일과 같이 영구적으로 저장되는 형태로 디바이스(예를 들면, 클라이언트 단말(200) 등) 내에 남겨둘 필요가 없는 것이다.Therefore, in the abstract database management apparatus 100 disclosed herein, virtual account information for relaying the one-time connection to the target DB 300 of the client terminal 200 exists only in the memory space of the program, so that other programs access it. It can be implemented to efficiently manage virtual accounts by making it impossible to inquire information. As such, there is no need to leave the virtual account information in the device (eg, the client terminal 200, etc.) in a form that is permanently stored such as a file as data used temporarily.
참고로, 본원에서의 클라이언트 단말(200)의 사용자에게는 가상 계정 정보에 대응하는 실제 계정 정보의 구체적인 내용뿐만 아니라, 클라이언트 단말(200)의 사용자가 대상 DB(300)로의 접속을 위하여 사용하는 가상 계정 정보가 실제로는 대상 DB(300)의 실제 계정 정보로부터 치환된 가상의 계정에 대한 것이라는 사실 자체가 인식되지 않는 것일 수 있다. 달리 말해, 추상 데이터베이스 관리 장치(100)의 존재 자체가 클라이언트 단말(200)의 사용자에게 인식되지 않는 것일 수 있다.For reference, for the user of the client terminal 200 in the present application, as well as specific contents of real account information corresponding to the virtual account information, the virtual account used by the user of the client terminal 200 to access the target DB 300 . The fact that the information is about a virtual account substituted from the real account information of the target DB 300 may not be recognized. In other words, the existence of the abstract database management apparatus 100 itself may not be recognized by the user of the client terminal 200 .
추상 데이터베이스 관리 장치(100)는 클라이언트 단말(200)로부터 대상 DB(300)에 대한 접속 요청을 수신할 수 있다. 구체적으로, 클라이언트 단말(200)로부터 추상 데이터베이스 관리 장치(100)로 전송되는 접속 요청(Startup Message)에는 가상 계정(ID), 클라이언트 단말(200)의 사용자가 접속한 가상 데이터베이스(Fake Database)의 스킴(Scheme) 정보가 포함될 수 있다.The abstract database management apparatus 100 may receive a request for access to the target DB 300 from the client terminal 200 . Specifically, in the connection request (Startup Message) transmitted from the client terminal 200 to the abstract database management apparatus 100 , a virtual account (ID) and a scheme of a virtual database accessed by the user of the client terminal 200 (Fake Database) (Scheme) information may be included.
또한, 추상 데이터베이스 관리 장치(100)는 접속 요청에 포함된 가상 계정에 매핑된 실제 계정 정보가 존재하는지 여부를 판단할 수 있다.Also, the abstract database management apparatus 100 may determine whether real account information mapped to a virtual account included in the access request exists.
추상 데이터베이스 관리 장치(100)는 판단 결과, 접속 요청에 포함된 가상 계정에 매핑 실제 계정 정보가 미존재하는 것으로 판단되면, 클라이언트 단말(200)과의 통신을 해제할 수 있다.As a result of the determination, the abstract database management apparatus 100 may cancel communication with the client terminal 200 when it is determined that the mapping real account information does not exist in the virtual account included in the access request.
반대로, 추상 데이터베이스 관리 장치(100)의 판단 결과, 접속 요청에 포함된 가상 계정에 매핑된 실제 계정 정보가 존재하는 것으로 판단되면, 추상 데이터베이스 관리 장치(100)는 해당 가상 계정에 매핑된 실제 계정 정보에 기초하여 클라이언트 단말(200)의 대상 DB(300)에 대한 접속을 중계할 수 있다.Conversely, if it is determined that the real account information mapped to the virtual account included in the access request exists as a result of the determination of the abstract database management apparatus 100 , the abstract database management apparatus 100 provides the real account information mapped to the virtual account Based on the , access to the target DB 300 of the client terminal 200 may be relayed.
이하에서는, 추상 데이터베이스 관리 장치(100)가 클라이언트 단말(200)의 대상 DB(300)에 대한 접속을 중계하는 프로세스(인증 시퀀스)에 대하여 상세히 설명하도록 한다.Hereinafter, a process (authentication sequence) in which the abstract database management apparatus 100 relays the connection to the target DB 300 of the client terminal 200 will be described in detail.
먼저, 추상 데이터베이스 관리 장치(100)는, 접속 요청에 포함된 가상 계정(Fake User)을 실제 계정 정보에 따른 실제 계정(Real User)으로 치환하여 대상 DB로 전달할 수 있다.First, the abstract database management apparatus 100 may replace a virtual account (Fake User) included in an access request with a real account (Real User) according to real account information and deliver it to the target DB.
또한, 추상 데이터베이스 관리 장치(100)는, 대상 DB(300)로부터 사용자 인증을 위한 식별 정보(real salt)를 수신할 수 있다. 예시적으로, 사용자 인증을 위한 식별 정보란 클라이언트 단말(200)의 사용자를 확인(식별)하기 위한 암호화 값인 4바이트의 Salt를 포함할 수 있다.Also, the abstract database management apparatus 100 may receive identification information (real salt) for user authentication from the target DB 300 . For example, the identification information for user authentication may include a 4-byte salt, which is an encryption value for confirming (identifying) the user of the client terminal 200 .
또한, 추상 데이터베이스 관리 장치(100)는, 대상 DB(300)로부터 수신한 식별 정보(real salt)를 가상 식별 정보(fake salt)로 변환하고, 변환된 가상 식별 정보(fake salt)를 클라이언트 단말(200)로 전송할 수 있다.In addition, the abstract database management apparatus 100 converts the identification information (real salt) received from the target DB (300) into virtual identification information (fake salt), and converts the converted virtual identification information (fake salt) to the client terminal ( 200) can be transmitted.
또한, 추상 데이터베이스 관리 장치(100)는, 클라이언트 단말(200)로부터 가상 계정(fake user), 가상 계정에 대응하는 가상 암호(fake password) 및 가상 식별 정보(fake salt)를 포함하는 암호 입력 요청(password message)을 수신할 수 있다. 즉, 클라이언트 단말(200)의 사용자는 가상 계정(fake user, ID), 가상 암호(fake password), 가상 식별 정보(fake salt)를 이용해 해시 값(예를 들면, MD5, SHA 등)을 계산하여 추상 데이터베이스 관리 장치(100)로 전달할 수 있다.In addition, the abstract database management device 100, a virtual account (fake user) from the client terminal 200, a password input request including a virtual password (fake password) and virtual identification information (fake salt) corresponding to the virtual account (fake salt) ( password message). That is, the user of the client terminal 200 calculates a hash value (eg, MD5, SHA, etc.) using a virtual account (fake user, ID), a virtual password (fake password), and virtual identification information (fake salt). It can be delivered to the abstract database management device 100 .
또한, 추상 데이터베이스 관리 장치(100)는, 암호 입력 요청(password message)에 포함된 가상 계정(fake user) 및 가상 암호(fake password)가 가상 계정 정보에 대응하고, 암호 입력 요청(password message)에 포함된 가상 식별 정보(fake salt)가 식별 정보(real salt)에 대응하면, 해당 가상 계정에 매핑된 실제 계정 정보 및 식별 정보(real salt)를 포함하는 인증 요청(password message)을 대상 DB(300)로 전송할 수 있다.In addition, the abstract database management device 100, the virtual account (fake user) and the virtual password (fake password) included in the password input request (password message) corresponds to the virtual account information, the password input request (password message) If the included virtual identification information (fake salt) corresponds to the identification information (real salt), an authentication request (password message) including the real account information mapped to the virtual account and the identification information (real salt) is sent to the target DB 300 ) can be transmitted.
또한, 추상 데이터베이스 관리 장치(100)는 인증 요청(password message)에 따른 인증 처리 결과(authenticationOk)를 대상 DB(300)로부터 수신하고, 수신한 인증 처리 결과(authenticationOk)를 클라이언트 단말(200)로 전송할 수 있다.Also, the abstract database management apparatus 100 receives an authentication processing result (authenticationOk) according to an authentication request (password message) from the target DB 300 , and transmits the received authentication processing result (authenticationOk) to the client terminal 200 . can
전술한 과정을 통해 클라이언트 단말(200)이 대상 DB(300)에 대한 접속 중계 프로세스(인증 시퀀스)를 완결하면, 클라이언트 단말(200)의 사용자는 대상 DB(300)의 추상 데이터베이스 관리 장치(100)의 중계 하에서 정상적으로 로그인에 성공한 상태로서, 이러한 상태는 클라이언트 단말(200)이 SQL 질의 등을 통해 대상 DB(300)에 대한 처리를 요청할 수 있는 네트워크 세션이 수립된 상태인 것으로 이해될 수 있다.When the client terminal 200 completes the connection relay process (authentication sequence) for the target DB 300 through the above-described process, the user of the client terminal 200 can manage the abstract database of the target DB 300 ( 100 ) As a state in which login is normally successful under the relay of
추상 데이터베이스 관리 장치(100)는 클라이언트 단말(200)로부터 대상 DB(300)와 연계된 질의를 수신할 수 있다.The abstract database management apparatus 100 may receive a query associated with the target DB 300 from the client terminal 200 .
또한, 추상 데이터베이스 관리 장치(100)는 접속 요청에 포함된 가상 계정(달리 말해, 대상 DB(300)로의 접속을 위한 인증 시퀀스에 활용된 가상 계정)의 질의에 따른 대상 DB(300)에 대한 처리를 수행할 권한 보유 여부를 판단할 수 있다.In addition, the abstract database management apparatus 100 processes the target DB 300 according to the query of the virtual account (in other words, the virtual account used in the authentication sequence for access to the target DB 300) included in the access request. You can determine whether you have the authority to perform
구체적으로, 추상 데이터베이스 관리 장치(100)는 대상 DB(300)와 연계하여 미리 설정된 복수의 사용자 역할 중 접속 요청에 포함된 가상 계정에 대하여 부여된 사용자 역할이 수신된 질의에 따른 권한을 포함하는지 여부를 판단할 수 있다.Specifically, the abstract database management apparatus 100 determines whether the user role granted to the virtual account included in the access request among a plurality of user roles preset in connection with the target DB 300 includes the authority according to the received query. can be judged
도 4는 질의에 따른 대상 DB 처리를 선택적으로 수행하기 위한 접근 제어 모델을 설명하기 위한 개념도이다.4 is a conceptual diagram for explaining an access control model for selectively performing target DB processing according to a query.
도 4를 참조하면, 추상 데이터베이스 관리 장치(100)는 전술한 RBAC 접근 모델을 통해 사용자 역할(Role)을 계정마다 부여하고, 사용자가 대상 DB(300)에 대하여 수행할 수 있는 처리 및 상기 처리에 대응하는 질의의 유형과 연계된 권한(Right)은 계정마다 부여된 사용자 역할(Role)에 기초하여 설정될 수 있다.Referring to FIG. 4 , the abstract database management apparatus 100 assigns a user role to each account through the above-described RBAC access model, and the processing that the user can perform for the target DB 300 and the processing. A right associated with the type of a corresponding query may be set based on a user role granted for each account.
이렇듯, 본원에서 개시하는 추상 데이터베이스 관리 장치(100)는 사용자 역할마다의 권한을 정의하고, 가상 계정 정보를 활용하되, 실제 계정 정보의 사용자 역할 및 권한에 연동하여 가상 계정 정보의 사용자 역할 및 권한을 결정함으로써 대상 DB(300)에 사용자가 새롭게 접근할 때 마다 해당 사용자 권한을 새로이 부여하는 번거로움을 해소할 수 있다.As such, the abstract database management device 100 disclosed herein defines the rights for each user role, utilizes the virtual account information, and interlocks the user roles and rights of the real account information to manage the user roles and rights of the virtual account information. By making the decision, it is possible to eliminate the hassle of newly granting a corresponding user authority whenever a user newly accesses the target DB 300 .
보다 구체적으로, 도 4를 참조하면, 복수의 사용자 역할 중 '시스템 관리자(System admin)'는 시스템 파일 편집 권한, 네트워크 접속 권한, 사용자 파일 편집 권한 및 /foo /bar 파일 읽기 권한을 모두 보유하는 반면, 복수의 사용자 역할 중 '학습자(Student)'는 네트워크 접속 권한 및 /foo /bar 파일 읽기 권한만을 선별적으로 보유하는 것일 수 있다. 다만, 이에만 한정되는 것은 아니고, 본원의 구현예에 따라 다양한 사용자 역할 및 이에 대응하는 권한이 정의될 수 있다. 한편, 본원의 일 실시예에 따라 대상 DB(300)의 유형 등에 따라 사용자 역할은 사용자(관리자)에 의해 커스터마이징 가능하도록 구현되되, 관리자 역할(role_admin) 및 게스트 역할(role_guest)은 기본적으로 설정 가능한 옵션으로 제공되는 것일 수 있다.More specifically, referring to FIG. 4 , among the plurality of user roles, 'System admin' has all of the system file editing rights, network access rights, user file editing rights, and /foo /bar file reading rights, whereas , among the plurality of user roles, the 'student' may selectively have only the network access right and the /foo /bar file read right. However, the present invention is not limited thereto, and various user roles and corresponding rights may be defined according to an embodiment of the present application. On the other hand, according to an embodiment of the present application, the user role is implemented to be customizable by a user (administrator) according to the type of the target DB 300 , and the administrator role (role_admin) and the guest role (role_guest) are basically configurable options may be provided as
도 5는 접근 제어 모델에 기초한 사용자 역할 및 이에 대응하는 권한에 따른 질의 유형을 나타낸 도표이다.5 is a diagram illustrating query types according to user roles and corresponding privileges based on an access control model.
도 5를 참조하면, 사용자 역할에 기초하여 결정된 권한에 따라 사용자가 제공할 수 있는 질의의 유형이 다르게 설정되는 것일 수 있으며, 이러한 질의 유형으로서 대상 DB(300) 내의 데이터 구조와 연계된 테이블/뷰/인덱스/매개변수 등에 대한 생성/수정/삭제/검색/변경 등의 권한과 연계되는 다양한 질의 유형이 고려될 수 있다. 달리 말해, 질의 유형(종류)은 추상 데이터베이스 관리 장치(100)가 적용되는 소프트웨어 플랫폼의 목적 등에 따라 다양하게 결정될 수 있다.Referring to FIG. 5 , the query type that can be provided by the user may be set differently according to the authority determined based on the user role, and as such a query type, a table/view associated with the data structure in the target DB 300 . Various query types related to permissions such as create/modify/delete/search/change for /index/parameter, etc. can be considered. In other words, the query type (type) may be variously determined according to the purpose of the software platform to which the abstract database management apparatus 100 is applied.
보다 구체적으로, 예시하면, 게스트 역할(role_guest)에 해당하는 계정을 통한 대상 DB(300) 처리와 관련하여, 해당 계정(가상 계정)을 통한 테이블의 생성/삭제/갱신은 불가하되, 테이블의 선택/삽입은 가능하도록 권한이 결정되는 것일 수 있으나, 이에만 한정되는 것은 아니다.More specifically, for example, in relation to the processing of the target DB 300 through the account corresponding to the guest role (role_guest), creation/deletion/update of the table through the corresponding account (virtual account) is impossible, but the selection of the table The permission may be determined to enable /insert, but is not limited thereto.
또한, 추상 데이터베이스 관리 장치(100)는 가상 계정의 권한 보유 여부에 기초하여 수신된 질의에 대응하는 대상 DB(300)에 대한 처리를 선택적으로 수행하고, 대상 DB(300)에 대한 처리 결과를 클라이언트 단말(200)로 반환할 수 있다.In addition, the abstract database management apparatus 100 selectively performs processing on the target DB 300 corresponding to the received query based on whether the virtual account has authority, and returns the processing result for the target DB 300 to the client. may be returned to the terminal 200 .
또한, 추상 데이터베이스 관리 장치(100)는 클라이언트 단말(200)로부터 대상 DB(300)에 대한 세션 종료 요청을 수신할 수 있다. 또한, 추상 데이터베이스 관리 장치(100)는 세션 종료 요청을 대상 DB(300)에 전송하고, 클라이언트 단말(200)과 연계된 대상 DB(300)에의 세션을 종료시킬 수 있다.Also, the abstract database management apparatus 100 may receive a session termination request for the target DB 300 from the client terminal 200 . Also, the abstract database management apparatus 100 may transmit a session termination request to the target DB 300 and terminate the session to the target DB 300 associated with the client terminal 200 .
달리 말해, 클라이언트 단말(200)의 사용자는 하나의 세션을 통해 1개 이상의 질의(SQL 질의)를 수행하고, 모든 질의(SQL 질의)를 실행한 후 추상 데이터베이스 관리 장치(100)에 세션 종료 요청(terminate message)를 전달할 수 있다.In other words, the user of the client terminal 200 performs one or more queries (SQL queries) through one session, and after executing all queries (SQL queries), makes a session termination request to the abstract database management device 100 ( terminate message).
도 6은 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반 데이터베이스 관리 시스템과 연계된 보안 정책을 통합 제공하는 인터페이스를 예시적으로 나타낸 도면이다.6 is a diagram exemplarily showing an interface that provides an integrated security policy associated with a database management system based on a virtual account and an access control model according to an embodiment of the present application.
도 6을 참조하면, 추상 데이터베이스 관리 장치(100)는 도 6에 도시된 보안 정책 통합 관리 인터페이스를 통해 실제 계정 정보(도 6의 B), 가상 계정 정보(도 6의 C), 계정 별 사용자 역할(도 6의 A) 및 권한(도 6의 D)을 포함하는 정책(Policy) 정보의 리스트를 사용자(관리자)에게 표시할 수 있다. 특히, 정책 정보의 리스트와 관련하여 추상 데이터베이스 관리 장치(100)의 사용자(관리자)는 보안 정책 통합 관리 인터페이스를 통해 가상 계정에 매핑된 실제 계정과 역할에 따라 사용 가능한 질의(SQL 질의)의 유형을 조회할 수 있다.Referring to FIG. 6 , the abstract database management device 100 provides real account information (B of FIG. 6 ), virtual account information (C of FIG. 6 ), and user roles for each account through the integrated security policy management interface shown in FIG. 6 . A list of policy information including (A of FIG. 6 ) and authority (D of FIG. 6 ) may be displayed to the user (administrator). In particular, in relation to the list of policy information, the user (administrator) of the abstract database management device 100 determines the type of query (SQL query) that can be used according to the real account and role mapped to the virtual account through the security policy integrated management interface. can be viewed.
도 7은 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치의 개략적인 구성도이다.7 is a schematic configuration diagram of an abstract database management apparatus based on a virtual account and access control model according to an embodiment of the present application.
도 7을 참조하면, 추상 데이터베이스 관리 장치(100)는, 매핑부(110), 클라이언트 식별부(120), 접속 중계부(130), 질의 처리부(140) 및 세션 종료부(150)를 포함할 수 있다.Referring to FIG. 7 , the abstract database management apparatus 100 may include a mapping unit 110 , a client identification unit 120 , a connection relay unit 130 , a query processing unit 140 , and a session termination unit 150 . can
매핑부(110)는 대상 DB(300)의 실제 계정 정보에 기초하여 실제 계정 정보와 매핑되는 가상 계정 정보를 생성할 수 있다.The mapping unit 110 may generate virtual account information mapped with the real account information based on the real account information of the target DB 300 .
클라이언트 식별부(120)는 클라이언트 단말(200)로부터 대상 DB(300)에 대한 접속 요청을 수신하고, 접속 요청에 포함된 가상 계정에 매핑된 실제 계정 정보가 존재하는지 여부를 판단할 수 있다.The client identification unit 120 may receive an access request for the target DB 300 from the client terminal 200 and determine whether real account information mapped to a virtual account included in the access request exists.
접속 중계부(130)는 판단 결과에 따라 실제 계정 정보에 기초하여 클라이언트 단말(200)의 대상 DB에 대한 접속을 중계할 수 있다.The access relay unit 130 may relay the access to the target DB of the client terminal 200 based on the actual account information according to the determination result.
도 8은 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치의 접속 중계부의 세부 구성도이다.8 is a detailed configuration diagram of an access relay unit of an abstract database management apparatus based on a virtual account and access control model according to an embodiment of the present application.
도 8을 참조하면, 접속 중계부(130)는 식별 정보 처리부(131), 암호 분석부(132) 및 인증 처리부(133)를 포함할 수 있다.Referring to FIG. 8 , the access relay unit 130 may include an identification information processing unit 131 , an encryption analysis unit 132 , and an authentication processing unit 133 .
식별 정보 처리부(131)는 접속 요청에 포함된 가상 계정을 매핑된 실제 계정 정보에 따른 실제 계정으로 치환하여 대상 DB(300)로 전달할 수 있다. 또한, 식별 정보 처리부(131)는 대상 DB(300)로부터 사용자 인증을 위한 식별 정보를 수신하고, 수신한 식별 정보를 가상 식별 정보로 변환하여 클라이언트 단말(200)로 전송할 수 있다.The identification information processing unit 131 may replace the virtual account included in the access request with a real account according to the mapped real account information and deliver it to the target DB 300 . Also, the identification information processing unit 131 may receive identification information for user authentication from the target DB 300 , convert the received identification information into virtual identification information, and transmit the received identification information to the client terminal 200 .
암호 분석부(132)는 클라이언트 단말(200)로부터 가상 계정, 가상 계정에 대응하는 가상 암호 및 가상 식별 정보를 포함하는 암호 입력 요청을 수신할 수 있다. 또한, 암호 분석부(132)는 암호 입력 요청에 포함된 가상 계정 및 가상 암호가 가상 계정 정보에 대응(일치)하고, 암호 입력 요청에 포함된 가상 식별 정보가 식별 정보에 대응하는지 여부를 분석할 수 있다.The password analysis unit 132 may receive a password input request including a virtual account, a virtual password corresponding to the virtual account, and virtual identification information from the client terminal 200 . In addition, the password analysis unit 132 analyzes whether the virtual account and the virtual password included in the password input request correspond to (match) the virtual account information, and whether the virtual identification information included in the password input request corresponds to the identification information. can
인증 처리부(133)는 암호 분석부(132)의 분석 결과에 기초하여 실제 계정 정보 및 식별 정보를 포함하는 인증 요청을 대상 DB(300)로 전송할 수 있다. 또한, 인증 처리부(133)는 인증 요청에 따른 인증 처리 결과를 대상 DB(300)로부터 수신하여 클라이언트 단말(200)로 전송할 수 있다.The authentication processing unit 133 may transmit an authentication request including real account information and identification information to the target DB 300 based on the analysis result of the password analysis unit 132 . Also, the authentication processing unit 133 may receive the authentication processing result according to the authentication request from the target DB 300 and transmit it to the client terminal 200 .
질의 처리부(140)는 클라이언트 단말(200)로부터 대상 DB(300)와 연계된 질의를 수신하고, 접속 요청에 포함된 가상 계정의 질의에 따른 대상 DB(300)에 대한 처리를 수행할 권한 보유 여부를 판단할 수 있다. 또한, 질의 처리부(140)는 판단된 권한 보유 여부에 기초하여 수신한 질의에 따른 대상 DB(300)에 대한 처리를 선택적으로 수행할 수 있다.Whether the query processing unit 140 receives a query associated with the target DB 300 from the client terminal 200 and has authority to process the target DB 300 according to the query of the virtual account included in the access request can be judged Also, the query processing unit 140 may selectively perform processing on the target DB 300 according to the received query based on the determined authority.
세션 종료부(150)는 클라이언트 단말(200)로부터 대상 DB(300)에 대한 세션 종료 요청을 수신하여 대상 DB(300)에 전송하고, 클라이언트 단말(200)과 연계된 세션을 종료할 수 있다.The session termination unit 150 may receive a session termination request for the target DB 300 from the client terminal 200 , transmit it to the target DB 300 , and terminate the session associated with the client terminal 200 .
도 9는 본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 방법에 대한 동작 흐름도이다.9 is an operation flowchart of an abstract database management method based on a virtual account and access control model according to an embodiment of the present application.
도 9를 참조하면, 단계 S11에서 매핑부(110)는 대상 DB(300)의 실제 계정 정보에 기초하여 실제 계정 정보와 매핑되는 가상 계정 정보를 생성할 수 있다.Referring to FIG. 9 , in step S11 , the mapping unit 110 may generate virtual account information mapped with the real account information based on the real account information of the target DB 300 .
다음으로, 단계 S12에서 클라이언트 식별부(120)는 클라이언트 단말(200)로부터 대상 DB(300)에 대한 접속 요청(startup message; fake user, fake database)을 수신할 수 있다.Next, in step S12 , the client identification unit 120 may receive an access request (startup message; fake user, fake database) for the target DB 300 from the client terminal 200 .
다음으로, 단계 S13에서 클라이언트 식별부(120)는 접속 요청에 포함된 가상 계정에 매핑된 실제 계정 정보가 존재하는지 여부를 판단할 수 있다.Next, in step S13 , the client identification unit 120 may determine whether real account information mapped to a virtual account included in the access request exists.
다음으로, 단계 S14에서 접속 중계부(130)는 단계 S13의 판단 결과에 따라 실제 계정 정보에 기초하여 클라이언트 단말(200)의 대상 DB에 대한 접속을 중계할 수 있다.Next, in step S14 , the access relay unit 130 may relay the connection to the target DB of the client terminal 200 based on the actual account information according to the determination result of step S13 .
다음으로, 단계 S15에서 질의 처리부(140)는 클라이언트 단말(200)로부터 대상 DB(300)와 연계된 질의를 수신할 수 있다.Next, in step S15 , the query processing unit 140 may receive a query associated with the target DB 300 from the client terminal 200 .
다음으로, 단계 S16에서 질의 처리부(140)는 접속 요청에 포함된 가상 계정의 질의에 따른 대상 DB(300)에 대한 처리를 수행할 권한 보유 여부를 판단할 수 있다.Next, in step S16, the query processing unit 140 may determine whether or not the authority to process the target DB 300 according to the query of the virtual account included in the access request.
구체적으로, 단계 S16에서 질의 처리부(140)는 대상 DB(300)와 연계하여 미리 설정된 복수의 사용자 역할 중 접속 요청에 포함된 가상 계정에 대하여 부여된 사용자 역할이 해당 권한을 포함하는지 여부를 판단할 수 있다.Specifically, in step S16, the query processing unit 140 determines whether the user role granted to the virtual account included in the access request among a plurality of user roles preset in connection with the target DB 300 includes the corresponding authority. can
다음으로, 단계 S17에서 질의 처리부(140)는 단계 S16에서 판단된 권한 보유 여부에 기초하여 질의에 따른 대상 DB(300)에 대한 처리를 선택적으로 수행할 수 있다.Next, in step S17 , the query processing unit 140 may selectively perform processing on the target DB 300 according to the query based on whether or not the authority is determined in step S16 .
다음으로, 단계 S18에서 세션 종료부(150)는 클라이언트 단말(200)로부터 대상 DB(300)에 대한 세션 종료 요청을 수신할 수 있다.Next, in step S18 , the session termination unit 150 may receive a session termination request for the target DB 300 from the client terminal 200 .
다음으로, 단계 S19에서 세션 종료부(150)는 수신한 세션 종료 요청을 대상 DB(300)에 전송하고, 클라이언트 단말(200)과 연계된 세션을 종료할 수 있다.Next, in step S19 , the session termination unit 150 may transmit the received session termination request to the target DB 300 and terminate the session associated with the client terminal 200 .
도 10은 가상 계정 정보 및 실제 계정 정보에 기초하여 클라이언트 단말의 대상 DB에 대한 접속을 중계하는 프로세스에 대한 세부 동작 흐름도이다.10 is a detailed operation flowchart of a process of relaying access to a target DB of a client terminal based on virtual account information and real account information.
도 10에 도시된 가상 계정 정보 및 실제 계정 정보에 기초하여 클라이언트 단말의 대상 DB에 대한 접속을 중계하는 프로세스는 앞서 설명된 추상 데이터베이스 관리 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 추상 데이터베이스 관리 장치(100)에 대하여 설명된 내용은 도 10에 대한 설명에도 동일하게 적용될 수 있다.The process of relaying the connection to the target DB of the client terminal based on the virtual account information and the real account information shown in FIG. 10 may be performed by the abstract database management apparatus 100 described above. Accordingly, even if omitted below, the description of the abstract database management apparatus 100 may be equally applied to the description of FIG. 10 .
도 10을 참조하면, 단계 S141에서 식별 정보 처리부(131)는 가상 계정을 실제 계정 정보에 따른 실제 계정으로 치환하여 대상 DB(300)로 전달할 수 있다(startup message; real user, real database).Referring to FIG. 10 , in step S141 , the identification information processing unit 131 may replace a virtual account with a real account according to real account information and deliver it to the target DB 300 (startup message; real user, real database).
다음으로, 단계 S142에서 식별 정보 처리부(131)는 대상 DB(300)로부터 사용자 인증을 위한 식별 정보(real salt)를 수신Next, in step S142, the identification information processing unit 131 receives identification information (real salt) for user authentication from the target DB 300 .
다음으로, 단계 S143에서 식별 정보 처리부(131)는 수신한 식별 정보(real salt)를 가상 식별 정보(fake salt)로 변환할 수 있다.Next, in step S143, the identification information processing unit 131 may convert the received identification information (real salt) into virtual identification information (fake salt).
다음으로, 단계 S144에서 식별 정보 처리부(131)는 변환된 가상 식별 정보(fake salt)를 클라이언트 단말(200)로 전송할 수 있다.Next, in step S144 , the identification information processing unit 131 may transmit the converted virtual identification information (fake salt) to the client terminal 200 .
다음으로, 단계 S145에서 식별 정보 처리부(131)는 클라이언트 단말(200)로부터 가상 계정(fake user), 가상 계정에 대응하는 가상 암호(fake password) 및 가상 식별 정보(fake salt)를 포함하는 암호 입력 요청(password message)을 수신할 수 있다.Next, in step S145, the identification information processing unit 131 inputs a password including a virtual account (fake user), a virtual password corresponding to the virtual account, and virtual identification information (fake salt) from the client terminal 200 . You may receive a password message.
다음으로, 단계 S146에서 암호 분석부(132)는 암호 입력 요청(password message)에 포함된 가상 계정 및 가상 암호가 가상 계정 정보에 대응(일치)하고, 암호 입력 요청(password message)에 포함된 가상 식별 정보가 식별 정보에 대응하면, 실제 계정 정보 및 식별 정보(real salt)를 포함하는 인증 요청(password message)을 대상 DB(300)로 전송할 수 있다.Next, in step S146, the password analysis unit 132 determines that the virtual account and virtual password included in the password input request (password message) correspond to (match) the virtual account information, and the virtual account included in the password input request (password message) When the identification information corresponds to the identification information, an authentication request (password message) including real account information and identification information (real salt) may be transmitted to the target DB 300 .
다음으로, 단계 S147에서 인증 처리부(133)는 인증 요청에 따른 인증 처리 결과(authenticationOk)를 대상 DB(300)로부터 수신할 수 있다.Next, in step S147 , the authentication processing unit 133 may receive an authentication processing result (authenticationOk) according to the authentication request from the target DB 300 .
다음으로, 단계 S148에서 인증 처리부(133)는 수신한 인증 처리 결과(authenticationOk)를 클라이언트 단말(200)로 전송할 수 있다.Next, in step S148 , the authentication processing unit 133 may transmit the received authentication processing result (authenticationOk) to the client terminal 200 .
상술한 설명에서, 단계 S141 내지 S148은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S141 to S148 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present application. In addition, some steps may be omitted if necessary, and the order between the steps may be changed.
본원의 일 실시예에 따른 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The abstract database management method based on the virtual account and access control model according to an embodiment of the present application may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
또한, 전술한 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.In addition, the above-described abstract database management method based on the virtual account and access control model may be implemented in the form of a computer program or application executed by a computer stored in a recording medium.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present application is for illustration, and those of ordinary skill in the art to which the present application pertains will understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and likewise components described as distributed may also be implemented in a combined form.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present application is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present application.

Claims (15)

  1. 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 방법에 있어서,In the abstract database management method based on virtual account and access control model,
    대상 DB의 실제 계정 정보에 기초하여 상기 실제 계정 정보와 매핑되는 가상 계정 정보를 생성하는 단계;generating virtual account information mapped with the real account information based on the real account information of a target DB;
    클라이언트 단말로부터 상기 대상 DB에 대한 접속 요청을 수신하는 단계;receiving a request for access to the target DB from a client terminal;
    상기 접속 요청에 포함된 가상 계정에 매핑된 상기 실제 계정 정보가 존재하는지 여부를 판단하는 단계; 및determining whether the real account information mapped to the virtual account included in the access request exists; and
    상기 판단 결과에 따라 상기 실제 계정 정보에 기초하여 상기 클라이언트 단말의 상기 대상 DB에 대한 접속을 중계하는 단계,relaying the access to the target DB of the client terminal based on the actual account information according to the determination result;
    를 포함하는 것인, 추상 데이터베이스 관리 방법.Which includes, an abstract database management method.
  2. 제1항에 있어서,According to claim 1,
    상기 중계하는 단계는,The relaying step is
    상기 가상 계정을 상기 실제 계정 정보에 따른 실제 계정으로 치환하여 상기 대상 DB로 전달하는 단계;replacing the virtual account with a real account according to the real account information and transferring the virtual account to the target DB;
    상기 대상 DB로부터 사용자 인증을 위한 식별 정보를 수신하는 단계;receiving identification information for user authentication from the target DB;
    상기 수신한 식별 정보를 가상 식별 정보로 변환하고, 상기 가상 식별 정보를 상기 클라이언트 단말로 전송하는 단계;converting the received identification information into virtual identification information and transmitting the virtual identification information to the client terminal;
    상기 클라이언트 단말로부터 상기 가상 계정, 상기 가상 계정에 대응하는 가상 암호 및 상기 가상 식별 정보를 포함하는 암호 입력 요청을 수신하는 단계;receiving a password input request including the virtual account, a virtual password corresponding to the virtual account, and the virtual identification information from the client terminal;
    상기 암호 입력 요청에 포함된 상기 가상 계정 및 상기 가상 암호가 상기 가상 계정 정보에 대응하고, 상기 암호 입력 요청에 포함된 상기 가상 식별 정보가 상기 식별 정보에 대응하면, 상기 실제 계정 정보 및 상기 식별 정보를 포함하는 인증 요청을 상기 대상 DB로 전송하는 단계; 및When the virtual account and the virtual password included in the password input request correspond to the virtual account information, and the virtual identification information included in the password input request corresponds to the identification information, the real account information and the identification information transmitting an authentication request comprising a to the target DB; and
    상기 인증 요청에 따른 인증 처리 결과를 상기 대상 DB로부터 수신하고, 상기 인증 처리 결과를 상기 클라이언트 단말로 전송하는 단계,receiving an authentication processing result according to the authentication request from the target DB, and transmitting the authentication processing result to the client terminal;
    를 포함하는 것인, 추상 데이터베이스 관리 방법.Which includes, an abstract database management method.
  3. 제1항에 있어서,According to claim 1,
    상기 가상 계정 정보는 상기 클라이언트 단말의 사용자에게 노출되되, 상기 가상 계정 정보에 기초한 상기 대상 DB로의 직접 접속은 불가능한 것을 특징으로 하는, 추상 데이터베이스 관리 방법.The virtual account information is exposed to the user of the client terminal, and direct access to the target DB based on the virtual account information is impossible, the abstract database management method.
  4. 제3항에 있어서,4. The method of claim 3,
    상기 생성하는 단계는,The generating step is
    상기 생성된 가상 계정 정보로부터 상기 실제 계정 정보를 도출하는 것이 방지되도록 상기 실제 계정 정보를 난수 처리 방식으로 변환하여 상기 가상 계정 정보를 생성하는 것인, 추상 데이터베이스 관리 방법.The method of generating the virtual account information by converting the real account information into a random number processing method so as to prevent deriving the real account information from the generated virtual account information.
  5. 제3항에 있어서,4. The method of claim 3,
    상기 생성하는 단계 이후에,After the generating step,
    미리 설정된 유효 기간이 도과하면, 상기 가상 계정 정보의 상기 실제 계정 정보에 대한 매핑이 해제되는 것인, 추상 데이터베이스 관리 방법.When a preset validity period elapses, the mapping of the virtual account information to the real account information is released.
  6. 제1항에 있어서,According to claim 1,
    상기 중계하는 단계 이후에,After the relaying step,
    상기 클라이언트 단말로부터 상기 대상 DB와 연계된 질의를 수신하는 단계;receiving a query associated with the target DB from the client terminal;
    상기 접속 요청에 포함된 가상 계정의 상기 질의에 따른 상기 대상 DB에 대한 처리를 수행할 권한 보유 여부를 판단하는 단계; 및determining whether or not the user has authority to process the target DB according to the query of the virtual account included in the access request; and
    상기 권한 보유 여부에 기초하여 상기 처리를 선택적으로 수행하는 단계,selectively performing the processing based on whether the authority is held;
    를 더 포함하는 것인, 추상 데이터베이스 관리 방법.Which further comprises, an abstract database management method.
  7. 제6항에 있어서,7. The method of claim 6,
    상기 권한 보유 여부를 판단하는 단계는,The step of determining whether the right is possessed is,
    상기 대상 DB와 연계하여 미리 설정된 복수의 사용자 역할 중 상기 접속 요청에 포함된 가상 계정에 대하여 부여된 상기 사용자 역할이 상기 권한을 포함하는지 여부를 판단하는 것인, 추상 데이터베이스 관리 방법.The abstract database management method of determining whether the user role granted to the virtual account included in the access request among a plurality of user roles preset in connection with the target DB includes the authority.
  8. 제6항에 있어서,7. The method of claim 6,
    상기 클라이언트 단말로부터 상기 대상 DB에 대한 세션 종료 요청을 수신하는 단계; 및receiving a session termination request for the target DB from the client terminal; and
    상기 세션 종료 요청을 상기 대상 DB에 전송하고, 상기 클라이언트 단말과 연계된 세션을 종료하는 단계,transmitting the session termination request to the target DB and terminating the session associated with the client terminal;
    를 더 포함하는 것인, 추상 데이터베이스 관리 방법.Which further comprises, an abstract database management method.
  9. 제1항에 있어서,According to claim 1,
    상기 대상 DB는 의료 데이터를 저장하는 DB인 것을 특징으로 하는, 추상 데이터베이스 관리 방법.The target DB is an abstract database management method, characterized in that the DB for storing medical data.
  10. 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치에 있어서,In an abstract database management device based on virtual account and access control model,
    대상 DB의 실제 계정 정보에 기초하여 상기 실제 계정 정보와 매핑되는 가상 계정 정보를 생성하는 매핑부;a mapping unit generating virtual account information mapped with the real account information based on the real account information of the target DB;
    클라이언트 단말로부터 상기 대상 DB에 대한 접속 요청을 수신하고, 상기 접속 요청에 포함된 가상 계정에 매핑된 상기 실제 계정 정보가 존재하는지 여부를 판단하는 클라이언트 식별부; 및a client identification unit for receiving an access request to the target DB from a client terminal and determining whether the real account information mapped to a virtual account included in the access request exists; and
    상기 판단 결과에 따라 상기 실제 계정 정보에 기초하여 상기 클라이언트 단말의 상기 대상 DB에 대한 접속을 중계하는 접속 중계부,an access relay unit that relays the access to the target DB of the client terminal based on the real account information according to the determination result;
    를 포함하는, 추상 데이터베이스 관리 장치.Containing, an abstract database management device.
  11. 제10항에 있어서,11. The method of claim 10,
    상기 접속 중계부는,The connection relay unit,
    상기 가상 계정을 상기 실제 계정 정보에 따른 실제 계정으로 치환하여 상기 대상 DB로 전달하고, 상기 대상 DB로부터 사용자 인증을 위한 식별 정보를 수신하고, 상기 수신한 식별 정보를 가상 식별 정보로 변환하고, 상기 가상 식별 정보를 상기 클라이언트 단말로 전송하는 식별 정보 처리부;The virtual account is replaced with a real account according to the real account information and delivered to the target DB, receives identification information for user authentication from the target DB, converts the received identification information into virtual identification information, and an identification information processing unit for transmitting virtual identification information to the client terminal;
    상기 클라이언트 단말로부터 상기 가상 계정, 상기 가상 계정에 대응하는 가상 암호 및 상기 가상 식별 정보를 포함하는 암호 입력 요청을 수신하고, 상기 암호 입력 요청에 포함된 상기 가상 계정 및 상기 가상 암호가 상기 가상 계정 정보에 대응하고, 상기 암호 입력 요청에 포함된 상기 가상 식별 정보가 상기 식별 정보에 대응하는지 여부를 분석하는 암호 분석부; 및Receive a password input request including the virtual account, a virtual password corresponding to the virtual account, and the virtual identification information from the client terminal, and the virtual account and the virtual password included in the password input request are the virtual account information a password analysis unit corresponding to and analyzing whether the virtual identification information included in the password input request corresponds to the identification information; and
    상기 분석 결과에 기초하여 상기 실제 계정 정보 및 상기 식별 정보를 포함하는 인증 요청을 상기 대상 DB로 전송하고, 상기 인증 요청에 따른 인증 처리 결과를 상기 대상 DB로부터 수신하고, 상기 인증 처리 결과를 상기 클라이언트 단말로 전송하는 인증 처리부,Transmitting an authentication request including the real account information and the identification information to the target DB based on the analysis result, receiving an authentication processing result according to the authentication request from the target DB, and receiving the authentication processing result from the client an authentication processing unit that transmits to the terminal;
    를 포함하는 것인, 추상 데이터베이스 관리 장치.Which includes, an abstract database management device.
  12. 제10항에 있어서,11. The method of claim 10,
    상기 가상 계정 정보는 상기 클라이언트 단말의 사용자에게 노출되되, 상기 가상 계정 정보에 기초한 상기 대상 DB로의 직접 접속은 불가능한 것을 특징으로 하고,The virtual account information is exposed to the user of the client terminal, characterized in that direct access to the target DB based on the virtual account information is impossible,
    상기 매핑부는,The mapping unit,
    상기 생성된 가상 계정 정보로부터 상기 실제 계정 정보를 도출하는 것이 방지되도록 상기 실제 계정 정보를 난수 처리 방식으로 변환하여 상기 가상 계정 정보를 생성하는 것인, 추상 데이터베이스 관리 장치.The apparatus for generating the virtual account information by converting the real account information into a random number processing method so as to prevent deriving the real account information from the generated virtual account information.
  13. 제12항에 있어서,13. The method of claim 12,
    상기 매핑부는,The mapping unit,
    상기 가상 계정 정보가 생성된 후 미리 설정된 유효 기간이 도과하면, 상기 가상 계정 정보의 상기 실제 계정 정보에 대한 매핑을 해제하는 것인, 추상 데이터베이스 관리 장치.When a preset validity period elapses after the virtual account information is generated, the mapping of the virtual account information to the real account information is released.
  14. 제10항에 있어서,11. The method of claim 10,
    상기 클라이언트 단말로부터 상기 대상 DB와 연계된 질의를 수신하고, 상기 접속 요청에 포함된 가상 계정의 상기 질의에 따른 상기 대상 DB에 대한 처리를 수행할 권한 보유 여부를 판단하고, 상기 권한 보유 여부에 기초하여 상기 처리를 선택적으로 수행하는 질의 처리부,Receives a query related to the target DB from the client terminal, determines whether or not the user has authority to perform processing on the target DB according to the query of the virtual account included in the access request, and based on whether the authority has a query processing unit that selectively performs the processing by
    를 더 포함하는 것인, 추상 데이터베이스 관리 장치.Which will further include an abstract database management device.
  15. 제14항에 있어서,15. The method of claim 14,
    상기 클라이언트 단말로부터 상기 대상 DB에 대한 세션 종료 요청을 수신하고, 상기 세션 종료 요청을 상기 대상 DB에 전송하고, 상기 클라이언트 단말과 연계된 세션을 종료하는 세션 종료부,a session termination unit for receiving a session termination request for the target DB from the client terminal, transmitting the session termination request to the target DB, and terminating a session associated with the client terminal;
    를 더 포함하는 것인, 추상 데이터베이스 관리 장치.Which will further include an abstract database management device.
PCT/KR2022/000812 2021-04-01 2022-01-17 Abstract database management device and method based on virtual account and access control model WO2022211233A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210042949A KR102486018B1 (en) 2021-04-01 2021-04-01 Abstract database management apparatus and method based on virtual account and access control model
KR10-2021-0042949 2021-04-01

Publications (1)

Publication Number Publication Date
WO2022211233A1 true WO2022211233A1 (en) 2022-10-06

Family

ID=83455327

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/000812 WO2022211233A1 (en) 2021-04-01 2022-01-17 Abstract database management device and method based on virtual account and access control model

Country Status (2)

Country Link
KR (1) KR102486018B1 (en)
WO (1) WO2022211233A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116522308A (en) * 2023-06-29 2023-08-01 杭州美创科技股份有限公司 Database account hosting method, device, computer equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050073349A (en) * 2004-01-09 2005-07-13 주식회사 바넷정보기술 System for controlling database access based on 3-tier structure and method thereof
JP2005275999A (en) * 2004-03-26 2005-10-06 Fuji Photo Film Co Ltd Medical information providing method, and terminal and server to be used for the same
KR101139678B1 (en) * 2011-04-15 2012-05-02 주식회사 인피니트헬스케어 System and method for medical information, apparatus for providing medical information
KR20160014518A (en) * 2014-07-29 2016-02-11 삼성전자주식회사 Method for sharing data and apparatus thereof
KR20170066987A (en) * 2015-12-07 2017-06-15 삼성전자주식회사 Method, Appratus and System of providing temporal account information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050073349A (en) * 2004-01-09 2005-07-13 주식회사 바넷정보기술 System for controlling database access based on 3-tier structure and method thereof
JP2005275999A (en) * 2004-03-26 2005-10-06 Fuji Photo Film Co Ltd Medical information providing method, and terminal and server to be used for the same
KR101139678B1 (en) * 2011-04-15 2012-05-02 주식회사 인피니트헬스케어 System and method for medical information, apparatus for providing medical information
KR20160014518A (en) * 2014-07-29 2016-02-11 삼성전자주식회사 Method for sharing data and apparatus thereof
KR20170066987A (en) * 2015-12-07 2017-06-15 삼성전자주식회사 Method, Appratus and System of providing temporal account information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116522308A (en) * 2023-06-29 2023-08-01 杭州美创科技股份有限公司 Database account hosting method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
KR20220136805A (en) 2022-10-11
KR102486018B1 (en) 2023-01-09

Similar Documents

Publication Publication Date Title
US6457007B1 (en) Distributed database management system including logical database constituted by a group of physical databases
WO2013062352A1 (en) Method and system for access control in cloud computing service
US7260555B2 (en) Method and architecture for providing pervasive security to digital assets
US8549326B2 (en) Method and system for extending encrypting file system
US7380120B1 (en) Secured data format for access control
US9197668B2 (en) Access control to files based on source information
EP1320013A2 (en) Method and apparatus for securing electronic data
US20100185852A1 (en) Encryption and decryption method for shared encrypted file
US20120137130A1 (en) System and Method for Providing Multi-Location Access Management to Secured Items
EP1320014A2 (en) Method and apparatus for accessing secured electronic data off-line
WO2019132272A1 (en) Id as blockchain based service
WO2011046356A2 (en) Method for providing an anti-malware service
JP2011522315A (en) Authenticated database connection for unattended applications
US10505905B2 (en) Transport envelope
US20220311769A1 (en) Stateful access control of data
US11201741B2 (en) System for improving data security
WO2022211233A1 (en) Abstract database management device and method based on virtual account and access control model
US6725370B1 (en) Sharing data safely using service replication
US20220156405A1 (en) System for improving data security through key management
US20220207123A1 (en) System for improving data security when redeeming data
WO2019182377A1 (en) Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency
WO2021020918A1 (en) Method for providing logical internal network, and mobile terminal and application for implementing same
JP2005038124A (en) File access control method and control system
DK1627352T3 (en) Secured IT network system for handling personal data
WO2022014897A1 (en) Method and apparatus for data anonymization and pseudonymization in m2m system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22781354

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22781354

Country of ref document: EP

Kind code of ref document: A1