Xác thực tính xác thực chữ ký khóa GPG


2

Tôi đang cố gắng xác nhận tính toàn vẹn của httpd-2.2.17.tar.gzhình ảnh của tôi .
Tôi đã làm theo các bước được viết trong các trang sau:

Nhưng tôi đã nhận:

CẢNH BÁO: Khóa này không được chứng nhận bằng chữ ký đáng tin cậy!
gpg: Không có dấu hiệu cho thấy chữ ký thuộc về chủ sở hữu.

Tôi cần làm gì để xác minh tính xác thực của khóa?

Câu trả lời:


3

Phương tiện xác minh thông thường là liên hệ với chủ sở hữu khóa và yêu cầu anh ấy / cô ấy cung cấp cho bạn (qua điện thoại hoặc gặp trực tiếp) dấu vân tay của họ. Nếu bạn có lý do chính đáng để tin rằng bạn thực sự đang nói chuyện với người được xác định bởi khóa, VÀ nếu dấu vân tay người đó cung cấp khớp với dấu vân tay của khóa bạn có, THÌ bạn có thể khá chắc chắn rằng bạn có khóa công khai thực sự của chủ sở hữu (và KHÔNG phải là khóa giả, được tạo bởi một kẻ mạo danh với mục đích mạo danh người đó).

Khi bạn đã xác minh tính xác thực của khóa đối với sự hài lòng của bạn, bạn nên ký vào khóa chung đó bằng khóa riêng của mình. Khi bạn đã ký khóa, bạn sẽ không còn nhận được những CẢNH BÁO đó nữa, bởi vì bằng cách ký vào khóa, bạn đã cho biết rằng bạn tin rằng khóa là xác thực.


Tôi nên thêm: Thông thường, rất khó hoặc không thể xác minh mạnh mẽ rằng khóa là hợp pháp, đặc biệt khi đó là khóa được cung cấp cho mục đích xác minh gói như được mô tả ở đây. Trong trường hợp này, bạn có thể chỉ cần sử dụng phán đoán tốt nhất của mình xem bạn có tin tưởng tính xác thực của khóa hay không.
Steven Thứ Hai

Cảm ơn bạn đã giải thích tốt đẹp và rõ ràng của bạn. +1. Vì vậy, phương pháp GPG để xác minh tính toàn vẹn của tệp là vô ích, phải không? Tôi nghĩ rằng tôi nên sử dụng SHA1 tốt hơn.
Dor

Đối với xác minh một lần, vâng khá nhiều. Bạn đang tin tưởng khóa PGP / GPG là xác thực hoặc tệp tổng SHA là xác thực. Tuy nhiên, nếu bạn đang theo dõi một dự án trong nhiều năm và nhiều bản phát hành, nếu các bản phát hành hợp pháp đã được ký một cách nhất quán bởi cùng một khóa, thì tôi có xu hướng tin rằng khóa đó có thể là thật.
Steven Thứ Hai

Mặc dù vậy, tôi không thể hiểu tại sao tôi cần xác thực tính xác thực của khóa, nếu tôi tải xuống từ máy chủ của Apache? Tôi tải xuống tệp / hình ảnh để được xác minh từ gương, nhưng các khóa và chữ ký tệp / hình ảnh được tải xuống từ máy chủ của Apache. Tôi sẽ làm điều tương tự để xác minh SHA1, mà không yêu cầu xác minh băm SHA1 hoặc một cái gì đó tương tự ...
Dor

1
Thủ tục được mô tả trong câu trả lời của tôi là phương tiện xác minh chính tắc, nhưng nó không phải là phương thức duy nhất. Nếu bạn hoàn toàn tin tưởng vào nguồn mà bạn đã lấy bản sao của khóa, thì bạn có thể quyết định tin tưởng vào khóa mà không cần xác minh dấu vân tay. (Trên thực tế, hầu hết mọi người có lẽ không bận tâm đến việc xác minh khóa một cách chặt chẽ.) Cuối cùng, bạn hoàn toàn tùy thuộc vào quyết định xem bạn có cảm thấy khóa đó là xác thực hay không. Như tôi đã nói, nếu bạn chỉ sử dụng nó để xác minh một lần, thì sẽ không có lợi ích gì khi sử dụng khóa trên hàm băm SHA1 đã xuất bản.
Steven Thứ Hai

5

Có hai mục đích riêng biệt để xác minh tệp:

  1. A. để bảo vệ chống tham nhũng trong quá trình tải xuống

  2. để bảo vệ chống lại cuộc tấn công MITM , hoặc thậm chí thỏa hiệp máy chủ web nếu khóa pgp riêng chưa bị xâm phạm.

Đối với A, một hàm băm như SHA-1, MD5, ... là quá thỏa đáng. Tuy nhiên, sẽ không có hại khi sử dụng hàm băm hiện đại hơn vẫn được coi là mật mã .

Đối với B, mọi thứ trở nên phức tạp hơn. Để bắt đầu, bạn nên thực hiện tất cả các liên lạc bằng HTTPS (SSL) được chứng nhận chính xác :

https://httpd.apache.org/doad.cgi#verify
https://httpd.apache.org/dev/verification.html#Validating
https://www.apache.org/dist/httpd/KEYS

Bạn thật may mắn, apache không cung cấp quyền truy cập vào trang web của họ.

Bây giờ hãy đánh giá những rủi ro còn lại và những rủi ro nào đã được giảm thiểu. Một cuộc tấn công MITM đơn giản không còn có thể. Tuy nhiên, để thực hiện một cuộc tấn công MITM, kẻ tấn công có thể:

  1. Nhận chứng chỉ cho trang web này từ Cơ quan cấp chứng chỉ bằng cách:

    • lừa họ tin rằng họ sở hữu trang web này và trả tiền cho họ.
    • lừa các trình duyệt chấp nhận chúng như một CA (lưu ý rằng một số chính phủ được đưa vào các trình duyệt như CA và rằng các CA hiện tại có thể ủy thác sự tin tưởng mà họ nhận được cho bên thứ ba mà không có bất kỳ thông báo nào, hãy xem sự cố etaluat ) subCA thực hiện một số điều tồi tệ và CA từ chối thu hồi subCA này sau đó vẫn còn tất cả các trang web được CA chứng nhận hợp pháp, điều này gây áp lực cho các trình duyệt tiếp tục tin tưởng CA.
    • bằng cách đột nhập và đánh cắp khóa riêng của CA
    • bằng cách buộc họ theo luật để làm một chứng chỉ như vậy ( trát đòi hầu tòa )
  2. Lấy cắp khóa riêng của máy chủ gửi dữ liệu.

Wow, điều đó có thể không hoàn hảo, nhưng hãy tưởng tượng phải làm một cái gì đó như thế. Tôi cá là em trai đam mê của bạn ở tầng trên không thường xuyên đi đến đó. Nó tăng đáng kể thanh cho một kẻ tấn công.

Hơn nữa, nếu kẻ tấn công có thể xâm phạm máy chủ của trang web, họ có thể thay đổi tệp cũng như md5, sha1 hoặc các hàm băm khác cũng như các khóa pgp mà nó phục vụ và do đó sẽ không phải thực hiện MITM- tấn công. Tùy chọn cuối cùng này là ưu tiên hàng đầu vì thường vào máy chủ đơn giản hơn là lấy chứng chỉ.

Lưu ý rằng đôi khi băm và các tệp đã tải xuống không được phục vụ từ cùng một vị trí. Trong đó là tốt. Nó sẽ làm phức tạp công việc của một kẻ tấn công. Vì vậy, giả sử tôi có một trang web được chứng nhận https và bạn cung cấp một số tệp để tải xuống. Tôi có thể đề nghị đưa băm của các tệp đó lên trang web của tôi để giúp bạn. Hoặc trong trường hợp apache, các bản tải xuống thực tế nằm trên các gương không có https.

Bây giờ băm là liên kết quan trọng trong xác minh. Lưu ý rằng MD5 đã bị hỏngSHA1 đang trên đường . Thật tệ khi apache vẫn cung cấp những thứ này cho mục đích bảo mật. Nếu vẫn thất bại và cả hai đều có sẵn, hãy kiểm tra cả hai. Một cuộc tấn công va chạm để mang lại cả hai giá trị md5 và sha1 cho hai tệp chưa được phát hiện theo như tôi biết.

Điều gì xảy ra nếu https không có sẵn cho trang web cụ thể. Chà, một tệp được cung cấp cho bạn từ máy chủ đó cũng an toàn như một hàm băm trên trang web (nếu nó nằm trên cùng một máy chủ), hoặc khóa pgp hoặc bất cứ thứ gì khác cho vấn đề đó.

Ngoài https:

Nếu https không đáp ứng nhu cầu bảo mật của bạn ( và thực sự không nên ) hoặc https không có sẵn cho trang web, bạn có thể làm gì?

Sử dụng khóa pgp để xác minh chữ ký có thể cho phép bạn xác minh các tệp nếu bạn có thể nhận được khóa công khai hợp pháp từ người ký. PGP sử dụng một hệ thống được gọi là Web of Trust để xác minh các khóa của nó, trái ngược với Cơ quan cấp chứng chỉ trung tâm được sử dụng trong HTTPS.

Khi bạn bao gồm khóa pgp trong khóa, không nhất thiết phải biết khóa này có thực sự thuộc về id người dùng đi kèm hay không. Để có thể xác minh rằng, người dùng ký vào khóa của nhau sau khi xác minh danh tính của nhau, ví dụ bằng cách gặp mặt trực tiếp hoặc gọi cho người đó. Hơn nữa, có thể xây dựng một chuỗi giữa bạn và nói khóa ký tên apache nếu bạn chưa xác minh chúng trực tiếp nhưng ai đó bạn đã gặp hoặc họ đã gặp ai đó đã ...

Do đó, khi một khóa mới vào khóa của bạn và không có khóa nào khác trong khóa của bạn đã được xác minh đã ký khóa này và bạn thử sử dụng nó, gpg hoặc pgp sẽ đưa ra cảnh báo, giống như các trình duyệt đưa ra cảnh báo nếu bạn lướt đến một trang web https mà chứng chỉ không thể được xác minh.

Ngoài việc tự ký khóa để xác minh rằng đó là hợp pháp, phần mềm có thể tự động chấp nhận nó là hợp lệ nếu một trong những liên hệ đáng tin cậy hoàn toàn của bạn đã ký hoặc 3 liên hệ được tin cậy bên lề đã ký ... Đó là phụ thuộc vào người dùng. Giống như trình duyệt của bạn sẽ âm thầm chấp nhận bất kỳ chứng chỉ SSL nào nếu nó được ký bởi một CA được biết là đáng tin cậy (bởi trình duyệt của bạn).

Tất cả điều này có ý nghĩa gì trong thực tế? Chà, nếu bạn đang ở giữa thế giới đam mê, điều này có thể mang đến cho bạn sự bảo vệ hợp lý. Đối với phần còn lại của thế giới, nó giống như một con quái vật không có xăng.

Đối với người bình thường pgp và web tin cậy có một số vấn đề đáng kể:

  • sử dụng gpg và web tin cậy không đúng cách phá vỡ sự bảo mật của nó
  • sử dụng đúng cách là công cụ khó khăn, phức tạp và miễn phí như gnupg và các mặt trận của nó rất xù xì
  • nếu bạn hoặc phía bên kia không được tin tưởng vào web tin cậy, việc xác minh các khóa là không thể
  • một chuỗi niềm tin thực sự có nghĩa là bạn phải tin tưởng tất cả những người ở giữa. Càng để lâu nó càng kém an toàn. Nếu nói tất cả các liên kết của bạn đến khóa ký tên apache đều thông qua cùng một người có thể thiết lập một cuộc tấn công MITM, thì pgp chỉ đóng vai trò là một cảm giác an toàn sai lầm.
  • Web of Trust giúp nhà chức trách vẽ bản đồ mạng xã hội của bạn giống như facebook.

Tuy nhiên, nó không gặp phải một số hạn chế của https, như pgp không thể thuyết phục được một công ty lấy tiền của bạn và cấp cho bạn một chứng chỉ sẽ đánh lừa cả thế giới. Mặt khác, nó là ít sử dụng đáng kể cho công chúng nói chung. Nó minh họa mức độ đơn giản là yếu tố quyết định chính cho bảo mật.

Tóm lại, điều quan trọng là phải nhận ra rằng HTTPS và PGP không loại trừ lẫn nhau. Không ai ngăn cản bạn cố gắng sử dụng cả hai khả năng tốt nhất của bạn. Điều người ta nên nhận ra là bất kỳ chuỗi bảo mật nào cũng chỉ mạnh bằng liên kết yếu nhất. Giả sử khóa pgp được tải xuống qua https có điểm yếu là pgp và điểm yếu của https. Mỗi liên kết trong một chuỗi thêm điểm yếu của nó vào kết quả.

Tôi sẽ tiếp tục thêm các liên kết thú vị cho câu trả lời này khi tôi khám phá ra chúng.

Xem thêm:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.