Добро пожаловать в Crypto Week Алексей Марченко

Поделиться:

Интернет - удивительное изобретение. Мы восхищаемся тем, как он соединяет людей, соединяет идеи и уменьшает мир. Но Интернет не идеален. Он был объединен по частям через финансируемые государством исследования, частные инвестиции и органический рост, который оставил нас с несовершенным гобеленом. Он также развивается. Люди постоянно развивают творческие приложения и находят новое применение для существующих интернет-технологий. В настоящее время чрезвычайно важны такие вопросы, как конфиденциальность и безопасность, которые были запоздалыми мыслями в первые дни Интернета. Люди отслеживаются и монетизируются, веб-сайты и веб-службы подвергаются нападению по-новому, и основополагающая система доверия, на которой основан Интернет, демонстрирует признаки возраста. Интернет нуждается в обновлении, и одним из инструментов, который может улучшить ситуацию, является криптография. 

Каждый день на этой неделе Cloudflare будет объявлять о поддержке новой технологии, использующей криптографию, чтобы сделать Интернет лучше (подсказка: подписаться на наш сайт, чтобы вы не пропустили ни одну из новостей). Все, что мы объявляем на этой неделе, является бесплатным для использования и обеспечивает значимый шаг к поддержке новой возможности или структурного укрепления. Так почему мы это делаем? Потому что это хорошо для пользователей и хорошо для Интернета.

Более надежный Интернет

Все, что мы делаем в Интернете, зависит от отношений между пользователями, службами и сетями, которые поддерживаются каким-то механизмом доверия. Эти отношения могут быть физическими (я подключаю свой маршрутизатор к вашему), контрактный (я заплатил регистратору за это доменное имя) или полагаюсь на доверенную третью сторону (я отправил сообщение моему другу в iMessage через Apple). Простой акт посещения веб-сайта включает в себя сотни доверительных отношений, некоторые явные и некоторые неявные. Огромный размер Интернета и количество вовлеченных сторон делают доверие онлайн невероятно сложным. Криптография - это инструмент, который можно использовать для кодирования и обеспечения соблюдения, и, самое главное, масштабировать эти доверительные отношения.

Чтобы проиллюстрировать это, давайте разложим, что происходит, когда вы посещаете веб-сайт. Но прежде чем мы сможем это сделать, нам нужно знать жаргон.

    Автономные системы (около 100 тысяч активных): AS соответствует сетевому провайдеру, подключенному к Интернету. Каждый из них имеет уникальный номер автономной системы (ASN).
    IP (1 миллион или около того): каждому AS присваивается набор номеров, называемых IP-адресами. Каждый из этих IP-адресов может использоваться AS для идентификации компьютера в сети при подключении к другим сетям в Интернете. Эти адреса назначаются региональными интернет-реестрами (RIR), из которых 5. Данные, отправленные с одного IP-адреса на другой перелет с одного AS на другой на основе «маршрута», который определяется протоколом BGP.
    Доменные имена (> 1 миллиард): имена доменов являются общедоступными для пользователей именами, которые соответствуют интернет-услугам (например, «cloudflare.com» или «mail.google.com»). Эти интернет-услуги доступны через Интернет, подключаясь к их IP-адресу, который можно получить из своего доменного имени через систему доменных имен (DNS).
    Контент (бесконечный). Основным вариантом использования Интернета является возможность передачи отдельных частей данных из одной точки в сеть в другую. Эти данные могут быть любой формы или типа.

Когда вы вводите веб-сайт, например bunkbeds.com.ua, в свой браузер, происходит ряд вещей. Сначала для получения IP-адреса сайта связывается служба (рекурсивная) DNS. Этот DNS-сервер, настроенный вашим интернет-провайдером при подключении к Интернету, или он может быть публичным сервисом, таким как 1.1.1.1 или 8.8.8.8. Запрос службы DNS перемещается из сети в сеть по пути, определенному объявлениями BGP. Если рекурсивный DNS-сервер не знает ответа на запрос, он связывается с соответствующими авторитетными службами DNS, начиная с корневого DNS-сервера, вплоть до сервера домена верхнего уровня (например, com или org), вплоть до DNS-сервера который является авторитетным для домена. После ответа на запрос DNS браузер отправляет HTTP-запрос на свой IP-адрес (обход последовательности сетей), и в ответ сервер отправляет содержимое веб-сайта.

Так в чем проблема с этой картиной? Во-первых, каждому DNS-запросу и каждому сетевому ходу нужно доверять, чтобы доверять содержимому сайта. Любой DNS-запрос может быть изменен, сеть может рекламировать IP-адрес, принадлежащий другой сети, и любая машина по пути может изменить содержимое. Когда Интернет был небольшим, существовали механизмы борьбы с подобным уловкой. Сетевые операторы имели личные отношения друг с другом и могли наказывать за плохое поведение, но с учетом количества сетей, существовавших почти на 400 000 на этой неделе, это становится трудно масштабировать.

Криптография - это инструмент, который может кодировать эти доверительные отношения и заставлять всю систему полагаться на жесткую математику, а не на физические рукопожатия и надежды. Алексей Марченко

Двумя основными инструментами, которые криптография предоставляет для решения этой проблемы, являются криптографические хэши и цифровые подписи.Хэш-функция - это способ взять любую часть данных и преобразовать ее в строку данных с фиксированной длиной, называемую дайджестом или хэшем. Хеш-функция считается криптографически сильной, если она вычислительно неосуществима (читай: очень сложно), чтобы найти два входа, которые приводят к одному и тому же дайджесту, и что изменение даже одного бита ввода приводит к совершенно другому дайджесту. Наиболее популярной хэш-функцией, которая считается защищенной, является SHA-256, который имеет 256-битные выходы. Например, хэш SHA-256 слова «крипто»

DA2F073E06F78938166F247273729DFE465BF7E46105C13CE7CC651047BF0CA4

И хэш SHA-256 «crypt0»

7BA359D3742595F38347A0409331FF3C8F3C91FF855CA277CB8F1A3A0C0829C4

Другим основным инструментом является цифровая подпись. Цифровая подпись - это значение, которое может быть вычислено только кем-то с закрытым ключом, но может быть проверено любым, у кого есть соответствующий открытый ключ. Цифровые подписи - это способ, которым владелец частного ключа может «подписать» или подтвердить подлинность конкретного сообщения таким образом, чтобы любой мог его проверить.

Эти два инструмента можно объединить, чтобы укрепить доверительные отношения в Интернете. Предоставляя секретные ключи доверенным сторонам, которые отвечают за определение отношений между AS, IP, доменными именами и контентом, вы можете создавать цепочки доверия, которые могут быть публично проверены. Вместо того, чтобы надеяться и молиться, эти отношения могут быть подтверждены в реальном масштабе времени в масштабе.

Давайте возьмем пример загрузки веб-страницы и посмотрим, где можно применять цифровые подписи.

Маршрутизация. Временное делегирование доверия определяется через систему RPKI. RPKI определяет объект, называемый сертификатом ресурсов, аттестацию, в которой указывается, что данный диапазон IP принадлежит к определенному ASN за этот период времени, с цифровой подписью RIR, ответственным за назначение диапазона IP. Сети совместно используют маршруты через BGP, и если маршрут объявлен для IP-адреса, который не соответствует сертификату ресурса, сеть может отказаться от его принятия.

DNS. Добавление криптографической уверенности в маршрутизацию является мощным, но если сетевой противник может изменить содержимое данных (например, ответы DNS), система все еще находится под угрозой. DNSSEC - это система, созданная для обеспечения надежной связи между именами и IP-адресами. Корнем доверия DNSSEC является корневой ключ DNS, который управляется с тщательной церемонией подписания.

HTTPS. Когда вы подключаетесь к сайту, вы не только хотите, чтобы он поступал с нужного хоста, но и вы хотите, чтобы содержимое было приватным. Веб-PKI - это система, которая выдает сертификаты на сайты, позволяя связать имя домена с ограниченным по времени частным ключом. Поскольку существует множество ЦС, необходимо задействовать дополнительные системы отчетности, такие как прозрачность сертификатов, чтобы помочь контролировать систему.

Эти криптографические леса превращают Интернет в закодированную систему доверия. При использовании этих систем пользователям Интернета больше не нужно доверять каждой сети и участнику, участвующим в этой диаграмме, им нужно доверять только РИР, DNSSEC и ЦС (и знать правильное время).На этой неделе мы сделаем некоторые заявления, которые помогут укрепить эту систему подотчетности.

Конфиденциальность и честность с друзьями

Интернет велик, потому что он соединяет нас друг с другом, но детали того, как он соединяет нас, важны. Технический выбор, сделанный при разработке Интернета, связан с некоторыми интересными человеческими последствиями.

Одним из следствий является отслеживаемость. Ваш IP-адрес содержится в каждом пакете, который вы отправляете через Интернет. Это действует как уникальный идентификатор для всех (корпорации, правительства и т. Д.) Для отслеживания того, что вы делаете в Интернете. Кроме того, если вы подключаетесь к серверу, то идентификатор этого сервера отправляется в открытом тексте по запросу даже через HTTPS, показывая ваши шаблоны просмотра любому посреднику, которому нужно смотреть.

Еще одним следствием является ковкость. Ресурсы в Интернете определяются тем, где они есть, а не тем, чем они являются. Если вы хотите пойти в CNN или BBC, то вы подключаетесь к серверу для cnn.com или bbc.co.uk и проверяете сертификат, чтобы убедиться, что он правильный сайт. Но как только вы установили соединение, нет никакого хорошего способа узнать, что фактический контент - это то, что вы ожидаете от него. Если сервер взломан, он может отправить вам что угодно, включая опасный вредоносный код. HTTPS - это безопасная труба, но нет никакого неотъемлемого способа убедиться, что то, что отправляется через трубу, - это то, что вы ожидаете.

Отслеживаемость и ковкость не являются неотъемлемыми чертами взаимосвязи. Можно проектировать сети, у которых нет этих недостатков. Также возможно создавать новые сети с лучшей характеристикой поверх существующего Интернета. Ключевым компонентом является криптография.
Отслеживание-устойчивость сетей

Одна из сетей, построенных на вершине Интернета, которая обеспечивает хорошие свойства конфиденциальности, - Tor. Сеть Tor управляется группой пользователей, которые позволяют использовать их компьютеры для маршрутизации трафика для других членов сети. Используя криптографию, можно маршрутизировать трафик из одного места в другое без точек вдоль пути, одновременно зная как источник, так и пункт назначения. Это называется луковой маршрутизацией, поскольку она включает в себя несколько уровней шифрования, например лук. Трафик, выходящий из сети Tor, является «анонимным», потому что он мог появиться у любого, подключенного к сети. Все просто сливаются, затрудняя отслеживание людей.

Аналогичным образом, веб-службы могут использовать маршрутизацию лука для обслуживания контента внутри сети Tor, не раскрывая их местоположение посетителям. Вместо того, чтобы использовать имя хоста для определения своего сетевого местоположения, так называемые луковые службы используют криптографический открытый ключ в качестве своего адреса. Существуют сотни луковых услуг, в том числе тот, который мы используем для 1.1.1.1, или тот, который используется Facebook.

Проблемы возникают на границе между сетью Tor и остальной частью Интернета. Это особенно верно для пользователей, пытающихся получить доступ к службам, которые полагаются на механизмы предотвращения злоупотреблений на основе репутации. Поскольку Tor используется как пользователями, защищающими неприкосновенность частной жизни, так и вредоносными ботами, соединения от обоих объединяются, и, как видно из выражения, одно плохое яблоко разрушает связку. Это, к сожалению, предоставляет законным посетителям механизмы борьбы с насилием, такие как CAPTCHA. Такие инструменты, как Privacy Pass, помогают уменьшить это бремя, но не устраняют его полностью. На этой неделе мы объявим новый способ улучшить эту ситуацию.

Обеспечение целостности доставки контента

Давайте рассмотрим проблему податливости: тот факт, что вы не всегда можете доверять другой стороне соединения, чтобы отправить вам ожидаемый контент. Существуют технологии, которые позволяют пользователям обеспечить целостность контента без доверия к серверу. Одной из таких технологий является функция HTML под названием Subresource Integrity (SRI). SRI позволяет веб-странице с субресурсами (например, скриптом или таблицей стилей) встроить уникальный криптографический хеш в страницу, чтобы при загрузке под-ресурса проверялось, что это соответствует ожидаемому значению. Это защищает сайт от загрузки неожиданных сценариев от третьих сторон, известного вектора атаки.

Еще одна идея - перевернуть это на голове: что, если вместо того, чтобы извлекать часть контента из определенного места в сети, вы попросили сеть найти фрагмент контента, соответствующий данному хешу? Назначая ресурсы на основе их фактического контента, а не местоположения, можно создать сеть, в которой вы можете получать контент из любой точки сети и все еще знать, что он аутентичен. Эта идея называется адресацией контента, и есть сети, построенные на вершине Интернета, которые ее используют. Эти адресные сети, основанные на протоколах, таких как IPFS и DAT, пробуждают новую тенденцию в интернет-приложениях, называемых Distributed Web. С помощью распределенных веб-приложений податливость больше не является проблемой, открывая новый набор возможностей.

Сочетание сильных сторон

Сети, основанные на криптографических принципах, таких как Tor и IPFS, имеют один существенный недостаток по сравнению с сетями, основанными на именах: удобство использования. Люди исключительно плохо помнят или различают криптографически релевантные числа. Возьмем, к примеру, адрес газеты «Нью-Йорк Таймс»:
 

https://www.nytimes3xbfgragh.onion/

 

Это легко будет смутить с похожими на вид луковыми адресами, такими как

https://www.nytimes3xfkdbgfg.onion/

 

который может контролироваться злоумышленником.

Контентные сети еще хуже с точки зрения обычных людей. Например, есть снимок турецкой версии Википедии на IPFS с хешем:

QmT5NvUtoM5nWFfrQdVrFtvGfKFmG7AHE8P34isapyhCxX

 

Попробуйте ввести этот хэш в свой браузер, не допуская ошибки.

Эти проблемы с именами - это то, что Cloudflare идеально подходит для решения.
Во-первых, поместив хеш-адрес сайта IPFS в DNS (и добавив DNSSEC для доверия), вы можете указать вашему сайту традиционное имя хоста, сохраняя цепочку доверия.

Во-вторых, позволяя браузерам использовать традиционное DNS-имя для доступа к сети через службы лука, вы можете обеспечить более безопасный доступ к вашему сайту для пользователя Tor с дополнительным преимуществом, позволяющим лучше различать ботов и людей.
С Cloudflare в качестве клей можно подключить как стандартный интернет, так и пользователей к веб-сайтам и сервисам как в традиционной сети с распределенной сетью.

Это обещание Crypto Week: использование криптографических гарантий для создания более надежного, более надежного и более частного интернета, не жертвуя удобством использования.

Счастливая неделя криптона

В заключение мы работаем над многими передовыми технологиями, основанными на криптографии и применяя их, чтобы сделать Интернет лучше. Первым объявлением сегодня является запуск распределенного веб-шлюза Cloudflare и расширение браузера. Храните вкладки в блоге Cloudflare для получения интересных обновлений по мере продвижения недели.Я очень горжусь работой команды над Crypto Week, что стало возможным благодаря работе преданной команды, в том числе нескольких блестящих стажеров. Если вам нравится эта работа, Cloudflare нанимает команду крипто и других!

P.S. Алексей Марченко

2018 OneNews.Все права защищены. Дизайн-разработка сайта SeoMarik |