SYSTEM AND METHOD FOR MANAGING DEVICES IN A VEHICLE SYSTEM - Patent application
The device management system with TPM-based key management and centralized database addresses device authentication and access control issues, enhancing security and efficiency in managing vehicle system devices.
Patent Information
- Application Number
- JP2024096270
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-12-08
- Filing Date
- 2024-06-13
- Publication Date
- 2026-03-04
- Estimated Expiration
- 2044-06-13
AI Technical Summary
Existing vehicle systems lack comprehensive access management, device authentication, and centralized information control, leading to security breaches, inefficiencies, and difficulties in managing numerous devices across different geographic locations.
A device management system utilizing a Trusted Platform Module (TPM) for secure key management, out-of-band registration, and centralized database to authenticate and authorize devices, enabling efficient access control and information provisioning across distributed systems.
Enables secure, efficient, and centralized management of vehicle system devices, reducing security risks and improving user experience by ensuring authorized access and accurate information delivery.
Smart Images

Figure 0007824357000001 
Figure 0007824357000002 
Figure 0007824357000003
Abstract
Description
[Technical Field]
[0001] Systems and methods consistent with example embodiments of the present disclosure relate to vehicle systems, and more particularly to managing one or more devices within one or more vehicle systems. [Background technology]
[0002] Modern vehicles are equipped with a variety of devices that form interconnected vehicle systems. These devices include, but are not limited to, electronic control units (ECUs), infotainment systems, sensors, actuators, telematics units, and communication modules. These devices interoperate to provide essential functions such as propulsion, safety, entertainment, connectivity, and advanced driver assistance. Furthermore, a significant number of devices are involved in the vehicle development and manufacturing process. For example, various fleet devices or mobile hardware are involved in each stage of vehicle manufacturing, various static hardware such as servers are utilized to store and share information, and various testing hardware is involved to test vehicle functionality.
[0003] In this regard, devices within a vehicle system often need to communicate with each other and share information to ensure seamless operation and enhance the user experience. However, efficiently and securely managing these devices poses significant challenges. In particular, prior art systems and approaches for managing devices in a vehicle system often lack comprehensive access management and information control capabilities, creating a variety of issues that must be addressed.
[0004] First, prior art systems and approaches often lack a robust mechanism for identifying and authenticating devices, especially when the devices are associated with different users, such as users with different roles or responsibilities, users from different teams, users from vendors, users located in different geographic locations, etc. This can allow unauthorized or compromised devices to access the system, potentially causing security breaches or malfunctions.
[0005] Furthermore, prior art systems and approaches often lack centralized, comprehensive device information management. This can make it difficult to provide accurate information about all available devices when the number of available devices is significant. For example, it is difficult to comprehensively and timely identify which devices are available, where each device is located, how each device is connected, what each device's role is, etc. The process for collecting and managing device information can be particularly complex when devices are located in different geographic locations.
[0006] Furthermore, prior art systems and approaches often lack granular access control mechanisms. Thus, providing appropriate information to users is difficult. For example, a user may be provided with a significant amount of information, which may be overwhelming and inefficient for the user to quickly grasp desired information from. Conversely, a user may be provided with an inefficient amount of information, which may result in less information and require the user to manually obtain additional information.
[0007] In light of at least the above, there is a need to provide improved systems, methods, devices, etc. for managing devices and associated information within a vehicle system. Summary of the Invention
[0008] SUMMARY Exemplary embodiments of the present disclosure provide methods, systems, and apparatus for effectively and efficiently managing one or more devices in one or more vehicle systems.
[0009] According to an embodiment, a method for managing multiple devices in a vehicle system is provided. The method may be implemented by at least one processor of the system and may include: receiving, from a first device, a message for requesting a service from a second device, the message including identification information (ID) of the first device; determining whether the first device is registered based on the ID of the first device; performing one or more operations to register the first device based on a determination that the first device is not registered; determining whether the first device is successfully registered; determining whether the first device is authenticated based on a determination that the first device is registered or based on a determination that the first device is successfully registered; and providing the first device with access to the requested service based on a determination that the first device is authenticated. The second device may include a vault, and the service may include provisioning of one or more pieces of information stored in the vault. The first device and the second device may be located in different geographical locations.
[0010] According to an embodiment, determining whether the first device is registered may include determining whether a public key associated with the first device is available in one or more storage media of the system based on an ID of the first device, determining that the first device is registered based on a determination that the public key of the first device is available, and determining that the first device is not registered based on a determination that the public key of the first device is not available.
[0011] According to an embodiment, performing one or more operations to register the first device may include establishing an out-of-band (OOB) channel between the system and the first device, receiving public key information of the first device from the first device over the OOB channel, registering the first device based on the public key information, and sending a result of registering the first device to the first device. Registering the first device may include verifying the public key and generating a mapping between the verified public key and an ID of the first device.
[0012] According to an embodiment, determining whether the first device is authenticated may include determining whether the first device has authorization to use the requested service based on an ID of the first device, determining that the first device is authenticated based on a determination that the first device has authorization to use the requested service, and determining that the first device is not authenticated based on a determination that the first device does not have authorization to use the requested service.
[0013] According to an embodiment, at least a portion of the message is encrypted by the first device based on a private key, and determining whether the first device is authorized to use the requested service may include obtaining a public key of the first device, decrypting the encrypted portion of the message to obtain information about the requested service, and determining whether the first device is authorized to use the requested service based on the information about the requested service and the ID of the first device.
[0014] According to an embodiment, providing the first device with access to the requested service may include obtaining information related to the requested service from a second device, encrypting the information of the requested service obtained from the second device based on a public key of the first device, and providing the encrypted information to the first device. The first device may include a Trusted Platform Module (TPM), which may be configured to manage public and private keys, and the first device may be configured to decrypt the encrypted information based on the private key.
[0015] According to an embodiment, a system for managing multiple devices in a vehicle system is provided. The system may include a memory storage storing computer-executable instructions and at least one processor communicatively coupled to the memory storage. The at least one processor may be configured to execute instructions to: receive from a first device a message for requesting a service from a second device, the message including an identification (ID) of the first device; determine whether the first device is registered based on the ID of the first device; perform one or more operations to register the first device based on a determination that the first device is not registered; determine whether the first device is successfully registered; determine whether the first device is authenticated based on a determination that the first device is registered or based on a determination that the first device is successfully registered; and provide the first device with access to the requested service based on a determination that the first device is authenticated. The second device may include a vault, and the service may include provisioning of one or more pieces of information stored in the vault. The first device and the second device may be located in different geographical locations.
[0016] According to an embodiment, at least one processor may be configured to execute instructions to determine whether a first device is registered by determining, based on an ID of the first device, whether a public key associated with the first device is available in one or more storage media of the system; determining that the first device is registered based on a determination that the public key of the first device is available; and determining that the first device is not registered based on a determination that the public key of the first device is not available.
[0017] According to an embodiment, the at least one processor may be configured to execute instructions to perform one or more operations to register the first device by establishing an OOB channel between the system and the first device, receiving public key information of the first device from the first device over the OOB channel, registering the first device based on the public key information, and transmitting a result of registering the first device to the first device. According to an embodiment, the at least one processor may be configured to execute instructions to register the first device by verifying the public key and generating a mapping between the verified public key and an ID of the first device.
[0018] According to an embodiment, the at least one processor may be configured to execute instructions to determine whether the first device is authenticated by: determining whether the first device is authorized to use the requested service based on an ID of the first device; determining that the first device is authenticated based on a determination that the first device is authorized to use the requested service; and determining that the first device is not authenticated based on a determination that the first device is not authorized to use the requested service.
[0019] According to an embodiment, at least a portion of the message may be encrypted by the first device based on a private key, and the at least one processor may be configured to execute instructions to determine whether the first device is authorized to use the requested service by obtaining a public key of the first device, decrypting the encrypted portion of the message to obtain information of the requested service, and determining whether the first device is authorized to use the requested service based on the information of the requested service and an ID of the first device.
[0020] According to an embodiment, at least one processor may be configured to execute instructions to provide the first device with access to the requested service by obtaining information related to the requested service from the second device, encrypting the information of the requested service obtained from the second device based on a public key of the first device, and providing the encrypted information to the first device. The first device may include a Trusted Platform Module (TPM), which may be configured to manage public and private keys, and which may be configured to decrypt the encrypted information based on the private key.
[0021] Additional aspects will be set forth in part in the description that follows, and in part will be obvious from the description, or may be realized by practice of the presented embodiments of the present disclosure. [Brief explanation of the drawings]
[0022] The features, advantages, and benefits of exemplary embodiments of the present disclosure will be described below with reference to the accompanying drawings, in which like numerals refer to like elements and in which:
[0023] [Figure 1] FIG. 1 is a block diagram of an exemplary system configuration for managing one or more devices in a vehicle system, according to one or more embodiments.
[0024] [Figure 2] FIG. 2 is a block diagram of example components of a device management system according to one or more embodiments.
[0025] [Figure 3] FIG. 3 is a flow diagram of an example method for managing one or more devices in a vehicle system, according to one or more embodiments.
[0026] [Figure 4] FIG. 4 is a flow diagram of an example method for registering a device in a vehicle system, according to one or more embodiments.
[0027] [Figure 5] FIG. 5 illustrates a system configuration for an exemplary use case for providing a device with access to a requested service, according to one or more embodiments.
[0028] [Figure 6] FIG. 6 illustrates a system configuration for managing one or more remote sessions between one or more user equipment (UE) and one or more devices in a vehicle system, according to one or more embodiments.
[0029] [Figure 7] FIG. 7 is a flow diagram of an example method for managing device information according to one or more embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0030] The following detailed description of example embodiments refers to the accompanying drawings. The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired by practice of the implementations. Furthermore, one or more features or components of one or more embodiments may be incorporated into or combined with other embodiments (or one or more features of other embodiments). Additionally, in the descriptions of operations provided below, it is understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed concurrently (at least in part), and the order of one or more operations may be switched.
[0031] Although particular combinations of features are recited in the claims and / or disclosed herein, such combinations are not intended to limit the disclosure of possible implementations. Indeed, many of the features may be combined in ways not specifically recited in the claims and / or disclosed herein. Although each dependent claim listed below may depend directly on only one claim, the disclosure of possible implementations includes each dependent claim in combination with all other claims in the claim set.
[0032] No element, operation, or instruction used herein should be construed as critical or essential unless expressly stated as such. Also, as used herein, the articles "a" and "an" are intended to include one or more items and can be used interchangeably with "one or more." When only one item is intended, the term "a" or similar language is used. Also, as used herein, terms such as "have," "having," "include," "including," and the like are intended to be open-ended and unrestricted. Furthermore, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. Furthermore, phrases such as "at least one of [A] and [B]" or "at least one of [A] or [B]" should be understood to include only A, only B, or both A and B.
[0033] References throughout this specification to "one embodiment," "an embodiment," "a non-limiting preferred embodiment," or similar terms mean that a particular feature, structure, or characteristic described in connection with the illustrated embodiment is included in at least one embodiment of the solution. Thus, the phrases "in one embodiment," "in an embodiment," "a non-limiting preferred embodiment," and similar terms throughout this specification may, but do not necessarily, all refer to the same embodiment.
[0034] Furthermore, the described features, advantages, and characteristics of the present disclosure may be combined in any suitable manner in one or more embodiments. Those skilled in the art will recognize, in light of the description herein, that the present disclosure may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the present disclosure.
[0035] Additionally, terms such as "vehicle," as used herein, may refer to any motorized and / or mechanical machine capable of carrying or transporting people and / or cargo, such as an automobile, truck, motorcycle, bus, bicycle, mobility scooter, etc.
[0036] Exemplary embodiments consistent with the present disclosure provide methods, systems, and apparatus for managing one or more devices in one or more vehicle systems. Specifically, the exemplary embodiments provide a device management system (and methods for utilizing the same) that can provide centralized management of devices in a vehicle system. Thus, devices in a vehicle system, such as remote devices and user equipment, can be effectively and efficiently managed without manual intervention or physical visits to the devices. Ultimately, exemplary embodiments of the present disclosure enable efficient and effective management of a significant number of devices, thereby solving the problems of prior art systems such as those described above.
[0037] It is contemplated that the features, advantages, and benefits of the above exemplary embodiments are only a part of the present disclosure and are not intended to be exhaustive or to limit the technical scope of the present disclosure. Further descriptions of the features, components, configuration, operation, and implementation of the exemplary embodiments of the present disclosure, as well as related technical advantages and benefits, are provided below.
[0038] 1 is a block diagram of an exemplary system configuration 100 for managing one or more devices in a vehicular system, according to one or more embodiments. As shown in FIG. 1, system configuration 100 may include a device management system 110, a plurality of user equipments (UEs) 120-1 through 120-N, a plurality of devices 130-1 through 130-N, a database 140, and a network 150. In this regard, it should be understood that "one or more devices in a vehicular system," as described herein, may refer to one or more of the plurality of UEs 120-1 through 120-N, the plurality of devices 130-1 through 130-N, and the database 140.
[0039] In general, device management system 110 may be communicatively coupled to multiple UEs 120-1 through 120-N, multiple devices 130-1 through 130-N, and database 140 via network 150 and may be configured to manage interoperability among the devices. For example, device management system 110 may be configured to manage UE 120-1's access to device 130-1 and / or database 140, and may be configured to aggregate and collect information about devices 130-1 through 130-N, etc. Components that may be included in device management system 110 are described below with reference to FIG. 2, and operations that may be performed by device management system 110 are described below with reference to FIGS. 3 through 7.
[0040] The plurality of UEs 120-1 through 120-N may include one or more systems, devices, and any other suitable equipment that may be utilized by one or more users associated with one or more of devices 130-1 through 130-N. The one or more users may include, but are not limited to, a software developer for developing software / firmware associated with one or more of devices 130-1 through 130-N, one or more managers of devices 130-1 through 130-N, device management system 110, and / or database 140, a vehicle manufacturer or device vendor of one or more of devices 130-1 through 130-N, one or more drivers / users of devices 130-1 through 130-N, etc. The one or more users may be located in geographically different locations from one another.
[0041] The multiple UEs 120-1 through 120-N may be utilized by one or more associated users to access and utilize the device management system 110. Specifically, a user, via an associated UE, may access the device management system 110 to manage one or more devices in a vehicle system. For example, a user, via an associated UE, may utilize the device management system 110 to search for one or more available devices, view information for one or more available devices, request information or services from one or more available devices, and the like. Additionally, a user may utilize the device management system 110 to register information related to one or more devices, request access to one or more devices, update one or more user roles, and the like.
[0042] According to an embodiment, one or more of the plurality of UEs 120-1 through 120-N may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile device (e.g., a smartphone, etc.), a wearable device (e.g., a pair of smart glasses or a smart watch), a SIM-based device, or any other suitable device that may be associated with one or more users. The plurality of UEs 120-1 through 120-N may also include, for example, a workstation, a test system, a software development system, etc.
[0043] According to an embodiment, at least some of the plurality of UEs 120-1 to 120-N may be located at different geographic locations. For example, a first portion of the plurality of UEs 120-1 to 120-N may be utilized by a first user (e.g., a developer of software updates for a first device, etc.), and the first user and associated UEs may be located at a first location, while a second portion of the plurality of UEs 120-1 to 120-N may be utilized by a second user (e.g., an administrator of the first device, etc.), and the second user and associated UEs may be located at a second location different from the first location.
[0044] According to an embodiment, devices 130-1 through 130-N may include one or more remote devices associated with a vehicle system. In this regard, a remote device as described herein may refer to an electronic component, subsystem, and / or module that is interconnected (e.g., via network 150) and capable of communicating with one or more systems (e.g., device management system 110) and one or more pieces of equipment (e.g., UEs 120-1 through 120-N, database 140, etc.). These devices may include, but are not limited to: Devices related to control units in vehicles, such as Electronic Control Units (ECUs), Transmission Control Units (TCUs), and Body Control Modules (BCM) units Vehicle infotainment systems and functional devices such as audio / video entertainment systems, navigation systems, connectivity features, and user interfaces Telematics devices, such as devices or components responsible for communication and remote monitoring of vehicles, enabling services such as remote diagnostics, vehicle tracking, and emergency assistance. Sensor devices, such as devices that collect data from various sensors, such as those related to advanced driver assistance systems (ADAS) and environmental monitoring
[0045] Additionally or alternatively, devices 130-1 through 130-N may include a plurality of fleet devices or mobile hardware involved in various stages of vehicle manufacturing, a plurality of test hardware involved in testing the functionality of the vehicle, and the like.
[0046] Additionally, one or more of devices 130-1 through 130-N may be located in a different geographic location than device management system 110, one or more of UEs 120-1 through 120-N, and / or database 140. Similarly, at least some of devices 130-1 through 130-N may be located in a different geographic location than other devices 130-1 through 130-N.
[0047] 1 , database 140 may include a server, repository, or any suitable equipment that may be configured to store data or information related to one or more devices in a vehicle system, such as information related to one or more services provided by the device, information related to one or more users of the device, device location information, device schedule or availability information, device resource information, etc. According to an embodiment, database 140 may leverage the indexing and querying functionalities of a database (e.g., PostgreSQL, etc.) when storing and provisioning device information. Thus, database 140 may efficiently manage and retrieve device information based on various criteria, such as device model, software / firmware information, device location, associated user information, etc.
[0048] According to an embodiment, database 140 may include a vault, which may include one or more repositories that serve as secure storage for sensitive or private information within the vehicle system. The vault may use one or more appropriate encryption algorithms and access control mechanisms to protect the information or data stored therein. For example, as described below with reference to FIG. 5, the vault may be configured to interoperate with a Trusted Platform Module (TPM)-enabled device to securely provide information to the TPM-enabled device via device management system 110. In addition to or instead of TPM technology, the vault may also be configured to interoperate with device management system 110 in performing one or more role-based access control (RBAC) operations.
[0049] According to an embodiment, database 140 (e.g., a vault, etc.) may operate as a centralized inventory database. For example, database 140 may be configured to aggregate and store information about multiple devices 130-1 through 130-N, information about multiple UEs 120-1 through 120-N, and / or information about associated users, etc., and may be configured to provide appropriately aggregated information as needed. In this regard, the term "centralized" as used herein may refer to the nature of database 140 in managing device information collectively and centrally, regardless of the geographic location of the devices.
[0050] Continuing with reference to FIG. 1, network 150 may include one or more wired and / or wireless networks that may be configured to couple device management system 110, multiple UEs 120-1 through 120-N, multiple devices 130-1 through 130-N, and database 140 to one another.
[0051] For example, network 150 may include a cellular network (e.g., a fifth-generation (5G) network, a long-term evolution (LTE) network, a third-generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, an optical fiber-based network, etc., and / or combinations of these or other types of networks.
[0052] According to an embodiment, network 150 may include a virtual network that may include one or more physical network components (e.g., Ethernet, WiFi modules, telecommunications network hardware, etc.) on which one or more virtual network functions (e.g., Controller Area Network (CAN) bus, etc.) are implemented.
[0053] According to an embodiment, one or more devices in a vehicle system may be interconnected with one another via network 150, and communication between these devices may be performed via over-the-air (OTA). For example, device management system 110 may utilize OTA capabilities to manage interoperation between one or more devices in the vehicle system, database 140 may utilize OTA capabilities to collect and provide information to one or more devices in the vehicle system, and multiple devices 130-1 through 130-N may utilize OTA capabilities to deliver one or more services (or information related thereto) to other devices in the vehicle system. In this manner, OTA communication between device management system 110 and one or more devices in the vehicle system (e.g., UEs 120-1 through 120-N, devices 130-1 through 130-N, and database 140) allows information or services to be communicated in the form of data packages, thereby enabling efficient, secure, and reliable communication and information exchange.
[0054] According to an embodiment, one or more devices in the vehicle system (e.g., one of the plurality of UEs 120-1 through 120-N, one of the plurality of devices 130-1 through 130-N, database 140, etc.) may include a Trusted Platform Module (TPM). The TPM may include at least one hardware-based security component, such as a security chip, a microcontroller chip, etc., that is integrated into the associated device and configured to provide a range of hardware-based security functions and features, including storage of security information (e.g., security keys, digital certificates, etc.), encryption and / or decryption of data, etc.
[0055] According to embodiments, the TPM of one or more devices may be configured to manage (e.g., generate, update, provide, etc.) public-private key pairs. The public-private key pairs may include pairs of cryptographic keys used in asymmetric encryption (i.e., encryption using two separate keys, a public key and a private key, to encrypt and decrypt data or information). For example, the public key may be used to encrypt information that can only be decrypted by the private key, and the public key may be freely shared with any appropriate device in the vehicle system. Meanwhile, the private key may be kept secret in the associated device and used to decrypt data encrypted with the corresponding public key. According to embodiments, the public key may be utilized to register the associated device with a device management system (described below with reference to FIG. 4), and the public-private key pair may be utilized by the device in accessing services or information from another device via the device management system (described below with reference to FIG. 5).
[0056] It can be understood that the components included in system configuration 100 and their configuration described above with reference to Figure 1 are merely exemplary embodiments, and that the system configuration may include more or fewer components than those described, and / or the components included therein may be configured in any manner different from that described without departing from the scope of the present disclosure. For example, as shown in Figure 6, the system configuration may further include one or more fleet gateways, one or more network load balancers, and one or more virtual private networks.
[0057] 2 is a block diagram of example components of a device management system 200, according to one or more embodiments. The device management system 200 may be similar to the device management system 110 of FIG.
[0058] 2, device management system 200 may include at least one communication interface 210, at least one storage 220, and at least one processor 230. According to an embodiment, device management system 200 (or one or more components included therein) may be deployed on a server (e.g., a cloud server, a hybrid cloud server, a server cluster, etc.).
[0059] The communication interface 210 may include a transceiver-type component (e.g., a transceiver, a separate receiver and transmitter, a bus, etc.) that enables the device management system 200 (or one or more components contained therein) to communicate with one or more components external to the device management system 200 via a wired connection, a wireless connection, or a combination of wired and wireless connections, etc.
[0060] For example, communication interface 210 may couple device management system 200 (or one or more components included therein) to multiple UEs (e.g., such as UEs 120-1 through 120-N in FIG. 1 ), to multiple devices (e.g., such as devices 130-1 through 130-N in FIG. 1 ), and / or to a database (e.g., such as database 140 in FIG. 1 ), thereby enabling them to communicate and interoperate with each other. As another example, communication interface 210 may enable components of device management system 200 to communicate with each other. For example, communication interface 210 may couple storage 220 to processor 230, thereby enabling them to communicate and interoperate with each other.
[0061] According to an embodiment, communication interface 210 may include a hardware-based interface such as a bus interface, an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, a software interface, etc. According to an embodiment, communication interface 210 may include at least one controller area network (CAN) bus configurable to communicatively couple components of device management system 200 (e.g., storage 220, processor 230, etc.) to multiple UEs (e.g., UEs 120-1 through 120-N), multiple devices (e.g., devices 130-1 through 130-N), and / or a database (e.g., database 140). Additionally or alternatively, communication interface 210 may include a software-based interface such as an application programming interface (API), a virtual network interface (e.g., a virtual CAN bus, etc.), etc.
[0062] According to an embodiment, communication interface 210 may be configured to receive information from one or more components external to device management system 200 and provide it to processor 230 for further processing and / or to storage 220 for storage. For example, communication interface 210 may receive one or more pieces of information associated with multiple UEs from multiple UEs and provide it to processor 230 and / or storage 220. Similarly, communication interface 210 may be configured to enable processor 230 of device management system 200 to provide one or more pieces of information to one or more components external to device management system 200.
[0063] 2, at least one storage 220 may include one or more storage media suitable for storing data, information, and / or computer-readable / computer-executable instructions. According to an embodiment, storage 220 may include random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by processor 230.
[0064] Additionally or alternatively, storage 220 may include hard disks (e.g., magnetic disks, optical disks, magneto-optical disks, and / or solid-state disks), compact disks (CDs), digital versatile disks (DVDs), floppy disks, cartridges, magnetic tape, and / or another type of non-transitory computer-readable medium, along with corresponding drives.
[0065] According to an embodiment, storage 220 may be configured to store information utilized by processor 230 to perform one or more operations for managing one or more updates for one or more devices. For example, storage 220 may be configured to store device registration information (e.g., one or more mappings of public keys and device identification information (IDs) as further described below, e.g., with reference to FIGS. 3 through 5), service information (e.g., one or more services provided by one or more devices in the vehicle system), user information (e.g., one or more roles of one or more users, one or more services that may be utilized by one or more users, etc.), etc. In some implementations, at least a portion of the information may be stored in a database (e.g., database 140).
[0066] At least one processor 230 may be configured to receive one or more signals (e.g., via communications interface 210, etc.) that define one or more instructions for performing one or more operations. Furthermore, processor 230 may be implemented in hardware, firmware, or a combination of hardware and software. Processor 230 may include a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and / or another type of processing or computing component.
[0067] According to an embodiment, at least one processor 230 may include one or more processors that can be programmed to perform functions or operations for managing updates for one or more devices. For example, processor 230 may be configured to execute computer-readable instructions stored in a memory storage (e.g., storage 220, etc.) to thereby perform one or more actions or one or more operations described herein.
[0068] It will be understood that the components included in device management system 200 and their configuration described above with reference to FIG. 2 are merely exemplary embodiments, and that device management system 200 may include more or fewer components than those described, and / or the components included therein may be configured in any manner different from that described without departing from the scope of the present disclosure.
[0069] For example, according to an embodiment, device management system 200 may include input modules (e.g., a touchscreen display, buttons, switches, microphones, sensors, keyboards, mice, joysticks, keypads, softkeys, etc.) and / or output modules (e.g., a display, a speaker, a ringer, one or more light-emitting diodes (LEDs), LED-based displays such as active-matrix organic light-emitting diode (AMOLED) displays, thin-film transistor (TFT) displays, liquid crystal displays, etc.) and may be configured to receive one or more user inputs from one or more users and / or output information to one or more users.
[0070] Additionally, according to an embodiment, the device management system 200 may include a session management module, which is a dedicated module included in or associated with the processor 230, to facilitate and manage one or more sessions and coordination between devices in the vehicle system. A description of an exemplary use case in which the device management system utilizes the session management module is provided below with reference to FIGS. 6 and 7.
[0071] In view of the above, exemplary embodiments of the present disclosure provide a device management system that may be configured to perform one or more operations to effectively and efficiently manage one or more devices in one or more vehicle systems.
[0072] 3 is a flow diagram of an example method 300 for managing one or more devices in a vehicle system, according to one or more embodiments. One or more operations of method 300 may be performed by at least one processor (e.g., processor 230) of a device management system (e.g., system 110 of FIG. 1, system 200 of FIG. 2, etc.). In particular, memory storage (e.g., storage 220) of the device management system may store instructions (e.g., computer-readable instructions, computer-executable instructions, etc.) that, when executed by the at least one processor, enable the at least one processor to perform one or more operations of method 300.
[0073] Generally, the device management system (or at least one processor associated therewith) may receive a message from a first device (e.g., one UE of the plurality of UEs 120-1 to 120-N, one device of the plurality of devices 130-1 to 130-N, etc.) to request access to a service from a second device (e.g., another device of the plurality of devices 130-1 to 130-N, database 140, etc.), and may manage the first device's access and communication with the second device accordingly.
[0074] In this regard, a "service" as described herein may refer to any suitable operation or service that may be performed through the communication of data or information between devices in a vehicle system to achieve one or more intended purposes. For example, as described below with reference to FIG. 5, a first device may be a TPM-enabled device and may request sensitive information from a vault (i.e., a second device). Thus, a service provided by the vault may refer to the provisioning of one or more pieces of information stored therein. It may be understood that any other suitable service may similarly be implemented without departing from the scope of the present disclosure.
[0075] 3, in operation S310, at least one processor of the device management system may be configured to receive a message from a first device to request a service from a second device. For example, the message may be provided by the first device via OTA and received by the at least one processor via a communication interface (e.g., communication interface 210). The message may include information of the requested service (e.g., a title of the service, a time when the service is needed, etc.), information of the first device (e.g., an identification (ID), a subscriber number, information of a user associated with the first device, etc.), etc.
[0076] Upon receiving the request message from the first device, method 300 may proceed to operation S320, where at least one processor of the device management system may be configured to determine whether the first device is registered within the system. For example, the at least one processor may determine, based on the ID of the first device (included in the request message), whether a public key associated with the first device is available in one or more storage media (e.g., storage 220) of the device management system. The public key (or information related thereto) may be stored in the one or more storage media in the form of an ID-public key pair or a mapping.
[0077] Thus, based on a determination that the public key of the first device is available, the at least one processor may determine that the first device is registered, and method 300 may proceed to operation S330, where the at least one processor may be configured to determine whether the first device is authenticated.
[0078] Otherwise, based on a determination that the public key of the first device is not available, the at least one processor may determine that the first device is not registered, and method 300 proceeds to operation S340, where the at least one processor may be configured to perform one or more operations to register the first device. A description of example operations for registering the first device is provided below with reference to FIG. 4.
[0079] Upon performing operation S340, method 300 may proceed to operation S350, where the at least one processor may be configured to determine whether the first device is successfully registered. Based on a determination that the first device is successfully registered, method 300 may proceed to operation S330. Otherwise, based on a determination that the first device is not successfully registered, method 300 may be terminated.
[0080] Upon determining that the first device is registered (or successfully registered), in operation S330, at least one processor of the device management system may be configured to determine whether the first device is authenticated. Specifically, the at least one processor may determine, based on the identity of the first device, whether the first device is authorized to use the requested service.
[0081] For example, at least a portion of the request message (received by the at least one processor in operation S310) may be encrypted or signed by the first device based on a private key, and the at least one processor may obtain a public key of the first device (based on an ID of the first device) and decrypt the encrypted portion of the request message based on the public key, thereby obtaining information of the requested service. Thus, the at least one processor may determine whether the first device is authorized to use the requested service (based on a mapping of service-authorized devices, a role of a user associated with the first device, etc.).
[0082] Thus, based on determining that the first device is authorized to use the requested service, the at least one processor may determine that the first device is authenticated, and method 300 may proceed to operation S360, where the at least one processor may perform one or more operations to provide the first device with access to the requested service. A description of an example use case associated therewith is provided below with reference to FIG. 5. Otherwise, based on determining that the first device is not authorized to use the requested service, the at least one processor may determine that the first device is not authenticated, and method 300 may end.
[0083] 4 shows a flow diagram of an example method 400 for registering a device with a vehicle system according to one or more embodiments. One or more operations in method 400 may be part of operation S340 described herein with reference to FIG. 3 and may be performed by at least one processor of a device management system. The device management system 410 of FIG. 4 may be similar to the device management systems described herein with reference to other figures, and the device 420 of FIG. 4 may be similar to the device and / or the first device described herein with reference to other figures.
[0084] Generally, the device 420 can communicate with the device management system 410 to perform registration with the device management system 410. In the example of FIG. 4, the registration procedure is a public key out-of-band (OOB) registration, which is a registration procedure that registers and verifies the device's public key in a secure manner. In this regard, the term "out-of-band" may refer to the use of a separate and independent communication channel or method that is different from the primary communication channel typically used for data or information exchange. In other words, when performing a public key OOB registration, the process involves verifying the authenticity and integrity of the public key by utilizing a separate, trusted and secure communication channel. In this way, it can be ensured that the public key registered with the device management system is associated with the correct device and has not been tampered with in transit.
[0085] 4, a registration procedure may be initiated in operation S410. For example, the registration procedure may be initiated by the device management system 410 (or at least one processor associated therewith) based on determining that the device 420 is not registered within the system. Additionally or alternatively, the registration procedure may be initiated by the device 420 (e.g., by sending a registration request message to the device management system 410, etc.) when the device 420 first accesses the device management system 410.
[0086] Upon initiating the registration procedure, in operation S420, the device management system 410 (or at least one processor included therein) may establish an isolated and reliable out-of-band (OOB) channel between the device management system 410 and the device 420. The OOB channel may include physical delivery methods such as physical delivery of key material (entering a public key directly into the device management system, such as via an input / output module of the device management system), secure messaging protocols, quick response (OR) codes containing encryption keys, authentication tokens, unique identifiers, interactive voice response (IVR), secure email or secure file sharing, or any other secure communication channel.
[0087] Upon establishing the OOB channel, in operation S430, the device management system 410 (or at least one processor associated therewith) may obtain or receive the public key of the device 420 via the established OOB channel. In this manner, communication of the public key ensures that the public key reaches the device management system 410 without being intercepted or tampered with.
[0088] Upon receiving the public key, the device management system 410 can utilize the public key to register the device 420. For example, the device management system 410 can perform a verification or validation procedure to ensure the authenticity and integrity of the received public key. By way of example, the device management system 410 can perform operations such as checking a digital signature, comparing key fingerprints, or using other cryptographic techniques to validate the received public key with information associated with the device 420 and / or the user associated with the device 420.
[0089] Upon verifying the public key, the device management system 410 may be configured to register the device 420 with the verified public key. For example, the device management system may generate a mapping of the verified public key and the ID of the device 420 and then store the mapping in one or more storage media (e.g., storage 220, etc.) for future use.
[0090] After registering the device 420, the device management system 410 may provide a message including the registration result to the device 420 to notify the device 420 of the completion / end of the registration procedure (S440). For example, the device management system 410 may send a message to the device 420 via the OOB channel. The device management system 410 may then terminate the OOB channel.
[0091] To this end, the device management system 410 can securely register the device 420. Upon successful registration, the device management system 410 can provide the device 420 with detailed access to various services within the vehicle system. For example, as described below with reference to FIG. 5, the device management system may enable the device to communicate and exchange information or services with a second device (e.g., a vault) in the vehicle system via the device management system.
[0092] FIG. 5 illustrates a system configuration 500 of an example use case for providing a device with access to a requested service, according to one or more embodiments. One or more operations associated with FIG. 5 may be part of one or more operations of method 300 of FIG. 3 and may be performed by at least one processor of a device management system. Device management system 510 may be a device management system described herein with reference to other figures, device 520 may be a device and / or a first device described herein with reference to other figures, and vault 530 may be another device and / or a second device described herein with reference to other figures. According to an embodiment, device 520 and vault 530 may be located in different geographic locations and / or associated with different users.
[0093] In the example of FIG. 5, a first device (i.e., device 520) can request a service from a second device (i.e., vault 530) via device management system 510. In this regard, a service may refer to the provisioning of one or more pieces of information stored in vault 530. Device management system 510 can receive an encrypted message from device 520 to request a service from vault 530 in a manner similar to that described above with reference to FIG. 3. Upon receiving the request message, device management system 510 can determine whether device 520 is registered and authenticated before providing access to device 520 in a manner similar to that described above with reference to FIG. 3. Public key information required in the registration and authentication procedures can be generated and provided by TPM 520-1 associated with device 520.
[0094] In this exemplary use case, it is assumed that device 520 is registered and authenticated to access vault 530 and use the services of vault 530. Thus, device management system 510 can decrypt the encrypted message based on the public key of device 520 (stored in one or more storage media of device management system 510 during the registration procedure) and obtain the information of the requested service therefrom. Subsequently, device management system 510 can communicate with vault 530 to obtain the requested information from vault 530.
[0095] Upon obtaining the requested information, device management system 510 (or at least one processor associated therewith) may encrypt the obtained information with a public key associated with device 520 and provide the encrypted service to device 520. Upon receiving the encrypted information, device 520 may decrypt the encrypted information and thereby utilize the requested information. For example, TPM 520-1 of device 520 may be configured to decrypt the encrypted information with a private key.
[0096] It will be appreciated that the device management system 510 may obtain and provide any other suitable services in a similar manner without departing from the scope of the present disclosure. In this manner, services (or information related thereto) may be provided and shared among devices in a vehicle system in a secure manner, and the device management system 510 may effectively provide granular access to the devices.
[0097] According to embodiments, in addition to or instead of utilizing public-private key pairs, the device management system may be configured to perform role-based access control (RBAC) to provide granular access to services or information to devices within the vehicle system. For example, the device management system may include or be communicatively coupled to a session management module for handling access and communication between devices within the vehicle system. In some implementations, the session management module may be deployed in the form of computer-executable instructions or a software application that, when executed by at least one processor of the device management system, causes the at least one processor to perform one or more operations related to RBAC as described herein.
[0098] According to embodiments, a device management system can utilize RBAC for user role assignment. In this regard, a user role can be associated with or assigned permission and access rights settings related to a user's specific responsibilities or job scope (e.g., device manager, service provider, vendor, etc.) within a vehicle system. By utilizing RBAC, a device management system can be utilized to assign one or more roles to one or more users associated with the vehicle system based on the user's responsibilities and / or real-time requirements. According to embodiments, one or more roles can be dynamically and temporarily assigned to one or more users. For example, one or more users can request or apply for additional roles based on specific conditions and for a specific period of time, thereby allowing one or more users to temporarily increase permissions for specific tasks or time-limited access to specific services, devices, resources, etc.
[0099] According to embodiments, a device management system can utilize RBAC for managing access privileges. For example, the device management system can enable the definition and management of privileges associated with specific operations, services, information, or resources within a vehicle system. One or more privileges can be assigned or mapped to one or more roles, and users of the vehicle system can inherit these privileges according to their assigned roles. The assignment of access privileges can be performed or managed by a vehicle system administrator, a vehicle manufacturer, or any other trusted or authorized party.
[0100] According to embodiments, a device management system can leverage RBAC for access control policy enforcement. For example, by leveraging RBAC, a device management system may enable the creation and enforcement of access control policies that define the conditions and rules governing user access to specific operations, services, information, or resources within a vehicle system. Access control policies may be administered by a vehicle system administrator, a vehicle manufacturer, or any other trusted or authorized party based on factors such as user role, time-based restrictions, location-based restrictions, or any other suitable factors.
[0101] It should be understood that a device management system may be utilized to perform any other suitable RBAC operations in addition to, or as an alternative to, the operations described herein without departing from the scope of the present disclosure. In view of the above, the device management system of an example embodiment may perform one or more RBAC operations in addition to, or as an alternative to, one or more operations utilizing public-private key pairs (described above with reference to FIGS. 3 through 5) in managing communication and interoperation of devices within a vehicle system. By utilizing RBAC, the device management system of an example embodiment provides a flexible and extensible approach to access management within a vehicle system, enabling fine-grained control over user privileges, simplifying administration, promoting security, and facilitating compliance with regulatory requirements.
[0102] According to embodiments, a device management system may be utilized to manage one or more remote sessions. Figure 6 illustrates a system configuration 600 for managing one or more remote sessions between one or more user equipment (UE) and one or more devices in a vehicular system, according to one or more embodiments.
[0103] 6, the system configuration 600 may include a device management system 610, a plurality of UEs 620-1 through 620-N, a plurality of devices 630-1 through 630-N, a database 640, a virtual private network (VPN) 660, a network load balancer 670, and a fleet gateway 680. The device management system 610, the UEs 620-1 through 620-N, the devices 630-1 through 630-N, and the database 640 may be similar to those described herein with reference to one or more of FIGS. 1 through 5, and therefore, redundant descriptions related thereto may be omitted below for brevity.
[0104] Additionally, the components of system configuration 600 may be communicatively coupled to one another via a network (e.g., network 150). The networks coupling VPN 660 and network load balancer 670 to the other components may be collectively referred to as public subnet 650-1, and the networks coupling device management system 610, database 640, and fleet gateway 680 may be collectively referred to as private subnet 650-2.
[0105] In this regard, public subnet 650-1 may be a network segment with publicly routable IP addresses assigned to components, while private subnet 650-2 may be a network segment that utilizes private IP addresses reserved for private use within the vehicle system and that are not routable on the public Internet. That is, components of public subnet 650-1 (i.e., VPN 660 and network load balancer 670) are permitted to be directly accessed by components from external networks, while components of private subnet 650-2 (i.e., device management system 610, database 640, and fleet gateway 680) are prohibited from being directly accessed by components from external networks. Public subnet 650-1 and private subnet 650-2, and their associated components (e.g., device management system 610, database 640, VPN 660, network load balancer 670, and fleet gateway 680) may be deployed in one or more cloud computing environments.
[0106] By dividing the network into public subnet 650-1 and private subnet 650-2, the security of the system may be enhanced as critical components such as device management system 610 and database 640 are isolated from external components and public subnet 650-1 may act as an additional layer of protection against external threats.
[0107] VPN 660 in public subnet 650-1 can act as a secure gateway, allowing UEs 620-1-620-N (which may be located in different geographic locations) to connect to public subnet 650-1 and ultimately securely access components (e.g., device management system 610) in private subnet 650-2 over the Internet. According to an embodiment, VPN 660 can provide UEs 620-1-620-N with a secure, encrypted communication channel, thereby ensuring data privacy and enabling secure access to public subnet 650-1 from remote locations.
[0108] Database 640 may be a centralized inventory database (e.g., a vault, etc.) configured to store information for multiple devices 630-1 through 630-N and multiple UEs 620-1 through 620-N. According to an embodiment, the centralized inventory database may include multiple partitions, each configured to store information associated with a respective user role. For example, the inventory database may include a first partition configured to store device information associated with a device manager, a second partition configured to store device information associated with a maintenance engineer, etc.
[0109] Network load balancer 670 may be a component configured to efficiently and effectively distribute network traffic across devices 630-1 through 630-N. According to an embodiment, network load balancer 670 may be configured to monitor the status of devices 630-1 through 630-N (e.g., hardware and / or software health status, resource availability status, etc.) and perform one or more load balancing operations based thereon to ensure optimal load distribution among devices 630-1 through 630-N and prevent overloading of any particular device, thereby increasing the scalability and responsiveness of the vehicle system.
[0110] Fleet gateway 680 may be a reverse proxy and / or communication gateway acting as an intermediary between devices 630-1-630-N and device management system 610. According to an embodiment, fleet gateway 680 may be configured to facilitate secure and encrypted communication between devices 630-1-630-N and device management system 610 to ensure that information or data exchanged between devices 630-1-630-N and device management system 610 remains confidential and protected from potential security threats, such as eavesdropping. Additionally or alternatively, fleet gateway 680 may be configured to manage communication protocols, such as protocol translation, to enable devices 630-1-630-N (which may utilize different communication protocols) to seamlessly interact with device management system 610 while ensuring compatibility and interoperability.
[0111] In view of the foregoing, device management system 610 may be configured to interoperate with the above-described components to provide one or more remote sessions to one or more of UEs 620-1 through 620-N for accessing or utilizing one or more of devices 630-1 through 630-N. By leveraging public subnet 650-1, private subnet 650-2, VPN 660, network load balancer 670, and fleet gateway 680, device management system 610 can provide enhanced security, scalability, and reliability to one or more remote sessions while ensuring smooth and seamless operation and optimal performance of devices 630-1 through 630-N within the vehicle system.
[0112] According to an embodiment, device management system 610 may be configured to automatically collect information for multiple devices 630-1 through 630-N, manage the collected device information, and accordingly provide the collected device information to one or more users. In managing user access to the device information, device management system 610 may utilize public-private key pairs and / or one or more RBAC operations, as well as one or more components in system configuration 600 (e.g., VPN 660, network load balancer 670, fleet gateway 68, etc.), as described above with reference to Figures 1 through 6.
[0113] 7 shows a flow diagram of an example method 700 for managing device information, according to one or more embodiments. One or more operations of method 700 may be performed by at least one processor of a device management system described herein. Furthermore, one or more operations in method 700 may be similar to one or more operations described above with reference to FIGS. 3-6 or may be performed in any suitable order, such as before, after, or the like, one or more operations described above with reference to FIGS. 3-6.
[0114] As shown in FIG. 7, in operation S710, at least one processor of the device management system may be configured to collect information from multiple devices (e.g., devices 130-1 through 130-N and devices 630-1 through 630-N, etc.). For example, the at least one processor may continuously (or periodically) aggregate information from the multiple devices by executing one or more API calls. The multiple devices may be located in different geographic locations and may provide information to the at least one processor via OTA. The information may include device status (e.g., hardware and / or software health status, resource status, etc.), device location, information about a user associated with the device, etc.
[0115] Upon collecting the device information, at least one processor of the device management system may be configured to store the collected device information. For example, the at least one processor may provide the collected device information to an inventory database (e.g., database 140, database 640, etc.) to store the collected information therein. According to an embodiment, the at least one processor may use the collected information to update one or more stored pieces of information in the inventory database. In this manner, updated information for devices available in the vehicle system may be effectively and efficiently aggregated and managed in a centralized inventory database, regardless of the geographic location of the devices.
[0116] At operation S730, at least one processor of the device management system may be configured to receive a message requesting access to information related to one or more devices. The message may be provided by the UE via OTA. According to an embodiment, at least a portion of the message may be signed or encrypted by the UE (e.g., based on a private key). Thus, the at least one processor may manage the UE (e.g., determine whether the UE is registered and / or authenticated, etc.) in a manner similar to that described above with reference to FIGS. 3 through 5. It should be understood that in some implementations, the message may not be signed or encrypted, and method 700 may be performed without utilizing a public-private key pair without departing from the scope of the present disclosure.
[0117] In operation S740, at least one processor of the device management system may be configured to identify a role of a user associated with the UE. For example, the at least one processor may retrieve user role information from one or more storage media (e.g., an inventory database, storage in the device management system, etc.) based on an ID of the UE.
[0118] Upon identifying the user role, in operation S750, at least one processor of the device management system may be configured to retrieve requested information based on the user's role. For example, the request message obtained in operation S730 indicates that the user is requesting information about a remote device, and the at least one processor may determine that the user has an administrator role. Thus, in operation S740, the at least one processor may access an inventory database to obtain information about remote devices authorized to be accessed by the user with the administrator role. According to an embodiment, the at least one processor may access a portion of the inventory database dedicated to storing and providing administrator-related device information. Furthermore, device information may be aggregated in a history log file that may include information indicating what other users have done on the device (e.g., user access, updates, configurations, location changes, cable configuration changes, etc.).
[0119] Upon retrieving the information, at operation S760, at least one processor of the device management system may be configured to provide the retrieved information to the UE. For example, the at least one processor may provide the retrieved information to the UE via OTA. According to an embodiment, the at least one processor may encrypt the retrieved information with a public key of the UE and then transmit the encrypted information to the UE.
[0120] Alternatively or additionally, the at least one processor may be configured to include additional information in the retrieved information and provide it to the UE. For example, the at least one processor may assign one or more permissions to the UE for managing the retrieved information according to a role of a user associated with the UE. As an example, the at least one processor may provide a user with permissions or authorization to view and edit information (e.g., read and write information, etc.), view information (e.g., read-only information, etc.), share information, etc.
[0121] It should be appreciated that the device management system may be configured to manage access and communications for any suitable service in a manner similar to that described herein above.
[0122] In view of the above, exemplary embodiments of the present disclosure may provide systems and methods for utilizing same to effectively and efficiently manage one or more sessions between multiple UEs and multiple devices in a vehicular system.
[0123] To this end, exemplary embodiments of the present disclosure provide a device management system (and methods for utilizing the same) that enables effective and efficient management of one or more devices in a vehicle system, which addresses the challenges in the prior art as described above.
[0124] It should be understood that the specific order or hierarchy of blocks in the processes / flowcharts disclosed herein is an example of an example approach. Based on design preferences, it should be understood that the specific order or hierarchy of blocks in the processes / flowcharts may be rearranged. Additionally, some blocks may be combined or omitted. The accompanying method claims present elements of the various blocks in an example order and are not limited to the specific order or hierarchy presented.
[0125] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of technical detail of integration. Furthermore, one or more of the above components described above may be implemented as instructions stored on a computer-readable medium and executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include a computer-readable non-transitory storage medium having computer-readable program instructions for causing a processor to perform operations.
[0126] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction-execution device. A computer-readable storage medium can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves having instructions recorded thereon, and any suitable combination of the above. Computer-readable media, as used herein, should not be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.
[0127] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or can be downloaded to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within each computing / processing device.
[0128] The computer-readable program code / instructions for performing operations may be either source code or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or object-oriented programming languages such as Smalltalk, C++, etc., and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, partially on the user's computer as a standalone software package, and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer-readable program instructions by utilizing state information in the computer-readable program instructions to personalize the electronic circuitry to perform aspects or operations.
[0129] These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to fabricate a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram blocks. These computer-readable program instructions can also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium having stored thereon instructions comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in the flowchart and / or block diagram blocks.
[0130] The computer-readable program instructions can also be loaded into a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to generate a computer-implemented process such that the instructions, executed on the computer, other programmable apparatus, or other device, implement the functions / acts specified in the flowchart and / or block diagram blocks.
[0131] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction set, comprising one or more executable instructions for implementing the specified logical function(s). The methods, computer systems, and computer-readable media may include additional, fewer, different, or differently arranged blocks than shown in FIG. 1. In some alternative implementations, the functions depicted in the blocks may occur out of the order depicted in the figures. For example, two blocks shown in succession may in fact be executed concurrently or substantially concurrently, or the blocks may be executed in the reverse order, depending on the functionality involved. It will also be noted that each block in the block diagram and / or flowchart illustrations, and combinations of blocks in the block diagram and / or flowchart illustrations, may be implemented by special-purpose hardware-based systems that perform the specified functions or operations and execute a combination of special-purpose hardware and computer instructions.
[0132] The systems and / or methods described herein may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not intended to limit the implementation. As such, the operation and behavior of the systems and / or methods have been described herein without reference to specific software code, and it will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.
Claims
1. 1. A method for managing a plurality of devices in a vehicle system, comprising: The method is performed by at least one processor of a system, receiving, from a first device, a message for requesting a service from a second device, the message including an identification (ID) of the first device; determining whether the first device is registered based on the ID of the first device; performing one or more operations to register the first device based on a determination that the first device is not registered; determining whether the first device is successfully registered; determining whether the first device is authenticated based on a determination that the first device is registered or based on a determination that the first device is successfully registered; providing the first device with access to the requested service based on a determination that the first device is authenticated; and Equipped with Determining whether the first device is authenticated includes: determining whether the first device is authorized to use the requested service based on the ID of the first device; determining that the first device is authenticated based on a determination that the first device is authorized to use the requested service; and determining that the first device is not authenticated based on a determination that the first device is not authorized to use the requested service; and Equipped with at least a portion of the message is encrypted by the first device based on a private key; Determining whether the first device is authorized to use the requested service includes: Obtaining a public key of the first device; decrypting the encrypted portion of the message to obtain the requested service information; determining whether the first device is authorized to use the requested service based on the information of the requested service and the ID of the first device; A method for providing
2. Determining whether the first device is registered includes: determining, based on the ID of the first device, whether a public key associated with the first device is available in one or more storage media of the system; determining that the first device is registered based on a determination that the public key for the first device is available; and determining that the first device is not registered based on a determination that the public key for the first device is not available; and The method of claim 1 , comprising:
3. Performing the one or more operations to register the first device includes: establishing an out-of-band (OOB) channel between the system and the first device; receiving public key information of the first device from the first device over the OOB channel; registering the first device based on the information of the public key; sending, to the first device, a result of registering the first device; The method according to claim 1 or claim 2, comprising:
4. Registering the first device based on the information of the public key includes: verifying the public key; generating a mapping between the verified public key and the ID of the first device; The method of claim 3 comprising:
5. Providing the first device with access to the requested service includes: obtaining information related to the requested service from the second device; encrypting the information of the requested service obtained from the second device based on the public key of the first device; providing the encrypted information to the first device; The method according to claim 1 or claim 2, comprising:
6. the first device includes a Trusted Platform Module (TPM), the TPM configured to manage the public key and the private key, and the first device configured to decrypt the information encrypted based on the private key; The method of claim 5.
7. the second device is a vault, and the service is provisioning of one or more pieces of information stored in the vault; The method according to claim 1 or claim 2.
8. the first device and the second device are located in different geographic locations; The method according to claim 1 or claim 2.
9. 1. A system for managing a plurality of devices in a vehicle system, comprising: memory storage for storing computer-executable instructions; at least one processor communicatively coupled to the memory storage; Equipped with The at least one processor receiving, from a first device, a message for requesting a service from a second device, the message including an identification (ID) of the first device; determining whether the first device is registered based on the ID of the first device; performing one or more operations to register the first device based on a determination that the first device is not registered; determining whether the first device is successfully registered; determining whether the first device is authenticated based on a determination that the first device is registered or based on a determination that the first device is successfully registered; providing the first device with access to the requested service based on a determination that the first device is authenticated; configured to execute instructions, The at least one processor determining whether the first device is authorized to use the requested service based on the ID of the first device; determining that the first device is authenticated based on a determination that the first device is authorized to use the requested service; determining that the first device is not authenticated based on a determination that the first device is not authorized to use the requested service; determining whether the first device is authenticated; configured to execute instructions, at least a portion of the message is encrypted by the first device based on a private key; The at least one processor Obtaining a public key for the first device; decrypting the encrypted portion of the message to obtain the requested service information; determining whether the first device is authorized to use the requested service based on the information of the requested service and the ID of the first device; determining whether the first device is authorized to use the requested service; configured to execute instructions, system.
10. The at least one processor determining, based on the ID of the first device, whether a public key associated with the first device is available in one or more storage media of the system; determining that the first device is registered based on determining that the public key for the first device is available; determining that the first device is not registered based on a determination that the public key for the first device is not available; determining whether the first device is registered; configured to execute instructions, The system of claim 9.
11. The at least one processor establishing an out-of-band (OOB) channel between the system and the first device; receiving public key information of the first device from the first device over the OOB channel; registering the first device based on the information in the public key; By sending a result of registering the first device to the first device, performing the one or more operations to register the first device; configured to execute instructions, 11. A system according to claim 9 or claim 10.
12. The at least one processor verifying the public key; by generating a mapping between the verified public key and the ID of the first device; registering the first device based on the information in the public key; configured to execute instructions, The system of claim 11.
13. The at least one processor obtaining information related to the requested service from the second device; encrypting the information of the requested service obtained from the second device based on the public key of the first device; providing the encrypted information to the first device; providing the first device with access to the requested service; configured to execute instructions, 11. A system according to claim 9 or claim 10.
14. the first device includes a Trusted Platform Module (TPM), the TPM configured to manage the public key and the private key, and the first device configured to decrypt the information encrypted based on the private key; The system of claim 13.
15. the second device is a vault, and the service is provisioning of one or more pieces of information stored in the vault; 11. A system according to claim 9 or claim 10.
16. the first device and the second device are located in different geographic locations; 11. A system according to claim 9 or claim 10.
Citation Information
Patent Citations
Secure communication for IoT devices in vehicles
JP2020532215A
Key provisioning method and related products
WO2022141574A1
Service-mediating device and service-mediating method
WO2022153442A1