CN113885926A - 一种基于安全芯片的操作系统在线升级方法 - Google Patents
一种基于安全芯片的操作系统在线升级方法 Download PDFInfo
- Publication number
- CN113885926A CN113885926A CN202111063864.4A CN202111063864A CN113885926A CN 113885926 A CN113885926 A CN 113885926A CN 202111063864 A CN202111063864 A CN 202111063864A CN 113885926 A CN113885926 A CN 113885926A
- Authority
- CN
- China
- Prior art keywords
- operating system
- application
- patch
- code
- upgrading
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012795 verification Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 16
- 238000005056 compaction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 19
- 230000005856 abnormality Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明介绍一种基于安全芯片的操作系统在线升级方法,涉及应对在应用业务状态下进行操作系统的升级请求,在启动操作系统升级后,关闭操作系统补丁功能,从用户应用空闲区中开辟操作系统补丁代码区,然后进行操作系统补丁代码下载。操作系统补丁代码下载完成后,对操作系统补丁代码进行校验,校验成功后更新应用程序管理数据并使能操作系统补丁功能,若校验失败则认为升级失败,操作系统补丁功能保持无效。本发明介绍的方法,可以在应用业务状态下,通过在用户应用空闲区动态开辟操作系统补丁代码区并更新应用程序管理数据,切换操作系统执行流程,解决应用业务状态下完成作系统升级会影响应用业务数据和执行的问题,提高操作系统升级效率。
Description
技术领域
本发明涉及芯片嵌入式技术领域,特别涉及一种基于安全芯片的操作系统在线升级方法。
背景技术
目前,得益于嵌入式技术的普及,应用领域逐步扩大,智能终端业务处理能力不断提高,数据交互需求量不断增大,安全芯片作为一种嵌入式安全单元,OS(OperatingSystem)是安全芯片内的操作系统软件,和安全芯片一起在智能终端中起到至关重要的作用。
操作系统(本文后续以OS简称)主要用于接收和处理外界(如手机或者读卡器)通讯,负责系统、应用、安全、文件等管理,当智能终端等设备的业务流程发生变化、增加新业务,尤其是当安全芯片完成产品化之后,经常需要根据客户需求增加某些业务或更改OS某些功能,为此需要对安全芯片OS软件进行升级。
而现有传统的OS升级方式,需要避开应用业务执行期,将应用业务状态返回到芯片出厂状态后才能进行OS升级,应用业务所有数据和状态丢失,后续需要重新进行应用环境的初始化工作,导致工作效率低下,为用户的使用带来麻烦,因而具有一定局限性。
因此,本文为嵌入式安全芯片设计一种操作系统在线升级方法,能够在应用业务状态下也能完成OS升级,并且不影响已经存在的应用业务的所有数据和状态。
发明内容
本发明所解决的技术问题是,如何设计一种基于安全芯片的操作系统在线升级方法。
本发明的方法针对安全芯片的操作系统在线升级,通过从用户应用空闲区中查找并合并足够的空闲区开辟操作系统补丁代码区,然后进行操作系统补丁代码下载;同时利用校验成功后才修改应用程序管理数据并使能操作系统补丁功能,确保当前系统只有一个有效的操作系统执行代码,实现在应用业务状态下,不影响已经存在的应用业务的所有数据和状态的同时完成操作系统的升级,提升操作系统升级效率。
为了更好的理解图3中操作系统在线升级方法的流程图的流程说明,增加了流程中需要操作的各步骤和模块功能描述,说明如下:
OS原始代码区,是指芯片厂商默认下载的安全芯片操作系统代码区域,如果不进行操作系统的升级,此为唯一有效的操作系统代码;
OS配置管理区,是指维护安全芯片操作系统运行的管理区域,可以包含数据镜像备份、应用事务备份配置、OS操作系统升级标记、应用程序管理数据信息等配置;
应用数据区,是指当前应用业务已经下载数据的区域;
应用空闲区,是指当前可提供给用户下载数据的空闲区域,操作系统会针对应用数据和应用空闲区进行管理,可以包含应用空闲区所有可用的空间信息;
OS补丁代码区,是指用来存放当前要升级的安全芯片操作系统代码,从现有应用空闲区开辟可用的空间作为OS补丁代码区,若没有足够的应用空闲区,会导致升级失败;
内存紧缩,是指配置OS补丁空间前,需要根据待更新的OS代码大小和当前OS补丁代码区大小的差异,由OS升级管理模块决定开辟新OS补丁代码区的策略:待更新的OS代码大小超过当前OS补丁代码区大小,需要动态查找或者内存搬移合并足够的应用空闲区,来满足当前操作系统补丁代码的空间需求,这个过程一般称为内存紧缩;
应用程序管理数据,是指存储应用程序的相关数据信息用于应用管理,可以包括异常信息、程序跳转、应用补丁表等,在进行OS原始代码区和OS补丁代码区的程序运行切换时,需要修改其中的管理信息,保证应用业务执行没有差异。
本发明的方法,在原有安全芯片空间和应用体系结构中,通过在应用空闲区中动态开辟OS补丁代码区作为当前要升级的安全芯片操作系统代码存储,并且配合修改OS配置管理和应用程序管理数据,使得芯片在应用状态下完成操作系统后,操作系统将根据OS配置管理将对应更新的代码将跳转到OS补丁代码区执行,从而不影响已下载的应用数据和执行状态。
本发明提供的方法,提供一种开辟新OS补丁代码区的内存紧缩策略:若待更新的OS代码大小不大于旧OS补丁代码区大小时,直接减少旧OS补丁代码区大小,增加应用空闲区即可;若待更新的OS代码大小大于旧OS补丁代码区大小时,将对旧OS补丁代码区后续的应用空闲区进行内存紧缩操作,直到获取到足够的空间;该策略的目的是更加有效地利用应用空闲区的资源。
本发明提供的方法,提供一种在线升级必要流程,用户可以根据安全芯片特点、应用业务需要,如果有必要可以在启动OS升级前增加用户权限认证,确保OS升级的权限等级和管理;同时在进行OS补丁代码下载时,如果有必要可以进行加密下载,确保OS升级的安全性;
为了保证操作系统更新过程中发生断电或者异常时,重新上电或异常恢复以后,操作系统补丁功能是否使能标记为旧值或者新值,而不是第三态,本发明方法在操作系统更新过程中可以增加镜像处理,在关闭OS补丁功能和使能OS补丁功能时进行数据镜像备份,当新上电或异常恢复时,先判断OS补丁功能的有效和合法性,然后根据判断结果选择需要执行的操作系统代码,这里的镜像处理可以使用业界通用备份方法,目的是保证操作系统代码补丁功能再次上电的正确性,如果有安全芯片自身可以保证,可以不进行镜像处理。
同时为了保证操作系统更新过程中发生断电或者异常时,重新上电或异常恢复以后,操作系统补丁功能和应用程序管理数据的更新保持同步,同时回退为旧值或者更新为新值,本发明方法在操作系统更新应用程序管理数据和使能操作系统补丁功能过程中使用业界应用通用事务方法,目的是保证应用程序管理数据信息的修改和使能操作系统补丁功能的同步性。
本发明方法针对应用空闲区开辟OS补丁代码区进行设计,由于整体用户空间由安全芯片决定,这样会导致完成OS升级后,后续应用数据空间减少;整体应用数据空间、OS补丁代码区规划这是可以由用户指定并需要考虑的。
附图说明
图1是操作系统在线升级方法的安全芯片空间划分变化演示图。
图2是操作系统在线升级方法的功能模块演示。
图3是操作系统在线升级方法的流程图。
具体实施方式
下面结合附图对本发明方法进行详细说明。
如图1所示,本发明的方法基于的安全芯片空间划分变化演示大致如下:
当安全芯片出厂发布后,默认至少包含OS原始代码区、OS配置区和应用空闲区,此时没有应用数据;
当安全芯片完成产品化提供给应用下载了应用数据后,安全芯片的空间划分大致如应用业务状态划分,此时包含有应用数据区,下载了应用对象、数据和状态;同时也存在未下载应用业务的应用空闲区;
基于应用业务状态,如果进行操作系统在线升级后,空间划分将进入OS升级状态分布,从应用空闲区中开辟增加OS补丁代码区;
该部分空间均是指掉电不丢失的存储空间,空间划分区域用来演示变化可以有所差异。
如图2所示,本发明的方法通常可以通过安全芯片如下模块实现:
OS代码执行模块:一般存储于OS原始代码区,执行默认OS代码,根据OS配置管理模块查询的结果决定执行哪一块OS代码;
OS配置管理模块:一般存储于OS配置区,完成OS系统相关数据镜像备份功能、参数[配置功能、OS升级相关标记、应用程序管理数据的存储并供OS代码执行模块查询;
OS升级管理模块:一般存储于OS原始代码区,根据OS配置管理模块判断OS补丁功能是否有效,决定后续OS升级的具体流程、新OS补丁代码区的开辟策略等;
OS配置管理模块需要存储和记录应用程序管理数据,在进行OS升级时能后,能够及时根据OS升级结果更新应用程序管理数据,不影响应用业务的执行;
OS升级管理模块在OS补丁代码下载前,如果有必要可以增加用户权限管理,确保OS升级的权限等级和管理;同时在OS补丁代码下载时,如果有必要可以进行加密下载,确保OS升级的安全性;而在完成校验后修改应用程序管理数据信息并使能操作系统补丁功能时,通常使用应用事务机制进行处理,保证应用程序管理数据信息和操作系统补丁功能使能标志更新状态一致,同时更新成功或回退旧值,保证当前系统只有一个有效的操作系统执行代码。
如图3所示,给出本发明方法具体使用流程图,流程图中介绍使用本发明方法功能如何操作,按以下步骤操作,保证本发明方法功能的正确性,完成应用业务状态下操作系统在线升级功能:
步骤1,在应用状态下,判断接收命令是否是启动操作系统升级命令,若是,将启动操作系统升级,进入步骤2,若不是将跳出操作系统升级流程,结束本流程;
步骤2,若当前安全芯片操作系统补丁代码功能有效,则进入步骤3,否则在确保操作系统补丁功能为无效的状态下,进入步骤4;
步骤3,关闭操作系统补丁功能,进入步骤4;
步骤4,根据待升级的操作系统补丁大小,从用户应用空闲区中查找、整理出足够的空闲区作为操作系统补丁代码区,获取并配置操作系统补丁代码区起始地址和大小,若无足够空间,升级失败,结束本流程,否则进入步骤5;
步骤5,根据升级命令,执行操作系统补丁代码下载,完成后进入步骤6;
步骤6,对本次操作系统升级下载的补丁代码进行校验,确保代码的正确性;若操作系统升级校验成功,进入步骤7;若操作系统升级校验失败,则升级失败,结束本流程;
步骤7,修改应用程序管理数据并使能操作系统补丁功能,完成操作系统升级流程。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导和说明,关于图1、2可以进行很多改变和变化。对示例性流程进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的实施方案进行各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
通过本发明的阐述和本发明介绍的方法,通过对应用空闲区以及应用程序管理数据进行管理,开辟OS补丁代码区,完成在应用业务状态下的OS升级,同时不影响已经存在的应用业务的所有数据和状态,极大地提高OS的升级效率。
Claims (6)
1.一种基于安全芯片的操作系统在线升级方法,其特征在于,按以下步骤操作进行程序执行和处理,应用状态下在不影响应用业务数据和状态的需求下完成操作系统升级:
步骤1,在应用状态下,判断接收命令是否是启动操作系统升级命令,若是,将启动操作系统升级,进入步骤2,若不是将跳出操作系统升级流程,结束本流程;
步骤2,若当前安全芯片操作系统补丁代码功能有效,则进入步骤3,否则在确保操作系统补丁功能为无效的状态下,进入步骤4;
步骤3,关闭操作系统补丁功能,进入步骤4;
步骤4,根据待升级的操作系统补丁大小,从用户应用空闲区中查找、整理出足够的空闲区作为操作系统补丁代码区,获取并配置操作系统补丁代码区起始地址和大小,若无足够空间,升级失败,结束本流程,否则进入步骤5;
步骤5,根据升级命令,执行操作系统补丁代码下载,完成后进入步骤6;
步骤6,对本次操作系统升级下载的补丁代码进行校验,确保代码的正确性;若操作系统升级校验成功,进入步骤7;若操作系统升级校验失败,则升级失败,结束本流程;
步骤7,修改应用程序管理数据并使能操作系统补丁功能,完成操作系统升级流程。
2.根据权利要求1所述的方法,其特征在于,在所述步骤2~6的过程中,即启动操作系统升级命令后到操作系统补丁代码升级成功前,确保操作系统补丁代码功能为无效的状态,利用操作系统原始代码的功能完成本次操作系统升级,并且确保操作系统升级过程中发生异常时可以从操作系统原始代码开始重新正常执行。
3.根据权利要求1所述的方法,其特征在于,所述步骤4是根据待更新的操作系统代码大小,对应用空闲区进行内存紧缩动态开辟新操作系统补丁代码区,所述内存紧缩是指当更新的操作系统代码大小超过当前操作系统补丁代码区大小,需要动态查找或者内存搬移合并足够的应用空闲区,来满足当前操作系统补丁代码的空间需求。
4.根据权利要求1所述的方法,其特征在于,所述步骤7中修改应用程序管理数据,操作系统补丁功能有效时对现有应用异常信息、程序跳转、应用补丁表等程序管理数据进行配置和修改,确保切换操作系统代码执行流程时不影响已存在应用业务的执行。
5.根据权利要求1所述的方法,其特征在于步骤7中修改应用程序管理数据并使能操作系统补丁功能需要在同一个应用事务流程中完成,保证同步更新或者回退旧值,使得当前系统只有一个有效的操作系统执行代码,在运行时决定是否切换操作系统代码执行流程。
6.根据权利要求1所述的方法,其特征在于,所述步骤1中应用状态是指安全芯片完成初始化后的应用业务状态,无需返回芯片厂商及状态,完成操作系统在线升级,同时不影响应用业务的数据和状态需求,提高操作系统升级效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111063864.4A CN113885926A (zh) | 2021-09-10 | 2021-09-10 | 一种基于安全芯片的操作系统在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111063864.4A CN113885926A (zh) | 2021-09-10 | 2021-09-10 | 一种基于安全芯片的操作系统在线升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113885926A true CN113885926A (zh) | 2022-01-04 |
Family
ID=79008819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111063864.4A Pending CN113885926A (zh) | 2021-09-10 | 2021-09-10 | 一种基于安全芯片的操作系统在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113885926A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344434A (zh) * | 2022-10-19 | 2022-11-15 | 紫光同芯微电子有限公司 | 用于打补丁的方法及装置、电子设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678180A (zh) * | 2013-11-29 | 2014-03-26 | 武汉天喻信息产业股份有限公司 | 智能卡非易失性存储器的管理方法 |
US20140325498A1 (en) * | 2013-04-24 | 2014-10-30 | Nintendo Co, Ltd. | Selective operating system patching/updating |
CN104657185A (zh) * | 2015-03-12 | 2015-05-27 | 东港股份有限公司 | 一种Java卡的Java代码补丁方法 |
CN110162328A (zh) * | 2019-05-28 | 2019-08-23 | 东信和平科技股份有限公司 | 一种智能卡操作系统升级方法及装置 |
-
2021
- 2021-09-10 CN CN202111063864.4A patent/CN113885926A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140325498A1 (en) * | 2013-04-24 | 2014-10-30 | Nintendo Co, Ltd. | Selective operating system patching/updating |
CN103678180A (zh) * | 2013-11-29 | 2014-03-26 | 武汉天喻信息产业股份有限公司 | 智能卡非易失性存储器的管理方法 |
CN104657185A (zh) * | 2015-03-12 | 2015-05-27 | 东港股份有限公司 | 一种Java卡的Java代码补丁方法 |
CN110162328A (zh) * | 2019-05-28 | 2019-08-23 | 东信和平科技股份有限公司 | 一种智能卡操作系统升级方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344434A (zh) * | 2022-10-19 | 2022-11-15 | 紫光同芯微电子有限公司 | 用于打补丁的方法及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7991988B2 (en) | Communication device and firmware update method thereof | |
US10162625B2 (en) | Vehicle control storage methods and systems | |
CN106610840A (zh) | 一种无线固件升级方法及系统 | |
KR101007739B1 (ko) | Fota 서비스 제공 방법 및 그 시스템 | |
US10268845B2 (en) | Securing of the loading of data into a nonvolatile memory of a secure element | |
US20020065958A1 (en) | System and method for implementing a self-activating embedded application | |
CN109062598A (zh) | 一种安全的ota升级方法及系统 | |
CN111240720A (zh) | 引导程序升级方法、装置及存储介质 | |
CN109144532B (zh) | 升级方法及装置 | |
CN101482823A (zh) | 一种单板应用版本的实现方法及系统 | |
CN104657161A (zh) | 移动终端固件更新方法及装置 | |
CN107643898A (zh) | 终端升级方法及装置 | |
CN101895883B (zh) | 一种支持鉴权算法更新的智能卡及方法 | |
CN108170456B (zh) | 电子设备的固件升级方法及装置 | |
CN105677409A (zh) | 一种系统升级方法及装置 | |
CN113885926A (zh) | 一种基于安全芯片的操作系统在线升级方法 | |
CN114610355A (zh) | 一种适用于电力芯片控制软件的升级方法及装置 | |
CN113805926A (zh) | 软件升级方法、车辆及计算机可读存储介质 | |
WO2021012170A1 (zh) | 固件启动方法、设备及计算机可读存储介质 | |
CN115951920A (zh) | 移动设备升级方法、装置、存储单元和移动设备 | |
CN115481405A (zh) | 一种嵌入式系统的安全启动和优化升级方法 | |
CN115437674A (zh) | 一种固件升级方法、装置、介质及电子设备 | |
US20070220186A1 (en) | Frequency converter controller, peripheral device, method and program | |
CN102460386B (zh) | 用于在引导过程期间加载文件的方法和装置 | |
CN111666094B (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 |