Security: Github ersetzt "komplexes" PGP für NPM-Signaturen

Beim Verteilen von Software über zentrale Paketquellen gibt es nur einige wenige Wege, die Integrität der erhaltenen Pakete zu überprüfen. Dazu gehören einerseits Hashwerte sowie andererseits auch kryptografische Signaturen der Pakete. Für Letzteres setzen die meisten Projekte wie auch Linux-Distributionen auf PGP. Für die Node.js-Pakete von NPM ist damit aber bald Schluss, wie Github ankündigt, das das NPM-Repository nach einer Übernahme betreibt.
In der Ankündigung dazu(öffnet im neuen Fenster) heißt es: "Bis heute mussten sich NPM-Benutzer auf einen mehrstufigen Prozess verlassen, um die Signatur von NPM-Paketen zu validieren. Dieser PGP-basierte Prozess war sowohl komplex, erforderte von den Benutzern aber auch Kenntnisse über kryptografische Werkzeuge, was zu schlechten Erfahrungen führte."
Als Ersatz für PGP dienen Signaturen auf Basis von ECDSA, die Github für alle NPM-Pakete neu erzeugt. Zur Schlüsselverwaltung kommt ein HSM zum Einsatz. Zur Überprüfung der Signaturen wurde ein einfacher Befehl für das NPM-Kommandozeilenwerkzeug umgesetzt. Zu der Abkehr von PGP heißt es: "Entwickler, die sich auf den bestehenden Prozess verlassen, sollten bald damit beginnen, den neuen Befehl 'Audit Signatures' zu verwenden. Die PGP-Schlüssel laufen Anfang nächsten Jahres ab, weitere Details folgen."
Github arbeitet bereits länger daran, das NPM-Ökosystem besser abzusichern. Dazu gehört auch die Einführung eines Systems zur Zweifaktorauthentifizierung (2FA) der Paketbetreuer. Um dies zu vereinfachen, ist für npm login und npm publish eine Authentifizierung über das Web möglich, ab NPM 9 soll dies Standard werden. Zur späteren Wiederherstellung eines NPM-Accounts kann dieser nun außerdem mit Github- oder Twitter-Konten verbunden werden. Das soll auch eine Art öffentliche Verifizierung ermöglichen.