-
Die
vorliegende Erfindung bezieht sich auf die Authentifizierung digitaler
Daten mittels eines Authentifizierungsplugins.
-
Sie
findet allgemeine Anwendung bei der Authentifizierung digitaler
Daten, die in eine Vielzahl von Datensegmenten, die gemäß einer
gewählten
Verkettungsrelation miteinander verbunden sind, insbesondere in
eine Vielzahl von in Segmente fragmentierten Dateien mit digitalen
Daten, aufgeteilt sind.
-
Sie
findet besondere Anwendung bei der Authentifizierung von eingebetteten
Softwares, beispielsweise von Softwares, die in beim digitalen Fernsehen
eingesetzte Empfangs- und Decodiervorrichtungen eingebettet sind.
-
Es
sind bereits eingebettete Systeme, wie Empfangs- und Decodiervorrichtungen
beim digitalen Fernsehen, bekannt, die eine Authentifizierung der
im Speicher befindlichen Software erfordern, um die Software-Piraterie
zu bekämpfen.
-
In
der Praxis verwendet das Authentifizierungsverfahren eine Authentifizierungsbibliothek,
die in einem nicht wiederbeschreibbaren Speicher untergebracht ist
und vorbestimmte Authentifizierungsfunktionen enthält.
-
Die
Authentifizierungsbibliothek umfasst beispielsweise Signaturberechnungsfunktionen,
Entschlüsselungsfunktionen, öffentliche
Schlüssel
zur Entschlüsselung
und Funktionen zur Verifizierung der Übereinstimmung der berechneten
Signatur mit einer verschlüsselten
Referenzsignatur.
-
In
der Praxis bildet die verschlüsselte
Referenzsignatur ein Zertifikat, das sich in dem wiederbeschreibbaren
und löschbaren
Teil des Speichers der Empfangs- und Decodiervorrichtung befindet.
-
Die
ein Zertifikat bildende verschlüsselte
Referenzsignatur liefert einen gewissen Sicherheitsgrad. Die Verwendung
eines einzigen Zertifikats wirft jedoch dann ein Problem auf, wenn
die zu authentifizierende Software aus mehreren, von unterschiedlichen
Firmen entwickelten Modulen, die beispielsweise die Zugangskontrolle,
die Interaktivität
oder andere Dienste verwalten, besteht.
-
Allein
der Inhaber des privaten Schlüssels hat
nämlich
die Möglichkeit,
die Referenzsignatur zu verschlüsseln,
d. h., eines der Elemente, die die Verifizierung der Zertifikatsauthentizität ermöglichen.
-
Daraus
ergeben sich Interessenkonflikte, die dann zu Blockierungssituationen
führen
können,
die für
den Bediener der Empfangs- und Decodiervorrichtung schädlich sind.
-
Da
die Authentifizierungsbibliothek sich ferner in einem nicht wiederbeschreibbaren
Speicher befindet, ist es nicht möglich, die Authentifizierungsmechanismen
auf bereits eingesetzten Plattformen der Empfangs- und Decodiervorrichtung
weiterzuentwickeln.
-
Die
vorliegende Erfindung bietet eine Lösung für diese Probleme.
-
Sie
betrifft ein Verfahren zur Authentifizierung digitaler Daten, die
in eine Vielzahl von Datensegmenten aufgeteilt sind, die gemäß einer
gewählten
Verkettungsrelation miteinander verbunden sind, wobei jedem Datensegment
eine vorbestimmte Authentifizierungssignatur zugeordnet ist.
-
Gemäß einer
allgemeinen Definition der Erfindung umfasst das Verfahren die folgenden
Schritte:
- – die
Vielzahl von Segmenten gemäß einem
gewählten
Authentifizierungsalgorithmus authentifizieren, der geeignet ist,
verkettet und iterativ einen Signaturwert für jedes sukzessive Segment zu
berechnen und den so berechneten Wert der Signatur mit der zugeordneten
Signatur zu vergleichen, wobei die Authentifizierung des darauf folgenden
Segments bei einem positiven Vergleich für das aktuelle Segment eingesetzt
wird und das erste Segment (S0) von mindestens einer Funktion einer
in einem nicht wiederbeschreibbaren Speicher enthaltenen Authentifizierungsbibliothek
aus authentifiziert wird,
- – mindestens
ein ein ausführbares
Authentifizierungsplugin bildendes Segment vorsehen, das zuvor durch
mindestens eine Authentifizierungsfunktion der Authentifizierungsbibliothek
authentifiziert wurde und das mit der Vielzahl von Segmenten gemäß der Verkettungsrelation
verbunden ist, und
- – auf
eine Anforderung betreffend eine Authentifizierung einer Vielzahl
von derart verketteten Segmenten hin jedes sukzessive Segment authentifizieren
und bei einem das Authentifizierungsplugin erfordernden Segment
das Authentifizierungsplugin ausführen, um das Segment zu authentifizieren,
das somit von dem Authentifizierungsplugin abhängig wird.
-
Das
Authentifizierungsplugin ermöglicht
es somit, spezifische, ursprünglich
nicht vorgesehene Funktionalitäten
hinzuzufügen,
die geeignet sind, Segmente einer Software zu authentifizieren,
ohne dabei die in einem nicht wiederbeschreibbaren Speicher enthaltene
Authentifizierungsbibliothek zu verändern.
-
Gemäß einer
Ausführung
ist jedem Segment eine Datentabelle zugeordnet, die eine zugeordnete Authentifizierungssignatur,
das Segment lokalisierende Anfangs- und Endadressen, die zugeordnete Signatur
lokalisierende Anfangs- und Endangaben, einen Anzeiger, der angibt,
dass das Segment ein Segment von der Art eines Authentifizierungsplugins ist,
und eine einen Algorithmus zur Authentifizierungserweiterung identifizierende
Bezeichnung umfasst.
-
Die
Vielzahl von Datensegmenten ergibt sich beispielsweise aus der Fragmentierung
einer Datendatei.
-
Die
Verkettungsrelation ist beispielsweise derart, dass die Signatur
des aktuellen Segments die Kennung der Signatur des darauf folgenden
Segments umfasst.
-
Gegenstand
der vorliegenden Erfindung ist ebenfalls eine Vorrichtung zur Authentifizierung
digitaler Daten, die in eine Vielzahl von Segmenten digitaler Daten
aufgeteilt sind, die gemäß einer
gewählten
Verkettungsrelation miteinander verbunden sind, wobei jedem Datensegment
eine vorbestimme Authentifizierungssignatur zugeordnet ist.
-
Gemäß einem
weiteren Aspekt der Erfindung umfasst die Authentifizierungsvorrichtung:
- – Authentifizierungsmittel,
die geeignet sind, die Vielzahl von Segmenten gemäß einem
gewählten Authentifizierungsalgorithmus
zu authentifizieren, der geeignet ist, verkettet und iterativ einen
Signaturwert für
jedes sukzessive Segment zu berechnen und den so berechneten Wert
der Signatur mit der zugeordneten Signatur zu vergleichen, wobei
die Authentifizierung des darauf folgenden Segments bei einem positiven
Vergleich für
das aktuelle Segment eingesetzt wird und das erste Segment von mindestens
einer Funktion einer in einem nicht wiederbeschreibbaren Speicher
enthaltenen Authentifizierungsbibliothek aus authentifiziert wird,
- – Verarbeitungsmittel,
die geeignet sind, mindestens ein ein ausführbares Authentifizierungsplugin
bildendes Segment vorzusehen, das in einem wiederbeschreibbaren
Speicher untergebracht ist, zuvor durch mindestens eine Authentifizierungsfunktion
der Authentifizierungsbibliothek authentifiziert wurde und das mit
der Vielzahl von Segmenten gemäß der Verkettungsrelation
verbunden ist, und
- – Verarbeitungsmittel,
die geeignet sind, auf eine Anforderung betreffend eine Authentifizierung
einer Vielzahl von derart gemäß der Verkettungsrelation
verketteten Segmenten hin jedes sukzessive Segment zu authentifizieren
und bei einem das Authentifizierungsplugin erfordernden Segment das
Authentifizierungsplugin auszuführen,
um das Segment zu authentifizieren, das somit von dem Authentifizierungsplugin
abhängig
wird.
-
Gemäß einer
Ausführung
ist jedem Segment eine Datentabelle zugeordnet ist, die eine zugeordnete
Authentifizierungssignatur, das Segment lokalisierende Anfangs-
und Endadressen, die zugeordnete Signatur lokalisierende Anfangs-
und Endangaben, einen Anzeiger, der angibt, dass das Segment ein
Segment von der Art eines Authentifizierungsplugins ist, und eine
einen Algorithmus zur Authentifizierungserweiterung identifizierende
Bezeichnung umfasst.
-
In
der Praxis ergibt sich die Vielzahl von Datensegmenten aus der Fragmentierung
einer Datendatei.
-
Die
Verkettungsrelation ist vorzugsweise derart, dass die Signatur des
aktuellen Segments die Kennung der Signatur des darauf folgenden
Segments umfasst.
-
Gegenstand
der vorliegenden Erfindung ist ebenfalls ein Träger von Informationen, die
durch ein eventuell oder vollständig
entfernbares Computersystem lesbar sind, insbesondere CD-ROM oder
magnetischer Träger,
wie eine Festplatte oder eine Diskette, oder übertragbarer Träger, wie
ein elektrisches oder optisches Signal.
-
Gemäß einem
weiteren wichtigen Merkmal der Erfindung weist der Informationsträger Anweisungen
eines Computerprogramms auf, die die Umsetzung des oben genannten
Authentifizierungsverfahrens ermöglichen,
wenn dieses Programm durch ein Computersystem geladen und ausgeführt wird.
-
Gegenstand
der vorliegenden Erfindung ist ebenfalls ein auf einem Informationsträger gespeichertes
Computerprogramm, wobei das Programm Anweisungen aufweist, die die
Umsetzung des oben genannten Verfahrens ermöglichen, wenn dieses Programm
durch ein Computersystem geladen und ausgeführt wird.
-
Weitere
Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten
Beschreibung und den Zeichnungen ersichtlich. Es zeigen:
-
1 eine
schematische Darstellung eines Speichers einer Empfangs- und Decodiervorrichtung, dessen
nicht wiederbeschreibbarer Bereich eine Authentifizierungsbibliothek
umfasst, und dessen wiederbeschreibbarer Teil eine Vielzahl von
Segmenten umfasst, die gemäß einer
erfindungsgemäß gewählten Verkettungsrelation
miteinander verbunden sind,
-
2 eine
Darstellung einer Tabelle mit Daten, die jedem Segment erfindungsgemäß zugeordnet
sind,
-
3 eine
schematische Darstellung eines Ablaufdiagramms zur Veranschaulichung
der Schritte des erfindungsgemäßen Authentifizierungsverfahrens
und
-
4 eine
schematische Darstellung der Interaktion zwischen der Authentifizierungsbibliothek und
dem erfindungsgemäßen Authentifizierungsplugin.
-
Mit
Bezug auf 1 ist ein Flash-Speicher MF
einer beim digitalen Fernsehen verwendeten Empfangs- und Decodiervorrichtung
dargestellt.
-
Die
Empfangs- und Decodiervorrichtung führt Softwares aus, deren Authentifizierung
zu prüfen
ist, um die Software-Piraterie
zu vermeiden.
-
Der
Flash-Speicher MF weist einen nicht wiederbeschreibbaren Bereich
MNR und einen wiederbeschreibbaren Bereich MR auf.
-
Die
zu authentifizierende Software ist in i Segmente S aufgeteilt, denen
i Zertifikate C zugeordnet sind. Jedes Segment Sk ist in nicht unbedingt
benachbarte Blöcke
Bj aufgeteilt.
-
Die
Segmente S sind gemäß einer
gewählten
Verkettungsrelation miteinander verbunden.
-
In
der Praxis ist die Verkettungsrelation derart, dass jedes Zertifikat
Ck die Kennung des darauf folgenden Zertifikats Ck + 1 enthält.
-
Jedes
Zertifikat Ck enthält
in verschlüsselter Form
die Signatur des Segments Sk, auf das es sich bezieht. Auf das Zertifikat
Ck folgt die Liste der das Segment Sk bildenden Blöcke B.
-
Der
erste Block B0 des ersten Segments S0 beschreibt das Zertifikat
C0 selbst.
-
Das
Zertifikat Ck ist meist eine mit einem privaten Schlüssel verschlüsselte Authentifizierungssignatur.
-
Der
für jedes
Zertifikat Ck verwendete private Schlüssel kann von einem Zertifikat
zum anderen unterschiedlich sein.
-
Somit
ist es möglich,
jeder an der Ausarbeitung einer Software beteiligten Firma einen
privaten Schlüssel
zuzuweisen, damit sie das oder die Segmente S authentifizieren kann,
die die zu authentifizierenden Softwaremodule enthalten.
-
In
dem nicht wiederbeschreibbaren Bereich MNR ist vorgesehen, auf einer
Speicherseite eine Authentifizierungsbibliothek mit den Funktionen
F1 bis F4 und einen nachfolgend näher beschriebenen Authentifizierungsmanager
GA unterzubringen.
-
Die
den privaten Schlüsseln
entsprechenden öffentlichen
Schlüssel
sind in der Authentifizierungsbibliothek enthalten.
-
Die
Anzahl der öffentlichen
Schlüssel
ist beispielsweise auf drei begrenzt.
-
Die
Authentifizierungsbibliothek umfasst beispielsweise vier als Funktionen
F1 bis F4 individualisierte Funktionen F.
-
Die
mit „init_digest" bezeichnete erste
Funktion F1 ist eine Initialisierungsfunktion, die geeignet ist,
die Signaturberechnungen zu initialisieren.
-
Die
Funktion F1 wird bei jedem neuen, durch ein Zertifikat Ck signalisierten
Segment Sk aufgerufen. Die Funktion F1 ermöglicht es, die für die Signaturberechnung
erforderlichen Initialisierungen durchzuführen.
-
Bei
der mit „calc_digest" bezeichneten zweiten
Funktion F2 handelt es sich um eine Blockberechnungsfunktion, die
für jeden
beschriebenen Block aufgerufen wird, um die Berechnung von Segmentsignaturen
zu kumulieren.
-
Bei
der mit „end_digest" bezeichneten dritten Funktion
F3 handelt es sich um eine Segmentberechnungsfunktion, die nach
der kumulierten Signaturberechnung für den letzten Block aufgerufen
wird, um die Segmentsignaturberechnung zu beenden.
-
Bei
der mit „verif_digest" bezeichneten vierten
Funktion F4 schließlich
handelt es sich um eine Verifizierungsfunktion, die die Übereinstimmung
der berechneten Signatur mit der für das betrachtete Segment erwarteten
Signatur verifiziert.
-
Hierzu
entschlüsselt
die Verifizierungsfunktion F4 das Zertifikat Ck und vergleicht das
dadurch erhaltene Zertifikat mit dem berechneten Ergebnis. In der
Praxis ist der zu verwendende öffentliche
Schlüssel
in dem Zertifikat Ck angegeben. Die berechnete Signatur und das
Zertifikat werden der Verifizierungsfunktion F4 als Eingabeparameter
zugeführt.
Die Verifizierungsfunktion F4 kann als Eingabeparameter ebenfalls
eine Nummer annehmen, beispielsweise die Seriennummer des Endgeräts, in das
die zu authentifizierende Software eingebettet ist.
-
Die
Verifizierungsfunktion F4 gibt ein Ausgabesignal ab, das die folgenden
Werte annehmen kann:
- – „OK", d. h., korrekt authentifiziertes Segment,
- – „KO", d. h. nicht authentifiziertes
Segment,
- – „VOID" – entspricht einem durch ein
nachfolgend näher
beschriebenes Zertifikat gebildeten Segment,
- – „DONE", d. h., dass alle
Elemente erfolgreich authentifiziert worden sind.
-
Sobald
ein Segment S als „KO" erklärt wird, werden
alle weiteren vorgeschlagenen Segmente ebenfalls als „KO" erklärt.
-
In
der Praxis umfasst das Authentifizierungsverfahren die folgenden
Schritte:
- – i)
das erste Zertifikat C0 suchen, dessen Kennung gleich Null ist,
- – ii)
das zugeordnete Segment S0 authentifizieren,
- – iii)
die Initialisierungsfunktion F1 aufrufen und die Signaturberechnungen „calc_digest" gemäß 2 durchführen,
- – iv)
die die Signaturberechnung „init_digest" beendende Funktion
F3 aufrufen,
- – v)
die Verifizierungsfunktion F4 „verif_digest" aufrufen.
-
Die
Schritte iii) bis v) werden für
jedes Zertifikat CK bis zum letzten Zertifikat Ck = 1 wiederholt, wobei
die Zertifikate gemäß der oben
genannten Verkettungsrelation miteinander verbunden sind.
-
In
der Praxis stammt die Anforderung betreffend eine Authentifizierung
der Zertifikate C von einer Software, beispielsweise einer Software
des Herstellers der Empfangs- und
Decodiervorrichtung, die die Zertifikatssuchoperationen vornehmen
wird und anschließend
den Funktionen F1 bis F4 der Authentifizierungsbibliothek gemäß der gewählten Verkettungsrelation
die zu authentifizierenden Blöcke
vorstellt.
-
Die
Authentifizierung erfolgt somit in der von der Zertifikatsverkettung
auferlegten Reihenfolge.
-
Um
von der Authentifizierungsbibliothek authentifiziert zu werden,
muss eine Software mindestens ein Zertifikat enthalten. Der gesamte
löschbare oder
wiederbeschreibbare Bereich MR des Speichers muss zudem geprüft werden.
-
Das
erste Zertifikat C0 der Kette enthält somit die Größe des löschbaren
Bereichs MR des Flash-Speichers MF, um der Bibliothek die Prüfung des
Endes der Verarbeitung des letzten Segments zu ermöglichen,
das in der Praxis durch das letzte Zertifikat Ck = i der Kette erkennbar
ist. Es ist somit möglich
zu ermitteln, dass der gesamte Flash-Speicher tatsächlich verifiziert
worden ist.
-
Mit
Bezug auf 2 ist jedes Segment Sk einer
Datentabelle TD mit Informationen, die die Umsetzung des erfindungsgemäßen Verfahrens
ermöglichen,
zugeordnet.
-
Die
Tabelle TD umfasst zunächst
die dem Segment Ck zugeordnete Signatur Ck. Anfangsangaben CHAR
1 und Endangaben CHAR 2 lokalisieren die Signatur C. Die Angaben CHAR1
und CHAR2 sind beispielsweise von der Art einer Zeichenkette.
-
Zweitens
umfasst die Tabelle TD das Segment Sk. Anfangs- und Endangaben AD 1 und AD 2 lokalisieren
das zugeordnete Segment S. Die Angaben AD1 und AD2 sind beispielsweise
von der Art einer Adresse.
-
Drittens
umfasst die Tabelle TD einen Anzeiger TY, der angibt, dass das Segment
Sk von der Art eines Authentifizierungsplugins MEA ist.
-
Viertens
umfasst die Tabelle TD eine Bezeichnung ID, die einen dedizierten
und/oder an das Authentifizierungsplugin MEA gebundene Authentifizierungsalgorithmus
identifiziert.
-
In
der Praxis identifiziert die Kennung ID des Algorithmus den von
dem Authentifizierungsplugin zu verwendenden Authentifizierungsalgorithmus.
Dieser zu verwendende Algorithmus kann der Authentifizierungsmanager
GA der Authentifizierungsbibliothek oder ein Authentifizierungsplugin
MEA sein, das nachfolgend näher
erläutert
wird.
-
Mit
Bezug auf 3 sind die wesentlichen Schritte
des erfindungsgemäßen Authentifizierungsverfahrens
dargestellt.
-
Schritt 10 sieht
das Laden der i Segmente S vor, die durch die erfindungsgemäße Authentifizierungsvorrichtung
zu verarbeiten sind.
-
In
der Praxis tastet der Authentifizierungsmanager GA die zu authentifizierende
Datei ab und ermittelt die Bereiche der Segmente und Zertifikate, die
mit Hilfe der Angaben CHAR1 und CHAR2 sowie AD1 und AD2 zu verarbeiten
sind.
-
Gemäß Schritt 20 ist
vorgesehen, die Verkettung der i Segmente S gemäß der gewählten Verkettungsrelation zu
verifizieren.
-
Gemäß Schritt 30 ist
vorgesehen, die Vielzahl von Segmenten S sukzessiv und iterativ,
vorliegend das Segment SK, zu authentifizieren.
-
Der
Authentifizierungsmanager GA setzt den erfindungsgemäßen Authentifizierungsalgorithmus ein
und startet auf ein Segment Sk hin, das angibt, dass das Authentifizierungsplugin
MEA eingesetzt werden soll (Schritt 40), das Authentifizierungsplugin (Schritt 50),
um das von dem Authentifizierungsplugin MEA zu verarbeitende Segment
Sk zu authentifizieren.
-
Nach
Ausführung
(Schritt 60) des Authentifizierungsplugins MEA ist vorgesehen,
zum nächsten Segment
Sk = k + 1 zu übergehen
und die Authentifizierungsschleife bis zum letzten Segment Sk =
1 zu wiederholen (Schritt 70).
-
Wenn
er das Authentifizierungsplugin MEA startet, gibt der Authentifizierungsmanager
GA in der Praxis dem Authentifizierungsplugin die Verarbeitungsparameter
an, die ihm die Authentifizierung des zu verarbeitenden Segments
ermöglichen.
Diese Parameter umfassen insbesondere die Anfangs- und Endadressen
AD 1 und AD 2 des zu authentifizierenden Segments.
-
Vor
der Authentifizierung des Segments durch das Authentifizierungsplugin
ist das Authentifizierungsplugin MEA im Vorfeld zu authentifizieren.
-
Hierzu
authentifiziert der Authentifizierungsmanager, wenn das Zertifikat
Ck eine Information TY von der Art eines Authentifizierungsplugins
enthält, das
Authentifizierungsplugin mittels der Funktionen F1 bis F4 der Authentifizierungsbibliothek.
Danach speichert der Authentifizierungsmanager die Kennung ID dieses
derart identifizierten Authentifizierungsplugins MEA in der oben
genannten Datentabelle TD. Diese Kennung ID entspricht in der Tat
der Nummer des Algorithmus, der von dem Authentifizierungsplugin
verwendet werden kann.
-
Anschließend wird
das Authentifizierungsplugin später
auf eine Aufforderung durch den Authentifizierungsmanager hin verwendet,
um ein Segment zu authentifizieren, für das das Zertifikat eine Aussage
TY = „algo” angibt,
die der Nummer des Algorithmus des Authentifizierungsplugins entspricht.
-
Das
Authentifizierungsplugin wird somit als eine Authentifizierungsfunktion
zur Authentifizierung eines Segments anstelle der Funktionen der
Authentifizierungsbibliothek ausgeführt, wobei dieses Authentifizierungsplugin
selbst im Vorfeld durch die Authentifizierungsbibliothek authentifiziert
worden ist.
-
Mit
Bezug auf 4 interagiert der Authentifizierungsmanager
GA mit den Funktionen F1 bis F4 der in dem nicht wiederbeschreibbaren
Speicher MNR befindlichen Authentifizierungsbibliothek und mit dem
in dem wiederbeschreibbaren Speicher MR befindlichen Authentifizierungsplugin
MEA.
-
Das
Authentifizierungsplugin MEA umfasst eine Schnittstelle, der als
Eingabeparameter die von der Authentifizierungsbibliothek verwendeten
Parameter und ein den Typ TY der auszuführenden Funktion, nämlich einer
der vier Funktionen F1 bis F4 angebender Parameter zugeführt werden.
-
Am
Ausgang meldet die Verifizierungsfunktion F4 des Authentifizierungsplugins
MEA folgende Informationen zurück:
- – „KO" – entspricht der Authentifizierung
des von dem Authentifizierungsplugin MEA abhängigen Segments,
- – „VOID" – gibt an, dass das Authentifizierungsplugin
ein Zertifikat „VOID" ermittelt hat, das
somit von dem Authentifizierungsplugin MEA abhängig wird, und
- – „DONE" – gibt das Ende der erfolgreichen
Authentifizierung an.
-
In
der Praxis ist das für
ein nicht ausführbares
Segment zu verwendende Authentifizierungsplugin MEA anhand der in
dem zugeordneten Zertifikat angegebenen Algorithmusnummer TY angegeben.
-
Wenn
das Authentifizierungsplugin MEA nicht im Vorfeld durch die Authentifizierungsbibliothek
authentifiziert worden ist, führt
das Verfahren das Authentifizierungsplugin nicht aus, und die Verifizierungsfunktion
F4 „verif_digest" meldet eine Angabe
von der Art „KO" zurück.
-
Die
erfindungsgemäße Authentifizierung
von einem Authentifizierungsplugin ausgehend findet zahlreiche Anwendungen.
-
Die
erfindungsgemäße Authentifizierung
von einem Authentifizierungsplugin ausgehend findet eine Anwendung
in der Segmentauthentifizierung mit Füllelementen bzw. „padding".
-
Solche
Füllsegmente
sind beispielsweise mit einem festen Wert
auf einem, zwei oder
vier Bytes gefüllt.
Erfindungsgemäß ist somit
vorgesehen, statt eines Algorithmus von der Art eines Kondensations-
oder Hash-Algorithmus mit Nachteilen hinsichtlich der Verarbeitungszeit
zu verwenden, erfindungsgemäß ein Segment von
der Art eines Authentifizierungsplugins MEA zu erzeugen, das mit
einer Information betreffend den einzusetzenden Authentifizierungsalgorithmus
ausführbar
ist. Das Authentifizierungsplugin verifiziert somit mit Hilfe einer
einfachen Vergleichsschleife, dass das zu verarbeitende Segment
mit einem festen Wert gefüllt
ist.
-
In
diesem Fall trägt
das an das Füllsegment mit
einem festen Wert gebundene Zertifikat den Wert einer entsprechenden
Algorithmusnummer, beispielsweise „algo2". Die Authentifizierungsbibliothek verwendet
den Code, der in dem ausführbaren
Segment betreffend den Algorithmus „algo2" enthalten ist, um das Füllsegment
zu authentifizieren.
-
Das
erfindungsgemäße Verfahren
ermöglicht
es ebenfalls, die Authentifizierung einer in mehrere Segmente fragmentierten
Software auf die Authentifizierung eines einzigen Segments zu begrenzen.
-
Wenn
die Authentifizierung dieses einzigen Segments negativ ist, dann
ist die Authentifizierung der gesamten Software negativ; wenn sie
positiv ist, muss die restliche Software nicht authentifiziert werden.
-
Eine
Anwendung kann der Authentifizierung einer Liste von gerade in dem
zu authentifizierenden Segment enthaltenen Decodern entsprechen.
-
Die
Berechnungsfunktionen F1 bis F3 und Verifizierungsfunktion F4 authentifizieren
dann herkömmlicherweise
das die Liste enthaltende Segment, die Verifizierungsfunktion F4
vergewissert sich, dass die ihr als Parameter zugeführte Seriennummer zu
der Liste gehört.
Wenn dies der Fall ist, meldet die Funktion F4 den Wert „DONE" zurück. Wenn
das Endgerät
in der Liste nicht enthalten ist, meldet die Funktion F4 hingegen
den Wert „KO" zurück.
-
In
der Praxis inkrementiert das Authentifizierungsplugin MEA die ursprünglichen
in der Authentifizierungsbibliothek vorgesehenen Funktionalitäten, und
ermöglicht
es dabei insbesondere, herunterladbare Authentifizierungsplugins
zu erzeugen, die das Scheitern der Authentifizierung für eine Liste
von gewünschten
Decodern hervorrufen, öffentliche
Schlüssel
hinzuzufügen
usw.
-
Mit
dem Authentifizierungsplugin lässt
sich somit das Herunterladen von Softwares auf einer Plattform sichern.
Durch Identifizierung der heruntergeladenen Software beim Empfang
kann man sich gemäß dem erfindungsgemäßen Authentifizierungsverfahren
vergewissern, dass die heruntergeladene Software intakt ist, nicht
verseucht ist oder allgemeiner nicht bewusst in schädlicher
Absicht verändert worden
ist.