CN103460195B - 用于安全软件更新的系统和方法 - Google Patents
用于安全软件更新的系统和方法 Download PDFInfo
- Publication number
- CN103460195B CN103460195B CN201280017664.8A CN201280017664A CN103460195B CN 103460195 B CN103460195 B CN 103460195B CN 201280017664 A CN201280017664 A CN 201280017664A CN 103460195 B CN103460195 B CN 103460195B
- Authority
- CN
- China
- Prior art keywords
- key
- encryption
- school affairs
- renewal
- signature
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioethics (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
一种安全软件更新向目标设备提供具有更新定义、私有加密密钥和公共签名密钥的更新实用程序。在便携式介质上准备软件更新分组,其包括可执行更新程序、利用对称密钥加密的程序的校验和、利用公共加密密钥加密的经过加密的对称密钥以及利用私有签名密钥准备的数字签名。该更新过程对数字签名进行认证,使用私有加密密钥对对称密钥进行解密,并且使用对称密钥对校验和进行解密。为可执行更新程序生成新校验和并且将其与经过解密的校验和进行比较。如果在更新过程期间检测到不一致,则该过程被终止。否则,可以防止损坏、病毒和第三方干扰的相对较高程度的保证来安装软件更新。
Description
关于联邦政府资助研发的声明N/A
技术领域
本发明总体上涉及在安装之前验证软件的软件更新机制,并且更具体地涉及在安装之前利用安全验证的软件更新的实施方式。
背景技术
可以为运行软件应用程序的各种类型的设备(包括通常以独立的基础操作的嵌入式设备)提供在它们的有用寿命周期过程中的软件更新。在计算机设备(诸如桌上型PC和其他通用计算机)的情况下,通常通过通信链路来执行更新,诸如可以被提供有到LAN、WAN、内联网或因特网的网络连接。通信链路允许计算机下载或检索可以相对较容易地安装到计算机上的更新。
在包括计算引擎和软件的独立设备(诸如常常存在于嵌入式系统中)的情况下,趋向于利用物理部件来实施软件更新。例如,可以通过替换被编程为包括新软件更新的ROM来更新某些独立设备。另一方法可能是将RAM卡或加载软件替换成来自磁或电介质的半永久性存储器。在一些情况下,通过将通信链路(诸如网络连接)应用于设备以上传新软件来更新嵌入式系统。
所出现的关于软件更新安装的一个问题是在软件的安装和执行之前验证软件更新。例如,通常进行验证来确保软件没有被病毒感染、修改或损坏。一种验证软件的流行技术是计算用于软件更新安装的给定文件的校验和。通常,软件更新是二进制或图像类型文件的形式,可以容易地将校验和算法应用于所述文件。典型校验和算法是MD5(消息摘要算法5)算法,在其中根据递归算法来组合算法所应用于的文件块以产生表示文件内容的高度唯一编号。MD5有时被称为加密散列函数,并且提供128位的散列值或校验和。因为不同文件内容产生相同校验和的极其低的可能性,MD5通常被用于确认伴随文件的完整性。
因为软件更新所涉及的潜在安全性问题(诸如损坏、修改或恶意代码被嵌入到软件更新文件中),所以已经开发了进一步保护用于软件更新的软件文件的技术。安全措施可以包括保护文件内容和/或校验值免受篡改或损坏的技术。一种这样的安全性技术是将加密应用于文件内容和/或校验和值,诸如可以通过使用用于对数据进行加密和解密的公共/私有密钥对来实现。这种类型的非对称加密使用私有密钥来对使用公共密钥加密的数据进行解密。如果要使用这种类型的安全来更新特定设备的软件,则私用密钥将被分发给要被更新的这个设备,这趋向于阻止公共/私有密钥对安全设计的目的。
可能用于保护数据的另一安全措施是获得并应用与电子签名相结合的数字证书。该数字证书对文档源自所声称的来源提供高水平验证。典型地,文档或数据被处理以产生相对唯一值,诸如散列值或校验和。使用签名者的非对称公共/私有密钥对的私有密钥来对所述散列值或校验和进行加密以产生数字签名。使用数字签名来形成数字证书,结果得到被传送到远程位置并且通过下面这样在远程位置处进行认证的数字签名的数据:即通过提取原始数据、计算该数据的散列值或校验和、使用公共/私有密钥对的公共密钥对该数字签名进行解密以获得原始散列值或校验和,并且然后将所计算的和所传送的散列值或校验和进行比较以确定该数字签名是否有效并且认证数据的来源和完整性。
然而,数字证书通常提供有届满日期来帮助确保证书的当前有效性和结果产生的数字签名。此外,常常验证数字证书自身的有效性以确保它们是当前有效的,该检查常常通过通信链路来完成以便在持续的基础上维护数字证书。在独立设备的情况下,数字证书的使用表示一种通常昂贵但高度维护安全的技术,其通过假设将被更新设备所利用的通信链路来允许引入其他安全间隙。
提供安全更新环境的另一方法是实施内核级保护以便为更新创建一个可信任环境。然而,该方法具有一些与上面提到的相同的缺点,由于软件更新的安全特征将被递送到设备来允许更新,由此暴露要检查的安全特征。此外,多个系统通常以全内核模式操作,这通常不能实现与内核级保护一致的可信任环境。
对于安全软件更新的另一选项是利用具有机载软件更新的硬件加密设备。然而,这种类型的安全实施方式引入与要被更新的设备或者其操作系统的兼容性问题,所以这样的硬件加密设备不能与多个系统一起使用。此外,硬件加密通常通过访问数字证书或者非对称或对称加密密钥来操作,该访问通常依赖于提供给正在被更新的设备的通信链路。
总之,不存在不涉及附加成本、复杂性和通信链路的潜在安全间隙的在安装到设备上之前确认软件更新的显而易见且容易使用的技术。
发明内容
根据本公开,提供一种安全软件更新机制,其不依赖于下面这样的情况,即对于要被应用软件更新的设备来说通信链路是活动的。在该软件更新被安装之前,使用安全机制来确认和验证该软件更新以防止安装可能被损坏的更新,所述损坏包括不被授权的恶意软件或者遭受其他类型的完整性/安全性问题。可以使用外部硬件设备来应用软件更新,诸如软件更新可以被附接到要被更新的设备的输入/输出端口。外部硬件设备的示例包括端口可串联或并联连接的设备、USB类型的设备(诸如USB闪存驱动器)、以及可存储软件更新分组的任何其他便携式可连接的硬件设备。
根据示例性实施例,将接收到软件更新的设备包括更新实用程序,该更新实用程序在被激活时搜索外部可连接存储设备上的特定位置处的特定数据。如果更新实用程序将预定数据定位于外部连接的存储设备中的预定位置处,则可以进行确认和验证过程,而检测适当数据和位置的失败促使该更新实用程序终止。
根据本公开的示例性实施例,通过计算在软件更新中使用的文件的校验和并且将可执行更新文件中的校验和打包来实施确认和验证过程。然后处理该可执行更新文件以便生成分组校验和,然后利用对称密钥或会话密钥来对该分组校验和进行加密。然后利用公共密钥对会话密钥本身进行加密,所述公共密钥的互补私有密钥被嵌入在更新实用程序中,该更新实用程序驻存在要对其应用软件更新的设备中。然后利用公共/私有密钥对的私有密钥对经过加密的会话密钥进行数字签名以产生数字签名。例如,诸如通过将私有密钥安全地保持在软件更新生成器处的位置上来使该私有密钥保密。公共/私有密钥对的公共密钥被嵌入在驻存于要接收软件更新的设备上的更新实用程序中。
安全分组校验和、安全会话密钥和数字签名都被放在一个文档(诸如XML文件)中,然后将其存储在要被用来执行对接收到软件更新的单元的更新的硬件设备上。用于执行软件更新的可执行和/或数据文件也被存储在存储设备上以实现发布分组,该发布分组包括用于确认、验证和安装软件更新的所有文件和数据。
根据本公开的示例性实施例,通过激活驻存在设备上的软件更新实用程序来实施对设备的软件更新。更新实用程序找出用于进行更新的特定文件和数据所位于的所连接的存储设备。根据本公开的一个方面,更新实用程序尝试检测存储设备中的明确位置处的明确文件或数据,并且如果数据、文件或位置的特定条件不被满足则终止更新过程。如果更新实用程序确定所存储的数据和文件是正确命名和/或定位的,则可以开始确认和/或验证过程。
该确认和/或验证过程可以包括从文档文件读取数字签名并且使用嵌入在驻存的更新实用程序中的公共密钥来验证所述数字签名的来源。可以通过使用公共密钥对数字签名进行解密以获得特定结果来实施验证,所述特定结果可以采用文本块的形式,并且在该实例中可以表示经过加密的会话密钥。将这样获得的数字签名的解密结果与也从文档文件中读取的特定值集合(在该实例中是经过加密的会话密钥)进行比较。如果解密结果与值集合匹配,则指示更新的有效且授权源,并且可以允许继续进行更新。如果根据上面描述的技术更新源没有认证解密结果和值集合之间的匹配,则更新过程终止。
假设数字签名被认证用于验证更新的授权源,则更新实用程序检索经过加密的会话密钥并且使用嵌入在更新实用程序中的私有密钥来对会话密钥进行解密。然后使用经过解密的会话密钥来对分组校验和值进行解密,将所述分组校验和值与为可执行更新文件计算的校验和值进行比较以评估该可执行文件的完整性。
根据本公开的一个方面,所述更新实用程序确认和验证可执行更新的校验和并且在确定所计算的和所检索到的校验和相匹配的情况下将准予对可执行文件的执行。更新文件执行对所存储的文件和数据的校验和的检索并且计算所述数据和文件的附加校验和以便验证所述数据和文件的完整性。如果该完整性可以被验证,则安装所述数据和文件以用于更新。
附图说明
下面参考附图更详细地描述本公开,在其中:
图1是图示软件更新目标设备和存储介质的内容的框图;以及
图2和图3是流程图,分别图示软件更新过程的准备和安装。
具体实施方式
本公开提供用于在将软件更新提交给预期使软件在其上执行的系统之前以相对较高水平的安全性保证该软件更新的完整性的系统和方法。使用用于加密的对称和非对称密钥以及认证更新的数字签名来实施安全性。对称密钥加密方案使用密钥来对要被保护的数据或文档进行加密和解密二者。对称密钥加密和解密算法通常比非对称密钥算法更有效,所以实现可能较不复杂和/或耗时。然而,利用对称密钥系统方案可获得的安全性水平取决于在使用加密/解密方法的各方之间密钥的保密能力。如果对称密钥变成在所预期的各方之外已知,则会危及到使用该对称密钥加密的任何数据或文档的安全性。
非对称密钥加密和解密使用不同的密钥来对数据或文档进行加密,除此之外该不同的密钥被用来对相同的数据或文档进行解密。在通常提到的公共/私有密钥对中,公共密钥典型地用于对要被安全递送到接收方的数据进行加密。所预期的接收方拥有与用于加密的公共密钥成对的私有密钥。该私有密钥被接收方保持为一个秘密,所以通常仅拥有该私有密钥的方可以对使用公共密钥加密的消息进行解密。使得能够将消息安全地发送到拥有公共/私有密钥对的私有密钥的一方的任何人都可获得公共密钥。可以由非对称密钥安全方案保持的安全性水平取决于保持私有密钥的保密能力。
非对称密钥加密的另一应用是通常在数字安全证书中使用的数字签名。利用该应用,非对称公共/私有密钥对的私有密钥被用来对诸如数据、文档或可能用来发送数据或文档的消息的条目进行加密或签名。希望验证所接收到的数据的真实性的一方可以应用匹配的公共密钥来验证签名并且确认数据的来源。这种类型的数字证书安全性取决于签名方所使用的私有密钥的保密能力。
对称和非对称密钥的生成已经有很好的文档记录并且是相关领域的技术人员已知的,所以省略对其的进一步详细描述。根据本公开的示例性实施例,可以生成单个对称密钥并在对不同系统的各种软件更新的应用中将其用于加密和解密。可替换地或另外地,可以为每个软件更新和/或要被更新的每个系统生成不同对称密钥。同样地,可以生成单个非对称公共/私有密钥对来在分发安全软件更新中使用,其中该对中的私有密钥被软件更新源或发起人安全且保密地保持。此外,可以生成一个或多个不同公共/私有非对称密钥对以便与安全软件更新一起使用,其中该对中的私有密钥被提供给要对其应用软件更新的设备。无论如何,公共/私有密钥和对称密钥可以被生成并保持为唯一的,这有助于维护和管理任务,或者公共/私有密钥和对称密钥可以被生成并保持为关于软件更新或设备而不同的以便例如帮助跟踪设备和更新。
现在参考图1,图示用于实施安全软件更新的系统100的框图。系统100包括软件更新目标设备110和存储与更新有关的程序文件的软件更新介质120。设备110通常被实施为计算设备,其具有处理器和用于存储执行设备110的各种操作功能所使用的软件和数据的一种或多种类型的机载存储装置。作为存储在设备110中的软件的一部分,提供更新实用程序112。实用程序112可以被实施为在安全情况下被发起,诸如由具有特定访问特权的管理员发起,所述访问特权例如利用ID和密码来保持。实用程序112可以操作用来将设备110设置成处于已知状态(作为更新过程的一部分),并且实施为软件更新做准备的其他管理功能。例如,实用程序112可以执行预期软件更新的安全性评估,以便在准予对可执行更新程序的执行之前验证所述更新,所述可执行更新程序可能在由设备110中的处理器执行之前被加载到设备110的存储器中。
实用程序112被实施为包括用于软件更新的初始处理的预置更新定义114。实用程序112还包括公共/私有非对称密钥对的私有解密密钥116、以及公共/私有非对称密钥对的公共签名密钥118。实用程序112的各组件中的每一个都用来依次对软件更新的安全性、验证和确认做出贡献。例如,在软件更新的初始过程期间使用更新定义114来确定介质120的内容是否被适当地配置。
更新定义114可以在发起软件更新时为实用程序112所期望的特定数据的存储指示介质120上的特定存储位置。例如,更新定义114可以包括文本标识符或硬编码标识符,它们指定文件夹位置、文件位置、文件中数据位置或由介质120的硬件特性或者访问介质120所使用的硬件机构定义的数据位置中的一个或多个。根据示例性实施例,介质120可以被组织有文件分配表(FAT)文件系统或NTFS(新技术文件系统)文件系统。根据这样的FAT或NTFS文件系统,更新定义114可以定义文件名称或代码和/或文件或代码所位于的目录或文件夹。作为初始测试,实用程序112可以查找包含在存储介质120内的特定文件名称或代码,以确定介质120的内容是否如所期望的。举例来说,实用程序112可以根据更新定义114利用名称update.exe或在XML文件中标记<update1>来查找文件,以确定介质120的内容是否被认可。因此更新定义114的使用形成对确保软件更新的完整性做出贡献的第一安全阈值。如果实用程序112在如由更新定义114所指示的适当位置处发现适当数据,则软件更新过程可以继续,并且否则可能被终止。
实用程序112可以访问解密/签名密钥116、118,所述解密/签名密钥116、118中的每一个形成在安全软件更新中使用的公共/私有非对称密钥对的一半。密钥116是公共/私有非对称加密/解密密钥对的私有解密密钥,而密钥118是公共/私有非对称签名密钥对的公共签名密钥。密钥116、118分别被用于对介质120上提供的用于软件更新的信息进行解密和认证。已经利用与密钥116、118相对应的公共/私有密钥对的另一半对存储在介质120上的各种组件进行加密。因此,密钥116、118可以被实用程序112用来对介质120上所提供的信息进行解锁或认证以便在安装之前验证软件更新的各方面。
介质120包括更新文档122,其托管用于支持软件更新的安全性的条目。例如,更新文档122可以被实施为XML文件,其包括已经利用公共/私有非对称加密/解密密钥对的公共加密密钥加密的经过加密的对称或会话密钥。可以使用私有密钥116来对经过加密的密钥124进行解密以获得用于为软件更新提供安全特征的会话密钥。此外,更新文档122托管利用经过加密的对称密钥124和公共/私有非对称签名密钥对的私有签名密钥而形成的数字签名126。数字签名126被设计成要使用对应公共/私有非对称签名密钥对的公共签名密钥118来认证。
除了更新文档122之外,介质120存储用于实施预期软件更新的更新可执行文件128。介质120还包括更新文件130,其代表可以在安全软件更新过程中使用的零个或多个文件。根据示例性实施例,一旦安全软件更新验证过程已完成,更新可执行文件128就被准予执行控制。在软件更新的验证之后,更新可执行文件128可以执行将软件更新安装到设备110上。
更新可执行文件128和/或更新文件130可以包括实用程序112用来发起和验证软件更新的组件的新版本。例如,在安装和更新过程期间,更新定义114、私有加密密钥116和/或公共签名密钥118的新版本潜在地连同实用程序112的新版本可以被安装在设备110中。安装和更新过程可以通过能够提供用于发起和执行对于将来软件更新的验证的唯一实用程序112来使设备110为在将来某天的进一步更新做准备。
现在参考图2,流程图200图示根据本公开用于准备安全软件更新的过程。该过程以生成或获取在本文被称为加密密钥对和签名密钥对的两个公共/私有非对称密钥对开始,如在框210中所示。抽象地对待加密和签名密钥对,因为任一密钥对都可以用于加密和/或数字证书。在当前讨论中,加密密钥对被用于加密目的,而签名密钥对被用于数字证书生成和认证。
在加密和签名密钥对可用之后,向要利用软件更新来更新的目标系统或设备提供包括各种更新组件的更新实用程序。更新组件可以包括更新定义、私有解密密钥和公共签名密钥,如框212中所示。更新定义、私有解密密钥和公共签名密钥被图示在图1的实用程序112中。提供给目标设备的这些组件将被用来验证、确认和认证要被呈现给该设备的软件更新。利用在目标设备中建立的更新实用程序和组件,可以依靠该更新实用程序和组件来实施安全软件更新。
该安全软件更新可以包括更新分组,其被分发到给定介质平台上以便对给定设备应用更新。生成更新分组以计算要在软件更新安装过程中使用的各文件中的每一个的校验和值开始,如框214中所示。可以使用MD5算法来生成校验和以便为更新文件提供相对较高水平的完整性验证。
一旦校验和被计算,就生成可执行更新文件,并且将该校验和嵌入在该可执行更新文件中,如框216中所示。所嵌入的校验和形成可执行图像的一部分,一旦根据本公开更新的完整性被验证,就使用所述可执行图像来将更新安装在目标设备中。然后处理该可执行更新文件以生成校验和,如框218中所示。再次,使用MD5算法来生成校验和以便为可执行更新文件的完整性获得相对较高水平的保证。
该过程以生成或获取作为对称加密密钥的会话密钥继续,如框220中所示。对于软件更新生产不足,该会话密钥可以被生成为唯一的,或者对于给定设备或软件更新,该会话密钥可以被生成为通用的。然后将会话密钥用于对可执行更新文件的校验和进行加密,如框222中所示。然后使用公共/私有加密/解密密钥对的公共加密密钥对会话密钥本身进行加密以便形成表示经过加密的会话密钥的第一数据块,如框224中所示。由软件更新开发人员或发起人来保持公共加密密钥以允许对特定设备的附加更新并且确保保持会话密钥加密的来源。
用于生成软件更新分组的过程以根据表示经过加密的会话密钥的第一数据块生成数字签名来继续,如框226中所示。利用也由软件更新提供者或发起人保持的公共/私有签名密钥对的私有签名密钥来生成数字签名。私有签名密钥被软件发起人或提供者保持为秘密,以确保数字签名被用于认证经过加密的会话密钥仍然有效。使用私有签名密钥来对表示经过加密的会话密钥的第一数据块进行加密以创建数字签名。
一旦生成经过加密的可执行校验和、经过加密的会话密钥和数字签名,该条目就会被放在用作软件更新过程的一部分的分组文档中,如框228中所示。经过加密的可执行校验和、经过加密的会话密钥和数字签名可以采用XML标记或编码数据块的形式,所述XML标记或编码数据块可以被校验和、解密或认证算法读取和使用以便使安全更新完整性验证过程反过来。根据示例性实施例,经过加密的校验和、经过加密的会话密钥和数字签名被作为XML标记放在XML格式化文件中,以便在软件更新验证过程中使用。
用于生成安全软件更新的过程以例如使用便携式存储介质生成用于分发到目标设备场所的更新分组结束。该更新分组包括先前生成的分组文档(其可以是XML文件)、可执行更新文件、以及要被用于执行软件更新的文件。所生成的更新分组是接收到软件更新的目标设备的内容和实用程序的补充(compliment),所以使得目标设备实用程序和更新分组的组合一起用来实施安全软件更新。
现在参考图3,流程图300图示根据本公开的软件更新安装过程。流程图300中所示的软件更新过程以将存储介质连接或附接到目标系统或设备开始,如框310中所示。更新存储介质包括用于执行要被验证并安装在目标设备中的安全软件更新的更新分组。根据本公开的示例性实施例,软件更新过程从目标设备发起,尽管有可能允许利用存储在存储介质上的可执行软件来发起更新。可以利用目标设备来实施安全更新过程的发起(如在框312中所示),例如通过允许具有管理特权的用户选择在目标设备中提供的软件更新选项来实施。例如软件更新选项可以促使激活要被提供给目标设备的更新实用程序连同用于实施安全软件更新的组件,如图1中所示。
在发起安全更新过程时,目标设备执行对存储介质的内容的初步预定检查以便验证内容如所期望的那样。由先前提供给目标设备的更新定义来定义与放在存储介质上的文件的字符和内容有关的期望。例如,更新定义可以指定位于存储介质上的文件的某一标记或标识符,并且可以指定各种标记、标识符或文件在存储介质上的特定位置。在流程图300的框314中图示根据更新定义对存储介质的内容的检查。如果存储介质的内容与更新定义中指定的预期不匹配(如判定框316中所示),则软件更新被终止,如经由判定框316的否分支到达的框318中所示。如果在安装之前软件更新终止,则可以向用户传达软件更新安装被终止或失败了的消息。
如果存储介质的内容满足由更新定义指定的期望,则存储介质内容被视为已经通过该阈值测试,并且软件更新安装过程可以继续,如从判定框316得到的是分支所示。软件更新安装过程以从分组文档检索表示经过加密的会话密钥的第一数据块和数字签名以便允许更新分组的认证而继续,如框320中所示。
利用公共签名密钥来处理数字签名,所示公共签名密钥先前已经被提供给目标设备以允许认证由该数字签名保护的数据的完整性和来源。公共签名密钥被用来对数字签名进行解密以获得表示经过加密的会话密钥的第二数据块,如从数字签名获得一样。然后将该第二数据块与从分组文档检索的表示经过加密的会话密钥的第一数据块进行比较。可以利用专用于数字签名认证的软件模块来可选地执行利用公共签名密钥对数字签名进行解密以及将这样获得的第二数据块与第一数据块进行比较以认证数字签名的步骤。在流程图300的框322中图示认证操作,结果是指示软件更新的来源是否被验证。
判定框324图示数字签名是否被认证的确定。如果数字签名没有被认证(意味着所计算的和所处理的散列值例如不匹配),则软件更新被终止,如由从判定框324到框318的否分支所示。如果数字签名被认证,则软件更新安装过程继续,如来自判定框324的是分支所示。
如果数字签名被适当地认证,则安全软件更新过程以经过加密的会话密钥的解密继续,如框328中所示。使用私有解密密钥来对经过加密的会话密钥进行解密,其中所述私有解密密钥先前已作为更新实用程序的一部分提供给目标设备。该过程通过检索可执行更新文件的经过加密的校验和来继续(如框340中所示)以及利用经过解密的会话密钥来对可执行校验和进行解密(如框342中所示)来继续。因此,可执行校验和变得可用于在验证可执行更新文件的完整性中使用,其中以相对较高的水平保证校验和没有被篡改或损坏,所以使得可以在目标设备中处理软件更新的确认和验证,其中以高度自信的是软件更新没有被损坏或者包含任何病毒或者来自不同于原始开发人员或提供者的来源。
更新可执行文件的验证以本地生成可执行文件的校验和继续,如框344中所示。将本地校验和与如上述那样产生的来自更新分组的校验和进行比较,以确定可执行更新文件的完整性。判定框346中图示校验和是否匹配的确定。如果校验和不匹配,则软件更新安装被终止,如由从判定框346到框318的否分支所示。
如果校验和确实匹配,则对可执行更新文件的执行可以被准予,如由从判定框346到框348的是分支所示。一直到对可执行更新文件的执行被准予为止,可以通过目标设备从存储介质检索数据并且处理该数据以确认和验证软件更新来实施流程图300中所示的处理。一旦对可执行更新文件的执行控制被准予,该可执行更新文件可以被加载在目标设备的存储器中并且由机载处理器执行以实施更新安装。
由可执行更新文件进行的操作之一是本地生成包含在更新分组中的每一个文件的校验和以确保更新文件的完整性,如框350中所示。可以使用MD5算法来生成校验和,并且将该校验和与嵌入在可执行更新文件中的校验和进行比较以确定校验和是否匹配。判定框352图示本地生成的和嵌入的校验和值的比较以确定校验和是否匹配。如果任一个校验和都不匹配,则终止更新安装,如利用从判定框352到框318的否分支所示。如果校验和确实匹配,则可执行更新文件处理更新文件以根据其安装配置将软件更新安装在目标设备中,如利用判定框352指向框354的是分支所示。根据本公开的示例性实施例,可执行更新文件可以执行将源自更新文件的数据存储在目标设备中的永久性存储设备中,以促使目标设备的软件被更新。
尽管本公开将目标设备通常描述为是计算设备,但是所公开的系统和方法可以通常利用不总是依据计算设备想到的目标设备、系统或方法来实施。采用当前公开的系统和/或方法的这样的目标的示例包括电视、移动电话、自动车辆、医疗器械以及软件更新的典型目标(诸如数据库应用或嵌入式系统)。总之,可以利用执行软件的任何类型的处理系统来应用所公开的系统或方法。
这里描述的操作完全是示例性的且不暗示特定顺序。此外,当合适时可以以任何顺序来使用该操作或者可以部分地使用该操作。考虑到上述实施例,应该理解所公开的系统、设备方法和/或使用可以采用各种计算机实现的操作,包括数据被传递或存储在计算机系统中。这些操作是需要物理量的物理操纵的那些。通常,尽管不必要,这些量采用能够被存储、传送、组合、比较以及以其他方式操纵的电、磁或光信号的形式。
这里描述的形成本公开一部分的任何操作是有用的机器操作。本公开还涉及用于执行这些操作的设备或装置。可以针对所需的目的来特定地构造该装置,或者该装置可以是通用计算机,由存储在该计算机中的计算机程序选择性地激活或配置。特别地,下面描述的采用耦合到一个或多个计算机可读介质的一个或多个处理器的各种通用机器可以与根据这里的教导而编写的计算机程序一起使用,或者可以更方便地构造更专用的装置来执行所需的操作。
所公开的系统和方法还可以被具体化为计算机可读介质上的计算机可读代码。该计算机可读介质是可以存储数据的任何数据存储设备,此后所述数据可以被计算机系统读取。计算机可读介质的示例包括硬盘驱动器、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其他光学或非光学数据存储设备。计算机可读介质还可以被分发在网络耦合的计算机系统上,以使得计算机可读代码以被分发的方式存储和执行。
前面的描述已针对本公开的特定实施例。然而,将明显的是,在获得其一些或所有优点的情况下,可以对所述实施例进行其他变化和修改。这里描述的进程、过程和/或模块可以以硬件、软件、被具体化为具有程序指令的计算机可读介质、固件或其组合来实施。例如,这里描述的功能可以由来自存储器或其他存储设备的处理器执行程序指令来执行。因此,所附权利要求的目的覆盖进入本公开的真实精神和范围内的所有这样的变化和修改。
Claims (22)
1.一种用于在目标设备上实施软件更新的系统,包括:
用于接收更新数据的装置,所述更新数据包括使用来自第一非对称密码密钥对的第一加密密钥生成的经过加密的校验和以及用于建立所述软件更新的更新过程文件;
用于使用来自所述第一非对称密码密钥对的第二加密密钥来处理所述更新数据以获得第一校验和的装置;
用于使用校验和算法从所述更新过程文件计算第二校验和的装置;以及
用于如果所述第一校验和与所述第二校验和匹配,则准予对所述更新过程文件的执行的装置。
2.根据权利要求1所述的系统,还包括:
来自第二非对称密码密钥对的第一签名密钥,其中操作更新实用程序对接收到利用来自第二非对称密码密钥对的第二签名密钥生成的数字签名做出响应以使用所述第一签名密钥对所述数字签名进行认证。
3.根据权利要求1所述的系统,其中所述第一加密密钥是来自公共/私有密钥对的私有密钥。
4.根据权利要求2所述的系统,其中所述第一签名密钥是来自公共/私有密钥对的公共密钥。
5.根据权利要求1所述的系统,还包括描述所述更新数据的更新定义,其中操作更新实用程序来在所述更新数据与所述更新定义不顺应的情况下终止软件更新。
6.根据权利要求1所述的系统,还包括可移动外部存储设备选择性地耦合到处理器,并且操作用来存储用于软件更新的所述更新数据和更新过程文件。
7.根据权利要求6所述的系统,其中所述更新数据还包括:
经过加密的会话密钥,其中会话密钥是对称密码密钥,并且使用所述第二加密密钥来对所述会话密钥进行加密;以及
利用所述经过加密的会话密钥加密的所述经过加密的校验和。
8.根据权利要求7所述的系统,其中还操作更新实用程序来使用所述第一加密密钥对所述经过加密的会话密钥进行解密以获得会话密钥,以及利用所述会话密钥对经过加密的校验和进行解密以获得所述第一校验和。
9.根据权利要求7所述的系统,其中所述更新数据还包括使用所述经过加密的会话密钥生成的数字签名和来自第二非对称密码密钥对的私有签名密钥。
10.一种用于在包括数值处理器的目标设备上实施软件更新的方法,包括:
接收更新数据,所述更新数据包括使用来自第一非对称密码密钥对的第一加密密钥生成的经过加密的校验和以及用于建立所述软件更新的更新过程文件;
使用来自所述第一非对称密码密钥对的第二加密密钥来处理所述更新数据以获得第一校验和;
使用校验和算法从所述更新过程文件计算第二校验和;以及
如果所述第一校验和与所述第二校验和匹配,则准予对所述更新过程文件的执行。
11.根据权利要求10所述的方法,还包括:
接收数字签名,所述数字签名是使用经过加密的校验和以及来自第二非对称密码密钥对的第一签名密钥形成的;以及
使用来自所述第二非对称密码密钥对的第二签名密钥来对所述数字签名进行认证。
12.根据权利要求10所述的方法,其中所述第二加密密钥是公共/私有密钥对的私有密钥。
13.根据权利要求11所述的方法,其中所述第二签名密钥是公共/私有密钥对的公共密钥。
14.根据权利要求10所述的方法,还包括:
将所述更新数据的特性与描述所述更新数据的更新定义进行比较;以及
如果所述特性与所述更新定义不顺应,则终止所述软件更新。
15.根据权利要求10所述的方法,还包括:
接收作为对称密码密钥的经过加密的会话密钥,所述经过加密的会话密钥是使用第一加密密钥加密的;
使用所述第二加密密钥对所述经过加密的会话密钥进行解密以获得会话密钥;以及
利用所述会话密钥对所述经过加密的校验和进行解密以获得所述第一校验和。
16.根据权利要求15所述的方法,还包括:
接收使用经过加密的会话密钥以及来自第二非对称密码密钥对的私有签名密钥生成的数字签名;以及
使用来自所述第二非对称密码密钥对的公共签名密钥对所述数字签名进行认证。
17.一种用于准备用来实施软件更新且以非暂时性形式存储在存储设备上的软件更新分组的方法,包括:
准备可执行用来将所述软件更新安装在目标系统上的更新文件;
计算所述更新文件的校验和;
使用作为对称密码密钥的会话密钥来对所述校验和进行加密;
利用来自第一非对称密码密钥对的第一加密密钥对所述会话密钥进行加密;以及
将所述更新文件、经过加密的校验和以及经过加密的会话密钥存储在所述存储设备上。
18.根据权利要求17所述的方法,其中所述第一加密密钥是来自公共/私有密钥对的公共密钥。
19.根据权利要求17所述的方法,还包括使用经过加密的会话密钥和来自第二非对称密码密钥对的私有密钥来生成数字签名。
20.根据权利要求19所述的方法,还包括将经过加密的校验和、经过加密的会话密钥和数字签名存储在所述存储设备上的更新文档中。
21.根据权利要求20所述的方法,还包括向所述更新文档和更新文件提供预定名称和所述存储设备上的位置。
22.根据权利要求21所述的方法,其中所述更新文档是XML格式化文件。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161441843P | 2011-02-11 | 2011-02-11 | |
US61/441843 | 2011-02-11 | ||
US61/441,843 | 2011-02-11 | ||
US201161523491P | 2011-08-15 | 2011-08-15 | |
US61/523,491 | 2011-08-15 | ||
US61/523491 | 2011-08-15 | ||
PCT/US2012/024801 WO2012109640A2 (en) | 2011-02-11 | 2012-02-13 | System and method for secure software update |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103460195A CN103460195A (zh) | 2013-12-18 |
CN103460195B true CN103460195B (zh) | 2016-04-13 |
Family
ID=46639238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280017664.8A Active CN103460195B (zh) | 2011-02-11 | 2012-02-13 | 用于安全软件更新的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9276752B2 (zh) |
EP (1) | EP2659373B1 (zh) |
JP (1) | JP6332970B2 (zh) |
CN (1) | CN103460195B (zh) |
ES (1) | ES2902644T3 (zh) |
WO (1) | WO2012109640A2 (zh) |
Families Citing this family (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249259B1 (en) * | 1999-09-07 | 2007-07-24 | Certicom Corp. | Hybrid signature scheme |
JP5553670B2 (ja) * | 2010-04-19 | 2014-07-16 | キヤノン株式会社 | 管理装置、その制御方法およびプログラム |
US9396325B2 (en) * | 2011-03-21 | 2016-07-19 | Mocana Corporation | Provisioning an app on a device and implementing a keystore |
DE102011107795A1 (de) | 2011-07-15 | 2013-01-17 | Fresenius Medical Care Deutschland Gmbh | Verfahren und Vorrichtung zur entfernten Überwachung und Steuerung von medizinischen Fluidmanagementgeräten |
US10084818B1 (en) | 2012-06-07 | 2018-09-25 | Amazon Technologies, Inc. | Flexibly configurable data modification services |
US9286491B2 (en) | 2012-06-07 | 2016-03-15 | Amazon Technologies, Inc. | Virtual service provider zones |
US10075471B2 (en) | 2012-06-07 | 2018-09-11 | Amazon Technologies, Inc. | Data loss prevention techniques |
US11126418B2 (en) * | 2012-10-11 | 2021-09-21 | Mcafee, Llc | Efficient shared image deployment |
US9165163B2 (en) * | 2012-11-30 | 2015-10-20 | Broadcom Corporation | Secure delivery of processing code |
US10771173B2 (en) | 2013-02-04 | 2020-09-08 | Shopkick, Inc. | Presence detection using bluetooth and hybrid-mode transmitters |
US9286047B1 (en) | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
NL2010454C2 (en) * | 2013-03-14 | 2014-09-16 | Onlock B V | A method and system for authenticating and preserving data within a secure data repository. |
US9877082B2 (en) * | 2013-03-15 | 2018-01-23 | Echostar Technologies Llc | Addressable realtime messaging for television receivers |
US9137016B2 (en) * | 2013-06-20 | 2015-09-15 | Hewlett-Packard Development Company, L.P. | Key pair updates based on digital signature states |
US9940446B2 (en) * | 2013-07-25 | 2018-04-10 | Siemens Healthcare Diagnostics Inc. | Anti-piracy protection for software |
US9253200B2 (en) | 2013-10-28 | 2016-02-02 | GM Global Technology Operations LLC | Programming vehicle modules from remote devices and related methods and systems |
US9374355B2 (en) | 2013-10-28 | 2016-06-21 | GM Global Technology Operations LLC | Programming vehicle modules from remote devices and related methods and systems |
EP2884692B1 (en) | 2013-12-13 | 2020-05-20 | Nxp B.V. | Updating software on a secure element |
CN104915591A (zh) * | 2014-03-10 | 2015-09-16 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
FR3023400A1 (fr) * | 2014-07-04 | 2016-01-08 | Schneider Electric Ind Sas | Procede de gestion de l'installation d'une application sur un dispositif electronique |
US9325506B2 (en) | 2014-09-23 | 2016-04-26 | Red Hat, Inc. | Cryptographically enforcing strict separation of environments |
US9698825B2 (en) | 2014-10-22 | 2017-07-04 | Quest Software Inc. | Fast update of data packet checksums |
WO2016076880A1 (en) * | 2014-11-14 | 2016-05-19 | Hewlett Packard Enterprise Development Lp | Secure update of firmware and software |
EP3026559A1 (en) * | 2014-11-28 | 2016-06-01 | Thomson Licensing | Method and device for providing verifying application integrity |
EP3026558A1 (en) * | 2014-11-28 | 2016-06-01 | Thomson Licensing | Method and device for providing verifying application integrity |
EP3026560A1 (en) * | 2014-11-28 | 2016-06-01 | Thomson Licensing | Method and device for providing verifying application integrity |
EP3026557A1 (en) * | 2014-11-28 | 2016-06-01 | Thomson Licensing | Method and device for providing verifying application integrity |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US9800497B2 (en) | 2015-05-27 | 2017-10-24 | Cisco Technology, Inc. | Operations, administration and management (OAM) in overlay data center environments |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10033766B2 (en) | 2015-06-05 | 2018-07-24 | Cisco Technology, Inc. | Policy-driven compliance |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US10089099B2 (en) * | 2015-06-05 | 2018-10-02 | Cisco Technology, Inc. | Automatic software upgrade |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
US10158953B2 (en) | 2015-07-02 | 2018-12-18 | Gn Hearing A/S | Hearing device and method of updating a hearing device |
US9935945B2 (en) * | 2015-11-05 | 2018-04-03 | Quanta Computer Inc. | Trusted management controller firmware |
US10013558B1 (en) * | 2015-12-17 | 2018-07-03 | Lockheed Martin Corporation | Method and computer readable medium for secure software installation mechanism |
US11831654B2 (en) * | 2015-12-22 | 2023-11-28 | Mcafee, Llc | Secure over-the-air updates |
US11294991B2 (en) * | 2016-05-13 | 2022-04-05 | nChain Holdings Limited | Method and system for verifying ownership of a digital asset using a distributed hash table and a peer-to-peer distributed ledger |
US10171357B2 (en) | 2016-05-27 | 2019-01-01 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10931629B2 (en) | 2016-05-27 | 2021-02-23 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
WO2017204824A1 (en) | 2016-05-27 | 2017-11-30 | Hewlett-Packard Development Company, L.P. | Printer authentication |
US10289438B2 (en) | 2016-06-16 | 2019-05-14 | Cisco Technology, Inc. | Techniques for coordination of application components deployed on distributed virtual machines |
US10218696B2 (en) | 2016-06-30 | 2019-02-26 | Microsoft Technology Licensing, Llc | Targeted secure software deployment |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
DE102016215068A1 (de) * | 2016-08-12 | 2018-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Warten eines Fahrzeuges |
DE102016221108A1 (de) * | 2016-10-26 | 2018-04-26 | Volkswagen Aktiengesellschaft | Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
EP3334185B1 (en) | 2016-12-08 | 2021-06-02 | GN Hearing A/S | Hearing system, devices and method of securing communication for a user application |
EP3913930A1 (en) * | 2016-12-08 | 2021-11-24 | GN Hearing A/S | Hearing devices, user accessory devices and method for updating a hearing device configuration |
US11295017B2 (en) * | 2017-01-31 | 2022-04-05 | Ford Global Technologies, Llc | Over-the-air updates security |
US10416985B2 (en) | 2017-02-16 | 2019-09-17 | Ford Global Technologies, Llc | Method and apparatus for multi cycle vehicle software update compliance handling |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10250446B2 (en) | 2017-03-27 | 2019-04-02 | Cisco Technology, Inc. | Distributed policy store |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
US10623188B2 (en) * | 2017-04-26 | 2020-04-14 | Fresenius Medical Care Holdings, Inc. | Securely distributing medical prescriptions |
US10455416B2 (en) * | 2017-05-26 | 2019-10-22 | Honeywell International Inc. | Systems and methods for providing a secured password and authentication mechanism for programming and updating software or firmware |
US10491373B2 (en) * | 2017-06-12 | 2019-11-26 | Microsoft Technology Licensing, Llc | Homomorphic data analysis |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
CN109309645A (zh) * | 2017-07-26 | 2019-02-05 | 中国人民解放军装备学院 | 一种软件分发安全保护方法 |
US20190108009A1 (en) * | 2017-10-05 | 2019-04-11 | Harman International Industries, Incorporated | Generating checksums on trusted storage devices for accelerated authentication |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
US10346608B2 (en) * | 2017-12-12 | 2019-07-09 | John Almeida | Virus immune computer system and method |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US11765046B1 (en) | 2018-01-11 | 2023-09-19 | Cisco Technology, Inc. | Endpoint cluster assignment and query generation |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US10917438B2 (en) | 2018-01-25 | 2021-02-09 | Cisco Technology, Inc. | Secure publishing for policy updates |
US10873593B2 (en) | 2018-01-25 | 2020-12-22 | Cisco Technology, Inc. | Mechanism for identifying differences between network snapshots |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
DE102018202626A1 (de) * | 2018-02-21 | 2019-08-22 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten Parametrierung eines technischen Systems |
CN108595978A (zh) * | 2018-03-30 | 2018-09-28 | 平安科技(深圳)有限公司 | 信息屏蔽方法、装置、终端及计算机可读存储介质 |
US11642183B2 (en) | 2018-06-06 | 2023-05-09 | Verily Life Sciences Llc | Systems and methods for fleet management of robotic surgical systems |
JP7100502B2 (ja) * | 2018-06-13 | 2022-07-13 | キヤノン株式会社 | 情報処理装置とその制御方法、及びプログラム |
US10776094B2 (en) * | 2018-07-29 | 2020-09-15 | ColorTokens, Inc. | Computer implemented system and method for encoding configuration information in a filename |
US11023419B2 (en) * | 2018-08-13 | 2021-06-01 | Sap Se | Folder key management |
US10805087B1 (en) | 2018-09-28 | 2020-10-13 | Amazon Technologies, Inc. | Code signing method and system |
US10725767B2 (en) * | 2018-10-15 | 2020-07-28 | Dell Products, L.P. | Systems and methods for reinforced update package authenticity |
GB2579034B (en) * | 2018-11-15 | 2021-05-05 | Trustonic Ltd | Software installation method |
CN113330438A (zh) | 2019-01-30 | 2021-08-31 | 惠普发展公司,有限责任合伙企业 | 安全代码映像分发 |
EP3716115A1 (en) * | 2019-03-29 | 2020-09-30 | General Electric Company | Reporting and configuration enhancements of on-board certified software |
EP3716114A1 (en) * | 2019-03-29 | 2020-09-30 | General Electric Company | Method and system for remote load of on-board certified software |
TWI718525B (zh) * | 2019-04-26 | 2021-02-11 | 英屬維爾京群島商伊格拉斯控股有限公司 | 應用於安全製造的控管系統及其方法 |
US11435907B2 (en) * | 2019-06-27 | 2022-09-06 | EMC IP Holding Company LLC | Ensuring data authenticity using notary as a service |
CN111026419A (zh) * | 2019-11-08 | 2020-04-17 | 深圳市有方科技股份有限公司 | 一种单片机的应用程序升级方法、装置及系统 |
US10997297B1 (en) * | 2019-12-06 | 2021-05-04 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
US11121864B1 (en) * | 2020-03-13 | 2021-09-14 | International Business Machines Corporation | Secure private key distribution between endpoint instances |
CN111814139B (zh) * | 2020-07-02 | 2023-05-09 | 深圳市法拉第电驱动有限公司 | 汽车电机控制器程序安全加载系统及方法 |
US11343079B2 (en) * | 2020-07-21 | 2022-05-24 | Servicenow, Inc. | Secure application deployment |
EP3945703A1 (de) * | 2020-07-29 | 2022-02-02 | Siemens Mobility GmbH | Verfahren, netzwerk, computerprogrammprodukt und vorrichtung zum ferngesteuerten aktualisieren eines zielgerätes in einem netzwerk, insbesondere in einem bahnautomatisierungssystem |
CN112433742A (zh) * | 2020-11-26 | 2021-03-02 | 中电金融设备系统(深圳)有限公司 | 安全的固件更新方法、装置、设备及存储介质 |
EP4060536A1 (en) * | 2021-03-17 | 2022-09-21 | Secure Thingz Limited | A provisioning control apparatus and method for provisioning electronic devices |
US11681811B1 (en) * | 2021-06-25 | 2023-06-20 | Northrop Grumman Systems Corporation | Cybersecurity for configuration and software updates of vehicle hardware and software based on fleet level information |
US11409866B1 (en) | 2021-06-25 | 2022-08-09 | Northrop Grumman Systems Corporation | Adaptive cybersecurity for vehicles |
WO2023028734A1 (en) * | 2021-08-30 | 2023-03-09 | Qualcomm Incorporated | Functional safety software image integrity verifier |
CN113849212B (zh) * | 2021-09-30 | 2024-05-14 | 蜂巢能源科技有限公司 | 一种软件升级控制方法、装置及电子设备 |
CN114598464B (zh) * | 2022-03-08 | 2024-04-16 | 潍柴动力股份有限公司 | 一种数据更新方法和控制器 |
CN115396121B (zh) * | 2022-10-26 | 2023-03-24 | 广州万协通信息技术有限公司 | 安全芯片ota数据包的安全认证方法及安全芯片装置 |
WO2024094794A1 (en) * | 2022-11-03 | 2024-05-10 | Ocado Innovation Limited | Secure storage system including load handlers |
CN116048585B (zh) * | 2023-02-09 | 2023-08-25 | 国核自仪系统工程有限公司 | 工控安全防护系统及其软件更新方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7055027B1 (en) * | 1999-03-22 | 2006-05-30 | Microsoft Corporation | System and method for trusted inspection of a data stream |
EP1857930A2 (en) * | 2006-05-17 | 2007-11-21 | Ipreo Holdings LLC | System, method, and apparatus to allow for a design, administration, and presentation of computer software applications |
US7502946B2 (en) * | 2005-01-20 | 2009-03-10 | Panasonic Corporation | Using hardware to secure areas of long term storage in CE devices |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020062451A1 (en) | 1998-09-01 | 2002-05-23 | Scheidt Edward M. | System and method of providing communication security |
DE19953837A1 (de) * | 1999-11-09 | 2001-05-23 | Fresenius Medical Care De Gmbh | Software-Update für ein medizinisches Gerät |
US6601212B1 (en) * | 2000-03-29 | 2003-07-29 | Hewlett-Packard Development Company, Lp. | Method and apparatus for downloading firmware to a non-volatile memory |
US20020112161A1 (en) | 2001-02-13 | 2002-08-15 | Thomas Fred C. | Method and system for software authentication in a computer system |
US20050149923A1 (en) * | 2002-05-28 | 2005-07-07 | Sheng Lee | System update protocol |
JP4325786B2 (ja) * | 2003-03-25 | 2009-09-02 | Necエンジニアリング株式会社 | プログラムダウンロード方法 |
CA2464797A1 (en) | 2003-04-16 | 2004-10-16 | Wms Gaming Inc. | Remote authentication of gaming software in a gaming system environment |
US7591012B2 (en) * | 2004-03-02 | 2009-09-15 | Microsoft Corporation | Dynamic negotiation of encryption protocols |
US9489496B2 (en) | 2004-11-12 | 2016-11-08 | Apple Inc. | Secure software updates |
WO2006130619A2 (en) | 2005-05-31 | 2006-12-07 | Tricipher, Inc. | Secure login using augmented single factor split key asymmetric cryptography |
WO2006133222A2 (en) | 2005-06-07 | 2006-12-14 | Vmware, Inc. | Constraint injection system for immunizing software programs against vulnerabilities and attacks |
US7809955B2 (en) * | 2006-10-17 | 2010-10-05 | Blue Ridge Networks, Inc. | Trustable communities for a computer system |
JP2008165593A (ja) * | 2006-12-28 | 2008-07-17 | Seiko Epson Corp | 情報読取装置及び情報読取装置の制御方法 |
US7958371B2 (en) | 2007-05-09 | 2011-06-07 | Sony Computer Entertainment Inc. | Methods and apparatus for secure operating system distribution in a multiprocessor system |
JP2009020697A (ja) * | 2007-07-11 | 2009-01-29 | Murata Mach Ltd | 画像形成装置 |
JP5136012B2 (ja) | 2007-11-16 | 2013-02-06 | 富士通株式会社 | データ送付方法 |
US20100058317A1 (en) | 2008-09-02 | 2010-03-04 | Vasco Data Security, Inc. | Method for provisioning trusted software to an electronic device |
US8495749B2 (en) * | 2009-01-16 | 2013-07-23 | Nokia Corporation | Method, apparatus and computer program product for a content protection system for protecting personal content |
JP2011243093A (ja) * | 2010-05-20 | 2011-12-01 | Canon Inc | 情報処理装置、ユーザ認証方法、及びコンピュータプログラム |
-
2012
- 2012-02-13 JP JP2013553630A patent/JP6332970B2/ja active Active
- 2012-02-13 CN CN201280017664.8A patent/CN103460195B/zh active Active
- 2012-02-13 US US13/984,572 patent/US9276752B2/en active Active
- 2012-02-13 EP EP12745337.1A patent/EP2659373B1/en active Active
- 2012-02-13 ES ES12745337T patent/ES2902644T3/es active Active
- 2012-02-13 WO PCT/US2012/024801 patent/WO2012109640A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7055027B1 (en) * | 1999-03-22 | 2006-05-30 | Microsoft Corporation | System and method for trusted inspection of a data stream |
US7502946B2 (en) * | 2005-01-20 | 2009-03-10 | Panasonic Corporation | Using hardware to secure areas of long term storage in CE devices |
EP1857930A2 (en) * | 2006-05-17 | 2007-11-21 | Ipreo Holdings LLC | System, method, and apparatus to allow for a design, administration, and presentation of computer software applications |
Also Published As
Publication number | Publication date |
---|---|
JP6332970B2 (ja) | 2018-05-30 |
CN103460195A (zh) | 2013-12-18 |
EP2659373A2 (en) | 2013-11-06 |
US9276752B2 (en) | 2016-03-01 |
EP2659373A4 (en) | 2017-07-05 |
WO2012109640A3 (en) | 2013-05-16 |
ES2902644T3 (es) | 2022-03-29 |
EP2659373B1 (en) | 2021-10-27 |
WO2012109640A2 (en) | 2012-08-16 |
JP2014505318A (ja) | 2014-02-27 |
US20130318357A1 (en) | 2013-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103460195B (zh) | 用于安全软件更新的系统和方法 | |
US8966248B2 (en) | Secure software file transfer systems and methods for vehicle control modules | |
US8874922B2 (en) | Systems and methods for multi-layered authentication/verification of trusted platform updates | |
US8856538B2 (en) | Secured flash programming of secondary processor | |
US11361087B2 (en) | Security data processing device | |
CN102456111B (zh) | 一种Linux操作系统许可控制的方法及系统 | |
CN102082784A (zh) | 一种软件在线升级方法 | |
CN106936588B (zh) | 一种硬件控制锁的托管方法、装置及系统 | |
CN104683354A (zh) | 一种基于标识的动态口令系统 | |
KR20170089352A (ko) | 가상화 시스템에서 수행하는 무결성 검증 방법 | |
CN104135531A (zh) | 一种Web软件的升级方法及装置 | |
US20120213370A1 (en) | Secure management and personalization of unique code signing keys | |
KR20200020626A (ko) | 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법 | |
KR20100106110A (ko) | 시큐어 부트 데이터(Secure Boot Data) 통합 관리 시스템, 시큐어 부트 데이터 통합 관리를 위한 메타데이터 생성 및 검증 방법, 이를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록매체. | |
EP3610401B1 (en) | Storing data on target data processing devices | |
JP7234096B2 (ja) | セキュリティ管理システム及びセキュリティ管理方法 | |
KR101294866B1 (ko) | 개발환경 관리 시스템 및 이의 개발환경 관리 방법 | |
TWI840506B (zh) | 安全資料處理裝置(二) | |
JP2018182398A (ja) | 情報処理装置、機器、機器管理システム及び情報処理方法 | |
US20240086170A1 (en) | Software update system and software update method | |
KR20180121121A (ko) | Ecu 보안 유지를 위한 인증서 기반 차량 보안 방법 및 장치 | |
CN115174063A (zh) | 软件许可生成、验证方法及装置 | |
CN116318719A (zh) | 一种整定值文档验证方法、装置、设备和介质 | |
CN102301372B (zh) | 用于代表存储卡接收用于内容的权利对象的方法和终端 |
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 |