Abstract:
Die Erfindung schafft ein Verfahren zum Einrichten eines Teilnehmeridenti¬ tätsmoduls (SIM) zur Vereinbarung von ein oder mehreren Austausch- Schlüsseln (K), zwischen einem Teilnehmeridentitätsmodul (SIM) und einem Provisionierungs-Server (OTA S). Die ein oder mehreren Austausch- Schlüssel (K) werden aus Schlüssels des Provisionierungs-Server und des Teilnehmeridentitätsmoduls auf einem Produktions-Server (Prod S) erzeugt und in das Teilnehmeridentitätsmodul (SIM) übertragen und gespeichert, so dass das Teilnehmeridentitätsmodul (SIM) insbesondere in einen Zustand versetzt wird, als hätte es die Austausch-Schlüssel (K) selbst erzeugt. Bei ei¬ nem Verfahren zur Vereinbarung von ein oder mehreren Austausch- Schlüsseln (K), zwischen einem Teilnehmeridentitätsmodul (SIM) und einem Provisionierungs-Server (OTA S), sendet das Teilnehmeridentitätsmodul seinen öffentlichen Schlüssel an den Provisionierungs-Server, der daraufhin die Austausch-Schlüssel erzeugt.
Abstract:
Die Erfindung schafft eine Prozessor-Einrichtung mit einer darauf imple mentierten ausführbaren Implementierung eines kryptographischen Algorithmus (AES, DES), der eingerichtet ist, unter Verwendung eines geheimen Schlüssels K aus einem Eingabetext einen Ausgabetext zu erzeugen, wobei die Implementierung des Algorithmus: - einen schlüsselabhängigen Rechen schritt S umf asst, welcher eine Schlüssel- Verknüpfung von vom Eingangstext direkt oder indirekt abgeleiteten Eingabewerten x mit vom Schlüssel direkt oder indirekt abgeleiteten Schlüsselwerten SubK umf asst; und - der schlüsselabhängige Rechenschritt S durch eine Tabelle dargestellt ist, welche mit einer Eingangsmaskierung und/ oder einer Ausgangsmaskierung zu einer maskierten Tabelle TabSsubK maskiert ist. Die Prozessor-Einrichtung umfasst eine Schlüssel- Aktualisierungs-Einrichtung, die dazu eingerichtet ist, am maskierten Rechenschritt S ein Schlüssel- Aktualisierungs-Verfahren vom abgeleiteten Schlüsselwert SubK auf einen neuen abgeleiteten Schlüsselwert SubKneu durchzuführen, wobei bei dem Schlüssel- Aktualisierungs- Verfahren: - unter Verwendung des abgeleiteten Schlüssel werts SubK, des neuen abgeleiteten Schlüsselwerts SubKneu und der verwendeten Eingangsund/oder Ausgangsmaskierung berechnete Schlüssel Wechseldaten an die Prozessor-Einrichtung, insbesondere an die Schlüssel- Aktualisierungs- Einrichtung, bereitgestellt werden; und - in der Prozessor-Einrichtung, insbesondere in der Schlüssel- Aktualisierungs-Einrichtung, mittels der Schlüs- selwechseldaten eine neue maskierte Tabellen TabSxneu generiert wird, die dazu eingerichtet ist, mittels der neuen maskierten Tabelle TabSicneu den schlüsselabhängigen Rechenschritt S für den neuen abgeleiteten Schlüsselwert SubKneu zu berechnen.
Abstract:
Es werden Verfahren zum einen zum Testen von und zum anderen zum Härten von Softwareapplikationen zum Durchführen von digitalen Transaktionen bereitgestellt, die eine "White Box"-Implementierung eines kryptographischen Algorithmus umfassen. Das Verfahren zum Testen einer "White Box"-Implementierung eines kryptographischen Algorithmus, die mittels eines geheimen Schlüssels aus einem Plaintext einen Ciphertext erzeugt und auf einem Prozessor mit wenigstens einem Register in Form von Maschinenbefehlen vorliegt, umfasst die folgenden Schritte: (a) das Einspeisen eines Plaintexts einer Vielzahl von Plaintexten in die "White Box"- Implementierung; (b) das schrittweise Auslesen und Abspeichern des Inhalts des wenigstens einen Registers des Prozessors beim schrittweise Abarbeiten der Maschinenbefehle der "White Box"-Implementierung, wobei beim schrittweise Abarbeiten der Maschinenbefehle der "White Box"- Implementierung Zwischenergebnisse erzeugt werden können; (c) das N-malige Wiederholen der Schritte (a) und (b) mit einem weiteren Plaintext der Vielzahl von Plaintexten; und (d) das statistische Auswerten der Inhalte der Register und der Plaintexte, der Zwischenergebnisse und/ oder der aus den Plaintexten erzeugten Ciphertexte, indem nach Korrelationen zwischen den Inhalten der Register und den Plaintexten, den Zwischenergebnissen und/ oder den Ciphertexten gesucht wird, um den geheimen Schlüssel zu ermitteln.
Abstract:
Die Erfindung schafft eine Prozessor-Einrichtung mit einer darauf implementierten ausführbaren mit einer Funktion f White Box maskierten Implementierung eines kryptographischen Algorithmus. Die Implementierung umfasst einen implementierten Rechenschritt S, durch den Eingabewerte x auf Ausgabewerte s = S[x] abgebildet werden, und der mittels einer invertierbaren Funktion f zu einem White Box maskierten Rechenschritt T´ maskiert ist. Als Abbildung f ist eine Kombination (f = (c1, c2,... )*A) aus einer affinen Abbildung A mit einer Eingangsbreite BA und einer Anzahl von einer oder mehreren invertierbaren Abbildungen c1, c2,... mit je einer Eingangsbreite Bc1, Bc2,... vorgesehen, wobei BA = Bc1 + Bc2 +.... Durch die Abbildung f werden insgesamt Ausgabewerte w erzeugt. Die affine Abbildung A wird durch ein auf die invertierbaren Abbildungen c1, c2,... abgestimmtes Konstruktionsverfahren konstruiert, wobei die affine Abbildung A derart ausgewählt oder gebildet ist, dass bei festgehaltenem Eingabewert xi - durch Anwenden von A auf s = S[xi] mit allen möglichen Verschleierungswerten y alle möglichen Ausgabewert-Teile a1 oder/ und alle möglichen Ausgabewert-Teile a2,... der affinen Abbildung A erzeugt werden, und zwar für mindestens einen einzelnen Ausgabewert-Teil a1, a2,... oder für jeden einzelnen Ausgabewert-Teil a1, a2,....
Abstract:
Die Erfindung betrifft ein Verfahren und ein System zum Überprüfen, ob Programmanweisungen (13) von einem Endgerät (1) ausgeführt worden sind. Dazu fordert das Endgerät Programmanweisungen (13) an, wobei die Programmanweisungen (13) in ausführbarer Form in einer vertrauenswürdigen Instanz (3), insbesondere einer Chipkarte, abgelegt sind. Anschließend werden die Programmanweisungen (13) in der vertrauenswürdigen Instanz (3) derart variabel modifiziert, dass die modifizierten Programmanweisungen bei jeder Ausführung des Verfahrens variieren. Durch Ausführung der Anweisungen im Endgerät (1) wird ein Prüfwert (9a) erhalten, der wiederum an die vertrauenswürdige Instanz (3) übertragen wird und in der vertrauenswürdigen Instanz verifiziert wird.
Abstract:
Die Erfindung schafft eine Prozessor-Einrichtung mit einer darauf implementierten ausführbaren White Box maskierten Implementierung eines kryptographischen Algorithmus. Die White Box Maskierung umfasst eine affine Abbildung A, die so gestaltet ist, dass jedes Bit in den Ausgabewerten w der affinen Abbildung A von mindestens einem Bit aus den Verschleierungswerten y abhängt, wodurch erreicht wird, dass die Ausgabewerte w der affinen Abbildung A statistisch ausgeglichen sind.
Abstract:
Die Erfindung schafft eine Prozessor-Einrichtung mit einer darauf implementierten ausführbaren mit einer Funktion f White Box maskierten Implementierung eines kryptographischen Algorithmus. Die Implementierung umfasst einen implementierten Rechenschritt S, durch den Eingabewerte x auf Ausgabewerte s = S[x] abgebildet werden, und der mittels einer invertierbaren Funktion f zu einem White Box maskierten Rechenschritt T' maskiert ist. Als Abbildung f ist eine Kombination ( f = (c1, c2,... )*A) aus einer affinen Abbildung A mit einer Eingangsbreite BA und einer Anzahl von einer oder mehreren invertierbaren Abbildungen c1, c2,... mit je einer Eingangsbreite Bc1, Bc2,... vorgesehen, wobei BA = Bc1 + Bc2 +.... Durch die Abbildung f werden insgesamt Ausgabewerte w erzeugt. Aus Ausgabewerten a der affinen Abbildung A werden Mehrzahlen von Mengen Mxi, i = 1,2,... = Mx11, Mx12,... Mx21, Mx22,... gebildet. Aus Ausgabewerten W der invertierbaren Abbildungen c1, c2 werden Mengen Lxi, i = 1,2,... = Lx11, Lx12,... Lx21, Lx22,... gebildet. Weiter werden Mengen M1 = {Mx11, Mx21, Mx31...}, M2 = {Mx12, Mx22, Mx32...}... und L1 = {Lx11, Lx21, Lx31...}, L2 = {Lx12, Lx22, Lx32...}... gebildet. Die ein oder mehreren invertierbaren Abbildungen c1, c2,... werden derart ausgewählt oder gebildet, dass die Mengen M1, M2... auf die Mengen L1, L2... abgebildet werden.
Abstract:
Bei Verfahren zum ausspähungsgeschützten Bestimmen des modularen Inversen b eines Wertes a zum Modul n für eine kryptographische Anwendung werden ein Hilfswert β und ein Hilfsmodul δ zumindest in Abhängigkeit von dem Wert a , dem Modul n sowie mindestens einem Maskierungsparameter r bestimmt, ein Hilfsinverses β' wird als modulares Inverses des Hilfswertes β zum Hilfsmodul δ bestimmt, und das modulare Inverse b wird zumindest in Abhängigkeit von dem Hilfsinversen β', dem mindestens einen Maskierungsparameter r , und dem Hilfswert β und/oder dem Hilfsmodul δ bestimmt. Ein Computerprogrammprodukt und ein tragbarer Datenträger weisen entsprechende Merkmale auf. Die Erfindung stellt ein ausspähungsgesichertes Verfahren zur modularen Inversion bereit, das sich für sicherheitskritische Anwendungen wie z.B. kryptographische Berechnungen auf einem tragbaren Datenträger eignet.
Abstract:
Die Erfindung schafft eine Prozessor-Einrichtung mit einer darauf implementierten ausführbaren Implementierung des kryptographischen Algorithmus DES, mit einer XOR-Verknüpfungs-Operation am Rundenausgang und einem implementierten Rechenschritt S, eingerichtet, um expandierte rechte Eingangswerte r' als Rechenschritt-Eingabewerte x = r' auf Ausgabewerte s = S[x] abzubilden. Der Rechenschritt S ist als schlüsselabhängiger Rechenschritt implementiert, der, zusätzlich zu dem Rechenschritt S, weiter eine Schlüssel-Verknüpfungs-Operation zur Verknüpfung von Eingangs werten der Runde mit vom Schlüssel direkt oder indirekt abgeleiteten Schlüsselwerten der Runde umfasst. Der Rechenschritt S ist genauer als kombinierter schlüsselabhängiger Rechenschritt T implementiert ist, der weiter umfasst: - eine der Runde zugehörige Permutations-Operation P, eingerichtet auf Ausgabe werte s des Rechenschritts S angewendet zu werden, und die Ausgabewerte s des Rechenschritt in permutierter Form an die XOR-Verknüpfungs-Operation am Rundenausgang bereitzustellen.
Abstract:
Es wird ein Verfahren zum Betreiben einer Computereinheit (20) mit einem Prozessor (24), auf dem eine normale Laufzeitumgebung (30) und eine gesicherte Laufzeitumgebung (40) implementiert sind, und einer Speichereinheit (26) zum Speichern von zu speichernden Daten in einer Datei bereitgestellt. Dabei umfasst das Verfahren die folgenden Schritte: das Erstellen einer schlüsselbasierten Prüffunktion einer Verknüpfung der zu speichernden Daten mit einem Datei-Identifier; und das Speichern der zu speichernden Daten zusammen mit der erstellten Prüffunktion unter einem Dateinamen in der Speichereinheit (26).