?

具有隱私保護功能的可信電力集中競價交易出清

2024-01-12 04:39李鵬黃文琦黃容生秦詩涵張銳
微型電腦應用 2023年12期
關鍵詞:交易中心哈希密文

李鵬, 黃文琦, 黃容生, 秦詩涵, 張銳

(1.南方電網數字電網研究院有限公司, 廣東, 廣州 510663; 2.中國科學院, 信息工程研究所, 北京 100093)

0 引言

電力市場化作為實現電力行業資源優化配置和提高市場運行效率的重要手段,是我國新一輪電力體制改革深入推進的重要抓手[1-2]。2017年,電力市場化交易正式在全國范圍內推行,其中交易方式分為“雙邊交易”和“集中競價交易”。集中競價交易是主要交易方式。它通過建立電力交易中心改變了電網企業壟斷的市場結構,傳統的發電計劃也轉化為購售電雙方之間的電力交易計算,即電力交易出清[3]。作為集中競價交易中最核心的環節,交易出清主要涉及交易申報、交易匹配及交易定價等3個階段。

目前對電力交易出清的研究側重于集中交易匹配及價格清算,并且形成了成熟的研究體系,但對交易申報階段中申報價格的隱私性及申報信息的完整性保護研究較少。隨著電力交易市場的進一步開放,面對復雜的交易規則及多樣的交易類型,交易主體的安全及隱私需求日益凸顯[4]。雖然理論上安全多方計算、全同態加密等技術可解決隱私保護的計算問題,但具體方案執行效率不高,難以適應實際中大規模、復雜模型隱私保護計算的要求。

基于以上分析,本文的工作和成果如下。

(1) 對交易出清的流程進行分解,明確具體需要隱私保護的對象,給出系統模型及嚴格的安全性定義。

(2) 通過多種隱私保護技術解決目前交易出清存在的申報價格隱私暴露、申報信息易被篡改等安全問題:①計算結合布谷鳥哈希算法實現申報方有效身份驗證;②采用保序加密技術確保申報價格保密的同時,實現排序匹配;③采用數字時間戳技術實現申報時間唯一綁定及申報信息的完整性保護。

(3) 對方案給出了原型實現。實驗結果表明,方案較好地兼顧了隱私保護及效率。

1 預備知識

本節介紹方案涉及的相關概念,包括布谷鳥哈希算法、保序加密、數字簽名、時間戳等。

1.1 布谷鳥哈希算法

布谷鳥哈希算法[5]最早為了解決哈希沖突問題而提出,可用于集合成員證明,具有占用空間小、查詢迅速等優點。布谷鳥哈希使用2個哈希表T1和T2,每個哈希表的容量為r,對應2個哈希函數h1、h2:U→{0,1,…,r-1},每個元素x∈S存儲在T1的h1(x)位置或T2的h2(x)位置,但不會同時存儲在T1和T2中。

布谷鳥哈希包括元素插入算法、查詢算法及刪除算法。

1) 元素插入算法Insert(x)。將元素x存儲到布谷鳥哈希表中,具體過程如下。

(1) 計算h1(x)、h2(x),確定元素x在2個哈希表中待插入的位置。

(2) 若這2個位置均為空,則任選一個位置將x插入。

(3) 若只有一個位置為空,則插入該位置。

(4) 若2個位置均不為空,則任選一個位置踢出現存元素,將元素x插入該位置,對被踢出的元素按照步驟(1)~(4)重新插入。

(5) 若踢出元素的次數超過閾值,則認為該哈希表已存滿,需重新哈希。若插入成功,則輸出1,否則輸出0。

2) 元素查詢算法Lookup(x)。分別計算h1(x)和h2(x),并在哈希表T1和T2中找到這2個位置:若x在其中一個位置,則x∈S,輸出1;否則x?S,輸出0。

3) 元素刪除算法Delete(x)。在布谷鳥哈希表中先查詢待刪除元素的位置,再刪除該元素。

1.2 保序加密

保序加密[6]是一種密文保留了明文原有順序的加密技術,包含密鑰生成算法、保序加密算法、解密算法。

1) 密鑰生成算法Gen(λ)。輸入安全參數λ,該算法輸出私鑰SK。

2) 保序加密算法Enc(SK,M)。輸入私鑰SK和明文M,該算法輸出密文C。

3) 解密算法Dec(SK,C)。輸入私鑰SK和密文C,該算法輸出明文M。

1.3 數字簽名

數字簽名[7]保護了數據的完整性及不可抵賴性,包括密鑰生成算法、簽名算法和驗證算法。

1) 密鑰生成算法Gen(λ)。輸入安全參數,該算法輸出簽名公鑰pk及簽名私鑰sk。

2) 簽名算法Sign(sk,m)。輸入簽名私鑰sk及待簽名的消息m,該算法輸出簽名σ。

3) 驗證算法Very(pk,m,σ)。輸入簽名公鑰pk、消息m及簽名σ,驗證通過,則輸出1,否則輸出0。

1.4 時間戳

時間戳的作用是對信息產生的時間進行認證,通?;跀底趾灻?。

時間戳生成算法TS.Gen(m,t),輸入消息m及時間t,首先需要使用哈希算法生成消息摘要m′,然后使用數字簽名算法對消息摘要及時間簽名,輸出的簽名即為消息時間戳。

2 系統模型及安全性定義

本章介紹具有隱私保護功能的交易出清系統模型及安全性定義。

2.1 系統模型

具有隱私保護功能的交易出清系統模型如圖1所示。由圖1可知,模型包括交易中心、購電方、售電方三方,系統運行流程包含用戶注冊、交易申報、交易匹配以及交易定價等4個階段。購電方及售電方主體在交易中心進行用戶注冊,由交易中心驗證購/售電方交易身份的有效性;當交易中心發布交易公告后,購電方及售電方在規定的時間內向交易中心提交交易申報信息,由交易中心進行統一匹配,并確定匹配雙方交易成交的價格;匹配成功的購/售電雙方簽訂合同,交易達成,完成本次交易出清。

圖1 系統模型圖

2.2 安全性定義

具有隱私保護功能的可信電力集中競價交易出清需滿足以下安全性定義。

(1) 交易申報時的身份有效性

任何概率多項式時間(PPT)的敵手在任意訪問交易中心公開的用戶身份標識后,成功偽造出合法的用戶身份標識并通過交易中心的身份有效性驗證的概率是可忽略的。

(2) 交易成交前的申報價格機密性

在交易未達成前,任何PPT的敵手在任意訪問交易中心公開的申報信息后,輸出申報方申報價格的概率是可忽略的。

(3) 交易申報信息的完整性及申報時間的唯一綁定性

在交易未達成前,任何PPT的敵手在通過監聽傳輸信道獲得申報信息或任意訪問交易中心公開的申報信息后,成功篡改申報時間及申報信息的概率是可忽略的。

3 具有隱私保護功能的交易出清方案

3.1 方案構造的基本思路

在用戶注冊階段,購/售電方登錄交易中心填報注冊信息并上傳申請資料,交易中心審核通過后,使用布谷鳥哈希算法將該用戶ID寫入數據庫,完成注冊。在交易申報階段,購/售電方使用保序加密算法加密其申報價格,并對其申報信息添加時間戳。在交易匹配階段,交易中心匯總申報信息,首先驗證申報方的身份,然后校驗其申報信息的真實可靠性,最后對雙方的價格密文分別排序,按照高低匹配的方式進行匹配。在交易定價階段,解密得到雙方價格明文,并確定其成交價格,待雙方確認后,完成本次交易出清。

本文提出的方案具體包括7個算法:用戶注冊算法、價格保序加密算法、申報信息時間戳算法、身份校驗算法、申報信息校核算法、價格密文排序匹配算法、價格打開算法。算法包含的符號含義如表1所示。

表1 算法符號含義

3.2 用戶注冊階段

購電方及售電方主體登錄交易中心進行用戶注冊,填報注冊信息并上傳注冊資料;交易中心受理并審核注冊材料,首先判斷用戶ID是否已被注冊,若是,則通知該用戶選擇新的ID;審核通過后調用用戶注冊算法,將用戶ID寫入數據庫。用戶注冊算法具體描述如下。

算法1:用戶注冊算法輸入:(ID)輸出:CH.Insert(ID)運行結果調用CH.Insert(ID)算法,將用戶ID插入到布谷鳥哈希表中,插入成功輸出1;否則,輸出0。

3.3 交易申報階段

交易中心發布交易公告,設置交易申報截止時間。在交易中心完成用戶注冊的購/售電方可進行交易申報。

購/售電方確定其申報價格P,調用價格保序加密算法,生成自己的私鑰skID,并加密申報價格生成密文C。價格保序加密算法具體描述如下。

算法2:價格保序加密算法輸入:(λ,P)輸出:(skope,C)1) 調用OPE.Gen(λ)算法,為所有申報方生成本次交易的保序加密私鑰skope;2) 調用OPE.Enc(skope,P)算法,生成申報價格的保序加密密文C。

生成價格保序加密密文后,購/售電方調用申報信息時間戳算法。生成身份ID、價格密文C、申報電量、申報地址、時間段等其他信息Q的摘要M′;生成簽名算法的公鑰pk及私鑰sk,對摘要M′和時間t簽名得到σ。將最終申報消息(M=(ID,C,Q),M′,t,σ,pk)提交給交易中心。申報信息時間戳算法具體描述如下。

算法3:申報信息時間戳算法輸入:(M=(ID,C,Q),t)輸出:(M',pk,sk,σ)1) 調用TS.Hash(M)算法,生成申報信息的摘要M';2) 調用TS.Gen(1n)算法,生成簽名算法的公鑰pk及私鑰sk;3) 調用TS.Sign(sk,M',t)算法,生成摘要M'和時間t的簽名σ。

3.4 交易匹配階段

交易申報階段截至后,交易中心匯總購電方及售電方提交的交易申報信息,首先調用身份校核算法對其身份進行驗證,確定其是否符合本次交易要求。身份校驗算法具體描述如下。

算法4:身份校驗算法輸入:(ID)輸出:CH.Lookup(ID)運行結果調用CH.Lookup(ID)算法,當輸出為1時身份校驗通過,可進行下一步申報信息校核。

身份校驗通過后,交易中心調用申報信息校核算法確定申報時間是否與本次申報唯一綁定,校核其申報價格、申報電量等申報信息的完整性。申報信息校核算法具體描述如下。

算法5:申報信息校核算法輸入:(M=(ID,C,Q),M',t,σ,pk)輸出:TS.Very(pk,M',t,σ)運行結果1) 調用TS.Hash(M)算法,計算M的摘要值是否等于M';2) 調用TS.Very(pk,M',t,σ)算法,當輸出為1時可進行下一步價格密文排序匹配。

申報信息校核通過后,交易中心調用價格密文排序匹配算法對申報價格的密文按照高低匹配的方式進行匹配。價格密文排序匹配算法具體描述如下。

算法6:價格密文排序匹配算法輸入:購電方出價密文(Cb1,Cb2,…,Cbl),售電方出價密文(Cs1,Cs2,…,Csl)輸出:排序匹配結果1) 通過保序加密技術,密文保留了明文原有的順序,將購電方出價密文從高到低排序,將售電方出價密文從低到高排序;2) 按照高低匹配的方式,從最低售電方出價和最高購電方出價依次形成匹配,規定管電/購電雙方價格相減大于等于零時匹配有效,直到雙方出現最后一個有效匹配對為止。

3.5 交易定價階段

完成匹配后,交易中心與匹配成功的購電方和售電方交互得到其保序加密私鑰,調用價格公開算法將其價格密文解密成價格明文。對于未成功匹配的申報方,保留其申報價格的隱私性。價格打開算法具體描述如下。

算法7:價格打開算法輸入:(Cbi,Csj輸出:(Pbi,Psj)調用OPE.Dec算法,解密得到該成交對的價格明文Pbi、Psj。

交易中心得到購電方及售電方的價格明文后,選擇合適的方式確定其成交價格,例如將匹配成交雙方申報價格的均值作為其成交價格。待匹配成功的購/售電雙方確認并簽訂合同后,完成本次交易出清。算法流程如圖2所示。

圖2 具有隱私保護功能的交易出清算法流程圖

4 方案分析

本節從安全性和性能兩方面對提出的具有隱私保護功能的交易出清方案進行分析,并與現有典型方案進行比較。

4.1 安全性分析

(1) 交易申報時的身份有效性驗證。依賴布谷鳥哈希算法高效檢索的性能實現申報方身份的有效性驗證。

(2) 交易成交前的申報價格保密性。保序加密技術能夠實現購/售電方申報價格的加密保護,保障敵手從價格密文恢復出價格明文的概率是可忽略的,并且價格密文保留了價格明文原有的順序,可在交易定價時進行高低排序匹配。

(3) 交易申報信息的完整性及申報時間綁定的唯一性。數字時間戳技術將每一次申報時間與申報信息唯一綁定,并依賴哈希算法的抗碰撞性及數字簽名技術的不可偽造性實現對申報信息的完整性保護。

4.2 性能評估

本文分別采用PR04[5]方案、LXY+16[8]方案及SM2數字簽名算法實現對底層的布谷鳥哈希算法、保序加密、數字簽名。實驗環境為Intel(R) Core(TM) i5-1135G7@2.40 GHz,網絡帶寬為100 Mibit/s,軟件實現語言為C++,測算方法為核心算法運行1000次并計算其平均運行時間。

本方案的7個核心算法運行一次的平均時間如表2所示。本方案在滿足交易出清安全需求的同時,核心算法的實例化運行速度快,能夠有效支撐一次集中競價交易中申報信息的隱私及安全保護,并高效實現交易中心對價格密文的匹配,具備較高的實用性。

表2 核心算法平均運行時間 單位:ms

4.3 方案對比

本方案與文獻[9]方案的安全性和性能對比如表3所示。在相同環境下的實驗結果表明,相比于現有典型方案,本方案更全面地考慮了交易出清各環節的隱私保護需求,實現了交易申報前的用戶身份有效性驗證、交易成交前的申報價格保密性、申報信息的完整性以及申報時間唯一綁定,取得了較高的實現效率,更適用于電力集中競價交易模式下的大規模使用。

表3 方案安全性和性能對比

5 總結

本文圍繞具有隱私保護功能的可信電力集中競價交易出清問題進行了研究,給出了系統模型和安全性定義,并且通過多種隱私保護技術解決目前交易出清存在的申報價格隱私暴露、申報信息易被篡改等安全問題。實驗結果表明,本文提出的方案較好地兼顧了隱私保護及效率。

猜你喜歡
交易中心哈希密文
一種針對格基后量子密碼的能量側信道分析框架
一種支持動態更新的可排名密文搜索方案
基于模糊數學的通信網絡密文信息差錯恢復
國家糧食交易中心
國家糧食交易中心
英國天然氣交易中心啟示
基于OpenCV與均值哈希算法的人臉相似識別系統
江蘇省蘇中農副產品交易中心有限公司
基于維度分解的哈希多維快速流分類算法
云存儲中支持詞頻和用戶喜好的密文模糊檢索
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合