1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Problemstellung:
Oft steht man bei kleineren DB-Lösungen vor dem Problem, das ein Schutz der Tabellen nicht
so richtig möglich ist.
Man möchte das Sicherheitssystem von Access, aufgrund der etwas schwierigen Handhabung
nicht nutzen, aber ein eigene User Lösung schützt den Inhalt der Tabellen nicht.
Auch ein DB-Kennwort im Backend z.B. bringt keinen ausreichenden Schutz.
Leicht kann ein versierter User die Connectstrings im Frontend
auslesen und dort steht das DB-Kennwort im Klartext drin.
Also muss eine Lösung her die es einigermaßen unmöglich macht das jemand mit den Daten
etwas anfangen kann.
Eine Möglichkeit möchte ich hier vorstellen.
Hier im Bsp werden in einer Adresstabelle die Felder "Nachname", "Vorname" und "Ort" verschlüsselt in der Tabelle "tbl_Adressen" gespeichert

Voraussetzungen:
Das Bsp ist ab A00 lauffähig.

Funktionsweise:
Damit das Bsp funktioniert müssen die Dateien tk_Crypto_BE97.mdb und tk_Crypto_BE00.mdb
in das
Verzeichnis „C:\Test“ entpackt werden.

Die Darstellung der Daten im Formular der Bsp-DB ist nur zu Demonstrationszwecken. Im Praxiseinsatz ist nur der linke Teil des Forms erforderlich (rote Felder)




Wie funktioniert das nun?

Im Modul mod_Crypto ist das globale Passwort und die beiden Funktionen zum
Ver- und Entschlüsseln enthalten
.
Ein Sinn in der Benutzung ergibt sich dann nur wenn das Frontend eine MDE-Datei ist.
Die Datenfelder im Form sind ungebunden und werden erst im Ereignis "Beim Anzeigen" gefüllt.
Es gibt jetzt 2 Möglichkeiten, entweder man füllt die Felder mittels eines Recordsets aus der Tabelle
und decodiert die entsprechenden Felder oder man erstellt Felder wie o. im Bild Links (gelbe Felder)
und blendet diese aus.
Ich werde mich hier auf die 2. Variante beschränken, nur das aus Demonstrationszwecken die linken Felder sichtbar sind.

Verschlüsselung:
Die Verschlüsselung erfolgt im Ereignis "Nach Änderung" der Felder "Nachname", "Vorname" und "Ort"
Die rechten Felder haben die Bezeichnungen "Text14", "Text16" und "Text18" und sind ungebunden.
Die linken Felder haben die Bezeichnungen"Nachname", "Vorname" und "Ort" und sind an die Tabelle tbl_Adressen gebunden.

Hier erfolgt der Aufruf der Funktion "EncodeString". Übergeben wird der String, z.B. "Text14"

Private Sub Text14_AfterUpdate()
    Me.Nachname = EncodeString(Me.Text14, cPWD)
End Sub
Private Sub Text16_AfterUpdate()
    Me.Vorname = EncodeString(Me.Text16, cPWD)
End Sub
Private Sub Text18_AfterUpdate()
    Me.Ort = EncodeString(Me.Text18, cPWD)
End Sub


und das globale Passwort "cPWD"
Das Feld "Nachname", das an die Tabelle gebunden ist wird neu codiert und aktualsiert.
Der Inhalt der Tabelle würde so aussehen:

Entschlüsselung:
Die Entschlüsselung erfolgt im Ereignis "Beim Anzeigen des Formulars:

Private Sub Form_Current()
    Me.Text14 = DecodeString(Me.Nachname, cPWD)
    Me.Text16 = DecodeString(Me.Vorname, cPWD)
    Me.Text18 = DecodeString(Me.Ort, cPWD)
End Sub

Hier erfolgt der Aufruf der Funktion "DencodeString". Übergeben wird der codierte String, z.B. "Nachname"
und das globale Passwort "cPWD".
Der decodierte Inhalt des Feldes "Nachname" wird in das ungebundene Feld "Text14" geschrieben.

Zusammenfassung:
Diese Lösung stellt keine ultimative Lösung und schon gar nicht den absoluten Schutz der Daten
dar aber ist eine einfache Alternative.
Einschränkungen wären auf jedenfall bei sehr großen Datenmengen und/oder langsamen Netzwerkverbindungen.
Das Bsp lässt sich natürlich auf weitere Felder beliebig erweitern.

Dateien:

Ver- und Entschlüsseln einzelne Datenfelder

ab A00

Die Zip-Datei enthält eine Version ab A00

Datum 05.02.2018
Dateigröße 82.51 KB
Download 2.303

 

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

Neueste Artikel

Problemstellung:In MS-Access ist es mit Bordmitteln nicht möglich Zeiten über 24 Stunden zu berechnenIn dieser Bsp-DB möchte ich zeigen wie es trotzdem geht. Voraussetzungen:Das Bsp ist ab A2007...
1.png2.png0.png4.png2.png1.png1.png
Heute111
Gestern145
Diese Woche256
Dieser Monat1635
Total1204211

  • IP: 54.92.190.11
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

18. September 2018

Letzte Kommentare

  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...

     
  • Trusted Locations Manager

    Matthias 13.07.2018 06:48
    Funktioniert nicht
    Habe gerade den TL-Manager installiert. Nach dem Start sagt er mir, dass es kein Office erkennen ...

    Weiterlesen...