aboutsummaryrefslogtreecommitdiff
path: root/doc/class-assignment/idee/gewaehlte_implementation.tex
diff options
context:
space:
mode:
authoraxtloss <axtlos@getcryst.al>2024-02-26 21:23:40 +0100
committeraxtloss <axtlos@getcryst.al>2024-02-26 21:23:40 +0100
commit9631d1f9d985e4436d2b138f5f83e7a7e9602be8 (patch)
tree7f511aeb4b48a9705e79eb6cec322407e5530b68 /doc/class-assignment/idee/gewaehlte_implementation.tex
parent995fac7e0ce325ada75a6f921926b1f923e28dd0 (diff)
downloadfsverify-9631d1f9d985e4436d2b138f5f83e7a7e9602be8.tar.gz
fsverify-9631d1f9d985e4436d2b138f5f83e7a7e9602be8.tar.bz2
Add assignment paper
Diffstat (limited to 'doc/class-assignment/idee/gewaehlte_implementation.tex')
-rw-r--r--doc/class-assignment/idee/gewaehlte_implementation.tex15
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/class-assignment/idee/gewaehlte_implementation.tex b/doc/class-assignment/idee/gewaehlte_implementation.tex
new file mode 100644
index 0000000..38f5b5c
--- /dev/null
+++ b/doc/class-assignment/idee/gewaehlte_implementation.tex
@@ -0,0 +1,15 @@
+\subsection{Gewählte Implementation}
+Im anbetracht existierender Dateiverifizierungsprogrammen wie Androids dm-verity und mein vorheriges, ähnliches Projekt \href{https://github.com/linux-immutability-tools/FsGuard}{FsGuard}.
+\\
+Für die Implementation habe ich die Blockverifizierung ausgewählt, da sie durch Multithreading sehr schnell sein kann, aber auch neue Datein bemerkt, welches die Per-Datei Verifizierung nicht gewährleistet.
+\\
+Um die Hashes zu Speichern wird ein eigenes Partitionsschema benutzt, welches alle Metadaten und die Datenbank beinhaltet. Der minisign öffentliche Schlüssel kann durch mehrere Methoden gespeichert werden, wie einer Textdatei oder einem gerät welches über USB-Serial den Schlüssel übergibt.
+\\
+Weitere Eintscheidungen für die Implementation sind:
+\begin{itemize}
+\item Programmiersprache: go\\
+ go ist mir vertraut und memory safe, welches für die Sicherheit des Programmes eine große Rolle spielt.
+\item Datenbank: bbolt\\
+ bbolt ist eine Datenbank welche direkt in go geschrieben wurde und somit ein Robusteren API als sqlite hat, zudem ist bbolt unter einer richtigen lizens lizensiert und wirkt moderner.
+\end{itemize}
+