Điểm:2

Tại sao mọi người sử dụng các giao thức như PGP, khi TLS đã tồn tại?

lá cờ bv

TLS là giao thức mật mã tiêu chuẩn trên internet và nhiều trang web sử dụng nó để bảo mật thông tin liên lạc của họ. Tuy nhiên, đối với mục đích sử dụng cá nhân, hầu hết mọi người sử dụng các giao thức khác như PGP, thay vì sử dụng khóa/chứng chỉ TLS.

Dường như không có lý do gì để không sử dụng TLS cho những thứ này hoặc ít nhất là phần mã hóa/ký. Phần vận chuyển của TLS không phải lúc nào cũng cần thiết vì mọi người có những nhu cầu khác nhau.

Vậy tại sao mọi người lại sử dụng PGP (và các giao thức/công cụ khác như age/signify) thay vì sử dụng trực tiếp các khóa TLS? Có bất kỳ lý do kỹ thuật tại sao họ không làm điều đó?

kelalaka avatar
lá cờ in
Từ infosec; [PGP có lợi ích gì trong thế giới thực khi gửi email bằng SSL/TLS, chẳng hạn như với HTTPS?](https://security.stackexchange.com/q/74728/86735) Rất nhiều thông tin chi tiết cũng có trong nhận xét.
Agniva Chaudhuri avatar
lá cờ bv
@kelalaka Trang đó không giải quyết được.Tôi đang hỏi về mã hóa đầu cuối bằng khóa TLS bằng cách sử dụng giao thức TLS nếu có, không phải hệ thống mà bên ngoài vẫn có thể xem thông tin liên lạc bằng văn bản rõ ràng. Ngoài ra, một loạt nội dung được đề cập trong trang đó liên quan đến các tiện ích mở rộng cho giao thức TLS/các triển khai cụ thể; ví dụ: tôi không hiểu tại sao ai đó không thể vô hiệu hóa quay lại SSL nếu TLS không được hỗ trợ.
dave_thompson_085 avatar
lá cờ cn
Phần lớn việc sử dụng PGP (đặc biệt là GPG), và có lẽ là tất cả của signify, là dành cho **phân phối phần mềm**, mà tôi không gọi là cá nhân. Máy chủ TLS đủ để cung cấp tải xuống hàng gigabyte cho hàng triệu hoặc hàng tỷ người dùng chỉ có thể được cung cấp bởi các công ty độc quyền khổng lồ, nhưng các tác giả khác muốn sử dụng và chia sẻ nhiều máy chủ (máy nhân bản) khác nhau để cung cấp tải xuống song song, phân tán với giá rẻ và hiệu quả, trong khi người dùng muốn biết bản tải xuống của họ không bị gương thay đổi. TLS không thể làm điều đó. Ngoài ra, một số hệ thống hoàn toàn không có quyền truy cập mạng và cần dữ liệu trên đĩa; một lần nữa không có TLS.
dave_thompson_085 avatar
lá cờ cn
Để làm rõ, bạn không thể thực hiện TLS nếu không có 'phần vận chuyển'; TLS là một giao thức tương tác và không thể hoạt động nếu không có giao tiếp hai chiều, thời gian thực.
Agniva Chaudhuri avatar
lá cờ bv
@dave_thompson_085 có thể loại bỏ phần mã hóa/ký và sử dụng phần đó như PGP không?
Swashbuckler avatar
lá cờ mc
TLS được thiết kế cho hai bên đang tích cực giao tiếp với nhau. PGP được thiết kế để một bên mã hóa dữ liệu và sau đó các bên khác giải mã dữ liệu đó vào một thời điểm không xác định trong tương lai. Các vấn đề khác nhau không có gì đáng ngạc nhiên dẫn đến các giải pháp khác nhau.
Maarten Bodewes avatar
lá cờ in
Trên thực tế, bạn cũng có thể sử dụng PGP để mã hóa tại chỗ hoặc mã hóa cho nhiều bên cùng một lúc. Nó cũng phụ thuộc vào một PKI khác (có một số vấn đề, nhưng PKIX chắc chắn có vấn đề riêng).
Agniva Chaudhuri avatar
lá cờ bv
Trên thực tế, bây giờ tôi nghĩ về nó, có nghĩa là TLS không được sử dụng cho việc này. TLS liên quan đến việc kết hợp khóa chung của một bên và khóa riêng của bên kia cho cả hai bên, điều không cần thiết phải thực hiện đối với việc sử dụng PGP-esque.
Điểm:6
lá cờ fr

Đây là các giao thức khác nhau và chúng phục vụ các mục đích khác nhau.

TLS là một giao thức trực tuyến giữa hai bên khác nhau. Nó được thiết kế để đảm bảo tính bảo mật của kết nối giữa hai điểm cuối của kết nối. Kết nối là tạm thời và cả hai bên phải trực tuyến cùng lúc với đủ băng thông.

OpenPGP là một giao thức ngoại tuyến. Nó có thể được sử dụng để mã hóa dữ liệu giữa hai bên có thể không bao giờ trực tuyến cùng một lúc. Thông thường hơn, nó được sử dụng để ký dữ liệu để phân phối phần mềm (hoặc các mục đích sử dụng khác) bởi một bên, dữ liệu này sau đó sẽ được các bên khác nhận và xác minh sau đó.

Nếu muốn sử dụng các khóa và chứng chỉ X.509 được dùng cho TLS, bạn có thể sử dụng CMS, đây cũng là một giao thức ngoại tuyến. Về cơ bản, nó ít phổ biến hơn trong cộng đồng nguồn mở vì thông thường các chứng chỉ được yêu cầu có khung thời gian ngắn hơn và chúng thường tốn tiền, dẫn đến việc áp dụng giảm.

Trong nhiều trường hợp, câu trả lời là cả hai đều là một ý kiến ​​hay. Nói chung, bạn nên cung cấp tất cả các kết nối HTTP qua TLS ngày nay và nếu bạn đang phân phối phần mềm, có thể bạn sẽ muốn sử dụng một số loại chữ ký điện tử để xác minh tính toàn vẹn của nó. TLS rất quan trọng để ngăn tiết lộ dữ liệu được truyền trong trường hợp dữ liệu nhạy cảm (vì lý do pháp lý hoặc lý do khác) và chữ ký số (ví dụ: qua OpenPGP) có nghĩa là kẻ tấn công có thể xâm phạm bộ lưu trữ của máy chủ từ xa không thể phân phối phần mềm đã sửa đổi , miễn là khóa được lưu trữ ở nơi khác.

dave_thompson_085 avatar
lá cờ cn
CMS/PKCS7 được sử dụng để ký mã trong Microsoft, Apple và Java (hiện tại ít cần thiết hơn khi các applet và 'triển khai' đã bị loại bỏ). Ngoài ra đối với các tệp PDF (có thể là loại mã, nhưng thường thì không). Và tất nhiên S/MIME (CMS nhúng trong MIME) được sử dụng cho email bảo mật, đặc biệt là của Microsoft (Outlook/Exchange). Tôi không biết liệu những thứ này có được tính là 'giống như PGP' hay không.
bk2204 avatar
lá cờ fr
Tôi đã chỉnh sửa để phản ánh rằng tình huống là cả hai đều là giao thức ngoại tuyến.
Maarten Bodewes avatar
lá cờ in
Tôi nghĩ rằng bạn đã cố gắng truy cập phần nhiều người nhận trong phần thứ 3 của câu trả lời, nhưng sau đó lại thoát ra khỏi phần đó khi bạn viết "đã nhận bởi một bên khác". Các chữ ký này có thể được xác thực bởi bất kỳ bên nào, trong khi TLS hoàn toàn là từ đầu đến cuối, tức là 1:1 thay vì 1:N. Tôi nghĩ đó là một sự khác biệt quan trọng. Tương tự, bạn có thể mã hóa cho nhiều người nhận.
Điểm:0
lá cờ in

bk2204 đã đưa ra câu trả lời chi tiết chính xác giải thích rằng chúng là các giao thức khác nhau cho các mục đích khác nhau. TLS đang trực tuyến và PGP/GPG đang ngoại tuyến.

Tuy nhiên, tôi sẽ tranh luận trong nhiều trường hợp TLS thực sự làm cho PGP trở nên dư thừa. PGP ban đầu được thiết kế để bảo mật email nhưng nó hiếm khi được sử dụng cho mục đích đó và ngày nay chủ yếu được sử dụng để xác minh tính xác thực và tính toàn vẹn của phần mềm.

Lý do PGP không hiệu quả lắm là vì hầu hết người dùng không thiết lập một trang web đáng tin cậy. Chúng tôi không tham gia các bên ký khóa và xác minh các khóa được sử dụng để xác minh các khóa được sử dụng để xác minh phần mềm. Hầu hết người dùng nhận được khóa PGP mà họ tin tưởng để ký phần mềm bằng cách tải khóa xuống từ một trang web đáng tin cậy. Bản thân điều này được bảo mật bằng TLS và được xác thực bằng CA đáng tin cậy.

Khi phân phối phần mềm đặc biệt, PGP về cơ bản không cung cấp bảo mật nếu bạn chỉ tải xuống khóa từ cùng một trang web. Các trang web mái vòm chỉ xuất bản hàm băm của các tệp. Vì vậy, bạn có thể xác minh ngay cả khi được phục vụ riêng. Bạn tin tưởng hàm băm vì bạn tin tưởng TLS chứ không phải

Với trình quản lý gói PGP trên TLS mang lại một số bảo mật khi chúng tôi ghi nhớ các khóa. Người dùng thêm phần mềm bằng khóa hiện có thường xuyên hơn là thêm khóa mới. Ngay cả khi các khóa thực sự được nhận qua TLS.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.