密碼設定相同的狀況
2A 選信箱 被竊取密碼的瞬間直接宣布死亡(
@leemiyinghao: 剛好聊到就簡單講一下密碼的儲存方式 順便定期宣導,請不要在不同網站使用同個密碼🙏 網站為了要確認輸入的密碼是否正確都需要把密碼存在資料庫裡,但不同網站的儲存方式可能會不太一樣: 1. 直接儲存(明文儲存):最危險的一種。只要網站資料庫外洩,所有人的密碼都會一次公開。(Meta也曾經有過這種嚴重缺陷) 2. 簡單單向加密(雜湊):利用不可逆,但每次計算都有同樣結果的演算法儲存轉換過的結果,比對時只要比對結果就可以知道輸入的密碼是否相同。密碼本身不會出現在資料庫內,嚴格說起來比直接儲存安全一點點,但因為雜湊演算法種類不多,攻擊者只要預先算好常見的密碼長度就可以用來比對不同網站的計算結果(關鍵字:彩虹表)。在資料庫外洩時的危險性跟明文儲存並不會差太多。 3. 固定加鹽雜湊:在計算雜湊前加上一串很長、只屬於這個網站的額外密碼(鹽)。由於複雜度提高,可以用來避免彩虹表攻擊。但是使用GPU大規模計算專屬於這個網站的彩虹表已經是很成熟的技術,如果攻擊者手中有已知的計算前密碼(例如自己的密碼)會更快。 4. 動態加鹽雜湊:針對每個人的密碼儲存不同的鹽。嚴格來說並不會減少單個密碼被破解出來的速度,但相對固定加鹽的好處是算不出全站共用的彩虹表,無法平行破解所有密碼,對攻擊者來說花時間破解的效益會更低。 5. 抗GPU型雜湊:在GPU可以有效破解雜湊後開始熱門的雜湊演算法(例如Argon2、scrypt、Balloon)。本質跟一般雜湊演算法相同,但特別使用GPU無法加速的方式計算。同樣可以破解出原始密碼,但破解時間會顯著增加(以8個小寫字母密碼為例,SHA-256通常可以用單個GPU在一秒內破解,但Argon2id最快需要60年左右)。可以額外加鹽讓破解更困難,或是防止平行破解。
然後也寫一下
關於密碼外洩這件事
如果網站的資料庫被攻破,網站上的所有帳號、隱私內容、個人資料就已經不受到任何保護了。攻擊者並不需要知道密碼來偷窺個人相簿的內容。
此時真正危險的是連使用者的密碼也被攻擊者知道,用同個密碼登入在其他網站的帳號。也就是所謂的密碼外洩。例如:攻擊者攻破某個論壇的資料庫可能不會獲得太多有用資料,但是如果從這個資料庫裡面拿到使用者密碼,然後登入這個使用者的Google、Facebook、或是網路銀行⋯⋯那危險性就不同了。
這也是為什麼大部分的網站會宣導不要使用跟其他網站相同的密碼。對抗密碼外洩,不使用相同密碼還是最簡單而且也最有效的方式。
如果有興趣知道自己的密碼有沒有被外洩過,可以參考 https://haveibeenpwned.com/ ,這個網站收集了個人資料曾經被公開或是被拿來販售的使用者清單。