WO2021073300A1 - 一种蓝牙设备及其工作方法 - Google Patents
一种蓝牙设备及其工作方法 Download PDFInfo
- Publication number
- WO2021073300A1 WO2021073300A1 PCT/CN2020/113294 CN2020113294W WO2021073300A1 WO 2021073300 A1 WO2021073300 A1 WO 2021073300A1 CN 2020113294 W CN2020113294 W CN 2020113294W WO 2021073300 A1 WO2021073300 A1 WO 2021073300A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- application
- unit
- module
- authentication
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/108—Source integrity
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/11—Allocation or use of connection identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Definitions
- the invention relates to a Bluetooth device and a working method thereof, and belongs to the field of communication technology.
- the devices used for identity authentication include not only smart key devices, but also dynamic password devices, in order to ensure that only legitimate users can access the application system and use services.
- Dynamic password authentication has become the mainstream method of identity authentication technology, which is widely used in enterprises, online games, finance and other fields.
- the existing smart key device and dynamic password device are two independent devices, and the integration of the devices is poor, which reduces Resource utilization and user experience.
- the device when the device is used as a dynamic password device to establish a connection with the host computer, when the host computer detects that the device is a Bluetooth keyboard device, it will hide the virtual keyboard of its own system. Therefore, the device conflicts with the host computer keyboard, causing the user
- the dynamic password generated by the device cannot be input to the host computer; in addition, after the existing dynamic password is generated by the dynamic password device, the user needs to manually input the generated dynamic password into the host or terminal device for authentication.
- this method of manual input may have some problems, for example, manual input errors, slow manual input, etc., which may result in unsuccessful dynamic password authentication.
- the purpose of the present invention is to provide a Bluetooth device and a working method thereof, which can solve the problem of keyboard conflicts between the keyboard device and the upper computer, reduce the error rate of the dynamic password input by the user on the upper computer, and improve the security of identity authentication.
- a working method of a Bluetooth device including:
- Step S1 The device starts the first Bluetooth service and broadcasts that it is a Bluetooth non-keyboard device
- Step S2 when the device detects that the button is pressed, the first Bluetooth service is turned off, and step S3 is executed;
- Step S3 The device saves the current MAC address as the first MAC address, obtains the second MAC address, and sets the current MAC address as the second MAC address;
- Step S4 The device starts the second Bluetooth service and broadcasts that it declares itself as a Bluetooth keyboard device, waits for the receiving host computer to send a connection establishment instruction, connects when receiving the connection establishment instruction, and if the connection is successful, obtains the application ID of the dynamic password application. Select the dynamic password application according to the application ID;
- Step S5 the device obtains the dynamic password value through the dynamic password application, and sends the obtained dynamic password value to the host computer according to the Bluetooth keyboard protocol;
- Step S6 The device turns off the second Bluetooth service, obtains the stored first MAC address, sets the device's MAC address as the first MAC address, turns on the first Bluetooth service, and broadcasts that it is a Bluetooth non-keyboard device.
- the Bluetooth non-keyboard device is specifically an authentication device; before step S2, it further includes: the device waits to receive the connection establishment instruction sent by the host computer, connects when the connection establishment instruction is received, and selects the authentication application according to the application identifier if the connection is successful.
- the device selecting the authentication application according to the authentication application identifier is specifically: the device obtains the application identifier in the default settings, sends the application identifier to the secure chip in the device, and the secure chip selects the authentication application according to the application identifier; or,
- the device receives the application selection instruction issued by the host computer, and sends the application selection instruction to the security chip in the device.
- the security chip obtains the authentication application identifier according to the application selection instruction, and selects the authentication application according to the authentication application identifier.
- step S2 further includes: the device receives the data sent by the host computer, processes the received data through the security chip, and returns the processing result to the host computer.
- the device receives the data sent by the upper computer, and processing the received data through the security chip is specifically as follows: the device judges the type of data sent by the received upper computer;
- step 101 When the received data is registration request data, perform step 101, when the received data is authentication request data, perform step 103, and when the received data is other data, perform step 106;
- Step 101 The device parses the registration request data to obtain the first data and the second data, and generates a second key pair; the data to be encrypted is formed according to the private key of the second key pair and the first data, and the stored symmetric key is used for encryption
- the data is encrypted to obtain the key handle; the private key of the preset key pair is used to sign the saved certificate template content to obtain the signature value, and the authentication certificate is formed according to the signature value and the content of the certificate template; according to the first data, second data, and secret
- the key handle and the public key of the second key pair form the first data to be signed, and use the saved private key of the first key pair to sign the first data to be signed to obtain the first signature result;
- Step 102 The device composes the response data of the registration request data according to the second key pair, the key handle, the authentication certificate and the first signature result, and returns it to the upper computer;
- Step 103 The device parses the authentication request data to obtain the first parameter, the second parameter, and the key handle, and uses the stored symmetric key to decrypt the key handle to obtain the first decrypted data and the second decrypted data;
- Step 104 The device obtains the current number of authentications, composes second data to be signed according to the first parameter, the second parameter, and the number of authentications, and signs the second data to be signed using the second decrypted data to obtain a second signature result;
- Step 105 The device composes the response data of the authentication request data according to the authentication times and the second signature result, and returns it to the upper computer;
- Step 106 The device performs other corresponding operations and returns other corresponding response data to the host computer.
- step 104 further includes: judging whether the current user is legal according to the first parameter and the first decrypted data, if yes, execute step 104, otherwise, compose the response data of the authentication request data according to the preset error byte code and return it to the host computer .
- the method further includes: the device judges whether the received data is authentication data or registration data. If it is authentication data or registration data, the device returns the processing result to the host computer and shuts down. Otherwise, return to step S2.
- the device sends the acquired dynamic password value to the host computer according to the Bluetooth keyboard protocol, specifically: the device converts the acquired dynamic password value into Bluetooth keyboard virtual key information according to the Bluetooth keyboard protocol, and automatically sends the virtual key information in turn To the host computer.
- the device obtains the application identifier of the dynamic password application, and selects the dynamic password application according to the application identifier.
- the device receives an application selection instruction issued by the host computer, and sends the application selection instruction to the security chip in the device, and the security chip selects the application according to The instruction obtains the application identification, and selects the dynamic password application according to the application identification.
- the device detecting whether a button is pressed is specifically: the device determines whether the device has a button pressed by detecting whether the chip IO port has a trigger button signal.
- the device acquiring the second MAC address specifically includes: the device acquiring the current MAC address, and adding 1 to the last byte of the current MAC address to obtain the second MAC address.
- a Bluetooth device includes: an opening module, a declaration module, a detection module, a closing module, a setting module, a waiting and receiving module, a connection module, an acquisition module, an application selection module, and a sending module.
- an opening module includes: an opening module, a declaration module, a detection module, a closing module, a setting module, a waiting and receiving module, a connection module, an acquisition module, an application selection module, and a sending module.
- the turn-on module is used to turn on the first Bluetooth service and broadcast;
- the declaration module is used to declare that the Bluetooth device is a Bluetooth non-keyboard device
- the declaration module is also used to declare that the Bluetooth device is a Bluetooth keyboard device
- the detection module is used to detect whether the device key is pressed
- the shutdown module is used to shut down the first Bluetooth service when the detection module detects that the button is pressed;
- the closing module is also used to close the second Bluetooth service
- a setting module configured to save the current MAC address as the first MAC address, and set the current MAC address as the second MAC address;
- the obtaining module is also used to obtain the saved first MAC address
- the setting module is also used to set the MAC address of the device as the first MAC address, turn on the first Bluetooth service, and broadcast a statement that it is a Bluetooth non-keyboard device.
- the waiting and receiving module is used to wait and receive the connection establishment instruction sent by the upper computer
- connection module is used to connect when the waiting and receiving module receives a connection establishment instruction
- the obtaining module is also used to obtain the dynamic password value through the dynamic password application;
- the sending module is used to send the dynamic password value obtained by the acquisition module to the upper computer according to the Bluetooth keyboard protocol.
- the Bluetooth non-keyboard device is specifically an authentication device
- the declaration module declares that the Bluetooth device is a Bluetooth non-keyboard device, it also includes:
- the waiting and receiving module is specifically used to wait and receive the connection establishment instruction sent by the upper computer
- connection module is specifically used to connect when the waiting and receiving module receives a connection establishment instruction
- Selecting the application module is also used to select the authentication application based on the application identifier.
- the selection application module specifically includes: a first acquisition unit, a first selection unit; a second acquisition unit, and a second selection unit;
- the first obtaining unit is configured to obtain the application identifier in the default setting, and send the application identifier to the security chip in the device;
- the first selection unit is configured to select an authentication application according to the application identifier acquired by the first acquisition unit;
- the second obtaining unit is configured to receive the application selection instruction issued by the upper computer, and send the application selection instruction to the security chip in the device, and the security chip obtains the authentication application identifier according to the application selection instruction;
- the second selection unit is configured to select an authentication application according to the authentication application identifier acquired by the second acquisition unit.
- the waiting and receiving module is also used to receive the data sent by the upper computer, process the received data through the security chip, and return the processing result to the upper computer.
- the waiting and receiving module includes a first judging unit
- the first judging unit is used to judge the received data type sent by the upper computer
- the waiting and receiving module further includes: a first parsing unit, an encryption unit, a first signature unit, and a first component unit;
- the first parsing unit is configured to parse the registration request data to obtain the first data and the second data, and generate a second key pair;
- the first component unit is used to compose the data to be encrypted according to the private key of the second key pair and the first data
- the encryption unit is configured to use the stored symmetric key to encrypt the data to be encrypted formed by the first component unit to obtain the key handle;
- the first signature unit is configured to use the private key of the preset key pair to sign the stored certificate template content to obtain the signature value;
- the first component unit is also used to compose a certification certificate according to the signature value and the content of the certificate template;
- the first component unit is further configured to compose the first data to be signed according to the first data, the second data, the key handle, and the public key of the second key pair;
- the first signature unit is further configured to use the stored private key of the first key pair to sign the first data to be signed to obtain the first signature result;
- the first component unit is also used to compose the response data of the registration request data according to the second key pair, the key handle, the authentication certificate and the first signature result, and return it to the upper computer;
- the waiting and receiving module further includes: a second parsing unit, a decryption unit, a second signature unit, and a second component unit;
- the second parsing unit is used to parse the authentication request data to obtain the first parameter, the second parameter, and the key handle;
- the decryption unit is configured to decrypt the key handle using the stored symmetric key to obtain the first decrypted data and the second decrypted data;
- the second component unit is used to obtain the current number of authentication times, and form the second data to be signed according to the first parameter, the second parameter and the number of authentication times;
- the second signature unit is configured to use the second decrypted data to sign the second to-be-signed data to obtain the second signature result;
- the second component unit is used to compose the response data of the authentication request data according to the authentication times and the second signature result, and return it to the upper computer;
- the waiting and receiving module further includes: an execution unit;
- the execution unit is used to perform other corresponding operations and return other corresponding response data to the upper computer.
- the waiting and receiving module further includes: a judging subunit;
- the judging subunit is used to judge whether the current user is legal according to the first parameter and the first decrypted data
- the second component unit is also used for when the judging subunit judges that the current user is illegal, compose the response data of the authentication request data according to the preset error byte code, and return it to the upper computer.
- the waiting and receiving module is specifically configured to receive data sent by the host computer, and before processing the received data through the security chip, the waiting and receiving module further includes a second judgment unit;
- the second judgment unit is used to judge whether the received data is authentication data or registration data
- the waiting and receiving module further includes a closing unit;
- the shutdown unit is used to shut down the equipment after returning the processing result to the upper computer.
- the sending module includes a conversion unit and a sending unit;
- the conversion unit is used to convert the dynamic password value acquired by the acquisition module into the virtual key information of the Bluetooth keyboard according to the Bluetooth keyboard protocol;
- the sending unit is used for sequentially and automatically sending the virtual key information obtained by the conversion unit to the upper computer.
- the selecting application module includes: a third acquiring unit and a third selecting unit;
- the third obtaining unit is configured to receive the application selection instruction issued by the host computer, and send the application selection instruction to the security chip in the device, and the security chip obtains the application identifier according to the application selection instruction;
- the third selection unit is configured to select a dynamic password application according to the application identifier acquired by the third acquisition unit.
- the detection module is specifically configured to determine whether the device has a button pressed by detecting whether the chip IO port has a trigger key signal.
- the acquiring module when the acquiring module is used to acquire the second MAC address, the acquiring module is specifically configured to: acquire the current MAC address, and add 1 to the last byte of the current MAC address to obtain the second MAC address.
- the Bluetooth device can realize different device types by setting the device MAC address and broadcasting device type.
- the device When the device is used as a Bluetooth keyboard device, it can realize the function of dynamic password input.
- the device converts the acquired dynamic password value according to the Bluetooth keyboard protocol.
- the virtual key information of the Bluetooth keyboard is automatically sent to the upper computer in turn, and the device will automatically restore the device type, thereby solving the problem of keyboard conflicts between the keyboard device and the upper computer, and reducing the user’s experience on the upper computer.
- the error rate of entering dynamic passwords improves the security of identity authentication.
- FIG. 1 is a flowchart of a working method of a Bluetooth device according to Embodiment 1 of the present invention
- FIG. 2 is a flowchart of a working method of a Bluetooth device according to Embodiment 2 of the present invention
- Figure 3 is a flowchart of a method for a Bluetooth device to process received data according to Embodiment 2 of the present invention
- Fig. 4 is a schematic diagram of a Bluetooth device according to Embodiment 3 of the present invention.
- the Bluetooth device mentioned in the first embodiment can implement at least two application functions. Each application has a matching Bluetooth service. Multiple applications can share one Bluetooth service, or one application corresponds to one Bluetooth service.
- the applications proposed in this embodiment 1 include a first application and a dynamic password application.
- the Bluetooth service corresponding to the first application is the first Bluetooth service
- the Bluetooth service corresponding to the dynamic password application is the second Bluetooth service.
- Embodiment 1 of the present invention provides a working method of a Bluetooth device. As shown in FIG. 1, the method of Embodiment 1 includes:
- Step A Power on the device and initialize it
- the device peripherals and clock services can also be initialized.
- Step A2 The device starts the first Bluetooth service and broadcasts that it is a Bluetooth non-keyboard device
- Step A3 When the device detects that the button is pressed, it turns off the first Bluetooth service and executes step A4;
- the device determines whether the device has a button pressed by detecting whether the chip IO port has a trigger key signal.
- Step A4 The device saves the current MAC address as the first MAC address, obtains the second MAC address, and sets the current MAC address as the second MAC address;
- the device reads the MAC address stored in the register as the first MAC address
- the device acquiring the second MAC address specifically includes: the device modifies the first MAC address to the second MAC address;
- the device modifies the first MAC address to the second MAC address, specifically: the device adds 1 to the last byte of the read current MAC address, and the MAC address obtained by adding 1 is used as the second MAC address;
- the first MAC address is: ef:07:52:6a:5f:2c;
- the second MAC address is: ef:07:52:6a:5f:2d.
- Step A5. The device starts the second Bluetooth service and broadcasts that it declares itself as a Bluetooth keyboard device, waits for the receiving host computer to send a connection establishment instruction, and connects when receiving the connection establishment instruction. If the connection is successful, it obtains the application ID of the dynamic password application. Select the dynamic password application according to the application ID;
- the device specifically reads the stored application identifier of the dynamic password application through the register, for example, the application identifier of the dynamic password is: 2;
- the device selecting the dynamic password application according to the application identifier is specifically: the device sends an application selection instruction to the secure chip in the device, and the secure chip selects the corresponding application according to the application identifier in the instruction.
- Step A6 The device obtains the dynamic password value through the dynamic password application, and sends the obtained dynamic password value to the host computer according to the Bluetooth keyboard protocol;
- the acquired dynamic password value is sent to the host computer according to the Bluetooth keyboard protocol, specifically: the device converts the acquired dynamic password value into Bluetooth keyboard type virtual key information according to the Bluetooth keyboard protocol, and the virtual key information is sequentially Automatically sent to the host computer.
- Step A7 The device turns off the second Bluetooth service, obtains the saved first MAC address, sets the device's MAC address as the first MAC address, turns on the first Bluetooth service, and broadcasts that it is a Bluetooth non-keyboard device.
- the device specifically reads the stored first MAC address through the register
- the saved first MAC address is: ef:07:52:6a:5f:2c;
- the current MAC address is: ef:07:52:6a:5f:2d.
- the device after the device declares itself as a Bluetooth non-keyboard device, it also includes: the device waits to receive the connection establishment instruction sent by the host computer, and connects when the connection establishment instruction is received. If the connection is successful, the application is selected according to the application identifier. The connection timeout is closed;
- the method of selecting the application according to the application identifier includes: the device selects the application according to default settings, or the device selects the application according to the received application selection instruction issued by the terminal;
- the default setting includes the application identifier.
- the device selection application is specifically: the device sends an application selection instruction to the secure chip in the device, and the secure chip selects the corresponding application according to the application identifier in the instruction;
- the device when the device is successfully connected to the host computer as a Bluetooth non-keyboard device and the application is selected, it also includes: the device receives the data sent by the host computer, processes the received data through the security chip, and processes The result is returned to the host computer;
- the device receives the data sent by the upper computer, and processes the received data through the security chip: the device judges the type of data sent by the received upper computer;
- step a1 When the received data is registration request data, perform step a1, when the received data is authentication request data, perform step a3, and when the received data is other data, perform step a6;
- Step a1 The device parses the registration request data to obtain the first data and the second data, and generates a second key pair; the data to be encrypted is formed according to the private key of the second key pair and the first data, and the stored symmetric key is used for encryption
- the data is encrypted to obtain the key handle; the private key of the preset key pair is used to sign the saved certificate template content to obtain the signature value, and the authentication certificate is formed according to the signature value and the content of the certificate template; according to the first data, second data, and secret
- the key handle and the public key of the second key pair form the first data to be signed, and use the saved private key of the first key pair to sign the first data to be signed to obtain the first signature result;
- Step a2 The device composes the response data of the registration request data according to the second key pair, the key handle, the authentication certificate and the first signature result, and returns it to the upper computer;
- Step a3 The device parses the authentication request data to obtain the first parameter, the second parameter, and the key handle, and uses the stored symmetric key to decrypt the key handle to obtain the first decrypted data and the second decrypted data;
- Step a4 The device obtains the current authentication times, forms second data to be signed according to the first parameter, the second parameter, and the authentication times, and signs the second data to be signed using the second decrypted data.
- the second signature result
- Step a5 The device composes response data of the authentication request data according to the authentication times and the second signature result, and returns it to the upper computer;
- Step a6 The device performs other corresponding operations and returns other corresponding response data to the host computer.
- step a4 it further includes: judging whether the current user is legal according to the first parameter and the first decrypted data, if yes, execute step a4, otherwise, compose the response data of the authentication request data according to the preset error byte code, and return to the host computer ;
- the method further includes: the device judges whether the received data is authentication data or registration data. If it is authentication data or registration data, the device returns the processing result to the host computer and shuts down.
- the Bluetooth device mentioned in the second embodiment can implement at least two application functions. Each application has a matching Bluetooth service. Multiple applications can share one Bluetooth service, or one application corresponds to one Bluetooth service.
- the applications proposed in this embodiment 2 include authentication applications and dynamic password applications.
- the Bluetooth service corresponding to the authentication application is the first Bluetooth service
- the Bluetooth service corresponding to the dynamic password application is the second Bluetooth service.
- Embodiment 2 of the present invention provides a working method of a Bluetooth device. As shown in FIG. 2, the method of Embodiment 2 includes:
- Step B Power on the device and initialize it
- the device peripherals and clock services can also be initialized.
- Step B2 The device starts the first Bluetooth service and broadcasts that it declares itself as an authentication device, waits for the receiving host computer to send a connection establishment instruction, connects when receiving the connection establishment instruction, if the connection is successful, obtains the application identification of the authentication application, according to the application Logo selection certification application;
- the method of selecting the authentication application includes: the device selects the application according to default settings, or the device selects the application according to the received application selection instruction issued by the terminal;
- the default setting includes the application identifier.
- the device selection authentication application is specifically: the device sends an application selection instruction to the secure chip in the device, and the secure chip selects the corresponding application according to the application identifier in the instruction;
- the device broadcasts that it is a certified device: /** ⁇ Human Interface Device service UUID.*/, UUID: 0x1812;
- connection instruction 0x1b 0x06 0x35 0x01 0x34 0x11 0x06 0x0a 0x01 0x26 0x2f 0x00 0x00 0x97 0x00 0x00 0x00 0x00 0xd6 0xbe 0x89 0x8e 0x85 0x22 0xa1 0x06 0x15 0xd0 0x9e 0x78 0xad 0x99 0xa4 0xbc 0x55 0xc0 0xe0 0x5c 0x65 0x50 0x28 0xb0 0xf0 0x03 0x19 0x00 0x27 0x00 0x00 0x00 0xbc 0x02 0xff 0xff 0xff 0x1f 0xa8
- the authentication application is specifically FIDO, and the application identifier of the authentication application is: 0;
- Step B3 The device judges whether a button is pressed, if it is, it shuts down the first Bluetooth service, and executes step B4; if otherwise, it judges whether data is received, if it is, it executes step B9, if it is shut down;
- the device determines whether the device has a button pressed by detecting whether the chip IO port has a trigger key signal.
- Step B4 The device judges whether the Bluetooth is connected, if it is, it disconnects the Bluetooth connection and closes the broadcast, if not, it directly closes the broadcast and executes step B5;
- Step B5 The device saves the current MAC address as the first MAC address, obtains the second MAC address, and sets the current MAC address as the second MAC address;
- the device reads the MAC address stored in the register as the first MAC address
- the device acquiring the second MAC address specifically includes: the device modifies the first MAC address to the second MAC address;
- the device modifies the first MAC address to the second MAC address, specifically: the device adds 1 to the last byte of the read current MAC address, and the MAC address obtained by adding 1 is used as the second MAC address;
- the MAC address of the current authentication application is: 0xa1 0x06 0x15 0xd0 0x9e 0x78;
- the second MAC address is: 0xa1 0x06 0x15 0xd0 0x9e 0x79.
- Step B6 The device starts the second Bluetooth service and broadcasts that it declares itself as a dynamic password device, waits for the receiving host computer to send a connection establishment instruction, connects when receiving the connection establishment instruction, and if the connection is successful, obtains the application ID of the dynamic password application. Select the dynamic password application according to the application ID;
- the device specifically reads the stored application identifier of the dynamic password application through the register, for example, the application identifier of the dynamic password is: 2;
- the device selecting the dynamic password application according to the application identifier is specifically: the device sends an application selection instruction to the secure chip in the device, and the secure chip selects the corresponding application according to the application identifier in the instruction;
- the device broadcasts a statement that it is a dynamic password device: /** ⁇ Human Interface Device service UUID.*/, UUID: 0xFFFD;
- connection instruction 0x1b 0x06 0x35 0x01 0x34 0x11 0x06 0x0a 0x01 0x26 0x2f 0x00 0x00 0x97 0x00 0x00 0x00 0x00 0xd6 0xbe 0x89 0x8e 0x85 0x22 0xa1 0x06 0x15 0xd0 0x9e 0x78 0xad 0x99 0xa4 0xbc 0x55 0xc0 0xe0 0x5c 0x65 0x50 0x28 0xb0 0xf0 0x03 0x19 0x00 0x27 0x00 0x00 0x00 0xbc 0x02 0xff 0xff 0xff 0x1f 0xa8
- Step B7 The device obtains the dynamic password value through the dynamic password application, and sends the obtained dynamic password value to the host computer according to the Bluetooth keyboard protocol;
- the acquired dynamic password value is sent to the host computer according to the Bluetooth keyboard protocol, specifically: the device converts the acquired dynamic password value into Bluetooth keyboard virtual key information according to the Bluetooth keyboard protocol, and the virtual key information is sequentially Automatically and continuously send to the host computer;
- the value of the dynamic password value acquired by the device is: 12345;
- the virtual button information sent by the device is specifically: when the button is 1, the information sent by the device is: 0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 16 13 0b 00 04 00 1b 16 00 00 00 00 00 00 89 64 3f d4 64 ec d6, the message sent when the button 1 is lifted is: 0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 1a 13 0b 00 04 00 1b 16 00 00 00 00 00 00 00 9b 4e 39 6f 1c 34 14; when the button is 2, the information sent by the device is: 0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 16 13 0b 00 04 00 1b 00 16 00 00 00 00 00 1f 00 a2 7e 84 60 d8 76 ba, the information sent when the button 2 is lifted is: 0
- Step B8 The device turns off the second Bluetooth service, obtains the stored first MAC address, sets the device's MAC address as the first MAC address, turns on the first Bluetooth service, and broadcasts that it is an authentication device.
- the device specifically reads the stored first MAC address through the register;
- the saved first MAC address is: 0xa1 0x06 0x15 0xd0 0x9e 0x78;
- the current MAC address is: 0xa1 0x06 0x15 0xd0 0x9e 0x79.
- Step B9 The device receives the data sent by the host computer, processes the received data through the security chip, and returns the processing result to the host computer.
- the device receives the data sent by the host computer, and processes the received data through the security chip: as shown in Figure 3, the device determines the type of data sent by the received host computer;
- step a1 When the received data is registration request data, perform step a1, when the received data is authentication request data, perform step a3, and when the received data is other data, perform step a6;
- Step a1 The device parses the registration request data to obtain the first data and the second data, and generates a second key pair; the data to be encrypted is formed according to the private key of the second key pair and the first data, and the stored symmetric key is used for encryption
- the data is encrypted to obtain the key handle; the private key of the preset key pair is used to sign the saved certificate template content to obtain the signature value, and the authentication certificate is formed according to the signature value and the content of the certificate template; according to the first data, second data, and secret
- the key handle and the public key of the second key pair form the first data to be signed, and use the saved private key of the first key pair to sign the first data to be signed to obtain the first signature result;
- the registration request data consists of 64 bytes of data. This step is specifically to parse the registration request data, obtain the first 32 bytes of data as the first data, and obtain the last 32 bytes of data.
- the registration data is:
- the authentication data is:
- Step a2 The device composes the response data of the registration request data according to the second key pair, the key handle, the authentication certificate and the first signature result, and returns it to the upper computer;
- the response data of the registration request data is:
- Step a3 The device parses the authentication request data to obtain the first parameter, the second parameter, and the key handle, and uses the stored symmetric key to decrypt the key handle to obtain the first decrypted data and the second decrypted data;
- the constituent data of the authentication request data includes: a first parameter (32 bytes), a second parameter (32 bytes), a key handle length value (1 byte), and a key handle.
- This step is specifically to parse the authentication request data, obtain the first 32 bytes of data as the first parameter, and obtain the 33rd to 64th bytes of data as the second parameter, according to the value of the 65th byte Determine the length of the key handle, and obtain data of the corresponding length after the 65th byte as the key handle.
- Step a4 The device obtains the current authentication times, forms second data to be signed according to the first parameter, the second parameter, and the authentication times, and signs the second data to be signed using the second decrypted data.
- the second signature result
- Step a5 The device composes the response data of the authentication request data according to the authentication times and the second signature result, and returns it to the upper computer;
- the response data of the authentication request data is:
- Step a6 The device performs other corresponding operations and returns other corresponding response data to the host computer.
- step a4 it further includes: judging whether the current user is legal according to the first parameter and the first decrypted data, if yes, execute step a4, otherwise, compose the response data of the authentication request data according to the preset error byte code, and return to the host computer ;
- the method further includes: the device judges whether the received data is authentication data or registration data. If it is authentication data or registration data, the device returns the processing result to the host computer and shuts down.
- Embodiment 3 of the present invention provides a Bluetooth device.
- the device 10 includes: an opening module 11, a declaration module 12, a detection module 13, a closing module 14, a setting module 15, a waiting and receiving module 16, a connection Module 17, obtaining module 18, selecting application module 19, sending module 20;
- the activation module 11 is used to activate and broadcast the first Bluetooth service
- the declaration module 12 is used to declare the Bluetooth device as a Bluetooth non-keyboard device
- the declaration module 12 is also used to declare the Bluetooth device as a Bluetooth keyboard device
- the detection module 13 is used to detect whether the device key is pressed
- the shutdown module 14 is used to shut down the first Bluetooth service when the detection module 13 detects that the button is pressed;
- the closing module 14 is also used to close the second Bluetooth service
- the obtaining module 18 is used to obtain the second MAC address
- the setting module 15 is used to save the current MAC address as the first MAC address, and set the current MAC address as the second MAC address;
- the obtaining module 18 is also used to obtain the stored first MAC address
- the setting module 15 is also used to set the MAC address of the device as the first MAC address, start the first Bluetooth service, and broadcast to declare that it is a Bluetooth non-keyboard device.
- the waiting and receiving module 16 is used to wait and receive the connection establishment instruction sent by the upper computer;
- connection module 17 is used to connect when the waiting and receiving module 16 receives a connection establishment instruction
- the selection application module 19 is used to obtain the application identification of the dynamic password application after the connection module 17 is successfully connected, and select the dynamic password application according to the application identification;
- the obtaining module 18 is also used to obtain the dynamic password value through the dynamic password application;
- the sending module 20 is used to send the dynamic password value acquired by the acquiring module 18 to the upper computer according to the Bluetooth keyboard protocol.
- the Bluetooth non-keyboard device is specifically an authentication device
- the declaration module 12 declares that the Bluetooth device is a Bluetooth non-keyboard device, it also includes:
- the waiting and receiving module 16 is specifically used to wait and receive the connection establishment instruction sent by the upper computer;
- connection module 17 is specifically configured to connect when the waiting and receiving module 16 receives a connection establishment instruction
- the application selection module 19 is also used to select an authentication application based on the application identifier.
- the selection application module 19 specifically includes: a first acquisition unit, a first selection unit; a second acquisition unit, and a second selection unit;
- the first acquiring unit is configured to acquire the application identifier in the default setting, and send the application identifier to the security chip in the device;
- the first selection unit is configured to select an authentication application according to the application identifier acquired by the first acquisition unit;
- the second obtaining unit is configured to receive the application selection instruction issued by the upper computer, and send the application selection instruction to the security chip in the device, and the security chip obtains the authentication application identifier according to the application selection instruction;
- the second selection unit is configured to select an authentication application according to the authentication application identifier acquired by the second acquisition unit.
- the waiting and receiving module 16 is also used to receive the data sent by the upper computer, process the received data through the security chip, and return the processing result to the upper computer.
- the waiting and receiving module 16 includes a first judging unit
- the first judging unit is used to judge the received data type sent by the upper computer
- the waiting and receiving module 1616 further includes: a first parsing unit, an encryption unit, a first signature unit, and a first component unit;
- the first parsing unit is configured to parse the registration request data to obtain the first data and the second data, and generate a second key pair;
- the first component unit is used to compose the data to be encrypted according to the private key of the second key pair and the first data
- the encryption unit is configured to use the stored symmetric key to encrypt the data to be encrypted formed by the first component unit to obtain the key handle;
- the first signature unit is configured to use the private key of the preset key pair to sign the stored certificate template content to obtain the signature value;
- the first component unit is also used to compose a certification certificate according to the signature value and the content of the certificate template;
- the first component unit is further configured to compose the first data to be signed according to the first data, the second data, the key handle, and the public key of the second key pair;
- the first signature unit is further configured to use the stored private key of the first key pair to sign the first data to be signed to obtain the first signature result;
- the first component unit is also used to compose the response data of the registration request data according to the second key pair, the key handle, the authentication certificate and the first signature result, and return it to the upper computer;
- the waiting and receiving module 16 further includes: a second parsing unit, a decryption unit, a second signature unit, and a second component unit;
- the second parsing unit is used to parse the authentication request data to obtain the first parameter, the second parameter, and the key handle;
- the decryption unit is configured to decrypt the key handle using the stored symmetric key to obtain the first decrypted data and the second decrypted data;
- the second component unit is used to obtain the current number of authentication times, and form the second data to be signed according to the first parameter, the second parameter and the number of authentication times;
- the second signature unit is configured to use the second decrypted data to sign the second to-be-signed data to obtain the second signature result;
- the second component unit is used to compose the response data of the authentication request data according to the authentication times and the second signature result, and return it to the upper computer;
- the waiting and receiving module 16 further includes: an execution unit;
- the execution unit is used to perform other corresponding operations and return other corresponding response data to the upper computer.
- the waiting and receiving module 16 when the first judging unit judges that the received data is authentication request data, the waiting and receiving module 16 further includes: a judging subunit;
- the judging subunit is used to judge whether the current user is legal according to the first parameter and the first decrypted data
- the second component unit is also used for when the judging subunit judges that the current user is illegal, compose the response data of the authentication request data according to the preset error byte code, and return it to the upper computer.
- the waiting and receiving module 16 is specifically configured to receive data sent by the host computer. Before processing the received data through the security chip, the waiting and receiving module 16 further includes a second judgment unit;
- the second judgment unit is used to judge whether the received data is authentication data or registration data
- the waiting and receiving module 16 further includes a closing unit;
- the shutdown unit is used to shut down the equipment after returning the processing result to the upper computer.
- the sending module 20 includes a conversion unit and a sending unit
- the conversion unit is used to convert the dynamic password value obtained by the obtaining module 18 into the virtual key information of the Bluetooth keyboard according to the Bluetooth keyboard protocol;
- the sending unit is used for sequentially and automatically sending the virtual key information obtained by the conversion unit to the upper computer.
- the selection application module 19 includes: a third acquisition unit and a third selection unit;
- the third obtaining unit is configured to receive the application selection instruction issued by the host computer, and send the application selection instruction to the security chip in the device, and the security chip obtains the application identifier according to the application selection instruction;
- the third selection unit is configured to select a dynamic password application according to the application identifier acquired by the third acquisition unit.
- the detection module 13 is specifically configured to determine whether the device has a button pressed by detecting whether the chip IO port has a trigger key signal.
- the acquiring module 18 when the acquiring module 18 is used to acquire the second MAC address, the acquiring module 18 is specifically configured to: acquire the current MAC address, and add 1 to the last byte of the current MAC address to obtain the second MAC address .
- a Bluetooth device According to a Bluetooth device provided by the present invention, different device types can be realized by setting the device MAC address and broadcasting device type.
- the device When the device is used as a Bluetooth keyboard device, it can realize the function of dynamic password input.
- the device will obtain the information according to the Bluetooth keyboard protocol.
- the dynamic password value is converted into Bluetooth keyboard type virtual key information, and the virtual key information is automatically sent to the upper computer in turn, and the device automatically restores the device type, thereby solving the problem of keyboard conflicts between the keyboard device and the upper computer, and reducing the user
- the error rate of dynamic password input on the host computer improves the security of identity authentication.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种蓝牙设备,通过设置设备MAC地址、广播设备类型实现不同的设备类型,当设备作为蓝牙键盘设备时,能够实现动态口令输入的功能,设备根据蓝牙键盘协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将所述虚拟按键信息依次自动地发送到上位机,设备会自动恢复设备类型,从而解决了键盘设备与上位机产生键盘冲突的问题,还降低了用户在上位机上输入动态口令的出错率,提高了身份认证的安全性。
Description
本发明涉及一种蓝牙设备及其工作方法,属于通信技术领域。
随着互联网科技的发展,信息安全的重要性也与日俱增,因此,身份认证作为信息安全防护的第一关,承担着至关重要的作用。基于现有的身份认证技术,用于身份认证的设备除了智能密钥设备等还包括动态口令设备,为了确保只有合法用户才能够访问应用系统并使用服务。动态口令认证俨然成为身份认证技术中的主流方式,被广泛应用于企业、网游、金融等领域,现有的智能密钥设备和动态口令设备是两个独立的设备,设备的集成性差,降低了资源的利用率和用户的使用体验。现有技术中,当设备作为动态口令设备与上位机建立连接时,上位机检测到设备为蓝牙键盘设备时,则会隐藏自身系统的虚拟键盘,因此,设备与上位机键盘产生冲突,导致用户无法将设备生成的动态口令输入到上位机上;另外,现有的动态口令通过动态口令设备生成后,均需要用户将生成的动态口令手动输入到主机或终端设备中进行认证操作。然而,手动输入的这种方式会存在一些问题,例如,手动误输入、手动输入速度慢等导致动态口令认证不成功。
发明内容
本发明的目的是提供一种蓝牙设备及其工作方法,其可解决键盘设备与上位机产生键盘冲突的问题,降低用户在上位机上输入动态口令的出错率,提高身份认证的安全性。
为此,根据本发明的一个方面,提供了一种蓝牙设备的工作方法,该方法包括:
步骤S1、设备开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备;
步骤S2、当设备检测到按键被按下时,关闭第一蓝牙服务,执行步骤S3;
步骤S3、设备将当前的MAC地址保存为第一MAC地址,获取第二MAC地址,将当前的MAC地址设置为第二MAC地址;
步骤S4、设备开启第二蓝牙服务并广播声明自身为蓝牙键盘设备,等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功,则获取动态口令应用的应用标识,根据应用标识选择动态口令应用;
步骤S5、设备通过动态口令应用获取动态口令值,根据蓝牙键盘协议将获取的动态口令值发送到上位机;以及
步骤S6、设备关闭第二蓝牙服务,获取保存的第一MAC地址,将设备的MAC地址设置为所述第一MAC地址,开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备。
优选地,蓝牙非键盘设备具体为认证设备;步骤S2之前还包括:设备等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功则根据应用标识选择认证应用。
优选地,设备根据认证应用标识选择认证应用具体为:设备获取默认设置中的应用标识,将应用标识发送给设备中的安全芯片,安全芯片根据应用标识选择认证应用;或,
设备接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取认证应用标识,并根据认证应用标识选择认证应用。
优选地,步骤S2还包括:设备接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理,并将处理结果返回给上位机。
优选地,设备接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理具体为: 设备判断接收到的上位机发送的数据类型;
当接收到的数据为注册请求数据则执行步骤101,当接收到的数据为认证请求数据则执行步骤103,当接收到的数据为其他数据则执行步骤106;
步骤101:设备解析注册请求数据获取第一数据和第二数据,生成第二密钥对;根据第二密钥对的私钥和第一数据组成待加密数据,使用保存的对称密钥对待加密数据进行加密得到密钥句柄;使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值,根据签名值和证书模板内容组成认证证书;根据第一数据、第二数据、密钥句柄和第二密钥对的公钥组成第一待签名数据,使用保存的第一密钥对的私钥对第一待签名数据进行签名得到第一签名结果;
步骤102:设备根据第二密钥对、密钥句柄、认证证书和第一签名结果组成注册请求数据的响应数据,返回上位机;
步骤103:设备解析认证请求数据获取第一参数、第二参数和密钥句柄,使用保存的对称密钥对密钥句柄进行解密得到第一解密数据和第二解密数据;
步骤104:设备获取当前的认证次数,根据第一参数、第二参数和认证次数组成第二待签名数据,使用第二解密数据对第二待签名数据进行签名得到第二签名结果;
步骤105:设备根据认证次数和第二签名结果组成认证请求数据的响应数据,返回上位机;以及
步骤106:设备执行其他相应操作,并向上位机返回其他相应响应数据。
优选地,步骤104之前还包括:根据第一参数和第一解密数据判断当前用户是否合法,是则执行步骤104,否则根据预设错误字节码组成认证请求数据的响应数据,并返回上位机。
优选地,设备通过安全芯片对接收到的数据进行处理之前还包括:设备判断接收到的数据是否为认证数据或者注册数据,若是认证数据或者注册数据,则设备将处理结果返回上位机后关机,否则返回步骤S2。
优选地,设备根据蓝牙键盘协议将获取的动态口令值发送到上位机,具体为:设备根据蓝牙键盘协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将虚拟按键信息依次自动地发送到上位机。
优选地,设备获取动态口令应用的应用标识,根据应用标识选择动态口令应用具体为:设备接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取应用标识,并根据应用标识选择动态口令应用。
优选地,设备检测是否有按键被按下具体为:设备通过检测芯片IO端口是否有触发按键信号来判断设备是否有按键被按下。
优选地,设备获取第二MAC地址具体为:设备获取当前的MAC地址,将当前MAC地址的最后一个字节加1,得到第二MAC地址。
根据本发明的另外一个方面,提供了一种蓝牙设备,该设备包括:开启模块、声明模块、检测模块、关闭模块、设置模块、等待并接收模块、连接模块、获取模块、选择应用模块、发送模块;
其中,开启模块,用于开启第一蓝牙服务并广播;
开启模块,还用于开启第二蓝牙服务并广播;
声明模块,用于声明所述蓝牙设备为蓝牙非键盘设备;
声明模块,还用于声明所述蓝牙设备为蓝牙键盘设备;
检测模块,用于检测设备按键是否被按下;
关闭模块,用于当所述检测模块检测到按键被按下时,关闭第一蓝牙服务;
关闭模块,还用于关闭第二蓝牙服务;
获取模块,用于获取第二MAC地址;
设置模块,用于将当前的MAC地址保存为第一MAC地址,将当前的MAC地址设置为所述第二MAC地址;
获取模块,还用于获取保存的第一MAC地址;
设置模块,还用于将设备的MAC地址设置为第一MAC地址,开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备。
等待并接收模块,用于等待并接收上位机发送建立连接指令;
连接模块,用于当等待并接收模块接收到建立连接指令时进行连接;
选择应用模块,用于当连接模块连接成功后,获取动态口令应用的应用标识,根据应用标识选择动态口令应用;
获取模块,还用于通过动态口令应用获取动态口令值;
发送模块,用于根据蓝牙键盘协议将获取模块获取的动态口令值发送到上位机。
优选地,蓝牙非键盘设备具体为认证设备;
声明模块声明蓝牙设备为蓝牙非键盘设之后还包括:
等待并接收模块,具体用于等待并接收上位机发送建立连接指令;
连接模块,具体用于当等待并接收模块接收到建立连接指令时进行连接;
选择应用模块,还用于根据应用标识选择认证应用。
优选地,选择应用模块,具体包括:第一获取单元、第一选择单元;第二获取单元、第二选择单元;
其中,第一获取单元,用于获取默认设置中的应用标识,将应用标识发送给设备中的安全芯片;
第一选择单元,用于根据第一获取单元获取的应用标识选择认证应用;
第二获取单元,用于接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取认证应用标识;
第二选择单元,用于根据第二获取单元获取的认证应用标识选择认证应用。
优选地,等待并接收模块,还用于接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理,并将处理结果返回给上位机。
优选地,等待并接收模块包括第一判断单元;
第一判断单元,用于判断接收到的上位机发送的数据类型;
当第一判断单元判断接收到的数据为注册请求数据时,等待并接收模块还包括:第一解析单元、加密单元、第一签名单元和第一组成单元;
其中,第一解析单元,用于解析注册请求数据获取第一数据和第二数据,生成第二密钥对;
第一组成单元,用于根据第二密钥对的私钥和第一数据组成待加密数据;
加密单元,用于使用保存的对称密钥对第一组成单元组成的待加密数据进行加密得到密钥句柄;
第一签名单元,用于使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值;
第一组成单元,还用于根据签名值和证书模板内容组成认证证书;
第一组成单元,还用于根据第一数据、第二数据、密钥句柄和第二密钥对的公钥组成第一待签名数据;
第一签名单元,还用于使用保存的第一密钥对的私钥对第一待签名数据进行签名得到第一签名结果;
第一组成单元,还用于根据第二密钥对、密钥句柄、认证证书和第一签名结果组成注册请求数据的响应数据,返回上位机;
当第一判断单元判断接收到的数据为认证请求数据时,等待并接收模块还包括:第二解析单元、解密单元、第二签名单元和第二组成单元;
第二解析单元,用于解析认证请求数据获取第一参数、第二参数和密钥句柄;
解密单元,用于使用保存的对称密钥对密钥句柄进行解密得到第一解密数据和第二解密数据;
第二组成单元,用于获取当前的认证次数,根据第一参数、第二参数和认证次数组成第二待签名数据;
第二签名单元,用于使用第二解密数据对第二待签名数据进行签名得到第二签名结果;
第二组成单元,用于根据认证次数和第二签名结果组成认证请求数据的响应数据,返回上位机;
当第一判断单元判断接收到的数据为其他数据时,等待并接收模块还包括:执行单元;
执行单元,用于执行其他相应操作,并向上位机返回其他相应响应数据。
优选地,当第一判断单元判断接收到的数据为认证请求数据时,等待并接收模块还包括:判断子单元;
判断子单元,用于根据第一参数和第一解密数据判断当前用户是否合法;
第二组成单元,还用于当判断子单元判断当前用户不合法时,根据预设错误字节码组成认证请求数据的响应数据,并返回上位机。
优选地,等待并接收模块具体用于接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理之前,等待并接收模块还包括第二判断单元;
第二判断单元,用于判断接收到的数据是否为认证数据或者注册数据;
当第二判断单元判断接收到的数据为认证数据或者注册数据时,等待并接收模块还包括关闭单元;
关闭单元,用于将处理结果返回上位机后将设备关机。
优选地,发送模块包括转换单元和发送单元;
转换单元,用于根据蓝牙键盘协议将获取模块获取的动态口令值转换成蓝牙键盘类虚拟按键信息;
发送单元,用于将转换单元转换得到的虚拟按键信息依次自动地发送到上位机。
优选地,选择应用模块包括:第三获取单元和第三选择单元;
第三获取单元,用于接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取应用标识;
第三选择单元,用于根据第三获取单元获取的应用标识选择动态口令应用。
优选地,检测模块,具体用于通过检测芯片IO端口是否有触发按键信号来判断设备是否有按键被按下。
优选地,当获取模块用于获取第二MAC地址时,获取模块具体用于:获取当前的MAC地址,将当前MAC地址的最后一个字节加1,得到第二MAC地址。
根据本发明,蓝牙设备可通过设置设备MAC地址、广播设备类型实现不同的设备类型,当设备作为蓝牙键盘设备时,能够实现动态口令输入的功能,设备根据蓝牙键盘协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将所述虚拟按键信息依次自动地发送到上位机,设备会自动恢复设备类型,从而解决了键盘设备与上位机产生键盘冲突的问题,还降低了用户在上位机上输入动态口令的出错率,提高了身份认证的安全性。
图1是根据本发明实施例1的一种蓝牙设备的工作方法流程图;
图2是根据本发明实施例2的一种蓝牙设备的工作方法流程图;
图3是根据本发明实施例2的蓝牙设备对接收到的数据进行处理的方法流程图;
图4是根据本发明实施例3的一种蓝牙设备的示意图。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明的实施例进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域的人员在没有做出创造性劳动前提下所获得 的所有其他实施例,都属于本发明保护的范围。
实施例1:
本实施例1中提及的蓝牙设备至少能够实现两种应用功能,每一种应用具有匹配的蓝牙服务,多种应用可以共用一个蓝牙服务,也可以是一种应用对应一个蓝牙服务。本实施例1中所提出的应用包括第一应用和动态口令应用,第一应用所对应的蓝牙服务为第一蓝牙服务,动态口令应用所对应的蓝牙服务为第二蓝牙服务。
本发明实施例1一提供了一种蓝牙设备的工作方法,如图1所示,本实施例1的方法包括:
步骤A1、设备上电,进行初始化;
在本实施例1中,设备上电后,还可以对设备外设、时钟服务进行初始化。
步骤A2、设备开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备;
步骤A3、当设备检测到按键被按下时,关闭第一蓝牙服务,执行步骤A4;
本实施例1中,设备通过检测芯片IO端口是否有触发按键信号来判断设备是否有按键被按下。
步骤A4、设备将当前的MAC地址保存为第一MAC地址,获取第二MAC地址,将当前的MAC地址设置为第二MAC地址;
具体地,设备读取寄存器中存储的MAC地址作为第一MAC地址;
优选地,设备获取第二MAC地址具体为:设备将第一MAC地址修改为第二MAC地址;
优选地,设备将第一MAC地址修改为第二MAC地址,具体为:设备将读取到的当前MAC地址的最后一个字节加1,加1得到的MAC地址作为第二MAC地址;
例如,第一MAC地址为:ef:07:52:6a:5f:2c;
第二MAC地址为:ef:07:52:6a:5f:2d。
步骤A5、设备开启第二蓝牙服务并广播声明自身为蓝牙键盘设备,等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功,则获取动态口令应用的应用标识,根据应用标识选择动态口令应用;
在本实施例1中,设备具体通过寄存器读取存储的动态口令应用的应用标识,例如,动态口令的应用标识为:2;
优选地,设备根据应用标识选择动态口令应用具体为:设备将选择应用指令发送给设备中的安全芯片,安全芯片根据指令中的应用标识选择对应的应用。
步骤A6、设备通过动态口令应用获取动态口令值,根据蓝牙键盘协议将获取的动态口令值发送到上位机;
在本实施例1中,根据蓝牙键盘协议将获取的动态口令值发送到上位机,具体为:设备根据蓝牙键盘协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将虚拟按键信息依次自动地发送到上位机。
步骤A7、设备关闭第二蓝牙服务,获取保存的第一MAC地址,将设备的MAC地址设置为第一MAC地址,开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备。
在本实施例1中,设备具体通过寄存器读取存储的第一MAC地址;
例如,保存的第一MAC地址为:ef:07:52:6a:5f:2c;
当前的MAC地址为:ef:07:52:6a:5f:2d。
在本实施例1中,设备声明自身为蓝牙非键盘设备之后还包括:设备等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功则根据应用标识选择应用,若连接超时则关闭;
优选地,根据应用标识选择应用的方式包括:设备根据默认设置选择应用,或者设备根据接收到的终端下发的选择应用指令进行选择应用;
具体地,默认设置中包括应用标识。
在本实施例1中,设备选择应用具体为:设备将选择应用指令发送给设备中的安全芯片,安全芯片根据指令中的应用标识选择对应的应用;
在本实施例1中,当设备作为蓝牙非键盘设备与上位机连接成功,并选择应用后,还包括:设备接收上位机发送的数据,通过安全芯片对接收到的数据进行处理,并将处理结果返回给上位机;
具体地,设备接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理具体为:设备判断接收到的上位机发送的数据类型;
当接收到的数据为注册请求数据则执行步骤a1,当接收到的数据为认证请求数据则执行步骤a3,当接收到的数据为其他数据则执行步骤a6;
步骤a1:设备解析注册请求数据获取第一数据和第二数据,生成第二密钥对;根据第二密钥对的私钥和第一数据组成待加密数据,使用保存的对称密钥对待加密数据进行加密得到密钥句柄;使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值,根据签名值和证书模板内容组成认证证书;根据第一数据、第二数据、密钥句柄和第二密钥对的公钥组成第一待签名数据,使用保存的第一密钥对的私钥对第一待签名数据进行签名得到第一签名结果;
步骤a2:设备根据第二密钥对、密钥句柄、认证证书和第一签名结果组成注册请求数据的响应数据,返回上位机;
步骤a3:设备解析认证请求数据获取第一参数、第二参数和密钥句柄,使用保存的对称密钥对密钥句柄进行解密得到第一解密数据和第二解密数据;
步骤a4:设备获取当前的认证次数,根据第一参数、所述第二参数和所述认证次数组成第二待签名数据,使用所述第二解密数据对所述第二待签名数据进行签名得到第二签名结果;
步骤a5:设备根据所述认证次数和所述第二签名结果组成认证请求数据的响应数据,返回上位机;
步骤a6:设备执行其他相应操作,并向上位机返回其他相应响应数据。
优选地,步骤a4之前还包括:根据第一参数和第一解密数据判断当前用户是否合法,是则执行步骤a4,否则根据预设错误字节码组成认证请求数据的响应数据,并返回上位机;
优选地,设备通过安全芯片对接收到的数据进行处理之前还包括:设备判断接收到的数据是否为认证数据或者注册数据,若是认证数据或者注册数据,则设备将处理结果返回上位机后关机。
实施例2:
本实施例2中提及的蓝牙设备至少能够实现两种应用功能,每一种应用具有匹配的蓝牙服务,多种应用可以共用一个蓝牙服务,也可以是一种应用对应一个蓝牙服务。本实施例2中所提出的应用包括认证应用和动态口令应用,认证应用所对应的蓝牙服务为第一蓝牙服务,动态口令应用所对应的蓝牙服务为第二蓝牙服务。
本发明实施例2提供了一种蓝牙设备的工作方法,如图2所示,本实施例2的方法包括:
步骤B1、设备上电,进行初始化;
在本实施例2中,设备上电后,还可以对设备外设、时钟服务进行初始化。
步骤B2、设备开启第一蓝牙服务并广播声明自身为认证设备,等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功,则获取认证应用的应用标识,根据应用标识选择认证应用;
在本实施例2中,选择认证应用的方式包括:设备根据默认设置选择应用,或者设备根据接收到的终端下发的选择应用指令进行选择应用;
具体地,默认设置中包括应用标识。
在本实施例2中,设备选择认证应用具体为:设备将选择应用指令发送给设备中的安全芯片,安全芯片根据指令中的应用标识选择对应的应用;
例如,设备广播声明自身为认证设备具体为:/**<Human Interface Device service UUID.*/,UUID:0x1812;
建立连接指令为:0x1b 0x06 0x35 0x01 0x34 0x11 0x06 0x0a 0x01 0x26 0x2f 0x00 0x00 0x97 0x00 0x00 0x00 0xd6 0xbe 0x89 0x8e 0x85 0x22 0xa1 0x06 0x15 0xd0 0x9e 0x78 0xad 0x99 0xa4 0xbc 0x55 0xc0 0xe0 0x5c 0x65 0x50 0x28 0xb0 0xf0 0x03 0x19 0x00 0x27 0x00 0x00 0x00 0xbc 0x02 0xff 0xff 0xff 0xff 0x1f 0xa8 0xf2 0x61 0xda。
例如,认证应用具体为FIDO,认证应用的应用标识为:0;
步骤B3、设备判断是否有按键按下,若是则关闭第一蓝牙服务,执行步骤B4;若否则判断是否接收到数据,若是则执行步骤B9,若否则关机;
本实施例2中,设备通过检测芯片IO端口是否有触发按键信号来判断设备是否有按键被按下。
步骤B4、设备判断蓝牙是否已连接,若是则断开蓝牙连接并关闭广播,若否则直接关闭广播,执行步骤B5;
步骤B5、设备将当前的MAC地址保存为第一MAC地址,获取第二MAC地址,将当前的MAC地址设置为第二MAC地址;
具体地,设备读取寄存器中存储的MAC地址作为第一MAC地址;
优选地,设备获取第二MAC地址具体为:设备将第一MAC地址修改为第二MAC地址;
优选地,设备将第一MAC地址修改为第二MAC地址,具体为:设备将读取到的当前MAC地址的最后一个字节加1,加1得到的MAC地址作为第二MAC地址;
例如,当前认证应用的MAC地址为:0xa1 0x06 0x15 0xd0 0x9e 0x78;
第二MAC地址为:0xa1 0x06 0x15 0xd0 0x9e 0x79。
步骤B6、设备开启第二蓝牙服务并广播声明自身为动态口令设备,等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功,则获取动态口令应用的应用标识,根据应用标识选择动态口令应用;
在本实施例2中,设备具体通过寄存器读取存储的动态口令应用的应用标识,例如,动态口令的应用标识为:2;
优选地,设备根据应用标识选择动态口令应用具体为:设备将选择应用指令发送给设备中的安全芯片,安全芯片根据指令中的应用标识选择对应的应用;
具体地,设备广播声明自身为动态口令设备具体为:/**<Human Interface Device service UUID.*/,UUID:0xFFFD;
建立连接指令为:0x1b 0x06 0x35 0x01 0x34 0x11 0x06 0x0a 0x01 0x26 0x2f 0x00 0x00 0x97 0x00 0x00 0x00 0xd6 0xbe 0x89 0x8e 0x85 0x22 0xa1 0x06 0x15 0xd0 0x9e 0x78 0xad 0x99 0xa4 0xbc 0x55 0xc0 0xe0 0x5c 0x65 0x50 0x28 0xb0 0xf0 0x03 0x19 0x00 0x27 0x00 0x00 0x00 0xbc 0x02 0xff 0xff 0xff 0xff 0x1f 0xa8 0xf2 0x61 0xda。
步骤B7、设备通过动态口令应用获取动态口令值,根据蓝牙键盘协议将获取的动态口令值发送到上位机;
在本实施例2中,根据蓝牙键盘协议将获取的动态口令值发送到上位机,具体为:设备根据蓝牙键盘协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将虚拟按键信息依次自动地连续发送到上位机;
具体地,设备获取的动态口令值的值为:12345;
设备发送的虚拟按键信息具体为:当按键为1时,设备发送的信息为:0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 16 13 0b 00 04 00 1b 16 00 00 00 1e 00 00 00 00 00 89 64 3f d4 64 ec d6,将按键1抬起时发送的信息为:0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 1a 13 0b 00 04 00 1b 16 00 00 00 00 00 00 00 00 00 9b 4e 39 6f 1c 34 14;当按键为2时,设备发送的信息为:0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 16 13 0b 00 04 00 1b 16 00 00 00 1f 00 00 00 00 00 a2 7e 84 60 d8 76 ba,将按键2抬起时发送的信息为:0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 1a 13 0b 00 04 00 1b 16 00 00 00 00 00 00 00 00 00 bf 76 17 a2 ee 88 f4;当按键为3时,设备发送的信息为:0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 16 13 0b 00 04 00 1b 16 00 00 00 20 00 00 00 00 00 18 4b 9f a8 fa 17 0a,将按键2抬起时发送的信息为:0d 03 1e e3 01 60 08 15 aa 5a 7b 65 50 1a 13 0b 00 04 00 1b 16 00 00 00 00 00 00 00 00 00 7d 23 8b 74 bd 8a ab;当按键为4时,设备发送的信息为:0d 03 1e e3 01 60 08 15 aa 5a 7b 65 50 16 13 0b 00 04 00 1b 16 00 00 00 21 00 00 00 00 00 56 99 15 c0 20 61 01,将按键4抬起时发送的信息为:0d 03 1e e3 01 60 08 15 aa 5a 7b 65 50 1a 13 0b 00 04 00 1b 16 00 00 00 00 00 00 00 00 00 47 fd a6 34 89 8a 50;当按键为5时,设备发送的信息为:0d 03 1e e3 01 60 08 15 aa 5a 7b 65 50 16 13 0b 00 04 00 1b 16 00 00 00 22 00 00 00 00 00 92 7d 22 7b 7c 88 2c,将按键5抬起时发送的信息为:0d 03 1e e3 01 60 08 15 aa 5a 7b 65 50 1a 13 0b 00 04 00 1b 16 00 00 00 00 00 00 00 00 00 3f 73 d2 f0 50 cf a6。
步骤B8、设备关闭第二蓝牙服务,获取保存的第一MAC地址,将设备的MAC地址设置为第一MAC地址,开启第一蓝牙服务并广播声明自身为认证设备。在本实施例2中,设备具体通过寄存器读取存储的第一MAC地址;
例如,保存的第一MAC地址为:0xa1 0x06 0x15 0xd0 0x9e 0x78;
当前的MAC地址为:0xa1 0x06 0x15 0xd0 0x9e 0x79。
步骤B9、设备接收上位机发送的数据,通过安全芯片对接收到的数据进行处理,并将处理结果返回给上位机。
具体地,设备接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理具体为:如图3所示,设备判断接收到的上位机发送的数据类型;
当接收到的数据为注册请求数据则执行步骤a1,当接收到的数据为认证请求数据则执行步骤a3,当接收到的数据为其他数据则执行步骤a6;
步骤a1:设备解析注册请求数据获取第一数据和第二数据,生成第二密钥对;根据第二密钥对的私钥和第一数据组成待加密数据,使用保存的对称密钥对待加密数据进行加密得到密钥句柄;使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值,根据签名值和证书模板内容组成认证证书;根据第一数据、第二数据、密钥句柄和第二密钥对的公钥组成第一待签名数据,使用保存的第一密钥对的私钥对第一待签名数据进行签名得到第一签名结果;
具体地,所述注册请求数据由64个字节的数据组成,本步骤具体为,解析所述注册请求数据,获取前32个字节的数据作为第一数据,获取后32个字节的数据作为第二数据;例如,注册数据为:
01a4015820687134968222ec17202e42505f8ed2b16ae22f16bb05b88c25db9e602645f14102a26269646773657276657231646e616d65677365727665723103a362696458202b6689bb18f4169f069fbcdf50cb6ea3c60a861b9a7b63946983e0b577b78c70646e616d6571746573746374617040637461702e636f6d6b646973706c61794e616d65695465737420437461700483a263616c672664747970656a7075626c69632d6b6579a263616c6739010064747970656a7075626c69632d6b6579a263616c67382464747970656a7075626c69632d6b6579;
认证数据为:
02a4016773657276657231025820687134968222ec17202e42505f8ed2b16ae22f16bb05b88c25db9e602645f1410385a26269645832010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010164747970656a7075626c69632d6b6579a26269645832020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020264747970656a7075626c69632d6b6579a26269645870286ca7f4cc4480c6fdf7e15d076db62054c8f96df7bd604224ca04961d92d2db15cbee20d02d1191b182d53d51534df4042650797dbd9386c853405827c2ab469f563380c4293fa1e80c6cf424afcbbc 65e757879ebfec78f59777e5ba6541f3cb6212fb74aab630f17a512ecdcac66564747970656a7075626c69632d6b6579a26269645832040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040464747970656a7075626c69632d6b6579a26269645832050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050564747970656a7075626c69632d6b657905a1627570f5。
步骤a2:设备根据第二密钥对、密钥句柄、认证证书和第一签名结果组成注册请求数据的响应数据,返回上位机;
具体地,注册请求数据的响应数据为:
00a301667061636b65640258f47f409b1b3211c37499c9619f42ae0d2abdee652ebdc1af0502d6b539a67043064100000001b82ed73c8fb4e5a2402289c7060660010070286ca7f4cc4480c6fdf7e15d076db62054c8f96df7bd604224ca04961d92d2db15cbee20d02d1191b182d53d51534df4042650797dbd9386c853405827c2ab469f563380c4293fa1e80c6cf424afcbbc65e757879ebfec78f59777e5ba6541f3cb6212fb74aab630f17a512ecdcac665a501020326200121582086010b1aee7166408a681ceb39c0b7ee9040ea678f5ac096ee0dac3dd5d5a55b225820c93d6dc90e1584a8d2eba08955f9544f873f6637f1603e33d5fb47c7dee67e2703a363616c6726637369675846304402201cf814728a06587b589cf6c672fc161651065f361b0ed67647fe0feb7172158f02201105824cf62ffe4bf40f5f2ac054420e6bad5bf5f6da579e560ae5e2e2dbf72c63783563825901623082015e30820104a003020102020900d79549bd1a671744300a06082a8648ce3d04030230173115301306035504030c0c4654204649444f20303230303020170d3137303232303030303030305a180f32303530303530313030303030305a30183116301406035504030c0d4654204649444f3220546573743059301306072a8648ce3d020106082a8648ce3d03010703420004df1bd845b086b939677eb01e75d646132be7c356b8a018cc10bcfeebb074401f9d58859f9ee76babf9e9e5e1c815e1a2e4dcba0ea8f54f144e1d327cb95c2b4aa3363034301d0603551d0e041604142393d61a27e84fef9bbd76db099e1c728cf0ba633013060b2b0601040182e51c020101040403020520300a06082a8648ce3d04030203480030450221009453c09a35ebe8a1db27ce01253615adc9a0feeb56ab6ab6ea5934a1cf17362102202d109c4c295eb448315a30dbedd0301836e2755adad49e274541957b918b85155901823082017e30820125a003020102020101300a06082a8648ce3d04030230173115301306035504030c0c4654204649444f20303230303020170d3136303530313030303030305a180f32303530303530313030303030305a30173115301306035504030c0c4654204649444f20303230303059301306072a8648ce3d020106082a8648ce3d03010703420004d066ad1a953b1ced4c954dd7dbed76a70beed2907a89769e7336ff2620be4b199ebe7448a6d5808124cc74153aef342d5104de556178ed478e08310254faa385a360305e301d0603551d0e041604144915642dd5bbc6de333a5e0995fc872336d3bf0b301f0603551d230418301680144915642dd5bbc6de333a5e0995fc872336d3bf0b300c0603551d13040530030101ff300e0603551d0f0101ff040403020106300a06082a8648ce3d04030203470030440220307cfaa021621407e40105a546b1d1f2d2ce51331964ce9497ff34b24d9994a50220076c09ea765133ca17fe7038dd187a489a2f3365f00821ffffe2e2ac101b0743。
步骤a3:设备解析认证请求数据获取第一参数、第二参数和密钥句柄,使用保存的对称密钥对密钥句柄进行解密得到第一解密数据和第二解密数据;
例如,所述认证请求数据的组成数据包括:第一参数(32个字节)、第二参数(32个字节)、密钥句柄长度值(1个字节)和密钥句柄。
本步骤具体为,解析所述认证请求数据,获取前32个字节的数据作为第一参数,获取第33至第64个字节的数据作为第二参数,根据第65个字节的取值确定密钥句柄的长度,从第65个字节之后获取相应长度的数据作为密钥句柄。
步骤a4:设备获取当前的认证次数,根据第一参数、所述第二参数和所述认证次数组成第二待签名数据,使用所述第二解密数据对所述第二待签名数据进行签名得到第二签名结果;
步骤a5:设备根据所述认证次数和所述第二签名结果组成认证请求数据的响应数据,返 回上位机;
具体地,认证请求数据的响应数据为:
00a301a26269645870286ca7f4cc4480c6fdf7e15d076db62054c8f96df7bd604224ca04961d92d2db15cbee20d02d1191b182d53d51534df4042650797dbd9386c853405827c2ab469f563380c4293fa1e80c6cf424afcbbc65e757879ebfec78f59777e5ba6541f3cb6212fb74aab630f17a512ecdcac66564747970656a7075626c69632d6b65790258257f409b1b3211c37499c9619f42ae0d2abdee652ebdc1af0502d6b539a670430601000000020358473045022100e0d2dd99fcd91d1e70e07c799da317be98fc7a65eaf767394e76ec749f8e31d002203084474d7d2959f3e2e254338a625a5bc8c558b02e10f9c590799428ed8a8bd0。
步骤a6:设备执行其他相应操作,并向上位机返回其他相应响应数据。
优选地,步骤a4之前还包括:根据第一参数和第一解密数据判断当前用户是否合法,是则执行步骤a4,否则根据预设错误字节码组成认证请求数据的响应数据,并返回上位机;
优选地,设备通过安全芯片对接收到的数据进行处理之前还包括:设备判断接收到的数据是否为认证数据或者注册数据,若是认证数据或者注册数据,则设备将处理结果返回上位机后关机。
实施例3:
本发明实施例3提供了一种蓝牙设备,如图4所示,该设备10包括:开启模块11、声明模块12、检测模块13、关闭模块14、设置模块15、等待并接收模块16、连接模块17、获取模块18、选择应用模块19、发送模块20;
开启模块11,用于开启第一蓝牙服务并广播;
开启模块11,还用于开启第二蓝牙服务并广播;
声明模块12,用于声明蓝牙设备为蓝牙非键盘设备;
声明模块12,还用于声明蓝牙设备为蓝牙键盘设备;
检测模块13,用于检测设备按键是否被按下;
关闭模块14,用于当检测模块13检测到按键被按下时,关闭第一蓝牙服务;
关闭模块14,还用于关闭第二蓝牙服务;
获取模块18,用于获取第二MAC地址;
设置模块15,用于将当前的MAC地址保存为第一MAC地址,将当前的MAC地址设置为第二MAC地址;
获取模块18,还用于获取保存的第一MAC地址;
设置模块15,还用于将设备的MAC地址设置为第一MAC地址,开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备。
等待并接收模块16,用于等待并接收上位机发送建立连接指令;
连接模块17,用于当等待并接收模块16接收到建立连接指令时进行连接;
选择应用模块19,用于当连接模块17连接成功后,获取动态口令应用的应用标识,根据应用标识选择动态口令应用;
获取模块18,还用于通过动态口令应用获取动态口令值;
发送模块20,用于根据蓝牙键盘协议将获取模块18获取的动态口令值发送到上位机。
在本实施例3中,蓝牙非键盘设备具体为认证设备;
声明模块12声明蓝牙设备为蓝牙非键盘设之后还包括:
等待并接收模块16,具体用于等待并接收上位机发送建立连接指令;
连接模块17,具体用于当等待并接收模块16接收到建立连接指令时进行连接;
选择应用模块19,还用于根据应用标识选择认证应用。
在本实施例3中,选择应用模块19,具体包括:第一获取单元、第一选择单元;第二获取单元、第二选择单元;
第一获取单元,用于获取默认设置中的应用标识,将应用标识发送给设备中的安全芯片;
第一选择单元,用于根据第一获取单元获取的应用标识选择认证应用;
第二获取单元,用于接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取认证应用标识;
第二选择单元,用于根据第二获取单元获取的认证应用标识选择认证应用。
在本实施例3中,等待并接收模块16,还用于接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理,并将处理结果返回给上位机。
在本实施例3中,等待并接收模块16包括第一判断单元;
第一判断单元,用于判断接收到的上位机发送的数据类型;
当第一判断单元判断接收到的数据为注册请求数据时,等待并接收模块1616还包括:第一解析单元、加密单元、第一签名单元和第一组成单元;
第一解析单元,用于解析注册请求数据获取第一数据和第二数据,生成第二密钥对;
第一组成单元,用于根据第二密钥对的私钥和第一数据组成待加密数据;
加密单元,用于使用保存的对称密钥对第一组成单元组成的待加密数据进行加密得到密钥句柄;
第一签名单元,用于使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值;
第一组成单元,还用于根据签名值和证书模板内容组成认证证书;
第一组成单元,还用于根据第一数据、第二数据、密钥句柄和第二密钥对的公钥组成第一待签名数据;
第一签名单元,还用于使用保存的第一密钥对的私钥对第一待签名数据进行签名得到第一签名结果;
第一组成单元,还用于根据第二密钥对、密钥句柄、认证证书和第一签名结果组成注册请求数据的响应数据,返回上位机;
当第一判断单元判断接收到的数据为认证请求数据时,等待并接收模块16还包括:第二解析单元、解密单元、第二签名单元和第二组成单元;
第二解析单元,用于解析认证请求数据获取第一参数、第二参数和密钥句柄;
解密单元,用于使用保存的对称密钥对密钥句柄进行解密得到第一解密数据和第二解密数据;
第二组成单元,用于获取当前的认证次数,根据第一参数、第二参数和认证次数组成第二待签名数据;
第二签名单元,用于使用第二解密数据对第二待签名数据进行签名得到第二签名结果;
第二组成单元,用于根据认证次数和第二签名结果组成认证请求数据的响应数据,返回上位机;
当第一判断单元判断接收到的数据为其他数据时,等待并接收模块16还包括:执行单元;
执行单元,用于执行其他相应操作,并向上位机返回其他相应响应数据。
在本实施例3中,当第一判断单元判断接收到的数据为认证请求数据时,等待并接收模块16还包括:判断子单元;
判断子单元,用于根据第一参数和第一解密数据判断当前用户是否合法;
第二组成单元,还用于当判断子单元判断当前用户不合法时,根据预设错误字节码组成认证请求数据的响应数据,并返回上位机。
在本实施例3中,等待并接收模块16具体用于接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理之前,等待并接收模块16还包括第二判断单元;
第二判断单元,用于判断接收到的数据是否为认证数据或者注册数据;
当第二判断单元判断接收到的数据为认证数据或者注册数据时,等待并接收模块16还包括关闭单元;
关闭单元,用于将处理结果返回上位机后将设备关机。
在本实施例3中,发送模块20包括转换单元和发送单元;
转换单元,用于根据蓝牙键盘协议将获取模块18获取的动态口令值转换成蓝牙键盘类虚拟按键信息;
发送单元,用于将转换单元转换得到的虚拟按键信息依次自动地发送到上位机。
在本实施例3中,选择应用模块19包括:第三获取单元和第三选择单元;
第三获取单元,用于接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取应用标识;
第三选择单元,用于根据第三获取单元获取的应用标识选择动态口令应用。
在本实施例3中,检测模块13,具体用于通过检测芯片IO端口是否有触发按键信号来判断设备是否有按键被按下。
在本实施例3中,当获取模块18用于获取第二MAC地址时,获取模块18具体用于:获取当前的MAC地址,将当前MAC地址的最后一个字节加1,得到第二MAC地址。
根据本发明提供的一种蓝牙设备,可通过设置设备MAC地址、广播设备类型实现不同的设备类型,当设备作为蓝牙键盘设备时,能够实现动态口令输入的功能,设备根据蓝牙键盘协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将所述虚拟按键信息依次自动地发送到上位机,设备会自动恢复设备类型,从而解决了键盘设备与上位机产生键盘冲突的问题,降低了用户在上位机上输入动态口令的出错率,提高了身份认证的安全性。
以上对本发明所提供的一种蓝牙设备及其工作方法进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上,本说明书内容不应理解为对本发明的限制。
Claims (20)
- 一种蓝牙设备的工作方法,其特征在于,所述方法包括如下步骤:S1)设备开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备;S2)当设备检测到按键被按下时,关闭所述第一蓝牙服务,执行步骤S3;S3)设备将当前的MAC地址保存为第一MAC地址,获取第二MAC地址,将当前的MAC地址设置为所述第二MAC地址;S4)设备开启第二蓝牙服务并广播声明自身为蓝牙键盘设备,等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功,则获取动态口令应用的应用标识,根据应用标识选择动态口令应用;S5)设备通过动态口令应用获取动态口令值,根据蓝牙键盘协议将获取的动态口令值发送到上位机;以及S6)设备关闭第二蓝牙服务,获取保存的第一MAC地址,将设备的MAC地址设置为所述第一MAC地址,开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备。
- 根据权利要求1所述的方法,其特征在于,所述蓝牙非键盘设备具体为认证设备;所述步骤S2之前还包括:所述设备等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功则根据应用标识选择认证应用。
- 根据权利要求2所述的方法,其特征在于,所述根据认证应用标识选择认证应用具体为:所述设备获取默认设置中的应用标识,将应用标识发送给设备中的安全芯片,安全芯片根据应用标识选择认证应用;或,所述设备接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取认证应用标识,并根据认证应用标识选择认证应用。
- 根据权利要求2所述的方法,其特征在于,所述步骤S2还包括:所述设备接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理,并将处理结果返回给上位机。
- 根据权利要求4所述的方法,其特征在于,所述设备接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理具体为:设备判断接收到的上位机发送的数据类型;当接收到的数据为注册请求数据则执行步骤101,当接收到的数据为认证请求数据则执行步骤103,当接收到的数据为其他数据则执行步骤106;101)设备解析注册请求数据获取第一数据和第二数据,生成第二密钥对;根据第二密钥对的私钥和第一数据组成待加密数据,使用保存的对称密钥对待加密数据进行加密得到密钥句柄;使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值,根据签名值和证书模板内容组成认证证书;根据第一数据、第二数据、密钥句柄和第二密钥对的公钥组成第一待签名数据,使用保存的第一密钥对的私钥对第一待签名数据进行签名得到第一签名结果;102)设备根据第二密钥对、密钥句柄、认证证书和第一签名结果组成注册请求数据的响应数据,返回上位机;103)设备解析认证请求数据获取第一参数、第二参数和密钥句柄,使用保存的对称密钥对密钥句柄进行解密得到第一解密数据和第二解密数据;104)设备获取当前的认证次数,根据第一参数、所述第二参数和所述认证次数组成第二待签名数据,使用所述第二解密数据对所述第二待签名数据进行签名得到第二签名结果;105)设备根据所述认证次数和所述第二签名结果组成认证请求数据的响应数据,返回上位机;以及106)设备执行其他相应操作,并向上位机返回其他相应响应数据。
- 根据权利要求5所述的方法,其特征在于,步骤104之前还包括:根据第一参数和第一解密数据判断当前用户是否合法,是则执行步骤104,否则根据预设错误字节码组成认证请求数据的响应数据,并返回上位机。
- 根据权利要求4所述的方法,其特征在于,所述通过安全芯片对接收到的数据进行处理之前还包括:所述设备判断接收到的数据是否为认证数据或者注册数据,若是认证数据或者注册数据,则设备将处理结果返回上位机后关机,否则返回步骤S2。
- 根据权利要求1所述的方法,其特征在于,所述根据蓝牙键盘协议将获取的动态口令值发送到上位机,具体为:所述设备根据蓝牙键盘协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将所述虚拟按键信息依次自动地发送到上位机。
- 根据权利要求1所述的方法,其特征在于,所述获取动态口令应用的应用标识,根据应用标识选择动态口令应用具体为:所述设备接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取应用标识,并根据应用标识选择动态口令应用。
- 根据权利要求1所述的方法,其特征在于,所述获取第二MAC地址具体为:所述设备获取当前的MAC地址,将当前MAC地址的最后一个字节加1,得到第二MAC地址。
- 一种蓝牙设备,其特征在于,所述设备包括:开启模块、声明模块、检测模块、关闭模块、设置模块、等待并接收模块、连接模块、获取模块、选择应用模块、发送模块;所述开启模块,用于开启第一蓝牙服务并广播;所述开启模块,还用于开启第二蓝牙服务并广播;所述声明模块,用于声明所述蓝牙设备为蓝牙非键盘设备;所述声明模块,还用于声明所述蓝牙设备为蓝牙键盘设备;所述检测模块,用于检测设备按键是否被按下;所述关闭模块,用于当所述检测模块检测到按键被按下时,关闭所述第一蓝牙服务;所述关闭模块,还用于关闭第二蓝牙服务;所述获取模块,用于获取第二MAC地址;所述设置模块,用于将当前的MAC地址保存为第一MAC地址,将当前的MAC地址设置为所述第二MAC地址;所述获取模块,还用于获取保存的第一MAC地址;所述设置模块,还用于将设备的MAC地址设置为所述第一MAC地址,开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备。所述等待并接收模块,用于等待并接收上位机发送建立连接指令;所述连接模块,用于当所述等待并接收模块接收到建立连接指令时进行连接;所述选择应用模块,用于当所述连接模块连接成功后,获取动态口令应用的应用标识,根据应用标识选择动态口令应用;所述获取模块,还用于通过动态口令应用获取动态口令值;所述发送模块,用于根据蓝牙键盘协议将所述获取模块获取的动态口令值发送到上位机。
- 根据权利要求11所述的设备,其特征在于,所述蓝牙非键盘设备具体为认证设备;所述声明模块声明所述蓝牙设备为蓝牙非键盘设之后还包括:所述等待并接收模块,具体用于等待并接收上位机发送建立连接指令;所述连接模块,具体用于当所述等待并接收模块接收到建立连接指令时进行连接;所述选择应用模块,还用于根据应用标识选择认证应用。
- 根据权利要求12所述的设备,其特征在于,所述选择应用模块,具体包括:第一获取单元、第一选择单元;第二获取单元、第二选择单元;所述第一获取单元,用于获取默认设置中的应用标识,将应用标识发送给设备中的安全芯片;所述第一选择单元,用于根据所述第一获取单元获取的应用标识选择认证应用;所述第二获取单元,用于接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取认证应用标识;所述第二选择单元,用于根据所述第二获取单元获取的认证应用标识选择认证应用。
- 根据权利要求12所述的设备,其特征在于,所述等待并接收模块,还用于接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理,并将处理结果返回给上位机。
- 根据权利要求14所述的设备,其特征在于,所述等待并接收模块包括第一判断单元;所述第一判断单元,用于判断接收到的上位机发送的数据类型;当所述第一判断单元判断接收到的数据为注册请求数据时,所述等待并接收模块还包括:第一解析单元、加密单元、第一签名单元和第一组成单元;所述第一解析单元,用于解析注册请求数据获取第一数据和第二数据,生成第二密钥对;所述第一组成单元,用于根据第二密钥对的私钥和第一数据组成待加密数据;所述加密单元,用于使用保存的对称密钥对所述第一组成单元组成的待加密数据进行加密得到密钥句柄;所述第一签名单元,用于使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值;所述第一组成单元,还用于根据签名值和证书模板内容组成认证证书;所述第一组成单元,还用于根据第一数据、第二数据、密钥句柄和第二密钥对的公钥组成第一待签名数据;所述第一签名单元,还用于使用保存的第一密钥对的私钥对第一待签名数据进行签名得到第一签名结果;所述第一组成单元,还用于根据第二密钥对、密钥句柄、认证证书和第一签名结果组成注册请求数据的响应数据,返回上位机;当所述第一判断单元判断接收到的数据为认证请求数据时,所述等待并接收模块还包括:第二解析单元、解密单元、第二签名单元和第二组成单元;所述第二解析单元,用于解析认证请求数据获取第一参数、第二参数和密钥句柄;所述解密单元,用于使用保存的对称密钥对密钥句柄进行解密得到第一解密数据和第二解密数据;所述第二组成单元,用于获取当前的认证次数,根据第一参数、所述第二参数和所述认证次数组成第二待签名数据;所述第二签名单元,用于使用所述第二解密数据对所述第二待签名数据进行签名得到第二签名结果;所述第二组成单元,用于根据所述认证次数和所述第二签名结果组成认证请求数据的响应数据,返回上位机;当所述第一判断单元判断接收到的数据为其他数据时,所述等待并接收模块还包括:执行单元;所述执行单元,用于执行其他相应操作,并向上位机返回其他相应响应数据。
- 根据权利要求15所述的设备,其特征在于,当所述第一判断单元判断接收到的数据为认证请求数据时,所述等待并接收模块还包括:判断子单元;所述判断子单元,用于根据第一参数和第一解密数据判断当前用户是否合法;所述第二组成单元,还用于当所述判断子单元判断当前用户不合法时,根据预设错误字节码组成认证请求数据的响应数据,并返回上位机。
- 根据权利要求14所述的设备,其特征在于,所述等待并接收模块具体用于接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理之前,所述等待并接收模块还包括第二判断单元;所述第二判断单元,用于判断接收到的数据是否为认证数据或者注册数据;当所述第二判断单元判断接收到的数据为认证数据或者注册数据时,所述等待并接收模块还包括关闭单元;所述关闭单元,用于将处理结果返回上位机后将设备关机。
- 根据权利要求11所述的设备,其特征在于,所述发送模块包括转换单元和发送单元;所述转换单元,用于根据蓝牙键盘协议将所述获取模块获取的动态口令值转换成蓝牙键盘类虚拟按键信息;所述发送单元,用于将所述转换单元转换得到的虚拟按键信息依次自动地发送到上位机。
- 根据权利要求11所述的设备,其特征在于,所述选择应用模块包括:第三获取单元和第三选择单元;所述第三获取单元,用于接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取应用标识;所述第三选择单元,用于根据所述第三获取单元获取的应用标识选择动态口令应用。
- 根据权利要求11所述的设备,其特征在于,当所述获取模块用于获取第二MAC地址时,所述获取模块具体用于:获取当前的MAC地址,将当前MAC地址的最后一个字节加1,得到第二MAC地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/297,013 US11622253B2 (en) | 2019-10-18 | 2020-09-03 | Bluetooth device and working method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910994617.2A CN110730441B (zh) | 2019-10-18 | 2019-10-18 | 一种蓝牙设备及其工作方法 |
CN201910994617.2 | 2019-10-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021073300A1 true WO2021073300A1 (zh) | 2021-04-22 |
Family
ID=69221535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/113294 WO2021073300A1 (zh) | 2019-10-18 | 2020-09-03 | 一种蓝牙设备及其工作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11622253B2 (zh) |
CN (1) | CN110730441B (zh) |
WO (1) | WO2021073300A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114117466A (zh) * | 2021-11-03 | 2022-03-01 | 杭州涂鸦信息技术有限公司 | 一种密码管理方法、电子设备和计算机可读存储介质 |
CN115379590A (zh) * | 2022-10-27 | 2022-11-22 | 深圳市正浩创新科技股份有限公司 | 蓝牙连接建立方法、装置、电子设备及计算机存储介质 |
CN115883276A (zh) * | 2022-10-27 | 2023-03-31 | 四川虹美智能科技有限公司 | 一种基于小程序的智能家电安全控制方法 |
TWI817162B (zh) * | 2021-07-14 | 2023-10-01 | 臺灣網路認證股份有限公司 | 行動裝置免元件簽章系統及其方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110730441B (zh) * | 2019-10-18 | 2021-07-02 | 飞天诚信科技股份有限公司 | 一种蓝牙设备及其工作方法 |
CN112188490A (zh) * | 2020-09-23 | 2021-01-05 | 衡水海博云科技有限公司 | 一种多合一动态密码口令装置及其工作方法 |
CN111930184B (zh) | 2020-10-13 | 2021-01-01 | 飞天诚信科技股份有限公司 | 一种外接设备模拟键盘的实现方法、装置及系统 |
CN116234062B (zh) * | 2022-12-27 | 2024-03-01 | 深圳凯晖电子科技有限公司 | 一对多输入设备连接方法、装置及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746816A (zh) * | 2014-02-18 | 2014-04-23 | 飞天诚信科技股份有限公司 | 一种多功能认证设备及其工作方法 |
CN104753681A (zh) * | 2015-03-31 | 2015-07-01 | 恒宝股份有限公司 | 一种动态口令认证方法及系统 |
CN105405012A (zh) * | 2014-09-11 | 2016-03-16 | 苏州海博智能系统有限公司 | 智能ic卡及支付处理方法 |
US20190028269A1 (en) * | 2016-05-27 | 2019-01-24 | Feitian Technologies Co., Ltd. | Smart key device and working method thereof |
CN110730441A (zh) * | 2019-10-18 | 2020-01-24 | 飞天诚信科技股份有限公司 | 一种蓝牙设备及其工作方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030013483A1 (en) * | 2001-07-06 | 2003-01-16 | Ausems Michiel R. | User interface for handheld communication device |
US20070123166A1 (en) * | 2005-11-29 | 2007-05-31 | Arnold Sheynman | System, method and apparatus for pre-pairing bluetooth enabled devices |
US20090143104A1 (en) * | 2007-09-21 | 2009-06-04 | Michael Loh | Wireless smart card and integrated personal area network, near field communication and contactless payment system |
US9286742B2 (en) * | 2008-03-31 | 2016-03-15 | Plantronics, Inc. | User authentication system and method |
US8254902B2 (en) * | 2008-06-26 | 2012-08-28 | Apple Inc. | Apparatus and methods for enforcement of policies upon a wireless device |
CA2789216C (en) * | 2010-02-08 | 2017-02-14 | Daniel Friedlaender | Method, apparatus, and use of presence detection |
JP5972295B2 (ja) * | 2011-03-16 | 2016-08-17 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 無線装置の間のペアリング |
KR101995251B1 (ko) * | 2012-10-08 | 2019-09-30 | 삼성전자주식회사 | 근거리 무선 통신 장치에서 전원을 제어하는 장치 및 방법 |
CN105284134B (zh) * | 2012-12-03 | 2018-11-20 | 索诺瓦公司 | 将音频信号无线流式传输到多个音频接收器设备 |
US9660968B2 (en) * | 2015-09-25 | 2017-05-23 | Intel Corporation | Methods and apparatus for conveying a nonce via a human body communication conduit |
CN205405639U (zh) * | 2016-02-01 | 2016-07-27 | 泉州佳乐电器有限公司 | 基于云服务器的门禁系统 |
EP3255949A1 (en) * | 2016-06-07 | 2017-12-13 | Nxp B.V. | Configuring wireless communications according to multiple communication protocols |
CN105956852B (zh) * | 2016-06-21 | 2019-11-15 | 飞天诚信科技股份有限公司 | 一种蓝牙智能密钥设备及其工作方法 |
DE102016216562B4 (de) * | 2016-09-01 | 2021-08-12 | Continental Automotive Gmbh | Verfahren und Vorrichtung zum Orten eines mobilen Endgeräts insbesondere in Form eines Mobilfunkendgeräts für ein insbesondere zellulares Mobilfunknetz durch eine Vorrichtung seitens eines Kraftfahrzeugs |
CN106548054A (zh) * | 2016-10-13 | 2017-03-29 | 北京握奇智能科技有限公司 | 一种面向pc与移动终端的无驱个人密码管理方法及设备 |
US20180260557A1 (en) * | 2017-03-12 | 2018-09-13 | Paul Alexander Rockwell | System and method for managing and updating passwords to online services |
TWI652592B (zh) * | 2017-04-20 | 2019-03-01 | 周宏建 | Storage device and access control method thereof |
CN107463825B (zh) * | 2017-08-09 | 2024-04-09 | 珠海极海半导体有限公司 | 指纹登录设备及指纹登录方法 |
US11278668B2 (en) * | 2017-12-22 | 2022-03-22 | Glysens Incorporated | Analyte sensor and medicant delivery data evaluation and error reduction apparatus and methods |
CN108764924A (zh) * | 2018-05-31 | 2018-11-06 | 飞天诚信科技股份有限公司 | 一种免密emv接触交易的实现方法及装置 |
CN208207951U (zh) * | 2018-06-07 | 2018-12-07 | 合肥马道信息科技有限公司 | 一种自动切换开锁方式的动态密码锁系统 |
CN109005541B (zh) * | 2018-07-20 | 2019-12-06 | 北京海泰方圆科技股份有限公司 | 蓝牙连接方法、装置和系统 |
-
2019
- 2019-10-18 CN CN201910994617.2A patent/CN110730441B/zh active Active
-
2020
- 2020-09-03 US US17/297,013 patent/US11622253B2/en active Active
- 2020-09-03 WO PCT/CN2020/113294 patent/WO2021073300A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746816A (zh) * | 2014-02-18 | 2014-04-23 | 飞天诚信科技股份有限公司 | 一种多功能认证设备及其工作方法 |
CN105405012A (zh) * | 2014-09-11 | 2016-03-16 | 苏州海博智能系统有限公司 | 智能ic卡及支付处理方法 |
CN104753681A (zh) * | 2015-03-31 | 2015-07-01 | 恒宝股份有限公司 | 一种动态口令认证方法及系统 |
US20190028269A1 (en) * | 2016-05-27 | 2019-01-24 | Feitian Technologies Co., Ltd. | Smart key device and working method thereof |
CN110730441A (zh) * | 2019-10-18 | 2020-01-24 | 飞天诚信科技股份有限公司 | 一种蓝牙设备及其工作方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI817162B (zh) * | 2021-07-14 | 2023-10-01 | 臺灣網路認證股份有限公司 | 行動裝置免元件簽章系統及其方法 |
CN114117466A (zh) * | 2021-11-03 | 2022-03-01 | 杭州涂鸦信息技术有限公司 | 一种密码管理方法、电子设备和计算机可读存储介质 |
CN115379590A (zh) * | 2022-10-27 | 2022-11-22 | 深圳市正浩创新科技股份有限公司 | 蓝牙连接建立方法、装置、电子设备及计算机存储介质 |
CN115379590B (zh) * | 2022-10-27 | 2023-02-14 | 深圳市正浩创新科技股份有限公司 | 蓝牙连接建立方法、装置、电子设备及计算机存储介质 |
CN115883276A (zh) * | 2022-10-27 | 2023-03-31 | 四川虹美智能科技有限公司 | 一种基于小程序的智能家电安全控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110730441A (zh) | 2020-01-24 |
US11622253B2 (en) | 2023-04-04 |
US20220248198A1 (en) | 2022-08-04 |
CN110730441B (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021073300A1 (zh) | 一种蓝牙设备及其工作方法 | |
US11026085B2 (en) | Authentication apparatus with a bluetooth interface | |
US11764966B2 (en) | Systems and methods for single-step out-of-band authentication | |
US7941831B2 (en) | Dynamic update of authentication information | |
US8873758B2 (en) | Secure wireless link between two devices using probes | |
JP2024123236A (ja) | 第1の要素非接触カード認証システムおよび方法 | |
US20160119143A1 (en) | User identity authenticating method, terminal, and server | |
US8572698B1 (en) | Connecting a legacy wireless device to a WPS-enabled access point | |
US10412266B2 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
WO2023280194A1 (zh) | 网络连接管理方法、装置、可读介质、程序产品及电子设备 | |
US20220138306A1 (en) | Offline multi-factor one-time password authentication | |
CN114222298A (zh) | 终端接入方法、装置、网络设备、终端和介质 | |
WO2023141876A1 (zh) | 数据传输方法、装置、系统、电子设备及可读介质 | |
US8307411B2 (en) | Generic framework for EAP | |
CN116017448A (zh) | 基于软件、终端、服务器三方联动的蓝牙认证方法及系统 | |
WO2017076287A1 (zh) | 一种蓝牙设备进行配对的方法和装置 | |
CN115442061A (zh) | 安全认证方法、可读介质和电子设备 | |
WO2014194606A1 (zh) | 接入网络的认证方法、装置与终端设备 | |
TWI705347B (zh) | 身份認證方法和設備 | |
CN106713222A (zh) | 一种无线局域网络的接入认证方法、服务器和认证系统 | |
CN115734221B (zh) | 物联网设备管理方法、设备、移动终端、装置及存储介质 | |
WO2018023495A1 (zh) | 手持通信装置的装置配对与数据传输的方法 | |
KR20100136269A (ko) | 생체 인식과 연동하는 오티피 운영 방법 및 시스템과 이를 위한 기록매체 | |
KR20100136285A (ko) | 생체 인식과 연동하는 이중 코드 생성 방식의 오티피 운영 방법 및 시스템과 이를 위한 기록매체 | |
KR20100136047A (ko) | 씨드 조합 방식 오티피 운영 방법 및 시스템과 이를 위한 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20876678 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: 20876678 Country of ref document: EP Kind code of ref document: A1 |