一种安全芯片及基于该芯片的信息安全处理设备和方法

文档序号:6365612阅读:342来源:国知局
专利名称:一种安全芯片及基于该芯片的信息安全处理设备和方法
技术领域
本发明涉及信息安全技术领域,特别是指一种安全芯片及基于该芯片的信息安全处理设备和方法。
背景技术
目前,信息处理设备已被广泛应用在人们的日常生活中。信息处理设备主要是指个人电脑(PC),笔记本电脑,掌上电脑,手机等设备,如何保证信息处理设备中信息的安全已经成为人们十分关注的问题,通常的解决方案有以下两种1)基于安全软件对信息处理设备进行保护。
应用该方法通常是利用防病毒软件以防止病毒攻击,如设置杀毒软件和防火墙软件并启动其实时监控程序以防止病毒对信息处理设备的入侵,并应用杀毒软件和防火墙软件对系统进行杀毒操作以保证信息处理设备中信息的安全;或利用文件加密软件实现对文件的保护,如应用散列算法、哈希(HASH)算法、椭圆曲线密码算法,RSA算法,离散对数算法等对待保护文件进行加密计算或完整性验证等运算以保证信息处理设备中信息的安全;或利用安全浏览器软件和数字证书等进行电子商务。
该方法的缺陷在于由于安全软件和操作系统本身也可能受到攻击,从而导致终端上的所有信息受到威胁。所以,安全软件不能保证计算机终端本身信息的安全。
2)基于硬件对信息处理设备进行保护。一般采用以下两种方法a、在信息处理设备上附加一个由多个模块单元构造成的电路板,以保证信息处理设备中信息的安全。该附加的电路板包括身份信息输入设备接口,信息安全管理单元或安全模块(ESM),安全控制执行单元,开机电路单元,外设开关电路单元以及主板单元。该方法主要用于开机身份鉴别,同时提供高速的密码运算功能。
上述方法的缺陷是无法验证信息处理设备中的底层固件、操作系统和应用软件是否受到攻击,从而不能保证信息处理设备中信息的绝对安全。
b、在信息处理设备上设置专门用于外网的硬盘和网络接口部件,从而使该信息处理设备工作于内网和外网时,在同一主板的控制下,分别采用不同的硬盘和网络接口部件以实现内外网的隔离。该信息处理设备从硬件上对于应用于内网的状态和应用于外网的状态进行分隔,从而防止信息处理设备受到攻击。
上述方法的缺陷是同样无法验证信息处理设备的底层固件、操作系统和应用软件是否受到攻击,因而,无论信息处理设备工作在外网还是内网的模式,都不能保证信息处理设备本身信息的安全。同时,由于配备两套硬盘和网络接口部件,还增加了信息处理设备的成本。

发明内容
有鉴于此,本发明的目的在于提供一种安全芯片及基于该芯片的信息安全处理设备和方法,使信息安全处理设备在启动的过程中,验证系统的完整性,以保证信息安全处理设备中信息的安全。
为达到上述目的本发明的技术方案是这样实现的一种安全芯片,该芯片包括I/O接口模块、主处理器模块、存储器模块和密码处理器模块,上述模块通过内部总线相互连接,其中,I/O接口模块与外部设备相连,I/O接口模块由主处理器模块控制接收外部设备的指令,并将外部要求的运算结果返回给外部设备;主处理器模块,至少包括CPU及外围电路,其根据从I/O接口模块收到的指令对密码处理器模块进行控制,将处理后的结果保存在存储器模块中,或根据指令将处理后的结果与存储器模块中已保存的秘密信息进行比较,并将指令的执行结果传送给I/O接口模块;或者,直接从存储器模块中取出秘密信息,传送给I/O接口模块;密码处理器模块,在主处理器模块控制下生成密钥,并对I/O接口模块接收到的信息进行加解密处理,并将处理后的结果返回给主处理器模块;存储器模块,存储安全芯片自身的秘密信息、外部设备应用模块的秘密信息和密码处理器模块生成的秘密信息。
较佳地,所述秘密信息为由密码处理器模块生成的密钥、身份验证的信息和完整性验证信息。
较佳地,所述密码处理器模块至少包括公钥密码处理器模块,哈希处理器模块和随机数发生器模块,其中,随机数发生器模块,由主处理器模块控制生成随机数,该随机数作送给主处理器模块;哈希处理器模块,在主处理器模块控制下对待加密信息进行哈希运算,并将运算结果传送给公钥密码处理器模块或对称密码处理器模块或主处理器模块;公钥密码处理器模块,在主处理器模块控制下,利用随机数生成公私密钥对,并将结果返回给主处理器模块;应用所生成的公私钥,对哈希处理器模块传送来的结果进行加密计算,,生成数据签名,或应用公钥对收到的需要解密的信息进行解密,并将所得的结果返回给主处理器模块;对称密码处理器模块,在主处理器模块的控制下,将随机数作为对称密钥应用对称密钥对需要加密的信息进行加密或解密,将结果送给主处理器模块。
较佳地,所述公钥密码处理器模块至少包括椭圆曲线公钥密码算法处理模块,RSA公钥密码算法处理模块,离散对数密码算法处理模块。
较佳地,该芯片的主处理器模块进一步包括总线接口模块和总线控制器模块,其中,总线接口模块与主处理器内部高速总线和总线控制器模块相连,该总线控制器将主处理器高速总线处理为主处理器外围总线,且I/O接口模块、主处理器模块和存储器模块与内部高速总线相连;
公钥密码处理器模块、对称密码处理器模块、随机数发生器模块和哈希处理器模块与主处理器外围总线相连。
较佳地,所述存储器模块为随机存储器(RAM)、可擦除只读存储器(EEPROM)或闪存(FLASH)。
较佳地,所述I/O接口模块置少包括与LPC(Low Pin Count Bus)总线或USB(Universal Serial Bus)总线相连的接口,或同步串口,或异步串口,或ISO7816接口。
一种信息安全处理设备,至少包含主板,底层固件和操作系统,该设备至少还包括所述的安全芯片,该安全芯片与所述的主板相连,接收主板中嵌入的底层固件或该设备操作系统所发送的信息,且根据底层固件发送信息对底层固件进行完整性验证;或该安全芯片根据操作系统发送的信息产生相应的运算结果返回给操作系统。
较佳地,所述安全芯片通过LPC(Low Pin Count Bus)总线接口,或USB(Universal Serial Bus)总线接,或同步串口,或异步串口,或ISO7816接口与主板相连。
一种信息安全处理设备的验证方法,该方法包括以下步骤a、在主板上设置安全芯片;b、启动信息安全处理设备时,由安全芯片验证当前底层固件的完整性,如正确则完成正常的系统初始化后执行步骤c,否则停止启动该信息安全处理设备;c、由底层固件验证当前操作系统的完整性,如正确则正常运行操作系统,否则停止装入操作系统。
较佳地,该方法进一步包括在操作系统中设置操作系统安全模块,该模块由操作系统启动,在启动该设备已有的应用模块前,由操作系统安全模块验证当前应用模块的完整性,如正确则正常运行该应用模块,否则停止运行该应用模块。
较佳地,所述步骤a进一步包括在安全环境下,将底层固件的完整性验证码的值保存在安全芯片中;将操作系统完整性验证码的值保存在安全芯片或底层固件安全模块中;将应用模块的完整性验证码的值保存在安全芯片或操作系统安全模块中。
较佳地,步骤b所述验证当前底层固件的完整性进一步包括以下步骤安全芯片计算当前系统底层固件的完整性验证码的值,并判断当前系统底层固件的完整性验证码的值与已保存的底层固件的完整性验证码的值是否相等,如果是,则继续执行后续步骤,否则停止启动该信息处理设备。
较佳地,该方法进一步包含在底层固件中设置底层固件安全模块;步骤c所述验证当前操作系统的完整性进一步包括以下步骤底层固件安全模块计算当前操作系统的完整性验证码的值,并判断当前操作系统的完整性验证码的值与已保存的操作系统的完整性验证码的值是否相等,如果是,则继续执行后续步骤,否则停止装入操作系统。
较佳地,所述操作系统安全模块由安全芯片驱动模块、安全服务模块和安全接口模块组成。
较佳地,所述安全芯片驱动模块将安全芯片设置为操作系统的一个设备,并设置每个应用模块和底层安全芯片共享一对认证密钥,该安全芯片驱动模块至少包括以下驱动步骤a、安全芯片利用共享认证密钥对应用模块进行身份验证;如认证成功,则执行步骤b,否则拒绝应用模块所请求的服务;b、建立应用模块与安全芯片之间的数据通信的通道和控制命令通信的通道;c、安全芯片驱动模块将上层应用模块的所发的指令转换为安全芯片可以识别的芯片指令,并将步骤a的认证结果、共享的认证密钥和芯片指令进行哈希运算以生成本次芯片指令的授权信息,之后,将芯片指令和该授权信息一起发送给安全芯片;
d、安全芯片每次收到芯片指令时,将步骤a的认证结果、共享的认证密钥和当前收到的芯片指令进行哈希运算以生成当前芯片指令的授权验证信息,对当前的授权验证信息和所收到的芯片指令所带的授权信息进行一致性比较,如果一致,则执行当前芯片指令的操作;否则,拒绝执行当前收到的芯片指令。
较佳地,所述安全服务模块验证应用模块的完整性包括以下步骤a、安全服务模块首先计算出该待保护的应用模块当前的完整性验证码的值,并将当前的完整性验证码的值与已保存的完整性验证码的值是否相等,如相等,则启动该待保护应用模块后,执行步骤b,否则禁止启用该应用模块。
b、安全服务模块定时验证待保护应用模块的完整性。
较佳地,所述安全服务模块保存任何一个对安全芯片进行操作的记录,并将该记录作为日志记录保存在本地的日志数据库中。
较佳地,该方法进一步包括,在每一个安全芯片上,设置唯一身份标识密码证书。
较佳地,所述的设置方法为由第三方为每台计算机终端设置一个公钥证书和私钥证书,并在公私钥证书上进行数字签名后,将私钥证书信息设置为每台计算机终端的唯一身份标识的密码证书。
较佳地,所述私钥证书存储在安全芯片中,公钥证书提供给用于计算机终端身份验证的验证方。
较佳地,对信息处理设备进行身份认证的方法进一步包括以下步骤a、应用模块将需要验证的信息传送给安全芯片,安全芯片根据唯一身份标识密码证书的私钥证书调用其相应的公钥算法机制,对需要验证的信息进行数字签名后,将签名后的结果返回给应用模块,该应用模块再将上述数字签名信息发送给验证方;b、验证方首先验证该唯一身份标识密码证书的公钥证书上的第三方的签名是否正确,如正确则执行步骤c,否则认证失败;c、应用该公钥证书验证应用模块发送来的经数字签名的信息是否正确,如正确则确定该信息处理设备的安全身份,否则认证失败。
较佳地,所述的设置方法为由第三方为每台计算机终端生成一个由随机数组成的序列号,将经第三方确认并进行数字签名的后序列号设置为每台计算机终端的唯一身份标识的密码证书。
较佳地,对信息安全处理设备进行身份认证的方法进一步包括以下步骤a、应用模块将信息安全处理设备本身的唯一身份标识密码证书信息发送给验证方;b、验证方验证唯一身份标识密码证书上第三方的签名信息是否正确,如正确则确定该信息安全处理设备的安全身份,否则认证失败。
较佳地,所述验证底层固件至少包括验证用于完成主板硬件系统初始化的模块、主板上CPU的微码程序、主板上存储配置信息的存储器、配置信息扩展系统(ESCDExtended System Configuration Data)、CMOS(Complementary Metal-Oxide-Semiconductor Transistor)、断电保留数据的随机存储器(NVRAMnon-volatile RAM)和主引导扇区(MBRMaster BootRecord)。
应用本发明,通过安全芯片在信息安全处理设备启动的过程中验证系统底层固件的完整性,底层固件安全模块验证操作系统的完整性,保证了信息安全处理设备启动时系统信息的安全;操作系统安全模块验证启动时的应用模块的完整性以及定时验证运行中的应用模块的完整性,保证了应用模块信息的安全,因而使得该信息安全处理设备具有抗攻击、防病毒等功能。同时,由于安全芯片中还设置有唯一身份标识密码证书信息,因此,该信息处理设备可利用唯一身份标识密码证书信息,进行访问控制和身份认证等功能。


图1所示应用本发明的为安全芯片内部的原理图;图2所示为应用本发明安全芯片的计算机终端进行验证的总体框图;图3所示为应用本发明的计算机终端启动时的流程图;
图4所示为应用本发明的操作系统安全模块的示意图;图5所示为应用本发明的底层安全芯片驱动模块的流程图;图6所示为应用本发明的保证应用模块完整性的流程图。
具体实施例方式
为使本发明的目的、技术方案和效果更加清楚,以下结合附图及实施例对本发明再做进一步详细的说明。
本发明的思路是在信息安全处理设备的主板上预先设置一块安全芯片,该安全芯片具有芯片操作系统(COS),每次启动应用该信息安全处理设备时,安全芯片验证信息安全处理设备底层固件的完整性,进而验证操作系统的完整性,最后验证待应用的应用模块的完整性,从而达到保证信息安全处理设备本身信息安全的目的。同时,由于该安全芯片为每个信息安全处理设备终端提供了唯一的身份标识信息,信息安全处理设备还可利用安全芯片进行身份认证、信息加密以及数字签名等安全服务。
图1所示应用本发明的为安全芯片内部的原理图。该芯片包括I/O接口模块101、主处理器模块102、存储器模块103和密码处理器模块110,上述模块通过内部总线相互连接,其中,I/O接口模块101与外部设备相连,I/O接口模块101由主处理器模块102控制接收外部设备的指令,并将外部要求的运算结果返回给外部设备;主处理器模块102中至少包括CPU及外围电路,运行在主处理器模块102上的COS完成对片内所有模块的控制,其根据从I/O接口模块101收到的指令对密码处理器模块110进行控制,将处理后的结果保存在存储器模块103中,或根据指令将处理后的结果与存储器模块103中已保存的秘密信息进行比较,并将指令的执行结果传送给I/O接口模块101;或者,直接从存储器模块103中取出秘密信息,传送给I/O接口模块101;密码处理器模块110在主处理器模块102的控制下生成密钥,并对I/O接口模块101接收到的信息进行加解密处理,并将处理后的结果返回给主处理器模块102;存储器模块103用于存储COS、安全芯片自身的秘密信息、外部设备应用模块的秘密信息和密码处理器模块生成的秘密信息,所述秘密信息是指安全芯片自身生成的密钥、用于身份验证的信息和用于完整性验证的完整性验证码。
其中,密码处理器模块110中包括公钥密码处理器模块106,对称密码处理器模块107,哈希处理器模块108和随机数发生器模块109。
随机数发生器模块109,由主处理器模块102控制生成随机数,该随机数送给主处理器模块102。
哈希处理器模块108,在主处理器模块102控制下对待处理信息进行哈希运算,并将运算结果传送给公钥密码处理器模块106或对称密码处理器模块107或主处理器模块102。
公钥密码处理器模块106,在主处理器模块102控制下,利用随机数生成公私密钥对,并将结果返回给主处理器模块102;应用所生成的私钥,对哈希处理器模块108传送来的结果进行加密计算,生成数据签名,或应用公钥对收到的需要解密的信息进行解密,并将所得的结果返回给主处理器模块102。
对称密码处理器模块107,在主处理器模块102的控制下,将随机数作为对称密钥对需要加密的信息进行加密或解密,将结果送给主处理器模块102。
以上所有模块可直接与安全芯片内的总线相连,或者由与总线接口模块104直接相连的总线控制器模块105将主处理器高速总线处理为主处理器外围总线,使I/O接口模块101、主处理器模块102和存储器模块103与内部高速总线相连;使公钥密码处理器模块106、对称密码处理器模块107、随机数发生器模块109和哈希处理器模块108与主处理器外围总线相连。
秘密信息的存储器模块103包括随机存储器(RAM)、可擦除只读存储器(EEPROM)或闪存(FLASH)。I/O接口模块101中至少包含了与LPC(Low Pin Count Bus)总线或USB(Universal Serial Bus)总线相连的接口,或同步串口,或异步串口,或ISO7816接口。
公钥密码处理器模块中可以包括椭圆曲线公钥密码算法处理模块,RSA公钥算法处理模块,离散对数算法处理模块等。
安全芯片有以下两种方法生成完整性验证码1)主处理器模块102控制哈希处理器模块108对待加密信息进行哈希运算,并将得到的文摘传送给公钥密码处理器模块106;同时,主处理器模块102控制随机数发生器模块109生成随机数,公钥密码处理器模块106利用随机数生成公私钥,并应用所生成的私钥,对哈希处理器模块108传送来的结果进行加密计算,生成数据签名,或应用公钥对收到的需要解密的信息进行解密,并将所得的结果返回给主处理器模块102。
2)主处理器模块102控制哈希处理器模块108下对待加密信息进行哈希运算,并将得到的文摘传送给对称密码处理器模块107;同时,主处理器模块102控制随机数发生器模块109生成随机数,主处理器模块102将随机数作为对称密钥传送给对称密码处理器模块107;对称密码处理器模块107在主处理器模块102控制下,应用所生成的对称密钥对需要加密的信息进行加密或解密,并将所得的结果返回给主处理器模块102。
下面以计算机终端为例,具体说明安全芯片的应用。
安全芯片通过LPC总线与芯片组的ICH(I/O Controller Hub)模块相连,或者,安全芯片通过USB总线与计算机终端内的主板相连,或安全芯片采用同步串口连接方式,或异步串口连接方式,或ISO7816接口方式与计算机终端内的主板相连。
图2所示为应用本发明安全芯片的计算机终端进行验证的总体框图。安全芯片211与底层固件212位于计算机的主板210上,安全芯片211与底层固件安全模块213和操作系统安全模块221之间进行信息交互,应用模块230通过操作系统安全模块221与安全芯片211进行信息交互。其中,底层固件中还包括用于完成主板硬件系统初始化的模块、主板上CPU的微码程序、主板上存储配置信息的存储器、配置信息扩展系统(ESCDExtendedSystem Configuration Data)、CMOS(ComplementaryMetal-Oxide-Semiconductor Transistor)、断电保留数据的随机存储器(NVRAMnon-volatile RAM)和主引导扇区(MBRMaster Boot Record)。
图3所示为应用本发明的计算机终端启动时的流程图。
步骤301,在确保计算机系统安全的环境下,如生产线上,或用户第一次使用时,预先生成的底层固件的完整性验证码和操作系统的完整性验证码,并将底层固件的完整性验证码的值存储在安全芯片的存储器中,将操作系统的完整性验证码的值存储在底层固件安全模块内或安全芯片的存储器中;步骤302,每次应用计算机时,计算机终端上的主板首先启动安全芯片,并应用安全芯片所提供的完整性验证码算法,计算出当前系统底层固件的完整性值;步骤303,判断当前底层固件的完整性值与已保存的底层固件的完整性值是否相等,如果是,则执行步骤305,否则执行步骤304;步骤304,停止启动计算机终端;步骤305,底层固件完成正常的系统初始化后,执行步骤306;步骤306,启动底层固件安全模块,并应用启动底层固件安全模块所提供的完整性验证码算法,计算出当前操作系统的完整性值;步骤307,判断当前操作系统的完整性值与已保存的操作系统的完整性值是否相等,如果是,则执行步骤309,否则执行步骤308;步骤308,停止装入操作系统;步骤309,正常运行操作系统后,执行步骤310;步骤310,启动操作系统中的安全模块,监视受保护的应用模块。
每个计算机终端在正常启动并运行计算机终端后,需通过其自身的身份验证后,才能正常运行应用模块,并要求安全芯片为应用模块提供信息加密和数字签名等安全服务。
安全芯片为每个计算机终端提供一个唯一身份标识的密码证书,该唯一身份标识的密码证书由以下两种方法生成方法一由可信的第三方(生厂商或用户)为每台计算机终端设置一个公钥证书和私钥证书,并在公私钥证书上进行数字签名,签名后的私钥证书形成每台计算机终端的唯一身份标识的密码证书,其中,私钥证书存储在安全芯片的存储器中,公钥证书提供给用于计算机终端身份验证的验证方。
对于方法一的验证方法如下应用模块首先将需要验证的信息传送给安全芯片,安全芯片根据唯一身份标识密码证书的私钥证书调用其相应的公钥算法机制,公钥密码处理器模块应用该公钥算法机制对需要验证的信息进行数字签名后,将签名后的结果返回给应用模块,该应用模块再将上述数字签名信息发送给验证方;验证方首先验证该唯一身份标识密码证书的公钥证书上的第三方的签名是否正确,如正确再用该公钥证书验证身份验证应用模块发送来的信息是否正确,从而确定该终端的安全身份。
方法二由可信的第三方(生厂商或用户)为每台计算机终端生成一个由随机数组成的序列号,并保证不同计算机终端的随机序列号不同,该序列号经可信的第三方(生厂商或用户)确认并进行数字签名后,形成每台计算机终端的唯一身份标识的密码证书。
对于方法二的验证方法如下应用模块将该终端本身的唯一身份标识密码证书信息通过身份认证协议发送给验证方;验证方通过验证唯一身份标识密码证书上第三方的签名信息是否正确,从而确定该终端的安全身份。
计算机终端经过唯一身份认证后,该终端上的应用模块即可通过操作系统安全模块要求底层安全芯片提供信息加密和数字签名等安全服务。
图4所示为应用本发明的操作系统安全模块的示意图。操作系统安全模块包括安全芯片的驱动模块,安全服务模块和安全接口模块三部分。
安全芯片驱动模块负责将应用模块的指令传送给底层的安全芯片,此时,安全芯片驱动模块将安全芯片作为操作系统的一个设备,并使应用模块和底层安全芯片共享一对认证密钥。每个应用模块与安全芯片进行信息交互之前,其也必须通过身份认证授权协议,即通过了安全芯片的认证后,才能使用安全芯片所提供的信息加密以及数字签名等安全服务,具体的传送过程如图5所示步骤501,安全芯片利用共享认证密钥对要求其提供安全服务的上层应用模块进行身份验证;如认证成功,则执行步骤502,否则执行步骤505,拒绝应用模块所请求的应用服务;步骤502,建立应用模块与安全芯片之间的数据通信的通道和控制命令通信的通道;步骤503,将应用模块的所发的指令转换为安全芯片可以识别的芯片指令,并将步骤501的认证结果、共享的认证密钥和芯片指令进行HASH运算以生成本次芯片指令的授权信息,之后,将芯片指令和该授权信息一起发送给安全芯片;步骤504,安全芯片每次收到芯片指令时,首先验证芯片指令的授权信息,即将步骤501的认证结果、共享的认证密钥和当前收到的芯片指令进行HASH运算以生成当前芯片指令的授权验证信息,对当前的授权验证信息和所收到的芯片指令所带的授权信息进行一致性比较,如果一致,则执行当前芯片指令的操作;否则,拒绝执行当前收到的芯片指令。
参见图4,图4中的操作系统安全模块包括应用模块保护模块402e,该模块主要用于验证被保护模块405的完整性,其具体步骤如图6所示步骤601,在确保计算机终端安全的环境下,预先生成待保护应用模块的完整性验证码;步骤602,将预先生成的待保护应用模块的完整性验证码保存在安全芯片的存储器中或操作系统的安全模块中;步骤603,当系统即将应用待保护应用模块时,安全服务模块首先计算出当前待保护应用模块的完整性验证码的值;
步骤604,判断当前计算出的完整性验证码的值与已保存的完整性验证码的值是否相等,如相等,则执行步骤605,否则执行步骤606;步骤605,启动该待保护应用模块,并定时验证待保护应用模块的完整性;步骤606,禁止启用该应用模块。
参见图4,图4中的操作系统安全模块还包括事件审计模块402a、日志/事件管理模块402b、和安全策略管理模块402d。
事件审计模块402a和日志/事件管理模块402b主要用于对任何一个使用安全芯片的操作做日志记录,并该将日志写入本地的日志数据库中,从而完成日志事件管理;并对日志数据库进行审计,为系统用户或管理员提供安全报告,对异常事件进行报警。
密钥管理模块402c主要用于对计算机终端上的各种密钥进行管理,并为应用模块提供信息加密和数字签名安全服务。当操作系统或应用模块使用信息加密和数字签名安全服务时,首先将需要加密或签名的信息传送给安全芯片;安全芯片在芯片内部完成信息加密和数字签名的工作后,将加密或签名后的结果传送给调用安全芯片服务的应用模块。
安全策略管理模块402d主要用于完成对计算机终端的安全策略管理,如生成或改变用户口令,或设置对系统文件资源和用户文件资源的访问控制策略等。
图4中的安全接口模块为操作系统和应用模块提供应用安全服务的接口,如应用软件开发接口API,动态连接库等。
本发明同样适用于掌上电脑或手机等其它信息处理设备。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种安全芯片,其特征在于,该芯片包括I/O接口模块、主处理器模块、存储器模块和密码处理器模块,上述模块通过内部总线相互连接,其中,I/O接口模块与外部设备相连,I/O接口模块由主处理器模块控制接收外部设备的指令,并将外部要求的运算结果返回给外部设备;主处理器模块,至少包括CPU及外围电路,其根据从I/O接口模块收到的指令对密码处理器模块进行控制,将处理后的结果保存在存储器模块中,或根据指令将处理后的结果与存储器模块中已保存的秘密信息进行比较,并将指令的执行结果传送给I/O接口模块;或者,直接从存储器模块中取出秘密信息,传送给I/O接口模块;密码处理器模块,在主处理器模块控制下生成密钥,并对I/O接口模块接收到的信息进行加解密处理,并将处理后的结果返回给主处理器模块;存储器模块,存储安全芯片自身的秘密信息、外部设备应用模块的秘密信息和密码处理器模块生成的秘密信息。
2.根据权利要求1所述的安全芯片,其特征在于所述秘密信息为由密码处理器模块生成的密钥、身份验证的信息和完整性验证信息。
3.根据权利要求1所述的安全芯片,其特征在于所述密码处理器模块至少包括公钥密码处理器模块,哈希处理器模块,对称密码处理器模块和随机数发生器模块,其中,随机数发生器模块,由主处理器模块控制生成随机数,该随机数送给主处理器模块;哈希处理器模块,在主处理器模块控制下对待处理信息进行哈希运算,并将运算结果传送给公钥密码处理器模块或对称密码处理器模块或主处理器模块;公钥密码处理器模块,在主处理器模块控制下,利用随机数生成公私密钥对,并将结果返回给主处理器模块;应用所生成的私钥,对哈希处理器模块传送来的结果进行加密计算,生成数据签名,或应用公钥对收到的需要解密的信息进行解密,并将所得的结果返回给主处理器模块;对称密码处理器模块,在主处理器模块的控制下,将随机数作为对称密钥对需要加密的信息进行加密或解密,将结果送给主处理器模块。
4.根据权利要求3所述的安全芯片,其特征在于所述公钥密码处理器模块至少包括椭圆曲线公钥密码算法处理模块,RSA公钥密码算法处理模块,离散对数密码算法处理模块。
5.根据权利要求1所述的安全芯片,其特征在于该芯片的主处理器模块进一步包括总线接口模块和总线控制器模块,其中,总线接口模块与主处理器内部高速总线和总线控制器模块相连,该总线控制器将主处理器高速总线处理为主处理器外围总线,且I/O接口模块、主处理器模块和存储器模块与内部高速总线相连;公钥密码处理器模块、对称密码处理器模块、随机数发生器模块和哈希处理器模块与主处理器外围总线相连。
6.根据权利要求1所述的装置,其特征在于,所述存储器模块为随机存储器(RAM)、可擦除只读存储器(EEPROM)或闪存(FLASH)。
7.根据权利要求1所述的装置,其特征在于,所述I/O接口模块置少包括与LPC(Low Pin Count Bus)总线或USB(Universal Serial Bus)总线相连的接口,或同步串口,或异步串口,或ISO7816接口。
8.一种信息安全处理设备,至少包含主板,底层固件和操作系统,其特征在于,该设备至少还包括如权利要求1所述的安全芯片,该安全芯片与所述的主板相连,接收主板中嵌入的底层固件或该设备操作系统所发送的信息,且根据底层固件发送信息对底层固件进行完整性验证;或该安全芯片根据操作系统发送的信息产生相应的运算结果返回给操作系统。
9.根据权利要求8所述的设备,其特征在于,所述安全芯片通过LPC(LowPin Count Bus)总线接口,或USB(Universal Serial Bus)总线接,或同步串口,或异步串口,或ISO7816接口与主板相连。
10.一种信息安全处理设备的验证方法,其特征在于,该方法包括以下步骤a、在主板上设置安全芯片;b、启动信息安全处理设备时,由安全芯片验证当前底层固件的完整性,如正确则完成正常的系统初始化后执行步骤c,否则停止启动该信息安全处理设备;c、由底层固件验证当前操作系统的完整性,如正确则正常运行操作系统,否则停止装入操作系统。
11.根据权利要求10所述的方法,其特征在于该方法进一步包括在操作系统中设置操作系统安全模块,该模块由操作系统启动,在启动该设备已有的应用模块前,由操作系统安全模块验证当前应用模块的完整性,如正确则正常运行该应用模块,否则停止运行该应用模块。
12.根据权利要求10或11所述的方法,其特征在于,所述步骤a进一步包括在安全环境下,将底层固件的完整性验证码的值保存在安全芯片中;将操作系统完整性验证码的值保存在安全芯片或底层固件中;将应用模块的完整性验证码的值保存在安全芯片或操作系统安全模块中。
13.根据权利要求12所述的方法,其特征在于,步骤b所述验证当前底层固件的完整性进一步包括以下步骤安全芯片计算当前系统底层固件的完整性验证码的值,并判断当前系统底层固件的完整性验证码的值与已保存的底层固件的完整性验证码的值是否相等,如果是,则继续执行后续步骤,否则停止启动该信息处理设备。
14.根据权利要求12所述的方法,其特征在于,该方法进一步包含在底层固件中设置底层固件安全模块;步骤c所述验证当前操作系统的完整性进一步包括以下步骤底层固件安全模块计算当前操作系统的完整性验证码的值,并判断当前操作系统的完整性验证码的值与已保存的操作系统的完整性验证码的值是否相等,如果是,则继续执行后续步骤,否则停止装入操作系统。
15.根据权利要求11所述的方法,其特征在于,所述操作系统安全模块由安全芯片驱动模块、安全服务模块和安全接口模块组成。
16.根据权利要求15所述的方法,其特征在于,所述安全芯片驱动模块将安全芯片设置为操作系统的一个设备,并设置每个应用模块和底层安全芯片共享一对认证密钥,该安全芯片驱动模块至少包括以下驱动步骤a、安全芯片利用共享认证密钥对应用模块进行身份验证;如认证成功,则执行步骤b,否则拒绝应用模块所请求的服务;b、建立应用模块与安全芯片之间的数据通信的通道和控制命令通信的通道;c、安全芯片驱动模块将上层应用模块的所发的指令转换为安全芯片可以识别的芯片指令,并将步骤a的认证结果、共享的认证密钥和芯片指令进行哈希运算以生成本次芯片指令的授权信息,之后,将芯片指令和该授权信息一起发送给安全芯片;d、安全芯片每次收到芯片指令时,将步骤a的认证结果、共享的认证密钥和当前收到的芯片指令进行哈希运算以生成当前芯片指令的授权验证信息,对当前的授权验证信息和所收到的芯片指令所带的授权信息进行一致性比较,如果一致,则执行当前芯片指令的操作;否则,拒绝执行当前收到的芯片指令。
17.根据权利要求15所述的方法,其特征在于,所述安全服务模块验证应用模块的完整性包括以下步骤a、安全服务模块首先计算出该待保护的应用模块当前的完整性验证码的值,并将当前的完整性验证码的值与已保存的完整性验证码的值是否相等,如相等,则启动该待保护应用模块后,执行步骤b,否则禁止启用该应用模块。b、安全服务模块定时验证待保护应用模块的完整性。
18.根据权利要求15或17所述的方法,其特征在于,所述安全服务模块保存任何一个对安全芯片进行操作的记录,并将该记录作为日志记录保存在本地的日志数据库中。
19.根据权利要求10所述的方法,其特征在于该方法进一步包括,在每一个安全芯片上,设置唯一身份标识密码证书。
20.根据权利要求19所述的方法,其特征在于,所述的设置方法为由第三方为每台计算机终端设置一个公钥证书和私钥证书,并在公私钥证书上进行数字签名后,将私钥证书信息设置为每台计算机终端的唯一身份标识的密码证书。
21.根据权利要求20所述的方法,其特征在于,所述私钥证书存储在安全芯片中,公钥证书提供给用于计算机终端身份验证的验证方。
22.根据权利要求21所述的方法,其特征在于,对信息处理设备进行身份认证的方法进一步包括以下步骤a、应用模块将需要验证的信息传送给安全芯片,安全芯片根据唯一身份标识密码证书的私钥证书调用其相应的公钥算法机制,对需要验证的信息进行数字签名后,将签名后的结果返回给应用模块,该应用模块再将上述数字签名信息发送给验证方;b、验证方首先验证该唯一身份标识密码证书的公钥证书上的第三方的签名是否正确,如正确则执行步骤c,否则认证失败;c、应用该公钥证书验证应用模块发送来的经数字签名的信息是否正确,如正确则确定该信息处理设备的安全身份,否则认证失败。
23.根据权利要求19所述的方法,其特征在于,所述的设置方法为由第三方为每台计算机终端生成一个由随机数组成的序列号,将经第三方确认并进行数字签名的后序列号设置为每台计算机终端的唯一身份标识的密码证书。
24.根据权利要求23所述的方法,其特征在于,对信息安全处理设备进行身份认证的方法进一步包括以下步骤a、应用模块将信息安全处理设备本身的唯一身份标识密码证书信息发送给验证方;b、验证方验证唯一身份标识密码证书上第三方的签名信息是否正确,如正确则确定该信息安全处理设备的安全身份,否则认证失败。
25.根据权利要求10所述的方法,其特征在于,所述验证底层固件至少包括验证用于完成主板硬件系统初始化的模块、主板上CPU的微码程序、主板上存储配置信息的存储器、配置信息扩展系统(ESCDExtended SystemConfiguration Data)、CMOS(Complementary Metal-Oxide-SemiconductorTransistor)、断电保留数据的随机存储器(NVRAMnon-volatile RAM)和主引导扇区(MBRMaster Boot Record)。
全文摘要
本发明提供了一种安全芯片,该芯片包括I/O接口模块、主处理器模块、存储器模块和密码处理器模块。同时,本发明还提供了一种应用上述安全芯片的信息安全处理设备和方法,由安全芯片验证当前底层固件的完整性,由底层固件验证当前操作系统的完整性,操作系统验证应用模块的完整性,保证了应用模块信息的安全,因而使得该信息安全处理设备具有抗攻击、防病毒等功能。同时,本发明利用安全芯片中设置的唯一身份标识密码证书信息,实现访问控制和身份认证等功能。应用本发明,能够保证信息安全处理设备中信息的安全。
文档编号G06F12/14GK1553349SQ03138380
公开日2004年12月8日 申请日期2003年5月29日 优先权日2003年5月29日
发明者韦卫, 王一平, 吴秋新, 刘鸿京, 李明柱, 王晚丁, 李亚辉, 韦 卫 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1