CN116225739A - 计算设备及其安全服务的部署和扩展方法 - Google Patents

计算设备及其安全服务的部署和扩展方法 Download PDF

Info

Publication number
CN116225739A
CN116225739A CN202310184890.5A CN202310184890A CN116225739A CN 116225739 A CN116225739 A CN 116225739A CN 202310184890 A CN202310184890 A CN 202310184890A CN 116225739 A CN116225739 A CN 116225739A
Authority
CN
China
Prior art keywords
service
computing device
security
atomic
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310184890.5A
Other languages
English (en)
Inventor
金超
徐谋新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anbofu Electronics Suzhou Co ltd
Original Assignee
Anbofu Electronics Suzhou Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anbofu Electronics Suzhou Co ltd filed Critical Anbofu Electronics Suzhou Co ltd
Priority to CN202310184890.5A priority Critical patent/CN116225739A/zh
Publication of CN116225739A publication Critical patent/CN116225739A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

提供了一种计算设备及其安全服务的部署和扩展方法。计算设备可以包括:主核,其被配置成提供计算服务;以及安全核,其与主核进行核间通信,并被配置成向主核提供至少一个安全服务,安全核包括:驱动层,其包括基础驱动程序库;抽象层,其包括抽象硬件接口集合,抽象硬件接口集合基于基础驱动程序库中与计算设备的类型相匹配的基础驱动程序库而生成;服务层,其包括原子服务库,原子服务库中的原子服务通过调用抽象硬件接口集合来调用计算设备的真实接口;应用层,其提供至少一个安全服务,至少一个安全服务中的每一个基于原子服务库中的至少一个原子服务而生成。

Description

计算设备及其安全服务的部署和扩展方法
技术领域
本公开涉及计算机领域,尤其涉及一种计算设备以及利用原子服务部署和扩展计算设备中的安全服务的方法。
背景技术
在车辆智能化、联网化、清洁化和共享化的背景下,越来越多的车载电子模块的功能向域控制器集中和转移,并以车载以太网将作为骨干网。整车内不同的车载控制器都会接入整车通信网络,因此对每个控制器的安全要求随之提高。
在车载系统中,不同的控制器芯片可能来自不同的厂商。这些芯片通常包括提供常规计算服务的主核和提供安全服务的安全核。每款芯片提供的计算服务和安全服务都不同。尤其是,需要对应的安全固件配合来使能芯片的安全服务。
然而,随着车载环境对功能集成度以及安全需求的提高,既有芯片提供的安全服务往往需要扩展。芯片的各种安全服务需要由芯片固件经由驱动程序驱动芯片的安全核来运行。目前的芯片固件与驱动程序有很强的耦合,任意的安全服务扩展都会导致需要对驱动程序的二次开发,需要做大量的功能调试、固件部署以及功能测试,还会影响已有的安全服务。
发明内容
本公开的一个方面提供了一种计算设备,可以包括:主核,主核被配置成提供计算服务;以及安全核,安全核与主核进行核间通信,并被配置成向主核提供至少一个安全服务。安全核可以包括:驱动层,驱动层包括基础驱动程序库;抽象层,抽象层包括抽象硬件接口集合,抽象硬件接口集合基于基础驱动程序库中与计算设备的类型相匹配的基础驱动程序库而生成;服务层,服务层包括原子服务库,原子服务库中的原子服务通过调用抽象硬件接口集合来调用计算设备的真实接口;应用层,应用层提供至少一个安全服务,至少一个安全服务中的每一个基于原子服务库中的至少一个原子服务而生成。
本公开的另一方面提供了一种用于在计算设备中部署安全服务的方法,可以包括:从基础驱动程序库中选择与计算设备相匹配的基础驱动程序;基于所选择的基础驱动程序确定用于计算设备的抽象硬件接口集合;以及基于原子服务库中的至少一个原子服务生成用于在计算设备上运行的至少一个安全服务,至少一个安全服务通过调用抽象硬件接口集合中的至少一部分来运行。
本公开的又一方面提供了一种用于扩展计算设备中已部署的固件的安全服务的方法,可以包括:确定用于生成待扩展安全服务的至少一个原子服务,至少一个原子服务中的每一个关联到计算设备的抽象硬件接口集合,抽象硬件接口集合基于与计算设备相对应的基础驱动程序而确定;以及基于至少一个原子服务生成待扩展安全服务。
本公开的又另一方面提供了一种非瞬态计算机可读存储介质,其上存储有指令,指令在被处理器执行时,执行以下步骤:提供基础驱动程序库和原子服务库;响应于对基础驱动程序库中的基础驱动程序的选择,基于所选择的基础驱动程序生成计算设备的抽象硬件接口集合;以及响应于对原子服务库中的至少一个原子服务的选择,生成至少一个安全服务,原子服务被配置成通过调用抽象硬件接口集合来调用计算设备的真实接口。
附图说明
图1示出车载环境中的示例计算设备安全服务;
图2示出图1所示的计算设备10的示例硬件架构图;
图3示出以往用于使能计算设备的示例计算设备固件2的框图;
图4示出计算设备固件的二次开发的示意图;
图5示出以往计算设备固件2中的驱动程序21与安全服务的强耦合的示意图;
图6示出根据本公开的实施例的示例计算设备固件3的架构图;
图7示出根据本公开的实施例的示例抽象硬件接口集合321的示意图;
图8示出根据本公开的实施例的示例原子服务;
图9示出根据本公开的实施例的通过组合原子服务生成安全服务的示意图;
图10图示出根据本公开的实施例的部署了图6所示的计算设备固件3的计算设备1的逻辑架构图;
图11示出根据本公开的实施例的在计算设备中部署安全服务的过程1100的流程图;
图12示出根据本公开的实施例的对计算设备中的安全服务进行扩展的过程1200的流程图;并且
图13示出根据本公开的实施例的用于对已部署在计算设备中的固件的安全服务进行扩展的示例过程1300的流程图。
具体实施方式
在以下描述中,陈述了众多特定细节。然而,应当理解,可在没有这些特定细节的情况下实践本发明的实施例。在其他实例中,未详细示出公知的电路、结构和技术,以免使对本描述的理解模糊。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用表明所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例不一定都包括该特定的特征、结构或特性。此外,此类短语不一定是指同一个实施例。此外,当结合实施例描述特定的特征、结构或特性时,认为结合无论是否被明确描述的其他实施例而影响此类特征、结构或特性是在本领域技术人员的知识范围之内的。
出于本公开的目的,短语“A和/或B”意指(A)、(B)或(A和B)。出于本公开的目的,短语“A、B、和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
下文首先结合车载环境对计算设备的安全服务进行描述。应理解,车载环境仅仅是计算设备应用的一个示例,并非用于限制本公开的适用范围。本公开的技术适用于任何提供安全服务的计算设备类型。
本文所述的计算设备可以是控制器、微处理器、包括诸如CPU或GPU的更复杂结构的处理器、由软件配置的处理器,或专用硬件或固件。
图1示出车载环境中的示例计算设备的安全服务。计算设备10是车辆1的车载系统中的一部分,其可以是例如ECU(Electronic Control Unit:电子控制单元)等控制器。图2示出图1所示的计算设备10的示例硬件架构图。如图2所示,计算设备10包括主核101和安全核102。主核101提供计算服务以用于实现例如车辆的中央超算、座舱系统、智能驾驶系统、域控制系统等控制模块的控制功能。安全核102用于提供所需的安全服务,例如如图1所示的通信安全、数据加解密、身份认证、密钥管理、敏感数据保护、访问控制等服务。主核101可以通过特定接口来调用安全核102中的安全服务。安全服务需要借助计算设备固件以及计算设备固件中的驱动程序才能在安全核102上运行。
图3示出以往用于使能计算设备的示例计算设备固件2的框图。图4示出计算设备固件的二次开发的示意图。如图3所示,计算设备固件2包含驱动程序21和一个或多个安全服务22。驱动程序21可以驱动主核101和安全核102来实现计算服务和安全服务22。驱动程序21通过将计算设备固件2与计算设备10的硬件耦合来使能各种计算服务和安全服务22。
以往,如图4所示,在需要扩展计算设备A的安全服务22或者将计算设备A更换为不同类型的计算设备B时,需要对计算设备固件进行二次开发。针对不同的计算设备,例如计算设备A和计算设备B,需要开发不同的驱动程序A和驱动程序B以及计算设备固件A和计算设备固件B。即便对于同一计算设备A,在需要扩展安全服务22(扩展为计算设备A1)时,也需要重新开发驱动程序,因为已有的安全服务已经耦合到驱动程序,需要直接修改驱动程序才能实现安全服务的扩展,这将在下文参照图5阐述。
因此,在扩展计算设备安全服务22或者更换为其他型号的计算设备时,需要针对新的安全服务22或者计算设备类型重新开发驱动程序以及计算设备固件,并且需要对整个固件进行重新部署和测试,这大幅提高了开发成本。
图5示出以往计算设备固件2中的驱动程序21与安全服务22的强耦合的示意图。如图5所示,以往的计算设备固件2中已有(由实线框表示)的安全服务A~C与驱动程序21直接耦合。换言之,安全服务A~C的至少一部分代码直接编写在驱动程序21中。因此,当需要增加新的安全服务D(由虚线框表示)时,需要修改驱动程序21。然而,对驱动程序21的修改可能会影响已部署的安全服务A~C,因为对驱动程序21的修改可能会影响到这些安全服务A~C的代码。因此在修改驱动程序21后,需要对计算设备固件2整体的所有功能进行测试和验证。
鉴于上述情况,本公开提出一种计算设备及其安全服务的部署和扩展方法,能够降低针对不同计算设备开发计算设备固件的难度和复杂度。
为了解决上述问题,本公开的计算设备固件架构将安全服务与驱动程序解耦,利用原子服务构建安全服务,从而降低部署和扩展安全服务的复杂度。图6示出根据本公开的实施例的示例计算设备固件3的架构图。本实施例的计算设备固件3的架构不同于参照图3和图5所描述的计算设备固件2。计算设备固件3包括驱动模块31、硬件抽象模块32、服务重构模块33和功能应用模块34。
驱动模块31提供基础驱动程序库311。基础驱动程序库311中存储有各计算设备族(例如芯片族)的基础驱动程序。本文描述的基础驱动程序不同于参考图3和图4描述的驱动程序。本实施例的基础驱动程序与安全服务解耦,即,不包含用于实现安全服务的代码。基础驱动程序可以包含针对某一芯片族的驱动代码,其包含了该芯片族的真实接口的信息。
基础驱动程序库311可以包含多个计算设备类型的基础驱动程序库。在进行固件部署时,开发人员可以根据待部署固件3的目标计算设备的类型从基础驱动程序库311中选择相匹配的基础驱动程序。基础驱动程序库311中的基础驱动程序可以在任意时刻更新以应对新增的计算设备类型,满足计算设备的更新迭代。
硬件抽象模块32基于开发人员所选择的基础驱动程序中的真实接口信息生成抽象硬件接口集合。抽象硬件接口集合提供对目标计算设备的各个真实接口的调用。图7示出根据本公开的实施例的示例抽象硬件接口集合321的示意图。如图7所示,抽象硬件接口集合321包括“MCU_Abstract_init()”;“ADC_Abstract_init()”;“PMD_Abstract_init()”;“PORT_Abstract_init()”;“SPI_Abstract_init()”;“GPT_Abstract_init()”;“FLASH_Abstract_init()”;“Interrupt_Abstract_enable()”;“Interrupt_Abstract_register()”;“Interrupt_Abstract_disable()”等字段。每一个字段代表一个抽象硬件接口,其链接到目标计算设备的一个真实接口。抽象硬件接口所链接的真实接口对于该计算设备都是可用的,因为每一个抽象硬件接口都是基于驱动模块31中由用户选择的适用于目前计算设备的基础驱动程序而生成。这样可以确保下文描述的原子服务能通过调用抽象硬件接口来耦合到对应的真实接口。
服务重构模块33具有原子服务库331。原子服务库331包含多个供选择的原子服务。原子服务是将安全服务分割到最小的独立基础服务。每一个安全服务都能够由一个或多个原子服务组合而成。图8示出根据本公开的实施例的示例原子服务,例如包括TRNG服务、SM算法服务、存储服务和公共算法服务。每个原子服务提供一个或多个供调用的接口。例如,TRNG服务提供一个接口“TRNG_Provider(string result)”。公共算法服务提供四个接口,即“AES_Crpto(string result)”、“AES_Decrpto(string result)”、“SHA_Crpto(string result)”以及“SHA_Decrpto(string result)”。通过调用每个原子服务的接口可以调用对应的原子服务。
服务重构模块33被配置成将一个或多个原子服务进行组合来生成安全服务。原子服务库331中存储的原子服务分别提供不同且独立的功能。开发人员在部署固件时可以根据所需的安全服务来从原子服务库331中选择任意的原子服务进行组合。对原子服务的组合可以通过逻辑代码来实现。换言之,开发人员可以利用逻辑代码来对原子服务进行编排,以满足特定功能需要,从而实现所需的安全服务。
图9示出根据本公开的实施例的通过组合原子服务生成安全服务的示意图。图9中,虚线框表示的应用C为待新增的应用。本实施例中,假设已部署的应用A由作为原子服务的TRNG服务和SM算法服务组合而成,已部署的应用B由作为原子服务的TRNG服务和存储服务组合而成,待新增的应用C可以由TRNG服务、存储服务、公共算法服务和定时器服务组合而成。这样,新增的应用C只需要调用原子服务库331中的原子服务,不会影响已部署的应用A和应用B。
应理解,一个安全服务对原子服务的使用不限于一次,可以多次调用同一原子服务,这取决于所采用的逻辑代码。此外,在一些实施方式中,单个原子服务也可以作为一个完整的安全服务。
原子服务库331中的原子服务是可变更和可更新的。开发人员可以从原子服务库331中选择所需的原子服务,通过逻辑代码进行组合来生成安全服务(应用A~应用C)。各个原子服务可以调用硬件抽象模块32提供的抽象硬件接口集合中的抽象硬件接口来耦合到计算设备的真实接口。这样,服务重构模块33仅需要进行原子服务的组合,不需要考虑计算设备的真实接口。
功能应用模块34接收服务重构模块33生成的安全服务来运行并提供安全服务。
图10图示出根据本公开的实施例的部署了图6所示的计算设备固件3的计算设备1的逻辑架构图。
安全核102按照服务分为应用层1011、中间件1012和驱动层1013。应用层1011提供具有特定功能的应用程序,以实现上文描述的计算服务。中间件1012提供支持应用程序开发的软件,可以包括数据库、网络协议、图形支持和开发工具等。驱动层1013为应用程序提供硬件驱动和底层核心支持。
安全核102提供计算设备1所需的安全服务以供主核101调用。为了调用安全核102中的安全服务,主核101需要通过安全引擎模块110来与安全核102进行核间通信103。安全引擎模块110提供核间通信103所需的接口集合、通信服务、和硬件抽象功能。
以往,安全核102没有像主核101那样按服务进行分层,安全服务与驱动程序有强耦合。在本实施例中,按照服务对安全核102进行分层,以使安全服务与驱动程序解耦。具体而言,安全核102与主核101相类似,根据服务在逻辑上划分了应用层1021、服务层1022、抽象层1023和驱动层1024。应用层1021、服务层1022、抽象层1023和驱动层1024指示计算设备固件3部署到计算设备1后在其安全核102中的逻辑架构。
应用层1021提供功能应用模块34中的安全服务,诸如密钥管理、安全存储、鉴权等服务。安全服务由参考图6描述的服务重构模块331通过组合原子服务来生成并提供给功能应用模块34。应用层1021中的安全服务可以根据需要扩展。
服务层1022提供原子服务库331、诸如图10中所示的TRNG、SHA、CMAC、AES128、KeyM、Secure Boot等。服务层1022中的原子服务可以直接作为一个安全服务来提供,也可以组合后作为应用层1021中的安全服务来提供。原子服务的组合由参考图6描述的服务重构模块33进行。服务层1022中的原子服务可以根据需要进行扩展。
抽象层1023提供抽象硬件接口集合,包括图中所示的Flash IF(Flash接口)、Watch dog IF(看门狗接口)、ADC IF(ADC接口)、GPT IF(GPT接口)、Interrupt IF(中断接口)。抽象硬件接口集合由参考图6描述的硬件抽象模块32基于针对所部属的计算设备选择的驱动程序来生成并提供。
驱动层1024提供基础驱动程序库31,其中包括用于各芯片族(图中所示的芯片A、芯片B、芯片C)的基础驱动程序。驱动层1024中的基础驱动程序可以根据需要进行扩展。
根据本实施例,驱动层1024提供对计算设备1的硬件、即真实接口的支持。抽象层1023提供原子服务与真实接口的对接,使得服务层1022中的原子服务以及应用层1021中的安全服务与驱动层1024解耦。在需要扩展安全功能的情况下,可以直接在服务层1022进行原子服务的扩展。在需要部署到不同类型的计算设备的情况下,可以从驱动层1024中选择对应的基础驱动程序,并根据需要部署的安全服务来对原子服务进行组合。对于已经部署的安全服务,无需重新进行部署和测试,因为各个安全服务均与驱动层1024解耦,对原子服务的组合不会影响到其他已经部署的安全服务。
图11示出根据本公开的实施例的在计算设备中部署安全服务的过程1100的流程图。
过程1100开始于框1102。在框1102中,开发人员可以从参考图6描述的计算设备固件3提供的基础驱动程序库311中选择与待部署计算设备固件3的计算设备的类型相匹配的基础驱动程序。
在框1104中,计算设备固件3的硬件抽象模块32基于框1102中选择的基础驱动程序生成抽象硬件接口集合,例如图7所示。
在框1106中,开发人员可以基于需要部署在该计算设备上的安全服务,从计算设备固件3提供的原子服务库331中选择相应的原子服务来生成所需的安全服务。例如在图9所示的示例中,可以将TRNG服务和SM算法服务相组合来生成作为应用A的安全服务,将TRNG服务和存储服务相组合来生成作为应用B的安全服务。可以通过逻辑代码来组合相应的原子服务。所生成的安全服务存储在计算设备固件3的功能应用模块34中。由此,完成安全服务在该计算设备上的部署。
图12示出根据本公开的实施例的对计算设备中的安全服务进行扩展的过程1200的流程图。
过程1200起始于框1202。在需要扩展部署了计算设备固件3的计算设备的安全服务的情况下,例如需要在图9所示的示例中增加扩展应用C的情况下,无需变更计算设备固件3中的基础驱动程序。在框1202中,可以确定用于组成待扩展安全服务的一个或多个原子服务。例如在图9所示的实施例中,待扩展安全服务为应用C,该应用C可以由TRNG服务、存储服务、公共算法服务以及定时器服务组合而成。由此可以确定用于生成该待扩展服务(即,应用C)的原子服务为TRNG服务、存储服务、公共算法服务以及定时器服务。
这些原子服务预先存储在计算设备固件3中。因此,可以在框1204中对框1202中选择的原子服务直接进行组合来生成待扩展服务,从而完成对计算设备的安全服务扩展。
在一些实施方式中,可以在过程1200之前对计算设备固件3的原子服务库331中原子服务进行扩展,从而能组合出更多的安全服务。对原子服务库331以及安全服务的扩展不会影响已部署的安全服务,因为不涉及对已部署的安全服务的代码修改。根据本实施例,能够方便地对已部署本公开所描述的固件3的计算设备进行安全服务的扩展。
本公开所描述的计算设备固件3为车载应用中的固件部署和安全服务扩展提供了一种低成本的解决方案。以往,在需要对已经部署在车辆中的芯片固件进行升级时,需要用新的固件版本替换原有的固件。固件通常由第三方厂商提供。由于目前芯片固件中的安全服务与驱动程序之间的强耦合,对安全服务的扩展难度较大。在需要扩展安全服务时,可能需要从厂商重新购买固件版本。在智能驾驶这类安全标准不断升级的应用场景中,会导致极高的固件成本。
根据本公开的技术,在将计算设备固件3部署到计算设备后,计算设备即具有参考图6所描述的基础驱动程序库311、原子服务库331以及用于将原子服务库331中的原子服务组合成安全服务的业务逻辑代码。在需要对已部署到计算设备(例如车辆中的车载芯片)的计算设备固件3进行扩展来增加安全服务的情况下,可以执行图13所示的过程1300,其描述了对已部署在计算设备中的固件的安全服务进行扩展的方法。
过程1300起始于框1302。框1302与框1202类似,根据待扩展的安全服务来确定需要使用的原子服务。需要使用的原子服务可能已经全部存储在目标计算设备的固件3中,也可能有一部分或者全部未存储在目标计算设备的固件3中。
若目标计算设备的固件3中缺少用于生成待扩展安全服务所需的原子服务的至少一部分,则在框1304中,由目标计算设备接收所缺少的原子服务,来对固件3的原子服务库331进行更新。
作为一个示例,在车载应用中,可以通过OTA(Over The Air:空中下载)技术来获取原子服务并进行原子服务库331的更新,也可以将车辆驶入专用站点来进行更新。
框1304用虚线表示是因为在目标计算设备的固件3的原子服务库331中包含用于生成待扩展安全服务所有所需的原子服务的情况下,可以不执行该更新。
在框1306中,目标计算设备进一步接收业务逻辑代码,该业务逻辑代码用于将经更新的原子服务库331中的原子服务进行组合来生成所需的待扩展安全服务。业务逻辑代码的接收可以与原子服务的接收同时进行。在不需要对原子服务库331进行更新即可生成待扩展安全服务的情况下,可以只接收业务逻辑代码。该情况下,业务逻辑代码通过对原子服务库331中已有的原子服务进行组合来生成新的安全服务。
在接收到用于生成待扩展安全服务的业务逻辑代码后,在框1308中利用接收到的业务逻辑代码对原子服务库331中的原子服务进行组合来生成待扩展安全服务。由此完成对已部署在计算设备中的固件3添加新的安全服务。
根据本实施例,对固件3的安全服务的扩展能容易地通过原子服务和业务逻辑代码的更新来实现。由于原子服务与已部署固件中的驱动程序实现了解耦,因此对原子服务的更新不会影响到已部署的安全服务。与以往相比,无需对固件3整体进行更新甚至覆盖,只需要根据待扩展的安全服务确定所使用的原子服务,通过原子服务的更新(如需要)和业务逻辑代码的发送即可完成对目标计算设备的安全服务的扩展,具有良好的扩展性和低成本性。
本文中所公开的机制的实施例可被实现在硬件、软件、固件或此类实现方式的组合中。本发明的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
程序代码可以用高级过程编程语言或面向对象的编程语言来实现,以便与处理系统通信。如果需要,也可用汇编语言或机器语言来实现程序代码。事实上,本文中所描述的机制不限于任何特定的编程语言的范围。在任何情况下,该语言可以是编译语言或解释语言。
至少一个实施例的一个或多个方面可由存储在非瞬态计算机可读介质上的表示处理器中的各种逻辑的表示性指令来实现,该表示性指令在由机器读取时使得该机器制造用于执行本文中所描述的技术的逻辑。此外计算机可读介质可以被供应给各个客户或生产设施以加载到计算设备中。
根据本公开的技术的非瞬态计算机可读介质可以包含用于实现以下方法的机器可执行代码。该方法包括:提供基础驱动程序库311和原子服务库331;响应于对基础驱动程序库311中的基础驱动程序的选择,基于所选择的基础驱动程序生成计算设备的抽象硬件接口集合;以及响应于对原子服务库331中的至少一个原子服务的选择,生成至少一个安全服务。该原子服务被配置成通过调用抽象硬件接口集合来调用该计算设备的真实接口。
以上详细描述了本发明的优选实施方式。但应当理解为本发明在不脱离其广义精神和范围的情况下可以采用各种实施方式及变形。本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本领域技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应属于由本发明的权利要求书所确定的保护范围内。

Claims (18)

1.一种计算设备,包括:
主核,所述主核被配置成提供计算服务;以及
安全核,所述安全核与所述主核进行核间通信,并被配置成向所述主核提供至少一个安全服务,所述安全核包括:
驱动层,所述驱动层包括基础驱动程序库;
抽象层,所述抽象层包括抽象硬件接口集合,所述抽象硬件接口集合基于所述基础驱动程序库中与所述计算设备的类型相匹配的基础驱动程序库而生成;
服务层,所述服务层包括原子服务库,所述原子服务库中的原子服务通过调用所述抽象硬件接口集合来调用所述计算设备的真实接口;
应用层,所述应用层提供所述至少一个安全服务,所述至少一个安全服务中的每一个基于所述原子服务库中的至少一个原子服务而生成。
2.如权利要求1所述的计算设备,其特征在于,所述至少一个安全服务中的每一个安全服务通过将所述原子服务库中的至少一个原子服务组合而成。
3.如权利要求1或2所述的计算设备,其特征在于,所述至少一个原子服务和所述至少一个安全服务供所述主核调用。
4.如权利要求1或2所述的计算设备,其特征在于,所述基础驱动程序不包含用于实现所述安全服务的代码。
5.一种用于在计算设备中部署安全服务的方法,包括:
从基础驱动程序库中选择与所述计算设备相匹配的基础驱动程序;
基于所选择的基础驱动程序确定用于所述计算设备的抽象硬件接口集合;以及
基于原子服务库中的至少一个原子服务生成用于在所述计算设备上运行的至少一个安全服务,所述至少一个安全服务通过调用所述抽象硬件接口集合中的至少一部分来运行。
6.如权利要求5所述的方法,其特征在于,所述至少一个安全服务中的每一个通过将所述原子服务库中的至少一个原子服务组合而成。
7.如权利要求5或6所述的方法,其特征在于,所述至少一个原子服务和所述至少一个安全服务存储在所述计算设备的安全核中。
8.如权利要求5或6所述的方法,其特征在于,所述至少一个原子服务和所述至少一个安全服务供所述计算设备的主核调用。
9.如权利要求5或6所述的方法,其特征在于,所述基础驱动程序不包含用于实现所述安全服务的代码。
10.一种用于扩展计算设备中已部署的固件的安全服务的方法,包括:
确定用于生成待扩展安全服务的至少一个原子服务,所述至少一个原子服务中的每一个关联到所述计算设备的抽象硬件接口集合,所述抽象硬件接口集合基于与所述计算设备相匹配的基础驱动程序而确定;以及
基于所述至少一个原子服务生成所述待扩展安全服务。
11.如权利要求10所述的方法,其特征在于,所述至少一个原子服务和所述待扩展安全服务用于存储在所述计算设备的安全核中。
12.如权利要求11所述的方法,其特征在于,所述计算设备安装于车辆中,所述方法还包括:
用所述至少一个原子服务的至少一部分更新所述安全核的原子服务库;以及
将用于生成所述待扩展安全服务的业务逻辑代码发送到所述计算设备,所述业务逻辑代码用于存储在所述计算设备的所述安全核中并且用于对所述至少一个原子服务进行组合以生成所述待扩展安全服务。
13.如权利要求12所述的方法,其特征在于,生成所述待扩展安全服务包括:利用接收到的所述业务逻辑代码对所述至少一个原子服务进行组合以生成所述待扩展安全服务。
14.如权利要求12所述的方法,其特征在于,所述至少一个原子服务的所述至少一部分以及所述业务逻辑代码通过OTA发送到所述计算设备。
15.如权利要求10至14中任一项所述的方法,其特征在于,所述基础驱动程序不包含用于实现所述安全服务的代码。
16.一种非瞬态计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,执行以下步骤:
提供基础驱动程序库和原子服务库;
响应于对所述基础驱动程序库中的基础驱动程序的选择,基于所选择的基础驱动程序生成计算设备的抽象硬件接口集合;以及
响应于对所述原子服务库中的至少一个原子服务的选择,生成至少一个安全服务,所述原子服务被配置成通过调用所述抽象硬件接口集合来调用所述计算设备的真实接口。
17.如权利要求16所述的非瞬态计算机可读存储介质,其特征在于,生成所述至少一个安全服务包括:对所选择的原子服务进行组合。
18.如权利要求16或17所述的非瞬态计算机可读存储介质,其特征在于,所述指令在被处理器执行时,进一步执行以下步骤:
接收扩展原子服务和扩展业务逻辑代码;
利用接收到的扩展原子服务更新所述原子服务库;
生成至少一个安全服务包括:
利用所述扩展业务逻辑代码对经更新的原子服务库中的所述至少一个原子服务进行组合来生成所述至少一个安全服务。
CN202310184890.5A 2023-03-01 2023-03-01 计算设备及其安全服务的部署和扩展方法 Pending CN116225739A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310184890.5A CN116225739A (zh) 2023-03-01 2023-03-01 计算设备及其安全服务的部署和扩展方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310184890.5A CN116225739A (zh) 2023-03-01 2023-03-01 计算设备及其安全服务的部署和扩展方法

Publications (1)

Publication Number Publication Date
CN116225739A true CN116225739A (zh) 2023-06-06

Family

ID=86569196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310184890.5A Pending CN116225739A (zh) 2023-03-01 2023-03-01 计算设备及其安全服务的部署和扩展方法

Country Status (1)

Country Link
CN (1) CN116225739A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117041304A (zh) * 2023-10-10 2023-11-10 南京翼辉信息技术有限公司 一种车载原子服务系统及其控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117041304A (zh) * 2023-10-10 2023-11-10 南京翼辉信息技术有限公司 一种车载原子服务系统及其控制方法
CN117041304B (zh) * 2023-10-10 2023-12-19 南京翼辉信息技术有限公司 一种车载原子服务系统及其控制方法

Similar Documents

Publication Publication Date Title
KR100675518B1 (ko) 모듈식 바이오스 업데이트 메커니즘
US9626181B2 (en) Systems and methods to securely inject binary images and code into firmware
CN107741851B (zh) 编译系统的编译方法、装置及终端设备
US8843945B2 (en) Automated application programming interface (API) generation
CN110554937B (zh) 车辆用软件诊断系统以及其操作方法
CN116225739A (zh) 计算设备及其安全服务的部署和扩展方法
CN112835845B (zh) 用于管理形成例如微控制器的片上系统的调试的方法和对应片上系统
CN111666210A (zh) 一种芯片验证方法及装置
CN116069648A (zh) 一种软件测试方法、系统、设备以及存储介质
CN112256249A (zh) 扩展Android系统功能的方法、设备及计算机存储介质
US20220292047A1 (en) System for the exchange of messages through an application software
CN115033267A (zh) 一种设备树镜像版本校验的方法及终端设备
CN113448643A (zh) 配置数据管理系统及方法
JP3712984B2 (ja) 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体
US11947824B2 (en) Electronic control unit, method, and program
CN110134456A (zh) 用于管理操作系统的方法、装置、设备和存储介质
CN114880045A (zh) 寄存器配置方法、装置及相关设备
CN111611014B (zh) 一种满足do178c标准的多安全级软件同时运行方法
Danmin et al. A formal specification in B of an operating system
CN113961232A (zh) 提供集成开发环境的终端、方法和平台服务器
CN111736863A (zh) 一种软件升级方法、装置及电子设备
Zerfowski et al. Building the bridge between automotive SW engineering and DevOps approaches for automated driving SW development
US20240201989A1 (en) Software-hardware interface protection
US11604655B2 (en) Sync point mechanism between master and slave nodes
CN117331565B (zh) 软件生成方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination