WO2016048054A2 - Method, apparatus and system for secure data communication - Google Patents

Method, apparatus and system for secure data communication Download PDF

Info

Publication number
WO2016048054A2
WO2016048054A2 PCT/KR2015/010073 KR2015010073W WO2016048054A2 WO 2016048054 A2 WO2016048054 A2 WO 2016048054A2 KR 2015010073 W KR2015010073 W KR 2015010073W WO 2016048054 A2 WO2016048054 A2 WO 2016048054A2
Authority
WO
WIPO (PCT)
Prior art keywords
key
random number
identification information
public key
encryption
Prior art date
Application number
PCT/KR2015/010073
Other languages
French (fr)
Korean (ko)
Other versions
WO2016048054A3 (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
Priority claimed from KR1020150134823A external-priority patent/KR102457809B1/en
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2016048054A2 publication Critical patent/WO2016048054A2/en
Publication of WO2016048054A3 publication Critical patent/WO2016048054A3/en
Priority to US15/468,567 priority Critical patent/US10454904B2/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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Abstract

The present disclosure relates to technical matters for sensor networks, machine to machine (M2M) communication, machine type communication (MTC) and Internet of Things (IoT). The present disclosure can be used for intelligent services based on these technical matters (smart home, smart building, smart city, smart car, or connected car, healthcare, digital education, retail business, security and safety related services, and the like). A method for transmitting encrypted data from a first device to a second device that prevents identification of the transmitting and receiving devices is disclosed, the method for transmitting data is characterized by comprising the steps of: generating an encryption key for data encryption; generating key identification information using the generated encryption key and encrypting data; and transmitting to the second device a data set including the encrypted data and the key identification information.

Description

데이터 통신 보안을 위한 방법, 장치 및 시스템Methods, devices, and systems for securing data communications
본 개시는 데이터 통신의 보안을 유지하기 위한 방법, 장치 및 시스템에 관한 것이다. The present disclosure relates to a method, apparatus, and system for securing data communications.
인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE (Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 연구되고 있다.The Internet has evolved from a human-centered connection network where humans create and consume information, and an Internet of Things (IoT) network that exchanges and processes information among distributed components such as things. The Internet of Everything (IoE) technology, which combines big data processing technology through connection with cloud servers and the like, is emerging. In order to implement the IoT, technical elements such as sensing technology, wired / wireless communication and network infrastructure, service interface technology, and security technology are required, and recently, a sensor network for connection between things, a machine to machine , M2M), Machine Type Communication (MTC), etc. are being studied.
IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(information technology)기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.In an IoT environment, intelligent Internet technology (IT) services can be provided that collect and analyze data generated from connected objects to create new value in human life. IoT is a field of smart home, smart building, smart city, smart car or connected car, smart grid, health care, smart home appliances, advanced medical services, etc. through convergence and complex of existing information technology (IT) technology and various industries. It can be applied to.
특히 IoT 환경에서는 디바이스들 간의 데이터 통신을 수행하는 경우가 많다. 일반적으로, 송신 디바이스 및 수신 디바이스는 암호화된 데이터를 송신 및 수신하는데, 수신 디바이스가 암호화된 데이터를 복호화 하기 위해서는 송신 디바이스에 대한 정보가 필요하다. 따라서, 데이터 통신 시에는 송신 디바이스는 IP address와 같은 송신 디바이스에 관한 정보를 수신 디바이스에게 제공한다. 정보가 노출될 수가 있다. 그러나, IP address와 같은 송신 디바이스의 정보에 기초하여 제3자는 송신 디바이스와 수신 디바이스, 송신 디바이스와 수신 디바이스간의 통신 빈도 등 많은 개인적인 정보를 획득할 수 있다.In particular, in the IoT environment, data communication between devices is often performed. In general, a transmitting device and a receiving device transmit and receive encrypted data, and the receiving device needs information about the transmitting device in order to decrypt the encrypted data. Therefore, during data communication, the transmitting device provides the receiving device with information about the transmitting device, such as an IP address. Information can be exposed. However, based on the information of the transmitting device such as the IP address, the third party can obtain a lot of personal information such as the frequency of communication between the transmitting device and the receiving device, the communication device and the receiving device.
따라서, 암호화된 데이터 자체를 통해서, 제 3 자가 아닌 수신 디바이스만이 송신 디바이스를 식별할 수 있도록 하는 기술에 대한 수요가 증가하고 있다.Thus, there is an increasing demand for a technology that allows only the receiving device, not the third party, to identify the transmitting device through the encrypted data itself.
뿐만 아니라, IoT 환경에서는 송신 디바이스와 수신 디바이스는 암호화된 데이터 통신을 위해 암호화 키를 생성 및 교환한다. 그러나, 송신 디바이스와 수신 디바이스가 동일한 키 데이터에 기초하여 암호화 키를 생성하는 경우가 일반적이어서, 제 3 디바이스가 송신 디바이스와 수신 디바이스 중 하나의 디바이스를 해킹함으로써, 두 디바이스 간에 송수신되는 데이터 모두를 해킹할 수 있었다. In addition, in the IoT environment, the transmitting device and the receiving device generate and exchange encryption keys for encrypted data communication. However, it is common for a transmitting device and a receiving device to generate an encryption key based on the same key data, so that the third device hacks one of the transmitting device and the receiving device, thereby hacking both data transmitted and received between the two devices. Could.
따라서, 보다 안전한 암호화 키 생성 및 교환 기술에 대한 수요가 증가하고 있다.Therefore, the demand for more secure encryption key generation and exchange technology is increasing.
본 발명은 안전한 암호화 키 생성 및 교환 기술을 제공하고자 한다.The present invention seeks to provide a secure encryption key generation and exchange technique.
본 발명은 암호화된 데이터 교환시 송수신 디바이스의 식별을 방지하는 방법을 제공하며, 특히 인터넷 메신저와 같은 서버형 메시지 서비스에서 암호화된 데이터 교환시 송수신 디바이스의 식별을 방지하는 방법을 제공하고자 한다. 또한 본 발명은 암호화된 데이터 통신을 위한 안전한 키 생성 및 교환 방법을 제공하고자 한다.The present invention provides a method for preventing identification of a transmitting / receiving device when exchanging encrypted data, and in particular, a method of preventing identification of a transmitting / receiving device during exchanging encrypted data in a server type message service such as an Internet messenger. In addition, the present invention is to provide a secure key generation and exchange method for encrypted data communication.
본 발명의 일 실시예에 따르면, 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 전송하거나 수신하는 방법 및 디바이스를 제공함으로써, 암호화된 데이터로 인해 송수신 디바이스의 정보가 제3자에게 노출이 되지 않으면서도 수신 디바이스는 암호화된 데이터를 복호화할 수 있다.According to an embodiment of the present invention, by providing a method and a device for transmitting or receiving encrypted data that prevents identification of the transmitting and receiving device, even if the information of the transmitting and receiving device is not exposed to a third party due to the encrypted data The receiving device can decrypt the encrypted data.
도 1은 일부 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 제1 디바이스와 제2 디바이스 사이에서 전송하거나 수신하는 디바이스를 도시화한 것이다.1 illustrates a device for transmitting or receiving encrypted data between a first device and a second device that prevents identification of a transceiving device in accordance with some embodiments.
도 2는 일부 실시예에 따른 제1 디바이스에서 제2 디바이스로 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 송신하는 방법을 도시하는 흐름도이다.2 is a flow diagram illustrating a method of transmitting encrypted data that prevents identification of a transceiving device from a first device to a second device in accordance with some embodiments.
도 3은 일부 실시예에 따른 제2 디바이스에서 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 제1 디바이스로부터 수신하는 방법을 도시하는 흐름도이다.3 is a flow diagram illustrating a method of receiving encrypted data from a first device that prevents identification of a transceiving device in a second device in accordance with some embodiments.
도 4는 일부 실시예에 따른 공개키 및 난수를 이용하여 암호화된 데이터를 송신하는 방법을 도시하는 흐름도이다.4 is a flowchart illustrating a method of transmitting encrypted data using a public key and a random number according to some embodiments.
도 5는 일부 실시예에 따른 공개키 및 난수를 이용하여 암호화된 데이터를 수신하는 방법을 도시하는 흐름도이다.5 is a flowchart illustrating a method of receiving data encrypted using a public key and a random number according to some embodiments.
도 6은 일부 실시예에 따른 수신 디바이스의 공개키를 이용하여 암호화된 데이터를 송신하는 방법을 도시한 흐름도이다.6 is a flowchart illustrating a method of transmitting encrypted data using a public key of a receiving device according to some embodiments.
도 7은 일부 실시예에 따른 수신 공개키를 이용하여 암호화된 데이터를 수신하는 방법을 도시한 흐름도이다.7 is a flowchart illustrating a method of receiving data encrypted using a receiving public key according to some embodiments.
도 8은 일부 실시예에 따른 공유된 비공개키를 이용하여 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 전송하고 수신하는 방법의 흐름도이다.8 is a flowchart of a method for transmitting and receiving encrypted data that prevents identification of a transceiving device using a shared private key in accordance with some embodiments.
도 9는 일부 실시예에 따른 디바이스를 식별할 수 있는 정수를 이용하여 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 송신하는 방법을 도시한 흐름도이다.9 is a flowchart illustrating a method of transmitting encrypted data that prevents identification of a transmitting / receiving device using an integer that may identify a device, according to some embodiments.
도 10는 일부 실시예에 따른 디바이스를 식별할 수 있는 정수를 이용하여 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 수신하는 방법을 도시한 흐름도이다.10 is a flowchart illustrating a method of receiving encrypted data that prevents identification of a transceiving device using an integer that may identify the device, in accordance with some embodiments.
도 11은 일부 실시예에 따른 암호화된 데이터를 저장하면서 제1 디바이스의 식별정보를 획득하는, 암호화된 데이터를 수신하는 방법을 도시하는 흐름도이다.FIG. 11 is a flow diagram illustrating a method of receiving encrypted data for obtaining identification of a first device while storing encrypted data in accordance with some embodiments.
도 12는 일부 실시예에 따른 송신 디바이스가 소정의 디바이스의 그룹에 대하여 암호화된 데이터를 송신하는 방법을 도시하는 개념도이다.12 is a conceptual diagram illustrating a method of transmitting, by a transmitting device, encrypted data for a group of devices according to some embodiments.
도 13은 일부 실시예에 따른 제2 디바이스가 제1 디바이스를 포함하는 복수의 디바이스로부터 키식별정보를 수신하고 데이터를 송신한 제1 디바이스의 키를 식별하기 위한 매칭과정을 설명하기 위한 플로우를 도시한다. FIG. 13 is a flowchart illustrating a matching process for a second device to receive key identification information from a plurality of devices including a first device and to identify a key of a first device that has transmitted data; FIG. do.
도 14는 일부 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 제2 디바이스로 송신하는 제1 디바이스를 도시하는 블록도이다.14 is a block diagram illustrating a first device that transmits encrypted data to a second device that prevents identification of a transceiving device in accordance with some embodiments.
도 15는 일부 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터 세트를 수신하는 디바이스를 도시하는 블록도이다.15 is a block diagram illustrating a device receiving an encrypted data set that prevents identification of a transceiving device in accordance with some embodiments.
도 16은 일부 실시예에 따른 디바이스를 설명하기 위한 세부 블록도이다.16 is a detailed block diagram illustrating a device in accordance with some embodiments.
도 17은 일부 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 송수신하는 시스템을 도시하는 개념도이다.17 is a conceptual diagram illustrating a system for transmitting and receiving encrypted data that prevents identification of a transceiving device in accordance with some embodiments.
도 18은 일부 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 송신하는 방법을 도시하는 흐름도이다.18 is a flow diagram illustrating a method of transmitting encrypted data that prevents identification of a transceiving device in accordance with some embodiments.
도 19은 일부 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 수신하는 방법을 도시하는 흐름도이다.19 is a flow diagram illustrating a method of receiving encrypted data that prevents identification of a transceiving device in accordance with some embodiments.
도 20 및 도 21은 일부 실시예에 따른 키 공유 방법을 도시하는 시스템 도면이다.20 and 21 are system diagrams illustrating a key sharing method according to some embodiments.
도 22는 일부 실시예에 따른 키 공유 방법을 도시하는 흐름도이다.22 is a flowchart illustrating a key sharing method according to some embodiments.
도 23은 일부 실시예에 따른 키 공유 및 암호화 키 생성 방법을 도시하는 흐름도이다.23 is a flowchart illustrating a key sharing and encryption key generation method in accordance with some embodiments.
도 24는 일부 실시예에 따른 키 공유 방법을 도시하는 흐름도이다. 24 is a flowchart illustrating a key sharing method according to some embodiments.
도 25 및 도 26은 일부 실시예에 따른 암호화 통신을 위한 제 1 디바이스와 제 2 디바이스 간의 키 공유 방법을 도시한다. 25 and 26 illustrate a key sharing method between a first device and a second device for encrypted communication, according to some embodiments.
도 27은 일부 실시예에 따른 SAS 생성 방법을 도시한다.27 illustrates a SAS generation method according to some embodiments.
도 28은 일부 실시예에 따른 키 공유 디바이스의 블록도이다.28 is a block diagram of a key sharing device in accordance with some embodiments.
도 29은 일부 실시예에 따른 키 공유 디바이스의 세부 블록도이다.29 is a detailed block diagram of a key sharing device in accordance with some embodiments.
상기와 같은 종래 기술의 문제를 해결하기 위한 일부 실시예는, 제1 디바이스에서 암호화된 데이터를 송신하는 방법으로써, 송신할 데이터를 암호화하기 위한 암호화키를 생성하는 단계; 상기 생성된 암호화키를 이용하여 키식별정보를 생성하는 단계; 상기 생성된 암호화 키를 이용하여 송신할 데이터를 암호화하는 단계; 및 상기 암호화된 데이터 및 상기 키식별정보를 포함하는 데이터 세트를 제2 디바이스로 송신하는 단계를 포함할 수 있다.Some embodiments for solving the above-described problems of the prior art include a method of transmitting encrypted data in a first device, the method comprising: generating an encryption key for encrypting data to be transmitted; Generating key identification information using the generated encryption key; Encrypting data to be transmitted using the generated encryption key; And transmitting a data set including the encrypted data and the key identification information to a second device.
상기 키식별정보는 상기 제2 디바이스가 식별할 수 있는 상기 제1 디바이스의 식별정보 또는 상기 암호화키를 식별할 수 있는 정보를 포함할 수 있다.The key identification information may include identification information of the first device that can be identified by the second device or information that can identify the encryption key.
상기 암호화키를 생성하는 단계는, 상기 제1 디바이스의 공개키 및 제1 난수를 상기 제2 디바이스로 전송하고 상기 제2 디바이스로부터 상기 제2 디바이스의 공개키 및 제2 난수를 수신하는 단계; 및 상기 제1 디바이스의 공개키 및 상기 제2 디바이스의 공개키를 이용하여 상기 암호화키를 생성하는 단계를 포함하고, 상기 키식별정보는 상기 제1 난수, 상기 제2 난수 및 상기 암호화키를 이용하여 생성되며, 상기 키식별정보는 상기 제 1 난수 또는 상기 제 2 난수에 기초하여 상기 제 1 디바이스를 식별할 수 있는 정보를 포함할 수 있다. Generating the encryption key may include transmitting a public key and a first random number of the first device to the second device and receiving a public key and a second random number of the second device from the second device; And generating the encryption key using the public key of the first device and the public key of the second device, wherein the key identification information uses the first random number, the second random number, and the encryption key. The key identification information may include information for identifying the first device based on the first random number or the second random number.
상기 키식별정보를 생성하는 단계는, 상기 제 2 디바이스로부터 상기 제2 디바이스의 공개키를 수신하는 단계; 및 상기 수신된 제2 디바이스의 공개키를 이용하여 상기 암호화키를 암호화하여 상기 키식별정보를 생성하는 단계를 포함할 수 있다.The generating of the key identification information may include: receiving a public key of the second device from the second device; And generating the key identification information by encrypting the encryption key using the received public key of the second device.
상기 암호화키를 생성하는 단계는, 제2 디바이스와 비공개키를 공유하는 단계; 및 상기 비공개키 및 제1 난수를 이용하여 상기 암호화키를 생성하는 단계를 포함하고, 상기 키식별정보는 상기 제1 난수, 및 상기 제1 난수와 상기 암호화키를 조합한 값을 상기 제1 난수로 키-해싱한 값을 포함할 수 있다. Generating the encryption key may include: sharing a private key with a second device; And generating the encryption key using the private key and the first random number, wherein the key identification information includes the first random number and a value obtained by combining the first random number and the encryption key with the first random number. It can contain key-hashed values.
상기 암호화키는 제1 디바이스의 식별넘버(Pa) 및 제2 디바이스의 식별넘버(Pb)보다 작은 난수이고, 상기 키식별정보는 제1 디바이스의 식별넘버(Pa) 및 제2 디바이스의 식별넘버(Pb)의 곱 또는 최대공약수에 상기 난수를 더한 값일 수 있다.The encryption key is a random number smaller than the identification number Pa of the first device and the identification number Pb of the second device, and the key identification information is the identification number Pa of the first device and the identification number of the second device ( It may be the product of Pb) plus the greatest common divisor plus the random number.
상기 데이터 세트는 메시지 인증 코드(message authentication code)를 더 포함하고, 상기 메시지 인증 코드는 상기 제2 디바이스가 획득한 암호화키가 상기 제 1 디바이스가 송신한 암호화 키와 동일한 암호화 키인지 여부를 확인하기 위해 이용될 수 있다.The data set further includes a message authentication code, wherein the message authentication code confirms whether the encryption key obtained by the second device is the same encryption key as the encryption key sent by the first device. Can be used for
상기와 같은 종래 기술의 문제를 해결하기 위한 일부 실시예는, 제2 디바이스에서 암호화된 데이터를 수신하는 방법으로써, 제1 디바이스로부터 암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 수신하는 단계; 상기 키식별정보를 이용하여 제1 디바이스에 대한 암호화키를 획득하는 단계; 상기 획득된 암호화키를 이용하여 상기 암호화된 데이터를 복호화하는 단계를 포함할 수 있다.Some embodiments for solving the above problems of the prior art include a method of receiving encrypted data at a second device, the method comprising: receiving a data set including encrypted data and key identification information from the first device; Obtaining an encryption key for a first device by using the key identification information; And decrypting the encrypted data by using the obtained encryption key.
상기 키식별정보는 제2 디바이스가 식별할 수 있는 제1 디바이스의 정보 또는 상기 암호화키를 식별할 수 있는 정보를 포함할 수 있다.The key identification information may include information of a first device that can be identified by a second device or information that can identify the encryption key.
상기 방법은, 상기 제1 디바이스를 포함하는 적어도 하나의 디바이스로부터 적어도 하나의 공개키 및 적어도 하나의 난수를 각각 수신하고 상기 제2 디바이스의 공개키 및 제2 난수를 상기 적어도 하나의 디바이스로 각각 송신하는 단계를 더 포함하고, 상기 제1 디바이스에 대한 암호화키를 획득하는 단계는, 상기 수신된 적어도 하나의 공개키 및 상기 제2 디바이스의 공개키를 이용하여 상기 적어도 하나의 디바이스에 대한 적어도 하나의 암호화키를 생성하는 단계; 상기 적어도 하나의 암호화키를 이용하여 적어도 하나의 키식별정보를 생성하는 단계; 상기 생성된 적어도 하나의 키식별정보와 상기 수신된 키식별정보를 비교하여 상기 암호화된 데이터를 송신한 제1 디바이스를 식별하는 단계; 및 상기 식별된 제1 디바이스에 대한 암호화키를 획득하는 단계를 포함할 수 있다.The method further includes receiving at least one public key and at least one random number from at least one device including the first device, respectively, and transmitting the public key and the second random number of the second device to the at least one device, respectively. And obtaining an encryption key for the first device, using at least one public key of the at least one device and the at least one public key of the second device. Generating an encryption key; Generating at least one key identification information using the at least one encryption key; Comparing the generated at least one key identification information with the received key identification information to identify a first device transmitting the encrypted data; And obtaining an encryption key for the identified first device.
상기 방법은, 상기 제2 디바이스의 공개키를 상기 제1 디바이스로 송신하는 단계를 더 포함하고, 상기 제1 디바이스에 대한 암호화키를 획득하는 단계는, 상기 수신된 데이터 세트 내의 키식별정보를 상기 제2 디바이스의 공개키에 대응되는 개인키를 이용하여 복호화하여 상기 암호화키를 획득하는 단계를 포함할 수 있다.The method further includes transmitting a public key of the second device to the first device, and obtaining an encryption key for the first device comprises: key identification information in the received data set; And decrypting the private key corresponding to the public key of the second device to obtain the encryption key.
상기 방법은, 상기 제1 디바이스를 포함하는 적어도 하나의 디바이스들과 적어도 하나의 비공개키를 공유하는 단계를 더 포함하고, 상기 데이터 세트를 수신하는 단계는 상기 적어도 하나의 디바이스 중 상기 제1 디바이스로부터 암호화된 데이터 및 키식별정보를 수신하는 단계를 포함하고, 상기 키식별정보는 상기 제1 디바이스의 제1 난수, 및 상기 제1 난수로 암호화키를 키-해싱한(key-hashed) 값을 포함하고, 상기 암호화키는 상기 제1 디바이스와 공유한 비공개키와 상기 제1난수의 조합에 의해 생성된 정보이며, 상기 제1 디바이스에 대한 암호화키를 획득하는 단계는, 수신한 상기 제1 난수를 이용하여, 상기 적어도 하나의 비공개키와 상기 제1 난수를 각각 조합한 값들을 상기 제1 난수로 각각 키-해싱하여 적어도 하나의 매칭키들을 생성하는 단계; 상기 생성된 적어도 하나의 매칭키들과 수신한 상기 제1 난수로 상기 암호화키를 키-해싱한 값을 비교하여 상기 데이터 세트를 송신한 제1 디바이스를 식별하는 단계; 및 상기 제1 디바이스의 암호화키를 획득하는 단계를 포함할 수 있다.The method further comprises sharing at least one private key with at least one device including the first device, and receiving the data set from the first one of the at least one device. Receiving encrypted data and key identification information, wherein the key identification information includes a first random number of the first device and a value key-hashed of an encryption key with the first random number. The encryption key is information generated by a combination of a private key shared with the first device and the first random number. The acquiring an encryption key for the first device may include receiving the received first random number. Generating at least one matching key by key-hashing each of the combination values of the at least one private key and the first random number into the first random number; Comparing the generated at least one matching key with a value obtained by key-hashing the encryption key with the received first random number to identify a first device transmitting the data set; And obtaining an encryption key of the first device.
상기 암호화키는 상기 키식별정보를 상기 제2 디바이스의 식별 넘버로 나눈 몫 또는 나머지 중 적어도 하나에 기초하여 결정될 수 있다.The encryption key may be determined based on at least one of a quotient or the remainder obtained by dividing the key identification information by an identification number of the second device.
상기 데이터 세트는 메시지 인증 코드(message authentication code)를 더 포함하고, 상기 메시지 인증 코드는 상기 획득한 암호화키가 제 1 디바이스가 송신한 암호화 키와 동일한 암호화키인지를 여부를 확인하기 위해 이용될 수 있다.The data set further includes a message authentication code, wherein the message authentication code may be used to confirm whether the obtained encryption key is the same encryption key sent by the first device. have.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로써, 본 개시의 일부 실시예는 상기 방법을 구현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.As a technical means for achieving the above-described technical problem, some embodiments of the present disclosure provide a computer-readable recording medium recording a program for implementing the method.
상기와 같은 종래 기술의 문제를 해결하기 위한 일부 실시예는, 암호화된 데이터를 송신하는 제1 디바이스로써, 암호화키를 생성하고, 상기 생성된 암호화키를 이용하여 키식별정보를 생성하고 데이터를 암호화하는 제어부; 상기 암호화된 데이터 및 상기 키식별정보를 포함하는 데이터 세트를 제2 디바이스로 송신하는 송수신부를 포함할 수 있다.Some embodiments for solving the problems of the prior art, as a first device for transmitting encrypted data, generating an encryption key, using the generated encryption key to generate key identification information and encrypt the data A control unit; And a transmission / reception unit configured to transmit a data set including the encrypted data and the key identification information to a second device.
상기 키식별정보는 상기 제2 디바이스가 식별 할 수 있는 상기 제1 디바이스의 정보 또는 상기 암호화키를 식별할 수 있는 정보를 포함할 수 있다.The key identification information may include information of the first device that can be identified by the second device or information that can identify the encryption key.
상기 송수신부는 상기 제1 디바이스의 공개키 및 제1 난수를 제2 디바이스로 전송하고 상기 제2 디바이스로부터 상기 제2 디바이스의 공개키 및 제2 난수를 수신하고, 상기 제어부는 상기 제1 디바이스의 공개키 및 상기 제2 디바이스의 공개키를 이용하여 상기 암호화키를 생성하고, 상기 키식별정보는 상기 제1 난수, 제2 난수 및 상기 암호화키를 이용하여 생성되며, 상기 키식별정보는 상기 제 1 난수 또는 제 2 난수에 기초하여 상기 제 1 디바이스를 식별할 수 있는 정보를 포함할 수 있다.The transceiver transmits the public key and the first random number of the first device to the second device and receives the public key and the second random number of the second device from the second device, the control unit is public of the first device Generate the encryption key using a key and a public key of the second device, the key identification information is generated using the first random number, the second random number and the encryption key, the key identification information is the first It may include information for identifying the first device based on a random number or a second random number.
상기 송수신부는 제 2 디바이스로부터 상기 제2 디바이스의 공개키를 수신하고, 상기 키식별정보는 상기 제2 디바이스의 공개키를 이용하여 상기 암호화키를 암호화하여 생성될 수 있다.The transceiver may receive a public key of the second device from a second device, and the key identification information may be generated by encrypting the encryption key using the public key of the second device.
상기 송수신부는 상기 제2 디바이스와 비공개키를 공유하고, 상기 제어부는 상기 비공개키 및 제1 난수를 이용하여 상기 암호화키를 생성하고, 상기 키식별정보는 상기 제1 난수 및 상기 제1 난수와 상기 암호화키를 조합한 값을 상기 제1 난수로 키-해싱한 값일 수 있다.The transmitter / receiver shares the private key with the second device, the controller generates the encryption key using the private key and the first random number, and the key identification information includes the first random number and the first random number. The combined value of encryption keys may be key-hashed with the first random number.
상기 암호화키는 상기 제1 디바이스의 식별넘버 및 상기 제2 디바이스의 식별넘버보다 작은 난수를 포함하고, 상기 키식별정보는 상기 제1 디바이스의 식별넘버와 상기 제2 디바이스의 식별넘버의 곱 또는 최대 공약수에 상기 난수를 더한 값을 포함할 수 있다.The encryption key includes a random number smaller than an identification number of the first device and an identification number of the second device, and the key identification information is a product or maximum of an identification number of the first device and an identification number of the second device. The common factor may include a value obtained by adding the random number.
상기와 같은 종래 기술의 문제를 해결하기 위한 일부 실시예는, 암호화된 데이터를 수신하는 제2 디바이스로써, 암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 제1 디바이스로부터 수신하는 송수신부; 상기 키식별정보를 이용하여 암호화키를 획득하고, 상기 암호화키를 이용하여 상기 수신된 암호화된 데이터를 복호화하는 제어부를 포함하며, 상기 키식별정보는 상기 제2 디바이스가 식별 할 수 있는 상기 제1 디바이스의 정보 또는 상기 암호화키를 식별할 수 있는 정보를 포함할 수 있다.Some embodiments for solving the problems of the prior art, the second device for receiving encrypted data, including a transceiver for receiving a data set including the encrypted data and the key identification information from the first device; And a controller configured to obtain an encryption key using the key identification information and to decrypt the received encrypted data using the encryption key, wherein the key identification information is identified by the second device. It may include information of a device or information for identifying the encryption key.
상기 송수신부는 상기 제1 디바이스를 포함하는 적어도 하나의 디바이스로부터 적어도 하나의 공개키 및 적어도 하나의 난수를 각각 수신하고 상기 제2 디바이스의 공개키 및 제2 난수를 상기 적어도 하나의 디바이스로 각각 추가적으로 전송하며, 상기 제어부는 상기 수신된 적어도 하나의 공개키 및 상기 제2 디바이스의 공개키를 이용하여 상기 적어도 하나의 디바이스에 대한 적어도 하나의 암호화키를 생성하고, 상기 적어도 하나의 암호화키를 이용하여 적어도 하나의 키식별정보를 생성하고, 상기 생성된 적어도 하나의 키식별정보와 상기 수신된 키식별정보를 비교하여 상기 제1 디바이스를 식별(identify)하고, 상기 식별된 제1 디바이스에 대한 암호화키를 획득할 수 있다.The transceiver receives at least one public key and at least one random number from at least one device including the first device, respectively, and additionally transmits the public key and the second random number of the second device to the at least one device, respectively. The controller may generate at least one encryption key for the at least one device using the received at least one public key and the public key of the second device, and at least one of the at least one encryption key. Generate one key identification information, compare the generated at least one key identification information and the received key identification information to identify the first device, and identify the encryption key for the identified first device Can be obtained.
상기 송수신부는 상기 제2 디바이스의 공개키를 상기 제1 디바이스로 추가적으로 전송하고, 상기 제어부는 상기 키식별정보를 상기 제2 디바이스의 공개키에 대응되는 개인키를 이용하여 복호화하여 암호화키를 획득할 수 있다.The transceiver further transmits the public key of the second device to the first device, and the controller decrypts the key identification information using a private key corresponding to the public key of the second device to obtain an encryption key. Can be.
상기 송수신부는 제1 디바이스를 포함하는 적어도 하나의 디바이스들로부터 적어도 하나의 비공개키를 추가적으로 공유하고, 상기 적어도 하나의 디바이스 중 제1 디바이스로부터 암호화된 데이터 및 키식별정보를 수신하며, 상기 키식별정보는 상기 제1 디바이스로부터 수신한 제1 난수 및 상기 제1 난수로 암호화키를 키-해싱한(key-hashed) 값을 포함하고, 상기 암호화키는 상기 제1 디바이스의 비공개키와 상기 제1난수의 조합이에 의해 생성된 정보이며, 상기 제어부는 수신한 상기 제1 난수를 이용하여, 상기 적어도 하나의 비공개키와 상기 제1 난수를 각각 조합한 값들을 상기 제1 난수로 각각 키-해싱하여 적어도 하나의 매칭키들을 생성하고, 상기 생성된 적어도 하나의 매칭키들 중 수신한 상기 제1 난수로 상기 암호화키를 키-해싱한 값와 동일한 값을 탐색하여 상기 제1 디바이스를 식별하고, 상기 제1 디바이스와 공유한 비공개 키 및 상기 제1 난수를 이용하여 상기 암호화키를 획득할 수 있다.The transceiver further shares at least one private key from at least one device including a first device, receives encrypted data and key identification information from a first device of the at least one device, and the key identification information. Is a key-hashed value of an encryption key with the first random number received from the first device and the first random number, and the encryption key is a private key of the first device and the first random number. And the control unit is configured to key-hash the values obtained by combining the at least one private key and the first random number, respectively, by using the received first random number. A value equal to a value generated by generating at least one matching key and key-hashing the encryption key with the first random number received among the generated at least one matching key Navigate, it may identify the first device, and using the first device and the shared private key and the first random number acquisition of the encryption key.
상기 암호화키는 상기 키식별정보를 상기 제2 디바이스의 식별넘버로 나눈 몫에 의하여 결정될 수 있다.The encryption key may be determined by a share obtained by dividing the key identification information by an identification number of the second device.
상기와 같은 종래 기술의 문제를 해결하기 위한 일부 실시예는, 제1 디바이스에서 암호화된 데이터 송신을 위한 키를 공유하는 방법에 있어서, 통신 내역에 기초하여, 제 2 디바이스에게 송신한 제 1 디바이스의 제 1 공개키 및 상기 제 1 디바이스의 제 1 공개키에 대응하는 제 1 디바이스의 제 1 개인키가 저장되어 있는지 판단하는 단계; 판단 결과에 기초하여 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 개인키를 생성하는 단계; 상기 생성된 제 1 디바이스의 제 2 공개키를 상기 제 1 디바이스의 제 1 개인키로 서명하는 단계; 및 상기 서명된 제 2 공개키를 제 2 디바이스로 송신하는 단계를 포함할수 있다.Some embodiments for solving the above-described problems of the prior art, in a method of sharing a key for transmitting encrypted data in the first device, based on the communication history of the first device sent to the second device Determining whether a first public key and a first private key of the first device corresponding to the first public key of the first device are stored; Generating a second public key of the first device and a second private key of the first device based on the determination result; Signing the generated second public key of the first device with the first private key of the first device; And transmitting the signed second public key to a second device.
상기 방법은, 상기 제 2 디바이스로부터 상기 제 2 디바이스의 제 1 개인키로 서명된 제 2 공개키를 수신하는 단계; 통신 내역에 기초하여, 상기 제 2 디바이스의 제 1 개인키와 대응되는 상기 제 2 디바이스의 제 1 공개키를 획득하는 단계; 상기 획득한 제 2 디바이스의 제 1 공개키로 상기 서명된 제 2 공개키를 검증하는 단계; 및 상기 검증 결과에 기초하여 암호화 통신을 수행할 수 있다.The method includes receiving a second public key signed with the first private key of the second device from the second device; Obtaining a first public key of the second device corresponding to the first private key of the second device based on the communication details; Verifying the signed second public key with the obtained first public key of the second device; And encrypting communication based on the verification result.
상기 제 1 디바이스의 제 1 공개키 및 상기 제 1 디바이스의 제 1 개인키는, 이전의 상기 제 1 디바이스 및 상기 제 2 디바이스 간의 통신 수행시 사용된 키들일 수 있다. The first public key of the first device and the first private key of the first device may be keys used when performing communication between the first device and the second device.
상기 제 2 디바이스의 제 1 공개키 및 상기 제 2 디바이스의 제 1 개인키는, 이전의 상기 제 1 디바이스 및 상기 제 2 디바이스 간의 통신 수행시 사용된 키들일 수 있다.The first public key of the second device and the first private key of the second device may be keys used when performing communication between the first device and the second device.
상기 검증 결과에 기초하여 암호화 통신을 수행하는 단계는, 상기 검증 결과에 기초하여 암호화 키를 생성하거나, SAS(Short Authentication String) 계산을 수행할 수 있다.The performing of the encrypted communication based on the verification result may generate an encryption key or perform a short authentication string (SAS) calculation based on the verification result.
상기 방법은, 상기 제 1 디바이스의 제 1 개인키, 상기 제 1 디바이스의 제 1 공개키 및 상기 제 2 디바이스의 제 1 공개키를 삭제할 수 있다.The method may delete the first private key of the first device, the first public key of the first device, and the first public key of the second device.
상기 판단하는 단계는, 상기 통신 내역에 기초하여 이전 통신 수행시 상기 제 2 디바이스에게 송신한 제 1 난수가 저장되어 있는지 판단하는 단계를 포함하고, 상기 서명하는 단계는, 상기 통신 내역에 기초하여 이전 통신 수행시 상기 제 2 디바이스로부터 수신한 제 2 난수를 상기 제 1 디바이스의 제 1 개인키로 서명하는 단계를 포함하고, 상기 송신하는 단계는, 상기 서명된 제 2 난수를 송신하는 단계를 포함할 수 있다.The determining may include determining whether the first random number transmitted to the second device when the previous communication is performed is stored, based on the communication details, and wherein the signing is performed based on the communication details. Signing a second random number received from the second device with the first private key of the first device when performing the communication, wherein the transmitting may include transmitting the signed second random number have.
상기 서명된 제 2 공개키를 수신하는 단계는, 상기 제 2 디바이스의 제 1 개인키로 서명된 제 1 난수를 수신하는 단계를 포함하고, 상기 검증하는 단계는, 상 기 획득한 제 2 디바이스의 제 1 공개키로 상기 서명된 제 1 난수를 검증하는 단계를 포함할 수 있다.Receiving the signed second public key includes receiving a first random number signed with a first private key of the second device, and wherein the verifying comprises: obtaining a first second device of the obtained second device; And verifying the signed first random number with a first public key.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로써, 본 개시의 일부 실시예는 상기 방법을 구현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.As a technical means for achieving the above-described technical problem, some embodiments of the present disclosure provide a computer-readable recording medium recording a program for implementing the method.
상기와 같은 종래 기술의 문제를 해결하기 위한 일부 실시예는, 암호화된 데이터 송신을 위한 키를 공유하는 제 1 디바이스 있어서, 통신 내역에 기초하여, 제 2 디바이스에게 송신한 제 1 디바이스의 제 1 공개키 및 상기 제 1 디바이스의 제 1 공개키에 대응하는 제 1 디바이스의 제 1 개인키가 저장되어 있는지 판단하는 제어부; 판단 결과에 기초하여 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 개인키를 생성하고, 상기 생성된 제 1 디바이스의 제 2 공개키를 상기 제 1 디바이스의 제 1 개인키로 서명하는 암호화부; 및 상기 서명된 제 2 공개키를 제 2 디바이스로 송신하는 통신부를 포함할 수 있다.Some embodiments for solving the above-described problems of the prior art include a first device sharing a key for transmitting encrypted data, wherein the first disclosure of the first device transmitted to the second device based on the communication history; A control unit determining whether a key and a first private key of a first device corresponding to the first public key of the first device are stored; An encryption that generates a second public key of the first device and a second private key of the first device based on the determination result, and signs the generated second public key of the first device with the first private key of the first device part; And a communication unit configured to transmit the signed second public key to a second device.
상기 통신부는, 상기 제 2 디바이스로부터 상기 제 2 디바이스의 제 1 개인키로 서명된 제 2 공개키를 수신하고, 상기 암호화부는, 통신 내역에 기초하여, 상기 제 2 디바이스의 제 1 개인키와 대응되는 상기 제 2 디바이스의 제 1 공개키를 획득하고, 상기 획득한 제 2 디바이스의 제 1 공개키로 상기 서명된 제 2 공개키를 검증하고, 상기 제어부는, 상기 검증 결과에 기초하여 암호화 통신을 수행할 지 여부를 결정할 수 있다.The communication unit receives a second public key signed with the first private key of the second device from the second device, and the encryption unit corresponds to the first private key of the second device based on the communication details. Acquire a first public key of the second device, verify the signed second public key with the obtained first public key of the second device, and the controller performs encryption communication based on the verification result. Can be determined.
상기 제 1 디바이스의 제 1 공개키 및 상기 제 1 디바이스의 제 1 개인키는, 이전의 상기 제 1 디바이스 및 상기 제 2 디바이스 간의 통신 수행시 사용된 키들일 수 있다.The first public key of the first device and the first private key of the first device may be keys used when performing communication between the first device and the second device.
상기 제 2 디바이스의 제 1 공개키 및 상기 제 2 디바이스의 제 1 개인키는, 이전의 상기 제 1 디바이스 및 상기 제 2 디바이스 간의 통신 수행시 사용된 키들일 수 있다.The first public key of the second device and the first private key of the second device may be keys used when performing communication between the first device and the second device.
상기 암호화부는, 상기 검증 결과에 기초하여 암호화 키를 생성하거나, SAS(Short Authentication String) 계산을 수행할 수 있다.The encryption unit may generate an encryption key or perform a SAS (Short Authentication String) calculation based on the verification result.
상기 암호화부는, 상기 제 1 디바이스의 제 1 개인키, 상기 제 1 디바이스의 제 1 공개키 및 상기 제 2 디바이스의 제 1 공개키를 삭제할 수 있다.The encryption unit may delete the first private key of the first device, the first public key of the first device, and the first public key of the second device.
상기 제어부는, 상기 통신 내역에 기초하여 이전 통신 수행시 상기 제 2 디바이스에게 송신한 제 1 난수가 저장되어 있는지 판단하고, 상기 암호화부는, 상기 통신 내역에 기초하여 이전 통신 수행시 상기 제 2 디바이스로부터 수신한 제 2 난수를 상기 제 1 디바이스의 제 1 개인키로 서명하며, 상기 통신부는, 상기 서명된 제 2 난수를 송신할 수 있다.The controller determines whether the first random number transmitted to the second device when the previous communication is performed is stored based on the communication details, and the encryption unit is configured to perform a previous communication on the basis of the communication details. The received second random number is signed with the first private key of the first device, and the communication unit may transmit the signed second random number.
상기 통신부는, 상기 제 2 디바이스의 제 1 개인키로 서명된 제 1 난수를 수신하고, 상기 암호화부는, 상기 획득한 제 2 디바이스의 제 1 공개키로 상기 서명된 제 1 난수를 검증할 수 있다.The communication unit may receive a first random number signed with a first private key of the second device, and the encryption unit may verify the signed first random number with the obtained first public key of the second device.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present invention have been selected as widely used general terms as possible in consideration of the functions in the present invention, but this may vary according to the intention or precedent of the person skilled in the art, the emergence of new technologies and the like. In addition, in certain cases, there is also a term arbitrarily selected by the applicant, in which case the meaning will be described in detail in the description of the invention. Therefore, the terms used in the present invention should be defined based on the meanings of the terms and the contents throughout the present invention, rather than the names of the simple terms.
본 명세서에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.In the present specification, when a part is connected to another part, this includes not only a case in which the part is directly connected, but also a case in which another part is electrically connected in between. In addition, when a part includes a certain component, this means that the component may further include other components, not to exclude other components unless specifically stated otherwise. In addition, the terms "... unit", "module", etc. described in the specification mean a unit for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software. .
본 명세서에서 디바이스라 함은, 퍼스널 컴퓨터(Personal Computer), 휴대폰(Cellular Phone), 스마트 폰, TV, 타블렛, 노트북, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 디지털 카메라 등의 디바이스를 포함할 수 있고, 상기 예시에 제한되지 않으며, 다양한 디바이스를 포함할 수 있다. In the present specification, the device refers to a personal computer, a cellular phone, a smart phone, a TV, a tablet, a notebook, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, an MP3 player, and a digital device. It may include a device such as a camera, and is not limited to the above examples, may include a variety of devices.
본 명세서에서, 디바이스 키라 함은 공개키(비대칭키)를 포함할 수 있으며, 추가적으로 비밀키(대칭키)를 포함할 수 있다. 디바이스 키는 디바이스 간 암호화 통신을 위해 사용되는 데이터를 의미할 수 있다. 디바이스 키는 디바이스 내에 저장된 키 연산 알고리즘을 통해 생성될 수 있다. 키 연산 알고리즘은 AES, MD5, ECDH 등 다양한 알고리즘을 포함할 수 있으며, 상기 예시에 제한되지 않는다. 또한 키 연산 알고리즘은 당업자에게 자명하므로, 자세한 설명은 생략한다.In the present specification, the device key may include a public key (asymmetric key), and may further include a secret key (symmetric key). The device key may mean data used for encrypted communication between devices. The device key may be generated via a key operation algorithm stored in the device. The key operation algorithm may include various algorithms such as AES, MD5, ECDH, and the like, but is not limited to the above examples. In addition, since the key operation algorithm is apparent to those skilled in the art, a detailed description thereof will be omitted.
본 명세서에서 키의 교환이라 함은, 제 1 디바이스와 제 2 디바이스가 제 1 디바이스 키 또는 제 2 디바이스 키 중 적어도 하나를 송신 및 수신하는 절차를 의미할 수 있다. 즉, 두 디바이스 간에 두 디바이스의 키를 송수신하는 과정을 의미할 수 있다.In the present specification, the key exchange may refer to a procedure in which the first device and the second device transmit and receive at least one of the first device key and the second device key. That is, it may mean a process of transmitting and receiving keys of two devices between two devices.
본 명세서에서 키의 공유라 함은, 제 1 디바이스가 제 2 디바이스가 제 1 디바이스 키 및 제 2 디바이스 키뿐만 아니라 제 3 디바이스 키 또한 송수신하는 과정을 의미할 수 있다. 즉, 두 디바이스 이외의 다른 디바이스의 키를 송수신하는 과정을 의미할 수 있다. 물론 키 공유는 키 교환을 포함하는 개념일 수도 있다. 나아가, 키의 공유는 키를 협의하여 결정하는 것, 협의된 키를 전송하는 것, 협의된 키를 수신하는 것을 포함할 수 있으나, 이에 제한되는 것은 아니다.In the present specification, sharing of a key may mean a process in which a first device transmits and receives a third device key as well as a first device key and a second device key. That is, it may mean a process of transmitting and receiving keys of devices other than the two devices. Of course, key sharing may be a concept involving key exchange. Further, the sharing of the keys may include, but is not limited to, negotiating the key, transmitting the negotiated key, and receiving the negotiated key.
본 명세서에서 근거리 통신 방식이라 함은, 두 디바이스가 소정의 범위 내에 있을 때에만 통신이 가능한 통신 방식을 의미할 수 있으며, 예를 들어, 블루투스, NFC 등을 포함할 수 있다. 물론 상기 예시에 제한되는 것은 아니다.In the present specification, the short range communication method may mean a communication method capable of communicating only when two devices are within a predetermined range, and may include, for example, Bluetooth, NFC, and the like. Of course, it is not limited to the above example.
본 명세서에서 원거리 통신 방식이라 함은, 두 디바이스가 거리와 관계 없이 통신이 가능한 통신 방식을 의미할 수 있으며, SMS, 전화와 같은 셀룰러 네트워크를 이용한 통신 방식을 포함할 수 있다. 물론 상기 예시에 제한되는 것은 아니다.In the present specification, the telecommunication method may mean a communication method in which two devices can communicate regardless of a distance, and may include a communication method using a cellular network such as an SMS or a phone. Of course, it is not limited to the above example.
본 명세서에서, 난수는 함수에 의해 출력되는 값을 다르기 위해서 함수에 입력되는 값에 추가되는 임의의 값을 의미할 수 있다. 예를 들어, 해시 함수에 입력되는 값이 동일할 경우 출력되는 값은 항상 동일하므로, 출력 값을 다르게 하기 위해 입력 값에 난수를 추가하여 해시함수의 값을 구할 수 있다.In the present specification, a random number may mean an arbitrary value added to a value input to a function in order to vary a value output by a function. For example, if the value inputted to the hash function is the same, the output value is always the same. Therefore, to change the output value, the value of the hash function can be obtained by adding a random number to the input value.
본 명세서에서, 제1 디바이스의 난수를 제1 난수라 하고, 제2 디바이스의 난수를 제2 난수라 할 수 있다. 예를 들어, 제1 디바이스가 공개키를 전송하면서 생성한 임의의 값을 제1 난수라 할 수 있고, 제2 디바이스가 공개키를 전송하면서 생성한 임의의 값을 제2 난수라 할 수 있다.In this specification, the random number of the first device may be referred to as a first random number, and the random number of the second device may be referred to as a second random number. For example, an arbitrary value generated by the first device while transmitting the public key may be referred to as a first random number, and an arbitrary value generated by the second device while transmitting the public key may be referred to as a second random number.
본 명세서에서, 공개키(public key)란 제3자에게 배포될 수 있는 값으로서, 이 공개키로부터 생성된 개인키(private key)와 쌍을 이룰 수 있다. 또한 공개키와 개인키는 비대칭키 방식일 수 있다. 즉, 개인키란 제3자에게 배포되지 않는 값으로서, 공개키로 암호화된 데이터는 개인키에 의해서만 복호화될 수 있다. In this specification, a public key is a value that can be distributed to a third party, and can be paired with a private key generated from the public key. In addition, the public key and the private key may be an asymmetric key method. That is, the private key is a value that is not distributed to third parties, and data encrypted with the public key can be decrypted only by the private key.
본 명세서에서, 비공개키란 제3자에게 노출되지 않고, 송수신 디바이스, 즉 송신 디바이스와 수신 디바이스 사이에서 공유되는 값으로서, 대칭키의 의미를 가질 수 있다. In this specification, the private key is a value shared between a transmitting and receiving device, that is, a transmitting device and a receiving device, without being exposed to a third party, and may have a meaning of a symmetric key.
본 명세서에서, 데이터 세트는 데이터 제공자에 의해서 제공되어 특정 시간에 제작된 특정 데이터의 묶음을 의미할 수 있다.In the present specification, a data set may mean a bundle of specific data provided by a data provider and manufactured at a specific time.
본 명세서에서, 해시 함수(hashing function)는 어떤 입력 값에 대한 테이블 주소(table address)를 계산하기 위한 방법으로서, 주어진 입력 값으로부터 레코드가 저장되어 있는 주소를 산출해 낼 수 있는 수식을 의미할 수 있다. 해쉬함수는 동일한 입력에 대해서는 언제나 동일한 값을 출력한다. 해시함수의 특징은 입력값을 이용하여 출력값을 획득하는 것은 쉽지만, 출력값으로부터 입력값을 거꾸로 유추하는 것은 거의 불가능하다는 점이다. In the present specification, a hashing function is a method for calculating a table address for an input value, and may refer to a formula capable of calculating an address at which a record is stored from a given input value. have. The hash function always outputs the same value for the same input. The characteristic of the hash function is that it is easy to obtain the output value using the input value, but it is almost impossible to infer the input value backwards from the output value.
본 명세서에서, 키를 갖는 해시함수(keyed hash)는 기본 입력 값 외에도 키를 추가적으로 필요로 하는 함수를 의미할 수 있다. 키가 없는 해시 함수의 경우 주어진 입력 값을 아는 누구라도 해시 값을 계산할 수 있는 반면, 키를 갖는 해시 함수의 경우는 주어진 입력 값을 알더라도 키가 있는 사람만이 그 해시 값을 계산할 수 있다. 본 명세서에서, k라는 키를 갖는 해시함수는 fk(x)는 f(k,x)로 표현될 수도 있다. 또한, 본 명세서에서 fk(x)는 x를 k로 키-해싱한다(keyed hash)고 표현될 수도 있다. 또한 키를 갖는 해시 함수는 해시 함수 범위에 포함될 수 있다. In this specification, a keyed hash may mean a function that additionally requires a key in addition to a basic input value. In the case of a keyless hash function, anyone who knows the given input value can compute the hash value, while in the hash function with the key, only the person with the key can calculate the hash value even if the given input value is known. In the present specification, a hash function having a key of k may be represented by f k (x) as f (k, x). Also, f k (x) may be expressed herein as keyed hashing x to k. Also, a hashed function with keys can be included in the hash function scope.
본 개시에서, 암호화키는 데이터를 암호화하기 위한 정보를 포함할 수 있따. 로서, 예를 들어 암호화 키는, 이미지를 암호화하기 위한 스크램블키 등을 포함할 수 있으나 상기 예시에 제한되지 않는다. 암호화키는 랜덤하게 생성될 수 있고, 데이터를 송신하는 디바이스나 수신하는 디바이스의 공개키나 비밀키를 이용하여 생성될 수도 있다. 예를 들어, 제1 디바이스와 제2 디바이스의 키 교환과정에서 디피-헬만(D-H) 방식에 의해 생성되는 키를 이용하여 암호화키가 생성될 수 있다. 물론 상기 예시에 제한되지 않는다.In the present disclosure, the encryption key may include information for encrypting the data. As an example, the encryption key may include a scrambled key for encrypting an image, but is not limited to the above example. The encryption key may be randomly generated, or may be generated using a public key or a secret key of a device transmitting data or a receiving device. For example, an encryption key may be generated using a key generated by a Diffie-Hellman (D-H) method in a key exchange process of the first device and the second device. Of course, it is not limited to the above example.
본 명세서에서, 키식별정보는 암호화된 데이터를 송신하는 송신 디바이스와 수신 디바이스 간에서만 식별가능한 정보로서, 수신 디바이스는 키식별정보를 이용하여 송신 디바이스를 파악하여 암호화된 데이터를 복호화할 수 있다. 다만, 제3자는 키식별정보로부터 송신 디바이스 또는 수신 디바이스의 정보를 획득할 수 없다. 따라서, 본 발명의 일 실시예에 따르면, 송수신 디바이스의 프라이버시가 보장되는 효과를 가질 수 있다.In the present specification, the key identification information is information that can be identified only between the transmitting device and the receiving device that transmits the encrypted data, and the receiving device can identify the transmitting device by using the key identification information and decrypt the encrypted data. However, the third party cannot obtain the information of the transmitting device or the receiving device from the key identification information. Therefore, according to an embodiment of the present invention, the privacy of the transmission and reception device may be guaranteed.
상용 인터넷 메신저(IM)의 경우 IM에서 사용하는 ID는 전화번호나 이름이 아닌 다른 것을 사용하며 이를 IM서버에서 매핑시켜 수신 디바이스에게 데이터를 전달하게 된다. 그러므로 송신 디바이스와 수신 디바이스가 아닌 제3자가 공중(air)에서 패킷(packet)을 캡쳐하더라도, 일반적으로는 송/수신자의 정보를 알기 어렵다. In the case of a commercial Internet messenger (IM), the ID used by the IM uses something other than a phone number or a name, and the data is mapped to an IM server to deliver data to a receiving device. Therefore, even if a third party other than the transmitting device and the receiving device captures the packet in the air, it is generally difficult to know the information of the sender / receiver.
다만, IM을 이용한 통신 방식에서도 모든 통신 과정이 서버에서 수행되는 것은 아니다. 수신 디바이스가 수신한 패킷 내의 암호화 되지 않는 데이터(예를 들면, 메시지 정보)는 별도의 절차를 수행하지 않고도 확인이 가능하지만, 암호화된 데이터를 확인하기 위해서는 수신 디바이스가 복호화를 수행해야 한다. 따라서, IM을 이용한 통신 방식에서도 송신 디바이스는 복호화를 위해 송신 디바이스의 정보를 삽입하여 제공하게 된다. 따라서, 제3자가 패킷을 캡쳐하는 경우에는, 암호화된 데이터를 복호화할 수는 없지만 송수신 디바이스의 정보를 획득할 가능성을 배제할 수 없다. 띠리사. 일부 실시예에 따르면, 프라이버시 정보의 식별을 방지하기 위해 송수신 디바이스는 각 디바이스의 정보를 제3자가 알기 어렵도록 변환하거나, 대체하여 송신할 수 있다However, even in the communication method using IM, not all communication processes are performed in the server. Unencrypted data (for example, message information) in the packet received by the receiving device can be confirmed without performing a separate procedure, but the receiving device must perform decryption to confirm the encrypted data. Therefore, even in a communication method using IM, the transmitting device inserts and provides information of the transmitting device for decryption. Thus, when the third party captures the packet, the encrypted data cannot be decrypted but the possibility of acquiring the information of the transmitting and receiving device cannot be excluded. Tirissa. According to some embodiments, in order to prevent identification of privacy information, the transceiving device may convert or replace information of each device so that it is difficult for a third party to know.
도 1은 일부 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 제1 디바이스와 제2 디바이스 사이에서 전송하거나 수신하는 디바이스를 도시화한 것이다.1 illustrates a device for transmitting or receiving encrypted data between a first device and a second device that prevents identification of a transceiving device in accordance with some embodiments.
일부 실시예에 따르면, 제 1 디바이스 및 제 2 디바이스는 각각 송신 디바이스 및 수신 디바이스일 수 있으며, 제 1 디바이스와 제 2 디바이스는 키식별정보를 사용함으로써, 제 3 자가 송신 디바이스 또는 수신 디바이스에 대한 정보를 식별할 수 없도록 한다.According to some embodiments, the first device and the second device may be a transmitting device and a receiving device, respectively, and the first device and the second device use the key identification information, thereby allowing the third party to know information about the transmitting device or the receiving device. Make it impossible to identify.
단계 101에서, 데이터를 송신하는 제1 디바이스와 데이터를 수신하는 제2 디바이스는 서로의 키를 교환한다. 즉, 제1 디바이스는 제2 디바이스로부터 제2 디바이스의 키를 수신하고, 제1 디바이스의 키를 전송할 수 있다. 제 1 디바이스의 키 및 제 2 디바이스의 키는 공개키 또는 비밀키(비공개키)를 포함할 수 있다. 또한 제 1 디바이스와 제 2 디바이스는 각각의 디바이스에서 생성된 소정의 값(예를 들면, 난수)을 키와 함께 교환할 수 있다.In step 101, a first device transmitting data and a second device receiving data exchange keys with each other. That is, the first device may receive a key of the second device from the second device and transmit the key of the first device. The key of the first device and the key of the second device may comprise a public key or a private key (private key). Also, the first device and the second device may exchange a predetermined value (for example, a random number) generated in each device with a key.
단계 102에서, 일부 실시예에 다르면, 제1 디바이스는 암호화키를 생성할 수 있다. 암호화키는 제2 디바이스와 미리 교환한 공개키 또는 비밀키를 이용하여 생성될 수 있으나, 랜덤하게 생성될 수도 있다. 일부 실시예에 따르면, 암호화키는 제 1 디바이스와 제 2 디바이스 간에 송신되는 데이터를 암호화 하는데 사용되는 키 데이터를 포함할 수 있다.In step 102, according to some embodiments, the first device may generate an encryption key. The encryption key may be generated using a public key or a secret key exchanged with the second device in advance, or may be randomly generated. According to some embodiments, the encryption key may include key data used to encrypt data transmitted between the first device and the second device.
또한 단계 102에서, 제1 디바이스는 암호화키를 이용하여 송신할 데이터를 암호화할 수 있다. 또한 제 1 디바이스는 키식별정보를 생성할 수 있다. 일부 실시예에 따른키식별정보의 생성은 데이터의 암호화보다 먼저 수행되거나 후에 수행될 수도 있다. In operation 102, the first device may encrypt data to be transmitted using an encryption key. In addition, the first device may generate key identification information. In some embodiments, the key identification information may be generated before or after encryption of the data.
단계 103에서, 제 1 디바이스는 단계 102에서 생성한 키식별정보와 암호화된 데이터를 송신할 수 있다. 일부 실시예에 따르면, 제 1 디바이스는 생성된 키식별정보와 암호화된 데이터를 한꺼번에 또는 각각 별도로 송신할 수 있다.In operation 103, the first device may transmit key identification information and encrypted data generated in operation 102. According to some embodiments, the first device may transmit the generated key identification information and the encrypted data all at once or separately.
단계 104에서, 제 2 디바이스는 수신된 키식별정보를 이용하여, 송신한 제1 디바이스를 식별할 수 있다. 또한 제 2 디바이스는 키식별정보에 기초하여 암호화키를 도출해 내거나, 그러나 제 1 디바이스 또는 제 2 디바이스 이외의 다른 디바이스(예를 들면, 제3자)는 키식별정보만으로는 송신디바이스나 수신 디바이스를 식별할 수 없다. In operation 104, the second device may identify the transmitted first device by using the received key identification information. In addition, the second device derives the encryption key based on the key identification information, but the device other than the first device or the second device (for example, a third party) identifies the transmitting device or the receiving device only with the key identification information. Can not.
일부 실시예에 따르면, 키식별정보는 제2 디바이스가 식별할 수 있는 제1 디바이스의 식별정보(예를 들어, 아이디, 이름, 전화번호, 디바이스의 키 등)를 제2 디바이스가 알아볼 수 있는 형태로 암호화한 것일 수 있다. 또한 일부 실시예에 따르면, 키식별정보는 단계 101에서 교환된 제 1 디바이스의 키, 제 2 디바이스의 키, 각각의 디바이스에서 생성된 소정의 값, 암호화키 중 적어도 하나에 기초하여 생성될 수 있다.According to some embodiments, the key identification information is in a form in which the second device can recognize identification information (eg, ID, name, phone number, device key, etc.) of the first device that the second device can identify. May be encrypted. According to some embodiments, the key identification information may be generated based on at least one of a key of the first device, a key of the second device, a predetermined value generated in each device, and an encryption key exchanged in step 101. .
도 2는 일부 실시예에 따른 제1 디바이스에서 제2 디바이스로 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 송신하는 방법을 도시하는 흐름도이다.2 is a flow diagram illustrating a method of transmitting encrypted data that prevents identification of a transceiving device from a first device to a second device in accordance with some embodiments.
단계 201에서, 제1 디바이스는 암호화키를 생성한다. 암호화키는 제2 디바이스에게 송신한 제 1 디바이스의 키 또는 제 2 디바이스로부터 수신된 제 2 디바이스 키에 기초하여 생성될 수도 있고, 난수에 기초하여 생성될 수도 있다. In step 201, the first device generates an encryption key. The encryption key may be generated based on a key of the first device sent to the second device or a second device key received from the second device, or may be generated based on a random number.
또한 일부 실시예에 따르면, 제1 디바이스는 제2 디바이스와 디바이스 키를 교환할 수도 있다. 교환되는 디바이스 키는 공개키 또는 비밀키를 포함할 수 있다. 또한 제 1 디바이스 및 제 2 디바이스는 난수를 생성하고 생성된 난수를 각 디바이스의 키와 함께 교환할 수도 있다. According to some embodiments, the first device may exchange a device key with the second device. The device key exchanged may include a public key or a private key. The first device and the second device may also generate a random number and exchange the generated random number with a key of each device.
일부 실시예에 따르면, 암호화키의 생성은 제 1 디바이스와 제 2 디바이스 간의 디바이스의 키 교환 이전 또는 이후에 수행될 수 있다. 암호화키는 교환된 디바이스의 키 또는 교환된 난수에 기초하여 생성될 수 있다.According to some embodiments, the generation of the encryption key may be performed before or after the key exchange of the device between the first device and the second device. The encryption key may be generated based on the key of the exchanged device or the random number exchanged.
단계 203에서, 제1 디바이스는 생성된 암호화키를 이용하여 키식별정보를 생성하고 암호화된 데이터를 생성할 수 있다.In operation 203, the first device may generate key identification information using the generated encryption key and generate encrypted data.
일부 실시예에 따르면, 키식별정보는 제2 디바이스가 제 1 디바이스를 식별할 수 있게 한다. 다시 말해서, 제 2 디바이스 또한 제 1 디바이스와 교환한 디바이스 키 및 난수에 기초하여 키식별정보를 생성할 수 있으므로, 제 2 디바이스는 제 1 디바이스를 식별할 수 있다. 제 2 디바이스는 키식별정보에 기초하여 암호화키를 획득할 수 있다. 암호화키일부 실시예에 따르면, 제 1 디바이스와 제 2 디바이스는 디바이스의 키를 교환하지 않을 수도 있다. 즉, 제 1 디바이스는 디바이스의 키 교환 없이 암호화키 제 1 디바이스의 식별 정보와 제 2 디바이스의 식별 정보에 기초하여 키식별정보를 생성할 수도 있다. According to some embodiments, the key identification information enables the second device to identify the first device. In other words, since the second device can also generate key identification information based on the device key and the random number exchanged with the first device, the second device can identify the first device. The second device may obtain an encryption key based on the key identification information. Encryption Key According to some embodiments, the first device and the second device may not exchange keys of the device. That is, the first device may generate key identification information based on the identification information of the encryption key first device and the identification information of the second device without exchanging a key of the device.
또한 일부 실시예에 따르면, 제 1 디바이스는 제 1 디바이스와 제 2 디바이스가 사용하는 어플리케이션의 정보에 기초하여 키식별정보를 생성할 수도 있다. 예를 들면, 제 1 디바이스는 제 2 디바이스와 사용하는 소정의 메신저 어플리케이션의 정보에 기초하여 키식별정보를 생성할 수도 있다.According to some embodiments, the first device may generate key identification information based on information of an application used by the first device and the second device. For example, the first device may generate key identification information based on information of a predetermined messenger application used with the second device.
암호화키제 2 디바이스는 키식별정보 및 제 2 디바이스의 식별 정보를 이용해서, 암호화키를 획득할 수 있다. 예를 들면, 디바이스의 식별정보는 디바이스의 전화번호, MAC 주소, IP 주소, 디바이스 제조번호 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다. 일부 실시예에 따르면, 제 1 디바이스가 암호화키를 이용하여 데이터를 암호화하여 암호화된 데이터를 생성하는 단계는 공지된 여러 방법에 의해 구현될 수 있다. 예를 들어 제 1 디바이스는 데이터를 보호하기 위해 소정의 양식에 따라서 데이터를 혼합하거나 또는 무질서하게 재배열(암호화)하여 소정의 키에 의해서만 복호화될 수 있도록 데이터를 처리할 수 있다.The encryption key second device may obtain the encryption key using the key identification information and the identification information of the second device. For example, the identification information of the device may include a phone number, a MAC address, an IP address, a device manufacturing number, etc. of the device, but is not limited to the above example. According to some embodiments, the step of encrypting the data using the encryption key to generate the encrypted data by the first device may be implemented by various known methods. For example, the first device may process the data so that it can be decrypted only by a predetermined key by mixing or randomly rearranging (encrypting) the data according to a predetermined form in order to protect the data.
또한 일부 실시예에 따르면, 제 1 디바이스는 데이터를 전송할 때 데이터를 스크램블링함으로써, 특정한 키를 가지고 있는 자만이 원 데이터를 복원할 수 있도록 데이터를 처리할 수 있다.. Further, according to some embodiments, the first device may process the data so that only the person with a specific key can restore the original data by scrambling the data when transmitting the data.
또한 일부 실시예에 따르면, 일부 실시예에 따른제 1 디바이스의 키식별정보의 생성 단계와 암호화된 데이터의 생성 단계의 순서는 구현 예에 따라 변경될 수 있다.In addition, according to some embodiments, the order of generating key identification information of the first device and generating encrypted data may be changed according to an embodiment.
단계 205에서, 제1 디바이스는 생성된 키식별정보 및 암호화된 데이터를 포함하는 데이터 세트를 제2 디바이스로 송신할 수 있다. 또한 제 1 디바이스가 송신하는 데이터가 이미지 데이터인 경우, 키식별정보는 이미지 데이터 내에 삽입될 수도 있다.In operation 205, the first device may transmit a data set including the generated key identification information and the encrypted data to the second device. In addition, when the data transmitted by the first device is image data, the key identification information may be inserted into the image data.
일부 실시예에 따르면, 제 1 디바이스는 암호화키를 제 1 디바이스의 키 또는 제 2 디바이스의 키로 암호화 하여 송신할 수도 있다. 예를 들면, 제 1 디바이스는 제 1 디바이스의 공유 키를 이용하여 암호화키를 암호화하여 제 2 디바이스에게 제공할 수 있다. 제 2 디바이스는 키식별정보에 기초하여 제 1 디바이스를 식별하고, 제 1 디바이스의 공유 키를 이용하여 제 1 디바이스의 공유 키로 암호화된 암호화키를 복호화할 수 있다. According to some embodiments, the first device may transmit the encryption key by encrypting it with a key of the first device or a key of the second device. For example, the first device may encrypt and provide the encryption key to the second device using the shared key of the first device. The second device may identify the first device based on the key identification information, and decrypt the encryption key encrypted with the shared key of the first device using the shared key of the first device.
일부 실시예에 따르면, 제 1 디바이스는 제 2 디바이스를 포함한 복수의 디바이스에게 데이터 세트를 송신할 수도 있다. 제 1 디바이스는 제 2 디바이스를 포함한 복수의 디바이스 각각의 디바이스 키로 암호화 키를 암호화하고, 키식별 정보와 함께 제 2 디바이스를 포함한 복수의 디바이스 각각에게 송신할 수 있다. According to some embodiments, the first device may transmit a data set to a plurality of devices, including the second device. The first device may encrypt an encryption key with a device key of each of the plurality of devices including the second device, and transmit the encryption key to each of the plurality of devices including the second device together with the key identification information.
또한 일부 실시예에 따르면, 제 1 디바이스는 제 2 디바이스의 디바이스 키를 이용하여 암호화키를 암호화하여 제 2 디바이스에게 제공할 수 있다. 제 2 디바이스는 제 2 디바이스의 키를 이용하여 암호화된 암호화키를 복호화할 수 있다. According to some embodiments, the first device may encrypt the encryption key using the device key of the second device and provide the encryption key to the second device. The second device may decrypt the encrypted encryption key using the key of the second device.
도 3은 일부 실시예에 따른 제2 디바이스에서 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 제1 디바이스로부터 수신하는 방법을 도시하는 흐름도이다.3 is a flow diagram illustrating a method of receiving encrypted data from a first device that prevents identification of a transceiving device in a second device in accordance with some embodiments.
단계 301에서, 제2 디바이스는 제1 디바이스를 포함하는 적어도 하나의 디바이스와 디바이스 키를 교환할 수 있다. 일부 실시예에 따르면 디바이스 키는 디바이스의 공개키 또는 디바이스의 비공개키를 포함할 수 있다. 또한 일부 실시예에 따르면, 디바이스 키의 교환이란 각자의 키를 서로 전송하고 수신하는 것 중 적어도 하나를 의미할 수 있다. 예를 들어, 제1 디바이스가 제1 디바이스의 디바이스 키를 제2 디바이스로 전송하고 제2 디바이스로부터 제2 디바이스의 디바이스 키를 수신하는 것을 키의 교환이라고 할 수 있다. 또한, 제1 디바이스가 자신의 키를 전송할 필요가 없다면, 제2 디바이스의 디바이스 키를 제 2 디바이스로부터 수신하는 것을 키의 교환이라고 할 수 있다.In operation 301, the second device may exchange a device key with at least one device including the first device. According to some embodiments, the device key may include the device's public key or the device's private key. Further, according to some embodiments, the exchange of device keys may mean at least one of transmitting and receiving respective keys. For example, the first device may transmit a device key of the first device to the second device and receive a device key of the second device from the second device. In addition, if the first device does not need to transmit its own key, receiving the device key of the second device from the second device may be referred to as a key exchange.
또한 일부 실시예에 따르면, 제 2 디바이스는 제 1 디바이스와 난수와 같은 소정의 값을 교환할 수도 있다.According to some embodiments, the second device may exchange a predetermined value, such as a random number, with the first device.
단계 303에서, 제2 디바이스는 제1 디바이스로부터 암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 수신할 수 있다. 제 2 디바이스는 데이터 세트에 포함된 키식별정보에 기초하여 수신한 데이터 세트가 제 1 디바이스가 송신 및 암호화한 데이터 세트임을 확인할 수 있다. 다만 다른 디바이스(제3자)는 제 1 디바이스와 디바이스 키 또는 소정의 값을 교환한 바 없으므로, 데이터 세트 내에 포함된 키 식별 정보를 획득하더라도, 데이터 세트의 송신 디바이스에 관한 정보를 획득할 수 없다.In operation 303, the second device may receive a data set including encrypted data and key identification information from the first device. The second device may determine that the received data set is a data set transmitted and encrypted by the first device based on the key identification information included in the data set. However, since the other device (third party) has not exchanged the device key or the predetermined value with the first device, even if the key identification information included in the data set is acquired, the information about the transmitting device of the data set cannot be obtained. .
일부 실시예에 따르면, 데이터 세트는 메시지 인증 코드(MAC: message authentication code)를 더 포함할 수 있다. 메시지 인증 코드는 데이터를 수신한 제2 디바이스에서 획득한 암호화키가 올바른 암호화키인지를 판단하기 위해 이용될 수 있다According to some embodiments, the data set may further include a message authentication code (MAC). The message authentication code may be used to determine whether the encryption key obtained at the second device receiving the data is the correct encryption key.
단계 305에서, 제2 디바이스는 키식별정보를 이용하여 암호화키를 획득할 수 있다. 예를 들어, 제 2 디바이스는 키식별정보를 통하여 데이터를 송신한 제1 디바이스를 식별하고, 제 1 디바이스와의 약속에 기초하여 생성된 암호화키를 획득할 수 있다. In operation 305, the second device may acquire an encryption key using the key identification information. For example, the second device may identify the first device that has transmitted data through the key identification information and obtain an encryption key generated based on an appointment with the first device.
일부 실시예에 따르면, 제 2 디바이스는 제1 디바이스의 디바이스 키 및 제2 디바이스의 디바이스 키에 기초하여 암호화키를 생성할 수 있다. 또한, 일부 실시예에 따르면, 암호화키가 제 2 디바이스의 디바이스 키로 암호화되어 있는 경우에는, 제2 디바이스는 제 2 디바이스 자신의 디바이스 키만으로 를 생성할 수도 있다. 또한, 암호화키 생성을 위해 키 교환과정에서 서로 교환된 소정의 값이필요할 수 있다.According to some embodiments, the second device may generate an encryption key based on the device key of the first device and the device key of the second device. Further, according to some embodiments, when the encryption key is encrypted with the device key of the second device, the second device may generate with only the device key of the second device itself. In addition, a predetermined value exchanged with each other in a key exchange process may be required for generating an encryption key.
단계 307에서, 제2 디바이스는 암호화키를 이용하여 암호화된 데이터를 복호화할 수 있다. 제 1 디바이스는 데이터를 보호하기 위해 소정의 양식에 따라서 데이터를 혼합 또는 무질서하게 재배열(암호화)하여 특정한 키에 의해서만 복호화될 수 있는 암호화된 데이터가 송신하였으며, 제 2 디바이스는 단계 305에서 획득한 암호화키를 이용하여 데이터를 복호화 할 수 있다.In operation 307, the second device may decrypt the encrypted data using the encryption key. In order to protect the data, the first device mixed or randomly rearranges (encrypts) the data in accordance with a predetermined form to transmit encrypted data which can only be decrypted by a specific key, and the second device acquires in step 305 Data can be decrypted using the encryption key.
도 4는 일부 실시예에 따른 공개키 및 난수를 이용하여 암호화된 데이터를 송신하는 방법을 도시하는 흐름도이다.4 is a flowchart illustrating a method of transmitting encrypted data using a public key and a random number according to some embodiments.
단계 401에서, 제1 디바이스는 제1 디바이스의 공개키 및 제1 난수를 제2 디바이스로 전송하고 제2 디바이스로부터 상기 제2 디바이스의 공개키 및 제2 난수를 수신한다. 제1 디바이스와 제2 디바이스의 공개키는 암호화키를 생성하기 위해 사용되며, 제1 난수와 제2 난수는 암호화키를 이용하여 키식별정보를 생성하기 위해 사용될 수 있다. In step 401, the first device transmits the public key and the first random number of the first device to the second device and receives the public key and the second random number of the second device from the second device. The public keys of the first device and the second device are used to generate an encryption key, and the first random number and the second random number may be used to generate key identification information using the encryption key.
단계 403에서, 제1 디바이스는 제1 디바이스의 공개키 및 제2 디바이스의 공개키를 이용하여 암호화키(kab)를 생성한다. 일부 실시예에 따른 암호화키는 디피-헬만(D-H) 방식에 의해 제1 디바이스와 제2 디바이스의 공개키를 이용하여 생성될 수 있으며 상기 예시에 제한되지 않는다. In step 403, the first device generates an encryption key k ab using the public key of the first device and the public key of the second device. The encryption key according to some embodiments may be generated using public keys of the first device and the second device by means of a Diffie-Hellman (DH) scheme, but is not limited thereto.
단계 405에서, 제1 디바이스는 생성된 암호화키를 이용하여 데이터를 암호화한다. In step 405, the first device encrypts the data using the generated encryption key.
단계 407에서, 제1 디바이스는 암호화키(kab) 및 상기 제1 난수, 제2 난수를 이용하여 키식별정보(kid)를 생성한다. 키식별정보(kid)는 제1 난수와 제2 난수를 조합한 값을 암호화키로 해싱한 값일 수 있다. 예를 들면, 키식별정보는 kid =|nonce_a||nonce_b| kab 로 표현될 수 있으며, 상기 예시에 제한되지 않는다. In operation 407, the first device generates key identification information k id using an encryption key k ab and the first random number and the second random number. The key identification information k id may be a value obtained by hashing a value obtained by combining the first random number and the second random number with an encryption key. For example, the key identification information is k id = | nonce_a || nonce_b | k ab , but is not limited to the above examples.
단계 409에서, 제1 디바이스는 키식별정보 및 암호화된 데이터를 제2 디바이스로 송신한다. In step 409, the first device transmits the key identification information and the encrypted data to the second device.
도 5는 일부 실시예에 따른 공개키 및 난수를 이용하여 암호화된 데이터를 수신하는 방법을 도시하는 흐름도이다.5 is a flowchart illustrating a method of receiving data encrypted using a public key and a random number according to some embodiments.
단계 501에서, 제2 디바이스는 제1 디바이스를 포함하는 복수의 외부 디바이스들과 공개키 및 난수를 각각 교환한다. 또한 암호화된 데이터의 송신이 예상되는 디바이스가 제1 디바이스뿐인 경우, 제2 디바이스는 제1 디바이스와의 사이에서만 공개키 및 난수를 교환할 수 있다.In step 501, the second device exchanges a public key and a random number with a plurality of external devices including the first device, respectively. In addition, when the only device expected to transmit encrypted data is the first device, the second device may exchange the public key and the random number only with the first device.
단계 503에서, 제2 디바이스는 수신된 복수의 공개키를 이용하여 복수의 디바이스에 대한 복수의 암호화키를 생성한다. 예를 들어, 복수의 암호화키는 제1 디바이스의 공개키를 이용한 암호화키를 포함할 수 있다. 제1 디바이스의 공개키를 이용한 암호화키는 제1 디바이스로부터 수신된 암호화된 데이터를 복호화할 때 사용될 수 있다.In step 503, the second device generates a plurality of encryption keys for the plurality of devices using the received plurality of public keys. For example, the plurality of encryption keys may include an encryption key using a public key of the first device. The encryption key using the public key of the first device may be used when decrypting the encrypted data received from the first device.
단계 505에서, 생성된 복수의 암호화키를 이용하여 복수의 키식별정보를 각각 생성한다. In step 505, a plurality of key identification information is generated using the generated plurality of encryption keys, respectively.
단계 507에서, 제2 디바이스는 생성된 복수의 키식별정보와 수신된 키식별정보를 비교하여 데이터를 송신한 제1 디바이스 키를 식별(identify)한다. In operation 507, the second device compares the generated key identification information with the received key identification information to identify a first device key that has transmitted data.
일부 실시예에 따르면, 키의 식별이라 함은 제2 디바이스가 키식별정보에 기초하여 단계 501에서 제 1 디바이스를 포함하는 복수의 디바이스와 교환한 복수의 공개키 중에 제1 디바이스의 공개키를 선택하거나, 제 1 디바이스의 공개키를 이용한 암호화키가 어떤 것인지를 선택하는 동작을 포함할 수 있다.According to some embodiments, identification of a key selects a public key of the first device from among a plurality of public keys exchanged with a plurality of devices including the first device in step 501 based on the key identification information. Or selecting an encryption key using the public key of the first device.
단계 509에서, 제 2 디바이스는 식별된 제 1 디바이스에 대응하는 암호화키를 획득할 수 있다. 다시 말해서, 제 2 디바이스는 단계 507에서의 제 1 디바이스 키를 식별하고, 식별 결과에 기초하여 제 1 디바이스에 대응하는 암호화 키를 선택 또는 획득할 수 있다.In step 509, the second device may obtain an encryption key corresponding to the identified first device. In other words, the second device may identify the first device key in step 507 and select or obtain an encryption key corresponding to the first device based on the identification result.
단계 511에서, 제2 디바이스는 식별된 제1 디바이스에 대한 암호화키를 이용하여 제 1 디바이스가 송신한 암호화된 데이터를 복호화한다.In step 511, the second device decrypts the encrypted data transmitted by the first device using the encryption key for the identified first device.
도 6은 일부 실시예에 따른 제1 디바이스가 제2 디바이스의 공개키를 이용하여 암호화키를 송신하는 방법을 도시한 흐름도이다.6 is a flowchart illustrating a method of transmitting, by a first device, an encryption key using a public key of a second device.
단계 601에서, 제1 디바이스가 제2 디바이스의 공개키를 수신한다. 물론, 제1 디바이스도 제 1 디바이스의 공개키를 제2 디바이스로 전송할 수 있다. 단계 602에서, 제1 디바이스가 데이터를 암호화하기 위한 암호화키를 생성한다. 암호화키는 랜덤하게 생성될 수 있다. 또한, 암호화키는 제1 디바이스 및 제2 디바이스 중 적어도 하나의 공개키에 기초하여 생성될 수 있다.In step 601, the first device receives the public key of the second device. Of course, the first device may also transmit the public key of the first device to the second device. In step 602, the first device generates an encryption key for encrypting the data. The encryption key can be randomly generated. In addition, the encryption key may be generated based on at least one public key of the first device and the second device.
단계 603에서, 제1 디바이스가 제2 디바이스의 공개키(Pr2)를 이용하여 암호화키(g)를 암호화하여 키식별정보(kid)를 생성한다. 일부 실시예에 따르면, 키식별정보라 함은, 암호화키를 암호화하여 생성된 정보일 수 있다. 예를 들면, 키식별정보는 kid=E_Pr2(g)로 표현될 수 있다. 또한, 일부 실시예에 따르면, 키식별정보는 입력을 암호화키로 하고 해시함수 키를 제 2 디바이스의 공개키로 하는, 키를 갖는 해시함수(keyed hash)의 결과값일 수 있다. 예를 들면, kid=fpr2(g)로 표현될 수 있다.In operation 603, the first device encrypts the encryption key g using the public key Pr2 of the second device to generate key identification information k id . According to some embodiments, the key identification information may be information generated by encrypting an encryption key. For example, the key identification information may be represented by k id = E_Pr2 (g). Further, according to some embodiments, the key identification information may be a result of a keyed hash with a key, with the input as an encryption key and the hash function key as the public key of the second device. For example, it may be represented by k id = f pr2 (g).
단계 605에서, 제1 디바이스는 생성된 키식별정보 및 암호화키에 의해 암호화된 데이터를 제2 디바이스로 송신한다. In operation 605, the first device transmits the generated key identification information and the data encrypted by the encryption key to the second device.
도 7은 일부 실시예에 따른 제2 디바이스가 제2 디바이스의 공개키를 이용하여 암호화된 데이터를 수신하는 방법을 도시한 흐름도이다.7 is a flowchart illustrating a method of receiving, by a second device, data encrypted by using a public key of a second device, according to some embodiments.
단계 701에서, 제2 디바이스는 제1 디바이스와 키를 교환한다. 예를 들어, 제2 디바이스는 제2 디바이스의 공개키를 제1 디바이스로 전송할 수 있다.In step 701, the second device exchanges a key with the first device. For example, the second device may transmit the public key of the second device to the first device.
단계 703에서, 제2 디바이스는 제1 디바이스로부터 키식별정보 및 암호화된 데이터를 수신한다. In operation 703, the second device receives key identification information and encrypted data from the first device.
단계 705에서, 제2 디바이스는 수신된 키식별정보로부터 데이터를 복호화하기 위한 암호화키를 획득한다. 키식별정보는 제1 디바이스가 제2 디바이스의 공개키를 이용하여 암호화키를 암호화한 데이터 일 수 있다. 제2 디바이스는 키식별정보를 제2 디바이스의 공개키(public key)에 대응하는 제2 디바이스의 개인키(private key)를 이용하여 복호화하여 암호화키를 획득할 수 있다.In operation 705, the second device acquires an encryption key for decrypting data from the received key identification information. The key identification information may be data in which the first device encrypts the encryption key using the public key of the second device. The second device may obtain the encryption key by decrypting the key identification information by using the private key of the second device corresponding to the public key of the second device.
단계 707에서, 제2 디바이스는 단계 705에서 획득한 암호화키를 이용하여 수신된 암호화된 데이터를 복호화한다.In operation 707, the second device decrypts the received encrypted data using the encryption key obtained in operation 705.
도 8은 일부 실시예에 따른 공유된 비공개키를 이용하여 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 전송하고 수신하는 방법의 흐름도이다.8 is a flowchart of a method for transmitting and receiving encrypted data that prevents identification of a transceiving device using a shared private key in accordance with some embodiments.
단계 801에서, 제1 디바이스와 제2 디바이스가 동일한 비공개키를 공유한다. 비공개키는 대칭키로서, 제1 디바이스와 제2 디바이스 사이에서만 공유되는 데이터이며, 제 1 디바이스 및 제 2 디바이스를 제외한 다른 디바이스에게 노출되지 않는 데이터일 수 있다. In step 801, the first device and the second device share the same private key. The private key is a symmetric key, which is data shared only between the first device and the second device, and may be data that is not exposed to other devices except for the first device and the second device.
일부 실시예에 따르면, 비공개키의 공유라 함은 비공개키를 서로 전송하는 절차뿐만 아니라, 소정의 절차에 의해 비공개키를 서로 결정, 선택 또는 생성하는 절차를 더 포함할 수도 있다.According to some embodiments, the sharing of the private key may further include a procedure for transmitting the private keys to each other, as well as a procedure for determining, selecting, or generating the private keys from each other by a predetermined procedure.
단계 802에서, 제1 디바이스는 비공개키와 제1 난수를 이용하여 암호화키(S)를 생성한다. 일부 실시예에 따르면, 비공개키는 마스터키(Masterkey)포함할 수 있다. 일부 실시예에 따르면 암호화 키는 마스터키 및 넌스(nonce)와 같은 소정의 값에 의해 생성될 수 있으며, 상기 예시에 제한되지 않는다.(암호화키(S) = 마스터키(Masterkey)+소정의 값(nonceA))In operation 802, the first device generates an encryption key S using the private key and the first random number. According to some embodiments, the private key may include a master key. According to some embodiments, the encryption key may be generated by a predetermined value such as a master key and a nonce, and is not limited to the above example. (Encryption key (S) = Masterkey + predetermined value) (nonceA))
단계 803에서, 제1 디바이스에서는 제1 난수로 암호화키를 키-해싱한 값(세션키)을 제1 난수 및 암호화된 데이터와 함께 제2 디바이스로 송신한다. 즉, 제 1 디바이스가 전송하는 데이터는 ①제1 난수, ②세션키, ③암호화된 데이터를 포함할 수 있다. In step 803, the first device transmits a value (session key) obtained by key-hashing the encryption key with the first random number to the second device along with the first random number and the encrypted data. That is, the data transmitted by the first device may include ① first random number, ② session key, and ③ encrypted data.
또한 일부 실시예에 따르면, 제1 디바이스는 생성된 암호화키를 이용하여 데이터를 암호화할 수 있다.According to some embodiments, the first device may encrypt data using the generated encryption key.
단계 805에서, 제2 디바이스는 제1 난수, 세션키, 암호화된 데이터를 수신한다. 세션키는 전술한 메시지 인증 코드(MAC)을 포함할 수 있다. In step 805, the second device receives the first random number, session key, and encrypted data. The session key may include the message authentication code (MAC) described above.
단계 807에서, 제2 디바이스는 수신한 제1 난수를 이용하여, 기존에 공유한 제 1 디바이스를 포함한 모든 송신 디바이스의 비공개키(MK1~MKn)와 제1 난수를 조합한 복수의 후보 암호화키들(S1~Sn)을 생성한다.In operation 807, the second device uses a plurality of candidate encryption keys combining the first random numbers and the private keys MK1 to MKn of all transmission devices including the first device that has been previously shared, using the received first random number. S1 to Sn) are generated.
단계 809에서, 제2 디바이스는 생성된 복수의 후보 암호화키들(S1~Sn) 를 제1 난수로 각각 키-해싱하여 복수의 후보 매칭키들(SS1~SSn)을 생성한다. 복수의 후보 매칭키들은 수식으로서 fnonceA(S1), fnonceA(S2), ..., fnonceA(Sn)과 같이 표현될 수 있다. 일부 실시예에 따르면 넌스(nonce)는 소정의 값으로써, 제 1 디바이스 또는 제 2 디바이스가 생성하는 난수(Random Number)를 포함할 수 있다. In operation 809, the second device generates a plurality of candidate matching keys SS1 to SSn by key-hashing each of the generated candidate encryption keys S1 to Sn with a first random number. The plurality of candidate matching keys may be expressed as f nonceA (S1), f nonceA (S2), ..., f nonceA (Sn) as an expression. According to some embodiments, the nonce is a predetermined value and may include a random number generated by the first device or the second device.
단계 811에서, 제2 디바이스는 생성한 복수의 후보 매칭키들(SS1~SSn)과 수신한 세션키를 비교하여, 세션키를 송신한 제1 디바이스의 세션키를 식별할 수 있다. 또한 일부 실시예에 따르면, 제 2 디바이스는 제1 디바이스와 공유한 비공개키를 식별할 수 있다.In operation 811, the second device may identify the session key of the first device that has transmitted the session key by comparing the generated candidate matching keys SS1 to SSn with the received session key. According to some embodiments, the second device may identify a private key shared with the first device.
단계 813에서, 제2 디바이스는 데이터를 송신한 제1 디바이스와 공유한 비공개키와 제1 난수의 조합에 의한 암호화키를 획득할 수 있다.. 또한 일부 실시예에 따르면, 제1 디바이스와 대응하는 암호화키는 제 2 디바이스가 단계 809에서 생성한 n개의 암호화키들 중 1개에 해당하므로, 제2 디바이스는 세션키에 기초하여 제 2 디바이스가 생성한 후보 암호화키들(S1~Sn) 중 하나를 선택할 수도 있다. 단계 815에서, 제2 디바이스는 획득한 암호화키에 의해 암호화된 데이터를 복호화한다.In operation 813, the second device may obtain an encryption key based on a combination of the first random number and the private key shared with the first device that has transmitted the data. According to some embodiments, the second device may correspond to the first device. Since the encryption key corresponds to one of the n encryption keys generated in step 809 by the second device, the second device selects one of the candidate encryption keys S1 to Sn generated by the second device based on the session key. It may be. In operation 815, the second device decrypts the data encrypted by the obtained encryption key.
도 9는 일부 실시예에 따른 디바이스의 식별넘버를 이용하여 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 송신하는 방법을 도시한 흐름도이다.9 is a flowchart illustrating a method of transmitting encrypted data for preventing identification of a transmitting / receiving device using an identification number of a device according to some embodiments.
단계 901에서, 제1 디바이스는 암호화키를 생성한다. 일부 실시예에 따르면, 암호화키는 제1 디바이스의 식별넘버(Pa) 및 제2 디바이스의 식별넘버(Pb)보다 작은 난수를 포함할 수 있다. In step 901, the first device generates an encryption key. According to some embodiments, the encryption key may include a random number smaller than the identification number Pa of the first device and the identification number Pb of the second device.
일부 실시예에 따르면, 식별넘버는 전화번호 또는 아이디 등을 포함할 수 있으며, 식별넘버 또는 암호화키가 정수가 아닌 경우 소정의 테이블에 의해 정수로 변환되어 도 9의 절차에서 사용될 수 있다. 또한 일부 실시예에 따르면, 식별넘버는 식별키일 수 있다. 단계 903에서, 제1 디바이스는 암호화키를 이용하여 데이터를 암호화한다.According to some embodiments, the identification number may include a telephone number or ID, and when the identification number or encryption key is not an integer, the identification number may be converted into an integer by a predetermined table and used in the procedure of FIG. 9. According to some embodiments, the identification number may be an identification key. In step 903, the first device encrypts the data using the encryption key.
단계 905에서, 제1 디바이스는 암호화키를 이용하여 제1 디바이스의 식별넘버(Pa) 및 제2 디바이스의 식별넘버(Pb)의 곱 또는 최대 공약수에 암호화키(R)를 더한 값을 포함하는 키식별정보(kid)를 생성한다. 예를 들면, 키식별정보는 kid=pa*pb+r의 수식에 의해 생성될 수 있으며, 다만 상기 예시에 제한되지 않는다. In operation 905, the first device uses a cryptographic key to generate a key including a product of the identification number Pa of the first device and the identification number Pb of the second device, or the greatest common divisor, plus a value of the encryption key R. Generate identification information (k id ). For example, the key identification information may be generated by a formula of k id = pa * pb + r, but is not limited to the above example.
단계 907에서, 제1 디바이스는 암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 제2 디바이스로 송신한다. 데이터 세트를 수신 받은 제2 디바이스의 동작은 도 10과 관련하여 자세히 설명한다.In operation 907, the first device transmits a data set including the encrypted data and the key identification information to the second device. Operation of the second device receiving the data set will be described in detail with reference to FIG. 10.
도 10는 일부 실시예에 따른 디바이스를 식별할 수 있는 정수를 이용하여 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 수신하는 방법을 도시한 흐름도이다.10 is a flowchart illustrating a method of receiving encrypted data that prevents identification of a transceiving device using an integer that may identify the device, in accordance with some embodiments.
단계 1001에서, 제2 디바이스는 키식별정보(Pa*Pb+R) 및 암호화된 데이터를 수신한다.In operation 1001, the second device receives key identification information Pa * Pb + R and encrypted data.
단계 1003에서, 제2 디바이스는 키식별정보(Pa*Pb+R) 를 제2 디바이스의 식별넘버로 나누고 남는 R을 획득한다. 여기에서 R은 제1 디바이스가 데이터를 암호화한 암호화키일 수 있다.In step 1003, the second device divides the key identification information Pa * Pb + R by the identification number of the second device and obtains the remaining R. Here, R may be an encryption key for encrypting data by the first device.
단계 1005에서, 제2 디바이스는 암호화키 R을 이용하여 수신된 암호화된 데이터를 복호화한다.In step 1005, the second device decrypts the received encrypted data using the encryption key R.
도 11은 일부 실시예에 따른 암호화된 데이터를 저장하면서 제1 디바이스의 식별정보를 획득하는, 암호화된 데이터를 수신하는 방법을 도시하는 흐름도이다.FIG. 11 is a flow diagram illustrating a method of receiving encrypted data for obtaining identification of a first device while storing encrypted data in accordance with some embodiments.
단계 1101에서, 제2 디바이스는 수신된 암호화된 데이터를 저장하는 과정에서 제1 디바이스의 식별정보를 획득한다. 식별정보를 획득하는 과정은 예를 들어 수신 디바이스가 소정의 리스트에 기재된 디바이스들 중 송신 디바이스를 선택하고, 선택한 송신 디바이스의 식별정보를 암호화된 데이터에 부가하여 저장하는 과정을 포함할 수 있다. In operation 1101, the second device acquires identification information of the first device in the process of storing the received encrypted data. The obtaining of the identification information may include, for example, the receiving device selecting a transmitting device among the devices listed in the predetermined list and storing the identification information of the selected transmitting device in addition to the encrypted data.
일부 실시예에 따르면, 제 2 디바이스가 제 1 디바이스의 식별정보를 획득하는 방법은 앞선 도 1 내지 도 10에서 설명한 바와 같이 다양한 파라미터(예를 들면, 난수, 비공개키, 등)에 의해 생성될 수 있다.According to some embodiments, the method for acquiring the identification information of the first device by the second device may be generated by various parameters (eg, random number, private key, etc.) as described above with reference to FIGS. 1 to 10. have.
또한, 본 발명의 일 실시예에 따르면, 제2 디바이스는 수신된 데이터를 저장하면서 데이터를 송신한 제1 디바이스를 식별하는 식별정보를 생성할 수 있다.In addition, according to an embodiment of the present invention, the second device may generate identification information identifying the first device that has transmitted the data while storing the received data.
일부 실시예에 따르면, 제 2 디바이스는 제 1 디바이스를 포함하는 복수의 디바이스와 비공개키를 공유할 수 있다. According to some embodiments, the second device may share a private key with a plurality of devices including the first device.
단계 1103에서, 제2 디바이스는 획득된 제1 디바이스의 식별정보를 이용하여 제1 디바이스의 비공개키를 획득한다. 즉, 제 2 디바이스는 단계 1101에서 생성된 식별정보에 기초하여 송신 디바이스인 제 1 디바이스의 비공개키를 획득할 수 있다.In operation 1103, the second device acquires a private key of the first device using the acquired identification information of the first device. That is, the second device may obtain the private key of the first device, which is the transmitting device, based on the identification information generated in step 1101.
단계 1105에서, 제2 디바이스는 제1 디바이스의 비공개키를 이용하여 암호화키를 생성한다. 일부 실시예에 따르면, 제 1 디바이스의 비공개키는 제 1 디바이스가 데이터를 암호화할 때 사용한 암호화키와 동일할 수 있다. In step 1105, the second device generates an encryption key using the private key of the first device. According to some embodiments, the private key of the first device may be the same as the encryption key used when the first device encrypts the data.
단계 1107에서, 제2 디바이스는 암호화키를 이용하여 암호화된 데이터를 복호화한다. In step 1107, the second device decrypts the encrypted data using the encryption key.
일부 실시예에 따르면, 제 2 디바이스는 암호화 키를 이용하여 암호화 키와 대응하는 복호화 키를 생성하고, 생성된 복호화 키를 이용하여 암호화된 데이터를 복호화할 수 있으며, 암호화 키를 이용하여 복호화를 수행할 수도 있다.According to some embodiments, the second device may generate a decryption key corresponding to the encryption key using the encryption key, decrypt the encrypted data using the generated decryption key, and perform decryption using the encryption key. You may.
도 12는 일부 실시예에 따른 송신 디바이스가 소정의 디바이스의 그룹에 대하여 암호화된 데이터를 송신하는 방법을 도시하는 개념도이다.12 is a conceptual diagram illustrating a method of transmitting, by a transmitting device, encrypted data for a group of devices according to some embodiments.
도 12(a)는 수신 디바이스가 하나인 경우에 송신 디바이스가 생성하는 데이터 세트를 도시한다. 도 12(a)의 데이터 세트는 공개키를 이용하여 생성된 암호화키와 키식별정보를 포함할 수 있다. 12A shows a data set generated by a transmitting device when there is only one receiving device. The data set of FIG. 12 (a) may include an encryption key and key identification information generated using a public key.
도 12(b)는 수신 디바이스가 복수의 디바이스를 포함하는 그룹인 경우 송신 디바이스가 생성하는 데이터 세트를 도시한다. 도 12(b)의 데이터 세트는 도 12(a)와는 상이하게, 복수의 키식별정보를 포함하는 데이터 세트의 구조를 도시한다. 수신 디바이스 각각에 대하여 키식별정보가 생성되므로, 도 12(b)의 데이터 세트는 수신 디바이스의 수에 대응하는 키식별정보가 포함될 수 있다. 12B illustrates a data set generated by a transmitting device when the receiving device is a group including a plurality of devices. Unlike the data set of FIG. 12 (b), the data set of FIG. 12 (b) shows a structure of a data set including a plurality of key identification information. Since key identification information is generated for each of the receiving devices, the data set of FIG. 12B may include key identification information corresponding to the number of receiving devices.
도 12(c)는 수신 디바이스가 하나인 경우 송신 디바이스가 암호화키(g)를 수신하는 디바이스의 공개키로 암호화하여, 암호화된 공개키와 암호화된 데이터를 포함하는 데이터 세트의 구조를 도시한 것이다. 도 12(c)의 데이터 세트에는 키식별정보 대신 수신 디바이스의 공개키로 암호화된 암호화키가 포함될 수 있다.FIG. 12 (c) illustrates a structure of a data set including an encrypted public key and encrypted data by encrypting with a public key of a device receiving an encryption key g when there is only one receiving device. The data set of FIG. 12C may include an encryption key encrypted with the public key of the receiving device instead of the key identification information.
도 12(d)는 수신 디바이스가 복수의 디바이스를 포함하는 그룹일 경우 송신 디바이스가 송신하는 데이터 세트를 도시한다. 도 12(c)와는 상이하게, 도 12(d)의 데이터 세트는 복수의 디바이스의 공개키로 각각 암호화키를 암호화한, 복수의 암호화키가 포함될 수 있다.. 예를 들면, E_Pr1(g)는 암호화키(g)를 제1 수신 디바이스의 공개키로 암호화한 것을 의미하고, E_Pr2(g)는 암호화키(g)를 제2 수신 디바이스의 공개키로 암호화한 것을 의미할 수 있다. c는 난수를 의미할 수 있다. 다만 상기 예시에 제한되지 않는다.12 (d) shows a data set transmitted by a transmitting device when the receiving device is a group including a plurality of devices. Unlike FIG. 12 (c), the data set of FIG. 12 (d) may include a plurality of encryption keys, each of which encrypts an encryption key with a public key of a plurality of devices. For example, E_Pr1 (g) The encryption key g may be encrypted with the public key of the first receiving device, and E_Pr2 (g) may mean that the encryption key g is encrypted with the public key of the second receiving device. c may mean a random number. However, it is not limited to the above example.
일부 실시예에 따르면, 데이터 세트는 메시지 인증 코드(MAC: message authentication code)를 포함할 수 있다. 메시지 인증 코드는 수신 디바이스에서 획득한 암호화키가 올바른 암호화키인지를 판단하기 위해 이용될 수 있다. 예를 들어, 도 12(d)의 hash(g||c)는 그룹을 위한 여러 개의 키식별정보 중 어느 것이 데이터 세트를 수신한 디바이스를 위한 키식별정보인지 파악하기 위한 값일 수 있다. According to some embodiments, the data set may include a message authentication code (MAC). The message authentication code may be used to determine whether the encryption key obtained at the receiving device is the correct encryption key. For example, the hash (g || c) of FIG. 12 (d) may be a value for determining which of the plurality of key identification information for the group is key identification information for the device receiving the data set.
예를 들어, 데이터 세트를 수신한 수신 디바이스가 E_Pr1(g) 값을 자신의 개인키로 복호화하면 g값을 획득할 수 있다. 수신 디바이스는 획득한 g값과 데이터 세트 내의 c 값을 해시하고, 해시한 값이 수신한 데이터 세트 내의 hash(g||c)와 동일한지 판단할 수 있다. 수신 디바이스는 판단 결과에 따라, E_Pr1(g)값이 수신 디바이스를 위한 키식별정보인지를 파악할 수 있다. 동일하지 않다면, 수신 디바이스는 E_Pr2(g), E_Pr3(g) 등에 대하여 동일한 과정을 반복하여, 수신 디바이스를 위한 키식별정보를 식별할 수 있다.For example, when the receiving device receiving the data set decrypts the E_Pr1 (g) value with its own private key, the g value can be obtained. The receiving device may hash the obtained g value and the c value in the data set, and determine whether the hashed value is equal to hash (g || c) in the received data set. The receiving device may determine whether the E_Pr1 (g) value is key identification information for the receiving device according to the determination result. If not the same, the receiving device may repeat the same process for E_Pr2 (g), E_Pr3 (g) and the like to identify key identification information for the receiving device.
도 12(e)는 수신 디바이스가 하나인 경우 식별넘버를 이용하여 암호화된 데이터를 송신하는 방법의 데이터 세트의 구조를 도시한 것이다. 앞서 설명한 바와 같이 식별넘버는 전화번호와 같은 소정의 정수로 이루어진 데이터를 포함할 수 있다.FIG. 12E shows the structure of a data set of a method for transmitting encrypted data using an identification number when there is only one receiving device. As described above, the identification number may include data consisting of a predetermined integer such as a telephone number.
일부 실시예에 따르면, 도 12(e)에서의 Pa는 제1 디바이스의 전화번호이고, Pb는 제2 디바이스의 전화번호이며, R은 제1 디바이스의 전화번호(Pa) 및 제2 디바이스의 전화번호(Pb)보다 작은 랜덤한 정수일 수 있다. 또한, R이 정수가 아니라 문자나 소수인 경우에도 테이블 등에 의하여 정수로 변환하여 상술한 방법에 적용할 수 있다.According to some embodiments, Pa in FIG. 12 (e) is a phone number of the first device, Pb is a phone number of the second device, and R is a phone number Pa of the first device and a phone of the second device. It may be a random integer smaller than the number Pb. Moreover, even if R is not an integer but a character or a decimal number, it can be converted to an integer by a table or the like and applied to the above-described method.
도 12(f)는 수신 디바이스가 복수의 디바이스를 포함하는 그룹인 경우 전화번호 등의 식별넘버를 이용하여 암호화된 데이터를 송신하는 방법의 데이터 세트의 구조를 도시한 것이다. 도 12(e)와는 상이하게, 도 12(f)의 데이터 세트에서는 Pa(송신 디바이스의 전화번호)*Pb1(수신자1의 전화번호)* Pb2(수신자2의 전화번호)* Pb3(수신자3의 전화번호)+R(암호화키)에 의해 생성된 키 식별정보를 포함할 수 있다. 12 (f) shows the structure of a data set of a method for transmitting data encrypted using an identification number such as a telephone number when the receiving device is a group including a plurality of devices. Unlike in Fig. 12 (e), in the data set of Fig. 12 (f), Pa (telephone number of the transmitting device) * Pb1 (telephone number of the receiver 1) * Pb2 (telephone number of the receiver 2) * Pb3 (of receiver 3) Key identification information generated by the telephone number) + R (encryption key).
일부 실시예에 따르면, 복수의 디바이스 중 도 12(f)의 데이터 세트를 수신한 수신 디바이스는 다른 디바이스의 전화번호와 관계없이 자신의 전화번호로 키식별정보를 나누면 나머지인 R(암호화키)를 획득할 수 있다. According to some embodiments, the receiving device receiving the data set of FIG. 12 (f) of the plurality of devices divides the remaining R (encryption key) by dividing the key identification information by its own phone number regardless of the phone number of another device. Can be obtained.
또한, 복수의 디바이스 중 도 12(f)의 데이터 세트를 수신한 수신 디바이스는 MAC을 이용하여, 획득한 암호화키가 올바른 암호화키인지를 확인할 수 있다. 예를 들어, 데이터 세트는 난수, 키 식별정보, MAC을 포함할 수 있으며, 수신 디바이스는 키식별정보를 이용하여 암호화키 R을 획득하고 R을 키로 하여 난수 값을 키 해싱(keyed hash)한 값이 MAC과 동일한지 확인함으로써, 획득한 암호화키가 올바른 암호화키인지를 확인할 수 있다. In addition, the receiving device that receives the data set of FIG. 12 (f) among the plurality of devices may check whether the obtained encryption key is the correct encryption key by using the MAC. For example, the data set may include a random number, key identification information, and a MAC, and the receiving device obtains an encryption key R using the key identification information and key hashes the random value using R as a key. By checking whether it is the same as this MAC, it can confirm whether the obtained encryption key is a correct encryption key.
일부 실시예에 따르면, MAC은 데이터 세트에 포함된 기타정보에 포함될 수 있다. According to some embodiments, the MAC may be included in other information included in the data set.
도 13은 일부 실시예에 따른 제2 디바이스가 제1 디바이스를 포함하는 복수의 디바이스로부터 키식별정보를 수신하고 데이터를 송신한 제1 디바이스의 키를 식별하기 위한 매칭과정을 설명하기 위한 플로우를 도시한다. FIG. 13 is a flowchart illustrating a matching process for a second device to receive key identification information from a plurality of devices including a first device and to identify a key of a first device that has transmitted data; FIG. do.
일부 실시예에 따르면. 매칭과정이란 제 2 디바이스가 수신한 값과 제 2 디바이스(또는 서버)에 저장된 복수의 값을 비교하여 일치하는 동일한 값을 찾는 과정을 의미할 수 있다.According to some embodiments. The matching process may mean a process of searching for the same value by comparing a value received by the second device with a plurality of values stored in the second device (or server).
단계 1301에서, 제2 디바이스는 제1 디바이스를 포함하는 복수의 디바이스와 키를 교환한다. 일부 실시예에 따르면, 도 13의 키라 함은, 공개키, 비공개키 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다. In step 1301, the second device exchanges keys with a plurality of devices including the first device. According to some embodiments, the key of FIG. 13 may include a public key, a private key, and the like, and is not limited to the above example.
단계 1303에서, 제2 디바이스는 복수의 디바이스 각각과 교환한 키를 이용하여 암호화키를 각각 생성하고, 복수의 디바이스 각각에 대한 복수의 매칭키를 생성한다. 일부 실시예에 따르면, 매칭키 또한 키를 식별하기 위한 키식별정보일 수 있다. 또한 제 2 디바이스는 복수의 디바이스 각각과 교환한 키, 암호화키 및 매칭키 중 적어도 하나를 저장할 수 있다.In operation 1303, the second device generates an encryption key using keys exchanged with each of the plurality of devices, and generates a plurality of matching keys for each of the plurality of devices. According to some embodiments, the matching key may also be key identification information for identifying the key. The second device may store at least one of a key, an encryption key, and a matching key exchanged with each of the plurality of devices.
단계 1305에서, 제2 디바이스는 암호화된 데이터 및 키식별정보를 수신한다. 일부 실시예에 따르면, 제 2 디바이스는 암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 수신할 수 있다.In operation 1305, the second device receives encrypted data and key identification information. According to some embodiments, the second device may receive a data set including encrypted data and key identification information.
단계 1307에서, 제2 디바이스는 수신한 키식별정보를 미리 생성한 복수의 매칭키와 비교한다. 일부 실시예에 따르면, 제 2 디바이스는 저장된 매칭키와 수신된 키식별정보를 비교할 수 있다.In operation 1307, the second device compares the received key identification information with a plurality of matching keys generated in advance. According to some embodiments, the second device may compare the stored matching key with the received key identification information.
단계 1309에서, 제2 디바이스는 암호화된 데이터를 송신한 디바이스를 식별한다. 즉, 제 2 디바이스는 단계 1307의 비교 결과에 기초하여 송신 디바이스를 식별할 수 있다.In step 1309, the second device identifies the device that sent the encrypted data. In other words, the second device may identify the transmitting device based on the comparison result of step 1307.
단계 1311에서, 제2 디바이스는 데이터를 송신한 디바이스의 암호화키를 도출해낸다. In step 1311, the second device derives the encryption key of the device that sent the data.
단계 1313에서, 제2 디바이스는 암호화키를 이용하여 암호화된 데이터를 복호화할 수 있다.In operation 1313, the second device may decrypt the encrypted data using the encryption key.
도 14는 일부 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 제2 디바이스로 송신하는 제1 디바이스를 도시하는 블록도이다.14 is a block diagram illustrating a first device that transmits encrypted data to a second device that prevents identification of a transceiving device in accordance with some embodiments.
일부 실시예에 따르면, 제1 디바이스(1400)는 제어부(1401) 및 송수신부(1402)를 포함한다.According to some embodiments, the first device 1400 includes a controller 1401 and a transceiver 1402.
일부 실시예에 따르면, 제어부(1401)은 암호화키를 생성하고, 생성된 암호화키를 이용하여 키식별정보를 생성하고 데이터를 암호화한다.According to some embodiments, the controller 1401 generates an encryption key, generates key identification information using the generated encryption key, and encrypts the data.
일부 실시예에 따르면, 송수신부(1402)는 암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 제2 디바이스로 송신한다. 여기에서 키식별정보는 수신 디바이스만이 식별 할 수 있는 송신 디바이스의 정보를 암호화된 형태로 포함할 수 있다. 제어부(1410)는 암호화키뿐만 아니라, 제 2 디바이스의 공개키, 식별넘버, 제 2 디바이스의 비공개키 중 적어도 하나를 이용하여 키식별정보를 생성할 수 있다. 키식별정보를 생성하는 방법은 도 1내지 도 13에서 설명한 바와 같으므로, 자세한 설명은 생략한다.According to some embodiments, the transceiver 1402 transmits a data set including the encrypted data and the key identification information to the second device. Here, the key identification information may include information of the transmitting device that only the receiving device can identify in an encrypted form. The controller 1410 may generate key identification information using not only an encryption key but also at least one of a public key of the second device, an identification number, and a private key of the second device. Since the method for generating the key identification information is as described with reference to FIGS. 1 to 13, a detailed description thereof will be omitted.
도 15는 본발명의 일 실시예에 따른, 송수신 디바이스의 식별을 방지하는 암호화된 데이터 세트를 수신하는 제2 디바이스를 도시하는 블록도이다.15 is a block diagram illustrating a second device for receiving an encrypted data set that prevents identification of a transceiving device, in accordance with an embodiment of the present invention.
일부 실시예에 따르면, 제2 디바이스(1500)는 제어부(1510)와 송수신부(1520)을 포함한다.According to some embodiments, the second device 1500 includes a controller 1510 and a transceiver 1520.
일부 실시예에 따르면, 송수신부(1520)는 제1 디바이스로부터 암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 수신한다. 키식별정보는 수신 디바이스가 식별 할 수 있는 송신 디바이스의 정보를 암호화된 형태로 포함할 수 있다.According to some embodiments, the transceiver 1520 receives a data set including encrypted data and key identification information from the first device. The key identification information may include information of the transmitting device that can be identified by the receiving device in an encrypted form.
일부 실시예에 따르면, 제어부(1510)는 키식별정보를 이용하여 암호화키를 획득하고, 암호화키를 이용하여 암호화된 데이터를 복호화할 수 있다. 예를 들어, 제어부(1510)는 송수신부(1520)에서 수신한 데이터 세트 내에 포함된 키식별정보에 기초하여 송신 디바이스를 식별하고, 식별 결과에 기초하여 암호화키를 획득 또는 선택할 수 있다. 제어부(1510)는 암호화키를 이용하여 암호화된 데이터를 복호화할 수 있다. 암호화키를 획득하는 제어부(1510)의 동작은 앞선 도 1 내지 도 10에서 설명한 바와 대응된다. According to some embodiments, the controller 1510 may obtain an encryption key using key identification information, and may decrypt data encrypted using the encryption key. For example, the controller 1510 may identify a transmitting device based on key identification information included in the data set received by the transceiver 1520, and may acquire or select an encryption key based on the identification result. The controller 1510 may decrypt the encrypted data using the encryption key. The operation of the controller 1510 to obtain an encryption key corresponds to those described above with reference to FIGS. 1 to 10.
도 16은 일부 실시예에 따른 디바이스를 설명하기 위한 세부 블록도이다.16 is a detailed block diagram illustrating a device in accordance with some embodiments.
본 발명의 일 실시예에 따르면, 제2 디바이스는 제1 디바이스를 포함하는 적어도 하나의 디바이스들과 적어도 하나의 비공개키를 공유하는 송수신부, 및 제1 디바이스로부터 암호화된 데이터를 수신하고, 암호화된 데이터를 수신하는 동안 암호화된 데이터를 송신한 제1 디바이스를 식별하고, 식별된 제1 디바이스의 식별정보를 암호화된 데이터에 부가하거나 저장하고, 제1 디바이스의 식별정보를 이용하여 제1 디바이스와 공유한 비공개키를 식별하고, 비공개키를 이용하여 암호화키를 생성하고, 암호화키를 이용하여 암호화된 데이터를 복호화하는 제어부를 포함할 수 있다. According to one embodiment of the invention, the second device is a transceiver for sharing at least one private key with at least one device, including the first device, and receives encrypted data from the first device, the encrypted Identify the first device that transmitted the encrypted data while receiving the data, add or store the identification information of the identified first device to the encrypted data, and share with the first device using the identification information of the first device. A control unit may be configured to identify a private key, generate an encryption key using the private key, and decrypt data encrypted using the encryption key.
또한, 본 발명의 일 실시예에 따르면, 수신 디바이스가 데이터를 수신하는 중에 송신 디바이스를 식별할 수 있는 소정의 방법에 의하여 송신 디바이스를 식별하는 식별정보를 생성하고, 송신 디바이스의 식별정보를 이용하여 암호화된 데이터에 대한 암호화키를 획득할 수 있다. 키식별정보는 제 2 디바이스와 교환한 난수, 공개키, 비공개키, 식별넘버, 사용하는 어플리케이션 중 적어도 하나의 정보에 기초하여 생성될 수 있으며, 제어부(1670)가 키식별정보를 생성하는 방법은 앞서 설명한 바와 대응되므로 자세한 설명은 생략한다.Further, according to an embodiment of the present invention, the identification information for identifying the transmission device is generated by a predetermined method by which the reception device can identify the transmission device while receiving data, and by using the identification information of the transmission device. An encryption key for encrypted data can be obtained. The key identification information may be generated based on at least one of a random number exchanged with the second device, a public key, a private key, an identification number, and an application to be used. The method of generating the key identification information by the controller 1670 may include: Since it corresponds to the above description, a detailed description thereof will be omitted.
일부 실시예에 따르면, 제어부는 RAM(1671), CPU(1673), ROM(1672), GPU(1674) 및 BUS(1675) 중 적어도 하나를 포함할 수 있으며, 제어부에 포함된 RAM(1671) 또는 ROM(1672)는 메모리(1620)과 동일 또는 별도의 저장부를 의미할 수 있다.According to some embodiments, the controller may include at least one of a RAM 1671, a CPU 1673, a ROM 1672, a GPU 1674, and a BUS 1675, and include a RAM 1701 included in the controller, or The ROM 1672 may refer to a storage unit that is the same as or separate from the memory 1620.
본 발명의 일 실시예에 따르면 제 1 디바이스는 핸드폰, 스마트폰, PMP, 태블릿, MP3 플레이어, 네비게이션과 같은 모바일 디바이스 또는 퍼스널 컴퓨터, 랩탑 컴퓨터, TV, 모니터, 냉장고 등 홈 디바이스일 수 있으며, 상기 예시에 제한되지 않는다.According to an embodiment of the present invention, the first device may be a mobile device such as a mobile phone, a smartphone, a PMP, a tablet, an MP3 player, a navigation device or a home device such as a personal computer, a laptop computer, a TV, a monitor, a refrigerator, and the like. It is not limited to.
본 발명의 일 실시예에 따르면, 사용자 입력부(1645)는 사용자로부터 입력을 수신을 수신하며, 예를 들어, 키보드, 터치패드, 터치스크린, 마우스, 트랙볼, 전자펜, 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다. 일부 실시예에 따르면, 사용자 입력부(1645)는 키(1646), 터치패널(1647) 및 펜 인식 패널(1648) 중 적어도 하나를 포함할 수 있따.According to an embodiment of the present invention, the user input unit 1645 receives an input from a user, and may include, for example, a keyboard, a touch pad, a touch screen, a mouse, a trackball, an electronic pen, and the like. It is not limited to the above example. According to some embodiments, the user input unit 1645 may include at least one of a key 1646, a touch panel 1647, and a pen recognition panel 1648.
본 발명의 일 실시예에 따르면 움직임 감지부(1665)는 GPS, 가속도 센서, 근접도 센서, 압력 센서, 조도 센서 등과 같은 다양한 센서를 포함할 수 있다. 뿐만 아니라 움직임 감지부(1665)는 서버와 같은 외부 디바이스에서 수신하는 정보에 기초하여 제 1 디바이스의 상태 및 제 1 디바이스에서 발생하는 이벤트를 감지할 수 있다.According to an embodiment of the present invention, the motion detector 1665 may include various sensors such as a GPS, an acceleration sensor, a proximity sensor, a pressure sensor, an illuminance sensor, and the like. In addition, the motion detector 1665 may detect a state of the first device and an event occurring in the first device based on information received from an external device such as a server.
본 발명의 일 실시예에 따르면 송수신부(1630)은 와이파이 칩(1631), 블루투스 칩(1632), 무선통신 칩(1633), NFC 칩(1634)를 포함할 수 있다. 송수신부(1630)은 제어부(1670)의 제어에 따라 다른 디바이스와 통신을 수행하는 구성부를 의미할 수 있다.According to an embodiment of the present invention, the transceiver 1630 may include a Wi-Fi chip 1631, a Bluetooth chip 1632, a wireless communication chip 1633, and an NFC chip 1634. The transceiver 1630 may refer to a component that communicates with other devices under the control of the controller 1670.
본 발명의 일 실시예에 따르면 메모리(1620)는 램(RAM), 플래시 메모리(Flash Memory), 하드 디스크, SSD와 같이 디바이스 내에 내장된 주 기억디바이스 또는 보조 기억디바이스로써 역할을 수행하는 모든 종류의 메모리를 포함할 수 있다. According to an embodiment of the present invention, the memory 1620 may serve as a main memory device or a secondary memory device embedded in a device such as a RAM, a flash memory, a hard disk, or an SSD. It may include a memory.
또한 일부 실시예에 따르면, 제 1 디바이스(1600)는 GPS칩(1625), 오디오 프로세서(1640), 비디오 프로세서(1630), 마이크부(1650), 촬상부(1655), 스피커(1660) 및 표시 패널(1611)을 포함하는 디스플레이부(161)을 포함할 수 있다. Further, according to some embodiments, the first device 1600 may include a GPS chip 1625, an audio processor 1640, a video processor 1630, a microphone 1650, an imaging unit 1655, a speaker 1660, and a display. The display unit 161 may include a panel 1611.
또한 제 1 디바이스(1600)는 도 14의 제 1 디바이스(1400)과 동일한 디바이스일 수 있다. 또한 도 16에 도시된 구성 요소가 모두 제 1 디바이스(1600)의 필수 구성 요소인 것은 아니다. 도 16에 도시된 구성 요소보다 많은 구성 요소에 의해 제 1 디바이스(1600)가 구현될 수도 있고, 도 16에 도시된 구성 요소보다 적은 구성 요소에 의해 제 1 디바이스(1600)가 구현될 수도 있다. 또한 일부 실시예에 따르면, 앞서 설명한 제 2 디바이스(1500) 또한 제 1 디바이스(1600)와 동일한 구성을 포함할 수 있다. In addition, the first device 1600 may be the same device as the first device 1400 of FIG. 14. In addition, not all components illustrated in FIG. 16 are essential components of the first device 1600. The first device 1600 may be implemented by more components than the components illustrated in FIG. 16, and the first device 1600 may be implemented by fewer components than the components illustrated in FIG. 16. In addition, according to some embodiments, the second device 1500 described above may also include the same configuration as the first device 1600.
본 발명에 따른 디바이스는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 디바이스와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 디바이스 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. The device according to the invention comprises a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a user interface such as a touch panel, a key, a button and the like. Devices and the like. Methods implemented by software modules or algorithms may be stored on a computer readable recording medium as computer readable codes or program instructions executable on the processor. The computer-readable recording medium may be a magnetic storage medium (eg, read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optical reading medium (eg, CD-ROM). ) And DVD (Digital Versatile Disc). The computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. The medium is readable by the computer, stored in the memory, and can be executed by the processor.
도 17은 일부 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 송수신하는 시스템을 도시하는 개념도이다.17 is a conceptual diagram illustrating a system for transmitting and receiving encrypted data that prevents identification of a transceiving device in accordance with some embodiments.
일부 실시예에 따른 시스템은 암호화된 데이터를 송신하는 제1 디바이스 및 암호화된 데이터를 수신하는 제2 디바이스를 포함할 수 있다.A system according to some embodiments may include a first device for transmitting encrypted data and a second device for receiving encrypted data.
제1 디바이스는 암호화키를 생성하고, 생성된 암호화키를 이용하여 데이터를 암호화하며, 암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 제2 디바이스로 전송할 수 있다. The first device may generate an encryption key, encrypt data using the generated encryption key, and transmit a data set including the encrypted data and the key identification information to the second device.
또한, 제2 디바이스는 데이터 세트를 수신하고, 수신된 데이터 세트의 키식별정보를 이용하여 암호화키를 획득하고, 획득된 암호화키를 이용하여 암호화된 데이터를 복호화할 수 있다.In addition, the second device may receive the data set, obtain an encryption key using the key identification information of the received data set, and decrypt the encrypted data using the obtained encryption key.
또한 일부 실시예에 따르면, 제 1 디바이스는 제 2 디바이스를 포함하는 복수의 디바이스 그룹(제 2 디바이스 내지 제 n 디바이스)에게 데이터 세트를 송신할 수도 있다. 이는 앞서 설명한 바와 대응되므로, 자세한 설명은 생략한다.According to some embodiments, the first device may transmit the data set to a plurality of device groups (second to nth devices) including the second device. Since this corresponds to the above description, a detailed description thereof will be omitted.
도 18은 일부 실시예에 따른 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 송신하는 방법을 도시하는 흐름도이다.18 is a flowchart illustrating a method of transmitting encrypted data that prevents identification of a transceiving device in accordance with some embodiments.
단계 1810에서, 제1 디바이스는 제2 디바이스와 키를 공유한다. 일부 실시예에 따르면, 공유되는 키는 공개키 또는 비공개키를 포함할 수 있다. 또한 일부 실시예에 따르면, 제 2 디바이스는 제 1 디바이스와 공유키, 난수 등을 교환할 수도 있으며, 이는 앞서 설명한 바와 대응되므로 자세한 설명은 생략한다.In step 1810, the first device shares a key with the second device. According to some embodiments, the shared key may include a public key or a private key. In addition, according to some embodiments, the second device may exchange a shared key, a random number, and the like with the first device, which is the same as described above, and thus a detailed description thereof will be omitted.
단계 1820에서, 제1 디바이스는 데이터를 암호화하기 위한 암호화키를 생성한다. 암호화키는 단계 1810에서 공유된 키에 기초하여 생성될 수 있으나, 공유되는 키와 무관하게 생성될 수도 있다. 또한, 일부 실시예에 따르면, 암호화키는 제1 디바이스와 제2 디바이스가 키를 교환하는 과정에서 생성될 수도 있다. In operation 1820, the first device generates an encryption key for encrypting data. The encryption key may be generated based on the shared key in step 1810, but may be generated regardless of the shared key. In addition, according to some embodiments, the encryption key may be generated while the first device and the second device exchange keys.
또한 일부 실시예에 따르면, 암호화키는 제1 디바이스에 의해 생성되지 않을 수도 있다. 예를 들어, 제2 디바이스에 의해 생성된 암호화키가 키의 공유 과정에서 제1 디바이스에게 전달될 수도 있다.In addition, according to some embodiments, the encryption key may not be generated by the first device. For example, the encryption key generated by the second device may be delivered to the first device in the process of sharing the key.
단계 1830에서, 제1 디바이스는 생성된 암호화키를 이용하여 데이터를 암호화하고, 제2 디바이스와 공유한 키를 이용하여 암호화키를 암호화한다. 예를 들어, 제2 디바이스와 공유한 키가 공개키인 경우, 제2 디바이스의 공개키를 이용하여 암호화키를 암호화할 수 있다. 이때, 제2 디바이스는 암호화된 암호화키를 자신의 비밀키로 복호화할 수 있다.In operation 1830, the first device encrypts data using the generated encryption key, and encrypts the encryption key using a key shared with the second device. For example, when the key shared with the second device is a public key, the encryption key may be encrypted using the public key of the second device. In this case, the second device may decrypt the encrypted encryption key with its own secret key.
단계 1840에서, 제1 디바이스는 암호화된 데이터, 암호화된 암호화키 및 메시지 인증 코드(Message Authentication Code)를 포함하는 데이터 세트를 제2 디바이스로 송신한다. 메시지 인증 코드는 제2 디바이스에서 복호화한 암호화키가 제 1 디바이스가 송신한 암호화키와 동일한지 여부를 확인하기 위해 사용될 수 있다.In operation 1840, the first device transmits a data set including the encrypted data, the encrypted encryption key, and the message authentication code to the second device. The message authentication code may be used to confirm whether the encryption key decrypted by the second device is the same as the encryption key transmitted by the first device.
도 19은 본 발명의 다른 실시예에 따른 송수신 디바이스의 식별을 방지하는 암호화된 데이터를 수신하는 방법을 도시하는 흐름도이다.19 is a flow diagram illustrating a method of receiving encrypted data that prevents identification of a transceiving device in accordance with another embodiment of the present invention.
단계 1910에서, 제2 디바이스는 제1 디바이스와 키를 공유한다. 일부 실시예에 따르면, 공유되는 키는 공개키 또는 비공개키를 포함할 수 있다. 또한 일부 실시예에 따르면, 제 2 디바이스는 제 1 디바이스와 공유키, 난수 등을 교환할 수도 있으며, 이는 앞서 설명한 바와 대응되므로 자세한 설명은 생략한다.In step 1910, the second device shares a key with the first device. According to some embodiments, the shared key may include a public key or a private key. In addition, according to some embodiments, the second device may exchange a shared key, a random number, and the like with the first device, which is the same as described above, and thus a detailed description thereof will be omitted.
단계 1920에서, 제2 디바이스는 암호화된 데이터, 적어도 하나의 암호화된 암호화키 및 메시지 인증 코드(Message Authentication Code)를 포함하는 데이터 세트를 제1 디바이스로부터 수신한다. 암호화된 데이터를 수신하는 디바이스가 복수인 경우, 제 2 디바이스가 수신한 데이터 세트 내에는 복수의 암호화된 암호화키가 포함될 수 있다.In step 1920, the second device receives a data set from the first device that includes the encrypted data, the at least one encrypted encryption key, and a Message Authentication Code. When there are a plurality of devices receiving encrypted data, a plurality of encrypted encryption keys may be included in the data set received by the second device.
단계 1930에서, 제2 디바이스는 적어도 하나의 암호화된 암호화키를 이용하여 적어도 하나의 암호화키를 획득한다. 예를 들면, 제 2 디바이스는 수신된 데이터 세트 내의 암호화된 암호화키를 키식별정보에 기초하여 선택된 키(예를 들면, 단계 1910에서 공유된 공개키, 비공개키, 공유키, 난수, 식별넘버 중 적어도 하나)를 이용하여 복호화할 수 있다.In operation 1930, the second device obtains at least one encryption key using the at least one encrypted encryption key. For example, the second device may be configured to select an encrypted encryption key in the received data set based on the key identification information (for example, a public key, a private key, a shared key, a random number, and an identification number shared in step 1910). At least one).
일부 실시예에 따르면, 암호화된 데이터를 수신하는 디바이스가 복수인 경우, 제2 디바이스는 복수의 암호화된 암호화키를 이용하여 복수의 암호화키를 획득할 수 있다. According to some embodiments, when there are a plurality of devices receiving encrypted data, the second device may obtain a plurality of encryption keys using the plurality of encrypted encryption keys.
단계 1940에서, 제2 디바이스는 획득한 복수의 암호화키 중에서 올바른 암호화키를 메시지 인증 코드를 이용하여 판단한다. 예를 들어, 제2 디바이스는 획득한 복수의 암호화키 각각을 이용하여 메시지 인증 코드를 생성하고 생성된 메시지 인증 코드와 수신된 데이터 세트 내에 포함된 메시지 인증 코드와 비교할 수 있다. 제 2 디바이스는 수신된 데이터 세트 내에 포함된 메시지 인증 코드와 일치하는 생성된 메시지 인증 코드와 대응하는암호화 키를 선택할 수 있다. In operation 1940, the second device determines a correct encryption key from among the obtained plurality of encryption keys using a message authentication code. For example, the second device may generate a message authentication code using each of the obtained encryption keys and compare the generated message authentication code with the message authentication code included in the received data set. The second device may select an encryption key corresponding to the generated message authentication code that matches the message authentication code included in the received data set.
단계 1950에서, 제2 디바이스는 단계 1940에서 선택한 암호화키를 이용하여 암호화된 데이터를 복호화한다.In operation 1950, the second device decrypts the encrypted data using the encryption key selected in operation 1940.
도 20 및 도 21은 일부 실시예에 따른 키 공유 방법을 도시하는 시스템 도면이다.20 and 21 are system diagrams illustrating a key sharing method according to some embodiments.
도 20을 참조하면, 일부 실시예에 따르면, 제 1 디바이스(101)와 제 2 디바이스(102)는 첫번째 통신을 수행할 수 있다. 첫번째 통신을 위해 제 1 디바이스(101)와 제 2 디바이스(102)는 각각 공개키 및 개인키를 생성하고, 생성한 공개키를 공유할 수 있다. 제 1 디바이스(101)와 제 2 디바이스(102)는 공유한 공개키 및 생성한 개인키에 기초하여 송수신되는 데이터를 암호화하는데 사용되는 암호화 키를 생성할 수 있다.Referring to FIG. 20, according to some embodiments, the first device 101 and the second device 102 may perform a first communication. For the first communication, the first device 101 and the second device 102 may generate a public key and a private key, respectively, and share the generated public key. The first device 101 and the second device 102 may generate an encryption key used to encrypt data transmitted and received based on the shared public key and the generated private key.
일부 실시예에 따르면, 제 1 디바이스(101)와 제 2 디바이스(102)간의 첫번째 통신 시에는 암호화 키를 생성하기 위해 인증 과정을 수행할 수 있다. 예를 들면, 제 1 디바이스(101) 및 제 2 디바이스(102)는 SAS(Short Authentication String)을 생성 및 확인함으로써, 상호간을(즉, 제 1 디바이스가 제 2 디바이스를, 제 2 디바이스가 제 1 디바이스를) 식별하고, 암호화 키를 생성할 수 있다. According to some embodiments, an authentication process may be performed to generate an encryption key during the first communication between the first device 101 and the second device 102. For example, the first device 101 and the second device 102 generate and verify a short authentication string (SAS), thereby mutually (ie, the first device is the second device and the second device is the first device). Device) and generate an encryption key.
일부 실시예에 다르면, 제 1 디바이스(101)와 제 2 디바이스(102)는 두번째 통신을 수행할 수 있다. 즉, 제 1 디바이스(101)와 제 2 디바이스(102)는 첫번째 통신 이후, 두번째 통신을 수행할 수 있다. 일부 실시예에 따르면, 제 1 디바이스(101)와 제 2 디바이스(102)는 두번째 통신 수행시에는 SAS를 생성 및 확인하지 않고, 첫번째 통신 시 사용하였던 공통의 키 정보에 기초하여 상호간을 식별하고, 암호화 키를 생성할 수 있다. SAS를 생성 및 확인 단계를 생략하는 경우, 사용자의 번거로움 없이 안전하게 키를 교환할 수 있다. According to some embodiments, the first device 101 and the second device 102 may perform a second communication. That is, the first device 101 and the second device 102 may perform a second communication after the first communication. According to some embodiments, the first device 101 and the second device 102 do not generate and verify the SAS when performing the second communication, and identify each other based on the common key information used during the first communication, An encryption key can be generated. If you skip the SAS creation and verification steps, you can exchange keys securely without any hassle.
제 1 디바이스(101)와 제 2 디바이스(102)는 두번째 통신 시, 공통 키 정보에 기초하여 암호화 통신을 수행할 수 있다. 더 자세히는, 제 1 디바이스(101)와 제 2 디바이스(102)는 공통 키 정보에 기초하여 각각 암호화 키를 생성할 수 있다. 제 1 디바이스(101)와 제 2 디바이스(102)는 생성한 암호화 키를 비교함으로써, 암호화 키를 확인하고, 확인된 암호화 키에 기초하여 암호화 통신을 수행할 수 있다. In the second communication, the first device 101 and the second device 102 may perform encrypted communication based on common key information. More specifically, the first device 101 and the second device 102 can each generate an encryption key based on the common key information. The first device 101 and the second device 102 may compare the generated encryption key to confirm the encryption key and perform encryption communication based on the identified encryption key.
암호화 통신 이후, 제 1 디바이스(101)와 제 2 디바이스(102)는 생성한 공개키 및 개인키를 모두 삭제할 수 있으며, 다만 생성된 암호화 키에 관한 정보는 다음 통신을 대비하여 저장해놓을 수 있다. 생성된 암호화 키에 관한 정보는 제 1 디바이스(101)와 제 2 디바이스(102) 간의 세번째 통신에서의 공통 키 정보로 사용 될 수 있다. After the encrypted communication, the first device 101 and the second device 102 can delete both the generated public key and the private key, but the information about the generated encryption key can be stored for the next communication. The generated information about the encryption key may be used as common key information in the third communication between the first device 101 and the second device 102.
다만, 도 21을 참조하면, 제 1 디바이스(101)와 제 2 디바이스(102)가 동일한 공통 키 정보를 저장하고, 동일한 공통 키 정보에 기초하여 암호화 된 통신을 수행하므로, 제 3 자(103)가 제 1 디바이스(101) 또는 제 2 디바이스(102) 중 하나를 해킹하는 경우에는, 제 3 자의 중간자 공격(MITM)이 가능할 수도 있다. 참고적으로, 본 개시에서 첫번째 통신 및 두번째 통신은 통신 순서의 선, 후를 구분하기 위함일 뿐, 최초의 통신을 의미하는 것은 아니다. However, referring to FIG. 21, since the first device 101 and the second device 102 store the same common key information and perform encrypted communication based on the same common key information, the third party 103 is used. If a user hacks either the first device 101 or the second device 102, a third party man-in-the-middle attack (MITM) may be possible. For reference, in the present disclosure, the first communication and the second communication are merely used to distinguish the line after the communication order, and do not mean the first communication.
도 22는 일부 실시예에 따른 키 공유 방법을 도시하는 흐름도이다.22 is a flowchart illustrating a key sharing method according to some embodiments.
단계 2201에서, 제 1 디바이스는 제 2 디바이스에게 송신한 제 1 디바이스의 제 1 공개키 및 제 1 디바이스의 제 1 개인키 저장되어 있는지 판단할 수 있다. In operation 2201, the first device may determine whether the first public key of the first device and the first private key of the first device are transmitted to the second device.
일부 실시예에 따르면, 제 1 디바이스는 제 2 디바이스 또는 서버로부터 통신 시작 요청을 수신하고, 통신 내역에 기초하여 통신 시작 요청 수신 이전에 제 2 디바이스와 통신을 수행한 적이 있는지 여부를 판단할 수 있다. 또한 제 2 디바이스와 이전에 통신을 수행한 적이 있는 경우, 제 1 디바이스는 제 2 디바이스에게 송신한 제 1 디바이스의 제 1 공개키 및 제 1 디바이스의 제 1 공개키에 대응하는 제 1 디바이스의 제 1 개인키가 저장되어 있는지 판단할 수 있다. According to some embodiments, the first device may receive a communication start request from the second device or the server, and determine whether or not the first device has communicated with the second device before receiving the communication start request based on the communication details. . In addition, when the first device has communicated with the second device before, the first device transmits the first public key of the first device transmitted to the second device and the first device corresponding to the first public key of the first device. 1 It can be determined whether the private key is stored.
일부 실시예에 따르면, 제 1 디바이스의 제 1 공개키 및 제 1 디바이스의 제 1 개인키는 통신 시작 요청 수신 이전에 수행되었던 통신(이전 통신)에서 사용된 키일 수 있다. 즉, 제 1 디바이스는 이전의 통신 종료시, 제 1 디바이스의 제 1 공개키 및 제 1 디바이스의 제 1 개인키를 저장할 수 있다. According to some embodiments, the first public key of the first device and the first private key of the first device may be a key used in communication (previous communication) that was performed prior to receiving a communication start request. That is, when the previous communication ends, the first device may store the first public key of the first device and the first private key of the first device.
만약 제 1 디바이스와 이전에 통신을 수행한 적이 없는 경우, 제 1 디바이스는 SAS 생성 및 추가적인 인증 절차를 수행할 수도 있다.If the first device has never communicated with the first device, the first device may perform a SAS generation and an additional authentication procedure.
단계 2203에서, 제 1 디바이스는 판단 결과에 기초하여, 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 개인키를 생성할 수 있다. In operation 2203, the first device may generate a second public key of the first device and a second private key of the first device based on the determination result.
단계 2205에서, 제 1 디바이스는 생성된 제 1 디바이스의 제 2 공개키를 제 1 디바이스의 제 1 개인키로 서명할 수 있다.In step 2205, the first device may sign the generated second public key of the first device with the first private key of the first device.
일부 실시예에 따르면, 서명이라함은 검증 절차를 통해 출처를 확인할 수 있도록 데이터를 처리하는 방식을 의미할 수 있다. 예를 들면, 제 1 디바이스가 공개키로 데이터를 암호화 하면, 제 2 디바이스가 공개키와 대응하는 개인키로 암호화된 데이터를 복호화하는 동작과 유사한 방식으로, 제 1 디바이스가 개인키로 데이터에 서명하면, 제 2 디바이스는 개인키와 대응되는 공개키로 해당 데이터를 송신한 디바이스를 식별할 수 있다. 물론 상기 예시에 제한되지 않으며, 본 개시의 서명은 출처를 표시하는 모든 방법을 포함할 수 있다.According to some embodiments, the signature may mean a method of processing data to verify the source through a verification process. For example, if the first device encrypts the data with the public key, the second device decrypts the data encrypted with the private key corresponding to the public key. 2 The device may identify the device that has transmitted the data with the public key corresponding to the private key. Of course, not limited to the above examples, the signature of the present disclosure may include any method of indicating the source.
단계 2207에서, 제 1 디바이스는 서명된 제 2 공개키를 제 2 디바이스로 송신할 수 있다. 일부 실시예에 따르면 제 1 디바이스는 서명된 제 2 공개키와 함께 서명되지 않은 제 2 공개키를 송신할 수도 있다. 제 2 디바이스는 서명된 제 2 공개키를 검증하고, 서명되지 않는 제 2 공개키와 비교할 수도 있다.In step 2207, the first device may transmit the signed second public key to the second device. According to some embodiments, the first device may transmit an unsigned second public key along with a signed second public key. The second device may verify the signed second public key and compare it with the second unsigned public key.
도 23은 일부 실시예에 따른 키 공유 및 암호화 키 생성 방법을 도시하는 흐름도이다.23 is a flowchart illustrating a key sharing and encryption key generation method in accordance with some embodiments.
단계 2301에서, 제 1 디바이스는 제 2 디바이스로부터 제 2 디바이스의 제 1 개인키로 서명된 제 2 공개키를 수신할 수 있다. 일부 실시예에 따르면, 제 2 디바이스의 제 1 공개키 및 제 2 디바이스의 제 1 개인키는 통신 시작 요청 수신 이전에 수행되었던 통신(이전 통신)에서 사용된 키일 수 있다. In step 2301, the first device may receive a second public key signed with the first private key of the second device from the second device. According to some embodiments, the first public key of the second device and the first private key of the second device may be a key used in communication (previous communication) that was performed prior to receiving a communication start request.
단계 2303에서, 제 1 디바이스는 통신 내역에 기초하여 제 2 디바이스의 제 1 개인키와 대응되는 제 2 디바이스의 제 1 공개키를 획득할 수 있다. 일부 실시예에 따르면, 제 1 디바이스는 제 1 디바이스 내에 저장된 제 2 디바이스의 제 1 공개키를 획득할 수 있다. 즉, 제 1 디바이스는 이전의 통신 종료 시, 제 2 디바이스의 제 1 공개키를 저장할 수 있다. In operation 2303, the first device may acquire a first public key of the second device corresponding to the first private key of the second device based on the communication details. According to some embodiments, the first device may obtain a first public key of the second device stored in the first device. That is, the first device may store the first public key of the second device when the previous communication ends.
단계 2305에서, 제 1 디바이스는 획득한 제 2 디바이스의 제 1 공개키로 서명된 제 2 공개키를 검증할 수 있다. 일부 실시예에 따르면, 제 1 디바이스는 서명된 제 2 공개키를 검증함으로써, 제 2 디바이스를 인증 또는 식별할 수 있다. In operation 2305, the first device may verify a second public key signed with the obtained first public key of the second device. According to some embodiments, the first device may authenticate or identify the second device by verifying the signed second public key.
단계 2307에서, 제 1 디바이스는 검증 결과에 기초하여 암호화 통신 수행할 수 있다. 일부 실시예에 따르면, 제 1 디바이스는 검증 결과에 기초하여 암호화 키를 생성할 수 있다. In operation 2307, the first device may perform encryption communication based on the verification result. According to some embodiments, the first device may generate an encryption key based on the verification result.
예를 들면, 검증 결과, 제 2 디바이스가 인증되는 경우에는, 제 1 디바이스는 제 1 디바이스의 제 2 개인키 및 제 2 디바이스의 제 2 공개키에 기초하여 암호화 키를 생성할 수 있다. For example, when the verification result indicates that the second device is authenticated, the first device may generate an encryption key based on the second private key of the first device and the second public key of the second device.
일부 실시예에 따르면, 암호화 키는 다양한 방식에 의해 생성될 수 있다, 예를 들면, 제 1 디바이스의 제 2 개인키 및 제 2 디바이스의 제 2 공개키를 연산함으로써, 소정의 값을 획득하고, 획득한 소정의 값을 키 유도 함수에 입력함으로써, 통신 암호화용 데이터를 획득할 수 있다. 제 1 디바이스는 통신 암호화용 데이터 중 일부를 암호화 키로 사용할 수 있고, 통신 암호화용 데이터 중 암호화 키로 사용하지 않는 나머지 일부의 데이터 MAC(Message Authentication Code) 또는 키 확인 데이터로 사용할 수 있다. 물론 상기 예시에 제한되지 않으며, 암호화 키는 다양한 파라미터 또는 다양한 방식에 의해 생성될 수 있다. According to some embodiments, the encryption key may be generated by various methods, for example, by obtaining a predetermined value by calculating a second private key of the first device and a second public key of the second device, By inputting the obtained predetermined value into the key derivation function, data for communication encryption can be obtained. The first device may use some of the communication encryption data as an encryption key, and use the remaining data that is not used as the encryption key among the communication encryption data as the message authentication code (MAC) or key verification data. Of course, it is not limited to the above example, and the encryption key may be generated by various parameters or various methods.
또한 일부 실시예에 따르면, 검증 결과, 제 2 디바이스가 인증되지 않는 경우에는, 제 1 디바이스는 SAS(Short Authentication String) 계산을 수행할 수 있다. 즉, 제 1 디바이스는 제 2 디바이스를 인증하기 위해 추가적인 프로세스를 수행할 수 있다. According to some embodiments, when the verification result indicates that the second device is not authenticated, the first device may perform a short authentication string (SAS) calculation. That is, the first device can perform an additional process to authenticate the second device.
예를 들면, 제 1 디바이스는 제 1 디바이스의 제 2 공개키, 제 2 디바이스의 제 2 공개키를 이용하여 해시 연산을 수행하고, 해시 연산 결과에 기초하여 소정의 단어로 변환하고, 변환된 단어를 사운드 데이터(예를 들면, 보이스 데이터) 로 변경하여 제 1 디바이스와 제 2 디바이스에게 제공할 수 있다. For example, the first device performs a hash operation using the second public key of the first device and the second public key of the second device, converts the predetermined word based on the hash operation result, and converts the converted word. May be changed to sound data (eg, voice data) and provided to the first device and the second device.
제 1 디바이스와 제 2 디바이스는 제공된 사운드 데이터를 출력하고, 제 1 디바이스와 제 2 디바이스의 사용자는 제 1 디바이스와 제 2 디바이스에서 출력된 사운드 데이터에 기초하여 제 1 디바이스와 제 2 디바이스간의 인증을 위한 소정의 절차를 수행할 수 있다. 물론 제 1 디바이스가 생성하는 SAS는 꼭 사운드 데이터로 변환될 필요는 없으며, 텍스트 데이터인 경우, 제 1 디바이스와 제 2 디바이스는 디스플레이부를 통해 제공된 텍스트 데이터를 출력할 수도 있다. 즉, SAS를 통한 추가적인 인증 방법에는 제한이 없다.The first device and the second device output the provided sound data, and the user of the first device and the second device performs authentication between the first device and the second device based on the sound data output from the first device and the second device. May perform certain procedures. Of course, the SAS generated by the first device does not necessarily need to be converted into sound data, and in the case of text data, the first device and the second device may output text data provided through the display unit. In other words, there is no limit to the additional authentication method through SAS.
또한 일부 실시예에 따르면, 현재 수행중인 통신이 종료되면, 제 1 디바이스는 제 1 디바이스의 제 1 공개키, 제 1 디바이스의 제 1 개인키 및 제 2 디바이스의 제 1 공개키를 삭제하고, 제 1 디바이스의 제 2 공개키, 제 1 디바이스의 제 2 개인키 및 제 2 디바이스의 제 2 공개키를 저장할 수 있다. 저장된 제 1 제 1 디바이스의 제 2 공개키, 제 1 디바이스의 제 2 개인키 및 제 2 디바이스의 제 2 공개키는 다음 통신 시 사용될 수 있다.According to some embodiments, when the current communication is terminated, the first device deletes the first public key of the first device, the first private key of the first device, and the first public key of the second device. The second public key of the first device, the second private key of the first device, and the second public key of the second device may be stored. The stored second public key of the first first device, the second private key of the first device and the second public key of the second device may be used in the next communication.
도 24는 일부 실시예에 따른 키 공유 방법을 도시하는 흐름도이다. 24 is a flowchart illustrating a key sharing method according to some embodiments.
단계 2401에서, 제 1 디바이스는 이전 통신 수행시 제 2 디바이스에게 송신한 제 1 난수가 저장되어 있는지 판단할 수 있다. 일부 실시예에 따르면, 제 1 난수는 현재 통신의 시작 요청 이전에 제 1 디바이스와 제 2 디바이스 간에 수행되었던 통신에서 사용되었던 난수를 포함할 수 있다. 또한 제 1 난수는 제 1 디바이스가 생성하여 제 2 디바이스에게 송신한 난수를 포함할 수 있다. In operation 2401, the first device may determine whether the first random number transmitted to the second device when the previous communication is performed is stored. According to some embodiments, the first random number may comprise a random number that was used in the communication that was performed between the first device and the second device prior to the current communication start request. In addition, the first random number may include a random number generated by the first device and transmitted to the second device.
단계 2403에서, 제 1 디바이스는 판단 결과에 기초하여, 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 개인키를 생성할 수 있다. 이는 도 22 내지 도 23에서 설명한 바와 대응된다.In operation 2403, the first device may generate a second public key of the first device and a second private key of the first device based on the determination result. This corresponds to those described with reference to FIGS. 22 to 23.
단계 2405에서, 제 1 디바이스는 이전 통신 수행시 제 2 디바이스로부터 수신한 제 2 난수를 제 1 디바이스의 제 1 개인키로 서명 할 수 있다. 즉, 제 1 디바이스는 이전 통신 수행시 제 2 디바이스로부터 수신한 제 2 난수를 이전 통신 수행시 사용했던 제 1 디바이스의 제 1 개인키로 서명할 수 있다. In operation 2405, the first device may sign the second random number received from the second device when the previous communication is performed with the first private key of the first device. That is, the first device may sign the second random number received from the second device when performing the previous communication with the first private key of the first device used when performing the previous communication.
단계 2407에서, 제 1 디바이스는 서명된 제 2 난수를 제 2 디바이스로 송신 할 수 있다.In step 2407, the first device may transmit a signed second random number to the second device.
또한 일부 실시예에 따르면 제 1 디바이스는 서명된 제 2 난수와 함께, 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 공개키, 서명된 제 2 난수에 기초한 해시 값 중 적어도 하나를 제 2 디바이스에게 송신할 수 있다. In addition, according to some embodiments, the first device may include at least one of a second public key of the first device, a second public key of the first device, and a hash value based on the signed second random number together with the signed second random number. You can send to two devices.
또한 일부 실시예에 따르면, 제 1 디바이스는 제 2 디바이스의 제 1 개인키로 서명된 제 1 난수를 수신할 수 있다. 제 1 디바이스는 제 2 디바이스의 제 1 개인키로 서명된 제 1 난수를 제 2 디바이스의 제 1 공개키로 검증할 수 있다. 즉, 제 1 디바이스와 제 2 디바이스는 이전 단계에서 사용된 개인키를 대신 난수를 사용함으로써 도 22 내지 도 23에서 수행한 키공유 방식을 수행할 수 있다. According to some embodiments, the first device may receive a first random number signed with a first private key of the second device. The first device may verify the first random number signed with the first private key of the second device with the first public key of the second device. That is, the first device and the second device may perform the key sharing scheme performed in FIGS. 22 to 23 by using a random number instead of the private key used in the previous step.
일부 실시예에 따르면, 제 1 디바이스는 검증 결과에 기초하여 암호화된 통신을 수행할 수 있다. 이는 도 22 내지 도 23에서 설명한 바와 대응되므로, 자세한 설명은 생략한다. According to some embodiments, the first device may perform encrypted communication based on the verification result. Since this corresponds to those described with reference to FIGS. 22 to 23, a detailed description thereof will be omitted.
또한 일부 실시예에 따르면, 제 1 디바이스와 제 2 디바이스는 현재 수행중인 통신의 종료 이전에 다음 통신 시 사용하기 위한 제 3 난수 및 제 4 난수를 각각 생성하고, 제 1 디바이스 및 제 2 디바이스와 교환 할 수 있다. 제 1 디바이스 및 제 2 디바이스는 교환된 난수를 이용하여 다음 통신 수행시 키 공유를 수행할 수 있다. Further, according to some embodiments, the first device and the second device generate a third random number and a fourth random number for use in the next communication, respectively, before the end of the current communication, and exchange with the first device and the second device. can do. The first device and the second device may perform key sharing when performing the next communication by using the exchanged random number.
일부 실시예에 따르면, 제 1 디바이스는 제 2 디바이스로부터 수신된 제 4 난수를 제 2 개인키로 서명하여 저장할 수 있다. 또한 제 1 디바이스는 서명 이후, 제 1 디바이스의 제 2 개인키를 삭제할 수 있다. 즉, 제 1 디바이스는 개인키를 저장하지 않을 수 있다. According to some embodiments, the first device may sign and store the fourth random number received from the second device with the second private key. In addition, the first device may delete the second private key of the first device after the signature. That is, the first device may not store the private key.
도 25 및 도 26은 일부 실시예에 따른 암호화 통신을 위한 제 1 디바이스와 제 2 디바이스 간의 키 공유 방법을 도시한다. 25 and 26 illustrate a key sharing method between a first device and a second device for encrypted communication, according to some embodiments.
도 25를 참조하면, 단계 2501에서, 제 1 디바이스는 제 1 디바이스의 제 1 공개키, 제 1 디바이스의 제 1 개인키 및 제 2 디바이스의 제 1 공개키를 저장할 수 있다.Referring to FIG. 25, in operation 2501, a first device may store a first public key of a first device, a first private key of a first device, and a first public key of a second device.
또한 일부 실시예에 따르면, 단계 2501의 이전 통신 단계라 함은 도 20에서 설명한 첫번째 통신에 서 수행되는 단계일 수 있다. 또한 일부 실시예에 따르면, 제 1 디바이스는 제 1 디바이스의 제 1 공개키, 제 1 디바이스의 제 1 개인키 및 제 2 디바이스의 제 1 공개키를 저장한 이후, 제 2 디바이스 또는 서버로부터 두번째 통신의 시작을 요청하는 통신 시작 요청을 수신할 수 있다. According to some embodiments, the previous communication step of step 2501 may be a step performed in the first communication described with reference to FIG. 20. Also in accordance with some embodiments, the first device stores the first public key of the first device, the first private key of the first device, and the first public key of the second device, and thereafter, a second communication from the second device or server. A communication start request may be received requesting the start of a network.
단계 2503에서, 제 2 디바이스는 제 1 디바이스의 공개키, 제 2 디바이스의 제 1 개인키 및 제 1 디바이스의 제 1 공개키를 저장할 수 있다. 일부 실시예에 따르면, 단계 2503 또한 도 20에서 설명한 첫번째 통신 시 수행되는 단계일 수 있다. 또한 일부 실시예에 따르면, 제 2 디바이스는 제 1 디바이스의 공개키, 제 2 디바이스의 제 1 개인키 및 제 1 디바이스의 제 1 공개키를 저장한 이후, 제 1 디바이스 또는 서버에게 두번째 통신의 시작을 요청하는 통신 시작 요청을 송신할 수 있다.In operation 2503, the second device may store the public key of the first device, the first private key of the second device, and the first public key of the first device. According to some embodiments, step 2503 may also be a step performed during the first communication described with reference to FIG. 20. According to some embodiments, after the second device has stored the public key of the first device, the first private key of the second device, and the first public key of the first device, the second device initiates a second communication to the first device or server. A communication start request may be sent.
단계 2505에서, 제 1 디바이스는 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 개인키를 생성할 수 있다.In operation 2505, the first device may generate a second public key of the first device and a second private key of the first device.
단계 2507에서, 제 2 디바이스는, 제 2 디바이스의 제 2 공개키 및 제 2디바이스의 제 2 개인키를 생성할 수 있다.In operation 2507, the second device may generate a second public key of the second device and a second private key of the second device.
단계 2509에서, 제 1 디바이스는 제 1 디바이스의 제 1 개인키로 제 1 디바이스의 제 2 공개키를 서명할 수 있다. In step 2509, the first device may sign the second public key of the first device with the first private key of the first device.
단계 2511에서, 제 2 디바이스는 제 2 디바이스의 제 1 개인키로 제 2 디바이스의 제 2 공개키를 서명할 수 있다. 단계 2505 내지 단계 2511은 앞선 도 22 내지 도 23에서 설명한 바와 대응되므로 자세한 설명은 생략한다. In operation 2511, the second device may sign the second public key of the second device with the first private key of the second device. Since steps 2505 to 2511 correspond to those described above with reference to FIGS. 22 to 23, a detailed description thereof will be omitted.
단계 2513에서, 제 1 디바이스는 서명된 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 공개키를 제 2 디바이스에게 송신할 수 있다. In operation 2513, the first device may transmit the second public key of the first device and the second public key of the first device to the second device.
단계 2515에서, 제 2 디바이스는 서명된 제 2 디바이스의 제 2 공개키 및 제 2 디바이스의 제 2 공개키를 제 2 디바이스에게 송신할 수 있다.In step 2515, the second device may transmit the second public key of the second device and the second public key of the second device to the second device.
단계 2517에서, 제 1 디바이스는 제 2 디바이스의 제 1 개인키로 서명된 제 2 디바이스의 제 2 공개키를 검증할 수 있다. 일부 실시예에 따르면, 개인키와 공개키는 대응되며, 공개키로 암호화한 데이터는 개인키로 복호화 할 수 있고, 개인키로 서명한 데이터는 공개키로 검증할 수 있다. In operation 2517, the first device may verify a second public key of the second device signed with the first private key of the second device. According to some embodiments, the private key and the public key correspond to each other, data encrypted with the public key can be decrypted with the private key, and data signed with the private key can be verified with the public key.
일부 실시예에 다르면 제 1 디바이스는 단계 2501에서 저장된 제 2 디바이스의 제 1 공개키를 이용하여 서명된 제 2 디바이스의 제 2 공개키를 검증할 수 있다. 또한 제 1 디바이스는 검증된 제 2 디바이스의 제 2 공개키를 수신된 제 2 디바이스의 제 2 공개키와 비교할 수도 있다.According to some embodiments, the first device may verify the second public key of the signed second device using the first public key of the second device stored in step 2501. The first device may also compare the second public key of the verified second device to the second public key of the received second device.
단계 2519에서, 제 2 디바이스는 제 1 디바이스의 제 1 공개키로 서명된 제 1 디바이스의 제 1 공개키를 검증할 수 있다. 일부 실시예에 다르면 제 2 디바이스는 단계 2503에서 저장된 제 1 디바이스의 제 1 공개키를 이용하여 서명된 제 1 디바이스의 제 2 공개키를 검증할 수 있다. 또한 제 2 디바이스는 검증된 제 1 디바이스의 제 2 공개키를 수신된 제 1 디바이스의 제 2 공개키와 비교할 수도 있다.In operation 2519, the second device may verify the first public key of the first device signed with the first public key of the first device. According to some embodiments, the second device may verify the second public key of the signed first device using the first public key of the first device stored in step 2503. The second device may also compare the second public key of the verified first device with the second public key of the received first device.
단계 2521에서, 제 1 디바이스와 제 2 디바이스는 검증 결과에 기초하여 암호화 키를 생성 및 교환할 수 있다. 암호화 키 생성 및 교환은 앞서 설명한 바와 대응되므로 자세한 설명은 생략한다. In operation 2521, the first device and the second device may generate and exchange encryption keys based on the verification result. Since encryption key generation and exchange correspond to those described above, a detailed description thereof will be omitted.
도 26을 참조하면 단계 2601에서, 제 1 디바이스는 제 2 디바이스에게 송신한 제 1 난수, 제 1 디바이스의 제 1 공개키로 서명된 제 2 난수 및 제 2 디바이스의 제 1 공개키를 저장할 수 있다. 일부 실시예에 따르면, 제 2 난수는 제 1 디바이스가 제 2 디바이스로부터 이전의 통신 단계에서 수신한 난수를 포함할 수 있다. Referring to FIG. 26, in operation 2601, the first device may store a first random number transmitted to the second device, a second random number signed with the first public key of the first device, and a first public key of the second device. According to some embodiments, the second random number may comprise a random number received by the first device in a previous communication step from the second device.
단계 2601의 이전 통신 단계라 함은 도 20에서 설명한 첫번째 통신에 서 수행되는 단계일 수 있다. 또한 일부 실시예에 따르면, 제 1 디바이스는 제 2 디바이스에게 송신한 제 1 난수, 제 1 디바이스의 제 1 공개키로 서명된 제 2 난수 및 제 2 디바이스의 제 1 공개키를 저장한 이 후, 제 2 디바이스 또는 서버로부터 두번째 통신의 시작을 요청하는 통신 시작 요청을 수신할 수 있다. The previous communication step of step 2601 may be a step performed in the first communication described with reference to FIG. 20. According to some embodiments, after storing the first random number transmitted to the second device, the second random number signed with the first public key of the first device, and the first public key of the second device, A communication start request may be received from the 2 device or server requesting the start of the second communication.
단계 2603에서, 제 2 디바이스는 제 2 디바이스의 제 1 공개키로 서명된 제 1 난수, 제 1 디바이스에게 송신한 제 2 난수 및 제 1 디바이스의 제 1 공개키를 저장할 수 있다. In operation 2603, the second device may store a first random number signed with the first public key of the second device, a second random number transmitted to the first device, and a first public key of the first device.
단계 2603의 이전 통신 단계라 함은 도 20에서 설명한 첫번째 통신에 서 수행되는 단계일 수 있다. 또한 일부 실시예에 따르면, 제 2 디바이스는 제 1 디바이스에게 송신한 제 2 난수, 제 2 디바이스의 제 1 공개키로 서명된 제 1 난수 및 제 1 디바이스의 제 1 공개키를 저장한 이 후, 제 1 디바이스 또는 서버에게 두번째 통신의 시작을 요청하는 통신 시작 요청을 송신할 수 있다. The previous communication step of step 2603 may be a step performed in the first communication described with reference to FIG. 20. According to some embodiments, the second device stores a second random number sent to the first device, a first random number signed with the first public key of the second device, and a first public key of the first device, and then stores the second random number. A communication start request may be sent to the first device or server requesting the start of the second communication.
단계 2605에서, 제 1 디바이스는 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 개인키를 생성할 수 있다.In operation 2605, the first device may generate a second public key of the first device and a second private key of the first device.
단계 2607에서, 제 2 디바이스는, 제 2 디바이스의 제 2 공개키 및 제 2 디바이스의 제 2 개인키를 생성할 수 있다.In operation 2607, the second device may generate a second public key of the second device and a second private key of the second device.
단계 2609에서, 제 1 디바이스는 서명된 제 2 난수, 제 1 디바이스의 제 2 공개키 및 서명된 제 2 난수와 제 1 디바이스의 제 2 공개키에 기초하여 생성된 해시 값을 제 2 디바이스에게 송신할 수 있다.In step 2609, the first device transmits a hash value generated based on the signed second random number, the second public key of the first device, and the signed second random number, and the second public key of the first device to the second device. can do.
일부 실시예에 따르면, 제 1 디바이스가 송신한 해시 값은 제 2 디바이스가 제 1 디바이스를 검증하기 위해 사용될 수 있다. 추가적으로 제 1 디바이스는 제 1 디바이스의 핀 넘버를 추가적으로 고려함으로써 생성할 수도 있다.According to some embodiments, the hash value sent by the first device may be used by the second device to verify the first device. Additionally, the first device may be created by further considering the pin number of the first device.
단계 2611에서, 제 2 디바이스는 서명된 제 1 난수, 제 2 디바이스의 제 2 공개키 및 서명된 제 1 난수와 제 2 디바이스의 제 2 공개키에 기초하여 생성된 해시 값을 제 1 디바이스에게 송신할 수 있다. In step 2611, the second device sends to the first device a hash value generated based on the signed first random number, the second public key of the second device, and the signed first random number and the second public key of the second device. can do.
일부 실시예에 따르면, 제 2 디바이스가 송신한 해시 값은 제 1 디바이스가 제 2 디바이스를 검증하기 위해 사용될 수 있다. 추가적으로 제 2 디바이스는 제 2 디바이스의 핀 넘버를 추가적으로 고려함으로써 생성할 수도 있다.According to some embodiments, the hash value sent by the second device may be used by the first device to verify the second device. Additionally, the second device may be created by further considering the pin number of the second device.
단계 2613에서, 제 1 디바이스는 제 2 디바이스의 제 1 공개키로 서명된 제 1 난수를 검증할 수 있다. In operation 2613, the first device may verify the first random number signed with the first public key of the second device.
단계 2615에서, 제 2 디바이스는 제 1 디바이스의 제 1 공개키로 서명된 제 2 난수를 검증할 수 있다. In operation 2615, the second device may verify a second random number signed with the first public key of the first device.
단계 2617에서, 제 1 디바이스와 제 2 디바이스는 검증 결과에 기초하여 암호화 키를 생성 및 교환할 수 있다. 단계 2613 내지 단계 2617은 앞서 설명한 내용과 대응되므로 자세한 설명은 생략한다.In operation 2617, the first device and the second device may generate and exchange encryption keys based on the verification result. Steps 2613 to 2617 correspond to the above descriptions, and thus a detailed description thereof will be omitted.
도 27은 일부 실시예에 따른 SAS 생성 방법을 도시한다.27 illustrates a SAS generation method according to some embodiments.
일부 실시예에 따르면, 제 1 디바이스는 제 1 디바이스의 공개키(2701) 및 제 2 디바이스의 공개키(2703)을 해시함수에 입력함으로써, 해시값(2705)을 생성할 수 있다. 일부 실시예에 따르면, 제 2 디바이스 또한 제 1 디바이스와 동일한 방식으로 해시 값을 생성할 수 있다.According to some embodiments, the first device may generate the hash value 2705 by inputting the public key 2701 of the first device and the public key 2703 of the second device into a hash function. According to some embodiments, the second device may also generate the hash value in the same manner as the first device.
일부 실시예에 따르면, 제 1 디바이스는 해시 값(2703)을 생성하고, 생성한 해시 값을 소정의 단어(2707)로 변환할 수 있다. 제 1 디바이스는 소정의 단어(2707)를 제 2 디바이스에게 송신할 수 있다. According to some embodiments, the first device may generate a hash value 2703 and convert the generated hash value into a predetermined word 2707. The first device can transmit the predetermined word 2707 to the second device.
일부 실시예에 따르면, 제 1 디바이스는 제 1 디바이스의 사용자에게, 제 2 디바이스는 제 2 디바이스의 사용자에게 소정의 단어(2707)를 출력하고, 출력된 소정의 단어(2707)에 기초하여 사용자 입력을 수신함으로서, 제 1 디바이스와 제 2 디바이스는 상호간의 인증 절차를 수행할 수 있다. According to some embodiments, the first device outputs a predetermined word 2707 to a user of the first device, and the second device outputs a predetermined word 2707 to the user of the second device, and based on the output predetermined word 2707. By receiving the, the first device and the second device can perform mutual authentication procedure.
도 28은 일부 실시예에 따른 키 공유 디바이스의 블록도이다.28 is a block diagram of a key sharing device in accordance with some embodiments.
도 28에 도시된 바와 같이 일부 실시예에 따른 워터마크 데이터를 삽입하는 디바이스인 제 1 디바이스(101)는 제어부(2801), 통신부(2803) 및 제어부(2805)를 포함할 수 있다. 그러나 도 28에 도시된 구성 요소가 모두 제 1 디바이스(101)의 필수 구성 요소인 것은 아니다. 도 28에 도시된 구성 요소보다 많은 구성 요소에 의해 제 1 디바이스(101)가 구현될 수도 있고, 도 28에 도시된 구성 요소보다 적은 구성 요소에 의해 제 1 디바이스(101)가 구현될 수도 있다. 또한 일부 실시예에 따르면, 제 2 디바이스 또한 제 1 디바이스(101)와 동일한 구성을 포함할 수 있다.As illustrated in FIG. 28, the first device 101, which is a device for inserting watermark data according to some embodiments, may include a controller 2801, a communicator 2803, and a controller 2805. However, not all components illustrated in FIG. 28 are essential components of the first device 101. The first device 101 may be implemented by more components than the components shown in FIG. 28, and the first device 101 may be implemented by fewer components than the components shown in FIG. 28. Further, according to some embodiments, the second device may also include the same configuration as the first device 101.
일부 실시예에 따르면, 제어부(2801)는 통상적으로 제 1 디바이스(101)의 전반적인 동작을 제어한다. 예를 들어, 제어부(2801)는 제 1 디바이스(101)에 저장된 프로그램을 실행함으로써, 제 1 디바이스(101)가 포함하는 구성요소들을 전반적으로 제어할 수 있다. 또한 제어부(2801) 적어도 하나의 프로세서를 포함할 수 있다.According to some embodiments, the controller 2801 typically controls the overall operation of the first device 101. For example, the controller 2801 may control overall components included in the first device 101 by executing a program stored in the first device 101. In addition, the controller 2801 may include at least one processor.
일부 실시예에 따르면, 제어부(2801)는 통신 내역에 기초하여 제 1 디바이스 내에 공개키, 개인키, 난수 등이 저장되어 있는지 판단할 수 있다. 즉, 제어부(2801)는 이전 통신 단계에서 사용된 후, 다음 통신 단계를 위해 저장된 공개키, 개인키, 난수 등이 저장되어 있는지 여부 및 현재 통신 중인 디바이스와의 이전 통신 내역이 존재하는지를 판단할 수 있다. According to some embodiments, the controller 2801 may determine whether a public key, a private key, a random number, and the like are stored in the first device based on the communication details. That is, after being used in the previous communication step, the controller 2801 may determine whether the stored public key, private key, random number, etc. are stored for the next communication step and whether there is a previous communication history with the device currently communicating. have.
일부 실시예에 따르면, 제어부(2801)는 통신 내역에 기초하여, 제 2 디바이스에게 송신한 제 1 디바이스의 제 1 공개키 및 제 1 디바이스의 제 1 공개키에 대응하는 제 1 디바이스의 제 1 개인키가 저장되어 있는지 판단할 수 있다. 공개키, 개인키, 난수에 대한 설명은 앞서 설명한 바와 대응되므로, 자세한 설명은 생략한다.According to some embodiments, the controller 2801 may include a first individual of the first device corresponding to the first public key of the first device and the first public key of the first device based on the communication history. You can determine if the key is stored. Descriptions of the public key, private key, and random numbers correspond to those described above, and thus detailed descriptions thereof will be omitted.
또한 일부 실시예에 따르면, 제어부(2801)는 암호화부(2805)의 검증 결과에 따라 암호화 통신을 수행할지 여부를 결정할 수 있다. 일부 실시예에 따르면, 제어부(2801)는 암호화 키를 생성할지 또는 SAS 계산을 수행할 지 여부를 결정할 수 있다. In addition, according to some embodiments, the controller 2801 may determine whether to perform encrypted communication according to the verification result of the encryption unit 2805. According to some embodiments, the controller 2801 may determine whether to generate an encryption key or perform a SAS calculation.
일부 실시예에 따르면, 통신부(2803)는 제 2 디바이스에게 공개키, 난수, 서명된 공개키 등을 송신할 수 있다. 또한 통신부(2803)는 생성된 암호화 키 교환을 위한 키 확인 데이터 또는 MAC(Message Authentication Code)를 송신할 수도 있다. According to some embodiments, the communication unit 2803 may transmit a public key, a random number, a signed public key, and the like to the second device. The communication unit 2803 may also transmit key verification data or MAC (Message Authentication Code) for the generated encryption key exchange.
일부 실시예에 따르면, 통신부(2803)는 서명된 제 2 공개키를 제 2 디바이스로 송신할 수 있고, 제 2 디바이스로부터 제 2 디바이스의 제 1 개인키로 서명된 제 2 공개키를 수신할 수도 있다. 통신부(2803)가 송신 및 수신하는 공개키, 난수, 서명된 공개키 등에 대한 설명은 앞서 설명한 바와 대응되므로 자세한 설명은 생략한다.According to some embodiments, the communication unit 2803 may transmit the signed second public key to the second device, and may receive a second public key signed with the first private key of the second device from the second device. . Descriptions of the public key, the random number, the signed public key, and the like transmitted and received by the communication unit 2803 correspond to those described above, and thus a detailed description thereof will be omitted.
또한 일부 실시예에 따르면, 통신부(2803)는 통신 시작 요청을 송신 및 수신할 수 있다. 앞서 설명한 바와 같이 공유, 교환이라 함은 수신 및 송신 동작을 모두 포함할 수 있다. According to some embodiments, the communication unit 2803 may transmit and receive a communication start request. As described above, sharing and exchanging may include both receiving and transmitting operations.
일부 실시예에 따르면, 암호화부(2805)는 공개키와 같은 소정의 데이터를 서명, 검증, 암호화 및 복호화 할 수 있다. 일부 실시예에 따르면, 암호화부(2805)는 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 개인키를 생성하고, 생성된 제 1 디바이스의 제 2 공개키를 제 1 디바이스의 제 1 개인키로 서명할 수 있다. 또한 암호화부(2805)는, 통신 내역에 기초하여, 제 2 디바이스의 제 1 개인키와 대응되는 제 2 디바이스의 제 1 공개키를 획득하고, 획득한 제 2 디바이스의 제 1 공개키로 서명된 제 2 공개키를 검증할 수 있다. 암호화부(2805)가 서명, 검증, 암호화 및 복호화 하는 동작은 앞서 설명한 바와 대응되므로, 자세한 설명은 생략한다.According to some embodiments, the encryption unit 2805 may sign, verify, encrypt, and decrypt certain data such as a public key. According to some embodiments, the encryption unit 2805 generates a second public key of the first device and a second private key of the first device, and converts the generated second public key of the first device into a first device of the first device. You can sign with your private key. Also, the encryption unit 2805 acquires a first public key of the second device corresponding to the first private key of the second device based on the communication history, and is signed with the obtained first public key of the second device. 2 The public key can be verified. Since the operation of signing, verifying, encrypting, and decrypting the encryption unit 2805 corresponds to those described above, a detailed description thereof will be omitted.
일부 실시예에 따르면, 암호화부(2805)는, 현재 수행중인 통신이 종료되면, 이전 통신의 수행 후 저장되었던 데이터를 삭제할 수 있다. 예를 들면, 암호화부(2805)는 이전 통신에서 사용되었던, 제 1 디바이스의 제 1 개인키, 제 1 디바이스의 제 1 공개키 및 제 2 디바이스의 제 1 공개키를 삭제할 수 있다. 이는 앞서 설명한 내용과 대응된다.According to some embodiments, when the current communication ends, the encryption unit 2805 may delete data stored after the previous communication. For example, the encryption unit 2805 may delete the first private key of the first device, the first public key of the first device, and the first public key of the second device, which were used in the previous communication. This corresponds to the above description.
또한 일부 실시예에 따르면, 검증 결과에 따른 제어부(2801)의 제어에 따라 암호화부(2805)는 암호화 키를 생성하거나, SAS 계산을 수행할 수 있다. 암호화 키의 생성 및 SAS 계산은 앞서 설명한 동작과 대응된다. According to some embodiments, under the control of the controller 2801 according to the verification result, the encryption unit 2805 may generate an encryption key or perform SAS calculation. Generation of encryption keys and SAS calculations correspond to the operations described above.
도 28은 일부 실시예에 따른 키 공유 디바이스의 세부 블록도이다.28 is a detailed block diagram of a key sharing device in accordance with some embodiments.
도 29에 도시된 바와 같이 일부 실시예에 따른 키 공유 디바이스인 제 1 디바이스(101)는, 제어부(2801), 통신부(2803), 암호화부(2805) 외에도 사용자 입력부(2900), 출력부(2910), 센서부(2920), A/V 입력부(2950) 및 저장부(2960)을 더 포함할 수도 있다. As illustrated in FIG. 29, the first device 101, which is a key sharing device according to some embodiments, may include a user input unit 2900 and an output unit 2910 in addition to the control unit 2801, the communication unit 2803, and the encryption unit 2805. ) May further include a sensor unit 2920, an A / V input unit 2950, and a storage unit 2960.
통신부(2803)는, 제 1 디바이스(101)와 제 2 디바이스(102) 또는 외부 서버 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(2803)는, 근거리 통신부(2941), 이동통신부(2943), 방송 수신부(2945)를 포함할 수 있다.The communication unit 2803 may include one or more components that allow communication between the first device 101 and the second device 102 or an external server. For example, the communicator 2803 may include a short range communicator 2941, a mobile communicator 2943, and a broadcast receiver 2945.
일부 실시예에 따르면 근거리 통신부(2941)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 자기장 통신부(Near Field Communication), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. According to some embodiments, the short range communication unit 2939 may include a Bluetooth communication unit, a BLE (Bluetooth Low Energy) communication unit, a near field communication unit (Near Field Communication), a WLAN (WiFi) communication unit, a Zigbee communication unit, an infrared ray (IrDA) Association (Communication) communication unit, WFD (Wi-Fi Direct) communication unit, UWB (ultra wideband) communication unit, Ant + communication unit and the like, but is not limited thereto.
일부 실시예에 따르면, Ant+ 통신부는 블루투스와 같이 소정의 규격을 가진 ANT라는 무선 네트워크 프로토콜을 이용한 무선 통신을 수행하는 통신부로써, 저전력 기술 기반의 프로토콜이다. ANT 프로토콜은 신체 정보 등의 다양한 데이터를 프로파일로 저장하여 다른 디바이스에 전송할 수 있는 프로토콜로써, 당업자에게 자명하므로, 자세한 설명은 생략한다.이동 통신부(2943)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.According to some embodiments, the Ant + communication unit is a communication unit that performs wireless communication using a wireless network protocol called ANT having a predetermined standard, such as Bluetooth, and is a low power technology based protocol. The ANT protocol is a protocol that can store various data such as body information as a profile and transmit it to other devices, and will be apparent to those skilled in the art, and thus, detailed description thereof will be omitted. The mobile communication unit 2943 is a base station, an external terminal, Send and receive wireless signals with at least one of the servers. Here, the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call call signal, or a text / multimedia message.
방송 수신부(2945)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 제 1 디바이스(101)는 방송 수신부(2945)를 포함하지 않을 수도 있다.The broadcast receiving unit 2945 receives a broadcast signal and / or broadcast related information from the outside through a broadcast channel. The broadcast channel may include a satellite channel and a terrestrial channel. According to an implementation example, the first device 101 may not include the broadcast receiver 2945.
저장부(메모리)(2960)는, 제어부(2801)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 제 1 디바이스(101)로 입력되거나 제 1디바이스(101)로부터 출력되는 데이터를 저장할 수도 있다. 또한 일부 실시예에 따르면, 저장부(2960)는 공개키, 개인키, 난수 등을 저장할 수 있다.The storage unit 2960 may store a program for processing and controlling the control unit 2801, and may store data input to the first device 101 or output from the first device 101. According to some embodiments, the storage unit 2960 may store a public key, a private key, a random number, and the like.
저장부(메모리)(2960)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. The storage unit 2960 may include a flash memory type, a hard disk type, a multimedia card micro type, and a card type memory (for example, SD or XD memory). RAM, Random Access Memory (RAM), Random Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), Magnetic At least one type of storage medium may include a memory, a magnetic disk, and an optical disk.
저장부(메모리)(2960)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(2961), 터치 스크린 모듈(2962), 알림 모듈(2963) 등으로 분류될 수 있다. Programs stored in the storage (memory) 2960 may be classified into a plurality of modules according to their functions. For example, the UI module 2961, the touch screen module 2962, the notification module 2963, and the like may be classified into a plurality of modules. Can be classified.
UI 모듈(2961)은, 제 1 디바이스(101)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 예를 들어, UI 모듈(2961)는 제 1 디바이스(101)가 제 2 디바이스(102)와 통신을 수행하기 위한 절차를 진행하고 있는지 확인할 수 있는 UI 또는 GUI를 제공할 수 있다.The UI module 2961 may provide a specialized UI, GUI, or the like that is interoperable with the first device 101. For example, the UI module 2961 may provide a UI or GUI for confirming whether the first device 101 is in the process of performing communication with the second device 102.
터치 스크린 모듈(2962)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(2801)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(2962)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(2962)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.The touch screen module 2962 may detect a touch gesture on a user's touch screen and transmit information about the touch gesture to the controller 2801. The touch screen module 2962 according to some embodiments may recognize and analyze a touch code. The touch screen module 2962 may be configured as separate hardware including a controller.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.Various sensors may be provided inside or near the touch screen to detect a touch or proximity touch of the touch screen. An example of a sensor for sensing a touch of a touch screen is a tactile sensor. The tactile sensor refers to a sensor that senses the contact of a specific object to the extent that a person feels or more. The tactile sensor may sense various information such as the roughness of the contact surface, the rigidity of the contact object, the temperature of the contact point, and the like.
또한, 터치스크린의 터치를 감지하기 위한 센서의 일례로 근접 센서가 있다.In addition, an example of a sensor for sensing a touch of a touch screen is a proximity sensor.
근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 일부 실시예에 따르면, 제 1 디바이스(101)는 근접 센서를 통해 제 2 디바이스와의 거리 정보를 획득할 수도 있다. The proximity sensor refers to a sensor that detects the presence or absence of an object approaching a predetermined detection surface or an object present in the vicinity without using a mechanical contact by using an electromagnetic force or infrared rays. Examples of the proximity sensor include a transmission photoelectric sensor, a direct reflection photoelectric sensor, a mirror reflection photoelectric sensor, a high frequency oscillation proximity sensor, a capacitive proximity sensor, a magnetic proximity sensor, and an infrared proximity sensor. According to some embodiments, the first device 101 may obtain distance information with the second device through the proximity sensor.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.The user's touch gesture may include tap, touch and hold, double tap, drag, pan, flick, drag and drop, and swipe.
알림 모듈(2963)은 제 1 디바이스(101)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 제 1 디바이스(101)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(2963)은 디스플레이부(2911)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(2912)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(2913)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다. 저장부(메모리)(2960)가 수행하는 동작은 앞서 설명한 내용과 대응되므로 자세한 설명은 생략한다.The notification module 2963 may generate a signal for notifying occurrence of an event of the first device 101. Examples of events occurring in the first device 101 include call signal reception, message reception, key signal input, schedule notification, and the like. The notification module 2963 may output a notification signal in the form of a video signal through the display unit 2911, or may output the notification signal in the form of an audio signal through the sound output unit 2912, or may include a vibration motor 2913. Through the notification signal may be output in the form of a vibration signal. Since the operation performed by the storage unit 2960 corresponds to the above description, a detailed description thereof will be omitted.
제어부(2801)는 제 1 디바이스(101)의 전반적인 동작을 제어한다. 이는 앞서 설명한 바와 대응되므로, 자세한 설명은 생략한다. The controller 2801 controls the overall operation of the first device 101. Since this corresponds to the above description, a detailed description thereof will be omitted.
사용자 입력 수신부(2900)는, 사용자가 제 1 디바이스(101)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(2900)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.The user input receiver 2900 means a means for a user to input data for controlling the first device 101. For example, the user input unit 2900 may include a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive type, infrared sensing type, surface ultrasonic conduction type, and integral type). Tension measurement method, piezo effect method, etc.), jog wheel, jog switch, etc. may be, but is not limited thereto.
출력부(2910)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(2910)는 디스플레이부(2911), 음향 출력부(2912), 및 진동 모터(2913)를 포함할 수 있다.The output unit 2910 may output an audio signal, a video signal, or a vibration signal, and the output unit 2910 may include a display unit 2911, an audio output unit 2912, and a vibration motor 2913. have.
디스플레이부(2911)는 제 1 디바이스(101)에서 처리되는 정보를 표시 출력한다. The display unit 2911 displays and outputs information processed by the first device 101.
한편, 디스플레이부(2911)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(2911)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(2911)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 제 1 디바이스(101)의 구현 형태에 따라 제 1 디바이스(101)는 디스플레이부(2911)를 2개 이상 포함할 수도 있다. 이때, 2개 이상의 디스플레이부(2911)는 힌지(hinge)를 이용하여 마주보게 배치될 수 있다. Meanwhile, when the display unit 2911 and the touch pad form a layer structure to form a touch screen, the display unit 2911 may be used as an input device in addition to the output device. The display unit 2911 includes a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display 3D display, an electrophoretic display. In addition, according to the implementation form of the first device 101, the first device 101 may include two or more display units 2911. In this case, the two or more display units 2911 may be disposed to face each other using a hinge.
음향 출력부(2912)는 통신부(2100)로부터 수신되거나 저장부(메모리)(2940)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(2912)는 디바이스(101)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다. 이러한 음향 출력부(6222)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.The sound output unit 2912 outputs audio data received from the communication unit 2100 or stored in the storage unit (memory) 2940. In addition, the sound output unit 2912 outputs a sound signal related to a function (for example, a call signal reception sound, a message reception sound, and a notification sound) performed by the device 101. The sound output unit 6222 may include a speaker, a buzzer, and the like.
진동 모터(2913)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(6229)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. 또한, 진동 모터(2913)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.The vibration motor 2913 may output a vibration signal. For example, the vibration motor 6229 may output a vibration signal corresponding to the output of audio data or video data (eg, a call signal reception sound, a message reception sound, and the like). In addition, the vibration motor 2913 may output a vibration signal when a touch is input to the touch screen.
센서부(2920)는, 제 1 디바이스(101)의 상태 또는 제 1 디바이스(101) 주변의 상태를 감지하고, 감지된 정보를 제어부(2801)로 전달할 수 있다. The sensor unit 2920 may detect a state of the first device 101 or a state around the first device 101 and transmit the detected information to the controller 2801.
센서부(2920)는, 지자기 센서(Magnetic sensor)(2921), 가속도 센서(Acceleration sensor)(2922), 온/습도 센서(2923), 적외선 센서(2924), 자이로스코프 센서(2925), 위치 센서(예컨대, GPS)(2926), 기압 센서(2927), 근접 센서(2928), 및 RGB 센서(광센서)(illuminance sensor)(2929) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.The sensor unit 2920 may include a geomagnetic sensor 2921, an acceleration sensor 2922, a temperature / humidity sensor 2913, an infrared sensor 2924, a gyroscope sensor 2925, a position sensor (Eg, GPS) 2926, barometric pressure sensor 2927, proximity sensor 2928, and RGB sensor (illuminance sensor) 2929, but are not limited thereto. Since functions of the respective sensors can be intuitively deduced by those skilled in the art from the names, detailed descriptions thereof will be omitted.
신호 획득부(A/V(Audio/Video)입력부)(2930)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(2951)와 음향 입력부(2952) 등이 포함될 수 있다. 카메라(2951)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 제어부(2801) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. The signal acquisition unit (A / V input unit) 2930 is for inputting an audio signal or a video signal, and may include a camera 2951 and a sound input unit 2528. The camera 2951 may obtain an image frame such as a still image or a moving image through an image sensor in a video call mode or a shooting mode. The image captured by the image sensor may be processed by the controller 2801 or a separate image processor (not shown).
카메라(2951)에서 처리된 화상 프레임은 저장부(메모리)(2960)에 저장되거나 통신부(2803)를 통하여 외부로 송신될 수 있다. 카메라(2951)는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다.The image frame processed by the camera 2951 may be stored in the storage (memory) 2960 or transmitted to the outside via the communication unit 2803. Two or more cameras 2951 may be provided depending on the configuration aspect of the terminal.
음향 입력부(2952)는, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 일부 실시예에 따르면, 음향 입력부(2952)는 마이크로폰일 수 있으며, 상기 예시에 제한되지 않는다. 음향 입력부(2952)은 외부 디바이스, 서버 또는 사용자로부터 음향 신호를 수신할 수 있다. 또한 음향 입력부(2952)는 외부의 음향 신호를 입력받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다. The sound input unit 2952 receives an external sound signal and processes the sound signal into electrical voice data. According to some embodiments, the sound input unit 2952 may be a microphone, but is not limited to the above example. The sound input unit 2952 may receive a sound signal from an external device, a server, or a user. In addition, the sound input unit 2952 may use various noise removal algorithms to remove noise generated in the process of receiving an external sound signal.
본 발명에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. The device according to the invention comprises a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a user interface such as a touch panel, a key, a button and the like. Device and the like. Methods implemented by software modules or algorithms may be stored on a computer readable recording medium as computer readable codes or program instructions executable on the processor. The computer-readable recording medium may be a magnetic storage medium (eg, read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optical reading medium (eg, CD-ROM). ) And DVD (Digital Versatile Disc). The computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. The medium is readable by the computer, stored in the memory, and can be executed by the processor.
본 발명에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 발명에서 전체적으로 병합하여 나타낸 것과 동일하게 본 발명에 병합될 수 있다.All documents, including publications, patent applications, patents, and the like, cited in the present invention, may be incorporated into the present invention as if each cited document were individually and specifically shown as merged or as totally merged in the present invention. .
본 발명의 이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 본 발명의 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 본 발명은 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다. For the understanding of the present invention, reference numerals have been set forth in the preferred embodiments illustrated in the drawings, and specific terms are used to describe the embodiments of the present invention, but the present invention is not limited to the specific terms, and the present invention. May include all components conventionally conceivable to a person skilled in the art.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 디바이스들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. '매커니즘', '요소', '수단', '구성'과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.The invention can be represented by functional block configurations and various processing steps. Such functional blocks may be implemented in various numbers of hardware or / and software configurations that perform particular functions. For example, the present invention relates to integrated circuit configurations such as memory, processing, logic, look-up table, etc., which may execute various functions by the control of one or more microprocessors or other control devices. It can be adopted. Similar to the components in the present invention may be implemented in software programming or software elements, the present invention includes various algorithms implemented in data structures, processes, routines or other combinations of programming constructs, including C, C ++ It may be implemented in a programming or scripting language such as Java, an assembler, or the like. The functional aspects may be implemented with an algorithm running on one or more processors. In addition, the present invention may employ the prior art for electronic environment setting, signal processing, and / or data processing. Terms such as 'mechanism', 'element', 'means' and 'configuration' can be widely used and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 디바이스에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, '필수적인', '중요하게' 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.Particular implementations described in the present invention are embodiments and do not limit the scope of the present invention in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection or connection members of the lines between the components shown in the drawings are illustrative of the functional connection and / or physical or circuit connections as an example, in the actual device replaceable or additional various functional connections, physical It may be represented as a connection, or circuit connections. In addition, if there is no specific reference such as 'essential', 'important' and the like may not be a necessary component for the application of the present invention.
본 발명의 명세서(특히 특허청구범위에서)에서 '상기'의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.In the specification (particularly in the claims) of the present invention, the use of the term 'above' and similar indicating terms may correspond to both singular and plural. In addition, in the present invention, when the range is described, it includes the invention to which the individual values belonging to the range are applied (if not stated to the contrary), and each individual value constituting the range is described in the detailed description of the invention. Same as Finally, if there is no explicit order or contrary to the steps constituting the method according to the invention, the steps may be performed in a suitable order. The present invention is not necessarily limited to the description order of the above steps. The use of all examples or exemplary terms (eg, etc.) in the present invention is merely for the purpose of describing the present invention in detail, and the scope of the present invention is limited by the examples or exemplary terms unless defined by the claims. It doesn't happen. In addition, one of ordinary skill in the art appreciates that various modifications, combinations and changes can be made depending on design conditions and factors within the scope of the appended claims or equivalents thereof.

Claims (20)

  1. 제1 디바이스에서 암호화된 데이터를 송신하는 방법으로써,A method of transmitting encrypted data at a first device,
    송신할 데이터를 암호화하기 위한 암호화키를 생성하는 단계;Generating an encryption key for encrypting data to be transmitted;
    상기 생성된 암호화키를 이용하여 키식별정보를 생성하는 단계;Generating key identification information using the generated encryption key;
    상기 생성된 암호화 키를 이용하여 송신할 데이터를 암호화하는 단계; 및Encrypting data to be transmitted using the generated encryption key; And
    상기 암호화된 데이터 및 상기 키식별정보를 포함하는 데이터 세트를 제2 디바이스로 송신하는 단계를 포함하고,Transmitting a data set including the encrypted data and the key identification information to a second device,
    상기 키식별정보는 상기 제2 디바이스가 식별할 수 있는 상기 제1 디바이스의 식별정보 또는 상기 암호화키를 식별할 수 있는 정보를 포함하는, 데이터를 송신하는 방법.And the key identification information includes identification information of the first device that can be identified by the second device or information that can identify the encryption key.
  2. 제 1항에 있어서,The method of claim 1,
    상기 암호화키를 생성하는 단계는,Generating the encryption key,
    상기 제1 디바이스의 공개키 및 제1 난수를 상기 제2 디바이스로 전송하고 상기 제2 디바이스로부터 상기 제2 디바이스의 공개키 및 제2 난수를 수신하는 단계; 및Transmitting the public key and the first random number of the first device to the second device and receiving the public key and the second random number of the second device from the second device; And
    상기 제1 디바이스의 공개키 및 상기 제2 디바이스의 공개키를 이용하여 상기 암호화키를 생성하는 단계를 포함하고,Generating the encryption key using the public key of the first device and the public key of the second device;
    상기 키식별정보는 상기 제1 난수, 상기 제2 난수 및 상기 암호화키를 이용하여 생성되며,The key identification information is generated using the first random number, the second random number and the encryption key,
    상기 키식별정보는 상기 제 1 난수 또는 상기 제 2 난수에 기초하여 상기 제 1 디바이스를 식별할 수 있는 정보를 포함하는 것을 특징으로 하는,The key identification information may include information for identifying the first device based on the first random number or the second random number.
    암호화된 데이터를 송신하는 방법.How to send encrypted data.
  3. 제 1항에 있어서,The method of claim 1,
    상기 키식별정보를 생성하는 단계는,Generating the key identification information,
    상기 제 2 디바이스로부터 상기 제2 디바이스의 공개키를 수신하는 단계; 및Receiving a public key of the second device from the second device; And
    상기 수신된 제2 디바이스의 공개키를 이용하여 상기 암호화키를 암호화하여 상기 키식별정보를 생성하는 단계를 포함하는, 암호화된 데이터를 송신하는 방법.Encrypting the encryption key using the received public key of the second device to generate the key identification information.
  4. 제 1항에 있어서,The method of claim 1,
    상기 암호화키를 생성하는 단계는  Generating the encryption key
    제2 디바이스와 비공개키를 공유하는 단계; 및Sharing a private key with a second device; And
    상기 비공개키 및 제1 난수를 이용하여 상기 암호화키를 생성하는 단계를 포함하고,Generating the encryption key using the private key and the first random number;
    상기 키식별정보는 상기 제1 난수, 및 상기 제1 난수와 상기 암호화키를 조합한 값을 상기 제1 난수로 키-해싱한 값을 포함하는, 암호화된 데이터를 송신하는 방법.And the key identification information comprises a key-hashed value of the first random number and a combination of the first random number and the encryption key into the first random number.
  5. 제2 디바이스에서 암호화된 데이터를 수신하는 방법으로써,As a method of receiving encrypted data at a second device,
    제1 디바이스로부터 암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 수신하는 단계;Receiving a data set comprising encrypted data and key identification information from the first device;
    상기 키식별정보를 이용하여 제1 디바이스에 대한 암호화키를 획득하는 단계;Obtaining an encryption key for a first device by using the key identification information;
    상기 획득된 암호화키를 이용하여 상기 암호화된 데이터를 복호화하는 단계를 포함하며,Decrypting the encrypted data using the obtained encryption key;
    상기 키식별정보는 제2 디바이스가 식별할 수 있는 제1 디바이스의 정보 또는 상기 암호화키를 식별할 수 있는 정보를 포함하는, 암호화된 데이터를 수신하는 방법.And the key identification information includes information of a first device that can be identified by a second device or information that can identify the encryption key.
  6. 제 5항에 있어서,The method of claim 5,
    상기 방법은,The method,
    상기 제1 디바이스를 포함하는 적어도 하나의 디바이스로부터 적어도 하나의 공개키 및 적어도 하나의 난수를 각각 수신하고 상기 제2 디바이스의 공개키 및 제2 난수를 상기 적어도 하나의 디바이스로 각각 송신하는 단계를 더 포함하고,Receiving at least one public key and at least one random number respectively from at least one device including the first device and transmitting the public key and the second random number of the second device to the at least one device, respectively Including,
    상기 제1 디바이스에 대한 암호화키를 획득하는 단계는,Acquiring an encryption key for the first device,
    상기 수신된 적어도 하나의 공개키 및 상기 제2 디바이스의 공개키를 이용하여 상기 적어도 하나의 디바이스에 대한 적어도 하나의 암호화키를 생성하는 단계;Generating at least one encryption key for the at least one device using the received at least one public key and the public key of the second device;
    상기 적어도 하나의 암호화키를 이용하여 적어도 하나의 키식별정보를 생성하는 단계;Generating at least one key identification information using the at least one encryption key;
    상기 생성된 적어도 하나의 키식별정보와 상기 수신된 키식별정보를 비교하여 상기 암호화된 데이터를 송신한 제1 디바이스를 식별하는 단계; 및Comparing the generated at least one key identification information with the received key identification information to identify a first device transmitting the encrypted data; And
    상기 식별된 제1 디바이스에 대한 암호화키를 획득하는 단계를 포함하는, 암호화된 데이터를 수신하는 방법.Obtaining an encryption key for the identified first device.
  7. 제 5 항에 있어서,The method of claim 5, wherein
    상기 방법은,The method,
    상기 제1 디바이스를 포함하는 적어도 하나의 디바이스들과 적어도 하나의 비공개키를 공유하는 단계를 더 포함하고,Sharing at least one private key with at least one device including the first device,
    상기 데이터 세트를 수신하는 단계는 Receiving the data set
    상기 적어도 하나의 디바이스 중 상기 제1 디바이스로부터 암호화된 데이터 및 키식별정보를 수신하는 단계를 포함하고, Receiving encrypted data and key identification information from the first device of the at least one device,
    상기 키식별정보는 상기 제1 디바이스의 제 1 난수, 및 상기 제 1 난수로 암호화키를 키-해싱한(key-hashed) 값을 포함하고, The key identification information includes a first random number of the first device and a value of key-hashed an encryption key with the first random number,
    상기 암호화키는 상기 제 1 디바이스와 공유한 비공개키와 상기 제 1난수의 조합에 의해 생성된 정보이며,The encryption key is information generated by a combination of a private key and the first random number shared with the first device,
    상기 제 1 디바이스에 대한 암호화키를 획득하는 단계는,Acquiring an encryption key for the first device,
    수신한 상기 제 1 난수를 이용하여, 상기 적어도 하나의 비공개키와 상기 제1 난수를 각각 조합한 값들을 상기 제1 난수로 각각 키-해싱하여 적어도 하나의 매칭키들을 생성하는 단계;Generating at least one matching key by key-hashing each combination of the at least one private key and the first random number into the first random number using the received first random number;
    상기 생성된 적어도 하나의 매칭키들과 수신한 상기 제1 난수로 상기 암호화키를 키-해싱한 값을 비교하여 상기 데이터 세트를 송신한 제 1 디바이스를 식별하는 단계; 및Comparing the generated at least one matching key with the received first random number to key-hash the encryption key to identify a first device that has transmitted the data set; And
    상기 제 1 디바이스의 암호화키를 획득하는 단계를 포함하는, 암호화된 데이터를 수신하는 방법.Obtaining an encryption key of the first device.
  8. 암호화된 데이터를 송신하는 제1 디바이스로써,A first device for transmitting encrypted data,
    암호화키를 생성하고, 상기 생성된 암호화키를 이용하여 키식별정보를 생성하고 데이터를 암호화하는 제어부;A control unit for generating an encryption key, generating key identification information using the generated encryption key, and encrypting data;
    상기 암호화된 데이터 및 상기 키식별정보를 포함하는 데이터 세트를 제2 디바이스로 송신하는 송수신부를 포함하며,And a transmission / reception unit configured to transmit a data set including the encrypted data and the key identification information to a second device.
    상기 키식별정보는 상기 제2 디바이스가 식별 할 수 있는 상기 제1 디바이스의 정보 또는 상기 암호화키를 식별할 수 있는 정보를 포함하는 것을 특징으로 하는제1 디바이스.The key identification information may include information of the first device that can be identified by the second device or information that can identify the encryption key.
  9. 제 8 항에 있어서,The method of claim 8,
    상기 송수신부는 상기 제1 디바이스의 공개키 및 제1 난수를 제2 디바이스로 전송하고 상기 제2 디바이스로부터 상기 제2 디바이스의 공개키 및 제2 난수를 수신하고, The transceiver transmits the public key and the first random number of the first device to the second device and receives the public key and the second random number of the second device from the second device,
    상기 제어부는 상기 제1 디바이스의 공개키 및 상기 제2 디바이스의 공개키를 이용하여 상기 암호화키를 생성하고,The control unit generates the encryption key using the public key of the first device and the public key of the second device,
    상기 키식별정보는 상기 제1 난수, 제2 난수 및 상기 암호화키를 이용하여 생성되며,The key identification information is generated using the first random number, the second random number, and the encryption key.
    상기 키식별정보는 상기 제 1 난수 또는 제 2 난수에 기초하여 상기 제 1 디바이스를 식별할 수 있는 정보를 포함하는 것을 특징으로 하는, 제1 디바이스.And the key identification information includes information for identifying the first device based on the first random number or the second random number.
  10. 제 8 항에 있어서,The method of claim 8,
    상기 송수신부는 제 2 디바이스로부터 상기 제 2 디바이스의 공개키를 수신하고,The transceiver receives a public key of the second device from a second device,
    상기 키식별정보는 상기 제 2 디바이스의 공개키를 이용하여 상기 암호화키를 암호화하여 생성되는 것을 특징으로 하는, 제1 디바이스.The key identification information is generated by encrypting the encryption key using the public key of the second device.
  11. 암호화된 데이터를 수신하는 제 2 디바이스로서,A second device for receiving encrypted data, comprising:
    암호화된 데이터 및 키식별정보를 포함하는 데이터 세트를 제1 디바이스로부터 수신하는 송수신부;A transceiver for receiving a data set including encrypted data and key identification information from a first device;
    상기 키식별정보를 이용하여 암호화키를 획득하고, 상기 암호화키를 이용하여 상기 수신된 암호화된 데이터를 복호화하는 제어부를 포함하며,A control unit for acquiring an encryption key using the key identification information and decrypting the received encrypted data using the encryption key;
    상기 키식별정보는 상기 제2 디바이스가 식별 할 수 있는 상기 제1 디바이스의 정보 또는 상기 암호화키를 식별할 수 있는 정보를 포함하는 것을 특징으로 하는, 제2 디바이스.And the key identification information includes information of the first device that can be identified by the second device or information that can identify the encryption key.
  12. 제 11 항에 있어서,The method of claim 11,
    상기 송수신부는 상기 제2 디바이스의 공개키를 상기 제1 디바이스로 추가적으로 전송하고,The transceiver further transmits the public key of the second device to the first device,
    상기 제어부는 상기 키식별정보를 상기 제2 디바이스의 공개키에 대응되는 개인키를 이용하여 복호화하여 암호화키를 획득하는 것을 특징으로 하는, 제2 디바이스.And the control unit obtains an encryption key by decrypting the key identification information using a private key corresponding to the public key of the second device.
  13. 제 1 디바이스에서 암호화된 데이터 송신을 위한 키를 공유하는 방법에 있어서, A method of sharing a key for transmitting encrypted data at a first device, the method comprising:
    통신 내역에 기초하여, 제 2 디바이스에게 송신한 제 1 디바이스의 제 1 공개키 및 상기 제 1 디바이스의 제 1 공개키에 대응하는 제 1 디바이스의 제 1 개인키가 저장되어 있는지 판단하는 단계;Determining whether the first public key of the first device transmitted to the second device and the first private key of the first device corresponding to the first public key of the first device are stored based on the communication details;
    판단 결과에 기초하여 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 개인키를 생성하는 단계; Generating a second public key of the first device and a second private key of the first device based on the determination result;
    상기 생성된 제 1 디바이스의 제 2 공개키를 상기 제 1 디바이스의 제 1 개인키로 서명하는 단계; 및Signing the generated second public key of the first device with the first private key of the first device; And
    상기 서명된 제 2 공개키를 제 2 디바이스로 송신하는 단계를 포함하는 키 공유 방법.Transmitting the signed second public key to a second device.
  14. 제 13 항에 있어서, The method of claim 13,
    상기 방법은, The method,
    상기 제 2 디바이스로부터 상기 제 2 디바이스의 제 1 개인키로 서명된 제 2 공개키를 수신하는 단계; Receiving a second public key signed with the first private key of the second device from the second device;
    통신 내역에 기초하여, 상기 제 2 디바이스의 제 1 개인키와 대응되는 상기 제 2 디바이스의 제 1 공개키를 획득하는 단계;Obtaining a first public key of the second device corresponding to the first private key of the second device based on the communication details;
    상기 획득한 제 2 디바이스의 제 1 공개키로 상기 서명된 제 2 공개키를 검증하는 단계; 및Verifying the signed second public key with the obtained first public key of the second device; And
    상기 검증 결과에 기초하여 암호화 통신을 수행하는 단계를 포함하는 방법.Performing encrypted communication based on the verification result.
  15. 제 13 항에 있어서,The method of claim 13,
    상기 제 1 디바이스의 제 1 공개키 및 상기 제 1 디바이스의 제 1 개인키는, 이전의 상기 제 1 디바이스 및 상기 제 2 디바이스 간의 통신 수행시 사용된 키들인 것을 특징으로 하는 방법.And the first public key of the first device and the first private key of the first device are keys used when performing communication between the first device and the second device.
  16. 제 13 항에 있어서,The method of claim 13,
    상기 판단하는 단계는, The determining step,
    상기 통신 내역에 기초하여 이전 통신 수행시 상기 제 2 디바이스에게 송신한 제 1 난수가 저장되어 있는지 판단하는 단계를 포함하고, Determining whether the first random number transmitted to the second device during the previous communication is stored based on the communication details;
    상기 서명하는 단계는, The signing step,
    상기 통신 내역에 기초하여 이전 통신 수행시 상기 제 2 디바이스로부터 수신한 제 2 난수를 상기 제 1 디바이스의 제 1 개인키로 서명하는 단계를 포함하고,Signing a second random number received from the second device with a first private key of the first device when performing a previous communication based on the communication history;
    상기 송신하는 단계는,The transmitting step,
    상기 서명된 제 2 난수를 송신하는 단계를 포함하는 방법.Transmitting the signed second random number.
  17. 암호화된 데이터 송신을 위한 키를 공유하는 제 1 디바이스 있어서, A first device for sharing a key for transmitting encrypted data, the first device comprising:
    통신 내역에 기초하여, 제 2 디바이스에게 송신한 제 1 디바이스의 제 1 공개키 및 상기 제 1 디바이스의 제 1 공개키에 대응하는 제 1 디바이스의 제 1 개인키가 저장되어 있는지 판단하는 제어부;A control unit for determining whether a first public key of the first device transmitted to the second device and a first private key of the first device corresponding to the first public key of the first device are stored based on the communication details;
    판단 결과에 기초하여 제 1 디바이스의 제 2 공개키 및 제 1 디바이스의 제 2 개인키를 생성하고, 상기 생성된 제 1 디바이스의 제 2 공개키를 상기 제 1 디바이스의 제 1 개인키로 서명하는 암호화부; 및An encryption that generates a second public key of the first device and a second private key of the first device based on the determination result, and signs the generated second public key of the first device with the first private key of the first device part; And
    상기 서명된 제 2 공개키를 제 2 디바이스로 송신하는 통신부를 포함하는 디바이스.And a communication unit for transmitting the signed second public key to a second device.
  18. 제 17 항에 있어서, The method of claim 17,
    상기 통신부는, 상기 제 2 디바이스로부터 상기 제 2 디바이스의 제 1 개인키로 서명된 제 2 공개키를 수신하고,The communication unit receives a second public key signed with the first private key of the second device from the second device,
    상기 암호화부는, 통신 내역에 기초하여, 상기 제 2 디바이스의 제 1 개인키와 대응되는 상기 제 2 디바이스의 제 1 공개키를 획득하고, 상기 획득한 제 2 디바이스의 제 1 공개키로 상기 서명된 제 2 공개키를 검증하고, The encryption unit obtains a first public key of the second device corresponding to the first private key of the second device based on the communication history, and signs the first public key of the second device. 2 verify the public key,
    상기 제어부는, 상기 검증 결과에 기초하여 암호화 통신을 수행할 지 여부를 결정하는 것을 특징으로 하는 디바이스.The controller determines whether to perform encrypted communication based on the verification result.
  19. 제 17 항에 있어서,The method of claim 17,
    상기 제어부는,The control unit,
    상기 통신 내역에 기초하여 이전 통신 수행시 상기 제 2 디바이스에게 송신한 제 1 난수가 저장되어 있는지 판단하고, Determining whether the first random number transmitted to the second device during the previous communication is stored based on the communication details;
    상기 암호화부는,The encryption unit,
    상기 통신 내역에 기초하여 이전 통신 수행시 상기 제 2 디바이스로부터 수신한 제 2 난수를 상기 제 1 디바이스의 제 1 개인키로 서명하며,Signing a second random number received from the second device with a first private key of the first device based on the communication history;
    상기 통신부는,The communication unit,
    상기 서명된 제 2 난수를 송신하는 디바이스.Device for transmitting the signed second random number.
  20. 제1항 또는 제13항의 방법 중 어느 한 항의 방법을 컴퓨터에서 실행시키는 프로그램을 기록한, 컴퓨터로 판독가능한 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 13 on a computer.
PCT/KR2015/010073 2014-09-24 2015-09-24 Method, apparatus and system for secure data communication WO2016048054A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/468,567 US10454904B2 (en) 2014-09-24 2017-03-24 Method, apparatus and system for secure data communication

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462054499P 2014-09-24 2014-09-24
US62/054,499 2014-09-24
KR1020150134823A KR102457809B1 (en) 2014-09-24 2015-09-23 Method, Apparatus and System of Security of Data Communication
KR10-2015-0134823 2015-09-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/468,567 Continuation US10454904B2 (en) 2014-09-24 2017-03-24 Method, apparatus and system for secure data communication

Publications (2)

Publication Number Publication Date
WO2016048054A2 true WO2016048054A2 (en) 2016-03-31
WO2016048054A3 WO2016048054A3 (en) 2016-05-12

Family

ID=55582215

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/010073 WO2016048054A2 (en) 2014-09-24 2015-09-24 Method, apparatus and system for secure data communication

Country Status (1)

Country Link
WO (1) WO2016048054A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847002A (en) * 2016-06-06 2016-08-10 北京京东尚科信息技术有限公司 Method for sharing key in multi-party communication
CN112385177A (en) * 2018-07-13 2021-02-19 美光科技公司 Secure vehicle communication
CN116541872A (en) * 2023-07-07 2023-08-04 深圳奥联信息安全技术有限公司 Data information safety transmission method and system
WO2023207014A1 (en) * 2022-04-28 2023-11-02 世融能量科技有限公司 Encryption method and apparatus, decryption method and apparatus, and medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367019B1 (en) * 1999-03-26 2002-04-02 Liquid Audio, Inc. Copy security for portable music players
KR20040004629A (en) * 2001-05-17 2004-01-13 에이브이아이 바이오파마 인코포레이티드 Combined approach to treatment of cancer using a c-myc antisense oligomer
JP4034946B2 (en) * 2001-05-25 2008-01-16 三菱Ufjニコス株式会社 COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND RECORDING MEDIUM
EP1440439A1 (en) * 2001-10-12 2004-07-28 Koninklijke Philips Electronics N.V. Apparatus and method for reading or writing block-wise stored user data
KR101882289B1 (en) * 2013-10-28 2018-07-30 주식회사 아이씨티케이 홀딩스 Apparatus and method for processing authentication information

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847002A (en) * 2016-06-06 2016-08-10 北京京东尚科信息技术有限公司 Method for sharing key in multi-party communication
CN105847002B (en) * 2016-06-06 2019-02-12 北京京东尚科信息技术有限公司 The method of shared key in multi-party communication
CN112385177A (en) * 2018-07-13 2021-02-19 美光科技公司 Secure vehicle communication
CN112385177B (en) * 2018-07-13 2024-04-05 美光科技公司 Secure vehicle communication
WO2023207014A1 (en) * 2022-04-28 2023-11-02 世融能量科技有限公司 Encryption method and apparatus, decryption method and apparatus, and medium
CN116541872A (en) * 2023-07-07 2023-08-04 深圳奥联信息安全技术有限公司 Data information safety transmission method and system
CN116541872B (en) * 2023-07-07 2024-04-09 深圳奥联信息安全技术有限公司 Data information safety transmission method and system

Also Published As

Publication number Publication date
WO2016048054A3 (en) 2016-05-12

Similar Documents

Publication Publication Date Title
WO2015061941A1 (en) Key configuration method and apparatus
WO2017003096A1 (en) Method for establishing connection between devices
WO2016178548A1 (en) Method and apparatus for providing profile
WO2015142133A1 (en) System and method for executing file by using biometric information
WO2015137745A1 (en) System and method of encrypting folder in device
WO2015061992A1 (en) Key configuration method, system and apparatus
WO2017007132A1 (en) Method, apparatus, and system for monitoring encrypted communication session
WO2017119769A1 (en) Apparatus and method for detecting counterfeit advertiser in wireless communication system
WO2015163735A1 (en) Mobile device and method of sharing content
WO2017018708A1 (en) Method for communication between devices and devices thereof
WO2019117694A1 (en) Terminal device for performing homomorphic encryption, server device for processing cipher text thereof, and methods therefor
WO2015194836A1 (en) Key sharing method and device
WO2016167536A1 (en) Method and apparatus for managing a profile of a terminal in a wireless communication system
WO2021112539A1 (en) Electronic device for performing ranging by using ultra-wide band and operation method thereof
WO2017099342A1 (en) Method, apparatus, and system for providing temporary account information
WO2015163736A1 (en) Methods of providing social network service and server performing the same
WO2017035695A1 (en) Information transmission method and mobile device
WO2020197221A1 (en) Communication method and communication device
WO2010093200A2 (en) Method and apparatus for traffic count key management and key count management
EP3284274A1 (en) Method and apparatus for managing a profile of a terminal in a wireless communication system
WO2018199597A1 (en) Electronic device and proximity discovery method thereof
WO2016036048A1 (en) Method and device for data encrypting
WO2020022578A1 (en) Electronic device using wireless charging to control communication channel, and method for operation of electronic device
WO2019146812A1 (en) Vehicle update system and control method
WO2016048054A2 (en) Method, apparatus and system for secure data communication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15844247

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15844247

Country of ref document: EP

Kind code of ref document: A2