Статьи

База ключей: отправка, получение и обмен зашифрованными сообщениями

Учитывая растущую озабоченность по поводу безопасности данных, растет интерес к вариантам шифрования данных. Но шифрование не ново. Оглядываясь на историю, мы можем обнаружить, что одной из самых известных машин для шифрования была Enigma , машина, использовавшаяся во Второй мировой войне. Возвращаясь еще дальше, мы находим шифр Цезаря , используемый Юлием Цезарем для шифрования сообщений.

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

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

В этой статье я рассмотрю инструмент, упрощающий шифрование, и продемонстрирую, как отправлять зашифрованные текстовые сообщения.

Представляем Keybase

Keybase — это платформа с открытым исходным кодом для шифрования, которая работает как социальная сеть. Он пытается упростить шифрование, преодолев технологический барьер и добавив к нему социальный аспект. Вы можете начать шифрование, просто используя имя пользователя социальной сети.

На Keybase вы можете искать людей и следить за ними, как в Twitter. Keybase также сопоставляет вашу идентификацию с вашим открытым ключом: вы можете связать свои другие социальные учетные записи, такие как Reddit, GitHub, Twitter, с вашим профилем Keybase.

Keybase предлагает шифрование через веб-клиент, а также предлагает локальные клиенты командной строки для всех основных операционных систем.

Получение и настройка учетной записи

На момент написания этой статьи Keybase все еще находится в альфа-фазе, и вам нужно приглашение, чтобы получить там учетную запись. (У меня есть приглашения, так что пингуйте меня в Твиттере, если вам интересно.) Вы также можете зарегистрироваться через форму, но есть очередь, поэтому вам, возможно, придется подождать некоторое время.

Быстрый совет: вы можете найти много людей, отправляющих приглашения в Twitter.

Keybase зарегистрироваться форму

Настройка вашего профиля

Как только вы получили учетную запись на Keybase, вы должны создать свой профиль. Затем перейдите на страницу загрузки . Keybase поддерживает все три основные операционные системы, а также есть исходный код. Следуйте инструкциям по установке для вашей операционной системы.

После этого вы можете запустить Keybase:

run_keybase

база ключей установлена

Yay, у нас есть белка. Это подтверждает, что у нас есть Keybase, готовая для шифрования.

Проверка ваших профилей

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

Шифрование с помощью Keybase

Ключевой частью Keybase является шифрование. Вы можете зашифровать свое сообщение через веб-платформу Keybase :

Keybase Web Encryption

Если вы впервые шифруете информацию и у вас нет ключа PGP , Keybase может сгенерировать ключи для вас.

Нажмите на добавить ключ PGP .

Чтобы сгенерировать ключ, нам нужно использовать приложение с открытым исходным кодом, предоставляемое Keybase:

 
keybase pgp gen    # if you need a PGP key
keybase pgp select # if you already have one in GPG
keybase pgp import # to pull from stdin or a file

Вы можете легко сгенерировать ключ или импортировать его.

Если вы решили создать ключ, он запросит имя и адрес электронной почты. После ввода вашей информации вам будет предложено отправить копию зашифрованного секретного ключа на серверы keybase.io. Эта часть является необязательной, но если вы хотите подписать свое сообщение (доказывающее, что это сообщение от вас) или расшифровать их непосредственно из веб-приложения, вам придется добавить его.

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

поиск по ключевой базе

Давайте зашифруем это сообщение: «Привет из SitePoint».

Это может занять пару секунд, и он выведет зашифрованный текст:

 -----BEGIN PGP MESSAGE-----
Version: Keybase OpenPGP v2.0.58
Comment: https://keybase.io/crypto

wcBMA8DAFbM+aWj3AQgAqhi1b5LPqWrGGKNszk2frmxrLIA7ByXXQu2CP79nnukg
YW1bHEZvkLAxE1T2vYr5T20f/tc3m3JVwLbP0nVO2oKmXjBlNfTh9o1hCLWrYZ3V
NeWMIZyP+k5nHV/oD6v3BuQJWg9ItWAXFuruMXpgXAw4j2uuD4nwJCHPiCyp6+F7
P6yhv5FAiUs63jp5Zy/LsO5wMa58ERwGSqylDzlVMwirvG2mN1VifsgnIQ8DkkyF
f/9VfdX8bnO6hNq0ilB3ZxMhJZ75VvP1CfVuQHrCPH43XTL1enico++6ikeQZ7t/
+MlJpwDrnCQ4+bNknehxD8CrZ8BQu97wgJ+oYkgyKdJQAYSKBunDIy013KgRHMz0
M2hYkqgkmzz/1rDxZSZrNfpRSuTJln3HFfhG9zoKh/hOmvv3bhJUIIKHRnxHT4n6
bDucHUHJntQGmI4zn54lepk=
=b3yA
-----END PGP MESSAGE-----

Keybase Web Encryption

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

Расшифровка с помощью Keybase

Нажмите на кнопку « Расшифровать» и вставьте зашифрованное сообщение. Вам также нужно будет ввести ключевую фразу Keybase. Нажмите Расшифровать .

Расшифровка веб

Расшифровка сообщения может занять несколько секунд, и он выведет исходный текст «Привет из SitePoint» .

Расшифрованный текст

Вы можете заметить, что над секретным сообщением стоит вопросительный знак с жалобой на то, что автор сообщения неизвестен. Это означает, что автор не подписал сообщение своим ключом, и поэтому мы не знаем отправителя. Если вы хотите подтвердить свою личность, вы должны подписать свои ключи. На этот раз, помимо добавления нашего сообщения, нам также понадобится ввести нашу парольную фразу Keybase, чтобы подписать наше сообщение (это работает, только если вы добавили закрытый ключ на серверы keybase.io).

Шифрование с подписанными ключами

 -----BEGIN PGP MESSAGE-----
Version: Keybase OpenPGP v2.0.58
Comment: https://keybase.io/crypto

wcBMA8DAFbM+aWj3AQf/aW1VBnvBnxqd0KpIbU9aNcU0Ywz1RvUNaPoutYnrB6JA
CGb85UERiY4GGUFcmlJY6IfJBouBumbVh//3SzzsnnEq/Tq0F3yj0hHu2afx+fxC
lV9P1VketP+XRXCu4vY8SImdcfuIHtYEPFRHiUraNyHn0ZWeN1JfkwePYB3ntgEb
⋮
ohoRqrf7ydFf9ximOcCm4caQO8vBlf/mSj9V2fHRt+1C9o21himN2V2Xl3OvqcrZ
KP3EX/MCu+dAxXG6r3K2gCiL7MD9Ie5ziyWkUb8uDE8jeh7LWWEw9PjBlnZaIrI8
yJbpRhdB49qgvo35d7BhXu1fuZgJlY36DYLbm7nHOg==
=jIRP
-----END PGP MESSAGE-----

Это выглядит примерно так же. Теперь давайте расшифруем это сообщение:

Примечание: я использую две учетные записи здесь.

Давайте посмотрим наш расшифрованный текст сейчас:

Расшифрованный текст с подписанными ключами

Теперь мы видим, что наше сообщение подписано пользователем ardianh

Приложение командной строки Keybase

Теперь давайте попробуем приложение командной строки Keybase. С приложением Keybase, установленным в вашей системе, вы можете запустить run_keybase

Ваш первый шаг — войти в Keybase с помощью keybase login

 
1. [computer]    macbook-pro
2. [computer]    ubuntu-digitalocean-vps
3. [paper key]    crunch lyrics
4. I don't have access to any of these devices.

Введите свое имя пользователя Keybase или адрес электронной почты. Затем вы должны подготовить ваше устройство. Если вы уже вошли в систему с другого компьютера и имеете доступ к нему, вы можете использовать этот компьютер для выполнения подготовки. Другой вариант — использовать бумажный ключ (который вы изначально получаете при регистрации на keybase.io). Если у вас нет доступа ни к одному из них, вы все равно можете использовать ключевую фразу Keybase.

Вы увидите что-то вроде этого:

 
Enter a public name for this device: digitalocea-vps
✔ Success! You provisioned your device digitalocea-vps.

Теперь, когда вы вошли в систему, магия может начаться. Сначала я докажу (подтвердю) свою учетную запись в Twitter.

 keybase prove twitter

Это попросит вас написать конкретный твит, связанный с вашим именем пользователя Keybase. Приятно, что этот процесс не требует авторизации oAuth от Twitter. Вы получаете электронное письмо от Keybase, в котором сообщается, что доказательство идентификации прошло успешно. Если бы вы зашли в мой профиль, вы бы увидели, что мой профиль в Твиттере добавлен, и вы даже можете просмотреть твит. Процесс связывания других социальных учетных записей с вашей учетной записью Keybase в основном такой же, и Keybase предоставляет инструкции для каждой из них.

Вам также не нужно заходить на сайт Keybase для шифрования ваших сообщений. Они могут быть сделаны непосредственно из приложения командной строки.

 keybase pgp encrypt username -m "Hello from SitePoint"`

Если вы не последуете за человеком, которому отправляете сообщение, он предоставит вам информацию об имени пользователя, чтобы вы не выбрали не того человека:

 
▶ INFO Identifying recipient ardian
✔ "ardian" on github: https://gist.github.com/61fed84ba846d4b9055e150818c69e7f [cached 2016-10-27 13:34:33 UTC]
✔ "ardianhaxha" on twitter: https://twitter.com/ardianhaxha/status/782818852442873860 [cached 2016-10-27 13:34:33 UTC]
Is this the ardian you wanted? [Y/n]
 -----BEGIN PGP MESSAGE-----
Comment: https://keybase.io/download
Version: Keybase Go 1.0.17 (linux)

wcFMAydk+tkSN8tFARAAgnJZ8YcsqLuIC9FJ9rwXYbrTHMZQo5HWFiltNp/Vue+i
ctptzdBqjuEnCCeonrRunfYTKXgUcB/Aa5edTe84ujyqRaZtrQKwCfSqgKZt9Hyf
q5G8d9jTG/6mKAcUXN2DlErX8FMeUt4HfyNBC4Eq7LAVPdCZW6QsLWZDgbh7jlcO
⋮
Kk4fU13kExGs9zbIIuQ1/Gx0lc3ZUo8zau3XeKtwhFH0n1MgVBE+wNe6o8HJ4tLg
AeSLQdU0tgm370Awi5Y7WFbi4UST4JDg0+E6VeAD4rbLtZPgCuSc6AsauN/BVynG
/fWuKmvC4LfiZvhw2+BB5OSpwUb7tnFgCnLK+wIVUIXih/oQ/uH5KwA=
=i9kE
-----END PGP MESSAGE-----

Keybase теперь будет выводить зашифрованное сообщение. Кроме того, расшифровка также может быть выполнена из командной строки.

 keybase pgp decrypt -i encrypted-message.txt

Привет из SitePoint

Приложение командной строки имеет гораздо больше функций. Используйте справку keybase, чтобы получить список всех доступных опций.

Вывод

Keybase превратил шифрование в простой и удобный вариант для новичков.

Команда Keybase недавно запустила новый сервис под названием « Файловая система Keybase» , специальное место, где вы можете хранить и обмениваться зашифрованными данными. Каждый пользователь имеет 10 ГБ пространства, и файловая система поставляется с приложением Keybase.

Так что ты думаешь? Это то, что вы бы использовали? Вы уже пробовали это? Если так, что ты думаешь? Не стесняйтесь обсуждать или задавать любые вопросы ниже.