CN101714200B - 强化计算机系统的装置和方法 - Google Patents
强化计算机系统的装置和方法 Download PDFInfo
- Publication number
- CN101714200B CN101714200B CN2009102049810A CN200910204981A CN101714200B CN 101714200 B CN101714200 B CN 101714200B CN 2009102049810 A CN2009102049810 A CN 2009102049810A CN 200910204981 A CN200910204981 A CN 200910204981A CN 101714200 B CN101714200 B CN 101714200B
- Authority
- CN
- China
- Prior art keywords
- processor
- system based
- confirmed
- guiding
- volatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/88—Detecting or preventing theft or loss
-
- 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
- G06F21/575—Secure boot
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
- G06F9/44542—Retargetable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种强化计算机系统的装置和方法,在某些实施例中,基于处理器的系统可以包括处理器,该处理器具有处理器标识;耦合到该处理器的一个或多个电子组件,其至少一个具有组件标识;以及耦合到该处理器和该电子组件的硬件安全组件。该硬件安全组件可以包括安全非易失性存储器和控制器。可以将该控制器配置成从处理器接收处理器标识,从一个或多个电子组件接收至少一个组件标识,以及确定基于处理器的系统的引导是否是基于处理器的系统的供应引导。如果确定该引导是供应引导,则可以将控制器配置成将安全代码存储在安全非易失性存储器中,其中安全代码基于处理器标识和至少一个组件标识。对其它实施例也予以公开并要求保护。
Description
本发明涉及经强化的计算机系统。更具体地,本发明的某些实施例涉及用于阻止对计算机系统或计算机系统组件的盗窃或未经授权的使用的装置和方法。
背景技术
可以在租约或合约的基础上向用户提供某些电子系统。例如,用户可以在为电子系统完全支付款项之前接收该系统。尽管大多数用户将遵守租约或合约的条款,但在系统被缴清款项之前阻碍对组件或服务的盗窃可以是有利的。可以将对系统的盗窃或不正确篡改的这种阻碍称为强化。
例如,电子系统可以从对抗黑客攻击该系统、对抗从该系统中取走组件(例如,用于在灰市上销售或在其它系统中使用)、对抗在合约履行前转换提供商、和/或对抗通过捏造已使用的时间量来欺骗提供商等的强化中受益。
例如,可以通过焊接下组件(例如,处理器、芯片组、和/或存储器组件)、提供有限的可扩展性(例如,无PCI槽)、使用放篡改螺钉、使用密封机壳、采用入侵检测传感器、使用6到8层母板(例如,以掩盖踪迹)、和/或用环氧树脂粘合母板表面来强化某些电子系统。这些技术的问题是它们增加了制造过程的成本(因此增加了最终用户的负担,他们最终支付更多),且它们通过限制系统的能力和可扩展性惩罚了用户中的大多数(他们是守法的、有道德的)(例如,支付全额或已经完成合约的条款的用户可能只具有有限的升级能力)。
附图说明
本发明的各种特征将在以下附图中所示的优选实施例的描述中显而易见,其中在各附图中同样的附图标记通常表示相同部分。附图不一定是按比例的,相反,重点放在示出本发明的原理上。
图1是根据本发明的某些实施例的基于处理器的系统的框图。
图2是根据本发明的某些实施例的另一基于处理器的系统的框图。
图3是根据本发明的某些实施例的又一基于处理器的系统的框图。
图4是根据本发明的某些实施例的流程图。
图5是根据本发明的某些实施例的另一流程图。
图6是根据本发明的某些实施例的又一流程图。
图7是根据本发明的某些实施例的又一流程图。
图8是根据本发明的某些实施例的又一流程图。
图9是根据本发明的某些实施例的又一流程图。
图10是根据本发明的某些实施例的又一流程图。
图11是根据本发明的某些实施例的又一流程图。
具体实施方式
在以下描述中,出于解释而非限制的目的,为提供对本发明的各个方面的透彻理解,阐明诸如特定结构、体系结构、接口、技术等具体细节。然而,对受益于本发明的那些本领域的技术人员来说显而易见的是,可以在背离这些具体细节的其它示例中实践本发明的各个方面。在某些实例中,省略公知设备、电路、以及方法的描述,以不使非必要的细节模糊本发明的描述。
参考图1,基于处理器的系统可以包括处理器11,该处理器具有处理器标识;耦合到该处理器的一个或多个电子组件12,其至少一个具有组件标识;以及耦合到处理器11和电子组件12的硬件安全组件13。基于处理器的系统的示例包括但不限于台式计算机、膝上型计算机、迷你桌上型(nettop)计算机、上网本(netbook)计算机、移动因特网设备(MID)、和游戏设备、以及多个其它电子系统。
例如,电子组件可以包括芯片组组件、存储器组件、以及输入/输出设备中的至少一个。例如,硬件安全组件13可以包括安全非易失性存储器(NVM)14和控制器15。例如,可以将控制器15配置成从处理器接收处理器标识、从一个或多个电子组件接收至少一个组件标识、以及确定基于处理器的系统的引导是否是基于处理器的系统的供应引导。如果该引导被确定为是供应引导,则可以将控制器15配置成将安全代码存储在安全非易失性存储器14中,其中安全代码基于处理器标识和至少一个组件标识。
如果该引导未被确定为是供应引导,则将控制器15配置成基于处理器标识和至少一个组件标识来确定平台代码,并基于与存储在安全非易失性存储器14中的安全代码的比较来确定平台代码是否有效。如果该平台代码被确定为有效,则可以将控制器15配置成继而引导基于处理器的系统。如果该平台代码未被确定为有效,则可以将控制器15配置成停止基于处理器的系统的引导。
例如,在本发明的某些实施例中,如果平台代码未被确定为有效,则可以将与引导尝试相关的信息存储在安全非易失性存储器中。可以稍后在被禁用的系统中检查引导尝试信息。例如,在基于处理器的系统的某些实施例中,还可以将控制器15配置成确定通信信道是否存在。如果通信信道被确定为存在且如果平台代码未被确定为有效,则控制器15可以通过该通信信道发送报告(例如,将系统的潜在问题通知服务提供商)。例如,该通信信道可以是网络连接(例如,以太网连接或WiFi连接)。例如,该通信信道可以是电话连接(例如,调制解调器或蜂窝电话连接)。
例如,在基于处理器的系统的某些实施例中,还可以将控制器15配置成确定是否需要基于存储在安全非易失性存储器14中的信息来确认平台代码。如果该平台代码被确定为是无需确认的,则控制器15可以继而引导基于处理器的系统(例如,不运行确认过程)。例如,在缴清系统的款项之后或在租约或合约履行之后,不再需要确认系统且用户可以升级该系统或改变组件而没有原始服务提供商的任何牵涉。
例如,在基于处理器的系统的某些实施例中,可以将硬件安全组件13与处理器11一起集成在与处理器11相同的封装中。例如,还可以将安全非易失性存储器14与硬件安全组件13和处理器11一起集成在与硬件安全组件13和处理器11相同的集成电路封装中。例如,硬件安全组件13和/或安全NVM 14可以在与处理器11相同的集成电路管芯上形成。例如,安全NVM 14可以是诸如电可擦除可编程只读存储器(EEPROM)或其它类型的内部可访问持久存储电路(例如,而在外部不可访问)等内部ROM。
在某些实施例中,硬件安全组件13可以利用处理器11的各部分来实现硬件安全组件13功能的部分或全部。例如,处理器11可以包括它自己的、可以与硬件安全组件13共享的安全非易失性存储器14。例如,可以用固件来对处理器11进行编程来在处理器11通电之后执行硬件安全组件13的控制器15功能。
参考图2,除了硬件安全组件23(包括安全NVM 24和控制器25)更紧密地耦合到电子组件22而非处理器21,将根据本发明的某些实施例的基于处理器的系统与图1的基于处理器的系统相似地配置。例如,可以将硬件安全组件23与电子组件22中的一个一起集成在与电子组件22相同的封装中。例如,还可以将安全非易失性存储器24与硬件安全组件23和电子组件22一起集成在与硬件安全组件23和电子组件22相同的集成电路封装中。例如,在某些实施例中,与硬件安全组件23和/或安全NVM 24一起集成的电子组件22可以是芯片组组件。例如,硬件安全组件23和/或安全NVM 24可以在与电子组件22相同的集成电路管芯上形成。在某些实施例中,硬件安全组件23可以利用电子组件22的各部分来实现硬件安全组件23功能的部分或全部。
参考图3,基于处理器的系统31可以包括处理器32、耦合到处理器32的系统存储器35、大容量存储设备38、以及高速缓存存储器36。例如,处理器32可以是中央处理单元(CPU)。例如,系统存储器35可以是动态随机存取存储器(DRAM)。例如,系统存储器35可以经由存储器控制器集线器(MCH)34耦合到处理器32。例如,大容量存储设备38可以是诸如硬盘驱动器或光盘驱动器等旋转介质。例如,大容量存储设备38可以是诸如固态驱动器等非旋转介质。例如,高速缓存36和大容量存储设备38两者都可以经由输入/输出控制器集线器(ICH)37耦合到MCH。例如,高速缓存36可以包括非易失性存储器(NVM)。
基于处理器的系统31还可以包括存储在基于处理器的系统31上的、使得基于处理器的系统31在处理器32中实现硬件安全代理的代码。例如,该代码可被存储在大容量存储38、系统存储器35、或耦合到基于处理器的系统31的另一存储器或存储设备上。例如,该代码可以作为耦合到ICH 37的基本输入/输出系统(BIOS)39的一部分来存储。优选地,该代码可以存储在处理器32中的安全非易失性存储器中。
例如,处理器32可以具有唯一处理器标识,MCH 34、DRAM 35、高速缓存36、ICH 37、大容量存储设备38、以及BIOS 39组件中的一个或多个可以具有相关联的唯一组件标识。可以耦合到处理器32的其它组件包括,例如,图形组件、显示组件、输入/输出组件、网络组件、全球定位系统(GPS)组件、和蜂窝通信组件、以及可以在电子系统中找到用途的多个其它电子组件。例如,当在供应基于处理器的系统之后,处理器32中的安全代理可以使用处理器标识和来自耦合到处理器32的具有相关联的组件标识的每一个组件的组件标识来生成安全代码。
在基于处理器的系统31的后续引导的时侯,处理器32中的安全代理可以基于处理器标识和可用的组件标识来生成平台代码。通过将新生成的平台代码与存储在安全非易失性存储器中的先前存储的安全代码进行比较,安全代理可以确定系统在前一次供应之后是否已被更改。如果该系统已被更改,则安全代理可以停止引导和/或尝试通过网络或通过另一可用通信信道来向服务提供商发送通知。
根据本发明的某些实施例,除了处理器32中的安全代理之外,耦合到处理器32的组件中的一个或多个还可以具有它们自己的安全代理。例如,处理器32、MCH 34、DRAM 35、高速缓存36、ICH 37、大容量存储38、以及BIOS39中的每一个可以具有相关联的安全代理(例如,在同一集成电路封装中和/或在与相关联的设备相同的集成电路管芯上形成)。例如,安全代理可以包括存储相关联的设备的唯一标识符的安全NVM。例如,在供应引导期间,具有安全代理的每一组件可经历从相连组件处收集信息(例如唯一标识符);基于所收集的信息生成安全代码;以及在相关联的设备上的内部、安全NVM中存储安全代码的过程。例如,在后续引导期间,具有安全代理的每一组件可经历在当前平台中确认它自己和如果确认失败则禁用它自己的过程。
如果具有自己的安全代理的每一设备被置于未经授权的系统中,则该设备可以单独地禁用它自己。有利地,通过致使更多设备如果被移除则无用,本发明的某些实施例增加系统的强化。被禁用的每一设备可以在灰市价值上几乎没有价值且还可以阻碍诈骗用户。基于处理器的系统31和/或处理器32以及各个组件还可以包括例如OEM/ODM所知道、将系统和/或组件恢复到操作状态或重新供应平台的管理模式或替换安全代码。例如,如果在服务合约期间用户购买了附加组件或从服务提供商处升级,则可以重新供应平台。在某些实施例中,可以通过网络连接(例如,因特网)以安全方式来执行这种重新供应,以使得用户可以在线购买和升级、自己安装它、并随后使用由服务提供商提供的自动过程来授权该新组件。
参考图4,根据本发明的某些实施例,利用基于处理器的系统可以包括从处理器接收处理器标识(例如,在框41处);从一个或多个电子组件接收至少一个组件标识(例如,在框42处);确定该基于处理器的系统的引导是否是基于处理器的系统的供应引导(例如,在框43处);如果该引导被确定为是供应引导,则将安全代码存储在安全非易失性存储器中,其中安全代码基于处理器标识和至少一个组件标识(例如,在框44处);以及引导该基于处理器的系统(例如,在框45处)。
如果该引导未被确定是供应引导,则本发明的某些实施例还可以包括基于处理器标识和至少一个组件标识来确定平台代码(例如,在框46处);基于与存储在安全非易失性存储器中的安全代码的比较来确定该平台代码是否有效(例如,在框47处);如果该平台代码被确定为有效,则引导该基于处理器的系统(例如,在框45处);以及如果平台代码未被确定为有效,则停止该基于处理器的系统的引导(例如,在框48处)。
参考图5-7,本发明的某些实施例还可包括在与处理器相同的封装中提供安全非易失性存储器(例如,在框51处)。本发明的某些实施例还包括在与一个或多个电子组件中的一个相同的封装中提供安全非易失性存储器(例如,在框61处)。例如,与安全非易失性存储器一起提供的电子组件可以是芯片组组件(例如,在框62处)。例如,在本发明的某些实施例中,电子组件可以包括芯片组组件、存储器组件、以及输入/输出设备中的至少一个(例如,在框71处)。
参考图8,本发明的某些实施例还可以包括确定通信信道是否存在(例如,在框81处),以及如果确定通信信道存在且平台代码未被确定为有效,则通过该通信信道发送报告(例如,在框82处)。例如,通信信道可以包括网络连接(例如,在框83处)。例如,通信信道可以包括电话连接(例如,在框84处)。
参考图9,本发明的某些实施例还可以包括基于存储在安全非易失性存储器中的信息来确定是否需要确认平台代码(例如,在框91处),以及如果该平台代码被确定为无需确认,则继而引导该基于处理器的系统(例如,在框92处)。如果该平台代码被确定为需要确认,则本发明的某些实施例包括继而确认该平台代码(例如,在框93处)。
例如,本发明的某些实施例可以在按合约或服务计划提供给最终用户的电子系统中找到用途。例如,相似于现在用于蜂窝电话和智能电话的那些模型的现用先付金融商业模型可以使得其它电子系统对于可能有使用特定电子系统的期望但无法负担预缴款项的新用户来说变得更加可负担得起。例如,现用先付商业模型中的伙伴可以包括金融机构(银行)、以及因特网服务提供商(ISP)。此商业模型的一个具体示例是Microsoft FlexGoTM倡议。
预付商业模型可以是现用先付模型的特定子集,其中最终用户预先向提供商支付特定时间量(例如,像蜂窝电话分钟)的款项。用户可以使用该设备特定的时间量,在该时间量结束时设备将不可用直到该用户购买更多时间为止。在使用了特定数量的小时之后(例如,支付的特定量),该设备可以成为用户的财产。
订阅模型是现用先付模型的另一子集,其中最终用户同意与提供商的服务合约(例如,每月支付所同意的时间段)。在用户履行了该服务合约的条款时,该设备可以成为用户的财产。
有利地,本发明的某些实施例可以通过使该模型对商业伙伴和最终用户两者都变得更有吸引力来支持现用先付模型。例如,通过使用硬件安全代理而不是物理安全措施来强化系统,降低了商业伙伴的成本,且此成本节省可被传递到最终用户。因为被强化的设备(如此处所述)上的部件在其它系统中可能是不可用的(且如果原始系统被更改则可以变得不可用),所以本发明的某些实施例将阻碍诈骗用户从该设备上取走部件并将它卖掉或将它用在另一计算机中。对最终用户有利的是,他们的设备可以被升级(例如,在合约期间或在他们履行了与服务提供商的合约的条款之后使用经授权的升级)。例如,用户能够升级处理器,添加存储器,添加输入/输出卡,或以其它方式修改他们的系统。
本发明的某些实施例可以包括硬件(HW)和固件(FW)组件的混合。可以将HW实现为相似于例如各种英特尔公司芯片组产品中的可管理性引擎(ME)的微控制器。例如,可以在CPU的微码中实现本发明的某些实施例。如果CPU被不正确地插入不同系统,则本发明的某些实施例将确保处理器停止,致使该系统无用。
例如,系统可在原始设备制造商(OEM)或原始设计制造商(ODM)处由特定处理器、芯片组、双列直插式存储器模块(DIMM)、闪存设备、和输入输出设备、以及其它组件等构建而成。处理器或芯片组都可以具有微控制器HW(代理)并可以被配置成执行的第一部分HW(例如,在正常引导过程期间甚至在主机CPU核执行(come up)之前)。该代理可以具有对此部分HW以外的任何部分不可访问的少量安全只读存储器(ROM)。该ROM可以至少是一次写入式ROM。
在向最终用户提供该系统之前,该系统经历初始供应。例如,在系统被组装、测试并准备好封装以及递交至最终用户之后的第一次引导,代理可以检测到这是第一次引导并启动供应过程。例如,供应过程包括检测平台组件和它们的标识,基于它们的组合生成唯一平台标识,以及将其安全地存储。
例如,代理可以执行安全固件应用程序(App)。可以从安全存储(例如,加密闪存或内部ROM)中检索App的代码并可以使用某些标准安全机制对其进行认证。该App可以采集处理器标识、芯片组标识、存储器标识(例如,来自串行存在检测(SPD))、固件集线器(FWH)标识、输入输出设备的标识、以及来自具有标识的组件的任何其它标识。可以使用独特的方式串接所采集的所有标识来形成平台标识。不同的OEM/ODM可以选择它们自己的生成此平台标识代码的方式。还可以使用标准算法(例如,由ODM/OEM选择)来加密该唯一平台标识代码并将其存储在芯片组(或处理器)内的安全ROM中。
例如,在后续引导的时候,代理可以从安全存储中检索平台标识并检索系统的所有可用组件标识。如果OEM/ODM安装的所有组件都存在(例如,系统未被篡改),则该代理可以将控制转移到引导固件。如果相同的组件不存在,则该代理可以进入HW锁定模式且系统将不引导操作系统。在本发明的某些实施例中,可以将严重错误记录到安全存储中且如果网络连接存在则可以警告服务提供商。
例如,只要该系统未被付清款项或合约的条款还未被履行,则这些检查在每一次重引导的时候都可以发生。例如,现用先付提供商(例如,ISP或其它此类实体)可以使用计量并更新安全存储中的标志的安全方法来指示系统是否已经被付清款项。例如,在用户履行了服务合约的条款时,来自服务提供商的安全供应过程可以(例如,通过网络连接)与代理通信来确保在重引导时不再运行平台标识检查。
例如,服务提供商的安全方法可以利用仅接受来自可信OEM的“支付完成”改变的硬件中内置的信任的根,该可信OEM的证书被注册在系统上,且请求适时地由私钥签名。例如,在确认信息来自于可信OEM后,系统还可以确保该信息包括指示“付迄”所有启用的特征的有效请求。附加供应商(例如,输入输出或插入卡)可以将相似检查纳入本地安全存储中(例如,任选ROM)。有利地,提供具有标识和/或它自己的安全代理的插入卡可以帮助确保该插入卡将仅在它们旨在工作于其上的系统上工作。
参考图10,用于利用基于处理器的系统的本发明的某些实施例包括启动重引导(例如,在框100处),在启动BIOS之前执行硬件代理(例如,在框101处),使用硬件代理来从安全存储加载固件应用程序(例如,在框102处),以及认证该固件应用程序(例如,在框103处)。该固件应用程序检测平台组件并收集可用组件标识(例如,在框104处)。如果该固件应用程序确定这是该平台的第一次引导(或其它经授权的供应引导)(例如,在框105处),则该固件应用程序基于单独的设备信息(组件标识)来生成唯一平台标识并将该平台标识存储在安全存储中(例如,在框107处)。该固件应用程序可以随后重置安全存储中的指示系统还未被全额支付的标志(例如,在框108处)并将控制转移到系统固件以供引导(例如,在框109处)。如果该固件应用程序确定当前引导不是平台的第一次引导(或相反,不是经授权的供应引导),则该固件应用程序开始下面的步骤(例如,在框106处)。
参考图11,在本发明的某些实施例中,下面的步骤可以包括固件应用程序从安全存储中检索唯一平台标识并将检索所得的标识与存在的平台组件进行比较(例如,在框112处)。如果系统已经被全额支付(例如,如安全存储中的标志所指示的),则该固件应用程序可以将控制转移到系统固件以供引导(例如,在框114处)而不执行平台的进一步确认。如果系统未被全额支付(例如,在框113处)但检索所得的平台标识与存在的平台配置相匹配(例如,在框115处),则固件应用程序可以将控制转移到系统固件以供引导(例如,在框114处)。如果系统未被全额支付(例如,在框113处)且检索所得的平台标识与存在的平台配置不相匹配(例如,在框115处),则该系统可能已经被篡改,固件应用程序可以锁定该系统并通过带外(OOB)通信来警告服务器。
在给出本描述的好处的情况下,那些本领域的技术人员应该理解,可以将多个不同的其它电路和硬件和/或软件的组合配置成实现根据此处所述的各实施例和本发明的其它实施例的各种方法、电路、以及系统。图1到图11的示例是适当实施例的非限制性示例。
上文和本发明的其它方面可单独实现和组合实现。本发明不应被解释为需要这些方面中的两个或更多,除非特定权利要求明确要求。此外,尽管已经结合当前被认为是优选示例的示例来描述了本发明,但应该理解,本发明不限于所公开的示例,而正相反,它旨在覆盖包括在本发明的精神和范围中的各种修改以及等效安排。
Claims (20)
1.一种基于处理器的系统,包括:
处理器,所述处理器具有处理器标识;
耦合到所述处理器的一个或多个电子组件,所述电子组件中的至少一个具有组件标识;以及
耦合到所述处理器和所述电子组件的硬件安全组件,其中所述硬件安全组件包括:
安全非易失性存储器;以及
控制器,所述控制器被配置成:
从所述处理器接收所述处理器标识;
从所述一个或多个电子组件接收所述至少一个组件标识;以及
确定所述基于处理器的系统的引导是否是所述基于处理器的系统的供应引导;
如果所述引导被确定为是所述供应引导,则将所述控制器配置成将安全代码存储在所述安全非易失性存储器中,其中所述安全代码基于所述处理器标识和所述至少一个组件标识;
如果所述引导未被确定为是所述供应引导,则将所述控制器配置成:
基于所述处理器标识和所述至少一个组件标识来确定平台代码;
基于与存储在所述安全非易失性存储器中的所述安全代码的比较来确定所述平台代码是否有效;
如果所述平台代码被确定为有效,则继而引导所述基于处理器的系统;以及
如果所述平台代码未被确定为有效,则停止所述基于处理器的系统的引导。
2.如权利要求1所述的基于处理器的系统,其特征在于,将所述硬件安全组件与所述处理器一起集成在与所述处理器相同的封装中。
3.如权利要求2所述的基于处理器的系统,其特征在于,将所述安全非易失性存储器与所述硬件安全组件和所述处理器一起集成在与所述硬件安全组件和所述处理器相同的封装中。
4.如权利要求1所述的基于处理器的系统,其特征在于,将所述硬件安全组件与所述电子组件中的一个一起集成在与所述电子组件相同的封装中。
5.如权利要求4所述的基于处理器的系统,其特征在于,将所述安全非易失性存储器与所述硬件安全组件和所述电子组件一起集成在与所述硬件安全组件和所述电子组件相同的封装中。
6.如权利要求5所述的基于处理器的系统,其特征在于,与所述硬件安全组件和所述安全非易失性存储器集成的所述电子组件包括芯片组组件。
7.如权利要求1所述的基于处理器的系统,其特征在于,所述电子组件包括芯片组组件、存储器组件、以及输入/输出设备中的至少一个。
8.如权利要求1所述的基于处理器的系统,其特征在于,还将所述控制器配置成:
确定通信信道是否存在;以及
如果网络连接被确定为存在且如果所述平台代码未被确定为有效,则通过所述通信信道发送报告。
9.如权利要求8所述的基于处理器的系统,其特征在于,所述通信信道包括网络连接。
10.如权利要求8所述的基于处理器的系统,其特征在于,所述通信信道包括电话连接。
11.如权利要求1所述的基于处理器的系统,其特征在于,还将所述控制器配置成:
基于存储在所述安全非易失性存储器中的信息来确定所述平台代码是否需要确认;以及
如果所述平台代码被确定为无需确认,则继而引导所述基于处理器的系统。
12.一种利用基于处理器的系统的方法,包括:
从处理器接收处理器标识;
从一个或多个电子组件接收至少一个组件标识;
确定所述基于处理器的系统的引导是否是所述基于处理器的系统的供应引导;
如果所述引导被确定为是所述供应引导,则将安全代码存储在安全非易失性存储器中,其中所述安全代码基于所述处理器标识和所述至少一个组件标识;以及
如果所述引导未被确定为是所述供应引导,则:
基于所述处理器标识和所述至少一个组件标识来确定平台代码;
基于与存储在所述安全非易失性存储器中的所述安全代码的比较来确定所述平台代码是否有效;
如果所述平台代码被确定为有效,则引导所述基于处理器的系统;以及
如果所述平台代码未被确定为有效,则停止所述基于处理器的系统的引导。
13.如权利要求12所述的方法,其特征在于,还包括:
在与所述处理器相同的封装中提供所述安全非易失性存储器。
14.如权利要求12所述的方法,其特征在于,还包括:
在与所述一个或多个电子组件中的一个相同的封装中提供所述安全非易失性存储器。
15.如权利要求14所述的方法,其特征在于,与所述安全非易失性存储器一起提供的所述电子组件包括芯片组组件。
16.如权利要求12所述的方法,其特征在于,所述电子组件包括芯片组组件、存储器组件、以及输入/输出设备中的至少一个。
17.如权利要求12所述的方法,其特征在于,还包括:
确定通信信道是否存在;以及
如果所述通信信道被确定为存在且如果所述平台代码未被确定为有效,则通过所述通信信道发送报告。
18.如权利要求17所述的方法,其特征在于,所述通信信道包括网络连接。
19.如权利要求17所述的方法,其特征在于,所述通信信道包括电话连接。
20.如权利要求12所述的方法,其特征在于,还包括:
基于存储在所述安全非易失性存储器中的信息来确定所述平台代码是否需要确认;以及
如果所述平台代码被确定为无需确认,则继而引导所述基于处理器的系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/286,352 | 2008-09-30 | ||
US12/286,352 US8132267B2 (en) | 2008-09-30 | 2008-09-30 | Apparatus and method to harden computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101714200A CN101714200A (zh) | 2010-05-26 |
CN101714200B true CN101714200B (zh) | 2013-05-01 |
Family
ID=42058866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102049810A Expired - Fee Related CN101714200B (zh) | 2008-09-30 | 2009-09-30 | 强化计算机系统的装置和方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US8132267B2 (zh) |
CN (1) | CN101714200B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8132267B2 (en) | 2008-09-30 | 2012-03-06 | Intel Corporation | Apparatus and method to harden computer system |
US9058491B1 (en) | 2009-03-26 | 2015-06-16 | Micron Technology, Inc. | Enabling a secure boot from non-volatile memory |
US9336410B2 (en) | 2009-12-15 | 2016-05-10 | Micron Technology, Inc. | Nonvolatile memory internal signature generation |
US9245113B2 (en) * | 2010-10-22 | 2016-01-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Out of band vital product data collection |
TWI454959B (zh) * | 2011-12-08 | 2014-10-01 | Phison Electronics Corp | 儲存裝置保護系統及其儲存裝置上鎖與解鎖方法 |
JP5519712B2 (ja) * | 2012-01-20 | 2014-06-11 | レノボ・シンガポール・プライベート・リミテッド | コンピュータをブートする方法およびコンピュータ |
KR102068485B1 (ko) | 2012-11-30 | 2020-01-21 | 삼성전자주식회사 | 불 휘발성 메모리 모듈 및 그것의 동작 방법 |
US9589155B2 (en) * | 2014-09-23 | 2017-03-07 | Intel Corporation | Technologies for verifying components |
US10055612B2 (en) * | 2014-12-15 | 2018-08-21 | International Business Machines Corporation | Authentication using optically sensed relative position |
US9940486B2 (en) * | 2015-02-23 | 2018-04-10 | Cisco Technology, Inc. | Detection of hardware tampering |
DE102016219730A1 (de) * | 2016-10-11 | 2018-04-12 | Siemens Aktiengesellschaft | Basisboard, Prozessor-Modul und Verfahren zur Authentifizierung eines Prozessor-Moduls |
US10572675B2 (en) | 2016-11-02 | 2020-02-25 | Cisco Technology, Inc. | Protecting and monitoring internal bus transactions |
CN106648791B (zh) * | 2016-12-29 | 2019-11-05 | 成都多沐汽车工程有限公司 | 数据加载方法及装置 |
WO2019125411A1 (en) * | 2017-12-19 | 2019-06-27 | Hewlett-Packard Development Company, L.P. | Component recall checking |
US11341248B2 (en) * | 2018-12-21 | 2022-05-24 | Intel Corporation | Method and apparatus to prevent unauthorized operation of an integrated circuit in a computer system |
US11983265B2 (en) | 2019-04-18 | 2024-05-14 | RunSafe Security, Inc. | Automated integration of a source modification engine |
CN110135130B (zh) * | 2019-04-25 | 2021-03-12 | 武汉虹信科技发展有限责任公司 | 一种嵌入式设备软件防改装方法及系统 |
US11593526B1 (en) * | 2019-08-28 | 2023-02-28 | Apple Inc. | Systems and methods for authenticating components on an electronic device |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275933B1 (en) * | 1999-04-30 | 2001-08-14 | 3Com Corporation | Security system for a computerized apparatus |
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7000102B2 (en) * | 2001-06-29 | 2006-02-14 | Intel Corporation | Platform and method for supporting hibernate operations |
US7100036B2 (en) * | 2001-10-30 | 2006-08-29 | Hewlett-Packard Development Company, L.P. | System and method for securing a computer |
US7392371B2 (en) * | 2001-12-20 | 2008-06-24 | Zimmer Vincent J | Method and apparatus for using a volume top file to boot firmware modules |
CA2508141C (en) * | 2002-12-02 | 2009-11-03 | Silverbrook Research Pty Ltd | Dead nozzle compensation |
US7207039B2 (en) * | 2003-12-24 | 2007-04-17 | Intel Corporation | Secure booting and provisioning |
US7940932B2 (en) * | 2004-04-08 | 2011-05-10 | Texas Instruments Incorporated | Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor |
US7493460B2 (en) * | 2005-09-07 | 2009-02-17 | Intel Corporation | Preboot memory of a computer system |
US7921303B2 (en) * | 2005-11-18 | 2011-04-05 | Qualcomm Incorporated | Mobile security system and method |
US20070192824A1 (en) * | 2006-02-14 | 2007-08-16 | Microsoft Corporation | Computer hosting multiple secure execution environments |
EP1832977A3 (en) * | 2006-03-09 | 2007-10-10 | Telefonaktiebolaget LM Ericsson (publ) | Platform boot with bridge support |
US7594104B2 (en) * | 2006-06-09 | 2009-09-22 | International Business Machines Corporation | System and method for masking a hardware boot sequence |
US20070288740A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for secure boot across a plurality of processors |
US20070288761A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors |
US7757098B2 (en) * | 2006-06-27 | 2010-07-13 | Intel Corporation | Method and apparatus for verifying authenticity of initial boot code |
US8984265B2 (en) * | 2007-03-30 | 2015-03-17 | Intel Corporation | Server active management technology (AMT) assisted secure boot |
US20080250250A1 (en) * | 2007-04-04 | 2008-10-09 | Microsoft Corporation | Method and Apparatus for Using USB Flash Devices and Other Portable Storage as a Means to Access Prepaid Computing |
US20100083365A1 (en) | 2008-09-30 | 2010-04-01 | Naga Gurumoorthy | Apparatus and method to harden computer system |
US8132267B2 (en) | 2008-09-30 | 2012-03-06 | Intel Corporation | Apparatus and method to harden computer system |
-
2008
- 2008-09-30 US US12/286,352 patent/US8132267B2/en active Active
-
2009
- 2009-09-30 CN CN2009102049810A patent/CN101714200B/zh not_active Expired - Fee Related
-
2012
- 2012-02-24 US US13/404,628 patent/US8819857B2/en not_active Expired - Fee Related
-
2014
- 2014-08-04 US US14/450,607 patent/US9311512B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20120159652A1 (en) | 2012-06-21 |
US8819857B2 (en) | 2014-08-26 |
US20100082961A1 (en) | 2010-04-01 |
US9311512B2 (en) | 2016-04-12 |
US20140344961A1 (en) | 2014-11-20 |
CN101714200A (zh) | 2010-05-26 |
US8132267B2 (en) | 2012-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101714200B (zh) | 强化计算机系统的装置和方法 | |
US7640541B2 (en) | In-system reconfiguring of hardware resources | |
CN102279914B (zh) | 一种uefi可信支撑系统及其控制方法 | |
KR102258412B1 (ko) | 하드웨어 특징들의 보안 오프라인 활성화를 위한 기술들 | |
RU2456668C2 (ru) | Вычисление измеренной платы за использование | |
JP2022539773A (ja) | モバイル近距無線離通信がペイメントカード上の表示を更新することを可能にするシステムおよび方法 | |
RU2463658C2 (ru) | Предварительно оплаченный доступ к обработке данных с использованием переносных устройств хранения данных | |
US11822669B2 (en) | Systems and methods for importing security credentials for use by an information handling system | |
US20080077420A1 (en) | System and Method for Securely Updating Remaining Time or Subscription Data for a Rental Computer | |
CN101385007A (zh) | 基于i/o的多级计算机操作模式的实施 | |
US20100083365A1 (en) | Apparatus and method to harden computer system | |
US11822668B2 (en) | Systems and methods for authenticating configurations of an information handling system | |
US11843707B2 (en) | Systems and methods for authenticating hardware of an information handling system | |
CN112434347B (zh) | 租赁业务的处理方法、装置、设备及系统 | |
CN102693390B (zh) | 租赁式主板以及控制主板租赁的方法 | |
US20230393973A1 (en) | Apparatus and method for obtaining data associated with a processing circuitry, apparatus and method for sending a request for data erasure | |
US20230237501A1 (en) | Online warranty updating system and method of using the same | |
CN110148059A (zh) | 车险短信的推送方法、装置和系统 | |
CN103838998A (zh) | 一种密码的配置、使用方法及装置 | |
US20090094455A1 (en) | Frequency Managed Performance |
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: 20130501 Termination date: 20190930 |