Wie viel Sicherheit ist in einer eingebetteten Datenbank erforderlich?

September 17

Datenbanksymbol mit einem Schild

Der traditionelle Ansatz für das Datenmanagement bestand darin, über eine stark zentralisierte Datenbank-Engine für große Eisenunternehmen zu verfügen, die unzählige Sicherheitsoptionen zum Speichern vertraulicher Daten unterstützt. Mit diesen Enterprise-Engines haben Sie die Wahl zwischen Authentifizierung, Berechtigungen, Verschlüsselung und anderen Optionen zum Schutz Ihrer Daten. Solange Sie einen Datenbankadministrator haben, der diese Optionen versteht und sie ordnungsgemäß konfigurieren kann, was nicht so einfach ist, wie es sich anhört, können Ihre Daten gesichert werden. Daten tauchen jedoch allmählich aus dem Rechenzentrum auf und gelangen zu den äußeren Knoten des Netzwerks.

Auf vielen Geräten auf dem äußeren Knoten wird keine Hardware ausgeführt, die mit einem vollwertigen Unternehmens-DBMS mit einer Reihe von Sicherheitsoptionen kompatibel ist oder ausgeführt werden kann. Diese äußeren Knoten beginnen, sich auf eingebettete Datenbank-Engines zu verlassen. Während eingebettete Datenbank-Engines beginnen, Unternehmensdatenbanksystemen zu ähneln, die keine Unternehmensdatenbanksysteme sind und keine Unternehmensdatenbanksysteme sein sollten. Dies ist eine Tatsache, auf die mein Kollege Randy Merilatt in seinem Artikel eloquent hingewiesen hat "Ist die Verwendung von SQL in einer eingebetteten Computeranwendung so, als würde man versuchen, einen ELEFANTEN in einen MINI zu pressen?". Was kann ein Entwickler tun, wenn er Daten in einer eingebetteten Datenbank hat, für die ein gewisses Maß an Sicherheit erforderlich ist?

Ein gängiger Sicherheitsansatz von Embedded-Datenbank-Engines war die Unklarheit. Eine eingebettete Datenbank ist normalerweise in die Interna einer Anwendung eingebettet, und nur die Anwendung hat Einblick in die in der Datenbank gespeicherten Daten. Sicherheit durch Dunkelheit ist nicht wirksam, wenn sie die einzige verfügbare Sicherheitsmaßnahme ist. Es ist einfach genug, Datei-E / A zu überwachen und festzustellen, wo auf dem Dateisystem ein eingebettetes Datenbankmodul Daten schreibt. Ein ausreichend motivierter Angreifer kann jedes Klartext-Dateiformat zurückentwickeln und lernen, wie die gespeicherten Daten interpretiert werden. Da eingebettete Datenbanken die Merkmale ihrer Unternehmensbrüder angenommen haben, haben sie außerdem begonnen, den Fernzugriff zuzulassen. Mit der Möglichkeit, remote auf Daten zuzugreifen, wurde auch die Notwendigkeit einer Authentifizierung eingeführt.

RDM bietet die Möglichkeit, Datenbankinhalte durch Hinzufügen einer Verschlüsselung auf Datenbankebene zu sichern. Die Implementierung der Verschlüsselung in RDM ermöglicht sowohl die Authentifizierung als auch die Verschleierung, obwohl Anwendungen, für die keine Authentifizierung erforderlich ist, die Verschlüsselung in ihrer Anwendung auf eine Weise implementieren können, die dies nicht erfordert. Da unsere Engine in einer Vielzahl von Anwendungen verwendet wird, die auf einer Vielzahl von Hardware ausgeführt werden, haben wir die Verschlüsselungsfunktion so konzipiert, dass sie flexibel, aber fokussiert ist. Bereitstellung einer robusten Sicherheit, um die Anforderungen eingebetteter Anwendungen und Geräte zu erfüllen, ohne den für eine Enterprise-Engine erforderlichen Rechen- und Personalaufwand.

Um dieses Ziel zu erreichen, entschied sich Raima für die Verwendung der AES-Verschlüsselung für unsere Datensicherheitslösung. Es gibt mehrere Gründe, warum AES eine gute Wahl für Raima ist.

  • Es ist ein Industriestandard und ein hochsicherer Algorithmus
  • Es ermöglicht mehrere Schlüsselgrößen (128, 192 und 256 Bit), um unseren Kunden die Flexibilität zu geben, zwischen höherer Sicherheit und höherer Leistung zu wählen.
  • Als symmetrische Schlüsselblockverschlüsselung stimmt die Anzahl der Eingabebits mit der Anzahl der verschlüsselten Datenbits überein
  • Zur Validierung einer AES-Implementierung stehen öffentliche Testdaten zur Verfügung
  • Es ermöglicht Raima, ein Maß an Verschleierung und Authentifizierung bereitzustellen

Die Verschlüsselungsimplementierung von Raima bietet eine Verschleierung der Daten, indem alle auf die Festplatte geschriebenen Daten (einschließlich Protokolldateien) verschlüsselt werden. Selbst wenn ein Angreifer die Datei-E / A überwacht, um festzustellen, welche Dateien von einer Anwendung aktualisiert werden, kann er den Inhalt dieser Dateien ohne den richtigen Verschlüsselungsschlüssel nicht interpretieren. Sie müssen nicht nur den richtigen Verschlüsselungsschlüssel kennen, sondern auch genau wissen, wie die Dateien verschlüsselt sind. Aus Gründen der Leistung und Zweckmäßigkeit werden die Datenbankdateien nicht als Ganzes verschlüsselt, sondern in einzelnen Blöcken verschlüsselt. Wenn Sie eine Zeile in einer Tabelle aktualisieren, aktualisiert die Engine nur den Teil der Datei, der den bestimmten Verschlüsselungsblock enthält, in dem die Zeile gespeichert ist. Diese Sicherheitsstufe kann verhindern, dass ein Angreifer die Datenbankdateien rückentwickelt, um den Inhalt zu ermitteln. Es wird jedoch nicht das Risiko beseitigt, dass ein Angreifer die Anwendung zum Lesen der Daten verwendet oder eine Anwendung mit der RDM-Laufzeit zum Lesen der Daten schreibt. Hier spielt die Authentifizierung eine Rolle für die Sicherheit.

Um eine verschlüsselte RDM-Datenbank zu erstellen, wird der Entwickler aufgefordert, einen Verschlüsselungspasscode anzugeben. Dieser Passcode wird durch einen Einweg-Hash geführt, um einen Verschlüsselungsschlüssel zu erstellen. Dieser Verschlüsselungsschlüssel wird verwendet, um den zufällig generierten Schlüssel zu verschlüsseln, der zum Verschlüsseln des gesamten Datenbankinhalts verwendet wird. Einfach ausgedrückt, ohne den ursprünglichen Passcode ist es unmöglich, den Datenbankinhalt zu lesen. Jede Anwendung, die eine verschlüsselte Datenbank lesen möchte, muss den richtigen Passcode angeben. Dies umfasst alle RDM-Dienstprogrammanwendungen sowie alle vom Entwickler bereitgestellten Anwendungen. Bei Verwendung einer verschlüsselten Datenbank kann ein Entwickler sicher sein, dass nur autorisierte Benutzer Zugriff auf die in der eingebetteten RDM-Datenbank gespeicherten Daten haben.

Lerne mehr über Raimas Verschlüsselung

Get notified about new RDM updates

Be the first to know about new Raima Database Manager updates when they go live, use cases, industry trends and more.