1 00:00:02,940 --> 00:00:08,500 Internet: Mã hóa và khóa công khai 2 00:00:08,990 --> 00:00:14,150 Xin chào, tôi là Mia Gil-Epner, tôi học chuyên ngành Khoa học máy tính tại UC Berkeley và tôi làm việc 3 00:00:14,150 --> 00:00:19,460 cho Bộ Quốc phòng, nơi tôi tìm cách đảm bảo thông tin được an toàn. 4 00:00:19,460 --> 00:00:25,510 Internet là một hệ thống mở và công khai. Tất cả chúng ta đều gửi và nhận thông tin thông qua các đường dẫn và 5 00:00:25,510 --> 00:00:30,039 kết nối chung. Nhưng mặc dù đó là một hệ thống mở, chúng ta vẫn trao đổi rất nhiều 6 00:00:30,039 --> 00:00:35,890 dữ liệu riêng tư. Những thứ như số thẻ tín dụng, thông tin ngân hàng, mật khẩu và email. 7 00:00:35,890 --> 00:00:40,690 Vậy tất cả những thứ riêng tư này được bảo mật như thế nào? Mọi loại dữ liệu đều có thể được bảo mật thông qua 8 00:00:40,690 --> 00:00:45,299 quá trình gọi là mã hóa, tức xáo trộn hoặc biến đổi thông điệp để ẩn nội dung gốc. 9 00:00:45,309 --> 00:00:51,900 Ngày nay, giải mã là quá trình sắp xếp lại để có thể đọc được thông điệp đó. 10 00:00:51,900 --> 00:00:56,970 Đây là ý tưởng cơ bản và con người đã làm việc này hàng thế kỷ qua. Một trong những phương pháp mã hóa 11 00:00:56,970 --> 00:01:02,379 phổ biến đầu tiên là Mật mã Caesar. Đặt theo tên của Julius Caesar, vị tướng người La Mã 12 00:01:02,379 --> 00:01:07,220 đã mã hóa các mệnh lệnh quân sự của mình để đảm bảo nếu bị can thiệp, quân địch 13 00:01:07,220 --> 00:01:12,540 cũng sẽ không đọc được những mệnh lệnh ấy. Mật mã Caesar là một Thuật toán thay thế 14 00:01:12,540 --> 00:01:16,759 từng chữ cái trong thông điệp gốc bằng một chữ cái cách đó một số chữ cái nhất định 15 00:01:16,759 --> 00:01:21,259 trong bảng chữ cái. Nếu đó là số chỉ có người gửi và người nhận được biết, số đó gọi là 16 00:01:21,259 --> 00:01:28,640 chìa khóa. Nó cho phép người đọc giải mã được thông điệp bí mật. Ví dụ: Nếu thông điệp gốc là 17 00:01:28,640 --> 00:01:35,869 "HELLO" thì khi dùng thuật toán Mật mã Caesar với chìa khóa là 5, thông điệp được mã hóa 18 00:01:35,869 --> 00:01:43,259 sẽ là thế này… Để giải mã thông điệp, người nhận đơn giản sẽ dùng chìa khóa để đảo ngược 19 00:01:43,259 --> 00:01:50,179 quá trình. Nhưng một vấn đề lớn của Mật mã Caesar chính là ai cũng có thể dễ dàng giải mã 20 00:01:50,179 --> 00:01:55,569 hoặc bẻ khóa thông điệp được mã hóa bằng cách thử mọi chìa khóa khả dụng và trong bảng chữ cái tiếng Anh, 21 00:01:55,569 --> 00:02:00,389 chỉ có 26 chữ cái, có nghĩa là bạn sẽ chỉ cần thử tối đa 26 chìa khóa để 22 00:02:00,389 --> 00:02:06,810 giải mã thông điệp. Ngày nay, việc thử 26 chìa khóa khả dụng chẳng mấy khó khăn, chỉ mất tối đa 23 00:02:06,810 --> 00:02:13,050 1 hoặc 2 giờ. Vậy hãy làm cho việc này khó hơn. Thay vì dịch chuyển mọi chữ cái theo cùng một số, 24 00:02:13,050 --> 00:02:18,920 hãy dịch chuyển mỗi chữ cái theo một số khác nhau. Trong ví dụ này, chìa khóa mười chữ số cho biết số lượng 25 00:02:18,920 --> 00:02:26,560 vị trí mỗi chữ cái liên tiếp sẽ được thay đổi để mã hóa thông điệp dài hơn. Sẽ rất khó 26 00:02:26,560 --> 00:02:34,160 để đoán ra chìa khóa này. Sử dụng mã hóa 10 chữ số có thể tồn tại 10 tỷ kết quả là chìa khóa khả dụng. 27 00:02:34,160 --> 00:02:39,860 Rõ ràng, đó là điều mà không con người nào có thể giải mã vì sẽ mất hàng thế kỷ. 28 00:02:39,860 --> 00:02:46,030 Nhưng một máy tính bình thường ngày nay chỉ mất một vài giây để thử hết 10 tỷ khả năng. 29 00:02:46,030 --> 00:02:51,240 Vậy, trong thế giới hiện đại, nơi kẻ xấu được trang bị máy tính thay vì bút chì, 30 00:02:51,240 --> 00:02:57,890 làm sao để mã hóa thông điệp bảo mật tới mức việc bẻ khóa là quá khó? Giờ đây, quá khó nghĩa là 31 00:02:57,890 --> 00:03:03,760 có quá nhiều khả năng cần tính toán trong khoảng thời gian hợp lý. Các giao tiếp bảo mật ngày nay 32 00:03:03,760 --> 00:03:10,200 được mã hóa bằng các chìa khóa 256 bit. Điều đó đồng nghĩa với việc máy tính của kẻ xấu 33 00:03:10,200 --> 00:03:16,290 can thiệp thông điệp của bạn cần phải thử chừng này phương án khả thi… cho đến khi tìm ra được 34 00:03:16,290 --> 00:03:24,040 chìa khóa và bẻ khóa thông điệp. Ngay cả nếu bạn có 100.000 máy tính ưu việt và mỗi một máy 35 00:03:24,040 --> 00:03:30,680 có thể thử một triệu tỷ chìa khóa mỗi giây sẽ mất khoảng hàng nghìn nghìn tỷ năm 36 00:03:30,680 --> 00:03:37,690 mới thử hết các phương án, chỉ để bẻ khóa một thông điệp được bảo vệ bằng mã hóa 256 bit. 37 00:03:37,690 --> 00:03:43,320 Tất nhiên, vi mạch máy tính sẽ nhanh hơn hai lần và nhỏ hơn một nửa sau mỗi năm. Nếu tốc độ 38 00:03:43,320 --> 00:03:48,400 tiến triển theo cấp số nhân ấy cứ tiếp tục thì những bài toán hóc búa hôm nay sẽ có lời giải 39 00:03:48,400 --> 00:03:54,680 chỉ sau vài trăm năm nữa và 256 bit sẽ không còn đủ an toàn nữa. Trên thực tế, 40 00:03:54,680 --> 00:04:01,070 chúng ta đã phải tăng độ dài chìa khóa tiêu chuẩn để theo kịp tốc độ của máy tính. 41 00:04:01,070 --> 00:04:05,540 Tin vui là dùng chìa khóa dài hơn sẽ không làm việc mã hóa thông điệp thêm khó khăn nhưng nó 42 00:04:05,540 --> 00:04:11,660 sẽ tăng số lượng phán đoán phải đưa ra để bẻ khóa một mật mã lên theo cấp số nhân. 43 00:04:11,660 --> 00:04:16,779 Trường hợp người gửi và người nhận dùng chung một chìa khóa để xáo trộn và sắp xếp lại thông điệp được gọi là 44 00:04:16,779 --> 00:04:24,199 Mã hóa đối xứng. Giống như Mật mã Caesar, trong Mã hóa đối xứng, chìa khóa bí mật phải được 45 00:04:24,199 --> 00:04:29,710 bí mật thống nhất từ trước bởi hai người. Điều này rất tiện cho con người nhưng Internet 46 00:04:29,710 --> 00:04:35,840 là hệ thống mở và công khai nên hai máy tính không thể nào "gặp" riêng để thống nhất 47 00:04:35,840 --> 00:04:41,599 chìa khóa bí mật. Thay vào đó, máy tính dùng các chìa khóa Mã hóa bất đối xứng, một chìa khóa công khai có thể 48 00:04:41,599 --> 00:04:49,020 trao đổi với bất kỳ ai và một chìa khóa bảo mật giữ kín. Khóa công khai được dùng để mã hóa 49 00:04:49,020 --> 00:04:55,800 dữ liệu và ai cũng có thể dùng nó để tạo thông điệp bí mật nhưng bí mật chỉ có thể được giải mã 50 00:04:55,800 --> 00:05:01,270 bởi máy tính có quyền truy cập khóa bảo mật. Cơ chế hoạt động của nó liên quan đến vài phép toán mà chúng ta 51 00:05:01,270 --> 00:05:06,129 sẽ chưa tìm hiểu vào lúc này. Cứ nghĩ thế này nhé, tưởng tượng bạn có một hộp thư cá nhân, 52 00:05:06,129 --> 00:05:11,430 mọi người đều có thể bỏ thư vào nhưng họ cần có chìa khóa mới gửi được. Giờ bạn có thể tạo rất nhiều bản 53 00:05:11,430 --> 00:05:16,509 chìa khóa gửi thư và gửi đến cho bạn bè hoặc thậm chí là công khai luôn chìa khóa ấy. 54 00:05:16,509 --> 00:05:21,400 Bạn của bạn hoặc thậm chí người lạ có thể dùng chìa khóa công khai để tiếp cận hộp thư và bỏ thư 55 00:05:21,400 --> 00:05:27,400 vào khe. Nhưng chỉ có bạn mới có thể mở hộp thư bằng chìa khóa bảo mật và gom hết tất cả 56 00:05:27,400 --> 00:05:31,539 những lá thư bí mật bạn nhận được. Và bạn có thể gửi lại thư bảo mật cho bạn bè 57 00:05:31,539 --> 00:05:37,620 bằng cách dùng chìa khóa gửi công khai vào hộp thư của họ. Bằng cách này, người ta có thể trao đổi thông điệp bảo mật 58 00:05:37,620 --> 00:05:43,699 mà không cần phải thống nhất với nhau về chìa khóa bảo mật. Mã hóa bằng khóa công khai là nền tảng 59 00:05:43,699 --> 00:05:49,340 cho mọi trao đổi thông tin bảo mật trên mạng Internet mở. Bao gồm cả các Giao thức Internet phổ biến như 60 00:05:49,340 --> 00:05:55,900 SSL và TLS, giúp bảo vệ chúng ta khi chúng ta lướt web. Ngày nay, máy tính của bạn dùng khóa này 61 00:05:55,900 --> 00:06:01,400 bất cứ khi nào bạn nhìn thấy một cái khóa nhỏ hoặc các chữ cái https trên thanh địa chỉ trình duyệt của bạn. 62 00:06:01,400 --> 00:06:07,409 Điều này có nghĩa là máy tính của bạn đang dùng mã hóa khóa công khai để trao đổi thông tin an toàn với 63 00:06:07,409 --> 00:06:13,400 trang web bạn đang truy cập. Khi ngày càng có nhiều người truy cập Internet, sẽ ngày càng có nhiều 64 00:06:13,400 --> 00:06:19,080 dữ liệu riêng tư được trao đổi và nhu cầu bảo mật dữ liệu ấy sẽ ngày càng thêm quan trọng. 65 00:06:19,080 --> 00:06:24,059 Và khi máy tính ngày càng thêm nhanh, chúng ta sẽ phải phát triển nhiều cách thức mới để 66 00:06:24,059 --> 00:06:29,259 máy tính khó lòng phá vỡ các mã hóa. Đây là điều tôi đang làm và nó liên tục thay đổi.