Abstrakte Syntax-Notation ein

Abstrakte Syntax-Notation Eine (ASN.1) ist eine normale und flexible Notation, die Regeln und Strukturen für das Darstellen, die Verschlüsselung, das Übertragen und die Entzifferung von Daten im Fernmeldewesen und Computernetzwerkanschluss beschreibt. Die formellen Regeln ermöglichen Darstellung von Gegenständen, die von maschinenspezifischen Verschlüsselungstechniken unabhängig sind. Formelle Notation macht es möglich, die Aufgabe der Bestätigung zu automatisieren, ob ein spezifisches Beispiel der Datendarstellung zu den Spezifizierungen bleibt. Mit anderen Worten können Softwarewerkzeuge für die Gültigkeitserklärung verwendet werden.

ASN.1 ist ein gemeinsamer ISO/IEC und ITU-T Standard, ursprünglich definiert 1984 als ein Teil dessen. ASN.1 hat sich zu seinem eigenen Standard, X.208 1988 wegen der breiten Anwendbarkeit bewegt. Die wesentlich revidierte 1995-Version wird durch die X.680 Reihe bedeckt. Die letzte verfügbare Version ist datierter 2008, und ist mit der 1995-Version rückwärts kompatibel.

ASN.1 in der Übertragung

An verschiedenen Quellen der Beobachtung erzeugte Daten müssen einer oder mehr Positionen übersandt werden, die sie bearbeiten, um nützliche Ergebnisse zu erzeugen. Zum Beispiel haben sich umfangreiche Signaldaten durch ein Radiofernrohr vom Weltraum versammelt. Das System, das die Daten und das System registriert, das es später bearbeitet, kann in der Natur verschieden sein und kann auch von verschiedenen Verkäufern sein. Als solcher ist ein konsequenter Mechanismus erforderlich, um zu registrieren, zu übersenden und im Stande zu sein, Daten über solche verschiedenen Systeme zu lesen.

ASN.1 definiert die abstrakte Syntax der Information, aber schränkt die Weise nicht ein, wie die Information verschlüsselt wird. Verschiedene ASN.1-Verschlüsselungsregeln stellen die Übertragungssyntax (eine konkrete Darstellung) der Datenwerte zur Verfügung, deren abstrakte Syntax in ASN.1 beschrieben wird.

Die ASN.1 Standardverschlüsselungsregeln schließen ein:

  • Basic Encoding Rules (BER)
  • Canonical Encoding Rules (CER)
  • Distinguished Encoding Rules (DER)
  • XML Encoding Rules (XER)
  • Packed Encoding Rules (PER)
  • Generic String Encoding Rules (GSER)

ASN.1 zusammen mit spezifischen ASN.1-Verschlüsselungsregeln erleichtert den Austausch von strukturierten Daten besonders zwischen Anwendungsprogrammen über Netze durch das Beschreiben von Datenstrukturen in einem Weg, der der Maschinenarchitektur und Durchführungssprache unabhängig ist.

Anwendungsschicht-Protokolle wie X.400 elektronische Post, X.500 und LDAP Verzeichnisdienstleistungen, H.323 (VoIP), Kerberos, BACnet und SNMP verwenden ASN.1, um die Protokoll-Dateneinheiten (PDUs) zu beschreiben, sind sie wert. Es wird auch in den Zugriffs- und Nichtzugriffsschichten von UMTS umfassend verwendet. Es gibt viele andere Anwendungsgebiete von ASN.1.

Eine besonders nützliche neue Anwendung von ASN.1 ist Schneller Infoset. Schneller Infoset ist ein internationaler Standard, der ein binäres Verschlüsselungsformat für den XML Informationssatz (XML Infoset) als eine Alternative zum XML Dokumentenformat angibt. Es hat zum Ziel, effizientere Anordnung zur Verfügung zu stellen, als das textbasierte XML-Format.

Beispiel

Datenstrukturen von FooProtocol haben das Verwenden der ASN.1 Notation definiert:

FooQuestion:: = FOLGE {\

GANZE

TrackingNumber-ZAHL,

Frage IA5String

}\

FooAnswer:: = FOLGE {\

GANZE

QuestionNumber-ZAHL,

antworten Sie auf BOOLEAN

}\

ENDE </pre>

Das konnte eine von Schöpfern des Protokolls von Foo veröffentlichte Spezifizierung sein. ASN.1 definiert Gespräch-Flüsse nicht. Das ist bis zur Textbeschreibung des Protokolls.

Das Annehmen einer Nachricht, die Protokoll von Foo erfüllt, und die der Empfang-Partei gesandt wird. Diese besondere Nachricht (PDU) ist:

trackingNumber 5,

Frage "Irgendjemand dort?"

} </pre>

Um die obengenannte Nachricht durch das Netz zu senden, muss man es zu einer Schnur von Bit verschlüsseln. ASN.1 definiert verschiedene Algorithmen, um diese Aufgabe, genannt Verschlüsselung von Regeln zu vollbringen. Es gibt viel sie; einer der einfachsten ist Distinguished Encoding Rules (DER).

Die Protokoll-Spezifizierung von Foo sollte einen Satz ausführlich nennen, Regeln zu verschlüsseln, zu verwenden, so dass Benutzer des Protokolls von Foo wissen, welchen sie verwenden sollten.

Beispiel in DER verschlüsselt

Unten ist die Datenstruktur, die über dem verschlüsselten im DER-Format gezeigt ist (alle Zahlen sind in hexadecimal):

30 - Anhängsel-Anzeigen-FOLGE

13 - Länge in Oktetten

02 - GANZE Anhängsel-Anzeigen-ZAHL

01 - Länge in Oktetten

05 - Wert

16 - Anhängsel, das IA5String anzeigt

0e - Länge in Oktetten

41 6e 79 62 6f 64 79 20 74 68 65 72 65 3f - schätzen

("Irgendjemand dort?" in ASCII)

</pre>

(Zeichen: DER verwendet ein Muster von Drillingen des Länge-Werts des Typs)

So, was man wirklich bekommt, ist die Schnur von 21 Oktetten:

Das Spielraum von ASN.1 und DER endet hier. Es ist möglich, die verschlüsselte Nachricht an die Partei vielleicht zu übersenden (TCP oder jedes andere Protokoll verwertend). Die Partei sollte im Stande sein, die Oktette zurück mit DER zu decodieren.

Beispiel in XER verschlüsselt

Wechselweise ist es möglich, dieselbe ASN.1 Datenstruktur mit XER (XML Verschlüsselnde Regeln) zu verschlüsseln, um größere menschliche Lesbarkeit "über die Leitung" zu erreichen. Es würde dann wie die folgenden 108 Oktette erscheinen:

</FooQuestion>

</pre>

Beispiel, das in PRO verschlüsselt ist (unausgerichteten)

Wechselweise, wenn Gepackt, wird die Verschlüsselung von Regeln verwendet, die folgenden 122 Bit (weniger als 16 Oktette) werden erzeugt:

ASN.1 gegen andere Datenstruktur-Definitionsschemas

Da es allgemein verwendet wird, um Nachrichten für Nachrichtenprotokolle zu definieren, läuft ASN.1, mit seinen verbundenen Verschlüsselungsregeln, auf eine binäre Verschlüsselung hinaus.

Andere Nachrichtenprotokolle, wie Internetprotokolle HTTP und SMTP, definieren Nachrichten mit Textanhängseln und Werten, die manchmal auf der Notation der Vermehrten Backus-Naur-Form (ABNF) gestützt sind. Die Definition definiert auch die Verschlüsselung, die im Text ist.

Es hat viel Debatte über die zwei Annäherungen gegeben, und beide haben ihre Verdienste; wie man glaubt, ist die ASN.1-Annäherung, und mit Gepackten Verschlüsselungsregeln effizienter, stellt sicher eine kompaktere Verschlüsselung zur Verfügung. Wie man fordert, ist die Textannäherung leichter (durch die Entwicklung und Syntaxanalyse von Textschnuren) und leichter durchzuführen, die Fehler zu beseitigen, weil man einfach eine verschlüsselte Nachricht lesen kann. Im Fall vom Protokoll von Megaco wurde die Einigkeit zwischen den zwei Gesichtspunkten nicht erreicht, und so wurden zwei encodings, ein gestützter auf ASN.1 und ein auf ABNF, definiert.

ASN.1 XML Encoding Rules (XER) versuchen, die Lücke durch die Versorgung einer Textverschlüsselung von definierten Datenstrukturen mit der ASN.1 Notation zu überbrücken. Allgemeine Schnur-Verschlüsselungsregeln wurden auch zum alleinigen Zweck definiert, Daten/von einem Benutzer zu präsentieren und einzugeben.

Encoding Control Notation (ECN)

Encoding Control Notation (ECN) ist eine Notation, um spezifischen encodings von Typen ASN.1 anzugeben. ECN ist nützlich, um Vermächtnis-Protokolle in ASN.1 zu beschreiben. Es ist möglich anzugeben, dass nur die Verschlüsselung von einigen Typen und dann mit einer Standardverschlüsselung zu vollenden (gewöhnlich unausgerichtet PRO) herrscht.

ASN.1 Informationsgegenstand-Klasse

Informationsgegenstand-Klassen sind ein in ASN.1 verwendetes Konzept, um Spezifizierungsbedürfnisse zu richten, die denjenigen ähnlich sind, die durch CORBA/IDL Spezifizierungen angeredet sind.

Das Verwenden ASN.1 in der Praxis

Man kann einen ASN Bearbeiter verwenden, der als Eingang eine ASN.1 Spezifizierung nimmt und Computercode (zum Beispiel auf der C Programmiersprache) für eine gleichwertige Darstellung der Datenstrukturen erzeugt. Dieser Computercode, zusammen mit versorgten Laufzeitbibliotheken, kann dann verschlüsselte Datenstrukturen zu und von der Computersprachdarstellung umwandeln. Wechselweise kann man Verschlüsselung und Entzifferung von Routinen manuell schreiben.

Standards

Standards, die die ASN.1 Notation beschreiben:

Standards, die die ASN.1-Verschlüsselungsregeln beschreiben:

Siehe auch

  • Der Vergleich der Datenanordnung formatiert
  • TTCN
  • TTCN-3
  • EBML

Referenzen

Links

  • Gratis online hat Werkzeug, das erlaubt, ASN.1 zu decodieren, Nachrichten in die XML Produktion verschlüsselt.

Abstrakte Syntax / Jean Chrétien
Impressum & Datenschutz