Data watermarking

By combining the watermark signal of the second modulation mode and the data message of the first modulation mode in the vehicle system, using differential or common mode modulation technology and spread spectrum technology, the authenticity and safety of sensitive data transmission in the vehicle system are solved. The problem of data is realized effectively.

CN119182546APending Publication Date: 2024-12-24FORD GLOBAL TECH LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410799253.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-23
Filing Date
2024-06-20
Publication Date
2024-12-24

AI Technical Summary

Technical Problem

In existing vehicle systems, sensitive or potentially sensitive data is easily tampered with or forged during transmission, resulting in an increased risk of illegal access and privacy information leakage, and a lack of an effective data authenticity authentication mechanism.

Method used

The watermark signal using the second modulation mode is combined with the data message of the first modulation mode, and is transmitted on the vehicle communication bus through differential mode or common mode modulation technology, and the watermark signal is generated and transmitted using spread spectrum technology and wavelet algorithms to achieve the following methods. Authenticate the authenticity of data messages and convey additional information.

Benefits of technology

It realizes effective authentication and protection of sensitive data in vehicle systems, prevents the insertion and illegal access of false data, and ensures the authenticity and security of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119182546A_ABST
    Figure CN119182546A_ABST
Patent Text Reader

Abstract

The disclosure provides "data watermarking". A computer includes a processor and a memory storing instructions executable by the processor: generating a first message and a second message for transmission via a communication bus via a first modulation mode; and generating a first watermark signal and a second watermark signal for transmission over the communication bus via a second modulation mode, wherein the first modulation mode and the second modulation mode are isolated from each other. The instructions may additionally be to send the first message covered by the first watermark signal and to send the second message covered by the second watermark signal, the second watermark signal having a different parameter than the first watermark signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to techniques for watermarking of data. Background Art

[0002] Various systems utilize internal communication links to exchange data, parameters, settings, etc. between system components. For example, in a vehicle system, an internal communication link such as provided by a vehicle communication bus can be used to transfer data from various vehicle sensors to a vehicle computer. The vehicle computer can then execute programming to detect and / or identify objects present in the driving environment. The vehicle communication bus can transfer other types of data, such as an operator's personally identifiable information, contact information uploaded from an operator's mobile communication device, parameters utilized by a vehicle facial recognition application, etc. Summary of the invention

[0003] The present disclosure provides a technique for providing a watermark of sensitive or potentially sensitive data generated by onboard vehicle sensors, computers, communication subsystems, and the like. As the term is used herein, a "watermark" means a signal overlaid on a data message to provide authenticity to the data message. Thus, for example, a first message that can be modulated using a first modulation mode and can include sensitive or potentially sensitive content can be watermarked using a signal modulated using a second modulation mode. Examples of sensitive or potentially sensitive data generated by onboard vehicle sensors can include objects detected and / or classified via radar sensors, ultrasonic sensors, cameras, laser radar devices, and the like. Other types of sensitive or potentially sensitive data can include the current position and current motion parameters of the vehicle, credentials used by the vehicle's computer to allow an operator to enter and / or operate the vehicle, data uploaded by a mobile communication device belonging to a passenger or operator of the vehicle, and the like. Such data can be transferred or exchanged between various vehicle subsystems using a vehicle communication bus. In order to prevent the insertion of false data, which may be used to obtain illegal access to the vehicle, direct the operation of the vehicle, or result in the disclosure of information private to the operator and / or passenger of the vehicle, sensitive or potentially sensitive data can be watermarked. Watermarking of data communications may be accomplished by overlaying a watermark signal onto a data message sent to a vehicle communication bus utilizing the techniques described herein, the watermark being operable to authenticate the data message or convey additional data. At the receiving end, the receiving device may isolate the data message from the watermark signal. The received watermark signal may be processed to determine whether the composite signal includes the expected watermark signal. In response to the received watermark signal including the watermark signal, the data message may be authenticated. In response to the received watermark signal not including the predetermined watermark signal, the data message may be discarded as false or illegal.

[0004] In an example, the overlay of the watermark signal using the second modulation mode may be asynchronous or coincident in time with the transmission of the first message communicated using the first modulation mode. Thus, for example, the watermark signal may be a preamble using the second modulation mode that is transmitted prior to the transmission of a data message including sensitive or potentially sensitive content. In another example, the watermark signal may be transmitted after the data message in order to authenticate the previously transmitted data message. Furthermore, the watermark signal may be utilized to convey additional data, such as metadata, which may include parameters describing the origin of the data message, the credentials of the data message, the length of the data message, etc.

[0005] A system for watermarking of data communications may include a computer having a processor coupled to a memory, the memory storing instructions executable by the processor to generate a first message and a second message to be sent via a communication bus via a first modulation mode. The instructions may additionally generate a first watermark signal and a second watermark signal to be sent on the communication bus via a second modulation mode, the first modulation mode and the second modulation mode being isolated from each other. The instructions may additionally send the first message covered by the first watermark signal and send the second message covered by the second watermark signal, the second watermark signal having one or more parameters different from the first watermark signal.

[0006] The first modulation mode may include a differential mode.

[0007] The second modulation mode may include common mode.

[0008] The first watermark signal and the second watermark signal may be modulated via a spread spectrum technique.

[0009] The parameter may be based on a ratio of a spreading code rate to a data rate of the spread spectrum signal.

[0010] The parameter may be an integer value of the ratio of the spreading code rate to the data rate of the spread spectrum signal.

[0011] The parameter may be a phase shift of a spreading code of the spread spectrum signal.

[0012] The parameter may be the length of the second watermark signal.

[0013] The parameter may be the code rate of the spread spectrum modulation mode.

[0014] The parameter may be an up-conversion factor of a spreading code of a spread spectrum modulation mode.

[0015] The parameter may be the amplitude of a spreading code of a spread spectrum modulation mode.

[0016] The instructions may also determine the parameter based on content of the second message.

[0017] The instructions may also determine the parameter based on a recipient of the second message.

[0018] The instructions may also determine the parameter based on noise detected on a conductor of the communication bus.

[0019] The first watermark signal or the second watermark signal may extend beyond an interval in which the first message or the second message is sent.

[0020] The first watermark signal or the second watermark signal may terminate before completing sending of the first message or the second message.

[0021] A method for watermarking of data communications may include: generating a first message and a second message for transmission via a communication bus via a first modulation mode; and generating a first watermark signal and a second watermark signal for transmission on the communication bus via a second modulation mode, the first modulation mode and the second modulation mode being isolated from each other. The method may further include transmitting the first message covered by the first watermark signal, and the method may further include transmitting the second message covered by the second watermark signal, the second watermark signal having different parameters than the first watermark signal.

[0022] The method may further comprise: detecting interference on one or more conductors of the communication bus; and determining the parameter of the second watermark signal based on the detected interference.

[0023] The method may further comprise determining a recipient of the second message and determining the parameter of the second watermark signal based on the determined recipient.

[0024] The method may further comprise determining a message content of the second message and determining the parameters of the second watermark signal based on the determined second message content. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 is a block diagram of an example vehicle system having internal and external communication links.

[0026] Figure 2 is an illustration of a vehicle communication bus capable of communicating signals modulated using a first communication mode and a second communication mode.

[0027] Figure 3 to Figure 4 is a diagram showing watermark signals and data messages being sent on a communication bus.

[0028] Figure 5A and Figure 5B is a block diagram of a vehicle computer capable of transmitting watermark signals and data messages via a communications bus.

[0029] Figure 6 is a block diagram of a vehicle computer capable of transmitting a watermark signal in the presence of interference.

[0030] Figure 7 is a block diagram of the programming and / or hardware components of a vehicle computer for watermarking of data communications.

[0031] Figure 8 is a diagram of an example process flow for sending and receiving watermarked vehicle data utilizing a communication bus. DETAILED DESCRIPTION

[0032] Figure 1 is a block diagram of an example vehicle system 100 having internal and external communication links. Figure 1 As seen, the system 100 includes a vehicle 105, which may be any vehicle, such as a car, truck, minivan, sport utility vehicle, crossover, etc. In another example, the system 100 includes an aircraft or a watercraft. The system 100 includes a vehicle computer 110, which includes communication links to and from various sensors, components, actuators, and subsystems of the vehicle 105, such as a vehicle communication bus 106. Thus, the vehicle computer 110 may communicate messages that may include data, parameters, and / or settings to sensors 115, actuators 120, vehicle components 125 (e.g., steering, propulsion, and braking), communication subsystems 130, and human-machine interfaces (HMIs) 135. The vehicle 105 may additionally communicate with a server 145 via a wireless communication network 140, which may be located remotely from the vehicle 105. Thus, when the vehicle 105 is stationary or traveling in a driving environment along a path 150, the vehicle 105 may send messages to and / or receive messages from other vehicles.

[0033] The vehicle computer 110 includes a processor and a memory. The memory of the vehicle computer 110 includes one or more forms of computer-readable media, such as those described herein, and stores instructions that can be executed by the vehicle computer 110 for performing various operations, including those disclosed herein. For example, the vehicle computer 110 may be a general-purpose computer with a processor and memory as described above, and / or may include an electronic control unit (ECU) or controller for a specific function or set of functions, and / or may include a dedicated electronic circuit, the dedicated electronic circuit including an application-specific integrated circuit (ASIC) manufactured for a specific operation, such as an ASIC for processing data from the sensor 115 and / or transmitting data from the sensor 115. In another example, the vehicle computer 110 may include an FPGA (field programmable gate array), which is an integrated circuit manufactured to be configurable by a user. Typically, hardware description languages ​​such as VHDL (very high speed integrated circuit hardware description language) are used in electronic design automation to describe digital and mixed signal systems such as FPGAs and ASICs. For example, an ASIC is manufactured based on VHDL programming provided before manufacturing, and the logic components inside the FPGA can be configured based on, for example, VHDL programming stored in a memory electrically connected to the FPGA circuit. In some examples, a combination of processors, ASICs, and / or FPGA circuits may be included in the vehicle computer 110. In addition, the vehicle computer 110 may include multiple computers on the vehicle 105, such as multiple ECUs (electronic control units), etc., which operate together to perform the operations attributed to the vehicle computer 110 herein. The memory accessed by the processor of the vehicle computer 110 may be of any type, such as a hard drive, a solid-state drive, or any volatile or non-volatile media. The memory accessed by the processor of the vehicle computer 110 may store data collected from the sensors 115. Such memory may be a separate device from the vehicle computer 110, and the vehicle computer 110 may retrieve information stored by the memory using the vehicle communication bus 106.

[0034] The vehicle computer 110 may include programming in the form of executable instructions that cause one or more components 125, such as vehicle braking, propulsion (e.g., one or more of an internal combustion engine, an electric motor, a hybrid engine, etc.), steering, climate control, interior and / or exterior lights, etc., and determine whether and when the computer 110 (rather than a human operator) controls such operations. In addition, the computer 110 may be programmed to determine whether and when a human operator controls such operations. The computer 110 may include more than one processor or be communicatively coupled to more than one processor, such as via a vehicle communication bus 106, such as included in components 125 (such as sensors 115, electronic control units (ECUs), etc.) included in the vehicle for monitoring and / or controlling various vehicle components (e.g., a powertrain controller, a brake controller, a steering controller, etc.).

[0035] The computer 110 is typically arranged for communication over a vehicle communication bus 106, which may include a communication bus operating in the vehicle, such as a controller area network (CAN) bus, etc. The vehicle communication bus 106 is a communication network via which messages may be exchanged between various devices on the vehicle 105 (e.g., sensors 115, components 125, computer 110, etc.). The computer 110 may typically be programmed to send and / or receive messages to and from other devices in the vehicle 105 (e.g., any or all of the ECUs, sensors 115, actuators, components 125, communication subsystems 130, HMI 135, etc.) via the vehicle communication bus 106. For example, various components 125, subsystems (e.g., components 125 may be controlled by corresponding ECUs), and / or sensors 115 may provide data to the computer 110 via the communication bus 106. In some implementations, the vehicle 105 may include additional networks in which other wired communication technologies and / or wireless communication technologies (e.g., Ethernet, Wi-Fi, etc.) are used. Additional examples of protocols that may be used to communicate over the vehicle communication bus 106 in some implementations include, but are not limited to, Media Oriented Systems Transport (MOST), Time Triggered Protocol (TTP), and FlexRay. In some implementations, communications between the computer 110, sensors 115, actuators 120, components 125, communication subsystem 130, and HMI 135 are performed using a combination of multiple networks, which may be of different types, that support communications between devices in the vehicle.

[0036] The vehicle 105 typically includes a variety of sensors 115. The sensors 115 may include devices that can obtain one or more measurements of one or more physical phenomena. Some of the sensors 115 can detect internal states of the vehicle, such as wheel speeds, wheel orientations, and engine and transmission variables. Some of the sensors 115 are operable to detect the position or orientation of the vehicle, such as using a global positioning system GPS sensor; an accelerometer, such as a piezoelectric or micro-electromechanical system (MEMS); a gyroscope, such as a rate gyroscope, a ring laser gyroscope, or a fiber gyroscope; an inertial measurement unit (IMU); and a magnetometer. Some of the sensors 115 can detect the external world, such as radar sensors, scanning laser rangefinders, light detection and ranging (lidar) devices, and image processing sensors such as cameras.

[0037] The vehicle computer 110 may be configured to communicate with a second vehicle via a wireless communication interface, for example, via a vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I) communication, and / or vehicle-to-external (V2X) communication network (i.e., may include both V2V and V2I communications). Some of the sensors 115 are communication devices, such as vehicle-to-infrastructure V2I or V2V devices, which may operate via a wireless communication network 140. The communication subsystem 130 represents one or more mechanisms by which the vehicle computer 110 of the vehicle 105 may communicate with other vehicles and / or communication infrastructure elements, and may be one or more of wireless communication mechanisms, including any desired combination of wireless and wired communication mechanisms and any desired network topology (or topology when multiple communication mechanisms are utilized). Exemplary V2X communication protocols include cellular, IEEE 802.11, dedicated short-range communications (DSRC), and / or wide area networks (WANs) (including the Internet) that provide data communication services. DSRC may have a one-way or two-way short-range to medium-range wireless communication channel. A V2X communication network may have multiple channels, each channel being identified by an identifier, such as a channel number.

[0038] Exemplary System Operation

[0039] Figure 2 FIG. 200 is a diagram of a vehicle communication bus capable of communicating signals modulated using a first communication mode and a second communication mode. Figure 1As described in the example of , the vehicle communication bus 106 may include a controller area network (CAN) bus. The vehicle communication bus 106 may utilize two conductors (e.g., conductors 106A and 106B) to send messages between the computer 110, the sensor 115, the actuator 120, the component 125, the communication subsystem 130, and the HMI 135. The conductors 106A and 106B may be arranged in a twisted pair configuration, wherein the conductors 106A and 106B are twisted around each other. Messages may be sent along the vehicle communication bus 106 utilizing a first mode 205, which may include a differential mode of communication. In the context of the present disclosure, a "differential mode" of communication means a communication mode in which a first conductor (e.g., conductor 106A) is used to send a signal (e.g., a binary digit) and a second conductor (e.g., conductor 106B) is used to send substantially opposite signals. Thus, in Figure 2 In the example of , a binary 1 may be represented by sending a signal having a positive voltage relative to a reference (e.g., floating ground, local ground, vehicle chassis ground, etc.) using conductor 106A during time interval T1. The positive signal sent using conductor 106A may be accompanied by sending a signal having a negative voltage relative to the reference using conductor 106B also during time interval T1. Figure 2 In the example of FIG. 1 , a binary 0 may be represented by sending a signal having a negative voltage relative to a reference using conductor 106A, such as at time interval T2. The signal having a negative voltage may be accompanied by sending a signal having a positive voltage using conductor 106B also during time interval T2.

[0040] At the receiving end, the receiving circuit (e.g., CAN RX component 760) can decode, for example, a binary 1 in response to conductor 106A exhibiting a positive voltage and conductor 106B exhibiting a substantially opposite voltage. At the receiving end, the receiving circuit can decode a binary 0 in response to conductor 106A exhibiting a negative voltage and conductor 106B exhibiting a substantially opposite (positive) voltage. Therefore, in response to the presence of conducted electromagnetic interference coupled to the conductors arranged in a twisted pair configuration, the receiving circuit can be able to distinguish between binary values ​​(e.g., binary 1, binary 0) in the transmitted message because such distinction is based on the voltage difference between conductor 106A and conductor 106B. In addition, since conductors 106A and 106B simultaneously transmit a signal and a signal opposite to the signal, a return conductor (e.g., a reference voltage, such as a floating ground, a local ground, a chassis ground, etc.) is not utilized. Therefore, electromagnetic interference can be reduced by removing a path for interference currents that can be conducted using a return (e.g., a reference voltage, such as a floating ground, a local ground, a chassis ground, etc.) conductor.

[0041] Figure 2Additionally shown is the vehicle communication bus 106 utilizing a second mode 210. The second mode 210 may include a "common mode" of communication between the computer 110, the sensor 115, the actuator 120, the component 125, the communication subsystem 130, and the HMI 135. In the context of the present disclosure, a "common mode" of communication means a communication mode in which a first conductor (e.g., conductor 106A) is used to transmit a signal and a second conductor (e.g., conductor 106B) is used to transmit a substantially similar signal. Figure 2 In the example of , a binary 1 may be sent via conductor 106A at time T1 using a positive voltage relative to a reference, while a signal having a substantially similar level may be sent using conductor 106B. In the example, a binary 0 may be sent via conductor 106A using a negative voltage relative to a reference, while a signal having a substantially similar level may be sent using conductor 106B.

[0042] At the receiving end, the receiving circuit can decode a binary 1, for example, based on conductors 106A and 106B exhibiting a positive voltage. The receiving circuit can decode a binary 0, for example, based on conductors 106A and 106B exhibiting a negative voltage. In addition, in response to conductors 106A and 106B exhibiting a common voltage to each other (e.g., both positive or both negative), the return conductor ( Figure 2 ). Therefore, conducted electromagnetic interference can be introduced into the common mode based on the use of the signal return conductor.

[0043] from Figure 2 As can be seen, the vehicle communication bus 106 can employ both differential mode (e.g., first mode) and common mode (e.g., second mode) of communication between the computer 110, the sensor 115, the actuator 120, the component 125, the communication subsystem 130, and the HMI 135. On the transmit side, the vehicle computer 110, for example, can overlay a message sent via the common mode (e.g., second mode) onto a message sent via the differential mode (e.g., first mode). Overlaying the common mode signal (e.g., second mode signal) onto the differential mode signal (e.g., first mode signal) can be accomplished using, for example, a summing circuit at the transmit interface of the vehicle computer 110. On the receive side, the receiving circuit (e.g., Figure 7The CAN RX component 760, watermark comparator 765) can utilize circuitry to separate binary digits of a message encoded via a differential mode (e.g., first mode) from a signal encoded via a common mode (e.g., second mode) by isolating a signal from conductor 106A that is not paired with an opposite signal on conductor 106B. Similarly, at the receiving end, the receiving circuit can utilize circuitry to separate binary digits of a message encoded via a common mode (e.g., second mode) from a signal encoded via a differential mode (e.g., first mode) by isolating a signal from conductor 106A that is not paired with a substantially similar signal on conductor 106B. In the context of the present disclosure, "isolation" or a form thereof means separating a first signal from a second signal so that the information content of the first signal does not interfere with or affect the information content of the second signal. Therefore, the vehicle communication bus 106 can utilize differential mode (e.g., first mode) and common mode (e.g., second mode) voltage signals to transmit data while maintaining isolation between the first mode and the second mode.

[0044] Figure 3 3 is a diagram showing programming instructions and / or hardware components of vehicle computer 110 generating watermark and data messages on conductors (eg, conductor 106A) of communication bus 106. Although Figure 3 indicates a voltage signal on conductor 106A, but may indicate a voltage signal on conductor 106B. Figure 3 As can be seen, the vehicle computer 110 includes a first mode message generator 305 for generating a first mode message 315. The vehicle computer 110 further includes a second mode signal generator 310 for generating a second mode signal 320. The second mode signal 320 may be used as a watermark to authenticate the first mode message 315. The first mode message generator 305 may include a CAN message generator, such as Figure 7 The CAN message generator may be used to format data into messages for transmission from the vehicle computer 110 , such as sensor operating modes, outputs of data or image processing operations, vehicle position data, data for display via the HMI 135 of the vehicle 105 , or any other data generated by the vehicle computer 110 .

[0045] like Figure 3 As indicated, the first mode message generator 305 (eg, Figure 7 The message buffer 730 of the receiver is operated to generate the first mode message 315 for transmission along the vehicle communication bus 106 using differential mode operation. The second mode signal generator 310 may include a watermark signal generator for transmission along the vehicle communication bus 106. Figure 3At a location (not shown), the received watermark signal may be processed to determine whether the watermark signal includes a predetermined watermark signal. In response to the received watermark signal including the predetermined watermark signal, the data message may be authenticated. In response to the received watermark signal not including the predetermined watermark signal, the data message may be discarded as false or illegal. In an example, an unauthenticated data message may be accepted by the receiver but then discarded according to the programming of the receiving computer 110, sensor 115, actuator 120, component 125, communication subsystem 130, and / or HMI 135.

[0046] The second mode signal 320 may include a spread spectrum technique to modulate the signal into a watermark to authenticate the first mode message 315. The spread spectrum signal may utilize a spread spectrum code having a code rate significantly higher than the data rate of the first mode message 315. For example, Figure 3 As can be seen, during the interval for sending the first binary value of the first mode message 315 (i.e., during the interval T3), the second mode signal generator 310 sends 10 binary digits of the spread spectrum code. Figure 3 As can be seen, the second mode signal 320 utilizes a spreading code having a data rate 10 times that of the first mode message 315 (eg, ). Therefore, if Figure 3 As shown, the first binary value of the first mode message 315 can be authenticated in response to the binary value of the spread spectrum code of the second mode signal 320 having a threshold correlation level (such as 80% correlation, 90% correlation, 95% correlation) with a predetermined spread spectrum code stored at the receiving end of the communication bus 106.

[0047] As reference Figure 2 Mentioned in Figure 2 and Figure 3In the example of , the first mode message 315 transmitted using differential mode does not utilize the return signal path. However, the second mode signal 320 that uses common mode transmission to watermark the first mode message 315 can utilize the return signal path. The return signal path can indicate susceptibility to electromagnetic interference conducted through the return signal path. Therefore, in response to a receiver at the receiving end of the communication bus 106 detecting an increase in the bit error rate of the second mode signal 320, for example, the second mode signal generator 310 can be instructed to modify the spreading ratio, which in this context means the ratio of the binary digits of the spread spectrum code to the binary digits of the first mode message 315. Therefore, for example, in response to a receiver at the receiving end of the communication bus 106 detecting an increase in the bit error rate of the second mode signal 320, the second mode signal generator can reduce the spreading ratio of the second mode signal 320. In an example, in response to the conducted electromagnetic interference causing or contributing to an increase in the bit error rate of the second mode signal 320, the second mode signal generator 310 may reduce the spreading ratio of the second mode signal 320 by an integer factor, such as from 10 times the data rate of the first mode message 315 to 5 times the data rate of the first mode message. In another example, in response to the receiver at the receiving end of the communication bus 106 detecting a decrease in the bit error rate of the second mode signal 320, the second mode signal generator 310 may increase the spreading ratio of the second mode signal 320 by, for example, an integer factor, such as from 5 times the data rate of the first mode message 315 to 10 times the data rate of the first mode message 315.

[0048] Figure 4 4 is a diagram showing the vehicle computer 110 generating a watermark and data message on the communication bus 106. Figure 4 As shown, the vehicle computer 110 communicates with the HMI 135. Such communications may include relatively non-sensitive data, such as radio tuning parameters, climate control settings, etc. Such communications may also include sensitive or potentially sensitive content, such as codes for accessing the vehicle 105, names of people authorized to operate the vehicle 105, etc. Therefore, the computer 110 may dynamically adjust the second mode signal 320 to provide an increased level of watermark authentication of the first mode message 315. For example, in response to an operator interacting with the infotainment display of the vehicle 105, the second mode signal generator 310 may utilize a relatively simple version of the second mode signal 320 to watermark the first mode message 315. In an example, such a signal may include a short string of binary ones followed by a short string of binary zeros. The first mode message 315 may be watermarked during a portion of the interval (such as during a period such as 102 to 104) during which the first mode message 315 is sent. Figure 4In another example, in response to the computer 110 sending a potentially sensitive message 415 (e.g., a username or password or other content related to personally identifiable information) to be received by a component of the HMI 135 for display to an operator of the vehicle 105, the computer 110 may utilize a second pattern signal 420 that may include a complex pattern of binary ones and zeros. The second pattern signal 420 may extend beyond the interval in which the potentially sensitive message 415 was sent, for example, for a time interval T6. Thus, the computer 110 may dynamically adjust the length and / or complexity of the second pattern signal 320 used as a watermark to authenticate the first pattern message 315. Such dynamic adjustment of the length and / or complexity of the second pattern signal 320 may be based on the recipient of the first pattern message 315, the sensitivity level (e.g., content) of the data encoded in the first pattern message 315, or based on another criterion.

[0049] As reference Figure 4 As described, the second mode signal 420 may not be synchronized or coincident with the transmission time of the first message (e.g., the potentially sensitive message 415) transmitted using the first modulation mode. Thus, for example, the second mode signal 420 may operate as a preamble transmitted before the potentially sensitive message 415 is transmitted. In another example, the second mode signal 420 may be transmitted after the potentially sensitive message 415 in order to authenticate the potentially sensitive message. In another example, the second mode signal 420 may be utilized to convey additional data, such as metadata, which may include parameters describing the source of the potentially sensitive message 415, the credentials of the message 415, the length of the message 415, etc.

[0050] Figure 5A FIG. 1 is a block diagram of a vehicle computer capable of transmitting watermark signals and data messages via a communication bus. Figure 5A As can be seen, the programming of the vehicle computer 110 may include a wavelet overlay component 505 that operates to apply a wavelet algorithm to an input signal, such as the input from the second mode signal generator 310. In the context of the present disclosure, a wavelet means a wave-like oscillation of an input signal in amplitude or phase during a time interval of the input signal. Figure 5A In the example of , the wavelet overlay component 505 applies a waveform that includes a portion of a sine wave oscillation in amplitude. In other examples, the wavelet overlay component 505 may apply a different type of wavelet algorithm, such as a cosine waveform, a trapezoidal waveform, a square waveform, etc., or another waveform type, to adjust the amplitude within the interval of the output signal from the second mode signal generator 310. In an example, the wavelet overlay applied by the wavelet overlay component 505 may be selected to provide isolation between the wavelet and the content of the data message (e.g., the first mode message 315, the potentially sensitive message 415, etc.).

[0051] The programming of the computer 110 may also include programming to up-convert the second mode signal using the up-converter 510. In an example, the second mode signal including a spread spectrum signal using a code rate of 1 Mbit / s may be up-converted, for example, by an integer or non-integer factor to a code rate of 2 Mbit / s, 3 Mbit / s, 4 Mbit / s, etc. Thus, the second mode signal 520 may be a watermark that has been up-converted and amplitude adjusted at certain time intervals as a means of authenticating the first mode message 315.

[0052] Figure 5B FIG. 1 is a block diagram of a vehicle computer capable of transmitting watermark signals and data messages via a communication bus. Figure 5B As can be seen, the programming of the vehicle computer 110 may include a wavelet overlay component 505 that operates to apply a wavelet resulting in a 180° phase shift within the interval of the output signal from the second mode signal generator 310. Figure 5B In the example of , the phase-shifted second mode signal 530 is an inverted version of the second mode signal 320. In other examples, the wavelet covering component 505 can apply a phase shift other than 180°, such as a 45° phase shift, a 90° phase shift, or any other phase shift within the interval of the output signal from the second mode signal generator 310.

[0053] Figure 6 is a block diagram of a vehicle computer capable of transmitting a watermark signal and a data message via a communication bus. As previously indicated herein, the second mode signal 320 can be modulated as a common mode signal applied to the conductors of the vehicle communication bus 106. In addition, and as also previously described, modulating the signal in a common mode can utilize a ground (e.g., a floating ground, a signal ground, a chassis ground, etc.) that can provide a path for conducted electromagnetic interference. Therefore, in response to a recipient of the second mode signal 320 (e.g., a sensor 115, an actuator 120, a component 125, a communication subsystem 130, an HMI 135, etc.) detecting an increase in bit error rate or any other degradation in signal performance, the vehicle computer 110 can increase the amplitude of the second mode signal 320. Thus, as Figure 6 As can be seen, the amplitude of the second mode signal 620 may increase from a first amplitude (eg, amplitude 605 ) to a second amplitude (eg, amplitude 625 ) in order to provide an output signal amplitude that overcomes the electromagnetic interference source 610 .

[0054] As reference Figure 3 , Figure 4 , Figure 5A , Figure 5B and Figure 6As described, a first mode message (e.g., 315) may be sent using a differential mode (e.g., first mode). The first mode message may be watermarked using a second mode signal (e.g., 320) sent via a common mode (e.g., second mode). A second message (e.g., 415) sent in a differential mode may be watermarked using a second mode signal (e.g., 420, 520, 530, 620) having at least one parameter that varies relative to the second mode signal 320. Thus, in the example, as shown in reference Figure 3 As described, the second mode signal (e.g., 320) can be varied to include a reduced spreading ratio of the spread spectrum signal. Figure 4 As described above, the second mode signal 420 may vary relative to the second mode signal 320 so as to extend beyond the interval in which the potentially sensitive second message 415 is sent. In another example, as shown in reference Figure 5A As described, the second mode signal 520 can be varied relative to the second mode signal 320 to include a wavelet overlay. In another example, also as described with reference to Figure 5A As described, the second mode signal 520 can be varied so as to be up-converted relative to the second mode signal (eg, 320). In another example, as shown in reference Figure 5B As described, the second mode signal 530 may include a wavelet cover so as to be phase shifted relative to the second mode signal 320. In another example, as shown in reference Figure 6 As described, second mode signal 620 may vary to include an increased amplitude relative to second mode signal 320 .

[0055] Figure 7 is a block diagram of the programming and / or hardware components of the vehicle computer 110 for watermarking of data communications. Figure 7 In the example of , the local controller 705 is a session layer real-time controller that includes a set of programmed operations to create, sequence and modulate watermark signals for authenticating data messages. The network link component 710 is a network layer component that controls network synchronization and network node management of the vehicle communication bus 106. Figure 7 In the example of FIG. 7 , the network link component 710 receives a transmit security (TRANSEC) initial seed from the transmit security engine 715. The transmit security seed includes initial parameters such as a pseudo-random number generator for a watermark code (such as a spreading code, a spreading ratio, etc.), which can be used to generate a reference Figure 3The second mode signal 320 described above. Thus, the transmission security engine 715 controls and manages the dynamic generation of watermark codes (such as the codes used to generate the second mode signal 320 and the second mode signal 420). The controller area network bus media access control (CAN Bus MAC) component 720 can be a conventional data formatting media access control layer, which includes a method for generating a data message (e.g., Figure 3 In other examples, the CAN Bus MAC component 720 may be used to generate another type of message, such as a message for use with a vehicle Local Interconnect Network (LIN) bus, automotive Ethernet, or any other multi-conductor bus structure suitable for sending a message modulated using a differential mode (e.g., a first mode) and a watermark signal modulated using a common mode (e.g., a second mode).

[0056] The TRANSEC storage component 725 operates to store the current value of the watermark code. The sequence generator 740 operates to generate a real-time binary value, such as a spreading sequence, based on the current watermark code. The message buffer 730 operates as a buffer to store the current data message (e.g., the first mode message 315) and any other messages currently in the queue to be sent along the vehicle communication bus 106. The diagnostic engine 735 operates to evaluate whether any current second mode signal received by the vehicle computer 110 includes an increased level of noise and / or distortion such as may be caused by electromagnetic interference. Therefore, the diagnostic engine 735 can operate to determine whether the bit error rate (BER) of the spread spectrum code (i.e., the spread spectrum code via common mode modulation) has increased beyond a threshold value (e.g., 2%, 5%, 10%), etc. In this context, the threshold value can be selected based on any error control coding capability of the spread spectrum code used to generate the second mode signal 320. In response, the diagnostic engine 735 can signal the local controller 705 to increase the amplitude of the second mode signal in order to overcome the electromagnetic interference exhibited in the common mode (e.g., first mode) transmission.

[0057] The transmit / receive (TX / RX) engine 745 receives an input signal from the watermark comparator 765. Therefore, the transmit / receive engine 745 operates to determine whether a received message (e.g., the first mode message 315) can be authenticated with a suitable watermark. Therefore, based on the output signal from the watermark comparator 765, the transmit / receive engine 745 determines whether to forward a message received from the vehicle communication bus 106 that has been authenticated, or whether to discard the received message as an inauthentic message. In response to the authentication of the received message, the message can be forwarded to the message buffer 730. Therefore, the watermark comparator 765 and the controller area network receive (CAN RX) component 760 can operate simultaneously to receive messages from the vehicle communication bus 106, wherein the CAN RX component 760 receives a message (e.g., the first mode message 315) modulated via a differential mode (e.g., the first mode), and the watermark comparator 765 receives a message sent via a common mode (e.g., the second mode). Similarly, the watermark generator 750 can operate simultaneously with the controller area network transmit (CAN TX) component 755. Thus, the watermark generator 750 may modulate the second mode signal 320, for example using a common mode, simultaneously with the CAN TX component 755 modulating the first mode message, for example using a differential mode.

[0058] Figure 8 800 is a flow chart of an example process 800 for sending and receiving watermarked vehicle data using a vehicle communication bus. In some examples, the memory of the vehicle computer 110 stores executable instructions for executing the blocks of the process 800, and / or such programming can be implemented in other computing devices of the vehicle system 100. In addition, the example process 800 can be used to provide watermark authentication of data messages in other applications, such as those that can utilize a differential mode (a first mode) and a second mode (e.g., a second mode). Therefore, although the process 800 is described as a vehicle-based process in which a watermark signal is sent as a way to authenticate a data message, it should be understood that the process 800 can be applied in the context of non-vehicle applications. Such non-vehicle applications can include, for example, a security system in which a second modulation mode can be utilized to authenticate camera data that is transmitted to a controller and modulated using a first mode. In other non-vehicle applications, the second modulation mode can be utilized to authenticate sensor data that is modulated using a first mode.

[0059] As a general overview of the vehicle-based process 800, the vehicle computer 110, or a computer utilized in any other communication application, may receive sensitive or potentially sensitive data. The sensitive or potentially sensitive data may include personally identifiable information of a vehicle operator, data uploaded from an operator or passenger's mobile communication device, an operator or passenger username used to gain access to the vehicle, and the like. Thus, the vehicle computer 110 may determine whether a particular first mode message (e.g., 315) is to be watermarked, for example, via the second mode signal 320. The vehicle computer 110 may additionally determine whether to watermark a second message (e.g., the first mode message 415) using a second mode signal (e.g., 420) having parameters that vary relative to the second mode signal 320. As described with reference to Figure 3 As described above, the second mode signal can vary according to the spread spectrum code rate. Figure 4 As described above, the second mode signal may vary according to the interval at which the second signal is sent. Figure 5A and Figure 5B As described, the second mode signal may be varied so as to be upconverted and / or overlaid with a wavelet. Figure 6 The second mode signal may be varied to increase the amplitude. The watermark of the transmitted data may operate as a means of authenticating sensitive or potentially sensitive data. The watermark of the data communication may prevent the insertion of false data that may be used to gain unauthorized access to the vehicle, direct the operation of the vehicle, or result in the disclosure of information private to the operator and / or passengers of the vehicle. In this environment, sensitive or potentially sensitive data messages are transmitted over the vehicle communication bus using a differential (e.g., first) modulation mode. Messages modulated using the first modulation mode are authenticated using a watermark signal modulated in a common mode (e.g., second mode).

[0060] Process 800 begins at block 805, where the vehicle computer 110 generates a first message and a second message for transmission in a differential mode (first mode). In an example, the first mode message may relate to the operation of the vehicle 105, such as input from one of the sensors 115. The second message may include potentially sensitive data, such as personally identifiable data of an operator or passenger of the vehicle 105.

[0061] Process 800 may continue at block 810, where the vehicle computer 110 generates a first watermark signal and a second watermark signal. The first watermark signal may include a signal that is transmitted only during a portion of the interval in which the first mode message 315 is transmitted (such as during the interval in which the first mode message 315 is transmitted). Figure 4The second watermark signal, such as the second mode signal 420, may include a binary digit transmitted during the interval extending beyond, for example, the interval in which the potentially sensitive message 415 is transmitted, such as the time interval T6. Alternatively or additionally, the second mode signal 420 may be up-converted and / or modified using a wavelet cover component 505 that operates to modify the amplitude of the second mode signal 320. Alternatively or additionally, the phase of the second mode signal 320 may be adjusted within an interval of the output signal from the second mode signal generator 310. Alternatively or additionally, the amplitude of the second mode signal 320 may be adjusted to overcome conducted electromagnetic interference.

[0062] Process 800 may continue at block 815, where the vehicle computer 110 transmits the first mode message 315 using a differential (eg, first) modulation mode. Block 815 may include simultaneously transmitting the second mode signal 320. Block 815 may utilize hardware and / or software components, such as reference Figure 7 The watermark generator 750 and CAN TX component 755 are described.

[0063] Process 800 may continue at block 820, where the vehicle computer 110 transmits a second message (eg, potentially sensitive message 415) using a differential modulation scheme. Similar to block 815, block 820 may include utilizing a reference Figure 7 The depicted watermark generator 750 and CAN TX component 755 transmit the second mode signal 420 simultaneously.

[0064] Process 800 may continue at block 825, where a receiver, which may include a sensor 115, an actuator 120, a component 125, a communication subsystem 130, or an HMI 135, receives the first mode message 315 and the potentially sensitive message 415 and the first mode signal 320 and the second mode signal 420. The reception of the first mode message 315 and the potentially sensitive message 415 and the first mode signal and the second mode signal (320, 420) may utilize hardware and / or software components, such as reference Figure 7 The CAN RX component 760 and watermark comparator 765 are depicted.

[0065] Process 800 can continue at box 830, where the receiver (e.g., sensor 115, actuator 120, etc.) performs a comparison to determine whether the received first mode signal and second mode signal (320, 420) match or at least correlate (e.g., 85% correlation, 90% correlation, 95% correlation, etc.) with the watermark code stored in the TRANSEC storage component 725.

[0066] Process 800 may continue at block 835 where, in response to a match or threshold correlation between the received first and second mode signals ( 320 , 420 ) and the watermark code stored in TRANSEC storage component 725 at block 830 , the message may be forwarded to message buffer 730 .

[0067] Process 800 may alternatively continue at block 840, where the first mode message 315 may be discarded in response to the absence of a match or threshold correlation between the received second mode signal (320) and the watermark code stored in the TRANSEC storage component 725. Block 840 may additionally include discarding the potentially sensitive message 415 in response to the absence of a match or threshold correlation between the received second mode signal 420 and the watermark code stored in the TRANSEC storage component 725.

[0068] After either block 835 or block 840, process 800 ends.

[0069] Generally speaking, the computing systems and / or devices described may employ any of a variety of computer operating systems, including but not limited to the following versions and / or varieties: Ford Application; AppLink / Smart Device Link middleware; Microsoft Operating system; Microsoft Operating system; Unix operating system (for example, distributed by Oracle Corporation of Redwood Shores, California operating systems); AIX UNIX operating system distributed by International Business Machines Corporation of Armonk, New York; Linux operating system; Mac OSX and iOS operating systems distributed by Apple Inc. of Cupertino, California; BlackBerry operating system distributed by BlackBerry Ltd. of Waterloo, Canada; and Android operating system developed by Google Inc. and the Open Handset Alliance; or provided by QNX Software Systems CAR Infotainment Platform. Examples of computing devices include, but are not limited to, an in-vehicle computer, a computer workstation, a server, a desktop, notebook, laptop or handheld computer, or some other computing system and / or device.

[0070] Computing devices typically include computer-executable instructions, wherein the instructions are executable by one or more computing devices such as those listed above. Computer-executable instructions may be compiled or interpreted from a computer program created using a variety of programming languages ​​and / or technologies, including, alone or in combination, but not limited to Java. TM, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Python, Perl, HTML, etc. Some of these applications can be compiled and executed on virtual machines such as Java virtual machines, Dalvik virtual machines, etc. Typically, a processor (e.g., a microprocessor) receives instructions from, for example, a memory, a computer-readable medium, etc., and executes these instructions to perform one or more processes, including one or more of the processes described herein. Such instructions and other data can be stored and sent using various computer-readable media. Files in a computing device are typically a collection of data stored on a computer-readable medium such as a storage medium, a random access memory, etc.

[0071] Computer-readable media (also referred to as processor-readable media) include any non-transitory (e.g., tangible) media that participate in providing data (e.g., instructions) that can be read by a computer (e.g., by a processor of a computer). Such media can take many forms, including, but not limited to, non-volatile media and volatile media. Instructions can be sent via one or more transmission media, including optical fibers, wires, wireless communications, including internals that make up a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, RAM, PROM, EPROM, FLASH-EEPROM, any other memory chip or cassette, or any other medium from which a computer can read.

[0072] The database, data repository or other data storage described herein may include various mechanisms for storing, accessing / accessing and retrieving various data, including hierarchical databases, file sets in file systems, application databases in special formats, relational database management systems (RDBMS), non-relational databases (NoSQL), graphic databases (GDB), etc. Each such data storage is typically included in a computing device using a computer operating system such as one of the above-mentioned, and is accessed via a network in any one or more of a variety of ways. The file system is accessible from the computer operating system and may include files stored in various formats. In addition to the language (such as the above-mentioned PL / SQL language) for creating, storing, editing and executing stored programs, RDBMS typically also uses structured query language (SQL).

[0073] In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.) stored on computer-readable media associated therewith (e.g., disks, memories, etc.). A computer program product may include such instructions stored on a computer-readable medium for performing the functions described herein.

[0074] In the accompanying drawings, the same reference numerals indicate the same elements. In addition, some or all of these elements may be changed. With respect to the media, processes, systems, methods, heuristics, etc. described herein, it should be understood that although the steps of such processes, etc. have been described as occurring in a certain ordered sequence, such processes may be practiced by performing the steps in an order different from that described herein. It should also be understood that certain steps may be performed simultaneously, other steps may be added, or certain steps described herein may be omitted.

[0075] Unless otherwise expressly indicated herein, all terms used in the claims are intended to be given their ordinary and customary meanings as understood by those skilled in the art. Specifically, unless a claim recites an express limitation to the contrary, the use of singular articles such as "a," "an," "the," "said," etc. should be interpreted as reciting one or more of the indicated elements. The adjectives "first" and "second" are used throughout this document as identifiers and are not intended to indicate importance, order, or quantity. The use of "in response to" and "after determining..." indicates a causal relationship, not just a temporal relationship.

[0076] The present disclosure has been described in an illustrative manner, and it is to be understood that the terminology which has been used is intended to be in the nature of words of description rather than limitation. Many modifications and variations of the present disclosure are possible in light of the above teachings, and the present disclosure may be practiced in other ways than specifically described.

[0077] According to the present invention, a system is provided, the system having: a computer, the computer comprising a processor coupled to a memory, the memory storing instructions, the instructions executable by the processor to: generate a first message and a second message to be sent via a communication bus via a first modulation mode; generate a first watermark signal and a second watermark signal to be sent on the communication bus via a second modulation mode, wherein the first modulation mode and the second modulation mode are isolated from each other; send the first message covered by the first watermark signal; and send the second message covered by the second watermark signal, wherein the second watermark signal has different parameters from the first watermark signal.

[0078] According to an embodiment, the first modulation mode comprises a differential mode.

[0079] According to an embodiment, the second modulation mode comprises a common mode.

[0080] According to an embodiment, the first watermark signal and the second watermark signal are modulated via a spread spectrum technique.

[0081] According to an embodiment, the parameter is based on a ratio of a spreading code rate to a data rate of the spread spectrum signal.

[0082] According to an embodiment, the parameter is an integer value of the ratio of the spreading code rate to the data rate of the spread spectrum signal.

[0083] According to an embodiment, said parameter is a phase shift of a spreading code of the spread spectrum signal.

[0084] According to an embodiment, said parameter is the length of said second watermark signal.

[0085] According to an embodiment, said parameter is the code rate of the spread spectrum signal.

[0086] According to an embodiment, said parameter is an up-conversion factor of a spreading code of the spread spectrum signal.

[0087] According to an embodiment, said parameter is the amplitude of a spreading code of the spread spectrum signal.

[0088] According to an embodiment, the instruction is further used to: determine the parameter based on the content of the second message.

[0089] According to an embodiment, the instructions are further used to: determine the parameter based on a recipient of the second message.

[0090] According to an embodiment, the instructions are further for determining the parameter based on noise detected on a conductor of the communication bus.

[0091] According to an embodiment, the first watermark signal or the second watermark signal extends beyond an interval in which the first message or the second message is sent.

[0092] According to an embodiment, the first watermark signal or the second watermark signal terminates before completing the sending of the first message or the second message.

[0093] According to the present invention, a method includes: generating a first message and a second message to be sent via a communication bus via a first modulation mode; generating a first watermark signal and a second watermark signal to be sent on the communication bus via a second modulation mode, wherein the first modulation mode and the second modulation mode are isolated from each other; sending the first message covered by the first watermark signal; and sending the second message covered by the second watermark signal, wherein the second watermark signal has different parameters from the first watermark signal.

[0094] In one aspect of the invention, the method comprises: detecting interference on one or more conductors of the communication bus; and determining the parameter of the second watermark signal based on the detected interference.

[0095] In one aspect of the invention, the method comprises: determining a recipient of the second message; and determining the parameter of the second watermark signal based on the determined recipient.

[0096] In one aspect of the invention, the method comprises: determining a message content of the second message; and determining the parameter of the second watermark signal based on the determined second message content.

Claims

1. A method comprising: generating a first message and a second message for transmission via a communication bus via a first modulation mode; generating a first watermark signal and a second watermark signal for transmission on the communication bus via a second modulation mode, wherein the first modulation mode and the second modulation mode are isolated from each other; sending the first message covered by the first watermark signal; as well as The second message is sent covered by the second watermark signal, the second watermark signal having different parameters than the first watermark signal. The method of claim 1 , wherein the first modulation mode comprises a differential mode. The method of claim 1 , wherein the second modulation mode comprises a common mode.

4. The method of claim 1, wherein the parameter is based on a ratio of a spreading code rate to a data rate of the spread spectrum signal.

5. The method of claim 1, wherein the parameter is a phase shift of a spreading code of a spread spectrum signal.

6. The method of claim 1, wherein the parameter is the length of the second watermark signal.

7. The method of claim 1, wherein the parameter is a code rate of the spread spectrum signal.

8. The method of claim 1, wherein the parameter is the amplitude of a spreading code of the spread spectrum signal.

9. The method of claim 1, further comprising: The parameter is determined based on the content of the second message.

10. The method of claim 1, wherein the parameter is an up-conversion factor of a spreading code of a spread spectrum signal.

11. The method of claim 1, further comprising: The parameter is determined based on noise detected on a conductor of the communication bus.

12. The method of claim 1, wherein the first watermark signal or the second watermark signal extends beyond an interval in which the first message or the second message is sent.

13. The method of claim 1, wherein the first watermark signal or the second watermark signal terminates before completing transmission of the first message or the second message.

14. A computer programmed to perform the method of any one of claims 1 to 13.

15. A vehicle comprising the computer according to claim 14.