WO2007090466A1 - Computer system and method for storing data - Google Patents
Computer system and method for storing data Download PDFInfo
- Publication number
- WO2007090466A1 WO2007090466A1 PCT/EP2006/050777 EP2006050777W WO2007090466A1 WO 2007090466 A1 WO2007090466 A1 WO 2007090466A1 EP 2006050777 W EP2006050777 W EP 2006050777W WO 2007090466 A1 WO2007090466 A1 WO 2007090466A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- key
- data
- pointer
- server
- encrypted
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
- G16H10/65—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records stored on portable record carriers, e.g. on smartcards, RFID tags or CD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
Definitions
- the invention relates to a computer system, a data processing system, a method for storing data and a method for retrieving data and corresponding computer program products.
- Smart cards are known from the prior art. Smart cards generally have a relatively limited storage capacity. An overview of known chip cards are "Handbook of Chip Cards", Wolfgang Rankl, Wolfgang Effing, Carl Hanser Verlag 1999.
- Chip cards are used in the medical field as so-called patient cards. Such patient cards are primarily used to store the name and place of residence of the patient as well as the health insurance, in which the patient is insured. The storage of further data, such as digital X-ray images or other diagnostic data on the chip card is due to the limited storage capacity of prior art smart cards for technical and / or cost reasons not possible.
- EP 0 781 428 B1 proposes the use of a mass storage medium in addition to a chip card.
- a major disadvantage of this approach is that the patient next to his smart card the mass storage medium, for example, at a doctor's visit, must carry with him.
- Further applications of chip cards for patient data are known from WO 03/034294 A2, WO 02/07040 A1 and WO 01/06468 A1.
- the invention is based on the object to provide an improved computer system, data processing system, methods for storing data and methods for retrieving data and corresponding computer program products.
- the invention provides a computer system having a portable data carrier reading device for reading a first key and a first pointer from the data carrier.
- the computer system has means for encrypting data with a second key, means for sending the data encrypted with the second key to a first server, means for Receiving a second pointer from the first server in response to the encrypted data, means for encrypting the second key and the second pointer with the first key, and means for sending the first key encrypted second key and the second pointer to a second server for storing the encrypted second key and the second pointer in a storage area of the second server identified by the first pointer.
- the invention is of particular advantage, since it enables the creation of a computer system with which even large amounts of data can be stored and retrieved using a portable data carrier of limited storage capacity, such as a chip card, at the same time the data against manipulation and / or Spying can be protected.
- the present invention can therefore be used for the storage of confidential, in particular personal data, such as medical data.
- the invention makes it possible to store a so-called electronic patient file, wherein the mass data belonging to the patient file can be stored on a data server and an index on the electronic patient record on a directory server. Due to this separation of the index and the mass data, on the one hand a special protection of the confidentiality of the data is given and on the other hand also an efficient handling of the accruing amounts of data.
- unencrypted meta-information is stored for the index entries on the directory server.
- This meta-information can contain descriptive information about the individual entries in the electronic patient record, so that not in every case the complete amount of data has to be downloaded, but a selection can be made.
- the data server is designed to store the mass data as a so-called BLOB server, that is to say for storing so-called Binary Large Object (BLOB) data. This is advantageous in particular when at least part of the data is image data, such as digital X-ray images, ultrasound images or the like.
- BLOB Binary Large Object
- FIG. 1 shows a block diagram of a first embodiment of a data processing system according to the invention
- FIG. 2 shows a flow chart of a preferred embodiment of a method according to the invention for storing the data
- FIG. 3 is a flowchart of a preferred embodiment of the invention for retrieving the data
- FIG. 4 shows a block diagram of a development of the embodiment of FIG. 1,
- FIG. 5 shows a flow chart of a representation of a use of a chip card, in particular a patient card.
- FIG. 1 shows a data processing system 100 with a computer 102, which can be connected via a network 104 to a data server 106 and a directory server 108.
- the network 104 is a wired or wireless telecommunications network, such as a computer network, a virtual private network (VPN), an intranet, extranet, or the Internet.
- the computer 102 has a memory 110, such as a random access memory, for storing data 112.
- the data 112 is a patient's medical data, such as diagnostic image data, prescription data, diagnoses, findings, etc.
- the data 112 for example, may be entered into the computer 102 by a treating physician.
- the computer 102 is networked with a practice computer system of the doctor's practice and automatically receives the data 112 via the network. It is also possible to insert into the computer 102 a medical device, such as an x-ray device, for example. Computer tomographs, magnetic resonance tomographs or ultrasound device to feed supplied digital image data. This in turn can be done automatically via a network or by reading stored on, for example, a CD-ROM or DVD mass data in the computer 102. Furthermore, it is also possible for the computer 102 to be integrated into a device or to be connected directly to such a device that generates the data 112.
- a medical device such as an x-ray device
- Computer tomographs, magnetic resonance tomographs or ultrasound device to feed supplied digital image data. This in turn can be done automatically via a network or by reading stored on, for example, a CD-ROM or DVD mass data in the computer 102.
- the computer 102 it is also possible for the computer 102 to be integrated into a device or to be connected directly to such
- the computer 102 has at least one processor 114 for executing a program 116 and a component 118 for storing and / or generating a data key. Further, the computer 102 has an interface 120 through which the computer 102 can communicate with the data server 106 and the directory server 108 via the network 104.
- a card reader 122 is connected or integrated in this.
- the card reader 122 is for reading a smart card 124.
- an index key 126 and an index pointer 128 are stored on the smart card 124.
- the index pointer 128 identifies an entry address 130 of the directory server 108 and thus a memory area assigned to the smart card 124.
- the index pointer 128 is assigned once upon registration of the patient and then stored on the smart card 124. The same applies to the index key 126, which is also generated during the registration of the patient and stored on the chip card.
- te 124 is stored persistently.
- the index key 126 is for encrypting index entries on the directory server 108.
- the chip card 124 enables the storage of a virtual patient record on the data server 106 or an index on the electronic patient record in the directory server 108, wherein the electronic patient record can be accessed and stored only with the chip card 124.
- the smart card 124 is inserted into the card reader 122.
- the computer 102 reads the index key 126 and the index pointer 128 from the smart card 124. Further, a data key is retrieved from the component 118. Preferably, component 118 generates a new data key for each poll.
- the data 112 is encrypted and transmitted from the computer 102 to the data server 106 via the interface 120 and the network 104.
- the data server 106 stores the encrypted data in a free memory area identified by an entry address 132.
- the storage of the encrypted data 112 on the data server 106 is done so that the data received from the data server is sequentially "stacked". The storage of the data on the data server 106 thus takes place unsorted and unstructured in the order of the incoming data.
- the data server 106 responds to the encrypted data 112 received by it with a data pointer 134, which for example indicates the entry address 132, about the memory area on the data server 106 on which the encrypted data 112 is stored.
- the data pointer 134 and the data key provided by the component 118, with which the data 112 has been encrypted, are then encrypted with the index key 126.
- the encrypted data key and the encrypted data pointer are then transmitted as index entry 136 from the computer 102 via its interface 120 and the network 104 to the directory server 108.
- the corresponding memory request from the computer 102 to the directory server 108 for storing the index entry 136 includes the index pointer 128 as a parameter.
- the directory server 108 thus receives an indication of in which memory area the index entry 136 is to be stored, that is to say in the example case considered here into the memory area with the entry address 130 identified by the index pointer 128 becomes.
- the encrypted data 112 is stored on the data server 106, and the index entry 136, which contains the information necessary for accessing the data, is stored on the directory server. Access to the data 112 stored on the data server as well as to the index entry 136 of the directory server 108 is possible only with the aid of the chip card 124.
- the data of the patient record may be recalled by another computer 102 of another treating physician, hospital, or other medical facility.
- the procedure is as follows:
- the smart card 124 is inserted into the card reader 122.
- Program 116 reads index key 126 and index pointer 128 from smart card 124.
- the program 116 then generates a request to the directory server 108 to query the index records of the patient record stored in the storage area of the directory server 108 identified by the index pointer 128.
- the program 116 uses the index pointer 128 read from the chip card 124.
- the directory server 108 in response to the request received from the computer 102, provides the index records of the patient record stored in the memory area specified in the request of the computer 102 to the computer 102.
- the program 116 then decrypts the one or more Index entries 136 with the index key 126. This causes the program 116 to retrieve the data key and data pointer 134 from the index entry 136 in plain text.
- the program 116 then accesses the data server 106 via the interface 120 and the network 104.
- the data server 106 then returns the encrypted data 112 stored in the memory area identified by the data pointer 134 to the computer 102 via the network 104.
- the program 116 then decrypts the encrypted data 112 with the data key from the index entry 136.
- the decrypted data 112 is stored by the program 116 in the memory 110 and displayed on a screen, for example.
- the smart card 124 is a smart card with an integrated microprocessor.
- the procedure for uploading data is as follows:
- the program 116 transfers the data key supplied by the component 118 and the data pointer 134 to the chip card 124.
- the chip card microprocessor 128 then encrypts the data key and the data Pointer 134 using the index key 126 and passes the encrypted index entry 136 to the computer 102, which sends it to the directory server 108.
- unencrypted meta-information about the index entry 136 is stored.
- the meta-information indicates soft category of data 112 is indexed entry 136.
- the meta-information of an index entry 136 indicates whether it is dental, urological, gynecological or other specialist-specific data.
- meta-information can indicate whether it is, for example, recipe data, diagnostic data or image data.
- the meta-information by encoding in a 512-bit field prior to downloading the encrypted data from the data server 106, enables selection of the data of interest. For example, in a dental office, typically only the index entries 136, which have the indication "dental medical data" as meta-information, would be selected for download from the data server 106.
- access permissions can also be stored in or to an index entry 136.
- the storage of access authorizations preferably takes place in the unencrypted part of the index entry 136.
- the access rights can be stored in the index entry 136, for example in a bit field of a predefined length, for example 512 bits.
- bit # 3 of the bit field is set to one, it means that all physicians and dentists have access to the data to which index entry 136 refers. If, on the other hand, bit # 4 is set to logical “1”, this means that, although all physicians, but not dentists, are entitled to access, if bit # 5 is set to "1”, this means that are entitled to access; if bit # 7 is set to "1", it means that only dentists are authorized to access etc.
- index entries 136 stored for a patient on the directory server 108 are offered by the program 116 for download selection by the data server 106, which correspond to the authorization of the user of the computer 102.
- the user rights of the user of the computer 102 can be permanently stored in the computer 102;
- the user of the computer 102 for example the attending physician, has his own chip card, which he or she first has to enter into the card reader 122 for his authentication and determination of his authorizations.
- FIG. 2 shows a corresponding flow chart.
- the data is either input or generated.
- the entry of the data is done manually by the attending physician or an assistant; Alternatively, the data may also be generated by a device, such as a medical device.
- the data key for encrypting the data generated or input in step 202 is queried or generated.
- the data key is a symmetric key. However, it can also be an asymmetric key pair.
- step 204 the data is encrypted with the data key.
- the encryption of the data is done with the public key of the asymmetric key pair.
- step 206 the encrypted data is sent to the data server.
- the computer receives a data pointer from the data server identifying the memory area in which the data has been stored on the data server (step 208).
- step 210 an index key and a Index pointer read from the patient chip card.
- the index key is preferably a symmetric key. However, it may also be a key pair of an asymmetric encryption method.
- step 212 the encryption of the data key and the data pointer with the index key is performed. If an asymmetric encryption method is used, the encryption is done with the public key of the key pair.
- the encryption of the data key and the data pointer generates an index entry.
- the index entry is sent to an index server to store the index entry in a memory area of the index server identified by the index pointer.
- the index entry is stored on the index server.
- FIG. 3 shows a flow chart for requesting data from the virtual electronic patient file.
- the patient inserts his smart card into the card reader of the computer, for example his treating physician.
- the computer then reads at least the index pointer or both the index pointer and the index key from the patient smart card.
- the computer retrieves the index entry (s) stored on the directory server for that particular patient using the index pointer.
- the decryption of the index entry (s) is performed using the index key. Depending on the embodiment, this decryption is carried out either by the chip card by the computer.
- the computer By decrypting, the computer obtains the data key and the data pointer to the data stored encrypted on the data server, to which the index entry refers. These data are retrieved by the data server at step 306 using the data pointer. The computer then receives the encrypted data from the data server. These are calculated using the data Key decrypted (step 308) and output in step 310, for example, on a screen of the computer.
- FIG. 4 shows a further development of the data processing system of FIG. 1. Elements of the embodiment of FIG. 4 which correspond to elements of the embodiment of FIG. 1 are identified by corresponding reference symbols. In the embodiment of the data processing system 400 of Figure 4, two different types of patient smart cards may be used:
- the smart card 424 has a relatively small storage capacity, which is sufficient for storing the index key 426 and the index pointer 428.
- the chip card 424 'of another patient has a larger memory area which allows both the index key 426', the index pointer 428 'and the index entry 436 and a plurality of index records of the electronic health record on the smart card 424 ' save.
- index entries are stored on smart card 424 'until the memory location of smart card 424' is exhausted.
- the directory server can be used.
- the user of the computer 402 that is, for example, the attending physician, has a chip card 425.
- the chip card 425 is used to store a secret key 438, to which a public key 440 belongs.
- the public key 440 is stored, for example, on a logon server 442.
- the login server 442 provides a so-called public key retrieval directory of the registered users, as well as other services for authenticating the registered users and the registered patients or the smart cards.
- the smart cards 424, 424 'and / or 425 may be protected by a PIN or a biometric feature.
- a so-called PIN-PAD is connected to the computer 402, via which the PIN of the respective chip card can be entered. Only if the entered PIN with the PIN stored on the smart card, the smart card is allowed for further use.
- the patient inserts his chip card 424 or 424 'into the card reader 422.
- Program 416 attempts to read index entries 436 stored on the particular smart card. If the chip card is a chip card with a small storage capacity, that is to say a chip card 424, then the access attempt to the index entry (s) 436 fails since these are not stored on the chip card 424. In this case, the program 416 accesses the directory server 408 to read the index entries 436.
- the program 416 may read the index entry 436 directly from the smart card 424'.
- the index entries 436 stored on the chip card 424 ' may preferably include the encrypted parts of the index entry 436.
- the data 412 is uploaded to the directory server 408 by the user of the computer, e.g., the attending physician, digitally signed. This is done using the secret key stored on the user's smart card 425.
- the data loaded by the data server 406 at a later time and / or the index entries 436 loaded from the directory server are verified using the public key 440 stored on the logon server 442.
- FIG. 5 shows a method for the use according to the invention of a chip card, for example a patient card.
- the patient smart card is inserted into the card reader of the computer.
- a read attempt by the computer to read any index entries stored on the patient smart card. If the read attempt succeeds (step 504), in step 506, the data is requested / decrypted from the data server using the data pointer and the data key, respectively, from the index entry. On the other hand, if the read attempt was unsuccessful, then in step 508, the index server is first accessed to read the index entries.
Landscapes
- Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
The invention relates to a computer system comprising: a reading appliance (122, 422) for a portable data carrier (124; 424, 10 424', 425) for reading a first code (126; 426, 426') and a first pointer (128; 428, 428') of the carrier; means (114, 116, 118; 414, 416, 418) for encoding data (112; 412) with a second code; means (120; 420) for sending the data encoded with the second code to a first server (106; 406); means (120; 420) for receiving a second pointer (134; 434) from the first server in response to the encoded data (112; 412); means (114, 116; 414, 416) for encoding the second code and the second pointer using the first code; and means (120; 420) for sending the second code encoded with the first code and the second pointer (136; 436) to a second server (108; 408) for storing in a memory region of the second server, which is identified by the first pointer. Preferably, the second code is regenerated for each input into the second server.
Description
Computersystem und Verfahren zur Speicherung von Daten Computer system and method for storing data
Beschreibungdescription
Die Erfindung betrifft ein Computersystem, ein Datenverarbeitungssystem, ein Verfahren zur Speicherung von Daten und ein Verfahren zur Abfrage von Daten sowie entsprechende Computerprogrammprodukte.The invention relates to a computer system, a data processing system, a method for storing data and a method for retrieving data and corresponding computer program products.
Aus dem Stand der Technik sind so genannte Chipkarten bekannt. Chipkarten haben im Allgemeinen eine relativ begrenzte Speicherkapazität. Einen Überblick über vor-
bekannte Chipkarten gibt "Handbuch der Chipkarten", Wolfgang Rankl, Wolfgang Effing, Carl Hanser Verlag 1999.So-called smart cards are known from the prior art. Smart cards generally have a relatively limited storage capacity. An overview of known chip cards are "Handbook of Chip Cards", Wolfgang Rankl, Wolfgang Effing, Carl Hanser Verlag 1999.
Chipkarten werden im medizinischen Bereich als so genannte Patientenkarten ein- gesetzt. Solche Patientenkarten dienen vor allem zur Speicherung von Name und Wohnort des Patienten sowie der Krankenversicherung, bei der der Patient versichert ist. Die Speicherung weitergehender Daten, wie zum Beispiel digitaler Röntgenbilder oder anderer diagnostischer Daten auf der Chipkarte ist aufgrund der begrenzten Speicherkapazität vorbekannter Chipkarten aus technischen und / oder Kostengrün- den nicht möglich.Chip cards are used in the medical field as so-called patient cards. Such patient cards are primarily used to store the name and place of residence of the patient as well as the health insurance, in which the patient is insured. The storage of further data, such as digital X-ray images or other diagnostic data on the chip card is due to the limited storage capacity of prior art smart cards for technical and / or cost reasons not possible.
Die EP 0 781 428 B1 schlägt hierzu den Einsatz eines Massenspeichermediums ergänzend zu einer Chipkarte vor. Ein wesentlicher Nachteil dieses Ansatzes ist, dass der Patient neben seiner Chipkarte das Massenspeichermedium, beispielsweise bei einem Arztbesuch, mit sich führen muss. Weitere Anwendungen von Chipkarten für Patientendaten sind aus WO 03/034294 A2, WO 02/07040 A1 und WO 01/06468 A1 bekannt.For this purpose, EP 0 781 428 B1 proposes the use of a mass storage medium in addition to a chip card. A major disadvantage of this approach is that the patient next to his smart card the mass storage medium, for example, at a doctor's visit, must carry with him. Further applications of chip cards for patient data are known from WO 03/034294 A2, WO 02/07040 A1 and WO 01/06468 A1.
Der Erfindung liegt dem gegenüber die Aufgabe zu Grunde, ein verbessertes Com- putersystem, Datenverarbeitungssystem, Verfahren zur Speicherung von Daten und Verfahren zur Abfrage von Daten sowie entsprechende Computerprogrammprodukte zu schaffen.The invention is based on the object to provide an improved computer system, data processing system, methods for storing data and methods for retrieving data and corresponding computer program products.
Die der Erfindung zu Grunde liegenden Aufgaben werden jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.The objects underlying the invention are each achieved with the features of the independent claims. Preferred embodiments of the invention are indicated in the dependent claims.
Durch die Erfindung wird ein Computersystem geschaffen, welches ein Lesegerät für einen tragbaren Datenträger zum Lesen eines ersten Schlüssels und eines ersten Zeigers von dem Datenträger aufweist. Das Computersystem hat Mittel zur Verschlüsselung von Daten mit einem zweiten Schlüssel, Mittel zum Versenden der mit dem zweiten Schlüssel verschlüsselten Daten an einen ersten Server, Mittel zum
Empfang eines zweiten Zeigers von dem ersten Server als Antwort auf die verschlüsselten Daten, Mittel zur Verschlüsselung des zweiten Schlüssels und des zweiten Zeigers mit dem ersten Schlüssel, und Mittel zum Versenden des mit dem ersten Schlüssel verschlüsselten zweiten Schlüssels und des zweiten Zeigers an einen zweiten Server zur Speicherung des verschlüsselten zweiten Schlüssels und des zweiten Zeigers in einem durch den ersten Zeiger identifizierten Speicherbereich des zweiten Servers.The invention provides a computer system having a portable data carrier reading device for reading a first key and a first pointer from the data carrier. The computer system has means for encrypting data with a second key, means for sending the data encrypted with the second key to a first server, means for Receiving a second pointer from the first server in response to the encrypted data, means for encrypting the second key and the second pointer with the first key, and means for sending the first key encrypted second key and the second pointer to a second server for storing the encrypted second key and the second pointer in a storage area of the second server identified by the first pointer.
Die Erfindung ist von besonderem Vorteil, da sie die Schaffung eines Computersys- tems ermöglicht mit dem auch umfangreiche Datenmengen mit Hilfe eines tragbaren Datenträgers begrenzter Speicherkapazität, wie zum Beispiel einer Chipkarte, gespeichert und abgerufen werden können, wobei gleichzeitig die Daten gegen Manipulation und / oder Ausspähung geschützt werden können.The invention is of particular advantage, since it enables the creation of a computer system with which even large amounts of data can be stored and retrieved using a portable data carrier of limited storage capacity, such as a chip card, at the same time the data against manipulation and / or Spying can be protected.
Vorteilhafterweise kann die vorliegende Erfindung daher zur Speicherung von vertraulichen, insbesondere personenbezogenen Daten, wie zum Beispiel medizinischen Daten, verwendet werden. Insbesondere ermöglicht die Erfindung die Speicherung einer so genannten elektronischen Patientenakte, wobei die zu der Patientenakte gehörenden Massendaten auf einem Datenserver und ein Index auf die e- lektronische Patientenakte auf einem Verzeichnis-Server gespeichert werden können. Durch diese Trennung des Index und der Massendaten ist einerseits ein besonderer Schutz der Vertraulichkeit der Daten gegeben und andererseits auch eine effiziente Handhabung der anfallenden Datenmengen.Advantageously, the present invention can therefore be used for the storage of confidential, in particular personal data, such as medical data. In particular, the invention makes it possible to store a so-called electronic patient file, wherein the mass data belonging to the patient file can be stored on a data server and an index on the electronic patient record on a directory server. Due to this separation of the index and the mass data, on the one hand a special protection of the confidentiality of the data is given and on the other hand also an efficient handling of the accruing amounts of data.
Nach einer Ausführungsform der Erfindung werden zu den Index-Eintragungen auf dem Verzeichnis-Server unverschlüsselte Meta-Informationen gespeichert. Diese Meta-Informationen können deskriptive Angaben zu den einzelnen Eintragungen in der elektronischen Patientenakte beinhalten, so dass nicht in jedem Fall die vollständige Datenmenge heruntergeladen werden muss, sondern eine Auswahl getroffen werden kann.
Nach einer Ausführungsform der Erfindung ist der Datenserver zur Speicherung der Massendaten als so genannter BLOB-Server ausgebildet, das heißt zur Speicherung von so genannten Binary Large Object (BLOB)-Daten. Dies ist insbesondere dann vorteilhaft, wenn zumindest ein Teil der Daten Bilddaten, wie zum Beispiel digitale Röntgenbilder, Ultraschallaufnahmen oder dergleichen sind.According to one embodiment of the invention, unencrypted meta-information is stored for the index entries on the directory server. This meta-information can contain descriptive information about the individual entries in the electronic patient record, so that not in every case the complete amount of data has to be downloaded, but a selection can be made. According to one embodiment of the invention, the data server is designed to store the mass data as a so-called BLOB server, that is to say for storing so-called Binary Large Object (BLOB) data. This is advantageous in particular when at least part of the data is image data, such as digital X-ray images, ultrasound images or the like.
Im weiteren werden bevorzugte Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:In further preferred embodiments of the invention will be explained in more detail with reference to the drawings. Show it:
Figur 1 ein Blockdiagramm einer ersten Ausführungsform eines erfindungsgemäßen Datenverarbeitungssystems,FIG. 1 shows a block diagram of a first embodiment of a data processing system according to the invention,
Figur 2 ein Flussdiagramm einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens zur Speicherung der Daten,FIG. 2 shows a flow chart of a preferred embodiment of a method according to the invention for storing the data,
Figur 3 ein Flussdiagramm einer bevorzugten Ausführungsform der Erfindung zur Abfrage der Daten,FIG. 3 is a flowchart of a preferred embodiment of the invention for retrieving the data;
Figur 4 ein Blockdiagramm einer Weiterbildung der Ausführungsform der Figur 1 ,FIG. 4 shows a block diagram of a development of the embodiment of FIG. 1,
Figur 5 ein Flussdiagramm einer Darstellung einer Verwendung einer Chipkarte, insbesondere einer Patientenkarte.FIG. 5 shows a flow chart of a representation of a use of a chip card, in particular a patient card.
Die Figur 1 zeigt ein Datenverarbeitungssystem 100 mit einem Computer 102, der über ein Netzwerk 104 mit einem Daten-Server 106 und einem Verzeichnis-Server 108 verbindbar ist. Bei dem Netzwerk 104 handelt es sich um ein drahtgebundenes oder drahtloses Telekommunikationsnetzwerk, wie zum Beispiel ein Computernetzwerk, ein Virtual Private Network (VPN), ein Intranet, Extranet oder das Internet.
Der Computer 102 hat einen Speicher 110, wie zum Beispiel einen Arbeitsspeicher, zur Speicherung von Daten 112. Beispielsweise handelt es sich bei den Daten 112 um medizinische Daten eines Patienten, wie zum Beispiel diagnostische Bilddaten, Rezeptdaten, Diagnosen, Befunde etc. Die Daten 112 können beispielsweise von einem behandelnden Arzt in den Computer 102 eingegeben werden.FIG. 1 shows a data processing system 100 with a computer 102, which can be connected via a network 104 to a data server 106 and a directory server 108. The network 104 is a wired or wireless telecommunications network, such as a computer network, a virtual private network (VPN), an intranet, extranet, or the Internet. The computer 102 has a memory 110, such as a random access memory, for storing data 112. For example, the data 112 is a patient's medical data, such as diagnostic image data, prescription data, diagnoses, findings, etc. The data 112 for example, may be entered into the computer 102 by a treating physician.
Alternativ oder zusätzlich ist der Computer 102 mit einem Praxis-EDV-System der Arztpraxis vernetzt und erhält automatisch über das Netzwerk die Daten 112. Ferner ist es auch möglich, in den Computer 102 von einem medizintechnischen Gerät, wie zum Beispiel einem Röntgen-Gerät, Computer-Tomographen, Kernspin- Tomographen oder Ultraschall-Gerät, gelieferte digitale Bilddaten einzuspeisen. Dies kann wiederum automatisch über ein Netzwerk oder durch Einlesen von auf zum Beispiel einer CD-Rom oder DVD gespeicherten Massendaten in den Computer 102 erfolgen. Ferner ist es auch möglich, dass der Computer 102 in ein Gerät integriert ist oder unmittelbar an ein solches Gerät angeschlossen ist, welches die Daten 112 erzeugt.Alternatively or additionally, the computer 102 is networked with a practice computer system of the doctor's practice and automatically receives the data 112 via the network. It is also possible to insert into the computer 102 a medical device, such as an x-ray device, for example. Computer tomographs, magnetic resonance tomographs or ultrasound device to feed supplied digital image data. This in turn can be done automatically via a network or by reading stored on, for example, a CD-ROM or DVD mass data in the computer 102. Furthermore, it is also possible for the computer 102 to be integrated into a device or to be connected directly to such a device that generates the data 112.
Der Computer 102 hat zumindest einen Prozessor 114 zur Ausführung eines Programms 116 sowie eine Komponente 118 zur Speicherung und / oder Generierung eines Datenschlüssels. Ferner verfügt der Computer 102 über eine Schnittstelle 120 über die der Computer 102 mit dem Daten-Server 106 und dem Verzeichnis-Server 108 über das Netzwerk 104 kommunizieren kann.The computer 102 has at least one processor 114 for executing a program 116 and a component 118 for storing and / or generating a data key. Further, the computer 102 has an interface 120 through which the computer 102 can communicate with the data server 106 and the directory server 108 via the network 104.
An dem Computer 102 ist ein Kartenlesegerät 122 angeschlossen oder in diesem integriert. Das Kartenlesegerät 122 dient zum Lesen einer Chipkarte 124. Auf der Chipkarte 124 ist ein Index-Schlüssel 126 und ein Index-Zeiger 128 gespeichert. Der Index-Zeiger 128 identifiziert eine Einsprung-Adresse 130 des Verzeichnis-Servers 108 und damit einen Speicherbereich, der der Chipkarte 124 zugewiesen ist. Der Index-Zeiger 128 wird bei der Registrierung des Patienten einmal vergeben und dann auf der Chipkarte 124 gespeichert. Ebenso verhält es sich mit dem Index-Schlüssel 126, der ebenfalls bei der Registrierung des Patienten generiert und auf der Chipkar-
te 124 persistent gespeichert wird. Der Index-Schlüssel 126 dient zur Verschlüsselung von Index-Einträgen auf dem Verzeichnis-Server 108.At the computer 102, a card reader 122 is connected or integrated in this. The card reader 122 is for reading a smart card 124. On the smart card 124, an index key 126 and an index pointer 128 are stored. The index pointer 128 identifies an entry address 130 of the directory server 108 and thus a memory area assigned to the smart card 124. The index pointer 128 is assigned once upon registration of the patient and then stored on the smart card 124. The same applies to the index key 126, which is also generated during the registration of the patient and stored on the chip card. te 124 is stored persistently. The index key 126 is for encrypting index entries on the directory server 108.
Die Chipkarte 124 ermöglicht die Speicherung einer virtuellen Patientenakte auf dem Daten-Server 106 bzw. eines Index auf die elektronische Patientenakte in dem Verzeichnis-Server 108, wobei auf die elektronische Patientenakte sowohl speichernd als auch lesend nur mit der Chipkarte 124 zugegriffen werden kann.The chip card 124 enables the storage of a virtual patient record on the data server 106 or an index on the electronic patient record in the directory server 108, wherein the electronic patient record can be accessed and stored only with the chip card 124.
Zur Speicherung der Daten 112 wird beispielsweise wie folgt vorgegangen:To store the data 112, for example, proceed as follows:
Die Chipkarte 124 wird in das Kartenlesegerät 122 eingesteckt. Der Computer 102 liest den Index-Schlüssel 126 und den Index-Zeiger 128 von der Chipkarte 124. Ferner wird ein Daten-Schlüssel von der Komponente 118 abgerufen. Vorzugsweise generiert die Komponente 118 einen neuen Daten-Schlüssel für jeden Abruf.The smart card 124 is inserted into the card reader 122. The computer 102 reads the index key 126 and the index pointer 128 from the smart card 124. Further, a data key is retrieved from the component 118. Preferably, component 118 generates a new data key for each poll.
Mit Hilfe des Daten-Schlüssels werden die Daten 112 verschlüsselt und von dem Computer 102 über die Schnittstelle 120 und das Netzwerk 104 an den Daten-Server 106 übertragen. Der Daten-Server 106 speichert die verschlüsselten Daten in einem freien Speicherbereich, der durch eine Einsprung-Adresse 132 identifiziert ist. Vor- zugsweise erfolgt die Speicherung der verschlüsselten Daten 112 auf dem Daten- Server 106 so, dass die von dem Daten-Server empfangenen Daten der Reihe nach "übereinander gestapelt" werden. Die Speicherung der Daten auf dem Daten-Server 106 erfolgt also unsortiert und unstrukturiert in der Reihenfolge der eingehenden Daten.With the aid of the data key, the data 112 is encrypted and transmitted from the computer 102 to the data server 106 via the interface 120 and the network 104. The data server 106 stores the encrypted data in a free memory area identified by an entry address 132. Preferably, the storage of the encrypted data 112 on the data server 106 is done so that the data received from the data server is sequentially "stacked". The storage of the data on the data server 106 thus takes place unsorted and unstructured in the order of the incoming data.
Um dennoch einen späteren Zugriff auf die Daten zu ermöglichen, antwortet der Daten-Server 106 auf die von ihm empfangenen verschlüsselten Daten 112 mit einem Daten-Zeiger 134, der beispielsweise die Einsprung-Adresse 132 angibt, um den Speicherbereich auf dem Daten-Server 106 auf dem die verschlüsselten Daten 112 gespeichert sind zu identifizieren.
Der Daten-Zeiger 134 und der von der Komponente 118 gelieferte Daten-Schlüssel, mit dem die Daten 112 verschlüsselt worden sind, werden dann mit dem Index- Schlüssel 126 verschlüsselt. Der verschlüsselte Daten-Schlüssel und der verschlüsselte Daten-Zeiger werden dann als Index-Eintragung 136 von dem Computer 102 über dessen Schnittstelle 120 und das Netzwerk 104 zu dem Verzeichnis-Server 108 übertragen. Die entsprechende Speicher-Anforderung des Computers 102 an den Verzeichnis-Server 108 zur Speicherung der Index-Eintragung 136 beinhaltet den Index-Zeiger 128 als Parameter. Damit erhält der Verzeichnis-Server 108 eine Angabe darüber, in welchem Speicherbereich die Index-Eintragung 136 gespeichert wer- den soll, das heißt in dem hier betrachteten Beispielsfall in den Speicherbereich mit der Einsprung-Adresse 130, die durch den Index-Zeiger 128 identifiziert wird.In order nevertheless to allow later access to the data, the data server 106 responds to the encrypted data 112 received by it with a data pointer 134, which for example indicates the entry address 132, about the memory area on the data server 106 on which the encrypted data 112 is stored. The data pointer 134 and the data key provided by the component 118, with which the data 112 has been encrypted, are then encrypted with the index key 126. The encrypted data key and the encrypted data pointer are then transmitted as index entry 136 from the computer 102 via its interface 120 and the network 104 to the directory server 108. The corresponding memory request from the computer 102 to the directory server 108 for storing the index entry 136 includes the index pointer 128 as a parameter. The directory server 108 thus receives an indication of in which memory area the index entry 136 is to be stored, that is to say in the example case considered here into the memory area with the entry address 130 identified by the index pointer 128 becomes.
Im Ergebnis sind also die verschlüsselten Daten 112 auf dem Daten-Server 106 gespeichert und die Index-Eintragung 136, die die für den Zugriff auf die Daten erfor- derlichen Informationen beinhalten, auf dem Verzeichnis-Server. Der Zugriff auf die auf dem Daten-Server gespeicherten Daten 112 als auch auf die Index-Eintragung 136 des Verzeichnis-Servers 108 ist nur mit Hilfe der Chipkarte 124 möglich.As a result, the encrypted data 112 is stored on the data server 106, and the index entry 136, which contains the information necessary for accessing the data, is stored on the directory server. Access to the data 112 stored on the data server as well as to the index entry 136 of the directory server 108 is possible only with the aid of the chip card 124.
Zu einem späteren Zeitpunkt können die Daten der Patientenakte zum Beispiel von einem anderen Computer 102 eines anderen behandelnden Arztes, eines Krankenhauses oder einer anderen medizinischen Einrichtung wieder abgerufen werden. Hierzu wird wie folgt vorgegangen:At a later time, for example, the data of the patient record may be recalled by another computer 102 of another treating physician, hospital, or other medical facility. The procedure is as follows:
Die Chipkarte 124 wird in das Kartenlesegerät 122 eingesteckt. Durch das Programm 116 werden der Index-Schlüssel 126 und der Index-Zeiger 128 von der Chipkarte 124 gelesen. Das Programm 116 generiert daraufhin eine Anforderung an den Verzeichnis-Server 108 zur Abfrage der Index-Eintragungen der Patientenakte, die in dem durch den Index-Zeiger 128 identifizierten Speicherbereich des Verzeichnis- Servers 108 gespeichert sind. Hierzu verwendet das Programm 116 den von der Chipkarte 124 gelesenen Index-Zeiger 128.
Der Verzeichnis-Server 108 liefert als Antwort auf die von dem Computer 102 empfangene Anforderung die Index-Eintragungen der Patientenakte, die in dem in der Anforderung des Computers 102 spezifizierten Speicherbereich gespeichert sind, an den Computer 102. Das Programm 116 entschlüsselt dann den oder die Index- Eintragungen 136 mit dem Index-Schlüssel 126. Dadurch erhält das Programm 116 den Daten-Schlüssel und den Daten-Zeiger 134 aus der Index-Eintragung 136 im Klartext zurück.The smart card 124 is inserted into the card reader 122. Program 116 reads index key 126 and index pointer 128 from smart card 124. The program 116 then generates a request to the directory server 108 to query the index records of the patient record stored in the storage area of the directory server 108 identified by the index pointer 128. For this purpose, the program 116 uses the index pointer 128 read from the chip card 124. The directory server 108, in response to the request received from the computer 102, provides the index records of the patient record stored in the memory area specified in the request of the computer 102 to the computer 102. The program 116 then decrypts the one or more Index entries 136 with the index key 126. This causes the program 116 to retrieve the data key and data pointer 134 from the index entry 136 in plain text.
Mit dem Daten-Zeiger 134 greift das Programm 116 dann über die Schnittstelle 120 und das Netzwerk 104 auf den Daten-Server 106 zu. Der Daten-Server 106 liefert daraufhin die in dem durch den Daten-Zeiger 134 identifizierten Speicherbereich gespeicherten verschlüsselten Daten 112 an den Computer 102 über das Netzwerk 104 zurück. Das Programm 116 entschlüsselt dann die verschlüsselten Daten 112 mit dem Daten-Schlüssel aus der Index-Eintragung 136. Die entschlüsselten Daten 112 werden von dem Programm 116 in dem Speicher 110 gespeichert und beispielsweise auf einem Bildschirm angezeigt.With the data pointer 134, the program 116 then accesses the data server 106 via the interface 120 and the network 104. The data server 106 then returns the encrypted data 112 stored in the memory area identified by the data pointer 134 to the computer 102 via the network 104. The program 116 then decrypts the encrypted data 112 with the data key from the index entry 136. The decrypted data 112 is stored by the program 116 in the memory 110 and displayed on a screen, for example.
Vorzugsweise handelt es sich bei der Chipkarte 124 um eine Chipkarte mit einem integrierten Mikroprozessor. In diesem Fall ist es möglich, verschiedene Ver- und Entschlüsselungsfunktionen zumindest teilweise auf der Chipkarte 124 durchzuführen. Insbesondere wird dadurch ermöglicht, dass der Index-Schlüssel 126 nicht aus der Chipkarte 124 ausgelesen werden muss. Vielmehr kann der Index-Schlüssel 126 in einem geschützten Speicherbereich der Chipkarte 124 gespeichert sein, auf den nur der Mikroprozessor der Chipkarte zugreifen kann.Preferably, the smart card 124 is a smart card with an integrated microprocessor. In this case, it is possible to perform various encryption and decryption functions at least partially on the smart card 124. In particular, this makes it possible that the index key 126 does not have to be read from the chip card 124. Rather, the index key 126 can be stored in a protected memory area of the smart card 124, which can only be accessed by the microprocessor of the smart card.
In diesem Fall wird zum Hochladen von Daten wie folgt vorgegangen: Das Programm 116 übergibt den von der Komponente 118 gelieferten Daten-Schlüssel und den Daten-Zeiger 134 an die Chipkarte 124. Der Mikroprozessor der Chipkarte 124 verschlüsselt dann den Daten-Schlüssel und den Daten-Zeiger 134 mit Hilfe des Index- Schlüssels 126 und übergibt den chiffrierten Index-Eintrag 136 an den Computer 102, der diesen an den Verzeichnis-Server 108 schickt. Bei dieser Ausführungsform
ist vorteilhaft, dass nur der Index-Zeiger 128, nicht aber der Index-Schlüssel 126 aus der Chipkarte 124 ausgelesen werden muss.In this case, the procedure for uploading data is as follows: The program 116 transfers the data key supplied by the component 118 and the data pointer 134 to the chip card 124. The chip card microprocessor 128 then encrypts the data key and the data Pointer 134 using the index key 126 and passes the encrypted index entry 136 to the computer 102, which sends it to the directory server 108. In this embodiment is advantageous that only the index pointer 128, but not the index key 126 has to be read from the chip card 124.
Vorzugsweise wird zusätzlich zu dem verschlüsselten Teil der Index-Eintragung 136 unverschlüsselte Meta-Information zu der Index-Eintragung 136 gespeichert. Die Me- ta-lnformation gibt beispielsweise an, auf weiche Kategorie von Daten 112 die Index- Eintragung 136 verweist. Beispielsweise gibt die Meta-Information einer Index- Eintragung 136 an, ob es sich um zahnmedizinische, urologische, gynäkologisch o- der andere Facharzt spezifische Daten handelt.Preferably, in addition to the encrypted portion of the index entry 136, unencrypted meta-information about the index entry 136 is stored. For example, the meta-information indicates soft category of data 112 is indexed entry 136. For example, the meta-information of an index entry 136 indicates whether it is dental, urological, gynecological or other specialist-specific data.
Ferner kann die Meta-Information angeben, ob es sich beispielsweise um Rezeptdaten, Diagnosedaten oder Bilddaten handelt.Furthermore, the meta-information can indicate whether it is, for example, recipe data, diagnostic data or image data.
Die Meta-Informationen ermöglichen es anhand einer Codierung in einem 512-Bit- Feld vor dem Herunterladen der verschlüsselten Daten von dem Daten-Server 106 eine Auswahl der interessierenden Daten zu treffen. Beispielsweise würden in einer Zahnarztpraxis typischerweise nur die Index-Eintragungen 136, die als MetaInformation die Angabe "zahn medizinische Daten" haben, zum Herunterladen von dem Daten-Server 106 ausgewählt.The meta-information, by encoding in a 512-bit field prior to downloading the encrypted data from the data server 106, enables selection of the data of interest. For example, in a dental office, typically only the index entries 136, which have the indication "dental medical data" as meta-information, would be selected for download from the data server 106.
Ferner können auch Zugriffsberechtigungen in oder zu einer Index-Eintragung 136 gespeichert werden. Vorzugsweise erfolgt die Abspeicherung von Zugriffsberechtigungen in dem unverschlüsselten Teil der Index-Eintragung 136. Die Zugriffsrechte können in der Index-Eintragung 136 beispielsweise in einem Bit-Feld einer vorgege- benen Länge, von zum Beispiel 512 Bit, gespeichert werden.Furthermore, access permissions can also be stored in or to an index entry 136. The storage of access authorizations preferably takes place in the unencrypted part of the index entry 136. The access rights can be stored in the index entry 136, for example in a bit field of a predefined length, for example 512 bits.
Wenn beispielsweise das Bit Nr. 3 des Bit-Feldes auf Eins gesetzt ist, so bedeutet dies, dass alle Ärzte und Zahnärzte auf die Daten, auf weiche die Index-Eintragung 136 verweist, zugriffsberechtigt sind. Wenn hingegen das Bit Nr. 4 auf logisch „1" gesetzt ist, so bedeutet dies, dass zwar alle Ärzte, aber nicht Zahnärzte zugriffsberechtigt sind. Wenn das Bit Nr. 5 auf „1" gesetzt ist, so bedeutet dies, dass Apothe-
ken zugriffsberechtigt sind; wenn das Bit Nr. 7 auf „1" gesetzt ist, bedeutet dies, dass nur Zahnärzte zugriffsberechtigt sind etc.For example, if bit # 3 of the bit field is set to one, it means that all physicians and dentists have access to the data to which index entry 136 refers. If, on the other hand, bit # 4 is set to logical "1", this means that, although all physicians, but not dentists, are entitled to access, if bit # 5 is set to "1", this means that are entitled to access; if bit # 7 is set to "1", it means that only dentists are authorized to access etc.
In diesem Fall werden von dem Programm 116 nur diejenigen Index-Eintragungen 136, die für einen Patienten auf dem Verzeichnis-Server 108 abgespeichert sind, zur Auswahl zum Herunterladen von dem Daten-Server 106 angeboten, die der Berechtigung des Benutzers des Computers 102 entsprechen. Die Benutzerrechte des Benutzers des Computers 102 können dabei in dem Computer 102 fest abgespeichert sein; vorzugsweise hat der Benutzer des Computers 102, also zum Beispiel der be- handelnde Arzt, eine eigene Chipkarte, die er oder sie zu seiner Authentifizierung und Feststellung seiner Berechtigungen zunächst in das Kartenlesegerät 122 eingeben muss. Eine entsprechende Weiterbildung des Datenverarbeitungssystems 100 der Figur 1 wird weiter unten mit Bezugnahme auf die Figur 4 noch näher erläutert.In this case, only those index entries 136 stored for a patient on the directory server 108 are offered by the program 116 for download selection by the data server 106, which correspond to the authorization of the user of the computer 102. The user rights of the user of the computer 102 can be permanently stored in the computer 102; Preferably, the user of the computer 102, for example the attending physician, has his own chip card, which he or she first has to enter into the card reader 122 for his authentication and determination of his authorizations. A corresponding development of the data processing system 100 of FIG. 1 will be explained in more detail below with reference to FIG.
Die Figur 2 zeigt ein entsprechendes Flussdiagramm. In dem Schritt 200 werden die Daten entweder eingegeben oder erzeugt. Beispielsweise erfolgt die Eingabe der Daten manuell von dem behandelnden Arzt oder einer Assistentin; alternativ können die Daten auch von einem Gerät, wie zum Beispiel einem medizintechnischen Gerät erzeugt werden. In dem Schritt 202 wird der Daten-Schlüssel zur Verschlüsselung der in dem Schritt 202 erzeugten oder eingegebenen Daten abgefragt oder generiert. Vorzugsweise handelt es sich bei dem Daten-Schlüssel um einen symmetrischen Schlüssel. Es kann sich jedoch auch um ein asymmetrisches Schlüsselpaar handeln.FIG. 2 shows a corresponding flow chart. In step 200, the data is either input or generated. For example, the entry of the data is done manually by the attending physician or an assistant; Alternatively, the data may also be generated by a device, such as a medical device. In step 202, the data key for encrypting the data generated or input in step 202 is queried or generated. Preferably, the data key is a symmetric key. However, it can also be an asymmetric key pair.
In dem Schritt 204 werden die Daten mit dem Daten-Schlüssel verschlüsselt. Für den Fall, dass ein asymmetrisches Verschlüsselungsverfahren eingesetzt wird, erfolgt die Verschlüsselung der Daten mit dem öffentlichen Schlüssel des asymmetrischen Schlüsselpaars.In step 204, the data is encrypted with the data key. In the event that an asymmetric encryption method is used, the encryption of the data is done with the public key of the asymmetric key pair.
In dem Schritt 206 werden die verschlüsselten Daten an den Daten-Server geschickt. Daraufhin empfängt der Computer einen Daten-Zeiger von dem Daten-Server, der den Speicherbereich, in dem die Daten auf dem Daten-Server gespeichert worden sind, identifiziert (Schritt 208). In dem Schritt 210 werden ein Index-Schlüssel und ein
Index-Zeiger von der Patienten-Chipkarte gelesen. Bei dem Index-Schlüssel handelt es sich vorzugsweise um einen symmetrischen Schlüssel. Es kann sich jedoch auch um ein Schlüsselpaar eines asymmetrischen Verschlüsselungsverfahrens handeln.In step 206, the encrypted data is sent to the data server. The computer then receives a data pointer from the data server identifying the memory area in which the data has been stored on the data server (step 208). In step 210, an index key and a Index pointer read from the patient chip card. The index key is preferably a symmetric key. However, it may also be a key pair of an asymmetric encryption method.
In dem Schritt 212 erfolgt die Verschlüsselung des Daten-Schlüssels und des Daten- Zeigers mit dem Index-Schlüssel. Falls ein asymmetrisches Verschlüsselungsverfahren zum Einsatz kommt, erfolgt die Verschlüsselung mit dem öffentlichen Schlüssel des Schlüsselpaars.In step 212, the encryption of the data key and the data pointer with the index key is performed. If an asymmetric encryption method is used, the encryption is done with the public key of the key pair.
Durch die Verschlüsselung des Datenschlüssels und des Daten-Zeigers wird ein Index-Eintrag generiert. Der Index-Eintrag wird an einen Index-Server gesendet, um den Index-Eintrag in einem Speicherbereich des Index-Servers zu speichern, der durch den Index-Zeiger identifiziert wird. In dem Schritt 216 erfolgt die Speicherung der Index-Eintragung auf dem Index-Server.The encryption of the data key and the data pointer generates an index entry. The index entry is sent to an index server to store the index entry in a memory area of the index server identified by the index pointer. In step 216, the index entry is stored on the index server.
Die Figur 3 zeigt ein Flussdiagramm zur Abfrage von Daten aus der virtuellen elektronischen Patientenakte. In dem Schritt 300 steckt der Patient seine Chipkarte in das Kartenlesegerät des Computers zum Beispiel seines behandelnden Arztes. Der Computer liest dann zumindest den Index-Zeiger oder sowohl den Index-Zeiger und den Index-Schlüssel von der Patienten-Chipkarte. In dem Schritt 302 fragt der Computer den oder die Index-Eintragungen, die auf dem Verzeichnis-Server für den betreffenden Patienten gespeichert sind, mit Hilfe des Index-Zeigers ab. In dem Schritt 304 erfolgt die Entschlüsselung des oder der Index-Eintragungen mit Hilfe des Index-Schlüssels. Diese Entschlüsselung erfolgt je nach Ausführungsform entweder durch die Chipkarte durch den Computer.FIG. 3 shows a flow chart for requesting data from the virtual electronic patient file. In step 300, the patient inserts his smart card into the card reader of the computer, for example his treating physician. The computer then reads at least the index pointer or both the index pointer and the index key from the patient smart card. In step 302, the computer retrieves the index entry (s) stored on the directory server for that particular patient using the index pointer. In step 304, the decryption of the index entry (s) is performed using the index key. Depending on the embodiment, this decryption is carried out either by the chip card by the computer.
Durch die Entschlüsselung erhält der Computer den Daten-Schlüssel und den Daten- Zeiger auf die verschlüsselt auf dem Daten-Server gespeicherten Daten, auf welche die Index-Eintragung verweist. Diese Daten werden mit Hilfe des Daten-Zeigers in dem Schritt 306 von dem Daten-Server abgefragt. Der Computer erhält daraufhin die verschlüsselten Daten von dem Daten-Server. Diese werden mit Hilfe des Daten-
Schlüssels entschlüsselt (Schritt 308) und in dem Schritt 310 beispielsweise auf einem Bildschirm des Computers ausgegeben.By decrypting, the computer obtains the data key and the data pointer to the data stored encrypted on the data server, to which the index entry refers. These data are retrieved by the data server at step 306 using the data pointer. The computer then receives the encrypted data from the data server. These are calculated using the data Key decrypted (step 308) and output in step 310, for example, on a screen of the computer.
Die Figur 4 zeigt eine Weiterbildung des Datenverarbeitungssystems der Figur 1. Elemente der Ausführungsform der Figur 4, die Elementen der Ausführungsform der Figur 1 entsprechen, sind mit entsprechenden Bezugszeichen gekennzeichnet. In der Ausführungsform des Datenverarbeitungssystems 400 der Figur 4 können zwei verschiedene Arten von Patienten-Chipkarten verwendet werden:FIG. 4 shows a further development of the data processing system of FIG. 1. Elements of the embodiment of FIG. 4 which correspond to elements of the embodiment of FIG. 1 are identified by corresponding reference symbols. In the embodiment of the data processing system 400 of Figure 4, two different types of patient smart cards may be used:
Die Chipkarte 424 hat ein relativ kleines Speichervermögen, welches zur Speicherung des Index-Schlüssels 426 und des Index-Zeigers 428 ausreicht. Dagegen hat die Chipkarte 424' eines anderen Patienten einen größeren Speicherbereich, der es ermöglicht, sowohl den Index-Schlüssel 426', den Index-Zeiger 428' und die Index- Eintragung 436 bzw. mehrere Index-Eintragungen der elektronischen Patientenakte auf der Chipkarte 424' zu speichern. Beispielsweise erfolgt die Speicherung von Index-Eintragungen auf der Chipkarte 424' bis der Speicherplatz der Chipkarte 424' erschöpft ist. Zur Speicherung weiterer Eintragungen kann der Verzeichnis-Server verwendet werden.The smart card 424 has a relatively small storage capacity, which is sufficient for storing the index key 426 and the index pointer 428. On the other hand, the chip card 424 'of another patient has a larger memory area which allows both the index key 426', the index pointer 428 'and the index entry 436 and a plurality of index records of the electronic health record on the smart card 424 ' save. For example, index entries are stored on smart card 424 'until the memory location of smart card 424' is exhausted. For storing further entries, the directory server can be used.
In dem hier betrachteten Ausführungsbeispiel hat auch der Benutzer des Computers 402, das heißt zum Beispiel der behandelnde Arzt, eine Chipkarte 425. Die Chipkarte 425 dient zur Speicherung eines geheimen Schlüssels 438, zu dem ein öffentlicher Schlüssel 440 gehört. Der öffentliche Schlüssel 440 ist beispielsweise auf einem Anmelde-Server 442 gespeichert. Der Anmelde-Server 442 stellt ein sogenanntes Directory für die Abfrage von öffentlichen Schlüsseln der registrierten Benutzer zur Verfügung sowie weitere Dienste für die Authentifizierung der registrierten Benutzer und der registrierten Patienten bzw. der Chipkarten.In the embodiment considered here, the user of the computer 402, that is, for example, the attending physician, has a chip card 425. The chip card 425 is used to store a secret key 438, to which a public key 440 belongs. The public key 440 is stored, for example, on a logon server 442. The login server 442 provides a so-called public key retrieval directory of the registered users, as well as other services for authenticating the registered users and the registered patients or the smart cards.
Zusätzlich können die Chipkarten 424, 424' und / oder 425 durch eine PIN oder ein biometrisches Merkmal geschützt sein. Zur Zugriffssicherung mittels einer PIN ist an den Computer 402 ein so genanntes PIN-PAD angeschlossen, über das die PIN der betreffenden Chipkarte eingegeben werden kann. Nur wenn die eingegebene PIN mit
der auf der Chipkarte gespeicherten PIN übereinstimmt, wird die Chipkarte zur weiteren Verwendung zugelassen.In addition, the smart cards 424, 424 'and / or 425 may be protected by a PIN or a biometric feature. To secure access by means of a PIN, a so-called PIN-PAD is connected to the computer 402, via which the PIN of the respective chip card can be entered. Only if the entered PIN with the PIN stored on the smart card, the smart card is allowed for further use.
Beim Betrieb des Datenverarbeitungssystems 400 steckt der Patient seine Chipkarte 424 bzw. 424' in das Kartenlesegerät 422 ein. Das Programm 416 versucht dann, auf der betreffenden Chipkarte gespeicherte Index-Eintragungen 436 zu lesen. Wenn es sich bei Chipkarte um eine Chipkarte mit geringer Speicherkapazität, das heißt eine Chipkarte 424 handelt, so schlägt der Zugriffsversuch auf den oder die Index- Eintragungen 436 fehl, da diese nicht auf der Chipkarte 424 gespeichert sind. In die- sem Fall greift das Programm 416 auf den Verzeichnis-Server 408 zu, um die Index- Eintragungen 436 zu lesen.During operation of the data processing system 400, the patient inserts his chip card 424 or 424 'into the card reader 422. Program 416 then attempts to read index entries 436 stored on the particular smart card. If the chip card is a chip card with a small storage capacity, that is to say a chip card 424, then the access attempt to the index entry (s) 436 fails since these are not stored on the chip card 424. In this case, the program 416 accesses the directory server 408 to read the index entries 436.
Wenn der Patient jedoch Inhaber einer Chipkarte 424' mit größerem Speicherplatz ist, so kann das Programm 416 den oder die Index-Eintragungen 436 unmittelbar von der Chipkarte 424' lesen.However, if the patient has a larger memory chip card 424 ', then the program 416 may read the index entry 436 directly from the smart card 424'.
Die auf der Chipkarte 424' gespeicherten Index-Eintragungen 436 können dabei vorzugsweise die verschlüsselten Teile der Index-Eintragung 436 beinhalten.The index entries 436 stored on the chip card 424 'may preferably include the encrypted parts of the index entry 436.
Vorzugsweise werden bei der Ausführungsform der Figur 4 die Daten 412 vor dem Hochladen auf den Daten-Server 406 und / oder die Index-Eintragung 436 vor dem Hochladen auf den Verzeichnis-Server 408 von dem Benutzer des Computers, das heißt beispielsweise des behandelnden Arztes, digital signiert. Dies erfolgt unter Verwendung des auf der Chipkarte 425 des Benutzers gespeicherten geheimen Schlüssels. In diesem Fall werden die von dem Daten-Server 406 zu einem späteren Zeitpunkt geladenen Daten und / oder die von dem Verzeichnis-Server geladenen Index-Eintragungen 436 mit Hilfe des auf dem Anmelde-Server 442 gespeicherten öffentlichen Schlüssels 440 verifiziert.Preferably, in the embodiment of Figure 4, prior to uploading to the data server 406 and / or index entry 436, the data 412 is uploaded to the directory server 408 by the user of the computer, e.g., the attending physician, digitally signed. This is done using the secret key stored on the user's smart card 425. In this case, the data loaded by the data server 406 at a later time and / or the index entries 436 loaded from the directory server are verified using the public key 440 stored on the logon server 442.
Die Figur 5 zeigt ein Verfahren zur erfindungsgemäßen Verwendung einer Chipkarte, beispielsweise einer Patientenkarte. In dem Schritt 500 wird die Patienten-Chipkarte in das Kartenlesegerät des Computers eingeführt. Danach erfolgt in dem Schritt 502
ein Leseversuch des Computers, um eventuell auf der Patienten-Chipkarte gespeicherte Index-Eintragungen auszulesen. Wenn der Leseversuch erfolgreich verläuft (Schritt 504), werden in dem Schritt 506 die Daten von dem Daten-Server mit Hilfe des Daten-Zeigers bzw. des Daten-Schlüssels aus der Index-Eintragung angefordert bzw. entschlüsselt. War der Leseversuch hingegen nicht erfolgreich, so wird in dem Schritt 508 zunächst auf den Index-Server zugegriffen, um die Index-Eintragungen zu lesen.FIG. 5 shows a method for the use according to the invention of a chip card, for example a patient card. In step 500, the patient smart card is inserted into the card reader of the computer. Thereafter, in step 502 a read attempt by the computer to read any index entries stored on the patient smart card. If the read attempt succeeds (step 504), in step 506, the data is requested / decrypted from the data server using the data pointer and the data key, respectively, from the index entry. On the other hand, if the read attempt was unsuccessful, then in step 508, the index server is first accessed to read the index entries.
Dies ermöglicht die wahlweise Verwendung von kostenoptimierten Chipkarten mit kleinem Speicherplatz und Komfort-Chipkarten mit größerem Speicherplatz.
This allows the optional use of cost-optimized chip cards with small storage space and comfort chip cards with larger storage space.
BezugszeichenlisteLIST OF REFERENCE NUMBERS
100 Datenverarbeitungssystem100 data processing system
102 Computer102 computers
104 Netzwerk104 network
106 Daten-Server106 data server
108 Verzeichnis-Server108 directory server
110 Speicher110 memory
112 Daten112 data
114 Prozessor114 processor
116 Programm116 program
118 Komponente118 component
120 Schnittstelle120 interface
122 Kartenlesegerät122 card reader
124 Chipkarte124 chip card
126 Index-Schlüssel126 index key
128 Index-Zeiger128 index pointer
130 Einsprung-Adresse130 entry address
132 Einsprung-Adresse132 Entry address
134 Daten-Zeiger134 data pointer
136 Index-Eintragung136 Index entry
400 Datenverarbeitungssystem400 data processing system
402 Computer402 computers
404 Netzwerk404 network
406 Daten-Server406 data servers
408 Verzeichnis-Server408 directory server
410 Speicher410 memory
412 Daten412 dates
414 Prozessor414 processor
416 Programm416 program
418 Komponente
420 Schnittstelle418 component 420 interface
422 Kartenlesegerät422 card reader
424 Chipkarte424 chip card
4241 Chipkarte424 1 chip card
425 Chipkarte425 chip card
426 Index-Schlüssel426 index keys
4261 Index-Schlüssel426 1 index key
428 Index-Zeiger428 index pointer
4281 Index-Zeiger428 1 index pointer
430 Einsprung-Adresse430 Entry address
432 Einsprung-Adresse432 Entry address
434 Daten-Zeiger434 data pointer
436 Index-Eintragung436 Index entry
438 geheimer Schlüssel438 secret key
440 öffentlicher Schlüssel440 public key
442 Anmelde-Server
442 login servers
Claims
1. Computersystem mit1. Computer system with
einem Lesegerät (122; 422) für einen tragbaren Datenträger (124; 424, 424', 425) zum Lesen eines ersten Schlüssels (126; 426, 426') und eines ersten Zeigers (128; 428, 428') von dem Datenträger, - Mitteln (114, 116, 118; 414, 416, 418) zur Verschlüsselung von Daten (112; 412) mit einem zweiten Schlüssel,a portable data carrier (124; 424, 424 ', 425) reader (122; 422) for reading a first key (126; 426, 426') and a first pointer (128; 428, 428 ') from the data carrier, Means (114, 116, 118, 414, 416, 418) for encrypting data (112, 412) with a second key,
Mitteln (120; 420) zum Versenden der mit dem zweiten Schlüssel verschlüsselten Daten an einen ersten Server (106; 406), Mitteln (120; 420) zum Empfang eines zweiten Zeigers (134; 434) von dem ersten Server als Antwort auf die verschlüsselten Daten (112; 412), - Mitteln (114, 116; 414, 416) zur Verschlüsselung des zweiten Schlüssels und des zweiten Zeigers mit dem ersten Schlüssel, Mitteln (120; 420) zum Senden des mit dem ersten Schlüssel verschlüsselten zweiten Schlüssels und des zweiten Zeigers (136; 436) an einen zweiten Server (108; 408) zur Speicherung in einem durch den ersten Zeiger i- dentifizierten Speicherbereich des zweiten Servers.Means (120; 420) for sending the second key encrypted data to a first server (106; 406), means (120; 420) for receiving a second pointer (134; 434) from the first server in response to the encrypted one Data (112; 412), means (114, 116; 414, 416) for encrypting the second key and the second pointer with the first key, means (120; 420) for transmitting the second key encrypted with the first key, and second pointer (136; 436) to a second server (108; 408) for storage in a storage area of the second server identified by the first pointer i.
2. Computersystem nach Anspruch 1 , wobei es sich bei dem tragbaren Datenträger um eine Chipkarte handelt.The computer system of claim 1, wherein the portable data carrier is a smart card.
3. Computersystem nach einem der Ansprüche 1 oder 2, wobei es sich bei den Daten um medizinische Daten, Texte und/oder Bilddaten handelt.3. Computer system according to one of claims 1 or 2, wherein the data is medical data, text and / or image data.
4. Computersystem zur Abfrage von auf einem ersten Server (106; 406) gespeicherten Daten mit einem Lesegerät (122; 422) für einen tragbaren Datenträger (124; 424, 424', 425) zum Lesen eines ersten Schlüssels (126; 426, 426') und eines ersten Zeigers (128; 428, 428') von dem Datenträger, - Mitteln (114, 116, 120; 414, 416, 420) zur Abfrage eines mit dem ersten Schlüssel verschlüsselten zweiten Schlüssels und eines mit dem ersten4. Computer system for querying data stored on a first server (106; 406) a portable data carrier (124; 424, 424 ', 425) reader (122; 422) for reading a first key (126; 426, 426') and a first pointer (128; 428, 428 ') from the data carrier, - means (114, 116, 120; 414, 416, 420) for polling a second key encrypted with the first key and one with the first
Schlüssel verschlüsselten zweiten Zeigers aus einem durch den ersten Zeiger identifizierten Speicherbereich eines zweiten Servers (108; 408), Mitteln (114, 116; 414, 416) zur Entschlüsselung des zweiten Schlüssels und des zweiten Zeigers mit dem ersten Schlüssel, - Mitteln (114, 116, 120; 414, 416, 420) zur Abfrage der verschlüsselt auf einem ersten Server (106; 406) gespeicherten Daten (112; 412) von einem durch den zweiten Zeiger identifizierten Speicherbereich des ersten Servers, Mitteln (114, 116; 414, 416) zur Entschlüsselung der Daten mit dem zweiten Schlüssel.A key encrypted second pointer from a memory area of a second server (108; 408) identified by the first pointer, means (114, 116; 414, 416) for decrypting the second key and the second pointer with the first key, - means (114, 116, 120, 414, 416, 420) for polling the data (112; 412) stored encrypted on a first server (106; 406) from a memory area of the first server identified by the second pointer, means (114, 116; 414, 416) for decrypting the data with the second key.
5. Datenverarbeitungssystem mit zumindest einem Computersystem nach einem der vorhergehenden Ansprüche, wobei der zweite Server zur Speicherung eines Index bestehend aus einem oder mehreren Index-Eintragungen (136; 436) für eine elektronische Patientenakte ausgebildet ist und die zu der Patientenakte gehörenden Massendaten (112; 412) verschlüsselt auf dem ersten Server gespeichert sind.A data processing system comprising at least one computer system as claimed in any one of the preceding claims, wherein the second server is adapted to store an index consisting of one or more index entries (136; 436) for an electronic patient record and the mass data (112; 412) are stored encrypted on the first server.
6. Datenverarbeitungssystem nach Anspruch 5, wobei der erste Server zur Spei- cherung der Daten als verschlüsselte BLOB-Daten ausgebildet ist.6. Data processing system according to claim 5, wherein the first server is designed to store the data as encrypted BLOB data.
7. Datenverarbeitungssystem nach Anspruch 5 oder 6, wobei dem zweiten Server mehrere erste Zeiger zugeordnet sind, wobei jeder der ersten Zeiger einen einer Chipkarte zugeordneten Speicherbereich identifiziert. The data processing system of claim 5 or 6, wherein the second server is associated with a plurality of first pointers, each of the first pointers identifying a memory card associated with a smart card.
8. Verfahren zur Speicherung von Daten mit folgenden Schritten:8. Method for storing data with the following steps:
Lesen eines ersten Schlüssels (126; 426) und eines ersten Zeigers (128; 428) von einem tragbaren Datenträger (124; 424, 424'),Reading a first key (126; 426) and a first pointer (128; 428) from a portable data carrier (124; 424, 424 '),
Verschlüsselung von Daten (112; 412) mit einem zweiten Schlüssel, Versendung der mit dem zweiten Schlüssel verschlüsselten Daten an einen ersten Server (106; 406), Empfang eines zweiten Zeigers (134; 434) von dem ersten Server als Ant- wort auf die verschlüsselten Daten,Encrypting data (112; 412) with a second key, sending the data encrypted with the second key to a first server (106; 406), receiving a second pointer (134; 434) from the first server in response to the first encrypted data,
Verschlüsselung des zweiten Schlüssels und des zweiten Zeigers mit dem ersten Schlüssel,Encryption of the second key and the second pointer with the first key,
Versenden des mit dem ersten Schlüssel verschlüsselten zweiten Schlüssels und des mit dem ersten Schlüssel verschlüsselten zweiten Zeigers an einen zweiten Server (108; 408) zur Speicherung in einem durch den erstenSending the second key encrypted with the first key and the second pointer encrypted with the first key to a second server (108; 408) for storage in one by the first one
Zeiger identifizierten Speicherbereich des zweiten Servers.Pointer identified storage area of the second server.
9. Verfahren nach Anspruch 8, wobei die Daten mit Hilfe eines medizintechnischen Geräts erfasst werden.9. The method of claim 8, wherein the data is detected using a medical device.
10. Verfahren zur Abfrage von auf einem ersten Server (106; 406) gespeicherten Daten (112; 412) mit folgenden Schritten:A method of querying data (112; 412) stored on a first server (106; 406), comprising the steps of:
Lesen eines ersten Schlüssels (126; 426, 426') und eines ersten Zeigers (128; 428, 428') von einem tragbaren Datenträger (124; 424, 424')Reading a first key (126; 426, 426 ') and a first pointer (128; 428, 428') from a portable data carrier (124; 424, 424 ')
Abfrage eines mit dem ersten Schlüssel verschlüsselten zweiten Schlüssels und eines mit dem ersten Schlüssel verschlüsselten zweiten Zeigers aus einem durch den ersten Zeiger identifizierten Speicherbereich eines zweiten Servers (108; 408), - Entschlüsselung des zweiten Schlüssels und des zweiten Zeigers mit dem ersten Schlüssel, Abfrage der verschlüsselt auf dem ersten Server gespeicherten Daten aus einem durch den zweiten Zeiger identifizierten Speicherbereich des ersten Servers,Retrieving a second key encrypted with the first key and a second pointer encrypted with the first key from a storage area of a second server (108; 408) identified by the first pointer, decrypting the second key and the second pointer with the first key, Retrieving the encrypted data stored on the first server from a storage area of the first server identified by the second pointer,
Entschlüsselung der verschlüsselten Daten mit dem zweiten Schlüssel.Decrypt the encrypted data with the second key.
11. Computerprogrammprodukt mit von einem Computer ausführbaren Instruktionen zur Durchführung der folgenden Schritte:11. Computer program product with computer-executable instructions for performing the following steps:
Lesen eines ersten Schlüssels (126; 426) und eines ersten Zeigers (128; 428) von einem tragbaren Datenträger (124; 424, 424'),Reading a first key (126; 426) and a first pointer (128; 428) from a portable data carrier (124; 424, 424 '),
Verschlüsselung von Daten (112; 412) mit einem zweiten Schlüssel, Versendung der mit dem zweiten Schlüssel verschlüsselten Daten an einen ersten Server (106; 406), Empfang eines zweiten Zeigers (134; 434) von dem ersten Server als Ant- wort auf die verschlüsselten Daten,Encrypting data (112; 412) with a second key, sending the data encrypted with the second key to a first server (106; 406), receiving a second pointer (134; 434) from the first server in response to the first encrypted data,
Verschlüsselung des zweiten Schlüssels und des zweiten Zeigers mit dem ersten Schlüssel,Encryption of the second key and the second pointer with the first key,
- Versenden des mit dem ersten Schlüssel verschlüsselten zweiten Schlüssels und des mit dem ersten Schlüssel verschlüsselten zweiten Zeigers an einen zweiten Server (108; 408) zur Speicherung in einem durch den erstenSending the second key encrypted with the first key and the second pointer encrypted with the first key to a second server (108; 408) for storage in one by the first
Zeiger identifizierten Speicherbereich des zweiten Servers.Pointer identified storage area of the second server.
12. Computerprogrammprodukt mit von einem Computer ausführbaren Instruktionen zur Durchführung der folgenden Schritte zur Abfrage von auf einem ersten Server (106; 406) gespeicherten Daten (112; 412):A computer program product having computer-executable instructions for performing the following steps for retrieving data (112; 412) stored on a first server (106; 406):
Lesen eines ersten Schlüssels (126; 426, 426') und eines ersten Zeigers (128; 428, 428') von einem tragbaren Datenträger (124; 424, 424') Abfrage eines mit dem ersten Schlüssel verschlüsselten zweiten Schlüssels und eines mit dem ersten Schlüssel verschlüsselten zweiten Zeigers aus einem durch den ersten Zeiger identifizierten Speicherbereich eines zweiten Servers (108; 408), Entschlüsselung des zweiten Schlüssels und des zweiten Zeigers mit dem ersten Schlüssel,Reading a first key (126, 426, 426 ') and a first pointer (128; 428, 428') from a portable data carrier (124; 424, 424 ') interrogating a second key encrypted with the first key and one with the first one Key encrypted second pointer from a storage area of a second server (108; 408) identified by the first pointer, Decryption of the second key and the second pointer with the first key,
Abfrage der verschlüsselt auf dem ersten Server gespeicherten Daten aus einem durch den zweiten Zeiger identifizierten Speicherbereich des ersten Servers,Retrieving the encrypted data stored on the first server from a storage area of the first server identified by the second pointer,
Entschlüsselung der verschlüsselten Daten mit dem zweiten Schlüssel.Decrypt the encrypted data with the second key.
13. Chipkarte mit einem in der Chipkarte gespeicherten Schlüssel (126; 426, 426') und einem in der Chipkarte gespeichertem Zeiger (128; 428, 428'), wobei der Schlüssel und der Zeiger einem berechtigten Benutzer der Chipkarte fest zugeordnet sind, der Zeiger auf eine Index-Eintragung (136, 436) eines Verzeichnis- Servers (108, 408) zeigt, wobei die Index-Eintragung verschlüsselt ist, und der Schlüssel zur Entschlüsselung der Index-Eintragung dient. 13. Chip card with a key (126, 426, 426 ') stored in the chip card and a pointer (128, 428, 428') stored in the chip card, the key and the pointer being permanently assigned to an authorized user of the chip card, Pointer to an index entry (136, 436) of a directory server (108, 408), wherein the index entry is encrypted and the key is for decrypting the index entry.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2006/050777 WO2007090466A1 (en) | 2006-02-08 | 2006-02-08 | Computer system and method for storing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2006/050777 WO2007090466A1 (en) | 2006-02-08 | 2006-02-08 | Computer system and method for storing data |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007090466A1 true WO2007090466A1 (en) | 2007-08-16 |
Family
ID=37546886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2006/050777 WO2007090466A1 (en) | 2006-02-08 | 2006-02-08 | Computer system and method for storing data |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2007090466A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009117981A1 (en) * | 2008-03-14 | 2009-10-01 | Robert Niggl | System for the document-based data exchange between at least two data carriers by way of paper or remote data transmission |
WO2009106055A3 (en) * | 2008-02-29 | 2010-01-21 | Robert Niggl | System for the controlled data exchange between at least two data carriers via mobile read-write memories |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19925910A1 (en) * | 1999-06-07 | 2001-02-22 | Siemens Ag | Data processing of coded data stored in database |
WO2002067548A1 (en) * | 2001-02-21 | 2002-08-29 | Rpk New Zealand Limited | Encrypted media key management |
EP1262855A2 (en) * | 2001-05-29 | 2002-12-04 | Siemens Aktiengesellschaft | Personal electronic medical record secured against sabotage and which is censorship-resistant |
US20030039362A1 (en) * | 2001-08-24 | 2003-02-27 | Andrea Califano | Methods for indexing and storing genetic data |
WO2003034294A2 (en) * | 2001-10-11 | 2003-04-24 | Symbasis Gmbh | Data processing system for patient data |
EP1394680A1 (en) * | 2002-08-29 | 2004-03-03 | Mobile Management GmbH | Procedure for providing data |
GB2401222A (en) * | 2003-04-29 | 2004-11-03 | Hewlett Packard Development Co | Encrypted index to control access to a database |
EP1650630A2 (en) * | 2004-10-20 | 2006-04-26 | CompuGROUP Health Services GmbH | Computer system and data storage method |
-
2006
- 2006-02-08 WO PCT/EP2006/050777 patent/WO2007090466A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19925910A1 (en) * | 1999-06-07 | 2001-02-22 | Siemens Ag | Data processing of coded data stored in database |
WO2002067548A1 (en) * | 2001-02-21 | 2002-08-29 | Rpk New Zealand Limited | Encrypted media key management |
EP1262855A2 (en) * | 2001-05-29 | 2002-12-04 | Siemens Aktiengesellschaft | Personal electronic medical record secured against sabotage and which is censorship-resistant |
US20030039362A1 (en) * | 2001-08-24 | 2003-02-27 | Andrea Califano | Methods for indexing and storing genetic data |
WO2003034294A2 (en) * | 2001-10-11 | 2003-04-24 | Symbasis Gmbh | Data processing system for patient data |
EP1394680A1 (en) * | 2002-08-29 | 2004-03-03 | Mobile Management GmbH | Procedure for providing data |
GB2401222A (en) * | 2003-04-29 | 2004-11-03 | Hewlett Packard Development Co | Encrypted index to control access to a database |
EP1650630A2 (en) * | 2004-10-20 | 2006-04-26 | CompuGROUP Health Services GmbH | Computer system and data storage method |
Non-Patent Citations (2)
Title |
---|
BIGET P ET AL: "Extended Memory Card", INTERNET CITATION, 31 December 1998 (1998-12-31), XP002257108 * |
WORKING GROUP ON ACCURATELY LINKING INFORMATION FOR HEALTH CARE QUALITY AND SAFETY: "LINKING HEALTH CARE INFORMATION: PROPOSED METHODS FOR IMPROVING CARE AND PROTECTING PRIVACY", INTERNET CITATION, February 2005 (2005-02-01), XP002412449, Retrieved from the Internet <URL:http://www.connectingforhealth.org/assets/reports/linking_report_2_20 05.pdf> [retrieved on 20061219] * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009106055A3 (en) * | 2008-02-29 | 2010-01-21 | Robert Niggl | System for the controlled data exchange between at least two data carriers via mobile read-write memories |
WO2009117981A1 (en) * | 2008-03-14 | 2009-10-01 | Robert Niggl | System for the document-based data exchange between at least two data carriers by way of paper or remote data transmission |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2147388B1 (en) | Computer system and method for storing data | |
DE69731338T2 (en) | Method and system for secure transmission and storage of protected information | |
DE69714422T2 (en) | ACCESS CONTROL / ENCRYPTION SYSTEM | |
DE60020293T2 (en) | Generation of a repeatable cryptographic key based on variable parameters | |
EP2409452B1 (en) | Method for providing a cryptic pair of keys | |
DE69815575T2 (en) | Method and device for storing data and controlling access to it | |
EP1459251B1 (en) | Portable storage device for storing and accessing personal data | |
WO2013124014A1 (en) | Method for processing patient-based data sets | |
JP2005505863A (en) | Data processing system for patient data | |
DE102004051296B3 (en) | Computer system e.g. for medical patient cards, has reader for portable data medium for reading key and pointer of data medium with data coded with second key | |
EP2340502A2 (en) | Data processing system for providing authorization keys | |
CN112017761A (en) | System and method for embedding medical information into electronic medical image | |
DE102006057201B4 (en) | Smart card and method for use as a patient card | |
DE10156877B4 (en) | Method and system for secure storage and readout of user data | |
DE102007021275A1 (en) | Method for transmitting and / or providing personal electronic data of a holder, in particular health-related electronic data of a patient | |
EP1650630B1 (en) | Computer system and data storage method | |
DE102008000897B4 (en) | Communication method of an electronic health card with a reader | |
WO2007090466A1 (en) | Computer system and method for storing data | |
DE10307996B4 (en) | Method for encrypting and decrypting data by different users | |
EP2080144B1 (en) | Method for enabling a chip card | |
DE202004016306U1 (en) | Computer system for handling patient data and records has a card reader, encryption means and first and second servers for distributed and secure storage of patient records so that they can be linked to a patient chip card | |
DE10209780B4 (en) | Data processing system for patient data | |
JP2011514060A (en) | System for controlled data exchange between at least two data carriers via mobile read / write memory | |
JP2008176490A (en) | Health information storage system | |
EP1394680A1 (en) | Procedure for providing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06708121 Country of ref document: EP Kind code of ref document: A1 |