CN101377804B - 一种实现开机保护的方法和*** - Google Patents

一种实现开机保护的方法和*** Download PDF

Info

Publication number
CN101377804B
CN101377804B CN 200810223250 CN200810223250A CN101377804B CN 101377804 B CN101377804 B CN 101377804B CN 200810223250 CN200810223250 CN 200810223250 CN 200810223250 A CN200810223250 A CN 200810223250A CN 101377804 B CN101377804 B CN 101377804B
Authority
CN
China
Prior art keywords
dynamic password
protection program
computer
password
authentication
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.)
Active
Application number
CN 200810223250
Other languages
English (en)
Other versions
CN101377804A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Beijing Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Feitian Technologies Co Ltd filed Critical Beijing Feitian Technologies Co Ltd
Priority to CN 200810223250 priority Critical patent/CN101377804B/zh
Publication of CN101377804A publication Critical patent/CN101377804A/zh
Priority to US12/565,125 priority patent/US9158905B2/en
Application granted granted Critical
Publication of CN101377804B publication Critical patent/CN101377804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种实现开机保护的方法和***,属于信息安全领域。方法包括:计算机上电,加载并执行动态口令保护程序;动态口令保护程序接收用户输入的认证口令,其中,认证口令为用户通过向动态口令生成装置发送动态口令生成命令获取,动态口令生成装置收根据动态口令生成装置的当前时间、动态口令生成算法生成认证口令;动态口令保护程序判断认证口令是否有效,如果是,则加载计算机的开机程序。***包括:计算机和动态口令生成装置。通过采用了动态密码技术,提高了***的安全等级;并且安全令牌无需和主机相连接,节省了研发投资和***的稳定性;降低了对用户计算机机器配置的需求;由于动态口令不需要用户去记忆口令,增加了***的易用性。

Description

一种实现开机保护的方法和***
技术领域
本发明涉及信息安全领域,特别涉及一种实现开机保护的方法和***。
背景技术
在计算机应用领域,计算机的开机保护过程或客户端访问远程服务器的过程中,例如,在普通的开机模式下,当用户启动计算机时,常用的开机保护方法是通过要求用户输入密码来确认使用者的身份是否合法。只要用户能够正确输入密码,计算机(或远程服务器)就认为他是合法用户,允许其进行登录访问。通常,每个用户的密码是由该用户自己设定的,理论上只有自己本人才知道,因此只要能够正确输入该密码,计算机就认为他就是本机的合法用户。
并且,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权,而现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份。如何保证以数字身份进行操作的操作者就是这个数字身份合法拥有者,也就是说保证操作者的物理身份与数字身份相对应,就成为一个很重要的问题。
发明人在实现本发明的过程中,经过分析后发现现有技术至少存在以下缺点和不足:
一方面,上述提到的用户名/密码方式下,由于许多用户为了防止忘记密码,经常采用诸如自己或家人的生日、电话号码等作为密码,这些有意义的字符串容易被他人猜测到;或者采用把密码抄在一个自己认为安全的地方,这也存在着安全隐患,极易造成密码泄露;并且,当非法用户利用获取的密码实现登录后,将硬盘移植到没有密码的计算机中,便可以更换其中的内容,实现***的正常启动。因此,上述用户名/密码方式是一种具有安全隐患的身份认证方式;
另一方面,上述用户名/密码方式属于静态密码的认证方式,但在具体应用过程中,静态密码认证方式存在着许多不安全因素,极易造成密码泄露而导致一系列非法登录。因此静态密码认证方式是一种极具安全隐患的身份认证方式;
综上所述,现有技术中计算机开机保护存在安全隐患,容易造成密码泄露;操作者的物理身份与数字身份的绑定没有保证。
发明内容
鉴于现有技术存在的缺点和不足,本发明提供了一种实现开机保护的方法和***,能够提高开机过程中安全性和可靠性,并且具有使用方便、应用范围广等特点,所述技术方案如下:
一方面,提供了一种实现开机保护的方法,所述方法包括:
计算机上电,加载并执行动态口令保护程序,所述动态口令保护程序位于BIOS中或主引导记录中,;
所述动态口令保护程序接收用户输入的认证口令,其中,所述认证口令为所述用户通过向动态口令生成装置发送动态口令生成命令获取,当所述动态口令生成装置收到所述用户的动态口令生成命令,根据所述动态口令生成装置的当前时间、动态口令生成算法生成所述认证口令;
所述动态口令保护程序获取在所述BIOS的预设位置或所述开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法;
所述动态口令保护程序根据所述获取的动态口令生成算法和当前时间,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围;
如果是,所述认证口令有效,则加载所述计算机的开机程序,否则,所述认证口令无效,所述动态口令保护程序不加载所述计算机的开机程序。
所述方法还包括:若所述动态口令保护程序位于所述BIOS中,则通过所述计算机的主板开发工具将所述动态口令保护程序写入所述BIOS的预设位置;
若所述动态口令保护程序位于所述主引导记录中,则通过所述计算机的开发工具将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息。
其中,所述计算机加载并执行所述动态口令保护程序的步骤,具体包括;
若所述动态口令保护程序位于所述BIOS中,则在所述BIOS自检成功后加载并执行所述动态口令保护程序,将控制权转交给所述动态口令保护程序;
若所述动态口令保护程序位于所述主引导记录中,则在所述BIOS自检成功后加载并执行所述主引导记录中的动态口令保护程序,将控制权转交给所述动态口令保护程序。
其中,所述计算机开机硬盘的主引导记录的位置具体为:
计算机开机硬盘的0柱面0磁头1扇区及所述1扇区的后续扇区。
其中,所述动态口令保护程序接收用户输入的认证口令的步骤,之前还包括:
所述动态口令保护程序提示输入动态口令,具体的提示方式包括显示对话框的方式,或, 字符的方式。
其中,所述动态口令保护程序判断所述认证口令是否有效的步骤,还包括:
所述动态口令保护程序接收所述用户信息,所述用户信息包括账号信息、用户的密码信息;
所述动态口令保护程序判断所述认证口令是否有效的步骤,具体包括:
所述动态口令保护程序收到所述用户信息后,根据所述在BIOS的预设位置或所述开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与所述用户信息对应的动态口令生成算法;
根据所述获取的动态口令生成算法,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围内,如果是,则所述认证口令有效;否则,所述认证口令无效。
进一步地,所述方法还包括:设置无效次数的阈值,相应地,
当所述认证口令无效时,判断所述用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示用户再次输入认证口令。
其中,所述根据所述动态口令生成算法,生成验证窗口的步骤,具体包括:
所述动态口令开机保护程序以所述计算机***的当前时间值、对所述计算机***的当前时间值加/减预设时间段值后得到的数值,作为计算因子,利用所述动态口令生成算法,生成验证口令序列,所述验证口令序列为所述验证窗口;
相应地,所述验证窗口具体为在有效时间范围内的多个随机口令。
其中,所述时间段值具体为所述动态口令开机保护程序和所述验证口令窗口的更新率的时间值。
进一步地,所述方法还包括:所述动态口令保护程序判断所述认证口令是否有效后,还执行如下步骤;
获取所述动态口令保护程序在生成验证窗口时所述计算机***的当前时间值,并记为第一时间值;
获取所述认证口令匹配到所述验证窗口中数值时所对应的时间因子的值,并记为第二时间值;
根据所述获取的第一时间值和所述第二时间值,计算所述第一时间值和所述第二时间值的时间差值,所述时间差值用于实现述动态口令保护程序与所述动态口令生成装置的时间同步。
另一方面,还提供了一种实现开机保护的***,所述***包括:
预处理模块,用于计算机上电,加载并执行动态口令保护程序,所述动态口令保护程序位于BIOS中或主引导记录中;
接收模块,用于在所述预处理模块处理后,利用所述动态口令保护程序接收用户输入的认证口令,其中,所述认证口令为所述用户通过向动态口令生成装置发送动态口令生成命令获取,当所述动态口令生成装置收到所述用户的动态口令生成命令,根据所述动态口令生成装置的当前时间、动态口令生成算法生成所述认证口令;
判断模块,用于当所述接收模块接收到所述认证口令后,所述动态口令保护程序获取在所述BIOS的预设位置或所述开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法;所述动态口令保护程序根据所述获取的动态口令生成算法和当前时间,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围;
加载模块,用于当所述判断模块判断的结果为所述认证口令有效后,所述动态口令保护程序加载所述计算机的开机程序;
处理模块,用于当所述判断模块判断的结果为所述认证口令无效时,所述动态口令保护程序通过所述处理模块不加载所述计算机的开机程序。
其中,所述预处理模块具体包括:
上电单元,用于给计算机上电;
第一装入单元,用于当所述上电单元给所述计算机上电后,若所述动态口令保护程序位于BIOS中,则通过所述计算机的主板开发工具将所述动态口令保护程序写入所述BIOS的预设位置;
第二装入单元,用于当所述上电单元给所述计算机上电后,若所述动态口令保护程序位于主引导记录中,则通过所述计算机的开发工具将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息;
第一加载执行单元,用于当所述第一装入单元将所述动态口令保护程序写入所述BIOS的预设位置后,在所述BIOS自检成功后加载并执行所述动态口令保护程序,将控制权转交给所述动态口令保护程序;
第二加载执行单元,用于当所述第二装入单元将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息后,则在所述BIOS自检成功后加载并执行所述主引导记录中的动态口令保护程序,将控制权转交给所述动态口令保护程序。
进一步地,所述计算机还包括提示模块,用于提示用户输入用户信息;
相应地,所述接收模块还用于接收所述用户信息,所述用户信息包括账号信息、用户的密码信息;
相应地,
所述判断模块具体包括:
获取单元,用于当所述动态口令保护程序验证所述用户信息通过后,根据所述在BIOS的预设位置或所述开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与所述用户信息对应的动态口令生成算法;
生成单元,用于根据所述获取单元获取的动态口令生成算法,生成验证窗口;
验证单元,用于根据所述生成单元生成的验证窗口,判断所述认证口令是否在所述验证窗口范围内,如果是,则所述认证口令有效;否则,所述认证口令无效。
进一步地,所述判断模块还包括:设置单元,
所述设置单元,用于设置无效次数的阈值,相应地,所述判断模块还包括:
处理单元,用于当所述验证单元验证所述认证口令无效时,判断所述用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示用户再次输入认证口令。
其中,所述判断模块中的生成单元具体用于根据所述动态口令开机保护程序以所述计算机***的当前时间值、对所述计算机***的当前时间值加/减预设时间段值后得到的数值,作为计算因子,利用所述动态口令生成算法,生成验证口令序列,所述验证口令序列为所述验证窗口;所述验证窗口具体为在有效时间范围内的多个随机口令。
进一步地,所述计算机还包括:
同步模块,用于实现所述动态口令保护程序与所述动态口令生成装置的时间同步。
其中,所述同步模块具体包括:
当前时间值获取单元,用于获取所述动态口令保护程序在生成验证窗口时,所述计算机的当前时间,并记为第一时间值;
匹配时间值获取单元,用于获取所述认证口令匹配到所述验证窗口中数值时所对应的时间因子的值,并记为第二时间值;
同步单元,用于根据所述当前时间值获取单元获取的第一时间值和所述匹配时间值获取单元获取的第二时间值,获取所述第一时间值和所述第二时间值的时间差值,所述时间差值用于实现所述动态口令保护程序与所述动态口令生成装置的时间同步。
其中,所述输出模块具体包括以下任一单元或其中组合:
第一输出单元,用于以显示的方式将生成模块生成的认证口令输出;
第二输出单元,用于以发声的方式将生成模块生成的认证口令输出;
第三输出单元,用于以震动的方式将生成模块生成的认证口令输出;
第四输出单元,用于以适用于用户触摸的方式将生成模块生成的认证口令输出。
其中,所述计算机还包括:获取模块,
所述获取模块,用于当所述动态口令保护程序接收所述用户输入的认证口令后,获取在所述BIOS的预设位置或所述开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法。
本发明提供的技术方案的有益效果是:
通过采用了动态密码技术,提高了***的安全等级;并且安全令牌无需和主机相连接,节省了研发投资和***的稳定性;降低了对用户计算机机器配置的需求;由于动态口令不需要用户去记忆口令,从而解决了用户需要强制记忆密码的烦琐性,增加了***的易用性。
附图说明
图1是本发明实施例1提供的实现开机保护的方法的流程示意图;
图2是本发明实施例1提供的实现同步的示意图;
图3是本发明实施例2提供的实现开机保护的***示意图;
图4是本发明实施例2提供的实现开机保护的***的详细示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了提高开机过程中的安全性和可靠性,本发明提供了一种实现开机保护的方法,该方法基于安全令牌,利用安全令牌的动态密码认证实现,具体内容如下:计算机上电,计算机加载并执行动态口令保护程序;计算机将控制权转交给动态口令保护程序;动态口令保护程序接收用户输入的认证口令,其中,认证口令为用户通过向动态口令生成装置发送动态口令生成命令获取,当动态口令生成装置收到用户的动态口令生成命令,根据动态口令生成装置的当前时间、动态口令生成算法生成认证口令;动态口令保护程序判断认证口令是否有效,如果是,则加载计算机的开机程序,否则,动态口令保护程序不加载计算机的开机程序。该方法具有使用方便、应用范围广等特点,参见如下实施例对本发明实施例提供的方法进行说明。
实施例1
参见图1,本发明实施例提供了一种实现开机保护的方法,具体内容如下:
步骤101:计算机上电,BIOS自检;
在本实施例中,动态口令开机保护程序可以置于BIOS程序中,作为BIOS程序的一部分,也可以位于计算机开机硬盘的主引导记录中。其中,
若动态口令保护程序位于BIOS中,则通过计算机的主板开发工具将动态口令保护程序写入BIOS的预设位置;
若动态口令保护程序位于主引导记录中,则通过计算机的开发工具将动态口令保护程序写入计算机开机硬盘的主引导记录的位置,并保留分区表信息,例如,开机硬盘的0柱面0磁头1扇区及其后续若干扇区等。
步骤102、BIOS自检成功后加载并执行动态口令开机保护程序,将计算机***的控制权转移给动态口令开机保护程序;
在本实施例中,BIOS程序包括自检查程序和动态口令开机保护程序,自检查程序首先检查CPU,一切正常都是建立在CPU正常的基础上之后将检查Key Board控制芯片、第一个16KB的RAM。时/计数器8253和DMA控制器、中断控制器8259A和显示器、软盘和硬盘是否有提示以及打印适配设备和异步通信设备,若一切检查无误,则加载动态口令开机保护程序。
其中,若动态口令保护程序位于BIOS中,则在BIOS自检成功后加载并执行动态口令保护程序,将控制权转交给动态口令保护程序;
若动态口令保护程序位于主引导记录程序中,则在BIOS自检成功后加载并执行主引导记录中的动态口令保护程序,将控制权转交给动态口令保护程序。
本发明实施例为了便于说明,以动态口令开机保护程序置于BIOS程序中为例进行说明。
步骤103、动态口令开机保护程序初始化,加载动态口令的程序配置;
步骤104、动态口令开机保护程序初始化后,显示输入对话框,提示用户输入认证信息;
其中,当动态口令开机保护程序初始化后,可以采用以显示对话框的形式提示用户输入 认证信息,或以发声的形式、或字符的形式提示用户输入认证信息,本发明实施例不限制具体所采用的提示方式和方法。
步骤105、用户向动态口令生成装置发送动态口令生成命令;
其中,该步骤中用户在向动态口令生成装置发送动态口令生成命令时,具体通过按钮触发的形式,或,指纹扫描的形式,或声控开关的形式,或人体体温感应的方式,或压力感应的方式,或光电感应的方式等,实现向动态口令生成装置发送动态口令生成命令的目的,本发明实施例不限制具体所采用的实现方式和方法。
步骤106、动态口令生成装置内部以当前时间为计算因子,利用HMAC-SHA1算法生成认证口令,并输出给用户;
其中,动态口令生成装置收到用户发送的动态口令生成命令后,以当前时间为计算因子,利用优选的HMAC-SHA1算法生成认证口令,并输出给用户;其中该HMAC-SHA1算法为优选算法,还可以采用其他任意一种可以生成认证口令的算法程序,如hmac_sha256算法,hma_sha512算法,hmac_md5算法。
其中,本步骤中在利用HMAC-SHA1算法生成认证口令时,基于时间的OTP(One-Time password,一次有效的动态密码)产生方法步骤如下:
1.获取当前时间(T1)相对于基本时间(TO,比如1970-01-01 00:00:00)的秒数的差值(△T);
2.计算T=△T/X(X为预设的一个时间间隔,比如30秒则,X=30);
3.获取令牌的种子K;
4.计算出一个摘要值:D=HMAC-SHA1(K,T);
5.取摘要D的最后一字节的高四位为索引:idx;
6.R=(D[idx]&0x7F)<<24)+(D[idx+1]<<16)+(D[idx+2]<<8)+(D[idx+3]);
7.获取OTP=R mod(10^6);
其中,本发明实施例所涉及的OTP技术是指用户的密码按照时间不断动态变化,每个密码只使用一次。相应地,动态密码认证方式一般采用一种称之为安全令牌的专用硬件(安全令牌也可以是软件形式的,如手机的java程序),它内置于运行专门密码算法的密码生成芯片,根据当前时间生成当前密码并输出。
其中,当该动态口令生成装置将生成的动态口令输出时,可以采用如下方式实现:
以显示的方式将认证口令输出;或,以发声的方式将认证口令输出;或;以震动的方式将认证口令输出;或,以适用于用户触摸的方式将认证口令输出等,本发明实施例不限制该 动态口令输出的具体方式。
步骤107、用户将认证口令、用户账号输入到计算机的提示对话框中,计算机中的动态口令开机保护程序获取上述认证口令;
其中,本步骤在具体实现时,可以根据具体的需要设置该计算机的提示对话框,用于提供给用户输入认证口令,进一步,参见表1,该提示对话框还可以包括常规的用户账号、用户密码、动态口令生成装置序列号等提示信息。
表1
用户账号 feitian
用户密码 2008feitian
动态口令生成装置序列号 123456789
认证口令 abcd123
如表1所示,当该提示对话框还可以包括常规的用户账号、用户密码、动态口令生成装置序列号等提示信息时,计算机需要验证用户账号、用户密码、动态口令生成装置序列号全部通过后,获取认证口令。本实施例为了便于说明,以提示用户输入用户账号、认证口令为例进行说明。
步骤108:动态口令开机保护程序以获取的用户账号为索引条件,查找到计算机***内部存储的与该用户账号绑定的动态口令生成装置的算法程序,即HMAC-SHA1算法程序,以***的当前时间为计算因子,利用该算法程序生成生验证口令窗口;
其中,在本实施例步骤108中,动态口令生成装置与用户账号的对应关系预先存储在BIOS的指定位置。
步骤109、动态口令开机保护程序通过验证口令窗口对认证口令进行验证,判断认证口令是否有效,如果有效,则执行步骤110;否则,执行步骤111;
其中,本步骤中动态口令开机保护程序通过验证口令窗口对认证口令进行验证时,具体内容如下:
由于动态口令生成装置的时钟频率与计算机***的时钟频率同步,优选地,在动态口令生成装置内部每30秒产生一个6位的认证口令,动态口令开机保护程序每隔30秒生成一个验证口令值。
为了确保验证的准确性和可靠性,本实施例中的验证口令窗口是以动态口令开机保护程序为计算因子,利用HMAC-SHA1算法生成5个验证口令值,只要认证口令和动态口令开机保护程序生成的5个验证口令值中的一个值相同,则认为该认证口令有效,否则无效,即当认 证口令在验证口令窗口范围时,则认为该认证口令有效,否则,该认证口令无效。
步骤110、动态口令开机保护程序加载***的后续开机程序,将***控制权转交给***开机程序,该计算机***的开机程序将***的控制权转交给转入了内存地址的操作***或操作程序。
步骤111、认证口令无效,动态口令开机保护程序判断无效次数是否超过预设值,若超过预设值,则执行步骤112,否则返回步骤104;
其中,本步骤中通过设定判断无效次数是否超过预设值(或称阈值)的处理动作,进一步地充分考虑到用户的实际使用情况,确保了本发明实施例提供的方案的灵活性。
步骤112:自动关闭计算机。
综上,本发明实施例提供的实现开机保护的方法,进一步地,动态口令保护程序还会执行与动态口令生成装置进行时间同步的操作,从而实现尽量减少验证误差,提高开机保护方法的准确度,其中,参见步骤109,动态口令保护程序与动态口令生成装置执行时间同步的步骤,具体包括:
获取动态口令保护程序在生成验证窗口时,计算机的当前时间值(为了便于说明,定义该获取的计算机的当前时间值为第一时间值);
获取认证口令匹配到验证窗口中数值时,计算机的当前时间值(为了便于说明,定义该获取的计算机的当前时间值为计算机的第二时间值);
根据当前时间值获取单元获取的第一时间值和匹配时间值获取单元获取的第二时间值,获取第一时间值和第二时间值的时间差值,
其中,参见图2,如全文所述,验证窗口生成时,会以计算机的第一时间值(假设T=12:00:30)、以及对该第一时间值加/减N秒(本实施例以60秒为例)、加/减M秒(本实施例以30秒为例)后的时间值为计算因子,假设,如图2所示,认证口令匹配到对该第一时间值加30秒的时间值(T=12:00;30),则第一时间值(假设T=12:00:00)和该第二时间值(T=12:00:30)的差值30秒,即为待获取的时间差值,该时间差值用于实现动态口令保护程序与动态口令生成装置的时间同步,计算机的动态口令保护程序可以根据该时间差值有效抑制验证窗口的漂移问题,从而实现尽量减少验证误差,提高开机保护方法的准确度。
进一步地,本领域技术人员可以获知,本发明实施例提供的方法还适用于当计算机保存有与动态口令生成装置对应的动态口令生成算法的情况,其中,在计算机的BIOS的预设位置或开机硬盘的预设位置中预存有与动态口令生成装置对应的动态口令生成算法。相应地,在上述计算机的动态口令保护程序判断收到的认证口令是否有效的步骤之前还包括:
当动态口令保护程序接收用户输入的认证口令后,直接获取在BIOS的预设位置或开机硬盘的预设位置中预存的与动态口令生成装置对应的动态口令生成算法;
相应地,计算机的动态口令保护程序判断收到的认证口令是否有效的步骤具体包括:动态口令保护程序根据获取的动态口生成算法,生成验证窗口,根据验证窗口,判断认证口令是否在验证窗口范围,如果是,则认证口令有效;否则,认证口令无效。即,采用本发明实施例提供的方法,当需要实现开机保护时,用户只需要向与该计算机对应的动态口令生成装置获取该动态口令生成装置生成的动态认证口令,然后将该认证口令输入到计算机的开机保护程序中,开机保护程序利用该认证口令直接进行验证。综上进一步地增加了本发明实施例提供的方法的灵活性和整个技术方案的完整性。
综上所述,本发明实施例提供了一种实现开机保护的方法,通过采用了动态密码技术,提高了***的安全等级;并且安全令牌无需和主机相连接,节省了研发投资和***的稳定性;降低了对用户计算机机器配置的需求;由于动态口令不需要用户去记忆口令,从而解决了用户需要强制记忆密码的烦琐性,增加了***的易用性。
实施例2
参见图2,本发明实施例提供了一种实现开机保护的***,该***包括:计算机和动态口令生成装置;计算机包括:预处理模块、接收模块、判断模块、加载模块和处理模块;动态口令生成装置包括接收模块和生成模块;其中,
在计算机中,
预处理模块,用于计算机上电,加载并执行动态口令保护程序;
接收模块,用于在预处理模块处理后,利用动态口令保护程序接收用户输入的认证口令;
判断模块,用于当接收模块接收到认证口令后,动态口令保护程序判断该认证口令是否有效;
加载模块,用于当判断模块判断的结果为认证口令有效后,动态口令保护程序加载计算机的开机程序;
处理模块,用于当判断模块判断的结果为认证口令无效时,动态口令保护程序通过处理模块不加载计算机的开机程序;
动态口令生成装置包括:
接收模块,用于接收用户的动态口令生成命令;
生成模块,用于根据接收模块接收的动态口令生成命令,根据当前时间、动态口令生成 算法生成认证口令。
输出模块,用于将生成模块生成的认证口令输出。
其中,计算机的预处理模块具体包括:
上电单元,用于给计算机上电;
第一装入单元,用于当上电单元给计算机上电后,若动态口令保护程序位于BIOS中,则通过计算机的主板开发工具将动态口令保护程序写入BIOS的预设位置;
第二装入单元,用于当上电单元给计算机上电后,若动态口令保护程序位于主引导记录中,通过计算机的开发工具将动态口令保护程序写入计算机开机硬盘的主引导记录的位置,并保留分区表信息;
第一加载执行单元,用于当第一装入单元将动态口令保护程序写入BIOS的预设位置后,在BIOS自检成功后加载并执行动态口令保护程序,将控制权转交给动态口令保护程序;
第二加载执行单元,用于当第二装入单元将动态口令保护程序写入计算机开机硬盘的主引导记录的位置,并保留分区表信息后,则在BIOS自检成功后加载并执行主引导记录中的动态口令保护程序,将控制权转交给动态口令保护程序。
进一步地,计算机还包括提示模块,用于提示用户输入用户信息;
相应地,计算机的接收模块还用于接收用户信息,用户信息包括账号信息、用户的密码信息;
相应地,
计算机的判断模块具体包括:
获取单元,用于当动态口令保护程序验证用户信息通过后,根据在BIOS的预设位置或开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与用户信息对应的动态口令生成算法;
生成单元,用于根据获取单元获取的动态口令生成算法,生成验证窗口;
验证单元,用于根据生成单元生成的验证窗口,判断认证口令是否在验证窗口范围,如果是,则认证口令有效;否则,认证口令无效。
其中,进一步地,计算机的判断模块还包括:设置单元,
设置单元,用于设置无效次数的阈值,相应地,计算机的判断模块还包括:
处理单元,用于当验证单元验证认证口令无效时,判断用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示用户再次输入认证口令。
其中,计算机的判断模块中的生成单元具体用于根据动态口令开机保护程序以计算机系 统的当前时间值、对计算机***的当前时间值加/减预设时间段值后得到的数值,作为计算因子,利用动态口令生成算法,生成验证口令序列,验证口令序列为验证窗口;验证窗口具体为在有效时间范围内的多个随机口令。
进一步地,计算机还包括:
同步模块,用于实现动态口令保护程序与动态口令生成装置的时间同步。其中,同步模块具体包括:
当前时间值获取单元,用于获取动态口令保护程序在生成验证窗口时,计算机的当前时间,并记为第一时间值;
匹配时间值获取单元,用于获取认证口令匹配到验证窗口中数值时所对应的时间因子的值,并记为第二时间值;
同步单元,用于根据当前时间值获取单元获取的第一时间值和匹配时间值获取单元获取的第二时间值,获取第一时间值和第二时间值的时间差值,该时间差值用于实现述动态口令保护程序与动态口令生成装置的时间同步。
其中,上述接收模块在接收用户的动态口令生成命令时,具体可以通过按钮触发的形式,或,指纹扫描的形式,或声控开关的形式,或人体体温感应的方式,或压力感应的方式,或光电感应的方式等,实现用户向动态口令生成装置发送动态口令生成命令的目的,本发明实施例不限制具体所采用的实现方式和方法。
其中,上述输出模块在将上述生成模块生成的认证口令输出时,输出模块具体包括以下任一单元或其中组合:
第一输出单元,用于以显示的方式将生成模块生成的认证口令输出;
第二输出单元,用于以发声的方式将生成模块生成的认证口令输出;
第三输出单元,用于以震动的方式将生成模块生成的认证口令输出;
第四输出单元,用于以适用于用户触摸的方式将生成模块生成的认证口令输出。
其中,本发明实施例提供的计算机还包括:获取模块,
获取模块,用于当动态口令保护程序接收用户输入的认证口令后,获取在BIOS的预设位置或开机硬盘的预设位置中预存的与动态口令生成装置对应的动态口令生成算法。
其中,本发明实施例提供的动态口令生成装置具体可以为安全令牌。
综上所述,本发明实施例提供了一种实现开机保护的***,通过采用了动态密码技术,提高了***的安全等级;并且安全令牌无需和主机相连接,节省了研发投资和***的稳定性;降低了对用户计算机机器配置的需求;由于动态口令不需要用户去记忆口令,从而解决了用 户需要强制记忆密码的烦琐性,增加了***的易用性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种实现开机保护的方法,其特征在于,所述方法包括:
计算机上电,加载并执行动态口令保护程序,所述动态口令保护程序位于BIOS中或主引导记录中;
所述动态口令保护程序接收用户输入的认证口令,其中,所述认证口令为所述用户通过向动态口令生成装置发送动态口令生成命令获取,当所述动态口令生成装置收到所述用户的动态口令生成命令,根据所述动态口令生成装置的当前时间、动态口令生成算法生成所述认证口令;
所述动态口令保护程序获取在所述BIOS的预设位置或计算机开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法;
所述动态口令保护程序根据所述获取的动态口令生成算法和当前时间,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围;
如果是,所述认证口令有效,则加载所述计算机的开机程序,否则,所述认证口令无效,所述动态口令保护程序不加载所述计算机的开机程序。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述动态口令保护程序位于BIOS中,则通过所述计算机的主板开发工具将所述动态口令保护程序写入所述BIOS的预设位置;
若所述动态口令保护程序位于主引导记录中,则通过所述计算机的开发工具将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息。
3.如权利要求2所述的方法,其特征在于,所述计算机加载并执行动态口令保护程序的步骤,具体包括;
若所述动态口令保护程序位于所述BIOS中,则在所述BIOS自检成功后加载并执行所述动态口令保护程序,将控制权转交给所述动态口令保护程序;
若所述动态口令保护程序位于所述主引导记录中,则在所述BIOS自检成功后加载并执行所述主引导记录中的动态口令保护程序,将控制权转交给所述动态口令保护程序。
4.如权利要求2所述的方法,其特征在于,所述计算机开机硬盘的主引导记录的位置具体为:
计算机开机硬盘的0柱面0磁头1扇区及所述1扇区的后续扇区。
5.如权利要求1所述的方法,其特征在于,所述动态口令保护程序接收用户输入的认证口令的步骤,之前还包括:
所述动态口令保护程序提示输入动态口令,具体的提示方式包括显示对话框的方式,或,显示字符的方式。
6.如权利要求2所述的方法,其特征在于,所述动态口令保护程序判断所述认证口令是否有效的步骤,还包括:
所述动态口令保护程序接收用户信息,所述用户信息包括账号信息、用户的密码信息;
所述动态口令保护程序判断所述认证口令是否有效的步骤,具体包括:
所述动态口令保护程序收到所述用户信息后,根据所述在BIOS的预设位置或所述计算机开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与所述用户信息对应的动态口令生成算法;
根据所述获取的动态口令生成算法,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围内,如果是,则所述认证口令有效;否则,所述认证口令无效。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:设置无效次数的阈值,相应地,
当所述认证口令无效时,判断所述用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示用户再次输入认证口令。
8.如权利要求6所述的方法,其特征在于,所述根据所述动态口令生成算法,生成验证窗口的步骤,具体包括:
所述动态口令开机保护程序以所述计算机的当前时间值、对所述计算机的当前时间值加/减预设时间段值后得到的数值,作为计算因子,利用所述动态口令生成算法生成验证口令序列,所述验证口令序列为所述验证窗口;
相应地,所述验证窗口具体为在有效时间范围内的多个随机口令。
9.如权利要求8所述的方法,其特征在于,所述时间段值具体为所述动态口令开机保护程序和所述验证口令窗口的更新率的时间值。
10.如权利要求6所述的方法,其特征在于,所述方法还包括:所述动态口令保护程序判断所述认证口令是否有效后,还执行如下步骤;
获取所述动态口令保护程序在生成验证窗口时所述计算机的当前时间值,并记为第一时间值;
获取所述认证口令匹配到所述验证窗口中数值时所对应的时间因子的值,并记为第二时间值;
根据所述获取的第一时间值和所述第二时间值,计算所述第一时间值和所述第二时间值的时间差值,所述时间差值用于实现所述动态口令保护程序与所述动态口令生成装置的时间同步。
11.一种实现开机保护的***,其特征在于,所述***包括:
预处理模块,用于计算机上电,加载并执行动态口令保护程序,所述动态口令保护程序位于BIOS中或主引导记录中;
接收模块,用于在所述预处理模块处理后,利用所述动态口令保护程序接收用户输入的认证口令,其中,所述认证口令为所述用户通过向动态口令生成装置发送动态口令生成命令获取,当所述动态口令生成装置收到所述用户的动态口令生成命令,根据所述动态口令生成装置的当前时间、动态口令生成算法生成所述认证口令;
判断模块,用于当所述接收模块接收到所述认证口令后,所述动态口令保护程序获取在所述BIOS的预设位置或计算机开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法;所述动态口令保护程序根据所述获取的动态口令生成算法和当前时间,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围;
加载模块,用于当所述判断模块判断的结果为所述认证口令有效后,所述动态口令保护程序加载所述计算机的开机程序;
处理模块,用于当所述判断模块判断的结果为所述认证口令无效时,所述动态口令保护程序通过所述处理模块不加载所述计算机的开机程序。
12.如权利要求11所述的***,其特征在于,所述预处理模块具体包括:
上电单元,用于给计算机上电;
第一装入单元,用于当所述上电单元给所述计算机上电后,若所述动态口令保护程序位于BIOS中,则通过所述计算机的主板开发工具将所述动态口令保护程序写入所述BIOS的预设位置;
第二装入单元,用于当所述上电单元给所述计算机上电后,若所述动态口令保护程序位于主引导记录中,则通过所述计算机的开发工具将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息;
第一加载执行单元,用于当所述第一装入单元将所述动态口令保护程序写入所述BIOS的预设位置后,在所述BIOS自检成功后加载并执行所述动态口令保护程序,将控制权转交给所述动态口令保护程序;
第二加载执行单元,用于当所述第二装入单元将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息后,在所述BIOS自检成功后加载并执行所述主引导记录中的动态口令保护程序,将控制权转交给所述动态口令保护程序。
13.如权利要求11所述的***,其特征在于,
所述***还包括提示模块,用于提示用户输入用户信息;
相应地,所述接收模块还用于接收所述用户信息,所述用户信息包括账号信息、用户的密码信息;
相应地,
所述判断模块具体包括:
获取单元,用于当所述动态口令保护程序验证所述用户信息通过后,根据在所述BIOS的预设位置或所述计算机开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与所述用户信息对应的动态口令生成算法;
生成单元,用于根据所述获取单元获取的动态口令生成算法,生成验证窗口;
验证单元,用于根据所述生成单元生成的验证窗口,判断所述认证口令是否在所述验证窗口范围,如果是,则所述认证口令有效;否则,所述认证口令无效。
14.如权利要求13所述的***,其特征在于,所述判断模块还包括:设置单元,
所述设置单元,用于设置无效次数的阈值,相应地,所述判断模块还包括:
处理单元,用于当所述验证单元验证所述认证口令无效时,判断所述用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示所述用户再次输入认证口令。
15.如权利要求13所述的***,其特征在于,所述判断模块中的生成单元具体用于根据所述动态口令开机保护程序以所述计算机的当前时间值、对所述计算机的当前时间值加/减预设时间段值后得到的数值,作为计算因子,利用所述动态口令生成算法生成验证口令序列,所述验证口令序列为所述验证窗口;所述验证窗口具体为在有效时间范围内的多个随机口令。
16.如权利要求13所述的***,其特征在于,所述***还包括:
同步模块,用于实现所述动态口令保护程序与所述动态口令生成装置的时间同步。
17.如权利要求16所述的***,其特征在于,所述同步模块具体包括:
当前时间值获取单元,用于获取所述动态口令保护程序在生成验证窗口时,所述计算机的当前时间,并记为第一时间值;
匹配时间值获取单元,用于获取所述认证口令匹配到所述验证窗口中数值时所对应的时间因子的值,并记为第二时间值;
同步单元,用于根据所述当前时间值获取单元获取的第一时间值和所述匹配时间值获取单元获取的第二时间值,获取所述第一时间值和所述第二时间值的时间差值,所述时间差值用于实现所述动态口令保护程序与所述动态口令生成装置的时间同步。
18.如权利要求11所述的***,其特征在于,所述输出模块具体包括以下任一单元或其中组合:
第一输出单元,用于以显示的方式将生成模块生成的认证口令输出;
第二输出单元,用于以发声的方式将生成模块生成的认证口令输出;
第三输出单元,用于以震动的方式将生成模块生成的认证口令输出;
第四输出单元,用于以适用于用户触摸的方式将生成模块生成的认证口令输出。
19.如权利要求12所述的***,其特征在于,所述***还包括:获取模块,
所述获取模块,用于当所述动态口令保护程序接收所述用户输入的认证口令后,获取在所述BIOS的预设位置或所述计算机开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法。
CN 200810223250 2008-09-28 2008-09-28 一种实现开机保护的方法和*** Active CN101377804B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 200810223250 CN101377804B (zh) 2008-09-28 2008-09-28 一种实现开机保护的方法和***
US12/565,125 US9158905B2 (en) 2008-09-28 2009-09-23 Method for computer startup protection and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810223250 CN101377804B (zh) 2008-09-28 2008-09-28 一种实现开机保护的方法和***

Publications (2)

Publication Number Publication Date
CN101377804A CN101377804A (zh) 2009-03-04
CN101377804B true CN101377804B (zh) 2011-08-17

Family

ID=40421342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810223250 Active CN101377804B (zh) 2008-09-28 2008-09-28 一种实现开机保护的方法和***

Country Status (1)

Country Link
CN (1) CN101377804B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999714B (zh) * 2011-09-14 2016-04-06 宏碁股份有限公司 密码安全性判断方法及***
CN106611108B (zh) * 2016-12-02 2020-03-31 北京鼎普科技股份有限公司 一种光盘版权保护方法
CN106953726A (zh) * 2017-02-14 2017-07-14 上海林果实业股份有限公司 一种消息认证方法、消息认证装置和上位机
CN113793425A (zh) * 2020-12-31 2021-12-14 北京京东尚科信息技术有限公司 巡检的考勤方法及相关设备

Also Published As

Publication number Publication date
CN101377804A (zh) 2009-03-04

Similar Documents

Publication Publication Date Title
CN101377803B (zh) 一种实现开机保护的方法和***
US9158905B2 (en) Method for computer startup protection and system thereof
CN101359354B (zh) 一种实现开机保护的方法和***
US8875264B2 (en) System, method and program for off-line two-factor user authentication
US7275263B2 (en) Method and system and authenticating a user of a computer system that has a trusted platform module (TPM)
JP4562759B2 (ja) アクセス制御装置、アクセス制御方法およびアクセス制御プログラム
US7945948B2 (en) System, method and program for off-line user authentication
EP2626807B1 (en) Two- factor user authentication system, and method therefor
US20070239980A1 (en) Authentication method, authentication apparatus and authentication program storage medium
CN103164241A (zh) 利用了生物认证装置的计算机的启动方法以及计算机
CN113676443A (zh) 登录信息输入方法、登录信息保存方法及相关装置
CN105929974B (zh) 一种密码输入管理方法及移动终端
JP2013149135A (ja) コンピュータをブートする方法およびコンピュータ
WO2008041286A1 (fr) Processeur d&#39;informations et procédé de gestion d&#39;informations
CN105005721B (zh) 基于计算机开机钥匙的计算机授权开机控制***及方法
CN101377804B (zh) 一种实现开机保护的方法和***
EP2254072A1 (en) Biometric authentication unit and biometric authentication method
JP4189397B2 (ja) 情報処理装置、および認証制御方法
JP3589579B2 (ja) 生体認証装置及びその処理プログラムを記録した記録媒体
JP2008160325A (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
US20080155681A1 (en) Recording medium, method, system, and device for authenticating user, and IC card
WO2017166359A1 (zh) 用户域的访问方法、访问装置及移动终端
KR101737082B1 (ko) 스마트 카드를 사용하여 사용자 인증을 수행하는 화상형성장치 및 방법
JP4771733B2 (ja) ユーザ認証方法
JP2008158763A (ja) 情報処理装置およびセキュリティ方法

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 17th floor, building B, Huizhi building, No.9, Xueqing Road, Haidian District, Beijing 100085

Patentee after: Feitian Technologies Co.,Ltd.

Country or region after: China

Address before: 100085 17th floor, block B, Huizhi building, No.9 Xueqing Road, Haidian District, Beijing

Patentee before: Feitian Technologies Co.,Ltd.

Country or region before: China