Score:2

เหตุใดผู้คนจึงใช้โปรโตคอลเช่น PGP ในเมื่อมี TLS อยู่แล้ว

ธง bv

TLS เป็นโปรโตคอลการเข้ารหัสมาตรฐานบนอินเทอร์เน็ต และเว็บไซต์จำนวนมากใช้โปรโตคอลนี้เพื่อความปลอดภัยในการสื่อสาร อย่างไรก็ตาม สำหรับการใช้งานส่วนตัว คนส่วนใหญ่ใช้โปรโตคอลอื่น เช่น PGP แทนการใช้คีย์/ใบรับรอง TLS

ดูเหมือนจะไม่มีเหตุผลใดที่จะไม่ใช้ TLS สำหรับสิ่งเหล่านี้ หรืออย่างน้อยก็ในส่วนของการเข้ารหัส/การเซ็นชื่อ ส่วนการขนส่งของ TLS ไม่จำเป็นเสมอไป เนื่องจากผู้คนมีความต้องการที่แตกต่างกัน

เหตุใดผู้คนจึงใช้ PGP (และโปรโตคอล/เครื่องมืออื่นๆ เช่น age/signify) แทนที่จะใช้คีย์ TLS โดยตรง มีเหตุผลทางเทคนิคใดหรือไม่ที่ทำเช่นนั้น

kelalaka avatar
in flag
จากอินโฟเซค; [PGP มีประโยชน์อะไรในโลกแห่งความเป็นจริงมากกว่าการส่งอีเมลด้วย SSL/TLS เช่น HTTPS](https://security.stackexchange.com/q/74728/86735) ความคิดเห็นก็มีรายละเอียดมากมายเช่นกัน
Agniva Chaudhuri avatar
bv flag
@kelalaka หน้านั้นไม่สามารถแก้ไขได้ฉันถามเกี่ยวกับการเข้ารหัสจากต้นทางถึงปลายทางด้วยคีย์ TLS โดยใช้โปรโตคอล TLS ที่เกี่ยวข้อง ไม่ใช่ระบบที่บุคคลภายนอกยังคงเห็นการสื่อสารข้อความที่ชัดเจน นอกจากนี้ สิ่งต่างๆ มากมายที่กล่าวถึงในหน้านั้นเกี่ยวข้องกับส่วนขยายของโปรโตคอล TLS/การใช้งานเฉพาะ ตัวอย่างเช่น ฉันไม่เห็นว่าทำไมบางคนไม่สามารถปิดการใช้งานการย้อนกลับไปใช้ SSL หาก TLS ไม่ได้รับการสนับสนุน
dave_thompson_085 avatar
cn flag
การใช้งาน PGP จำนวนมาก (โดยเฉพาะ GPG) และอาจหมายถึงทั้งหมดนั้นมีไว้สำหรับ **การแจกจ่ายซอฟต์แวร์** ซึ่งฉันไม่เรียกว่าเป็นส่วนตัว เซิร์ฟเวอร์ TLS เพียงพอที่จะให้การดาวน์โหลดระดับกิกะไบต์แก่ผู้ใช้หลายล้านหรือพันล้านคนเท่านั้นที่สามารถหาซื้อได้โดยการผูกขาดขนาดใหญ่ แต่ผู้เขียนรายอื่นต้องการใช้และแบ่งปันเซิร์ฟเวอร์ที่แตกต่างกันจำนวนมาก (มิเรอร์) เพื่อให้การดาวน์โหลดแบบขนานแบบกระจายราคาถูกและมีประสิทธิภาพ ในขณะที่ผู้ใช้ ต้องการทราบว่าการดาวน์โหลดของพวกเขาไม่ได้ถูกแก้ไขโดยมิเรอร์ TLS ไม่สามารถทำเช่นนั้นได้ แถมบางระบบก็ไม่สามารถเข้าถึงเครือข่ายได้เลย และต้องการข้อมูลในดิสก์ อีกครั้งไม่มี TLS
dave_thompson_085 avatar
cn flag
เพื่อชี้แจง คุณไม่สามารถทำ TLS ได้หากไม่มี 'ส่วนการขนส่ง' TLS เป็นโปรโตคอลแบบโต้ตอบและไม่สามารถทำงานได้หากไม่มีการสื่อสารแบบสองทิศทางแบบเรียลไทม์
Agniva Chaudhuri avatar
bv flag
@dave_thompson_085 เป็นไปได้ไหมที่จะนำส่วนการเข้ารหัส/การลงนามออก แล้วใช้สิ่งนั้นเช่น PGP
Swashbuckler avatar
mc flag
TLS ได้รับการออกแบบมาสำหรับสองฝ่ายที่สื่อสารกันอย่างจริงจัง PGP ได้รับการออกแบบมาสำหรับฝ่ายหนึ่งเพื่อเข้ารหัสข้อมูล จากนั้นฝ่ายอื่น ๆ เพื่อถอดรหัสข้อมูลนั้น ณ จุดที่ไม่รู้จักในอนาคต ปัญหาที่แตกต่างกันไม่ได้ส่งผลให้เกิดการแก้ปัญหาที่แตกต่างกัน
Maarten Bodewes avatar
in flag
ที่จริงแล้ว คุณสามารถใช้ PGP สำหรับการเข้ารหัสแบบแทนที่ได้เช่นกัน หรือเข้ารหัสสำหรับหลายฝ่ายพร้อมกัน นอกจากนี้ยังขึ้นอยู่กับ PKI ที่แตกต่างกัน (ซึ่งมีปัญหาบางอย่าง แต่ PKIX มีปัญหาของตัวเองอย่างแน่นอน)
Agniva Chaudhuri avatar
bv flag
จริงๆ แล้วตอนนี้ฉันคิดได้แล้ว มันสมเหตุสมผลแล้วที่ TLS ไม่ได้ใช้สำหรับสิ่งนี้ TLS เกี่ยวข้องกับการรวมคีย์สาธารณะของฝ่ายหนึ่งและคีย์ส่วนตัวของอีกฝ่ายหนึ่งสำหรับทั้งสองฝ่าย ซึ่งเป็นสิ่งที่ไม่ควรทำสำหรับการใช้งานแบบ PGP
Score:6
ธง fr

สิ่งเหล่านี้เป็นโปรโตคอลที่แตกต่างกันและมีจุดประสงค์ที่แตกต่างกัน

TLS เป็นโปรโตคอลออนไลน์ระหว่างสองฝ่าย ได้รับการออกแบบมาเพื่อรับรองความปลอดภัยของการเชื่อมต่อระหว่างจุดสิ้นสุดสองจุดของการเชื่อมต่อ การเชื่อมต่อเป็นแบบชั่วคราวและทั้งสองฝ่ายต้องออนไลน์พร้อมกันด้วยแบนด์วิธที่เพียงพอ

OpenPGP เป็นโปรโตคอลออฟไลน์ สามารถใช้เพื่อเข้ารหัสข้อมูลระหว่างสองฝ่ายที่อาจไม่เคยออนไลน์ในเวลาเดียวกัน โดยทั่วไปจะใช้เพื่อลงนามข้อมูลสำหรับการแจกจ่ายซอฟต์แวร์ (หรือการใช้งานอื่น ๆ) โดยฝ่ายหนึ่งซึ่งฝ่ายอื่นได้รับและตรวจสอบในภายหลัง

หากคุณต้องการใช้คีย์ X.509 และใบรับรองที่ใช้สำหรับ TLS คุณสามารถใช้ CMS ซึ่งเป็นโปรโตคอลแบบออฟไลน์ได้เช่นกัน เป็นที่นิยมน้อยกว่ามากในชุมชนโอเพ่นซอร์ส เนื่องจากโดยทั่วไปแล้วใบรับรองที่ต้องการจะมีกรอบเวลาที่สั้นกว่าและมักมีค่าใช้จ่าย ซึ่งนำไปสู่การนำไปใช้ที่ลดลง

ในหลายกรณี คำตอบคือทั้งสองอย่างเป็นความคิดที่ดี โดยทั่วไป คุณควรให้บริการการเชื่อมต่อ HTTP ทั้งหมดผ่าน TLS ในปัจจุบัน และหากคุณกำลังเผยแพร่ซอฟต์แวร์ คุณอาจต้องการใช้ลายเซ็นดิจิทัลบางประเภทเพื่อตรวจสอบความถูกต้อง TLS เป็นสิ่งสำคัญในการป้องกันการเปิดเผยข้อมูลที่ถ่ายโอนในกรณีที่ข้อมูลนั้นละเอียดอ่อน (ด้วยเหตุผลทางกฎหมายหรืออย่างอื่น) และลายเซ็นดิจิทัล (เช่น ผ่าน OpenPGP) หมายความว่าผู้โจมตีที่สามารถบุกรุกที่เก็บข้อมูลของเซิร์ฟเวอร์ระยะไกลไม่สามารถแจกจ่ายซอฟต์แวร์ที่แก้ไขได้ โดยมีเงื่อนไขว่าคีย์จะถูกเก็บไว้ที่อื่น

dave_thompson_085 avatar
cn flag
CMS/PKCS7 ใช้สำหรับการเซ็นชื่อโค้ดใน Microsoft, Apple และ Java (ล่าสุดไม่จำเป็นต้องใช้อีกต่อไป เนื่องจากแอปเพล็ตและ 'การปรับใช้' ได้ถูกทิ้งไปแล้ว) นอกจากนี้สำหรับ PDF (ซึ่งสามารถเป็นรหัสได้ แต่โดยปกติแล้วจะไม่ใช่) และแน่นอนว่า S/MIME (CMS ที่ฝังอยู่ใน MIME) ใช้สำหรับอีเมลที่ปลอดภัย โดยเฉพาะโดย Microsoft (Outlook/Exchange) ฉันไม่รู้ว่าสิ่งเหล่านี้นับเป็น 'ชอบ PGP' หรือไม่
bk2204 avatar
fr flag
ฉันได้แก้ไขเพื่อให้เห็นว่าสถานการณ์เป็นโปรโตคอลออฟไลน์ทั้งคู่
Maarten Bodewes avatar
in flag
ฉันคิดว่าคุณพยายามเข้าถึงส่วนผู้รับหลายคนในส่วนที่ 3 ของคำตอบของคุณ แต่จากนั้นก็ถอยกลับอีกครั้งเมื่อคุณเขียนว่า "รับโดยบุคคลอื่น" ลายเซ็นเหล่านี้สามารถตรวจสอบได้โดยฝ่ายใดก็ตาม ในขณะที่ TLS เป็นแบบ end-to-end อย่างเคร่งครัด นั่นคือ 1:1 แทนที่จะเป็น 1:N ฉันคิดว่านั่นเป็นข้อแตกต่างที่สำคัญ ในทำนองเดียวกัน คุณสามารถเข้ารหัสสำหรับผู้รับหลายคน
Score:0
ธง in

bk2204 ให้คำตอบอย่างละเอียดโดยอธิบายว่าเป็นโปรโตคอลที่แตกต่างกันสำหรับวัตถุประสงค์ที่แตกต่างกัน TLS กำลังออนไลน์และ PGP/GPG กำลังออฟไลน์

อย่างไรก็ตาม ฉันจะโต้แย้งในหลายกรณีว่า TLS ทำให้ PGP ซ้ำซ้อนจริงๆ เดิมที PGP ได้รับการออกแบบมาเพื่อรักษาความปลอดภัยของอีเมล แต่ไม่ค่อยมีใครใช้สำหรับการนั้น และส่วนใหญ่ในปัจจุบันมีไว้เพื่อตรวจสอบความถูกต้องและความสมบูรณ์ของซอฟต์แวร์

เหตุผลที่ PGP ไม่มีประสิทธิภาพเนื่องจากผู้ใช้ส่วนใหญ่ไม่ได้สร้างเว็บที่น่าเชื่อถือ เราไม่เข้าร่วมฝ่ายลงนามที่สำคัญและตรวจสอบคีย์ที่ใช้ในการตรวจสอบคีย์ที่ใช้ในการตรวจสอบซอฟต์แวร์ ผู้ใช้ส่วนใหญ่ได้รับคีย์ PGP ที่พวกเขาเชื่อถือสำหรับการลงนามซอฟต์แวร์โดยการดาวน์โหลดคีย์จากเว็บไซต์ที่น่าเชื่อถือ สิ่งนี้ได้รับการรักษาความปลอดภัยด้วย TLS และรับรองความถูกต้องโดยใช้ CA ที่เชื่อถือได้

เมื่อแจกจ่ายซอฟต์แวร์เฉพาะกิจ PGP จะไม่มีการรักษาความปลอดภัยหากคุณเพิ่งดาวน์โหลดรหัสจากเว็บไซต์เดียวกัน เว็บไซต์โดมเพิ่งเผยแพร่แฮชของไฟล์ คุณจึงตรวจสอบได้แม้ว่าจะเสิร์ฟแยกกันก็ตาม คุณเชื่อถือแฮชเพราะคุณเชื่อถือ TLS ไม่ใช่แฮช

ด้วยตัวจัดการแพ็คเกจ PGP ที่ด้านบนของ TLS จะให้ความปลอดภัยเมื่อเราจำคีย์ได้ ผู้ใช้เพิ่มซอฟต์แวร์ด้วยรหัสที่มีอยู่บ่อยกว่าที่พวกเขาเพิ่มรหัสใหม่ แม้ว่าจะได้รับคีย์จริงผ่าน TLS

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา