圖形鎖、PIN 碼與 Face ID:哪一個真正比較安全?
這個問題聽起來應該只有一個答案,而且幾乎真的是這樣,直到你問清楚:你到底是要防誰。在火車上撿到手機的陌生人、午餐時坐在你對面的同事,以及早就知道你密碼的伴侶,是三種完全不同的威脅,這三種鎖對付他們的失效順序也各不相同。以下是完整排名、背後的研究依據,以及比這一切都重要的部分:哪一種鎖該用在手機本身,哪一種鎖該用在手機裡的照片上。
面對有人在旁偷看你解鎖,圖形鎖在三者之中明顯是最弱的一種。在一項針對單次偷窺的控制研究中,攻擊者重現顯示軌跡線圖形鎖的成功率約為 64%,六位數 PIN 碼的成功率約為 11%。圖形鎖還會留下實體痕跡:最初的油漬攻擊研究在光線良好的條件下,有 68% 的測試能從螢幕上的指紋油漬還原出完整圖形,另有 92% 能還原出部分圖形。Face ID 完全不會讓旁觀者看到任何東西,這正是它在紙面上勝出的原因,Apple 估計隨機一張臉與你相符的機率約為百萬分之一。它的弱點屬於另一種類型:你睡著時它照樣能用,有人把手機舉到你面前時它也照樣能用,而且在 iPhone 上它只是密碼的捷徑,並非取代密碼,所以密碼一旦被人看到,這道防線就形同虛設。鎖盤大小同樣重要。幾乎所有被廣泛引用的圖形鎖統計數字,說的都是三乘三網格,而至少六個點的五乘五鎖盤,落在完全不同的數量級。裝置本身建議搭配 Face ID 與長密碼使用,至於裝了你不願意交給陌生人看的內容的應用程式,則該搭配另一組獨立的憑證。
簡短排名,以及會把排名打亂的關鍵問題
單以能否抵擋被偷看來評分,排名相當清楚:Face ID 第一,長 PIN 碼第二,圖形鎖敬陪末座。Face ID 不會向旁觀者透露任何東西,因為這組憑證從未離開過你的臉。PIN 碼是在一小塊可以用手遮住的區域輸入,每多一位數字,猜測空間就會乘以十。圖形鎖則是橫跨大半個螢幕的大動作,通常還有一條亮線跟著手指移動,是三者之中唯一一種隔了兩個座位的人就能直接記住的憑證。這在研究中不是小差距,而是接近擲硬幣和幾乎不可能猜中之間的差別。
接著要問另一個問題:實際上未經同意打開別人手機的,到底是誰?絕大多數情況下,不是拿著相機的陌生人,而是早就在你身邊的人:伴侶、室友、同事、親人。這種人通常知道你的密碼,看過你解鎖手機上百次,根本不需要任何攻擊手法。面對他們,上面的排名毫無意義,因為三種鎖其實都已經是開著的。唯一還能守住的,是他們從未見過的第二組憑證,用在真正值得保護的內容所在的應用程式上。我們關於在 iPhone 上用 Face ID 鎖定個別應用程式的說明,涵蓋了系統內建的那一半做法,值得和這篇一起閱讀。
每種鎖,會向偷看的人洩露多少
這一點研究人員是實測出來的,不是用猜的。在一項單次偷窺的研究中,顯示軌跡線的圖形鎖被旁觀者成功重現的機率約為 64%,六位數 PIN 碼約為 11%。關掉軌跡線能明顯改善圖形鎖的表現,遮住數字鍵盤也能明顯改善 PIN 碼的表現,但即使兩者都做了,差距依然存在。原因在於幾何結構:PIN 碼是在密集網格中依序輕點,只要看錯一位數字,整組猜測就全毀;圖形鎖則是一整條連續的線條,而形狀正是人類記憶力在看過一眼之後最擅長記住的東西。
圖形鎖事後還會留下證據。最初的油漬攻擊研究在受控光線下拍攝手機螢幕,有 68% 的測試能從油漬痕跡還原出完整的解鎖圖形,另有 92% 能看出部分圖形。PIN 碼的數字鍵盤同樣會留下油漬,但油漬不帶順序資訊,攻擊者只能知道用了哪些數字,猜不出順序。Face ID 不會在玻璃上留下任何痕跡,房間裡也不會留下任何線索。它的問題是換一種型態存在:只要你的臉出現在鏡頭前就會啟動,包括你睡著的時候,這是一個真實而具體的弱點,不是紙上談兵。Apple 的因應方式,是在重新開機後、48 小時未解鎖後,以及連續五次臉部辨識失敗後都要求輸入密碼,並推出遭竊裝置防護,用來應付竊賊已經看過你輸入密碼的情況。
背後的數學,以及鎖盤大小為何會改變一切
幾乎每一個被廣泛引用的圖形鎖統計數字,說的都是 Android 的三乘三網格,其中四到九個點組成的路徑總共有 389,112 種可能。這個數字比四位數 PIN 碼的 10,000 種多,比六位數 PIN 碼的 1,000,000 種少,而且這兩個數字都高估了實際的破解難度,因為無論是圖形鎖還是 PIN 碼,人們的選擇都遠遠稱不上隨機。多數人畫圖形時會從左上角起筆,遠超出隨機分布該有的比例,還會畫出自己熟悉的字母形狀;選 PIN 碼時則偏好 1234、0000 和出生年份。攻擊者只要優先嘗試這些熱門選項,根本不用跑遍整個可能空間,只需要在最擁擠的那一小塊裡搜尋就夠了。
鎖盤大小是一個很少有人提起的變數,但它的影響力壓過其他所有因素。只計算使用六個不同點的路徑,五乘五鎖盤在套用任何繪製規則之前,就有 127,512,000 種排列方式,而六位數 PIN 碼只有 1,000,000 種。Vaultaire 正是因為這個原因採用五乘五鎖盤,要求至少六個點、至少兩次轉向,並在你畫出連續排列、螺旋或可辨識字母時發出警告。這一切都無法解決偷看的問題,因為那是「在別人面前在玻璃上畫圖」這件事本身的特性,跟鎖盤大小無關。但這確實意味著:圖形鎖只有在有人偷看時才是弱點,沒有人偷看時反而是強項。
哪一種鎖,該用在哪一道門上
把手機本身和裡面的私人內容,當成兩道各自獨立的門。手機這道門,用 Face ID 搭配一組長密碼,並開啟遭竊裝置防護:當你不在常去的地點時,這項功能會針對敏感操作強制要求 Face ID,且不提供密碼備援。這套組合能對付陌生人、扒手,以及在咖啡店拍下你解鎖過程的人。但它對付不了早就知道密碼的人,也對付不了你把解鎖後的手機遞給別人看一張照片,對方卻順手一直往下滑的那一刻。要應付這種情況,你需要一道不會因為手機解鎖了就跟著打開的鎖。
這就是第二道門,也是圖形鎖真正發揮作用的地方。在 Vaultaire 中,圖形鎖不會拿去跟任何已儲存的副本比對,因為根本沒有副本可供比對。你畫出的點會被序列化,透過 PBKDF2 搭配 SHA-512、以 600,000 次疊代運算,並結合儲存在 iOS 鑰匙圈中、與裝置綁定的鹽值,運算結果就是用來解密檔案的 AES-256 金鑰。畫錯圖形不會收到伺服器傳回的拒絕訊息,只會得到一把打不開任何東西的金鑰。這裡沒有帳號、沒有密碼重設功能,也沒有保險庫副本存放在其他任何地方,這正是設定時會提供復原短語、並值得離線保存它的原因。我們關於AES-256 加密實際保護了什麼的說明涵蓋加密演算法的部分,我們對保險庫應用程式安全宣稱的稽核則說明如何判斷一款應用程式究竟是真的這樣做,還是只是把資料夾藏起來而已。Vaultaire 最多可免費使用 5 個保險庫。
相關指南
資料來源
常見問題
真的有人能從螢幕油漬看出我的圖形鎖嗎?
在特定條件下確實可以。首次提出油漬攻擊這個名稱的研究,在受控光線與拍攝角度下,有 68% 的測試能還原出完整圖形,另有 92% 能看出部分圖形。日常使用會讓螢幕上的油漬變得混亂、增加還原難度,擦乾淨螢幕則能徹底消除痕跡,但這種攻擊確實存在,而且只對圖形鎖有效。PIN 碼的數字鍵盤雖然也會留下痕跡,卻只會透露你用過哪些數字,不會透露順序。
在 iPhone 上,Face ID 比密碼更安全嗎?
這兩者不是互相替代的關係。Face ID 只是通往同一組密碼的快速通道,密碼才是底層真正的憑證,這也是為什麼 iOS 會在重新開機後、48 小時未解鎖後,以及連續五次臉部辨識失敗後都要求輸入密碼。面對偷看,Face ID 明顯更安全,因為根本沒有東西可看;面對有人能把手機對準你的臉這種情況,密碼則更可靠。兩者都要用,而且密碼要設長一點。
如果有人已經知道我的 iPhone 密碼,另外設一組保險庫圖形鎖還有用嗎?
這正是它主要的用途。知道你密碼的人,等於拿到整支手機:照片、訊息、隱藏相簿,還有網頁版 iCloud。只有擁有獨立憑證的保險庫,不會跟著其他內容一起被打開,前提是你從未在對方面前畫過這組圖形,也沒有把密碼的數字拿來當圖形的形狀。要選一個你從未在對方面前輸入過的組合,因為在這裡,真正的攻擊手法就是「太熟悉」。
如果我忘記圖形鎖怎麼辦?
在圖形鎖用來衍生加密金鑰的應用程式中,除了圖形本身或設定時發放的復原短語,沒有任何方法能救回檔案。這是這套設計必然的結果:沒有伺服器保留副本,也就沒有任何客服流程能幫你重設。請把復原短語寫在紙上,收在遠離手機的地方。下方連結的「忘記照片保險庫密碼」指南,會說明還剩下哪些選項,以及哪些所謂的復原方式不值得信任。