Шифруем сообщения в сети XMPP/Jabber с помощью PGP
Мотивация
Для чего может понадобится шифрование сообщений?
- Так как сеть XMPP федеративная и каждый может основать свой узел, то ставится вопрос доверия администратору данного сервера. Сервер могут сломать, сам админ может подбарижить данными и т.д.
- XMPP набирает популярность в качестве внутрикорпоративного обмена. Может быть сервер и не имеет выхода в Интернет, но никто не застрахован от приезда Party-van с маски-шоу внутри
- Цифровая подпись повышает надёжность идентификации. То есть вы точно знаете что в данный момент за компьютером сидит именно тот человек, который вам дал ключ, а не тот кто ломанул его аккаунт или воспользовался его отсутсвием его за компьютером
Стать мэинтейнером — обновляем репозиторий
Допустим, вы собираете для ваших любимых пользователей десять пакетов, да каждый под два дистрибутива (допустим, Debian unstable и Ubuntu jaunty), да еще и каждый под две архитектуры (amd64 и i386). Помните, мы с вами узнали про замечательный инструмент для создания репозиториев — reprepro. Так вот с тех пор он так и не научился включать в репозиторий пакеты пачками — только по одному. А это значит, что вам придётся вводить вашу gpg-подпись 10*2*2=40 раз. А как эффективно собирать эти 10 пакетов, особенно, если они обновляются ежедневно?
GnuPG: Безопасная почта для Win, Mac и *nix

Рассмотрим установку и первичную настройку GnuPG для трёх ОС: Windows, Mac OS X и Linux.
Подразумевается, что читатель имеет достаточные знания для того, чтобы выполнить несколько команд в консоли ОС (CMD/Terminal/xterm соответственно).
Избавляемся от PGP в почтовом ящике mutt
Поскольку PGP требуется только во время передачи по сети, то было бы идеальным решением шифровать/дешифровать письма в момент приёма/передачи, т.е. используя локальный POP3/SMTP relay сервер. В этом случае все почтовые клиенты (MUA) автоматически получили бы «поддержку PGP», и при этом ничего о PGP сами не знали, и работали с не зашифрованными письмами. Под Windows такой сервер есть — GPGrelay. Под *NIX я аналога найти не смог. Есть утилитка kuvert, которая может автоматически шифровать исходящую почту, но утилитки для дешифровки входящей я не нашёл.
Но девиз mutt не зря «All mail clients suck. This one just sucks less.» — мне удалось с помощью его гибкости, небольшого вспомогательного скрипта для qmail, и такой-то матери решить эту, на первый взгляд банальную, задачку.
Извлечение 4096-битных ключей RSA с помощью микрофона

Знаменитый криптограф Ади Шамир (буква “S” в аббревиатуре RSA) с коллегами вчера опубликовал научную работу под названием «Извлечение ключа RSA путём акустического криптоанализа с низкой частотой дискретизации» (RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis). За сложным названием скрывается исключительно доступный метод извлечения ключей RSA (в реализации GnuPG) с помощью обычного мобильного телефона или микрофона. Достаточно лишь положить телефон в 30 см от компьютера жертвы. Если использовать качественные микрофоны, то извлекать ключи можно с расстояния до 4 метров.
Безопасное резервное копирование с помощью публичных сервисов

Часто бывает так, что существует множество различных проектов, которые необходимо регулярно бэкапить.
Но еще чаще бывает так, что поднимать свой собственный сервис резервного копирования лениво, и копии в лучшем случае делаются время от времени, а в худшем — не делаются вообще. Специально для ленивых людей придумали сервисы синхронизации файлов, такие как Dropbox, Yandex.Disk и иже с ними. Суть всегда одна: файл, загруженный на одном привязанном устройстве, появляется на всех остальных. Ура, решение найдено.
Но встает другой вопрос: безопасность загруженного контента. И если за фотки с Майорки можно особо не переживать, то боевую базу 1С так бэкапить чревато. И вот тут, в этой самой статье, есть небольшой HOW-TO про то, как остаться лентяем и сохранить файлы в безопасности.
Интернет на магнитах 3 — P2P Сайт и Форум
Для создания и обновления магнитного сайта с множеством страниц нам понадобится электронная подпись. Нужна она чтобы обозначить источник и связать между собой страницы сайта. Для её создания и использования можно воспользоваться пакетом GnuPG.
Патчим gnupg или пара RSA-32768 за 106 минут

На самом деле патчим gnupg и libgcrypt…
Когда-то давным давно, чтобы использовать 8192 и 16384 RSA ключи я правил размер в keygen.c и размер SECMEM буффера по соседству. Дела давно минувших дней, теперь SECMEM вынесена в config.h и именуется
SECMEM_BUFFER_SIZE
.В итоге после скачивания верии 2.0.29 под свежий debian 8.3, за место убитой 12й убунты апдейтом на 14ую, я быстренько подкрутил размер ключика и размер буфера и радостно сгенерировал на 5200U 16кбит ключ за 18 (или 19) минут, что раньше занимало 45-50 минут на P6200.
Но вот 32кбит дали мне пачку ошибок. Свободное время есть — разбираемся.
В библиотеке шифрования Libgcrypt обнаружена критическая уязвимость, существовавшая 18 лет

Команда GnuPG Project опубликовала сообщение о том, что в популярной библиотеке Libgcrypt содержится критическая уязвимость. Ошибка была обнаружена экспертами Технологического института немецкого города Карлсруэ Феликсом Дёрре (Felix Dörre) и Владимиром Клебановым.
Уязвимость содержится в генераторе случайных чисел Libgcrypt — она позволяет атакующему, который получил 4640 битов из генератора легко предсказать следующие 160 бит его вывода. Это открывает возможность для взлома ключей шифрования. Ошибка присутствует в Libgcrypt и GnuPG версий, выпущенных до 17 августа 2016 года, для всех платформ. Как указано в сообщении GnuPG Project, этот баг существует с 1998 года.
Сказание о Клеопатре и о российской криптографии (Продолжение)



Я отказался от PGP

Речь не о самой программе
gpg
и не о криптографических инструментах в принципе. Многие писали на эту тему. Я говорю о модели долговременных ключей PGP, будь она гарантирована сетью доверия, отпечатками открытых ключей или моделью TOFU — неважно. Я говорю о том, что она не подходит для меня лично.Интернет на магнитах 5 — Маяки и сообщения (личные, публичные и обновления)
Я вспомнил что не рассказал важную часть для обеспечения возможности общения и обновления контента в P2P сетях.
Не все P2P сети имеют возможность отправки и приёма личных сообщений. Также не всегда сообщение можно оставить в оффлайн. Мы исправим этот недостаток используя три возможности P2P сетей: поиск файла, просмотр шары(списка опубликованных файлов) или комментарии к файлу.
Как это работает
Шаблон маяка создаётся однократно и используется для создания маяков для связи с автором.
Общий алгоритм получения
- Публикуется шаблон маяка.
- Формируется маяк.
- Поиск этого маяка и файла с хешем маяка в имени.
- Загрузка найденных файлов или просмотр шары источников маяка.
Общий алгоритм отправки такой
- Пишем сообщение.
- Шифруем открытым ключом адресата.
- Формируем маяк по шаблону адресата.
- Получаем хеш от маяка и вставляем в имя файла с сообщением.
- Публикуем маяк и файл с сообщением в p2p сетях.
Наше сообщение и маяк свободно могут копировать другие участники сети. Так как оно зашифровано они не смогут его прочитать но помогут его держать онлайн пока его не получит адресат.
Стратегии офлайнового хранения ключей PGP

Это привело сообщество Debian к лучшему пониманию хороших практик работы с криптографическими подписями (которые обычно создаются в программе GNU Privacy Guard, также известной как GnuPG или GPG). Например, слабые (менее 2048 бит) и уязвимые ключи PGPv3 в 2015 году удалили из связок ключей, а среди разработчиков Debian широко распространена практика взаимной подписи ключей при личной встрече. Но даже у разработчиков Debian, кажется, отсутствуют общепринятые правила хранения критического секретного материала, как видно по дискуссии в списке рассылки debian-project. Эта дискуссия сводится к единственному простому требованию: где взять «руководство по хранению электронных ключей для чайников»? Электронные аппаратные ключи или карты-ключи, как мы их здесь называем — это маленькие устройства, позволяющие хранить ключи в офлайне и представляющие собой один из вариантов защиты секретного материала, то есть ключа. В этой статье я постараюсь поделиться своим опытом в данной области и разъяснить проблему, как хранить эти драгоценные секретные ключи, которые в случае компрометации подвергают опасности миллионы компьютеров по всему миру.
Используем GPG для шифрования сообщений и файлов
Кратко о том, как создавать ключи, шифровать и подписывать файлы и отправлять ключи на сервер ключей.

GPG (также известный как GnuPG) создавался как свободная альтернатива несвободному PGP. GPG используется для шифрования информации и предоставляет различные алгоритмы (RSA, DSA, AES и др.) для решения этой задачи.
Проект GnuPG успешно завершил кампанию по сбору средств

Вернер Кох
Вернер Кох, бессменный автор и управляющий проекта GNU Privacy Guard (GPG) для шифрования и цифровой подписи информации (писем, файлов и др.), успешно получил финансирование для продолжения работы. Кроме краудфандинга, принёсшего ему $150000, он получил $60000 от фонда Linux и ежегодные гранты от Facebook и Stripe по $50000.
Вернер Кох продолжает работу! Вышла версия GnuPG 2.1.2
Дело в том, что криптографическую программу GnuPG вот уже 17 лет в одиночку пишет немецкий программист Вернер Кох (Werner Koch). Программист живёт в городке Эркрат на западе Германии, сейчас ему 53 года.

ИОК: библиотеки GCrypt и KSBA как альтернатива OpenSSL с поддержкой российской криптографии. Продолжение

Инфраструктура открытых ключей: GnuPG/SMIME и токены PKCS#11 с поддержкой российской криптографии
