pass - Der Passwortmanager

Für pass benötigt man zuerst einen OpenPGP-Schlüsselpaar. Um pass zu beschleunigen ist ed25519 die beste Wahl ohne Abstriche bei der Sicherheit zu machen.

# apt install gnupg2 pass git

GnuPG

Wenn wir den Key „pass“ nennen wollen, dann erzeugt man den entsprechenden Key via:

# gpg2 --quick-generate-key pass ed25519 cert

Bitte eine sichere Passphrase verwenden.

pub   ed25519 2021-01-07 [C]
      99C1FA7F341B508A6EE882785CE163206D5B2DD3
uid                      pass

Wir sehen, dass es ein Public-Key (99C1FA7F341B508A6EE882785CE163206D5B2DD3) gibt die zum Erstellen von Zertifikaten vorhanden ist, erkennbar an dem [C]

Nur mit diesem Private-Key um Certificates zu erstellen, ist pass nicht zufrieden, denn es möchte Daten auch verschlüsseln.

# gpg2 --quick-add-key 99C1FA7F341B508A6EE882785CE163206D5B2DD3 cv25519 encrypt

Wir sehen nun, dass es einen Sub-Key gibt, der zum Verschlüsseln zur Verfügung steht, erkennbar an dem [E]:

# gpg2 --list-key 99C1FA7F341B508A6EE882785CE163206D5B2DD3
pub   ed25519 2021-01-07 [C]
      99C1FA7F341B508A6EE882785CE163206D5B2DD3
uid        [uneingeschränkt] pass
sub   cv25519 2021-01-07 [E]

Einen Key zum Signieren, wie es bei Emails nötig wäre, benötigen wir bei pass nicht. Es reicht wenn die Passwörter verschlüsselt sind.

Das witzige dabei ist, dass nun jemand ein Passwort einem unterjubeln kann, denn der Sub-Key zum Verschlüsseln ist für Jeden verwendbar. Nur ist die Entschlüsselung nicht möglich. Theoretisch wäre es mit einer Signatur möglich so ein Unterjubeln zu entdecken.

pass init

pass kann nun seinen Storage erzeugen, denn es gibt nun einen PGP-Key dafür:

# pass init 99C1FA7F341B508A6EE882785CE163206D5B2DD3

Es ist praktischer, wenn man Änderungen später nachvollziehen kann und alte Passwörter wieder einsehen kann. Aus diesem Grunde empfiehlt es sich aus dem Passwort-Storage ein git-Repository zu erzeugen.

# pass git init