Раскрытие приватного PGP-ключа как средство дискредитации
Если я правильно понимаю, то для не RSA ключей можно выделить отдельно ключ для расшифровывания и ключ для подписи (ЭльГамаль и Диффи-Хэллман, кажется). Для этого достаточно владеть приватным PGP-ключом. Предъявив, к примеру, только ключ расшифрования, можно будет доказать авторство сообщений адресата, с кем велась переписка. В то же время, не раскрывая ключ для подписи, нельзя позволить другим выдать себя за владельца ключа. В итоге, получается схема когда все могут спрочитать, ни никто не может подделать, как с чистыми подписями без шифрования. Это одна идея.
Другая идея следующая. Часто заботясь о сохранности своего приватного ключа, народ забывает, что им закрыты не собственные секреты, а секреты адресатов (не то, что я писал, а то, что мне писали). Из-за этого получается парадокс: хочешь сохранить переписку в тайне – позаботься о сохранности приватного ключа адресата, ибо им зашифрованы все исходящие.
Из синтеза этих двух идей можно сконструировать простейшие атаки в стиле социнженерии. Допустим, я честно предъявляю собеседнику свой ключ, которым я дорожу, и на который завязана переписка со многими лицами. Собеседник же может предъявить специально сделанный для меня PGP-ключ. Образуется неравномерность распределения ответственности: он может, не рискуя практически ничем, раскрыть свой ключ, подтвердив всё что я писал, для меня же подобная операция будет куда менее "приемлемой". Есть ли какие-то другие схемы исправления ситуации, кроме как OTR или "идти и поступать также", назначая на каждый контакт по одному ключу? Ситуация может оказаться не сильно надуманной, если собеседник окажется "в оппозиции" или "вдруг захочет насолить". Я в курсе, что PGP не предназначено для анонимности и отрицамеости, но вдруг есть какие-то нетривиальные идеи? Просто не хотелось бы, чтоб мало того, что адресат мог разглашать информацию, так он ещё мог и подтверждать её верность...
Может быть, было бы уместно в протоколе иметь генерацию какого-то общего ключа, без знания которого подлинность сообщений не доказать, а получить этот общий ключ можно было бы только зная приватные обоих собеседников. В том же jabber, насколько я знаю, общий симметричный ключ как в SSL для шифрования не генерится, и имхо зря (левая нагрузка и на машину и на трафик, из-за асимметрики на каждое сообщение).
Проблема скорее социальная, а не криптографическая, но так уж повелось, что обсуждая ИБ сложно оставаться в рамках "чистой науки".
комментариев: 1515 документов: 44 редакций: 5786
Если никому не говорить про существование "главного" ключа, то да. В противном случае, шантажисты потребуют его "на будущее" (зачем он может пригодиться – сами можете придумать). К примеру, тот пресловутый закон в британии гласил что-то наподобие "в случае предоставления шифровальных конкретных ключей к чему-либо, полиция вправе потребовать выдачи абсолютно всех шифровальных ключей" (смысл такой).
psi и mcabber вроде как не умеют подписывать сообщения, насчёт tkabber'а не в курсе.
Но они передаются в разных XML-элементах, поэтому шифрование и подпись нельзя совмещать, что в п.4 и отмечено.
А вообще чуть противоречиво написано, да
комментариев: 9796 документов: 488 редакций: 5664
[offtop]
Большого (Старшего) Брата придумал Джордж Оруэлл в произведении "1984-ый", написанном в 1948 году, как выражение тоталитаризма, основанного на крайней степени контроля и насилия. Оруэлл подчёркивал, что имел ввиду не только Советский Союз, по его мнению западные демократии также могли переродиться в тоталитаризм, если этому не противодействовать.
Литературные предпосылки общества тоталитарного контроля иного типа (много промывки мозгов и биоинженерии и мало насилия) часто рассматривают также по произведению "Прекрасный новый мир" (A Brave New World), написанном за 20 лет раньше Оруэлла.
Обсуждалось здесь и и здесь, может кому интересно прочитает, вопросы, зачем нужна анонимность и пр. улетучиваются сразу и навсегда.
Правда, некоторые кто читали Хаксли, признаются, что добровольно хотели бы жить в таком обществе (тоталитаризм без массового насилия, со всеобщим счастьем, обеспеченностью и научной организацией труда, вплоть до проштамповки мозгов в раннем детстве).
От интеллектуалов всякие поговорки и штампы из этих произведений ещё в 70-е годы перешли в массовую культуру (комедии, телешоу, поп-музыка), поэтому это уже стереотипы, в которых не всегда угадывается первоначальный смысл.
[/offtop]
комментариев: 1515 документов: 44 редакций: 5786
комментариев: 1515 документов: 44 редакций: 5786
комментариев: 9796 документов: 488 редакций: 5664
Кстати, только сейчас созрел до этой мысли и скорее склоняюсь к тому, что говорил spinore.
Методы, которые предлагает SATtva — потерять ключ, утверждать, что его использование ничего не доказывает и т.д. — это полумеры, попытка спрятаться от решения проблемы.
Помимо вышеприведённых цитат можно обратить внимание на название оригинальной работы по OTR: "Off-the-Record communication, or, why not to use PGP".
Никита Борисов, Ян Голдберг и Эрик Брюер приводят следующие аргументы о том, что модель PGP больше подходит для подписания контрактов (обязательств), но не годится для простого пользователя:
Уделяется внимание в их работе и электронной почте:
Поскольку использовать OTR в неинтерактивном протоколе сложно, они предлагают "растянутый по времени OTR" или упоминавшиеся выше "Ring signatures" — кольцевые подписи. Полпись вида [Alice--Bob] может создать любая из сторон — или Alice или Bob, а доказать кто именно её создал — невозможно. Но это полумера, так как даёт отрицаемость только в пределах пары переписывающихся и не подходит для некоторых протоколов анонимных коммуникаций. Кроме того, это не даёт PFS, авторы ссылаются на черновик PFS к openPGP, но с 2001 года "воз и ныне там".
Ещё интересна отсылка к работе Уго Кравчика "SKEME: a Versalate Secure Key Exchange Mechanism for Internet". Ещё в 1996 году Кравчик отмечал (параграф 2.3.2), что
Поскольку это высказывание важное, вот его перевод:
В пропущенных местах цитаты — технические подробности, аналогичные приведённым в работе по OTR.
Что мы имеем? OpenPGP для рядового пользователя лучше чем сертификаты PKI (которые годятся вообще только для сетевого бизнеса или внутри иерархических связей внутри организации), но всё ещё далеко от идеала. OpenPGP хорошо подходит для открытых сообществ (например разработчиков свободного ПО — дистрибутивов Linux) — там неотрицаемость и получения доверия через "сеть доверия" (это отдельный аспект, потенциально снижающий анонимность) — там это оправданно.
Но для закрытых сообществ, анонимных (псевдонимных) пользователей, частной переписки — модель openPGP — "seriously wrong".
Не заметили, почему так непопулярны подписи на форуме, а некоторые даже специально пишут под гостем, а не под своим логином? Почему многие не хотят уговаривать вешать на свой открытый ключ подписи других людей (с кем они чаще всего переписываются) и тем более участвовать в "keysigning party"?
Возможно этими возможностями не пользуются просто из-за лени, но судя по аудитории нашего форума, возможно даже у технически продвинутых параноиков была интуиция, что модель openPGP им во многом не подходит.
Интересно, что ряд теоретических работ по введению отрицаемости и PFS в неинтерактивные протоколы (электронную почту) был предложен, но впоследствии была опубликована работа, что некоторые из этих протоколов уязвимы к атакам на аутентификацию (например повторной отправкой сообщений).
По поводу PFS:
"A Practical Way to Provide Perfect Forward Secrecy for Secure E-Mail Protocols" — Sangjin Kim, Changyong Lee, Daeyoung Kim and Heekuck Oh.
"Cryptanalysis of e-mail protocols providing perfect forward secrecy" — Raphael C.-W. Phan.
По поводу отрицаемости:
"Toward the Fair Anonymous Signatures: Deniable Ring Signatures" — работа упоминалась выше.
"Provision of deniability of E-mail protocol" — Hyo Kim.
Кстати, здесь используется одно из интересных применений личностной криптографии — если в обычном виде её жёстко критикуют и считают ещё более авторитарной чем сертификаты PKI, то для отрицаемых подписей — каждый сам себе PKI и может проверять чужую подпись или подделать её сам себе или третьей стороне, но только для сообщений, которые предназначены для связи между участниками коммуникации.
По мере развития исследований в этом направлении модель openPGP возможно когда-нибудь будет серьёзно переработана.
комментариев: 9796 документов: 488 редакций: 5664
В общем для электронной почты нужен неинтерактивный протокол с PFS и отрицаемой аутентификацией, о чём профессиональные криптографы-теоретики говорили уже 15 лет назад.
комментариев: 1515 документов: 44 редакций: 5786
Мне не очень понятно какова коммутация между приклеиванием подписи и шифрованием, особенно в контексте реализации в jabber. Допустим, руками можно зашифровать сообщение без подписи (gpg -e), а затем его подписать. Как теперь адресат приклеит эту подпись к расшифрованному тексту? Допустим, также, что раскрывать ключ шифрования он не заинтересован, но может раскрыть ключ подписи (иногда это разные ключи, так?). Опираюсь на комментарий:
С другой стороны, не понятно, почему они никак не пересекаются с правом. В случае следствия одним из доказательств может являться всё что угодно (записи в журнале на вахте о посещении какого-то офиса, свидетельства лиц-очевидцев, косвенные показания типа "да он ещё с дестства увелкался химией и взрывчатыми веществами" и т.д. – список бесконечен – и не надо явно оговаривать в законах что явно является доказательством, а что нет). К примеру, администратор jabber-сервера может прийти в суд, показать логи и сказать: да, действительно, в такие-то времена с таких-то IP была зарегистрирована переписка того-то с тем-то, зашифрованная ключом таким-то. В свою очередь лица на местах могут подтвердить, что в данных местах за данными PC были действительно означенные лица. В крайнем случае могут назначить автороведческую экспертизу, эксперт по которой может в суде сказать "с высокой вероятностью этот текст действительно принадлежит означенному лицу". В то же время и обычный компьютерный эксперт может сказать "наличие ЭЦП и анализ подписанных ею текстов подтверждает, что приватный ключ действительно принадлежит лицу, в то время как аргументы о внезапной утере ключа несостоятельны, и экспертиза не видит никаких подтверждений этому окромя голословных утверждений со стороны лица". Т.е. суд в конечном счёте хотя и старается процедуру формализовать, но по факту опирается лишь на фактор обычной человеческой убедительности. Достаточность/убедительность тех или иных доказательств/аргументов/экспертиз также оценивается на глазок исходя из риторики стороны обвинения. Я ошибаюсь?
Если я правильно понимаю, то в случае OpenSSH и OpenVPN это тоже так, поскольку позволяет восстановить сеансовый симметричный ключ, которым зашифрованы все пакеты? В качестве полумеры для защиты можно порекомендовать периодически менять свой ключ, удаляя все его копии.
Кроме собственно параноидальных обоснований могут существовать и иные аргументы не писать от своего имени / не подписывать посты:
прославлении себя потомкамитщеславии смысл своей жизни, хотя, между прочим, это вообще-то порок :-)В то же время, иногда плюсы могут перевешивать минусы:
Keysigning party целесообразна в крупных сообществах, где у народа часто возникает необходимость писать малознакомым лицам. Количество часто используемых социальных контактов, да ещё и тех, которые способны работать с PGP, редко превышает десяток человек, при этом ещё меньшая часть контактов может ответственно аутентифицировать и подписывать чужие ключи с пониманием происходящего. В этом случае разумней каждый раз заново устанавливать доверие к каждому контакту, сверяя подписи или пользуясь телефонным звонком, благо что нужно это не чаще раза в год [лично мой опыт].
Но это же не решает вопросы типа "предъявления незаинтересованным лицом времён отправки всех сообщений через его сервер" => неотрицаемость. Если как адресат, так и админ независимо подтверждают эти времена отправки, а адресат ещё и раскрывает содержимое переписки, чем поможет формально-математическое PFS? Я намекаю на то, что полноценная PFS может не быть чисто криптографической задачей, равно как и вопросы стеганографии. Можно условно назвать всё такое побочное "социалкой", которая в ряде случае полностью обесчестит любой криптопротокол, даже не злонамеренно :)
Приватным ключом в jabber будет что-то наподобие f(секрет_меня-сервера,мой jid)? Как я понял, личностная криптография эффективней в системах, где часто требуется писать контактам, малоизвестным отправителю, в случае же постоянной online-переписки абонентов удобней будет использовать именно OTR.
комментариев: 9796 документов: 488 редакций: 5664
Ну это же изврат :) Формально старые протоколы OpenPGP создавались по идеологии "sign-then-encrypt" и только недавно стали появляться возгласы в сторону проектирования неочевидных протоколов "encrypt-then-sign" и не в контексте OpenPGP, а чисто теоретически.
Нет. Там по-умолчанию (и рекомендуется настраивать всегда именно так) — совместная генерация ключа по Диффи-Хеллману в реальном времени. После сенса ключ уничтожается.
Ключ, который у вас в конфиге — это для подписи этих сеансовых ключей, чтобы не было атаки человека посредине, когды вы совместно с сервером генерируете ключ. Для https также. В Tor ещё. В интерактивных протоколах как-раз это свойство легко достигается. Проблема только в неинтерактивных (почте).
А если канал связи — анонимный? Логов как-таковых нет.
С плюсами и минусами согласен, уже на прикладное социологическое исследование тянет :)
Повторяю только главный плюс: проект разработки открытого софта, там эта идеология идеальна для распространения пакетов и даже сборки и проверки целостности всего дистрибутива.
Здесь не совсем так. Здесь нет привязки к центральному серверу аутентификации, которому нужно было бы доверять. Каждый сам себе УЦ и генерирует пару для связи с абонентом, которую мог бы использовать и он. Но чтобы не плодить кучу ключей пара будет иметь вид Alice-Bob, Alice-XXX и т.д. И Элис может всегда потом сказать "невиноватая я, он сам подписал".
комментариев: 11558 документов: 1036 редакций: 4118
Если речь о защите от пересылки, то предпочтительнее encrypt-sign-encrypt.
комментариев: 1515 документов: 44 редакций: 5786
Это, наверно, эквивалентно следующему: Алиса и Боб используют один и тот же PGP-ключ, оба имея доступ к приватному. Тогда каждый из них всегда может обвинить другого в "подделывании" сообщения. Аналогично можно сделать и для группы контактов, где все друг другу доверяют.
Вопрос родился из соображений "что даст атакующему владение ключом, который лежит в /etc/ssh". Значит, ответ есть "ничего не даёт в случае отсутствия активного вмешиваетельства в канал с использованием MITM".
Ссылка для информации: обсуждение того "что делать" с неотрицаемостью ведётся здесь.
комментариев: 9796 документов: 488 редакций: 5664
Аналогично вышеупомянутые ring-signatures.
Как данная атака сможет быть применена при использовании связки GPG и Tor?