APPARATUS AND METHOD FOR STORING DATA

Abstract: A method and an apparatus for storing data comprising an original identity (OID) and associated descriptive information (DI) are disclosed. By means of a first algorithm (ALG1), the original identity (OID) is encrypted to an update identity (UID) which, by means of a reversible algorithm (ALG2), is encrypted to a storage identity (SID) which is stored as a record (P) on a storage medium along with associated descriptive information (DI). At the times when the storage identities (SID) of selected records (P) are to be replaced with new storage identities (SID'), the storage identities (SID) are decrypted in order to recreate the corresponding update identities (UID), which then are encrypted, by means of a new and altered reversible algorithm (ALG2'), to new storage identities (SID') intended to replace the previous storage identities (SID).

Description: APPARATUS AND METHOD FOR STORING DATA This invention relates to an apparatus and a method for storing data, more specifically data comprising iden¬ tifying information, such as personal code numbers, as well as associated descriptive information. In computer-aided information management, it is imperative that the individual's personal integrity be protected against violation when setting up and keeping personal registers, i.e. registers containing information on individuals. Also in industry, banking and defence, as well as many other sectors where computer-aided information management is used, it is essential that stored data be protected against unauthorised access. In particular, there are regulations restricting or prohibiting the linking and matching of personal reg- isters, since this often results in one or more new per¬ sonal registers containing sensitive information that can be directly linked to individuals. There is, however,, a great need of being able to link and match different personal registers without pos- ing a threat to the personal integrity of the individual. Within this technical field, there are different cryptographic storage methods in which, for security rea¬ sons, the information to be stored is first encrypted and then stored on a storage medium. However, these prior-art encrypting methods are often sensitive to tracking, since every registration in or update of a database involves an alteration which, by means of tracking tools, can be linked to the corresponding non-encrypted original infor¬ mation bearing a one-to-one relation to the encrypted information. After, a number of trackings, all the encrypted information can be converted to plain text. This invention aims at solving the above problem of the prior art and to this end provides an apparatus as set forth in appended claim 1, as well as a method as set forth in appended claim 7. According to the invention, the information to be stored comprises an original identity OID and associated descriptive information Dl. Examples of the original identity are personal code number, drawing number, docu¬ ment identity, and registration number for vehicles. The associated descriptive information is such information as does not reveal the original identity, i.e. that cannot be linked directly thereto. A distinctive feature of the invention is that the original identity OID is completely separated from the descriptive information Dl, which is achieved by initially having the original identity OID undergo a first encryption by means of a first algorithm ALG1, resulting in an update identity UID. Then, the update identity UID undergoes a second encryption by means of a reversible algorithm ALG2, resulting in a storage identity SID. The thus-created storage identity SID is, along with associated descriptive information Dl, stored as a record on a storage medium. Thus, the origi¬ nal identity is completely separated from the associated descriptive information. If the original identity con¬ sists of a personal code number or the like, the result¬ ing records may be regarded as pure information records in contrast to personal records. In order to prevent the descriptive information Dl from ever being relinked to the original identity OID, the first algorithm ALG1 preferably is a non-reversible algorithm, i.e. an algorithm giving each original iden- tity a unique update identity and providing a great num¬ ber of identities when decrypting efforts are made. Furthermore, the invention is distinguished by the fact that the original identity OID is encrypted in two separate steps when generating the storage identity SID, and that the second encrypting step is performed by means of a reversible algorithm ALG2. These distinctive fea¬ tures of the invention enable the creation of "floating" storage identities of the records in order to prevent all unauthorised tracking. According to the invention, the storage identities SID of selected records, preferably all the records, stored on the storage medium are, at certain times, replaced with new storage identities SID'. As a result, the information obtained by tracking, if any, is perfectly useless as soon as the storage identi¬ ties according to the invention have been replaced with new ones. The storage identities SID of the stored records are, according to the invention, altered by first decrypting the storage identities SID of the selected records by means of a third algorithm ALG3, recreating the corresponding update identities UID. It will be appreciated that the third algorithm ALG3 for decryption is directly related to the reversible algorithm ALG2 which, at a previous time, was used for creating the storage identities SID from the update identities UID. Then, the reversible algorithm ALG2 is altered to a new reversible algorithm ALG2' , whereupon the recreated update identities UID are encrypted to new storage iden¬ tities SID' by means of the altered, new reversible algo¬ rithm ALG2* . The times when the storage identities are replaced with new ones may be controlled completely at random, occur at set intervals, depend on the number of updates, and so forth. In a preferred embodiment of the invention, the selected records are, when given new storage identities, also moved to new physical locations on the storage medium. In combination with "floating" storage identi¬ ties, this effectively prevents all attempts at unauthor¬ ised tracking. The invention ,enables efficient retrieval of stored data for operative as well as strategic purposes, as well as so-called longitudinal update of strategic data. When retrieving data for operative purposes, the descriptive information stored for a given original iden- tity is retrieved for reading, update, alteration, print¬ out, and so forth. According to the invention, this is possible by first encrypting such a given original iden¬ tity to a storage identity in two steps by means of the above two algorithms. All stored records containing the thus-obtained storage identity can be expediently located and the corresponding descriptive information be retriev¬ ed. In particular, such retrieval of operative data asso¬ ciated with a given original identity does not require any decryption of the corresponding storage identity, nor any storage of the given original identity, which pre¬ vents all unwanted linking between the original identity and the associated descriptive information. In order to retrieve data for strategic purposes, the storage identity can be put to effective use when putting together data that have the same storage identi¬ ty. Retrieving data for strategic purposes differs from retrieving data for operative purposes in that one does not wish or need to know to which original identity a certain item of descriptive information belongs, but one nevertheless has to be absolutely certain that all the descriptive information retrieved belongs to the same original identity. Obviously, this is of great importance when, and this is a case of particular interest, the ori- ginal identity corresponds to a specific individual, since the invention makes it possible to put together, for strategic purposes, descriptive information relating to different individuals, without any risk of their iden¬ tities being revealed. It is to be understood that the invention enables so-called longitudinal update of stra¬ tegic information, which among other things means that a given individual is observed for some time and that, at different times, new descriptive information is stored in such a manner that it can be linked to information pre- viously stored for the same individual, without there being any risk of revealing the identity of the indivi¬ dual. It should be emphasised that the storage of new descriptive information associated with a certain origi¬ nal identity does not necessarily require the creation of a new record containing the storage identity and the descriptive information. The new descriptive information may instead be stored in an existing record whose storage identity corresponds to the original identity at issue. These and other distinctive features, properties and advantages of the invention are stated in the appended claims and also appear from the following description of one mode of implementation of the invention. In the draw¬ ings, Fig. 1 is a block diagram illustrating how the invention can be implemented in a computer system, Fig. 2 illustrates different encrypting steps used when storing information in accordance with the inven¬ tion, and Fig. 3 illustrates encrypting and decrypting steps used when altering the storage identities in accordance with the invention. Reference is now made to Fig 1, which illustrates a computer system comprising an authorisation check sys¬ tem ACS, which may be of any known type; a number of user tools or applications, of which one is designated APPL 1; a database manager DBM; a database 10, which here includes a public register 20 for storing public informa¬ tion, an operative register 30 for storing operative data, and a strategic register 40 for storing strategic data; a hardware component 50; and a program module 60. The invention is chiefly implemented in the hardware com¬ ponent 50 and the program module 60. The hardware component 50 has an encapsulation that renders it tamper-proof in order to prevent monitoring by tracking tools or compilation. The hardware component 50 acts as a distributed processor, which in particular has the functions of - creating reversible and non-reversible encrypting algo¬ rithms, - supplying randomly-produced variables for encrypting and decrypting algorithms, - initiating, e.g. at times chosen at random, an altera¬ tion of the storage identities of stored records, - storing the encrypting and decrypting algorithms last used, - storing information on user authorisations, if several users are to be authorised to have access to an opera¬ tive record, and - linking an original identity (e.g. a personal code num¬ ber) to the right record in a database. Thus, the hardware component 50 may comprise a microprocessor, a microcode-programmed PROM storage, required I/O units, encrypting and decrypting units, and storage units for storing information on the algo¬ rithms employed as well as the user authorisations. The construction of the hardware component 50 may vary with different applications •and is easily implemented by those skilled in the art with the aid of the present descrip¬ tion, for which reason the construction of this component will not be described in more detail here. The program module 60 primarily serves to handle the dialogue between the hardware component 50 and the user application at issue. The program module 60 also handles the dialogue between the hardware component 50 and the authorisation check system ACS, and the sorting out or removal of stored data, events log, and so forth. The program module 60 may also transfer records from opera¬ tive registers to strategic registers when records are being sorted out from the former. In the following description of the system of Fig. 1, the designations given below will be used for describing the encrypting and decrypting algorithms employed. Generally speaking, the encrypting and decrypt¬ ing algorithms can be described as follows: Fιyp e (Random number, Input data) = Results wherein F designates a function, Type indicates the type of function. (In this embodiment, the following types are used: F KIR = Non-reversible encrypting algorithm F KR = Reversible encrypting algorithm F DKR = Decrypting algorithm), Random number represents one or more constants and/or variables included in the function F, Input data are the data to be encrypted or decrypted, and Results indicate a unique function value for a given function. The process for storing information in the database 10 will now be described with reference to Figs 1 and 2 in conjunction. It is a condition that the information to be stored can be divided into identifying information and associated descriptive information. The following infor¬ mation on a specific individual is given as an example. INFORMATION TO BE STORED IDENTIFYING DESCRIPTIVE INFORMATION INFORMATION PERSONAL CODE NUMBER NAME ADDRESS Dl (PCN) In the first step of the process, the information is divided into identifying information and descriptive information. In a second step (illustrated in Fig. 2), the iden¬ tifying information (PCN, NAME, ADDRESS) is stored in the public register 20, optionally in the form of plain text, since this information is of the type that is generally accessible. In a third step, an original identity OID is select¬ ed from the identifying information. In this example, OID = personal code number PCN. The original identity OID is encrypted by means of a non-reversible algorithm ALG1, which is produced at random by the hardware component 50. This non-reversible encryption results in an update iden¬ tity UID as follows: ALG1: F K j R (Random number, OID) = UID The encrypting algorithm ALG1 is such that attempts at decryption of the update identity UID to the original identity OID results in a great number of identities, which makes it impossible to link a specific UID to the corresponding OID. In a fourth step, the update identity UID is encrypted by means of a reversible algorithm ALG2, which also is produced at random by the hardware component 50. This reversible encryption results in a storage identity SID as follows: ALG2: F KR (Random number, UID) = SID The encrypting algorithm ALG2 is such that there exists a corresponding decrypting algorithm ALG3 by means of which the storage identity SID can be decrypted in order to recreate the update identity UID. In a fifth step, the obtained storage identity SID is stored along with the descriptive information Dl as an information record P on the storage medium, which is designated M in Fig. 2. In this example, the record P is stored in the operative database 30 as well as in the strategic database 40. Preferably, all alterations in the databases are performed in randomly time-controlled batches, such that every alteration in one register normally involves simul¬ taneous alteration or addition of a plurality of records, which is intended to prevent tracking. To this end, data can be stored temporarily in a buffer store, optionally in encrypted form. As appears from the foregoing, a stored information record P has the following general appearance: Storage identity (SID) Descriptive information (Dl) Since the original identity OID is encrypted in two steps, of which the first is non-reversible and the second is reversible, it is possible to store the descriptive information Dl along with a storage identity SID that never can be linked to the original identity OID, as well as to create "floating" (i.e. which change over time) storage identities SID while retaining the possibility of locating, for.a specific original identity OID, the associated descriptive information Dl stored. The process for creating "floating" storage identi¬ ties will now be described in more detail with reference to Fig. 3. As mentioned above, the storage identities SID are changed over time in order to prevent, or at least make much more difficult, all attempts at tracking, i.e. unauthorised attempts at locating, when a register is updated, where and in which form given original informa¬ tion is stored on the storage medium. The times when the storage identities SID are to be replaced with new storage identities SID' can be control¬ led at random by the hardware component 50. Alternative- ly, these times can be controlled by other factors, such as the number of alterations in or updates of the data¬ base. At every time, one decrypts the storage identities SID of all the records P whose storage identities are to "float" or be altered. The hardware component 50 has an internal storage, in which is stored information on the reversible algorithm ALG2 last used, which makes it pos¬ sible, at each time, to produce in the hardware component 50 a corresponding decrypting algorithm ALG3, by means of which the storage identities SID can be decrypted in order to recreate the corresponding update identities UID. ALG3: F D R(Random number, SID) = UID Thus, the following relationship applies: F DKR (Random number, F jζR (Random number, UID)) = UID Thereafter, the hardware component 50 produces, by means of new random numbers (Random numbers' ) a new and altered reversible algorithm ALG2' , by means of which the recreated update identities UID are reversibly encrypted to new and altered storage identifies SID' to be stored along with the associated descriptive information in the selected records. ALG2': F KR (Random number', UID) = SID' As described in the foregoing in connection with general storage of information, the alteration of the storage identities on the storage medium preferably takes place in a batch. When the storage identities SID of the records P are thus to be replaced with the new storage identities (SID'), one may, as a further matter of precaution, move the records P to new physical locations on the storage medium. In a preferred embodiment of the invention, such an alteration of the storage identities is produced every time the content of the databases is to be altered or updated. Operative data is retrieved from the operative reg¬ ister 30 in Fig. 1 in the following manner. To begin with, the user inputs the current original identity OID, i.e. PCN, to the program application APPL 1 along with a statement concerning the requested information. APPL 1 stores the PCN and the statement on the requested infor¬ mation, i.e. the statement on the register or database where the information is to be searched for, and then transmits the PCN and the database statement to the data¬ base manager DBM which is to retrieve the requested information. The database manager notes that the records of the current database are protected by the inventive system, and therefore transmits the PCN along with the database name to the program module 60 and the hardware component 50. The database name indicated is used for producing, from tabular information stored in the hard¬ ware component 50, correct algorithms ALG1 and ALG2 by means of which the PCN is converted via the update iden¬ tity UID to the storage identity SID. The thus-produced storage identity SID is transmitted to the database man- ager DBM, which then searches in the database at issue (here the operative register 30) for descriptive informa¬ tion Dl whose storage identities correspond to the stor¬ age identity SID produced. The database manager DBM returns the descriptive information Dl to the application APPL 1, which links the thus-produced descriptive infor¬ mation Dl to the personal code number PCN. It should here be emphasised that the personal code number is stored in APPL 1 only, i.e. in the working storage of the computer, and the identity of the individual thus remains perfectly safe. Data are retrieved from the strategic database 40 without resorting to the use of any original identity OID. The search is based directly on the descriptive information, and since descriptive information associated with one and the same individual is stored along with the same storage identity SID, all descriptive information associated with a single individual is easily put toget¬ her without in any way threatening the anonymity of the individual. Different encrypting algorithms can be used in the operative register 30 and the strategic register 40. How- ever, the non-reversible algorithm ALG1 may be the same. Furthermore, it will be appreciated that the tabular algorithm information stored in the hardware component 50 may comprise many more registers than are shown in Fig. 1. The inventive embodiment described above can be modified in many ways within the scope of the invention as defined in the appended claims. The term "encryption" is meant to encompass the term "hashing" throughout. In one modification of the inventive method that is of particular interest, each information record P in the operative database 30 is supplemented with a user iden¬ tity UI as follows. Storage User Descriptive identity identity information (SID) (UI) (Dl) Thus, it becomes possible to link records to individual users in the operative database. When a user attempts at retrieving the information in a record, it is checked whether he is authorised to have access to the record in question. In particular, it becomes possible for differ- ent users to store descriptive information about one and the same individual without enabling unauthorised users to gain access to the information stored. The user iden¬ tity UI in stored records can be changed without affect¬ ing the storage identity SID or the descriptive informa- tion Dl. If a user is to have access to records contain- ing other user identities UI than his own, the hardware component 50 can be supplemented with a table containing stored information that controls such authorisation. Another conceivable modification of the embodiment described provides the possibility of using a reversible algorithm in the first encrypting step ALG1, which does not, however, involve the same degree of security as the use of a non-reversible algorithm. Finally, it should be mentioned that, if need be, also the descriptive information can be encrypted before storage by means of a reversible algorithm in order to enhance security even further.

Claims: CLAIMS 1. An apparatus for storing data comprising an ori- ginal identity (OID) and associated descriptive informa¬ tion (Dl), c h a r a c t e r i s e d by a first encrypting means (50) which is arranged, by means of a first algorithm (ALG1), to encrypt the origi¬ nal identity (OID) to an update identity (UID), a second encrypting means (50) which is arranged, by means of a reversible algorithm (ALG2), to encrypt the update identity (UID) to a storage identity (SID), which is to be stored along with associated descriptive infor¬ mation (Dl) as a record (P) on a storage medium (30, 40), and a decrypting means (50) which is arranged, at times when the storage identities (SID) of selected stored records (P) are to be replaced with new storage identi¬ ties (SID' ), to decrypt these storage identities (SID) in order to recreate the corresponding update identities (UID), the second encrypting means (50) being arranged, at said times and by means of an altered reversible algo¬ rithm (ALG2' ), to encrypt the recreated update identities (UID) to new storage identities (SID'), which are to replace the previous storage identities (SID) . 2. An apparatus as set forth in claim 1, c h a r ¬ a c t e r i s e d by a means arranged to randomly estab¬ lish said times when the storage identities (SID) of the selected records (P) are to be replaced with new storage identities (SID'). 3. An apparatus as set forth in any one of the pre¬ ceding claims, c h a r a c t e r i s e d by the first algorithm (ALG1 ) for creating the update identity (UID) being a non-reversible algorithm. 4. An apparatus as set forth in any one of the pre¬ ceding claims, c h a r a c t e r i s e d by the first and the second encrypting means and the decrypting means being implemented as a hardware component (50) . 5. An apparatus as set forth in claim 4, c h a r ¬ a c t e r i s e d by the hardware component (50) compris- ing a- processor of its own, which is adapted to act as a distributed processor in a computer. 6. An apparatus as set forth in claim 4 or 5, c h a r a c t e r i s e d by the hardware component (50) being adapted to create variable algorithms and compris- ing a means for storing the algorithms last created. 7. A method for storing data comprising an original identity (OID) and associated descriptive information (Dl), c h a r a c t e r i s e d by the steps of encrypting the original identity (OID) to an update identity (UID) by means of a first algorithm (ALG1), encrypting the update identity (UID) to a storage identity (SID) by means of a reversible algorithm (ALG2), storing the storage identity (SID) and the descrip¬ tive information (Dl) as a record (P) on a storage medium (30, 40), and performing the following subs / teps at times when the storage identities (SID) of selected stored records (P) are to be replaced with new storage identities (SID'): - decrypting the storage identities (SID) of the selected records (P) in order to recreate the corresponding update identities (UID), - altering the reversible algorithm (ALG2) and encrypt¬ ing, by means of the altered reversible algorithm (ALG2' ), the recreated update identities (UID) to new storage identities (SID' ), and - replacing the storage identities (SID) of the selected records (P) with the new storage identities (SID' ) . 8. A method as set forth in claim 7, c h a r a c ¬ t e r i s e d by the step of selecting, as said selected records (P), all the records (P) stored on the storage medium (30, 40). 9. A method as set forth in claim 7 or 8, c h a r ¬ a c t e r i s e d in that the step of replacing the stor¬ age identities (SID) of the selected records (P) with the new storage identities (SID' ) is carried out in a batch, so that the storage identities (SID) of the selected records (P) are altered essentially simultaneously on the storage medium (30, 40). 10. A method as set forth in any one of claims 7-9, c h a r a c t e r i s e d in that the step of replacing the storage identities (SID) of the selected records (P) with new storage identities (SID' ) also comprises moving the selected records (P) to new physical locations on the storage medium (30, 40). 11. A method as set forth in any one of claims 7-10, c h a r a c t e r i s e d by the step of encrypting also the descriptive information (Dl) before this is stored on the storage medium in the respective records (P).

Inventors: JOHANSSON JAN, JOHANSSON, JAN
Applicants: ANONYMITY PROT IN SWEDEN AB, JOHANSSON JAN, ANONYMITY PROTECTION IN SWEDEN AB, JOHANSSON, JAN
Application year: 1994
Main classification: H04K1
IPC codes: G06F1, G06F12, G06F21, G09C1