Форум доступен через TOR. Скачать TorBrowser
Нравится форум? Поддержите форум финансово: BTC 1NwTNCBAyLV2bBuAKPv7g6R5ktdrJDt8TC

Будьте внимательны, проверяйте адрес в адресной строке! тема о фишинге!

Алекс - Юстасу. Шифровка из штаба.

Автор Pendalf, августа 23, 2021, 15:00 Пн.

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Pendalf

Все мы помним военные фильмы советской эпохи, сколько эмоций вызывали "шифровки".
Но и сейчас, война не окончилась, а разгорается - информационная война. Если раньше эфир надо было слушать, записывать на магнитную ленту, слушать. То сейчас пишется все автоматически.
Хоть шифрование и внедрено во все средства связи, безопасной связь не стала.

Есть 2 основных типа шифрования, симметричное и асемметричное.
При симметричном шифровании используется один пароль. Простой пример Wi-Fi, при подключении к сети в вводите ключ сети и получаете доступ. Ключ можно подсмотреть, перехватить, взломать методом перебора (что сложно при большой длине ключа, иммено по этому пароли делают от 8 символов, взлом перебором пароля займет несколько лет).
По этому был придуман ассиметричный способ шифрования. Он сам по себе не единственный, АйТишники знают, но заморачиваться с теорией я не буду.

Рассмотрим PGP или GPG что в принципе можно упрощенно считать одним и тем же.

ЦитироватьGNU Privacy Guard (GnuPG, GPG) — свободная программа для шифрования информации и создания электронных цифровых подписей. Разработана как альтернатива PGP и выпущена под свободной лицензией GNU General Public License.

Цитировать
PGP (англ. Pretty Good Privacy)
— компьютерная программа, также библиотека функций, позволяющая выполнять операции шифрования и цифровой подписи сообщений, файлов и другой информации, представленной в электронном виде, в том числе прозрачное шифрование данных на запоминающих устройствах, например, на жёстком диске.

В основном мы пользуемся GPG или OpenPGP, создаваемые ими ключи и шифровки совместимы.

И так, для чего же нужна эта программа?
Программа создает очень сложный секретный ключ по сложному алгоритму, на основе этого ключа созаются закрытый и открытый ключи. На закрытый ключ можно еще и пароль поставить, и E-Mail с именем прописать. Закрытый ключ мы держим в тайне, как и пароль к нему.
Открытый ключ мы раздаем, есть даже серверы ключей публичные и бесплатные, куда можно загрузить свой открытый ключ, что бы можно было по Нику, ФИО или E-Mail (смотря для чего ключ предназначен), найти в публичной базе нужный ключ. Проще оставить ссылку на такую базу, чем весь ключ публиковать, да и многие программы умеют как публиковать открытые ключи, так и находить нужные открытые ключи в таких базах.

И для  чего нам эти ключи? Что с ними делать?

1) Электронная подпись. Это примерно тоже самое, как нотариус заверяет документы, после заверения уже ничего нельзя исправить, только принести оригиналы и еще раз заверить. Для чего это нужно? Что бы любой желающий мог удостоверится, что это Вы - владелец подписи, заверили какой либо документ.
Подписать можно файл, текст и если изменть в нем хоть один байт, подпись не сойдется. Так что же подписать? Ну например объявление на форуме, что Вы клянетесь съесть собственный галстук, если Ваша информация не правдива. И попробуйте потом сказать, что это кто-то другой подписал Ваше сообщение взломав аккаунт. Т.е. это проверка личности по сути. Ваша электронная подпись.

2) Шифрование текстов. Простой пример, два друга договариваются о в одноклассниках сделать сюрприз своим женам к 8 марта, но аккаунты у них семейные, и каждая из жен может прочитать вашу переписку. Допустим Саша и Сережа генерируют ключи, кладут ключи на флешки и кидают друг-другу шифровки в общем чате. Жены читают и не поимают что за портянки бессмысленных символов они понаприсылали.
Пример конечно так себе, но если представить что за вами следит ФСБ вместо жен, а вместо одноклассников стоят системы СОРМ у провайдеров и логируют вашу переписку, то даже если вы обсуждаете котят и хомячков, это не их собачье дело, знать о чем вы беседуете.

3) Шифрование файлов. Самый простой способ, который наверное знают все, с шифрованием файлов - это архив с паролем. Но это как-раз симметричное шифрование. Узнал пароль - открыл. GPG позволяет зашифровать файл целиком, без сжатия. Но все же основное - это шифрование текстов.

Как этим пользоваться.

Для гиков Линуксойдов, и других любителей консоли - не эта статья, они и так разберутся, попробую объяснить для не искушенных пользователей.

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


-----BEGIN PGP MESSAGE-----

hQEMA+gqVOHvRq8UAQf+N5GGQXFdb6uWmceKsDPrrg4Aqdm8E7mBmLBUsD9auh3z
+8XZVXtdkrwz+L1Elw8mE/BB8W7eqqsTQwx0mtWz8u9Aay4/Z2ZCAgz/rqh25Rx9
xswyEFyPXMnhij1u3u3hwG9JVCUwrAVZmr64nhYksHYBnrpwcsNd0aygwCCd3zHW
k0o6j0pLNML5oNyzcABltV+V9znaERxUcGG2LTdYYRRbX/6hPx4HoT8l13w5andU
P9SS0t9ZdUArmyZ6csBrNY1uA4GQd6/YLCiKjq5crlDuv57MullPzcEpB0vzEBSA
18Zj3ick/EnovOIT8C8D6ncNyHFoTS0j8JOzmW75W4UCDAP90SgwZ8tGWQEQAId9
eP7KwberkUClebueiuiPS6MOWffJmzIGFq7T+RF8Qi7F6olbJzVU1KrEbTLcQRp6
sKG5T9Z5f4V+l/aRCnoIYxwS801l2qFbBLLH4AlhK86lEQnt1SY/1y2trWrSJTF1
bmvdlL7UAAjzuUoN09HgOM62qMvu60D0STsvE1C+U33lcVLhDsGW0jcMp/UcUAop
OpJyecADTrjbPNSSh34EOrTswyuKD2VcTO4W5OSe1Nd+9S7/sSkjDwDYXN6asM77
n5KVfDjz2Mj0ih7PN2jhsHFaAhjYwaZH2jmOnsTo2Wx2RYFLbzegeh5KePrBopJc
JHESrp4/op81eg/6x7lt5Ei0scurtJyKHFEpaXQYL8sMGf0XWPcYyRMwQHMd4kWt
AKZw3Rbo7hqt7+gZt5tlO1q9mNy1tEulT8H9c0Q84oyHQSL4yiuuOVtGGpoOGck9
IGWxkKYuAWotrcyzzOkHogJOO39bX6MlNsYcXu/h1KCGJVapBSSaT4Elh+YmzLs/
/+0eB77fUvfaEXfk5w/HYmxwgtb41SUCkKbUEotPtYwJk7iOEQoLEMTpbTeXfnxR
tiivGOIxVvhuEdp02cn0urWxfQF9q8KC1+DFVSO592auq0nOhUlLTmY4ywhnb0DJ
DLviIfsBZjH/3oooHBPFCNUWXwOu5JAiqdA6Gpb60k0BhXaYeLgU8t53264CDL5f
Ro7SDGbKHyAWDhBj6xwOiSqtjSpZhgi94KKRH76BH1740CGlJgCoDWHhUiAuskVS
5TW3Ksck3cLqiYv9FA==
=0mXx
-----END PGP MESSAGE-----


 [ You are not allowed to view this attachment ]  
Отправляет его по почте или в чате, или на форуме Валере.
Валера копирует в свою программу, и жмет кнопку расшифровать. Если был установлен пароль на закрытом ключе - то вводит пароль и читает текст.
 [ You are not allowed to view this attachment ]  

Если это письмо не для Валеры, или сережа косячнул и не тем ключом шифровал, Валерик увидит это

 [ You are not allowed to view this attachment ]  

Сама программа работает как под Windows так и под Linux. Скачать можно здесь

Моя тема на Рутор  |||  Моя тема на Рунион
PGP fingerprint: 5EB9134D78805E03FD443AE4534109F701FC3FCB

Energizer

А как работает функция в PGP-менеджерах "зашифровать паролем"?
Какой там алгоритм, такой же ли он стойкий к взлому если попадёт к СС? Где тогда хранится одноразовый ключ если он есть?

Pendalf

Моя тема на Рутор  |||  Моя тема на Рунион
PGP fingerprint: 5EB9134D78805E03FD443AE4534109F701FC3FCB

Energizer

Не в мессенджере, а в самой программе шифрования Password and Keys, Kleopatra или OpenKeyChain. У них у всех такая галочка есть.
Получается тоже зашифрованный файл или текст с шапкой "-----BEGIN PGP MESSAGE-----", но подозрительно короткий.

И какой программой лучше пользоваться на iOS,macOS ?

Pendalf

Я не совсем понял о чем ты. Вероятно ты имеешь ввиду пароль для PGP ключа. Он может быть, а может и не быть. И галочкой ты включаешь команду на установку пароля для ключа.
Все программы в общем то менеджеры для утилит PGP/GPG
И непосредственно с ключом можно работать из командной строки.
Например в GPG4USB при генерации пароля запрашивается пароль в обязательном порядке.
На счет яблок не скажу, но в них должна работать консольная gpg.

Давай приведу пример генерации ключевой пары из командной строки

gpg --full-generate-key
запускаем генерацию
оставляем по дефолту 1
Вы не можете просматривать это вложение.

Выбираем длину ключа 4096 и срок действия
Вы не можете просматривать это вложение.

Просит ввести пароль для ключа.
Вы не можете просматривать это вложение.
 
Если не вводить пароль, и нажать Ок.
Получим предупреждение
Вы не можете просматривать это вложение.
 
Генерация завершена
Вы не можете просматривать это вложение.

Пароль можно изменить (добавить или удалить, сменить)

gpg --edit-key 2732858859A7FDB1
Вы не можете просматривать это вложение.

запросим справку по командам
Вы не можете просматривать это вложение.

выполним
и получим аналогичный диалог ввода пароля что и при генерации.
Вы не можете просматривать это вложение.
 
Ну и удалим ключевую пару.
Можно поступить по разному, просто удалить, или отозвать (revoke)

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

gpg --delete-secret-keys 2732858859A7FDB1
gpg --delete-keys 2732858859A7FDB1
Вы не можете просматривать это вложение.

Подтвердим удаление

Вы не можете просматривать это вложение.

Моя тема на Рутор  |||  Моя тема на Рунион
PGP fingerprint: 5EB9134D78805E03FD443AE4534109F701FC3FCB

Energizer

Не, про защиту секретного ключа паролем в курсе. Это другое.
Именно "зашифровать для всех у кого есть пароль".
Проверил, такая функция есть и на Android OpenKeyChain.
Шифровать можно и файлы и текст из буфера.
В консольном варианте не видел аналога.
Вы не можете просматривать это вложение.
Вы не можете просматривать это вложение.
Вы не можете просматривать это вложение.
Вы не можете просматривать это вложение.

Pendalf

Надо посмотреть документацию, думаю это обычное симметричное шифрование. Чуть позже поковыряю.

Вот пример в OpenKeyChain зашифровано
пароль 123456

-----BEGIN PGP MESSAGE-----

jA0ECQMCchgd7lotEgxg0jkBbCFWjoZrEX4U2dX3N/9Pq94ChBioCxd6pwmoCSF+
hPaC7n04J5osRPu6mnIiokOzaOhvM/CxGT4=
=Rm7T
-----END PGP MESSAGE----- 
И в GPG4USB расшифровывается.

Но при попытке шифровать так
gpg --symmetric --batch --yes --passphrase 123456 <input file>
получаю бинарник, а не PGP сообщение.
Нужно покурить еще опции PGP
Моя тема на Рутор  |||  Моя тема на Рунион
PGP fingerprint: 5EB9134D78805E03FD443AE4534109F701FC3FCB

Energizer

Цитата: Pendalf от сентября 25, 2022, 10:00   Вс.Вот пример в OpenKeyChain зашифровано
пароль 123456

-----BEGIN PGP MESSAGE-----

jA0ECQMCchgd7lotEgxg0jkBbCFWjoZrEX4U2dX3N/9Pq94ChBioCxd6pwmoCSF+
hPaC7n04J5osRPu6mnIiokOzaOhvM/CxGT4=
=Rm7T
-----END PGP MESSAGE----- 
Ну да, расшифровалось только с этим паролем, вводить пароль на какой-либо из ключей не пришлось. Пометка что это AES256

Pendalf

Нашел опции.
Последовательность напишу.

echo "hello" > hello.txt
gpg --symmetric --batch --yes --passphrase 12345678 --armor hello.txt
cat hello.txt.asc
-----BEGIN PGP MESSAGE-----

jA0ECQMCLw1xUfDVnzj/0kEBVWPo6UjKlAFWR0tfq/QljHAEVkTKaVkRmATu8x7Y
52T1Wt28kfNZguPiJw4BNrBl82eaL55oRppG+L0J4o6tUQ==
=/pnD
-----END PGP MESSAGE-----
Файлы в приложении к посту.
Моя тема на Рутор  |||  Моя тема на Рунион
PGP fingerprint: 5EB9134D78805E03FD443AE4534109F701FC3FCB

TinyPortal 2.2.2 © 2005-2022