-
網際網路:加密與公鑰
-
嗨,我是Mia Gil-Epner,我在UC 柏克萊大學就讀,主修電腦科學
-
我在國防部工作,主要工作是確保資訊安全
-
網際網路是一個開放與公共系統
我們在共享的線路上傳送與接受資訊
-
儘管它是一個開放系統,
我們仍然透過網路交換大量的私密資料
-
像是:信用卡號碼、帳戶資訊、密碼、電子郵件
-
那麼這些私人事物要如何保密呢?
-
透過加密程序:混排或改變訊息來隱藏原始的內容,
任何類型的資料都得以保密
-
解密是一個重排的過程,得以讓資料變得可以解讀
-
這是一種簡單的想法,人們這樣做已經有好幾世紀之久
-
最為人所知的一種加密方法是「凱薩密碼」
-
這個方法是以凱薩大帝來取名,這位羅馬將軍將軍事命令加密
-
以確保即使訊息被敵方攔截,也無法解讀
-
凱薩密碼是一種演算規律:
將原文中的每一個字母,按順序都替換為向下一定間隔「數量」的字母
-
如果這個數量只有訊息的發送者與接收者知道,它就稱為密鑰(key)
-
它允許接收者能夠解開秘密資訊
-
舉例來說:假定你原本的訊息是「HELLO」
使用凱薩密碼演算法,密鑰是 5
-
會這樣做...
-
要將訊息解密,接受者只需要使用密鑰,來逆向這個流程
-
凱薩密碼有很大的缺點:只要嘗試每一個可能的密鑰,任何人都可以輕易地破解加密的訊息
-
英文只有26個字母,這表示你只需要嘗試最多26次,就可以將訊息解密
-
嘗試26個可能的密鑰並不困難,頂多只需要一小時就能做到
-
讓我們把它變得更難:
將每個字母橫移不同的數量,而不是固定的量
-
這個例子:
用一個10位元長度的密鑰(顯示著每個連續的字母要更改的位置),來加密訊息
-
要猜到這個密鑰非常困難!
使用 10 位加密,就有 100 億種可能的密鑰組合
-
很明顯,這超過任何人類可以解決的範圍,可能要花許多世紀
-
但現今的一台普通電腦,只要幾秒就可以嘗試所有 100 億種可能組合
-
因此,在現代世界裡,壞人都裝備了電腦,不是拿筆算
-
你要怎麼做,才能把訊息加密到足夠安全,太困難到無法破解呢?
-
太困難是指:有太多的可能性,因此不可能在一段合理的時間內被計算出來
-
當今的安全通訊是以 256 位元長的密鑰來加密
-
這表示:壞人攔截了你的訊息,他的電腦必須嘗試這麼多種的可能密鑰...
(看畫面上的巨量數字)
-
直到他找到了正確的密鑰,才能破解訊息
-
即便你有 100,000 台超級電腦
-
並能讓每一台超級電腦,每一秒嘗試一百萬億組密鑰,
也要花費 10⌃36 年以上,才能嘗試每一種組合。
-
哪怕僅僅是破解一條由 256 位元加密保護的資訊。
-
大約每ㄧ年,電腦晶片的進步,速度提升 2 倍、大小減為 一半。
-
如果這種指數級的發展速度繼續下去,今天不可能解决的問題,
-
將在未來幾百年內得到解决,那麼256位元也將不足以保證安全。
-
事實上,我們已經不得不新增標準密鑰的長度來跟上電腦的速度。
-
好消息是,使用較長的密鑰並不會使加密消息變得更加困難,
-
但它會指數倍地增加破解密碼所需的猜測次數。
-
當發送方和接收方使用相同的密鑰對消息進行加密和解密時,
-
稱為對稱加密。像凱撒密碼(Caesar Cipher)這樣的對稱加密技術,
-
密鑰必須由兩個人事先私下商定。對於人們來說沒什麼問題,
-
但網際網路是開放的,是公開的,所以兩臺電腦不可能私下「見面」,
-
就密鑰達成一致。相反,電腦使用非對稱加密密鑰,
-
即公鑰可以與任何人交換,而私鑰則不共享。公鑰用於加密數據,
-
任何人都可以使用它來建立一份加密訊息,但是只有
-
取得私鑰的電腦才能解密這個訊息。至於,它運作的原理
-
是一些我們暫時不會深究的數學知識。現在,假設你有一個私人信箱,
-
任何人都可以將郵件存入該郵箱,但他們需要一個密鑰才能這樣做。
-
你可以複製多份密鑰,寄給你的朋友,或者直接把它公開。
-
你的朋友或陌生人都可以使用這個公鑰,到你的信箱並投入訊息
-
但只有你可以使用你的私鑰打開信箱,取得你收到的所有秘密訊息。
-
你也可以使用公鑰傳送加密的訊息,回覆給你的朋友
-
透過這種方式,人們可以在不需要就私鑰需要相同的情形下
-
交換加密的訊息
-
公鑰密碼學是在公開網際網路上傳遞加密訊息的基礎,
-
包括稱為 SSL 和 TLS 的安全協定,它們在我們瀏覽網頁時提供保護。
-
現在,每當你在瀏覽器位址列看見小鎖頭或 https
-
這代表著你的電腦正使用著公鑰加密的方式,安全地與你所在的網站交換資料
-
隨著越來越多的人上網,越來越多的私人資料將被傳輸,
-
保護這些資料的需求將變得更加重要。
-
隨著電腦執行速度越來越快,我們將必須開發新的方法,
-
使加密技術難以被電腦破解。這就是我的工作,它總是在改變。