CN101194229B - 更新数据指令的方法和设备 - Google Patents

更新数据指令的方法和设备 Download PDF

Info

Publication number
CN101194229B
CN101194229B CN2006800207890A CN200680020789A CN101194229B CN 101194229 B CN101194229 B CN 101194229B CN 2006800207890 A CN2006800207890 A CN 2006800207890A CN 200680020789 A CN200680020789 A CN 200680020789A CN 101194229 B CN101194229 B CN 101194229B
Authority
CN
China
Prior art keywords
information
metadata
data
data file
electronic equipment
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.)
Expired - Fee Related
Application number
CN2006800207890A
Other languages
English (en)
Other versions
CN101194229A (zh
Inventor
S·安德森
M·利韦尔
P·扬
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.)
Sony Mobile Communications AB
Original Assignee
Sony Ericsson Mobile Communications AB
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 Sony Ericsson Mobile Communications AB filed Critical Sony Ericsson Mobile Communications AB
Publication of CN101194229A publication Critical patent/CN101194229A/zh
Application granted granted Critical
Publication of CN101194229B publication Critical patent/CN101194229B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading

Abstract

用于根据更新数据更新电子设备(1)的数据指令的方法和电子设备。该方法包括获取用于更新数据指令的更新数据、与该更新数据相关联的元数据、以及与该更新数据和该元数据中的至少一个相关联的至少一个安全机制。然后,通过该安全机制验证该更新数据和该元数据中的任意一个是否被未经授权更改。还公开了用于产生所述更新数据和所述元数据的方法和装置。

Description

更新数据指令的方法和设备
技术领域
本发明涉及根据更新数据安全地更新电子设备的数据指令。 
背景技术
很多电子设备包括处理器和用于执行各种功能的数据指令或软件。设备越复杂,数据指令就越多。包括用于实现各种功能的数据指令的这种设备的一个例子是移动电话,它已经经历了从简单的基于语音的装置到更复杂的多媒体功能的演变,例如,包括语音识别、媒体播放器、消息收发应用、web浏览器以及集成的相机功能,所有这些功能都需要数据指令。 
为了提供更复杂的功能,数据指令的复杂度增加了。同时,市场对具有更强功能的新产品的需要也在增加。这就给制造商带来了关于电子设备中包括的数据指令的质量和完整性的挑战。由于数据指令复杂度的增加,当设备被投放市场时出现有缺陷的数据指令的可能性增加。 
FOTA(空中固件,Firmware Over the Air)是在电子设备投放市场后更新其数据指令的升级或更新技术。当要更新一组数据指令时,产生更新数据,所述更新数据也称为增量(delta)数据或增量文件。更新数据包含新数据指令和电子设备上存在的数据之间的不同。因而,向电子设备发送的是更新数据而不是完整的新数据指令集。随后,可以用更新数据的内容更新电子设备上存在的数据指令。 
FOTA升级系统包括三个主要部件: 
-位于数据指令提供者处的增量文件生成工具,所述数据指令提供者通常是要接收更新数据的电子设备的制造商; 
-FOTA服务器,更新数据在其上被发布; 
-客户端,即包括要更新的数据指令的电子设备。 
FOTA服务器可以发送更新通知到电子设备以触发更新过程。可替换地,可以从包含要更新的数据指令的电子设备人工触发该过程。随后,更新数据被下载到电子设备上。这可以通过两个步骤完成。首先, 电子设备和服务器可以协商下载哪个更新数据。然后,该更新数据被下载并存储到电子设备中。最后,可以将电子设备重启到只有升级客户端在运行的模式,所述升级客户端可以用更新数据中的内容升级包含数据指令的存储器。 
采用FOTA更新的一个问题是提供足够的安全性。已知的是提供服务器和客户端验证。例如,电子设备可以只与电子设备中所识别出的服务器建立FOTA会话,例如通过出现在“白名单”。例如,服务器可以由它的域地址来标识。 
可以用TLS(传输层安全)来实现FOTA协议安全性,所述TLS对服务器和电子设备之间的通信链路给予了机密性和完整性保护。为了实现服务器验证,CA(认证机构,Certificate Authority)必须已经向FOTA服务器发出了服务器认证并且CA根认证必须被安装在电话上。客户端验证有类似的需求;CA必须已经向电子设备发出了客户端认证并且CA根认证必须安装在FOTA服务器上。 
真正的客户端验证需要向各个电子设备发出单独的客户端认证。这是一个非常昂贵的过程。 
就移动终端的情况来说,根认证所属的移动终端的制造商能够控制FOTA服务器。该服务器能够被内部运行或者外包至现有的CA。 
当FOTA服务器由运营商控制时,可能有两种配置: 
-运营商信任由制造商使用的CA并且接受由制造商发出的服务器认证; 
-运营商不信任制造商使用的CA并且想要自己控制根认证。 
除了需要向运营商控制的FOTA服务器发出服务器认证之外,第一种情况或多或少地与制造商自己运行FOTA服务器的情况相同。 
在第二种情况中,根认证由运营商生成,因此它必须是可定制的。为了支持这种情况下的客户端验证,制造商必须直接从运营商获取客户端认证或者得到中间的CA认证以便能够自己发出客户端认证。 
采用现有的安全机制有多种缺陷。 
首先,对于更新数据缺少端到端的安全性。一旦增量文件被存储在服务器上,根据服务器的安全级别,它就被暴露给了潜在的黑客攻击。因而,增量文件的提供者不得不依赖于服务器上使用的安全性系统。如果更新数据被更改,则黑客能够更改电子设备中的结果数据指 令使得电子设备变得不可操作。另外,可以使用更新数据在电子设备中插入或启动病毒攻击。 
此外,更新数据的一个问题是缺少控制对数据指令的更新的策略机制。这种机制可以控制允许特定的更新数据被安装到特定的电子设备上。 
发明内容
本发明的一个目的是为更新数据提供增强的安全性,所述更新数据用于更新电子设备中存储的数据指令的至少一部分。 
根据第一方面,一种用于根据更新数据更新电子设备的数据指令的方法包括从第一数据文件获取用于更新数据指令的更新数据;从第二数据文件获取与更新数据相关联的元数据;从第一数据文件获取第一标识符用于标识更新数据;从该第二数据文件获取至少一个第二标识符用于标识元数据可适用的更新数据;确定该第一标识符与从该第二数据文件获取的任何标识符是否匹配;获取与更新数据和元数据中的至少一个相关联的至少一个安全机制;在下次需要更新数据指令时,获取与用于更新数据指令的元数据相关联的另外的更新数据;以及通过该安全机制验证该更新数据和该元数据中的任意一个是否已经被未经授权地更改。 
如果判定更新数据和元数据中的任意一个都没有被未经授权地更改,则该方法还可以包括步骤:读取元数据中包含的至少一个更新标准;读取电子设备中存储的标识数据;以及确定该标识数据是否满足所述更新标准。 
可以向撤销(revocation)状态中心发送撤销状态请求。可以从撤销状态中心接收到撤销状态响应。然后,可以根据撤销状态响应确定安全机制是否有效。 
可以响应更新数据指令的请求执行验证步骤。 
更新数据可以被存储在未经授权就不能被访问的存储位置中。 
更新数据和元数据可以从公共数据文件获取。可替换地,可以从第一数据文件获取更新数据,从第二数据文件获取元数据。可以从第一数据文件获取用于标识更新数据的第一标识符,可以从第二数据文件获取用于标识该更新数据的至少一个第二标识符,该元数据可应用 于其上。然后,可以确定第一标识符是否匹配从第二数据文件获取的任意标识符。 
根据第二方面,一种生成用于更新电子设备的数据指令的更新数据的方法包括生成用于更新数据指令的至少一部分的更新数据;生成包含用于该更新数据的至少一个更新标准的元数据;以及将安全机制附到更新数据和元数据中的至少一个上。 
用于生成更新数据的方法可以包括并入运营商ID、电子设备标识符、软件版本标识符、软件标识符、电子设备类型标识符、电子设备型号标识符或者定制标识符中的任意一个作为更新标准。 
用于生成更新数据的方法还可以包括将撤销状态数据附到更新数据和元数据中的至少一个上。 
更新数据、元数据和安全机制可以被并入公共数据文件中。可替换地,更新数据被并入第一数据文件、元数据被并入第二数据文件。还可以在第一和第二数据文件的每一个中提供用于标识更新数据的标识符。 
根据第三方面,一种用于根据更新数据更新电子设备的数据指令的电子设备包括更新单元,并且所述更新单元包括:用于从第一数据文件获取用于更新数据指令的更新数据的装置;用于从第二数据文件获取与该更新数据相关联的元数据的装置;用于从另外的第一数据文件获取另外的与元数据相关联的更新数据的装置,该另外的更新数据用于更新数据指令;用于从第一数据文件获取第一标识符以标识更新数据的装置;用于从该第二数据文件获取至少一个第二标识符以标识元数据可适用的更新数据的装置;用于确定该第一标识符与从该第二数据文件获取的任何标识符是否匹配的装置;用于获取与该更新数据和该元数据中的至少一个相关联的至少一个安全机制的装置;以及用于通过该安全机制验证该更新数据和该元数据中的任意一个是否已经被未经授权地更改的装置;并且如果验证该更新数据和该元数据中的任意一个都没有被未经授权地更改的话,所述更新单元进一步包括: 
用于读取元数据中包含的至少一个更新标准的装置;用于读取电子设备中存储的标识数据的装置;以及用于确定该标识数据是否满足更新标准的装置。 
该电子设备可以另外包括验证单元,它被配置用来:向撤销状态中心发送撤销状态请求;从撤销状态中心接收撤销状态响应;以及从撤销状态响应确定安全机制是否有效。 
该更新单元可被配置用来从公共数据文件获取更新数据和元数据。可替换地,该更新单元可以被配置用来:从第一数据文件获取更新数据,从第二数据文件获取元数据;从第一数据文件获取用于标识更新数据的第一标识符;从第二数据文件获取用于标识该更新数据的至少一个第二标识符,该元数据可应用于其上;以及确定第一标识符是否匹配从第二数据文件获取的任意标识符。 
根据第四方面,一种产生用于更新电子设备的数据指令的更新数据的装置包括:用来重复地产生用于更新数据指令的至少一部分的更新数据发生器;用来产生包含用于该更新数据的至少一个更新标准的元数据的元数据发生器;以及用来将安全机制附到更新数据和元数据中的至少一个上的安全单元;用来在需要更新数据指令的任意时刻将所述更新数据并入第一数据文件(110)中、并且将所述元数据并入第二数据文件(120)中、并在第一和第二数据文件的每一个中提供用于标识该更新数据的标识符的并入单元。 
元数据发生器可以并入运营商ID、电子设备标识符、软件版本标识符、软件标识符、电子设备类型标识符、电子设备型号标识符或者定制标识符中的任意一个作为更新标准,所述定制标识符用于,例如,标识用于定制移动终端1的特定功能的特定定制数据。 
该装置可以将更新数据、元数据和安全机制并入公共数据文件中。可替换地,该装置可以将更新数据并入第一数据文件,将元数据并入第二数据文件,并在第一和第二数据文件的每一个中提供用于标识更新数据的标识符。 
根据第五方面,一种计算机程序产品包括计算机程序代码装置,用于当所述计算机程序代码装置被具有计算机能力的电子设备运行时执行根据更新数据更新电子设备的数据指令的方法。 
根据第六方面,一种计算机程序产品包括计算机程序代码装置,用于当所述计算机程序代码装置被具有计算机能力的电子设备运行时执行用于生成更新电子设备的数据指令的更新数据的方法。 
在从属权利要求中限定了本发明的更多实施例。 
本发明的优势是为更新数据提供了端到端的安全性。还有一个优势是以受控方式处理更新数据。 
应该强调本说明书中所用的术语“包括/包含”用来指所声明的特性、整数、步骤或部件的存在,但并不排除一个或多个其它特性、整数、步骤、组件或它们的组合的存在或加入。 
附图说明
从下面结合附图对本发明的详细说明中将会看到本发明的更多目的、特性和优势,附图中: 
图1是与网络和外围设备相连的移动终端的示意图; 
图2是图1的移动电话的一个实施例的框图; 
图3-5是数据文件的框图; 
图6是图1的移动终端的另一实施例的框图; 
图7是用于生成更新数据和元数据的装置的框图; 
图8是用于生成更新数据和元数据的方法的流程图; 
图9是用于更新数据指令的方法的流程图。 
具体实施方式
图1示出了被实施为移动终端1的电子设备。本发明能够被实现到任意电子设备中,其中在这些电子设备中存在一种用于更新数据指令的需求。可以在其中实现本发明的设备的例子可以包括,例如,通信设备,如便携式或手持式移动无线电通信设备、移动无线电终端、移动电话、传呼机、发报机、电子组织器、智能电话和计算机。本发明还可用在包含用于实现各种功能的数据指令的消费产品中,如照相机、打印机、媒体播放器等。其它例子是汽车中的电子设备。 
为了陈述简单起见,在本说明中将参考移动终端1,它不应该被限制性地解释,而是作为例子。 
图2示出了通常集成在移动终端1中的某些部件。发射器/接收器(Tx/Rx)单元10用于与外围通信设备进行通信。Tx/Rx单元10可以包括用于和通信网络21(图1)通信的收发器,例如根据任意通信技术,比如GSM(全球移动通信系统)、UMTS(通用移动电信系统)、CDMA2000(码分多址)、PDS(个人数字系统)或PDC(个人数字蜂窝), 与通信网络21通信。所述Tx/Rx单元10可以另外地或者可替换地被配置以用于短距离无线电通信,例如Bluetooth(蓝牙) 
Figure GSB00000226415800071
WLAN(无线局域网)或 
Figure GSB00000226415800072
另外地或者可替换地,所述Tx/Rx单元10可以包括IR(红外)发射器/接收器。可以提供附件连接器11以能够与外围设备建立有线连接。 
移动终端1可以包括各种类型的存储器,它们共同由附图标记12表示。存储器12可以包括RAM(随机访问存储器)、ROM(只读存储器)、闪存、非易失性存储器、SIM(用户身份模块)等。用于移动终端1的各种功能的数据指令或软件可以被存储在存储器12中。这些功能,例如,可以包括照相机、消息接发、文件浏览器、连接性、媒体播放器或电话簿功能。这些功能被提供用于用户的交互或受益。然而,其它功能可能对用户是不可见的,如对电话呼叫/数据通信会话等的实际设置。 
提供了更新单元13用于更新存储器12中存储的数据指令。更新单元13用于根据更新数据(如增量文件)更新数据指令。更新数据包括这样的数据,其可以替代存储器12中存储的数据指令的至少一部分。可替换地,更新数据可以被添加到移动终端1中存储的数据指令。更新单元13可以用硬件、软件或软硬件组合实现,例如用于运行更新客户端的处理器、ASIC(专用集成电路)或FPGA(现场可编程门阵列)。更新单元13被配置用来获取更新数据、寻址包括要更新的数据指令的存储器12的特定部分、并根据所获取的更新数据至少更新所述数据指令。如果必要的话,更新单元13还可以发出更新报告以确认更新是否成功。更新报告,例如,可以被发送到移动电话1的制造商。 
移动终端还可以包括CPU(中央处理单元)14,该CPU14用于控制移动终端1的可操作性。例如,CPU可以实现更新单元13。 
此外,移动终端1可以包括存储卡读取器,可以在其中插入存储卡。 
图1示出了与各种设备相连的移动终端1。可以用各种途径获取更新数据。例如,可以在无线连接22或有线连接(未示出)上通过通信网络21(比如因特网)从远程服务器20下载更新数据。可替换地,可以从位于服务中心的外围设备(如计算机)获取更新数据。移 动终端1可以通过短距离无线链路24(如无线电链路或IR链路)和/或有线连接26(如串行电缆)与外围设备23和24相连。还可以从移动存储装置获取更新数据,如软盘、USB(通用串行总线)存储器、存储卡或CD/DVD盘。更新数据还可以预装在存储器12中,可以从存储器12中获取所述更新数据。 
图3示出了包含更新数据的数据文件100的组分。更新数据可以被包含在数据文件100的第一数据字段101中。第二字段102可以包含与更新数据相关联的元数据。第三字段103可以包括安全机制。该安全机制可以包括用于向更新数据和元数据提供完整性保护和初始验证的签名和认证链。 
元数据可以包含策略机制,它可以描述哪些电子设备被允许安装给出的更新数据,或者数据文件100中包含的更新数据打算用于哪些电子设备。策略机制可以包括与更新数据相关联的一个或多个更新标准,例如修订标识符,它标识了更新数据打算用于的数据指令和/或数据指令版本。更新标准还可以包括设备和/或设备型号/版本标识符。设备标识符可以标识更新数据打算用于的特定电子设备。设备标识符,例如,可以由IMEI(国际移动设备标识符)、IMSI(国际移动站点标识符)或者对每个移动终端1唯一的任意其它硬件唯一标识符提供。设备型号/版本标识符可以标识更新数据打算用于的特定版本或型号的特定电子设备。型号/版本标识符可以,例如,由一个值来提供,比如由一个整数或字符串提供。更新标准还可以包括用于标识为该移动终端1服务的运营商的运营商ID。例如,特定的运营商可能需要在移动终端1中存储的对该运营商特有的专用数据指令。可替换地或者另外地,更新标准可以包括电子设备标识符以标识一个特定的电子设备,例如IMEI(国际移动设备标识符),软件版本标识符以标识软件的特定版本,软件标识符以标识特定软件,电子设备类型标识符以标识电子设备的特定类型,电子设备型号标识符以标识特定电子设备的特定型号,或者定制标识符。 
安全机制的签名可以基于,例如,带有SHA-1(Secure Hash Algorithm 1,安全哈希算法1)机制的RSA(Rivest Shamir Adleman)签名。该签名可以基于PKCS#1(公共密钥加密标准)或XML-dsig(扩展标记语言数字签名)或任意其它种类的签名方法。如果这个配置也 被移动终端1的其它系统采用的话,比如系统软件,例如MIDP(Mobile Information Device Profile,移动信息装置简介)2.0,则使用带有SHA-1机制的RSA签名是有优势的。然后,将实现更新单元13和系统软件之间的协同效应。这个协同效应也可由其它签名机制实现,如果它们被移动终端1的其它功能采用的话。 
更新数据可以用更新数据的制造商的私有密钥签署。在一种替代实施方案中元数据也可以被签署。可替换地,更新数据和元数据被共同签署,其中单一安全机制将被包含在数据文件100中。 
验证签名的公共密钥可以被包含在安全机制的认证链中。向包含更新数据的数据文件100的安全机制提供公共密钥的优势在于与在制造时将公共密钥存储在移动终端1中相比系统的灵活性更高。然而,在另一实施例中,公共密钥在制造时被存储在移动终端1中。认证链在移动终端1中用来验证已经发出更新数据的源是否被授权这么做。 
移动终端1中的认证验证过程可以包括日期确认,即验证认证尚未过期。然而,日期确认可以被省略,例如在移动终端1中的时间和/或日期的准确性不被信任的情况下。 
数据文件100将由二进制数据(更新数据)以及XML(元数据,和安全机制)组成。如果这被用来实现安全机制,则应该能够从XML-dsig签名引用更新数据。这可以通过在指向要签署的数据的XML-dsig中包括URI(统一资源标识符)而在XML-dsig中完成。这样,可以引入特殊的URI,它可以引用位于与XML数据相同的文件中的二进制数据。 
图4示出了用于提供并获取更新数据和元数据的可替换实施例。第一数据文件110包含第一数据字段111和第二数据字段112。数据字段111包含更新数据和用于标识该更新数据的标识符。数据字段111的内容还可以在单独的数据字段中提供。数据字段112包含已经关于根据图3的实施例说明过的安全机制。因而,提供了对更新数据的完整性保护。 
第二数据文件120包含第一数据字段121和第二数据字段122。数据字段121包含上面已经说明过的与第一数据文件110中的更新数据相关联的元数据。数据字段122包含已经结合图3的实施例说明过的安全机制。因而,为元数据也提供了完整性保护。数据字段121包 含用于将第二文件120的元数据与第一文件110的更新数据相关联的机制。用于关联的机制可以是用于标识与第二文件121的元数据中包含的更新标准一起使用的更新数据的至少一个标识符。用于关联的机制可以是一个值的列表,其中每个值标识特定的更新数据。因而,为了应用第一文件110中的更新数据,更新单元13可以从第一数据文件110获取第一标识符,并从第二数据文件120获取至少一个第二标识符。然后,更新单元13可以判断该第一标识符是否匹配从第二数据文件120获取的任意标识符。如果该第一标识符匹配从第二数据文件120获取的任意标识符,则更新单元13可以应用该更新数据。然而,如果第一标识符不匹配从第二数据文件120获取的任意标识符,则该更新过程可以被终止。在应用更新数据之前,需要检查元数据中包含的任意附加更新标准。 
数据文件120可以与数据文件110一起获取。可替换地,数据文件110和120可以独立地获得。此外,数据文件120可以被制造商预先安装在移动终端1上。 
数据文件120可以用XML实现。这是一个优势,因为可以包括多个更新标准,每个更新标准可以包含一个或多个值。例如,若干运营商I D或IME I值可以被并入一个文件中。 
如果更新数据和元数据由不同的源提供或产生,则在独立的文件中提供它们是有优势的。在独立的数据文件中提供更新数据和元数据之所以也是优势,是因为元数据可以只需要被传输到特定的移动终端一次,但在若干情况下都需要传输更新数据。接下来如果有更新数据指令的新需要,就只需要传输更新数据。因而,可以更有效地利用其中传输更新数据的网络中的资源。另外,更有效地利用了移动终端1中的电源,因为需要接收的数据更少。 
还可以在数据文件120中包括由移动终端产生的一个随机值以提供重放保护,即该数据文件可以只被使用一次。该随机值可以由移动终端1产生并被发送到服务器20,例如在用于标识移动终端1的消息中。该随机值还可以被存储在移动终端中。该随机值可以被并入到包括更新数据的消息中,其中移动终端1可以比较所存储的随机值与接收到的随机值是否一致。如果不一致,就丢弃该更新数据。 
在另一实施例中,提供了撤销检查以确认安全机制(例如已经被 用于应用签名的认证或认证链)是否已经被撤销。图5示出了包含第一数据字段131、第二数据字段132和第三数据字段133的数据文件130。数据字段131可以包含更新数据和/或元数据,即根据图3的实施例的同一数据文件中包含的更新和元数据,或根据图4的实施例的独立的数据文件中包含的更新数据和元数据。数据字段132可以包含用于为数据字段131的内容提供安全性保护的安全机制。数据字段133可以包含撤销信息。撤销信息可以是,例如,CRL或OCSP响应。可替换地或者另外地,撤销信息可以包含应该向其发送撤销请求的撤销服务器的地址,以及应该在应用更新数据之前进行撤销检查的信息。 
在一个实施例中,可以对数据文件100、110、120、130中的任意一个加密以进一步增强其安全性,例如通过使用AES(高级加密标准)或DES(数据加密标准)。 
图6示出了在应用所获取的更新数据之前提供安全机制的撤销检查所配置的移动终端140。与图2的移动终端1中的部件相同的部件由相同的附图标记表示。 
移动终端140包括验证单元141。验证单元141可以由运行用于实现验证单元的数据指令的处理器、ASIC或FPGA提供。验证单元141可以形成更新单元13的一部分。验证单元141用来进行撤销检查。可以响应来自更新单元13的请求启动撤销状态检查。撤销状态请求可以包含用于标识与该请求有关的安全机制的信息,和用于标识请求者的信息,应该向所标识的请求者发送撤销状态响应。撤销状态响应可以包含与该请求有关的认证是否有效的信息。撤销状态请求可以被发送到中央撤销中心145,例如一个服务器,它可以保存被撤销的安全机制的记录。可替换地或者另外地,撤销中心可以是充当代理的FOTA服务器146,它保存着撤销记录。因而,撤销请求能够被发送到FOTA服务器146。撤销服务器的地址可以,例如,被包含在撤销信息中或存储在存储器12中。 
图7和8示出了用于产生更新数据和相关联的元数据的装置和方法。在第一个步骤200,创建具有相应的私有密钥、公有密钥的CA(认证机构)150和根认证。然后,在步骤201中,根认证被安装在移动终端中,例如在制造移动终端时或稍后的时间。根可以被安装在完整性受保护区域上的存储器12中。然后,由CA 150在步骤202中发出 签名认证给移动终端1的制造商。用于产生包括更新数据和元数据的一个(或多个)数据文件的设备可以包括更新数据发生器151和元数据发生器152,它们,例如,可以由运行计算机程序代码装置的处理器实现。更新数据发生器151和元数据发生器152在步骤204和205中如上所述产生更新数据和相关的元数据。此外,用于产生包含更新数据和/或元数据的数据文件的设备可以包括用来向更新数据和元数据应用安全工具的安全单元153。安全单元可以在步骤206中通过用发布给制造商的私有密钥和认证签署更新数据和元数据而应用安全工具。更新数据和元数据可以被包含在单个数据文件或独立的数据文件中。然后,可以将包含签名、认证链以及与签名认证相关联的公共密钥的安全机制附到包含更新数据和/或元数据的一个(或多个)文件中。最后,在步骤207中,制造商分发包含更新数据和/或元数据的数据文件。撤销信息也可以被并入该数据文件中。不需要同时生成和分发包含更新数据的数据文件和包含元数据的数据文件。此外,不需要为生成更新数据而执行图8的所有步骤。一旦已经产生了CA并且发布了认证,不需要执行步骤200-202就可以生成新的更新数据和元数据。 
应该理解的是,用来发布认证的设备可以在物理上与更新数据发生器151、元数据发生器152以及安全单元153分离。 
图9示出了用于根据更新数据更新电子设备的数据指令的方法的一个实施例。在第一个步骤300中,已经获取的包含更新数据和/或元数据的数据文件被存储在未经授权就不能被访问的存储位置中或任意其它存储区域中。所述存储位置可以是,例如,在存储器12中由更新单元13访问的一个存储区域。不必在所有实施例中都存储更新数据。例如,如果结合对数据指令的更新进行完整性检查,则就不必存储数据指令。然而,如果该数据文件已经被存储,则可以响应于由更新单元13在步骤301中接收到的更新请求访问它。如果结合对数据指令的更新进行完整性检查,则就不必将更新数据/元数据存储在未经授权就不能被访问的存储位置中,而是可以存储在任意存储位置中。更新请求可以由用户通过人机界面或CPU14运行的另一过程启动。 
在步骤302,获取更新数据、元数据(如果需要的话)以及与该 更新数据和该元数据相关联的至少一个安全机制。安全机制的数量取决于更新数据和元数据是从单个数据文件还是从独立的数据文件获取。更新数据和元数据可能还需要被解密。如果这样的话,可以在进行任何进一步处理之前在步骤302中对更新数据和/或元数据解密。 
在步骤303,更新单元13验证更新数据或元数据(即,它们中的至少一个)是否被未经授权地更改或篡改。如果更新数据或元数据中的任意一个被未经授权地更改,则终止该过程。然而,在另一实施例中,更新数据和元数据都需要被未经授权地更改可以是终止该过程的先决条件。如果步骤303中的答案为“是”,则终止该过程。如果步骤303中的答案为“否”,即更新数据和/或元数据没有被未经授权地更改,则该过程继续到步骤304。 
如果更新数据和元数据是从不同的数据文件获得的,则从包含更新数据的数据文件中可以获取标识更新数据的第一标识符,从包含元数据的第二数据文件中可以获取用于标识更新数据的至少一个第二标识符,该元数据可应用于其上。可以在步骤304中由更新单元13比较该第一和第二标识符以确定它们是否相互匹配。如果它们匹配,则该过程继续到步骤305。否则,该过程被终止。 
在步骤305,确定是否应该进行撤销状态检查。如果步骤305中的答案为“是”,则该过程继续到步骤306,在步骤306中撤销状态请求由验证单元141发送到撤销服务器145或FOTA服务器146。在步骤307,更新单元13接收到撤销响应,它包含与更新数据和元数据相关联的一个(或多个)安全机制是否有效的信息。如果在步骤308中确定该安全机制或安全机制中的任意一个无效,则该过程终止。如果确定所述一个(或多个)安全机制有效,则该过程继续到步骤309。在步骤309中,由更新单元13读取元数据中包含的任意更新标准。另外,由更新单元13读取存储器12中存储的要与该更新标准比较的标识数据。然后,在步骤310中,比较该更新标准和该标识数据以判断它们是否匹配。如果一个或多个更新标准不匹配,则该过程被终止。然而,可以应用用于应用更新标准的任意机制。如果该标识数据满足该更新标准,则该过程继续到步骤311,其中根据更新数据更新存储器12中存储的数据指令。然后,该过程被终止。然而,在一个实施例中,可以向,例如,更新管理员(例如移动终端的制造商)发送带 有成功更新信息的更新确认报告。 
不必按所示顺序执行图9中所示的所有步骤。例如,在另一实施例中,步骤9和10可以在步骤303之后执行。在又一可替换的实施例中,步骤305-308可以在步骤302之后执行。还可以有其它替换方案。 
为了实现真正的端到端保护,即直到更新数据实际上被使用时的保护,更新数据可以被存储在存储器12中的一个区域,其不能被数据装载软件或任意其它工具未经授权就更改。如果它被存储在闪存中,则普通闪存装载程序应该能够访问包含更新数据的数据文件。 
可替换地,为了进一步增强安全性,对包含更新数据的数据文件可以在其被用于更新任何数据指令之前被存储时进行完整性保护。这是通过在数据文件被获取时计算加密校验和而实现的。校验和和数据文件随后被存储在存储器12中,例如存储在闪存中。当电话被重新启动时,更新单元13可以在更新数据指令之前检查包含更新数据的数据文件的完整性。 
可以用改编程序保护方案对更新单元13进行完整性保护。这个方案可以在例如移动终端1被重新启动时执行原始验证和完整性控制。还可以在移动终端1启动时进行更新单元13以及更新中可能涉及的其它单元(如验证单元141)的完整性检查。这可以,例如,如上所述通过计算并验证校验和来完成。 
此外,如果在更新数据指令时验证了包括更新数据的数据文件中包含的安全机制,则就实现了真正的端到端安全性。 
以上已经参考具体实施例说明了本发明。然而,除上述以外的其它实施例也同样地在本发明的范围内。在本发明的范围内可以提供与上述由硬件或软件执行该方法的方法步骤不同的方法步骤。本发明的不同特性和步骤可以被组合在上述以外的其它组合中。本发明的范围只由所附权利要求来限定。 

Claims (18)

1.一种用于根据更新数据更新电子设备的数据指令的方法,包括:
从第一数据文件获取用于更新数据指令的更新数据;
从第二数据文件获取与该更新数据相关联的元数据;
从第一数据文件获取第一标识符用于标识更新数据;
从该第二数据文件获取至少一个第二标识符用于标识元数据可适用的更新数据;
确定该第一标识符与从该第二数据文件获取的任何标识符是否匹配;
获取与该更新数据和该元数据中的至少一个相关联的至少一个安全机制;
在下次需要更新数据指令时,获取与用于更新数据指令的元数据相关联的另外的更新数据;以及
通过该安全机制验证该更新数据和该元数据中的任意一个是否已经被未经授权地更改,并且如果验证该更新数据和该元数据中的任意一个都没有被未经授权地更改的话,则该方法还包括步骤:
读取该元数据中包含的至少一个更新标准;
读取电子设备中存储的标识数据;以及
确定该标识数据是否满足所述更新标准。
2.根据权利要求1的方法,还包括:
向撤销状态中心发送撤销状态请求;
从撤销状态中心接收撤销状态响应;以及
根据该撤销状态响应确定该安全机制是否有效。
3.根据前述任一权利要求的方法,包括:
响应更新数据指令的请求执行验证步骤。
4.根据前述任一权利要求的方法,包括:
将更新数据存储在未经授权就不能被访问的存储位置(12)上。
5.根据前述任一权利要求的方法,包括:
从公共数据文件(100)中获取所述更新数据和所述元数据。
6.根据前述任一权利要求的方法,还包括:
由该电子设备产生随机值并将该随机值存储在该电子设备中;
将该随机值发送到服务器以便被并入包括更新数据的消息中;
在接收到包括更新数据的消息时比较所存储的随机值与所接收到的随机值是否一致;
如果不一致就丢弃该更新数据。
7.根据前述任一权利要求的方法,还包括:
在获取更新数据时计算加密校验和;
将该更新数据和该校验和存储在该电子设备的存储器中;
在更新数据指令之前检查该更新数据的完整性。
8.产生用于更新电子设备的数据指令的更新数据的方法,包括:
产生用于更新数据指令的至少一部分的更新数据;
产生包含用于该更新数据的至少一个更新标准的元数据;以及
产生用于更新至少一部分数据指令的另外的更新数据,并且在另外的第一数据文件中并入另外的更新数据;
将安全机制附到该更新数据和该元数据中的至少一个上;
将该更新数据并入第一数据文件中,将该元数据并入第二数据文件中;以及
在第一和第二数据文件的每一个中提供用于标识该更新数据的标识符。
9.根据权利要求8的方法,包括并入运营商ID、电子设备标识符、软件版本标识符、软件标识符、电子设备类型标识符、电子设备型号标识符或定制标识符中的任意一个作为更新标准。
10.根据权利要求8或9的方法,包括将撤销状态数据附到所述更新数据和所述元数据中的至少一个上。
11.根据权利要求8到10中任意一个的方法,包括将所述更新数据、所述元数据和所述安全机制并入公共数据文件(100)中。
12.一种用于根据更新数据更新电子装置(1)的数据指令的电子设备,包括更新单元(13),并且所述更新单元包括:
用于从第一数据文件获取用于更新数据指令的更新数据的装置;
用于从第二数据文件获取与该更新数据相关联的元数据的装置;
用于从另外的第一数据文件获取另外的与元数据相关联的更新数据的装置,该另外的更新数据用于更新数据指令;
用于从第一数据文件获取第一标识符以标识更新数据的装置;
用于从该第二数据文件获取至少一个第二标识符以标识元数据可适用的更新数据的装置;
用于确定该第一标识符与从该第二数据文件获取的任何标识符是否匹配的装置;
用于获取与该更新数据和该元数据中的至少一个相关联的至少一个安全机制的装置;以及
用于通过该安全机制验证该更新数据和该元数据中的任意一个是否已经被未经授权地更改的装置;并且如果验证该更新数据和该元数据中的任意一个都没有被未经授权地更改的话,所述更新单元进一步包括:
用于读取元数据中包含的至少一个更新标准的装置;
用于读取电子装置(1)中存储的标识数据的装置;以及
用于确定该标识数据是否满足所述更新标准的装置。
13.根据权利要求12的电子设备,还包括验证单元(141),该验证单元被配置用来:
发送撤销状态请求到撤销状态中心(145,146);
从撤销状态中心接收撤销状态响应;以及
根据该撤销状态响应确定所述安全机制是否有效。
14.根据权利要求12或13的电子设备,其中所述更新单元(13)还被配置用来:
从公共数据文件(100)获取更新数据和元数据。
15.根据权利要求12到14中任意一个的电子设备,其中所述更新单元(13)被配置用来:
由该电子设备产生随机值并将该随机值存储在该电子设备中;
将该随机值发送到服务器以便被并入包括更新数据的消息中;
在接收到包括更新数据的消息时比较所存储的随机值与所接收到的随机值是否一致;
如果不一致就丢弃该更新数据。
16.产生用于更新电子设备(1)的数据指令的更新数据的装置,包括:
更新数据发生器(151),用来重复地产生用于更新数据指令的至少一部分的更新数据;
元数据发生器,用来产生包含用于该更新数据的至少一个更新标准的元数据;以及
安全单元(153),用来将一种安全机制附到该更新数据和该元数据中的至少一个上;
并入单元,用来在需要更新数据指令的任意时刻将所述更新数据并入第一数据文件(110)中,并且将所述元数据并入第二数据文件(120)中,并在第一和第二数据文件的每一个中提供用于标识该更新数据的标识符。
17.根据权利要求16的装置,其中该元数据发生器(152)用来并入运营商ID、电子设备标识符、软件版本标识符、软件标识符、电子设备类型标识符、电子设备型号标识符或者定制标识符中的任意一个作为更新标准。
18.根据权利要求16或17的装置,其中该装置将所述更新数据、所述元数据和所述安全机制并入公共数据文件(100)中。
CN2006800207890A 2005-04-11 2006-04-05 更新数据指令的方法和设备 Expired - Fee Related CN101194229B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP05007884.9 2005-04-11
EP05007884A EP1712992A1 (en) 2005-04-11 2005-04-11 Updating of data instructions
US67369605P 2005-04-21 2005-04-21
US60/673,696 2005-04-21
PCT/EP2006/061354 WO2006108788A1 (en) 2005-04-11 2006-04-05 Updating of data instructions

Publications (2)

Publication Number Publication Date
CN101194229A CN101194229A (zh) 2008-06-04
CN101194229B true CN101194229B (zh) 2012-03-07

Family

ID=34934981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800207890A Expired - Fee Related CN101194229B (zh) 2005-04-11 2006-04-05 更新数据指令的方法和设备

Country Status (4)

Country Link
US (1) US20080189695A1 (zh)
EP (1) EP1712992A1 (zh)
CN (1) CN101194229B (zh)
WO (1) WO2006108788A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132573A (zh) * 2006-08-23 2008-02-27 中兴通讯股份有限公司 一种终端批量升级的实现方法
KR20080025957A (ko) * 2006-09-19 2008-03-24 삼성전자주식회사 휴대용 단말기에서 소프트웨어를 업그레이드하기 위한 장치및 방법
GB0624582D0 (en) * 2006-12-08 2007-01-17 Visible Computing Ltd USB autorun devices
DE102007040094B4 (de) * 2007-08-24 2010-02-11 Continental Automotive Gmbh Verfahren und System zur reversiblen Durchführung von Konfigurationsänderungen
KR20100081720A (ko) * 2009-01-07 2010-07-15 삼성전자주식회사 포타 서비스 방법 및 시스템
KR100985169B1 (ko) * 2009-11-23 2010-10-05 (주)피스페이스 분산 저장 시스템에서 파일의 중복을 제거하는 장치 및 방법
JP5644777B2 (ja) * 2010-01-21 2014-12-24 日本電気株式会社 ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム
US8166106B2 (en) * 2010-04-15 2012-04-24 Microsoft Corporation Targeting applications based on mobile operator
CN102141785A (zh) * 2010-12-30 2011-08-03 美的集团有限公司 基于微控制器的电子产品的制作方法及其控制方法
CN102662991A (zh) * 2012-03-14 2012-09-12 北京邮电大学 一种基于移动存储设备的文件级同步方法
US9075686B2 (en) * 2013-02-25 2015-07-07 GM Global Technology Operations LLC System and method to improve control module reflash time
WO2014139598A1 (en) * 2013-03-14 2014-09-18 Telefonaktiebolaget L M Ericsson (Publ) Method for authenticating a client program by a remote data processing system
CN103327026B (zh) * 2013-06-28 2016-03-02 腾讯科技(深圳)有限公司 一种数据更新方法和更新系统
CN103491436A (zh) * 2013-09-13 2014-01-01 深圳Tcl新技术有限公司 数字一体机客制化的实现方法及装置
CN105306505A (zh) * 2014-07-11 2016-02-03 腾讯科技(深圳)有限公司 数据更新方法、终端及服务器
US10979232B2 (en) * 2018-05-31 2021-04-13 Motorola Solutions, Inc. Method for provisioning device certificates for electronic processors in untrusted environments
CN112912847B (zh) 2018-11-09 2022-10-04 华为技术有限公司 空中下载升级的方法及相关装置
CN110086659A (zh) * 2019-04-12 2019-08-02 苏州浪潮智能科技有限公司 一种fpga配置文件的安全更新系统与方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1436086A (zh) * 2000-06-16 2003-08-13 舍林股份公司 用于治疗多发性硬化的新干扰素
CN1470018A (zh) * 2000-10-19 2004-01-21 �Ҵ���˾ 向激活状态的客户机位置发布实时配置更新和软件

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023620A (en) * 1997-02-26 2000-02-08 Telefonaktiebolaget Lm Ecrisson Method for downloading control software to a cellular telephone
CA2414281C (en) 2000-11-17 2009-06-02 Bitfone Corporation System and method for updating and distributing information
US7095858B2 (en) * 2001-05-10 2006-08-22 Ranco Incorporated Of Delaware System and method for securely upgrading firmware
US7711775B2 (en) * 2001-10-24 2010-05-04 Groove Networks, Inc. Method and apparatus for managing software component downloads and updates
EP2309411A3 (en) 2002-04-23 2011-06-15 Panasonic Corporation Method and system for controlled distribution of software programs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1436086A (zh) * 2000-06-16 2003-08-13 舍林股份公司 用于治疗多发性硬化的新干扰素
CN1470018A (zh) * 2000-10-19 2004-01-21 �Ҵ���˾ 向激活状态的客户机位置发布实时配置更新和软件

Also Published As

Publication number Publication date
US20080189695A1 (en) 2008-08-07
EP1712992A1 (en) 2006-10-18
CN101194229A (zh) 2008-06-04
WO2006108788A1 (en) 2006-10-19

Similar Documents

Publication Publication Date Title
CN101194229B (zh) 更新数据指令的方法和设备
KR101324891B1 (ko) 코드 및 데이터 서명을 개선하기 위한 방법 및 장치
CN102859963B (zh) 从非本地存储器安全地引导和配置子系统
CN102457378B (zh) 用于工业装置的安全模型
US20140075517A1 (en) Authorization scheme to enable special privilege mode in a secure electronic control unit
CN103679005A (zh) 启用安全电子控制单元的开发模式的方法
US9942047B2 (en) Controlling application access to mobile device functions
CN107733652B (zh) 用于共享交通工具的开锁方法和系统及车锁
CN102177678A (zh) 可信和机密的远程tpm初始化
CN111382397B (zh) 升级软件包配置方法、软件升级方法、设备及存储装置
KR101642267B1 (ko) 앱 위변조 방지시스템 및 그 방법
CN111399867B (zh) 一种软件升级方法、装置、设备及计算机可读存储介质
US20240028672A1 (en) Terminal hardware configuration system
CN112514323A (zh) 用于处理数字密钥的电子设备及其操作方法
KR20130100032A (ko) 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법
JP6074125B2 (ja) 無線端末のネットロック方法及びシステム
CN107636660A (zh) 用于对设备的使用进行适配的装置和方法
CN115935379A (zh) 业务处理方法、装置、设备及计算机可读存储介质
WO2013161371A1 (ja) プログラム提供装置、システム、プログラム提供方法およびプログラム
CN107004071A (zh) 软件处理设备、服务器系统及其方法
JP2008233965A (ja) 携帯端末装置とそのプログラム、及び、改竄防止システムと改竄防止方法
JP2007274101A (ja) 携帯電話端末及び改竄防止システム並びに改竄防止方法
CN115996375A (zh) 一种实现车辆空中下载的方法及系统
CN112805702A (zh) 仿冒app识别方法及装置
KR20070080058A (ko) 휴대 단말기의 소프트웨어 불법 사용 방지 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120307

Termination date: 20130405