CN102171652A - 为电子装置提供可信软件的方法 - Google Patents

为电子装置提供可信软件的方法 Download PDF

Info

Publication number
CN102171652A
CN102171652A CN2009801394671A CN200980139467A CN102171652A CN 102171652 A CN102171652 A CN 102171652A CN 2009801394671 A CN2009801394671 A CN 2009801394671A CN 200980139467 A CN200980139467 A CN 200980139467A CN 102171652 A CN102171652 A CN 102171652A
Authority
CN
China
Prior art keywords
certificate
check
electronic installation
group
software module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801394671A
Other languages
English (en)
Other versions
CN102171652B (zh
Inventor
哈尔姆·布拉姆斯
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.)
Onespan International GmbH
Onespan Inc
Original Assignee
Vasco Data Security International Inc
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 Vasco Data Security International Inc filed Critical Vasco Data Security International Inc
Publication of CN102171652A publication Critical patent/CN102171652A/zh
Application granted granted Critical
Publication of CN102171652B publication Critical patent/CN102171652B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

可以在具有附接至其的电子装置的通用计算机(主机)和电子装置本身之间有利地划分检验用于电子装置的软件模块的来源和可靠性的操作。更具体地,在主机处完成诸如语法检查的存储和处理密集任务,而在电子装置处完成诸如加密检验的安全关键任务。本发明提供了一种以可信方式更新电子装置上的软件的方法,其中,在连接到电子装置的主机系统和电子装置本身之间划分检验步骤。本发明进一步提供了包含用于主机系统的程序的存储介质,使主机系统对用于附接的电子装置的软件更新执行验证步骤,并适当地与电子装置交互。

Description

为电子装置提供可信软件的方法
技术领域
本发明涉及软件分发领域,更具体地涉及建立对在经由通用计算机发送到电子装置的软件更新的来源和可靠性的信任。
背景技术
为个人计算机分发软件更新的过程已从其中新版软件在诸如磁盘或光盘的物理数据存储介质上传递到用户的物理传递模式演化到其中新版本可以从网络资源下载的基于网络的模式。在基于网络的模式中,开始更新的主动权可以在于用户或者在于软件提供商。Donohue[US 6199204B(DONOHUE,SEAMUS)2001-03-06]公开了一种基于网络的软件更新机制,其中,用户运行更新器代理,该代理检查相关软件更新的可用性,并且如果需要则装载软件更新。
随着用户可能不再物理地检验软件更新提供商的身份,基于网络的模式使得在被下载软件的来源和可靠性方面建立信任的问题更加突出。该问题可以通过加密方法来解决。更具体地,公钥加密可以用于利用软件提供商的私钥对软件发布进行数字地签名,允许用户利用软件提供商的容易使用的公钥来检验发布的来源和可靠性。
公钥加密还可以用于检验针对除了个人计算机之外的电子装置而电子分发的软件的来源和可靠性。一旦装置由最终用户管理,则这关系到该装置的固件以及可以添加或更新的任何应用程序。例如,Wysocki等人的[US 20070028120A(WYSOCKI,CHRISTOPHER R.)]公开了一种升级便携式电子装置上的软件的方法,在其中特别包括以下操作:在便携式电子装置处接收加密的软件模块,在电子装置处对加密的软件模块进行解密,认证解密的软件模块,以及在所述解密和所述认证成功完成后将该软件模块装载到便携式电子装置上。所引用的申请进一步描述了可以通过检验数字签名来执行认证。
本发明旨在提供一种对电子装置的预备软件更新的改进方法,具体地提供了一种装置,该装置被期望以安全地方式进行操作并且该装置受最终用户的控制。
发明内容
技术问题
通过检验软件模块中的程序代码(或者根据程序代码计算出的散列值)上的加密签名(优选地使用公钥加密生成的签名),来更好地解决对软件模块的来源和可靠性的检验。这种签名必须利用软件提供商的私钥来生成,并且可以利用软件提供商的对应公钥进行检验,该公钥应当被提供给电子装置并认证给电子装置,或者预先装载到电子装置中。通过与签名的数据一起提供一组证书来实现对公钥的认证,这组证书中的每一个证书均包括特定公钥属于所陈述的签署人的陈述。这组证书必须形成完整的链条,使得实际用于签署该软件模块的密钥的可靠性可以在一步或更多步中追踪回到最终认证授权,该最终认证授权的公钥被预先加载在电子装置中。当这种安全范例被应用于简单的电子装置中时出现了几个技术问题。
诸如密钥、签名和证书的加密资料作为表示数据容器的位串进行数字互换,其结构和编码必须被资料的发送者和接收者所了解。因此,采用几种适当的数据结构,并且特别地以RSA Laboratories’PKCS#7标准[RSALaboratories.PKCS#7:加密消息语法标准1.5版.Redwood市:RSA实验室,1993]来标准化这些互换。在XML签名语法和处理规范[万维网协会.XML签名语法和处理,第二版,由EASTLAKE,Donald等人编辑,W3C,2008]中找到基于XML的替换说明。
为了方便标准化和实现,以形式语言描述了诸如在PKCS#7中图示示出的标准化数据结构。为了实现此目的的最广泛使用的形式语言为抽象语法标记一(ASN.1),其以规范X.208以及其后续的ITU-T规范X.680[ITU-T.X.680-信息技术-抽象语法标记一(ASN.1):基本标记的说明.07/2002版.日内瓦:国际电信联盟,2003]中的CCITT进行开发并标准化。如果数据结构的ASN.1描述确定哪个元素必须或可以被呈现,以及它们应当属于哪个类型,则不能强迫对该数据进行特定的二进制表示。然而,非常重要地,数据的发送者和接收者也同意这种表示。几种编码标准解决协调二进制表示的问题,最恰当的二进制表示已知为基于CCITT规范X.209及其后续的ITU-T规范X.690[ITU-T.X.690-信息技术-基本编码规则(BER)的说明,规范编码规则(CER)和唯一编码规则(DER).07/2002版。日内瓦:国际电信联盟,2003]的基本编码规则(BER)、规范编码规则(CER)和唯一编码规则(DER)。DER提供了数据的含糊二进制表示,其包括八位字节形式的关于其数据类型以及其长度的每个对象信息,因此单个变量可以被看作以标签长度值(TLV)实体进行编码。
为了灵活地应对可能在数据源处或在传送期间产生的误差,处理以复杂数据结构进行编码的对象的任何过程,例如作为本发明的目的的软件更新过程,应当检验所接收数据是否符合期望的标准化结构,以及TLV实体是否内在地一致。这种检验根据数据结构的复杂性将要求相当大量的存储和处理,这可能超过一些仍需要安全下载数据的低成本电子装置的能力。因此,本发明的第一目的在于提高检验过程的效率。
通常发布具有清楚有效期限的证书。当私钥有时会遭到损坏时,在其有效期之前密钥和证书还将被吊销。吊销可以通过证书吊销列表(CRL)来通知公钥的预期用户,通常经由网络可获得该CRL,且应该在每次使用附属于第三方公钥的证书之前进行协商。可选地,可以经由在线证书状态协议(OCSP)在线查找特定证书的状态。因此,本发明的另一目的在于提供一种在目标的安全软件更新过程中考虑有效期和吊销信息的方式。
Wysocki等人的方法适用于高端便携式电子装置,例如便携式媒体播放器和移动电话,其具有足够的处理能力来对所接收的软件模块执行所有所需的操作,包括对软件模块的内容的有效性和一致性执行所有所需的检验。
可以期望具有用于电子装置的同等安全的软件更新方法,该电子装置由于对其生产成本的经济约束而限制了其处理能力、没有内部时钟或者没有内部连接性。低成本电子装置的一个目标分类包括认证装置,更具体地包括安全智能卡读卡机,该读卡机通常用于在电子商务和电子银行网站上检验用户。在智能卡的多变的世界中,经常发明新的功能。智能卡读卡机难以保证可以无限支持未知的未来智能卡。因此,可升级生是智能卡读卡机的关键特征,从而该应用功能可以被添加到该安全读卡机中。该可升级性必须保证读卡机的可信性,以及该过程不应将较重的负载施加到读卡机中的(有限)存储器上。进一步可以期望安全软件更新方法提供对验证多级证书链而不是仅验证签名的支持。
技术方案
本发明基于可以在通用计算机(后文中具有附接至其的电子装置的主机)以及电子装置本身之间有利地划分检验用于电子装置的软件模块的来源和可靠性所需的操作的考虑。更具体地,存储和诸如语法检查的处理密集任务在主机处执行,而诸如加密检验的安全关键任务在在电子装置处执行到电子装置能够执行的程度。尽管优选地通过电子装置执行所有与安全相关的任务,但本发明提供了由主机执行特定安全任务的可能性。有利地在主机处执行的第一组安全任务包括超过电子装置能力的这些任务。虽然从安全的角度来看是次优的,但本方法对于不在执行这些安全任务来说是优选的。有利地在主机处执行的第二组安全任务包括通常也可以在电子装置处执行但优选地在主机处运行的任务,以这种方式可以避免预先已知其将被电子装置拒绝的软件模块被传送到电子装置。这在如果不适当的有效载荷被允许下载则电子装置将以劣化或“成块的”状态结束的情况下是特别感兴趣的。这可以是在资源非常有限的装置情况,数据存储空间不足迫使利用新固件重写现存固件,从而一旦成功完成安全检查则仅激活新固件。如果后者不成功,则不激活新固件,而旧固件将不再可用。
因此,本发明用于更新电子装置上的软件的方法包括两组检验,一组在主机上,一组在电子装置上。
主机用于获得和存储用于电子装置的软件模块,其包括有效载荷(其可以包括实际程序代码、固件图像、将被电子装置执行的命令、配置参数、用于认证的要素、或可以影响电子装置的信任等级的数据的任意其他主体)、有效载荷上的签名、和可选地属于用于生成和检验有效载荷上的签名的密钥的可靠性的一组证书。优选地,根据标准化格式来建立软件模块。一组证书可以包括一个或更多个证书,如果仅存在一个证书,则应当认证用于有效载荷上的签名的密钥,并通过其公钥被预先加载到电子装置中的认证授权来进行签名。如果未提供证书,则应当通过其公钥被预先加载在电子装置中的实体来生成软件模块上的签名。公钥在电子装置中的预先加载可以在电子装置到最终用户的分发之前进行,并且尤其稍后可以通过可根据本发明的方法下载的特定“管理应用程序”来替换密钥。管理应用程序从主机或从其应用代码本身检索新公钥,并且在将新公钥存储到电子装置中之前该管理应用程序执行任何适当的安全性、环境、或其他检查和/或用户交互。主机可以是台式个人计算机、笔记本电脑、手持计算机等。其可以具有网络连接,以从网络资源获得软件模块,或者可选地其可以从可移动存储介质检索软件模块。
主机应当具有足够的存储和处理能力,以不仅发起和保护软件模块获取过程,而且还关注软件模块的译码;即,其执行还包括ASN.1-定义结构的译码和验证的结构检验。如果通过主机的检验成功,则优选地在请求电子装置的最终用户的允许之后,实际有效载荷数据(例如,电子装置的程序代码或中间检验密钥)可以被下载到电子装置。
电子装置将依次从来自主机的数据结构中检索组分,并在其安全环境中执行签名检验和证书检验(如果有的话)。除评估证书(链)的加密正确性之外,电子装置还评估提供软件模块(其身份被认证)的实体实际上是否被授权以为可疑的电子装置提供软件模块。加密认证过程必须在电子装置中执行,以不必折衷证书(链)和数据的完整性。然而,通过可以作为存储器和/或处理加强器的主机执行的结构认证,无需被电子装置复制。
一旦电子装置中的认证成功,则可以安装有效载荷程序,并且可以通过在主机和/或电子装置上显示的消息来通知最终用户。在电子装置处显示消息被理解为包括将信息传达至用户的任意形式,例如,通过文本或图形显示、合成语音、蜂鸣声等。在主机上显示消息被理解为包括将信息传达至计算机用户或执行程序的操作系统环境的任意形式,例如,通过在监视器上的文本或图形显示、合成语音、蜂鸣声、程序出口代码等。
除解析和检验数据结构的属性之外,可以在主机处有利地执行其他步骤。一个这种步骤为,如果存在则检验包括在软件模块中的证书是否有效,即,检验它们是否符合预期格式(例如,X.509v3、RFC5280、RFC2528或本领域技术人员已知的其他格式)和/或根据包括在证书中的陈述和/或公钥检验它们是否包括来自认证授权的加密声音签名。另一个这种步骤为例如通过重新布置项目的顺序,通过将特定的最大尺寸应用于将传送的每个项目,或者通过从数据结构中去除冗余信息,来重新打包软件模块的内容,以将其以更加可管理的形式呈现给电子装置。再一个这种步骤为通过完成在线证书状态协议(OCSP)查询,或者检查证书吊销列表(CRL),来检查在软件模块中提供的证书是否被吊销;这与主机经由诸如互联网的网络访问外部资源的情况存在特定相关性,这将与电子装置本身无关。又一个这种步骤为检查在软件模块中提供的证书是否在限制其有效性的日期范围内使用,这与电子装置不具有以精确且可信的方式跟踪当前日期的系统时钟的情况存在特定相关性。
主机还可以有利地检验在软件模块中提供的签名。为了执行加密验证,主机必须访问与用于生成签名的密钥相关的公钥。如果软件模块中存在证书,或者可选地可以从诸如网络资源的不同来源处获得证书,则可以在证书之一中发现公钥。在后一种情况中,主机应使用与预先存储在电子装置中的公钥相同的公钥。主机可以了解哪个公钥被预先存储在电子装置中,或者可选地主机可以查询电子装置,以了解预先加载了哪个公钥。电子装置对该查询的响应可以包括其自身的公钥、根据该公钥计算的散列或指纹、或者明确标识对电子装置上的软件行使最终授权的实体(例如,电子装置的制造商、提供商或拥有者)的任意其他表示。
主机可以执行其他有用的检查,例如,检验用于生成软件模块中的加密资料的算法是否是电子装置所支持的算法,以及在程序代码的情况下检验有效载荷的特征,例如,其是否对应于具有正确标题、版本号、大小或其他特征的程序。
本发明因此提供一种用于以可信方式更新电子装置中的软件的方法,其中,在连接到电子装置的主机系统以及电子装置本身之间划分检验步骤。因此,本发明还提供了包括用于主机系统的程序的存储介质,使得该主机系统能够关于用于附接电子装置的软件更新执行检验步骤,并与所述电子装置适当交互。
有益效果
本发明允许简单的电子装置能够通过以下步骤在用于更新固件、数据或功能性的软件模块中达到更高等级的可信度:与访问外部资源的主机系统合作,在主机和目标电子装置之间有效地划分检验该软件模块所需的步骤。作为主机的资源-包括存储、处理能力、网络访问和系统时钟-这些在目标电子装置中不存在,之前不能在目标电子装置内实施的检查现在可以在将软件模块传送到目标电子装置之前在主机处执行。因此,大大降低了在目标电子装置中安装流氓更新的风险。
附图说明
如在附图中示出的,根据以下对本发明的几个实施例的更具体描述,本发明的以上和其他特征和优点将是明显的。
图1示出了连接至主机101的电子装置100,主机101可以访问存储软件模块的资源102。
图2是示出本发明的方法的流程图,其表示在每个步骤处动作是在主机处执行还是在电子装置处执行。
图3示例性地示出了包括在软件模块301中的数据结构如何被翻译,以访问在主机101处的各个组件302-304(其提取数据的功能通过符号示出)。
图4是示出了根据本发明的作为存储在计算机可读存储介质上的程序的流程图。
具体实施方式
在优选实施例中,通过使主机101具体化的个人计算机以及使电子装置100具体化的安全智能卡读卡机来实现该方法。优选地,安全智能卡读卡机通过USB连接103连接到个人计算机。该方法包括:使用个人计算机从服务器102下载201软件模块301,该软件模块包括含有用于安全智能卡读卡机的新的或更新的应用程序或固件的有效载荷302、签名303以及可选的一组证书304。该方法进一步包括在个人计算机101处根据软件模块的内容层次检验202所述软件模块301,该软件模块优选为以DERTLV实体编码的符合PKCS#7的消息。如果检验成功203,则个人计算机101可选地重新打包205软件模块301并将其(或将其重新打包的提取的组件302-304)传送206至安全智能卡读卡机100。在第二检验207中,安全智能卡读卡机100检验在有效载荷302上的签名303,并且可选地检验在逐渐引导至预先存储的根公钥的证书链304中的每个密钥。一旦成功检验208,则安装210有效载荷302。
更普通地,本发明的方法包括在主机101处获得201软件模块301,所述软件模块301包括有效载荷302和签名303;在所述主机101处检验202所述软件模块301;一旦成功检验203,则将所述软件模块301从所述主机101传送206到电子装置100;在所述电子装置100处检验207所述签名303;如果所述第二检验成功208,则在所述电子装置100处对所述有效载荷302进行操作。如果所述第一检验不成功203,则过程失败204。如果所述第二检验不成功208,则过程失败209。
在本发明的一个实施例中,所述第一检验包括检查所述软件模块的内部结构的正确性。在更具体的实施例中,对照以ASN.1定义标准化的一组语法规则,或者更具体地对照PKCS#7消息语法,来检查所述内部结构。在其他更具体的实施例中,对照XML签名规范来检查所述内部结构。在另一具体实施例中,对照编码规则,或者更具体地对照基本编码规则或唯一编码规则,来检查所述内部结构。
在本发明的一个实施例中,所述第一检验包括检查所述签名的有效性。在更具体的实施例中,根据本发明的方法还包括在所述主机处从在所述电子装置中获得公钥被预先加载在所述电子装置中的表示。
在本发明的一组实施例中,所述软件模块进一步包括属于用于生成所述签名的密钥的一组证书,以及所述第二检验进一步包括检验所述一组证书。在一个这种实施例中,所述第一检验包括检查所述一组证书中至少一个证书的有效性,具体地通过检查是否通过验证授权正确地签署了关于公钥进行的陈述。在另一这种实施例中,所述第一检验包括检查证书的格式。在又一这种实施例中,所述第一检验包括访问关于所述一组证书中的至少一个证书的证书吊销列表。在再一这种实施例中,所述第一认证包括完成关于所述一组证书中的至少一个证书的OCSP查询。在再一实施例中,所述第一检验包括对所述一组证书中的至少一个证书检查当前日期是否在所述至少一个证书的有效期内。
本发明的一些实施例还包括在所述主机处将所述软件模块重新打包为一个或更多个组件。当多个组件得自所述重新打包时,可以以预定顺序或者在所述电子装置的请求下被传送到电子装置。
在本发明的一个实施例中,所述传送经由有线网络进行。更具体地,有线网络可以包括通用串行总线链接。在本发明的另一实施例中,所述传送经由无线网络进行。更具体地,所述无线网络可以包括蓝牙链接。
在本发明的一组实施例中,所述电子装置为智能卡读卡机。
在本发明的一个实施例中,所述第二检验包括确定所述一组证书中的第一证书是否签署有私钥,该私钥的对应公钥被预先安装在所述电子装置中。在具体实施例中,所述有效载荷为用一个不同公钥来代替所述预先安装的公钥的固件图像。
在本发明的一个实施例中,所述方法还包括在所述装载之前在所述电子装置处显示确认消息并获取用户同意表示。
在本发明的一组实施例中,对所述有效载荷的所述操作包括装载程序代码。在本发明的另一实施例中,对所述有效载荷的所述操作包括激活固件图像。在本发明的又一实施例中,对所述有效载荷的所述操作包括执行命令。在本发明的再一实施例中,对所述有效载荷的所述操作包括将公钥存储在所述电子装置中。
在根据本发明的计算机可读存储介质的普通实施例中,介质包括用于计算机的程序,当该程序被执行时使计算机能够检验401所述计算机能够访问的软件模块,所述软件模块至少包括有效载荷、属于所述有效载荷的签名、以及符合用于生成所述签名的密钥的一组证书;并且一旦成功检验402,则将所述软件模块传送405至电子装置。如果所述第一检验402不成功403,则不需要其他步骤。
在介质的一组实施例中,所述程序进一步使所述计算机:获得406属于所述签名以及所述一组证书的、表示通过所述电子装置进行第二检验的信息;以及显示407表示所述检验的信息。
在本发明的一个实施例中,所述第一检验包括检查所述软件模块的内部结构的正确性。在更具体的实施例中,对照以ASN.1定义来标准化的一组语法规则,或者更具体地对照PKCS#7消息语法,来检查所述内部结构。在其他更具体的实施例中,对照XML签名推荐的语法来检查所述内部结构。在又一具体实施例中,对照编码规则,或者更具体地对照基本编码规则和唯一编码规则来检查所述内部结构。
在计算机可读存储介质的一个实施例中,所述第一检验包括检查所述签名的有效性。在更具体的实施例中,所述介质上所包含的程序进一步使计算机从所述电子装置获得公钥被预先加载在所述电子装置中的表示。
在计算机可读存储介质的一组实施例中,所述软件模块还包括属于用于生成所述签名的密钥的一组证书。在一个这种实施例中,所述第一检验包括检查所述一组证书中至少一个证书的有效性,具体地通过检查认证授权是否正确签署了关于公钥进行的陈述。在另一个这种实施例中,所述第一检验包括检查证书的格式。在再一个这种实施例中,所述第一检验包括访问关于所述一组证书中的至少一个证书的证书吊销列表。在又一个实施例中,所述第一检验包括完成关于所述一组证书中的至少一个证书的OCSP查询。在其他实施例中,所述第一检验包括针对所述一组证书中的至少一个证书检查当前日期是否位于所述至少一个证书的有效期内。
计算机可读存储介质的一些实施例进一步包括在所述主机处将所述软件模块重新打包为一个或更多个组件。当多个组件得自所述重新打包时,这些组件可以以预定的顺序或者在所述电子装置的请求下传送到电子装置。
在介质的一个实施例中,所述传送经由有线网络进行。更具体地,有线网络可以包括通用串行总线链接。在本发明的另一实施例中,所述传送经由无线网络进行。更具体地,所述无线网络可以包括蓝牙链接。
在本发明的一组实施例中,所述电子装置为智能卡读卡机。
虽然以上描述了本发明的各个实施例,但应当理解其仅以示例性的方式而非限制进行示出。因此,本发明的宽度和范围不被以上描述的示例性实施例中的任何实施例所限制,仅根据以下权利要求及其等同物来限定。

Claims (49)

1.一种用于更新电子装置上的软件的方法,包括:
在主机处获得软件模块,所述软件模块至少包括有效载荷、以及属于所述有效载荷的签名;
在所述主机处执行所述软件模块的第一检验;
如果所述第一检验成功,则将所述软件模块从所述主机传送到电子装置;
在所述电子装置处执行所述软件模块的第二检验,所述第二检验包括使用所述电子装置中的公钥来验证所述签名;以及
如果所述第二检验成功,则在所述电子装置处对所述有效载荷进行操作。
2.根据权利要求1所述的方法,其中,所述第一检验包括检查所述软件模块的内部结构的正确性。
3.根据权利要求2所述的方法,其中,对照以ASN.1定义来标准化的一组语法规则来检查所述内部结构。
4.根据权利要求3所述的方法,其中,所述语法规则为PKCS#7消息语法的子集。
5.根据权利要求2所述的方法,其中,对照基于XML签名格式的一组语法规则来检查所述内部结构。
6.根据权利要求2所述的方法,其中,对照编码规则来检查所述内部结构。
7.根据权利要求6所述的方法,其中,所述编码规则基于基本编码规则、规范编码规则或唯一编码规则。
8.根据权利要求1所述的方法,其中,所述第一检验包括检查所述签名的有效性。
9.根据权利要求8所述的方法,进一步包括:在所述主机处从所述电子装置获得公钥被预先加载在所述电子装置中的表示。
10.根据权利要求1所述的方法,其中,所述软件模块进一步包括属于用于生成所述签名的密钥的一组证书,并且其中,所述第二检验进一步包括验证所述一组证书。
11.根据权利要求10所述的方法,其中,所述第一检验包括检查所述一组证书中的至少一个证书的有效性。
12.根据权利要求10所述的方法,其中,所述第一检验包括检查所述一组证书中的至少一个证书的格式。
13.根据权利要求10所述的方法,其中,所述第一检验包括访问关于所述一组证书中的至少一个证书的证书吊销列表。
14.根据权利要求10所述的方法,其中,所述第一检验包括完成关于所述一组证书中的至少一个证书的OCSP查询。
15.根据权利要求10所述的方法,其中,所述第一检验包括针对所述一组证书中的至少一个证书来检查当前日期是否位于所述至少一个证书的有效期内。
16.根据权利要求1所述的方法,进一步包括:在所述主机处将所述软件模块重新打包为一个或更多个组件。
17.根据权利要求1所述的方法,其中,所述传送经由有线网络进行。
18.根据权利要求17所述的方法,其中,所述有线网络包括至少一个通用串行总线链接。
19.根据权利要求1所述的方法,其中,所述传送经由无线网络进行。
20.根据权利要求19所述的方法,其中,所述无线网络包括至少一个蓝牙链接。
21.根据权利要求1所述的方法,其中,所述电子装置包括智能卡读卡机。
22.根据权利要求10所述的方法,其中,所述第二检验包括确定所述一组证书中的第一证书是否签署有私钥,所述私钥的对应公钥被预先装载在所述电子装置中。
23.根据权利要求1所述的方法,进一步包括:在对所述有效载荷进行操作之前在所述电子装置处显示确认消息并获取用户同意表示。
24.根据权利要求1所述的方法,其中,所述有效载荷包括程序代码,以及所述对所述有效载荷进行操作包括安装所述程序代码。
25.根据权利要求1所述的方法,其中,所述有效载荷包括固件图像,以及所述对所述有效载荷进行操作包括激活所述固件图像。
26.根据权利要求1所述的方法,其中,所述有效载荷包括命令,以及所述对所述有效载荷进行操作包括执行所述命令。
27.根据权利要求1所述的方法,其中,所述有效载荷包括公钥,以及所述对所述有效载荷进行操作包括将所述公钥存储在所述电子装置中。
28.一种包括程序的计算机可读存储介质,所述程序在被执行时使计算机:
执行对所述计算机可访问的软件模块的第一检验,所述软件模块至少包括有效载荷、以及属于所述有效载荷的签名;以及
如果所述第一检验成功,则将所述软件模块传送到电子装置。
29.根据权利要求28所述的介质,其中,所述程序进一步使计算机:
获得表示所述电子装置对所述软件模块的第二检验的信息,所述第二检验包括使用所述电子装置中的公钥来验证所述签名;以及
显示表示所述第二检验的消息。
30.根据权利要求28所述的介质,其中,所述第一检验包括检查所述软件模块的内部结构的正确性。
31.根据权利要求30所述的介质,其中,对照以ASN.1定义来标准化的一组语法规则来检查所述内部结构。
32.根据权利要求31所述的介质,其中,所述语法规则为属于PKCS#7消息语法的子集。
33.根据权利要求30所述的介质,其中,对照基于XML签名格式的一组语法规则来检查所述内部结构。
34.根据权利要求30所述的介质,其中,对照编码规则来检查所述内部结构。
35.根据权利要求34所述的介质,其中,所述编码规则基于基本编码规则、规范编码规则或唯一编码规则。
36.根据权利要求28所述的介质,其中,所述第一检验包括检查所述签名的有效性。
37.根据权利要求36所述的介质,其中,进一步使所述计算机从所述电子装置获得公钥被预先加载在所述电子装置中的表示。
38.根据权利要求28所述的介质,其中,所述软件模块进一步包括属于用于生成所述签名的密钥的一组证书。
39.根据权利要求38所述的介质,其中,所述第一检验包括检查所述一组证书中的至少一个证书的有效性。
40.根据权利要求38所述的介质,其中,所述第一检验包括检查所述一组证书中的至少一个证书的格式。
41.根据权利要求38所述的介质,其中,所述第一检验包括访问关于所述一组证书中的至少一个证书的证书吊销列表。
42.根据权利要求38所述的介质,其中,所述第一检验包括完成关于所述一组证书中的至少一个证书的OCSP查询。
43.根据权利要求38所述的介质,其中,所述第一检验包括针对所述一组证书中的至少一个证书来检查当前日期是否位于所述至少一个证书的有效期内。
44.根据权利要求28所述的介质,其中,进一步使所述计算机将所述软件模块重新打包为一个或更多个组件。
45.根据权利要求28所述的介质,其中,所述传送经由有线网络进行。
46.根据权利要求45所述的介质,其中,所述有线网络包括至少一个通用串行总线链接。
47.根据权利要求28所述的介质,其中,所述传送经由无线网络进行。
48.根据权利要求47所述的介质,其中,所述无线网络包括至少一个蓝牙链接。
49.根据权利要求28所述的介质,其中,所述电子装置包括智能卡读卡机。
CN200980139467.1A 2008-09-02 2009-09-01 为电子装置提供可信软件的方法 Expired - Fee Related CN102171652B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/202,822 US20100058317A1 (en) 2008-09-02 2008-09-02 Method for provisioning trusted software to an electronic device
US12/202,822 2008-09-02
PCT/US2009/055602 WO2010027970A1 (en) 2008-09-02 2009-09-01 Method for provisioning trusted software to an electronic device

Publications (2)

Publication Number Publication Date
CN102171652A true CN102171652A (zh) 2011-08-31
CN102171652B CN102171652B (zh) 2016-08-10

Family

ID=41727215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980139467.1A Expired - Fee Related CN102171652B (zh) 2008-09-02 2009-09-01 为电子装置提供可信软件的方法

Country Status (8)

Country Link
US (1) US20100058317A1 (zh)
EP (1) EP2340483B1 (zh)
CN (1) CN102171652B (zh)
BR (1) BRPI0917898A2 (zh)
CA (1) CA2735387C (zh)
PL (1) PL2340483T3 (zh)
TR (1) TR201902826T4 (zh)
WO (1) WO2010027970A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102538A (zh) * 2013-04-09 2014-10-15 联想(北京)有限公司 信息处理的方法及电子设备
CN104378144A (zh) * 2014-10-10 2015-02-25 惠州市博泰通讯设备有限公司 蓝牙设备软件安装方法和系统
CN104756131A (zh) * 2012-09-19 2015-07-01 交互数字专利控股公司 分层认证
CN107078866A (zh) * 2014-11-10 2017-08-18 华为技术有限公司 低有效负荷确认的系统和方法
WO2018001365A1 (zh) * 2016-07-01 2018-01-04 惠州Tcl移动通信有限公司 一种基于移动终端的软件下载方法及系统
US10495947B2 (en) 2016-07-22 2019-12-03 Jrd Communication Inc. Smart flashlight control method and mobile terminal
US10813104B2 (en) 2016-07-12 2020-10-20 Jrd Communication Inc. Resource allocation method and system in wireless mobile communication

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010001324A2 (en) * 2008-06-30 2010-01-07 Mominis Ltd Method of generating and distributing a computer application
US8473753B2 (en) * 2010-09-15 2013-06-25 International Business Machines Corporation Real-time secure self-acquiring root authority
US9264235B2 (en) * 2010-11-16 2016-02-16 Blackberry Limited Apparatus, system and method for verifying server certificates
CN103460195B (zh) 2011-02-11 2016-04-13 西门子医疗保健诊断公司 用于安全软件更新的系统和方法
US8918907B2 (en) * 2011-04-13 2014-12-23 Phoenix Technologies Ltd. Approaches for firmware to trust an application
US20140090019A1 (en) * 2011-05-19 2014-03-27 Nippon Hoso Kyokai Integrated broadcasting communications receiver, resource access controlling program, and integrated broadcasting communications system
US9111099B2 (en) * 2011-05-31 2015-08-18 Red Hat, Inc. Centralized kernel module loading
US9881151B2 (en) * 2011-08-31 2018-01-30 Lenovo (Singapore) Pte. Ltd. Providing selective system privileges on an information handling device
US9558348B1 (en) * 2012-03-01 2017-01-31 Mcafee, Inc. Ranking software applications by combining reputation and code similarity
US9274816B2 (en) 2012-12-21 2016-03-01 Mcafee, Inc. User driven emulation of applications
US20170031676A1 (en) 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
WO2017041860A1 (de) * 2015-09-11 2017-03-16 Siemens Aktiengesellschaft Erhöhen einer zuverlässigkeit einer software
US10164963B2 (en) * 2015-10-23 2018-12-25 Oracle International Corporation Enforcing server authentication based on a hardware token
DE102015016750A1 (de) * 2015-12-23 2017-06-29 Giesecke & Devrient Gmbh Validierung und Ausführung von Provisionierungsdaten auf Appliances
CN109416799B (zh) * 2016-05-13 2022-06-28 曼内理方案公司 用于支付处理的设备和方法
US10430170B2 (en) * 2016-10-31 2019-10-01 Servicenow, Inc. System and method for creating and deploying a release package
CN106790247A (zh) * 2017-01-23 2017-05-31 青岛海信移动通信技术股份有限公司 一种Android系统升级的方法和装置
EP3489853B1 (en) 2017-11-27 2021-02-24 Schneider Electric Industries SAS A method for providing a firmware update of a device
US10977024B2 (en) * 2018-06-15 2021-04-13 Sierra Wireless, Inc. Method and apparatus for secure software update
RU2704528C1 (ru) * 2019-03-13 2019-10-29 Акционерное общество "Актив-софт" Способ использования смарт-карты, предназначенной для операционной системы java и имеющей производственный дефект
US11431510B1 (en) * 2020-04-30 2022-08-30 Wells Fargo Bank, N.A. Code-sign white listing (CSWL)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064741A1 (en) * 2002-06-20 2004-04-01 Nokia Corporation Method , system and devices for transferring accounting information
US20050154879A1 (en) * 2004-01-09 2005-07-14 David Engberg Batch OCSP and batch distributed OCSP
US20080133929A1 (en) * 2004-10-11 2008-06-05 Christian Gehrmann Secure Loading And Storing Of Data In A Data Processing Device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6775771B1 (en) * 1999-12-14 2004-08-10 International Business Machines Corporation Method and system for presentation and manipulation of PKCS authenticated-data objects
FI20010596A0 (fi) * 2001-03-22 2001-03-22 Ssh Comm Security Oyj Turvallisuusjärjestelmä tietoliikenneverkkoa varten
EP1633094B1 (en) * 2001-10-25 2007-03-28 Research In Motion Limited Multiple-stage system and method for processing encoded messages
WO2004075505A1 (en) * 2003-02-21 2004-09-02 Telecom Italia S.P.A. Method and system for controlling the distribution of a programming code to a network access device
US20040196842A1 (en) * 2003-04-04 2004-10-07 Dobbins Kurt A. Method and system for according preferred transport based on node identification
US7584466B1 (en) * 2003-06-16 2009-09-01 Hewlett-Packard Development Company, L.P. Management tree management in a mobile handset
US7305254B2 (en) * 2003-07-17 2007-12-04 Sony Ericsson Mobile Communications Ab System and method of software transfer between a mobile phone and a mobile phone accessory
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US8478907B1 (en) * 2004-10-19 2013-07-02 Broadcom Corporation Network interface device serving multiple host operating systems
US9489496B2 (en) * 2004-11-12 2016-11-08 Apple Inc. Secure software updates
JP5181094B2 (ja) * 2006-05-05 2013-04-10 インターデイジタル テクノロジー コーポレーション 信頼される処理技術を使用したデジタル権利管理
US20080022380A1 (en) * 2006-05-25 2008-01-24 Gemalto, Inc. Method of patching applications on small resource-constrained secure devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064741A1 (en) * 2002-06-20 2004-04-01 Nokia Corporation Method , system and devices for transferring accounting information
US20050154879A1 (en) * 2004-01-09 2005-07-14 David Engberg Batch OCSP and batch distributed OCSP
US20080133929A1 (en) * 2004-10-11 2008-06-05 Christian Gehrmann Secure Loading And Storing Of Data In A Data Processing Device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104756131A (zh) * 2012-09-19 2015-07-01 交互数字专利控股公司 分层认证
CN104756131B (zh) * 2012-09-19 2017-07-11 交互数字专利控股公司 分层认证
CN104102538A (zh) * 2013-04-09 2014-10-15 联想(北京)有限公司 信息处理的方法及电子设备
CN104102538B (zh) * 2013-04-09 2018-02-27 联想(北京)有限公司 信息处理的方法及电子设备
CN104378144A (zh) * 2014-10-10 2015-02-25 惠州市博泰通讯设备有限公司 蓝牙设备软件安装方法和系统
CN107078866A (zh) * 2014-11-10 2017-08-18 华为技术有限公司 低有效负荷确认的系统和方法
CN107078866B (zh) * 2014-11-10 2020-01-31 华为技术有限公司 低有效负荷确认的系统和方法
WO2018001365A1 (zh) * 2016-07-01 2018-01-04 惠州Tcl移动通信有限公司 一种基于移动终端的软件下载方法及系统
US10511965B2 (en) 2016-07-01 2019-12-17 Huizhou Tcl Mobile Communication Co., Ltd. Method and system for downloading software based on mobile terminal
US10813104B2 (en) 2016-07-12 2020-10-20 Jrd Communication Inc. Resource allocation method and system in wireless mobile communication
US10495947B2 (en) 2016-07-22 2019-12-03 Jrd Communication Inc. Smart flashlight control method and mobile terminal

Also Published As

Publication number Publication date
WO2010027970A1 (en) 2010-03-11
TR201902826T4 (tr) 2019-03-21
EP2340483A4 (en) 2014-02-05
CA2735387A1 (en) 2010-03-11
US20100058317A1 (en) 2010-03-04
EP2340483B1 (en) 2018-11-28
CN102171652B (zh) 2016-08-10
BRPI0917898A2 (pt) 2015-12-01
CA2735387C (en) 2014-11-18
PL2340483T3 (pl) 2019-07-31
EP2340483A1 (en) 2011-07-06

Similar Documents

Publication Publication Date Title
CN102171652A (zh) 为电子装置提供可信软件的方法
CN110088759B (zh) 用于可编程设备的统一编程环境
CN111080295B (zh) 一种基于区块链的电子合同处理方法以及设备
CN111492624B (zh) 用于控制和/或监控装置的方法和控制系统
US11258792B2 (en) Method, device, system for authenticating an accessing terminal by server, server and computer readable storage medium
CN110050273B (zh) 利用系统产生的装置程序化
CN1985466B (zh) 使用分发cd按签署组向设备传递直接证据私钥的方法
CN110535648B (zh) 电子凭证生成及验证和密钥控制方法、装置、系统和介质
EP2549401A1 (en) Method and System for Provision of Cryptographic Services
US8417640B2 (en) Secure license key method and system
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN106936588B (zh) 一种硬件控制锁的托管方法、装置及系统
WO2018017609A1 (en) Secure asynchronous communications
CN103107996A (zh) 数字证书在线下载方法及系统、数字证书发放平台
CN104412273A (zh) 用于进行激活的方法和系统
EP1785901B1 (en) Secure License Key Method and System
CN114267100B (zh) 开锁认证方法、装置、安全芯片及电子钥匙管理系统
CN114282193A (zh) 一种应用授权方法、装置、设备及存储介质
TW202123651A (zh) 利用系統產生的裝置程式化
CN109787768A (zh) 一种身份验证配置方法、装置及计算机可读存储介质
CN111492355A (zh) 用于控制和/或监控装置的方法和控制系统
CN101060400B (zh) 数据生成装置、数据分析装置、控制方法和数据处理系统
CN112653556A (zh) 一种基于token的微服务安全认证方法、装置、存储介质
CN110798322A (zh) 一种操作请求方法、装置、存储介质及处理器
CN112583594B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160810

Termination date: 20200901