• 沒有找到結果。

在此章節,我們將分別分析所提出適用於密封式競標之方法與輕量化網頁安全防禦雛型系統之實 作。

使用自我驗證鑑別加密設計具匿名保護的密封式競標

針對本研究所提出的方法進行安全分析與效率的評估。首先將先定義其相關密碼假設,當假設成

立時,則針對本研究所提出之方法探討是否有達成前述之安全需求與操作需求。接下來將分析所提出 方法之執行效率,包括計算複雜度分析與傳輸成本分析與儲存成本分析。

本方法安全性基於單向雜湊函數(OWHF)、離散對數難題(DLP) 、橢圓曲線離散對數問題(ECDLP)、

Diffie-Hellman 問題(DHP) 與雙線性 Diffie-Hellman 問題(BDHP)五項密碼假設,將達到安全需求:出價 私密性、匿名性、不可否認性、不可偽造性、不可竄改性、可驗證性、抵抗重送攻擊與中間人攻擊、

(7)

可抵擋重送攻擊(against replay attack):在傳送的加密訊息中皆加入時間戳記,若接收方收到重送 攻擊的訊息,可直接判斷此訊息不為合理時間內所送出。

(8)

可抵擋中間人攻擊(against man-in-the-middle attack):在進行競標過程傳送的訊息皆透過鑑別加密 機制加密,當攻擊者欲藉由傳送所攔截的資訊成功假冒合法競標者或招標商,然而攻擊者沒有 BDi 之私鑰 sBDi或 AU 的私鑰 SAU,因此將無法成功攻擊。

(9)

雙向鑑別(mutual authentication):在競標階段,競標者與招標商透過傳送的標單資訊與收據,驗證 彼此的身分,以達到雙向鑑別。

關於操作需求方面,分析結果如下:

(1)

可追蹤性(traceability):當招標商皆收到競標者所競標之資訊時,驗證其合法性之後,則會回傳其 符記(token)告知其競標者已正確接收到競標資訊,而當開標時,競標管理者則會藉由其符記追蹤 出其得標者,讓招標商自行與得標者驗證其真實身分。

(2)

時效性(time restriction):在本機制中設有時戳(timestamp),當競標者在競標時,會產生一時戳傳 送給招標商,招標商會先驗證其時戳是否在截止時間之前送達,如此一來便可避免非法的競標者

在不合法的時間內競標。

(3)

單次註冊(one-time registration):當招標商與競標者向競標管理者註冊申請招標金鑰之後,之後就 可以用此把招標金鑰直接參與競標,不需要再重新註冊。

(4)

單次競標(one-time bidding):在本機制中,當招標商接收到其競標者的標單資訊時,會檢查其標 單是否有重複存在,以避免被惡意競標者重複競標。

+2Te+TXOR +2Te+TXOR

總合 TE+5TA +9TM+11Te

+7TH+2TXOR

TE+4TA

+11TM+12Te

+10TH+4TXOR

2TD+4TA +11TM+10Te

+6TH+2TXOR

10TM+3TA+3TH

傳輸成本分析針對金鑰對申請階段、競標註冊階段、競標階段、開標階段與得標者身分確認階段 分析競標者、招標商、競標管理者與金鑰中心在各階段的傳輸成本。表 2 列出各階段傳輸的訊息,表 3 列出各階段傳輸資訊的長度與總合。

表 2 各階段傳輸成本示意圖

參與實體 競標者 招標商 競標管理者 金鑰中心

金鑰對申請 YBDi ,IDBDi YAUj ,IDAUj YAM ,IDAM

U1,V1 (U2,V2) (U3,V3) 競標註冊 tBDi, FBDi tAUj, FAUj tAM, FAM, NAM, HAM - 競標與開標 ri , Bi H2(e(αi , βi))

nAU, k2QAU

- -

得標者身分確認 δj, k4QBDj k3QAU, cAU - -

表 3 各階段傳輸成本分析表

參與實體 競標者 招標商 競標管理者 金鑰中心

金鑰對申請 |ID|+|P| |ID|+|P| |ID|+|P| 2|P|

競標註冊 |V|+2P| |V|+|P| |V|+3|P| -

競標與開標 |V|+|P| 2|h|+|P| - -

得標者身分確認 |V|+|P| |P|+|h| - -

總和 |ID|+4|P|+3|V| |ID|+4|P|+|V|+3|h| |ID|+4|P|+|V| 2|P|

儲存成本分析針對金鑰對申請階段、競標註冊階段、競標階段、開標階段、得標者身分確認階段 分析競標者、招標商、競標管理者在各階段的儲存成本。表 4 列出各階段儲存的資訊,表 5 列出各階 段儲存資訊的長度與總合。

表 4 各階段儲存成本示意圖

參與實體 競標者 招標商 競標管理者

金鑰對申請 QBDi, SBDi, xBDi, YBDi QAU, SAU, xAU, YAU QAM, SAM , xAM, YAM

競標註冊 KBDi KAUj KBDi、KAUj 競標與開標 H2(e(αi, βi)) - -

得標者身分確認 - IDBDj -

表 5 各階段儲存成本分析表

參與實體 競標者 招標商 競標管理者

金鑰對申請 |V|+3|P| |V|+3|P| |V|+3|P|

競標註冊 |P| |P| 2|P|

競標與開標 |h| - -

得標者身分確認 - |ID| -

總和 |V|+4|P|+|h| |V|+4|P|+|ID| |V|+5|P|

本計畫提出一個適用於密封式競標之具匿名性與自我驗證鑑別加密機制,在匿名保護上,當在競 標與開標階段時,競標管理者與招標商皆無法得知其競標者的身分,直到選出最高價標單之後,所有 人皆可驗證其標單的合法性,之後招標商便要求得知其真實身分,並驗證其身分是否正確。而本計畫 所提出的方法,是以自我驗證鑑別加密機制為基礎,結合雙線性配對密碼系統,與基於身分之鑑別金 鑰交換機制,使其更有效達到雙向鑑別效果,讓招標商能自行驗證其競標者是否為合法註冊的競標者。

因此本計畫提出的方法具有以下特點:

(1)達到匿名性:當競標與開標時,所有人皆無法得知其競標者身分,直到招標商要求得知得標者真 實身分並公開,才能得知其得標者身分,其他為未得標者之身分皆能有效保護且永不公開;

(2)所有訊息皆可自我驗證其正確性與有效性:由於利用自我驗證鑑別加密機制,所有訊息皆可自我 驗證其正確性與有效性,以有效完成鑑別並阻擋攻擊;

(3)公開驗證得標者標單之合法性與有效性:當競標管理者完成開標動作時,則會公開其得標之標單

備註:測試環境:Microsoft Windows 7 64bit、Google Chrome 18、Burp Suite 1.4、Intel Pentium E2180、

4GB Ram

由此測試可以得知,透過本系統瀏覽網站,與其他方案相比功能正常,使用者可以正常的存取網 站的各項功能。效能方面因為每個請求都必須經過三個模組檢測,因此當網頁中的元件數量稍多,或 者是有較大的 JavaScript 檔案時,速度會拖慢較多,但與 Burp Suite 相比,速度差異不大。

【可用性分析】

因使用者瀏覽的網站種類眾多,每個網站使用的新技術也不同。本測試將進行測試網路上瀏覽人 次前五百大網站,經過本研究之代理伺服器之後,是否仍可正常瀏覽。一般使用者使用的前五百大網 站,我們採取 Alexa Top Sites [Ale11],取出全世界瀏覽比率最高的前五百大網站進行測試。測試的方 式如下,撰寫一自動執行的 Shell Script,讀取這五百大網站的清單,逐項使用 Mozilla Firefox 瀏覽器 開啟。而瀏覽器設定代理伺服器為本機的連接埠 8080,即為本研究實作之代理伺服器。測試的網站清 單請參見表 7 (僅列出前 125 個站台)。

表 7 Alexa Top Sites (前 125 個)

測試的結果如下,使用本代理伺服器進行連線。測試的標準如下,若是可以正常打開網頁,且網 頁上的元件皆可正常運作,即為可正常讀取。若無法讀取頁面或是網頁元件不正常,即認定為無法正 常瀏覽。

測試的結果 500 個站台中,有 481 個站台可以正常瀏覽,19 個站台不能正常瀏覽。不能正常瀏 覽的原因,有 17 個是無法開啟網頁,原因包括是連線逾時、連線失敗等。經人工測試,這些網站為 其他網站放置檔案所用 (例如文件檔案、圖檔等),因此無法直接連線。2 個網站為元素解析不完整,

原因為頁面上元素過多,代理伺服器無法在短時間內處理大量的請求,導致有元素遺失。因此扣掉 17 個原本就無法開啟網頁的網站,本系統使用的成功率為 99.6%。

【偵測率分析】

為了測試本系統對於惡意網站的偵測率,本研究蒐集了 500 個各種類型的惡意網頁及 500 個正 常的網站,並且使用本系統進行瀏覽,測試整體系統。惡意網頁的攻擊類型包括:惡意程式下載、

JavaScript 惡意攻擊及惡意導向至攻擊網站。由於惡意網頁的汰換速度十分快,因此部分的惡意攻擊網 頁本研究將直接下載下來,在本機直接開啟。其餘將直接連線至真實惡意網站。若本系統成功偵測並 阻擋下攻擊內容,即為成功偵測。若無法偵測到,即為無法判定。測試範例請參見表 8:

表 8 惡意網站範例

惡意程式下載 http://www.wsdhealthy.com/userfiles/file/Applet19.exe JavaScript 攻擊 http://thecheapseoservices.com/js.js

惡意導向 http://modernmodelshansen.com/xxx/xxx.php 測試結果請參見表 9:

表 9 系統偵測率測試結果

由此表可以得知,網站黑名單的過濾效果相當顯著,作為第一層偵測模組可以阻擋 86% 的惡意 網站。第二層動態偵測 JavaScript 則可以過濾 9.6% 個黑名單之外的惡意網站,最後一層模組進行惡 意網頁字串檢測可以找到 0.6% 惡意網站。在正常網站的部分,部分正常網站由於之前被列入惡意網 站,但是尚未從黑名單中去除,因此誤判為惡意網站,為 5% 數量的誤判。在 JavaScript 偵測的部份 無誤判。而網頁內容檢測的部份,由於字串比對較易誤判,有 0.6% 的網站遭到誤判。

各模組的偵測率另外測試如下。黑名單機制採用 “Malware Database (AMaDa)” [MDA11] 中的 黑名單進行測試。為了實驗測試而未將本黑名單引入模組中,測試完畢之後可再引入,增加黑名單模 組的準確率。取 100 個惡意站台進行測試,測試數據請參見表 10。在 100 個惡意網站中,黑名單模 組可以偵測到 89 個,11 個未偵測到,偵測率為 89%。若黑名單模組可以引入更多黑名單資訊來源,

例如配合 Google Safe Browsing API [GSB11] 等,可以更準確的進行過濾。透過第一層黑名單先行過濾,

也可以減少後面兩個模組偵測的負擔及增加速率。

表 10 黑名單模組測試結果

惡意網站數量 偵測到惡意網站 未偵測到

黑名單模組 100 89 11

JavaScript 模組偵測的部份,根據 “Detection of JavaScript based Heapspray Attacks” [Hsu11] 中 的測試,使用 “Metasploit Framework” [MF11] 配合 JavaScript 混淆器,產生 100 組惡意 JavaScript 樣本進行測試。測試結果請參見表 11。

表 11 JavaScript 模組測試結果

惡意網站數量 偵測到惡意網站 未偵測到

JavaScript 模組 100 100 0

透過 JavaScript 模組的偵測,惡意網頁所使用的 Heapspray 攻擊技術,可以準確的被 JavaScript 引擎所偵測而阻擋,不會因為 JavaScript 混淆器的混淆而無法偵測。

經過以上的測試,本研究所實作的網頁安全防禦系統可以成功的阻擋 9 成以上的惡意網頁,若引 入更多有效的黑名單,例如 “Google Safe Browsing API” [GSB11] ,將可以提昇其準確率。若網站為

新生惡意網站,其攻擊手法也可以透過 JavaScript 模組以及網頁內容檢測模組進行偵測,進而達到防 禦的效果。

網頁安全一直以來都是網站開發者、攻擊者以及受害者的第一線戰場。在攻擊技術門檻降低、攻

網頁安全一直以來都是網站開發者、攻擊者以及受害者的第一線戰場。在攻擊技術門檻降低、攻

相關文件