專利名稱:一種基于同態(tài)加密的數(shù)據(jù)保護(hù)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別涉及一種基于同態(tài)加密的數(shù)據(jù)保護(hù)方法和系統(tǒng)。
背景技術(shù):
隨著社會(huì)的發(fā)展,電網(wǎng)的現(xiàn)代化建設(shè)是許多國(guó)家都致力于推動(dòng)的,因?yàn)樗茉谔岣吣茉蠢眯?、漸漸過渡到新能源的使用、減少溫室氣體的排放、建立可持續(xù)的經(jīng)濟(jì)發(fā)展等方面起到很大的作用。電網(wǎng)系統(tǒng)是一種大規(guī)模的結(jié)構(gòu)復(fù)雜的系統(tǒng)。為了維護(hù)電網(wǎng)系統(tǒng)的安全和穩(wěn)定性,網(wǎng)絡(luò)通信和信息技術(shù)被廣泛應(yīng)用于電網(wǎng)系統(tǒng)。這種新型的混合網(wǎng)絡(luò)就是智能電網(wǎng)。從技術(shù)上講,智能電網(wǎng)是未來(lái)的一種基于信息技術(shù)的自愈性電力系統(tǒng)。通過信息技術(shù),可以改良當(dāng)前的電力系統(tǒng)使它變的更加高效。智能電網(wǎng)將會(huì)融合新奇的控制、信息和管理技術(shù),實(shí)現(xiàn)從發(fā)電到終端用戶之間一系列的智能交互,合乎科學(xué)并且有系統(tǒng)地優(yōu)化發(fā)電、輸電和配電等部分。先進(jìn)數(shù)字技術(shù)的應(yīng)用期望可以大幅度地提高電網(wǎng)的可靠性、安全性、各部分協(xié)同工作能力以及電網(wǎng)的效率,同時(shí)減少對(duì)環(huán)境的影響以及提高經(jīng)濟(jì)增長(zhǎng)。然而,在智能電網(wǎng)中,用戶和能源供應(yīng)商之間要進(jìn)行頻繁的信息通信,存在智能讀表器收集到的用戶消費(fèi)數(shù)據(jù)在傳輸過程中被攔截篡改、用戶的行為和習(xí)慣等隱私被泄露等問題。由于當(dāng)今社會(huì) 政府和個(gè)人都越來(lái)越關(guān)注隱私問題,所以在發(fā)展智能電網(wǎng)的同時(shí)研究隱私保護(hù)方案時(shí)很重要的。智能電網(wǎng)的安全和隱私對(duì)于能否被大眾廣泛接受啟很重要作用。美國(guó)標(biāo)準(zhǔn)技術(shù)研究所(NIST, National Institute of Standards and Technology)就曾指出“the majorbenefit provided by the smart grid,1. e. , the ability to get richer data to andfrom customer meters and other electric devices, is also its Achilles’heel froma privacy viewpoint”,也即智能電網(wǎng)在收集數(shù)據(jù)方面提供的便利從隱私的角度考慮會(huì)成為它的致命弱點(diǎn)。一般的隱私觀點(diǎn)認(rèn)為,用戶的能源消費(fèi)信息存儲(chǔ)在智能讀表器中,它作為一個(gè)信息豐富的裝置容易吸引一些對(duì)此感興趣的團(tuán)體從而泄露用戶的一些隱私,比如用戶的愛好、行為、活動(dòng)、偏愛甚至信仰等等。更重要的是,對(duì)一個(gè)私人住宅通過小規(guī)模的監(jiān)控設(shè)備采用不太復(fù)雜的硬件和算法就能獲得很高精度的用戶個(gè)人信息。智能電網(wǎng)的隱私包含通過對(duì)智能讀表器數(shù)據(jù)的分析來(lái)獲得的隱私信息。在傳統(tǒng)的電網(wǎng)中,能源供應(yīng)商每一個(gè)月獲得一次用戶的消費(fèi)信息,然而在智能電網(wǎng)中,能源供應(yīng)商每隔15分鐘或者更加頻繁地收集用戶的消費(fèi)信息。如果不對(duì)數(shù)據(jù)收集實(shí)行一些保護(hù)措施,用戶的個(gè)人隱私很可能會(huì)被泄露。所以在智能電網(wǎng)中,用戶不希望能源供應(yīng)商頻繁地知道他們的詳細(xì)消費(fèi)信息,因?yàn)檫@會(huì)讓能源供應(yīng)商知道用戶的隱私。在另一方面,如果用戶的消費(fèi)信息在傳輸過程中被敵手?jǐn)r截,則敵手可能做一些對(duì)用戶有害的事情,比如,如果竊賊通過截獲用戶消費(fèi)信息發(fā)現(xiàn)用戶家里沒人則竊賊就很可能入室行竊;如果用戶消費(fèi)信息被篡改,則會(huì)造成更大的危害。
Felix Gomez Mdrmol et al提出一種在智能電網(wǎng)中采用同態(tài)加密進(jìn)行隱私保護(hù)的方案。同態(tài)加密是基于數(shù)學(xué)難題的計(jì)算復(fù)雜性理論的密碼學(xué)技術(shù)。對(duì)經(jīng)過同態(tài)加密的數(shù)據(jù)進(jìn)行處理得到一個(gè)輸出,將這一輸出進(jìn)行解密,其結(jié)果與用同一方法處理未加密的原始數(shù)據(jù)得到的輸出結(jié)果是一樣的。在該方案中,每個(gè)智能讀表器(SM, Smart Meter)用自己的密鑰加密消費(fèi)信息并把加密后的值發(fā)送給能源供應(yīng)商(ES,Energy Supplier)。其中一個(gè)SM被選為密鑰聚合器(KA, Key Aggregator), KA用來(lái)收集所有用戶的密鑰并且只發(fā)送聚合后的密鑰KA給ES。ES用KA進(jìn)行解密所有加密后的消費(fèi)數(shù)據(jù)的聚合后的值,然后就可以得到所有用戶總的消費(fèi)的值,采用的原理就是同態(tài)加密。由于ES不知道每個(gè)SM的密鑰,所以它只能知道所有用戶總的消費(fèi)信息而不用解密每個(gè)SM發(fā)送過來(lái)的加密數(shù)據(jù)。然而,上述方案還有一些缺點(diǎn)UKA是ES設(shè)定的一個(gè)SM,所以它可能與ES勾結(jié)從而把用戶的密鑰泄露給ES,這樣ES依然可以獲得用戶的詳細(xì)消費(fèi)信息。2、如果在傳輸過程中一個(gè)SM的數(shù)據(jù)被篡改,則ES最終將獲得錯(cuò)誤的總的消費(fèi)信息,由于采用了同態(tài)加密,為保護(hù)用戶隱私ES不能直接解密用戶發(fā)送的消費(fèi)數(shù)據(jù)包來(lái)檢測(cè)數(shù)據(jù)是否合理,造成所有數(shù)據(jù)都要重發(fā)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于同態(tài)加密的數(shù)據(jù)保護(hù)方法和系統(tǒng),以解決現(xiàn)有技術(shù)中的智能電網(wǎng)中,用戶和能源供應(yīng)商之間因?yàn)檫M(jìn)行頻繁的信息通信,可能使得用戶的行為和習(xí)慣等隱私被泄露以及用戶數(shù)據(jù)可能被篡改的問題。為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是一種基于同態(tài)加密的數(shù)據(jù)保護(hù)方法,包括 步驟一可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器,其中每個(gè)智能讀表器有一個(gè)固定的組ID ;步驟二 智能讀表器用所述可信第三方分發(fā)的當(dāng)前時(shí)刻密鑰加密用戶的消費(fèi)數(shù)據(jù),然后將加密后的消費(fèi)數(shù)據(jù)、組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給能源供應(yīng)商保存,其中,所述用戶的消費(fèi)數(shù)據(jù)包括從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值和當(dāng)前時(shí)刻智能讀表器的讀數(shù);步驟三能源供應(yīng)商將智能讀表器的組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給可信第三方,要求獲得上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零,并讀取自己保存的加密后的上一時(shí)刻智能讀表器的讀數(shù);步驟四能源供應(yīng)商聚合加密后的上一時(shí)刻智能讀表器的讀數(shù)、當(dāng)前時(shí)刻加密后的從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值以獲取第一加密值,并聚合當(dāng)前時(shí)刻加密后的當(dāng)前時(shí)刻智能讀表器的讀數(shù)、上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零以獲取第二加密值;采用同態(tài)加密原理,比較聚合后的第一加密值和第二加密值;如果第一加密值和第二加密值不相等,表示在傳輸過程中,消費(fèi)數(shù)據(jù)被篡改,能源供應(yīng)商向控制中心發(fā)出警報(bào);如果第一加密值和第二加密值相等,執(zhí)行步驟五;步驟五能源供應(yīng)商聚合同組ID中沒有被篡改的加密后的消費(fèi)數(shù)據(jù)得到總的加密后的消費(fèi)數(shù)據(jù),通過發(fā)送組ID和相應(yīng)的標(biāo)志給可信第三方獲得所述同組ID的總的當(dāng)前時(shí)刻密鑰,能源供應(yīng)商使用總的當(dāng)前時(shí)刻密鑰來(lái)解密總的加密后的消費(fèi)數(shù)據(jù)以得到所述同組ID的總的消費(fèi)數(shù)據(jù)??蛇x的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法中,還包括在可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器的步驟中,如果所述當(dāng)前時(shí)刻密鑰過期或懷疑被泄露,重新執(zhí)行步驟一。可選的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法中,包括在可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器的步驟前,執(zhí)行如下步驟對(duì)所有的智能讀表器進(jìn)行分組,每個(gè)智能讀表器獲得一個(gè)固定組ID??蛇x的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法中,包括在可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器的步驟前,執(zhí)行如下步驟可信第三方使用一種密鑰生成算法產(chǎn)生第一公鑰和第一私鑰;智能讀表器使用同樣的密鑰生成算法獲得第二公鑰和第二私鑰;可信第三方和智能讀表器采用預(yù)設(shè)的密鑰交換算法來(lái)獲得對(duì)方的公鑰??蛇x的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法中,所述預(yù)設(shè)的密鑰交換算法是Oakley 算法??蛇x的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法中,在可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器的步驟中,可信第三方采用智能讀表器的第二公鑰對(duì)所述當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志進(jìn)行加密,智能讀表器通過第二私鑰進(jìn)行解密。同時(shí),本發(fā)明還聽過一種基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng),包括第一處理模塊,用于可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器,其中每個(gè)智能讀表器有一個(gè)固定的組ID ;第二處理模塊,用于所述智能讀表器用所述可信第三方分發(fā)的當(dāng)前時(shí)刻密鑰加密用戶的消費(fèi)數(shù)據(jù),然后將加密后的消費(fèi)數(shù)據(jù)、組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給能源供應(yīng)商保存;其中,所述用戶的消費(fèi)數(shù)據(jù)包括從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值和當(dāng)前時(shí)刻智能讀表器的讀數(shù);第三處理模塊,用于所述能源供應(yīng)商將智能讀表器的組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給可信第三方,要求獲得上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零,并讀取自己保存的加密后的上一時(shí)刻智能讀表器的讀數(shù);第四處理模塊,用于能源供應(yīng)商聚合加密后的上一時(shí)刻智能讀表器的讀數(shù)、當(dāng)前時(shí)刻加密后的從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值以獲取第一加密值,并聚合當(dāng)前時(shí)刻加密后的當(dāng)前時(shí)刻智能讀表器的讀數(shù)、上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零以獲取第二加密值;采用同態(tài)加密原理,比較聚合后的第一加密值和第二加密值;如果第一加密值和第二加密值不相等,表示在傳輸過程中,消費(fèi)數(shù)據(jù)被篡改,能源供應(yīng)商向控制中心發(fā)出警報(bào);如果第一加密值和第二加密值相等,執(zhí)行第五處理模塊;第五處理模塊,用于能源供應(yīng)商聚合同組ID中沒有被篡改的加密后的消費(fèi)數(shù)據(jù)得到總的加密后的消費(fèi)數(shù)據(jù),通過發(fā)送組ID和相應(yīng)的標(biāo)志給可信第三方獲得所述同組ID的總的當(dāng)前時(shí)刻密鑰,能源供應(yīng)商使用總的當(dāng)前時(shí)刻密鑰來(lái)解密總的加密后的消費(fèi)數(shù)據(jù)以得到所述同組ID的總的消費(fèi)數(shù)據(jù)。
可選的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng)中,包括第一處理模塊,還用于在當(dāng)前時(shí)刻密鑰過期或懷疑被泄露時(shí),可信第三方重新分發(fā)密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器,其中每個(gè)智能讀表器有一個(gè)固定的組ID??蛇x的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng)中,還包括分組模塊,用于對(duì)所有的智能讀表器進(jìn)行分組,每個(gè)智能讀表器獲得一個(gè)固定組ID??蛇x的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng)中,還包括密鑰交換模塊,用于可信第三方使用一種密鑰生成算法產(chǎn)生第一公鑰和第一私鑰;智能讀表器使用同樣的密鑰生成算法獲得第二公鑰和第二私鑰;可信第三方和智能讀表器采用預(yù)設(shè)的密鑰交換算法來(lái)獲得對(duì)方的公鑰。本發(fā)明提供的一種基于同態(tài)加密的數(shù)據(jù)保護(hù)方法和系統(tǒng),其有益效果在于通過結(jié)合用戶歷史數(shù)據(jù),采用同態(tài)加密原理比較兩個(gè)聚合后的加密值的校驗(yàn)方法有效地檢測(cè)用戶數(shù)據(jù)在傳輸過程中是否存在敵手?jǐn)r截篡改用戶數(shù)據(jù)。本發(fā)明既能發(fā)現(xiàn)用戶數(shù)據(jù)是否被篡改,且只對(duì)同組ID總的加密后的消費(fèi)數(shù)據(jù)進(jìn)行解密從而獲取該組的總的消費(fèi)數(shù)據(jù),沒有直接解密智能讀表器發(fā)送的加密后的消費(fèi)數(shù)據(jù),從而避免用戶隱私泄露給能源供應(yīng)商。
圖1是本發(fā)明實(shí)施例的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法和系統(tǒng)的場(chǎng)景定義示意圖;圖2是本發(fā)明實(shí)施例的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法的流程示意圖;圖3是本發(fā)明實(shí)施例的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng)的結(jié)構(gòu)示意圖;圖4 是本發(fā)明實(shí)施例的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法和系統(tǒng)的原理示意圖。
具體實(shí)施例方式以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明提出的一種基于同態(tài)加密的數(shù)據(jù)保護(hù)方法和系統(tǒng)作進(jìn)一步詳細(xì)說(shuō)明。根據(jù)下面說(shuō)明和權(quán)利要求書,本發(fā)明的優(yōu)點(diǎn)和特征將更清楚。需說(shuō)明的是,附圖均采用非常簡(jiǎn)化的形式且均使用非精準(zhǔn)的比例,僅用以方便、明晰地輔助說(shuō)明本發(fā)明實(shí)施例的目的。在智能電網(wǎng)中,每個(gè)智能讀表器(SM, Smart Meter)收集用戶的消費(fèi)數(shù)據(jù)后通過有線或無(wú)線的方式發(fā)送給能源供應(yīng)商(ES, Energy Supplier)。ES可以周期性的知道智能電網(wǎng)的負(fù)載通過對(duì)上一時(shí)間片所有SM記錄的用戶消費(fèi)數(shù)據(jù)求和而獲得。然而通過分析用戶在某一特定時(shí)間段的消費(fèi)數(shù)據(jù)就能獲得用戶的行為活動(dòng)等隱私信息。為保護(hù)用戶消費(fèi)數(shù)據(jù)的隱私和安全,本發(fā)明引入了一個(gè)可信第三方CA (CA,Certificate Authority),如圖1所示,所述CA、ES和SM都獨(dú)立。所述CA只擁有每個(gè)用戶消費(fèi)數(shù)據(jù)的密鑰,但是它不接收用戶的消費(fèi)數(shù)據(jù),所以CA不知道用戶的詳細(xì)消費(fèi)數(shù)據(jù)。所述SM只擁有每個(gè)用戶的消費(fèi)數(shù)據(jù),但是它不知道每個(gè)用戶消費(fèi)數(shù)據(jù)的密鑰,所以SM不知道用戶的詳細(xì)消費(fèi)數(shù)據(jù)。使用同態(tài)加密原理,ES對(duì)接收到的同一組加密后的消費(fèi)數(shù)據(jù)進(jìn)行聚合,只能向CA獲取聚合后的密鑰,所以ES也不知道每個(gè)用戶消費(fèi)數(shù)據(jù)的密鑰。請(qǐng)參考圖2,圖2是本發(fā)明實(shí)施例的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法的流程示意圖。如圖2所示,一種基于同態(tài)加密的數(shù)據(jù)保護(hù)方法,包括S21 :對(duì)所有的智能讀表器進(jìn)行分組,每個(gè)智能讀表器獲得一個(gè)固定組ID。S22:可信第三方通過使用一個(gè)密鑰生成算法產(chǎn)生第一公鑰和第一私鑰,智能讀表器通過同樣的密鑰生成算法獲得第二公鑰和第二私鑰,然后可信第三方和智能讀表器采用預(yù)設(shè)的密鑰交換算法來(lái)獲得對(duì)方的公鑰,即可信第三方獲取第二公鑰,智能讀表器獲取第一公鑰,優(yōu)選的,所述預(yù)設(shè)密鑰交換算法采用Oakley算法。S23 :可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志(token)給智能讀表器,所述當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志都采用智能讀表器的第二公鑰進(jìn)行加密,智能讀表器通過第二私鑰解密獲得所述當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志。其中,當(dāng)前時(shí)刻密鑰用于加密用戶的消費(fèi)數(shù)據(jù)直至分配新的密鑰。進(jìn)一步的,如果所述當(dāng)前時(shí)刻密鑰過期或懷疑被泄露,可信第三方則重新分發(fā)密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器。具體的,每一個(gè)智能讀表器都擁有一個(gè)標(biāo)志,該標(biāo)志與智能讀表器用來(lái)加密消費(fèi)數(shù)據(jù)的當(dāng)前時(shí)刻密鑰一一對(duì)應(yīng),由于智能讀表器的當(dāng)前時(shí)刻密鑰會(huì)因?yàn)橐恍┰?比如當(dāng)前時(shí)刻密鑰過期或懷疑被泄露)而更新。在一個(gè)分組中,可信第三方可以根據(jù)標(biāo)志來(lái)唯一確定哪一個(gè)智能讀表器用的哪一個(gè)當(dāng)前時(shí)刻密鑰,所以這樣可信第三方就可以根據(jù)組ID和標(biāo)志來(lái)標(biāo)識(shí)要用哪一個(gè)當(dāng)前時(shí)刻密鑰來(lái)進(jìn)行相關(guān)計(jì)算。S24:智能讀表器用所述可信第三方分發(fā)的當(dāng)前時(shí)刻密鑰加密用戶的消費(fèi)數(shù)據(jù),然后將加密后的消費(fèi)數(shù)據(jù)、組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給能源供應(yīng)商保存。具體的,所述用戶的消費(fèi)數(shù)據(jù)包括:An和Bn,且滿足等式An=Bn-Blri,其中,An表示從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值、Bn表示當(dāng)前時(shí)刻智能讀表器的讀數(shù)、Blri表示上一時(shí)刻智能讀表器的讀數(shù)。S25 :能源供應(yīng)商將智能讀表器的組ID、對(duì)應(yīng)的標(biāo)志發(fā)送給可信第三方,要求獲得上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零EKlri (0),并讀取自己保存的加密后的上一時(shí)刻智能讀表器的讀數(shù) EKlri (Blri); S26 :可信第三方根據(jù)智能讀表器的組ID、對(duì)應(yīng)的標(biāo)志查找上一時(shí)刻的加密密鑰,然后計(jì)算得出上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零EKlri (0),并把它發(fā)送給能源供應(yīng)商;S27 :能源供應(yīng)商聚合加密后的上一時(shí)刻智能讀表器的讀數(shù)EKlri (Blri)、當(dāng)前時(shí)刻加密后的從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值EKn(An)以獲取第一加密值,并聚合當(dāng)前時(shí)刻加密后的當(dāng)前時(shí)刻智能讀表器的讀數(shù)EKn(Bn)、上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零EKlri (0)以獲取第二加密值;采用同態(tài)加密原理,比較兩個(gè)聚合后的第一加密值和第二加密值;如果第一加密值和第二加密值不相等,表示在傳輸過程中,消費(fèi)數(shù)據(jù)被篡改,能源供應(yīng)商向控制中心發(fā)出警報(bào);如果第一加密值和第二加密值相等,則執(zhí)行S28 ;具體的,如果敵手偶然獲得某一智能讀表器加密消費(fèi)數(shù)據(jù)所用的當(dāng)前時(shí)刻密鑰,那該智能讀表器發(fā)送的數(shù)據(jù)就有可能被截獲篡改等,這樣能源供應(yīng)商就會(huì)獲得一個(gè)錯(cuò)誤的聚合值并且不能發(fā)現(xiàn)哪一個(gè)消費(fèi)數(shù)據(jù)被篡改。本發(fā)明通過一些冗余信息來(lái)校驗(yàn)消費(fèi)數(shù)據(jù)是否被篡改,每個(gè)智能讀表器中用戶的消費(fèi)數(shù)據(jù)包括4 和Bn,且滿足等式An=Bn-Blri,其中,An表示從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值、Bn表示當(dāng)前時(shí)刻智能讀表器的讀數(shù)、Blri表示上一時(shí)刻智能讀表器的讀數(shù)。A1^P Bn分別用當(dāng)前時(shí)刻密鑰進(jìn)行加密,其中當(dāng)前時(shí)刻密鑰是當(dāng)前時(shí)刻所使用的由可信第三方分發(fā)的密鑰。由于能源供應(yīng)商保存了加密后的上一時(shí)刻智能讀表器讀數(shù)EKlri (Blri),采用同態(tài)加密原理可以比較第一加密值N1和第二加密值N2。
N1=EKlri (Blri)+EKn (An) N2=EKn (Bn)+EKlri(O)其中,EKlri (x)表示采用上一時(shí)刻的密鑰Klri對(duì)X進(jìn)行加密,EKn(y)表示采用當(dāng)前時(shí)刻的密鑰Kn來(lái)對(duì)y進(jìn)行加密。由于N1和N2擁有相同的聚合后的密鑰(即t+U,且由于Bn_i+An=Bn,根據(jù)同態(tài)加密原理N1應(yīng)該等于N2。如果它們不相等,則表明數(shù)據(jù)在傳輸過程中被篡改。S28 :能源供應(yīng)商聚合同組ID中沒有被篡改的加密后的消費(fèi)數(shù)據(jù)得到總的加密后的消費(fèi)數(shù)據(jù),然后發(fā)送組ID和tokens給可信第三方;S29 :可信第三方根據(jù)組ID和tokens找出相應(yīng)的當(dāng)前時(shí)刻密鑰,并對(duì)它們進(jìn)行聚合,得到聚合后同組ID的總的當(dāng)前時(shí)刻密鑰,然后把同組ID總的當(dāng)前時(shí)刻密鑰發(fā)送給能源
供應(yīng)商。S30 :能源供應(yīng)商使用總的當(dāng)前時(shí)刻密鑰來(lái)解密總的加密后的消費(fèi)數(shù)據(jù),以得到所述同組ID中的總的消費(fèi)數(shù)據(jù)。同時(shí),如圖3所示,本發(fā)明還提供一種基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng),包括第一處理模塊31,用于可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器,其中每個(gè)智能讀表器有一個(gè)固定的組ID ;第二處理模塊 32,用于所述智能讀表器用所述可信第三方分發(fā)的當(dāng)前時(shí)刻密鑰加密用戶的消費(fèi)數(shù)據(jù),然后將加密后的消費(fèi)數(shù)據(jù)、組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給能源供應(yīng)商保存;其中,所述用戶的消費(fèi)數(shù)據(jù)包括從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值和當(dāng)前時(shí)刻智能讀表器的讀數(shù);第三處理模塊33,用于所述能源供應(yīng)商將智能讀表器的組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給可信第三方,要求獲得上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零,并讀取自己保存的加密后的上一時(shí)刻智能讀表器的讀數(shù);第四處理模塊34,用于能源供應(yīng)商聚合加密后的上一時(shí)刻智能讀表器的讀數(shù)、當(dāng)前時(shí)刻加密后的從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值以獲取第一加密值,并聚合當(dāng)前時(shí)刻加密后的當(dāng)前時(shí)刻智能讀表器的讀數(shù)、上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零以獲取第二加密值;采用同態(tài)加密原理,比較聚合后的第一加密值和第二加密值;如果第一加密值和第二加密值不相等,表示在傳輸過程中,消費(fèi)數(shù)據(jù)被篡改,能源供應(yīng)商向控制中心發(fā)出警報(bào);如果第一加密值和第二加密值相等,執(zhí)行第五處理模塊;第五處理模塊35,用于能源供應(yīng)商聚合同組ID中沒有被篡改的加密后的消費(fèi)數(shù)據(jù)得到總的加密后的消費(fèi)數(shù)據(jù),通過發(fā)送組ID和相應(yīng)的標(biāo)志給可信第三方獲得所述同組ID的總的當(dāng)前時(shí)刻密鑰,能源供應(yīng)商使用總的當(dāng)前時(shí)刻密鑰來(lái)解密總的加密后的消費(fèi)數(shù)據(jù)以得到所述同組ID的總的消費(fèi)數(shù)據(jù)具體的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng)中,包括第一處理模塊31,還用于當(dāng)當(dāng)前時(shí)刻密鑰過期或懷疑被泄露時(shí),可信第三方重新分發(fā)密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器,其中每個(gè)智能讀表器有一個(gè)固定的組ID。具體的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng)中,還包括分組模塊36,用于對(duì)所有的智能讀表器進(jìn)行分組,每個(gè)智能讀表器獲得一個(gè)固定組ID。具體的,在所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng)中,還包括密鑰交換模塊37,用于可信第三方使用一種密鑰生成算法產(chǎn)生第一公鑰和第一私鑰;智能讀表器使用同樣的密鑰生成算法獲得第二公鑰和第二私鑰;可信第三方和智能讀表器采用預(yù)設(shè)的密鑰交換算法來(lái)獲得對(duì)方的公鑰。實(shí)施例1請(qǐng)參考圖4,圖4是本發(fā)明基于同態(tài)加密的數(shù)據(jù)保護(hù)方法和系統(tǒng)的原理示意圖?;趫D4所示的工作原理,對(duì)實(shí)施例1中用戶的消費(fèi)數(shù)據(jù)在通信過程中是否被敵手進(jìn)行篡改可進(jìn)行檢測(cè)。S1、S2、S3分別表示在組I中存在的3個(gè)智能讀表器。在n-1時(shí)刻,它們用來(lái)加密消費(fèi)數(shù)據(jù)的密鑰分別為Kllri,智能讀表器讀數(shù)分別為;在第n時(shí)亥IJ,它們用來(lái)加密消費(fèi)數(shù)據(jù)的密鑰分別為Kln、K2n、K3n,且在n-1時(shí)刻到n時(shí)刻期間加密消費(fèi)數(shù)據(jù)的密鑰發(fā)生了改變,即Kllri不同于Kln,智能讀表器讀數(shù)分別為Bln、B2n、B3n。從n_l時(shí)刻到第n時(shí)刻智能讀表器記錄的消費(fèi)數(shù)據(jù)分別為Aln、A2n、A3n。且假設(shè)n_l時(shí)刻S2的讀數(shù)被篡改,其密鑰Dlri被敵手獲得,在第n時(shí)刻由于密鑰更換,敵手沒能及時(shí)獲得最新密鑰K2n。則在通信結(jié)束后EK2n_i (B2n_i)是被篡改了的,而其它數(shù)據(jù)都正常。ES接收到EK2n (A2n)和EK2n (B2n)向CA發(fā)送請(qǐng)求獲得EDlri (0),然后計(jì)算出N1: EK2n_! U +EK2n (A2n)和 N2: EK2n (B2n) +EDlri (0),由于 EK2n_! U 是被篡改了,所以NI不會(huì)等于N2,這樣就可以檢測(cè)出S2發(fā)送的數(shù)據(jù)在通信過程中受到攻擊。通過上述機(jī)構(gòu)的結(jié)合,通過結(jié)合用戶歷史數(shù)據(jù),采用同態(tài)加密原理比較兩個(gè)聚合后的加密值的校驗(yàn)方法有效地檢測(cè)用戶數(shù)據(jù)在傳輸過程中是否存在敵手?jǐn)r截篡改用戶數(shù)據(jù)。本發(fā)明既能發(fā)現(xiàn)用戶數(shù)據(jù)是否被篡改又沒有直接解密智能讀表器發(fā)送的加密后的消費(fèi)數(shù)據(jù),從而避免用戶隱私泄露給能源供應(yīng)商。上述描述僅是對(duì)本發(fā)明較佳實(shí)施例的描述,并非對(duì)本發(fā)明范圍的任何限定,本發(fā)明領(lǐng)域的普通技術(shù)人員根據(jù)上述揭示內(nèi)容做的任何變更、修飾,均屬于權(quán)利要求書的保護(hù)范圍。
權(quán)利要求
1.一種基于同態(tài)加密的數(shù)據(jù)保護(hù)方法,其特征在于,包括 步驟一可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器,其中每個(gè)智能讀表器有一個(gè)固定的組ID ; 步驟二 智能讀表器用所述可信第三方分發(fā)的當(dāng)前時(shí)刻密鑰加密用戶的消費(fèi)數(shù)據(jù),然后將加密后的消費(fèi)數(shù)據(jù)、組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給能源供應(yīng)商保存,其中,所述用戶的消費(fèi)數(shù)據(jù)包括從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值和當(dāng)前時(shí)刻智能讀表器的讀數(shù);步驟三能源供應(yīng)商將智能讀表器的組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給可信第三方,要求獲得上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零,并讀取自己保存的加密后的上一時(shí)刻智能讀表器的讀數(shù);步驟四能源供應(yīng)商聚合加密后的上一時(shí)刻智能讀表器的讀數(shù)、當(dāng)前時(shí)刻加密后的從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值以獲取第一加密值,并聚合當(dāng)前時(shí)刻加密后的當(dāng)前時(shí)刻智能讀表器的讀數(shù)、上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零以獲取第二加密值; 采用同態(tài)加密原理,比較聚合后的第一加密值和第二加密值;如果第一加密值和第二加密值不相等,表示在傳輸過程中,消費(fèi)數(shù)據(jù)被篡改,能源供應(yīng)商向控制中心發(fā)出警報(bào);如果第一加密值和第二加密值相等,執(zhí)行步驟五; 步驟五能源供應(yīng)商聚合同組ID中沒有被篡改的加密后的消費(fèi)數(shù)據(jù)得到總的加密后的消費(fèi)數(shù)據(jù),通過發(fā)送組ID和相應(yīng)的標(biāo)志給可信第三方獲得所述同組ID的總的當(dāng)前時(shí)刻密鑰,能源供應(yīng)商使用總的當(dāng)前時(shí)刻密鑰來(lái)解密總的加密后的消費(fèi)數(shù)據(jù)以得到所述同組ID的總的消費(fèi)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法,其特征在于,還包括在可信 第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器的步驟中,如果所述當(dāng)前時(shí)刻密鑰過期或懷疑被泄露,重新執(zhí)行步驟一。
3.根據(jù)權(quán)利要求1所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法,其特征在于,還包括在可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器的步驟前,執(zhí)行如下步驟對(duì)所有的智能讀表器進(jìn)行分組,每個(gè)智能讀表器獲得一個(gè)固定組ID。
4.根據(jù)權(quán)利要求1所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法,其特征在于,還包括在可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器的步驟前,執(zhí)行如下步驟 可信第三方使用一種密鑰生成算法產(chǎn)生第一公鑰和第一私鑰; 智能讀表器使用同樣的密鑰生成算法獲得第二公鑰和第二私鑰; 可信第三方和智能讀表器采用預(yù)設(shè)的密鑰交換算法來(lái)獲得對(duì)方的公鑰。
5.根據(jù)權(quán)利要求4所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法,其特征在于,所述預(yù)設(shè)的密鑰交換算法是Oakley算法。
6.根據(jù)權(quán)利要求4所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)方法,其特征在于,在可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器的步驟中, 可信第三方采用智能讀表器的第二公鑰對(duì)所述當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志進(jìn)行加密,智能讀表器通過第二私鑰進(jìn)行解密。
7.一種基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,包括 第一處理模塊,用于可信第三方分發(fā)當(dāng)前時(shí)刻密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器,其中每個(gè)智能讀表器有一個(gè)固定的組ID ; 第二處理模塊,用于所述智能讀表器用所述可信第三方分發(fā)的當(dāng)前時(shí)刻密鑰加密用戶的消費(fèi)數(shù)據(jù),然后將加密后的消費(fèi)數(shù)據(jù)、組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給能源供應(yīng)商保存,其中,所述用戶的消費(fèi)數(shù)據(jù)包括從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值和當(dāng)前時(shí)刻智能讀表器的讀數(shù); 第三處理模塊,用于所述能源供應(yīng)商將智能讀表器的組ID和對(duì)應(yīng)的標(biāo)志發(fā)送給可信第三方,要求獲得上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零,并讀取自己保存的加密后的上一時(shí)刻智能讀表器的讀數(shù); 第四處理模塊,用于能源供應(yīng)商聚合加密后的上一時(shí)刻智能讀表器的讀數(shù)、當(dāng)前時(shí)刻加密后的從上一時(shí)刻到當(dāng)前時(shí)刻的消費(fèi)值以獲取第一加密值,并聚合當(dāng)前時(shí)刻加密后的當(dāng)前時(shí)刻智能讀表器的讀數(shù)、上一時(shí)刻加密后的消費(fèi)數(shù)據(jù)零以獲取第二加密值; 采用同態(tài)加密原理,比較聚合后的第一加密值和第二加密值;如果第一加密值和第二加密值不相等,表示在傳輸過程中,消費(fèi)數(shù)據(jù)被篡改,能源供應(yīng)商向控制中心發(fā)出警報(bào);如果第一加密值和第二加密值相等,執(zhí)行第五處理模塊; 第五處理模塊,用于能源供應(yīng)商聚合同組ID中沒有被篡改的加密后的消費(fèi)數(shù)據(jù)得到總的加密后的消費(fèi)數(shù)據(jù),通過發(fā)送組ID和相應(yīng)的標(biāo)志給可信第三方獲得所述同組ID的總的當(dāng)前時(shí)刻密鑰,能源供應(yīng)商使用總的當(dāng)前時(shí)刻密鑰來(lái)解密總的加密后的消費(fèi)數(shù)據(jù)以得到所述同組ID的總的消費(fèi)數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,包括第一處理模塊,還用于在當(dāng)前時(shí)刻密鑰過期或懷疑被泄露時(shí),可信第三方重新分發(fā)密鑰和對(duì)應(yīng)的標(biāo)志給智能讀表器,其中每個(gè)智能讀表器有一個(gè)固定的組ID。
9.根據(jù)權(quán)利要求7所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,還包括分組模塊,用于對(duì)所有的智能讀表器進(jìn)行分組,每個(gè)智能讀表器獲得一個(gè)固定組ID。
10.根據(jù)權(quán)利要求7所述的基于同態(tài)加密的數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,還包括密鑰交換模塊,用于可信第三方使用一種密鑰生成算法產(chǎn)生第一公鑰和第一私鑰;智能讀表器使用同樣的密鑰生成算法獲得第二公鑰和第二私鑰;可信第三方和智能讀表器采用預(yù)設(shè)的密鑰交換算法來(lái)獲得對(duì)方的公鑰。
全文摘要
本發(fā)明提供了一種基于同態(tài)加密的數(shù)據(jù)保護(hù)方法和系統(tǒng),通過結(jié)合用戶歷史數(shù)據(jù),采用同態(tài)加密原理比較兩個(gè)聚合后的加密值的校驗(yàn)方法有效地檢測(cè)用戶數(shù)據(jù)在傳輸過程中是否存在敵手?jǐn)r截篡改用戶數(shù)據(jù)。本發(fā)明既能發(fā)現(xiàn)用戶數(shù)據(jù)是否被篡改,且只對(duì)同組ID總的加密后的消費(fèi)數(shù)據(jù)進(jìn)行解密從而獲取該組的總的消費(fèi)數(shù)據(jù),沒有直接解密智能讀表器發(fā)送的加密后的消費(fèi)數(shù)據(jù),從而避免用戶隱私泄露給能源供應(yīng)商。
文檔編號(hào)H04L29/06GK103036884SQ20121054571
公開日2013年4月10日 申請(qǐng)日期2012年12月14日 優(yōu)先權(quán)日2012年12月14日
發(fā)明者俞凱, 卜智勇, 贠超, 陳實(shí), 王海峰 申請(qǐng)人:中國(guó)科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所, 中科院-南京寬帶無(wú)線移動(dòng)通信研發(fā)中心