WO2021235752A1 - 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버 - Google Patents

데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버 Download PDF

Info

Publication number
WO2021235752A1
WO2021235752A1 PCT/KR2021/005777 KR2021005777W WO2021235752A1 WO 2021235752 A1 WO2021235752 A1 WO 2021235752A1 KR 2021005777 W KR2021005777 W KR 2021005777W WO 2021235752 A1 WO2021235752 A1 WO 2021235752A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
dml
agent
query
central control
Prior art date
Application number
PCT/KR2021/005777
Other languages
English (en)
French (fr)
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 WO2021235752A1 publication Critical patent/WO2021235752A1/ko

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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Definitions

  • the present invention relates to a method of secure access to a database and query execution, and a server implementing the same.
  • POS Point of Sale system
  • the remote management of the POS system must be provided with the security of the POS system. If the security of the POS system is not guaranteed, the database stored by the POS system may lose its reliability.
  • a method of verifying the agent's authority along with personnel information in the process of connecting to the database of a plurality of POS systems is proposed so that the database accessor can perform the database operation according to the authority.
  • the central control server verifies the DML generation information transmitted by the communication unit communicating with the first agent, the second agent, and the database of the POS system and the first agent, and then converts the DML generation information into DML query information.
  • a control unit that converts and generates the DML query information and a communication unit transmits the DML query information to the database of the POS system, and includes a storage unit that stores DML query information or execution result information or rollback information or DML generation information before or after transmission.
  • the authority server receives information provided by the communication unit communicating with the central control server, the personnel information storage unit for storing personnel information, and the communication unit during the log-in process of the first agent from the central control server. and a control unit for generating a verification result by comparing one piece of information with information stored in the personnel information storage unit.
  • the query execution method of the central control server comprises the steps of: a communication unit of the central control server receiving DML generation information from a first agent; and after verifying the DML generation information received by the control unit of the central control server The step of converting the DML generation information into DML query information and generating it, the step of the communication unit transmitting the DML query information to the database of the POS system, and the storage unit of the central control server transmitting the DML query information before or after the transmission of the DML query information and storing information or its execution result information or rollback information or DML generation information.
  • the database operation is performed only through the communication connection between the databases of a plurality of POS systems and the central control server, it is possible to prevent access from the outside to ensure the stability of the database data.
  • the authority of the agent is verified together with the personnel information in the process of connecting to the database of a plurality of POS systems, so that the database accessor can perform the database operation according to the authority.
  • FIG. 1 is a diagram showing interaction between a central control server and other devices according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing the configuration of a central control server according to an embodiment of the present invention.
  • FIG. 3 is a diagram showing the configuration of an authorization server according to an embodiment of the present invention.
  • FIG. 4 shows a process in which the agent checks the authority of the agent when logging in according to an embodiment of the present invention.
  • FIG. 5 is a diagram showing a work flow between an agent and a central control server according to an embodiment of the present invention.
  • FIG. 6 is a diagram showing the configuration of a screen interface where a person in charge who logs in to an agent logs in according to an embodiment of the present invention.
  • FIG. 7 is a diagram showing the configuration of a screen interface for generating DML generation information by a person in charge of logging into an agent according to an embodiment of the present invention.
  • FIG. 8 is a view showing a process by which the central control server verifies the authority of the query and the person in charge and processes it according to an embodiment of the present invention.
  • FIG. 9 is a diagram showing the interaction between the central control server and the database of the POS system according to an embodiment of the present invention.
  • FIG. 10 shows a process of performing rollback after executing DML query information according to an embodiment of the present invention.
  • POS terminals installed in stores and databases to which these terminals are connected are bundled together and designated as POS systems.
  • the POS system may include one POS terminal and a database in the corresponding terminal.
  • the POS system may include two or more POS terminals and a separately constructed database.
  • the POS system may include two or more POS terminals and a database built in any one or two of POS terminals.
  • a device that remotely accesses the POS system to remotely manage the POS system and, in particular, sends a query to the database to change the contents of the database is referred to as a central control server.
  • the central control server can connect to the POS system or the database of the POS system.
  • FIG. 1 is a diagram showing interaction between a central control server and other devices according to an embodiment of the present invention.
  • the central control server 100 is connected to a plurality of agents (Agent, 300a to 300k).
  • agents agents
  • an embodiment of the connection method includes socket communication.
  • the agent is a PC including a laptop computer, or a tablet or smartphone.
  • the agent uses the program installed in the above-described devices as an embodiment.
  • the PC agent as an embodiment of the agent will be mainly described, but the present invention is not limited thereto.
  • PC agents are mainly used to perform business tasks in enterprises.
  • the central control server 100 is connected to a plurality of databases in the POS system (POS Database, 500a ⁇ 500m).
  • POS Database 500a ⁇ 500m.
  • the POS system and the database can be integrated.
  • a database may be disposed in the POS system.
  • an embodiment of the connection method between the central control server 100 and the database in the POS system includes a DB (Database) connection.
  • the device referred to as the POS system or POS terminal provides the function of an electronic cash register, and provides a function of notifying the seller of various data accompanying the sale of the product at the product seller that sells the product.
  • the POS system provides information necessary for smooth management of sales information, and each POS terminal or POS system can store credit information or sales information read in the process of payment for goods into a database.
  • the configuration of FIG. 1 is a configuration in which individual agents cannot directly access the POS system and can request a necessary database operation from the central control server.
  • the central control server 100 changes the data manipulation language received from each PC agent, that is, a network packet (eg, byte information) related to DML (Data Manipulation Language) into DML query information.
  • a network packet eg, byte information
  • DML Data Manipulation Language
  • the DML generation information provided by the PC agent is information necessary to create a DML query and verify it.
  • the central control server 100 transmits the changed DML query information to the database in each POS system, and receives the query result. Then, the received result is provided to the agent.
  • DML is referred to as a data manipulation language, and information in the database can be retrieved using commands such as SELECT/COUNT, or information in the database can be input/modified/deleted using commands such as INSERT/UPDATE/DELETE. It may also be referred to as a data manipulation language or a query statement.
  • the processing of DML must be secured in that it changes the contents of the database or retrieves information. Therefore, in the present specification, the DML processing is limited so that only the central control server 100 can process it under the connection with the POS database, thereby increasing the security of the DML processing.
  • the central control server 100 and the PC agent are also unnecessary based on the connection to increase security and the configuration in which the central control server 100 verifies the DML generation information delivered by the PC agent, or the intrusion of an external computer network or an internal person in charge. You can block illegal DB access.
  • the central control server 100 controls the execution of DML for the database by connecting to the databases in the POS system. However, since the central control server 100 verifies the DML generation information provided by the agents and then performs the DML execution accordingly, if the agent provides incorrect DML generation information, the central control server 100 is You can block DML execution within the database.
  • the central control server 100 may directly verify the authority of the agent, or may verify the authority of the agent through a separate authority server 400 .
  • the authorization server 400 may include a personnel database, and may also include an IT portal in which payment is made between the personnel in charge and information about the affiliated store is stored. That is, the authority server 400 may include both the personnel DB and the IT portal described above, and the central control server 100 may use information referenced in the authority server 400 .
  • the verification of the authority of the agent is to check the personnel information of the user logged into the agent or check the DB authority for the user's database access and work execution as an embodiment.
  • the authority server 400 and the central control server 100 may be implemented in one device.
  • the communication unit 110 communicates with a plurality of agents, for example, the first agent 300a, the second agent 300b, and the databases 500a to 500m of the POS system. After verifying the DML generation information transmitted by the first agent 300a, the controller 150 converts the DML generation information into DML query information and generates it.
  • a plurality of agents for example, the first agent 300a, the second agent 300b, and the databases 500a to 500m of the POS system.
  • the communication unit 110 transmits the DML query information to the database of the POS system, and at a time point before or after the transmission of the DML query information, the storage unit 120 stores DML query information or execution result information or rollback information or DML generation information. save the
  • the communication unit 410 of the authority server 400 performs communication with the central control server 100 .
  • the personnel information storage unit 420 stores personnel information.
  • the control unit 450 of the authorization server 400 When the communication unit 410 of the authorization server 400 receives the information provided by the first agent in the process of logging in from the central control server 100, the control unit 450 of the authorization server 400 includes the received information and personnel information. A verification result is generated by comparing the information stored in the storage unit 420 .
  • the authority server 400 stores a history of this in the personnel information storage unit 420 when an error occurs frequently in the operation of a specific person in charge / a specific agent in the central control server 100, and the corresponding person in charge logs in in the future If you do, you can generate validation results to only perform operations that do not require rollback.
  • FIG. 4 shows a process in which the agent checks the authority of the agent when logging in according to an embodiment of the present invention.
  • the first agent (Agent 1) 300a displays a window for inputting the identification information of the person in charge, for example, an ID and a password required to verify it, and when the person in charge inputs an ID/password (pwd), This is transmitted to the central control server 100 (S1). Also, the first agent 300a may transmit the IP address of the first agent 300a together with the ID/password to the central control server 100 .
  • the central control server 100 verifies the person in charge who has logged in using the transmitted ID and password and optionally the IP address of the first agent 300a (S2). In this process, it is possible to request the authorization server 400 to check the authority or personnel information of the person in charge who is the owner of the ID to receive the result (S4).
  • the first agent 300a may be permitted to access the corresponding person (S5), and the first agent 300a may create DML generation information and provide it to the central control server 100 .
  • the first agent 300a may additionally provide personnel information of the person in charge to the central control server 100 in step S1.
  • the first agent 300a can log in, and the communication unit 110 of the central control server 100 transfers the information provided in the process S1 of the first agent 300a to the authorization server ( 400), and the communication unit 110 receives the verification result for the first agent 300a from the authority server 400 (S4). Thereafter, the control unit 150 of the central control server 100 may verify the DML generation information according to the authority of the logged-in first agent 300a.
  • the DML generation information according to the permission means that a database or table that can be accessed is differently set according to the permission of the logged-in first agent 300a.
  • the authority of the logged-in first agent 300a the authority to access a specific POS system is set differently according to an embodiment.
  • the authority server 400 and the central control server 100 may be implemented in one device or may be implemented in separate devices, respectively. These two servers 100 and 400 may verify the authority of the person in charge through mutual operation or extract information of the person in charge of the upper level who will pay the DML generation information written by the person in charge.
  • the authority server 400 and the central control server 100 may apply the following criteria in the process of verifying the person in charge who logs in.
  • the central control server 100 may control that a person in charge cannot log in from an agent other than the assigned agent by imposing one DB access ID corresponding to the IP for each agent.
  • the person in charge information IP, DBID, in-house email address
  • the person in charge may be retired or suspended due to reasons such as resignation or suspension.
  • the authority regarding the DB access and operation of the person in charge can be automatically revoked.
  • the authority server 400 and the central control server 100 confirm that the person in charge who logs in has a reason such as suspension or retirement or a department transfer, firstly blocks all connections from the agent.
  • a separate procedure or information required for access may be requested by displaying the absence of authority on the agent's display.
  • the authority server 400 or the central control server 100 stores information on the final access time for each agent or person in charge, and the agent who is not connected for more than a certain period (eg, period of 1 month or 3 months, etc.) / You can block the access of the person in charge.
  • FIG. 5 is a diagram showing a work flow between an agent and a central control server according to an embodiment of the present invention.
  • the first agent 300a prepares DML generation information and provides it to the central control server 100 .
  • the second agent 300b may verify the DML generation information generated by the first agent 300a.
  • both agents 300a and 300b have been verified as authorized personnel in the process of FIG. 4 .
  • the first agent 300a transmits the DML generation information to the central control server 100 (S11).
  • the central control server 100 verifies the received DML generation information (S12).
  • the DML generation information and the information of the first agent (Agent 1) are transmitted to the second agent 300b to log in or log in to (S13) .
  • the second agent 300b generates a result of verifying the DML generation information (S14) and transmits the generated result to the central control server 100 (S15).
  • the central control server 100 generates DML query information according to the received result, transmits it to the database of the POS system, and receives the result (S16).
  • DML query information is information written to search or update/delete/input data in a specific table of the POS system database.
  • the central control server 100 When the central control server 100 receives the execution result of the DML query information from the POS system, it transmits the result to the first agent 300a (S17). In this process, the central control server 100 may also transmit the result information to the second agent 300b.
  • the central control server 100 may access the POS through DB information input and DML information transmission of the target POS system after inquiring the payment document related to the DB DML job (S15). Accordingly, the central control server 100 may generate DML query information using the information paid by the second agent 300b.
  • control unit 150 of the central control server 100 selects the second agent 300b to verify the DML generation information transmitted by the first agent 300a.
  • identification information of the second agent 300b may be checked from the authorization server 400 .
  • the communication unit 110 of the central control server 100 transmits the DML generation information to the second agent 300b (S13), and then receives the verification result for the DML generation information from the second agent 300b (S15). do.
  • FIG. 6 is a diagram showing the configuration of a screen interface where a person in charge who logs in to an agent logs in according to an embodiment of the present invention.
  • the person in charge can input his/her identification information (DB ID) and password.
  • DB ID his/her identification information
  • the IP address of PC information can be automatically loaded by the agent. Similarly, once the personnel information is input to the agent, it may be maintained until the personnel information is changed.
  • the personnel information may change depending on the DB ID entered by the person in charge.
  • personnel information corresponding to each DB ID may be pre-stored in the agent.
  • the central control server 100 transmits the IP address of the PC, the ID logged in by the person in charge, or personnel information related thereto to the authority server 400 in FIG. You can check whether you are a valid user and complete the login by sending it to
  • the DB ID and personnel information linked to the user PC IP as a key value are brought in for the first login to the central control server 100 or the authorization server.
  • the agent may output a screen necessary to generate DML generation information.
  • FIG. 7 is a diagram showing the configuration of a screen interface for generating DML generation information by a person in charge of logging into an agent according to an embodiment of the present invention.
  • the login screen of FIG. 6 is a screen in which the person in charge who has logged into the agent inputs DML generation information.
  • the person in charge may insert the product order details into the database of the POS system of a specific affiliate store (eg, CSR ID is “SEOUL_KANGNAM_23”).
  • CSR ID is “SEOUL_KANGNAM_23”.
  • the basic information about the job can be directly entered by the person in charge in the part marked "CSR information”.
  • the agent can load it from another file or received packet and output it to the part marked "CSR information”.
  • the person in charge can select a database, select a table, and enter a query in the area marked "DB Input Control".
  • CSR information and DB input control information constitute DML generation information
  • the DML generation information is transmitted to the central control server 100 .
  • the central control server 100 may additionally perform verification of a higher-level person in charge according to the type of query, the type of database or table, and the like.
  • the central control server 100 may store the type of database for each affiliate store, information about tables constituting the database, and permission level information for each table.
  • Privilege level information is information about the privilege to execute SEARCH/INSERT/UPDATE/DELETE, etc. performed in each table.
  • the central control server 100 verifies it through confirmation by a higher-level person in charge.
  • the central control server 100 determines that such a search is a search in a table that does not correspond to personal information, and Allows queries to be performed without confirmation.
  • query statements such as UPDATE/INSERT/DELETE may also be verified through the confirmation of a higher-level person in the central control server 100 according to the characteristics of the table, or the query may be performed without confirmation.
  • the central control server 100 may store the query statement for a certain period of time for a query statement that changes information in the table, such as UPDATE/INSERT/DELETE, or information necessary to roll-back the query result. .
  • the degree of risk may be determined differently depending on the degree of influence on the DB, or the information storage period for rollback may be different.
  • the central control server 100 determines that the importance of the corresponding DML query statement is low. In this case, the central control server 100 may shorten the storage period of information required for rollback or exclude the rollback function for the corresponding DML query statement.
  • the storage period of the information required for rollback can be increased by reflecting this.
  • the DB of the POS system is connected to the central control server 100 .
  • a VPN Virtual Private Network
  • the central control server 100 is the POS system DBs 500a, 500b, ..., 500n) can be connected.
  • the agents are only connected to the central control server 100, and are not connected to the DB of the POS system. Therefore, hacking of the POS system through the agent or access to the POS system DB through the agent is blocked.
  • the central control server 100 reviews the DML generation information to be performed by each agent and according to the query statement, or according to the authorization information of the person in charge logged in to each agent, or past work history of the person in charge logged in to each agent. You can decide whether to execute the DML generation information or not.
  • the central control server 100 may receive DML generation information including the POS DB IP, account ID/PW of the person in charge, DB name, table name, and the like from the agent.
  • the central control server 100 may check the payment document corresponding to the DML generation information according to the importance of the DB DML.
  • the approval document transmits the DML generation information to the second agent to verify the DML generation information, and includes the verification result. Alternatively, the approval document includes the result of partially modifying the DML generation information.
  • the central control server 100 may store log information and rollback information for this.
  • information other than the query input may be defined as meta information. Meta information can be used to verify the query input.
  • FIG. 8 is a view showing a process by which the central control server verifies the authority of the query and the person in charge and processes it according to an embodiment of the present invention.
  • the central control server 100 that is, the communication unit 110 of the central control server 100 receives the DML generation information from the first agent (S21). The information discussed above with reference to FIGS. 5 and 7 may be received.
  • the central control server 100 verifies the DML generation information (S22).
  • the verification process consists of a procedure to verify the authority of the agent that sent the DML generation information, a procedure to verify the query within the DML generation information, and a procedure to check whether the DML generation information is valid access to the POS system to be accessed. can be configured.
  • the central control server 100 may check the authority of the person in charge of logging in to the agent as shown in FIGS. 4 and 5 . It can be checked whether the authorized person in charge has logged in through the authorization server 400 .
  • the central control server 100 performs an additional verification process other than the authorization server 400 when a person in charge who has not been connected for a certain period of time (eg, 1 month or 3 months, etc.) logs in. For example, after receiving confirmation from a person in charge of a higher level in the payment line of the person in charge, verification of login or DML generation information may be performed.
  • a certain period of time eg, 1 month or 3 months, etc.
  • the central control server 100 may perform a procedure for verifying the query in the DML generation information. This includes varying the information storage period for risk or rollback according to the degree of impact on the DB when executing the query statement included in the DML generated information.
  • the central control server 100 may perform syntax analysis of the query statement in the DML generation information.
  • the central control server 100 may verify a typographical error in the query and also compare the query with an explanation therefor. For example, if the description "input” is included in detailed information 1 in FIG. 7, and “delete” rather than “insert” is included in the actual query input part, the central control server 100 determines that this query statement is a typo or It can be judged as an incorrect query statement.
  • the central control server 100 may verify the query statement using the meta information-query response information of Table 1 for the information included in the detailed information 1 and the query input content.
  • the table of Table 1 may be stored by the storage unit 120 of the central control server 100 .
  • the control unit 150 of the central control server 100 may store it as a corresponding query.
  • Information 1" is included in meta information, and in response to the corresponding query being "Delete", the control unit 150 of the central control server 100 may accumulate and store the frequency of occurrence of such meta information.
  • the control unit 150 of the central control server 100 may determine the frequency of occurrence of the corresponding word for each person in charge (by agent). As a result, when the occurrence frequency is high or when a corresponding word and a corresponding query are written from a plurality of agents, the corresponding word (for example, "exclude”) and the corresponding query can be generated as information shown in Table 1.
  • control unit 150 of the central control server 100 may update the meta information-query response information as shown in Table 1 to "delete, remove, exclude” instead of “delete, remove”.
  • the DML generation information may include a query statement, database information and table information to execute the query statement, meta information including a description of the query statement, and the like.
  • the control unit 150 of the central control server 100 may verify the DML generation information by comparing the query sentence with the word included in the meta information, the database information, and the table information.
  • the storage unit 120 of the central control server 100 may separately store information on data stored in each database or table. For example, information on whether a specific database/table stores payment-related data or order-related data may be stored in the storage unit 120 .
  • the central control server 100 may check whether the corresponding DML generation information is a valid access to the POS system to be accessed. You can check it by using the permission information earlier.
  • the central control server 100 may perform validation on the IP, PORT access, and accessible tables of the DBMS (DB management system) of each corresponding POS system.
  • DBMS DB management system
  • the central control server 100 may determine whether the corresponding agent is accessible. In addition, the central control server 100 may check whether the access is valid by comparing the table name or DB name in the query inputted in the query input field with the corresponding information in the meta information.
  • the central control server 100 may determine whether verification by other agents is necessary for them. If necessary, the central control server 100 may perform steps S13 to S15 of FIG. 4 above. That is, the central control server 100 inquires the authority of the first agent that has transmitted the DML generation information from the authority server or verifies the DML generation information through the second agent according to the verification result (S23). This includes a process of receiving a verification result for DML generation information from another agent as shown in S15 shown in FIG. 5 .
  • the central control server 100 generates DML query information by reflecting the authority and the verification result (S24). At this time, if the second agent partially modifies the query statement in S23, the central control server 100 reflects this and generates DML query information. Thereafter, the central control server 100 transmits the DML query information to the DB of the target POS system and receives the execution result from the DB of the POS system (S25).
  • control unit 150 of the central control server 100 verifies the DML generation information received in S21 and then converts the DML generation information into DML query information to generate it.
  • the central control server 100 transmits the DML query information to the POS system (ie, the database of the POS system), either an immediate transmission method or a delayed transmission method may be selected.
  • the immediate transmission method when DML query information is generated, it is transmitted to the POS system and the DML query statement is executed on the DB.
  • the delayed transmission method is a method in which the central control server 100 stores DML query information in a temporary query table and transmits the DML query information to the POS system after a predetermined time (time interval such as 30 seconds or 10 minutes) has elapsed.
  • the delayed transmission method is a method in which the central control server 100 deletes the DML query information without transmitting it when the first agent or the second agent urgently requests to cancel the execution. This can improve DB accuracy by giving a time interval that can be canceled in case of a mistake or misjudgment by the person in charge.
  • the central control server 100 stores the execution result of the DML query information or rollback information necessary for rollback (S26). That is, the storage unit 120 of the central control server 100 may selectively or completely store the following items before or after transmission of the DML query information.
  • the storage unit 120 may store any one or more of DML query information, execution result information of DML query information, rollback information, and DML generation information. Even if the DML information is reflected on the DB of a specific POS system, if a rollback is required according to various circumstances, the central control server 100 may send a rollback related command to the DB of the corresponding POS system to perform the rollback.
  • rollback When rollback is required, it responds to a request from a specific person (a merchant store owner, a higher-level person in charge, or a person in charge) in relation to the DB of the POS system, or cancellation/return of the payment document to step S23.
  • a specific person a merchant store owner, a higher-level person in charge, or a person in charge
  • the central control server 100 when the DML query information is executed in S26, the central control server 100 generates a reporting document in which the owner of the corresponding POS system can check the changes, and transmits it to the POS system or the email address of the owner of the POS system. . This is an optional process.
  • the central control server 100 performs a rollback operation of the corresponding DML query information.
  • the central control server 100 verifies the DML generation information and generates DML query information based on this, and generates rollback information after executing the query according to the DML query information and stores it for a certain period of time. process can be performed.
  • the central control server 100 may control the authority by dividing the access to the DB of the POS system by region, by affiliated store, or by all. And depending on the agent's authority, the scope of the accessible POS system can be limited.
  • the central control server 100 allows only one POS system database for DML generation information for the agent with the lowest authority, and also limits the number of transmissions of DML generation information within a certain time range. have. Of course, the above restrictions can be lifted step by step for agents with higher privileges.
  • the central control server 100 may maintain the following authority-access permission information.
  • the central control server 100 can perform "Select/Insert/Delete/Update" for one POS system by an agent with "Low-middle” authority, After sending DML generation information once and query execution is completed, access to the system is not allowed or DML generation information cannot be created 6 hours before completion. Alternatively, it can be limited to perform only "SELECT" within 6 hours. Similarly, "High-middle” may perform "Select/Insert/Delete/Update" for POS systems of a specific affiliated store group.
  • an embodiment of a specific affiliated store group includes an embodiment in which two or more POS systems of affiliated stores operated by the same franchisee are grouped together.
  • an embodiment of a specific affiliated store group includes an embodiment in which POS systems arranged in a specific region or a specific type of affiliated store (eg, mini-super, convenience store, hypermarket) are grouped together.
  • POS systems arranged in a specific region or a specific type of affiliated store eg, mini-super, convenience store, hypermarket
  • an embodiment of a specific affiliated store group includes an embodiment in which POS systems of the same version are grouped when the POS system is divided into a specific version.
  • the central control server 100 may control the POS systems as a group.
  • the above-mentioned authority level may be set according to the personnel information of each person in charge or the region/merchant in charge.
  • identification information of the POS system through which the agent can generate DML generation information may be separately added to the permission level. For example, in the case of "Low", the corresponding person in charge may add a range of POS system identification information of "MART001 to MART100". In this case, the person in charge can generate DML generation information only for the POS systems of "MART001" to "MART100".
  • the authority-access permission information in Table 2 is applied in advance when the central control server 100 verifies the DML generation information or another agent verifies the DML generation information, so that unnecessary verification procedures for non-authorized tasks are automatically performed. make it happen
  • control unit 150 of the central control server 100 uses the query statements that can be executed according to the authority of the agent, the database to execute the query statements, and table information. DML generation information can be verified.
  • An embodiment of verifying DML generation information using an executable query statement means verifying whether a query statement can be executed under the authority of a corresponding agent, such as Select/Update/Delete/Insert. It corresponds to the type of DML for each permission level in Table 2.
  • An embodiment of verifying the DML generation information using the database and table information to be executed means verifying whether the specific database and table in Table 3 below can be accessed with the authority of the agent.
  • accessible DBs and tables are set differently for each permission level.
  • the control unit 150 may check the authority level of the agent and verify whether the DML generation information is transmitted to the DB/table accessible by the agent.
  • executable queries such as Select/Update/Delete/Insert may be set separately.
  • the central control server 100 transmits DML query information to the database 500 of the POS system (S31).
  • the database 500 of the POS system generates a result after performing the query (S32).
  • the result of Insert/Delete/Update, etc. or the result of Search may vary depending on each query statement.
  • the database 500 of the POS system transmits the result to the central control server 100 .
  • the central control server 100 transmits the result to the subject to be notified (S34).
  • the notification target may be the agent who requested the DML execution, another agent who verified it, and the franchisee who manages the database of the POS system that performed the DML query information.
  • the central control server 100 may notify through e-mail, or may provide the results in a pop-up method to the corresponding agents upon login of the central control server 100 .
  • the POS system when using the POS system, the POS system performs a DML query, and the result of the POS system may be displayed as a pop-up or the like. This is to notify the franchisee of what work has been done in the corresponding POS system, and in the process of notifying, meta information among the DML generation information may be displayed on the POS system. For example, contents such as "Detailed information 1" of FIG. 7 may be displayed on the POS system.
  • the central control server 100 may process it.
  • the central control server 100 may delete the rollback information corresponding to the DML query information when receiving a response indicating that the POS system, which has performed the DML query information, has confirmed the result of executing the query statement.
  • the corresponding information work content may be transmitted by e-mail to the top administrator who manages the POS system.
  • the top manager is a person in charge of company-wide confirmation of DB access to multiple POS systems. In Table 2 above, it corresponds to the person in charge with the "High" level authority.
  • the DML query information interacts with the central control server 100 or the authorization server 400, or the payment of the electronic payment system (or IT portal) within the company that is integrally configured with the above-mentioned server
  • the stability of DB control can be improved by making verification based on documents.
  • the POS System DB top administrator can check the DB DML tasks of those in charge who log in as agents at regular intervals.
  • the central control server 100 may store the execution result of the DML query information as a history.
  • control unit 150 of the central control server 100 may accumulate and store DML generation information transmitted by the agent or DML query information corresponding thereto in the storage unit 120 of the central control server 100 .
  • control unit 150 of the central control server 100 may change the authority of the agent by verifying a plurality of DML generation information or DML query information stored in the storage unit 120 .
  • the control unit 150 of the central control server 100 may upgrade the authority level of the agent.
  • the control unit 150 of the central control server 100 may upgrade the authority level of the first agent from “LOW” to “Low-middle” (see Table 2).
  • the control unit 150 of the central control server 100 may downgrade the authority level of the agent.
  • the control unit 150 of the central control server 100 may downgrade the authority level of the first agent from “Middle” to “Low-middle” (see Table 2).
  • FIG. 10 shows a process of performing rollback after executing DML query information according to an embodiment of the present invention.
  • the communication unit 110 of the central control server 100 transmits the execution result information of the DML query information and the DML generation information to the POS system 500 (S36).
  • the POS system 500 displays the received information on the interface, and the POS system manager (eg, a store owner or a person in charge of business) confirms this and inputs information requesting rollback (S37). In this case, a reason for rollback may be input. And the POS system 500 requests a rollback from the central control server 100 (S38).
  • the control unit 150 of the central control server 100 uses the stored rollback information to roll back the execution of the DML query information. to perform (S39). At this time, if the rollback occurs due to an error or error of the agent, the agent's authorization level may be downgraded or a message notifying that the rollback has occurred may be transmitted to the authorization server or the second agent.
  • a search or record control for a database of the POS system which is mass-built in a distribution company composed of a plurality of affiliated stores, can be stably performed.
  • the central control server 100 limits the database access range for each authority and interaction with the authority server 400 so that the DML query information can be properly performed according to the authority of the person in charge.
  • the central control server 100 since the database operation is performed by the central control server 100 without the agent directly accessing the database of the POS system, the DB information of the POS system in which important information such as customer credit information, merchant product information, and sales information is stored. can protect In particular, the central control server 100 and the database of the POS system are connected by a communication protocol that maintains security through a VPN or a firewall to prevent hacking of the POS system. This allows the POS system to block access to external communications other than the central control server 100, thereby preventing unspecified devices from accessing the POS system.
  • the central control server 100 may periodically change the communication connection state with the POS system. You can improve security by changing the port number.
  • the agent's authority is verified in the process of the agent transmitting the DML generation information to the central control server 100, and the central control server 100 verifies the DML generation information and generates the corresponding DML to the agent of the upper level person in charge. Verification of information can be requested, and the security of the system can be improved based on this. Also, by preventing erroneous database manipulation, it is possible to solve a problem in which important information is deleted or lost or is changed.
  • Methods according to an embodiment of the present invention may be implemented in the form of program instructions 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버에 관한 것으로, 본 발명의 일 실시예에 의한 중앙통제서버는 제1에이전트, 제2에이전트 및 포스시스템의 데이터베이스와 통신하는 통신부와 제1에이전트가 전송한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 제어부와 통신부가 DML 쿼리 정보를 포스시스템의 데이터베이스에 전송하며, 전송 전 또는 전송 후의 시점에 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 DML 생성 정보를 저장하는 저장부를 포함한다.

Description

데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버
본 발명은 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버에 관한 것이다.
유통 업체, 예를 들어 체인화된 슈퍼마켓, 편의점, 대형 쇼핑몰 등은 상품의 결제 및 상품 관리를 위해 포스시스템(POS, Point of sale system)을 구축하고 있다. 포스시스템은 다양한 상품 정보와 고객 정보, 또는 거래 정보를 저장하여야 하며, 또한 매장 내에서 실시간으로 이용된다는 점에서 시스템의 유지 및 보수가 중요한 이슈가 되고 있다.
그런데, 이러한 시스템의 유지 및 보수를 위해 시스템 담당자가 매장을 방문하는 것은 시간의 소요를 야기할 뿐만 아니라 시스템 관리의 비용을 증대시킨다. 따라서, 포스시스템에 대한 원격 관리가 필요하다.
하지만, 포스시스템의 원격 관리는 포스시스템의 보안과 함께 제공되어야 한다. 만약, 포스시스템의 보안이 보장되지 않을 경우, 포스시스템이 저장하는 데이터베이스는 신뢰성을 잃을 수 있다.
이에, 보안성이 보장되는 포스시스템의 원격 관리 방법과 이를 구현하는 시스템의 구현이 요구된다.
본 명세서에서는 다수의 포스시스템의 데이터베이스에 저장된 정보를 안전하게 데이터베이스 작업을 할 수 있는 방안을 제시한다.
본 명세서에서는 다수의 포스시스템의 데이터베이스의 작업이 중앙통제서버를 통한 일원화를 유도하여 외부에서의 접근을 방지하여 데이터베이스 자료의 안정성을 보장하는 방안을 제시한다.
본 명세서에서는 다수의 포스시스템의 데이터베이스와의 연결 과정에서 에이전트의 권한을 인사정보와 함께 검증하여 데이터베이스 접근자가 권한에 적합하게 데이터베이스 작업을 수행하는 방안을 제시한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 의한 중앙통제서버는 제1에이전트, 제2에이전트 및 포스시스템의 데이터베이스와 통신하는 통신부와 제1에이전트가 전송한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 제어부와 통신부가 DML 쿼리 정보를 포스시스템의 데이터베이스에 전송하며, 전송 전 또는 전송 후의 시점에 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 DML 생성 정보를 저장하는 저장부를 포함한다.
본 발명의 일 실시예에 의한 권한 서버는 중앙통제서버와 통신하는 통신부와 인사 정보를 저장하는 인사 정보 저장부와 통신부가 중앙통제서버로부터 제1에이전트가 로그인하는 과정에서 제공한 정보를 수신하면 수신한 정보와 인사 정보 저장부에 저장된 정보를 비교하여 검증 결과를 생성하는 제어부를 포함한다.
본 발명의 일 실시예에 의한 중앙통제서버의 쿼리 수행 방법은 중앙통제서버의 통신부가 제1에이전트로부터 DML 생성 정보를 수신하는 단계와, 중앙통제서버의 제어부가 수신한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 단계와, 통신부가 DML 쿼리 정보를 포스시스템의 데이터베이스에 전송하는 단계와, 중앙통제서버의 저장부가 DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 DML 생성 정보를 저장하는 단계를 포함한다.
본 발명의 실시예를 구현할 경우 다수의 포스시스템의 데이터베이스에 저장된 정보를 안전하게 데이터베이스 작업을 할 수 있다.
본 발명의 실시예를 구현할 경우 다수의 포스시스템의 데이터베이스와 중앙통제서버 간의 통신 연결을 통해서만 데이터베이스 작업이 이루어지므로, 외부에서의 접근을 방지하여 데이터베이스 자료의 안정성을 보장할 수 있다.
본 발명의 실시예를 구현할 경우 다수의 포스시스템의 데이터베이스와의 연결 과정에서 에이전트의 권한을 인사정보와 함께 검증하여 데이터베이스 접근자가 권한에 적합하게 데이터베이스 작업을 수행할 수 있다.
본 발명이 제공하는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 의한 중앙통제서버와 다른 장치들과의 상호 작용을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 중앙통제서버의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 권한 서버의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 에이전트가 로그인 시 해당 에이전트의 권한을 확인하는 과정을 보여준다.
도 5는 본 발명의 일 실시예에 의한 에이전트와 중앙통제서버 사이의 작업 흐름을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 의한 에이전트에 로그인하는 담당자가 로그인하는 화면 인터페이스의 구성을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 의한 에이전트에 로그인하는 담당자가 DML 생성 정보를 생성하는 화면 인터페이스의 구성을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 의한 중앙통제서버가 쿼리 및 담당자의 권한을 검증하고 이를 처리하는 과정을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 중앙통제서버와 포스시스템의 데이터베이스의 상호 작용을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의한 DML 쿼리 정보의 수행 후 롤백을 수행하는 과정을 보여준다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 본 명세서에서는 매장 내에 설치된 포스 단말 및 이들 단말이 접속하는 데이터베이스를 하나로 묶어서 포스시스템이라 지시한다. 본 발명의 일 실시예에 의하면, 포스시스템은 하나의 포스 단말 및 해당 단말 내의 데이터베이스를 포함할 수 있다. 또한, 본 발명의 다른 실시예에 의하면 포스시스템은 둘 이상의 포스 단말 및 별도로 구축된 데이터베이스를 포함할 수 있다. 또한, 본 발명의 다른 실시예에 의하면 포스시스템은 둘 이상의 포스 단말 및 포스 단말 중 어느 하나 또는 두 개에 구축된 데이터베이스를 포함할 수 있다.
본 명세서에서는 포스시스템에 원격으로 접속하여 포스시스템을 원격 관리하며 특히 데이터베이스에 쿼리를 전송하여 데이터베이스의 내용을 변경하는 장치를 중앙통제서버라고 지칭한다. 또한 중앙통제서버는 포스시스템 또는 포스시스템의 데이터베이스와 접속할 수 있다.
도 1은 본 발명의 일 실시예에 의한 중앙통제서버와 다른 장치들과의 상호 작용을 보여주는 도면이다.
중앙통제서버(100)는 다수의 에이전트들(Agent, 300a~300k)와 연결된다. 이때, 연결 방식의 일 실시예로는 소켓 통신을 포함한다. 에이전트는 노트북을 포함하는 PC, 또는 태블릿이나 스마트폰을 일 실시예로 한다. 또는 에이전트는 전술한 장치들에 설치된 프로그램을 일 실시예로 한다. 이하, 에이전트의 일 실시예로 PC 에이전트를 중심으로 설명하지만, 본 발명이 이에 한정되는 것은 아니다. PC 에이전트는 기업에서 업무용 작업을 수행하는데 주로 이용된다.
또한, 중앙통제서버(100)는 다수의 포스시스템 내의 데이터베이스(POS Database, 500a~500m)와 연결된다. 포스시스템과 데이터베이스가 일체로 구성될 수 있다. 이 경우 포스시스템 내에 데이터베이스가 배치될 수 있다.
이때 중앙통제서버(100)와 포스시스템 내에 데이터베이스 간의 연결 방식의 일 실시예로는 DB(Database) 연결을 포함한다. 포스시스템 혹은 포스 단말기로 지칭되는 장치는 전자식 금전등록기의 기능을 제공하며, 물품을 판매하는 물품판매처에서 물품의 판매에 수반되는 각종 데이터를 판매자에게 알려주는 기능을 제공한다.
또한, 포스시스템은 판매에 대한 정보 관리를 원활하게 하는데 필요한 정보를 제공하며, 각각의 포스 단말기 혹은 포스시스템은 물품 대금의 결제 과정에서 리딩된 신용정보 또는 판매 정보 등을 데이터베이스로 저장할 수 있다.
따라서, 개인 정보 및 물품 정보 등 주요한 정보가 포스시스템에 저장되어 있으므로, 포스시스템의 DB 안정성 및 보안성을 충족시키기 위해서는, 이들 포스시스템의 데이터베이스에 대한 접근을 담당자의 권한에 따라 제어하는 것이 필요하다. 도 1의 구성은 개별 에이전트가 포스시스템으로 직접 접근하지 못하며 중앙통제서버에게 필요한 데이터베이스 작업을 요청할 수 있는 구성이다.
중앙통제서버(100)는 각 PC 에이전트들로부터 수신한 데이터 조작어, 즉, DML(Data Manipulation Language)과 관련된 네트워크 패킷(예를 들어 바이트 정보)를 DML 쿼리 정보로 변경한다. PC 에이전트가 제공하는 DML 생성 정보는 DML 쿼리를 생성하고 이를 검증하는데 필요한 정보이다.
그리고 중앙통제서버(100)는 변경된 DML 쿼리 정보를 각각의 포스시스템 내의 데이터베이스에게 전송하고, 쿼리 결과를 수신한다. 그리고 수신한 결과를 에이전트에게 제공한다.
DML은 데이터 조작어라고 지칭되며, SELECT/COUNT 등의 명령어를 이용하여 데이터베이스 내의 정보를 검색하거나 INSERT/UPDATE/DELETE 등과 같은 명령어를 이용하여 데이터베이스 내의 정보를 입력/수정/삭제할 수 있다. 데이터 조작어 또는 쿼리문으로 지칭될 수도 있다. DML의 처리는 데이터베이스의 내용을 변경하거나 정보를 검색한다는 점에서 보안이 유지되어야 한다. 따라서, 본 명세서에서 DML의 처리는 중앙 통제 서버(100)만이 포스 데이터베이스와의 연결 하에 처리할 수 있도록 한정하여 DML 처리의 보안성을 높일 수 있다.
또한, 중앙통제서버(100)와 PC 에이전트 역시 보안성을 높이는 연결 및 중앙통제서버(100)가 PC 에이전트가 전달하는 DML 생성 정보를 검증하는 구성에 기반하여 불필요하거나 외부의 전산망 침입 또는 내부 담당자의 불법적 DB 접근을 차단할 수 있다.
도 1에 도시된 바와 같이, 중앙통제서버(100)는 포스시스템 내의 데이터베이스들과 연결하여 데이터베이스에 대한 DML 실행을 제어한다. 그러나, 중앙통제서버(100)는 에이전트들이 제공하는 DML 생성 정보를 검증한 후, 그에 따라 DML 실행을 수행하므로, 에이전트에서 잘못된 DML 생성 정보를 제공하는 경우에 중앙통제서버(100)는 포스시스템의 데이터베이스 내의 DML 실행을 차단할 수 있다.
한편, 중앙통제서버(100)는 에이전트의 권한을 직접 검증할 수도 있고, 별도의 권한서버(400)를 통하여 에이전트의 권한을 검증할 수도 있다.
권한서버(400)는 인사 데이터베이스를 포함할 수 있고, 또한 담당자들 간의 결재가 이루어지며 가맹점에 대한 정보가 저장된 IT 포털을 포함할 수 있다. 즉, 권한 서버(400)는 전술한 인사 DB와 IT 포털을 모두 포함할 수 있고, 중앙통제서버(100)는 권한서버(400)에서 참조된 정보를 이용할 수 있다.
이때, 에이전트의 권한의 검증은 해당 에이전트에 로그인한 사용자의 인사 정보를 체크하거나, 해당 사용자의 데이터베이스 접근 및 작업수행을 위한 DB 권한을 체크하는 것을 일 실시예로 한다. 또한 권한 서버(400)와 중앙통제서버(100)는 하나의 장치에 구현될 수 있다.
도 2는 본 발명의 일 실시예에 의한 중앙통제서버의 구성을 보여주는 도면이다. 통신부(110)는 다수의 에이전트들, 예를 들어, 제1에이전트(300a), 제2에이전트(300b) 및 포스시스템의 데이터베이스(500a~500m)와 통신한다. 제어부(150)는 제1에이전트(300a)가 전송한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성한다.
그리고 통신부(110)가 DML 쿼리 정보를 포스시스템의 데이터베이스에 전송하며, DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 저장부(120)는 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 DML 생성 정보를 저장한다.
도 3은 본 발명의 일 실시예에 의한 권한 서버의 구성을 보여주는 도면이다. 권한 서버(400)의 통신부(410)는 중앙통제서버(100)와 통신을 수행한다. 인사 정보 저장부(420)는 인사 정보를 저장한다.
권한 서버(400)의 통신부(410)가 중앙통제서버(100)로부터 제1에이전트가 로그인하는 과정에서 제공한 정보를 수신하면, 권한 서버(400)의 제어부(450)는 수신한 정보와 인사 정보 저장부(420)에 저장된 정보를 비교하여 검증 결과를 생성한다.
또한, 권한 서버(400)는 중앙통제서버(100)에서 특정 담당자/특정 에이전트의 작업에서 오류가 빈번하게 발생할 경우, 이에 대한 히스토리를 인사 정보 저장부(420)에 저장하여, 향후 해당 담당자가 로그인할 경우 롤백이 필요하지 않은 작업만을 수행하도록 검증 결과를 생성할 수 있다.
도 4는 본 발명의 일 실시예에 의한 에이전트가 로그인 시 해당 에이전트의 권한을 확인하는 과정을 보여준다.
제1에이전트(Agent 1)(300a)는 담당자의 식별정보, 예를 들어 아이디와 이를 검증하는데 필요한 패스워드 등을 입력하는 창을 표시하고 담당자가 아이디(ID)/패스워드(password, pwd)를 입력하면 이를 중앙통제서버(100)에게 전송한다(S1). 또한, 제1에이전트(300a)는 제1에이전트(300a)의 아이피 주소(IP address)를 중앙통제서버(100)에게 아이디/패스워드와 함께 전송할 수 있다.
중앙통제서버(100)는 전달된 아이디와 패스워드, 그리고 선택적으로 제1에이전트(300a)의 아이피 주소 등을 이용하여 로그인한 담당자를 검증한다(S2). 이 과정에서 권한 서버(400)에게 해당 아이디 소유자인 담당자의 권한이나 인사 정보의 확인을 요청하여 결과를 수신할 수 있다(S4).
그리고 수신된 결과에 따라 해당 담당자의 접속을 제1에이전트(300a)에게 허락하고(S5), 제1에이전트(300a)는 DML 생성 정보를 작성하여 이를 중앙통제서버(100)에게 제공할 수 있다.
또한, 제1에이전트(300a)는 S1 단계에서 추가적으로 담당자의 인사 정보도 중앙통제서버(100)에게 제공할 수 있다.
정리하면, 제1에이전트(300a)는 로그인을 수행할 수 있으며, 중앙통제서버(100)의 통신부(110)는 제1에이전트(300a)가 로그인하는 과정(S1)에서 제공한 정보를 권한 서버(400)에게 전송하고(S3), 통신부(110)는 권한 서버(400)로부터 제1에이전트(300a)에 대한 검증 결과를 수신한다(S4). 이후, 중앙통제서버(100)의 제어부(150)는 로그인한 제1에이전트(300a)의 권한에 따라 DML 생성 정보를 검증할 수 있다.
권한에 따른 DML 생성 정보란 로그인한 제1에이전트(300a)의 권한에 따라 접근할 수 있는 데이터베이스나 테이블이 달리 설정되는 것을 일 실시예로 한다. 또는 로그인한 제1에이전트(300a)의 권한에 따라 특정 포스시스템에 접근할 수 있는 권한이 달리 설정되는 것을 일 실시예로 한다.
도 4에서 권한 서버(400)와 중앙통제서버(100)는 하나의 장치 내에 구현될 수도 있고, 별도의 장치에 각각 구현될 수도 있다. 이들 두 서버들(100, 400)은 상호 동작을 통하여 담당자의 권한을 검증하거나, 혹은 해당 담당자가 작성한 DML 생성 정보를 결재할 상위 담당자의 정보를 추출할 수 있다.
도 4에서 권한 서버(400)와 중앙통제서버(100)는 로그인하는 담당자를 검증하는 과정에서 다음의 기준을 적용할 수 있다. 예를 들어, 중앙통제서버(100)는 에이전트 별로 IP에 대응하여 DB 접속 ID를 하나씩 부과하여, 담당자가 할당된 에이전트 외에 다른 에이전트에서 로그인할 수 없도록 제어할 수 있다.
또한, 권한 서버(400)에서 별도로 관리되는 담당자 정보(IP, DBID, 사내이메일 주소)의 검증을 위해, 인사정보(이름, 사번, 부서)와 연계하여, 담당자가 퇴직 또는 정직 등의 사유로 인해 DB 접속에 대한 정당한 권한을 상실한 경우, 해당 담당자의 DB 접속 및 조작에 관한 권한이 자동 회수되도록 할 수 있다.
예를 들어, 권한 서버(400)와 중앙통제서버(100)는 로그인하는 담당자가 정직 또는 퇴직 또는 부서 이동 등의 사유가 발생했음을 확인하면, 해당 에이전트로부터의 모든 접속을 일차적으로 차단한다. 그리고, 해당 에이전트에서 중앙통제서버(100)에 접속을 시도할 경우, 권한이 없음을 에이전트의 디스플레이에 표시하여 접속에 필요한 별도의 절차 혹은 정보를 요구할 수 있다.
한편, 권한 서버(400) 또는 중앙통제서버(100)는 해당 에이전트 또는 담당자 별로 최종 접속 시간에 대한 정보를 저장하여, 일정 기간(예를 들어 1개월 또는 3개월 등의 기간) 이상 미접속한 에이전트/담당자의 접속을 차단할 수 있다.
도 5는 본 발명의 일 실시예에 의한 에이전트와 중앙통제서버 사이의 작업 흐름을 보여주는 도면이다. 도 4에서 제1에이전트(300a)는 DML 생성 정보를 작성하여 중앙통제서버(100)에게 제공한다. 제2에이전트(300b)는 제1에이전트(300a)가 생성한 DML 생성 정보를 검증할 수 있다.
여기서 두 에이전트(300a, 300b)는 모두 도 4의 과정에서 권한을 가진 담당자로 검증이 끝난 상태이다.
제1에이전트(300a)는 중앙통제서버(100)에 DML 생성 정보를 전송한다(S11). 중앙통제서버(100)는 수신한 DML 생성 정보를 검증한다(S12). 검증 결과 다른 담당자, 예를 들어, 상위 직책자의 확인이 필요한 경우, 해당 직책자가 로그인하거나 로그인할 제2에이전트(300b)에게 DML 생성 정보 및 제1에이전트(Agent 1)의 정보를 전송한다(S13).
이후, 제2에이전트(300b)는 DML 생성 정보를 검증한 결과를 생성하고(S14) 생성한 결과를 중앙통제서버(100)에 전송한다(S15). 중앙통제서버(100)는 수신한 결과에 따라 DML 쿼리정보를 생성하고 이를 포스시스템의 데이터베이스로 전송하고 결과를 수신한다(S16). DML 쿼리 정보는 포스시스템의 데이터베이스의 특정 테이블의 자료를 검색하거나, 업데이트/삭제/입력 등을 수행하도록 작성된 정보이다.
중앙통제서버(100)는 포스시스템으로부터 DML 쿼리 정보의 실행 결과를 수신하면 해당 결과를 제1에이전트(300a)에게 전송한다(S17). 이 과정에서 중앙통제서버(100)는 결과 정보를 제2에이전트(300b)에게도 전송할 수 있다.
S16에서 중앙통제서버(100)는 해당 DB DML작업과 관련된 결재문서 조회 후(S15), 대상 포스시스템의 DB정보 입력 및 DML정보 전송을 통해 해당 POS에 접근할 수 있다. 따라서, 중앙통제서버(100)는 제2에이전트(300b)가 결재한 정보를 이용하여 DML 쿼리 정보를 생성할 수 있다.
정리하면, 중앙통제서버(100)의 제어부(150)는 제1에이전트(300a)가 전송한 DML 생성 정보의 검증을 위해 제2에이전트(300b)를 선택한다. 선택을 위해 권한서버(400)로부터 제2에이전트(300b)의 식별 정보를 확인할 수 있다.
그리고 중앙통제서버(100)의 통신부(110)는 제2에이전트(300b)에게 DML 생성 정보를 전송한 후(S13), 제2에이전트(300b)로부터 DML 생성 정보에 대한 검증 결과를 수신(S15)한다.
도 4 및 도 5의 플로우에서 각각의 에이전트에서 실행되는 프로그램의 인터페이스 또는 에이전트가 프로그램인 경우의 인터페이스를 살펴본다.
도 6은 본 발명의 일 실시예에 의한 에이전트에 로그인하는 담당자가 로그인하는 화면 인터페이스의 구성을 보여주는 도면이다. 담당자는 자신의 식별 정보(DB ID)와 패스워드를 입력할 수 있다. PC 정보의 IP 주소는 에이전트가 자동으로 로딩할 수 있다. 마찬가지로, 인사 정보 역시 에이전트에 1회 입력되면 인사 정보의 변경이 있기 전까지 계속 유지될 수 있다.
또는 PC를 둘 이상의 담당자가 사용할 경우, 담당자가 입력하는 DB ID에 따라 인사 정보가 바뀔 수 있다. 이 경우, 해당 에이전트에는 각각의 DB ID에 대응하는 인사 정보가 미리 저장될 수 있다.
도 4의 S1 내지 S3 과정에서 담당자가 에이전트에 로그인을 할 경우, PC의 IP 주소, 또는 담당자가 로그인한 아이디 또는 이에 연계된 인사 정보를 중앙통제서버(100)가 도 4의 권한 서버(400)에게 전송하여 유효 사용자인지 여부를 확인하고 로그인을 완료할 수 있다.
즉, 중앙통제서버(100)와 권한서버(400) 및 에이전트들 간의 협업에 따라, 최초 로그인시 사용자PC IP를 키값으로 연계된 DB ID 및 인사정보를 가져와서 중앙통제서버(100) 또는 권한서버(400)가 유효한 사용자인지 여부를 확인한 후 에이전트는 DML 생성 정보를 생성하는 데 필요한 화면을 출력할 수 있다.
도 7은 본 발명의 일 실시예에 의한 에이전트에 로그인하는 담당자가 DML 생성 정보를 생성하는 화면 인터페이스의 구성을 보여주는 도면이다. 도 6의 로그인 화면으로 에이전트에 로그인한 담당자가 DML 생성 정보를 입력하는 화면이다.
도 7의 구성은 담당자가 특정 가맹점(예를 들어 CSR ID는 "SEOUL_KANGNAM_23")의 포스시스템의 데이터베이스에 상품 주문 내역을 입력하는 작업(insert)을 수행할 수 있다. 작업에 대한 기초 정보는 "CSR 정보"로 표시된 부분에 담당자가 직접 입력할 수 있다. 또는 에이전트가 다른 파일이나 수신된 패킷 등에서 로딩하여 "CSR 정보"로 표시된 부분에 출력할 수 있다.
그리고 담당자는 "DB 입력 통제"로 표시된 영역에서 데이터베이스를 선택하거나, 테이블을 선택하고, 쿼리를 입력할 수 있다.
도 7의 화면에서 CSR 정보, DB 입력 통제 정보(DB, 테이블, 대상 서버 IP, 쿼리 종류 및 내용)등이 DML 생성 정보를 구성하며, DML 생성 정보는 중앙통제서버(100)에 전송된다. 중앙통제서버(100)는 쿼리의 종류, 데이터베이스 또는 테이블의 종류 등에 따라서 상위 담당자의 검증을 추가로 수행할 수 있다.
중앙통제서버(100)는 각 가맹점 별 데이터베이스의 종류와 해당 데이터베이스를 구성하는 테이블에 대한 정보, 그리고 각 테이블에 대한 권한 레벨 정보를 저장할 수 있다. 권한 레벨 정보란, 각 테이블에서 이루어지는 SEARCH/INSERT/UPDATE/DELETE 등을 실행하는 권한에 대한 정보이다.
예를 들어, "SEARCH" 를 통해 테이블 검색 결과를 확인하는 경우 테이블에 따라 중요도가 달라질 수 있다. 일 실시예로, 구매자의 개인 정보나 결제 정보가 저장된 테이블에 대해 "SEARCH" 명령어를 포함하는 쿼리가 입력되면 중앙통제서버(100)는 이를 상위 담당자의 확인을 통해 검증이 이루어지도록 한다.
반면, 상품의 재고 정보나 판매 수량이 저장된 테이블에 대해 "SEARCH" 명령어를 포함하는 쿼리가 입력되면 중앙통제서버(100)는 이러한 검색은 개인 정보에 해당하지 않는 테이블의 검색으로 판단하여 상위 담당자의 확인 없이 쿼리가 수행될 수 있도록 한다.
한편, UPDATE/INSERT/DELETE 와 같은 쿼리문 역시 테이블의 특성에 따라 중앙통제서버(100)는 이를 상위 담당자의 확인을 통해 검증이 이루어지도록 하거나 혹은 확인 없이 쿼리가 수행될 수 있도록 할 수 있다.
또한, 중앙통제서버(100)는 UPDATE/INSERT/DELETE 와 같이 테이블의 정보를 변경하는 쿼리문에 대해 일정 기간 쿼리문을 저장하거나 혹은 쿼리 결과를 롤백(roll-back)하는데 필요한 정보를 저장할 수 있다. 이때, 중앙통제서버(100)는 해당 DML 쿼리문을 실행할 경우 DB에 영향을 미치는 정도에 따라 위험도를 달리 판단할 수 있으며, 또는 롤백을 위한 정보 저장기간을 달리할 수 있다.
예를 들어, 중요도가 낮은 정보들이 저장된 DB 또는 테이블, 혹은 해당 DB나 테이블이 매일 리셋되는 경우에는 중앙통제서버(100)는 해당 DML 쿼리문의 중요도가 낮은 것으로 판단한다. 이 경우 중앙통제서버(100)는 롤백에 필요한 정보의 저장 기간을 짧게 하거나, 혹은 해당 DML 쿼리문에 대한 롤백 기능을 제외시킬 수 있다.
또는 DML 생성 정보를 검증하는 과정에서 다른 에이전트가 해당 DML 생성정보의 중요도를 설정한 경우, 이를 반영하여 롤백에 필요한 정보의 저장 기간을 증가시킬 수 있다.
전술한 실시예를 적용할 경우, 포스시스템의 DB는 중앙통제서버(100)와 연결된다. 예를 들어 VPN(Virtual Private Network)이 포스시스템에 설치되어 포트 통제를 수행하고, 중앙통제서버(100)는 VPN을 통해 허락된 포트를 통해 포스시스템의 DB들(500a, 500b, ..., 500n)과 연결될 수 있다.
반면, 에이전트들은 중앙 통제서버(100)와 연결될 뿐이며, 포스시스템의 DB에는 연결되지 않는다. 따라서, 에이전트를 통한 포스시스템의 해킹이나 에이전트를 통한 포스시스템 DB 접근이 차단된다.
또한, 중앙통제서버(100)는 각 에이전트들이 수행하려는 DML 생성 정보를 검토하여 쿼리 명령어문에 따라, 혹은 각 에이전트에 로그인된 담당자의 권한 정보에 따라, 또는 각 에이전트에 로그인된 담당자의 과거 작업 히스토리에 따라 DML 생성 정보를 실행할 지 여부를 결정할 수 있다.
도 7의 실시예를 정리하면, 다음과 같다. 포스시스템의 데이터베이스에 접근하기 위해서는 중앙통제서버(100)는 POS DB IP, 담당자의 계정 ID/PW, DB이름, 테이블명 등이 포함된 DML 생성 정보를 에이전트로부터 수신할 수 있다. 중앙통제서버(100)는 DB DML 중 중요도에 따라 DML 생성 정보에 대응하는 결재 문서를 확인할 수 있다. 결재 문서란 DML 생성 정보를 검증할 제2에이전트에게 DML 생성 정보를 전송하고, 이에 대한 검증 결과를 포함한다. 또는 결재 문서란 DML 생성 정보를 일부 수정한 결과를 포함한다. 그리고 중앙통제서버(100)는 결재문서에 기반하여 DML 쿼리 작업이 수행되면 이에 대한 로그 정보와 롤백 정보를 저장할 수 있다.
도 7에서 쿼리입력된 내용 외의 다른 정보들은 메타 정보로 정의할 수 있다. 메타 정보들은 쿼리입력된 내용을 검증하는데 사용될 수 있다.
도 8은 본 발명의 일 실시예에 의한 중앙통제서버가 쿼리 및 담당자의 권한을 검증하고 이를 처리하는 과정을 보여주는 도면이다.
중앙통제서버(100), 즉 중앙통제서버(100)의 통신부(110)는 제1에이전트로부터 DML 생성 정보를 수신한다(S21). 앞서 도 5 및 도 7에서 살펴본 정보들을 수신할 수 있다.
중앙통제서버(100)는 DML 생성 정보를 검증한다(S22). 검증 과정은 해당 DML 생성 정보를 송신한 에이전트의 권한을 검증하는 절차와 DML 생성 정보 내의 쿼리를 검증하는 절차, 그리고 해당 DML 생성 정보가 접근하고자 하는 포스시스템에 대한 유효한 접근인지를 확인하는 절차 등으로 구성될 수 있다.
먼저, 중앙통제서버(100)는 도 4 및 도 5에서 살펴본 바와 같이 에이전트에 로그인하는 담당자의 권한을 확인할 수 있다. 권한 서버(400)를 통해 허가된 담당자가 로그인 하였는지를 확인할 수 있다.
이 과정에서 중앙통제서버(100)는 일정 기간(예를 들어 1개월 또는 3개월 등)동안 접속지 않았던 담당자가 로그인 하는 경우, 권한 서버(400)외에 다른 추가 검증 과정을 수행하도록 한다. 예를 들어, 해당 담당자의 결재 라인에 있는 상위 레벨의 담당자의 확인을 받은 후 로그인 또는 DML 생성 정보의 검증을 수행할 수 있다.
또한, 중앙통제서버(100)는 DML 생성 정보 내의 쿼리를 검증하는 절차를 수행할 수 있다. 이는 DML 생성 정보 내에 포함된 쿼리 문에 대해 해당 쿼리문을 실행할 경우 DB에 영향을 미치는 정도에 따라 위험도 또는 롤백을 위한 정보 저장기간을 달리하는 것을 포함한다.
또한 중앙통제서버(100)는 DML 생성 정보 내의 쿼리문의 구문 분석을 수행할 수 있다. 중앙통제서버(100)는 쿼리문의 오탈자를 검증하고, 또한 쿼리문과 이에 대한 설명문을 비교할 수 있다. 예를 들어, 도 7에서 상세정보 1에 "입력"이라는 설명문이 포함되었는데, 실제 쿼리 입력된 부분에서 "insert"가 아닌 "delete"가 포함되었다면 중앙통제서버(100)는 이 쿼리문은 오탈자 혹은 잘못 기재된 쿼리문으로 판단할 수 있다.
중앙통제서버(100)는 상세정보1에 포함된 정보와 쿼리 입력된 내용을 표 1의 메타정보-쿼리대응정보를 이용하여 쿼리문을 검증할 수 있다. 표 1의 테이블은 중앙통제서버(100)의 저장부(120)가 저장할 수 있다.
[표 1] 메타정보-쿼리대응정보
상세정보 1에 포함된 단어 대응 쿼리
입력, 추가, 생성 Insert
삭제, 제거 Delete
수정, 업데이트 Update
검색, 확인 search
또한, 메타정보에 없는 단어라도 추후 반복하여 특정 대응 쿼리에 대해 작성된 경우 중앙통제서버(100)의 제어부(150)가 이를 대응 쿼리로 저장할 수 있다.예를 들어, "제외"라는 단어가 "상세정보1" 과 같은 메타 정보에 포함되며, 여기에 대응하여 대응 쿼리가 "Delete"인 경우, 중앙통제서버(100)의 제어부(150)는 이러한 메타 정보의 발생 빈도를 누적 저장할 수 있다. 또한, 중앙통제서버(100)의 제어부(150)는 담당자별(에이전트별) 해당 단어의 발생 빈도를 판단할 수 있다. 그 결과 발생 빈도가 높거나, 또는 다수의 에이전트로부터 해당 단어와 대응쿼리가 작성된 경우, 해당 단어(예를 들어 "제외")와 대응 쿼리를 표 1과 같은 정보로 생성할 수 있다.
그 결과 중앙통제서버(100)의 제어부(150)는 표 1과 같은 메타정보-쿼리대응정보를 "삭제, 제거" 대신에 "삭제, 제거, 제외" 로 업데이트 할 수 있다.
DML 생성 정보는 쿼리문, 쿼리문을 수행할 데이터베이스 정보 및 테이블 정보, 쿼리문에 대한 설명을 포함하는 메타 정보 등을 포함할 수 있다. 그리고 중앙통제서버(100)의 제어부(150)는 메타 정보에 포함된 단어와 상기 데이터베이스 정보, 상기 테이블 정보를 상기 쿼리문을 비교하여 DML 생성 정보를 검증할 수 있다.
표 1외에도 카드 정보를 입력한다는 메타 정보가 있음에도 실제 쿼리문 내의 데이터베이스/테이블이 주문과 관련된 경우 메타 정보와 쿼리문의 불일치로 판단하여 해당 DML 생성 정보를 반려 혹은 취소시킬 수 있다.
이를 위해, 중앙통제서버(100)의 저장부(120)는 각 데이터베이스나 테이블이 저장하는 데이터에 대한 정보를 별도로 저장할 수 있다. 예를 들어 특정 데이터베이스/테이블이 결제관련 데이터를 저장하는지, 아니면 발주관련 데이터를 저장하는지에 대한 정보가 저장부(120)에 저장될 수 있다.
또한, 중앙통제서버(100)는 해당 DML 생성 정보가 접근하고자 하는 포스시스템에 대한 유효한 접근인지를 확인할 수 있다. 앞서 권한 정보를 이용하여 확인할 수 있다. 또한 중앙통제서버(100)는 각 해당 포스시스템의 DBMS(DB management system)의 IP, PORT 접근유무, 접근 가능 테이블에 대해 유효성 검증을 수행할 수 있다.
예를 들어, DML 생성 정보 내에 메타 정보로 입력된 DB의 IP 정보와 PORT 정보, DB명과 테이블 명에 대해 중앙통제서버(100)는 해당 에이전트가 접근가능한지를 판단할 수 있다. 또한, 중앙통제서버(100)는 쿼리입력란에 입력된 쿼리문 내의 테이블 명 또는 DB명과 메타정보 내의 해당 정보를 비교하여 유효한 접근인지를 확인할 수 있다.
전술한 검증 결과에 따라 중앙통제서버(100)는 입력된 쿼리의 내용 또는 기타 메타 정보에서 이상이 없는 경우, 이들에 대한 다른 에이전트에 의한 검증이 필요한지를 판단할 수 있다. 필요한 경우, 중앙통제서버(100)는 앞서 도 4의 S13 내지 S15 단계를 수행할 수 있다. 즉, 중앙통제서버(100)는 검증 결과에 따라 권한 서버에서 DML 생성 정보를 송신한 제1에이전트의 권한을 조회하거나 또는 제2에이전트를 통해 DML 생성 정보를 검증한다(S23). 이는 도 5에 도시된 S15와 같이 타 에이전트로부터 DML 생성 정보에 대한 검증 결과를 수신하는 과정을 포함한다.
그리고 중앙통제서버(100)는 권한 및 검증 결과를 반영하여 DML 쿼리 정보를 생성한다(S24). 이때, S23에서 제2에이전트가 쿼리문을 일부 수정한 경우, 중앙통제서버(100)는 이를 반영하여 DML 쿼리 정보를 생성한다. 이후 중앙통제서버(100)는 DML 쿼리 정보를 대상 포스시스템의 DB에 전송하고 포스시스템의 DB로부터 실행 결과 수신한다(S25).
S22 내지 S24의 과정을 요약하면 중앙통제서버(100)의 제어부(150)가 S21에서 수신한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 과정이다.
이때, 중앙통제서버(100)는 DML 쿼리 정보를 포스시스템(즉 포스시스템의 데이터베이스)으로 전송함에 있어서, 즉시 전송 방식과 지연 전송 방식 중 어느 하나를 선택할 수 있다. 즉시 전송 방식은 DML 쿼리 정보가 생성되면 포스시스템으로 전송하여 DB에 대해 DML 쿼리문이 실행되는 방식이다. 지연 전송 방식은 중앙통제서버(100)가 임시 쿼리 테이블에 DML 쿼리 정보를 저장하여 일정 시간(30초 혹은 10분 등의 시간 간격)이 지난 후 DML 쿼리 정보를 포스시스템으로 전송하는 방식이다.
지연 전송 방식은 제1에이전트 또는 제2에이전트가 실행 취소를 긴급하게 요청할 경우, 중앙통제서버(100)가 DML 쿼리 정보를 전송하지 않고 삭제하는 방식이다. 이는 담당자의 실수나 오판에 대비하여 취소할 수 있는 시간 간격을 주어 DB 정확도를 향상시킬 수 있다.
이후, 중앙통제서버(100)는 DML 쿼리 정보의 실행 결과 또는 롤백에 필요한 롤백 정보를 저장한다(S26). 즉, 중앙통제서버(100)의 저장부(120)는 DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 다음의 사항들을 선택적으로 혹은 전부 저장할 수 있다.
*예를 들어, 저장부(120)는 DML 쿼리 정보, DML 쿼리 정보의 실행 결과 정보, 롤백 정보, DML 생성 정보 중 어느 하나 이상을 저장할 수 있다. 이는 특정 포스시스템의 DB상에 DML정보가 반영되었어도, 여러 사정에 따라 롤백이 필요한 경우에 중앙통제서버(100)는 해당 포스시스템의 DB에 롤백 관련 명령어를 보내서 롤백을 수행할 수 있다.
롤백이 필요한 경우란, 해당 포스시스템의 DB 관련하여 특정인(가맹점 점주 또는 상위 담당자, 또는 담당자)의 요청, 혹은 S23 단계에의 결재문서 취소/반송 등에 대응한다.
한편 S26에서 DML 쿼리 정보가 실행되면, 중앙통제서버(100)는 해당 포스시스템의 소유자가 변경 사항을 확인할 수 있는 리포팅 문서를 생성하여 이를 포스시스템 또는 해당 포스시스템의 소유자의 이메일 주소로 전송할 수 있다. 이는 선택적 과정이다.
이후 포스시스템이 롤백을 요청하면, 중앙통제서버(100)는 대응하는 DML 쿼리 정보의 수행을 롤백시키는 작업을 수행한다.
도 8의 과정을 정리하면, 중앙통제서버(100)는 DML 생성 정보를 검증하고 이에 기반하여 DML 쿼리 정보를 생성하며, DML 쿼리 정보에 따른 쿼리문 실행 후 롤백 가능한 정보를 생성하여 일정기간 저장하는 프로세스를 수행할 수 있다.
중앙통제서버(100)는 포스시스템의 DB에 대한 접근을 지역별, 가맹점별, 혹은 전체로 나누어 권한을 제어할 수 있다. 그리고 에이전트의 권한에 따라 접근 가능한 포스시스템의 범위를 제한할 수 있다.
예를 들어, 중앙통제서버(100)는 가장 낮은 권한의 에이전트에 대해서는 오직 하나의 포스시스템의 데이터베이스에 대한 DML 생성 정보만을 허락하고, 또한 일정한 시간 범위 내에서 DML 생성 정보의 송신 횟수를 제한할 수 있다. 물론, 보다 높은 권한의 에이전트에 대해서는 위의 제한을 단계적으로 해제할 수 있다. 일 실시예로 중앙통제서버(100)는 다음의 권한-접근허용정보를 유지할 수 있다.
[표 2] 권한-접근허용정보(시스템-DML)
권한 레벨 동시 수행 포스시스템 수 DML 종류 1회 시간 범위
Low 1 Select 1일
Low-middle 1 Select/Insert/Delete/Update 6시간
Middle 가맹점 그룹 Select/Insert/Delete/Update 1시간
High-middle 가맹점 그룹 Select/Insert/Delete/Update 없음
High 전체 시스템 Select/Insert/Delete/Update 없음
표 2의 권한-접근허용정보를 참조하면, 중앙통제서버(100)는 "Low-middle"인 권한의 에이전트는 하나의 포스시스템에 대해 "Select/Insert/Delete/Update"를 수행할 수 있으며, 한번 DML 생성 정보를 송신하여 쿼리 수행이 완료한 후, 6시간 전에는 시스템에 접속할 수 없거나 혹은 DML 생성 정보를 생성할 수 없도록 제한한다. 또는, 6시간 이내에는 오직 "SELECT" 만을 수행하도록 제한할 수 있다. 마찬가지로, "High-middle"은 특정 가맹점 그룹의 포스시스템들에 대해 "Select/Insert/Delete/Update"를 수행할 수 있다. 이때 특정 가맹점 그룹의 일 실시예는 동일한 가맹점주가 운영하는 가맹점들의 둘 이상의 포스시스템들을 그룹으로 묶은 실시예를 포함한다.
또는 특정 가맹점 그룹의 일 실시예는 특정 지역이나 특정 유형의 가맹점(예를 들어 미니슈퍼, 편의점, 대형마트)에 배치된 포스시스템들을 그룹으로 묶은 실시예를 포함한다.
또한, 특정 가맹점 그룹의 일 실시예는 포스시스템이 특정한 버전(version)으로 나뉘어지는 경우, 동일한 버전의 포스시스템들을 그룹으로 묶은 실시예를 포함한다.
이외에도 포스시스템의 다양한 특성에 따라 중앙통제서버(100)는 그룹으로 포스시스템들을 제어할 수 있다.
전술한 권한 레벨은 각 담당자의 인사 정보 혹은 담당 지역/가맹점에 따라 설정될 수 있다. 또한 권한 레벨에는 에이전트가 DML 생성 정보를 생성할 수 있는 포스시스템의 식별 정보가 별도로 부가될 수 있다. 예를 들어, " Low"인 경우, 해당 담당자는 "MART001~MART100" 이라는 포스시스템의 식별 정보의 범위가 부가될 수 있다. 이 경우, 해당 담당자는 "MART001" 내지 "MART100"의 포스시스템에 대해서만 DML 생성 정보를 생성할 수 있다.
표 2의 권한-접근허용정보는 중앙통제서버(100)가 DML 생성 정보를 검증하거나, 혹은 다른 에이전트가 DML 생성 정보를 검증하는 과정에서 미리 적용되어 권한 외 작업에 대한 불필요간 검증 절차가 자동으로 이루어질 수 있도록 한다.
표 2와 아래 표 3 및 도 8의 실시예를 적용하며, 중앙통제서버(100)의 제어부(150)는 에이전트의 권한에 따라 수행 가능한 쿼리문, 쿼리문을 수행할 데이터베이스 및 테이블 정보를 이용하여 DML 생성 정보를 검증할 수 있다.
수행 가능한 쿼리문을 이용하여 DML 생성 정보를 검증하는 실시예는 Select/Update/Delete/Insert 등 해당 에이전트의 권한에서 수행 가능한 쿼리문인지 여부를 검증하는 것을 의미한다. 표 2의 권한레벨 별 DML 종류에 해당한다.
쿼리문을 수행할 데이터베이스 및 테이블 정보를 이용하여 DML 생성 정보를 검증하는 실시예는 아래 표 3의 특정 데이터베이스 및 테이블에 해당 에이전트의 권한으로 접근가능한지 여부를 검증하는 것을 의미한다. 표 3에서 권한 레벨 별로 접근 가능한 DB와 Table이 상이하게 설정되어 있다. 따라서, 제어부(150)는 에이전트의 권한 레벨을 확인하고, 해당 에이전트가 접근 가능한 DB/테이블을 대상으로 DML 생성 정보를 전송하였는지를 검증할 수 있다. 물론, 표 3의 각 권한 레벨에는 추가적으로 Select/Update/Delete/Insert 등의 수행 가능한 쿼리도 별도로 설정될 수 있다.
[표 3] 권한-접근허용정보(DB/Table)
권한 레벨 DB명 Table명
Low 결제정보_DB 결제카드_Table
Low-middle 결제정보_DB, 재고정보_DB 결제카드_Table, 재고수량_Table
Middle 결제정보_DB, 재고정보_DB,발주정보_DB 결제카드_Table,
재고수량_Table,
주문정보_Table
High-middleHigh 결제정보_DB, 재고정보_DB,
발주정보_DB, 보안정보_DB
결제카드_Table,
재고수량_Table,
주문정보_Table,
로그인기록_Table
도 9는 본 발명의 일 실시예에 의한 중앙통제서버와 포스시스템의 데이터베이스의 상호 작용을 보여주는 도면이다. 중앙통제서버(100)는 포스시스템의 데이터베이스(500)에게 DML 쿼리 정보를 전송한다(S31). 포스시스템의 데이터베이스(500)는 쿼리 수행 후 결과를 생성한다(S32). Insert/Delete/Update 등을 수행한 결과 또는 Search를 수행한 결과는 각 쿼리문에 따라 달라질 수 있다.
포스시스템의 데이터베이스(500)는 결과를 중앙통제서버(100)에게 전송한다. 중앙통제서버(100)는 결과를 통보 대상자에게 전송한다(S34).
여기서 통보 대상자는 DML 수행을 요청했던 에이전트, 이를 검증했던 또다른 에이전트, 그리고 DML 쿼리 정보를 수행한 포스시스템의 데이터베이스를 관리하는 가맹점주 등이 될 수 있다. 중앙통제서버(100)는 이메일을 통해 통지할 수 있고, 또는 중앙통제서버(100)의 로그인 시 해당 에이전트들에게 팝업의 방식 등으로 결과를 제공할 수 있다.
또는 가맹점주의 경우 포스시스템을 사용할 때에 포스시스템이 DML 쿼리가 수행되었으며 수행된 결과가 팝업 등으로 표시될 수 있다. 이는 가맹점주에게 해당 포스시스템에서 어떤 작업이 이루어졌는지를 통보하기 위함이며, 이때 통보하는 과정에서 앞서 DML 생성 정보 중 메타 정보가 포스시스템 상에 표시될 수 있다. 예를 들어 도 7의 "상세정보1"과 같은 내용이 포스시스템 상에 표시될 수 있다.
이때, 가맹점주가 해당 DML 쿼리를 수행한 것에 대해 롤백을 요청할 경우, 중앙통제서버(100)는 이를 처리할 수 있다.
또한, 중앙통제서버(100)는 DML 쿼리 정보를 수행한 포스시스템이 쿼리문을 실행한 결과를 확인했다는 응답을 수신하면 해당 DML 쿼리 정보에 대응하는 롤백 정보를 삭제할 수 있다.
도 9를 정리하면, DML 쿼리 정보의 중요도에 따라 포스시스템을 관리하는 최고관리자에게 해당 정보 작업 내용이 이메일로 송신될 수 있다.  최고관리자는 다수의 포스시스템에 대한 DB 접근을 전사적으로 확인하는 담당자를 일 실시예로 한다. 앞서 표 2에서 "High" 레벨의 권한을 가진 담당자에 해당한다.
그리고 DML 쿼리 정보가 생성되기 전까지는 중앙통제서버(100)와 상호작용하거나 혹은 권한 서버(400)와 상호작용 하거나 혹은 전술한 서버에 일체로 구성되는 회사 내 전자 결재 시스템(혹은 IT포탈)의 결재문서에 기반하여 검증이 이루어지도록 하여 DB 제어의 안정성을 높일 수 있다. 포스시스템 DB 최고관리자는 에이전트로 로그인하는 담당자들의 DB DML작업을 일정 기간마다 확인할 수 있다. 이를 위해 중앙통제서버(100)는 DML 쿼리 정보의 수행 결과를 히스토리로 저장할 수 있다.
한편, 중앙통제서버(100)의 제어부(150)는 에이전트가 전송한 DML 생성 정보 또는 이에 대응하는 DML 쿼리 정보를 중앙통제서버(100)의 저장부(120)에 누적 저장할 수 있다. 그리고, 중앙통제서버(100)의 제어부(150)는 저장부(120)에 저장된 다수의 DML 생성 정보 또는 DML 쿼리 정보를 검증하여 에이전트의 권한을 변경할 수 있다.
예를 들어, 제1에이전트(또는 제1에이전트에 로그인한 담당자)의 권한 레벨이 "Low" 이지만, 제1에이전트가 지속적으로 DML 생성 정보를 전송하였고 이에 대한 처리가 모두 성공적이었으며, 포스시스템으로부터 별도의 롤백 요청이 전혀 발생하지 않았다면, 중앙통제서버(100)의 제어부(150)는 해당 에이전트의 권한 레벨을 업그레이드 할 수 있다. 일 실시예로, 중앙통제서버(100)의 제어부(150)는 제1에이전트의 권한 레벨을 "LOW"에서 "Low-middle"로 업그레이드 할 수 있다(표 2 참조).
반대로, 제1에이전트(또는 제1에이전트에 로그인한 담당자)의 권한 레벨이 "Middle" 이지만, 제1에이전트가 생성한 DML 생성 정보의 수행 결과가 실패했거나 혹은 포스시스템으로부터 별도의 롤백 요청이 발생했다면, 중앙통제서버(100)의 제어부(150)는 해당 에이전트의 권한 레벨을 다운그레이드 할 수 있다. 일 실시예로, 중앙통제서버(100)의 제어부(150)는 제1에이전트의 권한 레벨을 "Middle"에서 "Low-middle"로 다운그레이드 할 수 있다(표 2 참조).
도 10은 본 발명의 일 실시예에 의한 DML 쿼리 정보의 수행 후 롤백을 수행하는 과정을 보여준다.
중앙통제서버(100)의 통신부(110)는 포스시스템(500)에게 DML 쿼리 정보의 실행 결과 정보 및 DML 생성 정보를 전송한다(S36). 포스시스템(500)은 수신한 정보를 인터페이스 상에 표시하고 포스시스템의 관리자(예를 들어 가맹점 점주 혹은 업무담당자)가 이를 확인한 후 롤백을 요청하는 정보를 입력한다(S37). 이때 롤백 사유가 입력될 수 있다. 그리고 포스시스템(500)은 중앙통제서버(100)에게 롤백을 요청한다(S38).
중앙통제서버(100)의 통신부(110)가 포스시스템(500)으로부터 롤백을 요청받으면 중앙통제서버(100)의 제어부(150)는 저장된 롤백 정보를 이용하여 DML 쿼리 정보의 실행을 롤백시키는 롤백 프로세스를 수행한다(S39). 이때, 롤백이 에이전트의 오류 또는 잘못으로 발생한 경우, 해당 에이전트의 권한 레벨을 다운그레이드 하거나 혹은 롤백이 발생했음을 통지하는 메시지를 권한 서버 또는 제2에이전트에게 전송할 수 있다.
전술한 실시예들을 적용할 경우 다수의 가맹점들로 구성된 유통업체에 대량으로 구축된 포스시스템의 데이터베이스에 대한 검색이나 레코드 제어가 안정적으로 수행될 수 있다. 특히, 중앙통제서버(100)는 권한 서버(400)와의 상호작용 및 담당자의 권한 별 데이터베이스 접근 범위를 제한하여 DML 쿼리 정보가 담당자의 권한에 적합하게 수행될 수 있도록 한다.
즉, 에이전트가 직접 포스시스템의 데이터베이스에 접근하지 않으면서도 중앙통제서버(100)에 의해 데이터베이스 작업이 수행되므로, 고객의 신용정보나 가맹점의 물품 정보, 판매 정보 등 주요한 정보가 저장된 포스시스템의 DB 정보를 보호할 수 있다. 특히, 중앙통제서버(100)와 포스시스템의 데이터베이스는 VPN 혹은 방화벽을 통해 보안성이 유지되는 통신 프로토콜로 연결되어 포스시스템의 해킹을 방지할 수 있다. 이는 포스시스템이 중앙통제서버(100) 외의 다른 외부의 통신상의 접근을 차단할 수 있도록 하여 불특정한 장치들이 포스시스템에 접근하는 것을 방지할 수 있다.
또한, 중앙통제서버(100)는 주기적으로 포스시스템과의 통신 연결 상태를 변경할 수 있다. 포트 번호를 변경하는 방식을 통해 보안성을 높일 수 있다.
뿐만 아니라, 에이전트가 중앙통제서버(100)에게 DML 생성 정보를 송신하는 과정에서 에이전트의 권한이 검증되며, 또한 중앙통제서버(100)는 DML 생성 정보를 검증하고, 상위 담당자의 에이전트에게 해당 DML 생성 정보의 검증을 요청할 수 있으며, 이에 기반하여 시스템의 보안성을 향상시킬 수 있다. 또한 잘못된 데이터베이스 조작을 방지함으로써, 중요한 정보가 삭제되거나 소실되는 문제 또는 변경되는 문제를 해결할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 전술된 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변경 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
따라서, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위 및 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
- 부호의 설명-
100: 중앙통제서버 300a~300k: 에이전트
400: 권한 서버 500: 포스시스템 데이터베이스

Claims (15)

  1. 제1에이전트, 제2에이전트 및 포스시스템의 데이터베이스와 통신하는 통신부;
    상기 제1에이전트가 전송한 DML 생성 정보를 검증한 후 상기 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 제어부; 및
    상기 통신부가 상기 DML 쿼리 정보를 상기 포스시스템의 데이터베이스에 전송하며, 상기 전송 전 또는 전송 후의 시점에 상기 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 상기 DML 생성 정보를 저장하는 저장부를 포함하는, 중앙통제서버.
  2. 제1항이 있어서,
    상기 제1에이전트가 로그인을 수행하면 상기 통신부는 상기 제1에이전트가 로그인하는 과정에서 제공한 정보를 권한 서버에게 전송하고, 상기 권한 서버로부터 상기 제1에이전트에 대한 검증 결과를 수신하며,
    상기 제어부는 상기 로그인한 제1에이전트의 권한에 따라 상기 DML 생성 정보를 검증하는, 중앙통제서버.
  3. 제2항이 있어서,
    상기 제어부는 상기 제1에이전트의 권한에 따라 수행 가능한 쿼리문, 상기 쿼리문을 수행할 데이터베이스 및 테이블 정보를 이용하여 상기 DML 생성 정보를 검증하는, 중앙통제서버.
  4. 제2항이 있어서,
    상기 제어부는 상기 제1에이전트가 전송한 DML 생성 정보 또는 이에 대응하는 DML 쿼리 정보를 상기 저장부에 누적 저장한 후,
    상기 저장부에 저장된 다수의 DML 생성 정보 또는 DML 쿼리 정보를 검증하여 상기 제1에이전트의 권한을 변경하는, 중앙통제서버.
  5. 제1항이 있어서,
    상기 제어부는 상기 제1에이전트가 전송한 DML 생성 정보의 검증을 위해 상기 제2에이전트를 선택하며,
    상기 통신부는 상기 제2에이전트에게 상기 DML 생성 정보를 전송한 후, 상기 제2에이전트로부터 상기 DML 생성 정보에 대한 검증 결과를 수신하는, 중앙통제서버.
  6. 제1항이 있어서,
    상기 통신부는 상기 포스시스템에게 상기 DML 쿼리 정보의 실행 결과 정보 및 상기 DML 생성 정보를 전송하며,
    상기 통신부가 상기 포스시스템으로부터 롤백을 요청받으면 상기 제어부는 상기 롤백 정보를 이용하여 상기 DML 쿼리 정보의 실행을 롤백시키는 롤백 프로세스를 수행하는, 중앙통제서버.
  7. 제1항이 있어서,
    상기 DML 생성 정보는 쿼리문, 상기 쿼리문을 수행할 데이터베이스 정보 및 테이블 정보, 상기 쿼리문에 대한 설명을 포함하는 메타 정보를 포함하며,
    상기 제어부는 상기 메타 정보에 포함된 단어와 상기 데이터베이스 정보, 상기 테이블 정보를 상기 쿼리문을 비교하는, 중앙통제서버.
  8. 중앙통제서버와 통신하는 통신부;
    인사 정보를 저장하는 인사 정보 저장부; 및
    상기 통신부가 상기 중앙통제서버로부터 제1에이전트가 로그인하는 과정에서 제공한 정보를 수신하면 상기 수신한 정보와 상기 인사 정보 저장부에 저장된 정보를 비교하여 검증 결과를 생성하는 제어부를 포함하는, 권한 서버.
  9. 중앙통제서버의 통신부가 제1에이전트로부터 DML 생성 정보를 수신하는 단계;
    상기 중앙통제서버의 제어부가 상기 수신한 DML 생성 정보를 검증한 후 상기 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 단계;
    상기 통신부가 상기 DML 쿼리 정보를 상기 포스시스템의 데이터베이스에 전송하는 단계; 및
    상기 중앙통제서버의 저장부가 상기 DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 상기 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 상기 DML 생성 정보를 저장하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
  10. 제9항이 있어서,
    상기 통신부가 상기 제1에이전트와 로그인을 수행하기 위해 상기 제1에이전트가 로그인하는 과정에서 제공한 정보를 권한 서버에게 전송하는 단계;
    상기 통신부가 상기 권한 서버로부터 상기 제1에이전트에 대한 검증 결과를 수신하는 단계; 및
    상기 제어부가 상기 로그인한 제1에이전트의 권한에 따라 상기 DML 생성 정보를 검증하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
  11. 제10항이 있어서,
    상기 제어부가 상기 제1에이전트의 권한에 따라 수행 가능한 쿼리문, 상기 쿼리문을 수행할 데이터베이스 및 테이블 정보를 이용하여 상기 DML 생성 정보를 검증하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
  12. 제10항이 있어서,
    상기 제어부는 상기 제1에이전트가 전송한 DML 생성 정보 또는 이에 대응하는 DML 쿼리 정보를 상기 저장부에 누적 저장하는 단계; 및
    상기 제어부가 상기 저장부에 저장된 다수의 DML 생성 정보 또는 DML 쿼리 정보를 검증하여 상기 제1에이전트의 권한을 변경하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
  13. 제9항이 있어서,
    상기 제어부가 상기 제1에이전트가 전송한 DML 생성 정보의 검증을 위해 상기 제2에이전트를 선택하는 단계;
    상기 통신부가 상기 제2에이전트에게 상기 DML 생성 정보를 전송하는 단계;
    상기 통신부가 상기 제2에이전트로부터 상기 DML 생성 정보에 대한 검증 결과를 수신하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
  14. 제9항이 있어서,
    상기 통신부가 상기 포스시스템에게 상기 DML 쿼리 정보의 실행 결과 정보 및 상기 DML 생성 정보를 전송하는 단계;
    상기 통신부가 상기 포스시스템으로부터 롤백을 요청받는 단계; 및
    상기 제어부가 상기 롤백 정보를 이용하여 상기 DML 쿼리 정보의 실행을 롤백시키는 롤백 프로세스를 수행하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
  15. 제9항이 있어서,
    상기 DML 생성 정보는 쿼리문, 상기 쿼리문을 수행할 데이터베이스 정보 및 테이블 정보, 상기 쿼리문에 대한 설명을 포함하는 메타 정보를 포함하며,
    상기 제어부가 상기 메타 정보에 포함된 단어와 상기 데이터베이스 정보, 상기 테이블 정보를 상기 쿼리문을 비교하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
PCT/KR2021/005777 2020-05-18 2021-05-10 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버 WO2021235752A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0058959 2020-05-18
KR1020200058959A KR102185555B1 (ko) 2020-05-18 2020-05-18 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버

Publications (1)

Publication Number Publication Date
WO2021235752A1 true WO2021235752A1 (ko) 2021-11-25

Family

ID=73791580

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/005777 WO2021235752A1 (ko) 2020-05-18 2021-05-10 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버

Country Status (2)

Country Link
KR (1) KR102185555B1 (ko)
WO (1) WO2021235752A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102185555B1 (ko) * 2020-05-18 2020-12-02 주식회사 지에스리테일 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236309A (ja) * 1992-01-24 1994-08-23 Nec Corp 疎結合マルチプロセッサシステムにおける店舗識別子利用による遅延型データベース更新方式
KR20040052569A (ko) * 2004-04-03 2004-06-23 주식회사 피앤피시큐어 데이터베이스 감시 및 보안 방법 및 장치
KR20050008486A (ko) * 2003-07-15 2005-01-21 김용규 데이터베이스 접근 및 권한 관리 강화 방법
KR20080015293A (ko) * 2006-08-14 2008-02-19 (주)모니터랩 프로파일링 기반 데이터베이스 보안 시스템 및 방법
KR101460554B1 (ko) * 2013-06-24 2014-11-11 청주대학교 산학협력단 닷넷리모팅 기술을 적용한 클라우드db 동기화방법 및 클라우드기반 pos시스템
KR102185555B1 (ko) * 2020-05-18 2020-12-02 주식회사 지에스리테일 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236309A (ja) * 1992-01-24 1994-08-23 Nec Corp 疎結合マルチプロセッサシステムにおける店舗識別子利用による遅延型データベース更新方式
KR20050008486A (ko) * 2003-07-15 2005-01-21 김용규 데이터베이스 접근 및 권한 관리 강화 방법
KR20040052569A (ko) * 2004-04-03 2004-06-23 주식회사 피앤피시큐어 데이터베이스 감시 및 보안 방법 및 장치
KR20080015293A (ko) * 2006-08-14 2008-02-19 (주)모니터랩 프로파일링 기반 데이터베이스 보안 시스템 및 방법
KR101460554B1 (ko) * 2013-06-24 2014-11-11 청주대학교 산학협력단 닷넷리모팅 기술을 적용한 클라우드db 동기화방법 및 클라우드기반 pos시스템
KR102185555B1 (ko) * 2020-05-18 2020-12-02 주식회사 지에스리테일 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버

Also Published As

Publication number Publication date
KR102185555B1 (ko) 2020-12-02

Similar Documents

Publication Publication Date Title
WO2017022917A1 (ko) 블록체인을 기반으로 하는 공인인증서 발급시스템
KR100950125B1 (ko) 트레이서빌리티 시스템, 트레이서빌리티 방법, 및트레이서빌리티 프로그램을 기록한 컴퓨터로 판독 가능한기록 매체
CN100428690C (zh) 用于确定对it资源的访问权的方法
JP3415456B2 (ja) ネットワークシステム及びコマンド使用権限制御方法ならびに制御プログラムを格納した記憶媒体
WO2017104899A1 (ko) 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
WO2013062352A1 (ko) 클라우드 컴퓨팅 서비스에서의 접근제어 방법 및 시스템
JP5789390B2 (ja) 業務情報防護装置および業務情報防護方法、並びにプログラム
US20040230537A1 (en) Vicarious execution support system, vicarious execution support method and program for vicarious execution support
WO2020189846A1 (ko) 허가형 블록체인 시스템 상에서의 프라이버시 보존형 데이터 분석 방법
WO2021235752A1 (ko) 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버
WO2020189800A1 (ko) 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
WO2020209664A2 (ko) 디지털 컨텐츠의 이용 권리 증서를 유통시키는 방법, 및 상기 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램
WO2020022700A1 (ko) 디지털 키를 처리 및 인증하는 보안 요소 및 그 동작 방법
WO2020141782A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
CN102693373B (zh) 业务信息防护装置
WO2020130331A1 (ko) 블록체인에서 노드들간 블록 및 전자 문서를 공유 및 검증하는 방법
WO2020141783A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
JP2019074994A (ja) 情報処理装置、情報処理システム及びプログラム
JP2015195042A (ja) 業務情報防護装置および業務情報防護方法、並びにプログラム
WO2020189801A1 (ko) 서명 가능 컨트랙트를 이용하여 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
WO2022260229A1 (ko) 회원 정보 관리 방법 및 그 장치
JPH0887342A (ja) 情報処理装置
WO2018212456A1 (ko) 데이터 분산형 통합 관리시스템
WO2018021864A1 (ko) 클라우드 기반의 서비스 제공 방법
WO2019098428A1 (ko) 사용자 별 확장 가능 관리 테이블을 이용한 erp 펑션 제공 방법 및 이를 수행하는 erp 펑션 제공 시스템

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: 21808845

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: 21808845

Country of ref document: EP

Kind code of ref document: A1