KR20210115807A - Apparatus and method for providing location using a near-by device - Google Patents
Apparatus and method for providing location using a near-by device Download PDFInfo
- Publication number
- KR20210115807A KR20210115807A KR1020200032119A KR20200032119A KR20210115807A KR 20210115807 A KR20210115807 A KR 20210115807A KR 1020200032119 A KR1020200032119 A KR 1020200032119A KR 20200032119 A KR20200032119 A KR 20200032119A KR 20210115807 A KR20210115807 A KR 20210115807A
- Authority
- KR
- South Korea
- Prior art keywords
- electronic device
- information
- time encryption
- time
- location
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
본 발명의 다양한 실시예들은 주변 장치를 이용한 위치 제공 방법 및 장치에 관하여 개시한다.Various embodiments of the present invention are disclosed with respect to a method and apparatus for providing a location using a peripheral device.
디지털 기술의 발달과 함께 이동통신 단말기, PDA(personal digital assistant), 전자수첩, 스마트 폰, 태블릿 PC(personal computer), 웨어러블 디바이스(wearable device)와 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 이러한, 전자 장치는 기능 지지 및 증대를 위해, 전자 장치의 하드웨어적인 부분 및/또는 소프트웨어적인 부분이 지속적으로 개량되고 있다.With the development of digital technology, various types of electronic devices such as mobile communication terminals, personal digital assistants (PDAs), electronic notebooks, smart phones, tablet PCs (personal computers), and wearable devices are widely used. In order to support and increase functions of the electronic device, the hardware part and/or the software part of the electronic device are continuously being improved.
예를 들어, 전자 장치는 촬영 기능, 문서 편집 기능, 인터넷 기능, 결제 기능을 제공함으로써, 사용자는 카메라 대신에 전자 장치를 이용하여 촬영할 수 있고, 노트북 대신에 전자 장치를 이용하여 문서 편집이나, 인터넷을 사용할 수 있고, 카드 또는 현금 대신에 전자 장치를 이용하여 결제할 수 있다. 이렇게, 전자 장치는 사용자의 생활에 중요한 부분을 차지하고 있고, 사용자는 전자 장치를 항상 소지하고 다니기 때문에 분실 상황에 대비한 예방책이 필요한 상황이다.For example, the electronic device provides a photographing function, a document editing function, an Internet function, and a payment function, so that a user can take a picture using the electronic device instead of a camera, edit a document using the electronic device instead of a laptop computer, or perform Internet processing can be used, and payment can be made using an electronic device instead of a card or cash. As such, the electronic device occupies an important part in a user's life, and since the user always carries the electronic device, it is necessary to take preventive measures against a loss situation.
전자 장치는 분실 상황에 대비하여 내 장치 찾기 서비스를 제공하고 있다. 내 장치 찾기 서비스는 전자 장치의 위치 찾기, 클라우드 서버로 전자 장치 내 데이터 백업, 화면 잠금, 결제 서비스 차단 또는 전자 장치에 저장된 모든 데이터 삭제하는 기능을 제공할 수 있다. 전자 장치의 위치 찾기 기능은 분실한 전자 장치의 대략적인 위치 또는 경로를 제공할 수 있다. 예를 들어, 전자 장치의 위치 전송이 활성화된 경우, 전자 장치가 꺼지기 전 위치를 서버로 전달할 수 있다.Electronic devices provide a Find My Device service in case of loss. The Find My Device service may provide a function of finding the location of the electronic device, backing up data in the electronic device to a cloud server, locking the screen, blocking payment services, or deleting all data stored in the electronic device. The location finding function of the electronic device may provide an approximate location or route of the lost electronic device. For example, when location transmission of the electronic device is activated, the location before the electronic device is turned off may be transmitted to the server.
서버는 전자 장치가 WiFi, WAN(wide area network)과 같은 네트워크에 연결된 경우에만 전자 장치의 위치를 확인할 수 있다. 예를 들어, 전자 장치가 서버와 직접적으로 연결되지 않는 네트워크 환경에 있거나, 블루투스, UWB(ultra wideband)와 같은 PAN(personal area network)에 연결된 상태에서는 위치 정보를 서버에 제공할 수 없다. 또한, 전자 장치의 위치 정보는 곧 사용자의 위치 정보일 수 있다. 서버에 전자 장치의 위치 정보가 저장되는 경우, 서버 운용자 또는 서비스 제공자에게 노출될 위험이 있으므로, 사용자 위치 정보에 대한 프라이버시 보호 이슈가 발생할 수 있다.The server may check the location of the electronic device only when the electronic device is connected to a network such as WiFi or a wide area network (WAN). For example, location information cannot be provided to the server while the electronic device is in a network environment in which the electronic device is not directly connected to the server or is connected to a personal area network (PAN) such as Bluetooth or ultra wideband (UWB). Also, the location information of the electronic device may be the location information of the user. When the location information of the electronic device is stored in the server, since there is a risk of exposure to a server operator or a service provider, privacy protection issues for user location information may occur.
다양한 실시예들에서는, 제1 전자 장치가 주변 장치로 일회성 암호화 키를 브로드캐스트하고, 일회성 암호화 키를 수신한 주변 장치가 서버로 자신의 위치 정보를 암호화하여 전송하고, 제1 전자 장치와 복호화 키를 공유한 제2 전자 장치가 공유된 복호화 키를 이용하여 서버에 주변 장치가 전송한 위치 정보를 요청함으로써, 제2 전자 장치가 주변 장치의 위치 정보를 이용하여 제1 전자 장치의 위치를 추적할 수 있는 방법 및 장치에 관하여 개시할 수 있다.In various embodiments, the first electronic device broadcasts the one-time encryption key to the peripheral device, the peripheral device receiving the one-time encryption key encrypts and transmits its location information to the server, and the first electronic device and the decryption key When the second electronic device that has shared It can be disclosed with respect to a method and apparatus that can be used.
다양한 실시예들에 따른 전자 장치는 통신 모듈, 메모리, 및 상기 통신 모듈 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 다른 전자 장치로부터 일회성 암호화 정보를 수신하고, 상기 통신 모듈을 이용하여 상기 전자 장치의 위치 정보를 획득하고, 상기 일회성 암호화 정보에 기반하여 상기 위치 정보를 암호화하고, 상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 서버에 전송하도록 설정될 수 있다.An electronic device according to various embodiments includes a communication module, a memory, and a processor operatively connected to the communication module or the memory, wherein the processor receives one-time encryption information from another electronic device through the communication module and , obtain the location information of the electronic device using the communication module, encrypt the location information based on the one-time encryption information, and transmit the encrypted location information and the one-time encryption information to the server. .
다양한 실시예들에 따른 전자 장치는 통신 모듈, 메모리, 및 상기 통신 모듈 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 다른 전자 장치의 위치를 요청하는 사용자 입력을 수신하고, 상기 다른 전자 장치와 공유된 복호화 키에 기반하여 일회성 암호화 정보를 획득하고, 상기 통신 모듈을 이용하여 상기 일회성 암호화 정보를 서버에 전송하고, 상기 서버로부터 상기 다른 전자 장치의 위치에 대응하는 주변 장치의 위치 정보를 수신하도록 설정될 수 있다.An electronic device according to various embodiments includes a communication module, a memory, and a processor operatively connected to the communication module or the memory, wherein the processor receives a user input requesting a location of another electronic device, and A location of a peripheral device that obtains one-time encryption information based on a decryption key shared with another electronic device, transmits the one-time encryption information to a server using the communication module, and corresponds to a location of the other electronic device from the server It can be configured to receive information.
다양한 실시예들에 따른 전자 장치의 동작 방법은 상기 전자 장치의 통신 모듈을 통해 다른 전자 장치로부터 일회성 암호화 정보를 수신하는 동작, 상기 통신 모듈을 이용하여 상기 전자 장치의 위치 정보를 획득하는 동작, 상기 일회성 암호화 정보에 기반하여 상기 위치 정보를 암호화하는 동작, 및 상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 서버에 전송하는 동작을 포함할 수 있다.A method of operating an electronic device according to various embodiments includes receiving one-time encryption information from another electronic device through a communication module of the electronic device, acquiring location information of the electronic device using the communication module, and The method may include encrypting the location information based on the one-time encryption information, and transmitting the encrypted location information and the one-time encryption information to a server.
다양한 실시예들에 따르면, 전자 장치가 서버와 직접적으로 연결되는 네트워크 접속이 불가한 상황에도 주변 장치를 활용하여 주변 장치의 위치 정보로부터 전자 장치의 위치를 획득할 수 있다.According to various embodiments, the location of the electronic device may be obtained from location information of the peripheral device by using the peripheral device even in a situation in which a network connection in which the electronic device is directly connected to the server is impossible.
다양한 실시예들에 따르면, 주변 장치의 위치 정보를 전자 장치의 일회성 암호화 키로 암호화하여 서버에 저장함으로써, 위치 정보에 대한 프라이버시를 강화할 수 있다.According to various embodiments, by encrypting the location information of the peripheral device with the one-time encryption key of the electronic device and storing it in the server, the privacy of the location information may be enhanced.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2a 및 도 2b는 다양한 실시예들에 따른 전자 장치, 주변의 전자 장치 및 서버 간의 네트워크 환경을 도시한 도면이다.
도 3은 다양한 실시예들에 따른 전자 장치, 주변의 전자 장치 및 서버 간의 동작 방법을 도시한 흐름도이다.
도 4는 다양한 실시예들에 따른 사용자의 전자 장치의 동작 방법을 도시한 흐름도이다.
도 5는 다양한 실시예들에 따른 주변의 전자 장치의 동작 방법을 도시한 흐름도이다.
도 6은 다양한 실시예들에 따른 주변의 전자 장치의 위치 제공 방법을 도시한 흐름도이다.
도 7은 다양한 실시예들에 따른 사용자의 전자 장치의 동작 방법을 도시한 흐름도이다.
도 8은 다양한 실시예들에 따른 사용자의 전자 장치의 위치 제공 방법을 도시한 흐름도이다.1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure;
2A and 2B are diagrams illustrating a network environment between an electronic device, a nearby electronic device, and a server according to various embodiments of the present disclosure;
3 is a flowchart illustrating an operation method between an electronic device, a nearby electronic device, and a server according to various embodiments of the present disclosure;
4 is a flowchart illustrating a method of operating an electronic device of a user according to various embodiments of the present disclosure;
5 is a flowchart illustrating a method of operating a peripheral electronic device according to various embodiments of the present disclosure;
6 is a flowchart illustrating a method of providing a location of a nearby electronic device according to various embodiments of the present disclosure;
7 is a flowchart illustrating a method of operating an electronic device of a user according to various embodiments of the present disclosure;
8 is a flowchart illustrating a method of providing a location of a user's electronic device according to various embodiments of the present disclosure;
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.The electronic device according to various embodiments disclosed in this document may have various types of devices. The electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device. The electronic device according to the embodiment of the present document is not limited to the above-described devices.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나," "A, B 또는 C," "A, B 및 C 중 적어도 하나," 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.It should be understood that the various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and include various modifications, equivalents, or substitutions of the embodiments. In connection with the description of the drawings, like reference numerals may be used for similar or related components. The singular form of the noun corresponding to the item may include one or more of the item, unless the relevant context clearly dictates otherwise. In this document, "A or B", "at least one of A and B", "at least one of A or B," "A, B or C," "at least one of A, B and C," and "A , B, or C" each may include any one of the items listed together in the corresponding one of the phrases, or all possible combinations thereof. Terms such as “first”, “second”, or “first” or “second” may simply be used to distinguish the component from other components in question, and may refer to components in other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is "coupled" or "connected" to another (eg, second) component, with or without the terms "functionally" or "communicatively". When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. As used herein, the term “module” may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit. A module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions. For example, according to an embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
도 1은 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 1 is a block diagram of an
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다.Referring to FIG. 1 , in a
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. The auxiliary processor 123 may be, for example, on behalf of the
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory 130 may store various data used by at least one component (eg, the
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다. The
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.The
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, UWB(Ultra-Wide Band), WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다. The communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.The
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and a signal ( e.g. commands or data) can be exchanged with each other.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다.. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. According to an embodiment, the command or data may be transmitted or received between the
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101). may be implemented as software (eg, the program 140) including For example, the processor (eg, the processor 120 ) of the device (eg, the electronic device 101 ) may call at least one of one or more instructions stored from a storage medium and execute it. This makes it possible for the device to be operated to perform at least one function according to the at least one command called. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be provided in a computer program product (computer program product). Computer program products may be traded between sellers and buyers as commodities. The computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store™) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones). In the case of online distribution, at least a part of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, a module or a program) of the above-described components may include a singular or a plurality of entities. According to various embodiments, one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg, a module or a program) may be integrated into one component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. . According to various embodiments, operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, or omitted. or one or more other operations may be added.
도 2a 및 도 2b는 다양한 실시예들에 따른 전자 장치, 주변의 전자 장치 및 서버 간의 네트워크 환경을 도시한 도면이다.2A and 2B are diagrams illustrating a network environment between an electronic device, a nearby electronic device, and a server according to various embodiments of the present disclosure;
도 2a는 다양한 실시예들에 따른 전자 장치, 주변의 전자 장치 및 서버 간의 제1 네트워크 환경(200)을 도시한 도면이다.FIG. 2A is a diagram illustrating a
도 2a를 참조하면, 사용자 장치(210)는 사용자 또는 사용자와 연관된 다른 사용자(예: 가족, 친구)가 소유한 장치일 수 있다. 사용자 장치(210)는 스마트 폰, 노트북, 데스크 탑 컴퓨터, 무선 이어폰, 블루투스 스피커, 웨어러블 장치, 차 키와 같은 다양한 종류의 전자 장치일 수 있다. 사용자 장치(210)는 제1 전자 장치(예: 도 1의 전자 장치(101)), 제1 사용자 장치(211), 제2 사용자 장치(213), 또는 제2 전자 장치(215)를 포함할 수 있다. 예를 들어, 제1 사용자 장치(211)는 무선 이어폰이고, 제2 사용자 장치(213)는 웨어러블 장치일 수 있다. 이는, 발명의 이해를 돕기 위한 예시일 뿐, 발명의 내용을 제한하는 것은 아니다.Referring to FIG. 2A , the
제1 전자 장치(101)는 복호화 키를 생성하여 사용자 장치(210)에 포함된 장치들(예: 제1 사용자 장치(211), 제2 사용자 장치(213), 또는 제2 전자 장치(215))과 공유할 수 있다. 또는, 제2 전자 장치(215)는 복호화 키를 생성하여, 사용자 장치(210)에 포함된 장치들과 공유할 수 있다. 제1 전자 장치(101)는 복호화 키를 이용하여 설정된 주기(예: 10분, 30분, 1시간) 마다 일회성 암호화 키를 생성할 수 있다. 또는, 제1 전자 장치(101)는 복호화 키를 이용하여 설정된 주기 마다 상기 일회성 암호화 키의 해시 값을 생성할 수 있다. 이하에서는, 복호화 키를 생성하는 주체를 제1 전자 장치(101)로 설명하고, 제1 전자 장치(101)를 분실한 상황을 일례로 설명하지만, 설명에 의해 발명의 내용이 제한되는 것은 아니다. 사용자 장치(210)에 포함된 제1 사용자 장치(211) 또는 제2 사용자 장치(213)에서도 복호화 키를 공유하였기 때문에, 제1 사용자 장치(211) 또는 제2 사용자 장치(213)를 분실한 상황에서도 제1 전자 장치(101)를 분실한 상황과 유사하게 동작할 수 있다.The first
예를 들어, 상기 공유되는 복호화 키는 개인키(private key)에 해당하고, 상기 생성되는 일회성 암호화 키는 공개키(public key)에 해당할 수 있다. 하나의 복호화 키와 상기 하나의 암호화 키에 대응하는 하나의 일회성 암호화 키는 한 쌍으로 구성될 수 있다. 상기 일회성 암호화 키로 암호화된 정보는 상기 복호화 키를 이용하여 복호화(예: 암호 해제)할 수 있다. 제1 전자 장치(101)는 복호화 키 및 상기 복호화 키에 대응하는 일회성 암호화 키(예: 암호화 쌍 정보)를 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 제1 전자 장치(101)와 제2 전자 장치(215)는 공유된 복호화 키, 즉, 동일한 복호화 키로 일회성 암호화 키를 생성할 수 있다. 제1 전자 장치(101)와 제2 전자 장치(215)는 상호 간의 합의된(또는 설정된) 생성 규칙에 의해 복호화 키 및 복호화 키에 대응하는 일회성 암호화 키를 생성할 수 있다. 제1 전자 장치(101)와 제2 전자 장치(215)에서 각각 생성한 동일한 인덱스의 복호화 키에 대응하는 일회성 암호와 키는 동일할 수 있다. 예를 들어, 제1 전자 장치(101)와 제2 전자 장치(215)에서 각각 생성한 20번째 복호화 키에 대응하는 20번째 일회성 암호화 키는 동일할 수 있다.For example, the shared decryption key may correspond to a private key, and the generated one-time encryption key may correspond to a public key. One decryption key and one one-time encryption key corresponding to the one encryption key may be configured as a pair. Information encrypted with the one-time encryption key may be decrypted (eg, decrypted) using the decryption key. The first
다양한 실시예들에 따르면, 제1 전자 장치(101)는 선택적으로 또는 주기적으로 일회성 암호화 정보를 브로드캐스트할 수 있다. 상기 일회성 암호화 정보는 상기 일회성 암호화 키를 포함할 수 있다. 제1 전자 장치(101)는 설정된 조건에 해당하는 경우, 주기적으로(예: 10분, 30분, 1시간) 상기 일회성 암호화 정보를 브로드캐스트할 수 있다. 예를 들어, 상기 설정된 조건은 제1 전자 장치(101)가 분실 모드로 전환되거나, 제1 전자 장치(101)가 일정 시간 동안 다른 기기(예: 제1 사용자 장치(211), 제2 사용자 장치(213), 또는 제2 전자 장치(215))와 연결되지 않거나, 또는 제1 전자 장치(101)가 네트워크에 연결되지 않는 경우일 수 있다. 또는, 제1 전자 장치(101)는 설정된 조건과 상관없이 주기적으로(예: 10분, 30분, 1시간, 1일, 1주일) 상기 일회성 암호화 정보를 브로드캐스트할 수 있다. According to various embodiments, the first
다양한 실시예들에 따르면, 상기 일회성 암호화 정보는 상기 일회성 암호화 키의 해시 값을 포함할 수 있다. 상기 일회성 암호화 정보로서 상기 일회성 암호화 키의 해시 값이 포함되는 경우, 제1 전자 장치(101)는 상기 일회성 암호화 키의 해시 값을 브로드캐스트한 후 상기 일회성 암호화 키를 브로드캐스트할 수 있다.According to various embodiments, the one-time encryption information may include a hash value of the one-time encryption key. When the one-time encryption information includes the hash value of the one-time encryption key, the first
다양한 실시예들에 따르면, 제1 전자 장치(101)는 무선 통신(예: 저전력 블루투스(bluetooth low energy, BLE))을 통해 일회성 암호화 정보를 브로드캐스트할 수 있다. 상기 일회성 암호화 정보는 비콘 신호(beacon signal)의 GATT(generic attribute profile), extended advertising에 포함될 수 있다. 상기 비콘 신호는 수신자가 정해지지 않고, 상기 신호를 수신 가능한 범위 내에 존재하는 불특정 다수에게 브로드캐스트되는 것일 수 있다. 상기 일회성 암호화 정보를 전송하는 방법은 기재된 방식 이외에도 다양한 방식이 이용될 수 있다. 이는, 발명의 이해를 돕기 위한 예시일 뿐, 발명의 내용을 제한하는 것은 아니다.According to various embodiments, the first
주변 장치(230)(예: 도 1의 전자 장치(102), 전자 장치(104))는 제1 전자 장치(101)로부터 상기 일회성 암호화 정보를 수신하는 전자 장치를 의미할 수 있다. 주변 장치(230)는 사용자 장치(210) 또는 사용자 장치(210)의 사용자와 상관없는 제3 자의 전자 장치를 포함할 수 있다. 주변 장치(230)는 위치 서비스 서버(250)(예: 도 1의 서버(108))에 직접적으로 연결 가능한 전자 장치일 수 있다. 주변 장치(230)는 제1 주변 장치(231) 또는 제2 주변 장치(233)를 포함할 수 있다. 제1 전자 장치(101)에서 주기적으로 상기 정보를 전송하므로, 제1 주변 장치(231) 또는 제2 주변 장치(233)는 위치가 동일하거나, 또는 상이할 수 있다. The peripheral device 230 (eg, the electronic device 102 or the
예를 들어, 제1 주변 장치(231)는 제1 위치에서 상기 일회성 암호화 정보를 수신할 수 있고, 제2 주변 장치(233)는 제2 위치에서 상기 일회성 암호화 정보를 수신할 수 있다. 제1 주변 장치(231)에서 수신한 일회성 암호화 정보와 제2 주변 장치(233)에서 수신한 일회성 암호화 정보는 동일하거나, 다를 수 있다. 예를 들어, 시간순으로 제1 전자 장치(101)가 제1 위치에서 제2 위치로 이동하는 경우, 제1 주변 장치(231)는 제1 위치에서 제1 전자 장치(101)로부터 15번째 일회성 암호화 키를 포함한 일회성 암호화 정보를 수신하고, 제2 주변 장치(233)는 제2 위치에서 제1 전자 장치(101)로부터 16번째 일회성 암호화 키를 포함한 일회성 암호화 정보를 수신할 수 있다.For example, the first
주변 장치(230)는 상기 일회성 암호화 정보를 수신하면, 위치 정보를 식별(또는 획득)할 수 있다. 상기 위치 정보는 주변 장치(230)에 포함된 위치 측정 모듈(예: GPS)에서 측정된 지리적인 위치 정보(예: 위도 좌표, 경도 좌표), UWB(ultra wideband) 통신을 통한 제1 전자 장치(101)와 주변 장치(230) 간의 거리 정보, 근거리 접속 정보(예: WiFi AP(access point) 정보), 또는 셀룰러 접속 정보(예: cellular access) 중 적어도 하나를 포함할 수 있다. 주변 장치(230)는 상기 일회성 암호화 정보를 이용하여 상기 위치 정보를 암호화할 수 있다. 주변 장치(230)는 일회성 암호화 정보에 포함된 일회성 암호화 키를 이용하여 상기 위치 정보를 암호화할 수 있다. 주변 장치(230)는 상기 일회성 암호화 정보 및 상기 암호화된 위치 정보를 위치 서비스 서버(250)에 전송할 수 있다. Upon receiving the one-time encryption information, the
예를 들어, 제1 주변 장치(231)는 제1 위치에서 수신한 15번째 일회성 암호화 키를 이용하여 제1 주변 장치(231)의 위치 정보를 암호화할 수 있다. 제1 주변 장치(231)는 15번째 일회성 암호화 정보와 암호화된 제1 주변 장치(231)의 위치 정보를 위치 서비스 서버(250)에 전송할 수 있다. 제2 주변 장치(233)는 제2 위치에서 수신한 16번째 일회성 암호화 키를 이용하여 제2 주변 장치(233)의 위치 정보를 암호화할 수 있다. 제2 주변 장치(233)는 16번째 일회성 암호화 정보와 암호화된 제2 주변 장치(233)의 위치 정보를 위치 서비스 서버(250)에 전송할 수 있다.For example, the first
위치 서비스 서버(250)는 주변 장치(230)로부터 수신된 일회성 암호화 정보 및 암호화된 위치 정보를 데이터베이스에 저장할 수 있다. 위치 서비스 서버(250)는 위치 정보를 수신한 시간 순서대로 일회성 암호화 정보 및 암호화된 위치 정보를 저장할 수 있다. 위치 서비스 서버(250)는 제2 전자 장치(215)로부터 일회성 암호화 정보를 수신하는 경우, 수신된 일회성 암호화 정보에 대응되는 일회성 암호화 정보가 있는지 상기 데이터베이스로부터 검색할 수 있다. 위치 서비스 서버(250)는 수신된 일회성 암호화 정보와 일치하는 일회성 암호화 정보가 검색되는 경우, 검색된 일회성 암호화 정보에 대응하여 저장된 위치 정보를 제2 전자 장치(215)로 전송할 수 있다. 제2 전자 장치(215)로 전송되는 위치 정보는 암호화된 주변 장치(230)의 위치 정보일 수 있다. 위치 서비스 서버(250)는 상기 검색된 위치 정보에 대응하는 일회성 암호화 정보를 제2 전자 장치(215)로 전송할 수 있다. 또는, 위치 서비스 서버(250)는 상기 검색된 일회성 암호화 정보에 대응하여 저장된 위치 정보 또는 상기 검색된 일회성 암호화 정보의 인덱스 정보를 제2 전자 장치(215)로 전송할 수 있다.The
제2 전자 장치(215)는 제1 전자 장치(101)와 공유된 복호화 키를 이용하여 설정된 주기(예: 10분, 30분, 1시간, 1일, 1주일) 마다 일회성 암호화 키를 생성할 수 있다. 제2 전자 장치(215)는 제1 전자 장치(101)와 합의된(또는 동일한) 생성 규칙에 의해 복호화 키 및 상기 복호화 키에 대응하는 일회성 암호화 키를 생성할 수 있다. 예를 들어, 제2 전자 장치(215)는 제1 복호화 키에 대응하여 제1 일회성 암호화 키를 생성하고, 상기 제1 복호화 키에 대한 해시 값으로 새로운 복호화 키(예: 제2 복호화 키)를 생성하고 새로운 복호화 키에 대응하는 새로운 일회성 암호화 키(예: 제2 일회성 암호화 키)를 생성할 수 있다. 제2 전자 장치(215)는 사용자 요청(예: 위치 찾기 요청)에 기반하여 일회성 암호화 키를 획득할 수 있다. 제2 전자 장치(215)는 제1 전자 장치(101)와 복호화 키를 공유한 시점부터 설정된 주기 마다 일회성 암호화 키를 생성하여 메모리에 저장할 수 있다. 또는, 제2 전자 장치(215)는 사용자 요청이 있는 경우, 공유된 복호화 키를 이용하여 복호화 키를 공유한 시점부터 사용자 요청이 수신된 시점까지 일회성 암호화 키를 생성할 수 있다. 또는, 제2 전자 장치(215)는 사용자 요청이 있는 경우, 공유된 복호화 키를 이용하여 복호화 키를 공유한 시점부터 사용자 요청이 수신된 시점까지 일회성 암호화 키 및 상기 일회성 암호화 키에 대응되는 인덱스를 생성할 수 있다. 또는, 제2 전자 장치(215)는 상기 공유된 복호화 키를 이용하여 일회성 암호화 키의 해시 값을 생성할 수 있다. 제2 전자 장치(215)는 일회성 암호화 정보를 위치 서비스 서버(250)로 전송할 수 있다. 제2 전자 장치(215)는 상기 일회성 암호화 정보 및 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 위치 서비스 서버(250)로 전송할 수 있다. 상기 일회성 암호화 정보는 상기 복호화 키를 공유한 시점부터 사용자 요청이 수신된 시점까지 생성된 모든 일회성 암호화 키 또는 해시 값을 포함할 수 있다. The second
제2 전자 장치(215)는 위치 서비스 서버(250)로부터 암호화된 위치 정보를 수신하는 경우, 복호화 키를 이용하여 상기 암호화된 위치 정보를 복호화(예: 암호 해제)할 수 있다. 제2 전자 장치(215)는 복호화 키를 공유한 시점부터 사용자 요청이 수신된 시점까지 생성된 일회성 암호화 정보에 대응되는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 또는, 제2 전자 장치(215)는 위치 서비스 서버(250)로부터 수신된 일회성 암호화 정보에 대응하는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 또는, 제 2 전자 장치(215)는 위치 서비스 서버(250)로부터 암호화된 위치 정보 및 인덱스 정보를 수신하는 경우, 상기 인덱스 정보에 대응하는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 제2 전자 장치(215)는 복호화된 위치 정보를 제공할 수 있다. 예를 들어, 제2 전자 장치(215)는 상기 위치 정보로서 텍스트, 이미지 또는 비디오 중 적어도 하나로 구성된 사용자 인터페이스를 제공할 수 있다. 제2 전자 장치(215)는 지리적인 위치를 나타내는 주소를 제공하거나, 지도 상에 좌표 또는 시간순 이동 경로를 위치 정보로서 제공할 수 있다.When receiving the encrypted location information from the
도면에서는 제2 전자 장치(215)가 위치 서비스 서버(250)로부터 위치 정보를 수신하는 것으로 설명하였지만, 사용자 장치(210)에 포함된 제1 사용자 장치(211) 또는 제2 사용자 장치(213)에서도 복호화 키를 공유하였기 때문에, 제1 사용자 장치(211) 또는 제2 사용자 장치(213)가 제2 전자 장치(215)를 대신하여 제2 전자 장치(215)에서 수행한 동작을 수행할 수 있다.Although it has been described that the second
도 2b는 다양한 실시예들에 따른 전자 장치, 주변의 전자 장치 및 서버 간의 제2 네트워크 환경(270)을 도시한 도면이다.2B is a diagram illustrating a
도 2b를 참조하면, 제1 전자 장치(101)와 제2 전자 장치(215)는 복호화 키를 공유할 수 있다. 상기 복호화 키는 제1 전자 장치(101) 또는 제2 전자 장치(215)에서 생성될 수 있다. 제1 전자 장치(101)는 설정된 주기 마다 복호화 키에 대응하는 일회성 암호화 키 또는 상기 일회성 암호화 키의 해시 값을 생성할 수 있다. 제1 전자 장치(101)는 선택적으로 또는 주기적으로 일회성 암호화 정보를 브로드캐스트할 수 있다. 상기 일회성 암호화 정보는 상기 일회성 암호화 키를 포함할 수 있다.Referring to FIG. 2B , the first
다양한 실시예들에 따르면, 상기 일회성 암호화 정보는 상기 일회성 암호화 키의 해시 값을 포함할 수 있다. 상기 일회성 암호화 정보로서 상기 일회성 암호화 키의 해시 값이 포함되는 경우, 제1 전자 장치(101)는 상기 일회성 암호화 키의 해시 값을 브로드캐스트하고, 별도로 상기 일회성 암호화 키를 브로드캐스트할 수 있다.According to various embodiments, the one-time encryption information may include a hash value of the one-time encryption key. When the one-time encryption information includes the hash value of the one-time encryption key, the first
주변 장치(230)는 제1 전자 장치(101)로부터 상기 일회성 암호화 정보를 수신할 수 있다. 주변 장치(230)는 사용자 장치(210) 또는 사용자 장치(210)의 사용자와 상관없는 제3 자의 전자 장치를 포함할 수 있다. 제1 전자 장치(101)는 불특정 다수에게 주기적으로 상기 일회성 암호화 정보를 브로드캐스트하므로, 상기 일회성 암호화 정보를 수신하는 주변 장치(230)는 하나 이상일 수 있다. 예를 들어, 주변 장치(230)는 제1 주변 장치(231), 제2 주변 장치(233) 또는 제3 주변 장치(235)를 포함할 수 있다. 제1 주변 장치(231), 제2 주변 장치(233) 또는 제3 주변 장치(235)는 위치가 동일하거나, 또는 상이할 수 있다. 예를 들어, 제1 주변 장치(231)는 제1 위치에서 상기 일회성 암호화 정보를 수신할 수 있고, 제2 주변 장치(233)는 제2 위치에서 상기 일회성 암호화 정보를 수신하며, 제3 주변 장치(235)는 제3 위치에서 상기 일회성 정보를 수신할 수 있다.The
제1 주변 장치(231), 제2 주변 장치(233) 또는 제3 주변 장치(235)에서 각각 수신한 일회성 암호화 정보는 동일하거나, 다를 수 있다. 예를 들어, 시간순으로 제1 전자 장치(101)가 제1 위치에서 제3 위치로 이동하는 경우, 제1 주변 장치(231)는 제1 위치에서 제1 전자 장치(101)로부터 10번째 일회성 암호화 키를 포함한 10번째 일회성 암호화 정보를 수신할 수 있다. 제2 주변 장치(233)는 제2 위치에서 제1 전자 장치(101)로부터 13번째 일회성 암호화 키를 포함한 13번째 일회성 암호화 정보를 수신할 수 있다. 제3 주변 장치(235)는 제3 위치에서 제1 전자 장치(101)로부터 20번째 일회성 암호화 키를 포함한 20번째 일회성 암호화 정보를 수신할 수 있다.The one-time encryption information received from the first
주변 장치(230)는 상기 일회성 암호화 정보를 수신하면, 위치 정보를 식별(또는 획득)할 수 있다. 상기 위치 정보는 지리적인 위치 정보 또는 다양한 방식으로 획득한 정보를 이용하여 위치를 나타내는 정보(예: AP SSID(access point service set identifier), 기지국 정보)를 포함할 수 있다. 주변 장치(230)는 상기 일회성 암호화 정보를 이용하여 상기 위치 정보를 암호화할 수 있다. 주변 장치(230)는 일회성 암호화 정보에 포함된 일회성 암호화 키를 이용하여 상기 위치 정보를 암호화할 수 있다. 주변 장치(230)는 상기 일회성 암호화 정보와 상기 암호화된 위치 정보를 위치 서비스 서버(250)에 전송할 수 있다. 주변 장치(230)는 주변 장치(230)를 식별 가능한 정보(예: 장치 식별자) 없이 상기 위치 정보를 전송할 수 있다. Upon receiving the one-time encryption information, the
예를 들어, 제1 주변 장치(231)는 제1 위치에서 수신한 10번째 일회성 암호화 정보를 이용하여 제1 주변 장치(231)의 위치 정보를 암호화할 수 있다. 제1 주변 장치(231)는 10번째 일회성 암호화 정보와 암호화된 제1 주변 장치(231)의 위치 정보를 위치 서비스 서버(250)에 전송할 수 있다. 제2 주변 장치(233)는 제2 위치에서 수신한 13번째 일회성 암호화 정보를 이용하여 제2 주변 장치(233)의 위치 정보를 암호화할 수 있다. 제2 주변 장치(233)는 13번째 일회성 암호화 정보와 암호화된 제2 주변 장치(233)의 위치 정보를 위치 서비스 서버(250)에 전송할 수 있다. 제3 주변 장치(235)는 제3 위치에서 수신한 20번째 일회성 암호화 정보를 이용하여 제3 주변 장치(235)의 위치 정보를 암호화할 수 있다. 제3 주변 장치(235)는 20번째 일회성 암호화 정보와 암호화된 제3 주변 장치(235)의 위치 정보를 위치 서비스 서버(250)에 전송할 수 있다.For example, the first
위치 서비스 서버(250)는 주변 장치(230)로부터 수신된 일회성 암호화 정보 및 암호화된 위치 정보를 데이터베이스에 저장할 수 있다. 위치 서비스 서버(250)는 제2 전자 장치(215)로부터 일회성 암호화 정보를 수신하는 경우, 수신된 일회성 암호화 정보에 대응되는 일회성 암호화 정보가 있는지 상기 데이터베이스로부터 검색할 수 있다. 위치 서비스 서버(250)는 수신된 일회성 암호화 정보와 일치하는 일회성 암호화 정보가 검색되는 경우, 검색된 일회성 암호화 정보에 대응하여 저장된 (암호화된) 위치 정보를 제2 전자 장치(215)로 전송할 수 있다. 위치 서비스 서버(250)는 제2 전자 장치(215)로부터 일회성 암호화 정보 및 일회성 암호화 정보에 대응하는 인덱스 정보를 수신하는 경우, 수신된 일회성 암호화 정보에 대응되는 일회성 암호화 정보가 있는지 상기 데이터베이스로부터 검색할 수 있다. The
위치 서비스 서버(250)는 상기 검색된 일회성 암호화 정보에 대응하여 저장된 위치 정보 또는 상기 검색된 일회성 암호화 정보에 대응하는 인덱스 정보를 제2 전자 장치(215)로 전송할 수 있다. 위치 서비스 서버(250)는 상기 암호화된 위치 정보를 수신한 시간 정보를 더 저장하고, 상기 암호화된 위치 정보에 대응하는 일회성 암호화 정보 또는 시간 정보를 제2 전자 장치(215)로 전송할 수 있다. 제2 전자 장치(215)로부터 수신된 일회성 암호화 정보가 복수 개인 경우, 상기 위치 정보는 복수 개일 수 있다. 위치 서비스 서버(250)는 하나 이상의 위치 정보를, 각각 대응되는 일회성 암호화 정보, 시간 정보 또는 인덱스 정보 중 적어도 하나의 정보와 함께, 제2 전자 장치(215)로 전송할 수 있다.The
제2 전자 장치(215)는 사용자의 위치 찾기 요청에 기반하여 일회성 암호화 정보를 획득할 수 있다. 상기 일회성 암호화 정보는 일회성 암호화 키를 포함할 수 있다. 제2 전자 장치(215)는 사용자 입력에 기반하여 위치 찾기 어플리케이션을 실행하고, 상기 어플리케이션을 통해 사용자로부터 위치 찾기를 요청받을 수 있다. 제2 전자 장치(215)는 복호화 키를 공유한 시점부터 위치 찾기 요청이 수신된 시점까지 일회성 암호화 정보를 획득할 수 있다. 공유된 복호화 키(예: 개인키(private key))에 기반하여 1시간 마다 일회성 암호화 키가 생성되는 경우, 상기 위치 찾기를 요청한 시점이 상기 복호화 키를 공유한 시점으로부터 20시간이 경과한 경우, 20개의 일회성 암호화 정보가 획득될 수 있다. 제2 전자 장치(215)는 획득한 모든 일회성 암호화 정보를 위치 서비스 서버(250)로 전송할 수 있다. 또는, 제2 전자 장치(215)는 획득한 모든 일회성 암호화 정보 및 일회성 암호화 키에 대응되는 인덱스 정보를 위치 서비스 서버(250)로 전송할 수 있다. 제2 전자 장치(215)는 위치 서비스 서버(250)로부터 암호화된 위치 정보를 수신하는 경우, 복호화 키를 이용하여 상기 암호화된 위치 정보를 복호화(예: 암호 해제)할 수 있다. 제2 전자 장치(215)는 위치 서비스 서버(250)로부터 암호화된 위치 정보 및 인덱스 정보를 수신하는 경우, 수신된 인덱스 정보에 대응하는 복호화 키를 이용하여 상기 암호화된 위치 정보를 복호화(예: 암호 해제)할 수 있다.The second
제2 전자 장치(215)는 위치 서비스 서버(250)로부터 세 개의 암호화된 위치 정보를 수신할 수 있다. 또는, 제2 전자 장치(215)는 세 개의 암호화된 위치 정보에 대응되는 세 개의 일회용 암호화 정보 또는 세 개의 인덱스 정보를 수신할 수 있다. 또는, 제2 전자 장치(215)는 세 개의 암호화된 위치 정보에 대응되는 세 개의 일회용 암호화 정보 또는 세 개의 시간 정보를 수신할 수 있다. 제2 전자 장치(215)는 일회성 암호화 정보에 대응하는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 제2 전자 장치(215)는 상기 수신된 인덱스 정보 또는 위치 정보를 수신한 시간 정보에 기반하여 상기 위치 정보를 복호화할 수 있다. 복호화 키와 일회성 암호화 키는 서로 대응하여 생성되는 것이므로, 일회성 암호화 키의 인덱스는 복호화 키의 인덱스와 동일할 수 있다. 또한, 복호화 키의 인덱스는 시간 정보를 나타낼 수 있다. 1번째 복호화 키는 제1 시간(2020-01-01, 01:00)에 생성 및 공유된 것이고, 2번째 복호화 키는 제1 시간 이후 일정 시간(예: 1시간)이 지난 제2 시간(2020-01-01, 02:00)에 생성된 것이며, 3번째 복호화 키는 제2 시간 이후 일정 시간이 지난 제3 시간(03: 00)에 생성된 것일 수 있다. The second
예를 들어, 10번째 일회성 암호화 키로 암호화된 제1 주변 장치(231)의 위치 정보는 10번째 복호화 키로 복호화될 수 있다. 또한, 13번째 일회성 암호화 키로 암호화된 제2 주변 장치(233)의 위치 정보는 13번째 복호화 키로 복호화될 수 있다. 20번째 일회성 암호화 키로 암호화된 제3 주변 장치(235)의 위치 정보는 20번째 복호화 키로 복호화될 수 있다. 10번째 복호화 키로 복호화된 제1 주변 장치(231)의 위치 정보(예: 제1 위치)는 제10 시간(2020-01-01, 10:00)에서 제11 시간(2020-01-01, 11:00) 사이에 제1 전자 장치(101)가 위치한 정보를 나타낼 수 있다. 13번째 복호화 키로 복호화된 제2 주변 장치(233)의 위치 정보(예: 제2 위치)는 제13 시간(2020-01-01, 13:00)에서 제14 시간(2020-01-01, 14:00) 사이에 제1 전자 장치(101)가 위치한 정보를 나타낼 수 있다. 20번째 복호화 키로 복호화된 제3 주변 장치(235)의 위치 정보(예: 제3 위치)는 제20 시간(2020-01-01, 20:00)에서 제21 시간(2020-01-01, 21:00) 사이에 제1 전자 장치(101)가 위치한 정보를 나타낼 수 있다. 제2 전자 장치(215)는 위치 서비스 서버(250)로부터 상기 수신된 인덱스 정보에 대응하는 복호화 키로 상기 위치 정보를 복호화할 수 있다.For example, location information of the first
제2 전자 장치(215)는 시간에 따라 제1 전자 장치(101)의 위치 정보를 제공할 수 있다. 예를 들어, 제2 전자 장치(215)는 지도 상에 제1 전자 장치(101)의 이동 경로를 표기할 수 있다. 지도 상에는 2020년 1월 1일, 10시부터 11시 사이에 제1 전자 장치(101)가 제1 위치에 존재하고, 2020년 1월 1일, 13시부터 14시 사이에 제1 전자 장치(101)가 제2 위치에 존재하며, 2020년 1월 1일, 20시부터 21시 사이에 제1 전자 장치(101)가 제3 위치에 존재한 것으로 제1 전자 장치(101)의 이동 경로가 표기될 수 있다. The second
다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))는 통신 모듈(예: 도 1의 통신 모듈(190)), 메모리(예: 도 1의 메모리(130)), 및 상기 통신 모듈 또는 상기 메모리와 작동적으로 연결된 프로세서(예: 도 1의 프로세서(120))를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 다른 전자 장치로부터 일회성 암호화 정보를 수신하고, 상기 통신 모듈을 이용하여 상기 전자 장치의 위치 정보를 획득하고, 상기 일회성 암호화 정보에 기반하여 상기 위치 정보를 암호화하고, 상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 서버에 전송하도록 설정될 수 있다.An electronic device (eg, the
상기 프로세서는, 상기 정보를 분석하여 상기 위치 정보를 획득할지 여부를 결정하도록 설정될 수 있다.The processor may be configured to determine whether to obtain the location information by analyzing the information.
상기 프로세서는, 상기 일회성 암호화 정보에 대한 정보 제공이 허용되는 경우, 상기 위치 정보를 획득하고, 상기 일회성 암호화 정보에 대한 정보 제공이 허용되지 않는 경우, 상기 일회성 암호화 정보를 무시하도록 설정될 수 있다.The processor may be configured to obtain the location information when information provision for the one-time encryption information is permitted, and to ignore the one-time encryption information when information provision for the one-time encryption information is not permitted.
상기 프로세서는, 상기 일회성 암호화 정보에 대한 정보 제공이 허용되지 않는 경우, 상기 일회성 암호화 정보의 수신을 사용자에게 통지하고, 사용자 입력에 기반하여 상기 위치 정보를 획득하도록 설정될 수 있다.The processor may be configured to notify the user of reception of the one-time encryption information when the provision of information on the one-time encryption information is not allowed, and to obtain the location information based on a user input.
상기 프로세서는, 상기 사용자 입력이 전송 동의인 경우, 상기 위치 정보를 획득하고, 상기 사용자 입력이 전송 동의가 아닌 경우, 상기 일회성 암호화 정보를 무시하도록 설정될 수 있다.The processor may be configured to obtain the location information when the user input is a transmission agreement, and ignore the one-time encryption information when the user input is not a transmission agreement.
상기 프로세서는, 상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 상기 서버에 전송한 후, 상기 메모리에 저장하지 않도록 설정될 수 있다.The processor may be configured not to store the encrypted location information and the one-time encrypted information in the memory after transmitting the encrypted information to the server.
상기 프로세서는, 상기 일회성 암호화 정보의 수신에 따라 수행되는 동작을 상기 전자 장치의 백그라운드에서 수행되도록 설정될 수 있다.The processor may be configured to perform an operation performed according to the reception of the one-time encryption information in the background of the electronic device.
다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))는 통신 모듈(예: 도 1의 통신 모듈(190)), 메모리(예: 도 1의 메모리(130)), 및 상기 통신 모듈 또는 상기 메모리와 작동적으로 연결된 프로세서(예: 도 1의 프로세서(120))를 포함하고, 상기 프로세서는, 다른 전자 장치의 위치를 요청하는 사용자 입력을 수신하고, 상기 다른 전자 장치와 공유된 복호화 키에 기반하여 일회성 암호화 정보를 획득하고, 상기 통신 모듈을 이용하여 상기 일회성 암호화 정보를 서버에 전송하고, 상기 서버로부터 상기 다른 전자 장치의 위치에 대응하는 주변 장치의 위치 정보를 수신하도록 설정될 수 있다.An electronic device (eg, the
상기 프로세서는, 상기 다른 전자 장치와 공유된 복호화 키에 기반하여 설정된 주기 마다 일회성 암호화 정보 또는 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 생성하고, 상기 생성된 일회성 암호화 정보 또는 상기 인덱스 정보를 상기 메모리의 보안 영역에 저장하도록 설정될 수 있다.The processor generates one-time encryption information or index information corresponding to the one-time encryption information every set period based on a decryption key shared with the other electronic device, and stores the generated one-time encryption information or the index information in the memory. It can be set to be stored in a secure area.
상기 프로세서는, 상기 사용자 입력을 수신하면, 상기 복호화 키를 공유한 시점부터 상기 사용자 입력이 수신된 시점까지 일회성 암호화 정보 또는 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 생성하도록 설정될 수 있다.The processor may be configured to, upon receiving the user input, generate one-time encryption information or index information corresponding to the one-time encryption information from the time the decryption key is shared to the time when the user input is received.
상기 프로세서는, 상기 복호화 키를 공유한 시점부터 상기 사용자 입력이 수신된 시점까지 획득한 모든 일회성 암호화 정보 또는 인덱스 정보를 상기 서버에 전송하도록 설정될 수 있다.The processor may be configured to transmit all one-time encryption information or index information obtained from the time the decryption key is shared to the time when the user input is received to the server.
상기 프로세서는, 상기 주변 장치의 위치 정보를 상기 일회성 암호화 정보에 대응하는 복호화 키를 이용하여 복호화하고, 상기 복호화된 위치 정보를 제공하도록 설정될 수 있다.The processor may be configured to decrypt the location information of the peripheral device using a decryption key corresponding to the one-time encryption information, and provide the decrypted location information.
상기 프로세서는, 상기 서버로부터 상기 주변 장치의 위치 정보 및 인덱스 정보를 수신하고, 상기 주변 장치의 암호화된 위치 정보를 상기 수신된 인덱스 정보에 대응하는 복호화 키를 이용하여 복호화하고, 상기 복호화된 위치 정보를 제공하도록 설정될 수 있다.The processor receives the location information and index information of the peripheral device from the server, decrypts the encrypted location information of the peripheral device using a decryption key corresponding to the received index information, and the decrypted location information can be set to provide.
상기 프로세서는, 상기 복호화된 위치 정보가 복수개인 경우, 시간에 따른 복호화된 위치 정보를 이용하여 상기 다른 전자 장치의 이동 경로를 제공하도록 설정될 수 있다.The processor may be configured to provide a movement path of the other electronic device by using the decoded location information according to time when there are a plurality of pieces of the decrypted location information.
도 3은 다양한 실시예들에 따른 전자 장치, 주변의 전자 장치 및 서버 간의 동작 방법을 도시한 흐름도(300)이다.3 is a
도 3을 참조하면, 동작(301)에서, 제1 전자 장치(예: 도 1의 전자 장치(101))는 제2 전자 장치(215)와 복호화 키를 공유할 수 있다. 상기 복호화 키는 제1 전자 장치(101) 또는 제2 전자 장치(215)에서 생성되어, 공유될 수 있다. 상기 복호화 키를 공유하는 것은 제2 전자 장치(215)를 이용하여 제1 전자 장치(101)의 위치를 추적하기 위한 것일 수 있다. 제1 전자 장치(101) 또는 제2 전자 장치(215)는 위치 찾기 어플리케이션이 설치 가능한 기기일 수 있다.Referring to FIG. 3 , in
동작(303)에서, 제1 전자 장치(101)는 상기 공유된 복호화 키를 이용하여 설정된 주기 마다 일회성 암호화 키를 생성할 수 있다. 또는, 제1 전자 장치(101) 또는 제2 전자 장치(215)는 복호화 키를 이용하여 설정된 주기 마다 상기 일회성 암호화 키의 해시 값을 생성할 수 있다. 제1 전자 장치(101)는 공유된 첫 번째 복호화 키를 이용하여 첫 번째 일회성 암호화 키를 생성할 수 있다. 제1 전자 장치(101)는 일정 시간이 지난 후에 제2 전자 장치(215)와의 합의된 생성 규칙에 의해 복호화 키 및 복호화 키에 대응하는 일회성 암호화 키를 생성할 수 있다. 예를 들어, 제1 전자 장치(101)는 일정 시간이 지난 후에 첫 번째 복호화 키의 해시 값을 이용하여 두 번째 복호화 키를 생성할 수 있다. 제1 전자 장치(101)는 두 번째 복호화 키에 기반하여 두 번째 일회성 암호화 키를 생성할 수 있다. 상기 일회성 암호화 키로 암호화된 정보는 상기 복호화 키를 이용하여 복호화(예: 암호 해제)할 수 있다. 제1 전자 장치(101)는 생성된 복호화 키, 상기 복호화 키의 해시 값, 일회성 암호화 키, 또는 상기 일회성 암호화 키의 해시 값 중 적어도 하나를 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 제1 전자 장치(101)는 메모리(130)의 보안 영역(예: trust zone, secure world, trusted execution environment)에 상기 생성된 암호화 키, 상기 복호화 키의 해시 값, 일회성 암호화 키, 또는 상기 일회성 암호화 키의 해시 값 중 적어도 하나를 저장할 수 있다.In
동작(305)에서, 제1 전자 장치(101)는 일회성 암호화 정보를 브로드캐스트할 수 있다. 제1 전자 장치(101)는 선택적으로 또는 주기적으로 일회성 암호화 정보를 브로드캐스트할 수 있다. 상기 일회성 암호화 정보는 상기 일회성 암호화 키를 포함할 수 있다. 제1 전자 장치(101)는 설정된 조건에 해당하는 경우, 주기적으로(예: 10분, 30분, 1시간) 상기 일회성 암호화 정보를 브로드캐스트할 수 있다. 예를 들어, 상기 설정된 조건은 제1 전자 장치(101)가 분실 모드로 전환되거나, 제1 전자 장치(101)가 일정 시간 동안 다른 기기(예: 제1 사용자 장치(211), 제2 사용자 장치(213), 또는 제2 전자 장치(215))와 연결되지 않거나, 또는 제1 전자 장치(101)가 네트워크에 연결되지 않는 경우일 수 있다. 또는, 제1 전자 장치(101)는 설정된 조건과 상관없이 주기적으로(예: 10분, 30분, 1시간, 1일, 1주일) 상기 일회성 암호화 정보를 브로드캐스트할 수 있다. 상기 일회성 암호화 정보는 신호 수신 가능 범위(예: 5m, 10m)에 존재하는 불특정 다수에게 전송되는 패킷(또는 신호)일 수 있다.In
다양한 실시예들에 따르면, 상기 일회성 암호화 정보는 상기 일회성 암호화 키의 해시 값을 포함할 수 있다. 상기 일회성 암호화 정보로서 상기 일회성 암호화 키의 해시 값이 포함되는 경우, 제1 전자 장치(101)는 상기 일회성 암호화 키의 해시 값을 브로드캐스트하고, 별도로 상기 일회성 암호화 키를 브로드캐스트할 수 있다.According to various embodiments, the one-time encryption information may include a hash value of the one-time encryption key. When the one-time encryption information includes the hash value of the one-time encryption key, the first
동작(307)에서, 주변 장치(230)(예: 도 1의 전자 장치(102), 전자 장치(104))는 위치 정보를 식별할 수 있다. 주변 장치(230)는 상기 일회성 암호화 정보를 수신할 수 있다. 주변 장치(230)는 선택적으로, 주기적으로, 또는 실시간으로 패킷(또는 신호)을 스캔할 수 있다. 상기 패킷 스캔은 수신 가능 범위에 존재하는 불특정 다수로부터 광고 패킷 또는 비콘 신호와 같은 정보(또는 데이터)를 수신하는 것을 의미할 수 있다. 상기 일회성 암호화 정보는 수신자가 정해지지 않은 패킷이므로, 주변 장치(230)는 상기 패킷 스캔에 의해 상기 일회성 암호화 정보를 수신할 수 있다. 주변 장치(230)는 상기 정보를 수신하여 분석할 수 있다. 주변 장치(230)는 수신되는 패킷이 연결(예: 페어링) 요청을 위한 것인 경우, 연결 프로세스를 수행할 수 있다. 주변 장치(230)는 수신되는 패킷이 상기 일회성 암호화 정보를 포함하는 경우, 위치 정보를 식별할 수 있다.In
다양한 실시예들에 따르면, 상기 위치 정보는 주변 장치(230)의 지리적인 위치 정보 또는 간접으로 주변 장치(230)의 위치를 나타낼 수 있는 다양한 정보를 포함할 수 있다. 예를 들어, 상기 위치 정보는 주변 장치(230)에 포함된 위치 측정 모듈(예: GPS)에서 측정된 지리적인 위치 정보(예: 위도 좌표, 경도 좌표), UWB 통신을 통한 제1 전자 장치(101)와 주변 장치(230) 간의 거리 정보, 근거리 접속 정보(예: AP SSID), 또는 셀룰러 접속 정보(예: cellular access) 중 적어도 하나를 포함할 수 있다. 도면에서는 주변 장치(230)가 하나인 것으로 설명하고 있지만, 주변 장치(230)는 다수 개(예: 도 2a의 제1 사용자 장치(211) 또는 제2 사용자 장치(213), 도 2b의 제1 주변 장치(231), 제2 주변 장치(233), 제3 주변 장치(235))일 수 있다. 주변 장치(230)가 다수 개인 경우, 주변 장치(230)의 위치 정보가 상이할 수 있다.According to various embodiments, the location information may include geographic location information of the
동작(309)에서, 주변 장치(230)는 상기 일회성 암호화 정보를 이용하여 상기 위치 정보를 암호화할 수 있다. 주변 장치(230)는 일회성 암호화 정보에 포함된 일회성 암호화 키를 이용하여 상기 위치 정보를 암호화할 수 있다. 상기 위치 정보는 제1 전자 장치(101)와 상관없는 주변 장치(230)의 위치 정보이므로, 제1 전자 장치(101)를 찾으려는 목적으로만 활용될 수 있다. 이를 위해, 주변 장치(230)의 위치 정보는 제1 전자 장치(101)에서 생성한 일회성 암호화 정보에 의해 암호화될 수 있다.In
동작(311)에서, 주변 장치(230)는 상기 일회성 암호화 정보 및 상기 암호화된 위치 정보를 위치 서비스 서버(250)에 전송할 수 있다. 주변 장치(230)는 사용자 장치(210) 또는 제1 전자 장치(101)와 상관 없는 제3 자의 전자 장치이므로, 위치 정보를 전송하는 주변 장치(230)의 정보는 보호해야 할 수 있다. 이를 위해, 주변 장치(230)는 위치 정보 전송 시, 주변 장치(230)를 식별 가능한 어떠한 정보(예: 장치 식별자) 없이 암호화된 위치 정보를 전송할 수 있다. 주변 장치(230)는 상기 정보를 전송한 이후에는 상기 일회성 암호화 정보를 저장하지 않고 삭제(또는 제거)할 수 있다.In
동작(313)에서, 서버(250)(예: 도 1의 서버(108) 또는 도 2a 또는 도 2b의 위치 서비스 서버(250))는 주변 장치(230)로부터 상기 일회성 암호화 정보 및 상기 암호화된 위치 정보를 수신하여 저장할 수 있다. 위치 서비스 서버(250)는 상기 일회성 암호화 정보 및 상기 암호화된 위치 정보를 데이터베이스에 저장할 수 있다. 위치 서비스 서버(250)는 데이터베이스의 보안 영역에 상기 일회성 암호화 정보 및 상기 암호화된 위치 정보를 저장할 수 있다. 위치 서비스 서버(250)는 정보를 수신한 시간 순서대로 상기 일회성 암호화 정보 및 상기 암호화된 위치 정보를 저장할 수 있다.In
동작(315)에서, 제2 전자 장치(215)는 위치 찾기를 요청받을 수 있다. 상기 위치 찾기 요청은 사용자 입력에 기반하여 위치 찾기 어플리케이션을 실행하고, 상기 어플리케이션을 통해 사용자로부터 위치 찾기를 선택받는 것일 수 있다. In
동작(317)에서, 제2 전자 장치(215)는 일회성 암호화 정보를 획득할 수 있다. 제2 전자 장치(215)는 제1 전자 장치(101)와 공유된 복호화 키를 이용하여 설정된 주기(예: 10분, 30분, 1시간, 1일, 1주일) 마다 일회성 암호화 키를 생성할 수 있다. 제2 전자 장치(215)는 제1 전자 장치(101)와 합의된(또는 동일한) 생성 규칙에 의해 복호화 키 및 복호화 키에 대응하는 일회성 암호화 키를 생성할 수 있다. 제2 전자 장치(215)는 제1 전자 장치(101)와 복호화 키를 공유한 시점부터 설정된 주기 마다 일회성 암호화 키를 생성하여 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 제2 전자 장치(215)는 메모리의 보안 영역에 복호화 키 및 복호화 키에 대응하는 일회성 암호화 키를 저장할 수 있다. 제2 전자 장치(215)는 메모리의 보안 영역에 상기 복호화 키의 해시 값, 상기 일회성 암호화 키의 해시 값 또는 상기 복호화 키(또는 상기 일회성 암호화 키)에 대응하는 인덱스 정보 중 적어도 하나를 더 저장할 수 있다. 또는, 제2 전자 장치(215)는 상기 위치 찾기 요청이 있는 경우, 공유된 복호화 키를 이용하여 복호화 키를 공유한 시점부터 위치 찾기가 요청된 시점까지 일회성 암호화 키를 생성할 수 있다. 또는, 제2 전자 장치(215)는 상기 공유된 복호화 키를 이용하여 일회성 암호화 키의 해시 값을 생성할 수 있다. 제2 전자 장치(215)는 위치 찾기가 요청된 시점에 메모리에 저장된 일회성 암호화 정보를 추출하거나, 또는 일회성 암호화 정보를 생성함으로써, 일회성 암호화 정보를 획득할 수 있다.In
동작(319)에서, 제2 전자 장치(215)는 일회성 암호화 정보를 위치 서비스 서버(250)로 전송할 수 있다. 상기 일회성 암호화 정보는 일회성 암호화 키를 포함할 수 있다. 상기 획득한 일회성 암호화 키는 상기 복호화 키를 공유한 시점부터 사용자 요청이 수신된 시점까지 생성된 모든 일회성 암호화 키를 포함할 수 있다. 제2 전자 장치(215)는 상기 일회성 암호화 정보 및 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 위치 서비스 서버(250)로 전송할 수 있다. 제2 전자 장치(215)는 상기 일회성 암호화 정보로서 상기 일회성 암호화 키 대신에 상기 일회성 암호화 키의 해시 값을 포함시켜 위치 서비스 서버(250)로 전송할 수 있다.In
동작(321)에서, 위치 서비스 서버(250)는 위치 정보를 검색할 수 있다. 위치 서비스 서버(250)는 제2 전자 장치(215)로부터 일회성 암호화 정보를 수신하는 경우, 수신된 일회성 암호화 정보에 대응되는 일회성 암호화 정보가 있는지 상기 데이터베이스로부터 검색할 수 있다. At
동작(323)에서, 위치 서비스 서버(250)는 수신된 일회성 암호화 정보와 일치하는 일회성 암호화 정보가 검색되는 경우, 검색된 일회성 암호화 정보에 대응하여 저장된 위치 정보를 제2 전자 장치(215)로 전송할 수 있다. 제2 전자 장치(215)로 전송되는 위치 정보는 암호화된 위치 정보일 수 있다. 위치 서비스 서버(250)는 상기 검색된 위치 정보에 대응하는 일회성 암호화 정보를 제2 전자 장치(215)로 전송할 수 있다. 위치 서비스 서버(250)는 상기 검색된 위치 정보에 대응하는 일회성 암호화 정보의 인덱스 정보를 제2 전자 장치(215)로 전송할 수 있다.In
동작(325)에서, 제2 전자 장치(215)는 위치 서비스 서버(250)로부터 위치 정보를 수신하여 복호화할 수 있다. 제2 전자 장치(215)는 메모리에 저장된 복호화 키를 이용하여 상기 암호화된 위치 정보를 복호화(예: 암호 해제)할 수 있다. 제2 전자 장치(215)는 복호화 키를 공유한 시점부터 사용자 요청이 수신된 시점까지 생성된 일회성 암호화 정보에 대응되는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 또는, 제2 전자 장치(215)는 위치 서비스 서버(250)로부터 수신된 일회성 암호화 정보에 대응하는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 또는, 제2 전자 장치(215)는 위치 서비스 서버(250)로부터 수신된 일회성 암호화 정보에 대응하는 인덱스 정보와 최초 공유된 복호화 키를 이용하여 상기 암호화된 위치 정보를 복호화할 수 있다. 제2 전자 장치(215)는 상기 인덱스 정보에 대응하는 복호화 키를 이용하여 상기 암호화된 위치 정보를 복호화할 수 있다.In
동작(327)에서, 제2 전자 장치(215)는 복호화된 위치 정보를 제공할 수 있다. 예를 들어, 제2 전자 장치(215)는 상기 위치 정보로서 텍스트, 이미지 또는 비디오 중 적어도 하나로 구성된 사용자 인터페이스를 제공할 수 있다. 제2 전자 장치(215)는 지리적인 위치를 나타내는 주소를 제공하거나, 지도 상에 좌표 또는 시간순 이동 경로를 위치 정보로서 제공할 수 있다.In
도 4는 다양한 실시예들에 따른 사용자의 전자 장치의 동작 방법을 도시한 흐름도(400)이다.4 is a
도 4를 참조하면, 동작(401)에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 복호화 키를 생성하고 공유할 수 있다. 프로세서(120)는 상기 생성된 복호화 키를 사용자 장치(예: 도 2a의 사용자 장치(210))에 포함된 장치들과 공유할 수 있다. 사용자 장치(210)는 사용자 또는 사용자와 연관된 다른 사용자(예: 가족, 친구)가 소유한 장치로서, 예를 들어, 스마트 폰, 노트북, 데스크 탑 컴퓨터, 무선 이어폰, 블루투스 스피커, 웨어러블 장치, 차 키와 같은 다양한 종류의 전자 장치를 포함할 수 있다. 프로세서(120)는 통신 모듈(예: 도 1의 통신 모듈(190))을 통해 사용자 장치(210)로 상기 복호화 키를 전송할 수 있다. 또는, 사용자 장치에 공유되는 키는, 사용자로부터 seed 값 입력을 받아서 사용자 장치들에서 동일하게 생성될 수 있다.Referring to FIG. 4 , in
동작(403)에서, 프로세서(120)는 설정된 주기 마다 복호화 키에 기반하여 일회성 암호화 정보를 생성할 수 있다. 상기 일회성 암호화 정보는 일회성 암호화 키를 포함할 수 있다. 프로세서(120)는 복호화 키를 이용하여 설정된 주기(예: 1시간, 24시간, 3일, 1주일) 마다 일회성 암호화 키를 생성할 수 있다. 또는, 제1 전자 장치(101)는 복호화 키를 이용하여 설정된 주기 마다 상기 일회성 암호화 키의 해시 값을 생성할 수 있다. 프로세서(120)는 복호화 키 및 상기 복호화 키에 대응하는 일회성 암호화 키(예: 암호화 쌍 정보 ? public key & private key)를 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 프로세서(120)는 메모리(130)의 보안 영역에 상기 암호화 쌍 정보를 저장할 수 있다.In
다양한 실시예들에 따르면, 프로세서(120)는 메모리(130)의 저장 공간을 고려하여 일정 시간이 지난 상기 암호화 쌍 정보를 메모리(130)로부터 삭제(또는 제거)할 수 있다. 예를 들어, 프로세서(120)는 상기 일회성 암호화 정보를 생성하는 주기를 고려하여 상기 일정 시간을 설정할 수 있다. 프로세서(120)는 상기 설정된 주기가 10분인 경우, 일정 시간(예: 7일)이 경과한 상기 암호화 쌍 정보를 메모리(130)로부터 삭제할 수 있다. 또는, 프로세서(120)는 상기 설정된 주기가 1시간인 경우, 일정 시간(예: 30일)이 경과한 상기 암호화 쌍 정보를 메모리(130)로부터 삭제할 수 있다.According to various embodiments, the
동작(405)에서, 프로세서(120)는 설정된 조건에 해당하는지 여부를 판단할 수 있다. 상기 설정된 조건은 전자 장치(101)가 분실 모드로 전환되거나, 전자 장치(101)가 일정 시간 동안 다른 기기(예: 제1 사용자 장치(211), 제2 사용자 장치(213), 또는 제2 전자 장치(215))와 연결되지 않거나, 또는 전자 장치(101)가 네트워크에 연결되지 않는 경우일 수 있다. 프로세서는 설정된 조건에 해당하는 경우 동작(407)을 수행하고, 설정된 조건에 해당하지 않는 경우 동작(403)으로 리턴할 수 있다.In
설정된 조건에 해당하는 경우 동작(407)에서, 프로세서(120)는 일회성 암호화 정보를 브로드캐스트할 수 있다. 프로세서(120)는 통신 모듈(190)(예: BLE)을 통해 상기 일회성 암호화 정보를 전송할 수 있다. 프로세서(120)는 신호 수신 가능 범위(예: 5m, 10m)에 존재하는 불특정 다수에게 상기 일회성 암호화 정보를 패킷 형태로 전송할 수 있다. 상기 일회성 암호화 정보를 전송하는 방법은 기재된 방식 이외에도 다양한 방식이 이용될 수 있다. 다양한 실시예들에 따르면, 프로세서(120)는 선택적으로 또는 주기적으로 일회성 암호화 정보를 브로드캐스트할 수 있다. 프로세서(120)는 설정된 조건과 상관없이 주기적으로(예: 10분, 30분, 1시간) 상기 일회성 암호화 정보를 브로드캐스트할 수 있다. 이 경우, 동작(405)은 생략 가능할 수 있다.When the set condition is satisfied, in
다양한 실시예들에 따르면, 상기 일회성 암호화 정보는 상기 일회성 암호화 키의 해시 값을 포함할 수 있다. 상기 일회성 암호화 정보로서 상기 일회성 암호화 키의 해시 값이 포함되는 경우, 프로세서(120)는 상기 일회성 암호화 키의 해시 값을 브로드캐스트한 후 상기 일회성 암호화 키를 브로드캐스트할 수 있다.According to various embodiments, the one-time encryption information may include a hash value of the one-time encryption key. When the hash value of the one-time encryption key is included as the one-time encryption information, the
도 5는 다양한 실시예들에 따른 주변의 전자 장치의 동작 방법을 도시한 흐름도(500)이다. 도 5는 도 2a 또는 도 2b에 도시한 주변 장치(230)의 동작 방법을 설명한 것으로, 주변 장치(230)가 도 1의 전자 장치(101)로 해석될 때는, 제1 전자 장치(101)는 도 1의 전자 장치(102) 또는 전자 장치(104)로 해석될 수 있다.5 is a
도 5를 참조하면, 동작(501)에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 통신 모듈(예: 도 1의 통신 모듈(190))을 통해 일회성 암호화 정보를 수신할 수 있다. 상기 일회성 암호화 정보는 공유된 복호화 키를 이용하여 일회성 암호화 키를 생성 가능한 전자 장치로부터 수신될 수 있다. 상기 전자 장치는 도 2a에 도시한 사용자 장치(210)에 포함된 제1 사용자 장치(211), 제2 사용자 장치(213), 또는 제2 전자 장치(215)를 포함할 수 있다. 상기 일회성 암호화 정보는 상기 전자 장치에서 생성한 일회성 암호화 키를 포함할 수 있다. 다양한 실시예들에 따르면, 상기 일회성 암호화 정보로서 상기 일회성 암호화 키의 해시 값이 포함되는 경우, 프로세서(120)는 상기 일회성 암호화 키의 해시 값을 수신한 후 별도로 상기 일회성 암호화 키를 수신할 수 있다.Referring to FIG. 5 , in
동작(503)에서, 프로세서(120)는 위치 정보를 식별할 수 있다. 상기 위치 정보는 전자 장치(101)의 지리적인 위치 정보 또는 간접으로 전자 장치(101)의 위치를 나타낼 수 있는 다양한 정보를 포함할 수 있다. 예를 들어, 상기 위치 정보는 전자 장치(101)에 포함된 통신 모듈(190)을 통해 측정된 지리적인 위치 정보(예: 위도 좌표, 경도 좌표), UWB 통신을 통한 전자 장치(102)와 전자 장치(101) 간의 거리 정보, 근거리 접속 정보(예: AP SSID), 또는 셀룰러 접속 정보(예: cellular access) 중 적어도 하나를 포함할 수 있다. At
동작(505)에서, 프로세서(120)는 위치 정보를 암호화할 수 있다. 프로세서(120)는 상기 일회성 암호화 정보를 이용하여 상기 위치 정보를 암호화할 수 있다. 예를 들어, 프로세서(120)는 상기 일회성 암호화 키로 상기 위치 정보를 암호화할 수 있다. In
동작(507)에서, 프로세서(120)는 통신 모듈(190)을 통해 서버(예: 도 2a 또는 도 2b의 위치 서비스 서버(250))에 일회성 암호화 정보 및 암호화된 위치 정보를 전송할 수 있다. 프로세서(120)는 상기 일회성 암호화 정보를 수신한 시간 정보도 함께 위치 서비스 서버(250)로 전송할 수 있다. 전자 장치(101)는 상기 일회성 암호화 정보를 전송한 전자 장치의 사용자의 다른 전자 장치 또는 전자 장치와 상관 없는 제3 자의 전자 장치이므로, 위치 정보를 전송하는 전자 장치(101)의 정보는 보호해야 할 수 있다. 이를 위해, 프로세서(120)는 상기 위치 정보 전송 시, 전자 장치(101)를 식별 가능한 어떠한 정보(예: 장치 식별자) 없이 암호화된 위치 정보를 전송할 수 있다. 프로세서(120)는 상기 위치 정보를 전송한 이후에는 상기 일회성 암호화 정보를 저장하지 않고 삭제(또는 제거)할 수 있다.In
도 6은 다양한 실시예들에 따른 주변의 전자 장치의 위치 제공 방법을 도시한 흐름도(600)이다. 도 6은 도 5의 동작 방법을 조금 더 구체화한 것으로, 주변 장치(230)가 도 1의 전자 장치(101)로 해석될 때는, 제1 전자 장치(101)는 도 1의 전자 장치(102) 또는 전자 장치(104)로 해석될 수 있다.6 is a
도 6을 참조하면, 동작(601)에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 통신 모듈(예: 도 1의 통신 모듈(190))을 통해 일회성 암호화 정보를 수신할 수 있다. 상기 일회성 암호화 정보는 공유된 복호화 키를 이용하여 일회성 암호화 키를 생성 가능한 전자 장치로부터 수신될 수 있다. 상기 일회성 암호화 정보는 상기 전자 장치에서 생성한 일회성 암호화 키를 포함할 수 있다. 동작(601)은 도 5의 동작(501)과 동일 또는 유사하므로, 자세한 설명을 생략할 수 있다.Referring to FIG. 6 , in
동작(603)에서, 프로세서(120)는 정보(또는 패킷)를 분석할 수 있다. 상기 일회성 암호화 정보는 패킷 스캔을 통해 수신될 수 있다. 상기 패킷 스캔은 수신 가능 범위에 존재하는 불특정 다수로부터 실시간 또는 주기적으로 광고 패킷 또는 비콘 신호와 같은 정보(또는 데이터)를 수신하는 것을 의미할 수 있다. 상기 일회성 암호화 정보는 수신자가 정해지지 않은 패킷이므로, 프로세서(120)는 상기 패킷 스캔에 의해 상기 일회성 암호화 정보를 수신할 수 있다. 프로세서(120)는 상기 정보를 포함하는 패킷을 수신하여 분석할 수 있다. 프로세서(120)는 수신되는 패킷에 따라 서로 다른 동작을 수행할 수 있다.In
동작(605)에서, 프로세서(120)는 상기 정보가 연결 요청인지 여부를 판단할 수 있다. 프로세서(120)는 상기 정보가 연결 요청인 경우 동작(621)을 수행하고, 연결 요청이 아닌 경우 동작(607)을 수행할 수 있다.In
상기 정보가 연결 요청인 경우 동작(621)에서, 프로세서(120)는 연결 프로세스를 수행할 수 있다. 프로세서(120)는 상기 정보 분석을 통해 상기 패킷 스캔에 의해 수신된 패킷이 연결 요청인 것으로 판단할 수 있다. 상기 연결 프로세스는 상기 패킷을 전송한 상대방 전자 장치와 연결하기 위한 동작을 수행하는 것을 의미할 수 있다. 예를 들어, 상기 연결 프로세스는 상기 패킷을 전송한 상대방 전자 장치로 응답 패킷을 전송하고, 상기 응답 패킷을 수신한 상대방 전자 장치에 의해 연결이 허용된 경우, 상기 상대방 전자 장치와 연결하는 것일 수 있다. 프로세서(120)는 상기 응답 패킷에 전자 장치(101)의 장치 정보(예: 장치 식별자, 장치 프로파일 등)를 포함하여 전송할 수 있다.When the information is a connection request, in
상기 정보가 연결 요청이 아닌 경우 동작(607)에서, 프로세서(120)는 서비스 가입(또는 허용) 여부를 판단할 수 있다. 상기 서비스 가입 여부는 위치 찾기 서비스에 의한 위치 정보 제공을 허용할 것인지 여부일 수 있다. 상기 위치 찾기 서비스는 자신의 위치 정보(예: 전자 장치(101)의 위치 정보)를 암호화하여 서버로 전송함으로써, 다른 전자 장치의 위치를 추적하는데 도움을 주기 위한 것일 수 있다. 상기 위치 찾기 서비스는 자신의 위치 정보만 암호화하여 전송할 뿐, 자신의 전자 장치에 대한 어떠한 정보도 노출되지 않는 것일 수 있다. 다만, 사용자의 설정에 따라 상기 위치 찾기 서비스를 허용하거나, 허용하지 않을 수 있다. 프로세서(120)는 서비스에 가입된 경우(예: 정보 제공 허용), 동작(609)을 수행하고, 서비스에 가입되지 않은 경우(예: 정보 제공 불허), 동작(631)을 수행할 수 있다. 동작(607)은 상기 정보가 연결 요청이 아닌 경우 최초 1회만 수행될 수 있다. 동작(607)은 생략 가능할 수 있다.If the information is not a connection request, in
서비스에 가입된 경우, 동작(609)에서, 프로세서(120)는 위치 정보를 식별할 수 있다. 상기 위치 정보는 전자 장치(101)의 지리적인 위치 정보 또는 간접으로 전자 장치(101)의 위치를 나타낼 수 있는 다양한 정보를 포함할 수 있다. 예를 들어, 상기 위치 정보는 전자 장치(101)에 포함된 통신 모듈(190)을 통해 측정된 지리적인 위치 정보(예: 위도 좌표, 경도 좌표), UWB 통신을 통한 전자 장치(102)와 전자 장치(101) 간의 거리 정보, 근거리 접속 정보(예: AP SSID), 또는 셀룰러 접속 정보(예: cellular access) 중 적어도 하나를 포함할 수 있다. If subscribed to the service, in operation 609 , the
동작(611)에서, 프로세서(120)는 위치 정보를 암호화할 수 있다. 프로세서(120)는 상기 일회성 암호화 정보를 이용하여 상기 위치 정보를 암호화할 수 있다. 예를 들어, 프로세서(120)는 상기 일회성 암호화 키로 상기 위치 정보를 암호화할 수 있다. In
동작(613)에서, 프로세서(120)는 통신 모듈(190)을 통해 서버(예: 도 2a 또는 도 2b의 위치 서비스 서버(250))에 일회성 암호화 정보 및 암호화된 위치 정보를 전송할 수 있다. 프로세서(120)는 상기 일회성 암호화 정보를 수신한 시간 정보도 함께 위치 서비스 서버(250)로 전송할 수 있다. 프로세서(120)는 상기 위치 정보 전송 시, 전자 장치(101)를 식별 가능한 어떠한 정보(예: 장치 식별자) 없이 암호화된 위치 정보를 전송할 수 있다. 프로세서(120)는 상기 위치 정보를 전송한 이후에는 상기 일회성 암호화 정보를 저장하지 않고 삭제(또는 제거)할 수 있다.In
다양한 실시예들에 따르면, 동작(601) 내지 동작(613)은 전자 장치(101)의 백그라운드에서 수행되는 동작들일 수 있다. 프로세서(120)는 사용자 알림 없이 동작(601) 내지 동작(613)을 수행할 수 있다. 또는, 전자 장치(101)의 설정 또는 사용자의 설정에 기반하여 프로세서(120)는 동작(601) 내지 동작(613)의 수행을 사용자에게 통지할 수 있다.According to various embodiments,
서비스에 가입되지 않은 경우(예: 위치 정보 제공 불허), 동작(631)에서, 프로세서(120)는 정보 수신에 대한 사용자 알림을 제공할 수 있다. 프로세서(120)는 디스플레이(예: 도 1의 표시 장치(160))를 통해 상기 일회성 암호화 정보 수신을 표시할 수 있다. 상기 사용자 알림은 상기 위치 찾기 서비스에 대한 설명과 함께 전송 동의할 경우 위치 정보가 위치 서비스 서버(250)로 전송됨을 안내하는 것일 수 있다. 또한, 상기 사용자 알림은 전송을 동의하지 않는 경우, 수신된 정보는 무시되며, 위치 서비스 서버(250)로 아무런 정보도 전송되지 않음을 안내하는 것일 수 있다.When the service is not subscribed (eg, location information is not allowed), in
동작(633)에서, 프로세서(120)는 사용자 입력에 기반하여 전송이 동의되는지 여부를 판단할 수 있다. 프로세서(120)는 전송이 동의된 경우, 동작(609)을 수행하고, 전송이 동의되지 않는 경우 동작(635)을 수행할 수 있다. 전송이 동의된 경우, 프로세서(120)는 동작(609) 내지 동작(613)을 수행할 수 있다. 동작(633)은 최초 1회만 수행되고, 이후에는 전송 동의 여부에 따라 동작(631) 내지 동작(635)은 생략될 수 있다.In
전송이 동의되지 않는 경우 동작(635)에서, 프로세서(120)는 상기 일회성 암호화 정보를 무시할 수 있다. 프로세서(120)는 표시 장치(160)를 통한 사용자 알림을 제거하고, 상기 일회성 암호화 정보를 저장하지 않고 삭제(또는 제거)할 수 있다. 다양한 실시예들에 따르면, 사용자의 설정 또는 전자 장치(101)의 설정에 기반하여 서비스에 가입되지 않은 경우, 프로세서(120)는 상기 일회성 암호화 정보를 무시할 수 있다. 프로세서(120)는 서비스에 가입되지 않은 경우, 동작(631) 내지 동작(635)을 수행하지 않을 수 있다.If transmission is not agreed upon, in
도 7은 다양한 실시예들에 따른 사용자의 전자 장치의 동작 방법을 도시한 흐름도(700)이다. 도 7은 도 2a 또는 도 2b에 도시한 제2 전자 장치(215)의 동작 방법을 설명한 것으로, 제2 전자 장치(215)가 도 1의 전자 장치(101)로 해석될 때는, 주변 장치(230)는 도 1의 전자 장치(102) 또는 전자 장치(104)로 해석될 수 있다.7 is a
도 7을 참조하면, 동작(701)에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 위치 찾기 요청을 수신할 수 있다. 프로세서(120)는 사용자 입력에 기반하여 위치 찾기 어플리케이션을 실행하여 디스플레이(예: 도 1의 표시 장치(160))에 어플리케이션의 실행 화면을 표시할 수 있다. 어플리케이션의 실행 화면은 위치 찾기 버튼, 암호화 키 생성 버튼, 지도 보기 버튼과 같은 다양한 메뉴 항목이 포함될 수 있다. 프로세서(120)는 사용자로부터 위치 찾기 버튼을 선택받음으로써, 위치 찾기 요청을 수신할 수 있다. Referring to FIG. 7 , in
동작(703)에서, 프로세서(120)는 일회성 암호화 정보를 획득할 수 있다. 상기 일회성 암호화 정보는 상기 전자 장치에서 생성한 일회성 암호화 키를 포함할 수 있다. 또는, 프로세서(120)는 전자 장치(101)에서 생성한 일회성 암호화 키에 대응하는 인덱스 정보를 함께 생성할 수 있다. 전자 장치(101)는 복호화 키를 공유하고, 위치 찾기 어플리케이션을 실행 가능한 전자 장치일 수 있다. 예를 들어, 전자 장치(101)는 도 2a에 도시한 사용자 장치(210)에 포함된 제1 사용자 장치(211), 제2 사용자 장치(213), 또는 제2 전자 장치(215) 중 적어도 하나를 포함할 수 있다. 프로세서(120)는 복호화 키를 공유한 시점부터 위치 찾기 요청이 수신된 시점까지의 모든 일회성 암호화 정보를 획득할 수 있다. 프로세서(120)는 복호화 키를 공유한 시점부터 위치 찾기 요청이 수신된 시점까지의 모든 일회성 암호화 정보에 대응하는 인덱스 정보를 획득할 수 있다. In
프로세서(120)는 복호화 키를 공유한 시점부터 설정된 주기 마다 일회성 암호화 정보를 생성하여 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 프로세서(120)는 메모리(130)의 보안 영역에 복호화 키 및 복호화 키에 대응하는 일회성 암호화 키를 저장할 수 있다. 또는, 프로세서(120)는 위치 찾기 요청이 있는 경우, 공유된 복호화 키를 이용하여 복호화 키를 공유한 시점부터 위치 찾기 요청이 수신된 시점까지 일회성 암호화 정보 및 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 생성할 수 있다. The
동작(705)에서, 프로세서(120)는 통신 모듈(예: 도 1의 통신 모듈(190))을 통해 일회성 암호화 정보를 위치 서비스 서버(250)로 전송할 수 있다. 상기 설정된 주기가 24시간 이고, 상기 위치 찾기를 요청한 시점이 상기 복호화 키를 공유한 시점으로부터 3일이 경과한 경우, 3개의 일회성 암호화 정보가 획득될 수 있다. 프로세서(120)는 획득한 모든 일회성 암호화 정보 또는 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 위치 서비스 서버(250)로 전송할 수 있다. In
동작(707)에서, 프로세서(120)는 통신 모듈(190)을 통해 위치 서비스 서버(250)로부터 암호화된 위치 정보를 수신할 수 있다. 상기 암호화된 위치 정보는 주변 장치(예: 도 1의 전자 장치(102), 전자 장치(104), 또는 도 2a 및 도 2b의 주변 장치(230))의 위치 정보를 나타낼 수 있다. 상기 암호화된 위치 정보는 일회성 암호화 키를 이용하여 암호화된 것일 수 있다. 프로세서(120)는 상기 암호화된 위치 정보와 함께 일회성 암호화 정보를 위치 서비스 서버(250)로부터 수신할 수 있다. 프로세서(120)는 상기 암호화된 위치 정보와 함께 일회성 암호화 정보 및 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 위치 서비스 서버(250)로부터 수신할 수 있다.In
동작(709)에서, 프로세서(120)는 위치 정보를 복호화하여 제공할 수 있다. 프로세서(120)는 복호화 키를 공유한 시점부터 위치 찾기 요청이 수신된 시점까지 생성된 일회성 암호화 정보에 대응되는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 또는, 프로세서(120)는 위치 서비스 서버(250)로부터 수신된 일회성 암호화 정보에 대응하는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 또는, 프로세서(120)는 위치 서비스 서버(250)로부터 수신된 인덱스 정보에 대응하는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 프로세서(120)는 복호화된 위치 정보를 제공할 수 있다. 예를 들어, 프로세서(120)는 상기 위치 정보로서 텍스트, 이미지 또는 비디오 중 적어도 하나로 구성된 사용자 인터페이스를 제공할 수 있다. 프로세서(120)는 지리적인 위치를 나타내는 주소를 제공하거나, 지도 상에 좌표 또는 시간순 이동 경로를 위치 정보로서 제공할 수 있다.In
도 8은 다양한 실시예들에 따른 사용자의 전자 장치의 위치 제공 방법을 도시한 흐름도(800)이다. 도 8은 도 7의 동작 방법을 조금 더 구체화한 것으로, 제2 전자 장치(215)가 도 1의 전자 장치(101)로 해석될 때는, 제1 전자 장치는 도 1의 전자 장치(102) 또는 전자 장치(104)로 해석될 수 있다.8 is a
도 8을 참조하면, 동작(801)에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 복호화 키를 수신하여 저장할 수 있다. 프로세서(120)는 상기 복호화 키를 생성한 전자 장치(예: 도 1의 전자 장치(102) 또는 전자 장치(104))로부터 통신 모듈(예: 도 1의 통신 모듈(190))을 통해 복호화 키를 수신할 수 있다. 또는, 프로세서(120)는 사용자로부터 입력 받은 공통 seed값을 이용해서 전자 장치(예: 도 1의 전자 장치(102) 또는 전자 장치(104))와 동일하게 생성할 수 있다. 프로세서(120)는 메모리(예: 도 1의 메모리(130))의 보안 영역에 상기 수신된 혹은 동일하게 생성한 복호화 키를 저장할 수 있다. Referring to FIG. 8 , in
다양한 실시예들에 따르면, 프로세서(120)는 상기 복호화 키를 생성하고, 사용자 장치(예: 도 2a의 사용자 장치(210))에 포함된 장치들과 공유할 수 있다. 사용자 장치(210)는 사용자 또는 사용자와 연관된 다른 사용자(예: 가족, 친구)가 소유한 장치로서, 예를 들어, 스마트 폰, 노트북, 데스크 탑 컴퓨터, 무선 이어폰, 블루투스 스피커, 웨어러블 장치, 차 키와 같은 다양한 종류의 전자 장치를 포함할 수 있다. 프로세서(120)는 통신 모듈(190)을 통해 사용자 장치(210)로 상기 복호화 키를 전송할 수 있다.According to various embodiments, the
동작(803)에서, 프로세서(120)는 위치 찾기 요청을 수신할 수 있다. 프로세서(120)는 사용자 입력에 기반하여 위치 찾기 어플리케이션을 실행하고, 상기 실행된 어플리케이션을 통해 사용자로부터 위치 찾기 요청을 수신할 수 있다. 동작(803)은 도 7의 동작(701)과 동일 또는 유사하므로, 자세한 설명을 생략할 수 있다.At
동작(805)에서, 프로세서(120)는 일회성 암호화 정보가 저장되어 있는지 판단(또는 식별)할 수 있다. 프로세서(120)는 일회성 암호화 정보 및 상기 일회성 암호화 정보에 대응하는 인덱스 정보가 저장되어 있는지 판단할 수 있다. 상기 일회성 암호화 정보는 상기 전자 장치에서 생성한 일회성 암호화 키를 포함할 수 있다. 프로세서(120)는 메모리(예: 도 1의 메모리(130))에 상기 일회성 암호화 정보가 저장되어 있는 경우 동작(807)을 수행하고, 상기 일회성 암호화 정보가 저장되어 있지 않은 경우, 동작(821)을 수행할 수 있다. 동작(821)은 일회성 암호화 정보에 대응하는 인덱스 정보 생성하는 것을 포함할 수 있다.In
상기 일회성 암호화 정보가 저장되어 있는 경우, 동작(807)에서, 프로세서(120)는 메모리(130)로부터 일회성 암호화 정보를 추출할 수 있다. 프로세서(120)는 복호화 키를 공유한 시점부터 설정된 주기 마다 일회성 암호화 정보를 생성하여 메모리(130)의 보안 영역에 저장할 수 있다. 프로세서(120)는 메모리(130)의 보안 영역에 복호화 키, 복호화 키의 해시 값, 암호화 키에 대응하는 일회성 암호화 키, 일회성 암호화 키의 해시 값 또는 상기 일회성 암호화 키에 대응하는 인덱스 정보 중 적어도 하나를 저장할 수 있다. 프로세서(120)는 메모리(130)의 보안 영역으로부터 상기 일회성 암호화 정보 또는 인덱스 정보를 추출할 수 있다.If the one-time encryption information is stored, in operation 807 , the
상기 일회성 암호화 정보가 저장되어 있지 않은 경우, 동작(821)에서, 프로세서(120)는 공유된 복호화 키를 이용하여 복호화 키를 공유한 시점부터 위치 찾기 요청이 수신된 시점까지 일회성 암호화 정보를 생성할 수 있다. 프로세서(120)는 복호화 키를 공유한 시점부터 위치 찾기 요청이 수신된 시점까지의 모든 일회성 암호화 정보를 획득할 수 있다. 프로세서(120)는 복호화 키를 공유한 시점부터 위치 찾기 요청이 수신된 시점까지의 모든 일회성 암호화 정보 및 상기 모든 일회성 암호화 정보에 대응하는 인덱스 정보를 획득할 수 있다. If the one-time encryption information is not stored, in
동작(809)에서, 프로세서(120)는 통신 모듈(190)을 통해 일회성 암호화 정보를 위치 서비스 서버(250)로 전송할 수 있다. 상기 설정된 주기가 1시간이고, 상기 위치 찾기를 요청한 시점이 상기 복호화 키를 공유한 시점으로부터 6시간이 경과한 경우, 6개의 일회성 암호화 정보가 획득될 수 있다. 프로세서(120)는 획득한 모든 일회성 암호화 정보 및 상기 모든 일회성 암호화 정보에 대응하는 인덱스 정보를 위치 서비스 서버(250)로 전송할 수 있다. In
동작(811)에서, 프로세서(120)는 통신 모듈(190)을 통해 위치 서비스 서버(250)로부터 암호화된 위치 정보를 수신할 수 있다. 상기 암호화된 위치 정보는 주변 장치(예: 도 2a 및 도 2b의 주변 장치(230))의 위치 정보를 나타낼 수 있다. 상기 암호화된 위치 정보는 일회성 암호화 키를 이용하여 암호화된 것일 수 있다. 프로세서(120)는 상기 암호화된 위치 정보와 함께 일회성 암호화 정보 또는 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 위치 서비스 서버(250)로부터 수신할 수 있다. In
동작(813)에서, 프로세서(120)는 위치 정보를 복호화할 수 있다. 프로세서(120)는 복호화 키를 공유한 시점부터 위치 찾기 요청이 수신된 시점까지 생성된 일회성 암호화 정보에 대응되는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 또는, 프로세서(120)는 위치 서비스 서버(250)로부터 수신된 일회성 암호화 정보에 대응하는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다. 또는, 프로세서(120)는 위치 서비스 서버(250)로부터 수신된 인덱스 정보에 대응하는 복호화 키로 상기 암호화된 위치 정보를 복호화할 수 있다.In
동작(815)에서, 프로세서(120)는 복호화된 위치 정보를 제공할 수 있다. 예를 들어, 프로세서(120)는 상기 위치 정보로서 텍스트, 이미지 또는 비디오 중 적어도 하나로 구성된 사용자 인터페이스를 제공할 수 있다. 프로세서(120)는 지리적인 위치를 나타내는 주소를 제공하거나, 지도 상에 좌표 또는 시간순 이동 경로를 위치 정보로서 제공할 수 있다.In
6개의 일회성 암호화 정보를 위치 서비스 서버(250)로 전송하고, 그에 대응하여 3개의 위치 정보가 획득될 수 있다. 프로세서(120)는 지도 상에 시간 순서대로 전자 장치(102)의 이동 경로를 표기할 수 있다. 지도 상에는 2020년 1월 1일, 10시부터 11시 사이에 전자 장치(102)가 제1 위치에 존재하고, 2020년 1월 1일, 11시부터 12시 사이에 전자 장치(102)가 제2 위치에 존재하며, 2020년 1월 1일, 14시부터 15시 사이에 전자 장치(102)가 제3 위치에 존재한 것으로 전자 장치(102)의 이동 경로가 표기될 수 있다. 상기 제1 위치 또는 상기 제3 위치는 주변 장치(230)의 위치 정보일 수 있다.Six pieces of one-time encryption information may be transmitted to the
다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))의 동작 방법은 상기 전자 장치의 통신 모듈(예: 도 1의 통신 모듈(190))을 통해 다른 전자 장치로부터 일회성 암호화 정보를 수신하는 동작, 상기 통신 모듈을 이용하여 상기 전자 장치의 위치 정보를 획득하는 동작, 상기 일회성 암호화 정보에 기반하여 상기 위치 정보를 암호화하는 동작, 및 상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 서버에 전송하는 동작을 포함할 수 있다.In a method of operating an electronic device (eg, the
상기 방법은 상기 일회성 암호화 정보를 분석하여 상기 위치 정보를 획득할지 여부를 결정하는 동작을 더 포함할 수 있다.The method may further include the operation of determining whether to obtain the location information by analyzing the one-time encryption information.
상기 결정하는 동작은, 상기 일회성 암호화 정보에 대한 정보 제공이 허용되는 경우, 상기 위치 정보를 획득하도록 결정하는 동작, 및 상기 일회성 암호화 정보에 대한 정보 제공이 허용되지 않는 경우, 상기 일회성 암호화 정보를 무시하도록 결정하는 동작을 포함할 수 있다.The determining includes determining to obtain the location information when information provision for the one-time encryption information is permitted, and ignoring the one-time encryption information when providing information on the one-time encryption information is not permitted. It may include an action to decide to do so.
상기 결정하는 동작은, 상기 일회성 암호화 정보에 대한 정보 제공이 허용되지 않는 경우, 상기 일회성 암호화 정보의 수신을 사용자에게 통지하는 동작, 및 사용자 입력에 기반하여 상기 위치 정보를 획득하도록 결정하는 동작을 포함할 수 있다.The determining includes an operation of notifying a user of reception of the one-time encryption information when provision of information on the one-time encryption information is not permitted, and an operation of determining to obtain the location information based on a user input can do.
상기 결정하는 동작은, 상기 사용자 입력이 전송 동의인 경우, 상기 위치 정보를 획득하도록 결정하는 동작, 및 상기 사용자 입력이 전송 동의가 아닌 경우, 상기 일회성 암호화 정보를 무시하도록 결정하는 동작을 포함할 수 있다.The determining may include determining to obtain the location information when the user input is a consent for transmission, and determining to ignore the one-time encryption information when the user input is not a consent for transmission have.
상기 방법은 상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 상기 서버에 전송한 후, 상기 전자 장치의 메모리에 저장하지 않도록 제어하는 동작을 더 포함할 수 있다.The method may further include controlling not to store the encrypted location information and the one-time encryption information in the memory of the electronic device after transmitting the encrypted information to the server.
상기 방법은 상기 일회성 암호화 정보의 수신에 따라 수행되는 획득 동작, 암호화 동작, 또는 전송 동작을 상기 전자 장치의 백그라운드에서 수행되도록 제어하는 동작을 더 포함할 수 있다.The method may further include controlling an acquisition operation, an encryption operation, or a transmission operation performed according to the reception of the one-time encryption information to be performed in the background of the electronic device.
본 명세서와 도면에 개시된 본 발명의 다양한 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Various embodiments of the present invention disclosed in the present specification and drawings are merely presented as specific examples to easily explain the technical contents of the present invention and help the understanding of the present invention, and are not intended to limit the scope of the present invention. Therefore, the scope of the present invention should be construed as including all changes or modifications derived based on the technical spirit of the present invention in addition to the embodiments disclosed herein are included in the scope of the present invention.
101: 전자 장치
120: 프로세서
130: 메모리
190: 통신 모듈
190: 표시 장치
230: 주변 장치
215: 제2 전자 장치
250: 위치 서비스 서버101: electronic device
120: processor
130: memory
190: communication module
190: display device
230: peripheral device
215: second electronic device
250: location services server
Claims (20)
통신 모듈;
메모리; 및
상기 통신 모듈 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
상기 통신 모듈을 통해 다른 전자 장치로부터 일회성 암호화 정보를 수신하고,
상기 통신 모듈을 이용하여 상기 전자 장치의 위치 정보를 획득하고,
상기 일회성 암호화 정보에 기반하여 상기 위치 정보를 암호화하고,
상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 서버에 전송하도록 설정된 전자 장치.
In an electronic device,
communication module;
Memory; and
a processor operatively coupled to the communication module or the memory, the processor comprising:
Receive one-time encryption information from another electronic device through the communication module,
obtaining location information of the electronic device using the communication module;
Encrypting the location information based on the one-time encryption information,
An electronic device configured to transmit the encrypted location information and the one-time encrypted information to a server.
상기 일회성 암호화 정보를 분석하여 상기 위치 정보를 획득할지 여부를 결정하도록 설정된 전자 장치.
The method of claim 1, wherein the processor comprises:
An electronic device configured to determine whether to acquire the location information by analyzing the one-time encryption information.
상기 일회성 암호화 정보에 대한 정보 제공이 허용되는 경우, 상기 위치 정보를 획득하고,
상기 일회성 암호화 정보에 대한 정보 제공이 허용되지 않는 경우, 상기 일회성 암호화 정보를 무시하도록 설정된 전자 장치.
The method of claim 2, wherein the processor comprises:
When the provision of information on the one-time encryption information is permitted, the location information is obtained,
An electronic device configured to ignore the one-time encryption information when provision of information on the one-time encryption information is not permitted.
상기 일회성 암호화 정보에 대한 정보 제공이 허용되지 않는 경우, 상기 일회성 암호화 정보의 수신을 사용자에게 통지하고,
사용자 입력에 기반하여 상기 위치 정보를 획득하도록 설정된 전자 장치.
The method of claim 2, wherein the processor comprises:
If the provision of information on the one-time encryption information is not permitted, notify the user of the reception of the one-time encryption information,
An electronic device configured to acquire the location information based on a user input.
상기 사용자 입력이 전송 동의인 경우, 상기 위치 정보를 획득하고,
상기 사용자 입력이 전송 동의가 아닌 경우, 상기 일회성 암호화 정보를 무시하도록 설정된 전자 장치.
5. The method of claim 4, wherein the processor,
If the user input is a consent to transfer, obtain the location information,
an electronic device configured to ignore the one-time encryption information when the user input is not a consent for transmission.
상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 상기 서버에 전송한 후, 상기 메모리에 저장하지 않도록 설정된 전자 장치.
The method of claim 1, wherein the processor comprises:
After transmitting the encrypted location information and the one-time encryption information to the server, the electronic device is set not to be stored in the memory.
상기 일회성 암호화 정보의 수신에 따라 수행되는 동작을 상기 전자 장치의 백그라운드에서 수행되도록 설정된 전자 장치.
The method of claim 1, wherein the processor comprises:
An electronic device configured to perform an operation performed upon reception of the one-time encryption information in a background of the electronic device.
통신 모듈;
메모리; 및
상기 통신 모듈 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
다른 전자 장치의 위치를 요청하는 사용자 입력을 수신하고,
상기 다른 전자 장치와 공유된 복호화 키에 기반하여 일회성 암호화 정보를 획득하고,
상기 통신 모듈을 이용하여 상기 일회성 암호화 정보를 서버에 전송하고,
상기 서버로부터 상기 다른 전자 장치의 위치에 대응하는 주변 장치의 위치 정보를 수신하도록 설정된 전자 장치.
In an electronic device,
communication module;
Memory; and
a processor operatively coupled to the communication module or the memory, the processor comprising:
receive user input requesting a location of another electronic device;
Obtaining one-time encryption information based on a decryption key shared with the other electronic device,
Transmitting the one-time encryption information to the server using the communication module,
An electronic device configured to receive location information of a peripheral device corresponding to the location of the other electronic device from the server.
상기 다른 전자 장치와 공유된 복호화 키에 기반하여 설정된 주기 마다 일회성 암호화 정보 또는 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 생성하고,
상기 생성된 일회성 암호화 정보 또는 상기 인덱스 정보를 상기 메모리의 보안 영역에 저장하도록 설정된 전자 장치.
The method of claim 8, wherein the processor comprises:
generating one-time encryption information or index information corresponding to the one-time encryption information every set period based on a decryption key shared with the other electronic device;
An electronic device configured to store the generated one-time encryption information or the index information in a secure area of the memory.
상기 사용자 입력을 수신하면, 상기 복호화 키를 공유한 시점부터 상기 사용자 입력이 수신된 시점까지 일회성 암호화 정보 또는 상기 일회성 암호화 정보에 대응하는 인덱스 정보를 생성하도록 설정된 전자 장치.
The method of claim 8, wherein the processor comprises:
When the user input is received, the electronic device is configured to generate one-time encryption information or index information corresponding to the one-time encryption information from the time the decryption key is shared to the time when the user input is received.
상기 복호화 키를 공유한 시점부터 상기 사용자 입력이 수신된 시점까지 획득한 모든 일회성 암호화 정보 또는 인덱스 정보를 상기 서버에 전송하도록 설정된 전자 장치.
The method of claim 8, wherein the processor comprises:
An electronic device configured to transmit, to the server, all one-time encryption information or index information acquired from the time the decryption key is shared to the time when the user input is received.
상기 주변 장치의 암호화된 위치 정보를 상기 일회성 암호화 정보에 대응하는 복호화 키를 이용하여 복호화하고,
상기 복호화된 위치 정보를 제공하도록 설정된 전자 장치.
The method of claim 8, wherein the processor comprises:
Decrypting the encrypted location information of the peripheral device using a decryption key corresponding to the one-time encryption information,
An electronic device configured to provide the decrypted location information.
상기 서버로부터 상기 주변 장치의 위치 정보 및 인덱스 정보를 수신하고,
상기 주변 장치의 암호화된 위치 정보를 상기 수신된 인덱스 정보에 대응하는 복호화 키를 이용하여 복호화하고,
상기 복호화된 위치 정보를 제공하도록 설정된 전자 장치.
The method of claim 8, wherein the processor comprises:
Receive location information and index information of the peripheral device from the server,
Decrypting the encrypted location information of the peripheral device using a decryption key corresponding to the received index information,
An electronic device configured to provide the decrypted location information.
상기 복호화된 위치 정보가 복수개인 경우, 시간에 따른 복호화된 위치 정보를 이용하여 상기 다른 전자 장치의 이동 경로를 제공하도록 설정된 전자 장치.
The method of claim 12, wherein the processor comprises:
An electronic device configured to provide a movement path of the other electronic device using the decoded location information according to time when there are a plurality of pieces of the decrypted location information.
상기 전자 장치의 통신 모듈을 통해 다른 전자 장치로부터 일회성 암호화 정보를 수신하는 동작;
상기 통신 모듈을 이용하여 상기 전자 장치의 위치 정보를 획득하는 동작;
상기 일회성 암호화 정보에 기반하여 상기 위치 정보를 암호화하는 동작; 및
상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 서버에 전송하는 동작을 포함하는 방법.
A method of operating an electronic device, comprising:
receiving one-time encryption information from another electronic device through a communication module of the electronic device;
obtaining location information of the electronic device by using the communication module;
encrypting the location information based on the one-time encryption information; and
and transmitting the encrypted location information and the one-time encrypted information to a server.
상기 일회성 암호화 정보를 분석하여 상기 위치 정보를 획득할지 여부를 결정하는 동작을 더 포함하는 방법.
16. The method of claim 15,
The method further comprising the operation of determining whether to obtain the location information by analyzing the one-time encryption information.
상기 일회성 암호화 정보에 대한 정보 제공이 허용되는 경우, 상기 위치 정보를 획득하도록 결정하는 동작; 및
상기 일회성 암호화 정보에 대한 정보 제공이 허용되지 않는 경우, 상기 일회성 암호화 정보를 무시하도록 결정하는 동작을 포함하는 방법.
The method of claim 16, wherein the determining comprises:
determining to acquire the location information when the provision of information on the one-time encryption information is permitted; and
and determining to ignore the one-time encryption information when provision of information on the one-time encryption information is not permitted.
상기 일회성 암호화 정보에 대한 정보 제공이 허용되지 않는 경우, 상기 일회성 암호화 정보의 수신을 사용자에게 통지하는 동작; 및
사용자 입력에 기반하여 상기 위치 정보를 획득하도록 결정하는 동작을 포함하는 방법.
The method of claim 16, wherein the determining comprises:
notifying a user of reception of the one-time encryption information when the provision of information on the one-time encryption information is not permitted; and
determining to obtain the location information based on a user input.
상기 암호화된 위치 정보 및 상기 일회성 암호화 정보를 상기 서버에 전송한 후, 상기 전자 장치의 메모리에 저장하지 않도록 제어하는 동작을 더 포함하는 방법.
16. The method of claim 15,
After transmitting the encrypted location information and the one-time encryption information to the server, the method further comprising controlling not to store the encrypted location information and the one-time encryption information in a memory of the electronic device.
상기 일회성 암호화 정보의 수신에 따라 수행되는 획득 동작, 암호화 동작, 또는 전송 동작을 상기 전자 장치의 백그라운드에서 수행되도록 제어하는 동작을 더 포함하는 방법. 16. The method of claim 15,
The method further comprising controlling an acquisition operation, an encryption operation, or a transmission operation performed according to the reception of the one-time encryption information to be performed in the background of the electronic device.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200032119A KR20210115807A (en) | 2020-03-16 | 2020-03-16 | Apparatus and method for providing location using a near-by device |
PCT/KR2020/019076 WO2021187730A1 (en) | 2020-03-16 | 2020-12-24 | Method and device for providing location by using peripheral device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200032119A KR20210115807A (en) | 2020-03-16 | 2020-03-16 | Apparatus and method for providing location using a near-by device |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210115807A true KR20210115807A (en) | 2021-09-27 |
Family
ID=77771305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200032119A KR20210115807A (en) | 2020-03-16 | 2020-03-16 | Apparatus and method for providing location using a near-by device |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20210115807A (en) |
WO (1) | WO2021187730A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3684988B2 (en) * | 1999-09-07 | 2005-08-17 | 日本電信電話株式会社 | POSITION INFORMATION SERVICE SYSTEM, POSITION INFORMATION USING METHOD, POSITION TERMINAL, POSITION CENTER, AND TERMINAL TERMINAL IN POSITION INFORMATION SERVICE SYSTEM |
US20120089519A1 (en) * | 2010-10-06 | 2012-04-12 | Prasad Peddada | System and method for single use transaction signatures |
KR102244213B1 (en) * | 2014-03-10 | 2021-04-26 | 삼성전자 주식회사 | Method and apparatus for preventing losing electronic devices |
US20170032370A1 (en) * | 2015-07-27 | 2017-02-02 | Mastercard International Incorporated | Electronic payment transactions using machine readable code without requiring online connection |
KR101809974B1 (en) * | 2017-05-22 | 2017-12-19 | 주식회사 에프엔에스벨류 | A system for security certification generating authentication key combinating multi-user element and a method thereof |
-
2020
- 2020-03-16 KR KR1020200032119A patent/KR20210115807A/en unknown
- 2020-12-24 WO PCT/KR2020/019076 patent/WO2021187730A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021187730A1 (en) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102447351B1 (en) | Localization of Electronic Devices and Associated Wireless Accessories | |
CN105933904B (en) | Network connection method and device | |
RU2653291C2 (en) | Short message reading method and device | |
RU2628488C2 (en) | Method, terminal device and server for nfc data transfer | |
CN105307137A (en) | Short message reading method and device | |
KR20180121170A (en) | Electronic device and proximity discovery method thereof | |
KR20190035076A (en) | Method for registration of internet of things deivce and the appratus thereof | |
KR102546949B1 (en) | Electronic device, server device and method for determining location of electronic device | |
JP4962237B2 (en) | Program and method for managing information on location of portable device and file encryption key | |
WO2019148397A1 (en) | Storage of decomposed sensitive data in different application environments | |
KR20160124636A (en) | Mobile terminal and method for controlling the same | |
CN110365501B (en) | Method and device for group joining processing based on graphic code | |
US20230284000A1 (en) | Mobile information terminal, information presentation system and information presentation method | |
KR20180066786A (en) | Mobile device and method for accessing access point of wireless lan | |
CN111193702B (en) | Method and device for data encryption transmission | |
KR20150034496A (en) | Method and apparatus for accessing to electronic device having hotspot function | |
KR20200144843A (en) | Method for variable geofencing and electronic device thereof | |
KR20200107089A (en) | Method and electronic device for scanning channel to perform location based service | |
US20230345237A1 (en) | Electronic device performing wireless communication with accessory device, and operating method thereof | |
KR102657388B1 (en) | Electronic device for selecting key used for encryption based on an information quantity of data to be encrypted and method for the same | |
KR20210115807A (en) | Apparatus and method for providing location using a near-by device | |
KR20190100786A (en) | Method for geofencing based on payment information and electronic device therefor | |
CN110968549B (en) | File storage method, device, electronic equipment and medium | |
CN111680039A (en) | Storage method, query method, device, equipment and storage medium of order information | |
CN112995159B (en) | Information processing method, device, terminal and computer readable storage medium |