一种基于主板BIOS的身份认证方案及实现

一、BIOS简介

BIOS是只读存储器基本输入/输出系统,它是被固化到计算机中的一组程序,为计算机提供最低级的、最直接的硬件控制,在计算机系统中起着非常重要的作用。BIOS是硬件与软件程序之间的接口,负责解决硬件的即时需求,并按软件对硬件的操作要求具体执行。BIOS的功能包括自检及初始化、硬件中断处理、程序服务处理。

1. 自检及初始化

这个部分的功能是启动计算机,包括三个部分,第一个部分是用于计算机刚接通电源时对硬件部分的检测,也叫做加电自检(POST),功能是检查计算机是否良好。第二个部分是初始化,包括创建中断向量、设置寄存器、对一些外部设备进行初始化和检测等,其中很重要的一部分是BIOS设置,主要是对硬件设置的一些参数,当计算机启动时会读取这些参数,并和实际硬件设置进行比较,如果不符合,会影响系统的启动。最后一个部分是引导程序,功能是引导DOS或其他操作系统。BIOS先从软盘或硬盘的开始扇区读取引导记录,如果没有找到,则会在显示器上显示没有引导设备,如果找到引导记录则会把计算机的控制权转给引导记录,由引导记录把操作系统装入计算机,在计算机启动成功后,BIOS就完成了任务。

2. 程序服务处理和硬件中断处理

程序服务处理程序主要是为应用程序和操作系统服务,这些服务主要与输入输出设备有关。为了完成这些操作,BIOS必须直接与计算机的I/O设备打交道,它

通过端口发出命令,向各种外部设备传送数据以及从它们那里接收数据,使程序能够脱离具体的硬件操作,而硬件中断处理则分别处理PC机硬件的需求。

BIOS的服务功能是通过调用中断服务程序来实现的,这些服务分为很多组,每组有一个专门的中断。

二、BIOS启动过程

1    通过执行一段位于内存最高端的15字节的代码完成启动。32位机内存最高地址FFFFFFF:0000JMPBIOSPOST。

2    2.大部分POSTTEST通过,BIOS在中断向量表(00000000H——

 

—000003FFH)中填写服务例程。

3.BIOS 扫描C0000——

—DFFFFH内存映象空间,检查各种扩展的ROM块,传递控制,此时,扩展ROM程序可获得控制权,将自身挂到系统上。BIOS对扩展的ROM检查从C0000H开始,以2KB为增量,直到DFFFFH。每一个有效的扩展的ROM块,必须建立一个标识供POST来识别它。适配器的ROM块控制结束,最后返回到BIOS。

4.继续其他POST。

5.调用INT19H的中断向量,执行引导程序,实现系统自举。

三、嵌入程序模块头信息

嵌入到BIOS中的程序模块必须满足一定的要求,否则BIOS无法读取。其头信息如表1所示。

表1

嵌入程序模块头信息


偏移地址


长度



说明


0


1


55H


模块有效标志1


1


1


AAH


模块有效标志2


2


1


模块长度


以512字节为单位


3


3


入口执行代码


一条远调用跳转指令

 

字节0、1组成一个字,值为AA55H,BIOS检测过程中的模块有效标志。

字节2:模块长度,表示ROM中以512字节为一块的信息块的个数。最大值为FFH,即模块的长度不能超过127.5K。

字节3:ROM可执行程序开始。POST找到有效ROM模块时,远调用ROM模块字节3中的指令,ROM模块可获得控制权,最后执行RETF指令返回BIOSPOST。

另外,嵌入模块文件中所有字节进行相加,得到和K,KMOD100H=0,K即为计算机系统认可的有效模块校验和。

四、网络身份认证实现原理及嵌入方法

1. 网络身份认证实现原理

网络身份认证就是系统通过网络通讯核查用户的身份证明过程,实质上是查明用户是否具有他所请求资源的存取和使用权。用户身份认证是安全系统的第一道防线,目的是防止非法用户访问系统,其方法是由系统提供一定的方式让用户标识自己的名字或身份。

用户标识和鉴定的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法是用一个用户名或者用户标识号来标明用户身份。系统内部记录着所有合法用户的标识,系统鉴别此用户是否是合法用户,若是,则可以进入下一步的核实;若不是,则不能使用系统。为了进一步核实用户,系统常常要求用户输入口令(Password)。通过用户名和口令来鉴定用户的方法简单易行,但用户名与口令容易被人窃取,因此用户身份认证还可以采用比较复杂的计算过程和函数来完成。

基于注册系统安全性的考虑,避免注册的种种弊端,在此提出网络注册中基于BIOS系统的用户身份认证方法。在BIOS下,注册程序作为扩展BIOS,单独生成一个ROM模块,注册程序主要具备如下功能:对进入实验室的用户进行身份认证,合法用户可以使用任何一台计算机,非法用户拒绝登录。注册程序在操作系统引导之前运行,无高层的IP地址协议,故注册程序需要与登录服务器联系,得到自己的IP地址,服务器的MAC地址,使用TCP/IP协议和登录服务器进行通信。登录服务器首先开机,等候客户机的请求。客户机在启动时,必须从网络上得到自身的IP地址,以及服务器的IP地址,因此,首先以广播的方式和服务器进行联络,服务器收到客户机的请求后,向客户机返回客户机的IP地址,以及服务器的IP地址、MAC地址;然后,客户机接收用户的登录信息,并用TCP/IP协议把登录信息发送给服务器,服务器验证登录信息之后,把控制信息发送给客户机,注册认证程序接收到服务器的控制信息后,如果客户是合法用户,则退出注册认证程序,启动计算机。如果为非法用户,则锁定系统,不启动计算机,直到有合法的用户登录为止。

 

网络身份认证系统的用户身份识别特点为:

1    (1)满足计算机启动时用户认证的顺序,先认证,后启动计算机。网络身份认证是在操作系统启动之前进行,这样才能保证系统注册认证的安全性,这种身份认证是在启动BIOS的过程中进行的,没有进行任何操作系统的装载。只有当认证结束后,才装载操作系统。

2    (2)网络身份认证程序进行的认证是在没有任何操作系统的情况下模拟TCP/IP协议。

 

为提高网络注册程序的安全性,避免其他人对数据的窃取,还可以对系统本身的通讯数据采取加密措施。数据加密是防止数据在存储和传输过程中失密的有效手段。加密的基本思想是根据一定的算法将原始数据(明文)变换为不可直接识别的格式(密文),从而使得不知道解密算法的人无法获知数据的内容。

加密方法主要有替换和置换两种,单独使用这两种方法的任意一种都是不够安全的。但是将这两种方法结合起来就能提供相当高的安全程度。

2. 模块嵌入方法

鉴于AwardBIOS在市场上非常流行,用户使用也很普遍,本文重点介绍在AwardBIOS中嵌入用户模块的方法。AwardBIOS嵌入程序设计的基本流程包括:

1    (1)首先用汇编编写DOS下的COM程序,必须注意到程序是优先于操作系统执行的,所以程序中不能调用任何DOS中断服务。

2    (2)调试通过后,在COM文件前加上文件头,最后返回指令为RETF,控制文件大小为512字节的整数倍,重新编译生成COM文件。

3    (3)生成的COM文件,利用其中的checksum工具生成文件的校验码,在值为0的字节处添加相应的16进制数,直到校验和为xx00H为止。

4    (4)用BIOS分析工具cbrom将文件作为ISA或PCI模块嵌入到BIOS文件中。

5    (5)用读写BIOS工具awdFlash将新的BIOS文件烧录到主板BIOS中。

 

3.分析AwardBIOSDOS工具cbrom

cbrom的功能就是在BIOS文件中添加、删除与提取模块,以便满足用户自己的需求,用法如下:

cbromBIOS文件名/参数模块名|RELEASE|EXTRACT

时间: 2024-10-11 18:25:19

一种基于主板BIOS的身份认证方案及实现的相关文章

SharePoint 2013 配置基于表单的身份认证

前 言 这里简单介绍一下为SharePoint 2013 配置基于表单的身份认证,简单的说,就是用Net提供的工具创建数据库,然后配置SharePoint 管理中心.STS服务.Web应用程序的三处web.config即可.下面,让我们以图文的方式了解创建的具体过程吧. 使用微软提供的工具,创建数据库,找到Framework64下的aspnet_regsql,如下图: 这里我发现C:\Windows\Microsoft.NET\Framework64的v2.0.50727路径下和v4.0.303

一种基于Orleans的分布式Id生成方案

基于Orleans的分布式Id生成方案,因Orleans的单实例.单线程模型,让这种实现变的简单,贴出一种实现,欢迎大家提出意见 public interface ISequenceNoGenerator : Orleans.IGrainWithIntegerKey { Task<Immutable<string>> GetNext(); } public class SequenceNoGenerator : Orleans.Grain, ISequenceNoGenerator

基于人脸识别的登陆认证方案及思路

本文主要讨论基于人脸识别的登陆认证过程中的关键技术点,讨论如何实现这些关键技术点并解决困难问题. 1.关键技术点及思路 (1)登陆认证在服务器端实现还是在客户端实现? 换句话说,人脸识别的模型应该运行在服务器端还是客户端.如果人脸识别模型运行在服务器端,那么客户端必须在联网环境下才能通过服务端的认证并使用.某些场景下,例如音乐客户端场景(用户在无需联网的情况下也需要进入APP听音乐),人脸识别模型运行在服务器就无法满足需求.如果人脸识别模型运行在客户端,那么需要模型足够简单,客户端能够提供运行模

掌握基于 JWT 实现的 Token 身份认证

引语 最近正好在独立开发一个后台管理系统,涉及到了基于Token的身份认证,自己边学边用边做整理和总结,对基于JWT实现的Token的身份认证做一次相对比较全面的认识. 一.基于session的跨域身份验证 Internet服务无法与用户身份验证分开.一般过程如下. 用户向服务器发送用户名和密码. 验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中. 服务器向用户返回session_id,session信息都会写入到用户的Cookie. 用户的每个后续请求都将通过在Cookie中

基于动态令牌的双因素身份认证——有力保障网上帐户和交易的安全

一. 网络安全认证的需求背景 网络钓鱼.欺诈等网络犯罪现象已经达到非常严峻的情况,用户如果只依赖个人密码进行帐户登录或网上交易,是非常危险和不可靠的认证方法.针对这些问题,北京中科恒伦科技有限公司推出基于动态令牌的双因素身份认证服务,对象是那些为企业VPN安全登录.IDC远程访问管理.消费者提供网上交易和服务的网上商户.他们只要安装了中科恒伦的双因素认证系统,便能为其客户提供身份认证服务,使其消费者日后能以简单轻松的方法,随时随地享受网上服务.IT管理员或者终端消费者也不用再终日提心吊胆,网上商

基于STS和JWT的微服务身份认证

自 Martin Fowler 提出微服务架构的概念后,这个名词就一直比较流行,总是成为众多技术论坛和公众号的讨论热点.很多互联网和软件公司都在将原有的整体架构进行拆分,朝着微服务架构的方向进行迭代,而新的项目也几乎无一例外的成为了实践微服务架构的场所. 对于大多数有经验的工程师来说,将传统的异步函数调用直接改成 REST API 或者某种 RPC 并不是一件很困难的事,要面临的问题包括序列化,调用延时和版本等. 但服务接口之间的安全和身份认证(Authentication)问题往往比较棘手,而

网络安全之身份认证---基于口令的认证

基于口令的认证方式是较常用的一种技术.在最初阶段,用户首先在系统中注册自己的用户名和登录口令.系统将用户名和口令存储在内部数据库中,注意这个口令一般是长期有效的,因此也称为静态口令.当进行登录时,用户系统产生一个类似于时间戳的东西,把这个时间戳使用口令和固定的密码算法进行加密,连同用户名一同发送给业务平台,业务平台根据用户名查找用户口令进行解密,如果平台能恢复或接收到那个被加密的时间戳,则对解密结果进行比对,从而判断认证是否通过:如果业务平台不能获知被加密的时间戳,则解密后根据一定规则(如时间戳

计算机身份认证和消息认证的区别

一.基于秘密信息的身份认证方法 1.口令核对口令核对是系统为每一个合法用户建立一个用户名/口令对,当用户登录系统或使用某项功能时,提示用户输入自己的用户名和口令,系统通过核对用户输入的用户名.口令与系统内已有的合法用户的用户名/口令对(这些用户名/口令对在系统内是加密存储的)是否匹配,如与某一项用户名/口令对匹配,则该用户的身份得到了认证.缺点:其安全性仅仅基于用户口令的保密性,而用户口令一般较短且是静态数据,容易猜测,且易被攻击,采用窥探.字典攻击.穷举尝试.网络数据流窃听.重放攻击等很容易攻

SharePoint 2013 基于数据库的表单认证FBA,并添加注册界面

分三块: 1.配置  2.数据库添加用户 3.创建注册的页面 大纲  见黄色高亮处 1 先参考:   把配置文件弄好 http://www.cnblogs.com/jianyus/p/4617548.html SharePoint 2013 配置基于表单的身份认证 前 言 这里简单介绍一下为SharePoint 2013 配置基于表单的身份认证,简单的说,就是用Net提供的工具创建数据库,然后配置SharePoint 管理中心.STS服务.Web应用程序的三处web.config即可.下面,让我