KR100839220B1 - Method for searching encrypted database and System thereof - Google Patents
Method for searching encrypted database and System thereof Download PDFInfo
- Publication number
- KR100839220B1 KR100839220B1 KR1020060101805A KR20060101805A KR100839220B1 KR 100839220 B1 KR100839220 B1 KR 100839220B1 KR 1020060101805 A KR1020060101805 A KR 1020060101805A KR 20060101805 A KR20060101805 A KR 20060101805A KR 100839220 B1 KR100839220 B1 KR 100839220B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- key
- encrypted
- search
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Abstract
암호화된 데이터베이스 검색 방법 및 그 시스템이 개시된다. An encrypted database retrieval method and system are disclosed.
본 발명은 인증된 사용자가 문서 및 상기 문서에 대한 대표 키워드를 입력하면, 상기 문서를 문서암호용 키로 암호화하고 상기 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드와 상기 사용자의 검색키를 이용한 트랩도어를 생성하여 상기 서버에 질의하는 단계 및 상기 서버에서 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함한다. According to the present invention, when an authenticated user inputs a document and a representative keyword for the document, the document is encrypted with a document encryption key, the representative keyword is encrypted with a search key, and an index is generated. Transmitting to the server, when a user authenticated by an arbitrary client inputs a keyword for a document to be searched, generating a trap door using the input keyword and the user's search key and querying the server; and Retrieving an encrypted document using the trapdoor and an index stored in the server, and transmitting the retrieved document to the client.
본 발명에 의하면, 데이터베이스에 암호화 기법을 적용하면서 동시에 효율적인 검색을 가능하게 하고, 정보의 유출을 막아 정보의 오남용을 막을 뿐 아니라 계층적인 접근 권한을 둘 수 있다.According to the present invention, it is possible to apply an encryption technique to a database and at the same time enable efficient retrieval, prevent leakage of information to prevent misuse of information, and provide hierarchical access rights.
Description
도 1은 본 발명에 따른 암호화된 데이터베이스 검색 시스템의 블럭도이다.1 is a block diagram of an encrypted database search system in accordance with the present invention.
도 2는 본 발명의 일 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.2 is a flowchart of an encrypted database search method according to an embodiment of the present invention.
도 3은 본 발명의 다른 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.3 is a flowchart of an encrypted database search method according to another embodiment of the present invention.
도 4는 본 발명의 또다른 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.4 is a flowchart of an encrypted database search method according to another embodiment of the present invention.
본 발명은 서버 및 클라이언트 시스템에 관한 것으로, 특히, 암호화된 데이터베이스 검색 방법 및 그 시스템에 관한 것이다.TECHNICAL FIELD The present invention relates to server and client systems, and more particularly, to a method and system for searching encrypted databases.
정보화 사회에서 그 정보들의 저장소인 데이터베이스의 관리는 무엇보다 중요하다. 민감한 정보 및 개인정보를 보호하기 위한 가장 현실적인 방법은 이러한 정보들을 저장하는 데이터베이스의 암호화이다. 현재까지의 상용 모듈이 제공하고 있는 암호화 방법은 암호화된 문서를 읽어와 복호화한 후 키워드 검색을 하는 형식이 대부분이고, 이런 복호화 과정에서 내부 관리자에 의한 정보 유출이 또 하나의 문제로 지적되고 있다. 또 지금까지 암호화 방법이 현실성이 없었던 가장 큰 이유는 암호화된 데이터베이스 상에서는 효율적인 자료 검색을 보장 받지 못했다는 것과 이를 위한 연구 또한 개인 사용자를 위한 안전성 위주의 이론적 연구에 국한되어져 현실적인 면과는 다소 거리가 있었던 것이다. 즉, 지금까지의 연구는 2000년 Song et al.의 대칭키 기반의 문서 전체를 검색하는 시스템에 관한 연구를 필두로 하여, 그 이후에는 문서의 키워드를 암호화하여 만든 인덱스를 사용하여 검색하는 시스템에 관한 연구가 주류를 이루면서 그것의 안전성 증명을 주목적으로 해왔다. In an information society, the management of the database, the repository of the information, is of paramount importance. The most practical way to protect sensitive and private information is the encryption of the database that stores it. The encryption method provided by commercial modules up to now is mostly a form of searching a keyword after reading and decrypting an encrypted document, and information leakage by an internal administrator is pointed out as another problem in this decryption process. In addition, the biggest reason why the encryption method was not practical until now was that the efficient data retrieval was not guaranteed on the encrypted database, and the study for this was limited to the safety-oriented theoretical study for individual users, which was somewhat far from realistic. will be. That is, the research so far started with Song et al.'S research on the system for retrieving the entire document based on the symmetric key in 2000. After that, the system searched using the index created by encrypting the keyword of the document. As research has become mainstream, its main purpose has been to prove its safety.
그러나, 암호화된 문서에 대한 효율적인 검색은 개인정보 뿐만 아니라 민감한 정보 보호에 가장 필요한 기술이다. 따라서 현재 절실히 요구되어지는 것은 암호화된 문서를 복호화하지 않은 상태에서 검색 가능한 시스템의 구축으로 이는 보안성 뿐만 아니라 상용 가능해야 하며, 개인의 비밀 문서 뿐만 아니라 조직의 그룹 관리를 위한 문서에도 적합한 것이어야 한다. 오늘날은 USB같은 대용량 저장 매체가 일반화되어 있기 때문에, 굳이 개인의 비밀 문서를 데이터베이스에 암호화하여 저장할 필요는 없으며, 조직내 구성원들이 공유한 비밀정보를 암호화하여 서버에 저장해 두고 수시로 검색해 업데이트 할 수 있는 환경이 더 현실적이기 때문이다. However, efficient retrieval of encrypted documents is the most necessary technique for protecting sensitive information as well as personal information. Therefore, what is urgently needed is to build a searchable system without decrypting encrypted documents, which must be not only secure but also commercially available, and suitable for documents for organizational group management as well as private secret documents. . Since mass storage media such as USB are commonplace today, it is not necessary to encrypt and store individual secret documents in a database, but it is possible to encrypt and store secret information shared by members in an organization and store it on a server, which can be retrieved and updated from time to time. Because this is more realistic.
그러나, 이러한 그룹 환경에서 암호화된 검색 시스템의 설계는 그리 간단한 것이 아니다. 왜냐하면, 그룹은 가입자의 입/탈퇴가 자유로운 다이나믹한 환경이고 암호화에 사용되는 그룹키는 멤버쉽 체인지 때마다 그것의 안전성을 위해 갱신되어 져야 하는 특성을 가진다. 또, 그룹 환경의 암호화된 검색 시스템에서는 다음과 같은 보안 요구 사항을 필요 조건으로 한다. 우선 탈퇴하는 멤버는 그 그룹에 관한 모든 문서에 대해서는 접근 불가능해야 하고, 새로 가입한 멤버는 그 그룹에 관해서는 현재 문서뿐 아니라 그 이전 문서까지 모두 검색 가능해야 한다. 이것의 해결책으로 우선, 그 그룹의 모든 문서를 복호화하여 갱신된 키로 다시 재암호화 하는 것을 들 수 있을 것이다. 하지만 이러한 과정은 엄청난 계산량을 필요로 한다. However, the design of an encrypted search system in such a group environment is not so simple. Because the group is a dynamic environment in which subscribers can freely enter or leave the subscriber, the group key used for encryption has a property that must be updated for its security whenever membership changes. In addition, an encrypted search system in a group environment requires the following security requirements. First, the withdrawing member must be inaccessible to all documents related to the group, and newly joined members must be able to search both the current document and the previous document for that group. A solution to this would first be to decrypt all the documents in the group and re-encrypt them with the updated key. However, this process requires a great deal of computation.
따라서, 그룹 환경에서의 효율적인 검색 시스템은 멤버쉽 체인지가 일어나는 상황에서 기존 문서의 재암호화 과정 없이 새가입자는 그전 문서까지 검색 가능해야 하며, 탈퇴한 자는 그 이후의 문서에 대해서는 접근 불가능해야 하는 것이다.Therefore, an efficient retrieval system in a group environment should allow new subscribers to search for previous documents without re-encryption of existing documents in the situation of membership change, and those who withdraw should not be able to access subsequent documents.
Park et al.은 처음으로 일방향성 해쉬 함수 키체인을 역으로 사용하여 이런 그룹 환경에 대한 검색 스킴을 제안하였다. 하지만, 이 스킴은 전방향 안전성(forward secrecy)를 만족시키지 못한다. 즉, 탈퇴자 중 한명이 자신이 알고 있던 그룹키를 서버에게 알려준다면, 서버는 그 당시 뿐만 아니라 그 이전 문서까지 모두 복호화 할 수 있으며, 이는 완전한 시스템 붕괴를 의미하는 것이다.Park et al. First proposed a retrieval scheme for this group environment using the unidirectional hash function keychain inversely. However, this scheme does not satisfy forward secrecy. In other words, if one of the opt-outs tells the server the group key he knew, the server can decrypt both the document as well as the previous one, which means a complete system crash.
그리고, Goll et al.이 동시적 검색(conjunctive search)을 제안하였지만 매번 검색시마다 문서 전체를 업데이트 해야 한다. 이들의 스킴은 종래 연구가 제공하지 못했던 'query isolation'(서버는 누적된 결과로부터 검색 결과 외의 평문에 관한 어떠한 정보도 알 수 없다)에 대한 안전성을 제공하면서 암호 검색 시스템이 갖추어야 할 완벽한 안전성을 구현하였다. 그러나, 이를 성취하기 위해서 검색시마다 모든 문서를 업데이트 해야 하는 비효율적인 측면이 발생한 것이다.Goll et al. Proposed a conjunctive search, but the entire document must be updated with each search. Their scheme provides the security for 'query isolation' (the server does not know any information about the plain text other than the search results from the accumulated results) that the previous research did not provide, and implements the perfect security that the crypto search system should have. It was. However, in order to achieve this, there is an inefficient aspect of updating every document every search.
또, Ballad et al. 의 페어링 함수를 이용한 검색 스킴은 10,000개의 인덱스를 검색하는데 720초(720000 ms)가 소요된다. 이것은 절대 상용 불가능한 성능이다. 이러한 성능은 단지 페어링 함수의 연산량 때문만은 아니며, 서버의 데이터베이스 저장 구조와 검색 과정 자체의 문제에 기인하는 것으로 분석된다.In addition, Ballad et al. The search scheme using the pairing function of takes 720 seconds (720000 ms) to search 10,000 indexes. This is a performance that is never commercially available. This performance is not only due to the amount of computation of the pairing function, but also due to problems with the server's database storage structure and the retrieval process itself.
따라서, 종래의 암호화된 문서의 검색방법은 내부 관리자의 정보 유출을 방지할 수 없고, 조직의 그룹 관리를 위한 문서에 적합하지 않으며, 문서의 검색시마다 모든 문서를 업데이트 해야 하고, 데이터 저장 구조상의 문제와 암호화로 인한 검색 절차상의 문제로 DB 스키마 적용의 불가능성으로 인한 비효율적인 문제점이 있다.Therefore, the conventional method of retrieving encrypted documents cannot prevent information leakage of internal administrators, is not suitable for documents for group management of an organization, all documents must be updated every time the documents are retrieved, and problems in data storage structure are required. There is an inefficient problem due to the impossibility of applying DB schema due to problems of search procedure due to encryption and encryption.
따라서, 본 발명이 이루고자 하는 첫번째 기술적 과제는 암호화된 문서 검색시의 비효율성을 최소화하고, 데이터베이스에 암호화 기법을 적용하면서 동시에 효율적인 검색을 가능하게 하고, 정보의 유출을 막아 정보의 오/남용을 막을 뿐 아니라 계층적인 접근 권한을 두어 정보의 체계적인 관리 및 효율적인 자료 검색이 가능하게 하는 암호화된 데이터베이스 검색 방법을 제공하는데 있다.Accordingly, the first technical problem to be achieved by the present invention is to minimize the inefficiency in retrieving encrypted documents, to enable efficient retrieval while applying encryption techniques to the database, and to prevent information leakage and misuse of information by preventing information leakage. In addition, it provides an encrypted database search method that enables hierarchical access to systematically manage information and enable efficient data retrieval.
본 발명이 이루고자 하는 두번째 기술적 과제는 상기의 암호화된 데이터베이스 검색 방법이 적용된 암호화된 데이터베이스 검색 시스템을 제공하는데 있다.The second technical problem to be achieved by the present invention is to provide an encrypted database search system to which the encrypted database search method is applied.
상기 첫번째 기술적 과제를 이루기 위하여, 본 발명은 인증된 사용자가 문서 및 상기 문서에 대한 대표 키워드를 입력하면, 상기 문서를 문서암호용 키로 암호 화하고 상기 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드와 상기 사용자의 검색키를 이용한 트랩도어를 생성하여 상기 서버에 질의하는 단계 및 상기 서버에서 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함하는 암호화된 데이터베이스 검색 방법을 제공한다.In order to achieve the first technical problem, when the authenticated user inputs a document and a representative keyword for the document, the present invention encrypts the document with a document encryption key and encrypts the representative keyword with a search key to generate an index. Transmitting the encrypted document and the index to the server, when a user authenticated by an arbitrary client inputs a keyword for a document to be searched, generates a trap door using the input keyword and the search key of the user. And querying the server and retrieving the encrypted document using the trapdoor and the index stored in the server, and transmitting the retrieved document to the client.
또한, 상기 첫번째 기술적 과제를 이루기 위하여, 본 발명은 인증된 사용자가 문서 및 상기 문서에 대한 복수의 키워드를 입력하는 단계, 상기 문서를 문서암호용 키로 암호화하는 단계, 상기 복수의 키워드로부터 임의의 키워드를 추출하여 동시적 검색을 위한 병합 검색어를 구성하고, 상기 복수의 키워드 및 상기 병합 검색어를 검색키로 암호화하여 인덱스를 생성하는 단계, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 복수의 키워드 및 상기 병합 검색어에 대해 상기 입력된 키워드를 상기 사용자의 검색키 및 랜덤하게 생성한 난수로 암호화한 트랩도어를 생성하여 상기 서버에 질의하는 단계 및 상기 서버에서 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함하는 암호화된 데이터베이스 검색 방법을 제공한다.In addition, in order to achieve the first technical problem, the present invention comprises the steps of an authenticated user inputs a document and a plurality of keywords for the document, encrypting the document with a key for document encryption, any keyword from the plurality of keywords Constructing a merged search term for a simultaneous search and encrypting the plurality of keywords and the merged search term with a search key to generate an index, transmitting the encrypted document and the index to the server, When a user authenticated in the client inputs a keyword for a document to be searched, a trap door is generated by encrypting the plurality of keywords and the merged keyword with the user's search key and a randomly generated random number. Querying the server and at the server the trapdoor and the server A method of searching an encrypted database, the method comprising: searching for an encrypted document using an index stored in and transmitting the retrieved document to the client.
또한, 상기 첫번째 기술적 과제를 이루기 위하여, 본 발명은 인증된 사용자 가 문서 및 상기 문서에 대한 복수의 키워드를 입력하는 단계, 상기 문서를 문서암호용 키로 암호화하고, 상기 복수의 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서에 대한 식별자, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계, 상기 서버에서 상기 인덱스와 상기 식별자를 매칭시킨 제1리스트를 생성하고, 상기 식별자와 상기 암호화된 문서를 매칭시킨 제2리스트를 생성하는 단계, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드를 상기 사용자의 검색키로 암호화한 트랩도어를 생성하여 상기 서버에 질의하는 단계 및 상기 서버에서 상기 제1리스트 및 상기 제2리스트를 이용하여 상기 트랩도어가 가리키는 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함하는 암호화된 데이터베이스 검색 방법을 제공한다.In addition, in order to achieve the first technical problem, the present invention comprises the steps of an authenticated user inputs a document and a plurality of keywords for the document, encrypting the document with a document encryption key, and encrypting the plurality of keywords with a search key Generating an index, transmitting an identifier for the encrypted document, the encrypted document, and the index to the server, generating a first list of matching the index and the identifier at the server; Generating a second list of matching encrypted documents; when an authenticated user inputs a keyword for a document to be searched by an arbitrary client, a trap door is generated by encrypting the input keyword with the search key of the user; Querying a server and using the first list and the second list at the server W provides an encrypted database, the search method comprising the trap retrieve encrypted document door points and transmits the retrieved document to the client.
상기 두번째 기술적 과제를 이루기 위하여, 본 발명은 복수의 클라이언트 및 서버를 포함하는 데이터베이스 검색 시스템에 있어서, 상기 데이터베이스 검색 시스템은 사용될 보안 정책을 설정하고, 사용자들의 아이디, 패스워드, 문서암호용 키 및 검색키를 생성하여 키매칭 테이블에 저장하며, 상기 키매칭 테이블을 주기적으로 각 사용자들의 클라이언트에 전송하는 그룹 메니저를 포함하고, 상기 클라이언트는 상기 키매칭 테이블에 의해 인증된 사용자가 문서 및 상기 문서에 대한 대표 키워드를 입력하면, 상기 문서를 문서암호용 키로 암호화하고 상기 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 업로드부 및 상기 키매칭 테이블에 의해 인증된 사용자가 검 색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드와 상기 사용자의 검색키를 이용한 트랩도어를 생성하여 상기 서버에 질의하는 검색부를 포함하고, 상기 서버는 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 약정된 프로토콜에 의해 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 것을 특징으로 하는 암호화된 데이터베이스 검색 시스템을 제공한다.In order to achieve the second technical problem, the present invention provides a database retrieval system including a plurality of clients and servers, wherein the database retrieval system sets a security policy to be used, user ID, password, key for document password and retrieval key. Generate and store in a key matching table, the group manager periodically transmitting the key matching table to a client of each user, wherein the client is authorized by the key matching table to represent the document and the document. If a keyword is inputted, the document is encrypted with a key for document encryption, the representative keyword is encrypted with a search key to generate an index, and is authenticated by an uploading unit for transmitting the encrypted document and the index to the server and the key matching table. To the document you want to retrieve. When a keyword is input, a search unit is generated to query the server by generating a trap door using the input keyword and the search key of the user, and the server is a protocol contracted using the trap door and the index stored in the server. It provides an encrypted database retrieval system, characterized in that for retrieving the document encrypted by the transmission and transmitting the retrieved document to the client.
상술한 바와 같이, 본 발명은 완전히 암호화된 검색 시스템의 설계를 목적으로 한다. 민감한 정보를 저장하고 있는 데이터베이스를 암호화하여 그것을 복호화하지 않은 상태에서 암호화된 검색어로 질의하여 검색 가능하게 하는 시스템으로, 이는 서버 관리자는 사용자가 어떠한 검색어로 어떠한 내용의 문서를 검색하는지 모르기 때문에 비신뢰적인 서버 관리자가 사용자의 정보를 임의로 외부로 유출하는 것을 막을 수 있다.As mentioned above, the present invention aims to design a fully encrypted retrieval system. A system that encrypts a database that stores sensitive information and makes it possible to query and search by encrypted search terms without decrypting it. This is unreliable because the server administrator does not know what search terms the user is searching for. The server administrator can prevent the user's information from leaking out arbitrarily.
다음으로, 본 발명은 그룹 환경에서의 다목적용 검색 시스템의 설계를 목적으로 한다. 기존의 사용자와 서버와의 1 대 1인 관계를 다 대 1로 확장하여 앞서 설명한 멤버쉽 체인지로 인한 그룹 환경에서의 검색 시스템의 문제를 해결하였다. 뿐만 아니라, 개인의 비밀 문서와 그룹 구성원들의 비밀 문서 모두 검색 가능하게 하는 다목적용 검색 시스템을 설계하고, 각각 다른 암호화키를 이용한 검색 시스템을 구성함으로써 접근 권한 역시 부여한다.Next, the present invention aims to design a multipurpose search system in a group environment. The existing one-to-one relationship between users and servers has been extended to many-to-one to solve the problem of the search system in the group environment due to the membership change described above. In addition, by designing a multipurpose retrieval system that enables the retrieval of both private and private documents and group members' secret documents, it also grants access by configuring retrieval systems using different encryption keys.
마지막으로, 본 발명은 다양한 기능과 상용 가능한 효율성을 제공을 목적으로 한다. 조직의 정책에 따라 Top secret 같은 일급 비밀을 관리하는 이상적인 안전성을 보장하는 검색 시스템과 그 보다 안전성은 다소 약하지만 현실적인 환경에 서 상용 적합한 효율적인 검색 시스템을 골라 사용할 수 있도록 한다. 상용 가능한 효율적인 검색 시스템은 암호화로 인한 검색 시스템의 비효율성을 극복한 것이어야 하며, 이를 위해 DB 스키마의 적용이 가능한 검색 구조이어야 한다. 그리고 효율적인 동시적 검색이 가능한 검색 시스템이어야 한다.Finally, the present invention aims to provide a variety of functions and compatible efficiencies. According to the organization's policy, it is possible to select an ideal security system for managing top secrets such as top secrets and an efficient search system that is commercially suitable in a somewhat less secure but realistic environment. An efficient search system that can be used commercially must overcome the inefficiency of the search system due to encryption. For this purpose, an efficient search system must be applicable to the DB schema. And it should be a search system capable of efficient simultaneous search.
본 발명은 암호화된 문서를 복호화하지 않고 암호화된 키워드를 이용하여 원하는 문서를 검색하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for searching for a desired document using an encrypted keyword without decrypting the encrypted document.
본 발명의 시나리오는 거대한 계층적 그룹의 하위 그룹인 gi의 멤버 pj은 그룹의 비밀 공유 문서 D1을 사내의 서버에 암호화하여 저장하고 키워드 w1를 이용하여 D1을 검색하려 한다. 이때, 다음과 같은 4가지 과정을 거친다. Scenario of the present invention to store the encrypted p j is a member of the group shared secret document D 1 in the g i sub-group of huge hierarchical organization of the group to a server and retrieve the D 1 using the keyword w 1. At this time, the following four processes.
첫번째, 준비 과정(Setup process)이다. 그룹 메니저(GM)는 검색 시스템에 사용될 함수 및 변수 크기, 키사이즈 등을 결정한다. 또한, 그룹 메니저는 사용자들의 등록을 수행하는데, 각 그룹 구성원 및 개인 사용자들을 아이디와 패스워드, 문서 암호용 키, 검색키를 생성하여 키매칭 테이블에 저장한다. 그룹 메니저는 각 사용자들의 클라이언트 프로그램에 키매칭 테이블 전송한다.First is the setup process. The group manager (GM) determines the function and variable size, key size, etc. to be used in the retrieval system. In addition, the group manager performs registration of users. Each group member and individual user generates an ID, a password, a document password key, and a retrieval key and stores them in a key matching table. The group manager sends a keymatching table to the client program of each user.
두번째, 인증 과정(Authentication process)이다. 사용자 로긴(login)은 입력창에 아이디와 패스워드를 입력하고, 그것과 매칭되는 값이 클라이언트 프로그램 내의 키매칭 테이블에 있는지 스캔하는 방식으로 수행될 수 있다. 인증 성공의 경우, 클라이언트의 비밀키로 암호화 되어있던 사용자의 문서 암호화키와 검색키를 복호화한다.Second is the authentication process. The user login may be performed by inputting an ID and password in an input window and scanning whether a value matching it is in a key matching table in the client program. In the case of successful authentication, the document encryption key and the search key of the user encrypted with the client secret key are decrypted.
세번째, 업로딩 과정(Uploading process)이다. 사용자는 문서와 그 문서의 대표 키워드를 입력한다. 클라이언트 프로그램은 복호화한 사용자의 문서암호용 키와 검색키로 사용자가 입력한문서를 암호화하고 검색키로 키워드를 암호화하여 인덱스를 생성하여 서버에게 전송한다.Third is the uploading process. The user enters the document and a representative keyword of the document. The client program encrypts the document input by the user with the decrypted user's document encryption key and search key, encrypts the keyword with the search key, and generates an index and transmits the index to the server.
네번째, 검색 과정(Search process)이다. 사용자 인증이 완료되고, 인증된 사용자가 검색할 키워드를 입력하면, 클라이언트는 키워드와 사용자의 검색키를 이용하여 질의어(트랩도어)를 생성하고 서버에게 질의한다. 서버는 질의어를 이용하여 테스트 과정 수행하고, 해당 문서를 클라이언트에게 전송한다. 클라이언트는 전송받은 문서를 복호화하여 사용자의 모니터에 출력한다. Fourth, the search process. When user authentication is completed and the authenticated user inputs a keyword to search, the client generates a query word (trap door) using the keyword and the user's search key and queries the server. The server performs the test process using the query and sends the document to the client. The client decrypts the received document and outputs it to the user's monitor.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다.Hereinafter, with reference to the drawings will be described a preferred embodiment of the present invention. However, embodiments of the present invention illustrated below may be modified in many different forms, and the scope of the present invention is not limited to the embodiments described below.
도 1은 본 발명에 따른 암호화된 데이터베이스 검색 시스템의 블럭도이다.1 is a block diagram of an encrypted database search system in accordance with the present invention.
본 발명에 따른 암호화된 데이터베이스 검색 시스템은 그룹 메니저(100), 복수의 클라이언트(110-180) 및 서버(190)를 포함한다.The encrypted database search system according to the present invention includes a
그룹 메니저(100)는 시스템에 사용될 보안 정책을 설정하고, 사용자들의 아이디, 패스워드, 문서암호용 키 및 검색키를 생성하여 키매칭 테이블에 저장하며, 키매칭 테이블을 실시간 또는 주기적으로 각 사용자들의 클라이언트(110-180)에 전송한다.The
클라이언트(110)는 클라이언트 프로그램을 포함하는데, 클라이언트 프로그램 은 인증부(111), 업로드부(112) 및 검색부(113)를 포함한다.The
인증부(111)는 클라이언트(110)에 접근하는 사용자를 인증한다. 인증부(111)는 예를 들어, 입력창에 아이디와 패스워드를 입력하고, 입력된 아이디 및 패스워드와 매칭되는 값이 클라이언트 프로그램 내의 키매칭 테이블에 있는지 스캔하는 방식으로 사용자를 인증할 수 있다. 인증부(111)는 키매칭 테이블의 아이디와 패스워드로 개인 사용자 및 그룹 멤버쉽을 인증한다.The
업로드부(112)는 키매칭 테이블에 의해 인증된 사용자가 업로드할 문서 및 문서에 대한 대표 키워드를 입력하면, 문서를 문서암호용 키로 암호화하고 대표 키워드를 검색키로 암호화하여 인덱스를 생성한다. 또한, 업로드부(112)는 암호화된 문서 및 인덱스를 서버(190)에 전송한다.When the user authenticated by the key matching table inputs a representative keyword for a document and a document to be uploaded, the
검색부(113)는 키매칭 테이블에 의해 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 입력된 키워드와 사용자의 검색키를 이용한 트랩도어를 생성하여 서버(190)에 질의한다.When the user authenticated by the key matching table inputs a keyword for a document to be searched, the
서버(190)는 트랩도어 및 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 클라이언트(110)에 전송한다. 예를 들어, 서버(190)는 암호화된 문서 및 인덱스를 저장하기 위한 데이터 베이스(191), 트랩도어 및 인덱스를 이용하여 암호화된 문서를 데이터 베이스(191)에서 검색하고 검색된 문서를 클라이언트(110)에 전송하기 위한 서버 검색부(192)를 포함할 수 있다. 이때, 데이터 베이스(191)는 VLDB를 이용할 수 있다.The
도 2는 본 발명의 일 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐 름도이다.2 is a flowchart of an encrypted database search method according to an embodiment of the present invention.
먼저, 인증된 사용자가 문서 및 문서에 대한 대표 키워드를 입력하면, 입력된 문서를 문서암호용 키로 암호화하고 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 암호화된 문서 및 인덱스를 서버에 전송한다(210 과정).First, when an authenticated user inputs a representative keyword for a document and a document, the input document is encrypted with a document encryption key, the representative keyword is encrypted with a search key, an index is generated, and the encrypted document and index are transmitted to the server ( 210 courses).
다음, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하는지 판단한다(220 과정). Next, it is determined whether an authenticated user inputs a keyword for a document to be searched by an arbitrary client (operation 220).
키워드가 입력되면, 입력된 키워드와 사용자의 검색키를 이용한 트랩도어를 생성하여 서버에 질의한다(225 과정). 반면에 키워드가 입력되지 않으면, 인증된 사용자가 키워드를 입력하거나 다른 작업을 완료할 때까지 대기한다(220 과정).If a keyword is input, a trapdoor using the input keyword and the user's search key is generated and inquired to the server (step 225). On the other hand, if a keyword is not entered, the authenticated user waits until the user inputs the keyword or completes another task (step 220).
마지막으로, 서버에서 트랩도어 및 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 클라이언트에 전송한다(230 과정).Finally, the server retrieves the encrypted document using the trapdoor and the index and transmits the retrieved document to the client (step 230).
바람직하게는, 본 발명의 일 실시예에 따른 암호화된 데이터베이스 검색 방법은 서버로부터 전송받은 문서를 클라이언트가 사용자의 문서암호용 키로 복호화하는 과정을 더 포함할 수 있다. 이때, 복호화된 문서를 사용자의 모니터로 출력하는 과정을 더 포함할 수 있다.Preferably, the encrypted database search method according to an embodiment of the present invention may further include a process of the client decrypting the document received from the server with a key for the document encryption of the user. In this case, the method may further include outputting the decrypted document to the user's monitor.
본 발명에서는 보다 현실적인 환경을 고려하여 그룹 환경에서 암호화된 문서 검색 시스템을 설계한다. 그리고 앞서 말한 Goll et al의 문제점을 극복하면서 안전성은 그들의 스킴처럼 최상으로 유지하는 스킴을 그룹 환경에서 설계한 SSIS를 제안한다. 이런 종래 연구의 연장선상의 스킴에서 탈피하여 현실적으로 상용 가능하도록 최적화 시킨 암호화된 DB 검색 시스템인 ESIS를 제안한다. 이 두 스킴 모두 다 위 도면의 4단계(setup, authentication, uploading, search)로 구성된다. In the present invention, an encrypted document retrieval system is designed in a group environment in consideration of a more realistic environment. Overcoming the aforementioned problems of Goll et al, we propose an SSIS designed scheme in a group environment in which safety is maintained as best as their scheme. We propose ESIS, an encrypted DB retrieval system optimized to be commercially viable by breaking away from the conventional scheme. Both of these schemes consist of four steps (setup, authentication, uploading, and search) in the above figure.
이하에서 사용되는 기호를 정의하면 다음과 같다. 는 그룹 i의 s번째 세션의 그룹키, 는 그룹 i의 검색키(인덱스 생성키)이다. 는 그룹 i의 문서 암호용 키이다. 즉, 문서의 암호와 인덱스 생성에 쓰이는 키를 달리한다. 는 개인 사용자 의 개인키, 는 사용자 의 검색키, 는 개인 사용자 의 문서 암호용 키, 는 사용자 j의 아이디, 는 n번째 문서, 는 문서 의 식별자, 는 n번째 문서 의 t번째 키워드, 는 n번째 문서 의 t번째 인덱스, 는 클라이언트 프로그램의 비밀키, 는 q번째 쿼리에 생성된 난수이다.The symbols used below are defined as follows. Is the group key of the sth session of group i, Is the search key (index generation key) of group i. Is the key for document encryption in group i. In other words, the key used to create the document's password and index is different. An individual user 'S private key, Is a user 'S search key, An individual user Keys for document encryption, Is the id of user j, Is the nth document, Document Identifier of, Is the nth document T keyword of, Is the nth document T index of, Is the secret key of the client program, Is a random number generated in the qth query.
본 발명의 다른 실시예에 따른 암호화된 데이터베이스 검색 방법 즉, SSIS(Secure Searchable Index Schemes)는 다음과 같이 구성된다.An encrypted database search method according to another embodiment of the present invention, that is, Secure Searchable Index Schemes (SSIS) is configured as follows.
먼저, 준비 단계 (Setup process)이다. 그룹 메니저는 검색 시스템에 사용될 함수, 변수, 및 키 사이즈를 포함하는 보안 정책을 결정하고 사용자들의 등록절차가 이뤄진다. 이 과정에서 생성된 키들은 키매칭 테이블의 형태로 저장되고 이는 다시 각 사용자들의 클라이언트 프로그램에 전송된다.First, the setup process. The group manager determines the security policy, including the functions, variables, and key sizes to be used in the retrieval system, and the registration process of the users is made. The keys generated in this process are stored in the form of a key matching table, which is then sent back to the client program of each user.
표 1은 키매칭 테이블의 일 예이다.Table 1 shows an example of a key matching table.
다음으로, 인증 단계 (Authentication process)이다. 로긴시 사용자가 사전에 등록된 정당한 사용자인지를 인증받는 과정이다.Next is the authentication process. This is a process of authenticating whether a login user is a valid user registered in advance.
다음으로, 업로딩 단계 (Uploading process)이다. 인증에 성공한 사용자는 업로딩할 문서와 그 문서에 대한 키워드를 입력하고 클라이언트 프로그램은 그것들을 암호화하고 인덱스를 생성하여 서버에 전송한다.Next, an uploading process. The user who successfully authenticates enters the documents to upload and keywords for the documents, and the client program encrypts them, creates an index, and sends them to the server.
SSIS에서는 각 문서당 t 개의 키워드를 이용해 인덱스를 구성하며, 동시적 검색(conjunctive search)을 위해 t 개중 r 개를 뽑아 병합 검색어(meta-keywords)를 구성한다. 예로, 키워드 개수 t 가 7이고 r 이 3이면, 싱글 키워드 7개, 2개짜리 키워드 21개(7C2), 3개짜리 키워드 35개(7C3)로 한 문서당 총 63개의 키워드로 인덱스 스트링을 구성하게 된다. 인덱스 스트링 구성 방법은 다음의 수학식 1과 같다;SSIS constructs an index using t keywords for each document, and forms meta-keywords by extracting r of t for conjunctive search. For example, if the number of keywords t is 7 and r is 3, there are 7 single keywords, 21 two keywords ( 7 C 2 ), and 35 three keywords ( 7 C 3 ). It will form an index string. The index string construction method is shown in Equation 1 below;
다음으로, 검색 단계 (Search process)는 트랩도어 생성 단계(Trapdoor generation stage)와 테스트 및 검색 단계 (Test and Search stage)를 포함한다.Next, the search process includes a trapdoor generation stage and a test and search stage.
먼저, 트랩도어 생성 단계를 설명하면 다음과 같다. 여기서 트랩도어란 사용자의 검색키(비밀키)로 키워드를 암호화하여 검색을 요청하는 질의어이다. 알고리즘 Trapdoor는 Tw=(T1, T2)를 출력한다. First, the trapdoor generation step will be described. The trapdoor is a query word that requests a search by encrypting a keyword with a user's search key (secret key). The algorithm Trapdoor outputs T w = (T 1 , T 2 ).
SSIS에서 트랩도어 생성의 일 예는 다음의 수학식 2와 같다.An example of trapdoor generation in SSIS is shown in Equation 2 below.
여기서 는 매 쿼리시 마다 새롭게 랜덤하게 생성되어지는 값이고, 트랩도어는 모듈 연산으로 연산되어진다. 때문에 서버는 다음과 같은 사실을 알 수 없다 ; 1)쿼리된 키워드가 이전에 쿼리되어졌던 키워드와 같은 것인지, 2)쿼리에 사용된 검색키 Ki가 이전 질의자의 키와 같은 것인지, 비록 같은 그룹의 멤버가 같은 키 워드를 검색했을지라도 서버는 그 사실을 알 수 없다. 이것으로 인해, 서버는 축적된 결과들로부터 어떤 새로운 사실을 알아낼 수 없어 암화화된 검색 시스템 상에서 완벽한 안전성을 제공할 수 있다. here Is a new randomly generated value at every query, and trapdoor is calculated by module operation. Because of this, the server cannot know the following facts; 1) whether the queryed keyword is the same as the one that was queried previously, 2) the search key K i used in the query is the same as the key of the previous query, even if members of the same group searched for the same keyword. It is not known. Because of this, the server cannot learn any new facts from the accumulated results and can provide complete security on the encrypted search system.
다음으로, 테스트 및 검색 단계 (Test and Search stage)를 설명하면 다음과 같다. 모든 n={1,2,...,n}에 대하여, 서버는 전송받은 트랩도어와 각 문서의 인덱스 스트링에 있는 식별자(identifier, id0와 id1)를 사용해서 다음의 수학식 3을 연산하여 문서를 검색하게 된다.Next, the test and search stage will be described. For every n = {1,2, ..., n}, the server uses the following equation (3) using the trapdoors received and the identifiers (id 0 and id 1 ) in the index string of each document: The operation will retrieve the document.
서버는 각 문서마다 연산한 이 결과값과 같은 것이 인덱스 스트링 중에 존재하는지 체크하고, 만약 있다면 해당하는 암호문 을 클라이언트에게 리턴한다.The server checks if there is something in the index string that equals this result computed for each document, and if so, the ciphertext. To the client.
이와 같이, 효율적인 테스트식의 구성(트랩도어에서 랜덤하게 생성되어진 가 연산후 결과값에는 존재하지 않는다)에 의해서 Golle의 스킴처럼 검색시마다 문서 전체를 업데이트하는 과정 없이도 'query isolation'을 제공할 수 있다.In this way, an efficient test configuration ( randomly generated in the trapdoor Is not present in the result after the operation), as in Golle's scheme, we can provide 'query isolation' without the need to update the entire document on every search.
마지막으로, 출력 단계(Output Stage)는 다음과 같다. 클라이언트는 받은 암호문 을 문서암호용키 Ri를 사용하여 복호화하고, 그 결과를 사용자의 컴퓨터에 출력한다.Finally, the output stage is as follows. Client received cipher text Is decrypted using the document encryption key R i and the result is output to the user's computer.
도 3은 본 발명의 다른 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.3 is a flowchart of an encrypted database search method according to another embodiment of the present invention.
먼저, 인증된 사용자가 문서 및 상기 문서에 대한 복수의 키워드를 입력한다(310 과정). 다음, 입력된 문서를 문서암호용 키로 암호화하고, 복수의 키워드로부터 임의의 키워드를 추출하여 동시적 검색을 위한 병합 검색어를 구성하며, 복수의 키워드 및 병합 검색어를 검색키로 암호화하여 인덱스를 생성한다(315 과정).First, an authenticated user inputs a document and a plurality of keywords for the document (step 310). Next, the input document is encrypted with a document encryption key, an arbitrary keyword is extracted from the plurality of keywords to form a merged search term for simultaneous search, and the index is generated by encrypting the plurality of keywords and the merged search term with the search key ( 315 courses).
다음, 암호화된 문서 및 인덱스를 서버에 전송하여 업로드한다(317 과정).Next, the encrypted document and the index are transmitted to the server and uploaded (step 317).
업로드가 완료되면, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하는지 판단한다(320 과정). 키워드가 입력되면, 입력된 키워드를 사용자의 검색키로 암호화하여 복수의 키워드 및 병합 검색어에 대한 트랩도어를 생성하고, 트랩도어로 서버에 질의한다(325 과정).When the upload is completed, it is determined whether an authenticated user inputs a keyword for a document to be searched by an arbitrary client (step 320). When the keyword is input, the input keyword is encrypted with the user's search key to generate a trap door for the plurality of keywords and the merged search word, and the server is queried with the trap door (step 325).
마지막으로, 서버에서 트랩도어 및 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 클라이언트에 전송한다(330 과정).Finally, the server retrieves the encrypted document using the trapdoor and the index and transmits the retrieved document to the client (step 330).
본 발명의 또다른 실시예에 따른 암호화된 데이터베이스 검색 방법 즉, ESIS(Efficient Searchable Index Schemes)는 다음과 같이 구성된다. 스킴 진행 과정 역시 준비 단계와 인증 단계는 SSIS와 같으므로 업로딩 단계와 검색 단계만을 설명한다.An encrypted database search method according to another embodiment of the present invention, that is, ESIS (Efficient Searchable Index Schemes) is configured as follows. The scheme progression also describes the uploading and retrieval steps as the preparation and authentication steps are the same as for SSIS.
먼저, 업로딩 단계(Uploading process)를 설명하면 다음과 같다. ESIS에서는 SSIS와 달리 병합 검색어 (meta - keywords)에 대한 인덱스를 생성하지 않고 동시 적 검색은 교집합 연산법을 이용하기로 한다. 암호문과 인덱스 생성 방법은 다음의 수학식 4를 이용할 수 있다.First, the uploading process will be described as follows. Unlike SSIS, ESIS does not create indexes for merge keywords (meta-keywords) and instead uses the intersection algorithm for simultaneous searches. The cipher text and the index generation method may use Equation 4 below.
사용자가 입력한 업로딩할 문서를 클라이언트 프로그램이 위와 같이 서버에 전송하면 서버는 다음과 같은 인덱스 리스트를 만든다. 즉, ESIS는 2개의 데이터베이스로 구성되며, 여기서 dn은 문서 식별자로서의 역할 뿐만 아니라 주소지로서의 역할도 하는 것이다.When the client program sends the document to be uploaded by the user to the server as above, the server creates the index list as follows. In other words, ESIS consists of two databases, where d n serves not only as a document identifier but also as an address.
이와 같은 방법으로 인덱스 리스트의 구조가 생성되므로 기본키(primary key)와 외부키(foreign key)를 이용한 효율적인 DB 스키마를 적용시킬 수가 있다.In this way, because the structure of the index list is created, an efficient DB schema using primary and foreign keys can be applied.
생성된 인덱스 리스트의 구조의 일 예는 표 2와 같다.An example of the structure of the generated index list is shown in Table 2.
이하에서는 표 2의 왼쪽에 제시된 인덱스 리스트를 제1리스트로 정의하고, 오른쪽에 제시된 암호화된 문서는 제2리스트로 정의한다.Hereinafter, the index list shown on the left side of Table 2 is defined as the first list, and the encrypted document shown on the right side is defined as the second list.
다음으로, 검색 단계(Search process)인데, 검색 단계는 트랩도어 생성 단계(Trapdoor generation stage), 테스트 및 검색 단계(Test and search stage)를 포함한다.Next, a search process, which includes a trapdoor generation stage, a test and search stage.
먼저, 트랩도어 생성 단계는 다음의 수학식 5와 같이 트랩도어를 생성한다.First, the trap door generation step generates a trap door as shown in Equation 5 below.
다음, 테스트 및 검색 단계는 서버가 트랩도어를 받으면 인덱스 리스트에서 그것과 같은 값이 있는지 스캔한다. 만약 있다면 그것에 해당하는 문서 식별자를 오른쪽 표에서 다시 찾아 그것에 해당하는 암호화된 문서를 리턴한다. 만약 2개 이상의 동시적 검색(conjunctive search)이라면, 첫 번째 키워드를 검색한 후, 그 결과에 해당하는 인덱스에 대해서만 두 번째 키워드를 검색하여 공통된 결과만을 저장해 두고, 이 공통된 결과값에 대해서만 그 다음 키워드를 검색한다. 질의된 키워드만큼 이런 과정을 수행한 후, 최종 결과만을 사용자에게 리턴한다. 즉, 교집합(inersection) 연산을 통하여 동시적 검색을 수행하는 것이다. Next, the test and search phase scans the server for a value equal to that in the index list when the server receives the trapdoor. If it does, find the corresponding document identifier in the table on the right and return the corresponding encrypted document. If there are two or more conjunctive searches, the first keyword is searched, then the second keyword is searched only for the index corresponding to the result, and only the common result is stored, and the next keyword is used only for this common result. Search for. After doing this for the keywords that were queried, only the final result is returned to the user. In other words, a simultaneous search is performed through an intersection operation.
마지막으로, 출력 단계(Output stage)에서는 클라이언트 프로그램이 서버로부터 받은 암호문을 사용자의 문서암호용키로 복호화하여 그 결과값을 사용자에게 출력한다.Finally, in the output stage, the client program decrypts the cipher text received from the server with the user's document encryption key and outputs the result to the user.
도 4는 본 발명의 또다른 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.4 is a flowchart of an encrypted database search method according to another embodiment of the present invention.
먼저, 인증된 사용자가 업로드할 문서 및 문서에 대한 복수의 키워드를 입력한다(410 과정). 다음, 입력된 문서를 문서암호용 키로 암호화하고 복수의 키워드를 검색키로 암호화하여 인덱스를 생성하며, 암호화된 문서에 대한 식별자, 암호화된 문서 및 인덱스를 서버에 전송한다(415 과정).First, a user inputs a plurality of keywords for documents and documents to be uploaded (step 410). Next, the input document is encrypted with a document encryption key, a plurality of keywords are encrypted with a search key to generate an index, and an identifier, an encrypted document, and an index for the encrypted document are transmitted to the server (step 415).
업로드가 완료되면, 서버에서 인덱스와 식별자를 매칭시킨 제1리스트를 생성하고, 식별자와 암호화된 문서를 매칭시킨 제2리스트를 생성한다(417 과정). 이때, 제 1리스트의 인덱스와 식별자를 ‘기본키 (primary key)’로 선언하고, 제 2리스트의 식별자를 ‘외부키 (foreign key)’로 선언하여 DB 스키마를 적용함으로써 관계형 DB를 구성한다.When the upload is completed, the server generates a first list that matches the index and the identifier, and generates a second list that matches the identifier and the encrypted document (step 417). In this case, the relational DB is constructed by declaring the index and identifier of the first list as a 'primary key' and declaring the identifier of the second list as a 'foreign key' to apply a DB schema.
다음, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하는지 판단한다(420 과정). 키워드가 입력되면, 입력된 키워드를 사용자의 검색키로 암호화한 트랩도어를 생성하여 서버에 질의한다(425 과정).Next, it is determined whether an authenticated user inputs a keyword for a document to be searched by an arbitrary client (operation 420). If a keyword is input, a trapdoor in which the input keyword is encrypted using the user's search key is generated and the server is queried (step 425).
마지막으로, 서버에서 제1리스트 및 제2리스트를 이용하여 트랩도어가 가리키는 암호화된 문서를 검색하고 검색된 문서를 클라이언트에 전송한다(430 과정).Finally, the server searches for the encrypted document indicated by the trapdoor using the first list and the second list, and transmits the retrieved document to the client (step 430).
본 발명은 암호화 키를 이용하여 암호화한 문서를 복호화하지 않은 상태에서 검색 가능하게 하는 시스템에 관한 것이다. The present invention relates to a system that enables retrieval without decrypting a document encrypted using an encryption key.
본 발명은 키워드를 이용한 인덱스 검색 시스템에 관한 것이다. 서버 관리자를 비신뢰적인 내부 공격자로 간주한다. 이런 내부 공격자 및 외부 격자로부터 안전한 시스템을 구축하기 위해 각 문서를 암호화하고, 각 문서를 대표하는 주요 키 워드들을 뽑아 암호화하여 그 문서에 해당하는 인덱스를 만든다. 검색할 때는 검색어를 암호화하여 질의하고, 서버는 이런 질의에 해당하는 인덱스가 그 문서에 속한 것인지를 테스트하여 사용자에게 해당 문서를 리턴한다. The present invention relates to an index search system using keywords. Treat server administrators as untrusted internal attackers In order to build a secure system from such an internal attacker and an external grid, each document is encrypted, and key documents representing each document are extracted and encrypted to create an index corresponding to the document. When searching, the query is encrypted by query, and the server tests whether the index corresponding to the query belongs to the document and returns the document to the user.
본 발명은 보안성과 기능성을 동시에 고려한 상용 적합한 알고리즘에 관한 것이다. 본 발명은 안전한 정보 관리를 위하여 암호화키를 이용한 암호화 기법을 사용한다. 또한, 로긴시 그룹 구성원 및 개인 사용자로서의 인증 과정을 거쳐 접근 권한을 준다. 서버단에서의 복호화 과정 없이 검색 가능하기 때문에 서버 관리자 역시 문서에 대한 내용을 알 수 없다. SSIS는 암호 검색 시스템에 있어서 최고의 안전성에 효율적인 측면을 개선한 알고리즘이다. The present invention relates to a commercially suitable algorithm considering security and functionality at the same time. The present invention uses an encryption technique using an encryption key for secure information management. In addition, access is granted through authentication process as a login group member and individual user. The server administrator can not know the contents of the document because it can be searched without decryption at the server side. SSIS is an algorithm that improves the highest security and efficient aspect of a password retrieval system.
본 발명은 상용 DB와 연동 가능하다. ESIS는 일반 상용 데이터베이스에 사용되는 DB 스키마를 암호화된 검색 시스템에서도 사용 가능하도록 설계하여 검색 속도를 향상시킨다. 페어링 함수를 사용하지 않고도 동시적 검색(conjunctive search, 2개 이상의 검색어를 모두 포함하는 문서 검색)이 가능하다. The present invention can be linked to a commercial DB. ESIS speeds up the search by designing the DB schema used for general commercial databases to be used in an encrypted search system. Concurrent search (document search that includes two or more search terms) is possible without using the pairing function.
본 발명은 다목적용 시스템에 관한 것이다. 종래의 사용자와 서버와의 관계가 1:1인 검색 시스템에서 다:1인 그룹 환경으로 확장한다. 즉, 거대 조직을 하나의 계층적 그룹으로 간주하고, 전체 그룹 및 그 하위 그룹들의 구성원으로서 뿐만 아니라 개인 사용자로서도 검색 가능한 시스템을 구축한다. The present invention relates to a multipurpose system. It extends from a one-to-one search system where the relationship between a user and a server is 1: 1. That is, consider a large organization as a hierarchical group, and build a searchable system not only as a member of the entire group and its subgroups, but also as an individual user.
본 발명은 관리 효율적이다. 그룹 메니저는 계층적 그룹의 여러 하위 그룹들의 구성원들의 키 관리와 등록 절차를 담당한다. 안전성과 기능성을 고려하여 각 키 사이즈와 변수들, 키워드 개수를 결정한다. 즉, 보안 정책 결정자로서의 역할을 수행한다. 클라이언트 프로그램은 검색 시스템에서 일종의 접속 프로그램이다. 사용자를 대신하여 서버와 검색 과정을 수행한다. 이를 위해 키 매칭 테이블을 보유하고 있으며, 이는 주기적으로 그룹 메니저로부터 업데이트된 정보를 내려받아 동기화 시켜준다. 키매칭 테이블은 사용자 로그인시 인증 기능을 수행하고 이로써 접근 제한을 가능하게 한다. 뿐만 아니라, 업데이트가 용이하다. 암호화하여 서버에 저장하고 싶은 문서가 있으면 업로딩 단계와 동일한 방법으로 수행하면 되기 때문에 별도의 제한 없이 업데이트 가능하다. The present invention is management efficient. The group manager is responsible for key management and registration procedures for members of various subgroups of the hierarchical group. Determine key size, variables, and number of keywords in consideration of safety and functionality. It acts as a security policy maker. The client program is a type of access program in the search system. Perform a search with the server on your behalf. For this purpose, it holds a key matching table, which periodically downloads updated information from the group manager and synchronizes it. The key matching table performs an authentication function upon user login, thereby allowing access restriction. In addition, updates are easy. If there is a document that you want to encrypt and store on the server, you can update it without any limitation because you can do it in the same way as the uploading step.
본 발명에 따른 스킴 SSIS, ESIS의 평문 버전인 P-SSIS와 P-ESIS를 모두 같이 실험하였다. 표 3에 의하면 ESIS의 성능은 SSIS보다 월등히 뛰어나며, 평문버전과 거의 차이가 없음을 알 수 있다. 그러나 DB스키마를 적용하지 않았던 처음 실험에서는 그러한 결과가 나오지 않았다. 처음 실험에서는 ESIS 역시 성능이 매우 저조하였다. 그래서 DB스키마를 적용하여 실험하려 하였으나 SSIS는 DB스키마 적용이 불가능한 구조와 검색 방법을 가지고 있었다. 따라서 ESIS에만 기본키와 외부키를 이용한 DB스키마를 적용하여 실험하였고 그 결과 표 3과 같은 놀라운 결과를 얻을 수 있었다. SSIS는 종래 연구들의 구조와 검색 방법을 그대로 따르면서 효율성을 향상시킨 스킴이기 때문에 종래 스킴 역시 성능이 저조할 것이라는 추측 아래 종래 스킴 역시 실험해 보았다. 결과는 예상했던대로 표 4에서 보는 바와 같이 ESIS는 Golle et al.의 스킴과 SSIS보다 약 480배 가량 빠르며, Song et al.의 스킴보다 약 10배 가량 빨랐다.The P-SSIS and P-ESIS, which are plain text versions of the schemes SSIS and ESIS, were tested together. According to Table 3, the performance of ESIS is much better than SSIS, and it is almost no difference from the plain text version. However, the first experiment without DB schema did not show such results. In the first experiments, ESIS was also very poor. So, we tried to experiment with DB schema, but SSIS had structure and search method that DB schema could not be applied. Therefore, we experimented by applying DB schema using primary key and foreign key only to ESIS. Since SSIS is a scheme that improves efficiency while maintaining the structure and search method of the previous studies, the conventional scheme was also experimented under the assumption that the conventional scheme would also perform poorly. As expected, as shown in Table 4, ESIS was about 480 times faster than Golle et al. And SSIS and about 10 times faster than Song et al.
표 3과 표 4의 단위는 ms 이다.The unit of Table 3 and Table 4 is ms.
이상에서는 안전성 위주의 스킴인 SSIS와 효율성 위주의 스킴인 ESIS를 설계하고, 이 두 스킴 모두를 구현하여 실험과 분석을 하였다. 이 과정에서 DB 검색 시스템에서 DB가 제공하는 스키마의 적절한 사용이 검색 시스템의 효율성에 얼마나 중요한 역할을 하는지 알 수 있으며 종래 스킴들 역시 DB 스키마 적용이 불가능하여 상용화하기엔 부적합 하다는 것을 실험을 통하여 알 수 있었다. 따라서 사용되는 함수의 연산량과 통신량의 효율성 뿐만 아니라 그것의 응용계층과의 상호 연동시 효율성도 반드시 고려해야 할 중요한 사항이라는 것을 알 수 있다.In the above, we designed SSIS, a safety-oriented scheme, and ESIS, an efficiency-oriented scheme, and implemented both experiments and analyzed them. In this process, it can be seen how important the proper use of the schema provided by the DB in the DB search system plays an important role in the efficiency of the search system. Experiments show that the conventional schemes are not suitable for commercialization because the DB schema is not applicable. . Therefore, it can be seen that not only the efficiency of the calculation and communication of the functions used, but also the efficiency when interworking with its application layer is an important factor to consider.
NEIS 및 전자정부 구현과 더불어 개인정보보호는 굉장히 중요한 핫 이슈로 부각되었다. NEIS 및 전자정부에 사용되는 데이터베이스의 오남용을 가장 확실하게 방지할 수 있는 방안은 개인정보보호와 기밀한 정보보호를 담당하는 데이터베이스의 암호화이다. 본 발명은 데이터베이스에 암호화 기법을 적용하면서 동시에 효율적인 검색을 가능하게 하여 기업의 경쟁력과 관공서의 공신력, 그리고 서비스 제공 업자들 및 금융기관의 보안상 신뢰도를 높일 수 있다. 근자에 일어난 국내 대기업의 채용 응시자 정보가 인터넷에 대규모로 유출된 사건만 봐도 데이터베이스의 암호화가 얼마나 중요한 가를 알 수 있다. Along with the implementation of NEIS and e-government, privacy has become a very important hot issue. The most reliable protection against misuse of databases used by NEIS and e-government is encryption of databases responsible for privacy and confidential information protection. The present invention can improve the competitiveness of the company, the public trust of the government, and the security reliability of service providers and financial institutions by applying encryption techniques to the database and at the same time enabling efficient search. The fact that large-scale leaks in job candidates of large Korean companies in recent years have been leaked to the Internet shows the importance of database encryption.
경제적인 측면으로는 DB업계의 호응을 예상할 수 있다. 이미 국외에선 개발 단계에 들어가 있지만, 암호화 기법의 비효율성이란 선입견과 보안 문제의 인식 부족 때문에 국내에선 연구에 대한 시도조차 없는 상황에서 이와 같이 상용 가능한 효율적인 성능을 가진 시스템의 개발은 국내 업계에게 DB 보안에 관한 중요성을 고취시키고 상품 개발을 유도해 낼 수 있을 것으로 보여진다. 또한 이런 상품 개발은 기업, 병원, 관공서, 금융기관, 서비스 업체 등 개인 정보 및 민감한 정보를 다루는 데이터베이스를 두는 모든 조직들은 이를 사용할 것으로 여겨지므로 넓은 시장을 확보할 수 있을 것으로 보여진다. 기업이나 관공서 또는 병원 같은 공공기관에서는 외부로 노출되어져서는 안될 기밀한 정보를 많이 다룬다. 본 발명은 그들의 데이터베이스에 암호화 기법을 적용하여 정보의 유출을 막아 정보의 오남용을 막을 뿐 아니라 계층적인 접근 권한을 두어 정보의 체계적인 관리 및 효율적인 자료 검색이 가능하게 하고, 이러한 데이터베이스의 효율적인 검색 시스템을 실현함으로써 안전한 정보 관리 체계를 실현하여 정보화 사회에서 경제 성장뿐만 아니라 국가 정책 발전의 원동력이 되게 할 것이다.On the economic side, we can expect the DB industry to respond. Already in the development stage abroad, inefficiency of encryption technique is prejudice and lack of awareness of security problem, so there is no attempt to research in Korea. It seems to be able to inspire the importance of and to induce product development. In addition, such product development is expected to be used by all organizations that have databases that deal with personal and sensitive information, such as companies, hospitals, government offices, financial institutions, and service providers, and thus have a broad market. Public institutions such as corporations, public offices and hospitals deal with a lot of confidential information that should not be exposed to the outside. The present invention not only prevents information leakage by applying encryption techniques to their databases, but also provides hierarchical access rights to enable systematic management of information and efficient data retrieval, and realize an efficient retrieval system of such databases. By implementing a secure information management system, it will be the driving force of national policy development as well as economic growth in the information society.
바람직하게는, 본 발명의 암호화된 데이터베이스 검색 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다.Preferably, a program for executing the encrypted database retrieval method of the present invention on a computer may be recorded and provided on a computer-readable recording medium.
본 발명은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.The invention can be implemented via software. When implemented in software, the constituent means of the present invention are code segments that perform the necessary work. The program or code segments may be stored on a processor readable medium or transmitted by a computer data signal coupled with a carrier on a transmission medium or network.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The computer-readable recording medium includes all kinds of recording devices in which data is stored which can be read by a computer system. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, DVD ± ROM, DVD-RAM, magnetic tape, floppy disks, hard disks, optical data storage devices, and the like. The computer readable recording medium can also be distributed over network coupled computer devices so that the computer readable code is stored and executed in a distributed fashion.
본 발명은 도면에 도시된 일 실시예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary and will be understood by those of ordinary skill in the art that various modifications and variations can be made therefrom. However, such modifications should be considered to be within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
상술한 바와 같이, 본 발명에 의하면, 데이터베이스에 암호화 기법을 적용하 면서 동시에 효율적인 검색을 가능하게 하고, 정보의 유출을 막아 정보의 오남용을 막을 뿐 아니라 계층적인 접근 권한을 두어 정보의 체계적인 관리 및 효율적인 자료 검색이 가능하게 하는 효과가 있다.As described above, according to the present invention, it is possible to apply an encryption scheme to a database and at the same time enable efficient retrieval, prevent leakage of information to prevent misuse of information, and provide hierarchical access rights to systematically manage and manage information. It has the effect of enabling data retrieval.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060101805A KR100839220B1 (en) | 2006-10-19 | 2006-10-19 | Method for searching encrypted database and System thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060101805A KR100839220B1 (en) | 2006-10-19 | 2006-10-19 | Method for searching encrypted database and System thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080035295A KR20080035295A (en) | 2008-04-23 |
KR100839220B1 true KR100839220B1 (en) | 2008-06-19 |
Family
ID=39574310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060101805A KR100839220B1 (en) | 2006-10-19 | 2006-10-19 | Method for searching encrypted database and System thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100839220B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8225107B2 (en) | 2008-12-18 | 2012-07-17 | Electronics And Telecommunications Research Institute | Methods of storing and retrieving data in/from external server |
KR101190059B1 (en) * | 2008-12-12 | 2012-10-16 | 한국전자통신연구원 | Method for data encryption and method for conjunctive keyword search of encrypted data |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100899450B1 (en) * | 2007-09-21 | 2009-05-27 | 고려대학교 산학협력단 | Method of similarity string matching from ciphertext, Recording medium and System using by the same |
KR100903601B1 (en) * | 2007-10-24 | 2009-06-18 | 한국전자통신연구원 | Searching system for encrypted numeric data and searching method therefor |
KR101302137B1 (en) * | 2009-12-16 | 2013-09-16 | 한국전자통신연구원 | Method for Searchable Symmetric Encryption |
KR101104845B1 (en) * | 2010-09-08 | 2012-01-16 | (주)소만사 | Safe communication system between database and client using db vpn and the method thereof |
KR101282281B1 (en) * | 2011-08-30 | 2013-08-23 | 고려대학교 산학협력단 | Weighted keyword searching method for perserving privacy, and apparatus thereof |
US9311494B2 (en) * | 2011-12-01 | 2016-04-12 | Hitachi, Ltd. | Secure search method and secure search device |
KR20140029984A (en) | 2012-08-31 | 2014-03-11 | 한국전자통신연구원 | Medical information management method of medical database operating system |
KR102131306B1 (en) * | 2013-05-09 | 2020-07-07 | 삼성전자주식회사 | Apparatus for M anaging Data, Method for Managing Data, System for Managing Data |
KR101697868B1 (en) * | 2015-05-19 | 2017-01-19 | 포항공과대학교 산학협력단 | Method for encrypting data for sharing or searching the data and apparatus for performing the method |
CN113626485A (en) * | 2021-07-03 | 2021-11-09 | 西安电子科技大学 | Searchable encryption method and system suitable for database management system |
CN114417109A (en) * | 2021-12-29 | 2022-04-29 | 电子科技大学广东电子信息工程研究院 | Ciphertext searching method, device and system based on security gateway |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980044525A (en) * | 1996-12-06 | 1998-09-05 | 양승택 | How to stay secure in an information retrieval system |
KR20000072232A (en) * | 2000-08-19 | 2000-12-05 | 이석구 | system of distribution for digital contents using internet |
KR20050046596A (en) * | 2003-11-14 | 2005-05-18 | 소니 가부시끼 가이샤 | Information acquisition system and information acquisition method |
KR20050099751A (en) * | 2004-04-12 | 2005-10-17 | 주식회사 비티웍스 | System and method for security of database |
KR20050112943A (en) * | 2004-05-28 | 2005-12-01 | 주식회사 다음커뮤니케이션 | Individualized information furnishing system using unique searching keyword and method thereof |
-
2006
- 2006-10-19 KR KR1020060101805A patent/KR100839220B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980044525A (en) * | 1996-12-06 | 1998-09-05 | 양승택 | How to stay secure in an information retrieval system |
KR20000072232A (en) * | 2000-08-19 | 2000-12-05 | 이석구 | system of distribution for digital contents using internet |
KR20050046596A (en) * | 2003-11-14 | 2005-05-18 | 소니 가부시끼 가이샤 | Information acquisition system and information acquisition method |
KR20050099751A (en) * | 2004-04-12 | 2005-10-17 | 주식회사 비티웍스 | System and method for security of database |
KR20050112943A (en) * | 2004-05-28 | 2005-12-01 | 주식회사 다음커뮤니케이션 | Individualized information furnishing system using unique searching keyword and method thereof |
Non-Patent Citations (1)
Title |
---|
논문 데이터베이스암호화 및 검색시스템의 효율성에 관한 연구 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101190059B1 (en) * | 2008-12-12 | 2012-10-16 | 한국전자통신연구원 | Method for data encryption and method for conjunctive keyword search of encrypted data |
US8225107B2 (en) | 2008-12-18 | 2012-07-17 | Electronics And Telecommunications Research Institute | Methods of storing and retrieving data in/from external server |
Also Published As
Publication number | Publication date |
---|---|
KR20080035295A (en) | 2008-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100839220B1 (en) | Method for searching encrypted database and System thereof | |
EP2731041B1 (en) | Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method | |
US9031876B2 (en) | Managing keys for encrypted shared documents | |
US9558366B2 (en) | Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method | |
Li et al. | Secure deduplication storage systems supporting keyword search | |
Zerr et al. | Zerber: r-confidential indexing for distributed documents | |
Wang et al. | Towards secure and effective utilization over encrypted cloud data | |
Zhang et al. | Inference attack-resistant e-healthcare cloud system with fine-grained access control | |
Sun et al. | Research on logistics information blockchain data query algorithm based on searchable encryption | |
EP3304405A1 (en) | Encryption directed database management system and method | |
CN114579998A (en) | Block chain assisted medical big data search mechanism and privacy protection method | |
Sultan et al. | Securing organization’s data: A role-based authorized keyword search scheme with efficient decryption | |
Park et al. | PKIS: practical keyword index search on cloud datacenter | |
Meharwade et al. | Efficient keyword search over encrypted cloud data | |
WO2018080857A1 (en) | Systems and methods for creating, storing, and analyzing secure data | |
Di Crescenzo et al. | Practical and privacy-preserving policy compliance for outsourced data | |
EP2920732B1 (en) | Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method | |
Wang et al. | An effective verifiable symmetric searchable encryption scheme in cloud computing | |
Tian et al. | A trusted control model of cloud storage | |
Mu et al. | Encrypted data retrieval scheme based on bloom filter | |
Almobaideen et al. | Searchable encryption architectures: survey of the literature and proposing a unified architecture | |
Manek et al. | Cloud Oriented Distributed and Encrypted File Storage (CODE-FS) | |
Zhang et al. | Secure Keyword Search | |
Mehto et al. | A secured and searchable encryption algorithm for cloud storage | |
Sridhar et al. | Querying methods of Encrypted Cloud Data |
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: 20130405 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140304 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150622 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |