实用新型内容
为了控制信息从外设接口泄露,需要在计算机硬件上电时刻,立即封闭外设接口,在计算机硬盘的合法系统启动之后,再打开计算机的外设接口,交给计算机系统的安防软件进行监控,从而防止信息的泄露。
为此,本实用新型提供了一种能够强制计算机硬盘启动的系统,以避免非法的系统启动计算机。
具体地,本实用新型提供一种用于强制计算机硬盘启动操作系统的安全保护卡,其包括接口,PCI总线,扩展ROM控制芯片组CH364,存储有本地控制或设定数据的第一存储器,以及存储有本地数据和I/O扩展相关数据的第二存储器,所述控制芯片组CH364通过所述PCI总线连接至所述接口从而通过所述接口接收外部驱动信号和数据,所述第一存储器和所述第二存储器均与所述控制芯片CH364相连接,其中,所述控制芯片组CH364包括用于PCI总线技术下扩展ROM控制卡的专用芯片CH364P以及与所述专用芯片CH364P相连接的用于提供64KB可电擦写只读存储器Flash-ROM的芯片CH364F。
上述安全保护卡中,PCI总线的32个接口PCI_AD[31-0]与CH364P芯片的32个对应引脚PCI_AD[31-0]分别连接,PCI总线的4个接口PCI_CBE[3-0]与CH364P芯片的4个对应引脚PCI_CBE[3-0]分别连接,PCI总线的PCI_CLK时钟接口与CH364P芯片的PCI_CLK时钟引脚相连接,PCI总线的PCI_RST复位接口与CH364P芯片的PCI_CLK复位引脚相连接。
优选地,所述外部驱动信号包括5V电源驱动信号。
优选地,所述第一存储器和第二存储器是Flash卡、cf卡、sd卡、TF卡、记忆棒中的任意一种。
本实用新型还提供另一种用于强制计算机硬盘启动操作系统的安全保护卡,其包括接口,PCI-E总线,扩展ROM控制芯片组CH366,存储有本地控制或设定数据的第三存储器,以及存储有本地数据和I/O扩展相关数据的第四存储器,所述控制芯片组CH366通过所述PCI-E总线连接至所述接口从而通过所述接口接收外部驱动信号和数据,所述第三存储器与所述第四存储器均与所述控制芯片组CH366相连接,其中,所述控制芯片组CH366包括用于PCI-E总线技术下扩展ROM控制卡的专用芯片CH366Q以及与所述专用芯片CH366Q相连接的用于提供64KB可电擦写只读存储器Flash-ROM的芯片CH364F。
在上述另一种用于强制计算机硬盘启动操作系统的安全保护卡中,所述CH366Q芯片的三个VCC33引脚连接至外部3.3V电压源,所述CH366Q芯片的三个VCC18引脚直接连接至外部1.8V电压源,所述CH366Q芯片的两个VCC18A引脚通过一个电阻连接至外部1.8V电压源,所述PCI-E总线的WAKE#接口通过一个电阻连接至所述CH366Q芯片的WAKE#引脚,所述PCI-E总线的复位接口PERST#连接至所述CH366Q芯片的PERST#引脚,所述PCI-E总线的PECKP接口连接至所述CH366Q芯片的PECKP引脚,所述PCI-E总线的PECKN接口连接至所述CH366Q芯片的PECKN引脚,所述PCI-E总线的PETP接口连接至所述CH366Q芯片的PETP引脚,所述PCI-E总线的PETN接口连接至所述CH366Q芯片的PETN引脚,所述PCI-E总线的PERP接口通过一个电容连接至所述CH366Q芯片的PERP引脚,所述PCI-E总线的PERN接口通过一个电容连接至所述CH366Q芯片的PERN引脚。
优选地,所述第三存储器和第四存储器是Flash卡、cf卡、sd卡、TF卡、记忆棒中的任意一种。
具体实施方式
下面参照附图对本实用新型进行更全面的详细描述。
为适应接口技术的发展,本实用新型提供两种安全保护卡的设计与实现方案,分别采用PCI和PCI-E芯片。如本领域技术人员所知:
PCI总线具有以下特点:
(1)数据总线32位,可扩充到64位;
(2)可进行突发(burst)式传输;
(3)总线操作与处理器-存储器子系统操作并行;
(4)总线时钟频率为33MHz或66MHz,最高传输速率可达528Mb/s;
(5)中央集中式总线仲裁;
(6)采用地址/数据线复用技术以减低成本;
(7)全自动配置与资源分配,PCI卡内有设备信息寄存器组为系统提供卡的信息,可实现即插即用(PNP);
(8)PCI总线规范独立于微处理器,与CPU更新换代无关,通用性好;
(9)PCI设备可以完全作为主控设备控制总线;等。
而作为新一代的总线接口,PCI-E总线具有以下特点:
(1)串行技术可提供更好的可扩充性;
(2)每个器件具备专属的点对点连接,PCI则采用共享总线;
(3)高带宽:最高理论值为每秒0.5~0.8Gb的带宽,并提供多种配置选项;
(4)具备与目前驱动程序及软件的向后兼容性;
(5)采用小型连接器,容易构建且节省成本;
为了兼容不同的计算机,本实用新型设计了这两种接口卡。
图1为本实用新型中所述安全保护卡的主要硬件组成示意图。为实现本实用新型,如图1所示,所述安全保护卡包括PCI或PCI-E接口芯片以及与所述接口芯片相连接的存储器,需要注意的是,虽然图1中所给出的是Flash存储器,但本领域技术人员应当知晓,所述存储器还可以是其他任何可以提供数据读写的存储装置,例如cf卡、sd卡、TF卡、记忆棒等等。
在基于PCI总线接口技术的设计与实现方案中,本实用新型采用了南京沁恒电子有限公司生产的CH364和CH366芯片。这两种芯片是专用的扩展ROM控制芯片。
PCI扩展ROM控制芯片CH364实际上是一个芯片组,其包括PCI总线技术下扩展ROM控制卡的专用芯片CH364P以及用于提供容量为64KB的可电擦写只读存储器Flash-ROM的芯片CH364F,CH364芯片组支持软件模拟兼容I2C的两线串口进行数据和I/O扩展,专用于各种带有扩展ROM的PCI控制卡。其具备标准的32位PCI总线的设备接口,支持窗口容量为32KB的扩展ROM(Boot ROM),支持BIOS无硬盘引导。提供可电擦写的只读存储器Flash-ROM,容量为64KB,支持客户端随时在线升级。由Flash-ROM定义PCI板卡的识别信息(Vendor ID,Device ID,Class Code)。部分内部寄存器和外部引脚S0和S1受到保护,支持状态锁定功能。提供可锁定的通用输出引脚S0和S1,支持PCI复位自动加载功能。提供非锁定的通用双向输入输出引脚SDA,提供通用输入引脚DIN。可以由软件控制SCL引脚和SDA引脚模拟兼容I2C的两线串口,用于数据和I/O扩展。提供不受PCI复位影响的内部寄存器位,用于应用程序传递标志给扩展ROM程序。
最后,采用QFP-64封装,引脚中心间距为0.8mm。封装后的CH364芯片组如图5所示。
如上所述,CH364芯片组由CH364P和CH364F两个芯片组成,应该成套订购、成套使用。其基本参数由表1示出。
表1
CH364芯片组的引脚功能如下:
CH364P电源线
引脚号 |
引脚名称 |
类型 |
引脚说明 |
2、15、30、48 |
VCC |
电源 |
电源+5V |
1、16、31、50、64 |
GND |
电源 |
接地 |
CH364P的PCI信号
引脚号 |
引脚名称 |
类型 |
引脚说明 |
47 |
PCI_RST |
输入 |
系统复位信号线,低电平有效 |
49 |
PCI_CLK |
输入 |
系统时钟信号线,上升沿有效 |
CH364P的PCI信号线
CH364P的本地信号线
CH364F的信号线
芯片组互连信号线
PCIE扩展ROM控制芯片组CH366包括一个PCI-Express总线技术下扩展ROM控制卡的专用芯片CH366Q以及用于提供容量为64KB的可电擦写只读存储器Flash-ROM的芯片CH364F,CH366支持软件模拟兼容I2C的两线串口进行数据和I/O扩展,专用于各种带有扩展ROM的PCIE控制卡。扩展ROM窗口容量为32KB主程序和辅助数据两大块:主程序包括BIOS引导代码和应用主程序,并且包含PCIE扩展ROM头标区,由主板BIOS自动加载;辅助数据包括扩展程序和应用数据等,由已经加载的主程序根据需要动态加载。CH366支持两套完全独立的32KB主程序。CH366提供容量为64KB的可电擦写只读存储器Flash-ROM,支持软件模拟兼容I2C的两线串口进行数据和I/O扩展,专用于各种带有扩展ROM的PCIE控制卡。支持窗口容量为32KB的扩展ROM(Boot ROM),支持BIOS无硬盘引导。提供可电擦写的只读存储器Flash-ROM,容量为64KB或更多,支持客户端随时在线升级。由Flash-ROM定义PCIE板卡的识别信息(Vendor ID,DeviceID,Class Code)。支持在运行中动态修改PCIE板卡的识别信息(VendorID,DeviceID,Class Code等)。部分内部寄存器和外部引脚SWO和SW1受到保护,支持状态锁定功能。提供可锁定的通用输出引脚SW0和SW1,支持PCIE复位自动加载功能。提供非锁定的通用双向输入输出引脚SDA,提供通用输入引脚GPI,提供通用输出引脚GPO。可以由软件控制SCL引脚和SDA引脚模拟兼容I2C的两线串口,用于数据和I/O扩展。提供不受PCIE复位影响的内部寄存器位,用于应用程序传递标志给扩展ROM程序。3.3V电源电压,I/O引脚支持5V耐压,支持低功耗睡眠模式和唤醒。LQFP-44无铅封装,兼容RoHS。封装后的CH366如图7所示。其基本参数如表2示出(CH364F的参数同表1)。
表2
CH366Q引脚功能如下:
CH366Q电源线
引脚号 |
引脚名称 |
类型 |
引脚说明 |
15,24,34 |
VCC33 |
电源 |
3.3V I/O电源 |
3,22,29 |
VCC18 |
电源 |
1.8V内核电源 |
6,11 |
VCC18A |
电源 |
1.8V传输电源 |
2,7,14,16,23,30,33,38 |
GND |
电源 |
公共接地端 |
27,28,35,36 |
NC. |
空脚 |
禁止连接 |
PCIE总线信号线
引脚号 |
引脚名称 |
类型 |
引脚说明 |
1 |
PERST# |
输入 |
系统复位信号线,低电平有效 |
4,5 |
PECKP/PECKN |
输入 |
系统参考时钟差分输入 |
9,10 |
PERP/PERN |
PCIE输入 |
PCIE接收器差分信号输入 |
13,12 |
PETP/PETN |
PCIE输出 |
PCIE发送器差分信号输出 |
44 |
WAKE# |
开漏输出 |
总线唤醒输出,低电平有效,未用到则可以不连接 |
与CH364F互连信号线
本地端信号线
辅助信号线
引脚号 |
引脚名称 |
类型 |
引脚说明 |
8 |
RREF |
输入 |
系统参考电流输入,需要外接12KΩ电阻到GND |
40 |
WAKIN# |
输入 |
唤醒请求输入,低电平有效,未用到则必须接高电平 |
39 |
UP32K# |
输入 |
强制加载次32KB输入,低电平有效,内置上拉电阻 |
41 |
SKPLD# |
输入 |
禁止自动加载参数输入,低电平有效,内置上拉电阻 |
1 |
RSVD |
保留 |
保留引脚,禁止连接 |
上述两种芯片可以保证用户编写的控制软件无需在操作系统下运行。
图2是采用PCI总线技术的本实用新型的结构示意图。
图3是采用PCI-E总线技术的本实用新型的结构示意图。
图4是采用PCI总线技术的本实用新型的电路结构示意图。
图6是采用PCI-E总线技术的本实用新型的电路结构示意图。
如图2、图4所示,本实用新型所述的安全保护卡包括PCI总线,CH364扩展ROM控制芯片,存储有本地控制或设定数据的存储器1,以及存储有本地数据和I/O扩展相关数据的存储器2。为保证必要的数据通信,PCI总线的32个接口PCI_AD[31-0]与CH364芯片的32个对应引脚PCI_AD[31-0]分别连接,PCI总线的4个接口PCI_CBE[3-0]与CH364芯片的4个对应引脚PCI_CBE[3-0]分别连接,PCI总线的PCI_CLK时钟接口与CH364芯片的PCI_CLK时钟引脚相连接,PCI总线的PCI_RST复位接口与CH364芯片的PCI_CLK复位引脚相连接。
如图3、图6所示,本实用新型所述的另一种安全保护卡包括PCI-E总线,CH366扩展ROM控制芯片,存储有本地控制或设定数据的存储器3,以及存储有本地数据和I/O扩展相关数据的存储器4。其中,所述CH366芯片的三个VCC33引脚连接至外部3.3V电压源,所述CH366芯片的三个VCC18引脚直接连接至外部1.8V电压源,所述CH366芯片的两个VCC18A引脚通过一个电阻连接至外部1.8V电压源,所述PCI-E总线的WAKE#接口通过一个电阻连接至所述CH366芯片的WAKE#引脚,所述PCI-E总线的复位接口PERST#连接至所述CH366芯片的PERST#引脚,所述PCI-E总线的PECKP接口连接至所述CH366芯片的PECKP引脚,所述PCI-E总线的PECKN接口连接至所述CH366芯片的PECKN引脚,所述PCI-E总线的PETP接口连接至所述CH366芯片的PETP引脚,所述PCI-E总线的PETN接口连接至所述CH366芯片的PETN引脚,所述PCI-E总线的PERP接口通过一个电容连接至所述CH366芯片的PERP引脚,所述PCI-E总线的PERN接口通过一个电容连接至所述CH366芯片的PERN引脚。
上述的安全保护卡在按照PCI和PCI-E国际PC标准规范印制电路板,使得接口满足PC尺寸和布线要求后,可以通过PCI或PCI-E总线接口安装至计算机。
一般而言,计算机的启动是从BIOS开始的,BIOS程序往往在出厂前就已经确定了,但如果用户有特殊要求,计算机系统提供了用户扩展BIOS的方法供用户编程使用,扩展方法有多种,采用本实用新型的所述安全卡,可以通过PCI或PIC-E总线扩展ROM的方法实现上述扩展。
系统启动过程主要由一下几步组成(以硬盘启动为例):
1、开机:
2、BIOS加电自检(Power On Self Test--POST)内存地址为0ffff:0000
3、将硬盘第一个扇区(0头0道1扇区,也就是Boot Sector)读入内存地址0000:7C00处。
4、检查(WORD)0000:7DFE是否等于0xAA55,若不等于则转去尝试其他启动介质,如果没有其他启动介质则显示″No ROM BASIC″然后死机。
5、如果等于0xAA55,跳转到0000:7C00处执行MBR中的程序。
6、MBR首先将自己复制到0000:0600处,然后继续执行。
7、在主分区表中搜索标志为活动的分区。如果发现没有活动分区或有不止一个活动分区,则转停止。
8、将活动分区的第一个扇区读入内存地址0000:7C00处。
9、检查(WORD)0000:7DFE是否等于0xAA55,若不等于则显示″MissingOperating System″然后停止,或尝试软盘启动。
10、跳转到0000:7C00处继续执行特定系统的启动程序。
11、启动系统…。
软件编程在第5项实现接管BIOS,执行用户自己编写程序,实现强制计算机在硬盘启动系统,这时如果用户设置第一项为CDROM或USB设备启动将失效。
如果按功能键选择启动菜单选项也将失效,这样就实现了计算机必须在硬盘启动。
实现接管BIOS原理:
用硬件实现接管连接过程,用软件修改启动参数。
采用沁恒电子公司生产的CH364和CH366芯片(硬件部分)实现扩展BIOS功能。利用BIOS中断指令(int13功能)编写软件,读取硬盘参数和工作状态同时还要对CMOS进行读取参数进行测试,参数测试通过后执行下一步工作。
当初始化和计算机硬件检测的函数或例程完成后,BIOS会寻找一个操作系统。通常,BIOS会试图在光驱CDROM(或USB设备)中引导,如果找不到,它会试图在C盘寻找操作系统。如果光驱CDROM(或USB设备)中有引导盘,BIOS将1扇区0磁头0柱面的内容(引导记录)载入内存0000:7C00h开始的地方。如果光驱CDROM(或USB设备)中没有引导盘,则BIOS搜索硬盘寻找硬盘的第一个扇区,然后把主引导记录(MBR)载入内存0000:7C00h开始的地方。一旦引导记录加载完毕,BIOS就交出系统的执行控制权,跳转到引导程序的头部执行。
下面就是硬盘的MBR代码流程,其中的引导扇区是指硬盘相应分区的第一个扇区,是和操作系统有关的操作系统的引导是由它来完成的,而MBR(硬盘的第一个扇区)并不负责,MBR和操作系统无关他的任务是把控制权转交给操作系统的引导程序。
程序流程:
1将程序代码由0000:7C00H移动到0000:0600H
2搜索可引导分区,即80H标志
成功:转到3步
失败:挂起显示提界面……
无效分区表:转到5步
3读引导扇区(注:用于操作系统的引导,将它读到0000:7C00H)
失败:转到5
成功:转到4
4验证引导扇区最后是否为55AAH
失败:转到5
成功:转到6
5显示提界面……错误进入无穷循环
6跳到0:7C00H进行下一步启动工作7
7利用int9接管,执行用户自己编写的程序内容:
读CMOS内容进行测试;
屏幕显示接管的提示信息;研制公司名称;接管情况等。
将BIOS引导参数,修改为C盘启动参数,这时即使已设置了第一启动设备为CDROM或USB设备也视为无效设置。同样在启动菜单选择为CDROM或USB设备启动系统也视为无效。从而实现了计算机强制硬盘启动操作系统的功能。
返回BIOS主程序,将系统操作权交给硬盘,完成计算机启动过程的控制。
本实用新型中用户编写的控制软件无须在操作系统下运行,其代码可以如以下代码所描述:
按照PCI和PCI-E国际PC标准规范印制电路板,使得接口满足PC尺寸和布线要求后,通过PCI或PCI-E总线接口将本实用新型所述的安全保护卡安装至计算机,可以有效防止信息泄密,并防止操作人员对计算机的非法启动,实现了无人看守之功能,减少了管理人员工作量。
本实用新型成本低,结构简单,结合接管BIOS程序后已经经过普通兼容计算机(组装机)以及DELL、HP、LENOVO等多个品牌的计算机的可行性测试和验证,运行稳定,功能良好。