首先列出一些較早期所提出的非文字密碼系統,其中大部分以圖行密 碼為主,希望能盡量發揮圖形相較於文字易於記憶以及無法被鍵盤側錄記 下密碼的優點,不過因為此時研究大多尚未考量到登入時被他人窺視的相 關問題,所以對於新式側錄工具以及肩窺攻擊較無抵抗能力。
3.1.1 最早期的圖形化密碼
這是早期由 Greg Blonder(1996)[4]提出的一種方法,它的方式主要是 使用系統內定的圖片,讓使用者對圖片中特定的幾個區域做點選的動作,
而這些被使用者點選區域的位置和順序就被當作密碼來使用,當使用者在 登入時,便依照之前的位置和順序點擊圖片的相關位置,如圖 7 所示,如 果跟當初註冊時的設定相符,那麼就可以成功登入。
圖 7:最早期的圖形密碼
此方法雖然將密碼以別於文字的方式來表達,避免的鍵盤側錄造成的 安全問題,不過由於提供給使用者所用的圖片和點選位置還無法自訂,因 此在密碼設定上的自由度較不那麼高。而且由於點擊位置只有內定的幾處,
使用側錄滑鼠座標的方式就可以簡單的分析出,使用者在登入時所點選的 圖片中之位置,而這些位置在每次登入時都是固定不變的,所以攻擊者便
14
可以把側錄到的位置直接用在下一次的登入。
3.1.2 Draw-A-Secret (DAS)
這是由 Jermyn 等人(1999)[5]所提出的一套方法,A.F.Syukri 也提出
過一套類似方式[6],主要就是利用使用者所畫出來的東西來當作密碼。在 進行畫出密碼的動作時,是在以一個 5X5 網格為背景的畫面上進行,使用 者所畫出的東西會以某種順序經過裡面的方格,而就由這個順序來表示密 碼的組成,當使用者要登入時,就重複一次當初註冊時所畫出的東西,如 圖 8 所示,只要繪出的軌跡誤差不要太大,理論上是會產生同樣的網格經 過順序,假如順序相同,就可以成功登入。雖然直接記憶網格經過順序對使用者不容易,但由於這是經由使用者 畫出的結果所產生的順序,因此只要記下畫出的圖形的大略模樣即可,而 且自己繪出的東西在記憶上也比較容易。由於網格的經過順序可由任意的 5x5 共二十五個格子來制定,經過他們的評估發現一個由長度十二格所產生 的順序當作密碼,其理論上的密碼空間相當於長度為八的傳統文字密碼。
不過實際上的密碼空間方面,他們發現到,由於使用者一般都是畫出
一個連續線段來表示密碼,在這情況下,二十五個方格所會經過的順序可 能就不是那麼的隨機,例如前進到某格,要畫出一個 90 度角的折線,這時 便只有 25 個方格裡的 2 格可能會被用到(往左右或上下),要達到類似隨 機的效果,以畫出多個點來表示可能會有較好的效果,不過相較於點,使 用者還是比較傾向於使用較容易記憶的線段圖案來組成密碼圖形,因此實 際上的密碼空間就會比理論上小得多。15
圖 8:以手動繪出物為密碼
不過這套方法雖然也是以非文字來代替密碼,但是假如用來繪圖的裝 置,例如滑鼠被側錄的話,所畫出的軌跡還是會被記錄下來,更甚者是用 一張螢幕截圖就可能拍下密碼的全貌,而由於每次登入所要畫出的東西都 是一樣的,因此攻擊者獲得的資料可以馬上用在下次的登入上。
3.1.3 PassFaces™
PassFaces™是由 Real User Corporation(2001)這家公司所提出的一套
有被商業化的系統[7],運用的是圖形密碼的方式,以記憶一連串圖形的順 序來代替傳統文字密碼的文字順序,而他們認為人對於人臉相較於其他普 通圖片擁有更高的辨識度以及記憶力,因此他們的方法使用的是人臉的圖 片,如圖 9 所示,這也是此系統的名稱由來。16
圖 9:記憶人臉代替記憶文字密碼
使用者在設定密碼時是以挑選幾個人臉圖形來當作密碼,在登入時,
會一次在畫面中出現九張人臉圖,使用者需要從裡面找出其中一個當初所 選擇的人臉,接下來會換上另一張由九張人臉所組成的圖,使用者一樣要 從裡面找出當初所選的圖,由於一個畫面只有九種可能選擇,為了避免被 他人意外猜對而登入,設定上是要重複五次這些步驟,並且每次都要選對 才能完全成功登入。
在使用方面的研究上,他們確實發現相較於純文字密碼,這種記憶人 臉的方式更容易被記憶,而且理論上的密碼空間可藉由人臉資料庫內圖片 的數量上升而增加。不過此種方法,在攻擊者成功利用適當時機的螢幕截 圖和滑鼠側錄的話,還是能藉由比照螢幕資料和滑鼠座標資料來找出使用 者在登入時所點選的圖片,由於註冊時所選的圖片就是當初記憶的那幾張,
因此在側錄多次登入後,就可以找出使用者當初全部的註冊臉形,這樣就 等於密碼完全被攻擊者知道。
3.1.4 PassPoints
這是由 S.Wiedenbeck et al.(2003)[8]所提出的一套方法,跟本章開頭
17
所介紹的早期圖形密碼相似,也是以圖片中的點選位置及順序當作密碼,
不同的地方是,PassPoints 所採用的密碼設定方式較為自由,除了系統內定 的圖片外,它還可以讓使用者使用自己準備的適當格式的圖片來代替,而 且可以允許滑鼠點擊的位置並沒有設限,只要是在圖片的範圍內皆可,如 圖 10 所示。由於可供點選的位置並非特定位置,因此圖中的每個像素都有 可能是被點選的地方,但是人在使用滑鼠點擊時,要做到精確到像素大小 的地步並不是很容易,因此這套方法並不要求在登入時一定要精確的點擊 在當初選擇的位置上,而是可以容忍一定範圍內的誤差,例如使用者註冊 時選擇的點位於圖片中的一個小物件上,那麼在登入時,他所點選的位置 只要大致有落在這個小物件的範圍內,都算是正確的密碼輸入。由於選用 的圖片可由使用者自行提供,因此便可挑選自己在設定密碼點擊區時較方 便記憶的圖,例如把圖中一些對使用者有特殊意義的地方當作密碼點來使 用,這樣在密碼記憶上會有更大的幫助。不過在後來使用方面的研究上發 現,在密碼輸入的部分,此種方法所花的時間會比傳統用鍵盤鍵入文字密 碼來的久一些,因為在點擊密碼點時,使用者會因想要精確的去點選某個 位置而放慢速度,或是在滑鼠操作技巧上不是很穩定之類。
圖 10:以點擊位置及順序作為密碼
雖然比起這節一開始介紹的方法,這邊多了任意替換的圖片以及任意 的點擊區,可是在螢幕截取和滑鼠側錄的雙重影響下,經過分析對照還是 可以歸納出使用者在登入時所點擊的各個位置,而這些位置也不會因為下 次登入而改變,所以攻擊者還是可以用這些觀察到的點擊位置來登入原本
18
使用者的帳戶。
3.1.5 V-Go
V-Go 是由 Passlogix Inc.(2004)[9]提出的一套有經過商業化的系統,
他所用的方式是以讓使用者對一個環境產生一些事件,而那些事件就被當 作密碼來使用。他們所提供使用者操作的環境一個佈景主題,可能是廚房 或臥房之類,這些佈景主題中散布著許多物件,如圖 11 所示,使用者可以 跟這些物件作互動,像是打開某個箱子,把時鐘撥到三點,將衣服放進衣 櫃之類。所以所謂的將以上這些使用者對佈景所產生的事件當作密碼,就 是指在登入時,要將當初對這個佈景主題作過的一切動作,按照當初註冊 時設定的順序,完整的重現一次,如果中途步驟都跟註冊時設定的相符,
那麼就可以正確登入。由於這佈景中可以操作的地方不少,順序也都由使 用者自行決定,因此密碼設定上的自由度不低,能產生的密碼組合也非常 多樣,而且對於親自去對佈景裡的物件作出行為的使用者來說,在記憶上 也是不容易忘記才對,因此對密碼的記憶性也不低。
圖 11:以對虛擬環境的互動作為密碼
至於在有側錄攻擊的情況下,因為佈景主題以及物件各有不同操作方 式的特性,鍵盤以及滑鼠側錄均無法明確了解使用者正在對哪種物件作出 甚麼樣的動作,就算搭配上螢幕截圖,由於整個登入過程是由一連串的連 續動作所組成,因此單張截圖也未必能了解整個登入情況是如何。但要是 能對螢幕的連續影像進行側錄或錄影,或是在肩窺攻擊的情況下直接觀測
19
對方螢幕,那麼登入過程跟物件的互動就能被完整記錄下來,攻擊者只要 在相同的佈景主題出現時,重複一次當初記錄下的動作,就有辦法登入原 使用者的帳戶。