CN103577221A - 安全元件的操作系统的更新 - Google Patents
安全元件的操作系统的更新 Download PDFInfo
- Publication number
- CN103577221A CN103577221A CN201310410455.6A CN201310410455A CN103577221A CN 103577221 A CN103577221 A CN 103577221A CN 201310410455 A CN201310410455 A CN 201310410455A CN 103577221 A CN103577221 A CN 103577221A
- Authority
- CN
- China
- Prior art keywords
- operating system
- safety element
- renovator
- nonvolatile memory
- boot
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000004891 communication Methods 0.000 claims description 26
- 238000000034 method Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 abstract description 6
- 230000004913 activation Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 12
- 101100462325 Arabidopsis thaliana OSB1 gene Proteins 0.000 description 6
- 101100462327 Arabidopsis thaliana OSB2 gene Proteins 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- MYPRUMQOPMOOSZ-UHFFFAOYSA-N 1-(diaminomethylidene)-3-(3-sulfamoylphenyl)urea;hydrochloride Chemical compound Cl.NC(N)=NC(=O)NC1=CC=CC(S(N)(=O)=O)=C1 MYPRUMQOPMOOSZ-UHFFFAOYSA-N 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- 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
- 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
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- 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/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及安全元件的操作系统的更新。一种包括至少一个微处理器、非易失性存储器以及通信接口的安全元件,该安全元件能够经由通信接口与更新器装置进行通信,非易失性存储器存储有至少一个引导程序,微处理器被配置为在安全元件启动期间执行引导程序,该安全元件的特征在于,引导程序包括在被微处理器执行时用于执行以下步骤的指令:启动步骤,确定非易失性存储器是否存储有启用的操作系统,如果是,则启动操作系统的执行;更新器装置根据安全元件所确定的第一认证数据和从更新器装置接收的第二认证数据进行的认证步骤;响应于认证步骤,将从更新器装置接收的新的操作系统存储在非易失性存储器中的存储步骤以及新的操作系统的启用步骤。
Description
技术领域
本发明涉及诸如智能卡的板载安全元件的领域。
背景技术
板载安全元件,例如智能卡,典型地具有计算机的材料架构,特别包括微处理器以及包含可由微处理器执行的计算机程序的非易失性存储器。特别的是,该非易失性存储器包括操作系统,该操作系统在可由用户使用之前由厂商使用该安全元件载入。
首选的是,在向用户提供该安全元件之后更新这种操作系统。
文献WO2012/062632A1描述了一种板载元件中的软件更新处理。此处理包括擦除该软件、载入代替该软件的更新管理程序,此更新管理程序载入在板载元件启动时更新的起动程序。该方案的安全仅仅基于该软件的印记(imprint)。该方案因此不适用于需要高安全性的应用。同样,该处理需要重新启动该安全元件两次。
因此,需要一种可靠的、安全的对安全元件的软件进行更新的方法。
发明内容
本发明提出了一种包括至少一个微处理器、非易失性存储器以及通信接口的安全元件,该安全元件经由该通信接口与更新器装置进行通信,该非易失性存储器存储有至少一个引导程序,该微处理器被配置为在该安全元件启动期间执行该引导程序,该安全元件的特征在于,该引导程序包括在被该微处理器执行时用于执行以下步骤的指令:
-启动步骤,确定该非易失性存储器是否存储有启用(activated)的操作系统,如果是,则启动该操作系统的执行,
-该更新器装置根据该安全元件所确定的第一认证数据和从该更新器装置接收的第二认证数据进行的认证步骤,
-响应于该认证步骤,将从该更新器装置接收的新的操作系统存储在该非易失性存储器中的存储步骤以及该新的操作系统的启用步骤。
因此引导程序可安全可靠地实施对操作系统的更新。事实上,由于此更新需要更新器装置的认证,因此,第三方不可能向安全元件提供操作系统损坏的版本。
根据实施方式,该更新器装置的认证步骤包括:
-向更新器装置发送包括变量的消息的步骤,
-接收第二认证数据的步骤,
-基于上述变量和存储在上述非易失性存储器中的密钥来确定第一认证数据的确定步骤,以及
-比较第一认证数据和第二认证数据的比较步骤。
这样,引导程序本身包括完成对更新器装置的认证的所有必需的指令。因此在非易失性存储器不包括操作系统或操作系统被停用时,例如在之前的更新尝试未成功期间,可启动或继续对操作系统的更新。
引导程序也可包括执行向更新器装置发送消息的步骤的指令,该消息包括基于密钥和上述变量的加密数据。
这使得更新器装置能够认证安全元件。因此完成了安全元件和更新器装置之间的相互认证。这样,只有安全的认证元件才可获得操作系统的新版本。
根据实施方式,非易失性存储器包括操作系统,该操作系统包括指令用以执行:
-向更新器装置发送包括所述变量的消息的步骤,
-接收第二认证数据的步骤,
-在需要时,向更新器装置发送消息的步骤,该消息包括根据所述密钥和所述变量而加密的数据。
在此情况下,如果非易失性存储器包括启用的操作系统,则该操作系统与启动程序协作,包括特别用于认证的指令。因此,当安全元件被操作系统所管理时,可在安全元件的正常操作期间更新该操作系统。
存储步骤可包括对新的加密的操作系统的接收。
这样,窃听更新器装置和安全元件之间通信的第三方不可能获得操作系统的新版本。
在此情况下,认证步骤可包括基于上述密钥和上述变量来确定会话密钥,存储步骤可包括接收使用上述会话密钥加密的新的操作系统。
由于相同的会话密钥用于加密的认证和通信,所以限制了安全元件中必需的密码资源。
出于安全性和可靠性的原因,优选地存储该引导系统以使其不可被修改。
例如,该引导程序被存储在非易失性存储器的不可重写部分中。
作为变化,该引导程序被存储在非易失性存储器的可重写部分中,包括操作系统的非易失性存储器被配置为阻止对引导程序的写入命令。
本发明还提出了一种终端,包括至少一个微处理器、非易失性存储器和根据本发明的安全元件,该终端的非易失性存储器包括设计为用于安全元件提供的服务的更新管理程序和应用,该更新管理程序包括在由终端的微处理器执行时用于执行以下步骤的指令:
-传输步骤,包括从更新器装置接收新的操作系统以及向安全元件发送接收到的新的操作系统,
-至少在传输步骤期间停用上述服务的步骤。
本发明还提供了一种系统,该系统包括根据本发明的至少一个安全元件,以及存储有操作系统的新版本的更新器装置。
附图说明
参考示出了具有非限定性特征的实施方式的附图,本发明的其它特征和优点将在下述说明书中得以体现,其中:
图1示出了根据该发明的实施方式的包括安全元件的系统,
图2示出了与图1的安全元件的引导程序的执行相对应的主要步骤,
图3示出了在该安全元件的操作系统的更新期间,图1的系统中的交互,
图4A、4B、4C以及4D示出了图1的安全元件的非易失性存储器在不同时间的状态,
图5A、5B、5C以及5D示出了图1的安全元件的非易失性存储器,以便示出处理命令,
图6和7示出了确定包括操作系统的新加密版本的块的实例。
具体实施方式
图1示出了包括更新器装置10、终端20以及终端20中的板载安全元件30的系统。
该更新器装置10具有计算机材料架构,特别包括微处理器11、通信接口12、易失性存储器13以及非易失性存储器14。该微处理器11能够通过将易失性存储器13作为工作空间而执行存储在非易失性存储器14中的计算机程序。该通信接口12与终端20进行通信。
特别的是,该非易失性存储器14存储有用于安全元件的操作系统的新版本,表示为OS(V2),以及密钥K。
该更新器装置10例如是由安全元件的制造商所建立的更新服务器。在这种情况下,通信接口12通过电信网络例如经由因特网与终端12建立通信。通过变体,该更新器装置10本身可为安全元件,例如SD卡、NFC卡或USB存储器。在这种情况下,该通信接口12通过安全元件阅读器与终端20建立通信。
该终端20例如是属于用户的便携式终端,例如便携式电话。
该终端20具有计算机材料架构,特别是包括微处理器21、通信接口22、易失性存储器23以及非易失性存储器24。该微处理器21能够通过将易失性存储器23作为工作空间而执行存储在非易失性存储器24中的计算机程序。该通信接口22与更新器装置10进行通信。该通信接口26与安全元件30进行通信。
特别的是,该非易失性存储器24存储有该终端20的操作系统25、更新管理程序P1以及该用户的数据和应用,示出了其应用A1。
程序P1的功能是管理该安全元件30和更新器装置10之间的通信以更新该安全元件30的操作系统。如图1所示,该程序P1首选的是集成到该终端20的该操作系统25中的模块。
该安全元件30例如是可移动地容纳在终端20内的智能卡。
该安全元件30具有计算机材料架构,特别的是包括微处理器31、通信接口36、易失性存储器33以及非易失性存储器34。该微处理器31通过将易失性存储器33作为工作空间而执行存储在非易失性存储器34中的计算机程序。该通信接口36与终端20进行通信。
特别的是,该非易失性存储器34存储有引导程序38(表示为BL代表“BootLoader”)、操作系统35、用户数据37、MKi密钥、序列号Ni、操作系统35的状态指示符39、以及表示认证计数器C的值的变量70。
在示出的状态下,该操作系统35是与该更新器装置10所存储的版本OS(V2)不同的第一版本,表示为OS(V1)。
该操作系统35的状态指示符39可取“启用(active)”或“非启用(inactive)”值。其可为例如存储在操作系统35或者非易失性存储器34中的状态位。其任务在此处下文中加以描述。
该认证计数器C被初始化为预定值,例如50。在该操作系统的更新处理过程中,计数器C递减。一旦完成更新处理,如果后者已经成功,则重新初始化计数器。如果该计数器C的值低于某一阈值,例如3,这意味着操作系统35的更新尝试已失败了太多次。在此情况下,该更新处理被阻止。不再可能通过与更新器装置10通信而更新操作系统35。然而,通过求助于具有特定访问权限的服务供应商而重新初始化安全元件并将新的操作系统载入该安全元件上是可能的。
密钥MKi和序列号Ni与更新器装置10存储的秘密密钥K相对应,并例如被存储在引导程序38中。更精确的是,根据保持秘密的过程,该更新器装置10包括用于确定与安全元件i的序列号Ni相对应的密钥MKi的推导装置。在一个变形例(未示出)中,该更新器装置10存储有多个安全元件的密钥MKi和序列号Ni。在这两种情况下,该更新器装置10都可确定与序列号Ni关联的密钥MKi。
用户数据37具体来讲包括应用,示出了其应用A2,示出了个人数据的集合D1。操作系统35可对存储在安全元件30上的应用进行管理。这些应用是例如给予支付和传送服务权限并利用NFC类型的终端20的通信接口的安全应用。
特别的是,引导程序38包括允许引导程序38和操作系统35在其执行期间彼此之间进行通信的编程接口API。
经由通信接口26和36在终端20和安全元件30之间的通信是例如基于ADPU单元、符合ISO/IEC7816-4标准的交换。
微处理器31被配置为在该安全元件30启动期间执行引导程序38。在正常操作中,该引导程序38启动操作系统35的执行。该操作系统35管理应用程序的执行和对接口36所接收的命令的解析。
引导程序38是以不可修改的方式存储的。例如,该引导程序38存储在ROM类型的非易失性存储器34的一部分中。在此情况下,该引导程序38可以是初始引导程序的一部分,被安全元件30的制造商用来在该安全元件30运行期间载入操作系统35。作为变形,该引导程序38被存储在可再写性非易失性存储器24的一部分中,例如闪速存储器类型。在此情况下,配置操作系统35以阻止对该存储器的此部分的任何写入命令。
现在将描述图1的系统的操作,特别是将第一版本的OS(V1)代替为第二版本的OS(V2)的对操作系统35的更新操作。
图2是步骤的图表,示出了与引导程序38的执行相对应的、安全元件30的操作过程的主要步骤。图3是示出了在图2的操作过程期间,在更新器装置10、终端20和安全元件30之间的消息交换。
在安全元件30的启动期间,该操作过程在步骤E0开始。如之前所解释的,该微处理器31被配置在启动该安全元件30期间,起动引导程序38的执行。例如,该引导程序38位于非易失性存储器34的预定位置,称为启动扇区,该微处理器31初始指向该位置。
接着,在步骤E1,该安全元件30确定该操作系统35是否是启用的。更精确地,如果该非易失性存储器34包括该操作系统35,并且该状态指示符39示出“启用”值,则认为该操作系统是启用的。相反,如果非易失性存储器34不包括操作系统35或者状态指示符示出“非启用”值,则认为该操作系统是非启用的。
如果操作系统35是启用的,则在步骤E12,引导程序38起动操作系统35的执行。这对应于安全元件30的正常工作模式,在此期间,操作系统35管理在通信接口36上接收的应用和命令的执行。
相反,如果操作系统35是非启用的,则该引导程序38不启动操作系统35的执行。换句话说,该引导程序38保持控制。特别的是,此结果是由引导程序38来管理在通信接口36上接收的命令。
这样,当终端20的更新管理程序P1发送试图启动操作系统35的更新处理的消息M3和M4时,如果操作系统35是非启用的,则这些消息M3和M4由引导程序38接收(步骤E2),而如果操作系统是启用的,则由操作系统35接收(步骤F2)。首先在下文中在操作系统35是非启用的情况下描述操作系统35的更新处理(步骤E2到E11),接着在操作系统35是启用的情况下描述操作系统35的更新处理(步骤F2到F5、E13、E14、F8、E15和E9到E11)。
参考图3,终端20向更新器装置10发送消息M1以请求操作系统的最新可用版本。发送消息M1构成了程序P1的执行的一部分,并且例如周期性或者在满足预定条件时发送消息MI。
更新器装置10以消息M2来响应消息M1,该消息M2指出可用的版本:V=V2。
接着,响应于步骤E2及其之后步骤或者F2及其之后步骤的执行,终端20向安全元件30发送消息M3以选择更新应用,即引导程序38或操作系统35的一部分。消息M3例如是最新定义的ADPU类型的命令,称为“OS loader Application Selection”。
接着,终端20向安全元件30发送消息M4以通知可用的新版本V2。在步骤E2,安全元件30接收消息M4。更精确地,在当前实施例中,操作系统是非启用的,该消息M4直接由引导程序38管理。消息M4例如是最新定义的ADPU类型的命令,称为“PUSH ACAILABLE VERSION”。
接着,在步骤E3,安全元件30确定操作系统的版本。例如,引导程序38使用API编程接口来询问操作系统35。如果存在操作系统35,它会通过给出其版本V来进行响应。如果不存在操作系统35,则引导程序38考虑其存储的默认版本V,该版本与制造商在安全元件30中最初载入的操作系统35的版本相对应。该安全元件30验证在消息M4中接收的版本V比操作系统35的当前版本(即在此例子中的V1)高级。
如果在消息M4中接收的版本V比操作系统35的当前版本高级,则在步骤E4,安全元件30向更新器装置10发送消息M5,M5经由终端20并以消息M5′延续。消息M5包括安全元件30的序列号Ni、随机数NAND以及认证计数器C的值(变量70)。
基于包括在消息M5′中的序列号Ni,更新器装置10依照以上给出的步骤,根据序列号Ni和秘密密钥K,或者参考与接收的序列号Ni联合存储的密钥MKi来确定相应的密钥MKi。接着,更新器装置10基于所确定的密钥MKi和所接收的随机数RAND来确定会话密钥SK,通过用会话密钥SK来加密随机数RAND而确定认证数据AUTH10。更新器装置10向安全元件30发送包括认证数据AUTH10的消息M6,M6经由终端20并以消息M6′延续。该消息M6′是例如新定义的ADPU类型的命令,称为“MUTUAL AUTHENTICATION”。
在步骤E5,由安全元件30接收消息M6′。在步骤E6,响应于接收到消息M6′,该安全元件30根据主密钥MKi和随机数RAND来确定会话密钥SK,该会话密钥SK一般与更新器装置10所确定的会话密钥SK相同,该安全元件30通过用所确定的会话密钥SK来加密随机数RAND而确定认证数据AUTH30。该安全元件30还递减认证计数器C。
接着,在步骤E7,该安全元件30比较认证数据AUTH10和AUTH30。如果二者一致,则安全元件30对更新器装置10的认证就已经完成,并且确定了会话密钥SK。
在认证的情况下,在步骤E8,安全元件30向更新器装置10发送消息M7,消息M7经由终端20以消息M7′延续。该消息M7用会话密钥SK加密,并包括在步骤E3确定的操作系统35的当前版本V1。
消息M7′的接收使得更新器装置10可以认证安全元件30。例如,如果会话以两个八位字节编码,解码后的消息包括16个八位字节,则更新器装置10可以通过验证解密的消息M7′的14个第一八位字节是零而认证安全元件。因此,在安全元件30和更新器装置10之间的相互认证已经完成。
接着,更新器装置10确定N个块OSB1、OSB2......OSBN。每个块包括用会话密钥SK加密了的操作系统的一部分。选择数量N,使得块的尺寸充分有限而在单个ADPU类型的命令中传输。更新器装置10在一个或多个消息M8中向终端20发送所确定的块。终端20存储接收到的块直至接收到了所有块。
接着,终端20向安全元件30发送连续的消息M91、M92......M9N,每个消息M91、M92......M9N包括块OSB1、OSB2......OSBN之一。安全元件30使用会话密钥SK来解密每个块,并存储在操作系统35的版本V1的位置。
每个消息M9j例如是新定义的ADPU类型的命令,称为“LOAD BLOCK”,j从1到N-1,安全元件30通过确认消息M9j′来对其进行响应。消息M9N例如是新定义的ADPU类型的命令,称为“LOAD LAST BLOCK”。安全元件30接收消息M91、M92......M9N组成了对于操作系统新版本的接收步骤E9。
在接收到最后一个消息M9N之后,在步骤E10,安全元件30例如通过循环冗余控制测试完成对接收的操作系统新版本的验证。
如果在步骤E11验证了该测试,则安全元件30重新初始化计数器C,启用操作系统35并启动其执行。在此阶段,操作系统35的新版本因此由安全元件30执行。
在此情况下,在步骤E1,确定操作系统35是启用的,该操作与之前描述的相类似,主要的区别现在将加以描述。在步骤E12,安全元件30执行操作系统35。这样,如前所解释的,接收到的消息M4由操作系统35管理。图2的步骤F2到F5对应于之前描述的步骤E2到E5,但是对应于操作系统35而非引导程序38的指令的执行。
在接收到认证数据AUTH10之后,操作系统35通过编程接口API来询问引导程序38,以便在步骤E13到E14期间类似于步骤E6到E7来验证认证数据。接着操作系统35在步骤F8通过消息M7进行响应。接着,在步骤E15操作系统35将其交由引导程序38。
在步骤E15,引导程序38停用(deactivate)操作系统35。例如,引导程序清除非易失性存储器34的操作系统35,或者将状态指示符39的值修改为“非启用”。下述步骤E9到E11类似于之前描述的这些步骤。
步骤E1到E15对应于微处理器31对引导程序38的指令的执行。步骤F2到F5和F8对应于微处理器31对操作系统35的指令的执行。
图4A到4D示出了安全元件30的制造处理和操作系统35的更新的不同时刻,非易失性存储器34的内容。在此实例中,图4A和4B示出了非易失性存储器34包括可重写部分40(例如闪速存储器类型)和ROM类型的非可重写部分41。
图4A示出了非易失性存储器34的初始状态。部分40是空的,部分41包括卡的制造商的初始引导程序。如箭头42所示的,在此初始状态下,微处理器31被配置为在安全元件30启动期间开始此初始引导程序的执行。初始引导程序的功能是在制造商对安全元件30个性化期间使得引导程序38、操作系统35和用户数据37载入非易失性存储器34的部分40中。
图4B示出了制造商对安全元件30个性化之后的非易失性存储器34的状态。部分40包括引导程序38、操作系统35(版本OS(V1))、用户数据37和未使用区域44。如箭头43所示的,部分41的初始引导程序已经被停用,微处理器31被配置为在启动安全元件30期间开始引导程序38的执行。如箭头45所示的,在此状态下,操作系统35被启用,引导程序38因此开始对操作系统35的执行。这对应于先前描述过的步骤E0、E1和E12。
图4C示出了在操作系统35更新处理期间非易失性存储器34的部分40。更精确地,在图4C的状态下,已经通过删除或修改状态指示符39而停用了操作系统35(图2的步骤E15)。如箭头46所示的,引导程序38接收消息M9i,并如箭头47所示的,将包含在这些消息中的块OSBi存储在操作系统35之前的版本中。这与图2的步骤E9对应。
图4D示出了操作系统35更新之后的非易失性存储器34的部分40(图2的步骤E11)。部分40包括引导程序38、版本为OS(V2)的操作系统35、用户数据37和未使用区域34。由于操作系统35的版本OS(VI)和OS(V2)不必有相同的尺寸,所以未使用区域44可为图4D和图4B之间的不同尺寸。在示出的状态下,操作系统35被启用。如箭头43所示出的,微处理器31被配置为在安全元件启动期间开始引导程序38的执行。如箭头45所示的,在此状态下,操作系统35被启用,由此引导程序38起动操作系统35的执行。
图5A到5D示出了安全元件30对消息M4(命令ADPU“PUSHAVAILABLEVERSION”)和M6′(命令ADPU“MUTUAL AUTHENTICATION”)的处理。
特别地,图5A示出了在操作系统35启用时消息M4(命令ASPU“PUSHAVAILABLE VERSION”)的处理。因此,消息M4的接收与图2的步骤F2相对应。响应于消息M4,操作系统35查询引导程序38以确定操作系统35的版本(箭头50)。接着,引导程序38查阅操作系统35中的版本信息(箭头51)并响应该操作系统(箭头52)。这些交换由编程接口API来进行。接着,操作系统35通过消息M5进行响应,这与图2的步骤F4相对应。
通过比较,图5B示出了操作系统35未被启用时对于消息M4(命令ADPU“PUSHAVAILABLE VERSION”)的处理。在此实例中,操作系统35已经被清除。消息M4的接收与图2的步骤E2相对应。响应于消息M4,引导程序38试图查询操作系统35以确定操作系统35的版本(箭头53)。由于操作系统已被清除,所以引导程序38不接收响应,因此使用存储的默认版本。接着,引导程序38通过消息M5做出响应,这与图2的步骤E4相对应。
图5C示出了在操作系统35处于启用时对消息M6′(命令ADPU“MUTUALAUTHENTICATION”)的处理。因此,对于消息M6′的接收与图2的步骤F5相对应。响应于消息M6′,操作系统35查询引导程序38以验证更新器装置10的认证数据AUTH10(箭头54)。引导程序38使用主密钥MKi来验证认证数据AUTH10(箭头56)。这对应于图2的步骤E13和E14。引导程序38确认对操作系统的认证(箭头55)。接着,操作系统35通过消息M7进行响应,此与图2的步骤F8相对应。
经由比较,图5D示出了在操作系统35处于非启用时消息对M6′的处理(命令ADPU“MUTUALAUTHENTICATION”)。因此,消息M6′的接收对应于图2的步骤E5。响应于消息M6′,引导程序38使用主密钥MKi来验证认证数据AUTH10(箭头57)。这对应于图2的步骤E6和E7。引导程序38确认认证并通过消息M7来响应,此相当于图2的步骤E8。
参考图2和3,描述了安全元件30和更新器装置10之间的相互认证和加密通信的实现。专家可选择适合于执行这些功能的密钥和密码算法的格式。下文给出其非限定性实施方式。
更新器装置10存储32个八位字节的密钥。当它接收到16个八位字节的序列号Ni时,更新器装置10可根据K和Ni确定与序列号Ni的安全元件30相对应的32个八位字节的密钥MKi。可由系统的设计者选择根据K和Ni计算MKi的算法,并保存密钥以提高安全性。序列号Ni的使用区分于用于不同安全元件的认证数据和加密密钥。安全元件直接存储密钥并因此不必根据K和Ni计算MKi。
会话密钥SK可通过使用算法AES-256根据密钥MKi和32个八位字节的随机数RAND来确定。更新器装置10和安全元件30计算二者:SK=AES-256(MKi,RAND)。
代替随机数RAND,可使用另一个变量(伪随机变量、日期、递增数)。
还可以使用算法AES-256根据会话密钥SK和随机数RAND来确定认证数据AUTH10和AUTH30。这样,更新器装置10计算AUTH10=AES-256(SK,RAND)。相应地,安全元件30计算AUTH30=AES-256(SK,RAND)。通过对接收的认证数据AUTH10与确定的认证数据AUTH30进行比较,安全元件30完成对更新器装置10的认证。
安全元件30向更新器装置10发送的消息M7包括使用算法AES-256-CBC-ISO9797-M1:M7=AES-256-CBC-ISO9797-M1(SK,V1)被会话密钥SK加密的操作系统35的当前版本V1。这使得更新器装置10能够对安全元件30认证。为此目的,使用模式CBC(“Cipher-block chaining”)和ICV密码,该ICV密码基于随机数RAND而确定。例如,通过将算法AES-256应用于随机数RAND的16个中心八位字节来确定ICV。
这样,就可以完成安全元件30和更新器装置10之间的彼此认证。
图6和7示出了更新器装置10确定块OSB1、OSB2......OSBN的实例,块OSB1、OSB2......OSBN包括操作系统35的加密的新版本OS(V2)。
操作系统的代码,表示为OS(V2),是非加密数据的集合,特别包括微处理器31可执行的指令。更新器装置10在代码OS(V2)的末端增加了印记60。该印记60是例如使用算法SHA-512确定的。
接着,更新器装置10向代码OS(V2)的起始处增加秘密数字61、代码OS(V2)的尺寸以及代码OS(V2)的操作系统的版本63。该秘密数字61是例如以四个八字节编码的,并为更新器装置10和安全元件30所知。通过安全元件30,这在验证期间提供了对于接收的操作系统的验证的额外安全性。尺寸61是例如以四个八字节编码的。代码OS(V2)的操作系统的版本63是例如以两个八字节编码的。
接着,更新器装置10向末端加入由秘密数字61、尺寸62、版本63、代码OS(V2)以及印记61和填充数据64(例如值为0的八位字节)组成的集合,以获得总数是16的N倍的八位字节。因此可能分解16个八位字节的N个块Data1、Data2......DataN的所有数据,包括未加密的代码OS(V2)。
根据块Data1、Data2......DataN,更新器装置10确定包括加密代码OS(V2)的块OSB1、OSB2......OSBN,例如图7中所示的。
在图7中,ICV是根据随机数RAND而确定的密码。例如,通过将算法AES-256应用到随机数RAND的16个中心八位字节来确定ICV。
接着,算法AES-256在CBC(“Cipher-block chaining”)模式通过使用密钥SK和ICV密码来进行对块Data1、Data2......DataN的加密。这样,通过XOR运算(OU专属的)来组合ICV密码和块Datal。接着,通过使用会话密钥SK和算法AES-256来加密此运算XOR的结果以确定块OSB1。
对于每个下面的块Data(i),通过使用块OSB(i-1)代替ICV密码而类似的确定相应的块OSB(i)。
在图2的步骤E9接收到每个块OSB(i)之后,安全元件30可用会话密钥SK来解密所接收到的数据。接着,在步骤E10,对尤其是印记60和秘密数字61的验证可检测任何损坏。
图1的系统有一些优势。
具体来讲,能够更新安全元件30的操作系统35。在安全元件30已经作为用户在终端中的操作时,可完成该更新。在通过电信网络在终端20和更新器装置10之间通信的情况下,用户不必去到确定的地点,例如服务供应商的商店。操作系统35可完全被替换。在更新期间,不修改用户数据37。这样,在更新之后,用户仍然具有他的应用和他的个人数据。同样,终端20的操作也不必被打断。
由于更新器装置10和安全元件30的彼此认证,以及更新器装置10和安全元件30之间的加密通信,第三方不可能获得操作系统的新版本OS(V2)或者通过将自己假扮成更新器装置10而向安全元件30提供损坏的版本。特别地,如果终端20的程序P1被损坏的版本所替换,则此版本最多可获得加密块OSB(i)。换句话说,保护了操作系统的机密性和完整性。这些特征可达到对安全元件和/或系统的认证。
更新器装置10可计算已经失败的相互认证的次数。如果该数量达到预定阈值,则该更新器装置19可采取保护步骤,例如向安全元件发送警告或黑名单。
由于相互认证和加密是基于安全元件的序列号,所以这些序列号通过安全元件被多样化。因此一次故障并不会影响到连接至更新器装置的所有安全元件。
随机数RAND是由安全元件而非更新器装置10产生的。这限制了施加在更新器装置上的工作量,这在涉及大量安全元件的更新器装置的情况下特别感兴趣。
在安全元件和更新器装置之间的相互认证和加密通信使用相同的会话密钥SK限制了在安全元件层次所必需的资源。但是,在变型实施方式中,相互认证和加密通信使用不同的密钥。
在终端20上存在的程序P1改变了操作系统更新期间终端20的性能。例如,在更新期间可停用使用安全元件30的终端20的应用。
Claims (11)
1.一种包括至少一个微处理器(31)、非易失性存储器(34)以及通信接口(36)的安全元件(30),该安全元件(30)能够经由该通信接口(36)与更新器装置(10)进行通信,该非易失性存储器(34)存储有至少一个引导程序(38),该微处理器(31)被配置为在该安全元件(30)启动期间执行该引导程序(38),该安全元件(30)的特征在于,该引导程序(38)包括在被该微处理器(31)执行时用于执行以下步骤的指令:
-启动步骤(E1,E12),确定该非易失性存储器(34)是否存储有启用的操作系统(35),如果是,则启动该操作系统(35)的执行,
-该更新器装置(10)根据该安全元件(30)所确定的第一认证数据(AUTH30)和从该更新器装置(10)接收的第二认证数据(AUTH10)进行的认证步骤(E4,E5,E6,E7,E13,E14),
-响应于该认证步骤,将从该更新器装置(10)接收的新的操作系统存储在该非易失性存储器(34)中的存储步骤(E9,E10)以及该新的操作系统的启用步骤(E11)。
2.根据权利要求1所述的安全元件(30),其中,所述更新器装置的所述认证步骤包括:
-向所述更新器装置(10)发送包括变量(RAND)的消息(M5)的步骤(E4),
-接收所述第二认证数据(AUTH10)的步骤(E5),
-根据所述变量(RAND)和存储在所述非易失性存储器(34)中的密钥(MKi)来确定所述第一认证数据(AUTH30)的确定步骤(E6,E13),以及
-比较所述第一认证数据(AUTH30)和所述第二认证数据(AUTH10)的比较步骤(E7,E14)。
3.根据权利要求2所述的安全元件(30),其中,所述引导程序(38)包括用于执行发送步骤(E8)的指令,所述发送步骤(E8)向所述更新器装置(10)发送包含根据所述密钥(MKi)和所述变量(RAND)而加密的数据(V1)的消息(M7)。
4.根据权利要求2或3所述的安全元件(30),其中,所述非易失性存储器(34)包括操作系统(35),所述操作系统(35)包括用于执行以下步骤的指令:
-向所述更新器装置(10)发送包含所述变量(RAND)的消息(M5)的发送步骤(F4),
-接收所述第二认证数据(AUTH10)的接收步骤(F5)。
5.根据权利要求4所述的安全元件(30),其中,所述操作系统(35)包括用于执行发送步骤(F8)的指令,所述发送步骤(F8)向所述更新器装置(10)发送包含根据所述密钥(MKi)和所述变量(RAND)而加密的数据(V1)的消息(M7)。
6.根据权利要求1-5中任意一项所述的安全元件(30),其中,所述存储步骤包括接收加密的所述新的操作系统。
7.根据权利要求2或6所述的安全元件(30),其中,所述认证步骤包括根据所述密钥(MKi)和所述变量来确定会话密钥(SK),所述存储步骤包括接收用所述会话密钥(SK)加密的所述新的操作系统。
8.根据权利要求1到7中任意一项所述的安全元件(30),其中,所述引导程序(38)存储在所述非易失性存储器(34)的不可重写部分(41)中。
9.根据权利要求1到7中任意一项所述的安全元件(30),其中,所述引导程序(38)存储在所述非易失性存储器(34)的可重写部分(40)中,所述非易失性存储器(40)包括被配置为阻止对所述引导程序(38)的写命令的操作系统(35)。
10.一种终端(20),该终端(20)包括至少一个微处理器(21)、非易失性存储器(24)以及根据权利要求1到9中任意一项所述的安全元件(30),该终端(20)的该非易失性存储器(24)包括用于使用该安全元件(30)提供的服务的应用(A1)和更新管理程序(P1),该更新管理程序(P1)包括在由该终端(20)的该微处理器(21)执行时用于执行以下步骤的指令:
-传输步骤,其包括从所述更新器装置(10)接收所述新的操作系统以及将接收到的新的操作系统发送给所述安全元件,
-至少在所述传输步骤期间停用所述服务的停用步骤。
11.一种系统,该系统包括至少一个根据权利要求1到9中任意一项所述的安全元件(30)以及存储有所述操作系统的新版本的更新器装置(10)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1257062 | 2012-07-20 | ||
FR1257062A FR2993682B1 (fr) | 2012-07-20 | 2012-07-20 | Mise a jour d'un systeme d'exploitation pour element securise |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103577221A true CN103577221A (zh) | 2014-02-12 |
CN103577221B CN103577221B (zh) | 2018-12-18 |
Family
ID=47003055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310410455.6A Active CN103577221B (zh) | 2012-07-20 | 2013-07-22 | 安全元件的操作系统的更新 |
Country Status (10)
Country | Link |
---|---|
US (1) | US9779246B2 (zh) |
EP (1) | EP2688010B1 (zh) |
JP (1) | JP6214259B2 (zh) |
KR (1) | KR101517286B1 (zh) |
CN (1) | CN103577221B (zh) |
BR (1) | BR102013020063B1 (zh) |
ES (1) | ES2795101T3 (zh) |
FR (1) | FR2993682B1 (zh) |
RU (1) | RU2643457C2 (zh) |
TW (1) | TWI510959B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017041180A (ja) * | 2015-08-21 | 2017-02-23 | 三菱電機株式会社 | プログラム更新制御装置、情報家電機器、プログラム更新システムおよびプログラム更新方法 |
CN108141732A (zh) * | 2015-10-19 | 2018-06-08 | 格马尔托股份有限公司 | 用于在安全元件中管理应用程序的方法 |
CN109429216A (zh) * | 2017-08-24 | 2019-03-05 | 苹果公司 | 安全元件操作系统更新通知 |
CN110445633A (zh) * | 2018-05-02 | 2019-11-12 | 恩智浦有限公司 | 用于在分布式网络中提供经认证更新的方法 |
CN111914222A (zh) * | 2019-05-10 | 2020-11-10 | Aptiv技术有限公司 | 保护电子控制单元的方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011015710A1 (de) * | 2011-03-31 | 2012-10-04 | Giesecke & Devrient Gmbh | Verfahren zum Aktualisieren eines Datenträgers |
FR3019347B1 (fr) | 2014-03-25 | 2017-07-21 | Oberthur Technologies | Securisation du chargement de donnees dans une memoire non-volatile d'un element securise |
EP2930641B1 (en) | 2014-04-07 | 2019-04-03 | Nxp B.V. | Method of Programming a Smart Card, Computer Program Product and Programmable Smart Card |
FR3023951B1 (fr) * | 2014-07-15 | 2016-08-05 | Oberthur Technologies | Procede d'etablissement d'une session de communication via une interface swp |
US9934014B2 (en) * | 2014-08-22 | 2018-04-03 | Apple Inc. | Automatic purposed-application creation |
DE102014220616A1 (de) * | 2014-10-10 | 2016-04-14 | Bundesdruckerei Gmbh | Verfahren zum Laden von ausführbaren Programminstruktionen in eine Chipkarte im Wirkbetrieb |
DE102014224278A1 (de) * | 2014-11-27 | 2016-06-02 | Bundesdruckerei Gmbh | Verfahren zum Nachladen von Software auf eine Chipkarte durch einen Nachladeautomaten |
KR102459703B1 (ko) * | 2014-12-29 | 2022-10-27 | 엘지디스플레이 주식회사 | 유기발광다이오드 표시장치와 그 구동방법 |
KR101662947B1 (ko) * | 2015-03-25 | 2016-10-05 | (주)에이티솔루션즈 | 보안운영체제를 이용한 세션보안 제공 방법 |
EP3086254A1 (en) | 2015-04-22 | 2016-10-26 | Gemalto Sa | Method of managing applications in a secure element when updating the operating system |
JP2017033149A (ja) | 2015-07-30 | 2017-02-09 | 株式会社東芝 | 情報処理装置、コントローラ、及び、情報処理装置の制御方法 |
EP3176695A1 (en) * | 2015-12-04 | 2017-06-07 | Gemalto Sa | Method for managing a package in a secure element |
EP3208717A1 (en) * | 2016-02-17 | 2017-08-23 | Gemalto Sa | Method for managing objects in a secure element |
DE112016006524T5 (de) * | 2016-03-30 | 2018-11-22 | Ford Global Technologies, Llc | Authentifizierung einer Fahrzeugcomputeraktualisierung |
US10911939B2 (en) * | 2017-06-14 | 2021-02-02 | Huawei Technologies Co., Ltd. | Embedded universal integrated circuit card profile management method and apparatus |
KR102057665B1 (ko) * | 2017-07-04 | 2020-01-22 | 주식회사 웨인 | 리눅스 계열 운영체제 배포시스템 |
JP6988444B2 (ja) * | 2017-12-20 | 2022-01-05 | 大日本印刷株式会社 | 初期設定方法、セキュアエレメント、デバイス及びプログラム |
CN108874418B (zh) * | 2018-05-23 | 2022-04-05 | 北京五八信息技术有限公司 | Ui组件的更新方法、装置、终端及计算机可读存储介质 |
US11240634B1 (en) * | 2020-01-02 | 2022-02-01 | II Leon Tyrone Cain | Systems and methods for initiating a secure media session between mobile computing devices during image capture |
EP4113341A1 (en) * | 2021-06-30 | 2023-01-04 | Giesecke+Devrient Mobile Security GmbH | Encryption scheme for providing software updates to an update agent |
EP4307142A1 (en) * | 2022-07-13 | 2024-01-17 | Giesecke+Devrient Mobile Security Germany GmbH | Update agent for multiple operating systems in a secure element |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944854B2 (en) * | 2000-11-30 | 2005-09-13 | International Business Machines Corporation | Method and apparatus for updating new versions of firmware in the background |
CN1734418A (zh) * | 2004-08-09 | 2006-02-15 | 上海乐金广电电子有限公司 | 存储器程序更新方法 |
US20090064125A1 (en) * | 2007-09-05 | 2009-03-05 | Microsoft Corporation | Secure Upgrade of Firmware Update in Constrained Memory |
CN101533443A (zh) * | 2008-05-24 | 2009-09-16 | 威盛电子股份有限公司 | 提供安全执行环境的微处理器及其执行安全编码的方法 |
CN102446110A (zh) * | 2010-10-13 | 2012-05-09 | 国际商业机器公司 | 用于在引导时间获取数据的系统、方法 |
EP2453352A1 (en) * | 2010-11-08 | 2012-05-16 | Gemalto SA | Software updating process for an embedded device |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4216914B2 (ja) * | 1997-10-17 | 2009-01-28 | 株式会社リコー | ネットワークシステム |
US5987605A (en) * | 1998-02-28 | 1999-11-16 | Hewlett-Packard Co. | Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device |
DE19925389A1 (de) * | 1999-06-02 | 2000-12-21 | Beta Res Gmbh | Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards |
DE19926389B4 (de) | 1999-06-10 | 2008-02-07 | Behr Gmbh & Co. Kg | Luftführungsanordnung für eine Kraftfahrzeug-Klimatisierungsanlage |
US20030182414A1 (en) * | 2003-05-13 | 2003-09-25 | O'neill Patrick J. | System and method for updating and distributing information |
US7698698B2 (en) * | 2004-09-30 | 2010-04-13 | Smith Micro Software, Inc. | Method for over-the-air firmware update of NAND flash memory based mobile devices |
JP2006127267A (ja) * | 2004-10-29 | 2006-05-18 | Toshiba Corp | 情報処理装置およびブート制御方法 |
US7522732B2 (en) * | 2004-11-09 | 2009-04-21 | Lexmark International, Inc. | Method for controlling the distribution of software code updates |
US7865740B2 (en) * | 2005-09-27 | 2011-01-04 | Intel Corporation | Logging changes to blocks in a non-volatile memory |
KR100778293B1 (ko) * | 2005-10-10 | 2007-11-22 | 삼성전자주식회사 | 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법 |
JP2007213494A (ja) * | 2006-02-13 | 2007-08-23 | Ntt Docomo Inc | 更新起動装置及び更新起動制御方法 |
KR101426710B1 (ko) * | 2006-07-14 | 2014-09-23 | 삼성전자주식회사 | 휴대단말기의 버전정보 갱신 장치 및 방법 |
KR20080039046A (ko) | 2006-10-31 | 2008-05-07 | 삼성전자주식회사 | 펌웨어 업데이트 장치 및 방법 |
JP2008276555A (ja) | 2007-04-27 | 2008-11-13 | Toshiba Corp | 情報処理装置、およびファームウェア更新方法 |
US8635608B2 (en) | 2007-09-04 | 2014-01-21 | Teradata Us, Inc. | Software update system and method |
US8162227B2 (en) * | 2007-11-12 | 2012-04-24 | Micron Technology, Inc. | Intelligent controller system and method for smart card memory modules |
US8286883B2 (en) * | 2007-11-12 | 2012-10-16 | Micron Technology, Inc. | System and method for updating read-only memory in smart card memory modules |
US8055893B2 (en) * | 2008-08-28 | 2011-11-08 | Lenovo (Singapore) Pte. Ltd. | Techniques for booting a stateless client |
JP5113700B2 (ja) * | 2008-09-24 | 2013-01-09 | 株式会社日立ソリューションズ | ファームウェア更新装置及び方法 |
TW201027324A (en) * | 2009-01-14 | 2010-07-16 | Giga Byte Tech Co Ltd | Embedded electronic device free from being stuck in update failure and method of making the same |
JP5220675B2 (ja) * | 2009-04-07 | 2013-06-26 | 株式会社日立製作所 | シンクライアントマスタの書換システム、シンクライアントマスタの書換方法、およびシンクライアント |
JP2012058803A (ja) * | 2010-09-06 | 2012-03-22 | Dainippon Printing Co Ltd | シンクライアントシステム、およびオペレーティングシステム更新方法 |
US8984611B2 (en) * | 2011-05-09 | 2015-03-17 | I Think Security Ltd. | System, apparatus and method for securing electronic data independent of their location |
-
2012
- 2012-07-20 FR FR1257062A patent/FR2993682B1/fr active Active
-
2013
- 2013-07-18 ES ES13177111T patent/ES2795101T3/es active Active
- 2013-07-18 EP EP13177111.5A patent/EP2688010B1/fr active Active
- 2013-07-19 US US13/946,681 patent/US9779246B2/en active Active
- 2013-07-19 RU RU2013133975A patent/RU2643457C2/ru active
- 2013-07-19 JP JP2013150450A patent/JP6214259B2/ja active Active
- 2013-07-19 TW TW102125961A patent/TWI510959B/zh active
- 2013-07-22 KR KR1020130086043A patent/KR101517286B1/ko active IP Right Grant
- 2013-07-22 BR BR102013020063-8A patent/BR102013020063B1/pt active IP Right Grant
- 2013-07-22 CN CN201310410455.6A patent/CN103577221B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944854B2 (en) * | 2000-11-30 | 2005-09-13 | International Business Machines Corporation | Method and apparatus for updating new versions of firmware in the background |
CN1734418A (zh) * | 2004-08-09 | 2006-02-15 | 上海乐金广电电子有限公司 | 存储器程序更新方法 |
US20090064125A1 (en) * | 2007-09-05 | 2009-03-05 | Microsoft Corporation | Secure Upgrade of Firmware Update in Constrained Memory |
CN101533443A (zh) * | 2008-05-24 | 2009-09-16 | 威盛电子股份有限公司 | 提供安全执行环境的微处理器及其执行安全编码的方法 |
CN102446110A (zh) * | 2010-10-13 | 2012-05-09 | 国际商业机器公司 | 用于在引导时间获取数据的系统、方法 |
EP2453352A1 (en) * | 2010-11-08 | 2012-05-16 | Gemalto SA | Software updating process for an embedded device |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017041180A (ja) * | 2015-08-21 | 2017-02-23 | 三菱電機株式会社 | プログラム更新制御装置、情報家電機器、プログラム更新システムおよびプログラム更新方法 |
CN108141732A (zh) * | 2015-10-19 | 2018-06-08 | 格马尔托股份有限公司 | 用于在安全元件中管理应用程序的方法 |
CN108141732B (zh) * | 2015-10-19 | 2021-04-13 | 格马尔托股份有限公司 | 用于在安全元件中管理应用程序的方法 |
CN109429216A (zh) * | 2017-08-24 | 2019-03-05 | 苹果公司 | 安全元件操作系统更新通知 |
CN109429216B (zh) * | 2017-08-24 | 2021-10-22 | 苹果公司 | 安全元件操作系统更新通知 |
CN110445633A (zh) * | 2018-05-02 | 2019-11-12 | 恩智浦有限公司 | 用于在分布式网络中提供经认证更新的方法 |
CN111914222A (zh) * | 2019-05-10 | 2020-11-10 | Aptiv技术有限公司 | 保护电子控制单元的方法 |
CN111914222B (zh) * | 2019-05-10 | 2024-02-09 | Aptiv技术有限公司 | 保护电子控制单元的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6214259B2 (ja) | 2017-10-18 |
BR102013020063A2 (pt) | 2015-10-20 |
ES2795101T3 (es) | 2020-11-20 |
CN103577221B (zh) | 2018-12-18 |
EP2688010B1 (fr) | 2020-03-04 |
JP2014029688A (ja) | 2014-02-13 |
BR102013020063B1 (pt) | 2021-10-13 |
TWI510959B (zh) | 2015-12-01 |
RU2013133975A (ru) | 2015-01-27 |
TW201413491A (zh) | 2014-04-01 |
FR2993682A1 (fr) | 2014-01-24 |
FR2993682B1 (fr) | 2014-08-22 |
EP2688010A1 (fr) | 2014-01-22 |
RU2643457C2 (ru) | 2018-02-01 |
KR20140011998A (ko) | 2014-01-29 |
KR101517286B1 (ko) | 2015-05-04 |
US9779246B2 (en) | 2017-10-03 |
US20140025940A1 (en) | 2014-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577221A (zh) | 安全元件的操作系统的更新 | |
US20220078035A1 (en) | Generating an identity for a computing device using a physical unclonable function | |
US20220224550A1 (en) | Verification of identity using a secret key | |
US10430616B2 (en) | Systems and methods for secure processing with embedded cryptographic unit | |
US11361660B2 (en) | Verifying identity of an emergency vehicle during operation | |
CN108768963B (zh) | 可信应用与安全元件的通信方法和系统 | |
US20220131848A1 (en) | Management of Identifications of an Endpoint having a Memory Device Secured for Reliable Identity Validation | |
US10027639B2 (en) | IC chip performing access control based on encrypted ID | |
US12089049B2 (en) | Virtual subscriber identification module and virtual smart card | |
CN107944234B (zh) | 一种Android设备的刷机控制方法 | |
US12075520B2 (en) | Cloud-service on-boarding without prior customization of endpoints | |
US11811743B2 (en) | Online service store for endpoints | |
US20220129389A1 (en) | Online Security Services based on Security Features Implemented in Memory Devices | |
TWI729236B (zh) | 用於驗證資料的方法、系統及電腦程式、電子裝置、能與伺服器通訊之設備及電腦可讀取記錄媒體 | |
CN110313005B (zh) | 用于设备应用的安全性架构 | |
US12039318B2 (en) | Endpoint customization via online firmware store | |
US20220129390A1 (en) | Monitor Integrity of Endpoints having Secure Memory Devices for Identity Authentication | |
US20220131847A1 (en) | Subscription Sharing among a Group of Endpoints having Memory Devices Secured for Reliable Identity Validation | |
US20220129391A1 (en) | Track Activities of Endpoints having Secure Memory Devices for Security Operations during Identity Validation | |
EP2985724B1 (en) | Remote load and update card emulation support | |
CN116346450A (zh) | 一种建筑行业考勤设备的序列号激活方案 | |
CN115037494A (zh) | 无需预先定制端点的云服务登入 | |
CN115037493A (zh) | 监测具有安全存储器装置的端点的完整性以用于身份认证 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Colombes, France Patentee after: Ai Demiyafaguo Address before: Colombes, France Patentee before: OBERTHUR TECHNOLOGIES |