DE102023124254B4 - Method for pairing a first device with a second device - Google Patents
Method for pairing a first device with a second device Download PDFInfo
- Publication number
- DE102023124254B4 DE102023124254B4 DE102023124254.7A DE102023124254A DE102023124254B4 DE 102023124254 B4 DE102023124254 B4 DE 102023124254B4 DE 102023124254 A DE102023124254 A DE 102023124254A DE 102023124254 B4 DE102023124254 B4 DE 102023124254B4
- Authority
- DE
- Germany
- Prior art keywords
- kixt
- key
- information
- adv
- pairing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Verfahren zum Paaren eines ersten Geräts mit einem zweiten Gerät über einen drahtlosen Kanal, wobei das erste Gerät von dem zweiten Gerät über den Kanal Information empfängt, die für das zweite Gerät kennzeichnend ist, wobei das erste Gerät mittels eines vorbestimmten Algorithmus auf der Basis der empfangenen Information einen ersten Schlüssel des ersten Geräts erzeugt, wobei die Information sowie der vorbestimmte Algorithmus dieselben sind, die dem zweiten Gerät zur Erzeugung eines ersten Schlüssels des zweiten Geräts dienen, derart, dass beide erste Schlüssel beider Geräte genau gleich sind. A method for pairing a first device with a second device via a wireless channel, wherein the first device receives information characteristic of the second device from the second device via the channel, wherein the first device generates a first key of the first device by means of a predetermined algorithm on the basis of the received information, wherein the information and the predetermined algorithm are the same as those used by the second device to generate a first key of the second device, such that both first keys of both devices are exactly the same.
Description
Technisches GebietTechnical field
Die vorliegende Erfindung betrifft Verfahren zum Paaren eines ersten Geräts mit einem zweiten Gerät. Hierbei befasst sich die Erfindung mit der sicheren Kopplung von Bluetooth-Low-Energy-Geräten. Bluetooth Low Energy (BLE) ist eine Funk-Übertragungstechnik für zwei direkt gekoppelte Geräte, die ein Frequenzband zwischen 2,404 GHz und 2,480 GHz nutzt und auf minimalen Energiebedarf optimiert ist.The present invention relates to methods for pairing a first device with a second device. The invention focuses on the secure coupling of Bluetooth Low Energy devices. Bluetooth Low Energy (BLE) is a wireless transmission technology for two directly coupled devices that uses a frequency band between 2.404 GHz and 2.480 GHz and is optimized for minimal energy consumption.
Stand der TechnikState of the art
Zum Koppeln der Geräte miteinander muss zunächst eine Initialisierung der Bluetooth-Verbindung (BT-Verbindung) mittels eines Initialisierungsschlüssels durchgeführt werden. Hierzu muss ein und derselbe Initialisierungsschlüssel auf beide Geräte gelangen. Der Prozess des Erzeugens eines oder mehrerer gemeinsamer Schlüssel wird als Paaren oder Pairing bezeichnet; der Prozess des Speicherns der beim Paaren erzeugten gemeinsamen Schlüssel zur Verwendung bei späteren Verbindungen, um ein vertrauenswürdiges Gerätepaar zu bilden, wird als Bonding bezeichnet.To pair the devices, the Bluetooth (BT) connection must first be initialized using an initialization key. This requires the same initialization key to be sent to both devices. The process of generating one or more shared keys is called pairing; the process of storing the shared keys generated during pairing for use in subsequent connections to form a trusted pair of devices is called bonding.
Zum Paaren zweier Geräte wird gemäß dem Stand der Technik entweder der Initialisierungsschlüssel von einem Gerät erzeugt und dann auf das andere Gerät übertragen, oder der Initialisierungsschlüssel auf einem Gerät angezeigt und auf dem zweiten eingegeben, oder aber er wird jeweils in beide Geräte eingegeben. Hierfür gibt es mehrere sogenannte Assoziations-Modelle, und zwar „Just Works“, „Numeric Comparison“, „Out of Band“ und „Passkey Entry“, die jeweils in Kombination mit einem Authentifizierungsverfahren - Legacy-Authentifizierung oder sichere Authentifizierung - angewendet werden.To pair two devices, the current state of the art involves either generating the initialization key from one device and then transferring it to the other, displaying the initialization key on one device and entering it on the second, or entering it on both devices. Several association models exist for this purpose: "Just Works," "Numeric Comparison," "Out of Band," and "Passkey Entry," each of which is used in combination with an authentication method—legacy authentication or secure authentication.
Just WorksJust Works
Just Works ist in erster Linie für Szenarien gedacht, in denen mindestens eines der Geräte weder über ein Display, das eine sechsstellige Zahl anzeigen kann, noch über eine Tastatur verfügt. Bei Just Works muss der Initialisierungsschlüssel über BLE übertragen werden. Dies bietet Gefahr zum Abhören.Just Works is primarily intended for scenarios where at least one of the devices has neither a display capable of displaying a six-digit number nor a keypad. With Just Works, the initialization key must be transmitted via BLE, which poses a risk of eavesdropping.
Numeric ComparisonNumerical Comparison
Numeric-Comparison ist für Szenarien gedacht, in denen beide Geräte eine sechsstellige Zahl anzeigen können und in beiden Fällen Benutzer „Ja“ oder „Nein“ in sein Gerät eingeben können. Den Benutzern wird auf beiden Displays eine sechsstellige Zahl (von „000000“ bis „999999“) angezeigt, und sie werden dann gefragt, ob die Zahlen auf beiden Geräten übereinstimmen. Wenn auf beiden Geräten „ja“ eingegeben wird, ist die Kopplung erfolgreich. Bei Numeric Comparison muss ebenfalls der Initialisierungsschlüssel über BLE übertragen werden. Dies bietet wiederum Gefahr zum Abhören.Numeric Comparison is intended for scenarios where both devices can display a six-digit number, and in both cases, users can enter "yes" or "no" into their device. Users are shown a six-digit number (from "000000" to "999999") on both displays and are then asked if the numbers match on both devices. If "yes" is entered on both devices, pairing is successful. Numeric Comparison also requires the initialization key to be transmitted over BLE. This, in turn, poses a risk of eavesdropping.
Out-of-BandOut-of-band
Out-of-Band ist für Szenarien konzipiert, in denen ein Kanal verwendet wird, der kein BT-Kanal ist, um sowohl die Geräte zu erkennen als auch kryptografische Informationen auszutauschen oder zu übertragen, die im Kopplungsprozess verwendet werden. Out-of-Band ist eine flexible Option für Entwickler, mit der sie einige ihrer eigenen Kopplungsmechanismen definieren können, sodass die Sicherheitsstufe von der Out-of-Band-Schutzfunktion abhängt. Bei Out-of-Band wird demnach ein zusätzlicher Kommunikations-Kanal zur Übertragung des Initialisierungs-Schlüssels benötigt.Out-of-band is designed for scenarios where a non-BT channel is used to both discover the devices and exchange or transmit cryptographic information used in the pairing process. Out-of-band provides a flexible option for developers, allowing them to define some of their own pairing mechanisms, so the level of security depends on the out-of-band protection feature. Out-of-band therefore requires an additional communication channel to transmit the initialization key.
Passkey EntryPasskey Entry
Passkey Entry ist in erster Linie für das Szenario konzipiert, in dem ein Gerät Eingabefähigkeiten hat, aber nicht die Fähigkeit hat, sechs Ziffern anzuzeigen, und das andere Gerät Ausgabe-Fähigkeiten hat. Beim Passkey Entry braucht die eine Seite demnach ein Display und die andere Seite eine Eingabemöglichkeit. Dem Benutzer wird eine sechsstellige Zahl (von „000000“ bis „999999“) auf dem Gerät mit Display angezeigt, und er wird dann aufgefordert, die Zahl auf dem anderen Gerät einzugeben. Wenn die auf dem zweiten Gerät eingegebene Zahl korrekt ist, ist die Kopplung erfolgreich.Passkey Entry is primarily designed for the scenario where one device has input capabilities but lacks the ability to display six digits, and the other device has output capabilities. With Passkey Entry, one side needs a display, and the other side needs an input capability. The user is presented with a six-digit number (from "000000" to "999999") on the device with the display and is then prompted to enter the number on the other device. If the number entered on the second device is correct, pairing is successful.
Technisches ProblemTechnical problem
Bei drahtlosem Verbindungsaufbau zwischen zwei Geräten sind insbesondere BLE-Verbindungen anfällig für „Man-in-the-Middle" (MITM)-Angriffe. Ein MITM-Angriff liegt vor, wenn der Benutzer des einen Geräts eine Verbindung mit dem anderen Gerät herstellen möchte, aber anstatt eine direkte Verbindung mit dem anderen Gerät herzustellen, sich unwissentlich mit einem dritten (angreifenden) Gerät verbindet, das die Rolle des Geräts spielt, mit dem er die Verbindung eigentlich herstellen möchte. Das dritte Gerät leitet dann Informationen zwischen den beiden Geräten weiter und erweckt den Eindruck, dass sie direkt miteinander verbunden sind.When establishing a wireless connection between two devices, BLE connections are particularly vulnerable to "man-in-the-middle" (MITM) attacks. A MITM attack occurs when the user of one device wants to establish a connection with the other device, but instead of establishing a direct connection with the other device, unknowingly connects to a third (attacking) device that plays the role of the device with which the connection is actually intended. The third device then relays information between the two devices, creating the impression that they are directly connected.
Das angreifende dritte Gerät kann sogar die Kommunikation zwischen den beiden Geräten belauschen (aktives Abhören) und ist in der Lage, Informationen in die Verbindung einzufügen und zu verändern. Bei dieser Art von Angriff werden alle zwischen den beiden Geräten ausgetauschten Informationen kompromittiert, und der Angreifer kann Befehle und Informationen in jedes der Geräte einspeisen und so möglicherweise die Funktion der Geräte beeinträchtigen. Geräte, die dem Angriff zum Opfer fallen, können nur dann kommunizieren, wenn der Angreifer anwesend ist. Wenn der Angreifer nicht aktiv ist oder sich außerhalb der Reichweite befindet, können die beiden Opfergeräte nicht direkt miteinander kommunizieren, und der Benutzer wird dies bemerken.The attacking third device can even eavesdrop on the communication between the two devices (active eavesdropping) and is able to insert and modify information in the connection. In this type of attack, all The information exchanged between the two devices is compromised, and the attacker can inject commands and information into each device, potentially compromising their functionality. Devices that fall victim to the attack can only communicate when the attacker is present. If the attacker is inactive or out of range, the two victim devices cannot communicate directly with each other, and the user will notice.
Passives Abhören ist der Prozess, bei dem ein drittes Gerät die Daten abhört, die zwischen den beiden gekoppelten Geräten ausgetauscht werden. Hier ergibt sich ein Problem, wenn beim Schlüsselaustausch der Initialisierungsschlüssel mitgelesen wird.Passive eavesdropping is the process by which a third device listens to the data exchanged between two paired devices. This poses a problem if the initialization key is intercepted during the key exchange.
Die oben beschriebenen Kopplungsverfahren (Assoziationsmodelle) sind anfällig gegen MITM-Angriffe, weil der gemeinsame Initialisierungsschlüssel vom einen auf das andere Gerät übertragen werden muss oder - im Fall des „Passkey Entry“-Verfahrens - auf dem einen Gerät offen angezeigt werden muss.The coupling methods (association models) described above are vulnerable to MITM attacks because the shared initialization key must be transferred from one device to the other or - in the case of the "passkey entry" method - must be openly displayed on one device.
Beim „Passkey-Entry“-Verfahren braucht die eine Seite ein Display und die andere Seite eine Eingabemöglichkeit.With the passkey entry method, one side needs a display and the other side needs an input option.
Beim „Out-Of-Band“-Verfahren wird ein zusätzlicher Kommunikations-Kanal zur Übertragung des Initialisierungs-Schlüssels benötigt.The “out-of-band” method requires an additional communication channel to transmit the initialization key.
Kurzbeschreibung der ErfindungBrief description of the invention
Aufgabe ist es daher, Verfahren zum Paaren, also zur erstmaligen Kopplung zweier Geräte bereitzustellen, welche die Anfälligkeit gegenüber MITM-Angriffen und passivem Abhören beseitigen. Ferner ist es Aufgabe, entsprechend ausgestaltete Geräte bereitzustellen.The task is therefore to provide methods for pairing, i.e., for the initial connection of two devices, that eliminate vulnerability to MITM attacks and passive eavesdropping. Furthermore, it is necessary to provide appropriately designed devices.
Diese Aufgabe wird durch Verfahren bzw. durch Geräte gemäß den Ansprüchen gelöst.This object is achieved by methods or devices according to the claims.
Bereitgestellt wird demnach ein Verfahren zum Paaren eines ersten Geräts mit einem zweiten Gerät über einen drahtlosen Kanal, wobei
- das erste Gerät von dem zweiten Gerät über den Kanal Information empfängt, die für das zweite Gerät kennzeichnend ist, wobei das erste Gerät mittels eines vorbestimmten Algorithmus auf der Basis der empfangenen Information einen ersten Schlüssel erzeugt, wobei
- die Information sowie der vorbestimmte Algorithmus dieselben sind, die dem zweiten Gerät zur Erzeugung eines ersten Schlüssels dienen, derart, dass beide erste Schlüssel genau gleich sind,
- wobei kein erster Schlüssel ausgetauscht wird.
- the first device receives information characteristic of the second device from the second device via the channel, the first device generating a first key by means of a predetermined algorithm on the basis of the received information,
- the information and the predetermined algorithm are the same as those used by the second device to generate a first key, such that both first keys are exactly the same,
- where no first key is exchanged.
Hierbei kann das erste Gerät nach Empfang der Information an das zweite Gerät eine Anforderung zum Aufbau einer Verbindung senden, wobei die Anforderung eine Information enthält, welche kennzeichnend für das erste Gerät ist, sowie die Information, die kennzeichnend für das zweite Gerät ist.In this case, after receiving the information, the first device can send a request to the second device to establish a connection, wherein the request contains information which is characteristic of the first device and the information which is characteristic of the second device.
Ferner kann das erste Gerät nach Senden der Anforderung in einen Verbindungsaufbauzustand überwechseln und das erste Gerät in dem Verbindungsaufbauzustand mit dem zweiten Gerät Informationen zur Paarung austauschen, bevor es den ersten Schlüssel generiert.Furthermore, after sending the request, the first device may enter a connection establishment state, and in the connection establishment state, the first device may exchange pairing information with the second device before generating the first key.
Die Erfindung umfasst auch ein Verfahren zum Paaren eines ersten Geräts mit einem zweiten Gerät über einen drahtlosen Kanal, wobei das zweite Gerät dem ersten Gerät über den Kanal Information sendet, die für das zweite Gerät kennzeichnend ist, wobei
das zweite Gerät mittels eines vorbestimmten Algorithmus auf der Basis der Information einen ersten Schlüssel erzeugt, wobei
die Information sowie der vorbestimmte Algorithmus dieselben sind, die dem ersten Gerät zur Erzeugung eines ersten Schlüssels dienen, derart, dass beide erste Schlüssel genau gleich sind,
wobei kein erster Schlüssel ausgetauscht wird.The invention also includes a method for pairing a first device with a second device via a wireless channel, wherein the second device sends information to the first device over the channel that is characteristic of the second device, where
the second device generates a first key based on the information by means of a predetermined algorithm, wherein
the information and the predetermined algorithm are the same as those used by the first device to generate a first key, such that both first keys are exactly the same,
where no first key is exchanged.
Hierbei kann das zweite Gerät nach Senden der Information von dem ersten Gerät eine Anforderung zum Aufbau einer Verbindung empfangen, wobei die Anforderung eine Information enthält, welche kennzeichnend für das erste Gerät ist, sowie die Information, die kennzeichnend für das zweite Gerät ist.Here, after sending the information from the first device, the second device can receive a request to establish a connection, wherein the request contains information which is characteristic of the first device and the information which is characteristic of the second device.
Ferner kann hierbei das zweite Gerät nach Empfangen der Anforderung in einen Verbindungsaufbauzustand (Connection Established) überwechseln, wobei das zweite Gerät in dem Verbindungsaufbauzustand mit dem ersten Gerät Informationen zur Paarung austauschen, vorzugsweise bevor es den ersten Schlüssel generiert.Furthermore, after receiving the request, the second device can switch to a connection establishment state (Connection Established), wherein the second device exchanges pairing information with the first device in the connection establishment state, preferably before it generates the first key.
Der vorbestimmte Algorithmus muss für dritte Geräte - und auch für jede dritte Person - geheim sein.The predetermined algorithm must be secret for third-party devices - and also for any third person.
Die beiden ersten Schlüssel müssen identisch sein.The first two keys must be identical.
Das Paaren kann beim Aufbau einer peer-to-peer-Verbindung, insbesondere einer Bluetooth-Verbindung oder Bluetooth-Low-Energy-Verbindung, stattfinden. Dann ist die Information, die für das zweite Gerät kennzeichnend ist, Teil der Advertise-Daten, die das zweite Gerät beim Advertising aussendet und das erste Gerät empfängt.Pairing can occur when establishing a peer-to-peer connection, particularly a Bluetooth or Bluetooth Low Energy connection. In this case, the information specific to the second device is part of the advertising data that the second device sends during advertising and the first device receives.
Der Algorithmus muss im ersten Gerät und im zweiten Gerät implementiert sein.The algorithm must be implemented in the first device and the second device.
Die Information kann zumindest einen Teil einer Geräteadresse des ersten Geräts enthalten, insbesondere den Random Part der statischen Adresse, und/oder den Company Assigned Public MAC-Address Part.The information may contain at least part of a device address of the first device, in particular the random part of the static address, and/or the company assigned public MAC address part.
Der erste Schlüssel des ersten Geräts und/oder der erste Schlüssel des zweiten Geräts kann in seiner Länge abhängig durch Verlängern eines Address Part verlängert werden.The first key of the first device and/or the first key of the second device can be extended in length by extending an address part.
Zur Erzeugung des ersten Schlüssels auf dem ersten Gerät und dem zweiten Gerät kann zusätzlich oder alternativ zum Hash-Wert ein Hash-Algorithmus, ein Verschleierungs-Algorithmus, ein symmetrischer Verschlüsselungs-Algorithmus oder ein anderer Algorithmus oder eine Kombination der Algorithmen verwendet werden.To generate the first key on the first device and the second device, a hash algorithm, an obfuscation algorithm, a symmetric encryption algorithm or another algorithm or a combination of the algorithms may be used in addition to or alternatively to the hash value.
Der erste Schlüssel beider Geräte ist ein temporärer Schlüssel.The first key of both devices is a temporary key.
Basierend auf dem erzeugten ersten Schlüssel wird auf dem ersten Gerät und dem zweiten Gerät zumindest ein weiterer Schlüssel generiert und zum verschlüsselten Verteilen von transportspezifischen Schlüsseln zwischen dem ersten Gerät und dem zweiten Gerät verwendet.Based on the generated first key, at least one further key is generated on the first device and the second device and used for the encrypted distribution of transport-specific keys between the first device and the second device.
Das erste Gerät kann ein Peripheriegerät oder ein Telekommunikationsgerät, insbesondere ein tragbares Telekommunikationsendgerät, sein und auch das zweite Gerät kann ein Peripheriegerät oder ein Telekommunikationsgerät, insbesondere ein tragbares Telekommunikationsendgerät, sein.The first device may be a peripheral device or a telecommunications device, in particular a portable telecommunications terminal, and the second device may also be a peripheral device or a telecommunications device, in particular a portable telecommunications terminal.
Das erste Gerät kann speziell ein Peripheriegerät und das zweite Gerät ein TK-Gerät sein.The first device can specifically be a peripheral device and the second device a telecommunications device.
Das erste Gerät kann ein TK-Gerät und das zweite Gerät ein Peripheriegerät sein.The first device can be a telecommunications device and the second device a peripheral device.
Das erste Gerät und das zweite Gerät können jeweils ein Peripheriegerät sein.The first device and the second device can each be a peripheral device.
Des Weiteren umfasst die Erfindung ein erstes Gerät, ausgestaltet, sich mit einem zweiten Gerät über einen drahtlosen Kanal zu paaren, wobei
- das erste Gerät ausgestaltet ist, von dem zweiten Gerät über den Kanal eine Information zu empfangen, die für das zweite Gerät kennzeichnend ist, wobei
- das erste Gerät einen vorbestimmten Algorithmus enthält, der ihm erlaubt auf der Basis der empfangenen Information, einen ersten Schlüssel zu erzeugen, wobei
- die Information sowie der vorbestimmte Algorithmus dieselben sind, die dem zweiten Gerät zur Erzeugung eines ersten Schlüssels dienlich sind, derart, dass beide erste Schlüssel genau gleich sind, und
- wobei kein erster Schlüssel ausgetauscht ist.
- the first device is designed to receive from the second device via the channel information which is characteristic of the second device, wherein
- the first device contains a predetermined algorithm that allows it to generate a first key based on the received information, wherein
- the information and the predetermined algorithm are the same as those used by the second device to generate a first key, such that both first keys are exactly the same, and
- where no first key is exchanged.
Auch umfasst die Erfindung ein zweites Gerät, ausgestaltet, sich mit einem ersten Gerät über einen drahtlosen Kanal zu paaren, wobei
- das zweite Gerät ausgestaltet ist, dem ersten Gerät über den Kanal Information zu senden, die für das zweite Gerät kennzeichnend ist, wobei
- das zweite Gerät einen vorbestimmten Algorithmus enthält, der ihm erlaubt, auf Basis der Information einen ersten Schlüssel zu erzeugen, wobei die Advertising-Information sowie der vorbestimmte Algorithmus dieselben sind, die dem ersten Gerät zur Erzeugung eines ersten Schlüssels dienlich sind, derart, dass beide erste Schlüssel genau gleich sind, und
- wobei kein erster Schlüssel ausgetauscht ist.
- the second device is configured to send information characteristic of the second device to the first device via the channel, wherein
- the second device contains a predetermined algorithm that allows it to generate a first key on the basis of the information, wherein the advertising information and the predetermined algorithm are the same as those used by the first device to generate a first key, such that both first keys are exactly the same, and
- where no first key is exchanged.
Bei den Geräten muss der vorbestimmte Algorithmus für dritte Geräte geheim sein.For the devices, the predetermined algorithm must be secret from third-party devices.
Die Geräte können in Weiterbildung der Erfindung sinngemäß in derselben Weise weiter ausgestaltet sein, dass sie die Verfahren gemäß den oben ausgeführten speziellen Ausgestaltungen ausführen können bzw. die oben genannten Eigenschaften besitzen.In a further development of the invention, the devices can be further designed in the same way so that they can carry out the methods according to the special embodiments described above or have the properties mentioned above.
Erfindungsgemäß wird also kein Initialisierungsschlüssel ausgetauscht. Es kann demnach kein Initialisierungsschlüssel durch einen „man-in-the-middle“-Angriff abgegriffen werden.According to the invention, no initialization key is exchanged. Therefore, no initialization key can be intercepted through a "man-in-the-middle" attack.
Kurzbeschreibung der FigurenShort description of the characters
Die Erfindung wird in Verbindung mit den Figuren näher beschrieben.
-
1 zeigt den Ablauf der Kopplung zweier Bluetooth Low Energy Geräte gemäß einem Ausführungsbeispiel der Erfindung; -
2 zeigt ein Sequenzdiagramm, das den asynchronen Ablauf der Bluetooth-Low Energy Kommunikation beschreibt; -
3 illustriert die zugrunde liegenden Bluetooth-Address-Typen; -
4 illustriert Datenformate der Advertising-Daten verschiedener Schritte.
-
1 shows the sequence of coupling two Bluetooth Low Energy devices according to an embodiment of the invention; -
2 shows a sequence diagram describing the asynchronous flow of Bluetooth Low Energy communication; -
3 illustrates the underlying Bluetooth address types; -
4 illustrates data formats of advertising data from different steps.
Detaillierte BeschreibungDetailed description
Folgend der Terminologie des BT-Standards ist hierbei das Central Device CD dasjenige BT-Gerät, welches Peripheral Devices PD entdecken kann und die Fähigkeit hat, BLE-Verbindungen mit einem Peripheral Device aufzubauen. Das Peripheral Device PD kann mittels Aussenden von Advertise-Daten seine Bereitschaft kundtun, sich mit einem Central Device CD über eine BLE-Verbindung zu koppeln. Für den Aufbau von BT-Verbindungen gibt es prinzipiell mehrere Möglichkeiten, abhängig von der „Vorgeschichte“ der Geräte bzw. dem Zustand der Geräte, z.B. wenn die Geräte bereits gebonded sind oder eine Kopplung bisher einander nicht bekannter Geräte durchgeführt werden soll. Bei der vorliegenden Erfindung ist das Kopplungsverfahren über das Scanning (Central Scanner) relevant.Following the terminology of the BT standard, the Central Device CD is the BT device that can discover Peripheral Devices PD and has the ability to establish BLE connections with a Peripheral Device. The Peripheral Device PD can announce its willingness to pair with a Central Device CD via a BLE connection by sending advertise data. In principle, there are several options for establishing BT connections, depending on the "previous history" of the devices or their state, e.g., if the devices are already bonded or if previously unknown devices are to be paired. In the present invention, the pairing method via scanning (Central Scanner) is relevant.
Nachfolgend werden Gerätezustände und die zugehörigen Prozessschritte beschrieben, die beim Pairing eine Rolle spielen.The following describes device states and the associated process steps that play a role in pairing.
Peripheral Advertiser Adv_Norm 1
Der Zustand „Peripheral Advertiser Adv_Norm“ 1 des PD ist ein Beispiel dafür, wie der Pairing-Prozess initiiert werden kann, ist jedoch nicht zwingend notwendig. Nach dem Start des Peripheral-Device wird im Normalfall vom Standby-Zustand des PD in den Advertiser-Zustand Adv_Norm 1 gewechselt. In diesem Zustand sendet das Peripheral Device etwa alle 1,5 - 2 Sekunden in einem Datenpaket (Protocol Data Unit - PDU) nur die Advertise-Daten gemäß
Wenn bereits eine Kopplung mit einem Central Device CD vorhanden ist, kann eine Verbindung zwischen CD und PD aufgebaut werden.If a connection with a Central Device CD already exists, a connection can be established between CD and PD.
Peripheral Advertiser Adv_Pair 4
Alternativ wird das Peripheral-Device gleich im Advertise-Pair-Mode 4 gestartet, dann wird auch keine Benutzereingabe (User-Event 2) benötigt.Alternatively, the peripheral device is started in
Im „Advertise-Pair“-Mode 4 wird das Peripheral-Device in kurzen Intervallen nach außen sichtbar gemacht.In “Advertise Pair”
Das PD sollte jedoch nur kurz in den Advertise-Pair-Mode 4 umgeschaltet werden. Das hat mehrere Gründe:
- • Während dieser Phase ist es für alle Bluetooth-Geräte sichtbar.
- • Damit kein fremdes Central-Device, dem derselbe Algorithmus zur „Sicheren Generierung des Initialisierungs-Keys (Kixt)“ bekannt ist, unerlaubt koppelt.
- • During this phase it is visible to all Bluetooth devices.
- • To prevent unauthorized coupling of a foreign central device that knows the same algorithm for “Secure generation of the initialization key (Kixt)”.
Damit sichergestellt ist, dass kein fremdes Central-Device eine Verbindung zum Peripheral-Device herstellen kann, wird das Peripheral-Device nur zu dem Zeitpunkt, an dem bewusst ein Pairing/Bonding ausgeführt werden soll, in den Advertise-Pair-Mode (Adv_Pair 4) umgeschaltet. Beim Bonding wird ein Advertising-Signal ADV_xxx für einen sehr begrenzten Zeitraum in kurzen Intervallen (beispielsweise ca. 25ms) ausgesendet. Innerhalb dieses Zeitraums wird auf den drei Advertise-Kanälen ein Advertise-Signal mit erweiterten Advertise-Daten gesendet (vgl.
Diese erweiterten Advertise-Daten umfassen dann neben der MAC-Adresse und dem Header auch den Device-Namen (vgl.
Central Scan 5
In diesem Zustand sucht das Central Device CD durch einen Scanner nach dem Peripheral Device PD, welches gekoppelt werden soll.In this state, the Central Device CD uses a scanner to search for the Peripheral Device PD that is to be paired.
Wenn das Central Device eine Kopplung durchführen soll, wird das Scannen der aktuellen Bluetooth-MAC-Adressen gestartet. Hierbei verwendet das CD einen Filter für den gesuchten Device-Namen (DevName; siehe weiter oben), mit dem es gekoppelt werden soll. Mithilfe des Device-Namens (DevName) kann das Central-Device erkennen, ob ihm das Peripheral-Device bekannt ist und ob das Peripheral-Device denselben Algorithmus zur „Sicheren Generierung des Initialisierungs-Keys (Kixt)“ verwendet.When the central device is to perform a pairing, it starts scanning the current Bluetooth MAC addresses. The CD uses a filter for the device name (DevName; see above) with which it is to be paired. Using the device name (DevName), the central device can determine whether it recognizes the peripheral device and whether the peripheral device uses the same algorithm for "Secure Initialization Key Generation (Kixt)."
Wird beim Scannen 5 dann ein bekanntes Peripheral-Device gefunden 6 bzw. ein Advertise-Paket mit den erwarteten Advertise-Daten empfangen (vgl.
Connection Established 7Connection Established 7
Nach Empfang des CONNECT_IND-Datenpakets durch das PD gilt die Verbindung zwischen den beiden Geräten CD und PD als aufgebaut (Zustand „Connection Established 7“).After the PD receives the CONNECT_IND data packet, the connection between the two devices CD and PD is considered established (state “Connection Established 7”).
Ab diesem Zeitpunkt kann der Temporary Key (Kixt) auf dem Central-Device generiert werden, da diesem nun die MAC-Adresse des Peripheral-Device bekannt ist. Zum besseren Verständnis wird dies in der Phase 2 Step 1 weiter unten beschrieben, da diese Phasenabfolge dem Standard entspricht.From this point on, the temporary key (Kixt) can be generated on the central device, as it now knows the MAC address of the peripheral device. For better understanding, this is described in
Auf dem Peripheral-Device kann der Temporary Key (Kixt) hingegen zu jedem Zeitpunkt im Prozess generiert werden, also z.B. bereits unmittelbar nach dem Hochfahren, da dem PD seine eigene MAC-Adresse selbstverständlich bekannt ist und das PD hierzu keine Informationen vom dem CD benötigt.On the peripheral device, however, the temporary key (Kixt) can be generated at any time during the process, e.g. immediately after booting, since the PD naturally knows its own MAC address and does not require any information from the CD for this purpose.
Phase 1: Pairing Feature Exchange 8Phase 1: Pairing
In Phase 1 erfolgt ein Pairing-Feature-Exchange 8. Dieser Schritt dient dem Austausch folgender Informationen:
- • IO-Fähigkeiten: Fähigkeiten, die aussagen, auf welcher Seite eine Eingabe- und/oder Ausgabemöglichkeit vorhanden ist (vgl. BT-Standard);
- • Verfügbarkeit von Out-of-Band-Authentifizierungsdaten;
- • Authentifizierungsanforderungen - Sicherheitsanforderungen des GAP an den Kommunikations-Kanal;
- • Schlüsselgrößenanforderungen - unterstützte Schlüssellängen (zwischen 56 und 128 Bit);
- • die zu verteilenden transportspezifischen Schlüssel, also welche Schlüssel in
Phase 2/3 ausgetauscht werden müssen.
- • IO capabilities: Capabilities that indicate on which side an input and/or output option is available (cf. BT standard);
- • Availability of out-of-band authentication data;
- • Authentication requirements - GAP security requirements for the communication channel;
- • Key size requirements - supported key lengths (between 56 and 128 bits);
- • the transport-specific keys to be distributed, i.e. which keys must be exchanged in
phase 2/3.
Die ausgetauschten Informationen, wie die IO-Fähigkeiten, die Verfügbarkeit von OOB-Authentifizierungsdaten und die Authentifizierungsanforderungen, werden zur Bestimmung der in Phase 2 verwendeten Schlüsselgenerierungsmethode verwendet.The exchanged information, such as IO capabilities, availability of OOB authentication data, and authentication requirements, is used to determine the key generation method used in
Phase 2: Key Generation 9Phase 2:
Beide Geräte leiten aus den in Phase 1 ausgetauschten „Pairing Feature Exchange Informationen“ ab, welches Authentifizierungsverfahren und welches Assoziations-Modell verwendet wird (siehe oben).Both devices derive from the “Pairing Feature Exchange Information” exchanged in
Phase 2 Step 1
Nach dem Stand der Technik (BLE-Standard) wird in Phase 2 Step 1 zunächst ein gemeinsamer Temporary Key (Kixt) ausgetauscht. Der Austausch des Temporary Key (Kixt) entfällt aber mit der Erfindung, die diesen Verfahrensschritt ersetzt. Erfindungsgemäß erfolgt demnach die sichere Generierung des Initialisierungs-Keys (Kixt) in Phase 2 Step 1 in folgender Weise:
- • Die Generierung des Kixt erfolgt auf beiden Seiten (also auf dem Peripheral-Device und auf dem Central-Device) mit dem gleichen Generierungs-Algorithmus (siehe unten). Der Generierungs-Algorithmus muss dabei beiden Geräten bekannt sein.
- • Der Algorithmus zur Generierung des Kixt wird dabei nicht offengelegt.
- • Ist der Generierungs-Algorithmus nur einer Partei (meist der Partei, die das PD herstellt oder den Code erstellt und einprogrammiert, sehr selten des CD) bekannt, so kann diese Partei der anderen Partei zur Kixt-Generierung eine Library zur Verfügung stellen, damit der Generierungs-Algorithmus nicht allgemein und für dritte Geräte oder Personen offengelegt werden muss. Die Library wird dann im Rahmen der Programmierung der Geräte fest (meist statisch, seltener dynamisch) mit in den Code eingebunden. Eine Library sollte aber die Ausnahme sein, da der Generierungs-Algorithmus einfacher reproduziert werden kann und deshalb unsicherer ist. Dies liegt in der Verantwortung des Entwicklers. Die Library darf Dritten nicht zugänglich sein.
- • Aufgrund der automatischen Generierung des Kixt auf beiden Geräten muss der Kixt nicht vom einen Gerät auf das andere übertragen werden. Daher besteht ein Schutz gegen passives Abhören sowie aktives Abhören (MITM).
- • Der Kixt leitet sich von der MAC-Adresse des Peripheral-Device ab.
- • Abhängig von der benötigten Kixt-Länge wird die MAC-Adresse verlängert.
- • Abhängig vom Sicherheits-Level kann zur Generierung zusätzlich oder alternativ zum Hash-Wert ein Hash-, ein Verschleierungs-, ein symmetrischer Verschlüsselungs- oder ein anderer Algorithmus oder eine Kombination der Algorithmen verwendet werden. Meist ist ein einfacher Verschleierungs-Algorithmus ausreichend, da es sich beim Kixt nur um den Initialisierungs-Schlüssel handelt, der in diesem Verfahren gar nicht übertragen werden muss.
- • Die Stärke des Kixt-Schlüssels ist so stark wie der Generierungs-Algorithmus, der in den verwendeten Geräten implementiert ist.
- • The Kixt is generated on both sides (i.e., on the peripheral device and on the central device) using the same generation algorithm (see below). The generation algorithm must be known to both devices.
- • The algorithm for generating the Kixt is not disclosed.
- • If the generation algorithm is known to only one party (usually the party that manufactures the PD or creates and programs the code, very rarely the CD), this party can provide the other party with a library for Kixt generation so that the generation algorithm does not have to be disclosed generally to third parties or devices. The library is then permanently integrated into the code as part of the device programming (usually statically, rarely dynamically). However, a library should be the exception, as the generation algorithm can be reproduced more easily and is therefore less secure. This is the responsibility of the developer. The library must not be accessible to third parties.
- • Because the Kixt is automatically generated on both devices, it doesn't need to be transferred from one device to the other. This provides protection against both passive eavesdropping and active eavesdropping (MITM).
- • The Kixt is derived from the MAC address of the peripheral device.
- • Depending on the required Kixt length, the MAC address is extended.
- • Depending on the security level, a hash, obfuscation, symmetric encryption, or other algorithm, or a combination of algorithms, can be used in addition to or as an alternative to the hash value. A simple obfuscation algorithm is usually sufficient, since the Kixt is only the initialization key, which does not need to be transmitted in this process.
- • The strength of the Kixt key is as strong as the generation algorithm implemented in the devices used.
Phase 2 Step 2
In diesem Verfahrensschritt 10 werden die weiteren Schlüssel generiert, die für den Pairing-Prozess erforderlich sind. Die Generierung der weiteren Schlüssel ist hierbei abhängig vom verwendeten Authentifizierungsverfahren.In this
Abhängig vom verwendeten Authentifizierungsverfahren LE Legacy Pairing oder LE Secure Connections Pairing unterscheidet sich die weitere Schlüsselgenerierung in Phase 2 und Phase 3. Dies ist dem Fachmann bekannt (vgl. BT-Standard):
- • Der STK, der in
Phase 2 bei Verwendung von LE Legacy Pairing erzeugt wird, oder - • der in
Phase 2 und 3 erzeugte LTK bei Verwendung von LE Secure Connections oder - • der gemeinsame Verbindungsschlüssel, der mit Hilfe der BR/EDR-Kopplung erzeugt wurde (vgl. BT-Standard).
- • The STK generated in
Phase 2 when using LE Legacy Pairing, or - • the LTK generated in
2 and 3 when using LE Secure Connections orphases - • the common connection key generated using the BR/EDR coupling (see BT standard).
Am Ende der Phase 2 oder 3 werden die generierten Schlüssel jeweils auf beiden Seiten durch Übertragung von Confirm-Key-Daten auf Übereinstimmung miteinander verglichen.At the end of
Wenn die Confirm-Key-Daten nicht auf beiden Seiten übereinstimmen, wird der Kopplungsvorgang abgebrochen und das entsprechende Gerät sendet den Befehl „Pairing Failed“ (Kopplung fehlgeschlagen) mit dem Fehlercode (reason code) „Confirm Value Failed“ (Wert nicht bestätigt).If the Confirm Key data does not match on both sides, the pairing process is aborted and the corresponding device sends the command “Pairing Failed” with the error code “Confirm Value Failed”.
Phase 3
Phase 3 Key Distribution 11 kann dann optional durchgeführt werden, um transportspezifische Schlüssel zu verteilen, z. B. den Wert des Identity Resolving Key (IRK) und die Identitäts-Adress-Informationen. Phase 1 und Phase 3 sind identisch, unabhängig von der Methode, die in Phase 2 angewandt wird.
Generierung des Initialisierungs-Schlüssels KixtGeneration of the initialization key Kixt
Im Folgenden wird die erfindungsgemäße Generierung des Kixt näher erläutert. Wie oben beschrieben, wird der Kixt für beide Devices von der MAC-Adresse des Peripheral Device abgeleitet. Meist wird die Random-Static-MAC-Adresse oder von die Public-MAC-Adresse, in selten Fällen wird auch eine andere Geräteadresse, des Peripheral Device verwendet. Eine Übersicht der von BLE verwendeten Geräteadresse zeigt
Zusätzlich zum Device_Name des PD kann der optional in den Advertise-Daten (Schritt 1) enthaltene 1 bis n Bytes lange Random-Start-Hash-Wert in die Generierung des Kixt eingehen.In addition to the Device_Name of the PD, the 1 to n byte long random start hash value optionally contained in the advertise data (step 1) can be included in the generation of the Kixt.
Abhängig vom Sicherheits-Level kann zur Generierung des Kixt zusätzlich oder alternativ zum Hash-Wert ein Verschleierungs-Algorithmus, ein symmetrischer Verschlüsselungs-Algorithmus oder ein anderer Algorithmus oder eine Kombination der Algorithmen verwendet werden. In diesem Fall sollte zur Generierung des Kixt zuerst ein Verschleierungs- und dann ein symmetrischer Verschlüsselungs-Algorithmus verwendet werden. In Ausnahmefällen, bei denen keine entsprechende Sicherheit benötigt wird, kann aber auch nur einer der beiden Algorithmen verwendet werden.Depending on the security level, the Kixt can be generated in addition to or alternatively to An obfuscation algorithm, a symmetric encryption algorithm, or another algorithm, or a combination of algorithms, can be used to generate the hash value. In this case, an obfuscation algorithm should be used first to generate the Kixt, followed by a symmetric encryption algorithm. However, in exceptional cases where appropriate security is not required, only one of the two algorithms can be used.
Wichtig ist, dass die App des Telekommunikationsgeräts CD und/oder PD vor dem Auslesen gesichert ist. Für die Mikrocontroller (MCU) des CD und/oder PD gilt dies auch, es muss also ein MCU-Flash-Schutz vorliegen.It is important that the app on the CD and/or PD telecommunications device is protected from being read. This also applies to the CD and/or PD microcontrollers (MCUs); therefore, MCU flash protection is required.
Derartige Algorithmen sind dem Fachmann bekannt und müssen hier nicht näher beschrieben werden.Such algorithms are known to those skilled in the art and need not be described in detail here.
Bei der Generierung des Kixt gilt es darauf zu achten, dass bei der Übertragung der Confirm-Key-Daten zum Abgleich der Schlüssel von der jeweils anderen Partei kein Rückschluss auf die verwendeten Generierungs-Algorithmen des Kixt gezogen werden kann.When generating the Kixt, it is important to ensure that when transmitting the confirm key data for key comparison, the other party cannot draw any conclusions about the Kixt generation algorithms used.
Im nächsten Schritt wird der Kixt als Initialisierungs-Schlüssel für die Berechnung des Short-/Long-Term-Key verwendet.In the next step, the Kixt is used as an initialization key for calculating the short/long-term key.
Genauere Beschreibung der Berechnung des Short-/Long-Term-Key siehe Bluetooth Core Specification „LE legacy pairing phase 2“ und „LE Secure Connections pairing phase 2“.For a more detailed description of the calculation of the short/long-term key, see Bluetooth Core Specification “LE
Bei der Generierung des Kixt muss nur eine Richtung - nämlich die Kodierung - implementiert werden. Die Dekodierung kann entfallen, da auf beiden Seiten der derselbe Kixt weiterverwendet wird, also symmetrisch verschlüsselt wird.When generating the Kixt, only one direction—encoding—needs to be implemented. Decoding is unnecessary because the same Kixt is reused on both sides, i.e., it is encrypted symmetrically.
Geeignete Verschlüsselungs-Algorithmen sind in der Bluetooth Core Specification an einigen Stellen beschrieben (vgl z.B. BT-Standard CRYPTOGRAPHIC TOOLBOX).Suitable encryption algorithms are described in some places in the Bluetooth Core Specification (see, for example, BT Standard CRYPTOGRAPHIC TOOLBOX).
Hash-Wert und SonderfälleHash value and special cases
Es gibt zwei Sonderfälle, nämlich 0x00 und 0xFF, bei denen die nachfolgenden Operationen so keine Wirkung haben und die deshalb durch spezielle Hash-Werte extra initialisiert werden müssen. Der Hash-Wert für jedes Byte der Sonderfälle muss abhängig von der Byte-Position und dem Start-Wert unterschiedlich sein. Hiermit soll verhindert werden, dass durch Iteration der MAC-Adresse der Algorithmus nicht reproduziert werden kann.There are two special cases, namely 0x00 and 0xFF, where the subsequent operations have no effect and therefore must be initialized with special hash values. The hash value for each byte in the special cases must be different depending on the byte position and the starting value. This is intended to prevent the algorithm from being reproduced by iterating the MAC address.
Dies kann durch Übertragung eines meist ein oder zwei (bzw. in Ausnahmefällen n) Bytes langen Random-Start-Hash-Werts vom Peripheral-Device 4 zum Central-Device im Advertise-Pair-Mode 5 erreicht werden. Der Random-Start-Hash-Wert auf dem Peripheral-Device muss persistent gespeichert werden. Bei jeder neuen Kopplung muss ein neuer Random-Wert generiert werden. Dieser Wert muss sich von den vorherigen Werten unterscheiden.This can be achieved by transmitting a random start hash value, usually one or two bytes (or, in exceptional cases, n bytes), from the
Der Random-Start-Hash-Wert dient als Startwert zur Berechnung der Sonderfälle. Jeder Sonderfall wird mit dem entsprechend berechneten Wert ersetzt. Für alle Bytes der Sonderfälle muss dann die folgende Berechnung und Ersetzung durchgeführt werden.The random start hash value serves as the starting value for calculating the special cases. Each special case is replaced with the corresponding calculated value. The following calculation and replacement must then be performed for all bytes of the special cases.
Der Random-Start-Hash-Wert kann auch mit der Quersumme der MAC-Addresse durch Modulo-Schlüsselgröße berechnet werden. Dies ist aber nicht so sicher wie der übertragene Wert.The random start hash value can also be calculated using the checksum of the MAC address modulo the key size. However, this is not as secure as the transmitted value.
Der Hash-Wert kann entweder in einer Tabelle gespeichert sein oder wird durch ein entsprechendes Polynom berechnet.
VerschleierungConcealment
Bei der Verschleierung ist wichtig, dass nach der Verschleierung kein Rückschluss auf die anfängliche MAC-Adresse des Peripheral-Devices gezogen werden kann.When obfuscating, it is important that after obfuscation, no conclusions can be drawn about the initial MAC address of the peripheral device.
Die MAC-Adresse sollte bei der Generierung von Kixt auf die unterstützte Schlüssellängen erweitert werden.The MAC address should be extended to the supported key lengths when generating Kixt.
Es gibt 2 Sonderfälle, nämlich 0x00 und 0xFF, bei denen die nachfolgenden Operationen so keine Wirkung haben und die diese deshalb durch spezielle Hash-Werte extra initialisiert werden müssen. Der Hash-Wert für jedes Byte der Sonderfälle muss abhängig von der Byte-Position und dem Start-Wert unterschiedlich sein. Hiermit soll verhindert werden, dass durch Iteration der MAC-Adresse der Algorithmus nicht reproduziert werden kann.There are two special cases, namely 0x00 and 0xFF, where the subsequent operations have no effect and therefore must be initialized with special hash values. The hash value for each byte in the special cases must be different depending on the byte position and the starting value. This is intended to prevent the algorithm from being reproduced by iterating the MAC address.
Folgende Möglichkeiten stehen zur Verschleierung zur Verfügung (dies ist nur ein kleiner Ausschnitt):
- • 1. Exchange (x): Vertauschung der ursprünglichen Byte-Reihenfolge
- • 2. Exchange Nibble (n): Vertauschung Low- und High-Nibble (Halbbyte vertauschen)
- • 3. Rotate (rx/lx): Bit-Rotationen durch Shift-Operation um n-Stellen in einem Byte entweder nach links oder rechts
- • 4. Hash-Wert (h): Verwendung einer Hash-Wert-Berechnung
- • 5. Algorithmus (a): Verwendung von unterschiedlichen Verschleierungs-Algorithmen abhängig
- • 6. Andere Bit-Operationen sowie Kombination(en) der zuvor genannten Möglichkeiten
- • 1. Exchange (x): Exchange of the original byte order
- • 2. Exchange Nibble (n): Swap low and high nibble (swap halfbytes)
- • 3. Rotate (rx/lx): Bit rotations by shift operation by n positions in a byte either to the left or right
- • 4. Hash value (h): Using a hash value calculation
- • 5. Algorithm (a): Use of different obfuscation algorithms depending
- • 6. Other bit operations and combination(s) of the previously mentioned possibilities
Einfaches Übersichts-Beispiel zu Punkt 6 für eine Schlüssellängen von 128 Bit (16 Byte) für Kixt.Simple overview example for
Die ersten 6 Bytes werden durch Vertauschung der Byte-Reihenfolge und Vertauschung des Low- und High-Nibbles von jedem Byte erstellt. Die nächsten 6 Bytes werden durch Bit-Rotieren der einzelnen Bytes generiert und die restlichen 4 Bytes durch Vertauschung des Low- und High-Nibbles ab dem Byte-Offset 2.The first 6 bytes are created by swapping the byte order and swapping the low and high nibbles of each byte. The next 6 bytes are generated by bit rotating the individual bytes, and the remaining 4 bytes are generated by swapping the low and high nibbles starting at byte offset 2.
Komplexeres Übersichts-Beispiel zu Punkt 6 für eine Schlüssellänge von 128 Bit (16 Byte) für Kixt.More complex overview example for
Gemischte Anwendung der Schritte 1-4, d. h. Vertauschen der Byte-Reihenfolge (Operation (Op.) 1), Vertauschen des Low- und High-Nibbles sowie Bit-Rotation durch Shift-Operation um n-Stellen in unterschiedliche Richtung in einem Byte (Op. 2+3) und Verwendung von 2 Bytes Hash-Wert.Mixed application of steps 1-4, i.e. swapping the byte order (Operation (Op.) 1), swapping the low and high nibbles and bit rotation by shift operation by n places in different directions in a byte (Op. 2+3) and use of 2 bytes hash value.
Derartige Verschleierung-Algorithmen sind dem Fachmann bekannt und müssen hier nicht näher beschrieben werden.Such obfuscation algorithms are known to those skilled in the art and need not be described in detail here.
Symmetrische VerschlüsselungSymmetric encryption
Quelle:
Quelle:
Die symmetrische Verschlüsselung wird auch als Secret-Key-Verfahren bezeichnet. Es basiert auf einer mathematischen Funktion, die einen Klartext in Abhängigkeit eines Schlüssels (digitaler Code) in einen Geheimtext umwandelt.Symmetric encryption is also known as secret-key encryption. It is based on a mathematical function that converts plaintext into ciphertext based on a key (digital code).
Symmetrische Verschlüsselung - hier sind bereits einige Verfahren genormt.Symmetric encryption – some methods have already been standardized.
Beispiel: DES (Data Encryption Standard), Triple-DES (auch als TDES, 3DES oder DESede bezeichnet), AES (Advanced Encryption Standard), IDEA (International Data Encryption Algorithm), Blowfish, Twofish, CAST-128, CAST-256, Fox und so weiter.Example: DES (Data Encryption Standard), Triple-DES (also known as TDES, 3DES or DESede), AES (Advanced Encryption Standard), IDEA (International Data Encryption Algorithm), Blowfish, Twofish, CAST-128, CAST-256, Fox and so on.
Arten von Bluetooth-MAC-AdressenTypes of Bluetooth MAC addresses
- • Public MAC Address (PMA) / öffentliche MAC-Adresse:
- Dies ist eine globale, feste Adresse. Sie muss bei der IEEE Registration Authority registriert werden und ändert sich während der Lebensdauer des Geräts nicht. Die PMA ist in zwei Teile aufgeteilt:
- Ein fester Teil (24 Bit), der öffentlich ist und von IEEE Standards
- Association fest vergeben wird. Dieser Teil sollte nicht zur Polynom-Generierung verwendet werden.
- Der „Company Assigned“ Teil (PMA-CA - 24 Bit) ist dynamisch und kann zur Berechnung des Kixt verwendet werden. Zur Generierung des Ziel-Polynoms stehen hier 24 Bits, das entspricht 3 Bytes, zur Verfügung;
das sind 224 Möglichkeiten und entspricht 16.777.216 unterschiedlichen Adressen. - Die Bit-Reihenfolge ist im Little-Endian-Format - siehe BT Core Specification. Das Verfahren kann für die folgenden Fälle angewendet werden:
- • Es kann für beide Authentifizierungsverfahren (Legacy-Authentifizierung und sichere Authentifizierung) angewendet werden.
- • Es kann außerdem für alle vier oben genannten Assoziations-Modelle (Just Works, Numeric Comparison, Out of Band und Passkey Entry) angewendet werden. (Vol. 1, Part A 5.2.4 Association models, S. 270).
- Dies ist eine globale, feste Adresse. Sie muss bei der IEEE Registration Authority registriert werden und ändert sich während der Lebensdauer des Geräts nicht. Die PMA ist in zwei Teile aufgeteilt:
- • Random Static MAC Address (RSMA) / zufällige statische MAC-Adresse:
- Eine zufällige statische Adresse ist einfach eine Zufallszahl, die entweder bei jedem Hochfahren des Geräts generiert werden kann oder während der gesamten Lebensdauer des Geräts gleich bleibt Sie kann jedoch nicht innerhalb eines einzigen Einschaltzyklus des Geräts geändert werden.
- Diese Adresse ist die Default-MAC-Adresse beim Pairing. Zur Generierung eines Ziel-Polynoms stehen hier 48 Bits, das entspricht 6 Bytes, zur Verfügung.
Das sind 248 Möglichkeiten und entspricht 281.474.976.710.656 unterschiedlichen Adressen.
- • Private Resolvable MAC Address / Private auflösbare MAC-Adresse:
- Diese werden aus einem Identity Resolving Key (IRK) und einer Zufallszahl generiert und können oft geändert werden (sogar während der Lebensdauer einer Verbindung), um zu vermeiden, dass das Gerät von einem unbekannten Scangerät identifiziert und verfolgt wird. Nur Geräte, die über den vom Gerät verteilten IRK verfügen, der eine private, auflösbare Adresse verwendet, können diese Adresse tatsächlich auflösen, wodurch sie das Gerät identifizieren können.
- • Private Non-Resolvable MAC Address / Private, nicht auflösbare MAC-Adresse:
- Solche MAC-Adressen werden nicht sehr häufig verwendet. Es handelt sich dabei um eine Zufallszahl, die jederzeit geändert werden kann.
- • Public MAC Address (PMA):
- This is a global, fixed address. It must be registered with the IEEE Registration Authority and does not change during the lifetime of the device. The PMA is divided into two parts:
- A fixed part (24 bits) that is public and defined by IEEE Standards
- Association is assigned a fixed value. This part should not be used for polynomial generation.
- The "Company Assigned" part (PMA-CA - 24 bits) is dynamic and can be used to calculate the Kixt. 24 bits, corresponding to 3 bytes, are available to generate the target polynomial; this is 224 possibilities and corresponds to 16,777,216 different addresses.
- The bit order is in little-endian format - see BT Core Specification. This method can be used for the following cases:
- • It can be applied to both authentication methods (legacy authentication and secure authentication).
- • It can also be applied to all four association models mentioned above (Just Works, Numeric Comparison, Out of Band, and Passkey Entry). (Vol. 1, Part A 5.2.4 Association models, p. 270).
- This is a global, fixed address. It must be registered with the IEEE Registration Authority and does not change during the lifetime of the device. The PMA is divided into two parts:
- • Random Static MAC Address (RSMA) / random static MAC address:
- A random static address is simply a random number that can either be generated every time the device boots up or remain the same throughout the device's lifetime. However, it cannot be changed within a single power-on cycle of the device.
- This address is the default MAC address during pairing. 48 bits, or 6 bytes, are available to generate a target polynomial. This is 248 possible addresses and corresponds to 281,474,976,710,656 different addresses.
- • Private Resolvable MAC Address:
- These are generated from an Identity Resolving Key (IRK) and a random number and can be changed frequently (even during the lifetime of a connection) to prevent the device from being identified and tracked by an unknown scanning device. Only devices that have the IRK distributed by the device, which uses a private, resolvable address, can actually resolve this address, allowing them to identify the device.
- • Private Non-Resolvable MAC Address:
- Such MAC addresses are not used very frequently. They are a random number that can be changed at any time.
In einer Variante, die in
Das in dem Initiating-Zustand 7 vom CD gesendete Signal CONNECT_IND umfasst neben der MAC-Adresse des CD die MAC-Adresse des PD, die das CD z.B. über das ADV_xxx-Signal empfangen hat.The CONNECT_IND signal sent by the CD in initiating
Anwendungsbeispiel GaragentorsteuerungApplication example: garage door control
Ein Anwendungsbeispiel der Erfindung ist die Steuerung der Öffnung und Schließung eines Garagentors (DoorCtrl) durch ein portables Endgerät (z.B. Handy) via BLE-Verbindung. Meist werden mehrere Handys (Central-Devices) mit einem DoorCtrl-Device (Peripheral-Device) gekoppelt, sodass mehrere Personen dasselbe Garagentor öffnen oder schließen können. Der folgende Abschnitt soll den obigen Ablauf an einem realen Beispiel beschreiben.One application example of the invention is controlling the opening and closing of a garage door (DoorCtrl) using a portable device (e.g., a mobile phone) via a BLE connection. Typically, several mobile phones (central devices) are paired with a DoorCtrl device (peripheral device), allowing multiple people to open or close the same garage door. The following section describes the above process using a real-life example.
Peripheral Advertiser Adv_Norm 1
Dieser Verfahrensschritt ist der normale Zustand eines Peripheral Device, das nicht mit einem Central Device verbunden ist. Nach dem Start des Peripheral-Device wechselt das Peripheral Device vom Standby-Zustand in den Advertising-Zustand 1 (Adv_Norm). In diesem Zustand wird in jedem Intervall von ca. 2000ms auf den 3 Advertise-Kanälen kurz ein Advertise-Signal (ADV_IND) ohne zusätzliche Advertise-Daten gesendet. In diesem Zustand wird darauf geachtet, dass das DoorCtrl-Device nicht mehr von außen sichtbar ist und somit auch keine ungewollten Kopplungsversuche gestartet werden können. Dieser Zustand wird so lange ausgeführt, bis eines der folgenden externen Benutzer-Events auftritt:
- Fall 1: Ein bereits zuvor mit dem DoorCtrl-Device gekoppeltes Handy baut eine Verbindung zum DoorCtrl-Device auf, um dieses zu steuern (Öffnen/Schließen). Dieser Fall wird fast immer ausgeführt, eben dann, wenn das Handy und das DoorCtrl-Device bereits miteinander gepaart wurden und gebonded sind. Die folgenden Schritte werden dann nicht durchgeführt. Die Steuerung (Öffnen/Schließen des Garagentors) kann unmittelbar erfolgen.
- Fall 2: Nicht gekoppeltes Handy (Central Device) führt eine Kopplung/Paarung mit dem DoorCtrl-Device des Garagentors durch. Das erfindungsgemäße Verfahren wird im Folgenden angewandt.
- Case 1: A mobile phone that has already been paired with the DoorCtrl device establishes a connection to the DoorCtrl device to control it (opening/closing). This case almost always occurs, especially if the mobile phone and the DoorCtrl device have already been paired and bonded. The following steps are then not performed. Control (opening/closing the garage door) can take place immediately.
- Case 2: An unpaired mobile phone (central device) performs a pairing with the garage door's DoorCtrl device. The method according to the invention is applied below.
Nach Empfang des Advertise-Signals ADV_IND (Adv_Pair 4) kann das Handy (Central Device) in den Scan-Zustand-Modus versetzt werden. Nachdem beim Handy die Kopplung gestartet wird, wechselt dieses in den Scan-Zustand 5.After receiving the advertise signal ADV_IND (Adv_Pair 4), the mobile phone (central device) can be put into scan mode. After pairing is initiated, the mobile phone switches to scan
Damit sichergestellt ist, dass kein fremdes Handy eine Verbindung zum DoorCtrl-Device (PD) herstellen kann, wird das DoorCtrl-Device seinerseits nur zu dem Zeitpunkt, an dem gezielt durch einen Benutzer ein Pairing/Bonding ausgeführt werden soll, in den Advertise-Pair-Mode (Adv_Pair 4) umgeschaltet.To ensure that no other mobile phone can establish a connection to the DoorCtrl device (PD), the DoorCtrl device is only switched to Advertise Pair Mode (Adv_Pair 4) at the time when a user specifically wants to perform pairing/bonding.
Dies erfolgt nach Betätigung des Kopplungs-Tasters (User Event 2) durch den Benutzer. Der Kopplungstaster befindet sich am DoorCtrl-Device (PD). Nach diesem externen Benutzer-Event wechselt das DoorCtrl-Device also in den Advertiser Adv_Pair 4 Zustand. This occurs after the user presses the pairing button (User Event 2). The pairing button is located on the DoorCtrl device (PD). Following this external user event, the DoorCtrl device switches to the
Peripheral Advertiser Adv_Pair 4
Im Advertise-Pair-Mode wird das DoorCtrl-Device in kurzen Intervallen nach außen sichtbar gemacht. Ab diesem Zeitpunkt wird in den Advertise-Daten (ADV_IND) auch der Device-Name (DevName, z.B. DoorCtrl) gesendet. Mit diesem Device-Namen kann das Handy erkennen, ob ihm der Algorithmus zur „Sicheren Generierung des Initialisierungs-Keys (Kixt)“ bekannt ist.In Advertise Pair mode, the DoorCtrl device is made visible to the outside world at short intervals. From this point on, the device name (DevName, e.g., DoorCtrl) is also sent in the advertise data (ADV_IND). Using this device name, the mobile phone can determine whether it knows the algorithm for "Secure Initialization Key Generation (Kixt)."
Für das Bonding wird innerhalb eines begrenzten Zeitraums von ca. 5 Sekunden in kurzen Advertise-Intervallen (beispielsweise ca. 25ms) auf den drei Advertise-Kanälen ein Advertise-Signal mit zusätzlichen Advertise-Daten, wie etwa dem DevName, gesendet.For bonding, an advertise signal with additional advertise data, such as the DevName, is sent on the three advertise channels within a limited period of approximately 5 seconds at short advertise intervals (e.g., approximately 25ms).
Central Scanner 5
In diesem Verfahrensschritt sucht das Handy durch einen Scanner nach dem DoorCtrl-Device, welches gekoppelt werden soll.In this step, the mobile phone uses a scanner to search for the DoorCtrl device that is to be paired.
Es startet das Scannen der aktuellen Bluetooth MAC-Adressen. Hierbei verwendet es einen Filter für den gesuchten Device-Namen (DevName) DoorCtrl, mit dem es sich koppeln möchte.It starts scanning the current Bluetooth MAC addresses. It uses a filter for the device name (DevName) DoorCtrl with which it wants to pair.
Mithilfe des Device-Namens DoorCtrl kann das Handy erkennen, ob ihm das DoorCtrl-Device bekannt ist und ob dieses denselben Algorithmus zur „Sicheren Generierung des Initialisierungs-Keys (Kixt)“ verwendet.Using the device name DoorCtrl, the mobile phone can detect whether it knows the DoorCtrl device and whether it uses the same algorithm for “Secure Generation of the Initialization Key (Kixt)”.
Wurde das DoorCtrl-Device gefunden, wird der Initialisierungs-Keys (Kixt) generiert. Danach wird ein Verbindungsaufbau 6 gestartet.Once the DoorCtrl device is found, the initialization key (Kixt) is generated. Afterward, a
Connection Established 7Connection Established 7
Sobald das DoorCtrl-Device ein gültiges Connection-Request-Paket (Connect_Ind; CONNECT_REQ) vom scannenden Handy erhält, wechseln beide Devices in den Zustand „Connection Established 7“. In diesem Zustand baut das Handy (Central-Device) eine Verbindung zum DoorCtrl-Device auf. Nachdem ein Connection-Request-Paket (CONNECT_REQ) vom Handy gesendet und vom DoorCtrl-Device empfangen wurde, gelten die beiden BLE-Geräte als verbunden.As soon as the DoorCtrl device receives a valid connection request packet (Connect_Ind; CONNECT_REQ) from the scanning mobile phone, both devices enter the "Connection Established 7" state. In this state, the mobile phone (central device) establishes a connection to the DoorCtrl device. After a connection request packet (CONNECT_REQ) has been sent from the mobile phone and received by the DoorCtrl device, the two BLE devices are considered connected.
Ab diesem Punkt entspricht der Ablauf dem BLE-Standard.From this point on, the process complies with the BLE standard.
Glossar/AbkürzungenGlossary/Abbreviations
- • Advertising: Aussenden von Informationen über die Bereitschaft zur Verbindung oder Kopplung mit einem anderen Gerät. Aussenden von Advertising-Botschaften, bei denen es sich um einfache periodische Ankündigungen / Anwesenheitsmitteilungen an andere Geräte handelt.• Advertising: Sending information about the readiness to connect or pair with another device. Sending advertising messages, which are simple periodic announcements/presence notifications to other devices.
- • ADV_xxx: Steht stellvertretend für folgende Advertise-PDU-Typen: ADV_IND, ADV_SCAN_IND, ADV_EXT_IND und weitere Advertise-PDU-Typen. In den meisten Fällen wird der Advertise-PDU-Typ ADV_IND verwendet.• ADV_xxx: Represents the following advertise PDU types: ADV_IND, ADV_SCAN_IND, ADV_EXT_IND, and other advertise PDU types. In most cases, the advertise PDU type ADV_IND is used.
- • Adv_Norm: Zustand des Peripheral Device, das nicht verbunden ist. Bei Adv_Norm werden nur die MAC-Adresse und der Header gesendet.• Adv_Norm: State of the peripheral device that is not connected. With Adv_Norm, only the MAC address and header are sent.
- • Adv_Pair: Advertise-Pair-Mode. Bei Adv_Pair werden die MAC-Adresse, der Header und der Device-Name gesendet und optional (Variante 2) zusätzlich ein Random-Start-Hash-Wert (RSHW) gesendet• Adv_Pair: Advertise-Pair mode. With Adv_Pair, the MAC address, the header, and the device name are sent, and optionally (variant 2) a random start hash value (RSHW) is also sent.
- • Bonding: Die Speicherung der beim Pairing erstellten Schlüssel zur Verwendung bei nachfolgenden Verbindungen, um ein vertrauenswürdiges Gerätepaar zu bilden.• Bonding: Storing the keys created during pairing for use in subsequent connections to form a trusted pair of devices.
- • BT: Bluetooth• BT: Bluetooth
- • BLE: Bluetooth Low Energy• BLE: Bluetooth Low Energy
- • B_KEY: Basis-Key• B_KEY: Base key
- • CD: Central Device, Zentralgerät• CD: Central Device
- • Device-Name: Der Device-Name oder eine eindeutige Device-ID (im Folgenden nur als Device-Name bezeichnet) identifiziert die Funktionalität des Peripheral-Device. Dieser wird von dem Entwickler des entsprechenden Peripheral-Device festgelegt.• Device name: The device name or a unique device ID (hereinafter referred to as the device name) identifies the functionality of the peripheral device. This is defined by the developer of the corresponding peripheral device.
- • FIPS: Federal Information Processing Standard• FIPS: Federal Information Processing Standard
- • Hash-Funktion: Eine Hash-Funktion ist eine Abbildung, die eine Eingabemenge, die Schlüssel, auf eine Zielmenge, die Hashwerte, abbildet. Die Zielmenge (z.B. 2 Bytes) kann größer als die Eingangs-Menge (z.B. 1 Byte) sein• Hash function: A hash function is a mapping that maps an input set, the keys, to a target set, the hash values. The target set (e.g., 2 bytes) can be larger than the input set (e.g., 1 byte).
- • IEEE: Institute of Electrical and Electronics Engineers• IEEE: Institute of Electrical and Electronics Engineers
- • IRK: Identity Resolving Key• IRK: Identity Resolving Key
- • Kixt: Key Init X (Short/Long) Term. Initialisierungsschlüssel für STK/LTK. Dieser ist gleichzusetzen mit dem übertragenen oder eingegebenen Schlüssel (siehe Assoziations-Modelle)• Kixt: Key Init X (Short/Long) Term. Initialization key for STK/LTK. This is equivalent to the transmitted or entered key (see association models).
- • LTK: Long Term Key• LTK: Long-Term Key
- • MAC: Kurz für Media Access Control(-Adresse)• MAC: Short for Media Access Control (address)
- • MCU: Microcontroller-Unit• MCU: Microcontroller Unit
- • MITM: Man-in-the-Middle-Angriffe• MITM: Man-in-the-Middle attacks
- • Nibble (Nippel): Vier Bits oder ein Halbbyte werden als Nibble bezeichnet• Nibble: Four bits or a half-byte are called a nibble
- • Octet: Ein Oktett besteht immer aus genau 8 Bit. 8 Bit „b“=1 Byte „B“=1 Oktett „O• Octet: An octet always consists of exactly 8 bits. 8 bits “b” = 1 byte “B” = 1 octet “O
- • Pairing: Der Prozess zur Erstellung eines oder mehrerer gemeinsamer geheimer Schlüssel.• Pairing: The process of creating one or more shared secret keys.
- • PD: Peripheral Device, Peripheriegerät• PD: Peripheral Device
- • PDU: Protocol data unit• PDU: Protocol data unit
- • Peer to peer: Das bedeutet, dass die Kommunikation direkt von einem Gerät zu einem anderen Gerät erfolgt, ohne den Umweg über einen dazwischengeschalteten Server• Peer to peer: This means that communication takes place directly from one device to another device, without going through an intermediate server
- • PMA: Public-MAC-Address• PMA: Public MAC Address
- • Random-Start-Hash-Wert (RSHW): Dieser kann die Sicherheit der Generierung des Kixt nochmals erhöhen.• Random start hash value (RSHW): This can further increase the security of the Kixt generation.
- • RSMA: Random-Static-MAC-Address (default MAC-Adresse beim Paring). Beim RSMA wird der „Random Part of Static Address“ zur Berechnung verwendet. Jeder Chip hat eine eigene MAC-Adresse. Zur Generierung eines Ziel-Polynoms stehen hier 48 Bits, das entspricht 6 Bytes, zur Verfügung. Das sind 248 Möglichkeiten und entspricht 281.474.976.710.656 unterschiedlichen Adressen.• RSMA: Random Static MAC Address (default MAC address during pairing). With RSMA, the "Random Part of Static Address" is used for calculations. Each chip has its own MAC address. 48 bits, or 6 bytes, are available to generate a target polynomial. This is 248 possibilities and corresponds to 281,474,976,710,656 different addresses.
- • Scanning: Empfangen von während des Advertising gesendeter Information.• Scanning: Receiving information sent during advertising.
- • STK: Short Term Key• STK: Short Term Key
- • TK: Temporary Key• TK: Temporary Key
Claims (22)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102023124254.7A DE102023124254B4 (en) | 2023-09-08 | 2023-09-08 | Method for pairing a first device with a second device |
PCT/EP2024/074862 WO2025051877A1 (en) | 2023-09-08 | 2024-09-05 | Method for pairing a first device with a second device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102023124254.7A DE102023124254B4 (en) | 2023-09-08 | 2023-09-08 | Method for pairing a first device with a second device |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102023124254A1 DE102023124254A1 (en) | 2025-03-13 |
DE102023124254B4 true DE102023124254B4 (en) | 2025-03-27 |
Family
ID=92708602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102023124254.7A Active DE102023124254B4 (en) | 2023-09-08 | 2023-09-08 | Method for pairing a first device with a second device |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102023124254B4 (en) |
WO (1) | WO2025051877A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150222517A1 (en) | 2014-02-05 | 2015-08-06 | Apple Inc. | Uniform communication protocols for communication between controllers and accessories |
US10299300B1 (en) | 2018-05-16 | 2019-05-21 | Bose Corporation | Secure systems and methods for establishing wireless audio sharing connection |
US20220322101A1 (en) | 2012-02-02 | 2022-10-06 | Tybalt, Llc | Sharing Resources Between Wireless Networks |
US20230041669A1 (en) | 2020-01-21 | 2023-02-09 | Huawei Technologies Co., Ltd. | Bluetooth connection method, system, and electronic device |
US20230052917A1 (en) | 2020-04-24 | 2023-02-16 | Huawei Technologies Co., Ltd. | Pairing method applied to short-range communication system and wireless device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107079273B (en) * | 2014-09-11 | 2020-05-29 | 诺基亚技术有限公司 | Communication between devices without establishing a persistent connection |
CN112469011A (en) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | Bluetooth pairing method and related device |
KR102814766B1 (en) * | 2019-09-11 | 2025-05-29 | 삼성전자주식회사 | Electronic device for receiving data packet in bluetooth network environment and method thereof |
US20210345105A1 (en) * | 2021-06-25 | 2021-11-04 | Intel Corporation | 4-way handshake optimization |
-
2023
- 2023-09-08 DE DE102023124254.7A patent/DE102023124254B4/en active Active
-
2024
- 2024-09-05 WO PCT/EP2024/074862 patent/WO2025051877A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220322101A1 (en) | 2012-02-02 | 2022-10-06 | Tybalt, Llc | Sharing Resources Between Wireless Networks |
US20150222517A1 (en) | 2014-02-05 | 2015-08-06 | Apple Inc. | Uniform communication protocols for communication between controllers and accessories |
US10299300B1 (en) | 2018-05-16 | 2019-05-21 | Bose Corporation | Secure systems and methods for establishing wireless audio sharing connection |
US20230041669A1 (en) | 2020-01-21 | 2023-02-09 | Huawei Technologies Co., Ltd. | Bluetooth connection method, system, and electronic device |
US20230052917A1 (en) | 2020-04-24 | 2023-02-16 | Huawei Technologies Co., Ltd. | Pairing method applied to short-range communication system and wireless device |
Non-Patent Citations (2)
Title |
---|
http://ddi.cs.uni-potsdam.de/Lehre/e-commerce/elBez2-5/page05.html (zuletzt aufgerufen am 16.08.2023 |
https://www.elektronik-kompendium.de/sites/net/1907041.htm (zuletzt aufgerufen am 16.08.2023 |
Also Published As
Publication number | Publication date |
---|---|
DE102023124254A1 (en) | 2025-03-13 |
WO2025051877A1 (en) | 2025-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69935590T2 (en) | AUTHENTICATION PROCESS AND CORRESPONDING SYSTEM TO A TELECOMMUNICATIONS NETWORK | |
DE60035953T2 (en) | RE-USE OF SAFETY RELATIONS TO IMPROVE THE IMPLEMENTATION OF A HANDOVER | |
DE60201522T2 (en) | ENABLE LEGAL CAPTURE OF IP CONNECTIONS | |
DE60029217T2 (en) | METHOD AND DEVICE FOR INITIALIZING SAFE CONNECTIONS BETWEEN AND BETWEEN ONLY CUSTOMIZED CORDLESS EQUIPMENT | |
DE60017292T2 (en) | Authentication method between a subscriber and a service provider that can be reached by a network operator by providing a secure channel | |
DE60121393T2 (en) | Key management method for wireless local area networks | |
DE69433509T2 (en) | METHOD AND DEVICE FOR SAFE IDENTIFICATION OF A MOBILE PARTICIPANT IN A COMMUNICATION NETWORK | |
DE60209858T2 (en) | Method and device for access control of a mobile terminal in a communication network | |
DE602004004844T2 (en) | Authenticating access to a wireless local area network based on security values associated with a cellular mobile radio system | |
DE60302882T2 (en) | SECURITY TRANSFER PROTOCOL FOR A MOBILITY IP NETWORK | |
EP1308017B1 (en) | Method of key exchange for a cryptographic secure point to multipoint connection | |
DE102006031870B4 (en) | Method and system for providing a Mobile IP key | |
DE102006038591A1 (en) | Method and device for providing a wireless mesh network | |
DE102009051383A1 (en) | Method and device for the secure transmission of data | |
DE60203277T2 (en) | METHOD AND SYSTEM FOR AUTHENTICATING A PERSONAL SECURITY DEVICE COMPRISING AT LEAST ONE REMOTE COMPUTER SYSTEM | |
DE102023124254B4 (en) | Method for pairing a first device with a second device | |
DE60224391T2 (en) | Secure access to a subscriber module | |
WO2022233806A1 (en) | Communication method for iot nodes or iot devices in a local network | |
EP1683324B1 (en) | Method for safeguarding data transmission between a first terminal and a first network and between a second terminal and a second network | |
DE102006036165B3 (en) | Method for establishing a secret key between two nodes in a communication network | |
DE102006040313B3 (en) | Local radio network i.e. wireless local area network, configuring method, involves transmitting parameter to install operating channel if terminal supports encoding, and closing transmission channel if terminal does not support encoding | |
DE102015106440A1 (en) | Method for addressing, key exchange and secure data transmission in communication systems | |
WO2007113073A1 (en) | Method for restoring an ipsec cryptographically secured connection between a p-cscf and a user unit | |
DE102021125836A1 (en) | COMPUTER NETWORK FOR SECURE IP-TO-NON-IP COMMUNICATIONS AND BACKEND DEVICE, GATEWAY, FRONTEND DEVICE THEREOF AND METHODS OF OPERATION THEREOF | |
WO2008058841A2 (en) | Bootstrapping method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division |