Acoustic wave interaction method and system
Patent Information
- Application Number
- CN202611281927.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-21
- Publication Date
- 2026-10-13
Smart Images

Figure CN122907039A_ABST
Abstract
Description
Technical Field
[0001] This article relates to the field of acoustic wave communication and data processing technology, and in particular to acoustic wave interaction methods, acoustic wave interaction verification methods, and acoustic wave interaction devices, equipment, systems, electronic devices, media and program products. Background Technology
[0002] With the development of information processing technology and terminal devices, different devices can transmit information in various ways and perform data processing or business processing based on the transmitted information. In some application scenarios, multiple devices can be located in close proximity. The information transmission between devices and the implementation of corresponding services can involve processing stages such as information generation, information sending, information receiving, association matching, and result feedback. Summary of the Invention
[0003] This article relates to acoustic wave interaction methods, acoustic wave interaction verification methods, and acoustic wave interaction devices, equipment, systems, electronic devices, media, and program products.
[0004] According to a first aspect of this document, a method for acoustic interaction performed by a first device is provided. The method may include: outputting a first acoustic signal carrying first challenge data, the first challenge data being used for verification by the first device; receiving at least one second acoustic signal output by at least one second device in response to the first acoustic signal; obtaining corresponding first response data based on each of the at least one second acoustic signal, wherein each second acoustic signal carries second response data generated by the corresponding second device based on the second challenge data and authentication data associated with the corresponding second device, the second challenge data being obtained by the corresponding second device based on the first acoustic signal; and outputting first interaction data such that a third device outputs a verification result of one or more acoustic interactions between the first device and at least one second device based on the first interaction data and input from one or more second interaction data from the at least one second device. The first interaction data may include the first challenge data and one or more first response data obtained based on the at least one second acoustic signal, each second interaction data may include the second challenge data obtained by the corresponding second device based on the first acoustic signal and the second response data generated by the corresponding second device, and the verification result may be obtained by matching each second interaction data with the first interaction data.
[0005] In some cases, the first challenge data can be generated based on the challenge data seed and the current time window.
[0006] In some cases, challenge data generation seeds can be allocated by a third device and stored in an access-controlled storage area of the first device.
[0007] In some cases, the current time window can be determined based on the current time obtained by synchronizing with a third device via a network time protocol.
[0008] In some cases, the first acoustic signal can be output cyclically within the current time window.
[0009] In some cases, the first challenge data can be generated based on the challenge data to generate a seed and the current time window, through hash-based message authentication code calculation.
[0010] In some cases, outputting a first acoustic signal may include outputting a challenge frame in a first time slot, and receiving at least one second acoustic signal may include receiving at least one response frame in a second time slot that does not overlap with the first time slot.
[0011] In some cases, the first acoustic signal and at least one second acoustic signal can operate in the same frequency band from 18 kHz to 21 kHz and be encoded using spread spectrum codes that are distinguishable from each other.
[0012] In some cases, the first acoustic signal may be output by an ultrasonic piezoelectric transducer or a moving-coil loudspeaker, and at least one second acoustic signal may be received by a microphone.
[0013] In some cases, at least one second acoustic signal can be received by a microphone via a passive acoustic focusing structure, which may include a parabolic reflector or a passive horn.
[0014] In some cases, obtaining corresponding first response data based on each second acoustic signal may include: coherently superimposing multiple signal frames of the corresponding second acoustic signal received via a passive acoustic focusing structure.
[0015] In some cases, receiving at least one second acoustic signal may include: listening to an acknowledgment band used for transmitting at least one second acoustic signal; and demodulating and decoding the detected acoustic signal in response to the detection of the acoustic signal in the acknowledgment band.
[0016] In some cases, obtaining the corresponding first response data based on each second acoustic signal may include: performing cyclic redundancy check on the decoding result of the corresponding second acoustic signal; and obtaining the corresponding first response data based on the decoding result that has passed the cyclic redundancy check.
[0017] In some cases, the corresponding second acoustic signal may include multiple signal frames, and the next signal frame may be decoded if the decoding result of the current signal frame fails the cyclic redundancy check.
[0018] In some cases, at least one second device may include multiple second devices, at least one second acoustic signal may include multiple second acoustic signals output by the multiple second devices respectively, and multiple first response data obtained based on the multiple second acoustic signals may constitute a first response data list.
[0019] In some cases, for each second acoustic signal, the first device may record the round-trip time from the transmission time of the first acoustic signal to the completion time of the reception of the corresponding second acoustic signal. The first interaction data may also include a time window number corresponding to the first challenge data and one or more round-trip times associated with one or more first response data, and may also include one or more detection results obtained based on the one or more round-trip times. If any round-trip time exceeds a preset time threshold, the detection result corresponding to that round-trip time can characterize that the corresponding acoustic interaction failed the preset time detection.
[0020] In some cases, the first interaction data may also include a time window number corresponding to the first challenge data, and the verification result may also be obtained based on whether the first challenge data and the second challenge data in each second interaction data correspond to the same candidate first device in the challenge data index corresponding to the time window number. The challenge data index may include the correspondence between multiple candidate challenge data and multiple candidate first devices.
[0021] In some cases, for each second interaction data, the verification result can be obtained based on the matching of the second challenge data in the second interaction data with the first challenge data, and the existence of a first response data in one or more first response data that matches the second response data in the second interaction data.
[0022] In some cases, for each second interaction data, the verification result can also be obtained based on whether the second response data in that second interaction data matches the expected response data. The expected response data can be generated based on the second challenge data in the second interaction data and the authentication data associated with the corresponding second device, through a hash-based message authentication code calculation.
[0023] In some cases, each second interactive data may also include the location data of the corresponding second device, and the verification result may also be obtained based on whether the distance between the location data of the corresponding second device and the location data of the first device meets a preset distance condition.
[0024] According to a second aspect of this document, a method for acoustic interaction performed by a second device is provided. The method may include: receiving a first acoustic signal output by a first device, wherein the first acoustic signal carries first challenge data used for verification by the first device; obtaining second challenge data based on the first acoustic signal; generating second response data based on the second challenge data and authentication data associated with the second device; outputting a second acoustic signal carrying the second response data, so that the first device obtains the first response data based on the second acoustic signal; and outputting second interaction data, so that a third device outputs a verification result of the acoustic interaction between the first device and the second device based on the second interaction data and input from the first interaction data of the first device. The second interaction data may include the second challenge data and the second response data, and the first interaction data may include the first challenge data and one or more first response data obtained based on at least one second acoustic signal output by at least one second device in response to the first acoustic signal, wherein the verification result may be obtained by matching the second interaction data with the first interaction data.
[0025] In some cases, receiving the first acoustic signal output by the first device may include: controlling the second device to acquire an audio stream in response to the activation of an acoustic interactive application running on the second device; and performing acoustic listening on the audio stream to obtain the first acoustic signal from the audio stream.
[0026] In some cases, the method may further include: selecting one or more operating frequency bands for receiving the first acoustic signal and outputting the second acoustic signal based on the acoustic receiving frequency response and acoustic output frequency response of the second device.
[0027] In some cases, the first challenge data can be carried in the first acoustic signal using a dual-tone multi-frequency (DTMF) encoding method, and the second challenge data can be obtained based on the first acoustic signal. This can include: performing DTMF decoding on the first acoustic signal using the Gosser algorithm; and performing cyclic redundancy check (CRC) on the decoding result to obtain the second challenge data based on the decoding result that passes the CRC check.
[0028] In some cases, the first acoustic signal may include multiple challenge frames, and if the decoding result of one challenge frame fails the cyclic redundancy check, the next challenge frame can be decoded.
[0029] In some cases, the authentication data associated with the second device may include a device-level key, and generating second response data based on the second challenge data and authentication data may include: performing a hash-based message authentication code operation based on the second challenge data and the device-level key to generate the second response data.
[0030] In some cases, outputting a second acoustic signal carrying second response data may include: performing direct sequence spread spectrum coding on the second response data using a spread spectrum sequence generated based on a Gold sequence, and outputting a response frame carrying the coding result.
[0031] In some cases, receiving the first acoustic signal may include receiving a challenge frame carrying first challenge data in a first time slot, and outputting a second acoustic signal carrying second response data may include outputting a response frame carrying second response data in a second time slot that does not overlap with the first time slot.
[0032] In some cases, the second interaction data may also include the location data and timestamp of the second device.
[0033] In some cases, the method may also include: receiving a payment link from a third device if the verification result indicates that the verification has passed; and displaying a payment confirmation page based on the payment link.
[0034] In some cases, the method may further include: receiving a payment amount entered via a payment confirmation page and a payment confirmation operation; in response to the payment confirmation operation, outputting a payment request including the payment amount to a third device; and receiving a payment completion result from the third device.
[0035] According to a third aspect of this document, a method for acoustic interaction verification performed by a third device is provided. The method may include: receiving first interaction data from a first device and one or more second interaction data from at least one second device; matching each second interaction data with the first interaction data; and outputting a verification result of one or more acoustic interactions between the first device and the at least one second device based on the matching result obtained for each second interaction data. The first interaction data may include first challenge data and one or more first response data, the first challenge data being carried in a first acoustic signal output by the first device, the first challenge data being used for verification by the first device, and the one or more first response data being obtained based on at least one second acoustic signal output by the at least one second device in response to the first acoustic signal. Each second interaction data may include second challenge data obtained by the corresponding second device based on the first acoustic signal and second response data generated by the corresponding second device based on the second challenge data and authentication data associated with the corresponding second device, the second response data being carried in a corresponding second acoustic signal output by the corresponding second device.
[0036] In some cases, each second interaction data may also include the location data and timestamp of the corresponding second device.
[0037] In some cases, the method may further include: generating candidate first challenge data for each of the multiple candidate first devices based on the challenge data associated with that candidate first device, generating a seed and a current time window; and establishing a challenge data index based on the correspondence between the multiple candidate first challenge data and the multiple candidate first devices.
[0038] In some cases, matching each second interaction data with the first interaction data may include: querying the challenge data index based on the first challenge data in the first interaction data to obtain a first lookup result; querying the challenge data index based on the second challenge data in the second interaction data to obtain a second lookup result; and if the first lookup result and the second lookup result indicate the same candidate first device, determining the same candidate first device as the target first device, and determining that the corresponding acoustic interaction passes the first device consistency verification.
[0039] In some cases, each candidate first challenge data can be generated by generating a seed and current time window based on the challenge data associated with the corresponding candidate first device, through hash-based message authentication code calculation.
[0040] In some cases, for each second interaction data, the verification result can also be obtained based on whether the second challenge data in the second interaction data matches the first challenge data in the first interaction data.
[0041] In some cases, for each second interaction data, the verification result can also be obtained based on whether there is a first response data in one or more first response data that matches the second response data in the second interaction data.
[0042] In some cases, each second interaction data may also include a device identifier of the corresponding second device, and for each second interaction data, the verification result may also be obtained based on whether the second response data in the second interaction data matches the expected response data. The expected response data may be generated based on the second challenge data in the second interaction data and the authentication data determined according to the device identifier, through a hash-based message authentication code calculation.
[0043] In some cases, at least one second device may include multiple second devices, which may be associated with different authentication data, and the multiple second devices may generate corresponding second response data based on second challenge data with the same data value and authentication data associated with the corresponding second device.
[0044] In some cases, the first interactive data may further include one or more round-trip times associated with one or more first response data, each round-trip time representing the duration from the transmission time of the first acoustic signal to the completion time of the reception of the corresponding second acoustic signal. For each second interactive data, the verification result may also be obtained based on whether the round-trip time associated with the first response data matched with the second response data in that second interactive data meets a preset duration condition.
[0045] In some cases, for each second interaction data, if the round-trip time associated with the first response data that matches the second response data in the second interaction data is greater than a preset time threshold, it can be determined that the corresponding acoustic interaction has not passed the preset time detection.
[0046] In some cases, each second interactive data may also include the location data of the corresponding second device, and for each second interactive data, the verification result may also be obtained based on whether the distance between the location data of the corresponding second device and the location data of the first device meets a preset distance condition.
[0047] In some cases, if the distance is greater than a preset distance threshold, it can be determined that the corresponding acoustic interaction has failed the location verification.
[0048] In some cases, for each second interaction data, a logical AND operation can be performed on multiple sub-verification results obtained for that second interaction data to obtain the corresponding acoustic wave interaction verification result.
[0049] In some cases, the method may further include: if the verification result indicates that the corresponding acoustic interaction verification has passed, outputting a payment link associated with the first device to the corresponding second device.
[0050] In some cases, the method may further include: receiving a payment request output by the corresponding second device based on a payment link; performing payment processing based on the payment request; and outputting a payment completion result to the corresponding second device.
[0051] According to a fourth aspect of this document, a sound wave interaction device is provided. The sound wave interaction device may include: a sound wave signal output module configured to output a first sound wave signal carrying first challenge data, the first challenge data being used to verify the sound wave interaction device; a sound wave signal receiving module configured to receive at least one second sound wave signal output by at least one second device in response to the first sound wave signal; a response data acquisition module configured to obtain corresponding first response data based on each of the at least one second sound wave signal, wherein each second sound wave signal carries second response data generated by the corresponding second device based on the second challenge data and authentication data associated with the corresponding second device, the second challenge data being obtained by the corresponding second device based on the first sound wave signal; and an interaction data output module configured to output first interaction data such that a third device outputs a verification result of one or more sound wave interactions between the sound wave interaction device and at least one second device based on the first interaction data and input from one or more second interaction data from at least one second device. The first interaction data may include first challenge data and one or more first response data obtained based on at least one second acoustic signal. Each second interaction data may include second challenge data obtained by a corresponding second device based on the first acoustic signal and second response data generated by the corresponding second device. The verification result may be obtained by matching each second interaction data with the first interaction data.
[0052] According to a fifth aspect of this document, a sound wave interaction system is provided. The sound wave interaction system may include a first device, at least one second device, and a third device. The first device may be configured to: output a first sound wave signal carrying first challenge data, the first challenge data being used for verification by the first device; receive at least one second sound wave signal output by at least one second device in response to the first sound wave signal; obtain corresponding first response data based on each of the at least one second sound wave signal; and output first interaction data, wherein the first interaction data includes the first challenge data and one or more first response data obtained based on the at least one second sound wave signal. Each of the at least one second device may be configured to: receive the first sound wave signal; obtain second challenge data based on the first sound wave signal; generate second response data based on the second challenge data and authentication data associated with the corresponding second device; output a second sound wave signal carrying the second response data; and output second interaction data, wherein the second interaction data includes the second challenge data and the second response data. The third device may be configured to: receive the first interaction data and one or more second interaction data from the at least one second device; and output a verification result of one or more sound wave interactions between the first device and the at least one second device based on matching each second interaction data with the first interaction data.
[0053] According to a sixth aspect of this document, an electronic device is provided. The electronic device may include a processor and a memory, the memory storing program instructions that, when executed by the processor, cause the processor to perform methods provided according to any one of the first to third aspects of this document and any of their embodiments.
[0054] According to a seventh aspect of this document, a non-transitory computer-readable storage medium is provided. This non-transitory computer-readable storage medium may store program instructions, which, when executed by a processor, cause the processor to perform the methods provided according to any one of the first to third aspects of this document and any of their embodiments.
[0055] According to an eighth aspect of this document, a computer program product is provided. This computer program product may include program instructions that, when executed by a processor, cause the processor to perform the methods provided according to any one of the first to third aspects of this document and any of their embodiments. Attached Figure Description
[0056] Figure 1 The diagram illustrates the timing sequence of data interaction in a sound wave interaction system according to some scenarios described in this paper.
[0057] Figure 2 A flowchart is shown illustrating an acoustic interaction method performed by a first device according to some scenarios described herein.
[0058] Figure 3 A flowchart is shown illustrating a sound wave interaction method performed by a second device according to some scenarios described herein.
[0059] Figure 4 A flowchart is shown for an acoustic interactive verification method performed by a third device according to some scenarios described herein.
[0060] Figure 5 A schematic diagram of the structure of an acoustic wave interaction device according to some scenarios described herein is shown.
[0061] Figure 6 A schematic diagram of the system modules of an acoustic wave interaction system according to some scenarios described in this paper is shown.
[0062] Figure 7 The following diagram illustrates the timing sequence of acoustic interaction and payment processing for some scenarios described in this paper.
[0063] Figure 8 A schematic diagram of the structure of an electronic device according to some scenarios described herein is shown. Detailed Implementation
[0064] The technical solutions described below, in conjunction with the accompanying drawings, provide a clear and complete description. It should be understood that the described embodiments are for illustrative purposes only and not for limiting the scope of this document. Other embodiments obtained by those skilled in the art based on the embodiments described herein without inventive effort are also within the scope of protection of this document. The terms "first," "second," and "third" are used only to distinguish different technical objects with the same or similar names and do not indicate quantity, order, or importance. Unless the context clearly indicates otherwise, the numbering of method steps is primarily for ease of reference and does not require that the steps be performed in numerical order; where there is no technical conflict, some steps may be performed in parallel, asynchronously, in interchangeable orders, or in combination.
[0065] The term "sound wave" in this document can include the audible sound frequency band, the high-frequency sound wave band near the upper limit of the audible sound frequency band, or mechanical waves within the ultrasonic frequency band. Some parameter scenarios in this document use high-frequency sound waves in the range of 18.0 kHz to 21.0 kHz, but do not limit sound wave interaction to this frequency range. The corresponding operating frequency band can be set according to the frequency response of the acoustic transducer, ambient noise, regional regulations, and the spatial range to be covered.
[0066] The first device can refer to an acoustic transceiver that outputs challenge acoustic waves and receives response acoustic waves. In a payment scenario, the first device can be a merchant acoustic transceiver device, payment terminal, or smart terminal deployed in the checkout area. In other scenarios, the first device can also be an access control terminal, pairing terminal, service device, vehicle-mounted terminal, or other device that requires verification of nearby devices. The second device can be, for example, a mobile terminal, wearable device, or other user-side device with acoustic wave acquisition, acoustic wave output, and network communication capabilities. The third device can be, for example, a server, server cluster, cloud computing node, edge computing node, or other computing device capable of processing interactive data. In this document, the first challenge data is used for the verification of the first device, which can mean that the first challenge data is used to determine the first device corresponding to the first interactive data, or to determine whether the first interactive data and the corresponding second interactive data correspond to the same first device. The third device can query the challenge data index based on the first challenge data and the second challenge data, and when the query results jointly indicate a unique candidate first device, it determines that the corresponding acoustic interaction has passed the consistency verification of the first device. For example, in a merchant payment scenario, the first device can be a merchant acoustic transceiver device, and the third device can determine the merchant acoustic transceiver device corresponding to the current interaction of the user's mobile terminal based on the first challenge data reported by the merchant and the second challenge data reported by the user's mobile terminal, and output the payment link or payment page data associated with the corresponding merchant after verification.
[0067] The first challenge data can represent the challenge data obtained by the first device and carried in the first acoustic signal, and the first challenge data is used for verification by the first device. The second challenge data can represent the challenge data obtained by the second device by receiving and processing the first acoustic signal. Under the condition that the signal transmission and decoding are correct, the first challenge data and the second challenge data can have the same data value; "first" and "second" here distinguish the subject that obtains the corresponding data and the recording location.
[0068] Authentication data can represent data associated with the second device and capable of participating in the generation or verification of response data, including device-level keys, session keys, keys derived from the master key, or other authentication credentials. Second response data can represent response data generated by the second device based on second challenge data and corresponding authentication data. First response data can represent response data obtained by the first device through receiving and processing a second acoustic signal carrying the second response data. If decoded correctly, the first response data and the corresponding second response data can have the same data value.
[0069] The first interactive data can represent data generated by the first device based on its sound wave transmission and reception records and output to the third device. The second interactive data can represent data generated by the second device based on its sound wave reception and output records and output to the third device. Therefore, the first and second interactive data can be generated by different devices and arrive at the third device via independent network channels. The third device can match each second interactive data with the first interactive data without depending on the order in which the two types of interactive data arrive.
[0070] refer to Figure 1 , Figure 1 A schematic diagram of the data interaction timing of an acoustic wave interaction system is shown. Figure 1 This solution is illustrated using only one first device, one second device, and one third device to visually demonstrate the main acoustic and network interactions. Figure 1 There are no restrictions on the number, structure, or specific implementation of various types of devices. During actual interaction, multiple second devices may exist within the acoustic wave coverage area of the first device.
[0071] like Figure 1 As shown, the first device outputs a first acoustic signal carrying first challenge data. The second device receives and decodes the first acoustic signal to obtain second challenge data, generates second response data based on the second challenge data and authentication data associated with the second device, and outputs a second acoustic signal carrying the second response data. The first device receives and decodes the second acoustic signal to obtain first response data, and records the round-trip time (RTT) from the time the first acoustic signal is transmitted to the time the second acoustic signal is received.
[0072] The first device sends first challenge data, first response data, and RTT (Real-Time To Response) and other first interaction data to the third device via the network; the second device sends second challenge data, second response data, and device data and location data and other second interaction data to the third device via the network. The device data may include the second device identifier, and the location data may represent the location of the second device during the interaction.
[0073] The third device performs a reverse query on the challenge data index based on the first and second challenge data. When both query results point to the same candidate first device, it further performs bidirectional matching of the challenge data and response data on both sides. It then performs Hash-based Message Authentication Code (HMAC) verification based on the authentication data associated with the second device, and performs physical plausibility checks based on RTT and location data. Based on the matching and verification results, the third device outputs the verification result of the acoustic interaction, and can output a payment link or other subsequent processing data after successful verification.
[0074] refer to Figure 2 , Figure 2 A flowchart illustrating an acoustic wave interaction method performed by a first device is shown. The first device may be, for example, Figure 1 The first device in the process. The method may include steps S210 to S240.
[0075] In step S210, the first device outputs a first acoustic signal carrying the first challenge data. For example, the first acoustic signal may include one or more challenge frames, each of which may include, for example, frame synchronization data, first challenge data, and verification data. In some cases, the first device may broadcast the first acoustic signal within a preset spatial range, or it may output the first acoustic signal to a preset directional range via a directional transducer. For example, in the checkout area of a checkout scenario, this preset spatial range may be approximately 1 to 5 meters in front of the first device.
[0076] In some scenarios, the first device can generate first challenge data based on a challenge data seed and the current time window. For example, the challenge data seed can be allocated by a third device when the first device registers or activates and stored in an access-controlled storage area of the first device; when the first device powers on or starts the acoustic interaction service, it can read the challenge data seed from this storage area. The access-controlled storage area can include a secure element, a trusted execution environment, an encrypted storage area, or a storage partition accessible only to authorized programs. Furthermore, the first device can synchronize its time with the third device via Network Time Protocol (NTP) and determine the current time window based on the synchronized current time. The time window can, for example, have a duration of 30 seconds.
[0077] In some scenarios, the first device can generate first challenge data based on the challenge data, a seed, and the current time window, using HMAC operations. One or more of the current time window's number, start time, or end time can be encoded as a message. The challenge data seed can be used as a key or key derivation input, and the HMAC operation result can be truncated or encoded to obtain first challenge data of a length suitable for acoustic frame transmission. Different time windows correspond to different operation inputs, thus generating different first challenge data.
[0078] Furthermore, in response to entering the next time window, the first device can generate a seed based on the challenge data and update the first challenge data for the next time window. For example, the first device can pre-calculate the first challenge data corresponding to the next time window before the time window boundary, and replace the challenge frame in the acoustic output buffer with the new challenge frame after detecting a time window switch. Within the current time window, the first device can cyclically output the first acoustic signal carrying the same first challenge data. Cyclic output can include no interval between adjacent challenge frames, or it can include setting an interval shorter than the time window between adjacent challenge frames. Thus, without the need for the second device to establish a network session with the first device in advance, the second device entering the corresponding acoustic coverage area can obtain the current first challenge data. For challenge data corresponding to an expired time window, it can be rejected by the current challenge data index to reduce the reuse of expired acoustic signals. In some cases, the first challenge data can be an encoded value that does not have directly interpretable business semantics and does not directly carry the first device identifier. Different first devices can use different challenge data to generate seeds, so that challenge data and response data recorded at one first device usually cannot be matched in the current challenge data index of another first device; the challenge data of the same first device is updated with time windows, so that records that have passed the time window become invalid in subsequent time windows, thereby reducing the possibility of cross-device or cross-time window replays being accepted.
[0079] In some cases, the first device can encode the first challenge data into a first acoustic signal and output the first acoustic signal via an acoustic output unit. The first challenge data can be encoded into the first acoustic signal using Dual-Tone Multi-Frequency (DTMF) encoding. DTMF encoding maps each data unit to a combination of two frequency components and outputs multiple frequency component combinations in the order of the data units. The DTMF encoding described herein is not limited to the frequency values used in telephone communication; it can map each frequency component to the high-frequency band used by the first acoustic signal. The second device can perform energy calculations on preset frequency components without needing to obtain the complete spectrum of the audio stream, thereby reducing the computational load of challenge data decoding.
[0080] The challenge frame may, for example, also include Cyclic Redundancy Check (CRC) data. The first device can perform frame formation processing on the frame synchronization data, the first challenge data, and the CRC data, and convert the frame formation result into a time-domain signal for driving the acoustic output unit. The acoustic output unit may include an ultrasonic piezoelectric transducer or a moving-coil loudspeaker. An ultrasonic piezoelectric transducer can provide a relatively focused output direction, while a moving-coil loudspeaker can support the output of different frequency components over a wide acoustic frequency band. Therefore, the acoustic output unit can be selected based on one or more of deployment space, directivity, and cost.
[0081] In a frequency division duplex (FDD) configuration, the operating frequency of the first acoustic signal can be between 18.0 kHz and 19.5 kHz, and the operating frequency of at least one second acoustic signal can be between 19.5 kHz and 21.0 kHz. In one parameter configuration, the first acoustic signal uses a first high-frequency band above 18.0 kHz and below 19.5 kHz, and the second acoustic signal uses a second high-frequency band above 19.5 kHz and not higher than 21.0 kHz; 19.5 kHz can be used as the dividing value between the two frequency bands, actually used when the frequency components of the two types of signals are different from each other.
[0082] In the FDD scenario, the first device can perform the output of a first acoustic signal and the reception of at least one second acoustic signal in parallel. Parallel execution can mean that the first device, while outputting the first acoustic signal for at least a portion of the time, simultaneously monitors a second high-frequency acoustic band using a microphone and a corresponding receiving channel. The first device can configure different bandpass filters for the acoustic output channel and the acoustic receiving channel to reduce interference from the first acoustic signal to the reception of the second acoustic signal.
[0083] In another Time Division Duplex (TDD) scenario, the first device can output a challenge frame carrying first challenge data in a first time slot and receive at least one response frame in a second time slot that does not overlap with the first time slot. A silence interval can be set between the first and second time slots to allow the first and second devices to switch their sound wave input / output states. For example, the first device can output a challenge frame for approximately 700 milliseconds in a first time slot, establish a silence interval of approximately 100 milliseconds after the first time slot, and receive a response frame in a second time slot of approximately 300 milliseconds after the silence interval ends. The TDD scenario can be applied when the audio systems of either the first or second device do not support simultaneous recording and playback of sound wave signals.
[0084] In another scenario, the first acoustic signal and at least one second acoustic signal can operate in the same frequency band from 18 kHz to 21 kHz and are encoded using distinct spreading codes. The first acoustic signal can use the first spreading code, while different second acoustic signals can use second spreading codes distinguishable from the first spreading code. The first device can perform Code Division Multiple Access (CDMA) processing on the received signals, distinguishing the signal components from the challenge direction and the response direction based on the correlation results of different spreading codes.
[0085] FDD, TDD, and CDMA represent different dimensions of acoustic signal separation in this paper. FDD can separate the challenge direction and response direction according to frequency, TDD can separate the challenge direction and response direction according to time slot, and CDMA can separate different signals according to spreading code. The above configurations can be used individually; where technically compatible, code division multiple access can also be combined with frequency division duplex or time division duplex.
[0086] In step S220, the first device receives at least one second acoustic signal output by at least one second device in response to the first acoustic signal. Each second device may obtain second challenge data based on the first acoustic signal, generate second response data based on the second challenge data and authentication data associated with the second device, and encode the second response data into the corresponding second acoustic signal.
[0087] At least one second acoustic signal can be received, for example, by a microphone of the first device. For instance, the microphone of the first device can be connected to a passive acoustic focusing structure. The passive acoustic focusing structure can include a parabolic reflector or a passive horn and can focus sound waves from a preset directional range onto the area where the microphone is located. The passive acoustic focusing structure can provide approximately 3 dB to 6 dB of passive gain to the received signal without requiring a separate active amplification circuit for the focusing structure. The reflective surface and focal point of the parabolic reflector can be configured according to the microphone's position and a preset direction of sound wave incidence; the passive horn can guide incident sound waves to the microphone through a gradually narrowing acoustic channel.
[0088] In some cases, the first device can monitor the response band used to transmit at least one second acoustic signal, and demodulate and decode the detected acoustic signal in response to the detection of the acoustic signal in the response band. The first device can perform one or more of bandpass filtering, automatic gain control, and energy detection on the microphone input signal. When the signal energy in the response band reaches a detection threshold or a preset frame synchronization structure is detected, the first device can identify the corresponding audio segment as the acoustic signal to be demodulated and decoded.
[0089] In some cases, the second acoustic signal carries second response data encoded using direct sequence spread spectrum (DSSS). The first device can use a matched filter to demodulate and decode the detected acoustic signal using DSSS. The matched filter can use filter coefficients corresponding to the spreading sequence used by the second device for spreading encoding and perform correlation operations between the received signal and the spreading sequence. When the correlation peak reaches the correlation detection threshold, the first device can perform frame synchronization based on the position of the correlation peak and perform despreading and data decision on the corresponding chip sequence.
[0090] In step S230, the first device obtains corresponding first response data based on each of the at least one second acoustic signal. The first device can determine the demodulation and decoding result corresponding to a second acoustic signal as candidate response data, and obtain the first response data after performing frame verification on the candidate response data. The first device can save one or more of the following for each first response data: reception completion time, signal strength, correlation peak value, spreading code identifier used, and frame verification result.
[0091] In some cases, the first device can perform CRC verification on the decoding result of the corresponding second acoustic signal and obtain the corresponding first response data based on the decoding result that passes the CRC verification. When the second acoustic signal includes multiple signal frames, the first device can decode and perform CRC verification on each signal frame separately. If the decoding result of the current signal frame fails the CRC verification, the first device can discard the decoding result of the current signal frame and decode the next signal frame. After the decoding result of a signal frame passes the CRC verification, the first device can either end the decoding of subsequent repeated signal frames carrying the same second response data, or continue processing subsequent repeated signal frames to determine the data reliability based on the processing results of multiple frames.
[0092] In some cases, the second acoustic signal comprises multiple signal frames carrying the same encoded result. The first device can coherently superimpose multiple signal frames of the corresponding second acoustic signal received via a passive acoustic focusing structure. Coherent superposition may include aligning the chips or sampling points of multiple signal frames according to frame synchronization results, correcting compensable phase deviations, and superimposing the aligned signal samples, matched filter outputs, or related detection results. The first device can despread, perform data decision, and CRC check on the superposition result to obtain first response data.
[0093] In one parameter scenario, the second device can employ a spread spectrum sequence of 128 chips generated based on a Gold sequence, and sequentially output five signal frames carrying the same encoding result. These five signal frames can be repeatedly output in chronological order, rather than being simultaneously superimposed at the acoustic output of the second device. Under ideal correlation detection conditions, the theoretical processing gain corresponding to the 128-chip spread spectrum sequence can be expressed as 10×log10(128), approximately 21 dB; the theoretical superposition gain corresponding to the coherent superposition of the five repeating signal frames can be expressed as 10×log10(5), approximately 7 dB. When the approximately 21 dB spread spectrum processing gain, the approximately 7 dB multi-frame coherent superposition gain, and the approximately 3 dB to 6 dB passive acoustic focusing gain work together, a link enhancement of approximately 31 dB to 34 dB can be achieved in a representative configuration. The above values are used to illustrate a possible parameter combination and do not require the actual gain to reach the same value.
[0094] When at least one second device includes multiple second devices, the multiple second devices can each output multiple second acoustic signals. These multiple second acoustic signals may partially overlap in time or arrive at the first device at different times. The first device can perform CDMA demodulation on the multiple second acoustic signals, using multiple matched filters or correlators corresponding to multiple spreading codes to extract different signal components, thereby obtaining multiple first response data corresponding to the multiple second devices. The spreading codes can be selected from a code family with low cross-correlation. The first device can assign each demodulation and decoding result to a corresponding reception record based on the correlation peak position, frame synchronization information, or a spreading code identifier associated with the signal frame.
[0095] Alternatively or alternatively, in some example scenarios, the operating frequency band and spreading code can be selected collaboratively according to a preset candidate frequency band and a preset code set. In frequency division duplex (FDM) scenarios, the second device can search for and receive the first acoustic signal within a preset challenge frequency band, and select a sub-frequency band for outputting the second acoustic signal within a preset response frequency band monitored by the first device based on the acoustic output frequency response; the first device can monitor the entire preset response frequency band, or sequentially monitor multiple candidate sub-frequency bands within that response frequency band. In code division multiple access (CDMA) scenarios, multiple second devices can select different spreading codes from a code family with low cross-correlation according to the second device identifier, a pre-assigned code index, or other preset mapping relationships; the first device can detect the corresponding second acoustic signal using multiple matched filters or correlators corresponding to the candidate spreading codes. A spread spectrum sequence with a length of 128 chips generated based on a Gold sequence can be obtained by generating a periodic Gold sequence according to a preset initial state and initial phase, and continuously obtaining 128 chips from the periodic Gold sequence; when the range of continuous acquisition crosses the boundary of a sequence period, chips can be obtained from the next sequence period.
[0096] The first device can construct a first response data list from multiple first response data obtained based on multiple second acoustic signals. Each list item in the first response data list may include the first response data and one or more of the following associated with the first response data: reception completion time, round-trip time, spreading code identifier, signal strength, or verification status. The order of the list items can be determined based on the reception time of the second acoustic signal, the spreading code identifier, or the data value of the first response data, but the third device does not need to rely on the list order to determine the correspondence between the first response data and the second interaction data.
[0097] The first device can record the round-trip time (RTT) from the transmission time of the first acoustic signal to the completion time of the reception of the corresponding second acoustic signal for each second acoustic signal. For multiple challenge frames cyclically output within the current time window, the first device can determine the challenge frame that triggered the generation of the corresponding second response data based on one or more of the frame sequence number, the first challenge data, the transmission time, and related fields in the response frame, and calculate the RTT using the transmission time of that challenge frame. This reduces the time calculation error caused by using the transmission times of unrelated challenge frames.
[0098] In step S240, the first device outputs first interaction data, enabling the third device to output a verification result of one or more acoustic interactions between the first device and at least one second device, based on the first interaction data and input from one or more second interaction data from at least one second device. The first interaction data may include first challenge data and one or more first response data obtained based on at least one second acoustic signal. The first device may encode the first interaction data and output the encoded first interaction data to the third device via a wired network, wireless local area network, or mobile communication network.
[0099] The first device combines the first challenge data and the first response data obtained from the actual received second acoustic signal into first interaction data. The third device can then cross-match the second interaction data provided by the second device via the network with the acoustic reception record formed by the first device. In this way, the verification process can utilize the records formed by the two physical devices simultaneously, thereby reducing the verification risk caused by relying solely on the data reported by the second device and providing storable and searchable data evidence to determine whether the acoustic link has completed closed-loop interaction.
[0100] In some scenarios, the first device may construct first interactive data including additional verification data and output this first interactive data to the third device. The first interactive data may also include a time window number corresponding to the first challenge data and one or more Time-to-Time (RTTs) associated with one or more first response data. The time window number allows the third device to select the current challenge data index, and the association between the RTT and the corresponding first response data allows the third device to obtain the RTT corresponding to the first response data after matching the second response data with the first response data.
[0101] The first device can compare each RTT with a preset duration threshold, and if any RTT exceeds the preset duration threshold, generate a detection result indicating that the corresponding acoustic interaction has failed the preset duration detection. The first interaction data may also include one or more detection results obtained based on one or more RTTs. The detection results may be represented by Boolean values, enumerated states, risk levels, or reason codes, and associated with the corresponding RTT or first response data.
[0102] In the FDD scenario, the preset duration threshold can be set to 300 milliseconds. Taking an interaction distance of approximately 5 meters as an example, the two-way propagation time of the first and second acoustic signals can be approximately 30 milliseconds, and the time required for the second device to generate the second response data and for the first device to perform spread spectrum demodulation and other processing can be approximately 100 milliseconds. Using the same timing reference, the corresponding RTT can be approximately 130 milliseconds, and is typically less than 150 milliseconds. Less than 150 milliseconds can represent a typical duration for normal acoustic interaction, while 300 milliseconds can represent a threshold used for risk detection; the two are not two parallel verification thresholds.
[0103] In the TDD scenario, RTT can include at least a portion of the duration of the first time slot, the silence interval, and the second time slot. Therefore, the preset duration condition for the TDD scenario can be set separately based on the first time slot, the silence interval, the second time slot, and the allowed device processing margin, instead of directly adopting the 300 millisecond threshold used in the FDD scenario. In the aforementioned TDD scenario, the second time slot lasts approximately 300 milliseconds; this duration represents the duration of the signal time slot and is a different parameter from the 300 millisecond threshold used for risk detection in the FDD scenario.
[0104] In some examples, a third device can select the appropriate challenge data index based on the time window number in the first interaction data. The challenge data index can include a correspondence between multiple candidate challenge data and multiple candidate first devices. The third device can query the challenge data index using the first challenge data and also query the same challenge data index using the second challenge data in each of the second interaction data. If the first challenge data and the second challenge data correspond to the same candidate first device in the challenge data index, that candidate first device can be identified as the target first device.
[0105] For each second interaction data, the third device can compare the second challenge data in the second interaction data with the first challenge data in the first interaction data, and search for first response data that matches the second response data in the second interaction data among one or more first response data. When the second challenge data matches the first challenge data, and there is first response data that matches the second response data among one or more first response data, a matching result indicating that the corresponding challenge-response consistency verification has passed can be obtained.
[0106] The third device can also generate expected response data for each second interaction data based on the second challenge data in the second interaction data and the authentication data associated with the corresponding second device through HMAC calculation. The third device can compare the second response data in the second interaction data with the expected response data, and obtain the authentication data verification result based on whether the two match. This calculation can be performed by the third device; the first device does not need to obtain or output the authentication data associated with the second device when outputting the first interaction data.
[0107] Each second interactive data may also include the location data of the corresponding second device. The third device may obtain the location data of the first device from the device registration database, the first interactive data, or the location data of the first device, and determine whether the distance between the location data of the corresponding second device and the location data of the first device meets a preset distance condition. The preset distance condition may include that the distance is not greater than a preset distance threshold, which may be set according to one or more of the coverage range of the first acoustic signal, the detectable range of the second acoustic signal, and the positioning accuracy.
[0108] refer to Figure 3 , Figure 3 A flowchart of an acoustic wave interaction method performed by a second device is shown. The method includes steps S310 to S350. For example, the second device could be... Figure 1 The second device in the system.
[0109] In step S310, the second device receives the first acoustic signal output by the first device, the first acoustic signal carrying the first challenge data. The first device can cyclically output challenge frames within the current time window, and the second device can perform acoustic detection without prior knowledge of the first device's identity.
[0110] In response to the launch of the acoustic interaction application, the second device can control the microphone to acquire an audio stream at a sampling rate of at least 44.1 kHz and perform acoustic listening on the audio stream without requiring the user to click a separate listening button. During listening, the application interface can display "Identifying Merchant" without displaying a QR code scanning box.
[0111] The second device can also control acoustic detection by combining the detection results of an accelerometer or a Bluetooth Low Energy beacon. For example, acoustic detection can be initiated when the second device is detected to be picked up or enter a preset near-field range, and the detection duty cycle can be reduced when the triggering conditions are not met.
[0112] The second device can select one or more operating frequency bands within a candidate range of 16 kHz to 22 kHz for receiving the first acoustic signal and outputting the second acoustic signal, based on the acoustic wave receiving frequency response and the acoustic wave output frequency response, to accommodate the differences in acoustic devices of different terminals.
[0113] In step S320, the second device obtains the second challenge data based on the first acoustic signal. The second device can perform real-time frequency domain analysis on the acquired audio stream, search for signal power peaks within the challenge frequency band, detect preset frequency components, identify the frame header, payload, and check field of the challenge frame, and restore the payload to candidate challenge data.
[0114] When the first challenge data uses dual-tone multi-frequency (DTMF) coding, the second device can use the Gosser algorithm for decoding and perform cyclic redundancy check (CRC) on the decoding result to obtain the second challenge data based on the decoded result that passes the CRC check. As an alternative to spectrum analysis, the second device can also use Fast Fourier Transform (FFT) to determine the corresponding frequency components.
[0115] The first acoustic signal may include multiple challenge frames. If the decoding result of a challenge frame fails the cyclic redundancy check, the second device may discard the decoding result and continue processing the next challenge frame until the second challenge data that passes the check is obtained or the preset listening time is reached.
[0116] In step S330, the second device generates second response data based on the second challenge data and authentication data associated with the second device. The authentication data may include a device-level key, a derived key, or other authentication credentials stored in the access-controlled area. The device-level key may be generated and stored in the access-controlled area upon initial activation of the acoustic interaction application.
[0117] The second device can use the second challenge data as the message input and the device-level key as the key input to perform a hash-based message authentication code operation to generate the second response data. Different second devices can generate corresponding second response data for the same challenge data based on their respective authentication data. In some cases, the second response data may not directly carry the second device identifier, making it difficult for entities that have not obtained the corresponding authentication data to construct verifiable second response data before obtaining the current second challenge data.
[0118] Alternatively or alternatively, in some example scenarios, the second device may generate a device-level key upon initial activation of the acoustic interaction application or device registration, store the device-level key in an access-controlled area, and register the second device identifier and authentication data corresponding to the device-level key with the third device via an authenticated secure network connection. Where the device-level key is directly used as the key input for hash-based message authentication code calculations, the authentication data stored on the third device side may include the same device-level key as the second device side; where a derived key is used, the second and third devices may each store or derive the same response verification key. The third device may associate the second device identifier with the corresponding authentication data and store it in an access-controlled storage area, and retrieve the corresponding authentication data based on the second device identifier when verifying the second interaction data to regenerate the expected response data. The device-level key or response verification key does not need to be transmitted via the first or second acoustic signal. This paper reduces replay risk based on dynamic challenge data, including at least reducing the likelihood of replays being accepted across the first device and across time windows; the third device may also perform merging or deduplication on duplicate network reports with the same interaction record identifier to avoid the same interaction record being processed repeatedly.
[0119] In step S340, the second device outputs a second acoustic signal carrying the second response data, so that the first device obtains the first response data from the second acoustic signal. The second acoustic signal may be output by a loudspeaker, piezoelectric transducer, or other acoustic output component of the second device.
[0120] The second device can use a spreading sequence generated based on the Gold sequence to perform direct sequence spread spectrum coding on the second response data and output a response frame carrying the coding result. For example, a spreading sequence with a length of 128 chips generated based on the Gold sequence can be used to output 5 response frames in sequence to obtain spread spectrum processing gain and multi-frame processing gain.
[0121] In frequency division duplex mode, the second device can receive the first acoustic signal and output the second acoustic signal simultaneously, and perform echo cancellation processing. In time division duplex mode, the second device can receive a challenge frame in the first time slot and output a response frame in the second time slot that does not overlap with the first time slot. A silence interval can be set between the two time slots.
[0122] In step S350, the second device outputs second interaction data, so that the third device combines the first interaction data from the first device to output a verification result of the acoustic interaction between the first device and the second device. The second interaction data includes second challenge data and second response data, and the first interaction data includes first challenge data and one or more first response data.
[0123] The second interactive data may also include the location data and timestamp of the second device. The location data can be obtained from a Global Positioning System (GPS), a wireless LAN positioning component, a base station positioning component, or a Bluetooth positioning component. The second device can report the second interactive data to the third device via a network connection using the Hypertext Transfer Protocol Secure (HTTPS).
[0124] As an independent alternative implementation method distinct from the aforementioned two-way acoustic closed-loop, after obtaining the challenge data, the second device can report the challenge data, GPS location data, and device identifier to the third device via a network instead of transmitting response data back through the second acoustic signal. The third device then sends the corresponding response data to the first device via the network connection of the first device, thereby forming a hybrid interaction between acoustic challenge data and network response data. This alternative implementation method is not simultaneously limited to the aforementioned requirement that the second response data be carried in the second acoustic signal.
[0125] In the example payment scenario, the second device can receive the payment link after successful acoustic interaction verification. Before the payment confirmation page is displayed, the second device can output a short vibration or prompt tone to indicate that recognition is complete; subsequently, based on the payment link, a payment confirmation page including payee information, payment amount input controls, and payment confirmation controls is displayed.
[0126] The second device can receive payment amounts entered via a payment confirmation page and confirm payment. The payment amount can be entered by the user, or it can be pre-provided by the user from a payment link or payment page data and confirmed by the user.
[0127] In response to the payment confirmation operation, the second device can output a payment request, including the payment amount, to the third device. Since merchant identification and acoustic authentication are performed automatically after the application starts, the payment confirmation page after automatic identification can be the first transaction interface that the user needs to operate, without having to select a merchant, call the scanning function, or align the barcode with the scanning frame separately.
[0128] In some examples, the second device can receive the payment completion result from the third device and update the payment confirmation page, output a notification sound or vibration, or display a payment result page accordingly. The payment completion result may include payment status, transaction identifier, payment amount, or completion time.
[0129] refer to Figure 4 , Figure 4 A flowchart of an acoustic wave interactive verification method performed by a third device is shown. The method may include steps S410 to S430. For example, the third device may be… Figure 1 The third device in the process. Index maintenance, data matching, authentication verification, physical condition verification, and result output can be performed by the same service or by multiple service components that communicate with each other.
[0130] In step S410, the third device receives first interaction data from the first device and one or more second interaction data from at least one second device. The first interaction data includes first challenge data and one or more first response data. The first challenge data is carried in a first acoustic signal output by the first device, and the one or more first response data are obtained by the first device based on at least one second acoustic signal output by at least one second device in response to the first acoustic signal. Each second interaction data includes second challenge data obtained by the corresponding second device based on the first acoustic signal, and second response data generated by the corresponding second device based on the second challenge data and authentication data associated with the corresponding second device. The second response data is carried in a corresponding second acoustic signal output by the corresponding second device.
[0131] Furthermore, the first interaction data may also include, for example, a time window number, one or more round-trip times associated with one or more first response data, location data of the first device, or a first interaction record identifier. Each second interaction data may also include location data and a timestamp of the corresponding second device, and may further include a device identifier or a second interaction record identifier of the corresponding second device. The location data and timestamp can be used to perform spatial and temporal rationality checks, and can also be used to distinguish states such as data not yet fully arrived, data expired, and acoustic interaction failing verification.
[0132] In step S420, for each second interaction data, the third device matches the second interaction data with the first interaction data. For multiple second interaction data generated by different second devices, the third device can perform matching and maintain verification status separately, without inferring the correspondence between the second device and the first response data based on the arrival order of the multiple second interaction data. Matching may include one or more of the following: challenge data index query, challenge data matching, response data matching, expected response data verification, round-trip time detection, and location verification. Each verification process can be selected, combined, or executed in parallel according to the deployment configuration; it does not mean that all processes must be executed for every verification.
[0133] In some scenarios, the third device generates candidate first challenge data for each of the multiple candidate first devices, based on the challenge data associated with that candidate first device and the current time window. It then establishes a challenge data index based on the correspondence between the multiple candidate first challenge data and the multiple candidate first devices. The challenge data index may include a hash table, a key-value index, a database index, or other data structures that support querying candidate first devices based on the candidate first challenge data.
[0134] Each candidate first challenge data can be generated based on a seed and a current time window generated from the challenge data associated with the corresponding candidate first device, through a hash-based message authentication code operation. The third device can use the same time window division and message organization method as the candidate first device to generate candidate first challenge data with the same data value as the first challenge data output by the candidate first device within the current time window. Generating candidate first challenge data based on a time window allows the challenge data to be updated over time; performing hash-based message authentication code operations based on the seed generated from protected challenge data ensures that the challenge data propagating in the acoustic channel does not directly carry the first device identifier.
[0135] In some scenarios, the third device queries the challenge data index based on the first challenge data in the first interaction data to obtain a first lookup result, and queries the challenge data index based on the second challenge data in the currently processed second interaction data to obtain a second lookup result. The first and second lookup results can each indicate a candidate first device or a candidate set consisting of multiple candidate first devices. The third device can determine the intersection between the first candidate set indicated by the first lookup result and the second candidate set indicated by the second lookup result. If the intersection includes only one candidate first device, the third device identifies that single candidate first device as the target first device and determines that the corresponding acoustic interaction passes the first device consistency verification. If the intersection is empty or includes multiple candidate first devices, the third device does not identify any candidate first device as the target first device and can determine that the corresponding acoustic interaction fails the first device consistency verification, or keep the corresponding acoustic interaction in a pending verification state.
[0136] When candidate first challenge data is obtained by truncation of the result of hash-based message authentication code calculation, different candidate first devices may correspond to the same candidate first challenge data. The challenge data index can preserve the correspondence between the same candidate first challenge data and multiple candidate first devices without overwriting earlier-written correspondences with later-written ones. The third device determines the target first device only when two lookup results jointly indicate a unique candidate first device. The truncation length can also be set based on the number of candidate first devices, the allowed collision probability, or the available length of the acoustic frame, and the length of the candidate first challenge data used in subsequent time windows can be increased when an index collision is detected.
[0137] In some scenarios, for each second interaction data, the third device compares the second challenge data in that second interaction data with the first challenge data in the first interaction data. If they match, the third device determines that the corresponding acoustic interaction has passed the challenge data consistency verification; if they do not match, the third device determines that the corresponding acoustic interaction has failed the challenge data consistency verification. Even if the first challenge data and the second challenge data point to the same candidate first device via the challenge data index, the third device can still directly compare their data values to detect situations where different challenge data output by the same first device in adjacent time windows are combined.
[0138] In some scenarios, for each second interaction data, the third device searches for a first response data that matches the second response data in one or more first response data sets of the first interaction data. If a matching first response data set exists, the third device determines that the corresponding acoustic interaction has passed the response data consistency verification and may record the position of the first response data set in the first response data list; if no matching first response data set exists, the third device determines that the corresponding acoustic interaction has failed the response data consistency verification. This process can verify whether the second response data reported by the corresponding second device in the network is also received by the first device via the second acoustic signal, rather than simply verifying whether the second device can generate network data in the correct form.
[0139] In some scenarios, each second interaction data may include a device identifier for the corresponding second device. The third device determines the authentication data associated with the corresponding second device based on the device identifier, and generates expected response data through a hash-based message authentication code operation based on the second challenge data in the current second interaction data and the authentication data. The third device compares the second response data in the second interaction data with the expected response data, and obtains the authentication data verification result based on whether they match. The authentication data may include a device-level key or a verification key derived from the device-level key. By obtaining the authentication data based on the second device identifier and regenerating the expected response data, it is possible to check whether the second response data was generated by the second device holding the corresponding authentication data for this second challenge data.
[0140] In some scenarios, at least one second device includes multiple second devices, each associated with different authentication data. These multiple second devices can obtain second challenge data with identical data values from the same first acoustic signal, and generate corresponding second response data based on the same second challenge data and the authentication data associated with their respective second devices. A first device can record multiple first response data obtained from the multiple second acoustic signals in a first response data list. A third device can determine the corresponding match from the first response data list based on the second response data in each second interaction data, and output the verification results corresponding to the multiple second devices. Thus, multiple second devices within the same acoustic coverage area can share challenge broadcasts while maintaining the association between each response data and verification status and the corresponding second device.
[0141] In some cases, the first interaction data may include one or more round-trip times associated with one or more first response data. Each round-trip time represents the duration from the transmission time of the first acoustic signal to the completion time of the reception of the corresponding second acoustic signal. For each second interaction data, the third device first determines the first response data that matches the second response data, then obtains the round-trip time associated with the first response data, and determines whether the round-trip time meets a preset duration condition. The round-trip time is recorded by the first device based on the actual transmission and reception times of the acoustic signals, without relying on the timing results reported by the second device. The detectable distance of the second acoustic signal may be limited to a few meters; when the Challenge or Response is forwarded via an additional relay path, the increased transmission and processing delays may be reflected in the round-trip time.
[0142] If the round-trip time associated with the first response data matching the second response data in the current second interaction data exceeds a preset duration threshold, the third device determines that the corresponding acoustic interaction has failed the preset duration detection. For frequency division duplex (FDD) scenarios, the preset duration threshold can be set to 300 milliseconds, and the round-trip time for normal acoustic interaction can be, for example, less than 150 milliseconds. The normal interaction duration is a different parameter from the threshold used for risk detection. For time division duplex (TDM) scenarios, the preset duration condition can be set separately based on the first time slot, the silence interval, the second time slot, and the allowed processing margin. Utilizing the round-trip time recorded by the first device and associated with the matching first response data can reduce the uncertainty caused by judging physical propagation relationships solely based on the network reporting time of the second device and helps identify relay paths that introduce additional transmission delays.
[0143] In some scenarios, each second interaction data may include the location data of the corresponding second device. A third device obtains the location data of the first device and determines whether the distance between the location data of the corresponding second device and the location data of the first device meets a preset distance condition. The location data of the first device may come from the first device's registration data, the location data currently reported by the first device, or location data associated with the first device's deployment location. If the distance is greater than a preset distance threshold, the third device determines that the corresponding acoustic interaction has failed location verification; if the distance is not greater than the preset distance threshold, the third device can determine that the corresponding acoustic interaction has passed location verification. The preset distance threshold can be set in conjunction with acoustic coverage and positioning error. Location verification can provide additional spatial rationality information for acoustic closed-loop matching and, together with round-trip time detection, forms a verification status.
[0144] In some scenarios, the third device performs a logical AND operation on multiple sub-verification results obtained for each second interaction data to obtain the corresponding acoustic interaction verification result. These multiple sub-verification results may include the first device's consistency verification result, challenge data consistency verification result, response data consistency verification result, and authentication data verification result, and may also include preset duration detection results, location verification results, or other enabled verification results. The third device obtains a verification pass result when all enabled sub-verification results indicate success; if any enabled sub-verification result indicates failure, the third device obtains a verification failure result. By combining sub-verification results from index queries, acoustic reception records, cryptographic verification, and physical condition detection, relying on a single source to determine the acoustic interaction state can be avoided. Figure 7 In the payment scenario where all three layers of verification are enabled, the first device consistency verification, challenge response closed loop and HMAC verification, as well as RTT and location physical verification are all enabled. The third device can determine that the corresponding acoustic interaction verification has passed when all three layers of verification have passed.
[0145] In step S430, the third device outputs the verification result of one or more acoustic interactions between the first device and at least one second device based on the matching result obtained for each second interaction data. The third device can generate a verification record for each second interaction data. The verification record may include one or more of the following: target first device identifier, second device identifier, matching position in the first response data list, associated round-trip time, distance between devices, various verification statuses, final verification status, and reasons for failure. The verification result can be output to the corresponding second device, first device, management terminal, or subsequent business services via an interface, or it can be written to a log or database that can be queried after the interaction ends.
[0146] If the verification result indicates that the corresponding acoustic interaction verification is successful, the third device can output a payment link associated with the first device to the corresponding second device. The third device can first query the independent device registration relationship based on the target first device identifier determined in the verification result, and then obtain the merchant application data associated with the target first device. The merchant application data may include one or more of the following: merchant name, merchant identifier image, and payment account information. The third device can generate or select a payment link based on the merchant application data and send the payment link or payment page data to the corresponding second device via an HTTPS connection. The payment link may have a preset validity period and can be associated with the verification record identifier of this acoustic interaction. Therefore, only the second device that has passed the acoustic interaction verification can enter the payment confirmation process based on the corresponding payment link.
[0147] In some scenarios, a third device can receive a payment request from a corresponding second device based on a payment link and perform payment processing based on the payment request. The payment request may include the payment amount, payment account information, a transaction token, a payment method identifier, or a sound interaction verification record identifier. Payment processing may include verifying the validity of the payment link, associating the payment request with the verified sound interaction, invoking the payment service to perform account processing, and recording the transaction status.
[0148] The third device can also output the payment completion result to the corresponding second device and output a payment notification to the payment notification terminal or merchant application associated with the target first device. The payment completion result may include one or more of the following: payment status, transaction identifier, payment amount, and completion time. The above payment processing associates the acoustic wave interaction verification result with the observable payment page and payment result, while not changing the device-level verification method of index building and query processing, which uses the first device as the index object.
[0149] refer to Figure 5 , Figure 5A schematic diagram of a sound wave interaction device 500 is shown. The sound wave interaction device 500 may include a sound wave signal output module 510, a sound wave signal receiving module 520, a response data acquisition module 530, and an interaction data output module 540. Each module can be implemented by software, hardware, firmware, or a combination thereof, and can be deployed in the same processor, different processors, programmable logic devices, audio processors, or multiple processing components that communicate with each other.
[0150] The acoustic signal output module 510 is configured to output a first acoustic signal carrying first challenge data; the acoustic signal receiving module 520 is configured to receive at least one second acoustic signal output by at least one second device in response to the first acoustic signal; the response data acquisition module 530 is configured to obtain corresponding first response data based on each second acoustic signal, wherein each second acoustic signal carries second response data generated by the corresponding second device based on the second challenge data and authentication data associated with the corresponding second device; the interaction data output module 540 is configured to output first interaction data including the first challenge data and one or more first response data, so that the third device combines one or more second interaction data from at least one second device to output a verification result of the corresponding acoustic interaction, wherein each second interaction data includes the second challenge data obtained by the corresponding second device and the generated second response data.
[0151] For details regarding the specific processing, optional configurations, data types, sound wave transmission and reception methods, matching and verification methods, and technical effects of each module in the acoustic interaction device 500, please refer to the various scenarios of the acoustic interaction method executed by the first device mentioned above. Without technical conflict, the aforementioned scenarios can be applied equally, similarly, or adaptively to the acoustic interaction device 500. To avoid repetition, they will not be elaborated here.
[0152] This document also provides a merchant device. The merchant device may include the aforementioned acoustic interaction device and a processor, memory, and network communication component communicating with it. The acoustic interaction device can send challenge acoustic waves, receive response acoustic waves, and obtain first response data; the processor can generate first interaction data; the network communication component can send the first interaction data to a third device and receive verification results or payment processing data. The merchant device may be a point-of-sale (POS) terminal, a payment terminal, a self-service checkout terminal, or a cash register control device, or it may be an acoustic interaction component integrated into the aforementioned devices. Related processing can refer to the method executed by the first device and the various scenarios of the acoustic interaction device 500 described above.
[0153] This document also provides a sound wave interaction system. The sound wave interaction system includes a first device, at least one second device, and a third device. The first device may include a sound wave interaction device 500, the aforementioned sound wave interaction device, or the aforementioned merchant equipment. At least one second device may include one or more mobile terminals, wearable devices, handheld terminals, vehicle-mounted terminals, or robot terminals. The third device may include a server, server cluster, cloud computing node, or edge computing node.
[0154] A first device is configured to output a first acoustic signal carrying first challenge data, receive at least one second acoustic signal output by at least one second device in response to the first acoustic signal, obtain corresponding first response data based on each of the at least one second acoustic signal, and output first interactive data. The first interactive data includes the first challenge data and one or more first response data obtained based on the at least one second acoustic signal.
[0155] Each of at least one second device is configured to receive a first acoustic signal, obtain second challenge data based on the first acoustic signal, generate second response data based on the second challenge data and authentication data associated with the corresponding second device, output a second acoustic signal carrying the second response data, and output second interaction data. The second interaction data includes the second challenge data and the second response data.
[0156] The third device is configured to receive first interactive data and one or more second interactive data from at least one second device, and based on matching each second interactive data with the first interactive data, output a verification result of one or more acoustic interactions between the first device and at least one second device. Regarding the specific processing, optional configurations, data types, acoustic transmission and reception methods, matching verification methods, and technical effects performed by the first device, at least one second device, and the third device, refer to the preceding descriptions of the methods performed by the first device, the second device, and the verification method performed by the third device. Where there is no technical conflict, the aforementioned scenarios can be applied equally, similarly, or adaptively to this acoustic interaction system; to avoid repetition, they will not be elaborated upon here.
[0157] To illustrate the coordination between various hardware entities and logic components, refer to... Figure 6 , Figure 6 The structure of the acoustic wave interaction system is shown. The system includes a user mobile terminal, a merchant acoustic wave transceiver device, and a backend. The boxes in the figure represent the functional components inside the corresponding devices, and the connections between the devices represent acoustic wave or network data interaction.
[0158] The user mobile terminal includes a frequency band adaptation module, a sound wave detection module, a response generation module, and a network communication module. The frequency band adaptation module selects the sound wave operating frequency band, the sound wave detection module receives and decodes the Challenge sound wave, the response generation module generates a response based on the Challenge and authentication data, and the network communication module reports user-side interaction data to the backend.
[0159] The merchant's acoustic transceiver device includes a Challenge generation module, an acoustic transmission unit, an acoustic reception unit, and a decoding and data reporting module. Figure 6 In the scenario shown, the acoustic wave emitting unit can be equipped with a parabolic reflector, and the acoustic wave emitting transducer can be located in the focal area of the parabolic reflector to direct or focus the Challenge acoustic wave, so that the Challenge acoustic wave covers a preset space range in front of the merchant's acoustic transceiver device.
[0160] As an alternative or additional configuration, a parabolic reflector, a passive horn, or other passive acoustic focusing structure can be placed in the propagation path of the sound wave receiving unit to receive the response sound wave, thereby focusing the response sound wave transmitted back by the user's mobile terminal onto the microphone and enhancing the reception of weak response sound waves. The parabolic reflector on the transmitting side and the passive acoustic focusing structure on the receiving side can be selected individually or separately.
[0161] The Challenge generation module generates a dynamic Challenge, the sound wave transmitting unit outputs the Challenge sound wave, the sound wave receiving unit receives the Response sound wave transmitted back from the user's mobile terminal, and the decoding and data reporting module recovers the Response and forms merchant-side interactive data.
[0162] The backend includes a time synchronization service, a hash index library for cross-validation, a transaction matching engine, and a payment processing module. The time synchronization service ensures that the merchant's acoustic transceiver device and the backend use the same time window; the hash index library supports reverse identification of candidate merchant acoustic transceivers based on the Challenge; the transaction matching engine cross-matches the data reported by both sides; and the payment processing module executes payment processing after successful verification.
[0163] according to Figure 6 The interaction principle is as follows: the merchant's acoustic transceiver outputs a Challenge acoustic wave to the user's mobile terminal, and the user's mobile terminal sends a Response acoustic wave back to the merchant's acoustic transceiver. The merchant's acoustic transceiver determines the RTT (Relay Time To Receive) based on the transmission time of the Challenge acoustic wave and the reception completion time of the Response acoustic wave, and performs relay detection based on the RTT. Both the user's mobile terminal and the merchant's acoustic transceiver send data to the backend via the network.
[0164] Figure 6 The line connecting the Challenge and Response acoustic wave return directions to "RTT Relay Detection" indicates the closed-loop propagation path formed by the transmission path of the Challenge and Response acoustic waves, and does not represent the user's mobile terminal sending data or messages named "RTT Relay Detection" to the merchant's acoustic transceiver. RTT is calculated locally by the merchant's acoustic transceiver based on the transmission time of the Challenge frame and the completion time of the reception of the corresponding Response frame.
[0165] The backend performs cross-validation based on the Challenge and Response data from both sides, and can also combine RTT and location data for physical plausibility checks. Upon successful validation, the backend provides payment page data to the user's mobile device through the payment processing module and processes subsequent payment requests.
[0166] refer to Figure 7 , Figure 7 The sequence of sound wave interactions and payment processing between the merchant's acoustic transceiver device, the user's mobile application (App), the backend, and the merchant is shown. Figure 7 The processing boxes and message flows for each participant are displayed in stages 1 through 6.
[0167] In Phase 1, after the merchant's acoustic transceiver is powered on or the acoustic interaction service is activated, it can read challenge data to generate a seed and maintain time synchronization with the backend via NTP. The merchant's acoustic transceiver plays Challenge sound waves in a loop within the Challenge frequency band of 18.0 kHz to 19.5 kHz and can update the Challenge every 30 seconds. After the user opens the App, the App performs frequency band adaptive detection and automatically starts acoustic listening.
[0168] In Phase 2, the user's mobile app decodes the Challenge using the Gosser algorithm or FFT, performs HMAC operations based on the Challenge and the device-level key to generate the Response, and performs direct sequence spread spectrum encoding using a 128-chip spread spectrum sequence generated based on the Gold sequence, outputting the Response acoustic wave from 19.5 kHz to 21.0 kHz in 5 frames. The merchant's acoustic transceiver receives the Response and performs multi-frame coherent superposition, matched filtering despreading, and cyclic redundancy check.
[0169] The merchant's acoustic transceiver records the transmission time when sending the Challenge frame corresponding to the current Response, and records the reception completion time when the corresponding Response frame is received, so as to determine the RTT based on the difference between the two times. Figure 7 The "RTT Measurement Start" indicator shown near the Response reception processing indicates that the merchant's acoustic transceiver device triggers RTT calculation and relay risk assessment processing after receiving the Response, and does not indicate that the timing start of the RTT is at the Response reception time.
[0170] In Phase 3, the merchant's acoustic transceiver can report verification events to the backend via Wi-Fi or 4G mobile communication networks. These verification events may include one or more of the following: the raw Challenge value (challenge_raw), the time window number, the Response value (response_value) or a list of Responses, and the RTT (Real-Time To Response). The verification event may not directly include the merchant identifier, allowing the backend to identify the corresponding merchant's acoustic transceiver based on the Challenge.
[0171] In Phase 4, the user's mobile app reports detection events to the backend via an HTTPS connection. These detection events can include one or more of the following: the raw Challenge value (challenge_raw), the sent Response (response_sent), location data (location), device identifier, and timestamp.
[0172] In Phase 5, the backend performs a three-layer matching verification. The first layer involves reverse-querying the challenge data index based on both the merchant-side and user-side challenges, and determining the target merchant's acoustic transceiver device when both lookup results indicate a unique candidate merchant's device. The second layer compares the challenges and responses from both sides and performs HMAC verification based on the device-level key or corresponding authentication data. The third layer performs physical relay detection based on RTT and performs location validity checks based on user and merchant location data. Figure 7 The processing at each layer is shown in summary; HMAC verification and location rationality checks, which are not listed separately in the figure, still belong to the verification processing of their respective layers.
[0173] Figure 7 The RTT shown is less than 150 milliseconds, which is considered normal and represents a typical duration of normal acoustic wave interaction in frequency division duplex (FDM) mode. An RTT greater than 300 milliseconds, indicating an alarm, represents a relay risk assessment threshold. These are not two parallel thresholds. When the RTT is between 150 and 300 milliseconds, it can be assessed in conjunction with the deployment environment, device processing latency, and preset risk strategies. For time division duplex (TDM) mode, the RTT condition can be determined separately based on the first time slot, the silent interval, the second time slot, and the allowed processing margin.
[0174] Figure 7 This demonstrates a full-featured payment scenario where all three layers of verification are enabled. In this scenario, the backend only confirms successful acoustic interaction verification and pushes the payment page after all three layers of verification pass. In other scenarios, one or more layers of verification can be enabled depending on the deployment configuration; in this case, the corresponding acoustic interaction verification can be confirmed as successful only when all enabled verifications pass.
[0175] In stage 6, the user's mobile app receives a link to the merchant's payment page or payment page data. This can be acknowledged via a short vibration or sound before a payment confirmation page is displayed. After the user enters or confirms the payment amount and confirms the payment, the app sends a payment request to the backend. The backend processes the payment, returns the payment completion result to the app, and sends a receipt notification to the merchant, including the transaction amount, time, or transaction number. In one workflow, the user can complete the payment in approximately 2 to 3 steps, including opening the app, entering or confirming the amount, and confirming the payment, which reduces the number of steps required for the user.
[0176] The above timing sequence can be achieved using different acoustic transceiver configurations: frequency division duplex (FDM) utilizes non-overlapping frequency bands for parallel transmission, time division duplex (TDM) utilizes non-overlapping time slots for transmission, and code division multiple access (CDMA) utilizes distinguishable spreading codes to differentiate signals within the same frequency band. These configurations can be used individually; where technically compatible, CDMA can also be combined with frequency division duplex or time division duplex.
[0177] In one link parameter configuration, the second device can use a spread spectrum sequence with a length of 128 chips generated based on the Gold sequence, and output five response frames carrying the same coding result in sequence; the five frames are output repeatedly in time, rather than being superimposed at the sound wave output end.
[0178] In frequency division duplex mode, the first acoustic signal can operate between 18.0 kHz and 19.5 kHz, and the second acoustic signal can operate between 19.5 kHz and 21.0 kHz. The second device can perform echo cancellation processing to reduce the impact of its own output response on Challenge listening.
[0179] The microphone of the first device can receive the second sound wave signal via a passive acoustic focusing structure such as a parabolic reflector or a passive horn, and obtain a passive reception gain of about 3 dB to 6 dB.
[0180] The first device can use a matched filter to perform correlation detection and despreading on each response frame, and coherently superimpose the corresponding signals or correlation detection results of the five response frames. The superimposed decoding result can be identified as the first response data when it passes the cyclic redundancy check.
[0181] Under ideal conditions, the theoretical processing gain of a spread spectrum sequence with a length of 128 chips is about 21 dB, and the theoretical gain of 5 frames coherently superimposed is about 7 dB; combined with a passive acoustic focusing gain of about 3 dB to 6 dB, a link enhancement of about 31 dB to 34 dB, for example, about 32 dB, can be achieved.
[0182] The output power of a mobile phone's miniature speaker in the 18 kHz to 22 kHz range may be about 15 dB to 25 dB lower than that in the speech frequency range, and there may be an additional 15 dB of attenuation due to blockage when the phone is placed in a pocket. The aforementioned link enhancement combination helps to detect response sound waves at an interaction distance of about 3 to 5 meters.
[0183] For challenge frames that are output in a loop, the first device can associate the response frame with the corresponding challenge frame based on the time correlation, frame sequence number or challenge data, and record the round-trip time from the time the challenge frame is sent to the time the response frame is received.
[0184] Taking an interaction distance of approximately 5 meters as an example, the total round-trip time for sound wave propagation and device processing can be approximately 130 milliseconds, and is typically less than 150 milliseconds. A preset time threshold could be, for example, 300 milliseconds; exceeding this threshold would trigger a relay risk indicator.
[0185] Less than 150 milliseconds can represent a typical duration of normal acoustic wave interaction, while 300 milliseconds can represent the risk detection threshold in frequency division duplex scenarios. The two are not two parallel verification thresholds.
[0186] In time-division duplex mode, the first device can output a challenge frame in the first time slot of approximately 700 milliseconds, followed by a silence interval of approximately 100 milliseconds, and the second device can output a response frame in the second time slot of approximately 300 milliseconds. The corresponding round-trip time conditions can be set separately according to the processing margin of each time slot and device.
[0187] In code division multiple access (CDMA) scenarios, the first and second acoustic signals can operate in the same frequency band from 18 kHz to 21 kHz and employ mutually distinguishable spreading codes. Multiple second devices can also generate corresponding response data based on different device-level keys and output second acoustic signals carrying the corresponding response data using different spreading codes.
[0188] refer to Figure 8 , Figure 8A schematic diagram of an electronic device 800 is shown. The electronic device 800 may include a processor 802, a memory 804, a communication device 806, and a bus 808. The processor 802, memory 804, and communication device 806 can communicate with each other via the bus 808. The electronic device 800 can be implemented as the first device, second device, or third device mentioned above. For example, the electronic device 800 may include a sound wave interactive terminal, a mobile terminal, a merchant terminal, a server, a cloud computing node, or other computing devices capable of performing sound wave interactive processing or sound wave interactive verification processing.
[0189] The processor 802 can be used to execute program instructions to implement the acoustic wave interaction method executed by the first device, the acoustic wave interaction method executed by the second device, or the acoustic wave interaction verification method executed by the third device. The processor 802 may include a general-purpose processor, a special-purpose processor, a microprocessor, a digital signal processor, a programmable logic device, an audio processor, or other processing means capable of executing program instructions.
[0190] The memory 804 can be used to store program instructions.
[0191] The communication device 806 can be used to receive or transmit data related to acoustic interaction, interactive authentication, or payment processing. The communication device 806 may include an acoustic transducer, a speaker, a microphone, an audio input / output interface, a mobile communication interface, a wireless LAN interface, a Bluetooth interface, a wired network interface, or other communication interfaces.
[0192] Bus 808 can be used to transmit audio data, interactive data, authentication data, payment data, or control signals between processor 802, memory 804, and communication device 806. Bus 808 may include a serial bus, parallel bus, system bus, peripheral device bus, audio bus, or any combination thereof.
[0193] In some cases, electronic device 800 may also include input or output devices. Input devices may include a keyboard, mouse, touchscreen, biometric data acquisition device, amount input interface, payment confirmation control, or other input components. Output devices may include a display screen, speaker, vibration device, status indicator, log output interface, payment notification interface, or other output components.
[0194] This document also provides a non-transitory computer-readable storage medium. This non-transitory computer-readable storage medium may store program instructions. When the program instructions are executed by a processor, the processor performs the aforementioned acoustic interaction method executed by the first device, the acoustic interaction method executed by the second device, or the acoustic interaction verification method executed by the third device. The non-transitory computer-readable storage medium may include a read-only memory, random access memory, flash memory, hard disk, solid-state drive, optical disk, magnetic disk, or other media capable of storing program instructions.
[0195] This document also provides a computer program product. The computer program product may include program instructions. When executed by a processor, the program instructions cause the processor to perform the acoustic interaction method executed by the first device, the acoustic interaction method executed by the second device, or the acoustic interaction verification method executed by the third device. The program instructions may be written in any one or more programming languages suitable for implementing the above methods.
[0196] It should be noted that the steps described in connection with the method, the modules described in connection with the device, the devices described in connection with the system, and the components described in connection with the electronic device in this document can be implemented by hardware, software, firmware, or any combination thereof. The names of the modules, devices, or components mentioned above are only used to distinguish the processing content they perform and do not constitute a limitation on their structure, deployment location, quantity, or implementation method. Where there is no technical conflict, the various situations described above regarding acoustic wave interaction methods, acoustic wave interaction verification methods, acoustic wave interaction devices, acoustic wave interaction equipment, acoustic wave interaction systems, electronic devices, non-transitory computer-readable storage media, and computer program products can be referred to, combined, or adaptively substituted for each other.
Claims
1. A method for acoustic wave interaction executed by a first device, comprising: Output a first acoustic signal carrying first challenge data, the first challenge data being used for verification of the first device; Receive at least one second acoustic signal output by at least one second device in response to the first acoustic signal; A corresponding first response data is obtained based on each of the at least one second acoustic signal, wherein each second acoustic signal carries second response data generated by a corresponding second device based on second challenge data and authentication data associated with the corresponding second device, the second challenge data being obtained by the corresponding second device based on the first acoustic signal; and The system outputs first interaction data, enabling a third device to output a verification result of one or more acoustic interactions between the first device and the at least one second device based on the first interaction data and input from one or more second interaction data sources from the at least one second device. The first interaction data includes the first challenge data and one or more first response data obtained based on the at least one second acoustic signal. Each second interaction data includes second challenge data obtained by a corresponding second device based on the first acoustic signal and second response data generated by the corresponding second device. Furthermore, the verification result is obtained by matching each second interaction data with the first interaction data.
2. The method according to claim 1, wherein, The first challenge data is generated based on the challenge data seed and the current time window.
3. The method according to claim 2, wherein, The challenge data generation seed is allocated by the third device and stored in the access-controlled storage area of the first device.
4. The method according to claim 2, wherein, The current time window is determined based on the current time obtained by synchronizing with the third device via a network time protocol.
5. The method according to claim 2, wherein, The first acoustic signal is output cyclically within the current time window.
6. The method according to claim 2, wherein, The first challenge data is generated based on the challenge data seed and the current time window through a hash-based message authentication code operation.
7. The method according to claim 1, wherein, Outputting the first acoustic signal includes outputting a challenge frame in a first time slot, and receiving the at least one second acoustic signal includes receiving at least one response frame in a second time slot that does not overlap with the first time slot.
8. The method according to claim 1, wherein, The first acoustic signal and the at least one second acoustic signal operate in the same frequency band from 18 kHz to 21 kHz and are encoded using spread spectrum codes that are distinguishable from each other.
9. The method according to claim 1, wherein, The first acoustic signal is output by an ultrasonic piezoelectric transducer or a moving-coil loudspeaker, and the at least one second acoustic signal is received by a microphone.
10. The method according to claim 9, wherein, The at least one second acoustic signal is received by the microphone via a passive acoustic focusing structure, which includes a parabolic reflector or a passive horn.
11. The method according to claim 10, wherein, Obtaining corresponding first response data based on each second acoustic signal includes: coherently superimposing multiple signal frames of the corresponding second acoustic signal received via the passive acoustic focusing structure.
12. The method according to claim 1, wherein, Receiving the at least one second acoustic signal includes: monitoring an acknowledgment frequency band for transmitting the at least one second acoustic signal; and demodulating and decoding the detected acoustic signal in response to detecting the acoustic signal in the acknowledgment frequency band.
13. The method according to claim 1, wherein, Obtaining corresponding first response data based on each second acoustic signal includes: performing cyclic redundancy check on the decoding result of the corresponding second acoustic signal; and obtaining corresponding first response data based on the decoding result that passes the cyclic redundancy check.
14. The method according to claim 13, wherein, The corresponding second acoustic signal includes multiple signal frames, and if the decoding result of the current signal frame fails the cyclic redundancy check, the next signal frame is decoded.
15. The method according to claim 1, wherein, The at least one second device includes a plurality of second devices, the at least one second acoustic signal includes a plurality of second acoustic signals output by the plurality of second devices respectively, and a plurality of first response data obtained based on the plurality of second acoustic signals constitute a first response data list.
16. The method according to claim 1, wherein, For each second acoustic signal, the round-trip time from the transmission time of the first acoustic signal to the completion time of the reception of the corresponding second acoustic signal is recorded. The first interaction data also includes a time window number corresponding to the first challenge data and one or more round-trip times associated with the one or more first response data. The first interaction data also includes one or more detection results obtained based on the one or more round-trip times. If any round-trip time exceeds a preset time threshold, the detection result corresponding to the round-trip time indicates that the corresponding acoustic interaction has not passed the preset time detection.
17. The method according to claim 1, wherein, The first interaction data also includes a time window number corresponding to the first challenge data, and the verification result is also obtained based on whether the first challenge data and the second challenge data in each second interaction data correspond to the same candidate first device in the challenge data index corresponding to the time window number. The challenge data index includes the correspondence between multiple candidate challenge data and multiple candidate first devices.
18. The method according to claim 1, wherein, For each second interaction data, the verification result is obtained based on the matching of the second challenge data in the second interaction data with the first challenge data, and the existence of a first response data in one or more first response data that matches the second response data in the second interaction data.
19. The method according to claim 18, wherein, For each second interaction data, the verification result is also obtained based on whether the second response data in the second interaction data matches the expected response data, which is generated by hash-based message authentication code calculation based on the second challenge data in the second interaction data and the authentication data associated with the corresponding second device.
20. The method according to claim 1, wherein, Each second interactive data also includes the location data of the corresponding second device, and the verification result is also obtained based on whether the distance between the location data of the corresponding second device and the location data of the first device meets a preset distance condition.
21. A method for acoustic interaction performed by a second device, comprising: Receive a first acoustic signal output by a first device, wherein the first acoustic signal carries first challenge data, and the first challenge data is used for verification by the first device; The second challenge data is obtained based on the first acoustic signal; The second response data is generated based on the second challenge data and the authentication data associated with the second device; Output a second acoustic signal carrying the second response data, so that the first device obtains the first response data based on the second acoustic signal; and The system outputs second interaction data so that the third device, based on the second interaction data and the first interaction data from the first device, outputs a verification result of the acoustic interaction between the first device and the second device. The second interaction data includes the second challenge data and the second response data, and the first interaction data includes the first challenge data and one or more first response data obtained based on at least one second sound wave signal output by at least one second device in response to the first sound wave signal. Furthermore, the verification result is obtained by matching the second interaction data with the first interaction data.
22. The method according to claim 21, wherein, Receiving the first acoustic signal output by the first device includes: controlling the second device to acquire an audio stream in response to the launch of an acoustic interactive application running on the second device; and performing acoustic listening on the audio stream to obtain the first acoustic signal from the audio stream.
23. The method according to claim 21, wherein, The method further includes: selecting one or more operating frequency bands for receiving the first acoustic signal and outputting the second acoustic signal based on the acoustic wave receiving frequency response and acoustic wave output frequency response of the second device.
24. The method according to claim 21, wherein, The first challenge data is carried in the first acoustic signal using a dual-tone multi-frequency (DTMF) encoding method, and the second challenge data is obtained based on the first acoustic signal, including: The first acoustic signal is decoded using the Gossel algorithm; and Cyclic redundancy check is performed on the decoding result to obtain the second challenge data based on the decoding result that passes the cyclic redundancy check.
25. The method according to claim 24, wherein, The first acoustic signal includes multiple challenge frames, and if the decoding result of one challenge frame fails the cyclic redundancy check, the next challenge frame is decoded.
26. The method according to claim 21, wherein, The authentication data associated with the second device includes a device-level key, and the second response data is generated based on the second challenge data and the authentication data, including: Based on the second challenge data and the device-level key, a hash-based message authentication code operation is performed to generate the second response data.
27. The method according to claim 21, wherein, Outputting the second acoustic signal carrying the second response data includes: performing direct sequence spread spectrum coding on the second response data using a spread spectrum sequence generated based on the Gold sequence, and outputting a response frame carrying the coding result.
28. The method according to claim 21, wherein, Receiving the first acoustic signal includes receiving a challenge frame carrying the first challenge data in a first time slot, and outputting the second acoustic signal carrying the second response data includes outputting a response frame carrying the second response data in a second time slot that does not overlap with the first time slot.
29. The method according to claim 21, wherein, The second interactive data also includes the location data and timestamp of the second device.
30. The method of claim 21, further comprising: Receive the payment link from the third device if the verification result indicates that the verification has passed; And display a payment confirmation page based on the payment link.
31. The method of claim 30, further comprising: The system receives the payment amount and payment confirmation operation entered via the payment confirmation page; in response to the payment confirmation operation, it outputs a payment request including the payment amount to the third device; and receives the payment completion result from the third device.
32. A method for acoustic wave interactive verification performed by a third device, comprising: Receive first interactive data from a first device and one or more second interactive data from at least one second device; For each second interaction data, match the second interaction data with the first interaction data; as well as Based on the matching results obtained for each second interaction data, the verification results of one or more acoustic interactions between the first device and the at least one second device are output. The first interaction data includes first challenge data and one or more first response data. The first challenge data is carried in a first acoustic signal output by the first device and is used for verification by the first device. The one or more first response data are obtained based on at least one second acoustic signal output by the at least one second device in response to the first acoustic signal. Furthermore, each second interaction data includes second challenge data obtained by the corresponding second device based on the first acoustic signal and second response data generated by the corresponding second device based on the second challenge data and authentication data associated with the corresponding second device, wherein the second response data is carried in the corresponding second acoustic signal output by the corresponding second device.
33. The method according to claim 32, wherein, Each second interaction data also includes the location data and timestamp of the corresponding second device.
34. The method of claim 32, further comprising: For each of the multiple candidate first devices, a seed and the current time window are generated based on the challenge data associated with that candidate first device to generate candidate first challenge data; And based on the correspondence between multiple candidate first challenge data and the multiple candidate first devices, a challenge data index is established.
35. The method according to claim 34, wherein, For each second interaction data, the second interaction data is matched with the first interaction data, including: Based on the first challenge data in the first interactive data, query the challenge data index to obtain the first lookup result; Based on the second challenge data in the second interactive data, the challenge data index is queried to obtain the second lookup result; and If the first lookup result and the second lookup result indicate the same candidate first device, the same candidate first device is determined as the target first device, and the corresponding acoustic interaction is determined to have passed the first device consistency verification.
36. The method according to claim 34, wherein, Each candidate first challenge data is generated based on the challenge data associated with the corresponding candidate first device, the seed, and the current time window, through hash-based message authentication code calculation.
37. The method of claim 35, wherein, For each second interaction data, the verification result is also obtained based on whether the second challenge data in the second interaction data matches the first challenge data in the first interaction data.
38. The method according to claim 37, wherein, For each second interaction data, the verification result is also based on whether there is a first response data in the one or more first response data that matches the second response data in the second interaction data.
39. The method according to claim 38, wherein, Each second interaction data also includes a device identifier of the corresponding second device, and for each second interaction data, the verification result is also obtained based on whether the second response data in the second interaction data matches the expected response data, which is generated by hash-based message authentication code calculation based on the second challenge data in the second interaction data and the authentication data determined according to the device identifier.
40. The method according to claim 32, wherein, The at least one second device includes a plurality of second devices, each of which is associated with different authentication data, and each of the plurality of second devices generates corresponding second response data based on second challenge data having the same data value and authentication data associated with the corresponding second device.
41. The method according to claim 32, wherein, The first interactive data also includes one or more round-trip times associated with the one or more first response data respectively. Each round-trip time represents the duration from the time the first acoustic signal is transmitted to the time the corresponding second acoustic signal is received. For each second interactive data, the verification result is also obtained based on whether the round-trip time associated with the first response data matched with the second response data in the second interactive data meets a preset duration condition.
42. The method according to claim 41, wherein, For each second interaction data, if the round-trip time associated with the first response data that matches the second response data in the second interaction data is greater than a preset time threshold, it is determined that the corresponding acoustic interaction has not passed the preset time detection.
43. The method according to claim 32, wherein, Each second interactive data also includes the location data of the corresponding second device, and for each second interactive data, the verification result is also obtained based on whether the distance between the location data of the corresponding second device and the location data of the first device meets a preset distance condition.
44. The method according to claim 43, wherein, If the distance is greater than a preset distance threshold, it is determined that the corresponding acoustic interaction has failed the location verification.
45. The method according to claim 39, wherein, For each second interaction data, perform a logical AND operation on the multiple sub-verification results obtained for that second interaction data to obtain the corresponding acoustic wave interaction verification result.
46. The method of claim 32, further comprising: If the verification result indicates that the corresponding acoustic wave interaction verification is successful, a payment link associated with the first device is output to the corresponding second device.
47. The method of claim 46, further comprising: Receive the payment request output by the corresponding second device based on the payment link; Execute payment processing based on the payment request; And output the payment completion result to the corresponding second device.
48. A sound wave interaction device, comprising: A sound wave signal output module is configured to output a first sound wave signal carrying first challenge data, the first challenge data being used to verify the sound wave interaction device; An acoustic signal receiving module configured to receive at least one second acoustic signal output by at least one second device in response to the first acoustic signal; A response data acquisition module is configured to obtain corresponding first response data based on each of the at least one second acoustic signal, wherein each second acoustic signal carries second response data generated by a corresponding second device based on second challenge data and authentication data associated with the corresponding second device, the second challenge data being obtained by the corresponding second device based on the first acoustic signal; and An interactive data output module is configured to output first interactive data so that a third device outputs a verification result of one or more acoustic interactions between the acoustic interaction device and the at least one second device based on the first interactive data and input from one or more second interactive data from the at least one second device. The first interaction data includes the first challenge data and one or more first response data obtained based on the at least one second acoustic signal. Each second interaction data includes second challenge data obtained by a corresponding second device based on the first acoustic signal and second response data generated by the corresponding second device. Furthermore, the verification result is obtained by matching each second interaction data with the first interaction data.
49. An acoustic wave interaction system, comprising a first device, at least one second device, and a third device, wherein: The first device is configured as follows: Output a first acoustic signal carrying first challenge data, the first challenge data being used for verification of the first device; Receive at least one second acoustic signal output by the at least one second device in response to the first acoustic signal; Based on each of the at least one second acoustic signal, corresponding first response data is obtained; as well as Output first interaction data, wherein the first interaction data includes the first challenge data and one or more first response data obtained based on the at least one second acoustic signal; Each of the at least one second device is configured to: Receive the first acoustic signal; obtain the second challenge data based on the first acoustic signal; The second response data is generated based on the second challenge data and the authentication data associated with the corresponding second device; Output a second acoustic signal carrying the second response data; and Output second interaction data, wherein the second interaction data includes the second challenge data and the second response data; and The third device is configured to: Receive the first interaction data and one or more second interaction data from the at least one second device; and Based on matching each second interaction data with the first interaction data, the verification result of one or more acoustic wave interactions between the first device and the at least one second device is output.
50. An electronic device comprising: processor; as well as A memory storing program instructions that, when executed by the processor, cause the processor to perform the method according to any one of claims 1 to 47.
51. A non-transitory computer-readable storage medium storing program instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 47.
52. A computer program product comprising program instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 47.