Method and apparatus for managing feature-on-demand service for vehicle
Patent Information
- Application Number
- PCT/KR2024/012633
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-31
- Filing Date
- 2024-08-23
- Publication Date
- 2025-03-06
Smart Images

Figure KR2024012633_06032025_PF_FP_ABST
Abstract
Description
Method and device for managing vehicle subscription services
[0001] The present disclosure relates to a method and device for managing a vehicle subscription service.
[0002] The content described below merely provides background information related to the present embodiment and does not constitute prior art.
[0003] Vehicles are equipped with devices driven by Electronic Control Units (ECUs) to perform various functions and services, including driving safety, driver assistance, and autonomous driving. As the number of devices installed in a vehicle increases, the importance of software to efficiently operate these devices increases.
[0004] Feature on Demand (FoD) subscription services allow users to download and activate new software not yet installed on their vehicles, either through a server or on their devices, or by activating software already installed but inactive. Using the FoD feature, users can selectively use or cancel software subscriptions based on their needs.
[0005] The subscription service is provided as follows: The driver requests a subscription to a new feature from the vehicle using their PII (Personal Identifiable Information), VIN (Vehicle Identification Number), and payment information. The vehicle then transmits the driver's request to the server to verify the requested feature. The server verifies the PII, VIN, and payment information and sends the installation data for the requested feature via an over-the-air (OTA) update. The vehicle verifies the installation data received from the server using the UDS protocol and activates the requested feature using the ECU ID (ECU identification).
[0006] Meanwhile, in network-connected environments, it's crucial to securely protect personal information, smart keys, and vehicle operation software registered in the vehicle from external attacks. Malfunctions in vehicle software due to external attacks can have devastating consequences for the vehicle and its occupants. Therefore, technologies that efficiently manage FoD functions and strengthen security against external attacks are required.
[0007] The main purpose of this disclosure is to verify whether a user using FoD is a legitimate user and whether the terminal is legitimate, and to strengthen security against external attacks.
[0008] The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.
[0009]
[0010] According to one aspect of the present disclosure, a method for managing a subscription service performed by a device mounted on a vehicle is provided, the method including: a process of setting an index for determining a setting state of a FoD function; a process of generating a random number and setting a first operand using the random number and the index; a process of setting a second operand by performing a first XOR operation between the first operand and a session key; a process of setting a third operand using the index; a process of performing a second XOR operation between the second operand and the third operand, and a process of managing the FoD function by reflecting a result of the second XOR operation.
[0011] According to another aspect of the present disclosure, there is provided a device for managing a subscription service, comprising: at least one memory for storing commands; and at least one processor, wherein the at least one processor executes the commands to set an index for determining a setting state of a FoD function, generate a random number and set a first operand using the random number and the index, execute a first XOR operation between the first operand and a session key to set a second operand, set a third operand using the index, execute a second XOR operation between the second operand and the third operand, and manage the FoD function by reflecting a result of the second XOR operation.
[0012]
[0013] According to one embodiment of the present disclosure, there is an effect of confirming whether a user using FoD is a legitimate user and a legitimate terminal, and strengthening security from external attacks.
[0014] The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
[0015]
[0016] Figure 1 is a drawing showing a subscription management device connected to a server using a network.
[0017] FIG. 2 is a block diagram schematically illustrating a subscription management device according to one embodiment of the present disclosure.
[0018] FIG. 3 is a block diagram schematically illustrating a server according to one embodiment of the present disclosure.
[0019] FIG. 4 is a diagram illustrating a process in which a subscription management device according to one embodiment of the present disclosure generates a session key.
[0020] FIG. 5 is a diagram illustrating a method for a subscription management device according to one embodiment of the present disclosure to subscribe to or cancel a FoD function.
[0021] FIG. 6 is a diagram illustrating a method in which a first controller manages the FoD function of a second controller according to one embodiment of the present disclosure.
[0022] FIG. 7 is a flowchart illustrating a subscription management method according to one embodiment of the present disclosure.
[0023] FIG. 8 is a block diagram schematically illustrating an exemplary computing device that can be used to implement a method according to the present disclosure.
[0024] Hereinafter, embodiments of a vehicle security method and device according to this specification will be described in detail with reference to the attached drawings.
[0025] When assigning reference numerals to components in each drawing, it should be noted that identical components are assigned the same numerals whenever possible, even if they appear in different drawings. Furthermore, when describing the embodiments of this specification, if a detailed description of a related known structure or function is deemed likely to obscure the gist of the invention, such detailed description will be omitted.
[0026] In addition, terms such as first, second, (a), (b), etc. may be used to describe components of embodiments of this specification. These terms are only intended to distinguish the components from other components, and the nature, order, or sequence of the components are not limited by these terms. Throughout the specification, when a part is said to "include" or "have" a component, this does not mean that other components are excluded, but rather that other components may be further included, unless specifically stated otherwise. In addition, terms such as "part" and "module" described in the specification mean a unit that processes at least one function or operation, and this may be implemented by hardware, software, or a combination of hardware and software.
[0027] The detailed description set forth below, together with the accompanying drawings, is intended to describe exemplary embodiments and is not intended to represent the only embodiments.
[0028] Below, 'K i ' is a long-term key between the first controller (100) and the i-th second controller (110), and 'R i ' is the i-th random number, and 'MAC i ' is the i-th Message Authentication Code, and 'SK i ' is a session key between the first controller (100) and the ith second controller (110). Here, i is a natural number from 1 to n (n is a natural number).
[0029] Figure 1 is a drawing showing a subscription management device connected to a server using a network.
[0030] FIG. 2 is a block diagram schematically illustrating a subscription management device according to one embodiment of the present disclosure.
[0031] FIG. 3 is a block diagram schematically illustrating a server according to one embodiment of the present disclosure.
[0032] The subscription management device (vehicle security apparatus, 10) is a device mounted on a vehicle and can be connected to a server (server, 20) that provides vehicle-related functions or services using a network such as LTE, 5G, or Wi-Fi.
[0033] The subscription management device (10) includes a first controller (100) and a second controller (110). There may be one or more second controllers (110).
[0034] A first controller (100) may include all or part of a first storage unit (102), a first code operator (104), and a communication unit (106). A second controller (110) may include all or part of a second storage unit (112), a second code operator (114), and a communication unit (116). Not all blocks illustrated in FIG. 1 are essential components, and some blocks included in the subscription management device in other embodiments may be added, changed, or deleted. The components illustrated in FIG. 1 represent functionally distinct elements, and at least one of the components may be implemented in a form that is integrated with each other in an actual physical environment.
[0035] The first storage unit (102) and the second storage unit (112) store information regarding credentials. Credentials are encrypted information that can verify a user's identity. Credentials can be used to prove a user's identity. Credentials include biometric data (fingerprints, facial recognition, etc.), security tokens (OTP, etc.), digital certificates, etc. The first storage unit (102) and the second storage unit (1120) store personally identifiable information (PII). The first storage unit (102) and the second storage unit (112) store information regarding long-term keys. The first storage unit (102) can store information regarding the long-term keys of all second controllers (110) as well as the long-term keys of the first controller (100). The first storage unit and the second storage unit store information regarding ECU IDs. The first storage unit (102) and the second storage unit (112) can be implemented using an HSM (Hardware Security Module) to safely manage stored information.
[0036] The first encryption operation unit (104) and the second encryption operation unit (114) perform encryption operations using keys used in the vehicle's internal network. The first encryption operation unit (104) and the second encryption operation unit (114) can generate a random number. The random number may be the length of the data payload.
[0037] The first encryption operation unit (104) can generate a message authentication code (MAC) using the random number and long-term key received from the second controller (110). The first encryption operation unit (104) can generate a MAC received from the second controller (110) using the random number and long-term key generated by the first controller (100). ican be verified. The second encryption operation unit (114) can generate a MAC using the random number and long-term key received from the first controller (100). The second encryption operation unit (114) can generate a MAC received from the first controller (100) using the random number and long-term key generated by the second controller (110). j can be verified.
[0038] The first encryption operation unit (104) and the second encryption operation unit (114) can generate HMAC using a hash-based message authentication code algorithm. Specifically, the first encryption operation unit (104) and the second encryption operation unit (114) can generate HMAC using mathematical expression 1.
[0039] [Mathematical Formula 1]
[0040]
[0041] If i is 1 here, IDX i -1 The value is set to 0.
[0042] The first encryption operation unit (104) and the second encryption operation unit (114) calculate an index value for setting the operand of the XOR operation using mathematical expression 2.
[0043] [Equation 2]
[0044]
[0045] The first encryption operation unit (104) and the second encryption operation unit (114) use the index value to set a bit to determine the setting status of the FoD function. Here, the setting status of the FoD function means setting to subscribe to the FoD function or setting to disable the FoD function. For example, if the index value is 2, if the FoD function is subscribed, the second bit of the data is set to 1, and if the FoD function is disabled, the second bit of the data is set to 0.
[0046] The first encryption operation unit (104) and the second encryption operation unit (114) execute an 8-byte XOR operation between the set data and the MSB (Most Significant Byte) of the session key to determine the setting status of the FoD function.
[0047] The communication unit (106 and 116) is a hardware device implemented as an electronic circuit for transmitting and receiving signals using wireless or wired connections, and can transmit and receive information based on in-vehicle devices and in-vehicle network communication technology. As an example, the in-vehicle network communication technology may include CAN (Controller Area Network) communication, LIN (Local Interconnect Network) communication, Flex-Ray communication, etc.
[0048] The communication units (106 and 116) can perform communication with servers, infrastructure, other vehicles, etc. outside the vehicle by using wireless Internet technology or short range communication technology. Here, the wireless Internet technology may include Wireless LAN (WLAN), Wireless Broadband (Wibro), Wi-Fi, WiMAX (World Interoperability for Microwave Access), etc. In addition, the short range communication technology may include Bluetooth, ZigBee, UWB (Ultra Wideband), RFID (Radio Frequency Identification), Infrared Data Association (IrDA), etc. For example, the communication units (106 and 116) can transmit a vehicle identification number (VID) to the server and transmit or receive encrypted data to the server.
[0049] The first controller (100) controls the process of generating and distributing a session key used in the vehicle's internal network. The CGW (Central Gate Way) can be the first controller (100).
[0050] The first controller (100) and the second controller (110) share the same key generation algorithm (KDF, Key Derivation Function). Therefore, the first controller (100) and the second controller (110) can generate the same session key if the seed value is the same.
[0051] The first controller (100) manages the FoD function of the vehicle and receives FoD-related information from the server. Here, the FoD-related information includes whether the user has subscribed to or canceled the FoD function.
[0052] The first controller (100) and the second controller (110) may include controllers that implement a gateway, a remote smart parking assist (RSPA), an advanced driver assistance system (ADAS), a forward collision-avoidance assist (FCA), a lane keeping assist (LKA), a blind-spot collision-avoidance assist (BCA), a smart cruise control (SCC), a surround view monitor (SVM), a head-up display (HUD), a telematics device, an audio video navigation (AVN), an engine control unit, etc.
[0053] The first controller (100) and the second controller (110) may be implemented in a form of a combination of hardware and software. For example, the first controller (100) and the second controller (110) may be implemented as a microprocessor, and may also be an electronic control unit (ECU), a micro controller unit (MCU), a central processing unit (CPU), or other types of controllers mounted on a vehicle.
[0054] The first controller (100) and the second controller (110) can be implemented inside the vehicle, and can be implemented as separate devices for each function and interconnected or implemented as an integral part with control units inside the vehicle.
[0055] The server (20) includes a management unit (210) for managing operations and vehicle-related information according to vehicle requests, a database (220) for storing various versions of software and data related to FoD, and a communication unit (230) for transmitting data using a network. Here, operations according to vehicle requests include software updates, data transmission related to FoD, and vehicle security / authentication. Here, information related to the vehicle includes the software version installed in the vehicle, the setting status of the FoD function, and authentication-related information.
[0056] FIG. 4 is a diagram illustrating a process in which a subscription management device according to one embodiment of the present disclosure generates a session key.
[0057] The first controller (100) stores information about the long-term keys of the first controller (100) and all second controllers. The ith second controller stores the long-term key (K) between the ith second controller and the first controller (100). i ) is storing information about.
[0058] The first controller (100) generates a random number R1. The first controller (100) can generate a random number using a random number generator. The first controller (100) transmits the random number R1 to the second controller (110) (S400).
[0059] The second controller (110) receives the random number R1 and the long-term key K. i MAC1 is generated using the second controller (110). The second controller (110) generates a random number R2. The second controller (110) can generate a random number using a random number generator. The second controller (110) transmits the random number R2 and MAC1 to the first controller (100) (S402).
[0060] The first controller (100) verifies the received MAC1 (S404). Specifically, the first controller (100) verifies the random number R1 and the long-term key K. i MAC1' is generated using the first controller (100). The first controller (100) determines whether the value of MAC1' generated by the first controller (100) and MAC1 received from the second controller (110) are the same.
[0061] If the value of MAC1' and the value of MAC1 are not the same, the first controller (100) terminates the session key generation process between the first controller (100) and the second controller (110) (S406).
[0062] If the value of MAC1' and the value of MAC1 are the same, the first controller (100) receives the random number R2 and the long-term key K i MAC2 is generated using . The first controller (100) transmits MAC2 to the second controller (110) (S406).
[0063] The second controller (110) verifies the received MAC2 (S408). Specifically, the second controller (110) verifies the random numbers R2 and K i MAC2' is generated using . It is determined whether the values of MAC2 received from the first controller (100) and MAC2 generated by the second controller (110) are the same.
[0064] If the value of MAC2' and the value of MAC2 are not the same, the second controller (110) terminates the session key generation process (S406).
[0065] If the value of MAC2' and the value of MAC2 are the same, the second controller (110) uses a key generation algorithm that uses random numbers R1 and R2 as seed values to generate the session key Sk. i generates (S410). In addition, the second controller (110) transmits the verification result to the first controller (100), and the first controller (100) generates a session key Sk using a key generation algorithm using random numbers R1 and R2 as seed values. i (S412). Since the first controller (100) and the second controller (110) use the same key generation algorithm, they generate the same session key.
[0066] The subscription management device (10) can efficiently generate a session key using encryption technology. The subscription management device (10) can generate a session key every time the vehicle is started (ignition on).
[0067] FIG. 5 is a diagram illustrating a method for a subscription management device according to one embodiment of the present disclosure to subscribe to or cancel a FoD function.
[0068] The first controller (100) generates a random number R1 to transmit a value for determining whether to subscribe to or cancel the FoD function (S501). The random number R1 may be an 8-byte random number with the length of the data payload. The random number generated by the first controller (110) may also be used as garbage data.
[0069] The first controller (100) uses HMAC to IDX i Calculate (S503). Specifically, the first controller (110) uses mathematical expression 1 to calculate IDX i is calculated. Here, ECU ID is the ECU ID of the first controller (100).
[0070] The first controller (100) determines the nth bit (n is a natural number) among the bits of the 8-byte random number for determining the setting status of the FoD function (S505). Specifically, the first controller (100) calculates an index value using mathematical expression 2. The first controller (100) determines the index bit of the random number as a bit for determining the setting status of the FoD function. For example, if the index value is 2, the second bit of the random number is a bit for determining the setting status of the FoD function. If the FoD function is subscribed to, the corresponding bit of the random number R1 is set to 1, and if the FoD function is released, the corresponding bit of the random number R1 is set to 0, thereby setting the V value, which is the first operand for the XOR operation.
[0071] The first controller (100) has a V value and a session key Sk i The second operand V' value is set using (S507). Specifically, the first controller (100) sets the V value and the session key Sk i Executes an 8-byte XOR operation between the MSBs of the session key Sk i is a session key generated by the method of generating a session key by the subscription management device, as shown in FIG. 4.
[0072] The second controller (110) uses HMAC to IDX i Calculate (S509). Specifically, the second controller (110) uses mathematical expression 1 to calculate IDX i is calculated. Here, the ECU ID is the ECU ID of the second controller (110).
[0073] The second controller (110) sets the V_mask value, which is the size of the random number R1 and the third operand of the XOR operation for determining the setting status of the FoD function (S511). The second controller (110) sets the nth bit (n is a natural number) of the V_mask bits for determining whether to subscribe using the index value. Specifically, the second controller (100) calculates the index value using mathematical expression 2. The index bit of V_mask is determined as the bit for determining the setting status of the FoD function. For example, when the index value is 2, the second bit of V_mask is the bit for determining the setting status of the FoD function. The second controller (110) sets the index bit of V_mask to 1 and sets the remaining bits of V_mask to 0.
[0074] The second controller (110) executes an XOR operation between the V` value and the V_mask value (S513). The second controller (110) receives the V` value from the first controller (100) and executes an XOR operation between the V_mask values set by the second controller (110).
[0075] The second controller (110) manages the setting status of the FoD function according to the operation result of XOR (S515). The second controller (110) subscribes to the FoD function when the operation result value of XOR is 0 and the index bit of V is 1. The second controller (110) disables the FoD function when the operation result value of XOR is 0 and the index bit of V is 0. The second controller (110) maintains the setting status of the FoD function when the operation result value of XOR is 1.
[0076] The subscription management device (10) manages the FoD function using only random number generation, HMAC generation, and XOR operation, so that the amount of calculation is small and the calculation can be performed at a faster speed. Since the subscription management device (10) uses the XOR operation, the setting value of the FoD function is not exposed to external attacks. Since the subscription management device (10) does not use a private key, the overhead caused by FoD management can be minimized. Since the subscription management device (10) changes the setting value every time the vehicle is started, the subscription management device (10) can ensure security. Here, the setting value of the FoD function is a value used in the XOR operation, and includes a random number, an index, a V value, a V_mask value, and a MAC. i , Sk i Includes.
[0077] FIG. 6 is a diagram illustrating a method in which a first controller manages the FoD function of a second controller according to one embodiment of the present disclosure.
[0078] Specifically, the first controller (100) manages the FoD function by repeatedly performing the process of FIG. 5 N times with N second controllers (110A, 100B, 100C, ..., 100N) where N is a natural number. For example, the first controller (100) manages whether the second controller A (110A) subscribes to or cancels the FoD function, the first controller (100) manages whether the second controller B (110B) subscribes to or cancels the FoD function, and the first controller (100) manages whether the second controller C (110C) subscribes to or cancels the FoD function. The management process of the FoD function of each second controller can be performed in parallel and independently.
[0079] Figure 7 is a flowchart illustrating a subscription management method according to one embodiment of the present disclosure. The method illustrated in Figure 7 can be implemented by being executed by a subscription management system implemented as one or more physical devices including a subscription management device (10). The following description is given in terms of the operations performed by the subscription management system.
[0080] The first controller (100) of the subscription management system generates a random number R1 to transmit a value for determining whether to subscribe to or cancel the FoD function (S701). The random number R1 may be an 8-byte random number with the length of the data payload.
[0081] The subscription management system uses HMAC to IDX i Calculate (S703). Specifically, the subscription management system uses mathematical expression 1 to calculate IDX i is calculated. Here, the ECU ID is the ECU ID of the first controller (100) or the second controller (110).
[0082] The subscription management system sets a bit to determine the setting status of the FoD function (S705). Specifically, the subscription management system calculates an index value using mathematical expression 2. The index bit is determined as the bit for determining the setting status of the FoD function. For example, if the index value is 2, the second bit of the data is the bit for determining the setting status of the FoD function.
[0083] If the FoD function is subscribed, the subscription management system determines the index bit of the random number R1 as 1, and if the FoD function is released, the subscription management system determines the index bit of the random number R1 as 0 and sets the V value.
[0084] The subscription management system sets the V_mask value, which is the size of a random number R-1 and is the operand of the XOR operation for determining the setting status of the FoD function. The subscription management system determines the index bit of V_mask as the bit for determining the setting status of the FoD function. The subscription management system sets the index bit of V_mask to 1 and sets the remaining bits of V_mask to 0.
[0085] The subscription management system executes an XOR operation to determine the setting status of the FoD function (S707). The subscription management system calculates the V value and the session key Sk i The 8-byte XOR operation between the MSBs of the second operand is performed and the result is set to the V` value. The subscription management system performs an XOR operation between the second operand V` value and the V_mask value.
[0086] The subscription management system manages the setting status of the FoD function according to the result of the XOR operation between the V` value and the V_mask value (S709). If the result of the XOR operation between the V` value and the V_mask value is 0 and the index bit of V is 1, the subscription management system subscribes to the FoD function. If the result of the XOR operation between the V` value and the V_mask value is 0 and the index bit of V is 0, the subscription management system disables the FoD function. If the result of the XOR operation between the V` value and the V_mask value is 1, the subscription management system maintains the setting status of the FoD function.
[0087] FIG. 8 is a block diagram schematically illustrating an exemplary computing device that can be used to implement a method according to the present disclosure.
[0088] The computing device (800) may include some or all of a memory (810), a processor (820), storage (840), an input / output interface (860), and a communication interface (880). The computing device (800) may structurally and / or functionally include at least a portion of a subscription management device (10). The computing device (800) may be a stationary computing device such as a desktop computer, a server, an AI accelerator, etc., as well as a portable computing device such as a laptop computer, a smart phone, etc.
[0089] The memory (810) may store a program that causes the processor (820) to perform a method or operation according to various embodiments of the present disclosure. For example, the program may include a plurality of instructions executable by the processor (820), and the method illustrated in FIG. 7 may be performed by executing the plurality of instructions by the processor (820).
[0090] Memory (810) may be a single memory or multiple memories. In this case, information required to perform methods or operations according to various embodiments of the present disclosure may be stored in a single memory or divided and stored across multiple memories. If memory (810) is comprised of multiple memories, the multiple memories may be physically separated.
[0091] The memory (810) may include at least one of volatile memory and non-volatile memory. The volatile memory includes SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory), and the non-volatile memory includes flash memory.
[0092] The processor (820) may include at least one core capable of executing at least one instruction. The processor (820) may execute instructions stored in the memory (810). The processor (820) may be a single processor or multiple processors.
[0093] Storage (840) maintains stored data even when power supplied to the computing device (800) is cut off. For example, storage (840) may include non-volatile memory, or may include storage media such as magnetic tape, optical disk, or magnetic disk.
[0094] A program stored in storage (840) may be loaded into memory (810) before being executed by processor (820). Storage (840) may store a file written in a programming language, and a program generated from the file by a compiler or the like may be loaded into memory (810). Storage (840) may store data to be processed by processor (820) and / or data processed by processor (820).
[0095] The input / output interface (860) may include input devices such as a keyboard, mouse, etc., and may include output devices such as a display device, printer, etc. A user may trigger execution of a program by the processor (820) and / or check the processing results of the processor (820) through the input / output interface.
[0096] The communication interface (880) may provide access to an external network. For example, the computing device (800) may communicate with other devices via the communication interface (880).
[0097] Various implementations of the systems and techniques described in this specification may be implemented as digital electronic circuits, integrated circuits, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations of one or more computer programs executable on a programmable system. The programmable system includes at least one programmable processor (which may be a special purpose processor or a general purpose processor) coupled to receive data and instructions from and transmit data and instructions to a storage system, at least one input device, and at least one output device. Computer programs (also known as programs, software, software applications, or code) include instructions for the programmable processor and are stored on a "computer-readable recording medium."
[0098] A computer-readable recording medium includes any type of recording device that stores data that can be read by a computer system. Such computer-readable recording media may further include non-volatile or non-transitory media such as ROMs, CD-ROMs, magnetic tapes, floppy disks, memory cards, hard disks, magneto-optical disks, storage devices, or transitory media such as data transmission media. Furthermore, the computer-readable recording medium may be distributed across network-connected computer systems, so that computer-readable code can be stored and executed in a distributed manner.
[0099] Various implementations of the systems and techniques described in this specification may be implemented by a programmable computer. The computer may include a programmable processor, a data storage system (including volatile memory, non-volatile memory, or other types of storage systems, or a combination thereof), and at least one communication interface. For example, the programmable computer may be one of a server, a network appliance, a set-top box, an embedded device, a computer expansion module, a personal computer, a laptop, a personal data assistant (PDA), a cloud computing system, or a mobile device.
[0100] This specification is not limited to the described embodiments, and it will be apparent to those skilled in the art that various modifications and variations can be made without departing from the spirit and scope of the present invention. Accordingly, such modifications and variations should fall within the scope of the claims of the present invention.
[0101]
[0102] CROSS-REFERENCE TO RELATED APPLICATION
[0103] This patent application claims priority to Korean Patent Application No. 10-2023-0114870, filed August 30, 2023, and Korean Patent Application No. 10-2024-0101713, filed July 31, 2024, the entire contents of which are incorporated herein by reference.
Claims
1. A method for managing a subscription service performed by a device mounted on a vehicle, A process of setting an index to determine the setting status of the FoD function; A process of generating a random number and setting a first operand using the random number and the index; A process of setting a second operand by executing a first XOR operation between the first operand and the session key; A process of setting the third operand using the above index; A process of executing a second XOR operation between the second operand and the third operand, and A method including a process of managing the FoD function by reflecting the result of the second XOR operation.
2. In paragraph 1, The process of setting the above index is and A method of using .
3. In paragraph 2, The process of setting the first operand is: A method comprising the steps of setting the index bit of the random number to 1 when subscribing to the FoD function, and setting the index bit of the random number to 0 when releasing the FoD function.
4. In paragraph 3, A method for generating said session key each time the vehicle is started.
5. In paragraph 3 The process of setting the above third operand is: Including the process of setting the above index bit to 1 and setting the remaining bits to 0, A method wherein the third operand is the size of the random number.
6. In paragraph 5, The above first XOR operation is, A method, which is an 8-byte XOR operation between the first operand and the MSB (Most Significant Byte) of the session key.
7. In paragraph 6, The process of managing the above FoD function is as follows: A method comprising a process of subscribing to the FoD function when the result value of the second XOR operation is 0 and the index bit of the first operand is 1.
8. In paragraph 6, The process of managing the above FoD function is as follows: A method comprising the step of disabling the FoD function when the result value of the second XOR operation is 0 and the index bit of the first operand is 0.
9. In paragraph 6, The process of managing the above FoD function is as follows: A method for maintaining the setting state of the FoD function when the result value of the second XOR operation is 1.
10. In paragraph 6, A method for changing the setting value of the above FoD function whenever the vehicle is started.
11. In paragraph 6, A method wherein the above random number is the length of the data payload.
12. In paragraph 6, A method in which the above random number is used as garbage data.
13. In a device for managing subscription services, At least one memory for storing instructions; and Containing at least one processor, At least one processor executes the instructions, Set an index to determine the setting status of the FoD function, Generate a random number and set the first operand using the random number and the index, Set the second operand by executing the first XOR operation between the first operand and the session key, Set the third operand using the above index, Executes a second XOR operation between the second operand and the third operand, A device that manages the FoD function by reflecting the result of the second XOR operation.
14. In Article 13 At least one processor of the above, and A device comprising setting the index using the method.
15. In Article 14 At least one processor of the above, A device comprising: setting the index bit of the random number to 1 when subscribing to the FoD function; and setting the index bit of the random number to 0 when releasing the FoD function.
16. In Article 15 At least one processor of the above, A device comprising setting the third operand to be the size of the random number, the index bit being 1, and the remaining bits being 0.
17. In Article 16 At least one processor of the above, A device comprising executing an 8-byte first XOR operation between the first operand and the MSB (Most Significant Byte) of the session key.
18. In paragraph 17, At least one processor of the above, If the result value of the second XOR operation is 0 and the index bit of the first operand is 1, subscribe to the FoD function, If the result value of the second XOR operation is 0 and the index bit of the first operand is 0, the FoD function is disabled, A device comprising: maintaining the setting state of the FoD function when the result value of the second XOR operation is 1.
Citation Information
Patent Citations
Data communication method for vehicle, Electronic Control Unit and system thereof
KR101651648B1
Diagnostics device for vehicle and method of managing certificate thereof
KR1020180062072A
Method for detecting cellular senescence biomarkers using primers from isolated cells
KR102657188B1
In-place authentication scheme for securing intra-vehicle communication
US10972441B2
Method and Device for Communicating Securely between T-Box Device and ECU Device in Internet of Vehicles System
US20180212937A1