Finished software verification
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
This commit is contained in:
parent
6c39b0466f
commit
a2bd0662df
2 changed files with 25 additions and 2 deletions
|
|
@ -2,7 +2,7 @@
|
|||
title: "Wie mache ich Smartphone backups?"
|
||||
author: "w1ntermute"
|
||||
type: "blog"
|
||||
date: 2024-03-09
|
||||
date: 2024-03-12
|
||||
subtitle: ""
|
||||
image: ""
|
||||
tags: [backups,blog]
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
title: "Warum Software vor der benutzung verifiziert werden muss"
|
||||
author: "w1ntermute"
|
||||
type: "blog"
|
||||
date: 2024-09-21
|
||||
date: 2024-04-01
|
||||
subtitle: ""
|
||||
image: ""
|
||||
tags: [verification,blog]
|
||||
|
|
@ -50,4 +50,27 @@ Andere bieten torrent dateien an. Hier kann gar nicht gesteuert werden woher die
|
|||
## Wie davor schützen?
|
||||
Die vorher genannten Appstore schützen uns nur solange, wie unser Angriffszenario keinen Geheimdienst beinhaltet. Denn diese können ja per dekret änderungen vornehmen. Deswegen gibt es für Software wie z.B. tails andere möglichkeiten.
|
||||
|
||||
Die fertige Software wird hierbei unterzeichnet. Das heißt, wir können überprüfen wer diese Software ausgestellt hat und ob diese seit der Unterzeichnung nicht mehr verändert wurde. Dies passiert über ein sogenannten asynchrones verschlüsselungsverfahren. Hierbei wird mithilfe von RSA oder Edwardskurven eine Signaturdatei erstellt vom hashwert der Software. Das heißt, sollte auf dem weg die Software verändert worden sein, sollte sich auch der hashwert ändern.
|
||||
|
||||
Ein Hashwert ist hierbei ein Wert, der von einer Funktion errechnet wird. Wir geben also unsere Software in diese Funktion und es entsteht dabei ein Wert. Dieser wert kann nur duch diese Software erstellt werden. Jede kleine änderung an der Software sorgt für einen erheblichen unterschied dieses Hashwerts.
|
||||
|
||||
```
|
||||
w1ntermute@w1ntermute ~/Downloads> sha1sum firefox/firefox-bin
|
||||
f269a997b730a7abf454c457f1b279887322002f firefox/firefox-bin
|
||||
```
|
||||
|
||||
So sieht das z.B. für meine firefox version aus.
|
||||
|
||||
Asynchrone verschlüsselung bedeutet hierbei, dass wir mit einem privaten Schlüssel einen Wert errechnen von diesem Hash, denn jede Person mit dem öffentlichen Schlüssel überprüfen kann. Und nur dieser eine private Schlüssel kann diesen Wert erstellen. Eigentlich verschlüsseln wir hier den vorher erstellten hash mit diesem privaten Schlüssel. Und mit dem öffentlichen entschlüsseln wir diesen und können dadurch die unversehrtheit überprüfen.
|
||||
|
||||
Damit können wir sicherstellen, wer die Software ausgestellt hat und das diese auf den Weg zu uns nicht verändert wurde.
|
||||
|
||||
Aber woher wissen wir wirklich wer die Software erstellt hat? Jede Person kann diese Schlüssel erstellen.
|
||||
|
||||
## Web of Trust
|
||||
Diese Schlüssel kommen in ein Schlüsselverzeichnnis welches öffentlich einsehbar ist. Dadurch können alle Personen auf der Welt diese einsehen. Also auch wie viele Schlüssel es gibt und wie viele davon erstellt wurden. Zusätzlich haben diese Schlüssel informationen wie z.B. den Namen und welche E-Mailadresse zu diesem Schlüssel gehören. So ist ersichtlich, ob z.B. eine Person gerade konkuriende Schlüssel besitzt. Damit nun sichergestellt werden kann, dass dieser Schlüssel wirklich zu der dort beschriebenen Person passt, können andere Personen mit Schlüssel nun unterzeichnen, ob sie diesem Schlüssel trauen und diesen Analog in der Welt überprüft haben. Dadurch steigt das vertrauen in diesen Schlüssel. Das heißt, dass Software von Sclüsseln unterzeichnet werden sollte, die ein hohes vertrauen unter Personen haben.
|
||||
|
||||
Dadurch, kann selbst wenn der Server der die Software ausliefert im falle eines hacks keine Software ausliefern. Denn diese verfügt nicht über den Schlüssel mit dem hohen vertrauen. Auch der wechsel des Schlüssels würde auffallen.
|
||||
|
||||
Deswegen ist es wichtig, immer beides zu überprüfen. Den Hashwert also die checksum und die Signatur.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue