WO2021162427A1 - 전자 장치 및 전자 장치에서의 피어 투 피어 서비스 수행 방법 - Google Patents

전자 장치 및 전자 장치에서의 피어 투 피어 서비스 수행 방법 Download PDF

Info

Publication number
WO2021162427A1
WO2021162427A1 PCT/KR2021/001738 KR2021001738W WO2021162427A1 WO 2021162427 A1 WO2021162427 A1 WO 2021162427A1 KR 2021001738 W KR2021001738 W KR 2021001738W WO 2021162427 A1 WO2021162427 A1 WO 2021162427A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
external electronic
service
communication
information
Prior art date
Application number
PCT/KR2021/001738
Other languages
English (en)
French (fr)
Inventor
이상윤
김용주
이성준
정효문
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020200016684A external-priority patent/KR20210101998A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN202180013887.6A priority Critical patent/CN115104283A/zh
Priority to EP21753239.9A priority patent/EP4102770A4/en
Publication of WO2021162427A1 publication Critical patent/WO2021162427A1/ko
Priority to US17/882,212 priority patent/US20220377553A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key 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
    • H04L9/0841Key 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 involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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/3268Cryptographic 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 validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • H04W12/0471Key exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/108Source integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Definitions

  • 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 securely perform a peer to peer (P2P) service through an appropriate communication method.
  • P2P peer to peer
  • 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.
  • a short-range communication technology such as Bluetooth, NFC, or Wi-Fi
  • P2P service between electronic devices, typically file transfer, mobile hotspot connection, or music share.
  • 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
  • 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.
  • CRC cyclical redundancy check
  • 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.
  • personal information may be exposed by a man-in-the-middle attack (MITM) device during user-to-user authentication.
  • MITM man-in-the-middle attack
  • the electronic device may recognize the man-in-the-middle attack device as an authenticated external electronic device and perform a communication connection.
  • service handover may be performed in consideration of attribute information and service characteristics of the external electronic device.
  • 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.
  • An electronic device capable of controlling heat optimized for a user in the electronic device, and a method for controlling heat based on user feedback in the electronic device.
  • An electronic device 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 on the external electronic device, the external electronic device and the P2P service through the communication module
  • P2P peer to pear
  • An electronic device 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.
  • a method of performing a peer to pear (P2P) service in an electronic device 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
  • a method of performing a peer to pear (P2P) service in an electronic device 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 peer to pear
  • an electronic device and an electronic device when performing a P2P service with an external 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.
  • a man-in-the-middle attack can be prevented and the security of a communication connection can be strengthened.
  • FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure
  • FIG. 2 is a block diagram illustrating an example of a configuration of an electronic device according to various embodiments of the present disclosure.
  • FIG. 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.
  • FIG. 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
  • FIG. 5 is a block diagram illustrating an example of a software configuration according to various embodiments of the present disclosure.
  • FIG. 6 is a diagram illustrating an example of a software structure according to various embodiments of the present disclosure.
  • FIG. 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.
  • FIG. 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.
  • FIG. 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.
  • FIG. 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
  • FIG. 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
  • FIG. 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.
  • FIG. 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
  • FIG. 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.
  • FIG. 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 configuration of a screen 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.
  • 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).
  • a device 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.
  • the expression “a device configured to” may mean that the device is “capable of” with other devices or parts.
  • 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.
  • a general-purpose processor eg, a CPU or an application processor
  • Electronic devices 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
  • 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.
  • a game console eg , Xbox TM , PlayStation TM
  • an electronic dictionary e.g., an electronic key, a camcorder, or an electronic picture frame.
  • 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.
  • various medical devices eg, various portable medical measuring devices (blood glucose meter, heart rate monitor, blood pressure monitor, or body temperature monitor)
  • MRA magnetic resonance angiography
  • MRI magnetic resonance imaging
  • CT. computed tomography, camera, or ultrasound
  • navigation devices e.g., global navigation satellite system (GNSS), event data recorder (EDR), flight data recorder (FDR), automotive infotainment devices, marine electronic equipment (e.g.
  • 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).
  • 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.
  • 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.
  • 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.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments of the present disclosure.
  • an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • a first network 198 eg, a short-range wireless communication network
  • a second network 199 e.g., a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • the electronic device 101 includes a processor 120 , a memory 130 , an input device 150 , a sound output device 155 , a display device 160 , an audio module 170 , and a sensor module ( 176 , interface 177 , haptic module 179 , camera module 180 , power management module 188 , battery 189 , communication module 190 , subscriber identification module 196 , or antenna module 197 . ) may be included. In some embodiments, at least one of these components (eg, the display device 160 or the camera module 180 ) may be omitted or one or more other components may be added to the electronic device 101 . In some embodiments, some of these components may be implemented as a single integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented while being embedded in the display device 160 (eg, a display).
  • the sensor module 176 eg, a fingerprint sensor, an iris sensor, or an illumina
  • the processor 120 for example, executes software (eg, the program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120 . It can control and perform various data processing or operations. According to an embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be loaded into the volatile memory 132 , process commands or data stored in the volatile memory 132 , and store the resulting data in the non-volatile memory 134 .
  • software eg, the program 140
  • the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
  • the volatile memory 132 may be loaded into the volatile memory 132 , process commands or data stored in the volatile memory 132 , and store the resulting data in the non-volatile memory 134 .
  • the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor), and an auxiliary processor 123 (eg, a graphic processing unit, an image signal processor) that can be operated independently or together with the main processor 121 . , a sensor hub processor, or a communication processor). Additionally or alternatively, the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a designated function. The auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
  • a main processor 121 eg, a central processing unit or an application processor
  • an auxiliary processor 123 eg, a graphic processing unit, an image signal processor
  • the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a designated function.
  • the auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
  • the auxiliary processor 123 may be, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or when the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display device 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
  • the auxiliary processor 123 eg, an image signal processor or a communication processor
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176 ) of the electronic device 101 .
  • the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
  • the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
  • the input device 150 may receive a command or data to be used by a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
  • the input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
  • the sound output device 155 may output a sound signal to the outside of the electronic device 101 .
  • the sound output device 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. According to an embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display device 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
  • the display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the corresponding device.
  • the display device 160 may include a touch circuitry configured to sense a touch or a sensor circuit (eg, a pressure sensor) configured to measure the intensity of a force generated by the touch. have.
  • the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input device 150 , or an external electronic device (eg, a sound output device 155 ) connected directly or wirelessly with the electronic device 101 .
  • the electronic device 102) eg, a speaker or headphones
  • the electronic device 102 may output a sound.
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more specified protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101 .
  • the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101 .
  • the battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication through the established communication channel.
  • the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
  • a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 eg, : It may include a local area network (LAN) communication module, or a power line communication module.
  • a corresponding communication module is a first network 198 (eg, a short-range communication network such as Bluetooth, WiFi direct, or IrDA (infrared data association)) or a second network 199 (eg, a cellular network, the Internet, or It may communicate with an external electronic device via a computer network (eg, a telecommunication network such as a LAN or WAN).
  • a computer network eg, a telecommunication network such as a LAN or WAN.
  • These various types of communication modules may be integrated into one component (eg, a single chip) or may be implemented as a plurality of components (eg, multiple chips) separate from each other.
  • the wireless communication module 192 uses the subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
  • the electronic device 101 may be identified and authenticated.
  • the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module may include one antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
  • other components eg, RFIC
  • other than the radiator may be additionally formed as a part of the antenna module 197 .
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
  • Each of the electronic devices 102 and 104 may be the same or a different type of the electronic device 101 .
  • all or part of the operations performed by the electronic device 101 may be performed by one or more of the external electronic devices 102 , 104 , or 108 .
  • the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • the one or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
  • the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • FIG. 2 is a block diagram illustrating an example of a configuration of an electronic device according to various embodiments of the present disclosure.
  • the electronic device 101 may include a processor 120 , a memory 130 , a display device 160 , a communication module 190 , and a security module 220 .
  • the processor 120 may perform overall operations related to service handover of the P2P service.
  • the processor 120 may check a P2P service trigger according to a P2P service request by a user.
  • the P2P service may include a music sharing service or file transfer (eg, tap to share or Insync) between electronic devices through short-range communication.
  • the electronic device 101 may check a trigger of the P2P service according to detecting a specified gesture input (eg, a tap gesture with the external electronic device 102 ) or execution of a specified application.
  • the processor 120 may measure a communication range through the short-range communication module 210 .
  • the processor 120 may determine whether the service target device is located within a communicable range based on information exchanged between the electronic device 101 and the service target device (eg, the external electronic device 102 ).
  • the exchanged information includes a host device name as a host device, a host Bluetooth address, a caster device name, or a connection type with a caster device as the external electronic device 102 operates as a host device for service handover. It may include the Bluetooth address for the communication connection with the device 101 .
  • the operation of measuring the communication range may be omitted based on a trigger condition of the communication method.
  • 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.
  • the processor 120 receives the ranging packet of the external electronic device 102 through the short-range communication module 210 and measures the communication range based on the size or communication strength of the packet. can do.
  • the processor 120 may determine a service handover. For example, it is possible to determine one communication method among communication methods capable of providing a P2P service, and perform the P2P service through the communication method.
  • the processor 120 is a module (eg, Wi-Fi) related to an application (eg, a file transfer application, a Quick Share application, a music share application) related to a P2P service or a communication method.
  • the information related to the service handover may be transmitted to the Awair module 211 , the Wi-Fi Direct module 212 , the Bluetooth module 213 , or the NFC module 214 .
  • the processor 120 may control the display device 160 to display a screen for notifying the user of information related to service handover.
  • the screen may include device information or service information to which a P2P service is handed over, and may include an item for selecting a permission response or a rejection response for the corresponding service.
  • service handover is a communication method supported when the electronic device 101 is connected to the external electronic device 102 or a peripheral device of the external electronic device 102 through a short-range communication connection.
  • the operation may include performing a P2P service through a communication method corresponding to a communication condition (eg, communication range or communication quality) or allowing at least a portion of the P2P service to be performed by a corresponding peripheral device.
  • the peripheral device may include a device capable of providing a P2P service by being connected to the external electronic device 102 through short-range communication.
  • the electronic device 101 performs service handover to the Bluetooth A2DP (Advanced Audio Distribution Profile) device of the external electronic device 102 so that the content of the electronic device 101 is transferred to the Bluetooth A2DP device. can be printed out.
  • Bluetooth A2DP Advanced Audio Distribution Profile
  • a connection is performed using a first communication method (eg, BLE) and a P2P connection is performed using a second communication method (eg, WiFi Direct). service can be performed.
  • a first communication method eg, BLE
  • a P2P connection is performed using a second communication method (eg, WiFi Direct). service can be performed.
  • the electronic device 101 performs a service handover for maintaining a communication method previously used when connecting with the external electronic device 102 or additional information received from the external electronic device 102 .
  • Service handover may be performed in another communication method based on
  • the electronic device 101 includes a communication module 190 , a security module 220 , a processor 120 operatively connected to the communication module 190 and the security module 220 , and and a memory 130 operatively coupled to the processor 120 , wherein, when executed, the processor 120 receives a P2P service request from the external electronic device 102 .
  • Receives a public key transmits a certificate chain generated based on the received public key through the security module to the external electronic device, and uses the root certificate stored in the security module to the external electronic device Verifies the certificate chain received from the external electronic device, receives the encrypted information of the external electronic device from the external electronic device, and uses a shared key generated according to the verification result of the received certificate chain.
  • the information of the external electronic device may be decoded, and instructions for performing the P2P service with the external electronic device through the communication module may be stored based on the decoded information of the external electronic device.
  • the instructions are transmitted by the processor 120 through the communication module 190 (or the short-range communication module 210 ) through a GATT connection with the external electronic device 102 . It is possible to receive the public key and receive the encrypted information of the external electronic device 102 .
  • the encrypted information of the external electronic device 102 includes at least a part of a phone number, and the instructions are transmitted by the processor 120 to the phone number of the external electronic device 102 .
  • the number may be decoded using the public key, and the decrypted value may be compared with the phone number of the external electronic device 102 stored in the memory 130 to verify the validity of the external electronic device 102 .
  • the instructions may cause the processor 120 to generate the public key as the same public key as that of the external electronic device 102 according to an Elliptic Curve Diffie-Hellman (ECDH) rule.
  • ECDH Elliptic Curve Diffie-Hellman
  • the electronic device 101 includes at least one communication module 190 , a processor 120 operatively connected to the communication module 190 , and operatively connected to the processor 120 .
  • the memory 130 includes a memory 130 , wherein, when executed, the processor 120 checks a service request with an external electronic device through the communication module 190 , and the external electronic device performs authentication, and controls the communication module to establish a first short-range communication connection with the external electronic device according to a result of the authentication, and communicates with the external electronic device through the first short-range communication the communication module to receive information, identify a second short-range communication for connection with the external electronic device based on the identified communication information, and connect the external electronic device and the service through the second short-range communication Instructions for controlling the 190 (or the short-range communication module 210 ) may be stored.
  • the electronic device 101 further includes a security module 220 , and the instructions include the processor 120 transmitting a public key to the external electronic device, and the external electronic device receives a certificate chain generated based on the transmitted public key from , controls the security module 220 to identify a public key commonly used with the external electronic device 102, decrypts the communication information based on the public key, and Information on a previous communication connection with the external electronic device 102 may be checked.
  • the instructions cause the processor 120 to check a randomly generated nonce value and a timestamp for the random number value, and encrypt the random number value with the public key.
  • the instructions cause the processor 120 to transmit the encrypted random number value to the external electronic device 102 by the communication module 190 (or short-range communication module 210). control and determine whether the decoded communication information and the checked random number value correspond to each other based on the checked time stamp value, and determine that the decoded communication information and the checked random number value correspond to each other Accordingly, it is possible to confirm that short-distance communication has been previously performed with the external electronic device 102 .
  • the instructions may cause the processor 120 to release the first short-range communication connection and establish the second short-range communication connection.
  • the instructions check service handover information according to which the processor 120 confirms the connection of the second short-range communication with the external electronic device 102, and are related to the P2P service.
  • the communication module 190 (or the short-range communication module 210 ) may be controlled to transmit the service handover information to a server or an application.
  • the service handover information may include 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.
  • the display device 160 may display notification information related to service handover. For example, a list of devices of the external electronic device 102 discovered according to the electronic device discovery may be displayed and the user may select a device on which a service handover is performed.
  • the communication module 190 may perform P2P communication with the external electronic device 102 or the external electronic device 102 .
  • the short-range communication module 210 may include at least one of a Wi-Fi aware module 211 , a Wi-Fi Direct module 212 , a Bluetooth module 213 , or an NFC module 214 , and other various It may include a configuration for short-range communication.
  • the communication module 190 may include a short-range communication module 210 .
  • the short-distance communication module 210 checks the communication method determined based on the service handover related information, and the Wi-Fi aware module 211, the Wi-Fi direct module 212, the Bluetooth module 213, or the NFC module ( 214) may be controlled to perform P2P communication.
  • the electronic device 101 may transmit/receive advertising data for a P2P service.
  • the advertising data is based on a transport discovery service (TDS) protocol defined in the Bluetooth SIG, a TDS service universally unique identifier (UUID), a TDS advertisement type (AD type), and a transport block (transport block) may be included.
  • TDS transport discovery service
  • UUID TDS service universally unique identifier
  • AD type TDS advertisement type
  • transport block transport block
  • the electronic device 101 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.
  • Table 1 relates to advertising data based on the TDS protocol.
  • Device ID service data 0x03 0x10 0x00 0x03 0x03 0x14 0xAE 0xFC 0x04 0x15 0xAE 0x3C 25 26 27 28 29 30 31 transport data service data 0xB3
  • the TDS UUID and TDS AD data types are added to the advertising data. It may be included by default, and information such as a service identifier of the music sharing service or the tap-to-share service may be included in 'Service data' of the 'transport data' field.
  • Table 2 relates to the structure of advertising data in which the "transport data" field is set, 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.
  • 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.
  • 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. Table 3 relates to information on the 'type' field included in the advertising data according to various embodiments of the present disclosure.
  • the short-range communication module 210 may establish a generic attribute profile (GATT) connection with the external electronic device 102 .
  • the electronic device 101 may establish a GATT connection with the external electronic device 102 in response to the advertising data from the external electronic device 102 .
  • the operation of establishing a GATT connection may include an operation of the electronic device 101 performing service discovery for a GATT service provided by the external electronic device 102 .
  • the operation of establishing a GATT connection may include an operation of negotiating a maximum transmission unit (MTU) size in order to check the size of data transmitted and received after the GATT connection is established.
  • MTU maximum transmission unit
  • 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.
  • the electronic device 101 may designate TDS as a primary service of a GATT connection, and exchange a key with a TDS control point that is a characteristic of TDS. exchange) can be additionally set and applied when exchanging data.
  • the electronic device 101 when exchanging the public key with the external electronic device 102 , the electronic device 101 sets the 'key exchange' characteristic of the TDS characteristic to transmit data including the public key. The notification may be made to the external electronic device 102 .
  • various setting values for a corresponding characteristic may be set in a "transport discovery service" field of data in a GATT connection.
  • it may include a value indicating that it is mandatory (M) or optional (O) for the inclusion (requirement) of a specific characteristic.
  • M mandatory
  • O optional
  • a write or indicate property related to the property may be included.
  • a value indicating whether to include security permissions may be set.
  • the short-range communication module 210 may attempt BLE (or LE) pairing with the external electronic device 102 .
  • BLE or LE
  • the BLE pairing may be selectively performed separately from authentication.
  • the communication module 190 may release the GATT connection with the service target device. For example, as the discovery, authentication, or exchange of communication information between the electronic device 101 and the external electronic device 102 is completed, the GATT connection may be released.
  • the GATT connection when the GATT connection is released and the electronic device 101 intends to reconnect for service switching, the GATT connection includes a hash value for a random number exchanged with the external electronic device 102 .
  • data can be set.
  • the random number is encrypted with the public key generated through the security module 220 and exchanged with the external electronic device 102 , and may be used as a mutual identifier.
  • the security module 220 when the electronic device 101 and the external electronic device 102 want to reconnect in a state in which the GATT connection is released, the security module 220 provides an advisor from the external electronic device 102 . Decrypts a random number included in the coded data, and according to whether the decoded random number corresponds to the random number transmitted from the electronic device 101 to the external electronic device 102 , the external electronic device 102 is previously connected You can authenticate as a user. For example, when generating a random number, the electronic device 101 and the external electronic device 102 may store the random number together with a time stamp to check whether the received random number is a random number transmitted from the corresponding electronic device.
  • FIG. 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.
  • the electronic device 101 may receive a public key from the external electronic device 102 as a P2P service is requested.
  • the electronic device 101 may receive the public key through a GATT connection with the external electronic device 102 and receive encrypted information of the external electronic device 102 .
  • the GATT connection may be established through the communication module 190 of the electronic device 101 .
  • the encrypted information of the external electronic device 102 includes at least a part of a phone number, and the electronic device 101 uses the phone number of the external electronic device 102 as a public key. It is possible to verify the validity of the external electronic device 102 by decoding the decoded value and comparing the decoded value with the phone number of the external electronic device 102 stored in the memory 130 .
  • the public key may be generated identically to the public key in the external electronic device 102 according to an Elliptic Curve Diffie-Hellman (ECDH) rule.
  • ECDH Elliptic Curve Diffie-Hellman
  • the electronic device 101 may transmit a certificate chain generated based on the received public key to the external electronic device 102 .
  • the electronic device 101 may verify the certificate chain received from the external electronic device 102 based on the root certificate of the security module 220 .
  • the electronic device 101 may receive encrypted information on the external electronic device 102 from the external electronic device 102 .
  • the external electronic device 102 may transmit the encrypted information of the external electronic device 102 to the electronic device 101 based on a verification result of the certificate chain in the external electronic device 102 . .
  • the electronic device 101 decrypts the encrypted information of the external electronic device 102 using the public key generated based on the certificate chain verification result to confirm the validity of the external electronic device 102 .
  • the security module 220 may be controlled.
  • the electronic device 101 when the electronic device 101 transmits the public key generated in the electronic device 101 to the external electronic device 102 , the public key transmitted from the external electronic device 102 is transmitted. You can receive the certificate chain issued for the key. For example, the electronic device 101 may verify the external electronic device 102 by verifying the received certificate chain as the root certificate of the security module 220 .
  • the electronic device 101 may generate a public key when determining the validity of the external electronic device 102 according to the verification result of the certificate chain.
  • the electronic device 101 may perform the P2P service with the external electronic device 102 based on the validity determination result of the external electronic device 102 .
  • the electronic device 101 may perform the P2P service with the external electronic device 102 through the communication module 190 (or the short-range communication module 210 ).
  • FIG. 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
  • the electronic device 101 may identify a service request for the external electronic device 102 .
  • the electronic device 101 establishes a first short-range communication connection (eg, GATT connection or BLE connection) with the external electronic device 102 through the communication module 190 (or short-range communication module 210 ). can do.
  • a first short-range communication connection eg, GATT connection or BLE connection
  • the electronic device 101 may perform authentication on the external electronic device 102 in response to confirming a service request for the external electronic device 102 .
  • the electronic device 101 may transmit a public key to the external electronic device 102 and receive a certificate chain generated based on the transmitted public key from the external electronic device 102 .
  • the electronic device 101 verifies the certificate chain received from the external electronic device 102 using the root certificate stored in the security module 220 , and the verification result of the certificate chain Accordingly, the external electronic device 102 may be authenticated.
  • the electronic device 101 may receive communication information for connection with the external electronic device 102 through the first short-range communication. For example, the electronic device 101 may perform a service handover with the external electronic device 102 based on the communication information.
  • the electronic device 101 checks the second short-range communication (eg, Wi-Fi Direct, Wi-Fi Aware, or Bluetooth) for connection with the external electronic device 102 based on the identified communication information.
  • the electronic device 101 may transmit service handover related information including information related to the second short-range communication to the external electronic device 102 .
  • the electronic device 101 may control to connect with the external electronic device 102 through the second short-range communication.
  • the connection of the second short-range communication may be established after the connection of the first short-range communication is released.
  • the electronic device 101 controls the security module 220 to decrypt the communication information based on the public key, and communicates with the external electronic device based on the decrypted communication information. You can check the information of the previous communication connection.
  • the electronic device 101 checks a randomly generated nonce value and a time stamp for the random number value, encrypts the random number value with the public key, and the checked time Based on the value of the stamp, it may be checked whether the decoded communication information and the checked random number value correspond. When it is determined that the decoded communication information and the checked random number value correspond, the electronic device 101 may determine that short-distance communication has been previously performed with the external electronic device.
  • the electronic device 101 may release the connection of the first short-range communication and establish the connection of the second short-range communication.
  • the electronic device 101 checks service handover information according to confirming the connection of the second short-range communication with the external electronic device 102 , and sends the information to the server or application related to the P2P service.
  • the service handover information may be transmitted.
  • the service handover information may include 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.
  • FIG. 5 is a block diagram illustrating an example of a software configuration according to various embodiments of the present disclosure.
  • the electronic device 101 or the external electronic device 102 performing the P2P service may operate based on the ultra wide-band (UWB) mobile architecture 500 .
  • UWB ultra wide-band
  • the UWB mobile architecture 500 may include an application layer 510 , a framework 520 , a platform 530 , a kernel 540 , and hardware 550 .
  • the application layer 510 may include a UWB payment/billing application, a UWB ranging/localzation application, or a UWB smart key application.
  • the UWB smart key application may transmit and receive authentication information to and from the authentication server 501 .
  • the electronic device 101 discovers the external electronic device 102 and determines whether the external electronic device 102 is located within a communication range.
  • the UWB smart key application may manage a key (eg, a public key or a public key received from the external electronic device 102 ) related to authentication between the electronic device 101 and the external electronic device 102 through UWB communication. have.
  • the application framework 520 includes a Bluetooth framework 521 including a BLE open API (application programming interface), a UWB framework 522 including a UWB open API, and OMAP ( It may include an open multimedia applications platform API 523 , a Bluetooth service 524 including a BLE service, a UWB service 525 , or a security configuration service 526 including a secure element service.
  • a Bluetooth framework 521 including a BLE open API (application programming interface)
  • UWB framework 522 including a UWB open API
  • OMAP It may include an open multimedia applications platform API 523 , a Bluetooth service 524 including a BLE service, a UWB service 525 , or a security configuration service 526 including a secure element service.
  • the UWB service 525 provided by the UWB mobile architecture 500 includes a connection manager 525a, a UWB adapter 525b, and a security 525c.
  • ranging (ranging) (525d), location estimation (localization) (525e) or handover (handover) (eg, BLE) (525f) may include services such as.
  • the electronic device 101 may establish a UWB connection with the external electronic device 102 through the connection manager 525a.
  • the electronic device 101 transmits a ranging packet for discovering the external electronic device 102 through the ranging 525d service of the UWB service 525 . can transmit and receive. For example, the electronic device 101 may determine whether the external electronic device 102 is located within a communication range through a location estimation 525e service.
  • the electronic device 101 may perform a service handover to the external electronic device 102 using a handover 525f service.
  • the service handover may include determining a communication method related to the external electronic device 102 and performing a P2P service with the external electronic device 102 through the determined communication method.
  • the platform 530 may include a Bluetooth hardware abstraction layer (HAL) 531 , a UWB HAL 532 , an NFC HAL 533 , or an ESE SPI HAL 534 .
  • HAL Bluetooth hardware abstraction layer
  • the kernel 540 may include a Bluetooth driver 541 , a UWB driver 542 , an NFC driver 543 , or an ESE SPI driver 544 .
  • the hardware 550 may include a Bluetooth chip 551 , a UWB chip 552 , an NFC chip 553 , or an ESE chip 554 .
  • FIG. 6 is a diagram illustrating an example of a software structure according to various embodiments of the present disclosure.
  • the mobile architecture 600 may include an application layer 510 and a framework 520 .
  • the application layer 510 may include a P2P service application 610 and a P2P service control application 620 .
  • the P2P service application 610 is a gallery application that transmits photos with a tap-to-share function, a music sharing application, a Quick share application for fast file transfer, or a tap tracking-based application for file sharing.
  • the P2P service control server 620 is for performing a device-to-device search and connection or authentication to support a heterogeneous communication method, and controls a subscription device requesting authentication. It may include a subscription control 621 server for this purpose, a caster control 622 server for controlling a caster device to be authenticated, or an electronic device DB 623 .
  • the subscription control 621 server and the caster control 622 server subscribe to P2P devices (eg, the electronic device 101 or the external electronic device 102 ) in the application layer 510 . It can be controlled to play the role of (or a client) or a caster.
  • P2P devices eg, the electronic device 101 or the external electronic device 102
  • the electronic device DB 623 provides information on electronic devices related to the P2P service, such as communication method, service information, or connected peripheral device (or caster device) information of the electronic device performing the P2P service. may include.
  • the electronic device DB 623 may include device information, communication information, or authentication information for the host device and the guest device of the service handover.
  • the information on the host device may include a name of the host device, a Bluetooth address, caster device information, or connection information with the caster device.
  • the information of the guest device may include a name of the guest device or Bluetooth information.
  • the framework 520 may include a P2P adapter 630 .
  • the P2P adapter 630 may be configured by a software development kit (SDK), and the framework 520 communicates P2P device-related information between the P2P service control applications 620 (eg, inter-process (IPC)). communication)) can be done.
  • SDK software development kit
  • IPC inter-process
  • the P2P service request from the electronic device 101 may be transmitted to the P2P service application 610 .
  • the P2P service control server 630 may control the electronic device 101 to operate as a subscription or caster device based on information stored in the electronic device DB 623 .
  • the P2P adapter 630 is separated from the operations of the P2P service application 610 and the P2P service control server 620 at the framework 520 stage, and is a daemon in the electronic device 101 . ) can be operated in the form of a program.
  • the P2P service control server 620 may bind and use the P2P adapter 630 for the P2P service.
  • FIG. 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.
  • the electronic device 101 may check a P2P service trigger according to a P2P service request by a user.
  • the P2P service may include a music sharing service or file transfer between electronic devices through short-range communication.
  • the electronic device 101 may check a trigger of the P2P service according to detecting a specified gesture input (eg, a tap gesture with the external electronic device 102 ) or execution of a specified application.
  • a specified gesture input eg, a tap gesture with the external electronic device 102
  • the electronic device 101 may discover a service target device for the P2P service.
  • the electronic device 101 may generate advertising data including information set in a corresponding P2P service or an application in which the corresponding P2P service is performed and transmit it to the external electronic device 102 .
  • the information set in the application may include information (eg, an application name or application ID) for identifying the executed application and the type of P2P service (eg, file transfer) that can be performed by the application.
  • the electronic device 101 when receiving a response to the advertising data from at least one external electronic device (eg, the external electronic device 102 ), the electronic device 101 serves the external electronic device 102 as a service target. You can check it with the device.
  • the electronic device 101 and the external electronic device 102 may establish a GATT connection.
  • a short-range communication (eg, BLE) connection request is included in the response to the advertising data
  • the electronic device 101 may establish a GATT connection with the external electronic device 102 .
  • the GATT connection may be established and released through BLE communication for BLE service discovery.
  • the electronic device 101 and the external electronic device 102 may perform BLE pairing through a GATT connection. For example, when the electronic device 101 and the external electronic device 102 have authenticated each other by exchanging phone number information in a previous connection, the above-described BLE pairing operation may be omitted.
  • the electronic device 101 and the external electronic device 102 may perform authentication.
  • the electronic device 101 and the external electronic device 102 may encrypt a phone number based on the public key.
  • the electronic device 101 and the external electronic device 102 may exchange the encrypted phone number based on the BLE connection, decrypt the phone number with the public key, and perform authentication on the counterpart device.
  • the phone number may be encrypted based on the public key generated by performing the public key generation operation in the security module 220 of FIG. 2 .
  • the electronic device 101 and the external electronic device 102 may exchange communication information.
  • the information is short-distance communication information available in relation to the P2P service requested by the electronic device 101 or the external electronic device 102, and is a hashed phone number, CRC, user information of the electronic device, Bluetooth address, and communication method. type (eg, Wi-Fi Aware or Wi-Fi Direct), or additional information of an application or P2P service.
  • 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.
  • the electronic device 101 may determine the communication method through which the P2P service can be handed over by checking the communication information.
  • the communication information may include information on a communication method (eg, Wi-Fi Direct or UWB) in which data transmission is possible in the external electronic device 102 .
  • the electronic device 101 and the external electronic device 102 may determine a communication method for performing a P2P service based on the communication information.
  • the electronic device 101 and the external electronic device 102 may measure a communication range (or a distance between the electronic device 101 and the external electronic device 102 ). For example, the electronic device 101 and the external electronic device 102 may determine whether they are located within a communication range with each other based on exchanged information (eg, a received signal strength indicator (RSSI) of a BLE packet). For example, the electronic device 101 averages the RSSI values of the BLE packets, predicts the distance to the external electronic device 102 based on the average value, and sets a range corresponding to the predicted distance as the communication range. can be checked The operation of measuring the communication range may be omitted based on a trigger condition of the communication method.
  • RSSI received signal strength indicator
  • the electronic device 101 checks a communication method (eg, UWB) for measuring a communication range, and based on information exchanged through the checked communication method, the external electronic device 102 ) can measure the communication range. For example, the electronic device 101 may identify a communication method having a communication quality of a specified condition within the measured communication range among communication methods that can be performed with the external electronic device 102 .
  • a communication method eg, UWB
  • the electronic device 101 may measure a distance to at least one external electronic device 102 through UWB communication, and check a communication method or communication sequence based on the measured distance. .
  • the electronic device 101 may determine a priority communication method based on the communication order, and determine the identified communication method as a communication method for a P2P service with the external electronic device 102 .
  • the electronic device 101 may perform service handover to the identified communication method so that the P2P service is performed through the identified communication method.
  • the electronic device 101 and the external electronic device 102 measure the aforementioned communication range in the case of a specific P2P service (eg, tap to share) triggered by a contact between the electronic devices. operation can be omitted.
  • a specific P2P service eg, tap to share
  • the electronic device 101 may notify that the P2P service can be started with the external electronic device 102 within a communication range with a server and an application related to the P2P service. For example, the electronic device 101 may identify a communication method in which a P2P service is performed or a caster device based on the exchanged communication information.
  • the electronic device 101 may notify the server associated with the service that the service handover is performed according to the characteristics of the P2P service.
  • the electronic device 101 and the external electronic device 102 may release the GATT connection. For example, when the BLE pairing operation is performed thereafter, the electronic device 101 and the external electronic device 102 may re-establish the GATT connection.
  • the electronic device 101 may release the GATT connection in order to reduce power consumption due to maintaining the GATT connection.
  • the electronic device 101 and the external electronic device 102 may perform a P2P service.
  • the P2P service is a music sharing service
  • the electronic device 101 P2P with the external electronic device 102 (or caster device) using a communication method determined based on communication information through the music sharing service or a related application. service can be performed.
  • a P2P service is performed using a preset basic communication method (eg, Bluetooth or BLE).
  • a preset basic communication method eg, Bluetooth or BLE
  • FIG. 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.
  • the electronic device 101 may confirm that the user executes a music sharing application or requests a music sharing service through P2P. For example, as the user selects the designated button 701 on the screen 700a of the music playback application, the electronic device 101 may confirm the request for the music sharing service.
  • the electronic device 101 may identify the external electronic device 102 as a service target device according to the service request. For example, the electronic device 101 may establish a short-range communication connection (eg, GATT connection) with the external electronic device 102 through the communication module 190 .
  • a short-range communication connection eg, GATT connection
  • the electronic device 101 may perform authentication on the external electronic device 102 .
  • the electronic device 101 and the external electronic device 102 may generate and exchange a public key, and transmit the issued certificate chain using the public key received to the counterpart device.
  • the electronic device 101 and the external electronic device 102 may verify the received certificate chain using the stored root certificate. For example, mutual authentication may be completed according to the verification result of the certificate chain.
  • the electronic device 101 may receive communication information from the external electronic device 102 .
  • the communication information may include communication method information connectable by the external electronic device 102 , a peripheral device of the external electronic device 102 (eg, the automobile device 702 ) or Bluetooth communication connected to the external electronic device 102 . speaker 703), or information on a communication method connectable to the peripheral device.
  • the external electronic device 102 may display a screen 700b asking the user whether to execute the music sharing service.
  • the screen 700b may include service information (eg, control of the automatic device 702) or an item for selecting whether to activate a service (eg, deny or allow).
  • service information eg, control of the automatic device 702
  • an item for selecting whether to activate a service eg, deny or allow.
  • the external electronic device 102 may activate the music sharing service and transmit information on whether to activate the music sharing service to the electronic device 101 .
  • the electronic device 101 checks whether a service is activated in the external electronic device 102
  • communication with the external electronic device 102 for a music sharing service based on the communication information A method (eg, BLE or Wi-Fi aware) may be determined.
  • a peripheral device of the external electronic device 102 is identified as a caster device for service handover in the electronic device 101
  • communication with the peripheral device for the music sharing service is performed based on the communication information
  • the electronic device 101 may transmit service handover information including information on the determined communication method to the external electronic device 102 .
  • the external electronic device 102 may identify a communication method based on the service handover information, and may activate a music sharing service through the confirmed communication method with the electronic device 101 .
  • the external electronic device 102 may cause a music sharing service to be performed by a peripheral device (eg, 702 or 703) based on the service handover information.
  • a peripheral device eg, 702 or 703
  • the external electronic device 102 checks a communication method for each peripheral device based on the service handover information, and receives a music sharing service from a specific peripheral device (eg, the car device 702 ) through the communication method. It can be controlled to output music according to the
  • FIG. 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.
  • the electronic device 101 may identify a P2P service trigger.
  • the electronic device 101 may discover a service target device to perform the triggered P2P service.
  • the electronic device 101 may establish a GATT connection with the external electronic device 102 .
  • the electronic device 101 may authenticate the external electronic device 102 .
  • the electronic device 101 may exchange communication information with the external electronic device 102 .
  • the electronic device 101 may measure a communication range with the external electronic device 102 . For example, the electronic device 101 may determine whether the external electronic device 102 is located within a communicable range based on the exchanged communication information.
  • the above-described operation of measuring the communication range may be omitted.
  • the electronic device 101 may determine a service handover. For example, the electronic device 101 determines a specific communication method among communication methods capable of providing a P2P service with the external electronic device 102 based on the exchanged communication information, and determines to perform the P2P service through the communication method. can
  • the electronic device 101 may check a communication method communicated with a specified communication quality (eg, a communication speed) among communication methods, and may determine a service handover to the checked communication method. have. For example, when the communication method of the specified communication quality cannot be confirmed, the electronic device 101 may control the P2P service to be performed using the specified communication method (eg, Bluetooth or BLE).
  • a specified communication quality eg, a communication speed
  • the electronic device 101 may control the P2P service to be performed using the specified communication method (eg, Bluetooth or BLE).
  • the electronic device 101 may transmit service handover related information to the external electronic device 102 .
  • the service handover related information may include a communication method or configuration information related to the corresponding communication method.
  • the electronic device 101 transmits the checked service handover related information to a server or an application related to the P2P service to notify the service handover.
  • the external electronic device 102 transmits the service handover related information received from the electronic device 101 to a server related to the P2P service or an application of the external electronic device 102 related to the P2P service to notify the service handover.
  • the electronic device 101 and the external electronic device 102 may release the GATT connection. For example, when the BLE pairing operation is performed thereafter, the electronic device 101 and the external electronic device 102 may re-establish the GATT connection.
  • the electronic device 101 and the external electronic device 102 may perform a P2P service.
  • the electronic device 101 and the external electronic device 102 may perform a P2P service through a server and an application related to the P2P service.
  • FIG. 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
  • the electronic device 101 may establish a GATT connection with the external electronic device 102 that is a service target device of the P2P service.
  • the electronic device 101 and the external electronic device 102 may perform mutual authentication.
  • the electronic device 101 and the external electronic device 102 may exchange communication information as authentication is completed.
  • the electronic device 101 may request a ranging packet from the external electronic device 102 .
  • the electronic device 101 may start scanning a ranging packet transmitted from the external electronic device 102 .
  • the electronic device 101 may set the scan cycle to 100% duty.
  • the external electronic device 102 may start the ranging packet advertisement according to the ranging packet request of the electronic device 101 .
  • the external electronic device 102 may be set to advertise with a power of -45 dBm every 20 ms.
  • the external electronic device 102 may transmit a ranging packet. For example, 50 packets may be advertised.
  • the electronic device 101 may measure a communication range with the external electronic device 102 . For example, the electronic device 101 scans the advertised packet, predicts the distance of the external electronic device 102 based on the size or communication speed of the scanned packet, and according to the predicted distance, the external electronic device 101 It can be determined whether the device 102 is located within communication range.
  • the electronic device 101 may receive a Bluetooth packet through a Bluetooth connection with the external electronic device 102 , measure a received value of the packet, and check the communication range.
  • the electronic device 101 receives data through Wi-Fi Aware or UWB connection with the external electronic device 102 , and measures a communication range with the external electronic device 102 based on the received data. can do.
  • the electronic device 101 may determine a service handover and transmit service handover related information to the external electronic device 102 .
  • the electronic device 101 may notify the service handover by transmitting service handover related information to a server or application related to the P2P service.
  • the external electronic device 102 may notify the service handover by transmitting service handover related information to a server or application related to the P2P service.
  • the electronic device 101 and the external electronic device 102 may release the GATT connection. For example, when the BLE pairing operation is performed thereafter, the electronic device 101 and the external electronic device 102 may re-establish the GATT connection.
  • FIG. 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
  • the electronic device 101 may identify a P2P service request with the external electronic device 102 from a user (eg, Tom).
  • the P2P service may control the external electronic device 102 or a peripheral device (eg, a car) of the external electronic device 102 through the electronic device 101 .
  • the electronic device 101 may establish a GATT connection with the external electronic device 102 as the P2P service request is confirmed.
  • the electronic device 101 may measure a communication range with the external electronic device 102 . For example, when it is possible to determine whether the P2P service is for controlling a vehicle device or whether the external electronic device 102 or the electronic device 101 is located inside a peripheral device (eg, a car) of the external electronic device 102, the above The operation of measuring the established communication range may be omitted.
  • the electronic device 101 may request activation of the P2P service from the external electronic device 102 .
  • the P2P service activation request may be included in a TDS packet based on the TDS protocol and transmitted to the external electronic device 102 .
  • the external electronic device 102 may check whether the user is permitted to use the P2P service as the P2P service activation request is confirmed. For example, the external electronic device 102 may display a screen for responding to permission or rejection for the P2P service on a display (eg, the display device 160 of FIG. 1 ).
  • the external electronic device 102 displays information on the P2P service requested from the electronic device 101 (eg, AAA vehicle control by the user of the electronic device 101) on the screen.
  • the P2P service eg, AAA vehicle control by the user of the electronic device 101
  • the user of the external electronic device 102 may select a button for responding to the permission or rejection to activate the P2P service.
  • the external electronic device 102 may activate the P2P service as a permission response is input through the screen.
  • the external electronic device 102 may transmit information on whether the P2P service is activated to the electronic device 101 in the TDS packet.
  • the electronic device 101 may activate the P2P service.
  • the electronic device 101 may transmit service handover related information to the external electronic device 102 .
  • the information related to the service handover may include account information of a communication method in which a P2P service is performed or an application.
  • the electronic device 101 transmits the checked service handover related information to a server or application related to the P2P service to notify the service handover.
  • the external electronic device 102 transmits service handover related information received from the electronic device 101 to a server or application related to the activated P2P service to notify the service handover.
  • the P2P service when the P2P service is for performing a music streaming service in the electronic device 101 in the external electronic device 102 (or a peripheral device of the external electronic device 102), the Through the account information of the service, the external electronic device 102 may access the server or application of the corresponding service to perform the service of the electronic device 101 through the external electronic device 102 .
  • the electronic device 101 and the external electronic device 102 may release the GATT connection. For example, when the BLE pairing operation is performed thereafter, the electronic device 101 and the external electronic device 102 may re-establish the GATT connection.
  • the electronic device 101 and the external electronic device 102 may perform a P2P service through a server or an application of the activated P2P service.
  • a music streaming service in the electronic device 101 is handed over, and the external electronic device 102 is connected to the external electronic device 102 or the vicinity of the external electronic device 102 .
  • a music streaming service can be controlled to be performed through a device (eg, AAA car).
  • FIG. 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.
  • the external electronic device 102 displays a screen 1200 for asking the user for permission to activate the P2P service (eg, the display of FIG. 1 ). device 160).
  • the screen 1200 is displayed by a user (eg, 'Tom') of the electronic device 101 as a peripheral device (eg, 'AAA car') of the external electronic device 102 .
  • a P2P service eg, AAA vehicle control through Bluetooth communication
  • a reject button (deny) 1201 for inputting a rejection response to the P2P service or an authorization button ( allow) 1202 .
  • the external electronic device 102 when the user of the external electronic device 102 inputs the permission button 1202 , the external electronic device 102 activates the P2P service and activates the P2P service with the electronic device 101 .
  • FIG. 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
  • the electronic device 101 and the external electronic device 102 may include a short-range communication module (eg, 210 or 210a).
  • the short-range communication module eg, 210 or 210a
  • the short-range communication module may include a Wi-Fi aware module (eg, 211 or 211a) or a Wi-Fi Direct module (eg, 212 or 212a).
  • the electronic device 101 may establish a GATT connection with the external electronic device 102 .
  • the electronic device 101 may measure a communication range with the external electronic device 102 . For example, it is possible to determine whether the external electronic device 102 is connected to the vehicle device and the electronic device 101 is located inside the vehicle device connected to the external electronic device 102 or P2P upon contact with the external electronic device 102 . When the service is triggered, the above-described operation of measuring the communication range may be omitted.
  • the electronic device 101 may request activation of the P2P service from the external electronic device 102 .
  • the P2P service activation request may be included in a TDS packet and transmitted to the external electronic device 102 .
  • the external electronic device 102 may check whether the user is permitted to use the P2P service according to the P2P service activation request. For example, the external electronic device 102 may display a screen capable of responding to permission or rejection for the P2P service, and may activate the P2P service as a permission response is input through the screen.
  • the external electronic device 102 opens a communication session to activate the P2P service by the Wi-Fi aware module 211a (or Wi-Fi Direct). module 212a).
  • the short-range communication module 210a may request the Wi-Fi aware module 211a to open a communication session or control the Wi-Fi Direct module 212a to initiate Wi-Fi Direct communication.
  • the Wi-Fi aware module 211a of the external electronic device 102 may perform a control for subscribing to a corresponding service according to a communication session open request.
  • the short-range communication module 210a may transmit the communication session open request to the Wi-Fi Direct module 212a, and the Wi-Fi Direct module 212a performs peer discovery and connection. You can search for a device that can be connected through Wi-Fi Direct and set it to connect to the discovered device.
  • the Wi-Fi aware module 211a (or the Wi-Fi Direct module 212a) of the external electronic device 102 may transmit connection information including information related to service subscription to the short-range communication module 210a. have. For example, a connection success notification may be transmitted.
  • the external electronic device 102 may transmit, to the electronic device 101 , information on whether the P2P service is activated in the TDS packet.
  • the electronic device 101 opens a communication session to activate the P2P service to the Wi-Fi aware module 211 (or the Wi-Fi Direct module). (212)) can be controlled.
  • the short-range communication module 210 may control the Wi-Fi Direct module 212 to request to open a communication session to the Wi-Fi aware module 211 or to initiate Wi-Fi Direct communication.
  • the Wi-Fi aware module 211 of the electronic device 101 may control to publish a corresponding service according to a communication session open request.
  • the short-range communication module 210 may transmit the communication session open request to the Wi-Fi Direct module 212, and the Wi-Fi Direct module 212 performs peer discovery and connection. You can search for a device that can be connected through Wi-Fi Direct and set it to connect to the discovered device.
  • the Wi-Fi aware module 211 (or the Wi-Fi Direct module 212 ) of the electronic device 101 may transmit connection information including information related to service issuance to the short-range communication module 210 . .
  • connection success notification may be transmitted.
  • the electronic device 101 may transmit service handover related information to the external electronic device 102 .
  • the electronic device 101 transmits the checked service handover related information to the Wi-Fi aware module 211 to request service handover.
  • the Wi-Fi aware module 211 may transmit the service handover related information to a server or application related to a P2P service.
  • the external electronic device 102 may transmit the checked service handover related information to the Wi-Fi aware module 211a to request service handover.
  • the Wi-Fi aware module 211a may transmit the service handover related information to a server or application related to a P2P service.
  • the electronic device 101 and the external electronic device 102 may release the GATT connection. For example, when the BLE pairing operation is performed thereafter, the electronic device 101 and the external electronic device 102 may re-establish the GATT connection.
  • the Wi-Fi aware module 211 of the electronic device 101 and the Wi-Fi aware module 211a of the external electronic device 102 may perform a P2P service through a server or application of the activated P2P service. have.
  • FIG. 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
  • the electronic device 101 and the external electronic device 102 perform file transfer using a short-range communication module (eg, 210 or 210a) or a tap-to-share function (eg, Insync function). It may include a transmission application 1401 or 1401a.
  • the file transfer application 1401 or 1401a may be a gallery application for sharing a file stored in a server or cloud with the electronic device 101 or the external electronic device 102 .
  • the P2P service when the user of the electronic device 101 executes the file transfer application 1401 and selects at least one image to be transmitted to at least one external electronic device (eg, 102 ), the P2P service ( Yes, it can be confirmed that at least one image transmission) is requested.
  • the electronic device 101 may confirm that the user selects at least one external electronic device to which the at least one image is to be transmitted together with the selection of the at least one image.
  • subsequent operations 1410 to 1490 are described as operations of the electronic device 101 and the external electronic device 102 , but operations 1410 to 1490 are the operations of the electronic device 101 . ) may be performed with a plurality of external electronic devices (eg, the external electronic device 102 ) to which the P2P service is to be performed.
  • a plurality of external electronic devices eg, the external electronic device 102
  • the electronic device 101 may establish a GATT connection with the external electronic device 102 through the short-range communication module 210 .
  • the electronic device 101 may measure a communication range with the external electronic device 102 through the short-range communication module 210 .
  • the external electronic device 102 as a vehicle device can determine whether the electronic device 101 is located inside the external electronic device 102 or when the P2P service is triggered as it comes into contact with the external electronic device 102 .
  • the operation of measuring the above-described communication range may be omitted.
  • P2P to the external electronic device 102 through the short-range communication module 210 .
  • the P2P service activation request may be included in a TDS packet and transmitted to the external electronic device 102 .
  • the short-range communication module 210a of the external electronic device 102 may check whether the user is permitted to use the P2P service according to the P2P service activation request. For example, each of the plurality of external electronic devices (eg, 102 ) displays a screen for responding to permission or rejection for the P2P service, and when a permission response is input through the screen, the P2P service is activated.
  • the external electronic device 102 performs a tap tracking command to check a file to be transmitted to the electronic device 101 in contact with the external electronic device 102 .
  • the short-range communication module 210a may transmit a tap tracking command to the file transfer application 1401a.
  • the file transfer application 1401a of the external electronic device 102 may identify at least one image to be transmitted to the electronic device 101 according to a tap tracking command.
  • the file transfer application 1401a of the external electronic device 102 may notify the short-range communication module 210a that tap tracking has started.
  • the electronic device 101 transmits a tap tracking command to perform a tap tracking function of checking a file to be transmitted to the external electronic device 102 in contact with the electronic device 101 according to a request for activation of the P2P service. It can be transmitted to the application 1401 .
  • the short-range communication module 210 may transmit a tap tracking command to the file transfer application 1401 .
  • the file transfer application 1401 of the electronic device 101 may perform tap tracking for checking a file to be transmitted through the corresponding application according to the tap tracking command.
  • the file transfer application 1401 of the electronic device 101 may notify the short-range communication module 210 that tap tracking has started.
  • the external electronic device 102 may transmit, to the electronic device 101, information on whether the P2P service is activated (eg, a notification of success of service activation) in the TDS packet.
  • the electronic device 101 may transmit a confirmation message indicating that the P2P service activation result (eg, service activation success) received from the external electronic device 102 has been confirmed to the external electronic device 102 .
  • the P2P service activation result eg, service activation success
  • the electronic device 101 may check service handover information for handover of a P2P service with at least one external electronic device (eg, 102 ).
  • the service handover information may include, for each of the at least one external electronic device (eg, 102 ), a communication method in which a P2P service is performed and information related to a communication setting related to the communication method.
  • the P2P service is performed through Wi-Fi Aware in the external electronic device 102, and the P2P service is performed through Wi-Fi Direct in the other external electronic device.
  • the electronic device 101 may transmit the identified service handover related information to the external electronic device 102 .
  • the electronic device 101 may transmit corresponding service handover related information to at least one external electronic device.
  • the short-range communication module 210 of the electronic device 101 may notify the checked service handover related information to the file transfer application 1401 .
  • the short-range communication module 210a of the external electronic device 102 may notify the checked service handover related information to the file transfer application 1401a.
  • the file transfer application 1401 or 1401a may perform a P2P service using a communication method included in service handover related information.
  • the short-range communication module 210 of the electronic device 101 and the short-range communication module 210a of the external electronic device 102 may release the GATT connection.
  • the electronic device 101 and the external electronic device 102 may re-establish the GATT connection.
  • the electronic device 101 may perform a service handover based on a communication method supported by at least one external electronic device (eg, 102 ).
  • the electronic device 101 may perform a P2P service with the external electronic device 102 through Wi-Fi Aware, and may perform a P2P service with another external electronic device through Wi-Fi Direct.
  • 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
  • the electronic device 101 and the external electronic device 102 may include a short-range communication module (eg, 210 or 210a) and a file transfer application 1401 or 1401a.
  • a short-range communication module eg, 210 or 210a
  • a file transfer application 1401 or 1401a e.g., 210 or 210a
  • the file transfer application 1401 of the electronic device 101 may identify a tap tracking command. For example, the file transfer application 1401 may determine that the tap tracking operation is triggered through the sensor of the electronic device 101 as the electronic device 101 and the external electronic device 102 come into contact.
  • the file transfer application 1401a of the external electronic device 102 may identify a tap tracking command. For example, the file transfer application 1401a may determine that the tap tracking operation is triggered as the external electronic device 102 and the external electronic device (eg, the electronic device 101) come into contact.
  • the file transfer application 1401a of the external electronic device 102 may notify the occurrence of a tap tracking event to the short-range communication module 210a of the external electronic device 102 .
  • the short-range communication module 210a of the external electronic device 102 may advertise a notification for notifying the occurrence of the tap tracking event to the electronic device 101 .
  • the notification may be included in a TDS packet and may include UUID or hash data.
  • the short-distance communication module 210 of the electronic device 101 checks the advertised notification from the external electronic device 102 , and sends a tap tracking event to the file transfer application 1401 of the electronic device 101 .
  • the tap tracking event may be a notification of a tap tracking event detected by the external electronic device 102 through a sensor of the external electronic device 102 .
  • the file transfer application 1401 of the electronic device 101 checks a valid tap and checks a file to be transmitted to the external electronic device 102 to stop tap tracking.
  • the file transfer application 1401 of the electronic device 101 may transmit a result including information of a valid tap identified to the short-range communication module 210 .
  • the electronic device 101 may request a communication connection for service handover from the external electronic device 102 through the short-range communication module 210 .
  • the electronic device 101 may establish a GATT connection with the external electronic device 102 for service handover through the short-range communication module 210 .
  • the electronic device 101 may notify the checked service handover related information to the file transfer application 1401 .
  • the external electronic device 102 may notify the checked service handover related information to the file transfer application 1401a.
  • the electronic device 101 and the external electronic device 102 may release the GATT connection through the short-range communication module 210 or 210a. For example, when the BLE pairing operation is performed thereafter, the electronic device 101 and the external electronic device 102 may re-establish the GATT connection.
  • 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.
  • the manufacturer of the electronic device 101 or the external electronic device 102 may provide the electronic device 101 or the external electronic device 102 including the key storage unit 221 or 221a to the market.
  • the key storage unit 221 or 221a checks a certificate signing request (CSR) for a root certificate, and as the certificate signature is verified, a received key or certificate chain is transmitted through the root certificate. It can be set to authenticate.
  • CSR certificate signing request
  • electronic devices performing a P2P service eg, the electronic device 101 or the external electronic device 102 have a key pair composed of a pair of a private key and a public key. (pair) can be created.
  • the security module 220 of the electronic device 101 may generate a key pair A including a pair of a private key A and a public key A.
  • the security module 220a of the external electronic device 102 may generate a key pair B including a pair of a private key B and a public key B.
  • the electronic device 101 or the external electronic device 102 may request authentication from the counterpart device.
  • an electronic device issuing a P2P service may transmit an authentication request including a public key (eg, public key A or public key B) to an electronic device subscribing to the P2P service.
  • a public key eg, public key A or public key B
  • the electronic device 101 may generate a certification chain using the received public key B of the external electronic device 102 .
  • the external electronic device 102 may generate a certificate chain using the received public key A of the electronic device 101 .
  • the electronic device 101 and the external electronic device 102 may exchange the generated certificate chain with the counterpart device.
  • the electronic device 101 may verify the received certificate chain through the root certificate stored in the key storage unit 221 .
  • the external electronic device 102 may verify the certificate chain through the root certificate stored in the key storage unit 221a.
  • the electronic device 101 and the external electronic device 102 may complete authentication of the counterpart device based on a result of verifying the certificate chain through the root certificate of each device.
  • the security module 220 of the electronic device 101 may generate a public key according to the verification result of the certificate chain.
  • the security module 220a of the external electronic device 102 may generate a public key according to the verification result of the certificate chain.
  • the electronic device 101 or the external electronic device 102 completes authentication of the counterpart device according to the verification of the certificate chain, and generates a key generation rule of an Elliptic-Curve Diffie-Hellman (ECDH). Based on the , a shared key using a private key (eg, private key A or private key B) can be generated.
  • a private key eg, private key A or private key B
  • the public key may be used to decrypt data of the external electronic device 102 by hashing it using an SHA-256 algorithm.
  • 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 electronic device 101 or the external electronic device 102 ).
  • the MITM attacker steals the public key or certificate, it is impossible to decrypt it, so it is possible to effectively prevent a man-in-the-middle attack.
  • 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.
  • the electronic device 101 or the external electronic device 102 may include a communication module 190 or 190a or a security module 220 or 220a.
  • the security module 220 or 220a includes or is functionally connected to the key storage unit 221 or 221a and verifies the key or certificate chain received from the counterpart device using the certificate stored in the key storage unit 221 or 221a. can do.
  • electronic devices performing a P2P service may establish a GATT connection with each other.
  • the electronic device 101 may generate a key pair A including a pair of a private key A and a public key A.
  • the external electronic device 102 may generate a key pair B including a pair of a private key B and a public key B.
  • the electronic device 101 may transmit the public key A to the external electronic device 102 through a GATT connection for authentication of the public key A.
  • the external electronic device 102 may request the security module 220a of the external electronic device 102 to prove the public key A.
  • the security module 220a of the external electronic device 102 may issue a certificate chain for the public key A and transmit it to the communication module 190a.
  • the external electronic device 102 may transmit a certificate chain for the public key A to the electronic device 101 .
  • the external electronic device 102 may transmit the public key B to the electronic device 101 through a GATT connection for authentication of the public key B.
  • the electronic device 101 may request proof of the public key B from the security module 220 of the electronic device 102 .
  • the security module 220 of the electronic device 101 may issue a certificate chain for the public key B and transmit it to the communication module 190 .
  • the electronic device 101 may transmit a certificate chain for the public key B to the external electronic device 102 .
  • the external electronic device 102 may transmit a validation request for a certificate chain for the public key B received from the electronic device 101 to the security module 220a.
  • the security module 220a may transmit a certificate chain validation request for the public key B using the root certificate stored in the key storage unit 221 .
  • the security module 220a of the external electronic device 102 may generate a shared key that can be used in common with the electronic device 101. have.
  • the electronic device 101 may request the security module 220 to verify the validity of the certificate chain for the public key A received from the external electronic device 102 .
  • the security module 220 may verify the validity of the certificate chain for the public key A using the root certificate stored in the key storage unit 221 .
  • the security module 220 of the electronic device 101 may generate a public key that can be commonly used with the external electronic device 102 .
  • the order of operations 1731 to 1772 may be changed. For example, after the electronic device 101 transmits the public key A to the external electronic device 102 in operation 1731 , the external electronic device 102 transmits the public key B to the electronic device 101 in operation 1741 . can be transmitted
  • FIG. 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.
  • the electronic device 101 and the external electronic device 102 may establish a GATT connection, exchange authentication information through the GATT connection, and perform authentication on the counterpart device.
  • the electronic device 101 and the external electronic device 102 may exchange additional information.
  • the additional information may include communication method information that the corresponding electronic device desires to connect with the counterpart device or setting information related to a specific communication method.
  • the electronic device 101 may transmit the random number A encrypted with the public key to the external electronic device 102 .
  • the external electronic device 102 may transmit the random number B encrypted with the public key to the electronic device 101 .
  • 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.
  • the electronic device 101 may store the received encrypted random number B by decrypting it with the public key.
  • the external electronic device 102 may store the received encrypted random number A by decrypting it with a public key.
  • the electronic device 101 and the second electronic device 102 may release the GATT connection.
  • 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.
  • the external electronic device 102 may set a scan filter.
  • the external electronic device 102 may perform a scan based on a set scan filter.
  • the electronic device 101 may confirm that the P2P service is requested.
  • the electronic device 101 may check the stored random number B.
  • the random number B is encrypted and received from the external electronic device 102 , and may be decrypted and stored using a public key commonly generated with the external electronic device 102 .
  • the electronic device 101 may set advertising data.
  • the electronic device 101 may set the advertising data to include the TDS UUID and the hashed random number B.
  • the electronic device 101 may determine to start the advertisement according to determining the service handover for the P2P service.
  • the electronic device 101 may advertise advertising data including the TDS UUID and the hashed random number B.
  • the external electronic device 102 may identify the random number A. For example, the external electronic device 102 may check a time stamp for the random number B stored in the external electronic device 102 and check the random number A including a time stamp corresponding to the time stamp of the random number B. .
  • the external electronic device 102 may request a communication connection to the electronic device 101 as the random number A is identified.
  • the electronic device 101 and the external electronic device 102 may establish a GATT connection.
  • the GATT connection may be released.
  • the electronic device 101 and the external electronic device 102 may re-establish the GATT connection.
  • FIG. 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.
  • the electronic device 101 may notify a user of a service handover through a Bluetooth application related to a P2P service.
  • the service handover notification screen 2000 may be displayed according to the execution of the Bluetooth application.
  • the service handover notification screen 2000 may display communication method information (eg, 'Bluetooth') according to service handover or a list 2010 of electronic devices on which service handover is performed.
  • the electronic device list 2010 may include devices connectable to the external electronic device 102 through a corresponding communication method (a vehicle device (AAA car) 2001 of the external electronic device 102 ).
  • the A service handover may be performed to the vehicle device 2001 to perform P2P communication between the electronic device 101 and the vehicle device 2001 of the external electronic device 102 .
  • 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.
  • the electronic device 101 may confirm that a music sharing service for outputting the sound source of the electronic device 101 through at least one external electronic device (eg, 102 ) is requested.
  • a music sharing service for outputting the sound source of the electronic device 101 through at least one external electronic device (eg, 102 ) is requested.
  • the electronic device 101 may discover the external electronic device 102 .
  • the electronic device 102 may determine the external electronic device 102 as a discovered device.
  • the electronic device 101 may request a connection for a P2P service to the external electronic device 102 .
  • the electronic device 101 may establish a GATT connection with the external electronic device 102 in response to the connection request.
  • the electronic device 101 may perform BLE pairing with the external electronic device 102 through a GATT connection, but the corresponding P2P service transmits the sound source of the electronic device 101 to that of the external electronic device.
  • the pairing operation with the external electronic device 102 may be omitted.
  • the electronic device 101 may authenticate the external electronic device 102 .
  • the external electronic device 102 may transmit information related to communication with the external electronic device 102 to the electronic device 101 .
  • the information may include information related to a communication method connectable with the external electronic device 102 or communication properties.
  • the electronic device 101 may check whether the external electronic device 102 is located within a communication range based on the exchanged information, but the corresponding P2P service is connected to the external electronic device 102 . This is for outputting the sound source of the electronic device 101 from the device connected to the external electronic device 102 by performing a service handover to the device, and the above-described operation of checking the communication range may be omitted.
  • the electronic device 101 may discover an electronic device for service handover.
  • the electronic device 101 may include a device to perform a P2P service (eg, a peripheral device 2101 ) and a device to perform the P2P2 service based on communication-related information received from the external electronic device 102 . You can decide how to establish a communication connection with the .
  • a P2P service eg, a peripheral device 2101
  • a device to perform the P2P2 service eg, a peripheral device 2101
  • You can decide how to establish a communication connection with the .
  • the electronic device 101 may transmit service handover related information to the external electronic device 102 .
  • the service handover-related information includes electronic device information (eg, the external electronic device 102 or the peripheral device 2101) to perform a music sharing service, communication information, based on the communication information exchanged with the external electronic device 102 . It may include information related to a method or a communication property.
  • the external electronic device 102 may check service handover related information transmitted by the electronic device 101 .
  • the external electronic device 102 may notify the application of the music sharing service or the service handover to the peripheral device 2101 included in the service handover related information.
  • the electronic device 101 provides a peripheral device 2101 (eg, A2DP device) of the external electronic device 102 to which the music sharing service is to be performed, based on the exchanged peripheral device information. and a communication method (eg, Bluetooth) for performing a music sharing service with the peripheral device 2101 .
  • a peripheral device 2101 eg, A2DP device
  • a communication method eg, Bluetooth
  • the electronic device 101 and the external electronic device 102 may perform a P2P service.
  • the external electronic device 102 may perform a P2P service with the peripheral device 2101 .
  • the electronic device 101 may transmit a sound source of the electronic device 101 to the peripheral device 2101 through a Bluetooth connection, and may control the sound source to be output from the peripheral device 2101 .
  • Electronic devices 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.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a camera
  • a wearable device e.g., a smart bracelet
  • 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.
  • 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.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • one or more instructions stored in a storage medium may be implemented as software (eg, the program 140) including
  • the processor eg, the processor 120
  • the device may call at least one of one or more instructions stored from a storage medium and execute it. This makes it possible for the device to be operated to perform at least one function according to the at least one command called.
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • 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).
  • 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.
  • each component eg, a module or a program of the above-described components may include a singular or a plurality of entities.
  • 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.
  • a plurality of components eg, a module or a program
  • 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. .
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 문서의 다양한 실시 예에 따른, 전자 장치 및 전자 장치에서의 P2P 서비스 수행 방법은, 통신 모듈, 프로세서, 메모리 및 보안 모듈을 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, P2P(peer to pear) 서비스가 요청됨에 따라, 외부 전자 장치로부터 공개 키를 수신하고, 상기 보안 모듈을 통해 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하고, 상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고, 상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하고, 상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하고, 상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 통신 모듈을 통해 상기 외부 전자 장치와 상기 P2P 서비스를 수행하도록 하는 인스트럭션들을 저장하도록 설정될 수 있다. 그 외 다양한 실시 예가 가능할 수 있다.

Description

전자 장치 및 전자 장치에서의 피어 투 피어 서비스 수행 방법
본 문서의 다양한 실시 예는, 이종 통신 방식(scheme)이 혼합된 전자 장치들 간의 장치 검색과 연결을 쉽게 하고 적합한 통신 방식으로 안전하게 P2P(peer to peer) 서비스를 수행하기 위한 것이다.
일반적으로 전자 장치에는 블루투스(Bluetooth), NFC, 또는 Wi-Fi 와 같은 근거리 통신 기술이 탑재되어 있고, 전자 장치들 간의 P2P 서비스로는 대표적으로 파일 전송, 모바일 핫스팟 연결, 또는 음악 공유(music share)가 있다. P2P 서비스를 이용하기 위해서는 사용자는 해당 서비스에서 이용하는 통신 방식이 무엇인지 사전에 파악할 수 있다. 예컨대, 파일 전송의 경우, 블루투스 파일 전송, NFC 를 사용하는 Android BeamTM, BLE(Bluetooth low energy)와 Wi-Fi 를 사용하는 장치로 보내기(send to device), 또는 Wi-Fi 다이렉트(direct)와 같이 세분화 되어있다.
근거리 통신을 통한 P2P 서비스에서는 사용자를 인증하기 위해, 전화번호를 비교하는 방식이 사용되고 있다. 예를 들어, 해시(hash)된 전화번호의 일부 데이터를 CRC(cyclical redundancy check)와 함께 전송하고, 상대방 장치에 저장된 해시 정보와 비교하여, 일치 여부에 따라 사용자를 인증할 수 있다.
다양한 P2P 서비스는 근거리 통신 방식에 기반한 서비스를 제공하도록 고안되어 통신 방식에 종속된 서비스 또는 통신 특성을 포함할 수 있다. 이로 인해, 동일한 성격의 서비스들에 대해 통신 방식 별로 중복된 서비스 또는 통신 특성이 존재할 수 있다. 이에 따라, 사용자는 특정 P2P 서비스를 이용하기 위해, 해당 서비스에서 이용하는 통신 방식이 무엇인지 사전에 파악해야 한다.
또한, 근거리 통신 방식을 이용한 P2P 서비스는 사용자간 인증 시 중간자 공격 (MITM, man-in-the-middle attack) 장치에 의한 개인 정보 노출이 발생될 수 있다. 중간자 공격 장치는 인증을 수행하는 전자 장치들 간의 데이터를 탈취함에 따라, 전자 장치가 중간자 공격 장치를 인증된 외부 전자 장치로 인식하여 통신 연결을 진행하도록 할 수 있다.
본 문서의 다양한 실시 예들은, 외부 전자 장치와의 P2P 서비스가 복수의 통신 방식을 통해 수행될 수 있을 때, 외부 전자 장치의 속성 정보 및 서비스의 특성을 고려하여 서비스 핸드오버를 수행할 수 있다.
본 문서의 다양한 실시 예들은, 전자 장치들 간의 P2P 통신에 있어서 통신 도중 정보 탈취와 같은 제3자의 개입을 막기 위해, 외부 전자 장치와 공개 키를 교환하여 인증서를 검증하고, 공용 키를 생성하여 상기 외부 전자 장치에 대한 인증을 수행할 수 있다.
다양한 실시예에 따르면 전자 장치에서 사용자에 최적화된 발열 제어가 가능한 전자 장치 및 전자 장치에서 사용자 피드백 기반의 발열 제어 방법을 제공할 수 있다. 본 문서의 다양한 실시 예에 따른 전자 장치는, 통신 모듈, 보안 모듈, 상기 통신 모듈 및 상기 보안 모듈과 작동적으로 연결된 프로세서 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, P2P(peer to pear) 서비스가 요청됨에 따라, 외부 전자 장치로부터 공개 키를 수신하고, 상기 보안 모듈을 통해 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하고, 상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고, 상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하고, 상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하고, 상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 통신 모듈을 통해 상기 외부 전자 장치와 상기 P2P 서비스를 수행하도록 하는 인스트럭션들을 저장할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치는, 적어도 하나의 통신 모듈, 상기 통신 모듈과 작동적으로 연결된 프로세서 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 통신 모듈을 통하여, 외부 전자 장치와의 서비스 요청을 확인하고, 상기 외부 전자 장치에 대한 인증을 수행하고, 상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하도록 상기 통신 모듈을 제어하고, 상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하고, 상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 상기 서비스를 연결하기 위한 제2 근거리 통신을 확인하고, 상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 연결하도록 상기 통신 모듈을 제어하는 인스트럭션들을 저장할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 P2P(peer to pear) 서비스 수행 방법은, P2P 서비스가 요청됨에 따라, 외부 전자 장치로부터 공개 키를 수신하는 동작, 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하는 동작, 상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하는 동작, 상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하는 동작, 상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하는 동작, 상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 외부 전자 장치와 상기 P2P 서비스를 수행하는 동작을 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 P2P(peer to pear) 서비스 수행 방법은, 외부 전자 장치와의 서비스 요청을 확인하는 동작, 상기 외부 전자 장치에 대한 인증을 수행하는 동작, 상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하는 동작, 상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하는 동작, 상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 연결하기 위한 제2 근거리 통신을 확인하는 동작, 상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 상기 서비스를 연결하도록 제어하는 동작을 포함할 수 있다.
본 문서의 다양한 실시 예에 따라, 전자 장치 및 전자 장치에서는, 외부 전자 장치와의 P2P 서비스 시, 외부 전자 장치의 속성 정보 및 서비스의 특성을 고려하여 서비스 핸드오버를 수행함에 따라, 해당 서비스에 적합한 통신 방식이 사용되도록 할 수 있다.
본 문서의 다양한 실시 예에 따라, 전자 장치와 외부 전자 장치 간의 상호 인증에 따라 생성되는 공개 키를 이용하여 인증을 수행함에 따라, 중간자 공격을 방지하고 통신 연결의 보안을 강화시킬 수 있다.
도 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 서비스에 있어서 서비스 핸드오버 장치를 디스커버리하는 동작의 일 예를 도시한 흐름도이다.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다. 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기), 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), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하, 첨부 도면을 참조하여, 본 문서의 다양한 실시 예에 따른 전자 장치 및 서비스 디스커버리하는 전자 장치 및 방법이 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 문서의 다양한 실시 예에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 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)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시 예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)는, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시 예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시 예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시 예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시 예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시 예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시 예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시 예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시 예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(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)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시 예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시 예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시 예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시 예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 본 문서의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블록도이다.
도 2를 참조하면, 전자 장치(101)는 프로세서(120), 메모리(130), 표시 장치(160), 통신 모듈(190) 및 보안 모듈(220)을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 P2P 서비스의 서비스 핸드오버와 관련된 전반적인 동작을 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 사용자에 의한 P2P 서비스 요청에 따라 P2P 서비스의 트리거를 확인할 수 있다. 예컨대, 상기 P2P 서비스는 근거리 통신을 통한 전자 장치들 간의 음악 공유 서비스 또는 파일 전송(예, 탭 투 쉐어 혹은 Insync)을 포함할 수 있다. 전자 장치(101)는 지정된 제스처 입력(예, 외부 전자 장치(102)와의 탭 제스처) 또는 지정된 어플리케이션의 실행을 감지함에 따라 P2P 서비스의 트리거를 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 근거리 통신 모듈(210)을 통해 통신 범위를 측정할 수 있다. 예컨대, 프로세서(120)는 전자 장치(101)와 서비스 대상 장치(예, 외부 전자 장치(102)) 간에 교환되는 정보에 기반하여 서비스 대상 장치가 통신 가능한 범위에 위치하였는지를 판단할 수 있다. 상기 교환되는 정보는, 외부 전자 장치(102)가 서비스 핸드오버의 호스트 장치로 동작함에 따라, 호스트 장치로서의 호스트 장치 이름, 호스트 블루투스 주소, 캐스터 장치 이름 또는 캐스터 장치와의 연결 종류를 포함하며, 전자 장치(101)와의 통신 연결에 대한 블루투스 주소를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 통신 범위를 측정하는 동작은 통신 방식의 트리거 조건에 기반하여 생략될 수 있다. 예컨대, 전자 장치들 간의 접촉에 의해 트리거되는 특정 P2P 서비스(예, 탭 투 쉐어)의 경우, 전술된 통신 범위를 측정하는 동작은 생략할 수 있다.
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 근거리 통신 모듈(210)을 통해 외부 전자 장치(102)의 레인징 패킷을 수신하고, 상기 패킷의 크기 또는 통신 세기에 기반하여 통신 범위를 측정할 수 있다.
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 외부 전자 장치(102)가 통신 범위에 위치한 것으로 판단하면 서비스 핸드오버를 결정할 수 있다. 예컨대, P2P 서비스가 가능한 통신 방식들 중 하나의 통신 방식을 결정하고, 해당 통신 방식을 통해 P2P 서비스를 수행하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 P2P 서비스와 관련된 어플리케이션(예, 파일 전송 어플리케이션, Quick Share 어플리케이션, 음악 공유(music share) 어플리케이션) 또는 통신 방식과 관련된 모듈(예, Wi-Fi 어웨어 모듈(211), Wi-Fi 다이렉트 모듈(212), 블루투스 모듈(213) 또는 NFC 모듈(214))으로 서비스 핸드오버와 관련된 정보를 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 서비스 핸드오버와 관련된 정보를 사용자에게 알리기 위한 화면을 표시하도록 표시 장치(160)를 제어할 수 있다. 예컨대, 상기 화면은 P2P 서비스가 핸드오버되는 장치 정보 또는 서비스 정보를 포함하며, 해당 서비스에 대한 허가 응답 또는 거절 응답을 선택할 수 있는 항목을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 서비스 핸드오버는 전자 장치(101)가 근거리 통신 연결을 통해 외부 전자 장치(102) 또는 외부 전자 장치(102)의 주변 장치와 연결될 때, 지원하는 통신 방식 또는 지정된 통신 조건(예, 통신 범위 혹은 통신 품질)에 대응하는 통신 방식을 통해 P2P 서비스가 수행되거나 P2P 서비스 중 적어도 일부가 해당 주변 장치에서 수행되도록 하는 동작을 포함할 수 있다. 예컨대, 주변 장치는 외부 전자 장치(102)와 근거리 통신으로 연결되어, P2P 서비스를 제공할 수 있는 장치를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(102)의 블루투스 A2DP(advanced audio distribution profile) 장치로 서비스 핸드오버하여, 블루투스 A2DP 장치에서 상기 전자 장치(101)의 콘텐트가 출력되도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 외부 전자 장치(102)와 P2P 서비스를 수행하기 위해, 제1 통신 방식(예: BLE)으로 연결을 수행하고, 제2 통신 방식(예: WiFi Direct)으로 P2P 서비스를 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 이전에 외부 전자 장치(102)와의 연결 시 사용한 통신 방식을 유지하는 서비스 핸드오버를 수행하거나 상기 외부 전자 장치(102)로부터 수신된 추가 정보에 기반하여 다른 통신 방식으로 서비스 핸드오버를 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 통신 모듈(190), 보안 모듈(220), 상기 통신 모듈(190) 및 상기 보안 모듈(220)과 작동적으로 연결된 프로세서(120) 및 상기 프로세서(120)와 작동적으로 연결된 메모리(130)를 포함하고, 상기 메모리(130)는, 실행 시에, 상기 프로세서(120)가, P2P 서비스가 요청됨에 따라, 외부 전자 장치(102)로부터 공개 키(public key)를 수신하고, 상기 보안 모듈을 통해 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하고, 상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고, 상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하고, 상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키(shared key)를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하고, 상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 통신 모듈을 통해 상기 외부 전자 장치와 상기 P2P 서비스를 수행하도록 하는 인스트럭션들을 저장할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 통해, 상기 외부 전자 장치(102)와의 GATT 연결을 통해 상기 공개 키를 수신하고 상기 암호화된 외부 전자 장치(102)의 정보를 수신하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 암호화된 상기 외부 전자 장치(102)의 정보는 전화 번호 중 적어도 일부를 포함하며, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 외부 전자 장치(102)의 전화 번호를 상기 공용 키로 복호하고, 상기 복호된 값을 상기 메모리(130)에 저장된 상기 외부 전자 장치(102)의 전화 번호와 비교하여 상기 외부 전자 장치(102)를 유효성을 확인하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, ECDH(Elliptic Curve Diffie-Hellman) 규칙에 따라 상기 공용 키가 상기 외부 전자 장치(102)와 동일한 공용 키로 생성하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 적어도 하나의 통신 모듈(190), 상기 통신 모듈(190)과 작동적으로 연결된 프로세서(120) 및 상기 프로세서(120)와 작동적으로 연결된 메모리(130)를 포함하고, 상기 메모리(130)는, 실행 시에, 상기 프로세서(120)가, 상기 통신 모듈(190)을 통하여, 외부 전자 장치와의 서비스 요청을 확인하고, 상기 외부 전자 장치에 대한 인증을 수행하고, 상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하도록 상기 통신 모듈을 제어하고, 상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하고, 상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 연결하기 위한 제2 근거리 통신을 확인하고, 상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 상기 서비스를 연결하도록 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 제어하는 인스트럭션들을 저장할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 보안 모듈(220)을 더 포함하며, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 외부 전자 장치로 공개 키를 전송하고, 상기 외부 전자 장치로부터 상기 전송된 공개 키에 기반하여 생성된 인증서 체인을 수신하고, 상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고, 상기 인증서 체인을 검증한 결과에 기반하여, 상기 외부 전자 장치(102)와 공통으로 사용되는 공용 키를 확인하도록 상기 보안 모듈(220)을 제어하고, 상기 공용 키에 기반하여 상기 통신 정보를 복호하고, 상기 복호된 통신 정보에 기반하여 상기 외부 전자 장치(102)와의 이전 통신 연결의 정보를 확인하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 랜덤으로 생성되는 난수(nonce) 값과 상기 난수 값에 대한 타임 스탬프를 확인하고, 상기 난수 값을 상기 공용 키로 암호화하도록 상기 보안 모듈(220)을 제어하도록 하는 전자 장치.
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 암호화된 난수 값이 상기 외부 전자 장치(102)로 전송되도록 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 제어하고, 상기 확인된 타임 스탬프의 값에 기반하여, 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는지 여부를 확인하고, 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는 것으로 판단함에 따라, 상기 외부 전자 장치(102)와 이전에 근거리 통신이 수행된 것으로 확인하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 제1 근거리 통신의 연결을 해제하고 상기 제2 근거리 통신의 연결을 수립하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 외부 전자 장치(102)와의 제2 근거리 통신의 연결을 확인함에 따른 서비스 핸드오버 정보를 확인하고, 상기 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 서비스 핸드오버 정보를 전송하도록 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 제어하도록 할 수 있다. 예컨대, 상기 서비스 핸드오버 정보는, 상기 P2P 서비스가 수행되는 통신 방식과 관련된 설정 정보, 상기 적어도 하나의 주변 장치의 식별 정보, 상기 적어도 하나의 주변 장치의 통신 정보 중 적어도 하나를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 표시 장치(160)에서는 서비스 핸드오버와 관련된 알림 정보를 표시할 수 있다. 예컨대, 전자 장치 디스커버리에 따라 발견된 외부 전자 장치(102)의 장치들의 목록을 표시하고 사용자가 서비스 핸드오버가 수행되는 장치를 선택하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 통신 모듈(190)(또는 근거리 통신 모듈(210))은 외부 전자 장치(102) 혹은 외부 전자 장치(102)와의 P2P 통신을 수행할 수 있다. 예컨대, 근거리 통신 모듈(210)은 Wi-Fi 어웨어 모듈(211), Wi-Fi 다이렉트 모듈(212), 블루투스 모듈(213) 또는 NFC 모듈(214) 중 적어도 하나를 포함할 수 있으며, 그 외 다양한 근거리 통신을 위한 구성을 포함할 수 있다.
본 문서의 다양한 실시 예에 따라, 통신 모듈(190)은 근거리 통신 모듈(210)을 포함할 수 있다. 예컨대, 근거리 통신 모듈(210)은 서비스 핸드오버 관련 정보에 기반하여 결정된 통신 방식을 확인하여 Wi-Fi 어웨어 모듈(211), Wi-Fi 다이렉트 모듈(212), 블루투스 모듈(213) 또는 NFC 모듈(214) 중 적어도 하나를 제어하여 P2P 통신을 수행하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 P2P 서비스를 위한 어드버타이징(advertising) 데이터를 송수신할 수 있다. 예컨대, 상기 어드버타이징 데이터는 Bluetooth SIG 에서 정의되는 TDS(transport discovery service) 프로토콜(protocol)을 기반하여, TDS 서비스 UUID(universally unique identifier), TDS 어드버타이즈 종류(AD type) 및 트랜스포트 블록(transport block)을 포함할 수 있다.
본 문서의 다양한 실시 에에 따르면, 전자 장치(101)(또는 외부 전자 장치(102))에서는 상기 TDS 기반의 어드버타이징 데이터의 'transport data' 필드에 외부 전자 장치와 연결을 원하는 특정 통신 방식 및 관련 설정 정보를 포함하여, 해당 통신 방식을 이용한 서비스의 활성화를 요청할 수 있다.
표 1은 TDS 프로토콜 기반의 어드버타이징 데이터에 관한 것이다.
1 2 3 4 5 6 7 8 9 10 11 12
length Flags AD Type Flags data length Service UUID AD type Service UUID Length Transport discovery data AD type Organization ID TDS flags Transport data length
0x02 0x01 0x1A 0x03 0x03 0x24 0x18 0x04 0x26 0x01 0x02 0x08
13 14 15 16 17 18 19 20 21 22 23 24
Transport data
Length P2P Service ID Service data length Tx Power Com. Service data length Device ID Service data
0x03 0x10 0x00 0x03 0x03 0x14 0xAE 0xFC 0x04 0x15 0xAE 0x3C
25 26 27 28 29 30 31
Transport data
Service data
0xB3
본 문서의 다양한 실시 예에 따르면, 음악 공유(music share) 서비스 또는 탭 투 쉐어(tap to share) 서비스를 지원하는 전자 장치(101)에서는, 어드버타이징 데이터에 TDS UUID 와 TDS AD 데이터 종류를 기본으로 포함하고, 'transport data' 필드의 'Service data'에 상기 음악 공유 서비스 또는 탭 투 쉐어 서비스의 서비스 식별자와 같은 정보가 포함하여 구성할 수 있다. 표 2는 본 문서의 다양한 실시 예에 따라, "transport data" 필드가 설정된 어드버타이징 데이터의 구조에 관한 것이다.
1 2 3 4 5 6 7 8 9 10 11 12
length Flags AD Type Flags data length Service UUID AD type Service UUID Length Transport discovery data AD type Organization ID TDS flags Transport data length
0x02 0x01 0x1A 0x03 0x03 0x24 0x18 0x04 0x26 0x01 0x02 0x0C
13 14 15 16 17 18 19 20 21 22 23 24
Transport data
Length P2P Service ID Service data length Signature Service data
0x03 0x10 0x00 0x01 0x07 0x12 0xEF 0x83 0xFC 0x17 0x3A 0xC2
본 문서의 다양한 실시 예에 따르면, 어드버타이징 데이터에서는 P2P 서비스 또는 특정 어플리케이션에서 설정 혹은 요청된 정보를 포함할 수 있다. 예컨대, 어드버타이징 데이터의 'P2P service ID'의 필드는 요청받은 P2P 서비스의 식별 정보를 포함하고, 'Tx power compensation' 필드는 근접 여부를 확인하기 위한 BLE 전송 전력 보상 값을 포함하고, 'device ID' 필드는 전자 장치 식별 정보 또는 'signature' 필드는 특정 전자 장치에 대해 공유된 난수 값을 포함할 수 있다. 그 외 상기 어드버타이징 데이터에는 BLE 장치를 발견하기 위한 어드버타이징 주기의 설정 정보, BLE로 연결되었던 장치에 대한 식별정보, 또는 추가 데이터와 같은 정보를 포함할 수 있다. 표 3은 본 문서의 다양한 실시 예에 따른 어드버타이징 데이터에 포함되는 'type' 필드의 정보에 관한 것이다.
type Name Definition Format
0x10 P2P service ID Type for P2P service 2 bytes0x01: instance session0x01: Insync
0x04: ShareLive
0x11 Notification For head-up-notification. Alerting the advertisement is only for HUN 2 bytes0x01: instance session0x01: Insync
0x04: ShareLive
0x12 signature Pre-shared nonce value for a specific device 6 (or 10) bytes of hash value for nonce
0x13 Vendor specific data Variable length of data
0x14 Tx power compensation Path loss compensation value (TRP/TIS) 2 bytes
0x15 Device ID Unique identifier for cast devices 3 bytes
... ... ... ...
본 문서의 다양한 실시 예에 따르면, 근거리 통신 모듈(210)은 외부 전자 장치(102)와 GATT(generic attribute profile) 연결을 수립할 수 있다. 예컨대, 전자 장치(101)는 외부 전자 장치(102)로부터의 어드버타이징 데이터에 응답하여, 상기 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다. 본 문서의 다양한 실시 예에 따르면, GATT 연결을 수립하는 동작은, 전자 장치(101)가 외부 전자 장치(102)가 제공하는 GATT 서비스를 위하여 서비스 디스커버리(service discovery)를 수행하는 동작을 포함할 수 있다. 예컨대, GATT 연결을 수립하는 동작은, GATT 연결이 수립된 이후에 송수신되는 데이터의 크기를 확인하기 위하여 MTU(maximum transmission unit) 크기를 협상하는 동작을 포함할 수 있다. 표 4는 본 문서의 다양한 실시 예에 따른, GATT 연결에서 통신되는 데이터에 설정되는 TDS 특성의 다양한 예에 관한 것이다.
Characteristic name requirement Mandatory properties Optional properties Security Permissions
TDS control point O Write, indicate Write none
Key exchange M Write Reliable write
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 TDS가 GATT 연결의 주요 서비스(primary service)로 지정할 수 있으며, TDS 의 특성(characteristic)인 TDS 컨트롤 포인트(control point)와 키 교환(key exchange)와 같은 별도의 특성을 추가로 설정하여 데이터 교환 시 적용할 수 있다. 본 발명의 다양한 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(102)와의 공개 키를 교환 시, 상기 TDS 특성의 '키 교환' 특성을 설정하여 상기 공개 키가 포함된 데이터의 전송을 상기 외부 전자 장치(102)로 알릴 수 있다. 본 문서의 다양한 실시 예에 따르면, GATT 연결에서의 데이터의 "transport discovery service" 필드에는 해당 특성에 대한 다양한 설정의 값이 설정될 수 있다. 예컨대, 특정 특성에 대한 포함 여부(requirement)에 대해 필수(M) 또는 선택적(O)임을 나타내는 값을 포함할 수 있다. 필수적 속성(mandatory properties) 또는 선택적 속성(optional properties)에 대해서는, 해당 특성과 관련된 쓰기(write) 또는 명시(indicate) 속성이 포함될 수 있다. 또한 보안 허가(security permissions)에 대해서는 포함 여부를 나타내는 값이 설정될 수 있다.
본 문서의 다양한 실시 예에 따르면, 근거리 통신 모듈(210)에서는 외부 전자 장치(102)와의 BLE(또는 LE) 페어링을 시도할 수 있다. 예컨대, 상기 BLE 페어링은 인증과는 별개로 선택적으로 수행될 수 있다.
본 문서의 다양한 실시 예에 따르면, 통신 모듈(190)(혹은 근거리 통신 모듈(210))은 서비스 대상 장치와의 GATT 연결을 해제할 수 있다. 예컨대, 상기 전자 장치(101)와 외부 전자 장치(102)와의 디스커버리, 인증 또는 통신 정보의 교환이 완료됨에 따라 상기 GATT 연결을 해제할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 GATT 연결이 해제되고 서비스 전환을 위해 재 연결을 하고자 하는 경우, 외부 전자 장치(102)와 교환된 난수에 대한 해쉬 값을 포함하여 GATT 연결의 데이터를 설정할 수 있다. 예컨대, 상기 난수는 보안 모듈(220)을 통해 생성된 공용 키로 암호화되어 외부 전자 장치(102)와 교환되는 것으로, 상호 식별자로 이용할 수 있다.
본 문서의 다양한 실시 예에 따르면, GATT 연결이 해제된 상태에서 전자 장치(101)와 외부 전자 장치(102)가 재 연결하고자 하는 경우, 보안 모듈(220)은 외부 전자 장치(102)로부터 어드버타이즈되는 데이터에 포함된 난수를 복호하고 상기 복호된 난수가 상기 전자 장치(101)에서 외부 전자 장치(102)로 전송된 난수와 대응하는지에 따라, 상기 외부 전자 장치(102)를 이전에 연결되었던 사용자로 인증할 수 있다. 예컨대, 전자 장치(101) 및 외부 전자 장치(102)에서는 난수 생성 시 타임 스탬프와 함께 저장하여 수신된 난수가 해당 전자 장치에서 전송된 난수인지를 확인할 수 있다.
도 3은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 위한 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 3을 참조하면, 일 실시 예에 따르면, 311 동작에서 전자 장치(101)는 P2P 서비스가 요청됨에 따라, 외부 전 장치(102)로부터 공개 키를 수신할 수 있다. 예컨대, 전자 장치(101)는 상기 외부 전자 장치(102)와의 GATT 연결을 통해 상기 공개 키를 수신하고 암호화된 상기 외부 전자 장치(102)의 정보를 수신할 수 있다. 상기 GATT 연결은 전자 장치(101)의 통신 모듈(190)을 통해 수립될 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 암호화된 상기 외부 전자 장치(102)의 정보는 전화 번호 중 적어도 일부를 포함하며, 전자 장치(101)는 상기 외부 전자 장치(102)의 전화 번호를 공용 키로 복호하고, 상기 복호된 값을 상기 메모리(130)에 저장된 상기 외부 전자 장치(102)의 전화 번호와 비교하여 상기 외부 전자 장치(102)를 유효성을 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, ECDH(Elliptic Curve Diffie-Hellman) 규칙에 따라 상기 공용 키가 상기 외부 전자 장치(102)에서의 공용 키와 동일하게 생성될 수 있다.
312 동작에서 전자 장치(101)는 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치(102)로 전송할 수 있다.
313 동작에서 전자 장치(101)는 보안 모듈(220)의 루트 인증서에 기반하여 외부 전자 장치(102)로부터 수신된 인증서 체인을 검증할 수 있다.
314 동작에서 전자 장치(101)는 상기 외부 전자 장치(102)로부터 암호화된 상기 외부 전자 장치(102)의 정보를 수신할 수 있다. 예컨대, 상기 외부 전자 장치(102)는, 상기 외부 전자 장치(102)에서의 인증서 체인에 대한 검증 결과에 기반하여 암호화된 상기 외부 전자 장치(102)의 정보를 전자 장치(101)로 전송할 수 있다.
315 동작에서 전자 장치(101)는 인증서 체인 검증 결과에 기반하여 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치(102)의 정보를 복호하여 상기 외부 전자 장치(102)의 유효성을 확인하도록 상기 보안 모듈(220)을 제어할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 전자 장치(101)는 외부 전자 장치(102)로 상기 전자 장치(101)에서 생성된 공개 키를 전송하면, 상기 외부 전자 장치(102)로부터 상기 전송된 공개 키에 대해 발급한 인증서 체인을 수신할 수 있다. 예컨대, 상기 전자 장치(101)는 상기 수신된 인증서 체인을 보안 모듈(220)의 루트 인증서로 검증하여, 상기 외부 전자 장치(102)를 검증하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 전자 장치(101)는 상기 인증서 체인의 검증 결과에 따라 상기 외부 전자 장치(102)의 유효성을 판단하면, 공용 키를 생성할 수 있다.
316 동작에서 전자 장치(101)는 상기 외부 전자 장치(102)의 유효성 판단 결과에 기반하여, 상기 외부 전자 장치(102)와 상기 P2P 서비스를 수행할 수 있다. 예를 들어, 전자 장치(101)는 상기 통신 모듈(190)(또는 근거리 통신 모듈(210))을 통해 상기 외부 전자 장치(102)와 상기 P2P 서비스를 수행할 수 있다.
도 4는 본 문서의 다양한 실시 예에 따른 전자 장치에서 외부 전자 장치와 P2P 서비스를 수행하는 동작의 일 예를 도시한 흐름도이다.
도 4를 참조하면, 일 실시 예에 따르면, 410 동작에서 전자 장치(101)는 외부 전자 장치(102)에 대한 서비스 요청을 확인할 수 있다.
420 동작에서 전자 장치(101)는 통신 모듈(190)(또는 근거리 통신 모듈(210))을 통해 상기 외부 전자 장치(102)와의 제1 근거리 통신의 연결(예, GATT 연결 또는 BLE 연결)을 수립할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(102)에 대한 서비스 요청을 확인함에 따라 상기 외부 전자 장치(102)에 대한 인증을 수행할 수 있다. 예컨대, 전자 장치(101)는 외부 전자 장치(102)로 공개 키를 전송하고, 상기 외부 전자 장치(102)로부터 상기 전송된 공개 키에 기반하여 생성된 인증서 체인을 수신할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 보안 모듈(220)에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치(102)로부터 수신된 인증서 체인을 검증하고, 상기 인증서 체인의 검증 결과에 따라, 상기 외부 전자 장치(102)를 인증할 수 있다.
430 동작에서 전자 장치(101)는 상기 제1 근거리 통신을 통해 상기 외부 전자 장치(102)와 연결하기 위한 통신 정보를 수신할 수 있다. 예컨대, 전자 장치(101)는 상기 통신 정보에 기반하여 상기 외부 전자 장치(102)와의 서비스 핸드오버를 수행할 수 있다.
440 동작에서 전자 장치(101)는 상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치(102)와 연결하기 위한 제2 근거리 통신(예, Wi-Fi 다이렉트, Wi-Fi 어웨어 또는 블루투스)을 확인할 수 있다. 예컨대, 상기 전자 장치(101)는 제2 근거리 통신과 관련된 정보를 포함하는 서비스 핸드오버 관련 정보를 외부 전자 장치(102)로 전송할 수 있다.
450 동작에서 전자 장치(101)는 상기 제2 근거리 통신을 통해 상기 외부 전자 장치(102)와 연결하도록 제어할 수 있다. 예컨대, 상기 제2 근거리 통신의 연결은 상기 제1 근거리 통신의 연결이 해제되고 수립될 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 공용 키에 기반하여 상기 통신 정보를 복호하도록 보안 모듈(220)을 제어하고, 상기 복호된 통신 정보에 기반하여 상기 외부 전자 장치와의 이전 통신 연결의 정보를 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 랜덤으로 생성되는 난수(nonce) 값과 상기 난수 값에 대한 타임 스탬프를 확인하고, 상기 난수 값을 상기 공용 키로 암호화하며, 상기 확인된 타임 스탬프의 값에 기반하여, 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는지 여부를 확인할 수 있다. 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는 것으로 판단함에 따라, 전자 장치(101)는 상기 외부 전자 장치와 이전에 근거리 통신이 수행된 것으로 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 제1 근거리 통신의 연결을 해제하고 상기 제2 근거리 통신의 연결을 수립할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 외부 전자 장치(102)와의 제2 근거리 통신의 연결을 확인함에 따른 서비스 핸드오버 정보를 확인하고, 상기 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 서비스 핸드오버 정보를 전송할 수 있다. 상기 서비스 핸드오버 정보는, 상기 P2P 서비스가 수행되는 통신 방식과 관련된 설정 정보, 상기 적어도 하나의 주변 장치의 식별 정보, 상기 적어도 하나의 주변 장치의 통신 정보 중 적어도 하나를 포함할 수 있다.
도 5는 본 문서의 다양한 실시 예에 따른 소프트웨어 구성의 일 예를 도시한 블록도이다.
본 문서의 다양한 실시 예에 따르면, P2P 서비스를 수행하는 전자 장치(101) 또는 외부 전자 장치(102)는 UWB(ultra wide-band) 모바일 아키텍처(500)에 기반하여 동작할 수 있다.
도 5를 참조하면, UWB 모바일 아키텍처(500)는 어플리케이션 레이어(510), 프레임워크(520), 플랫폼(530), 커널(540) 및 하드웨어(550)를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 어플리케이션 레이어(510)는 UWB 결제/과금 어플리케이션 UWB 레인징(ranging)/위치 측정(localzation) 어플리케이션 또는 UWB 스마트 키 어플리케이션을 포함할 수 있다. 상기 UWB 스마트 키 어플리케이션은 인증 서버(501)와 인증 정보를 송수신할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 어플리케이션 UWB 레인징/위치 측정 어플리케이션에서는 전자 장치(101)에서 외부 전자 장치(102)를 디스커버리하고 상기 외부 전자 장치(102)가 통신 범위에 위치하였는지를 판단하는 서비스를 제공할 수 있다. 예컨대, UWB 스마트 키 어플리케이션에서는 UWB 통신을 통해 전자 장치(101)와 외부 전자 장치(102) 간의 인증과 관련된 키(예, 공용 키 혹은 외부 전자 장치(102)로부터 수신된 공개 키)를 관리할 수 있다.
본 문서의 다양한 실시 예에 따르면, 어플리케이션 프레임워크(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)를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, UWB 모바일 아키텍처(500)에서 제공되는 UWB 서비스(525)는 연결 매니저(connection manager)(525a), UWB 어댑터(adapter)(525b), 보안(security)(525c), 레인징(ranging)(525d), 위치 추정(localization)(525e) 또는 핸드오버(handover)(예, BLE)(525f) 등의 서비스를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 연결 매니저(525a)를 통해 외부 전자 장치(102)와 UWB 연결을 수립할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 UWB 서비스(525)의 레인징(525d) 서비스를 통해, 전자 장치(101)는 외부 전자 장치(102)를 디스커버리하기 위한 레인징 패킷을 송수신할 수 있다. 예컨대, 전자 장치(101)는 위치 추정(525e) 서비스를 통해 상기 외부 전자 장치(102)가 통신 범위에 위치하였는지를 판단할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 핸드오버(525f) 서비스를 이용하여, 외부 전자 장치(102)로 서비스 핸드오버를 수행할 수 있다. 예컨대, 상기 서비스 핸드오버는 외부 전자 장치(102)와 관련된 통신 방식을 결정하고, 결정된 통신 방식으로 외부 전자 장치(102)와 P2P 서비스를 수행하는 동작을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 플랫폼(530)은 Bluetooth HAL(hardware abstraction layer)(531), UWB HAL(532), NFC HAL(533) 또는 ESE SPI HAL(534)를 포함할 수 있다.
커널(540)은 Bluetooth driver(541), UWB driver(542), NFC driver(543) 또는 ESE SPI driver(544)를 포함할 수 있다.
하드웨어(550)는 Bluetooth chip(551), UWB chip(552), NFC chip(553) 또는 ESE chip(554)를 포함할 수 있다.
도 6은 본 문서의 다양한 실시 예에 따른 소프트웨어 구조의 일 예를 도시한 도면이다.
도 6을 참조하면, 모바일 아키텍처(600)는 어플리케이션 레이어(510) 및 프레임워크(520)를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 어플리케이션 레이어(510)는 P2P 서비스 어플리케이션(610) 및 P2P 서비스 제어 어플리케이션(620)을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 P2P 서비스 어플리케이션(610)은 탭 투 쉐어 기능으로 사진을 전송하는 갤러리 어플리케이션, 음악 공유 어플리케이션, 빠른 파일 전송을 위한 Quick share 어플리케이션 또는 파일 공유를 위한 탭 트래킹 기반의 파일 전송 (예, InSync 기능) 어플리케이션과 같이 P2P 연결을 통해 다양한 서비스를 제공하는 어플리케이션이 포함될 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 P2P 서비스 제어 서버(620)는 이종 통신 방식을 지원하기 위해 장치 간 검색과 연결 또는 인증을 수행하기 위한 것으로, 인증을 요청하는 구독(subscribe) 장치를 제어하기 위한 구독 제어(621) 서버, 인증의 대상이 되는 캐스터(caster) 장치를 제어하기 위한 캐스터 제어(622) 서버 또는 전자 장치 DB(623)를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 구독 제어(621) 서버 및 캐스터 제어(622) 서버는 어플리케이션 레이어(510)에서 P2P 장치들(예, 전자 장치(101) 또는 외부 전자 장치(102))이 구독(또는 클라이언트(client)) 또는 캐스터의 역할을 수행하도록 제어할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치 DB(623)는 P2P 서비스를 수행하는 전자 장치의 통신 방식, 서비스 정보, 또는 연결된 주변 장치(또는 캐스터 장치) 정보와 같이 P2P 서비스와 관련된 전자 장치들의 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치 DB(623)는 서비스 핸드오버의 호스트 장치 및 게스트 장치에 대한 장치 정보, 통신 정보 또는 인증 정보를 포함할 수 있다. 예컨대, 상기 호스트 장치의 정보는 호스트 장치의 이름, 블루투스 주소, 캐스터 장치 정보 또는 캐스터 장치와의 연결 정보를 포함할 수 있다. 게스트 장치의 정보는 게스트 장치의 이름 또는 블루투스 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 프레임워크(520)에서는 P2P 어댑터(630)를 포함할 수 있다. 예컨대, 상기 P2P 어댑터(630)는 SDK(software development kit)에 의해 구성될 수 있으며, 프레임워크(520)에서 P2P 서비스 제어 어플리케이션(620) 간에 P2P 장치 관련 정보를 통신(예, IPC(inter-process communication))할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서의 P2P 서비스 요청은 상기 P2P 서비스 어플리케이션(610)으로 전달될 수 있다. 예컨대, 어플리케이션 레이어(510)를 통해 P2P 서비스 제어 서버(630)는 전자 장치 DB(623)에 저장된 정보에 기반하여 전자 장치(101)가 구독 혹은 캐스터 장치로 동작하도록 제어할 수 있다.
본 문서의 다양한 실시 예에 따르면, P2P 어댑터(630)는 프레임워크(520) 단에서 P2P 서비스 어플리케이션(610) 및 P2P 서비스 제어 서버(620)의 동작과 구분되어 전자 장치(101)내에 데몬(demon) 프로그램의 형태로 동작할 수 있다. 예컨대, P2P 서비스 제어 서버(620)는 P2P 서비스를 위해 P2P 어댑터(630)를 바인딩(bind)하여 사용할 수 있다.
도 7은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 수행하는 동작의 일 예를 도시한 흐름도이다.
도 7을 참조하면, 710 동작에서, 전자 장치(101)는 사용자에 의한 P2P 서비스 요청에 따라 P2P 서비스의 트리거를 확인할 수 있다. 예컨대, 상기 P2P 서비스는 근거리 통신을 통한 전자 장치들 간의 음악 공유 서비스 또는 파일 전송을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 지정된 제스처 입력(예, 외부 전자 장치(102)와의 탭 제스처) 또는 지정된 어플리케이션의 실행을 감지함에 따라 P2P 서비스의 트리거를 확인할 수 있다.
720 동작에서 전자 장치(101)는 P2P 서비스에 대한 서비스 대상 장치를 디스커버리 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 해당 P2P 서비스 또는 해당 P2P 서비스가 수행되는 어플리케이션에서 설정된 정보를 포함하는 어드버타이징 데이터를 생성하여 외부 전자 장치(102)로 전송할 수 있다. 예컨대, 어플리케이션에서 설정된 정보는 실행된 어플리케이션을 구분할 수 있는 정보(예: 어플리케이션 명 또는 어플리케이션 ID) 및 어플리케이션에서 수행할 수 있는 P2P 서비스의 종류(예: 파일 전송)를 포함할 수 있다. 일 실시 예에서 전자 장치(101)는 적어도 하나의 외부 전자 장치(예: 외부 전자 장치(102))로부터 상기 어드버타이징 데이터에 대한 응답을 수신함에 따라 상기 외부 전자 장치(102)를 서비스 대상 장치로 확인할 수 있다.
721 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 수립할 수 있다. 예컨대, 상기 전자 장치(101)는 상기 어드버타이징 데이터에 대한 응답에 근거리 통신(예, BLE) 연결 요청이 포함됨에 따라 상기 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 GATT 연결은 BLE 서비스 검색을 위해, BLE 통신을 통해 연결의 수립 및 해제가 이루어질 수 있다.
730 동작에서, 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 통해 BLE 페어링을 수행할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이전의 연결에서 전화 번호 정보를 교환하여 서로에 대한 인증이 이루어진 경우, 전술된 BLE 페어링 동작을 생략할 수 있다.
740 동작에서 전자 장치(101)와 외부 전자 장치(102)는 인증을 수행할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 공용 키에 기반하여 전화 번호를 암호화할 수 있다. 전자 장치(101)와 외부 전자 장치(102)는 BLE 연결을 기반으로 상기 암호화된 전화 번호를 교환하며 상기 공용 키로 상기 전화 번호를 복호하여 상대방 장치에 대한 인증을 수행할 수 있다.
본 문서의 다양한 실시 에에 따르면, 도 2의 보안 모듈(220)에서 공개 키 생성 동작을 수행하여 생성된 공개 키에 기반하여 상기 전화 번호를 암호화할 수 있다.
741 동작에서 전자 장치(101)와 외부 전자 장치(102)는 통신 정보를 교환할 수 있다. 예컨대, 상기 정보는 전자 장치(101) 또는 외부 전자 장치(102)에서 요청된 P2P 서비스와 관련하여 이용 가능한 근거리 통신 정보로서, 해쉬된 전화 번호, CRC, 전자 장치의 사용자 정보, 블루투스 주소, 통신 방식의 종류(예, Wi-Fi 어웨어 또는 Wi-Fi 다이렉트), 또는 어플리케이션 혹은 P2P 서비스의 추가 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 어플리케이션 혹은 P2P 서비스의 추가 정보는, 특정 어플리케이션 혹은 P2P 서비스에서 요구되는 정보로서, 음악 공유 어플리케이션에 대해서는 외부 전자 장치(102)의 주변 장치 정보(예, 주변 장치의 블루투스 주소 혹은 이름)가 포함되며, 음악 스트리밍 어플리케이션에 대해서는 해당 어플리케이션과 관련된 계정 정보가 교환될 수 있다.
본 문서의 다양한 실시 예에 따라, 전자 장치(101)는 상기 통신 정보를 확인하여 P2P 서비스가 핸드오버 될 수 있는 통신 방식을 결정할 수 있다. 예컨대, 상기 통신 정보는 상기 외부 전자 장치(102)에서 데이터 전송이 가능한 통신 방식(예: Wi-Fi 다이렉트 또는 UWB)에 대한 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)와 외부 전자 장치(102)는 상기 통신 정보에 기반하여, P2P 서비스를 수행할 통신 방식을 결정할 수 있다.
750 동작에서, 전자 장치(101)와 외부 전자 장치(102)는 통신 범위(또는 전자 장치(101)와 외부 전자 장치(102)와의 거리)를 측정할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 교환된 정보(예, BLE 패킷의 RSSI(received signal strength indicator))에 기반하여 서로 간에 통신 가능한 범위에 위치하고 있는지를 판단할 수 있다. 예컨대, 전자 장치(101)는 BLE 패킷의 RSSI의 값을 평균하고, 상기 평균 값에 기반하여 상기 외부 전자 장치(102)와의 거리를 예측하고, 상기 예측된 거리에 대응하는 범위를 상기 통신 범위로 확인할 수 있다. 상기 통신 범위를 측정하는 동작은 통신 방식의 트리거 조건에 기반하여 생략될 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 통신 범위를 측정하기 위한 통신 방식(예, UWB)을 확인하고, 상기 확인된 통신 방식을 통해 교환된 정보에 기반하여 외부 전자 장치(102)의 통신 범위를 측정할 수 있다. 예컨대, 전자 장치(101)는 상기 외부 전자 장치(102)와 수행 가능한 통신 방식 중 상기 측정된 통신 범위 내에서 지정된 조건의 통신 품질을 가지는 통신 방식을 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 UWB 통신을 통해 적어도 하나의 외부 전자 장치(102)와의 거리를 측정하고, 상기 측정된 거리에 기반하여 통신 방식 또는 통신 순서를 확인할 수 있다. 예컨대, 전자 장치(101)에서는 상기 통신 순서에 기반하여 우선 순위의 통신 방식을 확인하고, 상기 확인된 통신 방식을 상기 외부 전자 장치(102)와의 P2P 서비스를 위한 통신 방식으로 결정할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 확인된 통신 방식을 통해 P2P 서비스가 수행되도록 상기 확인된 통신 방식으로의 서비스 핸드오버를 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)와 외부 전자 장치(102)는 전자 장치들 간의 접촉에 의해 트리거되는 특정 P2P 서비스(예, 탭 투 쉐어)의 경우, 전술된 통신 범위를 측정하는 동작은 생략할 수 있다.
760 동작에서 전자 장치(101)는 P2P 서비스 트리거에 응답하여, 해당 P2P 서비스와 관련된 서버 및 어플리케이션으로 통신 가능한 범위 내의 외부 전자 장치(102)와의 P2P 서비스 개시가 가능함을 알릴 수 있다. 예컨대, 전자 장치(101)는 교환된 통신 정보에 기반하여 P2P 서비스가 수행되는 통신 방식 혹은 캐스터 장치를 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 P2P 서비스의 특성에 따라 서비스 핸드오버가 수행됨을 서비스와 연관된 서버로 알릴 수 있다.
770 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다.
본 문서의 다양한 실시 예에 따르면, 서비스 핸드오버를 위해 GATT 연결이 수립되는 것으로 설명하였지만 그 외 다양한 근거리 통신 방식(예, Wi-Fi 어웨어)이 가능할 수 있다. 예컨대, 전자 장치(101)에서는 GATT 연결을 유지함에 따른 전력 소모를 줄이기 위해 GATT 연결을 해제시킬 수 있다.
780 동작에서 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다. 예컨대, 상기 P2P 서비스가 음악 공유 서비스인 경우, 전자 장치(101)는 음악 공유 서비스 혹은 관련 어플리케이션을 통해 통신 정보에 기반하여 결정된 통신 방식을 이용하여 외부 전자 장치(102)(혹은 캐스터 장치)와의 P2P 서비스를 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 결정된 통신 방식을 통해 외부 전자 장치(102)와 통신을 수행할 수 없는 경우, 미리 지정된 기본 통신 방식(예, 블루투스 혹은 BLE)으로 P2P 서비스를 수행하도록 제어할 수 있다.
도 8은 본 문서의 다양한 실시 예에 따른 전자 장치들에서 P2P 서비스를 수행하는 동작의 일 예를 도시한 도면이다.
도 8을 참조하면, 전자 장치(101)에서는 사용자가 음악 공유 어플리케이션을 실행시키거나 혹은 P2P를 통한 음악 공유 서비스를 요청함을 확인할 수 있다. 예컨대, 사용자가 음악 재생 어플리케이션의 화면(700a)에서 지정된 버튼(701)을 선택함에 따라 전자 장치(101)는 음악 공유 서비스의 요청을 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 상기 서비스 요청에 따라, 서비스 대상 장치로 외부 전자 장치(102)를 확인할 수 있다. 예컨대, 전자 장치(101)는 통신 모듈(190)을 통해 상기 외부 전자 장치(102)와의 근거리 통신 연결(예, GATT 연결)을 수립할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 상기 외부 전자 장치(102)에 대한 인증을 수행할 수 있다. 예컨대, 전자 장치(101) 및 외부 전자 장치(102)에서는 공개 키를 생성하여 교환하고, 상대방 장치로 수신된 공개 키를 이용하여 발급된 인증서 체인을 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)에서는 저장된 루트 인증서를 이용하여 수신된 인증서 체인을 검증할 수 있다. 예컨대, 상기 인증서 체인의 검증 결과에 따라 상호간의 인증이 완료될 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 상기 인증이 완료됨에 따라, 외부 전자 장치(102)로부터 통신 정보를 수신할 수 있다. 예컨대, 상기 통신 정보는 상기 외부 전자 장치(102)에서 연결 가능한 통신 방식 정보, 상기 외부 전자 장치(102)의 주변 장치(예, 자동차 장치(702) 또는 상기 외부 전자 장치(102)와 통신 연결된 블루투스 스피커(703))의 정보, 또는 상기 주변 장치와 연결 가능한 통신 방식 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 외부 전자 장치(102)에서는 음악 공유 서비스의 실행 여부를 사용자에게 묻는 화면(700b)을 표시할 수 있다. 상기 화면(700b)은 서비스 정보(예, 자동자 장치(702) 제어) 혹은 서비스 활성화 여부를 선택하기 위한 항목(예, deny 혹은 allow)을 포함할 수 있다. 사용자가 'allow' 항목을 선택함에 따라, 상기 외부 전자 장치(102)는 상기 음악 공유 서비스를 활성화시키고 상기 활성화 여부에 대한 정보를 전자 장치(101)로 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 외부 전자 장치(102)에서의 서비스 활성화 여부를 확인하면, 상기 통신 정보에 기반하여 음악 공유 서비스를 위한 상기 외부 전자 장치(102)와의 통신 방식(예, BLE 혹은 Wi-Fi 어웨어)을 결정할 수 있다. 예컨대, 전자 장치(101)에서는 서비스 핸드오버를 위한 캐스터 장치로 상기 외부 전자 장치(102)의 주변 장치가 확인되는 경우, 상기 통신 정보에 기반하여, 상기 음악 공유 서비스를 위한 상기 주변 장치와의 통신 방식을 결정할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 결정된 통신 방식에 대한 정보를 포함하는 서비스 핸드오버 정보를 외부 전자 장치(102)로 전송할 수 있다. 예컨대, 상기 외부 전자 장치(102)에서는 상기 서비스 핸드오버 정보에 기반하여 통신 방식을 확인하고, 전자 장치(101)와 상기 확인된 통신 방식을 통한 음악 공유 서비스를 활성화 시킬 수 있다.
본 발명의 다양한 실시 예에 따르면, 외부 전자 장치(102)는 상기 서비스 핸드오버 정보에 기반하여 주변 장치(예, 702 혹은 703)에서 음악 공유 서비스가 수행되도록 할 수 있다. 예컨대, 외부 전자 장치(102)는 상기 서비스 핸드오버 정보에 기반하여 각 주변 장치에 대한 통신 방식을 확인하고, 해당 통신 방식을 통해 특정 주변 장치(예, 자동차 장치(702))에서 음악 공유 서비스에 따른 음악이 출력되도록 제어할 수 있다.
도 9는 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 수행하는 동작의 일 예를 도시한 흐름도이다.
도 9를 참조하면, 910 동작에서, 전자 장치(101)는 P2P 서비스의 트리거를 확인할 수 있다.
920 동작에서 전자 장치(101)는 트리거된 P2P 서비스를 수행할 서비스 대상 장치를 디스커버리 할 수 있다.
921 동작에서 전자 장치(101)는 서비스 대상 장치로 외부 전자 장치(102)를 디스커버리함에 따라, 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다.
930 동작에서 전자 장치(101)는 외부 전자 장치(102)에 대한 인증을 수행할 수 있다.
931 동작에서 전자 장치(101)는 상기 외부 전자 장치(102)에 대한 인증이 완료됨에 따라, 외부 전자 장치(102)와 통신 정보를 교환할 수 있다.
940 동작에서, 전자 장치(101)는 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, 전자 장치(101)는 상기 교환된 통신 정보에 기반하여 외부 전자 장치(102)가 통신 가능한 범위에 위치하고 있는지를 판단할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)와 외부 전자 장치(102)는 전자 장치들 간의 접촉에 의해 트리거되는 특정 P2P 서비스의 경우, 전술된 통신 범위를 측정하는 동작은 생략할 수 있다.
950 동작에서 전자 장치(101)는 서비스 핸드오버를 결정할 수 있다. 예컨대, 전자 장치(101)는 교환된 통신 정보를 기반으로 외부 전자 장치(102)와 P2P 서비스가 가능한 통신 방식들 중 특정 통신 방식을 결정하고, 해당 통신 방식을 통해 상기 P2P 서비스를 수행할 것을 결정할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 통신 방식들 중 지정된 통신 품질(예, 통신 속도)로 통신되는 통식 방식을 확인하고, 상기 확인된 통신 방식으로의 서비스 핸드오버를 결정할 수 있다. 예컨대, 지정된 통신 품질의 통신 방식을 확인할 수 없는 경우, 전자 장치(101)는 지정된 통신 방식(예, 블루투스 혹은 BLE)으로 P2P 서비스가 수행되도록 제어할 수 있다.
951 동작에서 전자 장치(101)는 외부 전자 장치(102)로 서비스 핸드오버와 관련된 정보를 전송할 수 있다. 예컨대, 서비스 핸드오버 관련 정보는, 통신 방식 또는 해당 통신 방식과 관련된 설정 정보를 포함할 수 있다.
961 동작에서 전자 장치(101)는 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 확인된 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다.
962 동작에서 외부 전자 장치(102)는 P2P 서비스와 관련된 서버 혹은 P2P 서비스와 관련된 외부 전자 장치(102)의 어플리케이션으로 전자 장치(101)로부터 수신된 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다.
970 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다.
980 동작에서 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스와 관련된 서버 및 어플리케이션을 통해 P2P 서비스를 수행할 수 있다.
도 10은 본 문서의 다양한 실시 예에 따른 전자 장치에서 P2P 서비스를 위해 서비스 대상 장치와의 통신 범위를 확인하는 동작의 일 예를 도시한 흐름도이다.
도 10을 참조하면, 1010 동작에서, 전자 장치(101)는 P2P 서비스의 서비스 대상 장치인 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다.
1020 동작에서 전자 장치(101)와 외부 전자 장치(102)는 상호 간에 대한 인증을 수행할 수 있다.
1021 동작에서 전자 장치(101)와 외부 전자 장치(102)는 인증이 완료됨에 따라, 통신 정보를 교환할 수 있다.
1030 동작에서 전자 장치(101)는 외부 전자 장치(102)로 레인징 패킷을 요청할 수 있다.
1041 동작에서 전자 장치(101)는 외부 전자 장치(102)로부터 전송되는 레인징 패킷의 스캔을 시작할 수 있다. 예컨대, 전자 장치(101)는 100% 듀티(duty)로 스캔 주기를 설정할 수 있다.
1042 동작에서 외부 전자 장치(102)는 전자 장치(101)의 레인징 패킷 요청을 확인함에 따라, 레인징 패킷 어드버타이즈를 시작할 수 있다. 예컨대, 외부 전자 장치(102)는 20ms의 주기 마다 -45 dBm의 전력으로 어드버타이즈를 하도록 설정할 수 있다.
1050 동작에서 외부 전자 장치(102)는 레인징 패킷을 전송할 수 있다. 예컨대, 50 개의 패킷을 어드버타이즈할 수 있다.
1060 동작에서 전자 장치(101)는 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, 전자 장치(101)는 어드버타이즈되는 패킷을 스캔하고, 스캔된 패킷의 크기 또는 통신 속도를 기반으로 상기 외부 전자 장치(102)의 거리를 예측하고, 상기 예측된 거리에 따라 상기 외부 전자 장치(102)가 통신 범위 내에 위치하는지를 판단할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(102)와의 블루투스 연결을 통해 블루투스 패킷을 수신하고, 상기 패킷의 수신 값을 측정하여 상기 통신 범위를 확인할 수 있다. 그 외에, 전자 장치(101)는 상기 외부 전자 장치(102)와의 Wi-Fi 어웨어 또는 UWB 연결을 통해 데이터를 수신하고, 상기 수신된 데이터에 기반하여 상기 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다.
1070 동작에서 전자 장치(101)는 외부 전자 장치(102)가 통신 범위에 위치한 것으로 판단함에 따라, 서비스 핸드오버를 결정하고 서비스 핸드오버 관련 정보를 외부 전자 장치(102)로 전송할 수 있다.
1071 동작에서 전자 장치(101)는 P2P 서비스와 관련된 서버 또는 어플리케이션으로 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다.
1072 동작에서 외부 전자 장치(102)는 P2P 서비스와 관련된 서버 또는 어플리케이션으로 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다.
1080 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다.
도 11은 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.
도 11을 참조하면, 전자 장치(101)는 사용자(예, Tom)로부터의 외부 전자 장치(102)와의 P2P 서비스 요청을 확인할 수 있다. 예컨대, 상기 P2P 서비스는 전자 장치(101)를 통해 상기 외부 전자 장치(102) 혹은 외부 전자 장치(102)의 주변 장치(예, 자동차)를 제어하도록 할 수 있다.
1110 동작에서 전자 장치(101)는 상기 P2P 서비스 요청을 확인함에 따라, 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다.
1120 동작에서, 전자 장치(101)는 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, P2P 서비스가 자동차 장치를 제어하기 위한 것이거나 외부 전자 장치(102) 혹은 전자 장치(101)가 외부 전자 장치(102)의 주변 장치(예, 자동차) 내부에 위치하고 있는지를 판단 가능한 경우, 전술된 통신 범위를 측정하는 동작은 생략될 수 있다.
1130 동작에서 전자 장치(101)는 외부 전자 장치(102)가 통신 범위(예, 제2 전자 장치 내부)내에 위치한 것으로 판단하면, 외부 전자 장치(102)로 P2P 서비스의 활성화를 요청할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 P2P 서비스의 활성화 요청은 TDS 프로토콜을 기반으로 TDS 패킷에 포함되어 외부 전자 장치(102)로 전송될 수 있다.
1140 동작에서 외부 전자 장치(102)는 P2P 서비스 활성화 요청을 확인함에 따라 사용자의 P2P 서비스에 대한 허가 여부를 확인할 수 있다. 예컨대, 외부 전자 장치(102)는 상기 P2P 서비스에 대한 허가 또는 거절을 응답할 수 있는 화면을 디스플레이(예: 도 1의 표시 장치(160))에 표시할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 외부 전자 장치(102)에서는 전자 장치(101)로부터 요청된 P2P 서비스에 대한 정보(예, 전자 장치(101)의 사용자에 의한 AAA 자동차 제어)를 상기 화면을 통해 표시할 수 있다. 예컨대, 외부 전자 장치(102)의 사용자는 상기 허가 또는 거절을 응답하기 위한 버튼을 선택하여, 상기 P2P 서비스가 활성화되도록 할 수 있다.
1150 동작에서 외부 전자 장치(102)는 상기 화면을 통해 허가 응답이 입력됨에 따라, P2P 서비스를 활성화시킬 수 있다.
1151 동작에서 외부 전자 장치(102)는 TDS 패킷에 P2P 서비스 활성화 여부에 대한 정보를 포함하여 전자 장치(101)로 전송할 수 있다.
1160 동작에서 전자 장치(101)는 상기 P2P 서비스 활성화 여부에 대한 정보가 서비스 허가를 나타내는 경우, 전자 장치(101)에서 P2P 서비스를 활성화할 수 있다.
1170 동작에서 전자 장치(101)는 외부 전자 장치(102)로 서비스 핸드오버와 관련된 정보를 전송할 수 있다. 예컨대, 서비스 핸드오버와 관련된 정보는 P2P 서비스가 수행되는 통신 방식 또는 어플리케이션의 계정 정보를 포함할 수 있다.
1171 동작에서 전자 장치(101)는 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 확인된 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다.
1172 동작에서 외부 전자 장치(102)는 활성화된 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 전자 장치(101)로부터 수신된 서비스 핸드오버 관련 정보를 전달하여 서비스 핸드오버를 알릴 수 있다.
본 문서의 다양한 실시 에에 따르면, 상기 P2P 서비스가 전자 장치(101)에서의 음악 스트리밍 서비스를 외부 전자 장치(102)(혹은 외부 전자 장치(102)의 주변 장치)에서 수행하기 위한 것인 경우, 상기 서비스의 계정 정보를 통해 상기 외부 전자 장치(102)가 해당 서비스의 서버 혹은 어플리케이션으로 접속하여 전자 장치(101)의 서비스를 외부 전자 장치(102)를 통해 수행되도록 할 수 있다.
1180 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다.
1190 동작에서 전자 장치(101)와 외부 전자 장치(102)는 활성화된 P2P 서비스의 서버 혹은 어플리케이션을 통해 P2P 서비스를 수행할 수 있다. 예컨대, 상기 외부 전자 장치(102)에서는 전자 장치(101)에서의 음악 스트리밍 서비스가 핸드오버되며, 상기 외부 전자 장치(102)는 상기 외부 전자 장치(102) 혹은 상기 외부 전자 장치(102)의 주변 장치(예, AAA 자동차)를 통해 음악 스트리밍 서비스가 수행되도록 제어할 수 있다.
도 12는 본 문서의 다양한 실시 예에 따른, P2P 서비스에 대한 허가 여부를 확인하는 화면 구성의 일 예를 도시한 도면이다.
도 12를 참조하면, 외부 전자 장치(102)는 전자 장치(101)로부터 P2P 서비스 활성화 요청을 수신함에 따라, 사용자로 P2P 서비스 활성화 허가를 묻기 위한 화면(1200)을 디스플레이(예: 도 1의 표시 장치(160))에 표시할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 화면(1200)은 전자 장치(101)의 사용자(예, 'Tom')가 외부 전자 장치(102)의 주변 장치(예, 'AAA 자동차(car)')와의 P2P 서비스(예, 블루투스 통신을 통해 AAA 자동차 제어)를 요청함을 알리는 내용, 상기 P2P 서비스에 대한 거절 응답을 입력하기 위한 거절 버튼(deny)(1201) 또는 허가 응답을 입력하기 위한 허가 버튼(allow)(1202)을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 외부 전자 장치(102)의 사용자가 허가 버튼(1202)을 입력함에 따라, 외부 전자 장치(102)는 P2P 서비스를 활성화시키고 전자 장치(101)로 P2P 서비스의 활성화 여부를 알릴 수 있다. 예컨대, 전자 장치(101)는 P2P 서비스의 활성화 여부를 확인함에 따라, AAA 자동차로 서비스 핸드오버가 이루어지고, 상기 전자 장치(101)는 AAA 자동차와 P2P 서비스를 수행할 수 있다.
도 13은 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)는 근거리 통신 모듈(예, 210 또는 210a)을 포함할 수 있다. 예컨대, 상기 근거리 통신 모듈(예, 210 또는 210a)은 Wi-Fi 어웨어 모듈(예, 211 또는 211a) 또는 Wi-Fi 다이렉트 모듈(예, 212 또는 212a)을 포함할 수 있다.
도 13을 참조하면, 1310 동작에서 전자 장치(101)는 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다.
1320 동작에서, 전자 장치(101)는 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, 외부 전자 장치(102)가 자동차 장치와 연결되며 전자 장치(101)가 외부 전자 장치(102)와 연결된 자동차 장치 내부에 위치하고 있는지를 판단 가능하거나 상기 외부 전자 장치(102)와 접촉됨에 따라 P2P 서비스가 트리거되는 경우, 전술된 통신 범위를 측정하는 동작은 생략될 수 있다.
1330 동작에서 전자 장치(101)는 외부 전자 장치(102)가 통신 범위(예, 자동차 장치 내부)내에 위치한 것으로 판단하면, 외부 전자 장치(102)로 P2P 서비스의 활성화를 요청할 수 있다. 예컨대, 상기 P2P 서비스의 활성화 요청은 TDS 패킷에 포함되어 외부 전자 장치(102)로 전송될 수 있다.
1340 동작에서 외부 전자 장치(102)는 P2P 서비스 활성화 요청을 확인함에 따라 사용자의 P2P 서비스에 대한 허가 여부를 확인할 수 있다. 예컨대, 외부 전자 장치(102)는 상기 P2P 서비스에 대한 허가 또는 거절을 응답할 수 있는 화면을 표시하고, 상기 화면을 통해 허가 응답이 입력됨에 따라, P2P 서비스를 활성화시킬 수 있다.
1351 동작에서 외부 전자 장치(102)는 상기 P2P 서비스 활성화 여부에 대한 정보가 서비스 허가를 나타내는 경우, P2P 서비스를 활성화시키기 위해 통신 세션을 오픈하도록 Wi-Fi 어웨어 모듈(211a)(혹은 Wi-Fi 다이렉트 모듈(212a))을 제어할 수 있다. 예를 들어, 근거리 통신 모듈(210a)은 Wi-Fi 어웨어 모듈(211a)로 통신 세션을 오픈하도록 요청하거나 Wi-Fi 다이렉트 통신을 개시하도록 Wi-Fi 다이렉트 모듈(212a)을 제어할 수 있다.
1352 동작에서 외부 전자 장치(102)의 Wi-Fi 어웨어 모듈(211a)은 통신 세션 오픈 요청에 따라 해당 서비스를 구독(subscribe)하기 위한 제어를 수행할 수 있다.
본 문서의 다양한 실시 예에 따라, 근거리 통신 모듈(210a)은 상기 통신 세션 오픈 요청을 Wi-Fi 다이렉트 모듈(212a)로 전달할 수 있으며, 상기 Wi-Fi 다이렉트 모듈(212a)은 피어 디스커버리 및 연결을 수행하여 Wi-Fi 다이렉트를 통해 연결 가능한 장치를 검색하고, 검색된 장치와 연결되도록 설정할 수 있다.
1353 동작에서 외부 전자 장치(102)의 Wi-Fi 어웨어 모듈(211a)(또는 Wi-Fi 다이렉트 모듈(212a))은 서비스 구독과 관련된 정보를 포함하는 연결 정보를 근거리 통신 모듈(210a)로 전달할 수 있다. 예를 들어, 연결 성공 알림을 전송할 수 있다.
1354 동작에서 외부 전자 장치(102)는 TDS 패킷에 P2P 서비스 활성화 여부에 대한 정보를 포함하여 전자 장치(101)로 전송할 수 있다.
1361 동작에서 전자 장치(101)는 상기 P2P 서비스 활성화 여부에 대한 정보가 서비스 허가를 나타내는 경우, P2P 서비스를 활성화시키기 위해 통신 세션을 오픈하도록 Wi-Fi 어웨어 모듈(211)(또는 Wi-Fi 다이렉트 모듈(212))을 제어할 수 있다. 예를 들어, 근거리 통신 모듈(210)은 Wi-Fi 어웨어 모듈(211)로 통신 세션을 오픈하도록 요청하거나 Wi-Fi 다이렉트 통신을 개시하도록 Wi-Fi 다이렉트 모듈(212)을 제어할 수 있다.
1362 동작에서 전자 장치(101)의 Wi-Fi 어웨어 모듈(211)은 통신 세션 오픈 요청에 따라 해당 서비스를 발행(publish)하기 위한 제어를 수행할 수 있다. 본 문서의 다양한 실시 예에 따라, 근거리 통신 모듈(210)은 상기 통신 세션 오픈 요청을 Wi-Fi 다이렉트 모듈(212)로 전달할 수 있으며, 상기 Wi-Fi 다이렉트 모듈(212)은 피어 디스커버리 및 연결을 수행하여 Wi-Fi 다이렉트를 통해 연결 가능한 장치를 검색하고, 검색된 장치와 연결되도록 설정할 수 있다.
1363 동작에서 전자 장치(101)의 Wi-Fi 어웨어 모듈(211)(또는 Wi-Fi 다이렉트 모듈(212))은 서비스 발행과 관련된 정보를 포함하는 연결 정보를 근거리 통신 모듈(210)로 전달할 수 있다. 예를 들어, 연결 성공 알림을 전송할 수 있다.
1364 동작에서 전자 장치(101)는 외부 전자 장치(102)로 서비스 핸드오버와 관련된 정보를 전송할 수 있다.
1371 동작에서 전자 장치(101)는 상기 확인된 서비스 핸드오버 관련 정보를 Wi-Fi 어웨어 모듈(211)로 전달하여 서비스 핸드오버의 수행을 요청할 수 있다. 예컨대, 상기 Wi-Fi 어웨어 모듈(211)은 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 서비스 핸드오버 관련 정보를 전송할 수 있다.
1372 동작에서 외부 전자 장치(102)는 상기 확인된 서비스 핸드오버 관련 정보를 Wi-Fi 어웨어 모듈(211a)로 전달하여 서비스 핸드오버의 수행을 요청할 수 있다. 예컨대, 상기 Wi-Fi 어웨어 모듈(211a)은 P2P 서비스와 관련된 서버 혹은 어플리케이션으로 상기 서비스 핸드오버 관련 정보를 전송할 수 있다.
1380 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다.
1390 동작에서 전자 장치(101)의 Wi-Fi 어웨어 모듈(211)과 외부 전자 장치(102)의 Wi-Fi 어웨어 모듈(211a)은 활성화된 P2P 서비스의 서버 혹은 어플리케이션을 통해 P2P 서비스를 수행할 수 있다.
도 14는 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)는 근거리 통신 모듈(예, 210 또는 210a) 또는 탭 투 쉐어 기능(예, Insync 기능)으로 파일 전송을 수행하는 파일 전송 어플리케이션(1401 또는 1401a)을 포함할 수 있다. 상기 파일 전송어플리케이션(1401 또는 1401a)은 서버 혹은 클라우드에 저장된 파일을 전자 장치(101) 혹은 외부 전자 장치(102)와 공유하기 위한 갤러리(gallery) 어플리케이션일 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치(101)의 사용자가 파일 전송 어플리케이션(1401)을 실행하여 적어도 하나의 외부 전자 장치(예, 102)로 전송할 적어도 하나의 이미지를 선택함에 따라 P2P 서비스(예, 적어도 하나의 이미지 전송)가 요청됨을 확인할 수 있다. 예컨대, 상기 전자 장치(101)는 사용자가 상기 적어도 하나의 이미지의 선택과 함께 상기 적어도 하나의 이미지를 전송할 적어도 하나의 외부 전자 장치를 선택함을 확인할 수 있다.
본 발명의 다양한 실시 예에 따르면, 이후 동작 1410 내지 동작 1490의 동작들은 전자 장치(101)와 외부 전자 장치(102)의 동작으로 기재되나, 상기 동작 1410 내지 동작 1490의 동작들은 상기 전자 장치(101)가 P2P 서비스를 수행하고자 하는 복수의 외부 전자 장치들(예, 외부 전자 장치(102))과 각각 수행될 수 있다.
도 14를 참조하면, 1410 동작에서 전자 장치(101)는 근거리 통신 모듈(210)을 통해 외부 전자 장치(102)와 GATT 연결을 수립할 수 있다.
1420 동작에서, 전자 장치(101)는 근거리 통신 모듈(210)을 통해 상기 외부 전자 장치(102)와의 통신 범위를 측정할 수 있다. 예컨대, 외부 전자 장치(102)가 자동차 장치로서 전자 장치(101)가 외부 전자 장치(102) 내부에 위치하고 있는지를 판단 가능하거나 상기 외부 전자 장치(102)와 접촉됨에 따라 P2P 서비스가 트리거되는 경우, 전술된 통신 범위를 측정하는 동작은 생략될 수 있다.
1430 동작에서 전자 장치(101)는, 외부 전자 장치(102)가 통신 범위(예, 제2 전자 장치 내부)내에 위치한 것으로 판단하면, 근거리 통신 모듈(210)을 통해 외부 전자 장치(102)로 P2P 서비스의 활성화를 요청할 수 있다. 예컨대, 상기 P2P 서비스의 활성화 요청은 TDS 패킷에 포함되어 외부 전자 장치(102)로 전송될 수 있다.
1441 동작에서 외부 전자 장치(102)의 근거리 통신 모듈(210a)은 P2P 서비스 활성화 요청을 확인함에 따라 사용자의 P2P 서비스에 대한 허가 여부를 확인할 수 있다. 예컨대, 상기 복수의 외부 전자 장치들(예, 102) 각각에서는 상기 P2P 서비스에 대한 허가 또는 거절을 응답할 수 있는 화면을 표시하고, 상기 화면을 통해 허가 응답이 입력됨에 따라, P2P 서비스를 활성화시킬 수 있다.
1442 동작에서 외부 전자 장치(102)는 상기 P2P 서비스 활성화 요청을 전송함에 따라, 외부 전자 장치(102)와 접촉된 전자 장치(101)로 전송할 파일을 확인하는 탭 트래킹 기능을 수행하기 위해 탭 트래킹 명령을 파일 전송 어플리케이션(1401a)으로 전달할 수 있다. 예를 들어, 근거리 통신 모듈(210a)은 파일 전송 어플리케이션(1401a)으로 탭 트래킹 명령을 전달할 수 있다.
1443 동작에서 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)은 탭 트래킹 명령에 따라 상기 전자 장치(101)로 전송할 적어도 하나의 이미지를 확인할 수 있다.
1444 동작에서 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)은 탭 트래킹이 시작되었음을 근거리 통신 모듈(210a)로 알릴 수 있다.
1451 동작에서 전자 장치(101)는 P2P 서비스의 활성화 요청에 따라, 전자 장치(101)와 접촉된 외부 전자 장치(102)로 전송할 파일을 확인하는 탭 트래킹 기능을 수행하기 위해 탭 트래킹 명령을 파일 전송 어플리케이션(1401)으로 전달할 수 있다. 예를 들어, 근거리 통신 모듈(210)은 파일 전송 어플리케이션(1401)으로 탭 트래킹 명령을 전달할 수 있다.
1452 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)은 탭 트래킹 명령에 따라, 해당 어플리케이션을 통해 전송할 파일을 확인하는 탭 트래킹을 수행할 수 있다.
1453 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)은 탭 트래킹이 시작되었음을 근거리 통신 모듈(210)로 알릴 수 있다.
1461 동작에서 외부 전자 장치(102)는 TDS 패킷에 P2P 서비스 활성화 여부에 대한 정보(예, 서비스 활성화에 대한 성공 알림)를 포함하여 전자 장치(101)로 전송할 수 있다.
1462 동작에서 전자 장치(101)는 외부 전자 장치(102)로부터 수신된 P2P 서비스 활성화 결과(예, 서비스 활성화에 대한 성공)를 확인하였음을 알리는 확인 메시지를 외부 전자 장치(102)로 전송할 수 있다.
1463 동작에서 전자 장치(101)는 적어도 하나의 외부 전자 장치(예, 102)와의 P2P 서비스를 핸드오버시키기 위한 서비스 핸드오버 정보를 확인할 수 있다. 예컨대, 상기 서비스 핸드오버 정보는 상기 적어도 하나의 외부 전자 장치(예, 102) 각각에 대해, P2P 서비스가 수행되는 통신 방식 및 상기 통신 방식과 관련된 통신 설정과 관련된 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 서비스 핸드오버 관련 정보는 외부 전자 장치(102)에서는 Wi-Fi 어웨어로 P2P 서비스가 수행되고, 다른 외부 전자 장치에서는 Wi-Fi 다이렉트를 통해 상기 P2P 서비스가 수행됨을 나타내는 정보를 포함할 수 있다.
1470 동작에서 전자 장치(101)는 외부 전자 장치(102)로 확인된 서비스 핸드오버 관련 정보를 전송할 수 있다. 예컨대, 전자 장치(101)는 적어도 하나의 외부 전자 장치로 해당하는 서비스 핸드오버 관련 정보를 전송할 수 있다.
1471 동작에서 전자 장치(101)의 근거리 통신 모듈(210)은 상기 확인된 서비스 핸드오버 관련 정보를 파일 전송 어플리케이션(1401)으로 알릴 수 있다.
1472 동작에서 외부 전자 장치(102)의 근거리 통신 모듈(210a)은 파일 전송 어플리케이션(1401a)으로 상기 확인된 서비스 핸드오버 관련 정보를 알릴 수 있다.
본 문서의 다양한 실시 예에 따르면, 파일 전송 어플리케이션(1401 또는 1401a)에서는 서비스 핸드오버 관련 정보에 포함된 통신 방식을 이용하여 P2P 서비스를 수행할 수 있다.
1480 동작에서 전자 장치(101)의 근거리 통신 모듈(210)과 외부 전자 장치(102)의 근거리 통신 모듈(210a)는 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다.
1490 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)과 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)를 통해, 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 적어도 하나의 외부 전자 장치(예, 102)에서 지원하는 통식 방식에 기반하여, 서비스 핸드오버를 수행할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(102)와는 Wi-Fi 어웨어를 통해 P2P 서비스를 수행하고, 다른 외부 전자 장치와는 Wi-Fi 다이렉트를 통해 P2P 서비스를 수행할 수 있다.
도 15는 본 문서의 다양한 실시 예에 따른 전자 장치에서 서비스 대상 장치와 P2P 서비스의 활성화 여부를 확인하는 동작의 일 예를 도시한 흐름도이다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)는 근거리 통신 모듈(예, 210 또는 210a) 및 파일 전송 어플리케이션(1401 또는 1401a)을 포함할 수 있다.
도 15를 참조하면, 1510 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)에서는 탭 트래킹 명령을 확인할 수 있다. 예컨대, 상기 파일 전송 어플리케이션(1401)에서는 상기 전자 장치(101)와 외부 전자 장치(102)가 접촉됨에 따라 상기 전자 장치(101)의 센서를 통해 탭 트래킹 동작이 트리거된 것으로 판단할 수 있다.
1520 동작에서 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)에서는 탭 트래킹 명령을 확인할 수 있다. 예컨대, 상기 파일 전송 어플리케이션(1401a)은 상기 외부 전자 장치(102)와 외부 전자 장치(예, 전자 장치(101))가 접촉됨에 따라 탭 트래킹 동작이 트리거된 것으로 판단할 수 있다.
1521 동작에서, 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)은 탭 트래킹 이벤트의 발생을 외부 전자 장치(102)의 근거리 통신 모듈(210a)로 알릴 수 있다.
1522 동작에서, 외부 전자 장치(102)의 근거리 통신 모듈(210a)은 상기 탭 트래킹 이벤트의 발생을 알리는 알림을 전자 장치(101)로 어드버타이즈할 수 있다. 예컨대, 상기 알림은 TDS 패킷에 포함되어 UUID 또는 해시 데이터를 포함할 수 있다.
1530 동작에서, 전자 장치(101)의 근거리 통신 모듈(210)은 외부 전자 장치(102)로부터 어드버타이즈된 알림을 확인함에 따라, 전자 장치(101)의 파일 전송 어플리케이션(1401)로 탭 트래킹 이벤트의 발생을 알릴 수 있다. 예컨대, 상기 탭 트래킹 이벤트는 상기 외부 전자 장치(102)의 센서를 통해 상기 외부 전자 장치(102)에서 감지된 탭 트래킹 이벤트에 대한 알림일 수 있다.
1530 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)은 유효한 탭을 확인하여 외부 전자 장치(102)로 전송될 파일을 확인하면 탭 트래킹을 정지시킬 수 있다.
1531 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)은 근거리 통신 모듈(210)로 확인된 유효한 탭의 정보를 포함하는 결과를 전달할 수 있다.
1532 동작에서 전자 장치(101)는 근거리 통신 모듈(210)을 통해 서비스 핸드오버를 위한 통신 연결을 외부 전자 장치(102)로 요청할 수 있다.
1540 동작에서 전자 장치(101)는 근거리 통신 모듈(210)을 통해 서비스 핸드오버를 위해 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다.
1561 동작에서 전자 장치(101)는 파일 전송 어플리케이션(1401)으로 상기 확인된 서비스 핸드오버 관련 정보를 알릴 수 있다.
1562 동작에서 외부 전자 장치(102)는 파일 전송 어플리케이션(1401a)으로 상기 확인된 서비스 핸드오버 관련 정보를 알릴 수 있다.
1570 동작에서 전자 장치(101)와 외부 전자 장치(102)는 근거리 통신 모듈(210 또는 210a)를 통해 GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다.
1580 동작에서 전자 장치(101)의 파일 전송 어플리케이션(1401)과 외부 전자 장치(102)의 파일 전송 어플리케이션(1401a)를 통해, 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다.
도 16은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 또는 외부 전자 장치(102)의 제조사는 키 저장부(221 또는 221a)를 포함하여 전자 장치(101) 또는 외부 전자 장치(102)를 시장에 출시할 수 있다. 예컨대, 상기 키 저장부(221 또는 221a)에서는 루트 인증서에 대한 인증서 서명 요청(certificate signing request: CSR)을 확인하고, 상기 인증서 서명을 증명함에 따라, 수신되는 키 혹은 인증서 체인을 상기 루트 인증서를 통해 인증하도록 설정될 수 있다.
도 16을 참조하면, P2P 서비스를 수행하는 전자 장치들(예, 전자 장치(101) 또는 외부 전자 장치(102)는 개인 키(private key)와 공개 키(public key)의 쌍으로 구성되는 키 페어(pair)를 생성할 수 있다.
본 문서의 다양한 실시 예에 따르면, 1611 동작에서 전자 장치(101)의 보안 모듈(220)은 개인 키 A 및 공개 키 A의 쌍으로 구성되는 키 페어 A를 생성할 수 있다. 1612 동작에서 외부 전자 장치(102)의 보안 모듈(220a)은 개인 키 B 및 공개 키 B의 쌍으로 구성되는 키 페어 B를 생성할 수 있다.
1620 동작에서 전자 장치(101) 또는 외부 전자 장치(102)는 상대방 장치로 인증을 요청할 수 있다. 예컨대, P2P 서비스를 발행하는 전자 장치는 P2P 서비스를 구독하는 전자 장치로 공개 키(예, 공개 키 A 또는 공개 키 B)를 포함하는 인증 요청을 전달할 수 있다.
1630 동작에서 전자 장치(101)는 수신된 외부 전자 장치(102)의 공개 키 B를 이용하여 인증서 체인(certification chain)을 생성할 수 있다.
1640 동작에서 외부 전자 장치(102)는 수신된 전자 장치(101)의 공개 키 A를 이용하여 인증서 체인을 생성할 수 있다.
1650 동작에서 전자 장치(101)와 외부 전자 장치(102)는 생성한 인증서 체인을 상대방 장치와 교환할 수 있다.
1661 동작에서 전자 장치(101)는 키 저장부(221)에 저장된 루트 인증서를 통해 수신된 인증서 체인을 검증할 수 있다.
1662 동작에서 외부 전자 장치(102)는 키 저장부(221a)에 저장된 루트 인증서를 통해 인증서 체인을 검증할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 및 외부 전자 장치(102)는 각 장치의 루트 인증서를 통해 인증서 체인을 검증한 결과에 기반하여 상대방 장치에 대한 인증을 완료할 수 있다.
1671 동작에서 전자 장치(101)의 보안 모듈(220)은 인증서 체인의 검증 결과에 따라 공용 키를 생성할 수 있다.
1672 동작에서 외부 전자 장치(102)의 보안 모듈(220a)은 인증서 체인의 검증 결과에 따라 공용 키를 생성할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(101) 또는 상기 외부 전자 장치(102)는 인증서 체인의 검증에 따라 상대방 장치에 대한 인증을 완료하고, ECDH(Elliptic-curve Diffie-Hellman)의 키 생성 규칙에 기반하여 개인 키(예, 개인 키 A 혹은 개인 키 B)를 이용한 공용 키(shared key)를 생성할 수 있다. 예컨대, 상기 공용 키는 SHA-256 알고리즘으로 해싱하여 상기 외부 전자 장치(102)의 데이터를 복호하기 위해 사용될 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(예, 전자 장치(101) 또는 외부 전자 장치(102))에서 루트 인증서를 이용하여 상호 인증된 외부 전자 장치의 공개 키 및 인증서 체인을 이용하여 인증을 수행함에 따라, MITM 공격자가 공개 키 또는 인증서를 탈취하여도 복호화가 불가능하므로 중간자 공격을 효과적으로 막을 수 있다.
도 17은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101) 또는 외부 전자 장치(102))는 통신 모듈(190 또는 190a) 또는 보안 모듈(220 또는 220a)을 포함할 수 있다. 상기 보안 모듈(220 또는 220a)은 키 저장부(221 또는 221a)를 포함하거나 기능적으로 연결되어 상기 키 저장부(221 또는 221a)에 저장된 인증서를 이용하여 상대방 장치로부터 수신된 키 또는 인증서 체인을 검증할 수 있다.
도 17을 참조하면, 1710 동작에서, P2P 서비스를 수행하는 전자 장치들(예, 전자 장치(101) 또는 외부 전자 장치(102))은 서로간의 GATT 연결을 수립할 수 있다.
1721 동작에서 전자 장치(101)는 개인 키 A 및 공개 키 A의 쌍으로 구성되는 키 페어 A를 생성할 수 있다.
1723 동작에서 외부 전자 장치(102)는 개인 키 B 및 공개 키 B의 쌍으로 구성되는 키 페어 B를 생성할 수 있다.
1731 동작에서 전자 장치(101)는 공개 키 A의 인증을 위해 GATT 연결을 통해 상기 공개 키 A를 외부 전자 장치(102)로 전송할 수 있다.
1732 동작에서 외부 전자 장치(102)는 전자 장치(101)로부터 공개 키 A를 수신함에 따라, 상기 외부 전자 장치(102)의 보안 모듈(220a)로 상기 공개 키 A에 대한 증명을 요청할 수 있다.
1733 동작에서 외부 전자 장치(102)의 보안 모듈(220a)에서는, 상기 공개 키 A에 대한 인증서 체인을 발급하여 통신 모듈(190a)로 전달할 수 있다.
1734 동작에서 외부 전자 장치(102)는 공개 키 A에 대한 인증서 체인을 전자 장치(101)로 전송할 수 있다.
1741 동작에서 외부 전자 장치(102)는 공개 키 B의 인증을 위해 GATT 연결을 통해 상기 공개 키 B를 전자 장치(101)로 전송할 수 있다.
1742 동작에서 전자 장치(101)는 외부 전자 장치(102)로부터 공개 키 B를 수신함에 따라, 상기 전자 장치(102)의 보안 모듈(220)로 상기 공개 키 B에 대한 증명을 요청할 수 있다.
1743 동작에서 전자 장치(101)의 보안 모듈(220)에서는, 상기 공개 키 B에 대한 인증서 체인을 발급하여 통신 모듈(190)로 전달할 수 있다.
1744 동작에서 전자 장치(101)는 공개 키 B에 대한 인증서 체인을 외부 전자 장치(102)로 전송할 수 있다.
1751 동작에서 외부 전자 장치(102)는 전자 장치(101)로부터 수신된 공개 키 B에 대한 인증서 체인에 대한 유효성 확인 요청을 보안 모듈(220a)로 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 보안 모듈(220a)은 키 저장부(221)에 저장된 루트 인증서를 이용하여 상기 공개 키 B에 대한 인증서 체인의 유효성 확인 요청을 전송할 수 있다.
1772 동작에서 외부 전자 장치(102)의 보안 모듈(220a)은 공개 키 B에 대한 인증서 체인이 유효한 것으로 검증되면, 전자 장치(101)와 공통으로 사용할 수 있는 공용 키(shared key)를 생성할 수 있다.
1761 동작에서 전자 장치(101)는 외부 전자 장치(102)로부터 수신된 공개 키 A에 대한 인증서 체인에 대한 유효성 검증을 보안 모듈(220)로 요청할 수 있다.
본 문서의 다양한 실시 예에 따르면, 보안 모듈(220)은 키 저장부(221)에 저장된 루트 인증서를 이용하여 상기 공개 키 A에 대한 인증서 체인의 유효성을 검증할 수 있다.
1771 동작에서 전자 장치(101)의 보안 모듈(220)은 공개 키 A에 대한 인증서 체인이 유효한 것으로 검증되면, 외부 전자 장치(102)와 공통으로 사용할 수 있는 공용 키를 생성할 수 있다.
본 문서의 다양한 실시 예에 따르면, 동작 1731 내지 동작 1772는 순서가 변경될 수 있다. 예를 들어, 동작 1731을 통해 전자 장치(101)가 외부 전자 장치(102)로 공개 키 A를 전송한 뒤, 동작 1741을 통해 외부 전자 장치(102)가 전자 장치(101)로 공개 키 B를 전송할 수 있다.
도 18은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 18을 참조하면, 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 수립하고, GATT 연결을 통해 인증 정보를 교환하여 상대방 장치에 대한 인증을 수행할 수 있다.
1840 동작에서 전자 장치(101)와 외부 전자 장치(102)는 추가 정보를 교환할 수 있다. 예컨대, 상기 추가 정보는 해당 전자 장치가 상대방 장치와 연결을 원하는 통신 방식 정보 또는 특정 통신 방식과 관련된 설정 정보를 포함할 수 있다.
1841 동작에서 전자 장치(101)는 공용 키로 암호화된 난수A를 외부 전자 장치(102)로 전송할 수 있다.
1842 동작에서 외부 전자 장치(102)는 공용 키로 암호화된 난수B를 전자 장치(101)로 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 난수A 및 난수B는 각 전자 장치에서 랜덤하게 생성된 것으로 타임 스탬프와 함께 매핑되어 저장될 수 있다.
1851 동작에서 전자 장치(101)는 수신된 암호화된 난수B를 공용 키로 복호하여 저장할 수 있다.
1852 동작에서 외부 전자 장치(102)는 수신된 암호화된 난수A를 공용 키로 복호하여 저장할 수 있다.
1860 동작에서 전자 장치(101)와 제 2 전자 장치(102)는 GATT 연결을 해제할 수 있다.
도 19는 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 인증을 수행하여 서비스 핸드오버하는 동작의 일 예를 도시한 흐름도이다.
도 19를 참조하면, 1912 동작에서 외부 전자 장치(102)는 스캔 필터를 설정할 수 있다.
1913 동작에서 외부 전자 장치(102)는 설정된 스캔 필터를 기반으로 스캔을 수행할 수 있다.
1920 동작에서 전자 장치(101)는 P2P 서비스가 요청됨을 확인할 수 있다.
1931 동작에서 전자 장치(101)는 저장된 난수B를 확인할 수 있다. 예컨대, 상기 난수B는 암호화되어 외부 전자 장치(102)로부터 수신된 것으로, 상기 외부 전자 장치(102)와 공통적으로 생성된 공용 키를 이용하여 복호되어 저장될 수 있다.
1932 동작에서 전자 장치(101)는 어드버타이징 데이터를 설정할 수 있다. 예컨대, 전자 장치(101)는 TDS UUID 및 해싱한 난수B를 포함하도록 상기 어드버타이징 데이터를 설정할 수 있다.
1933 동작에서 전자 장치(101)는 P2P 서비스에 대한 서비스 핸드오버를 결정함에 따라 어드버타이즈 시작을 결정할 수 있다.
1941 동작에서 전자 장치(101)는 TDS UUID 및 해싱한 난수B를 포함하는 어드버타이징 데이터를 어드버타이즈할 수 있다.
1942 동작에서 외부 전자 장치(102)는 난수A를 확인할 수 있다. 예컨대, 상기 외부 전자 장치(102)는 상기 외부 전자 장치(102)에 저장된 난수B에 대한 타임 스탬프를 확인하고, 상기 난수B의 타임 스탬프에 대응하는 타임 스탬프를 포함하는 상기 난수A를 확인할 수 있다.
1943 동작에서 외부 전자 장치(102)는 난수A를 확인함에 따라 전자 장치(101)로 통신 연결을 요청할 수 있다.
1950 동작에서 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 수립할 수 있다. 전자 장치(101)와 외부 전자 장치(102)는 GATT 연결을 통해 블루투스 페어링을 수행되면, GATT 연결을 해제할 수 있다. 예컨대, 전자 장치(101)와 외부 전자 장치(102)는 이후 BLE 페어링 동작이 수행되는 경우, 상기 GATT 연결을 재 수립할 수 있다.
도 20은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에서 서비스 핸드오버를 알리는 화면 구성의 일 예를 도시한 도면이다.
도 20을 참고하면, 전자 장치(101)는 P2P 서비스와 관련된 블루투스 어플리케이션을 통해 서비스 핸드오버를 사용자에게 알릴 수 있다. 예컨대, 상기 블루투스 어플리케이션의 실행에 따라 서비스 핸드오버 알림 화면(2000)이 표시될 수 있다.
본 문서의 다양한 실시 예에 따른 서비스 핸드오버 알림 화면(2000)은 서비스 핸드오버에 따른 통신 방식 정보(예, 'Bluetooth') 또는 서비스 핸드오버가 수행되는 전자 장치의 목록(2010)을 표시할 수 있다. 예컨대, 상기 전자 장치 목록(2010)에는 외부 전자 장치(102)와 해당 통신 방식으로 연결 가능한 장치들(외부 전자 장치(102)의 차량 장치(AAA car)(2001))를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)의 사용자가 상기 전자 장치 목록(2010) 중 외부 전자 장치(102)의 차량 장치(2001)를 선택함에 따라, 상기 외부 전자 장치(102)의 차량 장치(2001)로 서비스 핸드오버가 수행되어 상기 전자 장치(101)와 상기 외부 전자 장치(102)의 차량 장치(2001)와의 P2P 통신이 수행될 수 있다.
도 21은 본 문서의 다양한 실시 예에 따른 전자 장치들 간의 P2P 서비스에 있어서 서비스 핸드오버 장치를 디스커버리하는 동작의 일 예를 도시한 흐름도이다.
도 21을 참조하면, 2110 동작에서 전자 장치(101)는 상기 전자 장치(101)의 음원을 적어도 하나의 외부 전자 장치(예, 102)를 통해 출력시키기 위한 음악 공유 서비스가 요청됨을 확인할 수 있다.
2120 동작에서 전자 장치(101)는 외부 전자 장치(102)를 디스커버리할 수 있다. 예컨대, 전자 장치(102)는 외부 전자 장치(102)를 디스커버리된 장치로 판단할 수 있다.
2121 동작에서 전자 장치(101)는 외부 전자 장치(102)로 P2P 서비스를 위한 연결을 요청할 수 있다.
2122 동작에서 전자 장치(101)는 연결 요청에 상응하여, 외부 전자 장치(102)와의 GATT 연결을 수립할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 GATT 연결을 통해 외부 전자 장치(102)와 BLE 페어링을 수행할 수 있으나, 해당 P2P 서비스는 전자 장치(101)의 음원을 외부 전자 장치의 블루투스 A2DP 장치로 출력하기 위한 것으로, 외부 전자 장치(102)와의 페어링 동작은 생략될 수 있다.
2140 동작에서 전자 장치(101)는 외부 전자 장치(102)에 대한 인증을 수행할 수 있다.
2141 동작에서 외부 전자 장치(102)는 전자 장치(101)로 외부 전자 장치(102)와의 통신과 관련된 정보를 전송할 수 있다. 예컨대, 상기 정보는 외부 전자 장치(102)와 연결 가능한 통신 방식 또는 통신 속성과 관련된 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 교환된 정보에 기반하여 외부 전자 장치(102)가 통신 범위 내에 위치하고 있는지를 확인할 수 있으나, 해당 P2P 서비스는 외부 전자 장치(102)와 연결된 장치로 서비스 핸드오버하여 전자 장치(101)의 음원을 외부 전자 장치(102)와 연결된 장치에서 출력시키기 위한 것으로, 전술된 통신 범위를 확인하는 동작은 생략될 수 있다.
2150 동작에서 전자 장치(101)는 서비스 핸드오버를 위한 전자 장치를 디스커버리 할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(102)로부터 수신한 통신과 관련된 정보에 기반하여, P2P 서비스를 수행할 장치(예: 주변 장치(2101)) 및 상기 P2P2 서비스를 수행할 장치와 통신 연결을 수행할 방식을 결정할 수 있다.
2151 동작에서 전자 장치(101)는 서비스 핸드오버와 관련된 정보를 외부 전자 장치(102)로 전송할 수 있다. 예컨대, 서비스 핸드오버 관련 정보는, 외부 전자 장치(102)와 교환된 통신 정보를 기반으로, 음악 공유 서비스를 수행할 전자 장치 정보(예, 외부 전자 장치(102) 또는 주변 장치(2101), 통신 방식 또는 통신 속성과 관련된 정보를 포함할 수 있다.
2160 동작에서 외부 전자 장치(102)는 전자 장치(101)가 전송한 서비스 핸드오버 관련 정보를 확인할 수 있다.
2161 동작에서 외부 전자 장치(102)는 상기 음악 공유 서비스의 어플리케이션 또는 상기 서비스 핸드오버 관련 정보에 포함된 주변 장치(2101)로의 서비스 핸드오버를 알릴 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 상기 교환된 주변 장치 정보에 기반하여, 상기 음악 공유 서비스가 수행될 외부 전자 장치(102)의 주변 장치(2101)(예, A2DP 장치) 및 상기 주변 장치(2101)와 음악 공유 서비스를 수행할 통신 방식(예, 블루투스)을 확인할 수 있다.
2170 동작에서 전자 장치(101)와 외부 전자 장치(102)는 P2P 서비스를 수행할 수 있다.
2171 동작에서 외부 전자 장치(102)는 주변 장치(2101)와의 P2P 서비스를 수행할 수 있다. 예컨대, 전자 장치(101)는 주변 장치(2101)로 블루투스 연결을 통해 전자 장치(101)의 음원을 전달하고, 상기 음원이 상기 주변 장치(2101)에서 출력되도록 제어할 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    통신 모듈;
    보안 모듈;
    상기 통신 모듈 및 상기 보안 모듈과 작동적으로 연결된 프로세서; 및
    상기 프로세서와 작동적으로 연결된 메모리;를 포함하고,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    P2P(peer to pear) 서비스가 요청됨에 따라, 외부 전자 장치로부터 공개 키를 수신하고,
    상기 보안 모듈을 통해 상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하고,
    상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고,
    상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하고,
    상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하고,
    상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 통신 모듈을 통해 상기 외부 전자 장치와 상기 P2P 서비스를 수행하도록 하는 인스트럭션들(instructions)을 저장하는, 전자 장치.
  2. 제1항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 통신 모듈을 통해, 상기 외부 전자 장치와의 GATT(generic attribute profile) 연결을 통해 상기 공개 키를 수신하고 상기 암호화된 외부 전자 장치의 정보를 수신하도록 하는, 전자 장치.
  3. 제1항에 있어서,
    상기 암호화된 상기 외부 전자 장치의 정보는 상기 외부 전자 장치의 전화 번호 중 적어도 일부를 포함하며,
    상기 인스트럭션들은 상기 프로세서가,
    상기 외부 전자 장치의 전화 번호를 상기 공용 키로 복호하고,
    상기 복호된 값을 상기 메모리에 저장된 상기 외부 전자 장치의 전화 번호와 비교하여 상기 외부 전자 장치를 유효성을 확인하도록 하는, 전자 장치.
  4. 제1항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    ECDH(Elliptic Curve Diffie-Hellman) 규칙에 따라 상기 공용 키가 상기 외부 전자 장치와 동일한 공용 키로 생성하도록 하는, 전자 장치.
  5. 전자 장치에 있어서,
    적어도 하나의 통신 모듈;
    상기 통신 모듈과 작동적으로 연결된 프로세서; 및
    상기 프로세서와 작동적으로 연결된 메모리;를 포함하고,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 통신 모듈을 통하여, 외부 전자 장치와의 서비스 요청을 확인하고,
    상기 외부 전자 장치에 대한 인증을 수행하고,
    상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하도록 상기 통신 모듈을 제어하고,
    상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하고,
    상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 상기 서비스를 연결하기 위한 제2 근거리 통신을 확인하고,
    상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 연결하도록 상기 통신 모듈을 제어하는 인스트럭션들(instructions)을 저장하는, 전자 장치.
  6. 제5항에 있어서,
    상기 프로세서와 작동적으로 연결된 보안 모듈;을 더 포함하며,
    상기 인스트럭션들은 상기 프로세서가,
    상기 외부 전자 장치로 공개 키를 전송하고,
    상기 외부 전자 장치로부터 상기 전송된 공개 키에 기반하여 생성된 인증서 체인을 수신하고,
    상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하고,
    상기 인증서 체인을 검증한 결과에 기반하여, 상기 외부 전자 장치와 공통으로 사용되는 공용 키를 확인하도록 상기 보안 모듈을 제어하도록 하는, 전자 장치.
  7. 제6항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 공용 키에 기반하여 상기 통신 정보를 복호하고,
    상기 복호된 통신 정보에 기반하여 상기 외부 전자 장치와의 이전 통신 연결의 정보를 확인하도록 하는, 전자 장치.
  8. 제7항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    랜덤으로 생성되는 난수(nonce) 값과 상기 난수 값에 대한 타임 스탬프를 확인하고,
    상기 난수 값을 상기 공용 키로 암호화하도록 상기 보안 모듈을 제어하도록 하는 전자 장치.
  9. 제8항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 암호화된 난수 값이 상기 외부 전자 장치로 전송되도록 상기 통신 모듈을 제어하고,
    상기 확인된 타임 스탬프의 값에 기반하여, 상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는지 여부를 확인하고,
    상기 복호된 통신 정보와 상기 확인된 난수 값이 대응하는 것으로 판단함에 따라, 상기 외부 전자 장치와 이전에 근거리 통신이 수행된 것으로 확인하도록 하는 전자 장치.
  10. 제5항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 제1 근거리 통신의 연결을 해제하고 상기 제2 근거리 통신의 연결을 수립하도록 하는, 전자 장치.
  11. 제5항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 외부 전자 장치와의 제2 근거리 통신의 연결을 확인함에 따른 서비스 핸드오버 정보를 확인하고,
    상기 P2P 서비스와 어플리케이션으로 상기 서비스 핸드오버 정보를 전달하도록 하는, 전자 장치.
  12. 제11항에 있어서,
    상기 서비스 핸드오버 정보는, 상기 P2P 서비스가 수행되는 통신 방식과 관련된 설정 정보, 상기 서비스 핸드오버가 수행되는 적어도 하나의 주변 장치의 식별 정보, 상기 적어도 하나의 주변 장치의 통신 정보 중 적어도 하나를 포함하는, 전자 장치.
  13. 전자 장치에서의 P2P(peer to pear) 서비스 수행 방법에 있어서,
    P2P 서비스가 요청됨에 따라, 외부 전자 장치로부터 공개 키를 수신하는 동작;
    상기 수신된 공개 키에 기반하여 생성된 인증서 체인을 상기 외부 전자 장치로 전송하는 동작;
    상기 보안 모듈에 저장된 루트 인증서를 이용하여 상기 외부 전자 장치로부터 수신된 인증서 체인을 검증하는 동작;
    상기 외부 전자 장치로부터 암호화된 상기 외부 전자 장치의 정보를 수신하는 동작;
    상기 수신된 인증서 체인의 검증 결과에 따라 생성된 공용 키를 이용하여 상기 암호화된 상기 외부 전자 장치의 정보를 복호하는 동작;
    상기 복호된 상기 외부 전자 장치의 정보에 기반하여, 상기 외부 전자 장치와 상기 P2P 서비스를 수행하는 동작;을 포함하는, P2P 서비스 수행 방법.
  14. 제13항에 있어서,
    상기 외부 전자 장치와의 GATT 연결을 통해 상기 공개 키를 수신하고 상기 암호화된 외부 전자 장치의 정보를 수신하는 동작;을 더 포함하는, P2P 서비스 수행 방법.
  15. 전자 장치에서의 P2P(peer to pear) 서비스 수행 방법에 있어서,
    외부 전자 장치와의 서비스 요청을 확인하는 동작;
    상기 외부 전자 장치에 대한 인증을 수행하는 동작;
    상기 인증의 수행 결과에 따라, 상기 외부 전자 장치와의 제1 근거리 통신의 연결을 수립하는 동작;
    상기 제1 근거리 통신을 통해 상기 외부 전자 장치의 통신 정보를 수신하는 동작;
    상기 확인된 통신 정보에 기반하여, 상기 외부 전자 장치와 연결하기 위한 제2 근거리 통신을 확인하는 동작;
    상기 제2 근거리 통신을 통해 상기 외부 전자 장치와 상기 서비스를 연결하도록 제어하는 동작;을 포함하는, P2P 서비스 수행 방법.
PCT/KR2021/001738 2020-02-10 2021-02-09 전자 장치 및 전자 장치에서의 피어 투 피어 서비스 수행 방법 WO2021162427A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180013887.6A CN115104283A (zh) 2020-02-10 2021-02-09 电子设备和用于在电子设备中执行对等服务的方法
EP21753239.9A EP4102770A4 (en) 2020-02-10 2021-02-09 ELECTRONIC DEVICE AND METHOD FOR PEER-TO-PEER SERVICE IN AN 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 (4)

Application Number Priority Date Filing Date Title
KR20200015937 2020-02-10
KR10-2020-0015937 2020-02-10
KR10-2020-0016684 2020-02-11
KR1020200016684A KR20210101998A (ko) 2020-02-10 2020-02-11 전자 장치 및 전자 장치에서의 p2p 서비스 수행 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/882,212 Continuation US20220377553A1 (en) 2020-02-10 2022-08-05 Electronic device and method for performing peer to peer service in electronic device

Publications (1)

Publication Number Publication Date
WO2021162427A1 true WO2021162427A1 (ko) 2021-08-19

Family

ID=77292379

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/001738 WO2021162427A1 (ko) 2020-02-10 2021-02-09 전자 장치 및 전자 장치에서의 피어 투 피어 서비스 수행 방법

Country Status (4)

Country Link
US (1) US20220377553A1 (ko)
EP (1) EP4102770A4 (ko)
CN (1) CN115104283A (ko)
WO (1) WO2021162427A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023039294A3 (en) * 2021-09-13 2023-04-20 Sonos, Inc. Techniques for flexible control of playback devices

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11677560B2 (en) * 2021-03-09 2023-06-13 Micron Technology, Inc. Utilization of a memory device as security token

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160344712A1 (en) * 2014-05-14 2016-11-24 Huawei Technologies., Ltd. Terminal Pairing Method and Pairing Terminal
US20180324156A1 (en) * 2017-05-06 2018-11-08 Vmware, Inc. Virtual desktop client connection continuity
KR20190030210A (ko) * 2016-07-19 2019-03-21 퀄컴 인코포레이티드 D2d 네트워크를 통한 네트워크 서버 등록 크리덴셜들의 교환
US10326797B1 (en) * 2018-10-03 2019-06-18 Clover Network, Inc Provisioning a secure connection using a pre-shared key
US20200036702A1 (en) * 2016-08-29 2020-01-30 Ivanti, Inc. Systems and methods for credentials distribution

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE359652T1 (de) * 2001-02-06 2007-05-15 Certicom Corp Mobile zertifikatverteilung in einer infrastruktur mit öffentlichem schlüssel
US20050177715A1 (en) * 2004-02-09 2005-08-11 Microsoft Corporation Method and system for managing identities in a peer-to-peer networking environment
US8892887B2 (en) * 2006-10-10 2014-11-18 Qualcomm Incorporated Method and apparatus for mutual authentication
US8150039B2 (en) * 2008-04-15 2012-04-03 Apple Inc. Single security model in booting a computing device
CN103856463A (zh) * 2012-12-04 2014-06-11 航天信息股份有限公司 基于密钥交换协议的轻量目录访问协议实现方法和装置
CN108259159B (zh) * 2014-02-05 2021-02-05 苹果公司 用于在控制器和附件之间进行配对的方法和系统
US9231925B1 (en) * 2014-09-16 2016-01-05 Keypasco Ab Network authentication method for secure electronic transactions
US10149159B1 (en) * 2015-03-19 2018-12-04 Proxidyne, Inc. Trusted beacon system and method
US10122801B2 (en) * 2015-07-02 2018-11-06 Qualcomm Incorporated Service discovery and topology management
US9980142B2 (en) * 2016-03-22 2018-05-22 Google Llc Methods and apparatus for SIM-based authentication of non-SIM devices
KR102560805B1 (ko) * 2016-05-30 2023-07-28 주식회사 알티캐스트 IoT 환경에서 P2P 데이터 보안 서비스 제공 방법 및 장치
WO2018045561A1 (zh) * 2016-09-09 2018-03-15 华为技术有限公司 一种文件的发送方法、接收方法及终端
KR20190058914A (ko) * 2017-11-22 2019-05-30 삼성전자주식회사 전자 장치 및 전자 장치에서 서비스 키를 관리하는 방법
US10721621B2 (en) * 2018-05-23 2020-07-21 Cisco Technology, Inc. Updating policy for a video flow during transitions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160344712A1 (en) * 2014-05-14 2016-11-24 Huawei Technologies., Ltd. Terminal Pairing Method and Pairing Terminal
KR20190030210A (ko) * 2016-07-19 2019-03-21 퀄컴 인코포레이티드 D2d 네트워크를 통한 네트워크 서버 등록 크리덴셜들의 교환
US20200036702A1 (en) * 2016-08-29 2020-01-30 Ivanti, Inc. Systems and methods for credentials distribution
US20180324156A1 (en) * 2017-05-06 2018-11-08 Vmware, Inc. Virtual desktop client connection continuity
US10326797B1 (en) * 2018-10-03 2019-06-18 Clover Network, Inc Provisioning a secure connection using a pre-shared key

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4102770A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023039294A3 (en) * 2021-09-13 2023-04-20 Sonos, Inc. Techniques for flexible control of playback devices

Also Published As

Publication number Publication date
EP4102770A4 (en) 2023-11-01
EP4102770A1 (en) 2022-12-14
US20220377553A1 (en) 2022-11-24
CN115104283A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
WO2019231252A1 (en) Electronic device for authenticating user and operating method thereof
WO2018117354A1 (en) Method for providing content corresponding to accessory and electronic device thereof
WO2021025482A1 (en) Electronic device and method for generating attestation certificate based on fused key
WO2020050555A1 (en) Method for uwb transaction and electronic device therefor
WO2016072749A1 (en) Electronic device, and method for analyzing face information in electronic device
WO2015137745A1 (en) System and method of encrypting folder in device
WO2015115723A1 (ko) 무선 충전 장치와 단말, 그를 포함하는 무선 충전 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
WO2020022578A1 (ko) 무선 충전을 이용하여 통신 채널을 제어하는 전자 장치 및 전자 장치의 동작 방법
WO2017003096A1 (ko) 디바이스들 간의 연결 설립 방법
WO2019031708A1 (en) ELECTRONIC DEVICE AND METHOD FOR PROCESSING INFORMATION RELATING TO DRIVING
AU2019337074B2 (en) Method for UWB transaction and electronic device therefor
WO2021002696A1 (en) Method for transferring subscription and electronic device for supporting the same
WO2019132555A1 (ko) 이모지가 포함된 메시지를 송수신하는 전자 장치 및 그 전자 장치를 제어하는 방법
WO2019139247A1 (en) Electronic device for managing embedded subscriber identification module and method for same
WO2021045463A1 (en) Electronic device and authentication method of electronic device
WO2016036069A1 (en) Method and electronic device for providing data
WO2021162427A1 (ko) 전자 장치 및 전자 장치에서의 피어 투 피어 서비스 수행 방법
WO2020054942A1 (ko) 액세서리를 이용하여 인증을 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2021241849A1 (ko) 에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2018076875A1 (zh) 备份数据的同步方法、装置、存储介质、电子设备及服务器
WO2020032649A1 (en) Electronic device and communication relaying method thereof
WO2019143081A1 (ko) 데이터 통신을 제어하는 방법 및 전자 장치
WO2016048054A2 (ko) 데이터 통신 보안을 위한 방법, 장치 및 시스템
WO2019194428A1 (ko) 외부 전자 장치의 키를 공유하는 전자 장치 및 전자 장치의 동작 방법
WO2022092918A1 (ko) 초광대역 통신을 이용한 결제 방법 및 장치

Legal Events

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

Ref document number: 21753239

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202217050706

Country of ref document: IN

ENP Entry into the national phase

Ref document number: 2021753239

Country of ref document: EP

Effective date: 20220907

NENP Non-entry into the national phase

Ref country code: DE