• 沒有找到結果。

本章節針對所提出的競標系統架構及協定進行安全分析,首先會探討在第二 張第四節第一小節的直覺解法中提到的三個問題是否有被第二小節的改良法解 決,接著詳細解釋本競標系統架構能否達到第一章第二節中所提到的九點需求。

我們發現直覺解法存在Briber bids、Shill bidding 與 Slow-running attack 三個 問題。其中,Briber bids 是拍賣者可以從投標請求訊息獲得投標者的身分,如果 有兩位投標者近乎同時下標一樣的價錢,拍賣者很可能偏頗其中一位拍賣者,縱 使他的訊息稍微晚一點送達,拍賣者還是先接受他的投標,讓另一位投標者下標 失敗。而 Shill bidding 則是拍賣者在投標請求訊息抵達時,窺探裡面的出價,若 該出價低於拍賣者預設的價錢,那麼拍賣者就立刻塞一個同樣價錢的投標訊息到 此投標前面,誘使該投標者出更高的價錢。第三,Slow-running attack 發生於投標 者以近乎於零的傳輸速度傳送投標請求訊息,由於我們使用雜湊鏈保存投標訊息 的順序,每個投標抵達時都必須被加入雜湊鏈,但是同時只能有一個投標訊息備 加入,也就是說當有投標者的傳輸速度很慢的時候,後來的其他投標者都必須等 待前面這個投標訊息完成傳輸並且被加入雜湊鏈,拍賣者才可以繼續處理後面的 投標。

17

前兩個問題被改良法以加密的投標請求訊息解決,一當投標請求訊息內的會 員編號和出價變成密文以後,拍賣者就沒辦法看出是誰或是出多少錢進而發動 Briber bids 或是 Shill bidding。

用UDP 傳送投標請求訊息可以防禦 Slow-running attack,當我們把投標請求 訊息的大小壓縮在一個UDP 封包內的時候,就算投標者的傳輸速度再慢,只要他 送出了這個封包,也就等於完成了投標的第一步驟,拍賣者把投標請求訊息加入 雜湊鏈以後,馬上可以繼續接受後面的投標。

接下來,我們要解釋本研究如何達到想成為一個安全的競標系統架構必須包 含的九點要求:

1. 匿名性(Anonymity):在投標階段時,投標者使用亂數金鑰去加密投標請 求訊息裡面的UserID,其中的電子簽章是用拍賣會初始化階段得到的 AK 所簽署,因此任何人都無法得知此訊息由誰發出,而拍賣者必須把投標請 求訊息加進公開的雜湊鏈中。到了投標的第四步驟,拍賣者才知道這個投 標者的身份,但因為此投標已經存在於雜湊鏈之中,拍賣者也沒辦法改變 投標順序。本研究保證了投標一開始的匿名性,且使用雜湊鏈固定投標順 序讓拍賣者無法更改。

2. 不可連結性(Unlinkability):同樣的,由於拍賣者再次接收到投標請求訊 息時,不知道投標者的身份,直到他把投標的順序固定且承認之後,進入 到投標的第四階段,才會得知投標的是誰。本研究提出的競標系統架構保

有不可連結性,在公佈欄上只有投標請求訊息以及被解密過的標價而已,

投標者身分是不會公開揭露的。

3. 追蹤性(Traceability):在結標階段,拍賣者會公佈得標者的UserID,同 時可以藉由註冊時所提供的公鑰去PKI 查詢得標者的真實身份。

4. 不可否認性(Non-repudiation):因為投標請求訊息的電子簽章並非以投標 者的私鑰簽署,不具有不可否認性,但是如果投標者沒有完成整個投標動 作,超過了定義的時限仍未回傳投標回覆回應訊息,此次投標將會變成廢 標。然而,投標回覆回應訊息中帶有投標者親自簽署的電子簽章,對於一 個成功的投標而言,是具有不可否認性的。

5. 不可假造性(Non-forgeability):與不可否認性類似,投標請求訊息是可以 被假造的,但是當使用者把解密的金鑰在第三步驟回傳給拍賣者時,他必 須在投標回覆回應訊息中附上自己簽署的電子簽章,因此完整的投標仍 然具有不可假造性。

6. 公平性(Fairness):由於投標請求訊息內所包括的UserID 與 Price 是經過 加密的,因此拍賣者沒辦法得知投標者的身分,自然無法做出不公正的事 情。再者,拍賣者需要持續更新由投標請求訊息組成的雜湊鏈並發佈到公 佈欄上,而雜湊鏈的內容只要改變一點點算出來的雜湊值就會完全不一 樣,經由這個特性,拍賣者沒辦法在知道投標者身分之後再去改變投標請

19

7. 可驗證性(Verifiability):拍賣者會公佈所有的投標請求訊息以及其組成 的雜湊鏈,任何人都可以到公布欄上重新計算並且驗證雜湊鏈的正確性。

另外,拍賣者還會公布每個在投標請求訊息裡面用來加密Price 的亂數金 鑰k2,任何人同樣可以檢驗標價的更新是否正確。

8. 註冊一次性(One-time registration):所有使用者都只需要註冊一次,便可 以參加此系統中的任何拍賣會。

9. 易撤銷性(Easy revocation):一當拍賣者發現某位投標者有做出惡意或是 違規的行為,都可以立刻廢止他投標的權利,只需要在投標的第四步驟用 亂數金鑰 k1 解開投標請求訊息裡面的 UserID 時,檢查此帳號的投標資 格。

相關文件