確保遠程加載數據的保密性和不被修改性的信息驗證裝置與方法
2023-10-08 22:26:29 3
專利名稱:確保遠程加載數據的保密性和不被修改性的信息驗證裝置與方法
技術領域:
本發明涉及一種確保遠程加載數據的保密性和不被修改性的信息驗證裝置與方法,特別是通過抽取、壓縮和重組的方法,使得所述程序序列缺失部分信息,達到以較小性能代價換取較大安全性的目的。
背景技術:
遠程加載是通過使用伺服器硬碟上的資源來代替工作站硬碟引導一臺網絡上的工作站的模式。目前,這種遠程激活技術的應用日益廣泛,尤其是在教育場合,究其原因是因為它管理簡單、維護容易,且計算機軟硬體資源得以更有效率的應用,從而大大降低了系統整體的擁有成本。
這種技術的主要原理是客戶端個人計算機的部分程序如激活程序、應用程式等,儲存於伺服器上,當客戶端(client)需要該部分程序時,在其激活過程(Boot PROM)中向伺服器發送連接請求以取得IP。當伺服器收到客戶端送出的要求就會回傳連結應答及IP位址,客戶端接收到伺服器送出的連結應答後,客戶端激活過程(Boot PROM)隨即通過網絡,從伺服器下載一切所需的設備激活程序。
傳統遠程加載方式多用於區域網路,這是一個被認為相對安全的網絡環境,通訊各方之間保持著彼此間的信任,故通訊安全問題並未被予以充分考慮,通訊雙方均在完全開放的環境下傳遞、交換信息。
但在網絡安全問題日益突出的今天,諸多安全手段亦應用於遠程加載過程當中。通常對於遠程加載過程的安全措施包括加密和校驗兩種。加密方法一般採用通用的塊加密和流加密,而校驗的手段主要是Hash函數校驗。所謂Hash函數校驗,是將整個程序序列進行壓縮得到一簡短的摘要,作為日後驗證的依據。然而傳統加密算法和Hash函數校驗方法的運算複雜程度很高,數據量大,實現困難,對於設備的性能要求較高;同時,寄存的程序是以完整信息的形式在網上通訊、並在伺服器上保存的,因此通訊和保存過程中,均有被截獲、破解和篡改的可能,而將經過篡改過的程序應用於本地工作站中,將危害本地工作站的安全,甚至對本地工作站的資源造成嚴重的破壞。
發明內容
本發明的主要目的在於克服現有技術的不足與缺陷,提供一種確保遠程加載數據的保密性和不被修改性的信息驗證裝置與方法,主要是通過扣留部分原文內容,並對抽取過部分信息的原程序序列進行壓縮和重組,混淆原始程序內容大幅增加攻擊者破解難度,達到以較小性能代價換取較大安全性的目的。
為達上述目的,本發明所提供的信息驗證裝置包括有一校驗器,對程序序列進行校驗,主要於程序上傳、打洞處理前,及程序下載、縫補程序後進行校驗。
一打洞器,將工作站欲對伺服器儲存的整個程序序列分割為若干個子程序序列,並於各個子程序序列以一定規律抽取信息;該抽取出的洞值信息及其在子程序序列中的位置將保存在本地工作站的儲存單元。
一壓縮器,對打洞器的處理結果進行程序段壓縮,用以產生信息混淆的新程序序列。
一加密器,對前述壓縮形成的程序序列進行加密。
一解密器,對自伺服器下載的程序序列進行解密。
一解壓縮器,依據本地工作站的儲存單元所儲存的打洞位置信息,將已解密的壓縮程序序列重新展開為具有若干空位的程序序列。
一縫補器,將儲存單元所儲存的洞值信息逐一縫補回各個子程序序列中的原位置,而組合成完整的程序序列。
依據前述,本發明的加解密及增加破解的困難度視前述所分割的子程序序列數量及對每個子程序序列的取樣數的規則,而此部份則可由設計者視實際需求而定。
本發明的另一目的即是適用於高速通訊的需要,允許信息以數據流的方式操作,同時提交給伺服器的保存信息中扣留了部分內容,使得被提交的程序是缺失了部分內容的不完整程序,此缺失部分的傳輸內容將大幅提高攻擊者的破解難度,相對地將可選擇簡易的加密算法實施加密處理,進而降低加密強度,降低系統的架構成本。
圖1為本發明實施例的系統硬體架構示意圖;圖2為本發明實施例中,本地工作站向伺服器儲存程序的步驟流程圖;圖3為本發明實施例中,本地工作站自遠程加載程序的步驟流程圖;圖4為本發明實施例中,激活過程中上傳及下載程序序列的數據處理示意圖。
圖中符號說明10中央處理單元11儲存單元12網絡卡20硬體晶片21校驗器22打洞器23壓縮器24加密器
25解密器26解壓縮器27縫補器30網絡A本地工作站B伺服器具體實施方式
下面結合附圖和實施例詳細說明本發明的具體實施方式
。
如圖1所示,為本發明實施例的系統硬體架構示意圖,於本發明實施例採用的方式是將程序序列打洞、信息驗證等功能集成於硬體晶片當中,由硬體獨立完成,而這種功能也可以由特定的軟體完成。
本發明是於本地工作站A進出中央處理單元10的通路上設置硬體晶片20,其主要包括有一校驗器21,對程序序列進行校驗,該校驗動作發生在兩種情況下,其一為於程序序列上傳,打洞處理之前,另一為程序序列下載,縫補程序序列之後;一打洞器22,將本地工作站A欲對伺服器B儲存的整個程序序列分割為若干個子程序序列,並於各個子程序序列以一定規律抽取信息。前述程序段與抽取信息的規則可由設計者視實際需求而決定分割程序序列數量及每個程序序列的取樣數,同時這也決定往後加解密及增加破解的困難度;一壓縮器23,對打洞器22的處理結果進行程序序列壓縮處理,用以產生信息混淆的新程序序列;一加密器24,對前述新程序序列進行加密;一解密器25,對自伺服器B下載的儲存序列進行解密;一解壓縮器26,依據本地工作站A的儲存單元11所儲存的打洞位置信息,將已解密的壓縮程序序列重新展開為具有若干空位的程序序列;一縫補器27,將儲存單元11所儲存的洞值信息逐一縫補回各個子程序序列中的原位置,而組合成完整的程序序列。
前述的儲存單元11儲存洞值信息及其相對應位置,其可為工作站A本身的內存(flash)等,亦可製作於晶片內。
如圖2所示,為本發明實施例中,本地工作站向伺服器儲存程序的步驟流程圖;本地工作A站欲發送的程序序列被傳送至硬體晶片20,其中的校驗器21首先選用一定的校驗方法對流經的程序序列進行校驗(步驟S1)(舉例來說,該校驗方法,如校驗和的方法,其將程序序列逐位相加,得到的一校驗值,如序列01011011,其校驗和為1)。校驗完成後即將此校驗值儲存於儲存單元11中(步驟S2)(如圖4的(A),容後詳述)。
該打洞器22接收到經過驗證的欲寄存程序,該程序以序列的形式流經硬體晶片20,該打洞器22根據設定,將寄存程序序列以一定長度的字節切割為複數個子程序序列(步驟S3),並以每個子程序序列為單位,從中以一定的規則隨機抽取一定長度的信息作為洞值信息(步驟S4),將洞值信息的內容及其在子程序段中的位置保存在本地工作站的儲存單元12中(步驟S5),即完成打洞過程。被抽取了部分內容的程序序列相應出現了若干空位,使程序序列中的部分內容缺失。該壓縮機23將整個程序序列壓縮去除所有的空位,使原程序序列的信息重組且混淆(步驟S6)。此混淆的程序序列再經加密器24加密而轉化為密文(步驟S6),經由一網絡卡12將密文信息經網絡30傳送至伺服器B儲存(步驟S7)。另外,在網絡通訊過程中,同樣需要依據工作站A與伺服器B之間的通訊協議,此與現有網絡相同於此不另贅述。
如圖3所示,為本發明實施例中,本地工作站自遠程加載程序的步驟流程圖;本地工作站1與伺服器3之間通過正常的握手協議(handshaking),達成彼此之間的正常聯絡之後,本地工作站A開始從伺服器B遠程下載所需程序(步驟D1),該下載程序經解密器25解密轉換為明文(步驟D2),解壓縮器26即依壓縮器23所制定的規律,將整個程序序列劃分為若干個子程序序列,且根據本地工作站A的儲存單元11所紀錄的各子程序序列打洞的位置信息將程序序列重新展開,恢復程序序列為若干空位的狀態(步驟D3、D4),該縫補器27從儲存單元11中獲得各個洞值信息的具體內容,並依次將其縫補回各個子程序序列的相對應空位上,回復成完整的程序序列(步驟D5、D4)。該校驗器21對已拼裝完成的程序序列進行相同的校驗得到一個校驗結果(步驟D6),同時自儲存單元11取得內存的上傳程序序列校驗結果(步驟D7),將此二校驗結果進行對比(步驟D8),若結果吻合即表示該程序是完整、未經過篡改的,可以正常使用(步驟D9);否則,本地工作站A將視其為錯誤程序拒絕使用(步驟D10)。之後,本地工作站A即能利用通過校驗的程序,完成本地工作站A的工作需求,如激活工作站等。
有關前述打洞器的切割與打洞流程,以下配合於圖4的(A)~(C)部分所示,舉例說明如下圖4的(A)顯示了整個程序序列,每一個地址信息對應著一個字節的程序信息,在本實施例中以每256個字節劃分為一個子程序序列(如圖所示子程序序列1、2),從而整個程序序列被分割為若干個子程序序列。
圖4的(B)顯示打洞過程,在本實施例中,打洞器22在各個子程序序列的隨機位置,抽取出一定位組長度的內容,再用1位元組保存抽取出的字符串在子程序序列中的相對位置,例如抽取地址為0056H至0059H的4位元組內容信息,因此儲存單元11保存的地址信息為0056H,保存的內容信息為01001001101000000001110010111000。又或是打洞器22在子程序序列的任意四個隨機位置各抽取1位元組的信息,並用另外4個字節分別保存4個字節在子程序序列中的位置。於是,本發明的打洞方式可以靈活設定,不同的設定可以實現不同的安全性能。
圖4的(C)顯示被抽取了部分信息的程序序列的壓縮過程。被抽取了部分信息的程序序列出現了若干空位,將空位後面的內容向前推,壓縮去所有的空位。在本實施例中,地址為0056H至0059H的信息被抽取出來,原地址為005A的內容向前提至地址0056H,子程序序列1的長度被縮減為252位元組。由於計算機中的一切信息,包括指令和數據均為二進位代碼,經過抽取和重組後的二進位代碼由於內容的缺失,在含義上也出現極大出入,以本實施例為例,打洞器22於每256個字節的子程序序列中隨機抽取了4位元組的信息,即從中抽取出32位的信息,破解者在分析截獲的信息時,每256個字節即有232種不同的可能,這就給最終破解帶來很大的難度。
根據以上敘述,本發明所提供的確保遠程加載數據的保密性和不被修改性的信息驗證裝置與方法,採用扣留部分原文內容,並對抽取過部分信息的原程序序列進行壓縮和重組,從而原程序的內容被混淆,即使在通訊過程中,非法者截獲了通訊中傳輸的所有數據,分析破解原文也將面對極大難度。更由於攻擊者破解的難度大幅提高,通訊雙方可以採取相對簡單的加密方法,因此,可以以較小投入實現較高的安全性能,且該方法可以採用靈活的方式予以實現,可以編制相應的軟體,也可以將該過程直接集成於硬體晶片中,由硬體直接完成。此系統為遠程加載的過程提供了更具安全性的一道屏障。
綜上所述,本發明所提供的確保遠程加載數據的保密性和不被修改性的信息驗證裝置與方法,對鍵盤裝置進行了特殊的處理,從而使用戶敲擊鍵盤的行為習慣可以被捕獲,並以此為認證的依據;在身份認證的過程中,不是認證信息的簡單對照,而是對行為的特徵進行概率統計,通過認證的特徵信息分布必須符合一定的分布區間要求;另外,該身份認證方法的所有的數據處理工作由安全鍵盤獨立完成,不經由主機處理,使得此種身份認證方式可以更有效地保證系統安全。
以上所敘述的技術、圖說、程序或控制等方法,僅僅為本發明較佳實施例之一;舉凡依本發明保護範圍的技術所作的均等變化或修飾或擷取部分功能的雷同製作,皆應仍屬本發明權利要求書所涵蓋的範圍;當不能依此限定本發明實施的範圍。
權利要求
1.一種信息驗證裝置,用以確保遠程加載數據的保密性和不被修改性,其特徵在於,包括有一校驗器,對程序序列校驗,並產生一校驗值儲存於一儲存單元內;;一打洞器,將一工作站欲對一伺服器儲存的整個程序序列分割為若干個子程序序列,並於各個子程序序列以一定規律抽取信息;一壓縮器,對該打洞器的處理結果進行程序序列壓縮,用以產生信息混淆的新程序序列;一加密器,對該新程序序列進行加密;一解密器,對自該伺服器下載的程序序列進行解密;一解壓縮器,依據該儲存單元所儲存的打洞位置,將已解密的壓縮程序序列重新展開為具有若干空位的程序序列;一縫補器,將該儲存單元所儲存的洞值信息逐一縫補回各個子程序序列中的原位置,而組合成完整的程序序列。
2.如權利要求1所述的信息驗證裝置,其特徵在於,該校驗器是對上傳至該伺服器的程序序列,及該縫補器縫補後組合的完整程序序列進行校驗,此二校驗值將進行對比,以判斷程序的完整性。
3.如權利要求1所述的信息驗證裝置,其特徵在於,該儲存單元為一快閃記憶體或該工作站自有的內存。
4.一種確保遠程加載數據的保密性和不被修改性的信息驗證方法,主要是通過對程序序列信息的抽取、壓縮和重組,使所述程序序列缺失部分信息,其包括一上傳程序,以供一工作站將程序上傳至一伺服器,及一下載程序,以供該工作站自該伺服器下載程序,其特徵在於,該上傳程序包括下列步驟a.對程序序列進行校驗;b.進行程序分割,並對每一個分割的子程序序列隨機抽取一定位組長度的信息;c.壓縮步驟b所產生的子程序序列,並通過網絡上傳至該伺服器;該下載程序包括下列步驟d.對程序重新展開與縫補,以組合成完整的程序序列;e.對步驟d的激活程序進行校驗,以確定程序是否完整、有否被篡改;f.若校驗成功,則該工作站得以應用此程序。
5.如權利要求4所述的確保遠程加載數據的保密性和不被修改性的信息驗證方法,其特徵在於,該步驟a是產生一校驗值,且該校驗值儲存於一儲存單元。
6.如權利要求4所述的確保遠程加載數據的保密性和不被修改性的信息驗證方法,其特徵在於,該步驟b中是將抽取的洞值信息與其在子程序段中的相對位置儲存於一儲存單元。
7.如權利要求4所述的確保遠程加載數據的保密性和不被修改性的信息驗證方法,其特徵在於,該步驟b中信息抽取的方式,可為連續抽取一定位組長度的信息,用1位元組紀錄打洞地址。
8.如權利要求4所述的確保遠程加載數據的保密性和不被修改性的信息驗證方法,其特徵在於,該步驟b中信息抽取的方式,可分別抽取幾個單字節信息,並用相同的字節數記錄每個打洞位置。
9.如權利要求4所述的確保遠程加載數據的保密性和不被修改性的信息驗證方法,其特徵在於,該步驟c更包括有加密步驟,以增加破解的困難度。
10.如權利要求4所述的確保遠程加載數據的保密性和不被修改性的信息驗證方法,其特徵在於,該步驟d更包括有解密步驟,用以將該伺服器所儲存的密文程序解密為明文程序。
11.如權利要求4所述的確保遠程加載數據的保密性和不被修改性的信息驗證方法,其特徵在於,該步驟d所述是依據一儲存單元的記錄逐一縫補回各個子程序段中的原位置。
12.如權利要求4所述的確保遠程加載數據的保密性和不被修改性的信息驗證方法,其特徵在於,該步驟e是產生一校驗值,並與保存於一儲存單元的校驗值比較,以確定程序是否完整、有否被篡改。
全文摘要
本發明涉及一種確保遠程加載數據的保密性和不被修改性的信息驗證裝置與方法,特別是一種扣留部分原文內容,並對抽取過部分信息的原程序序列進行壓縮和重組,混淆原始程序內容大幅增加攻擊者破解難度的方法與裝置,該裝置包括有校驗器、打洞器、壓縮器、加密器、縫補器、解壓縮器及解密器,該方法主要是通過對程序序列信息的抽取、壓縮和重組,使所述程序序列缺失部分信息,其包括一上傳程序,以供一工作站將程序上傳至一伺服器,及一下載程序,以供該工作站自該伺服器下載程序。
文檔編號G06F11/36GK1523504SQ0310610
公開日2004年8月25日 申請日期2003年2月18日 優先權日2003年2月18日
發明者後健慈 申請人:蓋內蒂克瓦爾有限公司