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