本發(fā)明涉及物聯(lián)網(wǎng)安全,特別是涉及一種基于模糊系統(tǒng)的分布式網(wǎng)絡(luò)信任評(píng)估方法和裝置。
背景技術(shù):
1、分布式網(wǎng)絡(luò)中的信任模型是用于在分布式系統(tǒng)中建立和管理信任關(guān)系的機(jī)制,它確保在開放和動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境中,節(jié)點(diǎn)間能夠安全、可靠地進(jìn)行交互和協(xié)作。韓優(yōu)佳等人提出了一種安全路由協(xié)議tsrp,其中設(shè)計(jì)的信任模型主要用于識(shí)別惡意節(jié)點(diǎn)。tsrp的信任評(píng)估框圖如圖1所示。在信任因子選擇方面,該模型根據(jù)數(shù)據(jù)包的發(fā)送和接收來判斷節(jié)點(diǎn)的數(shù)據(jù)包接受情況和信道情況,并通過加權(quán)相加來計(jì)算節(jié)點(diǎn)的當(dāng)前直接信任。直接信任更新的過程中,提出使用揮發(fā)因子來提高節(jié)點(diǎn)識(shí)別的收斂性。在綜合信任的計(jì)算過程中,tsrp結(jié)合了直接信任、間接信任和能量信任。研究表明,tsrp協(xié)議在丟包率、端到端延遲和剩余能量方面有較好的性能,然而tsrp信任因子考慮較少,未能識(shí)別過多種類的惡意節(jié)點(diǎn)。tsrp使用的揮發(fā)因子是時(shí)間的函數(shù),而不是信任值的函數(shù),無法從公式和實(shí)驗(yàn)方面證明其可以提高算法的收斂性。tsrp的高收斂性是由于其考慮了較少的歷史記錄的結(jié)果。同時(shí)能量應(yīng)該在路由選擇的時(shí)候更多地考慮能量,而不是在計(jì)算節(jié)點(diǎn)信任值的時(shí)候。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問題是提供一種基于模糊系統(tǒng)的分布式網(wǎng)絡(luò)信任評(píng)估方法和裝置,能夠提高檢測(cè)惡意節(jié)點(diǎn)的精度和增加識(shí)別的惡意攻擊類型。
2、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種基于模糊系統(tǒng)的分布式網(wǎng)絡(luò)信任評(píng)估方法,包括以下步驟:
3、在發(fā)送數(shù)據(jù)包給下一跳節(jié)點(diǎn)后,通過確認(rèn)重傳機(jī)制和看門狗機(jī)制獲取下一跳節(jié)點(diǎn)的數(shù)據(jù)包接收情況、發(fā)送情況和篡改情況,并基于數(shù)據(jù)包接收情況、發(fā)送情況和篡改情況計(jì)算節(jié)點(diǎn)接收率、節(jié)點(diǎn)轉(zhuǎn)發(fā)率和節(jié)點(diǎn)篡改率;
4、在一輪迭代結(jié)束的時(shí)候,將節(jié)點(diǎn)接收率、節(jié)點(diǎn)轉(zhuǎn)發(fā)率和節(jié)點(diǎn)篡改率輸入第一模糊系統(tǒng),得到下一跳節(jié)點(diǎn)的當(dāng)前直接信任值;
5、將所述當(dāng)前直接信任值和歷史直接信任值之差輸入第二模糊系統(tǒng),得到信任修正值;
6、使用所述信任修正值對(duì)所述當(dāng)前直接信任值進(jìn)行修正,并基于修正后的當(dāng)前直接信任值和所述歷史直接信任值計(jì)算直接信任值;
7、將直接信任值和間接信任值進(jìn)行加權(quán)平均,得到下一跳節(jié)點(diǎn)的綜合信任。
8、所述節(jié)點(diǎn)接收率通過計(jì)算得到,其中,rr為節(jié)點(diǎn)接收率,sr為下一跳節(jié)點(diǎn)接收到的數(shù)據(jù)包數(shù)量,s為下一跳節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包數(shù)量。
9、所述節(jié)點(diǎn)轉(zhuǎn)發(fā)率通過計(jì)算得到,其中,fr為節(jié)點(diǎn)轉(zhuǎn)發(fā)率,sr為下一跳節(jié)點(diǎn)接收到的數(shù)據(jù)包數(shù)量,sf為下一跳節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包成功的次數(shù)。
10、所述節(jié)點(diǎn)篡改率通過計(jì)算得到,其中,mfr為節(jié)點(diǎn)篡改率,sr為下一跳節(jié)點(diǎn)接收到的數(shù)據(jù)包數(shù)量,mf為下一跳節(jié)點(diǎn)篡改的數(shù)據(jù)包數(shù)量。
11、所述第一模糊系統(tǒng)采用梯形函數(shù)作為語言變量的隸屬函數(shù),每個(gè)輸入的變量的語言值分為“低”、“中”、“高”和“很高”,所述第一模糊系統(tǒng)的模糊規(guī)則如下:當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“低”,且無節(jié)點(diǎn)接收率和節(jié)點(diǎn)篡改率時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為低時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“中”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“高”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為低、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為低;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“低”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“中”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“中”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“高”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“低”時(shí),輸出為“低”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“中”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“高”時(shí),輸出為“高”;當(dāng)輸入的節(jié)點(diǎn)轉(zhuǎn)發(fā)率為“很高”、節(jié)點(diǎn)接收率為“很高”、且節(jié)點(diǎn)篡改率為“很高”時(shí),輸出為“很高”。
12、所述第二模糊系統(tǒng)采用三角函數(shù)作為語言變量的隸屬函數(shù),語言變量表示為“負(fù)10”、“負(fù)9”、“負(fù)8”、“負(fù)7”、“負(fù)6”、“負(fù)5”、“負(fù)4”、“負(fù)3”、“負(fù)2”、“負(fù)1”、“0”、“正1”、“正2”、“正3”、“正4”、“正5”、“正6”、“正7”、“正8”、“正9”、“正10”,其含義為差值接近特定值的程度;所述第二模糊系統(tǒng)的模糊規(guī)則如下:當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)10”時(shí),輸出為“負(fù)5”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)9”時(shí),輸出為“負(fù)4”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)8”時(shí),輸出為“負(fù)4”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)7”時(shí),輸出為“負(fù)3”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)6”時(shí),輸出為“負(fù)3”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)5”時(shí),輸出為“負(fù)3”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)4”時(shí),輸出為“負(fù)3”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)3”時(shí),輸出為“負(fù)1”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)2”時(shí),輸出為“負(fù)1”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“負(fù)1”時(shí),輸出為“負(fù)1”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“0”時(shí),輸出為“0”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正1”時(shí),輸出為“正1”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正2”時(shí),輸出為“正1”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正3”時(shí),輸出為“正1”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正4”時(shí),輸出為“正1”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正5”時(shí),輸出為“正2”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正6”時(shí),輸出為“正2”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正7”時(shí),輸出為“正2”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正8”時(shí),輸出為“正3”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正9”時(shí),輸出為“正3”;當(dāng)輸入的所述當(dāng)前直接信任值和歷史直接信任值之差為“正10”時(shí),輸出為“正3”。
13、所述直接信任值通過dt=ω*hdt+(1-ω)*cdt′計(jì)算得到,其中,dt為直接信任值,hdt為歷史直接信任值,cdt′為修正后的當(dāng)前直接信任值,表示為:cdt′=cdt-δ1+δ2,cdt為當(dāng)前直接信任值,δ1為所述當(dāng)前直接信任值和歷史直接信任值之差,δ2為信任修正值。
14、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種基于模糊系統(tǒng)的分布式網(wǎng)絡(luò)信任評(píng)估裝置,包括:
15、獲取計(jì)算模塊,用于在發(fā)送數(shù)據(jù)包給下一跳節(jié)點(diǎn)后,通過確認(rèn)重傳機(jī)制和看門狗機(jī)制獲取下一跳節(jié)點(diǎn)的數(shù)據(jù)包接收情況、發(fā)送情況和篡改情況,并基于數(shù)據(jù)包接收情況、發(fā)送情況和篡改情況計(jì)算節(jié)點(diǎn)接收率、節(jié)點(diǎn)轉(zhuǎn)發(fā)率和節(jié)點(diǎn)篡改率;
16、當(dāng)前直接信任值確定模塊,用于在一輪迭代結(jié)束的時(shí)候,將節(jié)點(diǎn)接收率、節(jié)點(diǎn)轉(zhuǎn)發(fā)率和節(jié)點(diǎn)篡改率輸入第一模糊系統(tǒng),得到下一跳節(jié)點(diǎn)的當(dāng)前直接信任值;
17、信任修正值確定模塊,用于將所述當(dāng)前直接信任值和歷史直接信任值之差輸入第二模糊系統(tǒng),得到信任修正值;
18、修正計(jì)算模塊,用于使用所述信任修正值對(duì)所述當(dāng)前直接信任值進(jìn)行修正,并基于修正后的當(dāng)前直接信任值和所述歷史直接信任值計(jì)算直接信任值;
19、綜合信任計(jì)算模塊,用于將直接信任值和間接信任值進(jìn)行加權(quán)平均,得到下一跳節(jié)點(diǎn)的綜合信任。
20、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述基于模糊系統(tǒng)的分布式網(wǎng)絡(luò)信任評(píng)估方法的步驟。
21、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述基于模糊系統(tǒng)的分布式網(wǎng)絡(luò)信任評(píng)估方法的步驟。
22、有益效果
23、由于采用了上述的技術(shù)方案,本發(fā)明與現(xiàn)有技術(shù)相比,具有以下的優(yōu)點(diǎn)和積極效果:本發(fā)明考慮了更多的信任因子以識(shí)別更多的攻擊,同時(shí)采用模糊系統(tǒng)來計(jì)算信任值,保證直接信任值的獲取更加符合人類邏輯,通過設(shè)計(jì)模糊系統(tǒng)進(jìn)行直接信任的更新,能夠有效控制算法的識(shí)別精度。