Home 密碼學是什麼? 有何用途以及要解決什麼樣的問題?
Post
Cancel

密碼學是什麼? 有何用途以及要解決什麼樣的問題?

如何在有惡意的第三方的情況下安全的通訊

密碼學要解決的問題大概可以以上面這一句話來概括,這篇文章主要的目的, 就是要來深入探討這句話,通訊的本質是什麼,會面臨什麼問題, 以及什麼樣才是安全的通訊,要達到哪些目標才算安全呢?

what is communication and cryptography?

通訊 (communication)

什麼是通訊

就是將信息(message)由一方傳達到另一方,比如說對話、傳小紙條、寫信或Email、傳LINE、 通電話、上網看網頁、使用社群網站等等等… 各式各樣的訊息,在各處流動,尤其是現在網際網路發達的時代, 訊息的來源可能來自世界各地,更多元、更即時、也更大量。

惡意第三方

試想一下,你在跟人對話,旁邊有人在偷聽; 視線範圍內沒人,但卻隔牆有耳; 小時候在教室裡傳紙條,被中間的同學打開來看; 特務電影中,駭客在路邊的一台小車裡, 監聽著你撥打的電話; 以上的種種的例子,都是有第三方得到了別人中間通信的內容。

通訊的媒介都是公開的

我們在跟別人講話,訊息在空氣中透過聲波傳送; 我們傳紙條寫信,將信息寫在紙上傳遞; 古代打仗,有傳令兵、馬拉松跑者,帶著重要的情報在路上奔波; 講電話時,則是將訊息轉化為電磁波發送出去。

不管你用的通訊方法是哪個,都需要一個媒介來傳遞,而這個媒介是公開的! 沒有辦法阻止別人來讀取當中的資料,就算你是有護衛的傳令兵,也可能被殺了然後被奪取令旗。

密碼學的出現

所以密碼學的出現,就是為了解決以上的問題,在古代戰爭中已經有許多的密碼學的蹤跡, 世界大戰時,破解德軍加密過的訊息,也是當時戰爭中相當重要的一環。

什麼是安全

上述所舉的例子,其實只提到安全其中的一個部分,也就是信息不想被第三方看到, 但其實還有其他可能被惡意攻擊的面相,以下就來討論,要達到所謂的安全,需要顧到的環節。

以下將用一個例子來說明,假設有兩個人名為Alice跟Bob,他們倆是筆友,透過寫實體信的方式互通往來, 而有一個壞人Charlie想要偷看信件並破壞兩方感情,來看看Charlie有哪些招數可以用吧。

communication in adverities

偷看 (Sniffing)

Charlie要做壞事的第一步,當然就是先偷看他們通信的內容是什麼?只要到收信者的信箱那邊等, 或是去找郵差襲擊他,都可以達到這個目地,把信拿出來看一看再放回去,Alice跟Bob的甜言蜜語, 或是要約會的時間地點都會被知道。

竄改 (Tempering)

再更進一步,Charlie可以將信中的內容做更改,比如說約會時間為下午1點,可以改成4點、7點、10點, 這跟提款單或支票使用數字要用大寫是一樣的意思,就是為了防止內容被修改過卻看不出來。

冒充 (Impersonation)

如果Charlie有辦法模仿他們的字跡,就可以直接寫一封新的信!在真實世界中,我們就是透過字跡、簽名, 來認證信息的來源是不是本人,但不乏看過許多冒用簽名的例子。

通話的話是使用聲音,視訊可以看長相,但聲音也可以合成,影像也可以,看看最近當紅的小玉deepfake風暴就知道了, 所以到底該如何證明一份訊息的來源是真的出自本人,也是一個重要的問題!

Summary

感謝你的閱讀~ 今天學習到了密碼學的目的,了解到通訊不安全的本質,壞人可能透過哪些方法來做壞事, 包括偷看、竄改及冒充。

該如何怎麼防範這些問題,就是密碼學的核心,至於密碼學是如何做到這些事的, 這篇文章還沒有說明,之後有機會再補上! 如果有人留言敲碗要的話,我就立馬開始寫!哈哈,掰掰~👋

延伸閱讀(陸續新增)

陸續將密碼學相關文章補上~

This post is licensed under CC BY 4.0 by the author.

[Golang] 如何逐行讀取檔案,或使用shell pipe到go process

Nodejs: 如何逐行讀取檔案,或使用Unix pipe與其他process互動

Comments powered by Disqus.