KR101018632B1 - Smart card and smart card managing system of having function of managing database - Google Patents

Smart card and smart card managing system of having function of managing database Download PDF

Info

Publication number
KR101018632B1
KR101018632B1 KR1020080076144A KR20080076144A KR101018632B1 KR 101018632 B1 KR101018632 B1 KR 101018632B1 KR 1020080076144 A KR1020080076144 A KR 1020080076144A KR 20080076144 A KR20080076144 A KR 20080076144A KR 101018632 B1 KR101018632 B1 KR 101018632B1
Authority
KR
South Korea
Prior art keywords
database
smart card
query
communication terminal
server
Prior art date
Application number
KR1020080076144A
Other languages
Korean (ko)
Other versions
KR20100015203A (en
Inventor
임상택
심재희
Original Assignee
(주)엔텔스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)엔텔스 filed Critical (주)엔텔스
Priority to KR1020080076144A priority Critical patent/KR101018632B1/en
Publication of KR20100015203A publication Critical patent/KR20100015203A/en
Application granted granted Critical
Publication of KR101018632B1 publication Critical patent/KR101018632B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B41/00Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
    • H10B41/30Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
    • H10B41/35Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region with a cell select transistor, e.g. NAND

Abstract

스마트 카드에 있어서, 데이터 베이스, 데이터 베이스 접근 계정을 가지는 어플리케이션 구동모듈, 상기 어플리케이션 구동모듈로부터 상기 데이터 베이스 접근 계정 및 데이터 베이스 질의문을 수신하여, 상기 접근계정을 확인하고, 상기 데이터 베이스 질의문에 상응하는 목적코드를 생성하고, 상기 데이터 베이스에 저장된 데이터에 기초하여 상기 목적코드를 수행하는 데이터 베이스 관리부를 포함하는 것을 특징으로 하는 스마트 카드가 제공된다. 본 발명에 따르면, 응용 프로그램에 따라 흩어져 있는 데이터들을 통합하고 통합된 자료들을 각 응용 프로그램이 효율적으로 활용할 수 있도록 하는 스마트 카드의 데이터 베이스 관리부를 제공할 수 있다.

Figure R1020080076144

스마트 카드, 데이터 베이스 관리부, 멀티플랫폼 파일시스템 인터페이스

A smart card, comprising: a database, an application driving module having a database access account, and receiving the database access account and a database query from the application driving module to confirm the access account, and to the database query statement. A smart card is provided, comprising a database manager for generating a corresponding object code and executing the object code based on data stored in the database. According to the present invention, it is possible to provide a database management unit of a smart card for integrating data scattered according to an application program and enabling each application program to efficiently use the integrated data.

Figure R1020080076144

Smart Card, Database Manager, Multiplatform Filesystem Interface

Description

데이터 베이스 관리기능을 갖는 스마트 카드 및 스마트 카드 관리시스템{Smart card and smart card managing system of having function of managing database}Smart card and smart card managing system of having function of managing database}

본 발명은 데이터 베이스 관리기능을 갖는 스마트 카드 및 스마트 카드 관리시스템에 관한 것으로서, 좀 더 상세하게는 스마트 카드에 포함되는 데이터 베이스에 스마트 카드의 어플리케이션 또는 외부 통신망의 서버의 어플리케이션이 접근할 수 있도록 관리하는 스마트 카드 및 스마트 카드 관리시스템에 관한 것이다.The present invention relates to a smart card and a smart card management system having a database management function, and more particularly, to allow a smart card application or an application of a server of an external communication network to access a database included in the smart card. It relates to a smart card and a smart card management system.

최근 이동통신단말이 2G 지원 단말기에서 3G 지원 단말기로 급속히 교체되면서 3G 지원단말기에 필수적으로 탑재되는 USIM 카드의 하드웨어 및 소프트웨어 기술개발이 시급한 과제로 떠오르고 있다.Recently, as the mobile communication terminal is rapidly replaced from the 2G support terminal to the 3G support terminal, the development of hardware and software technology of the USIM card essential to the 3G support terminal is emerging as an urgent task.

USIM은 스마트 카드의 일종으로 스마트 카드는 메모리와 프로세서를 포함할수 있다. 최초의 USIM에는 가입자 정보가 저장돼 통신망에서 가입자 관리와 인증 역할을 할 수 있도록 하고자 하였으나, 현재 일반적인 USIM의 저장용량은 144KB부 터 256MB 이상의 저장용량을 가지는 USIM 카드까지 다양하게 출시되고 있다. USIM is a type of smart card that can contain memory and a processor. In the first USIM, subscriber information is stored to enable subscriber management and authentication in the communication network. However, the current USIM storage ranges from 144KB to USIM cards with a storage capacity of 256MB or more.

이러한 USIM 카드의 저장용량이 수 기가급으로 늘어나는 것은 현재 스마트 카드 제조기술의 수준으로 볼 때 시간문제일 뿐이다.The increase in storage capacity of such USIM cards is only a matter of time in terms of smart card manufacturing technology.

이러한 USIM 과 같은 통신단말용 스마트 카드의 경우 메모리의 급속한 증가 및 프로세서의 탑재 등으로 인하여 이동통신가입자의 인증이라는 기본적인 기능 이외에도 다양한 기능을 제공할 수 있게 된다.The smart card for a communication terminal such as USIM can provide various functions in addition to the basic function of authentication of a mobile subscriber due to the rapid increase in memory and the mounting of a processor.

이 중 대표적인 것이 SCWS(Smart Card Web Server) 기능이다. 스마트카드 웹 서버는 스마트카드에 구현된 HTTP 서버로써 HTTP 프로토콜 표준을 지원하는 HTTP 서버이다. 스마트카드 웹 서버는 클라이언트인 이동통신단말 브라우저에서 다양한 웹 페이지 및 어플리케이션이 구동될 수 있도록 한다.The most representative of these is the Smart Card Web Server (SCWS) function. The smart card web server is an HTTP server implemented in a smart card and supports the HTTP protocol standard. The smart card web server enables various web pages and applications to be run in a mobile communication terminal browser as a client.

따라서 스마트 카드에 다양한 응용 프로그램이 설치되면서 응용프로그램이 이용하는 수많은 정보들이 스마트 카드의 저장부에 저장된다. 즉, 스마트 카드의 저장부에는 통신 가입자 정보뿐만이 아니라 응용 프로그램이 참조하여야 하는 여러 가지 정보들이 저장된다.Therefore, as various applications are installed on the smart card, a lot of information used by the applications is stored in the storage of the smart card. That is, not only the communication subscriber information but also various information to be referred to by the application program are stored in the storage of the smart card.

그러나 현재, 스마트 카드에 설치된 다양한 응용 프로그램이 스마트 카드의 데이터 베이스에 접근하도록 하기 위해서는 각각 응용 프로그램이 데이터 베이스의 정보를 참조할 수 있도록 하는 각각의 API가 마련되어야 한다. 이 때문에 스마트 카드에 다양한 응용 프로그램이 설치되거나 변경되는데 한계가 발생한다.However, in order to allow various applications installed in the smart card to access the database of the smart card, each API must be provided to allow the application to refer to the information of the database. This limits the installation or change of various applications on the smart card.

뿐만 아니라 스마트 카드에서 구현되는 SCWS로 인하여 외부 통신망의 서버단에서도 스마트 카드에 접근이 가능해지면서 외부에서의 데이터 베이스에의 접근을 관리하고, 인증하지 못한다면, 심각한 보안문제를 야기할 수도 있다.In addition, the SCWS implemented in the smart card enables access to the smart card from the server side of the external communication network, which can cause serious security problems if the external database cannot be managed and authenticated.

본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 스마트 카드에 포함되는 데이터 베이스에 스마트 카드의 어플리케이션 또는 외부 통신망의 서버의 어플리케이션이 접근할 수 있도록 관리하는 스마트 카드 및 스마트 카드 관리 시스템을 제공하는 데 그 목적이 있다.The present invention has been made to solve the above problems, and provides a smart card and smart card management system for managing the application of the smart card or the application of the server of the external communication network to the database included in the smart card Its purpose is to.

이외의 본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.Other objects of the present invention will become more apparent through the preferred embodiments described below.

상술한 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 스마트 카드가 제공된다.According to an aspect of the present invention for achieving the above object, a smart card is provided.

본 발명의 실시예에 의하면, 스마트 카드에 있어서, 데이터 베이스; 데이터 베이스 접근 계정을 가지는 어플리케이션 구동모듈; 상기 어플리케이션 구동모듈로부터 상기 데이터 베이스 접근 계정 및 데이터 베이스 질의문을 수신하여, 상기 접근계정을 인증하고, 상기 데이터 베이스 질의문에 상응하는 목적코드를 생성하고, 상기 데이터 베이스에 저장된 데이터에 기초하여 상기 목적코드를 수행하는 데이터 베이스 관리부를 포함하되, 상기 데이터 베이스 관리부는 상기 데이터 베이스 엔진이 상기 명령어 코드에 상응하는 연산을 수행하기 위하여 상기 데이터 베이스에 접 근하는 경로를 상기 데이터 베이스의 파일시스템에 따라 조정하는 멀티플랫폼 파일시스템 인터페이스를 더 포함하는 것을 특징으로 하는 스마트 카드가 제공된다.According to an embodiment of the present invention, a smart card, comprising: a database; An application driving module having a database access account; Receiving the database access account and the database query from the application driving module, authenticates the access account, generates the object code corresponding to the database query, and based on the data stored in the database And a database manager that executes an object code, wherein the database manager comprises a path for accessing the database by the database engine to perform an operation corresponding to the command code according to the file system of the database. A smart card is provided, further comprising a multiplatform filesystem interface to adjust.

상기 데이터 베이스 관리부는 상기 접근 계정에 상응하는 데이터 베이스 영역을 결정하는 계정관리부; 상기 데이터 베이스 질의문을 해석하여 목적코드를 생성하는 질의 컴파일러 및 상기 질의 컴파일러부터 상기 명령어 코드를 전송 받아 상기 데이터 베이스에 접근하여 상기 명령어 코드에 상응하는 연산을 수행하는 데이터 베이스 엔진을 포함할 수 있다.The database manager may include an account manager that determines a database area corresponding to the access account; It may include a query compiler for interpreting the database query statement to generate the object code, and a database engine receiving the command code from the query compiler to access the database to perform operations corresponding to the command code. .

상기 데이터 베이스는 NOR 메모리, NAND 메모리 중 적어도 하나 이상을 포함할 수 있다.The database may include at least one of a NOR memory and a NAND memory.

상기 NOR 메모리 및 NAND 메모리는 각각 다른 플랫폼의 파일시스템에 의하여 데이터를 저장 또는 삭제할 수 있다.The NOR memory and the NAND memory may respectively store or delete data by file systems of different platforms.

상기 스마트 카드는 스마트 카드 웹 서버(SCWS : Smart Card Web Server)를 더 포함하되, 상기 어플리케이션 구동모듈은 상기 스마트 카드 웹 서버를 통하여 상기 데이터 베이스 접근 계정 및 데이터 베이스 질의문을 상기 데이터 베이스 접근 모듈로 전송할 수 있다.`The smart card further includes a smart card web server (SCWS), wherein the application driving module transfers the database access account and the database query to the database access module through the smart card web server. I can send it.`

상기 어플리케이션 구동모듈은 웹 기반 어플리케이션 구동모듈을 포함하되, 상기 웹 기반 어플리케이션 구동모듈은 상기 스마트 카드 웹 서버 및 상기 데이터 관리부를 통하여 상기 데이터 베이스에 접근할 수 있다.The application driving module may include a web based application driving module, and the web based application driving module may access the database through the smart card web server and the data manager.

상기 스마트 카드는 통신단말에 연결되어 상기 통신단말과 TCP/IP를 이용하여 데이터를 주고 받으며, 상기 통신단말과 연결된 외부관리 서버로부터 전송되는 스마트 카드 제어명령을 상기 통신단말을 통해 중계 받을 수 있다.The smart card may be connected to a communication terminal to exchange data with the communication terminal using TCP / IP, and may receive a smart card control command transmitted from an external management server connected to the communication terminal through the communication terminal.

상술한 목적을 달성하기 위한 본 발명의 다른 일 측면에 따르면, 데이터 베이스를 관리하는 방법이 제공된다.According to another aspect of the present invention for achieving the above object, a method for managing a database is provided.

본 발명의 실시예에 의하면, 스마트 카드에 포함되는 데이터 관리부가 상기 스마트에 포함되는 카드 어플리케이션 구동모듈로부터 수신한 데이터 베이스 질의문을 처리하여 데이터 베이스를 관리하는 방법에 있어서, 상기 데이터 베이스 질의문에 포함된 데이터 베이스 접근계정을 인증하는 단계; 상기 접근계정이 인정된 데이터 베이스 질의문에 상응하는 목적코드를 생성하는 컴파일 단계; 상기 목적코드를 상기 스마트 카드에 포함되는 데이터 베이스의 파일 시스템에 기초하여 조정하는 단계; 및 상기 데이터 베이스에 접근하여 상기 목적코드를 실행하여 결과 데이터를 산출하는 단계를 포함하는 것을 특징으로 하는 데이터 베이스 관리방법이 제공된다. According to an embodiment of the present invention, in the method for managing a database by processing a database query received from a card application driving module included in the smart card data management unit included in the smart card, the database query statement Authenticating the included database access account; A compilation step of generating object codes corresponding to database queries in which the access account is authorized; Adjusting the object code based on a file system of a database included in the smart card; And executing the object code to calculate the result data by accessing the database.

상술한 목적을 달성하기 위한 본 발명의 또 다른 일 측면에 따르면, 기록매체가 제공된다.According to another aspect of the present invention for achieving the above object, a recording medium is provided.

본 발명의 실시예에 의하면, 스마트 카드에 포함되는 데이터 관리부가 상기 스마트에 포함되는 카드 어플리케이션 구동모듈로부터 수신한 데이터 베이스 질의문을 처리하여 데이터 베이스를 관리하는 방법을 구현하기 위한 프로그램이 기록된 기록매체에 있어서, 상기 데이터 베이스 질의문에 포함된 데이터 베이스 접근계정 을 인증하는 단계; 상기 접근계정이 인정된 데이터 베이스 질의문에 상응하는 목적코드를 생성하는 컴파일 단계; 상기 목적코드를 상기 스마트 카드에 포함되는 데이터 베이스의 파일 시스템에 기초하여 조정하는 단계; 및 상기 데이터 베이스에 접근하여 상기 목적코드를 실행하여 결과 데이터를 산출하는 단계를 포함하는 것을 특징으로 하는 데이터 베이스 관리방법을 구현하기 위한 프로그램이 기록된 기록매체가 제공된다.According to an embodiment of the present invention, a record in which a program for implementing a method for managing a database by processing a database query received from a card application driving module included in a smart card is implemented. A medium, comprising: authenticating a database access account included in the database query; A compilation step of generating object codes corresponding to database queries in which the access account is authorized; Adjusting the object code based on a file system of a database included in the smart card; And accessing the database and executing the object code to calculate the result data. A recording medium having a program recorded thereon is provided.

상술한 목적을 달성하기 위한 본 발명의 또 다른 일 측면에 따르면, 스마트 카드 관리 시스템이 제공된다.According to another aspect of the present invention for achieving the above object, there is provided a smart card management system.

본 발명의 실시예에 의하면, 스마트 카드를 관리하는 시스템에 있어서, 데이터 베이스 질의문을 수신하면, 상기 데이터 베이스 질의문을 분석하여 분석결과에 상응하는 목적코드를 생성하고, 목적코드를 데이터 베이스의 파일 시스템에 따라 조정하여 상기 목적코드를 수행하는 데이터 베이스 관리부를 포함하는 스마트 카드; 상기 스마트 카드와 연결되어 상기 스마트 카드와 데이터 송수신이 가능한 이동통신단말; 상기 이동통신단말과 무선으로 연결된 세션상으로 데이터 송수신이 가능한 원격관리 서버(Admin Sever); 상기 원격관리 서버 및 상기 이동통신단말을 통하여 상기 스마트 카드로 데이터 베이스 질의문을 전송하는 원격 데이터 베이스 관리서버를 포함하되, 상기 데이터 베이스 질의문은 상기 스마트 카드에 포함되는 응용 프로그램과 연동하는 응용 프로그램 서버의 관리 단말로부터 전송되고, 상기 원격 데이터 베이스 관리서버는 상기 응용 프로그램 서버의 관리 단말의 계정을 인증 하는 것을 특징으로 하는 스마트 카드 관리 시스템이 제공된다.According to an embodiment of the present invention, in a system for managing a smart card, upon receiving a database query, the database query is analyzed to generate an object code corresponding to the analysis result, and the object code is stored in the database. A smart card including a database manager for adjusting the file system to execute the object code; A mobile communication terminal connected to the smart card and capable of transmitting and receiving data with the smart card; A remote management server (Admin Sever) capable of transmitting and receiving data over a wirelessly connected session with the mobile communication terminal; And a remote database management server for transmitting a database query to the smart card through the remote management server and the mobile communication terminal, wherein the database query is linked with an application program included in the smart card. It is transmitted from the management terminal of the server, the remote database management server is provided with a smart card management system, characterized in that to authenticate the account of the management terminal of the application program server.

상기 스마트 카드 관리 시스템은 상기 이동통신단말의 가입자정보를 저장하고 관리하는 가입자정보 관리서버를 더 포함하되, 상기 원격관리 서버는 상기 원격 데이터 베이스 관리서버로부터 데이터 베이스 질의문을 수신한 경우 상기 이동통신단말의 스마트 카드에서 상기 데이터 베이스 질의문을 처리할 수 있는지 여부를 상기 가입자 정보 관리서버를 통하여 인증할 수 있다.The smart card management system further includes a subscriber information management server for storing and managing subscriber information of the mobile communication terminal, wherein the remote management server receives a database query from the remote database management server. Whether or not the smart card of the terminal can process the database query can be authenticated through the subscriber information management server.

이상에서 상술한 바와 같이 본 발명에 따르면, 응용 프로그램에 따라 흩어져 있는 데이터들을 통합하고 통합된 자료들을 각 응용 프로그램이 효율적으로 활용할 수 있도록 하는 스마트 카드의 데이터 베이스 관리부(경량 DBMS)를 제공할 수 있다.As described above, according to the present invention, it is possible to provide a smart card database management unit (lightweight DBMS) for integrating data scattered according to an application program and allowing each application program to efficiently use the integrated data. .

또한, 외부 통신망에서도 스마트 카드에 접근하는 경우에도 본 발명의 데이터관리부가 포함된 스마트 카드로 인하여 데이터 베이스를 구성하고 관리할 수 있다.In addition, even in the case of accessing the smart card in the external communication network, the database can be configured and managed by the smart card included in the data management unit of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발 명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징 들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 첨부한 도면들을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, and in describing the present invention with reference to the accompanying drawings, the same or corresponding components are given the same reference numerals regardless of the reference numerals. Duplicate explanations will be omitted.

도 1은 본 발명의 실시예에 따른 스마트 카드가 이동통신단말에 연결된 상태를 나타낸 도면이다.1 is a view showing a state in which a smart card is connected to a mobile communication terminal according to an embodiment of the present invention.

도 1을 참조하면, 이동통신단말(100)은 HTTP 클라이언트(브라우저, 105), 어플리케이션(110) 및 이동통신단말 OS(Operating System, 115)을 포함한다.Referring to FIG. 1, the mobile communication terminal 100 includes an HTTP client (browser) 105, an application 110, and a mobile communication terminal OS (Operating System) 115.

이동통신단말(100)과 연결되는 스마트 카드(120)는 스마트 카드 OS(125), SCWS(130), 어플리케이션 구동모듈(140), 데이터 베이스 관리부(Data Base Management System, 150), 데이터 베이스(160)를 포함한다.The smart card 120 connected to the mobile communication terminal 100 includes a smart card OS 125, an SCWS 130, an application driving module 140, a database management unit 150, and a database 160. ).

스마트 카드(120)는 이동통신단말(100)과 전기적으로 접속되어 신호를 주고 받을 수 있으며, 데이터를 송수신하는 방법은 APDU(Application Protocol Data Unit)환경을 통한 방법, USB(Universal Serial Bus) 환경을 통한 TCP/IP 방식, USB 환경을 통하여 Mass Storage command 방법 등이 사용될 수 있다. 다만, 본 발명의 스마트 카드(120)가 이동통신단말(100)과 통신하는 환경이나 프로토콜이 이에 한정되는 것은 아니며, 다양한 방식이 적용될 수 있음은 자명하다.The smart card 120 may be electrically connected to the mobile communication terminal 100 to transmit and receive signals, and the method of transmitting and receiving data may include a method through an APDU (Application Protocol Data Unit) environment and a universal serial bus (USB) environment. Through the TCP / IP method and the USB environment, the Mass Storage command method can be used. However, the environment or protocol for the smart card 120 of the present invention to communicate with the mobile communication terminal 100 is not limited thereto, and various methods may be applied.

스마트 카드 OS(125)는 스마트 카드 운영체제를 의미하며, COS(Chip Operation System)등의 다른 명칭으로도 명명될 수 있다. 스마트 카드 OS(125)는 스마트 카드(120)에 내장되어 각 모듈을 실행시킬 수 있는 프로그램 및 스마트 카드(120)의 하드웨어 관리는 물론, 보안 메커니즘을 통한 위, 변조 및 복제 방지 기능을 수행할 수 도 있다.The smart card OS 125 refers to a smart card operating system, and may also be called other names such as a chip operation system (COS). The smart card OS 125 may perform hardware, management, and forgery, tampering, and copy protection through a security mechanism, as well as a program that is embedded in the smart card 120 to execute each module and the smart card 120. There is also.

SCWS(130)는 본 발명의 스마트 카드(120)에 포함되는 HTTP(Hyper Text Transfer Protocol) 서버에 해당하는 것으로 이동통신단말(100)이나 이동통신단말(100)을 통하여 외부의 통신망으로 HTTP 프로토콜에 의하여 웹 문서(Web Document) 등의 데이터를 전송하는 기능을 수행한다.The SCWS 130 corresponds to a Hyper Text Transfer Protocol (HTTP) server included in the smart card 120 of the present invention. The mobile communication terminal 100 or the mobile communication terminal 100 transmits an HTTP protocol to an external communication network. Thereby transmitting a data such as a web document.

즉, SCWS(130)는 본 발명의 스마트 카드(120)에 구현된 이동식 서버에 해당하며, 기본적으로 이동통신단말(100)의 브라우져(클라이언트, 105)의 요청에 따라 웹 페이지 문서(Static or Dynamic HTML pages)를 이동통신단말(100)로 전달할 수 있다.That is, the SCWS 130 corresponds to a mobile server implemented in the smart card 120 of the present invention, and basically a web page document (Static or Dynamic) at the request of a browser (client) 105 of the mobile communication terminal 100. HTML pages) may be transferred to the mobile communication terminal 100.

또한, 본 발명의 이동통신단말(100)과는 TCP/IP 통신을 수행하여 외부의 통 신망과 연결될 수 있으며, SCWS(130)에는 종래의 웹 서버와 마찬가지로 URL이 DNS(Domain Name System) 시스템에 등록되어 외부 통신망에서도 본 발명의 SCWS에 접근할 수도 있다.In addition, the mobile communication terminal 100 of the present invention may be connected to an external communication network by performing TCP / IP communication, and the SCWS 130 has a URL in a DNS (Domain Name System) system as in a conventional web server. It may be registered to access the SCWS of the present invention from an external communication network.

즉, 이동통신단말(100)은 SCWS(130)와 외부 통신망간에 IP 게이트웨이(Gateway)의 역할을 함으로써 외부에서 SCWS(130)에 접근이 가능하도록 한다. 이 때문에 외부 통신망에 위치한 원격관리 서버(미도시)와 세션이 형성(Establishment)되어 외부로부터 제어가 가능하다. 이러한 서버 대 서버간의 데이터 교환 및 업데이트가 별도의 에이전트 프로그램(미도시)에 의하여 가능함은 자명하다.That is, the mobile communication terminal 100 enables the external access to the SCWS 130 by acting as an IP gateway between the SCWS 130 and the external communication network. For this reason, a session is established with a remote management server (not shown) located in an external communication network so that it can be controlled from the outside. It is apparent that such server-to-server data exchange and update are possible by a separate agent program (not shown).

어플리케이션 구동모듈(140)은 서브릿(Servlet) 구동모듈(142)과 애플릿(Applet) 구동모듈(144)을 포함하는 것으로 도시하였다.The application driving module 140 is illustrated as including a servlet driving module 142 and an applet driving module 144.

서브릿 구동모듈(142)은 SCWS(130)가 이동통신단말(130) 또는 외부 통신망으로 웹 서버 기반의 응용 프로그램(Application Program) 구동모듈을 의미하며, 이러한 응용 프로그램이 구동되기 위하여는 데이터 베이스(160)에 접근하여야 하는 경우가 있다.The servlet driving module 142 refers to an application program driving module based on a web server by the SCWS 130 to the mobile communication terminal 130 or an external communication network. ) May be required.

또한, 애플릿 구동모듈(144)은 서브릿 구동모듈(142)과 달리 SCWS(130) 와의 연동 없이 동작되는 응용 프로그램을 구동하는 모듈로써 역시 데이터 베이스 (160)에 접근하여야 하는 경우가 있다.In addition, unlike the servlet driving module 142, the applet driving module 144 is a module for driving an application program that is operated without interworking with the SCWS 130, and may also need to access the database 160.

다만, 상술한 서브릿 구동모듈(142)과 애플릿 구동모듈(144)은 응용 프로그램의 종류에 따라 SCWS(130)와의 연동이 필요한 어플리케이션 구동모듈과 SCWS와의 연동이 불필요한 어플리케이션 구동모듈을 구분하기 위한 예시에 불과하며 이외 다른 종류의 어플리케이션 구동모듈을 더 포함할 수 있는 것은 자명하다.However, the servlet driving module 142 and the applet driving module 144 described above are examples for distinguishing the application driving module that requires the interworking with the SCWS 130 and the application driving module that does not need the interworking with the SCWS according to the type of the application program. Obviously, it may be possible to further include other types of application driving modules.

본 발명의 스마트 카드(120)에 포함되는 데이터 베이스 관리부(DBMS : Data Base Management System or Part, 150)는 상술한 어플리케이션 구동모듈(140)이 응용 프로그램을 구동하는데 있어서 참조가 요구되는 데이터를 데이터 베이스(160)에 접근하여 이용할 수 있도록 관리하는 모듈이다.Database management unit (DBMS: 150) included in the smart card 120 of the present invention is a database for the data required to be referenced in the application driving module 140 to drive the application program described above. This module manages to access and use the 160.

또한, SCWS(130)가 이동통신단말 (100)로 제공할 웹 페이지 문서, 이미지 등의 데이터가 데이터 베이스 (160)에 저장되어 있는 경우에는 (130)도 데이터 베이스에 접근하도록 할 수 있다.In addition, when data such as a web page document, an image, etc. to be provided to the mobile communication terminal 100 by the SCWS 130 is stored in the database 160, the 130 may also access the database.

배경기술에서 상술한 바와 같이 본 발명의 데이터 베이스 관리부(150)가 존재하지 않는 경우에는 상술한 SCWS(130), 서브릿 구동모듈(142), 애플릿 구동모듈(144) 등의 다양한 모듈이 데이터 베이스(160)에 접근하도록 하기 위한 API(Application Program Interface)가 따로 구현되어야 했다.When the database manager 150 of the present invention does not exist as described above in the background art, various modules such as the above-described SCWS 130, the servlet drive module 142, and the applet drive module 144 may be used. API (Application Program Interface) had to be implemented separately.

그러나 스마트 카드(120)에서 어플리케이션 프로그램이 갱신, 변경되는 경우에는 어플리케이션 구동모듈(140)이 데이터 베이스(160)에 접근하기 위한 API 도 변경되어야 하므로 매번 API까지 새로 설계되어야 하기 때문에 이는 스마트 카드(120)의 효용성을 크게 떨어뜨리는 결과가 된다.However, when the application program is updated and changed in the smart card 120, the API for accessing the database 160 to the application driving module 140 must also be changed, so it must be newly designed up to the API every time. This greatly reduces the utility of).

뿐만 아니라 후술할 바와 같이 본 발명의 데이터 베이스(160)는 NOR 형 플래시 메모리와 NAND 형 플래시 메모리를 모두 포함할 수 있는데, 서로 다른 파일시스템으로 데이터를 관리하는 각각의 저장부(NOR, NAND)에 접근하기 위한 API의 다양 성(Variation)까지 고려되어야 하므로 스마트 카드(120)의 어플리케이션 프로그램의 갱신에 문제가 생긴다.In addition, as will be described later, the database 160 of the present invention may include both a NOR-type flash memory and a NAND-type flash memory. Each of the storage units NOR and NAND managing data using different file systems may be provided. Since a variety of APIs for access must be considered, a problem arises in updating the application program of the smart card 120.

본 발명의 데이터 베이스 관리부(150)는 이러한 SCWS(130) 및 다양한 프로그램에 의하여 구동될 수 있는 어플리케이션 구동부(140)가 데이터 베이스(160)에 용이하게 접근할 수 있도록 한다.The database manager 150 of the present invention allows the application driver 140, which can be driven by the SCWS 130 and various programs, to easily access the database 160.

즉, 데이터 베이스 관리부(150)는 어플리케이션 접근 인터페이스(Application Access Interface)를 통하여 SCWS(130), 어플리케이션 구동부(140)로부터 데이터 베이스(160)에 접근하기 위한 질의문(또는 질의 명령)를 수신할 수 있다. That is, the database manager 150 may receive a query (or query command) for accessing the database 160 from the SCWS 130 and the application driver 140 through an application access interface. have.

이 경우 어플리케이션 접근 인터페이스는 SCWS(130), 서브릿 구동모듈(142), 애플릿 구동모듈(144) 등의 다양한 모듈이 각각의 데이터 베이스 접근 권한 계정을 인증 및 허가하는 기능을 수행할 수 있다. 이로써 다양한 어플리케이션 구동모듈(140)이 자신의 계정으로 허가되지 않는 데이터 베이스(160)의 영역에는 접근하지 못하도록 관리할 수 있다.In this case, the application access interface may perform a function of authenticating and authorizing each database access authority account by various modules such as the SCWS 130, the servlet driving module 142, and the applet driving module 144. As a result, various application driving modules 140 may be managed to prevent access to an area of the database 160 which is not authorized by the user account.

질의 명령어에는 Create Dictionary, Create Table, Create Views, Create User, Commit, Drop table, Drop view, Insert, Update, Delete, Revoke, Rollback 등의 연산 명령이 포함될 수 있다.The query command may include operation commands such as Create Dictionary, Create Table, Create Views, Create User, Commit, Drop table, Drop view, Insert, Update, Delete, Revoke, and Rollback.

데이터 베이스 관리부(150)는 질의문 해석기(Query Compiler)를 포함하는데, 질의문 해석기는 SCWS(130), 어플리케이션 구동부(140)로부터 질의문(또는 질의 명령어)을 토크나이징(Tokenizing)하고, 파싱(Parsing)한다. 이 후 파싱된 결과에 기 초하여 데이터 베이스(160)에 접근하여 상술한 명령어 연산을 수행할 수 목적코드를 생성한다.The database manager 150 includes a query compiler, which queries and parses a query (or query command) from the SCWS 130 and the application driver 140. (Parsing) Thereafter, based on the parsed result, the database 160 is accessed to generate an object code capable of performing the above-described command operation.

데이터 베이스 관리부(150)는 해당 코드에 기초하여 데이터 베이스(160)에 접근하여 해당 데이터를 독출하고 독출된 데이터에 기초하여 명령어 연산을 수행하여 수행된 결과를 어플리케이션 구동모듈(140)로 전달한다.The database manager 150 accesses the database 160 based on the corresponding code, reads out the corresponding data, and performs a command operation based on the read data to transmit the result to the application driving module 140.

따라서 본 발명의 데이터 베이스 관리부(150)에 의하면 다양한 종류의 어플리케이션 구동모듈(140)가 표준화된 질의어인 SQL(Standard Query Language)를 통하여 데이터 베이스(160)에 접근하도록 할 수 있다. Therefore, according to the database manager 150 of the present invention, various types of application driving modules 140 can access the database 160 through SQL (Standard Query Language), which is a standardized query word.

또한, 본 발명의 데이터 베이스 관리부(150)가 데이터 베이스(160)에 접근하는 경우 서로 다른 파일시스템(File System)으로 데이터를 관리하는 각각의 저장부(NOR, NAND)에 접근하기 위한 멀티플랫폼 파일시스템 인터페이스를 포함한다.In addition, when the database manager 150 of the present invention accesses the database 160, a multiplatform file for accessing each of the storage units NOR and NAND managing data with different file systems. Contains the system interface.

즉, 파일시스템은 데이터 파일에 색인을 부가하고, 데이터의 저장 및 검색을 위해 논리적으로 그것들을 어디에 위치시키고 정리하는지 등의 규칙을 정리해 놓은 시스템으로써 다양한 플랫폼의 파일시스템이 존재한다.In other words, the file system of various platforms exists as a system that adds indexes to data files and arranges rules such as where to logically locate and organize them for data storage and retrieval.

따라서 본 발명의 데이터 베이스 관리부(150)는 다양한 플랫폼의 파일 시스템의 데이터 베이스에 접근하기 위한 멀티플랫폼 파일시스템 인터페이스(Multi Platform File system Interface)을 포함한다.Accordingly, the database manager 150 of the present invention includes a multi platform file system interface for accessing a database of file systems of various platforms.

즉, 예를 들어 현재 USIM과 같은 스마트 카드(120)에 서 많이 사용되는 NOR 형 플래시 메모리에는 기본적인 읽기, 쓰기 및 업데이트 등이 정의된 ESTI 표준화 파일 시스템(ISO-7816-4)가 사용되고 있지만 이러한 NOR 형 플래시 메모리는 속도 와 용량에 있어 한계가 있다. 이 때문에 본 발명의 스마트 카드(120)는 NAND 형 플래시 메모리를 포함할 수 있는데 이 경우 NAND 형 플래시 메모리는 FAT16 등과 같이 다른 파일시스템에 의하여 운영된다.That is, for example, the NOR type flash memory, which is currently used in smart cards 120 such as USIM, is an ESTI standardized file system (ISO-7816-4) in which basic reads, writes, and updates are defined. Flash memory has limitations in speed and capacity. For this reason, the smart card 120 of the present invention may include a NAND type flash memory. In this case, the NAND type flash memory is operated by another file system such as FAT16.

이 때문에 하나의 스마트 카드(120)에 NOR 형 플래시 메모리와 NAND 플래시 메모리가 공존하게 될 수도 있으며, 스마트 카드(120)마다 서로 다른 파일 시스템에 의해 운영되는 NAND 형 플래시 메모리가 탑재될 수도 있다.For this reason, a NOR flash memory and a NAND flash memory may coexist in one smart card 120, and a NAND flash memory operated by a different file system may be mounted in each smart card 120.

따라서 이러한 다양한 파일 시스템의 메모리에 일관적으로 접근할 수 있도록하기 위해서 상술한 멀티플랫폼 파일시스템 인터페이스는 목적코드를 상이한 파일 시스템의 데이터 베이스(160)에 접근시키기 위하여 목적코드를 해당 피일 시스템의 제어명령에 매칭시키는 기능을 수행한다.Therefore, in order to access the memory of the various file systems consistently, the above-described multiplatform file system interface may control the object codes of the corresponding file system to access the object codes to the database 160 of different file systems. Performs a matching function.

또한 이를 통해 다양한 종류의 스마트 카드(100) (예를 들면 다른 제조사로부터 제작된 스마트 카드)의 데이터 베이스(160)가 각기 다른 파일시스템을 사용하는 메모리를 탑재시킨 경우에도 본 발명의 데이터 베이스 관리부(150)가 정상적으로 기능할 수 있도록 한다. In addition, even when the database 160 of various types of smart cards 100 (for example, smart cards manufactured by different manufacturers) has a memory using different file systems, the database manager of the present invention ( 150) to function normally.

따라서 본 발명의 데이터 관리부(150)에 의하면, 어플리케이션 개발자 등이 다양한 플랫폼의 파일시스템을 모두 이해할 필요 없이 SQL을 통해 데이터 베이스 관리가 가능하다. 이는 도 4를 통하여 상세히 후술하도록 한다.Therefore, according to the data management unit 150 of the present invention, it is possible to manage the database through SQL without the application developer and the like need to understand all the file systems of various platforms. This will be described later in detail with reference to FIG. 4.

상술한 설명은 스마트 카드(120) 내부의 SCWS(130), 서브릿 구동모듈(142), 애플릿 구동모듈(144) 등의 다양한 모듈이 스마트 카드(120) 내부의 데이터 베이스(160)에 접근하기 위한 구성을 설명한 부분이지만, 스마트 카드(120) 내부의 데 이터 베이스(160)에 접근할 수 있는 것은 이 뿐만이 아니다. The above description is for various modules such as the SCWS 130, the servlet driving module 142, and the applet driving module 144 in the smart card 120 to access the database 160 in the smart card 120. Although the configuration has been described, it is not only the access to the database 160 inside the smart card 120.

즉, 도면에 도시된 바와 같이 본 발명의 실시예에 의한 스마트 카드(120)는 이동통신단말(100)과 연결되어 데이터 통신을 수행할 수 있기 때문에 이동통신단말(100)의 어플리케이션(110)도 스마트 카드(120)의 데이터 베이스(160)에 접근이 가능하도록 할 수 있다.That is, as shown in the figure, the smart card 120 according to the embodiment of the present invention is connected to the mobile communication terminal 100 to perform data communication, so that the application 110 of the mobile communication terminal 100 is also present. The database 160 of the smart card 120 may be accessed.

다만, 이동통신단말(100)이 본 발명의 스마트 카드(120)와 데이터 통신을 수행하는 채널은 상술한 바와 같이 USB를 통한 TCP/IP 통신일 수 있는데, 이러한 통신은 상술한 SCWS(130)를 통하여 수행된다. 즉, 서버와 클라이언트의 관계로써 이동통신단말(100)이 요청하면, SCWS(130)에서 응답하는 방식으로 데이터 교환이 이루어 진다. 다만, TCP/IP뿐만 아니라, BIP(Bearer Independence Protocol)의 다양한 방식으로 데이터 교환을 수행할 수도 있음은 상술한 바와 같다.However, the channel through which the mobile communication terminal 100 performs data communication with the smart card 120 of the present invention may be TCP / IP communication through USB as described above. Is performed through. That is, when the mobile communication terminal 100 requests in a relationship between the server and the client, data exchange is performed in a manner that the SCWS 130 responds. However, as described above, not only TCP / IP but also data exchange may be performed in various manners of a bearer independence protocol (BIP).

이 경우, 이동통신단말(100) 내부에 설치된 어플리케이션(110)도 통신단말 OS(115)를 통하여 SCWS(130)에 접속하고, 상술한 바와 같이 데이터 베이스 관리부(150)를 통하여 데이터 베이스(160)에 접근할 수 있다.In this case, the application 110 installed in the mobile communication terminal 100 also accesses the SCWS 130 through the communication terminal OS 115, and the database 160 through the database manager 150 as described above. Can be accessed.

또한, 스마트 카드(120) 내의 데이터 베이스(160)에는 이동통신망에 위치한 원격관리 서버(Admin. Server, 미도시) 등도 접근이 가능하다. 즉, 스마트 카드(120) 외부의 원격관리 서버는 원격 원격 데이터 베이스 관리서버(610)(미도시) 또는 게이트웨이 서버(미도시)로부터 전송되는 질의문 등을 이동통신단말에 전송하고, 이동통신단말(100)은 이를 스마트 카드(120)로 전송함으로써 통신망에서의 데이터 베이스(160) 접근이 가능하다. 즉, 외부에서 데이터 베이스(160)의 데이터 저 장, 검색, 업데이트 등이 가능하다. 이에 대하여는 도 6을 통하여 상세히 설명하도록 한다.In addition, the database 160 in the smart card 120 is accessible to a remote management server (Admin. Server, not shown) located in the mobile communication network. That is, the remote management server external to the smart card 120 transmits a query or the like transmitted from the remote remote database management server 610 (not shown) or the gateway server (not shown) to the mobile communication terminal, and the mobile communication terminal. 100 may access the database 160 in the communication network by transmitting it to the smart card 120. That is, data storage, retrieval, and updating of the database 160 can be performed externally. This will be described in detail with reference to FIG. 6.

또한 본 발명의 다른 실시예에 의한 스마트 카드(120)의 경우 이동통신단말(100)이 스마트 카드(120)의 데이터 베이스(160)에 SCWS(130) 및 데이터 베이스 관리부(150)를 통하여 접근하는 것이 아니라 직접 데이터 베이스(160)에 접근하는 것이 허용될 수 있다.In addition, in the smart card 120 according to another embodiment of the present invention, the mobile communication terminal 100 accesses the database 160 of the smart card 120 through the SCWS 130 and the database manager 150. Rather, it may be allowed to access the database 160 directly.

즉, 데이터 베이스(160)의 미리 정해진 영역은 이동식 메모리(Mass Storage)로써 기능할 수 있으며, 이 경우 이동통신단말(100)은 통신단말 OS(115)를 통하여 종래에 이동식 메모리에 접근하는 경우와 같이 데이터 베이스(160)의 미리 정해진 영역에 접근하여 데이터를 독출할 수 있다. 통신단말은 Mass Storage에 데이터를 저장, 검색, 삭제 등을 수행하기 위하여 별도의 USB 환경을 통하여 데이터 베이스의 이동식 매모리 영역에 접근할 수 있다.That is, the predetermined area of the database 160 may function as a mass memory, in which case the mobile communication terminal 100 accesses the mobile memory conventionally through the communication terminal OS 115. As described above, data may be read by accessing a predetermined area of the database 160. The communication terminal can access the removable memory area of the database through a separate USB environment in order to store, retrieve, and delete data in the mass storage.

즉, 본 발명의 다른 실시예에 의한 스마트 카드의 경우 이동통신단말(100)과 별도의 대용량 저장 및 독출 명령을 데이터 베이스의 미리 설정된 영역 전송할 수 있는 USB 채널로 연결되어 있어야 한다.That is, in the case of the smart card according to another embodiment of the present invention, the mobile communication terminal 100 and the separate mass storage and read command must be connected to a USB channel that can transmit a predetermined area of the database.

도 2는 도 1에서 설명한 데이터 베이스 관리부의 내부구성을 상세히 나타낸 도면이다.FIG. 2 is a detailed diagram illustrating an internal configuration of the database manager described with reference to FIG. 1.

도 2를 참조하면 데이터 베이스 관리부(150)는 어플리케이션 접근 인터페이스(200), 질의문 컴파일러(210), 데이터 베이스 엔진(220), 멀티플랫폼 파일시스템 인터페이스(230)를 포함한다.Referring to FIG. 2, the database manager 150 includes an application access interface 200, a query compiler 210, a database engine 220, and a multiplatform file system interface 230.

어플리케이션 접근 인터페이스(200)는 스마트 카드(120)의 어플리케이션 구동(140)부의 애플릿 구동모듈(144)이 데이터 베이스 관리부(150)에 접근할 수 있도록 하는 환경을 제공하는 데이터 베이스 관리부(150)의 내부 모듈이다.The application access interface 200 is an interior of the database manager 150 that provides an environment in which the applet drive module 144 of the application driver 140 of the smart card 120 can access the database manager 150. Module.

애플릿 구동모듈(144)의 경우에는 서버 단에서 수행되는 응용 프로그램이 아니므로 SCWS(130)를 경유하여 데이터 베이스 관리부(150)에 질의문을 전송하지 않아도 되며, 따라서 어플리케이션 접근 인터페이스(200)에 직접 접근할 수 있다.In the case of the applet driving module 144, since the application program is not executed at the server side, it is not necessary to transmit a query statement to the database manager 150 via the SCWS 130, and thus, directly to the application access interface 200. I can access it.

그러나 웹 기반의 어플리케이션인 서브릿 구동모듈(144)은 SCWS(130)를 통하여 어플리케이션 접근 인터페이스(200)에 접근한다. 또한, 도 1에서 설명한 바와 같이 스마트 카드(120)와 연결된 이동통신단말(100)로부터 TCP/IP를 통하여 질의문 등이 전송되는 경우에도 SCWS(130)를 통하여 데이터 베이스 관리부(150)에 접속된다.However, the servlet driving module 144, which is a web-based application, accesses the application access interface 200 through the SCWS 130. In addition, even when a query or the like is transmitted from the mobile communication terminal 100 connected to the smart card 120 through TCP / IP as described in FIG. 1, the database management unit 150 is connected to the database manager 150 through the SCWS 130. .

상술한 각각의 경우에 대하여 어플리케이션 접근 인터페이스(200)는 접근 권한인증을 수행할 수 있다. 즉, 어플리케이션 접근 인터페이스(200)는 스마트 카드(120)의 데이터 베이스(160)를 계정 별로 분리하여 접근한 어플리케이션 구동모듈(140)이 제시하는 계정과 일치하는 경우에만 접근을 허용한다.In each case described above, the application access interface 200 may perform access authority authentication. That is, the application access interface 200 allows access only when the database 160 of the smart card 120 matches the account presented by the application driving module 140 which accesses the database 160 separately for each account.

즉, 데이터 베이스(160)에는 한 가지 종류의 데이터가 저장되는 것이 아니라 다양한 어플리케이션 구동 모듈(140)에서 필요로 하는 데이터가 저장되어 있을 수 있다. 예를 들어, 어플리케이션 구동모듈(140) 중 E-banking과 관련된 데이터(예를 들어, 공인인증서)와 같은 경우에는 다른 어플리케이션 구동모듈에 의하여 접근이 허용되어서는 안되기 때문이다.That is, one type of data is not stored in the database 160, but data required by various application driving modules 140 may be stored. For example, in the case of the data related to E-banking (for example, an accredited certificate) among the application driving module 140, access should not be allowed by another application driving module.

더욱이, 스마트 카드(120)의 어플리케이션 구동모듈(140)이 외부의 통신망 내의 서버로부터 구동명령을 이동통신단말(100)을 통행 전송 받아 구동(연동)하는 경우에는 해당 데이터 베이스(160)의 영역 이외에는 접근을 허용하지 않는 보안 기능이 필수적으로 요구된다.In addition, when the application driving module 140 of the smart card 120 receives a driving command from the server in the external communication network and transmits the driving command to the mobile communication terminal 100 for driving (interlocking), except for the area of the corresponding database 160. Security features that do not allow access are mandatory.

따라서 본 발명의 스마트 카드(120)에 포함되는 데이터 베이스 관리부(150)에 의하면 어플리케이션 접근 인터페이스(200)에 의하여 계정관리 또는 권한인증을 수행하여 미리 설정된 데이터 베이스(160)의 영역의 접근만을 허용할 수 있다.Therefore, according to the database manager 150 included in the smart card 120 of the present invention, only the access of the area of the preset database 160 is allowed by performing account management or authorization authentication by the application access interface 200. Can be.

다만 어플리케이션 구동모듈(140)이 서브릿 구동모듈(144)인 경우에는 등록된 계정인지의 여부를 SCWS(130)에서 판단할 수도 있다. 이 경우는 도 3을 통하여 후술하도록 한다.However, when the application driving module 140 is the servlet driving module 144, the SCWS 130 may determine whether the application driving module 140 is a registered account. This case will be described later with reference to FIG. 3.

어플리케이션 접근 인터페이스(200)를 거친 경우 각 어플리케이션 구동부(140) 또는 SCWS(130)로부터 전송된 질의문은 질의문 컴파일러로 전송된다.In the case of passing through the application access interface 200, the query transmitted from each application driver 140 or the SCWS 130 is transmitted to the query compiler.

질의문 컴파일러(210)는 토크나이저(Tokenizer), 파서(Parser), 코드 생성기(Code generator)를 포함한다. 이 밖에 질의문 컴파일러(210)에 시맨틱 분석기(Semantic analyzer), 소스 코드 최적화기(Code optimizer) 등을 더 포함할 수 있으나 이에 대한 설명은 생략하도록 한다.The query compiler 210 includes a tokenizer, a parser, and a code generator. In addition, the query compiler 210 may further include a semantic analyzer, a source code optimizer, and the like, but a description thereof will be omitted.

토크나이저는 SQL 질의문을 토큰(Token)으로 분리하는 기능을 수행한다. 즉 SQL을 문자 단위로 하나씩 읽어 토큰(상징적인 단어)를 인식하고 이에 대한 정보(Literal/symbol table)를 작성한다. 즉, SQL을 문자단위로 읽어 토큰열로 전환 하는 작업이 수행된다.The tokenizer performs the function of separating SQL queries into tokens. In other words, SQL is read one by one to recognize tokens (symbolic words) and information about them (Literal / symbol table) is written. In other words, SQL is read character by character and converted into token string.

파서는 토큰열을 해석하여 실행 코드를 만들 수 있는 파스 트리(Parse Tree)를 생성한다. 즉, 파서는 토크나이저에 의하여 생성된 토큰열과 이에 대한 정보를 가지고 문장이 문법적으로 올바른지 검사하는 구문분석(Syntax analysis)을 거쳐 파스 트리를 생성한다. 파스 트리는 구문분석 단계에서 토근들 중 식별자, 식, 숫자 등의 정보를 포함하여 노드로 표현된 트리이다. 파스 트리는 코드 생성기에 필요한 정보들로만 구성된 구문트리(Syntax Tree)로도 대체될 수 있음은 자명하다.The parser parses a sequence of tokens and creates a parse tree that can be used to generate executable code. That is, the parser generates a parse tree through a syntax analysis that checks whether a sentence is grammatically correct using token tokens generated by the tokenizer and information about the tokenizer. The parse tree is a tree expressed as a node including information such as identifiers, expressions, and numbers among the tokens in the parsing step. It is obvious that a parse tree can also be replaced with a Syntax Tree consisting only of the information needed by the code generator.

코드 생성기는 Parse Tree를 중간 코드로 변환한다. 즉, 코드 생성기는 파스 트리를 이용하여 문법규칙에 알맞은 코드 생성 루틴을 실행하여 중간코드를 생성한다. 코드 생성기는 생성된 중간코드는 코드의 연산을 최적화 시키기 위하여 지역 최적화 또는 전역 최적화를 통하여 코드 실행시 기억공간 및 실행시간을 절약할 수 있도록 한다.The code generator converts the parse tree into intermediate code. In other words, the code generator generates the intermediate code by executing the code generation routine that matches the grammar rules using the parse tree. The code generator can save the space and execution time when executing the code through local optimization or global optimization in order to optimize the operation of the code.

이 후 코드 생성기는 연산을 수행할 데이터 베이스의 레지스터 수 선택, 자료에게 기억장소 위치 등을 결정하여 최적화된 중간 코드들을 목적 기계어에 대한 코드로 생성한다.The code generator then selects the number of registers in the database to perform the operation, determines the storage location for the data, and generates optimized intermediate codes as codes for the target machine language.

생성된 목적코드는 본 발명의 스마트 카드(120)에 포함되는 데이터 베이스 관리부(150)의 데이터 베이스 엔진(220)으로 전달된다. 따라서 데이터 베이스 엔진(220)은 데이터 베이스(160)에 저장된 데이터를 변수로 하여 목적코드를 실행하고 그 결과를 데이터 베이스(160)에 저장할 수 있게 된다.The generated object code is transmitted to the database engine 220 of the database manager 150 included in the smart card 120 of the present invention. Therefore, the database engine 220 can execute the object code using the data stored in the database 160 as a variable and store the result in the database 160.

그러나 스마트 카드(120)에 각각 다른 파일시스템에 의하여 운영되는 데이터 베이스 내 저장부(메모리)가 존재하는 경우에는 데이터 베이스(160)에 접근이 불가능할 수 있다. 따라서 본 발명의 데이터 베이스 관리부(150)에는 멀티플랫폼 파일시스템 인터페이스(230)가 존재한다.However, if the smart card 120 has a storage unit (memory) in the database operated by different file systems, it may be impossible to access the database 160. Therefore, the multiplatform file system interface 230 exists in the database manager 150 of the present invention.

멀티플랫폼 파일시스템 인터페이스(230)는 목적코드를 각각의 파일시스템에서 사용되는 파일시스템의 파일 제어명령을 명령어 코드에 포함된 목적코드 각각의 명령어 및 변수에 매칭시킨다.The multiplatform file system interface 230 matches a file control command of a file system used in each file system to a command and a variable of each object code included in the command code.

따라서 데이터 베이스 엔진(220)은 본 발명의 멀티플랫폼 파일시스템 인터페이스(230)를 통하여 데이터 베이스(160)에 접근함으로써 데이터 베이스(160)에 포함된 저장부가 어떠한 파일시스템에 의하여 운영되는지 여부와 관계없이 목적코드의 처리를 수행할 수 있게 된다. 멀티플랫폼 파일시스템 인터페이스(230)의 상세한 동작에 대해서는 도 5를 참조하여 설명하도록 한다.Thus, the database engine 220 accesses the database 160 through the multiplatform file system interface 230 of the present invention, regardless of which file system the storage included in the database 160 is operated by. The object code can be processed. Detailed operations of the multiplatform file system interface 230 will be described with reference to FIG. 5.

도 3은 본 발명의 실시예에 의하여 데이터 베이스 관리부에 의해 데이터 베이스에 접근하는 과정을 나타낸 도면이다.3 is a diagram illustrating a process of accessing a database by a database manager according to an exemplary embodiment of the present invention.

도 3을 참조하면, 먼저 스마트 카드내의 어플리케이션(On card Application) 구동모듈(140)이 SCWS(130)로 등록된 계정 접근을 시도한다. 따라서 이 경우는 어플리케이션 구동 모듈(140)이 서브릿 구동모듈(142)인 경우를 전제로 한 것이다.Referring to FIG. 3, first, an on-card application driving module 140 attempts to access an account registered as the SCWS 130. Therefore, in this case, it is assumed that the application driving module 140 is the servlet driving module 142.

이 경우 서브릿 구동모듈(140)은 웹 기반 응용 프로그램의 구동모듈에 해당하므로 URL(Uniform Resource Locator) 형태의 API를 통하여 SCWS(130)에 접근한다. 서브릿 구동 모듈과 SCWS(130)와의 API 접근은 ETSI 표준(TS 102 588)에 정의 되어 있으므로 상세한 설명은 생략하도록 한다.In this case, since the servlet driving module 140 corresponds to the driving module of the web-based application program, the servlet driving module 140 accesses the SCWS 130 through an API in the form of a Uniform Resource Locator (URL). API access between the servlet drive module and the SCWS 130 is defined in the ETSI standard (TS 102 588), and thus a detailed description thereof will be omitted.

등록된 계정으로 접근한 서브릿 구동모듈(140)은 등록된 계정 하에 미리 설정된 권한 범위내의 질의 명령(질의문)을 요청한다(S300).The servlet driving module 140 accessing the registered account requests a query command (question query) within a preset authority range under the registered account (S300).

SCWS(130)는 서브릿 구동모듈로부터 요청된 질의 명령을 본 발명에 의한 데이터 베이스 관리부(150)에 전송한다(S310). The SCWS 130 transmits the query command requested from the servlet driving module to the database manager 150 according to the present invention (S310).

데이터 베이스 관리부(150)는 해당 서브릿 구동모듈(140)이 해당 데이터 베이스(160) 영역에 접근이 가능한지 인증절차를 수행하며, 데이터 베이스(160) 사용권한을 분석한다.The database manager 150 performs an authentication procedure to determine whether the corresponding servlet drive module 140 can access the area of the database 160 and analyzes the authority to use the database 160.

상술한 인증절차와 사용권한 분석이 완료되면, 컴파일러에 의하여 질의 명령을 분석하여 목적코드를 생성하고, 데이터 베이스 엔진에 의하여 목적코드가 실행되고 결과 데이터가 생성된다(S320).When the above-described authentication process and usage authority analysis are completed, the compiler analyzes the query command to generate the object code, and the object code is executed by the database engine to generate the result data (S320).

이 경우 데이터 베이스 엔진이 결과 데이터를 생성하기 위하여 데이터 베이스(160)에 접근하는 경로상에 멀티플랫폼 파일시스템 인터페이스가 존재할 수 있음은 도 2에서 설명한 바와 같다.In this case, as described above with reference to FIG. 2, the multi-platform file system interface may exist on a path through which the database engine accesses the database 160 to generate the result data.

데이터 베이스 관리부(150)는 생성된 결과 데이터를 SCWS(130)로 전송한다. SCWS(130)는 결과 데이터를 서브릿 구동모듈(140)로 전송한다(S330). The database manager 150 transmits the generated result data to the SCWS 130. The SCWS 130 transmits the result data to the servlet driving module 140 (S330).

서브릿 구동모듈(140)은 결과 데이터를 수신하여 서브릿 프로그램을 구동시킨다(S350). The servlet driving module 140 receives the result data to drive the servlet program (S350).

서브릿 프로그램의 구동결과는 다시 SCWS(130)를 통해 이동통신단말(100) 또는 외부 통신망에 위치한 다른 클라이언트로 전송되어 웹 브라우저를 통해 출력될 수 있다.The driving result of the servlet program may be transmitted to the mobile communication terminal 100 or another client located in an external communication network through the SCWS 130 and output through the web browser.

도 4는 본 발명의 다른 실시예에 의하여 데이터 베이스 관리부에 의해 데이터 베이스에 접근하는 과정을 나타낸 도면이다.4 is a diagram illustrating a process of accessing a database by a database manager according to another exemplary embodiment of the present invention.

도 4를 참조하면 도 3에서 설명한 바와 상이하게 어플리케이션 구동모듈(140)가 데이터 베이스 관리부(150)에 직접 등록된 계정 접근을 시도하고, 권한 범위 내의 질의 명령을 요청한다(S400). 따라서 도 4의 경우에는 어플리케이션 구동모듈(140)이 서브릿 구동모듈(142)이 아니라 애플릿 구동모듈(144)인 경우에 해당한다.Referring to FIG. 4, the application driving module 140 attempts to access an account registered directly to the database manager 150, and requests a query command within a privilege range differently from that described in FIG. 3 (S400). Accordingly, in the case of FIG. 4, the application driving module 140 corresponds to the applet driving module 144 instead of the servlet driving module 142.

이 경우 애플릿 구동모듈(140)은 응용 API 형태로 데이터 베이스 관리부(150)에 접근할 수 있다.In this case, the applet driving module 140 may access the database manager 150 in the form of an application API.

이후 데이터 베이스 관리부(150)는 도 3에서 설명한 바와 동일하게 컴파일러에 의하여 질의 명령을 분석하여 목적코드를 생성하고, 데이터 베이스 엔진에 의하여 목적코드가 실행되고 결과 데이터가 생성한다(S410).Thereafter, the database manager 150 generates the object code by analyzing the query command by the compiler as described in FIG. 3, and executes the object code by the database engine to generate the result data (S410).

데이터 베이스 관리부(150)는 생성된 결과 데이터를 애플릿 구동모듈(142)에 전송하여 애플릿 구동모듈(142)에서 결과 데이터를 이용하여 애플릿 프로그램을 구동시킬 수 있도록 한다.The database manager 150 transmits the generated result data to the applet driving module 142 so that the applet driving module 142 can drive the applet program using the result data.

도 5는 본 발명의 데이터 베이스 관리부가 데이터 베이스에 접근하는 과정을 나타낸 도면이다.5 is a diagram illustrating a process of accessing a database by a database manager of the present invention.

도 5를 참조하면 데이터 베이스 관리부(150)는 어플리케이션 접근 인터페이스(200)를 통해 어플리케이션 구동 모듈(140) 또는 SCWS(130)로부터 질의문을 전송 받는다(S500).Referring to FIG. 5, the database manager 150 receives a query from the application driving module 140 or the SCWS 130 through the application access interface 200 (S500).

도 2에서 설명한 바와 같이 질의문 분석과정(어휘분석, 구문분석)을 거쳐 데이터 베이스 엔진에서 수행될 목적코드를 생성한다(S510, S520).As described with reference to FIG. 2, the object code to be executed in the database engine is generated through a query statement analysis process (lexical analysis and syntax analysis) (S510 and S520).

그러나 데이터 베이스 엔진(220)에서 목적코드를 실행하는 경우 데이터 베이스 엔진(220)에서 참조하여야 하는 데이터가 저장된 데이터 베이스(160)는, 저장부 하드웨어 성격 등에 따라 각각 다른 파일시스템에 의하여 운영될 수 있다.However, when the object code is executed in the database engine 220, the database 160 in which data to be referred to by the database engine 220 is stored may be operated by different file systems according to storage hardware characteristics. .

예를 들어, NOR 형 플래시 메모리(162)의 경우에는 현재 스마트 카드 표준에 의하여 ETSI(ISO 7816-4)의 파일 시스템(541)으로 운영되지만, 본 발명의 스마트 카드와 같이 NAND 형 플래시 메모리(164)가 추가되는 경우 FAT16(542), FAT32(543), 등의 다양한 파일시스템(549)에 의하여 메모리가 운영될 수 있다.For example, the NOR type flash memory 162 is operated by the file system 541 of ETSI (ISO 7816-4) according to the current smart card standard, but the NAND type flash memory 164 like the smart card of the present invention. ) May be added, the memory may be operated by various file systems 549, such as FAT16 (542), FAT32 (543), and the like.

따라서 데이터 베이스 엔진(220)에서 각각의 메모리에 접근하도록 하기 위해서는 목적 코드를 해당 파일시스템의 동작코드와 매칭시켜야 한다(S530).Therefore, in order to access the respective memory in the database engine 220, the object code must match the operation code of the corresponding file system (S530).

본 발명의 데이터 베이스 관리부(150)에 포함되는 멀티플랫폼 파일시스템 인터페이스(200)는 목적코드를 해당 파일시스템의 파일 제어 명령에 매칭시켜야 한다. 이 경우 컴파일러(210)가 생성하는 목적코드와 해당 파일시스템의 파일 제어명령은 미리 매치되어 Look up 테이블로 저장되어 있을 수 있다.The multiplatform file system interface 200 included in the database manager 150 of the present invention must match an object code with a file control command of the corresponding file system. In this case, the object code generated by the compiler 210 and the file control command of the corresponding file system may be matched in advance and stored as a look up table.

즉, 멀티플랫폼 파일시스템 인터페이스(230)는 이를 이용하여 목적코드의 연산에 이용되는 데이터 베이스(160)의 파일시스템에 해당하는 동작명령을 매칭시켜 목적코드에 부가하거나 치환할 수 있다.That is, the multiplatform file system interface 230 may match the operation command corresponding to the file system of the database 160 used for the operation of the object code and add or replace the operation command to the object code.

이 후, 데이터 베이스 엔진(220)은 해당 데이터 베이스(160)에 접근하여 목적코드의 연산을 수행함으로써 결과 데이터를 생성할 수 있다.Thereafter, the database engine 220 may generate the result data by accessing the corresponding database 160 and performing the operation of the object code.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.The method of the present invention as described above may be implemented in a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.).

도 6은 본 발명의 실시예에 의한 원격 스마트 카드 운영 시스템을 도시한 도면이다.6 is a diagram illustrating a remote smart card operating system according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 실시예에 의한 원격 스마트 카드 운영 시스템은 AS(Application Server) 그룹(620), 원격 데이터 베이스 관리서버(610), 원격관리 서버(Admin. Server, 600), 가입자정보 관리서버(601), 스마트 카드정보 관리서버(602), 무선 등록 서버(OTA : Over The Air activation server, 603), 이동통신단말(100) 및 스마트 카드(120)를 포함할 수 있다.6, the remote smart card operating system according to an embodiment of the present invention is an AS (Application Server) group 620, a remote database management server 610, a remote management server (Admin. Server, 600), subscribers An information management server 601, a smart card information management server 602, an over-the-air activation server (OTA) 603, a mobile communication terminal 100, and a smart card 120 may be included.

원격관리 서버(600)는 HTTP 서버로서 스마트 카드(120)에 포함되는 SCWS로 관리 명령(Admin Command)을 전송함으로써 SCWS를 관리할 수 있다. 예를 들어 SCWS의 설정 파라미터 설정 및 변경(Setting or changing configuration parameter of SCWS) 이나 HTML 페이지의 인스톨 또는 삭제 등을 수행할 수 있다.The remote management server 600 may manage the SCWS by transmitting an Admin command to the SCWS included in the smart card 120 as an HTTP server. For example, setting or changing configuration parameters of SCWS or installing or deleting an HTML page can be performed.

어플리케이션 서버 그룹(620)은 본 발명에 의한 스마트 카드(120)에서 구동될 수 있는 응용 프로그램을 스마트 카드(120)에 전송하거나 스마트 카드(120)에서 해당 어플리케이션을 구동하기 위하여 요구되는 데이터 등을 제공할 수 있는 하나 이상의 서버를 의미한다. 어플리케이션 서버 그룹이 반드시 연관된 서버들로 구성되어야 하는 것은 아니다.The application server group 620 transmits an application that can be run on the smart card 120 according to the present invention to the smart card 120 or provides data required for driving the corresponding application on the smart card 120. Means one or more servers capable of doing so. An application server group does not have to consist of related servers.

어플리케이션 서버 그룹(620)에는 다양한 서비스 제공자가 운영하는 서비스 서버가 포함되어 있을 수 있다. 즉, E-뱅킹을 위한 각 은행서버, 웹 페이지를 제공하거나 포털 서비스를 제공하는 웹 서버 및 콘텐츠 제공서버 등 다양한 서비스를 제공하는 어플리케이션 서버가 포함될 수 있다.The application server group 620 may include service servers operated by various service providers. That is, each bank server for E-banking, a web server that provides a web page or a portal service, and an application server that provides various services such as a content providing server may be included.

이러한 어플리케이션 서버는 어플리케이션 서버 그룹(620)과 원격관리 서버(600) 중간에 연결된 게이트웨이 서버(미도시)를 통하여 직접 원격관리 서버(600)에 질의 명령들을 전송하고 원격관리 서버(600)는 질의 명령을 이동통신단말 (100)을 통해 스마트 카드(120)로 전송할 수 도 있다. 이 경우 결과적으로 어플리케이션 서버는 스마트 카드(100)의 데이터 베이스(160)에 접근할 수 있게 된다.The application server transmits query commands directly to the remote management server 600 through a gateway server (not shown) connected between the application server group 620 and the remote management server 600, and the remote management server 600 sends the query command. It may be transmitted to the smart card 120 through the mobile communication terminal (100). In this case, as a result, the application server can access the database 160 of the smart card 100.

그러나 이 경우 다양한 어플리케이션 서버 그룹(620)의 서버들이 계정 및 권한 인증 없이 스마트 카드의 데이터 베이스에 모두 접근할 수 있다고 가정하면, 정보 보안에 심각한 문제가 발생하게 된다.However, in this case, assuming that the servers of the various application server group 620 can access all of the database of the smart card without account and authorization authentication, a serious problem occurs in information security.

즉, 콘텐츠 제공서버에서 제공하는 서비스(예를 들어, 스마트 카드의 업그레이드)을 위하여 스마트 카드(120)의 데이터 베이스(160)에 접근하는 경우, 스마트 카드(120)의 데이터 베이스(160)에 저장되어 있는 공인 인증서가 노출될 수 있기 때문에 이에 대한 보안 정책이 필요하게 된다.That is, when accessing the database 160 of the smart card 120 for a service provided by the content providing server (for example, upgrading of the smart card), it is stored in the database 160 of the smart card 120. Because a public certificate can be exposed, a security policy is required.

따라서 본 발명의 원격 데이터 베이스 관리서버(610)는 어플리케이션 서버가 스마트 카드(120)의 데이터 베이스(160)에 접근하는 경우 항상 거치도록 구성된 보안, 인증 서버이다. 본 발명의 원격 데이터 베이스 관리서버(610)의 상세한 구성은 도 7에서 후술하도록 한다.Therefore, the remote database management server 610 of the present invention is a security and authentication server configured to always go through when the application server accesses the database 160 of the smart card 120. Detailed configuration of the remote database management server 610 of the present invention will be described later in FIG.

본 발명의 원격 데이터 베이스 관리서버(610)는 원격관리 서버(600)와 연결되어 가입자정보 관리서버(601), 스마트 카드정보 관리서버(602) 등으로부터 어플리케이션 서버를 인증하는데 필요한 정보를 수신하거나 인증을 요청할 수 있다.The remote database management server 610 of the present invention is connected to the remote management server 600 to receive or authenticate information required for authenticating the application server from the subscriber information management server 601, the smart card information management server 602, etc. You can request

가입자정보 관리서버(601)는 통신망 가입자 및 이동통신단말의 정보(화면 해상도, 지원 가능한 애플리케이션 정보, 브라우저 버전 등)을 관리하는 서버이다.The subscriber information management server 601 is a server that manages information of a network subscriber and a mobile communication terminal (screen resolution, supportable application information, browser version, etc.).

스마트 카드정보 관리서버(602)는 원격관리 서버(600)가 관리하는 스마트 카드(120)의 식별번호, 모델명, 연결되어 사용되는 이동통신단말(100)의 식별번호, 그 스마트카드(120)의 사용자의 식별번호 등의 스마트카드 관련 정보를 관리할 수 있다.The smart card information management server 602 is an identification number of the smart card 120 managed by the remote management server 600, a model name, an identification number of the mobile communication terminal 100 used in connection with the smart card 120 Smart card related information such as user identification number can be managed.

즉, 스마트 카드(120)에 따라 어플리케이션을 제공하거나 허용된 어플리케이션 서버(621)를 인증할 수 있다. 또한 어플리케이션 서버(621)에서 본 발명의 원격 데이터 베이스 관리서버(610)에 접속하는 경우에는 아이디/패스워드 등의 인증절차(Log-In)를 거치도록 할 수 있다.In other words, the smart card 120 may provide an application or authenticate an allowed application server 621. In addition, when the application server 621 accesses the remote database management server 610 of the present invention, an authentication procedure such as ID / password may be performed.

따라서 본 발명의 원격 데이터 베이스 관리서버(610)에 접속이 가능한 것으로 등록된 어플리케이션 서버(621) 관리자만이 본 발명의 원격 데이터 베이스 관리서버(610)에 접속하여 최종적으로 스마트 카드(120)에 접근이 가능하다.Therefore, only the application server 621 administrator registered as being able to access the remote database management server 610 of the present invention accesses the remote database management server 610 of the present invention and finally accesses the smart card 120. This is possible.

OTA 서버(603)는 원격관리 서버(600)로부터 이동통신단말(100)로 SMS(S을 이 동통신단말(100)로 전송함으로써 이동통신단말(100)과 원격관리 서버(600)간 통신 세션(Session)이 연결되도록 한다.The OTA server 603 transmits an SMS (S to the mobile communication terminal 100) from the remote management server 600 to the mobile communication terminal 100, thereby communicating with the mobile communication terminal 100 and the remote management server 600. Make sure that the Session is connected.

즉, 이동통신단말(100)이 항상 이동통신망(100)과 Dedicated channel을 형성하고 있는 것은 아니므로 순방향으로 세션 연결을 요청하고자 하는 경우에는 OTA 서버(603)로 하여금 세션 연결 요청 메시지를 SMS로 전송한다.That is, since the mobile communication terminal 100 does not always form a dedicated channel with the mobile communication network 100, the OTA server 603 transmits the session connection request message to the SMS when the user wants to request a session connection in the forward direction. do.

상술한 원격관리 서버(600), OTA 서버(603), 가입자정보 관리서버(601) 및 스마트 카드정보 관리서버(602)는 이동통신서비스 사업자에 의하여 운영될 수 도 있으며, 별도의 제3사업자에 의하여 운영될 수도 있다.The above-described remote management server 600, OTA server 603, subscriber information management server 601 and smart card information management server 602 may be operated by a mobile communication service provider, a separate third provider It may be operated by.

본 발명의 원격 데이터 베이스 관리서버(610)로부터 인증 받은 어플리케이션서버(621)은 원격관리 서버(600)를 통하여 이동통신단말(100)에 질의 요청을 전송할 수 있으며, 이동통신단말(100)은 데이터 베이스 질의 요청을 스마트 카드(120)에 TCI/IP로 전송하여 데이터 베이스에 접근할 수 있도록 한다. 스마트 카드(120) 내부의 구성은 도 1 및 도 2에서 설명한 바와 같으므로 그 설명을 생략하도록 한다.The application server 621 authenticated from the remote database management server 610 of the present invention may transmit a query request to the mobile communication terminal 100 through the remote management server 600, and the mobile communication terminal 100 may transmit data. The base query request is transmitted to the smart card 120 by TCI / IP to access the database. Since the configuration inside the smart card 120 is the same as described with reference to FIGS. 1 and 2, the description thereof will be omitted.

도 7은 본 발명의 실시예에 의한 데이터 베이스 관리 서버의 구성을 나타낸 도면이다.7 is a diagram showing the configuration of a database management server according to an embodiment of the present invention.

도 7을 참조하면, 원격 데이터 베이스 관리서버(610)는 어플리케이션 접근 인터페이스(700), 보안정책(Security Policy) 관리모듈(710), 데이터 백업 처리기(750), 명령 처리기(760), 관리 접근 인터페이스(770)를 포함할 수 있다.Referring to FIG. 7, the remote database management server 610 may include an application access interface 700, a security policy management module 710, a data backup processor 750, a command processor 760, and a management access interface. 770 may be included.

어플리케이션 접근 인터페이스부(700)는 도 6에서 설명한 어플리케이션 서버(621)에서 원격 데이터 베이스 관리서버(610)에 접근하기 위한 API를 제공하며, 이에 따라 어플리케이션 서버(621)가 보안정책 관리모듈(710) 또는 별도의 DBA(Data Base Administrator, 615)과 통신할 수 있는 환경을 제공한다.The application access interface 700 provides an API for accessing the remote database management server 610 from the application server 621 described with reference to FIG. 6, whereby the application server 621 provides a security policy management module 710. Or it provides an environment to communicate with a separate DBA (Data Base Administrator, 615).

보안정책 관리모듈(710)은 계정관리 모듈(720), 권한관리 모듈(730), 버전 관리모듈(740)을 포함할 수 있다. 원격 데이터 베이스 관리서버(610)에 접속한 어플리케이션 서버의 계정을 인증하고 권한을 설정하는 계정관리 모듈 및 권한 관리 모듈을 포함한다.The security policy management module 710 may include an account management module 720, a rights management module 730, and a version management module 740. It includes an account management module and a rights management module for authenticating the account of the application server connected to the remote database management server 610 and setting the rights.

버전관리 모듈(740)은 계정권한 및 환경설정과 현재의 스마트 카드(120)의 데이터 베이스(160) 설정을 관리하는 기능을 수행한다.The version control module 740 manages account rights and preferences and the database 160 settings of the current smart card 120.

데이터 백업 처리기(750)는 스마트 카드(120)의 데이터 베이스(160)에 저장된 정보를 백업(Back up)하여 보관 및 관리하는 데이터 처리모듈에 해당한다.The data backup processor 750 corresponds to a data processing module that backs up and stores information stored in the database 160 of the smart card 120.

즉, 스마트 카드(120)에 저장된 데이터를 어플리케이션 서버(621)의 관리자(관리자 단말, 625)이 업그레이드 하거나, 스마트 카드(120)의 사용자가 스마트 카드(120)의 데이터 베이스(160)를 포맷하고자 하는 경우에는 스마트 카드(120)의 데이터 베이스(160)에 기 저장되어 있는 데이터를 백업하여야 한다.That is, the manager (manager terminal, 625) of the application server 621 upgrades the data stored in the smart card 120, or the user of the smart card 120 to format the database 160 of the smart card 120 In this case, data previously stored in the database 160 of the smart card 120 should be backed up.

그러나, 스마트 카드(120)에 저장된 데이터를 백업할 수 있는 별도의 리더기 및 메모리를 구비하지 않으면 해당 데이터를 백업할 수 없기 때문에 본 발명의 원격 데이터 베이스 관리서버(610)의 데이터 백업 처리기(760)는 스마트 카드(120) 또는 어플리케이션 서버(621)의 요청에 따라 데이터 베이스(160)의 데이터를 백업 한다.However, the data backup processor 760 of the remote database management server 610 of the present invention because the data can not be backed up unless a separate reader and memory capable of backing up the data stored in the smart card 120 cannot be backed up. Backs up data of the database 160 at the request of the smart card 120 or the application server 621.

명령 처리기(760)는 관리 접근 인터페이스(770)를 통하여 연결된 원격관리 서버(600)로 관리명령 또는 관리 질의를 생성하고 전송하는 기능을 수행한다. 관리 접근 인터페이스(770)는 원격관리서버가 본 발명의 데이터 베이스 관리 서버와 통신하기 위한 API를 제공한다.The command processor 760 generates and transmits a management command or a management query to the remote management server 600 connected through the management access interface 770. Management access interface 770 provides an API for the remote management server to communicate with the database management server of the present invention.

상술한 관리 접근 인터페이스(770)에서 "관리 접근"은 스마트 카드 관리 인프라에 접근하기 위한 접근을 의미하는 것으로 도 6에서 관리 인프라로 명명되었으며 점선으로 표시되었다. 이러한 인프라는 OMA(Open Mobile Alliance)의 표준을 만족할 수 있다.In the above-described management access interface 770, "management access" refers to an access for accessing the smart card management infrastructure, which is named management infrastructure in FIG. 6 and is indicated by a dotted line. This infrastructure can meet the standards of the Open Mobile Alliance (OMA).

인프라는 이동통신단말의 스마트 카드(120)를 제어하기 위한 망 구성을 의미하는 것으로 도 6에서 상술한 바와 같이 이동통신사업자에 의하여 운영될 수 있다.The infrastructure refers to a network configuration for controlling the smart card 120 of the mobile communication terminal and may be operated by the mobile communication service provider as described above in FIG. 6.

따라서, 관리 인프라에는 PDSN, 교환기, 기지국 등의 이동통신망 구성장치를 더 포함할 수 있으며 상술한 가입자 정보 관리서버 및 스마트 카드 정보 관리 서버 등은 HLR(Home Location Register)로 대체될 수 있다.Accordingly, the management infrastructure may further include a mobile communication network configuration device such as a PDSN, an exchange, a base station, and the like. The subscriber information management server and the smart card information management server may be replaced with a home location register (HLR).

도 8은 본 발명의 스마트 카드 운용 시스템이 스마트 카드의 데이터 베이스 관리부를 제어하는 과정을 나타낸 도면이다.8 is a diagram illustrating a process of controlling the database manager of the smart card by the smart card operating system of the present invention.

먼저, 어플리케이션 서버(620) 또는 어플리케이션 서버의 관리자(관리자의 단말기, 615)는 본 발명의 원격 데이터 베이스 관리서버(610)로 로그인 요청을 전송한다(S800). First, the application server 620 or the administrator of the application server (administrator terminal, 615) transmits a login request to the remote database management server 610 of the present invention (S800).

이 경우 로그인 요청에는 아이디 및 비밀번호가 포함되어 있을 수 있다. 이러한 요청은 도 7에서 설명한 어플리케이션 접근 인터페이스를 통하여 전송된다.In this case, the login request may include an ID and password. This request is sent via the application access interface described in FIG.

원격 데이터 베이스 관리서버(610)는 로그인 요청에 포함된 아이디 및 비밀번호 등의 정보에 기초하여 어플리케이션 서버의 계정을 조회한다(S802). 조회결과 인증이 되면 "OK"를 어플리케이션 서버의 관리자에 전송한다(S804).The remote database management server 610 inquires the account of the application server based on information such as ID and password included in the login request (S802). If the inquiry result is authenticated, "OK" is transmitted to the administrator of the application server (S804).

어플리케이션 서버의 관리자(615)는 스마트 카드(120)의 데이터 베이스(160)에 접근하기 위한 질의 명령을 생성한다(S806).The manager 615 of the application server generates a query command for accessing the database 160 of the smart card 120 (S806).

어플리케이션 서버의 관리자(615)는 생성된 질의 명령을 이동통신단말(100)로 전송할 것을 원격 데이터 베이스 관리서버(610)로 요청한다(S808).The manager 615 of the application server requests the remote database management server 610 to transmit the generated query command to the mobile communication terminal 100 (S808).

원격 데이터 베이스 관리서버(610)는, 요청을 수신하였으며 이를 처리 중이라는 ACK 메시지를, 어플리케이션 서버의 관리자(615)로 전송한다(S811).The remote database management server 610 transmits an ACK message indicating that the request has been received and is being processed, to the manager 615 of the application server (S811).

한편, 원격 데이터 베이스 관리서버(610)는 어플리케이션 서버의 관리자(615)로부터 수신한 데이터 베이스 질의 요청을 수행하기 위한 요청을 원격관리 서버로 전송한다(S810). 이 경우 수행요청에는 데이터 베이스 정보, 어플리케이션 정보 및 어플리케이션 관리자 계정정보가 포함될 수 있다.On the other hand, the remote database management server 610 transmits a request for performing a database query request received from the manager 615 of the application server to the remote management server (S810). In this case, the execution request may include database information, application information, and application manager account information.

원격관리 서버(600)는 가입자정보 관리서버(601)로 가입자 인증 및 단말 조회요청을 전송한다(S812).The remote management server 600 transmits subscriber authentication and terminal inquiry request to the subscriber information management server 601 (S812).

이 후 가입자정보 관리서버(601)로부터 해당 스마트 카드(120)의 데이터 베이스(160)에 접근이 가능한지 여부(예를 들어 스마트 카드(120)와 연결이 되어 있는지 여부 또는 스마트 카드(!20)에 데이터 베이스 관리부(150)가 존재하는 지 여 부 등)를 판단하여 가능한 경우 스마트 카드(120)의 데이터 베이스(160)에 접근이 가능한지 여부를 보고한다(S814).Thereafter, whether the database 160 of the smart card 120 is accessible from the subscriber information management server 601 (for example, whether it is connected to the smart card 120 or the smart card (! 20)). It is determined whether or not the database manager 150 exists, and reports whether or not the database 160 of the smart card 120 is accessible (S814).

원격관리 서버(600)는 원격 데이터 베이스 관리서버(610)에 "OK" 메시지를 전송한다(S816).The remote management server 600 transmits an "OK" message to the remote database management server 610 (S816).

원격 데이터 베이스 관리서버(610)는 어플리케이션 서버의 관리자(615)가 단계 S808에서 전송한 데이터 베이스 질의 명령을 스마트 카드(120)의 데이터 베이스 관리부(150)에서 인식 가능한 질의문(예를 들어, SQL)으로 재 생성할 수 있다(S818).The remote database management server 610 is a query statement (for example, SQL) that can recognize the database query command transmitted in step S808 by the manager 615 of the application server in the database manager 150 of the smart card 120. Can be regenerated (S818).

원격 데이터 베이스 관리서버(610)는 질의문을 원격관리 서버(600)로 전송하면서, 질의문을 이동통신단말(100)로 전송할 것을 요청(DB 서비스 요청)한다(S820).The remote database management server 610 transmits the query to the remote management server 600 and requests to transmit the query to the mobile communication terminal 100 (DB service request) (S820).

이에 따라 원격관리 서버(600)는 이동통신단말(100)와 통신 세션을 설정하기 위한 SMS 전송요청을 OTA 서버(603)에 전송한다(S822).Accordingly, the remote management server 600 transmits an SMS transmission request for establishing a communication session with the mobile communication terminal 100 to the OTA server 603 (S822).

OTA 서버(603)는 이동통신단말(100)로 SMS를 전송한다(S824). 전송되는 SMS에는 원격관리 서버와의 세션 연결요청 메시지가 포함된다.The OTA server 603 transmits an SMS to the mobile communication terminal 100 (S824). The sent SMS includes a session connection request message with the remote management server.

SMS를 수신한 이동통신단말기(100)는 이동통신망의 GGSN(Gateway GPRS Support Node), SGSN(Serving GPRS Support Node) 등을 통하여 원격관리 서버(600)와의 세션을 연결한다(S826).The mobile communication terminal 100 receiving the SMS connects a session with the remote management server 600 through a Gateway GPRS Support Node (GGSN), a Serving GPRS Support Node (SGSN), etc. of the mobile communication network (S826).

이 후 원격관리 서버(600)는 이동통신단말(100)로 DB 서비스 수행 요청을 전송한다(S828). 이동통신단말(100)은 스마트 카드(120)의 데이터 베이스 관리 부(150)로 DB 접근 허가요청을 전달한다(S830).Thereafter, the remote management server 600 transmits a DB service execution request to the mobile communication terminal 100 (S828). The mobile communication terminal 100 transmits a DB access permission request to the database manager 150 of the smart card 120 (S830).

이 경우 DB 접근 허가요청에는 어플리케이션 서버의 관리자(615)의 계정이 포함되어 있을 수 있으며 데이터 베이스 관리부(150)는 DB 접근 허가요청으로부터 이를 독출하여 계정 및 권한을 확인한다(S832).In this case, the DB access permission request may include an account of the administrator 615 of the application server, and the database manager 150 reads it from the DB access permission request and checks the account and authority (S832).

계정 및 권한의 확인 결과 데이터 베이스(160)에 접근이 가능한 어플리케이션 서버 또는 관리자(615)인 경우 접근이 허가됨을 알리는 "OK" 메시지를 이동통신단말(100)로 전송한다(S834). 이동통신단말(100)은 다시 이를 원격관리 서버(600)로 전송한다(S836).In the case of the application server or the administrator 615 having access to the database 160 as a result of checking the account and the authority, an “OK” message indicating that the access is granted is transmitted to the mobile communication terminal 100 (S834). The mobile communication terminal 100 transmits it to the remote management server 600 again (S836).

원격관리 서버(600)는 이에 따라 데이터 베이스(160) 접근이 가능함을 알리는 "OK" 메시지를 원격 데이터 베이스 관리서버(610)로 전송한다(S838). The remote management server 600 accordingly transmits an "OK" message indicating that the database 160 is accessible to the remote database management server 610 (S838).

이후, 원격관리 서버(600)는 단계 S820에서 전송 받은 DB 질의문을 이동통신 단말기로 전송한다(S842). 이동통신단말(100)은 스마트 카드(120)의 데이터 베이스 관리부(150)로 DB 질의문을 전달한다(S844).Thereafter, the remote management server 600 transmits the DB query received in step S820 to the mobile communication terminal (S842). The mobile communication terminal 100 transmits a DB query to the database manager 150 of the smart card 120 (S844).

도 1 내지 도 2에서 설명한 바와 같이 데이터 베이스 관리부(150)는 질의문을 해석하여 목적코드를 생성하여 이를 수행한다. 이 경우 DB 질의문이 스마트 카드(120)의 On Card 어플리케이션 구동모듈과 연동하는 경우에는 해당 어플리케이션 구동모듈을 경유하여 DB 질의문이 수신되고, 데이터 베이스 관리부(150)가 이를 처리할 수도 있다. 데이터 베이스 관리부(150)는 해당 목적코드에 상응하는 연산(예를 들어 "Update")을 수행하고, 그 결과를 데이터 베이스(160)에 저장한다. (S846)As described above with reference to FIGS. 1 and 2, the database manager 150 analyzes the query and generates the object code to perform this. In this case, when the DB query is linked with the On Card application driving module of the smart card 120, the DB query is received through the corresponding application driving module, and the database manager 150 may process it. The database manager 150 performs an operation (eg, "Update") corresponding to the corresponding object code, and stores the result in the database 160. (S846)

데이터 베이스 관리부(150)는 요청된 DB 질의문이 처리되었음을 알리는 "OK" 메시지를 이동통신단말(100)로 전송한다(S848). 이 경우 "OK" 메시지와 함께 처리된 결과 데이터를 함께 전송할 수 있다.The database manager 150 transmits an "OK" message indicating that the requested DB query has been processed to the mobile communication terminal 100 (S848). In this case, the processed result data together with the "OK" message can be transmitted together.

이동통신단말(100)은 이에 따라 "OK" 메시지를 원격관리 서버(600)에 전송하며, 역시 처리된 결과 데이터를 함께 전송할 수도 있다.The mobile communication terminal 100 accordingly transmits an "OK" message to the remote management server 600, and may also transmit the processed result data together.

원격관리 서버(600)는 "OK" 메시지를 다시 원격 데이터 베이스 관리서버(610)에 전송하게 되고, 원격 데이터 베이스 관리서버(610)는 이를 통하여 DB 질의문이 정상적으로 처리되었음을 확인할 수 있으며 해당 결과 데이터를 저장할 수 있다.The remote management server 600 transmits an "OK" message to the remote database management server 610 again, and the remote database management server 610 may confirm that the DB query has been normally processed through the result data. Can be stored.

원격 데이터 베이스 관리서버(610)는 어플리케이션 서버의 관리자(621)로 DB 질의 명령의 처리가 완료되었음을 알리는 "OK" 메시지를 전송한다.The remote database management server 610 transmits an "OK" message indicating that the processing of the DB query command is completed to the manager 621 of the application server.

상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to the embodiments of the present invention, those skilled in the art may variously modify and modify the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. It will be appreciated that it can be changed.

도 1은 본 발명의 실시예에 따른 스마트 카드가 이동통신단말에 연결된 상태를 나타낸 도면.1 is a view showing a state in which a smart card is connected to a mobile communication terminal according to an embodiment of the present invention.

도 2는 도 1에서 설명한 데이터 베이스 관리부의 내부구성을 상세히 나타낸 도면.FIG. 2 is a diagram illustrating in detail the internal structure of the database manager described with reference to FIG. 1; FIG.

도 3은 본 발명의 실시예에 의하여 데이터 베이스 관리부에 의해 데이터 베이스에 접근하는 과정을 나타낸 도면.3 is a diagram illustrating a process of accessing a database by a database manager according to an embodiment of the present invention.

도 4는 본 발명의 다른 실시예에 의하여 데이터 베이스 관리부에 의해 데이터 베이스에 접근하는 과정을 나타낸 도면.4 is a diagram illustrating a process of accessing a database by a database manager according to another exemplary embodiment of the present invention.

도 5는 본 발명의 데이터 베이스 관리부가 데이터 베이스에 접근하는 과정을 나타낸 도면.5 is a diagram illustrating a process of accessing a database by a database manager of the present invention.

도 6은 본 발명의 실시예에 의한 원격 스마트 카드 운영 시스템을 도시한 도면.6 is a diagram illustrating a remote smart card operating system according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 의한 데이터 베이스 관리 서버의 구성을 나타낸 도면.7 is a diagram showing the configuration of a database management server according to an embodiment of the present invention.

도 8은 본 발명의 스마트 카드 운용 시스템이 스마트 카드의 데이터 베이스 관리부를 제어하는 과정을 나타낸 도면.8 is a diagram illustrating a process of controlling a database manager of a smart card by the smart card operating system of the present invention.

Claims (11)

스마트 카드에 있어서,In the smart card, 데이터 베이스;database; 데이터 베이스 접근 계정을 가지는 어플리케이션 구동모듈;An application driving module having a database access account; 상기 어플리케이션 구동모듈로부터 상기 데이터 베이스 접근 계정 및 데이터 베이스 질의문을 수신하여, 상기 접근계정을 인증하고, 상기 데이터 베이스 질의문에 상응하는 목적코드를 생성하고, 상기 데이터 베이스에 저장된 데이터에 기초하여 상기 목적코드를 수행하는 데이터 베이스 관리부를 포함하되,Receiving the database access account and the database query from the application driving module, authenticates the access account, generates the object code corresponding to the database query, and based on the data stored in the database Including a database management unit that performs the object code, 상기 데이터 베이스 관리부는The database management unit 상기 데이터 베이스 엔진이 명령어 코드에 상응하는 연산을 수행하기 위하여 상기 데이터 베이스에 접근하는 경로를 상기 데이터 베이스의 파일시스템에 따라 조정하는 멀티플랫폼 파일시스템 인터페이스를 더 포함하는 것을 특징으로 하는 스마트 카드.And a multiplatform file system interface for adjusting the path of accessing the database according to the file system of the database in order that the database engine performs an operation corresponding to the instruction code. 제1항에 있어서,The method of claim 1, 상기 데이터 베이스 관리부는The database management unit 상기 접근 계정에 상응하는 데이터 베이스 영역을 결정하는 계정관리부; An account manager which determines a database area corresponding to the access account; 상기 데이터 베이스 질의문을 해석하여 목적코드를 생성하는 질의 컴파일러 및A query compiler for interpreting the database query statement and generating an object code; 상기 질의 컴파일러부터 상기 명령어 코드를 전송 받아 상기 데이터 베이스에 접근하여 상기 명령어 코드에 상응하는 연산을 수행하는 데이터 베이스 엔진을 포함하는 것을 특징으로 하는 스마트 카드.And a database engine receiving the command code from the query compiler and accessing the database to perform an operation corresponding to the command code. 제1항에 있어서,The method of claim 1, 상기 데이터 베이스는The database is NOR 메모리, NAND 메모리 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 스마트 카드. A smart card comprising at least one of a NOR memory and a NAND memory. 제3항에 있어서,The method of claim 3, 상기 NOR 메모리 및 NAND 메모리는 각각 다른 플랫폼의 파일시스템에 의하여 데이터를 보관하는 것을 특징으로 하는 스마트 카드.The NOR memory and the NAND memory are each smart card, characterized in that for storing data by the file system of a different platform. 제1항에 있어서,The method of claim 1, 상기 스마트 카드는 스마트 카드 웹 서버(SCWS : Smart Card Web Server)를 더 포함하되,The smart card further includes a smart card web server (SCWS: Smart Card Web Server), 상기 어플리케이션 구동모듈은 상기 스마트 카드 웹 서버를 통하여 상기 데이터 베이스 접근 계정 및 데이터 베이스 질의문을 상기 데이터 베이스 접근 모듈로 전송하는 것을 특징으로 하는 스마트 카드.The application driving module transmits the database access account and the database query to the database access module through the smart card web server. 제5항에 있어서,The method of claim 5, 상기 어플리케이션 구동모듈은The application driving module 웹 기반 어플리케이션 구동모듈을 포함하되,Including a web-based application driving module, 상기 웹 기반 어플리케이션 구동모듈은 상기 스마트 카드 웹 서버 및 상기 데이터 관리부를 통하여 상기 데이터 베이스에 접근하는 것을 특징으로 하는 스마트 카드.The web-based application driving module accesses the database through the smart card web server and the data management unit. 제1항에 있어서,The method of claim 1, 상기 스마트 카드는 통신단말에 연결되어 상기 통신단말과 TCP/IP를 이용하여 데이터를 주고 받으며, 상기 통신단말과 연결된 외부관리 서버로부터 전송되는 스마트 카드 제어명령을 상기 통신단말을 통해 중계 받는 것을 특징으로 하는 스마트 카드. The smart card is connected to a communication terminal to exchange data with the communication terminal using TCP / IP, and receives a smart card control command transmitted from an external management server connected to the communication terminal through the communication terminal. Smart card. 스마트 카드에 포함되는 데이터 관리부가 상기 스마트에 포함되는 카드 어플리케이션 구동모듈로부터 수신한 데이터 베이스 질의문을 처리하여 데이터 베이스를 관리하는 방법에 있어서,In the method of managing a database by processing a database query received from the card application driving module included in the smart card data management unit included in the smart card, 상기 데이터 베이스 질의문에 포함된 데이터 베이스 접근계정을 인증하는 단계;Authenticating a database access account included in the database query; 상기 접근계정이 인정된 데이터 베이스 질의문에 상응하는 목적코드를 생성하는 컴파일 단계;A compilation step of generating object codes corresponding to database queries in which the access account is authorized; 상기 목적코드를 상기 스마트 카드에 포함되는 데이터 베이스의 파일 시스템에 기초하여 조정하는 단계; 및Adjusting the object code based on a file system of a database included in the smart card; And 상기 데이터 베이스에 접근하여 상기 목적코드를 실행하여 결과 데이터를 산출하는 단계를 포함하는 것을 특징으로 하는 데이터 베이스 관리방법Accessing the database and executing the object code to calculate result data 스마트 카드에 포함되는 데이터 관리부가 상기 스마트에 포함되는 카드 어플리케이션 구동모듈로부터 수신한 데이터 베이스 질의문을 처리하여 데이터 베이스를 관리하는 방법을 구현하기 위한 프로그램이 기록된 기록매체에 있어서,A recording medium in which a program for implementing a method of managing a database by processing a database query received from a card application driving module included in a smart card is included in a smart card. 상기 데이터 베이스 질의문에 포함된 데이터 베이스 접근계정을 인증하는 단계;Authenticating a database access account included in the database query; 상기 접근계정이 인정된 데이터 베이스 질의문에 상응하는 목적코드를 생성하는 컴파일 단계;A compilation step of generating object codes corresponding to database queries in which the access account is authorized; 상기 목적코드를 상기 스마트 카드에 포함되는 데이터 베이스의 파일 시스템에 기초하여 조정하는 단계; 및Adjusting the object code based on a file system of a database included in the smart card; And 상기 데이터 베이스에 접근하여 상기 목적코드를 실행하여 결과 데이터를 산출하는 단계를 포함하는 것을 특징으로 하는 데이터 베이스 관리방법을 구현하기 위한 프로그램이 기록된 기록매체.And accessing the database and executing the object code to calculate the result data. 스마트 카드를 관리하는 시스템에 있어서,In the system for managing smart cards, 데이터 베이스 질의문을 수신하면, 상기 데이터 베이스 질의문을 분석하여 분석결과에 상응하는 목적코드를 생성하고, 목적코드를 데이터 베이스의 파일 시스템에 따라 조정하여 상기 목적코드를 수행하는 데이터 베이스 관리부를 포함하는 스마트 카드;Receiving a database query, the database query to analyze the query to generate the object code corresponding to the analysis results, and adjusts the object code according to the file system of the database includes a database management unit for performing the object code Smart card; 상기 스마트 카드와 연결되어 상기 스마트 카드와 데이터 송수신이 가능한 이동통신단말;A mobile communication terminal connected to the smart card and capable of transmitting and receiving data with the smart card; 상기 이동통신단말과 무선으로 연결된 세션상으로 데이터 송수신이 가능한 원격관리 서버(Admin Sever);A remote management server (Admin Sever) capable of transmitting and receiving data over a wirelessly connected session with the mobile communication terminal; 상기 원격관리 서버 및 상기 이동통신단말을 통하여 상기 스마트 카드로 데이터 베이스 질의문을 전송하는 원격 데이터 베이스 관리서버를 포함하되,Including a remote database management server for transmitting a database query to the smart card through the remote management server and the mobile communication terminal, 상기 데이터 베이스 질의문은 상기 스마트 카드에 포함되는 응용 프로그램과 연동하는 응용 프로그램 서버의 관리 단말로부터 전송되고, 상기 원격 데이터 베이 스 관리서버는 상기 응용 프로그램 서버의 관리 단말의 계정을 인증하는 것을 특징으로 하는 스마트 카드 관리 시스템.The database query is transmitted from a management terminal of an application server linked with an application program included in the smart card, and the remote database management server authenticates an account of the management terminal of the application server. Smart card management system. 제10항에 있어서,The method of claim 10, 상기 스마트 카드 관리 시스템은The smart card management system 상기 이동통신단말의 가입자정보를 저장하고 관리하는 가입자정보 관리서버를 더 포함하되,Further comprising a subscriber information management server for storing and managing subscriber information of the mobile communication terminal, 상기 원격관리 서버는 상기 원격 데이터 베이스 관리서버로부터 데이터 베이스 질의문을 수신한 경우 상기 이동통신단말의 스마트 카드에서 상기 데이터 베이스 질의문을 처리할 수 있는지 여부를 상기 가입자 정보 관리서버를 통하여 인증하는 것을 특징으로 하는 스마트 카드 관리 시스템.When the remote management server receives a database query from the remote database management server, the remote management server authenticates through the subscriber information management server whether the smart card of the mobile communication terminal can process the database query. Smart card management system characterized by.
KR1020080076144A 2008-08-04 2008-08-04 Smart card and smart card managing system of having function of managing database KR101018632B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080076144A KR101018632B1 (en) 2008-08-04 2008-08-04 Smart card and smart card managing system of having function of managing database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080076144A KR101018632B1 (en) 2008-08-04 2008-08-04 Smart card and smart card managing system of having function of managing database

Publications (2)

Publication Number Publication Date
KR20100015203A KR20100015203A (en) 2010-02-12
KR101018632B1 true KR101018632B1 (en) 2011-03-03

Family

ID=42088371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080076144A KR101018632B1 (en) 2008-08-04 2008-08-04 Smart card and smart card managing system of having function of managing database

Country Status (1)

Country Link
KR (1) KR101018632B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003016403A (en) 2001-06-27 2003-01-17 Sony Corp Information storage medium, ic chip equipped with memory area, information processor having ic chip equipped with memory area, and memory managing method for information storage medium
KR20050115580A (en) * 2004-06-04 2005-12-08 주식회사 케이티프리텔 System and method for providing and management application using subscriber identity module card
KR100738032B1 (en) 2006-03-24 2007-07-16 주식회사 케이티프리텔 Smart card of supporting large size memory and method thereof
KR20080039357A (en) * 2008-03-26 2008-05-07 주식회사 비즈모델라인 Smart card

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003016403A (en) 2001-06-27 2003-01-17 Sony Corp Information storage medium, ic chip equipped with memory area, information processor having ic chip equipped with memory area, and memory managing method for information storage medium
KR20050115580A (en) * 2004-06-04 2005-12-08 주식회사 케이티프리텔 System and method for providing and management application using subscriber identity module card
KR100738032B1 (en) 2006-03-24 2007-07-16 주식회사 케이티프리텔 Smart card of supporting large size memory and method thereof
KR20080039357A (en) * 2008-03-26 2008-05-07 주식회사 비즈모델라인 Smart card

Also Published As

Publication number Publication date
KR20100015203A (en) 2010-02-12

Similar Documents

Publication Publication Date Title
CN102089767B (en) Authenticated database connectivity for unattended applications
US10419289B2 (en) System and method for configuration management service
US7647319B2 (en) Information processing apparatus, information processing method, program, and storage medium
EP3694175B1 (en) System and method for delegating authority through coupled devices
CN1892664A (en) Method and system for controlling access to resources
KR101823016B1 (en) Reducing web browsing overheads with external code certification
CN101268468A (en) Method and apparatus to authenticate source of a scripted code
CN112559010B (en) Multi-application system data isolation implementation method and system based on micro-service
US8127033B1 (en) Method and apparatus for accessing local computer system resources from a browser
CN113076502A (en) Parameter control method and system based on request identification
US20080040418A1 (en) Accessing existing data using a service oriented architecture gateway
JP2019192189A (en) Data scraping system, method, and computer program using script engine
CN101652772A (en) Scriptable object model for network based services
US20150324598A1 (en) Method and System for Managing Uniquely Identifiable Bookmarklets
US20220222330A1 (en) System and method for providing aggregated credentials with assurance levels
CN110766409A (en) SSL certificate verification method, device, equipment and computer storage medium
KR100724532B1 (en) System for providing unified profile service and method thereof
CN112925589A (en) Calling method and device of expansion interface
KR101018632B1 (en) Smart card and smart card managing system of having function of managing database
CN114900448A (en) Micro-service gateway flow management method and device and electronic equipment
US9438680B1 (en) Validating data compliance in a web services framework
KR101249449B1 (en) Apparatus for web platform verification tool and control method thereof
CN116881880B (en) Space-time data management system and space-time data service resource cooperative scheduling method
CN113067706B (en) Service identification system and method, storage medium, and electronic device
Troelsen et al. RESTful Services with ASP. NET Core

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160215

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170213

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180130

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190109

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200205

Year of fee payment: 10