CN100351731C - 一种安全计算机及其实现方法 - Google Patents

一种安全计算机及其实现方法 Download PDF

Info

Publication number
CN100351731C
CN100351731C CNB2004100372852A CN200410037285A CN100351731C CN 100351731 C CN100351731 C CN 100351731C CN B2004100372852 A CNB2004100372852 A CN B2004100372852A CN 200410037285 A CN200410037285 A CN 200410037285A CN 100351731 C CN100351731 C CN 100351731C
Authority
CN
China
Prior art keywords
safety chip
bios
module
execution
chip
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 - Lifetime
Application number
CNB2004100372852A
Other languages
English (en)
Other versions
CN1690909A (zh
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CNB2004100372852A priority Critical patent/CN100351731C/zh
Publication of CN1690909A publication Critical patent/CN1690909A/zh
Application granted granted Critical
Publication of CN100351731C publication Critical patent/CN100351731C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种安全计算机及其实现方法,其关键是在BIOS内设置一安全驱动模块(Rom Driver),使其成为底层的安全芯片和BIOS之间的通讯桥梁,即将接收到的来自BIOS的控制安全芯片的命令和与控制安全芯片命令相关的数据发送给TPM芯片,驱动并监视TPM芯片执行命令的情况,当命令执行完毕后,将执行的结果保存在BIOS指定的位置,以供BIOS读取。也就是说,安全驱动模块负责和TPM芯片直接沟通,让TPM芯片处于要求的工作状态,并将TPM芯片的执行结果保存在BIOS指定的位置。这样,既保证了TPM芯片的安全功能,又使得BIOS不需要了解TPM芯片的细节技术。

Description

一种安全计算机及其实现方法
技术领域
本发明涉及计算机安全技术领域,特别是指一种安全计算机及其实现方法。
背景技术
当今已进入网络时代,计算机(PC)被广泛应用在人们的日常生活中,如何保证计算机中信息的安全已经成为人们十分关注的问题。一直以来,微软、英特尔以及其它许多公司一直在研究开发受保护的计算环境以应对各种各样的攻击,与此同时还为敏感数据处理和电子商务交易提供安全计算。TPM(Trusted Platform Module)技术就是一种最新的可以达到上述目的的应用于PC平台的计算机安全技术。
TPM技术是由可信赖计算组织(TCG,Trusted Computing Group)推出的“可信赖平台模块”标准。本申请人依据该标准,已经在申请号为“03138380.7”,发明名称为“一种安全芯片及基于该芯片的信息安全处理设备和方法”的发明专利申请中,公开了一种安全芯片(TPM芯片)的内部结构及其功能,以及该安全芯片与基本输入输出系统(BIOS)和操作系统之间的交互内容。
由于TPM芯片作为一个安全产品,不是软件可以随便访问的,因此,即使是和底层硬件直接打交道的BIOS也不能直接向TPM芯片发送或接收命令或数据,这样才能保证它的安全功能正常发挥。但申请号为“03138380.7”的发明专利申请中并没有具体给出安全芯片和BIOS之间是如何实现信息交互的,本申请则对此进行详细说明。
发明内容
有鉴于此,本发明的主要目的是提供一种安全计算机及其实现方法,具体说明安全芯片和BIOS之间实现通信的过程。
为达到上述目的,本发明的技术方案是这样实现的:
一种安全计算机,至少包括安全芯片、BIOS和用于传递参数的寄存器,该计算机还包括用于安全芯片和BIOS之间通信的安全驱动模块Rom Driver,该安全驱动模块从传递参数的寄存器中读取来自BIOS的调用代码,调用自身内与该代码相对应的模块,驱动并监视安全芯片运行,并将安全芯片的执行结果保存在BIOS指定的位置。
较佳地,在BIOS的BOOT BLOCK阶段,所述安全驱动模块内包括控制模块、初始化模块、TPM芯片物理存在模块和执行HASH运算的模块,其中,
所述控制模块,接收来自BIOS的调用,从传递参数寄存器内读取调用代码,调用与该代码对应的模块,并将该模块的执行结果保存在BIOS指定的位置;
所述初始化模块,接收来自控制模块的调用,对安全芯片进行初始化,将初始化结果返回给控制模块;
所述TPM芯片物理存在模块,接收来自控制模块的调用,向安全芯片发送指示安全芯片物理存在的命令TSC_PhysicalPresence,将安全芯片的执行结果返回给控制模块;
所述执行HASH运算的模块,接收来自控制模块的调用,控制安全芯片进行HASH运算,将安全芯片的运算结果保存在安全芯片内的寄存器中,给控制模块返回执行结果。
较佳地,所述安全驱动模块内进一步包括关闭安全芯片通信接口的模块,该模块接收来自控制模块的调用,关闭BIOS与安全芯片之间的通信接口,将执行结果返回给控制模块。
较佳地,在BIOS的POST阶段,所述安全驱动模块内包括控制模块、初始化模块、向安全芯片传送命令的模块、获取安全芯片当前状态的模块和关闭安全芯片通信接口的模块,其中,
所述控制模块,接收来自BIOS的调用,从传递参数寄存器内读取调用代码,调用与该代码对应的模块,并将该模块的执行结果保存在BIOS指定的位置;
所述初始化模块,接收来自控制模块的调用,对安全芯片进行初始化,将初始化结果返回给控制模块;
所述向安全芯片传送命令的模块,接收来自控制模块的调用,向安全芯片传送BIOS所发的命令,并将安全芯片的执行结果返回给控制模块;
所述获取安全芯片当前状态的模块,接收来自控制模块的调用,检测安全芯片当前的状态,并将检测结果返回给控制模块;
所述关闭安全芯片通信接口的模块,接收来自控制模块的调用,关闭BIOS与安全芯片之间的通信接口,将执行结果返回给控制模块。
一种安全计算机的实现方法,在BIOS的POST阶段,该方法包括以下步骤:
a、BIOS在POST内将MP安全驱动模块加载到内存中;
b、BIOS将调用代码写入用于传递参数的寄存器内;
c、MP安全驱动模块接收到来自BIOS的调用后,读取寄存器内的代码,调用与之相对应的函数,驱动并监视安全芯片运行,将运行结果保存在BIOS指定的位置。
较佳地,所述调用代码所对应的函数为初始化函数MP_InitTPM(),获取安全芯片状态的函数MP_GetTPMStatusInfo(),向安全芯片传送命令的函数MP_TPMTransmit(),或关闭安全芯片通信接口的函数MP_CloseTPM()。
较佳地,该方法进一步包括:当MP安全驱动模块判断出BIOS调用MP_TPMTransmit()时,将到内存中的指定位置读取具体待传送命令的代码以及与该命令相对应的参数。
较佳地,所述与具体待传送命令相对应的参数是:待进行加密运算数据块在内存中的起始地址X1和长度Y1,以及存放返回值的缓冲区在内存中的起始地址X2和长度Y2。
较佳地,该方法进一步包括:在BIOS的BOOT BLOCK阶段,BIOS将调用代码写入用于传递参数的寄存器内,MA安全驱动模块接收到来自BIOS的调用后,读取寄存器内的代码,调用与之相对应的函数,驱动安全芯片运行,并给BIOS返回运行结果。
较佳地,所述MA安全驱动模块调用的函数为初始化函数MP_InitTPM(),安全芯片物理存在函数MA_PhysicalPresenceTPM(),或驱动安全芯片执行HASH运算的函数MA_HashAllExtendTPM()。
较佳地,该方法进一步包括:当MA安全驱动模块判断出BIOS调用函数MA_HashAllExtendTPM()时,将继续从传递参数的寄存器中读取与所调用函数相对应的参数。
较佳地,所述与所调用函数相对应的参数是:待进行加密运算数据块的起始地址X1和长度Y1。
较佳地,当MP安全驱动模块调用初始化函数MP_InitTPM()时,驱动安全芯片运行的操作包括以下步骤:
打开与安全芯片直接相连的LPC接口,判断该安全芯片的制造商ID和设备ID是否与自身数据库内保存的制造商ID和设备ID相同,如果是,则设置该安全芯片的输入输出I/O基地址以及待使用的中断号,检测该芯片的状态,设置与该芯片当前状态相对应的标志后,关闭与安全芯片直接相连的LPC接口,否则直接关闭与安全芯片直接相连的LPC接口。
较佳地,当MP安全驱动模块调用获取安全芯片状态的函数MP_GetTPMStatusInfo()时,驱动安全芯片运行的操作包括以下步骤:
打开与安全芯片直接相连的LPC接口,分别检测该LPC接口和该安全芯片的状态,检测完毕后关闭与安全芯片直接相连的LPC接口并返回LPC接口和安全芯片的状态字。
较佳地,当MP安全驱动模块调用安全芯片传送命令的函数MP_TPMTransmit()时,驱动安全芯片运行的操作包括以下步骤:
b1、判断安全芯片当前是否已准备好接收命令,如果是,执行步骤b2,否则执行步骤b5;
b2、向安全芯片发送一个命令数据的所有字节后,执行步骤b3;
b3、判断安全芯片是否正确接收到所有的数据,如果是,则执行步骤b4,否则判断重新传送的次数是否超出预先设定的次数阈值,如果是,则执行步骤b5,否则执行步骤b2;
b4、判断安全芯片是否执行完毕该命令,如果是,则读取安全芯片的命令返回值后,执行步骤b5,否则执行步骤b6;
b5、设置命令传输标志后,结束本流程;
b6、判断等待安全芯片执行命令的时间是否超出预先设置的时间阈值,如果是,则执行步骤b5,否则重复执行步骤b4。
较佳地,当MP安全驱动模块调用关闭安全芯片通信接口的函数MP_CloseTPM()时,驱动安全芯片运行的操作包括以下步骤:
打开与安全芯片直接相连的LPC接口,清除为该安全芯片设置的输入输出(I/O)基地址以及所使用的中断号,关闭与安全芯片直接相连的LPC接口。
较佳地,当MA安全驱动模块调用安全芯片物理存在函数MA_PhysicalPresenceTPM()时,驱动安全芯片运行的操作包括以下步骤:
b1、判断安全芯片当前是否已准备好接收命令,如果是,执行步骤b2,否则执行步骤b5;
b2、向安全芯片发送TSC_PhysicalPresence命令数据的所有字节后,执行步骤b3;
b3、判断安全芯片是否正确接收到所有的数据,如果是,则执行步骤b4,否则判断重新传送的次数是否超出预先设定的次数阈值,如果是,则执行步骤b5,否则执行步骤b2;
b4、判断安全芯片是否执行完毕该命令,如果是,则读取安全芯片的命令返回值后,执行步骤b5,否则执行步骤b6;
b5、设置命令传输标志后,结束本流程;
b6、判断等待安全芯片执行命令的时间是否超出预先设置的时间阈值,如果是,则执行步骤b5,否则重复执行步骤b4。
较佳地,当MA安全驱动模块调用驱动安全芯片执行HASH运算的函数MA_HashAllExtendTPM()时,驱动安全芯片运行的操作包括以下步骤:
b1、向安全芯片发送开始HASH运算的命令TPM_SHA1Start,并从该命令返回数据中获取命令TPM_SHA1Update一次最多可接受的字节数Y2;
b2、计算一次发送Y2字节的次数c1,c1等于待执行HASH运算数据块的大小Y1除以Y2后取整,并计算剩余的字节数d1,d1等于Y1减去Y2乘以c1的值;
b3、计算剩余的字节数d1的发送次数c2,c2等于d1除以命令TPM_SHA1CompleteExtend所能接收的最大字节数后取整,并计算剩余的字节数d2,d2等于d1减去c2乘以命令TPM_SHA1CompleteExtend所能接收的最大字节数;
b4,发送命令TPM_SHA1Update,每次传送并计算Y2字节,循环c1次;
b5、发送命令TPM_SHA1Update,每次传送并计算命令TPM_SHA1CompleteExtend所能接收的最大字节数,循环c2次;
b6、发送命令TPM_SHA1CompleteExtend,传送并计算最后的d2字节,将最终计算结果保存在安全芯片的内部寄存器中,结束本流程。
较佳地,所述MP安全驱动模块和MA安全驱动模块由BIOS触发读取寄存器内的调用代码。
一种安全计算机的实现方法,在BIOS的BOOT BLOCK阶段,该方法包括以下步骤:
BIOS将调用代码写入用于传递参数的寄存器内,MA安全驱动模块接收到来自BIOS的调用后,读取寄存器内的代码,调用与之相对应的函数,驱动安全芯片运行,并给BIOS返回运行结果。
较佳地,所述待调用函数为初始化函数MP_InitTPM(),安全芯片物理存在函数MA_PhysicalPresenceTPM(),驱动安全芯片执行HASH运算的函数MA_HashAllExtendTPM(),或关闭安全芯片通信接口的函数MP_CloseTPM()。
较佳地,该方法进一步包括:当MA安全驱动模块判断出BIOS调用函数MA_HashAllExtendTPM()时,将继续从传递参数的寄存器中读取与所调用函数相对应的参数。
较佳地,所述与所调用函数相对应的参数是:待进行加密运算数据块的起始地址X1和长度Y1。
本发明的关键是在BIOS内设置一安全驱动模块(Rom Driver),使其成为底层的安全芯片和BIOS之间的通讯桥梁,即将接收到的来自BIOS的控制安全芯片的命令和与控制安全芯片命令相关的数据发送给TPM芯片,驱动并监视TPM芯片执行命令的情况,当命令执行完毕后,将执行的结果保存在BIOS指定的位置,以供BIOS读取。也就是说,安全驱动模块负责和TPM芯片直接沟通,让TPM芯片处于要求的工作状态,并将TPM芯片的执行结果保存在BIOS指定的位置。这样,既保证了TPM芯片的安全功能,又使得BIOS不需要了解TPM芯片的细节技术。
应用本发明的实现方法,还具有以下优点:
1)由于该安全驱动模块被集成到BIOS内,因而可实现对PC底层代码的保护,使PC在开机阶段就处于安全的工作环境;
2)本发明不但可以用于台式机,还可以用于笔记本电脑内;
3)本发明目前支持TCPA1.1版本;根据TCPA安全规范的发展,它可以很容易地升级到支持TCPA1.2版本。
4)本发明的安全驱动模块短小精干,占用的存储空间小,执行速度快,使用十分方便,应用于BIOS里,不会明显延长系统启动的时间。
附图说明
图1所示为应用本发明的BIOS、安全芯片以及安全驱动模块之间的结构示意图;
图2所示为在BIOS的POST阶段应用本发明的总体流程图;
图3所示为应用本发明的在POST阶段内对系统主引导记录进行加密的流程图;
图4所示为应用本发明的初始化函数MP_InitTPM()的内部流程图;
图5所示为应用本发明的获取安全芯片状态函数MP_GetTPMStatusInfo()的内部流程图;
图6所示为应用本发明的向安全芯片传送命令函数MP_TPMTransmit()的内部流程图;
图7所示为应用本发明的关闭安全芯片通信接口函数MP_CloseTPM()的内部流程图;
图8所示为在BIOS的BOOT BLOCK阶段应用本发明的总体流程图;
图9所示为应用本发明的在BOOT BLOCK阶段内对BOOT BLOCK数据块进行加密的流程图;
图10所示为应用本发明的安全芯片物理存在函数MA_PhysicalPresenceTPM()的内部流程图;
图11所示为应用本发明的驱动安全芯片执行HASH运算函数MA_HashAllExtendTPM()的内部流程图。
具体实施方式
为使本发明的目的、技术方案和效果更加清楚,以下结合附图及实施例对本发明再做进一步详细的说明。
本发明的思路是:在BIOS内设置一安全驱动模块(Rom Driver),使其成为底层的安全芯片和BIOS之间的通信桥梁,即将接收到的来自BIOS的控制安全芯片的命令和与控制安全芯片命令相关的数据发送给TPM芯片,让TPM芯片处于要求的工作状态,驱动并监视TPM芯片执行命令的情况,当命令执行完毕后,将执行的结果保存在BIOS指定的位置,以供BIOS读取。也就是说,BIOS决定待加密的数据块后,调用TPM安全驱动模块提供的接口函数,向TPM芯片发送进行HASH运算的命令和要加密的数据。BIOS只需确定待加密的数据块的位置和大小,剩下的事情由安全驱动模块指挥TPM芯片去完成。这样,既保证了TPM芯片的安全功能,又使得BIOS不需要了解TPM芯片的细节技术。
图1所示为应用本发明的BIOS、安全芯片以及安全驱动模块之间的结构示意图。在计算机主板110内的BIOS 112中设置用于安全芯片和BIOS之间通信的安全驱动模块(Rom Driver),即在BIOS的POST阶段内和BOOTBLOCK阶段内分别设置安全驱动模块,由于在POST阶段内,系统内存已经初始化完毕,即系统内存可用,而在BOOT BLOCK阶段内,系统内存还不可用,为叙述方便,以下将应用在POST阶段内的安全驱动模块称为内存可用(MP,Memory Present)安全驱动模块,将应用在BOOT BLOCK阶段内的安全驱动模块称为内存不可用(MA,Memory Absent)安全驱动模块。
应用在POST阶段内的MP安全驱动模块114,和应用在BOOT BLOCK阶段内的MA安全驱动模块113均从传递参数的寄存器EAX中读取来自BIOS 112的调用代码,调用自身内与该代码相对应的模块,给安全芯片发送控制安全芯片的命令和与控制安全芯片命令相关的数据,驱动并监视安全芯片111运行,获取安全芯片111的运行结果,并将其保存在BIOS指定的位置。BIOS启动完成后,启动操作系统120。
上述应用在POST阶段内的MP安全驱动模块中包括控制模块、初始化模块、向安全芯片传送命令的模块,获取安全芯片当前状态的模块和关闭安全芯片通信接口的模块。其中,控制模块接收来自BIOS的调用,从传递参数寄存器内读取调用代码,调用与该代码对应的模块,并将该模块的执行结果保存在BIOS指定的位置;初始化模块接收来自控制模块的调用,对安全芯片进行初始化,建立BIOS和安全芯片之间的安全通道,将初始化结果返回给控制模块;向安全芯片传送命令的模块接收来自控制模块的调用,向安全芯片传送BIOS所发的命令,并将安全芯片的执行结果返回给控制模块;获取安全芯片当前状态的模块接收来自控制模块的调用,检测安全芯片当前的状态,并将检测结果返回给控制模块;关闭安全芯片通信接口的模块接收来自控制模块的调用,关闭BIOS与安全芯片之间的通信接口,将执行结果返回给控制模块。
上述应用在BOOT BLOCK阶段内的MA安全驱动模块中包括控制模块、初始化模块、TPM芯片物理存在模块和执行HASH运算的模块。其中,控制模块接收来自BIOS的调用,从传递参数寄存器内读取调用代码与控制命令相关的数据,调用与该代码对应的模块,并将该模块的执行结果保存在BIOS指定的位置;初始化模块接收来自控制模块的调用,对安全芯片进行初始化,建立BIOS和安全芯片之间的安全通道,将初始化结果返回给控制模块;TPM芯片物理存在模块接收来自控制模块的调用,向安全芯片发送指示安全芯片物理存在的命令TSC_PhysicalPresence,将安全芯片的执行结果返回给控制模块;执行HASH运算的模块接收来自控制模块的调用,控制安全芯片进行HASH运算,将安全芯片的运算结果保存在安全芯片内的寄存器中,将执行结果返回给控制模块。
对于上述结构,可以只在BIOS的POST阶段内存在MP安全驱动模块114,也可以只在BIOS的BOOT BLOCK阶段内存在MA安全驱动模块113,还可以同时在BIOS的POST阶段内存在MP安全驱动模块114,在BOOTBLOCK阶段内存在MA安全驱动模块113。
如果在BIOS的BOOT BLOCK阶段内运行MA安全启动模块后,紧接着在BIOS的POST阶段内又运行MP安全驱动模块,由于两者衔接很紧凑,在BOOT BLOCK阶段内运行MA安全启动模块中可以不包含关闭安全芯片通信接口的模块;如果仅仅是在BIOS的BOOT BLOCK阶段内运行MA安全驱动模块,而在BIOS的POSTA阶段内没有MP安全驱动模块,则MA安全驱动模块中需要包含关闭安全芯片通信接口的模块。由于第二种情况对于计算机内信息安全性的保护明显低于第一种情况,因此不推荐使用上述第二种方案。
下面具体说明安全计算机的实现方法。
在BIOS的POST阶段内,系统内存已经初始化完毕,并可供安全驱动模块使用,因此,在本阶段内MP安全驱动模块能够传输TPM规范所定义的所有命令。图2所示为在BIOS的POST阶段应用本发明的总体流程图。
步骤201,BIOS在POST内将MP安全驱动模块加载到内存中,将调用代码写入用于传递参数的寄存器EAX内;
步骤202,MP安全驱动模块由BIOS触发读取寄存器内的代码,调用自身与该代码相对应的函数,驱动并监视安全芯片运行;
步骤203,将运行结果保存在BIOS指定的位置。
上述调用代码所对应的函数为初始化函数MP_InitTPM(),获取安全芯片状态的函数MP_GetTPMStatusInfo(),向安全芯片传送命令的函数MP_TPMTransmit(),或关闭安全芯片通信接口的函数MP_CloseTPM()。
在实际应用中,BIOS在POST内将MP安全驱动模块加载到内存,然后调用MP安全驱动模块内的初始化函数MP_InitTPM(),对安全芯片进行初始化,从而建立BIOS与安全芯片之间的交流通道,以确保安全芯片处于正常的工作状态,然后BIOS再根据需要调用MP安全驱动模块内的其它函数。
当MP安全驱动模块判断出BIOS调用MP_TPMTransmit()传送命令后,该MP安全驱动模块将到内存中的指定位置读取具体待传送命令的代码以及与该命令相对应的参数,该相对应的参数是待进行加密运算数据块在内存中的起始地址X1和长度Y1,存放返回值的缓冲区在内存值的起始地址X2和长度Y2。例如,如果BIOS待对系统主引导记录数据块进行加密运算,则MP安全驱动模块将读到对系统主引导记录数据块进行加密运算的命令以及与该命令相对应的参数,即系统主引导记录所数据块在内存中的起始地址X1,系统主引导记录数据块的长度Y1,以及存放计算完毕后返回数据在内存中的起始地址X2,返回数据长度Y2。
图3所示为应用本发明的在POST阶段内对系统主引导记录进行加密的流程图。
步骤301,BIOS在POST内将MP安全驱动模块加载到内存,MP安全驱动模块从传递参数寄存器中读取到初始化安全芯片的命令代码后,调用自身的初始化函数MP_InitTPM(),对安全芯片进行初始化处理;
步骤302,MP安全驱动模块从传递参数寄存器中读取到获取安全芯片状态的命令代码后,调用获取安全芯片状态函数MP_GetTPMStatusInfo(),检测安全芯片当前的状态,并判断初始化结果是否正确,如果是,则执行步骤303,否则结束本流程;
步骤303,MP安全驱动模块从传递参数寄存器中读取到调用MP_TPMTransmit()函数的代码,调用该函数MP_TPMTransmit(),同时从内存的指定位置中读取到由BIOS指定的对系统主引导记录进行加密运算的命令以及与加密系统主引导记录数据块相关的参数,该相关参数为系统主引导记录数据块在内存中的起始地址X1,该数据块的大小Y1,以及内存中用于存放返回值缓冲区的起始地址X2和大小Y2,控制安全芯片对系统主引导记录进行加密运算;
步骤304,MP安全驱动模块将安全芯片的执行结果填入起始地址为X2的缓冲区中,结束本流程。
此时,如果系统还需做加密运算,则重复执行步骤302至步骤304,直到所有的运算完毕后,BIOS调用关闭安全芯片通信接口的函数MP_CloseTPM(),以终止与安全芯片的通信;如果系统此时不再需要做任何运算,则BIOS直接调用关闭安全芯片通信接口的函数MP_CloseTPM(),终止与安全芯片的通信。
下面具体说明各个函数的内部流程。
图4所示为应用本发明的初始化函数MP_InitTPM()的内部流程图。
步骤401,打开与安全芯片直接相连的LPC(Low Pin Count)接口;
步骤402,判断该安全芯片的制造商ID和设备ID是否与自身数据库内保存的制造商ID和设备ID相同,如果是,则执行步骤403,否则执行步骤405;
步骤403,设置该安全芯片的输入输出(I/O)基地址以及待使用的中断号;
步骤404,检测该安全芯片的状态,设置与该芯片当前状态相对应的标志;
步骤405,关闭与安全芯片直接相连的LPC接口,结束本流程。
图5所示为应用本发明的获取安全芯片状态函数MP_GetTPMStatusInfo()的内部流程图。
步骤501,打开与安全芯片直接相连的LPC接口;
步骤502,分别检测该LPC接口和该安全芯片的状态,
步骤503,检测完毕后关闭与安全芯片直接相连的LPC接口;
步骤504,返回LPC接口和安全芯片的状态字,结束本流程。
图6所示为应用本发明的向安全芯片传送命令函数MP_TPMTransmit()的内部流程图。
步骤601,判断安全芯片当前是否已准备好接收命令,如果是,则执行步骤602,否则执行步骤606;
步骤602,向安全芯片发送一个命令数据的所有字节;
步骤603,判断安全芯片是否正确接收到所有的数据,如果是,则执行步骤604,否则执行步骤607;
步骤604,判断安全芯片是否执行完毕该命令,如果是,则执行步骤605,否则执行步骤608;
步骤605,读取安全芯片的命令返回值;
步骤606,设置命令传输标志后,结束本流程;该命令传输标志用于标识所传输的命令是否被正确的执行;
步骤607,准备重新传送该命令数据的所有字节,判断重新传送的次数是否超出预先设定的次数阈值,例如判断重新传送的次数是否超出8次,如果是,则执行步骤606,否则执行步骤602;
步骤608,判断等待安全芯片执行命令的时间是否超出预先设置的时间阈值,例如判断等待安全芯片执行命令的时间是否超出20毫秒,如果是,则执行步骤606,否则重复执行步骤604。
图7所示为应用本发明的关闭安全芯片通信接口函数MP_CloseTPM()的内部流程图。
步骤701,打开与安全芯片直接相连的LPC接口;
步骤702,清除为该安全芯片设置的输入输出(I/O)基地址以及所使用的中断号;
步骤703,关闭与安全芯片直接相连的LPC接口,结束本流程。
在BIOS的BOOT BLOCK阶段内,系统内存还不可用,因此,在本阶段内BIOS不能向MA安全驱动模块传送太多的参数,即除传送运算所必须的参数外,只能根据处理器空闲的寄存器多少,决定能够传送多少参数,这和具体的实现方式相关;上述必须传递的参数是数据块的大小和地址,以及要使用的TPM内寄存器的索引号。图8所示为在BIOS的BOOT BLOCK阶段应用本发明的总体流程图。
步骤801,BIOS将待调用命令的代码写入用于传递参数的寄存器EAX内;
步骤802,MA安全驱动模块由BIOS触发读取寄存器内的代码,调用自身与该代码相对应的函数,驱动安全芯片运行;
步骤803,将运行结果保存在BIOS指定的位置。
上述待调用命令所对应的函数为初始化函数MP_InitTPM(),安全芯片物理存在函数MA_PhysicalPresenceTPM(),或驱动安全芯片执行HASH运算的函数MA_HashAllExtendTPM()。
在实际应用中,BIOS首先调用MA安全驱动模块内的初始化函数MP_InitTPM(),对安全芯片进行初始化,从而建立BIOS与安全芯片之间的交流通道,以确保安全芯片处于正常的工作状态,之后,调用MA_PhysicalPresenceTPM()函数,以传输TSC_PhysicalPresence命令,然后再调用MA_HashAllExtendTPM()函数,控制安全芯片对待加密的数据块进行HASH运算。
当MA安全驱动模块判断出BIOS调用MA_HashAllExtendTPM()传送命令后,该MA安全驱动模块将继续从传递参数的寄存器读取与所传送命令相对应的参数,即待进行加密运算数据块的起始地址X1和长度Y1。例如,如果BIOS要对BOOT BLOCK数据块进行加密运算,则MA安全驱动模块所读到的参数为BOOT BLOCK数据块的起始地址X1,BOOT BLOCK数据块的长度Y1。
图9所示为应用本发明的在BOOT BLOCK阶段内对BOOT BLOCK数据块进行加密的流程图。
步骤901,MA安全驱动模块从传递参数寄存器中读取到初始化安全芯片的命令代码后,调用自身的初始化函数MP_InitTPM(),对安全芯片进行初始化处理;
步骤902,根据返回的初始化结果,判断初始化结果是否正确,如果是,则执行步骤903,否则结束本流程;
步骤903,MA安全驱动模块从传递参数寄存器中读取到传送物理存在命令的命令代码后,调用函数MA_PhysicalPresenceTPM(),传输命令TSC_PhysicalPresence,以标识安全芯片物理存在;
步骤904,MA安全驱动模块从传递参数寄存器中读取到执行HASH运算代码后,调用函数MA_HashAllExtendTPM(),同时从传递参数寄存器中获取BIOS已指定的与BOOT BLOCK数据块相关的参数,该相关的参数为BOOT BLOCK数据块的起始地址X1和数据块大小Y1,以控制安全芯片对BOOT BLOCK数据块进行加密运算;
步骤905,MA安全驱动模块将执行完毕的标志保存在BIOS的指定位置后,结束本流程。
下面具体说明各个函数的内部流程。初始化函数的流程如图4所示,在此不再重复说明。
图10所示为应用本发明的安全芯片安全芯片物理存在函数MA_PhysicalPresenceTPM()的内部流程图。
步骤1001,判断安全芯片当前是否已准备好接收命令,如果是,则执行步骤1002,否则退出本流程;
步骤1002,向安全芯片发送TSC_PhysicalPresence命令数据的所有字节;
步骤1003,判断安全芯片是否正确接收到所有的数据,如果是,则执行步骤1004,否则执行步骤1007;
步骤1004,判断安全芯片是否执行完毕该命令,如果是,则执行步骤1005,否则执行步骤1008;
步骤1005,读取安全芯片的命令返回值;
步骤1006,设置命令传输标志后,结束本流程;该命令传输标志用于标识所传输的命令是否被正确的执行;
步骤1007,准备重新传送该命令数据的所有字节,判断重新传送的次数是否超出预先设定的次数阈值,例如判断重新传送的次数是否超出8次,如果是,则执行步骤1006,否则执行步骤1002;
步骤1008,判断等待安全芯片执行命令的时间是否超出预先设置的时间阈值,例如判断等待安全芯片执行命令的时间是否超出20毫秒,如果是,则执行步骤1006,否则重复执行步骤1004。
图11所示为应用本发明的驱动安全芯片执行HASH运算函数MA_HashAllExtendTPM()的内部流程图。
步骤1101,向安全芯片发送开始HASH运算的命令TPM_SHA1Start,并从该命令的返回数据中获取命令TPM_SHA1Update一次最多可接受的字节数Y2;
步骤1102,计算一次发送Y2字节的次数c1,c1等于待执行HASH运算数据块的大小Y1除以Y2后取整,并计算剩余的字节数d1,d1等于Y1减去Y2乘以c1的值;
步骤1103,由于命令TPM_SHA1CompleteExtend每次最多只能接收一较小的固定值字节数,如64字节,因此,需要计算剩余的字节数d1的发送次数c2,c2等于d1除以64后取整,并计算剩余的字节数d2,d2等于d1减去c2乘以64;
步骤1104,发送命令TPM_SHA1Update,每次传送并计算Y2字节,循环c1次;
步骤1105,发送命令TPM_SHA1Update,每次传送并计算命令TPM_SHA1CompleteExtend所能接收的最大字节数,如64字节,循环c2次;
步骤1106,发送命令TPM_SHA1CompleteExtend,传送并计算最后的d2字节,该步骤是计算过程的最后一步,然后,将最终计算结果保存在安全芯片的内部寄存器中,结束本流程。
应用本发明,可以只在BIOS的POST阶段内应用MP安全驱动模块,也可以只在BIOS的BOOT BLOCK阶段内应用MA安全驱动模块,还可以同时在BIOS的POST阶段内应用MP安全驱动模块,在BOOT BLOCK阶段内应用MA安全驱动模块。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (23)

1、一种安全计算机,至少包括安全芯片、BIOS和用于传递参数的寄存器,其特征在于,该计算机还包括用于安全芯片和BIOS之间通信的安全驱动模块Rom Driver,该安全驱动模块从传递参数的寄存器中读取来自BIOS的调用代码,调用自身内与该代码相对应的模块,驱动并监视安全芯片运行,并将安全芯片的执行结果保存在BIOS指定的位置。
2、根据权利要求1所述的计算机,其特征在于,在BIOS的BOOT BLOCK阶段,所述安全驱动模块内包括控制模块、初始化模块、TPM芯片物理存在模块和执行HASH运算的模块,其中,
所述控制模块,接收来自BIOS的调用,从传递参数寄存器内读取调用代码,调用与该代码对应的模块,并将该模块的执行结果保存在BIOS指定的位置;
所述初始化模块,接收来自控制模块的调用,对安全芯片进行初始化,将初始化结果返回给控制模块;
所述TPM芯片物理存在模块,接收来自控制模块的调用,向安全芯片发送指示安全芯片物理存在的命令TSC_PhysicalPresence,将安全芯片的执行结果返回给控制模块;
所述执行HASH运算的模块,接收来自控制模块的调用,控制安全芯片进行HASH运算,将安全芯片的运算结果保存在安全芯片内的寄存器中,给控制模块返回执行结果。
3、根据权利要求2所述的计算机,其特征在于,所述安全驱动模块内进一步包括关闭安全芯片通信接口的模块,该模块接收来自控制模块的调用,关闭BIOS与安全芯片之间的通信接口,将执行结果返回给控制模块。
4、根据权利要求1或2所述的计算机,其特征在于,在BIOS的POST阶段,所述安全驱动模块内包括控制模块、初始化模块、向安全芯片传送命令的模块、获取安全芯片当前状态的模块和关闭安全芯片通信接口的模块,其中,
所述控制模块,接收来自BIOS的调用,从传递参数寄存器内读取调用代码,调用与该代码对应的模块,并将该模块的执行结果保存在BIOS指定的位置;
所述初始化模块,接收来自控制模块的调用,对安全芯片进行初始化,将初始化结果返回给控制模块;
所述向安全芯片传送命令的模块,接收来自控制模块的调用,向安全芯片传送BIOS所发的命令,并将安全芯片的执行结果返回给控制模块;
所述获取安全芯片当前状态的模块,接收来自控制模块的调用,检测安全芯片当前的状态,并将检测结果返回给控制模块;
所述关闭安全芯片通信接口的模块,接收来自控制模块的调用,关闭BIOS与安全芯片之间的通信接口,将执行结果返回给控制模块。
5、一种安全计算机的实现方法,其特征在于,在BIOS的POST阶段,该方法包括以下步骤:
a、BIOS在POST内将MP安全驱动模块加载到内存中;
b、BIOS将调用代码写入用于传递参数的寄存器内;
c、MP安全驱动模块接收到来自BIOS的调用后,读取寄存器内的代码,调用与之相对应的函数,驱动并监视安全芯片运行,将运行结果保存在BIOS指定的位置。
6、根据权利要求5所述的方法,其特征在于,所述调用代码所对应的函数为初始化函数MP_InitTPM(),获取安全芯片状态的函数MP_GetTPMStatusInfo(),向安全芯片传送命令的函数MP_TPMTransmit(),或关闭安全芯片通信接口的函数MP_CloseTPM()。
7、根据权利要求6所述的方法,其特征在于,该方法进一步包括:当MP安全驱动模块判断出BIOS调用MP_TPMTransmit()时,将到内存中的指定位置读取具体待传送命令的代码以及与该命令相对应的参数。
8、根据权利要求7所述的方法,其特征在于,所述与具体待传送命令相对应的参数是:待进行加密运算数据块在内存中的起始地址X1和长度Y1,以及存放返回值的缓冲区在内存中的起始地址X2和长度Y2。
9、根据权利要求5所述的方法,其特征在于,该方法进一步包括:在BIOS的BOOT BLOCK阶段,BIOS将调用代码写入用于传递参数的寄存器内,MA安全驱动模块接收到来自BIOS的调用后,读取寄存器内的代码,调用与之相对应的函数,驱动安全芯片运行,并给BIOS返回运行结果。
10、根据权利要求9所述的方法,其特征在于,所述MA安全驱动模块调用的函数为初始化函数MP_InitTPM(),安全芯片物理存在函数MA_PhysicalPresenceTPM(),或驱动安全芯片执行HASH运算的函数MA_HashAllExtendTPM()。
11、根据权利要求10所述的方法,其特征在于,该方法进一步包括:当MA安全驱动模块判断出BIOS调用函数MA_HashAllExtendTPM()时,将继续从传递参数的寄存器中读取与所调用函数相对应的参数。
12、根据权利要求11所述的方法,其特征在于,所述与所调用函数相对应的参数是:待进行加密运算数据块的起始地址X1和长度Y1。
13、根据权利要求6或10所述的方法,其特征在于,当MP安全驱动模块调用初始化函数MP_InitTPM()时,驱动安全芯片运行的操作包括以下步骤:
打开与安全芯片直接相连的LPC接口,判断该安全芯片的制造商ID和设备ID是否与自身数据库内保存的制造商ID和设备ID相同,如果是,则设置该安全芯片的输入输出I/O基地址以及待使用的中断号,检测该芯片的状态,设置与该芯片当前状态相对应的标志后,关闭与安全芯片直接相连的LPC接口,否则直接关闭与安全芯片直接相连的LPC接口。
14、根据权利要求6所述的方法,其特征在于,当MP安全驱动模块调用获取安全芯片状态的函数MP_GetTPMStatusInfo()时,驱动安全芯片运行的操作包括以下步骤:
打开与安全芯片直接相连的LPC接口,分别检测该LPC接口和该安全芯片的状态,检测完毕后关闭与安全芯片直接相连的LPC接口并返回LPC接口和安全芯片的状态字。
15、根据权利要求6所述的方法,其特征在于,当MP安全驱动模块调用安全芯片传送命令的函数MP_TPMTransmit()时,驱动安全芯片运行的操作包括以下步骤:
b1、判断安全芯片当前是否已准备好接收命令,如果是,执行步骤b2,否则执行步骤b5;
b2、向安全芯片发送一个命令数据的所有字节后,执行步骤b3;
b3、判断安全芯片是否正确接收到所有的数据,如果是,则执行步骤b4,否则判断重新传送的次数是否超出预先设定的次数阈值,如果是,则执行步骤b5,否则执行步骤b2;
b4、判断安全芯片是否执行完毕该命令,如果是,则读取安全芯片的命令返回值后,执行步骤b5,否则执行步骤b6;
b5、设置命令传输标志后,结束本流程;
b6、判断等待安全芯片执行命令的时间是否超出预先设置的时间阈值,如果是,则执行步骤b5,否则重复执行步骤b4。
16、根据权利要求6所述的方法,其特征在于,当MP安全驱动模块调用关闭安全芯片通信接口的函数MP_CloseTPM()时,驱动安全芯片运行的操作包括以下步骤:
打开与安全芯片直接相连的LPC接口,清除为该安全芯片设置的输入输出(I/O)基地址以及所使用的中断号,关闭与安全芯片直接相连的LPC接口。
17、根据权利要求10所述的方法,其特征在于,当MA安全驱动模块调用安全芯片物理存在函数MA_PhysicalPresenceTPM()时,驱动安全芯片运行的操作包括以下步骤:
b1、判断安全芯片当前是否已准备好接收命令,如果是,执行步骤b2,否则执行步骤b5;
b2、向安全芯片发送TSC_PhysicalPresence命令数据的所有字节后,执行步骤b3;
b3、判断安全芯片是否正确接收到所有的数据,如果是,则执行步骤b4,否则判断重新传送的次数是否超出预先设定的次数阈值,如果是,则执行步骤b5,否则执行步骤b2;
b4、判断安全芯片是否执行完毕该命令,如果是,则读取安全芯片的命令返回值后,执行步骤b5,否则执行步骤b6;
b5、设置命令传输标志后,结束本流程;
b6、判断等待安全芯片执行命令的时间是否超出预先设置的时间阈值,如果是,则执行步骤b5,否则重复执行步骤b4。
18、根据权利要求10所述的方法,其特征在于,当MA安全驱动模块调用驱动安全芯片执行HASH运算的函数MA_HashAllExtendTPM()时,驱动安全芯片运行的操作包括以下步骤:
b1、获取标识待执行HASH运算数据块的大小Y1和起始地址X1的参数,向安全芯片发送开始HASH运算的命令TPM_SHA1Start,并从该命令返回数据中获取命令TPM_SHA1Update一次最多可接受的字节数Y2;
b2、计算一次发送Y2字节的次数c1,c1等于待执行HASH运算数据块的大小Y1除以Y2后取整,并计算剩余的字节数d1,d1等于Y1减去Y2乘以c1的值;
b3、计算剩余的字节数d1的发送次数c2,c2等于d1除以命令TPM_SHA1CompleteExtend所能接收的最大字节数后取整,并计算剩余的字节数d2,d2等于d1减去c2乘以命令TPM_SHA1CompleteExtend所能接收的最大字节数;
b4,发送命令TPM_SHA1Update,每次传送并计算Y2字节,循环c1次;
b5、发送命令TPM_SHA1Update,每次传送并计算命令TPM_SHA1CompleteExtend所能接收的最大字节数,循环c2次;
b6、发送命令TPM_SHA1CompleteExtend,传送并计算最后的d2字节,将最终计算结果保存在安全芯片的内部寄存器中,结束本流程。
19、根据权利要求9所述的方法,其特征在于,所述MP安全驱动模块和MA安全驱动模块由BIOS触发读取寄存器内的调用代码。
20、一种安全计算机的实现方法,其特征在于,在BIOS的BOOT BLOCK阶段,该方法包括以下步骤:
BIOS将调用代码写入用于传递参数的寄存器内,MA安全驱动模块接收到来自BIOS的调用后,读取寄存器内的代码,调用与之相对应的函数,驱动安全芯片运行,并给BIOS返回运行结果。
21、根据权利要求20所述的方法,其特征在于,所述待调用函数为初始化函数MP_InitTPM(),安全芯片物理存在函数MA_PhysicalPresenceTPM(),驱动安全芯片执行HASH运算的函数MA_HashAllExtendTPM(),或关闭安全芯片通信接口的函数MP_CloseTPM()。
22、根据权利要求21所述的方法,其特征在于,该方法进一步包括:当MA安全驱动模块判断出BIOS调用函数MA_HashAllExtendTPM()时,将继续从传递参数的寄存器中读取与所调用函数相对应的参数。
23、根据权利要求22所述的方法,其特征在于,所述与所调用函数相对应的参数是:待进行加密运算数据块的起始地址X1和长度Y1。
CNB2004100372852A 2004-04-30 2004-04-30 一种安全计算机及其实现方法 Expired - Lifetime CN100351731C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100372852A CN100351731C (zh) 2004-04-30 2004-04-30 一种安全计算机及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100372852A CN100351731C (zh) 2004-04-30 2004-04-30 一种安全计算机及其实现方法

Publications (2)

Publication Number Publication Date
CN1690909A CN1690909A (zh) 2005-11-02
CN100351731C true CN100351731C (zh) 2007-11-28

Family

ID=35346392

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100372852A Expired - Lifetime CN100351731C (zh) 2004-04-30 2004-04-30 一种安全计算机及其实现方法

Country Status (1)

Country Link
CN (1) CN100351731C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136485A (zh) * 2011-11-28 2013-06-05 联想(北京)有限公司 一种实现计算机安全的方法和计算机

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100353275C (zh) * 2005-09-02 2007-12-05 深圳兆日技术有限公司 一种安全芯片bios驱动设计的实现方法
DE102007034525B4 (de) * 2007-07-24 2010-02-11 Siemens Ag Verfahren und System zum Überprüfen der Integrität von in einem vorbestimmten Speicherbereich eines Speichers gespeicherten Daten
JP5399397B2 (ja) * 2008-01-30 2014-01-29 パナソニック株式会社 セキュアブート方法、セキュアブート装置、プログラムおよび集積回路
CN101526981A (zh) * 2008-03-06 2009-09-09 华邦电子股份有限公司 用于基本输入/输出系统处理的系统以及方法
CN104572208A (zh) * 2015-01-21 2015-04-29 浪潮电子信息产业股份有限公司 一种保存tpm初始化log的方法
CN106325899B (zh) * 2015-06-23 2019-11-26 联想(北京)有限公司 一种应用程序的安装方法、安装系统及电子设备
CN110287686B (zh) * 2019-06-24 2021-06-15 深圳市同泰怡信息技术有限公司 一种基本输入输出系统的安全启动权限管理方法以及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001027722A1 (en) * 1999-09-17 2001-04-19 Hewlett-Packard Company Operation of trusted state in computing platform
US20030074548A1 (en) * 2001-10-16 2003-04-17 International Business Machines Corporation Method and system for tracking a secure boot in a trusted computing environment
CN1440527A (zh) * 2000-06-30 2003-09-03 英特尔公司 保护引导块数据和精确地报告引导块内容
WO2004034238A2 (en) * 2002-10-09 2004-04-22 Intel Corporation Encapsulation of a tcpa trusted platform module functionality within a server management coprocessor subsystem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001027722A1 (en) * 1999-09-17 2001-04-19 Hewlett-Packard Company Operation of trusted state in computing platform
CN1440527A (zh) * 2000-06-30 2003-09-03 英特尔公司 保护引导块数据和精确地报告引导块内容
US20030074548A1 (en) * 2001-10-16 2003-04-17 International Business Machines Corporation Method and system for tracking a secure boot in a trusted computing environment
WO2004034238A2 (en) * 2002-10-09 2004-04-22 Intel Corporation Encapsulation of a tcpa trusted platform module functionality within a server management coprocessor subsystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136485A (zh) * 2011-11-28 2013-06-05 联想(北京)有限公司 一种实现计算机安全的方法和计算机

Also Published As

Publication number Publication date
CN1690909A (zh) 2005-11-02

Similar Documents

Publication Publication Date Title
CN1296854C (zh) 用于计算机的安全系统和方法
CN1795439A (zh) 计算机操作系统的安全系统与方法
CN1658174A (zh) 用于智能存储器通过通信的方法和设备
CN1257465C (zh) 用操作系统安装新的设备驱动程序的装置和方法
CN1197014C (zh) 内部存储器型抗篡改处理器及保密方法
CN1815949A (zh) 客户端装置、设备检验装置以及检验方法
CN1950807A (zh) 控制分区访问的分区访问控制系统和方法
CN1947082A (zh) 控制对外设进行访问的方法和设备
CN1758178A (zh) 非法分析/伪造预防系统
CN100351731C (zh) 一种安全计算机及其实现方法
CN101034424A (zh) 一种数据安全存储系统和装置及方法
CN1467642A (zh) 数据保护程序及数据保护方法
CN1480840A (zh) 信息处理装置、信息处理方法、计算机可读取的存储介质
CN1713158A (zh) 信息显示设备、信息显示方法、以及计算机程序
CN1818823A (zh) 基于程序行为分析的计算机防护方法
CN1764881A (zh) 协助处理密码消息的指令
CN1774695A (zh) 用于计算机的总线桥安全系统与方法
CN1922601A (zh) 通过可下载的操作系统而操作的网络终端及其操作方法
CN1737779A (zh) 一种扩展外设的方法及系统
CN1822639A (zh) 成像装置及成像系统
CN1815486A (zh) 通信设备、通信方法以及程序
CN1747387A (zh) 信息处理装置及信息处理方法
CN1894892A (zh) 使用动作中心方案来提供对网络化系统的自主管理的系统和方法
CN1700201A (zh) 图像处理装置、图像处理系统、图像处理方法
CN1949206A (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
CX01 Expiry of patent term

Granted publication date: 20071128

CX01 Expiry of patent term