專利名稱:一種移動(dòng)硬盤日志文件的完整保護(hù)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息安全技術(shù)領(lǐng)域,涉及到移動(dòng)硬盤的數(shù)據(jù)安全保障方法方案。
背景技術(shù):
移動(dòng)硬盤作為常用存儲(chǔ)介質(zhì),具有便攜性與通用性的特點(diǎn),同時(shí)移動(dòng)硬盤存儲(chǔ)的數(shù)據(jù)也易于被非法用戶竊取和篡改。因此移動(dòng)硬盤的使用信息是用于審計(jì)移動(dòng)硬盤中數(shù)據(jù)的安全狀態(tài)的重要依據(jù),用戶可以通過(guò)這些信息來(lái)判斷自己的移動(dòng)硬盤是否被非法使用過(guò),以及分析非法用戶對(duì)移動(dòng)硬盤的使用情況,有利于事后追究責(zé)任。日志便是記錄這些重要信息的工具。移動(dòng)硬盤的日志文件只能存放在移動(dòng)硬盤上,才可以實(shí)時(shí)記錄移動(dòng)硬盤的使用情況,因此移動(dòng)硬盤的日志文件就有可能被非法用戶惡意修改,因此為了獲得真實(shí)可信的日志信息,就必須要實(shí)現(xiàn)對(duì)日志文件完整性保障功能。
發(fā)明內(nèi)容
本發(fā)明目的是提出一種面向移動(dòng)硬盤用戶提供真實(shí)完整的日志記錄的方法,即移動(dòng)硬盤日志文件的完整保護(hù)方法,本方法的發(fā)明目的主要基于以下二方面
1)、實(shí)現(xiàn)了對(duì)移動(dòng)硬盤使用情況的日志記錄,該日志記錄通過(guò)對(duì)USB協(xié)議的解析來(lái)了解移動(dòng)硬盤的使用情況,并作為日志事件與實(shí)時(shí)時(shí)鐘的時(shí)間一起形成日志記錄寫入日志文件。2)、日志文件的完整性保障,本方法從二方面保障日志文件的完整性,一方面是對(duì)日志文件所在扇區(qū)的寫保護(hù),除移動(dòng)硬盤控制器之外對(duì)這些扇區(qū)的寫命令都會(huì)被控制器拒絕,另一方面是通過(guò)MD5算法來(lái)實(shí)現(xiàn)日志文件的完整性校驗(yàn),審計(jì)日志文件的完整性。本發(fā)明的具體方法方案如下,一種具有完整性保護(hù)機(jī)制的移動(dòng)硬盤日志方法其特征是基于對(duì)USB協(xié)議的解析,通過(guò)移動(dòng)硬盤控制器來(lái)分析硬盤的當(dāng)前工作狀態(tài),由此生成移動(dòng)硬盤的使用日志,并將其存儲(chǔ)于移動(dòng)硬盤的特殊扇區(qū)內(nèi);
通過(guò)控制器來(lái)監(jiān)控日志文件的訪問(wèn)操作,試圖通過(guò)主機(jī)改寫日志文件的命令都將會(huì)被拒絕,控制器還使用MD5算法對(duì)當(dāng)前日志文件生成校驗(yàn)碼,來(lái)校驗(yàn)日志文件的完整性。由此,向用戶提供真實(shí)可信的移動(dòng)硬盤使用事件記錄。其主要的實(shí)現(xiàn)步驟為
步驟1、日志信息的收集當(dāng)移動(dòng)硬盤連接到主機(jī)后,由主機(jī)對(duì)移動(dòng)硬盤進(jìn)行枚舉或進(jìn)行傳輸?shù)然顒?dòng)時(shí),移動(dòng)硬盤控制器按USB協(xié)議正確應(yīng)答主機(jī),分析主機(jī)發(fā)送來(lái)的Setup包、 In包,完成命令后,移動(dòng)硬盤控制器將根據(jù)自身所帶的實(shí)時(shí)時(shí)鐘,記錄下本次事件與發(fā)生的時(shí)間,作為日志信息;
步驟2、日志信息的生成與組織為了節(jié)省日志存儲(chǔ)所需的空間,移動(dòng)硬盤控制器將本次日志事件映射成事件代碼,與事件發(fā)生的時(shí)間組織成日志記錄,待存儲(chǔ)于日志中。步驟3、日志信息的校驗(yàn)碼生成為了實(shí)現(xiàn)對(duì)日志文件的完整性校驗(yàn),移動(dòng)硬盤控制器將讀取日志文件,利用MD5算法生成日志信息的校驗(yàn)碼;步驟4、日志信息的完整性校驗(yàn)移動(dòng)硬盤控制器利用生成的當(dāng)前日志文件校驗(yàn)碼,與硬盤控制器非易失性存儲(chǔ)器中保存的校驗(yàn)碼進(jìn)行對(duì)比,判斷當(dāng)前日志的完整性,若二者不一致,則移動(dòng)硬盤控制器中止當(dāng)前工作,報(bào)警;
步驟5、日志信息的存儲(chǔ)若當(dāng)前日志文件的校驗(yàn)碼與硬盤控制器中存儲(chǔ)的校驗(yàn)碼一致,則將當(dāng)前的日志信息寫入到日志文件中。步驟6、日志信息的改寫訪問(wèn)控制;若主機(jī)請(qǐng)求改寫日志文件所在的特殊硬盤扇區(qū),則硬盤控制器則會(huì)直接拒絕執(zhí)行命令。本發(fā)明的核心組件,其包含USB協(xié)議棧,負(fù)責(zé)完成生成與組織日志事件信息,日志文件的讀寫控制、完整性校驗(yàn)功能;
USB協(xié)議解析過(guò)程USB協(xié)議中包含的內(nèi)容用于移動(dòng)硬盤的使用審計(jì),因此USB協(xié)議的解析過(guò)程主要是針對(duì)移動(dòng)硬盤控制器接收到的令牌包中的Setup包及其In包進(jìn)行分析,判斷本次命令的內(nèi)容,作為日志事件信息。生成的日志事件信息,將其映射成事件代碼,針對(duì)事件代碼與移動(dòng)硬盤控制器中自帶的實(shí)時(shí)時(shí)鐘信息,組成日志記錄;
日志校驗(yàn)碼生成與完整性校驗(yàn)過(guò)程
(1)生成日志校驗(yàn)碼移動(dòng)硬盤控制器讀取日志文件,根據(jù)日志文件信息采用MD5算法,生成當(dāng)前日志的校驗(yàn)碼;
(2)校驗(yàn)移動(dòng)硬盤控制器針對(duì)生成當(dāng)前日志的校驗(yàn)碼與存儲(chǔ)在控制器非易失存儲(chǔ)器內(nèi)的校驗(yàn)碼進(jìn)行比對(duì),完成完整性校驗(yàn)工作。 硬盤扇區(qū)是專用于存儲(chǔ)移動(dòng)硬盤日志文件的硬盤扇區(qū),其扇區(qū)號(hào)由移動(dòng)硬盤控制器維護(hù)日志扇區(qū)表進(jìn)行標(biāo)識(shí)。對(duì)于日志扇區(qū)表中的扇區(qū)讀取必須要通過(guò)硬盤控制器的認(rèn)證。日志信息存儲(chǔ)過(guò)程日志信息的存儲(chǔ)過(guò)程由移動(dòng)硬盤控制器讀取日志扇區(qū)表中的最后一個(gè)扇區(qū),并將新生成的日志信息寫入到該扇區(qū)中,若該扇區(qū)已滿,則新申請(qǐng)一個(gè)扇區(qū),將該扇區(qū)號(hào)添加到日志扇區(qū)表中,再將日志信息寫入該扇區(qū)中。本方法的具體實(shí)現(xiàn)包括以下模塊
1)移動(dòng)硬盤主控程序模塊該模塊主要的功能是實(shí)現(xiàn)移動(dòng)硬盤的日志記錄,作為上層功能模塊,調(diào)用日志信息生成、組織模塊、寫入算法等各底層模塊完成日志事件記錄與更新;
2)USB協(xié)議解析功能模塊該模塊的主要功能是實(shí)現(xiàn)對(duì)USB協(xié)議分析,了解移動(dòng)硬盤的工作情況,生成包括上電初始化、寫操作等日志事件信息;
3)日志信息生成與組織模塊該模塊的主要功能是實(shí)現(xiàn)對(duì)日志事件信息的映射,將其轉(zhuǎn)換成事件代碼,并與移動(dòng)硬盤控制器的實(shí)時(shí)時(shí)鐘組織成日志記錄;
4)日志文件扇區(qū)表的記錄與維護(hù)模塊該模塊的主要功能是記錄與維護(hù)存儲(chǔ)日志文件的扇區(qū)號(hào),這些扇區(qū)號(hào)信息將作為移動(dòng)硬盤控制器保護(hù)日志文件不被惡意修改的依據(jù);
5)日志文件的寫入算法該模塊的主要功能是實(shí)現(xiàn)對(duì)新生成的日志記錄寫入日志文件中,包括可能涉及的日志文件扇區(qū)表的更新;
6)日志文件的完整性校驗(yàn)算法該功能模塊是實(shí)現(xiàn)對(duì)當(dāng)前日志文件的完整性校驗(yàn);
7)MD5算法該功能模塊用于生成當(dāng)前日志文件的完整性校驗(yàn)碼;8)日志文件扇區(qū)表的寫保護(hù)監(jiān)控通過(guò)USB協(xié)議分析模塊與日志文件扇區(qū)表來(lái)記錄與維護(hù)功能模塊實(shí)現(xiàn)對(duì)日志文件扇區(qū)表的寫操作監(jiān)控,除移動(dòng)硬盤控制器自身之外,任何針對(duì)扇區(qū)表內(nèi)扇區(qū)的寫操作都將被拒絕;
9)日志事件代碼表該表用于日志事件的映射,將日志事件映射成代碼;
在以上模塊的基礎(chǔ)上,由移動(dòng)硬盤控制器主控制程序調(diào)用上述功能模塊完成本發(fā)明目標(biāo)。本發(fā)明主要從三個(gè)技術(shù)來(lái)實(shí)現(xiàn)上述的應(yīng)用目標(biāo),一項(xiàng)就是通過(guò)對(duì)USB協(xié)議解析來(lái)生成日志信息記錄移動(dòng)硬盤的使用情況,USB協(xié)議是標(biāo)準(zhǔn)化的傳輸協(xié)議,本發(fā)明主要記錄令牌包中的Setup包及其后In包進(jìn)行分析,來(lái)生成日志事件信息。另外一項(xiàng)方法就是對(duì)保存日志文件扇區(qū)進(jìn)行監(jiān)控,同樣是通過(guò)USB協(xié)議解析來(lái)實(shí)現(xiàn)的,移動(dòng)硬盤控制器將拒絕任意試圖寫存儲(chǔ)有日志文件信息的扇區(qū)的命令;還有一項(xiàng)方法即MD5算法,即消息摘要算法 (信息摘要算法)第五版,是被廣泛采用一種散列函數(shù),主要用以提供消息的完整性保護(hù)。本方法用以來(lái)判斷日志文件信息是否完整可信,通過(guò)MD5算法來(lái)生成日志文件的完整性校驗(yàn)碼,一旦出現(xiàn)完整性校驗(yàn)失敗,即會(huì)向用戶警報(bào),提醒用戶日志文件被惡意修改。本發(fā)明通過(guò)對(duì)USB協(xié)議的解析來(lái)生成日志信息,為用戶提供審計(jì)移動(dòng)硬盤的使用情況的依據(jù)。為了保障日志文件的安全與完整性,本發(fā)明采用了日志扇區(qū)表來(lái)記錄存儲(chǔ)日志文件的扇區(qū),對(duì)于任意一個(gè)存儲(chǔ)日志文件扇區(qū)的改寫必須要通過(guò)移動(dòng)硬盤控制器監(jiān)控可以實(shí)現(xiàn),除移動(dòng)硬盤控制器自身之外,任一對(duì)存儲(chǔ)日志文件扇區(qū)的寫命令都會(huì)被拒絕,從而保障日志文件難以被惡意修改。此外,本方法實(shí)現(xiàn)的硬盤控制器通過(guò)對(duì)日志文件生成校驗(yàn)碼,可以隨時(shí)校驗(yàn)日志文件的完整性。由此本方法可以向用戶提供真實(shí)可信的移動(dòng)硬盤使用日志ο本發(fā)明的有益效果如下
1.移動(dòng)硬盤控制器本發(fā)明實(shí)現(xiàn)了一種新型移動(dòng)硬盤控制器,與常用的移動(dòng)硬盤控制器不同的是,它不僅可以實(shí)現(xiàn)基于USB協(xié)議傳輸之外,還具有自身的非易失性存儲(chǔ)器,用于存儲(chǔ)日志扇區(qū)表、日志文件校驗(yàn)碼,此外還具備生成、記錄、校驗(yàn)、寫保護(hù)移動(dòng)硬盤日志的功能;
2.移動(dòng)硬盤使用日志本發(fā)明實(shí)現(xiàn)了對(duì)于移動(dòng)硬盤使用事件的記錄,包括日志事件內(nèi)容、時(shí)間,通過(guò)該日志用戶可以審計(jì)移動(dòng)硬盤的使用情況,分析移動(dòng)硬盤是否被非法用戶使用過(guò);
3.移動(dòng)硬盤日志完整性保護(hù)機(jī)制本發(fā)明實(shí)現(xiàn)了一種移動(dòng)硬盤的日志完整性保護(hù)機(jī)制,主要包括對(duì)移動(dòng)硬盤日志的寫保護(hù),以及日志的完整性校驗(yàn),來(lái)保障日志的真實(shí)性、完整性;
4.移動(dòng)硬盤的日志完整性校驗(yàn)本發(fā)明實(shí)現(xiàn)了對(duì)日志文件完整性校驗(yàn),通過(guò)MD5算法生成日志文件的校驗(yàn)碼,再通過(guò)預(yù)先保存的當(dāng)前校驗(yàn)碼的比對(duì),來(lái)校驗(yàn)當(dāng)前的日志文件是否被惡意修改過(guò);
5.移動(dòng)硬盤的寫保護(hù)本發(fā)明實(shí)現(xiàn)對(duì)日志文件的寫保護(hù),通過(guò)對(duì)日志文件的存儲(chǔ)扇區(qū)建立日志文件扇區(qū)表,同時(shí)監(jiān)控寫移動(dòng)硬盤扇區(qū)的命令,分析該命令所寫的目標(biāo)扇區(qū)是否位于日志扇區(qū)表內(nèi)記錄的扇區(qū)號(hào),若是拒絕執(zhí)行命令,從而實(shí)現(xiàn)對(duì)日志文件的寫保護(hù);
6.日志事件代碼表本發(fā)明建立了一個(gè)日志事件的代碼表,因?yàn)槿罩臼录N類較多,隨著移動(dòng)硬盤使用次數(shù)增多,如果直接記錄日志事件會(huì)使日志文件數(shù)據(jù)量不斷增大,因此采用日志事件代碼來(lái)代表日志事件會(huì)有效減小日志文件的大小,也減少了日志文件校驗(yàn)的
運(yùn)算量。由于移動(dòng)硬盤存儲(chǔ)的數(shù)據(jù)易于被非法竊取與使用,本發(fā)明針對(duì)移動(dòng)硬盤實(shí)現(xiàn)了一種具有完整性保護(hù)機(jī)制的移動(dòng)硬盤日志方法。該方法基于移動(dòng)硬盤控制器對(duì)USB協(xié)議的解析,分析移動(dòng)硬盤的當(dāng)前工作狀態(tài),生成日志信息,并記錄到移動(dòng)硬盤的特殊扇區(qū)中,作為用戶審計(jì)移動(dòng)硬盤使用情況的依據(jù)。此外,為了保護(hù)日志信息不會(huì)被惡意修改,本方法實(shí)現(xiàn)了日志文件的完整性保護(hù)機(jī)制。該機(jī)制一方面通過(guò)移動(dòng)硬盤控制器監(jiān)控日志文件的讀寫, 只有通過(guò)本方法實(shí)現(xiàn)的硬盤控制器才能讀寫存儲(chǔ)在特殊扇區(qū)的日志文件。另一方面,本方法采用MD5算法對(duì)日志文件形成的校驗(yàn)碼,從而可以校驗(yàn)日志文件的完整性,抵御非法用戶繞過(guò)硬盤控制器直接對(duì)日志文件的篡改。由此,本方法提供的具備完整性保護(hù)機(jī)制的移動(dòng)硬盤日志可以向用戶提供真實(shí)可信的移動(dòng)硬盤使用情況。
圖1為本發(fā)明的功能模塊結(jié)構(gòu)圖。圖2為本發(fā)明主控程序工作流程圖。
具體實(shí)施例方式
本發(fā)明的實(shí)現(xiàn)主要包括以下步驟
步驟1 實(shí)現(xiàn)移動(dòng)硬盤控制器這一步驟主要是實(shí)現(xiàn)移動(dòng)硬盤控制器的硬件組成,作為本方法實(shí)現(xiàn)的平臺(tái),本方法的移動(dòng)硬盤控制器主要包括MCU、非易失性存儲(chǔ)器、實(shí)時(shí)時(shí)鐘及其外圍電路組成;
步驟2 實(shí)現(xiàn)USB協(xié)議解析模塊這一步驟主要是對(duì)移動(dòng)硬盤傳輸?shù)臄?shù)據(jù)包按USB協(xié)議進(jìn)行解析,針對(duì)具有日志意義的數(shù)據(jù)包形成事件記錄,同時(shí)若接收寫扇區(qū)的命令包,也會(huì)向移動(dòng)硬盤主控制程序報(bào)告。步驟3 實(shí)現(xiàn)日志事件生成與組織模塊這一步步驟主要是基于USB協(xié)議解析生成的日志事件,映射成日志事件代碼結(jié)合實(shí)時(shí)時(shí)鐘形成日志記錄。步驟4 實(shí)現(xiàn)MD5算法模塊該步驟是實(shí)現(xiàn)MD5算法來(lái)生成日志文件校驗(yàn)碼; 步驟5 日志完整性校驗(yàn)?zāi)K該步驟是利用MD5算法生成當(dāng)前日志文件校驗(yàn)碼,再與
預(yù)先存儲(chǔ)的日志文件校驗(yàn)碼對(duì)比,校驗(yàn)當(dāng)前日志文件的完整性;
步驟6 實(shí)現(xiàn)日志寫保護(hù)模塊該步驟是在接收到USB協(xié)議解析,有寫扇區(qū)命令時(shí),分析寫入的目標(biāo)扇區(qū)是否位于日志扇區(qū)表內(nèi),若是拒絕執(zhí)行命令;
步驟7 實(shí)現(xiàn)日志事件寫入模塊該步驟是首先對(duì)當(dāng)前日志文件進(jìn)行完整性校驗(yàn),若校驗(yàn)不通過(guò)則警報(bào),若通過(guò),則將先讀取日志扇區(qū)表中最后一個(gè)扇區(qū),當(dāng)前日志事件寫入該扇區(qū)內(nèi),若該扇區(qū)已滿,則申請(qǐng)一個(gè)新扇區(qū),將該扇區(qū)號(hào)置入日志扇區(qū)表內(nèi),再在該扇區(qū)內(nèi)寫入曰志記錄,;
步驟8 實(shí)現(xiàn)移動(dòng)硬盤控制器主控程序模塊該步驟主要是按本方法的實(shí)現(xiàn)步驟與流程協(xié)同控制各功能模塊完成本發(fā)明目標(biāo)的主控制程序。
權(quán)利要求
1.一種具有完整性保護(hù)機(jī)制的移動(dòng)硬盤日志方法,其特征是基于對(duì)USB協(xié)議的解析, 通過(guò)移動(dòng)硬盤控制器來(lái)分析移動(dòng)硬盤的當(dāng)前工作狀態(tài),由此生成移動(dòng)硬盤的使用日志,并將其存儲(chǔ)于移動(dòng)硬盤的扇區(qū)內(nèi);通過(guò)控制器來(lái)監(jiān)控日志文件的訪問(wèn)操作,任何試圖通過(guò)主機(jī)改寫日志文件的命令都將會(huì)被拒絕,控制器使用MD5算法對(duì)當(dāng)前日志文件生成校驗(yàn)碼,來(lái)校驗(yàn)日志文件的完整性;由此,向用戶提供真實(shí)可信的移動(dòng)硬盤使用事件記錄;其主要的實(shí)現(xiàn)步驟為步驟1、日志信息的收集當(dāng)移動(dòng)硬盤連接到主機(jī)后,由主機(jī)對(duì)移動(dòng)硬盤進(jìn)行枚舉或進(jìn)行傳輸?shù)然顒?dòng)時(shí),移動(dòng)硬盤控制器按USB協(xié)議正確應(yīng)答主機(jī),分析主機(jī)發(fā)送來(lái)的Setup包、 In包,完成命令后,移動(dòng)硬盤控制器將根據(jù)自身所帶的實(shí)時(shí)時(shí)鐘,記錄下本次事件與發(fā)生的時(shí)間,作為日志信息;步驟2、日志信息的生成與組織為移動(dòng)硬盤控制器將本次日志事件映射成事件代碼, 與事件發(fā)生的時(shí)間組織成日志記錄,待存儲(chǔ)于日志中;步驟3、日志信息的校驗(yàn)碼生成為了實(shí)現(xiàn)對(duì)日志文件的完整性校驗(yàn),移動(dòng)硬盤控制器將讀取日志文件,利用MD5算法生成日志信息的校驗(yàn)碼;步驟4、日志信息的完整性校驗(yàn)移動(dòng)硬盤控制器利用生成的當(dāng)前日志文件校驗(yàn)碼,與硬盤控制器非易失性存儲(chǔ)器中保存的校驗(yàn)碼進(jìn)行對(duì)比,判斷當(dāng)前日志的完整性,若二者不一致,則移動(dòng)硬盤控制器中止當(dāng)前工作,報(bào)警;步驟5、日志信息的存儲(chǔ)若當(dāng)前日志文件的校驗(yàn)碼與硬盤控制器中存儲(chǔ)的校驗(yàn)碼一致,則將當(dāng)前的日志信息寫入到日志文件中;步驟6、日志信息的改寫訪問(wèn)控制;若主機(jī)請(qǐng)求改寫日志文件所在的硬盤扇區(qū),則硬盤控制器則會(huì)直接拒絕執(zhí)行命令。
2.根據(jù)權(quán)利要求1所述的具有完整性保護(hù)機(jī)制的移動(dòng)硬盤日志方法,其特征是移動(dòng)硬盤控制器設(shè)有USB協(xié)議棧完成生成與組織日志事件信息,日志文件的讀寫控制、完整性校驗(yàn)。
3.根據(jù)權(quán)利要求2所述的具有完整性保護(hù)機(jī)制的移動(dòng)硬盤日志方法,其特征是USB協(xié)議解析過(guò)程USB協(xié)議中包含的內(nèi)容用于移動(dòng)硬盤的使用審計(jì),因此USB協(xié)議的解析過(guò)程主要是針對(duì)移動(dòng)硬盤控制器接收到的令牌包中的Setup包及其In包進(jìn)行分析,判斷本次命令的內(nèi)容,作為日志事件信息。
全文摘要
一種具有完整性保護(hù)機(jī)制的移動(dòng)硬盤日志方法,基于對(duì)USB協(xié)議的解析,通過(guò)移動(dòng)硬盤控制器來(lái)分析移動(dòng)硬盤的當(dāng)前工作狀態(tài),由此生成移動(dòng)硬盤的使用日志,并將其存儲(chǔ)于移動(dòng)硬盤的扇區(qū)內(nèi);通過(guò)控制器來(lái)監(jiān)控日志文件的訪問(wèn)操作,任何試圖通過(guò)主機(jī)改寫日志文件的命令都將會(huì)被拒絕,控制器使用MD5算法對(duì)當(dāng)前日志文件生成校驗(yàn)碼,來(lái)校驗(yàn)日志文件的完整性;由此,向用戶提供真實(shí)可信的移動(dòng)硬盤使用事件記錄;包括日志信息的收集、日志信息的生成與組織等步驟。本發(fā)明實(shí)現(xiàn)了日志文件的完整性保護(hù)機(jī)制。只有通過(guò)本方法實(shí)現(xiàn)的硬盤控制器才能讀寫存儲(chǔ)在特殊扇區(qū)的日志文件。采用MD5算法,可校驗(yàn)日志文件的完整性,抵御非法用戶對(duì)日志文件的篡改。
文檔編號(hào)G11C7/10GK102290091SQ20111025729
公開日2011年12月21日 申請(qǐng)日期2011年9月2日 優(yōu)先權(quán)日2011年9月2日
發(fā)明者傅濤, 季燕, 徐麗娟 申請(qǐng)人:南京博同科技有限公司