編輯嚴選
你的密碼到底有多「祕」?讀完你可能會大吃一驚!

2023/01/25閱讀時間約 13 分鐘
相信你大概也有這種經驗:上網開帳號,密碼規定一定要 16 碼,還要混合數字、符號和大小寫⋯⋯然後你罵:「煩死了,搞那麼複雜幹嘛?我都不在乎了,你那麼在乎幹嘛?其他網站就沒有這麼囉嗦。」──這是因為你不知道 8 碼和 16 碼在安全上的差別有多大,你也不知道駭客可以從這個你不在乎的網站, 一路破解到一個你在乎的網站。
曾經收到過一封某知名電商寄來的 Email,通知我有人用我的帳號在網站上出售高清電視被抓包,要我趕快更改密碼。當然誰也不知道這封 Email 是真的還是假的,保險起見我直接打電話到客服詢問,確認 Email 是真的,客服說有人盗用我的帳號在羅馬尼亞上架 10 台高清電視被 AI 抓包。
我想會被抓包是根據兩個模式: 一是地區,二是行為。一個在美國活躍的帳號突然在羅馬尼亞出現,不合常情;一個從來沒有賣過高清電視的帳號突然上架 10 台電視,也不合常情。好在網站反應快先發制人,但是我一直好奇為什麼有人會知道我的密碼,而且是一個遠在羅馬尼亞的混蛋。
這一類的帳號盜用我相信很多人都經歷過,只是很少有人知道一個遠在天邊的人是怎麼知道密碼的。背後原因有點複雜而且牽扯到好幾個層次,下面一個一個拿出來討論。先從使用者的層次來談。
Unsplash photo

你的密碼到底有多隱密?

我的密碼被破解的第一個原因,很可能是因為僅採用 8 碼小寫字母。電商帳號是 20 年前開的,那個時代網站密碼管理很鬆懈,只要 8 個字母就 OK,沒有必須混合符號的繁文縟節;如果是今天就會碰上一些煩死人的要求。
破解密碼是一場或然率與運算力的戰爭。密碼安全的關鍵不在你自認字母組合多「密」,而在多長。
假如 8 碼都是小寫字母,那是 2 千億種組合──這個數字聽起來已經大到沒人能破解了?錯!以今天的電腦運算能力,猜猜看大概要多少時間就能破解?
答案是:只要 5 秒鐘
那還是最「好」的情況,也就是「最多」得花 5 秒鐘。複雜度難不倒電腦,電腦最擅長的就是比字串,它們天生就是靠這行吃飯的。破解密碼沒有秘訣,只需要耐心和速度。電腦做的只不過是一個一個從頭試到尾。所以對抗壞人手中電腦最好的方法,就是把組合弄得更大,大到連電腦都受不了。假如你的密碼連 8 碼都不到,駭客和電腦都在偷笑──對他們來說你根本沒有密碼。
如果 8 個字母只要 5 秒鐘破解,那密碼要長到什麼程度才能讓電腦放棄?不用多,兩倍就好──16個字母就行。從 8 個字母擴張到 16 個字母,背後的複雜度並不是兩倍,而是天文數字,因為一切都以等比級數向上擴張。如果 16 碼都是小寫字母,猜猜看大概要多少時間才能破解?3 萬 4 千年!換句話說,8 碼都是小寫字母,其他通通不變,只是加倍改成 16 碼,破解時間就從 5 秒鐘升級到 3 萬 4 千年。
如果再混入大小寫、數字,那就要 370 億年才能破解。如果你有哪些網站密碼是只有 8 碼,或 8 碼都不到的,勸你新年新希望,趕快去改成 16 碼,讓駭客的電腦累死。或至少把 8 碼加入數字與大小寫──就這麼簡單的改變,就需要一小時才能破解。

你是不是使用了「笨蛋密碼」?

圖/Shutterstock
不過密碼夠長了,切記也不能太「笨」。不要以為 16 碼夠長就安全,駭客都有「密碼字典」,世界上常用的笨蛋密碼他都有。他會先從字典下手,根本不必等到海枯石爛。如果你美麗又安全的 16 碼是:12345678abcdefgh,他和電腦又是一陣偷笑。這要花多長時間?答案是:立即破解。只要上了字典,一切完全是免費。順便告訴你一個秘密,世界排名第一的電腦密碼是:password(密碼) ;第二名是:1234⋯⋯這一份愚蠢名單很長,趕快上去看一看,不要被人駭了還感謝你替他省了一筆電費。
可是 16 碼也很討厭,長度剛好就讓你記不住,如果中間又有數字跟符號真的就只能死記。有時候被強迫更換密碼又不能重複以前用過的,只好白紙黑字寫下來,反而適得其反。如果不想這樣折磨自己,那就取個中間點也可以,上述 5 秒就可以破解的 8 碼,只是換湯不換藥增加到 12 碼,就可以把破解時間增加到 3 個禮拜,這樣的小改變卻有高回收值。
當然,大家還是必須理解:把自己的部分做好,只是降低被盜的機率;但帳號無論如何都還是可能被盜用,因為不管怎麼防,這些防範措施都只限於使用者端,你無法掌控網站如果碰到一個爛網站,駭客可以跳過使用者,從後端直接探囊取物,像跳進魚池裡撈魚。 無論密碼多長、多複雜或多盡責任, 一旦駭客得以直接進到後端,一切都任之擺布、形同沒有密碼。這事雖然由不了你,但至少你可以把破壞力減到最低。
Unsplash photo

你的密碼存在什麼樣的網站?

所謂「爛網站」是什麼?就是那些該做、該防的都沒有做到的網站。除了歐盟國家,就我所知的多數國家法律,對於網站應該如何保護使用者並沒有詳細規範,開帳戶的時候我們多少都得碰運氣。再解釋得更詳細一點,個完善的網站應該要把帳號、密碼,以及個資三者分開儲存在防火牆之後,全部以代號相連。 那個代碼離開了網站就沒有任何意義。 但真正做到這一步的網站是鳳毛麟角。
暫時拋開個資不談,我相信你我最關心的就是密碼如何儲存。
密碼儲存大概可以分 3 種方式, 採用哪一種完全看網站願意花多少心思:
一、明碼(Clear Text):這是最糟糕也最不負責任的儲存法。不但帳號與密碼不分離,密碼還是以原字串儲存。任何幸運的駭客入侵此類網站就可以拿到所有用戶的帳號和密碼,替他省了破解的麻煩。早期的網站都是這樣。現在美國 30% 的網站仍舊是用明碼儲存歐盟 GDPR(《一般資料保護法》)限定密碼不能以明碼儲存,不過這只及於網站内的歐盟使用戶,對於大型跨國網站歐盟已經開始監督,但對小網站卻是鞭長莫及。
二、加密(Encryption):這個好一點,應該也是最普遍的做法;也就是將密碼加密,讓肉眼看起來只是一大堆亂碼。但問題是加密和解密都需要代碼,所有客戶的代碼又都一樣,一旦代碼被駭,又全部功虧一簣。
三、單向加密(Hashing):這個作法比較完善。因為是單向加密,無法逆向解密。這是一種單向演算法,把密碼變成一串數字(或字母),無法逆轉還原。資料庫甚至不需儲存原始密碼,只需儲存加密後的數值就可以;也就是全世界除了使用者,沒有人知道密碼。對網站而言密碼可以根本不存在,資料庫的功能只是比對打入密碼後產生的數字。即使整個資料庫完全被駭客拷貝,也無法得知客戶原始密碼。
從以上說明可以看出:網站負不負責任,對密碼安全影響非常大。
Unsplash photo
只是,單向加密還是可以破解,比較難,也得花些本錢。花這麼大的成本,駭客對你的個人帳號並沒興趣,他們意在大規模破解後拿到黑市販售。這是另一個層次企業化的駭客,至於他們為什麼神通廣大能夠破解,暫時留到後面談。

那該怎麼防駭?

總之駭客如果幸運入侵明碼儲存的網站,就等於撿了大紅包,不管密碼有多周全也是一目了然。也許你在爛網站裡沒有任何資料,只不過是一個帳號讓你登入而已,你認為駭客騙不到錢或任何資料⋯⋯問題就出在這裡, 他的目標未必是在那個網站──他們也知道爛網站裡可能並沒有好料,他只是要拿你的密碼去打開其他更有料的網站。這又牽扯到下一個問題:你終於創造出一個 370 億年才能破解的密碼,所以每一個網站都採用那個好得不得了的密碼。但一個不負責任的爛網站,讓那個 370 億年變成以肉眼可讀的明碼攤在陽光下,然後你所有的網站帳號都被一一盗用我的電商帳號被駭可能就是因為一套密碼走天下。
所以要防駭,就不要所有的網站都用同一個密碼。42% 的美國人在不同網站上用同一個密碼, 這些人大概不知道世界上有這麼多爛網站,讓密碼攤在陽光下等駭客來。這些網站通常完全没有安全措施,常常成為被駭的對象。假如都用同一個密碼,一個破口就會讓安全密碼形同虛設。一般美國人平均有 100 個帳號,照上面 30% 的明碼率,就大約有 30 個安全缺口──只要其中任何一個淪陷,100 個帳號就都會淪陷。你能說這不是個大紅包嗎?所以勸你新年第二個新希望,趕緊把不同的網站改成不同的密碼。
最重要的是 Email 密碼一定要分開獨立,任何人一旦有了你的 Email 密碼,就可以到所有網站說密碼忘記,請把臨時密碼 Email 給我──那是入門的總鑰匙。

碰上企業化駭客入侵怎麼辦?

以上討論的都是對個人帳號有興趣,想盜用你的帳號,這是混混的做法。然而上游的大盤是把你的密碼當作商品放在網路黑市販賣,他們是密碼供應鏈的龍頭。這些犯罪組織有資本、有人力、 有技術也有耐心,連不可能破解的單向加密,在他們手裡也可以破解。這些組織大部分在東歐或蘇俄,這或許也回答了為什麼我的電商帳號是由羅馬尼亞登入,畢竟羅馬尼亞除了吸血鬼還盛產駭客。
圖/Shutterstock
他們駭入知名大網站,把資料整個拷貝出來,用雲端電腦機群日以繼夜地測試每一個客戶不同的排列組合,比對加密數值。只要中了一個,所有相同的數值同時都破解,因為同樣的密碼產生的數值也一樣。所以這裡再扔出一個建議:密碼要獨特,不要用「菜市密碼」幫駭客投資一分回收百倍。
單向加密數值除了使用者本人沒有人知道密碼,一切都得靠系統化地用排列組合比對。只要有足夠的時間和資源,沒有無法破解的密碼──但這也得講求投資效益,大部分密碼可能幾秒鐘就破解,一定時間內無法破解就放棄,他們不會為了一個「釘子戶」花上幾萬年,使用長字串密碼就成為他們恨得牙癢癢的釘子戶。所以勸你趕快成為那個釘子戶,名單裡有上億頭笨肥羊,少你一個對他們沒差。
大型駭客入侵盜取的帳號都是以「億」起跳──有史以來最大的前十名駭客入侵事件, 第一名是 Yahoo! 的 30 億個帳號,第二名是萬豪酒店集團的 5 億;2023 年剛出爐的「頭香」是推特的 2.2 億,所以才會說密碼是否被駭並不完全操之於我們自己。
有時候 Google 瀏覽器會通知你,某一個儲存密碼的網站最近被駭──不要不理會這些警告,最好立刻修改其他網站密碼,因為駭客很可能正在雲端試圖破解你使用的所有其他網站。

駭你最簡單的方式是⋯⋯釣魚

Unsplash photo
不論是小混混還是「駭界大亨」,最常用也最有效的方法就是用 Email 釣魚(phishing)。美國 91% 的駭客事件都是經由釣魚得逞。我們都收到過 Email 說包裹被退回,電商付款失敗,或美國總統急著想見你⋯⋯要你趕快登入 Email 的連結跟他們聯絡。不要小看這個老掉牙的小騙術,到今天我都還會接到這樣的 Email,他們會這樣做是因為還是有人會上當。這是騙密碼最快、最直接也最有效的方式。當然偶爾也會有真的,就像我收到的電商 Email 一樣。如果實在分不出真假,不妨自己到那個網站去查證──當然不是點信件提供的連結,而是自己上 Google 搜尋網址設法查證。
最近矽谷大裁員又加上遠端面試,順勢造就了駭客以假網站、假工作、假面試、「假聘書」(fake offer)騙個資。最脆弱的時候也是最容易上鈎的時候,即使陷於危難也得提防被釣。記得,駭客一直在你身邊無時無刻不關懷著你。

那麼多帳號我哪記得住?

說了這麼多,回到我們被駭最根本的問題:「那麼多帳號,密碼都得又長又不同,哪記得住?」我們重複使用同一個密碼正是因為沒人記得住那麼多帳號。近幾年流行「句碼」(passphrase),讓你用一句完整的英文句子做密碼,中間准許空白。這種密碼長到令電腦抓狂,但內容卻較有人性不必死記。
也有越來越多網站問你願不願意加入兩階段輔助認證(2FA)。認證方式可以用 Email 或是手機簡訊(現在你更應該知道為什麼 Email 密碼絕對不能走露了)。兩階段認證通常用於跟金錢有關的帳戶,或是當網站發現登入過程有違常態。比方有人用你的帳號和密碼從羅馬尼亞登入,Device ID 又不同(不同的手機或筆電), 輔助認證就會啟動。如果網站有兩階段認證措施,建議你一定要加入──這是目前最保險的方法,只可惜不夠普及。

無密碼時代 ?

我在科技業的第一份工作是系統管理員,記得當時系統密碼是 Letmein(即 Let me in,讓我進來)──這個密碼現在已經在笨蛋字典上可笑度的名列前茅,那個時代作業系統帳號最多就只准許 8 碼。電腦密碼從 1960 年代到現在使用了 70 年,全球絕大部人仍舊靠密碼登入。雖然指紋、聲紋及臉孔辨識已經非常普遍,但仍限於輔助認證──不是新科技尚未成熟無法普及,而是千萬的網站都已根深蒂固使用密碼登入。即使全世界每一台電腦都準備好可以辨識指紋,那也只會是輔助,而不是取代,因為網站內部程式修改是大工程。如果全美國仍有 30% 的網站用明碼儲存密碼,不難想像改用指紋辨識對他們的優先順序。這不是科技問題,而是成本問題。
我相信總有一天「無密碼時代」一定會來臨,但不會在短時間內就有革命性改變。在過渡期間,我們會看到輔助認證越來越普遍⋯⋯不過別忘了,一個 8 碼的密碼仍舊幾秒就可以破解,網路上也仍舊有一大堆把密碼攤在陽光下的網站,你也會繼續收到釣魚的 Email、駭客永遠關懷著你。
所以最後再次強調:簡單的改變可以省掉很多麻煩。趁著新年許下新希望,修補一下幾秒鐘就可以破解的密碼,快把那 5 秒變成 3 萬 4 千年吧。

本文原刊於我的換日線專欄
贊助創作者百元,就抽 $8,888 紅包與好禮!
那年厭倦了當代名著翻譯工作,看著別人都往矽谷跑總覺得沒有跟著做一定是錯的,所以只好出國唸電腦,到了矽谷做了工程師。糟糕的是竟然做得很成功,不知不覺也就吃了一輩子的科技飯。現在吃膩了,再回頭補一些當年想做而沒做的事。
異類矽谷
NT250/次(單次購買)
全世界都是向 Google 看,向臉書看,沒有人往矽谷的另一邊看。所以我要帶你看矽谷很少有人知道的另一面。矽谷不是你想的那樣。
留言7
查看全部
如果要發表留言,請先登入註冊會員
享受沈浸的閱讀體驗
徜徉在不受干擾的簡約介面,瀏覽數百萬篇原創內容。
領取見面禮
只要設定追蹤作者,即可享有 48小時
Premium 閱讀權限