CN111399894B - 智能卡、智能卡操作系统升级方法及其系统 - Google Patents
智能卡、智能卡操作系统升级方法及其系统 Download PDFInfo
- Publication number
- CN111399894B CN111399894B CN202010207069.7A CN202010207069A CN111399894B CN 111399894 B CN111399894 B CN 111399894B CN 202010207069 A CN202010207069 A CN 202010207069A CN 111399894 B CN111399894 B CN 111399894B
- Authority
- CN
- China
- Prior art keywords
- cos
- program code
- storage area
- cos program
- sub
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013500 data storage Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 description 10
- 238000012795 verification Methods 0.000 description 6
- 230000009849 deactivation Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及智能卡领域,尤其涉及智能卡、智能卡操作系统升级方法及其系统,其中,智能卡操作系统升级方法包括:用户应用程序通过处于激活状态的子COS程序代码存储区内的COS程序将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区,其中用户应用程序运行于智能卡的用户数据存储区;并且,处于激活状态的子COS程序代码存储区内的COS程序将访问接口存储区内存储的系统启动入口记录的地址修改为处于去激活状态子COS程序代码存储区的地址;待智能卡重新上电后,依据系统启动入口记录的地址运行所述地址对应的子COS程序代码存储区存储的COS程序。本申请保证了智能卡操作系统能够顺利升级,并且同时保证了智能卡能够全面的满足新的需求。
Description
技术领域
本申请涉及智能卡技术领域,尤其涉及一种智能卡、智能卡操作系统升级方法及其系统。
背景技术
随着信息技术革命的不断演进,智能卡作为运营商的安全个人用户信息的载体,被广泛的应用到通讯终端中。随着物联网技术的兴起,嵌入式智能卡(即在终端设备中不可移除的智能卡)成为了物联网设备中不可或缺的安全载体。
然而,智能卡在给网络链接带来便利的同时,因其使用场景和个性需求的多样性,使得已经发行的智能卡产品无法满足新的需求,或因业务需求变化,需要更新已发行的智能卡的功能,用于更好的满足用户体验,因此,需要使智能卡具备更新升级的能力。
现有智能卡操作系统的升级方法主要是打补丁的方法,具体是通过写入新的代码程序(即补丁程序),使得智能卡的COS(即操作系统)废弃相应的旧的代码程序,运行新的代码程序,而该方法需要预先在智能卡的COS中设置补丁入口,通过补丁入口来选择使用新代码程序或者旧代码程序。
然而,补丁入口的设置存在无法预知的可能,也就是说无法准确的预知到COS的哪部分代码程序可能会需要补丁,所以该方法难以对COS进行全面的更新,另外,补丁的数量是有限制的,不是COS的所有代码程序都会被设置补丁入口,所以这也就进一步的限制了对COS进行全面的更新,因此该方法由于COS的部分未得到更新,从而使得智能卡可能无法满足新的需求。
另外,由于补丁程序较COS会小很多,所以现有技术中通常为补丁的存放而预留的空间是有限的,写入较多的补丁程序可能会出现因空间不足而无法打补丁的情况,因此现有技术中会由于COS无法更新,从而使得智能卡可能无法满足更多新的需求。
此外,现有技术中的智能卡在进行更新时,智能卡中执行更新操作的COS的代码同时也正在被更新升级,因此COS会出现运行错误的现象,使得智能卡难以被更新,当然也就无法保证智能卡满足新的需求。除非智能卡中用来管理COS升级的程序永远不需要更新,然而智能卡中的程序不更新,显然可能无法保证智能卡满足新的需求。
大多数情况下,智能卡接收到升级更新请求时,正处于工作状态,若此时直接更新COS中已有的旧程序代码,在只更新了部分代码的情况下,如果运行该部分程序,将会出现不可预期的异常,另外,更新COS程序的过程不能被打断,一旦更新COS程序的过程被打断,可能会出现代码错误的现象,影响智能卡的正常工作。
因此,如何保证智能卡操作系统的顺利升级,并且保证智能卡能够全面的满足新的需求,是目前本领域技术人员急需解决的技术问题。
发明内容
本申请提供了一种智能卡、智能卡操作系统升级方法及其系统,以保证智能卡操作系统能够顺利升级,并且同时保证智能卡能够全面的满足新的需求。
为解决上述技术问题,本申请提供如下技术方案:
一种智能卡操作系统升级方法,包括如下步骤:用户应用程序通过处于激活状态的子COS程序代码存储区内的COS程序将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区,其中用户应用程序运行于智能卡的用户数据存储区;并且,处于激活状态的子COS程序代码存储区内的COS程序将访问接口存储区内存储的系统启动入口记录的地址修改为处于去激活状态子COS程序代码存储区的地址;待智能卡重新上电后,依据系统启动入口记录的地址运行所述地址对应的子COS程序代码存储区存储的COS程序。
如上所述的智能卡操作系统升级方法,其中,优选的是,通过处于激活状态的COS程序中的操作系统管理器将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区中,并且将系统启动入口记录的地址修改为处于去激活状态子COS程序代码存储区的地址。
如上所述的智能卡操作系统升级方法,其中,优选的是,若系统启动入口记录的地址对应的是存储新的COS程序的子COS程序代码存储区,则运行新的COS程序;若系统启动入口记录的地址对应的是存储旧的COS程序的子COS程序代码存储区,则运行旧的COS程序。一种智能卡,包括:用户数据存储区、访问接口存储区和COS程序代码存储区,其中,COS程序代码存储区包括处于激活状态的子COS程序代码存储区和处于去激活状态的子COS程序代码存储区;运行于用户数据存储区的用户应用程序通过处于激活状态的子COS程序代码存储区内的COS程序,将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区中;并且,处于激活状态的子COS程序代码存储区内的COS程序将访问接口存储区内的系统启动入口修改为处于去激活状态的子COS程序代码存储区,激活该处于去激活状态的子COS程序代码存储区,使其处于激活状态,且重新上电后生效,在智能卡重新上电后,通过系统启动入口的指示运行新的COS程序代码。
如上所述的智能卡,其中,优选的是,处于激活状态的子COS程序代码存储区和处于去激活状态的子COS程序代码存储区均能够存储一个COS程序的全部代码。
如上所述的智能卡,其中,优选的是,通过COS程序中的操作系统管理器将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区中,并且将访问接口存储区内存储的系统启动入口修改为处于去激活状态的子COS程序代码存储区。
如上所述的智能卡,其中,优选的是,用户应用程序为系统级应用ISD,所述系统级应用ISD接收COS更新服务端发送的新的COS程序代码。
如上所述的智能卡,其中,优选的是,用户应用程序为普通应用APPLET,所述普通应用APPLET接收用户终端中的APP发送的新的COS程序代码,所述新的COS程序代码是用户终端中的APP从更新服务端下载的。
一种智能卡操作系统升级系统,包括:COS更新服务端和上述所述智能卡,智能卡的系统级应用ISD接收COS更新服务端发送新的COS程序代码。
一种智能卡操作系统升级系统,包括:COS更新服务端、用户终端和上述所述的智能卡,所述用户终端接收COS更新服务端发送的新的COS程序代码,并且将接收到的新的COS程序代码发送至智能卡的普通应用APPLET。
相对上述背景技术,由于本发明所提供的智能卡、智能卡操作系统升级方法及其系统,下载至处于去激活状态的子COS程序代码存储区的新的COS程序代码被激活后,是作为一个完整的COS程序运行的,所以本申请可以全面的对COS程序进行更新升级,从一方面使得智能卡可以满足更多的新的需求;在激活的COS程序代码运行的过程中,该COS程序仅需要将下载的新的COS程序代码存储至另一个处于去激活状态的子COS程序代码存储区,因此避免了执行更新操作的COS的程序代码同时正在被更新升级,所以从另一方面使得智能卡避免了代码运行异常;并且同时在不同的子COS程序代码存储区存储新的COS程序代码和旧的COS程序代码,所以即使下载新的COS程序代码的过程被打断,或者将系统启动入口修改为处于去激活状态的子COS程序代码存储区的过程未完成,但是由于旧的COS程序和激活状态没有被修改,所以也可以依旧运行旧的COS程序,因此本申请可以何保证智能卡操作系统的顺利升级。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的智能卡的示意图;
图2是本申请实施例提供的智能卡操作系统升级方法的流程图;
图3是本申请实施例提供的智能卡操作系统在用户无感知状态下升级方法的流程图;
图4是本申请实施例提供的智能卡操作系统在用户参与决定的升级方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
请参见图1,图1是本申请实施例提供的智能卡的示意图。
本申请提供了一种智能卡,包括:用户数据存储区110、COS程序代码存储区120和访问接口存储区130,具体的是将存储COS程序代码的芯片的存储区域划分为用户数据存储区110(USER DATA)、COS程序代码存储区120(HIGH LEVEL OS)和访问接口存储区130(LOWLEVEL OS ENTRY)。
其中,用户数据存储区110(USER DATA)用于存储用户应用程序和用户数据,例如:系统级应用ISD、普通应用APPLET(操作系统下载升级应用)等,用户数据存储区110的空间管理和数据分配均由COS程序代码存储区120中的智能卡操作系统(即COS程序)完成,存储于COS程序代码存储区120的COS程序被更新升级时,不改变用户数据存储区110内的数据。
COS程序代码存储区120包括多个子COS程序代码存储区,也就是说COS程序代码存储区120被分割成多个子COS程序代码存储区,如图1所示,COS程序代码存储区120包括子COS程序代码存储区121和子COS程序代码存储区122。
每个子COS程序代码存储区均单独用于存储下载的COS程序,其中,只有一个子COS程序代码存储区内存储的COS程序正在被使用,也就是说该子COS程序代码存储区内存储的COS程序已经被激活,那么该子COS程序代码存储区处于激活状态,剩余子COS程序代码存储区内存储的COS程序未被使用,也就是说剩余的子COS程序代码存储区内存储的COS程序没有被激活,准备接下来被激活使用,那么该子COS程序代码存储区处于去激活状态。如图1所示,子COS程序代码存储区121处于激活状态,子COS程序代码存储区122处于去激活状态。并且每个处于去激活状态的子COS程序代码存储区只能被处于激活状态的子COS程序代码存储区内的COS程序调用访问接口存储区130中的芯片擦写接口擦写,不能被其他任何区域读取。
在上述基础上,多个子COS程序代码存储区的存储空间大小彼此相等,或者是多个子COS程序代码存储区的存储空间大小不相等,但是不管子COS程序代码存储区的存储空间是否相等,均需要使得每个子COS程序代码存储区可以存储一个COS程序的全部代码,也就是说不管是处于激活状态的子COS程序代码存储区还是处于去激活状态的子COS程序代码存储区均能够存储一个COS程序的全部代码。
访问接口存储区130用于存储芯片提供的芯片访问接口,例如:系统启动入口、芯片擦写接口和硬件算法接口等。其中,在智能卡上电启动时,系统启动入口用于指示启动多个子COS程序代码存储区中的一个子COS程序代码存储区存储的COS程序,以使该子COS程序代码存储区处于激活状态,而其余的子COS程序代码存储区则处于去激活的状态。例如通过系统启动入口指示子COS程序代码存储区121中的COS程序或者子COS程序代码存储区122中的COS程序启动。
具体的,当智能卡处于工作状态时,子COS程序代码存储区121中的COS程序正在被运行,若此时进行智能卡操作系统的更新升级,则运行于用户数据存储区110内的用户应用程序通过处于激活状态的子COS程序代码存储区121内的COS程序,具体通过该区域COS程序中的操作系统管理器(OS MANAGER),将下载的新的COS程序代码存储在处于去激活状态的子COS程序代码存储区122中。
待智能卡处于空闲状态时,处于激活状态的子COS程序代码存储区121内的COS程序将访问接口存储区130内存储的系统启动入口修改为处于去激活状态的子COS程序代码存储区122。具体的,处于激活状态的子COS程序代码存储区121内的操作系统管理器(OSMANAGER)将存储了新的COS程序代码的处于去激活状态的子COS程序代码存储区122地址写入访问接口存储区130存储的系统启动入口中,以修改系统启动入口,此时处于激活状态的子COS程序代码存储区121被去激活,而处于去激活状态的子COS程序代码存储区122被激活,且系统重新上电启动后生效。
重新启动智能卡时,由于访问接口存储区130内存储的系统启动入口被修改为处于去激活状态的子COS程序代码存储区122,也就是系统启动入口中写入了子COS程序代码存储区122的地址,因此智能卡重新上电后,则会根据系统启动入口的指示,运行子COS程序代码存储区122中存储的新的COS程序代码,此时子COS程序代码存储区122的激活状态生效,而子COS程序代码存储区121则去激活状态生效,从而完成了COS系统的更新升级。
由于本申请下载至处于去激活状态的子COS程序代码存储区的新的COS程序代码被激活生效后,是作为一个完整的COS程序运行的,也就是说本申请更新升级的整套COS程序,所以本申请可以全面的对COS程序进行更新升级,从一方面使得智能卡可以满足更多的新的需求。
另外,本申请中在激活的COS程序代码运行的过程中,该COS程序仅需要将下载的新的COS程序代码存储至另一个处于去激活状态的子COS程序代码存储区,因此避免了执行更新操作的COS的程序代码同时正在被更新升级,防止了COS程序出现运行错误的现象,使得智能卡被顺利更新,所以从另一方面使得智能卡可以满足更多的新的需求。
此外,本申请同时在不同的子COS程序代码存储区存储新的COS程序代码和旧的COS程序代码,所以即使下载新的COS程序代码的过程被打断,或者将系统启动入口修改为处于去激活状态的子COS程序代码存储区的过程未完成,即没有将存储了新的COS程序的子COS程序代码存储区的地址写入系统启动入口,但是由于旧的COS程序未被修改,也可以依旧运行旧的COS程序,因此本申请可以何保证智能卡操作系统的顺利升级。
在上述基础上,本申请中的每个子COS程序代码存储区均是可以单独存储一套完整的COS程序代码的存储区域,所以本申请避免了出现因空间不足而无法打补丁的情况,因此本申请从另一方面也使得智能卡可以满足更多新的需求。
当然,在子COS程序代码存储区122处于激活的状态时,按照上述方法同样可以将新的COS程序代码存储到处于去激活状态的子COS程序代码存储区121内,待智能卡处于空闲状态时,将系统启动入口进行修改,以使得智能卡重新上电后可以使得子COS程序代码存储区121内下载的新的COS程序代码激活生效。
实施例二
请参阅图2,图2是本申请一个实施例提供的智能卡操作系统升级方法的流程图。
本申请还提供了一种智能卡操作系统升级方法,包括如下步骤:
步骤S210、用户应用程序通过处于激活状态的子COS程序代码存储区内的COS程序将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区,其中用户程序运行于智能卡的用户数据存储区;
智能卡可以被应用于各种场景中,但是智能卡操作系统的升级通常有用户无感知状态下的更新升级和用户参与决定的更新升级两种情况。例如:在物联网领域,大多数场景是无人值守的,并且物联网终端也没有人机交互界面,因此在该种场景下实施的是用户无感知状态下的更新升级;然而,在个人终端领域,为了让用户得到更好的体验,则要让用户参与或者由用户申请升级更新,实施用户参与决定的更新升级。
基于此,在用户无感知状态下更新升级时,是通过用户应用程序中的安全级别较高、可以访问操作系统资源的系统级应用ISD与COS更新服务端(可以是运营商端)通信,以下载新的COS程序代码,在此种情况下,更新升级不通知用户。而在用户参与决定的更新升级时,是通过用户应用程序中的普通应用APPLET(操作系统下载升级应用(OS UPDATAAPPLET))与用户终端中的APP通信,接收用户终端中的APP从COS更新服务端下载的新的COS程序代码。
具体的,处于激活状态的子COS程序代码存储区内的COS程序的操作系统管理器(OS MANAGER)将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区中。
步骤S220、处于激活状态的子COS程序代码存储区内的COS程序将访问接口存储区内存储的系统启动入口记录的地址修改为处于去激活状态子COS程序代码存储区的地址,该子COS程序代码存储区存储了已下载的新的COS程序代码;
具体的,处于激活状态的子COS程序代码存储区内的COS程序的操作系统管理器(OS MANAGER)将存储了新的COS程序代码的处于去激活状态的子COS程序代码存储区的地址写入访问接口存储区存储的系统启动入口中,以将系统启动入口进行修改。
步骤S230、待智能卡重新上电后,依据系统启动入口记录的地址运行该地址对应的子COS程序代码存储区存储的COS程序。
若系统启动入口记录的地址对应的是存储新的COS程序代码的子COS程序代码存储区,则运行新的COS程序,智能卡操作系统更新升级成功;若系统启动入口记录的地址对应的是存储旧的COS程序代码的子COS程序代码存储区,则依旧运行该旧的COS程序,从而保证了即使智能卡操作系统没有更新成功,也未破坏旧的COS程序,从而保证了智能卡能够顺利运行。
请参阅图3,图3是本申请实施例提供的智能卡操作系统在用户无感知状态下升级方法的流程图;
在用户无感知状态下,COS更新服务端发起与智能卡ISD的通信连接,将建立https连接的更新请求发送给智能卡中的ISD(S310),智能卡中的ISD根据更新请求携带的数据,发起https握手并完成https传输通道连接。智能卡ISD发送连接建立成功的通知信息,告知COS更新服务端通道建立成功(S320)。
COS更新服务端将服务器证书作为数据与请求智能卡当前激活的COS程序信息的指令一起下发给智能卡ISD(S330),其中智能卡当前激活的COS程序信息包括COS版本、COS证书等。智能卡的ISD使用预存的CI公钥证书验证COS更新服务端发送的服务器证书,对COS更新服务端发送服务器证书验证通过后,将智能卡当前激活的COS程序的版本和COS程序的证书返回给COS更新服务端(S340)。
COS更新服务端收到智能卡ISD发送的COS程序的版本和智COS程序的证书后,用COS更新服务端预存的CI公钥验证COS程序的证书,验证通过后,根据智能卡当前激活的COS程序的版本来确定是否能够进行COS更新升级。若需要更新升级,则COS更新服务端生成临时公私钥对,其中公钥ePUB,私钥ePRI,然后,将公钥ePUB和新COS程序代码的HASH值H作为数据,用COS更新服务端的私钥进行签名,得到数据“ePUB||H||SIGN1”,并下发给智能卡的ISD,发起认证请求(S350)。智能卡ISD收到认证请求后,用COS更新服务器的证书验证签名SIGN1,若得到正确的ePUB||H,然后用临时公钥ePUB与COS程序的证书的私钥协商生成会话密钥S,并用会话密钥S加密H和生成的随机数RAND生成R,即H||RAND生成R,然后将R返回给COS更新服务器(S360)。
COS更新服务器收到密文数据R后,用临时私钥ePRI与COS证书的公钥协商生成会话密钥S,解密密文R,并验证H值,待验证通过后,将新的COS程序代码用会话密钥S加密签名后发送给智能卡的ISD(S370),将新的COS程序代码缓存至处于去激活状态的子COS程序代码存储区,接收并用会话密钥解密完所有新COS密文数据后,计算HASH并验证与H是否相同,若HASH验证通过返回新的COS程序代码下载成功的结果(S380)。
至此,智能卡中已有新旧两套COS程序代码,待智能卡处于空闲状态时,旧的COS程序将新的COS的存储地址写入系统启动入口,待智能卡重新启动后,运行系统启动入口记录的地址指示的新的COS程序,完成COS程序的更新升级。在上述过程中,如果出现错误,也不会影响当前COS程序的运行和用户数据,另外,还可以回溯更新到旧的COS程序。
图4是本申请实施例提供的智能卡操作系统在用户参与决定的升级方法的流程图。
用户参与决定更新升级的场景下,智能卡上运行的操作系统下载升级应用OSUPDATE APPLET,用户终端上运行有与操作系统下载升级应用OS UPDATE APPLET通信的APP。
用户通过终端APP获取智能卡内当前运行的COS程序的版本和证书(S410)。智能卡的OS UPDATE APPLET向用户终端APP返回当前运行的COS程序的版本和证书(S420),以通过终端APP将当前智能卡内处于激活状态的COS程序的COS版本和证书展示给用户。
用户通过终端APP向COS更新服务端请求可更新的COS程序列表(S430)。COS更新服务端下发可更新的COS程序列表(S440),通过终端APP将可更新的COS程序标识(如:COS程序名称及版本号等)列表展示给用户。
用户通过展示的可更新的COS程序列表,选择要下载的新的COS程序,终端APP发送用户选择的新的COS程序的下载请求(S450),该下载请求中包括智能卡中当前运行的COS程序的版本和COS程序的证书。COS更新服务端收到终端APP发送的智能卡当前运行的COS程序的版本和COS程序的证书后,用CI公钥证书验证智能卡当前运行的COS程序的证书,并根据智能卡当前运行的COS程序的版本来确定是否能够进行COS程序的更新升级。需要进行更新升级,则COS更新服务端生成临时公私钥对,其中公钥ePUB,私钥ePRI,然后,将公钥ePUB和新的COS程序代码的HASH值H作为数据,用COS更新服务端的私钥进行签名,得到数据“ePUB||H||SIGN1||COS更新服务端证书”并下发给终端APP,发起认证请求(S460)。
终端APP接收到数据“ePUB||H||SIGN1||COS更新服务端证书”,并将其转发给智能卡的操作系统下载升级应用OS UPDATE APPLET(S470)。智能卡的OS UPDATE APPLET收到认证请求后,用COS更新服务端证书验证签名SIGN1,得到正确的ePUB||H,然后用临时公钥ePUB与当前运行的COS程序的私钥协商生成会话密钥S,同时还生成随机数RAND,用会话密钥S加密H||RAND生成认证结果R,然后将认证结果R返回给终端APP(S480)。
终端APP接收到认证结果R后,将其转发给COS更新服务端器(S490)。COS更新服务端收到认证结果R后,用临时私钥ePRI与智能卡当前运行的COS程序的证书的公钥协商生成会话密钥S,解密认证结果R,验证H值。待验证通过后,将新的COS程序代码用会话密钥S加密签名后,发送给终端APP(S4100)。
终端APP接收到新的COS程序代码用会话密钥S加密签名后的数据,将其转发给智能卡的操作系统下载升级应用OS UPDATE APPLET(S4110)。智能卡OS UPDATE APPLET验证签名并解密数据后,缓存新的COS程序代码至处于去激活状态的子COS程序代码存储区中。智能卡的操作系统下载升级应用OS UPDATE APPLET向终端APP返回新的COS下载成功的结果(S4120)。终端APP将接收到的新的COS下载成功的结果转发给COS更新服务端(S4130),并且终端APP同时提示用户可以重启智能卡,以完成更新。
至此,智能卡中已有新旧两套COS程序代码,待用户确认重新启动智能卡完成更新时,旧的COS程序将新的COS的存储地址写入系统启动入口,待智能卡重新启动后,运行系统启动入口记录的地址指示的新的COS程序,完成COS程序的更新升级。在上述过程中,如果出现错误,也不会影响当前COS程序的运行和用户数据,另外,还可以回溯更新到旧的COS程序。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种智能卡操作系统升级方法,其特征在于,包括如下步骤:
用户应用程序通过处于激活状态的子COS程序代码存储区内的COS程序将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区,其中用户应用程序运行于智能卡的用户数据存储区,每个子COS程序代码存储区存储一个COS程序的全部代码;
并且,待智能卡处于空闲状态时,处于激活状态的子COS程序代码存储区内的COS程序将访问接口存储区内存储的系统启动入口记录的地址修改为处于去激活状态子COS程序代码存储区的地址,以激活该处于去激活状态的子COS程序代码存储区;
待智能卡重新上电后,依据系统启动入口记录的地址运行所述地址对应的子COS程序代码存储区存储的COS程序,并且该子COS程序代码存储区的新的COS程序代码被激活生效后,是作为一个完整的COS程序运行的。
2.根据权利要求1所述的智能卡操作系统升级方法,其特征在于,通过处于激活状态的COS程序中的操作系统管理器将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区中,并且将系统启动入口记录的地址修改为处于去激活状态子COS程序代码存储区的地址。
3.根据权利要求1或2所述的智能卡操作系统升级方法,其特征在于,若系统启动入口记录的地址对应的是存储新的COS程序的子COS程序代码存储区,则运行新的COS程序;
若系统启动入口记录的地址对应的是存储旧的COS程序的子COS程序代码存储区,则运行旧的COS程序。
4.一种智能卡,其特征在于,包括:用户数据存储区、访问接口存储区和COS程序代码存储区,其中,COS程序代码存储区包括处于激活状态的子COS程序代码存储区和处于去激活状态的子COS程序代码存储区,每个子COS程序代码存储区存储一个COS程序的全部代码;
运行于用户数据存储区的用户应用程序通过处于激活状态的子COS程序代码存储区内的COS程序,将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区中;
并且,待智能卡处于空闲状态时,处于激活状态的子COS程序代码存储区内的COS程序将访问接口存储区内的系统启动入口修改为处于去激活状态的子COS程序代码存储区,激活该处于去激活状态的子COS程序代码存储区,使其处于激活状态,且重新上电后生效,在智能卡重新上电后,通过系统启动入口指示的地址运行所述地址对应的子COS程序代码存储区存储的新的COS程序代码,并且该子COS程序代码存储区的新的COS程序代码被激活生效后,是作为一个完整的COS程序运行的。
5.根据权利要求4所述的智能卡,其特征在于,处于激活状态的子COS程序代码存储区和处于去激活状态的子COS程序代码存储区均能够存储一个COS程序的全部代码。
6.根据权利要求4或5所述的智能卡,其特征在于,通过COS程序中的操作系统管理器将下载的新的COS程序代码存储至处于去激活状态的子COS程序代码存储区中,并且将访问接口存储区内存储的系统启动入口修改为处于去激活状态的子COS程序代码存储区。
7.根据权利要求4或5所述的智能卡,其特征在于,用户应用程序为系统级应用ISD,所述系统级应用ISD接收COS更新服务端发送的新的COS程序代码。
8.根据权利要求4或5所述的智能卡,其特征在于,用户应用程序为普通应用APPLET,所述普通应用APPLET接收用户终端中的APP发送的新的COS程序代码,所述新的COS程序代码是用户终端中的APP从更新服务端下载的。
9.一种智能卡操作系统升级系统,其特征在于,包括:COS更新服务端和权利要求7所述智能卡,智能卡的系统级应用ISD接收COS更新服务端发送新的COS程序代码。
10.一种智能卡操作系统升级系统,其特征在于,包括:COS更新服务端、用户终端和权利要求8所述的智能卡,所述用户终端接收COS更新服务端发送的新的COS程序代码,并且将接收到的新的COS程序代码发送至智能卡的普通应用APPLET。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010207069.7A CN111399894B (zh) | 2020-03-23 | 2020-03-23 | 智能卡、智能卡操作系统升级方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010207069.7A CN111399894B (zh) | 2020-03-23 | 2020-03-23 | 智能卡、智能卡操作系统升级方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399894A CN111399894A (zh) | 2020-07-10 |
CN111399894B true CN111399894B (zh) | 2023-10-31 |
Family
ID=71429108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010207069.7A Active CN111399894B (zh) | 2020-03-23 | 2020-03-23 | 智能卡、智能卡操作系统升级方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399894B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434165A (zh) * | 2021-06-02 | 2021-09-24 | 武汉天喻信息产业股份有限公司 | 一种嵌入式操作系统的补丁更新方法及系统 |
CN113612836B (zh) * | 2021-07-30 | 2023-04-07 | 恒宝股份有限公司 | 连接方法、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001006798A1 (en) * | 1999-07-16 | 2001-01-25 | Excel Switching Corporation | Method and apparatus for in service software upgrade for expandable telecommunications system |
CN1470991A (zh) * | 2002-07-25 | 2004-01-28 | 联想(北京)有限公司 | 一种采用与非闪存作系统存储器的方法及装置 |
CN102163157A (zh) * | 2011-04-07 | 2011-08-24 | 北京百纳威尔科技有限公司 | 非智能终端升级方法、非智能终端和应用服务器 |
CN103761118A (zh) * | 2013-12-27 | 2014-04-30 | 北京大唐智能卡技术有限公司 | 一种智能卡及智能卡内部署应用的方法 |
-
2020
- 2020-03-23 CN CN202010207069.7A patent/CN111399894B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001006798A1 (en) * | 1999-07-16 | 2001-01-25 | Excel Switching Corporation | Method and apparatus for in service software upgrade for expandable telecommunications system |
CN1470991A (zh) * | 2002-07-25 | 2004-01-28 | 联想(北京)有限公司 | 一种采用与非闪存作系统存储器的方法及装置 |
CN102163157A (zh) * | 2011-04-07 | 2011-08-24 | 北京百纳威尔科技有限公司 | 非智能终端升级方法、非智能终端和应用服务器 |
CN103761118A (zh) * | 2013-12-27 | 2014-04-30 | 北京大唐智能卡技术有限公司 | 一种智能卡及智能卡内部署应用的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111399894A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810894B (zh) | 终端授权方法、装置、计算机设备和存储介质 | |
CN107710672B (zh) | 软件分配处理装置、软件分配处理方法以及车辆 | |
US20180316508A1 (en) | Methods and apparatus to provide for efficient and secure software updates | |
CN111399894B (zh) | 智能卡、智能卡操作系统升级方法及其系统 | |
WO2019062635A1 (zh) | 升级方法和装置 | |
CN106612192A (zh) | 设备的升级方法、装置和系统 | |
CN109002312A (zh) | 软件升级方法、装置及升级服务器和设备 | |
EP3764224B1 (en) | Resource permission processing method and apparatus, and storage medium and chip | |
JP5017868B2 (ja) | Icカードのプログラム修正システム、プログラム、及びicカード | |
CN114153484A (zh) | 更新程序的运行方法、装置、电子装置和存储介质 | |
CN111064723B (zh) | 一种基于备份系统的空中下载升级方法及系统 | |
CN114268614A (zh) | 一种设备固件升级方法、装置及系统 | |
US11763003B2 (en) | Secure firmware interface | |
CN115102855B (zh) | 智能水表嵌入式软件在线升级方法及系统 | |
CN110493644A (zh) | 电视应用升级方法、电视终端及服务器 | |
JP7439720B2 (ja) | 更新データを配信するサーバ、方法及びプログラム | |
KR20110137064A (ko) | 이동통신 단말기 및 이동통신 단말기의 펌웨어 업데이트 방법 | |
WO2023246594A1 (zh) | 终端、操作系统切换方法、存储介质 | |
CN117610089B (zh) | 多核异构芯片的加密方法、系统、设备和存储介质 | |
US20220405083A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US20220398089A1 (en) | Vehicle control device and program management method | |
CN116915603A (zh) | Ota升级方法、装置及电子设备 | |
CN117707578A (zh) | 一种信标固件升级方法、装置及系统 | |
CN113434165A (zh) | 一种嵌入式操作系统的补丁更新方法及系统 | |
WO2018176492A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |