專利名稱:一種實現開機保護的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及信息安全領域,特別涉及一種實現開機保護的方法和系統(tǒng)。
背景技術:
在計算機應用領域,計算機的開機保護過程或客戶端訪問遠程服務器的過程中,例如, 在普通的開機模式下,當用戶啟動計算機時,常用的開機保護方法是通過要求用戶輸入密碼 來確認使用者的身份是否合法。只要用戶能夠正確輸入密碼,計算機(或遠程服務器)就認 為他是合法用戶,允許其進行登錄訪問。通常,每個用戶的密碼是由該用戶自己設定的,理 論上只有自己本人才知道,因此只要能夠正確輸入該密碼,計算機就認為他就是本機的合法 用戶。
并且,計算機只能識別用戶的數字身份,所有對用戶的授權也是針對用戶數字身份的授 權,而現實世界是一個真實的物理世界,每個人都擁有獨一無二的物理身份。如何保證以數 字身份進行操作的操作者就是這個數字身份合法擁有者,也就是說保證操作者的物理身份與 數字身份相對應,就成為一個很重要的問題。
發(fā)明人在實現本發(fā)明的過程中,經過分析后發(fā)現現有技術至少存在以下缺點和不足 一方面,上述提到的用戶名/密碼方式下,由于許多用戶為了防止忘記密碼,經常采用諸 如自己或家人的生日、電話號碼等作為密碼,這些有意義的字符串容易被他人猜測到;或者 采用把密碼抄在一個自己認為安全的地方,這也存在著安全隱患,極易造成密碼泄露;并且, 當非法用戶利用獲取的密碼實現登錄后,將硬盤移植到沒有密碼的計算機中,便可以更換其 中的內容,實現系統(tǒng)的正常啟動。因此,上述用戶名/密碼方式是一種具有安全隱患的身份認 證方式;
另一方面,上述用戶名/密碼方式屬于靜態(tài)密碼的認證方式,但在具體應用過程中,靜態(tài) 密碼認證方式存在著許多不安全因素,極易造成密碼泄露而導致一系列非法登錄。因此靜態(tài) 密碼認證方式是一種極具安全隱患的身份認證方式;
綜上所述,現有技術中計算機開機保護存在安全隱患,容易造成密碼泄露;操作者的物 理身份與數字身份的綁定沒有保證。
發(fā)明內容
鑒于現有技術存在的缺點和不足,本發(fā)明提供了一種實現開機保護的方法和系統(tǒng),能夠 提高開機過程中安全性和可靠性,并且具有使用方便、應用范圍廣等特點,所述技術方案如 下
一方面,提供了一種實現開機保護的方法,所述方法包括 計算機上電,加載并執(zhí)行動態(tài)口令保護程序;
所述動態(tài)口令保護程序接收用戶輸入的認證口令,其中,所述認證口令為所述用戶通過 向動態(tài)口令生成裝置發(fā)送動態(tài)口令生成命令獲取,當所述動態(tài)口令生成裝置收到所述用戶的 動態(tài)口令生成命令,根據所述動態(tài)口令生成裝置的當前時間、動態(tài)口令生成算法生成所述認 證口令;
所述動態(tài)口令保護程序判斷所述認證口令是否有效,如果是,則加載所述計算機的開機 程序,否則,所述動態(tài)口令保護程序不加載所述計算機的開機程序。 其中,所述動態(tài)口令保護程序位于BIOS中或主引導記錄中,
相應地,所述方法還包括若所述動態(tài)口令保護程序位于所述BIOS中,則通過所述計算
機的主板開發(fā)工具將所述動態(tài)口令保護程序寫入所述BIOS的預設位置;
相應地,所述方法還包括若所述動態(tài)口令保護程序位于所述主引導記錄中,則通過所
述計算機的開發(fā)工具將所述動態(tài)口令保護程序寫入所述計算機開機硬盤的主引導記錄的位
置,并保留分區(qū)表信息。
其中,所述計算機加載并執(zhí)行所述動態(tài)口令保護程序的步驟,具體包括; 若所述動態(tài)口令保護程序位于所述BIOS中,則在所述BI0S自檢成功后加載并執(zhí)行所述
動態(tài)口令保護程序,將控制權轉交給所述動態(tài)口令保護程序;
若所述動態(tài)口令保護程序位于所述主引導記錄中,則在所述BI0S自檢成功后加載并執(zhí)行
所述主引導記錄中的動態(tài)口令保護程序,將控制權轉交給所述動態(tài)口令保護程序。 其中,所述計算機開機硬盤的主引導記錄的位置具體為 計算機開機硬盤的0柱面0磁頭1扇區(qū)及所述1扇區(qū)的后續(xù)扇區(qū)。 其中,所述動態(tài)口令保護程序接收用戶輸入的認證口令的步驟,之前還包括-所述動態(tài)口令保護程序提示輸入動態(tài)口令,具體的提示方式包括顯示對話框的方式,或,
字符的方式。
其中,所述動態(tài)口令保護程序判斷所述認證口令是否有效的步驟,包括 所述動態(tài)口令保護程序接收所述用戶輸入的認證口令后,獲取在所述BIOS的預設位置或
所述開機硬盤的預設位置中預存的與所述動態(tài)口令生成裝置對應的動態(tài)口令生成算法;
所述動態(tài)口令保護程序根據所述獲取的動態(tài)口生成證算法,生成驗證窗口,根據所述驗
證窗口,判斷所述認證口令是否在所述驗證窗口范圍內,如果是,則所述認證口令有效;否
則,所述認證口令無效。
其中,所述動態(tài)口令保護程序判斷所述認證口令是否有效的步驟,還包括 所述動態(tài)口令保護程序接收所述用戶信息,所述用戶信息包括賬號信息、用戶的密碼信
息;
所述動態(tài)口令保護程序判斷所述認證口令是否有效的步驟,具體包括
所述動態(tài)口令保護程序收到所述用戶信息后,根據所述在BIOS的預設位置或所述開機硬 盤的預設位置中預存的用戶信息和動態(tài)口令生成裝置的標識的對應關系,獲取與所述用戶信 息對應的動態(tài)口令生成算法;
根據所述獲取的動態(tài)口令生成算法,生成驗證窗口,根據所述驗證窗口,判斷所述認證 口令是否在所述驗證窗口范圍內,如果是,則所述認證口令有效;否則,所述認證口令無效。
進一步地,所述方法還包括設置無效次數的閾值,相應地,
當所述認證口令無效時,判斷所述用戶的無效次數是否超過預設的無效次數的閾值,如 果是,則自動關閉計算機;否則,提示用戶再次輸入認證口令。
其中,所述根據所述動態(tài)口令生成算法,生成驗證窗口的步驟,具體包括
所述動態(tài)口令開機保護程序以所述計算機系統(tǒng)的當前時間值、對所述計算機系統(tǒng)的當前 時間值加/減預設時間段值后得到的數值,作為計算因子,利用所述動態(tài)口令生成算法,生成 驗證口令序列,所述驗證口令序列為所述驗證窗口;
相應地,所述驗證窗口具體為在有效時間范圍內的多個隨機口令。
其中,所述時間段值具體為所述動態(tài)口令開機保護程序和所述驗證口令窗口的更新率的 時間值。
進一步地,所述方法還包括所述動態(tài)口令保護程序判斷所述認證口令是否有效后,還
執(zhí)行如下步驟;
獲取所述動態(tài)口令保護程序在生成驗證窗口時所述計算機系統(tǒng)的當前時間值,并記為第
一時間值;
獲取所述認證口令匹配到所述驗證窗口中數值時所對應的時間因子的值,并記為第二時 間值;
根據所述獲取的第一時間值和所述第二時間值,計算所述第一時間值和所述第二時間值
的時間差值,所述時間差值用于實現述動態(tài)口令保護程序與所述動態(tài)口令生成裝置的時間同步。
另一方面,還提供了一種實現開機保護的系統(tǒng),所述系統(tǒng)包括計算機和動態(tài)口令生成 裝置;所述計算機包括
預處理模塊,用于計算機上電,加載并執(zhí)行動態(tài)口令保護程序;
接收模塊,用于在所述預處理模塊處理后,利用所述動態(tài)口令保護程序接收用戶輸入的 認證口令;
判斷模塊,用于當所述接收模塊接收到所述認證口令后,所述動態(tài)口令保護程序根據所 述認證口令,判斷所述認證口令是否有效;
加載模塊,用于當所述判斷模塊判斷的結果為所述認證口令有效后,所述動態(tài)口令保護 程序加載所述計算機的開機程序;
處理模塊,用于當所述判斷模塊判斷的結果為所述認證口令無效時,所述動態(tài)口令保護 程序通過所述處理模塊不加載所述計算機的開機程序;
所述動態(tài)口令生成裝置包括
接收模塊,用于接收所述用戶的動態(tài)口令生成命令;
生成模塊,用于根據所述接收模塊接收的動態(tài)口令生成命令,根據當前時間、動態(tài)口令 生成算法生成認證口令。
輸出模塊,用于將所述生成模塊生成的認證口令輸出。 其中,所述計算機的預處理模塊具體包括 上電單元,用于給計算機上電;
第一裝入單元,用于當所述上電單元給所述計算機上電后,若所述動態(tài)口令保護程序位 于BIOS中,則通過所述計算機的主板開發(fā)工具將所述動態(tài)口令保護程序寫入所述BIOS的預 設位置;
第二裝入單元,用于當所述上電單元給所述計算機上電后,若所述動態(tài)口令保護程序位 于主引導記錄中,則通過所述計算機的開發(fā)工具將所述動態(tài)口令保護程序寫入所述計算機開 機硬盤的主引導記錄的位置,并保留分區(qū)表信息;
第一加載執(zhí)行單元,用于當所述第一裝入單元將所述動態(tài)口令保護程序寫入所述BIOS的 預設位置后,在所述BIOS自檢成功后加載并執(zhí)行所述動態(tài)口令保護程序,將控制權轉交給所 述動態(tài)口令保護程序;
第二加載執(zhí)行單元,用于當所述第二裝入單元將所述動態(tài)口令保護程序寫入所述計算機 開機硬盤的主引導記錄的位置,并保留分區(qū)表信息后,在所述BIOS自檢成功后加載并執(zhí)行所 述主引導記錄中的動態(tài)口令保護程序,將控制權轉交給所述動態(tài)口令保護程序。 進一步地,所述計算機還包括提示模塊,用于提示用戶輸入用戶信息; 相應地,所述計算機的接收模塊還用于接收所述用戶信息,所述用戶信息包括賬號信息、 用戶的密碼信息; 相應地,
所述計算機的判斷模塊具體包括-
獲取單元,用于當所述動態(tài)口令保護程序驗證所述用戶信息通過后,根據所述在BIOS的 預設位置或所述開機硬盤的預設位置中預存的用戶信息和動態(tài)口令生成裝置的標識的對應關 系,獲取與所述用戶信息對應的動態(tài)口令生成算法;
生成單元,用于根據所述獲取單元獲取的動態(tài)口令生成算法,生成驗證窗口;
驗證單元,用于根據所述生成單元生成的驗證窗口,判斷所述認證口令是否在所述驗證 窗口范圍內,如果是,則所述認證口令有效;否則,所述認證口令無效。
進一步地,所述計算機的判斷模塊還包括設置單元,
所述設置單元,用于設置無效次數的閾值,相應地,所述計算機的判斷模塊還包括 處理單元,用于當所述驗證單元驗證所述認證口令無效時,判斷所述用戶的無效次數是
否超過預設的無效次數的閾值,如果是,則自動關閉計算機;否則,提示所述用戶再次輸入
認證口令。
其中,所述計算機的判斷模塊中的生成單元具體用于根據所述動態(tài)口令開機保護程序以 所述計算機系統(tǒng)的當前時間值、對所述計算機系統(tǒng)的當前時間值加/減預設時間段值后得到的 數值,作為計算因子,利用所述動態(tài)口令生成算法,生成驗證口令序列,所述驗證口令序列 為所述驗證窗口;所述驗證窗口具體為在有效時間范圍內的多個隨機口令。
進一步地,所述計算機還包括
同步模塊,用于實現所述動態(tài)口令保護程序與所述動態(tài)口令生成裝置的時間同步。 其中,所述同步模塊具體包括
當前時間值獲取單元,用于獲取所述動態(tài)口令保護程序在生成驗證窗口時,所述計算機 的當前時間,并記為第一時間值;
匹配時間值獲取單元,用于獲取所述認證口令匹配到所述驗證窗口中數值時所對應的時 間因子的值,并記為第二時間值;
同步單元,用于根據所述當前時間值獲取單元獲取的第一時間值和所述匹配時間值獲取
單元獲取的第二時間值,獲取所述第一時間值和所述第二時間值的時間差值,所述時間差值
用于實現述動態(tài)口令保護程序與所述動態(tài)口令生成裝置的時間同步。 其中,所述輸出模塊具體包括以下任一單元或其中組合-第一輸出單元,用于以顯示的方式將生成模塊生成的認證口令輸出;
第二輸出單元,用于以發(fā)聲的方式將生成模塊生成的認證口令輸出; 第三輸出單元,用于以震動的方式將生成模塊生成的認證口令輸出; 第四輸出單元,用于以適用于用戶觸摸的方式將生成模塊生成的認證口令輸出。
其中,所述計算機還包括獲取模塊,
所述獲取模塊,用于當所述動態(tài)口令保護程序接收所述用戶輸入的認證口令后,獲取在 所述BIOS的預設位置或所述開機硬盤的預設位置中預存的與所述動態(tài)口令生成裝置對應的 動態(tài)口令生成算法。
本發(fā)明提供的技術方案的有益效果是
通過采用了動態(tài)密碼技術,提高了系統(tǒng)的安全等級;并且安全令牌無需和主機相連接, 節(jié)省了研發(fā)投資和系統(tǒng)的穩(wěn)定性;降低了對用戶計算機機器配置的需求;由于動態(tài)口令不需 要用戶去記憶口令,從而解決了用戶需要強制記憶密碼的煩瑣性,增加了系統(tǒng)的易用性。
圖1是本發(fā)明實施例1提供的實現開機保護的方法的流程示意圖2是本發(fā)明實施例1提供的實現同步的示意圖3是本發(fā)明實施例2提供的實現開機保護的系統(tǒng)示意圖4是本發(fā)明實施例2提供的實現開機保護的系統(tǒng)的詳細示意圖。
具體實施例方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進 一步地詳細描述。
為了提高開機過程中的安全性和可靠性,本發(fā)明提供了一種實現開機保護的方法,該方 法基于安全令牌,利用安全令牌的動態(tài)密碼認證實現,具體內容如下計算機上電,計算機 加載并執(zhí)行動態(tài)口令保護程序;計算機將控制權轉交給動態(tài)口令保護程序;動態(tài)口令保護程 序接收用戶輸入的認證口令,其中,認證口令為用戶通過向動態(tài)口令生成裝置發(fā)送動態(tài)口令 生成命令獲取,當動態(tài)口令生成裝置收到用戶的動態(tài)口令生成命令,根據動態(tài)口令生成裝置 的當前時間、動態(tài)口令生成算法生成認證口令;動態(tài)口令保護程序判斷認證口令是否有效, 如果是,則加載計算機的開機程序,否則,動態(tài)口令保護程序不加載計算機的開機程序。該 方法具有使用方便、應用范圍廣等特點,參見如下實施例對本發(fā)明實施例提供的方法進行說明。
實施例1
參見圖1,本發(fā)明實施例提供了一種實現開機保護的方法,具體內容如下-步驟101:計算機上電,BIOS自檢;
在本實施例中,動態(tài)口令開機保護程序可以置于BIOS程序中,作為BIOS程序的一部分, 也可以位于計算機開機硬盤的主引導記錄中。其中,
若動態(tài)口令保護程序位于BIOS中,則通過計算機的主板開發(fā)工具將動態(tài)口令保護程序寫 入BI0S的預設位置;
若動態(tài)口令保護程序位于主引導記錄中,則通過計算機的開發(fā)工具將動態(tài)口令保護程序 寫入計算機開機硬盤的主引導記錄的位置,并保留分區(qū)表信息,例如,開機硬盤的0柱面0 磁頭1扇區(qū)及其后續(xù)若干扇區(qū)等。
步驟102、 BIOS自檢成功后加載并執(zhí)行動態(tài)口令開機保護程序,將計算機系統(tǒng)的控制權 轉移給動態(tài)口令開機保護程序;
在本實施例中,BIOS程序包括自檢查程序和動態(tài)口令開機保護程序,自檢查程序首先檢 査CPU, 一切正常都是建立在CPU正常的基礎上之后將檢查Key Board控制芯片、第一個 16KB的RAM。時/計數器8253和DMA控制器、中斷控制器8259A和顯示器、軟盤和硬盤 是否有提示以及打印適配設備和異步通信設備,若一切檢査無誤,則加載動態(tài)口令開機保護 程序。
其中,若動態(tài)口令保護程序位于BI0S中,則在BI0S自檢成功后加載并執(zhí)行動態(tài)口令保
護程序,將控制權轉交給動態(tài)口令保護程序;
若動態(tài)口令保護程序位于主引導記錄程序中,則在BI0S自檢成功后加載并執(zhí)行主引導記
錄中的動態(tài)口令保護程序,將控制權轉交給動態(tài)口令保護程序。
本發(fā)明實施例為了便于說明,以動態(tài)口令開機保護程序置于BIOS程序中為例進行說明。 步驟103、動態(tài)口令開機保護程序初始化,加載動態(tài)口令的程序配置; 步驟104、動態(tài)口令開機保護程序初始化后,顯示輸入對話框,提示用戶輸入認證信息; 其中,當動態(tài)口令開機保護程序初始化后,可以采用以顯示對話框的形式提示用戶輸入
認證信息,或以發(fā)聲的形式、或字符的形式提示用戶輸入認證信息,本發(fā)明實施例不限制具 體所采用的提示方式和方法。
步驟105、用戶向動態(tài)口令生成裝置發(fā)送動態(tài)口令生成命令;
其中,該步驟中用戶在向動態(tài)口令生成裝置發(fā)送動態(tài)口令生成命令時,具體通過按鈕觸 發(fā)的形式,或,指紋掃描的形式,或聲控開關的形式,或人體體溫感應的方式,或壓力感應 的方式,或光電感應的方式等,實現向動態(tài)口令生成裝置發(fā)送動態(tài)口令生成命令的目的,本 發(fā)明實施例不限制具體所采用的實現方式和方法。
步驟106、動態(tài)口令生成裝置內部以當前時間為計算因子,利用HMAC-SHA1算法生成認 證口令,并輸出給用戶;
其中,動態(tài)口令生成裝置收到用戶發(fā)送的動態(tài)口令生成命令后,以當前時間為計算因子, 利用優(yōu)選的HMAC-SHA1算法生成認證口令,并輸出給用戶;其中該HMAC-SHA1算法為優(yōu)選算 法,還可以采用其他任意一種可以生成認證口令的算法程序,如hmac—sha256算法, hma—sha512算法,hmac—md5算法。
其中,本步驟中在利用HMAC-SHA1算法生成認證口令時,基于時間的 0TP(0ne-Time password, —次有效的動態(tài)密碼)產生方法步驟如下
1. 獲取當前時間(Tl)相對于基本時間(T0,比如1970-01-01 00:00:00)的秒數的 差值(AT );
2. 計算T = AT/X ( X為預設的一個時間間隔,比如30秒則,X=30);
3. 獲取令牌的種子K;
4. 計算出一個摘要值D = HMAC-SHA1 (K,T);
5. 取摘要D的最后一字節(jié)的高四位為索引idx;
6. R = (D[idx] & 0x7F) <〈 24) + (D[idx+l] <〈 16) + (D[idx+2]《8) + (D[idx+3]);
7. 獲取OTP = R mod (10 '6);
其中,本發(fā)明實施例所涉及的OTP技術是指用戶的密碼按照時間不斷動態(tài)變化,每個密 碼只使用一次。相應地,動態(tài)密碼認證方式一般采用一種稱之為安全令牌的專用硬件(安全 令牌也可以是軟件形式的,如手機的java程序),它內置于運行專門密碼算法的密碼生成芯 片,根據當前時間生成當前密碼并輸出。
其中,當該動態(tài)口令生成裝置將生成的動態(tài)口令輸出時,可以采用如下方式實現 以顯示的方式將認證口令輸出;或,以發(fā)聲的方式將認證口令輸出;或;以震動的方式 將認證口令輸出;或,以適用于用戶觸摸的方式將認證口令輸出等,本發(fā)明實施例不限制該
動態(tài)口令輸出的具體方式。
步驟107、用戶將認證口令、用戶賬號輸入到計算機的提示對話框中,計算機中的動態(tài) 口令開機保護程序獲取上述認證口令;
其中,本步驟在具體實現時,可以根據具體的需要設置該計算機的提示對話框,用于提 供給用戶輸入認證口令,進一步,參見表1,該提示對話框還可以包括常規(guī)的用戶賬號、用 戶密碼、動態(tài)口令生成裝置序列號等提示信息。
表l
用戶賬號feitian
用戶密碼2008feitian
動態(tài)口令生成裝置序列號123456789
認證口令abcdl23
如表1所示,當該提示對話框還可以包括常規(guī)的用戶賬號、用戶密碼、動態(tài)口令生成裝 置序列號等提示信息時,計算機需要驗證用戶賬號、用戶密碼、動態(tài)口令生成裝置序列號全 部通過后,獲取認證口令。本實施例為了便于說明,以提示用戶輸入用戶賬號、認證口令為 例進行說明。
步驟108:動態(tài)口令開機保護程序以獲取的用戶賬號為索引條件,查找到計算機系統(tǒng)內
部存儲的與該用戶賬號綁定的動態(tài)口令生成裝置的算法程序,即HMAC-SHA1算法程序,以系 統(tǒng)的當前時間為計算因子,利用該算法程序生成生驗證口令窗口;
其中,在本實施例步驟108中,動態(tài)口令生成裝置與用戶賬號的對應關系預先存儲在BI0S
的指定位置。
步驟109、動態(tài)口令開機保護程序通過驗證口令窗口對認證口令進行驗證,判斷認證口 令是否有效,如果有效,則執(zhí)行步驟110;否則,執(zhí)行步驟lll;
其中,本步驟中動態(tài)口令開機保護程序通過驗證口令窗口對認證口令進行驗證時,具體
內容如下
由于動態(tài)口令生成裝置的時鐘頻率與計算機系統(tǒng)的時鐘頻率同歩,優(yōu)選地,在動態(tài)口令 生成裝置內部每30秒產生一個6位的認證口令,動態(tài)口令開機保護程序每隔30秒生成一個 驗證口令值。
為了確保驗證的準確性和可靠性,本實施例中的驗證口令窗口是以動態(tài)口令開機保護程 序為計算因子,利用HMAC-SHA1算法生成5個驗證口令值,只要認證口令和動態(tài)口令開機 保護程序生成的5個驗證口令值中的一個值相同,則認為該認證口令有效,否則無效,即當認
證口令在驗證口令窗口范圍時,則認為該認證口令有效,否則,該認證口令無效。
步驟110、動態(tài)口令開機保護程序加載系統(tǒng)的后續(xù)開機程序,將系統(tǒng)控制權轉交給系統(tǒng) 開機程序,該計算機系統(tǒng)的開機程序將系統(tǒng)的控制權轉交給轉入了內存地址的操作系統(tǒng)或操 作程序。
步驟111、認證口令無效,動態(tài)口令開機保護程序判斷無效次數是否超過預設值,若超 過預設值,則執(zhí)行步驟U2,否則返回步驟104;
其中,本步驟中通過設定判斷無效次數是否超過預設值(或稱閾值)的處理動作,進一 步地充分考慮到用戶的實際使用情況,確保了本發(fā)明實施例提供的方案的靈活性。
步驟112:自動關閉計算機。
綜上,本發(fā)明實施例提供的實現開機保護的方法,進一步地,動態(tài)口令保護程序還會執(zhí) 行與動態(tài)口令生成裝置進行時間同步的操作,從而實現盡量減少驗證誤差,提高開機保護方 法的準確度,其中,參見步驟109,動態(tài)口令保護程序與動態(tài)口令生成裝置執(zhí)行時間同步的 步驟,具體包括
獲取動態(tài)口令保護程序在生成驗證窗口時,計算機的當前時間值(為了便于說明,定義 該獲取的計算機的當前時間值為第一時間值);
獲取認證口令匹配到驗證窗口中數值時,計算機的當前時間值(為了便于說明,定義該
獲取的計算機的當前時間值為計算機的第二時間值);
根據當前時間值獲取單元獲取的第一時間值和匹配時間值獲取單元獲取的第二時間值, 獲取第一時間值和第二時間值的時間差值,
其中,參見圖2,如全文所述,驗證窗口生成時,會以計算機的第一時間值(假設丁=12: 00: 30)、以及對該第一時間值加/減N秒(本實施例以60秒為例)、加/減M秒(本實施例以30 秒為例)后的時間值為計算因子,假設,如圖2所示,認證口令匹配到對該第一時間值加30 秒的時間值(IM2: 00; 30),則第一時間值(假設T-12: 00: 00)和該第二時間值(T=12: 00: 30)的差值30秒,即為待獲取的時間差值,該時間差值用于實現動態(tài)口令保護程序與動
態(tài)口令生成裝置的時間同步,計算機的動態(tài)口令保護程序可以根據該時間差值有效抑制驗證 窗口的漂移問題,從而實現盡量減少驗證誤差,提高開機保護方法的準確度。
進一步地,本領域技術人員可以獲知,本發(fā)明實施例提供的方法還適用于當計算機保存
有與動態(tài)口令生成裝置對應的動態(tài)口令生成算法的情況,其中,在計算機的BIOS的預設位置 或開機硬盤的預設位置中預存有與動態(tài)口令生成裝置對應的動態(tài)口令生成算法。相應地,在 上述計算機的動態(tài)口令保護程序判斷收到的認證口令是否有效的步驟之前還包括- 當動態(tài)口令保護程序接收用戶輸入的認證口令后,直接獲取在BIOS的預設位置或開機硬 盤的預設位置中預存的與動態(tài)口令生成裝置對應的動態(tài)口令生成算法;
相應地,計算機的動態(tài)口令保護程序判斷收到的認證口令是否有效的步驟具體包括動 態(tài)口令保護程序根據獲取的動態(tài)口生成算法,生成驗證窗口,根據驗證窗口,判斷認證口令 是否在驗證窗口范圍,如果是,則認證口令有效;否則,認證口令無效。g卩,采用本發(fā)明實 施例提供的方法,當需要實現開機保護時,用戶只需要向與該計算機對應的動態(tài)口令生成裝 置獲取該動態(tài)口令生成裝置生成的動態(tài)認證口令,然后將該認證口令輸入到計算機的開機保 護程序中,開機保護程序利用該認證口令直接進行驗證。綜上進一步地增加了本發(fā)明實施例 提供的方法的靈活性和整個技術方案的完整性。
綜上所述,本發(fā)明實施例提供了一種實現開機保護的方法,通過采用了動態(tài)密碼技術, 提高了系統(tǒng)的安全等級;并且安全令牌無需和主機相連接,節(jié)省了研發(fā)投資和系統(tǒng)的穩(wěn)定性; 降低了對用戶計算機機器配置的需求;由于動態(tài)口令不需要用戶去記憶口令,從而解決了用 戶需要強制記憶密碼的煩瑣性,增加了系統(tǒng)的易用性。
實施例2
參見圖2,本發(fā)明實施例提供了一種實現開機保護的系統(tǒng),該系統(tǒng)包括計算機和動態(tài) 口令生成裝置;計算機包括預處理模塊、接收模塊、判斷模塊、加載模塊和處理模塊;動 態(tài)口令生成裝置包括接收模塊和生成模塊;其中,
在計算機中,
預處理模塊,用于計算機上電,加載并執(zhí)行動態(tài)口令保護程序;
接收模塊,用于在預處理模塊處理后,利用動態(tài)口令保護程序接收用戶輸入的認證口令; 判斷模塊,用于當接收模塊接收到認證口令后,動態(tài)口令保護程序判斷該認證口令是否 有效;
加載模塊,用于當判斷模塊判斷的結果為認證口令有效后,動態(tài)口令保護程序加載計算 機的開機程序;
處理模塊,用于當判斷模塊判斷的結果為認證口令無效時,動態(tài)口令保護程序通過處理 模塊不加載計算機的開機程序; 動態(tài)口令生成裝置包括
接收模塊,用于接收用戶的動態(tài)口令生成命令;
生成模塊,用于根據接收模塊接收的動態(tài)口令生成命令,根據當前時間、動態(tài)口令生成
算法生成認證口令。
輸出模塊,用于將生成模塊生成的認證口令輸出。 其中,計算機的預處理模塊具體包括 上電單元,用于給計算機上電;
第一裝入單元,用于當上電單元給計算機上電后,若動態(tài)口令保護程序位于BIOS中,則 通過計算機的主板開發(fā)工具將動態(tài)口令保護程序寫入BIOS的預設位置;
第二裝入單元,用于當上電單元給計算機上電后,若動態(tài)口令保護程序位于主引導記錄 中,通過計算機的開發(fā)工具將動態(tài)口令保護程序寫入計算機開機硬盤的主引導記錄的位置, 并保留分區(qū)表信息;
第一加載執(zhí)行單元,用于當第一裝入單元將動態(tài)口令保護程序寫入BIOS的預設位置后, 在BI0S自檢成功后加載并執(zhí)行動態(tài)口令保護程序,將控制權轉交給動態(tài)口令保護程序;
第二加載執(zhí)行單元,用于當第二裝入單元將動態(tài)口令保護程序寫入計算機開機硬盤的主 引導記錄的位置,并保留分區(qū)表信息后,則在BI0S自檢成功后加載并執(zhí)行主引導記錄中的動 態(tài)口令保護程序,將控制權轉交給動態(tài)口令保護程序。
進一步地,計算機還包括提示模塊,用于提示用戶輸入用戶信息;
相應地,計算機的接收模塊還用于接收用戶信息,用戶信息包括賬號信息、用戶的密碼
{曰息;
相應地,
計算機的判斷模塊具體包括-
獲取單元,用于當動態(tài)口令保護程序驗證用戶信息通過后,根據在BIOS的預設位置或開
機硬盤的預設位置中預存的用戶信息和動態(tài)口令生成裝置的標識的對應關系,獲取與用戶信
息對應的動態(tài)口令生成算法;
生成單元,用于根據獲取單元獲取的動態(tài)口令生成算法,生成驗證窗口;
驗證單元,用于根據生成單元生成的驗證窗口,判斷認證口令是否在驗證窗口范圍,如
果是,則認證口令有效;否則,認證口令無效。
其中,進一步地,計算機的判斷模塊還包括設置單元,
設置單元,用于設置無效次數的閾值,相應地,計算機的判斷模塊還包括
處理單元,用于當驗證單元驗證認證口令無效時,判斷用戶的無效次數是否超過預設的
無效次數的閾值,如果是,則自動關閉計算機;否則,提示用戶再次輸入認證口令。
其中,計算機的判斷模塊中的生成單元具體用于根據動態(tài)口令開機保護程序以計算機系
統(tǒng)的當前時間值、對計算機系統(tǒng)的當前時間值加/減預設時間段值后得到的數值,作為計算因 子,利用動態(tài)口令生成算法,生成驗證口令序列,驗證口令序列為驗證窗口;驗證窗口具體 為在有效時間范圍內的多個隨機口令。 進一步地,計算機還包括
同步模塊,用于實現動態(tài)口令保護程序與動態(tài)口令生成裝置的時間同步。其中,同步模 塊具體包括
當前時間值獲取單元,用于獲取動態(tài)口令保護程序在生成驗證窗口時,計算機的當前時 間,并記為第一時間值;
匹配時間值獲取單元,用于獲取認證口令匹配到驗證窗口中數值時所對應的時間因子的 值,并記為第二時間值;
同步單元,用于根據當前時間值獲取單元獲取的第一時間值和匹配時間值獲取單元獲取 的第二時間值,獲取第一時間值和第二時間值的時間差值,該時間差值用于實現述動態(tài)口令 保護程序與動態(tài)口令生成裝置的時間同步。
其中,上述接收模塊在接收用戶的動態(tài)口令生成命令時,具體可以通過按鈕觸發(fā)的形式, 或,指紋掃描的形式,或聲控開關的形式,或人體體溫感應的方式,或壓力感應的方式,或 光電感應的方式等,實現用戶向動態(tài)口令生成裝置發(fā)送動態(tài)口令生成命令的目的,本發(fā)明實 施例不限制具體所采用的實現方式和方法。
其中,上述輸出模塊在將上述生成模塊生成的認證口令輸出時,輸出模塊具體包括以下 任一單元或其中組合
第一輸出單元,用于以顯示的方式將生成模塊生成的認證口令輸出;
第二輸出單元,用于以發(fā)聲的方式將生成模塊生成的認證口令輸出;
第三輸出單元,用于以震動的方式將生成模塊生成的認證口令輸出;
第四輸出單元,用于以適用于用戶觸摸的方式將生成模塊生成的認證口令輸出。
其中,本發(fā)明實施例提供的計算機還包括獲取模塊,
獲取模塊,用于當動態(tài)口令保護程序接收用戶輸入的認證口令后,獲取在BI0S的預設位 置或開機硬盤的預設位置中預存的與動態(tài)口令生成裝置對應的動態(tài)口令生成算法。 其中,本發(fā)明實施例提供的動態(tài)口令生成裝置具體可以為安全令牌。
綜上所述,本發(fā)明實施例提供了一種實現開機保護的系統(tǒng),通過釆用了動態(tài)密碼技術, 提高了系統(tǒng)的安全等級;并且安全令牌無需和主機相連接,節(jié)省了研發(fā)投資和系統(tǒng)的穩(wěn)定性; 降低了對用戶計算機機器配置的需求;由于動態(tài)口令不需要用戶去記憶口令,從而解決了用
戶需要強制記憶密碼的煩瑣性,增加了系統(tǒng)的易用性。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之 內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1、一種實現開機保護的方法,其特征在于,所述方法包括計算機上電,加載并執(zhí)行動態(tài)口令保護程序;所述動態(tài)口令保護程序接收用戶輸入的認證口令,其中,所述認證口令為所述用戶通過向動態(tài)口令生成裝置發(fā)送動態(tài)口令生成命令獲取,當所述動態(tài)口令生成裝置收到所述用戶的動態(tài)口令生成命令,根據所述動態(tài)口令生成裝置的當前時間、動態(tài)口令生成算法生成所述認證口令;所述動態(tài)口令保護程序判斷所述認證口令是否有效,如果是,則加載所述計算機的開機程序,否則,所述動態(tài)口令保護程序不加載所述計算機的開機程序。
2、 如權利要求l所述的方法,其特征在于,所述動態(tài)口令保護程序位于BIOS中或主引 導記錄中,相應地,所述方法還包括若所述動態(tài)口令保護程序位于BIOS中,則通過所述計算機的 主板開發(fā)工具將所述動態(tài)口令保護程序寫入所述BIOS的預設位置;相應地,所述方法還包括若所述動態(tài)口令保護程序位于主引導記錄中,則通過所述計 算機的開發(fā)工具將所述動態(tài)口令保護程序寫入所述計算機開機硬盤的主引導記錄的位置,并 保留分區(qū)表信息。
3、 如權利要求2所述的方法,其特征在于,所述計算機加載并執(zhí)行動態(tài)口令保護程序的 步驟,具體包括;若所述動態(tài)口令保護程序位于所述BIOS中,則在所述BI0S自檢成功后加載并執(zhí)行所述 動態(tài)口令保護程序,將控制權轉交給所述動態(tài)口令保護程序;若所述動態(tài)口令保護程序位于所述主引導記錄中,則在所述BI0S自檢成功后加載并執(zhí)行 所述主引導記錄中的動態(tài)口令保護程序,將控制權轉交給所述動態(tài)口令保護程序。
4、 如權利要求2所述的方法,其特征在于,所述計算機開機硬盤的主引導記錄的位置具 體為-計算機開機硬盤的0柱面0磁頭1扇區(qū)及所述1扇區(qū)的后續(xù)扇區(qū)。
5、 如權利要求l所述的方法,其特征在于,所述動態(tài)口令保護程序接收用戶輸入的認證 口令的步驟,之前還包括所述動態(tài)口令保護程序提示輸入動態(tài)口令,具體的提示方式包括顯示對話框的方式,或, 顯示字符的方式。
6、 如權利要求2所述的方法,其特征在于,所述動態(tài)口令保護程序判斷所述認證口令是 否有效的步驟,包括所述動態(tài)口令保護程序接收所述用戶輸入的認證口令后,獲取在所述BIOS的預設位置或 所述開機硬盤的預設位置中預存的與所述動態(tài)口令生成裝置對應的動態(tài)口令生成算法;所述動態(tài)口令保護程序根據所述獲取的動態(tài)口生成算法,生成驗證窗口,根據所述驗證 窗口,判斷所述認證口令是否在所述驗證窗口范圍,如果是,則所述認證口令有效;否則, 所述認證口令無效。
7、 如權利要求2所述的方法,其特征在于,所述動態(tài)口令保護程序判斷所述認證口令是 否有效的步驟,還包括所述動態(tài)口令保護程序接收所述用戶信息,所述用戶信息包括賬號信息、用戶的密碼信息;所述動態(tài)口令保護程序判斷所述認證口令是否有效的步驟,具體包括-所述動態(tài)口令保護程序收到所述用戶信息后,根據所述在BIOS的預設位置或所述開機硬盤的預設位置中預存的用戶信息和動態(tài)口令生成裝置的標識的對應關系,獲取與所述用戶信息對應的動態(tài)口令生成算法;根據所述獲取的動態(tài)口令生成算法,生成驗證窗口,根據所述驗證窗口,判斷所述認證口令是否在所述驗證窗口范圍內,如果是,則所述認證口令有效;否貝IJ,所述認證口令無效。
8、 如權利要求6或7所述的方法,其特征在于,所述方法還包括設置無效次數的閾值, 相應地,當所述認證口令無效時,判斷所述用戶的無效次數是否超過預設的無效次數的闕值,如 果是,則自動關閉計算機;否則,提示用戶再次輸入認證口令。
9、 如權利要求6或7所述的方法,其特征在于,所述根據所述動態(tài)口令生成算法,生成 驗證窗口的步驟,具體包括所述動態(tài)口令開機保護程序以所述計算機系統(tǒng)的當前時間值、對所述計算機系統(tǒng)的當前 時間值加/減預設時間段值后得到的數值,作為計算因子,利用所述動態(tài)口令生成算法生成驗 證口令序列,所述驗證口令序列為所述驗證窗口;相應地,所述驗證窗口具體為在有效時間范圍內的多個隨機口令。
10、 如權利要求9所述的方法,其特征在于,所述時間段值具體為所述動態(tài)口令開機保 護程序和所述驗證口令窗口的更新率的時間值。
11、 如權利要求6或7所述的方法,其特征在于,所述方法還包括所述動態(tài)口令保護 程序判斷所述認證口令是否有效后,還執(zhí)行如下步驟;獲取所述動態(tài)口令保護程序在生成驗證窗口時所述計算機系統(tǒng)的當前時間值,并記為第 一時間值;獲取所述認證口令匹配到所述驗證窗口中數值時所對應的時間因子的值,并記為第二時 間值;根據所述獲取的第一時間值和所述第二時間值,計算所述第一時間值和所述第二時間值 的時間差值,所述時間差值用于實現所述動態(tài)口令保護程序與所述動態(tài)口令生成裝置的時間 同步。
12、 一種實現開機保護的系統(tǒng),其特征在于,所述系統(tǒng)包括計算機和動態(tài)口令生成裝 置;所述計算機包括預處理模塊,用于計算機上電,加載并執(zhí)行動態(tài)口令保護程序;接收模塊,用于在所述預處理模塊處理后,利用所述動態(tài)口令保護程序接收用戶輸入的 認證口令;判斷模塊,用于當所述接收模塊接收到所述認證口令后,所述動態(tài)口令保護程序根據所 述認證口令,判斷所述認證口令是否有效;加載模塊,用于當所述判斷模塊判斷的結果為所述認證口令有效后,所述動態(tài)口令保護 程序加載所述計算機的開機程序;處理模塊,用于當所述判斷模塊判斷的結果為所述認證口令無效時,所述動態(tài)口令保護 程序通過所述處理模塊不加載所述計算機的開機程序; 所述動態(tài)口令生成裝置包括接收模塊,用于接收所述用戶的動態(tài)口令生成命令;生成模塊,用于根據所述接收模塊接收的動態(tài)口令生成命令,根據當前時間、動態(tài)口令 生成算法生成認證口令。輸出模塊,用于將所述生成模塊生成的認證口令輸出。
13、 如權利要求12所述的系統(tǒng),其特征在于,所述計算機的預處理模塊具體包括-上電單元,用于給計算機上電;第一裝入單元,用于當所述上電單元給所述計算機上電后,若所述動態(tài)口令保護程序位 于BIOS中,則通過所述計算機的主板開發(fā)工具將所述動態(tài)口令保護程序寫入所述BIOS的預 設位置;第二裝入單元,用于當所述上電單元給所述計算機上電后,若所述動態(tài)口令保護程序位 于主引導記錄中,則通過所述計算機的開發(fā)工具將所述動態(tài)口令保護程序寫入所述計算機開 機硬盤的主引導記錄的位置,并保留分區(qū)表信息;第一加載執(zhí)行單元,用于當所述第一裝入單元將所述動態(tài)口令保護程序寫入所述BIOS的 預設位置后,在所述BI0S自檢成功后加載并執(zhí)行所述動態(tài)口令保護程序,將控制權轉交給所 述動態(tài)口令保護程序;第二加載執(zhí)行單元,用于當所述第二裝入單元將所述動態(tài)口令保護程序寫入所述計算機 開機硬盤的主引導記錄的位置,并保留分區(qū)表信息后,在所述BI0S自檢成功后加載并執(zhí)行所 述主引導記錄中的動態(tài)口令保護程序,將控制權轉交給所述動態(tài)口令保護程序。
14、 如權利要求12所述的系統(tǒng),其特征在于, 所述計算機還包括提示模塊,用于提示用戶輸入用戶信息;相應地,所述計算機的接收模塊還用于接收所述用戶信息,所述用戶信息包括賬號信息、 用戶的密碼信息; 相應地,所述計算機的判斷模塊具體包括獲取單元,用于當所述動態(tài)口令保護程序驗證所述用戶信息通過后,根據在所述BIOS的 預設位置或所述開機硬盤的預設位置中預存的用戶信息和動態(tài)口令生成裝置的標識的對應關 系,獲取與所述用戶信息對應的動態(tài)口令生成算法; 生成單元,用于根據所述獲取單元獲取的動態(tài)口令生成算法,生成驗證窗口; 驗證單元,用于根據所述生成單元生成的驗證窗口,判斷所述認證口令是否在所述驗證 窗口范圍,如果是,則所述認證口令有效;否則,所述認證口令無效。
15、 如權利要求14所述的系統(tǒng),其特征在于,所述計算機的判斷模塊還包括設置單元, 所述設置單元,用于設置無效次數的閾值,相應地,所述計算機的判斷模塊還包括 處理單元,用于當所述驗證單元驗證所述認證口令無效時,判斷所述用戶的無效次數是否超過預設的無效次數的閾值,如果是,則自動關閉計算機;否則,提示所述用戶再次輸入 認證口令。
16、 如權利要求14所述的系統(tǒng),其特征在于,所述計算機的判斷模塊中的生成單元具體 用于根據所述動態(tài)口令開機保護程序以所述計算機系統(tǒng)的當前時間值、對所述計算機系統(tǒng)的 當前時間值加/減預設時間段值后得到的數值,作為計算因子,利用所述動態(tài)口令生成算法生 成驗證口令序列,所述驗證口令序列為所述驗證窗口;所述驗證窗口具體為在有效時間范圍 內的多個隨機口令。
17、 如權利要求14所述的系統(tǒng),其特征在于,所述計算機還包括同步模塊,用于實現所述動態(tài)口令保護程序與所述動態(tài)口令生成裝置的時間同步。
18、 如權利要求17所述的系統(tǒng),其特征在于,所述同步模塊具體包括 當前時間值獲取單元,用于獲取所述動態(tài)口令保護程序在生成驗證窗口時,所述計算機的當前時間,并記為第一時間值;匹配時間值獲取單元,用于獲取所述認證口令匹配到所述驗證窗口中數值時所對應的時 間因子的值,并記為第二時間值;同步單元,用于根據所述當前時間值獲取單元獲取的第一時間值和所述匹配時間值獲取 單元獲取的第二時間值,獲取所述第一時間值和所述第二時間值的時間差值,所述時間差值 用于實現述動態(tài)口令保護程序與所述動態(tài)口令生成裝置的時間同步。
19、如權利要求12所述的系統(tǒng),其特征在于,所述輸出模塊具體包括以下任一單元或其 中組合第一輸出單元,用于以顯示的方式將生成模塊生成的認證口令輸出; 第二輸出單元,用于以發(fā)聲的方式將生成模塊生成的認證口令輸出; 第三輸出單元,用于以震動的方式將生成模塊生成的認證口令輸出; 第四輸出單元,用于以適用于用戶觸摸的方式將生成模塊生成的認證口令輸出。
20、如權利要求13所述的系統(tǒng),其特征在于,所述計算機還包括獲取模塊, 所述獲取模塊,用于當所述動態(tài)口令保護程序接收所述用戶輸入的認證口令后,獲取在所述BIOS的預設位置或所述開機硬盤的預設位置中預存的與所述動態(tài)口令生成裝置對應的動態(tài)口令生成算法。
全文摘要
本發(fā)明公開了一種實現開機保護的方法和系統(tǒng),屬于信息安全領域。方法包括計算機上電,加載并執(zhí)行動態(tài)口令保護程序;動態(tài)口令保護程序接收用戶輸入的認證口令,其中,認證口令為用戶通過向動態(tài)口令生成裝置發(fā)送動態(tài)口令生成命令獲取,動態(tài)口令生成裝置收根據動態(tài)口令生成裝置的當前時間、動態(tài)口令生成算法生成認證口令;動態(tài)口令保護程序判斷認證口令是否有效,如果是,則加載計算機的開機程序。系統(tǒng)包括計算機和動態(tài)口令生成裝置。通過采用了動態(tài)密碼技術,提高了系統(tǒng)的安全等級;并且安全令牌無需和主機相連接,節(jié)省了研發(fā)投資和系統(tǒng)的穩(wěn)定性;降低了對用戶計算機機器配置的需求;由于動態(tài)口令不需要用戶去記憶口令,增加了系統(tǒng)的易用性。
文檔編號G06F9/445GK101377804SQ200810223250
公開日2009年3月4日 申請日期2008年9月28日 優(yōu)先權日2008年9月28日
發(fā)明者于華章, 舟 陸 申請人:北京飛天誠信科技有限公司