KR20210101998A - Electronic device and method for performing peer to peer service in electronic device - Google Patents
Electronic device and method for performing peer to peer service in electronic device Download PDFInfo
- Publication number
- KR20210101998A KR20210101998A KR1020200016684A KR20200016684A KR20210101998A KR 20210101998 A KR20210101998 A KR 20210101998A KR 1020200016684 A KR1020200016684 A KR 1020200016684A KR 20200016684 A KR20200016684 A KR 20200016684A KR 20210101998 A KR20210101998 A KR 20210101998A
- Authority
- KR
- South Korea
- Prior art keywords
- electronic device
- external electronic
- service
- communication
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
본 문서의 다양한 실시 예는, 이종 통신 방식(scheme)이 혼합된 전자 장치들 간의 장치 검색과 연결을 쉽게 하고 적합한 통신 방식으로 안전하게 P2P 서비스를 수행하기 위한 것이다.Various embodiments of the present document are intended to facilitate device discovery and connection between electronic devices in which heterogeneous communication schemes are mixed, and to safely perform P2P service through an appropriate communication scheme.
일반적으로 전자 장치에는 블루투스(Bluetooth), NFC, 또는 Wi-Fi 와 같은 근거리 통신 기술이 탑재되어 있고, 전자 장치들 간의 P2P 서비스로는 대표적으로 파일 전송, 모바일 핫스팟 연결, 또는 음악 공유(music share)가 있다. P2P 서비스를 이용하기 위해서는 사용자는 해당 서비스에서 이용하는 통신 방식이 무엇인지 사전에 파악할 수 있다. 예컨대, 파일 전송의 경우, 블루투스 파일 전송, NFC 를 사용하는 Android BeamTM, BLE(Bluetooth low energy)와 Wi-Fi 를 사용하는 장치로 보내기(send to device), 또는 Wi-Fi 다이렉트(direct)와 같이 세분화 되어있다. In general, an electronic device is equipped with a short-range communication technology such as Bluetooth, NFC, or Wi-Fi, and as a P2P service between electronic devices, typically file transfer, mobile hotspot connection, or music share. there is In order to use the P2P service, the user may know in advance what communication method is used in the corresponding service. For example, in the case of file transfer, Bluetooth file transfer, Android Beam TM using NFC, send to device using Bluetooth low energy (BLE) and Wi-Fi, or Wi-Fi direct are subdivided together
근거리 통신을 통한 P2P 서비스에서는 사용자를 인증하기 위해, 전화번호를 비교하는 방식이 사용되고 있다. 예를 들어, 해시(hash)된 전화번호의 일부 데이터를 CRC(cyclical redundancy check)와 함께 전송하고, 상대방 장치에 저장된 해시 정보와 비교하여, 일치 여부에 따라 사용자를 인증할 수 있다.In a P2P service through short-distance communication, a method of comparing phone numbers is used to authenticate a user. For example, some data of a hashed phone number may be transmitted together with a cyclical redundancy check (CRC), compared with hash information stored in the counterpart device, and the user may be authenticated according to whether or not they match.
다양한 P2P 서비스는 근거리 통신 방식에 기반한 서비스를 제공하도록 고안되어 통신 방식에 종속된 서비스 또는 통신 특성을 포함할 수 있다. 이로 인해, 동일한 성격의 서비스들에 대해 통신 방식 별로 중복된 서비스 또는 통신 특성이 존재할 수 있다. 이에 따라, 사용자는 특정 P2P 서비스를 이용하기 위해, 해당 서비스에서 이용하는 통신 방식이 무엇인지 사전에 파악해야 한다. Various P2P services are designed to provide a service based on a short-range communication method and may include a service or communication characteristic dependent on the communication method. For this reason, overlapping services or communication characteristics may exist for each communication method for services having the same characteristics. Accordingly, in order to use a specific P2P service, the user must know in advance what communication method is used in the corresponding service.
또한, 근거리 통신 방식을 이용한 P2P 서비스는 사용자간 인증 시 중간자 공격 (MITM, man-in-the-middle attack) 장치에 의한 개인 정보 노출이 발생될 수 있다. 중간자 공격 장치는 인증을 수행하는 전자 장치들 간의 데이터를 탈취함에 따라, 전자 장치가 중간자 공격 장치를 인증된 외부 전자 장치로 인식하여 통신 연결을 진행하도록 할 수 있다. In addition, in the P2P service using the short-distance communication method, personal information may be exposed by a man-in-the-middle attack (MITM) device during user-to-user authentication. As the man-in-the-middle attack device steals data between electronic devices that perform authentication, the electronic device may recognize the man-in-the-middle attack device as an authenticated external electronic device and perform a communication connection.
본 문서의 다양한 실시 예들은, 외부 전자 장치와의 P2P 서비스가 복수의 통신 방식을 통해 수행될 수 있을 때, 외부 전자 장치의 속성 정보 및 서비스의 특성을 고려하여 서비스 핸드오버를 수행할 수 있다. According to various embodiments of the present document, when a P2P service with an external electronic device can be performed through a plurality of communication methods, service handover may be performed in consideration of attribute information and service characteristics of the external electronic device.
본 문서의 다양한 실시 예들은, 전자 장치들 간의 P2P 통신에 있어서 통신 도중 정보 탈취와 같은 제3자의 개입을 막기 위해, 외부 전자 장치와 공개 키를 교환하여 인증서를 검증하고, 공용 키를 생성하여 상기 외부 전자 장치에 대한 인증을 수행할 수 있다.According to various embodiments of the present document, in P2P communication between electronic devices, in order to prevent a third party's intervention, such as information theft, during communication, a certificate is verified by exchanging a public key with an external electronic device, and a public key is generated. Authentication may be performed on the external electronic device.
본 문서의 다양한 실시 예에 따른 전자 장치는, 통신 모듈, 보안 모듈, 상기 통신 모듈 및 상기 보안 모듈과 작동적으로 연결된 프로세서 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, P2P(peer to pear) 서비스가 요청됨에 따라, 외부 전자 장치로부터 공개 키를 수신하고, 상기 보안 모듈을 통해 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하고, 상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고, 상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하고, 상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하고, 상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 통신 모듈을 통해 상기 외부 전자 장치와 상기 P2P 서비스를 수행하도록 하는 인스트럭션들을 저장할 수 있다. An electronic device according to various embodiments of the present disclosure includes a communication module, a security module, a processor operatively connected to the communication module and the security module, and a memory operatively connected to the processor, wherein the memory, when executed The processor receives a public key from an external electronic device when a peer to pear (P2P) service is requested, and sends a certificate chain generated based on the received public key through the security module to the external electronic device , verify the certificate chain received from the external electronic device using the root certificate stored in the security module, receive encrypted information of the external electronic device from the external electronic device, and Decrypts the encrypted information of the external electronic device using the public key generated according to the verification result, and based on the decrypted information of the external electronic device, the external electronic device and the P2P service through the communication module You can store instructions to perform
본 문서의 다양한 실시 예에 따른 전자 장치는, 적어도 하나의 통신 모듈, 상기 통신 모듈과 작동적으로 연결된 프로세서 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 통신 모듈을 통하여, 외부 전자 장치와의 서비스 요청을 확인하고, 상기 외부 전자 장치에 대한 인증을 수행하고, 상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하도록 상기 통신 모듈을 제어하고, 상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하고, 상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 상기 서비스를 연결하기 위한 제2 근거리 통신을 확인하고, 상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 연결하도록 상기 통신 모듈을 제어하는 인스트럭션들을 저장할 수 있다. An electronic device according to various embodiments of the present disclosure includes at least one communication module, a processor operatively connected to the communication module, and a memory operatively connected to the processor, wherein the memory, when executed, includes the processor A, through the communication module, check a service request with an external electronic device, perform authentication for the external electronic device, and connect the first short-distance communication with the external electronic device according to a result of the authentication a second for controlling the communication module to establish Check short-range communication and store instructions for controlling the communication module to connect with the external electronic device through the second short-range communication.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 P2P(peer to pear) 서비스 수행 방법은, P2P 서비스가 요청됨에 따라, 외부 전자 장치로부터 공개 키를 수신하는 동작, 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하는 동작, 상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하는 동작, 상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하는 동작, 상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하는 동작, 상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 외부 전자 장치와 상기 P2P 서비스를 수행하는 동작을 포함할 수 있다.A method of performing a peer to pear (P2P) service in an electronic device according to various embodiments of the present disclosure includes an operation of receiving a public key from an external electronic device when a P2P service is requested, and generating based on the received public key The operation of transmitting the obtained certificate chain to the external electronic device, the operation of verifying the certificate chain received from the external electronic device using the root certificate stored in the security module, the information of the external electronic device encrypted from the external electronic device based on the operation of receiving a , decrypting the encrypted information on the external electronic device using a public key generated according to the verification result of the received certificate chain, and the decrypted information on the external electronic device, and performing the P2P service with an external electronic device.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 P2P(peer to pear) 서비스 수행 방법은, 외부 전자 장치와의 서비스 요청을 확인하는 동작, 상기 외부 전자 장치에 대한 인증을 수행하는 동작, 상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하는 동작, 상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하는 동작, 상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 연결하기 위한 제2 근거리 통신을 확인하는 동작, 상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 상기 서비스를 연결하도록 제어하는 동작을 포함할 수 있다. A method of performing a peer to pear (P2P) service in an electronic device according to various embodiments of the present disclosure includes an operation of confirming a service request with an external electronic device, an operation of performing authentication for the external electronic device, and the authentication of the external electronic device. Based on the execution result, the operation of establishing a first short-range communication connection with the external electronic device, the operation of receiving communication information of the external electronic device through the first short-range communication, and the confirmed communication information, It may include an operation of confirming a second short-range communication for connection with the external electronic device, and an operation of controlling the connection between the external electronic device and the service through the second short-range communication.
본 문서의 다양한 실시 예에 따라, 전자 장치 및 전자 장치에서는, 외부 전자 장치와의 P2P 서비스 시, 외부 전자 장치의 속성 정보 및 서비스의 특성을 고려하여 서비스 핸드오버를 수행함에 따라, 해당 서비스에 적합한 통신 방식이 사용되도록 할 수 있다. According to various embodiments of the present disclosure, when performing a P2P service with an external electronic device, an electronic device and an electronic device perform a service handover in consideration of the attribute information of the external electronic device and the characteristics of the service. A communication method may be used.
본 문서의 다양한 실시 예에 따라, 전자 장치와 외부 전자 장치 간의 상호 인증에 따라 생성되는 공개 키를 이용하여 인증을 수행함에 따라, 중간자 공격을 방지하고 통신 연결의 보안을 강화시킬 수 있다.According to various embodiments of the present document, as authentication is performed using a public key generated according to mutual authentication between an electronic device and an external electronic device, a man-in-the-middle attack can be prevented and the security of a communication connection can be strengthened.
도 1은 본 문서의 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 본 문서의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블록도이다.
도 3은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 위한 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 4는 본 문서의 다양한 실시 예에 따른 전자 장치에서 외부 전자 장치와 P2P 서비스를 수행하는 동작의 일 예를 도시한 흐름도이다.
도 5는 본 문서의 다양한 실시 예에 따른 소프트웨어 구성의 일 예를 도시한 블록도이다.
도 6은 본 문서의 다양한 실시 예에 따른 소프트웨어 구조의 일 예를 도시한 도면이다.
도 7은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 수행하는 동작의 일 예를 도시한 흐름도이다.
도 8은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 수행하는 동작의 일 예를 도시한 도면이다.
도 9는 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 수행하는 동작의 일 예를 도시한 흐름도이다.
도 10은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 위해 서비스 대상 장치와의 통신 범위를 확인하는 동작의 일 예를 도시한 흐름도이다.
도 11은 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.
도 12는 본 문서의 다양한 실시 예에 따른, P2P 서비스에 대한 허가 여부를 확인하는 화면 구성의 일 예를 도시한 도면이다.
도 13은 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.
도 14는 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.
도 15는 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.
도 16은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 17은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 18은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 19는 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하여 서비스 핸드오버하는 동작의 일 예를 도시한 흐름도이다.
도 20은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 서비스 핸드오버의 알리는 화면 구성의 일 예를 도시한 도면이다.
도 21은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에 있어서 서비스 핸드오버 장치를 디스커버리하는 동작의 일 예를 도시한 흐름도이다.1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure;
2 is a block diagram illustrating an example of a configuration of an electronic device according to various embodiments of the present disclosure.
3 is a flowchart illustrating an example of an operation of performing authentication for a P2P service in an electronic device according to various embodiments of the present disclosure.
4 is a flowchart illustrating an example of an operation of performing a P2P service with an external electronic device in an electronic device according to various embodiments of the present disclosure;
5 is a block diagram illustrating an example of a software configuration according to various embodiments of the present disclosure.
6 is a diagram illustrating an example of a software structure according to various embodiments of the present disclosure.
7 is a flowchart illustrating an example of an operation of performing a P2P service in an electronic device according to various embodiments of the present disclosure.
8 is a diagram illustrating an example of an operation of performing a P2P service in an electronic device according to various embodiments of the present disclosure.
9 is a flowchart illustrating an example of an operation of performing a P2P service in an electronic device according to various embodiments of the present disclosure.
10 is a flowchart illustrating an example of an operation of checking a communication range with a service target device for a P2P service in an electronic device according to various embodiments of the present disclosure;
11 is a flowchart illustrating an example of an operation of checking whether a service target device and a P2P service are activated in an electronic device according to various embodiments of the present disclosure;
12 is a diagram illustrating an example of a screen configuration for checking whether permission for a P2P service is permitted, according to various embodiments of the present document.
13 is a flowchart illustrating an example of an operation of checking whether a service target device and a P2P service are activated in an electronic device according to various embodiments of the present disclosure;
14 is a flowchart illustrating an example of an operation of checking whether a service target device and a P2P service are activated in an electronic device according to various embodiments of the present disclosure;
15 is a flowchart illustrating an example of an operation of checking whether a service target device and a P2P service are activated in an electronic device according to various embodiments of the present disclosure;
16 is a flowchart illustrating an example of an operation of performing authentication in a P2P service between electronic devices according to various embodiments of the present disclosure.
17 is a flowchart illustrating an example of an operation of performing authentication in a P2P service between electronic devices according to various embodiments of the present disclosure.
18 is a flowchart illustrating an example of an operation of performing authentication in a P2P service between electronic devices according to various embodiments of the present disclosure.
19 is a flowchart illustrating an example of an operation of performing a service handover by performing authentication in a P2P service between electronic devices according to various embodiments of the present disclosure.
20 is a diagram illustrating an example of a screen configuration for notifying a service handover in a P2P service between electronic devices according to various embodiments of the present disclosure.
21 is a flowchart illustrating an example of an operation of discovering a service handover device in a P2P service between electronic devices according to various embodiments of the present disclosure.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다. 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다. Hereinafter, various embodiments of the present document will be described with reference to the accompanying drawings. Examples and terms used therein are not intended to limit the technology described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of the embodiments. In connection with the description of the drawings, like reference numerals may be used for like components. The singular expression may include the plural expression unless the context clearly dictates otherwise. In this document, expressions such as "A or B" or "at least one of A or B" may include all possible combinations of items listed together. Expressions such as "first," "second," "first," or "second," can modify the corresponding elements, regardless of order or importance, and to distinguish one element from another element. It is used only and does not limit the corresponding components. When an (eg, first) component is referred to as being “connected (functionally or communicatively)” or “connected” to another (eg, second) component, that component is It may be directly connected to the component or may be connected through another component (eg, a third component).
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다. In this document, “configured (or configured to)” means “suitable for,” “having the ability to,” “modified to,” depending on the context, for example, in hardware or software. ," "made to," "capable of," or "designed to" may be used interchangeably. In some circumstances, the expression “a device configured to” may mean that the device is “capable of” with other devices or parts. For example, the phrase “a processor configured (or configured to perform) A, B, and C” refers to a dedicated processor (eg, an embedded processor) for performing the operations, or by executing one or more software programs stored in a memory device. , may refer to a general-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다. Electronic devices according to various embodiments of the present disclosure may include, for example, a smartphone, a tablet PC, a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop PC, a netbook computer, a workstation, a server, a PDA, a PMP ( portable multimedia player), an MP3 player, a medical device, a camera, or a wearable device. A wearable device may be an accessory (e.g., watch, ring, bracelet, anklet, necklace, glasses, contact lens, or head-mounted-device (HMD)); It may include at least one of a body-worn (eg, skin pad or tattoo) or bioimplantable circuit In some embodiments, the electronic device may include, for example, a television, digital video disk (DVD) player, audio , refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air purifier, set-top box, home automation control panel, security control panel, media box (eg Samsung HomeSync TM , Apple TV TM , or Google TV TM ); It may include at least one of a game console (eg , Xbox TM , PlayStation TM ), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 또는 보일러) 중 적어도 하나를 포함할 수 있다. 어떤 실시 예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다. In another embodiment, the electronic device may include various medical devices (eg, various portable medical measuring devices (blood glucose meter, heart rate monitor, blood pressure monitor, or body temperature monitor)), magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), CT. (computed tomography, camera, or ultrasound), navigation devices, global navigation satellite system (GNSS), event data recorder (EDR), flight data recorder (FDR), automotive infotainment devices, marine electronic equipment (e.g. : Navigation devices for ships, gyro compasses), avionics, security devices, head units for vehicles, industrial or household robots, drones, ATMs in financial institutions, point of sales (POS) in stores , or an IoT device (eg, a light bulb, various sensors, sprinkler devices, fire alarms, thermostats, street lights, toasters, exercise equipment, hot water tanks, heaters, or boilers). According to some embodiments, the electronic device is a piece of furniture, a building/structure or a vehicle, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (eg, water, electricity, gas, or a radio wave measuring device). In various embodiments, the electronic device may be flexible or a combination of two or more of the various devices described above. The electronic device according to the embodiment of this document is not limited to the above-described devices. In this document, the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.
이하, 첨부 도면을 참조하여, 본 문서의 다양한 실시 예에 따른 전자 장치 및 서비스 디스커버리하는 전자 장치 및 방법이 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다. Hereinafter, an electronic device and an electronic device and method for service discovery according to various embodiments of the present document will be described with reference to the accompanying drawings. In this document, the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.
도 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
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The
입력 장치(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)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다. 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, 또는 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. According to an embodiment, the command or data may be transmitted or received between the
도 2는 본 문서의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블록도이다. 2 is a block diagram illustrating an example of a configuration of an electronic device according to various embodiments of the present disclosure.
도 2를 참조하면, 전자 장치(101)는 프로세서(120), 메모리(130), 표시 장치(160), 통신 모듈(190) 및 보안 모듈(220)을 포함할 수 있다. Referring to FIG. 2 , the
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 P2P 서비스의 서비스 핸드오버와 관련된 전반적인 동작을 수행할 수 있다. According to various embodiments of the present document, the
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 사용자에 의한 P2P 서비스 요청에 따라 P2P 서비스의 트리거를 확인할 수 있다. 예컨대, 상기 P2P 서비스는 근거리 통신을 통한 전자 장치들 간의 음악 공유 서비스 또는 파일 전송(예, 탭 투 쉐어 혹은 Insync)을 포함할 수 있다. 전자 장치(101)는 지정된 제스처 입력(예, 외부 전자 장치(102)와의 탭 제스처) 또는 지정된 어플리케이션의 실행을 감지함에 따라 P2P 서비스의 트리거를 확인할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 근거리 통신 모듈(210)을 통해 통신 범위를 측정할 수 있다. 예컨대, 프로세서(120)는 전자 장치(101)와 서비스 대상 장치(예, 외부 전자 장치(102)) 간에 교환되는 정보에 기반하여 서비스 대상 장치가 통신 가능한 범위에 위치하였는지를 판단할 수 있다. 상기 교환되는 정보는, 외부 전자 장치(102)가 서비스 핸드오버의 호스트 장치로 동작함에 따라, 호스트 장치로서의 호스트 장치 이름, 호스트 블루투스 주소, 캐스터 장치 이름 또는 캐스터 장치와의 연결 종류를 포함하며, 전자 장치(101)와의 통신 연결에 대한 블루투스 주소를 포함할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 상기 통신 범위를 측정하는 동작은 통신 방식의 트리거 조건에 기반하여 생략될 수 있다. 예컨대, 전자 장치들 간의 접촉에 의해 트리거되는 특정 P2P 서비스(예, 탭 투 쉐어)의 경우, 전술된 통신 범위를 측정하는 동작은 생략할 수 있다. According to various embodiments of the present disclosure, the operation of measuring the communication range may be omitted based on a trigger condition of the communication method. For example, in the case of a specific P2P service (eg, tap to share) triggered by contact between electronic devices, the above-described operation of measuring the communication range may be omitted.
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 근거리 통신 모듈(210)을 통해 외부 전자 장치(102)의 레인징 패킷을 수신하고, 상기 패킷의 크기 또는 통신 세기에 기반하여 통신 범위를 측정할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 외부 전자 장치(102)가 통신 범위에 위치한 것으로 판단하면 서비스 핸드오버를 결정할 수 있다. 예컨대, P2P 서비스가 가능한 통신 방식들 중 하나의 통신 방식을 결정하고, 해당 통신 방식을 통해 P2P 서비스를 수행하도록 할 수 있다. According to various embodiments of the present disclosure, when determining that the external
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 P2P 서비스와 관련된 어플리케이션(예, 파일 전송 어플리케이션, Quick Share 어플리케이션, 음악 공유(music share) 어플리케이션) 또는 통신 방식과 관련된 모듈(예, Wi-Fi 어웨어 모듈(211), Wi-Fi 다이렉트 모듈(212), 블루투스 모듈(213) 또는 NFC 모듈(214))으로 서비스 핸드오버와 관련된 정보를 전송할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 서비스 핸드오버와 관련된 정보를 사용자에게 알리기 위한 화면을 표시하도록 표시 장치(160)를 제어할 수 있다. 예컨대, 상기 화면은 P2P 서비스가 핸드오버되는 장치 정보 또는 서비스 정보를 포함하며, 해당 서비스에 대한 허가 응답 또는 거절 응답을 선택할 수 있는 항목을 포함할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 서비스 핸드오버는 전자 장치(101)가 근거리 통신 연결을 통해 외부 전자 장치(102) 또는 외부 전자 장치(102)의 주변 장치와 연결될 때, 지원하는 통신 방식 또는 지정된 통신 조건(예, 통신 범위 혹은 통신 품질)에 대응하는 통신 방식을 통해 P2P 서비스가 수행되거나 P2P 서비스 중 적어도 일부가 해당 주변 장치에서 수행되도록 하는 동작을 포함할 수 있다. 예컨대, 주변 장치는 외부 전자 장치(102)와 근거리 통신으로 연결되어, P2P 서비스를 제공할 수 있는 장치를 포함할 수 있다.According to various embodiments of the present disclosure, service handover is a communication method supported when the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(102)의 블루투스 A2DP(advanced audio distribution profile) 장치로 서비스 핸드오버하여, 블루투스 A2DP 장치에서 상기 전자 장치(101)의 콘텐트가 출력되도록 할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 외부 전자 장치(102)와 P2P 서비스를 수행하기 위해, 제1 통신 방식(예: BLE)으로 연결을 수행하고, 제2 통신 방식(예: WiFi Direct)으로 P2P 서비스를 수행할 수 있다.According to various embodiments of the present disclosure, in order to perform a P2P service with the external
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 이전에 외부 전자 장치(102)와의 연결 시 사용한 통신 방식을 유지하는 서비스 핸드오버를 수행하거나 상기 외부 전자 장치(102)로부터 수신된 추가 정보에 기반하여 다른 통신 방식으로 서비스 핸드오버를 수행할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 통신 모듈(190), 보안 모듈(220), 상기 통신 모듈(190) 및 상기 보안 모듈(220)과 작동적으로 연결된 프로세서(120) 및 상기 프로세서(120)와 작동적으로 연결된 메모리(130)를 포함하고, 상기 메모리(130)는, 실행 시에, 상기 프로세서(120)가, P2P 서비스가 요청됨에 따라, 외부 전자 장치(102)로부터 공개 키(public key)를 수신하고, 상기 보안 모듈을 통해 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하고, 상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고, 상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하고, 상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키(shared key)를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하고, 상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 통신 모듈을 통해 상기 외부 전자 장치와 상기 P2P 서비스를 수행하도록 하는 인스트럭션들을 저장할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 통해, 상기 외부 전자 장치(102)와의 GATT 연결을 통해 상기 공개 키를 수신하고 상기 암호화된 외부 전자 장치(102)의 정보를 수신하도록 할 수 있다. According to various embodiments of the present disclosure, the instructions are transmitted by the
본 문서의 다양한 실시 예에 따르면, 상기 암호화된 상기 외부 전자 장치(102)의 정보는 전화 번호 중 적어도 일부를 포함하며, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 외부 전자 장치(102)의 전화 번호를 상기 공용 키로 복호하고, 상기 복호된 값을 상기 메모리(130)에 저장된 상기 외부 전자 장치(102)의 전화 번호와 비교하여 상기 외부 전자 장치(102)를 유효성을 확인하도록 할 수 있다. According to various embodiments of the present disclosure, the encrypted information of the external
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, ECDH(Elliptic Curve Diffie-Hellman) 규칙에 따라 상기 공용 키가 상기 외부 전자 장치(102)와 동일한 공용 키로 생성하도록 할 수 있다.According to various embodiments of the present disclosure, the instructions may cause the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 적어도 하나의 통신 모듈(190), 상기 통신 모듈(190)과 작동적으로 연결된 프로세서(120) 및 상기 프로세서(120)와 작동적으로 연결된 메모리(130)를 포함하고, 상기 메모리(130)는, 실행 시에, 상기 프로세서(120)가, 상기 통신 모듈(190)을 통하여, 외부 전자 장치와의 서비스 요청을 확인하고, 상기 외부 전자 장치에 대한 인증을 수행하고, 상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하도록 상기 통신 모듈을 제어하고, 상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하고, 상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 연결하기 위한 제2 근거리 통신을 확인하고, 상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 상기 서비스를 연결하도록 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 제어하는 인스트럭션들을 저장할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 보안 모듈(220)을 더 포함하며, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 외부 전자 장치로 공개 키를 전송하고, 상기 외부 전자 장치로부터 상기 전송된 공개 키에 기반하여 생성된 인증서 체인을 수신하고, 상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고, 상기 인증서 체인을 검증한 결과에 기반하여, 상기 외부 전자 장치(102)와 공통으로 사용되는 공용 키를 확인하도록 상기 보안 모듈(220)을 제어하고, 상기 공용 키에 기반하여 상기 통신 정보를 복호하고, 상기 복호된 통신 정보에 기반하여 상기 외부 전자 장치(102)와의 이전 통신 연결의 정보를 확인하도록 할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 랜덤으로 생성되는 난수(nonce) 값과 상기 난수 값에 대한 타임 스탬프를 확인하고, 상기 난수 값을 상기 공용 키로 암호화하도록 상기 보안 모듈(220)을 제어하도록 하는 전자 장치. According to various embodiments of the present disclosure, the instructions cause the
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 암호화된 난수 값이 상기 외부 전자 장치(102)로 전송되도록 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 제어하고, 상기 확인된 타임 스탬프의 값에 기반하여, 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는지 여부를 확인하고, 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는 것으로 판단함에 따라, 상기 외부 전자 장치(102)와 이전에 근거리 통신이 수행된 것으로 확인하도록 할 수 있다. According to various embodiments of the present disclosure, the instructions cause the
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 제1 근거리 통신의 연결을 해제하고 상기 제2 근거리 통신의 연결을 수립하도록 할 수 있다. According to various embodiments of the present disclosure, the instructions may cause the
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 외부 전자 장치(102)와의 제2 근거리 통신의 연결을 확인함에 따른 서비스 핸드오버 정보를 확인하고, 상기 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 서비스 핸드오버 정보를 전송하도록 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 제어하도록 할 수 있다. 예컨대, 상기 서비스 핸드오버 정보는, 상기 P2P 서비스가 수행되는 통신 방식과 관련된 설정 정보, 상기 적어도 하나의 주변 장치의 식별 정보, 상기 적어도 하나의 주변 장치의 통신 정보 중 적어도 하나를 포함할 수 있다. According to various embodiments of the present disclosure, the instructions check service handover information according to which the
본 문서의 다양한 실시 예에 따르면, 표시 장치(160)에서는 서비스 핸드오버와 관련된 알림 정보를 표시할 수 있다. 예컨대, 전자 장치 디스커버리에 따라 발견된 외부 전자 장치(102)의 장치들의 목록을 표시하고 사용자가 서비스 핸드오버가 수행되는 장치를 선택하도록 할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 통신 모듈(190)(또는 근거리 통신 모듈(210))은 외부 전자 장치(102) 혹은 외부 전자 장치(102)와의 P2P 통신을 수행할 수 있다. 예컨대, 근거리 통신 모듈(210)은 Wi-Fi 어웨어 모듈(211), Wi-Fi 다이렉트 모듈(212), 블루투스 모듈(213) 또는 NFC 모듈(214) 중 적어도 하나를 포함할 수 있으며, 그 외 다양한 근거리 통신을 위한 구성을 포함할 수 있다. According to various embodiments of the present disclosure, the communication module 190 (or the short-range communication module 210 ) may perform P2P communication with the external
본 문서의 다양한 실시 예에 따라, 통신 모듈(190)은 근거리 통신 모듈(210)을 포함할 수 있다. 예컨대, 근거리 통신 모듈(210)은 서비스 핸드오버 관련 정보에 기반하여 결정된 통신 방식을 확인하여 Wi-Fi 어웨어 모듈(211), Wi-Fi 다이렉트 모듈(212), 블루투스 모듈(213) 또는 NFC 모듈(214) 중 적어도 하나를 제어하여 P2P 통신을 수행하도록 할 수 있다. According to various embodiments of the present document, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 P2P 서비스를 위한 어드버타이징(advertising) 데이터를 송수신할 수 있다. 예컨대, 상기 어드버타이징 데이터는 Bluetooth SIG 에서 정의되는 TDS(transport discovery service) 프로토콜(protocol)을 기반하여, TDS 서비스 UUID(universally unique identifier), TDS 어드버타이즈 종류(AD type) 및 트랜스포트 블록(transport block)을 포함할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 에에 따르면, 전자 장치(101)(또는 외부 전자 장치(102))에서는 상기 TDS 기반의 어드버타이징 데이터의 'transport data' 필드에 외부 전자 장치와 연결을 원하는 특정 통신 방식 및 관련 설정 정보를 포함하여, 해당 통신 방식을 이용한 서비스의 활성화를 요청할 수 있다. According to various embodiments of the present document, in the electronic device 101 (or the external electronic device 102), a specific communication method and Including related setting information, it is possible to request activation of a service using the corresponding communication method.
표 1은 TDS 프로토콜 기반의 어드버타이징 데이터에 관한 것이다. Table 1 relates to advertising data based on the TDS protocol.
본 문서의 다양한 실시 예에 따르면, 음악 공유(music share) 서비스 또는 탭 투 쉐어(tap to share) 서비스를 지원하는 전자 장치(101)에서는, 어드버타이징 데이터에 TDS UUID 와 TDS AD 데이터 종류를 기본으로 포함하고, 'transport data' 필드의 'Service data'에 상기 음악 공유 서비스 또는 탭 투 쉐어 서비스의 서비스 식별자와 같은 정보가 포함하여 구성할 수 있다. 표 2는 본 문서의 다양한 실시 예에 따라, "transport data" 필드가 설정된 어드버타이징 데이터의 구조에 관한 것이다. According to various embodiments of the present disclosure, in the
본 문서의 다양한 실시 예에 따르면, 어드버타이징 데이터에서는 P2P 서비스 또는 특정 어플리케이션에서 설정 혹은 요청된 정보를 포함할 수 있다. 예컨대, 어드버타이징 데이터의 'P2P service ID'의 필드는 요청받은 P2P 서비스의 식별 정보를 포함하고, 'Tx power compensation' 필드는 근접 여부를 확인하기 위한 BLE 전송 전력 보상 값을 포함하고, 'device ID' 필드는 전자 장치 식별 정보 또는 'signature' 필드는 특정 전자 장치에 대해 공유된 난수 값을 포함할 수 있다. 그 외 상기 어드버타이징 데이터에는 BLE 장치를 발견하기 위한 어드버타이징 주기의 설정 정보, BLE로 연결되었던 장치에 대한 식별정보, 또는 추가 데이터와 같은 정보를 포함할 수 있다.표 3은 본 문서의 다양한 실시 예에 따른 어드버타이징 데이터에 포함되는 'type' 필드의 정보에 관한 것이다. According to various embodiments of the present disclosure, the advertising data may include information set or requested by a P2P service or a specific application. For example, the field of 'P2P service ID' of the advertising data includes identification information of the requested P2P service, and the 'Tx power compensation' field includes a BLE transmission power compensation value for checking proximity, ' The 'device ID' field may include electronic device identification information or the 'signature' field may include a shared random number value for a specific electronic device. In addition, the advertising data may include information such as setting information of an advertising period for discovering a BLE device, identification information on a device that was connected through BLE, or additional data. It relates to information on a 'type' field included in advertising data according to various embodiments of a document.
0x04: ShareLive2 bytes0x01: instance session0x01: Insync
0x04: ShareLive
0x04: ShareLive2 bytes0x01: instance session0x01: Insync
0x04: ShareLive
본 문서의 다양한 실시 예에 따르면, 근거리 통신 모듈(210)은 외부 전자 장치(102)와 GATT(generic attribute profile) 연결을 수립할 수 있다. 예컨대, 전자 장치(101)는 외부 전자 장치(102)로부터의 어드버타이징 데이터에 응답하여, 상기 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다. 본 문서의 다양한 실시 예에 따르면, GATT 연결을 수립하는 동작은, 전자 장치(101)가 외부 전자 장치(102)가 제공하는 GATT 서비스를 위하여 서비스 디스커버리(service discovery)를 수행하는 동작을 포함할 수 있다. 예컨대, GATT 연결을 수립하는 동작은, GATT 연결이 수립된 이후에 송수신되는 데이터의 크기를 확인하기 위하여 MTU(maximum transmission unit) 크기를 협상하는 동작을 포함할 수 있다. According to various embodiments of the present document, the short-
표 4는 본 문서의 다양한 실시 예에 따른, GATT 연결에서 통신되는 데이터에 설정되는 TDS 특성의 다양한 예에 관한 것이다.Table 4 relates to various examples of TDS characteristics set in data communicated in a GATT connection, according to various embodiments of the present disclosure.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 TDS가 GATT 연결의 주요 서비스(primary service)로 지정할 수 있으며, TDS 의 특성(characteristic)인 TDS 컨트롤 포인트(control point)와 키 교환(key exchange)와 같은 별도의 특성을 추가로 설정하여 데이터 교환 시 적용할 수 있다. 본 발명의 다양한 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(102)와의 공개 키를 교환 시, 상기 TDS 특성의 '키 교환' 특성을 설정하여 상기 공개 키가 포함된 데이터의 전송을 상기 외부 전자 장치(102)로 알릴 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, GATT 연결에서의 데이터의 "transport discovery service" 필드에는 해당 특성에 대한 다양한 설정의 값이 설정될 수 있다. 예컨대, 특정 특성에 대한 포함 여부(requirement)에 대해 필수(M) 또는 선택적(O)임을 나타내는 값을 포함할 수 있다. 필수적 속성(mandatory properties) 또는 선택적 속성(optional properties)에 대해서는, 해당 특성과 관련된 쓰기(write) 또는 명시(indicate) 속성이 포함될 수 있다. 또한 보안 허가(security permissions)에 대해서는 포함 여부를 나타내는 값이 설정될 수 있다. According to various embodiments of the present document, various setting values for a corresponding characteristic may be set in a "transport discovery service" field of data in a GATT connection. For example, it may include a value indicating that it is mandatory (M) or optional (O) for the inclusion (requirement) of a specific characteristic. For mandatory properties or optional properties, a write or indicate property related to the property may be included. In addition, a value indicating whether to include security permissions may be set.
본 문서의 다양한 실시 예에 따르면, 근거리 통신 모듈(210)에서는 외부 전자 장치(102)와의 BLE(또는 LE) 페어링을 시도할 수 있다. 예컨대, 상기 BLE 페어링은 인증과는 별개로 선택적으로 수행될 수 있다. According to various embodiments of the present document, the short-
본 문서의 다양한 실시 예에 따르면, 통신 모듈(190)(혹은 근거리 통신 모듈(210))은 서비스 대상 장치와의 GATT 연결을 해제할 수 있다. 예컨대, 상기 전자 장치(101)와 외부 전자 장치(102)와의 디스커버리, 인증 또는 통신 정보의 교환이 완료됨에 따라 상기 GATT 연결을 해제할 수 있다. According to various embodiments of the present disclosure, the communication module 190 (or the short-range communication module 210 ) may release the GATT connection with the service target device. For example, as the discovery, authentication, or exchange of communication information between the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 GATT 연결이 해제되고 서비스 전환을 위해 재 연결을 하고자 하는 경우, 외부 전자 장치(102)와 교환된 난수에 대한 해쉬 값을 포함하여 GATT 연결의 데이터를 설정할 수 있다. 예컨대, 상기 난수는 보안 모듈(220)을 통해 생성된 공용 키로 암호화되어 외부 전자 장치(102)와 교환되는 것으로, 상호 식별자로 이용할 수 있다. According to various embodiments of the present disclosure, when the GATT connection is released and the
본 문서의 다양한 실시 예에 따르면, GATT 연결이 해제된 상태에서 전자 장치(101)와 외부 전자 장치(102)가 재 연결하고자 하는 경우, 보안 모듈(220)은 외부 전자 장치(102)로부터 어드버타이즈되는 데이터에 포함된 난수를 복호하고 상기 복호된 난수가 상기 전자 장치(101)에서 외부 전자 장치(102)로 전송된 난수와 대응하는지에 따라, 상기 외부 전자 장치(102)를 이전에 연결되었던 사용자로 인증할 수 있다. 예컨대, 전자 장치(101) 및 외부 전자 장치(102)에서는 난수 생성 시 타임 스탬프와 함께 저장하여 수신된 난수가 해당 전자 장치에서 전송된 난수인지를 확인할 수 있다. According to various embodiments of the present disclosure, when the
도 3은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 위한 인증을 수행하는 동작의 일 예를 도시한 흐름도이다. 3 is a flowchart illustrating an example of an operation of performing authentication for a P2P service in an electronic device according to various embodiments of the present disclosure.
도 3을 참조하면, 일 실시 예에 따르면, 311 동작에서 전자 장치(101)는 P2P 서비스가 요청됨에 따라, 외부 전자 장치(102)로부터 공개 키를 수신할 수 있다. 예컨대, 전자 장치(101)는 상기 외부 전자 장치(102)와의 GATT 연결을 통해 상기 공개 키를 수신하고 암호화된 상기 외부 전자 장치(102)의 정보를 수신할 수 있다. 상기 GATT 연결은 전자 장치(101)의 통신 모듈(190)을 통해 수립될 수 있다. Referring to FIG. 3 , according to an embodiment, in
본 문서의 다양한 실시 예에 따르면, 상기 암호화된 상기 외부 전자 장치(102)의 정보는 전화 번호 중 적어도 일부를 포함하며, 전자 장치(101)는 상기 외부 전자 장치(102)의 전화 번호를 공용 키로 복호하고, 상기 복호된 값을 상기 메모리(130)에 저장된 상기 외부 전자 장치(102)의 전화 번호와 비교하여 상기 외부 전자 장치(102)를 유효성을 확인할 수 있다. According to various embodiments of the present disclosure, the encrypted information of the external
본 문서의 다양한 실시 예에 따르면, ECDH(Elliptic Curve Diffie-Hellman) 규칙에 따라 상기 공용 키가 상기 외부 전자 장치(102)에서의 공용 키와 동일하게 생성될 수 있다. According to various embodiments of the present document, the public key may be generated identically to the public key in the external
312 동작에서 전자 장치(101)는 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치(102)로 전송할 수 있다.In
313 동작에서 전자 장치(101)는 보안 모듈(220)의 루트 인증서에 기반하여 외부 전자 장치(102)로부터 수신된 인증서 체인을 검증할 수 있다. In
314 동작에서 전자 장치(101)는 상기 외부 전자 장치(102)로부터 암호화된 상기 외부 전자 장치(102)의 정보를 수신할 수 있다. 예컨대, 상기 외부 전자 장치(102)는, 상기 외부 전자 장치(102)에서의 인증서 체인에 대한 검증 결과에 기반하여 암호화된 상기 외부 전자 장치(102)의 정보를 전자 장치(101)로 전송할 수 있다. In
315 동작에서 전자 장치(101)는 인증서 체인 검증 결과에 기반하여 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치(102)의 정보를 복호하여 상기 외부 전자 장치(102)의 유효성을 확인하도록 상기 보안 모듈(220)을 제어할 수 있다.In
본 문서의 다양한 실시 예에 따르면, 상기 전자 장치(101)는 외부 전자 장치(102)로 상기 전자 장치(101)에서 생성된 공개 키를 전송하면, 상기 외부 전자 장치(102)로부터 상기 전송된 공개 키에 대해 발급한 인증서 체인을 수신할 수 있다. 예컨대, 상기 전자 장치(101)는 상기 수신된 인증서 체인을 보안 모듈(220)의 루트 인증서로 검증하여, 상기 외부 전자 장치(102)를 검증하도록 할 수 있다. According to various embodiments of the present disclosure, when the
본 문서의 다양한 실시 예에 따르면, 상기 전자 장치(101)는 상기 인증서 체인의 검증 결과에 따라 상기 외부 전자 장치(102)의 유효성을 판단하면, 공용 키를 생성할 수 있다. According to various embodiments of the present disclosure, the
316 동작에서 전자 장치(101)는 상기 외부 전자 장치(102)의 유효성 판단 결과에 기반하여, 상기 외부 전자 장치(102)와 상기 P2P 서비스를 수행할 수 있다. 예를 들어, 전자 장치(101)는 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 통해 상기 외부 전자 장치(102)와 상기 P2P 서비스를 수행할 수 있다.In
도 4는 본 문서의 다양한 실시 예에 따른 전자 장치에서 외부 전자 장치와 P2P 서비스를 수행하는 동작의 일 예를 도시한 흐름도이다. 4 is a flowchart illustrating an example of an operation of performing a P2P service with an external electronic device in an electronic device according to various embodiments of the present disclosure;
도 4를 참조하면, 일 실시 예에 따르면, 410 동작에서 전자 장치(101)는 외부 전자 장치(102)에 대한 서비스 요청을 확인할 수 있다. Referring to FIG. 4 , according to an embodiment, in
420 동작에서 전자 장치(101)는 통신 모듈(190)(또는 근거리 통신 모듈(210))을 통해 상기 외부 전자 장치(102)와의 제1 근거리 통신의 연결(예, GATT 연결 또는 BLE 연결)을 수립할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(102)에 대한 서비스 요청을 확인함에 따라 상기 외부 전자 장치(102)에 대한 인증을 수행할 수 있다. 예컨대, 전자 장치(101)는 외부 전자 장치(102)로 공개 키를 전송하고, 상기 외부 전자 장치(102)로부터 상기 전송된 공개 키에 기반하여 생성된 인증서 체인을 수신할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 보안 모듈(220)에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치(102)로부터 수신된 인증서 체인을 검증하고, 상기 인증서 체인의 검증 결과에 따라, 상기 외부 전자 장치(102)를 인증할 수 있다. According to various embodiments of the present disclosure, the
430 동작에서 전자 장치(101)는 상기 제1 근거리 통신을 통해 상기 외부 전자 장치(102)와 연결하기 위한 통신 정보를 수신할 수 있다. 예컨대, 전자 장치(101)는 상기 통신 정보에 기반하여 상기 외부 전자 장치(102)와의 서비스 핸드오버를 수행할 수 있다. In
440 동작에서 전자 장치(101)는 상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치(102)와 연결하기 위한 제2 근거리 통신(예, Wi-Fi 다이렉트, Wi-Fi 어웨어 또는 블루투스)을 확인할 수 있다. 예컨대, 상기 전자 장치(101)는 제2 근거리 통신과 관련된 정보를 포함하는 서비스 핸드오버 관련 정보를 외부 전자 장치(102)로 전송할 수 있다. In
450 동작에서 전자 장치(101)는 상기 제2 근거리 통신을 통해 상기 외부 전자 장치(102)와 연결하도록 제어할 수 있다. 예컨대, 상기 제2 근거리 통신의 연결은 상기 제1 근거리 통신의 연결이 해제되고 수립될 수 있다. In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 공용 키에 기반하여 상기 통신 정보를 복호하도록 보안 모듈(220)을 제어하고, 상기 복호된 통신 정보에 기반하여 상기 외부 전자 장치와의 이전 통신 연결의 정보를 확인할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 랜덤으로 생성되는 난수(nonce) 값과 상기 난수 값에 대한 타임 스탬프를 확인하고, 상기 난수 값을 상기 공용 키로 암호화하며, 상기 확인된 타임 스탬프의 값에 기반하여, 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는지 여부를 확인할 수 있다. 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는 것으로 판단함에 따라, 전자 장치(101)는 상기 외부 전자 장치와 이전에 근거리 통신이 수행된 것으로 확인할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 제1 근거리 통신의 연결을 해제하고 상기 제2 근거리 통신의 연결을 수립할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 외부 전자 장치(102)와의 제2 근거리 통신의 연결을 확인함에 따른 서비스 핸드오버 정보를 확인하고, 상기 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 서비스 핸드오버 정보를 전송할 수 있다. 상기 서비스 핸드오버 정보는, 상기 P2P 서비스가 수행되는 통신 방식과 관련된 설정 정보, 상기 적어도 하나의 주변 장치의 식별 정보, 상기 적어도 하나의 주변 장치의 통신 정보 중 적어도 하나를 포함할 수 있다. According to various embodiments of the present disclosure, the
도 5는 본 문서의 다양한 실시 예에 따른 소프트웨어 구성의 일 예를 도시한 블록도이다. 5 is a block diagram illustrating an example of a software configuration according to various embodiments of the present disclosure.
본 문서의 다양한 실시 예에 따르면, P2P 서비스를 수행하는 전자 장치(101) 또는 외부 전자 장치(102)는 UWB(ultra wide-band) 모바일 아키텍처(500)에 기반하여 동작할 수 있다.According to various embodiments of the present disclosure, the
도 5를 참조하면, UWB 모바일 아키텍처(500)는 어플리케이션 레이어(510), 프레임워크(520), 플랫폼(530), 커널(540) 및 하드웨어(550)를 포함할 수 있다. Referring to FIG. 5 , the UWB
본 문서의 다양한 실시 예에 따르면, 어플리케이션 레이어(510)는 UWB 결제/과금 어플리케이션 UWB 레인징(ranging)/위치 측정(localzation) 어플리케이션 또는 UWB 스마트 키 어플리케이션을 포함할 수 있다. 상기 UWB 스마트 키 어플리케이션은 인증 서버(501)와 인증 정보를 송수신할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 상기 어플리케이션 UWB 레인징/위치 측정 어플리케이션에서는 전자 장치(101)에서 외부 전자 장치(102)를 디스커버리하고 상기 외부 전자 장치(102)가 통신 범위에 위치하였는지를 판단하는 서비스를 제공할 수 있다. 예컨대, UWB 스마트 키 어플리케이션에서는 UWB 통신을 통해 전자 장치(101)와 외부 전자 장치(102) 간의 인증과 관련된 키(예, 공용 키 혹은 외부 전자 장치(102)로부터 수신된 공개 키)를 관리할 수 있다. According to various embodiments of the present disclosure, in the application UWB ranging/location measurement application, the
본 문서의 다양한 실시 예에 따르면, 어플리케이션 프레임워크(520)는, BLE 오픈 API(application programming interface)를 포함하는 Bluetooth 프레임워크(521), UWB 오픈 API를 포함하는 UWB 프레임 워크(522), OMAP(open multimedia applications platform) API(523), BLE 서비스를 포함하는 Bluetooth 서비스(524), UWB 서비스(525) 또는 보안 구성 서비스(secure element service)를 포함하는 보안 구성 서비스(526)를 포함할 수 있다. According to various embodiments of the present document, the
본 문서의 다양한 실시 예에 따르면, UWB 모바일 아키텍처(500)에서 제공되는 UWB 서비스(525)는 연결 매니저(connection manager)(525a), UWB 어댑터(adapter)(525b), 보안(security)(525c), 레인징(ranging)(525d), 위치 추정(localization)(525e) 또는 핸드오버(handover)(예, BLE)(525f) 등의 서비스를 포함할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 연결 매니저(525a)를 통해 외부 전자 장치(102)와 UWB 연결을 수립할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 UWB 서비스(525)의 레인징(525d) 서비스를 통해, 전자 장치(101)는 외부 전자 장치(102)를 디스커버리하기 위한 레인징 패킷을 송수신할 수 있다. 예컨대, 전자 장치(101)는 위치 추정(525e) 서비스를 통해 상기 외부 전자 장치(102)가 통신 범위에 위치하였는지를 판단할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 핸드오버(525f) 서비스를 이용하여, 외부 전자 장치(102)로 서비스 핸드오버를 수행할 수 있다. 예컨대, 상기 서비스 핸드오버는 외부 전자 장치(102)와 관련된 통신 방식을 결정하고, 결정된 통신 방식으로 외부 전자 장치(102)와 P2P 서비스를 수행하는 동작을 포함할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 플랫폼(530)은 Bluetooth HAL(hardware abstraction layer)(531), UWB HAL(532), NFC HAL(533) 또는 ESE SPI HAL(534)를 포함할 수 있다. According to various embodiments of the present disclosure, the
커널(540)은 Bluetooth driver(541), UWB driver(542), NFC driver(543) 또는 ESE SPI driver(544)를 포함할 수 있다.The
하드웨어(550)는 Bluetooth chip(551), UWB chip(552), NFC chip(553) 또는 ESE chip(554)를 포함할 수 있다. The
도 6은 본 문서의 다양한 실시 예에 따른 소프트웨어 구조의 일 예를 도시한 도면이다. 6 is a diagram illustrating an example of a software structure according to various embodiments of the present disclosure.
도 6을 참조하면, 모바일 아키텍처(600)는 어플리케이션 레이어(510) 및 프레임워크(520)를 포함할 수 있다. Referring to FIG. 6 , the
본 문서의 다양한 실시 예에 따르면, 어플리케이션 레이어(510)는 P2P 서비스 어플리케이션(610) 및 P2P 서비스 제어 어플리케이션(620)을 포함할 수 있다. According to various embodiments of the present document, the
본 문서의 다양한 실시 예에 따르면, 상기 P2P 서비스 어플리케이션(610)은 탭 투 쉐어 기능으로 사진을 전송하는 갤러리 어플리케이션, 음악 공유 어플리케이션, 빠른 파일 전송을 위한 Quick share 어플리케이션 또는 파일 공유를 위한 탭 트래킹 기반의 파일 전송 (예, InSync 기능) 어플리케이션과 같이 P2P 연결을 통해 다양한 서비스를 제공하는 어플리케이션이 포함될 수 있다. According to various embodiments of the present document, the
본 문서의 다양한 실시 예에 따르면, 상기 P2P 서비스 제어 서버(620)는 이종 통신 방식을 지원하기 위해 장치 간 검색과 연결 또는 인증을 수행하기 위한 것으로, 인증을 요청하는 구독(subscribe) 장치를 제어하기 위한 구독 제어(621) 서버, 인증의 대상이 되는 캐스터(caster) 장치를 제어하기 위한 캐스터 제어(622) 서버 또는 전자 장치 DB(623)를 포함할 수 있다. According to various embodiments of the present disclosure, the P2P
본 문서의 다양한 실시 예에 따르면, 구독 제어(621) 서버 및 캐스터 제어(622) 서버는 어플리케이션 레이어(510)에서 P2P 장치들(예, 전자 장치(101) 또는 외부 전자 장치(102))이 구독(또는 클라이언트(client)) 또는 캐스터의 역할을 수행하도록 제어할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치 DB(623)는 P2P 서비스를 수행하는 전자 장치의 통신 방식, 서비스 정보, 또는 연결된 주변 장치(또는 캐스터 장치) 정보와 같이 P2P 서비스와 관련된 전자 장치들의 정보를 포함할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치 DB(623)는 서비스 핸드오버의 호스트 장치 및 게스트 장치에 대한 장치 정보, 통신 정보 또는 인증 정보를 포함할 수 있다. 예컨대, 상기 호스트 장치의 정보는 호스트 장치의 이름, 블루투스 주소, 캐스터 장치 정보 또는 캐스터 장치와의 연결 정보를 포함할 수 있다. 게스트 장치의 정보는 게스트 장치의 이름 또는 블루투스 정보를 포함할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 프레임워크(520)에서는 P2P 어댑터(630)를 포함할 수 있다. 예컨대, 상기 P2P 어댑터(630)는 SDK(software development kit)에 의해 구성될 수 있으며, 프레임워크(520)에서 P2P 서비스 제어 어플리케이션(620) 간에 P2P 장치 관련 정보를 통신(예, IPC(inter-process communication))할 수 있다. According to various embodiments of the present document, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서의 P2P 서비스 요청은 상기 P2P 서비스 어플리케이션(610)으로 전달될 수 있다. 예컨대, 어플리케이션 레이어(510)를 통해 P2P 서비스 제어 서버(630)는 전자 장치 DB(623)에 저장된 정보에 기반하여 전자 장치(101)가 구독 혹은 캐스터 장치로 동작하도록 제어할 수 있다. According to various embodiments of this document, the P2P service request from the
본 문서의 다양한 실시 예에 따르면, P2P 어댑터(630)는 프레임워크(520) 단에서 P2P 서비스 어플리케이션(610) 및 P2P 서비스 제어 서버(620)의 동작과 구분되어 전자 장치(101)내에 데몬(demon) 프로그램의 형태로 동작할 수 있다. 예컨대, P2P 서비스 제어 서버(620)는 P2P 서비스를 위해 P2P 어댑터(630)를 바인딩(bind)하여 사용할 수 있다. According to various embodiments of the present disclosure, the
도 7은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 수행하는 동작의 일 예를 도시한 흐름도이다. 7 is a flowchart illustrating an example of an operation of performing a P2P service in an electronic device according to various embodiments of the present disclosure.
도 7을 참조하면, 710 동작에서, 전자 장치(101)는 사용자에 의한 P2P 서비스 요청에 따라 P2P 서비스의 트리거를 확인할 수 있다. 예컨대, 상기 P2P 서비스는 근거리 통신을 통한 전자 장치들 간의 음악 공유 서비스 또는 파일 전송을 포함할 수 있다. Referring to FIG. 7 , in
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 지정된 제스처 입력(예, 외부 전자 장치(102)와의 탭 제스처) 또는 지정된 어플리케이션의 실행을 감지함에 따라 P2P 서비스의 트리거를 확인할 수 있다. According to various embodiments of the present disclosure, the
720 동작에서 전자 장치(101)는 P2P 서비스에 대한 서비스 대상 장치를 디스커버리 할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 해당 P2P 서비스 또는 해당 P2P 서비스가 수행되는 어플리케이션에서 설정된 정보를 포함하는 어드버타이징 데이터를 생성하여 외부 전자 장치(102)로 전송할 수 있다. 예컨대, 어플리케이션에서 설정된 정보는 실행된 어플리케이션을 구분할 수 있는 정보(예: 어플리케이션 명 또는 어플리케이션 ID) 및 어플리케이션에서 수행할 수 있는 P2P 서비스의 종류(예: 파일 전송)를 포함할 수 있다. 일 실시 예에서 전자 장치(101)는 적어도 하나의 외부 전자 장치(예: 외부 전자 장치(102))로부터 상기 어드버타이징 데이터에 대한 응답을 수신함에 따라 상기 외부 전자 장치(102)를 서비스 대상 장치로 확인할 수 있다. According to various embodiments of the present disclosure, the
721 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 수립할 수 있다. 예컨대, 상기 전자 장치(101)는 상기 어드버타이징 데이터에 대한 응답에 근거리 통신(예, BLE) 연결 요청이 포함됨에 따라 상기 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 상기 GATT 연결은 BLE 서비스 검색을 위해, BLE 통신을 통해 연결의 수립 및 해제가 이루어질 수 있다. According to various embodiments of the present document, the GATT connection may be established and released through BLE communication for BLE service discovery.
730 동작에서, 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 통해 BLE 페어링을 수행할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이전의 연결에서 전화 번호 정보를 교환하여 서로에 대한 인증이 이루어진 경우, 전술된 BLE 페어링 동작을 생략할 수 있다. In
740 동작에서 전자 장치(101)와 외부 전자 장치(102)는 인증을 수행할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 공용 키에 기반하여 전화 번호를 암호화할 수 있다. 전자 장치(101)와 외부 전자 장치(102)는 BLE 연결을 기반으로 상기 암호화된 전화 번호를 교환하며 상기 공용 키로 상기 전화 번호를 복호하여 상대방 장치에 대한 인증을 수행할 수 있다. In
본 문서의 다양한 실시 에에 따르면, 도 2의 보안 모듈(220)에서 공개 키 생성 동작을 수행하여 생성된 공개 키에 기반하여 상기 전화 번호를 암호화할 수 있다.According to various embodiments of the present document, the phone number may be encrypted based on the public key generated by performing the public key generation operation in the
741 동작에서 전자 장치(101)와 외부 전자 장치(102)는 통신 정보를 교환할 수 있다. 예컨대, 상기 정보는 전자 장치(101) 또는 외부 전자 장치(102)에서 요청된 P2P 서비스와 관련하여 이용 가능한 근거리 통신 정보로서, 해쉬된 전화 번호, CRC, 전자 장치의 사용자 정보, 블루투스 주소, 통신 방식의 종류(예, Wi-Fi 어웨어 또는 Wi-Fi 다이렉트), 또는 어플리케이션 혹은 P2P 서비스의 추가 정보를 포함할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 어플리케이션 혹은 P2P 서비스의 추가 정보는, 특정 어플리케이션 혹은 P2P 서비스에서 요구되는 정보로서, 음악 공유 어플리케이션에 대해서는 외부 전자 장치(102)의 주변 장치 정보(예, 주변 장치의 블루투스 주소 혹은 이름)가 포함되며, 음악 스트리밍 어플리케이션에 대해서는 해당 어플리케이션과 관련된 계정 정보가 교환될 수 있다. According to various embodiments of the present disclosure, additional information of an application or P2P service is information required by a specific application or P2P service, and for a music sharing application, information about the peripheral device of the external electronic device 102 (eg, the information of the peripheral device) Bluetooth address or name), and account information related to the corresponding application may be exchanged for the music streaming application.
본 문서의 다양한 실시 예에 따라, 전자 장치(101)는 상기 통신 정보를 확인하여 P2P 서비스가 핸드오버 될 수 있는 통신 방식을 결정할 수 있다. 예컨대, 상기 통신 정보는 상기 외부 전자 장치(102)에서 데이터 전송이 가능한 통신 방식(예: Wi-Fi 다이렉트 또는 UWB)에 대한 정보를 포함할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)와 외부 전자 장치(102)는 상기 통신 정보에 기반하여, P2P 서비스를 수행할 통신 방식을 결정할 수 있다. According to various embodiments of the present disclosure, the
750 동작에서, 전자 장치(101)와 외부 전자 장치(102)는 통신 범위(또는 전자 장치(101)와 외부 전자 장치(102)와의 거리)를 측정할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 교환된 정보(예, BLE 패킷의 RSSI(received signal strength indicator))에 기반하여 서로 간에 통신 가능한 범위에 위치하고 있는지를 판단할 수 있다. 예컨대, 전자 장치(101)는 BLE 패킷의 RSSI의 값을 평균하고, 상기 평균 값에 기반하여 상기 외부 전자 장치(102)와의 거리를 예측하고, 상기 예측된 거리에 대응하는 범위를 상기 통신 범위로 확인할 수 있다. 상기 통신 범위를 측정하는 동작은 통신 방식의 트리거 조건에 기반하여 생략될 수 있다. In operation 750 , the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 통신 범위를 측정하기 위한 통신 방식(예, UWB)을 확인하고, 상기 확인된 통신 방식을 통해 교환된 정보에 기반하여 외부 전자 장치(102)의 통신 범위를 측정할 수 있다. 예컨대, 전자 장치(101)는 상기 외부 전자 장치(102)와 수행 가능한 통신 방식 중 상기 측정된 통신 범위 내에서 지정된 조건의 통신 품질을 가지는 통신 방식을 확인할 수 있다.According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 UWB 통신을 통해 적어도 하나의 외부 전자 장치(102)와의 거리를 측정하고, 상기 측정된 거리에 기반하여 통신 방식 또는 통신 순서를 확인할 수 있다. 예컨대, 전자 장치(101)에서는 상기 통신 순서에 기반하여 우선 순위의 통신 방식을 확인하고, 상기 확인된 통신 방식을 상기 외부 전자 장치(102)와의 P2P 서비스를 위한 통신 방식으로 결정할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 확인된 통신 방식을 통해 P2P 서비스가 수행되도록 상기 확인된 통신 방식으로의 서비스 핸드오버를 수행할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)와 외부 전자 장치(102)는 전자 장치들 간의 접촉에 의해 트리거되는 특정 P2P 서비스(예, 탭 투 쉐어)의 경우, 전술된 통신 범위를 측정하는 동작은 생략할 수 있다. According to various embodiments of the present disclosure, the
760 동작에서 전자 장치(101)는 P2P 서비스 트리거에 응답하여, 해당 P2P 서비스와 관련된 서버 및 어플리케이션으로 통신 가능한 범위 내의 외부 전자 장치(102)와의 P2P 서비스 개시가 가능함을 알릴 수 있다. 예컨대, 전자 장치(101)는 교환된 통신 정보에 기반하여 P2P 서비스가 수행되는 통신 방식 혹은 캐스터 장치를 확인할 수 있다.In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 P2P 서비스의 특성에 따라 서비스 핸드오버가 수행됨을 서비스와 연관된 서버로 알릴 수 있다. According to various embodiments of the present disclosure, the
770 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 서비스 핸드오버를 위해 GATT 연결이 수립되는 것으로 설명하였지만 그 외 다양한 근거리 통신 방식(예, Wi-Fi 어웨어)이 가능할 수 있다. 예컨대, 전자 장치(101)에서는 GATT 연결을 유지함에 따른 전력 소모를 줄이기 위해 GATT 연결을 해제시킬 수 있다. According to various embodiments of this document, although it has been described that a GATT connection is established for service handover, various other short-range communication methods (eg, Wi-Fi aware) may be possible. For example, the
780 동작에서 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다. 예컨대, 상기 P2P 서비스가 음악 공유 서비스인 경우, 전자 장치(101)는 음악 공유 서비스 혹은 관련 어플리케이션을 통해 통신 정보에 기반하여 결정된 통신 방식을 이용하여 외부 전자 장치(102)(혹은 캐스터 장치)와의 P2P 서비스를 수행할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 결정된 통신 방식을 통해 외부 전자 장치(102)와 통신을 수행할 수 없는 경우, 미리 지정된 기본 통신 방식(예, 블루투스 혹은 BLE)으로 P2P 서비스를 수행하도록 제어할 수 있다. According to various embodiments of the present disclosure, when the
도 8은 본 문서의 다양한 실시 예에 따른 전자 장치들에서 P2P 서비스를 수행하는 동작의 일 예를 도시한 도면이다. 8 is a diagram illustrating an example of an operation of performing a P2P service in electronic devices according to various embodiments of the present disclosure.
도 8을 참조하면, 전자 장치(101)에서는 사용자가 음악 공유 어플리케이션을 실행시키거나 혹은 P2P를 통한 음악 공유 서비스를 요청함을 확인할 수 있다. 예컨대, 사용자가 음악 재생 어플리케이션의 화면(700a)에서 지정된 버튼(701)을 선택함에 따라 전자 장치(101)는 음악 공유 서비스의 요청을 확인할 수 있다. Referring to FIG. 8 , the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 상기 서비스 요청에 따라, 서비스 대상 장치로 외부 전자 장치(102)를 확인할 수 있다. 예컨대, 전자 장치(101)는 통신 모듈(190)을 통해 상기 외부 전자 장치(102)와의 근거리 통신 연결(예, GATT 연결)을 수립할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 상기 외부 전자 장치(102)에 대한 인증을 수행할 수 있다. 예컨대, 전자 장치(101) 및 외부 전자 장치(102)에서는 공개 키를 생성하여 교환하고, 상대방 장치로 수신된 공개 키를 이용하여 발급된 인증서 체인을 전송할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)에서는 저장된 루트 인증서를 이용하여 수신된 인증서 체인을 검증할 수 있다. 예컨대, 상기 인증서 체인의 검증 결과에 따라 상호간의 인증이 완료될 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 상기 인증이 완료됨에 따라, 외부 전자 장치(102)로부터 통신 정보를 수신할 수 있다. 예컨대, 상기 통신 정보는 상기 외부 전자 장치(102)에서 연결 가능한 통신 방식 정보, 상기 외부 전자 장치(102)의 주변 장치(예, 자동차 장치(702) 또는 상기 외부 전자 장치(102)와 통신 연결된 블루투스 스피커(703))의 정보, 또는 상기 주변 장치와 연결 가능한 통신 방식 정보를 포함할 수 있다. According to various embodiments of the present disclosure, as the authentication is completed, the
본 문서의 다양한 실시 예에 따르면, 외부 전자 장치(102)에서는 음악 공유 서비스의 실행 여부를 사용자에게 묻는 화면(700b)을 표시할 수 있다. 상기 화면(700b)은 서비스 정보(예, 자동자 장치(702) 제어) 혹은 서비스 활성화 여부를 선택하기 위한 항목(예, deny 혹은 allow)을 포함할 수 있다. 사용자가 'allow' 항목을 선택함에 따라, 상기 외부 전자 장치(102)는 상기 음악 공유 서비스를 활성화시키고 상기 활성화 여부에 대한 정보를 전자 장치(101)로 전송할 수 있다. According to various embodiments of the present document, the external
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 외부 전자 장치(102)에서의 서비스 활성화 여부를 확인하면, 상기 통신 정보에 기반하여 음악 공유 서비스를 위한 상기 외부 전자 장치(102)와의 통신 방식(예, BLE 혹은 Wi-Fi 어웨어)을 결정할 수 있다. 예컨대, 전자 장치(101)에서는 서비스 핸드오버를 위한 캐스터 장치로 상기 외부 전자 장치(102)의 주변 장치가 확인되는 경우, 상기 통신 정보에 기반하여, 상기 음악 공유 서비스를 위한 상기 주변 장치와의 통신 방식을 결정할 수 있다. According to various embodiments of the present disclosure, when the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 결정된 통신 방식에 대한 정보를 포함하는 서비스 핸드오버 정보를 외부 전자 장치(102)로 전송할 수 있다. 예컨대, 상기 외부 전자 장치(102)에서는 상기 서비스 핸드오버 정보에 기반하여 통신 방식을 확인하고, 전자 장치(101)와 상기 확인된 통신 방식을 통한 음악 공유 서비스를 활성화 시킬 수 있다. According to various embodiments of the present disclosure, the
본 발명의 다양한 실시 예에 따르면, 외부 전자 장치(102)는 상기 서비스 핸드오버 정보에 기반하여 주변 장치(예, 702 혹은 703)에서 음악 공유 서비스가 수행되도록 할 수 있다. 예컨대, 외부 전자 장치(102)는 상기 서비스 핸드오버 정보에 기반하여 각 주변 장치에 대한 통신 방식을 확인하고, 해당 통신 방식을 통해 특정 주변 장치(예, 자동차 장치(702))에서 음악 공유 서비스에 따른 음악이 출력되도록 제어할 수 있다. According to various embodiments of the present disclosure, the external
도 9는 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 수행하는 동작의 일 예를 도시한 흐름도이다. 9 is a flowchart illustrating an example of an operation of performing a P2P service in an electronic device according to various embodiments of the present disclosure.
도 9를 참조하면, 910 동작에서, 전자 장치(101)는 P2P 서비스의 트리거를 확인할 수 있다. Referring to FIG. 9 , in
920 동작에서 전자 장치(101)는 트리거된 P2P 서비스를 수행할 서비스 대상 장치를 디스커버리 할 수 있다. In
921 동작에서 전자 장치(101)는 서비스 대상 장치로 외부 전자 장치(102)를 디스커버리함에 따라, 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다. In
930 동작에서 전자 장치(101)는 외부 전자 장치(102)에 대한 인증을 수행할 수 있다. In
931 동작에서 전자 장치(101)는 상기 외부 전자 장치(102)에 대한 인증이 완료됨에 따라, 외부 전자 장치(102)와 통신 정보를 교환할 수 있다. In
940 동작에서, 전자 장치(101)는 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, 전자 장치(101)는 상기 교환된 통신 정보에 기반하여 외부 전자 장치(102)가 통신 가능한 범위에 위치하고 있는지를 판단할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)와 외부 전자 장치(102)는 전자 장치들 간의 접촉에 의해 트리거되는 특정 P2P 서비스의 경우, 전술된 통신 범위를 측정하는 동작은 생략할 수 있다. According to various embodiments of the present disclosure, in the case of a specific P2P service triggered by a contact between the
950 동작에서 전자 장치(101)는 서비스 핸드오버를 결정할 수 있다. 예컨대, 전자 장치(101)는 교환된 통신 정보를 기반으로 외부 전자 장치(102)와 P2P 서비스가 가능한 통신 방식들 중 특정 통신 방식을 결정하고, 해당 통신 방식을 통해 상기 P2P 서비스를 수행할 것을 결정할 수 있다. In operation 950, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 통신 방식들 중 지정된 통신 품질(예, 통신 속도)로 통신되는 통식 방식을 확인하고, 상기 확인된 통신 방식으로의 서비스 핸드오버를 결정할 수 있다. 예컨대, 지정된 통신 품질의 통신 방식을 확인할 수 없는 경우, 전자 장치(101)는 지정된 통신 방식(예, 블루투스 혹은 BLE)으로 P2P 서비스가 수행되도록 제어할 수 있다. According to various embodiments of the present disclosure, the
951 동작에서 전자 장치(101)는 외부 전자 장치(102)로 서비스 핸드오버와 관련된 정보를 전송할 수 있다. 예컨대, 서비스 핸드오버 관련 정보는, 통신 방식 또는 해당 통신 방식과 관련된 설정 정보를 포함할 수 있다. In
961 동작에서 전자 장치(101)는 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 확인된 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다. In operation 961 , the
962 동작에서 외부 전자 장치(102)는 P2P 서비스와 관련된 서버 혹은 P2P 서비스와 관련된 외부 전자 장치(102)의 어플리케이션으로 전자 장치(101)로부터 수신된 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다. In operation 962, the external
970 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다. In
980 동작에서 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스와 관련된 서버 및 어플리케이션을 통해 P2P 서비스를 수행할 수 있다. In
도 10은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 위해 서비스 대상 장치와의 통신 범위를 확인하는 동작의 일 예를 도시한 흐름도이다. 10 is a flowchart illustrating an example of an operation of checking a communication range with a service target device for a P2P service in an electronic device according to various embodiments of the present disclosure;
도 10을 참조하면, 1010 동작에서, 전자 장치(101)는 P2P 서비스의 서비스 대상 장치인 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다. Referring to FIG. 10 , in
1020 동작에서 전자 장치(101)와 외부 전자 장치(102)는 상호 간에 대한 인증을 수행할 수 있다. In
1021 동작에서 전자 장치(101)와 외부 전자 장치(102)는 인증이 완료됨에 따라, 통신 정보를 교환할 수 있다. In
1030 동작에서 전자 장치(101)는 외부 전자 장치(102)로 레인징 패킷을 요청할 수 있다. In
1041 동작에서 전자 장치(101)는 외부 전자 장치(102)로부터 전송되는 레인징 패킷의 스캔을 시작할 수 있다. 예컨대, 전자 장치(101)는 100% 듀티(duty)로 스캔 주기를 설정할 수 있다. In
1042 동작에서 외부 전자 장치(102)는 전자 장치(101)의 레인징 패킷 요청을 확인함에 따라, 레인징 패킷 어드버타이즈를 시작할 수 있다. 예컨대, 외부 전자 장치(102)는 20ms의 주기 마다 -45 dBm의 전력으로 어드버타이즈를 하도록 설정할 수 있다. In operation 1042 , the external
1050 동작에서 외부 전자 장치(102)는 레인징 패킷을 전송할 수 있다. 예컨대, 50 개의 패킷을 어드버타이즈할 수 있다. In operation 1050, the external
1060 동작에서 전자 장치(101)는 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, 전자 장치(101)는 어드버타이즈되는 패킷을 스캔하고, 스캔된 패킷의 크기 또는 통신 속도를 기반으로 상기 외부 전자 장치(102)의 거리를 예측하고, 상기 예측된 거리에 따라 상기 외부 전자 장치(102)가 통신 범위 내에 위치하는지를 판단할 수 있다. In operation 1060 , the
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(102)와의 블루투스 연결을 통해 블루투스 패킷을 수신하고, 상기 패킷의 수신 값을 측정하여 상기 통신 범위를 확인할 수 있다. 그 외에, 전자 장치(101)는 상기 외부 전자 장치(102)와의 Wi-Fi 어웨어 또는 UWB 연결을 통해 데이터를 수신하고, 상기 수신된 데이터에 기반하여 상기 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. According to various embodiments of the present disclosure, the
1070 동작에서 전자 장치(101)는 외부 전자 장치(102)가 통신 범위에 위치한 것으로 판단함에 따라, 서비스 핸드오버를 결정하고 서비스 핸드오버 관련 정보를 외부 전자 장치(102)로 전송할 수 있다. In
1071 동작에서 전자 장치(101)는 P2P 서비스와 관련된 서버 또는 어플리케이션으로 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다. In
1072 동작에서 외부 전자 장치(102)는 P2P 서비스와 관련된 서버 또는 어플리케이션으로 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다. In operation 1072, the external
1080 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다. In
도 11은 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.11 is a flowchart illustrating an example of an operation of checking whether a service target device and a P2P service are activated in an electronic device according to various embodiments of the present disclosure;
도 11을 참조하면, 전자 장치(101)는 사용자(예, Tom)로부터의 외부 전자 장치(102)와의 P2P 서비스 요청을 확인할 수 있다. 예컨대, 상기 P2P 서비스는 전자 장치(101)를 통해 상기 외부 전자 장치(102) 혹은 외부 전자 장치(102)의 주변 장치(예, 자동차)를 제어하도록 할 수 있다. Referring to FIG. 11 , the
1110 동작에서 전자 장치(101)는 상기 P2P 서비스 요청을 확인함에 따라, 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다. In
1120 동작에서, 전자 장치(101)는 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, P2P 서비스가 자동차 장치를 제어하기 위한 것이거나 외부 전자 장치(102) 혹은 전자 장치(101)가 외부 전자 장치(102)의 주변 장치(예, 자동차) 내부에 위치하고 있는지를 판단 가능한 경우, 전술된 통신 범위를 측정하는 동작은 생략될 수 있다. In
1130 동작에서 전자 장치(101)는 외부 전자 장치(102)가 통신 범위(예, 제2 전자 장치 내부)내에 위치한 것으로 판단하면, 외부 전자 장치(102)로 P2P 서비스의 활성화를 요청할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 상기 P2P 서비스의 활성화 요청은 TDS 프로토콜을 기반으로 TDS 패킷에 포함되어 외부 전자 장치(102)로 전송될 수 있다. According to various embodiments of the present disclosure, the P2P service activation request may be included in a TDS packet based on the TDS protocol and transmitted to the external
1140 동작에서 외부 전자 장치(102)는 P2P 서비스 활성화 요청을 확인함에 따라 사용자의 P2P 서비스에 대한 허가 여부를 확인할 수 있다. 예컨대, 외부 전자 장치(102)는 상기 P2P 서비스에 대한 허가 또는 거절을 응답할 수 있는 화면을 디스플레이(예: 도 1의 표시 장치(160))에 표시할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 상기 외부 전자 장치(102)에서는 전자 장치(101)로부터 요청된 P2P 서비스에 대한 정보(예, 전자 장치(101)의 사용자에 의한 AAA 자동차 제어)를 상기 화면을 통해 표시할 수 있다. 예컨대, 외부 전자 장치(102)의 사용자는 상기 허가 또는 거절을 응답하기 위한 버튼을 선택하여, 상기 P2P 서비스가 활성화되도록 할 수 있다. According to various embodiments of the present disclosure, the external
1150 동작에서 외부 전자 장치(102)는 상기 화면을 통해 허가 응답이 입력됨에 따라, P2P 서비스를 활성화시킬 수 있다. In operation 1150 , the external
1151 동작에서 외부 전자 장치(102)는 TDS 패킷에 P2P 서비스 활성화 여부에 대한 정보를 포함하여 전자 장치(101)로 전송할 수 있다. In operation 1151 , the external
1160 동작에서 전자 장치(101)는 상기 P2P 서비스 활성화 여부에 대한 정보가 서비스 허가를 나타내는 경우, 전자 장치(101)에서 P2P 서비스를 활성화할 수 있다. In operation 1160 , when the information on whether to activate the P2P service indicates service permission, the
1170 동작에서 전자 장치(101)는 외부 전자 장치(102)로 서비스 핸드오버와 관련된 정보를 전송할 수 있다. 예컨대, 서비스 핸드오버와 관련된 정보는 P2P 서비스가 수행되는 통신 방식 또는 어플리케이션의 계정 정보를 포함할 수 있다. In
1171 동작에서 전자 장치(101)는 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 확인된 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다. In operation 1171 , the
1172 동작에서 외부 전자 장치(102)는 활성화된 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 전자 장치(101)로부터 수신된 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다. In
본 문서의 다양한 실시 에에 따르면, 상기 P2P 서비스가 전자 장치(101)에서의 음악 스트리밍 서비스를 외부 전자 장치(102)(혹은 외부 전자 장치(102)의 주변 장치)에서 수행하기 위한 것인 경우, 상기 서비스의 계정 정보를 통해 상기 외부 전자 장치(102)가 해당 서비스의 서버 혹은 어플리케이션으로 접속하여 전자 장치(101)의 서비스를 외부 전자 장치(102)를 통해 수행되도록 할 수 있다.According to various embodiments of the present document, when the P2P service is for performing a music streaming service in the
1180 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다. In
1190 동작에서 전자 장치(101)와 외부 전자 장치(102)는 활성화된 P2P 서비스의 서버 혹은 어플리케이션을 통해 P2P 서비스를 수행할 수 있다. 예컨대, 상기 외부 전자 장치(102)에서는 전자 장치(101)에서의 음악 스트리밍 서비스가 핸드오버되며, 상기 외부 전자 장치(102)는 상기 외부 전자 장치(102) 혹은 상기 외부 전자 장치(102)의 주변 장치(예, AAA 자동차)를 통해 음악 스트리밍 서비스가 수행되도록 제어할 수 있다. In
도 12는 본 문서의 다양한 실시 예에 따른, P2P 서비스에 대한 허가 여부를 확인하는 화면 구성의 일 예를 도시한 도면이다. 12 is a diagram illustrating an example of a screen configuration for checking whether permission for a P2P service is permitted, according to various embodiments of the present document.
도 12를 참조하면, 외부 전자 장치(102)는 전자 장치(101)로부터 P2P 서비스 활성화 요청을 수신함에 따라, 사용자로 P2P 서비스 활성화 허가를 묻기 위한 화면(1200)을 디스플레이(예: 도 1의 표시 장치(160))에 표시할 수 있다. Referring to FIG. 12 , in response to receiving a P2P service activation request from the
본 문서의 다양한 실시 예에 따르면, 상기 화면(1200)은 전자 장치(101)의 사용자(예, 'Tom')가 외부 전자 장치(102)의 주변 장치(예, 'AAA 자동차(car)')와의 P2P 서비스(예, 블루투스 통신을 통해 AAA 자동차 제어)를 요청함을 알리는 내용, 상기 P2P 서비스에 대한 거절 응답을 입력하기 위한 거절 버튼(deny)(1201) 또는 허가 응답을 입력하기 위한 허가 버튼(allow)(1202)을 포함할 수 있다. According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 외부 전자 장치(102)의 사용자가 허가 버튼(1202)을 입력함에 따라, 외부 전자 장치(102)는 P2P 서비스를 활성화시키고 전자 장치(101)로 P2P 서비스의 활성화 여부를 알릴 수 있다. 예컨대, 전자 장치(101)는 P2P 서비스의 활성화 여부를 확인함에 따라, AAA 자동차로 서비스 핸드오버가 이루어지고, 상기 전자 장치(101)는 AAA 자동차와 P2P 서비스를 수행할 수 있다According to various embodiments of the present disclosure, when the user of the external
도 13은 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.13 is a flowchart illustrating an example of an operation of checking whether a service target device and a P2P service are activated in an electronic device according to various embodiments of the present disclosure;
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)는 근거리 통신 모듈(예, 210 또는 210a)을 포함할 수 있다. 예컨대, 상기 근거리 통신 모듈(예, 210 또는 210a)은 Wi-Fi 어웨어 모듈(예, 211 또는 211a) 또는 Wi-Fi 다이렉트 모듈(예, 212 또는 212a)을 포함할 수 있다. According to various embodiments of the present disclosure, the
도 13을 참조하면, 1310 동작에서 전자 장치(101)는 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다. Referring to FIG. 13 , in
1320 동작에서, 전자 장치(101)는 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, 외부 전자 장치(102)가 자동차 장치와 연결되며 전자 장치(101)가 외부 전자 장치(102)와 연결된 자동차 장치 내부에 위치하고 있는지를 판단 가능하거나 상기 외부 전자 장치(102)와 접촉됨에 따라 P2P 서비스가 트리거되는 경우, 전술된 통신 범위를 측정하는 동작은 생략될 수 있다. In
1330 동작에서 전자 장치(101)는 외부 전자 장치(102)가 통신 범위(예, 자동차 장치 내부)내에 위치한 것으로 판단하면, 외부 전자 장치(102)로 P2P 서비스의 활성화를 요청할 수 있다. 예컨대, 상기 P2P 서비스의 활성화 요청은 TDS 패킷에 포함되어 외부 전자 장치(102)로 전송될 수 있다. In
1340 동작에서 외부 전자 장치(102)는 P2P 서비스 활성화 요청을 확인함에 따라 사용자의 P2P 서비스에 대한 허가 여부를 확인할 수 있다. 예컨대, 외부 전자 장치(102)는 상기 P2P 서비스에 대한 허가 또는 거절을 응답할 수 있는 화면을 표시하고, 상기 화면을 통해 허가 응답이 입력됨에 따라, P2P 서비스를 활성화시킬 수 있다. In
1351 동작에서 외부 전자 장치(102)는 상기 P2P 서비스 활성화 여부에 대한 정보가 서비스 허가를 나타내는 경우, P2P 서비스를 활성화시키기 위해 통신 세션을 오픈하도록 Wi-Fi 어웨어 모듈(211a)(혹은 Wi-Fi 다이렉트 모듈(212a))을 제어할 수 있다. 예를 들어, 근거리 통신 모듈(210a)은 Wi-Fi 어웨어 모듈(211a)로 통신 세션을 오픈하도록 요청하거나 Wi-Fi 다이렉트 통신을 개시하도록 Wi-Fi 다이렉트 모듈(212a)을 제어할 수 있다.In operation 1351 , when the information on whether the P2P service is activated or not indicates service permission, the external
1352 동작에서 외부 전자 장치(102)의 Wi-Fi 어웨어 모듈(211a)은 통신 세션 오픈 요청에 따라 해당 서비스를 구독(subscribe)하기 위한 제어를 수행할 수 있다. In
본 문서의 다양한 실시 예에 따라, 근거리 통신 모듈(210a)은 상기 통신 세션 오픈 요청을 Wi-Fi 다이렉트 모듈(212a)로 전달할 수 있으며, 상기 Wi-Fi 다이렉트 모듈(212a)은 피어 디스커버리 및 연결을 수행하여 Wi-Fi 다이렉트를 통해 연결 가능한 장치를 검색하고, 검색된 장치와 연결되도록 설정할 수 있다.According to various embodiments of the present disclosure, the short-
1353 동작에서 외부 전자 장치(102)의 Wi-Fi 어웨어 모듈(211a)(또는 Wi-Fi 다이렉트 모듈(212a))은 서비스 구독과 관련된 정보를 포함하는 연결 정보를 근거리 통신 모듈(210a)로 전달할 수 있다. 예를 들어, 연결 성공 알림을 전송할 수 있다.In
1354 동작에서 외부 전자 장치(102)는 TDS 패킷에 P2P 서비스 활성화 여부에 대한 정보를 포함하여 전자 장치(101)로 전송할 수 있다.In
1361 동작에서 전자 장치(101)는 상기 P2P 서비스 활성화 여부에 대한 정보가 서비스 허가를 나타내는 경우, P2P 서비스를 활성화시키기 위해 통신 세션을 오픈하도록 Wi-Fi 어웨어 모듈(211)(또는 Wi-Fi 다이렉트 모듈(212))을 제어할 수 있다. 예를 들어, 근거리 통신 모듈(210)은 Wi-Fi 어웨어 모듈(211)로 통신 세션을 오픈하도록 요청하거나 Wi-Fi 다이렉트 통신을 개시하도록 Wi-Fi 다이렉트 모듈(212)을 제어할 수 있다.In
1362 동작에서 전자 장치(101)의 Wi-Fi 어웨어 모듈(211)은 통신 세션 오픈 요청에 따라 해당 서비스를 발행(publish)하기 위한 제어를 수행할 수 있다. 본 문서의 다양한 실시 예에 따라, 근거리 통신 모듈(210)은 상기 통신 세션 오픈 요청을 Wi-Fi 다이렉트 모듈(212)로 전달할 수 있으며, 상기 Wi-Fi 다이렉트 모듈(212)은 피어 디스커버리 및 연결을 수행하여 Wi-Fi 다이렉트를 통해 연결 가능한 장치를 검색하고, 검색된 장치와 연결되도록 설정할 수 있다.In
1363 동작에서 전자 장치(101)의 Wi-Fi 어웨어 모듈(211)(또는 Wi-Fi 다이렉트 모듈(212))은 서비스 발행과 관련된 정보를 포함하는 연결 정보를 근거리 통신 모듈(210)로 전달할 수 있다. 예를 들어, 연결 성공 알림을 전송할 수 있다.In
1364 동작에서 전자 장치(101)는 외부 전자 장치(102)로 서비스 핸드오버와 관련된 정보를 전송할 수 있다. In
1371 동작에서 전자 장치(101)는 상기 확인된 서비스 핸드오버 관련 정보를 Wi-Fi 어웨어 모듈(211)로 전달하여 서비스 핸드오버의 수행을 요청할 수 있다. 예컨대, 상기 Wi-Fi 어웨어 모듈(211)은 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 서비스 핸드오버 관련 정보를 전송할 수 있다. In
1372 동작에서 외부 전자 장치(102)는 상기 확인된 서비스 핸드오버 관련 정보를 Wi-Fi 어웨어 모듈(211a)로 전달하여 서비스 핸드오버의 수행을 요청할 수 있다. 예컨대, 상기 Wi-Fi 어웨어 모듈(211a)은 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 서비스 핸드오버 관련 정보를 전송할 수 있다.In
1380 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다. In
1390 동작에서 전자 장치(101)의 Wi-Fi 어웨어 모듈(211)과 외부 전자 장치(102)의 Wi-Fi 어웨어 모듈(211a)은 활성화된 P2P 서비스의 서버 혹은 어플리케이션을 통해 P2P 서비스를 수행할 수 있다. In
도 14는 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.14 is a flowchart illustrating an example of an operation of checking whether a service target device and a P2P service are activated in an electronic device according to various embodiments of the present disclosure;
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)는 근거리 통신 모듈(예, 210 또는 210a) 또는 탭 투 쉐어 기능(예, Insync 기능)으로 파일 전송을 수행하는 파일 전송 어플리케이션(1401 또는 1401a)을 포함할 수 있다. 상기 파일 전송어플리케이션(1401 또는 1401a)은 서버 혹은 클라우드에 저장된 파일을 전자 장치(101) 혹은 외부 전자 장치(102)와 공유하기 위한 갤러리(gallery) 어플리케이션일 수 있다. According to various embodiments of the present disclosure, the
본 발명의 다양한 실시 예에 따르면, 전자 장치(101)의 사용자가 파일 전송 어플리케이션(1401)을 실행하여 적어도 하나의 외부 전자 장치(예, 102)로 전송할 적어도 하나의 이미지를 선택함에 따라 P2P 서비스(예, 적어도 하나의 이미지 전송)가 요청됨을 확인할 수 있다. 예컨대, 상기 전자 장치(101)는 사용자가 상기 적어도 하나의 이미지의 선택과 함께 상기 적어도 하나의 이미지를 전송할 적어도 하나의 외부 전자 장치를 선택함을 확인할 수 있다. According to various embodiments of the present disclosure, when the user of the
본 발명의 다양한 실시 예에 따르면, 이후 동작 1410 내지 동작 1490의 동작들은 전자 장치(101)와 외부 전자 장치(102)의 동작으로 기재되나, 상기 동작 1410 내지 동작 1490의 동작들은 상기 전자 장치(101)가 P2P 서비스를 수행하고자 하는 복수의 외부 전자 장치들(예, 외부 전자 장치(102))과 각각 수행될 수 있다.According to various embodiments of the present disclosure,
도 14를 참조하면, 1410 동작에서 전자 장치(101)는 근거리 통신 모듈(210)을 통해 외부 전자 장치(102)와 GATT 연결을 수립할 수 있다. Referring to FIG. 14 , in
1420 동작에서, 전자 장치(101)는 근거리 통신 모듈(210)을 통해 상기 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, 외부 전자 장치(102)가 자동차 장치로서 전자 장치(101)가 외부 전자 장치(102) 내부에 위치하고 있는지를 판단 가능하거나 상기 외부 전자 장치(102)와 접촉됨에 따라 P2P 서비스가 트리거되는 경우, 전술된 통신 범위를 측정하는 동작은 생략될 수 있다. In
1430 동작에서 전자 장치(101)는, 외부 전자 장치(102)가 통신 범위(예, 제2 전자 장치 내부)내에 위치한 것으로 판단하면, 근거리 통신 모듈(210)을 통해 외부 전자 장치(102)로 P2P 서비스의 활성화를 요청할 수 있다. 예컨대, 상기 P2P 서비스의 활성화 요청은 TDS 패킷에 포함되어 외부 전자 장치(102)로 전송될 수 있다. In operation 1430 , if the
1441 동작에서 외부 전자 장치(102)의 근거리 통신 모듈(210a)은 P2P 서비스 활성화 요청을 확인함에 따라 사용자의 P2P 서비스에 대한 허가 여부를 확인할 수 있다. 예컨대, 상기 복수의 외부 전자 장치들(예, 102) 각각에서는 상기 P2P 서비스에 대한 허가 또는 거절을 응답할 수 있는 화면을 표시하고, 상기 화면을 통해 허가 응답이 입력됨에 따라, P2P 서비스를 활성화시킬 수 있다. In
1442 동작에서 외부 전자 장치(102)는 상기 P2P 서비스 활성화 요청을 전송함에 따라, 외부 전자 장치(102)와 접촉된 전자 장치(101)로 전송할 파일을 확인하는 탭 트래킹 기능을 수행하기 위해 탭 트래킹 명령을 파일 전송 어플리케이션(1401a)으로 전달할 수 있다. 예를 들어, 근거리 통신 모듈(210a)은 파일 전송 어플리케이션(1401a)으로 탭 트래킹 명령을 전달할 수 있다.In
1443 동작에서 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)은 탭 트래킹 명령에 따라 상기 전자 장치(101)로 전송할 적어도 하나의 이미지를 확인할 수 있다. In operation 1443 , the
1444 동작에서 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)은 탭 트래킹이 시작되었음을 근거리 통신 모듈(210a)로 알릴 수 있다. In
1451 동작에서 전자 장치(101)는 P2P 서비스의 활성화 요청에 따라, 전자 장치(101)와 접촉된 외부 전자 장치(102)로 전송할 파일을 확인하는 탭 트래킹 기능을 수행하기 위해 탭 트래킹 명령을 파일 전송 어플리케이션(1401)으로 전달할 수 있다. 예를 들어, 근거리 통신 모듈(210)은 파일 전송 어플리케이션(1401)으로 탭 트래킹 명령을 전달할 수 있다.In
1452 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)은 탭 트래킹 명령에 따라, 해당 어플리케이션을 통해 전송할 파일을 확인하는 탭 트래킹을 수행할 수 있다. In
1453 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)은 탭 트래킹이 시작되었음을 근거리 통신 모듈(210)로 알릴 수 있다. In
1461 동작에서 외부 전자 장치(102)는 TDS 패킷에 P2P 서비스 활성화 여부에 대한 정보(예, 서비스 활성화에 대한 성공 알림)를 포함하여 전자 장치(101)로 전송할 수 있다.In
1462 동작에서 전자 장치(101)는 외부 전자 장치(102)로부터 수신된 P2P 서비스 활성화 결과(예, 서비스 활성화에 대한 성공)를 확인하였음을 알리는 확인 메시지를 외부 전자 장치(102)로 전송할 수 있다.In
1463 동작에서 전자 장치(101)는 적어도 하나의 외부 전자 장치(예, 102)와의 P2P 서비스를 핸드오버시키기 위한 서비스 핸드오버 정보를 확인할 수 있다. 예컨대, 상기 서비스 핸드오버 정보는 상기 적어도 하나의 외부 전자 장치(예, 102) 각각에 대해, P2P 서비스가 수행되는 통신 방식 및 상기 통신 방식과 관련된 통신 설정과 관련된 정보를 포함할 수 있다. In operation 1463 , the
본 문서의 다양한 실시 예에 따르면, 상기 서비스 핸드오버 관련 정보는 외부 전자 장치(102)에서는 Wi-Fi 어웨어로 P2P 서비스가 수행되고, 다른 외부 전자 장치에서는 Wi-Fi 다이렉트를 통해 상기 P2P 서비스가 수행됨을 나타내는 정보를 포함할 수 있다. According to various embodiments of the present disclosure, as for the service handover related information, the P2P service is performed through Wi-Fi Aware in the external
1470 동작에서 전자 장치(101)는 외부 전자 장치(102)로 확인된 서비스 핸드오버 관련 정보를 전송할 수 있다. 예컨대, 전자 장치(101)는 적어도 하나의 외부 전자 장치로 해당하는 서비스 핸드오버 관련 정보를 전송할 수 있다. In
1471 동작에서 전자 장치(101)의 근거리 통신 모듈(210)은 상기 확인된 서비스 핸드오버 관련 정보를 파일 전송 어플리케이션(1401)으로 알릴 수 있다. In
1472 동작에서 외부 전자 장치(102)의 근거리 통신 모듈(210a)은 파일 전송 어플리케이션(1401a)으로 상기 확인된 서비스 핸드오버 관련 정보를 알릴 수 있다. In
본 문서의 다양한 실시 예에 따르면, 파일 전송 어플리케이션(1401 또는 1401a)에서는 서비스 핸드오버 관련 정보에 포함된 통신 방식을 이용하여 P2P 서비스를 수행할 수 있다. According to various embodiments of the present disclosure, the
1480 동작에서 전자 장치(101)의 근거리 통신 모듈(210)과 외부 전자 장치(102)의 근거리 통신 모듈(210a)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다. In
1490 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)과 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)를 통해, 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 적어도 하나의 외부 전자 장치(예, 102)에서 지원하는 통식 방식에 기반하여, 서비스 핸드오버를 수행할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(102)와는 Wi-Fi 어웨어를 통해 P2P 서비스를 수행하고, 다른 외부 전자 장치와는 Wi-Fi 다이렉트를 통해 P2P 서비스를 수행할 수 있다.According to various embodiments of the present disclosure, the
도 15는 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.15 is a flowchart illustrating an example of an operation of checking whether a service target device and a P2P service are activated in an electronic device according to various embodiments of the present disclosure;
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)는 근거리 통신 모듈(예, 210 또는 210a) 및 파일 전송 어플리케이션(1401 또는 1401a)을 포함할 수 있다. According to various embodiments of the present disclosure, the
도 15를 참조하면, 1510 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)에서는 탭 트래킹 명령을 확인할 수 있다. 예컨대, 상기 파일 전송 어플리케이션(1401)에서는 상기 전자 장치(101)와 외부 전자 장치(102)가 접촉됨에 따라 상기 전자 장치(101)의 센서를 통해 탭 트래킹 동작이 트리거된 것으로 판단할 수 있다. Referring to FIG. 15 , in
1520 동작에서 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)에서는 탭 트래킹 명령을 확인할 수 있다. 예컨대, 상기 파일 전송 어플리케이션(1401a)은 상기 외부 전자 장치(102)와 외부 전자 장치(예, 전자 장치(101))가 접촉됨에 따라 탭 트래킹 동작이 트리거된 것으로 판단할 수 있다.In
1521 동작에서, 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)은 탭 트래킹 이벤트의 발생을 외부 전자 장치(102)의 근거리 통신 모듈(210a)로 알릴 수 있다. In
1522 동작에서, 외부 전자 장치(102)의 근거리 통신 모듈(210a)은 상기 탭 트래킹 이벤트의 발생을 알리는 알림을 전자 장치(101)로 어드버타이즈할 수 있다. 예컨대, 상기 알림은 TDS 패킷에 포함되어 UUID 또는 해시 데이터를 포함할 수 있다. In
1530 동작에서, 전자 장치(101)의 근거리 통신 모듈(210)은 외부 전자 장치(102)로부터 어드버타이즈된 알림을 확인함에 따라, 전자 장치(101)의 파일 전송 어플리케이션(1401)로 탭 트래킹 이벤트의 발생을 알릴 수 있다. 예컨대, 상기 탭 트래킹 이벤트는 상기 외부 전자 장치(102)의 센서를 통해 상기 외부 전자 장치(102)에서 감지된 탭 트래킹 이벤트에 대한 알림일 수 있다. In
1530 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)은 유효한 탭을 확인하여 외부 전자 장치(102)로 전송될 파일을 확인하면 탭 트래킹을 정지시킬 수 있다. In
1531 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)은 근거리 통신 모듈(210)로 확인된 유효한 탭의 정보를 포함하는 결과를 전달할 수 있다. In
1532 동작에서 전자 장치(101)는 근거리 통신 모듈(210)을 통해 서비스 핸드오버를 위한 통신 연결을 외부 전자 장치(102)로 요청할 수 있다. In operation 1532 , the
1540 동작에서 전자 장치(101)는 근거리 통신 모듈(210)을 통해 서비스 핸드오버를 위해 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다.In
1561 동작에서 전자 장치(101)는 파일 전송 어플리케이션(1401)으로 상기 확인된 서비스 핸드오버 관련 정보를 알릴 수 있다. In
1562 동작에서 외부 전자 장치(102)는 파일 전송 어플리케이션(1401a)으로 상기 확인된 서비스 핸드오버 관련 정보를 알릴 수 있다. In
1570 동작에서 전자 장치(101)와 외부 전자 장치(102)는 근거리 통신 모듈(210 또는 210a)를 통해 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다. In
1580 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)과 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)를 통해, 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다. In
도 16은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하는 동작의 일 예를 도시한 흐름도이다. 16 is a flowchart illustrating an example of an operation of performing authentication in a P2P service between electronic devices according to various embodiments of the present disclosure.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 또는 외부 전자 장치(102)의 제조사는 키 저장부(221 또는 221a)를 포함하여 전자 장치(101) 또는 외부 전자 장치(102)를 시장에 출시할 수 있다. 예컨대, 상기 키 저장부(221 또는 221a)에서는 루트 인증서에 대한 인증서 서명 요청(certificate signing request: CSR)을 확인하고, 상기 인증서 서명을 증명함에 따라, 수신되는 키 혹은 인증서 체인을 상기 루트 인증서를 통해 인증하도록 설정될 수 있다. According to various embodiments of the present disclosure, the manufacturer of the
도 16을 참조하면, P2P 서비스를 수행하는 전자 장치들(예, 전자 장치(101) 또는 외부 전자 장치(102)는 개인 키(private key)와 공개 키(public key)의 쌍으로 구성되는 키 페어(pair)를 생성할 수 있다. Referring to FIG. 16 , electronic devices performing a P2P service (eg, the
본 문서의 다양한 실시 예에 따르면, 1611 동작에서 전자 장치(101)의 보안 모듈(220)은 개인 키 A 및 공개 키 A의 쌍으로 구성되는 키 페어 A를 생성할 수 있다. 1612 동작에서 외부 전자 장치(102)의 보안 모듈(220a)은 개인 키 B 및 공개 키 B의 쌍으로 구성되는 키 페어 B를 생성할 수 있다. According to various embodiments of the present disclosure, in
1620 동작에서 전자 장치(101) 또는 외부 전자 장치(102)는 상대방 장치로 인증을 요청할 수 있다. 예컨대, P2P 서비스를 발행하는 전자 장치는 P2P 서비스를 구독하는 전자 장치로 공개 키(예, 공개 키 A 또는 공개 키 B)를 포함하는 인증 요청을 전달할 수 있다. In
1630 동작에서 전자 장치(101)는 수신된 외부 전자 장치(102)의 공개 키 B를 이용하여 인증서 체인(certification chain)을 생성할 수 있다.In
1640 동작에서 외부 전자 장치(102)는 수신된 전자 장치(101)의 공개 키 A를 이용하여 인증서 체인을 생성할 수 있다.In
1650 동작에서 전자 장치(101)와 외부 전자 장치(102)는 생성한 인증서 체인을 상대방 장치와 교환할 수 있다. In
1661 동작에서 전자 장치(101)는 키 저장부(221)에 저장된 루트 인증서를 통해 수신된 인증서 체인을 검증할 수 있다. In
1662 동작에서 외부 전자 장치(102)는 키 저장부(221a)에 저장된 루트 인증서를 통해 인증서 체인을 검증할 수 있다. In operation 1662 , the external
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)는 각 장치의 루트 인증서를 통해 인증서 체인을 검증한 결과에 기반하여 상대방 장치에 대한 인증을 완료할 수 있다. According to various embodiments of the present disclosure, the
1671 동작에서 전자 장치(101)의 보안 모듈(220)은 인증서 체인의 검증 결과에 따라 공용 키를 생성할 수 있다. In
1672 동작에서 외부 전자 장치(102)의 보안 모듈(220a)은 인증서 체인의 검증 결과에 따라 공용 키를 생성할 수 있다. In
본 문서의 다양한 실시 예에 따른 전자 장치(101) 또는 상기 외부 전자 장치(102)는 인증서 체인의 검증에 따라 상대방 장치에 대한 인증을 완료하고, ECDH(Elliptic-curve Diffie-Hellman)의 키 생성 규칙에 기반하여 개인 키(예, 개인 키 A 혹은 개인 키 B)를 이용한 공용 키(shared key)를 생성할 수 있다. 예컨대, 상기 공용 키는 SHA-256 알고리즘으로 해싱하여 상기 외부 전자 장치(102)의 데이터를 복호하기 위해 사용될 수 있다.According to various embodiments of the present disclosure, the
본 문서의 다양한 실시 예에 따르면, 전자 장치(예, 전자 장치(101) 또는 외부 전자 장치(102))에서 루트 인증서를 이용하여 상호 인증된 외부 전자 장치의 공개 키 및 인증서 체인을 이용하여 인증을 수행함에 따라, MITM 공격자가 공개 키 또는 인증서를 탈취하여도 복호화가 불가능하므로 중간자 공격을 효과적으로 막을 수 있다.According to various embodiments of the present disclosure, authentication is performed using the public key and certificate chain of the external electronic device mutually authenticated using the root certificate in the electronic device (eg, the
도 17은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하는 동작의 일 예를 도시한 흐름도이다. 17 is a flowchart illustrating an example of an operation of performing authentication in a P2P service between electronic devices according to various embodiments of the present disclosure.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 또는 외부 전자 장치(102))는 통신 모듈(190 또는 190a) 또는 보안 모듈(220 또는 220a)을 포함할 수 있다. 상기 보안 모듈(220 또는 220a)은 키 저장부(221 또는 221a)를 포함하거나 기능적으로 연결되어 상기 키 저장부(221 또는 221a)에 저장된 인증서를 이용하여 상대방 장치로부터 수신된 키 또는 인증서 체인을 검증할 수 있다. According to various embodiments of the present disclosure, the
도 17을 참조하면, 1710 동작에서, P2P 서비스를 수행하는 전자 장치들(예, 전자 장치(101) 또는 외부 전자 장치(102))은 서로간의 GATT 연결을 수립할 수 있다. Referring to FIG. 17 , in
1721 동작에서 전자 장치(101)는 개인 키 A 및 공개 키 A의 쌍으로 구성되는 키 페어 A를 생성할 수 있다. In
1723 동작에서 외부 전자 장치(102)는 개인 키 B 및 공개 키 B의 쌍으로 구성되는 키 페어 B를 생성할 수 있다. In
1731 동작에서 전자 장치(101)는 공개 키 A의 인증을 위해 GATT 연결을 통해 상기 공개 키 A를 외부 전자 장치(102)로 전송할 수 있다. In
1732 동작에서 외부 전자 장치(102)는 전자 장치(101)로부터 공개 키 A를 수신함에 따라, 상기 외부 전자 장치(102)의 보안 모듈(220a)로 상기 공개 키 A에 대한 증명을 요청할 수 있다. In
1733 동작에서 외부 전자 장치(102)의 보안 모듈(220a)에서는, 상기 공개 키 A에 대한 인증서 체인을 발급하여 통신 모듈(190a)로 전달할 수 있다. In
1734 동작에서 외부 전자 장치(102)는 공개 키 A에 대한 인증서 체인을 전자 장치(101)로 전송할 수 있다. In
1741 동작에서 외부 전자 장치(102)는 공개 키 B의 인증을 위해 GATT 연결을 통해 상기 공개 키 B를 전자 장치(101)로 전송할 수 있다. In
1742 동작에서 전자 장치(101)는 외부 전자 장치(102)로부터 공개 키 B를 수신함에 따라, 상기 전자 장치(102)의 보안 모듈(220)로 상기 공개 키 B에 대한 증명을 요청할 수 있다. In
1743 동작에서 전자 장치(101)의 보안 모듈(220)에서는, 상기 공개 키 B에 대한 인증서 체인을 발급하여 통신 모듈(190)로 전달할 수 있다. In
1744 동작에서 전자 장치(101)는 공개 키 B에 대한 인증서 체인을 외부 전자 장치(102)로 전송할 수 있다. In
1751 동작에서 외부 전자 장치(102)는 전자 장치(101)로부터 수신된 공개 키 B에 대한 인증서 체인에 대한 유효성 확인 요청을 보안 모듈(220a)로 전송할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 보안 모듈(220a)은 키 저장부(221)에 저장된 루트 인증서를 이용하여 상기 공개 키 B에 대한 인증서 체인의 유효성 확인 요청을 전송할 수 있다. According to various embodiments of the present disclosure, the
1772 동작에서 외부 전자 장치(102)의 보안 모듈(220a)은 공개 키 B에 대한 인증서 체인이 유효한 것으로 검증되면, 전자 장치(101)와 공통으로 사용할 수 있는 공용 키(shared key)를 생성할 수 있다. In
1761 동작에서 전자 장치(101)는 외부 전자 장치(102)로부터 수신된 공개 키 A에 대한 인증서 체인에 대한 유효성 검증을 보안 모듈(220)로 요청할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 보안 모듈(220)은 키 저장부(221)에 저장된 루트 인증서를 이용하여 상기 공개 키 A에 대한 인증서 체인의 유효성을 검증할 수 있다. According to various embodiments of the present disclosure, the
1771 동작에서 전자 장치(101)의 보안 모듈(220)은 공개 키 A에 대한 인증서 체인이 유효한 것으로 검증되면, 외부 전자 장치(102)와 공통으로 사용할 수 있는 공용 키를 생성할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 동작 1731 내지 동작 1772는 순서가 변경될 수 있다. 예를 들어, 동작 1731을 통해 전자 장치(101)가 외부 전자 장치(102)로 공개 키 A를 전송한 뒤, 동작 1741을 통해 외부 전자 장치(102)가 전자 장치(101)로 공개 키 B를 전송할 수 있다.According to various embodiments of the present disclosure, the order of
도 18은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하는 동작의 일 예를 도시한 흐름도이다. 18 is a flowchart illustrating an example of an operation of performing authentication in a P2P service between electronic devices according to various embodiments of the present disclosure.
도 18을 참조하면, 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 수립하고, GATT 연결을 통해 인증 정보를 교환하여 상대방 장치에 대한 인증을 수행할 수 있다. Referring to FIG. 18 , the
1840 동작에서 전자 장치(101)와 외부 전자 장치(102)는 추가 정보를 교환할 수 있다. 예컨대, 상기 추가 정보는 해당 전자 장치가 상대방 장치와 연결을 원하는 통신 방식 정보 또는 특정 통신 방식과 관련된 설정 정보를 포함할 수 있다. In
1841 동작에서 전자 장치(101)는 공용 키로 암호화된 난수A를 외부 전자 장치(102)로 전송할 수 있다. In
1842 동작에서 외부 전자 장치(102)는 공용 키로 암호화된 난수B를 전자 장치(101)로 전송할 수 있다.In
본 문서의 다양한 실시 예에 따르면, 상기 난수A 및 난수B는 각 전자 장치에서 랜덤하게 생성된 것으로 타임 스탬프와 함께 매핑되어 저장될 수 있다. According to various embodiments of the present disclosure, the random number A and the random number B are randomly generated in each electronic device, and may be mapped and stored together with a time stamp.
1851 동작에서 전자 장치(101)는 수신된 암호화된 난수B를 공용 키로 복호하여 저장할 수 있다. In
1852 동작에서 외부 전자 장치(102)는 수신된 암호화된 난수A를 공용 키로 복호하여 저장할 수 있다.In
1860 동작에서 전자 장치(101)와 제 2 전자 장치(102)는 GATT 연결을 해제할 수 있다. In
도 19는 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하여 서비스 핸드오버하는 동작의 일 예를 도시한 흐름도이다. 19 is a flowchart illustrating an example of an operation of performing a service handover by performing authentication in a P2P service between electronic devices according to various embodiments of the present disclosure.
도 19를 참조하면, 1912 동작에서 외부 전자 장치(102)는 스캔 필터를 설정할 수 있다. Referring to FIG. 19 , in operation 1912 , the external
1913 동작에서 외부 전자 장치(102)는 설정된 스캔 필터를 기반으로 스캔을 수행할 수 있다. In
1920 동작에서 전자 장치(101)는 P2P 서비스가 요청됨을 확인할 수 있다. In
1931 동작에서 전자 장치(101)는 저장된 난수B를 확인할 수 있다. 예컨대, 상기 난수B는 암호화되어 외부 전자 장치(102)로부터 수신된 것으로, 상기 외부 전자 장치(102)와 공통적으로 생성된 공용 키를 이용하여 복호되어 저장될 수 있다. In operation 1931 , the
1932 동작에서 전자 장치(101)는 어드버타이징 데이터를 설정할 수 있다. 예컨대, 전자 장치(101)는 TDS UUID 및 해싱한 난수B를 포함하도록 상기 어드버타이징 데이터를 설정할 수 있다. In
1933 동작에서 전자 장치(101)는 P2P 서비스에 대한 서비스 핸드오버를 결정함에 따라 어드버타이즈 시작을 결정할 수 있다. In
1941 동작에서 전자 장치(101)는 TDS UUID 및 해싱한 난수B를 포함하는 어드버타이징 데이터를 어드버타이즈할 수 있다. In
1942 동작에서 외부 전자 장치(102)는 난수A를 확인할 수 있다. 예컨대, 상기 외부 전자 장치(102)는 상기 외부 전자 장치(102)에 저장된 난수B에 대한 타임 스탬프를 확인하고, 상기 난수B의 타임 스탬프에 대응하는 타임 스탬프를 포함하는 상기 난수A를 확인할 수 있다. In operation 1942, the external
1943 동작에서 외부 전자 장치(102)는 난수A를 확인함에 따라 전자 장치(101)로 통신 연결을 요청할 수 있다.In
1950 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 수립할 수 있다. 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 통해 블루투스 페어링을 수행되면, GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다. In
도 20은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 서비스 핸드오버를 알리는 화면 구성의 일 예를 도시한 도면이다. 20 is a diagram illustrating an example of a screen configuration for notifying a service handover in a P2P service between electronic devices according to various embodiments of the present disclosure.
도 20을 참고하면, 전자 장치(101)는 P2P 서비스와 관련된 블루투스 어플리케이션을 통해 서비스 핸드오버를 사용자에게 알릴 수 있다. 예컨대, 상기 블루투스 어플리케이션의 실행에 따라 서비스 핸드오버 알림 화면(2000)이 표시될 수 있다. Referring to FIG. 20 , the
본 문서의 다양한 실시 예에 따른 서비스 핸드오버 알림 화면(2000)은 서비스 핸드오버에 따른 통신 방식 정보(예, 'Bluetooth') 또는 서비스 핸드오버가 수행되는 전자 장치의 목록(2010)을 표시할 수 있다. 예컨대, 상기 전자 장치 목록(2010)에는 외부 전자 장치(102)와 해당 통신 방식으로 연결 가능한 장치들(외부 전자 장치(102)의 차량 장치(AAA car)(2001))를 포함할 수 있다. The service
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)의 사용자가 상기 전자 장치 목록(2010) 중 외부 전자 장치(102)의 차량 장치(2001)를 선택함에 따라, 상기 외부 전자 장치(102)의 차량 장치(2001)로 서비스 핸드오버가 수행되어 상기 전자 장치(101)와 상기 외부 전자 장치(102)의 차량 장치(2001)와의 P2P 통신이 수행될 수 있다. According to various embodiments of the present disclosure, when the user of the
도 21은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에 있어서 서비스 핸드오버 장치를 디스커버리하는 동작의 일 예를 도시한 흐름도이다. 21 is a flowchart illustrating an example of an operation of discovering a service handover device in a P2P service between electronic devices according to various embodiments of the present disclosure.
도 21을 참조하면, 2110 동작에서 전자 장치(101)는 상기 전자 장치(101)의 음원을 적어도 하나의 외부 전자 장치(예, 102)를 통해 출력시키기 위한 음악 공유 서비스가 요청됨을 확인할 수 있다. Referring to FIG. 21 , in
2120 동작에서 전자 장치(101)는 외부 전자 장치(102)를 디스커버리할 수 있다. 예컨대, 전자 장치(102)는 외부 전자 장치(102)를 디스커버리된 장치로 판단할 수 있다. In
2121 동작에서 전자 장치(101)는 외부 전자 장치(102)로 P2P 서비스를 위한 연결을 요청할 수 있다. In
2122 동작에서 전자 장치(101)는 연결 요청에 상응하여, 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 GATT 연결을 통해 외부 전자 장치(102)와 BLE 페어링을 수행할 수 있으나, 해당 P2P 서비스는 전자 장치(101)의 음원을 외부 전자 장치의 블루투스 A2DP 장치로 출력하기 위한 것으로, 외부 전자 장치(102)와의 페어링 동작은 생략될 수 있다. According to various embodiments of the present disclosure, the
2140 동작에서 전자 장치(101)는 외부 전자 장치(102)에 대한 인증을 수행할 수 있다. In
2141 동작에서 외부 전자 장치(102)는 전자 장치(101)로 외부 전자 장치(102)와의 통신과 관련된 정보를 전송할 수 있다. 예컨대, 상기 정보는 외부 전자 장치(102)와 연결 가능한 통신 방식 또는 통신 속성과 관련된 정보를 포함할 수 있다. In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 교환된 정보에 기반하여 외부 전자 장치(102)가 통신 범위 내에 위치하고 있는지를 확인할 수 있으나, 해당 P2P 서비스는 외부 전자 장치(102)와 연결된 장치로 서비스 핸드오버하여 전자 장치(101)의 음원을 외부 전자 장치(102)와 연결된 장치에서 출력시키기 위한 것으로, 전술된 통신 범위를 확인하는 동작은 생략될 수 있다. According to various embodiments of the present disclosure, the
2150 동작에서 전자 장치(101)는 서비스 핸드오버를 위한 전자 장치를 디스커버리 할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(102)로부터 수신한 통신과 관련된 정보에 기반하여, P2P 서비스를 수행할 장치(예: 주변 장치(2101)) 및 상기 P2P2 서비스를 수행할 장치와 통신 연결을 수행할 방식을 결정할 수 있다.In
2151 동작에서 전자 장치(101)는 서비스 핸드오버와 관련된 정보를 외부 전자 장치(102)로 전송할 수 있다. 예컨대, 서비스 핸드오버 관련 정보는, 외부 전자 장치(102)와 교환된 통신 정보를 기반으로, 음악 공유 서비스를 수행할 전자 장치 정보(예, 외부 전자 장치(102) 또는 주변 장치(2101), 통신 방식 또는 통신 속성과 관련된 정보를 포함할 수 있다. In
2160 동작에서 외부 전자 장치(102)는 전자 장치(101)가 전송한 서비스 핸드오버 관련 정보를 확인할 수 있다.In
2161 동작에서 외부 전자 장치(102)는 상기 음악 공유 서비스의 어플리케이션 또는 상기 서비스 핸드오버 관련 정보에 포함된 주변 장치(2101)로의 서비스 핸드오버를 알릴 수 있다. In
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 교환된 주변 장치 정보에 기반하여, 상기 음악 공유 서비스가 수행될 외부 전자 장치(102)의 주변 장치(2101)(예, A2DP 장치) 및 상기 주변 장치(2101)와 음악 공유 서비스를 수행할 통신 방식(예, 블루투스)을 확인할 수 있다. According to various embodiments of the present disclosure, the
2170 동작에서 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다. In
2171 동작에서 외부 전자 장치(102)는 주변 장치(2101)와의 P2P 서비스를 수행할 수 있다. 예컨대, 전자 장치(101)는 주변 장치(2101)로 블루투스 연결을 통해 전자 장치(101)의 음원을 전달하고, 상기 음원이 상기 주변 장치(2101)에서 출력되도록 제어할 수 있다. In
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be devices of various types. 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 this 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 구성요소를 통하여 연결될 수 있다는 것을 의미한다.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 should be understood to 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. As used herein, "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, or all possible combinations of, items listed together in the corresponding one of the phrases. Terms such as “first”, “second”, or “first” or “second” may simply be used to distinguish the component from other such components, and refer to those 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).
본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.According to various embodiments of the present document, one or more instructions stored in a storage medium (eg, the
일실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(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 TM ) 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 memory of 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, omitted, or , or one or more other operations may be added.
Claims (24)
통신 모듈;
보안 모듈;
상기 통신 모듈 및 상기 보안 모듈과 작동적으로 연결된 프로세서; 및
상기 프로세서와 작동적으로 연결된 메모리;를 포함하고,
상기 메모리는, 실행 시에, 상기 프로세서가,
P2P(peer to pear) 서비스가 요청됨에 따라, 외부 전자 장치로부터 공개 키를 수신하고,
상기 보안 모듈을 통해 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하고,
상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고,
상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하고,
상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하고,
상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 통신 모듈을 통해 상기 외부 전자 장치와 상기 P2P 서비스를 수행하도록 하는 인스트럭션들(instructions)을 저장하는, 전자 장치. In an electronic device,
communication module;
security module;
a processor operatively coupled to the communication module and the security module; and
a memory operatively coupled to the processor;
The memory, when executed, causes the processor to:
When a peer to pear (P2P) service is requested, a public key is received from an external electronic device,
Transmitting a certificate chain generated based on the received public key through the security module to the external electronic device,
verifying the certificate chain received from the external electronic device using the root certificate stored in the security module;
Receive encrypted information of the external electronic device from the external electronic device,
Decrypting the encrypted information of the external electronic device using a public key generated according to the verification result of the received certificate chain,
and storing instructions for performing the P2P service with the external electronic device through the communication module based on the decoded information of the external electronic device.
상기 인스트럭션들은 상기 프로세서가,
상기 통신 모듈을 통해, 상기 외부 전자 장치와의 GATT(generic attribute profile) 연결을 통해 상기 공개 키를 수신하고 상기 암호화된 외부 전자 장치의 정보를 수신하도록 하는, 전자 장치. According to claim 1,
The instructions allow the processor to
and receiving the public key through a GATT (generic attribute profile) connection with the external electronic device through the communication module and receiving the encrypted information of the external electronic device.
상기 암호화된 상기 외부 전자 장치의 정보는 상기 외부 전자 장치의 전화 번호 중 적어도 일부를 포함하며,
상기 인스트럭션들은 상기 프로세서가,
상기 외부 전자 장치의 전화 번호를 상기 공용 키로 복호하고,
상기 복호된 값을 상기 메모리에 저장된 상기 외부 전자 장치의 전화 번호와 비교하여 상기 외부 전자 장치를 유효성을 확인하도록 하는, 전자 장치. According to claim 1,
The encrypted information on the external electronic device includes at least a part of a phone number of the external electronic device,
The instructions allow the processor to
Decrypt the phone number of the external electronic device with the public key,
and verifying validity of the external electronic device by comparing the decoded value with a phone number of the external electronic device stored in the memory.
상기 인스트럭션들은 상기 프로세서가,
ECDH(Elliptic Curve Diffie-Hellman) 규칙에 따라 상기 공용 키가 상기 외부 전자 장치와 동일한 공용 키로 생성하도록 하는, 전자 장치.According to claim 1,
The instructions allow the processor to
An electronic device for generating the public key with the same public key as that of the external electronic device according to an Elliptic Curve Diffie-Hellman (ECDH) rule.
적어도 하나의 통신 모듈;
상기 통신 모듈과 작동적으로 연결된 프로세서; 및
상기 프로세서와 작동적으로 연결된 메모리;를 포함하고,
상기 메모리는, 실행 시에, 상기 프로세서가,
상기 통신 모듈을 통하여, 외부 전자 장치와의 서비스 요청을 확인하고,
상기 외부 전자 장치에 대한 인증을 수행하고,
상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하도록 상기 통신 모듈을 제어하고,
상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하고,
상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 상기 서비스를 연결하기 위한 제2 근거리 통신을 확인하고,
상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 연결하도록 상기 통신 모듈을 제어하는 인스트럭션들(instructions)을 저장하는, 전자 장치. In an electronic device,
at least one communication module;
a processor operatively coupled to the communication module; and
a memory operatively coupled to the processor;
The memory, when executed, causes the processor to:
Checking a service request with an external electronic device through the communication module,
performing authentication on the external electronic device;
controlling the communication module to establish a first short-range communication connection with the external electronic device according to a result of the authentication;
receiving communication information of the external electronic device through the first short-range communication;
Based on the identified communication information, check a second short-range communication for connecting the external electronic device and the service,
and storing instructions for controlling the communication module to connect with the external electronic device through the second short-range communication.
상기 프로세서와 작동적으로 연결된 보안 모듈;을 더 포함하며,
상기 인스트럭션들은 상기 프로세서가,
상기 외부 전자 장치로 공개 키를 전송하고,
상기 외부 전자 장치로부터 상기 전송된 공개 키에 기반하여 생성된 인증서 체인을 수신하고,
상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고,
상기 인증서 체인을 검증한 결과에 기반하여, 상기 외부 전자 장치와 공통으로 사용되는 공용 키를 확인하도록 상기 보안 모듈을 제어하도록 하는, 전자 장치.6. The method of claim 5,
Further comprising; a security module operatively connected to the processor;
The instructions allow the processor to
transmitting the public key to the external electronic device;
receiving a certificate chain generated based on the transmitted public key from the external electronic device;
verifying the certificate chain received from the external electronic device using the root certificate stored in the security module;
and controlling the security module to check a public key commonly used with the external electronic device based on a result of verifying the certificate chain.
상기 인스트럭션들은 상기 프로세서가,
상기 공용 키에 기반하여 상기 통신 정보를 복호하고,
상기 복호된 통신 정보에 기반하여 상기 외부 전자 장치와의 이전 통신 연결의 정보를 확인하도록 하는, 전자 장치. 7. The method of claim 6,
The instructions allow the processor to
Decrypt the communication information based on the public key,
and confirming information of a previous communication connection with the external electronic device based on the decoded communication information.
상기 인스트럭션들은 상기 프로세서가,
랜덤으로 생성되는 난수(nonce) 값과 상기 난수 값에 대한 타임 스탬프를 확인하고,
상기 난수 값을 상기 공용 키로 암호화하도록 상기 보안 모듈을 제어하도록 하는 전자 장치. 8. The method of claim 7,
The instructions allow the processor to
Check a randomly generated nonce value and a timestamp for the random number value,
an electronic device to control the security module to encrypt the random number value with the public key.
상기 인스트럭션들은 상기 프로세서가,
상기 암호화된 난수 값이 상기 외부 전자 장치로 전송되도록 상기 통신 모듈을 제어하고,
상기 확인된 타임 스탬프의 값에 기반하여, 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는지 여부를 확인하고,
상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는 것으로 판단함에 따라, 상기 외부 전자 장치와 이전에 근거리 통신이 수행된 것으로 확인하도록 하는 전자 장치. 9. The method of claim 8,
The instructions allow the processor to
controlling the communication module to transmit the encrypted random number value to the external electronic device;
Based on the checked time stamp value, it is checked whether the decoded communication information and the checked random number value correspond,
An electronic device configured to confirm that short-distance communication was previously performed with the external electronic device when it is determined that the decoded communication information and the checked random number value correspond.
상기 인스트럭션들은 상기 프로세서가,
상기 제1 근거리 통신의 연결을 해제하고 상기 제2 근거리 통신의 연결을 수립하도록 하는, 전자 장치. 6. The method of claim 5,
The instructions allow the processor to
Disconnecting the connection of the first short-range communication and establishing the connection of the second short-range communication.
상기 인스트럭션들은 상기 프로세서가,
상기 외부 전자 장치와의 제2 근거리 통신의 연결을 확인함에 따른 서비스 핸드오버 정보를 확인하고,
상기 P2P 서비스와 어플리케이션으로 상기 서비스 핸드오버 정보를 전달하도록 하는, 전자 장치. 6. The method of claim 5,
The instructions allow the processor to
Checking service handover information according to confirming the connection of the second short-range communication with the external electronic device,
and to transmit the service handover information to the P2P service and the application.
상기 서비스 핸드오버 정보는, 상기 P2P 서비스가 수행되는 통신 방식과 관련된 설정 정보, 상기 서비스 핸드오버가 수행되는 적어도 하나의 주변 장치의 식별 정보, 상기 적어도 하나의 주변 장치의 통신 정보 중 적어도 하나를 포함하는, 전자 장치. 12. The method of claim 11,
The service handover information includes at least one of configuration information related to a communication method in which the P2P service is performed, identification information of at least one peripheral device through which the service handover is performed, and communication information of the at least one peripheral device which is an electronic device.
P2P 서비스가 요청됨에 따라, 외부 전자 장치로부터 공개 키를 수신하는 동작;
상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하는 동작;
상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하는 동작;
상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하는 동작;
상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하는 동작;
상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 외부 전자 장치와 상기 P2P 서비스를 수행하는 동작;을 포함하는, P2P 서비스 수행 방법. A method for performing a peer to pear (P2P) service in an electronic device, the method comprising:
receiving a public key from an external electronic device when a P2P service is requested;
transmitting a certificate chain generated based on the received public key to the external electronic device;
verifying the certificate chain received from the external electronic device using the root certificate stored in the security module;
receiving encrypted information on the external electronic device from the external electronic device;
decrypting the encrypted information of the external electronic device using a public key generated according to a verification result of the received certificate chain;
and performing the P2P service with the external electronic device based on the decoded information of the external electronic device.
상기 외부 전자 장치와의 GATT 연결을 통해 상기 공개 키를 수신하고 상기 암호화된 외부 전자 장치의 정보를 수신하는 동작;을 더 포함하는, P2P 서비스 수행 방법. 14. The method of claim 13,
The method further comprising: receiving the public key through a GATT connection with the external electronic device and receiving the encrypted information of the external electronic device;
상기 암호화된 상기 외부 전자 장치의 정보는 상기 외부 전자 장치의 전화 번호 중 적어도 일부를 포함하며,
상기 외부 전자 장치의 전화 번호를 상기 공용 키로 복호하는 동작; 및
상기 복호된 값을 상기 메모리에 저장된 상기 외부 전자 장치의 전화 번호와 비교하여 상기 외부 전자 장치를 유효성을 확인하는 동작;을 더 포함하는, P2P 서비스 수행 방법.14. The method of claim 13,
The encrypted information on the external electronic device includes at least a part of a phone number of the external electronic device,
decrypting the phone number of the external electronic device with the public key; and
and verifying validity of the external electronic device by comparing the decoded value with the phone number of the external electronic device stored in the memory.
ECDH(Elliptic Curve Diffie-Hellman) 규칙에 따라 상기 공용 키가 상기 외부 전자 장치와 동일한 공용 키로 생성하는 동작;을 더 포함하는, P2P 서비스 수행 방법. 14. The method of claim 13,
Generating the public key as the same public key as the external electronic device according to an Elliptic Curve Diffie-Hellman (ECDH) rule;
외부 전자 장치와의 서비스 요청을 확인하는 동작;
상기 외부 전자 장치에 대한 인증을 수행하는 동작;
상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하는 동작;
상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하는 동작;
상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 연결하기 위한 제2 근거리 통신을 확인하는 동작;
상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 상기 서비스를 연결하도록 제어하는 동작;을 포함하는, P2P 서비스 수행 방법. A method for performing a peer to pear (P2P) service in an electronic device, the method comprising:
confirming a service request with an external electronic device;
performing authentication for the external electronic device;
establishing a first short-range communication connection with the external electronic device according to a result of the authentication;
receiving communication information of the external electronic device through the first short-range communication;
checking second short-range communication for connection with the external electronic device based on the checked communication information;
and controlling the connection between the external electronic device and the service through the second short-range communication.
상기 외부 전자 장치로 공개 키를 전송하는 동작;
상기 외부 전자 장치로부터 상기 전송된 공개 키에 기반하여 생성된 인증서 체인을 수신하는 동작;
상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하는 동작; 및
상기 인증서 체인을 검증한 결과에 기반하여, 상기 외부 전자 장치와 공통으로 사용되는 공용 키를 확인하는 동작;을 더 포함하는, P2P 서비스 수행 방법. 18. The method of claim 17,
transmitting the public key to the external electronic device;
receiving a certificate chain generated based on the transmitted public key from the external electronic device;
verifying the certificate chain received from the external electronic device using the root certificate stored in the security module; and
The method of performing a P2P service further comprising: checking a public key commonly used with the external electronic device based on a result of verifying the certificate chain.
상기 공용 키에 기반하여 상기 통신 정보를 복호하는 동작; 및
상기 복호된 통신 정보에 기반하여 상기 외부 전자 장치와의 이전 통신 연결의 정보를 확인하는 동작;을 더 포함하는, P2P 서비스 수행 방법. 19. The method of claim 18,
decrypting the communication information based on the public key; and
and checking information on a previous communication connection with the external electronic device based on the decoded communication information.
랜덤으로 생성되는 난수(nonce) 값과 상기 난수 값에 대한 타임 스탬프를 확인하는 동작; 및
상기 난수 값을 상기 공용 키로 암호화하는 동작;을 더 포함하는, P2P 서비스 수행 방법. 20. The method of claim 19,
checking a randomly generated nonce value and a time stamp for the random number value; and
The method further comprising: encrypting the random number value with the public key.
상기 암호화된 난수 값을 상기 외부 전자 장치로 전송하는 동작;
상기 확인된 타임 스탬프의 값에 기반하여, 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는지 여부를 확인하는 동작; 및
상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는 것으로 판단함에 따라, 상기 외부 전자 장치와 이전에 근거리 통신이 수행된 것으로 확인하는 동작;을 더 포함하는, P2P 서비스 수행 방법. 21. The method of claim 20,
transmitting the encrypted random number value to the external electronic device;
checking whether the decoded communication information and the checked random number value correspond to each other based on the checked time stamp value; and
and determining that short-distance communication has been previously performed with the external electronic device in response to determining that the decoded communication information and the checked random number value correspond.
상기 제1 근거리 통신의 연결을 해제하고 상기 제2 근거리 통신의 연결을 수립하는 동작;을 더 포함하는, P2P 서비스 수행 방법. 18. The method of claim 17,
Disconnecting the connection of the first short-range communication and establishing the connection of the second short-range communication; The method further comprising a P2P service performing method.
상기 외부 전자 장치와의 제2 근거리 통신의 연결을 확인함에 따른 서비스 핸드오버 정보를 확인하는 동작; 및
상기 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 서비스 핸드오버 정보를 전송하는 동작;을 더 포함하는, P2P 서비스 수행 방법. 18. The method of claim 17,
checking service handover information according to confirming the connection of the second short-range communication with the external electronic device; and
and transmitting the service handover information to a server or application related to the P2P service.
상기 서비스 핸드오버 정보는, 상기 P2P 서비스가 수행되는 통신 방식과 관련된 설정 정보, 상기 적어도 하나의 주변 장치의 식별 정보, 상기 적어도 하나의 주변 장치의 통신 정보 중 적어도 하나를 포함하는, P2P 서비스 수행 방법. 24. The method of claim 23,
The service handover information includes at least one of configuration information related to a communication method in which the P2P service is performed, identification information of the at least one peripheral device, and communication information of the at least one peripheral device. .
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21753239.9A EP4102770A4 (en) | 2020-02-10 | 2021-02-09 | Electronic device and method for performing peer to peer service in electronic device |
CN202180013887.6A CN115104283A (en) | 2020-02-10 | 2021-02-09 | Electronic device and method for performing peer-to-peer service in electronic device |
PCT/KR2021/001738 WO2021162427A1 (en) | 2020-02-10 | 2021-02-09 | Electronic device and method for performing peer to peer service in electronic device |
US17/882,212 US20220377553A1 (en) | 2020-02-10 | 2022-08-05 | Electronic device and method for performing peer to peer service in electronic device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200015937 | 2020-02-10 | ||
KR20200015937 | 2020-02-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210101998A true KR20210101998A (en) | 2021-08-19 |
Family
ID=77492740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200016684A KR20210101998A (en) | 2020-02-10 | 2020-02-11 | Electronic device and method for performing peer to peer service in electronic device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210101998A (en) |
-
2020
- 2020-02-11 KR KR1020200016684A patent/KR20210101998A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102331886B1 (en) | Electronic device contrrolling node in a network and control method thereof | |
CN111542822B (en) | Electronic device and method for sharing screen data | |
KR102598613B1 (en) | System and method for providing vehicle information based on personal certification and vehicle certification | |
KR102657527B1 (en) | Method for setting of a device based on information associated with account and electronic device thereof | |
WO2020143414A1 (en) | Wireless network access method, device, equipment and system | |
KR102473262B1 (en) | Electronic device for controlling establishing or releasing communication connection and method for controlling thereof | |
KR102089191B1 (en) | Methods, devices and systems for processing order information | |
EP3069255B1 (en) | Method and apparatus for connecting communication of electronic devices | |
US9635018B2 (en) | User identity verification method and system, password protection apparatus and storage medium | |
KR20180072389A (en) | Method for providing content corresponding to an accessory and electronic device thereof | |
JP2017500822A (en) | Information communication method, apparatus, and electronic apparatus | |
US11496900B2 (en) | Electronic device and method for storing user identification information | |
KR20150124741A (en) | Communication method, electronic apparatus and storage medium | |
US20220377553A1 (en) | Electronic device and method for performing peer to peer service in electronic device | |
KR102632548B1 (en) | Method for uwb transaction and electronic device therefor | |
KR20210101496A (en) | Method for communication based on state of external electronic apparatus and electronic appratus thereof | |
KR102643372B1 (en) | Electronic device for performing discovery device and method thereof | |
KR102613405B1 (en) | Method for sharing for Bluetooth communication Information and Electronic Device | |
KR20200068068A (en) | ELECTRONIC DEVICE FOR REGISTERING IoT DEVICE, SERVER AND METHOD FOR OPERATING THEREOF | |
KR20210101998A (en) | Electronic device and method for performing peer to peer service in electronic device | |
KR20210049653A (en) | Method for communicating with external electronic apparatus and electronic appratus thereof | |
KR20210051084A (en) | Electronic device for performing an encrypted communication and method for operating thereof | |
US11570602B2 (en) | Method for communicating with external electronic apparatus and electronic apparatus thereof | |
KR102348401B1 (en) | Did signing and validation system and method for using threshold signature | |
KR20220000719A (en) | Electronice device and method for transmitting content |