Protokoll zur Übertragung von Daten über ein Netzwerk. Es wird hauptsächlich eingesetzt, um Webseiten und andere Daten aus dem World Wide Web (WWW) in einen Webbrowser zu laden.
HTML (Hypertext Markup Language)
Dokumentenformat zur Auszeichnung von Hypertext im World Wide Web und wurde 1989 von Tim Berners-Lee am CERN in Genf festgelegt.
Sie basiert auf der Metasprache SGML, die zur Definition von Auszeichnungssprachen verwendet wird. HTML ist also eine Auszeichnungssprache zur Beschreibung von Informationen in Hypertexten.
HTML wurde vom World Wide Web Consortium (W3C) weiterentwickelt, ist aber mittlerweile zugunsten von XHTML aufgegeben worden.
JavaScript (JavaScript)
Objektbasierte Skriptsprache, die von der Firma Netscape entwickelt wurde, um statische HTML-Seiten dynamisch zu gestalten. Im Gegensatz zu serverseitigen Skriptsprachen wie zum Beispiel Perl oder PHP wird J. auf dem Client ausgeführt.
Mittels einer Schnittstelle zum Document Object Model (DOM) können Elemente der Webseite manipuliert werden, nachdem diese zum Client übertragen wurden.
PHP Skriptsprache mit einer an C bzw. Perl angelehnten Syntax, die hauptsächlich zur Erstellung dynamischer Webseiten oder ganzer Webanwendungen verwendet wird. Es handelt sich um Open-Source-Software, zeichnet sich besonders durch die leichte Erlernbarkeit, die breite Datenbankunterstützung und Internet-Protokolleinbindung sowie die Verfügbarkeit zahlreicher, zusätzlicher Funktionsbibliotheken aus.
Z.B. sind vorhandene Bibliotheken nutzbar, um Bilder und Grafiken zur Einbindung in Webseiten dynamisch zu generieren.
Internet (Web)
Weltweites Netzwerk voneinander unabhängiger Netzwerke. Es dient der Kommunikation und dem Austausch von Informationen. Jeder Rechner eines Netzwerkes kann dabei prinzipiell mit jedem anderen Rechner kommunizieren. Die Kommunikation der einzelnen Rechner erfolgt über definierte Protokolle zum Datenaustausch.
IP (Internet Protocol)
Ein in Computernetzen weit verbreitetes Netzwerkprotokoll. Es ist eine (bzw. die) Implementierung der Internet-Schicht des TCP/IP-Modells bzw. der Vermittlungs-Schicht des OSI-Modells.
IP bildet die erste vom Übertragungsmedium unabhängige Schicht der Internet-Protokoll-Familie. Das bedeutet, dass mittels IP-Adresse und Subnetzmaske (subnet mask) Computer innerhalb eines Netzwerkes in logische Einheiten, so genannte Subnetze, gruppiert werden können. Auf dieser Basis ist es möglich, Computer in größeren Netzwerken zu adressieren und Verbindungen zu ihnen aufzubauen, da logische Adressierung die Grundlage für Routing (Wegewahl und Weiterleitung von Netzwerk-Paketen) ist. Das Internet Protocol stellt die Grundlage des Internets dar.
Java Objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems. Sie ist eine Komponente der Java-Technologie.
Javaprogramme werden in plattformunabhängigen Bytecode übersetzt (compiliert). Dieser wird in einer speziellen Umgebung, der Java-Laufzeitumgebung oder Java-Plattform, ausgeführt, deren wichtigster Bestandteil die Java Virtual Machine ist. Um ein existierendes Javaprogramm auf einer weiteren Plattform laufen zu lassen ist es also nur notwendig, dass dort eine Java-Laufzeitumgebung vorhanden ist. Dieses Ideal wird von Sun "write once - run everywhere" genannt. Anders als bei Sprachen wie C/C++ wird die Portierung also nicht von den Programmierern eines Programms, sondern von denen der Java-Laufzeitumgebung übernommen.
Agent (Software-Agent)
Computerprogramm mit folgenden Eigenschaften:
* autonom - das Programm arbeitet weitgehend unabhängig von Benutzereingriffen
* proaktiv - das Programm löst Aktionen aufgrund eigener Initiative aus
* reaktiv - das Programm reagiert auf Änderung der Umgebung
* sozial - das Programm kommuniziert mit anderen Agenten
* lernfähig/anpassungsfähig - das Programm lernt aufgrund zuvor getätigter Entscheidungen bzw. Beobachtungen.
Kommt zu den genannten Eigenschaften die Fähigkeit hinzu, den Ausführungsort zu wechseln und am neuen Ort die gleiche Aufgabe weiter zu bearbeiten, so spricht man von einem mobilen Agenten. Beim Wechsel des Ausführungsortes spricht man von Migration. Intelligente Agenten zeichnen sich durch Wissen, Lernfähigkeit, Schlussfolgerungen und die Möglichkeit zu Verhaltensänderungen aus.
Hash (Hashwert, Streuwert)
Ein skalarer Wert, der aus einer komplexeren Datenstruktur (Zeichenketten, Objekte, ...) mittels einer Hash-Funktion berechnet wird. Ein Hashwert wird auch als Fingerprint bezeichnet. Denn wie ein Fingerabdruck einen Menschen nahezu eindeutig identifiziert, ist ein Hashwert eine nahezu eindeutige Kennzeichnung einer übergeordneten Menge. Hash-Werte dienen beispielsweise als Schlüssel für Tabellen, um assoziative Arrays (Hashtabellen) zu implementieren.
Hash-Algorithmen sind darauf optimiert, so genannte Kollisionen zu vermeiden. Eine Kollision tritt dann auf, wenn zwei verschiedenen Datenstrukturen derselbe Schlüssel zugeordnet wird. Da der Hash-Wert in der Praxis meist kürzer als die originale Datenstruktur ist, sind solche Kollisionen prinzipiell unvermeidlich, deshalb muss es Verfahren zur Kollisionserkennung geben. Falls eine Kollision auftritt, gibt es verschiedene Strategien, damit umzugehen. Im einfachsten Fall prüft man, ob der darauffolgende Tabellenplatz noch frei ist, falls nicht, der übernächste usw. Dies nennt man lineares Sondieren.
Graph In der Graphentheorie ein Gebilde aus Knoten (auch Ecken oder Punkte), die durch Kanten verbunden sein können. Obwohl Graphen vielfach durch eine Zeichnung dargestellt werden, sind sie „nur“ mathematische Strukturen.
Dies bedeutet vor allem, dass verschiedene Bilder denselben Graphen darstellen können.
\.NET (DOT NET)
Implementierung des Common-Language-Infrastructure-Standards für Windows durch den Softwarehersteller Microsoft, entsteht neben einer virtuellen Laufzeitumgebung aus einem Framework von Klassenbibliotheken (API) und aus angeschlossenen Diensten, die gemeinsam eine Basis für Eigenentwicklungen bieten.
Anwendungsprogramme für .NET liegen nicht in Maschinencode, sondern in einem Zwischencode vor und benötigen die .NET-Laufzeitumgebung, ähnlich wie etwa Java-Programme eine Java Runtime Environment benötigen.
Schlüssel Dient in einer Relationalen Datenbank dazu, die Tupel einer Relation eindeutig zu identifizieren. Anschaulich kann man sich eine Relation als Tabelle vorstellen. Der Schlüssel einer solchen Tabelle ist dann eine Gruppe von Spalten, die so ausgewählt wird, dass jede Zeile in dieser Gruppe eine einmalige Wertekombination hat.
ANSI (American National Standards Institute)
US-amerikanische Stelle zur Normung industrieller Verfahrensweisen. Es ist Mitglied in der International Organization for Standardization (ISO).
Das deutsche Gegenstück ist das "DIN Deutsches Institut für Normung e.V.".
Obwohl die ANSI-Normen viele Bereiche abdecken, ist mit der alleinstehenden Abkürzung "ANSI" in der Computertechnik eine bestimmte Gruppe von Zeichensätzen basierend auf ASCII gemeint.
Bei Datenbanken kann die ANSI-SPARC-Architektur, auch Drei-Ebenen-Architektur, zum Einsatz kommen. Sie beschreibt die grundlegende Definition eines Datenbanksystems.
RSA Asymmetrisches Kryptosystem, das sowohl zur Verschlüsselung als auch zur digitalen Signatur verwendet werden kann. Es verwendet ein Schlüsselpaar bestehend aus einem privaten Schlüssel, der zum Entschlüsseln oder Signieren von Daten verwendet wird, und einem öffentlichen Schlüssel, mit dem man verschlüsselt oder Signaturen prüft. Der private Schlüssel wird geheim gehalten und kann nicht oder nur mit extrem hohen Aufwand aus dem öffentlichen Schlüssel berechnet werden. RSA ist nach seinen Erfindern Ronald L. Rivest, Adi Shamir und Leonard Adleman benannt.
DSA (Digital Signature Algorithm)
Standard der US-Regierung für Digitale Signaturen.
Er wurde vom National Institute of Standards and Technology (NIST) im August 1991 für die Verwendung in deren Digital Signature Standard (DSS) empfohlen. Der DSS (Digital Signature Standard) enthält neben dem DSA (ursprünglich der einzige im DSS definierte Algorithmus) als weitere Algorithmen die RSA-Signatur und ECDSA. Der DSS ist in FIPS-PUB 186-2 veröffentlicht, im Unterschied zu RSA nicht zugleich auch als Verschlüsselungsverfahren konzipiert. Entworfen wurde er von der NSA im Rahmen des Versuchs der US-Regierung, hochsichere Verschlüsselung unter Kontrolle zu bringen. Bestandteil dieser Strategie war auch das Exportverbot starker Verschlüsselungsalgorithmen, dessen Missachtung strafrechtlich verfolgt wurde, basiert auf dem diskreten Logarithmus in endlichen Körpern. Er ist eng verwandt mit der Schnorr-Signatur und kann sogar als eine Variante oder Optimierung der Schnorr-Signatur angesehen werden. Die Übertragung des DSA auf elliptische Kurven wird als ECDSA bezeichnet und ist in ANSI X9.62 standardisiert.
Bundesnetzagentur (BNetzA)
deutsche Bundesbehörde (Regulierungsbehörde). Ihre Aufgaben bestehen aus der Aufrechterhaltung und der Förderung des Wettbewerbs in so genannten Netzmärkten.
Verwaltungssitz der Bundesnetzagentur ist die Bundesstadt Bonn. Die technische Zentrale liegt in Mainz. Die Agentur untersteht dienstlich und - überwiegend - fachlich der Aufsicht des Bundesministeriums für Wirtschaft und Technologie (BMWi), die Abteilung 7 (Schiene) untersteht fachlich der Aufsicht des Bundesministeriums für Verkehr, Bau und Stadtentwicklung (BMVBS). Sie hat Außenstellen im gesamten Bundesgebiet. Aktueller Präsident der Bundesnetzagentur ist Matthias Kurth, Vorsitzender des Beirats ist seit dem 29. Januar 2007 Klaus Barthel.
Implementierung Umsetzung von festgelegten Strukturen und (Arbeits-)Abläufen in einem System unter Berücksichtigung von Rahmenbedingungen, Regeln und Zielvorgaben – also einer Spezifikation.
LIS (LIMS, Laborinformations(Management)System)
Softwaraesysteme befassen sich mit der Datenverarbeitung im chemischen, physikalischen, biologischen, medizinischen Labor. Prinzipiell kann man jedes Labor hier einordnen, aber in nicht allen genannten Branchen spricht man zwingend von LIS.
Die Aufgaben von LIMS leiten sich im Wesentlichen aus der Chemometrik her. Es werden unterschiedliche Prinzipien gemäß der zu begleitenden Prozesskette umgesetzt. In der Regel werden zwei Systemstränge umgesetzt:
ISO (Internationale Organisation für Normung )
internationale Vereinigung von Normungsorganisationen und erarbeitet internationale Normen in allen Bereichen mit Ausnahme der Elektrik und der Elektronik, für die die Internationale elektrotechnische Kommission (IEC) zuständig ist, und mit Ausnahme der Telekommunikation, für die die Internationale Fernmeldeunion (ITU) zuständig ist. Gemeinsam bilden diese drei Organisationen die WSC (World Standards Cooperation).
EN (Europäischen Normen )
Regeln, die von einem der drei europäischen Komitees für Standardisierung Europäisches Komitee für Normung (CEN), Europäisches Komitee für elektrotechnische Normung (CENELEC) oder Europäisches Institut für Telekommunikationsnormen (ETSI) ratifiziert worden sind. Alle EN-Normen sind durch einen öffentlichen Normungsprozess entstanden.
DIN (DIN-Norm, Deutsche Industrie Norm)
unter Leitung eines Arbeitsausschusses im Deutschen Institut für Normung erarbeiteter freiwilliger Standard, in dem materielle und immaterielle Gegenstände vereinheitlicht sind. DIN-Normen entstehen auf Anregung und durch die Initiative interessierter Kreise (in der Regel die deutsche Wirtschaft), wobei Übereinstimmung unter allen Beteiligten hergestellt wird.
Auf internationaler Ebene erarbeitete Standards sind zum Beispiel ISO-Normen.
Eine digitale Signatur ist ein kryptografisches Verfahren, bei dem zu einer "Nachricht" (d.h. zu beliebigen Daten) eine Zahl (die "digitale Signatur") berechnet wird, deren Urheberschaft und Zugehörigkeit zur Nachricht durch jeden geprüft werden können. Digitale Signaturen basieren auf asymmetrischen Kryptosystemen und verwenden folglich ein Schlüsselpaar, das aus einem privaten (d.h. geheimen) und einem öffentlichen (d.h. nicht geheimen) Schlüssel besteht. Diese Schlüssel werden als privater und öffentlicher Signaturschlüssel bezeichnet.
Mit digitalen Signaturen lassen sich sichere elektronische Signaturen ("fortgeschrittene elektronische Signaturen") gem. §126a BGB erzeugen.
Die beiden Begriffe digitale Signatur und elektronische Signatur sind allerdings nicht inhaltsgleich.
Das Grundprinzip
Aus den zu signierenden Daten und dem privaten Signaturschlüssel wird durch eine eindeutige Rechenvorschrift die Signatur berechnet. Verschiedene Daten müssen mit an Sicherheit grenzender Wahrscheinlichkeit zu einer anderen Signatur führen, und die Signatur muss für jeden Schlüssel einen anderen Wert ergeben. Bei deterministischen digitalen Signaturverfahren ist die digitale Signatur durch die Nachricht und den Schlüssel eindeutig festgelegt, bei probabilistischen digitalen Signaturverfahren gehen Zufallswerte in die Signaturberechnung ein, so dass die digitale Signatur zu einer Nachricht und einem Schlüssel viele verschiedene Werte annehmen kann.
Bei einer digitalen Signatur wird der private Schlüssel nicht direkt auf die Nachricht angewendet, sondern auf deren Hash-Wert, der mittels einer Hash-Funktion (wie z.B. SHA-1) aus der Nachricht berechnet wird. Um Angriffe zu verhindern, muss diese Hash-Funktion kollisionsresistent sein, d.h. es muss praktisch unmöglich sein, zwei Nachrichten zu finden, deren Hashwert identisch ist.
Die Prüfung einer digitalen Signatur erfolgt mit Hilfe des entsprechenden öffentlichen Schlüssels, der Signatur und der Nachricht. Das Ergebnis der Prüfung zeigt an, ob die Signatur mit dem (zum öffentlichen Schlüssel korrespondierenden) privaten Schlüssel für diese Nachricht berechnet wurde. Somit lassen sich Fälschungen der Signatur, nachträgliche Verfälschungen der Nachricht und die Urheberschaft der Signatur prüfen.
Sicherheit
Bei digitalen Signaturen soll es praktisch unmöglich sein, eine Signatur zu fälschen oder verfälschen, oder eine zweite Nachricht zu erzeugen, für die diese Signatur ebenfalls gültig ist. Dies impliziert unter anderem, dass sich der private Schlüssel nicht aus dem öffentlichen Schlüssel berechnen lässt.
Die Sicherheit eines digitalen Signaturverfahrens hängt in erster Linie von den gewählten Parametern ab; insbesondere müssen die Schlüssel eine Mindestlänge aufweisen um Angriffe abzuwehren. Außerdem hängt die Sicherheit eines Signaturverfahrens immer auch von der verwendeten Hash-Funktion ab. Diese muss kollisionsresistent sein, um eine sichere digitale Signatur zu gewährleisten. Außerdem gibt es oft effektive Angriffe auf bestimmte Implementierungen (theoretisch sicherer) digitaler Signaturverfahren, z.B. Seitenkanal-Angriffe oder das Ermitteln des privaten Schlüssels aus einer unzureichend geschützten persönlichen Sicherheitsumgebung (PSE).
Die theoretische Untersuchung der Sicherheit von digitalen Signaturen ist Gegenstand der Kryptoanalyse. Dabei werden unterschiedliche Angriffsziele und -szenarien betrachtet. Sicherheitsbeweise fußen meist auf einer Reduktion zu einem anderen Verfahren, d.h. es wird nachgewiesen, dass das Signaturverfahren sicher ist, solange ein anderes (unter Umständen besser untersuchtes) Verfahren sicher ist. Nur selten gelingt es, die Sicherheit eines digitalen Signaturverfahrens auf die Schwierigkeit eines bekannten Berechnungsproblems zurückführen. Zwar basieren die meisten Verfahren auf prominenten Problemen, wie z.B. der Faktorisierung oder dem diskreten Logarithmus in endlichen Körpern oder elliptischen Kurven, d.h. das Brechen des Signaturverfahrens ist höchstens so schwer wie das Lösen des entsprechenden Berechnungsproblems. Bei den meisten Verfahren ist jedoch unbekannt, ob das Brechen (bei Verwendung einer kollisionsresistenten Hash-Funktion) genauso schwer ist, wie das Lösen des Problems. Das Vertrauen in die Sicherheit der bekanntesten Signaturverfahren (z.B. RSA oder DSA) resultiert daher vor allem aus der Tatsache, dass sie trotz 20-30 Jahre umfangreicher Forschung nicht gebrochen werden konnten.
Übliche Verfahren & viel viel Theorie
Das mit Abstand bekannteste und am meisten eingesetzte digitale Signaturverfahren ist RSA, für das verschiedene Verfahren zum Auffüllen des Hash-Wertes (Padding) verwendet werden können. Die Sicherheit von RSA basiert auf der Schwierigkeit, große Zahlen in ihre Primfaktoren zu zerlegen (Faktorisierung). Dies ist auch Grundlage für die Sicherheit des Signaturverfahrens von Rabin.
Viele digitale Signaturverfahren basieren auf dem diskreten Logarithmus in endlichen Körpern, wie z.B. DSA, das El-Gamal, die Schnorr-Signatur, die Pointcheval-Stern-Signatur, XTR oder die Cramer-Shoup-Signatur. Auf dem diskreten Logarithmus in elliptischen Kurven beruht die Sicherheit von ECDSA, ECGDSA oder Nyberg-Rueppel-Signaturen - diese Verfahren werden auch als Elliptische-Kurven-Kryptosysteme bezeichnet. Alle Verfahren, die auf dem diskreten Logarithmus (in endlichen Körpern oder auf elliptischen Kurven) beruhen, sind probabilistisch.
Andere digitale Signaturverfahren basieren auf linearen Codes, wie die McEliece-Niederreiter-Signatur, oder auf Gittern, wie die Goldreich-Goldwasser-Halevi-Signatur oder NTRU.
Manche digitale Signaturverfahren besitzen bestimmte Eigenschaften, wie z.B. nicht-abstreitbare digitale Signaturen (undeniable signatures) oder blinde Signaturen (blind signatures); andere ermöglichen es, die signierte Nachricht aus der Signatur wiederherzustellen (message recovery), wie z.B. die Nyberg-Rueppel-Signatur oder RSA mit dem Padding-Verfahren nach ISO 9796-2.
Prinzipiell kann jedes digitale Signaturverfahren mit beliebigen Hash-Funktionen kombiniert werden, solange die Länge der Hashwerte für die gewählten Parameter des Signaturverfahrens geeignet ist. Internationale und nationale Standards legen jedoch oftmals mit dem Signaturverfahren auch die Hash-Funktion fest (z.B. FIPS-PUB 186-2) oder geben zumindest Empfehlungen (z.B. ANSI X9.62).
Die Bundesnetzagentur veröffentlicht jedes Jahr eine Empfehlung für kryptographische Algorithmen für die Erzeugung qualifizierter elektronischer Signaturen. In der Empfehlung von 2006 werden als geeignete digitale Signaturverfahren RSA, DSA und DSA-Varianten die auf elliptischen Kurven basierend (z.B. ECDSA, ECGDSA) genannt. Zu jedem dieser Verfahren werden die Mindestlängen für die Schlüssel sowie weitere Anforderungen an die Parameter und die Hash-Funktionen angegeben.