Nie znam się na GnuPG i próbuję zrozumieć, jak najlepiej go używać. Przejrzałem krótkie, łatwe do zrozumienia wyjaśnienie GPG / PGP dla osób nietechnicznych? , ale większość przewodników wyjaśnia PGP z perspektywy pojedynczej maszyny.
Chcę używać GnuPG na trzech urządzeniach komputerowych: komputerze z systemem Linux, laptopie z systemem Linux i telefonie z Androidem.
Podstawowym przypadkiem użycia jest szyfrowanie / deszyfrowanie wiadomości e-mail zarządzanych przez usługę IMAP, więc wszystkie urządzenia potrzebują tego samego klucza prywatnego do odszyfrowania.
Myślę, że moje wybory to:
Po prostu skopiuj wszystkie moje klucze do kluczy na każdym urządzeniu i do ochrony polegaj głównie na haśle klucza prywatnego.
Utwórz klucz główny (przy pomocy --gen-key), aby reprezentować moją tożsamość, a następnie utwórz osobny klucz jednorazowy (ponownie przy użyciu --gen-key) do szyfrowania / deszyfrowania wiadomości e-mail i podpisany za pomocą klucza głównego. Ten pierwszy znajduje się tylko na moim komputerze, drugi jest dystrybuowany do każdego urządzenia. Dopóki moje urządzenia mobilne nie zostaną naruszone, klucz jednorazowy pozostaje ważny.
Mogę być zbyt paranoikiem i komplikować to bardziej, niż to musi być, ale żartuj, proszę. Wierzę, że nie wkładam wszystkich jajek do jednego koszyka.
Kluczem głównym powinna być moja cyfrowa tożsamość. Dużo wysiłku zostanie włożone w budowanie zaufania wokół tej tożsamości i wolę cierpieć z powodu niedogodności związanych z moją paranoją, niż stracić swój klucz z nieostrożności i muszę budować zaufanie wokół nowego klucza głównego (być może nie jest tak źle, jak ja myśl, ale jestem nowy w tym) .
Bardziej prawdopodobne jest, że stracę laptopa lub telefon niż komputer. Jeśli utrata == kompromis, wolałbym stracić jednorazową parę kluczy (którą mogę odwołać) niż moją główną parę kluczy. Zawsze mogę obdarzyć zaufaniem mojego klucza głównego nowy klucz jednorazowy.
Przepraszam za bardzo długie pytanie. :-)
TL; DR
Czy hasło wystarcza do przechowywania mojego głównego klucza prywatnego na wielu urządzeniach?
Czy mój plan dotyczący opcji nr 2 jest wykonalny? Czy coś źle zrozumiałem, czy można to poprawić?
Jeśli opcja 2 jest złym pomysłem, to jakie są najlepsze praktyki korzystania z GnuPG dla jednego użytkownika na wielu urządzeniach?
Jako ktoś, kto również nie lubi pojedynczych punktów awarii (w tym kluczy głównych, a zwłaszcza haseł), właśnie tak bym to zrobił. Pozwala to na działanie urządzeń za pośrednictwem sieci zaufania, a jednocześnie pozwala na zdecentralizowaną tożsamość.
Nie wiem, czy istnieje już do tego system, ale myślę, że prawdopodobnie mógłby zostać scrobbowany wraz z zadaniem cron i kilkoma liniami Bash.
W tym systemie masz dwie klasy kluczy: klucze urządzeń i ramy czasowe . Jedna para kluczy urządzenia jest generowana dla użytkownika na każdym urządzeniu i pozostaje na tym urządzeniu przez cały okres jego użytkowania. Ramy czasowe parę kluczy jest generowana przez centralny serwer w rutynowych odstępach czasu (co miesiąc, codziennie, co godzinę - zależy jak paranoidalny chcesz być). Klucz publiczny jest ogłaszany publicznie (sam serwer ma własną parę kluczy urządzeń do podpisywania), a klucz prywatny jest dystrybuowany zaszyfrowany kluczem publicznym każdego urządzenia, które ma mieć dostęp do tego klucza. (Ta dystrybucja powinna być jak najbardziej prywatna, np. Mieć bezpośrednie połączenie urządzeń z serwerem).
Do podpisywania wiadomości używasz klucza urządzenia z dowolnego urządzenia, z którego wysyłasz wiadomość. Jeśli ktoś chce wysłać Ci wiadomość, może ją podpisać przy użyciu bieżącego publicznego klucza ramy czasowej. (Powinny mieć zautomatyzowany system, aby nadążać za ogłoszeniami). Następnie możesz odczytać ich wiadomość z dowolnego urządzenia.
Aby odczytać starsze zaszyfrowane wiadomości, kopie zapasowe starszych kluczy czasowych są zapisywane na każdym urządzeniu zgodnie z odpowiednią strategią (w tym na serwerze generującym klucze czasowe, jeśli chcesz - ponownie, w zależności od poziomu paranoi), gdzie masz inny zestaw chronionych hasłem par kluczy chroniących starsze klucze (z taką ilością haseł w miarę upływu czasu, jak wygodnie zapamiętujesz).
Jeśli urządzenie zostanie skradzione lub w inny sposób naruszone, możesz użyć innego z publicznie zaufanych urządzeń, aby utworzyć publicznie podpisaną wiadomość weryfikującą Twoją tożsamość (w jakikolwiek sposób, np. Informując, że będziesz na spotkaniu publicznym i / lub zaufany przyjaciel zweryfikuje Cię osobiście) i unieważniając zainfekowany klucz urządzenia oraz wszelkie klucze ram czasowych, do których miał dostęp. Odwołując klucz, usuwasz również skradzione urządzenie z listy zaufanych urządzeń serwera (z hasłem i kluczem zaufanego urządzenia).
Zasady ufania nowo ogłoszonym kluczom urządzeń powinny być podobne do obecnych zasad zaufania - uważam, że odpowiednią zasadą jest ufanie serwerowi generującemu, urządzeniu mobilnemu i dużemu i ciężkiemu urządzeniu, ponieważ trudno je ukraść / infiltrować telefon użytkownika, komputer stacjonarny i VPS w skoku uzgodnionym, zanim użytkownik zauważy.
Jeśli Twój serwer jest zagrożony, po prostu odwołaj go, wykonując tę samą procedurę, co w przypadku każdego innego urządzenia, które zostało przejęte (być może z silniejszą polityką podobną do zasady dodawania nowego urządzenia) i użyj ponownie zabezpieczonego lub całkowicie nowego serwera (z nowy klucz urządzenia)).
źródło