KR100948873B1 - Security and management device for database security and control method thereof - Google Patents
Security and management device for database security and control method thereof Download PDFInfo
- Publication number
- KR100948873B1 KR100948873B1 KR1020070138144A KR20070138144A KR100948873B1 KR 100948873 B1 KR100948873 B1 KR 100948873B1 KR 1020070138144 A KR1020070138144 A KR 1020070138144A KR 20070138144 A KR20070138144 A KR 20070138144A KR 100948873 B1 KR100948873 B1 KR 100948873B1
- Authority
- KR
- South Korea
- Prior art keywords
- security
- database
- jdbc
- relay module
- java application
- 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/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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
-
- 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/604—Tools and structures for managing or administering access control systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 데이터베이스 보안을 위한 데이터베이스 보안관리장치와 제어방법에 관한 것으로서, 더욱 상세하게는
업무로직부와 JDBC 사이에 설치되어 사용자의 접근제어를 수행함과 동시에 입출력되는 데이타를 암/복호화 처리하는 보안중계모듈과;
상기 보안중계모듈이 접근제어 및 암/복호화를 수행하는데 필요한 보안정보, 즉, 암호화키, 접근권한정보를 관리하고, 관리되는 보안정보를 안전한 보안메모리를 통해 배포하는 보안관리장치와;
상기 보안관리장치로 부터 제공되는 보안정보를 보안중계모듈에 공급하는 보안메모리; 를 더 포함하여 구성하므로서, Java 응용프로그램이 기존에 데이터베이스 연동을 위해 사용하는 Java Standard API 인 JDBC(Java DataBase Connectivity) 스펙으로 구현된 보안중계모듈을 통해 데이터베이스로 접속함에 따라 Java 응용프로그램의 수정을 최소화할 수 있으면서도 데이터베이스에 저장되는 데이타를 효율적으로 암호화할 수 있어서 데이터베이스의 보안효과를 향상시킬 수 있도록 한 데이터베이스 보안을 위한 데이터베이스 보안관리장치에 관한 것이다.
데이터베이스, 보안, 암호화, 접근제어, JDBC
The present invention relates to a database security management device and a control method for database security, and more particularly.
A security relay module installed between the business logic unit and JDBC to perform encryption / decryption of data input and output at the same time as performing user access control;
A security management device for managing security information, that is, encryption key and access right information necessary for the security relay module to perform access control and encryption / decryption, and distributing managed security information through a secure security memory;
A security memory for supplying security information provided from the security management device to a security relay module; Minimize the modification of the Java application by connecting to the database through the security relay module implemented by the JDBC (Java DataBase Connectivity) specification, which is a Java Standard API that is used for database integration. The present invention relates to a database security management apparatus for securing a database that can encrypt data stored in a database while improving the security effect of the database.
Database, Security, Encryption, Access Control, JDBC
Description
본 발명은 데이터베이스 보안을 위한 데이터베이스 보안관리장치와 그 제어방법에 관한 것으로, Java 응용프로그램 처리부에서의 데이터베이스 보안 적용시 Java 표준 API인 JDBC 드라이버단에서 암/복호화 절차 및 키관리, 접근제어 절차를 구현하여 Java 응용프로그램처리부의 Java 응용프로그램 인터페이스에 대한 변경작업 없이 데이터베이스 암호화 적용을 보다 용이하게 할 수 있는 데이터베이스 보안을 위한 데이터베이스 보안관리장치와 그 제어방법에 관한 것이다.The present invention relates to a database security management apparatus for a database security and a control method thereof, and implements encryption / decryption procedures, key management, and access control procedures in a JDBC driver stage that is a Java standard API when applying database security in a Java application processing unit. The present invention relates to a database security management device and a control method for database security that can easily apply database encryption without changing the Java application program interface of the Java application processing unit.
도 1은 종래의 데이터베이스 관리장치를 보인 도면으로서, 1 is a view showing a conventional database management apparatus,
도 1을 참조하면, 어플리케이션 서버(1)의 내부에 Java 응용 프로그램에 의해 구동하여 사용자 PC를 통해 접속하는 사용자가 데이터베이스(1)에 접속하여 데이타를 조회할 수 있도록 도와주는 Java 응용프로그램 처리부(2)가 설치되어 있고, 상기 Java 응용프로그램 처리부(2)의 내부에는 실질적으로 사용자를 JDBC(4)를 통 해 데이터베이스(11)에 연결시켜주는 업무로직부(3)가 설치되며, 상기 업무로직부(3)와 데이터베이스(11)의 사이에는 인터페이스를 위한 Java Standard API인 JDBC(4)가 구성되어 있다.Referring to FIG. 1, a Java
이에따라, 사용자가 사용자PC를 이용해 어플리케이션 서버(1)에 접속하면 Java 응용프로그램 처리부(2)의 업무로직부(3)에서 JDBC(4)를 통해 데이터베이스(11)에 접속하여 사용자가 원하는 데이타를 조회,변경,추가할 수 있도록 하는 것이다.Accordingly, when the user connects to the
상기 업무로직부(3)가 데이터베이스(11)의 데이터를 조회/변경/추가하기 위해서는 데이터베이스 업체에서 제공하는 JDBC(4)를 사용해야만 하고, 상기 JDBC(4) 는 미국의 Sun Microsystem Inc에서 만든 스펙 즉, Java Standard API인 JDBC(Java DataBase Connectivity) 인터페이스를 가지게 되고, 현재 모든 Java 응용프로그램은 데이터베이스 연동시 JDBC(4)과 같은 표준 인터페이스를 사용하므로 데이터베이스의 업체나 종류에 상관없이 JDBC(4) 드라이버 모듈의 설치만으로 개발 및 운영이 가능하다.In order for the
상기와 같은 종래의 데이터베이스 관리장치는 포털사이트, 금융기관, IT 업체 등 다양한 분야에서 데이타의 저장 및 관리를 위해 널리 사용되고 있다.Conventional database management apparatus as described above is widely used for the storage and management of data in various fields, such as portal sites, financial institutions, IT companies.
온라인이라는 채널, 네트워크가 방대해짐에 따라서 네트워크를 오고가는 수많은 데이터들에 대한 기밀성, 무결성의 요건이 온라인 서비스의 기본 요건으로 자리잡아 가고 있다. 인터넷뱅킹, 전자상거래, 온라인 게임 등 인터넷을 통한 금융서비스 및 기타 다양한 서비스에 있어서 인터넷 구간은 안전한 채널이 아니며, 현재 감독기관의 규제, 고객 정보 유출 대비책 등으로 반드시 인터넷 구간을 오고가는 데이터에 대해서는 암호화를 통한 기밀성 및 무결성을 보장하도록 하고 있다.As the online channel and network become huge, the requirements for confidentiality and integrity of numerous data coming and going on the network are becoming the basic requirements of the online service. The Internet section is not a safe channel for financial services and various other services through the Internet such as internet banking, e-commerce, online games, etc. To ensure confidentiality and integrity.
이와 같이 인터넷과 같은 서비스 업체의 외부망에 대한 데이터 보안은 암호화가 기본 서비스 보안 요건으로 자리를 잡아가고 있으나, 내부망에 대한 보안 인식은 아직도 많은 조직에서 투자순위가 매우 낮은 수준이라고 말할 수 있다.As such, data security of a service provider's external network, such as the Internet, is becoming a basic service security requirement, but security awareness of the internal network is still very low in many organizations.
금융기관의 경우 정보 침해사고의 유형을 분류해보면, 내부자에 의한 의도한 혹은 의도하지 않은 (실수) 침해가 전체 침해사고의 70~80%를 차지한다고 한다.In the case of financial institutions, the types of information infringement accidents are classified, and the intentional or unintentional infringement by insiders accounts for 70-80% of all infringement accidents.
내부자로부터 보호해야할 정보자산, 즉 대부분의 조직에서 가장 중요한 IT 자산은 Database라고 말할 수 있다. 조직의 중요 기밀이나 고객정보는 매우 중요한 자산이며, 대부분이 Database 시스템으로 구축하여 관리하고 있다. 내부망에서 내부자의 정보 침해로부터 보호해야할 가장 중요한 보호대상은 Database 시스템이라고 말할 수 있다. Information assets that need to be protected from insiders, the most important IT asset in most organizations, can be said to be a database. Organizational confidentiality and customer information are very important assets, and most of them are built and managed by database system. Database system is the most important thing to protect from insider's information infringement in internal network.
이렇게 가장 중요한 보호대상인 데이터베이스를 보호하기 위한 방법에 따른 시장에 나와있는 데이터베이스 보안 제품은 크게 2가지 방식으로 네트워크 채널에서 필터링, 모니터링 및 접근제어를 수행하는 방식과 데이터베이스 내에 저장되어 있는 데이터 자체를 암호화 하는 방식이다.Database security products on the market, which are the most important protection methods for protecting databases, are largely two ways to perform filtering, monitoring and access control over network channels and to encrypt the data stored in the database itself. That's the way.
데이터베이스 상의 데이터를 암호화하는 방식은 가장 큰 장점으로는 보안성이 뛰어나다는 점이다. 데이터자체를 암호화하므로 암호화 키가 노출되지 않는함 데이터베이스가 통째로 노출이 된다 하더라도 키관리 시스템에 의한 적절한 권한을 가진 사용자가 아니라면 그 내용을 절대로 풀어볼 수 없다는 점이다. 반면에 단점 은 적용절차가 상대적으로 번거로우며, 크고 작은 성능저하를 수반한다는 점이다. The best way to encrypt data on a database is to be secure. The encryption key is not exposed because the data itself is encrypted. Even if the database is exposed, the contents can never be released unless the user has proper authority by the key management system. On the other hand, the disadvantage is that the application procedure is relatively cumbersome, accompanied by large and small performance degradation.
기존에 발명되거나 시장에 나와있는 데이터베이스 암호화 제품의 경우 크게 두가지 방식으로 구분되어질 수 있다.In the case of existing database encryption products, which are invented or put on the market, they can be classified in two ways.
첫 번째, 응용 프로그램 단에서 암/복호화 로직을 직접 적용하는 방식이다. 이 방식의 장점은 암/복호화 수행에 따른 성능저하를 최소화할 수 있다는 점이며, 단점으로는 응용 프로그램의 수정작업이 필요하므로 적용에 있어서 많은 비용이 필요하다는 점이다.First, the application / encryption logic is directly applied in the application stage. The advantage of this method is that performance degradation due to encryption / decryption can be minimized. The disadvantage is that the application program needs to be modified, which requires a lot of cost.
두 번째, 데이터베이스의 내장 프로시저(Procedure)를 이용한 방식이다. 이 방식의 장점은 암/복호화 기능 등의 보안기능 적용에 있어서 응용 프로그램의 수정이 전혀 필요없이 데이터베이스단에 비교적 간단한 설치작업을 통해 데이터베이스 보안 적용이 가능하다는 점이며, 단점으로는 성능저하가 첫 번째 방식에 비해 매우 크다는 점이다.Second, it uses a database stored procedure. The advantage of this method is that it is possible to apply database security through relatively simple installation at the database stage without any application modification in applying security functions such as encryption / decryption function. It is very large compared to the method.
이처럼 기존에 나와있는 두가지 데이터베이스 암호화 방식은 ‘성능저하’, ‘적용 용이성’이라는 두가지 문제점을 동시에 해결할 수 없으며, 한가지 문제점에 대한 해결방안을 가질 경우 나머지 문제점이 오히려 크게 도출되는 문제점을 가지고 있다.As such, the two existing database encryption methods cannot solve two problems at the same time, such as 'degraded performance' and 'ease of application', and if the solution to one problem is solved, the remaining problems are rather large.
따라서, 상기 문제점을 해결하기 위한 본 발명은 데이터베이스 보안, 암호화 적용시 수반되는 문제점인 ‘성능저하’와 ‘적용 용이성’이라는 두가지 동시에 해결하기 위해, 데이터베이스를 컬럼 또는 필드 별로 암호화하되 Java 응용프로그램이 기존에 사용하는 JDBC 드라이버 형태의 소프트웨어 보안모듈 내에서 암/복호화를 수행함으로서 Java 응용프로그램의 수정작업이 불필요하도록 하며, Java 응용프로그램단에서 직접 호출되어 암/복호화가 수행되어 성능저하를 최소화하는데 그 목적이 있다.Accordingly, in order to solve the above problems, the present invention encrypts a database by column or field in order to simultaneously solve two problems such as 'performance degradation' and 'ease of application,' which are accompanied by database security and encryption. By performing encryption / decryption in the software security module of the JDBC driver type used in Java, modification of Java application is unnecessary, and it is called directly from the Java application stage to perform encryption / decryption to minimize performance degradation. There is this.
상기 목적달성을 위한 본 발명은,
Java 응용 프로그램에 의해 구동하여 사용자가 데이터베이스에 접속하여 데이타를 조회할 수 있도록 동작하는 Java 응용프로그램 처리부가 어플리케이션 서버의 내부에 설치되어 있고, 상기 Java 응용프로그램 처리부의 내부에는 실질적으로 사용자를 JDBC를 통해 데이터베이스에 연결시켜주는 업무로직부가 설치되며, 상기 업무로직부와 데이터베이스의 사이에는 인터페이스를 위한 Java Standard API인 JDBC가 구성되어 있는 것을 포함하는 것에 있어서, The present invention for achieving the above object,
A Java application processing unit, which is driven by a Java application and operated by a user to access a database and inquires about data, is installed inside an application server. In the business logic unit that connects to the database is installed, and between the business logic unit and the database includes a JDBC, which is a Java Standard API for the interface is configured,
업무로직부와 JDBC 사이에 설치되어 사용자의 접근제어를 수행함과 동시에 입출력되는 데이타를 암/복호화 처리하는 보안중계모듈과;
상기 보안중계모듈이 접근제어 및 암/복호화를 수행하는데 필요한 보안정보, 즉, 암호화키와 접근권한정보를 보안메모리에 저장시키는 보안관리부와;
상기 보안관리부로 부터 입력되는 보안정보를 자체저장하여 보안중계모듈의 접근제어 및 암/복호화 수행시 보안중계모듈이 보안정보를 읽어낼 수 있도록 허가하는 보안메모리; 를 더 포함하여 구성한 것을 특징으로 한다.A security relay module installed between the business logic unit and JDBC to perform encryption / decryption of data input and output at the same time as performing user access control;
A security management unit for storing the security information necessary for performing the access control and encryption / decryption by the security relay module, that is, the encryption key and the access authority information in a secure memory;
A security memory that stores the security information input from the security management unit and permits the security relay module to read the security information during access control and encryption / decryption of the security relay module; Characterized in that further comprises a.
삭제delete
삭제delete
삭제delete
본 발명에 의하면, 데이터베이스 보안을 위해 데이터베이스에 저장된 데이터를 암/복호화 하는데 있어서, Java 응용 프로그램이 기존에 데이터베이스 접속시 사용하는 JDBC 인터페이스를 구현한 보안모듈을 설치하여 Java 응용프로그램과 기존 JDBC 드라이버 사이에서 메시지를 중계하며 암호화, 복호화 및 접근제어를 수행하도록 할 수 있다.According to the present invention, in encrypting / decrypting data stored in a database for database security, a Java module is installed between a Java application and an existing JDBC driver by installing a security module that implements a JDBC interface that a Java application uses when connecting to a database. It can relay messages and perform encryption, decryption and access control.
뿐만 아니라, 보안모듈이 JDBC 드라이버 형태로 구현되어지므로 기존 데이터베이스 방식의 문제점인 ‘성능저하’와 ‘적용 용이성’의 문제를 해결할 수 있다.In addition, since the security module is implemented in the form of JDBC driver, it can solve the problems of 'performance degradation' and 'ease of application', which are problems of the existing database method.
이하, 첨부된 도면 도 2 내지 도 5 를 참조하여 본 발명의 바람직한 실시예를 설명하면 다음과 같다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings, FIGS. 2 to 5.
상기 도면에 의하면, 본 발명의 데이터베이스 보안을 위한 데이터베이스 보안관리장치는 According to the drawings, the database security management device for database security of the present invention
어플리케이션 서버(1)의 내부에 Java 응용 프로그램에 의해 구동하여 사용자 PC를 통해 접속하는 사용자가 데이터베이스(1)에 접속하여 데이타를 조회할 수 있도록 도와주는 Java 응용프로그램 처리부(2)가 설치되어 있고, 상기 Java 응용프로그램 처리부(2)의 내부에는 실질적으로 사용자를 JDBC(4)를 통해 데이터베이스(11)에 연결시켜주는 업무로직부(3)가 설치되며, 상기 업무로직부(3)와 데이터베이스(11)의 사이에는 인터페이스를 위한 Java Standard API인 JDBC(4)가 구성되어 있는 것을 포함하는 것에 있어서, A Java
상기 JDBC(4)와 동일한 인터페이스를 가지며, 업무로직부(3)와 JDBC(4) 사이에 설치되어 사용자의 접근제어를 수행함과 동시에 입출력되는 데이타를 암/복호화 처리하는 보안중계모듈(20)과;
상기 보안중계모듈(20)이 접근제어 및 암/복호화를 수행하는데 필요한 보안정보, 즉, 암호화키와 접근권한정보를 보안메모리(21)에 저장시키는 보안관리부(22)와;The
A
상기 보안관리부(22)로 부터 입력되는 보안정보를 자체저장하여 보안중계모듈(20)의 접근제어 및 암/복호화 수행시 보안중계모듈(20)이 보안정보를 읽어낼 수 있도록 허가하는 보안메모리(21);를 더 포함하여 구성한 것을 특징으로 한다.
접근권한정보로는 사용자에 대해 발급된 고유ID 또는 신상정보가 사용되고, 이러한 고유ID 및 신상정보는 그 이전부터 당업계에서 널리 사용되고 있는 것이므로 상세한 설명을 생략한다.
상기 보안메모리(21)는 보안정보를 안전하게 저장하는 메모리이며, 보안관리부(22)는 시스템 관리자에 의해 신규 업데이트되는 보안정보를 상기 보안메모리(21)에 저장시켜 보안중계모듈(20)이 보안메모리(21)에 저장되어 있는 보안정보를 읽어내어 사용자 접근제어 및 암/복호화에 활용토록 한다.Secure memory that stores the security information input from the
As the access right information, a unique ID or personal information issued to the user is used, and since the unique ID and personal information are widely used in the art from before, detailed description thereof will be omitted.
The
삭제delete
상기 보안중계모듈(20)은 기존 Java 응용프로그램 처리부(2)가 사용하는 DB업체 제공 JDBC(4)와 동일한 인터페이스를 가지며, Java 응용프로그램 처리부(2)의 업무로직부(3)와 DB 업체에서 제공하는 JDBC(4) 사이에 설치되어 둘 사이의 메시지를 중계하는 과정에서 접근제어 및 암/복호화를 수행하게 된다. The
따라서, 보안중계모듈(20)을 업무로직부(3)와 JDBC(4)사이에 설치한 후에는 Java 응용프로그램 처리부(2)의 Java 응용프로그램의 수정작업은 필요가 없으며 다만 JDBC 설정 부분에서 드라이버의 URL을 변경하여 기존 JDBC(4) 대신 보안중계모듈(20)를 호출하도록 하는 변경 작업만으로 본 발명의 데이터베이스 보안 관리시스템의 적용이 완료된다.Therefore, after the
보안중계모듈(20)이 접근제어 및 암/복호화를 수행하는데 있어서 필요한 보안정보, 즉 암호화 키, 접근권한 정보 등의 보안정책 정보는 보안관리부(22)에서 관리하며 Java 응용프로그램의 보안메모리(21) 영역으로 안전한 암호화 채널을 통해 배포되어 진다. Security information necessary for the
보안중계모듈(20)은 보안메모리(21)에 저장된 암호화 키와 접근권한정보(보안정책정보)를 참조하여 사용자별, 컬럼별 접근제어 및 암/복호화를 수행하게 된다.The
본 발명의 데이터베이스 보안 관리 시스템이 적용된 후에는 모든 업무로직부(3)에서 데이터베이스(11)로의 질의문 및 결과 데이터는 보안 중계 모듈(20)을 거쳐서 수행되어지며, 이 과정에서 보안중계모듈(20)은 연결시의 사용자 인증, 질의문에 대한 파싱 작업을 통해 각 테이블/컬럼에 대한 접근제어 및 암호화 및 결과 데이터에 대한 복호화 작업을 수행하게 된다.After the database security management system of the present invention is applied, query statements and result data from all the
이하, 도 3 내지 도 5 는 본 발명의 제어과정을 도식화한 도면으로서,3 to 5 are diagrams illustrating the control process of the present invention.
도 3은 본 발명에 의한 데이터베이스 보안관리시스템이 적용된 후 Java 응용프로그램에서 데이터베이스(11) 접속시 보안중계모듈(20)에서 인증 및 접근제어를 수행하는 절차를 도식화한 도면이다.3 is a diagram illustrating a procedure for performing authentication and access control in the
Java 응용프로그램 처리부(2)에서 데이터베이스(11)에 연결하기 위해서는 기 존에 사용하던 JDBC(4) 대신 보안중계모듈(20)의 드라이버를 등록(S1)하게 되고, 보안중계모듈(20) 내부에서는 기존의 JDBC(4)를 등록(S2)하여 메시지를 필터링 할 수 있는 중계절차를 준비하게 된다.In order to connect to the
즉, 외부 사용자의 접속시 Java 응용프로그램 처리부(2)는 데이터베이스(11)로의 접속을 위해 보안중계모듈(20)로 입력 메세지를 전달하고, 보안중계모듈(20)은 내부적으로 인증 및 암/복호화 단계를 거친 후 JDBC(4)로 데이타를 전송하여 데이터베이스(11)로의 접속이 이루어지게 되는 것이다.That is, when an external user connects, the Java
이후 Java 응용프로그램 처리부(2)는 데이터베이스(11)에 접속하기 위해 JDBC의 Connection 객체 생성하는 절차(S3)를 수행하며, 보안중계모듈(20)은 응용프로그램 처리부(2)의 Connection 객체요청에 따라 사용자인증 및 접근권한의 인증을 보안메모리(21)에 요청한다(S4).Thereafter, the Java
이때, 상기 보안메모리(21)는 보안관리부(22)에서 제공되어 자체 저장되어 있는 보안정보를 토대로 사용자를 인증하면서 접근권한을 부여(S5)하게되고, 인증 및 접근권한 검토 결과 적합한 데이터베이스 접속이라고 판단되어지면 보안중계모듈(20)은 접속요청(Connection 객체 생성 요청)을 기존 JDBC(4)로 전달(S6)하여 데이터베이스(11) 접속 절차(S7~S10)를 수행한다.
상기 설명에서 사용자 인증이 보안메모리(21)에서 이루어지는 것처럼 기술되었으나, 실제로는 보안중계모듈(20)이 사용자 인증 및 접근권한의 인증을 위하여 보안메모리(21)에 저장되어 있는 보안정보(암호화키, 접근권한정보)를 읽어내어 사용자에 대하여 인증을 실시하게 된다.At this time, the
In the above description, although the user authentication is described as being performed in the
데이터베이스(11) 접속에 대한 인증은 Java 응용프로그램 단에서 기존 데이터베이스 계정 이외에 별도의 계정 체계를 통해 이루어지며, 이를 통해 데이터베이스 접속에 대한 이중의 인증 체계를 구축하여 보안성을 강화시킬 수 있다. Authentication for accessing the
도 4는 본 발명에 의한 데이터보안 관리장치가 적용된 후, Java 응용프로그램이 데이터베이스 접속 후 암호화가 적용된 컬럼에 대해 데이터 조회를 수행하는 절차를 도식화한 도면이다.4 is a diagram illustrating a procedure of performing a data inquiry on a column to which a Java application is encrypted after accessing a database after the data security management apparatus according to the present invention is applied.
본 발명에 의한 JDBC 드라이버 형태의 보안중계모듈(20) 적용시 Java 응용프로그램처리부(2)에서의 질의 요청 메시지는 보안중계모듈(20)로 공급(S20)되고, 보안중계모듈(20)은 이 질의 메시지를 해석(S21)하여 조회하고자 하는 테이블/컬럼에 대한 접근권한 여부를 판단하기 위해 보안 메모리(21)에 저장되어 있는 보안정보를 참조(S22)한 후 해당 질의 요청 메시지가 적합한 권한을 가진 경우 해당 컬럼에 대한 암호화키를 복호화 수행을 위해 보안 메모리(21)에 저장된 보안정보를 참조하게 된다(611). When applying the JDBC driver type
이후 보안중계모듈(20)은 질의 메시지를 기존 JDBC(4)로 전달(S23)하여 데이터 조회 절차(S24)를 수행하게 된다. 조회에 대한 결과 데이터는 암호화된 형태(S25)로 데이터베이스(11)에서 JDBC(4)를 통해 보안중계모듈(20)로 넘어오게 되며 이후 보안중계모듈(20)은 암호화된 데이터를 앞서 발급된 암호화키를 이용하여 복호화(S26)하여 평문의 결과 메시지를 Java 응용 프로그램 처리부(2)로 전달(S27)하게 된다.Thereafter, the
도 5는 Java 응용프로그램이 데이터베이스 접속 후 암호화가 적용된 컬럼에 대해 데이터를 입력하는 절차를 도식화한 도면이다. 5 is a diagram illustrating a procedure in which a Java application inputs data for a column to which encryption is applied after connecting to a database.
본 발명에 의한 보안중계모듈(20) 적용시 Java 응용프로그램 처리부(2)에서의 데이터 입력 질의 요청 메시지(S30)는 보안중계모듈(20)로 공급되고, 보안중계모듈(20)은 이 질의 메시지를 해석하여 입력하고자 하는 테이블/컬럼에 대한 접근권한 여부를 판단하기 위해 보안 메모리(21)의 보안정보를 참조(S31)한 후 적합한 권한을 가진 경우 해당 컬럼에 대한 암호화키를 보안 메모리(21) 영역으로부터 참조(S32)하여 입력 데이터에 대한 암호화를 수행(S33)한 후 질의 메시지를 재가공하게 된다. When the
이후 보안중계모듈(20)은 재가공(암호화)된 질의 메시지를 JDBC(4)로 전달하여 데이터 입력 절차를 수행하게 된다(S34). 이 과정에 의해 암호화된 데이타가 데이터베이스(11)에 저장되는 것이다. Thereafter, the
입력에 대한 결과는 JDBC(4)를 통해 보안중계모듈(20)로 넘어오게 되며 이후 결과 메시지를 Java 응용 프로그램 처리부(2)로 전달하게 된다.(S35~S37)The result of the input is transferred to the
도 1은 종래 데이터베이스 관리장치를 보인 블럭도.1 is a block diagram showing a conventional database management apparatus.
도 2는 본 발명의 데이터베이스 보안을 위한 데이터베이스 보안관리장치를 보인 블럭도.Figure 2 is a block diagram showing a database security management device for database security of the present invention.
도 3은 본 발명에 적용된 Java 응용프로그램 처리부에서 데이터베이스 접속시 보안중계모듈에서 인증 및 접근제어를 수행하는 절차를 도식화한 도면.3 is a diagram illustrating a procedure for performing authentication and access control in a security relay module when a database is accessed by a Java application processor applied to the present invention.
도 4는 본 발명에서 Java 응용프로그램 처리부가 데이터베이스 접속 후 암호화가 적용된 컬럼에 대해 데이터 조회를 수행하는 절차를 도식화한 도면.4 is a diagram illustrating a procedure for a Java application processing unit to perform a data query on a column to which encryption is applied after connecting to a database in the present invention.
도 5 는 Java 응용프로그램 처리부가 데이터를 암호화하여 데이터베이스에 데이터를 저장하는 절차를 도식화한 도면.5 is a diagram illustrating a procedure in which a Java application processor encrypts data and stores the data in a database.
도면의 주요부분에 대한 부호의 설명Explanation of symbols for main parts of the drawings
1: 어플리케이션 서버, 2: Java 응용프로그램 처리부,1: application server, 2: Java application processing unit,
3: 업무로직부, 4: JDBC,3: business department, 4: JDBC,
10: 데이터베이스 서버, 11: 데이터베이스,10: database server, 11: database,
20: 보안 중계 모듈, 21: 보안메모리,20: secure relay module, 21: secure memory,
22: 보안관리부,22: security management department,
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070138144A KR100948873B1 (en) | 2007-12-27 | 2007-12-27 | Security and management device for database security and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070138144A KR100948873B1 (en) | 2007-12-27 | 2007-12-27 | Security and management device for database security and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090070218A KR20090070218A (en) | 2009-07-01 |
KR100948873B1 true KR100948873B1 (en) | 2010-03-24 |
Family
ID=41321784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070138144A KR100948873B1 (en) | 2007-12-27 | 2007-12-27 | Security and management device for database security and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100948873B1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636675A (en) * | 2013-11-08 | 2015-05-20 | 苏州慧盾信息安全科技有限公司 | System and method for providing safety protection for database |
WO2016032233A2 (en) * | 2014-08-27 | 2016-03-03 | 주식회사 파수닷컴 | Data management method, computer program for same, recording medium thereof, user client for executing data management method, and security policy server |
KR101670496B1 (en) | 2014-08-27 | 2016-10-28 | 주식회사 파수닷컴 | Data management method, Computer program for the same, Recording medium storing computer program for the same, and User Client for the same |
KR101694784B1 (en) | 2014-12-31 | 2017-01-10 | 주식회사 파수닷컴 | Management method of data access, Computer program for the same, and Recording medium storing computer program for the same |
KR102024153B1 (en) * | 2017-12-26 | 2019-09-23 | 주식회사 마인드웨어?스 | Query processing service providing system based on personal information protection |
KR101878708B1 (en) * | 2018-01-22 | 2018-08-16 | 수상에스티(주) | Energy management system of smart electric home appliances using security-enhanced residential gateway device |
KR102673882B1 (en) * | 2019-10-14 | 2024-06-10 | 삼성에스디에스 주식회사 | Method and apparatus for data encryption, method and apparatus for data decrytion |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010105705A (en) * | 2000-05-17 | 2001-11-29 | 정문술 | Method for providing integrated user management environment to multi-internet service and system for the same |
KR20020030489A (en) * | 2000-10-18 | 2002-04-25 | 주효식 | Method For Offering A SQL Of DBMS In Web |
KR20050099751A (en) * | 2004-04-12 | 2005-10-17 | 주식회사 비티웍스 | System and method for security of database |
KR20050121778A (en) * | 2004-06-23 | 2005-12-28 | 육상수 | Method and system for audit and control database system |
-
2007
- 2007-12-27 KR KR1020070138144A patent/KR100948873B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010105705A (en) * | 2000-05-17 | 2001-11-29 | 정문술 | Method for providing integrated user management environment to multi-internet service and system for the same |
KR20020030489A (en) * | 2000-10-18 | 2002-04-25 | 주효식 | Method For Offering A SQL Of DBMS In Web |
KR20050099751A (en) * | 2004-04-12 | 2005-10-17 | 주식회사 비티웍스 | System and method for security of database |
KR20050121778A (en) * | 2004-06-23 | 2005-12-28 | 육상수 | Method and system for audit and control database system |
Also Published As
Publication number | Publication date |
---|---|
KR20090070218A (en) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11899820B2 (en) | Secure identity and profiling system | |
WO2021128733A1 (en) | Hyperledger fabric blockchain private data storage and access system and method therefor | |
US8700532B2 (en) | Information sharing system, computer, project managing server, and information sharing method used in them | |
US8181221B2 (en) | Method and system for masking data | |
CN104580316B (en) | Soft ware authorization management method and system | |
US10666647B2 (en) | Access to data stored in a cloud | |
KR100948873B1 (en) | Security and management device for database security and control method thereof | |
CN106534199B (en) | Distributed system certification and rights management platform under big data environment based on XACML and SAML | |
US7849512B2 (en) | Method and system to create secure virtual project room | |
US20020178370A1 (en) | Method and apparatus for secure authentication and sensitive data management | |
CN104718526A (en) | Secure mobile framework | |
US11849026B2 (en) | Database integration with an external key management system | |
KR100440037B1 (en) | Document security system | |
JP2017531247A (en) | Data management method, computer program therefor, recording medium therefor, user client for executing data management method, and security policy server | |
CN107257344B (en) | Server access method and system | |
CN114372242A (en) | Ciphertext data processing method, authority management server and decryption server | |
KR20230098156A (en) | Encrypted File Control | |
TWM617427U (en) | Risk information exchange system with privacy protection | |
KR100243657B1 (en) | Method for maintaining security in information retrievals | |
Davidson | Security for eBusiness | |
KR100883569B1 (en) | Method for managing security of an electric drawing and media recorded program for realizing the same | |
Anoshin et al. | Snowflake Security Overview | |
KR100276690B1 (en) | Authentication Method for Secure Object-Based Distributed Processing Systems | |
CN118264465A (en) | Big data platform data source access control system, method, equipment and medium based on blockchain | |
TWI436628B (en) | Application software and distribute protection method and system for communication device platform of action |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
N231 | Notification of change of applicant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130318 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140312 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150313 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20171127 Year of fee payment: 8 |
|
R401 | Registration of restoration | ||
LAPS | Lapse due to unpaid annual fee |