[go: up one dir, main page]

RU2851079C1 - Method of interblock control of application access to transport vehicle components and system for implementing it - Google Patents

Method of interblock control of application access to transport vehicle components and system for implementing it

Info

Publication number
RU2851079C1
RU2851079C1 RU2025120539A RU2025120539A RU2851079C1 RU 2851079 C1 RU2851079 C1 RU 2851079C1 RU 2025120539 A RU2025120539 A RU 2025120539A RU 2025120539 A RU2025120539 A RU 2025120539A RU 2851079 C1 RU2851079 C1 RU 2851079C1
Authority
RU
Russia
Prior art keywords
application
component
execution environment
information
vehicle
Prior art date
Application number
RU2025120539A
Other languages
Russian (ru)
Inventor
Андрей Андреевич Карабань
Булат Нурланович Рахимбердиев
Original Assignee
Акционерное общество "Лаборатория Касперского"
Акционерное Общество "Кама"
Filing date
Publication date
Application filed by Акционерное общество "Лаборатория Касперского", Акционерное Общество "Кама" filed Critical Акционерное общество "Лаборатория Касперского"
Application granted granted Critical
Publication of RU2851079C1 publication Critical patent/RU2851079C1/en

Links

Abstract

FIELD: computing technology.
SUBSTANCE: claimed result is achieved by a method of inter-block control of application access to a vehicle component (VC), in which: a) the application is loaded into the execution environment, with the application including an application certificate and a manifest containing information about permitted interactions with VC components; b) information is collected using the execution environment to certify the loaded application; c) the loaded application is certified using a security gateway based on the collected information ; d) cryptographic material confirming successful certification is generated using the security gateway and transmitted to the specified execution environment; e) establish a session between the application and the VC component through the security gateway, during which they authenticate the application's access rights using cryptographic material; f) use the security gateway to analyse the application request received within the established session to the VC component, as a result of which they decide whether to execute the request received.
EFFECT: increased security when vehicle components interact with applications.
26 cl, 4 dwg

Description

Область техникиField of technology

Изобретение относится к области обеспечения безопасности сетей связи транспортного средства, а в частности к системе и способу контроля доступа к электронным блокам транспортного средства.The invention relates to the field of ensuring the security of vehicle communication networks, and in particular to a system and method for controlling access to electronic units of a vehicle.

Уровень техникиState of the art

Современные транспортные средства, в частности автономные автомобили и электромобили, представляют собой сложные системы, включающие различные датчики, контроллеры, исполнительные механизмы, технологии обмена данными и прочее, в комплексе обеспечивающие широкую функциональность транспортного средства. Дополнительные функции, внедряемые для более безопасного и комфортного вождения, обеспечиваются благодаря применению программного обеспечения (ПО), в том числе приложений, разработанных как самим автопроизводителем, так и сторонними разработчиками. При этом использование приложений может быть сопряжено с рисками функциональной и информационной безопасности. Так, например, злоумышленники могут найти в приложениях существующие ошибки безопасности (например, уязвимости) и использовать их для запуска вредоносного ПО и атак на электронные блоки управления (ЭБУ) транспортного средства с целью получения контроля над механизмами управления транспортного средства. Другим примером угрозы являются приложения от сторонних разработчиков, которые, в отличие от автопроизводителей, не обладают полной информацией об условиях взаимодействия с узлами транспортного средства (например, ЭБУ) и, соответственно, могут наделить приложения большей функциональностью, чем необходимо для взаимодействия с определенными узлами транспортного средства, что в свою очередь может привести к сбою в работе как указанных узлов, так и самого транспортного средства. Использование таких приложений в рамках электронных и цифровых схем транспортного средства поднимает вопросы по обеспечению безопасности и работоспособности транспортного средства в контексте возможного злоупотребления функциональными возможностями приложений.Modern vehicles, particularly autonomous and electric vehicles, are complex systems incorporating various sensors, controllers, actuators, data exchange technologies, and other components that together provide extensive vehicle functionality. Additional features implemented for safer and more comfortable driving are enabled by software, including apps developed by both the automaker and third-party developers. However, the use of apps can pose security risks. For example, attackers can find existing security flaws (e.g., vulnerabilities) in apps and exploit them to launch malware and attack the vehicle's electronic control units (ECUs) in order to gain control of the vehicle's controls. Another example of a threat is third-party apps. Unlike car manufacturers, third-party developers lack complete information about the conditions of interaction with vehicle components (e.g., ECUs). Consequently, they can provide apps with more functionality than is necessary for interaction with specific vehicle components, which in turn can lead to malfunction of both those components and the vehicle itself. The use of such apps within a vehicle's electronic and digital circuitry raises questions about vehicle safety and operability, given the potential for abuse of the apps' functionality.

Из уровня техники известны решения, направленные на обеспечения безопасности электронных компонентов транспортного средства. Например, в заявке на патент US20230118187А1 представлен автомобильный шлюз, обеспечивающий безопасную открытую платформу для гостевых приложений. В рамках автомобильного шлюза осуществляется взаимодействие между гостевыми приложениями и электронными подсистемами транспортного средства. Автомобильный шлюз включает интерфейсы для связи с электронными подсистемами и по меньшей мере один процессор, в рамках которого осуществляют работу гостевые приложения как виртуальные машины, при этом гостевые приложения и электронные подсистемы разделены между защищенным и незащищенным доменами (зонами). Контроль взаимодействия между ними осуществляется при помощи гипервизора, который руководствуется политиками безопасности для определения, разрешено взаимодействие или запрещено.Solutions for ensuring the security of vehicle electronic components are known in the prior art. For example, patent application US20230118187A1 describes an automotive gateway that provides a secure, open platform for guest applications. The automotive gateway facilitates interaction between guest applications and the vehicle's electronic subsystems. The automotive gateway includes interfaces for communicating with the electronic subsystems and at least one processor within which guest applications run as virtual machines. Guest applications and electronic subsystems are separated into secure and unsecure domains (zones). Interaction between them is controlled by a hypervisor, which uses security policies to determine whether interaction is permitted or prohibited.

В тоже время решение, представленное в указанной публикации, требует определенных ресурсов, в частности аппаратных возможностей, для реализации такого автомобильного шлюза, в том числе для осуществления работы гостевых приложений как виртуальных машин и гипервизора. Также появляется необходимость осуществлять постоянный контроль при помощи специальных политик безопасности, которые требуется постоянно создавать и обновлять. Кроме того, решение основано на том, что указанная реализация осуществляется в рамках самого автомобильного шлюза.At the same time, the solution presented in the aforementioned publication requires certain resources, particularly hardware capabilities, to implement such an automotive gateway, including running guest applications as virtual machines and a hypervisor. It also requires constant monitoring using dedicated security policies, which must be continually created and updated. Furthermore, the solution relies on the implementation being carried out within the automotive gateway itself.

Таким образом, в настоящее время требуются решения, направленные на осуществление безопасности работы транспортного средства как в целом, так и его отдельных компонентов и подсистем, при этом обладающие большей гибкостью при контроле взаимодействия между компонентами транспортного средства, включающие компоненты, обеспечивающие работу различных приложений, и в то же время в рамках определенных аппаратных ограничений по меньшей мере тем же уровнем безопасности.Thus, there is a current need for solutions aimed at ensuring the safety of the operation of a vehicle as a whole and of its individual components and subsystems, while having greater flexibility in controlling the interaction between the vehicle components, including components that ensure the operation of various applications, and at the same time, within certain hardware constraints, at least the same level of safety.

Предлагаемое дальше решение с одной стороны позволяет устранить недостатки известных решений из уровня техники, а с другой стороны расширить арсенал технических средств, направленных на обеспечение безопасности транспортного средства при взаимодействии сторонних приложений с его компонентами. Например, предлагаемое решение позволяет нивелировать эксплуатацию возможных уязвимостей приложений.The proposed solution, on the one hand, eliminates the shortcomings of existing state-of-the-art solutions, and on the other, expands the arsenal of technical means aimed at ensuring vehicle security when third-party applications interact with its components. For example, the proposed solution mitigates the exploitation of potential application vulnerabilities.

Раскрытие сущности изобретенияDisclosure of the essence of the invention

Настоящее изобретение было выполнено с учетом описанных выше недостатков известного уровня техники, и цель настоящего изобретения состоит в том, чтобы обеспечить безопасность осуществления предназначения транспортного средства (ТС) и его компонентов. В частности, изобретение относится к решениям, направленным на контроль доступа приложений, в том числе сторонних приложений, к компонентам транспортного средства, при этом осуществляется контроль взаимодействий между компонентами ТС. Указанные приложения реализованы в рамках одного из компонентов ТС, который позволяет осуществить работу приложений. Примерами таких компонентов ТС являются различные электронные системы, системы помощи водителю, информационно-развлекательные системы и телематические системы. При этом взаимодействие приложений осуществляется с различными компонентами ТС, например такими как электронные блоки управления (ЭБУ), усовершенствованная система помощи водителю, а также различные сенсоры/датчики ТС.The present invention was developed taking into account the above-described shortcomings of the prior art, and the purpose of the present invention is to ensure the safe performance of a vehicle (V) and its components. Specifically, the invention relates to solutions aimed at controlling access of applications, including third-party applications, to VV components, while also monitoring interactions between VV components. These applications are implemented within one VV component, which enables the application to operate. Examples of such VV components include various electronic systems, driver assistance systems, infotainment systems, and telematics systems. These applications interact with various VV components, such as electronic control units (ECUs), advanced driver assistance systems, and various VV sensors.

Варианты реализации настоящего изобретения включают в себя исполнение приложений в рамках одного компонента ТС, включающего среду исполнения приложений, и отдельно реализующегося шлюза безопасности в виде другого компонента ТС, что позволяет устранить ограничения в части аппаратной возможности среды исполнения приложений и не ограничиваться возможностями какого-либо одного компонента ТС, например, шлюза безопасности.Embodiments of the present invention include the execution of applications within a single TS component, including an application execution environment, and a separately implemented security gateway in the form of another TS component, which makes it possible to eliminate limitations in terms of the hardware capabilities of the application execution environment and not be limited to the capabilities of any one TS component, for example, a security gateway.

Технический результат, достигающийся представленным решением, заключается в повышении безопасности при взаимодействии компонентов транспортного средства с приложениями, в том числе с приложениями, содержащими уязвимости, за счет межблочного контроля доступа приложений к компонентам, в частности к электронным блокам, ТС.The technical result achieved by the presented solution consists in increasing the security of interaction between vehicle components and applications, including applications containing vulnerabilities, due to inter-unit control of application access to components, in particular to electronic units, of the vehicle.

Еще один технический результат заключается в расширении функциональных возможностей транспортного средства с сохранением безопасности при его эксплуатации за счет запуска приложения, например стороннего приложения, в среде исполнения в рамках физически отделенного компонента от других компонентов ТС и реализации элемента контроля взаимодействия между ними в виде шлюза безопасности. При этом отдельным компонентом транспортного средства являются как непосредственные компоненты ТС, например информационно-развлекательные системы, так и компоненты в виде облачного вычислительного устройства (сервера) или мобильного устройства.Another technical result is expanding the vehicle's functionality while maintaining operational safety by running an application, such as a third-party application, in a runtime environment within a physically separated component from other vehicle components and implementing a security gateway to control interactions between them. This separate vehicle component includes both the vehicle's components, such as infotainment systems, and components such as a cloud computing device (server) or mobile device.

Указанные технические результаты достигаются благодаря осуществлению системы и способа межблочного контроля доступа приложений к компонентам, в частности к электронным блокам управления, ТС, которые более подробно описаны далее.The specified technical results are achieved through the implementation of a system and method for inter-unit control of application access to components, in particular to electronic control units, of a vehicle, which are described in more detail below.

Согласно одному аспекту изобретения, предложен способ межблочного контроля доступа приложения к по меньшей мере одному компоненту ТС, при этом указанный способ содержит этапы, на которых выполняют загрузку приложения в среду исполнения, при этом приложение включает по меньшей мере сертификат приложения и манифест, содержащий информацию о разрешенных взаимодействиях с компонентами ТС (права доступа); собирают информацию при помощи среды исполнения для проведения аттестации загруженного приложения, где собираемая информация включает манифест и/или информацию о сертификате приложения, при этом собираемую информацию подписывают ключом среды исполнения; осуществляют аттестацию загруженного приложения при помощи шлюза безопасности на основании собранной информации; формируют при помощи шлюза безопасности криптографический материал, подтверждающий успешное прохождение аттестации, при этом передают с помощью шлюза безопасности сформированный криптографический материал указанной среде исполнения; устанавливают сессию между приложением и по меньшей мере одним компонентом ТС через шлюз безопасности, во время которой осуществляют аутентификацию прав доступа приложения при помощи криптографического материала; осуществляют при помощи шлюза безопасности анализ по меньшей мере одного полученного запроса приложения в рамках установленной сессии к компоненту ТС, в результате которого принимают решение о выполнении полученного запроса.According to one aspect of the invention, a method is proposed for inter-unit control of application access to at least one component of a TS, wherein said method comprises the steps of loading an application into an execution environment, wherein the application includes at least an application certificate and a manifest containing information on permitted interactions with TS components (access rights); collecting information using the execution environment to attest the downloaded application, wherein the collected information includes a manifest and/or information on the application certificate, wherein the collected information is signed with a key of the execution environment; attesting the downloaded application using a security gateway based on the collected information; generating cryptographic material using the security gateway that confirms successful completion of the attestation, wherein the generated cryptographic material is transmitted using the security gateway to said execution environment; establishing a session between the application and at least one component of the TS through the security gateway, during which the access rights of the application are authenticated using the cryptographic material; using a security gateway, an analysis is performed of at least one received application request within the established session to the TS component, as a result of which a decision is made to execute the received request.

Согласно некоторым вариантам реализации изобретения, криптографический материал обеспечивает аутентификацию сетевого соединения указанного приложения, и в качестве которого является по меньшей мере один из: ключ для формирования MAC, сессионный ключ, токен аттестации или сертификата.According to some embodiments of the invention, the cryptographic material provides authentication of the network connection of the specified application, and which is at least one of: a key for generating a MAC, a session key, an attestation token or a certificate.

Согласно некоторым вариантам реализации изобретения, приложение взаимодействует через шлюз безопасности с по меньшей мере одним из следующих компонентов ТС: электронный блок управления (ЭБУ); система помощи водителю; телематическая система.According to some embodiments of the invention, the application interacts through a security gateway with at least one of the following components of the vehicle: an electronic control unit (ECU); a driver assistance system; a telematics system.

Согласно некоторым вариантам реализации изобретения, средой исполнения приложения является по меньшей мере одно из: локальный вычислительный компонент ТС, обладающий возможностью загрузить и исполнить приложение; мобильное устройство, взаимодействующее с компонентами ТС; удаленный сервер, имеющий связь с компонентами ТС.According to some embodiments of the invention, the application execution environment is at least one of: a local computing component of the TS, having the ability to download and execute the application; a mobile device interacting with the components of the TS; a remote server communicating with the components of the TS.

Согласно некоторым вариантам реализации изобретения, локальным вычислительным компонентом ТС является информационно-развлекательная система.According to some embodiments of the invention, the local computing component of the vehicle is an infotainment system.

Согласно некоторым вариантам реализации изобретения, собираемой информацией для проведения аттестации загруженного приложения дополнительно является: идентификатор приложения, вендор приложения, хеш-сумма приложения, информация о других сертификатах, размер приложения, уникальный идентификатор среды исполнения.According to some embodiments of the invention, the information collected for certifying the downloaded application additionally includes: the application identifier, the application vendor, the application hash sum, information about other certificates, the application size, and the unique identifier of the execution environment.

Согласно некоторым вариантам реализации изобретения, среда исполнения является доверенной средой исполнения, при этом загрузку приложения выполняют в указанную доверенную среду исполнения.According to some embodiments of the invention, the execution environment is a trusted execution environment, and the application is loaded into said trusted execution environment.

Согласно некоторым вариантам реализации изобретения, формируют политику безопасности в отношении аттестуемого приложения на основании собранной информации, при этом политика безопасности включает информацию о разрешенных взаимодействиях аттестованного приложения с по меньшей мере одним компонентом ТС.According to some embodiments of the invention, a security policy is formed with respect to the certified application based on the collected information, wherein the security policy includes information about the permitted interactions of the certified application with at least one component of the TS.

Согласно некоторым вариантам реализации изобретения, осуществляют анализ полученного запроса приложения к компоненту ТС с помощью сформированной политики безопасности.According to some embodiments of the invention, an analysis of the received application request to the TS component is performed using the generated security policy.

Согласно некоторым вариантам реализации изобретения, токен аттестации предназначен для открытого сетевого соединения (сессии) между аттестованным приложением и по меньшей мере одним компонентом ТС.According to some embodiments of the invention, the attestation token is intended for an open network connection (session) between the attested application and at least one component of the TS.

Согласно некоторым вариантам реализации изобретения, указанный токен аттестации подтверждает целостность приложения.According to some embodiments of the invention, said attestation token verifies the integrity of the application.

Согласно некоторым вариантам реализации изобретения, осуществляют анализ по меньшей мере одного полученного запроса в рамках установленной сессии к компоненту ТС для определения возможности передачи определенной команды на компонент ТС для выполнения полученного запроса.According to some embodiments of the invention, at least one received request is analyzed within the established session to a component of the TS to determine the possibility of transmitting a specific command to the component of the TS to fulfill the received request.

Согласно некоторым вариантам реализации изобретения, принимаемое решение о выполнении полученного запроса включает информацию либо о разрешении и передаче команды на компонент ТС для выполнения запроса, полученного от приложения, либо об отклонении указанного запроса.According to some embodiments of the invention, the decision taken to execute the received request includes information either on permission and transmission of a command to the TS component to execute the request received from the application, or on rejection of the said request.

Согласно ещё одному аспекту изобретения, предложена система межблочного контроля доступа приложений к по меньшей мере одному компоненту ТС, при этом указанная система включает: по меньшей мере одну среду исполнения, являющуюся вычислительным компонентом, содержащим по меньшей мере один процессор и память для реализации операционной системы, в рамках которой осуществляется исполнение по меньшей мере одного приложения, взаимодействующего с по меньшей мере одним компонентом ТС, при этом приложение включает по меньшей мере манифест, содержащий информацию о разрешенных взаимодействиях с компонентами ТС (права доступа), и сертификат приложения, а среда исполнения предназначена для выполнения загрузки и исполнения приложения; осуществления контроля целостности указанного приложения, в том числе неизменности приложения с момента его загрузки или последнего исполнения; шлюз безопасности, предназначенный по меньшей мере для обмена данными со средой исполнения, в том числе и с приложением, и с другими компонентами ТС; аттестации приложения на основании полученной информации от среды исполнения, при этом во время аттестации осуществляется проверка идентичности и целостности приложения; формирования подтверждения об успешном прохождении аттестации приложением, которое включает формирование криптографического материала; аутентификации сетевого соединения приложения; установления сетевого соединения (сессии) с приложением для осуществления взаимодействия приложения с по меньшей мере одним компонентом ТС; по меньшей мере один компонент ТС, с которым взаимодействует указанное приложение в рамках сформированной сессии, при этом взаимодействие осуществляется через шлюз безопасности, который во время установленной сессии анализирует каждый полученный запрос приложения к компоненту ТС и принимает решение о выполнении полученного запроса.According to another aspect of the invention, a system is proposed for inter-unit control of application access to at least one component of the TS, wherein said system includes: at least one execution environment, which is a computing component containing at least one processor and memory for implementing an operating system, within the framework of which at least one application is executed, interacting with at least one component of the TS, wherein the application includes at least a manifest containing information on permitted interactions with components of the TS (access rights), and an application certificate, and the execution environment is intended for performing loading and execution of the application; implementing integrity control of said application, including the immutability of the application since the moment of its loading or last execution; a security gateway intended at least for exchanging data with the execution environment, including with the application, and with other components of the TS; attestation of the application on the basis of information received from the execution environment, wherein during attestation the identity and integrity of the application are checked; generating confirmation of successful completion of attestation by the application, which includes the generation of cryptographic material; authentication of the network connection of the application; establishing a network connection (session) with an application to implement interaction of the application with at least one component of the TS; at least one component of the TS with which the said application interacts within the framework of the established session, wherein the interaction is carried out through a security gateway, which during the established session analyzes each received request of the application to the TS component and makes a decision on fulfilling the received request.

Согласно некоторым вариантам реализации изобретения, в предлагаемой системе криптографическим материалом является по меньшей мере один из: ключ для формирования MAC, сессионный ключ, токен аттестации или сертификат.According to some embodiments of the invention, in the proposed system, the cryptographic material is at least one of: a MAC generation key, a session key, an attestation token, or a certificate.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью обмена данными между шлюзом безопасности и средой исполнения, в том числе с приложением, осуществляется по защищенному каналу связи.According to some embodiments of the invention, the proposed system is furthermore configured to exchange data between the security gateway and the execution environment, including with the application, via a secure communication channel.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой шлюз безопасности предназначен для проверки целостности операционной системы среды исполнения с целью установления доверия к среде исполнения и в последствии к приложению.According to some embodiments of the invention, the proposed system is further configured with a capability in which the security gateway is designed to verify the integrity of the operating system of the runtime environment in order to establish trust in the runtime environment and subsequently in the application.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой компонентом ТС, с которым взаимодействует приложение через шлюз безопасности, является по меньшей мере один из следующих: электронный блок управления; система помощи водителю; телематическая система.According to some embodiments of the invention, the proposed system is further configured with the possibility that the component of the vehicle with which the application interacts via the security gateway is at least one of the following: an electronic control unit; a driver assistance system; a telematics system.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой средой исполнения приложения является по меньшей мере одно из: локальный вычислительный компонент ТС, обладающий возможностью загрузить и исполнить приложение; мобильное устройство, взаимодействующее с компонентами ТС; удаленный сервер, имеющий связь с компонентами ТС.According to some embodiments of the invention, the proposed system is further configured with the capability in which the application execution environment is at least one of: a local computing component of the TS, having the ability to download and execute the application; a mobile device interacting with the components of the TS; a remote server communicating with the components of the TS.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой локальным вычислительным компонентом ТС является информационно-развлекательная система.According to some embodiments of the invention, the proposed system is further configured with the possibility that the local computing component of the vehicle is an information and entertainment system.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой среда исполнения является доверенной средой исполнения, в которую осуществляют доверенную загрузку приложения.According to some embodiments of the invention, the proposed system is further configured with the capability that the execution environment is a trusted execution environment into which the application is trusted loaded.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой среда исполнения дополнительно собирает информацию для проведения аттестации загруженного или запускаемого приложения, включающую: идентификатор приложения, вендора приложения, хеш-сумму приложения, информацию о других сертификатах, размер приложения, уникальный идентификатор среды исполнения.According to some embodiments of the invention, the proposed system is further configured with the capability in which the execution environment additionally collects information for certifying the downloaded or launched application, including: the application identifier, the application vendor, the application hash, information about other certificates, the size of the application, and a unique identifier of the execution environment.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой шлюз безопасности формирует политику безопасности в отношении аттестуемого приложения на основании собранной информации, при этом политика безопасности включает информацию о разрешенных взаимодействиях аттестованного приложения с по меньшей мере одним компонентом ТС.According to some embodiments of the invention, the proposed system is further configured with a capability in which the security gateway generates a security policy with respect to the certified application based on the collected information, wherein the security policy includes information about the permitted interactions of the certified application with at least one component of the TS.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой указанный токен аттестации предназначен для открытого сетевого соединения (сессии) между аттестованным приложением и по меньшей мере одним компонентом ТС.According to some embodiments of the invention, the proposed system is further configured with the capability in which said attestation token is intended for an open network connection (session) between the attested application and at least one component of the TS.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой указанный токен аттестации подтверждает целостность приложения.According to some embodiments of the invention, the proposed system is further configured to have the capability in which said attestation token verifies the integrity of the application.

Согласно некоторым вариантам реализации изобретения, предлагаемая система кроме того выполнена с возможностью, в которой принимаемое решение о выполнении полученного запроса включает информацию либо о разрешении и передачи команды на компонент ТС для выполнения запроса, полученного от приложения, либо об отклонении указанного запроса.According to some embodiments of the invention, the proposed system is further configured with a capability in which the decision taken to execute the received request includes information either on permission and transmission of a command to the component of the vehicle to execute the request received from the application, or on rejection of the said request.

Краткое описание чертежейBrief description of the drawings

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objects, features and advantages of the present invention will be apparent from reading the following description of the embodiment of the invention with reference to the accompanying drawings, in which:

На Фиг. 1 представлен пример системы, реализующей способ межблочного контроля доступа приложений к компонентам транспортного средства. Fig. 1 shows an example of a system implementing a method for inter-unit control of application access to vehicle components.

На Фиг. 2 представлен пример сетевого обмена между приложением и компонентами транспортного средства, а именно электронными блоками управления. Fig. 2 shows an example of network exchange between the application and vehicle components, namely electronic control units.

На Фиг. 3 представлена схема, иллюстрирующая пример работы способа межблочного контроля доступа приложения к компоненту транспортного средства. Fig. 3 shows a diagram illustrating an example of the operation of the method for inter-unit control of application access to a vehicle component.

На Фиг. 4 представлен способ межблочного контроля доступа приложений к компонентам транспортного средства. Fig. 4 shows a method for inter-unit control of application access to vehicle components.

Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.Although the invention is capable of various modifications and alternative forms, the characteristic features illustrated by way of example in the drawings will be described in detail. It should be understood, however, that the purpose of the description is not to limit the invention to a specific embodiment. Rather, the purpose of the description is to encompass all changes and modifications within the scope of the invention, as defined by the appended claims.

Осуществление изобретенияImplementation of the invention

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако, настоящее изобретение не ограничивается иными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.The objects and features of the present invention, and methods for achieving these objects and features, will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the embodiments disclosed below; it may be embodied in various forms. The substance given in the description is nothing more than specific details provided to assist those skilled in the art in a comprehensive understanding of the invention, and the present invention is defined only within the scope of the appended claims.

Настоящее изобретение позволяет решить недостатки предшествующего уровня техники, представляя систему и способ межблочного контроля доступа приложений к компонентам транспортного средства (ТС). В рамках данного описания осуществления изобретения под термином «транспортное средство» понимается любое транспортное средство, включающие по меньшей мере компоненты, обеспечивающие функционирование, в том числе передвижение, транспортного средства, и сеть для их взаимодействия. В частности, таким транспортным средством является электромобиль и автономное транспортное средство.The present invention addresses the shortcomings of the prior art by providing a system and method for inter-unit application access control to vehicle (V) components. For the purposes of this description, the term "vehicle" refers to any vehicle, including at least components that support the vehicle's operation, including movement, and a network for their interaction. In particular, such a vehicle includes an electric vehicle and an autonomous vehicle.

Также определим еще ряд терминов для дальнейшего описания настоящего изобретения.We will also define a number of other terms to further describe the present invention.

Под термином «компонент ТС» понимаются устройства ТС, системы ТС или подсистемы ТС, кроме тех, которые указаны явно в качестве отличительных. Примерами компонентов ТС являются по меньшей мере:The term "vehicle component" refers to vehicle devices, vehicle systems, or vehicle subsystems, other than those explicitly identified as distinctive. Examples of vehicle components include at least:

- электронные системы, такие как электронные блоки управления (англ. electrical control unit, ECU);- electronic systems such as electronic control units (ECUs);

- системы помощи водителю, например усовершенствованная система помощи водителю (англ. advanced driver-assistance systems, ADAS);- driver assistance systems, such as advanced driver assistance systems (ADAS);

- информационно-развлекательные системы (англ. in-vehicle infotainment, IVI);- in-vehicle infotainment systems (IVI);

- телематические системы; - telematic systems;

- различные сенсоры и датчики.- various sensors and detectors.

Приложение – программа, разработанная для достижения конкретных задач при помощи использования вычислительных ресурсов среды, в которой программа исполняется (далее – среда исполнения). В рамках данного описания приложение также адаптировано для работы в рамках компонентов ТС, если это необходимо для исполнения.An application is a program developed to achieve specific tasks by utilizing the computing resources of the environment in which the program is executed (hereinafter referred to as the runtime environment). Within the context of this description, the application is also adapted to run within the components of the system, if this is necessary for execution.

Стороннее приложение (англ. third-party application) – любое приложение, которое не является обязательной частью ТС и позволяет дополнить функциональные возможности компонентов ТС, при этом указанные компоненты ТС включают среду исполнения для исполнения стороннего приложения.A third-party application is any application that is not a mandatory part of the TS and allows for the functionality of TS components to be supplemented, while the said TS components include an execution environment for the execution of the third-party application.

Стоит отметить, что приложениями, над которыми требуется контроль в рамках данного описания, являются приложения, создателями которых являются как третьи лица (например, сторонние разработчики), так и создатели самих транспортных средств. It is worth noting that the applications that require control within the scope of this description are applications created by both third parties (e.g., third-party developers) and the creators of the vehicles themselves.

В рамках данного описания под термином «приложение» также понимается и термин «стороннее приложение» и наоборот, кроме тех случаев, где говорится о конкретном термине явно.For the purposes of this description, the term "application" also includes the term "third-party application" and vice versa, except where a specific term is explicitly mentioned.

Среда исполнения – это программно-аппаратный комплекс, обеспечивающий возможность исполнения приложений (сторонних приложений) и предоставляющий различные службы и ресурсы, необходимые для работы приложений. Средой исполнения для приложений являются такие компоненты ТС, которые имеют функциональную возможность для их работы, в частности, обладающие операционной системой. Среда исполнения может быть реализована как внутренним компонентом ТС, так и в качестве внешнего устройства по отношению к ТС, например, на удаленном сервере или мобильном устройстве.A runtime environment is a hardware and software system that enables the execution of applications (third-party applications) and provides various services and resources necessary for their operation. Application runtime environments are those components of the IT system that have the functionality to run them, specifically those that have an operating system. A runtime environment can be implemented either as an internal component of the IT system or as an external device, such as on a remote server or mobile device.

Манифест приложения – это файл (например, файл формата XML), включающий данные, позволяющие идентифицировать приложение и описывающие возможности приложения в виде по меньшей мере информации:An application manifest is a file (such as an XML file) that contains data that identifies the application and describes the application's capabilities by providing at least the following information:

• об ограничениях на использование системных ресурсов (например, оперативной памяти); • about restrictions on the use of system resources (for example, RAM);

• о разрешенных взаимодействиях приложения с функциями среды исполнения (например, доступ к данным геопозиции) и функциями компонентов (устройств и систем) ТС, соединенных со средой исполнения (например, разрешение на отправку сигнала отпирания замков дверей, разрешение на отправку сигнала для регулирования работы климатической системы ТС или разрешение на отправку сигнала для получения каких-либо данных с телематических систем).• about permitted interactions of the application with the functions of the runtime environment (for example, access to geolocation data) and the functions of the components (devices and systems) of the vehicle connected to the runtime environment (for example, permission to send a signal to unlock the doors, permission to send a signal to regulate the operation of the vehicle’s climate control system, or permission to send a signal to receive any data from telematics systems).

Стоит отметить, что информация о разрешенных взаимодействиях приложения с функциями среды исполнения и/или функциями компонентов ТС может быть представлена в виде прав доступа к соответствующим функциям среды исполнения и компонентам ТС.It is worth noting that information about the permitted interactions of the application with the functions of the runtime environment and/or the functions of the components of the TS can be presented in the form of access rights to the corresponding functions of the runtime environment and components of the TS.

В одном из вариантов реализации под термином «разрешенные» взаимодействия приложения понимается и термин «допустимые» взаимодействия приложения. Например, для случаев, когда нет конкретного списка разрешенных взаимодействий, но при этом есть список запрещенных взаимодействий. В этом случае считается, что допустимы все взаимодействия, кроме указанных запрещенных.In one implementation, the term "allowed" app interactions also refers to "permitted" app interactions. For example, in cases where there is no specific list of allowed interactions, but there is a list of prohibited interactions, all interactions except those specifically prohibited are considered permitted.

Шлюз безопасности (англ. Secure Gateway, SGW) – компонент, который отслеживает и контролирует взаимодействие приложений с компонентами ТС, в частности, с электронными блоками управления, и также позволяет осуществлять маршрутизацию данных между компонентами ТС, в том числе и с другими средами исполнения приложений.A secure gateway (SGW) is a component that monitors and controls the interaction of applications with vehicle components, particularly electronic control units, and also enables data routing between vehicle components, including with other application execution environments.

Предпочтительный вариант реализации настоящего изобретения включает в себя реализацию среды исполнения приложений и шлюза безопасности как отдельных компонентов ТС, что позволяет устранить ограничения в части аппаратной возможности при совместной реализации, а также предоставляется возможность самостоятельного развития как среды исполнения, так и шлюза безопасности.A preferred embodiment of the present invention includes the implementation of an application runtime environment and a security gateway as separate components of the TS, which makes it possible to eliminate limitations in terms of hardware capabilities during joint implementation, and also provides the possibility of independent development of both the runtime environment and the security gateway.

Электронный блок управления (англ. Electronic Control Unit, ECU) – устройство, выполненное с возможностью приема сигналов от сенсоров и датчиков и различных компонентов ТС (например, автомобильных систем) и управления различными исполнительными устройствами на основе полученных сигналов. Примерами исполнительных устройств являются по меньшей мере блок фар или тормозная система.An Electronic Control Unit (ECU) is a device capable of receiving signals from sensors and various vehicle components (e.g., automotive systems) and controlling various actuators based on these signals. Examples of actuators include, but are not limited to, the headlight unit or the brake system.

Далее при описании фигур представлены примеры вариантов реализации настоящего изобретения.Further, in the description of the figures, examples of embodiments of the present invention are presented.

На Фиг. 1 представлен пример системы, реализующей способ межблочного контроля доступа приложений к компонентам транспортного средства (далее – система контроля). Fig. 1 shows an example of a system implementing a method for inter-unit control of application access to vehicle components (hereinafter referred to as the control system).

В общем виде система контроля включает такие элементы транспортного средства 100, как: среда исполнения 110, включающая по меньшей мере одно приложение 120, шлюз безопасности 130 и другие компоненты ТС, такие как компоненты 135, связь с которыми осуществляется по меньшей мере через CAN-шину (от англ. Controller Area Network).In general, the control system includes such elements of the vehicle 100 as: a runtime environment 110 , including at least one application 120 , a security gateway 130 and other components of the vehicle, such as components 135 , communication with which is carried out at least via a CAN bus (from the English Controller Area Network).

В качестве компонентов 135 транспортного средства 100 в рамках данного описания выступают по меньшей мере электронные блоки ТС, такие как электронные блоки управления (ЭБУ) 180, другие блоки управления 185, домен шасси 195 и электронная система автомобиля 190, помогающая водителю управлять автомобилем и парковкой (англ. Advanced Driver Assistance Systems, ADAS). В рамках данного описания далее под электронными блоками ТС также подразумеваются любой из компонентов 135, кроме тех случаев, где конкретные компоненты 135 ТС 100 указаны явно.Within the framework of this description, the components 135 of the vehicle 100 include at least the electronic units of the vehicle, such as the electronic control units (ECU) 180 , other control units 185 , the chassis domain 195 and the electronic system of the vehicle 190 that assists the driver in driving and parking (Advanced Driver Assistance Systems, ADAS). Within the framework of this description, the electronic units of the vehicle are further understood to mean any of the components 135 , except in cases where specific components 135 of the vehicle 100 are explicitly indicated.

Как упоминалось выше, среда исполнения 110 может быть реализована в рамках локального вычислительного устройства ТС (не представлено на Фиг. 1) или быть им, внешнего вычислительного устройства (облачный сервис, сервер) 140, или мобильного устройства 150. Примером локального вычислительного устройства ТС или компонента ТС является информационно-развлекательная система ТС, в рамках которой приложения 120 исполняют свои предназначения. При реализации среды исполнения 110 при помощи облачного сервиса 140 или мобильного устройства 150 связь с ними осуществляется через информационно-коммуникационную сеть 170, например, сеть Интернет. Также связь может осуществляться как по проводной, так и беспроводной связи с применением соответствующих решений и технологии. Кроме того, среда исполнения 110 включает операционную систему, в рамках которой осуществляется загрузка, запуск и последующее исполнение приложения 120.As mentioned above, the execution environment 110 can be implemented within the local computing device of the vehicle (not shown in Fig. 1 ) or be it, an external computing device (cloud service, server) 140 , or a mobile device 150. An example of a local computing device of the vehicle or a component of the vehicle is the infotainment system of the vehicle, within which the applications 120 perform their purposes. When implementing the execution environment 110 using the cloud service 140 or the mobile device 150, communication with them is carried out via the information and communication network 170 , for example, the Internet. Communication can also be carried out both by wired and wireless communication using appropriate solutions and technology. In addition, the execution environment 110 includes an operating system, within which the loading, launching and subsequent execution of the application 120 is carried out.

В контексте данного изобретения среда исполнения 110 предназначена по меньшей мере для:In the context of the present invention, the execution environment 110 is intended to at least:

• загрузки или запуска приложения 120;• downloading or running application 120 ;

• верификации (проверки) подлинности и целостности загруженного и/или запускаемого приложения 120, в том числе неизменности приложения 120 с момента его загрузки или последнего запуска.• verification (checking) of the authenticity and integrity of the downloaded and/or launched application 120 , including the immutability of the application 120 since its download or last launch.

В одном из вариантов реализации как загрузка, так и запуск приложения 120 являются доверенным. Загрузка или запуск приложения 120 считаются доверенными тогда, когда в рамках запуска операционной системы (ОС) среды исполнения 110 подтверждается, что ОС не была ранее изменена или модифицирована, а после при загрузке или запуске приложения 120 определяется его подлинность и целостность. Другими словами, загрузка или запуск приложения 120 будет считаться доверенными при выполнении доверенной загрузки ОС, последующей загрузки или запуска приложения 120 и его проверки со стороны доверенной ОС. Задача проверки доверенности ОС и/или доверенности приложения 120 может быть осуществлена как при помощи решений, представляемых стороной, создавшей ОС или всю среду исполнения 110, так и одним из компонентов ТС 100, например, шлюзом безопасности 130 или другим модулем, предназначенным или обладающим возможностью выполнить указанную задачу.In one embodiment, both the loading and launch of application 120 are trusted. The loading or launch of application 120 is considered trusted when, as part of the startup of the operating system (OS) of runtime environment 110 , it is confirmed that the OS has not been previously changed or modified, and then, when loading or launching application 120 , its authenticity and integrity are determined. In other words, the loading or launch of application 120 will be considered trusted when a trusted OS load is performed, application 120 is subsequently loaded or launched, and verified by the trusted OS. The task of verifying the trustworthiness of the OS and/or the trustworthiness of application 120 may be performed either using solutions provided by the party that created the OS or the entire runtime environment 110 , or by one of the components of the TS 100 , for example, the security gateway 130 or another module designed or capable of performing the specified task.

В одном из вариантов реализации изобретения шлюз безопасности 130 берет на себя функцию верификации приложения 120, вместо среды исполнения 110. В этом варианте шлюз безопасности 130 будет осуществлять все те же действия по верификации приложения 120, что исполняет среда исполнения 110, или их часть.In one embodiment of the invention, the security gateway 130 takes over the function of verifying the application 120 , instead of the runtime environment 110. In this embodiment, the security gateway 130 will perform all the same actions for verifying the application 120 that the runtime environment 110 performs, or a part of them.

В предпочтительном варианте реализации изобретения среда исполнения 110 выполнена с возможностью обмена данными со шлюзом безопасности 130 путем сетевого обмена данными, в том числе по защищенному каналу связи, а также с возможностью формирования перечня информации загружаемого или запускаемого приложения 120 для проведения верификации, в рамках которой проверяется подлинность и целостность приложения при его загрузке в среду исполнения 110, аттестации, подтверждающей подлинность и целостность приложения при его запуске, и/или предоставления этого перечня информации в шлюз безопасности 130, в том числе в связи с обменом данными, инициированным приложением 120. Стоит отметить, что указанный перечень информации включает по меньшей мере один из следующих материалов: манифест, идентификатор, подпись и сертификаты приложения 120. Дополнительно перечень информации может включать сведения о пользователе, его идентификаторы (логин и пароль), другие сертификат(ы).In a preferred embodiment of the invention, the runtime environment 110 is configured to exchange data with the security gateway 130 via network data exchange, including via a secure communication channel, and to generate a list of information of the downloaded or launched application 120 for verification, which verifies the authenticity and integrity of the application when it is downloaded to the runtime environment 110 , attestation, which confirms the authenticity and integrity of the application when it is launched, and/or providing this list of information to the security gateway 130 , including in connection with the exchange of data initiated by the application 120. It is worth noting that the specified list of information includes at least one of the following materials: a manifest, an identifier, a signature and certificates of the application 120. Additionally, the list of information may include information about the user, his identifiers (login and password), other certificate(s).

Таким образом, верификация (проверка) приложения 120 перед его установкой по меньшей мере включает проверку целостности и/или подлинности (аутентичности) приложения 120, а также проверку соответствия сертификатов приложения 120. Другими словами, осуществляется по меньшей мере проверка загруженного пакета файлов, либо APK-файла (англ. android package kit file) на соответствие тому, что:Thus, verification (checking) of the application 120 before its installation at least includes checking the integrity and/or authenticity of the application 120 , as well as checking the compliance of the application 120 certificates. In other words, at least the downloaded file package, or APK file (English: Android package kit file), is checked for compliance with the following:

• приложение 120 загружено с легитимной (доверенной) площадки;• application 120 is downloaded from a legitimate (trusted) site;

• все лицензии и сертификаты приложения 120 действительные;• all licenses and certificates of the 120 application are valid;

• манифест приложения легитимный (действительный) и соответствует загруженному приложению 120, а также содержимое манифеста не было изменено;• the application manifest is legitimate (valid) and matches the loaded application 120 , and the contents of the manifest have not been modified;

• производитель (вендор) приложения 120 указан верно;• the manufacturer (vendor) of application 120 is indicated correctly;

• пакет файлов или APK-файл подписан сертифицированной стороной либо самим производителем ТС 100, где подпись подтверждает, что приложение 120 соответствует требованиям ТС.• the file package or APK file is signed by a certified party or by the TS 100 manufacturer itself, where the signature confirms that the application 120 complies with the TS requirements.

Аттестация приложения 120 в свою очередь включает по меньшей мере:The certification of Appendix 120 in turn includes at least:

• проверку соответствия приложения 120 сертификату, выданному ответственной стороной;• verification of compliance of Appendix 120 with the certificate issued by the responsible party;

• проверку манифеста на соответствие всех указанных в нем прав доступа (разрешений на взаимодействие с другими приложениями и компонентами 135 ТС 100);• checking the manifest for compliance with all access rights specified in it (permissions for interaction with other applications and components 135 TS 100 );

• проверка значения хеша бинарного файла приложения 120 и его подписи.• checking the hash value of the application binary file 120 and its signature.

Необходимость проверки манифеста заключается в том, что приложение 120 может быть целостным, но при этом количество прав доступа в манифесте может быть изменено как в большую, так и в меньшую сторону, чем изначально было указано производителем приложения 120 и подтверждено производителем ТС. При этом производителем приложения 120 и ТС 100 может быть одно и то же лицо.The need to verify the manifest stems from the fact that application 120 may be complete, but the number of access rights in the manifest may be modified, either more or less than originally specified by the application 120 manufacturer and confirmed by the vehicle manufacturer. Moreover, the manufacturer of application 120 and vehicle 100 may be the same person.

В одном из вариантов реализации, когда среда исполнения 110 представлена локальным вычислительным устройством, например, информационно-развлекательной системой ТС, функция аттестации приложения 120 может быть реализована путем формирования в среде исполнения 110 и отправки в шлюз безопасности 130 (например в модуль аттестации 132) подписанного криптографическим ключом подтверждения подлинности и целостности запускаемого приложения и его манифеста. В ответ от шлюза безопасности 130 (например от модуля аттестации 132) среда исполнения 110 получает криптографический материал (например, ключ для формирования MAC, сессионный ключ, токен или сертификат), обеспечивающий дальнейшую аутентификацию сетевого соединения приложения, установленного от имени приложения 120. Среда исполнения 110 сохраняет полученный криптографический материал в привязке к соответствующему приложению 120. В дальнейшем приложение 120 устанавливает при помощи упомянутого криптографического материала соединения с шлюзом безопасности 130. В одном из вариантов реализации соединение устанавливается с брокером сообщений MQTT 134 (далее – брокер MQTT). Брокер MQTT 134 является модулем, находящимся в составе шлюза безопасности 130 и предназначенным для отправки команд к компонентам 135 ТС 100, например к ЭБУ 180, через конвертор CAN-MQTT 136.In one implementation option, when the runtime environment110represented by a local computing device, such as a vehicle's infotainment system, the application attestation function120can be implemented by generating in the runtime environment110and sending to the security gateway130(for example, in the certification module132) signed with a cryptographic key to confirm the authenticity and integrity of the launched application and its manifest. In response from the security gateway130(for example, from the certification module132) execution environment110obtains cryptographic material (e.g., a MAC key, session key, token, or certificate) that further authenticates the network connection of the application established on behalf of the application120. Runtime environment110stores the received cryptographic material in connection with the corresponding application120. In the future, the application120establishes connections with the security gateway using the mentioned cryptographic material130In one implementation, a connection is established with an MQTT message broker.134(hereinafter referred to as the MQTT broker). MQTT broker134is a module that is part of the security gateway130and designed to send commands to components135TS100, for example to the ECU180, via a CAN-MQTT converter136.

В еще одном варианте реализации, когда среда исполнения 110 представлена облачным сервисом 140, функция аттестации приложения 120 полностью исполняется в облачном сервисе 140, а шлюз безопасности 130 доверяет результатам проведенной облачным сервисом 140 аттестации и полученному криптографическому материалу, включаемому в сообщения и запросы (например, MQTT) от приложения 120 облачного сервиса 140.In another embodiment, when the execution environment 110 is represented by the cloud service 140 , the attestation function of the application 120 is completely executed in the cloud service 140 , and the security gateway 130 trusts the results of the attestation performed by the cloud service 140 and the received cryptographic material included in messages and requests (e.g., MQTT) from the application 120 of the cloud service 140 .

В другом варианте реализации, когда среда исполнения 110 реализуется на мобильном устройстве 150, функция аттестации выполняется путем взаимодействия компонента аттестации операционной системы мобильного устройства 150 и облачного сервиса производителя операционной системы (не представлен на Фиг. 1), при этом результат аттестации предоставляется приложению 120 напрямую. Приложение 120 в свою очередь передает результат аттестации, подтверждающий подлинность и целостность приложения, и его манифест шлюзу безопасности 130 при установке сетевого соединения.In another embodiment, when the execution environment 110 is implemented on the mobile device 150 , the attestation function is performed by interaction between the attestation component of the operating system of the mobile device 150 and the cloud service of the operating system manufacturer (not shown in Fig. 1 ), and the attestation result is provided directly to the application 120. The application 120 , in turn, transmits the attestation result, confirming the authenticity and integrity of the application, and its manifest to the security gateway 130 when establishing a network connection.

В общем варианте реализации шлюз безопасности 130 выполнен с возможностью осуществления контроля взаимодействий между приложением 120, исполняющемся в рамках среды исполнения 110, и по меньшей мере одним компонентом 135, например ЭБУ 180. Для осуществления своего назначения шлюз безопасности 130 обладает возможностью осуществлять по меньшей мере:In a general embodiment, the security gateway 130 is configured to monitor interactions between the application 120 running within the execution environment 110 and at least one component 135 , such as the ECU 180. To perform its purpose, the security gateway 130 has the ability to perform at least:

• обмен данными, в том числе по защищенному каналу связи, со средой исполнения 110, с другими компонентами ТС и другими средами исполнения (при их наличии), в том числе внешними средами исполнения;• data exchange, including via a secure communication channel, with the execution environment 110, with other components of the TS and other execution environments (if any), including external execution environments;

• проверку целостности операционной системы среды исполнения 110 с целью установления доверия к среде исполнения 110;• checking the integrity of the operating system of the execution environment 110 in order to establish trust in the execution environment 110 ;

• аттестацию приложения 120 на основании полученного перечня информации от среды исполнения 110, при этом во время аттестации осуществляется проверка подлинности и целостности приложения 120;• certification of application 120 based on the received list of information from execution environment 110 , while during certification the authenticity and integrity of application 120 is checked;

• формирование подтверждения об успешном прохождении аттестации приложения, которое включает криптографический материал (например, токен аттестации);• generation of confirmation of successful completion of application certification, which includes cryptographic material (for example, an certification token);

• аутентификацию сетевого соединения приложения 120.• authentication of the network connection of the application 120 .

Стоит отметить, что для удобства восприятия далее по тексту будет использован частный вариант реализации криптографических материалов, а именно токен аттестации. В тоже время криптографические материалы не ограничиваются этим вариантом реализации и включают другие сущности, примеры которых были представлены ранее.It's worth noting that, for ease of understanding, a specific implementation of cryptographic materials, namely an attestation token, will be used in the following text. However, cryptographic materials are not limited to this implementation and include other entities, examples of which were presented earlier.

В одном из вариантов реализации шлюз безопасности 130 подписывает токен аттестации криптографическим ключом, что позволяет обеспечить целостность токена аттестации при сетевом взаимодействии приложения 120 с компонентами ТС, в частности с самим шлюзом безопасности 130.In one embodiment, the security gateway 130 signs the attestation token with a cryptographic key, which helps ensure the integrity of the attestation token during network interaction between the application 120 and the components of the TS, in particular with the security gateway 130 itself.

Шлюз безопасности 130 при аутентификации сетевого соединения с приложением 120 получает перечень информации (в частности содержащий манифест или информацию из него) от среды исполнения 110 либо самого приложения 120, анализирует его в рамках аттестации, сохраняет перечень информации (в частности, манифест) и отправляет в ответ криптографический материал (например, токен аттестации), который обеспечивает дальнейшую аутентификацию сетевого соединения, установленного от имени приложения 120, прием (например, посредством брокера сообщений MQTT 134) запроса к ЭБУ 180 от приложения 120 и осуществление контроля соответствия упомянутого запроса разрешениям из манифеста приложения с последующим принятием решения о разрешении либо отклонении упомянутого запроса к ЭБУ 180. В случае принятия решения о разрешении шлюз безопасности 130 при помощи конвертора CAN-MQTT 136 преобразует запрос в команду к ЭБУ 180.The security gateway 130, when authenticating the network connection with the application 120, receives a list of information (in particular, containing the manifest or information from it) from the execution environment 110 or the application 120 itself, analyzes it within the framework of attestation, stores the list of information (in particular, the manifest) and sends in response cryptographic material (for example, an attestation token), which ensures further authentication of the network connection established on behalf of the application 120 , the reception (for example, via the MQTT message broker 134 ) of a request to the ECU 180 from the application 120 and the implementation of control over the compliance of said request with the permissions from the application manifest, followed by making a decision on allowing or rejecting said request to the ECU 180. In the event of a decision on allowing, the security gateway 130 , using the CAN-MQTT converter 136, converts the request into a command to the ECU 180 .

ЭБУ 180, например ЭБУ для управления блокировкой дверей, выполнен с возможностью взаимодействия со шлюзом безопасности 130 для приема команд через конвертор CAN-MQTT 136, который преобразовывает получаемые запросы от брокера MQTT 134 в команды к ЭБУ 180.The ECU 180 , for example the ECU for controlling the door lock, is configured to interact with the security gateway 130 to receive commands via the CAN-MQTT converter 136 , which converts the received requests from the MQTT broker 134 into commands to the ECU 180 .

Рассмотрим пример взаимодействия элементов системы контроля, представленной на Фиг. 1 и реализующейся в рамках транспортного средства 100. Let us consider an example of the interaction of elements of the control system shown in Fig. 1 and implemented within the framework of vehicle 100 .

Допустим, что приложение 120 ранее уже было загружено и установлено в среду исполнения 110, а также аттестовано шлюзом безопасности 130, при этом среда исполнения 110 является доверенной средой исполнения, которая обеспечивает надежный запуск и верификацию приложения 120. Среда исполнения 110 формирует перечень информации для аттестации с целью подтверждения подлинности и целостности запускаемого или запущенного приложения 120, и предоставляет указанный перечень информации шлюзу безопасности 130 в связи с установлением сетевого соединения от запускаемого или запущенного приложения 120. Перечень информации, предоставляемый в шлюз безопасности 130, включает по меньшей мере манифест приложения, который содержит информацию о предоставляемых приложению 120 правах доступа к по меньшей мере одному компоненту 135. Шлюз безопасности 130 со своей стороны либо проводит аттестацию приложения 120 на основании полученной информации, либо, если аттестация была ранее проведена при загрузке приложения 120, проводит аутентификацию с целью установления сетевого соединения (сессию) для обмена данными с упомянутым приложением 120. Если ранее приложение было аттестовано, то в получаемом перечне информации присутствует токен аттестации, с помощью которого и проводится аутентификация. Шлюз безопасности 130 обладает сведениями (например, в виде правил) о правах доступа, которыми обладает приложение 120. Сведения о правах доступа приложения ранее были сформированы шлюзом безопасности 130 при аттестации приложения. Далее шлюз безопасности 130 проверяет полученный токен аттестации, а также сверяет полученный манифест со сведениями о правах доступа приложения 120, которые у него есть, и в случае успешной проверки устанавливает сессию с приложением 120. В рамках сессии приложение 120 передает запрос для ЭБУ 180 через шлюз безопасности 130, а шлюз безопасности 130 в свою очередь преобразует запросы в команды и направляет их к ЭБУ 180. В ответ от ЭБУ 180 шлюз безопасности 130 получает данные для приложения 120, которые преобразует в понятный для приложения 120 вид, и передает ему.Let us assume that the application 120 has previously been downloaded and installed into the execution environment 110 , and also certified by the security gateway 130 , wherein the execution environment 110 is a trusted execution environment that ensures the reliable launch and verification of the application 120 . The execution environment 110 generates a list of information for certification in order to confirm the authenticity and integrity of the launched or started application 120 , and provides the specified list of information to the security gateway 130 in connection with the establishment of a network connection from the launched or started application 120 . The list of information provided to the security gateway 130 includes at least an application manifest, which contains information about the access rights granted to the application 120 to at least one component 135 . Security gateway 130, for its part, either attests application 120 based on the information received, or, if attestation was previously performed when loading application 120 , performs authentication to establish a network connection (session) for exchanging data with said application 120 . If the application was previously attested, then the received list of information includes an attestation token, which is used for authentication. Security gateway 130 has information (e.g., in the form of rules) about the access rights that application 120 has. Information about the application's access rights was previously generated by security gateway 130 during application attestation. Security gateway 130 then verifies the received attestation token and compares the received manifest with the information about the access rights of application 120 that it has, and if the verification is successful, establishes a session with application 120 . During a session, application 120 transmits a request to ECU 180 via security gateway 130 , and security gateway 130, in turn, converts the requests into commands and forwards them to ECU 180. In response, security gateway 130 receives data from ECU 180 for application 120 , which it converts into a form understandable to application 120 , and transmits it to it.

Например, загруженное в среду исполнения 110 приложение «Двери», содержит манифест, в котором описаны права доступа приложения на взаимодействия (связь) с компонентами ТС (автомобиля), в частности, на отправку запроса на блокировку дверей. Среда исполнения 110 от имени приложения «Двери» устанавливает соединение (сессию) со шлюзом безопасности 130. Шлюз безопасности 130 при помощи токена аттестации выполняет аутентификацию соединения со средой исполнения 110, установленного от имени приложения «Двери». Посредством упомянутого соединения приложение «Двери» передает запрос в шлюз безопасности 130, где запрос включает требование о блокировке дверей. Шлюз безопасности 130 проверяет, что у приложения «Двери» есть право доступа на отправку запроса на блокировку дверей. Далее при успешной проверке указанных прав доступа шлюз безопасности 130 при помощи конвертора CAN-MQTT 136 осуществляет преобразование запроса в команду в формате CAN, направляет команду в CAN-шину, а затем передает команду в соответствующий ЭБУ, отвечающий за управление дверьми, для ее выполнения. Пример работы брокера MQTT 134 и конвертора CAN-MQTT 136 представлен при описании Фиг. 2.For example, the "Doors" application loaded into runtime environment 110 contains a manifest describing the application's access rights to interact (communicate) with vehicle (car) components, in particular, to send a request to lock the doors. Runtime environment 110, on behalf of the "Doors" application, establishes a connection (session) with security gateway 130. Security gateway 130 uses an attestation token to authenticate the connection with runtime environment 110 established on behalf of the "Doors" application. Through this connection, the "Doors" application transmits a request to security gateway 130 , where the request includes a request to lock the doors. Security gateway 130 verifies that the "Doors" application has the access rights to send a request to lock the doors. Upon successful verification of the specified access rights, security gateway 130, using CAN-MQTT converter 136 , converts the request into a CAN command, sends the command to the CAN bus, and then transmits the command to the appropriate door control unit for execution. An example of the operation of MQTT broker 134 and CAN-MQTT converter 136 is shown in the description of Fig. 2 .

Стоит отметить, что в случае, если со шлюзом безопасности 130 установлено сетевое соединение от имени приложения, у которого нет прав доступа на запрашиваемую им функцию, то шлюз безопасности 130 при проверке прав доступа указанного приложения, ассоциированного с текущем сетевым соединением, формирует ошибку доступа и команда компоненту 135 ТС 100, например ЭБУ 180, не передается.It is worth noting that if a network connection is established with security gateway 130 on behalf of an application that does not have access rights to the function it requests, then security gateway 130, when checking the access rights of the specified application associated with the current network connection, generates an access error and the command is not transmitted to component 135 of TS 100 , for example, ECU 180 .

В результате обеспечивается возможность запуска любых приложений в транспортном средстве безопасным способом, то есть описанная технология позволяет расширить функциональные возможности транспортного средства с сохранением высокого уровня информационной и функциональной безопасности. В частности, технология позволяет:As a result, it becomes possible to launch any application securely in a vehicle. This technology allows for the expansion of vehicle functionality while maintaining a high level of information and functional security. Specifically, the technology enables:

• исключить влияние приложений, в том числе сторонних приложений, на электронные блоки управления (ЭБУ) за пределами явно объявленной функции; • eliminate the influence of applications, including third-party applications, on electronic control units (ECUs) beyond the explicitly declared function;

• предотвратить тайный сбор приложениями данных, хранящихся на ТС, например, личных данных пользователей ТС; • prevent applications from secretly collecting data stored on the vehicle, such as personal data of vehicle users;

• реализовывать поддержку раздельных политик использования как ТС, так и его компонентов, например режимы стоянки и движения ТС; • implement support for separate policies for the use of both the vehicle and its components, for example, parking and vehicle movement modes;

• обеспечивать поддержку части схемы управления ТС подписками. • provide support for part of the TS subscription management scheme.

Примерами данных, которые могут собираться, являются маршруты передвижения ТС, эксплуатационные данные ТС. Потеря таких данных может нанести ущерб пользователю, как для его физической безопасности, так и для экономической безопасности (например, повлиять на повышение стоимости страхового полиса). Предлагаемый способ межблочного контроля доступа приложений к компонентам ТС позволяет улучшить безопасность ТС путем устранения указанных проблем.Examples of data that may be collected include vehicle routes and vehicle operating data. The loss of such data may harm the user, both in terms of their physical safety and economic security (for example, by increasing the cost of their insurance policy). The proposed method for inter-unit application access control to vehicle components improves vehicle security by addressing these issues.

В еще одном варианте реализации настоящего изобретения во время межблочного контроля доступа приложений к по меньшей мере одному компоненту транспортного средства для или во время их взаимодействия шлюз безопасности 130 учитывает еще один критерий доступа к компонентам 135 транспортного средства 100. Таким критерием является роль пользователя транспортного средства. Примерами ролей пользователя являются: владелиц ТС (роль «owner»), водитель ТС (роль «driver»), обслуживающие лицо, механик (роль «engineer»). Роли могут обладать различными правами доступа, а также присваиваться различным пользователям. Например, роль «driver» может устанавливаться по умолчанию для любого водителя транспортного средства. Кроме того, каждая роль может быть наделена и определенными привилегиями. Так, например, при активации роли «owner» пользователь имеет право отправлять сигнал «открыть багажник/капот», а при активации роли «driver» такого права нет. В другом примере пользователь с ролью «owner» и наличием для этой роли подписки «зимний пакет» может осуществлять отправление сигналов (команд) к компонентам 135 для включения функций обогрева руля и/или сидений ТС. В еще одном примере пользователя (водителя) с ролью «owner» есть привилегия (право) активировать компонент «автопилот» (ADAS) 190, а у водителя с ролью «driver» такого права нет. Стоит отметить, что роль присваивается водителю в тот момент, когда он осуществляет аутентификацию в ТС 100 и в этот момент активируются права, доступные соответствующей роли. Также роль может быть изменена, но для этого необходимо будет пройти заново аутентификацию.In another embodiment of the present invention, during inter-unit access control of applications to at least one component of the vehicle for or during their interaction, the security gateway 130 takes into account another criterion for access to components 135 of the vehicle 100. Such a criterion is the role of the vehicle user. Examples of user roles are: the vehicle owner (role "owner"), the vehicle driver (role "driver"), the service person, the mechanic (role "engineer"). Roles may have different access rights and be assigned to different users. For example, the role "driver" may be set by default for any driver of the vehicle. In addition, each role may be endowed with certain privileges. For example, when the role "owner" is activated, the user has the right to send the signal "open the trunk/hood", but when the role "driver" is activated, this right is not granted. In another example, a user with the "owner" role and the "winter package" subscription can send signals (commands) to components 135 to activate the vehicle's heated steering wheel and/or seat heating functions. In yet another example, a user (driver) with the "owner" role has the privilege (right) to activate the "autopilot" (ADAS) component 190 , while a driver with the "driver" role does not. It's worth noting that the driver's role is assigned when they authenticate with vehicle 100 , and at that moment, the rights available to the corresponding role are activated. The role can also be changed, but doing so requires reauthentication.

В другом варианте реализации настоящего изобретения во время межблочного контроля доступа приложений к по меньшей мере одному компоненту транспортного средства шлюз безопасности 130 учитывает еще один критерий для определения доступа к компонентам 135 транспортного средства 100 и возможности передачи сигнала и в последствии команды на один из компонентов 135. Таким критерием является состояние самого ТС 100. Примерами состояний ТС 100 являются следующие: Closed (ТС в режиме полной блокировки, двигатель выключен), Opened (ТС в режиме разблокирован, двигатель выключен), Ready to drive (ТС в режиме разблокирован, двигатель запущен), Drive (ТС в режиме движения), Parking (ТС в режиме ожидания движения или блокировки). Критерий состояния ТС также может влиять на работу шлюза безопасности 130 во время определения доступа (передачи сигнала и/или команды) приложения 120 к компонентам 135.In another embodiment of the present invention, during the inter-unit control of application access to at least one component of the vehicle, the security gateway 130 takes into account another criterion for determining access to the components 135 of the vehicle 100 and the possibility of transmitting a signal and subsequently a command to one of the components 135. Such a criterion is the state of the vehicle 100 itself. Examples of the states of the vehicle 100 are the following: Closed (vehicle in full lock mode, engine off), Opened (vehicle in unlocked mode, engine off), Ready to drive (vehicle in unlocked mode, engine running), Drive (vehicle in driving mode), Parking (vehicle in waiting mode for movement or locking). The criterion of the vehicle state can also affect the operation of the security gateway 130 during the determination of access (transmission of a signal and/or command) of an application 120 to the components 135 .

На Фиг. 2 представлен пример сетевого обмена между по меньшей мере одним приложением, например приложением 120, и одним из компонентов 135 ТС 100, а именно с электронным блоком управления 180. Другими словами, представлен пример работы брокера MQTT 134 и конвертора CAN-MQTT 136.OnFig. 2an example of network communication between at least one application, such as an application, is presented120, and one of the components135TS100, namely with an electronic control unit180In other words, an example of how an MQTT broker works is presented.134 and CAN-MQTT converter 136.

Стоит отметить, что вначале приложение 120 запускается в среде исполнения 110 с установленными правами пользователя и, соответственно, дальнейшее взаимодействие приложения 120 с компонентами 135 ТС 100 осуществляется в рамках запущенного процесса после запуска приложения 120. It is worth noting that initially the application 120 is launched in the execution environment 110 with the established user rights and, accordingly, further interaction of the application 120 with the components 135 of the TS 100 is carried out within the framework of the launched process after the launch of the application 120 .

Как упоминалось ранее, брокер MQTT 134 и конвертор CAN-MQTT 136 являются частью шлюза безопасности 130 и предназначены для преобразования запросов от приложений 120 к компонентам 135 ТС 100, в частности, к ЭБУ 180. As mentioned earlier, the MQTT broker 134 and the CAN-MQTT converter 136 are part of the security gateway 130 and are designed to convert requests from applications 120 to components 135 of the vehicle 100 , in particular, to the ECU 180 .

На Фиг. 2 представлено три ЭБУ: ЭБУ 180а, ЭБУ 180б и ЭБУ 180в. ЭБУ 180а отвечает за взаимодействие с таким компонентом ТС, как контроллер скорости ТС. ЭБУ 180б отвечает за взаимодействие с таким компонентом ТС, как двери ТС. ЭБУ 180в отвечает за взаимодействие с таким компонентом ТС, как фары ТС. Каждый ЭБУ взаимодействует с брокером MQTT 134 через конвертор CAN-MQTT 136. Взаимодействие включает получение тех или иных команд, их выполнение при помощи ЭБУ и передачу в ответ результатов выполненных команд. Fig. 2 shows three ECUs: ECU 180a , ECU 180b , and ECU 180c . ECU 180a is responsible for interacting with the vehicle's speed controller. ECU 180b is responsible for interacting with the vehicle's doors. ECU 180c is responsible for interacting with the vehicle's headlights. Each ECU communicates with MQTT broker 134 via CAN-MQTT converter 136. This communication involves receiving commands, executing them using the ECU, and transmitting the results of the executed commands in response.

Брокер MQTT 134 включает идентификаторы объекта доступа (от англ. MQTT topic) компонент ТС, с которыми возможно взаимодействие. Например, с такими компонентами ТС, как контроллер скорости, двери и фары ТС. Идентификатор объекта доступа для контроллера скорости имеет вид «speed», для дверей – «doors» и для фар - «light». Каждый идентификатор определяет возможные сигналы команд, которые могут передаваться на компоненты 135 ТС 100 через соответствующие ЭБУ 180.MQTT broker 134 includes access object identifiers (MQTT topic identifiers) of vehicle components with which interaction is possible. For example, these include vehicle components such as the speed controller, doors, and headlights. The access object identifier for the speed controller is "speed," for doors it is "doors," and for headlights it is "light." Each identifier defines possible command signals that can be transmitted to components 135 of vehicle 100 via the corresponding ECUs 180 .

Приложение 120 передает запрос брокеру MQTT 134 о необходимых действиях, при этом приложение передает запрос путем отправки сообщения с заданным идентификатором объекта доступа. Например, приложению 120 необходимо закрыть дверь. Приложение 120 формирует запрос, содержащий информацию «close», и добавляет в него идентификатор «doors», после чего отправляет сообщение «close» с идентификатором «doors», относящееся к компоненту «двери» ТС, в брокер MQTT 134. Далее конвертор CAN-MQTT 136 преобразует записанное сообщение «close» в команду (сигнал) и направит команду к соответствующему ЭБУ, в данном случае к ЭБУ 180б. После того как ЭБУ 180б выполнил команду, в обратном направлении отправляется сигнал о выполнении команды, который преобразуется обратно в сообщение, а приложение 120 осуществляет чтение информации о результате выполнения команды.Application 120 sends a request to MQTT broker 134 for the required actions. The application sends the request by sending a message with a specified access object identifier. For example, application 120 needs to close a door. Application 120 generates a request containing the "close" information and adds the "doors" identifier to it. It then sends a "close" message with the "doors" identifier, which refers to the vehicle's "doors" component, to MQTT broker 134. CAN-MQTT converter 136 then converts the recorded "close" message into a command (signal) and forwards the command to the appropriate ECU, in this case, ECU 180b . After ECU 180b executes the command, a command execution signal is sent back, which is converted back into a message, and application 120 reads the command execution result information.

Стоит отметить, что приложение 120 передает запросы брокеру MQTT 134, как упоминалось ранее, в рамках открытой сессии со шлюзом безопасности 130. Сессия между приложением 120 и брокером MQTT 134 формируется следующим образом. Приложение 120 отправляет запрос (пакет CONNECT) на соединение с брокером MQTT 134. Запрос содержит аутентификационные данные, которые включают по меньшей мере подтверждение успешного прохождения аттестации (криптографический материал). В качестве дополнительной авторизационной информацией запрос может содержать сведения о пользователе, сертификат(ы) и пр. Брокер MQTT 134 проверяет полученный перечень информации и в случае успешной проверки открывает сессию с приложением 120. Подтверждение об успешной или неуспешной проверке отправляется процессу посредством отправки пакета CONNACK.It is worth noting that application 120 transmits requests to MQTT broker 134, as mentioned earlier, within the framework of an open session with security gateway 130 . The session between application 120 and MQTT broker 134 is formed as follows. Application 120 sends a request (CONNECT packet) to connect to MQTT broker 134 . The request contains authentication data, which includes at least confirmation of successful attestation (cryptographic material). As additional authorization information, the request may contain user information, certificate(s), etc. MQTT broker 134 verifies the received set of information and, if the verification is successful, opens a session with application 120 . Confirmation of successful or unsuccessful verification is sent to the process by sending a CONNACK packet.

Во время проверки брокер MQTT 134 проверят соответствуют ли права приложения запросу приложения. Ранее при аттестации приложения 120 шлюз безопасности 130 на основании манифеста приложения определял, какими правами обладает приложение 120. Например, приложение 120 запросило права на чтение и запись данных с идентификатором «doors», чтение данных с идентификатором «speed» и запись данных с идентификатором «light». Соответственно, брокер MQTT 134 проверит указанный запрос на его соответствие правам приложения, после чего разрешит или отклонит соответствующие действия.During validation, MQTT broker 134 will check whether the application's permissions match the application request. Previously, when attesting application 120, security gateway 130 determined the permissions of application 120 based on the application manifest. For example, application 120 requested permissions to read and write data with the ID "doors," read data with the ID "speed," and write data with the ID "light." Accordingly, MQTT broker 134 will check the request to ensure it matches the application's permissions and then allow or deny the appropriate actions.

В еще одном частном варианте реализации аутентификация и авторизация прав доступа будет разделена на две части. Другими словами, отдельно авторизация на чтение данных и отдельно на запись данных. В этом случае аутентификация и авторизация на чтение данных с идентификаторами объектов доступа проводится в рамках сессии (как и в ранее описанном варианте), а аутентификация проводится каждый раз при проведении операции записи. В этом случае приложение 120 подписывается на чтение всех данных с соответствующими идентификаторами объектов доступа. После приложение читает данные с соответствующим идентификатором объекта доступа в рамках сессии. При этом каждый раз, когда приложение 120 отправляет данные в брокер MQTT 134, приложение 120 подписывает указанные данные криптографическим материалом, полученным ранее при успешной аттестации. В свою очередь брокер MQTT 134 проверяет подпись сообщения (аутентифицирует) при его получении и при успешной проверке осуществляет дальнейшую трансляцию через конвертор CAN-MQTT 136 в ЭБУ 180. Таким образом, брокер MQTT 134 каждый раз аутентифицирует приложение 120, отправившее сообщение, подтверждая его подлинность.In another specific implementation option, authentication and authorization of access rights will be split into two parts. In other words, authorization for reading data is separate from authorization for writing data. In this case, authentication and authorization for reading data with access object identifiers is performed within a session (as in the previously described option), and authentication is performed each time a write operation is performed. In this case, application 120 subscribes to read all data with the corresponding access object identifiers. The application then reads data with the corresponding access object identifier within the session. Moreover, each time application 120 sends data to MQTT broker 134 , application 120 signs the specified data with the cryptographic material previously obtained during successful attestation. In turn, MQTT broker 134 verifies the message signature (authenticates) upon receipt and, if verified successfully, further transmits it through CAN-MQTT converter 136 to ECU 180 . Thus, the MQTT broker 134 authenticates the application 120 that sent the message each time, confirming its authenticity.

На Фиг. 3 представлена схема, иллюстрирующая пример работы способа межблочного контроля доступа приложений к по меньшей мере одному компоненту транспортного средства. Fig. 3 shows a diagram illustrating an example of the operation of a method for inter-unit control of application access to at least one component of a vehicle.

Допустим, что требуется запустить приложение, позволяющие взаимодействовать с механизмом, отвечающим за блокировку и разблокировку дверей автомобиля (далее – приложение «двери»).Let's assume that you need to launch an application that allows you to interact with the mechanism responsible for locking and unlocking the car doors (hereinafter referred to as the "doors" application).

Сценарий межблочного контроля доступа приложений к компоненту транспортного средства включает шаги, которые можно условно разделить на три блока.The scenario for inter-block application access control to a vehicle component includes steps that can be conditionally divided into three blocks.

Первый блок шагов является подготовительным и отвечает за установку приложения 120 в среду исполнения 110 ТС 100, а также верификации приложения 120, при этом первый блок шагов включает шаги 301304.The first block of steps is preparatory and is responsible for installing the application 120 into the execution environment 110 of the TS 100 , as well as verifying the application 120 , wherein the first block of steps includes steps 301–304 .

Шаг 301. Среда исполнения 110 начинает загрузку приложения «двери». Стоит отметить, что загрузка приложения в среду исполнения 110 может быть осуществлена как через шлюз безопасности 130, так без него. Например, среда исполнения 110 свяжется со сторонним сервером 160, на котором находится загрузочный файл приложения 120, либо приложение 120 будет загружено пользователем напрямую в среду исполнения 110.Step 301. Runtime 110 begins downloading the "door" application. It's worth noting that the application can be downloaded to runtime 110 either through security gateway 130 or without it. For example, runtime 110 will contact third-party server 160 , which hosts the application download file 120 , or the user will download application 120 directly to runtime 110 .

Шаг 302. Во время установки среда исполнения 110 верифицирует информацию о приложении 120 и формирует перечень информации для его последующей аттестации. Перечень информации включает по меньшей мере одно из следующих материалов: манифест, идентификатор и сертификаты приложения 120. В частном случае реализации перечень информации включает часть информации из манифеста и/или сертификатов приложения 120, а именно: название приложения, ID приложения, его версию, размер, хэш, дату установки, ID устройства и пр. Среда исполнения 110 загружает манифест и сертификаты вместе с приложением «двери». Кроме того, информация для перечня информации может быть получена от внутренних сервисов ТС 100, в частности, среды исполнения 110.Step 302. During installation, runtime environment 110 verifies information about application 120 and generates a list of information for its subsequent certification. The list of information includes at least one of the following materials: a manifest, an identifier, and certificates of application 120. In a particular implementation case, the list of information includes part of the information from the manifest and/or certificates of application 120 , namely: the name of the application, the application ID, its version, size, hash, installation date, device ID, etc. Runtime environment 110 downloads the manifest and certificates together with the "door" application. In addition, information for the list of information can be obtained from the internal services of TS 100 , in particular, runtime environment 110 .

Шаг 303. Среда исполнения 110 передаёт перечень информации в модуль аттестации 132, запущенный на шлюзе безопасности 130. Step 303 . Runtime 110 passes the list of information to the attestation module 132 running on the security gateway 130 .

Шаг 304. Шлюз безопасности 130 осуществляет верификацию (проверку) приложения «двери», путем проверки полученной информации из перечня информации с целью установления подлинности и целостности приложения и в случае успешных проверок добавляет информацию о приложении «двери», в среде исполнения 110. Параметрами указанных проверок являются по меньшей мере время и доверие к среде исполнения 110.Step 304. Security gateway 130 verifies (checks) the door application by checking the received information from the information list in order to establish the authenticity and integrity of the application and, in case of successful checks, adds information about the door application in the execution environment 110. The parameters of these checks are at least time and trust in the execution environment 110 .

Второй блок шагов является аттестационным и отвечает за аттестацию приложения 120 в шлюзе безопасности 130 ТС 100, при этом второй блок шагов включает шаги 305308.The second block of steps is certification and is responsible for certification of application 120 in security gateway 130 of TS 100 , and the second block of steps includes steps 305–308 .

Шаг 305. Среда исполнения 110 осуществляет запуск процесса приложения «двери», в ходе которого собирает актуальную информацию о приложении (название, ID приложения, хэш, манифест с привилегиями, время запуска и пр.). Актуальная информация может быть собрана из нескольких источников, которые могут быть как внутренними источниками ТС 100, так и внешними по отношению к ТС 100. Одним из таких источников может быть «платформенные сервисы аттестации устройств мобильных платформ.Step 305. Runtime 110 launches the "door" application process, during which it collects up-to-date information about the application (name, application ID, hash, manifest with privileges, launch time, etc.). The up-to-date information can be collected from several sources, which can be either internal to TS 100 or external to TS 100. One such source can be "platform device attestation services for mobile platforms."

Шаг 306. Среда исполнения 110 заверяет подлинность собранной информации с помощью криптографических методов, обеспечивающих защиту информации, и передает указанную информацию шлюзу безопасности 130.Step 306 . The execution environment 110 verifies the authenticity of the collected information using cryptographic methods that ensure the protection of the information, and transmits the specified information to the security gateway 130 .

Шаг 307. Шлюз безопасности 130 осуществляет аттестацию (подтверждение) приложения «двери», путем проверки полученной от среды исполнения 110 информации из перечня информации с целью подтверждения подлинности и целостности приложения и в случае успешной проверки анализируют привилегии приложения «двери», указанные в манифесте. В ходе анализа применяется политика безопасности, которая учитывает особенности (контекст) ТС 100 и пользователя. Примерами таких особенностей являются роли текущего пользователя, состояния транспортного средства, статусы подписок, наличие прав доступа, описанных в манифесте. В результате успешной аттестации формируется токен, содержащий подмножество прав доступа, соответствующих приложению согласно манифесту.Step 307. Security gateway 130 verifies (validates) the door application by checking the information received from runtime environment 110 from the information list to confirm the authenticity and integrity of the application. If the verification is successful, it analyzes the door application's privileges specified in the manifest. During the analysis, a security policy is applied that takes into account the context of vehicle 100 and the user. Examples of such contexts include the current user's roles, vehicle states, subscription statuses, and the presence of access rights described in the manifest. As a result of successful attestation, a token is generated containing a subset of the access rights corresponding to the application according to the manifest.

Шаг 308. Шлюз безопасности 130 отправляет ответ среде исполнения 110 об успешном прохождении или не прохождении аттестации. При успешном прохождении ответ содержит криптографический материал, например токен аттестации. Ответ также может быть подписан криптографическим ключом шлюза безопасности 130.Step 308. Security gateway 130 sends a response to runtime 110 regarding the success or failure of attestation. If successful, the response contains cryptographic material, such as an attestation token. The response may also be signed with the cryptographic key of security gateway 130 .

Третий блок шагов является рабочим и отвечает за сетевое взаимодействие приложения 120 через шлюз безопасности 130 с компонентами 135 ТС 100, при этом третий блок шагов включает шаги 309316.The third block of steps is operational and is responsible for the network interaction of the application 120 through the security gateway 130 with the components 135 of the TS 100 , while the third block of steps includes steps 309 - 316 .

Шаг 309. Приложение «двери» после запуска и успешной аттестации осуществляет аутентификацию и/или авторизацию у сервиса Брокер MQTT 134 посредством ранее полученного токена аттестации. Аутентификация может проводится как на сессию при отправке пакета CONNECT с токеном аттестации, так и на каждый запрос, в который должен быть включён токен аттестации, обеспечивающий связь содержимого сообщения и аутентификационных данных процесса (MAC). Step 309. After launching and successfully attesting, the "door" application authenticates and/or authorizes itself with the MQTT Broker 134 service using the previously obtained attestation token. Authentication can be performed either per session by sending a CONNECT packet with the attestation token, or per request, which must include the attestation token, which links the message content to the process authentication data (MAC).

Шаг 310. Брокер MQTT 134 шлюза безопасности 130 информирует приложения «двери» об успешном или не успешном открытии сессии в результате аутентификации. В случае не успешного открытия сессии работа завершается. В противном случае, при успешном открытие сессии, переходят к шагу 311.Step 310. MQTT broker 134 of security gateway 130 informs the door applications about the successful or unsuccessful opening of the session as a result of authentication. If the session is not opened successfully, the work is terminated. Otherwise, if the session is opened successfully, proceed to step 311 .

Шаг 311. Приложение «двери» в рамках текущей сессии запрашивает у брокера MQTT 134 предоставлять ему определенные данные с определенных ЭБУ 180. Другими словами, осуществляет подписку на получение информации об актуальной скорости ТС 100 и текущем статусе дверей ТС 100 к шлюзу безопасности 130, а именно к брокеру MQTT 134. В рамках подписки шлюз безопасности 130 с помощью брокера MQTT 134 в рамках текущей сессии и с учетом запроса на актуальную информацию осуществляет следующие шаги.Step 311. The "doors" application, within the current session, requests MQTT broker 134 to provide it with certain data from certain ECUs 180. In other words, it subscribes to security gateway 130 , namely MQTT broker 134 , to receive information about the current speed of vehicle 100 and the current status of vehicle 100 doors. As part of the subscription, security gateway 130 , using MQTT broker 134 within the current session and taking into account the request for current information, performs the following steps.

Шаг 312. ЭБУ 180а и 180б регулярно отправляют сообщения о текущем статусе в шлюз безопасности 130. Step 312. ECUs 180a and 180b regularly send messages about the current status to security gateway 130 .

В одном из вариантов реализации изобретения регулярность предоставляемых сообщений определяется опытным путем, например, в ходе анализа требований безопасности и с учетом пропускной способности CAN-шины. Например, сообщения могут приходить с периодичностью раз в 10 мсек. или реже.In one embodiment of the invention, the frequency of messages provided is determined empirically, for example, by analyzing safety requirements and taking into account the CAN bus bandwidth. For example, messages may be sent as frequently as every 10 ms or less frequently.

Шаг 313. В шлюзе безопасности 130 конвертор CAN-MQTT 136 принимает все сообщения о текущем статусе от ЭБУ 180а и 180б.Step 313. In security gateway 130, CAN-MQTT converter 136 receives all current status messages from ECUs 180a and 180b .

Шаг 314. Конвертор CAN-MQTT 136 на основании полученных через CAN шину статусов формирует сообщения MQTT и отправляет их в соответствующие очереди брокеру MQTT 134. Step 314. The CAN-MQTT converter 136 generates MQTT messages based on the statuses received via the CAN bus and sends them to the appropriate queues of the MQTT broker 134 .

Шаг 315. Брокер MQTT 134 принимает сообщения от конвертора CAN-MQTT 136 и осуществляет их передачу в приложение «двери», т.к. оно ранее подписалось на соответствующие очереди (speed и doors).Step 315. MQTT broker 134 receives messages from CAN-MQTT converter 136 and transmits them to the "doors" application, since it has previously subscribed to the corresponding queues (speed and doors).

Шаг 316. Приложение «двери» принимает сообщения с актуальной информацией о скорости и статусе дверей, после чего реализует действия в соответствии со своей внутренней логикой работы в ответ на новую информацию.Step 316. The Doors application receives messages with current information about the speed and status of the doors, and then performs actions according to its internal logic in response to the new information.

Примером внутренней логики работы приложения «двери» является следующая логика. Приложение «двери» получило сообщение, что двери открыты, а скорость ТС 100 более 15 км/ч. В ответ на это приложение «двери» формирует команду закрыть двери к ЭБУ 180б. Далее приложение «двери» отправляет команду закрытия дверей к брокеру MQTT 134. Брокер MQTT 134 принимает сообщение (команду закрытия дверей) от приложения «двери», проводит проверку безопасности на основании прав текущей сессии или прикреплённого токена аттестации, и в случае успеха передает сообщение в конвертор CAN-MQTT 136. Конвертор CAN-MQTT 136 применяет политику о возможности отправки команды блоку ЭБУ 180б в CAN шину, и в случае возможности сконвертирует полученное сообщение в CAN фрейм. Конвертор CAN-MQTT 136 отправляет команду, предназначенную для ЭБУ 180б, в CAN шину. ЭБУ 180б принимает команду и выполняет ее, а именно - блокирует двери. ЭБУ 180б переводит внутреннее состояние на работу «двери заблокированы» и отправляет соответствующие уведомления в обратном направлении в CAN шину.An example of the internal logic of the "Doors" application is the following. The "Doors" application received a message that the doors are open and the speed of vehicle 100 is greater than 15 km/h. In response, the "Doors" application generates a command to close the doors to ECU 180b . The "Doors" application then sends the door close command to MQTT broker 134. MQTT broker 134 receives the message (the door close command) from the "Doors" application, performs a security check based on the current session rights or the attached attestation token, and, if successful, passes the message to CAN-MQTT converter 136. CAN-MQTT converter 136 applies the policy regarding the ability to send a command to ECU 180b on the CAN bus and, if possible, converts the received message into a CAN frame. The CAN-MQTT 136 converter sends a command to the CAN bus for the 180b ECU. The 180b ECU receives the command and executes it, specifically locking the doors. The 180b ECU switches its internal state to "doors locked" and sends corresponding notifications back to the CAN bus.

На Фиг. 4 представлена блок-схема, иллюстрирующая пример реализации способа межблочного контроля доступа приложений к по меньшей мере одному компоненту транспортного средства (далее – способ 400). Fig. 4 shows a block diagram illustrating an example of the implementation of a method for inter-unit control of application access to at least one component of a vehicle (hereinafter referred to as method 400 ).

Представленный способ 400 реализуется по меньшей мере с помощью элементов системы контроля, описанной на Фиг. 1. В зависимости от варианта реализации способ 400 может быть выполнен как в рамках последовательно выполняемых шагов, так и с разделением указанных шагов на два этапа, при этом часть шагов будут выполнены параллельно или совместно. При этом выполнение этапов может быть как разнесено во времени, так и осуществлено непрерывно.The presented method 400 is implemented using at least the elements of the control system described in Fig. 1. Depending on the implementation option, the method 400 can be performed either within the framework of sequentially executed steps or by dividing said steps into two stages, with some of the steps being performed in parallel or simultaneously. Moreover, the execution of the stages can be either spaced out in time or performed continuously.

Стоит отметить, что далее при описании способа 400 идет речь о загружаемом приложении 120, в то же время способ 400 также актуален и для запускаемого приложения 120, а также предустановленного приложения (приложения, предоставляемого со средой исполнения). Поэтому стоит понимать, что хоть при описании и говорится о действиях при загрузке приложении 120, но шаги способа 400 также актуальны и при запуске приложения 120, только вместо загрузки приложения 120 подразумевается запуск приложения 120. Кроме того, для случаев, когда приложение предустановлено, загрузка не потребуется.It's worth noting that the description of method 400 below refers to a downloaded application 120 , but method 400 is also applicable to a launched application 120 , as well as a preinstalled application (an application provided with the runtime environment). Therefore, it's important to understand that although the description refers to actions taken when downloading application 120 , the steps of method 400 are also applicable when launching application 120 , only instead of downloading application 120 , it refers to launching application 120 . Furthermore, in cases where the application is preinstalled, downloading is not required.

В одном из вариантов реализации способа шаги первого (предварительного) этапа могут быть выполнены один раз, а шаги второго (основного) этапа могут повториться более одного раза. Также способ 400 может быть реализован без разделения на этапы.In one embodiment of the method, the steps of the first (preliminary) stage may be performed once, while the steps of the second (main) stage may be repeated more than once. Method 400 may also be implemented without dividing it into stages.

Первый (предварительный) этап включает в себя шаги 410, 420, 430, 440 и 450.The first (preliminary) stage includes steps 410 , 420 , 430 , 440 and 450 .

На шаге 410 выполняют загрузку в среду исполнения 110 приложения 120, при этом приложение 120 включает по меньшей мере манифест, содержащий по меньшей мере данные, позволяющие идентифицировать приложение, а также о разрешенных взаимодействиях с компонентами 135, в том числе электронными блоками 180. Информация о разрешенных взаимодействиях приложения 120, содержащаяся в манифесте, как правило, представлена в виде перечня допустимых взаимодействий приложения 120 с компонентами 135 ТС 100, в частности, с электронными блоками управления ТС.At step 410, application 120 is loaded into execution environment 110 , wherein application 120 includes at least a manifest containing at least data that allows identifying the application, as well as information about permitted interactions with components 135 , including electronic units 180. Information about permitted interactions of application 120 , contained in the manifest, is typically presented in the form of a list of permitted interactions of application 120 with components 135 of vehicle 100 , in particular, with electronic control units of vehicle.

В одном из вариантов реализации манифест представляет собой файл, который в свою очередь содержит метаданные о приложении 120 и определяет его поведение на протяжении всего жизненного цикла, в том числе и упомянутую информацию о допустимых взаимодействиях с другими приложениями 120 и компонентами 135 ТС 100.In one embodiment, the manifest is a file that in turn contains metadata about the application 120 and determines its behavior throughout its life cycle, including the aforementioned information about permissible interactions with other applications 120 and components 135 of the TS 100 .

Загрузка приложения 120 в среду исполнения 110 осуществляется по меньшей мере одним из следующих вариантов. В первом варианте компонент ТС 100, такой как информационно-развлекательная система (IVI), осуществляет самостоятельную загрузку с удаленного сервера 160 через сеть Интернет 170. Удаленный сервер 160 является, например, специализированной площадкой для распространения приложений. В одном из вариантов реализации указанная специализированная площадка имеет возможность взаимодействовать со средой исполнения 110 через так называемые «приложения-магазины», которые могут быть установлены на устройствах пользователей. Примерами таких приложений являются такие приложения, как «RuStore», «App Store», «Google Play Store» или «Uptodown». Устройствами пользователей является, например, мобильное устройство 150. Во втором варианте указанная загрузка приложения 120 в среду исполнения 110 осуществляется при помощи шлюза безопасности 130, который дополнительно осуществляет верификацию, во время которой проводится проверка подлинности и целостности загружаемого приложения 120.The loading of the application 120 into the execution environment 110 is carried out by at least one of the following variants. In the first variant, the component of the vehicle 100 , such as the infotainment system (IVI), carries out an independent loading from the remote server 160 via the Internet 170 . The remote server 160 is, for example, a specialized platform for distributing applications. In one of the embodiments, said specialized platform has the ability to interact with the execution environment 110 through so-called "app stores" that can be installed on user devices. Examples of such applications are applications such as "RuStore", "App Store", "Google Play Store" or "Uptodown". The user devices are, for example, a mobile device 150 . In the second variant, said loading of the application 120 into the execution environment 110 is carried out using a security gateway 130 , which additionally carries out verification, during which the authenticity and integrity of the downloaded application 120 is checked.

В одном из вариантов реализации загрузка приложения 120 включает проверку и установку приложения в среде исполнения 110. Указанная проверка (верификация) приложения 120 перед его установкой направлена на проверку целостности и/или подлинности (аутентичности) приложения 120, а также проверку соответствия сертификатов приложения 120. Другими словами, осуществляется по меньшей мере проверка загруженного пакета файлов, либо APK-файла (англ. android package kit file) на соответствие тому, что:In one embodiment, downloading the application 120 includes checking and installing the application in the execution environment 110 . Said checking (verification) of the application 120 before its installation is aimed at checking the integrity and/or authenticity of the application 120 , as well as checking the compliance of the certificates of the application 120 . In other words, at least the downloaded file package, or APK file (English: Android package kit file), is checked for compliance with the following:

• приложение 120 загружено с легитимной (доверенной) площадки;• application 120 is downloaded from a legitimate (trusted) site;

• все лицензии и сертификаты приложения 120 действительные;• all licenses and certificates of the 120 application are valid;

• манифест приложения легитимный (действительный) и соответствует загруженному приложению 120, а также содержимое манифеста не было изменено;• the application manifest is legitimate (valid) and matches the loaded application 120 , and the contents of the manifest have not been modified;

• производитель (вендор) приложения 120 указан верно;• the manufacturer (vendor) of application 120 is indicated correctly;

• пакет файлов или APK-файл подписан сертифицированной стороной либо самим производителем ТС 100, где подпись подтверждает, что приложение 120 соответствует требованиям ТС.• the file package or APK file is signed by a certified party or by the TS 100 manufacturer itself, where the signature confirms that the application 120 complies with the TS requirements.

В еще одном варианте реализации шлюз безопасности 130 выполняет этап верификации приложения 120 перед установкой в среду исполнения 110 и при прохождении указанной проверки передает приложение 120 для установки в среду исполнения 110 либо осуществляет самостоятельную установку приложения 120 в среду исполнения 110.In another embodiment, the security gateway 130 performs a verification step of the application 120 before installation into the execution environment 110 and, upon passing the specified verification, transfers the application 120 for installation into the execution environment 110 or independently installs the application 120 into the execution environment 110 .

Как ранее упоминалось, под средой исполнения 110 понимаются по меньшей мере такие компоненты ТС 100 как:As previously mentioned, the execution environment 110 is understood to include at least the following components of the TS 100 :

(1) информационно-развлекательная система (англ. In-Vehicle Infotainment, IVI);(1) In-Vehicle Infotainment (IVI);

(2) компоненты инструментального кластера, а именно панель приборов, представляющая различную информацию о состояние ТС, например автомобиля, и позволяющая управлять функциями других компонентов ТС;(2) components of the instrument cluster, namely the instrument panel, which presents various information about the state of the vehicle, for example, a car, and allows for the control of the functions of other components of the vehicle;

(3) мультимедийная система;(3) multimedia system;

(4) мобильное устройство, связанное с компонентами ТС через определенное приложение.(4) a mobile device connected to vehicle components via a specific application.

Можно говорить, что средой исполнения 110 может быть любой компонент ТС, который позволяет загрузить и исполнить приложение 120 (стороннее приложение) в рамках операционной системы соответствующего компонента ТС 100 для осуществления назначения приложения 120. Например, приложение 120 может отвечать за управление механизмом блокировки и разблокировки дверей ТС 100, а также за предоставление информации о состоянии дверей ТС 100. В том случае, когда среда исполнения 110 реализуется в рамках мобильного устройства 150, указанное мобильное устройство 150 осуществляет взаимодействия с компонентами 135 ТС 100 через шлюз безопасности 130, при этом связь между ними может быть осуществлена как через проводное (физическое) подключение при помощи кабельного соединения, так и при помощи беспроводных решений (например, Wi-Fi, BLE). Стоит добавить, что средой исполнения 110 может быть не только компонент ТС, но и компонент вне ТС (мобильное устройство, удаленный сервер).It can be said that the execution environment 110 can be any component of the vehicle that allows loading and executing the application 120 (a third-party application) within the operating system of the corresponding component of the vehicle 100 to implement the purpose of the application 120. For example, the application 120 can be responsible for controlling the mechanism for locking and unlocking the doors of the vehicle 100 , as well as for providing information about the state of the doors of the vehicle 100. In the case when the execution environment 110 is implemented within the mobile device 150 , the said mobile device 150 interacts with the components 135 of the vehicle 100 through the security gateway 130 , and the communication between them can be implemented both via a wired (physical) connection using a cable connection, and using wireless solutions (e.g., Wi-Fi, BLE). It is worth adding that the execution environment 110 can be not only a component of the vehicle, but also a component outside the vehicle (a mobile device, a remote server).

В еще одном из вариантов реализации среда исполнения 110 является в том числе доверенным компонентом ТС 100. Под доверенной средой исполнения понимается такая среда исполнения, которая была установлена или загружена при помощи контроля указанных действий (установки или загрузки) шлюзом безопасности 130, при этом шлюз безопасности 130 определяет и проверяет целостность операционной системы среды исполнения 110.In another embodiment, the execution environment 110 is, among other things, a trusted component of the TS 100. A trusted execution environment is understood to be an execution environment that has been installed or loaded by means of monitoring the specified actions (installation or loading) by the security gateway 130 , wherein the security gateway 130 determines and verifies the integrity of the operating system of the execution environment 110 .

На шаге 420 осуществляют сбор (формирование перечня) информации при помощи среды исполнения 110 для проведения аттестации загруженного (или запускаемого) приложения 120. Формируемый перечень включает по меньшей мере следующую информацию:At step 420, information is collected (formed into a list) using the execution environment 110 for conducting the certification of the loaded (or launched) application 120. The formed list includes at least the following information:

• идентификатор приложения 120,• application ID 120 ,

• производитель (вендор) приложения 120,• manufacturer (vendor) of the application 120 ,

• хеш-сумма приложения 120 (актуальная контрольная сумма),• application hash sum 120 (current checksum),

• информация о сертификате,• information about the certificate,

• манифест,• manifesto,

• информация о размере приложения 120,• information about the size of the application 120 ,

• уникальный идентификатор среды исполнения 110 (например, ID IVI),• unique identifier of the execution environment 110 (for example, ID IVI),

• дополнительная информация, например, о ТС или устройстве, с которого загружено приложение. • additional information, for example, about the vehicle or device from which the application was downloaded.

Стоит отметить, что под идентификатором среды исполнения 110 подразумевается идентификатор компонента ТС 100, который реализует среду исполнения 110 для работы приложений 120. После сбора всей необходимой информации сформированный перечень подписывают ключом среды исполнения 110, например криптографическим ключом, и передают на аттестацию в виде запроса на аттестацию в шлюз безопасности 130.It is worth noting that the identifier of the execution environment 110 refers to the identifier of the component of the TS 100 , which implements the execution environment 110 for the operation of applications 120 . After collecting all the necessary information, the generated list is signed with the key of the execution environment 110 , for example, a cryptographic key, and transmitted for certification in the form of an attestation request to the security gateway 130 .

На шаге 430 осуществляют аттестацию загруженного приложения 120 при помощи шлюза безопасности 130 на основании полученной информации от среды исполнения 110. Во время аттестации подтверждают подлинность и целостность приложения 120, в частности, неизменность приложения 120 с момента проверки приложения 120 ответственной стороной. Ответственной стороной может являться как производитель транспортного средства (автопроизводитель), так и сертифицированная третья сторона. Аттестация по меньшей мере включает одно из:At step 430, the downloaded application 120 is attested using the security gateway 130 based on the information received from the execution environment 110. During the attestation, the authenticity and integrity of the application 120 are confirmed, in particular, the immutability of the application 120 since the application 120 was verified by the responsible party. The responsible party may be either the vehicle manufacturer (automaker) or a certified third party. The attestation includes at least one of:

• проверку соответствия приложения 120 сертификату, выданному ответственной стороной;• verification of compliance of Appendix 120 with the certificate issued by the responsible party;

• проверку манифеста на соответствие всех указанных в нем прав доступа (разрешений на взаимодействие с другими приложениями и компонентами ТС 100), т.к. приложение 120 может быть целостным, но при этом количество прав доступа в манифесте может быть изменено как в большую, так и в меньшую сторону, чем изначально было указано производителем (разработчиком) приложения;• checking the manifest for compliance with all access rights specified in it (permissions for interaction with other applications and components of the TS 100 ), since the application 120 may be complete, but at the same time the number of access rights in the manifest may be changed either more or less than was originally specified by the manufacturer (developer) of the application;

• проверка значения хеша бинарного файла приложения 120 и его подписи.• checking the hash value of the application binary file 120 and its signature.

Другими словами, шлюз безопасности 130 при аттестации приложения 120 осуществляет проверку прав доступа приложения 120 в контексте компонентов 135 ТС 100. In other words, the security gateway 130, when attesting the application 120 , checks the access rights of the application 120 in the context of the components 135 of the TS 100 .

В одном из вариантов реализации, помимо проверки прав доступа приложения 120, в контексте компонентов 135 ТС 100 также учитывается и роль пользователя (водителя) ТС 100, согласно которой осуществляется управление ТС 100 в соответствующую сессию работы приложения 120.In one embodiment, in addition to checking the access rights of application 120, in the context of components 135 of vehicle 100, the role of the user (driver) of vehicle 100 is also taken into account, according to which vehicle 100 is controlled in the corresponding session of application 120 .

В одном из вариантов реализации для осуществления аттестации приложения 120 шлюз безопасности 130 взаимодействует с серверами, например таким как сервер 140 и сторонний сервер 160, для получения актуальной информации об аттестуемом приложении 120. Актуальной информацией является информация, подобная полученной от среды исполнения 110 информации о приложении, в частности, лицензии, сертификаты, вендор и/или манифест. В другом варианте реализации шлюз безопасности 130 включает базу данных, которая содержит указанную информацию, и имеет возможность обновления или получения информации для хранения, при этом наполнение базы данных осуществляется как по запросу шлюза безопасности 130, так и в автоматическом режиме. Наполнение (обновление или получение информации) базы данных осуществляется как самим шлюзом безопасности 130, так и сторонним компонентом. Например, при загрузке приложения 120 предоставляется информация о загружаемом приложении 120, и шлюз безопасности 130 осуществляет сбор и хранение необходимых данных для последующей аттестации.In one embodiment, to perform the attestation of the application 120, the security gateway 130 interacts with servers, such as the server 140 and the third-party server 160 , to obtain current information about the application 120 being attested. The current information is information similar to the information about the application received from the runtime environment 110 , in particular, licenses, certificates, vendor and/or manifest. In another embodiment, the security gateway 130 includes a database that contains the said information and has the ability to update or obtain information for storage, wherein the database is populated both at the request of the security gateway 130 and in automatic mode. The populating (updating or obtaining information) of the database is performed both by the security gateway 130 itself and by a third-party component. For example, when loading the application 120 , information about the loaded application 120 is provided, and the security gateway 130 collects and stores the necessary data for subsequent attestation.

В еще одном варианте реализации во время аттестации при помощи шлюза безопасности 130 формируют политики безопасности в отношении аттестуемого приложения 120 на основании полученных данных на аттестацию, в частности, манифеста приложения. Политики безопасности включают информацию о разрешенных (допустимых) взаимодействиях аттестованного приложения 120 с по меньшей мере одним компонентом 135 ТС 100, в том числе электронным блоком управления 180.In another embodiment, during certification, security policies are generated with respect to the application being certified 120 using the security gateway 130 based on the received certification data, in particular, the application manifest. The security policies include information on the permitted (acceptable) interactions of the certified application 120 with at least one component 135 of the vehicle 100 , including the electronic control unit 180 .

На шаге 440 по результату аттестации при помощи шлюза безопасности 130 формируют подтверждение об успешном прохождении аттестации, в частности, подтверждение о подлинности и целостности упомянутого приложения 120 в виде криптографического материала, примером которого является токен аттестации. Другие примеры реализации криптографического материала включают сертификат, сессионный ключ или ключ для формирования MAC. В одном из вариантов реализации в качестве подтверждения формируют при помощи шлюза безопасности 130 токен аттестации, в котором указано, что проверка аттестации пройдена успешно. Дополнительно токен аттестации подписывают криптографическим ключом шлюза безопасности 130. В дальнейшем токен аттестации позволит обеспечить приватность сетевого взаимодействия между аттестованным приложением 120 и шлюзом безопасности 130, так как токен аттестации персонализируется для каждого приложения 120.At step 440, based on the attestation result, security gateway 130 generates confirmation of successful attestation, specifically confirmation of the authenticity and integrity of said application 120 in the form of cryptographic material, an example of which is an attestation token. Other examples of cryptographic material implementations include a certificate, a session key, or a MAC generation key. In one embodiment, security gateway 130 generates an attestation token as confirmation, indicating that the attestation check was successfully completed. Additionally, the attestation token is signed with the cryptographic key of security gateway 130 . The attestation token will subsequently ensure the privacy of network interactions between the attested application 120 and security gateway 130 , since the attestation token is personalized for each application 120 .

Персонализация токена аттестации для каждого приложения 120 позволяет выполнить требование о невозможности использования результатов аттестации одного приложения для сетевого взаимодействия между другим приложением и шлюзом безопасности 130.Personalizing the attestation token for each application 120 allows for the requirement that the attestation results of one application cannot be used for network communication between another application and the security gateway 130 .

В одном из вариантов реализации токен аттестации предназначен для открытия сетевого взаимодействия (сессии) между аттестованным приложением 120 и по меньшей мере одним компонентом 135 ТС 100, при этом в дальнейшем, пока сессия не будет закрыта, сетевое взаимодействие между приложением 120 и компонентом 135 ТС 100 может осуществляться без указанного токена.In one embodiment, the attestation token is intended to open a network interaction (session) between the attested application 120 and at least one component 135 of the TS 100 , and subsequently, until the session is closed, network interaction between the application 120 and the component 135 of the TS 100 can be carried out without the specified token.

Стоит отметить, что если аттестация не пройдена, то шлюз безопасности 130 направляет приложению 120 и/или среде исполнения 110 ответ, содержащий информацию о причинах отказа в аттестации. В частном случае реализации ответ о непрохождении аттестации дополнительно включает и информацию о том, через какое время возможно провести повторную аттестацию.It's worth noting that if attestation fails, security gateway 130 sends a response to application 120 and/or runtime 110 containing information about the reasons for the attestation failure. In a particular implementation, the attestation failure response also includes information about the time limit for re-attestation.

На шаге 450 осуществляют передачу при помощи шлюза безопасности 130 подтверждения об успешном прохождении аттестации, в частности, передают подтверждение о подлинности и целостности упомянутого приложения 120 в виде токена аттестации.At step 450, a confirmation of successful completion of the attestation is transmitted using the security gateway 130 , in particular, a confirmation of the authenticity and integrity of the mentioned application 120 is transmitted in the form of an attestation token.

В зависимости от варианта реализации передачу указанного подтверждения (токена аттестации) осуществляют либо непосредственно приложению 120, которое было аттестовано, либо среде исполнения 110, которое осуществляет исполнение приложения 120, либо приложению 120 и среде исполнения 110 одновременно.Depending on the implementation option, the transfer of said confirmation (attestation token) is carried out either directly to the application 120 that has been attested, or to the execution environment 110 that executes the application 120 , or to the application 120 and the execution environment 110 simultaneously.

Второй (основной) этап включает в себя шаги 460 и 470. Указанные шаги исполняются во время сетевого взаимодействия приложения 120 с компонентами 135 ТС 100 через шлюз безопасности 130.The second (main) stage includes steps 460 and 470. These steps are performed during the network interaction of application 120 with components 135 of TS 100 through security gateway 130 .

На шаге 460 устанавливают при помощи среды исполнения 110 от имени аттестованного приложения 120 сетевое соединение (сессию) со шлюзом безопасности 130, во время которого осуществляют аутентификацию приложения 120 и/или авторизацию прав доступа приложения 120. Для аутентификации или авторизации прав доступа приложения 120 и дальнейшего сетевого обмена с по меньшей мере одним компонентом 135 (например, ЭБУ 180) ТС 100 передают по меньшей мере один запрос совместно с ранее полученным токеном аттестации. Токен аттестации позволяет приложению 120 пройти аутентификацию или авторизацию и, если аутентификация или авторизация пройдена успешно, передают запрос на соответствующий компонент 135 ТС 100. Пример сетевого обмена, в частности, передачи команды и получения ответа между приложением 120 и одним из компонентов 135 ТС 100, например ЭБУ 180, был представлен ранее при описании Фиг. 2.At step 460, a network connection (session) is established with the security gateway 130 using the execution environment 110 on behalf of the certified application 120 , during which authentication of the application 120 and/or authorization of the access rights of the application 120 are performed. For authentication or authorization of the access rights of the application 120 and further network exchange with at least one component 135 (for example, the ECU 180 ), the TS 100 transmits at least one request together with a previously received attestation token. The attestation token allows the application 120 to be authenticated or authorized, and if the authentication or authorization is successful, the request is transmitted to the corresponding component 135 of the TS 100 . An example of network exchange, in particular the transmission of a command and the receipt of a response between the application 120 and one of the components 135 of the vehicle 100 , for example the ECU 180 , was presented earlier in the description of Fig. 2 .

Стоит отметить, что в случае, если со шлюзом безопасности 130 установлено сетевое соединение от имени приложения 120, у которого нет прав доступа на запрашиваемую им функцию, то шлюз безопасности 130 при проверке прав доступа указанного приложения 120, ассоциированного с текущим сетевым соединением, формирует ошибку доступа, и команда компоненту 135 ТС 100, например ЭБУ 180, не будет передана.It is worth noting that if a network connection is established with the security gateway 130 on behalf of the application 120 that does not have access rights to the function it requests, then the security gateway 130 , when checking the access rights of the specified application 120 associated with the current network connection, generates an access error, and the command will not be transmitted to the component 135 of the vehicle 100 , for example, the ECU 180 .

В одном из вариантов реализации передают токен аттестации только в первый раз при установлении сессии, последующий сетевой обмен осуществляют в рамках созданной сессии, без предоставления токена аттестации до окончания сессии.In one implementation option, the attestation token is transmitted only the first time a session is established, and subsequent network exchanges are carried out within the established session, without providing the attestation token until the end of the session.

В еще одном варианте реализации определяют временной промежуток, через который приложению 120 необходимо предоставить повторно токен аттестации для аутентификации в шлюзе безопасности 130.In another embodiment, a time period is determined after which the application 120 must be re-provided with an attestation token for authentication with the security gateway 130 .

На шаге 470 осуществляют при помощи шлюза безопасности 130 анализ каждого передаваемого запроса приложения 120 к одному из компонентов 135 ТС 100 через установленное сетевое соединение путем определения возможности передачи соответствующей команды для выполнения полученного запроса с помощью сформированной политики. По результатам анализа принимают решение о разрешении или отклонении передачи команды на соответствующий компонент ТС, например на ЭБУ 180, для выполнения запроса, полученного от приложения 120.At step 470, each transmitted request from application 120 to one of the components 135 of vehicle 100 via the established network connection is analyzed by security gateway 130 , determining the possibility of transmitting the corresponding command to fulfill the received request using the formed policy. Based on the results of the analysis, a decision is made to permit or deny the transmission of the command to the corresponding vehicle component, for example, to ECU 180 , to fulfill the request received from application 120 .

Стоит отметить, что приложение 120 взаимодействует с компонентами 135 ТС 100, в частности с ЭБУ 180, через шлюз безопасности 130, который в свою очередь осуществляет взаимодействие с компонентами 135 при помощи брокера MQTT 134 и конвертора CAN-MQTT 136. Во время сетевого взаимодействия приложение 120 направляет запрос, содержащий команду на чтения или запись необходимых приложению 120 данных в брокер MQTT 134. Брокер MQTT 134 в свою очередь передает полученные команды в конвертор CAN-MQTT 136. Конвертор CAN-MQTT 136 осуществляет преобразование команд в вид, который понимает соответствующий ЭБУ 180, после чего направит команды на соответствующий ЭБУ 180. После ответа ЭБУ 180 осуществится передача данных в обратном направлении на приложение 120 через конвертор CAN-MQTT 136 и брокер MQTT 134.It is worth noting that the application 120 interacts with the components 135 of the vehicle 100 , in particular with the ECU 180 , through the security gateway 130 , which in turn interacts with the components 135 using the MQTT broker 134 and the CAN-MQTT converter 136. During network interaction, the application 120 sends a request containing a command to read or write the data required by the application 120 to the MQTT broker 134. The MQTT broker 134, in turn, transmits the received commands to the CAN-MQTT converter 136. The CAN-MQTT converter 136 converts the commands into a form that is understood by the corresponding ECU 180 , after which it sends the commands to the corresponding ECU 180 . After the response from ECU 180 , data will be transmitted in the opposite direction to application 120 via CAN-MQTT converter 136 and MQTT broker 134 .

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что при разработке любого реального варианта осуществления настоящего изобретения необходимо принять множество решений, специфических для конкретного варианта осуществления, для достижения конкретных целей, и эти конкретные цели будут разными для разных вариантов осуществления. Понятно, что такие усилия по разработке могут быть сложными и трудоемкими, но, тем не менее, они будут обычной инженерной задачей для тех, кто обладает обычными навыками в данной области, пользуясь настоящим раскрытием изобретения.In conclusion, it should be noted that the information provided in the description is exemplary and does not limit the scope of the present invention as defined by the claims. One skilled in the art will recognize that the development of any practical embodiment of the present invention requires making numerous embodiment-specific decisions to achieve specific goals, and these specific goals will vary from embodiment to embodiment. It is understood that such development efforts may be complex and time-consuming, but they will nevertheless be a routine engineering task for those of ordinary skill in the art, given the benefit of this disclosure.

Claims (54)

1. Способ межблочного контроля доступа приложения к по меньшей мере одному компоненту транспортного средства (ТС), при этом указанный способ содержит этапы, на которых:1. A method for inter-unit control of access of an application to at least one component of a vehicle (TS), wherein said method comprises the steps of: а) выполняют загрузку приложения в среду исполнения, при этом приложение включает по меньшей мере сертификат приложения и манифест, содержащий информацию о разрешенных взаимодействиях с компонентами ТС (права доступа);a) load the application into the execution environment, where the application includes at least an application certificate and a manifest containing information about permitted interactions with the components of the TS (access rights); б) собирают информацию при помощи среды исполнения для проведения аттестации загруженного приложения, где собираемая информация включает манифест и/или информацию о сертификате приложения, при этом собираемую информацию подписывают ключом среды исполнения;b) collect information using the runtime environment to perform attestation of the downloaded application, where the collected information includes the manifest and/or certificate information of the application, and the collected information is signed with the runtime key; в) осуществляют аттестацию загруженного приложения при помощи шлюза безопасности на основании собранной информации;c) certify the downloaded application using the security gateway based on the collected information; г) формируют при помощи шлюза безопасности криптографический материал, подтверждающий успешное прохождение аттестации, при этом передают с помощью шлюза безопасности сформированный криптографический материал указанной среде исполнения;d) generate cryptographic material confirming successful completion of certification using a security gateway, and transmit the generated cryptographic material to the specified execution environment using the security gateway; д) устанавливают сессию между приложением и по меньшей мере одним компонентом ТС через шлюз безопасности, во время которой осуществляют аутентификацию прав доступа приложения при помощи криптографического материала;d) establishing a session between the application and at least one component of the TS through a security gateway, during which the application's access rights are authenticated using cryptographic material; е) осуществляют при помощи шлюза безопасности анализ по меньшей мере одного полученного запроса приложения в рамках установленной сессии к компоненту ТС, в результате которого принимают решение о выполнении полученного запроса.e) carry out, using a security gateway, an analysis of at least one received application request within the established session to a TS component, as a result of which a decision is made to execute the received request. 2. Способ по п. 1, в котором криптографический материал обеспечивает аутентификацию сетевого соединения указанного приложения, и в качестве которого является по меньшей мере один из: ключ для формирования MAC, сессионный ключ, токен аттестации или сертификата.2. The method according to claim 1, wherein the cryptographic material provides authentication of the network connection of the specified application, and which is at least one of: a key for generating a MAC, a session key, an attestation token or a certificate. 3. Способ по п. 1, в котором приложение взаимодействует через шлюз безопасности с по меньшей мере одним из следующих компонентов ТС:3. The method according to claim 1, wherein the application interacts through a security gateway with at least one of the following components of the TS: а) электронный блок управления (ЭБУ);a) electronic control unit (ECU); б) система помощи водителю;b) driver assistance system; в) телематическая система.c) telematics system. 4. Способ по п.1, в котором средой исполнения приложения является по меньшей мере одно из:4. The method according to claim 1, wherein the application execution environment is at least one of: • локальный вычислительный компонент ТС, обладающий возможностью загрузить и исполнить приложение;• a local computing component of the TS that has the ability to download and execute an application; • мобильное устройство, взаимодействующее с компонентами ТС;• a mobile device interacting with vehicle components; • удаленный сервер, имеющий связь с компонентами ТС.• a remote server that has a connection with the components of the vehicle. 5. Способ по п. 4, в котором локальным вычислительным компонентом ТС является информационно-развлекательная система.5. The method according to claim 4, wherein the local computing component of the vehicle is an infotainment system. 6. Способ по п. 1, в котором собираемой информацией для проведения аттестации загруженного приложения дополнительно является: идентификатор приложения, вендор приложения, хеш-сумма приложения, информация о других сертификатах, размер приложения, уникальный идентификатор среды исполнения.6. The method according to paragraph 1, in which the information collected for conducting certification of the downloaded application additionally includes: the application identifier, the application vendor, the application hash sum, information about other certificates, the application size, and a unique identifier of the execution environment. 7. Способ по п. 1, в котором среда исполнения является доверенной средой исполнения, при этом загрузку приложения выполняют в указанную доверенную среду исполнения.7. The method according to claim 1, wherein the execution environment is a trusted execution environment, and the application is loaded into said trusted execution environment. 8. Способ по п. 1, в котором формируют на этапе в) политику безопасности в отношении аттестуемого приложения на основании собранной информации, при этом политика безопасности включает информацию о разрешенных взаимодействиях аттестованного приложения с по меньшей мере одним компонентом ТС.8. The method according to paragraph 1, in which, at step c), a security policy is formed in relation to the certified application based on the collected information, wherein the security policy includes information about the permitted interactions of the certified application with at least one component of the TS. 9. Способ по п. 8, в котором осуществляют анализ полученного запроса приложения к компоненту ТС с помощью сформированной политики безопасности.9. The method according to paragraph 8, in which the received application request to the TS component is analyzed using the generated security policy. 10. Способ по п. 1, в котором токен аттестации предназначен для открытого сетевого соединения (сессии) между аттестованным приложением и по меньшей мере одним компонентом ТС.10. The method according to paragraph 1, in which the attestation token is intended for an open network connection (session) between the attested application and at least one component of the TS. 11. Способ по п. 1, в котором указанный токен аттестации подтверждает целостность приложения.11. The method according to paragraph 1, wherein said attestation token confirms the integrity of the application. 12. Способ по п. 1, в котором осуществляют анализ по меньшей мере одного полученного запроса в рамках установленной сессии к компоненту ТС для определения возможности передачи определенной команды на компонент ТС для выполнения полученного запроса.12. The method according to paragraph 1, in which at least one received request is analyzed within the established session to the TS component to determine the possibility of transmitting a specific command to the TS component to execute the received request. 13. Способ по п. 1, в котором принимаемое решение о выполнении полученного запроса включает информацию либо о разрешении и передаче команды на компонент ТС для выполнения запроса, полученного от приложения, либо об отклонении указанного запроса.13. The method according to paragraph 1, in which the decision taken to execute the received request includes information either on permission and transmission of a command to the TS component to execute the request received from the application, or on rejection of the said request. 14. Система межблочного контроля доступа приложений к по меньшей мере одному компоненту транспортного средства (ТС), при этом указанная система включает:14. A system for inter-unit control of access of applications to at least one component of a vehicle (TS), wherein said system includes: а) по меньшей мере одну среду исполнения, являющуюся вычислительным компонентом, содержащим по меньшей мере один процессор и память для реализации операционной системы, в рамках которой осуществляется исполнение по меньшей мере одного приложения, взаимодействующего с по меньшей мере одним компонентом ТС, при этом приложение включает по меньшей мере манифест, содержащий информацию о разрешенных взаимодействиях с компонентами ТС (права доступа), и сертификат приложения, а среда исполнения предназначена для:a) at least one execution environment, which is a computing component containing at least one processor and memory for implementing an operating system, within which at least one application is executed, interacting with at least one component of the TS, wherein the application includes at least a manifest containing information about permitted interactions with components of the TS (access rights), and an application certificate, and the execution environment is intended for: • выполнения загрузки и исполнения приложения;• downloading and executing the application; • осуществления контроля целостности указанного приложения, в том числе неизменности приложения с момента его загрузки или последнего исполнения;• monitoring the integrity of the specified application, including the immutability of the application since its download or last execution; б) шлюз безопасности, предназначенный по меньшей мере для:b) a security gateway designed to at least: • обмена данными со средой исполнения, в том числе и с приложением, и с другими компонентами ТС;• data exchange with the execution environment, including with the application and with other components of the TS; • аттестации приложения на основании полученной информации от среды исполнения, при этом во время аттестации осуществляется проверка идентичности и целостности приложения;• application certification based on information received from the execution environment, during which the identity and integrity of the application is checked; • формирования подтверждения об успешном прохождении аттестации приложением, которое включает формирование криптографического материала;• generation of confirmation of successful completion of certification by the application, which includes the generation of cryptographic material; • аутентификации сетевого соединения приложения;• authentication of the application's network connection; • установления сетевого соединения (сессии) с приложением для осуществления взаимодействия приложения с по меньшей мере одним компонентом ТС;• establishing a network connection (session) with the application to implement interaction of the application with at least one component of the TS; в) по меньшей мере один компонент ТС, с которым взаимодействует указанное приложение в рамках сформированной сессии, при этом взаимодействие осуществляется через шлюз безопасности, который во время установленной сессии анализирует каждый полученный запрос приложения к компоненту ТС и принимает решение о выполнении полученного запроса.c) at least one component of the TS with which the specified application interacts within the established session, wherein the interaction is carried out through a security gateway, which during the established session analyzes each received request of the application to the component of the TS and makes a decision on the execution of the received request. 15. Система по п. 14, в которой криптографическим материалом является по меньшей мере один из: ключ для формирования MAC, сессионный ключ, токен аттестации или сертификат.15. The system of claim 14, wherein the cryptographic material is at least one of: a MAC generation key, a session key, an attestation token, or a certificate. 16. Система по п. 14, в которой обмен данными между шлюзом безопасности и средой исполнения, в том числе с приложением, осуществляется по защищенному каналу связи.16. The system according to paragraph 14, in which the exchange of data between the security gateway and the execution environment, including with the application, is carried out via a secure communication channel. 17. Система по п. 14, в которой дополнительно шлюз безопасности предназначен для проверки целостности операционной системы среды исполнения с целью установления доверия к среде исполнения и в последствии к приложению.17. The system of claim 14, wherein the security gateway is additionally designed to check the integrity of the operating system of the execution environment in order to establish trust in the execution environment and subsequently in the application. 18. Система по п. 14, в которой компонентом ТС, с которым взаимодействует приложение через шлюз безопасности, является по меньшей мере один из следующих:18. The system of claim 14, wherein the component of the TS with which the application interacts through the security gateway is at least one of the following: а) электронный блок управления;a) electronic control unit; б) система помощи водителю;b) driver assistance system; в) телематическая система.c) telematics system. 19. Система по п. 14, в которой средой исполнения приложения является по меньшей мере одно из:19. The system of claim 14, wherein the application execution environment is at least one of: • локальный вычислительный компонент ТС, обладающий возможностью загрузить и исполнить приложение;• a local computing component of the TS that has the ability to download and execute an application; • мобильное устройство, взаимодействующее с компонентами ТС;• a mobile device interacting with vehicle components; • удаленный сервер, имеющий связь с компонентами ТС.• a remote server that has a connection with the components of the vehicle. 20. Система по п. 19, в которой локальным вычислительным компонентом ТС является информационно-развлекательная система.20. The system according to claim 19, wherein the local computing component of the vehicle is an infotainment system. 21. Система по п. 14, в которой среда исполнения является доверенной средой исполнения, в которую осуществляют доверенную загрузку приложения.21. The system of claim 14, wherein the execution environment is a trusted execution environment into which the application is trusted loaded. 22. Система по п. 14, в которой среда исполнения дополнительно собирает информацию для проведения аттестации загруженного или запускаемого приложения, включающую: идентификатор приложения, вендора приложения, хеш-сумму приложения, информацию о других сертификатах, размер приложения, уникальный идентификатор среды исполнения.22. The system of paragraph 14, wherein the execution environment additionally collects information for conducting certification of the downloaded or launched application, including: the application identifier, the application vendor, the application hash, information about other certificates, the size of the application, and a unique identifier of the execution environment. 23. Система по п. 14, в которой шлюз безопасности формирует политику безопасности в отношении аттестуемого приложения на основании собранной информации, при этом политика безопасности включает информацию о разрешенных взаимодействиях аттестованного приложения с по меньшей мере одним компонентом ТС.23. The system of claim 14, wherein the security gateway generates a security policy with respect to the attested application based on the collected information, wherein the security policy includes information about the permitted interactions of the attested application with at least one component of the TS. 24. Система по п. 14, в которой указанный токен аттестации предназначен для открытого сетевого соединения (сессии) между аттестованным приложением и по меньшей мере одним компонентом ТС.24. The system of claim 14, wherein said attestation token is intended for an open network connection (session) between the attested application and at least one component of the TS. 25. Система по п. 14, в которой указанный токен аттестации подтверждает целостность приложения.25. The system of paragraph 14, wherein said attestation token verifies the integrity of the application. 26. Система по п. 14, в которой принимаемое решение о выполнении полученного запроса включает информацию либо о разрешении и передачи команды на компонент ТС для выполнения запроса, полученного от приложения, либо об отклонении указанного запроса.26. The system according to paragraph 14, in which the decision taken to execute the received request includes information either on permission and transmission of a command to the TS component to execute the request received from the application, or on rejection of the said request.
RU2025120539A 2025-07-24 Method of interblock control of application access to transport vehicle components and system for implementing it RU2851079C1 (en)

Publications (1)

Publication Number Publication Date
RU2851079C1 true RU2851079C1 (en) 2025-11-18

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060100757A1 (en) * 2002-08-21 2006-05-11 Oliver Feilen Method for protecting a motor vehicle component against manipulations in a control device, and control device
US20150020152A1 (en) * 2012-03-29 2015-01-15 Arilou Information Security Technologies Ltd. Security system and method for protecting a vehicle electronic system
US8955130B1 (en) * 2014-04-10 2015-02-10 Zephyr Technology Co., Limited Method for protecting vehicle data transmission system from intrusions
US9767629B1 (en) * 2017-03-07 2017-09-19 Nxp B.V. System and method for controlling access to vehicle
RU2750626C2 (en) * 2019-11-27 2021-06-30 Акционерное общество "Лаборатория Касперского" System and method for access control in electronic units of vehicle control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060100757A1 (en) * 2002-08-21 2006-05-11 Oliver Feilen Method for protecting a motor vehicle component against manipulations in a control device, and control device
US20150020152A1 (en) * 2012-03-29 2015-01-15 Arilou Information Security Technologies Ltd. Security system and method for protecting a vehicle electronic system
US8955130B1 (en) * 2014-04-10 2015-02-10 Zephyr Technology Co., Limited Method for protecting vehicle data transmission system from intrusions
US9767629B1 (en) * 2017-03-07 2017-09-19 Nxp B.V. System and method for controlling access to vehicle
RU2750626C2 (en) * 2019-11-27 2021-06-30 Акционерное общество "Лаборатория Касперского" System and method for access control in electronic units of vehicle control

Similar Documents

Publication Publication Date Title
JP7653634B2 (en) Centralized service ECU based on service-oriented architecture and method for using same
CN106257861B (en) By control equipment come the authentication method and its system with auto communication
JP5009303B2 (en) Peer-to-peer remediation
JP6228093B2 (en) system
US20090031418A1 (en) Computer, method for controlling access to computer resource, and access control program
US8370905B2 (en) Domain access system
Jo et al. Vulnerabilities of android OS-based telematics system
EP3796194B1 (en) Secure element for processing and authenticating digital key and operation method therefor
JP5722778B2 (en) Server system and method for providing at least one service
KR20220065223A (en) Update method to automotive ECU device by using external hardware module
CN115643564A (en) FOTA upgrade method, device, equipment and storage medium for automobile safety
JP4541263B2 (en) Remote security enabling system and method
KR102345866B1 (en) Server System and Communication Security Method for User Devices Performed in the Server System
CN119363424A (en) A cross-domain access method for smart contracts based on master-slave chain architecture
CN114372254A (en) Authentication method, data access control method, server, equipment and system
RU2851079C1 (en) Method of interblock control of application access to transport vehicle components and system for implementing it
CN114363373B (en) Application communication management system, method, device, electronic equipment and storage medium
Zheng et al. Secure distributed applications the decent way
JP2018042256A (en) System and management method
CN109359450B (en) Security access method, device, equipment and storage medium of Linux system
Chawan et al. Security enhancement of over-the-air update for connected vehicles
CN113821353B (en) System and method for implementing inter-process communication in electronic control unit of vehicle
CN118445792A (en) Safe starting method and device of controller, vehicle and medium
CN117270903A (en) Vehicle-mounted application updating method, device, equipment and computer readable storage medium
CN119561678A (en) Securing in-vehicle service-oriented architecture using MAC-generated allowlist implementation in host devices