15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Arbeiten mit lokalen SQL-Datenbanken in AIR<br />

Damit die Daten nur für einen einzelnen Benutzer auf einem Computer zugänglich sind, generieren Sie den<br />

Verschlüsselungsschlüssel aus einer benutzerspezifischen geheimen Eingabe (zum Beispiel aus einem Kennwort).<br />

Verwenden Sie keinen Wert, der einem bestimmten Computer zugeordnet ist (zum Beispiel ein Wert, der im<br />

verschlüsselten lokalen Speicher gespeichert ist), um den Schlüssel zu generieren. Alternativ dazu können Sie die<br />

Daten auf dem Computer auf Benutzerbasis verschlüsseln und die Daten mit einem Remote-Datenspeicher, zum<br />

Beispiel einem Server, synchronisieren, damit die Daten übertragbar sind.<br />

Damit eine Datenbank nur einer einzelnen Person auf einem einzelnen Computer zugänglich ist, generieren Sie<br />

den Schlüssel aus einem Kennwort und einem „Salt“ (zufällig gewählte Bitfolge). Ein Beispiel für diese<br />

Vorgehensweise finden Sie unter „Beispiel: Generieren und Verwenden von Verschlüsselungsschlüsseln“ auf<br />

Seite 808.<br />

Nachstehend sind zusätzliche Sicherheitsüberlegungen aufgeführt, die beim Entwickeln einer Anwendung zu<br />

beachten sind, die eine verschlüsselte Datenbank verwendet:<br />

Ein System ist immer nur so sicher wie sein schwächster Bestandteil. Wenn der Verschlüsselungsschlüssel anhand<br />

eines vom Benutzer eingegebenen Kennworts generiert wird, ziehen Sie in Betracht, Mindestlänge und<br />

Komplexitätsstufe des Kennworts festzulegen. Ein kurzes Kennwort, das nur Buchstaben oder Ziffern enthält, ist<br />

relativ leicht herauszufinden.<br />

Der Quellcode einer AIR-Anwendung wird als einfacher Text (für HTML-Inhalte) oder im leicht zu<br />

dekompilierenden Binärformat (für SWF-Inhalt) auf dem Computer des Benutzers gespeichert. Da der Quellcode<br />

zugänglich ist, beachten Sie diese zwei Punkte:<br />

Geben Sie Verschlüsselungsschlüssel nie mit Hard-Coding im Quellcode an.<br />

Gehen Sie immer davon aus, dass Angreifer das zum Generieren des Verschlüsselungsschlüssels verwendete<br />

Verfahren (zum Beispiel durch einen Zeichenzufallsgenerator oder einen bestimmten Hashing-Algorithmus)<br />

leicht herausfinden können.<br />

Für die AIR-Datenbankverschlüsselung wird der Advanced Encryption Standard (AES) mit Zähler im CBC-MAC-<br />

Modus (CCM) verwendet. Bei dieser Verschlüsselungsart muss ein vom Benutzer eingegebener Schlüssel mit<br />

einem Salt-Wert kombiniert werden, damit er sicher ist. Ein Beispiel für diese Vorgehensweise finden Sie unter<br />

„Beispiel: Generieren und Verwenden von Verschlüsselungsschlüsseln“ auf Seite 808.<br />

Wenn Sie eine Datenbank verschlüsseln, werden alle Festplattendateien verschlüsselt, die von der<br />

Datenbankengine zusammen mit dieser Datenbank verwendet werden. Die Datenbankengine speichert einige<br />

Daten jedoch in einem Arbeitsspeicher-Cache, um die Lese- und Schreibzeitleistung bei Transaktionen zu<br />

verbessern. Alle speicherresidenten Daten bleiben unverschlüsselt. Wenn ein Angreifer auf den von einer AIR-<br />

Anwendung verwendeten Arbeitsspeicher zugreifen kann, zum Beispiel durch Verwenden eines Debuggers, sind<br />

die Daten in einer geöffneten, unverschlüsselten Datenbank zugänglich.<br />

Beispiel: Generieren und Verwenden von Verschlüsselungsschlüsseln<br />

Adobe AIR 1.5 und höher<br />

In dieser Beispielanwendung wird ein Verfahren zum Generieren eines Verschlüsselungsschlüssels veranschaulicht.<br />

Diese Anwendung soll die höchste Datenschutz- und Sicherheitsstufe für Benutzerdaten bieten. Ein wichtiger Aspekt<br />

beim Sichern privater Daten ist es, vom Benutzer zu verlangen, dass er jedes Mal ein Kennwort eingeben muss, wenn<br />

die Anwendung eine Verbindung zur Datenbank herstellt. Demzufolge sollte eine Anwendung, die diese<br />

Datenschutzstufe erfordert, den Verschlüsselungsschlüssel der Datenbank nie direkt speichern, wie in diesem Beispiel<br />

gezeigt.<br />

Letzte Aktualisierung 27.6.2012<br />

808

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!