Access 2007 Verschlüsselung

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von kinobi.

    Access 2007 Verschlüsselung

    Hallo,

    kann ich eine Access 2007 Datenbank (.accdb), welche mit einem starken Kennwort verschlüsselt ist als sicher betrachten oder ist es trivial das Kennwort zu entschlüsseln. Bis Access 2003 (.mdb) ist es ja sehr einfach den Kennwortschutz auszuhebeln.
    Gibt es Unterschiede bezüglich diesem Schutz zwischen Access 2007 und Access 2010 oder ist das Schutzlevel identisch?

    Gruß
    Dirk
    Nein

    Es gibt im Internet etliche Tools die dabei helfen "vergessene" Access Passworter zu löschen oder auszulesen.

    Abgesehen davon, kann jeder mit ein klein bisschen Grundwissen das Access Passwort aus deiner Anwendung holen. Da wird es sicherlich irgendwo einen Connection String geben der wiederum auch das Passwort enthällt.

    Per ILSpy zb lässt sich sowas leicht umsetzen. Desswegen auch niemals Passwörter im Quellcode hinterlegen ;)
    Ich habe bisher kein Tool gefunden welches die Verschlüsselung ab 2007 aushebeln kann. Kannst Du mir da ein Beispiel nennen?
    Das Passwort zu verstecken ist nochmal eine andere Baustelle bei der ich ehrlich gesagt auch nicht wirklich weiß wie ich das bewerkstelligen soll.
    Warum nicht ein Dataset vwerwenden?

    Mit der WritetoXML Funktion kannst du das Dataset komplett abspeichern.

    Mit der entsprechenden Read Funktion wieder einlesen...

    Die so erzeugte XML Datei kannst du dann mit einem eigenen Verschlüsselungsalgorythmus verschlüsseln oder auf die im Framework vorhadenen zurückgreifen.

    Damit bist du zumindest nicht darauf angewiesen dich darauf zu verlassen wie Microsoft Daten verschlüsselt und wie sicher das ganze dann ist.
    So richtig hilft mir die Antwort nicht weiter. Ist es nicht so, dass ab Access 2007 die DB nach AES Standard verschlüsselt wird und diese doch sehr sicher ist? Das lässt sich doch nicht einfach so aushebeln. Einem Brute-Force-Angriff entgegne ich mit einem starken Passwort. Oder täusche ich mich da? Jetzt mal unabhängig davon wie ich das Passwort verschlüssele.
    Recovery methods used by Access Password:

    Instant Password Extraction (all versions through Access 2003) <----kein Access 2007 oder 2010 mehr
    Brute Force Attack (Access 2007, 2010)
    Dictionary Attack (Access 2007, 2010)
    Smart Force Attack (Access 2007, 2010)
    Password Variation (Access 2007, 2010)

    Ja kann es...aber eben auch nur nach dem TryAndError Prinzip. Bei nem starken Passwort dauert es Jahre bis das Programm damit fertig ist.
    Prima! Wenn ich nun kein Kennwort bei Veröffentlichung mit im Quellcode oder sonstwo mit ausliefere, sondern das Kennwort bei Erstinstallation selber eingebe (ohne, dass jemand anderes es erfährt) und dieses Kennwort in die app.config speicher und sofort mit der ProtectSection-Methode (DPAPI) auf Maschinenebene verschlüssele sollte das ganze doch relativ sicher sein. (Ich gehe davon aus, dass ein Angriff nicht auf dem System geschieht auf dem das Programm benutzt werden soll). Mit dieser Methode könnte ich dann ja auch empfindliche Zugänge relativ geschützt in der Access DB ablegen. Mir geht es darum ein möglichst sicheres System zu schaffen welches auch schützt wenn sich jemand mit ILSpy den Quellcode rekonstruiert. Natürlich gibt es keinen 100%igen Schutz, aber ich versuche sensible Daten so gut es geht zu schützen und ein Konzept zu finden mit dem ich auch unter VB.NET Daten relativ sicher vor unberechtigtem Zugriff schütze. So sollte es doch auch geschützt sein wenn Jemand alle relevanten Dateien kopiert und versucht sich auf einem anderen System, als dem dafür vorgesehenen, Zugang dazu zu verschaffen.