BPatG 15408.05BUNDESPATENTGERICHT17 W (pat) 317/06_______________(Aktenzeichen)Verkündet am28. Januar 2010…B E S C H L U S SIn der Einspruchssachebetreffend das Patent 103 40 411…- 2 -…hat der 17. Senat (Technischer Beschwerdesenat) des Bundespatentgerichts auf die mündliche Verhandlung vom 28. Januar 2010 unter Mitwirkung des Vorsit-zenden Richters Dipl.-Phys. Dr. Fritsch, der Richterin Eder sowie des Richters Dipl.-Ing. Baumgardt und der Richterin Dipl.-Ing. Wickbornbeschlossen:Das deutsche Patent 103 40 411 wird widerrufen.G r ü n d eI.Auf die am 2. September 2003 beim Deutschen Patent- und Markenamt eingegan-gene Patentanmeldung 103 40 411.2 - 53 wurde durch Beschluss der Prüfungs-stelle für Klasse G 06 F das Patent unter der Bezeichnung" Vorrichtung und Verfahren zur sicheren Ausführung eines Programms "erteilt. Veröffentlichungstag der Patenterteilung ist der 13. Oktober 2005.Gegen das Patent ist Einspruch erhoben worden. Die Einsprechende stützt den Einspruch auf neue und die in der Patentschrift zitierten Druckschriften und macht geltend, der Gegenstand der erteilten unabhängigen Ansprüche sei durch den Stand der Technik vorweggenommen oder zumindest nahegelegt; dies treffe unter der Berücksichtigung des allgemein bekannten Fachwissens ebenfalls für die Un-- 3 -teransprüche zu. Ferner gehe der Gegenstand des Patents über den Inhalt der ur-sprünglichen Anmeldung hinaus.Sie hält ihre Argumentation auch gegenüber dem nunmehr geltenden Hauptantrag und den fünf Hilfsanträgen aufrecht und beantragt,das Patent in vollem Umfang zu widerrufen.Die Patentinhaberin verteidigt das Patent in beschränkter Fassung. Sie stellt den Antrag,das Patent in beschränktem Umfang mit folgenden Unterlagen aufrechtzuerhalten:gemäß Hauptantrag mit Patentansprüchen 1-12, überreicht in der mündlichen Verhandlung, noch anzupassender Beschreibung und Zeichnungen mit Figuren gemäß Patentschrift,gemäß erstem Hilfsantrag mit Patentansprüchen 1-12, überreicht in der mündlichen Verhandlung, im Übrigen wie Hauptantrag,gemäß zweitem Hilfsantrag mit Patentansprüchen 1-11, über-reicht in der mündlichen Verhandlung, im Übrigen wie Haupt-antrag,gemäß drittem Hilfsantrag mit Patentansprüchen 1-11, über-reicht in der mündlichen Verhandlung, im Übrigen wie Haupt-antrag,gemäß viertem Hilfsantrag mit Patentansprüchen 1-9, überreicht in der mündlichen Verhandlung, im Übrigen wie Hauptantrag,- 4 -gemäß fünftem Hilfsantrag mit Patentansprüchen 1-9, überreicht in der mündlichen Verhandlung, im Übrigen wie Hauptantrag.Im Laufe des Einspruchsverfahren wurden insgesamt folgende Druckschriften als Stand der Technik in Betracht gezogen:D1 Hölscher, Holger: Microcomputers in safety technique: An aid to orientation for developer and manufacturer. TÜV Study Group on Computer Safety - München: Verlag TÜV Bayern; Köln: Verlag TÜV Rheinland, 1986, Umschlagseite, bibl. Kurztitelaufnahme, Seiten 7-91, 7-92, 8-4, 8-6; ferner (über-reicht in der mündlichen Verhandlung) Seiten 7-86 bis 7-90D2 Kollmann, Karl: Chipkarten und Verbraucher. In: “ASA NEWS“ der Austrian Smart Card Association, Nr. 4, Juni 1996, S. 1-20D3 „Anforderungen zur informationstechnischen Sicherheit bei Chipkarten“ des Bayerischen Landesbeauftragten für Daten-schutz, Stand 02.12.1996; als Internet-Auszug gemäß http:// www.datenschutz-bayern.de/technik/orient/akt_chip.htmD4 US 2003 / 131 210 A1D5 US 5 018 146 AD6 EP 1 305 708 B1D7 US 6 006 328 AD8 Ramamoorthy, C.V. et al.: Reliability and integrity of large computer programs. In: GFK-GI-GMR Fachtagung Prozess-rechner 1974, Springer Verlag, Berlin / Heidelberg, S. 86 –161, hier insbesondere Seiten 147 – 151 (siehe http://www. springerlink.com/content/y507239287640828/fulltext.pdf)- 5 -D9 Keim, G.: Die Erhöhung der Sicherheit von Mikrocomputer-systemen. In: Angewandte Informatik 2/80, S. 45 - 50 D10 EP 1 161 725 B1In der Fassung gemäß Hauptantrag lauten die unabhängigen Patentansprüche 1, 11 und 12, hier mit der Gliederung der Einsprechenden und mit einer kursiven Kennzeichnung der Änderungen gegenüber der erteilten Fassung versehen: ”1. Vorrichtung (202; 302; 402) zur sicheren Ausführung eines Programms, das eine Sequenz (100) von Programm-Befeh-len umfasst, (a) wobei die Programm-Befehle Nutzbefehle (110, 112, 114, 116) und Überprüfungsbefehle (120, 122, 124) umfassen, (b) wobei die Überprüfungsbefehle zwischen den Nutzbefehlen angeordnet sind,(b1) so dass gemäß einem spezifizierten Ausführungspfades des Programms eine Reihenfolge der Ausführung der Überprü-fungsbefehle festgelegt ist,mit folgenden Merkmalen:(c) einer Einrichtung (203; 303; 403) zum Ausführen der Se-quenz von Programm-Befehlen,(c1) wobei die Einrichtung zum Ausführen ausgebildet ist, um beim Ausführen eines Überprüfungsbefehls, gemäß einer Erstellungsvorschrift einen Überprüfungswert (130, 132, 134; 230; 330; 430) zu erzeugen;- 6 -(d) einer Einrichtung (205; 512) zum separaten Bereitstellen eines Kontrollwertes (250; 550) nebenläufig zur Ausfüh-rung des Programms,(d1) wobei der Kontrollwert gemäß der Erstellungsvorschrift von einem vorangegangenen Kontrollwert abgeleitet ist;(e) einer Einrichtung (206; 514) zum Vergleichen des Überprü-fungswertes mit dem Kontrollwert nebenläufig zur Ausfüh-rung des Programms; und(f) einer Einrichtung (207; 514) zum Liefern eines Hinweises(262; 562) auf eine Störung der Ausführung des spezifizier-ten Ausführungspfads des Programms, bei Nichtüberein-stimmung des Überprüfungswertes und des Kontrollwertes.11. Verfahren zur sicheren Ausführung eines Programms, das eine Sequenz von Programm-Befehlen umfasst,(a) wobei die Programm-Befehle Nutzbefehle und Überprüfungs-befehle umfassen,(b) wobei die Überprüfungsbefehle zwischen den Nutzbefehlen angeordnet sind,(b1) so dass gemäß einem spezifizierten Ausführungspfades des Programms eine Reihenfolge der Ausführung der Überprü-fungsbefehle festgelegt ist,- 7 -wobei das Verfahren folgende Schritte umfasst:(c) a) Ausführen der Sequenz von Programm-Befehlen, (c1) wobei beim Ausführen eines Überprüfungsbefehls gemäß ei-ner Erstellungsvorschrift ein Überprüfungswert erzeugt wird;(d) b) Separates Bereitstellen eines Kontrollwertes nebenläufig zur Ausführung des Programms,(d1) wobei der Kontrollwert gemäß der Erstellungsvorschrift von einem vorangegangenen Kontrollwert abgeleitet ist;(e) c) Vergleichen des Überprüfungswertes mit dem Kontrollwert nebenläufig zur Ausführung des Programms; und(f) d) Liefern eines Hinweises auf eine Störung der Ausführung des spezifizierten Ausführungspfad des Programms, bei Nichtübereinstimmung des Überprüfungswertes und des Kontrollwertes.12. Maschinen-lesbaren Träger, auf dem ein Computer-Pro-gramm mit einem Programmcode zur Durchführung des Ver-fahrens gemäß Anspruch 11 gespeichert ist. ”Wegen der Unteransprüche wird auf die Akten verwiesen.Die Fassung nach dem ersten Hilfsantrag unterscheidet sich davon durch folgen-des geändertes Merkmal (identisch in den Patentansprüchen 1 und 11):- 8 -(d1*)wobei der Kontrollwert gemäß der Erstellungsvorschrift un-abhängig von Nutzbefehlen zwischen dem Überprü-fungsbefehl und einem vorhergehenden Überprüfungs-befehl von einem vorangegangenen Kontrollwert abgeleitet ist;(im Übrigen wie Hauptantrag).Der zweite Hilfsantrag beruht auf dem Hauptantrag (d. h. Merkmal (d1) ist unverändert), mit folgendem zusätzlichem Merkmal am Ende des Patent-anspruchs 1:(g) wobei die Einrichtung (205; 512) zum separaten Bereitstel-len des Kontrollwertes (250; 550), die Einrichtung (206; 514) zum Vergleichen und die Einrichtung (207; 514) zum Liefern eines Hinweises (262; 562) in Hardware separat von der Einrichtung zum Ausführen der Sequenz von Programm-Befehlen ausgeführt sind.und entsprechend am Ende des Patentanspruchs 11:(g) wobei das separate Bereitstellen des Kontrollwertes (250; 550), das Vergleichen und das Liefern eines Hinweises (262; 562) in einer Hardware separat von der Einrichtung zum Ausführen der Sequenz von Programm-Befehlen ausgeführt werden.Der nebengeordnete Patentanspruch 12 ist weggefallen.Die Fassung nach dem dritten Hilfsantrag beruht auf dem zweiten Hilfsantrag, enthält jedoch in den Patentansprüchen 1 und 11 statt des Merkmals (d1) das - 9 -entsprechend dem ersten Hilfsantrag geänderte Merkmal (d1*); der nebengeord-nete Patentanspruch 12 fällt ebenfalls weg.Der vierte Hilfsantrag beruht wieder auf dem Hauptantrag (d.h. Merkmal (d1) ist unverändert), mit folgenden zusätzlichen Merkmalen am Ende des Patentan-spruchs 1:(g*) wobei die Einrichtung zum separaten Bereitstellen eines Kontrollwertes ein Register (510) und einen Vorwärtszähler (512) aufweist, um ansprechend auf einen Überprüfungswert einen vorangegangenen Kontrollwert (550) zu erhöhen, um einen nachfolgenden Kontrollwert (551) zu erzeugen, oder(h) wobei die Einrichtung zum Erzeugen eines Kontrollwertes einen Pseudo-Zufallszahlengenerator aufweist, der anspre-chend auf einen Überprüfungswert einen nächsten Kontroll-wert aus einem vorangegangenen Kontrollwert erzeugt.Die Unteransprüche 7 und 8 (des Hauptantrages) sind gestrichen, der Neben-anspruch trägt daher die Nummer 9, und er ist entsprechend dem Hauptanspruch am Ende ergänzt:(g*) wobei der Kontrollwert unter Verwendung eines Registers (510) und eines Vorwärtszähler (512) erzeugt wird, um ansprechend auf einen Überprüfungswert einen vorange-gangenen Kontrollwert (550) zu erhöhen, um einen nach-folgenden Kontrollwert (551) zu erzeugen, oder(h) wobei der Kontrollwert unter Verwendung einen Pseudo-Zufallszahlengenerators erzeugt wird, der ansprechend auf - 10 -einen Überprüfungswert einen nächsten Kontrollwert aus einem vorangegangenen Kontrollwert erzeugt.Der nebengeordnete Patentanspruch 12 fällt ebenfalls weg.Die Fassung nach dem fünften Hilfsantrag entspricht der des vierten Hilfsan-trags, wobei jedoch das Merkmal (g*) in den Patentansprüchen 1 und 9 ersatzlos gestrichen ist.Im Übrigen wird auf die Akte verwiesen.Als zugrundeliegende Aufgabe ist angegeben, eine Vorrichtung sowie ein Verfah-ren zur sicheren Ausführung eines Programms zu schaffen, die einen flexiblen, einfach und kostengünstig zu realisierenden sowie wirksamen Schutz der Ausfüh-rung des Programms ermöglichen (siehe Patentschrift Absatz [0011]).II.Der Einspruch wurde frist- und formgerecht erhoben, er ist mit nachprüfbaren Gründen versehen und auch sonst zulässig.Er hat auch Erfolg, da sich der jeweilige Gegenstand der unabhängigen Patentan-sprüche nach Hauptantrag und nach allen fünf Hilfsanträgen als nicht patentfähig erweist.1. Das Streitpatent betrifft Maßnahmen zur Erkennung einer Veränderung des vorgesehenen Programmlaufs eines Computerprogramms, beispielsweise verur-sacht durch einen Angreifer, der eine Schutzroutine des Programms durch geziel-te Einflussnahme „überspringen“ möchte. In der Beschreibungseinleitung ist aus-geführt, dass insbesondere bei Chipkarten die Gefahr bekannt sei, durch elektri-- 11 -sche Störimpulse den Programm-Befehlszähler auf eine vom Entwickler nicht vor-gesehene Weise zu verändern, so dass der Chipkarten-Controller danach die Pro-gramm-Ausführung an einer „falschen“ Stelle fortsetzt. Dadurch könnte es möglich sein, gezielt einzelne Programmabschnitte wie den Authentisierungsprozess, der die Chipkarte vor einem Zugriff Unbefugter schützt, zu umgehen (siehe Streitpa-tentschrift Absätze [0002], [0003]).Das Streitpatent schlägt als Gegenmaßnahme vor, in den aus „Nutzbefehlen“ be-stehenden Programmcode in beliebiger Häufigkeit besondere „Überprüfungsbe-fehle“ einzufügen, welche bei ihrer Ausführung gemäß einer vorgegebenen Erstel-lungsvorschrift (in der vorgesehenen Reihenfolge) Überprüfungswerte erzeugen. Parallel dazu werden separat nach derselben Erstellungsvorschrift Kontrollwerte bereitgestellt, die von dem jeweils vorangegangenen Kontrollwert abgeleitet sind, und mit dem aktuellen Überprüfungswert verglichen; bei fehlender Übereinstim-mung wird ein Hinweis auf die damit entdeckte gestörte Ausführungs-Reihenfolge der Programmbefehle geliefert.Als Fachmann für eine Verbesserung der Absicherung des Programmablaufs ge-gen Angriffe sieht der Senat einen Entwicklungsingenieur für mit Mikroprozesso-ren oder -controllern arbeitende Einrichtungen, insbesondere Chipkarten, mit Hochschul- oder Fachhochschulausbildung an.2. Es kann dahinstehen, ob – wie die Einsprechende geltend macht – der Ge-genstand des erteilten Patents oder der nunmehr geltenden Patentansprüche über den Inhalt der ursprünglich eingereichten Anmeldung hinausgeht; ebenfalls kann offenbleiben, inwieweit ein auf ein „Computer-Programm“ gerichteter Patentan-spruch zulässig ist (und wie er nach Patenterteilung ohne Schutzbereichserwei-terung noch geändert werden könnte). Denn hinsichtlich der gesetzlichen Paten-tierungsvoraussetzungen und Patentierungsausschlüsse muss keine bestimmte Prüfungsreihenfolge eingehalten werden (BGH BlPMZ 2004, 428 “Elektronischer Zahlungsverkehr” II. 4.).- 12 -Im vorliegenden Fall ist das erteilte Patent schon deshalb zu widerrufen, weil der Gegenstand des Patentanspruchs 1 nach Hauptantrag ebenso wie nach dem ersten bis fünften Hilfsantrag zumindest nicht auf einer erfinderischen Tätigkeit be-ruht.2.1 Zum Hauptantrag2.1.1 Von den im Verfahren befindlichen Druckschriften ist von besonderem Inter-esse die in der von der Einsprechenden entgegengehaltenen D1 als /RCK/ zitier-te, vom Senat nachträglich benannte Literaturstelle:D8 Ramamoorthy, C.V. et al.: Reliability and integrity of large computer programs. In: GFK-GI-GMR Fachtagung Prozess-rechner 1974, Springer Verlag, Berlin / Heidelberg, S. 86 –161, hier insbesondere Seiten 147 – 151 (siehe http://www. springerlink.com/content/y507239287640828/fulltext.pdf)Sie beschreibt im Kapitel 4.3.2.2 (Seiten 147 – 151) ein Verfahren (und, auf den das Verfahren nutzenden Rechner bezogen, implizit auch eine Vorrichtung) zur sicheren Ausführung einer Sequenz von Programm-Befehlen, welches eine Stö-rung in der festgelegten Ausführungsreihenfolge erkennt [Gattungsbegriff, Merk-mal (c)]. Gemäß Seite 148 / Figur 25 sind Überprüfungsbefehle (checkpoints) zwischen den Nutzbefehlen (normal program / CODES) angeordnet [Merkmale (a), (b), (b1)]. Jeder Überprüfungsbefehl vergleicht den Inhalt einer vorbestimm-ten, der jeweiligen Programm-Sequenz zugeordneten Speicherzelle (im Sinne ei-nes „Kontrollwerts“ – Merkmal (d)) mit einem Überprüfungswert [Merkmal (e)], der fest in den Überprüfungsbefehl eingefügt ist (vgl. Streitpatent Absatz [0033] Zeile 1-9 – Merkmal (c1)). Bei Nicht-Übereinstimmung bricht das Programm ab („a trap routine is invoked“ – Merkmal (f)), bei Übereinstimmung wird der Inhalt ge-ändert und die der nächsten Programm-Sequenz zugeordnete Speicherzelle mit einem neuen Kontrollwert beschrieben, welcher dann wiederum am Ende der - 13 -Sequenz verglichen und geändert wird. Bei der praktisch implementierten Ausführungsform gemäß Figur 27 ist eine Ta-belle (KODE(IXn)) vorgesehen, die zahlreiche Einträge enthält, welche als Kon-trollwerte verwendet werden können. Gemäß Flussdiagramm wird zuerst Eintrag Nummer 5 auf den Wert 123 („Kontrollwert“) gesetzt, der Index hingegen zeigt auf Eintrag Nummer 9. Im Laufe der Programm-Abarbeitung wird der Index verändert, so dass er bei ordnungsgemäßer Programmdurchführung am Ende auf den Ein-trag Nummer 5 zeigt, und dann der Tabelleninhalt am angezeigten Eintrag mit dem Kontrollwert 123 verglichen (wenn hingegen ein Teil des Programms nicht ausgeführt wurde, würde der Index nicht auf Eintrag Nummer 5 zeigen und somit keine Übereinstimmung bestehen). Anschließend wird aus dem alten Kontrollwert (im Flussdiagramm: KODE(5) = 123) ein neuer Kontrollwert (KODE(3) ĸ KODE(5) minus 26) berechnet, d. h. der nächste Kontrollwert wird gemäß einer Erstellungs-vorschrift von einem vorangegangenen Kontrollwert abgeleitet [Merkmal (d1)].Damit ist der Gegenstand des erteilten Patentanspruchs 1 und des ihm nebenge-ordneten Anspruchs 11 durch D8 vorweggenommen.2.1.2 Demgegenüber wird das Patent nunmehr in beschränkter Fassung vertei-digt: das separate Bereitstellen eines Kontrollwertes (Merkmal (d)) und das Ver-gleichen des Überprüfungswertes mit dem Kontrollwert (Merkmal (e)) sollen je-weils „nebenläufig zur Ausführung des Programms“ durchgeführt werden. (Ge-mäß Hauptantrag stellen diese beiden Zusätze die einzige Beschränkung dar.)Eine entsprechende Offenbarung findet sich in den Absätzen [0029] und [0039] der Streitpatentschrift, die Formulierung ist daher insoweit zulässig.Der Begriff „nebenläufig“ ist im Streitpatent allerdings nicht näher erläutert oder gar definiert. In der mündlichen Verhandlung hat die Patentinhaberin ausgeführt, dass hier „unabhängig von der Ausführung des Programms“ gemeint sei: das Be-- 14 -reitstellen eines Kontrollwertes und das Vergleichen mit dem Überprüfungswert solle neben der Ausführung der Nutzbefehle herlaufen, den Programmablauf nicht unterbrechen oder stören. Eine solche Maßnahme stelle einen deutlichen Unter-schied zur Lehre der D8 dar, denn dort werde beides mitten im Programm aus-geführt und unterbreche den normalen Programmablauf.Dem ist entgegenzuhalten, dass der Begriff „nebenläufig“ wenig trennscharf, viel-mehr sehr breit angelegt ist. Schon wenn, ausgehend von D8, die Kontrollwert-Bereitstellung und der Vergleich mit dem Überprüfungswert in ein Unterprogramm ausgelagert würden, wie es beim strukturierten Programmieren üblich ist, könnte dessen Ausführung als „nebenläufig“ zum Hauptprogramm verstanden werden. Somit wäre durch eine einfache, programmierer-typische Maßnahme, angewendet auf die Lehre der D8, der Gegenstand des Patentanspruchs 1 nach Hauptantrag bereits erreicht.Unabhängig davon war es dem Fachmann zum Anmeldezeitpunkt des Streitpa-tents seit langem vertraut, die Sicherstellung eines ungestörten Programmablaufs nicht allein einer Software zu überlassen.Beispielsweise wird auf Seite 7-88 der D1 ein Zähler vorgeschlagen, dessen Zählerstand an bestimmten Stellen im Programmablauf hochgezählt und später mit einem Kontrollwert verglichen wird. Der Zähler kann in Software ausgeführt sein oder als Hardware-Zähler, außerhalb des Systems (siehe 7.34.1 Absatz 2). Auch in D9 Seite 45, rechte Spalte Absatz 1 / Absatz 5, wird empfohlen, Hardware und Software zur gegenseitigen Überprüfung einzusetzen, um die Sicherheit eines Mikrocomputersystems zu erhöhen.Schließlich beschreibt D10 eine Vorrichtung und ein Verfahren zur sicheren Aus-führung eines Programms, bei dem die Abfolge der Programmbefehle überwacht wird. In einem Vorbereitungsschritt wird für die Befehle eines bestimmten zu über-wachenden Programmblocks (unter Berücksichtigung ihrer Reihenfolge) ein Hash-- 15 -Wert gebildet und im Programm abgespeichert. Bei Ausführung des Programms startet ein erster Überwachungsbefehl die Überprüfung des folgenden Befehls-blocks („Nutzbefehle“), wobei jeder einzelne Befehl nebenläufig zum Programm in einer separaten Schaltung (Figur 2: Unité Surveillance 22) mitgelesen und zur Hash-Wert-Bildung benutzt wird; ein zweiter Überwachungsbefehl beendet diese Phase und veranlasst, dass der aus den einzelnen Befehlen (unter Berücksichti-gung ihrer Reihenfolge) gebildete Hash-Wert mit dem vorab gespeicherten Hash-Wert verglichen wird, und zwar in der separaten Unité Surveillance, getrennt vom eigentlichen Programmablauf, vgl. D10 (EP 1 161 725 B1) Absatz [0053] / [0054].Es lag für den Fachmann daher schon aufgrund seines allgemeinen Fachwissens (hier beispielhaft belegt durch Auszüge aus D1, D9 und D10) nahe, zur Erhöhung der Sicherheit die Einrichtungen zur Bereitstellung der Kontrollwerte und zum Ver-gleich mit den Überprüfungswerten, die aus D8 bekannt ist, separat in Hardware auszuführen; allein dadurch erfolgen dann die Bereitstellung und der Vergleich „nebenläufig zur Ausführung des Programms“, wie es in der geltenden Antrags-fassung beansprucht wird.Somit bedurfte es für eine Ausführung der Maßnahmen (d) und (e) „nebenläufig zur Ausführung des Programms“ keiner erfinderischen Tätigkeit. Der Hauptantrag kann daher keinen Bestand haben.2.2 Zum ersten HilfsantragAuch der erste Hilfsantrag kann keinen Erfolg haben. Er unterscheidet sich vom Hauptantrag lediglich durch folgende Formulierung des Merkmals (d1) in den Pa-tentansprüchen 1 und 11 (Ergänzung kursiv dargestellt):(d1*)wobei der Kontrollwert gemäß der Erstellungsvorschrift un-abhängig von Nutzbefehlen zwischen dem Überprü-fungsbefehl und einem vorhergehenden Überprüfungs-- 16 -befehl von einem vorangegangenen Kontrollwert abgeleitet ist.Das Bestimmen des Kontrollwertes unterscheidet sich dadurch zwar, wie die Pa-tentinhaberin vorträgt, von der Art der Kontrollwert-Bestimmung gemäß D10, wo jeder einzelne Nutzbefehl zur Bildung eines Hash-Wertes einbezogen wird; nicht jedoch von der Art der Kontrollwert-Bestimmung gemäß D8, bei welcher ein neuer Kontrollwert (s. o.: KODE(3) ĸ KODE(5) minus 26) unabhängig von Nutzbefehlen allein durch eine arithmetische Operation aus einem vorangegangenen Kontroll-wert abgeleitet wird.Somit ergibt sich der Gegenstand der Patentansprüche 1 und 11 nach dem ersten Hilfsantrag für den Fachmann genauso aus D8 und seinem allgemeinen Fachwis-sen, wie es bezüglich des Hauptantrags dargestellt wurde.2.3 Zum zweiten HilfsantragDer zweite Hilfsantrag führt ebenfalls nicht weiter. Er ist gekennzeichnet durch ein zusätzliches Merkmal in den unabhängigen Ansprüchen, das beim Anspruch 1 lautet:(g) wobei die Einrichtung (205; 512) zum separaten Bereitstel-len des Kontrollwertes (250; 550), die Einrichtung (206; 514) zum Vergleichen und die Einrichtung (207; 514) zum Liefern eines Hinweises (262; 562) in Hardware separat von der Einrichtung zum Ausführen der Sequenz von Programm-Befehlen ausgeführt sind.Wie bereits beim Hauptantrag erläutert, lag eine Ausführung in Hardware für den Fachmann nahe. Beispielsweise D10 zeigt explizit eine separate Schaltung (Fi-gur 2: Unité Surveillance 22) zur Bereitstellung des Kontrollwertes (Hash-Wert), - 17 -zum Vergleichen mit dem Überprüfungswert (siehe Absatz [0074]) und zum Liefern eines Hinweises (siehe Absatz [0078]). Das genannte zusätzliche Merk-mal (g) kann das Vorliegen einer erfinderische Tätigkeit daher nicht begründen.2.4 Zum dritten HilfsantragDer dritte Hilfsantrag enthält gegenüber dem zweiten Hilfsantrag in den Patentan-sprüchen 1 und 11 statt des Merkmals (d1) das Merkmal (d1*) entsprechend dem ersten Hilfsantrag. Dieses ist aber, wie dargelegt, aus D8 bekannt und kann das Vorliegen einer erfinderische Tätigkeit nicht begründen, so dass auch der dritte Hilfsantrag erfolglos bleiben muss.2.5 Zum vierten HilfsantragGemäß viertem Hilfsantrag ist der Patentanspruch 1 nach Hauptantrag am Ende um folgende Merkmale ergänzt:(g*) wobei die Einrichtung zum separaten Bereitstellen eines Kontrollwertes ein Register (510) und einen Vorwärtszähler (512) aufweist, um ansprechend auf einen Überprüfungswert einen vorangegangenen Kontrollwert (550) zu erhöhen, um einen nachfolgenden Kontrollwert (551) zu erzeugen, oder(h) wobei die Einrichtung zum Erzeugen eines Kontrollwertes einen Pseudo-Zufallszahlengenerator aufweist, der anspre-chend auf einen Überprüfungswert einen nächsten Kontroll-wert aus einem vorangegangenen Kontrollwert erzeugt.Der nebengeordnete Patentanspruch 9 ist in analoger Weise eingeschränkt.- 18 -Die beiden zusätzlichen Merkmale sind (durch das „oder“ am Ende von Merkmal (g*)) als Alternativen beansprucht. Sie entsprechen den erteilten Unteransprüchen 7 und 8, die Anspruchsfassung ist daher insoweit zulässig.Doch bereits die Untersuchung der ersten Alternative zeigt, dass der Antrag kei-nen Erfolg haben kann.Denn aus der Seite 7-88 der D1 ist es als Maßnahme zur Überwachung des Befehls-Ablaufes eines Computer-Programms bekannt, einen Zähler einzusetzen, der in Hardware ausgeführt sein kann und durch zwischengeschaltete Befehle des Programms weiterzählt („hardware counter external to the system, which e.g. is incremented as a result of an output command“). Am Ende muss der Zähler einen bestimmten, bei der Programmerstellung berechneten Wert haben („which must - at the end of the run through of the program - have some defined value, which is computed at the time when the program is set up“); dieser vorberechnete Wert („Überprüfungswert“) wird mit dem Zählerstand („Kontrollwert“) verglichen, und bei Nicht-Übereinstimmung wird eine Fehlermeldung erzeugt („if the value is incorrect … a fault message is produced“). Offensichtlich sind hier somit sämtliche Merkmale des erteilten Patentanspruchs 1 vorbeschrieben.Wie beim Hauptantrag bereits dargelegt, arbeitet dieser Zähler, zumindest wenn er in Hardware ausgeführt ist, „nebenläufig zur Ausführung des Programms“. Er erhöht bei jedem zwischengeschalteten Befehl des Programms den Zählerstand („Vorwärtszähler“), um so auch nachfolgende Kontrollwerte zu erzeugen. Dass zum Vergleichen ein „Register“ für den vom Programm gelieferten Überprüfungs-wert nötig ist, ist für den Fachmann ganz selbstverständlich. Damit sind die zu-sätzlichen Merkmale aus D1 ebenfalls vorbekannt oder lassen sich daraus ablei-ten.- 19 -Sonach ergibt sich eine der nach viertem Hilfsantrag beanspruchten Alternativen (Merkmale (a) bis (g*)) für den Fachmann aufgrund seines Fachwissens allein aus Seite 7-88 der D1.2.5 Zum fünften HilfsantragDer fünfte Hilfsantrag beschränkt sich auf die zweite Alternative des vierten Hilfs-antrags (Merkmal (g*) einschl. „oder“ ist gestrichen).Doch auch das verbliebene Merkmal (h), wonach zum Erzeugen eines Kontroll-wertes ein Pseudo-Zufallszahlengenerator einzusetzen ist, überschreitet nicht den Rahmen des Wissens und Könnens des Durchschnittsfachmanns, so dass auch dieser Hilfsantrag keinen Erfolg hat:Gemäß Absatz [0033] der Streitpatentschrift wird der Einsatz des Pseudo-Zufalls-zahlengenerators „bei erhöhten Sicherheitsanforderungen“ empfohlen, wobei „nachfolgende Überprüfungswerte als Pseudo-Zufallszahlensequenz erzeugt“ wer-den. „Die Nutzung eines Pseudo-Zufallszahlengenerators erhöht die Sicherheit, wenn eine sehr hohe Zahl von Überprüfungswerten benötigt wird“ (Absatz [0047]).Es ist demnach klar, dass nicht nur die Kontrollwerte, sondern genauso die Über-prüfungswerte durch den beanspruchten Pseudo-Zufallszahlengenerator erzeugt werden müssen (vgl. Anspruchsmerkmal (c1) mit Merkmal (d1) – als „Erstellungs-vorschrift“ wird sozusagen die in den Pseudo-(!) Zufallszahlengenerator fest imple-mentierte Erzeugungsregel benutzt).Das zugrundeliegende objektive (Teil-) Problem bestand also darin, für eine große Zahl benötigter unterschiedlicher Überprüfungswerte eine möglichst zufällig er-scheinende Folge von Zahlenwerten bereitzustellen, die aber dennoch reprodu-zierbar ist; d. h. die „Erstellungsvorschrift“ der Merkmale (c1) und (d1) sollte einer-seits scheinbar zufällige Werte liefern, andererseits an zwei verschiedenen Stellen - 20 -(beim Ausführen eines Überprüfungsbefehls und separat davon beim Bereitstellen eines Kontrollwertes) unter gleichen Ausgangsbedingungen denselben Wert aus-geben.Zum Zeitpunkt der Anmeldung des Streitpatents waren Pseudo-Zufallszahlen-generatoren allerdings, insbesondere im Umfeld des Schutzes von Chipkarten durch kryptographische Maßnahmen, allgemein bekannt und darum das „Mittel der Wahl“ für den Durchschnittsfachmann, wenn er viele unterschiedliche Werte in einer scheinbar zufälligen Zahlenfolge benötigte, die aber dennoch reproduzierbar sein sollten. Deshalb ist es als rein fachmännisches Handeln zu bewerten, zum parallelen Erzeugen der Kontroll- und Überprüfungswerte einen Pseudo-Zufalls-zahlengenerator auszuwählen; eine erfinderische Leistung kann der Senat darin nicht sehen.III.Nachdem keiner der gestellten Anträge einen Hauptanspruch umfasste, dessenGegenstand auf erfinderischer Tätigkeit beruht, war das Streitpatent zu wider-rufen.Dr. Fritsch Eder Baumgardt WickbornMe
Full & Egal Universal Law Academy