CN101174292B - 用于可靠操作系统引导的方法 - Google Patents

用于可靠操作系统引导的方法 Download PDF

Info

Publication number
CN101174292B
CN101174292B CN2007101849792A CN200710184979A CN101174292B CN 101174292 B CN101174292 B CN 101174292B CN 2007101849792 A CN2007101849792 A CN 2007101849792A CN 200710184979 A CN200710184979 A CN 200710184979A CN 101174292 B CN101174292 B CN 101174292B
Authority
CN
China
Prior art keywords
hard disk
disk drive
computer system
bios
guidance information
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
Application number
CN2007101849792A
Other languages
English (en)
Other versions
CN101174292A (zh
Inventor
E·皮科克
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN101174292A publication Critical patent/CN101174292A/zh
Application granted granted Critical
Publication of CN101174292B publication Critical patent/CN101174292B/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2135Metering

Landscapes

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

Abstract

本发明提供了一种用于操作付费后使用计算机系统(100)的基本输入/输出系统(BIOS)的方法。在一个示例性实施例中,所述方法包括:确定用户密码特征是否在硬盘驱动器(130)上被激活,并且如果所述密码特征被激活,则计算密码以对所述硬盘驱动器(130)进行解锁。在另一个示例性实施例中,所述方法包括执行引导信息的校验和验证。在又一个示例性实施例中,所述方法包括在所述硬盘驱动器(130)上的非标准位置保存引导信息的各部分,并且使用算子来合并所述各部分。

Description

用于可靠操作系统引导的方法
相关申请的交叉引用 
本申请是在2006年5月22日提交的标题为“A Method OfControlling Computer System Operation”的美国临时申请No.________的优先权下所提交的非临时申请,上述申请在此被引入作为参考。此外,本申请与申请号为No.________的美国申请同时提交,该申请所公开的内容在此被引入作为参考。 
背景技术
这一部分旨在向读者介绍可能与在下面将描述和要求的本发明的各个方面相关的本领域的各个方面。相信此论述有助于为读者提供背景信息以便于更好地理解本发明的各个方面。因此,应当理解的是,以这种角度来阅读这些陈述,而不是作为对现有技术的承认。 
对于大多数人来说,购买计算机系统是昂贵的。在发展中国家尤其是这样。为了减少所有权的最初费用,已开发出一种“付费后使用(pay-as-you-go)”的商业模式。在“付费后使用”的商业模式中,最初以相当大的折扣销售计算机系统。可以预见到,通过销售这样的计算机系统的计算机使用时间,以折扣价格提供计算机的费用能够随时间推移而得到补偿。 
然而,对于以不再要求对使用付费这样的方式遭受破坏(hacked)的计算机系统来说,付费后使用模式是易受攻击的。在没有安全措施的情况下,用户可以轻易地替换操作系统,并由此免费使用计算机。另外,由于计算机系统最初是以折扣价销售的,所以购买者会试图出售作为组件部分的计算机系统硬件(例如,硬盘驱动器和监视器),以希望获得超过计算机系统最初售价的利润。一种解决方案需要使用密码芯片,例如受信平台模块(trusted platform module,TPM)。然而,这种解决方案并不是零成本的解决方案,原因在于这种解决方案因主板的设计和制造而产生费用,并且不能与当前的零售模式共享库存。 
附图说明
接下来将参考附图在如下详细说明中描述某些示例性实施例,其 中: 
图1图示了根据本发明一个示例性实施例的计算机系统的框图; 
图2图示了根据本发明一个示例性实施例的图1的计算机系统的硬盘驱动器的框图; 
图3图示了根据本发明一个示例性实施例的BIOS操作的流程图,其中BIOS从图2的示例性硬盘驱动器上的非标准位置读取引导信息; 
图4图示了根据本发明一个示例性实施例的BIOS操作的流程图,其中BIOS仅从具有适当密码保护的硬盘驱动器(例如图2的硬盘驱动器)加载引导信息; 
图5图示了根据本发明一个示例性实施例的BIOS操作,其中使用MD5散列(hash)或CRC/校验和来核实硬盘驱动器(例如图2的硬盘驱动器); 
图6是图示根据本发明一个示例性实施例的计算机系统的操作的流程图,其中BIOS开启监视计时器;以及 
图7是图示根据本发明一个示例性实施例的计算机系统的操作的流程图,其中BIOS把存储在主板上的时间计数与存储在硬盘驱动器(例如图2的硬盘驱动器)上的时间计数进行比较。 
具体实施方式
以下将描述本发明的一个或多个示例性实施例。致力于提供这些实施例的简明描述,在本说明书中不会描述实际实施方式中的全部特征。应当理解的是,在任何这样的实际实施方式的开发中(如工程或设计项目中),必须做出多个实施方式所特有的决策来达到开发者的特定目标(例如符合跟系统相关或跟商业相关的约束),每种实施方式在这一点上与其它实施方式不尽相同。此外,应当理解的是,这样的开发工作可能是复杂并耗时的,尽管如此其对于得益于本公开的本领域技术人员来说,将会是承担了设计、加工和制造的例行事务。 
在此公开了在不需要开发及实施新的和/或附加的硬件的情况下确保“付费后使用”计算机系统上的操作系统的引导的技术。特别地,提供了这样的零成本系统和方法,所述系统和方法用于阻止替换付费后使用计算机系统中的计量软件并且还用于阻止拆卸付费后使用计算机系统来出售其组件部分。 
安装在付费后使用计算机系统上的计量软件的适当操作考虑仅在购买了使用时间之后使用所述计算机系统,并且由此考虑到将会可行的付费后使用商业模式。为了阻止以使计量软件失效的方式来修改软件或硬件,可以采用多种方式设计BIOS。例如,如将在以下详细讨论的,BIOS可以被设计成从硬盘驱动器的非标准位置加载初始引导信息。而且,所述引导信息可以被分为两个或更多部分,并被存储在硬盘驱动器的相互独立的扇区中,BIOS合并两个部分来获得正确的引导信息。此外,可以采用模糊方式对引导信息的两个或更多部分进行修改,从而仅仅通过使用各种类型的算子来合并各部分就能够获得所述引导信息。此外,BIOS可以被设计成验证硬盘驱动器包含正确的引导信息。例如,BIOS可以被配置成对初始引导信息全部或一部分执行消息摘要算法5(MD5)散列或循环冗余码校验(CRC)/校验和来获得第一校验值,并且将其与已知的MD5散列或CRC/校验和校验值进行比较。而且,BIOS可以被设计成仅允许从密码保护的硬盘驱动器引导。此外,BIOS可以被设计成开启计时器,所述计时器被具有计量软件的操作系统周期性地重置。除此之外,BIOS可以被设计成把存储在主板上的时间计数与保存在硬盘驱动器上的时间计数进行比较。这些BIOS特征中的每一个特征都可以单独使用或者以任意组合的形式使用,从而确保在不使所述付费后使用计算机系统不可用的情况下不能修改或分解该系统。 
转向图1,图示了一种根据本发明示例性实施例的计算机系统,并且该系统总体上用附图标记100来标明。计算机系统100包括处理器102,所述处理器102可以包括一个或多个中央处理单元(CPU)。处理器102可以经由总线104与核心逻辑芯片组106耦合。所述核心逻辑芯片组106可以代表处理器102管理多种功能。 
核心逻辑芯片组106可以经由存储器总线108连接至随机访问存储器(RAM)110,所述随机访问存储器110可以是静态随机访问存储器(SRAM)、动态随机访问存储器(DRAM)或其它适合的存储器。RAM110可以是保存常驻存储器文件或其它信息的共享系统存储器。在计算机系统100的操作期间,操作系统可以被载入RAM 110以供计算机系统100执行。根据该示例性实施例,由处理器102执行的操作系统是这样的操作系统,其被配置成根据付费后使用商业模式来计量使用。一个这样的示例是经修改而包括计量软件的Microsoft Windows
Figure 2007101849792_0
XP操作系 统。视频图形控制器112也可以经由视频总线114连接至核心逻辑芯片组106,以提供信号,该信号在视频显示器116上生成显示图像。 
总线118(例如外围组件互连(PCI)总线等)可以把核心逻辑芯片组106连接至多种系统设备,例如网络接口卡120。所述网络接口卡120可以经由通信总线122向计算机系统100提供通信能力。所述通信总线122可以是物理和/或无线连接,并且可以被连接至其它计算机系统。此外,计时器/时间计数124可以被连接至总线118。如将在以下详细讨论的,所述计时器/时间计数124可以被执行以便检测非计量操作系统何时已被引导到计算机系统100上,或者检测硬盘驱动器130何时已被替换。计时器/时间计数的功能可以由与计算机标准时钟电路交互的软件来执行。 
PCI/ATA控制器128可以提供对诸如硬盘驱动器130之类的附加设备的访问。所述硬盘驱动器130可以经由ATA总线132连接至PCI/ATA控制器128。PCI/EIFA/LPC桥134可以经由总线136提供对诸如只读存储器(ROM)138、调制解调器140等之类的系统设备的访问。ROM 138或诸如闪存之类的其它非易失性存储器存储着基本输入/输出系统(BIOS)。BIOS加载操作系统,所述操作系统被配置成根据付费后使用商业模式来计量使用。可以被连接至总线136的输入/输出控制器142经由总线144提供对诸如CD ROM 146、键盘148、鼠标150、串行端口152和软盘驱动器154之类的系统设备的访问。 
在传统计算机系统中,BIOS从硬盘驱动器130的标准位置加载引导信息,所述标准位置是硬盘驱动器的第一个物理扇区,并且通常称之为主引导记录(MBR)。相比之下,根据本发明的一个示例性实施例,计算机系统100的BIOS可以被设计成从非标准位置加载引导信息。所述引导信息可以包括分区数目、主分区大小、主分区类型和磁盘签名。图2图示了硬盘驱动器130,其中标准引导信息位置200不包含引导信息。所述标准引导信息位置200可以只是满零,或者替代性地,可以包含伪引导信息。在标准引导信息位置200中放置伪引导信息可以欺骗潜在的攻击者,使其相信标准引导信息位置200保存着有效的引导信息,而实际上并非如此。修改BIOS以从一个或多个不同的扇区来加载引导信息,可以防止加载标准操作系统映象或任何其它标准软件工具程序。 
为了防止潜在的攻击者仅通过扫描硬盘驱动器130来发现引导信息 的位置,所述引导信息可以被分为两个或更多部分,并被存储在硬盘驱动器130上的相互独立扇区中。例如,如图2所示,引导信息的第一部分被存储在第一位置202,而引导信息的第二部分被存储在第二位置204。所述两个部分的任一部分或二者可以位于硬盘驱动器上的非标准位置中。此外,可以采用模糊方式对引导信息的两个或更多部分进行修改,从而仅仅通过使用各种类型的算子(例如AND、OR、NOT或XOR)来合并各部分就能够获得所述引导信息。例如,所述第一部分可以是所有偶数位被设置为零的引导信息的拷贝,而所述第二部分可以是所有奇数位被设置为零的引导信息的拷贝,从而可以通过对这两个部分执行逐字节(bytewise)逻辑OR操作就能够获得引导信息。图2还图示了操作系统206被存储在硬盘驱动器130上。所述操作系统206是计量操作系统。它可以跟踪计算机系统100的使用量,并且只有当用户已为使用时间付费之后该系统才允许计算机系统100被使用。例如,用户可以从卖主购买具有一定使用时间量的卡,所述使用时间量与对应于该特定卡的账号相关联。用户可以把所述账号输入计算机系统100来使用计算机系统100。 
在一个示例性实施例中,引导信息仅被存储在非标准位置中,并且BIOS被设计成从所述非标准位置进行加载。图3所示的流程图220图示了被设计成从两个硬盘驱动器位置读取引导信息的BIOS的另一种示例性技术。所述两个位置中的任一位置或二者可以是非标准的。最初,计算机系统100被上电(块222)并且BIOS被激活(块224)。经修改的BIOS从硬盘驱动器上的非标准位置读取引导信息的第一部分(块226)。BIOS接着从第二位置读取引导信息的第二部分(块228),并且使用一个或多个适当类型的算子来合并所述第一部分和第二部分(块230)。在获得了引导信息之后,BIOS根据所获得的引导信息继续进行引导(块232)。 
根据本发明的替代性的示例性实施例,BIOS 138可以被设计成仅允许从密码保护的硬盘驱动器进行引导。对硬盘驱动器的密码保护是在ATA/ATAPI-7 V1规范中定义的可选特征,并且对于硬盘驱动器卖主是固件选项。所述密码保护常常由BIOS使用来防止对硬盘驱动器的访问,直至用户在引导期间输入密码。然而,根据本发明的一个替代性实施例,BIOS提供了经计算的密码,而不是用户输入密码。以下将讨论 密码计算的细节,但只是简要地解释,ATA规范考虑32字节的密码,所述密码是通过把恒定的24字符全局唯一标识符(GUID)与8字符循环冗余码校验(CRC)相连接而计算得出的。所述CRC是根据存储在BIOS中的若干参数而计算的,所述参数包括计算机系统100的序列号。这样,每个系统的密码是唯一的,并且不能轻易地通过互联网被发现或泄漏。可以通过改变每个新主板的GUID而获得额外的保护。 
当从诸如软盘驱动器或CD ROM之类的其它设备引导计算机系统100时,硬盘驱动器130保持锁定。例如,这样就防止了用户从可引导的CD ROM安装操作系统的新拷贝。此外,硬盘驱动器130的再销售价值实际上为零,原因在于它被密码保护并且数据不能在其它系统上被访问。除此之外,所述主板不能被用来引导其它硬盘驱动器,这是因为它要求以正确密码保护的硬盘驱动器。 
根据本发明的一个示例性实施例,图4所示的流程图250示范了这样的在有密码保护的硬盘驱动器的情况下BIOS的操作。最初,计算机系统100被上电(块222)并且BIOS被激活(块224)。所述BIOS依据引导序列检查引导设备(块252),典型地遵循以下的引导序列:检查软盘驱动器154、CD ROM 146,之后是硬盘驱动器130。BIOS确定引导序列中的每个设备是否是硬盘驱动器130(块254)。如果所述设备不是硬盘驱动器130,则BIOS确定该设备是否是可引导的(块256)。如果它不是可引导的,则BIOS检查引导序列中的下一个设备(块252)。然而,如果所述设备是可引导的,则BIOS将从该设备继续进行引导(块258)。 
如果所述设备被确定是硬盘驱动器130,则BIOS确定密码特征是否被激活(块260)。如果所述密码特征没有被激活,则BIOS检查引导序列中的下一个设备(块252)。然而,如果所述密码特征被激活,则BIOS计算硬盘驱动器130的密码(块262),所述密码被发送至硬盘驱动器130(块264)并且被检查其有效性(块266)。如果所述密码无效,则BIOS不从硬盘驱动器130进行引导并且检查引导序列中的下一个设备(块252)。替代性地,如果所述密码是有效的,则BIOS确定硬盘驱动器130是否是可引导的(块268)。如果硬盘驱动器130被确定是不可引导的,则发出引导失败消息(块270)。然而,如果确定硬盘驱动器130是可引导的,则BIOS使用硬盘驱动器130继续进行引 导(块258)。如果最终没有发现可引导的密码保护的硬盘驱动器,则可以发出引导失败消息。 
密码生成是相对快速且易于计算的,原因在于每当对硬盘驱动器130循环上电时(例如在计算机系统100的上电或重置期间),BIOS都重新计算密码并将该密码提供给硬盘驱动器130。如上所述,ATA规范考虑到SECURITY UNLOCK COMMAND的字1-16中的32字节的密码。所述密码可以通过按次序取SMBIOS 2.4字段并计算32位CRC值而获得。特别地,取Type 1序列号,Type 1 SKU号和Type 1 Family号,并且计算32位CRC值,所述32位CRC值表示为8个十六进制大写ASCII字符。所述密码的剩余24个字符可以被设置成固定的24字符串。该24字符串在将来用于不同主板时可以被改变(所述不同主板实施不同的BIOS),从而在CRC算法被折衷的情况下作为额外的安全措施。 
所述32位CRC使用工业标准CRC32多项式,所述多项式是具有开始值0xFFFFFFFF的0x04C11DB7。现有技术中可找到许多如何在汇编语言中执行CRC32的示例。现有两种常见方法。在第一种方法中,在输入每个字节之后使用移位和XOR的组合来计算新的CRC。这种方法对于汇编语言编码是方便的,原因在于其便于每次提供输入一个字节。所述编码非常紧凑并且相当快。在第二种方法中,在输入每个字节之后使用查表法计算新的CRC。第二种方法更快,但是与第一种方法相比其使用了更多存储器。可以在运行时间计算所述表并且将其存储在RAM中,或者替代性地,可以将其存储在ROM或其他非易失性存储器中。 
密码保护的硬盘驱动器130提供特定的保护级别,然而,还可以实施另一个替代性的示例性实施例来阻止其他类型的攻击。例如,一旦计算机系统100已从硬盘驱动器130引导,并且密码已被提供至硬盘驱动器130,那么如果攻击者设法安装不具有计量软件的新版本操作系统,则付费后使用软件会被绕过。为了防止发生这种情况,BIOS可以被修改以验证所述硬盘驱动器130包含正确的引导信息。例如,BIOS可以被配置成对引导信息的一部分或全部执行消息摘要算法5(MD5)散列或CRC/校验和来获得第一校验值,并且将其与用BIOS存储的已知MD5散列或CRC/校验和校验值进行比较。只有当校验值匹配时才允许系统引导。 
当前,若干计算机制造商使用客户主引导记录(MBR)。在制造期 间,客户MBR的MD5散列或CRC/校验和可以用BIOS求出并存储。所述MBR是BIOS在引导计算机系统100时,从硬盘驱动器130加载并执行的第一条代码。所述MBR包含引导信息,例如主分区数目、类型和大小以及磁盘签名。在操作系统的安装期间,所述MBR被替代以与新的操作系统相兼容。根据现有技术,经修改的、执行MD5散列或CRC/校验的BIOS防止硬盘分区结构、磁盘签名、初始引导代码或可引导分区中的任何变化,原因在于新的操作系统安装很有可能会改变上述参数中的一个或多个。 
转向图5,根据本发明的一个示例性实施例,所示的流程图280图示了使用MD5散列或CRC/校验和来核实初始引导信息。计算机系统100被上电(块222)并且BIOS被激活(块224)。BIOS从硬盘驱动器130读取初始引导信息(块282),并且根据从硬盘驱动器130所读取的初始引导信息来计算MD5散列或CRC/校验和(块284)。BIOS然后确定所述MD5散列或CRC/校验和是否与用BIOS存储的已知可靠值相匹配(块286)。如果所述MD5散列或CRC/校验和不匹配,则发出安全错误(块288)。替代性地,如果它们确实匹配,则BIOS继续使用初始引导信息进行引导(块290)。 
在又一个替代性实施例中,BIOS可被设计成开启监视计时器(watchdog timer),例如计时器124,所述监视计时器被配置成由付费后使用操作系统的计量软件周期性地重置。此外,用于重置所述监视计时器的操作系统组件可以包括用于确定计量系统完整性的软件校验。如果所述监视计时器124被允许期满,则计算机系统100显示消息,该消息指示发生了安全侵犯(security violation)。根据本发明的一个示例性实施例,图6图示了描述这种技术的流程图300。最初,计算机系统100被上电(块222)并且BIOS被激活(块224)。BIOS开启监视计时器124(块302)并且加载操作系统(块304)。如果所述操作系统未能重置监视计时器124(块306),则监视计时器124超时(块308)并且发出用于指示安全侵犯的消息(块310)。然而,如果所述操作系统重置了计时器(块306),则BIOS接着确定计量系统是否在所述操作系统内是可操作的(块312)。如果所述计量系统没有运行,则发出用于指示安全侵犯的消息(块310)。替代性地,如果确定所述计量系统正在运行,则计算机系统100可以继续运行(块314)。 
因此,监视计时器124的使用防止了以不对所述监视计时器124进行重置的操作系统版本来取代付费后使用操作系统。此外,对计量系统完整性的监视保护了操作系统的监视重置部分,使其免于被移植到不包括“付费后使用”计量组件的操作系统版本中。 
在又另一个替代性实施例中,BIOS可被修改成比较两个或更多计时器。特别地,可以把存储在计算机系统100的主板上且用于表示主板使用时间的时间计数与存储在硬盘驱动器130上且用于表示硬盘使用时间的时间计数进行比较。根据该示例性实施例,所述计时器/时间计数124可以表示存储在主板上的时间计数,并且可以由所述操作系统的付费后使用计量软件对其进行更新。存储在硬盘驱动器130上的时间计数可以被存储在自我监控和报告(self-monitoring and reporting)(SMART)数据中,并且可以由硬盘驱动器固件对其进行更新。 
如果所述时间计数的比较表明了重大的差异,例如大于阈值量的差异,则检测到了安全侵犯并发出安全侵犯消息。因计时器漂移而导致的差异可以通过以下方式得到补偿:在每次购买额外的使用时间的情况下,使硬盘驱动器130时间计数和存储在主板上的计时器124的时间计数同步。因此,一种确定所述阈值的可能性可以取决于可被购买的使用时间的增加幅度。例如,如果可以采用40、80和120小时的增量来购买使用时间,则所述阈值可设置为近似120小时,以便排除误检安全侵犯的可能性。由于主板上的时间计数通过使用时间的增加而仅与硬盘驱动器上的时间计数同步,所以可以检测不具有适当计量系统的操作系统的安装。例如,如果计算机系统100不再运行正确的“付费后使用”软件,则计时器124的时间计数不会得到更新,而硬盘驱动器130的时间计数会得到更新。这两个时间计数很快变得非常不同,从而可以检测到安全侵犯。 
通常,当攻击者试图攻击系统,他们会获得所述攻击是否奏效的即时反馈。双计时器的实现方式考虑到攻击者实际攻击所述系统的时间和安全侵犯被检测和指示的时间之间的延迟时间,从而使得攻击者更加难以发觉是什么造成了安全破坏。使用在此所公开的计时器技术,最初会出现的情形是:攻击仅会对稍后就会失效的系统奏效。 
转向图7,根据本发明的一个示例性实施例,所示出的流程图320图示了所述双计时器技术。最初,计算机系统100被上电(块222)并 且BIOS被激活(块224)。BIOS把存储在主板上的时间计数与存储在硬盘驱动器130上的时间计数进行比较(块322)。BIOS接着确定所述时间计数之间的差异是否在阈限值之内(块324)。如果所述时间计数之间的差异超出阈限值,则发出用于指示安全侵犯的消息(块326)。 
如果所述时间计数之间的差异在阈限值之内,则引导操作系统(块340)。一旦所述操作系统被引导,就确定是否有时间被增加到账户(块342)。如果有时间被增加到账户,则使存储在主板上的时间计数与存储在硬盘驱动器上的时间计数同步(块344),并且计算机继续运行(块346)。 
如上所述,在此所公开的一个或多个特定实施例可以与在此所公开的其他示例性实施例组合使用。所述示例性实施例在不会招致费用的情况下提供了适当的安全等级和制止效果。特别地,所述示例性实施例能够在标准主板和底盘上实施。此外,由于没有使用标准引导过程,所述方法阻止了诸如DOS工具之类的标准工具的使用,从而可以抵抗使用那些工具而进行的攻击。 

Claims (10)

1.一种用于操作付费后使用计算机系统(100)的基本输入/输出系统BIOS的方法,包括:
确定用户密码特征是否在硬盘驱动器(130)上被激活,并且
当所述用户密码特征没有被激活时,拒绝从所述硬盘驱动器(130)进行引导;
当所述用户密码特征被激活时:
计算密码;
把所述密码发送至硬盘驱动器(130);
如果所述密码有效,则对所述硬盘驱动器(130)进行解锁。
2.如权利要求1所述的方法,进一步包括:当所述用户密码特征没有被激活时,检查引导序列中的下一个设备。
3.如权利要求1所述的方法,进一步包括:在所述密码有效的情况下对所述硬盘驱动器(130)进行解锁之后,进一步确定所述硬盘驱动器(130)是否是可引导的;
如果所述硬盘驱动器(130)不是可引导的,则发出引导失败消息;以及
如果所述硬盘驱动器(130)是可引导的,则继续进行引导。
4.如权利要求3所述的方法,包括:
开启计时器(124),所述计时器(124)被配置成:如果所述计时器(124)没有被周期性重置,则发出安全侵犯消息;和
引导操作系统,所述操作系统被配置成:周期性地重置所述计时器(124),所述操作系统验证用于所述付费后使用计算机系统的计量系统是否正在运行;以及
如果确定所述计量系统没有在运行,则发出安全侵犯消息。
5.如权利要求3所述的方法,包括:
把存储在计算机系统(100)的主板上的第一时间计数与存储在硬盘驱动器上的第二时间计数进行比较;
如果所述第一和第二时间计数之间的差异大于阈值量,则锁定所述计算机系统(100);以及
当为所述付费后使用计算机系统(100)购买额外时间时,使用所述第二时间计数来同步所述第一时间计数。
6.如权利要求1所述的方法,包括:
激活BIOS来引导所述付费后使用计算机系统(100);
从硬盘驱动器(130)上的非标准位置读取引导信息;以及
使用所述引导信息来引导所述计算机系统(100)。
7.如权利要求6所述的方法,包括:
从硬盘驱动器(130)上的第一位置读取引导信息的第一部分(202);
从所述硬盘驱动器(130)上的第二位置读取引导信息的第二部分(204);
合并所述引导信息的第一和第二部分(202和204);以及
使用通过合并所述引导信息的第一和第二部分(202和204)而获得的引导信息来继续引导所述计算机系统(100)。
8.如权利要求7所述的方法,其中所述第一位置和第二位置这二者都不是所述硬盘驱动器(130)的标准引导扇区(200)。
9.如权利要求1所述的方法,包括:
对引导信息执行校验和、消息摘要算法5(MD5)和循环冗余码校验(CRC)之一来获得第一校验值;
把所述第一校验值与用BIOS存储的第二校验值进行比较;以及
如果所述第一和第二校验值不匹配,则发出安全错误。
10.如权利要求1所述的方法,包括:
开启计时器(124),所述计时器被配置成:如果所述计时器(124)没有被周期性重置,则发出安全侵犯消息;和
引导操作系统,所述操作系统被配置成:周期性地重置所述计时器(124),所述操作系统验证用于所述付费后使用计算机系统的计量系统是否正在运行;以及如果确定所述计量系统没有在运行,则发出安全侵犯消息。
CN2007101849792A 2006-10-31 2007-10-31 用于可靠操作系统引导的方法 Expired - Fee Related CN101174292B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/590,227 US7984283B2 (en) 2006-05-22 2006-10-31 System and method for secure operating system boot
US11/590,227 2006-10-31
US11/590227 2006-10-31

Publications (2)

Publication Number Publication Date
CN101174292A CN101174292A (zh) 2008-05-07
CN101174292B true CN101174292B (zh) 2013-01-02

Family

ID=39331796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101849792A Expired - Fee Related CN101174292B (zh) 2006-10-31 2007-10-31 用于可靠操作系统引导的方法

Country Status (3)

Country Link
US (1) US7984283B2 (zh)
CN (1) CN101174292B (zh)
MX (1) MX2007013590A (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122258B2 (en) * 2006-05-22 2012-02-21 Hewlett-Packard Development Company, L.P. System and method for secure operating system boot
US7844808B2 (en) * 2006-12-18 2010-11-30 Microsoft Corporation Computer compliance enforcement
US7917741B2 (en) * 2007-04-10 2011-03-29 Standard Microsystems Corporation Enhancing security of a system via access by an embedded controller to a secure storage device
US20090070572A1 (en) * 2007-09-11 2009-03-12 Mark Shahaf Method and apparatus for portable computing environment
US8392762B2 (en) * 2008-02-04 2013-03-05 Honeywell International Inc. System and method for detection and prevention of flash corruption
US20100088501A1 (en) * 2008-10-02 2010-04-08 Phoenix Technologies Ltd Post speedup in oprom systems with intervention support
TWI399647B (zh) * 2009-10-15 2013-06-21 Wistron Corp 回復電腦系統之基本輸出入系統之方法及相關電腦系統
JP5380604B2 (ja) 2010-03-26 2014-01-08 株式会社東芝 情報記録装置
US11297045B2 (en) 2010-03-26 2022-04-05 Kioxia Corporation Information recording apparatus with shadow boot program for authentication with a server
US8996851B2 (en) * 2010-08-10 2015-03-31 Sandisk Il Ltd. Host device and method for securely booting the host device with operating system code loaded from a storage device
CN102693390B (zh) * 2011-03-24 2017-08-15 研祥智能科技股份有限公司 租赁式主板以及控制主板租赁的方法
US8880989B2 (en) * 2012-01-30 2014-11-04 Microsoft Corporation Educating users and enforcing data dissemination policies
US9087039B2 (en) 2012-02-07 2015-07-21 Microsoft Technology Licensing, Llc Language independent probabilistic content matching
US8924351B2 (en) * 2012-12-14 2014-12-30 Lsi Corporation Method and apparatus to share a single storage drive across a large number of unique systems when data is highly redundant
US9798880B2 (en) 2013-11-13 2017-10-24 Via Technologies, Inc. Fuse-enabled secure bios mechanism with override feature
US10055588B2 (en) 2013-11-13 2018-08-21 Via Technologies, Inc. Event-based apparatus and method for securing BIOS in a trusted computing system during execution
US10095868B2 (en) 2013-11-13 2018-10-09 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US10049217B2 (en) 2013-11-13 2018-08-14 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9767288B2 (en) 2013-11-13 2017-09-19 Via Technologies, Inc. JTAG-based secure BIOS mechanism in a trusted computing system
US9367689B2 (en) * 2013-11-13 2016-06-14 Via Technologies, Inc. Apparatus and method for securing BIOS in a trusted computing system
US9547767B2 (en) * 2013-11-13 2017-01-17 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9779242B2 (en) 2013-11-13 2017-10-03 Via Technologies, Inc. Programmable secure bios mechanism in a trusted computing system
US9507942B2 (en) 2013-11-13 2016-11-29 Via Technologies, Inc. Secure BIOS mechanism in a trusted computing system
US9779243B2 (en) 2013-11-13 2017-10-03 Via Technologies, Inc. Fuse-enabled secure BIOS mechanism in a trusted computing system
US9672361B2 (en) 2014-04-30 2017-06-06 Ncr Corporation Self-service terminal (SST) secure boot
CN105138477A (zh) * 2015-07-21 2015-12-09 浪潮电子信息产业股份有限公司 一种保护硬盘数据的方法
CN108875358A (zh) * 2018-06-08 2018-11-23 山东超越数控电子股份有限公司 一种基于X86平台的Android系统安全启动方法
US20240028736A1 (en) * 2022-07-22 2024-01-25 Dell Products L.P. Validation and recovery of operating system boot files during os installation and runtime for uefi secure boot systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809230A (en) * 1996-01-16 1998-09-15 Mclellan Software International, Llc System and method for controlling access to personal computer system resources
US5828831A (en) * 1995-08-10 1998-10-27 Samsung Electronics Co., Ltd. System for preventing unauthorized use of a personal computer and a method therefore security function, and methods of installing and detaching a security device to/from a computer
US5878210A (en) * 1995-08-10 1999-03-02 Samsung Electronics Co., Ltd. Personal computer having a security function, a method of implementing the security function, and methods of installing and detaching a security device to/from a computer
US5884026A (en) * 1995-07-28 1999-03-16 Samsung Electronics Co., Ltd. Personal computer having a security function, a method of implementing the security function, and methods of installing and detaching a security device to/from a computer

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892906A (en) * 1996-07-19 1999-04-06 Chou; Wayne W. Apparatus and method for preventing theft of computer devices
US6415382B1 (en) * 1999-04-30 2002-07-02 Adaptec, Inc. Hard disk bootstrap redirection
US20020166059A1 (en) * 2001-05-01 2002-11-07 Rickey Albert E. Methods and apparatus for protecting against viruses on partitionable media
US7814532B2 (en) * 2001-05-02 2010-10-12 Lenovo (Singapore) Pte. Ltd. Data processing system and method for password protecting a boot device
US20040250178A1 (en) * 2003-05-23 2004-12-09 Munguia Peter R. Secure watchdog timer
TWI256541B (en) * 2003-12-25 2006-06-11 Ite Tech Inc Method and apparatus for tuning over lock and tuning method for sub-stable state with high performance
CA2496849A1 (en) * 2004-02-12 2005-08-12 Divinity Data Security Inc. Method and apparatus for preventing un-authorized computer data access
US20060165005A1 (en) * 2004-11-15 2006-07-27 Microsoft Corporation Business method for pay-as-you-go computer and dynamic differential pricing
US7360253B2 (en) * 2004-12-23 2008-04-15 Microsoft Corporation System and method to lock TPM always ‘on’ using a monitor
US7827376B2 (en) * 2005-06-27 2010-11-02 Lenovo (Singapore) Pte. Ltd. System and method for protecting hidden protected area of HDD during operation
US20070234073A1 (en) * 2006-03-31 2007-10-04 Lenovo (Singapore) Pte. Ltd. Random password automatically generated by bios for securing a data storage device
US7941847B2 (en) * 2006-09-26 2011-05-10 Lenovo (Singapore) Pte. Ltd. Method and apparatus for providing a secure single sign-on to a computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884026A (en) * 1995-07-28 1999-03-16 Samsung Electronics Co., Ltd. Personal computer having a security function, a method of implementing the security function, and methods of installing and detaching a security device to/from a computer
US5828831A (en) * 1995-08-10 1998-10-27 Samsung Electronics Co., Ltd. System for preventing unauthorized use of a personal computer and a method therefore security function, and methods of installing and detaching a security device to/from a computer
US5878210A (en) * 1995-08-10 1999-03-02 Samsung Electronics Co., Ltd. Personal computer having a security function, a method of implementing the security function, and methods of installing and detaching a security device to/from a computer
US5809230A (en) * 1996-01-16 1998-09-15 Mclellan Software International, Llc System and method for controlling access to personal computer system resources

Also Published As

Publication number Publication date
CN101174292A (zh) 2008-05-07
MX2007013590A (es) 2009-02-18
US7984283B2 (en) 2011-07-19
US20080104381A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
CN101174292B (zh) 用于可靠操作系统引导的方法
CN101174291B (zh) 用于可靠操作系统引导的系统和方法
CN101116070B (zh) 使用监控程序将tpm总是锁定为“开”的系统和方法
US7917762B2 (en) Secure execution environment by preventing execution of unauthorized boot loaders
US7266475B1 (en) Trust evaluation
CN105122258B (zh) 对系统进行配置的方法、计算系统以及物品
CN100377022C (zh) 用于提供基于时间和权的灵活容许硬件id的系统和方法
US8375219B2 (en) Program and operation verification
CN105122214B (zh) 对非易失性存储器中损坏的系统数据的修复
CN1983245B (zh) 用于配置信息处理系统集成电路的系统和方法
CN100373284C (zh) 具有安全装置直接连接以增加安全性的嵌入式处理器
CN105308609A (zh) 存储事件数据的事件数据结构
US20130091394A1 (en) Data processing apparatus and validity verification method
US20080082833A1 (en) Secure firmware execution environment for systems employing option read-only memories
CN102906698A (zh) 外部启动设备、外部启动方法、信息处理装置及网络通信系统
WO2019169766A1 (zh) 电子装置、系统敏感内容的预警方法、系统及存储介质
US20230015519A1 (en) Automatically evicting an owner of a security processor
CN116842517A (zh) 可信验证方法及装置
US7818553B2 (en) Method and apparatus for preventing unauthorized modifications to rental computer systems
CN117726343B (zh) 区块链中智能合约的执行监管方法、装置、设备和介质
US11816252B2 (en) Managing control of a security processor in a supply chain
US20230017809A1 (en) Indicating a type of secure boot to endpoint devices by a security processor
US20230297682A1 (en) Computing device quarantine action system
US7502942B1 (en) System and method for authentication of embedded raid on a motherboard having input/output processor
CN101911088A (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

Granted publication date: 20130102

Termination date: 20191031

CF01 Termination of patent right due to non-payment of annual fee