DE4028982A1 - High speed encryption of data on work station - involves encryption on output and decryption on input during data exchanges with storage media using little CPU processing power - Google Patents

High speed encryption of data on work station - involves encryption on output and decryption on input during data exchanges with storage media using little CPU processing power

Info

Publication number
DE4028982A1
DE4028982A1 DE19904028982 DE4028982A DE4028982A1 DE 4028982 A1 DE4028982 A1 DE 4028982A1 DE 19904028982 DE19904028982 DE 19904028982 DE 4028982 A DE4028982 A DE 4028982A DE 4028982 A1 DE4028982 A1 DE 4028982A1
Authority
DE
Germany
Prior art keywords
data
apc
encryption
storage media
output
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.)
Granted
Application number
DE19904028982
Other languages
German (de)
Other versions
DE4028982C2 (en
Inventor
Dietrich Siedentop
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.)
Bundesrepublik Deutschland
Bundesamt fuer Sicherheit in der Informationstechnik
Original Assignee
Bundesrepublik Deutschland
Bundesamt fuer Sicherheit in der Informationstechnik
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 Bundesrepublik Deutschland, Bundesamt fuer Sicherheit in der Informationstechnik filed Critical Bundesrepublik Deutschland
Priority to DE19904028982 priority Critical patent/DE4028982C2/en
Publication of DE4028982A1 publication Critical patent/DE4028982A1/en
Application granted granted Critical
Publication of DE4028982C2 publication Critical patent/DE4028982C2/en
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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The method of expanding the charcteristics of workstations by adding the capability to encode and decode data to be stored on storage media such as fixed discs, floppy discs and tape streamers involves encoding the output data and decoding the input data during data communications with the storage media. The processing power of the workstation`s CPU is only used indirectly and to a small extent for data encryption. ADVANTAGE - Enables programs in workstation to run faster and higher data exchange rates to be achieved.

Description

Gegenstand der Erfindung ist ein Verschlüsselungssystem für Arbeitsplatz- Computer (APC), genannt APC-Enkryptor, welches sich dadurch auszeichnet, daß es in einem APC eingesetzt werden kann, um der Sicherung der gespeicher­ ten Daten gegen Kenntnisnahme oder Verfälschung durch Unbefugte zu dienen. Dies geschieht mittels zwangsweiser Kryptierung aller Daten, die mit externen Massenspeichern wie Floppy-Disks, Festplatten, Streamer-Tapes und ande­ ren peripheren Geräten ausgetauscht werden sollen, und unabhängig davon, ob es sich um Programme, Datensätze oder Systeminformationen handelt. Unter zwangsweiser Kryptierung wird in diesem Zusammenhang verstanden, daß es nicht in das Belieben des Benutzers gestellt ist, ob geschlüsselt wird oder nicht. Vielmehr wird mit Hilfe des Verfahrens sichergestellt, daß grundsätzlich kryptiert wird, solange der Enkryptor in den APC eingesetzt ist.The invention relates to an encryption system for workplace computers (APC), called APC-Encryptor, which is characterized in that it is in an APC can be used to backup the saved data against knowledge or falsification by To serve unauthorized persons. This is done using compulsory Crypting all data using external mass storage devices such as floppy disks, hard drives, streamer tapes and others ren peripheral devices to be replaced, and regardless of whether it is programs, records or system information. Under compulsory In this context, cryptography is understood to mean that it is not at the user's discretion whether is encrypted or not. Rather, with the help of Procedure ensures that basically crypted as long as the encoder is inserted in the APC.

Insbesondere zeichnet sich der APC-Enkryptor dadurch aus, daß die Baugruppe die Kryptierung der Daten in der Weise vornimmt, daß die Rechenleistung des APC selbst nur in­ soweit in Anspruch genommen werden muß, als es den Trans­ fer der zu kryptierenden Daten zum bzw. kryptierten Daten vom Enkryptor betrifft, während die Kryptierung selbst vollständig unabhängig vom APC- System und paral­ lel zu dessen Programmablauf erfolgt. Damit ist der Vor­ teil verbunden, daß die Abarbeitung von System- und An­ wendungsprogrammen, die Datenaustausch mit externen Spei­ chermedien anfordern, nur geringfügig verlangsamt wird, obwohl die Kryptierung bei jedem Lese- bzw. Schreib­ vorgang automatisch in Funktion tritt. Diese Eigenschaft des Systems dürfte neben dem Sicherheitsgewinn auch den wirtschaftlichen Betrieb des damit ausgestatteten Ar­ beitsplatz- Computers garantieren bzw. aufrecht erhalten sowie der Akzeptanz durch die Benutzer in besonderer Wei­ se förderlich sein.In particular, the APC encoder is characterized by that the assembly encrypting the data in such a way makes the computing power of the APC itself only in as far as must be used as it the Trans of the data to be crypted Data from the encryptor is affected during encryption itself completely independent of the APC system and parallel lel to its program flow. This is the first partly connected that the processing of system and an application programs that exchange data with external storage  request media, is only slightly slowed down, although the cryptography with every read or write process automatically comes into operation. This attribute of the system should not only gain security, but also that economic operation of the Ar equipped with it guarantee or maintain beitsplatz computers and user acceptance in a special way be conducive.

Stand der Technik ist, daß es neben reinen Software- ge­ stützten Lösungen, die häufig aus Sicherheitsgründen ab­ zulehnen sind, auch Verschlüsselungssysteme gibt, die auf Hardware- Komponenten basieren und eine Krypto-Baugruppe implementiert haben, die die Ver- und Entschlüsselung durchführt, aber im wesentlichen ohne eigene Rechenlei­ stung ausgestattet sind. Dieser Umstand bringt den Nach­ teil mit sich, daß alle im Zusammenhang mit der Kryptie­ rung von Daten erforderlichen Funktionen wie
Initialisieren des Kryptoalgorithmus,
Beladen mit aktuellen Schlüsseln,
Beschicken mit den zu kryptierenden Daten,
Transport der kryptierten Daten,
Warten-auf-Fertig-Schleifen (Wait-for-Ready),
u.v.m. durch Programmteile wahrgenommen werden, die vom Mikro­ prozessor des APC auszuführen sind. Die für diese Funk­ tionen benötigten Zeiten schlagen somit in vollem Umfang auf die erreichbaren Input/Output- (I/O-) Zeiten des APC durch, die sich dadurch erheblich verlängern können. Das macht sich insofern dem Benutzer gegenüber negativ be­ merkbar, als besonders das Laden/Speichern größerer Pro­ gramme oder die Bearbeitung größerer Datenmengen, z. B. bei Dateisystemen oder Datenbankabfragen, durch merklich erhöhten Zeitbedarf verglichen mit dem Standard- I/O in Erscheinung tritt.
State of the art is that in addition to pure software-based solutions that are often rejected for security reasons, there are also encryption systems that are based on hardware components and have implemented a crypto module that performs the encryption and decryption, but are essentially equipped without their own computing power. This fact entails the part that all functions required in connection with the cryptation of data such as
Initialize the crypto algorithm,
Loading with current keys,
Loading with the data to be crypted,
Transport of the encrypted data,
Wait-for-ready grinding,
and many more are perceived by program parts that are to be executed by the microprocessor of the APC. The times required for these functions thus fully affect the achievable input / output (I / O) times of the APC, which can be considerably extended as a result. This makes itself negatively noticeable to the user, especially when loading / saving larger programs or processing larger amounts of data, e.g. B. in file systems or database queries, by noticeably increased time compared to the standard I / O appears.

Die vorstehend genannten Eigenschaften werden dadurch erreicht, daß der APC- Enkryptor als eigenständiges Mi­ kroprozessor- oder Mikrocontroller- gestütztes Subsystem aufgebaut und mit allen erforderlichen Komponenten aus­ gestattet ist, die für das autarke Abarbeiten von be­ stimmten, nachstehend beschriebenen, Funktionen erforder­ lich sind. Dazu gehört neben dem Mikroprozessor- oder Mi­ krocontroller (2), im weiteren MP/MC genannt, insbeson­ dere auch das Kryptoelement (4), im weiteren KE genannt, welches die eigentliche Ver- bzw. Entschlüsselung vor­ nimmt. Die KE (4) ist als peripheres, MP/MC-Bus- kompati­ bles Bauelement konzipiert und ist somit optimal an die Arbeitsweise des steuernden Prozessors angepaßt. Sie sollte in Form einer Hochintegration vorliegen, wodurch die Sicherheit gegen Kompromittierung oder Verfälschung des implementierten Krypto- Algorithmus gesteigert sowie die Kostengünstigkeit bei größeren Stückzahlen gewähr­ leistet wird.The abovementioned properties are achieved in that the APC encoder is constructed as an independent microprocessor or microcontroller-based subsystem and is equipped with all the necessary components which are necessary for the autonomous processing of certain functions described below. In addition to the microprocessor or microcontroller ( 2 ), hereinafter referred to as MP / MC, in particular also the crypto element ( 4 ), hereinafter referred to as KE, which performs the actual encryption and decryption. The KE ( 4 ) is designed as a peripheral, MP / MC bus compatible component and is therefore optimally adapted to the way the controlling processor works. It should be in the form of a high level of integration, which increases the security against compromise or falsification of the implemented crypto-algorithm and ensures the cost-effectiveness of larger quantities.

Insbesondere zeichnet sich der APC- Enkryptor dadurch aus, daß der Austausch von Daten mit dem APC über einen Speicherbereich vorgenommen wird, der sowohl von der APC­ als auch von der Enkryptor- Seite her gelesen oder be­ schrieben werden kann. Dieser - bekannterweise als Dual-Port-RAM (3) (DPR) bekannte - Speicherbereich bildet die Datenschnittstelle zwischen beiden Systemen, womit eine aufwandsminimale Lösung für ein Hochgeschwindig­ keits- Interface vorliegt. Über diese Schnittstelle wer­ den Daten, Parameter und Schlüssel ausgetauscht, letzte­ re jedoch aus Sicherheitsgründen nur unidirektional vom APC zum Enkryptor. Weiterhin ist der Enkryptor mit einem Kommando- und Statusregister (7) ausgerüstet, über das von der APC- Seite her Kommandos an den Enkryptor abge­ setzt werden bzw. dessen logischer Zustand angezeigt und von der APC-Seite abgefragt werden kann. Daneben wird von einer Unterbrechungsleitung (6) des APC, Interrupt- Lei­ tung genannt, Gebrauch gemacht, die dazu dient, der APC- Seite schnellstmöglich die Beendigung eines Kryptierauf­ trags anzuzeigen und sie zur Weiterleitung der bearbei­ teten Daten zu veranlassen.In particular, the APC encoder is characterized in that the data is exchanged with the APC over a memory area which can be read or written by both the APC and the encoder side. This - known as Dual-Port-RAM ( 3 ) (DPR) - memory area forms the data interface between the two systems, which provides a minimal solution for a high-speed interface. Data, parameters and keys are exchanged via this interface, but the latter are only unidirectional from the APC to the encoder for security reasons. Furthermore, the encoder is equipped with a command and status register ( 7 ), via which commands are sent to the encoder from the APC side or whose logical status can be displayed and queried by the APC side. In addition, use is made of an interrupt line ( 6 ) of the APC, called the interrupt line, which serves to notify the APC side of the termination of a crypting job as quickly as possible and to cause it to forward the processed data.

Die Funktionen des Enkryptors werden über zwei verschie­ dene Programme gesteuert. Das eine Programm residiert in einem Programmspeicher in der Enkryptor- Baugruppe und bestimmt die Aktionen des MP/MC (2), während das zweite Programm in einem weiteren Programmspeicher (1) abgelegt ist, welches im Adreßbereich des APC lauffähig ist und die Aufgabe hat, die Einbindung des Enkryptors in den I/O des APC sicherzustellen. Dieses Programm wird im weiteren Treiber- Programm genannt, da Funktionen eines Geräte­ treibers, in diesem Falle für das Gerät "Enkryptor", wahrgenommen werden. Auch das Treiber- Programm ist inte­ graler Bestandteil der Enkryptor-Baugruppe.The functions of the encoder are controlled by two different programs. One program resides in a program memory in the encoder module and determines the actions of the MP / MC ( 2 ), while the second program is stored in another program memory ( 1 ), which can run in the address area of the APC and has the task ensure the integration of the encoder in the I / O of the APC. This program is referred to in the rest of the driver program, since functions of a device driver, in this case for the "Encryptor" device, are performed. The driver program is also an integral part of the encoder module.

Die Einbindung des Enkryptors in das I/O-System des APC beruht auf dem Prinzip des sich Einschleifens in den nor­ malen Pfad, den die Daten zum oder vom Speichermedium nehmen, ohne jedoch die I/O- Routinen des Betriebssystems selbst zu verändern. Nur dadurch kann sichergestellt wer­ den, daß sich die Baugruppe verträglich gegenüber belie­ bigen Anwender- und Systemprogrammen verhält, was als unabdingbare Voraussetzung im Hinblick auf seine Ak­ zeptanz bei den Anwendern eingehalten wird. Aus diesem Grunde ist das Kryptieren von Daten blockweise organi­ siert, wie es von dem standardmäßigen Ein/Ausgabesystem des APC vorgegeben ist. Die Länge eines zu kryptierenden Datenblocks entspricht somit stets der Länge der Blöcke, wie sie auf einem Speichermedium organisiert sind, im Falle von Plattenspeichern also der Länge eines Sektors. Entsprechend ist auch das DPR organisiert. The integration of the encoder into the I / O system of the APC is based on the principle of grinding into nor paint path the data to or from the storage medium take, but without the I / O routines of the operating system change yourself. This is the only way to ensure who that the assembly is compatible with one another other user and system programs, what behaves as indispensable requirement with regard to his Ak user acceptance. For this The encryption of data is basically organized in blocks based on the standard input / output system of the APC is specified. The length of one to be crypted Data blocks therefore always correspond to the length of the blocks, as they are organized on a storage medium, in In the case of disk storage, the length of a sector. The DPR is organized accordingly.  

Die nachstehenden Abläufe treten bei der Ein- bzw. Aus­ gabe eines Datenblocks in Funktion, wobei auf effektive Signalisierungen an der Schnittstelle beider Systeme ge­ achtet wurde.The following procedures occur when switching on and off Function of a data block, whereby effective Signaling at the interface of both systems was respected.

Für das Einlesen von Daten von einem peripheren Massen­ speicher wird die Anforderung des das Einlesen verlan­ genden Programms an der Stelle durch das Treiber-Programm abgefangen, an der die Routinen des "Basic Input/Output System", bekanntermaßen auch BIOS genannt, angesprochen werden. Statt wie üblich die eingelesenen Daten in den Arbeitsspeicher des APC durch die BIOS- Routinen transfe­ rieren zu lassen, werden sie von dem Treiber- Programm in das DPR (3) umgeleitet und zusammen mit weiteren, für den Kryptierprozeß bestimmten Parametern, übergeben. Das DPR (3) ist ausreichend groß ausgelegt, um den größtmög­ lichen Block von Daten aufzunehmen, den BIOS zusammen­ hängend verarbeiten kann, um das Splitten von Ein/Aus­ gabe- Aufträgen im Interesse einer hohen Durchsatzrate zu vermeiden. Danach wird der Enkryptor über das Komman­ doregister (7) unter Mitteilung der aktuellen Block- Nr. für die Betriebsart "Entschlüsseln" beauftragt.For the reading in of data from a peripheral mass memory, the request of the program requesting the reading is intercepted by the driver program at the point at which the routines of the "basic input / output system", known as BIOS, are addressed. Instead of having the data read into the working memory of the APC by the BIOS routines as usual, they are redirected by the driver program to the DPR ( 3 ) and transferred together with other parameters intended for the crypting process. The DPR ( 3 ) is designed to be large enough to accommodate the largest possible block of data that BIOS can process together to avoid splitting input / output jobs in the interest of a high throughput rate. The encoder is then instructed via the command register ( 7 ) and the current block number for the "decrypting" operating mode.

Der MP/MC (2) überträgt nun den aktuellen Schlüssel an die KE (4), setzt die Betriebsart "Entschlüsseln" und startet den Entschlüsselungsvorgang, indem die kryptier­ ten Daten in der Weise der KE (4) zur Verfügung gestellt werden, wie es die Organisation des implementierten Kryp­ to- Algorithmus verlangt. Entsprechend werden die Ergeb­ nisse nach Beendigung der Chiffrierung an dieselbe Stelle des DPR zurückgeschrieben, von denen sie ursprünglich gelesen wurden (Inplace- Operation). Wenn jeweils ein Block von Daten in dieser Weise bearbeitet worden ist, wird über die Unterbrechungsleitung (6) ein Interrupt am APC ausgelöst, der das Treiber- Programm aktiviert, um den entschlüsselten Datenblock an die Adresse im Ar­ beitsspeicher zu übertragen, für den die Daten ursprüng­ lich bestimmt waren.The MP / MC ( 2 ) now transfers the current key to the KE ( 4 ), sets the operating mode "decrypt" and starts the decryption process by making the crypted data available to the KE ( 4 ) as it is the organization of the implemented crypto algorithm requires. Accordingly, the results are written back to the same place on the DPR from which they were originally read after the encryption has been completed (in-place operation). If a block of data has been processed in this way, an interrupt is triggered on the APC via the interrupt line ( 6 ), which activates the driver program in order to transfer the decrypted data block to the address in the working memory for which the data were originally intended.

Während diese Abläufe auf der APC- Seite stattfinden, wird im Enkryptor bereits der ggf. nächste Datenblock entschlüsselt (Parallelität).While these processes take place on the APC side, the next data block, if any, will already be in the encoder decrypted (parallelism).

Infolge der parallel ablaufenden Prozesse auf der APC­ und Enkryptor- Seite liegen die angeforderten Daten in minimaler Zeit im Arbeitsspeicher des APC vor. Zu diesem Zeitpunkt kann die Programmkontrolle an das die Eingabe verlangende Programm zurückgegeben werden, da der Prozeß der Dateneingabe logisch beendet ist.As a result of the parallel processes on the APC and the encoder side, the requested data is in minimum time in the working memory of the APC. To this At this point, the program control can send the input Requiring program to be returned as the process data entry is logically completed.

Für das Speichern/Schreiben von Daten auf eines der peri­ pheren Speichermedien wird die Anforderung des die Aus­ gabe verlangenden Programms an der Stelle durch das Trei­ ber- Programm abgefangen, an der die entsprechende Routi­ ne des BIOS angesprochen wird. Statt wie im Normalfall die auszugebenden Daten vom Arbeitsspeicher direkt an den Controller des Laufwerks transferieren zu lassen, werden sie vom Treiber- Programm in das DPR (3) umgeleitet und zusammen mit den o.g. Parametern an den Enkryptor überge­ ben. Danach wird der Enkryptor über das Kommandoregister (7) unter Mitteilung der aktuellen Block-Nr. für die Be­ triebsart "Verschlüsseln" beauftragt.For the storage / writing of data on one of the peripheral storage media, the request of the program demanding the output is intercepted by the driver program at the point at which the corresponding routine of the BIOS is addressed. Instead of having the data to be output from the working memory transferred directly to the controller of the drive, as is normally the case, the driver program redirects it to the DPR ( 3 ) and transfers it to the encoder along with the above parameters. Then the encoder is via the command register ( 7 ) with notification of the current block no. commissioned for the "Encrypt" mode.

Der MP/MC (2) überträgt nun den aktuellen Schlüssel an die KE (4) und startet den Kryptiervorgang in derselben Weise wie beim Einlesen von Daten, aber mit dem Unter­ schied, daß die KE (4) in die Betriebsart "Verschlüsseln" gesetzt wird.The MP / MC ( 2 ) now transfers the current key to the KE ( 4 ) and starts the crypting process in the same way as when reading in data, but with the difference that the KE ( 4 ) is set to the "encrypt" mode becomes.

Wenn jeweils ein Block von Daten in dieser Weise bearbei­ tet worden ist, wird über die Unterbrechungsleitung (6) ein Interrupt am APC ausgelöst, der das Treiber- Programm aktiviert, um den verschlüsselten Datenblock vom DPR (3) an die Adresse des Controllers des Laufwerks zu über­ tragen, für das die Daten ursprünglich bestimmt waren. Während diese Abläufe auf der APC- Seite stattfinden, wird in der Enkryptor- Baugruppe bereits der ggf. nächste Datenblock verschlüsselt (Parallelität).If a block of data has been processed in this way, an interrupt is triggered at the APC via the interrupt line ( 6 ), which activates the driver program to send the encrypted data block from the DPR ( 3 ) to the address of the controller of the drive for which the data was originally intended. While these processes take place on the APC side, the next data block, if applicable, is already encrypted in the encoder (parallelism).

Infolge dieser parallel auf der APC- und Enkryptor- Seite ablaufenden Prozesse wird das kryptierte Speichern des gesamten Datenblocks in minimaler Zeit erreicht. Sobald das letzte Datum des aktuellen Ausgabeauftrags in das DPR (3) transferiert worden ist, ist der Ausgabeprozeß aus der Sicht des die Ausgabe verlangenden Programms logisch beendet. Somit ist die Rückgabe der Programmkontrolle an dieses Programm bereits vorteilhaft zu diesem Zeitpunkt möglich, bevor die Daten tatsächlich kryptiert und an das Speichermedium ausgegeben wurden.As a result of these processes running in parallel on the APC and Encrypt side, the crypted storage of the entire data block is achieved in a minimum of time. As soon as the last date of the current output order has been transferred to the DPR ( 3 ), the output process is logically ended from the point of view of the program requesting the output. It is thus advantageously possible to return the program control to this program at this point in time before the data has actually been crypted and output to the storage medium.

Der Fall der Ausgabe zeichnet sich daher durch einen be­ sonders hohen Datendurchsatz aus, weil das die Ausgabe verlangende Programm im APC, der Enkryptor und ein exter­ nes Laufwerk gleichzeitig aktiv sein können.The case of output is therefore characterized by a be particularly high data throughput because that is the output demanding program in the APC, the Encryptor and an external drive can be active at the same time.

Die den Enkryptor und ihre Komponenten darstellende Hard­ ware und Firmware ist geeignet, auf einer Einschub- Karte realisiert zu werden, um in einen freien Erweiterungs­ steckplatz eingesteckt zu werden. Der Enkryptor ist ohne jede Änderung an Hard- und Software des APC betreibbar.The hard that represents the encoder and its components Goods and firmware are suitable on a plug-in card to be realized in a free extension slot to be plugged in. The encoder is without any changes to hardware and software of the APC can be operated.

Die Verträglichkeit des Enkryptors mit beliebigen System­ und Anwenderprogrammen ist vollständig gewährleistet, so­ lange diese den üblichen Konventionen des Betriebssystems für den I/O mit externen Geräten folgen und den bereitge­ stellten Interrupt- Vektor (13 hex) benutzen, der gewisse BIOS- Routinen aufruft. Programme, die diesen Konventio­ nen nicht folgen, sind deshalb nicht mit dem Enkryptor betreibbar, weil jede andere Methode, Daten auf die ex­ ternen Geräte zu speichern, vom Enkryptor erkannt werden muß, da es sich in solchen Fällen um Versuche handeln könnte, die Verschlüsselung bei Datenrichtung ′Output′ zu umgehen. Dies wird als sicherheitsmäßig bedenklich an­ gesehen und wurde wirksam unterbunden. Diese Aufgabe wird mittels einer sogen. Watch-Dog-Schaltung erreicht, die solche Fälle erkennt und den APC umgehend für alle weiteren Aktivitäten blockiert, so daß der APC durch Aus­ und Wiedereinschalten erneut zu starten ist.The compatibility of the encoder with any system and user programs is fully guaranteed, as long as they follow the usual conventions of the operating system for I / O with external devices and use the provided interrupt vector ( 13 hex ), which calls certain BIOS routines. Programs that do not follow these conventions are therefore not operable with the encoder, because any other method of storing data on the external devices must be recognized by the encoder, since in such cases attempts could be encryption to bypass data output. This is seen as a safety concern and has been effectively prevented. This task is carried out using a so-called Watchdog circuit reached, which detects such cases and immediately blocks the APC for all further activities, so that the APC can be restarted by switching it off and on again.

Claims (11)

1. Verfahren zur Erweiterung der Eigenschaften von Arbeitsplatz- Computern (APC) durch Hinzufügen der Fähig­ keit zum Ver- und Entschlüsseln von Daten, die auf Spei­ chermedien wie Festplatten, Floppy- Disks und Streamer- Tapes gespeichert werden sollen, wobei die mit den Spei­ chermedien auszutauschenden Daten bei Datenrichtung ′Output′ verschlüsselt und bei Datenrichtung ′Input′ entschlüsselt werden, dadurch gekennzeichnet, daß die zentrale Steuereinheit (CPU) des APC ihre Rechenleistung nur mittelbar und in geringem Maße für die Kryptierung der Daten aufzubringen hat und infolge dessen sowohl das im APC zur Ausführung anstehende Programm schneller abgearbeitet wird als auch höhere Transferraten beim Da­ tenaustausch mit den Speichermedien erreicht werden.1. A method of expanding the properties of workstation computers (APC) by adding the ability to encrypt and decrypt data to be stored on storage media such as hard drives, floppy disks and streamer tapes, with the storage Data to be exchanged are encrypted at data direction 'Output' and decrypted at data direction 'Input', characterized in that the central control unit (CPU) of the APC only has to process its computing power indirectly and to a small extent for the encryption of the data and, as a result, both the program waiting to be executed in the APC is processed faster and higher transfer rates are achieved when exchanging data with the storage media. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die zentrale Steuereinheit (CPU) des APC nur insofern zur Kryptierung der Daten herangezogen wird, als vermit­ tels eines Treiber- Programms, welches in dem Programm­ speicher (1) abgelegt ist und im Adreßbereich der CPU ablauffähig ist, bei Datenrichtung ′Output′ die auszuge­ benden Daten nicht wie üblich vom Arbeitsspeicher des APC an den Controller des Speichermediums gelangen, sondern statt dessen an die Schnittstelle (3) einer Schaltungsan­ ordnung zur Verschlüsselung transferiert werden, wonach die Programmkontrolle bereits vorteilhaft an das die Aus­ gabe verlangende Programm zurückgegeben werden kann, wäh­ rend bei der Datenrichtung ′Input′ die Daten nicht wie üblich vom Controller des Speichermediums in den Arbeits­ speicher des APC gelangen, sondern statt dessen in die Schnittstelle (3) einer Schaltungsanordnung zur Ent­ schlüsselung umgeleitet werden, um nach Entschlüsselung von dort in den Arbeitsspeicher des APC transferiert zu werden.2. The method according to claim 1, characterized in that the central control unit (CPU) of the APC is used only to the extent that the data is encrypted, as by means of a driver program which is stored in the program memory ( 1 ) and in the address area of the CPU is executable, with data direction 'Output' the data to be output does not reach the controller of the storage medium as usual from the main memory of the APC, but instead is transferred to the interface ( 3 ) of a circuit arrangement for encryption, after which the program control is already advantageous the program demanding the output can be returned, while in the data direction 'input' the data does not get from the controller of the storage medium to the working memory of the APC as usual, but instead is redirected to the interface ( 3 ) of a circuit arrangement for decryption after decoding from there to the working memory APC to be transferred. 3. Schaltungsanordnung zur Durchführung des Verfah­ rens zur Erweiterung der Eigenschaften eines Arbeits­ platz- Computers (APC) zum Ver- und Entschlüsseln von Da­ ten, die auf den Speichermedien des APC gespeichert wer­ den sollen, wobei die mit den Speichermedien auszutau­ schenden Daten bei Datenrichtung ′Output′ verschlüsselt und bei Datenrichtung ′Input′ entschlüsselt werden, da­ durch gekennzeichnet, daß eine eigene Steuereinheit (2) verwendet wird, welche die Ver- und Entschlüsselung der mit den Speichermedien des APC auszutauschenden Daten ohne Einbeziehung der zentralen Steuereinheit (CPU) des APC vornimmt.3. Circuit arrangement for carrying out the method for expanding the properties of a workstation computer (APC) for encrypting and decrypting data which are to be stored on the storage media of the APC, the data to be exchanged with the storage media in the direction of data 'Output' encrypted and decrypted in the data direction 'Input', characterized in that a separate control unit ( 2 ) is used, which encodes and decrypts the data to be exchanged with the storage media of the APC without involving the central control unit (CPU) of the APC does. 4. Schaltungsanordnung nach Anspruch 3, dadurch ge­ kennzeichnet, daß die Steuereinheit (2) als Mikroprozes­ sor oder Mikrocontroller ausgelegt ist, der ein Krypto­ element (4) zugeordnet ist, welches die Implementierung eines Kryptoalgorithmus beinhaltet.4. A circuit arrangement according to claim 3, characterized in that the control unit ( 2 ) is designed as a microprocessor or microcontroller which is assigned a crypto element ( 4 ) which includes the implementation of a crypto-algorithm. 5. Schaltungsanordnung nach Anspruch 4, dadurch ge­ kennzeichnet, daß das Kryptoelement (4) in Form einer hochintegrierten Schaltung verwendet wird und mit einer Mikroprozessor- kompatiblen Schnittstelle ausgerüstet ist, um die Kryptierung von Daten durchzuführen, die die Steuereinheit (2) dem Kryptoelement (4) zuführt und nach deren Kryptierung abführt. 5. Circuit arrangement according to claim 4, characterized in that the crypto element ( 4 ) is used in the form of a highly integrated circuit and is equipped with a microprocessor-compatible interface to carry out the encryption of data that the control unit ( 2 ) the crypto element ( 4 ) feeds and removes after their encryption. 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß das Kryptoelement (4) Signale für die Direct-Memory- Access- (DMA-) Kanäle (5) des Mikroprozessors oder Mikro­ controllers (2) generiert, die die Anforderung des näch­ sten zu kryptierenden Datums sowie die Beendigung der Kryptierung des aktuellen Datums an den Mikroprozessor oder Mikrocontroller (2) signalisieren.6. The method according to claim 5, characterized in that the crypto element ( 4 ) generates signals for the direct memory access (DMA) channels ( 5 ) of the microprocessor or microcontrollers ( 2 ), which the request of the next to signal the crypting date and the end of the encryption of the current date to the microprocessor or microcontroller ( 2 ). 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß das die Beendigung einer Kryptierung anzeigende DMA- Signal vom Kryptoelement (4) um einen Zeitbetrag früher generiert wird, als die Kryptierung tatsächlich beendet ist, wobei dieser Zeitbetrag gerade kleiner als der Zeit­ bedarf ist, den der Mikroprozessor oder Mikrocontroller (2) zur Reaktion auf eine DMA- Anforderung benötigt.7. The method according to claim 6, characterized in that the DMA signal indicating the end of a cryptation is generated by the crypto element ( 4 ) by a time amount earlier than the cryptation has actually ended, this amount of time being just less than the time required, which the microprocessor or microcontroller ( 2 ) needs to respond to a DMA request. 8. Schaltungsanordnung nach Anspruch 3, dadurch ge­ kennzeichnet, daß die Schaltungsanordnung mit einer Schnittstelle zur APC-Seite hin ausgestattet ist, die ein Dual-Port-RAM (3) enthält, das dem Austausch von Daten und Schlüsselinformationen mit dem APC dient, während über ein Register (7) von der APC- Seite her die Komman­ dierung der Schaltungsanordnung erfolgt und deren logi­ scher Zustand an den APC zurückgemeldet werden kann.8. Circuit arrangement according to claim 3, characterized in that the circuit arrangement is equipped with an interface to the APC side, which contains a dual-port RAM ( 3 ) which serves for the exchange of data and key information with the APC, while The circuit arrangement is commanded from the APC side via a register ( 7 ) and its logical state can be reported back to the APC. 9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die Beendigung der Kryptierung eines Blocks von Daten vermittels einer im APC vorhandenen Unterbrechungs- (In­ terrupt-) Leitung (6) an die CPU des APC signalisiert wird, was zur Folge hat, daß durch Unterbrechung des mo­ mentanen Programmablaufs im APC der Aufruf einer Routine, die im Programmspeicher (1) enthalten ist, erfolgt, die im Falle der Datenrichtung ′Input′ den Block von Da­ ten aus dem Dual-Port-RAM (3) in den Arbeitsspeicher des APC transferiert und bei Datenrichtung ′Output′ vom Dual-Port-RAM (3) an den Controller des adressierten Speichermediums weiterleitet.9. The method according to claim 8, characterized in that the termination of the encryption of a block of data by means of an existing in the APC interrupt (in terrupt) line ( 6 ) is signaled to the CPU of the APC, which has the consequence that by Interruption of the current program flow in the APC, the call of a routine that is contained in the program memory ( 1 ) takes place, which in the case of the data direction 'input' the block of data from the dual-port RAM ( 3 ) into the working memory of the APC transferred and in the data direction 'output' from the dual-port RAM ( 3 ) to the controller of the addressed storage medium. 10. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß sich die Schaltungsanordnung, in einen Steckplatz für Erweiterungen im APC eingesetzt, selbsttätig in den Pfad, den die ein- und auslaufenden Daten zwischen dem Arbeits­ speicher des APC und dem Controller eines Speichermediums bzw. umgekehrt nehmen, in der Weise einschleift, indem das im Programmspeicher (1) enthaltene Treiber- Programm infolge gesetzter Auto-Start-Marke, was während des Boot- Vorgangs vom Betriebssystem des APC erkannt wird, die Kon­ trolle erhält und dem zufolge den für den Datenaustausch mit den Speichermedien verantwortlichen Interrupt des Betriebssystems des APC so abändert, daß sämtliche Ein-/Aus­ gabeanforderungen mit den Speichermedien durch das Treiber- Programm kontrolliert werden.10. The method according to claim 2, characterized in that the circuit arrangement, used in a slot for extensions in the APC, automatically in the path that the incoming and outgoing data between the working memory of the APC and the controller of a storage medium or vice versa take, looped in by the driver program contained in the program memory ( 1 ) as a result of the auto start mark being set, which is recognized by the operating system of the APC during the booting process, receives control and, accordingly, that for data exchange with the storage media responsible interrupt of the operating system of the APC changed so that all input / output requests with the storage media are controlled by the driver program. 11. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die in einen Steckplatz für Erweiterungen im APC ein­ gesetzte Schaltungsanordnung die Kryptierung der mit den Speichermedien des APC auszutauschenden Daten ohne Ände­ rung der Software des APC vornimmt.11. The method according to claim 3, characterized in that that the in a slot for extensions in the APC set circuitry the encryption with the Storage media of the APC data to be exchanged without changes software of the APC.
DE19904028982 1990-09-13 1990-09-13 Method for crypting data from a workstation computer and device for carrying out the method Expired - Fee Related DE4028982C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19904028982 DE4028982C2 (en) 1990-09-13 1990-09-13 Method for crypting data from a workstation computer and device for carrying out the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19904028982 DE4028982C2 (en) 1990-09-13 1990-09-13 Method for crypting data from a workstation computer and device for carrying out the method

Publications (2)

Publication Number Publication Date
DE4028982A1 true DE4028982A1 (en) 1992-03-19
DE4028982C2 DE4028982C2 (en) 1993-09-30

Family

ID=6414129

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19904028982 Expired - Fee Related DE4028982C2 (en) 1990-09-13 1990-09-13 Method for crypting data from a workstation computer and device for carrying out the method

Country Status (1)

Country Link
DE (1) DE4028982C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737638A (en) * 1995-07-14 1998-04-07 International Business Machines Corporation System for determining plurality of data transformations to be performed upon single set of data during single transfer by examining communication data structure

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3613827A1 (en) * 1986-04-24 1987-10-29 Wolfgang Prof Dr Ing Weber Digital computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3613827A1 (en) * 1986-04-24 1987-10-29 Wolfgang Prof Dr Ing Weber Digital computer

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Data Protection on Magnetic Media via an Encrypting Controller, in: IBM Technical Disclosure Bulletin Vol. 30, No. 3, August 1987 S. 1284 und 1285 *
Mac Millan Dave, Single chip encrypts data at 14 Mb/s, in Electronics, 16. Juni 1981, S. 161-165 *
Stelbrink Jürgen, Datensicherheit muß nicht teuer sein, in: Elekronik 1/10.1.1986, S. 39-45 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737638A (en) * 1995-07-14 1998-04-07 International Business Machines Corporation System for determining plurality of data transformations to be performed upon single set of data during single transfer by examining communication data structure

Also Published As

Publication number Publication date
DE4028982C2 (en) 1993-09-30

Similar Documents

Publication Publication Date Title
DE60210211T2 (en) Redundant data backup device and method
DE69930614T2 (en) METHOD AND DEVICE FOR HANDLING multiple flank and state induced interruptions
DE60033994T2 (en) Method and system for outputting and ordering commands in a hard disk drive
DE69207962T2 (en) Fading away an advertisement with the keyboard
DE69316046T2 (en) Arrangement for encrypting and decrypting data which is written to or read from a storage disk by means of the DES algorithm
DE60313783T2 (en) MOVING DATA BETWEEN MEMORY UNITS
DE112010004931B4 (en) Multi-phase recovery of file systems with selective data availability as required
DE2411963C3 (en) Electronic data processing system with a priority control circuit with changeable control blocks
DE69117371T2 (en) Background disk surface analysis performed by a smart disk array controller
DE102018123817A1 (en) DEVICE FOR DIRECT HOST ACCESS TO THE STORAGE LOCATION OF A MEMORY DEVICE
DE3650333T2 (en) State management method for common resources for a complex computer system.
DE68903693T2 (en) DATA PROCESSING DEVICE.
DE69507290T2 (en) DEVICE FOR DATA BUFFER MONITORING IN A DISK STORAGE SYSTEM
DE19803218A1 (en) Computer memory protector
DE3688191T2 (en) Virtual machine editor.
DE10348326A1 (en) Permanent storage device connected to a communication link
DE4108130A1 (en) METHOD AND DEVICE FOR ENCRYPTING DATA
DE4341510A1 (en) Error correction system for host computer with external magnetic tape storage - compresses data received from host, stores in buffer and writes on tape, reads from tape into buffer, expands and transfers to host, and uses error detector for sensing errors produced when data is written into tape
DE69219848T2 (en) Method for handling data transfers in a computer system with a two-bus system
DE69229977T2 (en) Device and method for interrupting and resuming software applications on a computer
DE112021000215T5 (en) Storage system with encrypted telemetry data of a data storage device
DE69325877T2 (en) Processor control code update
DE3338329C2 (en)
DE19900251B4 (en) Apparatus and method for controlling a versatile USB endpoint channel
DE69517256T2 (en) System and method for providing access protection to information storage devices

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8322 Nonbinding interest in granting licenses declared
8339 Ceased/non-payment of the annual fee