Рейтинг:2

Почему люди используют такие протоколы, как PGP, когда TLS уже существует?

флаг bv

TLS — это стандартный криптографический протокол в Интернете, и многие веб-сайты используют его для защиты своих коммуникаций. Однако для личного использования большинство людей используют другие протоколы, такие как PGP, вместо использования ключей/сертификатов TLS.

Кажется, нет никаких причин не использовать TLS для этих целей или, по крайней мере, в части шифрования/подписи. Транспортная часть TLS нужна не всегда, поскольку у людей разные потребности.

Так почему же люди используют PGP (и другие протоколы/инструменты, такие как age/signify), а не напрямую используют ключи TLS? Есть ли какая-то техническая причина, по которой они этого не делают?

kelalaka avatar
флаг in
Из инфосек; [Какие реальные преимущества PGP имеет по сравнению с отправкой электронной почты с SSL/TLS, например, с HTTPS?](https://security.stackexchange.com/q/74728/86735) Много подробностей также есть в комментариях.
Agniva Chaudhuri avatar
флаг bv
@kelalaka Эта страница не решает эту проблему.Я спрашиваю о сквозном шифровании с помощью ключей TLS с использованием протокола TLS, где это применимо, а не о системе, в которой внешняя сторона все еще может видеть сообщения в открытом виде. Кроме того, куча вещей, упомянутых на этой странице, включает расширения протокола/конкретных реализаций TLS; например, я не понимаю, почему кто-то не может просто отключить откат к SSL, если TLS не поддерживается.
dave_thompson_085 avatar
флаг cn
Значительная часть использования PGP (особенно GPG) и, вероятно, все значимое, используется для **распространения программного обеспечения**, которое я не называю личным. Серверы TLS, достаточные для предоставления гигабайтных загрузок многим миллионам или миллиардам пользователей, могут позволить себе только гигантские монополии, но другие авторы хотят использовать и совместно использовать множество различных серверов (зеркал) для обеспечения параллельных, распределенных загрузок дешево и эффективно, в то время как пользователи хотите знать, что их загрузка не была изменена зеркалом. TLS не может этого сделать. Кроме того, некоторые системы вообще не имеют доступа к сети и нуждаются в данных на дисках; опять нет TLS.
dave_thompson_085 avatar
флаг cn
Чтобы уточнить, вы не можете использовать TLS без «транспортной части»; TLS — это интерактивный протокол, который не может работать без двунаправленной связи в реальном времени.
Agniva Chaudhuri avatar
флаг bv
@ dave_thompson_085 можно ли убрать часть шифрования/подписи и использовать ее как PGP?
Swashbuckler avatar
флаг mc
TLS предназначен для двух активно взаимодействующих сторон. PGP предназначен для того, чтобы одна сторона шифровала данные, а затем другие стороны расшифровывали эти данные в какой-то неизвестный момент в будущем. Разные проблемы неудивительно приводят к разным решениям.
Maarten Bodewes avatar
флаг in
На самом деле, вы также можете использовать PGP для шифрования на месте или шифровать для нескольких сторон одновременно. Это также зависит от другой PKI (с которой есть некоторые проблемы, но у PKIX, безусловно, есть свои проблемы).
Agniva Chaudhuri avatar
флаг bv
На самом деле, теперь, когда я об этом думаю, становится понятно, что TLS для этого не используется. TLS включает в себя объединение открытого ключа одной стороны и закрытого ключа другой для обеих сторон, что не нужно делать для использования в стиле PGP.
Рейтинг:6
флаг fr

Это разные протоколы, и они служат разным целям.

TLS — это онлайн-протокол между двумя разными сторонами. Он предназначен для обеспечения безопасности соединения между двумя конечными точками соединения. Соединение является эфемерным, и обе стороны должны быть в сети одновременно с достаточной пропускной способностью.

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

Если вы хотите использовать ключи и сертификаты X.509, используемые для TLS, вы можете использовать CMS, который также является автономным протоколом. Он значительно менее популярен в сообществе открытого исходного кода, потому что, как правило, требуемые сертификаты имеют более короткие сроки и часто стоят денег, что приводит к снижению уровня внедрения.

Во многих случаях ответ заключается в том, что оба варианта являются хорошей идеей. Как правило, в наши дни вы должны обслуживать все HTTP-соединения через TLS, и если вы распространяете программное обеспечение, вы, вероятно, захотите использовать какую-то цифровую подпись для проверки его целостности. TLS важен для предотвращения раскрытия передаваемых данных, если они конфиденциальны (по юридическим причинам или иным образом), а цифровая подпись (например, через OpenPGP) означает, что злоумышленник, который может скомпрометировать хранилище удаленного сервера, не может распространять модифицированное программное обеспечение. , при условии, что ключ хранится в другом месте.

dave_thompson_085 avatar
флаг cn
CMS/PKCS7 используется для подписи кода в Microsoft, Apple и Java (последнее требуется реже, поскольку апплеты и «развертывание» были исключены). Также для PDF-файлов (которые могут быть чем-то вроде кода, но обычно нет). И, конечно же, S/MIME (CMS, встроенная в MIME) используется для защиты электронной почты, особенно Microsoft (Outlook/Exchange). Я не знаю, считаются ли они «подобными PGP».
bk2204 avatar
флаг fr
Я отредактировал, чтобы отразить, что ситуация такова, что оба они являются автономными протоколами.
Maarten Bodewes avatar
флаг in
Я думаю, вы пытались перейти к части с несколькими получателями в 3-м разделе вашего ответа, но затем снова отказались от этого, когда написали «получено другой стороной». Эти подписи могут быть проверены любой стороной, в то время как TLS является строго сквозным, то есть 1:1 вместо 1:N. Я думаю, это важное отличие. Точно так же вы можете зашифровать для нескольких получателей.
Рейтинг:0
флаг in

bk2204 дал правильный подробный ответ, объяснив, что это разные протоколы для разных целей. TLS в сети, а PGP/GPG в автономном режиме.

Однако я бы сказал, что во многих случаях TLS действительно делает PGP избыточным. Первоначально PGP был разработан для защиты электронной почты, но редко используется для этого и в основном используется сегодня для проверки подлинности и целостности программного обеспечения.

Причина, по которой PGP не очень эффективна, заключается в том, что большинство пользователей не создают сеть доверия. Мы не ходим на стороны, подписывающие ключи, и не проверяем ключи, используемые для проверки ключей, используемых для проверки программного обеспечения. Большинство пользователей получают ключи PGP, которым они доверяют, для подписи программного обеспечения, загружая ключ с надежного веб-сайта. Это само по себе защищено с помощью TLS и аутентифицировано с использованием доверенного центра сертификации.

При распространении специального программного обеспечения PGP практически не обеспечивает безопасности, если вы только что скачали ключ с того же веб-сайта. Веб-сайты Dome просто публикуют хэш файлов. Таким образом, вы можете проверить, даже если подается отдельно. Вы доверяете хешу, потому что доверяете TLS, а не

С менеджерами пакетов PGP поверх TLS обеспечивает некоторую безопасность, поскольку мы запоминаем ключи. Пользователи добавляют программное обеспечение с существующим ключом чаще, чем добавляют новый ключ. Даже если ключи действительно были получены по TLS.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.