![]() |
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:
So :) Da ich nun wahrlich kein Krypto-Experte bin würde es mich freuen eure Bedenken/Verbesserungsvorschläge oder sonstiges zu hören :stupid: |
Re: Sicherheitskonzept auf dem Prüfstand
Zitat:
|
Re: Sicherheitskonzept auf dem Prüfstand
Zitat:
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] |
Re: Sicherheitskonzept auf dem Prüfstand
|
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. |
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 |
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. |
Re: Sicherheitskonzept auf dem Prüfstand
Zitat:
Gruß Hagen |
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! |
Re: Sicherheitskonzept auf dem Prüfstand
Hi Meflin,
Zitat:
Gruß winkel79 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz