Beiträge

Bei einer CPU bzw. einem Prozessor handelt es sich um das „Gehirn“ oder „Herzstück“ elektronischer Geräte. Eine CPU stellt einen unverzichtbaren und einen der wichtigsten Bestandteile aller elektronischer Geräte dar, die eine gewisse Rechenleistung erbringen müssen. Prozessoren kommen beispielsweise neben Computern auch in Smartphones, Tablet-PCs oder digitalen Kameras zum Einsatz. Ein Prozessor ist in der Lage, Milliarden von Rechenoperationen pro Sekunde auszuführen und wird nach seiner Performance und Architektur in unterschiedliche Klassen eingeteilt. Die bekanntesten CPU-Produzenten im Computer-Bereich sind AMD und Intel.

Welche Aufgaben übt eine CPU aus?

Die CPU ist eine der ersten Befehlsempfänger in einem elektronischen Gerät. Sie registriert, welche Aufgaben vom Anwender angefordert werden und leitet diese dann an die entsprechende Stelle bzw. die zuständige Komponente weiter. Der Hauptprozessor als zentrale Steuereinheit liest beispielsweise aus dem RAM-Speicher (Arbeitsspeicher) Daten aus und analysiert kontinuierlich alle Ein- und Ausgaben von Peripheriegeräten wie Tastatur, Maus oder Monitor. Darüber hinaus können einer Central Processing Unit explizit bestimmte Aufgaben zugeteilt werden. So können beispielsweise in einem Computerspiel bestimmte Inhalte nach Bedarf eingeblendet werden, die vom Programm angefordert werden. Die CPU oder die GPU (Grafikkarte) ist für die automatische Umsetzung dieser Inhalte zuständig.

Die Central Processing Unit hat folgende Aufgaben:

–       Rechenoperationen: Der Hauptprozessor ist für einen Großteil der Aufgaben in einem elektronischen Gerät zuständig. Wann immer Rechenoperationen vom Anwender oder einer Anwendung angefordert werden, kommt der Prozessor zum Einsatz.

–       Bus-Systeme: Die Datenübertragung in Bus-Systemen wird von der CPU gesteuert. Der Prozessor erkennt und analysiert die nacheinander eintreffenden Bits und setzt sie als kohärente Teile zusammen, um sie dann weiterzuverarbeiten. Alle Datenübertragungen über den Netzwerkadapter oder USB werden beispielsweise intern über die Central Processing Unit realisiert.

–       Kontrolle: Der Hauptprozessor kontrolliert, ob die ihm zugeteilten Aufgaben rechtzeitig erfüllt werden können und schlägt ansonsten Alarm. Dabei gleicht die Central Processing Unit kontinuierlich die laufenden Vorgänge mit Zielstandards ab. Diese Verhaltensweise kann in folgenden Szenarien beobachtet werden: Der Prozessor kann beispielsweise bei einem aktiven Download den Download-Fortschritt anzeigen. Darüber hinaus gibt die CPU Fehlermeldungen aus, wenn zum Beispiel ein Befehl nicht ausgeführt werden konnte.

Woraus setzt sich eine CPU zusammen?

Ein Hauptprozessor setzt sich u. a. aus folgenden Hauptbestandteilen zusammen:

–       Steuereinheit (Control Unit): Die Steuereinheit nimmt Anweisungen aus dem Arbeitsspeicher entgegen, decodiert diese und führt sie der Reihe nach aus. Die Control Unit koordiniert außerdem die Arbeit der übrigen Komponenten der CPU.

–       Arithmetik-Logikeinheiten (Arithmetic Logic Unit): Diese Komponente ist für die Ausführung arithmetischer und logischer Operationen anhand der Anweisungen der Steuereinheit zuständig.

–       CPU-Register: Diese Komponenten stellen den internen Hochgeschwindigkeits-Speicher dar, der für die temporäre Speicherung der zu verarbeitenden Daten zuständig ist.

–       Busse: Hierbei handelt es sich Hochgeschwindigkeits-Datenleitungen, welche die Übertragung von Daten und Anweisungen zwischen den einzelnen CPU-Komponenten ermöglichen.

Wie diese Komponenten in den einzelnen Prozessorkernen implementiert sind, hängt in erster Linie von der Prozessorarchitektur ab.

Die Arbeitsweise eines Hauptprozessors

Eine Central Processing Unit arbeitet schrittweise in regelmäßigen Taktzyklen folgende Aufgaben ab:

–       Anweisungen einholen (FETCH): In dem ersten Schritt holt der Prozessor aus dem Arbeitsspeicher die Anweisungen ein. Jede Anweisung in einem Programm kann bis zu einigen Millionen von CPU-Befehlen enthalten, die im Arbeitsspeicher an einer bestimmten Speicheradresse aufbewahrt werden. Die Central Processing Unit ist mit einem Programmzähler ausgestattet, der die Position des Prozessors im Programm verfolgt, also die Speicheradresse des Befehls, auf den die Central Processing Unit gerade zugreift.

–       Anweisungen entschlüsseln (DECODE): Zum Zeitpunkt, wenn der Prozessor die Programmanweisungen einholt, sind diese in der sogenannten „Assemblersprache“ codiert. Ein sogenannter „Assembler“ übersetzt die Anweisungen in eigene Maschinensprache der Central Processing Unit.

–       Anweisungen ausführen (EXECUTE): In diesem Schritt werden Aufgaben, wie zum Beispiel mathematische Kalkulationen, Abarbeitung von Daten oder Entscheidungen über die Abarbeitung weiterer Teile des Programms realisiert. Hier werden mathematische Aufgaben von der Control Unit an die Arithmetic Logic Unit delegiert.

–       Resultate ausgeben (WRITEBACK): Der Prozessor schreibt die Resultate in den Speicher.

Unterschiedliche CPU-Architekturen im Überblick

Die Befehlssatzarchitektur (Instruction Set Architecture) wird von der CPU-Architektur und dem eingesetzten Softwarecode bestimmt. Die Instruction Set Architecture bildet eine Schnittstelle zwischen dem Prozessor und der Software und übt eine äußerst wichtige Rolle aus. Mit der Befehlssatzarchitektur werden u. a. die unterstützen Prozessor-Anweisungen, die nativen Datentypen, die Speicherarchitektur sowie die externen Ein- und Ausgaben explizit beschreiben. Zu den wichtigsten Typen von Befehlssatzarchitekturen gehören:

–       RISC (Reduced Instruction Set Computing): Hierbei handelt es sich um eine Computing-Architektur, die auf einem reduzierten Befehlssatz basiert.

–       CISC (Complex Instructions Set Computing): Hierbei handelt es sich um eine Computing-Architektur, die auf einem komplexen Befehlssatz basiert.

–       Sparse-Matrix: Hierbei handelt es sich um einen neuartigen Befehlssatz für hochskalierbare CPU-Arrays, die in erster Linie in performanten Server-Systemen eingesetzt werden.

Die CISC-Architekturen zeichnen sich durch eine hohe Anzahl an spezialisierten Anweisungen aus, die möglichst viele Einsatzbereiche abdecken, während RISC-Architekturen einen anderen Ansatz verfolgen. Sie fokussieren sich auf Anweisungen, die besonders häufig aufgerufen werden und beschränken diese auf eine maximale Größe von 4 Bytes.

Eine Flut oder Cyber Attacke, Fehler in der Lieferkette oder der Verlust eines wichtigen Mitarbeiters. Es ist der Albtraum eines Unternehmers, aber schwerwiegende Betriebsstörungen können jederzeit auftreten. Beim Business Continuity Planning (BCP) geht es darum, einen Plan für die Bewältigung schwieriger Situationen zu haben, damit das Unternehmen so störungsfrei wie möglich weiter funktioniert.

Egal, ob es sich um ein privates Unternehmen, eine Organisation des öffentlichen Sektors oder eine Wohltätigkeitsorganisation handelt, Mitarbeiter der entsprechenden Führungsetagen müssen wissen, wie sie auch unter schwierigsten Bedingungen die Geschäfte am Leben erhalten können. Genau dafür gibt es BCP.

Was ist Business Continuity Planning?

Business Continuity Planning ist die Vorausplanung und Vorbereitung innerhalb einer Organisation, um sicherzustellen, dass sie in der Lage ist, ihre kritischen Geschäftsfunktionen während und nach dem Eintreten von Notfällen auszuführen. Solche katastrophalen Ereignisse können Naturkatastrophen, Geschäftskrisen, Pandemien, Gewalt am Arbeitsplatz oder Ereignisse sein, die zu einer Störung des Geschäftsbetriebs führen könnten. Beim effektiven Business Continuity Management wird nicht nur für Ereignisse geplant und vorbereitet, durch die Funktionen vollständig gestoppt werden, sondern auch für Ereignisse, die sich möglicherweise bloß sehr negativ auf einzelne Dienste oder Funktionen auswirken, sodass einzelne Tätigkeitsfelder einer Organisation starken Störungen unterliegen. BCP stellt sicher, dass Personal sowie Sach- und Vermögenswerte geschützt und im Katastrophenfall schnell wieder einsatzfähig sind.

Die Vorteile von BCP

  1. Es kann im äußersten Fall nicht nur Daten und Produktionszyklen, sondern Leben retten.

 

  1. Es schafft Vertrauen bei Mitarbeitern, Kunden & Geschäftspartnern.

 

  1. Es stellt die Einhaltung der Industriestandards sicher (aus versicherungstechnischer Sicht relevant).

 

  1. Es schützt den Brand Value und das Image.

 

  1. Es pflegt eine belastbare Organisationskultur.

 

  1. Es liefert wertvolle Geschäftsdaten.

 

  1. Es hilft, finanzielles Risiko zu mindern.

 

  1. Es schützt die Lieferkette.

 

  1. Es gibt Unternehmen im besten Fall einen Wettbewerbsvorteil

Schlüsselelemente im Business Continuity Management

Durch die Durchführung einer Business Impact Analysis (BIA) können mögliche Schwachstellen sowie die Auswirkungen einer Katastrophe auf verschiedene Abteilungen aufgedeckt werden. Der BIA informiert eine Organisation über die wichtigsten Funktionen und Systeme, die in einem Business Continuity Plan priorisiert werden müssen.Ein Business-Continuity-Plan besteht aus drei Schlüsselelementen: Ausfallsicherheit, Wiederherstellung und Kontingenz.

Ein Unternehmen kann die Ausfallsicherheit erhöhen, indem es kritische Funktionen und Infrastrukturen mit Blick auf verschiedene Katastrophenmöglichkeiten entwirft. Dies kann Personalwechsel, Datenredundanz und die Aufrechterhaltung eines Kapazitätsüberschusses umfassen. Durch die Gewährleistung der Ausfallsicherheit in verschiedenen Szenarien können Unternehmen wichtige Dienste auch ohne Unterbrechung vor Ort und außerhalb des Standorts bereitstellen.

BCP als Notfallplan

Eine schnelle Wiederherstellung der Geschäftsfunktionen nach einem Notfall ist von entscheidender Bedeutung. Das Festlegen von Zielen für die Wiederherstellungszeit für verschiedene Systeme, Netzwerke oder Anwendungen kann helfen, Prioritäten für die Elemente festzulegen, die zuerst wiederhergestellt werden müssen. Andere Wiederherstellungsstrategien umfassen Ressourceninventare, Vereinbarungen mit Dritten zur Übernahme von Unternehmensaktivitäten und die Nutzung umgebauter Räume für geschäftskritische Funktionen.

Ein Notfallplan enthält Verfahren für eine Vielzahl externer Szenarien und kann eine Befehlskette enthalten, die die Verantwortlichkeiten innerhalb der Organisation während eines Katastrophenfalls verteilt. Diese Aufgaben können den Austausch von Hardware, die Anmietung von Büroräumen für Notfälle, die Schadensbeurteilung und die Beauftragung von Drittanbietern umfassen.

Ein entscheidender Faktor für einen schnellen Wiederanlauf beschädigter Geschäftsfunktionen sind kontinuierliche IT-Funktionen: Mit der heutigen Technologie können viele Vorsichtsmaßnahmen getroffen werden, um Daten, Informationen und Vorgänge zu schützen. Die Schlüsselwörter Datensicherung und Backup spielen hierbei in unserer digitalen Welt eine zentrale Rolle. Ein cloudbasierter Rechenzentrumsdienst ermöglicht Unternehmen, Ressourcen schnell zu verschieben und trotzdem auf dieselben Anwendungen und Informationen zuzugreifen. Der Business Continuity Plan und die IT-Infrastruktur einer Organisation sollten diese Strategie berücksichtigen.

Fünf Schritte zur Business Continuity-Planung

 

Um einen effektiven Business Continuity Plan zu erstellen, sollte ein Unternehmen die folgenden fünf Schritte ausführen:

 

Schritt 1: Risikobewertung

 

– Bewertung der Sicherheit vor bestimmten Szenarien

 

– Überprüfung der Points of Failure

 

– Bewertung der Auswirkungen verschiedener Geschäftsunterbrechungsszenarien

 

– Bestimmung der Eintrittswahrscheinlichkeit eines Risikos anhand eines Ratingsystems

 

– Entwicklung eines Plans zum weiteren Vorgehen anhand voriger Priorisierung

 

Schritt 2: Business Impact Analysis (BIA)

– Analyse der Recovery Point Objectives (RPO) und Recovery Time Objectives (RTO)

 

– Identifizieren kritischer Geschäftsprozesse und Workflows sowie unterstützender Produktionsanwendungen

 

– Identifizieren von Interdependenzen, sowohl intern als auch extern

 

– Identifizieren von kritischem Personal, einschließlich Backups, Fähigkeiten, primären und sekundären Kontakten

 

– Identifizieren eventueller spezieller Umstände

 

Schritt 3: Entwicklung eines Business Continuity Plans

 

– Abnahme der Business Impact Analysis durch die Geschäftsleitung

 

– Zusammenfassen der Risikobewertung und der BIA-Ergebnisse, um einen umsetzbaren und gründlichen Plan zu erstellen

 

– Entwicklung von unabhängigen Abteilungs- und Standortplänen

 

– Überprüfung des Plans mit den wichtigsten Interessengruppen zur Fertigstellung und Verteilung

 

Schritt 4: Implementierung planen

 

– Verteilung des Plans an alle wichtigen Stakeholder

 

– Durchführung von Schulungen, um sicherzustellen, dass die Mitarbeiter mit den im Plan beschriebenen Schritten vertraut sind

 

Schritt 5: Testen und Wartung planen

 

– Durchführung von Simulationsübungen, um sicherzustellen, dass die wichtigsten Stakeholder mit den Planschritten vertraut sind

 

– Durchführung von halbjährlichen Planprüfungen

 

– Durchführung jährlicher Business Impact Assessments

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.

Bei der Versendung von Daten über das Internet besteht vermehrt der Bedarf, eine verschlüsselte Verbindung zu verwenden. Je sensibler die Inhalte sind, desto sicherer muss ausgeschlossen werden, dass Dritte diese mitlesen oder verändern können. Auch ist es vor der Übertragung wichtig, dass man gewiss sein kann, überhaupt mit dem richtigen Empfänger zu kommunizieren. Verschlüsselung und das daraus abgeleitete Prinzip der Zertifikate, sind ein probates Mittel. Doch bei der Kommunikation mit externen Stellen muss zunächst einmal der Schlüssel geschützt ausgetauscht werden. Hierfür sind asymmetrische Verschlüsselungsverfahren wie RSA geeignet.

Herkunft und Entwicklung von RSA

Die Bezeichnung RSA stammt von den Anfangsbuchstaben der Erfinder: Rivest, Shamir und Adleman. Das Verfahren wurde bereits 1977 entwickelt und ist, mit leichten Modifizierungen und Verlängerungen der empfohlenen Schlüssellänge, bis heute im Einsatz. Ursprünglich wollten die drei Mathematiker nur beweisen, dass das ein Jahr zuvor vorgestellte Diffie-Hellman-Verfahren zum Schlüsseltausch Angriffspunkte aufweist. Dabei entdeckten sie eine darauf basierende Methode, für die sie keine Schwachstelle fanden und veröffentlichten sie als RSA. Zwischen 1983 und 2000 bestand ein Patent dafür.

Symmetrische und asymmetrische Verschlüsselung

Verschlüsselung beschreibt grundsätzlich die Kodierung von klartextlichen Daten. Diese können ihrerseits auch binär vorliegen. Die Transformation muss nach festgeschriebenen Operationen, dem Algorithmus, und anhand eines festgelegten Schlüssels erfolgen. Dies haben alle Verschlüsselungsverfahren gemeinsam.
Bei einem symmetrischen Verfahren wird derselbe Schlüssel für die Ver- und Entschlüsselung verwendet. Dies bringt das Problem mit sich, dass er auf beiden Seiten vorliegen muss. Eine unverschlüsselte Übertragung, vor Aufbau der verschlüsselten Verbindung, verbietet sich natürlich. Ein Angreifer könnte den Schlüssel ebenfalls abfangen und seinerseits alle Daten en- und dekodieren.

Besonderheiten

Die Besonderheit bei asymmetrischen Verfahren hingegen ist, dass zwei unterschiedliche Schlüssel verwendet werden. Es gibt einen privaten und einen öffentlichen Schlüssel. Es ist möglich, den mit einem der beiden verschlüsselte Datenbestand mit dem jeweils anderen zu entschlüsseln. Dies bringt zwei sinnvolle Anwendungszwecke mit sich. Der Absender kann seine Inhalte mit dem öffentlichen Schlüssel enkodieren und sich sicher sein, dass nur der Besitzer des privaten Schlüssels in der Lage ist, sie wieder zu dekodieren.

Sichere Verbindungen

Da der Inhalt auch ein Schlüssel für ein symmetrisches Kodierungsverfahren (im Gegenssatz zum RSA)  sein kann, ist dies gut geeignet, um eine sichere Verbindung aufzubauen. Steht diese Verbindung, sind beide Seiten im Besitz des korrekten Schlüssels und können verschlüsselt kommunizieren.
Die zweite Variante besteht darin, dass der Absender den versendeten Inhalt mit seinem privaten Schlüssel enkodiert. Der Empfänger kann sich den korrekten öffentlichen Schlüssel gefahrlos vom Absender herunterladen und damit den Datenbestand dekodieren. Ist der Inhalt lesbar, steht fest, dass er vom korrekten Absender stammt.

Details zu RSA

Dem Verfahren liegt das Prinzip einer Einwegfunktion zugrunde. Also einer Funktion, die nicht ohne Weiteres umkehrbar ist, wenn bestimmte Parameter nicht bekannt sind. RSA macht sich die Schwierigkeit bei der Faktorisierung von Primzahlen zunutze. Wird aus zwei ausreichend großen Primzahlen durch Multiplikation ein sehr großes Produkt erzeugt, ist es nur mit hohem Aufwand möglich, die verwendeten Faktoren zu errechnen. Beide erzeugten Schlüssel werden zudem noch mittels der Modulo-Operation, der Bestimmung des Rests einer ganzzahligen Division, bearbeitet. Die verwendeten Primzahlen werden gelöscht oder beim privaten Schlüssel verwahrt. Danach ist es möglich, durch eine sogenannte Falltür-Funktion, mit nur einem der beiden Schlüssel Inhalte zu entschlüsseln, die mit dem anderen Schlüssel verschlüsselt wurden.


Die Sicherheit des Systems hängt allerdings von der Länge der Schlüssel ab. Erst ab einer Größe von 2048 Bit kann zur Zeit von einer Komplexität ausgegangen werden, die mit der verfügbaren Rechenleistung in absehbarer Zeit nicht zu knacken ist. Dies ist nicht unerheblich, da die Dauer der Rechenoperationen bei der Kodierung sich mit zunehmender Schlüssellänge entsprechend verlängert.

Welche Anwendungen nutzen RSA?

Aufgrund des notwendigen Rechenaufwands ist das Verfahren nicht zweckdienlich, wo schnell große Datenmengen auszutauschen sind. Daher eignet es sich vorrangig für die Authentifizierung und, wie bereits erwähnt, für den Schlüsseltausch.
Dies ist allerdings bei sehr vielen bekannten Anwendungen der Fall. Das Webprotokoll HTTPS nutzt RSA zu diesem Zweck. Auch die Authentifizierung des Webservers, über dessen X.509-Zertifikat, läuft mit diesem Verfahren. Es findet zudem Verwendung bei TLS und damit bei der gesicherten Übertragung von E-Mails. Auch die Verschlüsselung von Mails mittels OpenPGP und S/MIME wird mittels RSA durchgeführt.
Bei der Verschlüsselung von Smartcards und RFID-Chips wird die Methode ebenfalls verwendet.

Welche Schwächen hat RSA?

RSA ist gegenüber symmetrischen Methoden wie AES etwa um das Hundertfache langsamer. Weiterhin ist es theoretisch angreifbar und nur eine ausreichend große Schlüssellänge schützt praktisch davor, die Schlüssel errechnen zu können. Da sich die Hardwareleistung immer noch erheblich in Richtung leistungsfähigerer Komponenten entwickelt, muss dies bei der Auswahl der Schlüssellänge berücksichtigt werden. Ansonsten kann eine Hard- oder Software, die RSA verwendet, mit der Zeit unsicher werden.

Alternative Verschlüsselungsmöglichkeiten

Es wurden weitere asymmetrische Verfahren wie Rabin, Chor-Rivest und Elgamal vorgestellt, die zum Teil auch einen ähnlichen Ansatz wie RSA haben. Jedoch hat sich bislang keines als ernsthafte Alternative durchsetzen können.
Da der Schlüsseltausch zur Initiierung einer schnelleren symmetrischen Methode nur eine sehr begrenzte Zeit beansprucht, können zudem bislang problemlos ausreichend lange Schlüssel verwendet werden.

Was ist WORM-Speicherung?

Unternehmen sammeln eine Menge Daten und manchmal müssen oder wollen sie diese Daten so speichern, dass sie nicht mehr geändert werden können. Write Once Read Many (engl. für „schreibe einmal, lese vielfach“) oder WORM ist die einmalige unveränderbare Speicherung von Daten, wobei das Lesen der Daten weiterhin möglich ist.

Einfach gesagt handelt es sich bei WORM um eine Speicherung, nach der die Daten nicht mehr verändert werden können. Sie können Daten genau einmal auf das Speichermedium schreiben. Das Löschen, Überschreiben oder Ändern dieser Daten ist dann aber dauerhaft ausgeschlossen. Eine einfache Version von einem WORM-Speicher ist eine CD-R (englisch: Compact Disc Recordable). Sie können Daten auf den Rohling schreiben, dann aber nicht mehr verändern. Sie können die Disc zwar beschädigen oder zerstören, um jemandem den Zugriff darauf zu verweigern, aber Sie können die darauf gespeicherten Daten nicht ändern. Was das Hard-WORM allerdings erlaubt, ist das mehrfache Lesen der Daten.

Soft-Worm – Softwarebasierter Speicherplatz

Die große Herausforderung besteht heute darin, bei der riesigen Menge an vorhanden Daten, das richtige Speichermedium zu finden. Selbst die auf einigen Blu-ray-Laufwerken verfügbare Kapazität von Terabyte reicht in einer Zeit, in der viele Unternehmen Daten in Petabyte messen, nicht mehr aus. Die Antwort auf das Problem sind softwarebasierte Systeme, die die Attribute nachahmen, die physische Medien zu WORM machen.

Dabei muss die Software vier wesentliche Punkte erfüllen. Sie darf nur ein einziges Mal erlauben, dass Daten auf ein Laufwerk geschrieben werden. Sie muss verhindern, dass jemand diese Daten löscht. Sie muss Aufzeichnungen über das Schreiben und den Zugriff auf Daten führen, um sicherzustellen, dass niemand die Daten manipuliert und sie muss jedem mit den richtigen Zugangsdaten ermöglichen, die Daten bei Bedarf zu lesen. Das löst das Größenproblem, das Sie mit einem physischen Datenträger haben. Ein mit dieser Software ausgestatteter Server sichert die Daten und bietet gleichzeitig die Speicherkapazität von Festplatten. Diese Form von WORM kann von Unternehmen intern eingesetzt oder von Cloud-Anbietern als Service angeboten werden.

 Redundanz von Systemen

Ein echtes Problem der WORM-Speicherung ist der Datenverlust. Nehmen wir an, Sie brennen etwas auf eine CD-R und lagern die Disc im Büro, aber das Gebäude brennt nieder. Dann haben Sie weder die CD noch den Computer. Wenn Sie sich für WORM auf physischen Medien entscheiden, bedeutet das, dass Sie mindestens zwei Kopien der CD-R, DVD oder Blu-ray Disc benötigen. Eine dieser Kopien muss extern aufbewahrt werden. Da Sie wahrscheinlich sensible Informationen speichern, ist die Sicherheit das Hauptproblem bei diesem Ansatz. Überall, außer in einem Bankschließfach, sind die Medien anfällig. Wenn Sie Kundendaten gespeichert haben, kann es bei einem Diebstahl zu Haftungsproblemen kommen. Die Redundanz ist mit einem Cloud-Speicherservice einfacher. Sie können die Daten auf mehreren Servern an verschiedenen Orten speichern, um einen Datenverlust zu vermeiden. Diese Art der Redundanz ist bei vielen Cloud Storage-Anbietern Standard.

Aufbewahrung der Daten

Wenn Sie aus rechtlichen Gründen z. B. Finanz- und Steuerunterlagen speichern müssen, gibt es ein Ablaufdatum. Meist beträgt die Aufbewahrungspflicht sechs oder zehn Jahre. Wenn Sie die Daten auf einem physischen Medium gespeichert haben, können Sie das Medium zerstören. Wenn Sie sie in der Cloud speichern, müssen Sie Aufbewahrungsfristen einrichten. Das ist eine Funktion der Software, die die Daten nach einer bestimmten Zeit freischaltet. Nach der Freischaltung der Daten können Sie diese löschen.

Brauche ich einen WORM-Speicher?

Nicht nur gesetzliche Anforderungen sprechen für den Einsatz . Wenn Sie Datensätze mit historischem Wert archivieren möchten, ist die WORM-Speicherung sinnvoll. Wenn Sie befürchten, dass jemand Geschäftsunterlagen manipuliert, können WORM-Daten dies womöglich beweisen oder widerlegen. WORM könnte auch dazu dienen, den Nachweis von Geschäftsgeheimnissen oder geistigem Eigentum zu einem bestimmten Zeitpunkt zu sichern.

Damit ein Computer funktioniert, benötigt er mehrere aufeinander abgestimmte Komponenten, ein Betriebssystem und Anwendungsprogramme. RAM ist ein Begriff, der in diesem Zusammenhang häufig genannt wird. Was RAM ist, wie er funktioniert und wozu er in einem Computer verwendet wird, erfahren Sie im folgenden Beitrag.

RAM ist die Abkürzung für „Random Access Memory“ und bezeichnet den schnellen Arbeitsspeicher in einem Computer oder Smartphone. „Random Access“ bedeutet wahlfreier oder direkter Zugriff. Auf die im RAM gespeicherten Daten kann direkt über die Adresse des Speicherplatzes zugegriffen werden. RAM wird daher auch als Direktzugriff-Speicher bezeichnet. Allgemein gebräuchlich ist jedoch die Bezeichnung Arbeitsspeicher. RAM ist ein flüchtiger Speicher. Die gespeicherten Daten gehen verloren, wenn der Strom abgeschaltet wird.

Wozu wird RAM benötigt?

Der Arbeitsspeicher eines Computers wird als Zwischenablage für häufig benötigte Daten verwendet. Beim Hochfahren eines Computers werden zunächst häufig verwendete Daten des Betriebssystems im RAM gespeichert. Sobald ein Programm, beispielsweise ein Office Programm oder ein Browser geöffnet wird, speichert das System ebenfalls häufig benutzte Daten der Programme im Arbeitsspeicher. Während des Betriebs werden von den benutzten Programmen und vom Betriebssystem selbst temporärer Daten erzeugt, die im RAM zwischengespeichert werden. Dadurch, dass wichtige Daten verschiedener Programme im RAM zwischengespeichert werden, ist sogenanntes Multitasking, die gleichzeitige Nutzung mehrerer Programme möglich. Zudem kann praktisch ohne Verzögerung zwischen mehreren Anwendungsprogrammen gewechselt werden.

Der Bedarf an Arbeitsspeicher für Betriebssysteme und Softwareprogramme hat sich im Laufe der Jahre deutlich erhöht. Für das Windows XP Betriebssystem waren minimal nur 64 MByte RAM erforderlich. Windows 7 benötigte in der 32-Bit Version mindestens 1 Gigabyte RAM und in der 64-Bit Version mindestens 2 Gigabyte Arbeitsspeicher. Für Windows 10 sind mindestens 2 GB RAM, besser jedoch 4 Gigabyte erforderlich, um flüssig funarbeiten zu können.

Funktionsweise

Ähnlich wie ein Mikroprozessor ist ein RAM-Speicherchip eine sogenannte integrierte Schaltung (Integrated Circuit, IC), die aus Millionen Transistoren und Kondensatoren besteht. Je mindestens ein Transistor und ein Kondensator bilden eine Speicherzelle. In jeder Speicherzelle kann ein einzelnes Datenbit – eine 0 oder eine 1 – gespeichert werden. Der Kondensator speichert elektrische Ladung in Form von Elektronen. Wenn ein Kondensator geladen ist, entspricht dies dem Wert 1. Ein leerer, nicht geladener Kondensator entspricht dem Wert 0. Der Transistor wird als Schalter benutzt, um den Ladungszustand des Kondensators zu lesen oder seinen Zustand zu ändern.
Mehrere dieser Speicherzellen sind in Zeilen, den sogenannten „Pages“ organisiert. Der Arbeitsspeicher ist über ein sogenanntes Bussystem mit dem Prozessor des Computers, der CPU, verbunden. Über das Bussystem werden Daten und die Informationen darüber, an welcher Stelle die Daten gespeichert sind, zwischen Prozessor und Arbeitsspeicher ausgetauscht. Ein kleiner Bereich eines RAM-Speicherchips wird als sogenannter Cache-Speicher verwendet. Dieser Teil ist direkt mit dem Prozessor verbunden. Dadurch ist ein sehr schneller Zugriff möglich. Der Cache-Speicher wird verwendet, um Daten zu speichern, die vom Prozessor besonders häufig benötigt werden. Die Speicherung im Cache erfolgt immer nur für kurze Zeit. Seltener genutzte Daten werden immer durch häufiger verwendete Daten ersetzt.

RAM Speicherchips haben aktuell eine Speicherkapazität zwischen 0,5 und 256 GB. Meistens werden mehrere Speicherchips auf einer Platine zu einem sogenannten Speichermodul zusammengefasst. Diese Module haben je nach Chipsatz eine Speicherkapazität von 2, 4, 8, 16, 32 und mehr Gigabyte.

Hohe Datenübertragungsraten und kurze Zugriffszeiten

RAM Speichermodule werden verwendet, da die Zugriffszeiten wesentlich kürzer und die Datenübertragungsraten deutlich höher sind als bei Festplattenspeichern. Sogenannte DDR4-SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) Module der 4. Generation erreichen Datenübertragungsraten von bis zu 25.600 Megabyte (MB) pro Sekunde. Im Vergleich dazu beträgt die Übertragungsrate einer HDD maximal etwa 380 MB/s. Eine moderne SSD kann etwas über 520 MB/s pro Sekunde übertragen. Zudem sind die Zugriffszeiten bei RAM Speichermodulen mit 60 bis 70 Nanosekunden deutlich geringer als bei Festplatten mit ca. 3,5 ms und SSDs mit etwa 0,2 ms.

Was passiert, wenn der Speicher „voll“ ist?

Sobald ein Computer läuft, werden Daten im RAM zwischengespeichert. Je mehr Programme geöffnet werden und je mehr Programme – wie beispielsweise Antivirenprogramme – im Hintergrund laufen, umso mehr füllt sich der Arbeitsspeicher mit Daten. Wenn im Arbeitsspeicher kein Platz für weitere Daten ist, nutzt das Betriebssystem freien Festplattenspeicher als virtuellen Arbeitsspeicher zur Auslagerung von häufig benötigten Daten. Da Festplatten deutlich langsamer sind als RAM, verlangsamt sich die Geschwindigkeit der Programmabläufe dadurch merklich. Videos werden ruckelig abgespielt, Berechnungen bei der Bildbearbeitung dauern länger und auch das Speichern von Textdateien verzögert sich. In den meisten Computern stehen jedoch freie Steckplätze für weitere RAM-Module zur Verfügung. Der Arbeitsspeicher kann daher in der Regel ohne großen Aufwand an gestiegene Anforderungen angepasst werden.

Was ist der Unterschied zwischen ROM und RAM?

ROM ist die Abkürzung für „Read Only Memory“, auf Deutsch „Nur-Lese-Speicher“. Im Gegensatz zu RAM ist ROM ein nichtflüchtiger Speicher. Informationen werden in einem ROM Speicherchip dauerhaft gespeichert. Das heißt, die gespeicherten Daten bleiben erhalten, wenn der Strom abgeschaltet wird. ROM Speicherchips werden für Daten verwendet, die sich während des Betriebs eines Computers nicht oder nur selten verändern. Häufig verwendete ROM-Bausteine sind sogenannte EEPROMs (Electrically Erasable Programmable Read-Only Memory). Diese Bausteine können mittels elektrischem Strom gelöscht und neu programmiert werden. EEPROMs werden immer dann genutzt, wenn sich die gespeicherten Daten nur selten und im geringem Umfang ändern. Sie werden beispielsweise verwendet, um die Informationen zu speichern, die benötigt werden, um einen Computer nach dem Einschalten hochzufahren.