第1380回-國小資訊課-密碼暴力破解法
每年年底,需要在資訊課時給三到六年級學生做全民資安素養自我評量,該網站上的教材文件和動畫影片品質都相當好,在資訊課教學上有很大的助益。
今年的題庫中有一題:
(1) 密碼如果設定得太簡單,很容易遭到駭客暴力破解,請問什麼是「暴力破解」?
A.駭客用暴力的方式要求對方提供密碼
B.駭客透過電腦傳送暴力的文字,威脅對方提供密碼
C.駭客利用電腦程式,反覆嘗試輸入各種組合來破解密碼
下課後,我思考如何讓學生更有感?我不想讓教學只是流於知識記憶。
我第一個想到的是去 YouTube 上找影片,但都找不到我滿意的。
接下來,我想到以前曾看過一個網站,可以讓你輸入密碼後,告訴你破解你的密碼需要多少時間?
今年的題庫中有一題:
(1) 密碼如果設定得太簡單,很容易遭到駭客暴力破解,請問什麼是「暴力破解」?
A.駭客用暴力的方式要求對方提供密碼
B.駭客透過電腦傳送暴力的文字,威脅對方提供密碼
C.駭客利用電腦程式,反覆嘗試輸入各種組合來破解密碼
如何讓教學有感?
學生問我什麼是「暴力破解」?我口頭解釋給學生聽,學生似懂非懂。下課後,我思考如何讓學生更有感?我不想讓教學只是流於知識記憶。
我第一個想到的是去 YouTube 上找影片,但都找不到我滿意的。
接下來,我想到以前曾看過一個網站,可以讓你輸入密碼後,告訴你破解你的密碼需要多少時間?
這樣是稍微比較有感一點了,但是我還不滿足!
我根據我的需求去搜尋,我找到了相當不錯的資源!
想像力就是你的超能力!
我幻想,如果有一個網頁畫面,可以讓我先輸入密碼,然後再按一個破解密碼的按鈕,接著我會看到一連串文字數字不斷地跳動,然後看到我剛剛輸入的密碼,一個字一個字被破解出來,這樣應該會很震撼吧?我根據我的需求去搜尋,我找到了相當不錯的資源!
喔不!我還不滿意!因為這並不是讓我輸入密碼然後破解出來!我注意到這個網站叫 codepad,我可以在 codepad 網站上找找看有沒有別人寫更符合我需求的程式,but 沒找到。
怎麼辦?我想到我之前曾經用過 codepen 網站寫一個單字複習的小程式,於是我去 codepen 上找找,哇哇哇!還真的有耶!真的是我想得到的,網路大神也都想得到!
- Bruteforce codepen
科科!雖然已經很開心了,但我還想要更好!我希望畫面中能有一些說明文字,也希望字體大一點,基於之前在 codepen 上 fork 別人作品的經驗,我想我應該可以做得到!
我去維基百科上抄了一段文字:
- 暴力破解法,或稱為窮舉法,是一種密碼分析的方法,即將密碼進行逐個推算直到找出真正的密碼為止。例如一個已知是四位並且全部由數字組成的密碼,其可能共有10000種組合,因此最多嘗試9999次就能找到正確的密碼。理論上除了具有完善保密性的密碼以外,利用這種方法可以破解任何一種密碼,問題只在於如何縮短試誤時間。有些人運用電腦來增加效率,有些人輔以字典來縮小密碼組合的範圍。
但我希望國小學生能夠更容易閱讀,所以把句子再稍微分段一下,修飾一些用語,改成這樣:
- 暴力破解法是一種密碼分析的方法,將密碼進行逐個推算,直到找出真正的密碼為止。 例如:一個已知是四個字,並且全部由數字組成的密碼,其可能共有一萬種組合, 因此,最多嘗試9999次,就能找到正確的密碼。 理論上,除了具有完善保密性的密碼以外,利用這種方法,可以破解任何一種密碼! 問題只在於:如何縮短試誤時間。有些人運用電腦來增加效率,有些人輔以字典來縮小密碼組合的範圍。 (資料來源:維基百科)
閱讀素養不是全部,五感學習要注重
這樣我滿意了嗎?還沒!為了更有戲劇效果,我把 input type 從 text 改為 password,這樣子對於輸入密碼的人才會有一種神奇感,認為我只要按個按鍵就可以破解出他的密碼!
不過,可能有的小朋友打密碼時亂打一通,他自己也不知道他打的是什麼,所以我另外 fork 一個版本,將輸入文字的顏色設定成白色,這樣當密碼被破解出來時,可以把 input 裡面的文字反白來驗證。要注意的是輸入狀態要切換成英數,不是中文。
input type="text" class="input" value="" style="font-size:40px;color:#FFFFFF;"
我會引導學生去思考,如果你是一個網站管理者,你該如何抵擋這樣的「密碼暴力破解法」呢?
密碼無用?
我希望有學生來問我,如果密碼真的這麼簡單就可以破解,那我們設任何再複雜的密碼不就都沒什麼用了嗎?如果是您,您會怎麼回答?我會引導學生去思考,如果你是一個網站管理者,你該如何抵擋這樣的「密碼暴力破解法」呢?
留言