KR101016009B1 - Method for data encryption and decryption using location information - Google Patents

Method for data encryption and decryption using location information Download PDF

Info

Publication number
KR101016009B1
KR101016009B1 KR1020080113694A KR20080113694A KR101016009B1 KR 101016009 B1 KR101016009 B1 KR 101016009B1 KR 1020080113694 A KR1020080113694 A KR 1020080113694A KR 20080113694 A KR20080113694 A KR 20080113694A KR 101016009 B1 KR101016009 B1 KR 101016009B1
Authority
KR
South Korea
Prior art keywords
data
key
location information
location
encryption
Prior art date
Application number
KR1020080113694A
Other languages
Korean (ko)
Other versions
KR20100054685A (en
Inventor
임재성
김동규
이건희
Original Assignee
아주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교산학협력단 filed Critical 아주대학교산학협력단
Priority to KR1020080113694A priority Critical patent/KR101016009B1/en
Publication of KR20100054685A publication Critical patent/KR20100054685A/en
Application granted granted Critical
Publication of KR101016009B1 publication Critical patent/KR101016009B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

세션키인 데이터 암호화키를 이용하여 데이터를 암호화하는 단계와 암호화된 데이터가 복호화될 수 있는 지리적 위치를 결정하는 단계와 결정된 위치 정보에 기초하여, 함수값인 위치키를 생성하는 단계와 생성된 위치키 및 데이터 암호화키를 논리 연산한 후, 데이터 사용자의 공개키로써 암호화하여 암호블록을 생성하는 단계와 생성된 암호블록 및 암호화된 데이터를 데이터 사용자에게 제공하는 단계를 포함하는 데이터의 암호화 방법 및 데이터 공급자로부터 제공되는 암호블록 및 암호화된 데이터를 수신하는 단계와 수신된 암호블록을 데이터 사용자의 개인키를 이용하여 복호화하는 단계와 복호화된 암호블록에 포함된 데이터 암호화키를 복원하기 위하여 데이터 사용자의 위치 정보를 획득하는 단계와 획득한 위치 정보에 기초하여, 함수값인 위치키를 생성하는 단계와 생성된 위치키 및 복호화된 암호블록을 논리 연산하여 데이터 암호화키를 복원하는 단계와 복원된 데이터 암호화키를 이용하여 수신된 암호화된 데이터를 복호화하는 단계를 포함하는 데이터의 복호화 방법이 개시되어 있다.Encrypting the data using the data encryption key, which is the session key, determining a geographical location where the encrypted data can be decrypted, and generating a location key that is a function value based on the determined location information and generated location And encrypting the key and the data encryption key, encrypting with the public key of the data user to generate an encryption block, and providing the generated encryption block and encrypted data to the data user. Receiving an encryption block and encrypted data provided from a provider; decrypting the received encryption block using a data user's private key; and restoring a data encryption key included in the decrypted encryption block. Function value based on the step of acquiring the information and the acquired position information Restoring the data encryption key by generating a location key, performing a logical operation on the generated location key and the decrypted encryption block, and decrypting the received encrypted data using the restored data encryption key. A decoding method is disclosed.

Description

위치 정보를 이용한 데이터의 암호화 방법 및 복호화 방법{Method for data encryption and decryption using location information}Method for data encryption and decryption using location information {Method for data encryption and decryption using location information}

본 발명은 제한된 위치에서만 데이터를 사용할 수 있도록 제어하기 위해서 데이터 공급자는 사용자의 위치 정보를 이용해서 데이터를 암호화하고 데이터 사용자는 자신의 위치 정보를 이용해서 데이터를 복호화하는 방법에 관한 것이다.The present invention relates to a method in which a data provider encrypts data using location information of a user and a data user decrypts data using his location information in order to control the data to be used only in a limited location.

아울러, 본 발명은 지식경제부의 대학 IT 연구센터 육성 지원 사업의 일환으로 정보통신연구진흥원이 주관하는 연구사업을 수행한 결과로부터 도출된 것이다[과제관리번호: IITA-2008-C1090-0801-0003, 과제명: 국방 IT 전술통신 기술 연구].In addition, the present invention is derived from the result of conducting a research project administered by the Information and Communications Research Institute as part of the support project for the development of the university IT research center of the Ministry of Knowledge Economy. [Task Management Number: IITA-2008-C1090-0801-0003, Project Name: Defense IT Tactical Communication Technology Research].

종래의 데이터를 보호하기 위해서 사용하는 방법은 데이터 공급자와 데이터 사용자 사이에 공유된 암호키(encryption key)를 이용해 데이터를 암호화/복호화하는 것이다. 따라서 암호키를 알고 있는 사용자만이 데이터를 사용할 수 있게 된다. 이러한 방법에서는 암호키를 반드시 비밀 보관해야 하기 때문에 만일 공격자가 저장된 키를 획득할 경우에는 불법적으로 데이터가 활용될 수 있다. 특히 무선 네트워크를 이용해 송수신되는 데이터는 제 3 자가 손쉽게 획득할 수 있기 때문에 보안이 더욱 취약해지게 된다. The conventional method used to protect data is to encrypt / decrypt the data using an encryption key shared between the data provider and the data user. Therefore, only users who know the encryption key can use the data. In this method, the encryption key must be kept secret, so if an attacker obtains the stored key, the data can be illegally used. In particular, data transmitted / received through a wireless network can be easily obtained by a third party, which makes security more vulnerable.

또 다른 방법으로 클라이언트-서버 형태의 시스템 구조에서 사용자가 암호화된 데이터를 사용하고자 할 때, 사용자의 식별자와 사용자 비밀번호를 이용해 사용자가 합법적인지 판단한 후 데이터를 제공하는 방법이 있다. 이때, 서버 측에서는 사용자가 알고 있는 비밀번호를 이용하여 데이터를 암호화하여 전송한다. 하지만 이러한 기술 역시 공격자가 특정 사용자의 암호를 파악하게 되면 데이터를 손쉽게 불법 사용할 수 있다. 게다가 사용자가 임의로 결정하는 비밀번호는 일반적으로 사용자 자신과 연관있거나 암기하기 쉬운 것으로 지정되는 경향이 있어, 공격자가 사전공격을 통해서 어렵지 않게 파악할 수 있다. As another method, when a user wants to use encrypted data in a client-server type system structure, there is a method of determining whether the user is legitimate using the user's identifier and user password and providing the data. At this time, the server side encrypts the data using a password that the user knows and transmits. However, these techniques also make it easy for an attacker to misuse data when an attacker learns a user's password. In addition, passwords that the user decides arbitrarily tend to be generally associated with the user or easy to memorize, making it easy for attackers to identify through dictionary attacks.

본 발명의 목적은 상기한 바와 같이 암호키를 이용해 암호화 하는 경우에 키 관리 부주의에 의해서 발생하는 보안 위협을 줄여서 보다 안전하게 데이터를 교환할 수 있도록 하기 위한 데이터의 암호화 및 복호화 방법에 관한 것으로, 사용자의 위치 정보를 기반으로 보안키를 생성하고 이를 이용해 데이터를 안전하게 암호화하는 기술을 제시하는데 그 목적이 있다. An object of the present invention relates to a method of encrypting and decrypting data for safer data exchange by reducing security threats caused by inadvertent key management when encrypting using an encryption key as described above. The purpose of this paper is to create a security key based on the location information and to present a technology for encrypting data securely.

본 발명이 제안하는 방법을 이용하면 사용자는 정해진 지역에서만 데이터를 복호화 할 수 있으므로, 설령 공격자가 암호키를 알아내거나 데이터를 불법적으로 획득했다 하여도 정해진 위치에 있지 않으면 데이터를 사용할 수 없게 된다. 이러한 방법은 위치 정보를 획득할 수 있는 장치만 있으면 어떠한 네트워크 환경에서도 사용이 가능하다. By using the method proposed by the present invention, the user can decrypt the data only in a predetermined region. Therefore, even if the attacker finds the encryption key or illegally acquires the data, the user cannot use the data unless it is in the predetermined position. This method can be used in any network environment as long as there is a device capable of acquiring location information.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 데이터 공급자가 위치 정보를 이용하여 데이터를 암호화하는 방법은 세션키인 데이터 암호화키를 이용하여 데이터를 암호화하는 단계와; 상기 암호화된 데이터가 복호화될 수 있는 지리적 위치를 결정하는 단계와; 상기 결정된 위치 정보에 기초하여, 함수값인 위치키를 생성하는 단계와; 상기 생성된 위치키 및 상기 데이터 암호화키를 논리 연산한 후, 데이터 사용자의 공개키로써 상기 연산된 값을 암호화하여 암호블록을 생성하는 단계와; 상기 생성된 암호블록 및 상기 암호화된 데이터를 데이터 사용자에게 제공하는 단계를 포함한다.According to an embodiment of the present invention, a data provider encrypts data using location information by encrypting the data using a data encryption key, which is a session key; Determining a geographical location at which the encrypted data can be decrypted; Generating a location key that is a function value based on the determined location information; Generating an encryption block by encrypting the calculated value with a public key of a data user after performing logical operation on the generated location key and the data encryption key; Providing the generated encryption block and the encrypted data to a data user.

상기 위치 정보는 절대적 위치 정보 또는 상대적 위치 정보이며, 상기 절대 적 위치 정보는 지리적 절대 기준값인 위도값과 경도값을 포함하고, 상기 상대적 위치 정보는 소정의 참조노드를 기준으로 계산된 거리 또는 방향의 위치 정보를 포함하는 것이 바람직하다.The position information is absolute position information or relative position information, and the absolute position information includes latitude and longitude values which are geographical absolute reference values, and the relative position information includes a distance or direction calculated based on a predetermined reference node. It is desirable to include location information.

상기 위치키는 상기 데이터 공급자가 구비하는 맵핑함수에 대하여 상기 결정된 위치 정보를 입력값으로한 함수의 출력값이며, 상기 위치 정보가 절대적 위치 정보인 경우에 상기 맵핑함수의 입력값은 위도값 및 경도값이며, 상기 위치 정보가 상대적 위치 정보인 경우에 상기 맵핑함수의 입력값은 상기 참조노드를 기준으로 계산된 거리값 또는 방향값인 것이 바람직하다.The location key is an output value of a function using the determined location information as an input value with respect to the mapping function included in the data provider. When the location information is absolute location information, the input value of the mapping function is a latitude value and a longitude value. When the location information is relative location information, the input value of the mapping function is preferably a distance value or a direction value calculated based on the reference node.

상기 맵핑함수의 입력값은 상기 암호화된 데이터가 복호화될 수 있는 시간을 더 포함하는 것이 바람직하다.The input value of the mapping function preferably further includes a time at which the encrypted data can be decrypted.

한편, 상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 데이터 사용자가 위치 정보를 이용하여 데이터를 복호화하는 방법은 데이터 공급자로부터 제공되는 암호블록 및 암호화된 데이터를 수신하는 단계와; 상기 수신된 암호블록을 데이터 사용자의 개인키를 이용하여 복호화하는 단계와; 상기 복호화된 암호블록에 포함된 데이터 암호화키를 복원하기 위하여 상기 데이터 사용자의 위치 정보를 획득하는 단계와; 상기 획득한 위치 정보에 기초하여, 함수값인 위치키를 생성하는 단계와; 상기 생성된 위치키 및 상기 복호화된 암호블록을 논리 연산하여 데이터 암호화키를 복원하는 단계와; 상기 복원된 데이터 암호화키를 이용하여 상기 수신된 암호화된 데이터를 복호화하는 단계를 포함한다.On the other hand, according to another embodiment of the present invention to achieve the above object, a method of decrypting data by using the location information by the data user comprises the steps of receiving an encrypted block and encrypted data provided from the data provider; Decrypting the received cipher block using a private key of a data user; Obtaining location information of the data user to recover a data encryption key included in the decrypted encryption block; Generating a location key that is a function value based on the obtained location information; Restoring a data encryption key by performing a logical operation on the generated location key and the decrypted encryption block; Decrypting the received encrypted data using the recovered data encryption key.

나아가, 본 발명은 상기 데이터의 암호화 방법 및 복호화 방법을 컴퓨터상에 서 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 더 포함한다.Furthermore, the present invention further includes a computer-readable recording medium having recorded thereon a program for implementing the data encryption method and the decryption method on a computer.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다. DETAILED DESCRIPTION In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the drawings.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 본 발명은 이하 서술한 전형적인 바람직한 실시 예들에만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 개량, 변경, 대체 또는 부가하여 실시할 수 있는 것임은 당해 기술 분야에 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 이러한 개량, 변경, 대체 또는 부가에 의한 실시가 이하의 첨부된 특허 청구범위의 범주에 속하는 것이라면 그 기술사상 역시 본 발명에 속하는 것으로 보아야 한다.The above-mentioned objects, features and advantages will become more apparent from the following detailed description in conjunction with the accompanying drawings. It is to be understood that the present invention is not limited to the typical preferred embodiments described below, and that various modifications, changes, substitutions, or additions can be made without departing from the spirit of the invention. If you have it, you can easily understand it. If such improvement, change, substitution or addition is carried out within the scope of the appended claims, then the technical spirit should also be regarded as belonging to the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

도 1은 본 발명의 일 실시예에 따라, 위치 정보를 이용해 암호화된 데이터(Geo-encrypted Data)를 제공받은 사용자가 정해진 지역에서는 암호화된 파일을 복호화할 수 있으나 정해진 지역 경계(boundary, 점선으로 표시함)를 넘어가면 해당 파일을 복호화할 수 없음을 나타내는 도면이다.FIG. 1 is a diagram illustrating a user who is provided with geo-encrypted data using location information and can decrypt an encrypted file in a predetermined region, but is indicated by a dotted line boundary. If the file is exceeded, the corresponding file cannot be decrypted.

본 발명의 기본 개념은 정해진 위치에서만 데이터를 복호화 할 수 있게 하 여, 공격자가 데이터를 불법적으로 가로채거나 획득한다 하더라도 온전하게 데이터를 복원할 수 없도록 하는 것이다. 따라서 본 발명을 이용할 경우에 설령 해킹을 통해서 서버로부터 정보를 불법적으로 획득하거나, 기업 기밀 정보를 불법적으로 획득한다고 하여도 정해진 위치를 벗어난 경우에는 상기 획득된 정보를 열람할 수 없게 된다. The basic concept of the present invention is to enable the data to be decrypted only at a predetermined position, so that even if an attacker illegally intercepts or acquires the data, the data cannot be completely restored. Therefore, in the case of using the present invention, even if the information is illegally obtained from the server through hacking, or even if the confidential information is obtained illegally, the obtained information cannot be read if it is out of a predetermined position.

도 2은 본 발명의 일 실시예에 따라, 데이터 공급자(정보제공자)에 의하여 수행되는 데이터 암호화 과정을 나타내는 도면이다.2 is a diagram illustrating a data encryption process performed by a data provider (information provider) according to an embodiment of the present invention.

암호화 과정 및 복호화 과정은 데이터 공급자가 데이터 사용자에 의하여 복호화될 수 있는 특정 위치를 결정하고, 결정된 위치 정보를 이용하여 위치키(location key)를 생성하는 제 1 단계, 데이터를 암호화 하기 위한 암호키와 위치키를 합성한 후 암호화하여 암호블록 생성하고 이를 데이터 사용자에게 제공하는 제 2 단계, 데이터 사용자가 자신의 위치 정보를 획득하고 이를 이용해 자신의 위치키를 생성하는 제 3 단계, 데이터 사용자의 위치키와 데이터 공급자로부터 수신한 암호블럭을 이용하여 암호화된 데이터를 복호화하기 위한 암호키를 복원하는 제 4 단계를 포함한다. 이를 통해서 데이터는 특정 지역에서만 복호화 되도록 결정될 수 있다.The encryption process and the decryption process may include a first step in which a data provider determines a specific location that can be decrypted by a data user, generates a location key using the determined location information, an encryption key for encrypting data, and A second step of synthesizing the location key, encrypting it to generate an encryption block, and providing the encrypted block to the data user; a third step of acquiring the location information of the data user using the location key; And recovering an encryption key for decrypting the encrypted data using the encryption block received from the data provider. Through this, data may be determined to be decrypted only in a specific region.

본 발명에 따른 일련의 과정을 수행하기 위해서 데이터 공급자와 데이터 사용자 사이는 인증서를 이용하여 상호 인증을 수행하며, 따라서 데이터 공급자는 데이터 사용자의 공개키(KU)를 알고 있다고 가정한다. 또한, 데이터 공급자는 AES(Advanced Encryption Standard), DES(Data Encryption Standard) 등의 대칭키 암호 알고리즘을 사용하여 데이터를 암호화한 후 배포한다. 따라서 데이터 암호를 위해서 데이터 공급자는 데이터 암호키(SK)를 생성한다. 데이터 암호키는 세션 동안에 사용할 암호키이므로 세션키(Session Key)라고도 부를 수 있다. In order to perform a series of processes according to the present invention, it is assumed that the data provider and the data user perform mutual authentication using a certificate, and therefore the data provider knows the public key (KU) of the data user. In addition, the data provider encrypts and distributes the data by using a symmetric key encryption algorithm such as AES (Advanced Encryption Standard) or DES (Data Encryption Standard). Therefore, for data encryption, the data provider generates a data encryption key SK. Since the data encryption key is an encryption key to be used during the session, it may be referred to as a session key.

데이터 공급자가 수행하는 암호화 과정을 도 2을 참조하여 살펴보면 다음과 같다.An encryption process performed by the data provider will be described with reference to FIG. 2.

데이터 공급자는 원본 데이터(Plaintext)를 상기 생성된 데이터 암호키(SK 또는 Key_S로 표시함)로써 암호화하여 암호화된 데이터(Cyphertext)를 생성한다.The data provider encrypts the original data Plaintext with the generated data encryption key (denoted SK or Key_S) to generate encrypted data (Cyphertext).

한편, 데이터 암호키(SK)를 다시 암호화하는 과정이 수반되는데, 이때 위치키(LK)라는 함수값과 결합하여 공개키에 의한 암호화 방식을 수행한다. 이하, 암호화 과정을 설명한다.On the other hand, the process of encrypting the data encryption key (SK) again, accompanied by a function value called the location key (LK) is performed by the public key encryption method. The encryption process will be described below.

먼저 데이터 공급자는 데이터가 복호화 될 수 있는 위치(L)을 결정하고, 이 위치에 대한 정보를 계산한다. 이때, 데이터 공급자는 위치 정보를 계산하기 위해서 미리 정해진 지역정보들 중에서 선택하는 방법을 사용한다. First, the data provider determines the location L where data can be decrypted and calculates information about this location. At this time, the data provider uses a method of selecting from predetermined area information in order to calculate the location information.

예를 들어 특정 건물 A의 위치 정보를 미리 소프트웨어에서 관리하고 있어, 데이터 공급자가 특정 데이터를 복호화 할 수 있는 위치로서 건물 A를 선택할 경우에 자동으로 저장된 위치 정보를 사용하도록 한다. For example, the location information of a specific building A is managed by the software in advance, so that when the data provider selects the building A as a location where the specific data can be decrypted, the stored location information is automatically used.

더불어 위치 정보는 절대적 위치 정보와 상대적 위치 정보를 사용할 수 있다.In addition, the location information may use absolute location information and relative location information.

절대적 위치 정보는 GPS를 이용해서 계산되는 정보로서 전 세계에서 유일하게 계산될 수 있는 위치 정보를 의미하며, 상대적 위치 정보는 관리자에 의해서 지 정된 참조노드(reference node)를 기준으로 계산된 위치 정보를 의미한다. 따라서 상대적 위치 정보를 사용하는 시스템을 구성하기 위해서는 참조노드를 각 위치에 설치하고 무선신호를 지속적으로 송출하여 사용자들이 자신의 위치를 계산할 수 있도록 해야한다.Absolute location information refers to location information that can be calculated only around the world as information calculated using GPS, and relative location information refers to location information calculated based on a reference node designated by an administrator. it means. Therefore, in order to construct a system using relative position information, a reference node must be installed at each position, and radio signals are continuously transmitted to allow users to calculate their own position.

이후 단계에서는 데이터 공급자가 상기 계산된 위치 정보와 미리 저장된 맵핑함수(F)를 이용하여 위치키(LK)를 맵핑한다. 이때, 데이터 사용자의 위치에 관한 정보뿐만 아니라, 데이터 사용자가 해당 데이터를 복호화할 수 있는 시간에 관한 정보까지도 고려할 수 있다. In the subsequent step, the data provider maps the location key LK using the calculated location information and the pre-stored mapping function F. In this case, not only the information about the location of the data user but also information about the time when the data user can decode the corresponding data may be considered.

여기서 맵핑함수는 위도와 경도 및 복호화 가능 시각을 입력으로 받아 하나의 위치키를 결과로 출력하는 함수이다. 맵핑함수의 일 예는 도 4에 나타나 있다. 도 4를 참조하면, 맵핑함수는 입력값(예: 위도, 경도, 시간)에 따라 다 차원 배열(multi-dimension array) 형식으로 나타낼 수 있다.Here, the mapping function is a function that receives a latitude and longitude and a decodable time as input, and outputs a location key as a result. An example of the mapping function is shown in FIG. Referring to FIG. 4, the mapping function may be represented in a multi-dimension array format according to input values (eg, latitude, longitude, and time).

암호화 과정을 다시 살펴보면, 상기 위치 정보에서 위도값과 경도값을 추출하고, 데이터 사용자가 복호화 할 수 있는 시간을 지정하여 이들을 맵핑함수의 입력으로 한 후, 맵핑함수에서 출력되는 결과값을 위치키(LK)로서 사용한다. 여기서, 위치 정보 이외에 복호화 가능 시각은 선택적인 입력값으로 정할 수 있다. 즉, 위치 정보만을 이용하여 위치키(LK)를 선택할 수 있으며 추가적으로 복호 가능 시각까지 입력으로 하여 맵핑함수로부터 위치키(LK)를 맵핑할 수 있는 것이다. Looking again at the encryption process, the latitude and longitude values are extracted from the location information, the time at which the data user can decrypt them is designated as the input of the mapping function, and the result value output from the mapping function is used as the location key ( LK). Here, in addition to the position information, the decodable time may be determined as an optional input value. That is, the location key LK can be selected using only the location information, and the location key LK can be mapped from the mapping function by inputting the decoding time.

단, 절대적 위치 정보가 아닌 상대적 위치 정보를 사용하였을 경우에는 위도값, 경도값이 없으므로 맵핑함수의 입력값은 거리, 방향 그리고 시각으로 주어진 다. 즉, 참조노드와 사용자 사이의 거리, 참조노드를 기준으로 사용자가 위치한 방향, 그리고 복호화할 수 있는 시각을 말한다.However, when relative position information is used instead of absolute position information, there is no latitude value and longitude value, so the input value of the mapping function is given by distance, direction and time. That is, the distance between the reference node and the user, the direction in which the user is located with respect to the reference node, and the time that can be decoded.

다음 단계에서는 데이터 사용자에게 제공할 암호블럭을 생성한다. 이 암호블럭을 이용하여 데이터 사용자는 데이터 공급자가 사용한 데이터 암호키를 복원할 수 있고, 복원된 데이터 암호키를 이용하여 최종적으로 암호화된 데이터를 복호화할 수 있다.The next step is to create an encryption block for the data user. Using this encryption block, the data user can restore the data encryption key used by the data provider and decrypt the data finally encrypted using the restored data encryption key.

암호블럭을 생성하기 위해서 데이터 공급자는 자신이 생성한 데이터 암호키(SK)와 위치키(LK)를 배타적 논리합(XOR: eXclusive OR) 연산을 통해서 혼합한다({SK XOR LK}). 상기 혼합된 데이터를 다시 암호화(encrypt)하여 데이터 공급자는 암호블럭을 생성하는데, 이때 암호 알고리즘은 ECC(Elliptic Curve Cryptosystem)를 사용할 수 있다. 따라서 이때 사용되는 암호키(Key_E)는 데이터 사용자의 공개키(KU)를 이용할 수 있다. 암호화를 수행한 결과, 위치 정보 기반의 암호화된 키(Geo-encrypted key: E1 KU{SK XOR LK}) 값인 암호블럭이 출력된다.In order to generate the encryption block, the data provider mixes the data encryption key SK and the location key LK generated by the exclusive OR (XOR: eXclusive OR) operation ({SK XOR LK}). The data provider generates an encryption block by encrypting the mixed data again, wherein the encryption algorithm may use an Elliptic Curve Cryptosystem (ECC). Therefore, the encryption key Key_E used at this time may use the public key KU of the data user. As a result of the encryption, an encryption block having a location-based encrypted key (E 1 KU {SK XOR LK}) value is output.

데이터 사용자는 차후 암호화된 데이터(Cyphertext: E2 SK{DATA}) 및 데이터 암호키(SK)를 추출할 수 있는 암호블럭(Geo-encrypted key: E1 KU{SK XOR LK})을 데이터 공급자로부터 제공받는다. 다음은 데이터 공급자가 데이터 사용자에게 제공하는 데이터의 내용이다.The data user can obtain a crypto-key (E 1 KU {SK XOR LK}) from the data provider to extract the encrypted data (Cyphertext: E 2 SK {DATA}) and the data encryption key (SK). It is provided. The following is the contents of the data provided by the data provider to the data user.

패킷 페이로드(payload) = E1 KU{SK XOR LK} | E2 SK{DATA}Packet payload = E 1 KU {SK XOR LK} | E 2 SK {DATA}

- E1 X : 사용자 X의 공개키를 사용하는 공개키 암호 알고리즘이다.E 1 X : A public key cryptographic algorithm that uses the public key of user X.

- E2 Y : 공급자와 사용자 사이에 공유되는 세션키 Y를 사용하는 대칭키 암호 알고리즘이다. -E2 Y: Symmetric-key cryptographic algorithm using session key Y shared between provider and user.

- SK : 대칭키 암호 알고리즘에 사용되는 세션키이다. -SK: Session key used for symmetric key encryption algorithm.

- LK : 위치 정보에 의해서 생성되는 위치키이다. -LK: Location key generated by location information.

도 3는 본 발명의 일 실시예에 따라, 데이터 사용자에 의하여 수행되는 데이터 복호화 과정을 나타내는 도면이다.3 is a diagram illustrating a data decryption process performed by a data user according to one embodiment of the present invention.

암호화된 데이터를 수신한 데이터 사용자는 수신된 데이터를 복호화하여 사용하기 위해서 도 3에 도시된 다음 일련의 복호화 과정을 수행한다. The data user who receives the encrypted data performs the following series of decryption processes shown in FIG. 3 in order to decrypt and use the received data.

먼저 데이터 사용자는 자신의 위치 정보를 획득해야 한다. 즉, 위치정보 수신장치를 통해 데이터 사용자의 위치 정보를 획득한다. 위치 정보는 GPS를 이용하여 획득할 수 있다. 또는 참조노드를 사용하여 위치 정보를 계산하도록 한다. 후자의 방법에서는 참조노드로부터 수신되는 전파의 세기를 이용해 자신이 참조노드로부터 얼마나 떨어져 있는지를 알 수 있으며 이 정보를 이용해 자신의 위치를 계산할 수 있다. 아울러, 복호화를 수행하는 현재 시간 정보를 추가적으로 획득할 수도 있다.First, the data user must obtain his location information. That is, the location information of the data user is obtained through the location information receiving device. The location information can be obtained using GPS. Or use the reference node to calculate the location information. The latter method uses the strength of radio waves received from the reference node to determine how far it is from the reference node and can use this information to calculate its location. In addition, current time information for performing decoding may be additionally obtained.

다음 단계에서는 계산된 위치 정보를 이용하여, 데이터 공급자와 동일한 맵핑함수(F)를 계산함으로써 위치키(LK)를 맵핑한다. In the next step, the location key LK is mapped by calculating the same mapping function F as the data provider using the calculated location information.

그런 다음, 수신한 패킷(Geo-encrypted key 및 Cyphertext를 포함함)으로부터 암호블럭(E1 KU{SK XOR LK})을 추출하고, 추출된 암호블럭을 공급자가 사용한 공개키 암호 알고리즘과 동일한 ECC를 사용하여 복호화한다. 이때 복호화 과정에서 사용자의 개인키(PU)를 복호화키(Key_D)로서 사용한다. 암호블럭을 복호화한 후, 암호화된 데이터(E2 SK{DATA})를 복호화하기 위해서 필요한 암호키인 데이터 암호키(SK)를 복호화된 암호블럭({SK XOR LK})으로부터 복원하도록 한다. 이를 위해서 복호화된 암호블럭({SK XOR LK})과 상기 맵핑된 위치키(LK)를 XOR 연산을 통해서 합성하도록 한다( {SK XOR LK} XOR LK ). 연산을 수행한 결과, 결과값으로 키(Key_S)가 출력되는데, 이 출력값이 바로 사용자가 데이터를 복호화할 때 필요한 데이터 암호키(SK)이다.Then, the cryptographic block (E 1 KU {SK XOR LK}) is extracted from the received packet (including Geo-encrypted key and Cyphertext), and the same ECC as the public key cryptographic algorithm used by the provider is extracted. To decrypt. At this time, the private key PU of the user is used as the decryption key (Key_D) in the decryption process. After decrypting the encryption block, the data encryption key SK, which is an encryption key necessary for decrypting the encrypted data E 2 SK {DATA}, is restored from the decrypted encryption block {SK XOR LK}. To this end, the decrypted cipher block {SK XOR LK} and the mapped location key LK are synthesized through an XOR operation ({SK XOR LK} XOR LK). As a result of the operation, a key Key_S is output as a result value, which is a data encryption key SK required when the user decrypts the data.

따라서, 사용자는 복원된 상기 데이터 암호키(SK)를 이용하여 암호화된 데이터 E2 SK{DATA}를 복호화하게 되고, 최종적으로 원본 데이터(Plaintext)를 사용할 수 있다.Therefore, the user decrypts the encrypted data E 2 SK {DATA} using the restored data encryption key SK, and finally, the original data (Plaintext) can be used.

이상 상세히 설명한 바와 같이 본 발명에 따르면, 데이터 사용자가 데이터 공급자가 지정한 위치에 존재하지 않으면 아무리 암호키(SK)를 알고 있을 지라도 원본 데이터를 복호화 할 수 없다. As described in detail above, according to the present invention, even if the data user does not exist at the location specified by the data provider, no matter how much the encryption key SK is known, the original data cannot be decrypted.

즉, (i)데이터를 사용하기 위해서는 데이터 공급자가 지정한 위치에 있고, (ii)데이터 공급자와 인증서를 통해서 인증이 이루어진 사용자이여야 한다. That is, in order to use the data, the user must be at a location specified by the data provider and (ii) authenticated by the data provider and the certificate.

따라서 최근 성행하고 있는 해킹 및 내부자의 정보 유출에 의해서 제 3 자가 기밀 데이터를 획득한다 할지라도, 외부에서는 데이터를 복호화 할 수 없으므로 그 내용을 알아낼 수가 없다. Therefore, even if a third party acquires confidential data due to the recent hacking and the leakage of insider information, the data cannot be decrypted from the outside.

이러한 방법은 여러 통신 기술 및 응용과 독립적으로 구성되어 개발될 수 있으므로 새로 개발될 통신 기술 및 응용은 물론이고, 기존의 다양한 통신 기술 및 응용 프로그램에서도 사용할 수 있다. Since the method can be developed independently of various communication technologies and applications, it can be used in various existing communication technologies and applications as well as newly developed communication technologies and applications.

또한 특정 표준에 의존하여 동작하는 방법이 아니므로 데이터를 암호화하여 전송해야 하는 어떠한 프로토콜에서도 쉽게 적용할 수 있다.Also, it is not a method that operates according to a specific standard, so it can be easily applied to any protocol that needs to encrypt and transmit data.

한편, 상술한 본 발명의 위치 정보를 이용한 데이터의 암호화 및 복호화 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. Meanwhile, the above-described method for encrypting and decrypting data using the location information of the present invention can be implemented in a general-purpose digital computer that can be written as a program that can be executed in a computer, and which operates the program using a computer-readable recording medium. Can be.

또한, 상술한바와 같이 본 발명에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. In addition, as described above, the structure of the data used in the present invention can be recorded on the computer-readable recording medium through various means.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, a DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

도 1은 본 발명의 일 실시예에 따라, 위치 정보를 이용해 암호화된 파일을 제공받은 사용자가 정해진 지역에서는 파일을 복호화할 수 있으나 그렇지 않으면 복호화할 수 없음을 나타내는 도면이다.1 is a diagram illustrating that a user who has received a file encrypted using location information can decrypt the file in a predetermined region, but cannot decrypt the file according to an embodiment of the present invention.

도 2는 본 발명의 일 실시예에 따라, 데이터 공급자에 의하여 수행되는 데이터 암호화 과정을 나타내는 도면이다.2 is a diagram illustrating a data encryption process performed by a data provider according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따라, 데이터 사용자에 의하여 수행되는 데이터 복호화 과정을 나타내는 도면이다.3 is a diagram illustrating a data decryption process performed by a data user according to one embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따라, 사용되는 위치키 맵핑함수의 예를 나타내는 도면이다. 4 is a diagram illustrating an example of a location key mapping function to be used according to an embodiment of the present invention.

상기 몇 개의 도면에 있어서 대응하는 도면 번호는 대응하는 부분을 가리킨다. 도면이 본 발명의 실시예들을 나타내고 있지만, 도면이 축척에 따라 도시된 것은 아니며 본 발명을 보다 잘 나타내고 설명하기 위해 어떤 특징부는 과장되어 있을 수 있다. Corresponding reference numerals in the several drawings indicate corresponding parts. Although the drawings show embodiments of the invention, the drawings are not to scale and certain features may be exaggerated to better illustrate and explain the invention.

Claims (5)

데이터 공급자가 위치 정보를 이용하여 데이터를 암호화하는 방법에 있어서,In a method for a data provider to encrypt data using location information, 세션키인 데이터 암호화키를 이용하여 데이터를 암호화하는 단계와;Encrypting data using a data encryption key which is a session key; 상기 암호화된 데이터가 복호화될 수 있는 지리적 위치에 관한 정보인 위치 정보를 결정하는 단계와;Determining location information that is information about a geographical location at which the encrypted data can be decrypted; 상기 데이터 공급자가 구비하는 맵핑함수에 대하여 상기 결정된 위치 정보를 입력값으로한 함수의 출력값인 위치키를 생성하는 단계와;Generating a location key which is an output value of a function using the determined location information as an input value for a mapping function provided by the data provider; 상기 생성된 위치키 및 상기 데이터 암호화키를 논리 연산한 후, 데이터 사용자의 공개키로써 상기 연산된 값을 암호화하여 암호블록을 생성하는 단계와;Generating an encryption block by encrypting the calculated value with a public key of a data user after performing logical operation on the generated location key and the data encryption key; 상기 생성된 암호블록 및 상기 암호화된 데이터를 데이터 사용자에게 제공하는 단계를 포함하는 것을 특징으로 하는 데이터의 암호화 방법.Providing the generated encryption block and the encrypted data to a data user. 제1항에 있어서,The method of claim 1, 상기 위치 정보는 절대적 위치 정보 또는 상대적 위치 정보이며,The location information is absolute location information or relative location information, 상기 절대적 위치 정보는 지리적 절대 기준값인 위도값과 경도값을 포함하고, 상기 상대적 위치 정보는 소정의 참조노드를 기준으로 계산된 거리 또는 방향의 위치 정보를 포함하는 것을 특징으로 하는 데이터의 암호화 방법. The absolute position information includes a latitude value and a longitude value which are geographical absolute reference values, and the relative position information includes position information of a distance or a direction calculated based on a predetermined reference node. 제2항에 있어서,The method of claim 2, 상기 위치 정보가 절대적 위치 정보인 경우에 상기 맵핑함수의 입력값은 위도값 및 경도값이며, 상기 위치 정보가 상대적 위치 정보인 경우에 상기 맵핑함수의 입력값은 상기 참조노드를 기준으로 계산된 거리값 또는 방향값인 것을 특징으로하는 데이터의 암호화 방법.When the location information is absolute location information, the input values of the mapping function are latitude and longitude values, and when the location information is relative location information, the input value of the mapping function is a distance calculated based on the reference node. A method of encrypting data, characterized in that the value or direction value. 제3항에 있어서,The method of claim 3, 상기 맵핑함수의 입력값은 상기 암호화된 데이터가 복호화될 수 있는 시간을 더 포함하는 것을 특징으로 하는 데이터의 암호화 방법.The input value of the mapping function further includes a time at which the encrypted data can be decrypted. 데이터 사용자가 위치 정보를 이용하여 데이터를 복호화하는 방법에 있어서,In a method for a data user to decrypt data using location information, 데이터 공급자로부터 제공되는 암호블록 및 암호화된 데이터를 수신하는 단계와;Receiving encrypted blocks and encrypted data provided from a data provider; 상기 수신된 암호블록을 상기 데이터 사용자의 개인키를 이용하여 복호화하는 단계와;Decrypting the received cipher block using the private key of the data user; 상기 복호화된 암호블록에 포함된 데이터 암호화키를 복원하기 위하여 상기 데이터 사용자의 위치 정보를 획득하는 단계와;Obtaining location information of the data user to recover a data encryption key included in the decrypted encryption block; 상기 데이터 공급자가 구비한 맵핑 함수와 동일한 상기 데이터 사용자의 맵핑함수에 대하여 상기 획득된 위치 정보를 입력값으로한 함수의 출력값인 위치키를 생성하는 단계와;Generating a location key which is an output value of a function having the obtained location information as an input value for the mapping function of the data user which is the same as the mapping function provided by the data provider; 상기 생성된 위치키 및 상기 복호화된 암호블록을 논리 연산하여 데이터 암호화키를 복원하는 단계와;Restoring a data encryption key by performing a logical operation on the generated location key and the decrypted encryption block; 상기 복원된 데이터 암호화키를 이용하여 상기 수신된 암호화된 데이터를 복호화하는 단계를 포함하는 것을 특징으로 하는 데이터의 복호화 방법.Decrypting the received encrypted data using the restored data encryption key.
KR1020080113694A 2008-11-14 2008-11-14 Method for data encryption and decryption using location information KR101016009B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080113694A KR101016009B1 (en) 2008-11-14 2008-11-14 Method for data encryption and decryption using location information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080113694A KR101016009B1 (en) 2008-11-14 2008-11-14 Method for data encryption and decryption using location information

Publications (2)

Publication Number Publication Date
KR20100054685A KR20100054685A (en) 2010-05-25
KR101016009B1 true KR101016009B1 (en) 2011-02-23

Family

ID=42279376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080113694A KR101016009B1 (en) 2008-11-14 2008-11-14 Method for data encryption and decryption using location information

Country Status (1)

Country Link
KR (1) KR101016009B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101271488B1 (en) * 2012-11-20 2013-06-05 주식회사 에이엔디코리아 Security document management system comprising location information and controlling method thereof

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101225903B1 (en) * 2010-07-29 2013-01-24 삼성에스디에스 주식회사 User terminal device based on client hypervisor and method for encoding/decoding file on virtual machine, and system comprising the device
KR101844289B1 (en) 2011-07-06 2018-04-02 삼성전자 주식회사 Method and apparatus for managing security of mobile terminal based on location information in mobile communication system
KR101514183B1 (en) * 2014-04-07 2015-04-21 (주)스마일게이트엔터테인먼트 Method and system for securing hacking detection module
KR101688031B1 (en) * 2014-10-07 2016-12-20 공주대학교 산학협력단 Security Controller System based on Arduino using Mobile Phone and Driving method of The same
KR102375144B1 (en) * 2020-06-02 2022-03-16 (주)세정아이앤씨 Device, method, system and computer readable storage medium for managing private key using blockchain
WO2023063445A1 (en) * 2021-10-14 2023-04-20 한국전자기술연구원 Positioning-based infectious disease contact detection method of minimizing risk of personal information leakage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000035093A (en) * 1998-10-29 2000-06-26 데이텀 인크 Controlling access to stored information
KR20060110154A (en) * 2005-04-19 2006-10-24 에스케이 텔레콤주식회사 Conditional access system and method using position information of mobile communication terminal and mobile communication terminal therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000035093A (en) * 1998-10-29 2000-06-26 데이텀 인크 Controlling access to stored information
KR20060110154A (en) * 2005-04-19 2006-10-24 에스케이 텔레콤주식회사 Conditional access system and method using position information of mobile communication terminal and mobile communication terminal therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101271488B1 (en) * 2012-11-20 2013-06-05 주식회사 에이엔디코리아 Security document management system comprising location information and controlling method thereof

Also Published As

Publication number Publication date
KR20100054685A (en) 2010-05-25

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
CN110971415B (en) Space-ground integrated space information network anonymous access authentication method and system
KR100979576B1 (en) Methods for remotely changing a communications password
CN110650010B (en) Method, device and equipment for generating and using private key in asymmetric key
US20080260147A1 (en) Method and apparatus for encrypting message for maintaining message integrity, and method and apparatus for decrypting message for maintaining message integrity
KR101016009B1 (en) Method for data encryption and decryption using location information
US20200195446A1 (en) System and method for ensuring forward & backward secrecy using physically unclonable functions
CN107453880B (en) Cloud data secure storage method and system
Guo et al. A Secure and Efficient Mutual Authentication and Key Agreement Protocol with Smart Cards for Wireless Communications.
US10699021B2 (en) Method and a device for secure storage of at least one element of digital information, and system comprising such device
KR100984275B1 (en) Method for generating secure key using certificateless public key in insecure communication channel
JP6501701B2 (en) SYSTEM, TERMINAL DEVICE, CONTROL METHOD, AND PROGRAM
JP5469618B2 (en) Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program
KR101793528B1 (en) Certificateless public key encryption system and receiving terminal
JP2008048166A (en) Authentication system
Paverd et al. Omnishare: Encrypted cloud storage for the multi-device era
CN114513302A (en) Data encryption and decryption method and equipment
JP5850888B2 (en) Information storage system, information storage device, method thereof, and program
KR101865703B1 (en) Apparatus and method for generating key, apparatus and method for encryption
JP2017163326A (en) Encryption system, encryption method, and encryption program
KR101040608B1 (en) Data protection method using environmental information
WO2010076899A1 (en) Broadcast encryption system, sender apparatus, user apparatus, encapsulation/decapsulation method
Chang et al. An improved user authentication and key agreement scheme providing user anonymity
JP2019041355A (en) Encryption apparatus, decryption apparatus, encryption system, encryption method, and encryption program
Xuan An End-to-End Encryption Solution for Enterprise Content Applications

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: 20140206

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141226

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee