Hintergrund:
Von mir gibt es ein Backuptool fuer Raspberries mit dem Namen raspiBackup. Dazu gibt es einen UIInstaller den man sich per curl von meiner Webseite runterladen und aufrufen kann. Sowohl der Installer als auch das eigentliche Backupscript muessen per root aufgerufen werden. Der SW Update kann mit den Scripts vorgenommen werden.
Das Tool gibt es jetzt schon ueber 10 Jahre und hat mittlerweile eine Menge Nutzer gefunden. Es wird Zeit dass ich die beiden Scripts signiere und bei der Installation pruefe ob die Scripts auch von mir stammen um moeglichen Missbrauch zu verhindern.
Erst hatte ich ueberlegt ein Debian Package fuer die 2 Scripts zu bauen und die entsprechenden Signier- und Verifikationsmoeglichkeiten zu nutzen. Zum einen finde ich fuer 2 Scripts ein Paket zu bauen overkill und zum zweiten funktioniert der SW Update nicht mehr so elegant wie bisher.
Somit habe ich mich mal in OpenGPG eingelesen und denke eine Loesung gefunden zu haben. Waere nett wenn sich Leute die sich mit der Thematik auskennen meinen Loesungsweg ansehen wuerden und Feedback geben ob das soweit OK ist oder verbesserungswuerdig oder vielleicht doch ein anderer Weg besser ist.
Vorgehensweise:
1) Ein OpenGPG Key wird von mir erstellt fuer eine eMail
Signieren:
2) Der Public Key wird als ASC exportiert und in meinem git Repo abgelegt
3) Die beiden Scripts werden mit meinem privaten Key signiert und als ASC im git Repo abgelegt
Decrypten:
4) Download des public ASC keys sowie der ASC signierten Scripte vom git
5) Der ASC public Key wird lokal vom von ASC in einen gpg Key 'dearmored'
6) Die ASC Scripts werden lokal von ASC in gpg Scripts 'dearmored'
7) Die beiden Scripts werden mit dem public gpg Key decrypted mit deren public Key Datei
Leider scheint es keine Moeglichkeit zu geben ASC Dateien direkt mit einem ASC Key zu decrypten. Deshalb der Umweg ueber dearmor.
Konkret wuerde das Decrypten wie folgt aussehen:
Any comments welcome
Von mir gibt es ein Backuptool fuer Raspberries mit dem Namen raspiBackup. Dazu gibt es einen UIInstaller den man sich per curl von meiner Webseite runterladen und aufrufen kann. Sowohl der Installer als auch das eigentliche Backupscript muessen per root aufgerufen werden. Der SW Update kann mit den Scripts vorgenommen werden.
Das Tool gibt es jetzt schon ueber 10 Jahre und hat mittlerweile eine Menge Nutzer gefunden. Es wird Zeit dass ich die beiden Scripts signiere und bei der Installation pruefe ob die Scripts auch von mir stammen um moeglichen Missbrauch zu verhindern.
Erst hatte ich ueberlegt ein Debian Package fuer die 2 Scripts zu bauen und die entsprechenden Signier- und Verifikationsmoeglichkeiten zu nutzen. Zum einen finde ich fuer 2 Scripts ein Paket zu bauen overkill und zum zweiten funktioniert der SW Update nicht mehr so elegant wie bisher.
Somit habe ich mich mal in OpenGPG eingelesen und denke eine Loesung gefunden zu haben. Waere nett wenn sich Leute die sich mit der Thematik auskennen meinen Loesungsweg ansehen wuerden und Feedback geben ob das soweit OK ist oder verbesserungswuerdig oder vielleicht doch ein anderer Weg besser ist.
Vorgehensweise:
1) Ein OpenGPG Key wird von mir erstellt fuer eine eMail
Signieren:
2) Der Public Key wird als ASC exportiert und in meinem git Repo abgelegt
3) Die beiden Scripts werden mit meinem privaten Key signiert und als ASC im git Repo abgelegt
Decrypten:
4) Download des public ASC keys sowie der ASC signierten Scripte vom git
5) Der ASC public Key wird lokal vom von ASC in einen gpg Key 'dearmored'
6) Die ASC Scripts werden lokal von ASC in gpg Scripts 'dearmored'
7) Die beiden Scripts werden mit dem public gpg Key decrypted mit deren public Key Datei
Leider scheint es keine Moeglichkeit zu geben ASC Dateien direkt mit einem ASC Key zu decrypten. Deshalb der Umweg ueber dearmor.
Konkret wuerde das Decrypten wie folgt aussehen:
Bash:
gpg --batch --yes --dearmor raspiBackup_pub.asc # erstellt .asc.gpg aus dem pub key
gpg --batch --yes --dearmor raspiBackup.sh.asc # erstellt .asc.gpg fuer die scripts
gpg --batch --yes --no-default-keyring --keyring /home/framp/raspiBackup/keys/raspiBackup_pub.asc.gpg --output raspiBackup.sh --decrypt raspiBackup.sh.asc.gpg # decrpted die scripts
Any comments welcome