李 錦,李曉宇
(鄭州大學 計算機與人工智能學院,鄭州 450001)
隨著科技的發展,在線拍賣在生活中得到了普遍的應用.再加上近幾年新冠病毒的出現,給人們的生活造成了很大的困擾,為了防止病毒的傳播,應盡量少聚集,這就體現出在線拍賣在拍賣市場中的便捷性.有時競拍者在線拍賣過程中不希望泄露自己的身份信息和位置信息(IP地址),因此研究匿名在線拍賣技術變得越來越重要.
在線拍賣中,匿名通信[1]可以使身份和位置信息得到保護,防止被惡意篡改,從而更加公平公正.Reed M G 等人[2]在美國海軍實驗室提出洋蔥路由系統,可以完成隱私交流.賀道德等人[3]針對對等網絡中的節點存在信任度低的問題提出洋蔥路由的組合加密機制,具有很好的易用性.Kate A等人[4]提出一種新的洋蔥路由匿名網絡協議.在基于身份的基礎設施設置中定義一個可證明安全的隱私保護密鑰協議方案,所需的計算和通信量要少得多,允許洋蔥路由匿名網絡優雅地擴展.趙夢瑤等人[5]基于洋蔥路由提出一種基于洋蔥路由的雙向匿名秘密通信協議,每個節點收到信息時都會檢查是否有接收者,有效減少系統中的流量.Kita K等人[6]從內容生產者的不可鏈接性出發,嚴格定義生產者匿名性,設計一個IP中基于洋蔥路由的系統以實現生產者匿名性.該系統以較少的開銷提供與隱藏服務相當的匿名性.
近些年來在在線拍賣隱私保護方面,許多學者做出了顯著的貢獻.王小麗等人[7]提出一種基于匿名通信的拍賣協議.在通信過程中節點隨機選擇,有效防止竊聽和流量分析.但平均響應時間較長,通信效率不高.Wu M等人[8]提出一種新的量子密封競拍協議,該協議在可信第三方中心的幫助下采用量子認證和單粒子量子公鑰,有效地防止拍賣人和競拍者串通,具有更高的安全性和可行性.但需要引入誠實可信的第三方.Bárász M等人[9]提出一個加密協議的匿名密封出價拍賣.提議的方案允許在不使用可信第三方的情況下,識別至少一個違反協議的不誠實參與者.此外,要求投標書具有約束力.這是通過讓所有參與者一致行動找出獲勝者的身份來實現的,以防獲勝者無法購買.但如果其中有不誠實的參與者,時間復雜度就會增加,最壞到O(n2).Srinath T R等人[10]開發一個多屬性多輪逆向拍賣的安全協議.該方案可以有效地減輕拍賣人和競買人的計算負擔,能為賣方提供一個安全的投標環境,但需要引入可信的第三方.
本文將洋蔥路由系統應用到在線拍賣過程中,提出一種利用洋蔥路由的匿名在線秘密拍賣方案.競拍者所在的節點事先選定一系列中轉節點構成洋蔥路徑.每到一個中轉節點,利用此節點的私有密鑰解密洋蔥路由最外一層,獲取下一跳IP地址,直到發送給拍賣服務器.拍賣服務器用私鑰解密最后一層得到對稱密鑰[11],用對稱密鑰解密密文得到報價信息.只有拍賣服務器能得到報價信息,并且拍賣服務器及任意一個中轉節點都不知道競拍者的身份信息.任意攻擊者都不可能得到報價信息,也不知道競拍者是誰,從而有效保護競拍者的隱私.實驗結果顯示該方案具有較低的響應時間,隨著節點的加入,響應時間緩慢增加,系統具有良好的健壯性.
在線拍賣[12]是傳統拍賣形式的網絡實現.拍賣前,拍賣方在網上發布拍賣品的詳細信息及拍賣規則,為了讓競拍者進一步了解競拍物品也可以在網上展示拍賣品.在線拍賣可以減少實物由于移動損壞的風險,保證實物的安全,也可以更方便競拍者,足不出戶就可以競拍.在線拍賣根據拍賣商品數量及商品最后的拍賣價格,拍賣網站可以分為兩種競拍方式:英式拍賣和荷蘭式拍賣.其中英式拍賣是競拍者在規定時間內競價,出價最高者將得到物品.拍賣前賣家可以設置保留價,當最高競價低于保留價時,拍賣方有權力不出售拍賣的物品.荷蘭式拍賣適用于拍賣方要拍賣物品數量較多的情況.
洋蔥路由系統[13]使用原路由協議,發送者在目錄節點所提供的列表中選擇一組節點,事先規劃好轉發路徑.用上一節點的公開密鑰對下一節點的數據及IP地址進行加密,發送信息被一層層加密,形成洋蔥路徑.中轉節點解密最外一層,得到下一跳IP地址,轉發給下一跳,以此類推直到目的節點將洋蔥路由最后一層解密,獲得發送的原始信息.接收者回送給發送者信息時按原路返回,直到到達發送節點.每一跳洋蔥路由節點都只能解密洋蔥的最外一層,得到下一跳節點地址后轉發給下一跳節點,與此同時,每個節點都會記錄前驅節點IP地址.接收者在回送消息時也對數據進行層層加密,只不過加密的順序與發送者加密的順序相反.
所有節點加入一個公開密鑰系統,所有節點的公開密鑰都是開放的,私有密鑰保密.服務器的身份是公開的,其它競拍者不公開.記拍賣服務器的公開密鑰為Epkr,私有密鑰為Eskr.節點i的公開密鑰為Epki,私有密鑰為Eski.匿名在線拍賣模型示意圖如圖1所示.

圖1 匿名通信模型Fig.1 Anonymous online auction scheme model
下面介紹利用洋蔥路由的匿名秘密通信協議:
1)發送者生成一個AES密鑰K0;
2)發送者選擇一系列中轉節點,構成一條路徑:節點1、節點2、…、節點n .先用最后一個節點(節點n)的公開密鑰加密接收者的IP地址,再把密文和節點n的IP地址合起來,用節點n-1的公開密鑰加密,以此類推,構造一個洋蔥路由頭R=Epk1(IP2,Epk2(IP3,…,Epkn-1(IPn,Epkn(IPr,Epkr(K0)…).
路由表是一個存儲在節點的電子表格,記錄了從此節點經過的每一條信息,每一個節點都需建立路由表,每一項包含<序列碼s,發送消息給自己的節點IP地址>.洋蔥路由的匿名秘密通信模型中每個節點的路由表信息如表1所示.

表1 路由表結構Table 1 Routing table structure
發送者發送請求消息過程:
發送節點t0隨機生成一個消息序列碼s,用K0對明文消息P加密得到密文EP.將洋蔥路由頭R、密文EP及消息序列碼s組合在一起形成請求消息
算法1.發送節點發送消息算法
1. 發送節點利用AES算法生成密鑰;
2. 發送節點選擇一系列中轉節點,構成路徑;
3. 獲取各節點的公鑰和IP地址,用接收者的公鑰加密K0得到Rn=Epkr(K0),再用最后一個中轉節點tn的公鑰加密得Rn-1=Epkn(IPr,Rn),以此類推得到洋蔥路由頭R;
4. EP=K0(P)//用對稱密鑰K0加密明文消息P;
5. 將其與Seq組合形成請求消息REQ0=(R,EP,Seq);
6. 發送者將REQ0發送給第1個中轉節點t1;
中轉節點t1收到請求消息后,用私有密鑰Esk1解密洋蔥路由頭R的最外層,得到下一跳t2的IP地址,把R的剩余部分R1,與密文EP和序列碼s合起來得到請求消息
中轉節點t2收到請求消息后,按照同樣的方法發給第3個中轉節點,同時中轉節點t2記錄下序列碼s和上一跳節點的IP地址,存入路由表.依次轉發,直到到達接收者.
算法2.中轉節點轉發發送消息算法
1. FOR i=1 TO i=n
2. 中轉節點ti收到請求消息REQi-1=(Ri-1,EP,Seq);
3. Eski{Ri-1}=IPi+1//ti用私鑰Eski解密Ri-1得到下一個節點的IP地址;
4. REQi=(Ri,EP,Seq);
5. ti在路由表記錄
6. ti將請求消息REQi發送給節點ti+1;
7. END FOR
接收者使用自己的私有密鑰Eskr解密余下的洋蔥路由頭,得到K0,用K0解密EP得到發送者的明文消息P.
算法3.接收節點接收發送消息算法
1. 接收者收到tn發送的請求消息REQn;
2. Eskr{Epkr(K0)}=K0;
3. K0{EP}=P;
4. 接收者在路由表中記錄
到此為止完成一次節點發送請求消息.在發送請求消息的整個過程中,中轉節點只知道上一跳和下一跳的IP地址,無法確定上一跳是否是發送者,也無法確定下一跳是否是接收者.每一個中轉節點及接收者都無法獲取請求消息的整個發送路徑,消息經過層層加密由接收者解密最后一層得到明文消息,保證了消息的隱秘性.
接收者回復發送者過程:
接收者向發送者發送回復消息P′.用K0加密回復消息得密文EP′,將密文和序列碼組合在一起形成報文
算法4.接收者發送回復消息算法
1. EP′=K0(P′);
2. 與序列碼組合形成報文
3. Kr(
4. Epkn(Kr);
5. 組成REPr=( Kr(
6. 按序列碼s在路由表中查找對應的IP,將回復消息發送到該IP,并刪除該記錄;
中轉節點tn收到后,用私有密鑰Eskn解密得到對稱密鑰Kr,用Kr解密得到報文
中轉節點t1收到后,重復以上節點的工作,查找路由表,找到上一個節點(即接收者)t0,將回復消息返回給t0.
算法5.中轉節點轉發回復消息算法
1. 中轉節點tn收到回復消息REPr;
2. Eskn{Epkn(Kr)}=Kr;
3. Kr{Kr(
4. Kn(
5. Epkn-1(Kn);
6. 回復消息REPn=( Kn(
7. 將REPn轉發給tn-1,并刪除該條記錄;
8. 依次轉發,直到發送節點接收到回復消息;
t0用私有密鑰Esk0解密得到對稱密鑰K1,用K1對報文
算法6.發送者接收回復消息算法
1. 發送節點收到回復消息REP1;
2. Esk0{Epk0(K1)}=K1;
3. K1{K1(
4. K0{EP′}=P′;
整個過程中轉節點及拍賣服務器不知道發送節點的位置,保證了發送節點匿名.
本文匿名在線秘密拍賣的核心思想是在整個拍賣過程中競拍者采用洋蔥路由匿名通信協議發送報價信息.在節點列表中選擇節點創建路徑,每到一個節點解析最外一層的地址,發送給下一個節點,從而實現對競拍者的身份和位置(IP地址)隱私的保護.該方案采用英式拍賣[14]的競拍形式,在規定時間內出價最高的競拍者得到物品.
模型的基本思路是競拍者作為發送者,拍賣服務器作為接收者.競拍者采用利用洋蔥路由的匿名通信技術將競拍信息發送給拍賣服務器,以保證競拍者的身份信息和地理位置信息不會被服務器及任意第三方獲取.當競拍者想要競拍物品時,可以按照以下步驟:
Step1.拍賣服務器建立一個公示欄,公布競拍物品種類、拍賣品的拍賣規則、拍賣保留價、拍賣物品的截止日期、保證金金額及拍賣服務器賬戶等,所有用戶都可以看到.
Step2.競拍者構造自己的競拍信息AInfo(包含ID號、商品、出價).競拍者將保證金匯入指定賬戶,并在匯款時備注序列碼.競拍者隨機構造一條洋蔥路徑,競拍者將競拍信息AInfo發送給第1個節點,依次轉發最終到達拍賣服務器.
Step3.拍賣服務器收到AInfo,沿原路回送一條表示投標申請已收到的信息給競拍者.在截止期限到期之后,拍賣服務器只考慮繳納保證金的競拍者,選擇出價最高的,在公示欄上公布.
Step4.中標者在截至日期之前將競拍物品余下金額通過銀行匯入指定賬戶,同時將ID號,序列碼和匯款憑據通過匿名通信方式發送給拍賣服務器.逾期未繳納剩余金額的中標者視為自動放棄,保證金沒收.未中標競拍者的保證金按原路退回個人賬戶.
Step5.拍賣服務器確認中標者已付款,回送給中標者一條表示匯款憑據已收到的信息,交易完成,在公示欄中予以公布并刪除原競拍物品.中標者領取拍賣貨品采用線下交接的方式另行安排.
本文拍賣協議需要用到的符號定義如表2所示.

表2 相關符號定義Table 2 Definition of correlation symbois
2.2.1 拍賣服務器任務發布
網絡中所有節點和拍賣服務器都加入RSA公開密鑰系統.競拍者使用自身所處節點的公開密鑰-私有密鑰對.所有競拍者隨機生成一個32位的二進制字符串作為ID號,ID號和節點對應關系除競拍者自己,任意節點(包括服務器)都不知道.拍賣服務器在公示欄公布競拍物品種類、每種拍賣品的拍賣規則、拍賣物品的截止日期、保證金金額以及服務器賬戶等.針對每種拍賣品的信息都應在公示欄中公告,以體現拍賣的公開性及公平性.
2.2.2 競標
競拍者構造競拍信息(包含ID號、商品、出價).競拍者隨機構造一條洋蔥路徑,在物品截至日期之前通過洋蔥路徑將競拍信息三元組AInfo=(ID,Commodity,Bidid)(其中ID為ID號,Commodity為商品名稱,Bidid為出價)發送給洋蔥路徑的第一個節點,經過洋蔥路徑中的節點依次轉發,最終到達拍賣服務器.拍賣服務器收到競拍信息后,沿原路回送一條表示投標申請已收到的確認信息給競拍者.
為了防止惡意競拍者中標后拒不付款造成拍賣失敗,增加競拍者繳納保證金環節.競拍者事先采用銀行匯款方式將保證金匯入拍賣方指定賬戶,在匯款備注上填寫自己的ID號.
拍賣服務器收到一條競拍信息后核對該競拍者是否已經繳納保證金,如果沒有繳納,直接返回“拒絕接受競拍”.如果競拍者中標之后拒不付款,則保證金沒收,競拍重啟并且禁止該競拍者再參與新一輪競拍.
算法7.競標環節算法
1. 競拍者利用AES算法生成密鑰;
2. 競拍信息AInfo=(ID,Commodity,Bidid);
3. bidder將保證金匯入公示欄提供的賬戶;
4. bidder構造洋蔥路由頭R;
5. EP=K0(AInfo);
6. 與Seq組合形成請求消息REQ0=(R,EP,Seq) //Seq是競拍者生成的隨機數,是唯一的;
7. t1收到請求消息REQ0;
8. Esk1{R}=IP2;
9. REQ1=(R1,EP,Seq);
10. t1在路由表記錄
11. t1將REQ1發送給下一節點t2;
12. 最后一個中轉節點tn將請求消息REQn=(Rn,EP,Seq)發送給拍賣服務器server;
13. server收到請求消息REQn;
14. Eskr{Rn}=K0,K0{EP}=AInfo;
15. server在路由表中記錄
16. server從AInfo中得到ID,然后與銀行賬戶收款記錄備注中的ID號對比;
17. IF(兩者ID相同)
18. 返回確認信息,記錄競拍信息并執行算法8,;
19. ELSE
20. server回復競拍者“拒絕接受競拍”,執行算法4、5、6;
21. END IF
2.2.3 開標
到截止時間后,拍賣服務器查看所收到競拍信息,根據快速排序算法對繳納保證金的競標者的標價進行排序,選擇最高價.在公示欄公布中者ID號、商品名稱和出價及其他競標者的競拍信息.中標者將競拍物品總價減去保證金余下的金額通過銀行匯入指定賬戶,逾期未繳納視為自動放棄,保證金沒收.沒有中標的保證金退回個人賬戶.
若最高價有多個競拍者投,拍賣服務器公布投了最高價的競拍者們并宣布進入下一輪競拍.其它競拍者取消資格,再次發送競拍信息,拍賣服務器會拒絕接受.競拍方法與之前一致,新一輪的競拍中,拍賣起拍價變為上一輪的最高價,重復競拍過程,直到選出唯一一個最高價.
算法8.開標環節算法
1. server CHECK AInfo=(ID,Commodity,Bidid);
2. QuickSort={ Bidid};
3. QuickSort(A,p,r)
4. if p 5. q=Partition(A,p,r) 6. QuickSort(A,p,q-1) 7. QuickSort(Q,q+1,r) 8. End 9. Partition(A,p,r) 10. x=A[r] 11. i=p-1 12. for j=p to r-1 13. do if A[j]<=x 14. then i=i+1 15. exchange A[i]<->A[j] 16. exchange A[i+1]<->A[r] 17. return i+1 18. End 19. RETURN QuickSort[length-1]; 20. CHECK最高價Bid對應的ID; 21. IF(ID有多個) 22. RETURN Bid對應的ID集合M; 23. Bid視為拍賣起價; 24. 集合M執行算法7,算法8; 25. ELSE 26. RETURN Bid及其ID; 27. END IF 28. server公布中標者的ID,商品名以及Bid; 29. IF(中標者按時將錢匯入指定賬戶) 30. 執行算法9; 31. ELSE 32. 沒收保證金,本次拍賣作廢; 33. END IF 34. server退回未中標者保證金至個人賬戶; 2.2.4 支付和驗證 中標者(比如是Bob)通過銀行將剩余金額匯入指定賬戶,同時將ID號、序列碼和匯款憑據通過洋蔥路由匿名通信方式發送給拍賣服務器.為防止拍賣服務器通過銀行轉賬信息獲知中標者身份和位置隱私,中標者使用銀行或者第三方代理機構提供的匿名轉賬賬戶來匯款.第三方代理機構有法律義務對匯款者的身份保密,不得泄露給任何人或者機構.拍賣服務器收到款項和匯款憑據之后,確認中標者已付款,通過匿名通信方式回復確認信息CInfo給中標者,至此交易完成.在這里確認信息中簽名需要使用拍賣服務器的私鑰簽名,以供線下交接拍賣物品時驗證.在公示欄予以公布中標者ID號及“已收到全額匯款:XXX元”.宣布此次拍賣結束,并刪除原競拍物品.中標者領取拍賣貨品采用線下交接的方式另行安排. 算法9.支付及驗證環節算法 1. Bob將錢匯入指定賬戶; 2. 將ID號、Seq和匯款證據發送給拍賣服務器; 3. server收到信息后,核對轉賬數據和身份; 4. 確認是中標者匯款,生成確認信息CInfo; 5. EP′=K0(CInfo),Mr=Kr(EP′,s); 6. 根據路由表中記錄 7. server獲取tn的公鑰Epkn,Nr=Epkn(Kr); 8. 與Mr=Kr(EP′,s)組成回復消息REPn=(Mr,Nr); 9. server刪除路由表中記錄 10. tn收到回復消息REPn; 11. Eskn{Epkn(Kr)}=Kr,Kr{Kr(EP′,s)}=s; 12. FOR i=n TO i=2 13. ti根據記錄 14. ti獲得ti-1的公鑰Epki-1,Ni=Epki-1(Ki); 15. 與Mi=Ki(EP′,s)組成REPi-1=(Mi,Ni); 16. ti刪除路由表中記錄 17. ti-1收到回復消息REPi-1; 18. Eski-1{Epki-1(Ki)}=Ki,Ki{Ki(EP′,s)}=s; 19. END FOR 20. t1根據記錄 21. t1獲取Bob的公鑰Epkb,N1=EpkBob(K1); 22. 與M1=K1(EP′,s)組成REPb=(M1,N1); 23. t1刪除路由表中記錄 24. Bob收到t1發送的回復消息REPb; 25. Eskb{Epkb(K1)}=K1,K1{K1(EP′,s)}=EP′; 26. Bob獲取自己的對稱密鑰K0; 27. K0{EP′}=CInfo; 28.server公布拍賣完成信息; 本方案在信息發送過程中有可能收到攻擊者威脅.攻擊者是網絡中(或者網絡外)的任意節點,它可能監聽和截獲節點之間的通信,也可能被選為中轉節點,還可能采用黑客手段入侵和控制某些節點.攻擊者的目的是發現獲取競拍者的身份和IP地址.另外,拍賣服務器也可能試圖獲取競拍者的身份和IP地址. 定理1.除競拍者以外任意節點都不能獲知競拍者的位置和身份隱私. 證明:競拍者構造洋蔥路徑加密信息里只有K0,中轉節點只對洋蔥路由最外一層解密.轉發路徑是競拍者構造好的,中轉節點無法獲知上一節點的身份,也就無法獲知競拍者的位置隱私.拍賣服務器也是只知道上一跳的IP地址,無法確認上一跳是否是競拍者. 拍賣服務器發送回復消息時,各節點通過查詢路由表,回復消息按原路返回,任意節點無法獲知競拍者的位置. 定理2.競拍信息隱私:中轉節點及攻擊者都無法獲取競拍的具體信息. 證明:競拍者用對稱密鑰K0加密明文形成密文,用拍賣服務器的公鑰Epkr加密K0,根據洋蔥路徑選擇的節點順序用最后一個節點的公鑰Epkn加密Epkr(K0)及拍賣服務器的IP地址,以此類推,形成洋蔥路由頭.中轉節點只解密最外層洋蔥,得到下一跳IP地址.到拍賣服務器時解密得到密文.只有拍賣服務器利用私有密鑰Eskr解密得到對稱密鑰K0,其他任意節點都無法獲取,也就無法獲取競拍者發送的競拍信息. 根據匿名拍賣方案不難看到,在所有中轉節點都是忠實的情況下,競拍者的身份和位置隱私百分百得到保護.如果中轉節點中存在惡意節點,拍賣服務器與惡意節點串通,就有可能沿著轉發路徑追溯到競拍者.定義匿名度: D=1-P (1) P為拍賣服務器追溯到競拍者的概率.假定網絡中除了拍賣服務器和競拍者本人之外一共有N個節點,其中含有m個惡意節點.競拍者隨機選擇L個節點生成洋蔥路徑,容易看到,如果路徑長度L>m,則轉發路徑中一定有非惡意節點,那么拍賣服務器追溯到競拍節點是不可能的,所以匿名度D=1.如果L≤m,則匿名度計算如下.第1個中轉節點恰好為惡意節點的概率為: (2) 依次類推,L個中轉節點恰好均為惡意節點的概率為: (3) 所以: (4) 圖2表示轉發路徑L分別等于3,4,5時,匿名度與惡意節點比例的關系.隨著惡意節點比例增大,匿名度不斷降低,跟預期是一樣的,惡意節點越多,與拍賣服務器同謀的節點越多,同謀的節點獲取競拍節點身份的概率就越大.此外,轉發路徑越長,相應的拍賣服務器追溯到競拍者的概率就越小,匿名度越大.最后,即使是L=3的最短路徑下,假定惡意節點比例為50%,匿名度仍然高達0.88,而現實中惡意節點比例通常遠遠低于50%,因此,本方案具有很好的匿名性. 圖2 匿名度-惡意節點比例關系圖Fig.2 Anonymity-proportion diagram of malicious nodes 3.3.1 安全性 競拍者采用構造洋蔥路徑的方式確定轉發路徑.競拍信息通過洋蔥路由層層加密,中轉節點只解密最外層,只有拍賣服務器才能解密競拍信息,其他拍賣者不能獲取,保證了競拍信息的安全到達. 為防止攻擊者冒充競拍者給拍賣服務器發送信息以干擾拍賣過程,拍賣服務器收到競拍信息之后,使用自己的私鑰對ID號進行簽名并將簽名附在確認信息之后一起回復給競拍者.由于ID號是競拍者生成的,其它任何人都無法知道.只有等到競拍截至,拍賣服務器在公告欄公布所有競拍信息時,ID號才公諸于眾.后續競拍者與拍賣服務器再通信時,必須提供(ID號,ID號簽名),拍賣服務器驗證簽名通過之后才與之通信,否則拒不接收對方發來的任何信息.因為其它人都不可能獲得ID號簽名,所以攻擊者無法仿冒競拍者. 3.3.2 健壯性 在構造洋蔥路徑時,競拍者首先通過查詢網絡路由器或者廣播查詢信息,確定當前活躍節點集合.然后在活躍節點集合中隨機選擇選取一組轉發節點.構造洋蔥路由,層層加密,實現競拍信息及位置隱私的保護.洋蔥路徑上的節點選擇是隨機的,不依賴于特定的節點,因此方案具有較好的健壯性. 當然,現實中由于洋蔥路徑中某個節點的突發故障引起通信失敗是無法徹底杜絕的,但是這種概率很小,一般情況下系統仍然能正常運行. 3.3.3 競拍者違約規范 為防止惡意競拍者中標之后拒不付款導致流標,拍賣服務器提出競拍者繳納保證金這一環節.參與競拍的競拍者都需繳納保證金,未繳納視為作廢.公布競拍情況時會公布作廢的競拍信息.中標者需在規定期限內繳納剩余金額,沒有按時繳納則默認自動放棄,保證金將被沒收,此次拍賣作廢. 為了驗證本文提出的利用洋蔥路由的匿名在線秘密拍賣方案的可行性,設計了此次實驗. 硬件環境:CPU為Intel(R)Core(TM)i5-9300H;主頻為2.40 GHz;內存為16.0 GB;操作系統為:Windows 10 家庭中文版.實驗的開發工具:IntelliJ IDEA Community Edition 2021.3,jdk-16.0.1,編程語言為:JAVA. 實驗中設置網絡中節點個數為50,選取不同的中轉路徑長度L,分別做了200次模擬實驗.記錄拍賣服務器在不同情況下收到競拍信息所需時間,求出平均響應時間.從圖3可以看出,節點個數一定時,隨著L增加,平均響應時間緩慢增加.實驗中平均響應時間均在6秒內,說明該方案具有較好適應性,即使中轉路徑增長也可以穩定運行. 圖3 平均響應時間-平均路徑長度關系圖Fig.3 Average response time -average path length diagram 圖4表示節點數目不同時,平均響應時間隨中轉路徑長度L的變化,分別取中轉路徑長度為5,10,15.對每一種情況分別做了200次模擬實驗,求出拍賣服務器在不同情況下的平均響應時間.當節點數目一定時,平均響應時間會隨著L的增加而增大.L一定時,平均響應時間會隨著節點數目的增加而增大.由于發送節點的增加,轉發信息所需時間就會增加,從而會增大平均響應時間.節點數目和平均響應時間呈近似線性關系,隨著系統中節點數目增加,系統也可以穩定運行. 圖4 平均響應時間-節點個數關系圖Fig.4 Average response time-number of nodes diagram 圖5給出了隨著節點總數的增加,本文所提出的方案和王小麗等人[7]以及Zhang T等人[15]所提出方案的平均響應時間的對比.本文選取中轉路徑長度為5時的平均響應時間.王小麗等人[7]分別測試了Pf=0.25,Pf=0.5和Pf=0.75時的平均響應時間,選取Pf=0.75時的平均響應時間.Zhang T等人[15]分別測試了4個內容塊下MOAC和MRAC的平均響應時間,8個內容塊下MOAC和MRAC的平均響應時間,選取8個內容塊下MRAC的平均響應時間.當節點總數一樣時,本方案的平均響應時間低于另外兩種方案.隨著節點總數的增加,3種方案的平均響應時間隨著節點總數增加而增大且呈線性關系,但是本方案增加的幅度更小,說明本方案效率高且有更好的穩定性. 圖5 平均響應時間對比Fig.5 Comparison of average response times 本文提出了一種利用洋蔥路由的匿名在線秘密拍賣方案.競拍過程中所有節點和拍賣服務器都無法獲取競拍者的位置信息,競拍信息只有拍賣服務器能夠解密得到.實驗表明,該方案可以支持網絡中多個競拍者順利完成拍賣,系統平均響應時間隨節點數量增長而近似呈線性緩慢增長,具有較好的穩定性和可擴展性.洋蔥路徑選擇是隨機的,不依賴于特定的節點,因此方案具有較好的健壯性.下一步研究是對方案如何改進來提高通信效率.3 協議分析
3.1 匿名性
3.2 匿名度計算

3.3 本方案的優越性
4 實驗結果及分析
4.1 實驗環境及參數配置
4.2 實驗結果及分析


4.3 對比試驗

5 結束語