一種信息處理方法及電子設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機及嵌入式領(lǐng)域,特別涉及一種信息處理方法及電子設(shè)備。
【背景技術(shù)】
[0002]當前,電子設(shè)備中的EC (Embedded Controller,嵌入式控制器)的固件更新流程大致如下:在所述電子設(shè)備的操作系統(tǒng)下運行一個軟件程序,再在所述軟件程序中通過EC端口給EC發(fā)送更新EC固件的指令來進行EC固件更新。在此過程中,所述電子設(shè)備的CPU處于實模式或保護模式,即處于CPU的ringO級別,其中ringO級別為CPU擁有最高權(quán)限的一個特權(quán)等級。另外,更新EC固件的代碼是寫在該軟件程序中的,其中,該軟件程序為具有以下共性的一類軟件程序:當運行所述軟件程序時,該軟件程序里面的代碼會首先加載至電子設(shè)備的內(nèi)存中。這樣,在EC固件的更新過程中,存在的安全隱患是,在將所述軟件程序的代碼加載到內(nèi)存的過程中,該代碼有可能被惡意程序篡改或截獲,安全性較差。
[0003]因此,可以將更新EC固件的程序和命令放到B1S (Basic Input Output System,基本輸入輸出系統(tǒng))中的 SMI handler (System Management Interrupt handler,系統(tǒng)管理中斷處理程序)中,因為SMM(System Management Mode,系統(tǒng)管理模式)是一個安全的環(huán)境,所以把更新EC固件的程序和命令放到SMM中是比較安全的,其中,SMM只能通過SMI (SystemManagement Interrupt,系統(tǒng)管理中斷)進入。
[0004]但是,SMM只是一個相對安全的環(huán)境。因為在ringO環(huán)境中進行EC固件更新,惡意程序還是可能會篡改或截獲用于更新EC固件的相關(guān)指令,若該指令被篡改,則當EC執(zhí)行該指令對EC固件進行更新數(shù)據(jù)寫入時,就可能會對EC固件內(nèi)的數(shù)據(jù)進行不同程度的破壞。另外,在電子設(shè)備的開機啟動過程中,EC控制著絕大多數(shù)重要信號的時序,若由于惡意軟件而對EC固件造成了不同程度的破壞,可能會導(dǎo)致電子設(shè)備產(chǎn)生故障,例如無法開機等。
[0005]可見,現(xiàn)有技術(shù)中存在因發(fā)送給EC的用于進行EC固件更新的操作指令可能被篡改而導(dǎo)致EC固件的安全程度降低的技術(shù)問題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實施例提供一種信息處理方法,用于解決現(xiàn)有技術(shù)中EC固件的安全性受到威脅的技術(shù)問題。
[0007]—種信息處理方法,應(yīng)用于電子設(shè)備,所述方法包括:
[0008]所述電子設(shè)備在啟動時,所述電子設(shè)備中的基本輸入輸出系統(tǒng)B1S生成驗證信息,并將所述驗證信息進行保存;
[0009]所述B1S將所述驗證信息發(fā)送給所述電子設(shè)備中的嵌入式控制器EC ;
[0010]所述EC接收所述驗證信息并進行保存,以根據(jù)所述驗證信息鑒定接收的用于指示進行EC固件更新的信息是否合法。
[0011]可選的,所述電子設(shè)備在啟動時,所述電子設(shè)備中的B1S生成驗證信息,并將所述驗證信息進行保存,包括:所述電子設(shè)備在啟動時,所述B1S生成所述驗證信息,并將所述驗證信息保存于第一位置;其中,所述第一位置由所述B1S獨有訪問。
[0012]可選的,所述EC接收所述驗證信息并進行保存,包括:所述EC接收所述驗證信息,并將所述驗證信息保存于第二位置;其中,所述第二位置由所述EC獨有訪問,且所述第一位置與所述第二位置不同。
[0013]可選的,在所述EC將所述驗證信息保存于第二位置后,還包括:
[0014]所述B1S向所述EC發(fā)送鑒定信息;
[0015]所述EC接收所述鑒定信息,并判斷所述鑒定信息與所述驗證信息是否相同;
[0016]根據(jù)判斷結(jié)果,所述EC向所述B1S返回響應(yīng)消息。
[0017]可選的,若所述判斷結(jié)果為相同,則所述響應(yīng)消息用于表明所述EC固件的更新環(huán)境安全;
[0018]若所述判斷結(jié)果為不相同,則所述響應(yīng)消息用于表明所述EC固件的更新環(huán)境不安全。
[0019]可選的,在所述EC向所述B1S返回響應(yīng)消息后,還包括:
[0020]若所述響應(yīng)消息用于表明所述EC固件的更新環(huán)境安全,所述B1S向所述EC發(fā)送EC固件更新操作指令,所述EC固件更新操作指令用于指示所述EC進行所述EC固件的更新;
[0021]所述EC根據(jù)所述驗證信息鑒定所述EC固件更新操作指令是否合法;
[0022]若合法,所述EC執(zhí)行所述EC固件更新操作指令,完成所述EC固件的更新。可選的,在所述EC根據(jù)所述驗證信息鑒定所述EC固件更新操作指令是否合法后,還包括:
[0023]若不合法,所述EC拒絕執(zhí)行所述EC固件更新操作指令。
[0024]可選的,在所述B1S向所述EC發(fā)送鑒定信息之前,還包括:
[0025]所述EC接收觸發(fā)指令,所述觸發(fā)指令用于觸發(fā)所述EC中存儲的EC固件更新請求指令;
[0026]所述EC根據(jù)所述驗證信息判斷所述觸發(fā)指令是否合法;
[0027]若合法,所述EC確定進行所述EC固件的更新。
[0028]—種電子設(shè)備,所述電子設(shè)備包括:
[0029]B10S,用于在所述電子設(shè)備啟動時,生成驗證信息并將所述驗證信息進行保存;且將所述驗證信息發(fā)送給所述電子設(shè)備中的EC ;
[0030]所述EC,用于接收所述驗證信息并進行保存,以根據(jù)所述驗證信息鑒定接收的用于指示進行EC固件更新的信息是否合法。
[0031]可選的,所述B1S用于在所述電子設(shè)備啟動時,生成驗證信息,并將所述驗證信息進行保存,具體可以為:所述B1S在所述電子設(shè)備啟動時,生成所述驗證信息,并將所述驗證信息保存于第一位置;其中,所述第一位置由所述B1S獨有訪問。
[0032]可選的,所述EC具體用于:接收所述驗證信息,并將所述驗證信息保存于第二位置;其中,所述第二位置由所述EC獨有訪問,且所述第一位置與所述第二位置不同。
[0033]可選的,所述B1S還用于:在所述EC將所述驗證信息保存于第二位置后,向所述EC發(fā)送鑒定信息;
[0034]所述EC還用于:接收所述鑒定信息,并判斷所述鑒定信息與所述驗證信息是否相同;根據(jù)判斷結(jié)果,向所述B1S返回響應(yīng)信息。
[0035]可選的,若所述判斷結(jié)果為相同,則所述響應(yīng)消息用于表明所述EC固件的更新環(huán)境安全;
[0036]若所述判斷結(jié)果為不相同,則所述響應(yīng)消息用于表明所述EC固件的更新環(huán)境不安全。
[0037]可選的,所述B1S還用于:在所述EC向所述B1S返回響應(yīng)消息后,若所述響應(yīng)消息用于表明所述EC固件的更新環(huán)境安全,向所述EC發(fā)送EC固件更新操作指令,所述EC固件更新操作指令用于指示所述EC進行所述EC固件的更新;
[0038]所述EC還用于:根據(jù)所述驗證信息鑒定所述EC固件更新操作指令是否合法;若合法,執(zhí)行所述EC固件更新操作指令,完成所述EC固件的更新。
[0039]可選的,所述EC還用于:在根據(jù)所述驗證信息鑒定所述EC固件更新操作指令不合法時,拒絕執(zhí)行所述EC固件更新操作指令。
[0040]可選的,所述EC還用于:在所述B1S向所述EC發(fā)送鑒定信息之前,接收觸發(fā)指令,所述觸發(fā)指令用于觸發(fā)所述EC中存儲的EC固件更新請求指令;根據(jù)所述驗證信息判斷所述觸發(fā)指令是否合法;若合法,確定進行所述EC固件的更新。
[0041]本發(fā)明實施例中,電子設(shè)備在系統(tǒng)啟動過程中,由B1S生成一驗證信息并進行保存,再將所述驗證信息發(fā)送給電子設(shè)備中的EC,則,在電子設(shè)備運行的任意時刻,當EC固件需要更新時,所述EC會接收到用于進行EC固件更新的指令,所述EC可以根據(jù)其保存的所述驗證信息鑒定用于指示所述EC固件進行更新的信息是否合法,這樣,若該操作指令已被篡改,所述EC可以拒絕執(zhí)行,盡量避免對EC FLASH內(nèi)的數(shù)據(jù)進行破壞,增強EC固件的安全性,減小了電子設(shè)備產(chǎn)生故障的幾率,也相應(yīng)提高了電子設(shè)備的可靠性。
【附圖說明】
[0042]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前