• 沒有找到結果。

在可記憶密碼機制方面的安全性分析

第五章 安全性分析與比較

第三節 在可記憶密碼機制方面的安全性分析

在密碼學上,可記憶密碼機制大多被用在可認證金鑰交換系統 (authenticated key exchange)上,而在本篇論文中,是首次將可記憶密 碼機制應用在電子投票系統上,為了能讓使用者容易記得,可記憶密 碼的長度大多不長,最多只有 8~10 個字元,由於長度短、範圍小,

攻擊者隨意亂猜,猜中的機率相對的就比較高,因此,可記憶密碼機 制的安全性其實是很脆弱,最簡單的攻擊方法就是用所有可能的密碼 去測,畢竟 8~10 個字元的組合並不多,以現在電腦運算的速度不需 要很長的時間,另外,由於一般使用者為了方便好記,有可能將可記 憶密碼取成某個有意義的字,所以,攻擊者可以使用字典攻擊法,利 用特定長度有意義的字來試使用者的密碼。

在本節接下來的內容,將針對可記憶密碼機制可能的攻擊方法,

對於本篇論文的架構做分析,來說明本篇論文可否抵擋這些攻擊。

1. 竊聽攻擊法

在可記憶密碼機制,竊聽功擊法的做法是在使用者傳遞資料時從 旁竊聽,並從竊聽到的資料,得到有關這個使用者的可記憶密碼的相 關資訊。表五的內容是用來證明,本論文的架構可以抵擋竊聽攻擊。

(表五) 阻擋竊聽攻擊法 1. 在整個架構中和可記憶密碼有關的資料 ballot (x, y)=(g1β mod p, g2α+βh2πGv mod p), g1αh1π mod p,

s3=r3-d2*π mod q

2. 由s3任何π'都可以找到一組r3’及d2’滿足r3’-d2’*π’=s3

3. 由g1αh1π mod p 相當於解discrete log的問題

4. 由選票,由於是 ElGamal 加密機制,ElGamal 是基於 Discrete log.,

是很難的問題,所以很難由選票得到和使用者的可記憶密碼的有關 資訊

2. 驗證碼的洩露連累

在可記憶密碼機制,"驗證碼的洩露連累"的意義是,在選務中 心的驗證碼被攻擊者得到,而由於驗證碼隱藏了投票者的可記憶密 碼,所以,攻擊者可能藉由驗證碼的洩露來得到有關該名投票者的可 記憶密碼的資訊,或甚至得到該名投票者的可記憶密碼。表六的內容 是用來證明,本論文的架構沒有"驗證碼的洩露"連累的問題存在。

(表六)可避免驗證碼的洩露連累 驗證碼:gαhπ mod p

(1) 令g = ha, 則gαhπ = haα+π

(2) 攻擊者隨意猜一個值α’,都會有一個π’符合haα+π = haα’+π’。 (3) 事實上, 要單獨從驗證碼得到投票者的可記憶密碼,相當於是

解離散對數的問題,而解離散對數的問題是非常難的。

3. 字典攻擊法(dictionary attack)

在可記憶密碼機制,字典功擊法的做法是攻擊者利用投票者取的 可記憶密碼大多都是有特殊意義的文字的特性,將這些有意義的文字 當做猜測的密碼,來尋找可能是投票者的可記憶密碼。

在字典攻擊法中,有兩種攻擊的模式,一種是即時字典攻擊法 (online dictionary attack) , 另 一 種 則 是 離 線 字 典 攻 擊 法 (offline dictionary attack),在下面的內容,將分別就這兩種攻擊法做分析,以 及針對本篇論文的架構能否抵擋這兩種攻擊法做說明:

(a) 即時字典攻擊法

即時字典攻擊法的做法是,猜測欲攻擊的投票者的可記憶密碼,

代替該名投票者投出選票,在表七的內容中,用來證明本篇論文的架 構可以抵擋即時字典攻擊法。

(表七)

1. 每次選舉只能投一張選票,攻擊者猜對的機會只有 1/2|π|

2. 即使猜對通行碼,亦需解出g1αh1π mod p 的α,

此為解discrete log的問題,在理論上的認知是很難解的問題

(b) 離線字典攻擊法

離線字典攻擊法的做法是,先得到投票者的投票內容,再離線猜 測該名投票者可能的可記憶密碼,然後,再跟投票者的投票內容做比 較,藉此得到部份或全部的該名投票者的可記憶密碼的資訊。

在表八的內容中,將分析攻擊者使用離線字典攻擊法,無法得到