DE602004009639T2 - Verfahren oder Vorrichtung zur Authentifizierung digitaler Daten mittels eines Authentifizierungs-Plugins - Google Patents

Verfahren oder Vorrichtung zur Authentifizierung digitaler Daten mittels eines Authentifizierungs-Plugins Download PDF

Info

Publication number
DE602004009639T2
DE602004009639T2 DE602004009639T DE602004009639T DE602004009639T2 DE 602004009639 T2 DE602004009639 T2 DE 602004009639T2 DE 602004009639 T DE602004009639 T DE 602004009639T DE 602004009639 T DE602004009639 T DE 602004009639T DE 602004009639 T2 DE602004009639 T2 DE 602004009639T2
Authority
DE
Germany
Prior art keywords
authentication
segment
signature
segments
mea
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE602004009639T
Other languages
English (en)
Other versions
DE602004009639D1 (de
Inventor
Jean-Claude Sarfati
Herve Chau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=33427255&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE602004009639(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of DE602004009639D1 publication Critical patent/DE602004009639D1/de
Application granted granted Critical
Publication of DE602004009639T2 publication Critical patent/DE602004009639T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

  • 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.

Claims (11)

  1. Verfahren zur Authentifizierung digitaler Daten, die in eine Vielzahl von i Datensegmenten (S) aufgeteilt sind, die gemäß einer gewählten Verkettungsrelation miteinander verbunden sind, wobei jedem Datensegment (Sk) eine Authentifizierungssignatur (Ck) zugeordnet ist, dadurch gekennzeichnet, dass es die folgenden Schritte umfasst: – die Vielzahl von Segmenten (S) gemäß einem gewählten Authentifizierungsalgorithmus authentifizieren, der geeignet ist, verkettet und iterativ einen Signaturwert für jedes sukzessive Segment (Sk) zu berechnen und den so berechneten Wert der Signatur (Ck) mit der zugeordneten Signatur zu vergleichen, wobei die Authentifizierung des darauf folgenden Segments (Sk + 1) bei einem positiven Vergleich für das aktuelle Segment (Sk) eingesetzt wird und das erste Segment (S0) von mindestens einer Funktion einer in einem nicht wiederbeschreibbaren Speicher (MNR) enthaltenen Authentifizierungsbibliothek aus authentifiziert wird, – mindestens ein ein ausführbares Authentifizierungsplugin (MEA) 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 gemäß der Verkettungsrelation verketteten Segmenten hin jedes sukzessive Segment (Sk) authentifizieren und bei einem das Authentifizierungsplugin (MEA) erfordernden Segment das Authentifizierungsplugin (MEA) ausführen, um das Segment (Sk) zu authentifizieren, das somit von dem Authentifizierungsplugin (MEA) abhängig wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jedem Segment (Sk) eine Datentabelle (TDk) zugeordnet ist, die eine zugeordnete Signatur (Ck), das Segment lokalisierende Anfangs- und Endadressen (AD1, AD2), die zugeordnete Signatur lokalisierende Anfangs- und Endangaben (CHAR1, CHAR2), einen Anzeiger TY, der angibt, dass das Segment (Sk) ein Segment von der Art eines Authentifizierungsplugins ist, und eine einen Algorithmus zur Authentifizierungserweiterung identifizierende Bezeichnung ID umfasst.
  3. Verfahren nach Anspruch 1 oder nach Anspruch 2, dadurch gekennzeichnet, dass die Vielzahl von Datensegmenten sich aus der Fragmentierung einer Datendatei ergibt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass mindestens ein Segment ferner eine Angabe bezüglich des Authentifizierungsextensionsalgorithmus umfasst.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Verkettungsrelation derart ist, dass die Signatur des aktuellen Segments die Kennung der Signatur des darauf folgenden Segments umfasst.
  6. 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 Authentifizierungssignatur zugeordnet ist, dadurch gekennzeichnet, dass die Vorrichtung Folgendes umfasst: – Authentifizierungsmittel (GA, F1, F2, F3, F4), 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 (MNR) enthaltenen Authentifizierungsbibliothek aus authentifiziert wird, – Verarbeitungsmittel, die geeignet sind, mindestens ein ein ausführbares Authentifizierungsplugin (MEA) bildendes Segment vorzusehen, das in einem wiederbeschreibbaren Speicher (MR) 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 (Sk) zu authentifizieren und bei einem das Authentifizierungsplugin (MEA) erfordernden Segment das Authentifizierungsplugin (MEA) auszuführen, um das Segment zu authentifizieren, das somit von dem Authentifizierungsplugin abhängig wird.
  7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, dass Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jedem Segment eine Datentabelle (TD) zugeordnet ist, die eine zugeordnete Signatur (Ck), das Segment (Sk) lokalisierende Anfangs- und Endadressen, die zugeordnete Signatur lokalisierende Anfangs- und Endangaben, einen Anzeiger (TY), der angibt, dass das Segment ein Segment von der Art eines Authentifizierungsplugins ist, und eine einen Algorithmus zur Authentifizierungserweiterung identifizierende Bezeichnung umfasst.
  8. Vorrichtung nach Anspruch 6 oder nach Anspruch 7, dadurch gekennzeichnet, dass die Vielzahl von Datensegmenten sich aus der Fragmentierung einer Datendatei ergibt.
  9. Vorrichtung nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass die Verkettungsrelation derart ist, dass die Signatur des aktuellen Segments die Kennung der Signatur des darauf folgenden Segments umfasst.
  10. 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, dadurch gekennzeichnet, dass der Informationsträger Anweisungen eines Computerprogramms aufweist, die die Umsetzung des Authentifizierungsverfahrens nach einem der Ansprüche 1 bis 5 ermöglichen, wenn dieses Programm durch ein Computersystem geladen und ausgeführt wird.
  11. Auf einem Informationsträger gespeichertes Computerprogramm, wobei das Programm Anweisungen aufweist, die die Umsetzung des Authentifizierungsverfahrens nach einem der Ansprüche 1 bis 5 ermöglichen, wenn dieses Programm durch ein Computersystem geladen und ausgeführt wird.
DE602004009639T 2003-07-02 2004-07-01 Verfahren oder Vorrichtung zur Authentifizierung digitaler Daten mittels eines Authentifizierungs-Plugins Expired - Lifetime DE602004009639T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03291625 2003-07-02
EP03291625A EP1494460A1 (de) 2003-07-02 2003-07-02 Verfahren oder Vorrichtung zur Authentifizierung digitaler Daten mittels eines Authentifizierungs-Plugins

Publications (2)

Publication Number Publication Date
DE602004009639D1 DE602004009639D1 (de) 2007-12-06
DE602004009639T2 true DE602004009639T2 (de) 2008-08-14

Family

ID=33427255

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004009639T Expired - Lifetime DE602004009639T2 (de) 2003-07-02 2004-07-01 Verfahren oder Vorrichtung zur Authentifizierung digitaler Daten mittels eines Authentifizierungs-Plugins

Country Status (10)

Country Link
US (1) US7353386B2 (de)
EP (1) EP1494460A1 (de)
JP (1) JP4647942B2 (de)
KR (1) KR101055946B1 (de)
CN (1) CN1578217B (de)
AU (1) AU2004202872B2 (de)
DE (1) DE602004009639T2 (de)
ES (1) ES2295800T3 (de)
IL (1) IL162799A (de)
MX (1) MXPA04006452A (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2259738C (en) 1999-01-20 2012-10-16 Certicom Corp. A resilient cryptographic scheme
US7865722B2 (en) * 2003-07-22 2011-01-04 Agency For Science, Technology And Research Method of identifying an object and a tag carrying identification information
JP4527640B2 (ja) * 2005-09-15 2010-08-18 株式会社ソニー・コンピュータエンタテインメント データ読出装置
EP1983436B1 (de) * 2007-04-20 2010-10-06 St Microelectronics S.A. Kontrolle der Integrität eines prozessorexternen Speichers
US8707454B1 (en) 2012-07-16 2014-04-22 Wickr Inc. Multi party messaging
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
US9584493B1 (en) 2015-12-18 2017-02-28 Wickr Inc. Decentralized authoritative messaging
US10536277B1 (en) 2015-12-22 2020-01-14 Amazon Technologies, Inc. Contribution signatures for tagging
US10291607B1 (en) 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
US9591479B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure telecommunications
US9602477B1 (en) 2016-04-14 2017-03-21 Wickr Inc. Secure file transfer
US12041449B2 (en) * 2020-04-10 2024-07-16 Qualcomm Incorporated Method and apparatus for verifying mobile device communications

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787172A (en) * 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
US6367013B1 (en) * 1995-01-17 2002-04-02 Eoriginal Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US6009176A (en) * 1997-02-13 1999-12-28 International Business Machines Corporation How to sign digital streams
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US7174452B2 (en) * 2001-01-24 2007-02-06 Broadcom Corporation Method for processing multiple security policies applied to a data packet structure
FR2796788B1 (fr) * 1999-07-20 2002-02-08 France Telecom Procede de realisation d'une transaction electronique utilisant plusieurs signatures
FR2797548A1 (fr) * 2000-01-24 2001-02-16 Thomson Multimedia Sa Procede de transmission de donnees sur un canal de diffusion
US6918036B1 (en) * 2000-06-30 2005-07-12 Intel Corporation Protected platform identity for digital signing
WO2002021413A2 (en) * 2000-09-05 2002-03-14 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US6769060B1 (en) * 2000-10-25 2004-07-27 Ericsson Inc. Method of bilateral identity authentication
US20020141593A1 (en) * 2000-12-11 2002-10-03 Kurn David Michael Multiple cryptographic key linking scheme on a computer system
JP3819729B2 (ja) * 2001-04-20 2006-09-13 株式会社エヌ・ティ・ティ・ドコモ データ安全化通信装置及びその方法
US7222187B2 (en) * 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
US7203753B2 (en) * 2001-07-31 2007-04-10 Sun Microsystems, Inc. Propagating and updating trust relationships in distributed peer-to-peer networks
US20030033524A1 (en) * 2001-08-13 2003-02-13 Luu Tran Client aware authentication in a wireless portal system
US7069318B2 (en) * 2002-03-27 2006-06-27 International Business Machines Corporation Content tracking in transient network communities
US7707120B2 (en) * 2002-04-17 2010-04-27 Visa International Service Association Mobile account authentication service
US7386877B2 (en) * 2002-07-12 2008-06-10 Sun Microsystems, Inc. Specifying a repository for an authentication token in a distributed computing system
US7213047B2 (en) * 2002-10-31 2007-05-01 Sun Microsystems, Inc. Peer trust evaluation using mobile agents in peer-to-peer networks
US7565533B2 (en) * 2002-11-05 2009-07-21 Sun Microsystems, Inc. Systems and methods for providing object integrity and dynamic permission grants
US7441038B2 (en) * 2003-01-28 2008-10-21 At&T Intellectual Property I, L.P. Coordination platform and method for dynamic aggregation of web services
US7533389B2 (en) * 2003-06-20 2009-05-12 Sun Microsystems, Inc. Dynamic loading of remote classes

Also Published As

Publication number Publication date
US7353386B2 (en) 2008-04-01
EP1494460A1 (de) 2005-01-05
KR101055946B1 (ko) 2011-08-09
AU2004202872B2 (en) 2009-07-02
DE602004009639D1 (de) 2007-12-06
US20050125659A1 (en) 2005-06-09
CN1578217B (zh) 2010-04-28
IL162799A (en) 2009-11-18
CN1578217A (zh) 2005-02-09
JP4647942B2 (ja) 2011-03-09
KR20050004097A (ko) 2005-01-12
IL162799A0 (en) 2005-11-20
MXPA04006452A (es) 2005-10-26
AU2004202872A1 (en) 2005-01-20
ES2295800T3 (es) 2008-04-16
JP2005027322A (ja) 2005-01-27

Similar Documents

Publication Publication Date Title
DE602004009639T2 (de) Verfahren oder Vorrichtung zur Authentifizierung digitaler Daten mittels eines Authentifizierungs-Plugins
DE69717063T2 (de) Verfahren und System zur sicheren Datenverarbeitung
DE60126236T2 (de) Verfahren zum Ermöglichen der Prüfung und Fehlerbeseitigung von Software an einem mobilen Kommunikationsgerät in einem sicheren Umfeld
DE102015209116A1 (de) Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE102013108021A1 (de) Verfahren zum selektiven Software-Rollback
DE102013105042A1 (de) Sicheres Flashprogrammieren eines sekundären Prozessors
EP2515499A1 (de) Verfahren zum Erzeugen eines kryptographischen Schlüssels für ein geschütztes digitales Datenobjekt auf Basis von aktuellen Komponenten eines Rechners
DE102016221108A1 (de) Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs
DE102012109619A1 (de) Verfahren zum Bereitstellen einer digitalen Signatur zum Sichern einer Flash-Programmierfunktion
DE112021005478T5 (de) Verfahren zum schutz eines edge-gerät-vertrauenswerts
DE112017004160B4 (de) Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung
DE102010002472A1 (de) Verfahren zum Verifizieren eines Speicherblocks eines nicht-flüchtigen Speichers
EP3811260B1 (de) Kryptografiemodul und betriebsverfahren hierfür
DE102010038179B4 (de) Individuelle Aktualisierung von Computerprogrammen
DE102021104326A1 (de) Sichere speicherverbesserungen für authentifizierungssysteme
WO2022008201A1 (de) Verfahren zur erweiterten validierung eines containerabbilds
DE102022212965A1 (de) Sicheres kraftfahrzeugsystem
DE102018211139A1 (de) Steuergerät sowie Verfahren zu dessen Betrieb
DE102010004786A1 (de) Verfahren zum rechnergestützten Bereitstellen einer Entwicklungsumgebung zur Implementierung von Sicherheitsanwendungen in einer Fahrzeug-Architektur
EP3248136B1 (de) Verfahren zum betreiben einer computereinheit mit einer sicheren laufzeitumgebung sowie eine solche computereinheit
DE102005046696A1 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
CN113987455A (zh) 一种基于bs架构的工控系统多因素认证登录方法及系统
DE102020206039A1 (de) Erstellen einer Container-Instanz
DE102008008969A1 (de) Bordnetz-System eines Kraftfahrzeugs mit einer Authentifizierungs-Vorrichtung

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: SARFATI, JEAN-CLAUDE, 92100 BOULOGNE-BILLANCOU, FR

Inventor name: CHAU, HERVE, 92100 BOULOGNE-BILLANCOURT, FR

8364 No opposition during term of opposition