专利名称:计算机安全系统和方法
技术领域:
本发明涉及计算机安全系统及方法。
背景技术:
计算机系统的运行,通常受操作系统(OS)的控制或由操作系统(OS)执行。操作系统需要装入(即,“引导”)进程将OS装入计算机存储器中。所述引导进程通常包括定位基本输入/输出系统(BIOS),装入BIOS用于执行,并且将计算机系统的控制交给BIOS。此后,BIOS装入OS。
存在多种方法用于保护或控制计算机系统的引导进程。例如,上述方法之一包括BIOS验证由在BIOS中存储数据的计算机系统用户提供的口令。但是,所述BIOS仍然容易受到攻击,因此使得在未获授权下能取得引导口令。
发明内容
根据本发明的一个实施例,计算机安全系统包含基本输入/输出系统,适于存储可信平台模块(TPM)为用户生成的用户密钥。所述BIOS也适于接收来自用户的TPM认证数据,用于启动引导进程,连接TPM以请求通过TPM确认TPM认证数据,用于利用用户密钥启动引导进程。
根据本发明的另一个实施例,计算机安全方法包含存储对应于用户的可信平台模块(TPM)生成的用户密钥,并且接收来自用户的TPM认证数据用于启动引导进程。所述方法还包含请求通过TPM用用户密钥确认TPM认证数据,用于启动引导进程。
通过参考下列描述及附图,更完整地理解本发明及其优点,其中 图1是图表,说明根据本发明的计算机安全系统的实施例; 图2是图表,说明采用图1的计算机安全系统进行注册操作的实施例; 图3是图表,说明采用图1的计算机安全系统进行认证操作的实施例; 图4是流程图,说明根据本发明采用图1的计算机安全系统的注册方法的实施例 图5是流程图,说明根据本发明采用图1的计算机安全系统的认证方法的实施例。
具体实施例方式通过参考附图中的图1-5最好地理解本发明的优选实施例及其优点,相似的数字用于各图中相似的和对应的部分。
图1是图表,说明根据本发明计算机安全系统10的实施例。在图1所示的实施例中,系统10包含处理器12,与基本输入/输出系统(BIOS)14、可信平台模块(TPM)16、存储器18和输入/输出(I/O)设备20通信耦合。(I/O)设备20可包含任一类型的设备,用于向系统10输入信息或接收系统10的信息输出,包括,但不局限于,键盘、鼠标、话筒、显示器、打印机或扬声器。在图1所示的实施例中,BIOS 14包含TPM引导模块30和存储器32。TPM引导模块30可包含软件、硬件、软件和硬件的组合。在本发明的一些实施例中,利用TPM 16的加密性质,TPM引导模块30协同TPM 16为计算机系统提供安全的引导进程。但是,应该理解可配置本发明的其它实施例,为其它应用程序和/或设备(例如,启动或引导软件应用程序或驱动设备)提供安全的引导进程。此外,应该理解系统10可在各种类型的计算设备或系统中的任一种中实现,包括,但不局限于,个人或台式计算机、个人数字助理(PDA)、笔记本或膝上型计算机、平板计算机、工作站和服务器。
在图1所示的实施例中,注册模块40存储在存储器18内部,可通过处理器12进行存取和执行。注册模块40可包含软件、硬件或软件和硬件的组合。注册模块40可作为操作系统的一部分或另一应用程序或平台来实现。此外,注册模块40也可作为BIOS 14的一部分来实现。
在本发明的一些实施例中,例如,安全的计算机引导操作,响应TPM引导模块30的激活或使能,注册模块40进行注册操作以从系统10的用户获取信息,以允许采用TPM 16进行安全引导进程。例如,在图1所示的实施例中,BIOS 14的存储器32包含认证数据44,其用于BIOS 14和TPM 16控制存取和/或启动安全的计算机资源,例如安全的计算机引导进程。在图1所示的实施例中,认证数据44包含用户识别数据60和TPM用户密钥50。用户识别数据60包含与识别系统10特定用户相关联的信息,如,但不局限于,用户名、口令、生物计量和/或其组合。TPM用户密钥50包含由TPM16生成的和/或可解释的信息,如不透明二进制大对象(BLOB)。
图2是图表,说明根据本发明采用系统10的注册操作的实施例。在本发明的一些实施例中,进行注册操作来允许随后的安全的引导操作。在操作中,用户、系统管理员或其它实体或策略激活或以其它方式允许TPM引导模块30利用TPM 16的加密性质控制计算机系统的引导操作。在响应TPM引导模块30的使能中,通过请求或以其它方式获得用户识别数据60和来自用户的TPM认证数据62,注册模块40进行用户注册进程。TPM认证数据62包含与存取TPM 16和/或以其它方式验证用户身份相关联的信息,该用户试图存取或以其它方式使用TPM 16,例如,但不局限于,TPM口令。所述注册进程可为单用户或多用户进行(即,例如在共享计算环境中)。
在图2所示的实施例中,用户识别数据60和TPM认证数据62是通过注册模块40向用户请求和/或以其它方式从用户收到的。注册模块40发送TPM认证数据62到TPM 16,并且请求由TPM 16基于TPM认证数据62生成TPM用户密钥50。注册模块40从TPM 16接收TPM用户密钥50,并且发送或以其它方式使TPM用户密钥50和用户识别数据62传递到BIOS 14用于由BIOS 14储存。
图3是图表,说明根据本发明采用系统10的计算机安全认证进程的实施例。在图3所示的实施例中,所述认证进程是针对安全的计算机引导操作的。但是,应该理解本发明的实施例可以其它方式配置以进行其它应用程序的安全的引导操作。在操作时,在随后的响应TPM引导模块30的激活或使能和TPM用户密钥50的获取和/或创建的引导进程中,TPM引导模块30请求和/或以其它方式接收来自的用户识别数据60和用户的认证数据62。在图3所示的实施例中,在注册进程期间系统10不存储TPM认证数据62,因此,在随后的引导操作中由用户提供。例如,用户可在随后的引导操作中通过I/O设备20提供TPM认证数据62。
TPM引导模块30收到来自用户的TPM认证数据62,并且识别和/或以其它方式检索与用户相关联的TPM用户密钥50。例如,在本发明的一些实施例中,引导模块30提示或以其它方式请求用户提供用户识别数据60,引导模块30用其识别与用户相关联的TPM用户密钥50。在本发明的其它实施例中,配置引导模块30以显示可用用户识别数据60的列表供用户选择,这样引导模块30用所选的用户识别数据60来识别与用户相关联的TPM用户密钥50。TPM引导模块30发送或以其它方式装入TPM用户密钥50和从用户收到的TPM认证数据62到TPM 16,并且请求由TPM 16采用TPM用户密钥50验证TPM认证数据62。如果TPM认证数据62与TPM用户密钥50一致,得出有效验证或认证的认证结果68被发送或以其它方式转发到BIOS 14,允许BIOS 14进行引导进程。如果TPM认证数据62与TPM用户密钥50不一致,指示无效验证或认证的认证结果68被发送或以其它方式转发到BIOS 14,这样BIOS 14可重复引导认证进程或终止引导进程。
图4是流程图,说明根据本发明采用系统10的计算机安全注册方法的实施例。所述方法开始于方框100,这里TPM引导模块使能。在方框102,启动注册模块40进行注册操作。在方框104,注册模块40请求用户识别数据60。在方框106,注册模块40收到来自用户的用户识别数据60。在方框108,注册模块40向用户请求TPM认证数据62。在方框110,注册模块40收到来自用户的TPM认证数据62。
在方框112,注册模块40发送或以其它方式使TPM认证数据62传送到TPM 16,并且请求通过TPM 16基于TPM认证数据62生成TPM用户密钥50。在方框114,TPM 16基于TPM认证数据62生成TPM用户密钥50。在方框116,注册模块40发送TPM用户密钥50和用户识别数据60到BIOS 14或以其它方式使它们存储在BIOS 14中。
图5是流程图,说明根据本发明采用系统10的计算机安全认证操作的实施例。在图7所示实施例中,认证操作是针对安全的计算机引导操作的;但是,应该理解根据本发明的其它实施例,其它安全的应用程序可采用系统10进行。所述方法开始于判定框200,这里判定TPM引导模块30是否使能。如果TPM引导模块30不使能,所述方法进入方框218,这里BIOS 14进行计算机系统引导进程。如果TPM引导模块30使能,所述方法从方框200进入方框202,这里TPM引导模块30向用户请求用户识别数据60。在方框204,TPM引导模块30接收来自用户的用户识别数据60。在方框206,TPM引导模块30向用户请求TPM认证数据62。在方框208,TPM引导模块30接收来自用户的TPM认证数据62。
在方框210,TPM引导模块30从BIOS 14的存储器32存取或以其它方式检索对应于用户识别数据60的TPM用户密钥50。在方框212,TPM引导模块30发送或以其它方式传送TPM用户密钥50和TPM认证数据62到TPM 16。在方框214,TPM引导模块30请求通过TPM 16采用TPM用户密钥50验证TPM认证数据62。在判定框216,判定通过TPM 16进行的TPM认证数据62的验证是否成功。如果TPM认证数据62与TPM用户密钥50不一致,所述方法进入方框202,这里可配置TPM引导模块30重复引导认证进程。如果TPM认证数据62与TPM用户密钥50一致或以其它方式被TPM验证,所述方法进入方框218,这里BIOS 14继续或以其它方式启动引导进程。
因此,本发明的实施例允许采用可信平台模块(即,TPM 16)加密性质的计算机系统的安全的引导进程。在本发明的一些实施例中,只有可被所述可信平台模块解释的加密信息被计算机系统存储,这样,在引导操作期间,所述可信平台模块用用户提供的信息在所述引导操作期间破译加密信息,以认证用户和授权后续的计算机系统引导进程。也应该理解,如图4和5所述的本发明方法的实施例中,某些操作可以省略、组合或以不同于图4和5所述的序列实现。此外,应该理解,可修改图4和5所述方法以包含说明书中别处所述的其它特征或方面中的任意一个。
权利要求
1.一种计算机安全系统(10),包含基本输入/输出系统(BIOS)(14),适于存储由可信平台模块(TPM)(16)为用户生成的用户密钥(50),所述BIOS适于接收来自用户的TPM认证数据(62),用于启动引导进程,所述BIOS(14)适于与所述TPM(16)接口连接以请求通过所述TPM(16)确认所述TPM认证数据(62),用于用所述用户密钥(50)启动所述引导进程。
2.如权利要求1所述的系统(10),所述BIOS(14)适于与所述TPM(16)接口连接以请求通过所述TPM(16)生成所述用户密钥(50)。
3.如权利要求1所述的系统(10),所述TPM(16)适于用所述用户密钥确认所述认证数据(62)。
4.如权利要求1所述的系统(10),所述BIOS(14)适于向用户请求所述TPM认证数据(62)。
5.如权利要求1所述的系统(10),所述BIOS(14)适于进行注册操作用于生成所述用户密钥(50)。
6.如权利要求1所述的系统(10),所述BIOS(14)适于基于所述用户提供的用户识别数据(60)识别对应于所述用户的所存用户密钥(50)。
7.如权利要求1所述的系统(10),所述BIOS(14)适于基于所述用户所选的用户识别数据(60)识别对应于所述用户的所存用户密钥(50)。
8.如权利要求1所述的系统(10),所述BIOS(14)适于传递所述TPM认证数据(62)到所述TPM(16),用于生成所述用户密钥(50)。
9.如权利要求1所述的系统(10),所述BIOS(14)适于启动所述引导进程,响应所述TPM(16)对所述TPM认证数据(62)的确认。
10.如权利要求1所述的系统(10),所述BIOS(14)适于向所述用户请求所述TPM认证数据(62)。
全文摘要
计算机安全系统(10)包含基本输入/输出系统(BIOS),适于存储由用户可信平台模块(TPM)(16)生成的用户密钥(50)。所述BIOS(14)还适于接收来自用户的TPM认证数据(62)用于启动引导进程,并且连接TPM(16)以请求通过TPM(16)确认TPM认证数据(62),用于用用户密钥(50)启动引导进程。
文档编号G06F9/445GK1752887SQ200510108940
公开日2006年3月29日 申请日期2005年9月22日 优先权日2004年9月23日
发明者L·王, J·里奥斯, V·阿利 申请人:惠普开发有限公司