![]() Procede de brouillage d'informations numeriques et dispositif pour la mise en oeuvre du procede
专利摘要:
公开号:WO1984000225A1 申请号:PCT/CH1983/000078 申请日:1983-06-20 公开日:1984-01-19 发明作者:Daniel Muessli 申请人:Daniel Muessli; IPC主号:G06F21-00
专利说明:
[0001] Verfahren zur Verschleierung von digitaler Informa¬ tion und Vorrichtung zur Durchführung des Verfahrens [0002] Die Erfindung betrifft ein Verfahren zur Ver¬ schleierung von digitaler Information, insbesondere von buskoordinierten, digitalen Daten, sowie eine Vorrichtung zur Durchführung des Verfahrens. [0003] Das Erstellen von Computerprogrammen ist nicht selten mit erheblichem intellektuellem und finanziellem Aufwand verbunden. Oft übertrifft der materielle Wert des Programmaufwandes den Wert der damit betriebenen Bauteile, Mit dem Aufkommen und der heute immer schnelleren Ver¬ breitung der einmalig programmflexiblen Mikroprozessoren jeder Bauart wird immer mehr physikalischer Schaltungs- [0004] OMPI aufwand durch materienfreien Programmaufwand ersetzt; einerseits, um einfaches Leitermaterial bis hin zu teuren Bauteilen zu sparen, und andererseits, um eine durch üb¬ liche, schaltungsmässige Auslegung nur schwer oder gar nicht mehr erreichbare Flexibilität bezüglich problem¬ orientierter Anwendung herbeizuführen. [0005] Der finanzielle Aufwand teurer, intellektueller Leistung kann nur durch vervielfachten Verkauf dieser Leistung wieder rekuperiert werden..Die für den Verkauf nötige Kopierbarkeit, mit anderen Worten, die herstellungs- mässige, möglichst einfache Vervielfältigung des die intellektuelle Leistung enthaltenden Produkts ist für den Hersteller eine Voraussetzung, aber damit auch eine inhärente Eigenschaft dieses Produkts: die einfache Kopeirbarkeit ist damit jedem einigermassen Sachverständi¬ gen möglich. [0006] Die meisten bekannten Massnahmen zum Schutz von Programmdaten sind organisatorischer Art und basieren auf Vereinbarungen mehr oder weniger verpflichtender Art, beispielsweise Verträge. Des weiteren werden Verschlüsse¬ lungen von Programmen verwendet; auch Sicherheitscodes, [0007] "φSmlEX [0008] OMPI [0009] ^RNAΎ Passwörter, etc. sind üblich. Das Bedürfnis zum Schutz der intellektuellen Leistung in Form von Computerprogrammen ist überall, wo solche Programme erarbeitet werden, stark vorhanden. [0010] Es ist Aufgabe der Erfindung, ein Verfahren zur Verschleierung von Programmdaten anzugeben und eine Vor¬ richtung zu schaffen, mit der Programmdaten, aber auch andere Daten, gegen unbefugten Zugriff geschützt sind. [0011] Es ist weiter Aufgabe der Erfindung, eine Mass- nahme anzugeben, die geeignet ist, ohne grossen Aufwand • einen beliebigen Typ von Mikroprozessor so auszurüsten, dass er als datensicher betrachtet werden kann. [0012] Die Aufgabe wird durch die in den Patentansprü¬ chen angegebene Erfindung gelöst. [0013] Die Erfindung wird nun mit Hilfe der nachfol¬ gend aufgeführten Figuren im einzelnen beschrieben. Es zeigen: [0014] OMPI [0015] '• . ATQΓ Fig. 1 in sehr schematisσher Darstellung das Prinzip der Erfindung und zugleich eine erste Ausfüh¬ rungsform der elektronischen Schaltungsvorrich¬ tung; [0016] Fig. 2 in mehr detaillierter Darstellung eine zweite Ausführungsform der elektronischen Schaltungs¬ vorrichtung gemäss Erfindung; [0017] Fig. 3 in Anlehnung an Figur 2 eine dritte Ausführungs¬ form der elektronischen Schaltungsvorrichtung gemäss Erfindung zur zusätzlichen Erhöhung der Sicherheit gegen unerlaubtes Ordnen der Informa¬ tion; und [0018] Fig. 4 eine vierte, mit verhältnismässig einfachem [0019] Schaltungsaufwand realisierbare Ausführungsform der elektronischen Schaltungsvorrichtung gemäss Erfindung. [0020] ^ REΛ [0021] OMH YV IPO [0022] ^< RN ~:s Daten im allgemeinen, Programmdaten im speziellen werden dem diese Daten verarbeitenden Mikroprozessor in streng geordneter Weise in Form eines Datenowrtes zuge¬ führt Die organisiert starre Anordnung der einzelnen bits in einem Datenwort wird durch die geometrisch feste Anord¬ nung des diese Daten übertragenden Bussystems fixiert. Das Bussystem ist also ein Element zur Aufrechterhaltung einer verabredeten Ordnung innerhalb des datenverarbeitenden Systems; ausserdem ist das Bussystem beispielsweise im Gegensatz zu den jedem Datenwort beigeordneten Adressen, ein Ordnungselement in Hardwareausführung, also örtlich fest und vor allen Dingen physikalisch recht einfach fest¬ stellbar. Uebliche und damit bekannte Schutzmassnahmen in Richtung Verschleierung der Information zielten stets in Richtung Maskierung und Codierung schon im Softwarebereich; dazu werden Codierer und Decodierer verwendet, um zumin¬ dest während der Uebertragung der Information die Geheim¬ haltung zu gewährleisten. Doch an beiden Enden der Ueber- tragungskette bestand jeweils wieder die Gefahr einer un¬ erwünschten Klartextvervielfältigung. [0023] Die Erfindung versucht nun, durch eigentliche Hardware-Massnahmen Information so zu verbergen, dass sie im Extremfall nur noch vom verarbeitenden Prozessor im Datenverarbeitungssystem "erkannt" werden kann. Ausserdem soll die Erfindung ein unbefugtes Abfühlen der Information weitestgehend verhindern; sie zielt auf ein eigentlich geschlossenes System zum Schutz von (vorwiegend Programm-) Daten hin. Die Verschleierung der Infromation soll in einem sogenannten zentralen Datenbussystem vor sich gehen, welches System von aussen nicht zugreifbar ist. [0024] Figur 1 zeigt in einfachstem Aufbau einen Mikro¬ prozessor 1 , einen allgemeinen Speicher 2 und als gestri¬ chelt gezeichnete Blackbox einen Datenverwirbler und -entwirbler 10, enthaltend ein elektronisches Datenver- tauschungs ittel 14 sowie einen sogenannten Schlüssel¬ speicher 12. Steuerleitungen, überhaupt alle zur Erklärung der Erfindung unwesentlichen Verbindungen, 'sind wegge¬ lassen. [0025] Des weiteren verbindet ein Adressbus den all¬ gemeinen Speicher, ein RAM oder ROM, mit dem μP-Port für die Adressierung. Der Datenbus dagegen führt durch die Wirbeleinrichtung 10, welche ihrerseits zur Vermittlung zwischen den beiden Ordnungszuständen "verwirbelt" und "entwirbelt" noch zusätzlich Information vom Adressbus zugeführt enthält . [0026] Wie später noch ausgeführt wird , bildet der Datenbusteil 1 7 ein äusseres und der Teil 71 ein inneres , also zentrales Datenbussystem. Der Zahlendreher 71 / 1 7 steht symbolisch für die Verwirbelung , 1 7 verwirbelt für die Hardcopy , 71 entwirbelt für den Mikroprozessor . [0027] Der Schlüssel PCM kann beispielsweise ein PRCM, EPPCM, REPRCM, etc. sein für austauschbare, anwendungsspezifische Verwirbe- lungsvor schriften oder aber ein PCM bzw. eine feste Schaltung für eine einmalige, festgelegte Verwirbelungsvorschrift. [0028] Bei der Verwirbelung der Daten geht es darum , nach einer bestimmten, aber beliebig wählbaren Vorschrift Datenleitungen des Bussystems untereinander zu vertauschen . Diese Vertauschung wird im Datenvertauschungsmittel 1 4 unter Anleitung des Schlüsselspeichers 1 2 vorgenommen. Die Ver¬ wirbelungsvorschrift kann ein beliebiger Algorithmus sein , der sich beispielsweise wie hier dargestellt an der Adres¬ se des zu verwirbelnden Datenwortes orientiert . Da eine strenge Verknüpfung zwischen Ver- und Entwirbelung be- stehen muss, bietet sich die Adressinformation zum Wieder¬ auffinden einer spezifischen Verwirbelung und der Zuord¬ nung der verwendeten Vorschrift als ein geeignetes Mittel an. [0029] Die zu verwendende Wirbeleinrichtung besteht aus einer elektrischen Schaltung, die geeignet ist, elektro¬ nisch die Busleitungen beliebig zu kreuzen oder zu ver¬ tauschen, und die geeignet ist, eine Kreuzungsvorschrift austauschbar oder fest aufzunehmen, und die letztlich ge¬ eignet ist, auf demselben Substrat wie der Mikroprozessor selbst angeordnet zu werden. Dazu eignet sich beispiels¬ weise Schaltungen in Dickfilm- oder Dünnfilmtechnik, die in die Prozessor-"Peripherie" eingebondet wird, oder aber die Ver- wirbelungsschaltung wird via Layout mit in den Chip inte¬ griert. Als Bestandteil des Prozessorchips kann in der VerwirbelungsVorrichtung beispielsweise im Sinne einer 1*1-Vorschrift keine Vertauschung vorgesehen sein bzw. bei deren Aktivierung eine solche stattfinden. Dabei ist es möglich, vorzusehen, dass die Verwirbelungsvorschrift bzw. diverse Verwirbelungsvorschriften via Programm, via Ladeeingriff, via Dateneingriff im allgemeinen etc. einge¬ bracht werden können. Die zur Verwirbelung verwendeten [0030] ΓREÄC [0031] OMPI [0032] ^Ä Schaltungsteile können mit bipolaren PROMs, PLA, C-MOS- RAM, bipolaren RAM, EEPROMS, EPROMS, no-voltage-RAMs, ULAs realisiert werden. [0033] Figur 2 zeigt ein anderes Schaltungs- und Aus¬ führungsbeispiel der Erfindung mit zusätzlichen Details. Ein Mikroprozessor 1 ist an ein zentrales Datenbussystem 71 angeschlossen, das in eine Wirbeleinrichtung führt, bestehend aus einem Codierer 25 und einem Deσodierer 26; davon weg führt das äussere Datenbussystem beispielsweise auf die Klemmen des DATA-Port oder auf einen beliebigen Speicher. Wichtig ist die Unterscheidung zwischen nicht¬ zugänglichen Datenleitungen,' auf denen die unverwirbelte Information verkehrt, und den zugänglichen Datenleitungen, auf denen nach Wahl ver- oder unverwirbelte Daten ver¬ kehren. Die Zugänglichkeit soll dabei so begriffen werden, dass auch geräteinterne Anzapfungen durch Fachleute als zugänglich betrachtet werden, d. h. unzugänglich wird es dann, wenn für eine eventuelle Anzapfung keine Klemmen im weitesten Sinne mehr verfügbar sind. Auch gegen nicht¬ galvanische Anzapfungen soll der Bauteil geschützt sein, welche Schutzmassnahmen mit bekannten Mitteln getroffen werden können. Auf die Wirbeleinrichtung führen vom Mikro¬ prozessor zusätzlich beispielsweise Steuerleitungen RD bzw. WR und Zuleitungen 15', 15" für die AdressInformation aus dem Adressbus 15. Die Zuleitungen 15', 15" sind aus Gründen der übersichtlichen Darstellung als einfache Zu¬ leitungen und nicht als Bussymbol gezeichnet. Die Bidirek- tionalität der Schaltung kann leicht mit Tristate-Bauele- menten realisiert werden, was im Beispiel der Figur 2 mit TRI angedeutet ist. [0034] Das Einlesen eines verwirbelten Programms ge¬ schieht über die Decodierstufe 26, das Auslesen über die Codierstufe 25. Der Zusammenhang der beiden Stufen ist über den Adressbus gegeben. Die Verwirbelungsvorschrift in der Blackbox 25 arbeitet invers zur Entwirbelungsvor- schrift der Blackbox 26. Je nach Aufbau der Vorschrift besteht eine Beziehung W*W , W für Wirbel, so dass die beiden Bausteine beliebig alternierend verwendet werden können, d. h. beide können je nachdem Codieren oder Decodieren, da jeder der beiden Bausteine die Wirbelung des anderen rückgängig machen kann. Dabei können selbst¬ verständlich zwei oder mehr designierbare Wirbelpfade vorgesehen sein, um die Sicherheit zu erhöhen. Figur 3 zeigt in Erweiterung der Ausführungs- form gemäss Figur 2 innerhalb des Datenverwirbelungsmit- tels 10 ein Datenvertauschungsmittel 14' zur zusätzlichen Verwirbelung der Adressinformation, die ja zur Orientie¬ rung bei der (Programm-)Datenverwirbelung dient. Selbst¬ verständlich muss auch bei der Adressdatenvertauschung eine "rückführende" Vorschrift existieren, um dem Prozessor die Verarbeitung der Daten zu ermöglichen. Die Verwirbelung W ist so bezeichnet, um sie gegen ein zuein¬ ander reversibel oder rückführend wirkendes Verwirbelungs- paar W*W abzuheben. Für dieses W*W -Paar ist Wo die [0035] Orientierung; W dagegen orientiert sich an einer anderen festen Vorschrift. [0036] Auch hier sind wieder - wie schon erwähnt - mehrfache, über eine Jfehrzahl von Datenverwirbelungsmitteln 10, 10' ... 10 ' laufende, parallel zueinander wirkende Wirbelpfade möglich, wobei jeder Pfad einer anderen, in den Mitteln 10 enthaltenenen ZuOrdnungsvorschrift gehorcht. Die Verwirbelung der einzelnen Vorschriften oder Tabellen wäre dann eine Verwirbelung noch höherer Ordnung als beispielsweise die Adressdatenverwirbelung bzw. einer Verwirbelung der in diesem Fall ersten Orientierung. Figur 4 schliesslich zeigt - aus einer notabene Vielzahl möglicher Ausführungsformen - eine bezüglich Schaltungsaufwand besonders einfache Lösung. Eine 2x2-XOR- Anordnung im Sinne der W*W -Zuordnung erlaubt mittels Steuerung mit READ/WRITE eine Verwirbelung der Daten auf B1/B2 zu B5 bis B8. Dasselbe tut je nach Bedarf auch eine erweiterte 3x3- bis nxn-Anordnung. Die Aequivalente zu den vorher beschriebenen Ausführungsformen sind leicht zu er¬ kennen: das zugriffsgeschützte interne Datenleitungssystem 71, das zugriffsfähige externe Datenleitungssystem 17, das Datenverwirbelungsmittel 10 und schliesslich in dieser Figur nicht eingezeichnet Datenvertauschungsmittel 14 in Form von nxn-XOR-Schaltungen, die auch gleich hardware- mässig fixiert die ZuOrdnungsvorschrift enthalten. [0037] OMPI RNATIQ$
权利要求:
Claims P A T E N T A N S P R Ü C H E 1. Verfahren zur Verschleierung von digital anfallender Information in einer datenverarbeitenden Maschine mit Speichermitteln und Datenverarbeitungsmitteln und diese Mittel verbindende Datenleitungen, gekennzeich¬ net durch planmässiges, gegenseitiges Vertauschen der Daten auf den Datenleitungen zwischen Speichermitteln und Datenverarbeitungsmitteln. 2. Verfahren nach Anspruch 1, gekennzeichnet durch die Vertauschung der Datenbusleitungen. 3. Verfahren nach Anspruch 2, gekennzeichnet durch je eine Vertauschung von Datenbusleitungen pro vorbe¬ stimmte Adresskombination. 4. Elektronische Schaltungsvorrichtung zur Durchführung des Verfahrens nach Anspruch 1 in der Maschine mit Speichermitteln und Datenverarbeitungsmitteln und diese Mittel verbindende Datenleitungen, gekennzeich¬ net durch die Zwischenschaltung in mindestens zwei Datenleitungen eines Datenverwirbelungs ittels (10) und Aufteilung des Datenleitungssystems in einen zugriffsgeschützten internen Teil (71) und einen zugriffsfähigen externen Teil (17) . 5. Elektronische Schaltungsvorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass das Datenverwirbelungs¬ mittel (10) aus einem elektronischen Datenvertau¬ schungsmittel (14) und einem das Vertauschungsmittel ansteuernden Schlüsslspeicher (12) besteht. 6. Elektronische Schaltungsvorrichtung nach Anspruch 5, gekennzeichnet durch die Zwischenschaltung eines elektronischen Datenvertauschungsmittels (1 ) in den Datenbus (17); durch die Zuschaltung eines Schlüssel- speichers (12) zwischen Adressbus (15) und Daten¬ vertauschungsmittel (14), einem Steuerbus (SB) als Verbindung zwischen dem Datenvertauschungsmittel (14) und dem Schlüsselspeicher (12) sowie einem zugriffs¬ geschützten Datenbus (71) als Verbindung zwischen dem Datenvertauschungsmittel (14) und einem Mikroprozessor (μP). 7. Elektronische Sσhaltungsvorrichtung nach Anspruch 4, gekennzeichnet durch eine Aufzweigung des Datenbus (17), eine Codierschaltung (25, 26) im einen Datenbuszweig und eine Decodierschaltung (25, 26) im anderen Daten¬ buszweig und eines zugriffsgeschützten Datenbus (71) als Verbindung zwischen Codierer/Decodierer (25, 26) und einem Mikroprozessor (μP) . 8. Elektronische Schaltungsvorrichtung nach Anspruch 7, gekennzeichnet durch die Zwischenschaltung eines Vertauschungsmittels (14') in die Datenleitungen des Adressbus (15', 15") zur plan ässigen Verwirbe¬ lung der Orientierung. 9. Elektronische Schaltungsvorrichtung nach einem der Ansprüche 5, 6 und 7, gekennzeichnet durch lösch- und neuprogrammierbare ROM-Speicherelemente. 10. Elektronische SchaltungsVorrichtung nach einem der Ansprüche 5, 6 und 7, gekennzeichnet durch die Ver¬ wendung von PLA-Bauelernenten. 11. Elektronische Schaltungsvorrichtung nach Anspruch 9, gekennzeichnet durch die Verwendung von Tristate-Bau- elementen. 12. Elektronische Schaltungsvorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass das Datenverwirbelungsmit¬ tel (10) eine auf dem Mikroprozessorsubstrat ange¬ ordnete und in die äusseren Leiterbahnen der inte¬ grierten μP-Schaltung eingebondete Dickfilmschaltung ist. 13. Elektronische Schaltungsvorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass das Datenverwirbelungs¬ mittel (10) ein mit der gleichen HerStellungstechnik wie der μP-hergestellter Bestandteil des μP-Chips ist.
类似技术:
公开号 | 公开日 | 专利标题 KR100489757B1|2005-05-16|프로그램 가능한 액세스 보호 기능을 갖는 메모리 장치 및 그 메모리 장치의 동작 방법 US6296191B1|2001-10-02|Storing data objects in a smart card memory CA1299288C|1992-04-21|System for data field area acquisition in ic card formultiple services US5860099A|1999-01-12|Stored program system with protected memory and secure signature extraction US5126728A|1992-06-30|ADP security device for labeled data US6160734A|2000-12-12|Method for ensuring security of program data in one-time programmable memory US7149854B2|2006-12-12|External locking mechanism for personal computer memory locations US5251304A|1993-10-05|Integrated circuit microcontroller with on-chip memory and external bus interface and programmable mechanism for securing the contents of on-chip memory US6615324B1|2003-09-02|Embedded microprocessor multi-level security system in flash memory US4747139A|1988-05-24|Software security method and systems TWI351607B|2011-11-01|Multi-processor data verification components for s US4685056A|1987-08-04|Computer security device US5649159A|1997-07-15|Data processor with a multi-level protection mechanism, multi-level protection circuit, and method therefor EP1062633B1|2003-12-17|Vorrichtung zum maskieren von betriebsvorgängen in einer mikroprozessorkarte KR100831441B1|2008-05-21|신뢰 주변 장치 메커니즘 US5845066A|1998-12-01|Security system apparatus for a memory card and memory card employed therefor US5894551A|1999-04-13|Single computer system having multiple security levels CN100371906C|2008-02-27|用于确定访问许可的方法和设备 US5276738A|1994-01-04|Software data protection mechanism EP1423766B1|2007-12-12|Verwendung von daten gespeichert in einem lese-zerstörenden speicher EP0689701B1|2001-12-12|Gesicherte speicherkarte mit programmierter gesteuerter sicherheits-zugriffs-kontrolle US4646234A|1987-02-24|Anti-piracy system using separate storage and alternate execution of selected proprietary and public portions of computer programs AU602141B2|1990-10-04|Memory cartridge KR970004513B1|1997-03-28|데이타 처리장치 EP0498654B1|2000-05-10|Cachespeicher zur Verarbeitung von Befehlsdaten und Datenprozessor mit demselben
同族专利:
公开号 | 公开日 EP0097621A1|1984-01-04| JPS59501128A|1984-06-28|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
1984-01-19| AK| Designated states|Designated state(s): JP US |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 CH379982||1982-06-21||JP58501916A| JPS59501128A|1982-06-21|1983-06-20|| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|