CN104361280B - 一种通过smi中断实现对usb存储设备进行可信认证的方法 - Google Patents
一种通过smi中断实现对usb存储设备进行可信认证的方法 Download PDFInfo
- Publication number
- CN104361280B CN104361280B CN201410598154.5A CN201410598154A CN104361280B CN 104361280 B CN104361280 B CN 104361280B CN 201410598154 A CN201410598154 A CN 201410598154A CN 104361280 B CN104361280 B CN 104361280B
- Authority
- CN
- China
- Prior art keywords
- usb
- bios
- storage device
- sci
- usb storage
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
Abstract
本发明提供一种通过SMI中断实现对USB存储设备进行可信认证的方法,通过BIOS对USB控制器寄存器的设置,USB存储设备在插入USB接口时,可产生PME事件,通过对PCH桥片寄存器的设置,可将USB的PME事件转换成SMI中断或者SCI中断,将其设置为产生SCI中断,在BIOS的ACPI代码中添加SCI中断处理代码,查询是否为USB产生的SCI中断,如果是USB控制器产生的SCI中断,则通过ASL代码写SMI软中断命令,产生一个SMI中断,在BIOS的SMI中断处理程序中,查询USB控制器的端口状态位,若有效,则说明USB接口有设备接入。
Description
技术领域
本发明涉及计算机应用技术领域,具体地说是一种通过SMI中断实现对USB存储设备进行可信认证的方法。
背景技术
USB存储设备是计算机系统中使用较为频繁的一种设备,若考虑到信息的安全,USB接口通常需要被保护或者通过一种方法对其进行可信认证。信息安全技术的发展除了建立在操作系统级别上的安全机制,还进一步延伸到了固件层。固件BIOS处于计算机系统的底层,通过BIOS实现对USB存储设备的可信认证可以较好地保护计算机系统的资料安全。
通过BIOS对插入的USB存储设备进行识别和认证,只有通过认证的USB存储设备,才能够被操作系统识别。若插入的为不可信任的USB存储设备,BIOS从底层断开此设备,操作系统将无法识别该设备,因此不能进行数据的传输,从而较好地保护了系统的信息安全。本文将阐述该方法的实现过程,描述BIOS通过SMI中断实现对USB存储设备进行可信认证的方法。
发明内容
本发明的目的是提供一种通过SMI中断实现对USB存储设备进行可信认证的方法。
本发明的目的是按以下方式实现的,具体步骤如下:
1)通过BIOS对USB控制器寄存器的设置,USB存储设备在插入USB接口时,可产生PME事件,通过对PCH桥片寄存器的设置,将USB的PME事件转换成SMI中断或者SCI中断,将其设置为产生SCI中断,在BIOS的ACPI代码中添加SCI中断处理代码,查询是否为USB产生的SCI中断,如果是USB控制器产生的SCI中断,则通过ASL代码写SMI软中断命令,产生一个SMI中断;
2)在BIOS的SMI中断处理程序中,查询USB控制器的端口状态位,若有效,则说明USB接口有设备接入,然后读取设备描述符,根据USB设备所返回的设备描述符中的配置描述符个数,来逐一读取设备的配置描述符,BIOS分两次读取配置描述符,第一次读取配置描述符,第二次将配置描述符,接口描述符和端口描述符一并读出,通过接口描述符的内容判定是哪种USB设备插入;
3)如果是USB大容量存储设备,则BIOS加载USB存储设备协议和驱动,然后对该USB存储设备进行访问,读取其根目录下secure.cfg文件的内容,如果secure.cfg文件不存在,则返回错误码,否则将secure.cfg文件中的内容读出放在一块内存区域,作为该USB存储设备的签名;
4)在BIOS的NVSTORAGE区域中添加对USB存储设备的签名进行解密的私钥,BIOS在获得USB存储设备上的secure.cfg文件的内容后,再读取NVSTORAGE区域中的私钥,利用该私钥对USB存储设备的secure.cfg文件签名进行解密,如果解密后的签名是可信任的,那么BIOS将正常返回;
5)如果未获得信任,BIOS将清除USB控制器的端口状态位,清除PME状态位,SCI状态位,同时将USB设备从控制器端口删除,这样操作系统将无法识别USB存储设备,因此不能对USB存储设备进行数据传输操作;
6)如果USB存储设备获得BIOS的可信认证,BIOS将正常返回,操作系统将将正常识别该USB存储设备,如果BIOS的SMI处理程序发现插入的不是大容量存储设备则正常返回,操作系统将仍正常识别该USB设备;
7)BIOS的NVSTORAGE中存储的私钥和USB存储设备中保存的签名能够互换,在BIOS设置菜单中添加设置私钥或签名的菜单,可进行手动修改私钥或签名,方便用户的使用,通过在BIOS设置菜单中设置BIOS密码,防止他人查看私钥和签名。
本发明的有益效果是:通过BIOS对插入的USB存储设备进行识别和认证,只有通过认证的USB存储设备,才能够被操作系统识别。若插入的为不可信任的USB存储设备,BIOS从底层断开此设备,操作系统将无法识别该设备,因此不能进行数据的传输,从而较好地保护了系统的信息安全。本文将阐述该方法的实现过程,描述BIOS通过SMI中断实现对USB存储设备进行可信认证的方法。
附图说明
图1是可信认证流程图。
具体实施方式
参照说明书附图对本发明的可信认证方法作以下详细地说明。
通过BIOS对USB控制器寄存器的设置,USB存储设备在插入USB接口时,可产生PME事件。通过对PCH桥片寄存器的设置,可将USB的PME事件转换成SMI中断或者SCI中断。我们将其设置为产生SCI中断。在BIOS的ACPI代码中添加SCI中断处理代码,查询是否为USB产生的SCI中断,如果是USB控制器产生的SCI中断,则通过ASL代码写SMI软中断命令,产生一个SMI中断。在BIOS的SMI中断处理程序中,查询USB控制器的端口状态位,若有效,则说明USB接口有设备接入。然后读取设备描述符,根据USB设备所返回的设备描述符中的配置描述符个数,来逐一读取设备的配置描述符。BIOS分两次读取配置描述符,第一次读取配置描述符,第二次将配置描述符,接口描述符和端口描述符一并读出。通过接口描述符的内容可以判定是哪种USB设备插入。如果是USB大容量存储设备则BIOS加载USB存储设备协议和驱动,然后对该USB存储设备进行访问,读取其根目录下secure.cfg文件的内容。如果secure.cfg文件不存在,则返回错误码,否则将secure.cfg文件中的内容读出放在一块内存区域,作为该USB存储设备的签名。
在BIOS的NVSTORAGE区域中添加对USB存储设备的签名进行解密的私钥。BIOS在获得USB存储设备上的secure.cfg文件的内容后,再读取NVSTORAGE区域中的私钥,利用该私钥对USB存储设备的secure.cfg文件签名进行解密,如果解密后的签名是可信任的,那么BIOS将正常返回。如果未获得信任,BIOS将清除USB控制器的端口状态位,清除PME状态位,SCI状态位,同时将USB设备从控制器端口删除。这样操作系统将无法识别USB存储设备,因此不能对USB存储设备进行数据传输操作。如果USB存储设备获得BIOS的可信认证,BIOS将正常返回,操作系统将可以正常识别该USB存储设备。如果BIOS的SMI处理程序发现插入的不是大容量存储设备则正常返回,操作系统将可以正常识别该USB设备。
BIOS的NVSTORAGE中存储的私钥和USB存储设备中保存的签名可以互换。在BIOS设置菜单中添加设置私钥或签名的菜单,可进行手动修改私钥或签名,方便用户的使用。通过在BIOS设置菜单中设置BIOS密码,防止他人查看私钥和签名。
实施例
1. 在BIOS源代码中添加针对USB存储设备的SMI中断处理程序、相关ACPI代码和BIOS设置菜单的代码,编译BIOS源代码产生可执行的ROM文件;
2. 更新刚编译的BIOS文件到系统Firmware中;
3. 在BIOS设置菜单中添加USB存储设备的签名或密钥;
4. 在USB存储设备中添加secure.cfg文件,在文件中添加签名或密钥;
5. 开机启动系统,进入操作系统,插入USB存储设备,查看是否被识别;删除USB存储设备中的secure.cfg文件,重新插拔USB存储设备,看系统是否可以识别设备;修改USB存储设备中secure.cfg文件的内容,重新插拔USB存储设备,看系统是否可以识别设备。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (1)
1.一种通过SMI中断实现对USB存储设备进行可信认证的方法, 其特征在于具体步骤如下:
1)通过BIOS对USB控制器寄存器的设置,USB存储设备在插入USB接口时,可产生PME事件,通过对PCH桥片寄存器的设置,将USB的PME事件转换成SMI中断或者SCI中断,将其设置为产生SCI中断,在BIOS的ACPI代码中添加SCI中断处理代码,查询是否为USB产生的SCI中断,如果是USB控制器产生的SCI中断,则通过ASL代码写SMI软中断命令,产生一个SMI中断;
2)在BIOS的SMI中断处理程序中,查询USB控制器的端口状态位,若有效,则说明USB接口有设备接入,然后读取设备描述符,根据USB设备所返回的设备描述符中的配置描述符个数,来逐一读取设备的配置描述符,BIOS分两次读取配置描述符,第一次读取配置描述符,第二次将配置描述符,接口描述符和端口描述符一并读出,通过接口描述符的内容判定是哪种USB设备插入;
3)如果是USB大容量存储设备,则BIOS加载USB存储设备协议和驱动,然后对该USB存储设备进行访问,读取其根目录下secure.cfg文件的内容,如果secure.cfg文件不存在,则返回错误码,否则将secure.cfg文件中的内容读出放在一块内存区域,作为该USB存储设备的签名;
4)在BIOS的NVSTORAGE区域中添加对USB存储设备的签名进行解密的私钥,BIOS在获得USB存储设备上的secure.cfg文件的内容后,再读取NVSTORAGE区域中的私钥,利用该私钥对USB存储设备的secure.cfg文件签名进行解密,如果解密后的签名是可信任的,那么BIOS将正确返回,操作系统将正常识别该USB存储设备;
5)如果未获得信任,BIOS将清除USB控制器的端口状态位,清除PME状态位,SCI状态位,同时将USB设备从控制器端口删除,这样操作系统将无法识别USB存储设备,因此不能对USB存储设备进行数据传输操作;
6)如果BIOS的SMI处理程序发现插入的不是大容量存储设备则正常返回,操作系统仍将正常识别该USB设备;
7)BIOS的NVSTORAGE中存储的私钥和USB存储设备中保存的签名能够互换,在BIOS设置菜单中添加设置私钥或签名的菜单,可进行手动修改私钥或签名,方便用户的使用,通过在BIOS设置菜单中设置BIOS密码,防止他人查看私钥和签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410598154.5A CN104361280B (zh) | 2014-10-31 | 2014-10-31 | 一种通过smi中断实现对usb存储设备进行可信认证的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410598154.5A CN104361280B (zh) | 2014-10-31 | 2014-10-31 | 一种通过smi中断实现对usb存储设备进行可信认证的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104361280A CN104361280A (zh) | 2015-02-18 |
CN104361280B true CN104361280B (zh) | 2017-03-08 |
Family
ID=52528539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410598154.5A Expired - Fee Related CN104361280B (zh) | 2014-10-31 | 2014-10-31 | 一种通过smi中断实现对usb存储设备进行可信认证的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104361280B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487865A (zh) * | 2015-11-27 | 2016-04-13 | 山东超越数控电子有限公司 | 一种解决usb设备异常唤醒系统的方法 |
CN108171043A (zh) * | 2017-12-28 | 2018-06-15 | 山东超越数控电子股份有限公司 | 一种计算机接口通信保护和异常告警方法与装置 |
CN110188528A (zh) * | 2019-04-12 | 2019-08-30 | 深圳市同泰怡信息技术有限公司 | 一种基于固件安全认证usb存储设备的方法 |
CN112905376B (zh) * | 2021-02-10 | 2023-01-10 | 山东英信计算机技术有限公司 | 一种错误上报的方法、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1479214A (zh) * | 2002-08-30 | 2004-03-03 | 联想(北京)有限公司 | 一种通用串行总线设备安全接入的实现方法 |
CN101211651A (zh) * | 2007-12-21 | 2008-07-02 | 北京飞天诚信科技有限公司 | 一种usb状态限制设备及其使用方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043587B2 (en) * | 2001-09-20 | 2006-05-09 | Lenovo (Singapore) Pte. Ltd. | System and method for connecting a universal serial bus device to a host computer system |
-
2014
- 2014-10-31 CN CN201410598154.5A patent/CN104361280B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1479214A (zh) * | 2002-08-30 | 2004-03-03 | 联想(北京)有限公司 | 一种通用串行总线设备安全接入的实现方法 |
CN101211651A (zh) * | 2007-12-21 | 2008-07-02 | 北京飞天诚信科技有限公司 | 一种usb状态限制设备及其使用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104361280A (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Parno | Bootstrapping Trust in a" Trusted" Platform. | |
CN100449558C (zh) | 休眠保护 | |
EP3455764B1 (en) | Method and apparatus for dynamic executable verification | |
TWI514187B (zh) | 提供儲存裝置上防有毒軟體保護之系統與方法 | |
US9582656B2 (en) | Systems for validating hardware devices | |
US20160026810A1 (en) | Method for protecting data stored within a disk drive of a portable computer | |
CN102063591B (zh) | 基于可信平台的平台配置寄存器参考值的更新方法 | |
CN100437618C (zh) | 一种便携式信息安全设备 | |
CN104951701B (zh) | 一种基于usb控制器的终端设备操作系统引导的方法 | |
CN104361280B (zh) | 一种通过smi中断实现对usb存储设备进行可信认证的方法 | |
US8844060B2 (en) | Method and system for USB with an integrated crypto ignition key | |
US9262631B2 (en) | Embedded device and control method thereof | |
CN106161024A (zh) | 一种usb控制芯片级的usb设备可信认证方法及其系统 | |
CN107832589A (zh) | 软件版权保护方法及其系统 | |
CN102024115B (zh) | 一种具有用户安全子系统的计算机 | |
CN104680055A (zh) | 一种u盘接入工业控制系统网络后接受管理的控制方法 | |
US11347858B2 (en) | System and method to inhibit firmware downgrade | |
CN103824005A (zh) | 一种内嵌可配置ip核的防复制系统及防复制方法 | |
CN104361298A (zh) | 信息安全保密的方法和装置 | |
JP2010176490A (ja) | Usbストレージデバイス、ホストコンピュータ、usbストレージシステム、およびプログラム | |
CN103105783B (zh) | 嵌入式元件与控制方法 | |
CN109409092A (zh) | 一种判断可信芯片类型的方法、装置及设备 | |
CN201845340U (zh) | 一种具有用户安全子系统的安全计算机 | |
CN206594672U (zh) | 高可靠加密杀毒优盘 | |
CN110020562A (zh) | 基于uefi的硬盘全加密方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170308 Termination date: 20171031 |
|
CF01 | Termination of patent right due to non-payment of annual fee |