Что такое сквозное шифрование?
Учитывая, что мы часто используем цифровую переписку в повседневной жизни, горячая тема «сквозного шифрования» время от времени появляется в новостях. Но что такое сквозное шифрование и чем оно отличается от других видов шифрования?
Давайте разберемся с этим методом шифрования и посмотрим, почему он так важен.
Что такое «сквозное шифрование»?
Сквозное шифрование – это способ защитить коммуникации от посторонних глаз. Если вы отправляете сообщение в Интернете кому-то другому без надлежащего шифрования, люди, наблюдающие за вашим соединением, могут видеть, что вы отправляете. Это известно как атака «человек посередине» .
Таким образом, службы обмена сообщениями иногда используют сквозное шифрование (E2EE) для защиты своих пользователей. Некоторые из лучших служб обмена мгновенными сообщениями используют E2EE, чтобы предотвратить слежку за своими пользователями.
Для этого в службе реализован метод, позволяющий пользователям автоматически шифровать свои сообщения. Прежде чем кто-то отправит сообщение, они шифруют его с помощью так называемого «ключа». Этот ключ делает сообщение нечитаемым, поэтому наблюдатели не видят, что в нем говорится.
Когда сообщение поступает на устройство получателя, приложение использует ключ, чтобы распутать сообщение обратно в то, что в нем было изначально. Теперь получатель может прочитать, что говорится в сообщении, и хакеры не участвуют в этом уравнении.
Чем E2EE отличается от других типов шифрования?
Вы можете быть озадачены тем, чем этот метод шифрования отличается от других методов. По правде говоря, настоящая механика E2EE аналогична другим видам шифрования. Однако основное различие заключается в ответе на этот вопрос: у кого есть ключи шифрования?
Когда вы используете службу с шифрованием, отличную от E2EE, вы можете отправлять сообщения своему другу, используя ключ, предоставленный вам службой. Это отлично подходит для того, чтобы не дать хакерам заглянуть в ваши сообщения, но это означает, что люди, которые управляют службой, которую вы используете, могут технически прочитать то, что вы отправляете.
Это как если бы вы использовали приложение для обмена сообщениями, чтобы поговорить со своим другом, и разработчики, разработавшие приложение, сказали вам обоим использовать ключ «APPLE» для шифрования ваших данных. Конечно, случайные хакеры не могут прочитать то, что вы говорите, но разработчики знают, что вы используете APPLE в качестве ключа. Это означает, что они могут расшифровать ваши сообщения по мере их отправки и прочитать все, что вы говорите.
Когда компания использует такое шифрование, возникает проблема доверия. Вы верите, что компания, которая запускает приложение для обмена сообщениями, закроет глаза и позволит вам поговорить наедине? Или они воспользуются ключом APPLE, чтобы взломать вашу систему безопасности и прочитать все важные подробности?
Для E2EE это не проблема. Как и следовало ожидать от «сквозного» в названии, E2EE работает, позволяя каждому пользователю создавать свои собственные ключи шифрования на своем устройстве. Таким образом, никто – даже разработчики приложений для обмена сообщениями – не сможет расшифровать сообщения, физически не забирая ваше устройство.
Вот почему E2EE так популярен и почему его используют некоторые защищенные почтовые приложения. Пользователям не нужно доверять безликой компании. У них есть все необходимое для самостоятельного шифрования.
Есть несколько способов добиться этого, но «шифрование с открытым ключом» и «обмен ключами Диффи-Хеллмана» являются одними из наиболее известных методов.
Достижение E2EE с помощью шифрования с открытым ключом
Когда программа использует шифрование с открытым ключом, каждый пользователь службы получает два ключа. Первый – это их открытый ключ, и его можно свободно увидеть и раздать любому. Однако стоит отметить, что открытый ключ может только шифровать данные; его нельзя использовать для его расшифровки.
Каждый пользователь также получает закрытый ключ, который никогда не передается и постоянно находится на его устройстве. Закрытый ключ разработан так, что закрытый ключ может расшифровать любые данные, зашифрованные с помощью открытого ключа. Однако следует также отметить, что закрытый ключ может только расшифровывать данные; он никогда не использовался для его шифрования.
Когда два человека хотят поговорить друг с другом, они обмениваются открытыми ключами. Затем они используют открытый ключ другого человека для шифрования своих сообщений. После того, как открытый ключ зашифровывает его, он может быть должным образом расшифрован только с помощью закрытого ключа получателя, который никогда не покидает его устройство.
Нетехнический пример шифрования с открытым ключом
Чтобы лучше представить себе, как работает эта система, представьте, что Боб и Алиса хотят поговорить друг с другом. Для этого они покупают сейф у какой-то эксцентричной охранной компании.
Вот как это работает.
Ящик с замком можно провести с помощью карты «замок» или «разблокировать», чтобы заблокировать или разблокировать его. У каждого пользователя есть уникальная карта «блокировки» и «разблокировки» для использования в сейфе. Кроме того, вы можете заказать у компании копию карты «блокировки» конкретного человека, но никогда не сможете заказать чью-либо карту «разблокировки».
У Боба две карты: BOB LOCK и BOB UNLOCK. У Алисы также есть собственный набор карточек, ALICE LOCK и ALICE UNLOCK.
Если Боб закроет ящик и проведет по карте BOB LOCK, ящик заблокируется. Он останется заблокированным, даже если Боб проведет карту BOB LOCK во второй раз. Единственный способ разблокировать его – провести BOB UNLOCK. Карты разблокировки других людей работать не будут.
Теперь предположим, что Боб хочет отправить сообщение Алисе. Для этого ему нужно заказать копию одной из карт замков Алисы в компании по производству сейфов. Компания допускает это, потому что вы не можете использовать карту блокировки, чтобы взломать сейф. Вы можете использовать его только для блокировки одного.
Боб заказывает карту ALICE LOCK. Затем он пишет письмо Алисе, кладет его в сейф, а затем смахивает карту ALICE LOCK. Ящик для сейфа плотно заперт и может быть разблокирован только при считывании карты ALICE UNLOCK. Собственная карта разблокировки Боба бесполезна.
Теперь Боб может отправить ящик Алисе. Даже если кто-то, заинтересованный в письме, закажет собственную карту ALICE LOCK и похитит коробку, он не сможет открыть ее. Только карта ALICE UNLOCK может разблокировать ее, и Алиса является единственным владельцем указанной карты.
Алиса получает ящик от Боба, использует свою карту АЛИСА РАЗБЛОКИРОВАТЬ, чтобы открыть его, и читает письмо. Если Алиса хотела отправить сообщение, она может заказать и использовать карту BOB LOCK, чтобы отправить ящик обратно. Теперь открыть ее может только карта BOB UNLOCK, которая есть только у Боба.
Достижение E2EE с помощью обмена ключами Диффи-Хеллмана
Если два человека хотят достичь E2EE в незащищенной сети, у них есть способ поделиться ключами шифрования на виду и избежать взлома.
Для этого обе стороны сначала согласовывают общий ключ. Этот ключ является открытым, и система обмена ключами Диффи-Хеллмана предполагает, что хакеры узнают, что это за ключ.
Однако обе стороны затем генерируют закрытый ключ на своих устройствах. Затем они добавляют этот закрытый ключ к общему, а затем отправляют свой комбинированный ключ получателю. Когда они получают комбинированный ключ получателя, они добавляют его к своему личному, чтобы получить общий секретный ключ, который будет использоваться для шифрования.
Нетехнический пример обмена ключами Диффи-Хеллмана
Если мы вернемся к Бобу и Алисе, допустим, они используют эту технику для обмена информацией. Во-первых, они оба соглашаются на общий номер – скажем, номер три. Это делается публично, так что любопытный теоретически может подслушать это число.
Затем Боб и Алиса выбирают номер наедине. Допустим, Боб выбирает номер восемь, а Алиса выбирает пять. Затем они добавляют выбранное число к согласованному общему числу и передают результат другому человеку.
- Боб берет общий ключ (3) и свой закрытый ключ (8) и получает 11 (8 + 3). Он дает число 11 Алисе.
- Алиса берет общий ключ (3) и свой закрытый ключ (5) и получает 8 (5 + 3). Она дает число 8 Бобу.
Этот общий доступ также осуществляется публично, поэтому, опять же, наблюдатель потенциально может увидеть, что Боб поделился 11, а Алиса – 8.
По завершении обмена каждая сторона добавляет то, что они получили, со своим частным номером. Это приводит к тому, что обе стороны получают одно и то же число из-за того, что сумма с одним сложением не заботится о порядке.
- Боб получает объединенное число Алисы (8), добавляет к нему свой частный номер (8) и получает 16. (8 + 8)
- Алиса получает объединенное число Боба (11), добавляет к нему свой частный номер (5) и получает 16. (11 + 5)
- Обе стороны могут шифровать сообщения с помощью ключа «16», о котором не знает никто, кроме Боба и Алисы.
Конечно, в этом примере хакер может очень легко взломать этот код. Все, что им нужно, – это общий ключ, ключ, который отправляет Боб, и ключ, отправляемый Алисой, и все они отправляются средь бела дня.
Однако программисты, реализующие обмен ключами Диффи-Хеллмана, будут реализовывать сложные уравнения, которые хакерам трудно реконструировать, и которые все равно будут давать тот же результат, независимо от того, в каком порядке вводятся числа.
Таким образом, хакеры остаются озадаченными тем, что сгенерировало числа, в то время как Боб и Алиса безопасно разговаривают с использованием общего ключа.
Безопасная отправка данных с помощью E2EE
Если вы не хотите, чтобы компании не просматривали ваши данные, вам не нужно этого делать. Используя методы E2EE, никто не сможет просмотреть ваши сообщения, пока они не будут благополучно доставлены в пункт назначения.
Если все эти разговоры о шифровании заставили вас усилить безопасность вашего компьютера, знаете ли вы, что есть несколько способов зашифровать вашу повседневную жизнь?
Кредит изображения: Стив Хип / Shutterstock.com