專利名稱:獲取簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議管理密鑰的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)管理,特別是指基于公私鑰體系的自動(dòng)獲取簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)管理密鑰的方法及系統(tǒng)。
背景技術(shù):
SNMP是由互聯(lián)網(wǎng)工程任務(wù)組織(IETF)制定的通用網(wǎng)絡(luò)管理協(xié)議,提供了一種從網(wǎng)絡(luò)設(shè)備中收集網(wǎng)絡(luò)管理信息的方法,同時(shí)可通過循環(huán)消息與意外事件報(bào)告相結(jié)合的方式進(jìn)行網(wǎng)絡(luò)設(shè)備管理,適用于多種通信傳輸協(xié)議。
SNMP現(xiàn)有v1、v2c、v3等幾個(gè)版本。其中,在SNMP的v3版本中,引入了基于用戶的安全模型(USM),并在USM用戶列表中記錄用戶的密鑰相關(guān)信息,可以保證SNMPv3實(shí)體檢測(cè)消息的完整性和實(shí)時(shí)性,并保證消息在傳輸過程中不會(huì)被人竊聽。USM通過用數(shù)據(jù)加密標(biāo)準(zhǔn)-循環(huán)冗余校驗(yàn)(DES-CRC)算法加密消息包、用MD5/SHA1算法為消息計(jì)算簽名及增加消息的時(shí)間戳等方式來達(dá)到上述目的。
SNMPv3中的USM模型本身是安全的,但在易用性、實(shí)施方面卻存在以下問題1、USM用戶權(quán)限管理體系是一種基于共享密鑰的機(jī)制,在系統(tǒng)中如果采用SNMPv3管理協(xié)議,就必須預(yù)先為每個(gè)網(wǎng)絡(luò)實(shí)體配置引擎標(biāo)識(shí)符(EngineID)、用戶名及其對(duì)應(yīng)的DES-CRC加密算法的初始密鑰、MD5簽名算法的初始密鑰。在網(wǎng)絡(luò)系統(tǒng)中往往設(shè)備數(shù)量巨大,在終端管理系統(tǒng)中的設(shè)備數(shù)量可達(dá)幾萬臺(tái),如果要通過手工方式為每個(gè)網(wǎng)絡(luò)代理實(shí)體和網(wǎng)絡(luò)管理實(shí)體進(jìn)行配置,其工作量就會(huì)相當(dāng)可觀。
2、需要手工維護(hù)加密密鑰和鑒權(quán)密鑰,對(duì)管理員來說,工作量巨大而且容易出錯(cuò),為系統(tǒng)帶來了額外的安全隱患。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了基于公私鑰體系的自動(dòng)獲取SNMP管理密鑰的方法。
本發(fā)明還提供了基于公私鑰體系的自動(dòng)獲取SNMP管理密鑰的系統(tǒng)。
本發(fā)明提供的技術(shù)方案具體如下本發(fā)明提供一種自動(dòng)獲取簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP管理密鑰的方法,該方法的實(shí)現(xiàn)過程包括以下步驟A、SNMP管理站通知SNMP代理協(xié)商新的密鑰;B、SNMP代理計(jì)算主密鑰并對(duì)主密鑰加密得到已加密主密鑰,并根據(jù)是否成功得到已加密主密鑰來設(shè)置密鑰協(xié)商結(jié)果;C、SNMP代理將密鑰協(xié)商結(jié)果通過密鑰協(xié)商結(jié)果Trap消息上報(bào)給SNMP管理站;D、SNMP管理站根據(jù)收到的密鑰協(xié)商結(jié)果確定成功得到已加密主密鑰,則解密得到主密鑰,并進(jìn)一步得到加密密鑰和鑒權(quán)密鑰,然后通知SNMP代理已完成密鑰協(xié)商;SNMP代理收到已完成密鑰協(xié)商消息,完成獲得管理密鑰流程。
在所述步驟A和步驟B之間可進(jìn)一步包括B00、SNMP管理站向SNMP代理獲取代理證書和代理隨機(jī)數(shù),并檢查代理證書的有效性,如果有效,則向SNMP代理發(fā)送管理站證書和管理站隨機(jī)數(shù);如果無效,則結(jié)束本流程;B01、SNMP代理檢查收到的管理站證書的有效性。
所述步驟A之前,可進(jìn)一步包括SNMP代理向SNMP管理站發(fā)送密鑰協(xié)商Trap消息,SNMP管理站收到該消息后,決定是否協(xié)商新的密鑰。
如果決定協(xié)商新的密鑰,則步驟A為SNMP管理站通過包含密鑰協(xié)商開關(guān)值為On的設(shè)置數(shù)據(jù)協(xié)議單元SetPDU信息通知SNMP代理協(xié)商新的密鑰;否則,通過包含密鑰協(xié)商開關(guān)值為Off的SetPDU信息通知SNMP代理結(jié)束本流程。
步驟B中所述計(jì)算主密鑰進(jìn)一步包括以下步驟SNMP代理產(chǎn)生一個(gè)隨機(jī)值,并結(jié)合步驟B00中所述的代理隨機(jī)數(shù)和管理站隨機(jī)數(shù),計(jì)算出主密鑰。所述計(jì)算主密鑰是采用偽隨機(jī)函數(shù)PRF算法計(jì)算。
所述對(duì)主密鑰進(jìn)行加密得到已加密主密鑰具體為SNMP代理先用SNMP管理站證書中的公鑰對(duì)主密鑰進(jìn)行加密得到中間加密主密鑰,再用SNMP代理的私鑰對(duì)中間加密主密鑰進(jìn)行再加密,得到已加密主密鑰。所述加密是采用RSA算法加密,加密密鑰位數(shù)至少為512位。
在計(jì)算出主密鑰之后,SNMP代理根據(jù)主密鑰進(jìn)一步得到加密密鑰和鑒權(quán)密鑰,并以此更新基于用戶的安全模型USM用戶列表中的用戶加密密鑰和鑒權(quán)密鑰。
如果在步驟B中成功得到已加密主密鑰,則步驟E中所述的SNMP代理設(shè)置密鑰協(xié)商結(jié)果是將密鑰協(xié)商結(jié)果的值置為1;否則,步驟E中所述的SNMP代理設(shè)置密鑰協(xié)商結(jié)果是將密鑰協(xié)商結(jié)果的值置為0。
如果在步驟B中成功得到已加密主密鑰,則在所述的將密鑰協(xié)商結(jié)果的值置為1之后,進(jìn)一步包括設(shè)置用戶名和已加密主密鑰。
步驟D中所述解密具體為先用SNMP代理證書中的公鑰對(duì)已加密主密鑰進(jìn)行解密,得到中間解密主密鑰,再用SNMP管理站的私鑰對(duì)中間解密主密鑰進(jìn)行再解密,得到主密鑰。所述解密是采用RSA算法解密。
步驟D中所述通知SNMP代理已完成密鑰協(xié)商,通過發(fā)送SNMP v3格式的消息包實(shí)現(xiàn),且安全級(jí)別是既加密又鑒權(quán)。
如果步驟A中所述新的密鑰是初始密鑰,則相應(yīng)的,如果步驟B中成功得到已加密主密鑰,則步驟B中所述的SNMP代理設(shè)置密鑰協(xié)商結(jié)果是將密鑰協(xié)商結(jié)果的值置為1,并設(shè)置用戶名和已加密主密鑰;如果步驟B中未成功得到已加密主密鑰,則步驟B中所述的SNMP代理設(shè)置密鑰協(xié)商結(jié)果是將密鑰協(xié)商結(jié)果的值置為0,并將用戶名和已加密主密鑰設(shè)置為空。
本發(fā)明還提供了一種基于SNMP的獲取管理密鑰的系統(tǒng),由可操作SNMP管理信息庫(MIB)節(jié)點(diǎn)的SNMP管理站和被管理的SNMP代理組成,在SNMP MIB節(jié)點(diǎn)中增設(shè)具有信息交互管理控制功能的節(jié)點(diǎn),用于SNMP管理站和SNMP代理之間進(jìn)行信息交互,以獲取管理密鑰。
在上述的系統(tǒng)中,所述的具有信息交互管理控制功能的節(jié)點(diǎn)進(jìn)一步包括用于SNMP代理啟動(dòng)密鑰協(xié)商流程向SNMP管理站發(fā)送密鑰協(xié)商Trap消息的密鑰協(xié)商Trap消息節(jié)點(diǎn)、用于SNMP代理向SNMP管理站發(fā)送密鑰協(xié)商結(jié)果Trap消息的密鑰協(xié)商結(jié)果Trap消息節(jié)點(diǎn)、用于設(shè)置密鑰協(xié)商開關(guān)的密鑰協(xié)商開關(guān)節(jié)點(diǎn)、用于驗(yàn)證SNMP代理證書合法性的代理證書節(jié)點(diǎn)、用于驗(yàn)證SNMP管理站證書合法性的管理站證書節(jié)點(diǎn)、用于產(chǎn)生主密鑰的代理隨機(jī)數(shù)節(jié)點(diǎn)和管理站隨機(jī)數(shù)節(jié)點(diǎn)、用于處理已加密主密鑰的已加密主密鑰節(jié)點(diǎn)和用于提供密鑰協(xié)商結(jié)果的密鑰協(xié)商結(jié)果節(jié)點(diǎn)。
本發(fā)明提供了基于公私鑰體系的自動(dòng)獲取SNMP管理密鑰的方法及系統(tǒng),利用SNMP系統(tǒng)中的Trap消息機(jī)制,可實(shí)現(xiàn)SNMP協(xié)議USM中的加密密鑰和鑒權(quán)密鑰的自動(dòng)初始化及更新管理,減少了管理的難度和工作量。
圖1為根據(jù)本發(fā)明提供的方法自動(dòng)獲取SNMPv3管理密鑰的實(shí)施例示意圖;圖2為本發(fā)明提供的自動(dòng)獲取SNMPv3管理密鑰的系統(tǒng)實(shí)施例示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。
圖1為根據(jù)本發(fā)明提供的方法自動(dòng)獲取SNMPv3管理密鑰的實(shí)施例示意圖。在本實(shí)施例中,通過采用本發(fā)明的基于公私鑰體系的方法,在不影響現(xiàn)有SNMPv3體系架構(gòu)的情況下,在需要協(xié)商密鑰時(shí)可以自動(dòng)協(xié)商出密鑰。具體步驟如下步驟A1由SNMP代理向SNMP管理站發(fā)出密鑰協(xié)商Trap消息,這一消息必須在每次啟動(dòng)后先于注冊(cè)Trap消息發(fā)送。如果直接發(fā)送注冊(cè)Trap消息,SNMP管理站將直接丟棄。
步驟A2SNMP管理站在收到含有密鑰協(xié)商信息的SNMP TrapPDU后,可根據(jù)配置策略決定是協(xié)商新的密鑰還是延用上次協(xié)商的密鑰。如果需要協(xié)商新的密鑰,如更新密鑰或初始密鑰,SNMP管理站就將密鑰協(xié)商開關(guān)(KeyChangeSwitch)設(shè)為On,然后通過SetPDU通知SNMP代理,并在收到SNMP代理的響應(yīng)后執(zhí)行步驟A3。
步驟A3SNMP管理站向SNMP代理發(fā)送獲取數(shù)據(jù)協(xié)議單元(GetPDU)信息,獲取代理證書(ProxyCertificate)和用于產(chǎn)生主密鑰(MasterKey)的代理隨機(jī)數(shù)(PrxoyRandom),其中,產(chǎn)生的代理隨機(jī)數(shù)只對(duì)本次交互有效,下次交互將產(chǎn)生新的代理隨機(jī)數(shù)。
步驟A4SNMP管理站檢查代理證書的有效性,如果有效則執(zhí)行步驟A5,如果無效則直接丟棄。
步驟A5SNMP管理站通過SetPDU信息向SNMP代理發(fā)送管理站證書(ManagerCertificate)和產(chǎn)生的管理站隨機(jī)數(shù)(ManagerRandom)。
步驟A6SNMP代理驗(yàn)證SNMP管理站證書的有效性,如果成功,則執(zhí)行步驟A7;如果失敗,則直接執(zhí)行步驟A11。
步驟A7SNMP代理產(chǎn)生一個(gè)新隨機(jī)值,并結(jié)合已產(chǎn)生的代理隨機(jī)數(shù)和管理站隨機(jī)數(shù),采用PRF算法得出主密鑰(MasterKey)。
步驟A8SNMP代理根據(jù)主密鑰產(chǎn)生加密密鑰(PrivateKey)和鑒權(quán)密鑰(AuthenticateKey)。
步驟A9SNMP代理用加密密鑰和鑒權(quán)密鑰更新USM用戶列表中的用戶的加密密鑰和鑒權(quán)密鑰。
步驟A10SNMP代理對(duì)主密鑰進(jìn)行兩次加密,首先用管理站證書中的公鑰進(jìn)行加密得到中間加密主密鑰(MiddleEncrypedMasterKey),再用代理的私鑰對(duì)中間加密主密鑰進(jìn)行加密得到已加密主密鑰(EncrypedMasterKey)。其中,對(duì)主密鑰的加密采用RSA算法,加密密鑰位數(shù)至少為512位。
步驟A11SNMP代理通過TrapPDU向SNMP管理站上報(bào)密鑰協(xié)商結(jié)果(KeyChangeResult)、用戶名和已加密主密鑰。
其中,如果在步驟A6~A10中任何一步失敗都將直接轉(zhuǎn)至本步驟執(zhí)行,并將密鑰協(xié)商結(jié)果置為0;如果步驟A6~A10都執(zhí)行成功,則將密鑰協(xié)商結(jié)果置為1,并填入用戶名和已加密主密鑰。
步驟A12SNMP管理站獲得密鑰協(xié)商結(jié)果的值,如果值為0,表示失敗,直接丟棄;如果值為1,則取出已加密主密鑰的值進(jìn)行兩次解密,先用代理證書中的公鑰進(jìn)行解密得到中間解密主密鑰(MiddleDecryptedMasterKey),再用SNMP管理站的私鑰對(duì)中間解密主密鑰進(jìn)行解密得到主密鑰,然后根據(jù)主密鑰算出加密密鑰和鑒權(quán)密鑰并保存。這樣就得到了可訪問SNMP代理的用戶名及其加密密鑰和鑒權(quán)密鑰。
步驟A13SNMP管理站向SNMP代理發(fā)送一個(gè)SetPDU指示密鑰協(xié)商完成,該消息為SNMPv3格式,其安全級(jí)別是既加密又鑒權(quán),訪問的用戶名是用戶名。SNMP代理收到此命令后,如果可以得到PDU,則表示密鑰協(xié)商成功;否則,表示密鑰協(xié)商失敗。
在上述的密鑰協(xié)商過程中,利用原有的SNMP消息機(jī)制并采用公私鑰算法來獲取自動(dòng)初始化加密密鑰和鑒權(quán)密鑰。在整個(gè)密鑰協(xié)商過程中,由SNMP代理控制其進(jìn)程如果SNMP代理在規(guī)定時(shí)間內(nèi)未收到SNMP管理站得發(fā)送的消息包,則可根據(jù)自己的策略決定是重新初始化密鑰協(xié)商過程還是停止協(xié)商過程。
在如圖1所示的步驟A1~A12的SNMP消息包均采用SNMPv2c格式,只有在步驟A13發(fā)送的消息包必須為既加密又鑒權(quán)的SNMPv3格式。
在如圖1所示的實(shí)施例中,需要協(xié)商的新的密鑰可以是更新密鑰或初始密鑰。如果需要協(xié)商的是初始密鑰,則如果在步驟A6~A10中任何一步失敗,在此后進(jìn)行的步驟A11中,SNMP代理將密鑰協(xié)商結(jié)果置為0,用戶名和已加密主密鑰都置為空。圖1所示過程中,步驟A2至A6、以及步驟A7中SNMP代理產(chǎn)生一個(gè)新隨機(jī)值的步驟,可以考慮省略,SNMP代理只要能計(jì)算出主密鑰即可。
如圖1所示的實(shí)施例是描述在需要協(xié)商新的密鑰時(shí)的情況,在步驟A2中,SNMP管理站將密鑰協(xié)商開關(guān)設(shè)為On,然后通過SetPDU通知SNMP代理,并在此后的步驟中自動(dòng)協(xié)商出新的密鑰。然后,SNMP代理在獲得新的密鑰后可以向SNMP管理站發(fā)送注冊(cè)Trap消息,并繼續(xù)后面的業(yè)務(wù)流程。
在另一種情況下,如果不需要協(xié)商新的密鑰,則SNMP管理站將密鑰協(xié)商開關(guān)設(shè)為Off,然后通過SetPDU通知SNMP代理。如果SNMP代理檢測(cè)到原有的密鑰可用,則可使用原有的密鑰向SNMP管理站發(fā)送注冊(cè)Trap消息,并繼續(xù)后面的業(yè)務(wù)流程;如果SNMP代理檢測(cè)到原有的密鑰不可用,則SNMP代理可根據(jù)自己的策略決定返回協(xié)商新的密鑰。
圖2為本發(fā)明提供的自動(dòng)獲取SNMPv3管理密鑰的系統(tǒng)實(shí)施例示意圖。如圖2所示,SNMP管理站220通過SNMP系統(tǒng)的MIB 200實(shí)現(xiàn)對(duì)于SNMP代理210的管理,并通過SNMP系統(tǒng)的Trap消息交互,實(shí)現(xiàn)自動(dòng)獲取SNMPv3管理密鑰的目的。其中,在SNMP管理站220和SNMP代理210之間的SNMPMIB 200中增加了一些新的具有信息交互管理控制功能的MIB節(jié)點(diǎn),以實(shí)現(xiàn)自動(dòng)獲取管理密鑰的目的。所增加的節(jié)點(diǎn)主要包括密鑰協(xié)商(KeyChangeEvent)Trap消息節(jié)點(diǎn)201,供SNMP代理在啟動(dòng)后發(fā)送第一個(gè)Trap消息,用于提示SNMP管理站SNMP代理已做好進(jìn)行密鑰協(xié)商的準(zhǔn)備。
密鑰協(xié)商結(jié)果(KeyChangeResultEvent)Trap消息節(jié)點(diǎn)202,供SNMP代理向SNMP管理站上報(bào)主密鑰產(chǎn)生的密鑰協(xié)商結(jié)果。
密鑰協(xié)商開關(guān)(KeyChangeSwitch)節(jié)點(diǎn)203,用于設(shè)置密鑰協(xié)商開關(guān)值,如果要將密鑰協(xié)商開關(guān)打開(on),則將值設(shè)置為1,表示需要協(xié)商新的密鑰;如果要將密鑰協(xié)商開關(guān)關(guān)閉(off),則將值設(shè)置為0,表示不需要協(xié)商新的密鑰。
代理證書(ProxyCertificate)節(jié)點(diǎn)204,用于提供可讀取的代理證書,代理證書中的標(biāo)志應(yīng)與EngineID相同。
代理隨機(jī)數(shù)(ProxyRandom)節(jié)點(diǎn)205,用于提供可讀取的代理隨機(jī)數(shù),以產(chǎn)生主密鑰,代理隨機(jī)數(shù)只在同一次協(xié)商密鑰過程中有效。
管理站證書(ManagerCertificate)節(jié)點(diǎn)206,用于設(shè)置管理站證書,管理站證書中的標(biāo)志應(yīng)與EngineID相同。
管理站隨機(jī)數(shù)(ManagerRandom)節(jié)點(diǎn)207,用于設(shè)置管理站隨機(jī)數(shù),以產(chǎn)生主密鑰,管理站隨機(jī)數(shù)只在同一次協(xié)商密鑰過程中有效。
已加密主密鑰(EncrypedMasterKey)節(jié)點(diǎn)208,用于設(shè)置已加密主密鑰。
密鑰協(xié)商結(jié)果(KeyChangeResult)節(jié)點(diǎn)209,用于提供可讀取的密鑰協(xié)商結(jié)果,所提供的密鑰協(xié)商結(jié)果值為1表示成功,值為0表示失敗。
通過增設(shè)以上SNMP MIB節(jié)點(diǎn),SNMP管理站220可以與SNMP代理210進(jìn)行信息交互,通過SNMP的Trap消息機(jī)制實(shí)現(xiàn)自動(dòng)獲取管理密鑰SNMP管理站220在收到SNMP代理210通過密鑰協(xié)商Trap消息節(jié)點(diǎn)201發(fā)來的密鑰協(xié)商Trap消息后,可決定協(xié)商新的密鑰,如更新密鑰或初始密鑰,此時(shí)通過密鑰協(xié)商開關(guān)節(jié)點(diǎn)203將密鑰協(xié)商開關(guān)設(shè)為On,并通知SNMP代理210;SNMP管理站220通過代理證書節(jié)點(diǎn)204和代理隨機(jī)數(shù)節(jié)點(diǎn)205獲取SNMP代理210的代理證書和代理隨機(jī)數(shù)后,如果驗(yàn)證代理證書有效,則對(duì)管理站證書節(jié)點(diǎn)206和管理站隨機(jī)數(shù)節(jié)點(diǎn)207進(jìn)行設(shè)置,并向SNMP代理210發(fā)送管理站證書和管理站隨機(jī)數(shù);SNMP代理210驗(yàn)證管理站證書有效,則產(chǎn)生一個(gè)新的隨機(jī)值,并結(jié)合已產(chǎn)生的代理隨機(jī)數(shù)和管理站隨機(jī)數(shù),采用PRF算法得出主密鑰,并進(jìn)一步產(chǎn)生加密密鑰和鑒權(quán)密鑰,然后用其更新USM用戶列表中的用戶加密密鑰和鑒權(quán)密鑰;SNMP代理210采用RSA算法對(duì)主密鑰進(jìn)行兩次加密后,得到已加密主密鑰。
如果SNMP代理210成功加密主密鑰,則將密鑰協(xié)商結(jié)果的值置為1,并通過已加密主密鑰節(jié)點(diǎn)208設(shè)置已加密主密鑰。SNMP代理210將含有密鑰協(xié)商結(jié)果、用戶名和已加密主密鑰的信息,通過密鑰協(xié)商結(jié)果Trap消息節(jié)點(diǎn)202,以密鑰協(xié)商結(jié)果Trap消息的方式上報(bào)SNMP管理站220。
SNMP管理站220通過密鑰協(xié)商結(jié)果節(jié)點(diǎn)209查看密鑰協(xié)商結(jié)果的值,如果值為1,則對(duì)已加密主密鑰進(jìn)行解密得到主密鑰,并進(jìn)一步算出加密密鑰和鑒權(quán)密鑰并保存。這樣就得到了可訪問SNMP代理210的用戶名及其加密密鑰和鑒權(quán)密鑰。SNMP管理站220向SNMP代理210發(fā)送一個(gè)SNMPv3格式的SetPDU指示密鑰協(xié)商完成。
SNMP代理210如果得到PDU,則表示密鑰協(xié)商成功,可向SNMP管理站220發(fā)送注冊(cè)Trap消息,繼續(xù)后面的業(yè)務(wù)流程。
總之,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種自動(dòng)獲取簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP管理密鑰的方法,其特征在于,該方法的實(shí)現(xiàn)過程包括以下步驟A、SNMP管理站通知SNMP代理協(xié)商新的密鑰;B、SNMP代理計(jì)算主密鑰并對(duì)主密鑰加密得到已加密主密鑰,并根據(jù)是否成功得到已加密主密鑰來設(shè)置密鑰協(xié)商結(jié)果;C、SNMP代理將密鑰協(xié)商結(jié)果通過密鑰協(xié)商結(jié)果Trap消息上報(bào)給SNMP管理站;D、SNMP管理站根據(jù)收到的密鑰協(xié)商結(jié)果確定成功得到已加密主密鑰,則解密得到主密鑰,并進(jìn)一步得到加密密鑰和鑒權(quán)密鑰,然后通知SNMP代理已完成密鑰協(xié)商;SNMP代理收到已完成密鑰協(xié)商消息,完成獲得管理密鑰流程。
2.如權(quán)利要求1所述的方法,其特征在于,步驟A和步驟B之間進(jìn)一步包括B00、SNMP管理站向SNMP代理獲取代理證書和代理隨機(jī)數(shù),并檢查代理證書的有效性,如果有效,則向SNMP代理發(fā)送管理站證書和管理站隨機(jī)數(shù);如果無效,則結(jié)束本流程;B01、SNMP代理檢查收到的管理站證書的有效性。
3.如權(quán)利要求2所述的方法,其特征在于,所述步驟A之前,進(jìn)一步包括SNMP代理向SNMP管理站發(fā)送密鑰協(xié)商Trap消息,SNMP管理站收到該消息后,決定是否協(xié)商新的密鑰。
4.如權(quán)利要求3所述的方法,其特征在于,如果決定協(xié)商新的密鑰,則步驟A為SNMP管理站通過包含密鑰協(xié)商開關(guān)值為On的設(shè)置數(shù)據(jù)協(xié)議單元SetPDU信息通知SNMP代理協(xié)商新的密鑰;否則,通過包含密鑰協(xié)商開關(guān)值為Off的SetPDU信息通知SNMP代理結(jié)束本流程。
5.如權(quán)利要求2、3或4所述的方法,其特征在于,步驟B中所述計(jì)算主密鑰進(jìn)一步包括以下步驟SNMP代理產(chǎn)生一個(gè)隨機(jī)值,并結(jié)合步驟B00中所述的代理隨機(jī)數(shù)和管理站隨機(jī)數(shù),計(jì)算出主密鑰。
6.如權(quán)利要求5所述的方法,其特征在于,所述對(duì)主密鑰進(jìn)行加密得到已加密主密鑰具體為SNMP代理先用SNMP管理站證書中的公鑰對(duì)主密鑰進(jìn)行加密得到中間加密主密鑰,再用SNMP代理的私鑰對(duì)中間加密主密鑰進(jìn)行再加密,得到已加密主密鑰。
7.如權(quán)利要求5所述的方法,其特征在于,在計(jì)算出主密鑰之后,SNMP代理根據(jù)主密鑰進(jìn)一步得到加密密鑰和鑒權(quán)密鑰,并以此更新基于用戶的安全模型USM用戶列表中的用戶加密密鑰和鑒權(quán)密鑰。
8.如權(quán)利要求5所述的方法,其特征在于,所述計(jì)算主密鑰是采用偽隨機(jī)函數(shù)PRF算法計(jì)算。
9.如權(quán)利要求5所述的方法,其特征在于,所述加密是采用RSA算法加密,加密密鑰位數(shù)至少為512位。
10.如權(quán)利要求1所述的方法,其特征在于,如果在步驟B中成功得到已加密主密鑰,則步驟E中所述的SNMP代理設(shè)置密鑰協(xié)商結(jié)果是將密鑰協(xié)商結(jié)果的值置為1;否則,步驟E中所述的SNMP代理設(shè)置密鑰協(xié)商結(jié)果是將密鑰協(xié)商結(jié)果的值置為0。
11.如權(quán)利要求10所述的方法,其特征在于,如果在步驟B中成功得到已加密主密鑰,則在所述的將密鑰協(xié)商結(jié)果的值置為1之后,進(jìn)一步包括設(shè)置用戶名和已加密主密鑰。
12.如權(quán)利要求6所述的方法,其特征在于,步驟D中所述解密具體為先用SNMP代理證書中的公鑰對(duì)已加密主密鑰進(jìn)行解密,得到中間解密主密鑰,再用SNMP管理站的私鑰對(duì)中間解密主密鑰進(jìn)行再解密,得到主密鑰。
13.如權(quán)利要求12所述的方法,其特征在于,所述解密是采用RSA算法解密。
14.如權(quán)利要求1、2或10所述的方法,其特征在于,步驟D中所述通知SNMP代理已完成密鑰協(xié)商,通過發(fā)送SNMP v3格式的消息包實(shí)現(xiàn),且安全級(jí)別是既加密又鑒權(quán)。
15.如權(quán)利要求1、2或10所述的方法,其特征在于,步驟A中所述新的密鑰是初始密鑰;相應(yīng)的,如果步驟B中成功得到已加密主密鑰,則步驟B中所述的SNMP代理設(shè)置密鑰協(xié)商結(jié)果是將密鑰協(xié)商結(jié)果的值置為1,并設(shè)置用戶名和已加密主密鑰;如果步驟B中未成功得到已加密主密鑰,則步驟B中所述的SNMP代理設(shè)置密鑰協(xié)商結(jié)果是將密鑰協(xié)商結(jié)果的值置為0,并將用戶名和已加密主密鑰設(shè)置為空。
16.一種基于SNMP的獲取管理密鑰的系統(tǒng),由可操作SNMP管理信息庫SNMP MIB節(jié)點(diǎn)的SNMP管理站和被管理的SNMP代理組成,其特征在于,在SNMP MIB節(jié)點(diǎn)中增設(shè)具有信息交互管理控制功能的節(jié)點(diǎn),用于SNMP管理站和SNMP代理之間進(jìn)行信息交互,獲取管理密鑰。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述的具有信息交互管理控制功能的節(jié)點(diǎn)進(jìn)一步包括用于SNMP代理啟動(dòng)密鑰協(xié)商流程向SNMP管理站發(fā)送密鑰協(xié)商Trap消息的密鑰協(xié)商Trap消息節(jié)點(diǎn)、用于SNMP代理向SNMP管理站發(fā)送密鑰協(xié)商結(jié)果Trap消息的密鑰協(xié)商結(jié)果Trap消息節(jié)點(diǎn)、用于設(shè)置密鑰協(xié)商開關(guān)的密鑰協(xié)商開關(guān)節(jié)點(diǎn)、用于驗(yàn)證SNMP代理證書合法性的代理證書節(jié)點(diǎn)、用于驗(yàn)證SNMP管理站證書合法性的管理站證書節(jié)點(diǎn)、用于產(chǎn)生主密鑰的代理隨機(jī)數(shù)節(jié)點(diǎn)和管理站隨機(jī)數(shù)節(jié)點(diǎn)、用于處理已加密主密鑰的已加密主密鑰節(jié)點(diǎn)和用于提供密鑰協(xié)商結(jié)果的密鑰協(xié)商結(jié)果節(jié)點(diǎn)。
全文摘要
本發(fā)明提供了自動(dòng)獲取簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)管理密鑰的方法及系統(tǒng),利用SNMP系統(tǒng)的Trap消息機(jī)制,并引入公私鑰加密方式,實(shí)現(xiàn)了SNMP協(xié)議基于用戶的安全模型(USM)中的加密密鑰和鑒權(quán)密鑰的自動(dòng)初始化及更新管理,從而減少了管理的難度和工作量。
文檔編號(hào)H04L9/30GK101047493SQ20061008366
公開日2007年10月3日 申請(qǐng)日期2006年6月2日 優(yōu)先權(quán)日2006年6月2日
發(fā)明者陳遠(yuǎn)翔, 張權(quán) 申請(qǐng)人:華為技術(shù)有限公司