一种通用串行总线设备安全接入的实现方法

文档序号:6586194阅读:176来源:国知局
专利名称:一种通用串行总线设备安全接入的实现方法
技术领域
本发明涉及计算机领域,具体地说,涉及计算机外设接入通用串行总线的安全防范实现方法。
USB设备接入检测原理如

图1、图2所示。
参见图1所示,图1为全速/高速设备接入USB时电缆和电阻连接示意图。宿主机或集线器端口102中的USB收发器101的数据线D+、D-通过电缆103与集线器下一级端口或全速/高速功能104中的全速/高速USB收发器105的数据线D+、D-相连,其中,数据线D+接有上拉电阻R13。
类似地,参见图2所示,图2为低速设备接入USB时电缆和电阻连接示意图。宿主机或集线器端口102中的USB收发器101的数据线D+、D-通过电缆103与低速功能106中的低速USB收发器的数据线D+、D-相连,其中,数据线D-接有上拉电阻R13。
从图1、图2可看出,设备接入时,设备端的上拉电阻R13使得数据线D+或D-具有一定的电平,该电平被USB控制器的根集线器(Root Hub)检测到,于是USB控制器在其配置空间或I/O空间的相应寄存器进行置位,以反映设备的接入。同时,USB控制器产生一个系统硬中断,系统响应中断,调用驱动程序,检查该寄存器的值,确定设备的接入,从而进行设备的初始化与驱动程序的加载。
由于USB设备接入的便易性和加载USB接入设备的驱动程序的无权限限制,给计算机用户带来了很大安全隐患。利用USB即插即用的特点,USB设备可以毫无限制地连接到任一台计算机上,存储在计算机内的数据也可方便地复制到USB存储设备上,这使得保存在计算机内数据的安全性就受到很大的威胁。这种隐患随着大容量便携式USB存储设备的出现和普及而日益显示出其危害性,如何防止对于USB端口的非授权使用,是一个亟待解决的问题。
本发明通过以下技术方案实现一种通用串行总线设备安全接入的实现方法,该方法至少包括A)在通用串行总线的数据线上设置设备接入侦测电路,该电路在通用串行总线设备接入时触发系统中断;B)由该中断处理程序屏蔽由用户预先设置不符合系统安全范围的通用串行总线设备接入。
较佳地,所述的步骤B具体包括中断处理程序检查接入的通用串行总线设备的类型代码,判断该设备是否属于系统安全范围之内的设备,如果是,保留反映设备接入的寄存器的值,退出中断处理程序,否则,清除反映设备接入的寄存器的值,退出中断处理程序。该步骤可实现在开机状态接入设备时,进行验证以防止非法用户接入不属于系统安全范围之内的设备。清除反映设备接入的寄存器的值,实际上屏蔽了本次的设备接入。
较佳地,所述步骤B还可具体包括预先在通用串行总线接口与通用串行总线控制器之间的信号线上设置线路选通控制电路,由中断处理程序控制该线路选通控制电路,切断通用串行总线接口与通用串行总线控制器之间的信号连接。这样,用硬件电路在物理上断开接入设备与控制器之间的连接,中止了设备接入。
所述设备接入侦测电路为高速电压比较器。
本发明在硬件与Firmware一级设计安全特性,应用软件进行权限验证,使得安全特性更加安全和健壮;硬件电路采用设备接入侦测电路拦截设备接入信号并触发中断,该设备接入侦测电路可采用一般的高速电压比较器,电路设计简单,不但保证了系统的可靠性,而且几乎不增加任何成本;通过设置线路选通控制电路,切断USB数据线,防止了设备的接入;通过保留或清除反映USB设备接入的寄存器的值,解决了USB授权使用的问题,保持了与原有系统最大的兼容性,使已有设备仍然可以使用。
具体实施例方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明运用现有技术的USB设备接入检测原理,通过在主板上增加的USB系统设备接入侦测电路,在硬件一级侦测USB设备接入信号,产生中断,完全控制设备的接入过程,结合软件的鉴权验证,实现USB设备的安全接入。
参见图3a所示,图3a为全速/高速接入设备的侦测电路示意图。设备接入侦测电路包括一高速电压比较器300,该高速电压比较器的正相输入端为参考电压,反相输入端通过电阻R1与USB的数据线D+相连,系统根据高速电压比较器的输出进行中断触发。在高速或全速设备接入时,D+将具有一定的电平,高速电压比较器300将检查到D+上的电平,从而输出低电平,该低电平可用于触发中断。
类似地,参见图3b所示,图3b为低速接入设备的检测电路示意图。设备接入侦测电路的高速电压比较器300反相输入端通过电阻R2与USB的数据线D-相连,系统根据高速电压比较器的输出进行中断触发。在低速设备接入时,D-将具有一定的电平,高速电压比较器300将检查到D-上的电平,从而输出低电平,该低电平可用于触发中断。
参见图3c所示,图3c为各种速率的USB系统设备接入时的设备接入侦测电路示意图。该侦测电路包括两个相同高速电压比较器300、302,其中,高速电压比较器300、302的正相输入端为参考电压,高速电压比较器300反相输入端通过电阻R1与USB的数据线D+相连,高速电压比较器302反相输入端通过电阻R2与USB的数据线D-相连,高速电压比较器300、302的输出连至逻辑门电路305的输入端,系统根据逻辑门电路305的输出进行中断触发。在高速、全速或低速USB设备接入时,该电路皆可侦测到,从而输出低电平,触发中断。
上述输出的低电平可由计算机中断系统检测,例如,由CPU的桥接器南桥检测后触发中断。
下面结合具体实施例进一步说明。
实施例1对于Intel架构的PC处理器系统,提供了三种硬件中断中断(INT),系统控制中断(SCI),SMI。其中SMI的中断级别最高,SMI产生后进入系统管理模式,这种模式是Intel留给固件(Firmware)的控制入口,对于操作系统而言是不可见的。在这种SMM模式下,可以对于整个系统拥有最高级别的控制权。
本实施例利用图3系列设备接入侦测电路,接至系统SMI的触发信号上。在SMI中断服务程序中屏蔽由用户预先设置的不符合系统安全范围的USB设备的接入。
首先,预先定义一类或几类设备属于安全范围之内的高级设备,如定义存储设备类和通讯设备类为安全范围之内高级设备,在BIOS上电启动测试(POST)过程中进行一次性验证,即在接入设备前验证用户的权限。这里,所定义的安全范围内的高级设备可以在BIOS中通过SETUP菜单设定,也可在BIOS中通过增加的设置程序设定。
权限验证过程是这样的系统上电启动,BIOS判断设备接入权限密码是否正确,如果正确则屏蔽SMI中断,然后加载操作系统,否则检查USB系统已接入的设备是否有系统安全范围之内的设备,如果没有,继续正常POST,加载操作系统;否则,提示用户拔去该设备,系统停止POST,等待用户拔去该设备。所述的设备接入权限密码可预先通过Setup菜单设置。
参见图4所示,图4为BIOS POST过程中用户设备接入授权验证流程图。
步骤401,用户在BIOS POST可以选择设置或者修改USB系统使用授权密码;
步骤402,如果用户设置了密码,那么执行步骤403,进行密码验证过程,否则,跳转到步骤407;步骤403,执行密码验证过程;步骤404,如果验证成功跳到步骤407,否则执行步骤405;步骤405,配置中断为使能状态,该中断可以为南桥产生的SMI中断;步骤406,检测系统中是否已经接入安全范围内的设备,如果没有,跳到步骤407,否则,执行步骤408,提醒用户拔去非法设备,返回步骤405;步骤407,继续完成POST,加载操作系统。
预先进行设备接入权限验证后,系统运行于操作系统下。当设备接入时,对于设备接入权限密码验证成功的用户,由于未配置南桥产生SMI中断为使能状态,将不执行SMI中断服务程序,而是直接响应USB中断服务程序;对于设备接入权限密码验证失败的用户,由于配置了南桥产生SMI中断为使能状态,将先响应SMI中断服务程序,然后再响应USB中断服务程序。
参见图5所示,图5为BIOS实施SMI中断服务程序,其过程如下步骤501,设备接入时,系统进入SMI中断服务程序;步骤502,进入SMM模式;步骤503,在SMM管理模式下,检测设备的类型代码;步骤504,判断接入的设备是否是系统安全范围内的高级设备,如果是系统安全范围内的高级设备,则执行步骤505,清掉寄存器的值,以防止该设备接入USB,如果不是系统安全范围内的高级设备,则执行步骤506,保留寄存器的值,以便该设备接入USB,然后执行步骤507,退出系统管理模式。
经过以上步骤,就可以屏蔽非授权用户的USB设备接入。为了充分说明该发明在操作系统下的明显效果,下面说明对USB设备接入处理过程的影响。
操作系统响应USB硬中断,执行USB硬中断服务程序。参见图6所示,图6为USB硬中断服务程序流程图,其过程如下步骤601,响应USB控制器的硬件中断,调用中断服务例程;步骤602,判断寄存器中的值是否被清除,如果被清除,则转至执行步骤611,否则说明检测到设备的接入,执行步骤610,对设备进行初始化以及设备驱动程序的加载工作;步骤611,退出USB中断服务例程,返回操作系统。
从上述过程可看出,该实施例是在上电启动过程进行用户使用权限验证,在操作系统下,通过执行SMI中断程序判断接入的设备是否是系统安全范围内的设备,确定拒绝该设备的接入还是允许设备的接入,相应清除或保留寄存器的值。因此,对于通过验证的用户,可使用USB接入任何设备,对于未通过验证的用户,将拒绝安全范围之内的设备接入。
实施例2设备接入时,用硬件电路切断未通过权限验证用户的USB数据线。
实施例1通过SMI中断程序中清除反映设备接入的寄存器内容实现接入设备驱动程序的加载控制,而实施例2用硬件电路切断USB数据线,阻止未授权用户使用USB系统。
参见图7所示,图7为用硬件电路切断未通过权限验证用户的USB数据线的示意图。在宿主机或集线器端口102的D+数据线与USB设备302的D+数据线之间、以及宿主机或集线器端口102的D-数据线与USB设备302的D-数据线之间设置线路选通控制电路301,该电路可为具有导通和关断数据线的逻辑门电路,例如三态门电路,由中断处理程序产生控制信号控制逻辑门电路导通和关断,从而控制宿主机或集线器端口102的D+数据线和D-数据线分别与接入的USB设备的D+数据线和D-数据线连通或断开。
设备接入权限验证过程与实施例1基本相同,在BIOS POST过程中,根据用户的授权验证结果决定是否配置检测系统。同时,检测系统中是否已经接入安全范围内的设备。
参见图8所示,图8为实施例2的设备接入的过程示意图。其过程如下设备接入时,中断系统检测到接入信号侦测电路产生的电平信号,若用户没有通过设备接入权限,则这个电平信号触发中断,该中断可为普通中断,执行中断的服务程序,启动线路控制电路,切断USB数据线,防止非授权用户USB设备的接入。相反,如果用户通过了设备接入权限验证,由于没有配置中断触发为使能状态,就不会进入中断服务例程,所以不会切断USB数据线,设备可以正常接入使用。
本发明并不局限于上述实施例的具体介绍。本发明可进一步更新,或者对本发明所公开的特征加以新的组合(包括任何相关的权利要求、摘要和附图),也可对本发明所公开的任何方法或者过程进行更新或者进行新组合。
权利要求
1.一种通用串行总线设备安全接入的实现方法,其特征在于,该方法至少包括A)在通用串行总线的数据线上设置设备接入侦测电路,该电路在通用串行总线设备接入时触发系统中断;B)由该中断处理程序屏蔽由用户预先设置不符合系统安全范围的通用串行总线设备接入。
2.根据权利要求1所述的实现方法,其特征在于,所述的步骤B具体包括中断处理程序检查接入的通用串行总线设备的类型代码,判断该设备是否属于系统安全范围之内的设备,如果是,保留反映设备接入的寄存器的值,退出中断处理程序,否则,清除反映设备接入的寄存器的值,退出中断处理程序。
3.根据权利要求1所述的实现方法,其特征在于,所述步骤B具体包括预先在通用串行总线设备接口与通用串行总线控制器之间的信号线上设置线路选通控制电路,由中断处理程序控制该线路选通控制电路,切断通用串行总线接口与通用串行总线控制器之间的信号连接。
4.根据权利要求1所述的实现方法,其特征在于,所述设备接入侦测电路为高速电压比较器。
全文摘要
本发明公开了一种通用串行总线设备安全接入的实现方法,该方法包括在通用串行总线的数据线上设置设备接入侦测电路,该电路在通用串行总线设备接入时触发系统中断;由该中断处理程序屏蔽由用户预先设置不符合系统安全范围的通用串行总线设备接入。本发明使得没有通过安全验证的设备在总线上无法使用,解决了USB系统授权使用的安全问题。
文档编号G06F13/24GK1479214SQ02129320
公开日2004年3月3日 申请日期2002年8月30日 优先权日2002年8月30日
发明者臧超飞, 周浩强 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1