WO2016080798A1 - Method for performing pairing between devices in wireless communication system supporting bluetooth communication and apparatus therefor - Google Patents

Method for performing pairing between devices in wireless communication system supporting bluetooth communication and apparatus therefor Download PDF

Info

Publication number
WO2016080798A1
WO2016080798A1 PCT/KR2015/012515 KR2015012515W WO2016080798A1 WO 2016080798 A1 WO2016080798 A1 WO 2016080798A1 KR 2015012515 W KR2015012515 W KR 2015012515W WO 2016080798 A1 WO2016080798 A1 WO 2016080798A1
Authority
WO
WIPO (PCT)
Prior art keywords
pairing
delegation
message
input
authentication
Prior art date
Application number
PCT/KR2015/012515
Other languages
French (fr)
Korean (ko)
Inventor
양현식
최진구
이민수
권영환
Original Assignee
엘지전자(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자(주) filed Critical 엘지전자(주)
Publication of WO2016080798A1 publication Critical patent/WO2016080798A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices

Definitions

  • the present disclosure relates to a wireless communication system supporting Bluetooth communication, and more particularly, to a method of performing a pairing and connection procedure between devices.
  • Bluetooth is one of the representative short-range wireless technologies that exchange information by connecting various devices (smartphones, PCs, earphones, headphones, etc.).
  • the technology applied to most smartphones, PCs, laptops, etc. many people are easy to use, easy pairing process provides a stable connection between devices.
  • Recently developed LE technology can reliably provide hundreds of KB of information while consuming less power.
  • Bluetooth standard technology is divided into BR / EDR (Basic Rate / Enhanced Data Rate) and LE (Low Energy).
  • Bluetooth Low Energy (hereinafter referred to as “BLE”) is a technology released since Bluetooth Specification V4.0, and is designed to achieve higher energy efficiency than Bluetooth.
  • Bluetooth connection uses a method of requesting a connection from one device to another to be controlled by a user.
  • Secure Simple Pairing which is performed for security in this process, is performed according to I / O of two devices.
  • Such a method is a direct control method, and various differences of UX for each user appear according to the UI of the controlled device.
  • the various devices of Bluetooth have a limited state of I / O, so even if desired, there is a limitation in providing a secure connection through Secure Simple Pairing.
  • an object of the present specification is to provide a method of performing pairing / connection of another device (no I / O function) through a third device (pairing delegator).
  • the present specification provides a pairing delegation method in which a third device provides I / O (Input / Output) instead when performing connection control protocol and secure simple pairing between devices using Bluetooth technology.
  • I / O Input / Output
  • an object of the present specification is to provide an authentication method using a soft pattern so that a user can easily authenticate two devices.
  • the present disclosure provides a method for performing pairing between devices in a wireless communication system supporting Bluetooth communication, the method performed by a first device comprising: performing device discovery; Performing a pairing delegation setup procedure with the second device to perform authentication with the third device via a second device having an input and / or output function; Exchanging input and / or output capability information with the third device; Determining an association model used for authentication with the third device; Sending a first message to the second device for requesting an input and / or output required for authentication with the third device; And receiving from the second device a second message comprising a result of the requested input and / or output.
  • the first message is a pairing delegation request message
  • the second message is a pairing delegation response message
  • performing the pairing delegation setup procedure may include: receiving a request for a pairing delegation status from the second device; And transmitting pairing delegation status information to the second device in response to the request.
  • the pairing delegation state information is a pairing delegation support field indicating whether pairing delegation is supported, a field for enabling or disabling the pairing delegation function, or a pairing indicating whether it is currently connected with another pairing delegator. And at least one of a pairing delegation status field.
  • the present disclosure may further include receiving input and / or output related information supported by the second device and security information supported when the pairing delegation function is activated from the second device.
  • input and / or output related information supported by the second device is characterized in that it is expressed in a bitmask (bitmask) method.
  • the security information in the present specification is characterized in that the information indicating whether at least one of the authentication (Authentication), Authorization (Authorization) or encryption (Encryption) function provided.
  • the security information may include at least one of a security mode or a security level.
  • the pairing delegation setup procedure may be performed through RFCOMM Protocol or Link Manager in case of Bluetooth BR / EDR, and may be performed through Attribute Protocol or Link Layer in case of Bluetooth LE. do.
  • association model in the present specification is characterized in that any one of a numeric comparison (Numeric Comparison), a passkey entry (Passkey Entry) or Out of Band.
  • the first message may include at least one of code information indicating a type of association model for authentication or timer information serving as a criterion for determining success or failure of pairing delegation.
  • the timer is started when the first message is transmitted, and the failure of the pairing delegation is characterized in that when the timer does not receive the second message from the second device until expiration.
  • the result of the input and / or output is a value converted into a specific value according to a predetermined rule in a specific pattern, and the specific value is a six-digit random number used for a passkey entry. digits random number).
  • the specific pattern may be a pattern input by a user in the second device and the third device.
  • the first device is characterized in that the device does not have an input and / or output function.
  • the present specification provides a first device for performing a pairing (pairing) in a wireless communication system supporting Bluetooth communication, Communication unit for communicating with the outside by wireless or wired; And a processor operatively connected to the communication unit, wherein the processor is configured to perform device discovery; Perform a pairing delegation setup procedure with the second device to perform authentication with the third device via a second device having an Input and / or Output function; Exchange input and / or output capability information with the third device; Determine an association model used for authentication with the third device; Send a first message to the second device to request an input and / or output required for authentication with the third device; And control to receive from the second device a second message comprising a result of the requested input and / or output.
  • the present disclosure can provide an efficient and secure device-to-device connection using Bluetooth technology that provides low power consumption and stable connectivity.
  • the present specification has the effect of providing a high security by using a pairing delegation (pairing delegation) service security weakness problem of the device without the I / O function.
  • the present specification has an effect that the user can easily and conveniently perform the Bluetooth authentication procedure by performing the authentication procedure through a soft pattern.
  • FIG. 1 is a schematic diagram illustrating an example of a wireless communication system using Bluetooth low power energy technology to which the method proposed in the present specification may be applied.
  • FIG. 2 shows an example of an internal block diagram of a server device and a client device that can implement the methods proposed herein.
  • FIG. 3 shows an example of a Bluetooth low power energy topology.
  • 4 and 5 illustrate examples of a Bluetooth communication architecture to which the methods proposed herein may be applied.
  • FIG. 6 is a flowchart illustrating an example of a connection procedure method in a Bluetooth low power energy technology.
  • FIG. 7 is a flowchart illustrating an example of a method for providing an object transfer service in a Bluetooth low energy energy technology.
  • FIG. 8 is a flowchart illustrating an example of a connection procedure method in a Bluetooth BR / EDR technology.
  • FIG. 9 is a diagram illustrating an example of architectures of Bluetooth BR / EDR and Bluetooth LE that define a pairing delegation service and a profile proposed in the present specification.
  • FIG. 10 is a diagram illustrating an example of a method for performing secure simple pairing using a pairing delegator in a Bluetooth architecture proposed in the present specification.
  • 11 is a view comparing the Bluetooth pairing procedure proposed by the present and the present specification.
  • FIG. 12 is a flowchart illustrating an example of a pairing delegation protocol using a pairing delegator proposed in the present specification.
  • FIG. 13 is a flowchart illustrating an example of a pairing delegation protocol in BLE proposed herein.
  • FIG. 14 is a flowchart illustrating an example of a pairing delegation protocol in the Bluetooth BR / EDR proposed in the specification.
  • FIG. 15 is a diagram illustrating an example of a format of a pairing delegation packet proposed in the present specification.
  • 16 is a diagram illustrating a general authentication method and an authentication method using a soft pattern method proposed in the present specification, respectively.
  • 17 is a diagram illustrating an authentication method using a soft pattern proposed in the present specification.
  • FIG. 18 is a diagram illustrating an example of a pairing delegation setup procedure proposed in the present specification.
  • 19 is a flowchart illustrating an example of a method for performing an authentication procedure through a passkey entry association model in BLE proposed in the present specification.
  • 20 is a flowchart illustrating an example of pairing failure between devices due to the expiration of a timer proposed in the present specification.
  • 21 is a flowchart illustrating an example of an authentication method using a soft pattern proposed in the present specification.
  • 22 is a diagram illustrating an example of an authentication method using a number comparison association model in the Bluetooth BR / EDR proposed in the specification.
  • FIG. 23 is a diagram illustrating an example of an authentication method using a passkey entry in the Bluetooth BR / EDR proposed in the present specification.
  • module and “unit” for components used in the following description are merely given in consideration of ease of preparation of the present specification, and the “module” and “unit” may be used interchangeably with each other.
  • the device (device) described herein is a device capable of wireless communication, a mobile phone, including a smart phone, a tablet PC, a desktop computer, a notebook, a smart TV, a television including an IPTV and the like.
  • FIG. 1 is a schematic diagram illustrating an example of a wireless communication system using the Bluetooth low power energy technology proposed in the present specification.
  • the wireless communication system 100 includes at least one server device 110 and at least one client device 120.
  • the server device and the client device perform Bluetooth communication by using Bluetooth Low Energy (BLE) technology.
  • BLE Bluetooth Low Energy
  • BLE technology Compared to Bluetooth Basic Rate / Enhanced Data Rate (BR / EDR) technology, BLE technology has a relatively small duty cycle, enables low-cost production, and significantly reduces power consumption through low data rates. If you use a coin cell battery, it can operate for more than a year.
  • BR / EDR Bluetooth Basic Rate / Enhanced Data Rate
  • the BLE technology simplifies the connection procedure between devices, and the packet size is smaller than that of the Bluetooth BR / EDR technology.
  • the server device 110 may operate as a client device in a relationship with another device, and the client device may operate as a server device in a relationship with another device. That is, in the BLE communication system, any one device may operate as a server device or a client device, and if necessary, operate as a server device and a client device.
  • the server device 110 may include a data service device, a master device, a master, a server, a conductor, a host device, an audio source device,
  • the client device may be a slave device, a slave device, a slave device, a client, a member, a sink device, an audio sink device, or a second device. It may be represented by a device or the like.
  • the server device and the client device correspond to the main components of the wireless communication system, and the wireless communication system may include other components in addition to the server device and the client device.
  • the server device refers to a device that receives data from a client and directly communicates with the client device, thereby providing data to the client device through a response when receiving a data request from the client device.
  • the server device also sends a notification message and an indication message to the client device to provide data information to the client device.
  • the server device transmits an indication message to the client device
  • the server device receives a confirmation message corresponding to the indication message from the client.
  • the server device provides data information to the user through a display unit or receives a request input from the user through a user input interface in the process of transmitting and receiving notification, indication, and confirmation messages with the client device. can do.
  • the server device may read data from a memory unit or write new data to a corresponding memory in a process of transmitting and receiving a message with the client device.
  • one server device may be connected to a plurality of client devices, and may be easily reconnected (or connected) with the client devices by using bonding information.
  • the client device 120 refers to an apparatus for requesting data information and data transmission from a server device.
  • the client device receives data from the server device through a notification message, an instruction message, and the like, and when receiving an instruction message from the server device, sends a confirmation message in response to the instruction message.
  • the client device may provide information to the user through an output unit or receive an input from the user through an input unit in the process of transmitting and receiving messages with the server device.
  • the client device may read data from the memory or write new data to the memory in the process of transmitting and receiving a message with the server device.
  • Hardware components such as an output unit, an input unit, and a memory of the server device and the client device will be described in detail with reference to FIG. 2.
  • the wireless communication system may configure Personal Area Networking (PAN) through Bluetooth technology.
  • PAN Personal Area Networking
  • the wireless communication system by establishing a private piconet between devices, files, documents, and the like can be exchanged quickly and securely.
  • the BLE device (or device) may be operable to support various Bluetooth-related protocols, profiles, processing, and the like.
  • FIG. 2 shows an example of an internal block diagram of a server device and a client device that can implement the methods proposed herein.
  • the server device may be connected with at least one client device.
  • each device may further include other components (modules, blocks, and parts), and some of the components of FIG. 2 may be omitted.
  • the server device includes an output unit 111, a user input interface 112, a power supply unit 113, a processor 114, and a memory unit. 115, a Bluetooth interface 116, another communication interface 117, and a communication unit (or a transceiver unit 118).
  • the output unit 111, the input unit 112, the power supply unit 113, the processor 114, the memory 115, the Bluetooth interface 116, the other communication interface 117 and the communication unit 118 are proposed herein. It is functionally linked to perform the method.
  • the client device may include an output unit 121, a user input interface 122, a power supply unit 123, a processor 124, a memory unit 125, and a Bluetooth interface. (Bluetooth Interface 126) and a communication unit (or a transceiver unit 127).
  • the output unit 121, the input unit 122, the power supply unit 123, the processor 124, the memory 125, the Bluetooth interface 126, and the communication unit 127 are used to perform the method proposed in this specification. Functionally connected
  • the Bluetooth interface 116, 126 refers to a unit (or module) capable of transmitting data or request / response, command, notification, indication / confirmation message, etc. between devices using Bluetooth technology.
  • the memories 115 and 125 are units implemented in various types of devices and refer to units in which various kinds of data are stored.
  • the processor 114, 124 refers to a module that controls the overall operation of the server device or the client device, and controls to process a message request and a received message through a Bluetooth interface and another communication interface.
  • the processors 114 and 124 may be represented by a controller, a control unit, a controller, or the like.
  • the processors 114 and 124 may include application-specific integrated circuits (ASICs), other chipsets, logic circuits, and / or data processing devices.
  • ASICs application-specific integrated circuits
  • the memories 115 and 125 may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices.
  • ROM read-only memory
  • RAM random access memory
  • flash memory memory cards, storage media, and / or other storage devices.
  • the communication unit 118 and 127 may include a baseband circuit for processing a radio signal.
  • the above-described technique may be implemented as a module (process, function, etc.) for performing the above-described function.
  • the module may be stored in memory and executed by a processor.
  • the memories 115 and 125 may be inside or outside the processors 114 and 124, and may be connected to the processors 114 and 124 by various well-known means.
  • the output units 111 and 121 refer to modules for providing device status information and message exchange information to a user through a screen.
  • the power supply unit refers to a module for supplying power required for the operation of each component by receiving the external power, the internal power under the control of the controller.
  • BLE technology has a small duty cycle, and the low data rate can greatly reduce power consumption, so that the power supply is required for the operation of each component with less output power (10 mW (10 dBm or less)). Can supply power.
  • the input units 112 and 122 refer to a module that provides a user's input to the controller like a screen button so that the user can control the operation of the device.
  • FIG. 3 shows an example of a Bluetooth low power energy topology.
  • device A corresponds to a master in a piconet (piconet A, shaded portion) having device B and device C as slaves.
  • a piconet means a set of devices occupying a shared physical channel in which any one of a plurality of devices is a master and the remaining devices are connected to the master device.
  • the BLE slave does not share a common physical channel with the master. Each slave communicates with the master through a separate physical channel. There is another piconet (piconet F) with master device F and slave device G.
  • a scatternet means a group of piconets in which connections between other piconets exist.
  • Device K is a master of device L and a slave of device M.
  • Device O is also on scatternet O.
  • Device O is a slave of device P and a slave of device Q.
  • Device D is an advertiser and device A is an initiator (group D).
  • Device E is a scanner and device C is an advertiser (group C).
  • Device H is an advertiser and devices I and J are scanners (group H).
  • Device K is also an advertiser and device N is an initiator (group K).
  • Device R is an advertiser and device O is an initiator (group R).
  • Devices A and B use one BLE piconet physical channel.
  • Devices A and C use another BLE piconet physical channel.
  • device D advertises using an advertisement event connectable onto an advertising physical channel, and device A is an initiator.
  • Device A may establish a connection with device D and add the device to piconet A.
  • device C advertises on the ad physical channel using some type of advertisement event captured by scanner device E.
  • Group D and Group C may use different advertising physical channels or use different times to avoid collisions.
  • Piconet F has one physical channel. Devices F and G use one BLE piconet physical channel. Device F is the master and device G is the slave.
  • Group H has one physical channel. Devices H, I and J use one BLE advertising physical channel. Device H is an advertiser and devices I and J are scanners.
  • devices K and L use one BLE piconet physical channel.
  • Devices K and M use another BLE piconet physical channel.
  • device K advertises using an advertisement event connectable onto an advertising physical channel
  • device N is an initiator.
  • Device N may form a connection with device K.
  • device K becomes a slave of two devices and simultaneously becomes a master of one device.
  • devices O and P use one BLE piconet physical channel.
  • Devices O and Q use another BLE piconet physical channel.
  • device R advertises using an advertisement event connectable onto an advertising physical channel, and device O is an initiator.
  • Device O may form a connection with device R.
  • device O becomes a slave of two devices and simultaneously becomes a master of one device.
  • 4 and 5 illustrate examples of a Bluetooth communication architecture to which the methods proposed herein may be applied.
  • FIG. 4 illustrates an example of the architecture of Bluetooth Basic Rate (BR) / Enhanced Data Rate (EDR)
  • FIG. 5 illustrates an example of the architecture of Bluetooth Low Energy (LE).
  • BR Bluetooth Basic Rate
  • EDR Enhanced Data Rate
  • LE Bluetooth Low Energy
  • the Bluetooth BR / EDR architecture includes a controller stack (Controller stACK, 410), a host controller interface (420), and a host stack (Host stACK, 430).
  • the controller stack refers to a radio transceiver module receiving a 2.4 GHz Bluetooth signal and hardware for transmitting or receiving a Bluetooth packet, and include a BR / EDR radio layer 411 and a BR / EDR baseband layer 412. ), And may include a BR / EDR Link Manager layer 413.
  • the BR / EDR radio layer 411 is a layer that transmits and receives a 2.4 GHz radio signal.
  • the BR / EDR radio layer 411 may transmit data by hopping 79 RF channels.
  • the BR / EDR baseband layer 412 plays a role of transmitting a digital signal, selects a channel sequence hopping 1600 times per second, and transmits a 625us length time slot for each channel.
  • the link manager layer 413 controls the overall operation (link setup, control, security) of the Bluetooth connection by using a link manager protocol (LMP).
  • LMP link manager protocol
  • the Link Manager layer can perform the following functions.
  • the host controller interface layer 420 provides an interface between the host module 430 and the controller module 410 to allow the host to provide commands and data to the controller, and the controller to provide events and data to the host. .
  • the host stack (or host module 430) includes L2CAP (437), Service Discovery Protocol (433), BR / EDR Protocol (432), BR / EDR Profiles (431), Attribute Protocol (436), and Generic Access Profile. (GAP, 434) and Generic Attribute Profile (GATT, 435).
  • the Logical Link Control and Adaptation Protocol (L2CAP) 437 provides one bidirectional channel for transmitting data to a specific protocol or profile.
  • the L2CAP multiplexes various protocols, profiles, etc. provided by the upper layer of Bluetooth.
  • L2CAP of Bluetooth BR / EDR uses dynamic channel, supports protocol service multiplexer, retransmission, streaming mode, and provides segmentation, reassembly, per-channel flow control, and error control.
  • the SDP (Service Discovery Protocol) 433 refers to a protocol for searching for a service (Profile and Protocol) supported by a Bluetooth device.
  • the BR / EDR Protocol and Profiles 432 and 431 define a profile using Bluet BR / EDR and an application protocol for transmitting and receiving these data.
  • the Attribute Protocol 436 has a Server-Client structure and defines a rule for accessing data of a counterpart device. There are six types of messages (Request message, Response message, Command message, Notification message, Indication message) as shown below.
  • the Generic Attribute Profile (GATT, 435) defines the type of attribute.
  • the Generic Access Profile defines a method for providing device discovery, connection, and providing information to a user, and provides privacy.
  • the BLE structure includes a controller stack operable to handle timing critical radio interface and a host stack operable to process high level data.
  • the controller stACK may be referred to as a controller.
  • the controller stACK will be referred to as a controller stACK to avoid confusion with a processor which is a device internal component mentioned in FIG. 2.
  • the controller stack may be implemented using a communication module that may include a Bluetooth radio and a processor module that may include a processing device such as, for example, a microprocessor.
  • the host stack may be implemented as part of an OS running on a processor module, or as an instance of a package on the OS.
  • controller stack and the host stack can be operated or executed on the same processing device in the processor module.
  • the host stack includes GAP (Generic Access Profile, 510), GATT based Profiles (520), GATT (Generic Attribute Profile, 530), ATT (Attribute Protocol, 540), SM (Security Manage, 550), L2CAP (Logical Link Control and Adaptation Protocol, 560).
  • GAP Generic Access Profile
  • GATT Generic Attribute Profile
  • ATT Generic Attribute Protocol
  • SR Attribute Protocol
  • SM Segtribute Protocol
  • L2CAP Logical Link Control and Adaptation Protocol, 560
  • the host stack is not limited to this and may include various protocols and profiles.
  • the host stack uses L2CAP to multiplex the various protocols, profiles, etc. provided by Bluetooth.
  • the Logical Link Control and Adaptation Protocol (L2CAP) 560 provides one bidirectional channel for transmitting data to a specific protocol or profile.
  • L2CAP may be operable to multiplex data among higher layer protocols, segment and reassemble packages, and manage multicast data transmission.
  • BLE uses three fixed channels (one for the signaling CH, one for the Security Manager, and one for the Attribute protocol).
  • BR / EDR Base Rate / Enhanced Data Rate
  • the SM (Security Manager, 550) is a protocol for authenticating devices and providing key distribution.
  • ATT Attribute Protocol, 540
  • ATT Application Protocol
  • the Request message is a message for requesting specific information from the client device to the server device
  • the Response message is a response message to the request message, and refers to a message transmitted from the server device to the client device.
  • Command message A message sent from the client device to the server device to indicate a command of a specific operation.
  • the server device does not transmit a response to the command message to the client device.
  • Notification message This message is sent from the server device to the client device for notification such as an event.
  • the client device does not transmit a confirmation message for the notification message to the server device.
  • Indication and Confirm message This message is transmitted from the server device to the client device for notification such as an event. Unlike the notification message, the client device transmits an acknowledgment message for the Indication message to the server device.
  • GAP Generic Access Profile
  • GAP is mainly used in the device discovery, connection creation and security procedures, and defines the way to provide information to the user, and defines the type of the attribute as follows.
  • GATT-based Profiles are profiles that depend on GATT and are mainly applied to BLE devices.
  • GATT-based Profiles may be Battery, Time, FindMe, Proximity, Time, Object Delivery Service, and the like. Details of GATT-based Profiles are as follows.
  • GATT may be operable as a protocol describing how ATT is used in the configuration of services.
  • the GATT may be operable to specify how ATT attributes are grouped together into services, and may be operable to describe features associated with the services.
  • GATT and ATT may use features to describe the state and services of a device and to describe how features relate to each other and how they are used.
  • the controller stack includes a physical layer 590, a link layer 580, and a host controller interface 570.
  • the physical layer (wireless transmit / receive module 590) transmits and receives a 2.4 GHz radio signal and uses Gaussian Frequency Shift Keying (GFSK) modulation and a frequency hopping method consisting of 40 RF channels.
  • GFSK Gaussian Frequency Shift Keying
  • Link layer 580 sends or receives Bluetooth packets.
  • the link layer creates a connection between devices after performing advertising and scanning functions using three advertising channels, and provides a function of sending and receiving data packets of up to 42 bytes through 37 data channels.
  • HCI Host Controller Interface
  • the BLE procedure may be classified into a device filtering procedure, an advertising procedure, a scanning procedure, a discovery procedure, a connecting procedure, and the like.
  • the device filtering procedure is a method for reducing the number of devices performing a response to a request, an indication, a notification, and the like in the controller stack.
  • the controller stack can control the number of requests sent, reducing power consumption in the BLE controller stack.
  • the advertising device or scanning device may perform the device filtering procedure to limit the device receiving the advertising packet, scan request or connection request.
  • the advertising device refers to a device that transmits an advertising event, that is, performs an advertisement, and is also referred to as an advertiser.
  • the scanning device refers to a device that performs scanning and a device that transmits a scan request.
  • the scanning device when the scanning device receives some advertising packets from the advertising device, the scanning device should send a scan request to the advertising device.
  • the scanning device may ignore the advertisement packets transmitted from the advertisement device.
  • the device filtering procedure may also be used in the connection request process. If device filtering is used in the connection request process, it is not necessary to transmit a response to the connection request by ignoring the connection request.
  • the advertising device performs an advertising procedure to perform a non-directional broadcast to the devices in the area.
  • non-directional broadcast refers to broadcast in all directions rather than broadcast in a specific direction.
  • Non-directional broadcasts refer to broadcasts in a particular direction. Non-directional broadcasts occur without a connection procedure between an advertising device and a device in a listening (or listening) state (hereinafter referred to as a listening device).
  • the advertising procedure is used to establish a Bluetooth connection with a nearby initiating device.
  • the advertising procedure may be used to provide periodic broadcast of user data to the scanning devices that are listening on the advertising channel.
  • the advertising devices may receive a scan request from listening devices that are listening to obtain additional user data from the advertising device.
  • the advertising device transmits a response to the scan request to the device that sent the scan request through the same advertising physical channel as the received advertising physical channel.
  • Broadcast user data sent as part of an advertisement packet is dynamic data, while scan response data is generally static data.
  • the advertising device may receive a connection request from the initiating device on the advertising (broadcast) physical channel. If the advertising device used a connectable advertising event and the initiating device was not filtered by the device filtering procedure, the advertising device stops the advertising and enters the connected mode. The advertising device may start advertising again after the connected mode.
  • the device performing the scanning i.e., the scanning device, performs a scanning procedure to listen to the non-directional broadcast of the user data from the advertising devices using the advertising physical channel.
  • the scanning device sends a scan request to the advertising device via the advertising physical channel to request additional user data from the advertising device.
  • the advertising device transmits a scan response that is a response to the scan request, including additional user data requested by the scanning device over the advertising physical channel.
  • the scanning procedure can be used while connected to other BLE devices in the BLE piconet.
  • the scanning device If the scanning device is in an initiator mode that can receive the broadcasted advertising event and initiate a connection request, the scanning device sends the connection request to the advertising device via the advertising physical channel to the advertising device. You can start a Bluetooth connection with.
  • the scanning device When the scanning device sends a connection request to the advertising device, the scanning device stops initiator mode scanning for further broadcast and enters the connected mode.
  • Bluetooth devices Devices capable of Bluetooth communication (hereinafter referred to as “Bluetooth devices”) perform an advertisement procedure and a scanning procedure to find devices that are nearby or to be found by other devices within a given area.
  • the discovery procedure is performed asymmetrically.
  • a Bluetooth device that attempts to find other devices around it is called a discovering device and listens for devices that advertise scannable advertising events.
  • Bluetooth devices discovered and available from other devices are referred to as discoverable devices, and actively broadcast advertising events so that other devices can scan through an advertising (broadcast) physical channel.
  • Both the discovering device and the discoverable device may already be connected with other Bluetooth devices in the piconet.
  • connection procedure is asymmetric, and the connection procedure requires the other Bluetooth device to perform the scanning procedure while the specific Bluetooth device performs the advertisement procedure.
  • the advertising procedure can be the goal, so that only one device will respond to the advertising.
  • the connection may be initiated by sending a connection request to the advertising device via the advertising (broadcast) physical channel.
  • Advertising state (Advertising State)
  • the link layer LL enters the advertisement state by the instruction of the host (stack). If the link layer is in the advertising state, the link layer sends advertisement PDUs (Packet Data Units) in the advertising events.
  • advertisement PDUs Packet Data Units
  • Each advertising event consists of at least one advertising PDU, which is transmitted via the advertising channel indexes used.
  • the advertisement event may terminate when the advertisement PDU is transmitted through each of the advertisement channel indexes used, or may terminate the advertisement event earlier when the advertisement device needs to make space for performing another function.
  • the link layer enters the scanning state by the indication of the host (stack). In the scanning state, the link layer listens for advertising channel indices.
  • scanning states There are two types of scanning states: passive scanning and active scanning, each scanning type being determined by the host.
  • ScanInterval is defined as the interval (interval) between the starting points of two consecutive scan windows.
  • the link layer must listen for completion of all scan intervals in the scan window as instructed by the host. In each scan window, the link layer must scan a different advertising channel index. The link layer uses all available advertising channel indexes.
  • the link layer When passive scanning, the link layer only receives packets and does not transmit any packets.
  • the link layer When active scanning, the link layer performs listening to rely on the advertising PDU type, which may request advertising PDUs and additional information related to the advertising device from the advertising device.
  • the link layer enters the initiation state by the indication of the host (stack).
  • the link layer When the link layer is in the initiating state, the link layer performs listening for the advertising channel indexes.
  • the link layer listens for the advertising channel index during the scan window period.
  • the link layer enters the connected state when the device performing the connection request, i.e., the initiating device, sends the CONNECT_REQ PDU to the advertising device or when the advertising device receives the CONNECT_REQ PDU from the initiating device.
  • connection After entering the connected state, the connection is considered to be created. However, it does not need to be considered to be established at the time the connection enters the connected state. The only difference between the newly created connection and the established connection is the link layer connection supervision timeout value.
  • the link layer that performs the master role is called a master, and the link layer that performs the slave role is called a slave.
  • the master controls the timing of the connection event, and the connection event is the point in time when the master and the slave are synchronized.
  • Master is a device that periodically scans the Connectable Advertising Signal and makes a connection request to an appropriate device to establish a connection with another device (slave, peripheral).
  • the master device sets timing and drives periodic data exchange.
  • timing may be a hopping rule that two devices decide to send and receive data on the same channel every time.
  • a slave (peripheral) device is a device that periodically transmits a connectable advertising signal to establish a connection with another device (master).
  • the master device that receives this sends a connection request, it accepts it to establish a connection.
  • the slave device After the slave device establishes a connection with the master device, it periodically exchanges data while hopping channels together at the timing specified by the master device.
  • BLE devices use the packets defined below.
  • the link layer has only one packet format used for both advertisement channel packets and data channel packets.
  • Each packet consists of four fields: Preamble, Access Address, PDU, and CRC.
  • the PDU When one packet is sent on an advertising physical channel, the PDU will be an advertising channel PDU, and when one packet is sent on a data physical channel, the PDU will be a data channel PDU.
  • the advertising channel PDU Packet Data Unit
  • PDU Packet Data Unit
  • the PDU type field of the advertising channel PDU included in the header indicates a PDU type as defined in Table 1 below.
  • advertising channel PDU types are called advertising PDUs and are used in specific events.
  • ADV_IND Connectable Non-Oriented Ads Event
  • ADV_DIRECT_IND Connectable Directional Advertising Event
  • ADV_NONCONN_IND Non-Connectable Non-Oriented Ads Event
  • ADV_SCAN_IND Scannable Non-Oriented Ads Event
  • the PDUs are transmitted at the link layer in the advertisement state and received by the link layer in the scanning state or initiating state.
  • the advertising channel PDU type below is called a scanning PDU and is used in the state described below.
  • SCAN_REQ Sent by the link layer in the scanning state and received by the link layer in the advertising state.
  • SCAN_RSP Sent by the link layer in the advertising state and received by the link layer in the scanning state.
  • the advertising channel PDU type below is called the initiating PDU.
  • CONNECT_REQ Sent by the link layer in the initiating state and received by the link layer in the advertising state.
  • PDUs Data Channel PDUs
  • the data channel PDU has a 16-bit header, payloads of various sizes, and may include a message integrity check (MIC) field.
  • MIC message integrity check
  • the procedure, state, packet format, etc. in the BLE technology may be applied to perform the methods proposed herein.
  • connection procedure in a Bluetooth LE a connection procedure in a Bluetooth LE, and as an example, a method of providing an object transmission service in a Bluetooth LE will be described.
  • FIG. 6 is a flowchart illustrating an example of a connection procedure method in a Bluetooth low power energy technology.
  • the server transmits an advertisement message to the client through the three advertising channels (S610).
  • the server may be called an advertiser before the connection, and may be called a master after the connection.
  • sensors such as a temperature sensor.
  • the client may be called a scanner before the connection, and may be called a slave after the connection.
  • An example of the client is a smartphone.
  • Bluetooth communicates over a total of 40 channels over the 2.4 GHz band.
  • Three of the 40 channels are advertising channels, and are used for exchanging packets to form a connection including various advertising packets.
  • the remaining 37 channels are used for data packet exchange after connection as data channel.
  • the client may transmit a scan request to the server to obtain additional data (eg, a server device name) from the server.
  • additional data eg, a server device name
  • the server transmits a scan response including the remaining data in response to the scan request to the client.
  • Scan Request and Scan Response are one kind of advertisement packet, and the advertisement packet may include only User Data of 31 bytes or less.
  • the data size is larger than 31 bytes, but there is a large data overhead for sending data through connection, the data is divided into two times using Scan Request / Scan Response.
  • the client transmits a connection request for establishing a Bluetooth connection with the server to the server (S620).
  • connection of the link layer LL is established between the server and the client.
  • the security establishment procedure may be interpreted as Secure Simple Pairing or may be performed including the same.
  • the security establishment procedure may be performed through Phase 1 to Phase 3.
  • a pairing procedure (Phase 1) is performed between the server and the client (S630).
  • the client transmits a pairing request to the server, and the server transmits a pairing response to the client.
  • Phase 2 legacy pairing or secure connections are performed between the server and the client (S640).
  • SSP Phase 3 a key distribution procedure is performed between the server and the client (S650).
  • FIG. 7 is a flowchart illustrating an example of a method for providing an object transfer service in a Bluetooth low energy energy technology.
  • Object Delivery Service or Object Transfer Service refers to a service supported by BLE for transmitting / receiving an object or data such as bulk data in Bluetooth communication.
  • an advertisement process and a scanning process corresponding to steps S710 to S730 are performed.
  • a server device transmits an advertisement message to a client device to inform the server device related information including an object transfer service (S710).
  • the advertisement message may be expressed as an advertisement packet data unit (PDU), an advertisement packet, an advertisement, an advertisement frame, an advertisement physical channel PDU, or the like.
  • PDU advertisement packet data unit
  • advertisement packet an advertisement packet
  • advertisement frame an advertisement frame
  • advertisement physical channel PDU an advertisement physical channel
  • the advertisement message may include service information (including a service name) provided by the server device, a name of the server device, manufacturer data, and the like.
  • the advertisement message may be transmitted to the client device in a broadcast manner or a unicast manner.
  • the client device transmits a scan request message to the server device in order to know more detailed information about the server device (S720).
  • the scan request message may be expressed as a scanning PDU, a scan request PDU, a scan request, a scan request frame, a scan request packet, and the like.
  • the server device transmits a scan response message to the client device in response to the scan request message received from the client device (S730).
  • the scan response message includes server device related information requested by the client device.
  • the server device related information may be an object or data that can be transmitted from a server device in connection with providing an object transfer service.
  • the server device and the client device perform an Initiating Connection process and a Data Exchange process corresponding to steps S740 to S770.
  • the client device transmits a connect request message to the server device for the Bluetooth communication connection with the server device (S740).
  • connection request message may be expressed as a connection request PDU, an initialization PDU, a connection request frame, a connection request, and the like.
  • a Bluetooth connection is established between the server device and the client device, and then the server device and the client device exchange data.
  • data may be transmitted and received through a data channel PDU.
  • the client device transmits an object data request to the server device through a data channel PDU (S750).
  • the data channel PDU may be represented by a data request message, a data request frame, or the like.
  • the server device transmits the object data requested by the client device to the client device through a data channel PDU (S760).
  • the data channel PDU is used to provide data or request data information to a counterpart device in a manner defined by an attribute protocol.
  • the server device transmits data change indication information to the client device through a data channel PDU to notify the change of data or an object (S770).
  • the client device requests changed object information to the server device to find changed data or changed objects (S780).
  • the server device transmits the changed object information from the server device to the client device in response to the changed object information request (S790).
  • the client device searches for the changed object through comparative analysis with the received changed object information and the object information currently owned by the client device.
  • the client device repeatedly performs steps S780 and S790 until it finds the changed object or data.
  • the host device or the client device may disconnect the connection state.
  • FIG. 8 is a flowchart illustrating an example of a connection procedure method in a Bluetooth BR / EDR technology.
  • connection procedure in the Bluetooth BR / EDR may include the following steps.
  • connection procedure may also be expressed as a pairing procedure.
  • the Bluetooth pairing procedure is divided into a standby state and a connected state only.
  • the device When the Bluetooth pairing is completed, the device is in the connected state, and the connected device is operated in the standby state.
  • the Bluetooth devices may be connected to a specific device through a connection procedure, and then perform a reconnection procedure to reconnect.
  • the reconnection procedure can be performed through the same procedure as the connection procedure.
  • the master device basically enters the standby state when the power is input.
  • the master device can be in the Inquiry State in order to discover the devices (slaves) that can be connected to the peripherals.
  • Inquiry scan state may be in order to receive a packet.
  • the master device which is in the query state, transmits an inquiry message using an ID packet once or at predetermined time intervals in order to find a device that can be connected nearby.
  • the ID packet may be a General Inquiry Access Code (GIAC) or a Dedicated Inqury Access Code (DIAC).
  • GIAC General Inquiry Access Code
  • DIAC Dedicated Inqury Access Code
  • the slave device After receiving the GIAC or DIAC, which is an ID packet transmitted by the master device, the slave device transmits a frequency hopping sequence (FHS) to perform Bluetooth pairing with the master device.
  • FHS frequency hopping sequence
  • an Extended Inquiry Response (hereinafter referred to as an EIR) may be transmitted to the master device.
  • the paging procedure (S812) is performed.
  • the paging procedure (S812) refers to a step of performing an actual connection by synchronizing a hopping sequence with address and clock information when a peripherally connectable Bluetooth device is found through the inquiring procedure.
  • the paging procedure includes the steps of (1) sending a page to the slave device by the master device, (2) sending a slave page response to the slave device, and (3) master page to the slave device. It may be divided into a step of transmitting a response.
  • the master device and the slave device After the enqueue procedure and the paging procedure are completed, the master device and the slave device perform a security establishment step (S814), and then perform an L2CAP connection and a service discovery step (S815).
  • the master device and the slave device exchange I (Input) / O (Output) capability with each other (S813).
  • the security establishment step may include or be interpreted to mean the Secure Simple Pairing procedure to be described later.
  • the L2CAP (Logical Link Control and Adaption Protocol) is a packet-based protocol similar to the UDP protocol. It has a packet size of maximum 672 bytes, but it can be changed up to 65,535 bytes when communication starts.
  • the master device may transmit data received from the user to the slave device (S816).
  • the master device and the slave device which perform the connection procedure do not exchange data with each other for a predetermined time, the master device and the slave device switch to the sleep state to prevent energy consumption, and the connection state is terminated.
  • the master device and the slave device perform a reconnection procedure to transmit / receive data again.
  • the reconnection procedure may be performed through the same steps as the salpin connection procedure.
  • SSPs can be divided into (1) I / O Capabilities exchange, (2) Public Key exchange, Phase 1, (3) Authentication Stage 1, Phase 2, ( 4) authentication stage 2 (Authentication Stage 2, Phase 3), (5) Link key calculation (Phase 4), (6) LMP Authentication and Encryption (Phase 5). .
  • Steps (2) to (6) may be composed of 13 steps in total.
  • step (3) i.e., authentication step 1
  • step (3) is different for each protocol since it depends on the protocol used.
  • devices exchange I / O capabilities to determine the appropriate algorithm to be used in the authentication phase.
  • the algorithm is called as an association model, and there are (1) Numeric Comparison, (2) Just Works, (3) Out of Band, and (4) Passkey Entry. .
  • the Just Works may be included in the Numeric Comparison.
  • association model may be classified into (1) Numeric Comparison, (2) Out of Band, and (3) Passkey Entry.
  • the authentication step 1 may differ in the procedure performed according to each association model.
  • the Numeric Comparison association model can be used in scenarios where both devices can display six digits and the user can enter 'yes' or 'no'.
  • a good example of a numerical comparison association model is the phone / PC scenario.
  • the user sees a six digit number ('000000 to' 999999 ') on the display of the two devices and is asked if the numbers displayed on the two devices are the same. If 'yes' is input to both devices, pairing between the two devices succeeds.
  • the Just Works association model can then be used in scenarios where at least one of the devices cannot display six digits and does not have a keyboard to enter six digits.
  • the Just Works association model uses the Numeric Comparison protocol. However, the user cannot see a certain number and the application can simply recognize that the user has allowed the connection.
  • the Out of Band association model can be used primarily in scenarios where the Out of Band mechanism is used both in the procedure of exchanging or transmitting cipher numbers used in the pairing procedure, as well as in the procedure of discovering devices.
  • the Out of Band channel must provide different characteristics from a security point of view compared to a Bluetooth wireless channel.
  • the out of band channel must be resistant to man-in-the-middle attack. Otherwise, security may be compromised during authentication.
  • the user's experience varies slightly depending on the Out of Band mechanism.
  • the user first touch the two devices together, and are given the option to pair the first device with the other device.
  • pairing is successful.
  • the exchanged information is one touch experience used in two devices.
  • the exchanged information includes not only cryptographic information, but also discovery information (such as a Bluetooth device address).
  • discovery information such as a Bluetooth device address.
  • One of the devices uses the Bluetooth device address to establish a connection with the other device.
  • the rest of the exchanged information is used during authentication.
  • the Passkey Entry association model can be used primarily in scenarios where one device has the input capability but does not have the ability to display six digits and the other device has the ability to display.
  • the user can see the six digits through the device with the display.
  • the user may be asked to input a six digit number through another device.
  • Table 2 shows an association model applied according to device (device) attributes in Bluetooth BR / EDR.
  • the Numeric Comparison may be used when at least one of the two devices does not have a display module that can show six digit numbers or an input device that can input six digit numbers.
  • the Passkey Entry association model is used when either device does not have a display device that can show a six digit number while the input device is on, and the other device has a display device that can show a six digit number. Authenticated To provide.
  • the Passkey Entry association model is used even when both devices have an input device, and provides Authenticated.
  • the Out Of Band Association Model can be used when searching for a remote device and utilizing an Out Of Band mechanism (eg NFC) that supports the exchange of cryptographic numbers to be used in the pairing process.
  • an Out Of Band mechanism eg NFC
  • Table 3 below shows an association model applied according to device attributes in Bluetooth LE.
  • the Passkey Entry association model is used when either device has no display device that can show a six digit number but there is an input device, and the other device has a display device that can show a six digit number. Both devices are used when there is an input device.
  • the pairing delegation method is a method in which a device having no input or output is provided with an input or output by using a third device (pairing delegator) having an input or output.
  • FIG. 9 is a diagram illustrating an example of architectures of Bluetooth BR / EDR and Bluetooth LE that define a pairing delegation service and a profile proposed in the present specification.
  • the architecture of FIG. 9 includes a controller (module), a host controller interface (HCI), and a host (module).
  • the controller may have the following components.
  • the controller includes a wireless transceiver module receiving a 2.4 GHz Bluetooth signal and hardware for transmitting or receiving a Bluetooth packet.
  • Physical layer A layer that transmits and receives a 2.4 GHz radio signal. It uses Gaussian Frequency Shift Keying (GFSK) modulation and a frequency hopping scheme consisting of 40 RF channels.
  • GFSK Gaussian Frequency Shift Keying
  • -Link Layer After connecting Advertising and Scanning functions using 3 Advertising Channels, it creates a connection between devices, and provides a function of sending and receiving data packets of up to 42 bytes through 37 Data Channels. It is responsible for security in BR / EDR.
  • HCI provides an interface between the Host module and the delegator module.
  • HCI allows the host to provide commands and data to the controller and the controller to provide events and data to the host.
  • the Host (module) multiplexes various protocols, profiles, etc., provided by the upper level of Bluetooth using Logical Link Control and Adaptation Protocol.
  • the host may have the following components.
  • Logical Link Control and Adaptation Protocol Provides one bidirectional channel for transmitting data to a specific protocol or profile.
  • the BR / EDR uses a dynamic channel and supports protocol service multiplexer, retransmission, and streaming mode.
  • -Security Manager It is a protocol for providing device authentication and key distribution, and is in charge of Security of LE.
  • ATT -Attribute Protocol
  • GATT Generic Attribute Profile
  • GAP Generic Access Profile Defines the method for discovering defined devices, connecting them, and providing information to users, and provides privacy.
  • GATT-based Profiles Profiles that depend on GATT and are mainly applied to LE devices.
  • Pairing delegation service & profile Provides pairing delegation service of Bluetooth.
  • the pairing delegation service & profile 910 may be expressed as an easy pairing service & profile or may be included in the easy pairing service & profile.
  • FIG. 10 is a diagram illustrating an example of a method for performing secure simple pairing using a pairing delegator in a Bluetooth architecture proposed in the present specification.
  • a device 1 having only a Bluetooth BR / EDR function, a device 2 having only a BLE function, and a device 3 having a dual mode having both a Bluetooth BR / EDR and a BLE function communicate.
  • each device has previously defined a pairing delegation service & profile.
  • the Bluetooth BR / EDR performs Secure Simple Paring at the Link Manager layer
  • the Bluetooth LE performs Secure Simple Pairing at the Security Manager layer.
  • device 1 and device 3 can perform Secure Simple Paring in RFCOMM Protocol and Link Manger, and device 2 and device 3 can perform Secure Simple Paring in Link Layer or Attribute Protocol. .
  • pairing delegation command and data can be exchanged as (1) BR / EDR in LCOM message of RFCOMM Protocol or Link Manager, and (2) in case of LE, message can be transmitted through Attribute Protocol or Link Layer. You can give and receive.
  • the Secure Simple Paring procedure of FIG. 10 is an example, and Secure Simple Paring through the Pairing Delegator proposed in this specification may be performed in another layer of the BR / EDR or the LE other than FIG. 10.
  • 11 is a view comparing the Bluetooth pairing procedure proposed by the present and the present specification.
  • FIG. 11A illustrates a conventional Bluetooth pairing procedure
  • FIG. 11B illustrates a Bluetooth pairing procedure proposed in the present specification.
  • device 1 is capable of display only, and device 2 is capable of inputting display and yes / no.
  • pairing delegate Positioning Delegator or Pairing Agent having a display and keyboard function as shown in Figure 11b, it is possible to provide authentication between device 1 and device 2.
  • connection is performed between the device 1 and the pairing delegator in a authenticated state through a passkey entry algorithm (S1101).
  • the device 1 and the pairing delegator perform the Bluetooth connection through the BR / EDR.
  • it is not limited to BR / EDR but can also be applied to BLE.
  • Device 1 and Device 2 determine to perform Secure Simple Pairing by using a Passkey entry algorithm, and in Device 2, outputs 6-digit '345345' on the screen (S1102).
  • Device 1 requests a keyboard to apply a passkey entry algorithm to the pairing delegation device (S1103).
  • the user inputs a 6 digit number 345345 floated on Device 2 in the paring delegation device, and the pairing delegator transmits the 6 digit number 345345 to Device 1 (S1104).
  • the device 1 can guarantee authentication with the device 2 by applying the device 2 and the Passkey entry algorithm to the received 6-digit number 345345 (S1105).
  • the existing pairing procedure is connected to Just Works between device 1 and device 2, and thus is vulnerable to a man-in-the-middle attack because it cannot provide authentication.
  • authentication may be provided through a pairing delegation connection between the device 1 and the pairing delegator, thereby making it safe from the MITM attack.
  • the scheme of FIG. 11B can equally apply to both Bluetooth BR / EDR and BLE.
  • FIG. 12 is a flowchart illustrating an example of a pairing delegation protocol using a pairing delegator proposed in the present specification.
  • the (pairing) device 1, the (pairing) device 2, and the pairing delegator perform a device discovery procedure with each other (S1210).
  • the pairing device 2 is a device without an input / output function.
  • the pairing device 2 performs a connection procedure with the pairing delegator (S1220).
  • the Bluetooth connection is established between the pairing delegator and the paring device 2 through the connection procedure.
  • the pairing delegator may or may not know the information of Pairing Device 1.
  • pairing device 2 In order to perform the connection procedure, pairing device 2 must support pairing delegation service and control service.
  • the pairing delegation protocol may be immediately terminated.
  • the pairing delegator transmits a pairing delegation status request to the pairing device 2 (S1230).
  • Pairing delegation status refers to information indicating whether a corresponding device supports pairing delegation and whether the device is currently in pairing delegation state.
  • the pairing device 2 transmits a pairing delegation status response to the pairing delegator (S1240).
  • the pairing delegator transmits pairing delegation I / O information and pairing delegation security information to the pairing device 2 (S1250).
  • the pairing delegator instructs the pairing device 2 to connect to the pairing device 1 through paring delegation (S1260).
  • Step S1260 may be omitted. If omitted, the pairing device 2 attempts to connect directly to the pairing device 1 after the step S1250.
  • FIG. 13 is a flowchart illustrating an example of a pairing delegation protocol in BLE proposed herein.
  • step S1310 refers to FIG. 12 as the procedure described with reference to FIG. 12.
  • a Bluetooth connection may be established (or established) between the pairing device 2 and the pairing delegate.
  • connection procedure between the pairing device 2 and the pairing device 1 may be performed.
  • the pairing device 2 transmits a connection request to the pairing device 1 (S1320).
  • the pairing device 2 transmits a pairing request to the pairing device 1 (S1330).
  • the pairing request includes a pairing feature including I / O capability of pairing device 2.
  • the pairing device 1 transmits a pairing response to the pairing device 2 (S1340).
  • the pairing response includes a pairing feature including the I / O capability of the pairing device 1.
  • a pairing algorithm (or association model) to be performed later is determined according to the parameters exchanged through the pairing request and pairing response process (S1350).
  • the pairing device 2 transmits a pairing delegation request to the pairing delegation (S1360).
  • this procedure is a procedure for requesting paring delegator for I / O related information required during Secure Simple Pairing process.
  • the procedure may be performed in the ATT protocol and / or Link Layer.
  • the pairing delegator transmits a pairing delegation response to the pairing device 2 in response to the pairing delegation request (S1370).
  • This procedure is a procedure for transmitting a result value after input or output to an I / O requested by pairing device 2 to the pairing device 2.
  • the pairing devices 1 and 2 sequentially perform pairing phase 2 and pairing phase 3 (S1380).
  • the pairing device 2 proceeds with the pairing device 1 and the Phase 2 (Authenticating and Encrypting) and Phase 3 (Transport Specific Key Distribution) procedures with the values input from the pairing delegate, and ends the paring process with the pairing device 1.
  • Phase 2 Authenticating and Encrypting
  • Phase 3 Transport Specific Key Distribution
  • the messages sent to and from the Pairing Device 2 and the Pairing Delegator can be sent and received using Link Layer messages and Attribute Protocol.
  • Link Layer messages and Attribute Protocol the present invention is not limited thereto, and messages of different protocols and layers may be used.
  • FIG. 14 is a flowchart illustrating an example of a pairing delegation protocol in the Bluetooth BR / EDR proposed in the specification.
  • Step S1410 of FIG. 14 illustrates the procedure of FIG. 12, and a detailed description thereof will be described with reference to FIG. 12.
  • a Bluetooth connection may be established between the pairing device 2 and the pairing delegate through step S1410.
  • the pairing device 2 and the pairing device 1 perform a pairing procedure (S1420).
  • the pairing device 1 and the pairing device 2 exchange I / O related information with each other (S1430).
  • the pairing device 2 transmits a pairing delegation request to the pairing delegation to request for I / O (S1440).
  • the pairing device 2 requests the paring delegator for I / O required during the Secure Simple Pairing process with the pairing device 1 through the corresponding procedure.
  • the pairing delegator transmits a pairing delegation response to the pairing device 2 in response to the pairing delegation request (S1450).
  • the pairing delegator inputs or outputs the I / O requested by the pairing device 2, and then transmits a result value to the pairing device 2.
  • the message exchanged between the pairing device 2 and the pairing delegator may be exchanged using the RFCOMM protocol and the LMP message of the link manager, but is not limited thereto.
  • a device without an I / O function may perform Bluetooth communication with enhanced security with another device through a pairing delegator having an I / O function.
  • GATT-based characteristics for performing a pairing delegation service are defined.
  • Table 4 below is a table showing pairing control characteristics.
  • the peer device characteristic uses a relative device address value and a device name to be paired, and provides an address of a paired device through corresponding value setting.
  • Agent device or pairing delegator is information of an agent device that can control pairing / connection and includes I / O information of agent device for pairing delegation.
  • Group Info characteristic represents the name or address of a group to which a specific device belongs, and a plurality of group names or addresses can be used.
  • Device State Characteristic means Ling Layer State (Scanning, Standby, Advertising, Initiating, Connection) of the controlled device, and can specify one state or several states.
  • Pairing / Connection Control Point is a control point function that indicates what action the controlled device will perform.
  • connection status is characteristic for the controlled device to provide connection information to the delegator.
  • WhiteList is information of devices to which a controlled device can connect.
  • WhiteList can also be extended to connect with multiple devices as needed.
  • WhiteList Control Point is a control function to manage the whitelist managed by the controlled device.
  • Bondable determines whether the controlled device will or will not provide a bonding function.
  • Security determines whether to provide authentication, authorization, encryption, and data signing functions.
  • Pairing delegation Status Characteristic indicates whether the device supports pairing delegation, whether the device is currently connected to another pairing delegation, and the like.
  • Pairing Delegation Security (Mode) Characteristic determines whether to provide authentication, authorization, and encryption functions provided by using pairing delegation.
  • Connected Tech Type and Service Type indicate the type of communication technology to connect (WiFi, Ethernet, BR / EDR, BLE, etc.) and the connected service type (services defined by Bluetooth and other services (applications)).
  • the scheduled time represents a time value for requesting a connection at a specific time.
  • Table 5 shows an example of a peer device information type.
  • a peer device represents a device that a specific device actually wants to establish a Bluetooth connection.
  • Table 6 is a table showing an example of an Agent Device information type.
  • the Agent Device represents another device to control the connection of the device, and may be referred to as a pairing delegator mentioned in the present specification.
  • Table 7 below shows an example of pairing delegation I / O information of an agent device.
  • the TouchDisplay values are devices that support SoftPattern, which will be described later.
  • Table 8 shows an example of a pairing / connection control point.
  • the advertising start indicates the start of the advertising operation when the advertising operation is not performed.
  • the advertisement state is activated.
  • the advertising stop indicates the end of the advertising operation when the advertising operation is being performed.
  • the advertisement state may be deactivated.
  • Scanning Start indicates the start of the scanning operation when the Scanning operation is not performed.
  • the scanning state is activated.
  • Scanning Stop indicates the end of the scanning operation when performing an advertising operation.
  • the scanning state may be deactivated.
  • Connecting Request indicates setting of Peer Device and Connection.
  • Connection Stop indicates the termination of connection with Peer Device.
  • Refresh bonding may update the bonding information newly or delete the bonding information.
  • Refresh security may indicate the re-execution of security procedures (authentication, authorization, encryption) between two devices and the update of security information (key values for each security procedure).
  • Pairing Request is a request to perform pairing procedure with peer device.
  • Pairing Stop indicates the end of pairing with Peer Device.
  • Authentication indicates that authentication with peer device is performed.
  • Encryption refers to performing encryption with peer device.
  • Authorization represents the authorization of Peer Device.
  • Paring delegation indicates that input / out is used as I / O of paring agent to connect when authentication is performed by the Passkey entry algorithm during Security Simple Pairing.
  • Table 9 is an example of a pairing delegation status.
  • Pairing Delegation Statu indicates whether the controlled device is currently connected to another Paring delegator.
  • pairing delegation support indicates whether a device is a device capable of pairing delegation.
  • Pairing delegation enable (disable) / disable (disable) indicates to enable or disable the pairing delegation function running on the device.
  • Table 10 shows an example of security and pairing delegation security characteristic and may be expressed in a bitmask format.
  • the security and pairing delegation security characteristic may be separated into a security mode and a security level, or may be expressed in a security information 1 or security information 2 manner including both a security mode and a security level. .
  • Table 10 shows an example of a security mode format.
  • Table 11 is a table showing an example of a security level format.
  • Table 12 shows an example of Security Information 1 format including Security Mode and Security Level. Table 12 is applicable to both BR / EDR and LE.
  • Table 13 shows an example of another security information format including security mode and security level. Table 13 is only applicable to Bluetooth LE.
  • FIG. 15 is a diagram illustrating an example of a format of a pairing delegation packet proposed in the present specification.
  • the pairing delegation packet 1500 may include a header 1510, an (operation) code 1520, and data 1530.
  • Table 14 shows an example of the format of a salping pairing delegation request packet, and shows code and data values when the header field is set to '0x01'.
  • a timer transmits a pairing delegation request packet to a pairing delegation and indicates a time until a pairing delegation response packet is received.
  • Table 15 shows an example of a pairing delegation response packet format, and shows code and data values when the header field is set to '0x02'.
  • 16 is a diagram illustrating a general authentication method and an authentication method using a soft pattern method proposed in the present specification, respectively.
  • FIG. 16A illustrates an authentication method between two existing devices
  • FIG. 16B illustrates an authentication method using a soft pattern method proposed in the present specification.
  • Method 1 of FIG. 16A illustrates an authentication method of a numeric comparison association model
  • method 2 illustrates an authentication method of a passkey entry association model.
  • the device B when the device B outputs a specific pattern, and the device A receives a specific pattern from the user in advance, the device B is changed back to the specific value by a predefined mapping table (or a conversion algorithm) to display both devices. Indicates how to authenticate.
  • the specific pattern is previously mapped to a specific value and stored in advance in each device.
  • Classification pros and cons Numeric Comparison Pros Simple Use Action (Yes button click)
  • 17 is a diagram illustrating an authentication method using a soft pattern proposed in the present specification.
  • the authentication method using the soft pattern proposed in this specification corresponds to a new authentication method for effectively utilizing only the advantages of the Numeric Comparison and Passkey entry association model shown in Table 16.
  • the authentication method using the soft pattern of FIG. 17 may be performed in the following five steps.
  • the device B generates a random number for authentication with the device A, and converts the generated random number into a specific pattern that is easily recognized by the user (S1710).
  • the device B outputs the converted specific pattern through a display and provides the same to the user (S1720).
  • the user inputs a specific pattern output to the device B into Device A. That is, device A receives a user input of a specific pattern output to device B (S1730).
  • the device A converts a specific pattern input by the user into a random number for authentication through a predefined mapping table (or a conversion algorithm) (S1740).
  • Bluetooth devices prestore a mapping table or a conversion algorithm that maps a random number for authentication between devices in a form that can be easily recognized by a user.
  • FIG. 18 is a diagram illustrating an example of a pairing delegation setup procedure proposed in the present specification.
  • the pairing delegator reads the pairing delegation status of the pairing device 2 to determine the pairing delegation status set in the paring device 2 (S1840).
  • the pairing device 2 transmits Paring delegation Status Info in step S1830 to the pairing delegator (S1850).
  • the paring delegation status information includes pairing delegation support, enable / disable, and status status of the pairing device 2.
  • the pairing delegator sets the peer device information as the address of the pairing device 1, and writes the security info corresponding to the paring delegation I / O and the security level provided by the pairing device 2 to the pairing device 2 (S1860). .
  • the pairing delegator writes (or transfers) a pairing control point set to a value of 0x15 to the pairing device 2 (S1870).
  • the pairing delegator requests a connection request to the pairing device 2 while applying paring delegation to the peer device (pairing device 1).
  • 19 is a flowchart illustrating an example of a method for performing an authentication procedure through a passkey entry association model in BLE proposed in the present specification.
  • the pairing device 1 has a display function
  • the pairing device 2 has a display or no I / O function.
  • No I / O means no I / O function.
  • the pairing device 2 and the pairing delegator perform a pairing delegation setup procedure (S1901).
  • the pairing delegation setting procedure will be described with reference to FIG. 18.
  • the pairing device 1 and the pairing device 2 perform a connection procedure and an authentication procedure.
  • the pairing device 2 transmits a connection request to the pairing device 1 (S1902).
  • the pairing device 2 transmits a pairing request to the pairing device 1 (S1903).
  • the pairing request includes I / O capability information of the pairing delegator, that is, paring delegation I / O.
  • the pairing device 2 transmits a pairing request including pairing delegation I / O information, not its own I / O information, to the pairing device 1.
  • Pairing Device 1 may not provide a Pairing Control Service.
  • the pairing device 1 transmits a pairing response to the pairing device 2 (S1904).
  • the authentication procedure between the pairing devices 1 and 2 is determined as the Passkey Entry according to the parameters exchanged in the pairing request and the pairing response (S1905).
  • the pairing device 1 outputs a 6-digit random number 123456 to perform authentication with the pairing device 2 (S1906).
  • the pairing delegator connects to the device to be connected based on the Advertise information of the other device through the Connect Request.
  • the pairing delegator may confirm that the pairing device 1 performs the connection with the pairing device 2 through the advertisement message of the pairing device 1, and the pairing delegate may directly transmit the connection request to the pairing device 2 based on this.
  • the partner device (pairing device 2) must provide a pairing control service, and in the case of pairing device 1, the pairing control service does not need to be supported.
  • the pairing device 2 transmits a pairing delegation request to the pairing delegation (S1907).
  • the packet of the pairing delegation request may include a code value in which '0x03' is set.
  • the code value for which '0x03' is set may be a Passkey entry having a keyboard.
  • the packet of the pairing delegation request may include a timer set to 20s.
  • the pairing device 2 transmits a pairing delegation request to the pairing delegator in order to perform paring by the Passkey entry method, and requests a 6-digit number input.
  • the pairing delegator inputs a six digit (random) number '123456' outputted from the pairing device 1 received through the pairing device 2 (S1908).
  • the user looks at the number displayed on the Display of the Pairing Device 1 and inputs the six-digit number '123456' using the keyboard of the Pairing Delegator.
  • the pairing delegator transmits a pairing delegation response to the pairing device 2 (S1909).
  • the pairing delegator delivers the 6-digit number '123456' received through the user to the pairing depth 2.
  • the pairing device 1 and the pairing device 2 perform a pairing phase 2 (Authentication Stage 1) and a phase 3 (Authentication Stage 2) in sequence (S1910).
  • the pairing device 1 and the pairing device 2 proceed with Phase 2 (Authenticating and Encrypting) and Phase 3 (Transport Specific Key Distribution) received from the pairing delegator and terminate the paring process.
  • Phase 2 Authenticating and Encrypting
  • Phase 3 Transport Specific Key Distribution
  • 20 is a flowchart illustrating an example of pairing failure between devices due to the expiration of a timer proposed in the present specification.
  • steps S2001 to S2007 are the same as steps S1901 to S1907 of FIG. 19, detailed descriptions thereof will be omitted.
  • the pairing device 2 transmits a pairing delegation request to the pairing delegation (S2007), and if it does not receive a pairing delegation response from the pairing delegation until the corresponding timer expires, it expiring a pairing delegation request (S2008).
  • pairing between pairing device 1 and pairing device 2 fails.
  • 21 is a flowchart illustrating an example of an authentication method using a soft pattern proposed in the present specification.
  • S2101 to S2103 are the same as S2001, S2003, and S2004 in FIG. 20, and thus detailed description thereof will be omitted.
  • the pairing device 1 outputs a specific pattern changed according to a specific rule (mapping table, conversion algorithm) to the display without outputting a 6-digit random number (S2104).
  • a specific rule mapping table, conversion algorithm
  • FIG. 21 relates to a method for performing authentication of a Bluetooth device by converting a Passkey (Random number) into a Pattern that is easily recognized and input by a user in the Passkey Entry method.
  • a Passkey Random number
  • the pairing delegator receives a specific pattern output to the pairing device 1 from the user (S2106).
  • the pairing delegator converts a specific pattern input by a specific rule (mapping table, conversion algorithm, etc.) into a six-digit random number 123456 (S2107).
  • the pairing devices 1 and 2 sequentially perform pairing phase 2 and phase 3 (S2109).
  • 22 is a diagram illustrating an example of an authentication method using a number comparison association model in the Bluetooth BR / EDR proposed in the specification.
  • the pairing device 2 and the pairing delegator perform a pairing delegation setup procedure (S2201). That is, the pairing device 2 and the pairing delegator transmit and receive pairing delegation state information.
  • the pairing device 1 is Display Yes / No
  • the pairing device 2 has a Display Only or No I / O function.
  • the pairing delegator corresponds to the client.
  • Pairing device 1 and pairing device 2 performs a pairing procedure (S2202).
  • the pairing device 1 and the pairing device 2 exchange I / O capabilities information (S2203).
  • the pairing device 2 transmits a pairing request to the pairing device 1 including pairing delegation I / O information, not its own I / O information.
  • pairing device 1 may not provide a pairing control service.
  • pairing device 1 and pairing device 2 perform Secure Simple Pairing (SSP) Phase 1 (S2204).
  • SSP Secure Simple Pairing
  • SSP Phase 1 is a procedure for exchanging a public key.
  • pairing device 1 and pairing device 2 respectively generate a random number, calculate a HMAC algorithm, exchange the calculated values with each other, and calculate a hash algorithm based on the exchanged values to generate a six-digit number. (S2205).
  • the pairing device 1 outputs a six digit number '123456' for Numeric Comparison on the display (S2206).
  • the pairing device 2 transmits a pairing delegation request to the pairing delegation (S2207).
  • the pairing device 2 transmits a 6-digit number to the pairing delegation for the Numeric Comparison method, and requests pairing delegation.
  • the pairing delegate outputs '123456' to the display and checks Yes or No input from the user (S2208).
  • the pairing delegator checks the 6-digit number printed on the Pairing Device 1 and the 6-digit number printed on the Pairing Delegator from the user, and if it is the same, the user receives Yes.
  • the order of the selection input of Yes or No by the user in the pairing device 1 and the selection input of Yes or No in the pairing delegator may be changed.
  • the pairing delegator transmits a pairing delegation response to the pairing device 2 (S2209).
  • the pairing delegator transfers the result “Yes” received from the user to the pairing device 2.
  • the user checks whether the six-digit number output on the pairing device 1 and the six-digit number output on the pairing delegate are the same and select Yes or No.
  • the pairing device 1 receives a Yes or No input from the user (S2210).
  • the pairing device 1 and the pairing device 2 perform SSP phases 3 to 5 (S2211).
  • SSP Phase 3 is Authentication Stage 2
  • SSP Phase 4 is Link key calculation
  • SSP Phase 5 corresponds to LMP Authentication and Encryption, and corresponding procedures are performed in order.
  • FIG. 23 illustrates an example of an authentication method using a Passkey Entry in the Bluetooth BR / EDR proposed in the specification.
  • the pairing device 1 may display, have a Yes / No function, and the pairing device 2 may have a Display Only or a No I / O function.
  • the pairing delegator corresponds to the client.
  • steps S2301 to S2304 are the same as steps S2201 to S2204 of FIG. 22, a detailed description thereof will be omitted.
  • the pairing device 1 outputs a passkey 6 digit '123456' on the display (S2305).
  • the pairing device 2 transmits a pairing delegation request to the pairing delegation (S2306).
  • the pairing delegator receives a passkey '123456' output from the pairing device 1 from the user (S2307).
  • the pairing device 1 and the pairing device 2 generate a random number, calculate the HMAC algorithm, and exchange the calculated values with each other (S2309).
  • the authentication value is proved by running the HMAC algorithm again.
  • the pairing device 1 and the pairing device 2 perform SSP phases 3 to 5 (S2310).
  • the data transmission and reception method using the isochronous channel according to the present disclosure is not limited to the configuration and method of the embodiments described above, the embodiments are all or all of the embodiments so that various modifications can be made Some may be optionally combined.
  • the data transmission and reception method using the isochronous channel of the present disclosure can be implemented as a processor-readable code on a processor-readable recording medium provided in the network device.
  • the processor-readable recording medium includes all kinds of recording devices that store data that can be read by the processor. Examples of the processor-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like, and may also be implemented in the form of a carrier wave such as transmission over the Internet. .
  • the processor-readable recording medium can also be distributed over network coupled computer systems so that the processor-readable code is stored and executed in a distributed fashion.
  • the present specification uses a method of performing pairing using Bluetooth, which is a short range low power wireless technology.

Abstract

The present specification relates to a method for performing pairing between devices in a wireless communication system supporting Bluetooth communication, which is performed by a first device, comprising the steps of: performing device discovery; performing, with a second device having an input and/or output function, a pairing delegation setup procedure for performing authentication with a third device through the second device; exchanging input and/or output capability information with the third device; determining an association model used for the authentication with the third device; and requesting an input and/or an output required for the authentication with the third device, and receiving a response thereto.

Description

블루투스 통신을 지원하는 무선 통신 시스템에서 디바이스들 간 페어링을 수행하기 위한 방법 및 이를 위한 장치Method and apparatus for performing pairing between devices in a wireless communication system supporting Bluetooth communication
본 명세서는 블루투스 통신을 지원하는 무선 통신 시스템에 관한 것으로, 보다 구체적으로 디바이스들 간 페어링(pairing) 및 연결(connection) 절차를 수행하는 방법에 관한 것이다.The present disclosure relates to a wireless communication system supporting Bluetooth communication, and more particularly, to a method of performing a pairing and connection procedure between devices.
블루투스는 다양한 기기(스마트폰, PC, 이어폰, 헤드폰 등)을 서로 연결하여 정보를 주고 받는 대표적인 근거리 무선 기술 중에 하나이다. 또한, 대부분의 스마트폰, PC, 노트북 등에 적용되어 있는 기술로 많은 사람들이 쉽게 사용을 하고 있으며, 쉬운 페어링 절차는 안정적으로 기기 간 연결성을 제공하고 있다. 최근에 개발된 LE 기술은 적은 전력을 소모하면서 수백 KB의 정보를 안정적으로 제공할 수 있다.Bluetooth is one of the representative short-range wireless technologies that exchange information by connecting various devices (smartphones, PCs, earphones, headphones, etc.). In addition, the technology applied to most smartphones, PCs, laptops, etc., many people are easy to use, easy pairing process provides a stable connection between devices. Recently developed LE technology can reliably provide hundreds of KB of information while consuming less power.
Bluetooth 표준 기술은 BR/EDR (Basic Rate / Enhanced Data Rate)과 LE (Low Energy)로 Core Specification이 구분된다.Bluetooth standard technology is divided into BR / EDR (Basic Rate / Enhanced Data Rate) and LE (Low Energy).
이중 Bluetooth Low Energy (이하 ‘BLE’)는 Bluetooth Specification V4.0 이후부터 발표된 기술로써 기존 Bluetooth 대비 높은 에너지 효율을 목표로 고안되었다.Among them, Bluetooth Low Energy (hereinafter referred to as “BLE”) is a technology released since Bluetooth Specification V4.0, and is designed to achieve higher energy efficiency than Bluetooth.
현재 Bluetooth 연결은 사용자가 제어하는 하나의 디바이스에서 다른 디바이스로의 연결을 요청하는 방법을 사용하고 있다.Currently, Bluetooth connection uses a method of requesting a connection from one device to another to be controlled by a user.
또한, 이 과정에서 보안을 위해 수행되는 보안 심플 페어링(Secure Simple Pairing)은 두 디바이스의 I/O에 맞춰 수행된다.In addition, Secure Simple Pairing, which is performed for security in this process, is performed according to I / O of two devices.
이와 같은 방법은 직접 제어 방식으로서, 제어되는 디바이스의 UI에 따라 사용자 별 UX의 차이가 다양하게 나타나게 된다.Such a method is a direct control method, and various differences of UX for each user appear according to the UI of the controlled device.
또한, Bluetooth의 다양한 디바이스들은 가지고 있는 I/O의 상태가 한계가 있어 원하더라도 Secure Simple Pairing을 통해 보안이 높은 연결을 제공하는데 한계가 있다.In addition, the various devices of Bluetooth have a limited state of I / O, so even if desired, there is a limitation in providing a secure connection through Secure Simple Pairing.
따라서, 본 명세서는 제3의 디바이스(페어링 위임자,Pairing delegator)를 통해 다른 디바이스(I/O 기능이 없음)의 Pairing/Connection을 수행하는 방법을 제공함에 목적이 있다.Therefore, an object of the present specification is to provide a method of performing pairing / connection of another device (no I / O function) through a third device (pairing delegator).
즉, 본 명세서는 Bluetooth 기술을 이용하여 디바이스 간 연결 제어 프로토콜 및 Secure Simple Pairing 수행 시, 제 3 디바이스가 대신 I/O(Input/Output)를 제공하는 페어링 위임(Pairing delegation) 방법을 제공한다.That is, the present specification provides a pairing delegation method in which a third device provides I / O (Input / Output) instead when performing connection control protocol and secure simple pairing between devices using Bluetooth technology.
또한, 본 명세서는 사용자가 쉽게 두 디바이스들을 인증할 수 있도록 소프트 패턴을 이용한 인증 방법을 제공함에 목적이 있다. In addition, an object of the present specification is to provide an authentication method using a soft pattern so that a user can easily authenticate two devices.
또한, 본 명세서는 페어링 위임 프로토콜, 페어링 위임을 위한 GATT 기반 Characteristic, 페어링 위임 패킷 포맷을 새롭게 정의하는 방법을 제공함에 목적이 있다.It is also an object of the present specification to provide a method for newly defining a pairing delegation protocol, a GATT-based characteristic for pairing delegation, and a pairing delegation packet format.
본 명세서에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present specification are not limited to the technical problems mentioned above, and other technical problems not mentioned above will be clearly understood by those skilled in the art from the following description. Could be.
본 명세서는 블루투스 통신을 지원하는 무선 통신 시스템에서 디바이스들 간 페어링(pairing)을 수행하기 위한 방법에 있어서, 제 1 디바이스에 의해 수행되는 방법은 디바이스 디스커버리(Device Discovery)를 수행하는 단계; 입력(Input) 및/또는 출력(Output) 기능을 가지는 제 2 디바이스를 통해 제 3 디바이스와의 인증을 수행하기 위한 페어링 위임 셋업(pairing delegation setup) 절차를 상기 제 2 디바이스와 수행하는 단계; 상기 제 3 디바이스와 입력 및/또는 출력 능력(capability) 정보를 교환하는 단계; 상기 제 3 디바이스와의 인증(Authentication)에 사용되는 연관 모델(association model)을 결정하는 단계; 상기 제 3 디바이스와의 인증에 요구되는 입력 및/또는 출력을 요청하기 위한 제 1 메시지를 상기 제 2 디바이스로 전송하는 단계; 및 상기 요청된 입력 및/또는 출력의 결과값을 포함하는 제 2 메시지를 상기 제 2 디바이스로부터 수신하는 단계를 포함하여 이루어지는 것을 특징으로 한다.The present disclosure provides a method for performing pairing between devices in a wireless communication system supporting Bluetooth communication, the method performed by a first device comprising: performing device discovery; Performing a pairing delegation setup procedure with the second device to perform authentication with the third device via a second device having an input and / or output function; Exchanging input and / or output capability information with the third device; Determining an association model used for authentication with the third device; Sending a first message to the second device for requesting an input and / or output required for authentication with the third device; And receiving from the second device a second message comprising a result of the requested input and / or output.
또한, 본 명세서에서 상기 제 1 메시지는 페어링 위임 요청(pairing delegation request) 메시지이며, 상기 제 2 메시지는 페어링 위임 응답(pairing delegation response) 메시지인 것을 특징으로 한다.In the present specification, the first message is a pairing delegation request message, and the second message is a pairing delegation response message.
또한, 본 명세서에서 상기 페어링 위임 셋업(pairing delegation setup) 절차를 수행하는 단계는, 상기 제 2 디바이스로부터 페어링 위임 상태(pairing delegation status)의 요청을 수신하는 단계; 및 상기 요청에 대한 응답으로 페어링 위임 상태 정보(pairing delegation status information)를 상기 제 2 디바이스로 전송하는 단계를 포함하여 이루어지는 것을 특징으로 한다.Also, in the present specification, performing the pairing delegation setup procedure may include: receiving a request for a pairing delegation status from the second device; And transmitting pairing delegation status information to the second device in response to the request.
또한, 본 명세서에서 상기 페어링 위임 상태 정보는 페어링 위임의 지원 여부를 나타내는 페어링 위임 지원 필드, 페어링 위임 기능을 enable 또는 disable하기 위한 필드 또는 현재 다른 페어링 위임자(pairing delegator)와 연결되어 있는지 여부를 나타내는 페어링 위임 상태(pairing delegation status) 필드 중 적어도 하나를 포함하는 것을 특징으로 한다.In this specification, the pairing delegation state information is a pairing delegation support field indicating whether pairing delegation is supported, a field for enabling or disabling the pairing delegation function, or a pairing indicating whether it is currently connected with another pairing delegator. And at least one of a pairing delegation status field.
또한, 본 명세서는 상기 제 2 디바이스로부터 상기 제 2 디바이스에서 지원하는 입력 및/또는 출력 관련 정보 및 페어링 위임 기능 활성화 시 지원하는 보안(security) 정보를 수신하는 단계를 더 포함하는 것을 특징으로 한다.The present disclosure may further include receiving input and / or output related information supported by the second device and security information supported when the pairing delegation function is activated from the second device.
또한, 본 명세서에서 상기 제 2 디바이스에서 지원하는 입력 및/또는 출력 관련 정보는 비트마스크(bitmask) 방식으로 표현되는 것을 특징으로 한다.In addition, in the present specification, input and / or output related information supported by the second device is characterized in that it is expressed in a bitmask (bitmask) method.
또한, 본 명세서에서 상기 보안(security) 정보는 인증(Authentication), 허가(Authorization) 또는 암호화(Encryption) 기능 중 적어도 하나의 제공 여부를 나타내는 정보인 것을 특징으로 한다.In addition, the security information in the present specification is characterized in that the information indicating whether at least one of the authentication (Authentication), Authorization (Authorization) or encryption (Encryption) function provided.
또한, 본 명세서에서 상기 보안 정보는 보안 모드(security mode) 또는 보안 레벨(security level) 중 적어도 하나를 포함하는 것을 특징으로 한다.Also, in the present specification, the security information may include at least one of a security mode or a security level.
또한, 본 명세서에서 상기 페어링 위임 셋업(pairing delegation setup) 절차는 블루투스 BR/EDR인 경우, RFCOMM Protocol 또는 Link Manager를 통해 수행되며, 블루투스 LE인 경우, Attribute Protocol 또는 Link Layer를 통해 수행되는 것을 특징으로 한다.In addition, in the present specification, the pairing delegation setup procedure may be performed through RFCOMM Protocol or Link Manager in case of Bluetooth BR / EDR, and may be performed through Attribute Protocol or Link Layer in case of Bluetooth LE. do.
또한, 본 명세서에서 상기 연관 모델(association model)은 숫자 비교(Numeric Comparison), 암호키 입력(Passkey Entry) 또는 Out of Band 중 어느 하나인 것을 특징으로 한다.In addition, the association model (association model) in the present specification is characterized in that any one of a numeric comparison (Numeric Comparison), a passkey entry (Passkey Entry) or Out of Band.
또한, 본 명세서에서 상기 제 1 메시지는 인증을 위한 연관 모델의 종류를 나타내는 코드(code) 정보 또는 페어링 위임의 성공 또는 실패의 판단 기준이 되는 타이머 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.The first message may include at least one of code information indicating a type of association model for authentication or timer information serving as a criterion for determining success or failure of pairing delegation.
또한, 본 명세서에서 상기 타이머는 상기 제 1 메시지 전송 시 시작되며, 상기 페어링 위임의 실패는, 상기 타이머가 만료 시까지 상기 제 2 디바이스로부터 상기 제 2 메시지를 수신하지 못한 경우인 것을 특징으로 한다.In addition, in the present specification, the timer is started when the first message is transmitted, and the failure of the pairing delegation is characterized in that when the timer does not receive the second message from the second device until expiration.
또한, 본 명세서에서 상기 입력 및/또는 출력의 결과값은 특정 패턴에서 일정 규칙에 따라 특정 값으로 변환된 값이며, 상기 특정 값은 암호키 입력(Passkey Entry)에 사용되는 6자리 랜덤 숫자(six digits random number)인 것을 특징으로 한다.Also, in the present specification, the result of the input and / or output is a value converted into a specific value according to a predetermined rule in a specific pattern, and the specific value is a six-digit random number used for a passkey entry. digits random number).
또한, 본 명세서에서 상기 특정 패턴은 상기 제 2 디바이스 및 상기 제 3 디바이스에서 사용자에 의해 입력되는 패턴인 것을 특징으로 한다.In addition, in the present specification, the specific pattern may be a pattern input by a user in the second device and the third device.
또한, 본 명세서에서 상기 제 1 디바이스는 입력 및/또는 출력 기능이 없는 디바이스인 것을 특징으로 한다.In addition, in the present specification, the first device is characterized in that the device does not have an input and / or output function.
또한, 본 명세서는 블루투스 통신을 지원하는 무선 통신 시스템에서 페어링(pairing)을 수행하기 위한 제 1 디바이스에 있어서, 외부와 무선 또는 유선으로 통신하기 위한 통신부; 및 상기 통신부와 기능적으로 연결되는 프로세서를 포함하되, 상기 프로세서는, 디바이스 디스커버리(Device Discovery)를 수행하고; 입력(Input) 및/또는 출력(Output) 기능을 가지는 제 2 디바이스를 통해 제 3 디바이스와의 인증을 수행하기 위한 페어링 위임 셋업(pairing delegation setup) 절차를 상기 제 2 디바이스와 수행하고; 상기 제 3 디바이스와 입력 및/또는 출력 능력 정보를 교환하고; 상기 제 3 디바이스와의 인증(Authentication)에 사용되는 연관 모델(association model)을 결정하고; 상기 제 3 디바이스와의 인증에 요구되는 입력 및/또는 출력을 요청하기 위한 제 1 메시지를 상기 제 2 디바이스로 전송하고; 및 상기 요청된 입력 및/또는 출력의 결과값을 포함하는 제 2 메시지를 상기 제 2 디바이스로부터 수신하도록 제어하는 것을 특징으로 한다.In addition, the present specification provides a first device for performing a pairing (pairing) in a wireless communication system supporting Bluetooth communication, Communication unit for communicating with the outside by wireless or wired; And a processor operatively connected to the communication unit, wherein the processor is configured to perform device discovery; Perform a pairing delegation setup procedure with the second device to perform authentication with the third device via a second device having an Input and / or Output function; Exchange input and / or output capability information with the third device; Determine an association model used for authentication with the third device; Send a first message to the second device to request an input and / or output required for authentication with the third device; And control to receive from the second device a second message comprising a result of the requested input and / or output.
본 명세서는 낮은 전력 소모와 안정적인 연결성을 제공하는 블루투스 기술을 이용해서 효율적으로, 그리고 보안이 강화된 디바이스 간 연결을 제공할 수 있다. The present disclosure can provide an efficient and secure device-to-device connection using Bluetooth technology that provides low power consumption and stable connectivity.
또한, 본 명세서는 I/O 기능이 없는 디바이스의 보안 약점 문제를 페어링 위임(Pairing delegation) 서비스를 사용하여 높은 보안을 제공할 수 있는 효과가 있다.In addition, the present specification has the effect of providing a high security by using a pairing delegation (pairing delegation) service security weakness problem of the device without the I / O function.
또한, 본 명세서는 소프트 패턴을 통해 인증 절차를 수행함으로써, 사용자가 손쉽고 편리하게 블루투스 인증 절차를 수행할 수 있는 효과가 있다.In addition, the present specification has an effect that the user can easily and conveniently perform the Bluetooth authentication procedure by performing the authentication procedure through a soft pattern.
본 명세서에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtained in the present specification are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description. .
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, included as part of the detailed description in order to provide a thorough understanding of the present invention, provide embodiments of the present invention and together with the description, describe the technical features of the present invention.
도 1은 본 명세서에서 제안하는 방법이 적용될 수 있는 블루투스 저전력 에너지 기술을 이용하는 무선 통신 시스템의 일 예를 나타낸 개략도이다.1 is a schematic diagram illustrating an example of a wireless communication system using Bluetooth low power energy technology to which the method proposed in the present specification may be applied.
도 2는 본 명세서에서 제안하는 방법들을 구현할 수 있는 서버 디바이스 및 클라이언트 디바이스의 내부 블록도의 일 예를 나타낸다.2 shows an example of an internal block diagram of a server device and a client device that can implement the methods proposed herein.
도 3은 블루투스 저전력 에너지 토폴로지(Topology)의 일 예를 나타낸다.3 shows an example of a Bluetooth low power energy topology.
도 4 및 도 5는 본 명세서에서 제안하는 방법들이 적용될 수 있는 블루투스 통신 아키텍처(Architecture)의 일 예를 나타낸 도이다.4 and 5 illustrate examples of a Bluetooth communication architecture to which the methods proposed herein may be applied.
도 6은 블루투스 저전력 에너지 기술에서 연결 절차 방법의 일 예를 나타낸 흐름도이다.6 is a flowchart illustrating an example of a connection procedure method in a Bluetooth low power energy technology.
도 7은 블루투스 저전력 에너지 기술에서 객체 전송 서비스(Object Transfer Service)를 제공하는 방법의 일 예를 나타낸 흐름도이다.7 is a flowchart illustrating an example of a method for providing an object transfer service in a Bluetooth low energy energy technology.
도 8은 블루투스 BR/EDR 기술에서 연결 절차 방법의 일 예를 나타낸 흐름도이다.8 is a flowchart illustrating an example of a connection procedure method in a Bluetooth BR / EDR technology.
도 9는 본 명세서에서 제안하는 페어링 위임 서비스 및 프로파일을 정의한 블루투스 BR/EDR과 블루투스 LE의 아키텍처의 일례를 나타낸 도이다.FIG. 9 is a diagram illustrating an example of architectures of Bluetooth BR / EDR and Bluetooth LE that define a pairing delegation service and a profile proposed in the present specification.
도 10은 본 명세서에서 제안하는 블루투스 아키텍처에서 페어링 위임자(Pairing Delegator)를 이용하여 보안 심플 페어링을 수행하는 방법의 일례를 나타낸 도이다.FIG. 10 is a diagram illustrating an example of a method for performing secure simple pairing using a pairing delegator in a Bluetooth architecture proposed in the present specification.
도 11은 기존 및 본 명세서에서 제안하는 블루투스 페어링 절차를 비교한 도이다.11 is a view comparing the Bluetooth pairing procedure proposed by the present and the present specification.
도 12는 본 명세서에서 제안하는 페어링 위임자를 이용한 페어링 위임 프로토콜의 일례를 나타낸 흐름도이다.12 is a flowchart illustrating an example of a pairing delegation protocol using a pairing delegator proposed in the present specification.
도 13은 본 명세서에서 제안하는 BLE에서 페어링 위임 프로토콜의 일례를 나타낸 흐름도이다.13 is a flowchart illustrating an example of a pairing delegation protocol in BLE proposed herein.
도 14는 본 명세서에서 제안하는 블루투스 BR/EDR에서 페어링 위임 프로토콜의 일례를 나타낸 흐름도이다.14 is a flowchart illustrating an example of a pairing delegation protocol in the Bluetooth BR / EDR proposed in the specification.
도 15는 본 명세서에서 제안하는 페어링 위임 패킷(Pairing delegation packet) 포맷의 일례를 나타낸 도이다.FIG. 15 is a diagram illustrating an example of a format of a pairing delegation packet proposed in the present specification.
도 16은 일반적인 인증 방법과 본 명세서에서 제안하는 소프트 패턴(Soft Pattern) 방식을 이용한 인증 방식을 각각 나타낸 도이다.16 is a diagram illustrating a general authentication method and an authentication method using a soft pattern method proposed in the present specification, respectively.
도 17은 본 명세서에서 제안하는 소프트 패턴을 이용한 인증 방법을 나타낸 도이다.17 is a diagram illustrating an authentication method using a soft pattern proposed in the present specification.
도 18은 본 명세서에서 제안하는 페어링 위임 설정(Pairing Delegation Setup) 절차의 일례를 나타낸 도이다.18 is a diagram illustrating an example of a pairing delegation setup procedure proposed in the present specification.
도 19는 본 명세서에서 제안하는 BLE에서 암호키 입력(Passkey Entry) 연관 모델을 통해 인증 절차를 수행하는 방법의 일례를 나타낸 흐름도이다.19 is a flowchart illustrating an example of a method for performing an authentication procedure through a passkey entry association model in BLE proposed in the present specification.
도 20은 본 명세서에서 제안하는 타이머 만료로 인한 디바이스들 간 페어링 실패의 일례를 나타낸 흐름도이다.20 is a flowchart illustrating an example of pairing failure between devices due to the expiration of a timer proposed in the present specification.
도 21은 본 명세서에서 제안하는 소프트 패턴을 이용한 인증 방법의 일례를 나타낸 흐름도이다.21 is a flowchart illustrating an example of an authentication method using a soft pattern proposed in the present specification.
도 22는 본 명세서에서 제안하는 블루투스 BR/EDR에서 숫자 비교 연관 모델을 이용한 인증 방법의 일례를 나타낸 도이다.22 is a diagram illustrating an example of an authentication method using a number comparison association model in the Bluetooth BR / EDR proposed in the specification.
도 23은 본 명세서에서 제안하는 블루투스 BR/EDR에서 암호키 입력(Passkey Entry)를 이용한 인증 방법의 일례를 나타낸 도이다.FIG. 23 is a diagram illustrating an example of an authentication method using a passkey entry in the Bluetooth BR / EDR proposed in the present specification.
이하에서는 도면을 참조하여 본 발명을 더욱 상세하게 설명한다.Hereinafter, with reference to the drawings will be described the present invention in more detail.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함을 고려하여 부여되는 것으로서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.The suffixes "module" and "unit" for components used in the following description are merely given in consideration of ease of preparation of the present specification, and the "module" and "unit" may be used interchangeably with each other.
한편, 본 명세서에서 기술되는 디바이스(device)는 무선 통신이 가능한 디바이스로서, 스마트 폰을 포함한 휴대폰, 태블릿 PC, 데스크탑 컴퓨터, 노트북, 스마트 TV, IPTV 등을 포함한 텔레비전 등이 가능하다.On the other hand, the device (device) described herein is a device capable of wireless communication, a mobile phone, including a smart phone, a tablet PC, a desktop computer, a notebook, a smart TV, a television including an IPTV and the like.
또한, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시 예를 상세하게 설명하지만, 본 발명이 실시 예들에 의해 제한되거나 한정되는 것은 아니다.In addition, although an embodiment of the present invention will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, the present invention is not limited or limited by the embodiments.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. The terminology used herein is a general term that has been widely used as far as possible in consideration of functions in the present invention, but may vary according to the intention or custom of a person skilled in the art or the emergence of a new technology.
또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 그 의미를 기재할 것이다.In addition, in certain cases, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in the corresponding description of the invention.
따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.Therefore, it is to be understood that the terminology used herein is to be interpreted based on the actual meaning of the term and the contents throughout the specification, rather than simply on the name of the term.

도 1은 본 명세서에서 제안하는 블루투스 저전력 에너지 기술을 이용하는 무선 통신 시스템의 일 예를 나타낸 개략도이다.1 is a schematic diagram illustrating an example of a wireless communication system using the Bluetooth low power energy technology proposed in the present specification.
무선 통신 시스템(100)은 적어도 하나의 서버 디바이스(Server Device,110) 및 적어도 하나의 클라이언트 디바이스(Client Device,120)를 포함한다. The wireless communication system 100 includes at least one server device 110 and at least one client device 120.
서버 디바이스와 클라이언트 디바이스는 블루투스 저전력 에너지(Bluetooth Low Energy:BLE, 이하 편의상 ‘BLE’로 표현한다.) 기술을 이용하여 블루투스 통신을 수행한다. The server device and the client device perform Bluetooth communication by using Bluetooth Low Energy (BLE) technology.
먼저, BLE 기술은 블루투스 BR/EDR(Basic Rate/Enhanced Data Rate) 기술과 비교하여, 상대적으로 작은 duty cycle을 가지며 저 가격 생산이 가능하고, 저속의 데이터 전송률을 통해 전력 소모를 크게 줄일 수 있어 코인 셀(coin cell) 배터리를 이용할 경우 1년 이상 동작이 가능하다.First, compared to Bluetooth Basic Rate / Enhanced Data Rate (BR / EDR) technology, BLE technology has a relatively small duty cycle, enables low-cost production, and significantly reduces power consumption through low data rates. If you use a coin cell battery, it can operate for more than a year.
또한, BLE 기술에서는 디바이스 간 연결 절차를 간소화하였으며, 패킷 사이즈도 블루투스 BR/EDR 기술에 비해 작게 설계되어 있다.In addition, the BLE technology simplifies the connection procedure between devices, and the packet size is smaller than that of the Bluetooth BR / EDR technology.
BLE 기술에서, (1) RF 채널수는 40개이며, (2) 데이터 전송 속도는 1Mbps를 지원하며, (3) 토폴로지는 스타 구조이며, (4) latency는 3ms 이며, (5) 최대 전류는 15mA이하이며, (6) 출력 전력은 10mW(10dBm)이하이며, (7) 휴대폰, 시계, 스포츠, 헬스케어, 센서, 기기제어 등의 어플리케이션에 주로 사용된다.In BLE technology, (1) the number of RF channels is 40, (2) the data rate supports 1Mbps, (3) the topology is a star structure, (4) latency is 3ms, and (5) the maximum current is It is 15mA or less, (6) Output power is 10mW (10dBm) or less, and (7) It is mainly used in applications such as mobile phones, watches, sports, healthcare, sensors, and device control.
상기 서버 디바이스(110)는 다른 디바이스와의 관계에서 클라이언트 디바이스로 동작할 수 있고, 상기 클라이언트 디바이스는 다른 디바이스와의 관계에서 서버 디바이스로 동작할 수 있다. 즉, BLE 통신 시스템에서 어느 하나의 디바이스는 서버 디바이스 또는 클라이언트 디바이스로 동작하는 것이 가능하며, 필요한 경우, 서버 디바이스 및 클라이언트 디바이스로 동시에 동작하는 것도 가능하다. The server device 110 may operate as a client device in a relationship with another device, and the client device may operate as a server device in a relationship with another device. That is, in the BLE communication system, any one device may operate as a server device or a client device, and if necessary, operate as a server device and a client device.
상기 서버 디바이스(110)는 데이터 서비스 디바이스(Data Service Device), 마스터(Master) 디바이스, 마스터(Master), 서버, 컨덕터(Conductor), 호스트 디바이스(Host Device), 오디오 소스 디바이스(Audio Source Device), 제 1 디바이스 등으로 표현될 수 있으며, 상기 클라이언트 디바이스는 슬레이브(Slave) 디바이스, 슬레이브(Slave), 클라이언트, 멤버(Member), 싱크 디바이스(Sink Device), 오디오 싱크 디바이스(Audio Sink Device), 제 2 디바이스 등으로 표현될 수 있다.The server device 110 may include a data service device, a master device, a master, a server, a conductor, a host device, an audio source device, The client device may be a slave device, a slave device, a slave device, a client, a member, a sink device, an audio sink device, or a second device. It may be represented by a device or the like.
서버 디바이스와 클라이언트 디바이스는 상기 무선 통신 시스템의 주요 구성요소에 해당하며, 상기 무선 통신 시스템은 서버 디바이스 및 클라이언트 디바이스 이외에도 다른 구성요소를 포함할 수 있다.The server device and the client device correspond to the main components of the wireless communication system, and the wireless communication system may include other components in addition to the server device and the client device.
상기 서버 디바이스는 클라이언트로부터 데이터를 제공 받고, 클라이언트 디바이스와 직접 통신을 수행함으로써, 클라이언트 디바이스로부터 데이터 요청을 수신하는 경우, 응답을 통해 클라이언트 디바이스로 데이터를 제공하는 디바이스를 말한다.The server device refers to a device that receives data from a client and directly communicates with the client device, thereby providing data to the client device through a response when receiving a data request from the client device.
또한, 상기 서버 디바이스는 클라이언트 디바이스로 데이터 정보를 제공하기 위해 클라이언트 디바이스에게 알림(Notification) 메시지, 지시(Indication) 메시지를 보낸다. 또한, 상기 서버 디바이스는 상기 클라이언트 디바이스로 지시 메시지를 전송하는 경우, 상기 클라이언트로부터 상기 지시 메시지에 대응하는 확인(Confirm) 메시지를 수신한다.The server device also sends a notification message and an indication message to the client device to provide data information to the client device. In addition, when the server device transmits an indication message to the client device, the server device receives a confirmation message corresponding to the indication message from the client.
또한, 상기 서버 디바이스는 알림, 지시, 확인 메시지들을 클라이언트 디바이스와 송수신하는 과정에서 출력부(Display Unit)을 통해서 사용자에게 데이터 정보를 제공하거나 입력부(User Input Interface)를 통해 사용자로부터 입력되는 요청을 수신할 수 있다.In addition, the server device provides data information to the user through a display unit or receives a request input from the user through a user input interface in the process of transmitting and receiving notification, indication, and confirmation messages with the client device. can do.
또한, 상기 서버 디바이스는 상기 클라이언트 디바이스와 메시지를 송수신하는 과정에서 메모리(memory unit)로부터 데이터를 읽어 오거나 새로운 데이터를 해당 메모리에 쓸 수 있다.In addition, the server device may read data from a memory unit or write new data to a corresponding memory in a process of transmitting and receiving a message with the client device.
또한, 하나의 서버 디바이스는 다수의 클라이언트 디바이스들과 연결될 수 있으며, 본딩(Bonding) 정보를 활용하여 클라이언트 디바이스들과 쉽게 재 연결(또는 접속)이 가능하다.In addition, one server device may be connected to a plurality of client devices, and may be easily reconnected (or connected) with the client devices by using bonding information.
상기 클라이언트 디바이스(120)는 서버 디바이스에게 데이터 정보 및 데이터 전송을 요청하는 장치를 말한다.The client device 120 refers to an apparatus for requesting data information and data transmission from a server device.
클라이언트 디바이스는 상기 서버 디바이스로부터 알림 메시지, 지시 메시지 등을 통해 데이터를 수신하고, 지시 메시지를 상기 서버 디바이스로부터 수신하는 경우, 상기 지시 메시지에 대한 응답으로 확인 메시지를 보낸다.The client device receives data from the server device through a notification message, an instruction message, and the like, and when receiving an instruction message from the server device, sends a confirmation message in response to the instruction message.
상기 클라이언트 디바이스도 마찬가지로 상기 서버 디바이스와 메시지들을 송수신하는 과정에서 출력부를 통해서 사용자에게 정보를 제공하거나 입력부를 통해서 사용자로부터의 입력을 수신할 수 있다.Similarly, the client device may provide information to the user through an output unit or receive an input from the user through an input unit in the process of transmitting and receiving messages with the server device.
또한, 상기 클라이언트 디바이스는 상기 서버 디바이스와 메시지를 송수신하는 과정에서 메모리로부터 데이터를 읽어 오거나 새로운 데이터를 해당 메모리에 쓸 수 있다.In addition, the client device may read data from the memory or write new data to the memory in the process of transmitting and receiving a message with the server device.
상기 서버 디바이스 및 클라이언트 디바이스의 출력부, 입력부 및 메모리 등과 같은 하드웨어 구성요소에 대해서는 도 2에서 구체적으로 살펴보기로 한다.Hardware components such as an output unit, an input unit, and a memory of the server device and the client device will be described in detail with reference to FIG. 2.
또한, 상기 무선 통신 시스템은 블루투스 기술을 통해 개인 영역 네트워킹(Personal Area Networking:PAN)을 구성할 수 있다. 일 예로, 상기 무선 통신 시스템에서는 디바이스 간 개인적인 피코넷(private piconet)을 확립함으로써 파일, 서류 등을 신속하고 안전하게 교환할 수 있다.In addition, the wireless communication system may configure Personal Area Networking (PAN) through Bluetooth technology. For example, in the wireless communication system, by establishing a private piconet between devices, files, documents, and the like can be exchanged quickly and securely.
BLE 디바이스(또는 기기)는 다양한 블루투스-관련 프로토콜, 프로파일, 처리 등을 지원하도록 동작 가능할 수 있다.The BLE device (or device) may be operable to support various Bluetooth-related protocols, profiles, processing, and the like.

도 2는 본 명세서에서 제안하는 방법들을 구현할 수 있는 서버 디바이스 및 클라이언트 디바이스의 내부 블록도의 일 예를 나타낸다.2 shows an example of an internal block diagram of a server device and a client device that can implement the methods proposed herein.
서버 디바이스는 적어도 하나의 클라이언트 디바이스와 연결될 수 있다.The server device may be connected with at least one client device.
또한, 필요에 따라 각 디바이스의 내부 블록도는 다른 구성 요소(모듈, 블록, 부)를 더 포함할 수도 있고, 도 2의 구성 요소 중 일부가 생략될 수도 있다.In addition, if necessary, the internal block diagram of each device may further include other components (modules, blocks, and parts), and some of the components of FIG. 2 may be omitted.
도 2에 도시된 바와 같이, 서버 디바이스는 출력부(Display Unit,111), 입력부(User Input Interface,112), 전력 공급부(Power Supply Unit,113), 프로세서(Processor,114), 메모리(Memory Unit,115), 블루투스 인터페이스(Bluetooth Interface,116), 다른 통신 인터페이스(Other Interface,117) 및 통신부(또는 송수신부, 118)를 포함한다.As shown in FIG. 2, the server device includes an output unit 111, a user input interface 112, a power supply unit 113, a processor 114, and a memory unit. 115, a Bluetooth interface 116, another communication interface 117, and a communication unit (or a transceiver unit 118).
상기 출력부(111), 입력부(112), 전력 공급부(113), 프로세서(114), 메모리(115), 블루투스 인터페이스(116), 다른 통신 인터페이스(117) 및 통신부(118)는 본 명세서에서 제안하는 방법을 수행하기 위해 기능적으로 연결되어 있다.The output unit 111, the input unit 112, the power supply unit 113, the processor 114, the memory 115, the Bluetooth interface 116, the other communication interface 117 and the communication unit 118 are proposed herein. It is functionally linked to perform the method.
또한, 클라이언트 디바이스는 출력부(Display Unit,121), 입력부(User Input Interface,122), 전력 공급부(Power Supply Unit,123), 프로세서(Processor,124), 메모리(Memory Unit,125), 블루투스 인터페이스(Bluetooth Interface,126) 및 통신부(또는 송수신부, 127)를 포함한다.In addition, the client device may include an output unit 121, a user input interface 122, a power supply unit 123, a processor 124, a memory unit 125, and a Bluetooth interface. (Bluetooth Interface 126) and a communication unit (or a transceiver unit 127).
상기 출력부(121), 입력부(122), 전력 공급부(123), 프로세서(124), 메모리(125), 블루투스 인터페이스(126), 및 통신부(127)는 본 명세서에서 제안하는 방법을 수행하기 위해 기능적으로 연결되어 있다.The output unit 121, the input unit 122, the power supply unit 123, the processor 124, the memory 125, the Bluetooth interface 126, and the communication unit 127 are used to perform the method proposed in this specification. Functionally connected
상기 블루투스 인터페이스(116,126)는 블루투스 기술을 이용하여 디바이스들 간의 요청/응답, 명령, 알림, 지시/확인 메시지 등 또는 데이터 전송이 가능한 유닛(또는 모듈)을 말한다.The Bluetooth interface 116, 126 refers to a unit (or module) capable of transmitting data or request / response, command, notification, indication / confirmation message, etc. between devices using Bluetooth technology.
상기 메모리(115,125)는 다양한 종류의 디바이스에 구현되는 유닛으로서, 다양한 종류의 데이터가 저장되는 유닛을 말한다.The memories 115 and 125 are units implemented in various types of devices and refer to units in which various kinds of data are stored.
상기 프로세서(114,124)는 서버 디바이스 또는 클라이언트 디바이스의 전반적인 동작을 제어하는 모듈을 말하며, 블루투스 인터페이스 및 다른 통신 인터페이스로 메시지를 전송 요청 및 수신받은 메시지를 처리하도록 제어한다.The processor 114, 124 refers to a module that controls the overall operation of the server device or the client device, and controls to process a message request and a received message through a Bluetooth interface and another communication interface.
상기 프로세서(114,124)는 제어부, 제어 유닛(Control Unit), 컨트롤러 등으로 표현될 수 있다.The processors 114 and 124 may be represented by a controller, a control unit, a controller, or the like.
상기 프로세서(114,124)는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다.The processors 114 and 124 may include application-specific integrated circuits (ASICs), other chipsets, logic circuits, and / or data processing devices.
상기 메모리(115,125)는 ROM(read-only memory), RAM(random access memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다.The memories 115 and 125 may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices.
상기 통신부(118,127)는 무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 실시 예가 소프트웨어로 구현될 때, 상술한 기법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다.The communication unit 118 and 127 may include a baseband circuit for processing a radio signal. When the embodiment is implemented in software, the above-described technique may be implemented as a module (process, function, etc.) for performing the above-described function. The module may be stored in memory and executed by a processor.
상기 메모리(115,125)는 프로세서(114,124) 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(114,124)와 연결될 수 있다.The memories 115 and 125 may be inside or outside the processors 114 and 124, and may be connected to the processors 114 and 124 by various well-known means.
상기 출력부(111,121)는 디바이스의 상태 정보 및 메시지 교환 정보 등을 화면을 통해서 사용자에게 제공하기 위한 모듈을 말한다.The output units 111 and 121 refer to modules for providing device status information and message exchange information to a user through a screen.
상기 전력 공급부(전원 공급부,113,123)는 제어부의 제어 하에 외부의 전원, 내부의 전원을 인가 받아 각 구성요소들의 동작에 필요한 전원을 공급해주는 모듈을 말한다.The power supply unit (power supply unit 113, 123) refers to a module for supplying power required for the operation of each component by receiving the external power, the internal power under the control of the controller.
앞에서 살핀 것처럼, BLE 기술에서는 작은 duty cycle을 가지며, 저속의 데이터 전송률을 통해 전력 소모를 크게 줄일 수 있어, 상기 전력 공급부는 적은 출력 전력으로도(10mW(10dBm)이하) 각 구성요소들의 동작에 필요한 전원을 공급할 수 있다.As we saw earlier, BLE technology has a small duty cycle, and the low data rate can greatly reduce power consumption, so that the power supply is required for the operation of each component with less output power (10 mW (10 dBm or less)). Can supply power.
상기 입력부(112,122)는 화면 버튼과 같이 사용자의 입력을 제어부에게 제공하여 디바이스의 동작을 사용자가 제어할 수 있게 하는 모듈을 말한다.The input units 112 and 122 refer to a module that provides a user's input to the controller like a screen button so that the user can control the operation of the device.

도 3은 블루투스 저전력 에너지 토폴로지(Topology)의 일 예를 나타낸다.3 shows an example of a Bluetooth low power energy topology.
도 3을 참조하면, 디바이스 A는 디바이스 B와 디바이스 C를 슬레이브(slave)로 가지는 피코넷(피코넷 A, 음영부분)에서 마스터(master)에 해당한다.Referring to FIG. 3, device A corresponds to a master in a piconet (piconet A, shaded portion) having device B and device C as slaves.
여기서, 피코넷(Piconet)이란, 다수의 디바이스들 중 어느 하나가 마스터이고, 나머지 디바이스들이 마스터 디바이스에 연결되어 있는 공유된 물리 채널을 점유하고 있는 디바이스들의 집합을 의미한다.Here, a piconet means a set of devices occupying a shared physical channel in which any one of a plurality of devices is a master and the remaining devices are connected to the master device.
BLE 슬레이브는 마스터와 공통 물리 채널을 공유하지 않는다. 각각의 슬레이브는 별개의 물리 채널을 통해 마스터와 통신한다. 마스터 디바이스 F와 슬레이브 디바이스 G를 가지는 또 다른 피코넷(피코넷 F)이 있다.The BLE slave does not share a common physical channel with the master. Each slave communicates with the master through a separate physical channel. There is another piconet (piconet F) with master device F and slave device G.
디바이스 K는 스캐터넷(scatternet K)에 있다. 여기서, 스캐터넷(scatternet)은 다른 피코넷들 간 연결이 존재하는 피코넷의 그룹을 의미한다.Device K is on scatternet K. Here, a scatternet means a group of piconets in which connections between other piconets exist.
디바이스 K는 디바이스 L의 마스터이면서, 디바이스 M의 슬레이브이다.Device K is a master of device L and a slave of device M.
디바이스 O 역시 스캐터넷(scatternet O)에 있다. 디바이스 O는 디바이스 P의 슬레이브이면서, 디바이스 Q의 슬레이브이다. Device O is also on scatternet O. Device O is a slave of device P and a slave of device Q.
도 3에 도시된 바와 같이, 5개의 다른 디바이스 그룹들이 존재한다.As shown in FIG. 3, there are five different device groups.
디바이스 D는 광고자(advertiser)이고, 디바이스 A는 개시자(initiator)이다.(그룹 D)Device D is an advertiser and device A is an initiator (group D).
디바이스 E는 스캐너(scanner)이며, 디바이스 C는 광고자이다.(그룹 C)Device E is a scanner and device C is an advertiser (group C).
디바이스 H는 광고자이며, 디바이스 I 및 J는 스캐너들이다.(그룹 H)Device H is an advertiser and devices I and J are scanners (group H).
디바이스 K 또한 광고자이며, 디바이스 N은 개시자이다.(그룹 K)Device K is also an advertiser and device N is an initiator (group K).
디바이스 R은 광고자이며, 디바이스 O는 개시자이다.(그룹 R)Device R is an advertiser and device O is an initiator (group R).
디바이스 A와 B는 하나의 BLE 피코넷 물리 채널을 사용한다.Devices A and B use one BLE piconet physical channel.
디바이스 A와 C는 또 다른 BLE 피코넷 물리 채널을 사용한다.Devices A and C use another BLE piconet physical channel.
그룹 D에서, 디바이스 D는 광고 물리 채널 상으로 연결 가능한 광고 이벤트를 사용하여 광고하며, 디바이스 A는 개시자이다. 디바이스 A는 디바이스 D와 연결을 형성할 수 있고, 피코넷 A로 디바이스를 추가할 수 있다.In group D, device D advertises using an advertisement event connectable onto an advertising physical channel, and device A is an initiator. Device A may establish a connection with device D and add the device to piconet A.
그룹 C에서, 디바이스 C는 스캐너 디바이스 E에 의해 캡쳐되는 광고 이벤트의 어떤 타입을 사용하여 광고 물리 채널 상으로 광고를 한다.In group C, device C advertises on the ad physical channel using some type of advertisement event captured by scanner device E.
그룹 D와 그룹 C는 충돌을 피하기 위해 서로 다른 광고 물리 채널을 사용하거나 다른 시간을 사용할 수 있다.Group D and Group C may use different advertising physical channels or use different times to avoid collisions.
피코넷 F에는 하나의 물리 채널이 있다. 디바이스 F와 G는 하나의 BLE 피코넷 물리 채널을 사용한다. 디바이스 F는 마스터이고, 디바이스 G는 슬레이브이다.Piconet F has one physical channel. Devices F and G use one BLE piconet physical channel. Device F is the master and device G is the slave.
그룹 H에는 하나의 물리 채널이 있다. 디바이스 H, I 및 J는 하나의 BLE 광고 물리 채널을 사용한다. 디바이스 H는 광고자이며, 디바이스 I 및 J는 스캐너이다.Group H has one physical channel. Devices H, I and J use one BLE advertising physical channel. Device H is an advertiser and devices I and J are scanners.
스캐터넷 K에서, 디바이스 K와 L은 하나의 BLE 피코넷 물리 채널을 사용한다. 디바이스 K와 M은 또 다른 BLE 피코넷 물리 채널을 사용한다.In scatternet K, devices K and L use one BLE piconet physical channel. Devices K and M use another BLE piconet physical channel.
그룹 K에서, 디바이스 K는 광고 물리 채널 상으로 연결 가능한 광고 이벤트를 사용하여 광고를 하며, 디바이스 N은 개시자이다. 디바이스 N은 디바이스 K와 연결을 형성할 수 있다. 여기서, 디바이스 K는 두 디바이스들의 슬레이브가 되면서 동시에 한 디바이스의 마스터가 된다.In group K, device K advertises using an advertisement event connectable onto an advertising physical channel, and device N is an initiator. Device N may form a connection with device K. Here, device K becomes a slave of two devices and simultaneously becomes a master of one device.
스캐터넷 O에서, 디바이스 O와 P는 하나의 BLE 피코넷 물리 채널을 사용한다. 디바이스 O와 Q는 또 다른 BLE 피코넷 물리채널을 사용한다.In scatternet O, devices O and P use one BLE piconet physical channel. Devices O and Q use another BLE piconet physical channel.
그룹 R에서, 디바이스 R은 광고 물리 채널 상으로 연결 가능한 광고 이벤트를 사용하여 광고를 하며, 디바이스 O는 개시자이다. 디바이스 O는 디바이스 R과 연결을 형성할 수 있다. 여기서, 디바이스 O는 두 디바이스들의 슬레이브가 되면서 동시에 한 디바이스의 마스터가 된다.In group R, device R advertises using an advertisement event connectable onto an advertising physical channel, and device O is an initiator. Device O may form a connection with device R. Here, device O becomes a slave of two devices and simultaneously becomes a master of one device.

도 4 및 도 5는 본 명세서에서 제안하는 방법들이 적용될 수 있는 블루투스 통신 아키텍처(Architecture)의 일 예를 나타낸 도이다.4 and 5 illustrate examples of a Bluetooth communication architecture to which the methods proposed herein may be applied.
구체적으로, 도 4는 블루투스 BR(Basic Rate)/EDR(Enhanced Data Rate)의 아키텍처의 일 예를 나타내며, 도 5는 블루투스 LE(Low Energy)의 아키텍처의 일 예를 나타낸다.Specifically, FIG. 4 illustrates an example of the architecture of Bluetooth Basic Rate (BR) / Enhanced Data Rate (EDR), and FIG. 5 illustrates an example of the architecture of Bluetooth Low Energy (LE).
먼저, 도 4에 도시된 바와 같이, 블루투스 BR/EDR 아키텍처는 컨트롤러 스택(Controller stACK,410), HCI(Host Controller Interface,420) 및 호스트 스택(Host stACK,430)을 포함한다.First, as shown in FIG. 4, the Bluetooth BR / EDR architecture includes a controller stack (Controller stACK, 410), a host controller interface (420), and a host stack (Host stACK, 430).
상기 컨트롤러 스택(또는 컨트롤러 모듈, 410)은 2.4GHz의 블루투스 신호를 받는 무선 송수신 모듈과 블루투스 패킷을 전송하거나 수신하기 위한 하드웨어를 말하며, BR/EDR Radio 계층(411), BR/EDR Baseband 계층(412), BR/EDR Link Manager 계층(413)을 포함할 수 있다.The controller stack (or controller module 410) refers to a radio transceiver module receiving a 2.4 GHz Bluetooth signal and hardware for transmitting or receiving a Bluetooth packet, and include a BR / EDR radio layer 411 and a BR / EDR baseband layer 412. ), And may include a BR / EDR Link Manager layer 413.
상기 BR/EDR Radio 계층(411)은 2.4 GHz 무선 신호를 송수신하는 계층으로, GFSK (Gaussian Frequency Shift Keying) modulation을 사용하는 경우 79 개의 RF 채널을 hopping 하여 데이터를 전송할 수 있다.The BR / EDR radio layer 411 is a layer that transmits and receives a 2.4 GHz radio signal. When using GFSK (Gussian Frequency Shift Keying) modulation, the BR / EDR radio layer 411 may transmit data by hopping 79 RF channels.
상기 BR/EDR Baseband 계층(412)은 Digital Signal을 전송하는 역할을 담당하며, 초당 1600번 hopping 하는 채널 시퀀스를 선택하며, 각 채널 별 625us 길이의 time slot을 전송한다.The BR / EDR baseband layer 412 plays a role of transmitting a digital signal, selects a channel sequence hopping 1600 times per second, and transmits a 625us length time slot for each channel.
상기 Link Manager 계층(413)은 LMP(Link Manager Protocol)을 활용하여 Bluetooth Connection의 전반적인 동작(link setup, control, security)을 제어한다.The link manager layer 413 controls the overall operation (link setup, control, security) of the Bluetooth connection by using a link manager protocol (LMP).
상기 Link Manager 계층은 아래와 같은 기능을 수행할 수 있다.The Link Manager layer can perform the following functions.
- ACL/SCO logical transport 및 logical link setup 및 control을 한다.ACL / SCO logical transport and logical link setup and control
- Detach: connection을 중단하고, 중단 이유를 상대 디바이스에게 알려준다. Detach: Stops the connection and tells the other device why.
- Power control 및 Role switch를 한다.-Perform power control and role switch.
- Security(authentication, pairing, encryption) 기능을 수행한다.-Perform Security (authentication, pairing, encryption) function.
상기 Host Controller Interface 계층(420)은 Host 모듈(430)과 Controller 모듈(410) 사이의 인터페이스 제공하여 Host 가 command와 Data를 Controller에게 제공하게 하며, Controller가 event와 Data를 Host에게 제공할 수 있도록 해준다.The host controller interface layer 420 provides an interface between the host module 430 and the controller module 410 to allow the host to provide commands and data to the controller, and the controller to provide events and data to the host. .
상기 호스트 스택(또는 호스트 모듈,430)은 L2CAP(437), SDP(Service Discovery Protocol,433), BR/EDR Protocol(432), BR/EDR Profiles(431), Attribute Protocol(436), Generic Access Profile(GAP,434), Generic Attribute Profile(GATT,435)을 포함한다.The host stack (or host module 430) includes L2CAP (437), Service Discovery Protocol (433), BR / EDR Protocol (432), BR / EDR Profiles (431), Attribute Protocol (436), and Generic Access Profile. (GAP, 434) and Generic Attribute Profile (GATT, 435).
상기 Logical Link Control and Adaptation Protocol(L2CAP,437)은 특정 protocol 또는 profile 에게 데이터를 전송하기 위한 하나의 양방향 채널을 제공한다.The Logical Link Control and Adaptation Protocol (L2CAP) 437 provides one bidirectional channel for transmitting data to a specific protocol or profile.
상기 L2CAP은 블루투스 상위에서 제공하는 다양한 protocol, profile 등을 multiplexing한다.The L2CAP multiplexes various protocols, profiles, etc. provided by the upper layer of Bluetooth.
블루투스 BR/EDR의 L2CAP에서는 dynamic 채널 사용하며, protocol service multiplexer, retransmission, streaming mode를 지원하고, Segmentation 및 reassembly, per-channel flow control, error control을 제공한다.L2CAP of Bluetooth BR / EDR uses dynamic channel, supports protocol service multiplexer, retransmission, streaming mode, and provides segmentation, reassembly, per-channel flow control, and error control.
상기 SDP(Service Discovery Protocol,433)는 블루투스 디바이스에서 지원하는 서비스(Profile 및 Protocol)을 찾기 위한 프로토콜을 말한다.The SDP (Service Discovery Protocol) 433 refers to a protocol for searching for a service (Profile and Protocol) supported by a Bluetooth device.
상기 BR/EDR Protocol 및 Profiles(432,431)은 블루트스 BR/EDR를 이용하는 서비스 (profile)의 정의 및 이들 데이터를 주고 받기 위한 application 프로토콜을 정의한다.The BR / EDR Protocol and Profiles 432 and 431 define a profile using Bluet BR / EDR and an application protocol for transmitting and receiving these data.
상기 Attribute Protocol(436)은 Server-Client 구조로, 상대 디바이스의 data를 접근하기 위한 규칙을 정의한다. 아래와 같이 6가지 메시지(Request message, Response message, Command message, Notification message, Indication message) 유형이 있다.The Attribute Protocol 436 has a Server-Client structure and defines a rule for accessing data of a counterpart device. There are six types of messages (Request message, Response message, Command message, Notification message, Indication message) as shown below.
- Request message from client to server with Response message from server to client -Request message from client to server with Response message from server to client
- Command message from client to server without Response message -Command message from client to server without response message
- Notification message from server to client without Confirm message -Notification message from server to client without Confirm message
- Indication message from server to client with Confirm message from client to server -Indication message from server to client with Confirm message from client to server
상기 Generic Attribute Profile(GATT,435)은 attribute의 type을 정의한다.The Generic Attribute Profile (GATT, 435) defines the type of attribute.
상기 Generic Access Profile(GAP,434)은 디바이스 발견, 연결, 사용자에게 정보를 제공하는 방안을 정의하며, privacy를 제공한다.The Generic Access Profile (GAP, 434) defines a method for providing device discovery, connection, and providing information to a user, and provides privacy.
도 5에 도시된 바와 같이, BLE 구조는 타이밍이 중요한 무선장치 인터페이스를 처리하도록 동작가능한 컨트롤러 스택(Controller stACK)과 고레벨(high level) 데이터를 처리하도록 동작가능한 호스트 스택(Host stACK)을 포함한다.As shown in FIG. 5, the BLE structure includes a controller stack operable to handle timing critical radio interface and a host stack operable to process high level data.
상기 Controller stACK은 Controller로 호칭될 수도 있으나, 앞서 도 2에서 언급한 디바이스 내부 구성요소인 프로세서와의 혼동을 피하기 위해 이하에서는 Controller stACK으로 표현하기로 한다.The controller stACK may be referred to as a controller. Hereinafter, the controller stACK will be referred to as a controller stACK to avoid confusion with a processor which is a device internal component mentioned in FIG. 2.
먼저, 컨트롤러 스택은 블루투스 무선장치를 포함할 수 있는 통신 모듈과, 예를 들어, 마이크로프로세서와 같은 프로세싱 디바이스를 포함할 수 있는 프로세서 모듈을 이용하여 구현될 수 있다.First, the controller stack may be implemented using a communication module that may include a Bluetooth radio and a processor module that may include a processing device such as, for example, a microprocessor.
호스트 스택은 프로세서 모듈 상에서 작동되는 OS의 일부로서, 또는 OS 위의 패키지(pACKage)의 인스턴스 생성(instantiation)으로서 구현될 수 있다.The host stack may be implemented as part of an OS running on a processor module, or as an instance of a package on the OS.
일부 사례들에서, 컨트롤러 스택 및 호스트 스택은 프로세서 모듈 내의 동일한 프로세싱 디바이스 상에서 작동 또는 실행될 수 있다.In some instances, the controller stack and the host stack can be operated or executed on the same processing device in the processor module.
호스트 스택은 GAP(Generic Access Profile,510), GATT based Profiles(520), GATT(Generic Attribute Profile,530), ATT(Attribute Protocol,540), SM(Security Manage,550), L2CAP(Logical Link Control and Adaptation Protocol,560)을 포함한다. 다만, 호스트 스택은 이것으로 한정되지는 않고 다양한 프로토콜들 및 프로파일들을 포함할 수 있다. The host stack includes GAP (Generic Access Profile, 510), GATT based Profiles (520), GATT (Generic Attribute Profile, 530), ATT (Attribute Protocol, 540), SM (Security Manage, 550), L2CAP (Logical Link Control and Adaptation Protocol, 560). However, the host stack is not limited to this and may include various protocols and profiles.
호스트 스택은 L2CAP을 사용하여 블루투스 상위에서 제공하는 다양한 프로토콜, 프로파일 등을 다중화(multiplexing)한다. The host stack uses L2CAP to multiplex the various protocols, profiles, etc. provided by Bluetooth.
먼저, L2CAP(Logical Link Control and Adaptation Protocol,560)은 특정 프로토콜 또는 프로파일에게 데이터를 전송하기 위한 하나의 양방향 채널을 제공한다.First, the Logical Link Control and Adaptation Protocol (L2CAP) 560 provides one bidirectional channel for transmitting data to a specific protocol or profile.
L2CAP은 상위 계층 프로토콜들 사이에서 데이터를 다중화(multiplex)하고, 패키지(pACKage)들을 분할(segment) 및 재조립(reassemble)하고, 멀티캐스트 데이터 송신을 관리하도록 동작 가능할 수 있다.L2CAP may be operable to multiplex data among higher layer protocols, segment and reassemble packages, and manage multicast data transmission.
BLE 에서는 3개의 고정 채널(signaling CH을 위해 1개, Security Manager를 위해 1개, Attribute protocol을 위해 1개)을 사용한다.BLE uses three fixed channels (one for the signaling CH, one for the Security Manager, and one for the Attribute protocol).
반면, BR/EDR(Basic Rate/Enhanced Data Rate)에서는 동적인 채널을 사용하며, protocol service multiplexer, retransmission, streaming mode 등을 지원한다. On the other hand, BR / EDR (Basic Rate / Enhanced Data Rate) uses dynamic channels and supports protocol service multiplexer, retransmission, and streaming mode.
SM(Security Manager,550)은 디바이스를 인증하며, 키 분배(key distribution)를 제공하기 위한 프로토콜이다.The SM (Security Manager, 550) is a protocol for authenticating devices and providing key distribution.
ATT(Attribute Protocol,540)는 서버-클라이언트(Server-Client) 구조로 상대 디바이스의 데이터를 접근하기 위한 규칙을 정의한다. ATT에는 6가지의 메시지 유형(Request, Response, Command, Notification, Indication, Confirmation)이 있다.ATT (Attribute Protocol, 540) defines a rule for accessing data of a counterpart device in a server-client structure. There are six message types in ATT: Request, Response, Command, Notification, Indication, and Confirmation.
즉, ① Request 및 Response 메시지: Request 메시지는 클라이언트 디바이스에서 서버 디바이스로 특정 정보를 요청하기 위한 메시지이며, Response 메시지는 Request 메시지에 대한 응답 메시지로서, 서버 디바이스에서 클라이언트 디바이스로 전송되는 메시지를 말한다.That is, ① Request and Response message: The Request message is a message for requesting specific information from the client device to the server device, and the Response message is a response message to the request message, and refers to a message transmitted from the server device to the client device.
② Command 메시지: 클라이언트 디바이스에서 서버 디바이스로 특정 동작의 명령을 지시하기 위해 전송하는 메시지로, 서버 디바이스는 Command 메시지에 대한 응답을 클라이언트 디바이스로 전송하지 않는다. ② Command message: A message sent from the client device to the server device to indicate a command of a specific operation. The server device does not transmit a response to the command message to the client device.
③ Notification 메시지: 서버 디바이스에서 클라이언트 디바이스로 이벤트 등과 같은 통지를 위해 전송하는 메시지로, 클라이언트 디바이스는 Notification 메시지에 대한 확인 메시지를 서버 디바이스로 전송하지 않는다.③ Notification message: This message is sent from the server device to the client device for notification such as an event. The client device does not transmit a confirmation message for the notification message to the server device.
④ Indication 및 Confirm 메시지: 서버 디바이스에서 클라이언트 디바이스로 이벤트 등과 같은 통지를 위해 전송하는 메시지로, Notification 메시지와는 달리, 클라이언트 디바이스는 Indication 메시지에 대한 확인 메시지를 서버 디바이스로 전송한다.④ Indication and Confirm message: This message is transmitted from the server device to the client device for notification such as an event. Unlike the notification message, the client device transmits an acknowledgment message for the Indication message to the server device.
GAP(Generic Access Profile)는 BLE 기술을 위해 새롭게 구현된 계층으로, BLE 디바이스들 간의 통신을 위한 역할 선택, 멀티 프로파일 작동이 어떻게 일어나는지를 제어하는데 사용된다.Generic Access Profile (GAP) is a newly implemented layer for BLE technology. It is used to select roles for communication between BLE devices and to control how multi-profile operation occurs.
또한, GAP는 디바이스 발견, 연결 생성 및 보안 절차 부분에 주로 사용되며, 사용자에게 정보를 제공하는 방안을 정의하며, 하기와 같은 attribute의 type을 정의한다.In addition, GAP is mainly used in the device discovery, connection creation and security procedures, and defines the way to provide information to the user, and defines the type of the attribute as follows.
① Service : 데이터와 관련된 behavior의 조합으로 디바이스의 기본적인 동작을 정의① Service: Defines the basic behavior of the device by combining behaviors related to data.
② Include : 서비스 사이의 관계를 정의② Include: Define the relationship between services.
③ Characteristics : 서비스에서 사용되는 data 값③ Characteristics: Data value used in service
④ Behavior : UUID(Universal Unique Identifier, value type)로 정의된 컴퓨터가 읽을 수 있는 포맷④ Behavior: Computer readable format defined by UUID (Universal Unique Identifier, value type)

GATT-based Profiles은 GATT에 의존성을 가지는 profile 들로 주로 BLE 디바이스에 적용된다. GATT-based Profiles은 Battery, Time, FindMe, Proximity, Time, Object Delivery Service 등일 수 있다. GATT-based Profiles의 구체적인 내용은 하기와 같다.GATT-based Profiles are profiles that depend on GATT and are mainly applied to BLE devices. GATT-based Profiles may be Battery, Time, FindMe, Proximity, Time, Object Delivery Service, and the like. Details of GATT-based Profiles are as follows.
Battery : 배터리 정보 교환 방법 Battery: How to exchange battery information
Time : 시간 정보 교환 방법 Time: How to exchange time information
FindMe : 거리에 따른 알람 서비스 제공 FindMe: Provides alarm service according to distance
Proximity : 배터리 정보 교환 방법 Proximity: How to exchange battery information
Time : 시간 정보 교환 방법 Time: How to exchange time information
GATT는 서비스들의 구성 시에 ATT가 어떻게 이용되는지를 설명하는 프로토콜로서 동작가능할 수 있다. 예를 들어, GATT는 ATT 속성들이 어떻게 서비스들로 함께 그룹화되는지를 규정하도록 동작가능할 수 있고, 서비스들과 연계된 특징들을 설명하도록 동작가능할 수 있다.GATT may be operable as a protocol describing how ATT is used in the configuration of services. For example, the GATT may be operable to specify how ATT attributes are grouped together into services, and may be operable to describe features associated with the services.
따라서, GATT 및 ATT는 디바이스의 상태와 서비스들을 설명하고, 특징들이 서로 어떻게 관련되며 이들이 어떻게 이용되는지를 설명하기 위하여, 특징들을 사용할 수 있다.Thus, GATT and ATT may use features to describe the state and services of a device and to describe how features relate to each other and how they are used.
컨트롤러(Controller) 스택은 물리 계층(Physical Layer,590), 링크 계층(Link Layer,580) 및 호스트 컨트롤러 인터페이스(Host Controller Interface,570)를 포함한다.The controller stack includes a physical layer 590, a link layer 580, and a host controller interface 570.
물리 계층(무선 송수신 모듈,590)은 2.4 GHz 무선 신호를 송수신하는 계층으로 GFSK (Gaussian Frequency Shift Keying) modulation과 40 개의 RF 채널로 구성된 frequency hopping 기법을 사용한다.The physical layer (wireless transmit / receive module 590) transmits and receives a 2.4 GHz radio signal and uses Gaussian Frequency Shift Keying (GFSK) modulation and a frequency hopping method consisting of 40 RF channels.
링크 계층(580)은 블루투스 패킷을 전송하거나 수신한다. Link layer 580 sends or receives Bluetooth packets.
또한, 링크 계층은 3개의 Advertising 채널을 이용하여 Advertising, Scanning 기능을 수행한 후에 디바이스 간 연결을 생성하고, 37개 Data 채널을 통해 최대 42bytes 의 데이터 패킷을 주고 받는 기능을 제공한다.In addition, the link layer creates a connection between devices after performing advertising and scanning functions using three advertising channels, and provides a function of sending and receiving data packets of up to 42 bytes through 37 data channels.
HCI(Host Controller Interface)는 Host 스택과 Controller 스택 사이의 인터페이스를 제공하여, Host 스택에서 command와 Data를 Controller 스택으로 제공하게 하며, Controller 스택에서 event와 Data를 Host 스택으로 제공하게 해준다.Host Controller Interface (HCI) provides an interface between the host stack and the controller stack, providing commands and data from the host stack to the controller stack, and providing events and data from the controller stack to the host stack.

이하에서, 블루투스 저전력 에너지(Bluetooth Low Energy:BLE) 기술의 절차(Procedure)들에 대해 간략히 살펴보기로 한다.In the following, the procedure of the Bluetooth Low Energy (BLE) technology will be briefly described.
BLE 절차는 디바이스 필터링 절차(Device Filtering Procedure), 광고 절차(Advertising Procedure), 스캐닝 절차(Scanning Procedure), 디스커버링 절차(Discovering Procedure), 연결 절차(Connecting Procedure) 등으로 구분될 수 있다.The BLE procedure may be classified into a device filtering procedure, an advertising procedure, a scanning procedure, a discovery procedure, a connecting procedure, and the like.
디바이스device 필터링Filter 절차step (Device Filtering Procedure)(Device Filtering Procedure)
디바이스 필터링 절차는 컨트롤러 스택에서 요청, 지시, 알림 등에 대한 응답을 수행하는 디바이스들의 수를 줄이기 위한 방법이다.The device filtering procedure is a method for reducing the number of devices performing a response to a request, an indication, a notification, and the like in the controller stack.
모든 디바이스에서 요청 수신 시, 이에 대해 응답하는 것이 불필요하기 때문에, 컨트롤러 스택은 요청을 전송하는 개수를 줄여서, BLE 컨트롤러 스택에서 전력 소비가 줄 수 있도록 제어할 수 있다.When all devices receive a request, it is unnecessary to respond to it, so the controller stack can control the number of requests sent, reducing power consumption in the BLE controller stack.
광고 디바이스 또는 스캐닝 디바이스는 광고 패킷, 스캔 요청 또는 연결 요청을 수신하는 디바이스를 제한하기 위해 상기 디바이스 필터링 절차를 수행할 수 있다.The advertising device or scanning device may perform the device filtering procedure to limit the device receiving the advertising packet, scan request or connection request.
여기서, 광고 디바이스는 광고 이벤트를 전송하는 즉, 광고를 수행하는 디바이스를 말하며, 광고자(Advertiser)라고도 표현된다.Here, the advertising device refers to a device that transmits an advertising event, that is, performs an advertisement, and is also referred to as an advertiser.
스캐닝 디바이스는 스캐닝을 수행하는 디바이스, 스캔 요청을 전송하는 디바이스를 말한다.The scanning device refers to a device that performs scanning and a device that transmits a scan request.
BLE에서는, 스캐닝 디바이스가 일부 광고 패킷들을 광고 디바이스로부터 수신하는 경우, 상기 스캐닝 디바이스는 상기 광고 디바이스로 스캔 요청을 전송해야 한다.In BLE, when the scanning device receives some advertising packets from the advertising device, the scanning device should send a scan request to the advertising device.
하지만, 디바이스 필터링 절차가 사용되어 스캔 요청 전송이 불필요한 경우, 상기 스캐닝 디바이스는 광고 디바이스로부터 전송되는 광고 패킷들을 무시할 수 있다.However, if a device filtering procedure is used so that a scan request transmission is unnecessary, the scanning device may ignore the advertisement packets transmitted from the advertisement device.
연결 요청 과정에서도 디바이스 필터링 절차가 사용될 수 있다. 만약, 연결 요청 과정에서 디바이스 필터링이 사용되는 경우, 연결 요청을 무시함으로써 상기 연결 요청에 대한 응답을 전송할 필요가 없게 된다.The device filtering procedure may also be used in the connection request process. If device filtering is used in the connection request process, it is not necessary to transmit a response to the connection request by ignoring the connection request.
광고Advertising 절차step (Advertising Procedure)(Advertising Procedure)
광고 디바이스는 영역 내 디바이스들로 비지향성의 브로드캐스트를 수행하기 위해 광고 절차를 수행한다.The advertising device performs an advertising procedure to perform a non-directional broadcast to the devices in the area.
여기서, 비지향성의 브로드캐스트는 특정 방향으로의 브로드캐스트가 아닌 전(모든) 방향으로의 브로드캐스트를 말한다.Here, non-directional broadcast refers to broadcast in all directions rather than broadcast in a specific direction.
이와 달리, 지향성 브로드 캐스트는 특정 방향으로의 브로드캐스트를 말한다. 비지향성 브로드캐스트는 광고 디바이스와 리스닝(또는 청취) 상태에 있는 디바이스(이하, 리스닝 디바이스라 한다.) 간에 연결 절차 없이 발생한다.In contrast, directional broadcasts refer to broadcasts in a particular direction. Non-directional broadcasts occur without a connection procedure between an advertising device and a device in a listening (or listening) state (hereinafter referred to as a listening device).
광고 절차는 근처의 개시 디바이스와 블루투스 연결을 확립하기 위해 사용된다.The advertising procedure is used to establish a Bluetooth connection with a nearby initiating device.
또는, 광고 절차는 광고 채널에서 리스닝을 수행하고 있는 스캐닝 디바이스들에게 사용자 데이터의 주기적인 브로드캐스트를 제공하기 위해 사용될 수 있다. Alternatively, the advertising procedure may be used to provide periodic broadcast of user data to the scanning devices that are listening on the advertising channel.
광고 절차에서 모든 광고(또는 광고 이벤트)는 광고 물리 채널을 통해 브로드캐스트된다.In the advertising process, all advertisements (or advertisement events) are broadcast over an advertising physical channel.
광고 디바이스들은 광고 디바이스로부터 추가적인 사용자 데이터를 얻기 위해 리스닝을 수행하고 있는 리스닝 디바이스들로부터 스캔 요청을 수신할 수 있다. 광고 디바이스는 스캔 요청을 수신한 광고 물리 채널과 동일한 광고 물리 채널을 통해, 스캔 요청을 전송한 디바이스로 스캔 요청에 대한 응답을 전송한다. The advertising devices may receive a scan request from listening devices that are listening to obtain additional user data from the advertising device. The advertising device transmits a response to the scan request to the device that sent the scan request through the same advertising physical channel as the received advertising physical channel.
광고 패킷들의 일 부분으로서 보내지는 브로드캐스트 사용자 데이터는 동적인 데이터인 반면에, 스캔 응답 데이터는 일반적으로 정적인 데이터이다.Broadcast user data sent as part of an advertisement packet is dynamic data, while scan response data is generally static data.
광고 디바이스는 광고 (브로드캐스트) 물리 채널 상에서 개시 디바이스로부터 연결 요청을 수신할 수 있다. 만약, 광고 디바이스가 연결 가능한 광고 이벤트를 사용하였고, 개시 디바이스가 디바이스 필터링 절차에 의해 필터링 되지 않았다면, 광고 디바이스는 광고를 멈추고 연결 모드(connected mode)로 진입한다. 광고 디바이스는 연결 모드 이후에 다시 광고를 시작할 수 있다.The advertising device may receive a connection request from the initiating device on the advertising (broadcast) physical channel. If the advertising device used a connectable advertising event and the initiating device was not filtered by the device filtering procedure, the advertising device stops the advertising and enters the connected mode. The advertising device may start advertising again after the connected mode.
스캐닝scanning 절차step (Scanning Procedure)(Scanning Procedure)
스캐닝을 수행하는 디바이스 즉, 스캐닝 디바이스는 광고 물리 채널을 사용하는 광고 디바이스들로부터 사용자 데이터의 비지향성 브로드캐스트를 청취하기 위해 스캐닝 절차를 수행한다.The device performing the scanning, i.e., the scanning device, performs a scanning procedure to listen to the non-directional broadcast of the user data from the advertising devices using the advertising physical channel.
스캐닝 디바이스는 광고 디바이스로부터 추가적인 사용자 데이터를 요청 하기 위해, 광고 물리 채널을 통해 스캔 요청을 광고 디바이스로 전송한다. 광고 디바이스는 광고 물리 채널을 통해 스캐닝 디바이스에서 요청한 추가적인 사용자 데이터를 포함하여 상기 스캔 요청에 대한 응답인 스캔 응답을 전송한다.The scanning device sends a scan request to the advertising device via the advertising physical channel to request additional user data from the advertising device. The advertising device transmits a scan response that is a response to the scan request, including additional user data requested by the scanning device over the advertising physical channel.
상기 스캐닝 절차는 BLE 피코넷에서 다른 BLE 디바이스와 연결되는 동안 사용될 수 있다.The scanning procedure can be used while connected to other BLE devices in the BLE piconet.
만약, 스캐닝 디바이스가 브로드캐스트되는 광고 이벤트를 수신하고, 연결 요청을 개시할 수 있는 개시자 모드(initiator mode)에 있는 경우, 스캐닝 디바이스는 광고 물리 채널을 통해 광고 디바이스로 연결 요청을 전송함으로써 광고 디바이스와 블루투스 연결을 시작할 수 있다.If the scanning device is in an initiator mode that can receive the broadcasted advertising event and initiate a connection request, the scanning device sends the connection request to the advertising device via the advertising physical channel to the advertising device. You can start a Bluetooth connection with.
스캐닝 디바이스가 광고 디바이스로 연결 요청을 전송하는 경우, 스캐닝 디바이스는 추가적인 브로드캐스트를 위한 개시자 모드 스캐닝을 중지하고, 연결 모드로 진입한다.When the scanning device sends a connection request to the advertising device, the scanning device stops initiator mode scanning for further broadcast and enters the connected mode.
디스커버링Discover 절차step (Discovering Procedure)(Discovering Procedure)
블루투스 통신이 가능한 디바이스(이하, ‘블루투스 디바이스’라 한다.)들은 근처에 존재하는 디바이스들을 발견하기 위해 또는 주어진 영역 내에서 다른 디바이스들에 의해 발견되기 위해 광고 절차와 스캐닝 절차를 수행한다.Devices capable of Bluetooth communication (hereinafter referred to as "Bluetooth devices") perform an advertisement procedure and a scanning procedure to find devices that are nearby or to be found by other devices within a given area.
디스커버링 절차는 비대칭적으로 수행된다. 주위의 다른 디바이스를 찾으려고 하는 블루투스 디바이스를 디스커버링 디바이스(discovering device)라 하며, 스캔 가능한 광고 이벤트를 광고하는 디바이스들을 위해 찾기 위해 리스닝한다. 다른 디바이스로부터 발견되어 이용 가능한 블루투스 디바이스를 디스커버러블 디바이스(discoverable device)라 하며, 적극적으로 광고 (브로드캐스트) 물리 채널을 통해 다른 디바이스가 스캔 가능하도록 광고 이벤트를 브로드캐스트한다.The discovery procedure is performed asymmetrically. A Bluetooth device that attempts to find other devices around it is called a discovering device and listens for devices that advertise scannable advertising events. Bluetooth devices discovered and available from other devices are referred to as discoverable devices, and actively broadcast advertising events so that other devices can scan through an advertising (broadcast) physical channel.
디스커버링 디바이스와 디스커버러블 디바이스 모두 피코넷에서 다른 블루투스 디바이스들과 이미 연결되어 있을 수 있다.Both the discovering device and the discoverable device may already be connected with other Bluetooth devices in the piconet.
연결connect 절차step (Connecting Procedure)(Connecting Procedure)
연결 절차는 비대칭적이며, 연결 절차는 특정 블루투스 디바이스가 광고 절차를 수행하는 동안 다른 블루투스 디바이스는 스캐닝 절차를 수행할 것을 요구한다.The connection procedure is asymmetric, and the connection procedure requires the other Bluetooth device to perform the scanning procedure while the specific Bluetooth device performs the advertisement procedure.
즉, 광고 절차가 목적이 될 수 있으며, 그 결과 단지 하나의 디바이스만 광고에 응답할 것이다. 광고 디바이스로부터 접속 가능한 광고 이벤트를 수신한 이후, 광고 (브로트캐스트) 물리 채널을 통해 광고 디바이스로 연결 요청을 전송함으로써 연결을 개시할 수 있다.That is, the advertising procedure can be the goal, so that only one device will respond to the advertising. After receiving the accessible advertising event from the advertising device, the connection may be initiated by sending a connection request to the advertising device via the advertising (broadcast) physical channel.
다음으로, BLE 기술에서의 동작 상태 즉, 광고 상태(Advertising State), 스캐닝 상태(Scanning State), 개시 상태(Initiating State), 연결 상태(connection state)에 대해 간략히 살펴보기로 한다.Next, an operation state of the BLE technology, that is, an advertising state, a scanning state, an initiating state, and a connection state will be briefly described.
광고Advertising 상태state (Advertising State)(Advertising State)
링크 계층(LL)은 호스트 (스택)의 지시에 의해, 광고 상태로 들어간다. 링크 계층이 광고 상태에 있을 경우, 링크 계층은 광고 이벤트들에서 광고 PDU(PACKet Data Unit)들을 전송한다.The link layer LL enters the advertisement state by the instruction of the host (stack). If the link layer is in the advertising state, the link layer sends advertisement PDUs (Packet Data Units) in the advertising events.
각각의 광고 이벤트는 적어도 하나의 광고 PDU들로 구성되며, 광고 PDU들은 사용되는 광고 채널 인덱스들을 통해 전송된다. 광고 이벤트는 광고 PDU가 사용되는 광고 채널 인덱스들을 통해 각각 전송되었을 경우, 종료되거나 광고 디바이스가 다른 기능 수행을 위해 공간을 확보할 필요가 있을 경우 좀 더 일찍 광고 이벤트를 종료할 수 있다.Each advertising event consists of at least one advertising PDU, which is transmitted via the advertising channel indexes used. The advertisement event may terminate when the advertisement PDU is transmitted through each of the advertisement channel indexes used, or may terminate the advertisement event earlier when the advertisement device needs to make space for performing another function.
스캐닝scanning 상태state (Scanning State)(Scanning State)
링크 계층은 호스트 (스택)의 지시에 의해 스캐닝 상태로 들어간다. 스캐닝 상태에서, 링크 계층은 광고 채널 인덱스들을 리스닝한다. The link layer enters the scanning state by the indication of the host (stack). In the scanning state, the link layer listens for advertising channel indices.
스캐닝 상태에는 수동적 스캐닝(passive scanning), 적극적 스캐닝(active scanning)의 두 타입이 있으며, 각 스캐닝 타입은 호스트에 의해 결정된다.There are two types of scanning states: passive scanning and active scanning, each scanning type being determined by the host.
스캐닝을 수행하기 위한 별도의 시간이나 광고 채널 인덱스가 정의되지는 않는다.There is no separate time or advertisement channel index for performing scanning.
스캐닝 상태 동안, 링크 계층은 스캔윈도우(scanWindow) 구간(duration) 동안 광고 채널 인덱스를 리스닝한다. 스캔인터벌(scanInterval)은 두 개의 연속적인 스캔 윈도우의 시작점 사이의 간격(인터벌)으로서 정의된다.During the scanning state, the link layer listens for the advertising channel index during the scanWindow duration. ScanInterval is defined as the interval (interval) between the starting points of two consecutive scan windows.
링크 계층은 스케쥴링의 충돌이 없는 경우, 호스트에 의해 지시되는 바와 같이 스캔윈도우의 모든 스캔인터벌 완성을 위해 리스닝해야한다. 각 스캔윈도우에서, 링크 계층은 다른 광고 채널 인덱스를 스캔해야한다. 링크 계층은 사용 가능한 모든 광고 채널 인덱스들을 사용한다.If there is no scheduling conflict, the link layer must listen for completion of all scan intervals in the scan window as instructed by the host. In each scan window, the link layer must scan a different advertising channel index. The link layer uses all available advertising channel indexes.
수동적인 스캐닝일 때, 링크 계층은 단지 패킷들만 수신하고, 어떤 패킷들도 전송하지 못한다.When passive scanning, the link layer only receives packets and does not transmit any packets.
능동적인 스캐닝일 때, 링크 계층은 광고 디바이스로 광고 PDU들과 광고 디바이스 관련 추가적인 정보를 요청할 수 있는 광고 PDU 타입에 의존하기 위해 리스닝을 수행한다.When active scanning, the link layer performs listening to rely on the advertising PDU type, which may request advertising PDUs and additional information related to the advertising device from the advertising device.
개시Start 상태state (Initiating State)(Initiating State)
링크 계층은 호스트 (스택)의 지시에 의해 개시 상태로 들어간다.The link layer enters the initiation state by the indication of the host (stack).
링크 계층이 개시 상태에 있을 때, 링크 계층은 광고 채널 인덱스들에 대한 리스닝을 수행한다.When the link layer is in the initiating state, the link layer performs listening for the advertising channel indexes.
개시 상태 동안, 링크 계층은 스캔윈도우 구간 동안 광고 채널 인덱스를 리스닝한다.During the initiation state, the link layer listens for the advertising channel index during the scan window period.
연결connect 상태state (connection state)(connection state)
링크 계층은 연결 요청을 수행하는 디바이스 즉, 개시 디바이스가 CONNECT_REQ PDU를 광고 디바이스로 전송할 때 또는 광고 디바이스가 개시 디바이스로부터 CONNECT_REQ PDU를 수신할 때 연결 상태로 들어간다.The link layer enters the connected state when the device performing the connection request, i.e., the initiating device, sends the CONNECT_REQ PDU to the advertising device or when the advertising device receives the CONNECT_REQ PDU from the initiating device.
연결 상태로 들어간 이후, 연결이 생성되는 것으로 고려된다. 다만, 연결이 연결 상태로 들어간 시점에서 확립되도록 고려될 필요는 없다. 새로 생성된 연결과 기 확립된 연결 간의 유일한 차이는 링크 계층 연결 감독 타임아웃(supervision timeout) 값뿐이다.After entering the connected state, the connection is considered to be created. However, it does not need to be considered to be established at the time the connection enters the connected state. The only difference between the newly created connection and the established connection is the link layer connection supervision timeout value.
두 디바이스가 연결되어 있을 때, 두 디바이스들은 다른 역할로 활동한다.When two devices are connected, the two devices act in different roles.
마스터 역할을 수행하는 링크 계층은 마스터로 불리며, 슬레이브 역할을 수행하는 링크 계층은 슬레이브로 불린다. 마스터는 연결 이벤트의 타이밍을 조절하고, 연결 이벤트는 마스터와 슬레이브 간 동기화되는 시점을 말한다.The link layer that performs the master role is called a master, and the link layer that performs the slave role is called a slave. The master controls the timing of the connection event, and the connection event is the point in time when the master and the slave are synchronized.
마스터(Master, Central)는 다른 디바이스(슬레이브, Peripheral)와 Connection을 맺기 위해, Connectable Advertising Signal을 주기적으로 스캔하다가, 적절한 디바이스에 연결을 요청하는 디바이스이다.Master (Central) is a device that periodically scans the Connectable Advertising Signal and makes a connection request to an appropriate device to establish a connection with another device (slave, peripheral).
또한, 마스터 디바이스는 슬레이브 디바이스와 연결이 되고 나면, timing을 설정하고 주기적인 데이터 교환을 주도한다.In addition, once the master device is connected to the slave device, it sets timing and drives periodic data exchange.
여기서 timing이란, 두 디바이스가 매번 같은 Channel에서 데이터를 주고 받기 위해 정하는 hopping 규칙일 수 있다.Here, timing may be a hopping rule that two devices decide to send and receive data on the same channel every time.
슬레이브(Slave, Peripheral) 디바이스는 다른 디바이스(Master)와 Connection을 맺기 위해, Connectable Advertising Signal을 주기적으로 전송하는 디바이스이다.A slave (peripheral) device is a device that periodically transmits a connectable advertising signal to establish a connection with another device (master).
따라서, 이를 수신한 마스터 디바이스가 Connection Request를 보내면, 이를 수락하여 Connection을 맺는다.Therefore, when the master device that receives this sends a connection request, it accepts it to establish a connection.
슬레이브 디바이스가 마스터 디바이스와 Connection을 맺고 나면 마스터 디바이스가 지정한 timing에 맞추어 Channel을 같이 hopping 하면서 주기적으로 데이터를 교환한다.After the slave device establishes a connection with the master device, it periodically exchanges data while hopping channels together at the timing specified by the master device.

이하에서, 블루투스 인터페이스에서 정의되는 패킷에 대해 간략히 살펴보기로 한다. BLE 디바이스들은 하기에서 정의되는 패킷들을 사용한다.Hereinafter, the packet defined in the Bluetooth interface will be briefly described. BLE devices use the packets defined below.
패킷packet 포맷format (( PP ACKACK etet Format) Format)
링크 계층(Link Layer)은 광고 채널 패킷과 데이터 채널 패킷 둘 다를 위해 사용되는 단지 하나의 패킷 포맷만을 가진다.The link layer has only one packet format used for both advertisement channel packets and data channel packets.
각 패킷은 프리앰블(Preamble), 접속 주소(Access Address), PDU 및 CRC 4개의 필드로 구성된다.Each packet consists of four fields: Preamble, Access Address, PDU, and CRC.
하나의 패킷이 광고 물리 채널에서 송신될 때, PDU는 광고 채널 PDU가 될 것이며, 하나의 패킷이 데이터 물리 채널에서 전송될 때, PDU는 데이터 채널 PDU가 될 것이다.When one packet is sent on an advertising physical channel, the PDU will be an advertising channel PDU, and when one packet is sent on a data physical channel, the PDU will be a data channel PDU.
광고Advertising 채널channel PDU(Advertising Channel PDU) Advertising Channel PDU (PDU)
광고 채널 PDU(PACKet Data Unit)는 16비트 헤더와 다양한 크기의 페이로드를 가진다.The advertising channel PDU (Packet Data Unit) has a 16-bit header and various payload sizes.
헤더에 포함되는 광고 채널 PDU의 PDU 타입 필드는 하기 표 1에서 정의된 바와 같은 PDU 타입을 나타낸다.The PDU type field of the advertising channel PDU included in the header indicates a PDU type as defined in Table 1 below.
PDU TypePDU Type PACKet NamePACKet Name
00000000 ADV-INDADV-IND
00010001 ADV_DIRECT_INDADV_DIRECT_IND
00100010 ADV_NONCONN_INDADV_NONCONN_IND
00110011 SCAN_REQSCAN_REQ
01000100 SCAN_RSPSCAN_RSP
01010101 CONNECT_REQCONNECT_REQ
01100110 ADV_SCAN_INDADV_SCAN_IND
0111-11110111-1111 ReservedReserved

광고Advertising PDU PDU
아래 광고 채널 PDU 타입들은 광고 PDU로 불리고 구체적인 이벤트에서 사용된다.The following advertising channel PDU types are called advertising PDUs and are used in specific events.
ADV_IND: 연결 가능한 비지향성 광고 이벤트ADV_IND: Connectable Non-Oriented Ads Event
ADV_DIRECT_IND: 연결 가능한 지향성 광고 이벤트ADV_DIRECT_IND: Connectable Directional Advertising Event
ADV_NONCONN_IND: 연결 가능하지 않은 비지향성 광고 이벤트ADV_NONCONN_IND: Non-Connectable Non-Oriented Ads Event
ADV_SCAN_IND: 스캔 가능한 비지향성 광고 이벤트ADV_SCAN_IND: Scannable Non-Oriented Ads Event
상기 PDU들은 광고 상태에서 링크 계층(Link Layer)에서 전송되고, 스캐닝 상태 또는 개시 상태(Initiating State)에서 링크 계층에 의해 수신된다.The PDUs are transmitted at the link layer in the advertisement state and received by the link layer in the scanning state or initiating state.
Scanning PDUsScanning PDUs
아래 광고 채널 PDU 타입은 스캐닝 PDU로 불리며, 하기에서 설명되는 상태에서 사용된다.The advertising channel PDU type below is called a scanning PDU and is used in the state described below.
SCAN_REQ: 스캐닝 상태에서 링크 계층에 의해 전송되며, 광고 상태에서 링크 계층에 의해 수신된다.SCAN_REQ: Sent by the link layer in the scanning state and received by the link layer in the advertising state.
SCAN_RSP: 광고 상태에서 링크 계층에 의해 전송되며, 스캐닝 상태에서 링크 계층에 의해 수신된다.SCAN_RSP: Sent by the link layer in the advertising state and received by the link layer in the scanning state.
Initiating PDUsInitiating PDUs
아래 광고 채널 PDU 타입은 개시 PDU로 불린다.The advertising channel PDU type below is called the initiating PDU.
CONNECT_REQ: 개시 상태에서 링크 계층에 의해 전송되며, 광고 상태에서 링크 계층에 의해 수신된다.CONNECT_REQ: Sent by the link layer in the initiating state and received by the link layer in the advertising state.
데이터data 채널channel PDU(Data Channel PDU) Data Channel PDUs (PDUs)
데이터 채널 PDU는 16 비트 헤더, 다양한 크기의 페이로드를 가지고, 메시지 무결점 체크(Message Integrity Check:MIC) 필드를 포함할 수 있다.The data channel PDU has a 16-bit header, payloads of various sizes, and may include a message integrity check (MIC) field.
앞에서 살펴본, BLE 기술에서의 절차, 상태, 패킷 포맷 등은 본 명세서에서 제안하는 방법들을 수행하기 위해 적용될 수 있다.As described above, the procedure, state, packet format, etc. in the BLE technology may be applied to perform the methods proposed herein.

이하에서, 블루투스 LE에서 connection procedure(연결 절차)에 대해 간략히 살펴보고, 이 일례로서, 블루투스 LE에서 객체 전송 서비스를 제공하는 방법을 살펴보기로 한다.Hereinafter, a brief description will be made of a connection procedure in a Bluetooth LE, and as an example, a method of providing an object transmission service in a Bluetooth LE will be described.
도 6은 블루투스 저전력 에너지 기술에서 연결 절차 방법의 일 예를 나타낸 흐름도이다.6 is a flowchart illustrating an example of a connection procedure method in a Bluetooth low power energy technology.
서버는 클라이언트로 3개의 광고 채널을 통해 광고 메시지를 전송한다(S610).The server transmits an advertisement message to the client through the three advertising channels (S610).
상기 서버는 Connection 전에는 광고자(Advertiser)로 호칭될 수 있고, Connection 이후에는 Master로 호칭될 수 있다. 상기 서버의 일례로, 센서들(온도 센서 등)이 있을 수 있다.The server may be called an advertiser before the connection, and may be called a master after the connection. As an example of the server, there may be sensors (such as a temperature sensor).
또한, 상기 클라이언트는 Connection 전에는 스캐너(Scanner)로 호칭될 수 있고, Connection 이후에는 Slave로 호칭될 수 있다. 상기 클라이언트의 일례로, 스마트폰을 들 수 있다.In addition, the client may be called a scanner before the connection, and may be called a slave after the connection. An example of the client is a smartphone.
살핀 것처럼, 블루투스는 2.4GHz 밴드를 통해 총 40개의 채널로 나누어 통신을 한다. 40개 채널 중 3개의 채널은 광고 채널로써, 각종 광고 패킷(Advertising Packet)을 비롯하여 Connection을 맺기 위해 주고 받는 Packet들의 교환에 이용된다.Like Salpin, Bluetooth communicates over a total of 40 channels over the 2.4 GHz band. Three of the 40 channels are advertising channels, and are used for exchanging packets to form a connection including various advertising packets.
나머지 37개의 채널들은 데이터 채널로 Connection 이후의 Data Packet 교환에 이용된다.The remaining 37 channels are used for data packet exchange after connection as data channel.
상기 클라이언트는 상기 광고 메시지를 수신한 후, 상기 서버로부터 추가적인 데이터(예: 서버 디바이스 이름 등)을 획득하기 위해 상기 서버로 Scan Request를 전송할 수 있다.After receiving the advertisement message, the client may transmit a scan request to the server to obtain additional data (eg, a server device name) from the server.
그러면, 상기 서버는 상기 클라이언트로 Scan Request에 대한 응답으로 나머지 데이터를 포함하여 Scan Response를 전송한다.Then, the server transmits a scan response including the remaining data in response to the scan request to the client.
여기서, Scan Request와 Scan Response는 광고 패킷의 한 종류로서, 광고 패킷은 31 bytes 이하의 User Data만을 포함할 수 있다.Here, Scan Request and Scan Response are one kind of advertisement packet, and the advertisement packet may include only User Data of 31 bytes or less.
따라서, data의 크기가 31 bytes보다는 크지만, Connection까지 맺어서 data를 보내기에는 오버헤드가 큰 데이터가 있을 경우, Scan Request/Scan Response를 이용하여 두 번에 걸쳐서 data를 나눠 보낸다.Therefore, if the data size is larger than 31 bytes, but there is a large data overhead for sending data through connection, the data is divided into two times using Scan Request / Scan Response.
다음, 상기 클라이언트는 상기 서버와 블루투스 연결 설정을 위한 연결 요청(Connection Request)를 상기 서버로 전송한다(S620).Next, the client transmits a connection request for establishing a Bluetooth connection with the server to the server (S620).
이를 통해, 상기 서버와 클라이언트 간에 Link Layer(LL)의 연결이 확립(establish)된다.Through this, the connection of the link layer LL is established between the server and the client.
이후, 상기 서버와 상기 클라이언트는 보안 설립 절차를 수행한다.Thereafter, the server and the client perform a security establishment procedure.
상기 보안 설립 절차는 Secure Simple Pairing으로 해석되거나 이를 포함하여 수행될 수 있다.The security establishment procedure may be interpreted as Secure Simple Pairing or may be performed including the same.
즉, 상기 보안 설립 절차는 Phase 1 단계 내지 Phase 3 단계를 거쳐 수행될 수 있다.That is, the security establishment procedure may be performed through Phase 1 to Phase 3.
구체적으로, 서버와 클라이언트 간에 페어링 절차(Phase 1)를 수행한다(S630).In detail, a pairing procedure (Phase 1) is performed between the server and the client (S630).
상기 페어링 절차는 클라이언트가 서버로 페어링 요청(Pairing Request)을 전송하고, 서버가 클라이언트로 페어링 응답(Pairing Response)을 전송한다.In the pairing procedure, the client transmits a pairing request to the server, and the server transmits a pairing response to the client.
다음, Phase 2로서, 서버와 클라이언트 간에 레거시 페어링(Legacy Pairing) 또는 Secure Connections를 수행한다(S640).Next, as Phase 2, legacy pairing or secure connections are performed between the server and the client (S640).
다음, SSP Phase 3으로서, 서버와 클라이언트 간에 키 분배(Key Distribution) 절차를 수행한다(S650).Next, as SSP Phase 3, a key distribution procedure is performed between the server and the client (S650).
이를 통해, 서버와 클라이언트 간에 보안 연결이 확립되고, 암호화된 데이터를 송수신할 수 있게 된다.This establishes a secure connection between the server and the client and enables the transmission and reception of encrypted data.

도 7은 블루투스 저전력 에너지 기술에서 객체 전송 서비스(Object Transfer Service)를 제공하는 방법의 일 예를 나타낸 흐름도이다.7 is a flowchart illustrating an example of a method for providing an object transfer service in a Bluetooth low energy energy technology.
객체 전송 서비스(Object Delivery Service or Object Transfer Service)는 블루투스 통신에서 벌크 데이터(bulk data)와 같은 객체 또는 데이터를 송/수신하기 위해 BLE에서 지원하는 서비스를 말한다.Object Delivery Service or Object Transfer Service refers to a service supported by BLE for transmitting / receiving an object or data such as bulk data in Bluetooth communication.
서버 디바이스와 클라이언트 디바이스 간에 블루투스 연결 설정을 위해 S710~S730 단계에 해당하는 광고 과정 및 스캐닝 과정이 진행된다.In order to establish a Bluetooth connection between the server device and the client device, an advertisement process and a scanning process corresponding to steps S710 to S730 are performed.
먼저, 서버 디바이스는 객체 전송 서비스를 포함하여 상기 서버 디바이스 관련 정보를 알리기 위해 클라이언트 디바이스로 광고 메시지를 전송한다(S710).First, a server device transmits an advertisement message to a client device to inform the server device related information including an object transfer service (S710).
상기 광고 메시지는 광고 PDU(PACKet Data Unit), 광고 패킷, 광고, 광고 프래임, 광고 물리 채널 PDU 등으로 표현될 수 있다.The advertisement message may be expressed as an advertisement packet data unit (PDU), an advertisement packet, an advertisement, an advertisement frame, an advertisement physical channel PDU, or the like.
상기 광고 메시지는 서버 디바이스에서 제공하는 서비스 정보(서비스 이름 포함), 서버 디바이스의 이름, 제조자 데이터 등을 포함할 수 있다.The advertisement message may include service information (including a service name) provided by the server device, a name of the server device, manufacturer data, and the like.
또한, 상기 광고 메시지는 브로드캐스트 방식 또는 유니캐스트(unicast) 방식으로 상기 클라이언트 디바이스로 전송될 수 있다.In addition, the advertisement message may be transmitted to the client device in a broadcast manner or a unicast manner.
이후, 상기 클라이언트 디바이스는 서버 디바이스 관련 보다 자세한 정보를 알기 위해 스캔 요청(Scan Request) 메시지를 상기 서버 디바이스로 전송한다(S720).Thereafter, the client device transmits a scan request message to the server device in order to know more detailed information about the server device (S720).
상기 스캔 요청 메시지는 스캐닝(Scanning) PDU, 스캔 요청 PDU, 스캔 요청, 스캔 요청 프래임, 스캔 요청 패킷 등으로 표현될 수 있다.The scan request message may be expressed as a scanning PDU, a scan request PDU, a scan request, a scan request frame, a scan request packet, and the like.
이후, 상기 서버 디바이스는 상기 상기 클라이언트 디바이스로부터 수신된 스캔 요청 메시지에 대한 응답으로 스캔 응답(Scan Response) 메시지를 상기 클라이언트 디바이스로 전송한다(S730).Thereafter, the server device transmits a scan response message to the client device in response to the scan request message received from the client device (S730).
상기 스캔 응답 메시지에는 상기 클라이언트 디바이스에서 요청한 서버 디바이스 관련 정보가 포함된다. 여기서, 상기 서버 디바이스 관련 정보는 객체 전송 서비스 제공과 관련하여 서버 디바이스에서 전송할 수 있는 객체 또는 데이터 등일 수 있다. The scan response message includes server device related information requested by the client device. Here, the server device related information may be an object or data that can be transmitted from a server device in connection with providing an object transfer service.
광고 과정 및 스캐닝 과정이 종료하는 경우, 상기 서버 디바이스와 상기 클라이언트 디바이스는 S740~S770 단계에 해당하는 연결 개시(Initiating Connection) 과정, 데이터 교환(Data Exchange) 과정을 수행한다.When the advertisement process and the scanning process are finished, the server device and the client device perform an Initiating Connection process and a Data Exchange process corresponding to steps S740 to S770.
구체적으로, 상기 클라이언트 디바이스는 상기 서버 디바이스와 블루투스 통신 연결을 위해 상기 서버 디바이스로 연결 요청(Connect Request) 메시지를 전송한다(S740).In more detail, the client device transmits a connect request message to the server device for the Bluetooth communication connection with the server device (S740).
상기 연결 요청 메시지는 연결 요청 PDU, 개시(Initiation) PDU, 연결 요청 프래임, 연결 요청 등으로 표현될 수 있다.The connection request message may be expressed as a connection request PDU, an initialization PDU, a connection request frame, a connection request, and the like.
S740 단계를 통해, 상기 서버 디바이스와 상기 클라이언트 디바이스 간에 블루투스 연결이 확립되며, 이후 상기 서버 디바이스와 상기 클라이언트 디바이스는 데이터를 교환하게 된다. 상기 데이터 교환 과정에서 데이터는 데이터 채널 PDU를 통해 송수신될 수 있다.In operation S740, a Bluetooth connection is established between the server device and the client device, and then the server device and the client device exchange data. In the data exchange process, data may be transmitted and received through a data channel PDU.
상기 클라이언트 디바이스는 데이터 채널(Data Channel) PDU를 통해 객체 데이터 요청을 상기 서버 디바이스로 전송한다(S750). 상기 데이터 채널 PDU는 데이터 요청 메시지, 데이터 요청 프래임 등으로 표현될 수 있다.The client device transmits an object data request to the server device through a data channel PDU (S750). The data channel PDU may be represented by a data request message, a data request frame, or the like.
이후, 상기 서버 디바이스는 상기 클라이언트 디바이스에서 요청한 객체 데이터를 데이터 채널 PDU를 통해 상기 클라이언트 디바이스로 전송한다(S760).Thereafter, the server device transmits the object data requested by the client device to the client device through a data channel PDU (S760).
여기서, 상기 데이터 채널 PDU는 Attribute protocol에서 정의한 방식으로 상대 디바이스에게 데이터를 제공하거나 데이터 정보를 요청하기 위해 사용된다.Here, the data channel PDU is used to provide data or request data information to a counterpart device in a manner defined by an attribute protocol.
이후, 상기 서버 디바이스에서 데이터의 변경이 발생하는 경우, 상기 서버 디바이스는 데이터 또는 객체의 변경을 알리기 위해 상기 클라이언트 디바이스로 데이터 채널 PDU를 통해 데이터 변경 지시(Data Changed Indication) 정보를 전송한다(S770).Subsequently, when a change of data occurs in the server device, the server device transmits data change indication information to the client device through a data channel PDU to notify the change of data or an object (S770). .
이후, 상기 클라이언트 디바이스는 변경된 데이터 또는 변경된 객체를 찾기 위해 상기 서버 디바이스로 변경된 객체 정보를 요청한다(S780).Thereafter, the client device requests changed object information to the server device to find changed data or changed objects (S780).
이후, 상기 서버 디바이스는 상기 변경된 객체 정보 요청에 대한 응답으로 상기 클라이언트 디바이스로 상기 서버 디바이스에서 변경된 객체 정보를 전송한다(S790).Thereafter, the server device transmits the changed object information from the server device to the client device in response to the changed object information request (S790).
이후, 상기 클라이언트 디바이스는 상기 수신된 변경된 객체 정보와 현재 상기 클라이언트 디바이스가 가지고 있는 객체 정보와 비교 분석을 통해 변경된 객체를 찾는다.Thereafter, the client device searches for the changed object through comparative analysis with the received changed object information and the object information currently owned by the client device.
다만, 상기 클라이언트 디바이스는 변경된 객체 또는 데이터를 찾을 때까지 S780 및 S790 단계를 반복적으로 수행한다.However, the client device repeatedly performs steps S780 and S790 until it finds the changed object or data.
이후, 상기 호스트 디바이스와 상기 클라이언트 디바이스 간에 연결 상태가 유지될 필요가 없는 경우, 상기 호스트 디바이스 또는 상기 클라이언트 디바이스는 해당 연결 상태를 종료(Disconnect)시킬 수 있다.Thereafter, when the connection state does not need to be maintained between the host device and the client device, the host device or the client device may disconnect the connection state.

도 8은 블루투스 BR/EDR 기술에서 연결 절차 방법의 일 예를 나타낸 흐름도이다.8 is a flowchart illustrating an example of a connection procedure method in a Bluetooth BR / EDR technology.
도 8에 도시된 바와 같이, 블루투스 BR/EDR에서의 연결 절차(connection procedure)는 아래와 같은 단계들로 구성될 수 있다.As shown in FIG. 8, the connection procedure in the Bluetooth BR / EDR may include the following steps.
상기 연결 절차는 페어링 절차(pairing procedure)로도 표현될 수 있다.The connection procedure may also be expressed as a pairing procedure.
블루투스 페어링 절차(pairing procedure)는 대기 상태(Standby State)와 연결 상태(Connected State)로만 구분된다.The Bluetooth pairing procedure is divided into a standby state and a connected state only.
블루투스 페어링이 완료된 디바이스는 상기 연결 상태(Connected State)가 되고, 접속이 종료된 장치는 대기 상태(Standby State)로 동작한다.When the Bluetooth pairing is completed, the device is in the connected state, and the connected device is operated in the standby state.
또한, 블루투스 디바이스들은 특정 디바이스와 연결 절차를 통해 연결 되었다가, 이후 재 연결하기 위해 재 연결 절차를 수행할 수 있다.In addition, the Bluetooth devices may be connected to a specific device through a connection procedure, and then perform a reconnection procedure to reconnect.
재 연결 절차는 연결 절차와 동일한 절차를 통해 수행될 수 있다.The reconnection procedure can be performed through the same procedure as the connection procedure.
구체적으로, 마스터 디바이스는 전원이 입력되면 기본적으로 대기 상태에 진입한다.Specifically, the master device basically enters the standby state when the power is input.
이후, 블루투스를 연결하기 위해 주변 디바이스들을 발견하기 위한 인쿼리(Inquiry) 절차(S811)를 수행한다.Thereafter, an Inquiry procedure S811 for discovering peripheral devices in order to connect Bluetooth is performed.
즉, 마스터 디바이스는 주변의 연결할 수 있는 디바이스(슬레이브)를 발견(Discovery)하기 위해서 인쿼리 상태(Inquiry State)가 될 수 있으며, 슬레이브 디바이스는 주변의 디바이스(마스터)가 인쿼리 상태에서 전송하는 ID 패킷을 수신하기 위해서 인쿼리 스캔 상태(Inquiry scan State)가 될 수 있다.In other words, the master device can be in the Inquiry State in order to discover the devices (slaves) that can be connected to the peripherals. Inquiry scan state may be in order to receive a packet.
상기 인쿼리 상태가 된 마스터 디바이스는 주변의 연결할 수 있는 디바이스를 발견하기 위해, 일회 또는 소정 시간 간격마다 ID 패킷을 이용한 인쿼리 메시지를 전송한다.The master device, which is in the query state, transmits an inquiry message using an ID packet once or at predetermined time intervals in order to find a device that can be connected nearby.
상기 ID 패킷은 GIAC(General Inquiry Access Code) 또는 DIAC(Dedicated Inqury Access Code)일 수 있다.The ID packet may be a General Inquiry Access Code (GIAC) or a Dedicated Inqury Access Code (DIAC).
슬레이브 디바이스는 마스터 디바이스가 전송한 ID 패킷인 GIAC 또는 DIAC를 수신한 후, 상기 마스터 디바이스와 블루투스 페어링을 하기 위해서, 주파수 호핑 시퀸스(Frequency Hoppinf Sequence, FHS)를 전송한다.After receiving the GIAC or DIAC, which is an ID packet transmitted by the master device, the slave device transmits a frequency hopping sequence (FHS) to perform Bluetooth pairing with the master device.
또한, 필요에 의해서, 전송할 데이터가 존재하는 경우 확장된 인쿼리 응답(Extended Inquiry Response, 이하 EIR이라고 한다.)를 마스터 디바이스로 전송할 수 있다.In addition, when there is data to be transmitted, if necessary, an Extended Inquiry Response (hereinafter referred to as an EIR) may be transmitted to the master device.
상기 인쿼리 절차를 통해서 주변의 연결 가능한 블루투스 디바이스를 찾아내면, 페이징 절차(S812)를 수행한다.When the neighboring Bluetooth device is found through the enquiry procedure, the paging procedure (S812) is performed.
상기 페이징 절차(S812)는 상기 인쿼리 절차를 통해서 주변의 연결 가능한 블루투스 디바이스를 찾아내면, 어드레스와 클럭 정보 등으로 호핑 시퀸스를 동기화하여 실제 커넥션을 수행하는 단계를 말한다.The paging procedure (S812) refers to a step of performing an actual connection by synchronizing a hopping sequence with address and clock information when a peripherally connectable Bluetooth device is found through the inquiring procedure.
구체적으로, 상기 페이징 절차는 (1) 마스터 디바이스가 슬레이브 디바이스로 Page를 전송하는 단계, (2) 슬레이브 디바이스가 마스터 디바이스로 Slave Page Response를 전송하는 단계, (3) 마스터 디바이스가 슬레이브 디바이스로 Master Page Response를 전송하는 단계로 구분될 수 있다.Specifically, the paging procedure includes the steps of (1) sending a page to the slave device by the master device, (2) sending a slave page response to the slave device, and (3) master page to the slave device. It may be divided into a step of transmitting a response.
상기 인쿼리 절차와 상기 페이징 절차가 완료되면, 마스터 디바이스와 슬레이브 디바이스는 보안 설립(Security Establishment) 단계(S814)를 수행하고, 이후 L2CAP 연결 및 서비스 디스커버리(Service Discovery) 단계(S815)를 수행한다.After the enqueue procedure and the paging procedure are completed, the master device and the slave device perform a security establishment step (S814), and then perform an L2CAP connection and a service discovery step (S815).
상기 보안 설립 단계를 수행하기 전에, 마스터 디바이스와 슬레이브 디바이스는 I(Input)/O(Output) 능력을 서로 교환한다(S813).Before performing the security establishment step, the master device and the slave device exchange I (Input) / O (Output) capability with each other (S813).
이는 I/O capability request와 I/O capability response를 통해 수행될 수 있다.This can be done through an I / O capability request and an I / O capability response.
또한, 상기 보안 설립 단계는 후술할 Secure Simple Pairing 절차를 포함하거나 같은 의미로 해석될 수도 있다.In addition, the security establishment step may include or be interpreted to mean the Secure Simple Pairing procedure to be described later.
상기 L2CAP(Logical Link Control and Adaption Protocol)은 패킷 방식의 프로토콜로서 UDP 프로토콜과 비슷한 특징을 가지고 있다. 기본 최대 672byte의 패킷 사이즈를 가지지만 통신이 시작되면 최대 65,535 byte까지 변경이 가능하다.The L2CAP (Logical Link Control and Adaption Protocol) is a packet-based protocol similar to the UDP protocol. It has a packet size of maximum 672 bytes, but it can be changed up to 65,535 bytes when communication starts.
상기 L2CAP연결 및 서비스 디스커버리 단계를 수행한 후, 마스터 디바이스는 사용자로부터 입력받은 데이터를 슬레이브 디바이스로 전송할 수 있다(S816).After performing the L2CAP connection and service discovery step, the master device may transmit data received from the user to the slave device (S816).
이와 같은 연결 절차를 수행한 마스터 디바이스와 슬레이브 디바이스는 일정 시간 동안 서로 간의 데이터 교환이 없게 되면, 에너지 소모를 방지하기 위하여 슬립(Sleep) 상태로 전환되며, 연결 상태는 종료하게 된다.When the master device and the slave device which perform the connection procedure do not exchange data with each other for a predetermined time, the master device and the slave device switch to the sleep state to prevent energy consumption, and the connection state is terminated.
이후, 마스터 디바이스와 슬레이브 디바이스가 다시 데이터를 송/수신하기 위해서는 재 연결 절차를 수행한다.Thereafter, the master device and the slave device perform a reconnection procedure to transmit / receive data again.
재 연결 절차는 앞서 살핀 연결 절차와 동일한 단계를 통해 수행될 수 있다.The reconnection procedure may be performed through the same steps as the salpin connection procedure.

Secure Simple Secure Simple Pairing(Pairing ( SSP)SSP)
다음, 보안 심플 페어링(Secure Simple Pairing:SSP)에 대해 간략히 살펴본다.Next, a brief look at Secure Simple Pairing (SSP).
SSP는 크게 (1) 입/출력 능력 교환(I/O Capabilities exchange), (2) 공용 키 교환(Public Key exchange, Phase 1), (3) 인증 단계 1(Authentication Stage 1, Phase 2), (4) 인증 단계 2(Authentication Stage 2, Phase 3), (5) 링크 키 계산(Link key calculation, Phase 4), (6) LMP 인증 및 암호화(LMP Authentication and Encryption, Phase 5)로 구분될 수 있다.SSPs can be divided into (1) I / O Capabilities exchange, (2) Public Key exchange, Phase 1, (3) Authentication Stage 1, Phase 2, ( 4) authentication stage 2 (Authentication Stage 2, Phase 3), (5) Link key calculation (Phase 4), (6) LMP Authentication and Encryption (Phase 5). .
상기 (2) 내지 (6) 단계는 다시 총 13개의 단계들로 구성될 수 있다.Steps (2) to (6) may be composed of 13 steps in total.
또한, 상기 (2), (4), (5) 및 (6) 단계는 모든 프로토콜에서 동일한 반면, 상기 (3) 단계 즉, 인증 단계 1은 사용되는 프로토콜에 의존하기 때문에 프로토콜마다 다르게 된다.Also, while steps (2), (4), (5) and (6) are the same in all protocols, step (3), i.e., authentication step 1, is different for each protocol since it depends on the protocol used.
먼저, 디바이스들은 인증 단계에서 사용될 적절한 알고리즘을 결정하기 위해 I/O capabilities를 교환한다.First, devices exchange I / O capabilities to determine the appropriate algorithm to be used in the authentication phase.
여기서, 해당 알고리즘은 연관 모델(Association Model)로 호칭되며, (1) 숫자 비교(Numeric Comparison), (2) Just Works, (3) Out of Band, (4) 암호키 입력(Passkey Entry)가 있다.Here, the algorithm is called as an association model, and there are (1) Numeric Comparison, (2) Just Works, (3) Out of Band, and (4) Passkey Entry. .
상기 Just Works는 상기 Numeric Comparison에 포함될 수 있다. The Just Works may be included in the Numeric Comparison.
따라서, 상기 연관 모델은 (1) Numeric Comparison, (2) Out of Band, (3) Passkey Entry로 구분될 수도 있다.Therefore, the association model may be classified into (1) Numeric Comparison, (2) Out of Band, and (3) Passkey Entry.
또한, 상기 인증 단계 1은 각 연관 모델에 따라 수행되는 절차가 다를 수 있다.In addition, the authentication step 1 may differ in the procedure performed according to each association model.
먼저, 숫자 비교(Numeric Comparison) 연관 모델은 두 디바이스들이 모두 여섯 자리 숫자를 표시 할 수 있으며, 사용자가 ‘예’ 또는 ‘아니오’를 입력 할 수 있는 시나리오에 이용될 수 있다.First, the Numeric Comparison association model can be used in scenarios where both devices can display six digits and the user can enter 'yes' or 'no'.
숫자 비교 연관 모델의 좋은 예는 전화 / PC 시나리오이다.A good example of a numerical comparison association model is the phone / PC scenario.
사용자는 두 디바이스들의 디스플레이에서 6자리 숫자(‘000000에서 ‘999999’까지)를 볼 수 있으며, 두 디바이스들에서 표시되는 숫자가 동일한지 여부에 대해 요청된다. 만약, ‘yes’가 두 디바이스들에 모두 입력되는 경우, 두 디바이스들 간 페어링은 성공한다.The user sees a six digit number ('000000 to' 999999 ') on the display of the two devices and is asked if the numbers displayed on the two devices are the same. If 'yes' is input to both devices, pairing between the two devices succeeds.
다음, Just Works 연관 모델은 디바이스들 중 적어도 하나는 6자리 숫자를 디스플레이할 수 없고 6자리 숫자를 입력할 수 있는 키보드를 가지지 않는 시나리오에 이용될 수 있다.The Just Works association model can then be used in scenarios where at least one of the devices cannot display six digits and does not have a keyboard to enter six digits.
Just Works 연관 모델의 좋은 예는 Cell phone / 모노 헤드셋(mono headset) 시나리오이다. 대부분의 헤드셋은 디스플레이를 가지고 있지 않다.A good example of the Just Works related model is the Cell phone / mono headset scenario. Most headsets do not have a display.
Just Works 연관 모델은 숫자 비교(Numeric Comparison) 프로토콜을 사용한다. 하지만, 사용자는 특정 숫자를 볼 수 없고 어플리케이션(application)은 간단히 사용자가 연결을 허락했다고 인식할 수 있다.The Just Works association model uses the Numeric Comparison protocol. However, the user cannot see a certain number and the application can simply recognize that the user has allowed the connection.
다음, Out of Band 연관 모델은 Out of Band 메커니즘이 페어링 절차에서 사용되는 암호 번호들을 교환 또는 전송하는 절차뿐만 아니라 디바이스들을 발견하는 절차 모두에서 사용되는 시나리오에서 주로 이용될 수 있다.Next, the Out of Band association model can be used primarily in scenarios where the Out of Band mechanism is used both in the procedure of exchanging or transmitting cipher numbers used in the pairing procedure, as well as in the procedure of discovering devices.
보안 관점에서 효과적이기 위해, Out of Band 채널은 블루투스 무선 채널에 비교하여 보안 관점에서 다른 특성들을 제공해야 한다. Out of Band 채널은 MITM(Man-In-The-Middle) Attack에 강해야 한다. 그렇지 않은 경우, 보안이 인증 중에 손상될 수 있다.To be effective from a security point of view, the Out of Band channel must provide different characteristics from a security point of view compared to a Bluetooth wireless channel. The out of band channel must be resistant to man-in-the-middle attack. Otherwise, security may be compromised during authentication.
사용자의 경험은 Out of Band 메커니즘에 따라 약간 다르다.The user's experience varies slightly depending on the Out of Band mechanism.
일례로서, NFC 솔루션에서, 사용자(들)은 처음 함께 두 디바이스들을 터치하며, 첫 번째 디바이스와 다른 디바이스를 페어링할 수 있는 옵션이 제공된다.As an example, in the NFC solution, the user (s) first touch the two devices together, and are given the option to pair the first device with the other device.
만약 ‘예’가 입력되는 경우, 페어링은 성공하게 된다.If YES is entered, pairing is successful.
상기 교환되는 정보는 두 개의 디바이스들에서 사용되는 하나의 터치 경험이다.The exchanged information is one touch experience used in two devices.
상기 교환되는 정보는 암호 정보뿐만 아니라, 디스커버리 정보(블루투스 디바이스 주소와 같은)를 포함한다. 디바이스들 중 한 디바이스는 다른 디바이스와의 연결을 확립하기 위해 블루투스 디바이스 주소를 사용한다.The exchanged information includes not only cryptographic information, but also discovery information (such as a Bluetooth device address). One of the devices uses the Bluetooth device address to establish a connection with the other device.
상기 교환된 정보의 나머지는 인증 동안 사용된다.The rest of the exchanged information is used during authentication.
다음, 암호키 입력(Passkey Entry) 연관 모델은 하나의 디바이스가 입력 능력을 가지고 있으나 6자리 숫자를 디스플레이할 능력을 가지지 않고, 다른 디바이스가 디스플레이할 능력을 가지고 있는 시나리오에서 주로 이용될 수 있다.Next, the Passkey Entry association model can be used primarily in scenarios where one device has the input capability but does not have the ability to display six digits and the other device has the ability to display.
해당 연관 모델의 좋은 예는 PC 및 키보드 시나리오이다.Good examples of such association models are PC and keyboard scenarios.
사용자는 디스플레이를 가지는 디바이스를 통해 6자리 숫자를 볼 수 있다. 그리고, 사용자는 다른 디바이스를 통해 6자리 숫자를 입력하도록 요청받을 수 있다.The user can see the six digits through the device with the display. The user may be asked to input a six digit number through another device.
만약 다른 디바이스에서 입력된 값이 맞는 경우, 페어링은 성공한다.If the value entered in the other device is correct, the pairing succeeds.
아래 표 2는 블루투스 BR/EDR에서 장치(디바이스) 속성에 따라 적용되는 연관 모델(association model)을 나타낸 표이다.Table 2 below shows an association model applied according to device (device) attributes in Bluetooth BR / EDR.
장치 속성Device properties Display OnlyDisplay only Display Yes/NoDisplay Yes / No Keyboard OnlyKeyboard only No Input No OutputNo Input No Output
Display OnlyDisplay only Numeric comparison with automatic confirmation on both devices,
Unauthenticated
Numeric comparison with automatic confirmation on both devices,
Unauthenticated
Numeric comparison with automatic confirmation on device B only,
Unauthenticated
Numeric comparison with automatic confirmation on device B only,
Unauthenticated
Passkey entry
: Responder display, Initiator Input.
- Authenticated
Passkey entry
: Responder display, Initiator Input.
Authenticated
Numeric comparison with automatic confirmation on both devices
-Unauthenticated
Numeric comparison with automatic confirmation on both devices
-Unauthenticated
Display Yes/NoDisplay Yes / No Numeric comparison with automatic confirmation on device A only,
Unauthenticated
Numeric comparison with automatic confirmation on device A only,
Unauthenticated
Numeric comparison
: Both Display, Both Confirm
- Authenticated
Numeric comparison
: Both Display, Both Confirm
Authenticated
Passkey entry
: Responder Display, Initiator Input
- Authenticated
Passkey entry
Responder Display, Initiator Input
Authenticated
Numeric comparison with automatic confirmation on device A only
- Unauthenticated
Numeric comparison with automatic confirmation on device A only
Unauthenticated
Keyboard OnlyKeyboard only Passkey entry :
Initiator display, responder input
- Authenticated
Passkey entry:
Initiator display, responder input
Authenticated
Passkey entry :
Initiator display, responder input
- Authenticated
Passkey entry:
Initiator display, responder input
Authenticated
Passkey entry :
Initiator and Responder input
- Authenticated
Passkey entry:
Initiator and Responder input
Authenticated
Numeric comparison with automatic confirmation on both devices
- Unauthenticated
Numeric comparison with automatic confirmation on both devices
Unauthenticated
No Input No OutputNo Input No Output Numeric comparison with automatic confirmation on both devices,
unauthenticated
Numeric comparison with automatic confirmation on both devices,
unauthenticated
Numeric comparison with automatic confirmation on B device only, unauthenticated Numeric comparison with automatic confirmation on B device only, unauthenticated Numeric comparison with automatic confirmation on both devices, unauthenticated Numeric comparison with automatic confirmation on both devices, unauthenticated Numeric comparison with automatic confirmation on both devices,
- unauthenticated
Numeric comparison with automatic confirmation on both devices,
unauthenticated
표 2를 참고하면, Numeric Comparison은 두 device 모두 6자리 숫자(six digit number)를 보여줄 수 있는 display 모듈이 있으며, ‘yes’ 또는 ‘no’를 선택할 수 있는 입력장치가 있는 경우에 사용되며, Authenticated을 제공하는 연관 모델이다.Referring to Table 2, Numeric Comparison is used when both devices have a display module that can display six digit numbers, and when there is an input device that can select 'yes' or 'no'. Association model that provides the
또한, 상기 Numeric Comparison은 두 device 중 적어도 하나의 device가 six digit number를 보여줄 수 있는 display 모듈 또는 six digit number를 입력할 수 있는 입력 장치가 없는 경우에도 사용될 수 있다. Also, the Numeric Comparison may be used when at least one of the two devices does not have a display module that can show six digit numbers or an input device that can input six digit numbers.
다만, 이 경우에는 Unauthenticated을 제공한다.In this case, however, provide Unauthenticated.
Passkey Entry 연관 모델은 두 device 중 어느 한 device는 six digit number를 보여 줄 수 있는 display 장치가 없는 반면 입력 장치는 있으며, 다른 device는 six digit number를 보여줄 수 있는 display 장치가 있는 경우에 사용되며, Authenticated을 제공한다.The Passkey Entry association model is used when either device does not have a display device that can show a six digit number while the input device is on, and the other device has a display device that can show a six digit number. Authenticated To provide.
또한, 상기 Passkey Entry 연관 모델은 두 디바이스 모두 입력 장치가 있는 경우에도 사용되며, Authenticated을 제공한다.In addition, the Passkey Entry association model is used even when both devices have an input device, and provides Authenticated.
Out Of Band 연관 모델은 Remote device를 탐색하고, pairing process에서 사용될 암호 숫자(cryptographic number)의 교환을 지원하는 Out Of Band 메커니즘(예: NFC)를 활용하는 경우에 사용될 수 있다.The Out Of Band Association Model can be used when searching for a remote device and utilizing an Out Of Band mechanism (eg NFC) that supports the exchange of cryptographic numbers to be used in the pairing process.

아래 표 3은 블루투스 LE에서 디바이스 속성에 따라 적용되는 연관 모델(association model)을 나타낸 표이다.Table 3 below shows an association model applied according to device attributes in Bluetooth LE.
장치 속성Device properties Display OnlyDisplay only Display Yes/NoDisplay Yes / No Keyboard OnlyKeyboard only No Input No OutputNo Input No Output Keyboard DisplayKeyboard display
Display OnlyDisplay only Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Display Yes/NoDisplay Yes / No Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Keyboard OnlyKeyboard only Passkey entry
-Authenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
No Input No OutputNo Input No Output Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Keyboard DisplayKeyboard display Passkey entry
-Authenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
Just Works,
Unauthenticated
Just Works,
Unauthenticated
Passkey entry
-Authenticated
Passkey entry
-Authenticated
표 3에서, Just Works는 사용자의 추가적인 Input이 없이 바로 진행되며, Authentication을 제공하지 않는다.In Table 3, Just Works proceeds without additional input from the user and does not provide authentication.
또한, Passkey Entry 연관 모델은 두 device 중 어느 하나의 device는 six digit number를 보여 줄 수 있는 display 장치가 없지만 입력 장치는 있고, 다른 디바이스는 six digit number를 보여 줄 수 있는 display 장치가 있는 경우에 사용되고, 두 디바이스 모두 입력 장치가 있는 경우에 사용된다. In addition, the Passkey Entry association model is used when either device has no display device that can show a six digit number but there is an input device, and the other device has a display device that can show a six digit number. Both devices are used when there is an input device.
이 경우, Authentication을 제공한다.In this case, authentication is provided.

이하, 본 명세서에서 제안하는 페어링 위임(Pairing Delegation) 방식을 이용하여 블루투스 통신에서 Secure Simple Pairing(SSP)를 수행하는 방법에 대해 살펴본다.Hereinafter, a method of performing Secure Simple Pairing (SSP) in Bluetooth communication using a pairing delegation scheme proposed in the present specification will be described.
상기 페어링 위임(Pairing Delegation) 방식은 입력(Input) 또는 출력(Output)이 없는 디바이스가 입력 또는 출력이 있는 제 3의 디바이스(Pairing Delegator)를 이용하여 입력 또는 출력(Input/Output)을 제공받는 방식을 말한다.The pairing delegation method is a method in which a device having no input or output is provided with an input or output by using a third device (pairing delegator) having an input or output. Say
도 9는 본 명세서에서 제안하는 페어링 위임 서비스 및 프로파일을 정의한 블루투스 BR/EDR과 블루투스 LE의 아키텍처의 일례를 나타낸 도이다.FIG. 9 is a diagram illustrating an example of architectures of Bluetooth BR / EDR and Bluetooth LE that define a pairing delegation service and a profile proposed in the present specification.
도 9의 아키텍처는 컨트롤러(Controller) (모듈), HCI(Host Controller Interface), 호스트(Host) (모듈)로 구성된다.The architecture of FIG. 9 includes a controller (module), a host controller interface (HCI), and a host (module).
먼저, 컨트롤러는 아래와 같은 구성요소를 가질 수 있다.First, the controller may have the following components.
-즉, 컨트롤러는 2.4GHz의 블루투스 신호를 받는 무선 송수신 모듈과 블루투스 패킷을 전송하거나 수신하기 위한 하드웨어를 포함한다.That is, the controller includes a wireless transceiver module receiving a 2.4 GHz Bluetooth signal and hardware for transmitting or receiving a Bluetooth packet.
-물리 계층(Physical layer): 2.4 GHz 무선 신호를 송수신하는 계층으로 GFSK (Gaussian Frequency Shift Keying) modulation과 40 개의 RF 채널로 구성된 frequency hopping 기법을 사용한다.Physical layer: A layer that transmits and receives a 2.4 GHz radio signal. It uses Gaussian Frequency Shift Keying (GFSK) modulation and a frequency hopping scheme consisting of 40 RF channels.
-링크 계층(Link Layer): 3개의 Advertising 채널을 이용하여 Advertising, Scanning 기능을 수행한 후에 디바이스 간 연결을 생성하고, 37개 Data 채널을 통해 최대 42bytes 의 데이터 패킷을 주고 받는 기능을 제공한다. 그리고 BR/EDR에서의 Security를 담당한다.-Link Layer: After connecting Advertising and Scanning functions using 3 Advertising Channels, it creates a connection between devices, and provides a function of sending and receiving data packets of up to 42 bytes through 37 Data Channels. It is responsible for security in BR / EDR.
다음, HCI는 Host 모듈과 delegator 모듈 사이의 인터페이스를 제공한다.Next, HCI provides an interface between the Host module and the delegator module.
즉, HCI는 Host 가 command와 Data를 Controller에게 제공하게 하며, Controller가 event와 Data를 Host에게 제공하게 해준다.That is, HCI allows the host to provide commands and data to the controller and the controller to provide events and data to the host.
다음, Host (모듈)은 Logical Link Control and Adaptation Protocol을 사용하여 블루투스 상위에서 제공하는 다양한 protocol, profile 등을 multiplexing한다.Next, the Host (module) multiplexes various protocols, profiles, etc., provided by the upper level of Bluetooth using Logical Link Control and Adaptation Protocol.
또한, Host (모듈)은 아래와 같은 구성 요소를 가질 수 있다.In addition, the host (module) may have the following components.
-Logical Link Control and Adaptation Protocol(L2CAP): 특정 protocol 또는 profile 에게 데이터를 전송하기 위한 하나의 양방향 채널을 제공한다.Logical Link Control and Adaptation Protocol (L2CAP): Provides one bidirectional channel for transmitting data to a specific protocol or profile.
LE 에서는 3개의 fixed 채널(signaling CH를 위해 1개, Security Manager를 위해 1개, Attribute protocol를 위해 1개)를 사용한다.In LE, three fixed channels are used: one for the signaling CH, one for the Security Manager, and one for the Attribute protocol.
BR/EDR 에서는 dynamic 채널을 사용하며, protocol service multiplexer, retransmission, streaming mode를 지원한다.The BR / EDR uses a dynamic channel and supports protocol service multiplexer, retransmission, and streaming mode.
-보안 매니저(Security Manager): 디바이스 인증 및 key distribution 을 제공하기 위한 프로토콜로, LE 의 Security 전반을 담당한다.-Security Manager: It is a protocol for providing device authentication and key distribution, and is in charge of Security of LE.
-Attribute Protocol(ATT): Server-Client 구조로 상대 디바이스의 data를 접근하기 위한 규칙을 정의하며, 6가지 메시지 유형이 있다.-Attribute Protocol (ATT): It is a Server-Client structure that defines a rule for accessing data of the partner device. There are six message types.
-Generic Attribute Profile (GATT): Service, Include, Characteristic, Behavior와 같은 블루투스 디바이스의 S/W 구성 요소 및 ATT Protocol에서 정의한 메시지를 가지고 해당 정보를 얻기 위한 절차를 정의한다.-Generic Attribute Profile (GATT): Defines the procedure to get the information with the S / W component of Bluetooth device such as Service, Include, Characteristic, and Behavior and the message defined in ATT Protocol.
-Generic Access Profile (GAP): 정의된 디바이스 발견, 연결, 사용자에게 정보를 제공하는 방안을 정의하며, privacy를 제공한다.Generic Access Profile (GAP): Defines the method for discovering defined devices, connecting them, and providing information to users, and provides privacy.
-GATT-based Profiles : GATT에 의존성을 가지는 profile 들로 주로 LE 기기에 적용된다.GATT-based Profiles: Profiles that depend on GATT and are mainly applied to LE devices.
-페어링 위임 서비스 & 프로파일(Pairing delegation Service & Profile): 블루투스의 Pairing delegation 서비스를 제공한다.Pairing delegation service & profile: Provides pairing delegation service of Bluetooth.
상기 페어링 위임 서비스 & 프로파일(910)은 easy pairing 서비스 & 프로파일로 표현될 수도 있으며, 상기 easy pairing 서비스 & 프로파일에 포함될 수도 있다.The pairing delegation service & profile 910 may be expressed as an easy pairing service & profile or may be included in the easy pairing service & profile.

도 10은 본 명세서에서 제안하는 블루투스 아키텍처에서 페어링 위임자(Pairing Delegator)를 이용하여 보안 심플 페어링을 수행하는 방법의 일례를 나타낸 도이다.FIG. 10 is a diagram illustrating an example of a method for performing secure simple pairing using a pairing delegator in a Bluetooth architecture proposed in the present specification.
도 10을 참조하면, 블루투스 BR/EDR 기능만을 가진 디바이스 1, BLE 기능만을 가진 디바이스 2 및 블루투스 BR/EDR과 BLE 기능을 모두 가지는 Dual Mode의 디바이스 3이 통신하는 것을 보여준다.Referring to FIG. 10, a device 1 having only a Bluetooth BR / EDR function, a device 2 having only a BLE function, and a device 3 having a dual mode having both a Bluetooth BR / EDR and a BLE function communicate.
여기서, 각 디바이스는 모두 앞서 살핀 페어링 위임 서비스 및 프로파일(Pairing delegation Service & Profile)이 정의되어 있다고 가정한다.Here, it is assumed that each device has previously defined a pairing delegation service & profile.
일반적으로, 블루투스 BR/EDR은 링크 매니저(Link Manager) 계층에서 Secure Simple Paring 를 수행하고, 블루투스 LE는 보안 매니저(Security Manager) 계층에서 Secure Simple Pairing을 수행한다.In general, the Bluetooth BR / EDR performs Secure Simple Paring at the Link Manager layer, and the Bluetooth LE performs Secure Simple Pairing at the Security Manager layer.
도 10의 경우, 디바이스 1과 디바이스 3은 Secure Simple Paring을 RFCOMM Protocol 및 Link Manger에서 수행하는 것을 볼 수 있으며, 디바이스 2와 디바이스 3은 Secure Simple Paring을 Link Layer 또는 Attribute Protocol에서 수행하는 것을 볼 수 있다.In the case of FIG. 10, device 1 and device 3 can perform Secure Simple Paring in RFCOMM Protocol and Link Manger, and device 2 and device 3 can perform Secure Simple Paring in Link Layer or Attribute Protocol. .
좀 더 구체적으로, Pairing delegation Command와 Data는 (1) BR/EDR의 경우, RFCOMM Protocol 또는 Link Manager의 LMS 메시지로 주고 받을 수 있으며, (2) LE의 경우, Attribute Protocol 또는 Link Layer을 통해 메시지를 주고 받을 수 있다.More specifically, pairing delegation command and data can be exchanged as (1) BR / EDR in LCOM message of RFCOMM Protocol or Link Manager, and (2) in case of LE, message can be transmitted through Attribute Protocol or Link Layer. You can give and receive.
도 10의 Secure Simple Paring 절차는 일례로서, 본 명세서에서 제안하는 Pairing Delegator를 통한 Secure Simple Paring은 도 10 이외의 BR/EDR 또는 LE의 다른 계층에서도 수행될 수 있다.The Secure Simple Paring procedure of FIG. 10 is an example, and Secure Simple Paring through the Pairing Delegator proposed in this specification may be performed in another layer of the BR / EDR or the LE other than FIG. 10.

도 11은 기존 및 본 명세서에서 제안하는 블루투스 페어링 절차를 비교한 도이다.11 is a view comparing the Bluetooth pairing procedure proposed by the present and the present specification.
도 11a는 기존의 블루투스 페어링 절차를 나타내며, 도 11b는 본 명세서에서 제안하는 블루투스 페어링 절차를 나타낸 도이다.FIG. 11A illustrates a conventional Bluetooth pairing procedure, and FIG. 11B illustrates a Bluetooth pairing procedure proposed in the present specification.
도 11a의 경우, 디바이스 1은 Display만 가능하며, 디바이스 2는 Display와 Yes/No의 입력이 가능하다고 가정한다.In the case of FIG. 11A, it is assumed that device 1 is capable of display only, and device 2 is capable of inputting display and yes / no.
이 경우, 표 2 또는 표 3을 참조하면, 두 디바이스는 Just Works로 연결이 됨으로 인해 authentication을 제공하지 못한다.In this case, referring to Table 2 or Table 3, the two devices do not provide authentication because they are connected to Just Works.
이 경우, 도 11b와 같이 Display 및 Keyboard 기능을 가지는 페어링 위임자(Pairing Delegator 또는 Pairing Agent)를 이용함으로써, 디바이스 1과 디바이스 2 간에 authentication을 제공할 수 있게 된다.In this case, by using a pairing delegate (Pairing Delegator or Pairing Agent) having a display and keyboard function as shown in Figure 11b, it is possible to provide authentication between device 1 and device 2.
도 11b에 도시된 각 단계들에 대해 좀 더 구체적으로 살펴본다.Each step illustrated in FIG. 11B will be described in more detail.
디바이스 1과 Pairing delegator 간에 Passkey entry 알고리즘을 통해 authenticated 한 상태로 연결을 진행한다(S1101).The connection is performed between the device 1 and the pairing delegator in a authenticated state through a passkey entry algorithm (S1101).
도 11b의 경우, Device 1과 Pairing delegator는 BR/EDR을 통해 블루투스 연결을 수행하는 것으로 가정한다. 다만, BR/EDR에만 한정되지 않고 BLE에도 적용 가능하다.In the case of FIG. 11B, it is assumed that the device 1 and the pairing delegator perform the Bluetooth connection through the BR / EDR. However, it is not limited to BR / EDR but can also be applied to BLE.
이후, Device 1과 Device2은 Passkey entry 알고리즘을 이용하여 Secure Simple Pairing을 수행할 것을 결정하고, Device 2에서는 6자리 숫자 ‘345345’를 화면에 출력한다(S1102).Thereafter, Device 1 and Device 2 determine to perform Secure Simple Pairing by using a Passkey entry algorithm, and in Device 2, outputs 6-digit '345345' on the screen (S1102).
이후, Device 1은 Pairing delegation 디바이스(Pairing Delegator)에 passkey entry 알고리즘을 적용할 키보드를 요청한다(S1103).Thereafter, Device 1 requests a keyboard to apply a passkey entry algorithm to the pairing delegation device (S1103).
이후, 사용자는 Paring delegation 기기에서 Device 2에 띄워진 6자리 숫자(345345)를 입력하고, Pairing delegator는 Device 1로 상기 6자리 숫자(345345)를 전달한다(S1104).Thereafter, the user inputs a 6 digit number 345345 floated on Device 2 in the paring delegation device, and the pairing delegator transmits the 6 digit number 345345 to Device 1 (S1104).
이후, 상기 Device 1은 전달받은 6자리 숫자(345345)로 Device 2와 Passkey entry 알고리즘을 적용함으로써, 디바이스 2와의 authentication을 보장할 수 있게 된다(S1105).Subsequently, the device 1 can guarantee authentication with the device 2 by applying the device 2 and the Passkey entry algorithm to the received 6-digit number 345345 (S1105).
도 11a에서 살핀 것처럼, 기존의 페어링 절차에서는 디바이스 1과 디바이스 2 간에 Just Works로 연결되어, Authentication을 제공할 수 없기 때문에 MITM(Man-In-The-Middle) 공격(Attack)에 취약하였다.As shown in FIG. 11A, the existing pairing procedure is connected to Just Works between device 1 and device 2, and thus is vulnerable to a man-in-the-middle attack because it cannot provide authentication.
하지만, 도 11b의 방식을 통해, 디바이스 1과 Pairing Delegator 간에 Pairing delegation 연결을 통해 인증(Authentication)을 제공함으로써, MITM Attack으로부터 안전해질 수 있게 된다.However, through the scheme of FIG. 11B, authentication may be provided through a pairing delegation connection between the device 1 and the pairing delegator, thereby making it safe from the MITM attack.
도 11b의 방식은 블루투스 BR/EDR 및 BLE 모두에 동일하게 적용될 수 있다.The scheme of FIG. 11B can equally apply to both Bluetooth BR / EDR and BLE.

도 12는 본 명세서에서 제안하는 페어링 위임자를 이용한 페어링 위임 프로토콜의 일례를 나타낸 흐름도이다.12 is a flowchart illustrating an example of a pairing delegation protocol using a pairing delegator proposed in the present specification.
도 12를 참조하면, (페어링) 디바이스 1, (페어링) 디바이스 2 및 페어링 위임자(Pairing Delegator)는 서로 간 디바이스 디스커버리(Device Discovery) 절차를 수행한다(S1210).Referring to FIG. 12, the (pairing) device 1, the (pairing) device 2, and the pairing delegator perform a device discovery procedure with each other (S1210).
여기서, 페어링 디바이스 2는 입/출력 기능이 없는 디바이스라고 가정한다.Here, it is assumed that the pairing device 2 is a device without an input / output function.
이후, 페어링 디바이스 2는 페어링 위임자와 연결 절차(Connection Procedure)를 수행한다(S1220).Thereafter, the pairing device 2 performs a connection procedure with the pairing delegator (S1220).
블루투스 BR/EDR 및 블루투스 LE의 연결 절차에 대해서는 앞의 내용을 참조하기로 한다.Refer to the above for the connection procedure of Bluetooth BR / EDR and Bluetooth LE.
즉, Pairing delegator와 Paring Device 2는 연결 절차를 통해 블루투스 연결이 확립된다.That is, the Bluetooth connection is established between the pairing delegator and the paring device 2 through the connection procedure.
여기서, 상기 Pairing delegator는 Pairing Device 1의 정보를 알고 있을 수도 있고 모를 수도 있다.Here, the pairing delegator may or may not know the information of Pairing Device 1.
연결 절차를 수행하기 위해서는 페어링 디바이스 2는 Pairing delegation 서비스 및 Control 서비스를 지원해야 한다.In order to perform the connection procedure, pairing device 2 must support pairing delegation service and control service.
만약, 상기 페어링 디바이스 2가 해당 서비스를 지원하지 않을 경우, Pairing Delegation 프로토콜은 바로 종료될 수 있다.If the pairing device 2 does not support the corresponding service, the pairing delegation protocol may be immediately terminated.
이후, 상기 페어링 위임자는 상기 페어링 디바이스 2로 페어링 위임 상태(Pairing delegation Status) 요청을 전송한다(S1230).Thereafter, the pairing delegator transmits a pairing delegation status request to the pairing device 2 (S1230).
페어링 위임 상태(Pairing delegation Status)는 해당 디바이스가 Pairing delegation을 지원하는지 여부와 현재 pairing delegation 상태인지 아닌지를 나타내는 정보를 말한다.Pairing delegation status refers to information indicating whether a corresponding device supports pairing delegation and whether the device is currently in pairing delegation state.
이후, 상기 페어링 디바이스 2는 상기 페어링 위임자로 페어링 위임 상태(Paring delegation Status) 응답을 전송한다(S1240).Thereafter, the pairing device 2 transmits a pairing delegation status response to the pairing delegator (S1240).
이는 Pairing Device 2가 자신의 Paring delegation Status를 제공하기 위함이다.This is for Pairing Device 2 to provide its Paring delegation Status.
이후, 상기 페어링 위임자는 상기 페어링 디바이스 2로 Pairing delegation I/O 정보 및 Pairing delegation Security 정보를 전송한다(S1250).Thereafter, the pairing delegator transmits pairing delegation I / O information and pairing delegation security information to the pairing device 2 (S1250).
이는 Paring delegator에서 제공하는 Paring delegation I/O 정보와 Pairing delegation 기능 활성화 시 지원할 Security 정보를 전송하기 위한 절차이다.This is a procedure for transmitting the paring delegation I / O information provided by the paring delegator and the security information to be supported when the pairing delegation function is activated.
이후, 상기 페어링 위임자는 상기 페어링 디바이스 2로 Paring delegation을 통해 pairing Device 1과 연결하도록 지시한다(S1260).Thereafter, the pairing delegator instructs the pairing device 2 to connect to the pairing device 1 through paring delegation (S1260).
S1260 단계는 생략 가능하며, 생략되는 경우, 페어링 Device 2는 S1250 단계 이후, 페어링 Device 1로 직접 연결을 시도한다.Step S1260 may be omitted. If omitted, the pairing device 2 attempts to connect directly to the pairing device 1 after the step S1250.

도 13은 본 명세서에서 제안하는 BLE에서 페어링 위임 프로토콜의 일례를 나타낸 흐름도이다.13 is a flowchart illustrating an example of a pairing delegation protocol in BLE proposed herein.
도 13에서, S1310 단계는 도 12에서 설명한 절차로서 도 12를 참조한다.In FIG. 13, step S1310 refers to FIG. 12 as the procedure described with reference to FIG. 12.
S1310 단계 이후, 페어링 디바이스 2와 페어링 위임자 간에는 블루투스 연결이 설정(또는 확립)될 수 있다.After operation S1310, a Bluetooth connection may be established (or established) between the pairing device 2 and the pairing delegate.
이후, 상기 페어링 디바이스 2와 상기 페어링 디바이스 1 간에 연결 절차가 수행될 수 있다.Thereafter, a connection procedure between the pairing device 2 and the pairing device 1 may be performed.
구체적으로, 상기 페어링 디바이스 2는 상기 페어링 디바이스 1로 연결 요청(Connection Request)를 전송한다(S1320).In detail, the pairing device 2 transmits a connection request to the pairing device 1 (S1320).
다음, 상기 페어링 디바이스 2는 상기 페어링 디바이스 1로 Pairing request을 전송한다(S1330).Next, the pairing device 2 transmits a pairing request to the pairing device 1 (S1330).
여기서, 상기 페어링 요청은 페어링 디바이스 2의 I/O Capability를 포함한 Pairing Feature를 포함한다.Here, the pairing request includes a pairing feature including I / O capability of pairing device 2.
다음, 페어링 디바이스 1은 페어링 디바이스 2로 Pairing response를 전송한다(S1340).Next, the pairing device 1 transmits a pairing response to the pairing device 2 (S1340).
상기 Pairing response은 페어링 디바이스 1의 I/O Capability를 포함한 Pairing Feature를 포함한다.The pairing response includes a pairing feature including the I / O capability of the pairing device 1.
상기 페어링 요청 및 페어링 응답 과정을 통해 교환된 파라미터들에 따라 이후 수행될 페어링 알고리즘(또는 association model)이 결정된다(S1350).A pairing algorithm (or association model) to be performed later is determined according to the parameters exchanged through the pairing request and pairing response process (S1350).
이후, 상기 페어링 디바이스 2는 페어링 위임자로 Pairing delegation request을 전송한다(S1360).Thereafter, the pairing device 2 transmits a pairing delegation request to the pairing delegation (S1360).
즉, 해당 절차는 Secure Simple Pairing 진행 중 필요한 I/O 관련 정보에 대해서 Paring delegator에 요청하는 절차이다.That is, this procedure is a procedure for requesting paring delegator for I / O related information required during Secure Simple Pairing process.
또한, 해당 절차는 ATT protocol 및/또는 Link Layer에서 수행될 수 있다.In addition, the procedure may be performed in the ATT protocol and / or Link Layer.
다음, 페어링 위임자는 페어링 디바이스 2로 상기 페어링 위임 요청에 대한 응답으로 Pairing delegation response를 전송한다(S1370).Next, the pairing delegator transmits a pairing delegation response to the pairing device 2 in response to the pairing delegation request (S1370).
해당 절차는 페어링 Device 2에서 요청한 I/O에 대해 입력 또는 출력을 진행한 후의 결과값을 상기 페어링 디바이스 2로 전송하는 절차이다.This procedure is a procedure for transmitting a result value after input or output to an I / O requested by pairing device 2 to the pairing device 2.
이후, 페어링 디바이스 1과 2는 Pairing Phase 2 및 Pairing Phase 3을 순차적으로 수행한다(S1380).Thereafter, the pairing devices 1 and 2 sequentially perform pairing phase 2 and pairing phase 3 (S1380).
즉, 페어링 디바이스 2는 페어링 위임자로부터 입력 받은 값으로 페어링 디바이스 1과 Phase 2 (Authenticating and Encrypting) 및 Phase 3 (Transport Specific Key Distribution) 절차를 진행하고, 상기 페어링 디바이스 1과의 Paring 과정을 종료한다.That is, the pairing device 2 proceeds with the pairing device 1 and the Phase 2 (Authenticating and Encrypting) and Phase 3 (Transport Specific Key Distribution) procedures with the values input from the pairing delegate, and ends the paring process with the pairing device 1.
살핀 것처럼, Pairing Device 2와 Pairing delegator가 주고 받는 메시지는 Link Layer 메시지, Attribute Protocol등을 이용하여 주고 받을 수 있다. 다만, 이에 한정되지 않고 다른 프로토콜, 다른 계층의 메시지를 이용할 수 있음은 물론이다.As you can see, the messages sent to and from the Pairing Device 2 and the Pairing Delegator can be sent and received using Link Layer messages and Attribute Protocol. However, the present invention is not limited thereto, and messages of different protocols and layers may be used.

도 14는 본 명세서에서 제안하는 블루투스 BR/EDR에서 페어링 위임 프로토콜의 일례를 나타낸 흐름도이다.14 is a flowchart illustrating an example of a pairing delegation protocol in the Bluetooth BR / EDR proposed in the specification.
도 14의 S1410 단계는 도 12의 절차를 나타내는 것으로, 구체적인 설명은 도 12를 참조한다.Step S1410 of FIG. 14 illustrates the procedure of FIG. 12, and a detailed description thereof will be described with reference to FIG. 12.
즉, S1410 단계를 통해, 페어링 디바이스 2와 페어링 위임자 간에는 블루투스 연결이 설정될 수 있다.That is, a Bluetooth connection may be established between the pairing device 2 and the pairing delegate through step S1410.
이후, 페어링 디바이스 2와 페어링 디바이스 1은 페어징(Paging) 절차를 수행한다(S1420).Thereafter, the pairing device 2 and the pairing device 1 perform a pairing procedure (S1420).
BR/EDR에서의 페이징 절차는 앞의 내용을 참조하기로한다.For paging procedure in BR / EDR, refer to the above.
이후, 페어링 디바이스 1과 페어링 디바이스 2는 서로의 I/O 관련 정보를 교환한다(S1430).Thereafter, the pairing device 1 and the pairing device 2 exchange I / O related information with each other (S1430).
이후, 페어링 디바이스 2는 I/O에 대해서 요청하기 위해 페어링 위임자로 Pairing delegation request을 전송한다(S1440).Thereafter, the pairing device 2 transmits a pairing delegation request to the pairing delegation to request for I / O (S1440).
즉, 해당 절차를 통해 페어링 디바이스 2는 페어링 디바이스 1과 Secure Simple Pairing 진행 중 필요한 I/O에 대해서 Paring delegator에 요청하게 된다.That is, the pairing device 2 requests the paring delegator for I / O required during the Secure Simple Pairing process with the pairing device 1 through the corresponding procedure.
이후, 상기 페어링 위임자는 상기 페어링 위임 요청에 대한 응답으로 Pairing delegation response를 상기 페어링 디바이스 2로 전송한다(S1450).Thereafter, the pairing delegator transmits a pairing delegation response to the pairing device 2 in response to the pairing delegation request (S1450).
즉, 페어링 위임자는 페어링 Device 2가 요청한 I/O에 입력 또는 출력을 진행한 후, 결과값을 상기 페어링 디바이스 2로 전송한다.That is, the pairing delegator inputs or outputs the I / O requested by the pairing device 2, and then transmits a result value to the pairing device 2.
여기서, 상기 Pairing Device 2와 Pairing delegator가 주고 받는 메시지는 RFCOMM Protocol과 Link Manager의 LMP 메시지 등을 이용하여 주고 받을 수 있으나, 이에 한정되지는 않는다.Here, the message exchanged between the pairing device 2 and the pairing delegator may be exchanged using the RFCOMM protocol and the LMP message of the link manager, but is not limited thereto.
즉, 도 12 내지 도 14의 방법과 같이, I/O 기능이 없는 디바이스는 I/O 기능이 있는 페어링 위임자를 통해 다른 디바이스와 보안 강도가 강화된 블루투스 통신을 수행할 수 있게 된다.That is, as in the method of FIGS. 12 to 14, a device without an I / O function may perform Bluetooth communication with enhanced security with another device through a pairing delegator having an I / O function.

다음으로, 페어링 위임(Pairing Delegation) 서비스를 수행하기 위한 GATT 기반 특성들(Characteristics)을 정의한다.Next, GATT-based characteristics for performing a pairing delegation service are defined.
아래 표 4는 페어링 제어 특성(Pairing Control Characteristic)을 나타낸 표이다.Table 4 below is a table showing pairing control characteristics.
CharacteristicCharacteristic RequirementRequirement Mandatory PropertiesMandatory properties
Peer DevicePeer device MM Read, Write, IndicationRead, Write, Indication
Agent DeviceAgent device MM Read, Write, IndicationRead, Write, Indication
Group InfoGroup info OO Read, Write, IndicationRead, Write, Indication
Device StateDevice state MM Read, Write, IndicationRead, Write, Indication
Pairing/Connection Control PointPairing / Connection Control Point MM Write, IndicationWrite, Indication
Connection StatusConnection Status OO Read, IndicationRead, Indication
WhiteListWhitelist OO Read, Write, IndicationRead, Write, Indication
WhiteList Control PointWhiteList Control Point OO Read, Write, IndicationRead, Write, Indication
BondableBondable OO Read, WriteRead, Write
SecuritySecurity MM Read, WriteRead, Write
Pairing Delegation StatusPairing Delegation Status MM Read, WriteRead, Write
Pairing Delegation SecurityPairing Delegation Security MM Read, WriteRead, Write
Connected Tech TypeConnected Tech Type OO Read, WriteRead, Write
Service TypeService type OO Read, WriteRead, Write
PassKeyPasskey Read, WriteRead, Write
Scheduled TimeScheduled Time Read, WriteRead, Write
표 4를 참조하면, 피어 디바이스 characteristic은 Pairing 할 상대 Device Address 값 및 Device name 등을 사용하며, 해당 값 설정을 통해서 pairing 되는 디바이스의 주소를 제공한다.Referring to Table 4, the peer device characteristic uses a relative device address value and a device name to be paired, and provides an address of a paired device through corresponding value setting.
에이전트 디바이스(Agent Device) 또는 페어링 위임자는 Pairing/Connection 을 제어할 수 있는 Agent 디바이스의 정보이며, Pairing delegation을 위한 Agent Device의 I/O 정보를 포함한다.Agent device or pairing delegator is information of an agent device that can control pairing / connection and includes I / O information of agent device for pairing delegation.
그룹 정보(Group Info) characteristic은 특정 Device 가 속한 group 의 이름 또는 address를 나타내며, 다수의 group 이름 또는 주소를 사용 할 수 있다.Group Info characteristic represents the name or address of a group to which a specific device belongs, and a plurality of group names or addresses can be used.
특정 device 가 group owner 인지 또는 멤버인지도 구분할 수 있다.You can also identify whether a particular device is a group owner or a member.
디바이스 상태(Device State) Characteristic은 제어되는 디바이스의 Ling Layer State (Scanning, Standby, Advertising, Initiating, Connection)를 의미하며, 하나의 state 또는 여러 states 을 지정할 수 있다.Device State Characteristic means Ling Layer State (Scanning, Standby, Advertising, Initiating, Connection) of the controlled device, and can specify one state or several states.
또한, 쓰기(Write)를 통해 디바이스 state의 기능 수행을 요청할 수도 있으며, 읽기(Read)를 통해 제어되는 디바이스의 현재 state를 파악할 수도 있다.In addition, it is possible to request the performance of the device state through write, and to grasp the current state of the device controlled through the read.
또한, 지시(Indication)을 통해 제어되는 디바이스의 state 변화를 파악할 수도 있다.In addition, it is possible to grasp the state change of the device controlled through the indication.
Pairing/Connection Control Point는 제어되는 디바이스가 어떠한 action 을 실행할지를 지시하는 control point 기능이다.Pairing / Connection Control Point is a control point function that indicates what action the controlled device will perform.
Connection Status는 제어되는 디바이스가 Connection 정보를 delegator 에게 제공하기 위한 characteristic이다.The connection status is characteristic for the controlled device to provide connection information to the delegator.
WhiteList는 제어되는 디바이스가 연결할 수 있는 디바이스들의 정보이다.WhiteList is information of devices to which a controlled device can connect.
WhiteList는 필요시 다수의 기기들과 연결할 수 있도록 확장할 수도 있다.WhiteList can also be extended to connect with multiple devices as needed.
WhiteList Control Point는 제어되는 디바이스가 관리하는 whitelist 를 관리하기 위한 제어 기능이다.WhiteList Control Point is a control function to manage the whitelist managed by the controlled device.
Bondable은 제어되는 디바이스가 bonding 기능을 제공할지 또는 제공하지 않을지를 결정한다.Bondable determines whether the controlled device will or will not provide a bonding function.
Security는 Authentication, authorization, Encryption, data Signing 기능 제공 여부를 결정한다.Security determines whether to provide authentication, authorization, encryption, and data signing functions.
페어링 위임 상태 특성(Pairing delegation Status Characteristic)은 디바이스의 페어링 위임(Pairing delegation) 지원 여부, 디바이스가 현재 다른 페어링 위임자와 연결되어 있는지 여부 등을 나타낸다.Pairing delegation Status Characteristic indicates whether the device supports pairing delegation, whether the device is currently connected to another pairing delegation, and the like.
페어링 위임 보안(Pairing delegation Security) (Mode) Characteristic은 Pairing delegation을 사용하면서 제공되는 인증(Authentication), 허가(authorization), 암호화(Encryption) 기능 제공 여부를 결정한다.Pairing Delegation Security (Mode) Characteristic determines whether to provide authentication, authorization, and encryption functions provided by using pairing delegation.
Connected Tech Type 및 Service Type는 연결하는 통신 방식 기술 타입 (WiFi, Ethernet, BR/EDR, BLE 등 …) 및 연결된 서비스 타입 (블루투스에서 정의한 서비스와 타 서비스 (어플리케이션))를 나타낸다.Connected Tech Type and Service Type indicate the type of communication technology to connect (WiFi, Ethernet, BR / EDR, BLE, etc.) and the connected service type (services defined by Bluetooth and other services (applications)).
스케쥴된 시간(Scheduled Time)은 특정 시간에 연결을 요청하기 위한 시간 값을 나타낸다.The scheduled time represents a time value for requesting a connection at a specific time.

표 5는 피어 디바이스(Peer Device )정보 타입의 일례를 나타낸 표이다.Table 5 shows an example of a peer device information type.
여기서, 피어 디바이스(Peer Device)는 특정 디바이스가 실제로 블루투스 연결을 하고자 하는 디바이스를 나타낸다.Here, a peer device represents a device that a specific device actually wants to establish a Bluetooth connection.
Data TypeData type TypeType DescriptionDescription
Public Device AddressPublic Device Address 48 bits integer48 bits integer 기기의 원래 주소Original address of the device
Random Device AddressRandom Device Address 48 bits integer48 bits integer 기기에서 선택한 random 주소Random address selected on device
Resolvable AddressResolvable Address 48 bits integer48 bits integer LE Privacy에 의해서 암호화된 주소Address encrypted by LE Privacy
Non-Resolvable AddressNon-Resolvable Address 48 bits integer48 bits integer 암호화 되지 않은 주소 Unencrypted address
Bluetooth Device NameBluetooth Device Name StringString Controlled Device friendly Name that is set by the device user Controlled Device friendly Name that is set by the device user

표 6은 에이전트 디바이스(Agent Device) 정보 타입의 일례를 나타낸 표이다.Table 6 is a table showing an example of an Agent Device information type.
여기서, Agent Device는 디바이스의 연결을 제어하고자 하는 다른 디바이스를 나타내며, 본 명세서에서 언급하는 페어링 위임자(Pairing Delegator)로 호칭될 수 있다.In this case, the Agent Device represents another device to control the connection of the device, and may be referred to as a pairing delegator mentioned in the present specification.
Data TypeData type TypeType DescriptionDescription
Public Device AddressPublic Device Address 48 bits integer48 bits integer 기기의 원래 주소Original address of the device
Random Device AddressRandom Device Address 48 bits integer48 bits integer 기기에서 선택한 random 주소Random address selected on device
Resolvable AddressResolvable Address 48 bits integer48 bits integer LE Privacy에 의해서 암호화된 주소Address encrypted by LE Privacy
Non-Resolvable AddressNon-Resolvable Address 48 bits integer48 bits integer 암호화 되지 않은 주소Unencrypted address
Pairing Delegation I/OPairing Delegation I / O 8bits8bits Agent가 지원하는 I/O 정보를 표시하며 bitmask 방식으로 표기함Displays I / O information supported by Agent and expressed in bitmask method
Pairing Delegation TimerPairing Delegation Timer 8bits8bits Paring delegation 요청 후 Timer의 시간만 큼 대기 후 응답이 없으면 해당 요청을 expire함Timer's time after paring delegation request expires if no response after no response

다음 표 7은 에이전트 디바이스(Agent Device)의 Pairing delegation I/O 정보의 일례를 나타낸 표이다.Table 7 below shows an example of pairing delegation I / O information of an agent device.
7th bit7 th bit 6th bit6 th bit 5th bit5 th bit 4th bit4 th bit 3rd bit3 rd bit 2nd bit2 nd bit 1st bit1 st bit 0th bit0 th bit
ReservedReserved ReservedReserved TouchDisplayTouchdisplay Keyboard DisplayKeyboard display NoInputNoOutputNoInputNoOutput KeyboardOnlyKeyboardOnly DisplayYesNoDisplayYesNo DisplayOnlyDisplayOnly
표 7에서 TouchDisplay 값은 후술할 SoftPattern을 지원하는 디바이스이다.In Table 7, the TouchDisplay values are devices that support SoftPattern, which will be described later.
다음, 표 8은 페어링/연결 제어 포인트(Pairing/Connection Control Point)의 일례를 나타낸 표이다.Next, Table 8 shows an example of a pairing / connection control point.
0X010X01 0X020X02 0X030X03 0X040X04 0X050X05 0X060X06 0X070X07 0X080X08
ExcuteExcute AdvertisingAdvertising Advertising StopAdvertising Stop Scanning StartScanning start Scanning StopScanning stop Connecting RequestConnecting Request Connecting StopConnecting stop Refresh BondingRefresh Bonding
0X090X09 0X100X10 0X110X11 0X120X12 0X130X13 0X140X14 0X150X15 0X160X16
Refresh SecurityRefresh security Pairing RequestPairing Request Pairing StopPairing Stop AuthenticationAuthentication EncryptionEncryption AuthorizationAuthorization Connecting Request with Pairing delegationConnecting Request with Pairing delegation
표 8에서, Execute는 Device States 에 정의된 state 들을 디바이스에서 제공한다. 복수의 states 기능을 제공할 수도 있다.In Table 8, Execute provides states defined in Device States on the device. It can also provide multiple states.
Advertising Start는 Advertising 동작을 하고 있지 않은 경우, 광고 동작의 시작을 나타낸다.The advertising start indicates the start of the advertising operation when the advertising operation is not performed.
즉, 광고 기능을 즉시 시작하거나 또는 Device States 에서 광고 state 가 비활성화된 경우, 광고 상태의 활성화를 나타낸다.That is, when the advertisement function is immediately started or the advertisement state is deactivated in the device states, the advertisement state is activated.
Advertising Stop은 Advertising 동작을 수행하고 있는 경우, 광고 동작의 종료를 나타낸다.The advertising stop indicates the end of the advertising operation when the advertising operation is being performed.
즉, 광고 동작을 즉시 중단하거나 또는 Device States 에서 광고 state 가 활성화된 경우, 광고 상태의 비활성화를 나타낼 수 있다. That is, when the advertisement operation is immediately stopped or when the advertisement state is activated in the device states, the advertisement state may be deactivated.
스캐닝 시작(Scanning Start)는 Scanning 동작을 하고 있지 않으면 스캐닝 동작의 시작을 나타낸다.Scanning Start indicates the start of the scanning operation when the Scanning operation is not performed.
즉, 스캐닝 동작을 즉시 시작하거나 또는 Device States에서 스캐닝 state가 비활성화인 경우, 스캐닝 상태의 활성화를 나타낸다.That is, when the scanning operation is immediately started or when the scanning state is deactivated in the device states, the scanning state is activated.
스캐닝 중단(Scanning Stop)은 광고(Advertising) 동작을 수행하고 있는 경우, 스캐닝 동작의 종료를 나타낸다.Scanning Stop indicates the end of the scanning operation when performing an advertising operation.
즉, 스캐닝 동작을 즉시 중단하거나 또는 Device States 에서 스캐닝 state 가 활성화된 경우, 스캐닝 상태의 비 활성화를 나타낼 수 있다.That is, when the scanning operation is immediately stopped or the scanning state is activated in the device states, the scanning state may be deactivated.
Connecting Request는 Peer Device 와 Connection 을 설정을 나타낸다.Connecting Request indicates setting of Peer Device and Connection.
Connection Stop은 Peer Device 와의 Connection 종료를 나타낸다.Connection Stop indicates the termination of connection with Peer Device.
Refresh Bonding은 Bonding 정보를 새롭게 업데이트하거나 또는 bonding 정보의 삭제를 나타낼 수 있다.Refresh bonding may update the bonding information newly or delete the bonding information.
Refresh Security는 두 디바이스 간 security 절차 (authentication, authorization, encryption) 재수행 및 security 정보 (security 절차별 key 값)의 업데이트를 나타낼 수 있다.Refresh security may indicate the re-execution of security procedures (authentication, authorization, encryption) between two devices and the update of security information (key values for each security procedure).
Pairing Request는 Peer Device 와의 Pairing 절차를 수행하기 위한 요청이다.Pairing Request is a request to perform pairing procedure with peer device.
Pairing Stop은 Peer Device 와의 Pairing 종료를 나타낸다.Pairing Stop indicates the end of pairing with Peer Device.
Authentication은 Peer Device와의 Authentication 을 수행함을 나타낸다.Authentication indicates that authentication with peer device is performed.
Encryption은 Peer Device 와의 Encryption 수행을 나타낸다.Encryption refers to performing encryption with peer device.
Authorization은 Peer Device 와의 Authorization 수행을 나타낸다.Authorization represents the authorization of Peer Device.
Paring delegation은 Security Simple Pairing 수행 중 Passkey entry 알고리즘으로 인증 수행 시, Input/Out을 Paring Agent의 I/O로 사용하여 연결하는 것을 나타낸다.Paring delegation indicates that input / out is used as I / O of paring agent to connect when authentication is performed by the Passkey entry algorithm during Security Simple Pairing.

다음으로, Pairing delegation 서비스에서 Pairing Control Characteristic를 정의하는 것에 대해 살펴본다.Next, we look at defining Pairing Control Characteristic in Pairing delegation service.
표 9는 페어링 위임 상태(Pairing delegation Status)의 일례를 나타낸 표이다.Table 9 is an example of a pairing delegation status.
페어링 위임 상태(Paring delegation Statu)는 제어되는 디바이스가 현재 다른 Paring delegator와 연결되어 있는지 여부를 나타낸다.Pairing Delegation Statu indicates whether the controlled device is currently connected to another Paring delegator.
7th bit7 th bit 6th bit6 th bit 5th bit5 th bit 4th bit4 th bit 3rd bit3 rd bit 2nd bit2 nd bit 1st bit1 st bit 0th bit0 th bit
Reserved for Future UseReserved for Future Use Pairing delegation DevicePairing delegation device Pairing delegation enablePairing delegation enable Pairing delegation SupportPairing delegation Support
표 9에서, Pairing delegation Support는 Device가 Pairing delegation이 가능한 디바이스인지 아닌지를 나타낸다.In Table 9, pairing delegation support indicates whether a device is a device capable of pairing delegation.
Pairing delegation enable(가능)/disable(불가능)은 디바이스에서 동작하고 있는 페어링 위임(Pairing delegation) 기능을 enable 시키거나 또는 disable 시키는 것을 나타낸다.Pairing delegation enable (disable) / disable (disable) indicates to enable or disable the pairing delegation function running on the device.

다음, 보안 및 페어링 위임 보안(Security and Pairing delegation Security) Characteristic에 대해 살펴본다.Next, we will look at the security and pairing delegation security characteristic.
보안 및 페어링 위임 보안(Pairing delegation Security)은 동일한 Data type을 가진다.Security and pairing delegation security have the same data type.
표 10은 보안 및 페어링 위임 보안 Characteristic의 일례를 나타내며, 비트마스크(bitmask) 형식으로 표현될 수 있다.Table 10 shows an example of security and pairing delegation security characteristic and may be expressed in a bitmask format.
또한, 보안 및 페어링 위임 보안 Characteristic은 보안 모드(Security Mode)와 보안 레벨(Security Level)을 따로 분리할 수 있거나 또는 보안 모드 및 보안 레벨을 모두 포함하는 Security Information 1 또는 Security Information 2 방식으로 표현할 수도 있다.In addition, the security and pairing delegation security characteristic may be separated into a security mode and a security level, or may be expressed in a security information 1 or security information 2 manner including both a security mode and a security level. .
표 10은 보안 모드(Security Mode) 포맷의 일례를 나타낸 표이다.Table 10 shows an example of a security mode format.
7th bit7 th bit 6th bit6 th bit 5th bit5 th bit 4th bit4 th bit 3rd bit3 rd bit 2nd bit2 nd bit 1st bit1 st bit 0th bit0 th bit
Security Mode 4Security Mode 4 Security Mode 3 Security Mode 3 Security Mode 2 Security Mode 2 Security Mode 1 Security Mode 1

표 11은 보안 레벨(Security Level) 포맷의 일례를 나타낸 표이다.Table 11 is a table showing an example of a security level format.
7th bit7 th bit 6th bit6 th bit 5th bit5 th bit 4th bit4 th bit 3rd bit3 rd bit 2nd bit2 nd bit 1st bit1 st bit 0th bit0 th bit
Security Level 3Security Level 3 Security Level 2 Security Level 2 Security Level 1 Security Level 1

표 12는 Security Mode와 Security Level을 포함하는 Security Information 1 포맷의 일례를 나타낸 표이다. 표 12는 BR/EDR 및 LE에 모두 적용 가능하다.Table 12 shows an example of Security Information 1 format including Security Mode and Security Level. Table 12 is applicable to both BR / EDR and LE.
7th bit7 th bit 6th bit6 th bit 5th bit5 th bit 4th bit4 th bit 3rd bit3 rd bit 2nd bit2 nd bit 1st bit1 st bit 0th bit0 th bit
Reserved for Future UseReserved for Future Use Security Level 3Security Level 3 Security Level 2 Security Level 2 Security Level 1 Security Level 1 Security Mode 4 Security Mode 4 Security Mode 3 Security Mode 3 Security Mode 2 Security Mode 2 Security Mode 1 Security Mode 1

표 13은 Security Mode와 Security Level을 포함하는 또 다른 Security Information 포맷의 일례를 나타낸 표이다. 표 13은 블루투스 LE에만 적용 가능하다.Table 13 shows an example of another security information format including security mode and security level. Table 13 is only applicable to Bluetooth LE.
7th bit7 th bit 6th bit6 th bit 5th bit5 th bit 4th bit4 th bit 3rd bit3 rd bit 2nd bit2 nd bit 1st bit1 st bit 0th bit0 th bit
Reserved for Future UseReserved for Future Use Reserved for Future UseReserved for Future Use Reserved for Future UseReserved for Future Use Security Mode 2
Level 2
Security Mode 2
Level 2
Security Mode 2
Level 1
Security Mode 2
Level 1
Security Mode 1
Level 3
Security Mode 1
Level 3
Security Mode 1
Level 2
Security Mode 1
Level 2
Security Mode 1
Level 1
Security Mode 1
Level 1

다음, 페어링 위임(Pairing Delegation) 서비스에 사용되는 Pairing delegation Packet에 대해 살펴본다.Next, the pairing delegation packet used for the pairing delegation service will be described.
도 15는 본 명세서에서 제안하는 페어링 위임 패킷(Pairing delegation packet) 포맷의 일례를 나타낸 도이다.FIG. 15 is a diagram illustrating an example of a format of a pairing delegation packet proposed in the present specification.
도 15에 도시된 바와 같이, Pairing delegation packet(1500)은 헤더(Header,1510), (동작) 코드(1520) 및 데이터(1530)를 포함할 수 있다.As shown in FIG. 15, the pairing delegation packet 1500 may include a header 1510, an (operation) code 1520, and data 1530.
표 14는 앞서 살핀 페어링 위임 요청 패킷(Pairing delegation Request Packet) 포맷의 일례를 나타낸 것으로, Header 필드가 ‘0x01’로 설정된 경우의 Code 및 Data 값을 나타낸다.Table 14 shows an example of the format of a salping pairing delegation request packet, and shows code and data values when the header field is set to '0x01'.
CodeCode DataData DescriptionDescription
0x000x00 Timer, noneTimer, none Just WorksJust works
0x010x01 Timer, 000000 ~ 999999 (String)Timer, 000000 ~ 999999 (String) Numeric ComparisonNumeric Comparison
0x020x02 Timer, 000000 ~ 999999 (String)Timer, 000000 ~ 999999 (String) Passkey entry with displayPasskey entry with display
0x030x03 Timer, noneTimer, none Passkey entry with keyboardPasskey entry with keyboard
0x040x04 Timer, OOB dataTimer, OOB data OOB (Out of Band)OOB (Out of Band)
0x050x05 Timer, noneTimer, none Soft PatternSoft pattern
0x06 ~0x06 to ReservedReserved ReservedReserved
표 14에서, 타이머(Timer)는 페어링 위임자로 페어링 위임 요청 패킷(Pairing delegation Request packet)을 전송하고, Pairing delegation Response packet이 수신되기까지의 시간을 나타낸다.In Table 14, a timer transmits a pairing delegation request packet to a pairing delegation and indicates a time until a pairing delegation response packet is received.
표 15는 Pairing delegation Response Packet 포맷의 일례를 나타낸 것으로, Header 필드가 ‘0x02’로 설정된 경우의 Code 및 Data 값을 나타낸다.Table 15 shows an example of a pairing delegation response packet format, and shows code and data values when the header field is set to '0x02'.
CodeCode DataData DescriptionDescription
0x000x00 nonenone Just WorksJust works
0x010x01 Yes(0x01), No(0x02)Yes (0x01), No (0x02) Numeric ComparisonNumeric Comparison
0x020x02 nonenone Passkey entry with displayPasskey entry with display
0x030x03 000000 ~ 999999 (String)000000 to 999999 (String) Passkey entry with keyboardPasskey entry with keyboard
0x040x04 OOB dataOOB data OOB (Out of Band)OOB (Out of Band)
0x050x05 Soft Pattern dataSoft Pattern data Soft PatternSoft pattern
0x06 ~0x06 to ReservedReserved ReservedReserved

앞서 살핀 도 15, 표 14 및 표 15에 기재된 Header 및 Code 값은 변경될 수 있다.Salping The header and code values described in FIG. 15, Table 14, and Table 15 may be changed.

본 명세서에서 제안하는 또 다른 실시 예로서, 앞서 살핀 Pairing Delegation 서비스 수행에 있어서 소프트 패턴(Soft Pattern)을 이용하여 인증을 수행하는 방법에 대해 살펴본다.As another embodiment proposed in the present specification, a method of performing authentication using a soft pattern in performing a salping pairing delegation service will be described.

도 16은 일반적인 인증 방법과 본 명세서에서 제안하는 소프트 패턴(Soft Pattern) 방식을 이용한 인증 방식을 각각 나타낸 도이다.16 is a diagram illustrating a general authentication method and an authentication method using a soft pattern method proposed in the present specification, respectively.
도 16a는 기존의 두 디바이스들 간 인증 방식을 나타내며, 도 16b는 본 명세서에서 제안하는 소프트 패턴(Soft Pattern) 방식을 이용한 인증 방식을 나타낸다.FIG. 16A illustrates an authentication method between two existing devices, and FIG. 16B illustrates an authentication method using a soft pattern method proposed in the present specification.
도 16a의 방법 1은 숫자 비교(Numeric Comparison) 연관 모델의 인증 방식이며, 방법 2는 암호키 입력(Passkey entry) 연관 모델의 인증 방식을 나타낸다. Method 1 of FIG. 16A illustrates an authentication method of a numeric comparison association model, and method 2 illustrates an authentication method of a passkey entry association model.
도 16b의 경우, 디바이스 B는 특정 패턴을 출력하고, 디바이스 A가 사전에 사용자로부터 특정 패턴을 입력받은 경우, 기 정의된 매핑 테이블(또는 변환 알고리즘)에 의해 상기 특정 값으로 다시 변경되어 양 디바이스를 인증하는 방법을 나타낸다.In the case of FIG. 16B, when the device B outputs a specific pattern, and the device A receives a specific pattern from the user in advance, the device B is changed back to the specific value by a predefined mapping table (or a conversion algorithm) to display both devices. Indicates how to authenticate.
상기 특정 패턴은 특정 값에 미리 매핑되어 있으며, 각 디바이스에 사전에 저장되어 있다.The specific pattern is previously mapped to a specific value and stored in advance in each device.
도 16a에 도시된 바와 같이, 기존 블루투스 통신 인증(Authentication) 방법의 장단점은 표 16과 같다.As shown in Figure 16a, the advantages and disadvantages of the existing Bluetooth communication authentication method (Authentication) method is shown in Table 16.
분류Classification 장/단점pros and cons
Numeric ComparisonNumeric Comparison 장점: Use Action이 간단함(Yes 버튼 클릭)Pros: Simple Use Action (Yes button click)
단점: 인증하고자 하는 양쪽 기기 모두에 User Action이 필요함Disadvantage: User Action is required for both devices to authenticate
Passkey entryPasskey entry 장점: 한쪽 기기의 Use Action 만으로 Authentication이 가능함Pros: Authentication is possible only with one device's Use Action.
단점: 한쪽 기기에 들어가는 Use Action이 다소 어려움(상대 기기에 보여지는 숫자를 입력)Disadvantages: Use Action entering one device is rather difficult (enter the number shown on the other device)

도 17은 본 명세서에서 제안하는 소프트 패턴을 이용한 인증 방법을 나타낸 도이다.17 is a diagram illustrating an authentication method using a soft pattern proposed in the present specification.
본 명세서에서 제안하는 소프트 패턴을 이용한 인증 방법은 표 16의 Numeric Comparison과 Passkey entry연관 모델의 장점만을 효과적으로 활용하기 위한 새로운 인증 방법에 해당한다.The authentication method using the soft pattern proposed in this specification corresponds to a new authentication method for effectively utilizing only the advantages of the Numeric Comparison and Passkey entry association model shown in Table 16.
도 17의 Soft Pattern을 이용한 Authentication 방법은 아래 5단계로 이루어질 수 있다.The authentication method using the soft pattern of FIG. 17 may be performed in the following five steps.
먼저, 디바이스 B는 디바이스 A와의 인증을 위해 임의 숫자(Random number)를 생성하고, 생성된 임의 숫자를 사용자가 인식하기 쉬운 특정 Pattern 으로 변환한다(S1710).First, the device B generates a random number for authentication with the device A, and converts the generated random number into a specific pattern that is easily recognized by the user (S1710).
다음, 디바이스 B는 상기 변환된 특정 Pattern을 디스플레이를 통해 출력함으로써, 사용자에게 제공한다(S1720).Next, the device B outputs the converted specific pattern through a display and provides the same to the user (S1720).
다음, 사용자는 상기 디바이스 B에 출력된 특정 Pattern을 Device A에 입력한다. 즉, 디바이스 A는 디바이스 B에 출력된 특정 Pattern의 사용자 입력을 수신한다(S1730).Next, the user inputs a specific pattern output to the device B into Device A. That is, device A receives a user input of a specific pattern output to device B (S1730).
이후, Device A는 사용자에 의해 입력된 특정 Pattern을 미리 정의된 매핑 테이블(또는 변환 알고리즘)을 통해 인증을 위한 임의 숫자(Random number)로 변환한다(S1740).Thereafter, the device A converts a specific pattern input by the user into a random number for authentication through a predefined mapping table (or a conversion algorithm) (S1740).
상기 변환된 Random number가 디바이스 B에서 생성된 임의 숫자와 동일한 경우, 두 디바이스 간 인증은 완료된다(S1750).If the converted random number is the same as the random number generated in the device B, authentication between the two devices is completed (S1750).
여기서, 모든 Bluetooth 디바이스들은 디바이스 간 인증을 위한 Random number를 사용자가 인식하기 쉬운 형태로 mapping하는 매핑 테이블 또는 변환 알고리즘을 미리 저장하고 있음을 가정한다.Here, it is assumed that all Bluetooth devices prestore a mapping table or a conversion algorithm that maps a random number for authentication between devices in a form that can be easily recognized by a user.

다음으로, 페어링 디바이스와 Pairing delegator간의 Pairing Delegation Setup Procedure에 대해 좀 더 구체적으로 살펴본다.Next, the pairing delegation setup procedure between the pairing device and the pairing delegator will be described in more detail.
도 18은 본 명세서에서 제안하는 페어링 위임 설정(Pairing Delegation Setup) 절차의 일례를 나타낸 도이다.18 is a diagram illustrating an example of a pairing delegation setup procedure proposed in the present specification.
S1810 및 S1820은 도 12 내지 도 14의 첫 번째 및 두 번째 단계와 동일하므로, 구체적인 설명은 생략한다.Since S1810 and S1820 are the same as the first and second steps of FIGS. 12 to 14, detailed descriptions thereof will be omitted.
현재 페어링 디바이스 2는 아래와 같은 페어링 위임 상태를 가진다고 가정한다(S1830).It is assumed that the current pairing device 2 has a pairing delegation state as follows (S1830).
-Pairing delegation Support=’1’(페어링 위임 지원)-Pairing delegation Support = '1'
-Pairing delegation Enable(/Disable)=’1’(페어링 위임 가능)-Pairing delegation Enable (/ Disable) = '1'
-Pairing delegation Status=’0’(현재 다른 페어링 위임자에 연결되지 않음)-Pairing delegation Status = '0' (currently not connected to another pairing delegate)
이후, 페어링 위임자는 Paring Device 2에 설정되어 있는 Pairing delegation Status 상태를 파악하기 위해 페어링 디바이스 2의 Pairing delegation Status를 리드(Read)한다(S1840).Thereafter, the pairing delegator reads the pairing delegation status of the pairing device 2 to determine the pairing delegation status set in the paring device 2 (S1840).
이후, 페어링 디바이스 2는 페어링 위임자로 S1830 단계에서의 Paring delegation Status Info를 전송한다(S1850).Thereafter, the pairing device 2 transmits Paring delegation Status Info in step S1830 to the pairing delegator (S1850).
즉, 상기 Paring delegation Status Information은 페어링 디바이스 2의 Pairing delegation Support, enable/disable, Status 상태를 포함한다.That is, the paring delegation status information includes pairing delegation support, enable / disable, and status status of the pairing device 2.
이후, 페어링 위임자는 Peer Device 정보를 Pairing Device 1의 주소로 설정하고, 자신이 제공하는 Paring delegation I/O 및 Security level에 대한 내용인 Security Info를 상기 페어링 디바이스 2로 라이트(Write)한다(S1860).Thereafter, the pairing delegator sets the peer device information as the address of the pairing device 1, and writes the security info corresponding to the paring delegation I / O and the security level provided by the pairing device 2 to the pairing device 2 (S1860). .
또한, 상기 페어링 위임자는 상기 페어링 디바이스 2로 0x15값으로 설정된 Pairing Control Point를 Write(또는 Transfer)한다(S1870).In addition, the pairing delegator writes (or transfers) a pairing control point set to a value of 0x15 to the pairing device 2 (S1870).
즉, 페어링 위임자는 Peer Device(페어링 디바이스 1)에게 paring delegation을 적용하는 상태로 connection request 를 페어링 디바이스 2로 요청한다.That is, the pairing delegator requests a connection request to the pairing device 2 while applying paring delegation to the peer device (pairing device 1).

도 19는 본 명세서에서 제안하는 BLE에서 암호키 입력(Passkey Entry) 연관 모델을 통해 인증 절차를 수행하는 방법의 일례를 나타낸 흐름도이다.19 is a flowchart illustrating an example of a method for performing an authentication procedure through a passkey entry association model in BLE proposed in the present specification.
도 19에서, 페어링 디바이스 1은 Display 기능을 가지며, 페어링 디바이스 2는 Display 또는 No I/O 기능을 가진다.In FIG. 19, the pairing device 1 has a display function, and the pairing device 2 has a display or no I / O function.
No I/O는 I/O 기능이 없음을 의미한다.No I / O means no I / O function.
먼저, 페어링 디바이스 2 및 페어링 위임자는 Pairing delegation Setup Procedure를 수행한다(S1901).First, the pairing device 2 and the pairing delegator perform a pairing delegation setup procedure (S1901).
상기 페어링 위임 설정 절차는 도 18을 참조하기로 한다.The pairing delegation setting procedure will be described with reference to FIG. 18.
이후, 페어링 디바이스 1과 페어링 디바이스 2는 연결 절차 및 인증 절차를 수행한다.Thereafter, the pairing device 1 and the pairing device 2 perform a connection procedure and an authentication procedure.
구체적으로, 페어링 디바이스 2는 페어링 디바이스 1로 연결 요청(Connect request)를 전송한다(S1902).In detail, the pairing device 2 transmits a connection request to the pairing device 1 (S1902).
다음, 페어링 디바이스 2는 페어링 디바이스 1로 Pairing Request를 전송한다(S1903).Next, the pairing device 2 transmits a pairing request to the pairing device 1 (S1903).
상기 페어링 요청은 페어링 위임자의 I/O Capability 정보 즉, Paring delegation I/O를 포함한다.The pairing request includes I / O capability information of the pairing delegator, that is, paring delegation I / O.
즉, Pairing Device 2는 자신의 I/O정보가 아닌 Pairing delegation I/O정보를 포함하는 Pairing Request를 페어링 디바이스 1로 전송한다.That is, the pairing device 2 transmits a pairing request including pairing delegation I / O information, not its own I / O information, to the pairing device 1.
Pairing Device 1은 Pairing Control Service 를 제공하지 않을 수도 있다. Pairing Device 1 may not provide a Pairing Control Service.
다음, 페어링 디바이스 1은 Pairing Response를 페어링 디바이스 2로 전송한다(S1904).Next, the pairing device 1 transmits a pairing response to the pairing device 2 (S1904).
여기서, 페어링 요청 및 페어링 응답에서 교환된 파라미터에 따라 페어링 디바이스 1 및 2간의 인증 절차를 Passkey Entry로 결정한다(S1905).Here, the authentication procedure between the pairing devices 1 and 2 is determined as the Passkey Entry according to the parameters exchanged in the pairing request and the pairing response (S1905).
이후, 페어링 디바이스 1은 페어링 디바이스 2와의 인증 수행을 위해 6자리 랜덤 숫자 123456를 출력한다(S1906).Thereafter, the pairing device 1 outputs a 6-digit random number 123456 to perform authentication with the pairing device 2 (S1906).
여기서, Pairing delegator 는 수신된 다른 디바이스의 Advertise 정보를 기반으로 연결하고자 하는 디바이스에 Connect Request 를 통해서 연결한다.Here, the pairing delegator connects to the device to be connected based on the Advertise information of the other device through the Connect Request.
즉, 페어링 위임자는 페어링 디바이스 1의 광고 메시지를 통해 페어링 디바이스 1이 페어링 디바이스 2와 연결을 수행함을 확인할 수 있으며, 이를 토대로 페어링 위임자가 직접 페어링 디바이스 2로 연결 요청을 전송할 수 있다.That is, the pairing delegator may confirm that the pairing device 1 performs the connection with the pairing device 2 through the advertisement message of the pairing device 1, and the pairing delegate may directly transmit the connection request to the pairing device 2 based on this.
이를 위해서는 상대 디바이스(페어링 디바이스 2)가 반드시 Pairing Control Service 를 제공해야 하며, Pairing Device 1의 경우 Pairing Control Service 가 지원되지 않아도 된다.To this end, the partner device (pairing device 2) must provide a pairing control service, and in the case of pairing device 1, the pairing control service does not need to be supported.
다음, 페어링 디바이스 2는 페어링 위임자로 Pairing delegation Request을 전송한다(S1907).Next, the pairing device 2 transmits a pairing delegation request to the pairing delegation (S1907).
여기서, 페어링 위임 요청의 패킷은 ‘0x03’이 설정된 Code 값을 포함할 수 있다.Here, the packet of the pairing delegation request may include a code value in which '0x03' is set.
상기 ‘0x03’이 설정된 Code 값은 키보드를 가진 Passkey entry일 수 있다. The code value for which '0x03' is set may be a Passkey entry having a keyboard.
또한, 상기 페어링 위임 요청의 패킷은 20s로 설정된 타이머를 포함할 수 있다.In addition, the packet of the pairing delegation request may include a timer set to 20s.
즉, 페어링 디바이스 2는 Passkey entry 방식으로 Paring을 진행하기 위해 Pairing delegator에 페어링 위임 요청을 전송함으로써, 6자리 숫자 입력을 요청한다.That is, the pairing device 2 transmits a pairing delegation request to the pairing delegator in order to perform paring by the Passkey entry method, and requests a 6-digit number input.
다음, 페어링 위임자는 페어링 디바이스 2를 통해 수신된 페어링 디바이스 1에서 출력된 6자리 (랜덤) 숫자 ‘123456’를 입력한다(S1908). Next, the pairing delegator inputs a six digit (random) number '123456' outputted from the pairing device 1 received through the pairing device 2 (S1908).
즉, 사용자는 Pairing Device 1의 Display에 출력된 숫자를 보고 Pairing delegator의 keyboard로 6자리 숫자 ‘123456’을 입력한다.That is, the user looks at the number displayed on the Display of the Pairing Device 1 and inputs the six-digit number '123456' using the keyboard of the Pairing Delegator.
다음, 페어링 위임자는 Pairing delegation Response을 페어링 디바이스 2로 전송한다(S1909).Next, the pairing delegator transmits a pairing delegation response to the pairing device 2 (S1909).
상기 페어링 위임 응답의 패킷은 Code = 0x03, Data = ‘123456’를 포함할 수 있다.The packet of the pairing delegation response may include Code = 0x03 and Data = '123456'.
즉, Pairing delegator는 사용자를 통해 입력받은 6 자리 숫자 ‘123456’을 Pairing Deivce 2에 전달한다.In other words, the pairing delegator delivers the 6-digit number '123456' received through the user to the pairing depth 2.
이후, 페어링 디바이스 1과 페어링 디바이스 2는 Pairing Phase 2(Authentication Stage 1), Phase 3(Authentication Stage 2)를 차례대로 수행한다(S1910).Thereafter, the pairing device 1 and the pairing device 2 perform a pairing phase 2 (Authentication Stage 1) and a phase 3 (Authentication Stage 2) in sequence (S1910).
즉, 페어링 디바이스 1과 페어링 디바이스 2는 페어링 위임자로부터 입력받은 Phase 2(Authenticating 및 Encrypting)과 Phase 3 (Transport Specific Key Distribution)을 진행하고 Paring 과정을 종료한다.That is, the pairing device 1 and the pairing device 2 proceed with Phase 2 (Authenticating and Encrypting) and Phase 3 (Transport Specific Key Distribution) received from the pairing delegator and terminate the paring process.

도 20은 본 명세서에서 제안하는 타이머 만료로 인한 디바이스들 간 페어링 실패의 일례를 나타낸 흐름도이다.20 is a flowchart illustrating an example of pairing failure between devices due to the expiration of a timer proposed in the present specification.
S2001 단계 내지 S2007 단계는 도 19의 S1901 단계 내지 S1907 단계와 동일하므로 구체적인 설명은 생략한다.Since steps S2001 to S2007 are the same as steps S1901 to S1907 of FIG. 19, detailed descriptions thereof will be omitted.
페어링 디바이스 2는 페어링 위임자로 페어링 위임 요청을 전송하고(S2007), 해당 타이머가 만료될 때까지 페어링 위임자로부터 페어링 위임 응답을 수신하지 못한 경우, Pairing delegation 요청을 Expire한다(S2008).The pairing device 2 transmits a pairing delegation request to the pairing delegation (S2007), and if it does not receive a pairing delegation response from the pairing delegation until the corresponding timer expires, it expiring a pairing delegation request (S2008).
따라서, 페어링 디바이스 1과 페어링 디바이스 2 간의 페어링은 실패하게 된다. Therefore, pairing between pairing device 1 and pairing device 2 fails.

도 21은 본 명세서에서 제안하는 소프트 패턴을 이용한 인증 방법의 일례를 나타낸 흐름도이다.21 is a flowchart illustrating an example of an authentication method using a soft pattern proposed in the present specification.
S2101 내지 S2103은 도 20의 S2001, S2003 및 S2004와 동일하므로 구체적인 설명은 생략한다.S2101 to S2103 are the same as S2001, S2003, and S2004 in FIG. 20, and thus detailed description thereof will be omitted.
페어링 디바이스 1은 6자리 랜덤 숫자를 출력하지 않고 특정 룰(매핑 테이블, 변환 알고리즘)에 따라 변경된 특정 패턴을 디스플레이에 출력한다(S2104).The pairing device 1 outputs a specific pattern changed according to a specific rule (mapping table, conversion algorithm) to the display without outputting a 6-digit random number (S2104).
즉, 도 21은 도시된 바와 같이, Passkey Entry 방법에서 Passkey (Random number)를 사용자가 인식하고 입력하기 쉬운 Pattern으로 변환하여 Bluetooth 디바이스의 인증을 수행하는 방법에 관한 것이다.That is, FIG. 21 relates to a method for performing authentication of a Bluetooth device by converting a Passkey (Random number) into a Pattern that is easily recognized and input by a user in the Passkey Entry method.
다음, 페어링 디바이스 2는 페어링 위임자로 Code=0x05, Timer=20s를 포함하는 페어링 위임 요청을 전송한다(S2105).Next, the pairing device 2 transmits a pairing delegation request including Code = 0x05 and Timer = 20s to the pairing delegator (S2105).
다음, 페어링 위임자는 사용자로부터 상기 페어링 디바이스 1에 출력된 특정 패턴을 입력 받는다(S2106).Next, the pairing delegator receives a specific pattern output to the pairing device 1 from the user (S2106).
이후, 상기 페어링 위임자는 특정 룰(매핑 테이블, 변환 알고리즘 등)에 의해 입력된 특정 패턴을 6자리 랜덤 숫자(123456)로 변환한다(S2107).Thereafter, the pairing delegator converts a specific pattern input by a specific rule (mapping table, conversion algorithm, etc.) into a six-digit random number 123456 (S2107).
이후, 상기 페어링 위임자는 상기 페어링 디바이스 2로 Code=0x05, Data=123456을 포함하는 페어링 위임 응답을 수신한다(S2108).Thereafter, the pairing delegator receives a pairing delegation response including Code = 0x05 and Data = 123456 to the pairing device 2 (S2108).
이후, 페어링 디바이스 1 및 2는 Pairing Phase 2 및 Phase 3을 순차적으로 수행한다(S2109).Thereafter, the pairing devices 1 and 2 sequentially perform pairing phase 2 and phase 3 (S2109).

도 22는 본 명세서에서 제안하는 블루투스 BR/EDR에서 숫자 비교 연관 모델을 이용한 인증 방법의 일례를 나타낸 도이다.22 is a diagram illustrating an example of an authentication method using a number comparison association model in the Bluetooth BR / EDR proposed in the specification.
먼저, 페어링 디바이스 2와 페어링 위임자는 Pairing delegation Setup Procedure를 수행한다(S2201). 즉, 페어링 디바이스 2와 페어링 위임자는 페어링 위임 상태 정보를 송수신한다.First, the pairing device 2 and the pairing delegator perform a pairing delegation setup procedure (S2201). That is, the pairing device 2 and the pairing delegator transmit and receive pairing delegation state information.
도 22의 경우, 페어링 디바이스 1은 Display Yes/No이며, 페어링 디바이스 2는 Display Only 또는 No I/O 기능을 가진다. 그리고, 페어링 위임자는 Client에 해당한다.In the case of FIG. 22, the pairing device 1 is Display Yes / No, and the pairing device 2 has a Display Only or No I / O function. And, the pairing delegator corresponds to the client.
페어링 디바이스 1과 페어링 디바이스 2는 페어징 절차를 수행한다(S2202). Pairing device 1 and pairing device 2 performs a pairing procedure (S2202).
다음, 페어링 디바이스 1과 페어링 디바이스 2는 I/O 능력(capabilities) 정보를 교환한다(S2203).Next, the pairing device 1 and the pairing device 2 exchange I / O capabilities information (S2203).
구체적으로, Pairing Device2는 자신의 I/O정보가 아닌 Pairing delegation I/O정보를 포함하여 Pairing Request를 페어링 디바이스 1로 전송한다.Specifically, the pairing device 2 transmits a pairing request to the pairing device 1 including pairing delegation I / O information, not its own I / O information.
여기서, Pairing Device 1은 Pairing Control Service 를 제공하지 않을 수도 있다.Here, pairing device 1 may not provide a pairing control service.
다음, 페어링 디바이스 1과 페어링 디바이스 2는 SSP(Secure Simple Pairing) Phase 1을 수행한다(S2204).Next, pairing device 1 and pairing device 2 perform Secure Simple Pairing (SSP) Phase 1 (S2204).
SSP Phase 1은 Public key를 교환(exchange)하는 절차이다. SSP Phase 1 is a procedure for exchanging a public key.
이후, SSP Phase 2를 수행한다.Thereafter, SSP Phase 2 is performed.
SSP Phase 2에 대해 구체적으로 살펴본다.Let's take a closer look at SSP Phase 2.
먼저, 페어링 디바이스 1 및 페어링 디바이스 2는 Random number를 각자 생성하고, HMAC 알고리즘 계산한 후, 계산된 값을 서로 교환하고, 상기 교환된 값을 기초로 하여 Hash 알고리즘을 계산하여 6자리 숫자를 생성한다(S2205).First, pairing device 1 and pairing device 2 respectively generate a random number, calculate a HMAC algorithm, exchange the calculated values with each other, and calculate a hash algorithm based on the exchanged values to generate a six-digit number. (S2205).
다음, 페어링 디바이스 1은 디스플레이에 Numeric Comparison을 위한 6자리 숫자(‘123456’)을 출력한다(S2206).Next, the pairing device 1 outputs a six digit number '123456' for Numeric Comparison on the display (S2206).
다음, 페어링 디바이스 2는 Pairing delegation Request을 페어링 위임자로 전송한다(S2207).Next, the pairing device 2 transmits a pairing delegation request to the pairing delegation (S2207).
상기 페어링 위임 요청은 Code = 0x01, Data =’123456’, Timer 20s를 포함한다.The pairing delegation request includes Code = 0x01, Data = '123456', Timer 20s.
즉, 상기 페어링 디바이스 2는 Numeric Comparison 방식에 대해 6자리 숫자를 페어링 위임자로 전달하며, Pairing delegation을 요청한다.That is, the pairing device 2 transmits a 6-digit number to the pairing delegation for the Numeric Comparison method, and requests pairing delegation.
이후, 상기 페어링 위임자는 ‘123456’를 디스플레이로 출력하고, 사용자로부터 입력된 Yes 또는 No를 확인한다(S2208).Thereafter, the pairing delegate outputs '123456' to the display and checks Yes or No input from the user (S2208).
여기서, 페어링 위임자는 사용자로부터 Pairing Device 1에 출력된 6자리 숫자와 Pairing delegator에 출력된 6자리 숫자를 확인 후 같으면 Yes를 입력받고, 다르면 No를 입력 받는다.Here, the pairing delegator checks the 6-digit number printed on the Pairing Device 1 and the 6-digit number printed on the Pairing Delegator from the user, and if it is the same, the user receives Yes.
여기서, Pairing Device 1에서 사용자에 의한 Yes 또는 No의 선택 입력과 Pairing delegator에서 Yes 또는 No의 선택 입력의 순서는 변경될 수 있다.Here, the order of the selection input of Yes or No by the user in the pairing device 1 and the selection input of Yes or No in the pairing delegator may be changed.
여기서, 사용자 입력은 Yes라고 가정한다.Here, assume that the user input is Yes.
이후, 페어링 위임자는 페어링 디바이스 2로 Pairing delegation Response을 전송한다(S2209).Thereafter, the pairing delegator transmits a pairing delegation response to the pairing device 2 (S2209).
상기 페어링 위임 응답은 Code = 0x01, Data = ‘Yes’ 정보를 포함한다.The pairing delegation response includes Code = 0x01, Data = 'Yes' information.
즉, 상기 페어링 위임자는 사용자로부터 입력 받은 결과 ‘Yes’를 페어링 Device 2로 전달한다.That is, the pairing delegator transfers the result “Yes” received from the user to the pairing device 2.
이후, 사용자는 페어링 디바이스 1에 출력된 6자리 숫자와 페어링 위임자에 출력된 6자리 숫자가 같은지를 확인하고, Yes 또는 No를 선택한다.Thereafter, the user checks whether the six-digit number output on the pairing device 1 and the six-digit number output on the pairing delegate are the same and select Yes or No.
즉, 페어링 디바이스 1은 사용자로부터 Yes 또는 No를 입력받게 된다(S2210).That is, the pairing device 1 receives a Yes or No input from the user (S2210).
Yes를 입력받은 경우, 페어링 디바이스 1과 페어링 디바이스 2 간의 Numeric Comparison에 의한 SSP Phase 2는 종료한다.If Yes is received, SSP Phase 2 by Numeric Comparison between the pairing device 1 and the pairing device 2 ends.
이후, 페어링 디바이스 1과 페어링 디바이스 2는 SSP Phase 3 내지 5를 수행한다(S2211).Thereafter, the pairing device 1 and the pairing device 2 perform SSP phases 3 to 5 (S2211).
여기서, SSP Phase 3은 Authentication Stage 2이고, SSP Phase 4는 Link key calculation이고, SSP Phase 5는 LMP Authentication 및 Encryption에 해당하며, 해당 절차들이 차례대로 진행된다.Here, SSP Phase 3 is Authentication Stage 2, SSP Phase 4 is Link key calculation, SSP Phase 5 corresponds to LMP Authentication and Encryption, and corresponding procedures are performed in order.

도 23은 본 명세서에서 제안하는 블루투스 BR/EDR에서 Passkey Entry를 이용한 인증 방법의 일례를 나타낸 도이다.FIG. 23 illustrates an example of an authentication method using a Passkey Entry in the Bluetooth BR / EDR proposed in the specification.
도 23의 경우, 페어링 디바이스 1은 Display할 수 있고, Yes/No 기능이 있으며, 페어링 디바이스 2는 Display Only 이거나 No I/O 기능을 가진다. In FIG. 23, the pairing device 1 may display, have a Yes / No function, and the pairing device 2 may have a Display Only or a No I / O function.
그리고, 페어링 위임자는 Client에 해당한다.And, the pairing delegator corresponds to the client.
S2301 내지 S2304 단계는 도 22의 S2201 단계 내지 S2204 단계와 동일하므로 구체적인 설명은 생략하기로 한다.Since steps S2301 to S2304 are the same as steps S2201 to S2204 of FIG. 22, a detailed description thereof will be omitted.
다음, SSP Phase 2를 수행하며,이에 대해 구체적으로 살펴본다.Next, the SSP Phase 2 is performed and this will be described in detail.
페어링 디바이스 1은 Display에 passkey 6자리 숫자 ‘123456’를 출력한다(S2305).The pairing device 1 outputs a passkey 6 digit '123456' on the display (S2305).
이후, 페어링 디바이스 2는 Pairing delegation Request을 페어링 위임자로 전송한다(S2306).Thereafter, the pairing device 2 transmits a pairing delegation request to the pairing delegation (S2306).
상기 페어링 위임 요청은 code= 0x03, Timer=20s를 포함한다. The pairing delegation request includes code = 0x03 and Timer = 20s.
이후, 페어링 위임자는 페어링 디바이스 1에 출력된 passkey ‘123456’를 사용자로부터 입력 받는다(S2307).Thereafter, the pairing delegator receives a passkey '123456' output from the pairing device 1 from the user (S2307).
다음, 페어링 위임자는 페어링 디바이스 2로 Pairing delegation Response(Code = 0x03 Data =’123456’ 포함)을 전송한다(S2308).Next, the pairing delegator transmits a pairing delegation response (including Code = 0x03 Data = '123456') to the pairing device 2 (S2308).
상기 페어링 위임 응답은 페어링 위임 요청에 포함된 Timer가 만료되기 전에 도착함을 가정한다.It is assumed that the pairing delegation response arrives before the timer included in the pairing delegation request expires.
이후, 페어링 디바이스 1 및 페어링 디바이스 2는 random number를 생성하고, HMAC 알고리즘 계산한 후 계산한 값을 서로 교환한다(S2309).Thereafter, the pairing device 1 and the pairing device 2 generate a random number, calculate the HMAC algorithm, and exchange the calculated values with each other (S2309).
그리고, 기존 Passkey 값과 교환한 값을 기반으로 다시 HMAC 알고리즘을 돌려서 Authentication value의 값을 증명한다.Based on the value exchanged with the existing Passkey value, the authentication value is proved by running the HMAC algorithm again.
이후, 페어링 디바이스 1과 페어링 디바이스 2는 SSP Phase 3 내지 Phase 5를 수행한다(S2310).Thereafter, the pairing device 1 and the pairing device 2 perform SSP phases 3 to 5 (S2310).

나아가, 설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 당업자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.Further, for convenience of description, the drawings are divided and described, but it is also possible to design a new embodiment by merging the embodiments described in each drawing. And, according to the needs of those skilled in the art, it is also within the scope of the present invention to design a computer-readable recording medium having a program recorded thereon for executing the embodiments described above.
본 명세서에 따른 등시 채널을 이용한 데이터 송수신 방법은 상기한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.The data transmission and reception method using the isochronous channel according to the present disclosure is not limited to the configuration and method of the embodiments described above, the embodiments are all or all of the embodiments so that various modifications can be made Some may be optionally combined.
한편, 본 명세서의 등시 채널을 이용한 데이터 송수신 방법은 네트워크 디바이스에 구비된 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.On the other hand, the data transmission and reception method using the isochronous channel of the present disclosure can be implemented as a processor-readable code on a processor-readable recording medium provided in the network device. The processor-readable recording medium includes all kinds of recording devices that store data that can be read by the processor. Examples of the processor-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like, and may also be implemented in the form of a carrier wave such as transmission over the Internet. . The processor-readable recording medium can also be distributed over network coupled computer systems so that the processor-readable code is stored and executed in a distributed fashion.
또한, 이상에서는 본 명세서의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 명세서는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.In addition, while the above has been shown and described with respect to preferred embodiments of the present specification, the present specification is not limited to the specific embodiments described above, the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or the prospect of the present invention.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.In addition, in this specification, both the object invention and the method invention are described, and description of both invention can be supplementally applied as needed.
본 명세서는 근거리 저전력 무선 기술인 블루투스를 활용하여 페어링을 수행하는 방법을 이용하는데 있다.The present specification uses a method of performing pairing using Bluetooth, which is a short range low power wireless technology.

Claims (16)

  1. 블루투스 통신을 지원하는 무선 통신 시스템에서 디바이스들 간 페어링(pairing)을 수행하기 위한 방법에 있어서, 제 1 디바이스에 의해 수행되는 방법은,
    디바이스 디스커버리(Device Discovery)를 수행하는 단계;
    입력(Input) 및/또는 출력(Output) 기능을 가지는 제 2 디바이스를 통해 제 3 디바이스와의 인증을 수행하기 위한 페어링 위임 셋업(pairing delegation setup) 절차를 상기 제 2 디바이스와 수행하는 단계;
    상기 제 3 디바이스와 입력 및/또는 출력 능력(capability) 정보를 교환하는 단계;
    상기 제 3 디바이스와의 인증(Authentication)에 사용되는 연관 모델(association model)을 결정하는 단계;
    상기 제 3 디바이스와의 인증에 요구되는 입력 및/또는 출력을 요청하기 위한 제 1 메시지를 상기 제 2 디바이스로 전송하는 단계; 및
    상기 요청된 입력 및/또는 출력의 결과값을 포함하는 제 2 메시지를 상기 제 2 디바이스로부터 수신하는 단계를 포함하여 이루어지는 것을 특징으로 하는 방법.
    In a method for performing pairing between devices in a wireless communication system supporting Bluetooth communication, the method performed by the first device,
    Performing device discovery;
    Performing a pairing delegation setup procedure with the second device to perform authentication with the third device via a second device having an input and / or output function;
    Exchanging input and / or output capability information with the third device;
    Determining an association model used for authentication with the third device;
    Sending a first message to the second device for requesting an input and / or output required for authentication with the third device; And
    Receiving from the second device a second message comprising a result of the requested input and / or output.
  2. 제 1항에 있어서,
    상기 제 1 메시지는 페어링 위임 요청(pairing delegation request) 메시지이며,
    상기 제 2 메시지는 페어링 위임 응답(pairing delegation response) 메시지인 것을 특징으로 하는 방법.
    The method of claim 1,
    The first message is a pairing delegation request message.
    The second message is a pairing delegation response message.
  3. 제 1항에 있어서,
    상기 페어링 위임 셋업(pairing delegation setup) 절차를 수행하는 단계는,
    상기 제 2 디바이스로부터 페어링 위임 상태(pairing delegation status)의 요청을 수신하는 단계; 및
    상기 요청에 대한 응답으로 페어링 위임 상태 정보(pairing delegation status information)를 상기 제 2 디바이스로 전송하는 단계를 포함하여 이루어지는 것을 특징으로 하는 방법.
    The method of claim 1,
    The performing of the pairing delegation setup procedure may include:
    Receiving a request for pairing delegation status from the second device; And
    And sending pairing delegation status information to the second device in response to the request.
  4. 제 3항에 있어서,
    상기 페어링 위임 상태 정보는 페어링 위임의 지원 여부를 나타내는 페어링 위임 지원 필드, 페어링 위임 기능을 enable 또는 disable하기 위한 필드 또는 현재 다른 페어링 위임자(pairing delegator)와 연결되어 있는지 여부를 나타내는 페어링 위임 상태(pairing delegation status) 필드 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
    The method of claim 3, wherein
    The pairing delegation state information includes a pairing delegation support field indicating whether pairing delegation is supported, a field for enabling or disabling pairing delegation function, or a pairing delegation state indicating whether it is currently connected with another pairing delegator. and at least one of a status field.
  5. 제 1항에 있어서,
    상기 제 2 디바이스로부터 상기 제 2 디바이스에서 지원하는 입력 및/또는 출력 관련 정보 및 페어링 위임 기능 활성화 시 지원하는 보안(security) 정보를 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
    The method of claim 1,
    And receiving from the second device input and / or output related information supported by the second device and security information supported when the pairing delegation function is activated.
  6. 제 5항에 있어서,
    상기 제 2 디바이스에서 지원하는 입력 및/또는 출력 관련 정보는 비트마스크(bitmask) 방식으로 표현되는 것을 특징으로 하는 방법.
    The method of claim 5,
    The input and / or output related information supported by the second device is represented by a bitmask method.
  7. 제 5항에 있어서,
    상기 보안(security) 정보는 인증(Authentication), 허가(Authorization) 또는 암호화(Encryption) 기능 중 적어도 하나의 제공 여부를 나타내는 정보인 것을 특징으로 하는 방법.
    The method of claim 5,
    The security information is a method characterized in that the information indicating whether at least one of the authentication (Authentication), Authorization (Authorization) or Encryption (Encryption) function provided.
  8. 제 5항에 있어서,
    상기 보안 정보는 보안 모드(security mode) 또는 보안 레벨(security level) 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
    The method of claim 5,
    The security information comprises at least one of a security mode or a security level.
  9. 제 1항에 있어서,
    상기 페어링 위임 셋업(pairing delegation setup) 절차는,
    블루투스 BR/EDR인 경우, RFCOMM Protocol 또는 Link Manager를 통해 수행되며,
    블루투스 LE인 경우, Attribute Protocol 또는 Link Layer를 통해 수행되는 것을 특징으로 하는 방법.
    The method of claim 1,
    The pairing delegation setup procedure,
    In case of Bluetooth BR / EDR, it is performed through RFCOMM Protocol or Link Manager.
    In the case of Bluetooth LE, the method is performed through an attribute protocol or a link layer.
  10. 제 1항에 있어서,
    상기 연관 모델(association model)은 숫자 비교(Numeric Comparison), 암호키 입력(Passkey Entry) 또는 Out of Band 중 어느 하나인 것을 특징으로 하는 방법.
    The method of claim 1,
    The association model (association model) is characterized in that any one of numeric comparison (Passkey Entry), Out of Band (Numeric Comparison).
  11. 제 1항에 있어서,
    상기 제 1 메시지는 인증을 위한 연관 모델의 종류를 나타내는 코드(code) 정보 또는 페어링 위임의 성공 또는 실패의 판단 기준이 되는 타이머 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
    The method of claim 1,
    The first message may include at least one of code information indicating a type of association model for authentication or timer information serving as a criterion for determining success or failure of pairing delegation.
  12. 제 11항에 있어서,
    상기 타이머는 상기 제 1 메시지 전송 시 시작되며,
    상기 페어링 위임의 실패는,
    상기 타이머가 만료 시까지 상기 제 2 디바이스로부터 상기 제 2 메시지를 수신하지 못한 경우인 것을 특징으로 하는 방법.
    The method of claim 11,
    The timer is started upon transmission of the first message,
    Failure of the delegation delegation,
    The second message is not received from the second device until the timer expires.
  13. 제 1항에 있어서,
    상기 입력 및/또는 출력의 결과값은 특정 패턴에서 일정 규칙에 따라 특정 값으로 변환된 값이며,
    상기 특정 값은 암호키 입력(Passkey Entry)에 사용되는 6자리 랜덤 숫자(six digits random number)인 것을 특징으로 하는 방법.
    The method of claim 1,
    The result of the input and / or output is a value converted into a specific value according to a certain rule in a specific pattern,
    The specific value is a six-digit random number (six digits random number) used for the passkey (Passkey Entry).
  14. 제 13항에 있어서,
    상기 특정 패턴은 상기 제 2 디바이스 및 상기 제 3 디바이스에서 사용자에 의해 입력되는 패턴인 것을 특징으로 하는 방법.
    The method of claim 13,
    The specific pattern is a pattern input by a user in the second device and the third device.
  15. 제 1항에 있어서,
    상기 제 1 디바이스는 입력 및/또는 출력 기능이 없는 디바이스인 것을 특징으로 하는 방법.
    The method of claim 1,
    And said first device is a device without input and / or output functionality.
  16. 블루투스 통신을 지원하는 무선 통신 시스템에서 페어링(pairing)을 수행하기 위한 제 1 디바이스에 있어서,
    외부와 무선 또는 유선으로 통신하기 위한 통신부; 및
    상기 통신부와 기능적으로 연결되는 프로세서를 포함하되, 상기 프로세서는,
    디바이스 디스커버리(Device Discovery)를 수행하고;
    입력(Input) 및/또는 출력(Output) 기능을 가지는 제 2 디바이스를 통해 제 3 디바이스와의 인증을 수행하기 위한 페어링 위임 셋업(pairing delegation setup) 절차를 상기 제 2 디바이스와 수행하고;
    상기 제 3 디바이스와 입력 및/또는 출력 능력 정보를 교환하고;
    상기 제 3 디바이스와의 인증(Authentication)에 사용되는 연관 모델(association model)을 결정하고;
    상기 제 3 디바이스와의 인증에 요구되는 입력 및/또는 출력을 요청하기 위한 제 1 메시지를 상기 제 2 디바이스로 전송하고; 및
    상기 요청된 입력 및/또는 출력의 결과값을 포함하는 제 2 메시지를 상기 제 2 디바이스로부터 수신하도록 제어하는 것을 특징으로 하는 디바이스.
    A first device for performing pairing in a wireless communication system supporting Bluetooth communication,
    Communication unit for communicating with the outside by wireless or wired; And
    Including a processor that is functionally connected with the communication unit, The processor,
    Perform device discovery;
    Perform a pairing delegation setup procedure with the second device to perform authentication with the third device via a second device having an Input and / or Output function;
    Exchange input and / or output capability information with the third device;
    Determine an association model used for authentication with the third device;
    Send a first message to the second device to request an input and / or output required for authentication with the third device; And
    Control to receive from the second device a second message comprising a result of the requested input and / or output.
PCT/KR2015/012515 2014-11-20 2015-11-20 Method for performing pairing between devices in wireless communication system supporting bluetooth communication and apparatus therefor WO2016080798A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462082597P 2014-11-20 2014-11-20
US62/082,597 2014-11-20

Publications (1)

Publication Number Publication Date
WO2016080798A1 true WO2016080798A1 (en) 2016-05-26

Family

ID=56014241

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/012515 WO2016080798A1 (en) 2014-11-20 2015-11-20 Method for performing pairing between devices in wireless communication system supporting bluetooth communication and apparatus therefor

Country Status (1)

Country Link
WO (1) WO2016080798A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018004303A1 (en) * 2016-07-01 2018-01-04 엘지전자(주) Authentication method and system for device using bluetooth technology
WO2018190650A1 (en) * 2017-04-14 2018-10-18 삼성전자 주식회사 Electronic device and method by which electronic device transmits and receives authentication information
US11051137B2 (en) * 2014-11-25 2021-06-29 Loud-Hailer, Inc. Local and temporal method and system of broadcasting via peer-to-peer network
US20220030403A1 (en) * 2018-08-01 2022-01-27 Huawei Technologies Co., Ltd. Bluetooth Communication Method and Dual-Mode Bluetooth Terminal
WO2022019344A1 (en) * 2020-07-20 2022-01-27 엘지전자 주식회사 Method for connecting ife to wireless device
CN114430289A (en) * 2021-12-27 2022-05-03 万帮数字能源股份有限公司 Automatic pairing method and system for power line carrier communication
WO2023277368A1 (en) * 2021-06-30 2023-01-05 삼성전자주식회사 Method for relaying data by using different frequency bands, and electronic device performing same
WO2023020618A1 (en) * 2021-08-19 2023-02-23 Oppo广东移动通信有限公司 Bluetooth-based device connection method and apparatus, electronic device and storage medium
US11729612B2 (en) 2018-03-08 2023-08-15 Cypress Semiconductor Corporation Secure BLE just works pairing method against man-in-the-middle attack

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320587A1 (en) * 2004-09-08 2008-12-25 Koninklijke Philips Electronics, N.V. Secure Pairing for Wired or Wireless Communications Devices
US20090325491A1 (en) * 2008-06-05 2009-12-31 Bell Robert T System for utilizing identity based on pairing of wireless devices
US20120297306A1 (en) * 2011-05-20 2012-11-22 Microsoft Corporation Auto-connect in a peer-to-peer network
US20140282882A1 (en) * 2013-03-13 2014-09-18 Google Inc. Indentification delegation for devices
WO2014182377A2 (en) * 2013-05-06 2014-11-13 Bodhi Technology Ventures Llc Delegating wifi network discovery and traffic monitoring

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320587A1 (en) * 2004-09-08 2008-12-25 Koninklijke Philips Electronics, N.V. Secure Pairing for Wired or Wireless Communications Devices
US20090325491A1 (en) * 2008-06-05 2009-12-31 Bell Robert T System for utilizing identity based on pairing of wireless devices
US20120297306A1 (en) * 2011-05-20 2012-11-22 Microsoft Corporation Auto-connect in a peer-to-peer network
US20140282882A1 (en) * 2013-03-13 2014-09-18 Google Inc. Indentification delegation for devices
WO2014182377A2 (en) * 2013-05-06 2014-11-13 Bodhi Technology Ventures Llc Delegating wifi network discovery and traffic monitoring

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11051137B2 (en) * 2014-11-25 2021-06-29 Loud-Hailer, Inc. Local and temporal method and system of broadcasting via peer-to-peer network
WO2018004303A1 (en) * 2016-07-01 2018-01-04 엘지전자(주) Authentication method and system for device using bluetooth technology
US11012227B2 (en) 2016-07-01 2021-05-18 Lg Electronics Inc. Authentication method and system for device using Bluetooth technology
WO2018190650A1 (en) * 2017-04-14 2018-10-18 삼성전자 주식회사 Electronic device and method by which electronic device transmits and receives authentication information
US11240662B2 (en) 2017-04-14 2022-02-01 Samsung Electronics Co., Ltd Electronic device and method by which electronic device transmits and receives authentication information
US11729612B2 (en) 2018-03-08 2023-08-15 Cypress Semiconductor Corporation Secure BLE just works pairing method against man-in-the-middle attack
US20220030403A1 (en) * 2018-08-01 2022-01-27 Huawei Technologies Co., Ltd. Bluetooth Communication Method and Dual-Mode Bluetooth Terminal
WO2022019344A1 (en) * 2020-07-20 2022-01-27 엘지전자 주식회사 Method for connecting ife to wireless device
WO2023277368A1 (en) * 2021-06-30 2023-01-05 삼성전자주식회사 Method for relaying data by using different frequency bands, and electronic device performing same
WO2023020618A1 (en) * 2021-08-19 2023-02-23 Oppo广东移动通信有限公司 Bluetooth-based device connection method and apparatus, electronic device and storage medium
CN114430289A (en) * 2021-12-27 2022-05-03 万帮数字能源股份有限公司 Automatic pairing method and system for power line carrier communication
CN114430289B (en) * 2021-12-27 2023-08-15 万帮数字能源股份有限公司 Automatic pairing method and system for power line carrier communication

Similar Documents

Publication Publication Date Title
WO2016080798A1 (en) Method for performing pairing between devices in wireless communication system supporting bluetooth communication and apparatus therefor
KR101910067B1 (en) Method for transmitting and receiving audio data in wireless communication system supporting bluetooth communication and device therefor
US9961484B2 (en) Method and apparatus for controlling a device using bluetooth technology
US10917920B2 (en) Method and apparatus for connecting alternative communication means using bluetooth low energy (LE)
US10827334B2 (en) Method and apparatus for connecting devices using Bluetooth LE technology
JP6374526B2 (en) Method and apparatus for adjusting data rate in wireless communication system
KR102306271B1 (en) Method and apparatus for controlling electronic device in wireless communication system supporting bluetooth communication
US20170208639A1 (en) Method and apparatus for controlling a device using bluetooth technology
US10349253B2 (en) Method for transmitting and receiving data, and device therefor
WO2015069024A1 (en) Method and apparatus for establishing device-to-device connection in wireless communication system
US20190215879A1 (en) Method and apparatus for connecting device by using bluetooth technology
US20160182803A1 (en) Method and apparatus for controlling a camera by using bluetooth communication in a wireless communication system
WO2016167539A1 (en) Method for performing scanning in wireless communication system, and apparatus therefor
US20170171798A1 (en) Method and apparatus for transmitting and receiving data in wireless communication system
WO2015122576A1 (en) Method and apparatus for performing object transfer service using bluetooth low energy in wireless communication system
KR20170040240A (en) Method and apparatus for controlling electronic device in wireless communication system supporting bluetooth communication
US11665214B2 (en) Method and apparatus for receiving audio data by using Bluetooth technology
US9930477B2 (en) Method and apparatus for transmitting and receiving data in wireless communication system
US10484363B2 (en) Method and apparatus for authenticating a device using Bluetooth technology
US20160299739A1 (en) Method for controlling data streaming using bluetooth communication
KR101990489B1 (en) Method and apparatus for transmitting http data using bluetooth in wireless communication system
US11622196B2 (en) Method for transmitting audio data by using short-range wireless communication in wireless communication system, and apparatus for same
US10492060B2 (en) Method and device for transmitting/receiving data in wireless communication system
US20220391165A1 (en) Method for transmitting audio data using short-range communication in wireless communication system, and device for same
US20210243599A1 (en) User authentication method through bluetooth device and device therefor

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15861436

Country of ref document: EP

Kind code of ref document: A1