Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Sicherheitskonzept auf dem Prüfstand (https://www.delphipraxis.net/101249-sicherheitskonzept-auf-dem-pruefstand.html)

Meflin 10. Okt 2007 12:43


Sicherheitskonzept auf dem Prüfstand
 
Moin moin,

ich bastel gerade an einer kleinen Zusatzanwendung zu TrueCrypt. Diese soll darauf reagieren, wenn eine SD-Karte, ein USB-Stick o.ä. eingelegt wird und dann mit dem auf diesem Medium vorhandenen Schlüssel ein definiertes Volume automatisch mounten. So weit so gut, von der Umsetzung her sollte das kein Problem sein, da TrueCrypt ja gut über Parameter steuerbar ist.

Allerdings ist mir klar dass dadurch die Sicherheit geschmälert wird, da dann der Besitzer des Mediums mit dem Keyfile ein Volume auch mounten kann, wenn er die verschlüsselte Datei an sich nicht gekannt hätte. Ich halte das aber für vertretbar, denn wenn man sein Keyfile verliert/aus der Hand gibt, ist i.d.R. eh schon alles zu spät.

Um trotzdem so wenig wie möglich Informationen für jemanden preiszugeben der entweder nur im Besitz der Speicherkarte oder nur im Besitz des PCs mit dem Volume und meiner Anwendung ist, habe ich mir folgendes Konzept ausgedacht:
  • Auf der Speicherkarte wird nur eine Datei ********.*** abgelegt, die eine GUID o.ä. enthält. Außerdem befindet sich auf der Karte ein Keyfile, das aber als solches nicht unbedingt ersichtlich sein muss (z.B. irgendein Lied oder ein Word-Dokument).
  • Auf dem PC gibt es eine äquivalente Datei ********.***, die mit Hilfe der GUID der anderen verschlüsselt wurde (z.B. Blowfish, AES o.ä.). Diese verschlüsselte Datei enthält alle notwendigen Informationen wie den Pfad zur Volume-Datei, den Pfad zum Keyfile auf der Speicherkarte, unter welchem Buchstaben das Laufwerk gemountet werden soll etc.
  • Legt man nun die Karte ein wird sie von meiner Anwendung erkannt, die Anwendung entschlüsselt mit der GUID die dazugehörige Datei auf der Festplatte und kann dann TrueCrypt anweisen, das Laufwerk zu mounten.

So :)

Da ich nun wahrlich kein Krypto-Experte bin würde es mich freuen eure Bedenken/Verbesserungsvorschläge oder sonstiges zu hören :stupid:


Phoenix 10. Okt 2007 12:57

Re: Sicherheitskonzept auf dem Prüfstand
 
Zitat:

Zitat von Meflin
Außerdem befindet sich auf der Karte ein Keyfile, das aber als solches nicht unbedingt ersichtlich sein muss (z.B. irgendein Lied oder ein Word-Dokument).

Security through obscurity ist ein Konzept, das von vorneherein zum Scheitern verurteilt ist.

Meflin 10. Okt 2007 12:59

Re: Sicherheitskonzept auf dem Prüfstand
 
Zitat:

Zitat von Phoenix
Security through obscurity ist ein Konzept, das von vorneherein zum Scheitern verurteilt ist.

Ach ne, erzähl :P

Ein Keyfile muss halt irgendwo gespeichert sein - was man als KEyfile benutzt, ist doch völlig egal. Das ist ja auch kein Teil der Sicherheit ;) Alles was ich damit ausdrücken wollte ist, dass die Datei nicht unbedingt Keyfile.txt heißen muss ;)
Jemand, der nur im Besitz des Speichermediums ist, kann nur mit den Informationen, die auf diesem Medium vorhanden sind, jedenfalls nicht auf das Keyfile schließen [wenn der Benutzer, aber das liegt ja in seiner Macht, dies nicht ermöglicht]


Meflin 13. Okt 2007 11:01

Re: Sicherheitskonzept auf dem Prüfstand
 
So, zum besseren Verständnis habe ich jetzt noch eine kleine Graphik gebastelt :)




Dezipaitor 13. Okt 2007 12:23

Re: Sicherheitskonzept auf dem Prüfstand
 
Keyfiles immer nur auf einem externen Medium speichern.
Auch niemals nur Keyfiles alleine verwenden, sondern dazu auch ein Passwort.

Zudem sollte man Truecrypt nicht automatisch starten lassen, sondern durch einen versteckten Link.
Installiere das Programm auch irgendwo anders. Nur nicht in Programmeordner oder gleich auf dem USB unter anderem Namen (z.b. Defragment.exe)

USB Sticks mit Keyfiles sollten auch immer woanders in der Wohnung aufbewahrt werden. Also nicht im selben Zimmer, wo der PC steht. Auch nicht im Keller, auf dem Klo oder im Bad.
Eine besondere gute Alternative ist meiner Meinung nach:
1. ein WLAN. Man kann sich die Keyfiles dann einfach über ein WLAN besorgen. Der Server steht dann irgendwo anders im Haus, beim Nachbar.
2. Internet: Man kann einen externen Server einbinden lassen, der irgendwo im Internet steht. Wenn man dann alle Keyfiles über mehrere Server verteilt, dann hätte man ein Grund ein Programm zu machen, welches das automatisiert jedoch auch für Unbefugte den Zugriff vereinfacht.

Am sichersten ist es immernoch, wenn man Keyfiles gut tarnt und versteckt, und nur der eigene Kopf es weiß. Dann sollte man aber zumindest noch ein Backup haben, falls der eigene Kopf mal versagen sollte.

negaH 13. Okt 2007 13:08

Re: Sicherheitskonzept auf dem Prüfstand
 
Wenn der Anwender deiner APP beim starten eben dieser ein gutes Passwort eingeben muß, dann kannst du das rel. sicher bekommen. Dieses Passwort, bzw. eine Ableitung davon im Zusammenhang mit einem Teil des KeyFiles auf dem Stick wird dann den Rest des Keyfiles laden und entschlüsseln. Darin befindet sich dann ein guter Zufallskey.

Also: Das KeyFile besteht aus Zufall, möglichst gutem Zufall, zb. 1024 Bytes groß. Die ersten 512 Bytes dienen als Salt der im Zusammenhang mit dem eingegebenen Passwort zu einem Sessionkey umgewandelt wird (Hash-KDF). Mit diesem wird dann zb. per AES der zweite 512 Bytes große Teil des KeyFiles verschlüsselt.
Du kannst das dann weiter ausbauen. Zb. wird der 2. Teil a 512 Bytes Zufall mit einem anderen Passwort ebenfalls auf gleiche Weise verschlüselt und hintendran gespeichert. So können 2 Benutzer dieses KeyFile entschlüsseln.

Aber wichtig ist eben das irgendwo durch den Anwender ein Passwort eingegeben werden muß. Sieh zu das bei dieser Eingabe nicht pure Windows-Edit Controls, die das Keyboard benutzen, benutzt werden. Einfach um Trojaner/Keylogger auszuschalten. Zb. eine Kombination aus keyboard und Mausaktionen wäre eventuell geeignet. Dh. ein Ziffernpad dessen Ziffer-Buttons sich zufällig jedesmal anders benennen. Man sollte sich wirklich mal an die Arbeit machen und ein kryptographisch sicheres Keypad bauen dessen Kommunikation mit der Zielsoftware kryptographisch abhörsicher ist. Hm, zb. einen Palm mit Touchscreen ist ne gute Idee.

Gruß Hagen

Dezipaitor 13. Okt 2007 13:28

Re: Sicherheitskonzept auf dem Prüfstand
 
Das keypad wäre dann ausgeschaltet, wenn der Trojaner Screenshots anfertigt.

Vielleicht etwas sicherer wäre es, wenn man die kryptografische Komponente als HW auslagern würde, wie man z.B. bei OnlineBanking machen kann.

negaH 13. Okt 2007 15:12

Re: Sicherheitskonzept auf dem Prüfstand
 
Zitat:

Zitat von Dezipaitor
Das keypad wäre dann ausgeschaltet, wenn der Trojaner Screenshots anfertigt.

Vielleicht etwas sicherer wäre es, wenn man die kryptografische Komponente als HW auslagern würde, wie man z.B. bei OnlineBanking machen kann.

Als extra HW könnte man das sogar ziemlich sicher machen, sogar gegen TEMPEST Angriffe. Die Software weist sich per Kryptographie beim externen Keypad aus, und natürlich umgekehrt. Die Keymap wird dabei ständig per Zufallsmuster variiert das nur durch die Software wieder richtig zugeordnet werden kann. Zusätzlich besäße das Keypad einen Touchscreen der die Anordnung der Tasten jedesmal verändert. Deshalb oben meine Idee eventuell einen Palm Handheld dafür zu mißbrauchen. Mal sehen, es wäre ein interessantes Projekt bei dem ich sogar alle Teile hier liegen habe.

Gruß Hagen

Meflin 23. Okt 2007 08:08

Re: Sicherheitskonzept auf dem Prüfstand
 
Jetz aber mal langsam :stupid: - externe Eingabegeräte wird es mit Sicherheit NICHT dazugeben ;)

Ein Keypad das mit der Maus zu bedienen ist als Passworteingabe ist ja eine ganz nette Idee, nur sehe ich da ein großes Problem: Der Bildschirm ist ja i.d.R. sehr gut einsehbar, auch von anderen, wie soll man da sein PAsswort eintippen und gleichzeitig verhindern, dass jemand anders spickt (Shoulder Surfing)?

Da kann man den Fingern auf der Tastatur wesentlich schwerer folgen...

Aber das mit dem "Multiusersupport" ist eine sehr gute Idee!


Assertor 23. Okt 2007 08:39

Re: Sicherheitskonzept auf dem Prüfstand
 
Hi Meflin,

Zitat:

Zitat von Meflin
So, zum besseren Verständnis habe ich jetzt noch eine kleine Graphik gebastelt :)

offtopic: Womit hast Du die denn gemacht, daß ist ja wirklich brauchbar! Bitte um Info.

Gruß winkel79


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:03 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz