WEBVTT 00:00:02.940 --> 00:00:08.500 Інтернет: шифрування й відкриті ключі 00:00:08.990 --> 00:00:13.730 Привіт! Мене звати Міа Гіл-Епнер, моя спеціальність — комп’ютерні науки в УК Берклі, 00:00:13.730 --> 00:00:19.070 і я працюю в Міністерстві оборони США над зберіганням даних у безпеці. Інтернет — 00:00:19.070 --> 00:00:25.510 це відкрита й публічна система. Ми всі надсилаємо й отримуємо дані через спільні 00:00:25.510 --> 00:00:29.579 провідні комунікації. Та хоча це відкрита система, ми все ж обмінюємося великою 00:00:29.579 --> 00:00:35.890 кількістю приватних даних. Це номери кредитних карток, банківські дані, паролі, імейли, тощо. 00:00:35.890 --> 00:00:40.690 Тож як усі ці приватні дані зберігаються в таємниці? Будь-які дані можна зберігати 00:00:40.690 --> 00:00:45.299 в таємниці завдяки процесу під назвою "шифрування", "кодування", або "заміна повідомлення 00:00:45.309 --> 00:00:49.740 для приховування оригінального тексту". Дешифрування — процес декодування цього 00:00:49.740 --> 00:00:55.970 повідомлення, щоб воно було читабельним. Люди роблять це століттями. Одним з перших 00:00:55.970 --> 00:01:02.549 відомих методів шифрування був шифр ​​Цезаря. Названий на честь римського генерала Юлія Цезаря, 00:01:02.549 --> 00:01:07.220 який шифрував свої військові команди, щоб повідомлення не перехопили вороги 00:01:07.220 --> 00:01:12.540 і не могли його прочитати. Шифр Цезаря — це алгоритм, який замінює кожну букву 00:01:12.540 --> 00:01:16.979 в оригінальному повідомленні на букву, що стоїть на кілька кроків далі за алфавітом. 00:01:16.979 --> 00:01:22.429 Якщо цифра відома лише відправникові й отримувачеві, вона називається ключем. 00:01:22.429 --> 00:01:28.640 Це дозволяє читачеві розблокувати секретне повідомлення. Наприклад, якщо оригінальне 00:01:28.640 --> 00:01:35.869 повідомлення — "HELLO", то, за алгоритмом шифру Цезаря з ключем 5, зашифроване слово 00:01:35.869 --> 00:01:43.259 було б таким... Щоб розшифрувати повідомлення, одержувач просто скористався б новим ключем 00:01:43.259 --> 00:01:50.179 і змінив процес. Але з шифром Цезаря є значна проблема: будь-хто може легко зламати код 00:01:50.179 --> 00:01:55.569 чи розшифрувати повідомлення, спробувавши всі можливі ключі, а в англійському алфавіті 00:01:55.569 --> 00:02:00.389 лише 26 літер, і це означає, що вам потрібно буде спробувати максимум 26 клавіш, щоб 00:02:00.389 --> 00:02:06.810 розшифрувати повідомлення. Спробувати 26 ключів не дуже складно, це займе не більше 00:02:06.810 --> 00:02:13.440 пари годин. Тож ускладнімо завдання. Замість перенесення кожної букви на одну й ту саму 00:02:13.440 --> 00:02:18.280 кількість кроків, змістимо їх на іншу кількість кроків. У цьому прикладі десятизначний ключ 00:02:18.280 --> 00:02:22.960 показує, на скільки кроків буде змінено кожну наступну букву, щоб зашифрувати довше 00:02:22.960 --> 00:02:32.130 повідомлення. Вгадати цей ключ дуже важко. Для десятизначного шифру може бути 10 мільярдів 00:02:32.130 --> 00:02:39.580 рішень. Звичайно, жодна людина не могла б це вирішити, це займе багато століть. 00:02:39.580 --> 00:02:43.430 Але звичайному комп’ютеру сьогодні знадобиться лише кілька секунд, щоб спробувати всі 00:02:43.430 --> 00:02:51.010 10 мільярдів можливостей. Оскільки сьогодні злодії озброєні комп’ютерами замість олівців, 00:02:51.010 --> 00:02:56.210 то як можна зашифрувати повідомлення так надійно, щоб їх було занадто важко зламати? 00:02:56.210 --> 00:03:02.700 "Занадто важко" означає забагато можливостей для обчислення за розумну кількість часу. 00:03:02.700 --> 00:03:08.620 Сьогодні безпечна комунікація шифрується за допомогою 256-бітних ключів. Це означає, 00:03:08.620 --> 00:03:15.760 що комп’ютер злодія, який перехоплює ваше повідомлення, має спробувати стільки варіантів... 00:03:15.760 --> 00:03:23.160 поки не виявить ключ і не зламає повідомлення. Навіть якби у вас було 100 000 суперкомп'ютерів, 00:03:23.160 --> 00:03:28.870 і кожен з них пробував би мільйон мільярдів ключів щосекунди, то на кожен варіант знадобилося б 00:03:28.870 --> 00:03:37.690 трильйони трильйонів років, просто щоб зламати одне повідомлення з 256-бітним шифруванням. 00:03:37.690 --> 00:03:43.320 Звичайно, комп'ютерні чіпи стають вдвічі швидшими і вдвічі меншими щороку. Якщо цей 00:03:43.320 --> 00:03:48.400 темп експоненціального прогресу продовжиться, сьогоднішні неможливі задачі буде вирішено 00:03:48.400 --> 00:03:54.160 лише за кілька сотень років у майбутньому, і 256 біт буде недостатньо для безпечності. 00:03:54.160 --> 00:04:00.890 І нам уже довелося збільшити стандартну довжину ключів, щоб не відставати від швидкості комп'ютерів. 00:04:00.890 --> 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:23.349 це називається "симетричне шифрування". При ньому, як і в шифрі Цезаря, секретний ключ 00:04:23.349 --> 00:04:29.710 має бути заздалегідь узгоджений між двома особами. Це зручно для людей, але Інтернет 00:04:29.710 --> 00:04:35.550 є відкритим і загальнодоступним, тому неможливо, щоб два комп’ютери «зустрілися» приватно і 00:04:35.550 --> 00:04:40.999 домовились про секретний ключ. Натомість комп'ютери використовують асиметричні ключі: 00:04:40.999 --> 00:04:47.120 відкритий ключ, який можна надати кому завгодно, і приватний ключ, що не розкривається. Відкритий 00:04:47.120 --> 00:04:52.840 ключ використовується для шифрування даних, і будь-хто може зашифрувати ним повідомлення, 00:04:52.840 --> 00:05:01.270 але секрет може розшифровати лише комп'ютер з доступом до приватного ключа. Це працює 00:05:01.270 --> 00:05:06.129 математично, але це інша історія. Просто уявіть, ніби у вас є особиста поштова скринька, 00:05:06.129 --> 00:05:10.820 куди кожен може класти листи, але для цього їм потрібен ключ. Ви можете зробити багато 00:05:10.820 --> 00:05:16.309 копій ключа й надіслати його своєму другу або навіть просто зробити ключ загальнодоступним. 00:05:16.309 --> 00:05:20.790 Ваш друг або навіть незнайомець може скористатися відкритим ключем, щоб отримати 00:05:20.790 --> 00:05:25.630 доступ до вашої скриньки й покласти листа. Але лише ви можете відкрити скриньку своїм приватним 00:05:25.630 --> 00:05:30.959 ключем і отримати доступ до секретних повідомлень. І ви можете відправити захищене повідомлення 00:05:30.959 --> 00:05:36.431 назад своєму другові, скориставшись відкритим ключем до його скриньки. Так ми обмінюваємось 00:05:36.431 --> 00:05:42.799 захищеними повідомленнями без узгодження приватного ключа. Криптографія відкритого ключа 00:05:42.799 --> 00:05:49.340 є основою всіх захищених повідомлень у відкритому інтернеті, включаючи протоколи безпеки, відомі 00:05:49.340 --> 00:05:55.290 як SSL та TLS, які захищають нас під час перегляду веб-сторінок. Ваш комп'ютер 00:05:55.290 --> 00:06:02.610 використовує це сьогодні, якщо ви бачите замочок або букви "https" в адресному рядку браузера. 00:06:02.610 --> 00:06:06.919 Це означає, що ваш комп'ютер використовує шифрування відкритого ключа для безпечного 00:06:06.919 --> 00:06:12.720 обміну даними з веб-сайтом. Усе більше людей користується інтернетом, тож передаватиметься 00:06:12.720 --> 00:06:18.790 все більше приватних даних, і необхідність у безпечності цих даних буде ще важливішою. 00:06:18.790 --> 00:06:23.460 Адже комп’ютери стають усе швидшими, нам доведеться розробити нові способи зробити 00:06:23.460 --> 00:06:29.596 шифрування заважким для його зламу комп'ютером. Це моє завдання, і воно завжди змінюється.