• 沒有找到結果。

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

57

6. 實作與效能分析

這個章節將介紹本研究的協定實作,以及對本研究提出的協定效能做出分析。由於之前 沒有人做過這樣類型的協定與實驗,於是在這裡並沒有跟其他作者做比較。在實作的部 分是利用 JAVA 撰寫程式碼,執行環境是利用個人電腦(2.50 GHz Pentium 4 Dual-Core, 4GB 記憶體)。由於單純的要評估所設計的協定演算法效能,於是排除從資料庫匯入資 料的時間,將資料先存取在陣列當中。

模擬狀況為讓使用者輸入全國 163 所大專院校的英文校名縮寫,經過雙方相等性驗 證的協定比較伺服器端的陣列中是否有使用者輸入的校名縮寫,若存在則回傳相對應的 中文校名,若沒有該值則協定結束。模擬中也讓伺服器企圖欺騙使用者,測試協定是否 能按照流程驗證出伺服器的不良行為。以下為流程圖以及執行時的截圖,但由於 163 所 大專院校的執行截圖實在太過於冗長,因此先將學校數減為 10 所做正確性測試:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

58

圖 17 協定模擬流程圖

圖 18 測試時所選取的 10 所大專院校

圖 19 用來控制伺服器是否說謊的程式碼〈一〉-伺服器為誠實

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

59

圖 20 伺服器誠實且比對找到 nccu 的執行結果

圖 21 伺服器誠實且比對無法找到 gwjk 的執行結果

從圖 18 與圖 20 可以清楚的看到,若資料庫中有關鍵字〝nccu〞,且伺服器端沒有 做出欺騙動作,則經過相等性驗證後,伺服器告知使用者資料庫中有該關鍵字的相關資 料,而使用者也可以經過驗證得知伺服器沒說謊且資料庫中有所需的資料。接著經過模 糊傳輸,使用者得到 10 個值中,只有〝政治大學〞能夠成功被解密得到明文,其他非 使用者所搜尋的資料是一連串的亂碼,達到了傳輸的正確性以及傳送者的隱私,而接收 者的隱私雖然無法從執行結果看出,但可藉由回顧章節 4.2 的證明搭配附錄的程式碼獲 得說明。而圖 18 與圖 21 則顯示當輸入的關鍵字並不存在於資料庫的話,則伺服器告 知使用者沒有該筆資料,使用者也驗證伺服器沒說謊,協定結束。接著將修改程式碼,

讓伺服器說謊,看使用者是否能發現並依照流程中斷協定。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

60

圖 22 用來控制伺服器是否說謊的程式碼〈二〉-伺服器說謊(永遠說相等)

圖 23 伺服器說謊被使用者驗證發現〈一〉

圖 24 用來控制伺服器是否說謊的程式碼〈三〉-伺服器說謊(永遠說不相等)

圖 25 伺服器說謊被使用者驗證發現〈二〉

從圖 22 與圖 23 可以看出,當使用者輸入了資料庫中沒有的關鍵字〝gwjk〞,伺服 器卻欺騙使用者資料庫有該值時,使用者可透過協定驗證發現伺服器說謊,並將協定停 止。而從圖 24 與圖 25 可以看出,當使用者輸入了確實存在於資料庫中的關鍵字〝nccu〞, 伺服器卻欺騙使用者資料庫沒有該值時,使用者同樣可以透過協定驗證發現伺服器說謊,

並將協定停止。透過程式執行以及以上的幾個情境的測試,說明了本研究提出的雙方相 等性驗證搭配模糊傳輸之協定的正確性。接著,來探討協定從執行到結束所需花費的時 間。以下的表為參數長度的設定。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

61

表格 4 參數長度設定 參數 長度(bit) 適用方案或步驟

p 1024 ElGamal、Oblivious Transfer q 1024 ElGamal、Oblivious Transfer g 1024 ElGamal、Oblivious Transfer r 1024 ElGama

t 1024 雙方相等性驗證步驟 1 l 1024 雙方相等性驗證步驟 3

當資料量擴增到 163 所大專院校時,若關鍵字以明文存在於資料庫中,且伺服器誠 實,使用者從輸入關鍵字到取得資料,在做 100 次的模擬後,所需耗費的時間平均為 35933 毫秒,也就是 35.933 秒。另外,若關鍵字本來就以密文存放在資料庫中,則省略 協定中加密資料庫資料的運算時間,經過 100 次的模擬後,所得到的平均時間為 28907 毫秒,也就是 28.907 秒。由此可知,若資料為 163 筆的明文,協定需花費相當於五分之 一的執行時間做加密資料庫中的資料。因此,資料庫內資料最好可以用密文型態儲存,

不但節省了協定的執行時間,更重要的是當駭客入侵資料庫,所看到的都是如同亂數般 的密文,充分的保障了資料庫中的資料安全。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

62

相關文件