RU:Шифрование
From PsiWiki
Psi поддерживает как симметричное так и ассиметричное шифрование для передаваемой информации через Jabber.
Contents |
Шифрование "Клиент-Сервер"
Для шифровании от клиента к серверу и обратно (client-to-server, c2s) используются протоколы SSL и TLS
Psi поддерживает оба протокола для шифрования соединения до Jabber сервера.
TODO: Добавить краткую инструкцию без картинок по включению ssl/tls и их работы при сжатии потока на ejabberd
Шифрование "Клиент-Клиент"
При шифровании потока данных, минуя их дешифровку на сервере, т.е. от отправителя до получателя (end-to-end, e2e) применяется криптографические средства с открытым и закрытым ключом.
Psi поддерживает работу с GnuPG, которая в свою очередь поддерживает стандарт шифрования OpenPGP (RFC 4880)
Установка соединения с шифрованием Клиент-Клиент
Установка пакета GnuPG на компьютер
GnuPG (GPG) — криптографическое ПО для шифрования данных.
- Загрузите GnuPG c оффициального сайта на ваш компьютер и установите его.
- Добавьте в переменную окружения среды PATH директорию, в которую Вы установили GnuPG, если она ещё не объявлена.
Генерация пар ключей
RFC 4880 определяет ассиметричное шифрование с использованием пары ключей:
- Public Key — публичный ключ, который Вы передаёте всем, кто с Вами хочет начать шифрованное общение. Используется для зашифровывания передаваемой Вам информации.
- Secret Key — секретный ключ, с помощью которого происходит расшифровка информации, которая была зашифрована публичным ключом.
Примечание: Полная информация о GnuPG находится тут, также Вы можете почитать резюме.
Список команд доступен командой gpg --help
Создание новой пары ключей осуществляется с помощью команды:
gpg --gen-key
При генерации программа GnuPG попросит ввести следующие данные:
- Тип ключа (DSA и ElGamal, DSA, RSA)
- Длина ключа (от 1024 до 4096 бит)
- Срок действия ключа (0 — без ограничения)
- Ваше имя
- Email-адрес
- Комментарий
- Пароль
База ключей находится в директории %UserProfile%\Application Data\gnupg\ в Windows и в ~/.gnupg/ для *Nix.
Передача публичного ключа собеседникам
После создания пары ключей, Вам нужно экспортировать публичный ключ из базы ключей GnuPG и давать его тем, с кем Вы будете переписываться.
Экспортирование кпубличного ключа:
gpg --export --armor "UserID" > my-public-key.asc
UserID (UID) — идентификатор пользователя ключа, имеет вид: Имя (Комментарий) <Email-адрес>
Просмотреть доступные пары ключей можно командой:
gpg -K
Чтобы использовать полученный публичный ключ, его нужно импортировать в базу GnuPG командой:
gpg --import his-public-key.asc
Использование пар ключей в Psi
Выбор Вашего секретного ключа для дешифрации сообщений от собеседников осуществляется в настройке аккаунта.
Для включения шифрования с конкретным собеседником предназначена кнопка
. Также, из контекстного меню, можно присвоить для контакта из ростера, каким ключом шифровать для него сообщения.
Станза с фразой "Привет, GPG-шифрование!", зашифрованная 4096-битным ключом:
<message from="*" type="chat" xml:lang="en" to="*" id="aaf9a" > <body>[ERROR: This message is encrypted, and you are unable to decrypt it.]</body> <x xmlns="jabber:x:encrypted"> hQQOAxYnpoCxoXK4EA/+J3nXkUsCq0r427I39HaHRfUnW6S30AUc1SF3INuh2FZy14VAVqkpJesYBPHtp DK7UjB74dVVWCbR7uj9pPZRQqdkm1VVps/bMEWbuwseyIsHd94xA0Pfi/TF+VMZUIKxc9vtPVs9Qxk5vy 5f5W7hIMCBK4v3utuRtp4q3OXcfDAld56/5wC8fBRiW4HJf6WQBISAJLgcHzMVP3ZjyFZSn1/5ayzh/xo fBFnjLdfBsPvyTcVV8kzUn66yK42WiR3PjNUk6bPWt3wj7lDJ1N4efDt90csYFPESoRkNmDPwCc/R07dW KLjgxQlAJgUNRuU+u89KtKykVtYFsTdxObt9ZzrV411YCdL8ETBZj9IAZpp5uL3WKpcRD8I0UJqN5oAIn uNr2vSdZdHD168Eb6tK0AmxhWBg2AtiCREMd3eYyD4oi2hKCB4OBGxqWViTIIYx4FDzsNRnzKmMdjx8tF cYpRYM24mbrD6VvYArcQvFS2DUkMPYbq82QpraLXUgVuF9+P3auRwNRIPiqD5h3z9+9XbQhbeKKWMQG5U lVkrAZJmkuIGRaX8mQ2QLOIf9Vw2Y7vJaQC64U2usvILBbGyIxZTAmPkEpH+BBwwXbqGz4xT4BgjUl21B LBivH+6ZtekP/ZFnLlvw+SIb8V2Vcyv0dBV5SwflBCxsDjab5sMONtUQAJHlP10x03XrMgC/qoWNJm2Uq RXrLnepDc30ZnmhuybLxZSemDH01U6dfJc8OTsbbO968jyNJ3AL36thYdQ1ZwaFT38C8F3Gp6hFiOYMq6 MdSK+pydRm1Lq0Vx+zQuBrR605eH8q23rVoG2pKGCwKVZd/m7qsXEwaEcyyLEDoItkqIXrEaHlXInyhj7 mUiwn0yEwmtEZl9CnDPt4+DoJnXuUfcwFEEcRpYGKcj3lVYcxOrwvShhJ6qeMGp0Fx7JHzEjKqk/A9vaF J5ndVjwAov2JprqbYZvJKpixXjT8SNQtPlEw1nJOXc8xuRQ3JxFPnVcSZ1bIjhH1vYv/f/vif0+/RDjTK LDPUe7hosXTWKiV+CwxdZt1fP1Noqpzv0+kcGmw4fxxiNkG0X/JyrP95nM47wPiiFgC2/VM8g/OikFIOn pP86nBz/uRvoRnAw8iqi3NlPu0hY8OcMV23iblv5XyDR5oD5OH1RbWZ82Y8oFx+R95+UsHOqqmul3x3+z QcB3NtRMmdxfpPI2dUHPFH5t8b0oYKTGeijMCcQOzT/Nk84xseASaYT4IrRRefeVbFF6OsdoIrEOoNvs3 KXIQp4vsdocHLBd7KVdUyslI9LOYYSL4yZ4Z0IWhsmTsRY1ZRI5thhbgebKU9yGp3ero6fOIrxgynqxBb 0kj639Cv3gj0mEBw1m3Na76NSo6078941amADg4A766agJXla+UibwP0VLN4VugGq/VEtyCteHJVls2H9 H1RczgDeUV29Thi5WAM3pBMKg8BVwoEQLagbNA/7fuqrMs51LLTsd0z9+IIi8X=Ap4B </x> </message>

