AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Sicherheitskonzept auf dem Prüfstand
Thema durchsuchen
Ansicht
Themen-Optionen

Sicherheitskonzept auf dem Prüfstand

Ein Thema von Meflin · begonnen am 10. Okt 2007 · letzter Beitrag vom 23. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

Sicherheitskonzept auf dem Prüfstand

  Alt 10. Okt 2007, 13:43
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

  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#2

Re: Sicherheitskonzept auf dem Prüfstand

  Alt 10. Okt 2007, 13:57
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: Sicherheitskonzept auf dem Prüfstand

  Alt 10. Okt 2007, 13:59
Zitat von Phoenix:
Security through obscurity ist ein Konzept, das von vorneherein zum Scheitern verurteilt ist.
Ach ne, erzähl

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]

  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: Sicherheitskonzept auf dem Prüfstand

  Alt 13. Okt 2007, 12:01
So, zum besseren Verständnis habe ich jetzt noch eine kleine Graphik gebastelt



  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#5

Re: Sicherheitskonzept auf dem Prüfstand

  Alt 13. Okt 2007, 13:23
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.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#6

Re: Sicherheitskonzept auf dem Prüfstand

  Alt 13. Okt 2007, 14:08
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
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#7

Re: Sicherheitskonzept auf dem Prüfstand

  Alt 13. Okt 2007, 14:28
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.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#8

Re: Sicherheitskonzept auf dem Prüfstand

  Alt 13. Okt 2007, 16:12
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
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#9

Re: Sicherheitskonzept auf dem Prüfstand

  Alt 23. Okt 2007, 09:08
Jetz aber mal langsam - 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!

  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#10

Re: Sicherheitskonzept auf dem Prüfstand

  Alt 23. Okt 2007, 09:39
Hi Meflin,

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
Frederik
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 Uhr.
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