Announcement

Collapse
No announcement yet.

Verschlüsselung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verschlüsselung

    Hallo,

    Ich habe folgende Frage:
    Meine C#-Applikation greift auf eine MSDE 2000 Datenbank zu. Nun möchte ich die Login-Daten der Datenbank bzw. den Connection string verschlüsseln. Dies habe ich auch mittels den Kryptografie-Klassen von .NET wunderbar hinbekommen (mittels symetrischer Verschlüsselung mit RC2.) Meine Frage ist nun wo ich den Schlüssel zum entschlüsseln des connection strings aufbewaren soll. In der Applikation selber hart codiert ist schließlich nicht grad sinnvoll, da man mit dem .NET Reflector die exe später ja ohne Probleme disassemblern kann.

    Was soll ich also mit dem Schlüssel machen?
    (Ein C#-Beispiel wäre evtl. nicht schlecht)

    Danke.

    Gruß, Andi!

  • #2
    Hallo,
    das Problem würde gar nicht erst auftreten, wenn anstelle des Datenbankbenutzer/Passworts die integrierte Windows-Authentifizierung für den MSDE-Datenbank verwendet wird. In diesem Fall greift der Anwender immer mit seinem Windows-Benutzerkonto auf die Datenbank zu.
    <br>
    Wenn der Schlüssel sicher (außerhalb der Assembly) sein soll, kann er über das DAPI (Data Protection API) von Windows verwahrt werden. Im .NET Framework 2.0-Namespace <i>System.Security.Crypthography</i> ist die Klasse <b>ProtectedData</b> für den Zugriff auf das Crypto API von Windows zuständig. Die Methode <b>Protect</b> verschlüsselt die Daten, wobei als letzter Parameter festgelegt werden kann, ob die Daten nur für das aktuelle Windows-Benutzerkonto (<i>DataProtectionScope.CurrentUser</i>) oder für den Rechner (<i>DataProtectionScope.LocalMachine</i>) gelten soll.
    <br>
    P.S: Beim Rückgriff auf DAPI kann die komplette Verbindungszeichenfolge bzw. das Passwort im Klartext abgelegt werden - das zusätzliche (eigene) Verschlüsseln ist dann nicht mehr notwendig

    Comment


    • #3
      Hallo,

      Genau die Antwort, welche ich gebraucht hab! Vielen Dank!

      Gruß, Andi

      Comment

      Working...
      X