一種基于數(shù)字證書系統(tǒng)的軟件版本可信管理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及可信計(jì)算技術(shù)應(yīng)用領(lǐng)域,具體講設(shè)及一種基于數(shù)字證書系統(tǒng)的軟件版 本可信管理方法。
【背景技術(shù)】
[0002] 信息系統(tǒng)不安全的根源是由于PC結(jié)構(gòu)的簡(jiǎn)化,對(duì)系統(tǒng)中的進(jìn)程、程序沒有校驗(yàn),導(dǎo) 致可執(zhí)行程序、進(jìn)程在非授權(quán)情況下任意執(zhí)行,實(shí)施惡意行為,而傳統(tǒng)的防火墻、防病毒、 IDS,都是W外圍封堵、事后升級(jí)病毒代碼庫為主,不能主動(dòng)防御、積極防御??尚庞?jì)算通過 在硬件上引入可信忍片,從結(jié)構(gòu)上解決了個(gè)人計(jì)算機(jī)體系結(jié)構(gòu)簡(jiǎn)化帶來的脆弱性問題,基 于硬件忍片,從平臺(tái)加電開始,到應(yīng)用程序的執(zhí)行,構(gòu)建完整的信任鏈,一級(jí)認(rèn)證一級(jí),一級(jí) 信任一級(jí),未獲認(rèn)證的程序不能執(zhí)行,從而使信息系統(tǒng)實(shí)現(xiàn)自身免疫,構(gòu)建高安全等級(jí)的信 息系統(tǒng)。
[0003] 按照IS0/IEC 15408給出的定義,可信是指參與計(jì)算的組件、操作或過程在任意條 件下是可預(yù)測(cè)的,并能抵御病毒和一定程度的物理干擾。簡(jiǎn)言之,可信計(jì)算是指在計(jì)算機(jī)硬 件平臺(tái)引入安全忍片架構(gòu),通過其提供的可信存儲(chǔ)、可信度量、可信報(bào)告等安全特性來提高 終端系統(tǒng)的安全性,在用戶與計(jì)算機(jī)、網(wǎng)絡(luò)平臺(tái)之間建立一種信任機(jī)制,從而在根本上實(shí)現(xiàn) 了對(duì)各種不安全因素的主動(dòng)防御。
【發(fā)明內(nèi)容】
[0004] 為克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于數(shù)字證書系統(tǒng)的軟件版本可信 管理方法,本發(fā)明方法W數(shù)字根證書系統(tǒng)為基礎(chǔ),基于SM2證書體系對(duì)系統(tǒng)軟件程序進(jìn)行簽 名與驗(yàn)簽,并在數(shù)字根證書系統(tǒng)下做認(rèn)證,將證書的信任鏈建立起來,實(shí)現(xiàn)對(duì)系統(tǒng)服務(wù)總 線、消息總線W及實(shí)時(shí)庫來源的可信驗(yàn)證和統(tǒng)一版本管理,在運(yùn)行端實(shí)現(xiàn)系統(tǒng)軟件和策略 模板的驗(yàn)簽和可信度量。
[0005] 實(shí)現(xiàn)上述目的所采用的解決方案為:
[0006] -種基于數(shù)字證書系統(tǒng)的軟件版本可信管理方法,所述可信管理方法包括:
[0007] (1)數(shù)字證書系統(tǒng)根證書依次派生出開發(fā)證書、檢測(cè)證書、管理員身份驗(yàn)證證書和 可信安全管理中屯、平臺(tái)證書,證書類型為SM2算法數(shù)字證書;
[000引(2)軟件開發(fā)環(huán)節(jié)使用開發(fā)私鑰證書對(duì)軟件完全摘要值進(jìn)行簽名;
[0009] (3)軟件檢測(cè)環(huán)節(jié)使用開發(fā)公鑰證書對(duì)已簽名軟件進(jìn)行驗(yàn)簽,驗(yàn)簽通過后,對(duì)已簽 名軟件進(jìn)行病毒檢測(cè)和功能檢測(cè),最后使用檢測(cè)私鑰證書對(duì)軟件進(jìn)行簽名;
[0010] (4)可信安全管理中屯、用管理員身份驗(yàn)證證書對(duì)管理員進(jìn)行身份鑒別、使用開發(fā) 公鑰證書和檢測(cè)公鑰證書對(duì)已簽名軟件進(jìn)行驗(yàn)簽,驗(yàn)簽通過后,生成策略模板,使用可信安 全管理中屯、平臺(tái)私鑰證書對(duì)策略模板進(jìn)行簽名,存入可信軟件庫,最后將策略模板自動(dòng)下 發(fā)至運(yùn)行端服務(wù)器;
[0011] (5)運(yùn)行端服務(wù)器安裝程序時(shí),使用可信安全管理中屯、平臺(tái)公鑰證書對(duì)策略模板 進(jìn)行驗(yàn)簽,再使用檢測(cè)公鑰證書和開發(fā)公鑰證書對(duì)其中的軟件進(jìn)行驗(yàn)簽,驗(yàn)簽均通過后,策 略模板入本地白名單庫,軟件方可運(yùn)行。
[0012] 優(yōu)選的,所述開發(fā)證書包括開發(fā)公鑰證書和開發(fā)私鑰證書;
[0013] 所述檢測(cè)證書包括檢測(cè)公鑰證書和檢測(cè)私鑰證書;
[0014] 所述可信安全管理中屯、平臺(tái)證書包括可信安全管理中屯、平臺(tái)公鑰證書和可信安 全管理中屯、平臺(tái)私鑰證書。
[0015] 優(yōu)選的,所述數(shù)字證書頒發(fā)方式為離線導(dǎo)入并采用USB-KEY作為證書的載體。
[0016] 優(yōu)選的,所述數(shù)字證書用于對(duì)系統(tǒng)中用戶、進(jìn)程、服務(wù)的身份進(jìn)行鑒別;
[0017] 所述數(shù)字證書的管理規(guī)則包括:證書簽發(fā)、證書存儲(chǔ)、證書更新、證書注銷、軟件簽 名;
[0018] 所述數(shù)字證書由證書種類、證書命名、序列號(hào)、證書類別組成。
[0019] 優(yōu)選的,所述運(yùn)行端服務(wù)器處理步驟如下:
[0020] 1)獲取開發(fā)公鑰證書、檢測(cè)公鑰證書和可信安全管理中屯、平臺(tái)公鑰證書;
[0021] 2)獲得可信安全管理中屯、下發(fā)的策略模版;
[0022] 3)使用可信安全管理中屯、平臺(tái)公鑰證書對(duì)策略模版進(jìn)行驗(yàn)簽;
[0023] 4)驗(yàn)簽失敗,丟棄此模版,輸出此模版來源不合法,退出;
[0024] 5)檢查軟件是否存在;
[0025] 6)不存在,輸出預(yù)期值軟件包不存在,退出;
[0026] 7)使用檢測(cè)公鑰證書對(duì)軟件進(jìn)行驗(yàn)簽;
[0027] 8)驗(yàn)簽失敗,丟棄此模版,輸出預(yù)期值軟件包來源不合法,退出;
[0028] 9)使用開發(fā)公鑰證書對(duì)軟件進(jìn)行驗(yàn)簽;
[0029] 10)驗(yàn)簽失敗,丟棄此模版,輸出預(yù)期值軟件包來源不合法,退出;
[0030] 11)驗(yàn)簽通過后將策略模版加入本地白名單
[0031] 與現(xiàn)有技術(shù)相比,本發(fā)明具有W下有益效果:
[0032] (1)保障軟件版本一致性和安全性。
[0033] (2)對(duì)系統(tǒng)服務(wù)總線、消息總線W及實(shí)時(shí)庫來源進(jìn)行可信驗(yàn)證和統(tǒng)一版本管理。
[0034] (3)在運(yùn)行端實(shí)現(xiàn)系統(tǒng)軟件和策略模板的驗(yàn)簽和可信度量。
【附圖說明】
[0035] 圖1:本發(fā)明的軟件版本管理總體功能設(shè)計(jì)圖;
[0036] 圖2:本發(fā)明的軟件版本管理功能模塊劃分圖;
[0037] 圖3:本發(fā)明的軟件版本管理總體流程圖;
[0038] 圖4:本發(fā)明的數(shù)據(jù)簽名與驗(yàn)簽原理示意圖;
[0039] 圖5:本發(fā)明的軟件開發(fā)端處理流程圖;
[0040] 圖6:本發(fā)明的軟件檢測(cè)端處理流程圖;
[0041] 圖7:本發(fā)明的可信安全管理中屯、處理流程圖;
[0042] 圖8:本發(fā)明的運(yùn)行端服務(wù)器處理流程圖。
【具體實(shí)施方式】
[0043] 下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】做進(jìn)一步的詳細(xì)說明。
[0044] 本發(fā)明提供的技術(shù)方案是一種基于數(shù)字證書系統(tǒng)的軟件版本可信管理方法,軟件 版本管理可W分為兩大模塊,分別是可信安全管理中屯、模塊和運(yùn)行端服務(wù)器模塊。其中可 信安全管理中屯、模塊負(fù)責(zé)對(duì)軟件的來源進(jìn)行合法性檢查,生成配置策略模版,并策略模板 下發(fā)至運(yùn)行端服務(wù)器;運(yùn)行端服務(wù)器模塊負(fù)責(zé)對(duì)策略模版和軟件進(jìn)行來源合法性檢查驗(yàn) 證,驗(yàn)證通過后,策略模板入本地白名單庫,軟件方可運(yùn)行。
[0045] 如圖2所示,軟件版本管理功能主要?jiǎng)澐侄€(gè)部分:
[0046] 1、可信安全管理中屯、模塊
[0047] >關(guān)聯(lián)登錄證書
[004引建立管理員身份驗(yàn)證證書與安全管理員賬戶、密碼關(guān)聯(lián)關(guān)系。
[0049] >證書登錄
[0050] 使用管理員身份驗(yàn)證證書,同時(shí)輸入安全管理員賬戶、密碼進(jìn)行身份鑒別。
[0化1] >軟件檢測(cè)處理
[0052] 使用開發(fā)公鑰證書對(duì)軟件進(jìn)行驗(yàn)簽。
[0053] 使用檢測(cè)公鑰證書對(duì)軟件進(jìn)行驗(yàn)簽。
[0054] 檢查軟件類型,如果是可執(zhí)行文件、腳本或動(dòng)態(tài)庫文件,那么就生成軟件白名單策 略模版。
[0055] 使用可信安全管理中屯、平臺(tái)私鑰證書對(duì)策略模版進(jìn)行簽名。
[0化6] >生成策略模版
[0057]管理員為平臺(tái)配置策略,生成策略模版。
[0化引 > 策略模版下發(fā)
[0059] 管理員下發(fā)策略模版到運(yùn)行端服務(wù)器。
[0060] >可信軟件下發(fā)
[0061] 管理員通過手動(dòng)拷貝方式化盤),將可信軟件從可信安全管理中屯、提出,拷貝到運(yùn) 行端服務(wù)器。
[0062] 2、運(yùn)行端服務(wù)器模塊
[0063] >策略模版驗(yàn)簽
[0064] 使用可信安全管理中屯、平臺(tái)公鑰證書對(duì)策略模版進(jìn)行驗(yàn)簽,檢查策略模版與軟件 的對(duì)應(yīng)關(guān)系。
[00化] > 可信軟件驗(yàn)簽
[0066] 使用開發(fā)公鑰證書對(duì)軟件進(jìn)行驗(yàn)簽。
[0067] 使用檢測(cè)公鑰證書對(duì)軟件進(jìn)行驗(yàn)簽。
[006引 > 白名單驗(yàn)證
[0069] 可信軟件程序運(yùn)行時(shí),檢查是否在系統(tǒng)白名單中。
[0070] >軟件運(yùn)行時(shí)驗(yàn)簽
[0071] 當(dāng)軟件為可執(zhí)行文件、腳本或動(dòng)態(tài)庫類型,加載運(yùn)行時(shí),則對(duì)軟件進(jìn)行驗(yàn)簽。
[0072] 使用開發(fā)公鑰證書對(duì)軟件進(jìn)行驗(yàn)簽。
[0073] 使用檢測(cè)公鑰證書對(duì)軟件進(jìn)行驗(yàn)簽。
[0074] 系統(tǒng)采用PKI/CA方式構(gòu)建安全認(rèn)證體系來保證數(shù)據(jù)的可靠性和保密性。數(shù)字證書 系統(tǒng)分為多個(gè)級(jí)別,上一級(jí)證書系統(tǒng)為下一級(jí)證書系統(tǒng)頒發(fā)證書,證書頒發(fā)方式均為離線 導(dǎo)入。
[0075] 數(shù)字證書的基本功能是對(duì)系統(tǒng)中用戶、進(jìn)程、服務(wù)的身份進(jìn)行鑒別,通過數(shù)字證書 和角色證書結(jié)合使用實(shí)現(xiàn)。數(shù)字證書采用USB-KEY作為證書的載體,支持SM2算法。
[0076] 數(shù)字證書是系統(tǒng)身份、權(quán)限驗(yàn)證的依據(jù),可信安全策略的設(shè)計(jì)和實(shí)現(xiàn)需要使用系 統(tǒng)的證書體系作為驗(yàn)證和身份的依據(jù)。
[0077] 在最高級(jí)證書系統(tǒng)中單獨(dú)開辟版本管理的證書分支,證書簽發(fā)使用統(tǒng)一的命名方 式和序列號(hào)定義,W便于與其它證書進(jìn)行區(qū)分。各單位只能申請(qǐng)1張證書,由最高級(jí)別證書 系統(tǒng)審核后發(fā)放,各單位的證書和密鑰的使用需要由專人管理,密鑰和工具必須離線使用, 在未使用時(shí)應(yīng)做好嚴(yán)格的防護(hù)措施,避免未授權(quán)應(yīng)用,嚴(yán)格保證密鑰、證書和簽名工具的安 全可靠。
[0078] (1)定義證書格式
[0079] 證書由證書種類、證書命名、序列號(hào)、證書類別組成,各部分具體定義如下:
[0080] 1)證書種類分為開發(fā)廠商證書、檢測(cè)證書;
[0081] 2)證書命名:KF-軟件種類-廠商名稱;KF-檢測(cè)。其中軟件種類為0S(操作系統(tǒng))、DB (數(shù)據(jù)庫)、BP(基礎(chǔ)平臺(tái))、(APP高級(jí)應(yīng)用)
[0082] 3)序列號(hào):自定義部分第一字節(jié)為01
[0083] 4)證書類別:其它
[0084] (2)定義證書管理規(guī)則
[0085] 系統(tǒng)中證書的管理由證書簽發(fā)、證書存儲(chǔ)、證書更新、證書注銷、軟件簽名工具組 成,各部分的具體定義如下:
[0086] 1)證書簽發(fā):由最高級(jí)別證書系統(tǒng)簽發(fā)。開發(fā)廠商使用USB-Key作證書載體時(shí)由最 高級(jí)別證書系統(tǒng)統(tǒng)一簽發(fā),使用可信計(jì)算密碼模塊作為證書載體時(shí)由申請(qǐng)單位提交證書請(qǐng) 求,最高級(jí)別證書系統(tǒng)統(tǒng)一簽發(fā)。
[0087] 2)證書存儲(chǔ):密鑰存儲(chǔ)在密碼硬件中USB-KEY中,公鑰證書格式進(jìn)行存儲(chǔ)和 傳遞。
[0088] 3)證書更新:證書過期時(shí),由各單位提更新請(qǐng)求,由最高級(jí)別證書系統(tǒng)審核通過后 進(jìn)行證書更新。
[0089] 4)證書注銷:在已發(fā)放證書的廠家不再進(jìn)行業(yè)務(wù)程序開發(fā)或證書私鑰泄露、丟失、 密碼硬件損壞等情況下,程序開發(fā)廠商必須及時(shí)上報(bào),由最高級(jí)別證書系統(tǒng)對(duì)已簽發(fā)證書 進(jìn)行注銷。
[0090] 5)軟件簽名工具:各廠商可使用統(tǒng)一工具或根據(jù)本方案自行開發(fā)工具進(jìn)行軟件版 本簽名。
[0091] 如圖3所示,總體流程:
[0092] 總體流程圖中設(shè)及到根證書系統(tǒng)、軟件開發(fā)廠商、軟件檢測(cè)端、可信安全管理中屯、 W及