Co sprawia, że ​​breloki OpenPGP są godne zaufania?

1

Zacząłem czytać książkę Linux From Scratch i w pierwszych kilku rozdziałach musisz pobrać źródła wszystkich pakietów oprogramowania, których będziesz potrzebować podczas instalacji. Książka zawiera md5sums do „sprawdzenia”, czy pobieranie działa, ale z punktu widzenia bezpieczeństwa nie jest to oczywiście wystarczające.

Ponieważ duża część instalacji LFS uczy się, jak to działa, zdecydowałem, że chcę zweryfikować podpisy dla moich źródłowych plików archiwalnych (lub przynajmniej kilku z nich). Udałem się więc do serwera GNU FTP ( https://ftp.gnu.org/) i wymagają one pobrania ich kluczy, z ftp://ftp.gnu.org/gnu/gnu-keyring.gpgktórych zawierają klucze publiczne wielu programistów do weryfikacji podpisów tarball.

Moje pytanie brzmi: co sprawia, że ​​ten brelok jest godny zaufania? O ile widzę (i zakładam, że coś przeoczę), wciąż istnieje jeden punkt awarii, a mianowicie serwer FTP GNU. Jeśli atakujący przejmie kontrolę nad tym serwerem, może po prostu dołączyć swój własny klucz publiczny do klucza, a następnie zacząć podpisywać własne złośliwe pliki archiwalne, prawda?

Czy sam klucz jest podpisany innym kluczem publicznym należącym do projektu GNU, czy brakuje mi jeszcze innej warstwy bezpieczeństwa?

PawkyPenguin
źródło

Odpowiedzi:

1

Zasadniczo klucze są sprawdzane w OpenPGP przez sieć zaufania. Jest to sieć składająca się z różnych kluczy i certyfikatów wydanych między nimi. Postępując zgodnie z takimi ścieżkami (zwanymi ścieżkami zaufania), możesz rozszerzyć zestaw kluczy, którym ufasz.

Zawsze potrzebujesz pewnego rodzaju kotwicy zaufania: musisz mieć pewność co do niektórych kluczy, które już sprawdziłeś. Często odbywa się to na konferencjach, na których odbywają się główne strony podpisujące. Możesz także ufać niektórym serwerom (na przykład opartym na szyfrowaniu transportowym), ale tego właśnie nie chcesz robić.

Oprócz wyraźnego zaufania istnieje także koncepcja „TOFU”: zaufanie przy pierwszym użyciu . Osoba atakująca z trudem będzie w stanie zapewnić zmanipulowane pakiety oprogramowania przez różne kanały dystrybucji i przez długi czas. Spróbuj znaleźć źródła klucza, którego już używasz (na przykład w dystrybucji Linuksa, którą ściągnąłeś lata temu lub na starych dyskach DVD z magazynami komputerowymi). Czy istnieją kopie hostowane w repozytoriach oprogramowania, które nie podlegają bezpośredniej kontroli oryginalnego projektu? Czy archive.org wymienia klucz OpenPGP od lat? Zapytaj znajomych, czy mają ślady kluczy. Większość dystrybucji Linuksa zawiera cały zestaw kluczy używanych do podpisywania oprogramowania.

Nie jest to nic łatwego do zrobienia i wymaga sporo pracy, ale jeśli chcesz poprawnie zweryfikować podpis, nie ma innej drogi.

Jens Erat
źródło