KR102244764B1 - Storage device and control method thereof - Google Patents
Storage device and control method thereof Download PDFInfo
- Publication number
- KR102244764B1 KR102244764B1 KR1020150117445A KR20150117445A KR102244764B1 KR 102244764 B1 KR102244764 B1 KR 102244764B1 KR 1020150117445 A KR1020150117445 A KR 1020150117445A KR 20150117445 A KR20150117445 A KR 20150117445A KR 102244764 B1 KR102244764 B1 KR 102244764B1
- Authority
- KR
- South Korea
- Prior art keywords
- encrypted
- encryption
- metadata
- data
- search word
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은, 데이터 저장장치 및 데이터 저장장치의 동작 방법을 개시한다. 즉, 본 발명은 데이터 저장장치(예: 클라우드 스토리지)에 저장된 정보에 대한 보안을 강화하기 위한 기술에 관한 것으로, 암호화되어 저장된 개인정보에 대한 복호화를 수행하지 않고도 특정 서비스(예: 데이터 검색)를 제공할 수 있다. The present invention discloses a data storage device and a method of operating the data storage device. That is, the present invention relates to a technology for enhancing security for information stored in a data storage device (eg, cloud storage), and provides a specific service (eg, data search) without decrypting the encrypted and stored personal information. Can provide.
Description
본 발명은 데이터 저장장치(예: 클라우드 스토리지)에 저장된 정보에 대한 보안을 강화하기 위한 기술에 관한 것으로, 더욱 상세하게는, 암호화되어 저장된 개인정보에 대한 복호화를 수행하지 않고도 특정 서비스(예: 데이터 검색)를 제공할 수 있는 데이터 저장장치 및 데이터 저장장치의 동작 방법에 관한 것이다. The present invention relates to a technology for reinforcing the security of information stored in a data storage device (e.g., cloud storage), and more particularly, to a specific service (e.g., data) without decrypting the encrypted and stored personal information. It relates to a data storage device capable of providing search) and a method of operating the data storage device.
기존 데이터 저장장치(예: 클라우드 스토리지)에는 AES(Advanced Encryption Standard) 암호화 알고리즘 등과 같이 연산이 불가능한 암호화 알고리즘에 의해 암호화된 개인정보(예: 사진, 동영상, 이메일 등)(이하, 암호화 데이터)가 주로 저장 되었다.Existing data storage devices (e.g., cloud storage) mainly contain personal information (e.g., photos, videos, emails, etc.) (hereinafter referred to as encrypted data) encrypted by an encryption algorithm that cannot be computed such as the Advanced Encryption Standard (AES) encryption algorithm. Was saved.
그런데, 전술과 같이 연산이 불가능한 암호화 알고리즘을 이용하여 데이터를 암호화하는 기존 방식은, 사용자가 데이터 검색과 같은 특정 서비스를 요청하는 경우, 데이터 저장장치와 연동된 가상드라이브를 통해 암호화 데이터에 대한 복호화 과정을 수행한 후에야 검색 결과를 제공할 수 있게 된다.However, the conventional method of encrypting data using an encryption algorithm that cannot be operated as described above is a decryption process for encrypted data through a virtual drive linked to a data storage device when a user requests a specific service such as data search. You can only provide search results after performing.
즉, 이러한 기존의 데이터 저장 방식은, 특정 서비스를 제공해야 하는 경우, 중간 서비스 제공업체로부터 비밀키를 수신해야 하며, 수신된 비밀키를 이용하여 데이터 저장장치 내에서 암호화 데이터에 대한 복호화 과정을 수행해야 하기 때문에 중간 서비스 제공업체와 비밀키를 송수신하는 과정에서 비밀키가 유출되거나 또는 해킹될 수 있으며, 그에 따라 데이터 저장장치에 저장된 개인정보가 외부로 노출되어, 악의적인 도용 및 불법 사용 등의 문제를 일으킬 우려가 있다.In other words, in this conventional data storage method, when a specific service is to be provided, a secret key must be received from an intermediate service provider, and the encrypted data is decrypted in the data storage device using the received secret key. Because it must be done, the secret key may be leaked or hacked in the process of sending and receiving the secret key with an intermediate service provider, and personal information stored in the data storage device may be exposed to the outside, resulting in malicious theft and illegal use. There is a risk of causing.
또한, 암호화 데이터의 용량이 큰 경우, 복호화 시간이 길어짐에 따라 검색 속도가 느려져 신속하게 서비스를 제공할 수 없는 문제가 발생할 수 있다.In addition, when the size of the encrypted data is large, the search speed becomes slow as the decryption time increases, and thus a problem in that the service cannot be provided quickly may occur.
또한, 중간 서비스 제공업체와 비밀키를 송수신하는 과정에서 비밀키가 유출되거나 또는 해킹될 수 있으며, 그에 따라 데이터 저장장치에 저장된 개인정보가 외부로 노출되어, 악의적인 도용 및 불법 사용 등의 문제를 일으킬 우려가 있다.In addition, the secret key may be leaked or hacked in the process of sending and receiving the secret key with the intermediate service provider, and accordingly, the personal information stored in the data storage device is exposed to the outside, thereby preventing problems such as malicious theft and illegal use. There is a risk of causing it.
이에, 본 발명에서는, 암호화되어 저장된 정보에 대한 복호화를 수행하지 않고도 특정 서비스(예: 데이터 검색)를 신속하게 제공할 수 있는 데이터 저장장치 및 데이터 저장장치의 동작 방법을 제안하고자 한다.Accordingly, in the present invention, a data storage device capable of quickly providing a specific service (eg, data search) without performing decryption of encrypted and stored information and an operating method of the data storage device is proposed.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 해결하고자 하는 과제는, 암호화되어 저장된 정보에 대한 복호화를 수행하지 않고도 특정 서비스(예: 데이터 검색)를 제공할 수 있는 데이터 저장장치 및 데이터 저장장치의 동작 방법을 제공하는데 있다.The present invention was created in view of the above circumstances, and the problem to be solved in the present invention is a data storage device capable of providing a specific service (e.g., data search) without performing decryption of encrypted and stored information, and It is to provide a method of operating a data storage device.
또한, 본 발명의 해결하려는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. In addition, the problem to be solved of the present invention is not limited to those mentioned above, and another problem to be solved that is not mentioned will be clearly understood by those of ordinary skill in the art from the following description. .
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 데이터 저장장치는, 적어도 하나의 데이터를 암호화한 암호화 데이터와 상기 데이터에 대응하는 메타데이터를 암호화한 암호화 메타데이터를 매핑시켜 매핑정보를 생성하는 매핑부; 및 사용자 단말로부터 특정 데이터를 검색하기 위한 검색어가 암호화된 결과로서 생성되는 암호화 검색어가 수신되면, 상기 암호화 검색어에 적용된 암호화 알고리즘과 상기 암호화 메타데이터에 적용된 암호화 알고리즘이 동일한 경우, 상기 암호화 검색어와 상기 암호화 메타데이터를 비교하여 상기 암호화 검색어와 일치하는 특정 암호화 메타데이터를 검출하고, 상기 매핑정보에 기초하여 상기 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 제공하는 검색부를 포함하는 것을 특징으로 한다.A data storage device according to the first aspect of the present invention for achieving the above object generates mapping information by mapping encrypted data obtained by encrypting at least one piece of data and encrypted metadata obtained by encrypting metadata corresponding to the data. Mapping unit; And when an encrypted search word generated as a result of encryption of a search word for searching for specific data from a user terminal is received, when an encryption algorithm applied to the encrypted search word and an encryption algorithm applied to the encryption metadata are the same, the encryption search word and the encryption And a search unit configured to compare metadata to detect specific encryption metadata matching the encryption search word, and to provide specific encryption data mapped to the specific encryption metadata based on the mapping information.
바람직하게는, 상기 검색부는, 상기 암호화 메타데이터 및 상기 암호화 검색어에 대한 복호화 과정 없이 암호화된 정보간의 비교 연산을 수행하는 연산부; 상기 비교 연산 결과에 기초하여 상기 암호화 검색어와 일치하는 상기 특정 암호화 메타데이터를 검출하는 검출부; 및 상기 매핑정보에 기초하여 상기 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 선택하는 선택부를 포함하는 것을 특징으로 한다.Preferably, the search unit includes: an operation unit that performs a comparison operation between the encrypted metadata and the encrypted information without a decryption process for the encrypted search word; A detector configured to detect the specific encryption metadata matching the encryption search word based on the comparison operation result; And a selection unit for selecting specific encrypted data mapped to the specific encryption metadata based on the mapping information.
바람직하게는, 상기 암호화 메타데이터 및 상기 암호화 검색어에 적용된 암호화 알고리즘은 동일하며, 상기 암호화 데이터에 적용된 암호화 알고리즘은 상기 암호화 메타데이터 및 상기 암호화 검색어에 적용된 암호화 알고리즘과 상이한 것을 특징으로 한다.Preferably, the encryption metadata and the encryption algorithm applied to the encrypted search word are the same, and the encryption algorithm applied to the encrypted data is different from the encryption metadata and the encryption algorithm applied to the encrypted search word.
바람직하게는, 상기 암호화 메타데이터와 상기 암호화 검색어에 동일하게 적용된 암호화 알고리즘은 암호화된 정보간의 연산이 가능한 동형 암호화(Homomorphic Encryption) 기법을 기반으로 하는 것을 특징으로 한다.Preferably, the encryption algorithm applied equally to the encryption metadata and the encrypted search word is characterized in that it is based on a homomorphic encryption technique capable of calculating between encrypted information.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 데이터 저장장치의 동작 방법은, 적어도 하나의 데이터를 암호화한 암호화 데이터와 상기 데이터에 대응하는 메타데이터를 암호화한 암호화 메타데이터를 매핑시켜 매핑정보를 생성하는 매핑단계; 및 사용자 단말로부터 특정 데이터를 검색하기 위한 검색어가 암호화된 결과로서 생성되는 암호화 검색어가 수신되면, 상기 암호화 검색어에 적용된 암호화 알고리즘과 상기 암호화 메타데이터에 적용된 암호화 알고리즘이 동일한 경우, 상기 암호화 검색어와 상기 암호화 메타데이터를 비교하여 상기 암호화 검색어와 일치하는 특정 암호화 메타데이터를 검출하고, 상기 매핑정보에 기초하여 상기 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 제공하는 제공단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, a method of operating a data storage device according to a second aspect of the present invention provides mapping information by mapping encrypted data obtained by encrypting at least one data and encrypted metadata corresponding to the data. A mapping step of generating; And when an encrypted search word generated as a result of encryption of a search word for searching for specific data from a user terminal is received, when an encryption algorithm applied to the encrypted search word and an encryption algorithm applied to the encryption metadata are the same, the encryption search word and the encryption And a providing step of comparing metadata to detect specific encryption metadata matching the encryption search word, and providing specific encryption data mapped to the specific encryption metadata based on the mapping information.
바람직하게는, 상기 제공단계는, 상기 암호화 메타데이터 및 상기 암호화 검색어에 대한 복호화 과정 없이 암호화된 정보간의 비교 연산을 수행하는 연산단계; 상기 비교 연산한 결과에 기초하여 상기 암호화 검색어와 일치하는 상기 특정 암호화 메타데이터를 검출하는 검출단계; 및 상기 매핑정보에 기초하여 상기 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 선택하는 선택단계를 포함하는 것을 특징으로 한다.Preferably, the providing step comprises: an operation step of performing a comparison operation between the encrypted metadata and the encrypted information without a decryption process for the encrypted search word; A detection step of detecting the specific encryption metadata matching the encrypted search word based on the result of the comparison operation; And a selection step of selecting specific encrypted data mapped to the specific encryption metadata based on the mapping information.
바람직하게는, 상기 암호화 메타데이터 및 상기 암호화 검색어에 적용된 암호화 알고리즘은 동일하며, 상기 암호화 데이터에 적용된 암호화 알고리즘은 상기 암호화 메타데이터 및 상기 암호화 검색어에 적용된 암호화 알고리즘과 상이한 것을 특징으로 한다.Preferably, the encryption metadata and the encryption algorithm applied to the encrypted search word are the same, and the encryption algorithm applied to the encrypted data is different from the encryption metadata and the encryption algorithm applied to the encrypted search word.
바람직하게는, 상기 암호화 메타데이터와 상기 암호화 검색어에 동일하게 적용된 암호화 알고리즘은 암호화된 정보간의 연산이 가능한 동형 암호화(Homomorphic Encryption) 기법을 기반으로 하는 것을 특징으로 한다.Preferably, the encryption algorithm applied equally to the encryption metadata and the encrypted search word is characterized in that it is based on a homomorphic encryption technique capable of calculating between encrypted information.
이에, 본 발명의 데이터 저장장치 및 데이터 저장장치의 동작 방법에 의하면, 암호화되어 저장된 개인정보에 대한 복호화를 수행하지 않고도 특정 서비스(예: 데이터 검색)를 제공할 수 있고, 이로 인해 사용자에게 신속성 및 보안성이 강화된 서비스를 제공할 수 있는 효과를 도출할 수 있다.Accordingly, according to the data storage device and the operating method of the data storage device of the present invention, a specific service (eg, data search) can be provided without decrypting the encrypted and stored personal information. It is possible to derive the effect of providing a service with enhanced security.
도 1은 본 발명의 실시예에 따른 데이터 저장장치가 적용될 통신 환경을 보여주는 예시도이다.
도 2는 본 발명의 실시예에 따른 단말의 구성을 보여주는 블록도이다.
도 3은 본 발명의 실시예에 따른 데이터 저장장치의 구성을 보여주는 블록도이다.
도 4는 본 발명의 실시예에 따른 암호화되어 저장된 개인정보에 대한 복호화를 수행하지 않고도 특정 서비스를 제공하는 흐름을 보여주는 흐름도이다.
도 5는 본 발명의 실시예에 따른 데이터 저장장치의 동작 흐름을 보여주는 흐름도이다. 1 is an exemplary diagram showing a communication environment to which a data storage device according to an embodiment of the present invention is applied.
2 is a block diagram showing a configuration of a terminal according to an embodiment of the present invention.
3 is a block diagram showing the configuration of a data storage device according to an embodiment of the present invention.
4 is a flowchart illustrating a flow of providing a specific service without performing decryption of encrypted and stored personal information according to an embodiment of the present invention.
5 is a flowchart showing an operation flow of a data storage device according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
먼저, 도 1을 참조하여 본 발명의 데이터 저장장치가 적용될 통신 환경을 설명하도록 하겠다.First, a communication environment to which the data storage device of the present invention is applied will be described with reference to FIG. 1.
도 1에 도시된 바와 같이, 본 발명이 적용될 통신 환경은, 단말(100) 및 데이터 저장장치(200)를 포함할 수 있다.1, a communication environment to which the present invention is applied may include a
단말(100)은, 개인정보(예: 사진, 동영상, 이메일 등)를 데이터 저장장치(200)에 저장하며, 저장된 개인정보와 관련된 특정 서비스(예: 데이터 검색)를 데이터 저장장치(200)로부터 제공받는 디바이스로서, 유선 단말일 수도 있고 무선 단말일 수도 있다.The
예컨대, 단말(100)은, 스마트폰, 데스크 탑, 노트북, 테블릿 PC, 및 PDA, 등이 해당될 수 있으며, 이에 제한되지 않고 데이터 저장장치(200)와 통신 가능한 디바이스는 모두 포함될 수 있다.For example, the
데이터 저장장치(200)는, 단말(100)을 비롯한 다수 단말로부터 전달되는 개인정보를 저장하는 장치로서, 특히 본 발명에서 제공하고자 하는 암호화되어 저장된 개인정보에 대한 복호화를 수행하지 않고도 특정 서비스(예: 데이터 검색)를 제공하기 위한 장치이다.The
이를 위해, 데이터 저장장치(200)는, 다수 단말 별로, 해당 단말과 관련하여 기 저장된 암호화된 개인정보(예: 사진, 동영상, 이메일 등)를 저장/관리할 수 있다.To this end, the
이러한, 데이터 저장장치(200)는, 이동통신 서비스 사업자가 운용하는 서버에 탑재되어 동일한 기능을 수행할 수도 있다.The
이하에서는, 도 2를 참조하여 본 발명의 실시예에 따른 단말의 구성을 구체적으로 설명하겠다.Hereinafter, a configuration of a terminal according to an embodiment of the present invention will be described in detail with reference to FIG. 2.
도 2에 도시된 바와 같이, 본 발명에 따른 단말(100)은, 개인정보(예: 사진, 동영상, 이메일 등)(이하, 컨텐츠 데이터)를 암호화하기 위해 제1 암호화 알고리즘을 적용하여 암호화 데이터를 생성하며, 컨텐츠 데이터에 대응하는 메타데이터를 암호화하기 위해 제2 암호화 알고리즘을 적용하여 암호화 메타데이터를 생성한다.As shown in FIG. 2, the
여기서, 제1 암호화 알고리즘은, 기존 컨텐츠 데이터를 암호화하는데 주로 사용되는 암호화된 정보간의 연산이 불가능한 AES(Advanced Encryption Standard) 기법을 기반으로 하는 암호화 알고리즘일 수 있다.Here, the first encryption algorithm may be an encryption algorithm based on an advanced encryption standard (AES) technique in which an operation between encrypted information, which is mainly used to encrypt existing content data, is impossible.
즉, 제1 암호화 알고리즘은, 복잡도가 낮아 신속하게 데이터를 암호화할 수 있으며, 메타데이터보다 파일 크기가 상대적으로 큰 컨텐츠 데이터를 암호화하는데 주로 이용된다.That is, the first encryption algorithm is low in complexity and can quickly encrypt data, and is mainly used to encrypt content data whose file size is relatively larger than that of metadata.
한편, 제2 암호화 알고리즘은, 암호화된 정보간의 연산이 가능한 동형 암호화(Homomorphic Encryption, HE) 기법을 기반으로 하는 암호화 알고리즘이다.On the other hand, the second encryption algorithm is an encryption algorithm based on a Homomorphic Encryption (HE) technique in which an operation between encrypted information is possible.
즉, 제2 암호화 알고리즘은, 파일 크기가 작은 예를 들어 메타데이터 등과 같은 정보를 암호화하는데 이용된다. 여기서, 메타데이터는, 파일 이름, 내용 요약, 생성 시간, 수정 여부, 저장 위치, 타이틀 및 태그 등을 포함할 수 있다.That is, the second encryption algorithm is used to encrypt information such as metadata, for example, having a small file size. Here, the metadata may include a file name, a content summary, a creation time, whether or not to be modified, a storage location, a title, and a tag.
정리하면, 본 발명은 컨텐츠 데이터와 같이 파일 크기가 큰 정보에 대한 암호화는 복잡도가 낮아 신속하게 데이터를 암호화할 수 있는 제1 암호화 알고리즘을 이용하며, 메타데이터와 같이 파일 크기가 작은 정보에 대한 암호화는 복잡도가 높아 암호화 시간이 다소 소요되지만 암호화된 정보간의 연산이 가능한 제2 암호화 알고리즘을 이용한다.In summary, the present invention uses a first encryption algorithm that can quickly encrypt data due to low complexity in encrypting information having a large file size such as content data, and encrypting information having a small file size such as metadata. Is high in complexity and takes some encryption time, but uses a second encryption algorithm capable of calculating between encrypted information.
이에, 암호화 메타데이터 생성을 위해 복잡도가 높은 제2 암호화 알고리즘을 이용하더라도 메타데이터의 파일 크기가 작기 때문에 빠른 시간에 연산을 수행할 수 있는 것이다.Accordingly, even if a second encryption algorithm with high complexity is used to generate encrypted metadata, since the file size of the metadata is small, the operation can be performed in a short time.
보다 구체적으로, 단말(100)은, 암호키 생성부(110), 암호화부(120) 및 서비스 요청부(130)를 포함한다.More specifically, the
암호화키 생성부(110)는, 컨텐츠 데이터에 대응하는 메타데이터를 암호화한 후 데이터 저장장치(200)에 저장하기 위해 제2 암호화 알고리즘에 대한 암호화키를 생성한다.The encryption
여기서, 암호화키는 공개키(public key, pk) 및 비밀키(secret key, sk)를 포함한다.Here, the encryption key includes a public key (pk) and a secret key (sk).
즉, 암호화키 생성부(110)는, 제2 암호화 알고리즘에 대한 공개키(이하, HE 공개키) 및 비밀키(이하, HE 비밀키)를 생성한다.That is, the encryption
암호화부(120)는, 제1 암호화 알고리즘을 이용하여 암호화 데이터를 생성하며, 제2 암호화 알고리즘을 이용하여 암호화 메타데이터를 생성한다.The
즉, 암호화부(120)는, 컨텐츠 데이터에 제1 암호화 알고리즘을 적용하여 암호화 데이터를 생성한다. 또한, 암호화부(120)는, 암호화 데이터에 대응하는 메타데이터에 제2 암호화 알고리즘, 즉 HE 공개키를 적용하여 암호화 메타데이터를 생성한다.That is, the
한편, 암호화부(120)는, 데이터 저장장치(200)에 적어도 하나의 암호화 데이터 및 암호화 메타데이터의 저장이 완료된 이후, 데이터 저장장치(200)로 특정 서비스를 요청해야 하는 경우, 특정 서비스를 위한 검색어(Query)를 암호화하여 암호화 검색어를 생성한다. On the other hand, the
이때, 검색어는, 메타데이터에 포함된 파일 이름, 내용 요약, 생성 시간, 수정 여부, 저장 위치, 타이틀 및 태그 등과 관련된 정보들 또는 이들의 조합일 수 있다.In this case, the search word may be information related to a file name, a content summary, a creation time, a modification status, a storage location, a title, a tag, etc. included in the metadata, or a combination thereof.
이하에서는, 특정 서비스가 특정 컨텐츠 데이터에 대한 검색 요청인 것으로 언급하여 설명하겠다.Hereinafter, a description will be made by mentioning that a specific service is a search request for specific content data.
즉, 암호화부(120)는, 암호화 메타데이터에 적용된 제2 암호화 알고리즘을 이용하여 암호화 검색어를 생성한다.That is, the
이처럼, 본 발명에서는, 암호화 메타데이터 및 암호화 검색어에 동일하게 제2 암호화 알고리즘이 적용되어 암호화가 수행되므로, 데이터 저장장치(200)에서는 암호화 메타데이터 및 암호화 검색어에 대한 복호화 과정 없이 암호화된 정보간의 연산을 수행하여 검색 결과를 제공할 수 있게 되는 것이다.As described above, in the present invention, since encryption is performed by applying the second encryption algorithm to the encrypted metadata and the encrypted search word in the same manner, the
본 발명에서는, 제1 암호화 알고리즘 및 제2 암호화 알고리즘을 이용하여를 암호화를 수행하는 과정은 이미 공지된 기술에 해당되므로 구체적으로 언급하지는 않겠다.In the present invention, the process of performing encryption using the first encryption algorithm and the second encryption algorithm corresponds to a known technique, and thus will not be described in detail.
서비스 요청부(130)는, 데이터 저장장치(200)와의 통신을 수행하여 정보저장 및 특정 서비스를 요청한다. The
즉, 서비스 요청부(130)는, 암호화 데이터 및 암호화 메타데이터의 생성이 완료되면, 암호화 데이터 및 암호화 메타데이터를 데이터 저장장치(200)로 전달하여 저장할 것을 요청한다.That is, when the generation of the encrypted data and the encrypted metadata is completed, the
한편, 서비스 요청부(130)는, 검색 요청을 위한 암호화 검색어의 생성이 완료되면, 암호화 검색어를 데이터 저장장치(200)로 전달하여 데이터 검색을 요청한다.Meanwhile, when the generation of the encrypted search word for the search request is completed, the
이하에서는, 도 3을 참조하여 본 발명의 실시예에 따른 데이터 저장장치의 구성을 구체적으로 설명하겠다.Hereinafter, a configuration of a data storage device according to an embodiment of the present invention will be described in detail with reference to FIG. 3.
도 3에 도시된 바와 같이, 본 발명에 따른 데이터 저장장치(200)는, 수신부(210), 매핑부(220), 검색부(230) 및 저장부(240)를 포함한다.As shown in FIG. 3, the
수신부(210)는, 단말(100)로부터 적어도 하나의 컨텐츠 데이터를 암호화한 결과인 암호화 데이터와 컨텐츠 데이터에 대응하는 메타데이터를 암호화한 결과인 암호화 메타데이터를 수신한다.The receiving
이후, 수신부(210)는, 암호화 데이터 및 암호화 메타데이터가 수신되었음을 매핑부(220)로 알린다.Thereafter, the receiving
매핑부(220)는, 암호화 데이터 및 암호화 메타데이터를 매핑하여 매핑정보를 생성한다. 이하에서는, 설명의 편의를 위해, 단말(100)에 의해 j번째 암호화 데이터 및 j번째 암호화 메타데이터가 생성되어 데이터 저장장치(200)에 저장 요청된 것으로 언급하여 설명하겠다.The
즉, 매핑부(220)는, j번째 암호화 데이터와 j번째 암호화 메타데이터의 매핑정보를 설정하고, 해당 매핑정보에 따라 저장부(240) 내 제1 저장부(241)에 j번째 암호화 메타데이터를 저장하며, 제2 저장부(242)에 j번째 암호화 데이터를 저장한다.That is, the
여기서, 매핑정보는 j번째 암호화 메타데이터에 대한 정보만 알고 있다면 j번째 암호화 데이터를 검출할 수 있는 정보로서, 예를 들어 j번째 암호화 메타데이터가 저장되는 위치 정보와 j 번째 암호화 데이터가 저장되는 위치 정보를 매핑하여 생성된 저장위치 매핑 테이블 등이 포함될 수 있다.Here, the mapping information is information that can detect the j-th encrypted data if only information on the j-th encryption metadata is known, for example, location information where the j-th encryption metadata is stored and a location where the j-th encryption data is stored. A storage location mapping table generated by mapping information may be included.
검색부(230)는, 단말(100)로부터 특정 컨텐츠 데이터에 대한 검색을 요청하기 위해 암호화 검색어가 수신되면, 암호화 검색어에 적용된 암호화 알고리즘과 암호화 메타데이터에 적용된 암호화 알고리즘이 동일한 경우, 암호화 검색어와 암호화 메타데이터를 비교하여 암호화 검색어와 일치하는 특정 암호화 메타데이터를 검출하고, 매핑정보에 기초하여 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 제공한다.When an encrypted search word is received in order to request a search for specific content data from the terminal 100, the search unit 230, when the encryption algorithm applied to the encrypted search word and the encryption algorithm applied to the encrypted metadata are the same, the encrypted search word and the encryption The metadata is compared to detect specific encryption metadata matching the encryption search word, and specific encryption data mapped to the specific encryption metadata is provided based on the mapping information.
보다 구체적으로, 검색부(230)는, 연산부(231), 검출부(232) 및 선택부(234)를 포함한다.More specifically, the search unit 230 includes an
연산부(231)는, 암호화 검색어에 적용된 암호화 알고리즘과 암호화 메타데이터에 적용된 암호화 알고리즘이 동일한 경우, 암호화 메타데이터 및 암호화 검색어에 대한 복호화 과정 없이 암호화된 정보간의 비교 연산을 수행한다.When the encryption algorithm applied to the encrypted search word and the encryption algorithm applied to the encrypted metadata are the same, the calculating
즉, 암호화 메타데이터 및 암호화 검색어에 적용된 암호화 알고리즘은, 암호화된 정보간의 연산이 가능한 동형 암호화(Homomorphic Encryption) 기법을 기반으로 하므로, 연산부(231)는, 복호화 과정 없이 제1 저장부(241)에 저장된 암호화 메타데이터와 암호화 검색어를 비교하는 연산을 수행한다.That is, the encryption algorithm applied to the encryption metadata and the encrypted search word is based on a Homomorphic Encryption technique that enables computation between encrypted information, and thus, the
이후, 연산부(231)는, 제1 저장부(241)에 저장된 암호화 메타데이터와 암호화 검색어를 비교 연산하여 생성된 비교 연산 결과를 검출부(232)로 전달한다.Thereafter, the
여기서, 비교 연산 결과는, 기 저장된 암호화 메타데이터 중 암호화 검색어와 일치하는 특정 암호화 메타데이터에 대한 검출이 가능하도록 일치되는 정도를 수치적으로 나타낸 결과값일 수 있다.Here, the comparison operation result may be a result value numerically indicating a degree of matching to enable detection of specific encryption metadata matching the encrypted search word among the previously stored encryption metadata.
검출부(232)는, 비교 연산 결과에 기초하여 암호화 검색어와 일치하는 특정 암호화 메타데이터를 검출한다.The
이후, 검출부(232)는, 특정 암호화 메타데이터를 선택부(234)로 전달한다.Thereafter, the
선택부(234)는, 매핑정보에 기초하여 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 선택한다.The selection unit 234 selects specific encrypted data mapped to specific encrypted metadata based on the mapping information.
즉, 선택부(234)는, 제2 저장부(242)에 저장된 암호화 데이터 중 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 선택한다.That is, the selection unit 234 selects specific encrypted data mapped to specific encryption metadata from among the encrypted data stored in the second storage unit 242.
한편, 저장부(240)는, 제1 저장부(241) 및 제2 저장부(242)를 포함한다.Meanwhile, the
제1 저장부(241)는, 적어도 하나의 암호화 메타데이터를 저장하며, 제2 저장부(242)는, 적어도 하나의 암호화 데이터를 저장한다.The first storage unit 241 stores at least one encryption metadata, and the second storage unit 242 stores at least one encryption data.
이때, 저장부(240)는, 적어도 하나의 암호화 메타데이터와 적어도 하나의 암호화 데이터에 대한 매핑정보, 즉 매핑되는 데이터들이 구분될 수만 있다면, 제1 저장부(241) 및 제2 저장부(242)에 대한 구분 없이 하나의 저장부로 구현될 수도 있다.In this case, the
이하, 도 4 및 도 5를 참고하여 본 발명의 실시예에 따른 암호화되어 저장된 개인정보에 대한 복호화를 수행하지 않고도 특정 서비스를 제공하는 방법에 대하여 구체적으로 설명한다. 이하에서는 설명의 편의를 위해 전술의 도 1 내지 도 3에서 언급한 참조번호를 언급하여 설명하도록 하겠다.Hereinafter, a method of providing a specific service without performing decryption of encrypted and stored personal information according to an embodiment of the present invention will be described in detail with reference to FIGS. 4 and 5. Hereinafter, for convenience of description, reference numerals mentioned in FIGS. 1 to 3 will be referred to.
먼저, 도 4를 참고하여 본 발명의 실시예에 따른 암호화되어 저장된 개인정보에 대한 복호화를 수행하지 않고도 특정 서비스가 제공되는 전체 흐름을 설명하도록 하겠다.First, with reference to FIG. 4, a description will be made of the overall flow of providing a specific service without performing decryption of encrypted and stored personal information according to an embodiment of the present invention.
참고로, 도 4에 도시되어 있는 파라미터는 표 1과 같이 정의될 수 있다. For reference, the parameters shown in FIG. 4 may be defined as shown in Table 1.
[표 1][Table 1]
단말(100)은, 개인정보(예: 사진, 동영상, 이메일 등)(이하, 컨텐츠 데이터)를 데이터 저장장치(200)에 저장하기 위해 암호화 과정을 수행한다(S100).The terminal 100 performs an encryption process to store personal information (eg, photos, videos, emails, etc.) (hereinafter, content data) in the data storage device 200 (S100).
즉, 단말(100)은, 컨텐츠 데이터를 암호화하기 위해 제1 암호화 알고리즘을 적용하여 암호화 데이터를 생성한다. 또한, 단말(100)은, 컨텐츠 데이터에 대응하는 메타데이터를 암호화하기 위해 제2 암호화 알고리즘을 적용하여 암호화 메타데이터를 생성한다.That is, the terminal 100 generates encrypted data by applying the first encryption algorithm to encrypt the content data. In addition, the terminal 100 generates encryption metadata by applying a second encryption algorithm to encrypt metadata corresponding to the content data.
여기서, 제1 암호화 알고리즘은, 기존 컨텐츠 데이터를 암호화하는데 주로 사용되는 암호화된 정보간의 연산이 불가능한 AES(Advanced Encryption Standard) 기법을 기반으로 하는 암호화 알고리즘일 수 있다.Here, the first encryption algorithm may be an encryption algorithm based on an advanced encryption standard (AES) technique in which an operation between encrypted information, which is mainly used to encrypt existing content data, is impossible.
즉, 제1 암호화 알고리즘은, 복잡도가 낮아 신속하게 데이터를 암호화할 수 있으며, 메타데이터보다 파일 크기가 상대적으로 큰 컨텐츠 데이터를 암호화하는데 주로 이용된다.That is, the first encryption algorithm is low in complexity and can quickly encrypt data, and is mainly used to encrypt content data whose file size is relatively larger than that of metadata.
한편, 제2 암호화 알고리즘은, 암호화된 정보간의 연산이 가능한 동형 암호화(Homomorphic Encryption, HE) 기법을 기반으로 하는 암호화 알고리즘이다.On the other hand, the second encryption algorithm is an encryption algorithm based on a Homomorphic Encryption (HE) technique in which an operation between encrypted information is possible.
즉, 제2 암호화 알고리즘은, 파일 크기가 수 바이트(Byte)로 작은 예를 들어 메타데이터 등과 같은 정보를 암호화하는데 이용된다. 여기서, 메타데이터는, 파일 이름, 내용 요약, 생성 시간, 수정 여부, 저장 위치, 타이틀 및 태그 등을 포함할 수 있다.That is, the second encryption algorithm is used to encrypt information such as metadata, for example, as small as several bytes in file size. Here, the metadata may include a file name, a content summary, a creation time, whether or not to be modified, a storage location, a title, and a tag.
정리하면, 본 발명은 컨텐츠 데이터와 같이 파일 크기가 큰 정보에 대한 암호화는 복잡도가 낮아 신속하게 데이터를 암호화할 수 있는 제1 암호화 알고리즘을 이용하며, 메타데이터와 같이 파일 크기가 작은 정보에 대한 암호화는 복잡도가 높아 암호화 시간이 다소 소요되지만 암호화된 정보간의 연산이 가능한 제2 암호화 알고리즘을 이용한다.In summary, the present invention uses a first encryption algorithm that can quickly encrypt data due to low complexity in encrypting information having a large file size such as content data, and encrypting information having a small file size such as metadata. Is high in complexity and takes some encryption time, but uses a second encryption algorithm capable of calculating between encrypted information.
이에, 암호화 메타데이터 생성을 위해 복잡도가 높은 제2 암호화 알고리즘을 이용하더라도 메타데이터의 파일 크기가 작기 때문에 빠른 시간에 연산을 수행할 수 있는 것이다.Accordingly, even if a second encryption algorithm with high complexity is used to generate encrypted metadata, since the file size of the metadata is small, the operation can be performed in a short time.
이하에서는, 설명의 편의를 위해, 단말(100)에 의해 j번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)가 생성되어 데이터 저장장치(200)에 저장되는 것으로 언급하여 설명하겠다. Hereinafter, for convenience of description, it will be described by mentioning that the j-th encrypted data Ij and the j-th encrypted metadata cj are generated by the terminal 100 and stored in the
전술과 같이 j번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)의 생성이 완료되면, 단말(100)은, j번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)를 데이터 저장장치(200)로 전달하여 저장할 것을 요청한다(S110, S120).When the generation of the j-th encrypted data Ij and the j-th encrypted metadata cj is completed as described above, the terminal 100 stores the j-th encrypted data Ij and the j-th encrypted metadata cj. Transfer to the
데이터 저장장치(200)는, j번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)를 매핑하여 매핑정보를 생성한다.The
즉, 데이터 저장장치(200)는, j번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)의 매핑정보를 설정하고, 해당 매핑정보에 따라 저장부(240) 내 제1 저장부(241)에 j번째 암호화 메타데이터(cj)를 저장하며, 제2 저장부(242)에 j번째 암호화 데이터(Ij)를 저장한다.That is, the
한편, 데이터 저장장치(200)에 j번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)의 저장이 완료된 이후, 단말(100)은, 데이터 저장장치(200)로 특정 서비스를 요청해야 하는 경우, 특정 서비스를 위한 검색어를 암호화하여 암호화 검색어(Q)를 생성한 후 데이터 저장장치(200)로 전달한다(S130). Meanwhile, after storage of the j-th encrypted data Ij and the j-th encrypted metadata cj in the
이하에서는, 특정 서비스가 데이터 저장장치(200)에 기 저장된 적어도 하나의 암호화 데이터(I1, I2,In) 중 최근 저장한 j번째 암호화 데이터(Ij)에 대한 검색 요청인 것으로 언급하여 설명하겠다.Hereinafter, a specific service will be described by referring to a search request for the recently stored j-th encrypted data Ij among at least one encrypted data I1, I2, In previously stored in the
즉, 단말(100)은, j번째 암호화 메타데이터(cj)에 적용된 제2 암호화 알고리즘과 동일한 알고리즘을 이용하여 암호화 검색어(Q)를 생성한다. 이후, 단말(100)은, 암호화 검색어(Q)를 데이터 저장장치(200)로 전달하여 j번째 암호화 데이터(Ij)에 대한 검색을 요청한다.That is, the terminal 100 generates the encrypted search word Q using the same algorithm as the second encryption algorithm applied to the j-th encryption metadata cj. Thereafter, the terminal 100 transmits the encrypted search word Q to the
이처럼, 본 발명에서는, 암호화 메타데이터 및 암호화 검색어에 동일하게 제2 암호화 알고리즘이 적용되어 암호화가 수행되므로, 데이터 저장장치(200)에서는 암호화 메타데이터 및 암호화 검색어에 대한 복호화 과정 없이 암호화된 정보간의 연산을 수행하여 검색 결과를 제공할 수 있게 되는 것이다.As described above, in the present invention, since encryption is performed by applying the second encryption algorithm to the encrypted metadata and the encrypted search word in the same manner, the
본 발명에서는, 제1 암호화 알고리즘 및 제2 암호화 알고리즘을 이용하여를 암호화를 수행하는 과정은 이미 공지된 기술에 해당되므로 구체적으로 언급하지는 않겠다.In the present invention, the process of performing encryption using the first encryption algorithm and the second encryption algorithm corresponds to a known technique, and thus will not be described in detail.
데이터 저장장치(200)는, 단말(100)로부터 특정 컨텐츠 데이터에 대한 검색을 요청하기 위해 암호화 검색어가 수신되면, 암호화 검색어에 적용된 암호화 알고리즘과 암호화 메타데이터에 적용된 암호화 알고리즘이 동일한 경우, 암호화 검색어와 암호화 메타데이터를 비교하여 암호화 검색어와 일치하는 특정 암호화 메타데이터를 검출하고, 매핑정보에 기초하여 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 제공한다.When an encrypted search word is received in order to request a search for specific content data from the terminal 100, the
보다 구체적으로, 데이터 저장장치(200)는, 제1 저장부(241)에 저장된 암호화 메타데이터(c1, c2,cn) 및 암호화 검색어(Q)에 대한 복호화 과정 없이 암호화된 정보간의 비교 연산을 수행한다(S140).More specifically, the
즉, 암호화 메타데이터(c1, c2,cn) 및 암호화 검색어(Q)에 적용된 암호화 알고리즘은, 암호화된 정보간의 연산이 가능한 동형 암호화(Homomorphic Encryption) 기법을 기반으로 하므로, 데이터 저장장치(200)에서는, 복호화 과정 없이 제1 저장부(241)에 저장된 암호화 메타데이터(c1, c2,cn)와 암호화 검색어(Q)를 비교하는 연산을 수행할 수 있게 된다.That is, the encryption algorithm applied to the encryption metadata (c1, c2, cn) and the encryption search word (Q) is based on a Homomorphic Encryption technique that enables calculation between encrypted information. , It is possible to perform an operation comparing the encrypted metadata (c1, c2, cn) stored in the first storage unit 241 and the encrypted search word Q without a decryption process.
이후, 데이터 저장장치(200)는, 암호화 메타데이터(c1, c2,cn)와 암호화 검색어(Q)를 비교하여 비교 연산 결과를 생성한다. 데이터 저장장치(200)는, 비교 연산 결과에 기초하여 제1 저장부(241)에 기 저장된 암호화 메타데이터(c1, c2,cn) 중 암호화 검색어(Q)와 일치하는 특정 암호화 메타데이터(C), 즉 j번째 암호화 메타데이터(cj)를 검출한다(S150).Thereafter, the
이어서, 데이터 저장장치(200)는, 매핑정보에 기초하여 특정 암호화 메타데이터(C), 즉 j번째 암호화 메타데이터(cj)에 매핑된 특정 암호화 데이터(I), 즉 j번째 암호화 데이터(Ij)를 선택한다(S160). Subsequently, the
즉, 데이터 저장장치(200)는, 매핑정보에 기초하여 제2 저장부(242)에 기 저장된 암호화 데이터(I1, I2,In) 중 j번째 암호화 메타데이터(cj)에 매핑된 j번째 암호화 데이터(Ij)를 선택한다.That is, the
이후, 데이터 저장장치(200)는, 사용자가 요청한 암호화 검색어(Q)에 대한 검색 결과로서 j번째 암호화 데이터(Ij)를 암호화된 상태로 단말(100)로 전달한다(S170). Thereafter, the
단말(100)은, j번째 암호화 데이터(Ij)를 데이터 저장장치(200)로부터 전달받는다. 이후, 단말(100)은, 필요에 따라 j번째 암호화 데이터(Ij)에 대한 복호화를 수행하여 사용한다.The terminal 100 receives the j-th encrypted data Ij from the
이하에서는, 도 5를 참고하여 본 발명의 실시예에 따른 데이터 저장장치의 동작 방법에 대하여 구체적으로 설명하겠다. 도 5에서는 단말이 제1 암호화 알고리즘을 적용하여 j번째 암호화 데이터(Ij)를 생성하며, 제2 암호화 알고리즘을 적용하여 j번째 암호화 메타데이터(cj)를 생성하여 데이터 저장장치에 저장요청 하는 것으로 언급하여 설명하겠다.Hereinafter, a method of operating a data storage device according to an embodiment of the present invention will be described in detail with reference to FIG. 5. In FIG. 5, it is mentioned that the terminal generates the j-th encrypted data (Ij) by applying the first encryption algorithm, and generates the j-th encryption metadata (cj) by applying the second encryption algorithm to request storage to the data storage device. I will explain.
도 4 및 도 5를 참고하면, 본 발명의 실시예에 따른 데이터 저장장치(200)의 수신부(210)는, 단말(100)로부터 j번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)를 수신한다(S210). 이후, 수신부(210)는, 번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)가 수신되었음을 매핑부(220)로 알린다.4 and 5, the receiving
매핑부(220)는, j번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)를 매핑하여 매핑정보를 생성한다(S220).The
즉, 매핑부(220)는, j번째 암호화 데이터(Ij) 및 j번째 암호화 메타데이터(cj)의 매핑정보를 설정하고, 해당 매핑정보에 따라 저장부(240) 내 제1 저장부(241)에 j번째 암호화 메타데이터(cj)를 저장하며, 제2 저장부(242)에 j번째 암호화 데이터(Ij)를 저장한다.That is, the
한편, 전술과 같이 데이터 저장장치(200)에 암호화 데이터 및 암호화 메타데이터에 대한 저장이 완료된 이후, 단말(100)로부터 특정 서비스를 위한 검색어가 암호화된 결과로서 암호화 검색어(Q)가 수신되면(S230), 검색부(230)는, 암호화 메타데이터 및 암호화 검색어에 대한 복호화 과정 없이 암호화된 정보간의 비교 연산을 수행한다(S240).Meanwhile, after the storage of the encrypted data and the encrypted metadata in the
즉, 암호화 메타데이터 및 암호화 검색어에 적용된 암호화 알고리즘은, 암호화된 정보간의 연산이 가능한 동형 암호화(Homomorphic Encryption) 기법을 기반으로 하므로, 검색부(230)는, 복호화 과정 없이 제1 저장부(241)에 저장된 암호화 메타데이터(c1, c2,cn)와 암호화 검색어(Q)를 비교하는 연산을 수행한다.That is, the encryption algorithm applied to the encryption metadata and the encrypted search word is based on a Homomorphic Encryption technique that enables computation between encrypted information, so the search unit 230 includes the first storage unit 241 without a decryption process. An operation to compare the encrypted metadata (c1, c2, cn) stored in the encrypted search word (Q) is performed.
이후, 검색부(230)는, 암호화 메타데이터(c1, c2,cn)와 암호화 검색어(Q)를 비교하여 비교 연산 결과를 생성한다. 검색부(230)는, 비교 연산 결과에 기초하여 제1 저장부(241)에 기 저장된 암호화 메타데이터(c1, c2,cn) 중 암호화 검색어(Q)와 일치하는 특정 암호화 메타데이터(C), 즉 j번째 암호화 메타데이터(cj)를 검출한다(S250).Thereafter, the search unit 230 compares the encrypted metadata c1, c2, and cn with the encrypted search word Q to generate a comparison operation result. The search unit 230 includes specific encryption metadata C matching the encryption search word Q among the encryption metadata c1, c2, and cn previously stored in the first storage unit 241 based on the comparison operation result, That is, the j-th encryption metadata cj is detected (S250).
이어서, 검색부(230)는, 매핑정보에 기초하여 특정 암호화 메타데이터(C), 즉 j번째 암호화 메타데이터(cj)에 매핑된 특정 암호화 데이터, 즉 j번째 암호화 데이터(Ij)를 선택한다(S260).Subsequently, the search unit 230 selects specific encryption metadata C, that is, specific encryption data mapped to the j-th encryption metadata cj, that is, the j-th encryption data Ij based on the mapping information ( S260).
즉, 검색부(230)는, 매핑정보에 기초하여 제2 저장부(242)에 기 저장된 암호화 데이터(I1, I2,In) 중 j번째 암호화 메타데이터(cj)에 매핑된 j번째 암호화 데이터(Ij)를 선택한다.That is, the search unit 230 includes the j-th encrypted data mapped to the j-th encryption metadata cj among the encrypted data I1, I2, In previously stored in the second storage unit 242 based on the mapping information. Select Ij).
이후, 검색부(230)는, 사용자가 요청한 암호화 검색어(Q)에 대한 검색 결과로서 j번째 암호화 데이터(Ij)를 암호화된 상태로 단말(100)로 전달한다(S270).Thereafter, the search unit 230 transmits the j-th encrypted data Ij as a search result for the encrypted search word Q requested by the user to the terminal 100 in an encrypted state (S270).
이상에서 설명한 바와 같이 본 발명에 따르면 개인정보(예: 사진, 동영상, 이메일 등)를 업로드하는 단말에서 컨텐츠 데이터를 암호화하는 알고리즘과 컨텐츠 데이터에 대응하는 메타데이터를 암호화하는 알고리즘을 상이하게 적용하여 암호화를 수행함에 따라, 종래 중간 서비스 제공업체에서 암호화키를 관리하던 것과 달리 암호화키를 사용자가 관리하게 되므로 데이터 저장장치가 해킹되거나 또는 정보유출 문제가 발생하더라고 복호화가 불가능하게 되므로 익명성 및 보안성을 강화할 수 있는 효과를 도출할 수 있다. As described above, according to the present invention, an algorithm for encrypting content data and an algorithm for encrypting metadata corresponding to the content data in a terminal that uploads personal information (eg, photos, videos, e-mails, etc.) are applied differently for encryption. As a result of performing, the encryption key is managed by the user, unlike the conventional intermediate service provider to manage the encryption key, so that decryption becomes impossible even if the data storage device is hacked or an information leakage problem occurs, thus providing anonymity and security. You can derive an effect that can be reinforced.
또한, 본 발명에 따르면, 데이터 저장장치에 암호화되어 저장된 개인정보에 대한 복호화를 수행하는 과정 없이 검색을 수행한 결과를 암호화된 채로 사용자에게 전달하여 특정 서비스(예: 데이터 검색)를 제공함에 따라 보안성이 보다 강화된 서비스 제공을 통해 고객 만족도를 향상시킬 수 있는 효과를 도출할 수 있다.In addition, according to the present invention, security by providing a specific service (e.g., data search) by delivering the search result to the user in an encrypted state without performing the process of decrypting the personal information stored in the data storage device. It is possible to derive an effect that can improve customer satisfaction through the provision of services with more enhanced sexuality.
본 발명의 실시예들은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Until now, the present invention has been described in detail with reference to preferred embodiments, but the present invention is not limited to the above-described embodiments, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the following claims. Anyone of ordinary skill in the art will say that the technical idea of the present invention extends to the range in which various modifications or modifications are possible.
본 발명에 따른 데이터 저장장치 및 데이터 저장장치의 동작 방법에 따르면, 암호화되어 저장된 개인정보에 대한 복호화를 수행하지 않고도 특정 서비스(예: 데이터 검색)를 제공한다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the data storage device and the operating method of the data storage device according to the present invention, it exceeds the limitations of the existing technology in that it provides a specific service (e.g., data search) without decrypting the encrypted and stored personal information. According to this invention, it is an invention that has industrial applicability because it is not only the use of the related technology, but also the possibility of marketing or business of the applied device is sufficient, and it can be practically clearly implemented.
100 : 단말
110 : 암호키 생성부 120 : 암호화부
130 : 서비스 요청부
200 : 데이터 저장장치
210 : 수신부 220 : 매핑부
230 : 검색부 231 : 연산부
232 : 검출부 233 : 선택부
240 : 저장부 100: terminal
110: encryption key generation unit 120: encryption unit
130: service request unit
200: data storage device
210: receiving unit 220: mapping unit
230: search unit 231: operation unit
232: detection unit 233: selection unit
240: storage
Claims (8)
사용자 단말로부터 특정 데이터를 검색하기 위한 검색어가 암호화된 결과로서 생성되는 암호화 검색어가 수신되면, 상기 암호화 검색어와 일치하는 특정 암호화 메타데이터를 검출하고 상기 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 제공하는 검색부를 포함하며;
상기 검색부는,
상기 암호화 메타데이터 및 상기 암호화 검색어에 대한 복호화 과정 없이 암호화된 정보간의 비교 연산을 수행하고, 상기 비교 연산 결과에 기초하여 상기 암호화 검색어와 일치하는 상기 특정 암호화 메타데이터를 검출하며, 상기 매핑정보에 기초하여 상기 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 선택하여 제공하는, 데이터 저장장치.A mapping unit for generating mapping information by mapping encrypted data obtained by encrypting at least one piece of data and encrypted metadata obtained by encrypting metadata corresponding to the data; And
When an encrypted search word generated as a result of the encrypted search word for searching for specific data is received from the user terminal, detecting specific encryption metadata matching the encrypted search word and providing specific encrypted data mapped to the specific encryption metadata Includes a search unit;
The search unit,
Performs a comparison operation between the encrypted metadata and the encrypted information without a decryption process for the encrypted search word, detects the specific encryption metadata matching the encrypted search word based on the comparison operation result, and based on the mapping information And selecting and providing specific encrypted data mapped to the specific encrypted metadata.
상기 검색부는,
상기 암호화 검색어에 적용된 암호화 알고리즘과 상기 암호화 메타데이터에 적용된 암호화 알고리즘이 동일한 경우, 상기 특정 암호화 메타데이터 검출 및 매핑된 상기 특정 암호화 데이터 제공을 수행하는 것을 특징으로 하는 데이터 저장장치.The method of claim 1,
The search unit,
And when the encryption algorithm applied to the encrypted search word and the encryption algorithm applied to the encryption metadata are the same, detecting the specific encryption metadata and providing the mapped specific encrypted data.
상기 암호화 메타데이터 및 상기 암호화 검색어에 적용된 암호화 알고리즘은 동일하며,
상기 암호화 데이터에 적용된 암호화 알고리즘은 상기 암호화 메타데이터 및 상기 암호화 검색어에 적용된 암호화 알고리즘과 상이한 것을 특징으로 하는 데이터 저장장치.The method of claim 1,
The encryption algorithm applied to the encryption metadata and the encryption search word is the same,
An encryption algorithm applied to the encrypted data is different from an encryption algorithm applied to the encryption metadata and the encrypted search word.
상기 암호화 메타데이터와 상기 암호화 검색어에 동일하게 적용된 암호화 알고리즘은 암호화된 정보간의 연산이 가능한 동형 암호화(Homomorphic Encryption) 기법을 기반으로 하는 것을 특징으로 하는 데이터 저장장치.The method of claim 3,
The data storage device, characterized in that the encryption algorithm applied equally to the encryption metadata and the encrypted search word is based on a Homomorphic Encryption technique capable of calculating between encrypted information.
사용자 단말로부터 특정 데이터를 검색하기 위한 검색어가 암호화된 결과로서 생성되는 암호화 검색어가 수신되면, 상기 암호화 검색어와 일치하는 특정 암호화 메타데이터를 검출하고 상기 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 제공하는 제공단계를 포함하며;
상기 제공단계는,
상기 암호화 메타데이터 및 상기 암호화 검색어에 대한 복호화 과정 없이 암호화된 정보간의 비교 연산을 수행하고, 상기 비교 연산 결과에 기초하여 상기 암호화 검색어와 일치하는 상기 특정 암호화 메타데이터를 검출하며, 상기 매핑정보에 기초하여 상기 특정 암호화 메타데이터에 매핑된 특정 암호화 데이터를 선택하여 제공하는, 데이터 저장장치의 동작 방법.A mapping step of generating mapping information by mapping encrypted data obtained by encrypting at least one piece of data and encrypted metadata obtained by encrypting metadata corresponding to the data; And
When an encrypted search word generated as a result of the encrypted search word for searching for specific data is received from the user terminal, detecting specific encryption metadata matching the encrypted search word and providing specific encrypted data mapped to the specific encryption metadata It includes a provision step;
The providing step,
Performs a comparison operation between the encrypted metadata and the encrypted information without a decryption process for the encrypted search word, detects the specific encryption metadata matching the encrypted search word based on the comparison operation result, and based on the mapping information And selecting and providing specific encrypted data mapped to the specific encrypted metadata.
상기 제공단계는,
상기 암호화 검색어에 적용된 암호화 알고리즘과 상기 암호화 메타데이터에 적용된 암호화 알고리즘이 동일한 경우, 상기 특정 암호화 메타데이터 검출 및 매핑된 상기 특정 암호화 데이터 제공을 수행하는 것을 특징으로 하는 데이터 저장장치의 동작 방법.The method of claim 5,
The providing step,
When the encryption algorithm applied to the encrypted search word and the encryption algorithm applied to the encryption metadata are the same, detecting the specific encryption metadata and providing the mapped specific encrypted data is performed.
상기 암호화 메타데이터 및 상기 암호화 검색어에 적용된 암호화 알고리즘은 동일하며,
상기 암호화 데이터에 적용된 암호화 알고리즘은 상기 암호화 메타데이터 및 상기 암호화 검색어에 적용된 암호화 알고리즘과 상이한 것을 특징으로 하는 데이터 저장장치의 동작 방법.The method of claim 5,
The encryption algorithm applied to the encryption metadata and the encryption search word is the same,
An encryption algorithm applied to the encrypted data is different from an encryption algorithm applied to the encryption metadata and the encrypted search word.
상기 암호화 메타데이터와 상기 암호화 검색어에 동일하게 적용된 암호화 알고리즘은 암호화된 정보간의 연산이 가능한 동형 암호화(Homomorphic Encryption) 기법을 기반으로 하는 것을 특징으로 하는 데이터 저장장치의 동작 방법.The method of claim 7,
The method of operating a data storage device, characterized in that the encryption algorithm applied equally to the encryption metadata and the encrypted search word is based on a homomorphic encryption technique capable of calculating between encrypted information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150117445A KR102244764B1 (en) | 2015-08-20 | 2015-08-20 | Storage device and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150117445A KR102244764B1 (en) | 2015-08-20 | 2015-08-20 | Storage device and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170022451A KR20170022451A (en) | 2017-03-02 |
KR102244764B1 true KR102244764B1 (en) | 2021-04-26 |
Family
ID=58427127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150117445A KR102244764B1 (en) | 2015-08-20 | 2015-08-20 | Storage device and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102244764B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100924773B1 (en) * | 2002-09-16 | 2009-11-03 | 삼성전자주식회사 | Method for encrypting and decrypting metadata and method for managing metadata and system thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880905B2 (en) * | 2010-10-27 | 2014-11-04 | Apple Inc. | Methods for processing private metadata |
-
2015
- 2015-08-20 KR KR1020150117445A patent/KR102244764B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100924773B1 (en) * | 2002-09-16 | 2009-11-03 | 삼성전자주식회사 | Method for encrypting and decrypting metadata and method for managing metadata and system thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20170022451A (en) | 2017-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107959567B (en) | Data storage method, data acquisition method, device and system | |
EP2831803B1 (en) | Systems and methods for secure third-party data storage | |
KR101190059B1 (en) | Method for data encryption and method for conjunctive keyword search of encrypted data | |
US8181028B1 (en) | Method for secure system shutdown | |
US20150163065A1 (en) | Identity authentication method and apparatus and server | |
Kim et al. | Client‐Side Deduplication to Enhance Security and Reduce Communication Costs | |
KR20220092811A (en) | Method and device for storing encrypted data | |
CN115694921B (en) | Data storage method, device and medium | |
US11770243B2 (en) | Grouping data in an organized storage system | |
US11582028B1 (en) | Sharing grouped data in an organized storage system | |
US11652614B2 (en) | Stateless system to encrypt and decrypt data | |
WO2018054144A1 (en) | Method, apparatus, device and system for dynamically generating symmetric key | |
KR102244764B1 (en) | Storage device and control method thereof | |
US11818109B1 (en) | Secure synchronization of data | |
US11930102B2 (en) | Organized data storage system | |
US20240070294A1 (en) | Secure synchronization of data | |
US11983419B2 (en) | Sharing data in an organized storage system | |
US11888971B2 (en) | Sharing access to data externally | |
CN117201003A (en) | Method and system for reconstructing data key by master key |
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 |