Beiträge

Bei Microsoft SQL (MS-SQL) handelt es sich um ein relationales Datenbankmanagementsystem, welches von dem US-Konzern in den 90er-Jahren veröffentlicht wurde. SQL ist speziell für Anwendungen konzipiert, die in Unternehmen eingesetzt werden. Das Datenbankmanagementsystem orientiert sich an standardisierten SQL-Versionen und wird von Microsoft durch zusätzliche moderne Features ergänzt.

Die Geschichte von MS-SQL

Seinen Ursprung hat MS-SQL Ende der 80er-Jahre. SQL basiert auf einem von der Firma Sybase entwickelten Code. Im Rahmen einer Zusammenarbeit zwischen den Firmen Microsoft, Sybase und Ashton-Tate wurde die erste Version des Datenbankmanagementsystems für das Betriebssystem OS/2 veröffentlicht. Im Jahr 1992 erschient für OS/2 bereits die SQL-Version 4.2. Version 4.21 kam im Jahr 1993 auf den Markt und war erstmals mit Microsofts Windows NT kompatibel. Kurz darauf endete die Kooperation zwischen Microsoft und Sybase. Mittlerweile bieten beide Unternehmen eigene SQL-Server-Versionen an: Sybase unter der Bezeichnung Adaptive Server Enterprise (ASE) und Microsoft unter dem Namen Microsoft SQL Server.

Wozu wird MS-SQL benötigt?

Wenn ein Unternehmen zum Beispiel ein CRM– oder ERP-System im Einsatz hat, dann benötigt die Software eine Datenbankstruktur, um Daten jedweder Art speichern zu können. Nach wie vor ist es gängig, dass vor allem Puristen den Betrieb von Datenbank-Servern nach wie vor gerne auf physischer Hardware bewerkstelligen. Mittlerweile lassen allerdings ein Großteil aller Datenbank-Server auf virtuellen Servern problemlos betreiben.

Grundsätzlich lässt MS-SQL dadurch beschreiben, dass die sogenannte Abfragesprache einen standardisierten Zugriff auf Datenbanken gewährleistet. Sowohl MS-SQL als auch MySQL können auf fast alle Datenbanksysteme angewendet werden. Mit Hilfe von MS-SQL können Administratoren oder Datenbank-Entwickler Tabellen erstellen oder abfragen ersten. Die SQL-Befehle „Select“ sowie „Create“ sind in diesem Zusammenhang wohl die am meisten genutzt Abfrage-Befehle.

Vor diesem Hintergrund ist es nützlich zu wissen, dass die Abkürzung „SQL“ für Structured Query Language, übersetzt „strukturierte Abfrage-Sprache“, steht. MS-SQL ist eine Abfragesprache für relationale Datenbanken, um etwa Tabellen zu definieren und Daten zu bearbeiten oder abzufragen. Häufige genutzte Daten von Unternehmen sind hierbei unter anderem Material- und Kundendaten, Rechnungen sowie Unterlagen für erhaltene Aufträge.

Redundanzen verhindern

MS-SQL ist für relationale Datenbanken entwickelt. Die dort hinterlegten Informationen sind üblicherweise auf viele verschiedene Tabellen verteilt. Dass Felder bzw. Informationen „doppelt“ vorkommen, ist nicht vorgesehen, wenn die Idee des relationalen Datenbankmodells eingehalten werden soll. Um Redundanzen (Doppelte Einträge) zu vermeiden, müssen alle notwendigen Informationen auf mehrere Tabellen verteilt und durch einen Schlüssel miteinander verknüpft werden. Diese essentiell wichtige Schlüssel wird auch als primärer Schlüssel bezeichnet und bildet das Fundament für eine relationale Datenbank auf Basis von MS-SQL.

MS-SQL geht mit der Zeit

MS-SQL hat eine lange Entstehungsgeschichte und konnte sich über alle die Jahre hinweg gegenüber etwaige Konkurrenzprodukte stets behaupten. Dafür sind vor allem permanente Weiterentwicklungen verantwortlich, welche sich dem jeweils aktuellen Stand der Technik angepasst haben und für den Einsatz im Unternehmen einen Mehrwert mit sich gebracht haben.

Aktuelle MS-SQL-Versionen sind überaus leistungsfähig und lassen sich problemlos im Big-Data-Umfeld sowie für komplexe Cloud-Lösungen einsetzen. Darüber hinaus ist die Realisierung von Datenbankmanagementsystemen für geschäftskritische sowie intelligente Anwendungen oder für hochskalierbare Hybrid-Datenbankplattformen im Bereich des Möglichen. Zum derzeitigen Leistungsspektrum von MS-SQL gehören unter anderem erweiterte Sicherheitsfeatures, In-Memory-Funktionen sowie Analysemöglichkeiten für große Datenbestände.

Auf der Basis von MS-SQL sind mittlerweile Apps verfügbar, welche Onlinetransaktionsverarbeitung (OLTP) mit einer sehr guten Skalierbarkeit und einer hohen Verfügbarkeit bereitstellen können. Umfassende Analysefunktionen stehen durch „R“, eine spezielle Statistiksprache, für SQL-Datenbanken zur Verfügung. Durch den Einsatz von „R“ ist selbst das Verschieben von Daten vollkommen überflüssig geworden. MS-SQL findet somit in Private Clouds, Public Clouds (zum Beispiel Microsoft Azure) oder in einem Rechenzentrum nach wie vor nützliche Verwendungen für die unterschiedlichsten Bereiche.

Überall dort, wo große Datenmengen in Netzwerken verarbeitet werden, ist eine leistungsfähige Datenbank notwendig. Sind eine Mehrbenutzerfähigkeit und hohe Performanz gefragt, wird diese oft durch SQL-Server realisiert. Hierbei handelt es sich um Software, die einen Dienst zur Speicherung, Bearbeitung und Abfrage von Datensätzen unterschiedlicher Art bietet.

Ein paar Details zu SQL-Servern

Allen SQL-Servern ist gemein, dass sie relationale Datenbanksysteme verwenden. Die zu speichernden Inhalte werden in zweckgebundene Tabellen abgelegt. Ziel ist, dass möglichst wenige Daten redundant gespeichert sind. Vielmehr werden diese mit Ordnungskriterien versehen und miteinander verknüpft, also in Relation gesetzt.

Dies bietet Vorteile bei der Verarbeitungsgeschwindigkeit und hält die Datenbank schlank. In einer Kundendatenbank könnten die Kontaktdaten beispielsweise in einer Tabelle verwaltet werden. Die Bestellungen hingegen würden in einer separaten Tabelle verwaltet und nur mit der Kennziffer des Kunden versehen. In gleicher Weise könnte es eine Tabelle für Rechnungen und Mahnungen geben. Für neue Einträge müssten nur die notwendigen Werte in der entsprechenden Tabelle erstellt werden.

Alle SQL-Server können mittels der namensgebenden Structured Query Language (SQL) angesprochen werden. Mittels der entsprechenden Syntax können Datensätze erstellt, verändert, gelöscht und abgefragt werden.

Ein einfacher Befehl zum Speichern eines Datensatzes lautet:

INSERT INTO Adressen (kundennr, nachname, vorname, strasse, plz, stadt) VALUES (1, „Mustermann“, „Max“, „Hauptstraße 1“ „12345“, „Musterstadt“).

Dieser speichert die Werte aus der zweiten Klammer in die Spalten der Tabelle „Adressen“. Die Namen der Spalten ergeben sich aus der ersten Klammer.

Die abgelegten Daten können unterschiedlicher Art sein. Wichtige Datentypen sind INTEGER (Ganzzahlen), FLOAT (Gleitkommazahl), CHAR (Zeichenketten), BOOLEAN (boolesche Wahrheitswerte) und BLOB (Binäre Werte, auch eingebettete Dateien wie Bilder sind möglich). Im Detail können die Datentypen bei unterschiedlichen Anbietern von SQL-Servern abweichen.

Die wichtigsten Anbieter von SQL-Servern

Es gibt mehrere Entwickler für SQL-Server. Darunter befinden sich kommerzielle aber auch kostenlose Anbieter. Die wichtigsten Anbieter sind die folgenden:

Oracle

Das älteste kommerzielle System ist der SQL-Server der Firma Oracle. Die erste Version erschien 1979. Bis zum heutigen Tag wird die Software weiterentwickelt. Je nach Art und Umfang des Einsatzes werden nicht unerhebliche Lizenzkosten fällig. Es handelt sich um einen der verbreitetsten SQL-Server, der Basis für viele kommerzielle Softwareprodukte ist.

Microsoft SQL-Server

Der SQL-Server von Microsoft ist das zweite kommerzielle System, welches zu den Marktführern zählt. Es wurde 1989 erstmals veröffentlicht und durch die Firma Sybase mitentwickelt. Anfangs gehörte es zum Betriebssystem OS/2 und wurde später für Windows NT portiert. Auch für den Einsatz dieses Systems sind Lizenzkosten zu entrichten. Bemerkenswert an Microsofts SQL-Server ist eine große Anzahl spezieller Datentypen. So sind zum Beispiel die Datentypen „smallmoney“ und „smalldatetime“ definiert.

MySQL / MariaDB

Das verbreitetste quelloffene Produkt ist der MySQL-Server. Dieser ist kostenlos für alle gängigen Betriebssysteme erhältlich. Zusätzlich wird ein kostenpflichtiges Enterprise-Paket angeboten, bei dem es zusätzlich Supportleistungen gibt. Erstmals vorgestellt wurde MySQL im Jahre 1995. Zunächst war die Firma „MySQL AB“ Entwickler. Das Unternehmen wurde später durch die Firma Sun aufgekauft. Inzwischen gehört MySQL zur Firma Oracle. MySQL hat eine hohe Verbreitung im Bereich von Webservern. Es ist in den Repositories der gängigen Linux-Distributionen enthalten. Daher können diese mit wenig Aufwand für den Einsatz eines MySQL-Servers eingesetzt werden.

Kurz nach der Übernahme von MySQL durch Oracle, spaltete sich im Jahr 2009 das Projekt MariaDB als Fork ab. Verantwortlich hierfür war Michael Widenius, der ehemalige Hauptentwickler von MySQL. Einige Linux-Distributionen setzen inzwischen als Standard auf MariaDB. Darunter Fedora, CentOS und openSUSE.

Weitere SQL-Varianten

PostgreSQL

Eine weitere quelloffene Alternative ist der PosgreSQL-Server. Dieser wurde 1996 veröffentlicht und wird von einer Entwicklergemeinschaft, der PostgreSQL Global Development Group, gepflegt. Eine Besonderheit ist, dass er eine objektrelationale Datenbank verwendet. Hierdurch können nicht nur Felder in Relation gesetzt werden, sondern Mengen von Datensätzen, die als Objekte zusammengefasst wurden. Deher kann unter PostgreSQL das Prinzip der Vererbung aus der objektorientierten Programmierung angewendet werden.

-SQL Anywhere

Das ebenfalls kommerzielle SQL Anywhere gehört zum in Deutschland ansässigen Unternehmen SAP. Dieses übernahm den ursprünglichen Entwickler Sybase im Jahr 2010 und entwickelt das Produkt weiter. Bemerkenswert ist, dass Sybase bereits für die Basis des Microsoft SQL-Server verantwortlich war.

Anwendungsgebiete für SQL-Server

Neben dem bereits erwähnten Einsatz im Bereich von Webanwendungen, nutzen häufig komplexe Anwendungen im Firmenumfeld SQL-Server. Ein Beispiel sind Softwareprodukte des Enterprise-Resource-Planning (ERP). Unter deren Entwicklern finden sich, nicht ganz zufällig, einige bereits aufgeführte Hersteller von SQL-Servern, wie Oracle, Microsoft und SAP.

Ebenso genutzt werden SQL-Server für Software auf dem Gebiet des Custom-Relationship-Managements (CRM). Hierbei geht es ebenfalls um die Erfassung und Verknüpfung vieler Datensätze, in diesem Fall zur Kundenpflege.

Aufgrund der besonderen Stellung eines SQL-Servers in Systemen, wird dieser häufig auf einem dedizierten Server betrieben. Hier kann Virtualisierung eine geeignete Lösung sein, da diese eine hohe Ausfallsicherheit und insbesondere Skalierbarkeit gewährleistet. Viele Hoster für virtuelle Server bieten kurzfristige Anpassbarkeit von Ressourcen. Hierdurch kann flexibel auf Belastungsspitzen reagiert werden.

Lange Jahre wurde die Architektur von Speicher ausschließlich durch die Parameter der Hardware bestimmt. Zumindest, was Größe, Zugriffsgeschwindigkeit und Cache anging. Dynamische Volumes und RAID-Verbünde waren ein erster Schritt, zu mehr Flexibilität. Software defined Storage (SDS) ist die konsequente Fortentwicklung dieses Ansatzes. Der Speicherplatz wird dabei von der Hardware abstrahiert. Dies erlaubt maximale Flexibilität und Skalierbarkeit.

Wie funktioniert die klassische Speicherung von Dateien?

Bis der physikalische Speicher dem Benutzer zum Ablegen seiner Daten angeboten wird, durchläuft er mehrere logische Bearbeitungsprozesse. Dies beginnt beim Controller der klassischen Festplatte. Dieser fasst Speicherbereiche zusammen und bietet sie dem Dateisystem in einer logischen Adressierung an. In Flashspeicher ist ebenfalls eine Abstraktionsschicht integriert, der Flash Translation Layer (FTL). Dieser übernimmt die Adressierung des vom Controller verwalteten Speichers.

Sowohl vom Betriebssystem, als auch auf Hardware-Ebene, können Verbünde erzeugt werden. Beispielsweise durch einen RAID-Controller, der den Speicher von zwei oder mehr Festplatten transparent zu einem großen Bereich zusammenfasst. Auch auf Software-Ebene ist dies möglich, indem beispielsweise unter Windows aus mehreren Festplatten ein dynamisches Laufwerk gebildet wird.

Auf den so zur Verfügung gestellten Speicher greift das Dateisystem zu und übernimmt die Partitionierung sowie Speicherung der Dateien.

Bezüglich der Schreib- und Lesegeschwindigkeit ist man bei diesen Methoden immer auf das „schwächste Glied“ im Verbund reduziert. Die Ablage der Dateien erfolgt zufällig. Auch ist der Austausch oder die Erweiterung der Komponenten nicht in jedem Fall möglich, ohne den gesamten Verbund neu aufzubauen. Ausnahme hiervon sind natürlich RAID-Verbünde, die speziell auf Redundanz ausgelegt sind, dafür aber eine homogene Hardware benötigen.

Wie funktioniert Software defined Storage?

Software defined Storage (SDS) übernimmt mehrere Aufgaben, die zuvor durch unterschiedliche Komponenten erledigt wurden. Er setzt an der Stelle an, wo der Speicher vom Controller logisch zur Verfügung gestellt wird. Er fasst die eingebundenen Komponenten zusammen und setzt sie dynamisch ein.

Dabei kann heterogene Hardware zum Einsatz kommen, ohne dass hierdurch die gesamte Performance beeinträchtigt wird. Vielmehr werden beispielsweise schnelle Speicher für eine Zwischenspeicherung verwendet. Die Daten werden dann zu weniger lastintensiven Zeiten auf andere Bereiche verteilt. Weiterhin ist das Dateisystem ein fester Bestandteil des Systems. So wird dafür gesorgt, dass Daten nicht doppelt abgelegt werden. Sind Dateien inhaltlich mehrfach vorhanden, speichert das Dateisystem sie nur einmal ab und legt Verweise auf den Inhalt an. Diesen Vorgang nennt man Deduplikation.

Auch das Anlegen von Snapshots und Backups wird durch Software defined Storage (SDS) gewährleistet. Die Datenablage erfolgt in redundanten Arrays. So kann Datenverlust bei Ausfall einzelner Komponenten verhindert oder vermindert werden.

Ein großer Vorteil ist die bereits angesprochene Skalierbarkeit. Es ist zu jedem Zeitpunkt möglich, Speicher zu ergänzen. Auch ein Austausch oder das Entfernen von Komponenten ist im laufenden Betrieb möglich.

Anwendungsfälle für Software defined Storage

Software defined Storage (SDS) bietet die flexible Basis für gemeinsam genutzten Speicherplatz in lokalen Netzwerkverbünden. Hauptsächlich dürfte dies für Firmennetzwerke interessant sein. Aus allen bereits vorhandenen Servern kann ein Software defined Storage (SDS) gebildet werden. Auf diesem können dann die notwendigen Dienste angeboten werden. Eine Möglichkeit ist beispielsweise die Nutzung des Speicherplatzes als Fileservers. Auch beliebige Serverdienste können darauf ausgeführt werden. Diese dürfen auch in einer virtualisierten Umgebung laufen. Das gesamte System ist nach der Einrichtung zentral administrierbar.

Was ist Ceph?

Ceph ist eine freie Variante des Software defined Storage (SDS). Sie wird unter GNU Lesser General Public License angeboten (LGPL). Ceph läuft unter Linux und wird von einem Konsortium verschiedener Hard- und Softwarehersteller entwickelt. Unter den Firmen befinden sich Canonical (Entwickler von Ubuntu-Linux), Cisco, Fujitsu, Intel, Red Hat, SanDisk und SuSE-Linux.

Die Software läuft auf handelsüblicher Hardware. Zur Speicherung wird ein Algorithmus mit Namen CRUSH verwendet. Dies steht für Controlled Replication Under scalable Hashing und setzt die Verteilung der Daten im System um. Die Komponenten im System werden Object Storage Nodes (OSDs) genannt. Es ist eine Redundanz der Daten vorgesehen, die dafür sorgt, dass ausgefallene Komponenten ohne Datenverlust ersetzt werden können. Die Software bringt mit CephFS ein eigenes Dateisystem mit.

Was ist Storage Spaces Direct?

Storage Spaces Direct (S2D) heißt der Software defined Storage (SDS) von Microsoft. Das System ist bereits in den Datacenter-Versionen von Windows Server 2016 und 2019 integriert. Es kann also relativ einfach verwendet werden, wenn die Infrastruktur auf diesen Betriebssystemen basiert. Die Flexibilität ist allerdings insofern eingeschränkt, als dass für jedes eingebundene Gerät eine Lizenz erforderlich ist.

Die Einrichtung von S2D erfolgt per PowerShell. Als Dateisystem kann das bekannte NTFS oder das für diesen Zweck optimierte ReFS zur Anwendung kommen. Bei ausreichend eingebundenen Komponenten liegt die Speichereffizienz bei bis zu 80 Prozent. Auch S2D bietet eine Wiederherstellung verlorener Dateien. Dies wird mit der Technik Local Reconstruction Codes (LRC) gewährleistet.

Weitere Anbieter von Software defined Storage

VMWare, der Spezialist für Virtualisierung, verwendet Software defined Storage (SDS) für seine Software vSAN, die Wiederherstellungssoftware Site Recovery Manager und sein Framework Virtual Volumes. Hierbei handelt es sich um ein kostenpflichtiges Angebot. Eine freie Alternative zu Ceph ist das Netzwerk-Dateisystem GlusterFS.

OpenStack Swift ist ein weiteres System zur Bereitstellung von Netzwerkspeicher aus verteilten Systemen. Es handelt sich dabei um Open-Source-Software, die also kostenfrei genutzt werden darf.

Gehört Software defined Storage die Zukunft?

Es sieht im Moment danach aus, dass Software defined Storage (SDS) das Konzept der Zukunft ist. Insbesondere gegenüber vorhandenen NAS- und SAN-Lösungen besticht es durch seine Flexibilität.  Man kann Hardware kann integrieren. Zuwächse in der Performance sind auch mit geringen Investitionen möglich. Zudem scheint der integrative Ansatz ein großer Vorteil bei der Administration zu sein. Backup-Strategien müssen beispielsweise nicht separat entworfen werden. Die Möglichkeit zur zentralen Administration ist ein grundsätzlicher Bestandteil der Technologie. Zudem sind keine Beschränkungen bei der Art der Nutzung des Speicherplatzes des Software defined Storage (SDS) gegeben. Somit harmoniert es beispielsweise gut mit dem Konzept der Virtualisierung von Systemen.

Storage Spaces direct (S2D) ist ein System von Microsoft, mit dem skalierbarer softwaredefinierter Speicher realisiert wird. Es handelt sich um eine Funktion für die Betriebssysteme Windows Server 2016 und 2019 Datacenter. Dabei wird ein Cluster aus den physikalischen Speichermedien der eingebundenen Server erstellt und logischer Speicherplatz gebildet. Dieser ist hochverfügbar und kann unkompliziert erweitert werden.

Wie funktioniert Storage Spaces direct im Detail?

Direkte Speicherplätze, wie Storage Spaces direct (S2D) in deutschsprachigen Programmversionen heißt, nutzt das Prinzip der Virtualisierung. Aus den physikalischen Speichermedien, egal ob Festplatte, SSD oder NVM, wird ein Verbund gebildet. Der schnellste verfügbare Speicher wird dabei automatisch als Cache genutzt. In einer Abstraktionsschicht sorgt das Cluster Shared Volumes Filesystem (CSVFS) dafür, dass der gesamte Speicherbereich logisch wie ein Laufwerk verwaltet werden kann. Die Funktionalität der Dateiverwaltung wird optional durch das bekannte Desktop-Dateisystem NTFS oder ReFS, das spezielle Server-Dateisystem von Microsoft, gewährleistet. Microsoft empfiehlt die Verwendung von ReFS. Der Speicherplatz kann danach zentral verwaltet werden. Dies ist das Prinzip des softwarebasierten Speichers, dem Software-Defined Storage. Die Einrichtung und Verwaltung ist mit der integrierten Microsoft Powershell möglich.

Vorteile von Storage Spaces direct

Das System Storage Spaces direct (S2D) ist direkt in die neuen Server-Betriebssysteme integriert. Hierdurch ist eine reibungslose Einbindung gewährleistet. Aus einer gewachsenen, heterogenen Server-Landschaft kann ein einheitlicher Speicher gebildet werden, der für alle eingebundenen System verfügbar ist. Dieser ist in der Folge auch zentral administrierbar.

Das System ist zudem skalierbar. Mit wenigen Befehlen können nachträglich weitere Komponenten hinzugefügt oder ausgetauscht werden.

Ein bedeutendes Merkmal ist die Ausfallsicherheit. Hier unterscheidet man zwischen der Einzelparität, die einem RAID-5 gleicht und dadurch nur 50 Prozent des physikalischen Speichers nutzen kann und der dualen Parität. Diese ähnelt dem RAID-6 und die Effizienz steigt mit der Anzahl der eingebundenen Hardware-Speichermedien auf bis zu 80 Prozent.

Zudem verwendet Microsoft eine Technik mit Namen Local Reconstruction Codes (LRC). Dabei werden innerhalb der eingebundenen Medien kleinere Gruppen gebildet, damit der Aufwand zur Wiederherstellung nicht auf den gesamten Speicher angewendet werden muss, sondern nur auf die lokal betroffenen Bereiche. Zur Steigerung der Effizienz kann zudem parallel Spiegelung für Teile des Speichers verwendet werden. Dieser Speicher wird dann vorrangig für Schreibvorgänge genutzt und die Daten erste später in andere Speicherbereiche verschoben.

Nachteile von S2D

Storage Spaces direct (S2D) ist an die entsprechenden Server-Lizenzen gebunden. Das bedeutet, dass alle eingebundenen Systeme auch über eine Lizenz für Windows Server 2016 oder 2019 Datacenter verfügen müssen. Das verursacht Kosten von etwa 5000 Euro pro Server, der in den Verbund aufgenommen werden soll. Insbesondere wenn es vorrangig um eine File-Server-Funktionalität geht, gibt es günstigere Alternativen. Bei Nutzung als Plattform für virtuelle Maschinen, müssen die Kosten anderer kommerzieller Anbieter gegenübergestellt werden.

Alternativen zu Storage Spaces direct

Eine ähnliche Funktionalität wie Storage Spaces direct (S2D) bietet das 2012 vorgestellte Ceph. Das System wird unter der GNU-General Public License angeboten und ist damit kostenfrei. An der Weiterentwicklung arbeiten namhafte Firmen. So sind beispielsweise die Hardware-Herstellern CISCO, Fujitsu und Intel sowie Linux-Distributoren, wie Red Hat, SuSE und Canonical (Entwickler von Ubuntu) beteiligt. Es ist allerdings nur unter Linux lauffähig.

Wissen Sie, wie oft Sie heute AES, den Advanced Encryption Standard, benutzt haben? Falls nicht, ist es wahrscheinlich, dass Sie damit in guter Gesellschaft sind. Gleichermaßen wahrscheinlich ist es, dass Sie ihn heute schon öfter als einmal verwendet haben. Zumindest, wenn Sie mit dem Smartphone im WLAN angemeldet waren, Ihre Mails abgerufen, im Internet gesurft oder beim Einkaufen bargeldlos bezahlt haben.

Herkunft und Entwicklung des AES

Die Notwendigkeit Daten zu verschlüsseln, wurde spätestens mit der Verbreitung des Internets auch außerhalb von Militär und Geheimdiensten erkannt. Um eine Kompatibilität beim Austausch von Daten zu erreichen, kamen dafür nur standardisierte Verfahren in Frage. Lange Zeit verwendete man den DES (Data Encryption Standard), an dessen Entwicklung der amerikanische Geheimdienst NSA beteiligt war. Aufgrund der durch DES verwendeten Schlüssellänge von 56 Bit, galt dieser in den neunziger Jahren zunehmend als unsicher, da die steigende Rechenleistung der Computeranlagen Brute-Force-Attacken  ermöglichte. Daher schrieb das NIST (National Institute of Standards and Technology) einen Wettbewerb zur Entwicklung des Nachfolgers aus. Diesen Wettbewerb gewannen im Jahr 2000 die belgischen Kryptologen Joan Daemen und Vincent Rijmen mit ihrem Rijndael-Algorithmus, der seitdem als AES Standard in der Kryptografie ist.

Ein paar Grundlagen zur Verschlüsselung

Bei der Verschlüsselung von Daten wird ein geheimer Schlüssel auf den klartextlichen Datenbestand angewendet, beispielsweise durch eine bitweise XOR-Verknüpfung. Wenn nachvollziehbar ist, welcher Klartext einem verschlüsselten Datenbestand an bestimmten Stellen zugrunde liegt, reichen derart simple Operationen nicht aus. So haben Dateien häufig spezifische Header und es wäre einfach, den Schlüssel durch erneute Anwendung der XOR-Operation mit dem bekannten Bitmuster zurückzurechnen. Daher werden komplexe Algorithmen angewendet.

Zusätzlicher Schutz kann durch die Anwendung einer Blockchiffre erzielt werden. Dabei erfolgt die Verschlüsselung auf festgelegte Block- und Schlüssellängen. Die Blöcke können auch nach bestimmten Kriterien vermischt werden, wodurch es schwieriger ist, Rückberechnungen anhand von bekanntem Klartext durchzuführen. Dies bedingt, dass der letzte Block zumeist aufgefüllt werden muss, sofern die Dateigröße nicht zufällig ein Vielfaches der Blockgröße ist. Die Menge der aufgefüllten Bits sind das Padding.

Man unterscheidet symmetrische Verschlüsselung, bei der für die Ver- und Entschlüsselung der gleiche Schlüssel Anwendung findet, und asymmetrische Verschlüsselung. Bei dieser wird ein öffentlicher Schlüssel für die Verschlüsselung verwendet und ein geheimer Schlüssel für die Entschlüsselung. Wenn der Absender durch jedermann verifizierbar sein soll, kann dies auch umgekehrt angewendet werden. Beide Verfahren sind kombinierbar. Dies ist sinnvoll, wenn der Schlüssel für die symmetrische Verschlüsselung zwischen den Kommunikationspartnern getauscht werden muss.

Mehr Details zu AES

AES verwendet eine Schlüssellänge von 128, 196 oder 256 Bit. Er verschlüsselt symmetrisch und ist eine Blockchiffre. Die Verschlüsselung erfolgt in mehreren Runden, wobei zwischen den Runden eine Vertauschung der Datenblöcke erfolgt und jeweils ein eigener Rundenschlüssel verwendet wird. In den Runden werden die Daten innerhalb der Blöcke mit festgelegten Operationen durchmischt, z.B. durch Verschieben (ShiftColumns) oder Mischen (MixColumns). Zur Entschlüsselung werden die gleichen Aktionen in umgekehrter Reihenfolge durchgeführt. Der Standard ist frei von Patentrechten und darf durch jedermann verwendet werden.

Welche Anwendungen nutzen AES?

Die bekanntesten Datei- und Dateisystemverschlüsselungsprogramme verwenden AES, darunter TrueCrypt/VeraCrypt, Bitlocker, dm-crypt und BoxCryptor.

Insbesondere wenn es um die verschlüsselte Übertragung von Daten geht, führt kein Weg an AES vorbei. TLS (Transport Layer Security) und sein Vorgänger SSL (Secure Sockets Layer) verschlüsseln mit dem AES. HTTPS (Hypertext Transport Protocol Secure), das Standard-Protokoll des Word Wide Web, nutzt wiederum TLS/SSL. Auch Mailclients, wie Thunderbird und Microsoft Outlook sowie der plattformunabhängige Standard PGP (Pretty Good Privacy) setzen auf TLS.

Die Nutzung von VPN-Verbindungen (Virtual Private Network) beinhaltet in den meisten Fällen ebenfalls den AES. Die Verschlüsselung innerhalb des WLANs wird bei WPA2 oft mittels AES implementiert. WPA2 verwendet das CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protokoll), welches auf AES basiert.

Zur Beschleunigung des AES sind von Intel sowie von AMD entsprechende Befehlssatzerweiterungen in ihre Prozessoren implementiert worden. Auch Betriebssysteme wie Windows und Linux unterstützen AES, Smartcards (z.B. EC-Karten und SIM-Karten) verwenden AES zur Verschlüsselung.

Welche Stärken und Schwächen hat AES?

Eine Stärke des AES ist, ressourcenarm zu arbeiten. Dies macht es erst möglich, ihn auf leistungsschwachen Prozessoren von Smartcards einzusetzen. Weiterhin ist der Algorithmus auch zwei Jahrzehnte nach seiner Einführung noch als sicher anzusehen. Es gibt bislang keinen praktisch relevanten Angriff auf den Algorithmus selbst. Brute-Force-Angriffe sind mit heutigen Rechenkapazitäten noch keine ernste Bedrohung für AES, sofern die Schlüssellänge und verwendete Passwörter ausreichend komplex gewählt werden.

Tatsächliche Probleme treten nur bei fehlerhafter Implementierung oder bei Angriffen auf den Übertragungsweg auf. So sind bei symmetrischen Verschlüsselungsverfahren grundsätzlich Man-in-the-Middle-Angriffe möglich.

Andere Verschlüsselungsalgorithmen

Insbesondere die Mitbewerber der Ausschreibung für den AES, Serpent und Twofish, sind als alternativer Algorithmus anwendbar. So zum Beispiel in TrueCrypt/VeraCrypt und dm-crypt. Der Secure Hash Algorithmus (SHA, in den Versionen 1 bis 3) findet Anwendung bei der verschlüsselten Übertragung von Daten.

Da AES aber nach wie vor durch Kryptologen als sicher angesehen wird, besteht keine grundsätzliche Notwendigkeit für Alternativen.

Windows Hello ist ein biometrisches System, das es Windows 10-Usern ermöglicht, den sicheren Zugriff auf ihre Geräte, Anwendungen, Online-Dienste und Netzwerke mit einem Fingerabdruck, Iris-Scan oder Gesichtserkennung zu authentifizieren. Es ist eine Alternative zu Passwörtern und gilt als benutzerfreundlicher, sicherer und zuverlässiger als die herkömmliche Methode.

So funktioniert Windows Hello

Windows Hello begrenzt die Möglichkeit von Angriffen bei Windows 10, indem es die Notwendigkeit von Passwörtern und anderen relativ unsicheren Methoden eliminiert. Windows Hello ermöglicht es Ihnen, ein Microsoft-Konto oder einen Nicht-Microsoft-Dienst zu authentifizieren, der Fast Identity Online (FIDO) unterstützt. Windows Hello verwendet strukturiertes 3D-Licht, um ein Gesichtsmodell zu erstellen und nutzt dann Anti-Spoofing-Techniken, um eine Manipulation durch falsche Scans zu verhindern. Mit Windows 10 können Sie Windows Hello einrichten. Dazu müssen Sie einen Gesichtsscan, Irisscan oder Fingerabdruck erstellen. Sie können diese Scans jederzeit verbessern und zusätzliche Fingerabdrücke hinzufügen oder entfernen. Einmal eingerichtet, ermöglicht ein Blick auf das Gerät oder ein Fingerscan den Zugriff auf Microsoft-Konten und Anwendungen von Drittanbietern, die die API verwenden. Die FIDO-Spezifikation wurde 2014 von der FIDO Alliance entwickelt.

Für wen ist es sinnvoll?

Windows Hello wurde sowohl für Unternehmen als auch für Privatanwender entwickelt und gewinnt in beiden Bereichen an Bedeutung. Obwohl Windows Hello eine beachtliche Benutzerzahl hat, wird es von der massiven Windows 10-Installationsbasis in den Schatten gestellt. Wenn Microsoft die Mehrheit der Windows 10-Benutzer in Windows Hello konvertieren kann, wäre dies ein Wendepunkt im Kampf gegen unpraktische Passwörter.

Wie sicher ist Windows Hello?

Ein Passwort kann gehackt, ausspioniert und vergessen werden. Windows Hello beseitigt diese Sicherheitslücken mit der Fingerabdruck- und Gesichtserkennungstechnologie. Der Fingerabdruck-Scan ist ziemlich sicher. Die Gesichtserkennung  ist noch sicherer, da sie in der Lage ist, zwischen Ihrer physischen Anwesenheit und einem Bild von Ihnen zu unterscheiden. Das ist Sicherheit auf Unternehmensebene für Privatanwender, einfach zu implementieren und äußerst effektiv.

Speichert Microsoft persönliche Daten?

Es gibt einige Berichte über die Privatsphäre oder besser gesagt, den Mangel an Privatsphäre in Windows 10. Der Gedanke lässt einige Benutzer die Effektivität von Windows Hello infrage stellen. Microsoft sagt dazu, dass Windows 10 während der Einrichtung die vom Gesichts- oder Irissensor oder Fingerabdruckleser erfassten Daten übernimmt und eine Darstellung anfertigt, die es verschlüsselt und auf Ihrem Gerät speichert. Dies ist kein Bild, sondern eher wie ein Diagramm. Ihre Identifikationsdaten, die bei der Registrierung erstellt werden, verlassen niemals Ihr Gerät. Microsoft sammelt Nutzungsdaten, wie z. B. die Methode, mit der Sie sich angemeldet haben (Gesicht, Iris, Fingerabdruck oder PIN), die Anzahl der Anmeldungen und ob jede Anmeldung erfolgreich war oder nicht. Diese Daten werden ohne jegliche Informationen, die zur eindeutigen Identifizierung Ihrer Person verwendet werden könnten, verschlüsselt, bevor sie übertragen werden.

Die Hardwareanforderungen

Es ist mit spezifischen Hardwareanforderungen verbunden. Microsofts Surface Pro, Surface Book und die meisten Windows 10 PCs, die mit Fingerabdruckscannern oder Kameras ausgestattet sind, die zweidimensionale Infrarotspektroskopie erfassen können, sind mit Windows Hello kompatibel. Microsoft arbeitet auch mit Geräteherstellern zusammen, um eine konsistente Leistung und Sicherheit für alle Benutzer zu gewährleisten. Der akzeptable Leistungsbereich für Fingerabdrucksensoren ist eine Fehlannahmequote von weniger als 0,002 Prozent. Der akzeptable Bereich für Gesichtserkennungssensoren ist eine Fehlannahmequote von weniger als 0,001 Prozent, so Microsoft.