本發(fā)明涉及隱私保護技術(shù)領域,尤其涉及應對智能家居環(huán)境中旁路攻擊的隱私保護方法及系統(tǒng)。
背景技術(shù):
隨著無線通信、傳感器等技術(shù)的不斷進步,推動了具有跨時代意義的物聯(lián)網(wǎng)的產(chǎn)生與發(fā)展。物聯(lián)網(wǎng)綜合了眾多研究學科,已成為目前IT領域的熱點之一。智能家居作為物聯(lián)網(wǎng)的主要分支,近年來得到了廣泛的關(guān)注和快速的發(fā)展。智能家居中的無線傳感器可以感知,智能家居的出現(xiàn)給人們的生活帶來巨大便利的同時,也對智能家居環(huán)境中用戶的隱私帶來了巨大挑戰(zhàn)。傳統(tǒng)的加密方法可以保證數(shù)據(jù)在傳輸過程中的安全性,但是旁路攻擊可以在不解析傳輸密文的前提下,通過分析傳輸?shù)臒o線射頻信號和時間序列,惡意獲取用戶的日常行為(Activity of Daily Living),通常旁路攻擊的識別率能夠達到85%-95%的準確度,這將給用戶的隱私造成嚴重的威脅,如果不能很好的解決智能家居環(huán)境中隱私保護問題,智能家居的發(fā)展將受到嚴重的阻礙。
目前智能家居環(huán)境中的隱私保護受到國內(nèi)外學術(shù)界的廣泛關(guān)注,并針對旁路攻擊提出了大量的隱私保護方案,從降低延遲和提高隱私保護效果方面展開了激烈的討論。應對旁路攻擊,最簡單有效的方法就是向傳輸序列中添加噪音數(shù)據(jù),即使攻擊者具有全局監(jiān)聽能力,能夠監(jiān)聽整個無線傳感器網(wǎng)絡,也無法從傳輸序列和射頻信號中獲取用戶的行為,或者獲取到錯誤的行為,從而達到保護用戶真實行為的效果。然而,受限于無線傳感器網(wǎng)絡中的傳感器節(jié)點的能源,計算能力,傳輸帶寬。如何能在添加最少的噪音的情況下,達到能耗和延遲的平衡,實現(xiàn)更好的隱私保護效果,是目前加噪音算法研究的熱點問題。典型的加噪音算法有固定頻率模型,間隔指數(shù)分布模型,基于語義理解的模型:
固定頻率模型:傳感器節(jié)點按照固定的頻率向匯聚節(jié)點發(fā)送感知信息,無論是否有事件觸發(fā)都會發(fā)送數(shù)據(jù)包,如果在發(fā)送的間隙傳感器被觸發(fā),需要等待至下次傳輸時才能發(fā)送探測到的事件。如果在發(fā)送的間隙沒有事件被觸發(fā),等到下次傳輸時,發(fā)送一個虛假的數(shù)據(jù)包。顯然這個模型對隱私保護能起到很好的效果。該模型最為突出的問題是平均延遲是傳輸間隔的一半。傳輸間隔的選擇對整個傳感器網(wǎng)絡會受到很大的影響,當傳輸間隔較小時,平均延遲會降低,但是整個網(wǎng)絡的負載會增加,丟包率和碰撞率就會增大,整個傳感器網(wǎng)絡的壽命也會隨之縮短。為了延長無線傳感器網(wǎng)絡的壽命,增大傳輸間隔,延遲也會隨之增大。
間隔指數(shù)分布模型:為了降低延遲,提出了間隔指數(shù)分布模型,該模型通過控制傳輸?shù)臅r間間隔,使得傳輸序列中的傳輸間隔服從指數(shù)分布,即便攻擊者監(jiān)聽到所有的傳輸信號,也無法通過分析傳輸序列的時間間隔去除噪音數(shù)據(jù)。該模型在實際應用的過程中,比較適合事件稀疏型的傳感器網(wǎng)絡,如果在一個時間區(qū)間內(nèi),事件被頻繁的觸發(fā),該模型的延遲同樣會維持在一個很高的水平。攻擊者還可以通過分析不同時間內(nèi)的平均發(fā)送間隔大小,來確定用戶的作息習慣,比如用戶在家并有活動的時候,無線傳感器網(wǎng)絡的發(fā)送序列是頻繁的,射頻信號的平均傳輸間隔將會降低,當用戶外出工作或者在睡覺的時候,無線傳感器的發(fā)送序列會變得稀疏,射頻信號的平均傳輸間隔將會增加,這也將會造成用戶作息習慣的泄露。
基于語義理解的模型:該模型通過預測用戶的行為,然后向正在發(fā)生的行為序列中添加模擬干擾行為,從而干擾攻擊者對用戶行為的預測。該模型能夠大大降低噪音數(shù)據(jù)的數(shù)量,只采用小的傳感器觸發(fā)的行為的集合,就能保護用戶將要發(fā)生的行為。該模型的隱私保護效果完全取決于行為預測的精度,如果行為預測失敗,那么添加的噪音數(shù)據(jù)將不足以干擾用戶的真實行為,用戶的行為將會泄露,從而降低了隱私保護的效果。
技術(shù)實現(xiàn)要素:
針對上述問題中存在的不足之處,本發(fā)明提供應對智能家居環(huán)境中旁路攻擊的隱私保護方法及系統(tǒng)。
為實現(xiàn)上述目的,本發(fā)明提供一種應對智能家居環(huán)境中旁路攻擊的隱私保護方法,包括:
步驟1、傳感器節(jié)點獲取智能家居的采樣數(shù)據(jù)、噪音數(shù)據(jù)和當前網(wǎng)絡狀態(tài)信息,所述采樣數(shù)據(jù)包括傳感器類型和傳感器發(fā)送時間;
步驟2、對傳感器類型和傳感器發(fā)送時間進行排序,對每個類型的傳感器在單位時間內(nèi)的發(fā)送頻率進行聚類,計算每個聚類類別的平均發(fā)送頻率,得到DFR參數(shù);
步驟3、通過DFR參數(shù)對噪音數(shù)據(jù)進行標簽,調(diào)用基于邏輯回歸的半監(jiān)督學習算法對標簽后的噪音數(shù)據(jù)進行學習得到學習參數(shù),將所述學習參數(shù)分發(fā)給所有傳感器節(jié)點;所述半監(jiān)督學習算法包括預測函數(shù),整體開銷函數(shù)和梯度下降算法;
步驟4、傳感器節(jié)點將學習參數(shù)代入所述預測函數(shù)中構(gòu)建預測模型,將步驟1所述的當前網(wǎng)絡狀態(tài)信息輸入到所述預測模型中,判斷是否發(fā)送所述噪音數(shù)據(jù)。
作為本發(fā)明的進一步改進,所述步驟2包括:
步驟2-1、接收傳感器節(jié)點發(fā)送的傳感器類型和傳感器發(fā)送時間,構(gòu)建采樣數(shù)據(jù)集;
步驟2-2、對傳感器類型和傳感器發(fā)送時間進行排序,得到不同類型傳感器的發(fā)送序列;
步驟2-3、對每個類型傳感器的發(fā)送序列統(tǒng)計單位時間內(nèi)的發(fā)送頻率,得到頻率與時間的二元組F:
F={(t1,f1),(t2,f2),(t3,f3)…,(tn,fn)};
式中:t1,t2,t3,…tn分別為單位時間,f1,f2,f3,…fn分別為單位時間內(nèi)的發(fā)送頻率;F是單位時間內(nèi)發(fā)送時間和頻率組成的二元組集合;
步驟2-4、對每個類型傳感器的二元組F進行標準化處理,映射到[0,1]區(qū)間,得到二元組F所對應的F′:
F′={(t1,f1′),(t2,f2′),…,(tn,fn′)};
式中:t1,t2,t3,…tn分別為單位時間,f1′,f2′,f3′,…fn′分別為單位時間內(nèi)f1,f2,f3,…fn標準化處理后的發(fā)送頻率;
步驟2-5、采用K-means聚類算法對每個類型傳感器的F′進行聚類,得到多個聚類類別;
步驟2-6、分別計算每個聚類類別的平均發(fā)送頻率,并取聚類結(jié)果的最大和最小時間作為起止時間,得到每個類型傳感器的所有聚類類別的DFR參數(shù)。
作為本發(fā)明的進一步改進,在步驟2-4中,所述標準化處理的公式為:
作為本發(fā)明的進一步改進,所述步驟3中調(diào)用基于邏輯回歸的半監(jiān)督學習算法對標簽后的噪音數(shù)據(jù)進行學習得到學習參數(shù)的方法為:
步驟3-1、基于邏輯回歸構(gòu)建學習參數(shù)的預測函數(shù):
式中:θ為由學習參數(shù)組成的矩陣,hθ(x)為預測函數(shù),x為訓練樣本的狀態(tài)信息,T是矩陣的轉(zhuǎn)置運算;
步驟3-2、根據(jù)平方差法構(gòu)建出整體開銷函數(shù):
式中:J(θ)為開銷函數(shù),m為訓練樣本的個數(shù),i為第i個訓練樣本,x為訓練樣本的狀態(tài)信息,y為預測函數(shù)的預測結(jié)果,x(i)為第i個訓練樣本的狀態(tài)信息,y(i)為第i個訓練樣本的預測結(jié)果;
步驟3-3、采用梯度下降算法尋找使得全局開銷最小的參數(shù),所述梯度下降算法的計算公式為:
式中:θi:為對學習參數(shù)矩陣θ中各個元素進行梯度下降算法,θi代表學習參數(shù)矩陣中的元素,α為梯度下降算法中步進的幅度;
步驟3-4、全局開銷最小的參數(shù)即為所得的學習參數(shù)。
作為本發(fā)明的進一步改進,所述步驟4包括:
步驟4-1、將學習參數(shù)代入到預測函數(shù)中,構(gòu)建預測模型;
步驟4-2、將步驟1中所述的當前網(wǎng)絡狀態(tài)信息輸入到所述預測模型中,得到[0,1]的輸出結(jié)果;當前網(wǎng)絡狀態(tài)信息是指當前時間窗口的網(wǎng)絡狀態(tài)信息;
步驟4-3、當輸出結(jié)果大于等于0.5時,傳感器節(jié)點發(fā)送噪音數(shù)據(jù);當輸出結(jié)果小于0.5時,傳感器節(jié)點不發(fā)送噪音數(shù)據(jù);完成一個檢測周期,并等待下一個時間窗口。
作為本發(fā)明的進一步改進,所述步驟4-3中:
當連續(xù)n個檢測周期不發(fā)送噪音數(shù)據(jù)后,擴大時間窗口,繼續(xù)檢測。
本發(fā)明還提供一種應對智能家居環(huán)境中旁路攻擊的隱私保護系統(tǒng),其特征在于,包括:多個傳感器節(jié)點、匯聚節(jié)點和云平臺;
所述傳感器節(jié)點,用于獲取智能家居的采樣數(shù)據(jù)、噪音數(shù)據(jù)和當前網(wǎng)絡狀態(tài)信息,所述采樣數(shù)據(jù)包括傳感器類型和傳感器發(fā)送時間;
所述云平臺與所有傳感器節(jié)點相連,用于對傳感器類型和傳感器發(fā)送時間進行排序,對每個類型的傳感器在單位時間內(nèi)的發(fā)送頻率進行聚類,計算每個聚類類別的平均發(fā)送頻率,得到DFR參數(shù);
所述匯聚節(jié)點分別與所有傳感器節(jié)點和云平臺相連,用于通過DFR參數(shù)對噪音數(shù)據(jù)進行標簽,調(diào)用基于邏輯回歸的半監(jiān)督學習算法對標簽后的噪音數(shù)據(jù)進行學習得到學習參數(shù),將所述學習參數(shù)分發(fā)給所有傳感器節(jié)點;所述半監(jiān)督學習算法包括預測函數(shù),整體開銷函數(shù)和梯度下降算法;
所述傳感器節(jié)點將學習參數(shù)代入預測函數(shù)中構(gòu)建預測模型,將所述當前網(wǎng)絡狀態(tài)信息輸入到所述預測模型中,判斷是否發(fā)送所述噪音數(shù)據(jù)。
作為本發(fā)明的進一步改進,所述云平臺包括接收模塊、排序模塊、統(tǒng)計模塊、標準化處理模塊、聚類模塊和計算模塊;
所述接收模塊,用于接收傳感器節(jié)點發(fā)送的傳感器類型和傳感器發(fā)送時間,構(gòu)建采樣數(shù)據(jù)集;
所述排序模塊與所述接收模塊相連,用于對傳感器類型和傳感器發(fā)送時間進行排序,得到不同類型傳感器的發(fā)送序列;
所述統(tǒng)計模塊與所述排序模塊相連,用于對每個類型傳感器的發(fā)送序列統(tǒng)計單位時間內(nèi)的發(fā)送頻率,得到頻率與時間的二元組F,F(xiàn)={(t1,f1),(t2,f2),(t3,f3)…,(tn,fn)};
式中:t1,t2,t3,…tn分別為單位時間,f1,f2,f3,…fn分別為單位時間內(nèi)的發(fā)送頻率;F是單位時間內(nèi)發(fā)送時間和頻率組成的二元組集合;
所述標準化處理模塊與所述統(tǒng)計模塊相連,用于對每個類型傳感器的二元組F進行標準化處理,映射到[0,1]區(qū)間,得到二元組F所對應的F′,F(xiàn)′={(t1,f1′),(t2,f2′),…,(tn,fn′)};所述標準化處理為:
式中:t1,t2,t3,…tn分別為單位時間,f1′,f2′,f3′,…fn′分別為單位時間內(nèi)f1,f2,f3,…fn標準化處理后的發(fā)送頻率;
所述聚類模塊與所述標準化處理模塊相連,采用K-means聚類算法對每個類型傳感器的F′進行聚類,得到多個聚類類別;
所述計算模塊與所述聚類模塊相連,用于分別計算每個聚類類別的平均發(fā)送頻率,并取聚類結(jié)果的最大和最小時間作為起止時間,得到每個類型傳感器的所有聚類類別的DFR參數(shù)。
作為本發(fā)明的進一步改進,所述匯聚節(jié)點包括標簽模塊、學習模塊和分發(fā)模塊;
所述標簽模塊,用于獲取云平臺的DFR參數(shù)和傳感器節(jié)點的噪音數(shù)據(jù),通過DFR參數(shù)對噪音數(shù)據(jù)進行標簽;
所述學習模塊與所述標簽模塊相連,用于調(diào)用基于邏輯回歸的半監(jiān)督學習算法對標簽后的噪音數(shù)據(jù)進行學習得到學習參數(shù);其中:
基于邏輯回歸構(gòu)建學習參數(shù)的預測函數(shù):
式中:θ為由學習參數(shù)組成的矩陣,hθ(x)為預測函數(shù),x為訓練樣本的狀態(tài)信息,T是矩陣的轉(zhuǎn)置運算;
根據(jù)平方差法構(gòu)建出整體開銷函數(shù):
式中:J(θ)為開銷函數(shù),m為訓練樣本的個數(shù),i為第i個訓練樣本,x為訓練樣本的狀態(tài)信息,y為預測函數(shù)的預測結(jié)果,x(i)為第i個訓練樣本的狀態(tài)信息,y(i)為第i個訓練樣本的預測結(jié)果;
采用梯度下降算法尋找使得全局開銷最小的參數(shù),所述梯度下降算法為:
式中:θi:為對學習參數(shù)矩陣θ中各個元素進行梯度下降算法,θi代表學習參數(shù)矩陣中的元素,α為梯度下降算法中步進的幅度;
全局開銷最小的參數(shù)即為所得的學習參數(shù);
所述分發(fā)模塊與所述學習模塊相連,用于將學習參數(shù)分發(fā)給所有傳感器節(jié)點。
作為本發(fā)明的進一步改進,所述傳感器節(jié)點包括采集模塊、預測模塊和判斷模塊;
所述采集模塊,用于獲取智能家居的采樣數(shù)據(jù)、噪音數(shù)據(jù)和當前網(wǎng)絡狀態(tài)信息;
所述預測模塊與所述采集模塊相連,用于將匯聚節(jié)點的學習參數(shù)代入到預測函數(shù)中,構(gòu)建預測模型;并將當前網(wǎng)絡狀態(tài)信息輸入到所述預測模型中,得到[0,1]的輸出結(jié)果;當前網(wǎng)絡狀態(tài)信息是指當前時間窗口的網(wǎng)絡狀態(tài)信息;
所述判斷模塊與所述預測模塊相連,當輸出結(jié)果大于等于0.5時,傳感器節(jié)點發(fā)送噪音數(shù)據(jù);當輸出結(jié)果小于0.5時,傳感器節(jié)點不發(fā)送噪音數(shù)據(jù);完成一個檢測周期,并等待下一個時間窗口;當連續(xù)n個檢測周期不發(fā)送噪音數(shù)據(jù)后,擴大時間窗口,繼續(xù)檢測。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
本發(fā)明公開的應對智能家居環(huán)境中旁路攻擊的隱私保護方法及系統(tǒng),采用基于邏輯回歸的半監(jiān)督學習算法,并將邏輯回歸運用于預測函數(shù)中;在提高分類效率的同時,減少了調(diào)用預測函數(shù)的能量消耗,使得傳感器節(jié)點能夠在極少能耗的前提下調(diào)用預測函數(shù);
本發(fā)明將傳感器節(jié)點網(wǎng)絡的當前網(wǎng)絡狀態(tài)信息考慮到整體的加噪過程中,使得整個感器節(jié)點網(wǎng)絡能夠根據(jù)不同節(jié)點的網(wǎng)絡狀態(tài)信息添加噪音,這使得整體的能耗變得均衡,避免了因為近匯聚節(jié)點頻繁轉(zhuǎn)發(fā)導致能耗過高,壽命降低的局限;
本發(fā)明采用K匿名的思想,采集數(shù)據(jù)樣本,構(gòu)建采樣數(shù)據(jù)集,分析樣本數(shù)據(jù)的作息習慣,使得被保護用戶的作息習慣與采樣數(shù)據(jù)集的作息習慣相同,對于攻擊者來說,作息習慣是K不可分的,從而達到作息習慣的保護。
附圖說明
圖1為本發(fā)明一種實施例公開的應對智能家居環(huán)境中旁路攻擊的隱私保護方法的流程圖;
圖2為本發(fā)明一種實施例公開的應對智能家居環(huán)境中旁路攻擊的隱私保護系統(tǒng)的框架圖。
圖中:
1、傳感器節(jié)點;1-1、采集模塊;1-2、預測模塊;1-3、判斷模塊;
2、匯聚節(jié)點;2-1、標簽模塊;2-2、學習模塊;2-3、分發(fā)模塊;
3、云平臺;3-1、接收模塊;3-2、排序模塊;3-3、統(tǒng)計模塊;3-4、標準化處理模塊;3-5、聚類模塊;3-6、計算模塊。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明通過分析現(xiàn)有模型存在的問題,要想設計一個符合智能家居應用場景的應對旁路攻擊的隱私保護模型,必須考慮以下幾個問題:
延遲問題對智能家居中的應用將會造成巨大的影響。比如,相關(guān)智能醫(yī)療的應用可以通過傳感器信息獲取家中成員的身體特征信息,如果出現(xiàn)意外跌倒或者突發(fā)疾病等特殊情況可以發(fā)送緊急的預警信息。在采集信息的過程中延遲過大,將會錯失搶救時機,導致不可挽回的損失。
時間間隔(相鄰兩次發(fā)送事件的時間間隔)的不可區(qū)分性,當具有全局監(jiān)聽能力的攻擊者在獲取傳感器節(jié)點的發(fā)送序列后,無法從序列中分析出虛假數(shù)據(jù)。固定頻率模型和指數(shù)分布模型的思想是讓發(fā)送序列服從特定的概率分布模型,使得攻擊者無法降噪。這種思路雖能達到良好的隱私保護效果,但是會導致延遲的增加。所以從間隔的不可區(qū)分性出發(fā),如果能使得時間間隔的不可區(qū)分未必使得時間間隔服從同樣的分布。只要能夠保證攻擊者不能分辨出噪音數(shù)據(jù)就達到了加噪的目的。
能耗問題,無線傳感網(wǎng)絡的能源受限,噪音的添加勢必會造成無線傳感器網(wǎng)絡的壽命下降。應該在保證隱私保護效果的前提下,盡可能的延長無線傳感器網(wǎng)絡的壽命。所以在設計模型的時候要考慮到智能家居的實際使用情況,當沒有日常行為產(chǎn)生的時候就可以降低加噪或者不加噪。將噪音數(shù)據(jù)添加到短時間內(nèi)被日常行為觸發(fā)的傳感器上。能夠增加噪音數(shù)據(jù)的利用率,降低噪音數(shù)據(jù)的數(shù)量,延長無線傳感器網(wǎng)絡的壽命。
綜上,當前的主流模型沒有很好的同時解決以上三個問題,但是一個好的隱私保護模型要同時考慮延遲,間隔不可區(qū)分性和傳感器網(wǎng)絡壽命問題。在本發(fā)明公開的應對智能家居環(huán)境中旁路攻擊的隱私保護方法及系統(tǒng)中將同時考慮以上三個因素,使得模型能夠在低延遲的前提下,減少噪音數(shù)據(jù)的添加量和噪音的有效率,同時還能達到良好的隱私保護效果。
智能家居中無線傳感器網(wǎng)絡結(jié)構(gòu)介紹:
與其他無線傳感器網(wǎng)絡不通,智能家居中的無線傳感器網(wǎng)絡是一種異構(gòu)網(wǎng)絡,該網(wǎng)絡中的傳感器的類型大多互不相同。可將其分為兩類節(jié)點:匯聚(Sink)節(jié)點和傳感器節(jié)點,其中,匯聚節(jié)點只有一個,是整個無線傳感網(wǎng)的核心,所有數(shù)據(jù)都匯集到該節(jié)點,該節(jié)點有足夠的存儲空間,足夠的運算能力和充足的能源。傳感器節(jié)點是具有感知功能的傳感器節(jié)點,具有有限的通訊帶寬,有限的計算能力和存儲空間。傳感器節(jié)點與匯聚節(jié)點之間通過多跳的方式進行通訊。
下面結(jié)合附圖對本發(fā)明做進一步的詳細描述:
實施例1:如圖1所示,本發(fā)明提供一種應對智能家居環(huán)境中旁路攻擊的隱私保護方法,①、對數(shù)據(jù)進行分析:分析采集樣本數(shù)據(jù),分析結(jié)果將用于指導匯聚節(jié)點標簽噪音數(shù)據(jù);②、半監(jiān)督學習:匯聚節(jié)點對傳感器節(jié)點發(fā)送來的噪音數(shù)據(jù)進行標簽,然后調(diào)用學習算法進行學習生成新的學習參數(shù);③、傳感器節(jié)點用戶將學習參數(shù)代入預測模型中,并根據(jù)當前網(wǎng)絡狀態(tài)判斷是否發(fā)送噪音數(shù)據(jù)。其具體實施過程包括:
步驟1、考慮到不同地區(qū)的人們的生活習慣會有所不同,智能家居供應商根據(jù)不同地理位置的用戶抽取樣本數(shù)據(jù),其中樣本數(shù)據(jù)是指真實智能家居場景所產(chǎn)生的數(shù)據(jù);傳感器節(jié)點獲取智能家居的采樣數(shù)據(jù)、噪音數(shù)據(jù)和當前網(wǎng)絡狀態(tài)信息,采樣數(shù)據(jù)包括傳感器編號,傳感器類型,數(shù)據(jù)發(fā)送時間和具體的感知內(nèi)容;本發(fā)明只對傳感器發(fā)送時間和傳感器類型進行處理和分析。
步驟2、對傳感器類型和傳感器發(fā)送時間進行排序,對每個類型的傳感器在單位時間內(nèi)的發(fā)送頻率進行聚類,計算每個聚類類別的平均發(fā)送頻率,得到DFR參數(shù);其具體包括:
步驟2-1、接收傳感器節(jié)點發(fā)送的傳感器類型和傳感器發(fā)送時間,構(gòu)建采樣數(shù)據(jù)集;
步驟2-2、對傳感器類型和傳感器發(fā)送時間進行排序,得到不同類型傳感器的發(fā)送序列;
步驟2-3、對每個類型傳感器的發(fā)送序列統(tǒng)計單位時間內(nèi)(以分鐘為單位時間)的發(fā)送頻率,得到頻率與時間的二元組F:
F={(t1,f1),(t2,f2),(t3,f3)…,(tn,fn)};
式中:t1,t2,t3,…tn分別為單位時間,f1,f2,f3,…fn分別為單位時間內(nèi)的發(fā)送頻率;
步驟2-4、對每個類型傳感器的二元組F進行標準化處理,映射到[0,1]區(qū)間,通過標準化處理避免后期數(shù)據(jù)的波動性大的問題;得到二元組F所對應的F′:
F′={(t1,f1′),(t2,f2′),…,(tn,fn′)};
式中:t1,t2,t3,…tn分別為單位時間,f1′,f2′,f3′,…fn′分別為單位時間內(nèi)f1,f2,f3,…fn標準化處理后的發(fā)送頻率;
其中:標準化處理的公式為:
步驟2-5、采用K-means聚類算法對每個類型傳感器的F′進行聚類,將連續(xù)時間段內(nèi)發(fā)送頻率相當?shù)木蹫橐活?,得到多個聚類類別;
步驟2-6、對多個聚類類別,分別計算每個聚類類別的平均發(fā)送頻率,并取聚類結(jié)果的最大和最小時間作為起止時間,得到每個類型傳感器的所有聚類類別的DFR參數(shù);最終的DFR參數(shù)是一個集合,以不同的傳感器類型區(qū)分。例如{[0,5,0.12],[5,9,0.73],[9,17,0.21],[17,24,0.75]}表示24小時內(nèi)的發(fā)送密度分布情況,對于每一個元素,前兩位表示起止時間,最后一位表示該時間區(qū)間內(nèi)的平均發(fā)送頻率。
步驟3、通過DFR參數(shù)對噪音數(shù)據(jù)進行標簽,調(diào)用基于邏輯回歸的半監(jiān)督學習算法對標簽后的噪音數(shù)據(jù)進行學習得到學習參數(shù),將學習參數(shù)分發(fā)給所有傳感器節(jié)點;半監(jiān)督學習算法包括預測函數(shù),整體開銷函數(shù)和梯度下降算法;其具體包括:
步驟3-1、匯聚節(jié)點采集傳感器節(jié)點發(fā)送的噪音數(shù)據(jù),并接收步驟2中的DFR參數(shù);
步驟3-2、根據(jù)DFR參數(shù)對噪音數(shù)據(jù)進行標簽;
步驟3-3、基于邏輯回歸構(gòu)建學習參數(shù)的預測函數(shù):
式中:θ為由學習參數(shù)組成的矩陣,hθ(x)為預測函數(shù),x為訓練樣本的狀態(tài)信息,T是矩陣的轉(zhuǎn)置運算;
步驟3-4、根據(jù)平方差法構(gòu)建出整體開銷函數(shù):
式中:J(θ)為開銷函數(shù),m為訓練樣本的個數(shù),i為第i個訓練樣本,x為訓練樣本的狀態(tài)信息,y為預測函數(shù)的預測結(jié)果,x(i)為第i個訓練樣本的狀態(tài)信息,y(i)為第i個訓練樣本的預測結(jié)果;
步驟3-5、采用梯度下降算法尋找使得全局開銷最小的參數(shù),梯度下降算法的計算公式為:
式中:θi:為對學習參數(shù)矩陣θ中各個元素進行梯度下降算法,θi代表學習參數(shù)矩陣中的元素,α為梯度下降算法中步進的幅度;
步驟3-6、全局開銷最小的參數(shù)即為所得的學習參數(shù);
步驟3-7、將學習參數(shù)分發(fā)給傳感器節(jié)點。
步驟4、傳感器節(jié)點將學習參數(shù)代入預測函數(shù)中構(gòu)建預測模型,將步驟1的當前網(wǎng)絡狀態(tài)信息輸入到預測模型中,判斷是否發(fā)送噪音數(shù)據(jù);其具體包括:
步驟4-1、將學習參數(shù)代入到預測函數(shù)中,構(gòu)建預測模型;其中:預測函數(shù)為:
步驟4-2、將步驟1中的當前網(wǎng)絡狀態(tài)信息輸入到預測模型中,得到[0,1]的輸出結(jié)果;當前網(wǎng)絡狀態(tài)信息是指當前時間窗口的網(wǎng)絡狀態(tài)信息;
步驟4-3、當輸出結(jié)果大于等于0.5時,等待隨機時間間隔,傳感器節(jié)點發(fā)送噪音數(shù)據(jù),完成一個檢測周期,并等待下一個時間窗口;
當輸出結(jié)果小于0.5時,傳感器節(jié)點不發(fā)送噪音數(shù)據(jù),等待下一個時間窗口;當連續(xù)n個檢測周期不發(fā)送噪音數(shù)據(jù)后,擴大時間窗口,等待下一個時間窗口。其中,n以及時間窗口的擴大倍數(shù)可以根據(jù)實際工作需求進行人為的設定;本申請中n取5,時間窗口擴大兩倍。
通過上述方法傳感器節(jié)點可以自適應當前網(wǎng)絡狀態(tài)發(fā)送噪音數(shù)據(jù),使得所有的傳感器節(jié)點根據(jù)自身的網(wǎng)絡負載和轉(zhuǎn)發(fā)量添加噪音數(shù)據(jù)。使得整體的消耗能夠達到均衡的狀態(tài),不會因為負載不均導致臨近匯聚節(jié)點的傳感器節(jié)點的能源耗盡而無法提供服務。
實施例2:如圖2所示,本發(fā)明提供一種應對智能家居環(huán)境中旁路攻擊的隱私保護系統(tǒng),包括:多個傳感器節(jié)點1、匯聚節(jié)點2和云平臺3;
傳感器節(jié)點1包括采集模塊1-1、預測模塊1-2和判斷模塊1-3;采集模塊1-1用于獲取智能家居的采樣數(shù)據(jù)、噪音數(shù)據(jù)和當前網(wǎng)絡狀態(tài)信息,供后續(xù)操作使用;采樣數(shù)據(jù)包括傳感器類型和傳感器發(fā)送時間;
云平臺3與所有傳感器節(jié)點1相連,用于對傳感器類型和傳感器發(fā)送時間進行排序,對每個類型的傳感器在單位時間內(nèi)的發(fā)送頻率進行聚類,計算每個聚類類別的平均發(fā)送頻率,得到DFR參數(shù);其中:
云平臺3包括接收模塊3-1、排序模塊3-2、統(tǒng)計模塊3-3、標準化處理模塊3-4、聚類模塊3-5和計算模塊3-6;
接收模塊3-1與傳感器節(jié)點1的采集模塊1-1相連,用于接收傳感器節(jié)點1的采集模塊1-1發(fā)送的傳感器類型和傳感器發(fā)送時間,并構(gòu)建采樣數(shù)據(jù)集;
排序模塊3-2與接收模塊3-1相連,用于對傳感器類型和傳感器發(fā)送時間進行排序,得到不同類型傳感器的發(fā)送序列;
統(tǒng)計模塊3-3與排序模塊3-2相連,用于對每個類型傳感器的發(fā)送序列統(tǒng)計單位時間內(nèi)(以分鐘為單位時間)的發(fā)送頻率,得到頻率與時間的二元組F,F(xiàn)={(t1,f1),(t2,f2),(t1,f3)…,(tn,fn)};
式中:t1,t2,t3,…tn分別為單位時間,f1,f2,f3,…fn分別為單位時間內(nèi)的發(fā)送頻率;F是單位時間內(nèi)發(fā)送時間和頻率組成的二元組集合;
標準化處理模塊3-4與統(tǒng)計模塊3-3相連,用于對每個類型傳感器的二元組F進行標準化處理,通過標準化處理避免后期數(shù)據(jù)的波動性大的問題;映射到[0,1]區(qū)間,得到二元組F所對應的F′:
F′={(t1,f1′),(t2,f2′),…,(tn,fn′)};
式中:t1,t2,t3,…tn分別為單位時間,f1′,f2′,f3′,…fn′分別為單位時間內(nèi)f1,f2,f3,…fn標準化處理后的發(fā)送頻率;
其中:標準化處理的公式為:
聚類模塊3-5與標準化處理模塊3-4相連,采用K-means聚類算法對每個類型傳感器的F′進行聚類,,將連續(xù)時間段內(nèi)發(fā)送頻率相當?shù)木蹫橐活?,得到多個聚類類別;
計算模塊3-6與聚類模塊3-5相連,用于分別計算每個聚類類別的平均發(fā)送頻率,并取聚類結(jié)果的最大和最小時間作為起止時間,得到每個類型傳感器的所有聚類類別的DFR參數(shù);最終的DFR參數(shù)是一個集合,以不同的傳感器類型區(qū)分。例如{[0,5,0.12],[5,9,0.73],[9,17,0.21],[17,24,0.75]}表示24小時內(nèi)的發(fā)送密度分布情況,對于每一個元素,前兩位表示起止時間,最后一位表示該時間區(qū)間內(nèi)的平均發(fā)送頻率。
匯聚節(jié)點2分別與所有傳感器節(jié)點1和云平臺3相連,用于通過DFR參數(shù)對噪音數(shù)據(jù)進行標簽,調(diào)用基于邏輯回歸的半監(jiān)督學習算法對標簽后的噪音數(shù)據(jù)進行學習得到學習參數(shù),將學習參數(shù)分發(fā)給所有傳感器節(jié)點;半監(jiān)督學習算法包括預測函數(shù),整體開銷函數(shù)和梯度下降算法;其中:
匯聚節(jié)點2包括標簽模塊2-1、學習模塊2-2和分發(fā)模塊2-3;
標簽模塊2-1與云平臺3的計算模塊3-6和傳感器節(jié)點1的采集模塊1-1分別相連,用于獲取云平臺3的DFR參數(shù)和傳感器節(jié)點1的噪音數(shù)據(jù),通過DFR參數(shù)對噪音數(shù)據(jù)進行標簽;
學習模塊2-2與標簽模塊2-1相連,用于調(diào)用基于邏輯回歸的半監(jiān)督學習算法對標簽后的噪音數(shù)據(jù)進行學習得到學習參數(shù);其中:
基于邏輯回歸構(gòu)建學習參數(shù)的預測函數(shù):
式中:θ為由學習參數(shù)組成的矩陣,hθ(x)為預測函數(shù),x為訓練樣本的狀態(tài)信息,T是矩陣的轉(zhuǎn)置運算;
根據(jù)平方差法構(gòu)建出整體開銷函數(shù):
式中:J(θ)為開銷函數(shù),m為訓練樣本的個數(shù),i為第i個訓練樣本,x為訓練樣本的狀態(tài)信息,y為預測函數(shù)的預測結(jié)果,x(i)為第i個訓練樣本的狀態(tài)信息,y(i)為第i個訓練樣本的預測結(jié)果;
采用梯度下降算法尋找使得全局開銷最小的參數(shù),梯度下降算法為:
式中:θi:為對學習參數(shù)矩陣θ中各個元素進行梯度下降算法,θi代表學習參數(shù)矩陣中的元素,α為梯度下降算法中步進的幅度;
全局開銷最小的參數(shù)即為所得的學習參數(shù)。
分發(fā)模塊2-3與學習模塊2-2相連,用于將學習參數(shù)分發(fā)給所有傳感器節(jié)點1。
傳感器節(jié)點將學習參數(shù)代入預測函數(shù)中構(gòu)建預測模型,將當前網(wǎng)絡狀態(tài)信息輸入到預測模型中,判斷是否發(fā)送噪音數(shù)據(jù);其中:
傳感器節(jié)點1的預測模塊1-2分別與分發(fā)模塊2-3和采集模塊1-1相連,用于將匯聚節(jié)點2的學習參數(shù)代入到預測函數(shù)中,構(gòu)建預測模型;并將當前網(wǎng)絡狀態(tài)信息輸入到預測模型中,得到[0,1]的輸出結(jié)果;當前網(wǎng)絡狀態(tài)信息是指當前時間窗口的網(wǎng)絡狀態(tài)信息;
判斷模塊1-3與預測模塊1-2相連,當輸出結(jié)果大于等于0.5時,等待隨機時間間隔,傳感器節(jié)點發(fā)送噪音數(shù)據(jù),完成一個檢測周期,等待下一個時間窗口;當輸出結(jié)果小于0.5時,傳感器節(jié)點不發(fā)送噪音數(shù)據(jù),等待下一個時間窗口;當連續(xù)n個檢測周期不發(fā)送噪音數(shù)據(jù)后(n可根據(jù)實際操作具體取值),擴大時間窗口(可擴大兩倍),等待下一個時間窗口。
本發(fā)明公開的應對智能家居環(huán)境中旁路攻擊的隱私保護方法及系統(tǒng),采用基于邏輯回歸的半監(jiān)督學習算法,并將邏輯回歸運用于預測函數(shù)中;在提高分類效率的同時,減少了調(diào)用預測函數(shù)的能量消耗,使得傳感器節(jié)點能夠在極少能耗的前提下調(diào)用預測函數(shù);本發(fā)明將傳感器節(jié)點網(wǎng)絡的當前網(wǎng)絡狀態(tài)信息考慮到整體的加噪過程中,使得整個感器節(jié)點網(wǎng)絡能夠根據(jù)不同節(jié)點的網(wǎng)絡狀態(tài)信息添加噪音,這使得整體的能耗變得均衡,避免了因為近匯聚節(jié)點頻繁轉(zhuǎn)發(fā)導致能耗過高,壽命降低的局限;本發(fā)明采用K匿名的思想,采集數(shù)據(jù)樣本,構(gòu)建采樣數(shù)據(jù)集,分析樣本數(shù)據(jù)的作息習慣,使得被保護用戶的作息習慣與采樣數(shù)據(jù)集的作息習慣相同,對于攻擊者來說,作息習慣是K不可分的,從而達到作息習慣的保護。
以上僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。