CN105518686B - 软件撤销基础设施 - Google Patents
软件撤销基础设施 Download PDFInfo
- Publication number
- CN105518686B CN105518686B CN201480048733.0A CN201480048733A CN105518686B CN 105518686 B CN105518686 B CN 105518686B CN 201480048733 A CN201480048733 A CN 201480048733A CN 105518686 B CN105518686 B CN 105518686B
- Authority
- CN
- China
- Prior art keywords
- revocation
- software
- component software
- signature
- signed
- 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
- 230000007246 mechanism Effects 0.000 claims abstract description 82
- 230000008859 change Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 26
- 238000009826 distribution Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 3
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims 1
- 230000009471 action Effects 0.000 description 40
- 230000015654 memory Effects 0.000 description 15
- 238000003860 storage Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000009434 installation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010899 nucleation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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/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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
在一个实现方式中,软件组件包括撤销机构的标识。在对给定平台中的软件进行加载之前,撤销机构被检查任意撤销消息。撤销机构针对将被撤销的任意软件组件创建软件组件专用消息,而不是使用证书撤销或单独的许可证。消息包括缓解信息,例如用于在不需要更新或改变代码的情况下自动配置已经安装的软件的指令。
Description
技术领域
本公开一般地涉及软件撤销,并且更具体地涉及用于撤销软件的基础设施。
背景技术
软件被分发到各种平台。软件可以被更新或更改以处理漏洞或者以提供额外的特征。随着时间的推移,给定平台上的软件的版本包括各种组件或更新的集合。当针对下一版本的新的软件组件被创建时,该软件组件被分发到平台以供更新。更新可能不受欢迎地在软件中创建漏洞或其他错误。
为了避免对软件的恶意更改,许多软件组件被数字签署。某些系统或网络平台需要签署其软件组件中的全部或一些。数字签署允许平台确定软件起源的真实性。然而,软件组件的数字签署不能证明安全性或者软件中不存在安全漏洞。对于软件组件中发现的安全缺陷来说共同的地方是,使得组件暴露给可能在某些情况下是可利用的漏洞。如果攻击者可以使得易受攻击的但是已签署的软件组件被加载,则系统可能被危害。为了系统的安全性,不只是数字签署被使用,例如用以确保软件是没有已知漏洞的版本的处理也被使用。
撤销机制在公共密钥基础设施(PKI)环境中是常见的。PKI可以被用于签署软件组件。撤销机制可以被用来撤销签署人的证书。在特定时间点之后被签署的软件被宣布无效。这是非常粗糙并且苛刻的机制,该机制可以在系统中引起重要的重新配置以适应新的可信根并且可以使不受影响的安全软件组件无效,例如在该机制中证书与安全的软件组件和不安全的组件相关联。许可机制可以允许使用软件组件证书来撤销单独的软件许可证,因此需要追踪所有各种平台的许可证和所有软件组件的证书。
威胁响应分发协议(TRDP)提供了传输与基于网络的威胁和响应有关的信息的方式。这提供了用于传输为了处理软件漏洞而采取的动作的机制,但使得网络管理员转录并实现该动作。
附图说明
为了提供对本公开及其特征和优势的更全面的理解,参考以下描述并结合附图,其中相似标号表示相似部分。
图1是针对软件撤销的示例基础设施的简化框图;
图2是用于软件撤销的方法的一个实施例的流程图;以及
图3是根据一个实施例的用于软件撤销中的网络设备的框图。
具体实施方式
概述
软件组件包括撤销机构的标识。在对给定平台中的软件进行加载之前,撤销机构被检查任意撤销消息。该加载检查可以在定期进行的基础上被执行。加载可以用于在系统上进行安装或者用于将程序加载到存储器中。每当签名被检查时,如果撤销信息是可用的,则撤销通常都被检查。撤销机构针对将被撤销的任意软件组件创建软件组件专用消息,而不是使用证书撤销或单独的许可证。消息包括缓解信息,例如用于在不需要更新或改变代码的情况下自动配置已经安装的软件的指令。
在一方面,方法被提供。已签署软件组件的多个实例通过网络被分发到多个设备。实例包括撤销机构的标识。撤销机构的处理器接收针对已签署软件组件的撤销消息的请求。处理器响应于请求来发送撤销消息。撤销消息包括针对设备中的一个设备上的已签署软件组件的配置的缓解信息,并且包括签名。
在第二方面,逻辑被编码在包括用于执行的代码的一个或多个非暂态计算机可读介质中。当代码被处理器执行时,代码能操作来执行以下各项操作,包括:激活平台上的软件组件(该软件组件包括第一签名并且具有版本);验证第一签名是有效的并且来源于可信的签署证书;检查软件组件的版本的撤销;当版本被撤销时接收缓解信息;以及处理软件组件的缓解信息。
在第三方面,逻辑被编码在包括用于执行的代码的一个或多个非暂态计算机可读介质中。当代码被处理器执行时,代码能操作来执行以下操作,包括:分发已签署撤销消息,包括针对软件的漏洞的缓解信息。缓解信息包括针对由加载软件的平台进行的自动缓解的一个或多个指令。
示例实施例
安全地加载软件的平台包含用于认证软件的来源和完整性的可信根。撤销服务被提供给这些签署的软件组件。
漏洞和/或缓解信息被分发在已签署的撤销消息中。存在许多用于载送漏洞和缓解信息的数据格式。平台中的可信根的集合被用来验证软件撤销消息。这些软件撤销可信根标识被允许提供软件撤销机制的一个或多个权限。这允许已签署的软件组件以可信的方式被撤销而不是必须撤销用于签署组件的证书。其还提供了用于传输软件更新的状态的机制以及用于在不管理单独的许可证的情况下补救软件的方法。针对特定组件,有可能撤销机构或代理是第三方(例如,公司的IT部门或国际CERT)。
具有安全漏洞的已签署的软件以与PKI撤销机制相似的方式被撤销。用于缓解的自动动作可以在系统中被执行。该撤销基础设施允许撤销特定的软件组件版本、允许基于撤销列表信息的过期来触发软件的自动更新和/或允许对软件漏洞的自动响应(包括更新和其他缓解动作)。
数字版权管理(DRM)和软件的许可可能不提供安全性。许可导致不同水平的粒度。软件许可允许撤销单独的软件许可证而不是特定的已签署软件的所有实例。此外,许可使用发给软件组件它们本身的证书而不是签名。针对许可的撤销机制将使用认证撤销列表(CRL)来撤销这些证书。在许多软件签署模型中,软件组件不具有证书。撤销证书不会安装没有证书的软件组件。组件替代地由代码签署证书签署。撤销代码签署证书可以撤销多个组件,包括安全组件。在其他模型中,组件还可以使用良好隐私(pretty good privacy,PGP)密钥或者不直接使用证书的某种其他机制来被签署,因此证书撤销是不可用的。在许可方面,补救可以只通过到URL的链路。因为撤销而不是许可被提供来处理软件中所发现的漏洞而不是许可,所以与漏洞和缓解有关的信息被包括在撤销记录中。信息可以包括URL,但还可以包含详细信息(例如,常见漏洞曝光数(CVE#)或其他与安全性相关的信息以及与在不更新组件的情况下可以被应用的缓解有关的信息)。
图1示出了软件撤销基础设施的一个实施例。软件服务器12通过网络26将软件和软件组件分发到平台18、22。撤销机构服务器14对由平台18、22请求的和/或被传输到平台18、22的撤销消息进行管理。漏洞源服务器16向撤销机构服务器14提供撤销消息、缓解、漏洞或者其他与撤销有关的信息。额外的、不同的或更少的网络设备可以被提供。例如,不止一个网络26或其他传输被用于消息传送。作为另一示例,额外的平台18、22被提供。平台的不同系统和/或服务器12、14、16可以使用相同或不同的网络。在又一示例中,服务器12、14、16中的任意两个或全部是相同的服务器。
服务器12、14、16是处理器、路由器、交换机、防火墙和/或响应客户端请求的其他服务器。在其他实施例中,服务器不响应请求,而是替代地通过推送到客户端(例如,平台18、22和/或其他服务器12、14、16)来供应信息。
软件服务器12是软件组件的源。源可以是软件的发起者或分发者。例如,软件服务器12托管由其他软件服务器创建的应用。作为另一示例,软件服务器12管理平台18、22的系统或网络,并且将软件分发到平台18、22。在其他实施例中,软件服务器12是创建并分发软件的公司或实体的服务器(例如,与成像设备(平台18、22)连接的医学成像公司的服务器)。
撤销机构服务器14保持与软件组件20、24的撤销有关的信息。信息可以作为单独的撤销消息、一个或多个列表、消息的编译或其他组织来被保持。撤销信息可以由组件20、22、由平台18、22或者由另一标准进行细织。
撤销机构服务器14是处理撤销的服务的一部分。服务可以是安全性或漏洞服务(例如,来自第三方或系统安全响应小组的服务)。在其他实施例中,撤销机构服务器14由软件服务器12和/或软件组件20、24的创建者、分发者或管理者进行操作。例如,撤销机构服务器14和软件服务器12由平台提供商、软件组件提供商和/或部署集成商进行操作。
漏洞源服务器16标识漏洞和/或针对漏洞的缓解。漏洞源服务器16标识和/或维护关于软件漏洞的信息。
漏洞源服务器16由安全小组或软件监视器操作。独立的服务可以控制漏洞源服务器16(例如,产品安全发生响应小组、MITRE公司或其他实体)。例如,用于减少或移除软件组件中的漏洞的缓解被(例如,软件发起者)开发。漏洞源服务器16将该缓解信息提供给相同实体或不同实体(例如,系统、网络或平台管理者)的撤销机构服务器14。在其他实施例中,漏洞源服务器16不被提供或者不独立于撤销机构服务器14和/或软件服务器12。漏洞源服务器16由软件组件20、24的发起者、提供商和分发者操作。
网络26是公共或私有网络。局域网、广域网或其他网络可以被使用。在一个实施例中,网络26是互联网。在其他实施例中,网络26是蜂窝网络、呼叫中心、公司专用网络、企业网络或具有有限接入的其他网络。
平台18、22加载并运行软件组件20、24。软件组件20、24被从软件服务器12或另一源接收。相似地,对代码的更新或其他改变作为软件组件20、24从软件服务器12或其他源被接收。软件组件20、24与软件的版本相对应。相同或不同的软件被提供给相同或不同类型的平台18、22。由于连通性、不同连接的时间、所购买软件的水平、所获得的许可证或其他差异,相同类型的平台(例如,平台18和平台22)可能具有软件组件20、24的不同版本。
平台18、22是计算机、处理器、电话、平板电脑、膝上型计算机、工作站、服务器或者依照软件进行操作的其他设备。在平台18、22上运行的操作系统通过平台18、22或平台的用户来加载软件并允许控制软件。
软件组件20、24是针对任意类型的功能。例如,软件组件20、24是针对游戏、商业运营、邮件、日历或其他类型的应用。作为另一示例,软件组件20、24是针对专有算法或处理。
给定的软件组件20可以被分发到多个平台18。软件组件20的多个实例被创建。相同的软件更新或源程序被接收以供平台18使用。当漏洞被分发者、监视器或发起者发现时,为了服务器和平台的平台18、网络26或系统10的安全性,漏洞将被缓解。
撤销机构服务器14结合嵌入在软件组件和平台18、22中的信息来处理缓解。图2示出了用于通过网络管理软件的撤销的示例方法。不管个体所有权或许可,具体软件组件的撤销被管理。自动的缓解(例如,重新配置软件组件)可以从可信的源被提供。
方法由图1的系统或者由其他系统实现。各种设备和相应的应用中的任意一个可以实现方法的全部或部分。例如,在左列中的动作由平台实现,中心列的动作由软件服务器实现,并且右列的动作由撤销机构实现。设备由软件或其他程序进行配置以实现动作。通信网络被用于设备之间的任意消息传送或通信。
额外的、不同的或更少的动作可以被提供。例如,在软件组件和/或撤销消息未被签署的情况下,动作44和/或动作56中对签名的验证未被提供。在另一示例中,动作46的针对过期的检查和/或动作42的激活未被提供。动作48是可选的。
动作以所示的顺序或不同的顺序被执行。例如,动作48在动作40、42、44或46中任意一个动作之前或之后被执行、或者与动作40、42、44或46中任意一个动作同时被执行。动作48可以在诸如软件撤销列表之类的缓存的撤销数据上被执行。作为另一示例,动作44的对软件组件的签名的验证基于安装而被执行,因此其在动作42中的对软件进行激活之前被执行。
撤销在不撤销证书的情况下被管理。公共签名可以代替地被撤销。相同的签名被用于软件组件的实例的全部或子组。用于签署具体软件组件的签名被撤销。例如,美国已公布申请No._______(于2013年5月21日递交,序列号为13/898,936)中所公开的系统、逻辑和方法被使用。两阶段(two stage)撤销处理被用在公共密钥基础设施中。一个阶段基于软件组件的数字签名的状态来认证或撤销软件组件,并且另一阶段基于数字证书的个人签名的状态来认证或撤销软件组件。例如,数字证书被分配证书号。序列号被分配由数字证书所签署的签名。软件组件的多个实例包括证书号和序列号。具有相同签名的软件组件的单独的实例可以根据序列号被撤销。其他撤销方法可以被使用。
在动作40中,软件组件被分发。相同的软件组件被分发到多个设备。例如,更新被传输到系统的多个或全部设备。更新将改变软件的代码。作为另一示例,第一个或最初的软件组件被分发(例如,由于购买软件而传输软件的副本)。通过由不同设备下载软件,软件被分发到多个设备。
分发是通过网络的。例如,电子分发通过计算机、蜂窝网络或其他网络被提供。软件组件通过网络被传输以供安装在一个或多个设备上。在替换的或额外的实施例中,软件组件中的一个或多个实例通过手动处理进行分发(例如,用户将计算机可读存储器设备输入到计算机中以供安装软件)。
软件组件被签署。用证书生成的PKI公共签名被添加到软件组件。其他签名系统可以被使用。签名被加密并被用来确保与可信源的通信。任意签名类型或方法可以被用于对将被安装在设备上的软件组件的权限进行验证。
针对撤销,软件组件的每个实例包括一个或多个撤销机构的标识、撤销期限(anexpiration for revocation)和/或撤销分发机制。额外的、不同的或更少的项可以被包括。撤销信息作为元数据被包括,但可以被嵌入在软件组件中。
撤销机构的标识是到可信根的指针。标识是撤销信息的可信源。通过包括标识,安全的通信可以用撤销机构来建立。公共密钥、对称密钥、x509证书或其他可信指示器被标识。
撤销分发机制指示了如何对给定组件可能存在的任意撤销信息进行访问。例如,撤销列表分发点的位置或在线状态服务器地址作为统一资源定位符(URL)或其他地址被提供。指示可以被用来请求撤销信息。除了服务器请求之外的其他机制可以被使用(例如,存储器位置或者查找或访问撤销信息的其他位置的指示器)。
过期提供了时间和/或日期,在该时间和/或日期之后软件组件的撤销信息是不可用的。软件组件应该在该时间或日期之前被升级以进行维护。否则,软件组件由于缺乏维护而过期并且不能被使用。
标识和分发机制由一个实体发起。该实体可以交互以提供撤销服务。在其他实施例中,软件组件可以由新的实体重新包装和签署。例如,平台可以包括来自不同供应商的数个软件组件。平台提供商或网络可以在平台提供商的证书下签署组件。指示了不同撤销机构信息和过期日期的新的元数据可以被包括。尽管平台上的不同软件组件来自于不同的实体,但平台提供商或管理者重新签署以提供撤销信息的单个源。在其他实施例中,重新签署不被使用,并且单独的实体独立地管理不同软件组件的撤销。
随着每个软件组件被分发,软件组件被安装。一旦被安装,则软件组件可以被激活、然后可以被加载、并且然后可以在设备上被操作。动作44-58在加载之前响应于在动作42中的激活而被执行。例如,设备的用户或设备它本身通过呼叫可执行文件进行激活。可执行文件在加载软件之前实现撤销验证。替换地,动作44-58在安装之前响应于动作42中的激活而被执行。例如,用于安装软件组件的可执行文件在安装之前实现撤销验证。通过在加载和/或安装之前实现撤销验证,由软件组件引起的任意漏洞可以被避免或缓解。
在其他实施例中,软件组件在撤销可以被检查之前进行初始化。例如,软件组件是针对用于建立通信的程序。通信在执行撤销检查之前被建立。检查被推迟直到加载和/或安装之后。加载或安装使得信息可用于取回。由于延迟漏洞可能存在一段时间。替换地,撤销信息在初始化之前(例如,通过预播种)被提供。撤销检查可以在安装之前被执行。
在动作42中,软件组件被激活。例如,用户选择菜单中的图标或名称。选择指示了软件(包括单个软件组件或多个软件组件)将被加载和运行。其他激活可以被使用。例如,处理器可以基于运行另一处理来呼叫软件组件。
激活开始加载软件组件的例程或处理。组成软件组件的代码对处理器是可用的,并且处理器开始执行代码。代码的第一行可以用于撤销验证。替换地,加载例程或处理需要撤销验证。
在动作44中,软件组件的签名被验证。被用来验证签名的公共密钥被平台信任。信任可以来自直接了解公共密钥或者来自在证书中签署公共密钥的可信根。签名根据其正在签署的软件而被检查。签名由签署者通过软件包(bundle)使用与公共密钥相关联的私有密钥而被计算。任意签名验证可以被使用。
在多个组件组成激活的软件程序的情况下,各种组件的签名被验证。在其他实施例中,只有一个签名(例如,针对最近更新的软件组件的签名)是可用的并且被用于验证。在多个程序被激活的情况下,针对每个程序发生相同的处理。在其他实施例中,签名验证被执行用于安装而不是后续加载。在某些情况下,单个签名可以覆盖数个软件程序。
如果签名的验证失败,则软件组件不被加载或安装。组件被标记为不可信的。如果签名的验证通过,则设备检查撤销信息。元数据或撤销信息的其他位置被访问。
在动作46中,撤销信息被检查过期。基于时间的自动的或设定的撤销可以被包括。如果在元数据中存在过期日期,则设备进行检查以查看软件组件是否已经过期。当前日期或时间与过期日期或时间进行比较。
如果过期,则动作依照策略发生。如以上所提到的,一个合适的动作可能是不加载软件组件。如果软件可以在没有特定组件的情况下进行操作,则其他软件被测试过期。针对过期的任意其他可能的策略可以被使用。例如,警报可以被生成和发送,新的软件可以被取回,或者组件可以被标记为不可信的。
如果软件组件尚未过期,则在动作48中针对撤销的检查被执行。检查软件组件是否已经被撤销。该上下文中被撤销的不仅包括被禁用的或不被使用的,而且包括将被安装的软件或者将被缓解的漏洞。
为了检查,软件组件的撤销消息被获取。撤销消息基于元数据中所指示的机制或者软件组件的其他撤销信息来被获取。例如,撤销消息的列表从撤销机构中被获取。作为另一示例,撤销机构(例如,撤销服务)检查撤销。从撤销机构获得撤销信息的任意机制可以被使用,例如撤销机构将撤销消息的列表推送到任意已注册的软件组件。
不管机制,针对适用于软件组件的任意撤销消息的请求被生成。请求被发送到撤销机构或者由设备实现以搜索已经获得的列表。在某一时刻,撤销机构被请求提供一个或多个撤销消息。撤销机构的标识被用来确定从何处获取撤销消息。与软件相关联的元数据提供标识和信任撤销机构的机制。这可以是通过使用公共密钥证书可信根以及撤销机构的标识。替换地,元数据可以包含直接与撤销机构相关联的标识和公共密钥。
如果用于偶数校验的撤销信息是不可用的,则用于处理该状况的一个或多个策略可以被实现。例如,以上所讨论的针对过期的任意策略响应于针对撤销没有可用的检查而被实现。不同的软件组件可以具有不同的策略。例如,一些组件可能必须在撤销可以被检查之前进行初始化。策略可以创建针对这些软件组件的例外。
当在软件组件中发现缺陷时,安全响应小组被通知,问题被特征化,开发和攻击信息被获得,严重性被确定,缓解被开发,和/或有漏洞和没有漏洞的版本被标识。在该处理中的任意时刻,撤销消息可以被生成。消息由撤销机构生成或者被传递到撤销机构。实体群组可以提供对漏洞评估的不同的或协同开发。
在动作48中,由他者创建的撤销消息被接收。由于他者不与设备的可信的撤销机构相关联,因此撤销消息可以由撤销机构或者具有来自撤销机构的证书的签名的其他实体重新签署。例如,签名与已签署的软件组件的证书相对应。在其他实施例中,不同的证书被用来生成撤销消息的签名。由于软件组件包括到具体的可信根的指针,因此重新签署将撤销消息的签名与可信的撤销机构相匹配。
在替换实施例中,动作48不被执行。代替地,撤销消息由撤销机构生成和/或最初由撤销机构签署。这些消息可以由平台本地缓存。
在动作50中,针对已签署的软件组件的撤销消息的请求被接收。请求针对软件组件,例如标识序号、许可证或软件组件的签名。在其他实施例中,在不具体指示特定软件组件的情况下,请求是针对撤销消息的列表。其他信息可以被用来请求特定撤销消息和/或这些消息的列表,例如运行软件组件的设备类型、设备是其成员的网络或系统、和/或用户状态(例如,完全产品的购买者)。
撤销机构处的处理器处理请求。请求根据撤销分发机制被格式化。例如,请求是用于撤销机构搜索针对特定软件组件的任意撤销消息。撤销机构被请求查找适用于软件组件的撤销消息。作为另一示例,请求是用于撤销机构提供撤销消息(可以包括针对软件组件的撤销消息)全部或子集的列表。在又一示例中,请求可以被格式化用于注册软件组件以供不管是否加载都预播种或定期地接收撤销消息。撤销机构将撤销消息推送到已注册的软件组件或相应的设备。
由于针对撤销消息的请求只在设备的软件组件尚未过期的情况下被接收,因此消息传送被最小化。在替换实施例中,过期未被检查或者在检查撤销信息之后被检查。
在动作52中,撤销机构分发已签署的撤销消息。撤销消息的签名是PKI或其他签名(例如,所产生的与用于软件组件的签名相似的签名)。撤销消息的签名机制可以与用于撤销消息应用到的软件组件的签名机制相同。针对撤销消息的不同的签名机制可以被使用。撤销机构可以签署撤销消息。由于到撤销机构的可信根的指针与软件组件一起被包括,因此撤销机构的签名可以被验证回到建立信任的该机构的可信根。
处理器(例如,撤销机构的服务器的处理器)响应于请求来传输撤销消息。用于传输撤销消息的定期的或其他触发器可以被使用。已签署的撤销消息基于分发机制被格式化。撤销消息是其响应的请求基于相同的分发机制被格式化。元数据或软件组件中的其他信息标识了如何访问组件的列表。代替分发列表或者除了分发列表之外,软件撤销通过在线撤销服务可以是可用的。
撤销消息单独地或者在这些撤销消息的列表中被分发。任意分发可以被使用,例如广播或者响应于具体的请求。例如,撤销消息的列表响应于针对客户端设备的请求而被传输。由于客户端设备可以在不同时期加载软件组件,因此请求在不同时期被接收。撤销列表定期或不定期被发布。撤销列表可以包含下一更新将被发布的时间,或者可以未提到下一预测时间。如果漏洞在列表的更新之间被发现,则临时列表可以被发布。
消息的列表包括针对特定软件组件的任意撤销消息以及针对其他软件组件的其他撤销消息。替换地,列表只包括针对请求中所标识的软件组件的一个或多个撤销消息。撤销列表的范围由撤销机构确定。
撤销消息可以包括各种信息(例如,签名和缓解信息)。其他信息可以包括漏洞已被标识的软件组件的标识、没有漏洞的之前版本的标识、攻击向量(vector)信息、严重性信息和/或到其他信息的链路。信息的任意组合可以被包括在撤销消息中。被用来标识软件组件被撤销和/或如何缓解漏洞的信息在撤销消息中被提供。
在一个实施例中,撤销消息包含有漏洞的代码标识、无漏洞的代码标识、漏洞信息、攻击向量、严重性、缓解信息和签名。有漏洞的代码标识包括针对软件组件的参考、(一个或多个)版本指示、发布日期、安全散列(hash)(例如,SHA256)和签署者,还可以包括不同的信息。由软件组件提供的签名可以标识软件组件,因此被用作参考。无漏洞的代码标识可以包括与有漏洞的代码标识相同或相似的信息,但除更新或更旧的无漏洞的版本外。其他信息(例如,到用于加载针对无漏洞代码的更新的位置的链路(例如,URL))可以被包括。任意漏洞信息可以被使用,例如CVE#、供应商产品安全发生响应小组链路(PSIRT#)、URL或到参考信息的其他链路、和/或发起撤销消息(例如,重新签署的撤销消息)的组织的标识。
攻击向量、严重性和/或缓解指示解决方案。消息可以包括表征漏洞可以被开发的方法以及开发可以是多么严峻的信息。严重性和/或攻击向量可以被用于缓解。攻击向量和严重性可以指示可以被束缚以增加严重性的其他漏洞。例如,如果组件或部署易受高严重性CVE-xxxx-yyyy的攻击,则严重性标签为高严重性,否则为中等严重性。严重性可以与指导缓解的策略一起被使用。替换地,攻击向量和严重性未被指示。
撤销消息还可以包括缓解信息。缓解信息可以包括用以修改配置或部署或者以其他方式减少或消除漏洞的动作。缓解信息可以包括关于以下各项的指令:禁用组件、在组件前安装过滤监视器、禁用对组件的访问网络、从组件中移除许可或者在某些其他系统中触发改变。其他现在已知的或者之后被开发的缓解可以被提供。缓解可以或可以不包括对软件组件的代码的更新或改变。一个或多个变量的值或配置可以被改变,而不是改变代码。缓解消息和配置改变的解释可以由操作系统或平台完成。
在一个实施例中,撤销消息被提供给设备、系统或网络的管理者。设备的管理者可以是用户。撤销消息被发送以供输出或显示到用户。撤销消息作为设备具有漏洞的警报而被发送。例如,撤销消息作为用于处理的管理警报而被发送。撤销消息包括协助管理者减少、消除或处理漏洞的缓解信息。警报基于其应用到的软件组件的使用而被接收,而不是基于警报的源的调度来接收警报。
在另一实施例中,撤销消息被传输到具有软件组件的设备。缓解信息是可由设备自动使用的。在自动化的方法中,设备处理撤销消息中的数据。例如,缓解包括用于软件组件的配置的机器或设备可读指令。指令允许由加载软件的设备或另一设备(例如,网络或系统服务器)自动缓解。指令可以不改变软件组件的代码(例如,更新),但是代替地过滤、改变输入或输出数据或者更改软件组件或与软件组件交互的设备的其他软件的配置。软件组件的行为在不安装更新的情况下被更改。替换地,指令是用于更新以将软件组件更改或回滚(roll back)到不同的版本。
在一个示例缓解中,指令用于过滤。例如,一个或多个输入、输出或其他过滤器被指定。过滤器被应用于软件组件、网络或系统中所使用的或者由软件组件、网络或系统使用的数据从而更改数据以避免漏洞。软件组件被过滤。
在其他示例缓解中,已签署软件组件被禁用,已签署软件组件的一部分被关掉,接口被更改或重新分配,和/或端口被更改或重新分配。缓解可以用于恢复和更新到软件组件的不同版本(例如,回滚到无漏洞的版本)。
指令可以与系统、网络或设备策略交互。关于漏洞的严重性和风险的评估可以被用来选择之后的缓解指令。设备可以确定是否存在可以基于严重性而被采取的缓解动作。
撤销消息用于更改软件组件或与软件组件交互。格式可以针对软件组件。在其他实施例中,撤销消息被拦截并更改,或者如针对特定设备或网络所传输的那样被格式化。例如,撤销消息包括用以与设备的操作系统交互的指令。撤销信息可以由漏洞响应小组而不是设备处理。响应小组可以发布针对特定平台的新的撤销消息(针对该平台具有更具体的缓解信息)或者可以通过另一配置机制(例如,操作系统)来采取动作。
在动作54中,从消息中提取的缓解消息或信息由设备、设备的用户或设备的管理者接收。在列表被传输的情况下,可能不存在针对特定软件组件的撤销消息。替换地,指示没有撤销的响应被接收。软件组件然后被允许加载。
在针对软件组件的撤销消息被接收的情况下(即,在软件组件已经如当前所配置的那样被撤销的情况下),撤销信息被处理。撤销信息通常是针对软件组件或者针对相同版本的软件组件的任意实例。撤销信息不是对特定许可证的撤销,或者不是单独针对特定实例。撤销信息被处理以校正软件组件的各种实例的漏洞。
在动作56中,撤销消息的签名被验证。为了确保完整性,签名与撤销机构的可信根一起被检查。签名以与软件组件的签名相同的方式被验证,但是不同的验证机制可以被使用。例如,签名可以使用不同的签署算法。签名的验证检查元数据中所提供的公共密钥信息或可信根。不止一个撤销机构可以发布针对组件的撤销消息。组件可以具有与多个撤销机构相关联的元数据。
在动作58中,来自撤销消息的撤销信息被处理。管理者或用户可以手动处理(例如,更改软件组件的设置)。针对自动的处理,指令被解析。设备的处理器通过配置软件组件的指令按顺序排列。指令可以更新、改变代码、添加过滤器、回滚或者执行其他动作。在一个实施例中,指令用于在不改变软件组件的指令或代码的情况下添加过滤器或更改配置。
其他动作可以在缓解之后被执行。例如,当软件组件被加载时或者在下一加载之前,检查额外的撤销信息的任务可以被设置。由于另外的缓解可以被标识,因此检查在下一更新被调度发生之前被执行。
图3是示例网络设备(平台18、22或服务器12、14、16)(例如,通用或专用计算机)的简化框图。网络10(参见图1)可以用于单个域(例如,cisco.com)或多个域(例如,cisco.com和pepsi.com)。例如,网络可以是广域网、局域网、内联网、外联网、无线局域网、虚拟局域网或一个或多个公司的网络的组合。任意形式的网络可以被提供,例如传输网络、企业网络、数据中心或者其他有线或无线的网络。通过连接的链路协商,网络10可跨平台应用、可扩展和/或适用于具体平台和/或技术需求。
网络10可以是相对静态的,例如相同平台18、22在几分钟、几天、几周或几年期间被提供。网络设备(例如,平台18、22)可以偶尔被添加或替换。在其他实施例中,网络10是动态的,例如允许网络设备被频繁地添加或移除。例如,移动网络元件可以全天连接或不连接网络10。
网络设备通过链路经由端口进行连接。任意数量的端口和链路可以被使用。端口和链路可以使用相同或不同的介质进行通信。无线、有线、以太网、数字订户线(DSL)、电话线、T1线、T3线、卫星、光纤、电缆和/或其他链路可以被使用。相应的接口作为端口被提供。
在图3中,示例网络装置或设备70与可以被部署在网络10中的网络元件或计算设备相对应。网络设备70包括用以执行针对撤销基础设施的活动或操作中的任意一个或多个的软件和/或硬件。
网络设备70包括处理器72、主存储器73、辅助存储设备74、无线网络接口75、有线网络接口76、用户接口77和包括计算机可读介质79的可移除介质驱动器78。总线71(例如,系统总线和存储器总线)可以在处理器72以及网络设备70的其他组件、存储器、驱动器和接口之间提供电子通信。
额外的、不同的或更少的组件可以被提供。组件意图是说明性目的,并不意味着暗示网络设备的架构限制。例如,网络设备70可以包括另一处理器,和/或不包括辅助存储设备74或可移除介质驱动器78。每个网络设备可以包括比其他网络设备更多或者更少的组件。
处理器72(也可以被称为中央处理单元(CPU))是能够执行机器可读指令并且如机器可读指令所指示的那样对数据进行操作的任意通用或专用处理器。主存储器73可被处理器72直接访问以访问机器指令,并且可以是以随机存取存储器(RAM)或者任意类型的动态存储设备(例如,动态随机存取存储器(DRAM))的形式。辅助存储设备74可以是能够存储包括可执行软件文件的电子数据的任意非易失性存储器(例如,硬盘)。通过一个或多个可移除介质驱动器78可以向计算机70提供外部存储的电子数据,该可移除介质驱动器78可以被配置为接收任意类型的外部介质79(例如,光盘(CD)、数字视频盘(DVD)、闪存驱动器、外部硬驱动器或者任意其他外部介质)。
无线和有线网络接口75和76可以被提供以使得能够经由一个或多个网络在网络设备70和其他网络设备12、14之间进行电子通信。在一个示例中,无线网络接口75包括具有合适的发送和接收组件(例如,收发器)的无线网络控制器(WNIC),以在网络10内进行无线通信。有线网络接口76可以使得网络设备70能够通过电线(例如,以太网电缆)来物理地连接到网络10。无线和有线网络接口75和76二者都可以被配置为使用合适的通信协议(例如,互联网协议组(TCP/IP))来促进通信。
仅作为说明性目的,网络设备70被示为具有无线和有线网络接口75和76二者。尽管无线接口和硬连线接口中的一者或二者可以被提供在网络设备70中,或者在外部连接到网络设备70,但是只需要一个连接选项来使得网络设备70能够连接到网络10的连接。网络设备70可以包括使用任意类型的连接选项的任意数量的端口。
用户接口77可以不在任何机器中被提供、或者在一些或所有机器中被提供以允许用户与网络设备70交互。用户接口77包括显示设备(例如,等离子显示板(PDP)、液晶显示器(LCD)或者阴极射线管(CRT))。此外,任意合适的输入设备也可以被包括(例如,键盘、触摸屏、鼠标、轨迹球、麦克风(比如,用于语音识别的输入)、按钮和/或触摸板)。
实现本文所描述的活动或功能的指令可以被存储在一个或多个外部计算机可读介质79上、被存储在主存储器73中、被存储在辅助存储设备74中或者被存储在网络设备70的处理器72的缓存存储器中。网络设备70的这些存储器元件是非暂态的计算机可读介质。用于实现本文所讨论的处理、方法和/或技术的逻辑在非暂态的计算机可读存储介质或存储器(例如,缓存、缓冲器、RAM、可移除介质、硬驱动器或者其他计算机可读存储介质)上被提供。计算机可读存储介质包括各种类型的易失性和非易失性存储介质。因此,“计算机可读介质”表示包括能够存储由网络设备70执行的指令的介质,该指令使得机器执行本文所公开的活动中的任意一个或多个。
作为逻辑被存储在存储器上的指令可以由处理器72执行。图中所示的或者本文所描述的功能、动作或任务响应于计算机可读存储介质中所存储的或计算机可读存储介质上所存储的一个或多个指令集而被执行。功能、动作或任务不依赖于特定类型的指令集、存储介质、处理器或处理策略,并且可以由独立或联合操作的软件、硬件、集成电路、固件、微代码等来执行。同样地,处理策略可以包括多处理、多任务、并行处理等。
额外的硬件可以被耦合到网络设备70的处理器72。例如,存储器管理单元(MMU)、附加对称多处理(SMP)元件、物理存储器、外围组件互连(PCI)总线和相应的网桥、或者小型计算机系统接口(SCSI)/集成驱动电子(IDE)元件。网络设备70可以包括协助操作的任意额外的适当的硬件、软件、组件、模块、接口或对象。这可以包括允许数据的有效保护和通信的合适的算法和通信协议。此外,任意合适的操作系统在网络设备70中被配置为适当地管理其中的硬件组件的操作。
存储器73、74、79中的一个或多个或者另一存储器存储软件组件、元数据、撤销消息、缓解指令、策略、请求、响应或者被用于撤销基础设施的其他信息。一个或多个存储器73、74、79或者另一存储器可以存储签名、证书或其他可信信息。
尽管本发明已经在上文参考各种实施例被描述,但应该理解,许多改变和修改可以在不脱离本发明的范围的情况下被做出。因此,希望上述详细说明被视为说明性的而非限制性的,并且应该理解,意图定义本发明的精神和范围的是所附权利要求(包括所有等同形式)。
Claims (20)
1.一种方法,包括:
通过网络将已签署软件组件的多个实例分发到多个设备,实例包括撤销机构的标识;
由所述撤销机构的处理器记录所述已签署软件组件的版本中的漏洞;
由所述撤销机构的所述处理器标识第一签名,所述第一签名被用于签署所述已签署软件组件的所述版本;
在所述撤销机构的所述处理器处接收针对所述已签署软件组件的撤销消息的请求;以及
由所述撤销机构的所述处理器响应于所述请求来发送所述撤销消息,所述撤销消息包括仅针对设备中的一个或多个设备上由所述第一签名签署的所述已签署软件组件的所述版本的缓解信息,并且包括签名;其中,所述缓解信息包括用于减少或移除所述漏洞的信息;其中,所述撤销消息禁用所述已签署软件组件的所述版本直到所述漏洞已被缓解。
2.如权利要求1所述的方法,其中,所进行的分发包括:分发所述已签署软件组件,包括通过所述网络进行发送。
3.如权利要求1所述的方法,其中,所进行的分发包括:分发包括撤销期限的实例,并且其中,仅针对未过所述撤销期限的实例的请求被接收。
4.如权利要求1所述的方法,其中,所进行的分发包括:分发包括撤销分发机制的实例,并且其中,所进行的接收包括:接收根据所述撤销分发机制被格式化的请求。
5.如权利要求1所述的方法,其中,所进行的接收包括:接收作为针对包括所述撤销消息的列表的请求的所述请求。
6.如权利要求1所述的方法,其中,所进行的接收包括:接收用于从包括所述撤销消息的、由所述撤销机构供应的撤销消息的列表中进行查找的所述请求。
7.如权利要求1所述的方法,其中,所进行的发送包括:发送其他撤销消息的列表中的所述撤销消息,所述其他撤销消息是针对除所述已签署软件组件之外的其他已签署软件组件的。
8.如权利要求1所述的方法,其中,所进行的发送包括:通过过滤所述已签署软件组件的操作来发送所述缓解信息。
9.如权利要求1所述的方法,其中,所进行的发送包括:在不安装所述已签署软件组件的更新的情况下,通过改变所述已签署软件组件的行为来发送所述缓解信息,行为的所述改变包括:禁用所述已签署软件组件、关掉所述已签署软件组件的一部分、更改接口、更改端口或其组合。
10.如权利要求1所述的方法,还包括:
从第三方接收所述撤销消息并且给所述撤销消息重新签署第二签名,所述第二签名与重新分发撤销消息所信任的机构的证书相对应。
11.如权利要求1所述的方法,其中,所进行的发送包括:发送到所述设备的管理者。
12.如权利要求1所述的方法,其中,所进行的发送包括:将针对所述版本的可由所述设备自动使用的所述缓解信息发送到所述设备。
13.如权利要求1所述的方法,其中,所进行的发送包括:发送针对一个设备的操作系统所更改的所述撤销消息。
14.一个或多个非暂态计算机可读介质,所述一个或多个非暂态计算机可读介质包括用于执行的代码,并且当所述代码被处理器执行时能操作来执行以下操作,包括:
激活平台上的软件组件,所述软件组件包括第一签名并且具有版本;
验证所述第一签名是有效的并且来源于可信的签署证书;
检查所述软件组件的期限;
检查所述软件组件的版本的撤销,其中,所述第一签名被用于标识所述软件组件的版本,其中,撤销使得禁止所述软件组件加载;
当所述版本被撤销时,接收缓解信息,所述缓解信息包括用于减少或移除所述软件组件的版本中的漏洞的信息;
处理针对所述软件组件的缓解信息;以及
加载所述软件组件。
15.如权利要求14所述的非暂态计算机可读介质,其中,所进行的激活、验证、检查、接收和处理在所述平台上加载或安装所述软件组件之前被执行。
16.如权利要求14所述的非暂态计算机可读介质,还包括:在接收所述缓解信息之后验证所述缓解信息的第二签名。
17.如权利要求14所述的非暂态计算机可读介质,其中,所进行的处理所述缓解信息包括:在不改变所述软件组件的指令代码的情况下自动地配置所述软件组件。
18.如权利要求14所述的非暂态计算机可读介质,其中,所进行的接收所述缓解信息包括:接收针对所述软件组件的版本的而不是针对证书或许可证的撤销消息。
19.一个或多个非暂态计算机可读介质,所述一个或多个非暂态计算机可读介质包括用于执行的代码,并且当所述代码被处理器执行时能操作来执行以下操作,包括:
接收指示软件的版本具有漏洞的消息;
标识被用于签署软件的所述版本的签名;
接收请求,所述请求根据软件的所述版本的元数据中所标识的分发机制被格式化;
分发已签署撤销消息,所述已签署撤销消息包括针对软件的漏洞的缓解信息,所述缓解信息包括针对由加载所述软件的平台进行的自动缓解的一个或多个指令;其中,所述已签署撤销消息禁止设备加载由所述签名签署的软件的所述版本;其中,所述一个或多个指令包括用于减少或移除所述软件组件的版本中的所述漏洞的指令。
20.如权利要求19所述的非暂态计算机可读介质,其中,所进行的分发包括:响应于依照所述软件的元数据中所标识的分发机制被格式化的请求来发送包括所述已签署撤销消息的已签署撤销消息的列表,并且其中,所述指令用于在不改变所述软件的代码的情况下配置所述软件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/017,896 | 2013-09-04 | ||
US14/017,896 US9298923B2 (en) | 2013-09-04 | 2013-09-04 | Software revocation infrastructure |
PCT/US2014/053052 WO2015034731A1 (en) | 2013-09-04 | 2014-08-28 | Software revocation infrastructure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105518686A CN105518686A (zh) | 2016-04-20 |
CN105518686B true CN105518686B (zh) | 2018-10-26 |
Family
ID=51585165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480048733.0A Active CN105518686B (zh) | 2013-09-04 | 2014-08-28 | 软件撤销基础设施 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9298923B2 (zh) |
EP (1) | EP3042331B1 (zh) |
CN (1) | CN105518686B (zh) |
WO (1) | WO2015034731A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341194B2 (en) | 2015-10-05 | 2019-07-02 | Fugue, Inc. | System and method for building, optimizing, and enforcing infrastructure on a cloud based computing environment |
JP6690346B2 (ja) * | 2016-03-25 | 2020-04-28 | 日本電気株式会社 | セキュリティリスク管理システム、サーバ、制御方法、プログラム |
US20180034847A1 (en) * | 2016-07-27 | 2018-02-01 | Fugue, Inc. | Regeneration and generational mutation for security and fidelity in software defined networks |
EP3432563A1 (en) * | 2017-07-21 | 2019-01-23 | CL Schutzrechtsverwaltungs GmbH | Method for producing a machine-readable controlling and/or operating means |
CN107689914A (zh) * | 2017-08-28 | 2018-02-13 | 深圳通业科技股份有限公司 | 一种支持trdp协议的多功能网关的通信方法 |
US10977024B2 (en) * | 2018-06-15 | 2021-04-13 | Sierra Wireless, Inc. | Method and apparatus for secure software update |
US11741196B2 (en) | 2018-11-15 | 2023-08-29 | The Research Foundation For The State University Of New York | Detecting and preventing exploits of software vulnerability using instruction tags |
US10996874B2 (en) | 2019-07-23 | 2021-05-04 | International Business Machines Corporation | Access revocation messaging mechanism |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101167296A (zh) * | 2005-04-22 | 2008-04-23 | 微软公司 | 受保护计算环境的可更新和可个性化元件 |
CN101965555A (zh) * | 2008-02-10 | 2011-02-02 | 阿拉丁知识系统有限公司 | 计算机数据产品证书的安装/更新确认 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148401A (en) * | 1997-02-05 | 2000-11-14 | At&T Corp. | System and method for providing assurance to a host that a piece of software possesses a particular property |
US6757824B1 (en) * | 1999-12-10 | 2004-06-29 | Microsoft Corporation | Client-side boot domains and boot rules |
GB2366640B (en) * | 2000-03-30 | 2004-12-29 | Ibm | Distribution of activation information |
WO2002010907A2 (en) | 2000-05-10 | 2002-02-07 | Convera Corporation | Method of revoking_authorizations for software components |
US20040003266A1 (en) * | 2000-09-22 | 2004-01-01 | Patchlink Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US20040003390A1 (en) * | 2002-06-27 | 2004-01-01 | Microsoft Corporation | System and method for installing a software application in a non-impactfull manner |
US7907729B2 (en) * | 2002-09-13 | 2011-03-15 | Bally Gaming, Inc. | Rollback attack prevention system and method |
US7434259B2 (en) * | 2002-10-21 | 2008-10-07 | Microsoft Corporation | Method for prompting a user to install and execute an unauthenticated computer application |
US8074287B2 (en) * | 2004-04-30 | 2011-12-06 | Microsoft Corporation | Renewable and individualizable elements of a protected environment |
US7747998B2 (en) * | 2004-08-31 | 2010-06-29 | Microsoft Corporation | Elevated patching |
US20060075001A1 (en) * | 2004-09-30 | 2006-04-06 | Canning Jeffrey C | System, method and program to distribute program updates |
US20060156391A1 (en) | 2005-01-11 | 2006-07-13 | Joseph Salowey | Method and apparatus providing policy-based revocation of network security credentials |
US20070016961A1 (en) * | 2005-07-11 | 2007-01-18 | Vogler Dean H | Application revocation using an application revocation list in a portable electronic device |
US7590841B2 (en) * | 2005-07-19 | 2009-09-15 | Microsoft Corporation | Automatic update of computer-readable components to support a trusted environment |
WO2007139539A1 (en) * | 2006-05-26 | 2007-12-06 | Oracle International Corporation | Software update syndication |
US9280337B2 (en) * | 2006-12-18 | 2016-03-08 | Adobe Systems Incorporated | Secured distribution of software updates |
US20080195868A1 (en) * | 2007-02-12 | 2008-08-14 | Nokia Corporation | Rollback-Resistant Code-Signing |
US8127412B2 (en) * | 2007-03-30 | 2012-03-06 | Cisco Technology, Inc. | Network context triggers for activating virtualized computer applications |
US8375381B1 (en) * | 2007-07-30 | 2013-02-12 | Adobe Systems Incorporated | Management user interface for application execution environment |
WO2009097350A1 (en) * | 2008-01-29 | 2009-08-06 | Palm, Inc. | Secure application signing |
US8850211B2 (en) * | 2009-04-27 | 2014-09-30 | Qualcomm Incorporated | Method and apparatus for improving code and data signing |
US8495621B2 (en) * | 2009-06-15 | 2013-07-23 | Microsoft Corporation | Catalog-based software component management |
US8955152B1 (en) * | 2010-09-07 | 2015-02-10 | Symantec Corporation | Systems and methods to manage an application |
US8572730B1 (en) * | 2011-02-28 | 2013-10-29 | Symantec Corporation | Systems and methods for revoking digital signatures |
US9015837B1 (en) * | 2011-09-29 | 2015-04-21 | Google Inc. | Systems and methods for verifying an update to data of an electronic device |
US8954732B1 (en) * | 2012-06-27 | 2015-02-10 | Juniper Networks, Inc. | Authenticating third-party programs for platforms |
US9256746B2 (en) * | 2012-12-14 | 2016-02-09 | Vmware, Inc. | Device and method for remediating vulnerabilities |
US20140201843A1 (en) * | 2013-01-15 | 2014-07-17 | Beyondtrust Software, Inc. | Systems and methods for identifying and reporting application and file vulnerabilities |
US9104862B2 (en) * | 2013-04-01 | 2015-08-11 | Uniquesoft, Llc | Secure computing device using new software versions |
US9043922B1 (en) * | 2013-04-19 | 2015-05-26 | Symantec Corporation | Systems and methods for determining malicious-attack exposure levels based on field-data analysis |
-
2013
- 2013-09-04 US US14/017,896 patent/US9298923B2/en active Active
-
2014
- 2014-08-28 WO PCT/US2014/053052 patent/WO2015034731A1/en active Application Filing
- 2014-08-28 CN CN201480048733.0A patent/CN105518686B/zh active Active
- 2014-08-28 EP EP14771648.4A patent/EP3042331B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101167296A (zh) * | 2005-04-22 | 2008-04-23 | 微软公司 | 受保护计算环境的可更新和可个性化元件 |
CN101965555A (zh) * | 2008-02-10 | 2011-02-02 | 阿拉丁知识系统有限公司 | 计算机数据产品证书的安装/更新确认 |
Also Published As
Publication number | Publication date |
---|---|
EP3042331B1 (en) | 2022-07-20 |
EP3042331A1 (en) | 2016-07-13 |
WO2015034731A1 (en) | 2015-03-12 |
US20150067323A1 (en) | 2015-03-05 |
CN105518686A (zh) | 2016-04-20 |
US9298923B2 (en) | 2016-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105518686B (zh) | 软件撤销基础设施 | |
JP7273224B2 (ja) | 分散型台帳を用いるデジタルアセット・トレーサビリティおよび保証 | |
US9137023B1 (en) | Self-signed certificates for computer application signatures | |
US8886964B1 (en) | Protecting remote asset against data exploits utilizing an embedded key generator | |
JP5531819B2 (ja) | 管理装置,ライセンス管理サーバ,電子機器,電子機器管理システム,管理方法,プログラム,および記録媒体 | |
CA2881539C (en) | Secure app ecosystem with key and data exchange according to enterprise information control policy | |
CN104247329B (zh) | 请求云服务的装置的安全补救 | |
CN109416720A (zh) | 跨重置维护操作系统秘密 | |
US20150365437A1 (en) | Managing software deployment | |
CN109313690A (zh) | 自包含的加密引导策略验证 | |
CN107408183A (zh) | 通过安全硬化管理代理进行的设备证实 | |
CN111008379A (zh) | 电子设备的固件安全检测方法及相关设备 | |
CN107533608A (zh) | 可信更新 | |
US8341616B2 (en) | Updating digitally signed active content elements without losing attributes associated with an original signing user | |
JP2011082983A (ja) | ネットワークリソースを保護するための装置及び方法 | |
JP2009230741A (ja) | 統合型ストレージシステムのアーカイブデータの完全性を検証するための方法と装置 | |
CN101340278A (zh) | 许可证管理系统和方法 | |
KR101832535B1 (ko) | 서비스로서 신뢰할 수 있는 장치 클레임 제공 기법 | |
JP2020524836A (ja) | ソフトウェア起動及びライセンス追跡用のシステム及び方法 | |
CN109657492A (zh) | 数据库管理方法、介质及电子设备 | |
KR20130101964A (ko) | 플랫폼 컴포넌트들의 보안 업그레이드 또는 다운그레이드를 위한 방법 및 시스템 | |
WO2013011902A1 (ja) | ライセンス管理装置、ライセンス管理システム、ライセンス管理方法、及びプログラム | |
CN102034058A (zh) | 应用软件安全控制方法及终端 | |
US20140282842A1 (en) | User centric method and adaptor for digital rights management system | |
US9305182B1 (en) | Managing distribution of sensitive information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |