CN102227732B - 用于管理软件版本的方法、装置和计算机程序产品 - Google Patents

用于管理软件版本的方法、装置和计算机程序产品 Download PDF

Info

Publication number
CN102227732B
CN102227732B CN200980147474.6A CN200980147474A CN102227732B CN 102227732 B CN102227732 B CN 102227732B CN 200980147474 A CN200980147474 A CN 200980147474A CN 102227732 B CN102227732 B CN 102227732B
Authority
CN
China
Prior art keywords
safety certificate
certificate
software version
software
trusted
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
Application number
CN200980147474.6A
Other languages
English (en)
Other versions
CN102227732A (zh
Inventor
J·塔卡拉
O·P·J·米卡
R·J·塔米南
J·J·雅维南
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN102227732A publication Critical patent/CN102227732A/zh
Application granted granted Critical
Publication of CN102227732B publication Critical patent/CN102227732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 chains, trees or paths; Hierarchical trust model

Landscapes

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

Abstract

一种用于管理软件版本的装置可以包括处理器。处理器可以被配置成确定第一安全证书的安全标识符是否与受信的安全标识符匹配。就这一点而言,第一安全证书可以包括软件版本标准。处理器也可以被配置成确定软件应用的软件版本是否满足第一安全证书的软件版本标准。处理器可以被配置成响应于确定第一证书的安全标识符与受信的安全标识符匹配来进行这一确定。另外,处理器也可以被配置成响应于确定软件版本满足软件版本标准来允许执行软件应用。还可以提供关联方法和计算机程序产品。

Description

用于管理软件版本的方法、装置和计算机程序产品
技术领域
本发明的各种实施方式总体上涉及软件安装,并且更具体地,涉及一种用于管理软件版本的方法、装置和计算机程序产品。
背景技术
现代通信时代已经带来有线和无线网络的极大扩张。已经开发各种类型的联网技术使得受消费者需求所激发的计算机网络、电视网络、电话网络等前所未有的扩张。无线和移动联网技术已经在提供信息传送的更多灵活性和即时性的同时,解决了有关消费者的需求。
用于执行应用、传达数据和存储数据的有线和/或无线设备已经变成了商务和社交环境中的重要工具。个人已经变得依赖于这些设备以完成每日的任务,具体是涉及到数据共享和通信的任务。用户需要这些通信能力,因而满足客户需求的网络提供商这样做的同时针对提供的服务收取费用。
在一些实例中,为了避免支付通信费,黑客可能尝试利用在通信设备执行的软件中的安全故障。例如,黑客可以识别出在通信设备如蜂窝电话或者其它移动终端执行的软件中的弱点。黑客然后可以利用该弱点以免费通信、在未批准的蜂窝通信系统上使用蜂窝电话或者利用蜂窝电话的或者支持该设备的通信系统的其它功能。
发明内容
描述了一种以可以防止软件降级至过期或者更旧版本的方式用于软件管理的方法、装置和计算机程序产品。本发明的示例实施方式可以使用证书(例如,安全证书)以验证恰当软件版本安装于设备如计算或者通信设备上。在一些示例实施方式中,证书可以与设备(例如,硬件证书)关联,而另一证书可以与特定版本的软件应用关联(例如,共同配置证书)。可以用设备的公用标识符认证硬件证书。在认证硬件证书之后,可以认证共同配置证书,并且可以按照硬件证书的安全证书版本标准验证共同配置证书的版本。如果认证了共同配置证书并且验证了版本,则可以验证设备上安装的软件的版本并且可以批准允许执行软件。还应当注意,尽管上文描述涉及一个运用两个安全证书的示例实施方式,但是一些示例实施方式可以运用一个安全证书。
在一个示例实施方式中,提供一种用于管理软件版本的方法。示例方法可以包括确定第一安全证书的安全标识符是否与受信的安全标识符匹配。就这一点而言,第一安全证书可以包括软件版本标准。示例方法也可以包括确定软件应用的软件版本是否满足第一安全证书的软件版本标准。可以响应于确定第一证书的安全标识符与受信的安全标识符匹配来进行这一确定。另外,该方法也可以包括响应于确定软件版本满足软件版本标准来允许处理器执行软件应用。
在另一示例实施方式中,提供了一种用于管理软件版本的装置。该装置可以包括处理器。处理器可以被配置成确定第一安全证书的安全标识符是否与受信的安全标识符匹配。就这一点而言,第一安全证书可以包括软件版本标准。处理器也可以被配置成确定软件应用的软件版本是否满足第一安全证书的软件版本标准。处理器可以被配置成响应于确定第一证书的安全标识符与受信的安全标识符匹配来进行这一确定。另外,处理器也可以被配置成响应于确定软件版本满足软件版本标准来允许执行软件应用。
在另一示例实施方式中,提供一种用于管理软件版本的计算机程序产品。计算机程序产品可以包括一个或者多个计算机可读存储介质,该存储介质具有存储于其中的可执行的计算机可读程序代码指令。计算机可读程序代码指令可以被配置成确定第一安全证书的安全标识符是否与受信的安全标识符匹配。就这一点而言,第一安全证书可以包括软件版本标准。计算机可读程序代码指令也可以被配置成确定软件应用的软件版本是否满足第一安全证书的软件版本标准。计算机可读程序代码指令可以被配置成响应于确定第一证书的安全标识符与受信的安全标识符匹配来进行这一确定。另外,计算机可读程序代码指令也可以被配置成响应于确定软件版本满足软件版本标准来允许执行软件应用。
在又一示例实施方式中,提供一种用于管理软件版本的装置。示例装置可以包括用于确定第一安全证书的安全标识符是否与受信的安全标识符匹配的装置。就这一点而言,第一安全证书可以包括软件版本标准。示例装置也可以包括用于确定软件应用的软件版本是否满足第一安全证书的软件版本标准的装置。可以响应于确定第一证书的安全标识符与受信的安全标识符匹配来进行这一确定。另外,该装置也可以包括用于响应于确定软件版本满足软件版本标准来允许执行软件应用的装置。
附图说明
已经这样一般性地描述了本发明,现在将参照未必按比例绘制的以下附图:
图1a和图1b描绘了根据本发明示例实施方式的包括用于管理软件版本的安全证书的关系图;
图2是根据本发明各种示例实施方式的用于管理软件版本的装置的示意框图;以及
图3和图4是根据本发明各种示例实施方式的用于管理软件版本的方法的流程图。
具体实施方式
现在下文将参照其中示出本发明的一些但是并非所有实施方式的附图更全面地描述本发明的实施方式。实际上,本发明可以以许多不同形式来实施而不应理解为限于这里阐述的实施方式;实际上,提供这些实施方式使得本公开内容将满足适用法律要求。贯穿全文,相似的参考标号指代相似的元素。如这里所用,术语“数据”、“内容”、“信息”和类似术语可互换用来指代能够根据本发明的实施方式来发送、接收、操作和/或存储的数据。如这里所用,短语软件版本可以指代整个软件应用或者软件应用的仅部分或者成分的版本。如这里所用术语“证书”可以指代可以使用任何已知方案(例如私用/公用密钥方案)来签名的任何签名数据块。另外,提供如这里所用术语“示例性”并非为了传达任何定性评价而代之以仅传达举例说明。
图1a描绘了根据本发明各种示例实施方式的包括安全证书的关系图。就这一点而言,可以在用于管理软件版本的方案中包括硬件证书105和共同配置证书125(统称为安全证书)。在一些示例实施方式中,硬件证书105和共同配置证书125的实现允许更新或者升级软件版本。另外,在一些示例实施方式中,硬件证书105和共同配置证书125的实现也防止改变成更旧或者不希望的软件版本。
运用硬件证书105和共同配置证书125的示例实施方式提供在设备的唯一公用标识符与特定软件版本之间的安全纽带以保证设备正在利用恰当软件版本。就这一点而言,硬件证书105可以与设备更紧密地关联,而共同配置证书125可以与软件版本更紧密地关联。在可以安全认证的硬件证书105与共同配置证书125之间的关系可以有助于升级设备上的软件同时也提供安全特征。
一般而言,根据一些示例实施方式,可以在向设备引入更新的软件版本时在该设备上更新共同配置证书125。硬件证书105的标准可以用来验证共同配置证书125正确并且由此验证软件版本对于设备而言恰当。在确定在设备上安装恰当软件版本之后,可以允许软件由设备执行。就这一点而言,软件版本可以对于设备而言恰当,不仅因为软件是更新版本,还因为软件版本对于设备的特定配置(例如设备变体)而言是恰当的。
就这一点而言,可以经由设备的唯一公用标识符来标识设备的特定配置。例如,可以在存储设备配置信息的数据库中查询公用标识符。然而,硬件证书105和共同配置证书125的实现可以有助于以无需要求针对每次新软件安装来验证设备的公用标识符这样的方式来更新软件。相反地,使用比设备的唯一公用标识符更通用的标准的在硬件证书105与共同配置证书125之间的示例认证过程可以用于更新软件版本而无在每次安装新软件版本于设备上时涉及到唯一公用标识符这样的复杂性。以这一方式,可以简化设备制造(其中安装新软件版本),因为无需经由唯一公用标识符来验证每次安装。
再次参照图1a,公用标识符100可以是在能够执行软件应用的硬件设备上驻留的硬编码值或者不可修改值。公用标识符100可以存储于集成电路如只读存储器设备上。在一些示例实施方式中,公用标识符100可以用私用密钥来签名和/或与私用密钥关联。另外,公用标识符100可以对特定关联设备是唯一的。这样,公用标识符100可以用来标识设备或者设备变体的特定配置。例如在设备为蜂窝电话的实施方式中,设备的配置可以不仅包括蜂窝电话的硬件配置而且包括可以与蜂窝电话关联的网络提供商。就这一点而言,网络提供商可以提供将要求专门化软件支持的特有服务。
软件应用145可以是用于由与公用标识符100关联的设备执行的任何软件应用。在一些示例实施方式中,软件应用145可以是用于设备的操作系统。软件应用145可以具有和/或包括软件版本150,该软件版本可以是编号、日期、大小(例如以千字节等为单位)、其组合等。软件版本150可以用私用密钥来签名和/或与私用密钥关联以有助于软件应用145的安全认证。
硬件证书105可以对硬件设备(例如计算机、移动终端等)是唯一的并且可以存储于设备的存储器中。硬件证书105可以与公用标识符110、共同配置证书标识符115和共同配置证书版本标准120关联或者包括它们。
硬件证书105的公用标识符110可以匹配设备的公用标识符100。在硬件证书105的公用标识符110与设备的公用标识符100之间的关系可以用来认证硬件证书105。在一些示例实施方式中,公用标识符110可以用私用密钥来签名和/或与私用密钥关联以有助于硬件证书105的安全认证。经由公用标识符110认证硬件证书失败可以防止在设备上执行软件。
共同配置证书标识符115可以是可以在认证共同配置证书125时使用的值。经由共同配置证书标识符115认证共同配置证书125失败可以防止执行与该共同配置证书关联的软件。共同配置证书标识符115可以用私用密钥来签名和/或与私用密钥关联以有助于共同配置证书125的安全认证。
共同配置证书版本标准120可以是用来确定共同配置证书125是否为恰当版本的标准。就这一点而言,可以配置共同配置证书版本标准120使得该标准可以确定共同配置证书125是否与为恰当版本的软件关联并且被配置用于恰当设备变体。通过使用共同配置证书版本标准120,可以检测不适当的共同配置证书,并且可以防止执行与不适当的共同配置证书关联的软件。在一些示例实施方式中,共同配置证书版本标准120可以包括用于共同配置证书125的阈值版本值。就这一点而言,版本值高于或者等于阈值版本值的共同配置证书可以满足共同配置证书版本标准120的至少一个方面。共同配置证书版本标准120可以用私用密钥来签名和/或与私用密钥关联以有助于在应用标准之前的安全认证。
共同配置证书125可以与软件应用145关联。在一些示例实施方式中,共同配置证书可以是特定软件应用的所有安装所共用的。共同配置证书125可以存储于设备的存储器中。共同配置证书125可以包括共同配置证书标识符130、共同配置证书版本135和软件版本标准140。
共同配置证书标识符130可以是可以在用硬件证书105认证共同配置证书125时使用的值。就这一点而言,在一些示例实施方式中,如果硬件证书的共同配置证书标识符115与共同配置证书125的共同配置证书标识符130匹配,则可以认证共同配置证书125。经由共同配置证书标识符130认证共同配置证书失败可以防止执行与该共同配置证书关联的软件。类似于共同配置证书标识符115,共同配置证书标识符130可以用私用密钥来签名和/或与私用密钥关联以有助于共同配置证书125的安全认证。
如上文所述,共同配置证书版本135可以应用于硬件证书105的共同配置证书版本标准120以确定共同配置证书版本135是否满足共同配置证书版本标准120。共同配置证书版本满足共同配置证书版本标准120的失败可以造成防止执行与共同配置证书关联的软件。类似于共同配置证书标识符标准120,共同配置证书版本135可以用私用密钥来签名和/或与私用密钥关联以有助于共同配置证书版本135的安全认证。
软件版本标准140可以是用来确定软件版本150是否为用于共同配置证书125的恰当版本的标准。软件版本标准140可以贡献用于保证共同配置证书125未与不适当的软件版本结合使用的附加安全水平。这样,通过使用软件版本标准140,可以检测不适当的软件应用,并且可以防止执行这些软件应用。在一些示例实施方式中,软件版本标准140可以包括用于软件版本150的阈值版本值。就这一点而言,版本值高于或者等于比阈值版本值软件应用可以满足软件版本标准140。软件版本标准140可以用私用密钥来签名和/或与私用密钥关联以有助于在向软件版本150应用标准之前的安全认证。
图1b描绘了用于管理软件版本的一个替代实施方式的关系图。就这一点而言,与图1b关联的示例方案利用单个安全证书155。安全证书155可以对硬件设备(例如计算机、移动终端等)是唯一的并且可以存储于设备的存储器中。安全证书155可以与公用标识符160和软件版本标准165关联或者包括它们。
安全证书155的公用标识符160可以与如上文所述设备的公用标识符100关联。在安全证书155的公用标识符160与设备的公用标识符100之间的关系可以用来认证安全证书155。在一些示例实施方式中,公用标识符160可以用私用密钥来签名和/或与私用密钥关联以有助于安全证书155的安全认证。经由公用标识符160认证安全证书155失败可以防止在设备上执行软件。
软件版本标准165可以是用来确定软件版本150是否为用于在设备上执行的恰当版本的标准。通过使用软件版本标准165,可以检测不适当的软件应用,并且可以防止执行这些软件应用。在一些示例实施方式中,软件版本标准165可以包括用于软件版本150的阈值版本值。就这一点而言,版本值高于或者等于阈值版本值的软件应用可以满足软件版本标准165。软件版本标准165可以用私用密钥来签名和/或与私用密钥关联以有助于在向软件版本150应用标准之前的安全认证。
图2图示了可以用于如这里描述的那样管理软件版本的示例装置200。在一些示例实施方式中,可以实施装置200作为具有有线或者无线通信能力的计算设备和/或通信设备或者包括装置200作为该计算设备和/或通信设备的部件。装置200的一些示例可以包括计算机、服务器、移动终端(比如移动电话、便携式数字助理(PDA)、寻呼机、移动电视、游戏设备、移动计算机、膝上型计算机、相机、视频记录器、音频/视频播放器、无线电和/或全球定位系统(GPS)设备)、网络实体(比如接入点(比如基站))或者前述装置的任何组合等。另外,装置200可以被配置成实施如这里描述的本发明的各种方面(例如包括本发明的各种示例方法),其中借助硬件或者软件配置的处理器、计算机可读介质等实施方法。
装置200可以包括处理器205和存储器设备210(可以但是无需包括用于公用标识符211的只读存储器储存器)或者与它们通信。就这一点而言,在一些示例实施方式中,用于公用标识符211的存储器储存器与存储器设备210分离。另外,在一些实施方式(比如其中装置200为移动终端的实施方式)中,装置200也可以包括通信接口215和/或用户接口225。可以将处理器205实施为各种装置,这些装置例如包括微处理器、协同处理器、控制器或者各种其它处理设备(包括集成电路(例如,ASIC(专用集成电路)、FPGA(现场可编程门阵列)或者硬件加速器))。在一个示例实施方式中,处理器205被配置成执行存储器设备210中存储的指令或者以其它方式可由处理器205访问的指令。处理器205也可以被配置成例如通过控制通信接口中包括的硬件和/或软件来有助于经由通信接口的通信。
存储器设备210可以被配置成存储在实施本发明的实施方式时涉及到的各种信息,比如安全证书(例如,硬件证书和共同配置证书)。存储器设备210可以是计算机可读存储介质,该存储介质可以包括易失性和/或非易失性存储器。例如,存储器设备210可以包括随机存取存储器(RAM)(包括动态和/或静态RAM、片上或者片外高速缓存存储器等)。另外,存储器设备210可以包括非易失性存储器(可以为嵌入的和/或为可拆卸的)并且可以例如包括只读存储器、闪存、磁存储设备(例如,硬盘、软盘驱动、磁带等)、光盘驱动和/或介质、非易失性随机存取存储器(NVRAM)等。存储器设备210可以包括用于暂时存储数据的高速缓存区。就这一点,可以在处理器205内包括一些或者所有存储器设备210。
另外,存储器设备210可以被配置成存储用于使处理器205和装置200能够执行根据本发明的示例实施方式的各种功能的信息、数据、应用、计算机可读程序代码指令等。例如,存储器设备210可以被配置成缓冲用于由处理器205处理的输入数据。除此之外或者取而代之,存储器设备210可以被配置成存储用于由处理器205执行的指令。
用户接口225可以与处理器205通信以接收在用户接口225的用户输入和/或向用户提供例如作为可听、可视、机械或者其它输出指示的输出。用户接口225可以例如包括键盘、鼠标、操纵杆、显示器(例如,触屏显示器)、麦克风、扬声器或者其它输入/输出机制。
通信接口215可以是配置成从网络接收数据或者向网络发送数据的以硬件、软件或者硬件和软件的组合实施的任何设备或者装置和/或与装置200通信的任何其它设备或者模块。就这一点而言,通信接口215可以例如包括天线、发送器、接收器、收发器和/或支持硬件(包括用于实现与网络220通信的处理器或者软件)。经由通信接口215和网络220,装置200可以与各种其它网络实体通信。
通信接口215可以被配置成用于根据任何有线或者无线通信标准的通信。例如,通信接口215可以被配置成用于根据第二代(2G)无线通信协议IS-136(时分多址(TDMA)、GSM(全球移动通信系统)、IS-95(码分多址(CDMA))、第三代(3G)无线通信协议(比如通用移动电信系统(UMTS)、CDMA2000、宽带CDMA(WCDMA)和时分同步CDMA(TD-SCDMA))、第3.9代(3.9G)无线通信协议(例如,演进型通用陆地无线电接入网络(E-UTRAN)、第四代(4G)无线通信协议)、国际移动电信高级(IMT-高级)协议、长期演进(LTE)协议(包括LTE-高级)等的通信。另外,通信接口215可以被配置成用于根据技术例如射频(RF)、红外(IrDA)或者多个不同无线联网技术(包括WLAN技术如IEEE 802.11(例如802.11a、802.11b、802.11g、802.11n等)、无线局域网(WLAN)协议、全球微波接入互操作性(WiMAX)技术(比如IEEE 802.16)和/或无线个人区域网(WPAN)技术比如IEEE 802.15、蓝牙(BT)、超宽带(UWB)等)中的任何技术的通信。
装置200的证书管理器240和应用管理器245可以是以硬件、软件或者硬件和软件的组合实施的任何装置或者设备,比如实施软件指令的处理器205或者硬件配置的处理器205,该处理器被配置成执行如这里描述的证书管理器240和/或应用管理器245的功能。在一个示例实施方式中,处理器205可以包括或者以别的方式控制证书管理器240和/或应用管理器245。在各种示例实施方式中,证书管理器240和/或应用管理器245可以驻留于不同装置上使得证书管理器240和/或应用管理器245的一些或者所有功能性可以由第一装置执行而证书管理器240和/或应用管理器245的其余功能性可以由一个或者多个其它装置执行。
在一些示例实施方式中,证书管理器240可以被配置成将软件应用与第一安全证书一起接收。就这一点而言,第一安全证书可以与软件应用关联。
证书管理器240也可以被配置成确定第一安全证书的安全标识符是否与受信的安全标识符关联。在一些示例实施方式中,安全标识符是共同配置证书的共同配置证书标识符(例如,共同配置证书标识符135),而受信的安全标识符是硬件证书的共同配置证书标识符(例如,共同配置证书标识符115)。在一些示例实施方式中,安全标识符是安全证书的公用标识符(例如,公用标识符160),而受信的安全标识符是设备的公用标识符(例如,公用标识符100)。另外,在一些示例实施方式中,检测第一安全证书的安全标识符是否与受信的安全标识符匹配涉及到利用签名的安全标识符和/或私用密钥以认证第一安全证书的安全标识符。
证书管理器240也可以被配置成确定软件应用的软件版本是否满足第一安全证书的软件版本标准。就这一点而言,第一安全证书可以包括软件版本标准。在一些示例实施方式中,证书管理器240被配置成响应于确定第一证书的安全标识符与受信的安全标识符匹配来确定软件应用的软件版本是否满足第一安全证书的软件版本标准。在一些示例实施方式中,具有阈值软件版本或者比阈值软件版本更高的软件版本的软件应用可以满足软件版本标准。根据各种实施方式,更高版本可以包括任何渐进或者依次的排序增加,其中下一更高版本可以是更近来已经发布的。在一些示例实施方式中,更高版本的指示可以由字母-数字字符的任何汇集指示。
在一些示例实施方式中,证书管理器240也被配置成通过验证第二安全证书的设备标识符与受信的设备标识符匹配来认证受信的安全标识符。就这一点而言,在一些示例实施方式中,可以通过验证第二安全证书的设备标识符(例如,硬件证书105的公用标识符110)与受信的设备标识符(例如,公用标识符100)匹配来认证受信的安全标识符(例如,硬件证书105的共同配置证书标识符115)。在一些示例实施方式中,受信的设备标识符是与装置200关联的唯一的、不可修改的值。
另外,在一些示例实施方式中,证书管理器240也被配置成确定第一安全证书的安全证书版本是否满足第二安全证书的安全证书版本标准。在一些示例实施方式中,证书管理器240也可以被配置成确定第一安全证书的安全证书版本(例如,共同配置证书版本135)是否满足第二安全证书的安全证书版本标准(例如,共同配置证书版本标准120)。就这一点,第二安全证书可以包括安全证书版本标准。与可接受的预先限定的设备变体关联的值可以满足安全证书版本标准。另外,证书管理器240也可以被配置成确定第一安全证书的安全证书版本是否满足第二安全证书的安全证书版本标准并且响应于认证受信的安全标识符来确定第一安全证书的安全标识符是否与受信的安全标识符匹配。
应用管理器245可以被配置成响应于确定与软件应用关联的软件版本是否满足第一安全证书的软件版本标准来允许执行该软件应用。在一些示例实施方式中,应用管理器245被配置成如这里描述的那样响应于认证硬件证书(例如,硬件证书105)和共同配置证书(例如,共同配置证书125)来允许执行软件应用。另外,在一些示例实施方式中,应用管理器245被配置成响应于认证单个安全证书(例如安全证书155)来允许执行软件应用。
图3和图4图示了根据本发明示例实施方式的系统、方法和计算机程序产品的流程图。将理解可以通过各种手段实施流程图的各框、步骤或者操作和/或者流程图中的框、步骤或者操作的组合。用于实施流程图的框、步骤或者操作和/或流程图中的框、步骤或者操作的组合的手段可以包括硬件、固件和/或软件(包括一个或者多个计算机程序代码指令、程序指令或者可执行计算机可读程序代码指令)。在一个示例实施方式中,程序代码指令可以实施这里描述的一个或者多个过程。就这一点而言,实施这里描述的过程的程序代码指令可以由装置(例如,装置200)的存储器设备(比如,存储器设备210)存储或者存储于该存储器设备上并且由处理器(比如,处理器205)执行。如将理解的那样,可以向计算机或者其它可编程装置(例如,处理器205、存储器设备210)上加载任何这样的程序代码指令以产生机器,使得在计算机或者其它可编程装置上执行的指令产生用于实施在流程图的框、步骤或者操作中指定的功能的装置。这些程序代码指令也可以存储于计算机可读存储介质中,该存储介质可以指引计算机、处理器或者其它可编程装置以特定方式工作使得存储于计算机可读存储介质中的指令产生包括如下指令装置的制造产品,这些指令装置实施在流程图的框、步骤或者操作中指定的功能。也可以向计算机、处理器或者其它可编程装置上加载程序代码指令以使一系列操作步骤在计算机、处理器或者其它可编程装置上进行或者由计算机、处理器或者其它可编程装置进行以产生计算机实施的过程使得在计算机、处理器或者其它可编程装置上执行的指令提供用于实施在流程图的框、步骤或者操作中指定的功能的步骤。
因而,流程图的框、步骤或者操作支持用于执行指定的功能的装置的组合、用于执行指定的功能的步骤的组合和用于执行指定的功能的程序代码指令装置。也将理解流程图的一个或者多个框、步骤或者操作和流程图中的框、步骤或者操作的组合可以由执行指定的功能或者步骤的基于专用硬件的计算机系统实施或者由专用硬件和程序代码指令的组合实施。
图3描绘了流程图,该流程图描述用于管理软件版本的示例方法。在300,示例方法包括确定第一安全证书的安全标识符(例如,硬件证书的公用标识符)是否与受信的安全标识符(例如,设备的公用标识符)匹配。在310,示例方法还包括确定软件应用的软件版本是否满足第一安全证书的软件版本标准。在一些示例实施方式中,版本与阈值版本值相等或者超过阈值的软件应用可以满足软件版本标准。在一些示例实施方式中,版本日期阈值和/或软件大小阈值(例如,以千字节为单位的大小)也可以用作标准。另外,在一些示例实施方式中,在310进行的确定可以响应于在300确定第一证书的安全标识符与受信的安全标识符匹配而发生。示例方法也可以包括在320允许处理器执行软件应用。可以响应于在310确定软件版本满足软件版本标准来允许执行软件应用。另外,可以响应于已经认证一个或者多个安全证书来允许执行软件应用。
图4描绘了根据本发明示例实施方式的用于管理软件版本的另一方法的流程图。在400,示例方法可以包括接收软件应用和/或可选地接收关联第一安全证书(例如,共同配置证书)。第一安全证书可以与软件应用一起接收或者可能在不同时间与软件应用分开接收。在一些示例实施方式中,可以在存储器设备如存储器设备210上接收软件应用和关联第一安全证书。
示例方法也可以包括在410通过验证第二安全证书的设备标识符(例如,硬件证书的公用标识符)是否与受信的设备标识符(例如,设备的公用标识符)匹配来认证受信的安全标识符(例如,硬件证书的共同配置证书标识符)。就这一点而言,第二安全证书也可以包括安全证书版本标准(例如,共同配置证书版本标准)。另外,受信的设备标识符可以是唯一的、不可修改的值。
在420,示例方法可以包括确定第一安全证书的安全证书版本(例如,共同配置证书版本)是否满足第二安全证书的安全证书版本标准。在420进行的确定可以响应于在410认证受信的安全标识符而发生。另外,示例方法也可以包括在430确定第一安全证书的安全标识符(例如,共同配置证书的共同配置证书标识符)是否与受信的安全标识符(例如,硬件证书的共同配置证书标识符)匹配。在一些示例实施方式中,与可接受的预先限定的设备变体关联的值可以满足安全证书版本标准。另外,在一些示例实施方式中,在430进行的确定可以响应于在410认证受信的安全标识符而发生。
在440,示例方法还可以包括确定软件应用的软件版本是否满足第一安全证书的软件版本标准。在一些示例实施方式中,版本与阈值版本值相等或者超过阈值的软件应用可以满足软件版本标准。在一些示例实施方式中,版本日期阈值和/或软件大小阈值(例如,以千字节为单位的大小)也可以用作标准。在一些示例实施方式中,在440进行的确定可以响应于在430确定第一证书的安全标识符与受信的安全标识符匹配而发生。
示例方法也可以包括在450允许处理器执行软件应用。可以响应于在440确定软件版本满足软件版本标准来允许执行软件应用。
本发明的一些示例实施方式的效果在于防止设备执行未授权的软件版本。这具有防止在设备如计算和/或通信设备上安装和利用过期或者以别的方式不合需要的软件这样的优点。另外,本发明的一些示例实施方式允许在制造期间或者在送往消费者之前在设备上安装新的和/或改进的软件并且由此防止在设备为消费者所拥有之后将这些设备上的软件倒退至先前或者不合需要的软件版本。
从前文说明书和关联附图中呈现的教导中受益的这些发明所涉及的领域中的技术人员将想到这里阐述的本发明的许多修改和其它实施方式。因此将理解本发明并不限于公开的具体实施方式并且修改和其它实施方式旨在于被包括在所附权利要求的范围内。另外,虽然前文说明书和关联附图在元素和/或功能的某些示例组合的背景中描述示例实施方式,但是应当理解替代实施方式可以提供不同的元素和/或功能组合而不脱离所附权利要求的范围。就这一点而言,例如也如可以在一些所附权利要求中阐述的那样设想除了上文明确描述的元素和/或功能组合之外的不同元素和/或功能组合。虽然这里运用具体术语,但是仅以广义和描述意义使用它们而不用于限制。

Claims (11)

1.一种用于管理软件版本的方法,包括:
确定第一安全证书的安全标识符是否与受信的安全标识符匹配,所述第一安全证书包括软件版本标准;
响应于确定所述第一安全证书的所述安全标识符与所述受信的安全标识符匹配来确定软件应用的软件版本是否满足所述第一安全证书的软件版本标准;
响应于确定所述软件版本满足所述软件版本标准来允许处理器执行所述软件应用;
通过验证第二安全证书的设备标识符与受信的设备标识符匹配来认证所述受信的安全标识符,所述第二安全证书包括安全证书版本标准;以及
响应于认证所述受信的安全标识符来确定所述第一安全证书的安全证书版本是否满足所述第二安全证书的所述安全证书版本标准;并且
其中确定所述第一安全证书的所述安全标识符是否与所述受信的安全标识符匹配包括响应于认证所述受信的安全标识符来确定所述第一安全证书的所述安全标识符是否与所述受信的安全标识符匹配。
2.根据权利要求1所述的方法,其中通过验证所述第二安全证书的所述设备标识符与所述受信的设备标识符匹配来认证所述受信的安全标识符包括所述受信的设备标识符为唯一的、不可修改的值。
3.根据权利要求1所述的方法,其中确定所述第一安全证书的所述安全证书版本是否满足所述第二安全证书的所述安全证书版本标准包括与预先限定的设备变体关联的值满足所述安全证书版本标准。
4.根据权利要求1所述的方法,还包括将所述软件应用与所述第一安全证书一起接收,所述第一安全证书与所述软件应用关联。
5.根据权利要求1-4中的任一项权利要求所述的方法,其中确定所述软件应用的所述软件版本是否满足所述第一安全证书的所述软件版本标准包括具有阈值软件版本或者比所述阈值软件版本更高的软件版本的软件应用满足所述软件版本标准。
6.一种用于管理软件版本的装置,包括:
用于确定第一安全证书的安全标识符是否与受信的安全标识符匹配的装置,所述第一安全证书包括软件版本标准;
用于响应于确定所述第一安全证书的所述安全标识符与所述受信的安全标识符匹配来确定软件应用的软件版本是否满足所述第一安全证书的软件版本标准的装置;
用于响应于确定所述软件版本满足所述软件版本标准来允许执行所述软件应用的装置;
用于通过验证第二安全证书的设备标识符与受信的设备标识符匹配来认证所述受信的安全标识符的装置,所述第二安全证书包括安全证书版本标准;以及
用于响应于认证所述受信的安全标识符来确定所述第一安全证书的安全证书版本是否满足所述第二安全证书的所述安全证书版本标准的装置;并且
其中用于确定所述第一安全证书的所述安全标识符是否与所述受信的安全标识符匹配的装置包括用于响应于认证所述受信的安全标识符来确定所述第一安全证书的所述安全标识符是否与所述受信的安全标识符匹配的装置。
7.根据权利要求6所述的装置,其中所述受信的设备标识符为唯一的、不可修改的值。
8.根据权利要求6所述的装置,其中确定所述第一安全证书的所述安全证书版本是否满足所述第二安全证书的所述安全证书版本标准包括与预先限定的设备变体关联的值满足的所述安全证书版本标准。
9.根据权利要求6所述的装置,还包括用于将所述软件应用与所述第一安全证书一起接收的装置,所述第一安全证书与所述软件应用关联。
10.根据权利要求6所述的装置,还包括用于存储所述第二安全证书的装置。
11.根据权利要求6所述的装置,其中确定所述软件应用的所述软件版本是否满足所述第一安全证书的所述软件版本标准包括具有阈值软件版本或者比所述阈值软件版本更高的软件版本的软件应用满足所述软件版本标准。
CN200980147474.6A 2008-11-26 2009-11-13 用于管理软件版本的方法、装置和计算机程序产品 Active CN102227732B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/323,737 2008-11-26
US12/323,737 US9256728B2 (en) 2008-11-26 2008-11-26 Method, apparatus, and computer program product for managing software versions
PCT/IB2009/007447 WO2010061261A1 (en) 2008-11-26 2009-11-13 Method, apparatus, and computer program product for managing software versions

Publications (2)

Publication Number Publication Date
CN102227732A CN102227732A (zh) 2011-10-26
CN102227732B true CN102227732B (zh) 2015-04-15

Family

ID=42197610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980147474.6A Active CN102227732B (zh) 2008-11-26 2009-11-13 用于管理软件版本的方法、装置和计算机程序产品

Country Status (8)

Country Link
US (1) US9256728B2 (zh)
EP (1) EP2368206A4 (zh)
KR (1) KR101289932B1 (zh)
CN (1) CN102227732B (zh)
CA (1) CA2744358C (zh)
RU (1) RU2494456C2 (zh)
TW (1) TWI502504B (zh)
WO (1) WO2010061261A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606667B2 (en) * 2010-02-26 2013-12-10 Red Hat, Inc. Systems and methods for managing a software subscription in a cloud network
US8516272B2 (en) * 2010-06-30 2013-08-20 International Business Machines Corporation Secure dynamically reconfigurable logic
CN103502991B (zh) * 2011-05-06 2016-10-12 诺基亚技术有限公司 设备配置和编程数据的确定
US9141384B2 (en) * 2011-07-26 2015-09-22 Verizon Patent And Licensing Inc. System and method for enforcing application adoption
US8978160B2 (en) * 2012-09-12 2015-03-10 GM Global Technology Operations LLC Method for selective software rollback
US8719908B1 (en) * 2012-12-21 2014-05-06 Disney Enterprises, Inc. Digital certificate management
US9548867B2 (en) * 2013-11-26 2017-01-17 Rockwell Automation Technologies, Inc. Method and apparatus for secure distribution of embedded firmware
CN104156246B (zh) * 2014-08-12 2017-06-16 小米科技有限责任公司 灰度升级的方法及装置
CN104461629B (zh) * 2014-12-09 2018-06-08 深圳市东信时代信息技术有限公司 Pc终端及其安装手机应用程序的方法
US10382436B2 (en) * 2016-11-22 2019-08-13 Daniel Chien Network security based on device identifiers and network addresses
US10841161B2 (en) * 2018-08-02 2020-11-17 Sap Se Real-time configuration check framework
US11188622B2 (en) 2018-09-28 2021-11-30 Daniel Chien Systems and methods for computer security
US10848489B2 (en) 2018-12-14 2020-11-24 Daniel Chien Timestamp-based authentication with redirection
US10826912B2 (en) 2018-12-14 2020-11-03 Daniel Chien Timestamp-based authentication
KR102359727B1 (ko) * 2019-11-15 2022-02-11 주식회사 에스제이 테크 동작 분석을 이용한 작업공정 개선 방법
US11677754B2 (en) 2019-12-09 2023-06-13 Daniel Chien Access control systems and methods
CN111769966B (zh) * 2020-05-08 2023-06-23 厦门亿联网络技术股份有限公司 一种克隆升级方法、系统和应用
US11509463B2 (en) 2020-05-31 2022-11-22 Daniel Chien Timestamp-based shared key generation
US11438145B2 (en) 2020-05-31 2022-09-06 Daniel Chien Shared key generation based on dual clocks
US11295000B1 (en) * 2020-09-28 2022-04-05 Xilinx, Inc. Static configuration of accelerator card security modes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688169A (en) * 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US5995026A (en) * 1997-10-21 1999-11-30 Compaq Computer Corporation Programmable multiple output force-sensing keyboard
EP1465043A2 (en) * 2003-04-02 2004-10-06 Microsoft Corporation Keyed-build system for controlling the distribution of software
CN101189613A (zh) * 2005-05-31 2008-05-28 讯宝科技公司 用来鉴定产品的方法和设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757824B1 (en) * 1999-12-10 2004-06-29 Microsoft Corporation Client-side boot domains and boot rules
DE10140721A1 (de) 2001-08-27 2003-03-20 Bayerische Motoren Werke Ag Verfahren zur Bereitstellung von Software zur Verwendung durch ein Steuergerät eines Fahrzeugs
US20030100297A1 (en) * 2001-11-27 2003-05-29 Riordan Kenneth B. Method of software configuration assurance in programmable terminal devices
US7734549B2 (en) 2002-12-31 2010-06-08 Motorola, Inc. Methods and apparatus for managing secured software for a wireless device
US8041957B2 (en) 2003-04-08 2011-10-18 Qualcomm Incorporated Associating software with hardware using cryptography
EP1530392A1 (fr) * 2003-11-04 2005-05-11 Nagracard S.A. Méthode de gestion de la sécurité d'applications avec un module de sécurité
US7532723B2 (en) * 2003-11-24 2009-05-12 Interdigital Technology Corporation Tokens/keys for wireless communications
US7934214B2 (en) * 2006-03-31 2011-04-26 Lenovo (Singapore) Pte Ltd. Computer implemented method, system and computer program product for controlling software entitlement
TWI340332B (en) * 2007-02-02 2011-04-11 Ind Tech Res Inst Computerized apparatus and method for version control and management
US20090006259A1 (en) 2007-06-27 2009-01-01 Teh-Li Hsi Method of verifying that an up-to-date software license key is not overwritten by an outdated software license key

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688169A (en) * 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US5995026A (en) * 1997-10-21 1999-11-30 Compaq Computer Corporation Programmable multiple output force-sensing keyboard
EP1465043A2 (en) * 2003-04-02 2004-10-06 Microsoft Corporation Keyed-build system for controlling the distribution of software
CN101189613A (zh) * 2005-05-31 2008-05-28 讯宝科技公司 用来鉴定产品的方法和设备

Also Published As

Publication number Publication date
TW201025129A (en) 2010-07-01
US9256728B2 (en) 2016-02-09
EP2368206A4 (en) 2014-02-26
KR101289932B1 (ko) 2013-08-23
CA2744358A1 (en) 2010-06-03
WO2010061261A1 (en) 2010-06-03
RU2494456C2 (ru) 2013-09-27
EP2368206A1 (en) 2011-09-28
CN102227732A (zh) 2011-10-26
TWI502504B (zh) 2015-10-01
CA2744358C (en) 2016-01-05
KR20110099261A (ko) 2011-09-07
RU2011125615A (ru) 2013-01-10
US20100132018A1 (en) 2010-05-27

Similar Documents

Publication Publication Date Title
CN102227732B (zh) 用于管理软件版本的方法、装置和计算机程序产品
EP3429243B1 (en) Remote management method and device
US9843569B2 (en) Method and apparatus for access credential provisioning
US9270758B2 (en) System for mobile application notary service
US20080209206A1 (en) Apparatus, method and computer program product providing enforcement of operator lock
US10659830B2 (en) Method, system, mobile device, apparatus and computer program product for validating rights objects
EP3584732B1 (en) Application management method for terminal, application server and terminal
EP1770586A1 (en) Account management in a system and method for providing code signing services
US20070074031A1 (en) System and method for providing code signing services
EP2107490B9 (en) System and method for providing code signing services
CN104756076A (zh) 配置文件更新器
US9942047B2 (en) Controlling application access to mobile device functions
US8301903B2 (en) Low-level code signing mechanism
CN106453263A (zh) 一种手机号码绑定app的方法及系统
CN112466014A (zh) 共享车辆离线开锁、授权方法、穿戴设备、终端及系统
US10848942B1 (en) Validating over-the-air configuration commands
US8191150B2 (en) Method and arrangement relating to a communication device
CN114090039A (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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160623

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj