[go: up one dir, main page]

DE69517737T2 - Verfahren zum Fernprüfen der Übereinstimmung von Software - Google Patents

Verfahren zum Fernprüfen der Übereinstimmung von Software

Info

Publication number
DE69517737T2
DE69517737T2 DE1995617737 DE69517737T DE69517737T2 DE 69517737 T2 DE69517737 T2 DE 69517737T2 DE 1995617737 DE1995617737 DE 1995617737 DE 69517737 T DE69517737 T DE 69517737T DE 69517737 T2 DE69517737 T2 DE 69517737T2
Authority
DE
Germany
Prior art keywords
file
central
program
result
software
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 - Fee Related
Application number
DE1995617737
Other languages
English (en)
Other versions
DE69517737D1 (de
Inventor
David Arditti
Mireille Campana
Alain Scheiwe
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.)
Orange SA
Original Assignee
France Telecom SA
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
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of DE69517737D1 publication Critical patent/DE69517737D1/de
Application granted granted Critical
Publication of DE69517737T2 publication Critical patent/DE69517737T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Description

    Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Verfahren zum Fernprüfen der Übereinstimmung wenigstens eines in einem Speicher einer an einem entfernten öffentlichen Ort befindlichen Anlage installierten Programms mit einer Basisversion dieses selben Programms, die in einem Speicher einer zentralen Anlage installiert ist.
  • Stand der Technik
  • Auf dem Gebiet der Dienstleitungen, die an einem öffentlichen Ort angeboten werden können, verwenden bestimmte Einrichtungen wie öffentliche Telefone bzw. Wertkartentelefone oder Bankomaten in Speichern installierte Programme, wobei es möglich sein muss, die Dienstleistungen in Abhängigkeit von neuen Bedürfnissen der Benutzer weiterzuentwickeln. Dies erfordert ein periodisches Installieren neuer Programmversionen, um diesen Bedürfnissen Rechnung zu tragen.
  • Diese Programme sind, wenn in Festwertspeichern dieser externen Anlagen installiert, einer Gefahr ausgesetzt: die Speicher können gestohlen und dann mit abgeänderten Programmen wieder eingesetzt werden.
  • Man muss also fähig sein, die Übereinstimmung dieser Programmversionen mit Bezugsversionen, die in einem mit diesen externen Anlagen verbundenen zentralen Server gespeichert sind, aus der Ferne überprüfen zu können.
  • Die Dokumente aus dem Stand der Technik beschreiben Verfahren, die ermöglichen, aus der Ferne zu überprüfen, ob die in diesen externen Anlagen installierten Programme noch vorhanden sind, d. h. festzustellen, dass keine Störung oder Löschung oder Veränderung dieser Programme stattgefunden hat. Die externe Anlage sendet eine Information zurück, die das Resultat einer Berechnung ist und die, wenn sich das Programm nicht verändert, immer dieselbe bleibt.
  • Ein zentraler Server kontrolliert also wahrend der Gültigkeitsdauer dieser Programme in regelmäßigen Abfragezyklen systematisch die Übereinstimmung jedes in jeder der externen Anlagen installierten Programms.
  • Gegenwärtig existiert dieser Prüfungstyp partiell für die Wertkartentelefone, aber er bezieht sich nur auf den Produktcode (Typ des Wertkartentelefons) und den Status (Programm vorhanden, nicht vorhanden oder fehlerhaft).
  • Der Hauptnachteil eines solchen Prüfsystems, bei dem ein festes Feld wie der Produktcode und der Status des Wertkartentelefons an den Server gesendet werden, ist die Tatsache, dass die durch das Wertkartentelefon bei jedem Abfragezyklus gesendeten Informationen bzw. Daten immer identisch sind und daher ein einfaches Abhören der Übertragungsleitung zwischen dem Wertkartentelefon und dem Server ermöglicht, diese Daten zu erhalten, was einem Betrüger ermöglicht, ein anders Programm als das durch den Server ferngeladene Programm zu installieren und anschließend bei den Kontrollabfragen des Servers gültige Kontrolldaten zu senden.
  • Um einen Schutz gegen jede betrügerische Aktivität zu ermöglichen, hat die Erfindung ein Verfahren zur Fernprüfung wenigstens eines Programms zum Gegenstand, wobei dieses Verfahren darin besteht, die durch eine externe Anlage einer zentralen Anlage oder "Server" gesendeten Daten bei jeder Kontrolle anders sind, und dies für ein und dieselbe Programmversion.
  • Darstellung der Erfindung
  • Die vorliegende Erfindung betrifft ein Verfahren zum Fernprüfen der Übereinstimmung wenigstens eines in einem Speicher einer an einem entfernten öffentlichen Ort befindlichen Anlage installierten Programms mit einer Basisversion dieses selben Programms, die in einem Speicher einer zentralen Anlage installiert
  • ist, die durch ein Kommunikationsnetz mit jeder externen Anlage kommunizieren kann, dadurch gekennzeichnet, dass es die folgenden Schritte umfasst:
  • - einen Schritt zum Senden einer Zufallszahl durch die zentrale Anlage an diese externe Anlage, in dem diese Zahl dem Programm gegenübergestellt wird, um eine Datei zu erhalten, in dem eine Funktion auf diese erste Datei angewendet wird, um ein erstes Resultat zu erzielen, und in dem dieses erste Resultat an die zentrale Anlage übertragen wird;
  • - einen Schritt zum Empfangen dieses ersten Resultats durch die zentrale Anlage;
  • - einen Schritt, um die Zufallszahl dem Bezugsprogramm gegenüberzustellen, eine zweite Datei zu erstellen, die Funktion auf diese zweite Datei anzuwenden und ein zweites Resultat zu erzielen;
  • - einen Schritt, um die Übereinstimmung des Programms mit dem Bezugsprogramm durch die zentrale Anlage zu überprüfen, indem der Vergleich der beiden Resultate durchgeführt wird.
  • Aufgrund der Nichtreproduzierbarkeit des von der externen Anlage an die zentrale Anlage gesendeten Resultats von Mal zu Mal, ermöglicht das erfindungsgemäße Verfahren, sich gegen jegliche betrügerische Aktivität zu schützen.
  • Vorteilhafterweise befindet sich die Zufallszahl am Anfang der ersten Datei und am, Anfang der zweiten Datei.
  • Vorteilhafterweise werden die verschiedenen Schritte dieses Verfahrens periodisch in regelmäßigen Abfragezyklen durchgeführt.
  • Bei einer vorteilhaften Realisierung dient das Telefonnetz als Kommunikationsnetz.
  • Kurzbeschreibung der Zeichnungen
  • - Die Fig. 1 zeigt ein System mit externen Anlagen, die durch ein Kommunikationsnetz mit einer zentralen Anlage verbunden sind;
  • - die Fig. 2 zeigt das erfindungsgemäße Verfahren.
  • Detaillierte Darstellung von Ausführungsarten
  • In der Fig. 1 sieht man die zentrale Anlage 10, auch Server genannt, und externe Anlagen 11. Der Server 10 ist mit diesen externen Anlagen 11 durch ein Kommunikationsnetz 12 verbunden, z. B. durch das Telefonnetz.
  • Der Server umfasst Berechnungseinrichtungen M1 einer nicht reproduzierbaren Zahl A und Berechnungseinrichtungen M2 einer Kondensationsfunktion f, die eine Informatik- Funktion ist, welche einer Felddatei binärer Elemente von bestimmter Länge zugeordnet ist. Er enthält auch eine Bezugskopie des Programms L1, das man kontrollieren möchte, nämlich L2. Generell ist all dies ein Teil der Software des Servers.
  • Jede externe Anlage enthält in ihrem Speicher die gleichen Einrichtungen M2 sowie ein Programm L1, dessen Gültigkeit verifiziert werden muss.
  • Bei dem erfindungsgemäßen Verfahren:
  • - sendet die zentrale Anlage 10 eine nicht reproduzierbare Zahl A (Schritt 20);
  • - empfängt die externe Anlage 11 diese Zahl A (Schritt 21),
  • - stellt die externe Anlage 11 diese empfangene Zahl A dem Programm L1 gegenüber, dessen Gültigkeit die zentrale Anlage 10 verifizieren will, und erhält eine Datei F1 (Schritt 22);
  • - wendet die externe Anlage 11 auf die Datei F1 eine Kondensationsfunktion f an und erhält ein Resultat R1 (Schritt 23);
  • - überträgt die externe Anlage 11 das Resultat R1 an die zentrale Anlage 10 (Schritt 24);
  • - stellt die zentrale Anlage die Zahl A dem Programm L2 (dem Programm L1 entsprechende Bezugskopie) gegenüber und erhält eine Datei F2 (Schritt 25);
  • - wendet die zentrale Anlage 10' auf die Datei F2 die Funktion f an und erhält ein Resultat R2 (Schritt 26);
  • - empfängt die zentrale Anlage 10 das Resultat R1 (Schritt 27);
  • - vergleicht die zentrale Anlage 10 R1 und R2 (Schritt 28); wenn diese Resultate identisch sind, wird bestätigt, dass das Programm L1 der Bezugsversion L2 entspricht.
  • Die Datei F1 ist eine Datenfolge (Folge aus Nullen und Einsen, präsent in einer bestimmten Speicherzone, deren Größe a priori nicht bekannt ist).
  • Die Kondensationsfunktion f ermöglicht, ein Resultat R zu erhalten, das ein Feld von kurzer Länge ist, während das Programm mehrere hundert Kilobytes umfassen kann. Diese Funktion f ist derart, dass die geringste Veränderung in einem Programm sich durch eine Veränderung beim Resultat ausdrückt. Diese Kondensationsfunktion t ist eine Funktion, die einer Mitteilung oder einer Datei von beliebiger Länge ein Feld R (Gruppe von r Bits) von beschränkter fester Länge zuordnet (generell 64 oder 128 Bits), mit einer starken Abhängigkeit von R gegenüber der Mitteilung oder der Datei. Diese starke Abhängigkeit bedeutet, dass jede noch so kleine Änderung der Mitteilung oder der Datei (z. B. das Austauschen eines Bits oder das Entfernen eines Bits) eine vollständige Veränderung des Resultats R zur Folge hat. Außerdem ist die Funktion f derart, dass es unmöglich ist, zwei verschiedene Dateien zu finden, die dasselbe Kondensat haben (unmöglich im Sinne von "nachrichtentheoretisch" unmöglich").
  • Generell arbeiten die Funktionen f folgendermaßen: man teilt F auf in Blöcke M1 Mp von bestimmter Länge, z. B. 64 Bits.
  • Man benutzt dankt eine Funktion B, die zwei Blöcken von 64 Bits einen Block mit 64 Bits zuordnet. Man fasst zunächst M1 und M2 zusammen, um ein Kondensat M' zu erhalten. Dann fasst man M" und M4.... zusammen usw. bis Mp. Das letzte Resultat ist das Kondensat R.
  • Es ist also wichtig, die Zufallszahl A an den Anfang der Datei zu stellen, denn so hängen alle Zwischenresultate M', M"... von A ab.
  • So sendet bei dem erfindungsgemäßen Verfahren während jeder durch die zentrale Anlage ausgeführten Kontrolle, ob in dem Speicher der externen Anlage ein autorisiertes Programm installiert ist, die zentrale Anlage eine Zufallszahl A an die externe Anlage, deren Verarbeitungseinheit das Kondensat des der durch die zentrale Anlage gelieferten Zufallszahl zugeordneten Programms berechnet und an die zentrale Anlage überträgt, welche die Übereinstimmung verifiziert. Bei einer ersten Sendung der Zufallszahl A hat diese einen Wert A1 und man erhält eine Datei F1 und ein Resultat R1. Bei einer weiteren Sendung der Zahl A hat diese einen Wert A'1 ≠ A1 und man erhält eine Datei F'1 und ein Resultat R'1 ≠ R1.
  • Die einzigen in dem Festwertspeicher (PROM) der externen Anlagen installierten Programme sind folgende:
  • - ein Programm des Informations- bzw. Datenaustauschprotokolls zwischen der zentralen Anlage 10 und der externen Anlage 11 (insbesondere das Fernladeprogramm); und
  • - ein Signaturverifizierungsprogramm, welches das Berechnungsprogramm des Kondensats einer Datei umfasst.
  • Im Arbeitsspeicher (RAM) der externen Anlage befinden sich:
  • - das in die externen Anlage geladene Programm (L1); und
  • - die durch die zentrale Anlage während der Kontrollphase empfangene Zufallszahl A.
  • Diese Kontrollphase erfolgt während regelmäßiger Abfragezyklen der zentralen Anlage, die so die Gültigkeit des in der externen Anlage installierten Programms kontrolliert.

Claims (4)

1. Verfahren zum Fernprüfen der Übereinstimmung wenigstens eines Programms bzw. einer Software (L1), installiert in einem Speicher einer Anlage, die sich an einem entfernten öffentlichen Ort befindet, mit einer Basisversion dieser Software (L2), installiert in dem Speicher einer zentralen Anlage (10), die mit jeder lokalen Anlage über ein Kommunikationsnetz kommunizieren (12) kann,
dadurch gekennzeichnet,
dass es die folgenden Schritte umfasst:
- einen Schritt zum Senden einer Zufallszahl (A) durch die zentrale Anlage an diese lokale Anlage, in dem diese Zahl (A) der Software (L1) gegenübergestellt bzw. zugeordnet wird, um eine erste Datei (F1) zu erhalten, in der eine Funktion (f) auf diese erste Datei (F1) angewendet wird, um ein erstes Resultat (R1) zu erzielen, und in dem dieses erste Resultat (R1) an die zentrale Anlage übertragen wird;
- einen Schritt zum Empfangen dieses ersten Resultats (R1) durch die zentrale Anlage;
- einen Schritt, um die Zufallszahl (A) der Bezugs-Software gegenüberzustellen, eine zweite Datei (F2) zu erstellen, die Funktion (f) auf diese zweite Datei (F2) anzuwenden und ein zweites Resultat (R2) zu erzielen;
- einen Schritt, um die Übereinstimmung der Software (L1) mit der Bezugs-Software (L2) durch die zentrale Anlage zu prüfen, indem der Vergleich der beiden Resultate (R1, R2) durchgeführt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Zufallszahl (A) an den Anfang der ersten Datei (F1) und den Anfang der zweiten Datei (F2) gestellt wird.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die verschiedenen Schritte dieses Verfahrens periodisch ausgeführt werden, während regelmäßiger Abfragezyklen.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Kommunikationsnetz das Telefonnetz ist.
DE1995617737 1994-04-13 1995-04-11 Verfahren zum Fernprüfen der Übereinstimmung von Software Expired - Fee Related DE69517737T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9404376A FR2718863B1 (fr) 1994-04-13 1994-04-13 Procédé destiné à vérifier à distance la conformité d'un logiciel.

Publications (2)

Publication Number Publication Date
DE69517737D1 DE69517737D1 (de) 2000-08-10
DE69517737T2 true DE69517737T2 (de) 2001-05-31

Family

ID=9462048

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1995617737 Expired - Fee Related DE69517737T2 (de) 1994-04-13 1995-04-11 Verfahren zum Fernprüfen der Übereinstimmung von Software

Country Status (3)

Country Link
EP (1) EP0678803B1 (de)
DE (1) DE69517737T2 (de)
FR (1) FR2718863B1 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920701894A (ko) * 1989-04-28 1992-08-12 브루스 마르쿠스 컴퓨터 소프트웨어의 원격 제어 장치 및 그 보호 방법
WO1993023807A1 (de) * 1992-05-14 1993-11-25 Gruno, Gerhard Programmsicherungsverfahren zum schutz einer datenverarbeitungsanlage

Also Published As

Publication number Publication date
EP0678803B1 (de) 2000-07-05
FR2718863B1 (fr) 1996-05-31
FR2718863A1 (fr) 1995-10-20
DE69517737D1 (de) 2000-08-10
EP0678803A1 (de) 1995-10-25

Similar Documents

Publication Publication Date Title
EP1326469B1 (de) Verfahren und Anordnung zur Überprüfung der Authentizität eines Dienstanbieters in einem Kommunikationsnetz
DE69636457T2 (de) Gesichertes kommunikationssystem mit vernetzten geheimcodes
DE112008000298B4 (de) Verfahren zum Erzeugen eines digitalen Fingerabdrucks mittels eines Pseudozufallszahlencodes
DE60128785T2 (de) Aktivieren und Deaktivieren von Softwarefunktionen
DE69807221T2 (de) Bedingtes zugangssystem für set top boxen
DE69225573T2 (de) Verfahren und System zur Fernauffüllung des Guthabenspeichers einer Frankiermaschine
DE69603954T2 (de) Verfahren zum durchführen einer elektronischen zahlungstransaktion
DE10296511T5 (de) Verfahren und Einrichtung zum Überwachen der Benutzung eines Programms
AT504581B1 (de) Verfahren und system zum auslesen von daten aus einem speicher eines fernen geräts durch einen server
DE10143876A1 (de) Blockierungs-Server
DE10028500A1 (de) Verfahren zur Installation von Software in einer Hardware
DE4442357A1 (de) Verfahren und Anordnung zur Sicherung von Daten
DE10065684A1 (de) System und Verfahren zum Erteilen der Laufberechtigung für ein auf einem Rechner installiertes Programm
DE69517737T2 (de) Verfahren zum Fernprüfen der Übereinstimmung von Software
EP2038805B1 (de) Verfahren zum delegieren von privilegien an eine niedriger-privilegierte instanz durch eine höher-privilegierte instanz
DE19641776C2 (de) Computerprogrammgesteuertes Verfahren zum gesicherten Aufbau einer Wähl-Leitungsverbindung und zur gesicherten Datenübertragung zwischen einem Chipkarten-Terminal und einer zentralen Datenverarbeitungsanlage
DE4404327C2 (de) Vorrichtung zum Transport von Daten
WO2023036597A1 (de) Verfahren und system zur steuerung einer übertragung von daten in abhängigkeit wenigstens eines attributs einer datei
DE1173832T1 (de) Frankiermaschine und verfahren zu deren betrieb
EP1163559B1 (de) Verfahren zur sicherung des zugangs zu einer datenverarbeitungseinrichtung und entsprechende vorrichtung
EP1638246B1 (de) Verfahren zum Austausch von Kryptographiedaten
EP0952560A2 (de) Verfahren zum Nachladen eines Portoguthabens in eine elektronische Frankiermaschine
WO1998002991A1 (de) Verfahren zur schlüsselverteilung zwischen zwei einheiten in einer isdn/internet verbindung
DE102007047320B4 (de) Schlüsselerkennungsverfahren und kabelloses Kommunikationssystem
DE60303234T2 (de) System und Verfahren für einen sicheren E-Commerce

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee