• 沒有找到結果。

在不可信環境中基於英國式拍賣法的競標協定之研究

N/A
N/A
Protected

Academic year: 2021

Share "在不可信環境中基於英國式拍賣法的競標協定之研究"

Copied!
34
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授: 黃冠寰 博士. 在不可信環境中基於英國式拍賣法的競標協定 之研究. A Non-repudiable Protocol for Online English Auctions without Auctioneer being Trusted. 研究生: 中華民國. 袁儀齡. 一零五. 年. 撰 七. 月.

(2) 摘要 隨著網路的興起,各式各樣的服務開始在網路中蓬勃發展,交易也不例外。 使用者可以線上購物網站逛街,也可以在競標拍賣系統上與其他使用者競標想要 的商品。我們調查了近年來以英國式拍賣法為主的研究,他們都必須仰賴受信任 的拍賣者來阻止惡意的投標者破壞拍賣會的公平性,但是並沒有討論如何因應拍 賣者與投標者之間相互勾串。對此提出一套新的拍賣會架構,分為使用者註冊、 拍賣會初始化、競標、結標四個階段。在競標階段中包含一個四步驟的投標協定, 可以避免競標系統與使用者勾串的情形。除此之外,拍賣者用雜湊鏈儲存投標訊 息,並且持續更新在公佈欄上,任何人都可以存取並稽核整個競標過程。. 關鍵字:英國式拍賣法、競標、不可否認性、雜湊鏈. i.

(3) 致謝 在雲端運算實驗室待了兩年半,首先要感謝我的指導教授黃冠寰老師。一開 始我對做研究完全沒有概念,是老師耐心的教導我如何去理解問題、分析問題、 提出解法,然後再用批判的角度去看自己所提出的東西,這些技能成就了今天的 我。也感謝老師在我上台報告時給予的建議,原本我最害怕上台發表演說,經過 長時間的練習,我不但可以有自信地站在台上演講,還能完整表達報告內容。 感謝吳李祺學長,在我剛進實驗室的時候帶領我熟悉環境、指導我做實驗的 要領。我也不會忘記跟林裕偉、傅詩凱、王子豪、陳虹甫和葉上語學長姐們一起 度過那些歡樂的日子,特別是詩凱在外包專案中的大力相挺,讓我了解如何帶領 團隊開發專案,以及跟客戶的應對進退。還有一直都在的廖柏翔、陳佳均、江浩 群、陳之中、簡偉智,雖然你們都比我大,但幾乎是同時進入這個實驗室,也累 積了深厚的情感,好趴呢的情誼相信會一直持續下去。再來是其實跟我同屆的鄭 安傑、歐陽亦凡還有轉換跑道的張庭韶、邱琬琇跟楊登堯,這一年太忙沒時間培 養感情,希望你們的研究一切順利,順利拿到碩士學位。 最後,要感謝養育我長大的爸爸媽媽,以及一直陪伴在我身旁的李雲昕。. 袁儀齡. 致於. 國立臺灣師範大學資訊工程研究所 民國一百零五年七月 ii.

(4) 目錄 摘要.................................................................................................................................. i 致謝................................................................................................................................. ii 第一章. 簡介................................................................................................................. 1. 第一節 拍賣的起源 ................................................................................................... 1 第二節 常見的拍賣或競標方法 ............................................................................... 2 第三節 研究目標 ....................................................................................................... 3 第四節 需求 ............................................................................................................... 4 第五節 章節介紹 ....................................................................................................... 5 第二章. 系統架構與協定............................................................................................. 6. 第一節 概述 ............................................................................................................... 6 第二節 使用者註冊階段 ........................................................................................... 7 第三節 拍賣會初始化階段 ....................................................................................... 7 第四節 競標階段 ....................................................................................................... 8 第一小節 直覺解 ................................................................................................... 8 第二小節 改良法 ................................................................................................. 11 第五節 結標階段 ..................................................................................................... 15 第三章. 安全分析....................................................................................................... 16. 第四章. 相關研究....................................................................................................... 20. 第五章. 實驗結果....................................................................................................... 24. 第六章. 結論............................................................................................................... 26. 參考著作....................................................................................................................... 27. iii.

(5) 附表目錄 表 1 各階段的訊息大小(單位:位元組).............................................. 24 表 2 投標者在不同位置完成一次投標所需時間...................................... 25. iv.

(6) 附圖目錄 圖 1 兩步驟協定示意圖................................................................................ 9 圖 2 直覺解公佈欄示意圖.......................................................................... 10 圖 3 四步驟協定示意圖.............................................................................. 12 圖 4 改良法公佈欄示意圖.......................................................................... 14. v.

(7) 第一章. 簡介. 第一節 拍賣的起源 拍賣是財產權利轉讓的最古老方式之一。古希臘歷史學家希羅多德在他所撰 寫的《歷史》中,指出拍賣這個活動最早可以追溯到公元前五世紀的古巴比倫。 古巴比倫城一年舉行一次適婚年齡女子的拍賣,每逢此時,人們便會將美麗女子 送到市場去,競標者就紛紛出價,以求得到心儀的姑娘 [1]。 真正的商業拍賣應該是由古羅馬時期開創的。古羅馬人拍賣掛毯、宮殿、雕 像等物品。而「拍賣」(auction)一詞源自於拉丁語,意思為「增加」,即是在拍 賣交易中不斷增加價錢,務求能以最高價得到拍賣物品 [1]。 拍賣會於資本主義盛行後,逐漸盛行於人類社會。20 世紀後,拍賣標的物包 羅萬象,各型拍賣會琳瑯滿目。小至漁獲稻米拍賣,大到土地島嶼的拍賣會。而 拍賣會上的募集商品、鑑定、底價定價、拍賣公告張貼,預告預展、拍賣人職前 訓練、喊價、舉手競標、數秒、落槌定案、付貨等拍賣細節,都視場合有所彈性。. 1.

(8) 第二節 常見的拍賣或競標方法 拍賣會演變至今,主要可以分為下列四種拍賣方式: 1.. 英國式拍賣法(English auction)[1]:最常見的拍賣方式,競標者出價由 低價開始慢慢增加,喊價最高者得標,競標者可多次重覆提高出價,常 見於拍賣場蘇富比拍賣會,台灣的夜市的競標。. 2.. 荷蘭式拍賣法(Dutch auction)[1]:創於荷蘭的鬱金香拍賣場而得名, 賣方由高往低喊價,過程中如果有人願意購買,此價即為成交價,除荷 蘭外,台灣的蔬果、魚肉批發市場亦是以此種方式拍賣,常應用於有一 定數量之商品拍賣時。. 3.. 最高價得標拍賣法(Sealed first-price auction)[1]:密封投標金額,投標 者只能出價一次,開標時最高價者得標並依價付款,廣泛應用在土地、 公用工程的競標上。. 4.. 最高價得標、次高價付款拍賣法(Vickrey auction)[1]:最高價者得標, 但依次高價付款即可,此種拍賣方法在拍賣進行時通常不會透露最高價 競標者開的價錢;以避免有意人士的惡作劇或者是拍賣會上的報復行為 (例如惡意縮小最高價與次高價的差距),不過競標價者想出價幾次都 行,但此種拍賣法會有壟斷商品(故意喊鉅額的價錢,使其他競標者無 法得標)的行為發生,所以是最不常採用的。. 2.

(9) 第三節 研究目標 本論文主要研究重點為英國式拍賣法,市面上有很多以這種拍賣方式營運的 企業及網路服務,知名的網路公司如 eBay [2]、Yahoo 拍賣 [3],實體的拍賣會代 表則是蘇富比拍賣會 [4]。 在 eBay 與 Yahoo 拍賣的會員規則中,有一大部分的篇幅都在保障賣家的權 益:投標條件限制、被買家棄標如何處置,又或是買家哄抬價格如何懲罰,試圖 用這些嚴格的規定來讓使用者信賴他們的競標系統。然而,以使用者的角度來看, 我們無法得知他們是不是真的有在查緝那些不法的買家及賣家,很多資訊都不是 透明的,舉個例子,當投標者在投標的時候,如果其中有兩個人的投標價相同, 系統又是幾乎同時收到這兩筆投標,而其中一人與系統有利益勾結,那麼系統就 可能偏袒該投標者,致使另一人下標失敗。 蘇富比拍賣會營運已久,一直以來主要是舉行奢侈品的競標,主要與會者都 是社會上流人士,一般的平民老百姓難以參與。為了趕上網路時代的潮流,近年 來蘇富比也開發了一個名為「BID Now」的新功能 [5],其實就是開設網路直播, 經過認證的會員可以在直播網頁下標,這樣可以吸引那些沒有時間去現場舉手喊 價、預算比較少又想參與的使用者。蘇富比提出此功能的同時也產生了一個問題: 投標者還是無法完全相信在網路上的競標,認為線上競標沒辦法跟真實世界中一 樣,有一位主持人拿著小錘子站在台前,看底下的投標者誰先舉手,也有錄影可 以慢動作播放佐證,而線上的競標系統有可能故意拒絕某些人的出價,優先接受 3.

(10) 某些人的投標,但是吃虧的使用者又沒辦法提出證據,只能摸摸鼻子自認倒楣。 平心而論,有了「BID Now」的蘇富比仍然不能被歸屬為線上的競標系統,只是 多了網路下標的實體拍賣會而已。 在本研究中我們希望能提出一個公開、公平、公正的拍賣會協定,讓拍賣者 可以在線上舉行以英國式拍賣法競標的拍賣會,透過密碼學技術使此拍賣者無法 偏袒特定使用者,且任何人都可以查驗投標的紀錄,但是同時又能保障投標者的 隱私。. 第四節 需求 在前人的研究 [11][12][13][15][16][17][18][19] 中,紛紛提到一個足夠安全、 讓人可信賴的競標系統架構必須達到以下目標,分述如下: 1. 匿名性(Anonymity) :在整場拍賣會的進行過程中,沒有任何一位參與者 的身份可以從他所發送的訊息中被識別出來。 2. 不可連結性(Unlinkability) :在不同場拍賣會之間,同一位投標者的身份 沒辦法從所發送的訊息中被指認出來。 3. 追蹤性(Traceability):得標者的身份可以在結標之後揭露,以便進行付 款動作。 4. 不可否認性(Non-repudiation) :任何投標動作都沒有辦法被取消,投標者 不能否認他所發送出的任何訊息。. 4.

(11) 5. 不可假造性(Non-forgeability) :沒有人可以假造他人的投標訊息,只有經 過認證的使用者都可以產生出正確的投標訊息。 6. 公平性(Fairness) :整個競標過程都應該處在公開、公平、公正的環境下 進行。 7. 可驗證性(Verifiability):任何人都可以檢驗競標過程中所公開的資訊。 8. 註冊一次性(One-time registration) :投標者只需要註冊一次,便可以參加 此系統中的所有拍賣會。 9. 易撤銷性(Easy revocation) :一旦發現投標者有違規的情況,拍賣者可以 立即廢止其投標的權利。. 第五節 章節介紹 本篇論文結構如下:我們在第二章首先探討在設計競標系統時會碰到哪些問 題,接者提出完整的競標系統架構及設計的協定。第三章完善的分析在第二章所 提出的架構,第四章介紹相關研究,在第五章列出實驗數據,而第六章提出結論。. 5.

(12) 第二章. 系統架構與協定 第一節 概述. 在本章節中,我們提出一個具有匿名性的競標系統架構,包含四個階段:使 用者註冊、拍賣會初始化、競標與結標。在這個競標系統架構中有兩種角色,第 一種角色運行競標系統,又稱爲拍賣者(Auctioneer),另外一種角色即爲系統的 使用者,也稱爲投標者(Bidder) 。拍賣者負責一切事物,從使用者註冊一路到競 標結束後公佈得標者,而使用者必須在註冊成功之後才能夠參加本競標系統中的 競標。 第二節到第五節將依序詳細介紹本競標系統架構的四個階段,在此先解釋部 分符號意義,其他則在後續章節中說明。[O]pri(x) 表示使用者 x 簽署在資料物件 (Data Object)O 上的電子簽章(Digital Signature) ,此簽章是由使用者 x 自己的 私有金鑰(Private Key)所簽署。當多個資料物件在中括號內以逗號隔開,表示 多個資料物件被使用者 x 簽署,如 [O1, O2, O3]pri(x) 表示資料物件 O1、O2 和 O3 被 使用者 x 的私有金鑰所簽署。而在大括號內,多個資料物件會以逗號隔開,表示 多個資料物件被使用者 x 以金鑰 k 加密,如 {O1, O2, O3}enc(x, k) 表示資料物件 O1、 O2 和 O3 被使用者 x 以金鑰 k 所加密。. 6.

(13) 第二節 使用者註冊階段 此階段是使用者第一次與拍賣者接觸,我們假設使用者已經與公開金鑰基礎 建設(Public Key Infrastructure,簡寫為 PKI)溝通並綁定好自己的個人資料與公 鑰(Public Key) ,使用者註冊時的請求訊息(Registration request message,簡寫爲 RegQ)包含一些使用者個人資訊(Personal Data,簡寫為 PD)與公鑰(Public Key, 簡寫爲 PKU),RegQ=(PD, PKU, [PD, PKU]pri(U)1)。 拍賣者在收到 RegQ 之後,首先去驗證其中的電子簽章是否正確,檢驗通過 後就把 PKU 與 PD 存進資料庫中,將註冊成功與否的布林值製作爲承認訊息 (Registration acknowledgement message,簡寫爲 RegACK) ,RegACK=(RegSuccess, RegQ, [RegSuccess, RegQ]pri(Auctioneer))。 當使用者註冊成爲會員,就可以開始參加拍賣會,在真正下標之前,使用者 必須經過拍賣會初始化階段,從其中獲得一些必要資訊才能參予競標。. 第三節 拍賣會初始化階段 每一場拍賣會可以競標多項商品,在拍賣會的初始化階段,拍賣者會做兩件 事情:設置一個公佈欄和傳遞該場拍賣會的非對稱性金鑰的公鑰(Auction Key, 簡寫爲 AK),私鑰由拍賣者保管,不對外公佈。 公佈欄可以讓任何人看到此拍賣會的所有資訊,包括拍賣會編號(Auction. 1. 用來簽署此簽章的公鑰為使用者註冊階段中 RegQ 的 PKU 7.

(14) ID) 、接收了哪些投標、目前的標價以及誰是得標者。在這個階段,拍賣者會初始 化一條雜湊鏈(Hashing chain),以一個預設的初始雜湊值(Initial hash,簡寫為 IH)為開頭,每當接收到投標訊息,拍賣者會把它加進雜湊鏈中並且公佈此投標 訊息的內容與最新的雜湊鏈。除此之外,拍賣者還會公佈一個固定的時限值 (Timeout),規定投標者必須在拍賣者收到投標訊息之後多久時間之內完成整個 投標流程。 當使用者在拍賣會看到喜歡的商品時,必須先取得 AK。使用者發送拍賣會 公鑰請求訊息(Key request message,簡寫為 KeyQ) ,裡面只需要有拍賣會編號即 可,KeyQ=(AuctionID, [AuctionID]pri(U))。拍賣者驗證完此請求中的簽章後,將該 拍賣會的公鑰製作成承認訊息(Key acknowledgement message,簡寫為 KeyACK) , KeyACK=(AK, KeyQ, [AK, KeyQ]pri(Auctioneer)),此舉會被用來統計出有哪些使用者 參加了這場拍賣會。我們在下一節會進一步詳述 AK、雜湊鏈及時限值的功能。. 第四節 競標階段 第一小節 直覺解 本小節中我們先提出一個直覺解法,然後我們會一一討論可能發生的問題。 一般在投標的過程中,拍賣者跟投標者只需要一來一往的訊息交換就可以達到目 的,也就是兩步驟的協定。. 8.

(15) 我是 Bob,下標 A 商品 300 元. BidQi 下標成功 Bidder. BidACKi. Auctioneer. 圖 1 兩步驟協定示意圖 Step 1:. 投標者傳送投標的請求訊息(BidQi )給拍賣者。BidQi=(ItemID,. UserID, Price, [ItemID, UserID, Price]pri(U)),其中 ItemID 是商品編號, UserID 為投標者的會員編號,Price 則是標價。 Step 2:. 拍賣者收到 BidQi 後檢查上面的電子簽章正確與否,並且核對投標. 者的會員編號有沒有對應到驗證電子簽章的個人資訊,接著用商品編號 比較該商品目前的出價是否比標價低,並回傳確認訊息(BidACKi)給投 標者。拍賣者會拿雜湊鏈中最新的雜湊值(CHi-1)與 Qi 一起放進雜湊函 數做計算(hash(Qi, CHi-1)) ,把計算出的雜湊值(CHi)加入雜湊鏈並更 新到公布欄上供投標者檢驗,如圖 2 (A) 所示。BidACKi=(BidSuccess, CHi, [BidSuccess, CHi]pri(Auctioneer)),BidSuccess 則代表投標是否成功,電 子簽章驗證錯誤或者出價較低的話則投標失敗。. 9.

(16) 公佈欄. 雜湊鏈示意圖. • 初始化雜湊鏈 • Initial hash=“0000000”. • 收到投標訊息 BidQ1. • Hash(BidQ1, IH)=CH1=“5d3a272” • 商品 132 標價為 1000. Initial hash “0000000”. {. BidQ1 “5d3a272”. }. “ItemID”: 132, “UserID”: 9527, “Price”: 1000. {. •… • 收到投標訊息 BidQ10. • Hash(BidQ10, CH9)=CH10=“087b577” • 商品 132 標價為 3500. “ItemID”: 132, “UserID”: 5348, “Price”: 3500 BidQ10 “087b577”. • 收到投標訊息 BidQ11. • Hash(Q11, BidCH10)=CH11=“4cb59de” • 商品 132 標價為 4000. BidQ11 “4cb59de”. (A). } { “ItemID”: 132, “UserID”: 9527, “Price”: 4000 }. (B). 圖 2 直覺解公佈欄示意圖 上述之兩步驟協定的安全性對一般善意的拍賣者來說已經足夠了,拍賣者與 投標者皆因為送出的訊息中含有電子簽章而無法否認沒有接到投標訊息或是有 下標該商品,投標者也可以在公佈欄上看到雜湊鏈(圖 2 (B) 為雜湊鏈示意圖) , 除了可以快速稽核整條雜湊鏈的正確性,還能用所收到的 BidACKi 去驗證最新的 雜湊鏈是否正確,看看拍賣者有沒有偷偷更動投標順序。然而,我們考慮了更糟 的情況,惡意的拍賣者有可能會偏袒某些特定的投標者,又或者故意不接受某些 投標者的出價,讓拍賣會失去公平公正性,但是受害的投標者卻提不出證據來證 明拍賣者的偏頗行為。 如果一個惡意的拍賣者使用這個兩步驟的直覺解,將會出現幾個問題。第一, 當拍賣者幾乎同時收到兩個同樣標價的 BidQi 時,拍賣者可以透過 BidQi 裡面的 UserID 辨別投標者的身份,若其中之一的投標者與拍賣者有利益輸送,那麼此人 的投標極有可能被優先接受,造成不公平的情況,我們將之稱為 Briber bids。第 10.

(17) 二,假設賣家設定此商品的起標價為一萬元,但其實他希望至少要賣到二十萬, 他可以與拍賣者協商:每當有人投標就先去檢查 BidQi 的標價為何,若是比二十 萬低,那拍賣者就即時產生一個假投標,標價與此投標相當,導致該投標者下標 失敗,直到有人出高於二十萬為止,我們把這種做法歸類為 [14] 中的 Shill bidding。 第三,對於同一場拍賣會而言,拍賣者一次只能接受一筆投標請求訊息。我 們使用雜湊鏈記錄所有投標請求訊息,雜湊鏈一次只能新增一條紀錄進去,因此 新增時必須被同步處理。這個限制會導致投標者在網路壅塞的環境中投標時,拍 賣者無法同時處理來自其他投標者對同一商品的投標,假如有人故意以近乎於零 的傳輸速率傳送投標請求訊息,其他投標者的動作都必須卡在原地,若他遲遲不 完成投標,這個拍賣會將被癱瘓,我們將此種惡意手段稱為 Slow-running attack [20]。. 第二小節 改良法 前一小節提到 Briber bids 與 Shill bidding 的根本問題在於 BidQi 的內容沒有 加密,如果我們將 UserID 與 Price 都先變成密文後才下標,那麼拍賣者就沒有辦 法在一開始得知投標者的身分進而偏袒特定使用者。然而,把資訊都加密之後, 投標者勢必要告訴拍賣者用來解密的密碼為何,那麼兩步驟的協定無法滿足這個 需求,因此我們把他改進為四步驟的協定。然而,在投標者回傳解密的金鑰時, 為了防止拍賣者假裝沒收到,我們多設置了一個離線的可信任第三方(Offline Trusted Third Party [10]),以佐證投標者是否傳送該含有解密金鑰的訊息。 11.

(18) 我是 XXX,下標 A 商品 YYY 元 BidQi 收到,請確認 BidRi. Bidder. XXX 是 Bob,YYY 是 300 元 BidRRi 下標成功 BidACKi. Auctioneer. 圖 3 四步驟協定示意圖 Step 1:. 投標者首先隨機產生兩把對稱式金鑰 k1 及 k2,分別用 k1 和 k2 將. 自己的 UserID 與 Price 加密,再包進投標請求訊息(BidQi),以使用者 資料包通訊協定(User Datagram Protocol,簡寫為 UDP)傳送給拍賣者。 BidQi=(ItemID, {UserID}enc(U, k1), {Price}enc(U, k2), [ItemID, {UserID}enc(U, k1), {Price}enc(U, k2)]pri(AK)2),其中 ItemID 為商品編號,UserID 為投標者的會 員編號,Price 為標價,而 UserID 和 Price 分別被投標者的亂數金鑰 k1 以及 k2 加密。 Step 2:. 拍賣者收到 BidQi 後,檢查裡面的電子簽章是否合法,並拿雜湊鏈. 中最新的雜湊值(CHi-1)與 BidQi 一起放進雜湊函數做計算(hash(BidQi, CHi-1)) ,把計算出的雜湊值(CHi)加入雜湊鏈並且更新到公布欄上讓所 有使用者來檢驗,如圖 4 (A) 所示,然後回傳回應訊息(BidRi)給投標 者,其中 BidRi=(CHi, BidQi, [CHi, BidQi]pri(Auctioneer))。. 2. 此 AK 為拍賣會初始化階段所得到的拍賣會公鑰 12.

(19) Step 3:. 當投標者收到 BidRi 後,去驗證裡面的電子簽章是否有效,然後比. 對公佈欄上是否存在 BidQi 和 CHi-1,接著用 BidQi 跟 CHi-1 計算出 CHi 以 驗證更新後的雜湊鏈,如果正確的話就把用來加密 BidQi 中 UserID 及 Price 的鑰匙 k1, k2 與 BidRi 做成回覆回應訊息 (Reply-response message, 簡寫為 BidRRi)傳給拍賣者,BidRRi=(k1, k2, BidRi, [k1, k2, BidRi]pri(U))。 如果沒有立即收到拍賣者的回應,那麼投標者可以再傳送一次 BidRRi 並 且另外傳送一份副本給離線的可信任第三方。 Step 4:. 拍賣者收到 BidRRi 後,首先檢查其中的電子簽章,接著嘗試用 k1. 與 k2 分別解開 BidQi 裡面的 UserID 跟 Price,並且將用來加密 Price 的 k2 與解密後的 Price 公佈於公布欄上,供所有人來驗證此次出價的正確 性 , 最 後 把 他 們 製 作 成 確 認 訊 息 ( BidACKi ) 回 傳 給 投 標 者 , BidACKi=(UserID, Price, BidSuccess, BidRRi, [UserID, Price, BidSuccess, BidRRi]pri(Auctioneer))。若拍賣者在公佈 BidQi 及 CHi 後,等待時間超過拍 賣會初始化所公布的時限值都沒有收到 BidRRi,首先去離線的可信任第 三方檢查是否存在該 BidRRi,否則此次投標變成廢標,拍賣者必須立刻 在公佈欄上發布此作廢訊息。 在第一個步驟中,BidQi 的電子簽章是用拍賣會初始化階段中所得到的 AK 來 簽署,這樣可以確保投標者都有經過該前一個階段的認證,拍賣者可以直接過濾 掉一些外來的惡意投標,但是也無法由電子簽章判斷投標者的身分。 13.

(20) 這個改良過後的四步驟投標協定解決了原本碰到的三個問題,拍賣者在收到 BidQi 時,加密過的 UserID 以及 Price 讓他完全沒辦法偏袒跟有利益往來的投標 者,拍賣者必須先把 BidQi 加進雜湊鏈上並公布出來(圖 4 (B) 為雜湊鏈示意圖) 。 直到第四步驟時,拍賣者才會知道投標者是誰以及出了多少錢,但是這時候拍賣 者已經無法偷偷置換投標的順序了,否則雜湊鏈運算出來的結果會完全不一樣3, 一旦投標者發現拍賣者做出不軌行為,就可以提出申訴獲得賠償。. 公佈欄. 雜湊鏈示意圖. • 初始化雜湊鏈 • Initial hash=“0000000”. • Timeout 為 3 秒 • 收到投標訊息 BidQ1. Initial hash “0000000”. {. BidQ1 “c798b4a”. }. “ItemID”: 53, “UserID”: “d3ZycW”, “Price”: “cnRmZX”. • Hash(BidQ1, IH)=CH1=“c798b4a” {. • 收到投標回覆回應訊息 BidRR1. “ItemID”: 53, “UserID”: “iYXI1d”, “Price”: “gYmhx3”. • BidQ1 出價為 500. •… • 收到投標訊息 BidQ10. } BidQ10 “79bb171”. • Hash(BidQ10, CH9)=CH10=“79bb171”. • 未收到 BidRR10,BidQ10 成為廢標 • 收到投標訊息 BidQ11 • Hash(BidQ11, CH10)=CH11=“5a362ce”. BidQ11 “5a362ce”. (A). { “ItemID”: 53, “UserID”: “F3cmU3”, “Price”: “2ViaHE” }. (B). 圖 4 改良法公佈欄示意圖 由於這是一個四步驟的協定,拍賣者在第二步驟傳送 BidRi 後,必須等待投 標者回傳 BidRRi,然而投標者有可能臨時決定不下標了,又或者網路突然斷線, 導致拍賣者遲遲等不到 BidRRi,這可能會影響到後續整個拍賣會的節奏,因此當 投標者超過拍賣會初始化階段所設的時限還沒有回傳 BidRRi,而且找離線的可信. 3. 假設 Hash() 所運算出的結果無法被反推 14.

(21) 任第三方也查詢不到該筆 BidRRi 時,拍賣者將會在公佈欄上標註這是一個超時的 廢標。另一方面,如果投標者有在時限內送出 BidRRi 卻被公佈為廢標,那麼他可 以找離線的可信任第三方向拍賣者提出申訴。 我們將 BidQi 的大小限制在 512 位元組內 [7],可以被一個 UDP 封包所容納, 這樣一來就算在壅塞的網路中,只要送一個 UDP 封包就完成投標的第一步驟,拍 賣者免去了等待後續封包抵達的同步處理,可以立刻將 BidQi 加進雜湊鏈中,繼 續接受其他使用者的投標。. 第五節 結標階段 在競標時間截止以後,拍賣會進入結標階段,此時拍賣者必須先等待最後那 些尚未完成投標程序的投標者傳回 BidRRi 完成下標,完成第四步驟並更新標價以 後,拍賣者才正式公佈得標者的 UserID 於公佈欄上。. 15.

(22) 第三章. 安全分析. 本章節針對所提出的競標系統架構及協定進行安全分析,首先會探討在第二 張第四節第一小節的直覺解法中提到的三個問題是否有被第二小節的改良法解 決,接著詳細解釋本競標系統架構能否達到第一章第二節中所提到的九點需求。 我們發現直覺解法存在 Briber bids、Shill bidding 與 Slow-running attack 三個 問題。其中,Briber bids 是拍賣者可以從投標請求訊息獲得投標者的身分,如果 有兩位投標者近乎同時下標一樣的價錢,拍賣者很可能偏頗其中一位拍賣者,縱 使他的訊息稍微晚一點送達,拍賣者還是先接受他的投標,讓另一位投標者下標 失敗。而 Shill bidding 則是拍賣者在投標請求訊息抵達時,窺探裡面的出價,若 該出價低於拍賣者預設的價錢,那麼拍賣者就立刻塞一個同樣價錢的投標訊息到 此投標前面,誘使該投標者出更高的價錢。第三,Slow-running attack 發生於投標 者以近乎於零的傳輸速度傳送投標請求訊息,由於我們使用雜湊鏈保存投標訊息 的順序,每個投標抵達時都必須被加入雜湊鏈,但是同時只能有一個投標訊息備 加入,也就是說當有投標者的傳輸速度很慢的時候,後來的其他投標者都必須等 待前面這個投標訊息完成傳輸並且被加入雜湊鏈,拍賣者才可以繼續處理後面的 投標。. 16.

(23) 前兩個問題被改良法以加密的投標請求訊息解決,一當投標請求訊息內的會 員編號和出價變成密文以後,拍賣者就沒辦法看出是誰或是出多少錢進而發動 Briber bids 或是 Shill bidding。 用 UDP 傳送投標請求訊息可以防禦 Slow-running attack,當我們把投標請求 訊息的大小壓縮在一個 UDP 封包內的時候,就算投標者的傳輸速度再慢,只要他 送出了這個封包,也就等於完成了投標的第一步驟,拍賣者把投標請求訊息加入 雜湊鏈以後,馬上可以繼續接受後面的投標。 接下來,我們要解釋本研究如何達到想成為一個安全的競標系統架構必須包 含的九點要求: 1. 匿名性(Anonymity) :在投標階段時,投標者使用亂數金鑰去加密投標請 求訊息裡面的 UserID,其中的電子簽章是用拍賣會初始化階段得到的 AK 所簽署,因此任何人都無法得知此訊息由誰發出,而拍賣者必須把投標請 求訊息加進公開的雜湊鏈中。到了投標的第四步驟,拍賣者才知道這個投 標者的身份,但因為此投標已經存在於雜湊鏈之中,拍賣者也沒辦法改變 投標順序。本研究保證了投標一開始的匿名性,且使用雜湊鏈固定投標順 序讓拍賣者無法更改。 2. 不可連結性(Unlinkability) :同樣的,由於拍賣者再次接收到投標請求訊 息時,不知道投標者的身份,直到他把投標的順序固定且承認之後,進入 到投標的第四階段,才會得知投標的是誰。本研究提出的競標系統架構保 17.

(24) 有不可連結性,在公佈欄上只有投標請求訊息以及被解密過的標價而已, 投標者身分是不會公開揭露的。 3. 追蹤性(Traceability):在結標階段,拍賣者會公佈得標者的 UserID,同 時可以藉由註冊時所提供的公鑰去 PKI 查詢得標者的真實身份。 4. 不可否認性(Non-repudiation) :因為投標請求訊息的電子簽章並非以投標 者的私鑰簽署,不具有不可否認性,但是如果投標者沒有完成整個投標動 作,超過了定義的時限仍未回傳投標回覆回應訊息,此次投標將會變成廢 標。然而,投標回覆回應訊息中帶有投標者親自簽署的電子簽章,對於一 個成功的投標而言,是具有不可否認性的。 5. 不可假造性(Non-forgeability) :與不可否認性類似,投標請求訊息是可以 被假造的,但是當使用者把解密的金鑰在第三步驟回傳給拍賣者時,他必 須在投標回覆回應訊息中附上自己簽署的電子簽章,因此完整的投標仍 然具有不可假造性。 6. 公平性(Fairness) :由於投標請求訊息內所包括的 UserID 與 Price 是經過 加密的,因此拍賣者沒辦法得知投標者的身分,自然無法做出不公正的事 情。再者,拍賣者需要持續更新由投標請求訊息組成的雜湊鏈並發佈到公 佈欄上,而雜湊鏈的內容只要改變一點點算出來的雜湊值就會完全不一 樣,經由這個特性,拍賣者沒辦法在知道投標者身分之後再去改變投標請 求訊息的順序。 18.

(25) 7. 可驗證性(Verifiability):拍賣者會公佈所有的投標請求訊息以及其組成 的雜湊鏈,任何人都可以到公布欄上重新計算並且驗證雜湊鏈的正確性。 另外,拍賣者還會公布每個在投標請求訊息裡面用來加密 Price 的亂數金 鑰 k2,任何人同樣可以檢驗標價的更新是否正確。 8. 註冊一次性(One-time registration) :所有使用者都只需要註冊一次,便可 以參加此系統中的任何拍賣會。 9. 易撤銷性(Easy revocation) :一當拍賣者發現某位投標者有做出惡意或是 違規的行為,都可以立刻廢止他投標的權利,只需要在投標的第四步驟用 亂數金鑰 k1 解開投標請求訊息裡面的 UserID 時,檢查此帳號的投標資 格。. 19.

(26) 第四章. 相關研究. 近年來,隨著 eBay [2]、Yahoo 拍賣 [3] 等線上競標網站的興起,越來越多 關於英國式拍賣法的研究被學者們 [9][11][12][13][14][15][16][17][18][19] 提出。 其中 Stubblebine 與 Syverson 在 1999 年的論文中 [9] 提出了加密投標 (Secret Bit Commitment,簡寫為 SBC) ,與本研究的方向最為類似,但是作者的方法是以 匿名電子郵件的方式下標,在拍賣會中有一位公證人來檢查投標內時間戳的正確 性並決定是否接受此投標,他們使用 Lamport 提出的反轉雜湊鏈 [6](Reversed Hash Chain)來確保下標順序。反轉雜湊鏈在使用前必須事先算出整條雜湊鏈, 然後反過來使用,舉例來說,現在初始化一條長度為 10 的雜湊鏈,第一次投標 時,取出第十個雜湊值放入請求訊息,第二次投標拿第九個雜湊值,以此類推, 如此一來接收者每收到投標訊息時只需要把投標訊息內的雜湊值拿出來做一次 雜湊,比較雜湊完的結果是否與上一次收到的雜湊值相同,這種驗證方式非常快 速。我們發現反轉雜湊鏈的缺點就隱藏在他的優點之中,以前述的例子來說,整 條雜湊鏈用完後,第 11 次投標就必須再初始化一條新的雜湊鏈,除非知道該次拍 賣會總共的投標次數為何,否則在競標過程中更換新的雜湊鏈會讓整套競標系統 更複雜。本研究的雜湊鏈是以投標的請求訊息順向建構而成,此種建構雜湊鏈的 方式就不會有反轉雜湊鏈的問題,而且同時保有驗證快速的優點。. 20.

(27) 同時,[9] 使用時間戳(Timestamp)來記錄每筆投標訊息的先後順序,並公 佈在公佈欄上面,這麼做的問題在於,每位使用者都必須嚴格監控公布欄上的內 容,比如說使用螢幕錄影,才能夠保證拍賣者沒有在競標過程中非法地偷塞一個 高價投標訊息到公佈欄上,結標時若不滿意最終價錢才掀開此假投標。相對地, 我們使用雜湊鏈保存所有投標訊息,只要投標者保存最後一筆雜湊值,就不用擔 心拍賣者在過往的投標訊息中偷塞一個進去,破壞原有的投標順序。 在這個領域中,有許多研究 [11][12][13][15][16][17][19] 都將競標系統分為 三個部分:註冊管理員(Registration Manager,簡寫為 RM) 、拍賣會管理員(Auction Manager,簡寫為 AM)以及投標者(Bidder) 。RM 負責保管所有會員資料,拍賣 會開始的時候,RM 會將投標者的資料做成不可逆的金鑰,公開在公佈欄上面, 由 AM 主導整場拍賣會的進行,結標以後 AM 公佈得標者,再由 RM 處理後續的 付款動作。然而,這些研究一致假設 RM 跟 AM 不會有勾串行為,也就是 RM 及 AM 是被信賴的,否則這些競標系統就會得知投標者的身分,破壞拍賣會的公平 公正性。 Chang et al. 發表的競標系統包含了賣家上架商品的功能,這是本研究沒有涵 蓋到的部分 [18]。作者將競標系統分為代理人中心(Agent Center,簡寫為 AC) 與使用者(Users,簡寫為 U) 。AC 管理所有的使用者資料以及主持拍賣會,而且 AC 是被信任的,也就是把前述的 RM 與 AM 合而為一,並假設系統是善意的。. 21.

(28) 使用者在註冊之後,可以上架商品變成賣家,開一場新的拍賣會,也可以去參加 別人的拍賣會跟其他人競標商品。 Jenamani et al. 分析了英國式拍賣法各種可能的作弊方式,包括我們在第二 章第四節中提到的 Shill bidding [14]。其中作者還有提到一種叫做 Multiple bidding 的作弊法,就是一個投標者用不同的名稱來投標,在向我們的系統註冊之前,必 須向 PKI 配對好簽署電子簽章的公鑰,因此投標者沒辦法輕易的假裝成不同人來 下標。 Zhou et al.在 [8] 中提出了一個具有互相不可否認性的資料交換協定,訊息 接收者不能否認他有接收到訊息,而訊息傳送者不能否認他有傳送過該訊息。在 協定中,訊息傳送者先將欲傳送的訊息加密,接收者收到訊息之後會回傳讀取回 條,當傳送者確定對方有收到訊息後就會把當初加密該訊息的金鑰上傳給可信任 第三方(Trusted Third Party,簡寫為 TTP),此時訊息接收者就可以從 TTP 獲取 解密金鑰進而得到原始訊息。訊息接收者所回傳的讀取回條讓他無法否認沒收到 訊息,就算接收者假裝沒收到而不傳送讀取回條,那他也得不到訊息的解密金鑰, 這樣訊息傳送者也沒有損失,頂多再傳一次。然而,此協定的缺點在於運做過程 需要一個 TTP 來達到互相不可否認性,但是我們的協定中,所有訊息都包含傳送 者的電子簽章,沒有 TTP 的協助也可以達到相同的效果。 本文提出的競標系統架構只有拍賣者與投標者兩種角色,那些分為 RM 及 AM 的系統之所以假設兩者不會勾串是因為怕 AM 得知投標者的身分而偏袒特定 22.

(29) 的投標者,但是,在我們的投標四步驟協定中,第一步驟將投標者的會員編號加 密了,等到第二步驟確保拍賣者把投標請求訊息加進雜湊鏈中固定投標順序之後, 第三步驟投標者把用來加密的亂數金鑰告知拍賣者,到第四步驟時,拍賣者拿到 金鑰後才知道投標者的身分,因此我們不用把系統切為 RM 及 AM 兩部分,拍賣 者也沒辦法在收到投標請求訊息的時候得知投標者的身分。另外,也因為這個四 個步驟的加密投標協定,我們可以抵抗 Shill bidding 與 Briber bids 的威脅,同時 用 UDP 傳送投標請求訊息也使 Slow-running attack 不可能發生。. 23.

(30) 第五章. 實驗結果. 本章節的實驗將探討當投標者與拍賣者距離不同時投標所花費的時間,以及 四個階段中所有訊息的大小。 我們以 Java 實作了第二章所提出的競標系統架構,拍賣會的公佈欄以標準輸 出呈現,而投標階段時使用的是改良過後的四步驟投標協定,中間傳遞的訊息以 RFC 7519 提出的 JSON Web Token [21](簡寫為 JWT)表示,用來簽署電子簽章 的金鑰長度為 2048 位元組,簽章方法為 JWT 提供的 RS256(RSA signature with SHA-256)。另外,用來加密投標請求訊息中的投標者編號與標價的演算法是 AES/CBC/PKCS5Padding。我們使用個人電腦當作服務提供者(拍賣者)的伺服 器,其處理器為 Intel® Core™ i5-2400,記憶體則是 DDR3 6GB。 表 1 各階段的訊息大小(單位:位元組) 使用者註冊階段. 競標階段. 請求訊息. RegQ. 932. 請求訊息. BidQ. 506. 承認訊息. RegACK. 1670. 回應訊息. BidR. 1100. 回覆回應訊息. BidRR. 1946. 承認訊息. BidACK. 3074. (A) 拍賣會初始化階段 請求訊息. RegQ. 402. 承認訊息. RegACK. 3766. (C). (B) 24.

(31) 表 1 顯示了各個階段中所傳遞訊息的大小,其中使用者註冊階段 (A) 及拍 賣會初始化階段 (B) 都只有一來一往的兩步驟訊息交換,因此不存在回應訊息與 回覆回應訊息的數據。在競標階段 (C) 中,為了防禦 Slow-running attack,我們 使用 UDP 來傳送投標請求訊息,而且該訊息的長度需要小於 512 位元組,才能 夠在一個 UDP 封包以內完成投標的第一步驟,可以看到 BidQ 的大小為 506 位元 組,剛好小於該限制。 我們在不同的地方設置投標者,並且測量其完成一次投標所需的時間,結果 呈現於表 2。在表 2 中,hop count [22] 是使用 POSIX [23] 的指令 traceroute 測 得,而由於運行拍賣者的電腦一樣是位於師大資工,因此投標者 A 與拍賣者中間 只有一個 hop,完成一次投標所花費的時間也是最快的。從投標者 B 和 C 的距離 與投標花費時間可以觀察到,隨著與拍賣者中間距離的 hop 越多,整個投標所需 要的時間也就越多。投標者 B 並未擁有自己的公開 IP,因此我們使用 NAT 開放 通訊埠,讓拍賣者在第二步驟時能夠連線到投標者 B 以回傳回應訊息,我們推測 是由於 NAT 處理速度較慢導致投標者 B 的結果比投標者 C 還慢。 表 2 投標者在不同位置完成一次投標所需時間. 4. 編號. 投標者位置. Hop count. 直覺解. 改良法. A. 台北市,師大公館分部. 1. 31 ms. 62 ms. B. 台北市內湖區. 12. 42 ms. 293 ms. C. 日本4,Amazon EC2. 13. 92 ms. 215 ms. 在 Amazon EC2 [24]申請位於日本東京的 VM,位置代碼為 ap-northeast-1 25.

(32) 第六章. 結論. 現在針對英國式拍賣法的研究中,都假設競標系統本身是可被信任的,舉例 來說:註冊管理員(Registration Manager)與拍賣管理員(Auction Manager)互相 不會勾串、或直接用可信任的代理人中心(Agent Center)去處理所有事情,然而 我們認為這種假設都太過於一廂情願。 我們所提出的競標系統架構包含四個階段,分別為:使用者註冊、拍賣會初 始化、競標以及結標階段。在競標階段中,我們用四步驟的投標協定(Four-step handshake protocol)達到加密投標(Secret Bit Commitment),並且使用了雜湊鏈 來確保投標的順序不被拍賣者私自篡改。該投標協定還同時解決了 Shill bidding 和 Briber bids 兩大問題,而以 UDP 傳送投標請求訊息能夠防止 Slow-running attack。 我們提供的分析驗證了此競標系統架構的安全性,使用了更簡單的假設,可以運 行於非善意的環境中,達到與前人研究相同的效果,而我們提出的實驗結果也證 明此四步驟投標協定的效率是可被接受的。使用本文所提出的競標系統架構及協 定,使用者再也不需要擔心拍賣者與其他使用者勾串或者作弊,可以真正的在虛 擬世界中舉行英國式拍賣會。. 26.

(33) 參考著作 [1] Vijay Krishna. “Auction theory,” Academic press, 2009. [2] “eBay,” http://www.ebay.com/ [3] “Yahoo 拍賣,” https://tw.bid.yahoo.com/ [4] “蘇富比,” http://www.sothebys.com/ [5] “BID Now,” http://www.sothebys.com/en/auctions/watch-live.html [6] Leslie Lamport. “Password authentication with insecure communication,” Communications of the ACM 24.11 (1981): 770-772. [7] “RFC 791,” https://tools.ietf.org/html/rfc791 [8] Jianying Zhou, and Dieter Gollman. “A fair non-repudiation protocol,” IEEE, 1996. [9] Stuart G. Stubblebine and Paul F. Syverson. “Fair on-line auctions without special trusted parties,” Financial Cryptography. Springer Berlin Heidelberg, 1999. [10] Nicolás González-Deleito and Olivier Markowitch. “An optimistic multi-party fair exchange protocol with reduced trust requirements,” International Conference on Information Security and Cryptology. Springer Berlin Heidelberg, 2001. [11] Kazumasa Omote and Atsuko Miyaji. “A practical English auction with one-time registration,” Information Security and Privacy. Springer Berlin Heidelberg, 2001. [12] Byoungcheon Lee, Kwangjo Kim, and Joongsoo Ma. “Efficient public auction with one-time registration and public verifiability,” Progress in Cryptology— INDOCRYPT 2001. Springer Berlin Heidelberg, 2001. 162-174. [13] Tzer-Shyong Chen. “An English auction scheme in the online transaction environment,” Computers & Security 23.5 (2004): 389-399.. 27.

(34) [14] Mamata Jenamani, Yuhui Zhong, and Bharat Bhargava. “Cheating in online auction–Towards explaining the popularity of English auction,” Electronic Commerce Research and Applications 6.1 (2007): 53-62. [15] Yu Fang Chung, Kuo Hsuan Huang, Hsiu Hui Lee, Feipei Lai, and Tzer Shyong Chen. “Bidder-anonymous English auction scheme with privacy and public verifiability,” Journal of Systems and Software 81.1 (2008): 113-119. [16] Yu-Fang Chung, Yu-Ting Chen, Tzer-Long Chen, and Tzer-Shyong Chen. “An agent-based English auction protocol using Elliptic Curve Cryptosystem for mobile commerce,” Expert Systems with Applications 38.8 (2011): 9900-9907. [17] Hu Xiong, Zhong Chen, and Fagen Li. “Bidder-anonymous English auction protocol based on revocable ring signature,” Expert Systems with Applications 39.8 (2012): 7062-7066. [18] Chin-Chen Chang, Ting-Fang Cheng, and Wei-Yi Chen. “A novel electronic English auction system with a secure on-shelf mechanism,” Information Forensics and Security, IEEE Transactions on 8.4 (2013): 657-668. [19] Tzong-Chen Wu, Tzuoh-Yi Lin, Tzong-Sun Wu, and Han-Yu Lin. “Efficient English auction scheme without a secure channel,” Int. Arab J. Inf. Technol. 12.3 (2015): 246-252. [20] Gwan-Hwan Hwang, Yi-Ling Yuan, and Chi Wu-Lee. “Cryptographic Accountability for Service-Oriented-Architecture Systems,” IEEE Transactions on Service Computing (2016) (In Revision) [21] “JSON Web Token,” https://jwt.io/ [22] “Hop,” https://en.wikipedia.org/wiki/Hop_(networking) [23] “POSIX,” https://en.wikipedia.org/wiki/POSIX [24] “Amazon EC2,” https://aws.amazon.com/tw/ec2/. 28.

(35)

參考文獻

相關文件

在第一章我們已瞭解一元一次方程式的意義與解法,而在本章當中,我們將介紹

第四章 直角座標與二元一次方程式.

第四章 直角座標與二元一次方程式.

第五章 多項式.

第五章 多項式.

在選擇合 適的策略 解決 數學問題 時,能與 別人溝通 、磋商及 作出 協調(例 如在解決 幾何問題 時在演繹 法或 分析法之 間進行選 擇,以及 與小組成 員商 討統計研

法國「坎城競標」拍賣公司於 27 日表示,現代奧運之父古柏坦設計的奧運 5 環標 誌手繪原稿,在拍賣會上以 18 萬 5000 歐元(約新台幣

關於宋代寺院的合法性,日本的高雄義堅先生《宋代教史の研究》第三章的第一節、竺