一种基于动态口令的计算机安全保护系统及方法

文档序号:6596750阅读:178来源:国知局
专利名称:一种基于动态口令的计算机安全保护系统及方法
技术领域
本发明涉及信息安全身份鉴别技术领域,特别涉及一种基于动态口令的计算机安 全保护系统及方法。
背景技术
用户在使用计算机的过程中,都会接触到BIOS,它在计算机系统中起着非常重要 的作用。BIOS (Basic Input/output System,基本输入输出系统)全称是 ROM-BIOS,是只读 存储器基本输入/输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最 直接的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,通俗地说,BIOS是硬件 与软件程序之间的一个“转换器”或者说是接口(虽然它本身也只是一个程序),负责解决 硬件的即时要求,并按软件对硬件的操作要求具体执行。目前无论是保护BIOS设置的密码,还是主机开机密码,都使用静态密码。一方面静态密码由于长期不变的特点,会导致这个口令在许多情况下泄密。1、用户在输入口令时会被别人偷看或摄像机记录;2、用户的口令一般都具有特征性,例如生日、电话号码等,容易被人猜测和字典 穷举;3、用户的口令长期不变,口令泄密的危险性与日俱增。所以静态口令是容易泄密的,是不安全的。如果仅仅只靠静态口令来保护系统安 全的大门,效果是不安全的。另一方面BIOS的密码设置考虑到用户使用的方便性,出厂的主板的BIOS密码和 开机密码设置默认都为空,这给别有用心的人破解BIOS密码有机可乘。目前有非常多的方法可以破解,而且技术含量非常低,如debug方法,CMOS电池 放电,使用主板的通用密码,跳线短接等。

发明内容
(一)发明目的本发明的目的是提供一种基于动态口令的计算机安全保护系统及方法,以提高计 算机系统的安全性。
发明内容
一种基于动态口令的计算机安全保护系统,其特征在于,包括认证服务端和动态 口令客户端,所述动态口令客户端用于产生动态口令,所述认证服务端包括动态口令输入 单元和动态口令认证单元,所述动态口令输入单元用于接收动态口令客户端产生的动态口 令,所述动态口令认证单元用于存储所述动态口令客户端的唯一序列号和所述动态口令客 户端用于产生动态口令的算法,并根据当前时间序列或事件序列及所述唯一序列号,利用 所述算法产生认证口令与所述动态口令客户端产生的认证口令匹配,从而进行认证。
3
其中,所述动态口令客户端为动态令牌、可产生动态口令的手机或动态口令卡。其中,所述认证服务端包括计算机BIOS系统。其中,所述计算机包括台式机、笔记本电脑、平板电脑、PDA数字设备、工作站和服 务器。一种基于动态口令的计算机安全保护方法,包括以下步骤Sl 动态口令客户端产生动态口令;S2 将动态口令输入到认证服务端的动态口令输入单元;S3:认证服务端的动态口令认证单元根据当前时间序列或事件序列及动态口令 客户端的唯一序列号,并利用与动态口令客户端产生动态口令算法相同的算法产生认证口 令,认证口令若与所述动态口令输入单元输入的动态口令相同则认证成功。其中,所述步骤Sl之前包括步骤SO:将动态口令客户端产生动态口令的算法和动态口令客户端的唯一序列号存储 在认证服务端的动态口令认证单元,且认证服务端默认启用动态口令认证功能。其中,所述步骤SO和Sl之间包括对动态口令客户端触发的步骤,所述触发方式包 括时间触发或事件触发。其中,所述步骤S3之后包括步骤若设置有静态口令,则需要继续输入静态口令。(三)有益效果本发明可以提高计算机系统的安全性,有效防止他人随意修改BIOS设置,以保证 计算机的正常运行,限制他人使用计算机,以保护计算机中的资源。


图1是根据本发明的基于动态口令的计算机安全保护方法流程图。
具体实施例方式本发明提出的基于动态口令的计算机安全保护系统及方法,结合附图和实施例说 明如下。本发明的基于动态口令的计算机安全保护系统,包括认证服务端和动态口令客户 端,所述动态口令客户端用于产生动态口令,所述认证服务端包括动态口令输入单元和动 态口令认证单元,所述动态口令输入单元用于输入动态口令客户端产生的动态口令,所述 动态口令认证单元用于存储动态口令客户端的唯一序列号和产生动态口令的算法,根据当 前时间序列或事件序列及所述唯一序列号,利用所述算法产生认证口令与所述动态口令客 户端产生的认证口令匹配,从而进行认证。其中,所述动态口令客户端为动态令牌、可产生 动态口令的手机或动态口令卡。其中,所述认证服务端为计算机BIOS系统,也可以是需要 身份鉴别的计算机应用系统。具体地,以动态令牌和计算机BIOS系统为例,动态口令客户端之一的动态令牌具 有唯一序列号,包括嵌入动态口令产生算法的单片机、线路板、液晶屏、外壳、电池和晶振。 晶振一般叫做晶体谐振器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削 并镀上电极焊上引线做成。这种晶体有一个很重要的特性,如果给他通电,他就会产生机械振荡,就会产生计数器效果,因而,晶振在电池的驱动下,会产生时间序列,以该时间序列为产生动态口令算法的密钥,令牌会每隔60秒自动产生一个一次性的、随机的及重复概率很 低的口令,或者在单片机的存储器中存储一个整数初始值η ( 一般为0),在事件触发时,如 按下动态令牌的触发按键,以η为产生动态口令算法的密钥,令牌产生一个一次性的、随机 的及重复概率很低的口令,产生口令后,将η加上一个整数步长m ( 一般为1)得到n+m,并用 n+m替换当前单片机的存储器中存储的值,这样每次触发时都会得到不同的数值,从而产生 不同的口令。该口令会显示在液晶屏上,该口令一般为6或8位的数字。将动态口令输入 BIOS系统的动态口令输入单元,BIOS系统的动态口令认证单元为BIOS的ROM内事先烧录 了动态令牌的唯一序列号和动态口令产生算法的存储模块,该算法与动态令牌的动态口令 产生算法相同。动态口令认证单元还存储有事件触发产生动态口令时所需的数值(初始值 为η)和数值增加步长m。由于在BIOS系统的动态口令认证单元中烧录了令牌的唯一序列 号,该令牌就和BIOS进行了绑定。该动态口令认证单元利用所述算法产生与所述动态口令 相同的认证口令进行认证,在认证前BIOS系统和动态令牌都设置成时间触发产生动态口 令模式或事件触发产生动态口令模式,认证原理如下当为时间触发时,BIOS系统的动态口令输入单元接收到输入的动态令牌产生的动 态口令后,动态口令认证单元获取当前系统时间,根据该系统时间和事先烧录的令牌的唯 一序列号,利用与动态令牌的动态口令产生算法相同的算法产生认证口令,将该认证口令 和动态口令输入单元接收到的动态令牌产生的动态口令进行认证。当为事件触发时,BIOS系统的动态口令输入单元接收到输入的动态令牌产生的动 态口令后,动态口令认证单元根据当前存储的数值和事先烧录的令牌的唯一序列号,利用 与动态令牌的动态口令产生算法相同的算法产生认证口令,将该认证口令和动态口令输入 单元接收到的动态令牌产生的动态口令进行认证。动态口令认证单元产生认证口令后将 当前存储的数值加上m,得到新的数值将,该数值存储到动态口令认证单元以替换原来的数 值,以供下次事件触发是产生动态认证口令。由于动态口令产生算法相同,当前时间序列或事件序列相同,且包含有动态令牌 的唯一序列号,因此产生的认证口令与动态口令输入单元接收的动态令牌产生的动态口令 相同,若不同则有以下情况用户输入有误;动态令牌未与计算机的BIOS系统绑定,即BIOS系统动态口令认证单元存储的唯 一序列号有误或未存储该令牌的唯一序列号;事件触发时,动态口令认证单元当前存储的数值不一样;如果令牌连续按下按键,不输入,则客户端和服务端不同步了,需要连续输入两个 动态口令进行同步操作;时间触发时,时间序列不对,即系统时间发生了改变或者令牌的晶振发生漂移,则 动态口令客户端和认证服务端不同步了,此时可以连续输入两个动态口令进行同步操作。在动态口令认证成功后,若系统还设置有静态口令则还需要在动态口令后面继续 输入静态口令。 上述的动态令牌也可以用可产生动态口令的手机和动态口令卡代替。手机上集成 了动态口令产生系统和手机唯一序列号,在屏幕上也能产生动态口令。动态口令卡,是指预 先生成若干个动态口令,印在一定大小的纸片或者卡片上,然后用不透明的、可被刮开的物质覆盖住,用一次刮开一个。每个用户拿到动态口令客户端,可以在相关网站注册信息,以备客户端丢失后厂 商可以确认用户身份。如果计算机的动态口令客户端丢失,可以拨打厂商服务电话,以用户 指定的方式,提供给用户临时密码,同时在今后几天内补发一块新客户端,当然也可以不使 用动态口令而直接使用静态口令或者两者都不使用。开机设置和BIOS设置的区分,即区分 用户和管理员的身份可以通过设置不同的静态口令,设置的策略仍然按照传统方法,只是 由静态口令变为动态口令+静态口令,每次设置的间隔时间为产生动态口令的间隔时间。 从而成为双因素保护,进一步提高系统的安全性。每个动态口令客户端,也跟域、客户的应 用系统,网站、游戏账号等登录鉴别系统进行绑定,让用户一个客户端可以绑定多个帐户, 从而进行多重保护。其中,计算机包括品牌台式机、DIY台式机、笔记本电脑、平板电脑、PDA数字设备、 工作站和服务器等。如图1所示,一种基于动态口令的计算机安全保护方法,包括以下步骤S1 动态 口令客户端产生动态口令;S2 将动态口令输入到认证服务端的动态口令输入单元;S3 认 证服务端的动态口令认证单元产生认证口令进行认证,即认证服务端的动态口令认证单元 根据当前时间序列或事件消息及动态口令客户端的唯一序列号,并利用与动态口令客户端 产生动态口令算法相同的算法产生认证口令,认证口令若与所述动态口令输入单元输入的 动态口令相同则认证成功。在步骤Sl之前还包括步骤SO 将动态口令客户端产生动态口 令的算法和动态口令客户端的唯一序列号存储在认证服务端的动态口令认证单元,且认证 服务端默认启用动态口令,这样即使对认证服务端进行了复位之类的操作,在重新启动认 证服务端时仍然要输入动态口令。如进行取下主板电池等操作后,在进入BIOS或计算机系 统时仍然要输入动态口令。其中,在步骤SO和Sl之间包括对动态口令客户端触发的步骤,所述触发方式包括 时间触发或事件触发,时间触发可在一定的时间间隔内(一般为60秒)产生一个不同的口 令,事件触发为在事件发生时产生一个不同的口令,如按下按键事件发生时,根据动态口令 客户端中的存储器存储的初始值η (—般为0),根据值η产生一个一次性的、随机的及重复 概率很低的口令,产生口令后数值η加上一个整数步长m(—般为1)得到n+m,并用n+m替 换存储器中当前存储的值,这样每次触发时都会得到不同的数值,从而产生不同的口令。在动态口令认证后,若设置有静态口令,则需要继续输入静态口令。其中,产生动态口令的算法包括Oath事件机制,Oath时间机制以及其他能产生动 态口令或称一次性口令(OTP,one time password)。现在我们算法描述如下本发明的算法把时间序列或者事件序列加上唯一序列号,用SHA-256摘要算法算 出一个摘要。再对其进行HMAC-SHA-256消息验证码算法,HMAC需要一个加密用散列函数 (表示为H)和一个密钥K。我们假设H是一个将数据块用一个基本的迭代压缩函数来加密的散列函数。我们 用B来表示数据块的字长。(以上说提到的散列函数的分割数据块字长B = 64),用L来表 示散列函数的输出数据字长(MD5L = 16,SHA-I L = 20)。鉴别密钥K的长度可以是小于 等于数据块字长的任何正整数值。应用程序中使用的密钥长度若是比B大,则首先用使用 散列函数H作用于它,然后用H输出的L长度字符串作为在HMAC中实际使用的密钥。一般情况下,推荐的最小密钥K长度是L个字长。(与H的输出数据长度相等)。 定义两个固定且不同的字符串ipad,0pad( ‘i',’ ο'标志内部与外部)ipad = the byte 0x36 repeated B timesopad = the byte 0x5C repeated B times.计算‘text‘的 HMAC H(K XOR opad, H(K XOR ipad, text))即为以下步骤1、在密钥K后面添加0来创建一个子长为B的字符串(例如,如果K的字长是20 字节,B = 60字节,则K后会加入44个零字节0x00);2、将上一步生成的B字长的字符串K与ipad做异或运算;3、将数据流text填充至第二步的结果字符串中;4、用H作用于第三步生成的数据流;5、将第一步生成的B字长字符串与opad做异或运算;6、再将第四步的结果填充进第五步的结果中;7、用H作用于第六步生成的数据流,输出最终结果;8、进行动态截位,生成Otp。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通 技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有 等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
一种基于动态口令的计算机安全保护系统,其特征在于,包括认证服务端和动态口令客户端,所述动态口令客户端用于产生动态口令,所述认证服务端包括动态口令输入单元和动态口令认证单元,所述动态口令输入单元用于接收动态口令客户端产生的动态口令,所述动态口令认证单元用于存储所述动态口令客户端的唯一序列号和所述动态口令客户端用于产生动态口令的算法,并根据当前时间序列或事件序列及所述唯一序列号,利用所述算法产生认证口令与所述动态口令客户端产生的认证口令匹配,从而进行认证。
2.如权利要求1所述的基于动态口令的计算机安全保护系统,其特征在于,所述动态 口令客户端为动态令牌、可产生动态口令的手机或动态口令卡。
3.如权利要求1或2所述的基于动态口令的计算机安全保护系统,其特征在于,所述认 证服务端包括计算机BIOS系统。
4.如权利要求3所述的基于动态口令的计算机安全保护系统,其特征在于,所述计算 机包括台式机、笔记本电脑、平板电脑、PDA数字设备、工作站和服务器。
5.一种基于动态口令的计算机安全保护方法,其特征在于,包括以下步骤51动态口令客户端产生动态口令;52将动态口令输入到认证服务端的动态口令输入单元;53认证服务端的动态口令认证单元根据当前时间序列或事件序列及动态口令客户端 的唯一序列号,并利用与动态口令客户端产生动态口令算法相同的算法产生认证口令,认 证口令若与所述动态口令输入单元输入的动态口令相同则认证成功。
6.如权利要求5所述的基于动态口令的计算机安全保护方法,其特征在于,所述步骤 S1之前包括步骤SO:将动态口令客户端产生动态口令的算法和动态口令客户端的唯一序列号存储在认 证服务端的动态口令认证单元,且认证服务端默认启用动态口令认证功能。
7.如权利要求6所述的基于动态口令的计算机安全保护方法,其特征在于,所述步骤 SO和S1之间包括对动态口令客户端触发的步骤,所述触发方式包括时间触发或事件触发。
8.如权利要求5-7任一所述的基于动态口令的计算机安全保护方法,其特征在于,所 述步骤S3之后包括步骤若设置有静态口令,则需要继续输入静态口令。
全文摘要
本发明公开了一种基于动态口令的计算机安全保护系统,包括认证服务端和动态口令客户端。本发明还提供了一种基于动态口令的计算机安全保护方法,包括动态口令客户端产生动态口令;将动态口令输入到认证服务端的动态口令输入单元;认证服务端的动态口令认证单元根据当前时间序列或事件序列及动态口令客户端的唯一序列号,并利用与动态口令客户端产生动态口令算法相同的算法产生认证口令,认证口令若与所述动态口令输入单元输入的动态口令相同则认证成功;如果启用静态口令功能,则必须在输入单元的动态口令后面输入静态口令,否则认证结束。本发明提高了计算机系统的安全性。
文档编号G06F21/20GK101800644SQ20101000049
公开日2010年8月11日 申请日期2010年1月11日 优先权日2010年1月11日
发明者尤海, 李敏刚, 洪斌 申请人:上海众烁信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1