Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
INTEGRATED CIRCUIT AND METHOD FOR TESTING THE SAME
Document Type and Number:
WIPO Patent Application WO/1998/041880
Kind Code:
A2
Abstract:
The invention relates to an integrated circuit with a CPU and a user ROM characterized by a test ROM whose address range is located inside the user ROM address range, a RAM located outside the CPU and switching means enabling access to either the user ROM or the test ROM and which can be irreversibly placed in a state allowing access to the user ROM only.

Inventors:
NOLLES JUERGEN (DE)
VIEHMANN HANS-HEINRICH (DE)
Application Number:
PCT/DE1998/000608
Publication Date:
September 24, 1998
Filing Date:
March 02, 1998
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
NOLLES JUERGEN (DE)
VIEHMANN HANS HEINRICH (DE)
International Classes:
G06F11/22; G06F12/14; G06F21/60; G06F21/85; G06K19/07; (IPC1-7): G01R31/317
Foreign References:
EP0610886A21994-08-17
US5286962A1994-02-15
Other References:
MARTIN D G ET AL: "DUAL USE OF STORAGE ADDRESS SPACE" IBM TECHNICAL DISCLOSURE BULLETIN, Bd. 24, Nr. 12, Mai 1982, Seite 6254/6255 XP000714088
Download PDF:
Claims:
Patentansprüche
1. Integrierte Schaltung mit einer CPU, einem AnwenderROM sowie einem diese verbindenden Bus, g e k e n n z e i c h n e t d u r c h ein ebenfalls mit dem Bus verbundenes TestROM, dessen Adressraum innerhalb des AnwenderROMAdressraums liegt, ein mit dem Bus verbundenes, CPUexternes RAM (XRAM). sowie ein Schaltmittel (MUX), das einen Zugriff nur entweder auf das AnwenderROM oder das TestROM ermöglicht.
2. Integrierte Schaltung mit einer CPU, einem AnwenderROM sowie einem diese verbindenden Bus, auf die ein Zugriff nur über zumindest ein serielles Eingangs/Ausgangstor (I/O) mög lich ist und eine interne Serien/ParallelWandlung einkommen der bzw. Parallel/Serienwandlung ausgehender Daten programm gesteuert durch die CPU erfolgt, g e k e n n z e i c h n e t d u r c h ein ebenfalls mit dem Bus verbundenes TestROM, dessen Adressraum innerhalb des AnwenderROMAdressraums liegt, ein CPUexternes RAM (XRAM) sowie ein Schaltmittel (MUX), das ei nen Zugriff nur entweder auf das AnwenderROM oder das Test ROM ermöglicht.
3. Integrierte Schaltung nach Anspruch 1 oder 2, d a d u r c h g e k e n n z e i c h n e t, daß das Schaltmittel (MUX) irreversibel in einen Zustand bringbar ist, der nur einen Zugriff auf das AnwenderROM er laubt.
4. Integrierte Schaltung nach Anspruch 2 oder 3, d a d u r c h g e k e n n z e i c h n e t, daß das serielle Eingangs/Ausgangstor (I/O) zur Seri en/ParallelWandlung zusätzlich aber ein aktivierund deak tivierbares Schieberegister (SR) mit einem internen Bus ver bindbar ist.
5. Integrierte Schaltung nach Anspruch 4, d a d u r c h g e k e n n z e i c h n e t, daß die Deaktivierung des Schieberegisters (SR) irreversibel durchführbar ist.
6. Integrierte Schaltung nach Anspruch 4, d a d u r c h g e k e n n z e i c h n e t, daß das Schieberegister (SR) über ein logisches Gatter (XOR) rückgekoppelt ist.
7. Verfahren zum Testen einer integrierten Schaltung, die ei ne CPU und ein TestROM sowie ein CPUexternes RAM aufweist, mit den Schritten : nach einem PowerOnReset wird ein im TestROM implemen tiertes Testbeginnprogramm aktiviert, gesteuert durch das Testbeginnprogramm werden Testroutinen in das RAM geladen und von dort durch die CPU ausgeführt, nach dem Ende des Tests werden die Testroutinen im RAM ge löscht und ein Ausführen des im TestROM implementierten Testbeginnprogramms irreversibel unterbunden.
8. Verfahren nach Anspruch 7, d a d u r c h g e k e n n z e i c h n e t, daß die Testroutinen aber ein serielles Eingangs/Ausgangstor (I/O) und einen zuschaltbaren Serien/ParallelWandler in das RAM geschrieben werden.
Description:
Beschreibung Integrierte Schaltung und Verfahren zum Testen der integrier- ten Schaltung Die ersten Chipkartengenerationen wie Telefonkarten oder Krankenhauskarten konnten im wesentlichen nur Speicherfunk- tionen ausführen. Später kamen verhältnismäßig einfache Lo- gikfunktionen wie Zahlenvergleich oder Erzeugen von Pseudozu- fallszahlen hinzu. Mit dem zunehmenden Einsatz von Chipkarten in sicherheitsrelevanten Bereichen wie im Bankgewerbe, wo teils erhebliche Werte gespeichert werden oder wenn besonders vertrauliche Daten gespeichert sind, kommt zunehmend ein Mi- kroprozessor zum Einsatz, der die komplexen Sicherungs-, Ver- schlüsselungs-und/oder Authentifizierungsoperationen aus- führen kann. In zunehmendem Maße kommen auch kryptologische Verfahren zum Einsatz, die einen erheblichen Rechenaufwand erfordern.

Die in heutigen Chipkarten enthaltenen Halbleiterchips bein- halten also aufwendige und komplexe Schaltungen, die in der Regel mit einer CPU, einem ROM, einem EEPROM (oder EPROM) so- wie teilweise weiteren Modulen wie einem UART, oder einem Ko- prozessor und einem diese verbindenden Bus gebildet sind. Der CPU ist zumeist ein RAM, das meistens als statisches RAM aus- geführt ist, zugeordnet. Da statische RAMs einen erheblichen Platzbedarf haben, sind sie meist sehr klein und weisen nur weniger als ein KByte Speicherkapazität auf. Charakteristisch für Chipkartenprodukte ist außerdem, daß sie nur ein bis zwei serielle Schnittstellen zur Außenwelt haben, wodurch eine Da- tenübertragung sehr langsam erfolgt. Da intern eine parallele Verarbeitung mit 8 Bit erfolgt, ist eine Serien/Parallel- Wandlung nötig, die mittels des Akkumulators per CPU softwa- regesteuert erfolgt, wodurch auch diese Wandlung sehr langsam abläuft. Da die normale Datenübertragung aber durch eine ISO- Norm definiert ist und nur mit einigen KBit pro Sekunde er- folgt, stellt dies für den Normalbetrieb, also den Betrieb

beim Anwender zum bestimmungsgemäßen Gebrauch als beispiels- weise wiederaufladbare Geldbörse, kein Problem dar.

Die beschriebenen komplexen integrierten Schaltungen müssen jedoch in ausreichender Qualität an die Kunden ausgeliefert werden, so daß umfangreiche Tests notwendig sind.

Diese Produkttests werden mit Hilfe einer Selftest-Software durchgeführt. Deshalb beinhalten Chipkartenprodukte einen Testspeicher, der als ROM ausgeführt ist. Dieser enthält die Selftest-Software, mit deren Hilfe nach einem Power-on Reset Teile des Chips getestet werden können. Die Selftest-Software besteht aus verschiedenen Testroutinen, die über Testvektoren aufgerufen werden. Diese Testvektoren können über den IO-Port eingegeben werden. Da die Größe des Testspeichers begrenzt ist und innerhalb der verschiedenen Produkte schwankt, ent- hält er in der Regel nicht alle Testroutinen. Deshalb müssen die übrigen Testroutinen in das EEPROM nachgeladen werden und von dort ausgeführt werden. Hierfür sind mehrere Programmier- und Löschvorgänge nötig, die im Vergleich zum eigentlichen Test wesentlich länger dauern.

Der als ROM ausgeführte Testspeicher ist Bestandteil des auf dem Halbleiter-Chip vorhandenen ROMs, das auch Anwenderpro- gramme wie das Betriebssystem und häufig verwendete Unterpro- gramme wie EEPROM-Schreib-und Löschprogramme enthält. Der Testspeicherbereich nimmt also einen Teil des Adressraums des ROMs in Anspruch, so daß ein irrtümlicher oder auch absicht- licher und mißbräuchlicher Einsprung in diesen Adressbereich möglich ist, selbst wenn durch bestimmte Maßnahmen ein Zu- griff auf diesen Adressbereich des ROMs nach den durchgeführ- ten Tests zu unterbinden versucht wird.

Die bisherige Realisierung hat also den Nachteil einerseits zu langsam zu sein, so daß die Tests zu lange dauern und da- mit teuer sind und andererseits auch nach dem Test einen Zu- griff auf die Testroutinen zu ermöglichen, da diese in einem

ROM quasi fest verdrahtet sind oder in einem EEPROM mögli- cherweise nicht-flüchtig auf dem Chip verbleiben können.

Die Aufgabe vorliegender Erfindung ist es also, eine Schal- tungsanordnung anzugeben, die einen schnellen Test erlaubt und einen hohen Schutz vor Mißbrauch bietet.

Die Aufgabe wird durch eine integrierte Schaltung gelöst, die zumindest eine CPU, ein Anwender-ROM, ein Test-ROM und eine CPU-internes RAM umfaßt. Der Adreßraum des Test-ROMs liegt dabei innerhalb des Adreßraums des Anwender-ROMs, wobei in erfindungsgemäßer Weise ein Schaltmittel vorgesehen ist, das einen Zugriff nur entweder auf das Anwender-ROM oder das Test-ROM ermöglicht. In vorteilhafter Weiterbildung ist das Schaltmittel irreversibel in einen Zustand versetzbar, der nur einen Zugriff auf das Anwender-ROM erlaubt. Auf diese Weise kann nach Abschluß der Testphase das Test-ROM gesperrt werden, ohne daß dessen früherer Adreßraum nicht mehr belegt ist. Es ist somit keine Lücke im zur Verfügung stehenden Adreßbereich vorhanden, in dem gesperrte Speicherbereiche liegen können, so daß ein Angreifer hieraus keinen Nutzen ziehen kann.

In Weiterbildung der Erfindung steht im Test-ROM lediglich ein zum Starten eines Tests unbedingt erforderliches Testbe- ginnprogramm. Damit werden die eigentlichen Testroutinen in ein CPU-externes, also zusätzliches RAM, ein sogenanntes X- RAM geschrieben, von wo sie dann ausgeführt werden.

Ein erfindungsgemäßes Verfahren ist in Anspruch 7 angegeben.

Eine Speicherung der Testroutine lediglich in einem X-RAM hat den Vorteil, daß nach einem Test durch Abschalten der Versor- gungsspannung die Testroutinen gelöscht werden können, da das X-RAM flüchtig ist.

Bei Chipkartenanwendungen steht normalerweise nur ein seriel- les Eingangs/Ausgangstor zur Verfügung, da dort nur eine be-

grenzte Anzahl von Kontakten zur Kommunikation mit der Außen- welt vorgesehen ist. Die Serien/Parallel-bzw. Paral- lel/Serien-Wandlung übernimmt der von der CPU gesteuerte Ak- kumulator. Dies erfolgt softwaregesteuert und ist entspre- chend langsam. In Weiterbildung der Erfindung ist deshalb ein aktivier-und deaktivierbares Schieberegister vorhanden, das das Eingangs/Ausgangstor zusätzlich mit einem internen Bus verbindet. Damit können die Testroutinen wesentlich schneller in das X-RAM geschrieben werden.

In weiterer Ausbildung der Erfindung kann dieses Schieberegi- ster dazu benutzt werden, während eines Test auftretende Si- gnale zur Überwachung nach außen in das Testgerät zu überfüh- ren. Damit kann der Test sicherer und schneller gemacht wer- den. Es ist dabei vorteilhaft, diese Signale vor der Übertra- gung zu verschlüsseln, was in vorteilhafter Weise durch eine lineare oder nicht-lineare Rückkopplung des Schieberegisters, beispielsweise durch ein XOR-Gatter, geschehen kann. Es sind aber auch andere Gatterfunktionen möglich.

Die Erfindung wird nachfolgend anhand eines Ausführungsbei- spiels mit Hilfe von Figuren näher beschrieben. Dabei zeigen : Figur 1 ein Blockschaltbild einer erfindungsgemäßen inte- grierten Schaltung und Figur 2 ein detaillierteres Schaltbild einer vorteilhaften Ausführung der Erfindung.

Gemäß Figur 1 sind eine CPU samt ihr zugeordnetem RAM, ein zusätzliches X-RAM sowie ein nicht-flüchtiges EEPROM über ei- nen Bus miteinander verbunden. Ein serielles Eingangs/Aus- gangstor I/O ist mit dem in der CPU enthaltenen (nicht darge- stellten) Akkumulator, der auch zur Serien/Parallel-Wandlung dient über den Bus verbunden. Ein ROM, in dem überwiegend An- wendersoftware enthalten ist und ein Test-ROM sind aber ein Schaltmittel MUX, das ein Multiplexer sein kann, ebenfalls

mit dem Bus verbunden. Das Schaltmittel MUX ist beispielswei- se über das Eingangs/Ausgangstor I/O gesteuert durch die CPU ansteuerbar, was durch einen Pfeil St angedeutet ist.

In erfindungsgemäßer Weise kann aber das Schaltmittel MUX im- mer nur entweder das ROM oder das Test-ROM mit dem Bus ver- bunden und adressiert werden. Die Adressen, mit denen das ROM adressiert werden kann, sind zumindest teilweise identisch mit den Adressen, mit denen das Test-ROM adressiert werden kann. Es ist daher anhand der Adressen nicht zu erkennen, ob das ROM oder das Test-ROM adressiert ist.

Der Bus ist über das Schaltmittel MUX irreversibel mit dem ROM verbindbar, so daß nach Ablauf der Testphase das Test-ROM vollständig vom Bus abgetrennt werden kann.

Im Test-ROM ist vorzugsweise lediglich ein für den Start ei- nes Tests erforderliches Testbeginnprogramm abgespeichert.

Dieses wird nach einem Power-on-Reset aufgerufen, so daß Testroutinen von außerhalb in das X-RAM geladen und von dort ausgeführt werden können. Das Schreiben der Testroutinen in das X-RAM hat den Vorteil, daß dieser Vorgang einerseits we- sentlich schneller abläuft und andererseits nur flüchtig ist, so daß die im X-RAM stehenden Testroutinen beispielsweise durch Abschalten der Versorgungsspannung schnell wieder ge- löscht werden können. Nach Abschluß des Tests wird das Schaltmittel MUX irreversibel in einen Zustand gebracht, der einen Zugriff auf das Test-ROM über den Bus unmöglich macht.

Figur 2 zeigt etwas detaillierter eine vorteilhafte Weiter- bildung der erfindungsgemäßen integrierten Schaltung. Das Eingangs/Ausgangstor I/O ist wie bereits erwähnt über einen Adreßdekoder mittels einer SFR (Special Function Register)- Adresse über den Bus von der CPU adressierbar, die ihrerseits parallele Verbindungen zum Bus hat. Wenn das Eingangs/Aus- gangstor I/O über die SFR-Adresse angesteuert wird, werden die ein-und ausgehenden Daten über den Bus zur bzw. von der

CPU transportiert. In der CPU kann programmgesteuert mittels des Akkumulators eine Serien/Parallel-beziehungsweise Paral- lel/Serienwandlung ein-beziehungsweise ausgehender Daten stattfinden.

In erfindungsgemäßer Weise ist parallel zu diesem Übertra- gungspfad ein Schieberegister SR geschaltet, mittels dem eine schnelle Serien/Parallel-beziehungsweise Parallel/Serien- Wandlung während der Testphase erfolgen kann. Das Schiebere- gister SR wird von der CPU ebenfalls aber eine SFR-Adresse angesprochen und gelesen. Hierzu ist ein entsprechender Adreßdecoder SFR beim Schieberegister SR vorgesehen. Über diese SFR-Adresse ist das Schieberegister von der CPU auch aktivier-und deaktivierbar.

Damit erkannt werden kann, wann ein zu wandelndes Wort in das Schieberegister SR eingeschrieben ist, ist ein Zähler Z vor- gesehen, der die Takte Cl, mit dem die Information in das Schieberegister SR eingeschrieben werden, zählt und jeweils nach einem Wort ein Signal an die CPU abgibt, die das Ein- schreiben in das X-RAM steuert.

Da eine CPU in integrierten Schaltungen üblicherweise 8Bit parallel verarbeiten kann, genügt im Prinzip ein 8Bit langes Schieberegister. Zur Synchronisation des Datenstromes muß dann ein einzelnes Startbit ausreichen. Nach jeweils 8 vom Zähler Z gezählten Takten findet dann eine Serien/Parallel- Wandlung beim Einlesen statt, indem der Inhalt des Schiebere- gisters SR parallel auf den Bus gegeben wird.

Es ist aber auch möglich, vor jedem einzulesenden Byte ein Startbit zu senden, wodurch die Verwendung eines Personal Computers als Tester vereinfacht würde. Dann ist aber ein 9Bit langes Schieberegister nötig. Außerdem wäre die Daten- übertragungsrate geringer.

Die Erfindung läßt sich prinzipiell bei jeder beliebigen von einer CPU verarbeitbaren Wortbreite anwenden also insbesonde- re auch bei 16Bit-und 32Bit-Zentraleinheiten. Das Schiebere- gister muß dann lediglich eine entsprechende Länge haben.

Ein möglicher Ablauf eines Tests läuft wie folgt ab : Zunächst sendet der Tester eine logische"0", um den Beginn eines Da- tentransfers anzuzeigen. Damit wird der Zähler Z freigegeben, der nach jeweils 8 Takten anzeigt, daß ein Byte abzuholen ist. Die CPU kann dies durch ein spezielles Signal erfahren, es ist aber genau so gut möglich, diesen Zeitraum durch eine Software einzustellen. In der Warteschleife, in der die CPU auf den Beginn einer Übertragung wartete, wurde vorher der Adreßzähler des X-RAMs auf seinen Anfang eingestellt. Nach der Übertragung wird nun zunächst die Testroutine aufgerufen, anschließend springt die CPU wieder in die Empfangs- Warteschleife.

In der Pause zwischen zwei Übertragungen ist es möglich, den Zähler Z weiterlaufen zu lassen. Dadurch können interne Si- gnale 8 Takte lang mit dem Systemtakt Cl mit dem Inhalt des Schieberegisters SR über eine beliebige Funktion wie zum Bei- spiel ein XOR verknüpft werden (Sammelphase) und in den näch- sten 8 Takten ausgegeben werden (Ausgabephase). Die Verknüp- fung ist durch einen Doppelpfeil vom Schieberegister SR zum XOR-Gatter angedeutet. Tatsächlich wird das Ausgangssignal des Schieberegisters SR über das XOR auf seinen Eingang rück- gekoppelt werden. Das XOR kann zum Zwecke der Verschlüsselung gesteuert von der CPU ein-bzw. ausgeschaltet werden. Dies ist durch einen Pfeil Pf angedeutet. In jeder Sammelphase kann dieser Vorgang durch ein Startbit unterbrochen werden, so daß ein neuer Datenstrom empfangen werden kann. Die Ver- knüpfung der internen Signale mit dem Inhalt des Schieberegi- sters SR während der Sammelphase hat zwei Gründe. Zum einen können dadurch alle 8 Werte, die in der Sammelphase verknüpft werden, auf ihre Korrektheit geprüft werden ; zum anderen wird dadurch kein Originalsignal an die Außenwelt weitergegeben,

so daß ein Mißbrauch dieser Information für potentielle An- greifer nicht möglich ist.

Diese vorteilhafte Weiterbildung dient der Erhöhung der Te- stabdeckung und der früheren Erkennung von defekten Chips, sofern die Defekte an den beobachteten internen Signalen er- kennbar sind.