Раскрытие приватного PGP-ключа как средство дискредитации
Если я правильно понимаю, то для не RSA ключей можно выделить отдельно ключ для расшифровывания и ключ для подписи (ЭльГамаль и Диффи-Хэллман, кажется). Для этого достаточно владеть приватным PGP-ключом. Предъявив, к примеру, только ключ расшифрования, можно будет доказать авторство сообщений адресата, с кем велась переписка. В то же время, не раскрывая ключ для подписи, нельзя позволить другим выдать себя за владельца ключа. В итоге, получается схема когда все могут спрочитать, ни никто не может подделать, как с чистыми подписями без шифрования. Это одна идея.
Другая идея следующая. Часто заботясь о сохранности своего приватного ключа, народ забывает, что им закрыты не собственные секреты, а секреты адресатов (не то, что я писал, а то, что мне писали). Из-за этого получается парадокс: хочешь сохранить переписку в тайне – позаботься о сохранности приватного ключа адресата, ибо им зашифрованы все исходящие.
Из синтеза этих двух идей можно сконструировать простейшие атаки в стиле социнженерии. Допустим, я честно предъявляю собеседнику свой ключ, которым я дорожу, и на который завязана переписка со многими лицами. Собеседник же может предъявить специально сделанный для меня PGP-ключ. Образуется неравномерность распределения ответственности: он может, не рискуя практически ничем, раскрыть свой ключ, подтвердив всё что я писал, для меня же подобная операция будет куда менее "приемлемой". Есть ли какие-то другие схемы исправления ситуации, кроме как OTR или "идти и поступать также", назначая на каждый контакт по одному ключу? Ситуация может оказаться не сильно надуманной, если собеседник окажется "в оппозиции" или "вдруг захочет насолить". Я в курсе, что PGP не предназначено для анонимности и отрицамеости, но вдруг есть какие-то нетривиальные идеи? Просто не хотелось бы, чтоб мало того, что адресат мог разглашать информацию, так он ещё мог и подтверждать её верность...
Может быть, было бы уместно в протоколе иметь генерацию какого-то общего ключа, без знания которого подлинность сообщений не доказать, а получить этот общий ключ можно было бы только зная приватные обоих собеседников. В том же jabber, насколько я знаю, общий симметричный ключ как в SSL для шифрования не генерится, и имхо зря (левая нагрузка и на машину и на трафик, из-за асимметрики на каждое сообщение).
Проблема скорее социальная, а не криптографическая, но так уж повелось, что обсуждая ИБ сложно оставаться в рамках "чистой науки".
комментариев: 9796 документов: 488 редакций: 5664
В openpgp есть возможность разглашения сеансовых симметричных ключей, которыми было зашифровано сообщение (--show-session-key, своего рода полицейский режим).
В любом случае никто не мешает переделать любую программу так, чтобы извлекать из зашифрованного текста расшифрованный с подписью отправителя, имею возможность предоставить её третьей стороне, не раскрывая своего ключа расшифрования.
Можете не подписываться своим ключом. Использовать аутентификацию текста как-то иначе.
комментариев: 155 документов: 20 редакций: 5
комментариев: 9796 документов: 488 редакций: 5664
комментариев: 11558 документов: 1036 редакций: 4118
Это не так. Любой ключ v4 состоит из главного ключа подписи (RSA или DSS) и одного или нескольких подключей шифрования/подписи (для шифрования — RSA или Эльгамаль (Диффи-Хэллман в данном случае — это то же самое), для подписи — те же RSA или DSS).
В остальном мысль верна: снять слой шифрования всегда возможно. Только значимость цифровых подписей я бы не переоценивал: в общем случае они практически ничего не доказывают... ну, целостность сообщений, разве что, т.е. чисто криптографическое свойство. С правом они ни с какого бока не пересекаются, если только контрагенты явно не договорятся об ином.
комментариев: 1515 документов: 44 редакций: 5786
AFAIK, в jabber+gpg нет никакой симметрики.
Согласно стандарту PGP, используемому в jabber, не подписываться нельзя.
Ну почему, если любой грамотный специалист может проверить их верность, имея мой открытый PGP-ключ, это уже многое... я не говорю здесь о преследовании согласно закону, скорее – "в принципе". Ведь всем известно, что подделать подписи нельзя.
комментариев: 9796 документов: 488 редакций: 5664
Асимметричное крипто в чистом виде без распределения симметричных сеансовых ключей существует только в экспериментальных протоколах, но даже если бы оно было где-то реализовано, получатель всё-равно может извлечь открытый текст после расшифрования и приклеить к нему вашу подпись обратно, не сдавая свой закрытый ключ, если только не подписывать шифртекст, полностью увязанный на асимметричное крипто.
комментариев: 11558 документов: 1036 редакций: 4118
А о чём речь? В джаббере крипто используется для трёх несвязанных операций, каждую можно включать/выключать независимо от других:
Ничего подобного.
Зато можно ключ "потерять". Забудьте о таком понятии, как "неотречение". Оно работает только в двух случаях:
комментариев: 9796 документов: 488 редакций: 5664
комментариев: 1515 документов: 44 редакций: 5786
Интересные факты. А если я делаю то тоже шифрую симметричным алгоритмом? Может быть, есть какие-то "internals" с точки зрения абстрактного крипто, но в моём понимании асимматричное – это , а симметричное – это . Разве в jabber предусмотрена процедура выработка общего симметричного ключа на первой стадии, которым впоследствии шифруются все сообщения? По такой схеме работает, насколько я знаю, именно OTR+jabber а не PGP+jabber.
А смысл? Показываю подписанный шифротекст: все могут проверить верность подписи, ибо публичные ключи всех участников по умолчанию считаются известными. Далее, предъявляя свой закрытый ключ, можно дать всем удостовериться в содержимом сообщения. Итого, коммутация шифра и подписи при такой атаке ничего не даст.
Можно, но это не будет в полном смысле стандартом. Многие грамотные клиенты сразу завопят, если увидят сообщение без подписи (сам видел). В природных условиях такое случается при смене ключа абонента втечение неразрываемой сессии.
PGP == асимметричное?
OTR == симметричное?
Кстати, они могут работать вместе (OTR+PGP), только забыл кто сверху идёт а кто снизу в таком случае.
Потерять-то можно, а вот поверят ли... Почему-то сразу все начинают вспоминать судебную систему и финансовую ответственность. Однако, есть и другие вещи. Допустим, что вы известный какой-то деятель, к примеру, Шнаер или Роджер. Я с вами веду переписку. Раскрыв её посторонним лицам (выложив её на каком-то сайте, вкупе со всеми причитающимися подписями и ключами), можно довольно не хило повлиять на репутацию. Здесь важно, что всем будет понятно, что это не деза и не фэйк. И в утерю ключа если могут поверить, то также, как и в рассуждения стиля "я не убивал, отпечатки не мои – силком мои руки к ножу приложили, свидетели врут, суд коррумпирован, вещдоки поддельные, делавшие ДНК сфальсифицировали заключение ..."
Это которые слепые и которые для анонимных финансов?
комментариев: 9796 документов: 488 редакций: 5664
Ну зашифруйте что-нибудь сами себе, а затем расшифрйте gpg -v -d testfile
И увидете, что до ввода пароля будет что-то вроде: 1024-bit ELG-E key,
а после воода пароля: AES256 encrypted data.
Потому что сначала генерируется сеансовый случайный симметричный ключ (по умолчанию AES), им шифруется всё сообщение, а уже этот ключ (а не само сообщение) шифруется асимметрикой. Расшифровывается естественно в обратном порядке. Иначе шифрование происходило бы очень медленно (до 10000 раз), а алгоритмы типа RSA неустойчивы к атакам с подобранным открытым текстом – кто-нибудь попросил бы вас перешифровать текст вашим ключом и переслать ему шифртекст, а из результата смог бы вычислить закрытый ключ.
Слепые для финансов – это подписи Чаума. Подписи Лампорта используют для микроплатежей, она основана только на хэшах без асимметрики, идея немного в другом – после того как подпись проверена, каждый (в первую очередь получатель) может создать любые документы с такими же подписями.
В целом spinore, я согласен с вами, в некоторых случаях важна не просто юридическая отрицаемость, но и отрицаемость в плане полной анонимности, нечто вроде протоколов доказательства знания секрета с нулевым разглашением (невозможности доказать это посторонним).
Собственно, всё уже давно изобретено. Как всегда на уровне теоретических разработок.
Вот примерно так.
И на проблему эту давно обратили внимание.
Вот цитата из Adida, Чаума, Хоненберга и Райвиста:
Вот такой вот обоюдоострый меч.
Анонсы других работ (к сожалению нет в свободном доступе):
комментариев: 1515 документов: 44 редакций: 5786
Забавно :) Понял.
Получается, что если использовать gpg на машине с плохим ГСЧ то могут угнать ключ, даже если он генерился на другой машине с надёжным ГСЧ...
[offtop]
Там в первой статье обсуждается Big Brother как тип атаки, и тут у меня вопрос: вам случаем не известно ли происхождение этого термина? Кто впервые стал так называть госслежку?
[/offtop]
комментариев: 1515 документов: 44 редакций: 5786
А про сроки введения этого нового стандарта что-нибудь известно?
комментариев: 11558 документов: 1036 редакций: 4118
Чисто теоретически.
Лет через 5-8, если повезёт. А на формальное принятие стандарта, как с RFC4880, могут уйти и все 15. Собственно, пока и единой спецификации нет, только набор идей и разрозненных черновиков, подготовленных разными людьми в разное время.
Мой грамотный tkabber вполне себе молчит, получая от Вас неподписанные сообщения. :-)
Да, есть ещё репутация. Поэтому некоторые умные люди в дополнение к хорошо защищённому основному ключу генерируют новый, используемый, например, только для jabber-переписки (этот ключ заверяют основным, дабы упростить распространение). При этом особо его не оберегают, хранят где попало и всячески подчёркивают, что он непригоден для критических задач. ;-) В случае шантажа или попытки дискредитации его можно даже в Сети опубликовать анонимно и сослаться на то, что, де, вы всех честно предупреждали — ключ никогда особо не оберегался.
комментариев: 1515 документов: 44 редакций: 5786
Может быть, это не от меня? :)
Да, что-то я перепутал. Имелось в виду видимо смена ключа на лету, а не подпись. С подписями всё куда прозаичнее:
Таким образом, в силу стандарта, статусы должны только подписываться (не шифроваться), а сообщения – только шифроваться (не подписываться). Интересно, во всех ли клиентах так... Отсюда следует, что админы jabber-сервера якобы могут посылать любые сообщения кому угодно от кого угодно, и получатели не смогут определить их фальшивость.
А вы не подумали о том, что "в случае шантажа или попытки дискредитации" у вас будут выпытывать именно главный ключ а не тот, что для jabber'а... и задача сводится к предыдущей.
комментариев: 11558 документов: 1036 редакций: 4118
Определённо, нет: по-моему, большинство клиентов умеют и подписывать индивидуальные сообщения. Смотрите второй раздел XEP-0027:
Может быть я чего-то не понял? Шантаж или попытка дискредитации будут полагаться на информацию, подписанную ключом пользователя. Ключ в данном случае только от джаббера. В случае атаки пользователь "сливает" ключ в интернеты. И что теперь будет делать шантажист?