一种实现开机保护的方法和系统的制作方法

文档序号:6470822阅读:112来源:国知局

专利名称::一种实现开机保护的方法和系统的制作方法
技术领域
:本发明涉及信息安全领域,特别涉及一种实现开机保护的方法和系统。
背景技术
:在计算机应用领域,计算机的开机保护过程或客户端访问远程服务器的过程中,例如,在普通的开机模式下,当用户启动计算机时,常用的开机保护方法是通过要求用户输入密码来确认使用者的身份是否合法。只要用户能够正确输入密码,计算机(或远程服务器)就认为他是合法用户,允许其进行登录访问。通常,每个用户的密码是由该用户自己设定的,理论上只有自己本人才知道,因此只要能够正确输入该密码,计算机就认为他就是本机的合法用户。并且,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权,而现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份。如何保证以数字身份进行操作的操作者就是这个数字身份合法拥有者,也就是说保证操作者的物理身份与数字身份相对应,就成为一个很重要的问题。发明人在实现本发明的过程中,经过分析后发现现有技术至少存在以下缺点和不足一方面,上述提到的用户名/密码方式下,由于许多用户为了防止忘记密码,经常采用诸如自己或家人的生日、电话号码等作为密码,这些有意义的字符串容易被他人猜测到;或者采用把密码抄在一个自己认为安全的地方,这也存在着安全隐患,极易造成密码泄露;并且,当非法用户利用获取的密码实现登录后,将硬盘移植到没有密码的计算机中,便可以更换其中的内容,实现系统的正常启动。因此,上述用户名/密码方式是一种具有安全隐患的身份认证方式;另一方面,上述用户名/密码方式属于静态密码的认证方式,但在具体应用过程中,静态密码认证方式存在着许多不安全因素,极易造成密码泄露而导致一系列非法登录。因此静态密码认证方式是一种极具安全隐患的身份认证方式;综上所述,现有技术中计算机开机保护存在安全隐患,容易造成密码泄露;操作者的物理身份与数字身份的绑定没有保证。
发明内容鉴于现有技术存在的缺点和不足,本发明提供了一种实现开机保护的方法和系统,能够提高开机过程中安全性和可靠性,并且具有使用方便、应用范围广等特点,所述技术方案如下一方面,提供了一种实现开机保护的方法,所述方法包括计算机上电,加载并执行动态口令保护程序;所述动态口令保护程序接收用户输入的认证口令,其中,所述认证口令为所述用户通过向动态口令生成装置发送动态口令生成命令获取,当所述动态口令生成装置收到所述用户的动态口令生成命令,根据所述用户使用的所述动态口令生成装置的当前次数、动态口令生成算法生成所述认证口令;所述动态口令保护程序判断所述认证口令是否有效,如果是,则加载所述计算机的开机程序,否则,所述动态口令保护程序不加载所述计算机的开机程序。其中,所述动态口令保护程序位于BIOS中或主引导记录中,相应地,所述方法还包括若所述动态口令保护程序位于BIOS中,则通过所述计算机的主板开发工具将所述动态口令保护程序写入所述BIOS的预设位置;相应地,所述方法还包括若所述动态口令保护程序位于主引导记录中,则通过所述计算机的开发工具将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息。其中,所述计算机加载并执行动态口令保护程序的步骤,具体包括;若所述动态口令保护程序位于所述BIOS中,则在所述BI0S自检成功后加载并执行所述动态口令保护程序,将控制权转交给所述动态口令保护程序;若所述动态口令保护程序位于所述主引导记录中,则在所述BI0S自检成功后加载并执行所述主引导记录中的动态口令保护程序,将控制权转交给所述动态口令保护程序。其中,所述计算机开机硬盘的主引导记录的位置具体为计算机开机硬盘的0柱面0磁头1扇区及所述1扇区的后续扇区。进一步地,所述动态口令保护程序接收用户输入的认证口令的步骤,之前还包括所述动态口令保护程序提示输入动态口令,具体的提示方式包括显示对话框的方式,或,显示字符的方式。其中,所述动态口令保护程序判断所述认证口令是否有效的步骤,包括所述动态口令保护程序接收所述用户输入的认证口令后,获取在所述BIOS的预设位置或所述开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法;所述动态口令保护程序根据所述获取的动态口生成算法,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围内,如果是,则所述认证口令有效;否贝IJ,所述认证口令无效。其中,所述动态口令保护程序判断所述认证口令是否有效的步骤,还包括所述动态口令保护程序接收所述用户信息,所述用户信息包括账号信息、用户的密码信息;所述动态口令保护程序根据所述认证口令,判断所述认证口令是否有效的步骤,具体包括所述动态口令保护程序收到所述用户信息后,根据所述在BIOS的预设位置或所述开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与所述用户信息对应的动态口令生成算法;根据所述获取的动态口令生成算法,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围内,如果是,则所述认证口令有效;否贝lj,所述认证口令无效。进一步地,所述方法还包括设置无效次数的阈值,相应地,当所述认证口令无效时,判断所述用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示用户再次输入认证口令。.其中,所述根据所述动态口令生成算法,生成验证窗口的步骤,具体包括所述动态口令开机保护程序以计算机系统的当前验证次数值、对所述当前验证次数值加/减预设次数值后得到的数值,作为计算因子,利用所述动态口令验证算法,生成验证口令序列,所述验证口令序列为所述验证窗口;相应地,所述验证窗口具体为在有效验证次数范围内的多个随机口令。进一步地,所述方法还包括所述动态口令保护程序判断所述认证口令是否有效后,还执行如下步骤;获取所述动态口令保护程序在生成验证窗口时所述计算机系统的当前验证次数值,并记为第一次数值;获取所述认证口令匹配到所述验证窗口中数值时所对应的验证次数因子的值,并记为第二次数值;根据所述获取的第一次数值和所述第二次数值,计算所述第一次数值和所述第二次数值的次数差值,所述次数差值用于实现述动态口令保护程序与所述动态口令生成装置的次数同步。进一步地,所述动态口令开机保护程序生成验证口令序列的步骤,之后还包括所述动态口令开机保护程序执行自身的次数递增加1;所述动态口令生成装置收到所述用户的动态口令生成命令,根据所述用户使用所述动态口令生成装置的当前次数、动态口令生成算法生成所述认证口令的步骤,之后还包括所述动态口令生成装置执行自身的次数递增加1。另一方面,提供了一种实现开机保护的系统,所述系统包括计算机和动态口令生成装置;所述计算机包括预处理模块,用于计算机上电,加载并执行动态口令保护程序;接收模块,用于在所述预处理模块处理后,利用所述动态口令保护程序接收用户输入的认证口令;判断模块,用于当所述接收模块接收到认证口令后,所述动态口令保护程序判断所述认证口令是否有效;加载模块,用于当所述判断模块判断的结果为所述认证口令有效后,所述动态口令保护程序加载所述计算机的开机程序;处理模块,用于当所述判断模块判断的结果为所述认证口令无效时,所述动态口令保护程序通过所述处理模块不加载所述计算机的开机程序;所述动态口令生成装置包括接收模块,用于接收所述用户的动态口令生成命令;生成模块,用于根据所述接收模块接收的动态口令生成命令,根据所述用户使用所述动态口令生成装置的当前次数、动态口令生成算法生成认证口令。输出模块,用于将所述生成模块生成的认证口令输出。其中,所述计算机的预处理模块具体包括上电单元,用于给计算机上电;第一装入单元,用于当所述上电单元给所述计算机上电后,若所述动态口令保护程序位于BIOS中,则通过所述计算机的主板开发工具将所述动态口令保护程序写入所述BIOS的预设位置;第二装入单元,用于当所述上电单元给所述计算机上电后,若所述动态口令保护程序位于主引导记录中,通过所述计算机的开发工具将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息;第一加载执行单元,用于当所述第一装入单元将所述动态口令保护程序写入所述BIOS的预设位置后,在所述BI0S自检成功后加载并执行所述动态口令保护程序,将控制权转交给所述动态口令保护程序;第二加载执行单元,用于当所述第二装入单元将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息后,则在所述BI0S自检成功后加载并执行所述主引导记录中的动态口令保护程序,将控制权转交给所述动态口令保护程序。进一步地,所述计算机还包括提示模块,用于提示用户输入用户信息;相应地,所述计算机的接收模块还用于接收所述用户信息,所述用户信息包括账号信息、用户的密码信息;相应地,所述计算机的判断模块具体包括获取单元,用于当所述动态口令保护程序验证所述用户信息通过后,根据所述在BIOS的预设位置或所述开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与所述用户信息对应的动态口令生成算法;生成单元,用于根据所述获取单元获取的动态口令生成算法,生成验证窗口;验证单元,用于根据所述生成单元生成的验证窗口,判断所述认证口令是否在所述验证窗口范围内,如果是,则所述认证口令有效;否则,所述认证口令无效。进一步地,所述计算机的判断模块还包括设置单元,所述设置单元,用于设置无效次数的阈值,相应地,所述计算机的判断模块还包括处理单元,用于当所述验证单元验证所述认证口令无效时,判断所述用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示用户再次输入认证口令。其中,所述计算机的判断模块中的生成单元具体用于根据所述动态口令开机保护程序以所述计算机系统的当前验证次数值、对所述计算机系统的当前验证次数值加/减预设次数值后得到的数值,作为计算因子,利用所述动态口令生成算法,生成验证口令序列,所述验证口令序列为所述验证窗口;所述验证窗口具体为在有效次数范围内的多个随机口令。进一步地,所述计算机还包括同步模块,用于实现所述动态口令保护程序与所述动态口令生成装置的次数同步。其中,所述同步模块具体包括-当前次数值获取单元,用于获取所述动态口令保护程序在生成验证窗口时所述计算机系统的当前验证次数值,并记为第一次数值;匹配次数值获取单元,用于获取所述认证口令匹配到所述验证窗口中数值时所对应的验证次数因子的值,并记为第二次数值;同步单元,用于根据所述获取的第一次数值和所述第二次数值,计算所述第一次数值和所述第二次数值的次数差值,所述次数差值用于实现述动态口令保护程序与所述动态口令生成装置的次数同步。其中,所述输出模块具体包括以下任一单元或其中组合第一输出单元,用于以显示的方式将生成模块生成的认证口令输出;第二输出单元,用于以发声的方式将生成模块生成的认证口令输出;第三输出单元,用于以震动的方式将生成模块生成的认证口令输出;第四输出单元,用于以适用于用户触摸的方式将生成模块生成的认证口令输出。进一步地,所述计算机还包括获取模块,所述获取模块,用于当所述动态口令保护程序接收所述用户输入的认证口令后,获取在所述BIOS的预设位置或所述开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法。进一步地,所述计算机还包括次数递增模块,用于当动态口令开机保护程序生成验证口令序列后,所述动态口令开机保护程序执行自身的次数递增加1;相应地,所述动态口令生成装置还包括次数递增模块,用于当所述动态口令生成装置的生成模块生成所述认证口令后,所述动态口令生成装置执行自身的次数递增加1。本发明提供的技术方案的有益效果是通过采用了动态密码技术,提高了系统的安全等级;并且安全令牌无需和主机相连接,节省了研发投资和系统的稳定性;降低了对用户计算机机器配置的需求;由于动态口令不需要用户去记忆口令,从而解决了用户需要强制记忆密码的烦琐性,增加了系统的易用性。图1是本发明实施例1提供的实现开机保护的方法的流程示意图;图2是本发明实施例2提供的实现开机保护的系统示意图3是本发明实施例2提供的实现开机保护的详细的系统示意图;具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。为了提高开机过程中安全性和可靠性,本发明提供了一种实现开机保护的方法,该方法基于安全令牌,利用安全令牌的动态密码认证实现,具体内容如下计算机上电,加载并执行动态口令保护程序;动态口令保护程序接收用户输入的认证口令,其中,认证口令为用户通过向动态口令生成装置发送动态口令生成命令获取,当动态口令生成装置收到用户的动态口令生成命令,根据用户使用的动态口令生成装置的当前次数、动态口令生成算法生成认证口令;动态口令保护程序判断认证口令是否有效,如果是,则加载计算机的开机程序,否则,动态口令保护程序不加载计算机的开机程序。本发明实施例提供的方法具有使用方便、应用范围广等特点,参见如下实施例对本发明实施例提供的方法进行详细说明。实施例1参见图l,本发明实施例提供了一种实现开机保护的方法,具体内容如下步骤101:计算机上电,BIOS自检;在本实施例中,动态口令开机保护程序可以置于BIOS程序中,作为BIOS程序的一部分,也可以位于计算机开机硬盘的主引导记录中。其中,若动态口令保护程序位于BIOS中,则通过计算机的主板开发工具将动态口令保护程序写入BI0S的预设位置;若动态口令保护程序位于主引导记录中,则通过计算机的开发工具将动态口令保护程序写入计算机开机硬盘的主引导记录的位置,并保留分区表信息,例如,开机硬盘的o柱面o磁头1扇区及其后续若干扇区等。步骤102、BIOS自检成功后加载并执行动态口令开机保护程序,将计算机系统的控制权转移给动态口令开机保护程序;在本实施例中,BIOS程序包括自检查程序和动态口令开机保护程序,自检査程序首先检査CPU,在CPU正常的基础上之后,将检査KeyBoard控制芯片、第一个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算法等。其中,本发明实施例所涉及的OTP技术是指用户的密码按照用户使用的动态口令生成装置的次数不断动态变化,每个密码只使用一次。相应地,动态密码认证方式一般采用一种称之为安全令牌的专用硬件(安全令牌也可以是软件形式的,如手机的java程序),它内置于运行专门密码算法的密码生成芯片,根据当前使用次数生成当前密码并输出。其中,该动态口令生成装置将生成的认证口令输出给用户具体可以采用如下的任一方式,或其组合以显示的方式(如显示屏等)将认证口令输出;以发声的方式将认证口令输出;以震动的方式将认证口令输出;还可以以适用于用户触摸的方式(如凹凸触点)将认证口令输出,本发明实施例不限制具体的输出方式和方式。步骤107、用户将认证口令、用户账号输入到计算机的提示对话框中,计算机中的动态口令开机保护程序获取上述认证口令;其中,本步骤在具体实现时,可以根据具体的需要设置该计算机的提示对话框,用于提供给用户输入认证口令,进一步,参见表1,该提示对话框还可以包括常规的用户账号、用户密码、动态口令生成装置序列号等提示信息。表1<table>tableseeoriginaldocumentpage16</column></row><table>如表1所示,当该提示对话框还可以包括常规的用户账号、用户密码、动态口令生成装置序列号等提示信息时,计算机需要验证用户账号、用户密码、动态口令生成装置序列号全部通过后,获取认证口令。本实施例为了便于说明,以提示用户输入用户账号、认证口令为例进行说明。步骤108:动态口令开机保护程序获取的用户账号为索引条件,查找到计算机系统内部存储的与该用户账号绑定的动态口令生成装置的算法程序,即HMAC-SHA1算法程序,以系统的当前验证次数为计算因子,利用该算法程序生成生验证口令窗口;其中,在本实施例步骤108中,动态口令生成装置与用户账号的对应关系预先存储在BIOS的指定位置。步骤109、动态口令开机保护程序通过验证口令窗口对认证口令进行验证,判断认证口令是否有效,如果有效,则执行步骤110;否则,执行步骤lll;其中,本步骤中动态口令开机保护程序通过验证口令窗口对认证口令进行验证时,具体内容如下由于计算机系统内保存有动态口令生成装置的信息,动态口令生成装置的使用次数与计算机系统的验证次数保持一致,如针对序列号为123456789的动态口令生成装置,在该计算机内部记载了该动态口令生成装置的信息,当用户在获取认证口令时,是第10次使用该动态口令生成装置,相应地,在计算机内与该使用次数保持一致的验证次数也应该是10次。为了确保验证的准确性和可靠性,本实施例中的验证口令窗口是动态口令开机保护程序以计算机系统当前验证次数以及当前验证次数分别加/减5次、力n/减6秒后的次数值为计算因子,利用HMAC-SHA1算法生成的5个验证口令值,只要认证口令和动态口令开机保护程序生成的5个验证口令值中的一个值相同,则认为该认证口令有效,否则无效,即当认证口令在验证口令窗口范围时,则认为该认证口令有效,否则,该认证口令无效。步骤110、动态口令开机保护程序加载系统的后续开机程序,将系统控制权转交给系统开机程序,该计算机系统的开机程序将系统的控制权转交给转入了内存地址的操作系统或操作程序。步骤111、认证口令无效,动态口令开机保护程序判断无效次数是否超过预设值,若超过预设值,则执行步骤112,否则返回步骤104;其中,本步骤中通过设定判断无效次数是否超过预设值(或称阈值)的处理动作,进一步地充分考虑到用户的实际使用情况,确保了本发明实施例提供的方案的灵活性。步骤112:自动关闭计算机。综上,本发明实施例提供的实现开机保护的方法,进一步地,动态口令保护程序还会执行与动态口令生成装置进行次数同步的操作,从而实现尽量减少验证误差,提高开机保护方法的准确度,其中,参见步骤109,动态口令保护程序与动态口令生成装置执行次数同步的步骤,具体包括获取动态口令保护程序在生成验证窗口时,计算机的当前次数值(为了便于说明,定义该获取的计算机的当前验证次数值为第一次数值);获取认证口令匹配到验证窗口中数值时,计算机的当前次数值(为了便于说明,定义该获取的计算机的当前次数值为计算机的第二次数值);根据获取的第一次数值和获取的第二次数值,获取第一次数值和第二次数值的次数差值,其中,如上文所述,验证窗口生成时,会以计算机的第一次数值(假设X400次)、以及对该第一次数值加/减N次(本实施例以3次为例)、力n/减M秒(本实施例以5次为例)后的次数值为计算因子,假设,如图2所示,认证口令匹配到对该第一次数值加5秒的次数值(Y405次),则第一次数值(假设X=100)和该第二次数值(Y=105)的差值5次,即为待获取的次数差,该次数差值用于实现动态口令保护程序与动态口令生成装置的次数同步,计算机的动态口令保护程序可以根据该次数差值有效抑制验证窗口的漂移问题,从而实现尽量减少验证误差,提高开机保护方法的准确度。进一步地,本领域技术人员可以获知,本发明实施例提供的方法还适用于当计算机保存有与对应动态口令生成装置对应的动态口令生成算法的情况,其中,在计算机的BI0S的预设位置或开机硬盘的预设位置中预存有与动态口令生成装置对应的动态口令生成算法。相应地,在上述计算机的动态口令保护程序判断收到的认证口令是否有效的步骤,之前还包括-17当动态口令保护程序接收用户输入的认证口令后,直接获取在BIOS的预设位置或开机硬盘的预设位置中预存的与动态口令生成装置对应的动态口令生成算法;相应地,计算机的动态口令保护程序判断收到的认证口令是否有效的步骤具体包括动态口令保护程序根据获取的动态口生成算法,生成验证窗口,根据验证窗口,判断认证口令是否在验证窗口范围内,如果是,则认证口令有效;否则,认证口令无效。即,采用本发明实施例提供的方法,当需要实现开机保护时,用户只需要向与该计算机对应的动态口令生成装置获取该动态口令生成装置生成的动态认证口令,然后将该认证口令输入到计算机的开机保护程序中,开机保护程序利用该认证口令直接进行验证。综上进一步地增加了本发明实施例提供的方法的灵活性和整个技术方案的完整性。本领域技术人员可以获知,在动态口令开机保护程序生成验证口令序列的步骤,之后还包括动态口令开机保护程序执行自身的次数递增加l;相应地,动态口令生成装置收到用户的动态口令生成命令,根据用户使用动态口令生成装置的当前次数、动态口令生成算法生成认证口令的步骤,之后还包括动态口令生成装置执行自身的次数递增加1。其中,不限制动态口令开机保护程序和动态口令生成装置递增的具体数值。综上所述,'本发明实施例提供了一种实现开机保护的方法,通过采用了动态密码技术,提高了系统的安全等级;并且安全令牌无需和主机相连接,节省了研发投资和系统的稳定性;降低了对用户计算机机器配置的需求;由于动态口令不需要用户去记忆口令,从而解决了用户需要强制记忆密码的烦琐性,增加了系统的易用性。实施例2参见图2,本发明实施例提供了一种实现开机保护的系统,该系统包括计算机和动态口令生成装置;参见图3,计算机包括预处理模块、接收模块、判断模块、加载模块和处理模块;动态口令生成装置包括接收模块、生成模块和输出模块;其中,在计算机中,预处理模块,用于计算机上电,加载并执行动态口令保护程序;接收模块,用于在预处理模块处理后,利用动态口令保护程序接收用户输入的认证口令;判断模块,用于当接收模块接收到认证口令后,动态口令保护程序判断认证口令是否有效;加载模块,用于当判断模块判断的结果为认证口令有效后,动态口令保护程序加载计算机的开机程序;处理模块,用于当判断模块判断的结果为认证口令无效时,动态口令保护程序通过处理模块不加载计算机的开机程序;在动态口令生成装置中,接收模块,用于接收用户的动态口令生成命令;生成模块,用于根据接收模块接收的动态口令生成命令,根据用户使用动态口令生成装置的当前次数、动态口令生成算法生成认证口令。输出模块,用于将生成模块生成的认证口令输出。其中,上述计算机的预处理模块具体包括上电单元,用于给计算机上电;第一装入单元,用于当上电单元给计算机上电后,若动态口令保护程序位于BIOS中,则通过计算机的主板开发工具将动态口令保护程序写入BIOS的预设位置;第二装入单元,用于当上电单元给计算机上电后,若动态口令保护程序位于主引导记录中,通过计算机的开发工具将动态口令保护程序写入计算机开机硬盘的主引导记录的位置,并保留分区表信息;第一加载执行单元,用于当第一装入单元将动态口令保护程序写入BIOS的预设位置后,在BI0S自检成功后加载并执行动态口令保护程序,将控制权转交给动态口令保护程序;第二加载执行单元,用于当第二装入单元将动态口令保护程序写入计算机开机硬盘的主引导记录的位置,并保留分区表信息后,则在BI0S自检成功后加载并执行主引导记录中的动态口令保护程序,将控制权转交给动态口令保护程序。进一步地,计算机还包括提示模块,用于提示用户输入用户信息;相应地,计算机的接收模块还用于接收用户信息,用户信息包括账号信息、用户的密码信息;相应地,计算机的判断模块具体包括获取单元,用于当动态口令保护程序验证用户信息通过后,根据在BIOS的预设位置或开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与用户信息对应的动态口令生成算法;生成单元,用于根据获取单元获取的动态口令生成算法,生成验证窗口;验证单元,用于根据生成单元生成的验证窗口,判断认证口令是否在验证窗口范围,如果是,则认证口令有效;否则,认证口令无效。进一步地,计算机的判断模块还包括设置单元,设置单元,用于设置无效次数的阈值,相应地,计算机的判断模块还包括处理单元,用于当验证单元验证认证口令无效时,判断用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示用户再次输入认证口令。其中,计算机的判断模块中的生成单元具体用于根据动态口令开机保护程序以计算机系统的当前验证次数值、对计算机系统的当前验证次数值加/减预设次数值后得到的数值,作为计算因子,利用动态口令生成算法,生成验证口令序列,验证口令序列为验证窗口;验证窗口具体为在有效次数范围内的多个随机口令。进一步地,计算机还包括-同步模块,用于实现动态口令保护程序与动态口令生成装置执行次数同步。其中,同步模块具体包括-当前次数值获取单元,用于获取动态口令保护程序在生成验证窗口时计算机系统的当前验证次数值,并记为第一次数值;匹配次数值获取单元,用于获取认证口令匹配到验证窗口中数值所对应的验证次数因子的值,并记为第二次数值;同步单元,用于根据获取的第一次数值和第二次数值,计算第一次数值和第二次数值的次数差值,次数差值用于实现述动态口令保护程序与动态口令生成装置的次数同步。其中,本发明实施例提供的动态口令生成装置的输出模块具体包括以下任一单元或其中组合第一输出单元,用于以显示的方式将生成模块生成的认证口令输出;第二输出单元,用于以发声的方式将生成模块生成的认证口令输出;第三输出单元,用于以震动的方式将生成模块生成的认证口令输出;第四输出单元,用于以适用于用户触摸的方式将生成模块生成的认证口令输出。进一步地,计算机还包括获取模块,获取模块,用于当动态口令保护程序接收用户输入的认证口令后,获取在BIOS的预设位置或开机硬盘的预设位置中预存的与动态口令生成装置对应的动态口令生成算法。进一步地,计算机还包括次数递增模块,用于当动态口令开机保护程序生成验证口令序列后,动态口令开机保护20程序执行自身的次数递增加l;相应地,动态口令生成装置还包括次数递增模块,用于当动态口令生成装置的生成模块生成认证口令后,动态口令生成装置执行自身的次数递增加l。其中,本发明实施例提供的动态口令生成装置具体可以为安全令牌。综上所述,本发明实施例提供了一种实现开机保护的系统,通过采用了动态密码技术,提高了系统的安全等级;并且安全令牌无需和主机相连接,节省了研发投资和系统的稳定性;降低了对用户计算机机器配置的需求;由于动态口令不需要用户去记忆口令,从而解决了用户需要强制记忆密码的烦琐性,增加了系统的易用性。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种实现开机保护的方法,其特征在于,所述方法包括计算机上电,加载并执行动态口令保护程序;所述动态口令保护程序接收用户输入的认证口令,其中,所述认证口令为所述用户通过向动态口令生成装置发送动态口令生成命令获取,当所述动态口令生成装置收到所述用户的动态口令生成命令后,根据所述用户使用的所述动态口令生成装置的当前次数、动态口令生成算法生成所述认证口令;所述动态口令保护程序判断所述认证口令是否有效,如果是,则加载所述计算机的开机程序,否则,所述动态口令保护程序不加载所述计算机的开机程序。2、如权利要求l所述的方法,其特征在于,所述动态口令保护程序位于BIOS中或主引导记录中,相应地,所述方法还包括若所述动态口令保护程序位于BIOS中,则通过所述计算机的主板开发工具将所述动态口令保护程序写入所述BIOS的预设位置;相应地,所述方法还包括若所述动态口令保护程序位于主引导记录中,则通过所述计算机的开发工具将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息。3、如权利要求2所述的方法,其特征在于,所述计算机加载并执行动态口令保护程序的步骤,具体包括;若所述动态口令保护程序位于所述BIOS中,则在所述BI0S自检成功后加载并执行所述动态口令保护程序,将控制权转交给所述动态口令保护程序;若所述动态口令保护程序位于所述主引导记录中,则在所述BI0S自检成功后加载并执行所述主引导记录中的动态口令保护程序,将控制权转交给所述动态口令保护程序。4、如权利要求2所述的方法,其特征在于,所述计算机开机硬盘的主引导记录的位置具体为-计算机开机硬盘的0柱面0磁头1扇区及所述1扇区的后续扇区。5、如权利要求l所述的方法,其特征在于,所述动态口令保护程序接收用户输入的认证口令的步骤,之前还包括所述动态口令保护程序提示输入动态口令,具体的提示方式包括显示对话框的方式,或,显示字符的方式。6、如权利要求2所述的方法,其特征在于,所述动态口令保护程序判断所述认证口令是否有效的步骤,包括所述动态口令保护程序接收所述用户输入的认证口令后,获取在所述BIOS的预设位置或所述开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法;所述动态口令保护程序根据所述获取的动态口生成算法,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围内,如果是,则所述认证口令有效;否则,所述认证口令无效。7、如权利要求2所述的方法,其特征在于,所述动态口令保护程序判断所述认证口令是否有效的步骤,还包括所述动态口令保护程序接收所述用户信息,所述用户信息包括账号信息、用户的密码信息;所述动态口令保护程序根据所述认证口令,判断所述认证口令是否有效的步骤,具体包括所述动态口令保护程序收到所述用户信息后,根据所述在BIOS的预设位置或所述开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与所述用户信息对应的动态口令生成算法;根据所述获取的动态口令生成算法,生成验证窗口,根据所述验证窗口,判断所述认证口令是否在所述验证窗口范围内,如果是,则所述认证口令有效;否则,所述认证口令无效。8、如权利要求6或7所述的方法,其特征在于,所述方法还包括设置无效次数的阈值,相应地,当所述认证口令无效时,判断所述用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示用户再次输入认证口令。9、如权利要求6或7所述的方—法,其特征在于,所述根据所述动态口令生成算法,生成验证窗口的步骤,具体包括-所述动态口令开机保护程序以计算机系统的当前验证次数值、对所述当前验证次数值加/减预设次数值后得到的数值,作为计算因子,利用所述动态口令验证算法,生成验证口令序列,所述验证口令序列为所述验证窗口;相应地,所述验证窗口具体为在有效验证次数范围内的多个随机口令。10、如权利要求6或7所述的方法,其特征在于,所述方法还包括所述动态口令保护程序判断所述认证口令是否有效后,还执行如下步骤;获取所述动态口令保护程序在生成验证窗口时所述计算机系统的当前验证次数值,并记为第一次数值;获取所述认证口令匹配到所述验证窗口中数值时所对应的验证次数因子的值,并记为第二次数值;根据所述获取的第一次数值和所述第二次数值,计算所述第一次数值和所述第二次数值的次数差值,所述次数差值用于实现所述动态口令保护程序与所述动态口令生成装置的次数同步。11、如权利要求9所述的方法,其特征在于,所述方法还包括所述动态口令开机保护程序生成所述验证口令序列的步骤,之后还包括所述动态口令开机保护程序执行自身的次数递增加1;所述动态口令生成装置收到所述用户的动态口令生成命令,根据所述用户使用的所述动态口令生成装置的当前次数、动态口令生成算法生成所述认证口令的步骤,之后还包括所述动态口令生成装置执行自身的次数递增加1。12、一种实现开机保护的系统,其特征在于,所述系统包括计算机和动态口令生成装置;所述计算机包括预处理模块,用于计算机上电,加载并执行动态口令保护程序;接收模块,用于在所述预处理模块处理后,利用所述动态口令保护程序接收用户输入的认证口令;判断模块,用于当所述接收模块接收到认证口令后,所述动态口令保护程序判断所述认证口令是否有效;加载模块,用于当所述判断模块判断的结果为所述认证口令有效后,所述动态口令保护程序加载所述计算机的开机程序;处理模块,用于当所述判断模块判断的结果为所述认证口令无效时,所述动态口令保护程序通过所述处理模块不加载所述计算机的开机程序;所述动态口令生成装置包括接收模块,用于接收所述用户的动态口令生成命令;生成模块,用于根据所述接收模块接收的动态口令生成命令,根据所述用户使用的所述动态口令生成装置的当前次数、动态口令生成算法生成认证口令。输出模块,用于将所述生成模块生成的认证口令输出。13、如权利要求12所述的系统,其特征在于,所述计算机的预处理模块具体包括-上电单元,用于给所述计算机上电;第一装入单元,用于当所述上电单元给所述计算机上电后,若所述动态口令保护程序位于BIOS中,则通过所述计算机的主板开发工具将所述动态口令保护程序写入所述BIOS的预设位置;第二装入单元,用于当所述上电单元给所述计算机上电后,若所述动态口令保护程序位于主引导记录中,通过所述计算机的开发工具将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息;第一加载执行单元,用于当所述第一装入单元将所述动态口令保护程序写入所述BIOS的预设位置后,在所述BI0S自检成功后加载并执行所述动态口令保护程序,将控制权转交给所述动态口令保护程序;第二加载执行单元,用于当所述第二装入单元将所述动态口令保护程序写入所述计算机开机硬盘的主引导记录的位置,并保留分区表信息后,则在所述BI0S自检成功后加载并执行所述主引导记录中的动态口令保护程序,将控制权转交给所述动态口令保护程序。14、如权利要求12所述的系统,其特征在于,所述计算机还包括提示模块,用于提示所述用户输入用户信息;相应地,所述计算机的接收模块还用于接收所述用户信息,所述用户信息包括账号信息、用户的密码信息;相应地,所述计算机的判断模块具体包括获取单元,用于当所述动态口令保护程序验证所述用户信息通过后,根据所述在BIOS的预设位置或所述开机硬盘的预设位置中预存的用户信息和动态口令生成装置的标识的对应关系,获取与所述用户信息对应的动态口令生成算法;生成单元,用于根据所述获取单元获取的动态口令生成算法,生成验证窗口;验证单元,用于根据所述生成单元生成的验证窗口,判断所述认证口令是否在所述验证窗口范围内,如果是,则所述认证口令有效;否则,所述认证口令无效。15、如权利要求14所述的系统,其特征在于,所述计算机的判断模块还包括设置单元,所述设置单元,用于设置无效次数的阈值,相应地,所述计算机的判断模块还包括-处理单元,用于当所述验证单元验证所述认证口令无效时,判断所述用户的无效次数是否超过预设的无效次数的阈值,如果是,则自动关闭计算机;否则,提示用户再次输入认证口令。16、如权利要求14所述的系统,其特征在于,所述计算机的判断模块中的生成单元具体用于根据所述动态口令开机保护程序以所述计算机系统的当前验证次数值、对所述计算机系统的当前验证次数值加/减预设次数值后得到的数值,作为计算因子,利用所述动态口令生成算法,生成验证口令序列,所述验证口令序列为所述验证窗口;所述验证窗口具体为在有效次数范围内的多个随机口令。17、如权利要求14所述的系统,其特征在于,所述计算机还包括同步模块,用于实现所述动态口令保护程序与所述动态口令生成装置的次数同步。18、如权利要求17所述的系统,其特征在于,所述同步模块具体包括当前次数值获取单元,用于获取所述动态口令保护程序在生成验证窗口时所述计算机系统的当前验证次数值,并记为第一次数值;匹配次数值获取单元,用于获取所述认证口令匹配到所述验证窗口中数值时所对应的验证次数因子的值,并记为第二次数值;同步单元,用于根据所述获取的第一次数值和所述第二次数值,计算所述第一次数值和所述第二次数值的次数差值,所述次数差值用于实现述动态口令保护程序与所述动态口令生成装置的次数同步。19、如权利要求12所述的系统,其特征在于,所述输出模块具体包括以下任一单元或其中组合-第一输出单元,用于以显示的方式将生成模块生成的认证口令输出;第二输出单元,用于以发声的方式将生成模块生成的认证口令输出;第三输出单元,用于以震动的方式将生成模块生成的认证口令输出;第四输出单元,用于以适用于用户触摸的方式将生成模块生成的认证口令输出。20、如权利要求13所述的系统,其特征在于,所述计算机还包括获取模块,所述获取模块,用于当所述动态口令保护程序接收所述用户输入的认证口令后,获取在所述BIOS的预设位置或所述开机硬盘的预设位置中预存的与所述动态口令生成装置对应的动态口令生成算法。21、如权利要求16所述的系统,其特征在于,所述计算机还包括次数递增模块,用于当动态口令开机保护程序生成验证口令序列后,所述动态口令开机保护程序执行自身的次数递增加1;相应地,所述动态口令生成装置还包括次数递增模块,用于当所述动态口令生成装置的生成模块生成所述认证口令后,所述动态口令生成装置执行自身的次数递增加1。全文摘要本发明公开了一种实现开机保护的方法和系统,属于信息安全领域。方法包括计算机上电,加载并执行动态口令保护程序;动态口令保护程序接收用户输入的认证口令,认证口令为用户通过向动态口令生成装置发送动态口令生成命令获取,当动态口令生成装置根据用户使用的动态口令生成装置的当前次数、动态口令生成算法生成认证口令;动态口令保护程序判断认证口令有效,加载计算机的开机程序。系统包括计算机和动态口令生成装置。通过采用了动态密码技术,提高了系统的安全等级;并且安全令牌无需和主机相连接,节省了研发投资和系统的稳定性;降低了对用户计算机机器配置的需求;由于动态口令不需要用户去记忆口令,增加了系统的易用性。文档编号G06F9/445GK101377803SQ200810223249公开日2009年3月4日申请日期2008年9月28日优先权日2008年9月28日发明者于华章,舟陆申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1