CN104978513A - 硬件配置装置 - Google Patents

硬件配置装置 Download PDF

Info

Publication number
CN104978513A
CN104978513A CN201410558213.6A CN201410558213A CN104978513A CN 104978513 A CN104978513 A CN 104978513A CN 201410558213 A CN201410558213 A CN 201410558213A CN 104978513 A CN104978513 A CN 104978513A
Authority
CN
China
Prior art keywords
function
configuration item
security configuration
hardware
item
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.)
Pending
Application number
CN201410558213.6A
Other languages
English (en)
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.)
Andes Technology Corp
Original Assignee
Andes Technology Corp
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 Andes Technology Corp filed Critical Andes Technology Corp
Publication of CN104978513A publication Critical patent/CN104978513A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种硬件配置装置,为硬件系统的一部分,且所述硬件系统包含至少一个功能。硬件配置装置包含接口单元、解析单元和输出产生单元。对于硬件系统的每个功能来说,解析单元基于对应于所述功能的默认设置和对应于所述功能的多个安全配置项的功能设置来产生对应于所述功能的当前设置。接口单元耦接到解析单元和存储所述安全配置项的存储装置。接口单元将所述安全配置项提供到解析单元。输出产生单元耦接到解析单元。对于硬件系统的每个功能来说,输出产生单元根据对应于所述功能的所述当前设置输出配置信号以启用或停用所述功能。

Description

硬件配置装置
技术领域
本发明涉及硬件配置装置。更明确地说,本发明涉及硬件系统的硬件配置装置。
背景技术
硬件系统可为集成电路(integrated circuit,简称IC)芯片、安装有芯片的印刷电路板(printed circuit board,简称PCB)、计算机系统或电子装置。有时,供应商在多个市场上售卖多个型号的硬件系统。每个型号具有一组不同功能。硬件系统的制造和销售方面的当前潮流是将所有可用功能置于单一设计中。对于每个型号来说,不应包含在所述型号中的功能可通过硬件配置的机制来停用。
硬件系统的型号通常是通过其功能和价格进行区分。由于单一设计,即使低端型号也可制造成具有与高端型号相同的功能。然而,仅仅在高端型号中可用的功能在低端型号中总是被停用。因为低端型号较廉价,所以难免一些人试图侵入低端型号以启用高端功能而不支付高端价格。因此,需要安全的硬件配置机制来防止这些企图。
发明内容
因此,本发明提供一种硬件配置装置,其为硬件系统提供安全且灵活的多级硬件配置。
根据本发明的实施例,提供一种硬件配置装置。所述硬件配置装置为硬件系统的一部分且所述硬件系统包含至少一个功能。所述硬件配置装置包含接口单元、解析单元和输出产生单元。对于所述硬件系统的每个功能来说,所述解析单元基于对应于所述功能的默认设置和对应于所述功能的多个安全配置项(secure configuration entry,简称SCE)的功能设置来产生对应于所述功能的当前设置。所述接口单元耦接到所述解析单元和存储所述安全配置项的存储装置。所述接口单元将所述安全配置项提供到所述解析单元。所述输出产生单元耦接到所述解析单元。对于所述硬件系统的每个功能来说,所述输出产生单元根据对应于所述功能的所述当前设置输出配置信号以启用或停用所述功能。
根据本发明的另一实施例,提供一种硬件配置装置。所述硬件配置装置为硬件系统的一部分且所述硬件系统包含至少一个功能。所述硬件配置装置包含接口单元、解析单元和输出产生单元。对于所述硬件系统的每个功能来说,所述解析单元基于对应于所述功能的默认设置和对应于所述功能的一个或一个以上安全配置项的功能设置来产生对应于所述功能的当前设置。所述默认设置、所述功能设置和所述当前设置中的每一者处于至少四个功能状态中的一者。所述接口单元耦接到所述解析单元和存储所述一个或一个以上安全配置项的存储装置。所述接口单元将所述一个或一个以上安全配置项提供到所述解析单元。所述输出产生单元耦接到所述解析单元。对于所述硬件系统的每个功能来说,所述输出产生单元根据对应于所述功能的所述当前设置输出配置信号以启用或停用所述功能。
附图说明
图1为本发明的实施例的硬件配置装置的示意图;
图2为本发明的实施例的安全配置项的示意图;
图3为本发明的实施例的由硬件配置装置执行的解析过程的一部分的流程图;
图4为本发明的另一实施例的硬件配置装置的示意图;
图5为本发明的另一实施例的硬件配置装置的示意图。
附图标记说明:
100:硬件配置装置;
110:存储装置;
120:接口单元;
130:解析单元;
140:输出产生单元;
145:配置信号;
150:验证单元/验证端口;
160:主要配置存取端口;
170:次要配置存取端口;
180:更新单元;
200:安全配置项;
210:有效字段;
220:密钥;
230:配置选项设置;
240:项状态;
250:不透明数字;
310~370:方法步骤。
具体实施方式
图1为本发明的实施例的硬件配置装置的示意图。硬件配置装置100包含接口单元120、解析单元130和输出产生单元140。接口单元120耦接到存储装置110。解析单元130耦接到接口单元120。输出产生单元140耦接到解析单元130。接口单元120、解析单元130和输出产生单元140都是硬件组件。硬件配置装置100为硬件系统的一部分。硬件系统包含可由硬件配置装置100配置的至少一个功能。
存储装置110存储一个或一个以上安全配置项。举例来说,存储装置110可为易失性存储器或非易失性存储器。接口单元120从存储装置110提取安全配置项且将所述安全配置项提供到解析单元130。每个安全配置项包含多个信息字段。所述字段中的一者记录至少一个功能设置。每个功能设置配置硬件系统的功能。当解析单元130需要安全配置项时,接口单元120可将整个安全配置项提供到解析单元130,或仅将安全配置项的必要字段提供到解析单元130。
解析单元130记录硬件系统的每个功能的默认设置。对于硬件系统的每个功能来说,解析单元130基于对应于所述功能的默认设置和对应于所述功能的安全配置项的功能设置来产生对应于所述功能的当前设置。
对于硬件系统的每个功能来说,输出产生单元140根据对应于所述功能的当前设置输出配置信号145以启用或停用所述功能。输出产生单元140可将配置信号145作为直接控制信号提供到提供硬件系统的功能的组件。或者,输出产生单元140和提供功能的组件可通过配置总线连接,且输出产生单元140可按在配置总线上传输的事务的形式将配置信号145提供到提供功能的组件。
尽管硬件系统的一些功能可提供两个以上控制选择(例如,“停用”和“启用”),但一般对于每个功能来说仅用两个控制选择足以将每个此种功能划分为更多功能,使得配置设置的问题可变为简单的二进制决策问题。
每个安全配置项具有包含多个信息字段的相同基本结构。举例来说,图2为本发明的实施例的安全配置项的示意图。安全配置项200包含五个字段,即,有效字段210、密钥220、配置选项设置230、项状态240和不透明数字250。
有效字段210可包含指示安全配置项200有效还是无效的有效位。当硬件系统出厂时,清除有效位以指示无效的安全配置项。在通过写入存取以有意义的信息填充安全配置项200的至少一个字段之后,设置有效位以指示有效的安全配置项。在另一实施例中,除了有效位以外,有效字段210还包含用于完整性检查的摘要。在此实施例中,仅当有效位得以设置且安全配置项200通过对应于所述摘要的完整性检查时,安全配置项200为有效的。
配置选项设置230包含一个或一个以上功能设置。每个功能设置配置硬件系统的功能。在下文一些段落中论述密钥220、项状态240和不透明数字250。在本发明的一些实施例中,不必实施对应于项状态240及/或不透明数字250的功能。因此,在那些实施例中,可省略项状态240及/或不透明数字250。
在产业链中存在许多供应商。举例来说,前述硬件系统可为芯片,且可存在所述芯片的供应商、基于所述芯片的母板的供应商和基于所述母板的计算机的供应商。母板供应商在芯片供应商下游,且计算机供应商在母板供应商下游。安全配置项被布置成阵列。每个供应商具有编辑安全配置项的不同特权。举例来说,芯片供应商可有特权编辑最初的三个安全配置项,母板供应商可有特权编辑接下来的两个安全配置项,且计算机供应商可有特权编辑接下来的一个安全配置项。每个供应商通过安全配置项的不同优先等级具有对其下游供应商的安全配置项的一定控制。硬件系统的每个功能的最终配置是所有有效安全配置项的功能设置的解析的结果。因此,本发明的实施例可提供多级硬件配置的简单机制。每一级由一个供应商的一个或一个以上安全配置项表示。在下文一些段落中论述多级配置机制的细节。
下文为解析单元130由于安全配置项的解析而如何产生对应于硬件系统的每个功能的当前设置的论述。每个安全配置项的每个功能设置处于至少四个功能状态中的一者。硬件系统的每个功能的默认设置也处于所述至少四个功能状态中的一者。硬件系统的每个功能的当前设置也处于所述至少四个功能状态中的一者。功能状态包含“从不”(Never)状态、“有条件”(Conditional)状态、“总是”(Ever)状态和“不确定”(Undetermined)状态。四个功能状态的优先级被设置为:“从不”->“有条件”->“总是”->“不确定”。最优先的功能状态是“从不”,且最不优先的功能状态是“不确定”。硬件系统的每个功能的默认设置可为任何一个功能状态,例如,“不确定”。
对于硬件系统的每个功能来说,对应于所述功能的当前设置为对应于所述功能的默认设置和对应于所述功能的所有有效安全配置项的功能设置的功能状态中的最优先功能状态。有时,并非所有安全配置项皆包含完全相同功能的功能设置。对于硬件系统的每个功能来说,当有效安全配置项不包含对应于所述功能的功能设置时,解析单元130将对应于那个有效安全配置项的功能的功能设置视为对应于所述功能的默认设置以用于对应于所述功能的当前设置的产生。
对于硬件系统的每个功能来说,解析单元130必须组合对应于所述功能的默认设置的功能状态与对应于所述功能的所有有效安全配置项的功能设置的功能状态以产生对应于所述功能的当前设置。当不存在有效安全配置项时,对应于每个功能的当前设置不过是对应于所述功能的默认设置。
图3为本发明的实施例的由硬件配置装置执行的解析过程的一部分的流程图。解析单元130检查在需要组合的功能状态(即,对应于所述功能的默认设置和所有有效安全配置项的功能设置的功能状态)中是否存在任何“从不”状态(步骤310)。当在需要组合的功能状态中存在至少一个“从不”状态时,组合结果为“从不”状态(步骤320)。当在需要组合的功能状态中不存在“从不”状态时,解析单元130检查在需要组合的功能状态中是否存在任何“有条件”状态(步骤330)。当在需要组合的功能状态中存在至少一个“有条件”状态时,组合结果为“有条件”状态(步骤340)。当在需要组合的功能状态中不存在“有条件”状态时,解析单元130检查在需要组合的功能状态中是否存在任何“总是”状态(步骤350)。当在需要组合的功能状态中存在至少一个“总是”状态时,组合结果为“总是”状态(步骤360)。当在需要组合的功能状态中不存在“总是”状态时,组合结果为“不确定”状态(步骤370)。“不确定”状态意味着使对应功能的配置由其它有效安全配置项进行确定。
当图3中的流程结束时,组合结果变为对应于功能的当前设置,且解析单元130将功能的当前设置输出至输出产生单元140。解析单元130的硬件可由于功能状态组合的容易过程而较小且简单。
输出产生单元140产生可由安全配置项配置的硬件系统的每个功能的配置信号145。配置信号145处于两个信号状态(即,断言状态和撤销断言状态)中的一者。当配置信号145处于断言状态时,配置信号145启用对应功能。当配置信号145处于撤销断言状态时,配置信号145停用对应功能。
对于硬件系统的每个功能来说,输出产生单元140根据对应于所述功能的当前设置来确定对应于所述功能的配置信号145被断言还是被撤销断言。进行确定的准则是基于硬件系统的最佳安全性考虑。功能的当前设置在所有功能状态当中越优先,对应配置信号所引起的配置应越安全。
当硬件系统的功能中的一些被停用时,硬件系统较安全。举例来说,当用于外部数据存取的存取端口被停用时,所述存取端口对于硬件系统来说较安全,且当所述存取端口被启用时,所述存取端口对于硬件系统来说较不安全。对于此功能来说,下文表1列出对应于所述功能的当前设置的功能状态与所述功能的配置之间的映射。
表1
功能状态 配置
“从不” 停用功能
“有条件” 有条件地启用功能
“总是” 启用功能
“不确定” 停用功能
根据表1,当对应于功能的当前设置处于“从不”状态或“不确定”状态时,对应于功能的配置信号145被撤销断言。当对应于功能的当前设置处于“有条件”状态且对应于所述功能的硬件系统的运行时间条件为假时,对应于所述功能的配置信号145被撤销断言。当对应于功能的当前设置处于“有条件”状态且对应于所述功能的硬件系统的运行时间条件为真时,对应于所述功能的配置信号145被断言。当对应于功能的当前设置处于“总是”状态时,对应于所述功能的配置信号145被断言。
下文为前述运行时间条件的实例。在此实例中,硬件系统为能够执行指令的处理器或计算机系统。每个指令具有相关联的安全性特权等级(securityprivilege level,简称SPL)。为具有较高安全性特权等级的指令保留硬件系统的一些功能。因此,对应于此被保留功能的运行时间条件可为当前所执行的指令的安全性特权等级是否达到预先设置的阈值。
下文为前述运行时间条件的另一实例。在此实例中,硬件系统为能够执行指令和虚拟机的处理器或计算机系统。为特定虚拟机保留硬件系统的一些功能。因此,对应于此被保留功能的运行时间条件可为特定虚拟机当前是否被执行。
取决于硬件系统的实施方案,可不同地定义运行时间条件。本发明的一些实施例可针对所有功能全局地指定运行时间条件,而一些实施例可针对每个功能独立地指定运行时间条件。
当硬件系统的功能中的一些被启用时,硬件系统较安全。举例来说,出于安全性考虑,较佳启用监视硬件系统中的行动和信息交换以提供针对安全性违例的通知信号的安全性监视功能。对于此功能来说,下文表2列出对应于所述功能的当前设置的功能状态与所述功能的配置之间的映射。
表2
功能状态 配置
“从不” 启用功能
“有条件” 有条件地停用功能
“总是” 停用功能
“不确定” 启用功能
根据表2,当对应于功能的当前设置处于“从不”状态或“不确定”状态时,对应于功能的配置信号145被断言。当对应于功能的当前设置处于“有条件”状态且对应于所述功能的硬件系统的运行时间条件为假时,对应于所述功能的配置信号145被断言。当对应于功能的当前设置处于“有条件”状态且对应于所述功能的硬件系统的运行时间条件为真时,对应于所述功能的配置信号145被撤销断言。当对应于功能的当前设置处于“总是”状态时,对应于所述功能的配置信号145被撤销断言。
总之,对于硬件系统的每个功能来说,对应配置信号145的一个信号状态(被断言或被撤销断言)对于硬件系统来说较安全且对应配置信号145的其它信号状态(被撤销断言或被断言)对于硬件系统来说较不安全。当对应于功能的当前设置处于“从不”状态或“不确定”状态时,输出产生单元140输出处于较安全的信号状态的配置信号145。当对应于功能的当前设置处于“有条件”状态且对应于所述功能的运行时间条件为假时,输出产生单元140输出处于较安全的信号状态的配置信号145。当对应于功能的当前设置处于“有条件”状态且运行时间条件为真时,输出产生单元140输出处于较不安全的信号状态的配置信号145。当对应于功能的当前设置处于“总是”状态时,输出产生单元140输出处于较不安全的信号状态的配置信号145。
硬件系统的操作以电力开启开始,然后根据安全配置项来配置功能的硬件重置。硬件配置装置100应用安全配置项的功能设置的时间可在功能的硬件重置的撤销断言之前,紧接在功能的硬件重置的撤销断言之后,或处于功能的运行时间中。在此,安全配置项的功能设置的应用包含解析单元130提取安全配置项且产生硬件系统的功能的当前设置和输出产生单元140产生配置信号145以根据功能的当前设置来配置硬件系统。
在本发明的实施例中,硬件配置装置100在功能的硬件重置的撤销断言之前应用安全配置项的功能设置。安全配置项预先编程到存储装置110中。硬件配置装置100在硬件系统的主要系统重置信号的撤销断言之前应用安全配置项的功能设置,使得功能在功能的硬件重置期间被重置和配置。在功能的硬件重置之后,硬件系统的相关硬件组件可在其初始化之后见到所要的配置设置。
在本发明的另一实施例中,硬件配置装置100在功能的硬件重置的撤销断言之后应用安全配置项的功能设置。这种配置应用恰好在硬件系统的主要系统重置信号的撤销断言之后发生且在硬件系统的任何常规功能运行之前完成。
在本发明的另一实施例中,硬件配置装置100在运行时间中应用安全配置项的功能设置。配置的此应用是在不经过功能的硬件重置的情况下进行。可将软件重置应用于以此方式进行配置的功能。每当必要时便可进行配置的此应用。举例来说,硬件配置装置100可在硬件系统从虚拟机切换至另一虚拟机时应用安全配置项的功能设置。另一实例是硬件配置装置100可在安全配置项的一个或一个以上字段在运行时间中进行更新之后应用安全配置项的功能设置。
图4为本发明的另一实施例的硬件配置装置的示意图。此实施例中的硬件配置装置100还包含验证单元150、主要配置存取端口(primary configurationaccess port,简称PCAP)160和至少一个次要配置存取端口(secondaryconfiguration access port,简称SCAP)170。验证端口150耦接到接口单元120和解析单元130。主要配置存取端口160耦接到验证单元150。次要配置存取端口170耦接到输出产生单元140和验证单元150。验证单元150、主要配置存取端口160和次要配置存取端口170都是硬件组件。
当在生产线上制造硬件系统时,主要配置存取端口160专用于存储装置110中的安全配置项的初始编程。在运行时间中,主要配置存取端口160不可见且对于硬件系统的软件和硬件两者来说不可存取。次要配置存取端口170用于对安全配置项进行运行时间存取。硬件配置装置100的主控器可通过主要配置存取端口160或次要配置存取端口170来存取安全配置项。在此,术语“主控器”意味着在硬件系统内部或在硬件系统外部的一件软件或硬件。存在三种类型的对安全配置项的存取,即,验证存取、读取存取和写入存取。图4和图5的实施例中的验证单元150处理验证存取和读取存取。图5的实施例中的更新单元180在由验证单元150对写入存取进行验证之后处理写入存取。
在本发明的实施例中,在硬件配置装置100中不实施次要配置存取端口。因此,对安全配置项的所有外部存取皆经过主要配置存取端口160。
当存在实施在硬件配置装置100中的一个或一个以上次要配置存取端口170时,硬件系统中的一个或一个以上次要配置存取端口170的可存取性可受安全配置项中的一个或一个以上功能设置控制。换句话说,一个或一个以上次要配置存取端口170可属于可启用或停用的硬件系统的可配置功能。因此,输出产生单元140将至少一个对应配置信号145输出至一个或一个以上次要配置存取端口170。
安全配置项被布置成阵列。在本发明的实施例中,为硬件系统的最上游供应商保留最初N个安全配置项。N可为零或预先设置的正整数。在此实施例中,验证单元150可将次要配置存取端口170仅限于其它安全配置项。换句话说,对最初N个安全配置项的存取必须经过主要配置存取端口160,而对其它安全配置项的存取可经过主要配置存取端口160或次要配置存取端口170。
如上文所提及,安全配置项被布置成阵列,使得每个安全配置项与阵列中的隐含索引相关联。在存取安全配置项之前,主控器必须指定其想要存取哪一安全配置项。存在三种方式来指定安全配置项。指定安全配置项的最简单方式是将安全配置项的隐含索引提供到验证单元150。
然而,当安全配置项具有固定索引时,所述安全配置项容易被侵入。因而,较佳使用不透明数字作为索引以存取安全配置项阵列,此是指定安全配置项的第二方式。在本发明的实施例中,每个安全配置项包含不透明数字250。安全配置项的合法供应商知道其不透明数字。所述不透明数字优选为随机数字,使得其它人员或供应商无法猜出所述不透明数字且因此无法存取那个安全配置项。
在实施不透明数字的实施例中,当主控器想要存取安全配置项时,主控器通过主要配置存取端口160或次要配置存取端口170将请求和不透明数字发送到验证单元150。验证单元150接收请求和不透明数字。验证单元150使所述请求与不透明数字匹配所接收的不透明数字的有效安全配置项相关联。当不存在不透明数字匹配所接收的不透明数字的有效安全配置项时,验证单元150拒绝所述请求。
大多数读取存取和写入存取需要首先进行验证。验证是由验证单元150在主控器成功指定安全配置项之后进行。当主控器未能指定安全配置项时,验证单元150拒绝请求且验证为不必要的。验证是仅针对有效安全配置项进行。
验证的典型过程是使主控器通过主要配置存取端口160或次要配置存取端口170发送请求以指定要验证的安全配置项,且提供挑战字符串(challengestring)以用安全配置项中的密钥220来检验。验证单元150通过主要配置存取端口160或次要配置存取端口170接收挑战字符串且通过用所请求的安全配置项的密钥来检验挑战字符串而进行验证。当验证通过时,验证单元150将所请求的安全配置项视为经验证的安全配置项。当验证失败时,验证单元150拒绝存取安全配置项的请求。当验证失败时,验证单元150可针对失败执行某一直接响应,例如,将硬件系统暂停或重置。
本发明的一些实施例不在安全配置项中实施项状态字段240。在那些实施例中,硬件配置装置100不具有验证失败的存储器。换句话说,本发明的一些实施例在安全配置项中实施项状态字段240。在那些实施例中,当安全配置项的验证失败的次数达到预定阈值时,所述安全配置项可变为被锁定。
在本发明的实施例中,每个安全配置项包含项状态240。项状态最初为解锁。每当针对安全配置项的验证失败时,验证单元150将安全配置项的验证失败的次数增大一。可将验证失败的次数编码为项状态字段的一部分。或者,安全配置项的验证失败的次数可处于安全配置项的独立字段中。将验证失败的次数连同安全配置项一起存储在存储装置110中,以使得当硬件系统的电力切断时可保留所述次数。
当安全配置项的验证失败的次数达到预定阈值时,验证单元150将安全配置项的项状态从解锁切换为锁定。在达到所述阈值之前,项状态保持在解锁状态,且照旧来确定验证结果。当安全配置项的项状态处于锁定状态时,验证单元150将针对安全配置项进行的任何验证视为失败且安全配置项的项状态保持不变。
当解析单元130产生硬件系统的功能的当前设置时,解析单元130检查每个有效安全配置项的项状态。当任何有效安全配置项的项状态锁定时,解析单元130终止图3中所展示的组合过程且将对应于硬件系统的每个功能的当前设置设置为对应于所述功能的默认设置。在此实施例中,每个功能的默认设置处于“不确定”状态,此意味着对于硬件系统来说对应于每个功能的配置信号处于较安全的状态(被断言或被撤销断言)。
在本发明的实施例中,最初可将安全配置项的项状态设置为处于非可锁定状态。当安全配置项的项状态为非可锁定时,硬件配置装置100不具有针对那个安全配置项的验证失败的存储器。从不将那个安全配置项锁定,不管其验证失败多少次。
默认地,解析单元130基于所有有效安全配置项的功能设置来产生对应于硬件系统的功能的当前设置。在本发明的实施例中,主控器可通过指定安全配置项且将针对所述安全配置项的验证的请求发送到验证单元150以在硬件系统的运行时间中将当前设置的产生限制于有效安全配置项的一个子集。在验证过程之后,验证单元150向解析单元130通知经验证的安全配置项。接下来,对于硬件系统的每个功能来说,解析单元130可通过组合对应于所述功能的默认设置以及从第一个安全配置项到所述经验证的安全配置项的每一个有效安全配置项的对应于所述功能的功能设置来产生对应于所述功能的当前设置。也就是说,经验证的安全配置项变成所述运行时间限制的子集的最末一个安全配置项。
一旦主控器通过针对安全配置项的前述验证过程,验证单元150便可允许主控器存取经验证的安全配置项、无效安全配置项或甚至是其它有效安全配置项。在本发明的一些实施例中,每个安全配置项的密钥字段220仅包含一个密钥。运行时间限制、读取存取和写入存取的验证使用同一密钥。在本发明的一些其它实施例中,每个安全配置项的密钥字段220可包含两个密钥。在运行时间限制的验证中使用一个密钥,而在读取存取和写入存取的验证中使用另一密钥。
当主控器将对安全配置项的读取存取的请求发送到验证单元150且安全配置项的验证通过时,验证单元150可允许主控器读取经验证的安全配置项的一部分,例如,安全配置项的配置选项设置230、项状态240和不透明数字250。出于安全性考虑,在任何状况下密钥字段220均不应可读。当主控器未能指定安全配置项或未能对安全配置项进行验证时,验证单元150拒绝所述请求。
图5为本发明的另一实施例的硬件配置装置的示意图。在此实施例中,硬件配置装置100还包含耦接到接口单元120、输出产生单元140、验证单元150、主要配置存取端口160和次要配置存取端口170的更新单元180。更新单元180处理写入存取的将数据写入到安全配置项中的部分。
另外,在此实施例中,接口单元120可包含镜像存储装置,当存储装置110为非易失性存储装置时,所述镜像存储装置为易失性存储装置。镜像存储装置可用于保留安全配置项的运行时间副本以作为较快存取的高速缓冲存储器,这是因为易失性存储装置通常比非易失性存储装置快。更新单元180和镜像存储装置两者为硬件组件。
在此实施例中,验证单元150可处理对安全配置项的读取存取和写入存取两者。以与图4的实施例中的方式相同的方式来处理读取存取。在主控器将对安全配置项的写入存取的请求发送到验证单元150且安全配置项的验证通过以后,验证单元150可允许主控器对经验证的安全配置项的一部分进行写入存取,例如,对经验证的安全配置项的配置选项设置230和不透明数字250进行写入。当验证失败时,验证单元150拒绝写入存取。
安全配置项具有不同的优先级。在本发明的实施例中,根据优先级的递减次序将安全配置项布置成阵列。换句话说,第一安全配置项具有最高优先级且最末安全配置项具有最低优先级。在主控器针对安全配置项所请求的验证通过时,验证单元150可允许主控器存取优先级低于经验证的安全配置项的优先级的有效安全配置项。出于安全性考虑,验证单元150将主控器的存取限制为仅有两种:清除有效安全配置项的有效位以使有效安全配置项无效,或将有效安全配置项的项状态从锁定切换为解锁。当有效安全配置项的项状态切换至解锁状态时,验证失败的次数被重置。因此,当安全配置项锁定时,仅有对具有较高优先级的另一安全配置项的成功验证可使锁定的安全配置项无效或解锁。
在主控器针对安全配置项所请求的验证通过之后,验证单元150可允许主控器对任何无效安全配置项进行写入存取。可由主控器用新值对整个无效安全配置项进行写入,除非基于有效安全配置项的一些当前设置停用此可存取性。当验证失败时,验证单元150拒绝写入存取。
作为高速缓冲存储器,在更新单元180永久地将改变更新至存储装置110中之前,接口单元120中的镜像存储装置可用作用于收集具有最近改变的完整安全配置项内容的累积之处。在本发明的实施例中,根据基于有效安全配置项的一些当前设置,验证单元150可允许主控器仅对镜像存储装置中的安全配置项进行写入存取。因为镜像存储装置为易失性的,所以由此写入存取进行的改变为临时的且当硬件系统的电力切断时被弃用。
总之,本发明提供基于一个或一个以上安全配置项的对硬件系统的配置机制。硬件系统的较上游的供应商可预先对一些无效安全配置项的密钥字段编程且将对应密钥散布至硬件系统的下游供应商,以用于对安全配置项的验证。最上游的供应商可通过确定将哪个密钥给予哪个供应商来控制哪个供应商可存取哪些安全配置项。每个供应商可存取一个或一个以上安全配置项。另外,可存取高优先级的安全配置项的供应商具有对低优先级的安全配置项的一些控制。尽管硬件系统的功能的配置的最终结果是由所有安全配置项确定,但供应商可根据其在安全配置项中的优先等级独立地配置其硬件系统的功能。指定安全配置项的方式和验证主控器的方式可对安全配置项的功能设置提供安全存取。因此,本发明提供硬件系统的安全多级配置机制,其能够将硬件配置的控制和灵活性提供给供应商,且能够保护硬件系统的价值和完整性。此外,因为功能状态组合的过程简单,所以硬件配置装置的解析单元可较小且廉价。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (26)

1.一种硬件配置装置,属于硬件系统,所述硬件系统包括至少一个功能,其特征在于,所述硬件配置装置包括:
解析单元,对于所述硬件系统的每个所述功能来说,所述解析单元基于对应于所述功能的默认设置和对应于所述功能的多个安全配置项的功能设置来产生对应于所述功能的当前设置;
接口单元,耦接到所述解析单元和存储所述安全配置项的第一存储装置,所述接口单元将所述安全配置项提供到所述解析单元;以及
输出产生单元,耦接到所述解析单元,对于所述硬件系统的每个所述功能来说,所述输出产生单元输出配置信号以根据对应于所述功能的所述当前设置启用或停用所述功能。
2.根据权利要求1所述的硬件配置装置,其特征在于,所述默认设置、所述功能设置和所述当前设置中的每一者处于至少四个功能状态中的一者。
3.根据权利要求2所述的硬件配置装置,其特征在于,对于所述硬件系统的每个所述功能来说,对应于所述功能的所述当前设置为对应于所述功能的所述默认设置和所述安全配置项中的有效者的所述功能设置的所述功能状态中的最优先功能状态。
4.根据权利要求3所述的硬件配置装置,其特征在于,对于所述硬件系统的每个所述功能来说,当所述安全配置项中的有效者不包括对应于所述功能的功能设置时,所述解析单元将所述功能设置视为对应于所述功能的所述默认设置以用于所述当前设置的所述产生。
5.根据权利要求3所述的硬件配置装置,其特征在于,按照降低的优先级,所述功能状态包括第一状态、第二状态、第三状态和第四状态,其中对于所述硬件系统的每个所述功能来说,
所述配置信号处于包括断言状态和撤销断言状态的两个信号状态中的一者,当所述配置信号处于所述断言状态时所述配置信号启用所述功能,且当所述配置信号处于所述撤销断言状态时所述配置信号停用所述功能,所述信号状态中的一者对于所述硬件系统来说较安全且所述信号状态中的另一者对于所述硬件系统来说较不安全,
当对应于所述功能的所述当前设置处于所述第一状态或所述第四状态时,所述输出产生单元输出处于所述较安全的信号状态的所述配置信号,
当对应于所述功能的所述当前设置处于所述第二状态且对应于所述功能的所述硬件系统的运行时间条件为假时,所述输出产生单元输出处于所述较安全的信号状态的所述配置信号,
当对应于所述功能的所述当前设置处于所述第二状态且所述运行时间条件为真时,所述输出产生单元输出处于所述较不安全的信号状态的所述配置信号,
当对应于所述功能的所述当前设置处于所述第三状态时,所述输出产生单元输出处于所述较不安全的信号状态的所述配置信号。
6.根据权利要求1所述的硬件配置装置,其特征在于,每个所述安全配置项包括不透明数字,所述硬件配置装置还包括:
验证单元,耦接到所述接口单元和所述解析单元,接收对所述安全配置项的请求和不透明数字,所述验证单元使所述请求与不透明数字匹配所述所接收的不透明数字的一个有效所述安全配置项相关联,当不存在不透明数字匹配所述所接收的不透明数字的有效安全配置项时所述验证单元拒绝所述请求。
7.根据权利要求1所述的硬件配置装置,其特征在于,每个所述安全配置项包括密钥,所述硬件配置装置还包括:
验证单元,耦接到所述接口单元和所述解析单元,接收对所述安全配置项的请求和来自主控器的挑战字符串,其中所述主控器为在所述硬件系统内部或在所述硬件系统外部的一件软件或硬件,所述验证单元通过用所述所请求的安全配置项的所述密钥来检验所述挑战字符串来进行验证,当所述验证通过时所述验证单元将所述所请求的安全配置项视为经验证的安全配置项,且当所述验证失败时所述验证单元拒绝所述请求。
8.根据权利要求7所述的硬件配置装置,其特征在于,对于所述硬件系统的每个所述功能来说,所述解析单元基于从第一个所述安全配置项到所述经验证的安全配置项的所述安全配置项的对应于所述功能的所述功能设置来产生对应于所述功能的所述当前设置。
9.根据权利要求7所述的硬件配置装置,其特征在于,所述验证单元允许所述主控器对所述经验证的安全配置项的一部分进行读取存取。
10.根据权利要求7所述的硬件配置装置,其特征在于,在所述验证通过以后所述验证单元允许所述主控器对所述安全配置项中的任何无效者进行写入存取。
11.根据权利要求7所述的硬件配置装置,其特征在于,每个所述安全配置项包括项状态,当所述安全配置项的验证失败的次数达到预定阈值时所述验证单元将所述安全配置项的所述项状态从解锁切换至锁定,且所述验证单元将针对项状态为锁定的所述安全配置项进行的任何验证视为失败。
12.根据权利要求11所述的硬件配置装置,其特征在于,当所述安全配置项中的任何有效者的所述项状态为锁定时,所述解析单元将对应于所述硬件系统的每个所述功能的所述当前设置设置为对应于所述功能的所述默认设置。
13.根据权利要求11所述的硬件配置装置,其特征在于,所述验证单元允许所述主控器对所述经验证的安全配置项的一部分进行写入存取。
14.根据权利要求11所述的硬件配置装置,其特征在于,所述验证单元允许所述主控器存取所述安全配置项中的优先级低于所述经验证的安全配置项的优先级的有效安全配置项,且所述存取限于使所述有效安全配置项无效或将所述有效安全配置项的所述项状态从锁定切换至解锁。
15.根据权利要求7所述的硬件配置装置,其特征在于,所述接口单元包括第二存储装置,所述第二存储装置作为存储在所述第一存储装置中的所述安全配置项的高速缓冲存储装置,且所述验证单元允许所述主控器仅对所述第二存储装置中的至少一个所述安全配置项进行写入存取。
16.一种硬件配置装置,属于硬件系统,所述硬件系统包括至少一个功能,其特征在于,所述硬件配置装置包括:
解析单元,对于所述硬件系统的每个所述功能来说,所述解析单元基于对应于所述功能的默认设置和对应于所述功能的一个或一个以上安全配置项的功能设置来产生对应于所述功能的当前设置,所述默认设置、所述功能设置和所述当前设置中的每一者处于至少四个功能状态中的一者;
接口单元,耦接到所述解析单元和存储所述一个或一个以上安全配置项的存储装置,所述接口单元将所述一个或一个以上安全配置项提供到所述解析单元;以及
输出产生单元,耦接到所述解析单元,对于所述硬件系统的每个所述功能来说,所述输出产生单元根据对应于所述功能的所述当前设置输出配置信号以启用或停用所述功能。
17.根据权利要求16所述的硬件配置装置,其特征在于,对于所述硬件系统的每个所述功能来说,对应于所述功能的所述当前设置为对应于所述功能的所述默认设置和所述安全配置项中的有效者的所述功能设置的所述功能状态中的最优先功能状态。
18.根据权利要求17所述的硬件配置装置,其特征在于,按照降低的优先级,所述功能状态包括第一状态、第二状态、第三状态和第四状态,其中对于所述硬件系统的每个所述功能来说,
所述配置信号处于包括断言状态和撤销断言状态的两个信号状态中的一者,当所述配置信号处于所述断言状态时所述配置信号启用所述功能,且当所述配置信号处于所述撤销断言状态时所述配置信号停用所述功能,所述信号状态中的一者对于所述硬件系统来说较安全且所述信号状态中的另一者对于所述硬件系统来说较不安全,
当对应于所述功能的所述当前设置处于所述第一状态或所述第四状态时,所述输出产生单元输出处于所述较安全的信号状态的所述配置信号,
当对应于所述功能的所述当前设置处于所述第二状态且对应于所述功能的所述硬件系统的运行时间条件为假时,所述输出产生单元输出处于所述较安全的信号状态的所述配置信号,
当对应于所述功能的所述当前设置处于所述第二状态且所述运行时间条件为真时,所述输出产生单元输出处于所述较不安全的信号状态的所述配置信号,
当对应于所述功能的所述当前设置处于所述第三状态时,所述输出产生单元输出处于所述较不安全的信号状态的所述配置信号。
19.根据权利要求16所述的硬件配置装置,其特征在于,每个所述安全配置项包括不透明数字,所述硬件配置装置还包括:
验证单元,耦接到所述接口单元和所述解析单元,接收对所述安全配置项的请求和不透明数字,所述验证单元使所述请求与不透明数字匹配所述所接收的不透明数字的一个有效所述安全配置项相关联,当不存在不透明数字匹配所述所接收的不透明数字的有效安全配置项时所述验证单元拒绝所述请求。
20.根据权利要求16所述的硬件配置装置,其特征在于,每个所述安全配置项包括密钥,所述硬件配置装置还包括:
验证单元,耦接到所述接口单元和所述解析单元,接收对所述安全配置项的请求和来自主控器的挑战字符串,其中所述主控器为在所述硬件系统内部或在所述硬件系统外部的一件软件或硬件,所述验证单元通过用所述所请求的安全配置项的所述密钥来检验所述挑战字符串来进行验证,当所述验证通过时所述验证单元将所述所请求的安全配置项视为经验证的安全配置项,且当所述验证失败时所述验证单元拒绝所述请求。
21.根据权利要求20所述的硬件配置装置,其特征在于,对于所述硬件系统的每个所述功能来说,所述解析单元基于从第一个所述安全配置项至所述经验证的安全配置项的所述安全配置项的对应于所述功能的所述功能设置来产生对应于所述功能的所述当前设置。
22.根据权利要求20所述的硬件配置装置,其特征在于,所述验证单元允许所述主控器对所述经验证的安全配置项的一部分进行读取存取。
23.根据权利要求20所述的硬件配置装置,其特征在于,每个所述安全配置项包括项状态,当所述安全配置项的验证失败的次数达到预定阈值时所述验证单元将所述安全配置项的所述项状态从解锁切换至锁定,且所述验证单元将针对项状态为锁定的所述安全配置项进行的任何验证视为失败。
24.根据权利要求23所述的硬件配置装置,其特征在于,当所述一个或一个以上安全配置项中的任何有效者的所述项状态为锁定时,所述解析单元将对应于所述硬件系统的每个所述功能的所述当前设置设置为对应于所述功能的所述默认设置。
25.根据权利要求23所述的硬件配置装置,其特征在于,所述验证单元允许所述主控器对所述经验证的安全配置项的一部分进行写入存取。
26.根据权利要求23所述的硬件配置装置,其特征在于,所述验证单元允许所述主控器存取所述一个或一个以上安全配置项中的优先级低于所述经验证的安全配置项的优先级的有效安全配置项,且所述存取限于使所述有效安全配置项无效或将所述有效安全配置项的所述项状态从锁定切换至解锁。
CN201410558213.6A 2014-04-10 2014-10-20 硬件配置装置 Pending CN104978513A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/249,365 US20150293862A1 (en) 2014-04-10 2014-04-10 Hardware configuration apparatus
US14/249,365 2014-04-10

Publications (1)

Publication Number Publication Date
CN104978513A true CN104978513A (zh) 2015-10-14

Family

ID=54265183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410558213.6A Pending CN104978513A (zh) 2014-04-10 2014-10-20 硬件配置装置

Country Status (4)

Country Link
US (1) US20150293862A1 (zh)
JP (1) JP2015204095A (zh)
CN (1) CN104978513A (zh)
TW (1) TWI526873B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674067A (zh) * 2019-09-23 2020-01-10 中国科学院微小卫星创新研究院 一种硬件间通信仿真的配置连接系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011419A1 (en) * 2005-07-07 2007-01-11 Conti Gregory R Method and system for a multi-sharing security firewall
CN101238669A (zh) * 2005-07-15 2008-08-06 微软公司 自动生成连接安全规则
CN101968838A (zh) * 2010-09-29 2011-02-09 北京握奇数据系统有限公司 一种浏览器及配置安全浏览器的方法
CN102369713A (zh) * 2011-08-29 2012-03-07 华为技术有限公司 系统配置项的自动迁移方法和设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138416A1 (en) * 2003-12-19 2005-06-23 Microsoft Corporation Object model for managing firewall services
JP2006338480A (ja) * 2005-06-03 2006-12-14 Mitsubishi Electric Corp 処理装置
JP5548497B2 (ja) * 2010-03-29 2014-07-16 株式会社沖データ 情報処理装置及び認証システム
JP5775738B2 (ja) * 2011-04-28 2015-09-09 富士通株式会社 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム
JP2013003605A (ja) * 2011-06-10 2013-01-07 Sharp Corp 情報端末、情報端末の制御方法、制御プログラムおよび記録媒体
US9465755B2 (en) * 2011-07-18 2016-10-11 Hewlett Packard Enterprise Development Lp Security parameter zeroization
US9003560B1 (en) * 2012-06-05 2015-04-07 Rockwell Collins, Inc. Secure enclosure with internal security components

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011419A1 (en) * 2005-07-07 2007-01-11 Conti Gregory R Method and system for a multi-sharing security firewall
CN101238669A (zh) * 2005-07-15 2008-08-06 微软公司 自动生成连接安全规则
CN101968838A (zh) * 2010-09-29 2011-02-09 北京握奇数据系统有限公司 一种浏览器及配置安全浏览器的方法
CN102369713A (zh) * 2011-08-29 2012-03-07 华为技术有限公司 系统配置项的自动迁移方法和设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674067A (zh) * 2019-09-23 2020-01-10 中国科学院微小卫星创新研究院 一种硬件间通信仿真的配置连接系统和方法
CN110674067B (zh) * 2019-09-23 2021-06-29 中国科学院微小卫星创新研究院 一种硬件间通信仿真的配置连接系统和方法

Also Published As

Publication number Publication date
JP2015204095A (ja) 2015-11-16
TW201539244A (zh) 2015-10-16
US20150293862A1 (en) 2015-10-15
TWI526873B (zh) 2016-03-21

Similar Documents

Publication Publication Date Title
US10831826B2 (en) Validation of schema and schema conformance verification
CN1983245B (zh) 用于配置信息处理系统集成电路的系统和方法
US20210382832A1 (en) Securing a memory device
US10866747B2 (en) Securing a memory drive
US20160246957A1 (en) Method and Apparatus for Controlling Debug Port of Terminal Device
US20140366131A1 (en) Secure bus system
CN101594360A (zh) 局域网系统和维护局域网信息安全的方法
US20170192870A1 (en) Accessing hidden diagnostic registers
CN103164789A (zh) 一种带安全校验的debug电路结构及其实现方法
US11003801B2 (en) Functional device and control apparatus
CN111414605A (zh) 嵌入式安全单元的解锁方法、装置、电子设备及存储介质
CN111856257B (zh) 一种cpld固件检测及保护的方法、系统、设备及介质
CN100561527C (zh) 改进的智能卡系统
KR101976717B1 (ko) Can에 대한 안전한 디바이스 인증 및 권한 제어 방법
CN104978513A (zh) 硬件配置装置
EP3929783B1 (en) Devices and methods to secure a system on a chip
US11100230B1 (en) Modular embedded chassis with firmware for removably coupled compute devices, and methods and systems for the same
CN110462624B (zh) 用于安全地隔离系统特征的系统和方法
US11023591B2 (en) Data processing system having distributed security controller with local control and method for securing the data processing system
CN113204763A (zh) 一种cpld接收数据的方法、系统、存储介质及设备
CN100549904C (zh) 软件的使用限制方法
CN117648685B (zh) 服务器更新过程的校验方法、装置、设备及可读存储介质
US9910794B2 (en) Processing data
US10936459B2 (en) Flexible microcontroller support for device testing and manufacturing
CN111260238B (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151014