DE69517737T2 - Verfahren zum Fernprüfen der Übereinstimmung von Software - Google Patents
Verfahren zum Fernprüfen der Übereinstimmung von SoftwareInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 16
- 230000006870 function Effects 0.000 claims description 15
- 238000009434 installation Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 6
- 238000009833 condensation Methods 0.000 description 4
- 230000005494 condensation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, 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
- 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.
- 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.
- 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.
- - 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.
- 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.
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)
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 |
-
1994
- 1994-04-13 FR FR9404376A patent/FR2718863B1/fr not_active Expired - Fee Related
-
1995
- 1995-04-11 EP EP19950400818 patent/EP0678803B1/de not_active Expired - Lifetime
- 1995-04-11 DE DE1995617737 patent/DE69517737T2/de not_active Expired - Fee Related
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 |