4.5 T-RiS 之簡 介與評 析
4.5.2 T-RiS 之評 析
由於通行碼字元集有 62 個字元而通行碼長度 L 的範圍為 8≦L≦16,因此其通行 碼空間為 。
意外登入抵擋能力
攻擊者在進行意外登入時,須藉由轉動將字元轉入扇形區域內,攻擊者意外完成 L2 次挑戰即為意外登入。然而,除非攻擊者藉登入記錄攻擊或其它方法取得 L 值;
否則,L 值對攻擊者而言屬未知。假設各種 L 值的機率皆相同 (即 1/9),若使用者的 通行碼長度為 L,其意外登入的機率 為
圖 4.9:T-RiS 之登入說明範例
其中
代表一個 pass-character 的字元挑戰中,符合登入條件的區域 (扇形區域) 佔整個畫 面的比例,即意外完成一個字元挑戰的機率。(62)3 為一次畫面中任 3 個字元的組合數,
而 則為一次畫面中符合登入條件之字元的組合數,使用者需 完成第 3 個 pass-character 至第 L 個 pass-character 共 (L2) 次。此外,當攻擊者連續三 次測試失敗時,此帳號將被系統鎖住並發送解鎖信至使用者註冊時設定的 e-mail 信箱,
此信件中含有供使用者解鎖用的連結,只有該使用者才可解除帳號鎖住而得以再次進行 登入認證,可有效提高意外登入的抵擋能力。系統與使用者並可在得到警示後採取因應 的措施 (如:拒絕特定來源位置的登入請求與更換通行碼等)。
登入記錄攻擊抵擋能力
在一次登入過程中,由於第 1 個 pass-character 與第 2 個 pass-character 在畫面上的 位置是固定的,且使用者須將第 3 至第 L 個 pass-characters 分別移入由中心點、第 1 個 pass-character 及第 2 個 pass-character 所圍成的扇形區域並按下 Confirm 鍵以完成登入程 序。因此攻擊者可針對使用者按下 Confirm 鍵時的畫面進行分析,利用多次的登入畫面 破解扇形區域 (即破解第 1 個及第 2 個 pass-characters),接著再分析破解第 3 個至第 L 個 pass-characters。若 T (≧1) 為攻擊者成功完整記錄登入過程的次數,則攻擊成功機率
為
其中
而 代表攻擊者分析破解第 1 個 pass-character 與第 2 個 pass-character 之機率,
則代表攻擊者分析破解第 3 個至第 L 個 pass-characters 之機率。 的分母代表符合登 入條件之字元組合數 (包括通行碼及其他混淆的組合),而 代表攻擊者第一次 記錄到的畫面中,通行碼以外符合登入條件的字元組合數,經過 T 次記錄這些組合仍符 合登入條件的組合數為 。 的分母代表符合登入條件之字 元組合數 (包括通行碼及其他混淆的組合),而 代表攻擊者第一次記錄到的畫 面中,通行碼以外符合登入條件的字元組合數,經過 T 次記錄這些組合仍符合登入條件 的組合數為 。(圖 4.10) 為攻擊者完整記錄登入過程的次數與攻擊成 功機率的關係圖,橫坐標為攻擊者完整記錄次數 (T)、縱座標為攻擊成功機率。由圖可 知,T-RiS 約可抵擋 4 次登入記錄攻擊,當攻擊者記錄 5 次登入過程,即使通行碼長度 為 16,攻擊者依然有約 0.05 的機率可破解使用者的通行碼。
邊角效應
使用者在登入時只須轉動中圈的 pass-character 至指定的扇形區域內,不必在畫面上 點擊,即使攻擊者記錄到登入過程,亦無法藉此縮小猜測 pass-characters 的可能性。且 在每一圈上,每個字元對於圓心的距離皆相同,並無所謂邊角。故 T-RiS 無邊角效應的 問題。
使用性
在 T-RiS 設計中,同心圓上的文數字依大寫英文字母 (A ~ Z)、小寫英文字母 (a ~ z) 以及十進位數字 (0 ~ 9) 分組排列,可以減少使用者搜尋字元的時間。再者,由於使用 者只須將 pass-characters 移入扇形區域即可,而扇形區域平均佔同心圓的 1/4,易於操作。
圖 4.10:T-RiS 中攻擊者完整記錄登入次數與攻擊成功機率之關係
4.6 現有可抵擋登入記錄攻擊之圖形化文字通行碼設計的比較
在本節中,我們以相同或相近的安全參數設定 (文字通行碼長度:8) 比較本章所分 析 的 五 套 現 有 可 抵 擋 登 入 記 錄 攻 擊 的 圖 形 化 文 字 通 行 碼 設 計 Pair-Based Scheme [Sree11b]、Kim 等人的設計 [Kim11]、S3PAS [Zhao07]、Advance Secure Login [Zaid11] 與 T-RiS [Chen11b] 之安全性與使用性。(圖 4.11) 為本章所分析的五套較具代表性之可抵 擋登入記錄攻擊的圖形化文字通行碼設計 ( L = 8 ) 中攻擊者記錄登入次數與攻擊成功 機率之關係圖。(表 4.1) 為本章所分析的五套現有較具代表性之可抵擋登入記錄攻擊的 圖形化文字通行碼設計之安全性與使用性比較表。
圖 4.11:五套現有較具代表性之可抵擋登入記錄攻擊的圖形化文字通行碼設計 ( L = 8 ) 中 攻擊者記錄登入次數與攻擊成功機率之關係
表 4.1:五套現有較具代表性之可抵擋登入記錄攻擊的圖形化文字通行碼設計之
第五章
藉隱藏通行碼長度以強化登入記錄攻擊 抵擋能力之圖形化文字通行碼
過去雖已有許多可抵擋登入記錄攻擊的圖形化通行碼設計被提出,然而,在實務上,
圖形化通行碼設計對於長期習慣記憶文字通行碼的使用者而言有適應上的問題,當使用 眾多系統且各採截然不同的圖形化通行碼設計時,使用者的記憶負擔將大幅增加,較難 以推廣普及。因此,近年來有數個以文字為基礎之可抵擋登入記錄攻擊的圖形化文字通 行碼設計被提出 [Zhao07][Grid08][Hoan08][Sree11b][Kim11][Zaid11][Chen11b],在此類 型的通行碼設計中,使用者在註冊時僅須記憶文字通行碼,並於登入時透過圖形化的登 入介面以及特殊的登入規則保護使用者的文字通行碼,進而抵擋登入記錄攻擊。然而,
根據我們的研究發現,在現有大多數可抵擋登入記錄攻擊之圖形化文字通行碼設計中,
攻擊者僅須透過一次登入記錄攻擊即可得知使用者的通行碼長度。一旦登入記錄攻擊者 得知使用者的通行碼長度後,破解使用者通行碼的機率將大幅增加。因此,若能將使用 者的通行碼長度隱藏,則可提升系統對於登入記錄攻擊之抵擋能力,強化系統的安全 性。
在本章中,我們將提出一套藉隱藏通行碼長度以強化登入記錄攻擊抵擋能力之圖形 化文字通行碼設計 ─ A-ROT (Auto ROTation),此設計的特色:(1) 藉由 start-character 與 end-padding 機制隱藏使用者輸入通行碼之起訖時間與通行碼長度,以強化登入記錄
攻擊抵擋能力;(2) 操作介面的要求較低;(3) 操作簡單;(4) 以文數字取代 icons,相 較於一般的圖形化通行碼設計,對於習慣記憶文字通行碼的使用者而言記憶負擔較輕,
不需改變記憶通行碼的方式。接著,我們將分析 A-ROT 的安全性與使用性,並將我們 所提出的設計與現有較具代表性的可抵擋登入記錄攻擊之圖形化文字通行碼設計做比 較。
5.1 藉隱藏通行碼長度以強化登入記錄攻擊抵擋能力之圖形化文 字通行碼設計 ─ A-ROT
有鑒於目前使用者習慣於文字通行碼,對文字通行碼的記憶與操作較為熟悉,但一 般的文字通行碼設計無法抵擋登入記錄攻擊,我們 [Chen11b] 先前提出了一套可抵擋登 入記錄攻擊的圖形化文字通行碼設計 ─ T-RiS,使用者僅須記憶文字通行碼即可在一 套圖形化文字通行碼設計中登入。然而,由於 T-RiS 在一次登入過程中,使用者需移動 的次數與使用者的通行碼長度有直接的關係 (若使用者的通行碼長度為 L,則使用者須 移動 L-2 次)。若登入記錄攻擊者取得使用者的登入過程一次,攻擊者即可得知使用者的 通行碼長度,破解通行碼之機率將大幅增加。針對此問題,我們提出了改進設計 — A-ROT,此設計藉由 start-character 與 end-padding 機制隱藏使用者輸入通行碼之起訖時 間與通行碼長度,強化了登入記錄攻擊抵擋能力。本節將介紹 A-ROT 並深入分析 A-ROT 的安全性與使用性。
5.1.1 A-ROT 之設計
A-ROT 的設計包含註冊階段與登入階段,分述如下:
註冊階段
系統提供之字元集包含 64 個字元 (大小寫英文字母、數字 0 ~ 9、以及符號@、符 號?) ,使用者須在註冊時設定長度為 L (8≦L≦15) 個字元的文字通行碼,並設定一個 字元作為 start-character。此外,尚須設定用以解除帳號鎖定的 e-mail 信箱。整個註冊程 序須在無登入記錄攻擊的環境下進行。
登入階段
登入時,使用者需依下列步驟回應系統的挑戰:
Step 1:使用者輸入 ID 以要求登入系統。
Step 2:登入畫面顯示文數字組成的三個同心圓圈 (由內而外分別為內圈、中圈及 外圈),內圈與外圈固定不動,中圈則以設定的速率自動轉動。其中的文 數字依符號「@」、「?」、大寫英文字母 (A~Z)、小寫英文字母 (a~z) 以 及十進位數字 (0~9) 分組排列,且每組內的字元順序皆為隨機排列。登 入畫面上另有確認鍵與顯示 8 個字元的 start-window,所有的字元隨機排 序後以 8 個為一組依序輪流顯示於 start-window 中,當使用者按確認鍵時 則 start-window 切換顯示下一組的 8 個字元。畫面上並顯示確認鍵被按的 總次數 (以 X 表示)。
Step 3:若 start-window 中 無 start-character , 則 使 用 者 須 續 按 確 認 鍵 直 至 start-character 出現在 start-window 中。令變數 k = 3。
Step 4:一旦 start-character 出現在 start-window 中,使用者須在自動轉動的中圈 找到第 k 個 pass-character,待中圈上的第 k 個 pass-character 轉動至內圈 上第 1 個 pass-character 及外圈上第 2 個 pass-character 與圓心形成角度 <
180的扇形區域內時按確認鍵。若內圈上第 1 個 pass-character、外圈上第 2 個 pass-character 與圓心的夾角為 0或 180 (意即連成一直線) 時,使用 者須待中圈上的第 k 個 pass-character 轉動至此直線上時按確認鍵。
Step 5:令變數 k = k + 1,並重複 Step 4 直至 k = L (完成第 L 個 pass-character 的 輸入)。
Step 6:若 X (畫面上顯示確認鍵被按的總次數) 不為 20,則使用者須按確認鍵直 到此數字為 20。
若使用者連續三次登入失敗,則此帳號將被系統鎖住而無法再進行登入認證程序。同時,
系統將發送一封解除帳號鎖住用的信件至使用者註冊時設定的 e-mail 信箱,使用者必須 點擊此信件中的連結以進行帳號解鎖。使用者解鎖後方可再次進行登入認證程序。
操作方法的說明例如下:假設使用者的通行碼設定為“Security”,start-character 設定為“Z”。在 (圖 5.1) 中,為了讓使用者更容易分辨字元,每組以不同顏色顯示 (大 寫英文字母以紅色表示、小寫英文字母以黑色表示、數字以藍色表示),由於 start-window 中 (紅色圈處) 的字元並未出現“Z” (start-character),故使用者需持續按確認鍵以切換
start-window 中的字元直至“Z”出現,此時輸入次數 = 0。在 (圖 5.2) 中,因使用者按 過一次確認鍵,故輸入次數 = 1 且 start-window 切換顯示下一組的 8 個字元,此時 start-window 中出現 start-character “Z”,由於內圈上第 1 個 pass-character “S” 與外 圈上第 2 個 pass-character “e” 以及圓心的夾角不為 0 或 180,使用者須待中圈上第 3 個 pass-character “c” 自動轉動入內圈上第 1 個 pass-character “S” 及外圈上第 2 個 pass-character “e” 與圓心所形成角度 < 180的扇形區域 (以紅色線標示) 內時按
start-window 中的字元直至“Z”出現,此時輸入次數 = 0。在 (圖 5.2) 中,因使用者按 過一次確認鍵,故輸入次數 = 1 且 start-window 切換顯示下一組的 8 個字元,此時 start-window 中出現 start-character “Z”,由於內圈上第 1 個 pass-character “S” 與外 圈上第 2 個 pass-character “e” 以及圓心的夾角不為 0 或 180,使用者須待中圈上第 3 個 pass-character “c” 自動轉動入內圈上第 1 個 pass-character “S” 及外圈上第 2 個 pass-character “e” 與圓心所形成角度 < 180的扇形區域 (以紅色線標示) 內時按