EITC/IS/WSA Windows Server-Administration
EITC/IS/WSA Windows Server Administration ist das europäische IT-Zertifizierungsprogramm für Administration und Sicherheitsmanagement in Windows Server, einem führenden Microsoft-Netzwerkbetriebssystem für Server.
Das Curriculum der EITC/IS/WSA Windows Server Administration konzentriert sich auf Kenntnisse und praktische Fähigkeiten in Administration und Sicherheitsmanagement in Microsoft Windows Server, organisiert in der folgenden Struktur, einschließlich umfassender videodidaktischer Inhalte als Referenz für diese EITC-Zertifizierung.
Windows Server ist ein Markenname für eine Gruppe von Serverbetriebssystemen, die von Microsoft seit 2003 veröffentlicht wurden. Nach Linux ist es eines der beliebtesten Betriebssysteme für Netzwerkserver. Es umfasst Active Directory, DNS-Server, DHCP-Server, Gruppenrichtlinien sowie viele andere beliebte Funktionen für moderne Netzwerkserver. Im Gegensatz zu Linux (dem beliebtesten Betriebssystem für Server) ist Microsoft Windows Server keine Open Source, sondern eine proprietäre Software.
Seit 2003 hat Microsoft eine Reihe von Serverbetriebssystemen unter dem Markennamen Windows Server veröffentlicht. Windows Server 2003 war die erste Windows Server Edition, die unter dieser Marke angeboten wurde. Windows NT 3.1 Advanced Server war die erste Serveredition, gefolgt von Windows NT 3.5 Server, Windows NT 3.51 Server, Windows NT 4.0 Server und Windows 2000 Server. Active Directory, DNS-Server, DHCP-Server, Gruppenrichtlinien und viele andere beliebte Funktionen wurden zum ersten Mal in Windows 2000 Server integriert.
Microsoft bietet in der Regel zehn Jahre Support für Windows Server, fünf Jahre Mainstream-Support und weitere fünf Jahre erweiterten Support. Diese Editionen enthalten auch eine umfassende Desktop-Oberfläche mit grafischer Benutzeroberfläche (GUI). Server Core- und Nano Server-Varianten wurden mit Windows Server 2008 R2 eingeführt, um den Betriebssystembedarf zu verringern. Um diese Updates von halbjährlichen Releases zu unterscheiden, bezeichnete Microsoft sie zwischen 2015 und 2021 als „Long-Term Servicing“-Releases. (siehe unten.)
Microsoft hat in den letzten sechzehn Jahren alle vier Jahre eine Hauptversion von Windows Server veröffentlicht, wobei eine Nebenversion zwei Jahre nach einer Hauptversion veröffentlicht wurde. Den Titeln der Nebenversionen wurde das Suffix „R2“ hinzugefügt. Microsoft hat dieses Muster im Oktober 2018 verletzt, als es Windows Server 2019 veröffentlichte, das "Windows Server 2016 R2" sein sollte. Darüber hinaus ist Windows Server 2022 eine kleine Verbesserung gegenüber der Vorgängerversion.
Folgendes ist in den Vollversionen enthalten:
- Windows Server 2003 ist ein Serverbetriebssystem (April 2003)
- Windows Server 2003 R2 ist eine Version von Windows Server 2003. (Dezember 2005)
- Windows Server 2008 ist ein von Microsoft entwickeltes Serverbetriebssystem (Februar 2008)
- Windows Server 2008 R2 ist die neueste Version von Windows Server (Oktober 2009)
- Windows Server 2012 ist ein Serverbetriebssystem (September 2012)
- Windows Server 2012 R2 ist die neueste Version von Windows Server (Oktober 2013)
2016 ist die neueste Version von Windows Server (September 2016) - Windows Server 2019 ist die neueste Version von Windows Server (Oktober 2018)
- Microsoft Windows Server 2022 (August 2021)
Zu den Hauptfunktionen des Windows-Servers gehören:
- Sicherheit mit mehreren Schutzebenen: Verbesserung der Sicherheitslage des Unternehmens durch den Beginn des Betriebssystems.
- Hybridfunktionen von Azure: Steigerung der IT-Effizienz durch die Erweiterung von Rechenzentren auf Azure.
- Plattform für eine Vielzahl von Anwendungen: Bietet Entwicklern und IT-Experten die Tools, die sie zum Erstellen und Bereitstellen einer Vielzahl von Apps mithilfe einer Anwendungsplattform benötigen.
- Integration mit Azure: Optionen wie Azure Hybrid Benefit und Extended Security Updates sind verfügbar.
Active Directory (AD) von Microsoft ist ein Verzeichnisdienst für Windows-Domänennetzwerke. Ein Active Directory-Domänencontroller authentifiziert und autorisiert alle Benutzer und Computer in einem Windows-Domänennetzwerk, weist Sicherheitsrichtlinien zu und setzt sie durch und installiert oder aktualisiert Software. Ein Schema beschreibt die Arten von Objekten, die in einer Active Directory-Datenbank gespeichert werden können, sowie die Eigenschaften und Informationen, die die Objekte darstellen. Eine Gesamtstruktur ist eine Gruppe von Bäumen, die einen globalen Katalog, ein Verzeichnisschema, eine logische Struktur und eine Verzeichniskonfiguration gemeinsam nutzen. Ein Baum ist eine Sammlung von einer oder mehreren Domänen, die in einer transitiven Vertrauenshierarchie in einem kontinuierlichen Namespace verknüpft sind. Eine Domäne ist eine logische Sammlung von Objekten (Computern, Benutzern und Geräten), die eine Active Directory-Datenbank gemeinsam nutzen. Die DNS-Namensstruktur, bei der es sich um den Active Directory-Namespace handelt, wird verwendet, um Domänen zu identifizieren. Benutzer in einer Domäne können dank Vertrauensstellungen auf Ressourcen in einer anderen Domäne zugreifen. Wenn eine untergeordnete Domäne erstellt wird, werden automatisch Vertrauensstellungen zwischen den übergeordneten und untergeordneten Domänen erstellt. Domänencontroller sind Server, die mit der Rolle der Active Directory-Domänendienste konfiguriert sind und eine Active Directory-Datenbank für eine bestimmte Domäne hosten. Sites sind Gruppen miteinander verbundener Subnetze an einem bestimmten geografischen Ort. Auf einem Domänencontroller vorgenommene Änderungen werden auf alle anderen Domänencontroller repliziert, die dieselbe Active Directory-Datenbank verwenden (d. h. innerhalb derselben Domäne). Der Knowledge Consistency Checker (KCC)-Dienst verwaltet den Datenverkehr, indem er eine Replikationstopologie von Site-Links basierend auf den definierten Sites erstellt. Die Änderungsmitteilung aktiviert Domänencontroller, um einen Pull-Replikationszyklus zu starten, was zu einer häufigen und automatischen standortinternen Replikation führt. Die Intersite-Replikationsintervalle sind normalerweise kürzer und hängen eher von der verstrichenen Zeit als von der Änderungsbenachrichtigung ab. Während die meisten Domänenupdates auf jedem Domänencontroller ausgeführt werden können, können einige Aktivitäten nur auf einem bestimmten Server ausgeführt werden. Diese Server werden als „Operation Master“ (ursprünglich Flexible Single Master Operations oder FSMOs) bezeichnet. Schema-Master, Domänennamen-Master, PDC-Emulator, RID-Master und Infrastruktur-Master sind die Betriebsmasterpositionen. Die Funktionsebene einer Domäne oder Gesamtstruktur bestimmt, welche erweiterten Funktionen in der Gesamtstruktur oder Domäne verfügbar sind. Für Windows Server 2016 und 2019 werden verschiedene Funktionsstufen angeboten. Alle Domänencontroller sollten so konfiguriert werden, dass sie die höchste Funktionsebene für Gesamtstrukturen und Domänen bereitstellen. Zu administrativen Zwecken werden Container verwendet, um Active Directory-Objekte zu gruppieren. Die Domäne, Builtin, Benutzer, Computer und Domänencontroller sind die Standardcontainer. Organisationseinheiten (OUs) sind Objektcontainer, die verwendet werden, um einer Domäne eine Verwaltungshierarchie bereitzustellen. Sie unterstützen sowohl die administrative Delegierung als auch die Bereitstellung von Gruppenrichtlinienobjekten. Die Active Directory-Datenbank wird in einer Domäne verwendet, um Benutzer und Computer für alle Computer und Benutzer der Domäne zu authentifizieren. Eine Arbeitsgruppe ist eine alternative Einrichtung, bei der jeder Computer für die Authentifizierung seiner eigenen Benutzer verantwortlich ist. Alle Maschinen in der Domäne haben Zugriff auf Domänenkonten, die in der Active Directory-Datenbank verwaltet werden. Die Security Account Manager (SAM)-Datenbank jedes lokalen Computers speichert lokale Konten, auf die nur dieser Computer zugreifen kann. Verteilergruppen und Sicherheitsgruppen sind die beiden Arten von Benutzergruppen, die von Active Directory unterstützt werden. E-Mail-Anwendungen wie Microsoft Exchange verwenden Verteilergruppen. Benutzerkonten werden in Sicherheitsgruppen gruppiert, um Berechtigungen und Berechtigungen anzuwenden. Der Bereich von Active Directory-Gruppen kann auf Universal, Global oder Domain Local festgelegt werden. Jedes Konto in der Gesamtstruktur kann Mitglied einer universellen Gruppe sein, die jeder Ressource in der Gesamtstruktur zugewiesen werden kann. Jedes Konto in der Domäne kann Mitglied einer globalen Gruppe sein und jeder Ressource in der Gesamtstruktur zugewiesen werden. Jedes Konto in der Gesamtstruktur kann Mitglied einer lokalen Domänengruppe sein, die einer beliebigen Domänenressource zugewiesen werden kann. Andere universelle Gruppen und globale Gruppen aus dem Wald finden sich in universellen Gruppen. Globale Gruppen derselben Domäne können zusätzliche globale Gruppen enthalten. Lokale Domänengruppen können sowohl universelle und globale Gesamtstrukturgruppen als auch lokale Domänengruppen derselben Domäne enthalten. Microsoft empfiehlt die Verwendung globaler Gruppen zum Organisieren von Benutzern und lokale Domänengruppen zum Anordnen von Ressourcen zum Verwalten von Konten und Ressourcen.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/WSA Windows Server Administration Certification Curriculum verweist auf Open-Access-Lehrmaterialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
EITC/IS/LSA Linux-Systemverwaltung
EITC/IS/LSA Linux System Administration ist das europäische IT-Zertifizierungsprogramm für Administration und Sicherheitsmanagement in Linux, einem Open-Source-Netzwerkbetriebssystem, das häufig in Servern mit einer weltweit führenden Position verwendet wird.
Das Curriculum der EITC/IS/LSA Linux System Administration konzentriert sich auf Kenntnisse und praktische Fähigkeiten in Administration und Sicherheitsmanagement unter Linux, die in der folgenden Struktur organisiert sind, und umfasst umfassende videodidaktische Inhalte als Referenz für diese EITC-Zertifizierung.
Linux ist eine Sammlung von Open-Source-Unix-ähnlichen Betriebssystemen, die allgemein als führender Standard für Netzwerkserver-Betriebssysteme anerkannt sind und auf dem Linux-Kernel von Linus Torvalds basieren, der erstmals 1991 veröffentlicht wurde. Der Linux-Kernel sowie begleitende Systemsoftware und Bibliotheken werden üblicherweise in einer Linux-Distribution gebündelt, von denen viele unter dem GNU-Projekt lizenziert sind. Obwohl viele Linux-Distributionen den Begriff „Linux“ verwenden, bevorzugt die Free Software Foundation den Begriff „GNU/Linux“, um die Bedeutung von GNU-Software zu unterstreichen.
Debian, Fedora und Ubuntu sind alle beliebte Linux-Distributionen. Red Hat Enterprise Linux und SUSE Linux Enterprise Server sind zwei kommerzielle Distributionen. Ein Windowing-System wie X11 oder Wayland sowie eine Desktop-Umgebung wie GNOME oder KDE Plasma sind in Desktop-Linux-Distributionen enthalten. Serververteilungen können Grafiken enthalten oder nicht oder können einen Lösungsstapel wie LAMP enthalten. Jeder kann eine Distribution für jeden Zweck produzieren, da Linux eine frei verteilbare Open-Source-Software ist.
Linux wurde für die auf der x86-Architektur basierenden PCs von Intel entwickelt, wurde jedoch später auf mehr Plattformen portiert als jedes andere Betriebssystem. Linux hat aufgrund der Dominanz des Linux-basierten Android auf Smartphones die größte installierte Basis aller Allzweck-Betriebssysteme. Obwohl Linux nur von 2.3 Prozent der Desktop-Computer verwendet wird, dominiert das Chromebook, auf dem das Linux-Kernel-basierte Chrome OS ausgeführt wird, den US-amerikanischen K-12-Bildungsmarkt und macht etwa 20 % aller Laptop-Verkäufe unter 300 US-Dollar aus . Linux ist das beliebteste Betriebssystem für Server (etwa 96.4 Prozent der Top 1 Million Webserver laufen mit Linux) sowie für andere große Eisensysteme wie Mainframe-Computer und TOP500-Supercomputer (seit November 2017, nachdem alle Konkurrenten schrittweise eliminiert wurden).
Linux ist auch für eingebettete Systeme verfügbar, das sind Geräte, deren Betriebssystem oft in die Firmware integriert und stark an das System angepasst ist. Router, Automatisierungssteuerung, Smart Home-Technologie, Fernseher (Samsung und LG Smart TVs verwenden Tizen bzw. WebOS), Autos (Tesla, Audi, Mercedes-Benz, Hyundai und Toyota verwenden alle Linux), digitale Videorekorder, Videospielkonsolen , und Smartwatches sind alles Beispiele für Linux-basierte Geräte. Die Avionik von Falcon 9 und Dragon 2 basiert auf einer angepassten Linux-Version.
Linux ist eines der bekanntesten Beispiele für die Zusammenarbeit von freier und Open-Source-Software. Gemäß den Regeln ihrer einzelnen Lizenzen, wie der GNU General Public License, darf der Quellcode von jedermann kommerziell oder nicht-kommerziell verwendet, aktualisiert und verbreitet werden.
Laut mehreren Open-Source-Entwicklern wurde der Linux-Kernel nicht entworfen, sondern durch natürliche Selektion weiterentwickelt. Obwohl die Unix-Architektur als Gerüst fungierte, glaubt Torvalds, dass „Linux sich mit vielen Mutationen entwickelt hat – und weil die Mutationen nicht zufällig waren, waren sie schneller und gerichteter als Alpha-Teilchen in der DNA.“ Die revolutionären Eigenschaften von Linux, so Eric S. Raymond, sind eher sozial als technisch: Vor Linux wurde anspruchsvolle Software in mühevoller Kleinarbeit von kleinen Gruppen entwickelt, aber „Linux ist ganz anders aufgewachsen. Es wurde von Anfang an fast versehentlich von großen Gruppen von Freiwilligen gehackt, die ausschließlich über das Internet kommunizierten. Die dämlich einfache Technik, jede Woche zu veröffentlichen und innerhalb von Tagen von Hunderten von Benutzern Eingaben zu erhalten, um eine Form der schnellen darwinistischen Auswahl der von den Entwicklern eingebrachten Mutationen zu erzeugen, anstatt strenge Standards oder Diktaturen, wurde verwendet, um die Qualität zu erhalten.“ „Linux wurde nicht entwickelt, es hat sich weiterentwickelt“, sagt Bryan Cantrill, Ingenieur für ein konkurrierendes Betriebssystem, sieht dies jedoch als Einschränkung und behauptet, dass einige Funktionen, insbesondere solche im Zusammenhang mit der Sicherheit, nicht weiterentwickelt werden können, weil „dies nicht Letztendlich ist es kein biologisches System, sondern ein Softwaresystem.“ Ein Linux-basiertes System ist ein modulares Unix-ähnliches Betriebssystem, das einen Großteil seiner architektonischen Inspiration aus den in den 1970er und 1980er Jahren entwickelten Unix-Prinzipien bezieht. Ein monolithischer Kernel, der Linux-Kernel, wird in einem solchen System verwendet, um Prozesssteuerung, Netzwerk, Peripheriezugriff und Dateisysteme zu handhaben. Gerätetreiber werden entweder direkt in den Kernel integriert oder als Module hinzugefügt, die geladen werden, während das System läuft.
Das GNU-Benutzerland ist ein wichtiges Merkmal der meisten Linux-basierten Systeme, mit Ausnahme von Android. Die Toolchain ist eine breite Sammlung von Programmierwerkzeugen, die für die Linux-Entwicklung unerlässlich sind (einschließlich der Compiler, die zum Erstellen des Linux-Kernels selbst verwendet werden), und die Coreutils implementieren viele grundlegende Unix-Tools. Die Implementierung der C-Bibliothek des Projekts funktioniert als Wrapper für die Systemaufrufe des Linux-Kernels, die für die Kernel-Userspace-Schnittstelle erforderlich sind. , und die coreutils implementieren viele grundlegende Unix-Tools. Im Rahmen des Projekts wird auch Bash, eine beliebte CLI-Shell, entwickelt. Die grafische Benutzeroberfläche (oder GUI) der meisten Linux-Systeme basiert auf einer Implementierung des X Window Systems. In jüngerer Zeit hat die Linux-Community daran gearbeitet, X11 durch Wayland als Ersatz-Display-Server-Protokoll zu ersetzen. Linux-Systeme profitieren von mehreren anderen Open-Source-Softwareinitiativen.
Zu den installierten Komponenten eines Linux-Systems gehören die folgenden:
- GNU GRUB, LILO, SYSLINUX oder Gummiboot sind Beispiele für Bootloader. Dies ist eine Software, die beim Einschalten des Computers und nach der Firmware-Initialisierung ausgeführt wird, um den Linux-Kernel in den Hauptspeicher des Computers zu laden.
- Ein Init-Programm wie sysvinit oder das neuere systemd, OpenRC oder Upstart. Dies ist der anfängliche Prozess, der vom Linux-Kernel gestartet wird, und befindet sich ganz oben im Prozessbaum; mit anderen Worten, init ist der Ausgangspunkt für alle anderen Prozesse. Es initiiert Aufgaben wie Systemdienste und Anmeldeaufforderungen (ob grafisch oder im Terminalmodus).
- Softwarebibliotheken sind Codesammlungen, die von anderen Programmen verwendet werden können. Der dynamische Linker, der die Verwendung dynamischer Bibliotheken auf Linux-Systemen handhabt, die ausführbare Dateien im ELF-Format verwenden, ist als ld-linux.so bekannt. Wenn das System so eingerichtet ist, dass der Benutzer selbst Anwendungen generieren kann, werden Header-Dateien eingebunden, um die Schnittstelle der installierten Bibliotheken zu beschreiben. Neben der GNU C Library (glibc), der am weitesten verbreiteten Softwarebibliothek auf Linux-Systemen, gibt es weitere Bibliotheken wie SDL und Mesa.
- Die GNU-C-Bibliothek ist die Standard-C-Standardbibliothek, die zum Ausführen von C-Programmen auf einem Computersystem erforderlich ist. Es wurden Alternativen für eingebettete Systeme entwickelt, darunter musl, EGLIBC (ein ursprünglich von Debian verwendeter glibc-Klon) und uClibc (erstellt für uClinux), die letzten beiden werden jedoch nicht mehr gepflegt. Zum Einsatz kommt Bionic, die Android-eigene C-Bibliothek.
- GNU coreutils ist die Standardimplementierung grundlegender Unix-Befehle. Für eingebettete Geräte gibt es Alternativen wie die Copyleft-BusyBox und die BSD-lizenzierte Toybox.
- Widget-Toolkits sind Bibliotheken zum Erstellen von grafischen Benutzeroberflächen (GUIs) von Softwareanwendungen. GTK und Clutter, erstellt vom GNOME-Projekt, Qt, entwickelt vom Qt-Projekt und geleitet von The Qt Company, und Enlightenment Foundation Libraries (EFL), die hauptsächlich vom Enlightenment-Team verwaltet werden, gehören zu den verfügbaren Widget-Toolkits.
- Zur Verwaltung von Paketen wird ein Paketverwaltungssystem wie dpkg oder RPM verwendet. Pakete können auch aus Quell-Tarballs oder Binär-Tarballs erstellt werden.
- Befehlsshells und Fensterumgebungen sind Beispiele für Benutzeroberflächenprogramme.
Die Benutzerschnittstelle, oft als Shell bekannt, ist typischerweise eine Befehlszeilenschnittstelle (CLI), eine grafische Benutzerschnittstelle (GUI) oder an die begleitende Hardware gekoppelte Steuerelemente. Die typische Benutzeroberfläche auf Desktop-PCs ist normalerweise grafisch, während die CLI häufig über Terminalemulatorfenster oder eine separate virtuelle Konsole zugänglich ist.
Textbasierte Benutzeroberflächen oder CLI-Shells verwenden Text sowohl für die Eingabe als auch für die Ausgabe. Die für das GNU-Projekt erstellte Bourne-Again-Shell (bash) ist die am weitesten verbreitete Shell unter Linux. Die CLI wird vollständig von den meisten Low-Level-Linux-Komponenten verwendet, einschließlich verschiedener Abschnitte des Userland. Die CLI eignet sich besonders gut für die Automatisierung wiederholter oder verzögerter Vorgänge und ermöglicht eine relativ einfache Kommunikation zwischen Prozessen.
Die GUI-Shells, vollgepackt mit vollständigen Desktop-Umgebungen wie KDE Plasma, GNOME, MATE, Cinnamon, LXDE, Pantheon und Xfce, sind die beliebtesten Benutzeroberflächen auf Desktop-Systemen, während es eine Reihe anderer Benutzeroberflächen gibt. Das X Window System, auch als „X“ bekannt, liegt den meisten gängigen Benutzeroberflächen zugrunde. Es ermöglicht Netzwerktransparenz, indem es ermöglicht, dass eine grafische Anwendung, die auf einem Computer läuft, auf einem anderen angezeigt wird, wo ein Benutzer damit interagieren kann; Einige X Window System-Erweiterungen können jedoch nicht über das Netzwerk arbeiten. Es gibt mehrere X-Display-Server, von denen der beliebteste X.Org Server ist, der die Referenzimplementierung ist.
Server-Distributionen können eine Befehlszeilenschnittstelle für Entwickler und Administratoren bereitstellen, können aber auch eine maßgeschneiderte Schnittstelle für Endbenutzer enthalten, die auf den Anwendungsfall des Systems zugeschnitten ist. Auf diese benutzerdefinierte Schnittstelle wird über einen Client zugegriffen, der auf einem anderen System läuft, das nicht unbedingt Linux-basiert ist.
Für X11 gibt es verschiedene Arten von Fenstermanagern, einschließlich Kacheln, Dynamisch, Stapeln und Zusammensetzen. Fenstermanager interagieren mit dem X Window System und ermöglichen Ihnen, die Position und das Aussehen einzelner Anwendungsfenster zu steuern. Einfachere X-Window-Manager wie dwm, ratpoison, i3wm oder herbstluftwm haben eine minimalistische Oberfläche, während komplexere Window-Manager wie FVWM, Enlightenment oder Window Maker zusätzliche Funktionen wie eine integrierte Taskleiste und Designs enthalten, aber dennoch im Vergleich zu . leichtgewichtig sind Desktop-Umgebungen. Fenstermanager wie Mutter (GNOME), KWin (KDE) und Xfwm (xfce) sind in den meisten Desktop-Umgebungen in der Grundinstallation enthalten, Benutzer können jedoch auch einen anderen Fenstermanager verwenden, wenn sie dies bevorzugen.
Wayland ist ein Display-Server-Protokoll, das das X11-Protokoll ersetzen soll, aber ab 2014 noch nicht weit verbreitet ist. Wayland benötigt im Gegensatz zu X11 keinen externen Window-Manager oder Compositing-Manager. Als Ergebnis dient ein Wayland-Compositor als Anzeigeserver, Fenstermanager und Compositing-Manager in einem. Die Referenzimplementierung von Wayland ist Weston, obwohl Mutter und KWin von GNOME und KDE als eigenständige Anzeigeserver auf Wayland konvertiert werden. Seit Version 19 wurde Enlightenment erfolgreich portiert.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/LSA Linux System Administration Certification Curriculum verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
Grundlagen des EITC/IS/CNF-Computernetzwerks
EITC/IS/CNF Computer Networking Fundamentals ist das europäische IT-Zertifizierungsprogramm zu theoretischen und praktischen Aspekten der grundlegenden Computernetzwerke.
Das Curriculum der EITC/IS/CNF Computer Networking Fundamentals konzentriert sich auf Kenntnisse und praktische Fähigkeiten in den Grundlagen der Computernetzwerke, die in der folgenden Struktur organisiert sind, und umfasst umfassende videodidaktische Inhalte als Referenz für diese EITC-Zertifizierung.
Ein Computernetzwerk ist eine Sammlung von Computern, die Ressourcen zwischen Netzwerkknoten teilen. Um miteinander zu kommunizieren, verwenden die Computer Standardkommunikationsprotokolle über digitale Verbindungen. Telekommunikationsnetztechnologien, die auf physikalisch verdrahteten, optischen und drahtlosen Hochfrequenzsystemen basieren, die in einer Reihe von Netztopologien zusammengestellt werden können, bilden diese Verbindungen. Personalcomputer, Server, Netzwerkhardware und andere spezialisierte oder Allzweck-Hosts können alle Knoten in einem Computernetzwerk sein. Netzwerkadressen und Hostnamen können verwendet werden, um sie zu identifizieren. Hostnamen dienen als leicht zu merkende Bezeichnungen für Knoten und werden nach der Zuweisung selten geändert. Kommunikationsprotokolle wie das Internet Protocol verwenden Netzwerkadressen, um Knoten zu lokalisieren und zu identifizieren. Sicherheit ist einer der kritischsten Aspekte von Netzwerken. Dieser EITC-Lehrplan behandelt die Grundlagen der Computernetzwerke.
Ein Computernetzwerk ist eine Sammlung von Computern, die Ressourcen zwischen Netzwerkknoten teilen. Um miteinander zu kommunizieren, verwenden die Computer Standardkommunikationsprotokolle über digitale Verbindungen. Telekommunikationsnetztechnologien, die auf physikalisch verdrahteten, optischen und drahtlosen Hochfrequenzsystemen basieren, die in einer Reihe von Netztopologien zusammengestellt werden können, bilden diese Verbindungen. Personalcomputer, Server, Netzwerkhardware und andere spezialisierte oder Allzweck-Hosts können alle Knoten in einem Computernetzwerk sein. Netzwerkadressen und Hostnamen können verwendet werden, um sie zu identifizieren. Hostnamen dienen als leicht zu merkende Bezeichnungen für Knoten und werden nach der Zuweisung selten geändert. Kommunikationsprotokolle wie das Internet Protocol verwenden Netzwerkadressen, um Knoten zu lokalisieren und zu identifizieren. Sicherheit ist einer der kritischsten Aspekte von Netzwerken.
Das zur Übertragung von Signalen verwendete Übertragungsmedium, Bandbreite, Kommunikationsprotokolle zum Organisieren des Netzwerkverkehrs, Netzwerkgröße, Topologie, Verkehrssteuerungsmechanismus und organisatorisches Ziel sind alles Faktoren, die zur Klassifizierung von Computernetzwerken verwendet werden können.
Der Zugriff auf das World Wide Web, digitales Video, digitale Musik, die gemeinsame Nutzung von Anwendungs- und Speicherservern, Druckern und Faxgeräten sowie die Nutzung von E-Mail- und Instant Messaging-Programmen werden über Computernetzwerke unterstützt.
Ein Computernetzwerk verwendet mehrere Technologien wie E-Mail, Instant Messaging, Online-Chat, Audio- und Videotelefongespräche und Videokonferenzen, um zwischenmenschliche Verbindungen über elektronische Mittel zu erweitern. Ein Netzwerk ermöglicht die gemeinsame Nutzung von Netzwerk- und Computerressourcen. Benutzer können auf Netzwerkressourcen zugreifen und diese verwenden, z. B. ein Dokument auf einem freigegebenen Netzwerkdrucker drucken oder auf ein freigegebenes Speicherlaufwerk zugreifen und dieses verwenden. Ein Netzwerk ermöglicht es autorisierten Benutzern, auf Informationen zuzugreifen, die auf anderen Computern im Netzwerk gespeichert sind, indem Dateien, Daten und andere Arten von Informationen übertragen werden. Um Aufgaben zu erledigen, nutzt das verteilte Rechnen die über ein Netzwerk verteilten Computerressourcen.
Die Übertragung im Paketmodus wird von den meisten aktuellen Computernetzwerken verwendet. Ein paketvermitteltes Netzwerk transportiert ein Netzwerkpaket, das eine formatierte Dateneinheit ist.
Steuerinformationen und Benutzerdaten sind die beiden Arten von Daten in Paketen (Nutzdaten). Die Steuerinformationen umfassen Informationen wie Quell- und Zielnetzwerkadressen, Fehlererkennungscodes und Sequenzierungsinformationen, die das Netzwerk benötigt, um Benutzerdaten zu übertragen. Steuerdaten sind typischerweise in Paket-Headern und -Trailern enthalten, mit Nutzdaten in der Mitte.
Die Bandbreite des Übertragungsmediums kann unter Verwendung von Paketen besser unter Benutzern geteilt werden als bei leitungsvermittelten Netzwerken. Wenn ein Benutzer keine Pakete überträgt, kann die Verbindung mit Paketen von anderen Benutzern gefüllt werden, wodurch die Kosten mit minimalen Störungen geteilt werden können, solange die Verbindung nicht missbraucht wird. Oft ist der Weg, den ein Paket durch ein Netzwerk nehmen muss, gerade nicht verfügbar. In diesem Fall wird das Paket in die Warteschlange gestellt und nicht gesendet, bis ein Link verfügbar wird.
Physikalische Verbindungstechnologien für Paketnetzwerke begrenzen häufig die Paketgröße auf eine bestimmte maximale Übertragungseinheit (MTU). Eine größere Nachricht kann vor der Übertragung zerlegt werden, und die Pakete werden wieder zusammengesetzt, um die ursprüngliche Nachricht zu bilden, sobald sie ankommen.
Topologien gemeinsamer Netzwerke
Die physischen oder geografischen Standorte von Netzknoten und Verbindungen haben einen geringen Einfluss auf ein Netz, aber die Architektur der Verbindungen eines Netzes kann einen erheblichen Einfluss auf seinen Durchsatz und seine Zuverlässigkeit haben. Ein einzelner Ausfall in verschiedenen Technologien wie Bus- oder Sternnetzen kann zum Ausfall des gesamten Netzes führen. Im Allgemeinen gilt: Je mehr Verbindungen ein Netzwerk hat, desto stabiler ist es; jedoch, desto teurer ist die Einrichtung. Daher sind die meisten Netzwerkdiagramme nach ihrer Netzwerktopologie organisiert, die eine Karte der logischen Beziehungen der Netzwerkhosts darstellt.
Im Folgenden finden Sie Beispiele für gängige Layouts:
Über dieses Medium sind alle Teilnehmer eines Busnetzes mit einem gemeinsamen Medium verbunden. Dies war die ursprüngliche Ethernet-Konfiguration, bekannt als 10BASE5 und 10BASE2. Auf der Sicherungsschicht ist dies immer noch eine vorherrschende Architektur, obwohl aktuelle Varianten der physikalischen Schicht Punkt-zu-Punkt-Verbindungen verwenden, um stattdessen einen Stern oder einen Baum zu bilden.
Alle Knoten sind mit einem zentralen Knoten in einem Sternnetz verbunden. Dies ist die übliche Konfiguration in einem kleinen geswitchten Ethernet-LAN, in dem jeder Client mit einem zentralen Netzwerk-Switch verbunden ist, und logischerweise in einem drahtlosen LAN, in dem jeder drahtlose Client mit dem zentralen drahtlosen Zugangspunkt verbunden ist.
Jeder Knoten ist mit seinem linken und rechten Nachbarknoten verbunden, wodurch ein Ringnetz gebildet wird, in dem alle Knoten verbunden sind und jeder Knoten den anderen Knoten erreichen kann, indem er Knoten nach links oder rechts durchquert. Diese Topologie wurde in Token-Ring-Netzwerken und dem Fiber Distributed Data Interface (FDDI) verwendet.
Mesh-Netzwerk: Jeder Knoten ist mit einer beliebigen Anzahl von Nachbarn so verbunden, dass jeder Knoten mindestens eine Traversierung hat.
Jeder Knoten im Netzwerk ist mit jedem anderen Knoten im Netzwerk verbunden.
Die Knoten in einem Baumnetzwerk sind in einer hierarchischen Reihenfolge angeordnet. Mit mehreren Switches und keinem redundanten Meshing ist dies die natürliche Topologie für ein größeres Ethernet-Netzwerk.
Die physische Architektur der Knoten eines Netzwerks repräsentiert nicht immer die Struktur des Netzwerks. Die Netzwerkarchitektur von FDDI beispielsweise ist ein Ring, aber die physische Topologie ist häufig ein Stern, da alle Verbindungen in der Nähe über einen einzigen physischen Standort geleitet werden können. Da jedoch gemeinsame Kanal- und Geräteplatzierungen aufgrund von Problemen wie Bränden, Stromausfällen und Überschwemmungen einzelne Fehlerquellen darstellen können, ist die physische Architektur nicht ganz bedeutungslos.
Overlay-Netzwerke
Ein virtuelles Netzwerk, das über einem anderen Netzwerk aufgebaut wird, wird als Overlay-Netzwerk bezeichnet. Virtuelle oder logische Links verbinden die Knoten des Overlay-Netzwerks. Jeder Link im zugrunde liegenden Netzwerk entspricht einem Pfad, der über mehrere physikalische Links verlaufen kann. Die Topologie des Overlay-Netzwerks kann (und tut es häufig) von der des zugrunde liegenden Netzwerks abweichen. Viele Peer-to-Peer-Netzwerke sind beispielsweise Overlay-Netzwerke. Sie sind als Knoten in einem virtuellen Netzwerk von Verbindungen eingerichtet, das über das Internet läuft.
Overlay-Netzwerke gibt es seit den Anfängen der Vernetzung, als Computersysteme über Telefonleitungen über Modems verbunden waren, bevor es ein Datennetzwerk gab.
Das Internet ist das sichtbarste Beispiel für ein Overlay-Netzwerk. Das Internet wurde ursprünglich als Erweiterung des Telefonnetzes konzipiert. Auch heute noch ermöglicht ein zugrundeliegendes Geflecht von Subnetzwerken mit sehr unterschiedlichen Topologien und Technologien jedem Internet-Knoten die Kommunikation mit nahezu jedem anderen. Zu den Methoden zum Abbilden eines vollständig verknüpften IP-Overlay-Netzwerks auf sein zugrunde liegendes Netzwerk gehören Adressauflösung und Routing.
Eine verteilte Hash-Tabelle, die Schlüssel auf Netzwerkknoten abbildet, ist ein weiteres Beispiel für ein Overlay-Netzwerk. Das zugrunde liegende Netzwerk ist in diesem Fall ein IP-Netzwerk, und das Overlay-Netzwerk ist eine schlüsselindizierte Tabelle (eigentlich eine Karte).
Overlay-Netzwerke wurden auch als eine Technik vorgeschlagen, um das Internet-Routing zu verbessern, beispielsweise durch Sicherstellen von Streaming-Medien höherer Qualität durch Dienstgütesicherungen. Frühere Vorschläge wie IntServ, DiffServ und IP Multicast haben nicht viel Anklang gefunden, da sie erfordern, dass alle Router im Netzwerk modifiziert werden. Andererseits kann ohne die Hilfe von Internetdienstanbietern ein Overlay-Netzwerk inkrementell auf End-Hosts installiert werden, auf denen die Overlay-Protokollsoftware ausgeführt wird. Das Overlay-Netzwerk hat keinen Einfluss darauf, wie Pakete zwischen Overlay-Knoten im zugrunde liegenden Netzwerk geroutet werden, kann jedoch die Reihenfolge der Overlay-Knoten regulieren, die eine Nachricht passiert, bevor sie ihr Ziel erreicht.
Verbindungen zum Internet
Elektrokabel, Glasfaser und freier Speicherplatz sind Beispiele für Übertragungsmedien (auch als physikalisches Medium bekannt), die zum Verbinden von Geräten verwendet werden, um ein Computernetzwerk aufzubauen. Die Software zum Umgang mit Medien ist in den Schichten 1 und 2 des OSI-Modells definiert – der physikalischen Schicht und der Sicherungsschicht.
Ethernet bezieht sich auf eine Gruppe von Technologien, die Kupfer- und Glasfasermedien in der LAN-Technologie (Local Area Network) verwenden. IEEE 802.3 definiert die Medien- und Protokollstandards, die es Netzwerkgeräten ermöglichen, über Ethernet zu kommunizieren. In einigen Wireless-LAN-Standards werden Funkwellen verwendet, während in anderen Infrarotsignale verwendet werden. Die Stromverkabelung in einem Gebäude dient zum Transport von Daten in der Powerline-Kommunikation.
Bei Computernetzwerken werden die folgenden drahtgebundenen Technologien verwendet.
Koaxialkabel werden häufig für lokale Netzwerke in Kabelfernsehsystemen, Bürogebäuden und anderen Arbeitsstätten verwendet. Die Übertragungsgeschwindigkeit variiert zwischen 200 Millionen Bits pro Sekunde und 500 Millionen Bits pro Sekunde.
Die ITU-T G.hn-Technologie erstellt ein lokales Hochgeschwindigkeitsnetzwerk unter Verwendung vorhandener Hausverkabelung (Koaxialkabel, Telefonleitungen und Stromleitungen).
Wired Ethernet und andere Standards verwenden Twisted-Pair-Kabel. Es besteht normalerweise aus vier Paaren Kupferkabeln, die sowohl zur Übertragung von Sprache als auch Daten verwendet werden können. Übersprechen und elektromagnetische Induktion werden reduziert, wenn zwei Drähte miteinander verdrillt werden. Die Übertragungsgeschwindigkeit reicht von 2 bis 10 Gigabit pro Sekunde. Es gibt zwei Arten von Twisted-Pair-Verkabelungen: Unshielded Twisted Pair (UTP) und Shielded Twisted Pair (STP) (STP). Jedes Formular ist in einer Vielzahl von Kategoriebewertungen verfügbar, sodass es in einer Vielzahl von Situationen verwendet werden kann.
Rote und blaue Linien auf einer Weltkarte
Auf einer Karte aus dem Jahr 2007 sind unterseeische Glasfaser-Telekommunikationsleitungen dargestellt.
Eine Glasfaser ist eine optische Faser. Es verwendet Laser und optische Verstärker, um Lichtimpulse zu übertragen, die Daten darstellen. Optische Fasern bieten gegenüber Metallleitungen mehrere Vorteile, einschließlich minimaler Übertragungsverluste und Widerstandsfähigkeit gegenüber elektrischen Störungen. Optische Fasern können gleichzeitig zahlreiche Datenströme auf unterschiedlichen Wellenlängen des Lichts übertragen, indem das dichte Wellenmultiplexverfahren verwendet wird, wodurch die Datenübertragungsrate auf Milliarden von Bits pro Sekunde erhöht wird. Glasfasern werden in Seekabeln verwendet, die Kontinente verbinden und für lange Kabelstrecken mit sehr hohen Datenraten verwendet werden können. Singlemode-Glasfaser (SMF) und Multimode-Glasfaser (MMF) sind die beiden Hauptformen der Faseroptik (MMF). Singlemode-Fasern bieten den Vorteil, dass sie ein kohärentes Signal über Dutzende, wenn nicht sogar Hunderte von Kilometern aufrechterhalten. Multimode-Glasfaser ist kostengünstiger zu terminieren, hat aber je nach Datenrate und Kabelqualität eine maximale Länge von nur wenigen hundert oder sogar einigen Dutzend Metern.
Drahtlose Netzwerke
Drahtlose Netzwerkverbindungen können unter Verwendung von Funk oder anderen elektromagnetischen Kommunikationsverfahren hergestellt werden.
Die terrestrische Mikrowellenkommunikation verwendet erdbasierte Sender und Empfänger, die wie Satellitenschüsseln aussehen. Mikrowellen am Boden arbeiten im niedrigen Gigahertz-Bereich und beschränken die gesamte Kommunikation auf Sichtverbindung. Die Relaisstationen sind etwa 40 Kilometer voneinander entfernt.
Satelliten, die über Mikrowellen kommunizieren, werden auch von Kommunikationssatelliten verwendet. Die Satelliten befinden sich normalerweise in einer geosynchronen Umlaufbahn, die 35,400 Kilometer (22,000 Meilen) über dem Äquator liegt. Sprach-, Daten- und Fernsehsignale können von diesen erdumlaufenden Geräten empfangen und weitergeleitet werden.
In Mobilfunknetzen werden verschiedene Funkkommunikationstechnologien verwendet. Die Systeme unterteilen das abgedeckte Gebiet in mehrere geografische Gruppen. Ein Transceiver mit geringer Leistung versorgt jeden Bereich.
Wireless LANs verwenden eine Hochfrequenz-Funktechnologie, die mit dem digitalen Mobilfunk vergleichbar ist, um zu kommunizieren. Die Spread-Spectrum-Technologie wird in drahtlosen LANs verwendet, um die Kommunikation zwischen mehreren Geräten auf kleinem Raum zu ermöglichen. Wi-Fi ist eine Art von drahtloser Funkwellentechnologie mit offenen Standards, die von IEEE 802.11 definiert ist.
Optische Freiraumkommunikation kommuniziert über sichtbares oder unsichtbares Licht. In den meisten Fällen wird eine Sichtlinienausbreitung verwendet, was die physische Positionierung von Verbindungsgeräten einschränkt.
Das Interplanetare Internet ist ein Funk- und optisches Netzwerk, das das Internet auf interplanetare Dimensionen erweitert.
RFC 1149 war eine lustige Aprilscherz-Anfrage nach Kommentaren zu IP über Avian Carriers. 2001 wurde es in die Praxis umgesetzt.
Die letzten beiden Situationen haben eine lange Roundtrip-Verzögerung, die zu einer verzögerten Zweiwegekommunikation führt, aber die Übertragung großer Datenmengen nicht verhindert (sie können einen hohen Durchsatz haben).
Knoten in einem Netzwerk
Netzwerke werden unter Verwendung zusätzlicher grundlegender Systembauelemente wie Netzwerkschnittstellencontroller (NICs), Repeater, Hubs, Bridges, Switches, Router, Modems und Firewalls zusätzlich zu allen physischen Übertragungsmedien aufgebaut. Jedes Gerät enthält fast immer verschiedene Bausteine und kann so mehrere Aufgaben erledigen.
Schnittstellen zum Internet
Eine Netzwerkschnittstellenschaltung, die einen ATM-Port enthält.
Eine Zusatzkarte, die als ATM-Netzwerkschnittstelle dient. Eine Vielzahl von Netzwerkschnittstellen ist vorinstalliert.
Ein Netzwerkschnittstellencontroller (NIC) ist eine Computerhardware, die einen Computer mit einem Netzwerk verbindet und Netzwerkdaten auf niedriger Ebene verarbeiten kann. Ein Anschluss zum Mitnehmen eines Kabels oder einer Antenne zum drahtlosen Senden und Empfangen sowie die dazugehörige Schaltung finden Sie auf der NIC.
Jeder Netzwerkschnittstellen-Controller in einem Ethernet-Netzwerk hat eine eindeutige Media Access Control (MAC)-Adresse, die normalerweise im permanenten Speicher des Controllers gespeichert wird. Das Institute of Electrical and Electronics Engineers (IEEE) verwaltet und überwacht die Eindeutigkeit der MAC-Adressen, um Adresskonflikte zwischen Netzwerkgeräten zu vermeiden. Eine Ethernet-MAC-Adresse ist sechs Oktette lang. Die drei höchstwertigen Oktette werden für die Identifizierung des NIC-Herstellers zugewiesen. Diese Hersteller weisen die drei am wenigsten signifikanten Oktette jeder Ethernet-Schnittstelle, die sie bauen, ausschließlich mit ihren zugewiesenen Präfixen zu.
Hubs und Repeater
Ein Repeater ist ein elektronisches Gerät, das ein Netzwerksignal akzeptiert und es von unerwünschtem Rauschen befreit, bevor es es regeneriert. Das Signal wird mit einer höheren Leistung oder auf die andere Seite des Hindernisses erneut übertragen, sodass es ohne Beeinträchtigung weitergehen kann. Repeater sind in den meisten Twisted-Pair-Ethernet-Systemen für Kabellängen von mehr als 100 Metern erforderlich. Repeater können bei Verwendung von Glasfasern Dutzende oder sogar Hunderte von Kilometern voneinander entfernt sein.
Repeater arbeiten auf der physikalischen Schicht des OSI-Modells, brauchen aber noch etwas Zeit, um das Signal zu regenerieren. Dies kann zu einer Ausbreitungsverzögerung führen, die die Netzwerkleistung und -funktion beeinträchtigen kann. Infolgedessen begrenzen verschiedene Netzwerktopologien, wie die Ethernet 5-4-3-Regel, die Anzahl der Repeater, die in einem Netzwerk verwendet werden können.
Ein Ethernet-Hub ist ein Ethernet-Repeater mit vielen Ports. Ein Repeater-Hub hilft bei der Erkennung von Netzwerkkollisionen und der Fehlerisolierung sowie bei der Aufbereitung und Verteilung von Netzwerksignalen. Moderne Netzwerk-Switches haben meist Hubs und Repeater in LANs ersetzt.
Schalter und Brücken
Im Gegensatz zu einem Hub leitet ein Netzwerk Bridges und Switches nur Frames an die an der Kommunikation beteiligten Ports weiter, ein Hub leitet Frames jedoch an alle Ports weiter. Ein Switch kann man sich als Multi-Port-Bridge vorstellen, da Bridges nur zwei Ports haben. Switches verfügen typischerweise über eine große Anzahl von Ports, was eine Sterntopologie für Geräte und die Kaskadierung weiterer Switches ermöglicht.
Auf der Sicherungsschicht (Schicht 2) des OSI-Modells arbeiten Bridges und Switches, die den Verkehr zwischen zwei oder mehr Netzwerksegmenten überbrücken, um ein einziges lokales Netzwerk zu bilden. Beides sind Geräte, die Datenframes basierend auf der MAC-Adresse des Ziels in jedem Frame über Ports weiterleiten. Das Untersuchen der Quelladressen empfangener Frames lehrt sie, wie man physische Ports mit MAC-Adressen verbindet, und sie leiten Frames nur bei Bedarf weiter. Wenn das Gerät eine unbekannte Ziel-MAC anvisiert, sendet es die Anfrage an alle Ports außer der Quelle und leitet den Standort aus der Antwort ab.
Die Kollisionsdomäne des Netzwerks wird durch Bridges und Switches unterteilt, während die Broadcast-Domäne dieselbe bleibt. Bridging- und Switching-Unterstützung unterteilen ein riesiges, überlastetes Netzwerk in eine Sammlung kleinerer, effizienterer Netzwerke, die als Netzwerksegmentierung bekannt ist.
Router
Die Anschlüsse für die ADSL-Telefonleitung und das Ethernet-Netzwerkkabel sind an einem typischen Heim- oder Kleinunternehmensrouter zu sehen.
Ein Router ist ein Internetworking-Gerät, das die Adressierungs- oder Routinginformationen in Paketen verarbeitet, um sie zwischen Netzwerken weiterzuleiten. Die Routing-Tabelle wird häufig in Verbindung mit den Routing-Informationen verwendet. Ein Router bestimmt mithilfe seiner Routing-Datenbank, wohin Pakete weitergeleitet werden sollen, anstatt Pakete zu übertragen, was für sehr große Netzwerke verschwenderisch ist.
Modem
Modems (Modulator-Demodulator) verbinden Netzwerkknoten durch Drähte, die nicht für digitalen Netzwerkverkehr oder für Wireless ausgelegt sind. Dazu moduliert das digitale Signal ein oder mehrere Trägersignale, was zu einem analogen Signal führt, das angepasst werden kann, um die entsprechenden Übertragungsqualitäten bereitzustellen. Über eine herkömmliche Sprachtelefonverbindung gelieferte Audiosignale wurden von frühen Modems moduliert. Modems werden immer noch weit verbreitet für digitale Teilnehmerleitungs-(DSL)-Telefonleitungen und Kabelfernsehsysteme verwendet, die die DOCSIS-Technologie verwenden.
Firewalls sind Netzwerkgeräte oder Software, die verwendet werden, um die Netzwerksicherheit und Zugriffsregeln zu kontrollieren. Firewalls werden verwendet, um sichere interne Netzwerke von potenziell unsicheren externen Netzwerken wie dem Internet zu trennen. Typischerweise werden Firewalls so eingerichtet, dass sie Zugriffsanfragen von unbekannten Quellen ablehnen, während Aktivitäten von bekannten Quellen zugelassen werden. Die Bedeutung von Firewalls für die Netzwerksicherheit wächst im Gleichschritt mit der Zunahme von Cyber-Bedrohungen.
Protokolle für die Kommunikation
Protokolle in Bezug auf die Schichtstruktur des Internets
Das TCP/IP-Modell und seine Beziehungen zu gängigen Protokollen, die auf verschiedenen Ebenen verwendet werden.
Wenn ein Router vorhanden ist, steigen die Nachrichtenflüsse durch die Protokollschichten abwärts zum Router, den Stapel des Routers hinauf, wieder nach unten und weiter zum endgültigen Ziel, wo sie den Stapel des Routers wieder hinaufklettern.
Wenn ein Router vorhanden ist, fließen Nachrichten zwischen zwei Geräten (AB) auf den vier Ebenen des TCP/IP-Paradigmas (R). Die roten Flüsse stellen effektive Kommunikationspfade dar, während die schwarzen Pfade tatsächliche Netzwerkverbindungen darstellen.
Ein Kommunikationsprotokoll ist ein Satz von Anweisungen zum Senden und Empfangen von Daten über ein Netzwerk. Protokolle für die Kommunikation haben eine Vielzahl von Eigenschaften. Sie können entweder verbindungsorientiert oder verbindungslos sein, den Leitungsmodus oder Paketvermittlung verwenden und hierarchische oder flache Adressierung verwenden.
Kommunikationsvorgänge sind in Protokollschichten in einem Protokollstapel unterteilt, der häufig nach dem OSI-Modell aufgebaut ist, wobei jede Schicht die Dienste der darunter liegenden nutzt, bis die unterste Schicht die Hardware steuert, die Informationen über die Medien transportiert. Protocol Layering wird in der Welt der Computernetzwerke häufig verwendet. HTTP (World Wide Web Protocol), das über TCP über IP (Internetprotokolle) über IEEE 802.11 läuft, ist ein gutes Beispiel für einen Protokollstapel (das Wi-Fi-Protokoll). Wenn ein Heimbenutzer im Internet surft, wird dieser Stapel zwischen dem drahtlosen Router und dem PC des Benutzers verwendet.
Einige der gängigsten Kommunikationsprotokolle sind hier aufgeführt.
Weit verbreitete Protokolle
Suite von Internetprotokollen
Alle aktuellen Netzwerke basieren auf der Internet Protocol Suite, die oft als TCP/IP bekannt ist. Es bietet sowohl verbindungslose als auch verbindungsorientierte Dienste über ein intrinsisch instabiles Netzwerk, das mit Internet Protocol Datagram Transfer (IP) durchquert wird. Die Protokollsuite definiert die Adressierungs-, Identifikations- und Routingstandards für Internet Protocol Version 4 (IPv4) und IPv6, die nächste Iteration des Protokolls mit stark erweiterten Adressierungsfunktionen. Die Internet Protocol Suite ist eine Reihe von Protokollen, die die Funktionsweise des Internets definieren.
IEEE 802 ist ein Akronym für „International Electrotechnical“.
IEEE 802 bezieht sich auf eine Gruppe von IEEE-Standards, die sich mit lokalen und städtischen Netzen befassen. Die gesamte IEEE 802-Protokollsuite bietet eine breite Palette von Netzwerkfähigkeiten. In den Protokollen wird ein flaches Adressierungsverfahren verwendet. Sie arbeiten meist auf den Schichten 1 und 2 des OSI-Modells.
MAC-Bridging (IEEE 802.1D) verwendet beispielsweise das Spanning Tree Protocol, um den Ethernet-Datenverkehr zu routen. VLANs werden von IEEE 802.1Q definiert, während IEEE 802.1X ein portbasiertes Network Access Control-Protokoll definiert, das die Grundlage für die Authentifizierungsprozesse bildet, die in VLANs (aber auch in WLANs) verwendet werden – dies sieht der Heimanwender bei der Eingabe von a „drahtloser Zugangsschlüssel.“
Ethernet ist eine Gruppe von Technologien, die in kabelgebundenen LANs verwendet werden. IEEE 802.3 ist eine vom Institute of Electrical and Electronics Engineers erstellte Sammlung von Standards, die es beschreibt.
LAN (drahtlos)
Wireless LAN, oft auch als WLAN oder WiFi bekannt, ist heute das bekannteste Mitglied der IEEE 802-Protokollfamilie für Heimanwender. Es basiert auf den IEEE 802.11-Spezifikationen. IEEE 802.11 hat viel mit kabelgebundenem Ethernet gemeinsam.
SONET/SDH
Synchronous Optical Networking (SONET) und Synchronous Digital Hierarchy (SDH) sind Multiplextechniken, die Laser verwenden, um mehrere digitale Bitströme über Glasfaser zu übertragen. Sie wurden geschaffen, um Kommunikationen im Leitungsmodus von vielen Quellen zu übertragen, hauptsächlich um leitungsvermittelte digitale Telefonie zu unterstützen. SONET/SDH hingegen war aufgrund seiner Protokollneutralität und seiner transportorientierten Eigenschaften ein idealer Kandidat für die Übertragung von Asynchronous Transfer Mode (ATM) Frames.
Modus der asynchronen Übertragung
Asynchronous Transfer Mode (ATM) ist eine Vermittlungstechnologie für Telekommunikationsnetze. Es codiert Daten in kleine Zellen fester Größe unter Verwendung von asynchronem Zeitmultiplexverfahren. Dies steht im Gegensatz zu anderen Protokollen, die Pakete oder Frames variabler Größe verwenden, wie beispielsweise die Internet Protocol Suite oder Ethernet. Sowohl leitungs- als auch paketvermittelte Netzwerke ähneln ATM. Dadurch eignet es sich für ein Netzwerk, das sowohl Daten mit hohem Durchsatz als auch Echtzeitinhalte mit geringer Latenz wie Sprache und Video verwalten muss. ATM hat einen verbindungsorientierten Ansatz, bei dem eine virtuelle Verbindung zwischen zwei Endpunkten aufgebaut werden muss, bevor die eigentliche Datenübertragung beginnen kann.
Während Geldautomaten zugunsten von Netzen der nächsten Generation an Beliebtheit verlieren, spielen sie auf der letzten Meile oder der Verbindung zwischen einem Internetdienstanbieter und einem privaten Benutzer weiterhin eine Rolle.
Mobilfunk-Benchmarks
The Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), cdmaOne, CDMA2000, Evolution-Data Optimized (EV-DO), Enhanced Data Rates for GSM Evolution (EDGE), Universal Mobile Telecommunications System (UMTS), Digital Enhanced Cordless Telecommunications (DECT), Digital AMPS (IS-136/TDMA) und Integrated Digital Enhanced Network (IDEN) sind einige der verschiedenen digitalen Mobilfunkstandards (iDEN).
Routing
Das Routing bestimmt die besten Pfade für Informationen, die über ein Netzwerk übertragen werden. Zum Beispiel sind die besten Routen von Knoten 1 zu Knoten 6 wahrscheinlich 1-8-7-6 oder 1-8-10-6, da diese die dicksten Pfade haben.
Routing ist der Prozess der Identifizierung von Netzwerkpfaden für die Übertragung von Daten. Viele Arten von Netzen, einschließlich Leitungsvermittlungsnetzen und Paketvermittlungsnetzen, erfordern Routing.
Routing-Protokolle leiten die Paketweiterleitung (den Transit logisch adressierter Netzwerkpakete von ihrer Quelle zu ihrem endgültigen Ziel) über Zwischenknoten in paketvermittelten Netzwerken. Router, Bridges, Gateways, Firewalls und Switches sind gängige Netzwerkhardwarekomponenten, die als Zwischenknoten fungieren. Auch Allzweckcomputer können Pakete weiterleiten und Routing durchführen, allerdings kann ihre Leistung aufgrund fehlender Spezialhardware eingeschränkt sein. Routingtabellen, die die Pfade zu mehreren Netzwerkzielen verfolgen, werden häufig verwendet, um die Weiterleitung im Routingprozess zu lenken. Daher ist das Erstellen von Routing-Tabellen im Speicher des Routers für ein effizientes Routing entscheidend.
Im Allgemeinen stehen mehrere Routen zur Auswahl, und bei der Entscheidung, welche Routen zur Routing-Tabelle hinzugefügt werden sollen, können verschiedene Faktoren berücksichtigt werden, z. B. (nach Priorität geordnet):
In diesem Fall sind längere Subnetzmasken wünschenswert (unabhängig ob innerhalb eines Routingprotokolls oder über ein anderes Routingprotokoll)
Wenn eine günstigere Metrik/Kosten bevorzugt wird, wird dies als Metrik bezeichnet (nur gültig innerhalb ein und desselben Routing-Protokolls)
Bei administrativer Distanz ist eine kürzere Distanz erwünscht (gilt nur zwischen verschiedenen Routing-Protokollen)
Die überwiegende Mehrheit der Routing-Algorithmen verwendet jeweils nur einen Netzwerkpfad. Mehrere alternative Pfade können mit Mehrpfad-Routingalgorithmen verwendet werden.
In seiner Vorstellung, dass Netzwerkadressen strukturiert sind und vergleichbare Adressen Nähe im gesamten Netzwerk bedeuten, wird Routing in einem restriktiveren Sinne manchmal mit Bridging verglichen. Ein einzelnes Routing-Tabellenelement kann die Route zu einer Sammlung von Geräten unter Verwendung strukturierter Adressen anzeigen. Die strukturierte Adressierung (Routing im engeren Sinne) übertrifft die unstrukturierte Adressierung in großen Netzen (Bridging). Im Internet hat sich das Routing zur am häufigsten verwendeten Adressierungsmethode entwickelt. In isolierten Situationen wird Bridging immer noch häufig eingesetzt.
Die Eigentümer der Netzwerke sind in der Regel für deren Verwaltung verantwortlich. In privaten Firmennetzwerken können Intranets und Extranets verwendet werden. Sie können auch einen Netzwerkzugriff auf das Internet bereitstellen, bei dem es sich um ein globales Netzwerk ohne einen einzigen Eigentümer und im Wesentlichen unbegrenzte Konnektivität handelt.
Intranet
Ein Intranet ist eine Sammlung von Netzwerken, die von einer einzigen Verwaltungsbehörde verwaltet werden. Im Intranet werden das IP-Protokoll und IP-basierte Tools wie Webbrowser und Dateiübertragungs-Apps verwendet. Der Zugriff auf das Intranet ist nach Angaben der Verwaltungseinheit nur von autorisierten Personen möglich. Ein Intranet ist in der Regel das interne LAN einer Organisation. In einem großen Intranet ist normalerweise mindestens ein Webserver vorhanden, um Benutzern organisatorische Informationen bereitzustellen. Ein Intranet ist alles in einem lokalen Netzwerk, das sich hinter dem Router befindet.
Admin
Ein Extranet ist ein Netzwerk, das ebenfalls von einer einzigen Organisation verwaltet wird, aber nur einen eingeschränkten Zugriff auf ein bestimmtes externes Netzwerk zulässt. Beispielsweise kann ein Unternehmen seinen Geschäftspartnern oder Kunden Zugang zu bestimmten Teilen seines Intranets gewähren, um Daten auszutauschen. Aus Sicherheitsgründen ist diesen anderen Entitäten nicht unbedingt zu vertrauen. Die WAN-Technologie wird häufig verwendet, um eine Verbindung zu einem Extranet herzustellen, jedoch nicht immer.
Internet
Ein Internetwork ist die Verbindung mehrerer verschiedener Arten von Computernetzwerken zu einem einzigen Netzwerk, indem Netzwerksoftware übereinander gelegt und über Router verbunden wird. Das Internet ist das bekannteste Beispiel für ein Netzwerk. Es ist ein miteinander verbundenes globales System von staatlichen, akademischen, geschäftlichen, öffentlichen und privaten Computernetzwerken. Es basiert auf den Netzwerktechnologien der Internet Protocol Suite. Es ist der Nachfolger des Advanced Research Projects Agency Network (ARPANET) der DARPA, das von der DARPA des US-Verteidigungsministeriums aufgebaut wurde. Das World Wide Web (WWW), das Internet der Dinge (IoT), der Videotransport und eine breite Palette von Informationsdiensten werden durch die Kupferkommunikation und das optische Netzwerk-Backbone des Internets ermöglicht.
Teilnehmer am Internet verwenden eine breite Palette von Protokollen, die mit der Internet Protocol Suite kompatibel sind, und ein Adressierungssystem (IP-Adressen), das von der Internet Assigned Numbers Authority und den Adressregistern verwaltet wird. Über das Border Gateway Protocol (BGP) tauschen Dienstanbieter und Großunternehmen Informationen über die Erreichbarkeit ihrer Adressräume aus und bauen so ein redundantes globales Netz von Übertragungswegen auf.
darknet
Ein Darknet ist ein internetbasiertes Overlay-Netzwerk, auf das nur mit spezieller Software zugegriffen werden kann. Ein Darknet ist ein anonymisierendes Netzwerk, das nicht standardmäßige Protokolle und Ports verwendet, um nur vertrauenswürdige Peers zu verbinden – allgemein als „Freunde“ (F2F) bezeichnet.
Darknets unterscheiden sich von anderen verteilten Peer-to-Peer-Netzwerken darin, dass Benutzer ohne Angst vor staatlichen oder unternehmensinternen Eingriffen interagieren können, da die gemeinsame Nutzung anonym ist (dh IP-Adressen werden nicht öffentlich veröffentlicht).
Dienste für das Netzwerk
Netzwerkdienste sind Anwendungen, die von Servern in einem Computernetzwerk gehostet werden, um Netzwerkmitgliedern oder Benutzern Funktionen zu geben oder das Netzwerk bei seinem Betrieb zu unterstützen.
Zu den bekannten Netzwerkdiensten gehören das World Wide Web, E-Mail, Drucken und die gemeinsame Nutzung von Netzwerkdateien. DNS (Domain Name System) gibt IP- und MAC-Adressen Namen (Namen wie „nm.lan“ sind leichter zu merken als Zahlen wie „210.121.67.18“) und DHCP stellt sicher, dass alle Netzwerkgeräte eine gültige IP-Adresse haben.
Das Format und die Reihenfolge von Nachrichten zwischen Clients und Servern eines Netzwerkdienstes werden typischerweise durch ein Dienstprotokoll definiert.
Die Leistung des Netzwerks
Die verbrauchte Bandbreite, bezogen auf den erreichten Durchsatz oder guten Durchsatz, dh die durchschnittliche Rate der erfolgreichen Datenübertragung über eine Kommunikationsverbindung, wird in Bits pro Sekunde gemessen. Technologien wie Bandbreitengestaltung, Bandbreitenverwaltung, Bandbreitendrosselung, Bandbreitenbegrenzung, Bandbreitenzuweisung (z. B. Bandbreitenzuweisungsprotokoll und dynamische Bandbreitenzuweisung) und andere beeinflussen den Durchsatz. Die durchschnittlich verbrauchte Signalbandbreite in Hertz (die durchschnittliche spektrale Bandbreite des den Bitstrom repräsentierenden analogen Signals) während des untersuchten Zeitrahmens bestimmt die Bandbreite eines Bitstroms.
Das Design- und Leistungsmerkmal eines Telekommunikationsnetzwerks ist die Netzwerklatenz. Es definiert die Zeit, die ein Datenelement benötigt, um durch ein Netzwerk von einem Kommunikationsendpunkt zum nächsten zu gelangen. Es wird normalerweise in Zehntelsekunden oder Sekundenbruchteilen gemessen. Je nach Standort des genauen Paars von Kommunikationsendpunkten kann die Verzögerung leicht variieren. Ingenieure melden in der Regel sowohl die maximale und durchschnittliche Verzögerung als auch die verschiedenen Komponenten der Verzögerung:
Die Zeit, die ein Router benötigt, um den Paketheader zu verarbeiten.
Warteschlangenzeit – Die Zeit, die ein Paket in den Routing-Warteschlangen verbringt.
Die Zeit, die benötigt wird, um die Bits des Pakets auf die Verbindung zu übertragen, wird als Übertragungsverzögerung bezeichnet.
Die Ausbreitungsverzögerung ist die Zeit, die ein Signal benötigt, um durch das Medium zu wandern.
Signale erfahren eine minimale Verzögerung aufgrund der Zeit, die benötigt wird, um ein Paket seriell über eine Verbindung zu senden. Aufgrund einer Netzwerküberlastung wird diese Verzögerung um unvorhersehbarere Verzögerungsstufen verlängert. Die Reaktionszeit eines IP-Netzwerks kann von wenigen Millisekunden bis zu mehreren hundert Millisekunden variieren.
Servicequalität
Die Netzleistung wird normalerweise an der Dienstgüte eines Telekommunikationsprodukts gemessen, abhängig von den Installationsanforderungen. Durchsatz, Jitter, Bitfehlerrate und Verzögerung sind alles Faktoren, die dies beeinflussen können.
Beispiele für Netzleistungsmessungen für ein leitungsvermitteltes Netz und eine Art von paketvermitteltem Netz, nämlich ATM, werden unten gezeigt.
Leitungsvermittelte Netze: Der Dienstgrad ist identisch mit der Netzleistung in leitungsvermittelten Netzen. Die Anzahl der abgewiesenen Anrufe ist eine Kennzahl, die angibt, wie gut das Netzwerk bei hoher Verkehrsbelastung funktioniert. Geräusch- und Echopegel sind Beispiele für andere Formen von Leistungsindikatoren.
Leitungsrate, Dienstgüte (QoS), Datendurchsatz, Verbindungszeit, Stabilität, Technologie, Modulationstechnik und Modem-Upgrades können alle verwendet werden, um die Leistung eines Netzes mit asynchronem Übertragungsmodus (ATM) zu bewerten.
Da jedes Netzwerk in seiner Natur und Architektur einzigartig ist, gibt es zahlreiche Ansätze, um seine Leistung zu bewerten. Anstatt gemessen zu werden, kann Leistung stattdessen modelliert werden. Zustandsübergangsdiagramme werden beispielsweise häufig verwendet, um die Warteschlangenleistung in leitungsvermittelten Netzwerken zu modellieren. Diese Diagramme werden vom Netzwerkplaner verwendet, um zu untersuchen, wie das Netzwerk in jedem Zustand funktioniert, um sicherzustellen, dass das Netzwerk angemessen geplant wird.
Überlastung im Netz
Wenn eine Verbindung oder ein Knoten einer höheren Datenlast ausgesetzt ist, als sie bemessen ist, kommt es zu einer Netzwerküberlastung und die Dienstqualität leidet. Pakete müssen gelöscht werden, wenn Netzwerke überlastet werden und die Warteschlangen zu voll werden, daher sind Netzwerke auf erneute Übertragung angewiesen. Warteschlangenverzögerungen, Paketverluste und das Blockieren neuer Verbindungen sind häufige Folgen von Staus. Als Ergebnis dieser beiden führen inkrementelle Erhöhungen der angebotenen Last entweder zu einer leichten Verbesserung des Netzwerkdurchsatzes oder zu einer Verringerung des Netzwerkdurchsatzes.
Selbst wenn die Anfangslast auf ein Niveau gesenkt wird, das normalerweise keine Netzwerküberlastung verursacht, neigen Netzwerkprotokolle, die aggressive Neuübertragungen verwenden, um Paketverluste zu korrigieren, dazu, Systeme in einem Zustand der Netzwerküberlastung zu halten. Als Ergebnis können Netzwerke, die diese Protokolle verwenden, bei gleichem Bedarf zwei stabile Zustände aufweisen. Stauungskollaps bezieht sich auf eine stabile Situation mit geringem Durchsatz.
Um den Zusammenbruch von Staus zu minimieren, verwenden moderne Netzwerke Staumanagement-, Stauvermeidungs- und Verkehrssteuerungsstrategien (dh Endpunkte verlangsamen typischerweise die Übertragung oder stoppen sie manchmal sogar ganz, wenn das Netz überlastet ist). Exponentielles Backoff in Protokollen wie 802.11s CSMA/CA und dem ursprünglichen Ethernet, Window-Reduction in TCP und Fair Queuing in Routern sind Beispiele für diese Strategien. Die Implementierung von Prioritätsschemata, bei denen einige Pakete mit höherer Priorität als andere übertragen werden, ist eine weitere Möglichkeit, die nachteiligen Auswirkungen einer Netzwerküberlastung zu vermeiden. Prioritätsschemata heilen keine Netzüberlastung allein, aber sie tragen dazu bei, die Folgen einer Überlastung für einige Dienste zu mildern. 802.1p ist ein Beispiel dafür. Die absichtliche Zuweisung von Netzwerkressourcen zu spezifizierten Flüssen ist eine dritte Strategie zur Vermeidung von Netzwerküberlastung. Der ITU-T G.hn-Standard verwendet beispielsweise Contention-Free Transmission Opportunities (CFTXOPs), um Hochgeschwindigkeits-Lokalnetzwerke (bis zu 1 Gbit/s) über vorhandene Hausleitungen (Stromleitungen, Telefonleitungen und Koaxialkabel) bereitzustellen ).
RFC 2914 für das Internet geht sehr ausführlich auf die Staukontrolle ein.
Belastbarkeit des Netzwerks
„Die Fähigkeit, angesichts von Defekten und Behinderungen des Normalbetriebs ein angemessenes Serviceniveau anzubieten und aufrechtzuerhalten“, so die Definition der Netzwerk-Resilienz.
Netzwerksicherheit
Hacker verwenden Computernetzwerke, um Computerviren und -würmer auf vernetzte Geräte zu verbreiten oder diesen Geräten den Zugriff auf das Netzwerk durch einen Denial-of-Service-Angriff zu verwehren.
Die Bestimmungen und Regeln des Netzwerkadministrators zum Verhindern und Überwachen von illegalem Zugriff, Missbrauch, Modifikation oder Verweigerung des Computernetzwerks und seiner netzwerkzugänglichen Ressourcen werden als Netzwerksicherheit bezeichnet. Der Netzwerkadministrator kontrolliert die Netzwerksicherheit, dh die Autorisierung des Zugriffs auf Daten in einem Netzwerk. Die Benutzer erhalten einen Benutzernamen und ein Kennwort, die ihnen den Zugriff auf Informationen und Programme unter ihrer Kontrolle ermöglichen. Netzwerksicherheit wird verwendet, um tägliche Transaktionen und Kommunikation zwischen Organisationen, Regierungsbehörden und Einzelpersonen in einer Reihe von öffentlichen und privaten Computernetzwerken abzusichern.
Die Überwachung von Daten, die über Computernetzwerke wie das Internet ausgetauscht werden, wird als Netzwerküberwachung bezeichnet. Überwachung wird häufig im Geheimen durchgeführt und kann von oder im Auftrag von Regierungen, Unternehmen, kriminellen Gruppen oder Personen durchgeführt werden. Es kann rechtmäßig sein oder nicht, und es kann eine gerichtliche oder andere unabhängige Instanzgenehmigung erfordern oder nicht.
Überwachungssoftware für Computer und Netzwerke ist heute weit verbreitet, und fast der gesamte Internetverkehr wird oder könnte auf Anzeichen illegaler Aktivitäten überwacht werden.
Regierungen und Strafverfolgungsbehörden nutzen Überwachung, um die soziale Kontrolle aufrechtzuerhalten, Risiken zu identifizieren und zu überwachen und kriminelle Aktivitäten zu verhindern/zu untersuchen. Dank Programmen wie dem Total Information Awareness-Programm, Technologien wie Hochgeschwindigkeits-Überwachungscomputern und biometrischer Software sowie Gesetzen wie dem Communications Assistance For Law Enforcement Act verfügen Regierungen heute über eine beispiellose Macht, die Aktivitäten der Bürger zu überwachen.
Viele Bürgerrechts- und Datenschutzorganisationen, darunter Reporter ohne Grenzen, die Electronic Frontier Foundation und die American Civil Liberties Union, haben ihre Besorgnis darüber geäußert, dass eine verstärkte Überwachung der Bürger zu einer Massenüberwachungsgesellschaft mit weniger politischen und persönlichen Freiheiten führen könnte. Befürchtungen wie diese haben zu einer Reihe von Rechtsstreitigkeiten geführt, darunter Hepting gegen AT&T. Aus Protest gegen die sogenannte „drakonische Überwachung“ hat sich die Hacktivistengruppe Anonymous in offizielle Websites gehackt.
Ende-zu-Ende-Verschlüsselung (E2EE) ist ein digitales Kommunikationsparadigma, das sicherstellt, dass Daten zwischen zwei kommunizierenden Parteien jederzeit geschützt sind. Dabei verschlüsselt der Absender die Daten, sodass sie nur vom beabsichtigten Empfänger ohne Abhängigkeit von Dritten entschlüsselt werden können. Die Ende-zu-Ende-Verschlüsselung schützt die Kommunikation davor, von Vermittlern wie Internetdienstanbietern oder Anwendungsdienstanbietern entdeckt oder manipuliert zu werden. Im Allgemeinen gewährleistet eine Ende-zu-Ende-Verschlüsselung sowohl die Geheimhaltung als auch die Integrität.
HTTPS für Online-Verkehr, PGP für E-Mail, OTR für Instant Messaging, ZRTP für Telefonie und TETRA für Funk sind Beispiele für Ende-zu-Ende-Verschlüsselung.
Ende-zu-Ende-Verschlüsselung ist in den meisten serverbasierten Kommunikationslösungen nicht enthalten. Diese Lösungen können nur die Sicherheit der Kommunikation zwischen Clients und Servern gewährleisten, nicht zwischen kommunizierenden Parteien. Google Talk, Yahoo Messenger, Facebook und Dropbox sind Beispiele für Nicht-E2EE-Systeme. Einige dieser Systeme, wie LavaBit und SecretInk, haben sogar behauptet, eine „End-to-End“-Verschlüsselung bereitzustellen, wenn dies nicht der Fall ist. Einige Systeme, die eine Ende-zu-Ende-Verschlüsselung bieten sollen, wie Skype oder Hushmail, haben eine Hintertür, die verhindert, dass die Kommunikationspartner den Verschlüsselungsschlüssel aushandeln.
Das Paradigma der Ende-zu-Ende-Verschlüsselung geht nicht direkt auf Bedenken an den Endpunkten der Kommunikation ein, wie etwa technologische Ausnutzung des Clients, Zufallszahlengeneratoren geringer Qualität oder Schlüsselhinterlegung. E2EE ignoriert auch die Verkehrsanalyse, bei der die Identitäten von Endpunkten sowie die Zeiten und das Volumen der übertragenen Nachrichten bestimmt werden.
Als Mitte der 1990er Jahre E-Commerce zum ersten Mal im World Wide Web auftauchte, war klar, dass eine Art von Identifizierung und Verschlüsselung erforderlich war. Netscape war der erste, der versuchte, einen neuen Standard zu schaffen. Netscape Navigator war damals der beliebteste Webbrowser. Der Secure Socket Layer (SSL) wurde von Netscape (SSL) erstellt. SSL erfordert die Verwendung eines zertifizierten Servers. Der Server überträgt eine Kopie des Zertifikats an den Client, wenn ein Client Zugriff auf einen SSL-gesicherten Server anfordert. Der SSL-Client überprüft dieses Zertifikat (alle Webbrowser sind mit einer umfassenden Liste von CA-Stammzertifikaten vorinstalliert), und wenn es bestanden wird, wird der Server authentifiziert und der Client handelt eine Verschlüsselung mit symmetrischem Schlüssel für die Sitzung aus. Zwischen dem SSL-Server und dem SSL-Client befindet sich die Sitzung nun in einem hochsicheren verschlüsselten Tunnel.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/CNF Computer Networking Fundamentals Certification Curriculum verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
Penetrationstests für EITC/IS/WAPT-Webanwendungen
EITC/IS/WAPT Web Applications Penetration Testing ist das europäische IT-Zertifizierungsprogramm zu theoretischen und praktischen Aspekten des Penetrationstests von Webanwendungen (White Hacking), einschließlich verschiedener Techniken für Webseiten-Spider, Scanning und Angriffstechniken, einschließlich spezieller Penetrationstest-Tools und -Suiten .
Das Curriculum des EITC/IS/WAPT Web Applications Penetration Testing umfasst Einführung in die Burp Suite, Web-Spridering und DVWA, Brute-Force-Tests mit Burp Suite, Web Application Firewall (WAF)-Erkennung mit WAFW00F, Zielumfang und Spidering, Auffinden versteckter Dateien mit ZAP, WordPress-Schwachstellen-Scan und Enumeration von Benutzernamen, Load-Balancer-Scan, Cross-Site-Scripting, XSS – reflektiert, gespeichert und DOM, Proxy-Angriffe, Konfiguration des Proxys in ZAP, Datei- und Verzeichnisangriffe, Datei- und Verzeichniserkennung mit DirBuster, Übung von Web-Angriffen , OWASP Juice Shop, CSRF – Cross Site Request Forgery, Cookiesammlung und Reverse Engineering, HTTP Attributes – Cookie Stealing, SQL Injection, DotDotPwn – Directory Traversal Fuzzing, Iframe Injection und HTML Injection, Heartbleed Exploit – Discovery and Exploitation, PHP Code Injection, bWAPP – HTML Injection, Reflected POST, OS Command Injection mit Commix, serverseitig Include SSI Injection, Pentesting in Docker, OverTheWire Natas, LFI und Command Injection, Google Hacking for Pentesting, Google Dorks For Penetration Testing, Apache2 ModSecurity sowie Nginx ModSecurity, innerhalb der folgenden Struktur, die umfassende videodidaktische Inhalte als Referenz für diese EITC-Zertifizierung umfasst.
Webanwendungssicherheit (oft als Web AppSec bezeichnet) ist das Konzept, Websites so zu gestalten, dass sie auch bei Angriffen normal funktionieren. Die Idee besteht darin, eine Reihe von Sicherheitsmaßnahmen in eine Webanwendung zu integrieren, um ihre Assets vor feindlichen Agenten zu schützen. Webanwendungen sind wie jede Software anfällig für Fehler. Einige dieser Fehler sind tatsächliche Schwachstellen, die ausgenutzt werden können und ein Risiko für Unternehmen darstellen. Solche Fehler werden durch die Webanwendungssicherheit geschützt. Es beinhaltet die Anwendung sicherer Entwicklungsansätze und die Einführung von Sicherheitskontrollen während des gesamten Softwareentwicklungslebenszyklus (SDLC), um sicherzustellen, dass Designfehler und Implementierungsprobleme behoben werden. Online-Penetrationstests, die von Experten durchgeführt werden, um Schwachstellen in Webanwendungen mit einem sogenannten White-Hacking-Ansatz aufzudecken und auszunutzen, sind eine wesentliche Praxis, um eine angemessene Abwehr zu ermöglichen.
Ein Web-Penetrationstest, auch Web-Pen-Test genannt, simuliert einen Cyberangriff auf eine Webanwendung, um ausnutzbare Schwachstellen zu finden. Penetrationstests werden häufig zur Ergänzung einer Web Application Firewall im Rahmen der Web Application Security (WAF) eingesetzt. Pen-Tests beinhalten im Allgemeinen den Versuch, in eine beliebige Anzahl von Anwendungssystemen (z. B. APIs, Front-End-/Back-End-Server) einzudringen, um Schwachstellen zu finden, wie z. B. nicht bereinigte Eingaben, die anfällig für Code-Injection-Angriffe sind.
Die Ergebnisse des Online-Penetrationstests können verwendet werden, um WAF-Sicherheitsrichtlinien zu konfigurieren und entdeckte Schwachstellen zu beheben.
Penetrationstests bestehen aus fünf Schritten.
Das Pen-Testverfahren ist in fünf Schritte unterteilt.
- Planung und Scouting
Die Definition des Umfangs und der Ziele eines Tests, einschließlich der zu adressierenden Systeme und der zu verwendenden Testmethoden, ist der erste Schritt.
Um ein besseres Verständnis der Funktionsweise eines Ziels und seiner potenziellen Schwächen zu erlangen, sammeln Sie Informationen (z. B. Netzwerk- und Domänennamen, Mailserver). - Scannen
Der nächste Schritt besteht darin, herauszufinden, wie die Zielanwendung auf verschiedene Arten von Eindringversuchen reagiert. Dies wird normalerweise mit den folgenden Methoden erreicht:
Statische Analyse – Untersuchen des Codes einer Anwendung, um vorherzusagen, wie er sich bei der Ausführung verhält. In einem einzigen Durchgang können diese Tools den gesamten Code scannen.
Dynamische Analyse ist der Prozess der Überprüfung des Codes einer Anwendung während des Betriebs. Diese Scanmethode ist praktischer, da sie eine Echtzeitansicht der Leistung einer Anwendung bietet. - Zugang erhalten
Um die Schwachstellen eines Ziels zu finden, verwendet dieser Schritt Angriffe auf Webanwendungen wie Cross-Site-Scripting, SQL-Injection und Backdoors. Um den Schaden zu verstehen, den diese Sicherheitsanfälligkeiten anrichten können, versuchen Tester, sie auszunutzen, indem sie Berechtigungen ausweiten, Daten stehlen, Datenverkehr abfangen usw. - Zugriff behalten
Der Zweck dieser Phase besteht darin, zu beurteilen, ob die Schwachstelle ausgenutzt werden kann, um eine langfristige Präsenz im kompromittierten System zu etablieren, die es einem bösartigen Akteur ermöglicht, eingehenden Zugriff zu erhalten. Das Ziel besteht darin, fortgeschrittene persistente Bedrohungen zu imitieren, die monatelang in einem System verbleiben können, um die sensibelsten Informationen eines Unternehmens zu stehlen. - Analyse
Die Ergebnisse des Penetrationstests werden dann in einem Bericht festgehalten, der Informationen enthält wie:
Schwachstellen, die im Detail ausgenutzt wurden
Daten, die erhalten wurden, die sensibel waren
Die Zeit, die der Stifttester unbemerkt im System verbleiben konnte.
Sicherheitsexperten verwenden diese Daten, um die WAF-Einstellungen eines Unternehmens und andere Anwendungssicherheitslösungen zu konfigurieren, um Schwachstellen zu schließen und weitere Angriffe zu verhindern.
Methoden des Penetrationstests
- Externe Penetrationstests konzentrieren sich auf die im Internet sichtbaren Vermögenswerte eines Unternehmens, wie die Webanwendung selbst, die Unternehmenswebsite sowie E-Mail- und Domain Name Server (DNS). Ziel ist es, Zugang zu nützlichen Informationen zu erhalten und diese zu extrahieren.
- Internes Testen bedeutet, dass ein Tester Zugriff auf eine Anwendung hinter der Firewall eines Unternehmens hat und einen feindlichen Insiderangriff simuliert. Dies ist nicht notwendig, eine betrügerische Mitarbeitersimulation. Ein Mitarbeiter, dessen Zugangsdaten durch einen Phishing-Versuch erlangt wurden, ist ein üblicher Ausgangspunkt.
- Bei Blindtests wird einem Tester einfach der Name des zu testenden Unternehmens mitgeteilt. Auf diese Weise können Sicherheitsexperten in Echtzeit sehen, wie sich ein tatsächlicher Angriff auf eine Anwendung entwickeln könnte.
- Double-Blind-Tests: Bei einem Double-Blind-Test sind sich Sicherheitsexperten des simulierten Angriffs im Vorfeld nicht bewusst. Sie werden keine Zeit haben, ihre Befestigungen vor einem Angriffsversuch zu stärken, genau wie in der realen Welt.
- Gezieltes Testen – In diesem Szenario arbeiten der Tester und das Sicherheitspersonal zusammen und verfolgen die Bewegungen des anderen. Dies ist eine hervorragende Trainingsübung, die einem Sicherheitsteam Echtzeit-Feedback aus der Sicht eines Hackers gibt.
Firewalls für Webanwendungen und Penetrationstests
Penetrationstests und WAFs sind zwei separate, aber sich ergänzende Sicherheitstechniken. Der Tester nutzt wahrscheinlich WAF-Daten wie Protokolle, um die Schwachstellen einer Anwendung bei vielen Arten von Pen-Tests (mit Ausnahme von Blind- und Doppelblindtests) zu finden und auszunutzen.
Pen-Testdaten wiederum können WAF-Administratoren helfen. Nach Abschluss eines Tests können WAF-Konfigurationen geändert werden, um vor den während des Tests erkannten Fehlern zu schützen.
Schließlich erfüllen Pen-Tests bestimmte Compliance-Anforderungen der Sicherheits-Audit-Methoden wie PCI DSS und SOC 2. Bestimmte Anforderungen wie PCI-DSS 6.6 können nur erfüllt werden, wenn eine zertifizierte WAF verwendet wird. Aufgrund der oben genannten Vorteile und der Möglichkeit, WAF-Einstellungen zu ändern, macht dies jedoch den Stifttest nicht weniger nützlich.
Welche Bedeutung haben Web-Sicherheitstests?
Das Ziel von Web-Sicherheitstests besteht darin, Sicherheitslücken in Webanwendungen und deren Einrichtung zu identifizieren. Die Anwendungsschicht ist das primäre Ziel (dh was auf dem HTTP-Protokoll ausgeführt wird). Das Senden verschiedener Eingabeformen an eine Webanwendung, um Probleme zu verursachen und das System auf unerwartete Weise reagieren zu lassen, ist ein gängiger Ansatz zum Testen der Sicherheit. Diese „negativen Tests“ prüfen, ob das System etwas tut, für das es nicht vorgesehen war.
Es ist auch wichtig zu wissen, dass Web-Sicherheitstests mehr umfassen als nur die Sicherheitsfunktionen der Anwendung (wie Authentifizierung und Autorisierung) zu überprüfen. Es ist auch entscheidend, sicherzustellen, dass andere Funktionen sicher bereitgestellt werden (z. B. Geschäftslogik und die Verwendung der richtigen Eingabevalidierung und Ausgabecodierung). Der Zweck besteht darin, sicherzustellen, dass die Funktionen der Webanwendung sicher sind.
Welche Arten von Sicherheitsbewertungen gibt es?
- Test für dynamische Anwendungssicherheit (DAST). Dieser automatisierte Anwendungssicherheitstest eignet sich am besten für risikoarme, nach innen gerichtete Apps, die behördliche Sicherheitsanforderungen erfüllen müssen. Die Kombination von DAST mit einigen manuellen Online-Sicherheitstests für gängige Schwachstellen ist die beste Strategie für Anwendungen mit mittlerem Risiko und wichtige Anwendungen, die geringfügigen Änderungen unterliegen.
- Sicherheitsüberprüfung für statische Anwendungen (SAST). Diese Anwendungssicherheitsstrategie umfasst sowohl automatisierte als auch manuelle Testmethoden. Es ist ideal, um Fehler zu erkennen, ohne Apps in einer Live-Umgebung ausführen zu müssen. Es ermöglicht Ingenieuren auch, Quellcode zu scannen, um Software-Sicherheitsfehler auf systematische Weise zu erkennen und zu beheben.
- Penetrationsprüfung. Dieser manuelle Anwendungssicherheitstest ist ideal für wesentliche Anwendungen, insbesondere solche, die erheblichen Änderungen unterliegen. Um fortgeschrittene Angriffsszenarien zu finden, verwendet die Evaluierung Geschäftslogik und gegnerische Tests.
- Anwendungsselbstschutz in der Laufzeit (RASP). Diese wachsende Anwendungssicherheitsmethode umfasst eine Vielzahl von Technologietechniken, um eine Anwendung so zu instrumentieren, dass Bedrohungen in Echtzeit beobachtet und hoffentlich verhindert werden können, sobald sie auftreten.
Welche Rolle spielen Anwendungssicherheitstests bei der Verringerung des Unternehmensrisikos?
Die überwiegende Mehrheit der Angriffe auf Webanwendungen umfasst:
- SQL Injection
- XSS (Cross-Site-Scripting)
- Remote-Befehlsausführung
- Path-Traversal-Angriff
- Eingeschränkter Zugriff auf Inhalte
- Kompromittierte Benutzerkonten
- Installation von bösartigem Code
- Umsatzverluste
- Vertrauensverlust der Kunden
- Rufschädigung der Marke
- Und viele andere Angriffe
In der heutigen Internetumgebung kann eine Webanwendung durch eine Vielzahl von Herausforderungen beschädigt werden. Die obige Grafik zeigt einige der häufigsten Angriffe von Angreifern, von denen jede einzelne Anwendungen oder ein ganzes Unternehmen erheblich schädigen kann. Die Kenntnis der vielen Angriffe, die eine Anwendung angreifbar machen, sowie der möglichen Ergebnisse eines Angriffs ermöglicht es dem Unternehmen, Schwachstellen im Voraus zu beheben und effektiv auf sie zu testen.
In den frühen Phasen des SDLC können risikomindernde Kontrollen eingerichtet werden, um Probleme zu vermeiden, indem die Ursache der Schwachstelle identifiziert wird. Während eines Sicherheitstests für Webanwendungen kann das Wissen über die Funktionsweise dieser Bedrohungen auch verwendet werden, um auf bekannte Orte von Interesse abzuzielen.
Das Erkennen der Auswirkungen eines Angriffs ist auch für das Risikomanagement des Unternehmens wichtig, da die Auswirkungen eines erfolgreichen Angriffs verwendet werden können, um den Schweregrad der Schwachstelle insgesamt zu bestimmen. Wenn während eines Sicherheitstests Schwachstellen entdeckt werden, ermöglicht die Ermittlung ihres Schweregrades dem Unternehmen, Abhilfemaßnahmen effektiver zu priorisieren. Um das Risiko für das Unternehmen zu reduzieren, beginnen Sie mit Problemen mit kritischem Schweregrad und arbeiten Sie sich bis zu denen mit geringerer Auswirkung vor.
Bevor Sie ein Problem identifizieren, hilft Ihnen die Bewertung der möglichen Auswirkungen jedes Programms in der Anwendungsbibliothek des Unternehmens, die Anwendungssicherheitstests zu priorisieren. Wenb-Sicherheitstests können so geplant werden, dass sie zuerst auf die kritischen Anwendungen des Unternehmens abzielen, mit gezielteren Tests, um das Risiko für das Unternehmen zu verringern. Mit einer etablierten Liste von hochkarätigen Anwendungen können Web-Sicherheitstests so geplant werden, dass sie zuerst auf die kritischen Anwendungen des Unternehmens abzielen, mit gezielteren Tests, um das Risiko für das Unternehmen zu verringern.
Welche Funktionen sollten bei einem Sicherheitstest für Webanwendungen untersucht werden?
Berücksichtigen Sie beim Testen der Webanwendungssicherheit die folgende nicht erschöpfende Liste von Funktionen. Eine ineffektive Umsetzung jedes einzelnen kann zu Schwächen führen, die das Unternehmen gefährden.
- Konfiguration der Anwendung und des Servers. Verschlüsselungs-/Kryptografie-Setups, Webserver-Konfigurationen usw. sind Beispiele für potenzielle Fehler.
- Validierung der Eingabe- und Fehlerbehandlung Eine schlechte Eingabe- und Ausgabeverarbeitung führt zu SQL-Injection, Cross-Site-Scripting (XSS) und anderen typischen Injektionsproblemen.
- Authentifizierung und Wartung von Sitzungen. Sicherheitslücken, die zum Identitätswechsel des Benutzers führen können. Die Stärke und der Schutz der Anmeldeinformationen sollten ebenfalls berücksichtigt werden.
- Genehmigung. Die Fähigkeit der Anwendung, gegen vertikale und horizontale Rechteausweitung zu schützen, wird getestet.
- Logik im Geschäft. Die meisten Programme, die Geschäftsfunktionen bereitstellen, beruhen auf diesen.
- Logik auf der Clientseite. Diese Art von Funktion wird bei modernen, JavaScript-lastigen Webseiten sowie bei Webseiten, die andere Arten von clientseitigen Technologien verwenden (zB Silverlight, Flash, Java-Applets), immer häufiger.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/WAPT Web Applications Penetration Testing Certification Curriculum verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
EITC/IS/WASF-Sicherheitsgrundlagen für Webanwendungen
EITC/IS/WASF Web Applications Security Fundamentals ist das europäische IT-Zertifizierungsprogramm zu theoretischen und praktischen Aspekten der Sicherheit von World Wide Web-Diensten, angefangen von der Sicherheit grundlegender Webprotokolle über Datenschutz, Bedrohungen und Angriffe auf verschiedene Ebenen des Webverkehrs, Netzwerkkommunikation, Web Serversicherheit, Sicherheit in höheren Schichten, einschließlich Webbrowser und Webanwendungen, sowie Authentifizierung, Zertifikate und Phishing.
Das Curriculum der EITC/IS/WASF Web Applications Security Fundamentals umfasst eine Einführung in HTML- und JavaScript-Websicherheitsaspekte, DNS, HTTP, Cookies, Sitzungen, Cookie- und Sitzungsangriffe, Gleiche-Ursprungs-Richtlinie, Cross-Site-Request-Forgery, Ausnahmen vom Gleichen Origin Policy, Cross-Site Scripting (XSS), Cross-Site Scripting-Abwehr, Web-Fingerprinting, Datenschutz im Web, DoS, Phishing und Nebenkanäle, Denial-of-Service, Phishing und Nebenkanäle, Injection-Angriffe, Code-Injection, Transport Layer Security (TLS) und Angriffe, HTTPS in der realen Welt, Authentifizierung, WebAuthn, Verwaltung der Websicherheit, Sicherheitsbedenken im Node.js-Projekt, Serversicherheit, sichere Codierungspraktiken, lokale HTTP-Serversicherheit, DNS-Rebinding-Angriffe, Browserangriffe, Browser Architektur sowie das Schreiben sicherer Browsercodes innerhalb der folgenden Struktur, die umfassende videodidaktische Inhalte als Referenz für diese EITC-Zertifizierung umfasst.
Die Sicherheit von Webanwendungen ist eine Teilmenge der Informationssicherheit, die sich auf die Sicherheit von Websites, Webanwendungen und Webdiensten konzentriert. Die Sicherheit von Webanwendungen basiert auf ihrer grundlegendsten Ebene auf den Prinzipien der Anwendungssicherheit, wendet sie jedoch insbesondere auf das Internet und Webplattformen an. Sicherheitstechnologien für Webanwendungen, wie z. B. Firewalls für Webanwendungen, sind spezielle Tools für die Arbeit mit HTTP-Datenverkehr.
Das Open Web Application Security Project (OWASP) bietet sowohl kostenlose als auch offene Ressourcen. Verantwortlich dafür ist eine gemeinnützige OWASP-Stiftung. Die OWASP Top 2017 10 ist das Ergebnis einer aktuellen Studie, die auf umfangreichen Daten von über 40 Partnerorganisationen basiert. Anhand dieser Daten wurden in über 2.3 Anwendungen ungefähr 50,000 Millionen Schwachstellen entdeckt. Die zehn wichtigsten Sicherheitsbedenken bei Online-Anwendungen laut OWASP Top 10 – 2017 sind:
- Spritze
- Authentifizierungsprobleme
- Offengelegte sensible Daten XML externe Entitäten (XXE)
- Zugriffskontrolle, die nicht funktioniert
- Fehlkonfiguration der Sicherheit
- Site-to-Site-Scripting (XSS)
- Nicht sichere Deserialisierung
- Verwendung von Komponenten mit bekannten Fehlern
- Protokollierung und Überwachung sind unzureichend.
Daher wird der Schutz von Websites und Onlinediensten gegen verschiedene Sicherheitsbedrohungen, die Schwachstellen im Code einer Anwendung ausnutzen, als Webanwendungssicherheit bezeichnet. Content-Management-Systeme (z. B. WordPress), Datenbankverwaltungstools (z. B. phpMyAdmin) und SaaS-Apps sind gängige Ziele für Angriffe auf Online-Anwendungen.
Webanwendungen werden von den Tätern als hoch priorisierte Ziele angesehen, weil:
- Aufgrund der Komplexität ihres Quellcodes sind unbeaufsichtigte Schwachstellen und Modifikationen bösartiger Codes wahrscheinlicher.
- Hochwertige Belohnungen, wie z. B. sensible personenbezogene Daten, die durch effektive Quellcode-Manipulation erlangt wurden.
- Einfache Ausführung, da die meisten Angriffe leicht automatisiert und wahllos gegen Tausende, Zehntausende oder sogar Hunderttausende von Zielen gleichzeitig eingesetzt werden können.
- Organisationen, die ihre Webanwendungen nicht schützen, sind anfällig für Angriffe. Dies kann unter anderem zu Datendiebstahl, angespannten Kundenbeziehungen, entzogenen Lizenzen und rechtlichen Schritten führen.
Sicherheitslücken in Websites
Fehler bei der Eingabe/Ausgabe-Bereinigung sind in Webanwendungen üblich und werden häufig ausgenutzt, um entweder den Quellcode zu ändern oder unbefugten Zugriff zu erhalten.
Diese Fehler ermöglichen die Ausnutzung einer Vielzahl von Angriffsvektoren, darunter:
- SQL Injection – Wenn ein Täter eine Backend-Datenbank mit bösartigem SQL-Code manipuliert, werden Informationen preisgegeben. Unerlaubtes Durchsuchen von Listen, Löschen von Tabellen und nicht autorisierter Administratorzugriff sind unter anderem die Folgen.
- XSS (Cross-Site Scripting) ist ein Injection-Angriff, der auf Benutzer abzielt, um Zugang zu Konten zu erhalten, Trojaner zu aktivieren oder Seiteninhalte zu ändern. Wenn Schadcode direkt in eine Anwendung eingeschleust wird, wird dies als gespeichertes XSS bezeichnet. Wenn ein schädliches Skript von einer Anwendung auf den Browser eines Benutzers gespiegelt wird, wird dies als reflektiertes XSS bezeichnet.
- Entfernte Dateieinbindung – Diese Angriffsform ermöglicht es einem Hacker, eine Datei von einem entfernten Standort in einen Webanwendungsserver einzuschleusen. Dies kann dazu führen, dass innerhalb der App gefährliche Skripte oder Code ausgeführt werden, sowie Datendiebstahl oder -modifikation.
- Cross-Site Request Forgery (CSRF) – Eine Angriffsart, die zu einem unbeabsichtigten Geldtransfer, Passwortänderungen oder Datendiebstahl führen kann. Es tritt auf, wenn ein bösartiges Webprogramm den Browser eines Benutzers anweist, eine unerwünschte Aktion auf einer Website durchzuführen, auf der er angemeldet ist.
Theoretisch kann eine effektive Bereinigung der Eingabe/Ausgabe alle Schwachstellen beseitigen und eine Anwendung für unbefugte Änderungen unempfindlich machen.
Da sich die meisten Programme jedoch in einem ständigen Entwicklungsstadium befinden, ist eine umfassende Desinfektion selten eine praktikable Option. Darüber hinaus werden Apps häufig ineinander integriert, was zu einer immer komplexer werdenden codierten Umgebung führt.
Um solche Gefahren zu vermeiden, sollten Sicherheitslösungen und -prozesse für Webanwendungen wie die Zertifizierung nach dem PCI Data Security Standard (PCI DSS) implementiert werden.
Firewall für Webanwendungen (WAF)
WAFs (Web Application Firewalls) sind Hardware- und Softwarelösungen, die Anwendungen vor Sicherheitsbedrohungen schützen. Diese Lösungen wurden entwickelt, um eingehenden Datenverkehr zu untersuchen, um Angriffsversuche zu erkennen und zu blockieren und alle Fehler bei der Codebereinigung auszugleichen.
Die WAF-Bereitstellung erfüllt ein entscheidendes Kriterium für die PCI-DSS-Zertifizierung, indem sie Daten vor Diebstahl und Modifikation schützt. Alle Daten von Kredit- und Debitkarteninhabern, die in einer Datenbank geführt werden, müssen gemäß Anforderung 6.6 geschützt werden.
Da sie ihrer DMZ am Rand des Netzwerks voraus ist, erfordert die Einrichtung einer WAF normalerweise keine Änderungen an einer Anwendung. Es dient dann als Gateway für den gesamten eingehenden Datenverkehr und filtert gefährliche Anfragen heraus, bevor sie mit einer Anwendung interagieren können.
Um zu beurteilen, welcher Verkehr auf eine Anwendung zugreifen darf und welcher aussortiert werden muss, verwenden WAFs verschiedene Heuristiken. Dank eines regelmäßig aktualisierten Signaturpools können sie böswillige Akteure und bekannte Angriffsvektoren schnell identifizieren.
Fast alle WAFs können auf individuelle Anwendungsfälle und Sicherheitsvorschriften sowie auf die Bekämpfung neu auftretender (auch als Zero-Day-Bedrohungen bekannt) zugeschnitten werden. Um schließlich zusätzliche Einblicke in eingehende Besucher zu gewinnen, verwenden die meisten modernen Lösungen Reputations- und Verhaltensdaten.
Um einen Sicherheitsperimeter aufzubauen, werden WAFs in der Regel mit zusätzlichen Sicherheitslösungen kombiniert. Dazu können Dienste zur Verhinderung von Distributed Denial-of-Service (DDoS) gehören, die die zusätzliche Skalierbarkeit bieten, die erforderlich ist, um Angriffe mit hohem Volumen zu verhindern.
Checkliste für die Sicherheit von Webanwendungen
Neben WAFs gibt es verschiedene Ansätze, um Web-Apps abzusichern. Jede Sicherheitscheckliste für Webanwendungen sollte die folgenden Verfahren enthalten:
- Sammeln von Daten — Gehen Sie die Anwendung von Hand durch und suchen Sie nach Einstiegspunkten und clientseitigen Codes. Klassifizieren Sie Inhalte, die von einem Drittanbieter gehostet werden.
- Autorisierung – Suchen Sie beim Testen der Anwendung nach Pfaddurchquerungen, vertikalen und horizontalen Zugriffskontrollproblemen, fehlender Autorisierung und unsicheren, direkten Objektreferenzen.
- Sichern Sie alle Datenübertragungen mit Kryptographie. Wurden sensible Informationen verschlüsselt? Haben Sie Algorithmen verwendet, die dem Schnupftabak nicht gewachsen sind? Gibt es Zufallsfehler?
- Denial-of-Service – Testen Sie auf Anti-Automation, Kontosperrung, HTTP-Protokoll-DoS und SQL-Wildcard-DoS, um die Widerstandsfähigkeit einer Anwendung gegen Denial-of-Service-Angriffe zu verbessern. Dies beinhaltet nicht die Sicherheit gegen DoS- und DDoS-Angriffe mit hohem Volumen, die eine Mischung aus Filtertechnologien und skalierbaren Ressourcen erfordern, um zu widerstehen.
Weitere Informationen finden Sie im OWASP Web Application Security Testing Cheat Sheet (es ist auch eine großartige Ressource für andere sicherheitsbezogene Themen).
DDoS Schutz
DDoS-Angriffe oder verteilte Denial-of-Service-Angriffe sind eine typische Möglichkeit, eine Webanwendung zu unterbrechen. Es gibt eine Reihe von Ansätzen zur Abwehr von DDoS-Angriffen, darunter das Verwerfen von volumetrischem Angriffsverkehr in Content Delivery Networks (CDNs) und der Einsatz externer Netzwerke, um echte Anfragen angemessen weiterzuleiten, ohne eine Dienstunterbrechung zu verursachen.
DNSSEC-Schutz (Domain Name System Security Extensions)
Das Domain Name System (DNS) ist das Telefonbuch des Internets und spiegelt wider, wie ein Internet-Tool, beispielsweise ein Webbrowser, den entsprechenden Server findet. DNS-Cache-Poisoning, On-Path-Angriffe und andere Mittel zur Störung des DNS-Lookup-Lebenszyklus werden von böswilligen Akteuren verwendet, um diesen DNS-Anforderungsprozess zu kapern. Wenn DNS das Telefonbuch des Internets ist, ist DNSSEC eine nicht fälschbare Anrufer-ID. Eine DNS-Lookup-Anfrage kann mit der DNSSEC-Technologie geschützt werden.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/WASF-Zertifizierungscurriculum für Sicherheitsgrundlagen für Webanwendungen verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
EITC/IS/ACSS Erweiterte Computersystemsicherheit
EITC/IS/ACSS Advanced Computer Systems Security ist das europäische IT-Zertifizierungsprogramm zu theoretischen und praktischen Aspekten der Cybersicherheit in Computersystemen.
Das Curriculum des EITC/IS/ACSS Advanced Computer Systems Security umfasst Kenntnisse und praktische Fähigkeiten in den Bereichen Sicherheit mobiler Smart Devices, Sicherheitsanalyse, symbolische Ausführung, Netzwerksicherheit (einschließlich Web-Sicherheitsmodell und sichere Kanäle und Sicherheitszertifikate), praktische Implementierungen in realen Lebensszenarien, Sicherheit von Messaging und Speicherung sowie Timing-Angriffen innerhalb der folgenden Struktur, die umfassende videodidaktische Inhalte als Referenz für diese EITC-Zertifizierung umfasst.
Fortschrittliche Computersystemsicherheit geht über einführende Begriffe hinaus. Der Lehrplan befasst sich zunächst mit der Sicherheit mobiler Geräte (einschließlich der Sicherheit mobiler Apps). Der Lehrplan geht dann zur formalen Sicherheitsanalyse über, die ein wichtiger Aspekt der Sicherheit von fortgeschrittenen Computersystemen ist, wobei der Schwerpunkt auf der symbolischen Ausführung liegt. Darüber hinaus behandelt der Lehrplan die Einführung in die Netzwerksicherheit, einschließlich der Einführung des Web-Sicherheitsmodells, der Netzwerksicherheit, der Definition und Theorie sicherer Kanäle sowie Sicherheitszertifikaten. Darüber hinaus befasst sich das Curriculum mit der praktischen Umsetzung von Informationssicherheit, insbesondere unter Berücksichtigung realer Szenarien. Anschließend werden bestimmte Bereiche von Sicherheitsanwendungen erörtert, nämlich Kommunikation (Messaging) und Speicherung (mit nicht vertrauenswürdigen Speicherservern). Es schließt mit der Diskussion fortgeschrittener Sicherheitsbedrohungen von Computersystemen in Form von CPU-Timing-Angriffen.
Der Schutz von Computersystemen und Informationen vor Beschädigung, Diebstahl und illegaler Nutzung wird allgemein als Computersystemsicherheit bezeichnet, manchmal auch als Cybersicherheit bezeichnet. Seriennummern, physische Sicherheitsmaßnahmen, Überwachung und Alarme werden häufig zum Schutz von Computergeräten verwendet, ebenso wie für andere wichtige oder sensible Geräte. Der Informations- und Systemzugriff in Software hingegen wird durch verschiedene Strategien geschützt, die zum Teil recht kompliziert sind und ausreichende fachliche Kompetenzen erfordern.
Vier Hauptgefahren werden durch die Sicherheitsverfahren im Zusammenhang mit den verarbeiteten Informationen und dem Zugriff von Computersystemen angegangen:
- Datendiebstahl von Regierungscomputern, wie geistiges Eigentum,
- Vandalismus, einschließlich der Verwendung eines Computervirus, um Daten zu zerstören oder zu entführen,
- Betrug, wie Hacker (oder z. B. Bankmitarbeiter), die Gelder auf ihre eigenen Konten umleiten,
- Verletzung der Privatsphäre, z. B. der Erhalt geschützter persönlicher Finanz- oder medizinischer Daten aus einer großen Datenbank ohne Erlaubnis.
Die grundlegendste Methode zum Schutz eines Computersystems vor Diebstahl, Vandalismus, Verletzung der Privatsphäre und anderem unverantwortlichen Verhalten besteht darin, den Zugriff und die Aktivitäten der verschiedenen Benutzer auf das System zu verfolgen und aufzuzeichnen. Dies wird oft dadurch erreicht, dass jeder Person, die Zugang zu einem System hat, ein eindeutiges Passwort gegeben wird. Das Computersystem kann dann die Verwendung dieser Passwörter automatisch verfolgen und dabei Informationen notieren, auf welche Dateien mit welchen Passwörtern zugegriffen wurde und so weiter. Eine andere Sicherheitstechnik besteht darin, die Daten eines Systems auf einem anderen Gerät oder Medium zu speichern, auf das das Computersystem normalerweise nicht zugreifen kann. Schließlich werden Daten häufig verschlüsselt, sodass nur diejenigen mit einem einzigen Verschlüsselungsschlüssel sie entschlüsseln können (was unter den Begriff der Kryptographie fällt).
Seit der Einführung von Modems (Geräte, die Computern die Interaktion über Telefonleitungen ermöglichen) in den späten 1960er Jahren wird die Computersicherheit immer wichtiger. In den 1980er Jahren verschärfte die Entwicklung von Personal Computern das Problem, indem sie es Hackern (unverantwortlich handelnden, in der Regel autodidaktischen Computerprofis, die Computerzugriffsbeschränkungen umgehen) erlaubten, von zu Hause aus unrechtmäßig auf wichtige Computersysteme zuzugreifen. Mit dem explosionsartigen Aufstieg des Internets Ende des XNUMX. und Anfang des XNUMX. Jahrhunderts wurde die Computersicherheit zu einem wichtigen Thema. Die Entwicklung verbesserter Sicherheitssysteme versucht, solche Schwachstellen zu verringern, doch Methoden der Computerkriminalität entwickeln sich ständig weiter und bergen neue Risiken.
Zu fragen, was gesichert wird, ist eine Methode, um die Ähnlichkeiten und Unterschiede in der Sicherheit von Computersystemen zu bestimmen.
Als Beispiel,
- Informationssicherheit ist der Schutz von Daten vor unbefugtem Zugriff, Veränderung und Löschung.
- Anwendungssicherheit ist der Schutz einer Anwendung vor Cyberbedrohungen wie SQL-Injection, DoS-Angriffen, Datenschutzverletzungen usw.
- Computersicherheit ist definiert als der Schutz von Computersystemen, die über Computernetzwerke in Bezug auf die Kontrolle kommunizieren, indem sie aktualisiert und gepatcht werden.
- Netzwerksicherheit ist definiert als die Sicherung sowohl von Software- als auch Hardwaretechnologien in einer Netzwerkumgebung – Cybersicherheit ist definiert als der Schutz von Computersystemen, die über Computernetzwerke in Bezug auf die Kontrolle kommunizieren, indem sie aktualisiert und gepatcht werden.
Es ist wichtig, die Unterschiede zwischen diesen Begriffen zu erkennen, auch wenn ihre Definitionen oder das Ausmaß ihrer Überschneidungen oder Austauschbarkeit nicht immer klar sind. Die Computersystemsicherheit bezieht sich auf die Sicherheitsvorkehrungen, die zur Gewährleistung der Vertraulichkeit, Integrität und Verfügbarkeit aller Computersystemkomponenten getroffen wurden.
Folgende Komponenten eines Computersystems müssen geschützt werden:
- Hardware oder die physischen Komponenten eines Computersystems, wie z. B. der Systemspeicher und das Festplattenlaufwerk.
- Firmware ist nichtflüchtige Software, die dauerhaft im nichtflüchtigen Speicher eines Hardwaregeräts gespeichert wird und im Allgemeinen für den Benutzer transparent ist.
- Software sind Computerprogramme, die Benutzern Dienste wie ein Betriebssystem, ein Textverarbeitungsprogramm und einen Webbrowser bereitstellen und bestimmen, wie die Hardware arbeitet, um Informationen entsprechend den von der Software definierten Zielen zu verarbeiten.
Die CIA-Triade befasst sich hauptsächlich mit drei Bereichen der Computersystemsicherheit:
- Die Vertraulichkeit stellt sicher, dass nur die beabsichtigte Zielgruppe Zugang zu Informationen hat.
- Integrität bezieht sich darauf, zu verhindern, dass Unbefugte die verarbeiteten Daten ändern.
- Verfügbarkeit bezieht sich auf die Fähigkeit, zu verhindern, dass Unbefugte Daten ändern.
Informationen und Computerkomponenten müssen verwendbar sein und gleichzeitig vor Personen oder Software geschützt sein, die nicht in der Lage sein sollten, darauf zuzugreifen oder sie zu ändern.
Die häufigsten Sicherheitsbedrohungen für Computersysteme
Sicherheitsrisiken für Computersysteme sind potenzielle Gefahren, die den Routinebetrieb Ihres Computers stören können. Da die Welt immer digitaler wird, nehmen Cyber-Risiken immer mehr zu. Im Folgenden sind die gefährlichsten Arten von Bedrohungen für die Computersicherheit aufgeführt:
- Viren – Ein Computervirus ist ein bösartiges Programm, das ohne Wissen des Benutzers auf seinem Computer installiert wird. Es repliziert sich selbst und infiziert die Daten und Programme des Benutzers. Der ultimative Zweck eines Virus besteht darin, zu verhindern, dass der Computer des Opfers jemals richtig oder überhaupt funktioniert.
- Computerwurm – Ein Computerwurm ist eine Art Software, die sich ohne menschliches Eingreifen von einem Computer auf einen anderen kopieren kann. Da sich ein Wurm in großen Mengen und mit hoher Geschwindigkeit replizieren kann, besteht die Gefahr, dass er den Festplattenspeicher Ihres Computers verbraucht.
- Phishing – Handlung einer Person, die sich als vertrauenswürdige Person oder Organisation ausgibt, um kritische finanzielle oder persönliche Informationen (einschließlich Zugangsdaten für Computersysteme) über sogenannte Phishing-E-Mails oder Instant Messaging zu stehlen. Phishing ist leider unglaublich einfach durchzuführen. Ein Opfer wird getäuscht, um zu glauben, dass es sich bei der Kommunikation des Phishers um eine authentische offizielle Kommunikation handelt und das Opfer vertrauliche persönliche Informationen freiwillig zur Verfügung stellt.
- Botnet – Ein Botnet ist eine Gruppe von Computern, die mit dem Internet verbunden sind und von einem Hacker mit einem Computervirus infiziert wurden. Der Begriff Zombie-Computer oder Bot bezieht sich auf einen einzelnen Computer im Botnet. Der Computer des Opfers, der Bot im Botnet, wird aufgrund dieser Bedrohung für böswillige Aktionen und größere Angriffe wie DDoS ausgenutzt.
- Rootkit – Ein Rootkit ist ein Computerprogramm, das privilegierten Zugriff auf einen Computer aufrechterhält und versucht, seine Anwesenheit zu verbergen. Der Controller des Rootkits ist in der Lage, Dateien aus der Ferne auszuführen und Systemkonfigurationen auf dem Host-Rechner zu ändern, sobald er installiert wurde.
- Keylogger – Keylogger, oft auch als Keylogger bezeichnet, können die Computeraktivität eines Benutzers in Echtzeit überwachen. Es zeichnet alle Tastenanschläge auf, die von der Tastatur des Benutzers ausgeführt werden. Die Verwendung eines Keyloggers zum Stehlen der Anmeldeinformationen von Benutzern wie Benutzername und Passwort ist ebenfalls eine ernsthafte Bedrohung.
Dies sind vielleicht die am weitesten verbreiteten Sicherheitsrisiken, denen man in letzter Zeit begegnen kann. Es gibt noch mehr, wie Malware, Wabbits, Scareware, Bluesnarfing und viele andere. Glücklicherweise gibt es Techniken, um Computersysteme und deren Benutzer gegen solche Angriffe zu verteidigen.
Wir alle möchten unsere Computersysteme und persönlichen oder beruflichen Daten in diesem digitalen Zeitalter privat halten, daher ist die Sicherheit von Computersystemen für den Schutz unserer persönlichen Daten unerlässlich. Es ist auch wichtig, unsere Computer sicher und fehlerfrei zu halten, indem verhindert wird, dass Viren und Malware die Systemleistung beeinträchtigen.
Praktiken in der Computersystemsicherheit
Heutzutage werden die Sicherheitsrisiken von Computersystemen immer innovativer. Um sich vor diesen komplizierten und steigenden Computersicherheitsrisiken zu schützen und online sicher zu bleiben, muss man sich mit Informationen und Ressourcen ausrüsten. Folgende Vorkehrungen kann man treffen:
- Installation zuverlässiger Antiviren- und Sicherheitssoftware
- Da eine Firewall als Sicherheitswächter zwischen dem Internet und Ihrem lokalen Netzwerk fungiert, sollten Sie sie aktivieren.
- Bleiben Sie über die neueste Software und Neuigkeiten zu Ihren Geräten auf dem Laufenden und installieren Sie Updates, sobald sie verfügbar sind.
- Wenn Sie sich über die Herkunft eines E-Mail-Anhangs nicht sicher sind, öffnen Sie ihn nicht.
- Ändern Sie Passwörter regelmäßig mit einer einzigartigen Kombination aus Zahlen, Buchstaben und Groß-/Kleinschreibung.
- Achten Sie beim Zugriff auf das Internet auf Pop-ups und Drive-by-Downloads.
- Investieren Sie die Zeit, um sich mit den Grundlagen der Computersicherheit vertraut zu machen und mit den neuesten Cyber-Bedrohungen Schritt zu halten
- Führen Sie tägliche vollständige Systemscans durch und erstellen Sie einen regelmäßigen Systemsicherungsplan, um sicherzustellen, dass Ihre Daten bei einem Ausfall Ihres Computers wiederherstellbar sind.
Darüber hinaus gibt es eine Reihe weiterer professioneller Ansätze zum Schutz von Computersystemen. Aspekte wie eine angemessene Spezifikation der Sicherheitsarchitektur, Verschlüsselung und spezielle Software können zum Schutz von Computersystemen beitragen.
Bedauerlicherweise nimmt die Zahl der Cyber-Gefahren rapide zu und es treten immer komplexere Angriffe auf. Um diese Angriffe zu bekämpfen und Gefahren zu mindern, sind mehr professionelle und spezialisierte Cybersicherheitskenntnisse erforderlich.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/ACSS Advanced Computer Systems Security Certification Curriculum verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
Grundlagen der Sicherheit von EITC/IS/CSSF-Computersystemen
EITC/IS/CSSF Computer Systems Security Fundamentals ist das europäische IT-Zertifizierungsprogramm zu theoretischen und praktischen Aspekten der Cybersicherheit in Computersystemen.
Das Curriculum der EITC/IS/CSSF-Grundlagen der Computersystemsicherheit umfasst Kenntnisse und praktische Fähigkeiten in den Bereichen Sicherheitsarchitektur von Computersystemen, Benutzerauthentifizierung, Angriffsklassen, Schadensminderung durch Sicherheitslücken, Privilegientrennung, Softwarecontainer und -isolierung sowie sichere Enklaven, innerhalb der folgenden Struktur, die umfassende videodidaktische Inhalte als Referenz für diese EITC-Zertifizierung umfasst.
Die Sicherheit von Computersystemen ist ein breites Konzept der Anwendung von Architekturen und Methoden zur Gewährleistung einer sicheren Informationsverarbeitung und -kommunikation in Computersystemen. Um dieses Problem aus theoretischer Sicht anzugehen, behandelt das Curriculum zunächst die Sicherheitsarchitektur von Computersystemen. Dann geht es zur Diskussion von Problemen der Benutzerauthentifizierung in sicheren Computersystemen, gefolgt von der Betrachtung von Computersystemangriffen, wobei der Schwerpunkt auf einer allgemeinen Klasse der sogenannten Pufferüberlaufangriffe liegt. Der Lehrplan behandelt dann die Schadensbegrenzung von Sicherheitslücken in Computersystemen, wobei der Schwerpunkt auf der Trennung von Berechtigungen, Linux-Containern und Softwareisolierung liegt. Der letzte Teil des Curriculums behandelt sichere Enklaven in Computersystemen.
Der Schutz von Computersystemen und Informationen vor Beschädigung, Diebstahl und illegaler Nutzung wird allgemein als Computersystemsicherheit bezeichnet, manchmal auch als Cybersicherheit bezeichnet. Seriennummern, physische Sicherheitsmaßnahmen, Überwachung und Alarme werden häufig zum Schutz von Computergeräten verwendet, ebenso wie für andere wichtige oder sensible Geräte. Der Informations- und Systemzugriff in Software hingegen wird durch verschiedene Strategien geschützt, die zum Teil recht kompliziert sind und ausreichende fachliche Kompetenzen erfordern.
Vier Hauptgefahren werden durch die Sicherheitsverfahren im Zusammenhang mit den verarbeiteten Informationen und dem Zugriff von Computersystemen angegangen:
- Datendiebstahl von Regierungscomputern, wie geistiges Eigentum,
- Vandalismus, einschließlich der Verwendung eines Computervirus, um Daten zu zerstören oder zu entführen,
- Betrug, wie Hacker (oder z. B. Bankmitarbeiter), die Gelder auf ihre eigenen Konten umleiten,
- Verletzung der Privatsphäre, z. B. der Erhalt geschützter persönlicher Finanz- oder medizinischer Daten aus einer großen Datenbank ohne Erlaubnis.
Die grundlegendste Methode zum Schutz eines Computersystems vor Diebstahl, Vandalismus, Verletzung der Privatsphäre und anderem unverantwortlichen Verhalten besteht darin, den Zugriff und die Aktivitäten der verschiedenen Benutzer auf das System zu verfolgen und aufzuzeichnen. Dies wird oft dadurch erreicht, dass jeder Person, die Zugang zu einem System hat, ein eindeutiges Passwort gegeben wird. Das Computersystem kann dann die Verwendung dieser Passwörter automatisch verfolgen und dabei Informationen notieren, auf welche Dateien mit welchen Passwörtern zugegriffen wurde und so weiter. Eine andere Sicherheitstechnik besteht darin, die Daten eines Systems auf einem anderen Gerät oder Medium zu speichern, auf das das Computersystem normalerweise nicht zugreifen kann. Schließlich werden Daten häufig verschlüsselt, sodass nur diejenigen mit einem einzigen Verschlüsselungsschlüssel sie entschlüsseln können (was unter den Begriff der Kryptographie fällt).
Seit der Einführung von Modems (Geräte, die Computern die Interaktion über Telefonleitungen ermöglichen) in den späten 1960er Jahren wird die Computersicherheit immer wichtiger. In den 1980er Jahren verschärfte die Entwicklung von Personal Computern das Problem, indem sie es Hackern (unverantwortlich handelnden, in der Regel autodidaktischen Computerprofis, die Computerzugriffsbeschränkungen umgehen) erlaubten, von zu Hause aus unrechtmäßig auf wichtige Computersysteme zuzugreifen. Mit dem explosionsartigen Aufstieg des Internets Ende des XNUMX. und Anfang des XNUMX. Jahrhunderts wurde die Computersicherheit zu einem wichtigen Thema. Die Entwicklung verbesserter Sicherheitssysteme versucht, solche Schwachstellen zu verringern, doch Methoden der Computerkriminalität entwickeln sich ständig weiter und bergen neue Risiken.
Zu fragen, was gesichert wird, ist eine Methode, um die Ähnlichkeiten und Unterschiede in der Sicherheit von Computersystemen zu bestimmen.
Als Beispiel,
- Informationssicherheit ist der Schutz von Daten vor unbefugtem Zugriff, Veränderung und Löschung.
- Anwendungssicherheit ist der Schutz einer Anwendung vor Cyberbedrohungen wie SQL-Injection, DoS-Angriffen, Datenschutzverletzungen usw.
- Computersicherheit ist definiert als der Schutz von Computersystemen, die über Computernetzwerke in Bezug auf die Kontrolle kommunizieren, indem sie aktualisiert und gepatcht werden.
- Netzwerksicherheit ist definiert als die Sicherung sowohl von Software- als auch Hardwaretechnologien in einer Netzwerkumgebung – Cybersicherheit ist definiert als der Schutz von Computersystemen, die über Computernetzwerke in Bezug auf die Kontrolle kommunizieren, indem sie aktualisiert und gepatcht werden.
Es ist wichtig, die Unterschiede zwischen diesen Begriffen zu erkennen, auch wenn ihre Definitionen oder das Ausmaß ihrer Überschneidungen oder Austauschbarkeit nicht immer klar sind. Die Computersystemsicherheit bezieht sich auf die Sicherheitsvorkehrungen, die zur Gewährleistung der Vertraulichkeit, Integrität und Verfügbarkeit aller Computersystemkomponenten getroffen wurden.
Folgende Komponenten eines Computersystems müssen geschützt werden:
- Hardware oder die physischen Komponenten eines Computersystems, wie z. B. der Systemspeicher und das Festplattenlaufwerk.
- Firmware ist nichtflüchtige Software, die dauerhaft im nichtflüchtigen Speicher eines Hardwaregeräts gespeichert wird und im Allgemeinen für den Benutzer transparent ist.
- Software sind Computerprogramme, die Benutzern Dienste wie ein Betriebssystem, ein Textverarbeitungsprogramm und einen Webbrowser bereitstellen und bestimmen, wie die Hardware arbeitet, um Informationen entsprechend den von der Software definierten Zielen zu verarbeiten.
Die CIA-Triade befasst sich hauptsächlich mit drei Bereichen der Computersystemsicherheit:
- Die Vertraulichkeit stellt sicher, dass nur die beabsichtigte Zielgruppe Zugang zu Informationen hat.
- Integrität bezieht sich darauf, zu verhindern, dass Unbefugte die verarbeiteten Daten ändern.
- Verfügbarkeit bezieht sich auf die Fähigkeit, zu verhindern, dass Unbefugte Daten ändern.
Informationen und Computerkomponenten müssen verwendbar sein und gleichzeitig vor Personen oder Software geschützt sein, die nicht in der Lage sein sollten, darauf zuzugreifen oder sie zu ändern.
Die häufigsten Sicherheitsbedrohungen für Computersysteme
Sicherheitsrisiken für Computersysteme sind potenzielle Gefahren, die den Routinebetrieb Ihres Computers stören können. Da die Welt immer digitaler wird, nehmen Cyber-Risiken immer mehr zu. Im Folgenden sind die gefährlichsten Arten von Bedrohungen für die Computersicherheit aufgeführt:
- Viren – Ein Computervirus ist ein bösartiges Programm, das ohne Wissen des Benutzers auf seinem Computer installiert wird. Es repliziert sich selbst und infiziert die Daten und Programme des Benutzers. Der ultimative Zweck eines Virus besteht darin, zu verhindern, dass der Computer des Opfers jemals richtig oder überhaupt funktioniert.
- Computerwurm – Ein Computerwurm ist eine Art Software, die sich ohne menschliches Eingreifen von einem Computer auf einen anderen kopieren kann. Da sich ein Wurm in großen Mengen und mit hoher Geschwindigkeit replizieren kann, besteht die Gefahr, dass er den Festplattenspeicher Ihres Computers verbraucht.
- Phishing – Handlung einer Person, die sich als vertrauenswürdige Person oder Organisation ausgibt, um kritische finanzielle oder persönliche Informationen (einschließlich Zugangsdaten für Computersysteme) über sogenannte Phishing-E-Mails oder Instant Messaging zu stehlen. Phishing ist leider unglaublich einfach durchzuführen. Ein Opfer wird getäuscht, um zu glauben, dass es sich bei der Kommunikation des Phishers um eine authentische offizielle Kommunikation handelt und das Opfer vertrauliche persönliche Informationen freiwillig zur Verfügung stellt.
- Botnet – Ein Botnet ist eine Gruppe von Computern, die mit dem Internet verbunden sind und von einem Hacker mit einem Computervirus infiziert wurden. Der Begriff Zombie-Computer oder Bot bezieht sich auf einen einzelnen Computer im Botnet. Der Computer des Opfers, der Bot im Botnet, wird aufgrund dieser Bedrohung für böswillige Aktionen und größere Angriffe wie DDoS ausgenutzt.
- Rootkit – Ein Rootkit ist ein Computerprogramm, das privilegierten Zugriff auf einen Computer aufrechterhält und versucht, seine Anwesenheit zu verbergen. Der Controller des Rootkits ist in der Lage, Dateien aus der Ferne auszuführen und Systemkonfigurationen auf dem Host-Rechner zu ändern, sobald er installiert wurde.
- Keylogger – Keylogger, oft auch als Keylogger bezeichnet, können die Computeraktivität eines Benutzers in Echtzeit überwachen. Es zeichnet alle Tastenanschläge auf, die von der Tastatur des Benutzers ausgeführt werden. Die Verwendung eines Keyloggers zum Stehlen der Anmeldeinformationen von Benutzern wie Benutzername und Passwort ist ebenfalls eine ernsthafte Bedrohung.
Dies sind vielleicht die am weitesten verbreiteten Sicherheitsrisiken, denen man in letzter Zeit begegnen kann. Es gibt noch mehr, wie Malware, Wabbits, Scareware, Bluesnarfing und viele andere. Glücklicherweise gibt es Techniken, um Computersysteme und deren Benutzer gegen solche Angriffe zu verteidigen.
Wir alle möchten unsere Computersysteme und persönlichen oder beruflichen Daten in diesem digitalen Zeitalter privat halten, daher ist die Sicherheit von Computersystemen für den Schutz unserer persönlichen Daten unerlässlich. Es ist auch wichtig, unsere Computer sicher und fehlerfrei zu halten, indem verhindert wird, dass Viren und Malware die Systemleistung beeinträchtigen.
Praktiken in der Computersystemsicherheit
Heutzutage werden die Sicherheitsrisiken von Computersystemen immer innovativer. Um sich vor diesen komplizierten und steigenden Computersicherheitsrisiken zu schützen und online sicher zu bleiben, muss man sich mit Informationen und Ressourcen ausrüsten. Folgende Vorkehrungen kann man treffen:
- Installation zuverlässiger Antiviren- und Sicherheitssoftware
- Da eine Firewall als Sicherheitswächter zwischen dem Internet und Ihrem lokalen Netzwerk fungiert, sollten Sie sie aktivieren.
- Bleiben Sie über die neueste Software und Neuigkeiten zu Ihren Geräten auf dem Laufenden und installieren Sie Updates, sobald sie verfügbar sind.
- Wenn Sie sich über die Herkunft eines E-Mail-Anhangs nicht sicher sind, öffnen Sie ihn nicht.
- Ändern Sie Passwörter regelmäßig mit einer einzigartigen Kombination aus Zahlen, Buchstaben und Groß-/Kleinschreibung.
- Achten Sie beim Zugriff auf das Internet auf Pop-ups und Drive-by-Downloads.
- Investieren Sie die Zeit, um sich mit den Grundlagen der Computersicherheit vertraut zu machen und mit den neuesten Cyber-Bedrohungen Schritt zu halten
- Führen Sie tägliche vollständige Systemscans durch und erstellen Sie einen regelmäßigen Systemsicherungsplan, um sicherzustellen, dass Ihre Daten bei einem Ausfall Ihres Computers wiederherstellbar sind.
Darüber hinaus gibt es eine Reihe weiterer professioneller Ansätze zum Schutz von Computersystemen. Aspekte wie eine angemessene Spezifikation der Sicherheitsarchitektur, Verschlüsselung und spezielle Software können zum Schutz von Computersystemen beitragen.
Bedauerlicherweise nimmt die Zahl der Cyber-Gefahren rapide zu und es treten immer komplexere Angriffe auf. Um diese Angriffe zu bekämpfen und Gefahren zu mindern, sind mehr professionelle und spezialisierte Cybersicherheitskenntnisse erforderlich.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/CSSF-Zertifizierungscurriculum für Computersystemsicherheitsgrundlagen verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
Grundlagen der EITC/IS/CCTF Computational Complexity Theory
EITC/IS/CCTF Computational Complexity Theory Fundamentals ist das europäische IT-Zertifizierungsprogramm zu theoretischen Aspekten der Grundlagen der Informatik, die auch eine Grundlage der im Internet weit verbreiteten klassischen asymmetrischen Public-Key-Kryptographie sind.
Das Curriculum der EITC/IS/CCTF Computational Complexity Theory Fundamentals umfasst theoretisches Wissen zu Grundlagen der Informatik und Computermodelle zu grundlegenden Konzepten wie deterministischen und nichtdeterministischen endlichen Automaten, regulären Sprachen, kontextfreien Grammatiken und Sprachentheorie, Automatentheorie, Turing Maschinen, Entscheidbarkeit von Problemen, Rekursion, Logik und Komplexität der Algorithmik für grundlegende Sicherheitsanwendungen innerhalb der folgenden Struktur, umfassend umfassende videodidaktische Inhalte als Referenz für diese EITC-Zertifizierung.
Die Rechenkomplexität eines Algorithmus ist die Menge an Ressourcen, die für seinen Betrieb erforderlich sind. Zeit- und Speicherressourcen werden besondere Aufmerksamkeit gewidmet. Die Komplexität eines Problems ist definiert als die Komplexität der besten Algorithmen zu deren Lösung. Die Analyse von Algorithmen ist das Studium der Komplexität explizit gegebener Algorithmen, während die Computational Complexity Theory das Studium der Komplexität von Problemlösungen mit den bekanntesten Algorithmen ist. Beide Domänen sind miteinander verflochten, da die Komplexität eines Algorithmus immer eine obere Beschränkung der Komplexität des von ihm gelösten Problems ist. Darüber hinaus ist es bei der Konstruktion effizienter Algorithmen häufig erforderlich, die Komplexität eines bestimmten Algorithmus mit der Komplexität des zu lösenden Problems zu vergleichen. In den meisten Fällen ist die einzige verfügbare Information bezüglich der Schwierigkeit eines Problems, dass sie geringer ist als die Komplexität der effizientesten bekannten Techniken. Infolgedessen gibt es viele Überschneidungen zwischen der Algorithmusanalyse und der Komplexitätstheorie.
Die Komplexitätstheorie spielt nicht nur bei der Grundlagenermittlung von Rechenmodellen als Grundlage für die Informatik eine wichtige Rolle, sondern auch bei den Grundlagen der klassischen asymmetrischen Kryptographie (sog. Public-Key-Kryptographie), die in modernen Netzwerken, insbesondere im Internet, weit verbreitet ist. Die Public-Key-Verschlüsselung basiert auf rechnerisch schwierigen bestimmten asymmetrischen mathematischen Problemen wie zum Beispiel der Faktorisierung großer Zahlen in ihre Primfaktoren (diese Operation ist ein schwieriges Problem in der Klassifikation der Komplexitätstheorie, da keine effizienten klassischen Algorithmen bekannt sind, die gelöst werden müssen es mit einer polynomiellen Skalierung der Ressourcen statt einer exponentiellen Skalierung mit der Zunahme der Eingabegröße des Problems, was im Gegensatz zu einer sehr einfachen umgekehrten Operation der Multiplikation mit bekannten Primfaktoren steht, um die ursprüngliche große Zahl zu erhalten). Unter Verwendung dieser Asymmetrie in einer Architektur der Public-Key-Kryptographie (durch Definieren einer rechnerisch asymmetrischen Beziehung zwischen dem öffentlichen Schlüssel, der leicht aus einem privaten Schlüssel berechnet werden kann, während der private Schlüssel nicht einfach aus einem öffentlichen Schlüssel computergesteuert werden kann, kann man öffentlich den öffentlichen Schlüssel bekannt geben und anderen Kommunikationsseiten ermöglichen, ihn zur asymmetrischen Verschlüsselung von Daten zu verwenden, die dann nur noch mit dem gekoppelten privaten Schlüssel entschlüsselt werden können, rechnerisch nicht für Dritte verfügbar, wodurch die Kommunikation sicher wird).
Die Computational Complexity Theory wurde hauptsächlich auf den Errungenschaften von Pionieren der Informatik und der Algorithmik entwickelt, wie Alan Turing, dessen Arbeit entscheidend dazu beigetragen hat, die Enigma-Chiffre von Nazi-Deutschland zu knacken, die eine entscheidende Rolle beim Sieg der Verbündeten im Zweiten Weltkrieg spielte. Kryptoanalyse, die darauf abzielt, die Rechenprozesse der Datenanalyse (hauptsächlich verschlüsselte Kommunikation) zu entwickeln und zu automatisieren, um die versteckten Informationen aufzudecken, wurde verwendet, um kryptografische Systeme zu durchbrechen und Zugang zu den Inhalten der verschlüsselten Kommunikation zu erhalten, die normalerweise von strategischer militärischer Bedeutung ist. Es war auch die Kryptoanalyse, die die Entwicklung der ersten modernen Computer katalysierte (die ursprünglich auf das strategische Ziel des Codeknackens angewendet wurden). Dem britischen Koloss (der als erster moderner elektronischer und programmatischer Computer gilt) ging die polnische „Bombe“ voraus, ein elektronisches Rechengerät, das von Marian Rejewski entwickelt wurde, um beim Brechen der Enigma-Chiffren zu helfen, und vom polnischen Geheimdienst zusammen mit . an Großbritannien übergeben wurde die erbeutete deutsche Enigma-Verschlüsselungsmaschine, nachdem Polen 1939 von Deutschland überfallen wurde. Auf der Grundlage dieses Geräts entwickelte Alan Turing sein fortschrittlicheres Gegenstück, um die deutsche verschlüsselte Kommunikation erfolgreich zu brechen, die später zu modernen Computern weiterentwickelt wurde.
Da die zum Ausführen eines Algorithmus erforderliche Ressourcenmenge mit der Größe der Eingabe variiert, wird die Komplexität normalerweise als Funktion f(n) ausgedrückt, wobei n die Eingabegröße und f(n) entweder die Worst-Case-Komplexität ( die maximal erforderliche Ressourcenmenge über alle Inputs der Größe n) oder die durchschnittliche Fallkomplexität (der Durchschnitt der Ressourcenmenge über alle Inputs der Größe n). Die Anzahl der erforderlichen elementaren Operationen an einer Eingabe der Größe n wird allgemein als Zeitkomplexität angegeben, wobei angenommen wird, dass elementare Operationen auf einem bestimmten Computer eine konstante Zeit benötigen und sich nur um einen konstanten Faktor ändern, wenn sie auf einer anderen Maschine ausgeführt werden. Die Speicherkapazität, die ein Algorithmus für eine Eingabe der Größe n benötigt, wird als Raumkomplexität bezeichnet.
Zeit ist die am häufigsten betrachtete Ressource. Wenn der Begriff „Komplexität“ ohne Qualifier verwendet wird, bezieht er sich normalerweise auf die Komplexität der Zeit.
Die traditionellen Zeiteinheiten (Sekunden, Minuten usw.) werden in der Komplexitätstheorie nicht verwendet, da sie zu stark vom gewählten Computer und dem Fortschritt der Technologie abhängig sind. Zum Beispiel kann ein Computer heute einen Algorithmus wesentlich schneller ausführen als ein Computer aus den 1960er Jahren, jedoch liegt dies eher an technologischen Durchbrüchen in der Computerhardware als an einer inhärenten Qualität des Algorithmus. Das Ziel der Komplexitätstheorie besteht darin, den inhärenten Zeitbedarf von Algorithmen oder die grundlegenden Zeitbeschränkungen zu quantifizieren, die ein Algorithmus jedem Computer auferlegen würde. Dies wird erreicht, indem gezählt wird, wie viele Grundoperationen während der Berechnung ausgeführt werden. Diese Prozeduren werden im Allgemeinen als Schritte bezeichnet, da davon ausgegangen wird, dass sie auf einer bestimmten Maschine eine konstante Zeit benötigen (dh sie werden nicht von der Menge der Eingabe beeinflusst).
Eine weitere entscheidende Ressource ist die Menge an Computerspeicher, die für die Ausführung von Algorithmen erforderlich ist.
Eine weitere häufig verwendete Ressource ist die Anzahl der arithmetischen Operationen. In diesem Szenario wird der Begriff „arithmetische Komplexität“ verwendet. Die Zeitkomplexität ist im Allgemeinen das Produkt der arithmetischen Komplexität mit einem konstanten Faktor, wenn eine obere Beschränkung der Größe der binären Darstellung der Zahlen bekannt ist, die während einer Berechnung auftreten.
Die Größe der während einer Berechnung verwendeten ganzen Zahlen ist für viele Verfahren nicht beschränkt, und es ist unrealistisch anzunehmen, dass arithmetische Operationen eine feste Zeitdauer benötigen. Dadurch kann die Zeitkomplexität, auch Bitkomplexität genannt, deutlich höher sein als die arithmetische Komplexität. Die arithmetische Schwierigkeit der Berechnung der Determinante einer ganzzahligen nn-Matrix ist beispielsweise O(n^3) für Standardtechniken (Gaußsche Elimination). Da sich die Größe der Koeffizienten während der Berechnung exponentiell ausdehnen kann, ist die Bitkomplexität der gleichen Verfahren in n exponentiell. Wenn diese Techniken in Verbindung mit multimodularer Arithmetik verwendet werden, kann die Bitkomplexität auf O(n^4) verringert werden.
Die Bitkomplexität bezieht sich formal auf die Anzahl von Operationen an Bits, die zum Ausführen eines Algorithmus erforderlich sind. Sie entspricht der zeitlichen Komplexität bis auf einen konstanten Faktor in den meisten Berechnungsparadigmen. Die Anzahl der von Computern benötigten Operationen an Maschinenwörtern ist proportional zur Bitkomplexität. Für realistische Berechnungsmodelle sind somit die Zeitkomplexität und die Bitkomplexität identisch.
Die Ressource, die beim Sortieren und Suchen häufig berücksichtigt wird, ist die Anzahl der Vergleiche von Einträgen. Wenn die Daten gut geordnet sind, ist dies ein guter Indikator für die zeitliche Komplexität.
Bei allen möglichen Eingaben ist es unmöglich, die Anzahl der Schritte in einem Algorithmus zu zählen. Da die Komplexität einer Eingabe mit ihrer Größe ansteigt, wird sie üblicherweise als Funktion der Größe n der Eingabe (in Bits) dargestellt, und somit ist die Komplexität eine Funktion von n. Bei gleich großen Eingaben kann die Komplexität eines Algorithmus jedoch erheblich variieren. Als Ergebnis werden routinemäßig eine Vielzahl von Komplexitätsfunktionen verwendet.
Die Worst-Case-Komplexität ist die Summe aller Komplexität für alle Inputs der Größe n, während die Average-Case-Komplexität die Summe aller Komplexitäten für alle Inputs der Größe n ist (dies ist sinnvoll, da die Anzahl der möglichen Inputs einer gegebenen Größe endlich). Bei der Verwendung des Begriffs „Komplexität“ ohne weitere Definition wird die Worst-Case-Zeitkomplexität berücksichtigt.
Die Worst-Case- und Average-Case-Komplexität sind notorisch schwer richtig zu berechnen. Darüber hinaus haben diese genauen Werte wenig praktische Anwendung, da jede Änderung des Maschinen- oder Berechnungsparadigmas die Komplexität geringfügig verändern würde. Darüber hinaus ist die Ressourcennutzung für kleine Werte von n nicht entscheidend, daher ist eine einfache Implementierung für kleine n oft attraktiver als eine geringe Komplexität.
Aus diesen Gründen wird dem Verhalten der Komplexität für hohes n die meiste Aufmerksamkeit gewidmet, d. h. seinem asymptotischen Verhalten, wenn n gegen unendlich geht. Daher wird häufig die große O-Notation verwendet, um Komplexität anzuzeigen.
Computermodelle
Die Wahl eines Berechnungsmodells, das darin besteht, die wesentlichen Operationen anzugeben, die in einer Zeiteinheit durchgeführt werden, ist entscheidend für die Bestimmung der Komplexität. Dies wird manchmal als Multitape-Turing-Maschine bezeichnet, wenn das Berechnungsparadigma nicht speziell beschrieben wird.
Ein deterministisches Berechnungsmodell ist eines, bei dem die nachfolgenden Zustände der Maschine und die auszuführenden Operationen vollständig durch den vorherigen Zustand definiert werden. Rekursive Funktionen, Lambda-Kalkül und Turing-Maschinen waren die ersten deterministischen Modelle. Random-Access-Maschinen (auch als RAM-Maschinen bekannt) sind ein beliebtes Paradigma für die Simulation realer Computer.
Wenn das Berechnungsmodell nicht definiert ist, wird normalerweise von einer Multitape-Turingmaschine ausgegangen. Auf Multitape-Turing-Maschinen ist die Zeitkomplexität für die meisten Algorithmen dieselbe wie auf RAM-Maschinen, obwohl beträchtliche Aufmerksamkeit bei der Speicherung der Daten im Speicher erforderlich sein kann, um diese Äquivalenz zu erreichen.
In einigen Schritten der Berechnung können in einem nicht-deterministischen Berechnungsmodell, wie beispielsweise nicht-deterministischen Turing-Maschinen, verschiedene Entscheidungen getroffen werden. In der Komplexitätstheorie werden alle möglichen Optionen gleichzeitig berücksichtigt, und nichtdeterministische Zeitkomplexität ist die Zeit, die erforderlich ist, wenn immer die besten Entscheidungen getroffen werden. Anders ausgedrückt, die Berechnung erfolgt gleichzeitig auf so vielen (identischen) Prozessoren wie erforderlich, und die nicht-deterministische Berechnungszeit ist die Zeit, die der erste Prozessor benötigt, um die Berechnung abzuschließen. Diese Parallelität kann im Quantencomputing genutzt werden, indem überlagerte verschränkte Zustände verwendet werden, wenn spezielle Quantenalgorithmen ausgeführt werden, wie zum Beispiel die Faktorisierung winziger Ganzzahlen nach Shor.
Auch wenn ein solches Berechnungsmodell derzeit nicht praktikabel ist, hat es theoretische Bedeutung, insbesondere in Bezug auf das P = NP-Problem, das fragt, ob die unter Verwendung von „polynomialer Zeit“ und „nicht deterministischer polynomialer Zeit“ erzeugten Komplexitätsklassen als mindestens obere Grenzen sind gleich. Auf einem deterministischen Computer erfordert die Simulation eines NP-Algorithmus „exponentielle Zeit“. Wenn eine Aufgabe in polynomieller Zeit auf einem nicht-deterministischen System gelöst werden kann, gehört sie zur NP-Schwierigkeitsklasse. Wenn ein Problem in NP liegt und nicht einfacher ist als jedes andere NP-Problem, wird es als NP-vollständig bezeichnet. Das Knapsack-Problem, das Travelling-Salesman-Problem und das Boolesche Erfüllbarkeitsproblem sind alle NP-vollständige kombinatorische Probleme. Der bekannteste Algorithmus weist für all diese Probleme eine exponentielle Komplexität auf. Wenn eines dieser Probleme in polynomieller Zeit auf einer deterministischen Maschine gelöst werden könnte, dann könnten auch alle NP-Probleme in polynomieller Zeit gelöst werden, und P = NP wäre festgelegt. Ab 2017 wird allgemein angenommen, dass P NP ist, was impliziert, dass die schlimmsten Situationen von NP-Problemen grundsätzlich schwer zu lösen sind, dh bei interessanten Eingabelängen viel länger dauern als jede mögliche Zeitspanne (Dekaden).
Paralleles und verteiltes Rechnen
Paralleles und verteiltes Rechnen beinhaltet die Aufteilung der Verarbeitung auf mehrere Prozessoren, die alle gleichzeitig arbeiten. Der grundlegende Unterschied zwischen den verschiedenen Modellen besteht in der Art und Weise, wie Daten zwischen Prozessoren gesendet werden. Die Datenübertragung zwischen Prozessoren ist beim parallelen Rechnen typischerweise sehr schnell, wohingegen die Datenübertragung zwischen den Prozessoren beim verteilten Rechnen über ein Netzwerk erfolgt und somit wesentlich langsamer ist.
Eine Berechnung auf N Prozessoren benötigt mindestens den Quotienten von N der Zeit, die sie auf einem einzelnen Prozessor benötigt. Da einige Teilaufgaben nicht parallelisiert werden können und einige Prozessoren möglicherweise auf ein Ergebnis von einem anderen Prozessor warten müssen, wird diese theoretisch ideale Grenze in Wirklichkeit nie erreicht.
Das Hauptproblem der Komplexität besteht daher darin, Algorithmen zu entwickeln, damit das Produkt der Rechenzeit durch die Anzahl der Prozessoren so nah wie möglich an der Zeit ist, die erforderlich ist, um dieselbe Berechnung auf einem einzelnen Prozessor durchzuführen.
Quantenberechnung
Ein Quantencomputer ist ein Computer mit einem quantenmechanischen Rechenmodell. Für Quantencomputer gilt die Church-Turing-These, die besagt, dass jedes Problem, das ein Quantencomputer lösen kann, auch von einer Turing-Maschine gelöst werden kann. Einige Aufgaben könnten jedoch theoretisch mit einem Quantencomputer und nicht mit einem klassischen Computer mit deutlich geringerer zeitlicher Komplexität gelöst werden. Dies ist vorerst rein theoretisch, da niemand weiß, wie man einen praktischen Quantencomputer entwickelt.
Die Quantenkomplexitätstheorie wurde entwickelt, um die verschiedenen Arten von Problemen zu untersuchen, die von Quantencomputern gelöst werden können. Es wird in der Post-Quanten-Kryptografie verwendet, bei der kryptografische Protokolle erstellt werden, die gegen Angriffe auf Quantencomputer resistent sind.
Komplexität des Problems (untere Schranken)
Die Komplexität der Algorithmen, die das Problem lösen können, einschließlich unentdeckter Techniken, ist die Komplexität des Problems. Als Ergebnis ist die Komplexität eines Problems gleich der Komplexität jedes Algorithmus, der es löst.
Als Ergebnis repräsentiert jede in großer O-Notation angegebene Komplexität eine Komplexität sowohl des Algorithmus als auch des begleitenden Problems.
Andererseits ist es oft schwierig, nichttriviale untere Schranken für die Problemkomplexität zu erhalten, und dafür gibt es nur wenige Strategien.
Um die meisten Probleme zu lösen, müssen alle Eingabedaten gelesen werden, was proportional zur Größe der Daten Zeit in Anspruch nimmt. Als Ergebnis haben solche Probleme mindestens eine lineare Komplexität oder, in Big-Omega-Notation, eine Komplexität von Ω(n).
Für einige Probleme, wie die der Computeralgebra und der computeralgebraischen Geometrie, gibt es sehr umfangreiche Lösungen. Da die Ausgabe geschrieben werden muss, wird die Komplexität durch die maximale Größe der Ausgabe eingeschränkt.
Die für einen Sortieralgorithmus erforderliche Anzahl von Vergleichen hat eine nichtlineare untere Schranke von (nlogn). Als Ergebnis sind die besten Sortieralgorithmen die effizientesten, da ihre Komplexität O(nlogn) beträgt. Die Tatsache, dass es n! Möglichkeiten, n Dinge zu organisieren, führt zu dieser unteren Schranke. Da jeder Vergleich diese Sammlung von n teilt! Ordnungen in zwei Teile zerlegt, muss die Anzahl von N Vergleichen, die erforderlich ist, um alle Ordnungen zu unterscheiden, 2N > n! sein, was O(nlogn) nach der Stirling-Formel impliziert.
Das Reduzieren eines Problems auf ein anderes Problem ist eine übliche Strategie zum Erhalten von Beschränkungen der reduzierten Komplexität.
Algorithmenentwicklung
Die Bewertung der Komplexität eines Algorithmus ist ein wichtiges Element des Entwurfsprozesses, da sie nützliche Informationen über die zu erwartende Leistung liefert.
Es ist ein häufiges Missverständnis, dass aufgrund des Mooreschen Gesetzes, das das exponentielle Wachstum moderner Computerleistung vorhersagt, die Bewertung der Komplexität von Algorithmen an Bedeutung verlieren wird. Dies ist falsch, da die erhöhte Leistung die Verarbeitung riesiger Datenmengen (Big Data) ermöglicht. Zum Beispiel sollte jeder Algorithmus in weniger als einer Sekunde gut funktionieren, wenn er eine Liste mit einigen Hundert Einträgen alphabetisch sortiert, wie zum Beispiel die Bibliographie eines Buches. Andererseits müssten für eine Million Einträge (zum Beispiel die Telefonnummern einer Großstadt) die grundlegenden Algorithmen, die O(n2) Vergleiche erfordern, eine Billion Vergleiche durchführen, was drei Stunden bei einer Geschwindigkeit von 10 Millionen Vergleiche pro Sekunde. Quicksort und Mergesort hingegen erfordern nur nlogn-Vergleiche (als durchschnittliche Komplexität für erstere, als Worst-Case-Komplexität für letztere). Dies ergibt etwa 30,000,000 Vergleiche für n = 1,000,000, was bei 3 Millionen Vergleichen pro Sekunde nur 10 Sekunden dauern würde.
Als Ergebnis kann die Bewertung der Komplexität die Eliminierung vieler ineffizienter Algorithmen vor der Implementierung ermöglichen. Damit lassen sich auch komplexe Algorithmen verfeinern, ohne alle möglichen Varianten testen zu müssen. Die Untersuchung der Komplexität ermöglicht es, den Aufwand zur Steigerung der Effizienz einer Implementierung zu bündeln, indem die teuersten Schritte eines komplexen Algorithmus bestimmt werden.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/CCTF-Zertifizierungscurriculum für Grundlagen der Berechnungskomplexitätstheorie verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
EITC/IS/ACC Erweiterte klassische Kryptographie
EITC/IS/ACC Advanced Classical Cryptography ist das europäische IT-Zertifizierungsprogramm, das das Fachwissen in der klassischen Kryptografie voranbringt und sich hauptsächlich auf die Public-Key-Kryptografie konzentriert, mit einer Einführung in praktische Public-Key-Chiffren sowie digitale Signaturen, Public-Key-Infrastruktur und Sicherheitszertifikate, die im Internet weit verbreitet sind.
Das Curriculum des EITC/IS/ACC Advanced Classical Cryptography konzentriert sich auf die Public-Key (asymmetrische) Kryptografie, beginnend mit der Einführung in den Diffie-Hellman-Schlüsselaustausch und das diskrete Protokollproblem (einschließlich seiner Verallgemeinerung), dann geht es weiter zur Verschlüsselung mit diskretem Log-Problem, das das Elgamal Encryption Scheme, elliptische Kurven und die Elliptic Curve Cryptography (ECC), digitale Signaturen (einschließlich Sicherheitsdienste und die Elgamal Digital Signature), Hash-Funktionen (einschließlich der SHA-1 has-Funktion), Message Authentication Codes . abdeckt (einschließlich MAC und HMAC), Schlüsselaufbau (einschließlich Symmetric Key Establishment SKE und Kerberos), um mit der Klassenbetrachtung der Man-in-the-Middle-Angriffe abzuschließen, zusammen mit kryptografischen Zertifikaten und der Public Key Infrastructure (PKI), innerhalb der folgenden Struktur , das umfassende didaktische Videoinhalte als Referenz für diese EITC-Zertifizierung umfasst.
Kryptographie bezeichnet Wege der sicheren Kommunikation in Gegenwart eines Gegners. Kryptographie im weiteren Sinne ist der Prozess der Erstellung und Analyse von Protokollen, die den Zugriff Dritter oder der Öffentlichkeit auf private (verschlüsselte) Nachrichten verhindern. Die moderne klassische Kryptographie basiert auf mehreren Hauptmerkmalen der Informationssicherheit wie Datenvertraulichkeit, Datenintegrität, Authentifizierung und Nichtabstreitbarkeit. Im Gegensatz zur Quantenkryptographie, die auf radikal anderen quantenphysikalischen Regeln beruht, die die Natur charakterisieren, bezeichnet die klassische Kryptographie eine Kryptographie, die auf klassischen physikalischen Gesetzen basiert. In der klassischen Kryptographie treffen die Bereiche Mathematik, Informatik, Elektrotechnik, Kommunikationswissenschaft und Physik aufeinander. Elektronischer Handel, chipbasierte Zahlungskarten, digitale Währungen, Computerpasswörter und militärische Kommunikation sind Beispiele für kryptografische Anwendungen.
Vor der heutigen Ära war Kryptographie fast gleichbedeutend mit Verschlüsselung, die Informationen von lesbarem zu unverständlichem Unsinn machte. Um den Zugriff von Angreifern auf eine verschlüsselte Nachricht zu verhindern, teilt der Absender den Entschlüsselungsprozess nur mit den vorgesehenen Empfängern. Die Namen Alice („A“) für den Absender, Bob („B“) für den beabsichtigten Empfänger und Eve („Abhörerin“) für den Widersacher werden in der Kryptographie-Literatur häufig verwendet.
Seit der Entwicklung von Rotorchiffriermaschinen im Ersten Weltkrieg und der Einführung von Computern im Zweiten Weltkrieg sind Kryptographieverfahren immer komplexer und ihre Anwendungen vielfältiger geworden.
Die moderne Kryptographie ist stark von der mathematischen Theorie und der Informatikpraxis abhängig; kryptografische Methoden basieren auf Annahmen der Rechenhärte, was es für jeden Gegner schwierig macht, sie in der Praxis zu durchbrechen. Während der Einbruch in ein gut durchdachtes System theoretisch möglich ist, ist dies in der Praxis unmöglich. Solche Systeme werden als „computersicher“ bezeichnet, wenn sie angemessen konstruiert sind; dennoch erfordern theoretische Durchbrüche (z. B. Verbesserungen bei ganzzahligen Faktorisierungsverfahren) und schnellere Computertechnologie eine ständige Neubewertung und, falls erforderlich, eine Anpassung dieser Designs. Es gibt informationstheoretisch sichere Systeme, wie das One-Time-Pad, die sich auch bei unendlicher Rechenleistung als unzerbrechlich erweisen, aber in der Praxis deutlich schwieriger einzusetzen sind als die besten theoretisch zerbrechlichen, aber rechensicheren Schemata.
Im Informationszeitalter hat der Fortschritt der kryptografischen Technologie eine Vielzahl von rechtlichen Herausforderungen mit sich gebracht. Viele Nationen haben Kryptographie als Waffe eingestuft, die ihre Verwendung und ihren Export aufgrund ihres Potenzials für Spionage und Volksverhetzung einschränkt oder verbietet. Ermittler können die Herausgabe von Verschlüsselungsschlüsseln für ermittlungsrelevante Dokumente an einigen Orten, an denen Kryptographie zulässig ist, erzwingen. Bei digitalen Medien spielt die Kryptographie auch eine Schlüsselrolle bei der digitalen Rechteverwaltung und bei Konflikten mit Urheberrechtsverletzungen.
Der Begriff „Kryptograph“ (im Gegensatz zu „Kryptogramm“) wurde erstmals im XNUMX. Jahrhundert in Edgar Allan Poes Kurzgeschichte „The Gold-Bug“ verwendet.
Bis vor kurzem bezog sich die Kryptographie fast ausschließlich auf „Verschlüsselung“, bei der gewöhnliche Daten (bekannt als Klartext) in ein unlesbares Format (genannt Geheimtext) umgewandelt werden. Entschlüsselung ist das Gegenteil von Verschlüsselung, dh der Übergang vom unverständlichen Chiffretext zum Klartext. Eine Chiffre (oder Chiffre) ist eine Reihe von Techniken, die eine Verschlüsselung und Entschlüsselung in umgekehrter Reihenfolge durchführen. Der Algorithmus und jeweils ein „Schlüssel“ sind für die detaillierte Ausführung der Chiffre zuständig. Der Schlüssel ist ein Geheimnis (vorzugsweise nur den Kommunikanten bekannt), das verwendet wird, um den Chiffretext zu entschlüsseln. Es ist normalerweise eine Zeichenfolge (idealerweise kurz, damit sich der Benutzer daran erinnern kann). Ein „Kryptosystem“ ist die geordnete Ansammlung von Elementen endlicher potentieller Klartexte, Geheimtexte, Schlüssel und die Verschlüsselungs- und Entschlüsselungsverfahren, die formal mathematisch jedem Schlüssel entsprechen. Schlüssel sind sowohl formal als auch praktisch von entscheidender Bedeutung, da Chiffren mit festen Schlüsseln leicht nur anhand der Informationen der Chiffre gebrochen werden können, was sie für die meisten Zwecke unbrauchbar (oder sogar kontraproduktiv) macht.
In der Vergangenheit wurden Chiffren häufig ohne zusätzliche Verfahren wie Authentifizierung oder Integritätsprüfungen zur Verschlüsselung oder Entschlüsselung verwendet. Kryptosysteme werden in zwei Kategorien unterteilt: symmetrisch und asymmetrisch. Derselbe Schlüssel (der geheime Schlüssel) wird zum Ver- und Entschlüsseln einer Nachricht in symmetrischen Systemen verwendet, die bis in die 1970er Jahre die einzigen bekannten waren. Da symmetrische Systeme kürzere Schlüssellängen verwenden, ist die Datenmanipulation in symmetrischen Systemen schneller als in asymmetrischen Systemen. Asymmetrische Systeme verschlüsseln eine Kommunikation mit einem „öffentlichen Schlüssel“ und entschlüsseln sie mit einem ähnlichen „privaten Schlüssel“. Die Verwendung asymmetrischer Systeme verbessert die Kommunikationssicherheit aufgrund der Schwierigkeit, die Beziehung zwischen den beiden Schlüsseln zu bestimmen. RSA (Rivest–Shamir–Adleman) und ECC sind zwei Beispiele für asymmetrische Systeme (Elliptic Curve Cryptography). Der weit verbreitete AES (Advanced Encryption Standard), der den früheren DES ablöste, ist ein Beispiel für einen hochwertigen symmetrischen Algorithmus (Data Encryption Standard). Die verschiedenen Techniken zum Verwirren der Sprache von Kindern, wie Pig Latin oder andere Gesänge, und tatsächlich alle kryptographischen Schemata, egal wie ernst es gemeint war, aus irgendeiner Quelle vor der Einführung des One-Time-Pad zu Beginn des XNUMX. Jahrhunderts sind Beispiele für eine geringe Qualität symmetrische Algorithmen.
Der Begriff „Code“ wird umgangssprachlich oft verwendet, um sich auf jede Technik der Verschlüsselung oder Verbergung von Nachrichten zu beziehen. In der Kryptographie bezieht sich Code jedoch auf die Ersetzung eines Codeworts für eine Einheit von Klartext (dh ein bedeutungsvolles Wort oder eine bedeutungsvolle Phrase) (zum Beispiel ersetzt „Wallaby“ „Angriff im Morgengrauen“). Im Gegensatz dazu wird ein Geheimtext erzeugt, indem ein Element unterhalb einer solchen Ebene (beispielsweise ein Buchstabe, eine Silbe oder ein Buchstabenpaar) modifiziert oder ersetzt wird, um einen Geheimtext zu bilden.
Kryptoanalyse ist die Untersuchung von Möglichkeiten, verschlüsselte Daten zu entschlüsseln, ohne Zugriff auf den dafür erforderlichen Schlüssel zu haben; mit anderen Worten, es ist das Studium, wie man Verschlüsselungsschemata oder ihre Implementierungen „knacken“ kann.
Im Englischen verwenden einige Leute die Begriffe „Kryptografie“ und „Kryptologie“ austauschbar, während andere (einschließlich der US-Militärpraxis im Allgemeinen) „Kryptografie“ verwenden, um sich auf die Verwendung und Praxis kryptografischer Techniken zu beziehen, und „Kryptologie“, um sich auf die Kombination zu beziehen Studium der Kryptographie und Kryptoanalyse. Englisch ist anpassungsfähiger als eine Reihe anderer Sprachen, in denen „Kryptologie“ (wie sie von Kryptologen praktiziert wird) immer im zweiten Sinne verwendet wird. Die Steganographie ist gemäß RFC 2828 manchmal in der Kryptologie enthalten.
Kryptolinguistik ist das Studium von Spracheigenschaften, die eine gewisse Relevanz in der Kryptographie oder Kryptologie haben (z. B. Häufigkeitsstatistiken, Buchstabenkombinationen, universelle Muster usw.).
Kryptographie und Kryptoanalyse haben eine lange Geschichte.
Die Geschichte der Kryptographie ist der Hauptartikel.
Vor der Neuzeit befasste sich die Kryptographie hauptsächlich mit der Vertraulichkeit von Nachrichten (dh Verschlüsselung) – der Umwandlung von Nachrichten von einer verständlichen in eine unverständliche Form und wieder, um sie für Abfangjäger oder Lauscher ohne geheimes Wissen (nämlich den zur Entschlüsselung benötigten Schlüssel) unlesbar zu machen dieser Nachricht). Die Verschlüsselung wurde entwickelt, um die Gespräche von Spionen, Militärführern und Diplomaten geheim zu halten. In den letzten Jahrzehnten ist die Disziplin gewachsen und umfasst unter anderem Techniken wie die Überprüfung der Nachrichtenintegrität, die Authentifizierung der Sender-/Empfänger-Identität, digitale Signaturen, interaktive Beweise und sichere Berechnungen.
Die beiden gebräuchlichsten klassischen Chiffrentypen sind Transpositionsziffern, die Buchstaben oder Buchstabengruppen systematisch durch andere Buchstaben oder Buchstabengruppen ersetzen (z. die Buchstaben oder Buchstabengruppen systematisch durch andere Buchstaben oder Buchstabengruppen ersetzen (z. B. „Fly at once“ wird zu „gmz bu Einfache Versionen von beiden haben nie viel Privatsphäre vor schlauen Gegnern geboten. Die Caesar-Chiffre war eine frühe Ersatzchiffre, in der Jeder Buchstabe im Klartext wurde durch einen Buchstaben eine bestimmte Anzahl von Stellen weiter unten im Alphabet ersetzt. Laut Sueton benutzte ihn Julius Caesar in einer Drei-Mann-Schicht, um mit seinen Generälen zu kommunizieren. Eine frühe hebräische Chiffre, Atbash, ist ein Beispiel. Die älteste bekannte Verwendung der Kryptographie ist ein in Stein gemeißelter Chiffretext in Ägypten (um 1900 v. Chr.). ein, um Informationen zu verbergen.
Krypten sollen den klassischen Griechen bekannt gewesen sein (z. B. die Skytale-Transpositions-Chiffre, die angeblich vom spartanischen Militär verwendet wurde). Auch die Steganographie (die Praxis, selbst das Vorhandensein einer Mitteilung zu verbergen, um sie privat zu halten) wurde in der Antike erfunden. Ein Satz, der laut Herodot auf den rasierten Kopf eines Sklaven tätowiert und unter dem nachgewachsenen Haar versteckt ist. Die Verwendung von unsichtbarer Tinte, Mikropunkten und digitalen Wasserzeichen zum Verbergen von Informationen sind aktuellere Beispiele der Steganographie.
Kautiliyam und Mulavediya sind zwei Arten von Chiffren, die in Indiens 2000 Jahre altem Kamasutra von Vtsyyana erwähnt werden. Die Ersetzungen der Chiffrebuchstaben im Kautiliyam basieren auf phonetischen Beziehungen, wie zum Beispiel Vokalen, die zu Konsonanten werden. Das Chiffre-Alphabet in der Mulavediya besteht aus übereinstimmenden Buchstaben und verwendet reziproke Buchstaben.
Laut dem muslimischen Gelehrten Ibn al-Nadim hatte das sassanidische Persien zwei geheime Schriften: die h-dabrya (wörtlich „Königsschrift“), die für die offizielle Korrespondenz verwendet wurde, und die rz-saharya, die verwendet wurde, um geheime Nachrichten mit anderen auszutauschen Länder.
David Kahn schreibt in seinem Buch The Codebreakers, dass die zeitgenössische Kryptologie mit den Arabern begann, die als erste kryptanalytische Verfahren sorgfältig dokumentierten. Das Buch der kryptografischen Botschaften wurde von Al-Khalil (717–786) geschrieben und enthält die früheste Verwendung von Permutationen und Kombinationen, um alle denkbaren arabischen Wörter mit und ohne Vokale aufzulisten.
Chiffretexte, die von einer klassischen Chiffre (sowie einigen modernen Chiffren) generiert werden, geben statistische Informationen über den Klartext an, die verwendet werden können, um die Chiffre zu knacken. Fast alle derartigen Chiffren konnten nach der Entdeckung der Frequenzanalyse von einem intelligenten Angreifer gebrochen werden, möglicherweise im 9. Jahrhundert durch den arabischen Mathematiker und Universalgelehrten Al-Kindi (auch bekannt als Alkindus). Klassische Chiffren sind auch heute noch beliebt, wenn auch weitgehend als Rätsel (siehe Kryptogramm). Risalah fi Istikhraj al-Mu'amma (Manuskript zur Entschlüsselung kryptographischer Nachrichten) wurde von Al-Kindi geschrieben und dokumentiert die erste bekannte Anwendung von frequenzanalytischen Kryptoanalysetechniken.
Einige Verschlüsselungsansätze mit erweitertem Verlauf, wie etwa homophone Chiffre, die dazu neigen, die Häufigkeitsverteilung abzuflachen, profitieren möglicherweise nicht von Sprachbuchstabenhäufigkeiten. Die Häufigkeiten von Sprachbuchstabengruppen (oder N-Gramm) können einen Angriff auf diese Chiffren auslösen.
Bis zur Entdeckung der polyalphabetischen Chiffre, vor allem durch Leon Battista Alberti um 1467, waren praktisch alle Chiffren der Kryptoanalyse mit dem Frequenzanalyseansatz zugänglich, obwohl es einige Hinweise darauf gibt, dass sie Al-Kindi bereits bekannt war. Alberti hatte die Idee, separate Chiffren (oder Ersatzalphabete) für verschiedene Teile einer Kommunikation zu verwenden (vielleicht für jeden aufeinanderfolgenden Klartextbuchstaben am Limit). Er schuf auch das vermutlich erste automatische Verschlüsselungsgerät, ein Rad, das einen Teil seines Designs ausführte. Die Verschlüsselung in der Vigenère-Chiffre, einer polyalphabetischen Chiffre, wird durch ein Schlüsselwort gesteuert, das die Buchstabenersetzung basierend darauf regelt, welcher Buchstabe des Schlüsselworts verwendet wird. Charles Babbage zeigte Mitte des XNUMX. Jahrhunderts, dass die Vigenère-Chiffre für die Kasiski-Analyse anfällig war, aber Friedrich Kasiski veröffentlichte seine Ergebnisse zehn Jahre später.
Trotz der Tatsache, dass die Frequenzanalyse eine leistungsstarke und umfassende Technik für viele Chiffren ist, ist die Verschlüsselung in der Praxis effektiv geblieben, da viele angehende Kryptoanalytiker diese Technik nicht kennen. Um eine Nachricht zu knacken, ohne eine Frequenzanalyse zu verwenden, war die Kenntnis der verwendeten Chiffre und möglicherweise des verwendeten Schlüssels erforderlich, was Spionage, Bestechung, Einbruch, Überlaufen und andere kryptanalytisch nicht informierte Taktiken attraktiver macht. Das Geheimnis des Algorithmus einer Chiffre wurde schließlich im 19. Jahrhundert als weder vernünftige noch machbare Garantie für die Nachrichtensicherheit anerkannt; tatsächlich sollte jedes geeignete kryptografische Schema (einschließlich Chiffren) sicher bleiben, selbst wenn der Gegner den Chiffrieralgorithmus selbst vollständig versteht. Die Sicherheit des Schlüssels sollte ausreichen, damit eine gute Chiffre die Vertraulichkeit im Angesicht eines Angriffs behält. Auguste Kerckhoffs stellte dieses grundlegende Prinzip erstmals 1883 fest, und es ist als Kerckhoffs-Prinzip bekannt; alternativ und unverblümter formulierte Claude Shannon, der Erfinder der Informationstheorie und der Grundlagen der theoretischen Kryptographie, sie als Shannons Maxime – „der Feind kennt das System“.
Um mit Verschlüsselungen zu helfen, wurden viele physische Geräte und Hilfestellungen verwendet. Die Skytale des antiken Griechenlands, eine Rute, die angeblich von den Spartanern als Transpositions-Chiffrierwerkzeug verwendet wurde, könnte eine der ersten gewesen sein. Im Mittelalter wurden weitere Hilfsmittel entwickelt, wie das Chiffrengitter, das auch für die Steganographie verwendet wurde. Mit der Entwicklung polyalphabetischer Chiffren wurden anspruchsvollere Hilfsmittel wie Albertis Chiffrierscheibe, Johannes Trithemius' Tabula Recta-Schema und Thomas Jeffersons Radchiffre verfügbar (nicht öffentlich bekannt und unabhängig von Bazeries um 1900 neu erfunden). Viele mechanische Verschlüsselungs-/Entschlüsselungssysteme wurden im frühen 1920. Jahrhundert entwickelt und patentiert, darunter Rotormaschinen, die von den späten XNUMXer Jahren bis zum Zweiten Weltkrieg bekanntermaßen von der deutschen Regierung und dem Militär eingesetzt wurden. Nach dem Ersten Weltkrieg führten die von höherwertigen Instanzen dieser Maschinendesigns implementierten Chiffren zu einem deutlichen Anstieg der kryptanalytischen Schwierigkeit.
Die Kryptographie befasste sich vor dem frühen XNUMX. Jahrhundert hauptsächlich mit linguistischen und lexikographischen Mustern. Seitdem hat sich der Schwerpunkt weiterentwickelt und die Kryptographie umfasst nun Aspekte der Informationstheorie, der Rechenkomplexität, der Statistik, der Kombinatorik, der abstrakten Algebra, der Zahlentheorie und der endlichen Mathematik im Allgemeinen. Kryptographie ist eine Technik, die jedoch insofern einzigartig ist, als sie sich mit aktivem, intelligentem und feindlichem Widerstand befasst, während andere Arten der Technik (wie Bau- oder Chemieingenieurwesen) lediglich mit neutralen Naturkräften zu tun haben. Auch der Zusammenhang zwischen Kryptografieschwierigkeiten und Quantenphysik wird untersucht.
Die Entwicklung von digitalen Computern und Elektronik unterstützte die Kryptoanalyse, indem sie die Erstellung wesentlich komplexerer Chiffren ermöglichte. Darüber hinaus ermöglichten Computer im Gegensatz zu herkömmlichen Chiffren, die ausschließlich geschriebene Sprachtexte verschlüsselten, die Verschlüsselung jeder Art von Daten, die in jedem Binärformat dargestellt werden konnten; das war neu und entscheidend. Sowohl beim Verschlüsselungsdesign als auch bei der Kryptoanalyse haben Computer die Sprachkryptographie verdrängt. Im Gegensatz zu klassischen und mechanischen Verfahren, die hauptsächlich traditionelle Zeichen (dh Buchstaben und Zahlen) direkt manipulieren, arbeiten viele Computerchiffren mit binären Bitfolgen (gelegentlich in Gruppen oder Blöcken). Computer hingegen haben die Kryptoanalyse unterstützt, wodurch die erhöhte Verschlüsselungskomplexität teilweise kompensiert wurde. Trotzdem sind gute moderne Chiffren der Kryptoanalyse voraus geblieben; es ist oft der Fall, dass die Verwendung einer guten Verschlüsselung sehr effizient ist (dh schnell und erfordert nur wenige Ressourcen wie Speicher oder CPU-Kapazität), während das Aufbrechen dieser Verschlüsselung einen um viele Größenordnungen größeren Aufwand erfordert, der weitaus größer ist als der für jede andere erforderliche Verschlüsselung klassische Chiffre, die eine Kryptoanalyse effektiv unmöglich macht.
Die moderne Kryptographie feiert ihr Debüt.
Die Kryptoanalyse der neuen mechanischen Geräte erwies sich als anspruchsvoll und zeitaufwändig. Während des Zweiten Weltkriegs förderten kryptanalytische Aktivitäten in Bletchley Park im Vereinigten Königreich die Erfindung effizienterer Methoden für sich wiederholende Aufgaben. Der Colossus, der weltweit erste vollständig elektronische, digitale, programmierbare Computer, wurde entwickelt, um die Entschlüsselung von Chiffren zu unterstützen, die von der Lorenz SZ40/42-Maschine der Bundeswehr erstellt wurden.
Kryptographie ist ein relativ neues Feld der offenen akademischen Forschung, das erst Mitte der 1970er Jahre begann. IBM-Mitarbeiter entwickelten den Algorithmus, der zum Federal (dh US) Data Encryption Standard wurde; Whitfield Diffie und Martin Hellman haben ihren Schlüsselübereinstimmungsalgorithmus veröffentlicht; und Martin Gardners Scientific American Kolumne veröffentlichte den RSA-Algorithmus. Kryptographie hat seitdem als Technik für Kommunikation, Computernetzwerke und Computersicherheit im Allgemeinen an Popularität gewonnen.
Es gibt enge Verbindungen zur abstrakten Mathematik, da mehrere moderne Kryptographieansätze ihre Schlüssel nur dann geheim halten können, wenn bestimmte mathematische Probleme hartnäckig sind, wie beispielsweise die ganzzahlige Faktorisierung oder Probleme mit dem diskreten Logarithmus. Es gibt nur eine Handvoll Kryptosysteme, die sich als 100% sicher erwiesen haben. Claude Shannon hat bewiesen, dass der One-Time-Pad einer davon ist. Es gibt einige Schlüsselalgorithmen, die sich unter bestimmten Bedingungen als sicher erwiesen haben. Die Unfähigkeit, extrem große ganze Zahlen zu faktorisieren, ist beispielsweise die Grundlage für die Annahme, dass RSA und andere Systeme sicher sind, aber der Nachweis der Unzerbrechlichkeit ist nicht erreichbar, da das zugrunde liegende mathematische Problem ungelöst bleibt. In der Praxis sind diese weit verbreitet und die meisten kompetenten Beobachter glauben, dass sie in der Praxis unzerbrechlich sind. Es gibt RSA-ähnliche Systeme, wie eines von Michael O. Rabin, die nachweislich sicher sind, wenn die Faktorisierung von n = pq nicht möglich ist; sie sind jedoch praktisch nutzlos. Das Problem des diskreten Logarithmus ist die Grundlage für die Annahme, dass einige andere Kryptosysteme sicher sind, und es gibt ähnliche, weniger praktische Systeme, die im Hinblick auf die Lösbarkeit oder Unlösbarkeit des Problems des diskreten Logarithmus nachweislich sicher sind.
Entwickler von kryptografischen Algorithmen und Systemen müssen bei der Arbeit an ihren Ideen mögliche zukünftige Fortschritte berücksichtigen und sich der kryptografischen Geschichte bewusst sein. Mit der Verbesserung der Rechenleistung von Computern ist beispielsweise die Breite der Brute-Force-Angriffe gewachsen, und somit sind auch die erforderlichen Schlüssellängen gewachsen. Einige kryptografische Systemdesigner, die sich mit Post-Quanten-Kryptografie befassen, ziehen bereits die möglichen Konsequenzen des Quantencomputing in Betracht; Die angekündigte unmittelbare bevorstehende Einführung bescheidener Implementierungen dieser Maschinen könnte die Notwendigkeit von Vorsichtsmaßnahmen mehr als nur spekulativ machen.
Klassische Kryptographie in der Moderne
Symmetrische (oder private-Schlüssel-)Kryptographie ist eine Art der Verschlüsselung, bei der Sender und Empfänger denselben Schlüssel verwenden (oder, seltener, ihre Schlüssel unterschiedlich, aber leicht berechenbar miteinander verbunden sind und geheim gehalten werden.) ). Bis Juni 1976 war dies die einzige Verschlüsselungsart, die öffentlich bekannt war.
Blockchiffren und Stromchiffren werden beide verwendet, um symmetrische Schlüsselchiffren zu implementieren. Eine Blockchiffre verschlüsselt die Eingabe in Blöcken von Klartext und nicht in einzelnen Zeichen, wie dies bei einer Stromchiffre der Fall ist.
Die US-Regierung hat den Data Encryption Standard (DES) und den Advanced Encryption Standard (AES) als Kryptographie-Standards bezeichnet (allerdings wurde die Zertifizierung von DES mit der Einführung des AES schließlich zurückgezogen). DES (insbesondere seine immer noch zugelassene und wesentlich sicherere Triple-DES-Variante) bleibt trotz seiner Verabschiedung als offizieller Standard beliebt; Es wird in einer Vielzahl von Anwendungen verwendet, von der ATM-Verschlüsselung über den E-Mail-Datenschutz bis hin zum sicheren Fernzugriff. Es wurden eine Reihe verschiedener Blockchiffren erfunden und veröffentlicht, mit unterschiedlichem Erfolg. Viele, darunter auch einige, die von qualifizierten Praktikern wie FEAL entworfen wurden, sind weitgehend kaputt gegangen.
Stromchiffren erzeugen im Gegensatz zu Blockchiffren einen unendlich langen Strom von Schlüsselmaterial, der Bit für Bit oder Zeichen für Zeichen mit Klartext gekoppelt ist, ähnlich dem One-Time-Pad. Der Ausgabestrom einer Stromchiffre wird aus einem verborgenen internen Zustand erzeugt, der sich mit der Funktion der Chiffre ändert. Das geheime Schlüsselmaterial wird verwendet, um diesen internen Zustand zunächst einzurichten. Weit verbreitet ist die Stromchiffre RC4. Durch Erzeugen von Blöcken eines Schlüsselstroms (anstelle eines Pseudozufallszahlengenerators) und Verwenden einer XOR-Operation auf jedes Bit des Klartextes mit jedem Bit des Schlüsselstroms können Blockchiffren als Stromchiffren verwendet werden.
Message Authentication Codes (MACs) ähneln kryptografischen Hash-Funktionen, mit der Ausnahme, dass ein geheimer Schlüssel verwendet werden kann, um den Hash-Wert nach Erhalt zu validieren; Diese zusätzliche Komplexität verhindert einen Angriff auf Naked Digest-Algorithmen und wird daher als lohnenswert angesehen. Eine dritte Art von kryptografischer Technik sind kryptografische Hash-Funktionen. Sie nehmen Nachrichten beliebiger Länge als Eingabe und geben einen kleinen Hash fester Länge aus, der beispielsweise in digitalen Signaturen verwendet werden kann. Ein Angreifer kann mit guten Hash-Algorithmen nicht zwei Nachrichten finden, die denselben Hash erzeugen. MD4 ist eine weit verbreitete, aber mittlerweile fehlerhafte Hash-Funktion; MD5, eine Weiterentwicklung von MD4, ist ebenfalls weit verbreitet, aber in der Praxis gebrochen. Die Secure Hash Algorithm-Reihe von MD5-ähnlichen Hash-Algorithmen wurde von der US-amerikanischen National Security Agency entwickelt: Die US-Standardisierungsbehörde entschied, dass es aus Sicherheitsgründen „umsichtig“ war, einen neuen Standard zu entwickeln, um „die Robustheit des gesamten Hash-Algorithmus von NIST deutlich zu verbessern“. Werkzeugkasten.“ SHA-1 ist weit verbreitet und sicherer als MD5, aber Kryptoanalytiker haben Angriffe dagegen identifiziert. die SHA-2-Familie verbessert SHA-1, ist jedoch ab 2011 anfällig für Zusammenstöße; und die SHA-2-Familie verbessert SHA-1, ist aber anfällig für Kollisionen Als Ergebnis sollte bis 2012 ein Designwettbewerb für Hash-Funktionen abgehalten werden, um einen neuen nationalen US-Standard namens SHA-3 auszuwählen. Der Wettbewerb endete am 2. Oktober 2012, als das National Institute of Standards and Technology (NIST) Keccak als neuen SHA-3-Hash-Algorithmus ankündigte. Kryptografische Hashfunktionen liefern im Gegensatz zu invertierbaren Block- und Stromchiffren eine gehashte Ausgabe, die nicht verwendet werden kann, um die ursprünglichen Eingabedaten wiederherzustellen. Kryptografische Hash-Funktionen werden verwendet, um die Authentizität von Daten zu überprüfen, die aus einer nicht vertrauenswürdigen Quelle stammen, oder um einen zusätzlichen Schutzgrad hinzuzufügen.
Obwohl eine Nachricht oder ein Satz von Nachrichten einen anderen Schlüssel als andere haben kann, verwenden Kryptosysteme mit symmetrischen Schlüsseln denselben Schlüssel zum Verschlüsseln und Entschlüsseln. Ein großer Nachteil ist die zur sicheren Verwendung symmetrischer Chiffren erforderliche Schlüsselverwaltung. Jedes einzelne Paar kommunizierender Teilnehmer sollte idealerweise einen anderen Schlüssel teilen, sowie möglicherweise einen anderen Geheimtext für jeden gesendeten Geheimtext. Die Anzahl der erforderlichen Schlüssel wächst direkt proportional zur Anzahl der Netzwerkteilnehmer, was komplizierte Schlüsselverwaltungstechniken erfordert, um sie alle konsistent und geheim zu halten.
Whitfield Diffie und Martin Hellman erfanden das Konzept der Kryptographie mit öffentlichem Schlüssel (auch als asymmetrischer Schlüssel bekannt) in einer bahnbrechenden Arbeit von 1976, in der zwei verschiedene, aber mathematisch verwandte Schlüssel – ein öffentlicher Schlüssel und ein privater Schlüssel – verwendet werden. Obwohl sie untrennbar miteinander verbunden sind, ist ein System mit öffentlichen Schlüsseln so aufgebaut, dass die Berechnung eines Schlüssels (des 'privaten Schlüssels') aus dem anderen (des 'öffentlichen Schlüssels') rechnerisch nicht möglich ist. Vielmehr werden beide Schlüssel heimlich als verknüpftes Paar erzeugt. Laut dem Historiker David Kahn ist die Public-Key-Kryptographie „der revolutionärste neue Begriff auf diesem Gebiet, seit die polyalphabetische Substitution in der Renaissance aufgekommen ist“.
Der öffentliche Schlüssel in einem Kryptosystem mit öffentlichem Schlüssel kann frei übertragen werden, aber der gekoppelte private Schlüssel muss verborgen bleiben. Der öffentliche Schlüssel wird zur Verschlüsselung verwendet, während der private oder geheime Schlüssel zur Entschlüsselung in einem Verschlüsselungsschema mit öffentlichem Schlüssel verwendet wird. Diffie und Hellman waren zwar nicht in der Lage, ein solches System zu entwickeln, aber sie zeigten, dass eine Kryptografie mit öffentlichem Schlüssel denkbar war, indem sie das Diffie-Hellman-Schlüsselaustauschprotokoll zur Verfügung stellten, eine Lösung, die es zwei Personen ermöglicht, sich heimlich auf einen gemeinsamen Verschlüsselungsschlüssel zu einigen. Das am weitesten verbreitete Format für Public-Key-Zertifikate wird durch den X.509-Standard definiert.
Die Veröffentlichung von Diffie und Hellman weckte ein breites akademisches Interesse an der Entwicklung eines praktischen Verschlüsselungssystems mit öffentlichem Schlüssel. 1978 gewannen Ronald Rivest, Adi Shamir und Len Adleman den Wettbewerb, und ihre Antwort wurde als RSA-Algorithmus bekannt.
Die Diffie-Hellman- und RSA-Algorithmen sind nicht nur die frühesten öffentlich bekannten Instanzen von hochwertigen Public-Key-Algorithmen, sondern gehören auch zu den am häufigsten verwendeten. Das Cramer-Shoup-Kryptosystem, die ElGamal-Verschlüsselung und zahlreiche elliptische Kurvenansätze sind Beispiele für asymmetrische Schlüsselalgorithmen.
Laut einem Dokument, das 1997 vom Government Communications Headquarters (GCHQ), einem britischen Geheimdienst, herausgegeben wurde, sahen die Kryptografen des GCHQ mehrere wissenschaftliche Fortschritte voraus. Der Legende nach wurde die asymmetrische Schlüsselkryptographie um 1970 von James H. Ellis erfunden. Clifford Cocks erfand 1973 eine Lösung, die RSA im Design sehr ähnlich war. Malcolm J. Williamson wird die Erfindung des Diffie-Hellman-Schlüsselaustauschs im Jahr 1974 zugeschrieben.
Digitale Signatursysteme werden auch unter Verwendung von Public-Key-Kryptographie implementiert. Eine digitale Signatur ähnelt einer herkömmlichen Signatur darin, dass sie für den Benutzer einfach zu erstellen, für andere jedoch schwer zu fälschen ist. Digitale Signaturen können auch dauerhaft mit dem Inhalt der zu signierenden Kommunikation verknüpft werden; das bedeutet, dass sie nicht von einem Dokument in ein anderes „verschoben“ werden können, ohne entdeckt zu werden. Es gibt zwei Algorithmen in digitalen Signaturschemata: einen zum Signieren, der einen geheimen Schlüssel verwendet, um die Nachricht zu verarbeiten (oder einen Hash der Nachricht oder beides), und einen zur Verifizierung, der den passenden öffentlichen Schlüssel mit der Nachricht zur Validierung verwendet die Echtheit der Unterschrift. Zwei der am häufigsten verwendeten digitalen Signaturmethoden sind RSA und DSA. Infrastrukturen mit öffentlichen Schlüsseln und viele Netzwerksicherheitssysteme (z. B. SSL/TLS, viele VPNs) sind für ihre Funktion auf digitale Signaturen angewiesen.
Die rechnerische Komplexität „harter“ Probleme, wie sie sich beispielsweise aus der Zahlentheorie ergeben, wird häufig genutzt, um Public-Key-Verfahren zu entwickeln. Das ganzzahlige Faktorisierungsproblem hängt mit der Härte von RSA zusammen, während das Problem des diskreten Logarithmus mit Diffie-Hellman und DSA zusammenhängt. Die Sicherheit der elliptischen Kurvenkryptographie basiert auf theoretischen Problemen der elliptischen Kurvenzahl. Die meisten Algorithmen mit öffentlichem Schlüssel umfassen Operationen wie modulare Multiplikation und Exponentiation, die aufgrund der Schwierigkeit der zugrunde liegenden Probleme wesentlich rechenaufwendiger sind als die Techniken, die in den meisten Blockchiffren verwendet werden, insbesondere bei normalen Schlüsselgrößen. Als Ergebnis sind Public-Key-Kryptosysteme häufig hybride Kryptosysteme, bei denen die Nachricht mit einem schnellen, hochwertigen symmetrischen Schlüsselalgorithmus verschlüsselt wird, während der entsprechende symmetrische Schlüssel mit der Nachricht gesendet, jedoch mit einem öffentlichen Schlüsselalgorithmus verschlüsselt wird. Häufig werden auch hybride Signaturschemata verwendet, bei denen eine kryptografische Hash-Funktion berechnet und nur der resultierende Hash digital signiert wird.
Hash-Funktionen in der Kryptographie
Kryptografische Hashfunktionen sind kryptografische Algorithmen, die bestimmte Schlüssel erzeugen und verwenden, um Daten entweder für symmetrische oder asymmetrische Verschlüsselung zu verschlüsseln, und sie können als Schlüssel betrachtet werden. Sie nehmen Nachrichten beliebiger Länge als Eingabe und geben einen kleinen Hash fester Länge aus, der beispielsweise in digitalen Signaturen verwendet werden kann. Ein Angreifer kann mit guten Hash-Algorithmen nicht zwei Nachrichten finden, die denselben Hash erzeugen. MD4 ist eine weit verbreitete, aber mittlerweile fehlerhafte Hash-Funktion; MD5, eine Weiterentwicklung von MD4, ist ebenfalls weit verbreitet, aber in der Praxis gebrochen. Die Secure Hash Algorithm-Reihe von MD5-ähnlichen Hash-Algorithmen wurde von der US-amerikanischen National Security Agency entwickelt: Die US-Standardisierungsbehörde entschied, dass es aus Sicherheitsgründen „umsichtig“ war, einen neuen Standard zu entwickeln, um „die Robustheit des gesamten Hash-Algorithmus von NIST deutlich zu verbessern“. Werkzeugkasten.“ SHA-1 ist weit verbreitet und sicherer als MD5, aber Kryptoanalytiker haben Angriffe dagegen identifiziert. die SHA-2-Familie verbessert SHA-1, ist jedoch ab 2011 anfällig für Zusammenstöße; und die SHA-2-Familie verbessert SHA-1, ist aber anfällig für Kollisionen Als Ergebnis sollte bis 2012 ein Designwettbewerb für Hash-Funktionen abgehalten werden, um einen neuen nationalen US-Standard namens SHA-3 auszuwählen. Der Wettbewerb endete am 2. Oktober 2012, als das National Institute of Standards and Technology (NIST) Keccak als neuen SHA-3-Hash-Algorithmus ankündigte. Kryptografische Hash-Funktionen bieten im Gegensatz zu invertierbaren Block- und Stream-Chiffren eine gehashte Ausgabe, die nicht verwendet werden kann, um die ursprünglichen Eingabedaten wiederherzustellen. Kryptografische Hash-Funktionen werden verwendet, um die Authentizität von Daten zu überprüfen, die aus einer nicht vertrauenswürdigen Quelle stammen, oder um einen zusätzlichen Schutzgrad hinzuzufügen.
Kryptografische Primitive und Kryptosysteme
Ein Großteil der theoretischen Arbeit der Kryptografie konzentriert sich auf kryptografische Primitive – Algorithmen mit grundlegenden kryptografischen Eigenschaften – und deren Beziehung zu anderen kryptografischen Herausforderungen. Diese grundlegenden Primitive werden dann verwendet, um komplexere kryptografische Werkzeuge zu erstellen. Diese Grundelemente bieten grundlegende Qualitäten, die verwendet werden, um komplexere Werkzeuge zu erstellen, die als Kryptosysteme oder kryptografische Protokolle bekannt sind und eine oder mehrere Sicherheitseigenschaften auf hohem Niveau gewährleisten. Andererseits ist die Grenze zwischen kryptographischen Primitiven und Kryptosystemen willkürlich; der RSA-Algorithmus beispielsweise wird manchmal als Kryptosystem und manchmal als Primitiv angesehen. Pseudozufallsfunktionen, Einwegfunktionen und andere kryptografische Primitive sind gängige Beispiele.
Ein kryptographisches System oder Kryptosystem wird durch Kombinieren eines oder mehrerer kryptographischer Grundelemente erzeugt, um einen komplizierteren Algorithmus zu erzeugen. Kryptosysteme (z. B. El-Gamal-Verschlüsselung) sollen spezifische Funktionalität (z. B. Verschlüsselung mit öffentlichem Schlüssel) bereitstellen und gleichzeitig bestimmte Sicherheitsqualitäten sicherstellen (z. B. CPA-Sicherheit eines zufälligen Oracle-Modells mit gewähltem Klartext-Angriff). Um die Sicherheitsqualitäten des Systems zu unterstützen, verwenden Kryptosysteme die Eigenschaften der zugrunde liegenden kryptographischen Grundelemente. Ein ausgeklügeltes Kryptosystem kann aus einer Kombination zahlreicher rudimentärerer Kryptosysteme generiert werden, da die Unterscheidung zwischen Primitiven und Kryptosystemen etwas willkürlich ist. In vielen Fällen umfasst die Struktur des Kryptosystems eine Hin- und Her-Kommunikation zwischen zwei oder mehr Parteien im Raum (z. B. zwischen dem Sender und dem Empfänger einer sicheren Nachricht) oder über die Zeit (z. B. zwischen dem Sender und dem Empfänger einer sicheren Nachricht). (zB kryptographisch geschützte Backup-Daten).
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/ACC Advanced Classical Cryptography Certification Curriculum verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
Grundlagen der klassischen EITC/IS/CCF-Kryptografie
EITC/IS/CCF Classical Cryptography Fundamentals ist das europäische IT-Zertifizierungsprogramm zu theoretischen und praktischen Aspekten der klassischen Kryptografie, einschließlich der Kryptografie mit privatem und öffentlichem Schlüssel, mit einer Einführung in praktische Verschlüsselungen, die im Internet weit verbreitet sind, wie z die RSA.
Das Curriculum der EITC/IS/CCF Classical Cryptography Fundamentals umfasst die Einführung in die Private-Key-Kryptografie, modulare Arithmetik und historische Chiffren, Stromchiffren, Zufallszahlen, das One-Time Pad (OTP) bedingungslos sichere Chiffre (unter Annahme einer Lösungsbereitstellung) auf das Schlüsselverteilungsproblem, wie es z. B. durch die Quantum Key Distribution, QKD gegeben ist), linear rückgekoppelte Schieberegister, Data Encryption Standard (DES-Chiffre, einschließlich Verschlüsselung, Schlüsselplan und Entschlüsselung), Advanced Encryption Standard (AES, Einführung von Galois-Feldern) basierte Kryptografie), Anwendungen von Blockchiffren (einschließlich ihrer Funktionsweise), Berücksichtigung von Mehrfachverschlüsselung und Brute-Force-Angriffen, Einführung in die Public-Key-Kryptografie mit Zahlentheorie, Euklidischer Algorithmus, Eulers Phi-Funktion und Eulers Theorem, sowie die Einführung in das RSA-Kryptosystem und effiziente Exponentiation, innerhalb der folgenden Struktur, umfassend eine umfassende Videodidaktik c als Referenz für diese EITC-Zertifizierung.
Kryptographie bezeichnet Wege der sicheren Kommunikation in Gegenwart eines Gegners. Kryptographie im weiteren Sinne ist der Prozess der Erstellung und Analyse von Protokollen, die den Zugriff Dritter oder der Öffentlichkeit auf private (verschlüsselte) Nachrichten verhindern. Die moderne klassische Kryptographie basiert auf mehreren Hauptmerkmalen der Informationssicherheit wie Datenvertraulichkeit, Datenintegrität, Authentifizierung und Nichtabstreitbarkeit. Im Gegensatz zur Quantenkryptographie, die auf radikal anderen quantenphysikalischen Regeln beruht, die die Natur charakterisieren, bezeichnet die klassische Kryptographie eine Kryptographie, die auf klassischen physikalischen Gesetzen basiert. In der klassischen Kryptographie treffen die Bereiche Mathematik, Informatik, Elektrotechnik, Kommunikationswissenschaft und Physik aufeinander. Elektronischer Handel, chipbasierte Zahlungskarten, digitale Währungen, Computerpasswörter und militärische Kommunikation sind Beispiele für kryptografische Anwendungen.
Vor der heutigen Ära war Kryptographie fast gleichbedeutend mit Verschlüsselung, die Informationen von lesbarem zu unverständlichem Unsinn machte. Um den Zugriff von Angreifern auf eine verschlüsselte Nachricht zu verhindern, teilt der Absender den Entschlüsselungsprozess nur mit den vorgesehenen Empfängern. Die Namen Alice („A“) für den Absender, Bob („B“) für den beabsichtigten Empfänger und Eve („Abhörerin“) für den Widersacher werden in der Kryptographie-Literatur häufig verwendet.
Seit der Entwicklung von Rotorchiffriermaschinen im Ersten Weltkrieg und der Einführung von Computern im Zweiten Weltkrieg sind Kryptographieverfahren immer komplexer und ihre Anwendungen vielfältiger geworden.
Die moderne Kryptographie ist stark von der mathematischen Theorie und der Informatikpraxis abhängig; kryptografische Methoden basieren auf Annahmen der Rechenhärte, was es für jeden Gegner schwierig macht, sie in der Praxis zu durchbrechen. Während der Einbruch in ein gut durchdachtes System theoretisch möglich ist, ist dies in der Praxis unmöglich. Solche Systeme werden als „computersicher“ bezeichnet, wenn sie angemessen konstruiert sind; dennoch erfordern theoretische Durchbrüche (z. B. Verbesserungen bei ganzzahligen Faktorisierungsverfahren) und schnellere Computertechnologie eine ständige Neubewertung und, falls erforderlich, eine Anpassung dieser Designs. Es gibt informationstheoretisch sichere Systeme, wie das One-Time-Pad, die sich auch bei unendlicher Rechenleistung als unzerbrechlich erweisen, aber in der Praxis deutlich schwieriger einzusetzen sind als die besten theoretisch zerbrechlichen, aber rechensicheren Schemata.
Im Informationszeitalter hat der Fortschritt der kryptografischen Technologie eine Vielzahl von rechtlichen Herausforderungen mit sich gebracht. Viele Nationen haben Kryptographie als Waffe eingestuft, die ihre Verwendung und ihren Export aufgrund ihres Potenzials für Spionage und Volksverhetzung einschränkt oder verbietet. Ermittler können die Herausgabe von Verschlüsselungsschlüsseln für ermittlungsrelevante Dokumente an einigen Orten, an denen Kryptographie zulässig ist, erzwingen. Bei digitalen Medien spielt die Kryptographie auch eine Schlüsselrolle bei der digitalen Rechteverwaltung und bei Konflikten mit Urheberrechtsverletzungen.
Der Begriff „Kryptograph“ (im Gegensatz zu „Kryptogramm“) wurde erstmals im XNUMX. Jahrhundert in Edgar Allan Poes Kurzgeschichte „The Gold-Bug“ verwendet.
Bis vor kurzem bezog sich die Kryptographie fast ausschließlich auf „Verschlüsselung“, bei der gewöhnliche Daten (bekannt als Klartext) in ein unlesbares Format (genannt Geheimtext) umgewandelt werden. Entschlüsselung ist das Gegenteil von Verschlüsselung, dh der Übergang vom unverständlichen Chiffretext zum Klartext. Eine Chiffre (oder Chiffre) ist eine Reihe von Techniken, die eine Verschlüsselung und Entschlüsselung in umgekehrter Reihenfolge durchführen. Der Algorithmus und jeweils ein „Schlüssel“ sind für die detaillierte Ausführung der Chiffre zuständig. Der Schlüssel ist ein Geheimnis (vorzugsweise nur den Kommunikanten bekannt), das verwendet wird, um den Chiffretext zu entschlüsseln. Es ist normalerweise eine Zeichenfolge (idealerweise kurz, damit sich der Benutzer daran erinnern kann). Ein „Kryptosystem“ ist die geordnete Ansammlung von Elementen endlicher potentieller Klartexte, Geheimtexte, Schlüssel und die Verschlüsselungs- und Entschlüsselungsverfahren, die formal mathematisch jedem Schlüssel entsprechen. Schlüssel sind sowohl formal als auch praktisch von entscheidender Bedeutung, da Chiffren mit festen Schlüsseln leicht nur anhand der Informationen der Chiffre gebrochen werden können, was sie für die meisten Zwecke unbrauchbar (oder sogar kontraproduktiv) macht.
In der Vergangenheit wurden Chiffren häufig ohne zusätzliche Verfahren wie Authentifizierung oder Integritätsprüfungen zur Verschlüsselung oder Entschlüsselung verwendet. Kryptosysteme werden in zwei Kategorien unterteilt: symmetrisch und asymmetrisch. Derselbe Schlüssel (der geheime Schlüssel) wird zum Ver- und Entschlüsseln einer Nachricht in symmetrischen Systemen verwendet, die bis in die 1970er Jahre die einzigen bekannten waren. Da symmetrische Systeme kürzere Schlüssellängen verwenden, ist die Datenmanipulation in symmetrischen Systemen schneller als in asymmetrischen Systemen. Asymmetrische Systeme verschlüsseln eine Kommunikation mit einem „öffentlichen Schlüssel“ und entschlüsseln sie mit einem ähnlichen „privaten Schlüssel“. Die Verwendung asymmetrischer Systeme verbessert die Kommunikationssicherheit aufgrund der Schwierigkeit, die Beziehung zwischen den beiden Schlüsseln zu bestimmen. RSA (Rivest–Shamir–Adleman) und ECC sind zwei Beispiele für asymmetrische Systeme (Elliptic Curve Cryptography). Der weit verbreitete AES (Advanced Encryption Standard), der den früheren DES ablöste, ist ein Beispiel für einen hochwertigen symmetrischen Algorithmus (Data Encryption Standard). Die verschiedenen Techniken zum Verwirren der Sprache von Kindern, wie Pig Latin oder andere Gesänge, und tatsächlich alle kryptographischen Schemata, egal wie ernst es gemeint war, aus irgendeiner Quelle vor der Einführung des One-Time-Pad zu Beginn des XNUMX. Jahrhunderts sind Beispiele für eine geringe Qualität symmetrische Algorithmen.
Der Begriff „Code“ wird umgangssprachlich oft verwendet, um sich auf jede Technik der Verschlüsselung oder Verbergung von Nachrichten zu beziehen. In der Kryptographie bezieht sich Code jedoch auf die Ersetzung eines Codeworts für eine Einheit von Klartext (dh ein bedeutungsvolles Wort oder eine bedeutungsvolle Phrase) (zum Beispiel ersetzt „Wallaby“ „Angriff im Morgengrauen“). Im Gegensatz dazu wird ein Geheimtext erzeugt, indem ein Element unterhalb einer solchen Ebene (beispielsweise ein Buchstabe, eine Silbe oder ein Buchstabenpaar) modifiziert oder ersetzt wird, um einen Geheimtext zu bilden.
Kryptoanalyse ist die Untersuchung von Möglichkeiten, verschlüsselte Daten zu entschlüsseln, ohne Zugriff auf den dafür erforderlichen Schlüssel zu haben; mit anderen Worten, es ist das Studium, wie man Verschlüsselungsschemata oder ihre Implementierungen „knacken“ kann.
Im Englischen verwenden einige Leute die Begriffe „Kryptografie“ und „Kryptologie“ austauschbar, während andere (einschließlich der US-Militärpraxis im Allgemeinen) „Kryptografie“ verwenden, um sich auf die Verwendung und Praxis kryptografischer Techniken zu beziehen, und „Kryptologie“, um sich auf die Kombination zu beziehen Studium der Kryptographie und Kryptoanalyse. Englisch ist anpassungsfähiger als eine Reihe anderer Sprachen, in denen „Kryptologie“ (wie sie von Kryptologen praktiziert wird) immer im zweiten Sinne verwendet wird. Die Steganographie ist gemäß RFC 2828 manchmal in der Kryptologie enthalten.
Kryptolinguistik ist das Studium von Spracheigenschaften, die eine gewisse Relevanz in der Kryptographie oder Kryptologie haben (z. B. Häufigkeitsstatistiken, Buchstabenkombinationen, universelle Muster usw.).
Kryptographie und Kryptoanalyse haben eine lange Geschichte.
Die Geschichte der Kryptographie ist der Hauptartikel.
Vor der Neuzeit befasste sich die Kryptographie hauptsächlich mit der Vertraulichkeit von Nachrichten (dh Verschlüsselung) – der Umwandlung von Nachrichten von einer verständlichen in eine unverständliche Form und wieder, um sie für Abfangjäger oder Lauscher ohne geheimes Wissen (nämlich den zur Entschlüsselung benötigten Schlüssel) unlesbar zu machen dieser Nachricht). Die Verschlüsselung wurde entwickelt, um die Gespräche von Spionen, Militärführern und Diplomaten geheim zu halten. In den letzten Jahrzehnten ist die Disziplin gewachsen und umfasst unter anderem Techniken wie die Überprüfung der Nachrichtenintegrität, die Authentifizierung der Sender-/Empfänger-Identität, digitale Signaturen, interaktive Beweise und sichere Berechnungen.
Die beiden gebräuchlichsten klassischen Chiffrentypen sind Transpositionsziffern, die Buchstaben oder Buchstabengruppen systematisch durch andere Buchstaben oder Buchstabengruppen ersetzen (z. die Buchstaben oder Buchstabengruppen systematisch durch andere Buchstaben oder Buchstabengruppen ersetzen (z. B. „Fly at once“ wird zu „gmz bu Einfache Versionen von beiden haben nie viel Privatsphäre vor schlauen Gegnern geboten. Die Caesar-Chiffre war eine frühe Ersatzchiffre, in der Jeder Buchstabe im Klartext wurde durch einen Buchstaben eine bestimmte Anzahl von Stellen weiter unten im Alphabet ersetzt. Laut Sueton benutzte ihn Julius Caesar in einer Drei-Mann-Schicht, um mit seinen Generälen zu kommunizieren. Eine frühe hebräische Chiffre, Atbash, ist ein Beispiel. Die älteste bekannte Verwendung der Kryptographie ist ein in Stein gemeißelter Chiffretext in Ägypten (um 1900 v. Chr.). ein, um Informationen zu verbergen.
Krypten sollen den klassischen Griechen bekannt gewesen sein (z. B. die Skytale-Transpositions-Chiffre, die angeblich vom spartanischen Militär verwendet wurde). Auch die Steganographie (die Praxis, selbst das Vorhandensein einer Mitteilung zu verbergen, um sie privat zu halten) wurde in der Antike erfunden. Ein Satz, der laut Herodot auf den rasierten Kopf eines Sklaven tätowiert und unter dem nachgewachsenen Haar versteckt ist. Die Verwendung von unsichtbarer Tinte, Mikropunkten und digitalen Wasserzeichen zum Verbergen von Informationen sind aktuellere Beispiele der Steganographie.
Kautiliyam und Mulavediya sind zwei Arten von Chiffren, die in Indiens 2000 Jahre altem Kamasutra von Vtsyyana erwähnt werden. Die Ersetzungen der Chiffrebuchstaben im Kautiliyam basieren auf phonetischen Beziehungen, wie zum Beispiel Vokalen, die zu Konsonanten werden. Das Chiffre-Alphabet in der Mulavediya besteht aus übereinstimmenden Buchstaben und verwendet reziproke Buchstaben.
Laut dem muslimischen Gelehrten Ibn al-Nadim hatte das sassanidische Persien zwei geheime Schriften: die h-dabrya (wörtlich „Königsschrift“), die für die offizielle Korrespondenz verwendet wurde, und die rz-saharya, die verwendet wurde, um geheime Nachrichten mit anderen auszutauschen Länder.
David Kahn schreibt in seinem Buch The Codebreakers, dass die zeitgenössische Kryptologie mit den Arabern begann, die als erste kryptanalytische Verfahren sorgfältig dokumentierten. Das Buch der kryptografischen Botschaften wurde von Al-Khalil (717–786) geschrieben und enthält die früheste Verwendung von Permutationen und Kombinationen, um alle denkbaren arabischen Wörter mit und ohne Vokale aufzulisten.
Chiffretexte, die von einer klassischen Chiffre (sowie einigen modernen Chiffren) generiert werden, geben statistische Informationen über den Klartext an, die verwendet werden können, um die Chiffre zu knacken. Fast alle derartigen Chiffren konnten nach der Entdeckung der Frequenzanalyse von einem intelligenten Angreifer gebrochen werden, möglicherweise im 9. Jahrhundert durch den arabischen Mathematiker und Universalgelehrten Al-Kindi (auch bekannt als Alkindus). Klassische Chiffren sind auch heute noch beliebt, wenn auch weitgehend als Rätsel (siehe Kryptogramm). Risalah fi Istikhraj al-Mu'amma (Manuskript zur Entschlüsselung kryptographischer Nachrichten) wurde von Al-Kindi geschrieben und dokumentiert die erste bekannte Anwendung von frequenzanalytischen Kryptoanalysetechniken.
Einige Verschlüsselungsansätze mit erweitertem Verlauf, wie etwa homophone Chiffre, die dazu neigen, die Häufigkeitsverteilung abzuflachen, profitieren möglicherweise nicht von Sprachbuchstabenhäufigkeiten. Die Häufigkeiten von Sprachbuchstabengruppen (oder N-Gramm) können einen Angriff auf diese Chiffren auslösen.
Bis zur Entdeckung der polyalphabetischen Chiffre, vor allem durch Leon Battista Alberti um 1467, waren praktisch alle Chiffren der Kryptoanalyse mit dem Frequenzanalyseansatz zugänglich, obwohl es einige Hinweise darauf gibt, dass sie Al-Kindi bereits bekannt war. Alberti hatte die Idee, separate Chiffren (oder Ersatzalphabete) für verschiedene Teile einer Kommunikation zu verwenden (vielleicht für jeden aufeinanderfolgenden Klartextbuchstaben am Limit). Er schuf auch das vermutlich erste automatische Verschlüsselungsgerät, ein Rad, das einen Teil seines Designs ausführte. Die Verschlüsselung in der Vigenère-Chiffre, einer polyalphabetischen Chiffre, wird durch ein Schlüsselwort gesteuert, das die Buchstabenersetzung basierend darauf regelt, welcher Buchstabe des Schlüsselworts verwendet wird. Charles Babbage zeigte Mitte des XNUMX. Jahrhunderts, dass die Vigenère-Chiffre für die Kasiski-Analyse anfällig war, aber Friedrich Kasiski veröffentlichte seine Ergebnisse zehn Jahre später.
Trotz der Tatsache, dass die Frequenzanalyse eine leistungsstarke und umfassende Technik für viele Chiffren ist, ist die Verschlüsselung in der Praxis effektiv geblieben, da viele angehende Kryptoanalytiker diese Technik nicht kennen. Um eine Nachricht zu knacken, ohne eine Frequenzanalyse zu verwenden, war die Kenntnis der verwendeten Chiffre und möglicherweise des verwendeten Schlüssels erforderlich, was Spionage, Bestechung, Einbruch, Überlaufen und andere kryptanalytisch nicht informierte Taktiken attraktiver macht. Das Geheimnis des Algorithmus einer Chiffre wurde schließlich im 19. Jahrhundert als weder vernünftige noch machbare Garantie für die Nachrichtensicherheit anerkannt; tatsächlich sollte jedes geeignete kryptografische Schema (einschließlich Chiffren) sicher bleiben, selbst wenn der Gegner den Chiffrieralgorithmus selbst vollständig versteht. Die Sicherheit des Schlüssels sollte ausreichen, damit eine gute Chiffre die Vertraulichkeit im Angesicht eines Angriffs behält. Auguste Kerckhoffs stellte dieses grundlegende Prinzip erstmals 1883 fest, und es ist als Kerckhoffs-Prinzip bekannt; alternativ und unverblümter formulierte Claude Shannon, der Erfinder der Informationstheorie und der Grundlagen der theoretischen Kryptographie, sie als Shannons Maxime – „der Feind kennt das System“.
Um mit Verschlüsselungen zu helfen, wurden viele physische Geräte und Hilfestellungen verwendet. Die Skytale des antiken Griechenlands, eine Rute, die angeblich von den Spartanern als Transpositions-Chiffrierwerkzeug verwendet wurde, könnte eine der ersten gewesen sein. Im Mittelalter wurden weitere Hilfsmittel entwickelt, wie das Chiffrengitter, das auch für die Steganographie verwendet wurde. Mit der Entwicklung polyalphabetischer Chiffren wurden anspruchsvollere Hilfsmittel wie Albertis Chiffrierscheibe, Johannes Trithemius' Tabula Recta-Schema und Thomas Jeffersons Radchiffre verfügbar (nicht öffentlich bekannt und unabhängig von Bazeries um 1900 neu erfunden). Viele mechanische Verschlüsselungs-/Entschlüsselungssysteme wurden im frühen 1920. Jahrhundert entwickelt und patentiert, darunter Rotormaschinen, die von den späten XNUMXer Jahren bis zum Zweiten Weltkrieg bekanntermaßen von der deutschen Regierung und dem Militär eingesetzt wurden. Nach dem Ersten Weltkrieg führten die von höherwertigen Instanzen dieser Maschinendesigns implementierten Chiffren zu einem deutlichen Anstieg der kryptanalytischen Schwierigkeit.
Die Kryptographie befasste sich vor dem frühen XNUMX. Jahrhundert hauptsächlich mit linguistischen und lexikographischen Mustern. Seitdem hat sich der Schwerpunkt weiterentwickelt und die Kryptographie umfasst nun Aspekte der Informationstheorie, der Rechenkomplexität, der Statistik, der Kombinatorik, der abstrakten Algebra, der Zahlentheorie und der endlichen Mathematik im Allgemeinen. Kryptographie ist eine Technik, die jedoch insofern einzigartig ist, als sie sich mit aktivem, intelligentem und feindlichem Widerstand befasst, während andere Arten der Technik (wie Bau- oder Chemieingenieurwesen) lediglich mit neutralen Naturkräften zu tun haben. Auch der Zusammenhang zwischen Kryptografieschwierigkeiten und Quantenphysik wird untersucht.
Die Entwicklung von digitalen Computern und Elektronik unterstützte die Kryptoanalyse, indem sie die Erstellung wesentlich komplexerer Chiffren ermöglichte. Darüber hinaus ermöglichten Computer im Gegensatz zu herkömmlichen Chiffren, die ausschließlich geschriebene Sprachtexte verschlüsselten, die Verschlüsselung jeder Art von Daten, die in jedem Binärformat dargestellt werden konnten; das war neu und entscheidend. Sowohl beim Verschlüsselungsdesign als auch bei der Kryptoanalyse haben Computer die Sprachkryptographie verdrängt. Im Gegensatz zu klassischen und mechanischen Verfahren, die hauptsächlich traditionelle Zeichen (dh Buchstaben und Zahlen) direkt manipulieren, arbeiten viele Computerchiffren mit binären Bitfolgen (gelegentlich in Gruppen oder Blöcken). Computer hingegen haben die Kryptoanalyse unterstützt, wodurch die erhöhte Verschlüsselungskomplexität teilweise kompensiert wurde. Trotzdem sind gute moderne Chiffren der Kryptoanalyse voraus geblieben; es ist oft der Fall, dass die Verwendung einer guten Verschlüsselung sehr effizient ist (dh schnell und erfordert nur wenige Ressourcen wie Speicher oder CPU-Kapazität), während das Aufbrechen dieser Verschlüsselung einen um viele Größenordnungen größeren Aufwand erfordert, der weitaus größer ist als der für jede andere erforderliche Verschlüsselung klassische Chiffre, die eine Kryptoanalyse effektiv unmöglich macht.
Die moderne Kryptographie feiert ihr Debüt.
Die Kryptoanalyse der neuen mechanischen Geräte erwies sich als anspruchsvoll und zeitaufwändig. Während des Zweiten Weltkriegs förderten kryptanalytische Aktivitäten in Bletchley Park im Vereinigten Königreich die Erfindung effizienterer Methoden für sich wiederholende Aufgaben. Der Colossus, der weltweit erste vollständig elektronische, digitale, programmierbare Computer, wurde entwickelt, um die Entschlüsselung von Chiffren zu unterstützen, die von der Lorenz SZ40/42-Maschine der Bundeswehr erstellt wurden.
Kryptographie ist ein relativ neues Feld der offenen akademischen Forschung, das erst Mitte der 1970er Jahre begann. IBM-Mitarbeiter entwickelten den Algorithmus, der zum Federal (dh US) Data Encryption Standard wurde; Whitfield Diffie und Martin Hellman haben ihren Schlüsselübereinstimmungsalgorithmus veröffentlicht; und Martin Gardners Scientific American Kolumne veröffentlichte den RSA-Algorithmus. Kryptographie hat seitdem als Technik für Kommunikation, Computernetzwerke und Computersicherheit im Allgemeinen an Popularität gewonnen.
Es gibt enge Verbindungen zur abstrakten Mathematik, da mehrere moderne Kryptographieansätze ihre Schlüssel nur dann geheim halten können, wenn bestimmte mathematische Probleme hartnäckig sind, wie beispielsweise die ganzzahlige Faktorisierung oder Probleme mit dem diskreten Logarithmus. Es gibt nur eine Handvoll Kryptosysteme, die sich als 100% sicher erwiesen haben. Claude Shannon hat bewiesen, dass der One-Time-Pad einer davon ist. Es gibt einige Schlüsselalgorithmen, die sich unter bestimmten Bedingungen als sicher erwiesen haben. Die Unfähigkeit, extrem große ganze Zahlen zu faktorisieren, ist beispielsweise die Grundlage für die Annahme, dass RSA und andere Systeme sicher sind, aber der Nachweis der Unzerbrechlichkeit ist nicht erreichbar, da das zugrunde liegende mathematische Problem ungelöst bleibt. In der Praxis sind diese weit verbreitet und die meisten kompetenten Beobachter glauben, dass sie in der Praxis unzerbrechlich sind. Es gibt RSA-ähnliche Systeme, wie eines von Michael O. Rabin, die nachweislich sicher sind, wenn die Faktorisierung von n = pq nicht möglich ist; sie sind jedoch praktisch nutzlos. Das Problem des diskreten Logarithmus ist die Grundlage für die Annahme, dass einige andere Kryptosysteme sicher sind, und es gibt ähnliche, weniger praktische Systeme, die im Hinblick auf die Lösbarkeit oder Unlösbarkeit des Problems des diskreten Logarithmus nachweislich sicher sind.
Entwickler von kryptografischen Algorithmen und Systemen müssen bei der Arbeit an ihren Ideen mögliche zukünftige Fortschritte berücksichtigen und sich der kryptografischen Geschichte bewusst sein. Mit der Verbesserung der Rechenleistung von Computern ist beispielsweise die Breite der Brute-Force-Angriffe gewachsen, und somit sind auch die erforderlichen Schlüssellängen gewachsen. Einige kryptografische Systemdesigner, die sich mit Post-Quanten-Kryptografie befassen, ziehen bereits die möglichen Konsequenzen des Quantencomputing in Betracht; Die angekündigte unmittelbare bevorstehende Einführung bescheidener Implementierungen dieser Maschinen könnte die Notwendigkeit von Vorsichtsmaßnahmen mehr als nur spekulativ machen.
Klassische Kryptographie in der Moderne
Symmetrische (oder private-Schlüssel-)Kryptographie ist eine Art der Verschlüsselung, bei der Sender und Empfänger denselben Schlüssel verwenden (oder, seltener, ihre Schlüssel unterschiedlich, aber leicht berechenbar miteinander verbunden sind und geheim gehalten werden.) ). Bis Juni 1976 war dies die einzige Verschlüsselungsart, die öffentlich bekannt war.
Blockchiffren und Stromchiffren werden beide verwendet, um symmetrische Schlüsselchiffren zu implementieren. Eine Blockchiffre verschlüsselt die Eingabe in Blöcken von Klartext und nicht in einzelnen Zeichen, wie dies bei einer Stromchiffre der Fall ist.
Die US-Regierung hat den Data Encryption Standard (DES) und den Advanced Encryption Standard (AES) als Kryptographie-Standards bezeichnet (allerdings wurde die Zertifizierung von DES mit der Einführung des AES schließlich zurückgezogen). DES (insbesondere seine immer noch zugelassene und wesentlich sicherere Triple-DES-Variante) bleibt trotz seiner Verabschiedung als offizieller Standard beliebt; Es wird in einer Vielzahl von Anwendungen verwendet, von der ATM-Verschlüsselung über den E-Mail-Datenschutz bis hin zum sicheren Fernzugriff. Es wurden eine Reihe verschiedener Blockchiffren erfunden und veröffentlicht, mit unterschiedlichem Erfolg. Viele, darunter auch einige, die von qualifizierten Praktikern wie FEAL entworfen wurden, sind weitgehend kaputt gegangen.
Stromchiffren erzeugen im Gegensatz zu Blockchiffren einen unendlich langen Strom von Schlüsselmaterial, der Bit für Bit oder Zeichen für Zeichen mit Klartext gekoppelt ist, ähnlich dem One-Time-Pad. Der Ausgabestrom einer Stromchiffre wird aus einem verborgenen internen Zustand erzeugt, der sich mit der Funktion der Chiffre ändert. Das geheime Schlüsselmaterial wird verwendet, um diesen internen Zustand zunächst einzurichten. Weit verbreitet ist die Stromchiffre RC4. Durch Erzeugen von Blöcken eines Schlüsselstroms (anstelle eines Pseudozufallszahlengenerators) und Verwenden einer XOR-Operation auf jedes Bit des Klartextes mit jedem Bit des Schlüsselstroms können Blockchiffren als Stromchiffren verwendet werden.
Message Authentication Codes (MACs) ähneln kryptografischen Hash-Funktionen, mit der Ausnahme, dass ein geheimer Schlüssel verwendet werden kann, um den Hash-Wert nach Erhalt zu validieren; Diese zusätzliche Komplexität verhindert einen Angriff auf Naked Digest-Algorithmen und wird daher als lohnenswert angesehen. Eine dritte Art von kryptografischer Technik sind kryptografische Hash-Funktionen. Sie nehmen Nachrichten beliebiger Länge als Eingabe und geben einen kleinen Hash fester Länge aus, der beispielsweise in digitalen Signaturen verwendet werden kann. Ein Angreifer kann mit guten Hash-Algorithmen nicht zwei Nachrichten finden, die denselben Hash erzeugen. MD4 ist eine weit verbreitete, aber mittlerweile fehlerhafte Hash-Funktion; MD5, eine Weiterentwicklung von MD4, ist ebenfalls weit verbreitet, aber in der Praxis gebrochen. Die Secure Hash Algorithm-Reihe von MD5-ähnlichen Hash-Algorithmen wurde von der US-amerikanischen National Security Agency entwickelt: Die US-Standardisierungsbehörde entschied, dass es aus Sicherheitsgründen „umsichtig“ war, einen neuen Standard zu entwickeln, um „die Robustheit des gesamten Hash-Algorithmus von NIST deutlich zu verbessern“. Werkzeugkasten.“ SHA-1 ist weit verbreitet und sicherer als MD5, aber Kryptoanalytiker haben Angriffe dagegen identifiziert. die SHA-2-Familie verbessert SHA-1, ist jedoch ab 2011 anfällig für Zusammenstöße; und die SHA-2-Familie verbessert SHA-1, ist aber anfällig für Kollisionen Als Ergebnis sollte bis 2012 ein Designwettbewerb für Hash-Funktionen abgehalten werden, um einen neuen nationalen US-Standard namens SHA-3 auszuwählen. Der Wettbewerb endete am 2. Oktober 2012, als das National Institute of Standards and Technology (NIST) Keccak als neuen SHA-3-Hash-Algorithmus ankündigte. Kryptografische Hashfunktionen liefern im Gegensatz zu invertierbaren Block- und Stromchiffren eine gehashte Ausgabe, die nicht verwendet werden kann, um die ursprünglichen Eingabedaten wiederherzustellen. Kryptografische Hash-Funktionen werden verwendet, um die Authentizität von Daten zu überprüfen, die aus einer nicht vertrauenswürdigen Quelle stammen, oder um einen zusätzlichen Schutzgrad hinzuzufügen.
Obwohl eine Nachricht oder ein Satz von Nachrichten einen anderen Schlüssel als andere haben kann, verwenden Kryptosysteme mit symmetrischen Schlüsseln denselben Schlüssel zum Verschlüsseln und Entschlüsseln. Ein großer Nachteil ist die zur sicheren Verwendung symmetrischer Chiffren erforderliche Schlüsselverwaltung. Jedes einzelne Paar kommunizierender Teilnehmer sollte idealerweise einen anderen Schlüssel teilen, sowie möglicherweise einen anderen Geheimtext für jeden gesendeten Geheimtext. Die Anzahl der erforderlichen Schlüssel wächst direkt proportional zur Anzahl der Netzwerkteilnehmer, was komplizierte Schlüsselverwaltungstechniken erfordert, um sie alle konsistent und geheim zu halten.
Whitfield Diffie und Martin Hellman erfanden das Konzept der Kryptographie mit öffentlichem Schlüssel (auch als asymmetrischer Schlüssel bekannt) in einer bahnbrechenden Arbeit von 1976, in der zwei verschiedene, aber mathematisch verwandte Schlüssel – ein öffentlicher Schlüssel und ein privater Schlüssel – verwendet werden. Obwohl sie untrennbar miteinander verbunden sind, ist ein System mit öffentlichen Schlüsseln so aufgebaut, dass die Berechnung eines Schlüssels (des 'privaten Schlüssels') aus dem anderen (des 'öffentlichen Schlüssels') rechnerisch nicht möglich ist. Vielmehr werden beide Schlüssel heimlich als verknüpftes Paar erzeugt. Laut dem Historiker David Kahn ist die Public-Key-Kryptographie „der revolutionärste neue Begriff auf diesem Gebiet, seit die polyalphabetische Substitution in der Renaissance aufgekommen ist“.
Der öffentliche Schlüssel in einem Kryptosystem mit öffentlichem Schlüssel kann frei übertragen werden, aber der gekoppelte private Schlüssel muss verborgen bleiben. Der öffentliche Schlüssel wird zur Verschlüsselung verwendet, während der private oder geheime Schlüssel zur Entschlüsselung in einem Verschlüsselungsschema mit öffentlichem Schlüssel verwendet wird. Diffie und Hellman waren zwar nicht in der Lage, ein solches System zu entwickeln, aber sie zeigten, dass eine Kryptografie mit öffentlichem Schlüssel denkbar war, indem sie das Diffie-Hellman-Schlüsselaustauschprotokoll zur Verfügung stellten, eine Lösung, die es zwei Personen ermöglicht, sich heimlich auf einen gemeinsamen Verschlüsselungsschlüssel zu einigen. Das am weitesten verbreitete Format für Public-Key-Zertifikate wird durch den X.509-Standard definiert.
Die Veröffentlichung von Diffie und Hellman weckte ein breites akademisches Interesse an der Entwicklung eines praktischen Verschlüsselungssystems mit öffentlichem Schlüssel. 1978 gewannen Ronald Rivest, Adi Shamir und Len Adleman den Wettbewerb, und ihre Antwort wurde als RSA-Algorithmus bekannt.
Die Diffie-Hellman- und RSA-Algorithmen sind nicht nur die frühesten öffentlich bekannten Instanzen von hochwertigen Public-Key-Algorithmen, sondern gehören auch zu den am häufigsten verwendeten. Das Cramer-Shoup-Kryptosystem, die ElGamal-Verschlüsselung und zahlreiche elliptische Kurvenansätze sind Beispiele für asymmetrische Schlüsselalgorithmen.
Laut einem Dokument, das 1997 vom Government Communications Headquarters (GCHQ), einem britischen Geheimdienst, herausgegeben wurde, sahen die Kryptografen des GCHQ mehrere wissenschaftliche Fortschritte voraus. Der Legende nach wurde die asymmetrische Schlüsselkryptographie um 1970 von James H. Ellis erfunden. Clifford Cocks erfand 1973 eine Lösung, die RSA im Design sehr ähnlich war. Malcolm J. Williamson wird die Erfindung des Diffie-Hellman-Schlüsselaustauschs im Jahr 1974 zugeschrieben.
Digitale Signatursysteme werden auch unter Verwendung von Public-Key-Kryptographie implementiert. Eine digitale Signatur ähnelt einer herkömmlichen Signatur darin, dass sie für den Benutzer einfach zu erstellen, für andere jedoch schwer zu fälschen ist. Digitale Signaturen können auch dauerhaft mit dem Inhalt der zu signierenden Kommunikation verknüpft werden; das bedeutet, dass sie nicht von einem Dokument in ein anderes „verschoben“ werden können, ohne entdeckt zu werden. Es gibt zwei Algorithmen in digitalen Signaturschemata: einen zum Signieren, der einen geheimen Schlüssel verwendet, um die Nachricht zu verarbeiten (oder einen Hash der Nachricht oder beides), und einen zur Verifizierung, der den passenden öffentlichen Schlüssel mit der Nachricht zur Validierung verwendet die Echtheit der Unterschrift. Zwei der am häufigsten verwendeten digitalen Signaturmethoden sind RSA und DSA. Infrastrukturen mit öffentlichen Schlüsseln und viele Netzwerksicherheitssysteme (z. B. SSL/TLS, viele VPNs) sind für ihre Funktion auf digitale Signaturen angewiesen.
Die rechnerische Komplexität „harter“ Probleme, wie sie sich beispielsweise aus der Zahlentheorie ergeben, wird häufig genutzt, um Public-Key-Verfahren zu entwickeln. Das ganzzahlige Faktorisierungsproblem hängt mit der Härte von RSA zusammen, während das Problem des diskreten Logarithmus mit Diffie-Hellman und DSA zusammenhängt. Die Sicherheit der elliptischen Kurvenkryptographie basiert auf theoretischen Problemen der elliptischen Kurvenzahl. Die meisten Algorithmen mit öffentlichem Schlüssel umfassen Operationen wie modulare Multiplikation und Exponentiation, die aufgrund der Schwierigkeit der zugrunde liegenden Probleme wesentlich rechenaufwendiger sind als die Techniken, die in den meisten Blockchiffren verwendet werden, insbesondere bei normalen Schlüsselgrößen. Als Ergebnis sind Public-Key-Kryptosysteme häufig hybride Kryptosysteme, bei denen die Nachricht mit einem schnellen, hochwertigen symmetrischen Schlüsselalgorithmus verschlüsselt wird, während der entsprechende symmetrische Schlüssel mit der Nachricht gesendet, jedoch mit einem öffentlichen Schlüsselalgorithmus verschlüsselt wird. Häufig werden auch hybride Signaturschemata verwendet, bei denen eine kryptografische Hash-Funktion berechnet und nur der resultierende Hash digital signiert wird.
Hash-Funktionen in der Kryptographie
Kryptografische Hashfunktionen sind kryptografische Algorithmen, die bestimmte Schlüssel erzeugen und verwenden, um Daten entweder für symmetrische oder asymmetrische Verschlüsselung zu verschlüsseln, und sie können als Schlüssel betrachtet werden. Sie nehmen Nachrichten beliebiger Länge als Eingabe und geben einen kleinen Hash fester Länge aus, der beispielsweise in digitalen Signaturen verwendet werden kann. Ein Angreifer kann mit guten Hash-Algorithmen nicht zwei Nachrichten finden, die denselben Hash erzeugen. MD4 ist eine weit verbreitete, aber mittlerweile fehlerhafte Hash-Funktion; MD5, eine Weiterentwicklung von MD4, ist ebenfalls weit verbreitet, aber in der Praxis gebrochen. Die Secure Hash Algorithm-Reihe von MD5-ähnlichen Hash-Algorithmen wurde von der US-amerikanischen National Security Agency entwickelt: Die US-Standardisierungsbehörde entschied, dass es aus Sicherheitsgründen „umsichtig“ war, einen neuen Standard zu entwickeln, um „die Robustheit des gesamten Hash-Algorithmus von NIST deutlich zu verbessern“. Werkzeugkasten.“ SHA-1 ist weit verbreitet und sicherer als MD5, aber Kryptoanalytiker haben Angriffe dagegen identifiziert. die SHA-2-Familie verbessert SHA-1, ist jedoch ab 2011 anfällig für Zusammenstöße; und die SHA-2-Familie verbessert SHA-1, ist aber anfällig für Kollisionen Als Ergebnis sollte bis 2012 ein Designwettbewerb für Hash-Funktionen abgehalten werden, um einen neuen nationalen US-Standard namens SHA-3 auszuwählen. Der Wettbewerb endete am 2. Oktober 2012, als das National Institute of Standards and Technology (NIST) Keccak als neuen SHA-3-Hash-Algorithmus ankündigte. Kryptografische Hash-Funktionen bieten im Gegensatz zu invertierbaren Block- und Stream-Chiffren eine gehashte Ausgabe, die nicht verwendet werden kann, um die ursprünglichen Eingabedaten wiederherzustellen. Kryptografische Hash-Funktionen werden verwendet, um die Authentizität von Daten zu überprüfen, die aus einer nicht vertrauenswürdigen Quelle stammen, oder um einen zusätzlichen Schutzgrad hinzuzufügen.
Kryptografische Primitive und Kryptosysteme
Ein Großteil der theoretischen Arbeit der Kryptografie konzentriert sich auf kryptografische Primitive – Algorithmen mit grundlegenden kryptografischen Eigenschaften – und deren Beziehung zu anderen kryptografischen Herausforderungen. Diese grundlegenden Primitive werden dann verwendet, um komplexere kryptografische Werkzeuge zu erstellen. Diese Grundelemente bieten grundlegende Qualitäten, die verwendet werden, um komplexere Werkzeuge zu erstellen, die als Kryptosysteme oder kryptografische Protokolle bekannt sind und eine oder mehrere Sicherheitseigenschaften auf hohem Niveau gewährleisten. Andererseits ist die Grenze zwischen kryptographischen Primitiven und Kryptosystemen willkürlich; der RSA-Algorithmus beispielsweise wird manchmal als Kryptosystem und manchmal als Primitiv angesehen. Pseudozufallsfunktionen, Einwegfunktionen und andere kryptografische Primitive sind gängige Beispiele.
Ein kryptographisches System oder Kryptosystem wird durch Kombinieren eines oder mehrerer kryptographischer Grundelemente erzeugt, um einen komplizierteren Algorithmus zu erzeugen. Kryptosysteme (z. B. El-Gamal-Verschlüsselung) sollen spezifische Funktionalität (z. B. Verschlüsselung mit öffentlichem Schlüssel) bereitstellen und gleichzeitig bestimmte Sicherheitsqualitäten sicherstellen (z. B. CPA-Sicherheit eines zufälligen Oracle-Modells mit gewähltem Klartext-Angriff). Um die Sicherheitsqualitäten des Systems zu unterstützen, verwenden Kryptosysteme die Eigenschaften der zugrunde liegenden kryptographischen Grundelemente. Ein ausgeklügeltes Kryptosystem kann aus einer Kombination zahlreicher rudimentärerer Kryptosysteme generiert werden, da die Unterscheidung zwischen Primitiven und Kryptosystemen etwas willkürlich ist. In vielen Fällen umfasst die Struktur des Kryptosystems eine Hin- und Her-Kommunikation zwischen zwei oder mehr Parteien im Raum (z. B. zwischen dem Sender und dem Empfänger einer sicheren Nachricht) oder über die Zeit (z. B. zwischen dem Sender und dem Empfänger einer sicheren Nachricht). (zB kryptographisch geschützte Backup-Daten).
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/CCF Classical Cryptography Fundamentals Certification Curriculum verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
- 1
- 2