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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Abstract
Description
본 발명은 데이터베이스 로그인 정보 관리 시스템 및 그 제어방법에 관한 것으로, 보다 상세하게는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템 및 그 제어방법에 관한 것이다.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.
본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 각 사용자나 관리자가 패스워드 갱신을 직접 하지 않더라도 주기적으로 패스워드 갱신이 이루어질 수 있도록 하는 시스템 및 그 제어방법을 제공하는 것이다. 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
동 도면 도시된 바와 같이 전체 시스템은 데이터베이스(200) 이용 단말기, 로그인 정보 관리 장치, 데이터베이스(200)를 포함하여 구성될 수 있다.As shown in the figure, the entire system may be configured to include a
여기서 데이터베이스(200)는 상술한 바와 같이 소정의 데이터들이 테이블 형태 등으로 구성된 것으로서, 데이터베이스(200)의 구성 그 자체는 공지된 기술에 해당하므로 보다 상세한 설명은 생략한다.Here, the
데이터베이스(200) 이용 단말기는 데이터베이스(200)에 저장된 데이터를 이용하는 단말기로서, 예를 들어 데이터베이스(200)에 소정의 데이터를 요청(일 예로 데이터베이스(200) 쿼리를 전송)하고, 그 요청에 따라 데이터베이스(200)로부터 수신되는 데이터를 표시하는 장치일 수 있다.A terminal using the
또한 로그인 정보 관리 장치는 데이터베이스(200)에 접속하기 위한 소정의 로그인 정보(일 예로 패스워드)를 관리하고, 데이터베이스(200) 이용 단말기의 요청에 따라 기 저장된 로그인 정보를 제공하는 기능을 수행한다.Also, the login information management apparatus manages predetermined login information (eg, a password) for accessing the
본 발명에 따른 데이터베이스 로그인 정보 관리 시스템(100)은 이러한 데이터베이스(200) 이용 단말기와 로그인 정보 관리 장치로 이루어질 수 있는데, 도 1에는 비록 데이터베이스(200) 이용 단말기와 로그인 정보 관리 장치가 구분되어 있는 것을 일 예로 하였으나, 이하에서는 하나의 장치로 통합되어 있는 상태라 가정하고 설명하기로 한다.The database login
본 발명의 일 실시예에 따른 데이터베이스 로그인 정보 관리 시스템(100)의 기능을 블록은 도 2에 도시된 바와 같다.Functional blocks of the database login
동 도면에 도시된 바와 같이 데이터베이스 로그인 정보 관리 시스템(100)은 데이터베이스 이용부(110), 드라이버 매니저(120), DB 클라이언트 드라이버(130), 가상 드라이버(140), 데이터베이스(200), 로그인 정보 관리부(150)를 포함하여 구서될 수 있다.As shown in the figure, the database login
여기서 데이터베이스 이용부(110)는 데이터베이스(200)에 저장된 데이터를 이용하는 것으로서, 최초로 데이터베이스(200)로의 연결을 요청하거나 또한 데이터베이스(200)가 전송한 데이터를 사용자가 열람할 수 있도록 표시하거나, 그 수신된 데이터를 가공하는 등의 기능을 수행할 수 있다.Here, the
예를 들어 데이터베이스 이용부(110)는 사용자가 데이터베이스(200)에 접속하기 위한 인터페이스를 제공하고, 사용자에 의해 입력된 로그인 정보(일 예로, 아이디 및 패스워드)를 포함하는 데이터베이스(200) 연결 요청 신호를 생성하여 전송하는 기능을 수행한다.For example, the
이때 데이터베이스(200) 연결 요청 신호에는 각 데이터베이스(200)를 구분하는 식별자가 포함될 수도 있다.In this case, the
이러한 데이터베이스(200) 연결 요청 신호에 따라 드라이버 매니저(120)로부터 후술하는 복잡한 과정을 거쳐 데이터베이스(200) 연결 정보가 수신될 수 있는데, 데이터베이스(200) 연결 정보는 예를 들어 특정 데이터베이스(200)에 포함된 데이터를 이용할 수 있도록 하는 포인터(리소스 정보 등)에 해당할 수 있다.According to such a
DB 클라이언트 드라이버(130)는 특정 데이터베이스(200)와 매칭된 것으로서, 그 매칭된 데이터베이스(200)와 직접 연결을 수행할 수 있다.The DB
예를 들어 각각의 데이터베이스(200)마다 연결되는 방식이 서로 상이할 수 있는데, 이를 위해 각 데이터베이스(200)에 대응되는 DB 클라이언트 드라이버(130)를 구비하여 연결을 수행하는 것이다.For example, the connection method for each
일 예로, 제1 DB 클라이언트 드라이버(130)는 제1 데이터베이스(200)에 대응되도록 구성되고, 제2 DB 클라이언트 드라이버(130)는 제2 데이터베이스(200)에 대응되도록 구성된 경우, 제1 데이터베이스(200)에 접속하기 위해서는 제2 DB 클라이언트 드라이버(130)를 이용해서는 안되고 제1 DB 클라이언트 드라이버(130)를 이용해서만 가능한 것이다.For example, when the first
이러한 DB 클라이언트 드라이버(130)가 수행하는 기능을 구체적으로 설명하면, 드라이버 매니저(120)로부터 수신되는 데이터베이스(200) 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 자신에 해당하는 경우, 해당 데이터베이스(200) 연결 수행 요청 신호에 포함된 로그인 정보를 이용하여 자신에 대응되는 데이터베이스(200)와 통신하면서 데이터베이스(200) 연결 정보를 요청한다.When the function performed by the
인증 과정 등을 통해 정상 연결이 된 경우 데이터베이스(200)로부터 데이터베이스(200) 연결 정보가 수신되면, DB 클라이언트 드라이버(130)는 그 수신된 데이터베이스(200) 연결 정보를 포함하는 데이터베이스(200) 연결 수행 결과 신호를 드라이버 매니저(120)에 전송하는 기능을 수행한다.When the
이처럼 DB 클라이언트 드라이버(130)와 데이터베이스(200)가 서로 대응되는 구조를 갖도록 하는 기술과 DB 클라이언트 드라이버(130)가 자신에게 대응되는 데이터베이스(200)에 연결하는 기술 그 자체는 공지된 것이므로 보다 상세한 설명은 생략한다.As such, the technology for allowing the DB
드라이버 매니저(120)는 복수 개의 DB 클라이언트 드라이버(130)가 존재하는 경우 그 중 어떤 DB 클라이언트 드라이버(130)를 통해 데이터베이스(200)에 접속해야 하는지를 판단하는 기능을 수행한다.When a plurality of
이때 드라이버 매니저(120)는 외부로부터(상술한 데이터베이스 이용부(110), 또는 후술하는 가상 드라이버(140))로부터 수신되는 데이터베이스(200) 연결 요청 신호에 포함된 정보를 이용하여 데이터베이스(200) 연결 수행 요청 신호를 생성하여 전송하는 기능을 수행하는데, 이 경우 데이터베이스(200) 연결 수행 요청 신호를 수신하는 것은 반드시 상술한 DB 클라이언트 드라이버(130)에 한정되는 것은 아니고, 이러한 데이터베이스(200) 연결 수행 요청 신호를 처리할 수 있는 것이면 모두 가능하다.At this time, the
즉, 포괄적으로 설명하면, 드라이버 매니저(120)는 외부로부터 수신된 데이터베이스(200) 연결 요청 신호에 포함된 정보를 기초로 데이터베이스(200) 연결 수행 요청 신호를 생성하여 적어도 하나의 데이터베이스(200) 드라이버에 전송하는 기능을 수행하는 것이고, 여기서 데이터베이스(200) 드라이버에는 상술한 DB 클라이언트 드라이버(130)는 물론이고, 후술하는 가상 드라이버(140) 역시 포함될 수 있는 것이다.That is, to describe comprehensively, the
구체적으로 드라이버 매니저(120)의 기능을 설명하면, 외부로부터 데이터베이스(200) 연결 요청 신호가 수신되면 적어도 하나의 데이터베이스(200) 드라이버 중 데이터베이스(200) 연결 요청 신호에 포함된 식별자에 대응되는 데이터베이스(200) 드라이버에 로그인 정보(이 역시 데이터베이스(200) 연결 요청 신호로부터 추출한 것임)를 포함하는 데이터베이스(200) 연결 수행 요청 신호를 전송하고, 해당 데이터베이스(200) 드라이버로부터 수신되는 데이터베이스(200) 연결 수행 결과 신호에 포함되는 데이터베이스(200) 연결 정보를 앞서 데이터베이스(200) 연결 요청 신호를 전송한 곳(예를 들어 데이터베이스 이용부(110) 또는 가상 드라이버(140))에 전달하는 기능을 수행한다.In detail, the function of the
여기서 식별자는 상술한 바와 데이터베이스(200) 또는 각 데이터베이스(200)에 대응되는 DB 클라이언트 드라이버(130)를 식별하기 위한 정보로서, 예를 들어 URL(Uniform Resource Locator) 형태로 이루어질 수 있다.Here, the identifier is information for identifying the
물론 이러한 URL 형태의 식별자는 애초에 데이터베이스 이용부(110)의 데이터베이스(200) 연결 요청 신호에 포함된 것일 수도 있다.Of course, such an identifier in the form of a URL may be initially included in the
특히, 드라이버 매니저(120)는 데이터베이스(200) 연결 요청 신호에 포함된 식별자, 아이디, 장치 정보를 데이터베이스(200) 연결 수행 요청 신호에 포함시켜 전송할 수도 있는데, 이에 대한 보다 상세한 설명은 후술토록 한다.In particular, the
한편 드라이버 매니저(120)는 그 자체가 복수개로 이루어질 수도 있고, 또는 내부적으로 복수 개의 프로세스 또는 복수 개의 쓰레드를 구동하여 상술한 기능들을 각각 처리할 수도 있다.On the other hand, the
예를 들어 데이터베이스 이용부(110)의 데이터베이스(200) 연결 요청 신호를 처리하는 프로세스(또는 쓰레드)와 가상 드라이버(140)의 데이터베이스(200) 연결 요청 신호를 처리하는 프로세스(또는 쓰레드)는 서로 다른 것일 수 있다.For example, the process (or thread) processing the
한편, 가상 드라이버(140)는 드라이버 매니저(120)로부터 수신되는 데이터베이스(200) 연결 수행 요청 신호에 포함된 정보를 이용하여 로그인 정보 관리부(150)와 통신하여 데이터베이스(200) 접속을 위해 필요한 로그인 추가 정보를 획득하고, 그 획득한 로그인 추가 정보를 이용하여 다시 드라이버 매니저(120)에 데이터베이스(200) 연결 요청 신호를 전송하는 기능을 수행한다.On the other hand, the
더 나아가 가상 드라이버(140)는 이러한 데이터베이스(200) 연결 요청 신호의 전송에 대해 드라이버 매니저(120)로부터 소정의 데이터베이스(200) 연결 정보가 수신되면 이를 이전에 데이터베이스(200) 연결 수행 요청 신호를 전송한 드라이버 매니저(120)에 전달할 수 있다.Furthermore, when
즉, 앞서 설명한 바와 같이 드라이버 매니저(120)가 내부적으로 각각의 프로세스를 구동시켜 기능 처리를 수행하는 경우, 가상 드라이버(140)는 드라이버 매니저(120)의 제1 프로세스로부터 데이터베이스(200) 연결 수행 요청 신호를 수신하면, 드라이버 매니저(120)의 제2 프로세스에 상술한 데이터베이스(200) 연결 요청 신호를 전송하고, 그 드라이버 매니저(120)의 제2 프로세스로부터 데이터베이스(200) 연결 정보가 수신되면 이를 드라이버 매니저(120)의 제1 프로세스로 전달하는 기능을 수행하는 것이다.That is, as described above, when the
이러한 가상 드라이버(140)의 기능을 보다 구체적으로 설명하면, 드라이버 매니저(120)로부터 수신되는 데이터베이스(200) 연결 수행 요청 신호에 포함된 식별자 중 1차 식별자가 자신에 해당하는지를 판단하고, 판단 결과 자신에 해당하는 경우, 해당 데이터베이스(200) 연결 수행 요청 신호에 포함된 2차 식별자를 추출한 후, 로그인 정보 관리부(150)와 통신하여 해당 2차 식별자와 데이터베이스(200) 연결 수행 요청 신호에 포함된 로그인 정보 중 적어도 어느 하나에 대응되는 로그인 추가 정보를 획득하고, 그 획득한 로그인 추가 정보를 로그인 정보로써 포함하고 2차 식별자를 1차 식별자로써 포함하는 데이터베이스(200) 연결 요청 신호를 생성하여 드라이버 매니저(120)에 전송할 수 있다.When describing the function of the
상술한 바와 같이 식별자가 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
또한 드라이버 매니저(120)로부터 수신된 데이터베이스(200) 연결 수행 요청 신호에 식별자, 아이디, 장치 정보가 포함되어 있는 경우, 가상 드라이버(140)는 데이터베이스(200) 연결 수행 요청 신호에 포함된 식별자와 아이디 중 적어도 어느 하나를 추출하고, 또한 장치 정보를 추출한 후, 기 저장된 검증 정보와 비교하여 검증을 수행할 수 있다.In addition, when the identifier, ID, and device information are included in the
여기서 장치 정보는 본 실시예에 따른 데이터베이스 로그인 정보 관리 시스템(100)이 별도의 사용자 단말기의 요청에 따른 처리를 수행하는 경우 해당 사용자 단말기의 장치 정보일 수 있다.Here, the device information may be device information of a corresponding user terminal when the database login
이때 장치 정보는 사용자 단말기가 전송하는 신호에 직접 포함될 수 있고, 이 경우 데이터 이용 단말기가 장치 정보를 데이터베이스(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
이어서 가상 드라이버(140)는 검증에 통과한 경우에 한하여 로그인 추가 정보를 포함하는 데이터베이스(200) 연결 요청 신호를 드라이버 매니저(120)에 전송할 수 있다.Subsequently, the
이는 데이터베이스(200)에 연결되는 사용자 단말기에 대한 검증을 수행하는 것으로서, 권한 없는 사용자 단말기로부터의 접근을 애초에 막기 위한 방안이다.This is to verify the user terminal connected to the
이를 위해 가상 드라이버(140)에 미리 식별자와 아이디 중 적어도 어느 하나와 장치 정보가 매칭되어 있어야 하거나 그 매칭된 정보에 기초하여 암호화된 값이 저장되어 있어야 함은 물론이다.For this, of course, at least one of an identifier and an ID must be matched with device information in the
다른 실시예로써, 가상 드라이버(140)는 데이터베이스(200) 연결 수행 요청 신호 포함된 식별자와 아이디 중 적어도 어느 하나와, 기 저장되거나 데이터베이스(200) 연결 수행 요청 신호에 포함된 장치 정보를 추출하고, 그 추출한 정보에 대응되는 인증 정보를 포함하는 로그인 추가 정보 획득을 위한 요청 신호를 로그인 정보 관리부(150)에 전송할 수도 있다.As another embodiment, the
이에 따라 로그인 정보 관리부(150)에서 인증 과정이 이루어질 수 있는데, 이에 대해서는 후술토록 한다.Accordingly, an authentication process may be performed in the login
로그인 정보 관리부(150)는 상술한 바와 같이 가상 드라이버(140)의 요청에 따라 로그인 추가 정보를 추출하여 제공하는 기능을 수행한다.As described above, the login
이를 위해 로그인 정보 관리부(150)에는 소정의 식별자와 로그인 정보 중 적어도 어느 하나와 로그인 추가 정보가 매칭되어 기 저장되어 있어야 함은 물론이다. 더 나아가 로그인 정보 관리부(150)는 기 저장된 로그인 추가 정보를 기 설정된 알고리즘에 따라 주기적으로 갱신하는 기능도 수행할 수 있다.To this end, it goes without saying that the login
구체적으로, 가상 드라이버(140)로부터 로그인 추가 정보의 요청이 수신되면, 해당 요청에 포함된 식별자(즉, 상술한 2차 식별자)와 로그인 정보 중 적어도 어느 하나에 매칭된 로그인 추가 정보를 추출하고, 그 추출한 로그인 추가 정보를 가상 드라이버(140)에 전송할 수 있다.Specifically, when a request for additional login information is received from the
여기서 로그인 추가 정보는 데이터베이스(200)에 정상적으로 로그인을 하기 위해 데이터베이스(200) 연결 요청 신호에 포함된 로그인 정보 이외에 로그인 정보 관리부(150)에서 추가로 관리하고 있는 정보를 의미하는 것으로서, 데이터베이스(200) 연결 요청 신호에 포함된 로그인 정보를 대체하는 것일 수도 있고, 또는 데이터베이스(200) 연결 요청 신호에 포함된 로그인 정보에 추가되는 정보일 수도 있다.Here, the login additional information refers to information additionally managed by the login
예를 들어 가상 드라이버(140)의 요청 신호에 데이터베이스(200) 연결 요청 신호에 포함되었던 사용자 아이디가 포함되는 경우, 로그인 정보 관리부(150)는 그 아이디에 대응되는 패스워드를 로그인 추가 정보로써 전송할 수 있는 것이다.For example, when the request signal of the
이때 상술한 가상 드라이버(140)는 로그인 정보 관리부(150)로부터 수신되는 패스워드를 포함하는 로그인 정보가 데이터베이스(200) 연결 요청 신호에 포함되도록 할 수 있는데, 예를 들어 드라이버 매니저(120)로부터 수신된 데이터베이스(200) 연결 수행 요청 신호에 아이디 및 패스워드(이 경우 더미 패스워드)가 포함된 경우 그 더미 패스워드를 로그인 정보 관리부(150)로부터 수신된 패스워드로 교체한 로그인 정보가 데이터베이스(200) 연결 요청 신호에 포함되도록 할 수 있다.At this time, the above-described
한편, 로그인 정보 관리부(150)는 상술한 기능을 수행하기 전에 인증 처리를 수행할 수 있다.Meanwhile, the login
예를 들어 가상 드라이버(140)가 소정의 식별자와 아이디 중 적어도 어느 하나와, 기 저장되거나 데이터베이스(200) 연결 수행 요청 신호에 포함된 장치 정보를 추출하고, 그 추출한 정보에 대응되는 인증 정보를 포함하는 패스워드 요청 신호를 로그인 정보 관리부(150)에 전송한 경우, 로그인 정보 관리부(150)는 가상 드라이버(140)의 패스워드 요청 신호에 포함된 인증 정보와 기 저장된 인증 정보를 비교하여 검증을 수행하고, 검증에 통과한 경우에 한하여 요청받은 패스워드를 가상 드라이버(140)에 전송할 수 있다.For example, the
이는 가상 드라이버(140)와 로그인 정보 관리부(150)가 각각 구별되는 장치에 구현된 경우 더욱 의미가 있는 것이다.This is more meaningful when the
즉, 가상 드라이버(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
이는 권한 없는 장치로부터 패스워드 요청 신호가 수신되는 경우를 걸러내기 위함이다.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
도 3을 참조하면, 데이터이용부의 최초 요청에 대해 드라이버 매니저(120)가 각각의 DB 클라이언트 드라이버(130)와 통신하여 특정 DB 클라이언트 드라이버(130)를 선정하고, 그 선정된 DB 클라이언트 드라이버(130)를 통해 특정 데이터베이스(200)에 연결하는 과정이 도시되었다.Referring to FIG. 3 , the
특정 DB 클라이언트 드라이버(130)를 선정하는 과정의 일 예를 설명하면, 드라이버 매니저(120)는 데이터베이스 이용부(110)로부터 수신된 데이터베이스(200) 연결 요청 신호에서 데이터베이스 식별자를 추출하고, 해당 데이터베이스 식별자를 포함하는 확인 요청을 전송하면, 그 데이터베이스 식별자에 대응되는 DB 클라이언트 드라이버(130)만이 응답하고, 이에 따라 드라이버 매니저(120)는 통신해야할 DB 클라이언트 드라이버(130)를 선정할 수 있는 것이다.When explaining an example of the process of selecting a specific
예를 들어 드라이버 매니저(120)가 Java 기반 라이브러리이고, 데이터베이스(200) 연결 요청 신호가 URL 형태로 'jdbc:oracle:thin:@192.168.0.101:1521:ORA' 와 같이 되어 있다고 가정하면, 각 DB 클라이언트 드라이버(130)는 'jdbc:oracle'까지를 식별자로 추출한 후, 자신의 식별자와 비교하여 응답해야 하는지 여부를 결정할 수 있다.For example, assuming that the
이어서 DB 클라이언트 드라이버(130)가 선정된 경우, 드라이버 매니저(120)는 그 선정된 DB 클라이언트 드라이버(130)에 데이터베이스(200)에 접속하여 데이터베이스(200) 연결 요청 정보를 획득해 줄 것을 요청할 수 있다.Subsequently, when the
상술한 드라이버 매니저(120)가 DB 클라이언트 드라이버(130)에 요청하는 일련의 신호들이 모두 데이터베이스(200) 연결 수행 요청 신호에 포함될 수 있다.A series of signals requested by the above-described
이에 반해 도 4에는 드라이버 매니저(120)가 특정 DB 클라이언트 드라이버(130)를 통해 데이터베이스(200)에 연결하기 바로 전 단계에서 가상 드라이버(140)를 이용하는 과정이 추가된 상태가 도시되었다.On the other hand, FIG. 4 shows a state in which the process of using the
도 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
이 경우 제일 앞에 포함된 식별자를 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
이에 따라 드라이버 매니저(120)는 가상 드라이버(140)를 선정한 후, 데이터베이스(200)에 접속하여 데이터베이스(200) 연결 요청 정보를 획득해 줄 것을 요청할 수 있는데, 이때 가상 드라이버(140)는 다른 DB 클라이언트 드라이버(130)와는 달리 직접 데이터베이스(200)에 접속하는 것이 아니라, 또 다른 데이터베이스(200) 연결 요청 신호를 생성하여 다시 드라이버 매니저(120)에 전송하는 것이다.Accordingly, the
물론 이때 로그인 정보 관리부(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
로그인 정보 또는 로그인 추가 정보는 이러한 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
우선 도 5를 참조하여 가상 드라이버(140)가 드라이버 매니저(120)의 요청에 따라 로그인 정보 관리부(150)로부터 패스워드를 획득하여 처리하는 과정을 설명한다.First, a process in which the
데이터베이스 이용부(110)가 식별자, 아이디, 더미 패스워드를 포함하는 데이터베이스(200) 연결 요청 신호를 전송하면(단계 S1), 드라이버 매니저(120)는 해당 식별자를 포함하는 식별자 일치 확인 요청 신호를 전송한다(단계 S3).When the
여기서 식별자는 상술한 바와 같이 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
이러한 식별자 일치 확인 요청 신호는 가상 드라이버(140)뿐만 아니라 DB 클라이언트 드라이버(130)도 수신할 수 있는데, 본 실시예에서는 가상 드라이버(140)가 'jdbc:unikeydpm'라는 식별자에 대응되는 것이라 가정하므로(단계 S5), 가상 드라이버(140)만이 일치 응답 신호를 드라이버 매니저(120)에 전송한다(단계 S7).This identifier matching confirmation request signal can receive not only the
이에 따라 드라이버 매니저(120)는 데이터베이스(200) 연결 정보 획득 요청 신호를 앞서 응답한 가상 드라이버(140)에 전송한다(단계 S9).Accordingly, the
상술한 식별자 일치 확인 요청 신호와 데이터베이스(200) 연결 정보 획득 요청 신호가 앞서 언급한 데이터베이스(200) 연결 요청 신호에 해당할 수 있다.The above-described identifier matching confirmation request signal and the
가상 드라이버(140)는 드라이버 매니저(120)의 신호로부터 2차 식별자인 jdbc:oracle과 아이디를 추출하고(단계 S11), 이러한 2차 식별자와 아이디를 포함하는 패스워드 요청 신호를 생성하여 로그인 정보 관리부(150)에 전송한다(단계 S13).The
로그인 정보 관리부(150)는 수신된 2차 식별자 및 아이디와 매칭된 패스워드를 추출한 후(단계 S15), 가상 드라이버(140)에 전송한다(단계 S17).The login
가상 드라이버(140)는 로그인 정보 관리부(150)로부터 수신된 패스워드와 드라이버 매니저(120)로부터 수신된 데이터베이스(200) 연결 수행 요청 신호에 포함된 2차 식별자 및 아이디를 포함하는 새로운 데이터베이스(200) 연결 요청 신호를 생성하여(단계 S19) 드라이버 매니저(120)에 전송한다(단계 S21).The
즉, 최초 데이터베이스 이용부(110)의 데이터베이스(200) 연결 요청 신호에서 1차 식별자가 제거되고 더미 패스워드가 로그인 정보 관리부(150)로부터 획득한 패스워드로 교체된 새로운 데이터베이스(200) 연결 요청 신호가 드라이버 매니저(120)에 전달되는 것이다.That is, the
예를 들어 jdbc:oracle:thin:@192.168.0.101:1521:ORA 가 식별자로써 포함된 데이터베이스(200) 연결 요청 신호가 드라이버 매니저(120)에 전달되는 것이다.For example, a
여기서 가상 드라이버(140)에 데이터베이스(200) 연결 수행 요청 신호를 전송한 드라이버 매니저(120)와 가상 드라이버(140)로부터 데이터베이스(200) 연결 요청 신호를 수신한 드라이버 매니저(120)는 서로 프로세스 단위로 구분될 수 있는 것이다.Here, the
편의상 가상 드라이버(140)에 데이터베이스(200) 연결 수행 요청 신호를 전송한 드라이버 매니저(120)는 제1 드라이버 매니저라 하고, 가상 드라이버(140)로부터 데이터베이스(200) 연결 요청 신호를 수신한 드라이버 매니저(120) 제2 드라이버 매니저라 한다.For convenience, the
이하에서는 도 6을 참조하여 가상 드라이버(140)가 드라이버 매니저(120)에 데이터베이스(200) 연결 요청 신호를 전송한 이후의 과정을 설명한다.Hereinafter, a process after the
가상 드라이버(140)가 드라이버 매니저(120)(즉, 제2 드라이버 매니저)에 데이터베이스(200) 연결 요청 신호를 전송하는데(단계 S21), 이때 가상 드라이버(140)의 데이터베이스(200) 연결 요청 신호에는 식별자, 아이디 및 앞서 로그인 정보 관리부(150)로부터 획득한 패스워드가 포함될 수 있다.The
드라이버 매니저(120)는 DB 클라이언트 드라이버(130)에 데이터베이스(200) 연결 요청 신호에 포함된 식별자를 포함하는 식별자 일치 확인 요청 신호를 전송한다(단계 S23).The
각 DB 클라이언트 드라이버(130)는 드라이버 매니저(120)로부터 수신된 식별자가 자신의 식별자와 동일한지 여부를 판단하는데(단계 S25), 동일하다고 판단된 DB 클라이언트 드라이버(130)는 드라이버 매니저(120)에 일치 응답 신호를 전송한다(단계 S27).Each
이에 드라이버 매니저(120)는 해당 DB 클라이언트 드라이버(130)에 데이터베이스(200) 연결 요청 신호에 포함되었던 아이디 및 패스워드를 포함하는 데이터베이스(200) 연결 정보 획득 요청 신호를 전송한다(단계 S29). 물론 이러한 드라이버 매니저(120)의 데이터베이스(200) 연결 정보 획득 요청 신호에는 앞서 설명한 데이터베이스(200)에 대응되는 식별자가 포함될 수도 있다.Accordingly, the
DB 클라이언트 드라이버(130)는 드라이버 매니저(120)로부터 수신된 신호에서 아이디 및 패스워드를 추출하고(단계 S31), 그 추출한 아이디 및 패스워드를 포함하는 접속 요청 신호를 자신에 대응되는 데이터베이스(200)에 전송한다(단계 S33).The
이때 DB 클라이언트 드라이버(130)는 데이터베이스(200)에 접속함에 있어서 드라이버 매니저(120)로부터 수신된 신호에 포함된 식별자를 이용할 수도 있다.In this case, the
즉, jdbc:oracle:thin:@192.168.0.101:1521:ORA 와 같은 URL을 이용하여 데이터베이스(200)에 접속할 수 있다.That is, the
데이터베이스(200)는 DB 클라이언트 드라이버(130)로부터 수신된 접속 요청 신호에 포함된 정보(즉, 아이디 및 패스워드)를 기 등록된 정보와 비교하연 인증 처리를 수행하는데(단계 S35), 인증에 성공한 경우 데이터베이스(200) 연결 정보를 DB 클라이언트 드라이버(130)에 전달한다(단계 S37).The
DB 클라이언트 드라이버(130)는 데이터베이스(200)로부터 수신된 데이터베이스(200) 연결 정보를 포함하는 데이터베이스 연결 수행 결과 신호를 드라이버 매니저(120)에 전달한다(단계 S39).The
이에 드라이버 매니저(120)는 데이터베이스 연결 수행 결과 신호에 포함된 데이터베이스(200) 연결 정보를 추출하여(단계 S41) 가상 드라이버(140)에 전달한다(단계 S43).Accordingly, the
한편, 도 7은 드라이버 매니저(120)가 가상 드라이버(140)에 데이터베이스(200) 연결 정보를 전달한 이후의 과정을 나타낸다.Meanwhile, FIG. 7 illustrates a process after the
드라이버 매니저(120) 즉, 제2 드라이버 매니저로부터 데이터베이스(200) 연결 정보를 수신한 가상 드라이버(140)는 이를 이전의 드라이버 매니저(120) 즉, 제1 드라이버 매니저에 전달한다(단계 S51).The
가상 드라이버(140)로부터 데이터베이스(200) 연결 정보를 수신한 드라이버 매니저(120)는 이를 최초 데이터베이스(200) 연결 요청 신호를 전송하였던 데이터베이스 이용부(110)에 전달한다(단계 S53).Upon receiving the
이에 데이터베이스 이용부(110)는 데이터베이스 연결 정보를 추출하여(단계 S55) 이용할 수 있게 된다.Accordingly, the
여기서 데이터베이스(200) 연결 정보는 앞서 설명한 바와 같이 데이터베이스(200)에 포함된 데이터를 열람하기 위해 가장 먼저 필요한 것으로서, 이러한 연결 정보를 이용하여 데이터메이스 관련 하위 쿼리를 전송할 수 있고, 이처럼 데이터베이스(200) 하위 쿼리를 전송하기 전에 데이터베이스(200) 연결 정보를 획득하는 것 자체는 공지된 기술에 해당하므로 보다 상세한 설명은 생략한다.Here, as described above, the
데이터베이스 이용부(110)가 하위 쿼리를 전송하는 과정은 상술한 바와 같이 드라이버 매니저(120)를 경유하여 수행할 수도 있고, 또는 각 DB 클라이언트 드라이버(130)와 직접 통신하여 수행할 수도 있다.The process of transmitting the subquery by the
도 5 내지 도 7의 과정을 통해 데이터베이스 이용부(110)가 식별자, 아이디, 더미 패스워드를 포함하는 데이터베이스(200) 연결 요청 신호를 전송한 경우 더미 패스워드 대신에 실제 데이터베이스(200)에서 인증 받을 수 있는 실제 패스워드가 중간에 이용되어 결국 해당하는 데이터베이스(200)로부터 데이터베이스(200) 연결 정보가 수신될 수 있다.When the
따라서 데이터베이스 이용부(110) 또는 이를 이용하는 사용자는 데이터베이스(200) 이용을 위한 패스워드를 암기하거나 주기적으로 갱신할 필요가 없다.Therefore, the
물론 패스워드를 생략하도록 하는 것에 대해 보안을 더 강화하기 위해서는 데이터베이스(200) 이용자로 하여금 적어도 데이터베이스(200) 접속을 위한 갱신 이전의 패스워드에 대한 입력을 강제할 수도 있다.Of course, in order to further strengthen security with respect to omitting the password, the user of the
예를 들어 데이터베이스(200) 접속을 위한 패스워드 갱신이 로그인 정보 관리부(150)에 의해 자동적으로 이루어진다 하더라도, 갱신된 패스워드를 제공하는 것은 적어도 데이터베이스 이용부(110)로부터 갱신 이전의 패스워드가 포함되어 있는 경우로 한정할 수 있다.For example, even if the password update for accessing the
이를 위해 로그인 정보 관리부(150)는 가상 드라이버(140)로부터 패스워드 요청 신호가 수신된 경우 그 패스워드 요청 신호에 포함된 패스워드(즉, 데이터베이스 이용부(110)에 의해 입력되어 드라이버 매니저(120) 및 가상 드라이버(140)를 경유한 더미 패스워드)가 현재 갱신된 패스워드와 동일하거나 또는 갱신 바로 이전에 설정되었던 패스워드와 동일한 경우에 한하여 갱신된 패스워드를 가상 드라이버(140)에 전송하고, 그렇지 않은 경우에는 에러 메시지를 전송할 수도 있는 것이다.To this end, when a password request signal is received from the
이러한 에러 메시지는 신뢰성 있는 통신 경로를 통해 데이터베이스 이용부(110)에 전달될 수 있고, 사용자는 새로 갱신된 패스워드를 확인한 후, 그 새로 갱신된 패스워드를 포함하는 데이터베이스(200) 연결 요청 신호가 다시 드라이버 매니저(120)로 전송되도록 할 수 있다.This error message may be transmitted to the
이 경우 현재 갱신된 패스워드 또는 갱신 바로 이전의 패스워드를 모르는 사용자 또는 장치로부터의 요청에 대해 데이터베이스(200) 접속을 추가적으로 차단하는 기능이 수행될 수 있는 것이다.In this case, a function of additionally blocking access to the
즉, 앞서 설명한 바와 같이 가상 드라이버(140) 또는 로그인 정보 관리부(150)는 검증 또는 인증 과정을 통해 신뢰성 있는 장치 등으로부터의 요청에 대해서만 동작하도록 할 수 있는데, 이때 상술한 더미 패스워드에 대한 판단을 추가적으로 수행하여 보안을 강화할 수도 있는 것이다.That is, as described above, the
상술한 실시예에서는 각 구성부가 각각 물리적 하드웨어인 것처럼 표현되었으나, 이는 소프트웨어적으로 구별되는 기능에 해당할 수도 있다.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 제작사는 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
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
또한 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
이러한 자바 기반 모듈들의 기능에 추가하여 가상 드라이버(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
로그인 정보 관리부(150) 역시 본 발명에 따른 기능 구현을 위한 핵심적인 것으로서, 각 Database에 속한 ID 별 PASSWORD를 관리할 수 있고, 가상 드라이버(140)가 전송한 URL, 아이디, 인증정보를 받아 인증정보를 확인한 후, 이상이 없을 경우 해당하는 Password를 전송하는 기능을 수행하는 것이다.The login
여기서 인증정보는 가상 드라이버(140)가 전송한 정보를 확인할 수 있는 정보로, URL 정보 중 일부 또는 전부, 아이디의 일부 또는 전부, 요청하는 시스템의 IP, hostname 등의 시스템 정보, 로그인 정보 관리부(150)가 발행하고 보관하는 랜덤정보 중 하나 이상의 정보를 이용하여 일방향 해쉬 또는 PKI 기반의 전자서명 등을 이용하여 변조 불가능하도록 구성하여 로그인 정보 관리부(150)가 인증할 수 있도록 하는 정보이다. Here, the authentication information is information that can check the information transmitted by the
이러한 구조에 의해 가령 데이터베이스 이용부(110), 드라이버 매니저(120), DB 클라이언트 드라이버(130), 데이터베이스(200)로만 구성된 시스템이 존재하는 경우, 기존의 구성들에 대한 수정이나 변경 없이 가상 드라이버(140) 및 로그인 정보 관리부(150)의 추가만으로 데이터베이스(200) 이용을 위한 패스워드를 사용자 등이 직접 갱신하는 불편을 덜 수 있다.Due to this structure, for example, when a system consisting only of the
즉, 식별자가 URL 형태를 갖는 것도 그대로 유지하고, 단지 가상 드라이버(140)가 수신된 데이터베이스 연결 수행 요청 신호에서 자신의 식별자를 제거한 URL 나머지 부분(즉, 1차 식별자는 제거되고 2차 식별자만 남게 됨)만을 다시 드라이버 매니저(120)에 전송하도록 함으로써, 기존의 구성들에 대한 변경이 전혀 필요 없게 되는 것이다.That is, the identifier maintains the URL form as it is, and the
상술한 실시예들에서는 데이터베이스 이용부(110)가 데이터베이스(200) 연결 요청 신호를 전송할 때 더미 패스워드를 포함시키는 것을 위주로 설명하였으나, 더미 패스워드 자체를 포함시키지 않을 수도 있음은 물론이다.In the above-described embodiments, it has been mainly described that the dummy password is included when the
한편, 상술한 각 실시예를 수행하는 과정은 소정의 기록 매체(예를 들어 컴퓨터로 판독 가능한)에 저장된 프로그램 또는 애플리케이션에 의해 이루어질 수 있음은 물론이다. 여기서 기록 매체는 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
또한, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다. 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.
상기 드라이버 매니저가 전송하는 데이터베이스 연결 수행 요청 신호에 포함된 식별자는 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.
상기 드라이버 매니저는 상기 데이터베이스 연결 요청 신호에 포함된 식별자, 아이디, 장치 정보를 상기 데이터베이스 연결 수행 요청 신호에 포함시켜 전송하고,
상기 가상 드라이버는 상기 데이터베이스 연결 수행 요청 신호에 포함된 식별자와 아이디 중 적어도 어느 하나와 상기 장치 정보를 추출한 후 기 저장된 검증 정보와 비교하여 검증을 수행하고, 검증에 통과한 경우에 한하여 상기 로그인 추가 정보를 포함하는 데이터베이스 연결 요청 신호를 상기 드라이버 매니저에 전송하는 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템.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.
상기 가상 드라이버는, 상기 데이터베이스 연결 수행 요청 신호 포함된 식별자와 아이디 중 적어도 어느 하나와, 기 저장되거나 상기 데이터베이스 연결 수행 요청 신호에 포함된 장치 정보를 추출하고, 그 추출한 정보에 대응되는 인증 정보를 포함하는 패스워드 요청 신호를 상기 로그인 정보 관리부에 전송하며,
상기 로그인 정보 관리부는 상기 가상 드라이버의 패스워드 요청 신호에 포함된 인증 정보와 기 저장된 인증 정보를 비교하여 검증을 수행하고, 검증에 통과한 경우에 한하여 요청받은 패스워드를 상기 가상 드라이버에 전송하는 것을 특징으로 하는 가상 드라이버를 통한 데이터베이스 로그인 정보 관리 시스템.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.
(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.
상기 드라이버 매니저가 전송하는 데이터베이스 연결 수행 요청 신호에 포함된 식별자는 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.
상기 (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.
상기 (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.
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)
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 |
-
2020
- 2020-09-28 KR KR1020200125540A patent/KR102379098B1/en active IP Right Grant
Patent Citations (3)
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 |