KR102379098B1 - Database login information management system using virtual driver and control method thereof - Google Patents

Database login information management system using virtual driver and control method thereof Download PDF

Info

Publication number
KR102379098B1
KR102379098B1 KR1020200125540A KR20200125540A KR102379098B1 KR 102379098 B1 KR102379098 B1 KR 102379098B1 KR 1020200125540 A KR1020200125540 A KR 1020200125540A KR 20200125540 A KR20200125540 A KR 20200125540A KR 102379098 B1 KR102379098 B1 KR 102379098B1
Authority
KR
South Korea
Prior art keywords
database
driver
request signal
identifier
login information
Prior art date
Application number
KR1020200125540A
Other languages
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 주식회사 유니키
Priority to KR1020200125540A priority Critical patent/KR102379098B1/en
Application granted granted Critical
Publication of KR102379098B1 publication Critical patent/KR102379098B1/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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • 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/31User authentication

Abstract

The present invention relates to a database login information management system using a virtual driver to reduce inconvenience of having to periodically renew a password of a person in charge and a control method thereof. According to the present invention, the database login information management system comprises: a driver manager transmitting a database connection execution request signal to a database driver corresponding to an identifier among at least one database driver when the database connection request signal is received and transferring database connection information included in a database connection execution result signal received from the corresponding database driver to a requesting terminal; a database client driver receiving and transmitting the database connection information by communicating with a corresponding database with the login information when the identifier is the same as the identifier included in the database connection execution request signal received from the driver manager; a virtual driver acquiring additional login information by communicating with the database login information management unit when a primary identifier among the identifiers included in the database connection execution request signal received from the driver manager corresponds to itself and transmitting the acquired additional login information to the driver manager; and a login information management unit managing the additional login information and providing the additional login information corresponding to the request of the virtual driver. The database driver is at least one of the database client driver and the virtual driver.

Description

가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템 및 그 제어방법{DATABASE LOGIN INFORMATION MANAGEMENT SYSTEM USING VIRTUAL DRIVER AND CONTROL METHOD THEREOF}DATABASE LOGIN INFORMATION MANAGEMENT SYSTEM USING VIRTUAL DRIVER AND CONTROL METHOD THEREOF

본 발명은 데이터베이스 로그인 정보 관리 시스템 및 그 제어방법에 관한 것으로, 보다 상세하게는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템 및 그 제어방법에 관한 것이다.The present invention relates to a database login information management system and a control method thereof, and more particularly, to a database login information management system through a virtual driver and a control method thereof.

데이터베이스는 기 정의된 구조에 맞춰 데이터를 관리하는 것으로서, 예를 들어 소정의 데이터를 필드별로 저장할 수 있는데, 저장된 데이터의 검색이 용이하여 널리 이용되고 있다.The database manages data according to a predefined structure. For example, predetermined data can be stored for each field, and the stored data can be easily retrieved and thus widely used.

이처럼 데이터베이스에는 검색 및 분류가 용이하여 방대한 양의 데이터가 저장될 수 있는데, 그만큼 보안상 주의가 필요하다.As such, a large amount of data can be stored in the database because it is easy to search and categorize, so caution is required for security.

즉, 권한 없는 자로부터의 데이터베이스에 접근을 차단해야 하고, 또한 권한 없는 자들이 데이터베이스 접근 권한을 획득하는 것 역시 막아야 하는 것이다.In other words, it is necessary to block access to the database from unauthorized persons, and also to prevent unauthorized persons from acquiring database access rights.

이를 위해 사용자들에게 패스워드 기반으로 데이터베이스에 대한 접근 권한을 부여하고, 또한 해당 패스워드에 대한 유효 기간을 설정하여 주기적으로 교체하도록 하는 방식이 널리 이용되고 있다.For this purpose, a method of granting users access to the database based on a password, and setting an effective period for the password to periodically replace it is widely used.

그런데 데이터베이스의 접근을 위해 필요한 패스워드를 각 사용자들마다 주기적으로 교체하도록 하는 것은 통제가 쉽지 않다는 문제점이 있다.However, there is a problem in that it is not easy to control to periodically change the password required for database access for each user.

즉, 각 사용자들에게 주기적 패스워드 교체를 지시하더라도, 다양한 이유로 패스워드 갱신이 이루어지지 않는 경우가 빈번히 발생한다.That is, even if each user is instructed to periodically replace the password, the password update is not performed frequently for various reasons.

또한 그렇다 보니 오히려 특정 관리자가 각 사용자들의 패스워드를 교체하여 알려주는 경우도 발생하고 있다.In addition, there are cases in which a specific administrator changes and informs each user's password.

데이터베이스 접근을 위한 패스워드가 주기적으로 변경되지 않는다면 외부로부터의 해킹 위험이 증가할 수 있고, 또한 패스워드는 데이터베이스 접근 권한이 있는 사용자만 알고 있어야 하는데 상술한 바와 같이 특정 관리자가 패스워드 갱신 작업을 하는 경우, 패스워드 유출의 가능성이 높아지게 된다.If the password for database access is not changed periodically, the risk of hacking from outside may increase, and only users with database access rights should know the password. The possibility of leakage increases.

반면에 보안 강화를 위해서 데이터베이스상에 패스워드 교체 기간을 강제로 설정한 경우에는 매번 패스워드를 교체해야하는 사용자들의 불편이 증가하고, 또한 잦은 패스워드 교체로 인해 막상 데이터베이스에 접근하는 시점에 패스워드가 기억이 나지 않아 필요한 데이터를 열람하지 못하는 경우가 발생될 수 있다.On the other hand, if a password replacement period is forcibly set on the database to enhance security, users who have to change the password every time are inconvenienced. There may be cases in which necessary data cannot be read.

공개특허 제10-2002-0032892호Patent Publication No. 10-2002-0032892

본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 각 사용자나 관리자가 패스워드 갱신을 직접 하지 않더라도 주기적으로 패스워드 갱신이 이루어질 수 있도록 하는 시스템 및 그 제어방법을 제공하는 것이다. The present invention has been devised to solve the above conventional problems, and an object of the present invention is to provide a system and a control method therefor so that the password can be periodically updated even if each user or administrator does not directly update the password.

상기한 목적을 달성하기 위해 본 발명에 따른 데이터베이스 로그인 정보 관리 시스템은, 외부로부터 식별자 및 로그인 정보를 포함하는 데이터베이스 연결 요청 신호가 수신되면 적어도 하나의 데이터베이스 드라이버 중 상기 식별자에 대응되는 데이터베이스 드라이버에 상기 로그인 정보를 포함하는 데이터베이스 연결 수행 요청 신호를 전송하고, 해당 데이터베이스 드라이버로부터 수신되는 데이터베이스 연결 수행 결과 신호에 포함되는 데이터베이스 연결 정보를 상기 데이터베이스 연결 요청 신호를 전송한 곳에 전달하는 드라이버 매니저와; 상기 드라이버 매니저로부터 수신되는 데이터베이스 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 자신에 해당하는 경우, 해당 데이터베이스 연결 수행 요청 신호에 포함된 로그인 정보를 이용하여 자신에 대응되는 데이터베이스와 통신하여 데이터베이스 연결 정보를 수신하고, 수신된 데이터베이스 연결 정보를 포함하는 데이터베이스 연결 수행 결과 신호를 상기 드라이버 매니저에 전송하는 DB 클라이언트 드라이버와; 상기 드라이버 매니저로부터 수신되는 데이터베이스 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 자신에 해당하는 경우, 해당 데이터베이스 연결 수행 요청 신호에 포함된 2차 식별자를 추출한 후, 로그인 정보 관리부와 통신하여 해당 2차 식별자와 상기 데이터베이스 연결 수행 요청 신호에 포함된 로그인 정보 중 적어도 어느 하나에 대응되는 로그인 추가 정보를 획득하고, 그 획득한 로그인 추가 정보를 로그인 정보에 포함하고 상기 2차 식별자를 1차 식별자로써 포함하는 데이터베이스 연결 요청 신호를 생성하여 상기 드라이버 매니저에 전송하는 가상 드라이버와; 상기 2차 식별자와 상기 로그인 정보 중 적어도 어느 하나에 매칭된 로그인 추가 정보를 관리하고, 상기 가상 드라이버의 요청에 따라 대응되는 로그인 추가 정보를 제공하는 로그인 정보 관리부를 포함하고, 상기 데이터베이스 드라이버는 상기 DB 클라이언트 드라이버와 상기 가상 드라이버 중 적어도 어느 하나인 것을 특징으로 한다.In order to achieve the above object, in the database login information management system according to the present invention, when a database connection request signal including an identifier and login information is received from the outside, the login is performed to a database driver corresponding to the identifier among at least one database driver. a driver manager for transmitting a database connection execution request signal including information and transferring database connection information included in a database connection execution result signal received from a corresponding database driver to a place to which the database connection request signal is transmitted; When the primary identifier among the identifiers included in the database connection execution request signal received from the driver manager corresponds to the user, it communicates with the corresponding database using the login information included in the corresponding database connection execution request signal to connect to the database a DB client driver for receiving information and transmitting a database connection execution result signal including the received database connection information to the driver manager; If the primary identifier among the identifiers included in the database connection execution request signal received from the driver manager corresponds to itself, the secondary identifier included in the corresponding database connection execution request signal is extracted and communicated with the login information management unit to communicate with the corresponding 2 Obtain login additional information corresponding to at least one of the secondary identifier and the login information included in the database connection execution request signal, include the obtained login additional information in the login information, and include the secondary identifier as the primary identifier a virtual driver that generates a database connection request signal and transmits it to the driver manager; and a login information management unit that manages login additional information matching at least one of the secondary identifier and the login information, and provides corresponding login additional information according to a request of the virtual driver, wherein the database driver includes the DB It is characterized in that it is at least one of a client driver and the virtual driver.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 데이터베이스 로그인 정보 관리 시스템의 제어방법은, 드라이버 매니저가 데이터베이스 이용부로부터 식별자 및 로그인 정보를 포함하는 데이터베이스 연결 요청 신호가 수신되면 적어도 하나의 데이터베이스 드라이버 중 상기 식별자에 대응되는 데이터베이스 드라이버에 상기 로그인 정보를 포함하는 데이터베이스 연결 수행 요청 신호를 전송하는 단계와; 가상 드라이버가 상기 드라이버 매니저로부터 수신되는 데이터베이스 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 자신에 해당하는 경우, 해당 데이터베이스 연결 수행 요청 신호에 포함된 2차 식별자를 추출한 후, 로그인 정보 관리부와 통신하여 해당 2차 식별자와 상기 데이터베이스 연결 수행 요청 신호에 포함된 로그인 정보 중 적어도 어느 하나에 대응되는 로그인 추가 정보를 요청하는 단계와; 상기 2차 식별자와 상기 로그인 정보 중 적어도 어느 하나에 매칭된 로그인 추가 정보를 관리하는 로그인 정보 관리부가 상기 가상 드라이버의 요청에 따라 대응되는 로그인 추가 정보를 제공하는 단계와; 상기 가상 드라이버가 상기 로그인 정보 관리부로부터 획득한 로그인 추가 정보를 로그인 정보에 포함하고 상기 2차 식별자를 1차 식별자로써 포함하는 데이터베이스 연결 요청 신호를 생성하여 상기 드라이버 매니저에 전송하는 단계와; 상기 드라이버 매니저가 상기 가상 드라이버로부터 수신되는 데이터베이스 연결 요청 신호에 포함된 1차 식별자에 대응되는 DB 클라이언트 드라이버에 로그인 정보를 포함하는 데이터베이스 연결 수행 요청 신호를 전송하는 단계와; 상기 드라이버 매니저로부터 데이터베이스 연결 수행 요청 신호를 수신한 DB 클라이언트 드라이버가 상기 데이터베이스 연결 수행 요청 신호에 포함된 1차 식별자가 자신에 해당하는 경우, 해당 데이터베이스 연결 수행 요청 신호에 포함된 로그인 정보를 이용하여 자신에 대응되는 데이터베이스와 통신하여 데이터베이스 연결 정보를 수신하고, 수신된 데이터베이스 연결 정보를 포함하는 데이터베이스 연결 수행 결과 신호를 상기 드라이버 매니저에 전송하는 단계와; 상기 드라이버 매니저가 상기 DB 클라이언트 드라이버로부터 수신되는 데이터베이스 연결 수행 결과 신호에 포함되는 데이터베이스 연결 정보를 상기 데이터베이스 연결 요청 신호를 전송한 데이터베이스 이용부에 전달하는 단계를 포함하고, 상기 데이터베이스 드라이버는 상기 DB 클라이언트 드라이버와 상기 가상 드라이버 중 적어도 어느 하나인 것을 특징으로 한다.In addition, in order to achieve the above object, in a method for controlling a database login information management system according to the present invention, when a driver manager receives a database connection request signal including an identifier and login information from a database using unit, at least one of the database drivers transmitting a database connection execution request signal including the login information to a database driver corresponding to the identifier; When the virtual driver corresponds to itself among the identifiers included in the database connection request signal received from the driver manager, the virtual driver extracts the secondary identifier included in the corresponding database connection request signal and communicates with the login information management unit requesting additional login information corresponding to at least one of the secondary identifier and the login information included in the database connection request signal; providing additional login information corresponding to the request of the virtual driver by a login information manager managing additional login information matching at least one of the secondary identifier and the login information; generating, by the virtual driver, a database connection request signal including the login additional information obtained from the login information management unit in login information and the secondary identifier as a primary identifier, and transmitting the generated database connection request signal to the driver manager; transmitting, by the driver manager, a database connection request signal including login information to a DB client driver corresponding to a primary identifier included in a database connection request signal received from the virtual driver; When the DB client driver that has received the database connection execution request signal from the driver manager corresponds to the primary identifier included in the database connection execution request signal, it uses the login information included in the database connection execution request signal. receiving database connection information by communicating with a database corresponding to , and transmitting a database connection execution result signal including the received database connection information to the driver manager; and transferring, by the driver manager, database connection information included in the database connection execution result signal received from the DB client driver, to the database use unit that has transmitted the database connection request signal, wherein the database driver is the DB client driver and at least one of the virtual driver.

이상 설명한 바와 같이 본 발명에 따르면, 데이터베이스 접속을 위해 필요한 소정의 패스워드가 가상 드라이버 및 로그인 정보 관리부에 의해 관리 및 이용됨으로써, 업무 담당자는 비밀번호를 알 수 없으므로 직접 접속 등을 통한 자료 유출이 불가능하게 되고, 업무 담당자가 주기적으로 패스워드를 갱신해야 하는 불편이 줄어든다.As described above, according to the present invention, since a predetermined password required for database access is managed and used by the virtual driver and the login information management unit, the person in charge cannot know the password, so data leakage through direct connection, etc. is impossible. , the inconvenience of having to periodically renew passwords for business personnel is reduced.

또한 데이터베이스 연결의 마지막 단계에서 현재의 패스워드를 획득하여 연결하기 때문에 안정된 서비스를 제공할 수 있다.In addition, stable service can be provided because the current password is obtained and connected at the last stage of database connection.

특히 업무 담당자의 패스워드 변경 실패(오류 입력 또는 미 입력 등)로 인한 서비스 중단의 위험이 사라지고, 업무 담당자에게 패스워드가 제대로 전달되지 않은 경우라도 무리 없이 데이터베이스 이용이 가능해진다.In particular, the risk of service interruption due to the failure of the password change of the person in charge (error input or not input, etc.) disappears, and even if the password is not properly delivered to the person in charge, the database can be used without difficulty.

특히 가상 드라이버 및 로그인 정보 관리부의 추가 구성만으로 다른 구성 요소들의 변경 및 수정이 없더라도 적용이 가능하므로 시스템 확장이 용이해지는 장점이 있다.In particular, there is an advantage of facilitating system expansion because it can be applied even if other components are not changed or modified only by additional configuration of the virtual driver and login information management unit.

특히 업무 소스의 변경(예를 들어 데이터베이스 이용부에 해당하는 소스의 변경)이 불필요하고, 프로그램 내에 흩어져 있는 패스워드들을 찾아볼 필요도 없으며, 컴파일된 라이브러리 내에 있는 패스워드에 대한 변경이 필요 없게 되는 것이다.In particular, it is unnecessary to change the business source (for example, change the source corresponding to the database use part), there is no need to search for passwords scattered in the program, and there is no need to change the password in the compiled library.

도 1은 본 발명의 일 실시예에 따른 데이터베이스 로그인 정보 관리 시스템을 포함하는 전체 시스템의 개략 구성도이고,
도 2는 도 1의 데이터베이스 로그인 정보 관리 시스템(즉, 가상 드라이버 및 로그인 정보 관리부 포함)의 기능 블록도이고,
도 3은 도 2에서 가상 드라이버 및 드라이버 매니저를 제외한 구성만으로 동작하는 상태를 나타낸 도면이고,
도 4는 도 3에서 가상 드라이버 및 로그인 정보 관리부가 포함되어 동작하는 상태를 나타낸 도면이고,
도 5 내지 도 7은 본 발명의 일 실시예에 따른 데이터베이스 로그인 정보 관리 시스템의 전체적인 제어 흐름도이다.
1 is a schematic configuration diagram of an entire system including a database login information management system according to an embodiment of the present invention;
2 is a functional block diagram of the database login information management system of FIG. 1 (that is, including a virtual driver and a login information management unit);
3 is a view showing a state in which only the configuration excluding the virtual driver and the driver manager in FIG. 2 is operated;
4 is a view showing a state in which the virtual driver and the login information management unit are included and operated in FIG. 3;
5 to 7 are overall control flowcharts of a database login information management system according to an embodiment of the present invention.

이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

이하 본 발명에 따른 각 실시예는 본 발명의 이해를 돕기 위한 하나의 예에 불과하고, 본 발명이 이러한 실시예에 한정되는 것은 아니다. 특히 본 발명은 각 실시예에 포함되는 개별 구성, 개별 기능, 또는 개별 단계 중 적어도 어느 하나 이상의 조합으로 구성될 수 있다.Hereinafter, each embodiment according to the present invention is merely an example for helping the understanding of the present invention, and the present invention is not limited to these embodiments. In particular, the present invention may be composed of a combination of at least any one of individual components, individual functions, or individual steps included in each embodiment.

특히, 편의상 청구 범위의 일부 청구항에는 '(a)'와 같은 알파벳을 포함시켰으나, 이러한 알파벳이 각 단계의 순서를 규정하는 것은 아니다.In particular, some claims of the claims include an alphabet such as '(a)' for convenience, but the alphabet does not define the order of each step.

또한 이하 본 발명에 따른 각 실시예에서 언급하는 각 신호는 한 번의 연결 등에 의해 전송되는 하나의 신호를 의미할 수도 있지만, 후술하는 특정 기능 수행을 목적으로 전송되는 일련의 신호 그룹을 의미할 수도 있다. 즉, 각 실시예에서는 소정의 시간 간격을 두고 전송되거나 상대 장치로부터의 응답 신호를 수신한 이후에 전송되는 복수 개의 신호들이 편의상 하나의 신호명으로 표현될 수 있는 것이다.In addition, each signal referred to in each embodiment according to the present invention below may mean one signal transmitted by one connection, etc., but may also mean a series of signal groups transmitted for the purpose of performing a specific function to be described later. . That is, in each embodiment, a plurality of signals transmitted at a predetermined time interval or after receiving a response signal from a counterpart device may be expressed as one signal name for convenience.

본 발명의 일 실시예에 따른 가상 드라이버(140)를 통한 데이터베이스 로그인 정보 관리 시스템(100)을 포함하는 전체 시스템의 개략 구성이 개시되었다.A schematic configuration of the entire system including the database login information management system 100 through the virtual driver 140 according to an embodiment of the present invention has been disclosed.

동 도면 도시된 바와 같이 전체 시스템은 데이터베이스(200) 이용 단말기, 로그인 정보 관리 장치, 데이터베이스(200)를 포함하여 구성될 수 있다.As shown in the figure, the entire system may be configured to include a database 200 using a terminal, a login information management device, and a database 200 .

여기서 데이터베이스(200)는 상술한 바와 같이 소정의 데이터들이 테이블 형태 등으로 구성된 것으로서, 데이터베이스(200)의 구성 그 자체는 공지된 기술에 해당하므로 보다 상세한 설명은 생략한다.Here, the database 200 is configured in the form of a table of predetermined data as described above, and since the configuration of the database 200 itself corresponds to a known technology, a more detailed description will be omitted.

데이터베이스(200) 이용 단말기는 데이터베이스(200)에 저장된 데이터를 이용하는 단말기로서, 예를 들어 데이터베이스(200)에 소정의 데이터를 요청(일 예로 데이터베이스(200) 쿼리를 전송)하고, 그 요청에 따라 데이터베이스(200)로부터 수신되는 데이터를 표시하는 장치일 수 있다.A terminal using the database 200 is a terminal using data stored in the database 200, for example, requests predetermined data to the database 200 (eg, transmits a query to the database 200), and according to the request, a database It may be a device for displaying data received from 200 .

또한 로그인 정보 관리 장치는 데이터베이스(200)에 접속하기 위한 소정의 로그인 정보(일 예로 패스워드)를 관리하고, 데이터베이스(200) 이용 단말기의 요청에 따라 기 저장된 로그인 정보를 제공하는 기능을 수행한다.Also, the login information management apparatus manages predetermined login information (eg, a password) for accessing the database 200 , and performs a function of providing pre-stored login information in response to a request from a terminal using the database 200 .

본 발명에 따른 데이터베이스 로그인 정보 관리 시스템(100)은 이러한 데이터베이스(200) 이용 단말기와 로그인 정보 관리 장치로 이루어질 수 있는데, 도 1에는 비록 데이터베이스(200) 이용 단말기와 로그인 정보 관리 장치가 구분되어 있는 것을 일 예로 하였으나, 이하에서는 하나의 장치로 통합되어 있는 상태라 가정하고 설명하기로 한다.The database login information management system 100 according to the present invention may include a terminal using the database 200 and a login information management device. Although it has been described as an example, it is assumed that the unit is integrated into one device and described below.

본 발명의 일 실시예에 따른 데이터베이스 로그인 정보 관리 시스템(100)의 기능을 블록은 도 2에 도시된 바와 같다.Functional blocks of the database login information management system 100 according to an embodiment of the present invention are shown in FIG. 2 .

동 도면에 도시된 바와 같이 데이터베이스 로그인 정보 관리 시스템(100)은 데이터베이스 이용부(110), 드라이버 매니저(120), DB 클라이언트 드라이버(130), 가상 드라이버(140), 데이터베이스(200), 로그인 정보 관리부(150)를 포함하여 구서될 수 있다.As shown in the figure, the database login information management system 100 includes a database use unit 110 , a driver manager 120 , a DB client driver 130 , a virtual driver 140 , a database 200 , and a login information management unit. (150) may be included.

여기서 데이터베이스 이용부(110)는 데이터베이스(200)에 저장된 데이터를 이용하는 것으로서, 최초로 데이터베이스(200)로의 연결을 요청하거나 또한 데이터베이스(200)가 전송한 데이터를 사용자가 열람할 수 있도록 표시하거나, 그 수신된 데이터를 가공하는 등의 기능을 수행할 수 있다.Here, the database use unit 110 uses the data stored in the database 200, and requests a connection to the database 200 for the first time or displays the data transmitted by the database 200 so that the user can read it, or receives the data. It can perform functions such as processing the data.

예를 들어 데이터베이스 이용부(110)는 사용자가 데이터베이스(200)에 접속하기 위한 인터페이스를 제공하고, 사용자에 의해 입력된 로그인 정보(일 예로, 아이디 및 패스워드)를 포함하는 데이터베이스(200) 연결 요청 신호를 생성하여 전송하는 기능을 수행한다.For example, the database use unit 110 provides an interface for a user to access the database 200, and a database 200 connection request signal including login information (eg, ID and password) input by the user. It creates and transmits a function.

이때 데이터베이스(200) 연결 요청 신호에는 각 데이터베이스(200)를 구분하는 식별자가 포함될 수도 있다.In this case, the database 200 connection request signal may include an identifier for identifying each database 200 .

이러한 데이터베이스(200) 연결 요청 신호에 따라 드라이버 매니저(120)로부터 후술하는 복잡한 과정을 거쳐 데이터베이스(200) 연결 정보가 수신될 수 있는데, 데이터베이스(200) 연결 정보는 예를 들어 특정 데이터베이스(200)에 포함된 데이터를 이용할 수 있도록 하는 포인터(리소스 정보 등)에 해당할 수 있다.According to such a database 200 connection request signal, the database 200 connection information may be received from the driver manager 120 through a complex process to be described later. The database 200 connection information is, for example, to a specific database 200 . It may correspond to a pointer (resource information, etc.) that makes the included data available.

DB 클라이언트 드라이버(130)는 특정 데이터베이스(200)와 매칭된 것으로서, 그 매칭된 데이터베이스(200)와 직접 연결을 수행할 수 있다.The DB client driver 130 is matched with a specific database 200 , and may directly connect to the matched database 200 .

예를 들어 각각의 데이터베이스(200)마다 연결되는 방식이 서로 상이할 수 있는데, 이를 위해 각 데이터베이스(200)에 대응되는 DB 클라이언트 드라이버(130)를 구비하여 연결을 수행하는 것이다.For example, the connection method for each database 200 may be different. For this purpose, the DB client driver 130 corresponding to each database 200 is provided to perform the connection.

일 예로, 제1 DB 클라이언트 드라이버(130)는 제1 데이터베이스(200)에 대응되도록 구성되고, 제2 DB 클라이언트 드라이버(130)는 제2 데이터베이스(200)에 대응되도록 구성된 경우, 제1 데이터베이스(200)에 접속하기 위해서는 제2 DB 클라이언트 드라이버(130)를 이용해서는 안되고 제1 DB 클라이언트 드라이버(130)를 이용해서만 가능한 것이다.For example, when the first DB client driver 130 is configured to correspond to the first database 200 and the second DB client driver 130 is configured to correspond to the second database 200 , the first database 200 ), it is possible not to use the second DB client driver 130 but only by using the first DB client driver 130 .

이러한 DB 클라이언트 드라이버(130)가 수행하는 기능을 구체적으로 설명하면, 드라이버 매니저(120)로부터 수신되는 데이터베이스(200) 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 자신에 해당하는 경우, 해당 데이터베이스(200) 연결 수행 요청 신호에 포함된 로그인 정보를 이용하여 자신에 대응되는 데이터베이스(200)와 통신하면서 데이터베이스(200) 연결 정보를 요청한다.When the function performed by the DB client driver 130 is described in detail, if the primary identifier among the identifiers included in the database 200 connection execution request signal received from the driver manager 120 corresponds to itself, the corresponding database (200) The database 200 connection information is requested while communicating with the database 200 corresponding to the user using the login information included in the connection request signal.

인증 과정 등을 통해 정상 연결이 된 경우 데이터베이스(200)로부터 데이터베이스(200) 연결 정보가 수신되면, DB 클라이언트 드라이버(130)는 그 수신된 데이터베이스(200) 연결 정보를 포함하는 데이터베이스(200) 연결 수행 결과 신호를 드라이버 매니저(120)에 전송하는 기능을 수행한다.When the database 200 connection information is received from the database 200 when a normal connection is established through an authentication process, etc., the DB client driver 130 performs a database 200 connection including the received database 200 connection information. It performs a function of transmitting a result signal to the driver manager 120 .

이처럼 DB 클라이언트 드라이버(130)와 데이터베이스(200)가 서로 대응되는 구조를 갖도록 하는 기술과 DB 클라이언트 드라이버(130)가 자신에게 대응되는 데이터베이스(200)에 연결하는 기술 그 자체는 공지된 것이므로 보다 상세한 설명은 생략한다.As such, the technology for allowing the DB client driver 130 and the database 200 to have a structure corresponding to each other and the technology for connecting the DB client driver 130 to the database 200 corresponding to the DB client driver 130 are well known, so a more detailed description is omitted.

드라이버 매니저(120)는 복수 개의 DB 클라이언트 드라이버(130)가 존재하는 경우 그 중 어떤 DB 클라이언트 드라이버(130)를 통해 데이터베이스(200)에 접속해야 하는지를 판단하는 기능을 수행한다.When a plurality of DB client drivers 130 exist, the driver manager 120 determines which DB client driver 130 should be used to access the database 200 .

이때 드라이버 매니저(120)는 외부로부터(상술한 데이터베이스 이용부(110), 또는 후술하는 가상 드라이버(140))로부터 수신되는 데이터베이스(200) 연결 요청 신호에 포함된 정보를 이용하여 데이터베이스(200) 연결 수행 요청 신호를 생성하여 전송하는 기능을 수행하는데, 이 경우 데이터베이스(200) 연결 수행 요청 신호를 수신하는 것은 반드시 상술한 DB 클라이언트 드라이버(130)에 한정되는 것은 아니고, 이러한 데이터베이스(200) 연결 수행 요청 신호를 처리할 수 있는 것이면 모두 가능하다.At this time, the driver manager 120 connects to the database 200 using information included in the database 200 connection request signal received from the outside (the above-described database using unit 110 or the below-described virtual driver 140 ). It performs a function of generating and transmitting an execution request signal. In this case, receiving the database 200 connection execution request signal is not necessarily limited to the above-described DB client driver 130, and such a database 200 connection execution request Anything that can process signals is possible.

즉, 포괄적으로 설명하면, 드라이버 매니저(120)는 외부로부터 수신된 데이터베이스(200) 연결 요청 신호에 포함된 정보를 기초로 데이터베이스(200) 연결 수행 요청 신호를 생성하여 적어도 하나의 데이터베이스(200) 드라이버에 전송하는 기능을 수행하는 것이고, 여기서 데이터베이스(200) 드라이버에는 상술한 DB 클라이언트 드라이버(130)는 물론이고, 후술하는 가상 드라이버(140) 역시 포함될 수 있는 것이다.That is, to describe comprehensively, the driver manager 120 generates a database 200 connection execution request signal based on information included in the database 200 connection request signal received from the outside to generate at least one database 200 driver. To perform the function of transmitting to the database 200, the driver may include the above-described DB client driver 130 as well as the virtual driver 140 to be described later.

구체적으로 드라이버 매니저(120)의 기능을 설명하면, 외부로부터 데이터베이스(200) 연결 요청 신호가 수신되면 적어도 하나의 데이터베이스(200) 드라이버 중 데이터베이스(200) 연결 요청 신호에 포함된 식별자에 대응되는 데이터베이스(200) 드라이버에 로그인 정보(이 역시 데이터베이스(200) 연결 요청 신호로부터 추출한 것임)를 포함하는 데이터베이스(200) 연결 수행 요청 신호를 전송하고, 해당 데이터베이스(200) 드라이버로부터 수신되는 데이터베이스(200) 연결 수행 결과 신호에 포함되는 데이터베이스(200) 연결 정보를 앞서 데이터베이스(200) 연결 요청 신호를 전송한 곳(예를 들어 데이터베이스 이용부(110) 또는 가상 드라이버(140))에 전달하는 기능을 수행한다.In detail, the function of the driver manager 120 will be described. When a database 200 connection request signal is received from the outside, at least one database 200 driver of the database 200 corresponding to the identifier included in the database 200 connection request signal 200) Sends a database 200 connection request signal including login information (this is also extracted from the database 200 connection request signal) to the driver, and performs a database 200 connection received from the database 200 driver It performs a function of transferring the database 200 connection information included in the result signal to the place where the database 200 connection request signal was previously transmitted (eg, the database use unit 110 or the virtual driver 140 ).

여기서 식별자는 상술한 바와 데이터베이스(200) 또는 각 데이터베이스(200)에 대응되는 DB 클라이언트 드라이버(130)를 식별하기 위한 정보로서, 예를 들어 URL(Uniform Resource Locator) 형태로 이루어질 수 있다.Here, the identifier is information for identifying the database 200 or the DB client driver 130 corresponding to each database 200 as described above, and may be in the form of, for example, a Uniform Resource Locator (URL).

물론 이러한 URL 형태의 식별자는 애초에 데이터베이스 이용부(110)의 데이터베이스(200) 연결 요청 신호에 포함된 것일 수도 있다.Of course, such an identifier in the form of a URL may be initially included in the database 200 connection request signal of the database using unit 110 .

특히, 드라이버 매니저(120)는 데이터베이스(200) 연결 요청 신호에 포함된 식별자, 아이디, 장치 정보를 데이터베이스(200) 연결 수행 요청 신호에 포함시켜 전송할 수도 있는데, 이에 대한 보다 상세한 설명은 후술토록 한다.In particular, the driver manager 120 may transmit the identifier, ID, and device information included in the database 200 connection request signal included in the database 200 connection execution request signal, which will be described in more detail later.

한편 드라이버 매니저(120)는 그 자체가 복수개로 이루어질 수도 있고, 또는 내부적으로 복수 개의 프로세스 또는 복수 개의 쓰레드를 구동하여 상술한 기능들을 각각 처리할 수도 있다.On the other hand, the driver manager 120 may itself be formed in plurality, or may internally drive a plurality of processes or a plurality of threads to process the above-described functions, respectively.

예를 들어 데이터베이스 이용부(110)의 데이터베이스(200) 연결 요청 신호를 처리하는 프로세스(또는 쓰레드)와 가상 드라이버(140)의 데이터베이스(200) 연결 요청 신호를 처리하는 프로세스(또는 쓰레드)는 서로 다른 것일 수 있다.For example, the process (or thread) processing the database 200 connection request signal of the database using unit 110 and the process (or thread) processing the database 200 connection request signal of the virtual driver 140 are different from each other. it could be

한편, 가상 드라이버(140)는 드라이버 매니저(120)로부터 수신되는 데이터베이스(200) 연결 수행 요청 신호에 포함된 정보를 이용하여 로그인 정보 관리부(150)와 통신하여 데이터베이스(200) 접속을 위해 필요한 로그인 추가 정보를 획득하고, 그 획득한 로그인 추가 정보를 이용하여 다시 드라이버 매니저(120)에 데이터베이스(200) 연결 요청 신호를 전송하는 기능을 수행한다.On the other hand, the virtual driver 140 communicates with the login information management unit 150 using the information included in the database 200 connection execution request signal received from the driver manager 120 to add a login required for database 200 access. It acquires information and performs a function of transmitting a database 200 connection request signal to the driver manager 120 again using the acquired login additional information.

더 나아가 가상 드라이버(140)는 이러한 데이터베이스(200) 연결 요청 신호의 전송에 대해 드라이버 매니저(120)로부터 소정의 데이터베이스(200) 연결 정보가 수신되면 이를 이전에 데이터베이스(200) 연결 수행 요청 신호를 전송한 드라이버 매니저(120)에 전달할 수 있다.Furthermore, when predetermined database 200 connection information is received from the driver manager 120 with respect to the transmission of the database 200 connection request signal, the virtual driver 140 transmits the database 200 connection request signal prior to this. It can be transmitted to one driver manager 120 .

즉, 앞서 설명한 바와 같이 드라이버 매니저(120)가 내부적으로 각각의 프로세스를 구동시켜 기능 처리를 수행하는 경우, 가상 드라이버(140)는 드라이버 매니저(120)의 제1 프로세스로부터 데이터베이스(200) 연결 수행 요청 신호를 수신하면, 드라이버 매니저(120)의 제2 프로세스에 상술한 데이터베이스(200) 연결 요청 신호를 전송하고, 그 드라이버 매니저(120)의 제2 프로세스로부터 데이터베이스(200) 연결 정보가 수신되면 이를 드라이버 매니저(120)의 제1 프로세스로 전달하는 기능을 수행하는 것이다.That is, as described above, when the driver manager 120 internally drives each process to perform function processing, the virtual driver 140 requests a connection to the database 200 from the first process of the driver manager 120 . Upon receiving the signal, the above-described database 200 connection request signal is transmitted to the second process of the driver manager 120 , and when the database 200 connection information is received from the second process of the driver manager 120 , it is transmitted to the driver. It is to perform the function of transferring to the first process of the manager 120 .

이러한 가상 드라이버(140)의 기능을 보다 구체적으로 설명하면, 드라이버 매니저(120)로부터 수신되는 데이터베이스(200) 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 자신에 해당하는지를 판단하고, 판단 결과 자신에 해당하는 경우, 해당 데이터베이스(200) 연결 수행 요청 신호에 포함된 2차 식별자를 추출한 후, 로그인 정보 관리부(150)와 통신하여 해당 2차 식별자와 데이터베이스(200) 연결 수행 요청 신호에 포함된 로그인 정보 중 적어도 어느 하나에 대응되는 로그인 추가 정보를 획득하고, 그 획득한 로그인 추가 정보를 로그인 정보로써 포함하고 2차 식별자를 1차 식별자로써 포함하는 데이터베이스(200) 연결 요청 신호를 생성하여 드라이버 매니저(120)에 전송할 수 있다.When describing the function of the virtual driver 140 in more detail, it is determined whether the primary identifier among the identifiers included in the database 200 connection execution request signal received from the driver manager 120 corresponds to itself, and as a result of the determination itself In the case of , after extracting the secondary identifier included in the corresponding database 200 connection execution request signal, and communicating with the login information management unit 150, the secondary identifier and the login included in the database 200 connection execution request signal The driver manager ( 120) can be transmitted.

상술한 바와 같이 식별자가 URL 형태로 구성된 경우, 가상 드라이버(140)는 드라이버 매니저(120)로부터 수신되는 URL을 분석하여 1차 식별자가 자신에 해당하는 경우 해당 1차 식별자를 제거한 후 2차 식별자를 1차 식별자로 변경한 URL을 생성하고, 그 생성한 URL을 포함하는 데이터베이스(200) 연결 수행 요청 신호를 생성하여 드라이버 매니저(120)에 전송할 수 있다.As described above, when the identifier is configured in the form of a URL, the virtual driver 140 analyzes the URL received from the driver manager 120 and, if the primary identifier corresponds to itself, removes the corresponding primary identifier and then adds the secondary identifier. A URL changed to the primary identifier may be generated, and a database 200 connection execution request signal including the generated URL may be generated and transmitted to the driver manager 120 .

또한 드라이버 매니저(120)로부터 수신된 데이터베이스(200) 연결 수행 요청 신호에 식별자, 아이디, 장치 정보가 포함되어 있는 경우, 가상 드라이버(140)는 데이터베이스(200) 연결 수행 요청 신호에 포함된 식별자와 아이디 중 적어도 어느 하나를 추출하고, 또한 장치 정보를 추출한 후, 기 저장된 검증 정보와 비교하여 검증을 수행할 수 있다.In addition, when the identifier, ID, and device information are included in the database 200 connection request signal received from the driver manager 120 , the virtual driver 140 transmits the identifier and ID included in the database 200 connection request signal. After extracting at least one of the following and extracting device information, verification may be performed by comparing it with pre-stored verification information.

여기서 장치 정보는 본 실시예에 따른 데이터베이스 로그인 정보 관리 시스템(100)이 별도의 사용자 단말기의 요청에 따른 처리를 수행하는 경우 해당 사용자 단말기의 장치 정보일 수 있다.Here, the device information may be device information of a corresponding user terminal when the database login information management system 100 according to the present embodiment performs processing according to a request of a separate user terminal.

이때 장치 정보는 사용자 단말기가 전송하는 신호에 직접 포함될 수 있고, 이 경우 데이터 이용 단말기가 장치 정보를 데이터베이스(200) 연결 요청 신호에 포함시켜 전송하고, 결국 드라이버 매니저(120)의 데이터베이스(200) 연결 수행 요청 신호에 포함될 수 있는 것이다.In this case, the device information may be directly included in a signal transmitted by the user terminal. In this case, the data use terminal transmits the device information by including the device information in the database 200 connection request signal, and eventually the driver manager 120 connects to the database 200 It may be included in the execution request signal.

이어서 가상 드라이버(140)는 검증에 통과한 경우에 한하여 로그인 추가 정보를 포함하는 데이터베이스(200) 연결 요청 신호를 드라이버 매니저(120)에 전송할 수 있다.Subsequently, the virtual driver 140 may transmit a database 200 connection request signal including login additional information to the driver manager 120 only when verification is passed.

이는 데이터베이스(200)에 연결되는 사용자 단말기에 대한 검증을 수행하는 것으로서, 권한 없는 사용자 단말기로부터의 접근을 애초에 막기 위한 방안이다.This is to verify the user terminal connected to the database 200, and is a method to prevent access from an unauthorized user terminal in the first place.

이를 위해 가상 드라이버(140)에 미리 식별자와 아이디 중 적어도 어느 하나와 장치 정보가 매칭되어 있어야 하거나 그 매칭된 정보에 기초하여 암호화된 값이 저장되어 있어야 함은 물론이다.For this, of course, at least one of an identifier and an ID must be matched with device information in the virtual driver 140 in advance, or an encrypted value must be stored based on the matched information.

다른 실시예로써, 가상 드라이버(140)는 데이터베이스(200) 연결 수행 요청 신호 포함된 식별자와 아이디 중 적어도 어느 하나와, 기 저장되거나 데이터베이스(200) 연결 수행 요청 신호에 포함된 장치 정보를 추출하고, 그 추출한 정보에 대응되는 인증 정보를 포함하는 로그인 추가 정보 획득을 위한 요청 신호를 로그인 정보 관리부(150)에 전송할 수도 있다.As another embodiment, the virtual driver 140 extracts at least one of an identifier and an ID included in the database 200 connection execution request signal, and device information stored in advance or included in the database 200 connection execution request signal, A request signal for obtaining additional login information including authentication information corresponding to the extracted information may be transmitted to the login information management unit 150 .

이에 따라 로그인 정보 관리부(150)에서 인증 과정이 이루어질 수 있는데, 이에 대해서는 후술토록 한다.Accordingly, an authentication process may be performed in the login information management unit 150, which will be described later.

로그인 정보 관리부(150)는 상술한 바와 같이 가상 드라이버(140)의 요청에 따라 로그인 추가 정보를 추출하여 제공하는 기능을 수행한다.As described above, the login information management unit 150 extracts and provides additional login information according to the request of the virtual driver 140 .

이를 위해 로그인 정보 관리부(150)에는 소정의 식별자와 로그인 정보 중 적어도 어느 하나와 로그인 추가 정보가 매칭되어 기 저장되어 있어야 함은 물론이다. 더 나아가 로그인 정보 관리부(150)는 기 저장된 로그인 추가 정보를 기 설정된 알고리즘에 따라 주기적으로 갱신하는 기능도 수행할 수 있다.To this end, it goes without saying that the login information management unit 150 must match at least one of a predetermined identifier and login information with additional login information and store the matching information. Furthermore, the login information management unit 150 may also perform a function of periodically updating pre-stored additional login information according to a preset algorithm.

구체적으로, 가상 드라이버(140)로부터 로그인 추가 정보의 요청이 수신되면, 해당 요청에 포함된 식별자(즉, 상술한 2차 식별자)와 로그인 정보 중 적어도 어느 하나에 매칭된 로그인 추가 정보를 추출하고, 그 추출한 로그인 추가 정보를 가상 드라이버(140)에 전송할 수 있다.Specifically, when a request for additional login information is received from the virtual driver 140, additional login information matching at least one of an identifier included in the request (that is, the above-described secondary identifier) and login information is extracted, The extracted additional login information may be transmitted to the virtual driver 140 .

여기서 로그인 추가 정보는 데이터베이스(200)에 정상적으로 로그인을 하기 위해 데이터베이스(200) 연결 요청 신호에 포함된 로그인 정보 이외에 로그인 정보 관리부(150)에서 추가로 관리하고 있는 정보를 의미하는 것으로서, 데이터베이스(200) 연결 요청 신호에 포함된 로그인 정보를 대체하는 것일 수도 있고, 또는 데이터베이스(200) 연결 요청 신호에 포함된 로그인 정보에 추가되는 정보일 수도 있다.Here, the login additional information refers to information additionally managed by the login information management unit 150 in addition to the login information included in the database 200 connection request signal in order to log in normally to the database 200, and the database 200 It may replace the login information included in the connection request signal, or may be information added to the login information included in the database 200 connection request signal.

예를 들어 가상 드라이버(140)의 요청 신호에 데이터베이스(200) 연결 요청 신호에 포함되었던 사용자 아이디가 포함되는 경우, 로그인 정보 관리부(150)는 그 아이디에 대응되는 패스워드를 로그인 추가 정보로써 전송할 수 있는 것이다.For example, when the request signal of the virtual driver 140 includes a user ID included in the database 200 connection request signal, the login information management unit 150 may transmit a password corresponding to the ID as additional login information. will be.

이때 상술한 가상 드라이버(140)는 로그인 정보 관리부(150)로부터 수신되는 패스워드를 포함하는 로그인 정보가 데이터베이스(200) 연결 요청 신호에 포함되도록 할 수 있는데, 예를 들어 드라이버 매니저(120)로부터 수신된 데이터베이스(200) 연결 수행 요청 신호에 아이디 및 패스워드(이 경우 더미 패스워드)가 포함된 경우 그 더미 패스워드를 로그인 정보 관리부(150)로부터 수신된 패스워드로 교체한 로그인 정보가 데이터베이스(200) 연결 요청 신호에 포함되도록 할 수 있다.At this time, the above-described virtual driver 140 may allow login information including a password received from the login information management unit 150 to be included in the database 200 connection request signal, for example, received from the driver manager 120 . When the database 200 connection request signal includes an ID and a password (in this case, a dummy password), the login information in which the dummy password is replaced with the password received from the login information management unit 150 is included in the database 200 connection request signal. can be included.

한편, 로그인 정보 관리부(150)는 상술한 기능을 수행하기 전에 인증 처리를 수행할 수 있다.Meanwhile, the login information management unit 150 may perform authentication processing before performing the above-described function.

예를 들어 가상 드라이버(140)가 소정의 식별자와 아이디 중 적어도 어느 하나와, 기 저장되거나 데이터베이스(200) 연결 수행 요청 신호에 포함된 장치 정보를 추출하고, 그 추출한 정보에 대응되는 인증 정보를 포함하는 패스워드 요청 신호를 로그인 정보 관리부(150)에 전송한 경우, 로그인 정보 관리부(150)는 가상 드라이버(140)의 패스워드 요청 신호에 포함된 인증 정보와 기 저장된 인증 정보를 비교하여 검증을 수행하고, 검증에 통과한 경우에 한하여 요청받은 패스워드를 가상 드라이버(140)에 전송할 수 있다.For example, the virtual driver 140 extracts at least one of a predetermined identifier and an ID, and device information stored in advance or included in the database 200 connection execution request signal, and includes authentication information corresponding to the extracted information. When the password request signal is transmitted to the login information management unit 150, the login information management unit 150 compares the authentication information included in the password request signal of the virtual driver 140 with the pre-stored authentication information and performs verification, Only when the verification is passed, the requested password may be transmitted to the virtual driver 140 .

이는 가상 드라이버(140)와 로그인 정보 관리부(150)가 각각 구별되는 장치에 구현된 경우 더욱 의미가 있는 것이다.This is more meaningful when the virtual driver 140 and the login information management unit 150 are implemented in separate devices.

즉, 가상 드라이버(140)의 패스워드 요청 신호(즉, 로그인 추가 정보 요청 신호의 일 예임)에 식별자, 아이디 및 그 가상 드라이버(140)가 구현된 장치의 정보(일 예로, 아이피, 맥 주소 등)를 해시 함수로 암호화한 값이 포함되어 있는 경우, 로그인 정보 관리부(150)는 해당 해시 암호화값을 기 저장된 인증 정보와 비교하여 검증을 수행할 수 있는 것이다.That is, in the password request signal of the virtual driver 140 (that is, an example of the login additional information request signal), the identifier, ID, and information of the device in which the virtual driver 140 is implemented (eg, IP, MAC address, etc.) When the value encrypted with a hash function is included, the login information management unit 150 may perform verification by comparing the corresponding hash encrypted value with pre-stored authentication information.

이는 권한 없는 장치로부터 패스워드 요청 신호가 수신되는 경우를 걸러내기 위함이다.This is to filter out cases where a password request signal is received from an unauthorized device.

도 3에는 본 발명에서 가상 드라이버(140)와 로그인 정보 관리부(150)의 기능이 구현되지 않은 경우의 예가 도시되었고, 도 4에는 가상 드라이버(140)와 로그인 정보 관리부(150)의 기능이 구현된 경우의 예가 도시되었다.3 shows an example in which the functions of the virtual driver 140 and the login information management unit 150 are not implemented in the present invention, and in FIG. 4, the functions of the virtual driver 140 and the login information management unit 150 are implemented. Examples of cases are shown.

도 3을 참조하면, 데이터이용부의 최초 요청에 대해 드라이버 매니저(120)가 각각의 DB 클라이언트 드라이버(130)와 통신하여 특정 DB 클라이언트 드라이버(130)를 선정하고, 그 선정된 DB 클라이언트 드라이버(130)를 통해 특정 데이터베이스(200)에 연결하는 과정이 도시되었다.Referring to FIG. 3 , the driver manager 120 communicates with each DB client driver 130 to select a specific DB client driver 130 in response to the initial request of the data use unit, and the selected DB client driver 130 . A process of connecting to a specific database 200 through .

특정 DB 클라이언트 드라이버(130)를 선정하는 과정의 일 예를 설명하면, 드라이버 매니저(120)는 데이터베이스 이용부(110)로부터 수신된 데이터베이스(200) 연결 요청 신호에서 데이터베이스 식별자를 추출하고, 해당 데이터베이스 식별자를 포함하는 확인 요청을 전송하면, 그 데이터베이스 식별자에 대응되는 DB 클라이언트 드라이버(130)만이 응답하고, 이에 따라 드라이버 매니저(120)는 통신해야할 DB 클라이언트 드라이버(130)를 선정할 수 있는 것이다.When explaining an example of the process of selecting a specific DB client driver 130 , the driver manager 120 extracts a database identifier from the database 200 connection request signal received from the database use unit 110 , and the corresponding database identifier When a confirmation request including .

예를 들어 드라이버 매니저(120)가 Java 기반 라이브러리이고, 데이터베이스(200) 연결 요청 신호가 URL 형태로 'jdbc:oracle:thin:@192.168.0.101:1521:ORA' 와 같이 되어 있다고 가정하면, 각 DB 클라이언트 드라이버(130)는 'jdbc:oracle'까지를 식별자로 추출한 후, 자신의 식별자와 비교하여 응답해야 하는지 여부를 결정할 수 있다.For example, assuming that the driver manager 120 is a Java-based library and the database 200 connection request signal is 'jdbc:oracle:thin:@192.168.0.101:1521:ORA' in the form of URL, each DB After extracting up to 'jdbc:oracle' as an identifier, the client driver 130 may determine whether to respond by comparing it with its own identifier.

이어서 DB 클라이언트 드라이버(130)가 선정된 경우, 드라이버 매니저(120)는 그 선정된 DB 클라이언트 드라이버(130)에 데이터베이스(200)에 접속하여 데이터베이스(200) 연결 요청 정보를 획득해 줄 것을 요청할 수 있다.Subsequently, when the DB client driver 130 is selected, the driver manager 120 may request the selected DB client driver 130 to access the database 200 to obtain database 200 connection request information. .

상술한 드라이버 매니저(120)가 DB 클라이언트 드라이버(130)에 요청하는 일련의 신호들이 모두 데이터베이스(200) 연결 수행 요청 신호에 포함될 수 있다.A series of signals requested by the above-described driver manager 120 to the DB client driver 130 may all be included in the database 200 connection execution request signal.

이에 반해 도 4에는 드라이버 매니저(120)가 특정 DB 클라이언트 드라이버(130)를 통해 데이터베이스(200)에 연결하기 바로 전 단계에서 가상 드라이버(140)를 이용하는 과정이 추가된 상태가 도시되었다.On the other hand, FIG. 4 shows a state in which the process of using the virtual driver 140 is added just before the driver manager 120 connects to the database 200 through the specific DB client driver 130 .

도 4는 도 3과 비교할 때 드라이버 매니저(120)의 데이터베이스(200) 연결 수행 요청 신호에 포함된 식별자가 URL 형태이긴 하지만, 그 내용이 다른 경우에 해당한다. 즉, 도 4에서는 URL이 jdbc:unikeydpm:jdbc:oracle:thin:@192.168.0.101:1521:ORA인 것이라 가정하면, 이러한 URL 예는 식별자가 jdbc:unikeydpm와, jdbc:oracle 두 개가 포함되어 있는 것이다.In FIG. 4 , although the identifier included in the request signal for performing the connection to the database 200 of the driver manager 120 is in the form of a URL, the content is different from that of FIG. 3 . That is, in Fig. 4, assuming that the URL is jdbc:unikeydpm:jdbc:oracle:thin:@192.168.0.101:1521:ORA, this URL example includes two identifiers: jdbc:unikeydpm and jdbc:oracle. .

이 경우 제일 앞에 포함된 식별자를 1차 식별자라 하고, 뒤에 포함된 식별자를 2차 식별자라고 할 수 있는데, 1차 식별자인 jdbc:unikeydpm이 가상 드라이버(140)의 식별자라고 가정하면, 이러한 데이터베이스(200) 연결 요청 신호에 대해서는 다른 DB 클라이언트 드라이버(130)들은 응답을 하지 않고, 가상 드라이버(140)만이 응답하게 되는 것이다.In this case, the identifier included in the front is called a primary identifier, and the identifier included in the back is called a secondary identifier. Assuming that the primary identifier jdbc:unikeydpm is the identifier of the virtual driver 140 , such ) to the connection request signal, other DB client drivers 130 do not respond, and only the virtual driver 140 responds.

이에 따라 드라이버 매니저(120)는 가상 드라이버(140)를 선정한 후, 데이터베이스(200)에 접속하여 데이터베이스(200) 연결 요청 정보를 획득해 줄 것을 요청할 수 있는데, 이때 가상 드라이버(140)는 다른 DB 클라이언트 드라이버(130)와는 달리 직접 데이터베이스(200)에 접속하는 것이 아니라, 또 다른 데이터베이스(200) 연결 요청 신호를 생성하여 다시 드라이버 매니저(120)에 전송하는 것이다.Accordingly, the driver manager 120 selects the virtual driver 140 and accesses the database 200 to request that the database 200 connection request information be obtained. In this case, the virtual driver 140 is another DB client. Unlike the driver 130 , it does not directly access the database 200 , but generates another database 200 connection request signal and transmits it back to the driver manager 120 .

물론 이때 로그인 정보 관리부(150)와의 통신을 통해 로그인 추가 정보는 획득한 상태이고, 1차 식별자를 제거한 URL(즉, jdbc:oracle:thin:@192.168.0.101:1521:ORA)을 포함하는 데이터베이스(200) 연결 요청 신호를 드라이버 매니저(120)에 전송할 수 있는 것이다.Of course, at this time, additional login information is acquired through communication with the login information management unit 150, and the database (that is, jdbc:oracle:thin:@192.168.0.101:1521:ORA) including the URL (ie, jdbc:oracle:thin:@192.168.0.101:1521:ORA) has been removed. 200) A connection request signal may be transmitted to the driver manager 120 .

로그인 정보 또는 로그인 추가 정보는 이러한 URL에 포함될 수도 있고, 별도의 전송 신호에 포함시킬 수도 있다.Login information or additional login information may be included in such a URL, or may be included in a separate transmission signal.

이하에서는 도 5 내지 도 7을 참조하여 본 발명의 일 실시예에 따른 데이터베이스 로그인 정보 관리 시스템(100)의 전체적인 제어 흐름을 설명한다.Hereinafter, an overall control flow of the database login information management system 100 according to an embodiment of the present invention will be described with reference to FIGS. 5 to 7 .

우선 도 5를 참조하여 가상 드라이버(140)가 드라이버 매니저(120)의 요청에 따라 로그인 정보 관리부(150)로부터 패스워드를 획득하여 처리하는 과정을 설명한다.First, a process in which the virtual driver 140 obtains a password from the login information management unit 150 in response to a request from the driver manager 120 and processes it will be described with reference to FIG. 5 .

데이터베이스 이용부(110)가 식별자, 아이디, 더미 패스워드를 포함하는 데이터베이스(200) 연결 요청 신호를 전송하면(단계 S1), 드라이버 매니저(120)는 해당 식별자를 포함하는 식별자 일치 확인 요청 신호를 전송한다(단계 S3).When the database use unit 110 transmits a database 200 connection request signal including an identifier, an ID, and a dummy password (step S1), the driver manager 120 transmits an identifier matching confirmation request signal including the corresponding identifier. (Step S3).

여기서 식별자는 상술한 바와 같이 jdbc:unikeydpm:jdbc:oracle:thin:@192.168.0.101:1521:ORA 형태로 이루어져 있다고 가정한다.Here, it is assumed that the identifier is in the form of jdbc:unikeydpm:jdbc:oracle:thin:@192.168.0.101:1521:ORA as described above.

여기서 편의상 jdbc:unikeydpm은 1차 식별자이고, jdbc:oracle은 2차 식별자라고 표현하고 있지만, 이는 편의상 구분한 용어에 불과하고, 데이터베이스 이용부(110)는 2차 식별자가 있든 없든 동일한 포맷의 URL을 포함하는 데이터베이스(200) 연결 요청 신호를 전송할 수 있다.Here, jdbc:unikeydpm is a primary identifier and jdbc:oracle is a secondary identifier for convenience, but these are only terms separated for convenience, and the database use unit 110 uses a URL of the same format whether or not there is a secondary identifier. A database 200 including a connection request signal may be transmitted.

이러한 식별자 일치 확인 요청 신호는 가상 드라이버(140)뿐만 아니라 DB 클라이언트 드라이버(130)도 수신할 수 있는데, 본 실시예에서는 가상 드라이버(140)가 'jdbc:unikeydpm'라는 식별자에 대응되는 것이라 가정하므로(단계 S5), 가상 드라이버(140)만이 일치 응답 신호를 드라이버 매니저(120)에 전송한다(단계 S7).This identifier matching confirmation request signal can receive not only the virtual driver 140 but also the DB client driver 130. In this embodiment, it is assumed that the virtual driver 140 corresponds to the identifier 'jdbc:unikeydpm' ( In step S5), only the virtual driver 140 transmits a matching response signal to the driver manager 120 (step S7).

이에 따라 드라이버 매니저(120)는 데이터베이스(200) 연결 정보 획득 요청 신호를 앞서 응답한 가상 드라이버(140)에 전송한다(단계 S9).Accordingly, the driver manager 120 transmits the database 200 connection information acquisition request signal to the previously responded virtual driver 140 (step S9).

상술한 식별자 일치 확인 요청 신호와 데이터베이스(200) 연결 정보 획득 요청 신호가 앞서 언급한 데이터베이스(200) 연결 요청 신호에 해당할 수 있다.The above-described identifier matching confirmation request signal and the database 200 connection information acquisition request signal may correspond to the aforementioned database 200 connection request signal.

가상 드라이버(140)는 드라이버 매니저(120)의 신호로부터 2차 식별자인 jdbc:oracle과 아이디를 추출하고(단계 S11), 이러한 2차 식별자와 아이디를 포함하는 패스워드 요청 신호를 생성하여 로그인 정보 관리부(150)에 전송한다(단계 S13).The virtual driver 140 extracts the secondary identifier jdbc:oracle and the ID from the signal of the driver manager 120 (step S11), generates a password request signal including the secondary identifier and the ID, and generates a login information management unit ( 150) (step S13).

로그인 정보 관리부(150)는 수신된 2차 식별자 및 아이디와 매칭된 패스워드를 추출한 후(단계 S15), 가상 드라이버(140)에 전송한다(단계 S17).The login information management unit 150 extracts the password matched with the received secondary identifier and ID (step S15) and transmits it to the virtual driver 140 (step S17).

가상 드라이버(140)는 로그인 정보 관리부(150)로부터 수신된 패스워드와 드라이버 매니저(120)로부터 수신된 데이터베이스(200) 연결 수행 요청 신호에 포함된 2차 식별자 및 아이디를 포함하는 새로운 데이터베이스(200) 연결 요청 신호를 생성하여(단계 S19) 드라이버 매니저(120)에 전송한다(단계 S21).The virtual driver 140 connects to the new database 200 including the password received from the login information management unit 150 and the secondary identifier and ID included in the database 200 connection request signal received from the driver manager 120 . A request signal is generated (step S19) and transmitted to the driver manager 120 (step S21).

즉, 최초 데이터베이스 이용부(110)의 데이터베이스(200) 연결 요청 신호에서 1차 식별자가 제거되고 더미 패스워드가 로그인 정보 관리부(150)로부터 획득한 패스워드로 교체된 새로운 데이터베이스(200) 연결 요청 신호가 드라이버 매니저(120)에 전달되는 것이다.That is, the new database 200 connection request signal in which the primary identifier is removed from the database 200 connection request signal of the first database using unit 110 and the dummy password is replaced with the password obtained from the login information management unit 150 is the driver It is transmitted to the manager 120 .

예를 들어 jdbc:oracle:thin:@192.168.0.101:1521:ORA 가 식별자로써 포함된 데이터베이스(200) 연결 요청 신호가 드라이버 매니저(120)에 전달되는 것이다.For example, a database 200 connection request signal including jdbc:oracle:thin:@192.168.0.101:1521:ORA as an identifier is transmitted to the driver manager 120 .

여기서 가상 드라이버(140)에 데이터베이스(200) 연결 수행 요청 신호를 전송한 드라이버 매니저(120)와 가상 드라이버(140)로부터 데이터베이스(200) 연결 요청 신호를 수신한 드라이버 매니저(120)는 서로 프로세스 단위로 구분될 수 있는 것이다.Here, the driver manager 120 that has transmitted the database 200 connection request signal to the virtual driver 140 and the driver manager 120 that received the database 200 connection request signal from the virtual driver 140 are each process-by-process. can be distinguished.

편의상 가상 드라이버(140)에 데이터베이스(200) 연결 수행 요청 신호를 전송한 드라이버 매니저(120)는 제1 드라이버 매니저라 하고, 가상 드라이버(140)로부터 데이터베이스(200) 연결 요청 신호를 수신한 드라이버 매니저(120) 제2 드라이버 매니저라 한다.For convenience, the driver manager 120 that transmits the database 200 connection request signal to the virtual driver 140 is referred to as a first driver manager, and the driver manager 120 that receives the database 200 connection request signal from the virtual driver 140 ( 120) is referred to as the second driver manager.

이하에서는 도 6을 참조하여 가상 드라이버(140)가 드라이버 매니저(120)에 데이터베이스(200) 연결 요청 신호를 전송한 이후의 과정을 설명한다.Hereinafter, a process after the virtual driver 140 transmits a database 200 connection request signal to the driver manager 120 will be described with reference to FIG. 6 .

가상 드라이버(140)가 드라이버 매니저(120)(즉, 제2 드라이버 매니저)에 데이터베이스(200) 연결 요청 신호를 전송하는데(단계 S21), 이때 가상 드라이버(140)의 데이터베이스(200) 연결 요청 신호에는 식별자, 아이디 및 앞서 로그인 정보 관리부(150)로부터 획득한 패스워드가 포함될 수 있다.The virtual driver 140 transmits a database 200 connection request signal to the driver manager 120 (that is, the second driver manager) (step S21). At this time, the database 200 connection request signal of the virtual driver 140 includes: An identifier, an ID, and a password previously obtained from the login information management unit 150 may be included.

드라이버 매니저(120)는 DB 클라이언트 드라이버(130)에 데이터베이스(200) 연결 요청 신호에 포함된 식별자를 포함하는 식별자 일치 확인 요청 신호를 전송한다(단계 S23).The driver manager 120 transmits an identifier matching confirmation request signal including the identifier included in the database 200 connection request signal to the DB client driver 130 (step S23).

각 DB 클라이언트 드라이버(130)는 드라이버 매니저(120)로부터 수신된 식별자가 자신의 식별자와 동일한지 여부를 판단하는데(단계 S25), 동일하다고 판단된 DB 클라이언트 드라이버(130)는 드라이버 매니저(120)에 일치 응답 신호를 전송한다(단계 S27).Each DB client driver 130 determines whether the identifier received from the driver manager 120 is the same as its own identifier (step S25), and the DB client driver 130 determined to be the same is sent to the driver manager 120. A coincidence response signal is transmitted (step S27).

이에 드라이버 매니저(120)는 해당 DB 클라이언트 드라이버(130)에 데이터베이스(200) 연결 요청 신호에 포함되었던 아이디 및 패스워드를 포함하는 데이터베이스(200) 연결 정보 획득 요청 신호를 전송한다(단계 S29). 물론 이러한 드라이버 매니저(120)의 데이터베이스(200) 연결 정보 획득 요청 신호에는 앞서 설명한 데이터베이스(200)에 대응되는 식별자가 포함될 수도 있다.Accordingly, the driver manager 120 transmits a database 200 connection information acquisition request signal including the ID and password included in the database 200 connection request signal to the corresponding DB client driver 130 (step S29). Of course, the database 200 connection information acquisition request signal of the driver manager 120 may include an identifier corresponding to the database 200 described above.

DB 클라이언트 드라이버(130)는 드라이버 매니저(120)로부터 수신된 신호에서 아이디 및 패스워드를 추출하고(단계 S31), 그 추출한 아이디 및 패스워드를 포함하는 접속 요청 신호를 자신에 대응되는 데이터베이스(200)에 전송한다(단계 S33).The DB client driver 130 extracts the ID and password from the signal received from the driver manager 120 (step S31), and transmits a connection request signal including the extracted ID and password to the database 200 corresponding thereto. do (step S33).

이때 DB 클라이언트 드라이버(130)는 데이터베이스(200)에 접속함에 있어서 드라이버 매니저(120)로부터 수신된 신호에 포함된 식별자를 이용할 수도 있다.In this case, the DB client driver 130 may use the identifier included in the signal received from the driver manager 120 when accessing the database 200 .

즉, jdbc:oracle:thin:@192.168.0.101:1521:ORA 와 같은 URL을 이용하여 데이터베이스(200)에 접속할 수 있다.That is, the database 200 may be accessed using a URL such as jdbc:oracle:thin:@192.168.0.101:1521:ORA.

데이터베이스(200)는 DB 클라이언트 드라이버(130)로부터 수신된 접속 요청 신호에 포함된 정보(즉, 아이디 및 패스워드)를 기 등록된 정보와 비교하연 인증 처리를 수행하는데(단계 S35), 인증에 성공한 경우 데이터베이스(200) 연결 정보를 DB 클라이언트 드라이버(130)에 전달한다(단계 S37).The database 200 compares the information (ie, ID and password) included in the connection request signal received from the DB client driver 130 with previously registered information to perform authentication processing (step S35), if authentication is successful The database 200 connection information is transferred to the DB client driver 130 (step S37).

DB 클라이언트 드라이버(130)는 데이터베이스(200)로부터 수신된 데이터베이스(200) 연결 정보를 포함하는 데이터베이스 연결 수행 결과 신호를 드라이버 매니저(120)에 전달한다(단계 S39).The DB client driver 130 transmits a database connection execution result signal including the database 200 connection information received from the database 200 to the driver manager 120 (step S39).

이에 드라이버 매니저(120)는 데이터베이스 연결 수행 결과 신호에 포함된 데이터베이스(200) 연결 정보를 추출하여(단계 S41) 가상 드라이버(140)에 전달한다(단계 S43).Accordingly, the driver manager 120 extracts the database 200 connection information included in the database connection execution result signal (step S41) and transmits it to the virtual driver 140 (step S43).

한편, 도 7은 드라이버 매니저(120)가 가상 드라이버(140)에 데이터베이스(200) 연결 정보를 전달한 이후의 과정을 나타낸다.Meanwhile, FIG. 7 illustrates a process after the driver manager 120 transmits the database 200 connection information to the virtual driver 140 .

드라이버 매니저(120) 즉, 제2 드라이버 매니저로부터 데이터베이스(200) 연결 정보를 수신한 가상 드라이버(140)는 이를 이전의 드라이버 매니저(120) 즉, 제1 드라이버 매니저에 전달한다(단계 S51).The virtual driver 140 that has received the database 200 connection information from the driver manager 120 , that is, the second driver manager, transfers it to the previous driver manager 120 , that is, the first driver manager (step S51 ).

가상 드라이버(140)로부터 데이터베이스(200) 연결 정보를 수신한 드라이버 매니저(120)는 이를 최초 데이터베이스(200) 연결 요청 신호를 전송하였던 데이터베이스 이용부(110)에 전달한다(단계 S53).Upon receiving the database 200 connection information from the virtual driver 140, the driver manager 120 transmits it to the database use unit 110 that initially transmitted the database 200 connection request signal (step S53).

이에 데이터베이스 이용부(110)는 데이터베이스 연결 정보를 추출하여(단계 S55) 이용할 수 있게 된다.Accordingly, the database using unit 110 can extract and use the database connection information (step S55).

여기서 데이터베이스(200) 연결 정보는 앞서 설명한 바와 같이 데이터베이스(200)에 포함된 데이터를 열람하기 위해 가장 먼저 필요한 것으로서, 이러한 연결 정보를 이용하여 데이터메이스 관련 하위 쿼리를 전송할 수 있고, 이처럼 데이터베이스(200) 하위 쿼리를 전송하기 전에 데이터베이스(200) 연결 정보를 획득하는 것 자체는 공지된 기술에 해당하므로 보다 상세한 설명은 생략한다.Here, as described above, the database 200 connection information is the first thing required to view data included in the database 200, and a database-related subquery can be transmitted using this connection information, and as such, the database 200 Acquiring the database 200 connection information before transmitting the sub-query itself corresponds to a known technique, and thus a more detailed description thereof will be omitted.

데이터베이스 이용부(110)가 하위 쿼리를 전송하는 과정은 상술한 바와 같이 드라이버 매니저(120)를 경유하여 수행할 수도 있고, 또는 각 DB 클라이언트 드라이버(130)와 직접 통신하여 수행할 수도 있다.The process of transmitting the subquery by the database using unit 110 may be performed via the driver manager 120 as described above, or may be performed by direct communication with each DB client driver 130 .

도 5 내지 도 7의 과정을 통해 데이터베이스 이용부(110)가 식별자, 아이디, 더미 패스워드를 포함하는 데이터베이스(200) 연결 요청 신호를 전송한 경우 더미 패스워드 대신에 실제 데이터베이스(200)에서 인증 받을 수 있는 실제 패스워드가 중간에 이용되어 결국 해당하는 데이터베이스(200)로부터 데이터베이스(200) 연결 정보가 수신될 수 있다.When the database using unit 110 transmits a database 200 connection request signal including an identifier, an ID, and a dummy password through the process of FIGS. 5 to 7 , authentication can be performed from the actual database 200 instead of the dummy password. The actual password may be used in the middle, and eventually the database 200 connection information may be received from the corresponding database 200 .

따라서 데이터베이스 이용부(110) 또는 이를 이용하는 사용자는 데이터베이스(200) 이용을 위한 패스워드를 암기하거나 주기적으로 갱신할 필요가 없다.Therefore, the database using unit 110 or a user using the same does not need to memorize or periodically update a password for using the database 200 .

물론 패스워드를 생략하도록 하는 것에 대해 보안을 더 강화하기 위해서는 데이터베이스(200) 이용자로 하여금 적어도 데이터베이스(200) 접속을 위한 갱신 이전의 패스워드에 대한 입력을 강제할 수도 있다.Of course, in order to further strengthen security with respect to omitting the password, the user of the database 200 may be forced to input the password prior to updating at least for access to the database 200 .

예를 들어 데이터베이스(200) 접속을 위한 패스워드 갱신이 로그인 정보 관리부(150)에 의해 자동적으로 이루어진다 하더라도, 갱신된 패스워드를 제공하는 것은 적어도 데이터베이스 이용부(110)로부터 갱신 이전의 패스워드가 포함되어 있는 경우로 한정할 수 있다.For example, even if the password update for accessing the database 200 is automatically performed by the login information management unit 150 , providing the updated password includes at least the password before the update from the database using unit 110 . can be limited to

이를 위해 로그인 정보 관리부(150)는 가상 드라이버(140)로부터 패스워드 요청 신호가 수신된 경우 그 패스워드 요청 신호에 포함된 패스워드(즉, 데이터베이스 이용부(110)에 의해 입력되어 드라이버 매니저(120) 및 가상 드라이버(140)를 경유한 더미 패스워드)가 현재 갱신된 패스워드와 동일하거나 또는 갱신 바로 이전에 설정되었던 패스워드와 동일한 경우에 한하여 갱신된 패스워드를 가상 드라이버(140)에 전송하고, 그렇지 않은 경우에는 에러 메시지를 전송할 수도 있는 것이다.To this end, when a password request signal is received from the virtual driver 140 , the login information management unit 150 receives the password included in the password request signal (that is, the password is input by the database use unit 110 , the driver manager 120 and the virtual The updated password is transmitted to the virtual driver 140 only when the dummy password passed through the driver 140) is the same as the currently updated password or the same as the password set just before the update, otherwise an error message may be transmitted.

이러한 에러 메시지는 신뢰성 있는 통신 경로를 통해 데이터베이스 이용부(110)에 전달될 수 있고, 사용자는 새로 갱신된 패스워드를 확인한 후, 그 새로 갱신된 패스워드를 포함하는 데이터베이스(200) 연결 요청 신호가 다시 드라이버 매니저(120)로 전송되도록 할 수 있다.This error message may be transmitted to the database using unit 110 through a reliable communication path, and after the user confirms the newly updated password, the database 200 connection request signal including the newly updated password is sent back to the driver. It may be transmitted to the manager 120 .

이 경우 현재 갱신된 패스워드 또는 갱신 바로 이전의 패스워드를 모르는 사용자 또는 장치로부터의 요청에 대해 데이터베이스(200) 접속을 추가적으로 차단하는 기능이 수행될 수 있는 것이다.In this case, a function of additionally blocking access to the database 200 may be performed in response to a request from a user or device who does not know the currently updated password or the password immediately before the update.

즉, 앞서 설명한 바와 같이 가상 드라이버(140) 또는 로그인 정보 관리부(150)는 검증 또는 인증 과정을 통해 신뢰성 있는 장치 등으로부터의 요청에 대해서만 동작하도록 할 수 있는데, 이때 상술한 더미 패스워드에 대한 판단을 추가적으로 수행하여 보안을 강화할 수도 있는 것이다.That is, as described above, the virtual driver 140 or the login information management unit 150 can operate only in response to a request from a reliable device or the like through a verification or authentication process. This can be done to enhance security.

상술한 실시예에서는 각 구성부가 각각 물리적 하드웨어인 것처럼 표현되었으나, 이는 소프트웨어적으로 구별되는 기능에 해당할 수도 있다.In the above-described embodiment, each component is expressed as if it is physical hardware, but this may correspond to a function differentiated by software.

예를 들어 각 구성부들 적어도 일부는 자바 기반의 모듈 등에 해당할 수 있다.For example, at least a portion of each component may correspond to a Java-based module or the like.

자바 기반으로 모듈들이 구성된 경우에 대해 설명하면 다음과 같다.A case in which modules are configured based on Java will be described as follows.

JVM은 Java로 개발한 프로그램을 컴파일하여 만들어지는 바이트코드를 실행시키기 위한 가상머신이며, JVM라이브러리는 이 환경에 기본적으로 포함된 기본 라이브러리라고 할 수 있다.The JVM is a virtual machine for executing bytecodes created by compiling programs developed in Java, and the JVM library is a basic library that is basically included in this environment.

이때 JDBC는 Java database connectivity로서 자바 프로그램 안에서 SQL을 실행하기 위해 데이터베이스(200)를 연결해주는 응용프로그램 인터페이스를 의미하는데, Database 이용을 동일한 방법으로 처리하기 위해 연결, Query 요청, 결과 전달 등을 공통된 방식으로 제공하기 위한 방식이다.At this time, JDBC is Java database connectivity, which means an application program interface that connects the database 200 to execute SQL in a Java program. way to provide it.

따라서 Database 제작사는 JDBC 방식에 호환되도록 Database Client Driver 를 제공하는 이러한 각 Database Client Driver가 앞서 설명한 DB 클라이언트 드라이버(130)에 해당한다.Therefore, each database client driver that the database manufacturer provides to be compatible with the JDBC method corresponds to the DB client driver 130 described above.

Driver의 본래의 의미는 다양한 하드웨어와 운영체제를 연결해주는 장치를 의미하는데, 일반적으로 JDBC를 이용하여 연결하는 Database Client 라이브러리를 Driver로 칭하기 때문에 본 발명에서도 동일하게 사용하였다.The original meaning of the driver is a device that connects various hardware and operating systems. In general, the database client library that connects using JDBC is called a driver, so it is also used in the present invention in the same way.

Database Driver는 전달된 URL 정보 중 통신 규칙 정보에 따라 각 Driver 들은 자기가 처리할 수 있는 URL 인지를 구분한다. 보통 jdbc:db_info: 등으로 구성될 수 있고, 이러한 형태의 예에 대해서는 앞서 설명한 바와 같다.According to the communication rule information among the transmitted URL information, the database driver distinguishes whether each driver is a URL that can be processed by itself. Usually, it may be composed of jdbc:db_info: and the like, and examples of this type are as described above.

또한, 방대한 컴퓨터 네트워크에서 자신이 원하는 정보 자원을 찾기 위해서는 해당 정보 자원의 위치와 종류를 정확히 파악할 필요가 있는데, 이를 나타내는 일련의 규칙을 URL(Uniform Resource Locator: 자원 위치 지정자)이라고 한다.In addition, in order to find a desired information resource in a vast computer network, it is necessary to accurately identify the location and type of the corresponding information resource. A set of rules indicating this is called a Uniform Resource Locator (URL).

URL에는 컴퓨터 네트워크 상에 퍼져있는 특정 정보 자원의 종류와 위치가 기록되어 있다. URL은 일반적으로 '통신 규칙://접속주소/경로 이름' 등으로 이루어진다. 본 발명에서의 URL은 JDBC용 URL로 Database의 종류 정보, 접속 정보, DB이름 등을 포함한다. A URL records the type and location of a particular information resource spread over a computer network. The URL is generally composed of 'communication rule:// access address/path name'. The URL in the present invention is a URL for JDBC and includes database type information, connection information, DB name, and the like.

또한, 드라이버 매니저(120)는 JVM 라이브러리 중 java.sql패키지에 포함되어 있는 클래스에 해당할 수 있는데, Database 종류에 따라 다양한 JDBC Driver를 통해 연결하기 위한 공통 클래스인데, Database 별 Driver를 URL 에 따라 선택하고 해당 Driver를 통해 URL, ID, PASSWORD를 통해 획득한 연결 정보를 응용프로그램에게 되돌려 준다.In addition, the driver manager 120 may correspond to a class included in the java.sql package among the JVM libraries. It is a common class for connecting through various JDBC drivers depending on the database type, and the driver for each database is selected according to the URL. and returns the connection information obtained through URL, ID, and PASSWORD through the driver to the application program.

또한 Connection은 JVM 라이브러리 중 java.sql패키지에 포함되어 있는 클래스로 Database 연결에 대한 정보를 가지고 있는데, 응용서비스는 Connection class를 이용하여 Database에 Query 정보를 전달하고 결과 정보를 받는다.Also, Connection is a class included in the java.sql package of the JVM library and has information on database connection. The application service transmits query information to the database using the Connection class and receives the result information.

이러한 Connection을 이용하여 제일 먼저 획득하는 것이 앞서 설명한 데이터베이스(200) 연결 정보이다.The first thing to be acquired using this connection is the database 200 connection information described above.

이러한 자바 기반 모듈들의 기능에 추가하여 가상 드라이버(140)는 본 발명에 따른 기능 구현을 위해 핵심적 역할을 수행하는 일종의 Database Driver로 앞서 설명한 바와 같이 드라이버 매니저(120)에 URL, 아이디, 인증정보 등을 보낸 후 인증이 정상일 경우 해당 Database/ID 에 해당하는 Password를 획득한 후 원래의 드라이버 매니저(120)를 경유하여 특정 DB 클라이언트 드라이버(130)에 본 발명에 따른 Driver 구분 정보를 제거한 원래의 URL(즉, 2차 식별자)과 ID 및 획득한 Password가 전달되도록 한다.In addition to the functions of these Java-based modules, the virtual driver 140 is a kind of database driver that plays a key role for implementing the function according to the present invention. If the authentication is normal after sending, after obtaining the password corresponding to the database/ID, the original URL (that is, removing the driver identification information according to the present invention) to the specific DB client driver 130 via the original driver manager 120 , secondary identifier), ID, and the acquired password are transmitted.

로그인 정보 관리부(150) 역시 본 발명에 따른 기능 구현을 위한 핵심적인 것으로서, 각 Database에 속한 ID 별 PASSWORD를 관리할 수 있고, 가상 드라이버(140)가 전송한 URL, 아이디, 인증정보를 받아 인증정보를 확인한 후, 이상이 없을 경우 해당하는 Password를 전송하는 기능을 수행하는 것이다.The login information management unit 150 is also a key element for implementing the function according to the present invention, and can manage passwords for each ID belonging to each database, and receives the URL, ID, and authentication information transmitted by the virtual driver 140 and receives authentication information After checking, if there is no problem, the function to transmit the corresponding password is performed.

여기서 인증정보는 가상 드라이버(140)가 전송한 정보를 확인할 수 있는 정보로, URL 정보 중 일부 또는 전부, 아이디의 일부 또는 전부, 요청하는 시스템의 IP, hostname 등의 시스템 정보, 로그인 정보 관리부(150)가 발행하고 보관하는 랜덤정보 중 하나 이상의 정보를 이용하여 일방향 해쉬 또는 PKI 기반의 전자서명 등을 이용하여 변조 불가능하도록 구성하여 로그인 정보 관리부(150)가 인증할 수 있도록 하는 정보이다. Here, the authentication information is information that can check the information transmitted by the virtual driver 140, and includes some or all of URL information, part or all of ID, system information such as IP of the requested system, hostname, and login information management unit 150 ) is information that allows the login information management unit 150 to authenticate by configuring so that it cannot be tampered with using one or more of the random information issued and stored by the one-way hash or PKI-based digital signature.

이러한 구조에 의해 가령 데이터베이스 이용부(110), 드라이버 매니저(120), DB 클라이언트 드라이버(130), 데이터베이스(200)로만 구성된 시스템이 존재하는 경우, 기존의 구성들에 대한 수정이나 변경 없이 가상 드라이버(140) 및 로그인 정보 관리부(150)의 추가만으로 데이터베이스(200) 이용을 위한 패스워드를 사용자 등이 직접 갱신하는 불편을 덜 수 있다.Due to this structure, for example, when a system consisting only of the database use unit 110 , the driver manager 120 , the DB client driver 130 , and the database 200 exists, the virtual driver ( 140) and the login information management unit 150 are only added to reduce the inconvenience of a user or the like directly updating a password for using the database 200.

즉, 식별자가 URL 형태를 갖는 것도 그대로 유지하고, 단지 가상 드라이버(140)가 수신된 데이터베이스 연결 수행 요청 신호에서 자신의 식별자를 제거한 URL 나머지 부분(즉, 1차 식별자는 제거되고 2차 식별자만 남게 됨)만을 다시 드라이버 매니저(120)에 전송하도록 함으로써, 기존의 구성들에 대한 변경이 전혀 필요 없게 되는 것이다.That is, the identifier maintains the URL form as it is, and the virtual driver 140 removes its own identifier from the received database connection execution request signal (that is, the primary identifier is removed and only the secondary identifier remains) ) is transmitted to the driver manager 120 again, so there is no need to change the existing configurations at all.

상술한 실시예들에서는 데이터베이스 이용부(110)가 데이터베이스(200) 연결 요청 신호를 전송할 때 더미 패스워드를 포함시키는 것을 위주로 설명하였으나, 더미 패스워드 자체를 포함시키지 않을 수도 있음은 물론이다.In the above-described embodiments, it has been mainly described that the dummy password is included when the database use unit 110 transmits the database 200 connection request signal, but it goes without saying that the dummy password itself may not be included.

한편, 상술한 각 실시예를 수행하는 과정은 소정의 기록 매체(예를 들어 컴퓨터로 판독 가능한)에 저장된 프로그램 또는 애플리케이션에 의해 이루어질 수 있음은 물론이다. 여기서 기록 매체는 RAM(Random Access Memory)과 같은 전자적 기록 매체, 하드 디스크와 같은 자기적 기록 매체, CD(Compact Disk)와 같은 광학적 기록 매체 등을 모두 포함한다.Meanwhile, it goes without saying that the process of performing each of the above-described embodiments may be performed by a program or application stored in a predetermined recording medium (eg, computer-readable). Here, the recording medium includes an electronic recording medium such as a random access memory (RAM), a magnetic recording medium such as a hard disk, and an optical recording medium such as a compact disk (CD).

이때, 기록 매체에 저장된 프로그램은 컴퓨터나 스마트폰 등과 같은 하드웨어 상에서 실행되어 상술한 각 실시예를 수행할 수 있다. 특히, 상술한 본 발명에 따른 데이터베이스 로그인 정보 관리 시스템(100)의 기능 블록 중 적어도 어느 하나는 이러한 프로그램 또는 애플리케이션에 의해 구현될 수 있다.In this case, the program stored in the recording medium may be executed on hardware such as a computer or a smart phone to perform each of the above-described embodiments. In particular, at least one of the functional blocks of the database login information management system 100 according to the present invention described above may be implemented by such a program or application.

또한, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다. In addition, the present invention is not limited to the specific embodiments described above, but can be practiced with various modifications and modifications within the scope without departing from the gist of the present invention. It will be apparent that such modifications and variations are included in the present invention provided they fall within the scope of the appended claims.

100 : 데이터베이스 로그인 정보 관리 시스템
200 : 데이터베이스
110 : 데이터베이스 이용부 120 : 드라이버 매니저
130 : DB 클라이언트 드라이버 140 : 가상 드라이버
150 : 로그인 정보 관리부
100: database login information management system
200 : database
110: database use unit 120: driver manager
130: DB client driver 140: virtual driver
150: login information management unit

Claims (9)

외부로부터 식별자 및 로그인 정보를 포함하는 데이터베이스 연결 요청 신호가 수신되면 적어도 하나의 데이터베이스 드라이버 중 상기 식별자에 대응되는 데이터베이스 드라이버에 상기 로그인 정보를 포함하는 데이터베이스 연결 수행 요청 신호를 전송하고, 해당 데이터베이스 드라이버로부터 수신되는 데이터베이스 연결 수행 결과 신호에 포함되는 데이터베이스 연결 정보를 상기 데이터베이스 연결 요청 신호를 전송한 곳에 전달하는 드라이버 매니저와;
상기 드라이버 매니저로부터 수신되는 데이터베이스 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 기 설정된 자신의 식별자에 해당하는 경우, 해당 데이터베이스 연결 수행 요청 신호에 포함된 로그인 정보를 이용하여 기 매칭된 대응되는 데이터베이스와 통신하여 데이터베이스 연결 정보를 수신하고, 수신된 데이터베이스 연결 정보를 포함하는 데이터베이스 연결 수행 결과 신호를 상기 드라이버 매니저에 전송하는 DB 클라이언트 드라이버와;
상기 드라이버 매니저로부터 수신되는 데이터베이스 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 기 설정된 자신의 식별자에 해당하는 경우, 해당 데이터베이스 연결 수행 요청 신호에 포함된 2차 식별자를 추출한 후, 로그인 정보 관리부와 통신하여 해당 2차 식별자와 상기 데이터베이스 연결 수행 요청 신호에 포함된 로그인 정보 중 적어도 어느 하나에 대응되는 로그인 추가 정보를 획득하고, 그 획득한 로그인 추가 정보를 로그인 정보에 포함하고 상기 2차 식별자를 1차 식별자로써 포함하는 데이터베이스 연결 요청 신호를 생성하여 상기 드라이버 매니저에 전송하는 가상 드라이버와;
상기 2차 식별자와 상기 로그인 정보 중 적어도 어느 하나에 매칭된 로그인 추가 정보를 관리하고, 상기 가상 드라이버의 요청에 따라 대응되는 로그인 추가 정보를 제공하는 로그인 정보 관리부를 포함하고,
상기 데이터베이스 드라이버는 상기 DB 클라이언트 드라이버와 상기 가상 드라이버 중 적어도 어느 하나인 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템.
When a database connection request signal including an identifier and login information is received from the outside, a database connection request signal including the login information is transmitted to a database driver corresponding to the identifier among at least one database driver, and received from the corresponding database driver a driver manager that transmits database connection information included in a result signal for performing a database connection to a location to which the database connection request signal is transmitted;
When a primary identifier among identifiers included in the database connection request signal received from the driver manager corresponds to a preset identifier, a corresponding database matched using login information included in the corresponding database connection request signal a DB client driver that communicates with and receives database connection information and transmits a database connection execution result signal including the received database connection information to the driver manager;
When the primary identifier among the identifiers included in the database connection execution request signal received from the driver manager corresponds to a preset own identifier, after extracting the secondary identifier included in the corresponding database connection execution request signal, the login information management unit and communicate to obtain additional login information corresponding to at least one of the secondary identifier and the login information included in the database connection execution request signal, include the obtained login additional information in the login information, and set the secondary identifier to 1 a virtual driver that generates a database connection request signal included as a difference identifier and transmits it to the driver manager;
and a login information management unit that manages login additional information matching at least one of the secondary identifier and the login information, and provides corresponding login additional information according to a request of the virtual driver,
The database driver is a database login information management system through a virtual driver, characterized in that at least one of the DB client driver and the virtual driver.
제1항에 있어서,
상기 드라이버 매니저가 전송하는 데이터베이스 연결 수행 요청 신호에 포함된 식별자는 URL(Uniform Resource Locator) 형태로 이루어져 있고,
상기 가상 드라이버는, 상기 드라이버 매니저로부터 수신되는 URL을 분석하여 1차 식별자가 자신에 해당하는 경우 해당 1차 식별자를 제거한 후 2차 식별자를 1차 식별자로 변경한 URL을 생성하고, 그 생성한 URL을 포함하는 데이터베이스 연결 수행 요청 신호를 생성하여 상기 드라이버 매니저에 전송하는 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템.
According to claim 1,
The identifier included in the database connection execution request signal transmitted by the driver manager is in the form of a Uniform Resource Locator (URL),
The virtual driver analyzes the URL received from the driver manager and, if the primary identifier corresponds to itself, removes the primary identifier and then generates a URL in which the secondary identifier is changed to the primary identifier, and the generated URL Database login information management system through a virtual driver, characterized in that generating a database connection execution request signal comprising a and transmitting it to the driver manager.
제1항에 있어서,
상기 드라이버 매니저는 상기 데이터베이스 연결 요청 신호에 포함된 식별자, 아이디, 장치 정보를 상기 데이터베이스 연결 수행 요청 신호에 포함시켜 전송하고,
상기 가상 드라이버는 상기 데이터베이스 연결 수행 요청 신호에 포함된 식별자와 아이디 중 적어도 어느 하나와 상기 장치 정보를 추출한 후 기 저장된 검증 정보와 비교하여 검증을 수행하고, 검증에 통과한 경우에 한하여 상기 로그인 추가 정보를 포함하는 데이터베이스 연결 요청 신호를 상기 드라이버 매니저에 전송하는 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템.
According to claim 1,
The driver manager transmits the identifier, ID, and device information included in the database connection request signal by including it in the database connection request signal,
The virtual driver extracts at least one of an identifier and an ID included in the database connection execution request signal and the device information, compares it with pre-stored verification information, performs verification, and only when verification is passed, the login additional information Database login information management system through a virtual driver, characterized in that for transmitting a database connection request signal comprising a to the driver manager.
제1항에 있어서,
상기 가상 드라이버는, 상기 데이터베이스 연결 수행 요청 신호 포함된 식별자와 아이디 중 적어도 어느 하나와, 기 저장되거나 상기 데이터베이스 연결 수행 요청 신호에 포함된 장치 정보를 추출하고, 그 추출한 정보에 대응되는 인증 정보를 포함하는 패스워드 요청 신호를 상기 로그인 정보 관리부에 전송하며,
상기 로그인 정보 관리부는 상기 가상 드라이버의 패스워드 요청 신호에 포함된 인증 정보와 기 저장된 인증 정보를 비교하여 검증을 수행하고, 검증에 통과한 경우에 한하여 요청받은 패스워드를 상기 가상 드라이버에 전송하는 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템.
According to claim 1,
The virtual driver extracts at least one of an identifier and an ID included in the database connection request signal, and device information stored in advance or included in the database connection request signal, and includes authentication information corresponding to the extracted information. transmits a password request signal to the login information management unit,
The login information management unit performs verification by comparing the authentication information included in the password request signal of the virtual driver with pre-stored authentication information, and transmits the requested password to the virtual driver only when the verification is passed. Database login information management system through virtual driver.
(a) 드라이버 매니저가 데이터베이스 이용부로부터 식별자 및 로그인 정보를 포함하는 데이터베이스 연결 요청 신호가 수신되면 적어도 하나의 데이터베이스 드라이버 중 상기 식별자에 대응되는 데이터베이스 드라이버에 상기 로그인 정보를 포함하는 데이터베이스 연결 수행 요청 신호를 전송하는 단계와;
(b) 가상 드라이버가 상기 드라이버 매니저로부터 수신되는 데이터베이스 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 기 설정된 자신의 식별자에 해당하는 경우, 해당 데이터베이스 연결 수행 요청 신호에 포함된 2차 식별자를 추출한 후, 로그인 정보 관리부와 통신하여 해당 2차 식별자와 상기 데이터베이스 연결 수행 요청 신호에 포함된 로그인 정보 중 적어도 어느 하나에 대응되는 로그인 추가 정보를 요청하는 단계와;
(c) 상기 2차 식별자와 상기 로그인 정보 중 적어도 어느 하나에 매칭된 로그인 추가 정보를 관리하는 로그인 정보 관리부가 상기 가상 드라이버의 요청에 따라 대응되는 로그인 추가 정보를 제공하는 단계와;
(d) 상기 가상 드라이버가 상기 로그인 정보 관리부로부터 획득한 로그인 추가 정보를 로그인 정보에 포함하고 상기 2차 식별자를 1차 식별자로써 포함하는 데이터베이스 연결 요청 신호를 생성하여 상기 드라이버 매니저에 전송하는 단계와;
(e) 상기 드라이버 매니저가 상기 가상 드라이버로부터 수신되는 데이터베이스 연결 요청 신호에 포함된 1차 식별자에 대응되는 DB 클라이언트 드라이버에 로그인 정보를 포함하는 데이터베이스 연결 수행 요청 신호를 전송하는 단계와;
(f) 상기 드라이버 매니저로부터 데이터베이스 연결 수행 요청 신호를 수신한 DB 클라이언트 드라이버가 상기 데이터베이스 연결 수행 요청 신호에 포함된 1차 식별자가 기 설정된 자신의 식별자에 해당하는 경우, 해당 데이터베이스 연결 수행 요청 신호에 포함된 로그인 정보를 이용하여 기 매칭된 데이터베이스와 통신하여 데이터베이스 연결 정보를 수신하고, 수신된 데이터베이스 연결 정보를 포함하는 데이터베이스 연결 수행 결과 신호를 상기 드라이버 매니저에 전송하는 단계와;
(g) 상기 드라이버 매니저가 상기 DB 클라이언트 드라이버로부터 수신되는 데이터베이스 연결 수행 결과 신호에 포함되는 데이터베이스 연결 정보를 상기 데이터베이스 연결 요청 신호를 전송한 데이터베이스 이용부에 전달하는 단계를 포함하고,
상기 데이터베이스 드라이버는 상기 DB 클라이언트 드라이버와 상기 가상 드라이버 중 적어도 어느 하나인 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템의 제어방법.
(a) When the driver manager receives a database connection request signal including an identifier and login information from the database using unit, it sends a database connection request signal including the login information to a database driver corresponding to the identifier among at least one database driver. transmitting;
(b) the virtual driver extracts the secondary identifier included in the database connection execution request signal when the primary identifier of the identifiers included in the database connection execution request signal received from the driver manager corresponds to its own preset identifier thereafter, communicating with the login information management unit to request additional login information corresponding to at least one of the secondary identifier and the login information included in the database connection request signal;
(c) providing additional login information corresponding to the request of the virtual driver by a login information management unit that manages login additional information matched to at least one of the secondary identifier and the login information;
(d) generating, by the virtual driver, a database connection request signal including the login additional information obtained from the login information management unit in login information and the secondary identifier as a primary identifier, and transmitting the generated database connection request signal to the driver manager;
(e) transmitting, by the driver manager, a database connection request signal including login information to the DB client driver corresponding to the primary identifier included in the database connection request signal received from the virtual driver;
(f) When the DB client driver that has received the database connection execution request signal from the driver manager corresponds to a preset identifier of the DB client driver included in the database connection execution request signal, it is included in the corresponding database connection execution request signal communicating with a previously matched database using the logged-in information to receive database connection information, and transmitting a database connection execution result signal including the received database connection information to the driver manager;
(g) transferring, by the driver manager, database connection information included in a database connection execution result signal received from the DB client driver to a database using unit that has transmitted the database connection request signal,
The database driver is a control method of a database login information management system through a virtual driver, characterized in that at least one of the DB client driver and the virtual driver.
제5항에 있어서,
상기 드라이버 매니저가 전송하는 데이터베이스 연결 수행 요청 신호에 포함된 식별자는 URL(Uniform Resource Locator) 형태로 이루어져 있고,
상기 (b) 단계에서, 상기 가상 드라이버는 상기 드라이버 매니저로부터 수신되는 URL을 분석하여 1차 식별자가 자신에 해당하는 경우에 한하여 상기 로그인 정보 관리부에 로그인 추가 정보를 요청하고,
상기 (d) 단계에서, 상기 가상 드라이버는 상기 드라이버 매니저로부터 수신된 URL에서 1차 식별자를 제거한 후 2차 식별자를 1차 식별자로 변경한 URL을 생성하고, 해당 생성한 URL을 포함하는 데이터베이스 연결 수행 요청 신호를 생성하여 상기 드라이버 매니저에 전송하는 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템의 제어방법.
6. The method of claim 5,
The identifier included in the database connection execution request signal transmitted by the driver manager is in the form of a Uniform Resource Locator (URL),
In step (b), the virtual driver analyzes the URL received from the driver manager and requests additional login information from the login information management unit only when the primary identifier corresponds to itself,
In step (d), the virtual driver removes the primary identifier from the URL received from the driver manager, generates a URL in which the secondary identifier is changed to the primary identifier, and performs a database connection including the generated URL. A method of controlling a database login information management system through a virtual driver, characterized in that generating a request signal and transmitting it to the driver manager.
제5항에 있어서,
상기 (a) 단계에서 상기 드라이버 매니저는 상기 데이터베이스 연결 요청 신호에 포함된 식별자, 아이디, 장치 정보를 상기 데이터베이스 연결 수행 요청 신호에 포함시켜 전송하고,
상기 (b) 단계에서 상기 가상 드라이버는 상기 데이터베이스 연결 수행 요청 신호에 포함된 식별자와 아이디 중 적어도 어느 하나와 상기 장치 정보를 추출한 후 기 저장된 검증 정보와 비교하여 검증을 수행하고, 검증에 통과한 경우에 한하여 상기 로그인 추가 정보를 상기 로그인 정보 관리부에 요청하는 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템의 제어방법.
6. The method of claim 5,
In step (a), the driver manager includes the identifier, ID, and device information included in the database connection request signal in the database connection request signal and transmits it;
In step (b), the virtual driver extracts at least one of an identifier and an ID included in the database connection request signal and the device information, compares it with pre-stored verification information, performs verification, and passes verification A control method of a database login information management system through a virtual driver, characterized in that only for requesting the login additional information to the login information management unit.
제5항에 있어서,
상기 (b) 단계에서 상기 가상 드라이버는 상기 데이터베이스 연결 수행 요청 신호 포함된 식별자와 아이디 중 적어도 어느 하나와 기 저장되거나 상기 데이터베이스 연결 수행 요청 신호에 포함된 장치 정보를 추출하고, 그 추출한 정보에 대응되는 인증 정보를 포함하는 패스워드 요청 신호를 상기 로그인 정보 관리부에 전송하며,
상기 (c) 단계에서 상기 로그인 정보 관리부는 상기 가상 드라이버의 패스워드 요청 신호에 포함된 인증 정보와 기 저장된 인증 정보를 비교하여 검증을 수행하고, 검증에 통과한 경우에 한하여 요청받은 패스워드를 상기 가상 드라이버에 전송하는 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템의 제어방법.
6. The method of claim 5,
In step (b), the virtual driver extracts at least one of an identifier and an ID included in the database connection execution request signal and device information previously stored or included in the database connection execution request signal, and corresponds to the extracted information. Transmitting a password request signal including authentication information to the login information management unit,
In step (c), the login information management unit performs verification by comparing the authentication information included in the password request signal of the virtual driver with the previously stored authentication information, and only when the verification is passed, the login information management unit transmits the requested password to the virtual driver. A control method of the database login information management system through a virtual driver, characterized in that it is transmitted to.
하드웨어와 결합되어 제5항 내지 제8항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능 기록 매체에 저장된 응용 프로그램.An application program stored in a computer-readable recording medium in combination with hardware to execute the method of any one of claims 5 to 8.
KR1020200125540A 2020-09-28 2020-09-28 Database login information management system using virtual driver and control method thereof KR102379098B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200125540A KR102379098B1 (en) 2020-09-28 2020-09-28 Database login information management system using virtual driver and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200125540A KR102379098B1 (en) 2020-09-28 2020-09-28 Database login information management system using virtual driver and control method thereof

Publications (1)

Publication Number Publication Date
KR102379098B1 true KR102379098B1 (en) 2022-03-28

Family

ID=80997018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200125540A KR102379098B1 (en) 2020-09-28 2020-09-28 Database login information management system using virtual driver and control method thereof

Country Status (1)

Country Link
KR (1) KR102379098B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020032892A (en) 2000-10-27 2002-05-04 구자홍 Integrated Management System And Method For User Password Of Multi UNIX Server
KR20100101648A (en) * 2008-01-15 2010-09-17 치 멩 림 Interactive information processing and delivery system and methods thereof
KR20110135522A (en) * 2010-06-11 2011-12-19 삼성전자주식회사 Management apparatus and method for managing device driver of management apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020032892A (en) 2000-10-27 2002-05-04 구자홍 Integrated Management System And Method For User Password Of Multi UNIX Server
KR20100101648A (en) * 2008-01-15 2010-09-17 치 멩 림 Interactive information processing and delivery system and methods thereof
KR20110135522A (en) * 2010-06-11 2011-12-19 삼성전자주식회사 Management apparatus and method for managing device driver of management apparatus

Similar Documents

Publication Publication Date Title
KR101720160B1 (en) Authenticated database connectivity for unattended applications
US6243816B1 (en) Single sign-on (SSO) mechanism personal key manager
EP1645971B1 (en) Database access control method, database access controller, agent processing server, database access control program, and medium recording the program
US6240512B1 (en) Single sign-on (SSO) mechanism having master key synchronization
US8548916B2 (en) Managing passwords used when detecting information on configuration items disposed on a network
US20030088658A1 (en) Obtaining information to facilitate system usage
US20100011298A1 (en) Method and system for service-enablement gateway and its service portal
KR101143217B1 (en) Method, system and apparatus for managing computer identity
US20050193211A1 (en) Management of user authentication information together with authentication level
US20030154413A1 (en) Information processing device, information processing system, authentication method, storage medium and program
US8051168B1 (en) Method and system for security and user account integration by reporting systems with remote repositories
KR100926075B1 (en) Database access through web application server monitoring apparatus and method thereof
CN109635581A (en) A kind of data processing method, equipment, system and storage medium
JPH10232811A (en) Security management method for data base
CN111737232A (en) Database management method, system, device, equipment and computer storage medium
JP2014119962A (en) Information communication system, authentication device, access control method of information communication system, and access control program
JP2008015733A (en) Log management computer
CA2434276A1 (en) Password management
JP2009003549A (en) Data management device, data management method, data management program, and data management program storage medium
US20080046750A1 (en) Authentication method
US8065281B2 (en) Method and apparatus for facilitating distributed processing of database operations
CN113240836A (en) Bluetooth lock connection method adopting two-dimensional code and related configuration system
KR102379098B1 (en) Database login information management system using virtual driver and control method thereof
EP4141721A1 (en) System and method for secure collection and display of sensitive data
CN113645226B (en) Data processing method, device, equipment and storage medium based on gateway layer

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant