IT202100032048A1 - Encrypted data management system and encrypted data search method - Google Patents

Encrypted data management system and encrypted data search method Download PDF

Info

Publication number
IT202100032048A1
IT202100032048A1 IT102021000032048A IT202100032048A IT202100032048A1 IT 202100032048 A1 IT202100032048 A1 IT 202100032048A1 IT 102021000032048 A IT102021000032048 A IT 102021000032048A IT 202100032048 A IT202100032048 A IT 202100032048A IT 202100032048 A1 IT202100032048 A1 IT 202100032048A1
Authority
IT
Italy
Prior art keywords
key
string
character string
substring
record
Prior art date
Application number
IT102021000032048A
Other languages
Italian (it)
Inventor
Luca Corradi
Original Assignee
Nextage S R L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nextage S R L filed Critical Nextage S R L
Priority to IT102021000032048A priority Critical patent/IT202100032048A1/en
Publication of IT202100032048A1 publication Critical patent/IT202100032048A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes

Description

DESCRIZIONE dell'Invenzione Industriale dal titolo: ?Sistema di gestione di dati criptati e metodo di ricerca di dati criptati? DESCRIPTION of the Industrial Invention entitled: ?Encrypted data management system and encrypted data search method?

DESCRIZIONE DESCRIPTION

La presente invenzione ha per oggetto un sistema di gestione di dati criptati, comprendente almeno una unit? di processamento, almeno una unit? di memorizzazione ed almeno una interfaccia di input/output. The present invention has as its object an encrypted data management system, comprising at least one unit of processing, at least one unit? storage and at least one input/output interface.

Inoltre, l?unit? di memorizzazione presenta un database, in cui ogni dato comprende almeno una stringa di caratteri ed in cui alla detta stringa ? associata una prima chiave, che viene inserita all?interno del database in modo da creare una prima tabella. Furthermore, the unit? of storage presents a database, in which each piece of data includes at least one string of characters and in which said string ? associated with a first key, which is inserted into the database in order to create a first table.

All?interno della tabella ogni record contiene la detta stringa e la corrispondente prima chiave associata a detta stringa. Inside the table each record contains said string and the corresponding first key associated with said string.

La presente invenzione si prefigge lo scopo di facilitare la gestione e la ricerca di dati criptati, all?interno di sistemi informatici in cui ? necessario utilizzare delle codifiche proprio per non rendere visibili i dati inseriti all?interno del database. The present invention aims to facilitate the management and search of encrypted data within computer systems in which it is It is necessary to use encodings to prevent the data inserted into the database from being visible.

Un tipico esempio ? relativo ai sistemi di gestione di dati di utenti, in cui sono presenti database, compilati o da compilare, che richiedono l?inserimento di nomi, cognomi e dati personali degli utenti. A typical example? relating to user data management systems, in which there are databases, compiled or to be compiled, which require the insertion of names, surnames and personal data of users.

Tali dati, al fine di rispondere ai requisiti stringenti del GDPR devono essere criptati per garantire la privacy dei diversi utenti. In order to meet the stringent requirements of the GDPR, such data must be encrypted to guarantee the privacy of the various users.

Il processo di crittografia ? semplicemente un algoritmo matematico che agisce su una sequenza di caratteri, trasformandola. The encryption process? simply a mathematical algorithm that acts on a sequence of characters, transforming it.

Tale trasformazione si basa sul valore di una chiave segreta, ossia la prima chiave, che ? un parametro dell'algoritmo di cifratura/decifratura. This transformation is based on the value of a secret key, i.e. the first key, which is a parameter of the encryption/decryption algorithm.

I sistemi di crittografia funzionano perfettamente per rendere non visibili i dati di interesse, tuttavia, sorgono problematiche nel momento in cui si debba effettuare una ricerca testuale sui dati criptati. Encryption systems work perfectly to make the data of interest invisible, however, problems arise when you need to carry out a text search on encrypted data.

Ad esempio, la prenotazione di un esame clinico di un utente potrebbe risultare complessa da parte di un operatore che non possiede le credenziali per visualizzare i dati personali degli utenti, ma che allo stesso tempo deve prenotare le visite. For example, booking a user's clinical exam could be complex for an operator who does not have the credentials to view the users' personal data, but who at the same time needs to book the visits.

Se l?utente ? infatti gi? presente nel database e l?operatore non ? in possesso della prima chiave, la ricerca del nominativo dell?utente potrebbe risultare particolarmente complessa. If the user is in fact already? present in the database and the operator is not If you have the first key, searching for the user's name could be particularly complex.

La protezione dei dati mediante crittografia rende onerosa e difficoltosa la ricerca dei dati, in quanto sarebbe necessario invertire l?operazione all?interno della query di crittografia per poter effettuare le comparazioni testuali comunemente effettuate dalle applicazioni di ricerca. Data protection through encryption makes data search expensive and difficult, as it would be necessary to reverse the operation within the encryption query in order to carry out the textual comparisons commonly carried out by search applications.

Fare ci?, laddove possibile, impedisce di fatto l?utilizzo degli indici e comporta prestazioni pessime su grandi quantit? di dati. Doing this, where possible, effectively prevents the use of indexes and leads to terrible performance on large quantities. of data.

Alcuni sistemi e metodi noti allo stato dell?arte, al fine di risolvere tale problematica, utilizzano una tecnica che consente di aumentare le prestazioni e poter usare l?indicizzazione del database. Some systems and methods known to the state of the art, in order to solve this problem, use a technique that allows you to increase performance and be able to use database indexing.

Tale tecnica prevede l?utilizzo di ?blind indexes?, il che consiste nell'aggiungere un attributo o una colonna aggiuntiva contenente l?hash del valore criptato. This technique involves the use of ?blind indexes?, which consists of adding an attribute or an additional column containing the hash of the encrypted value.

Potendo sfruttare l?indicizzazione e non dovendo effettuare operazioni onerose sui valori salvati nel database, tale tecnica consente di effettuare ricerche, ottenendo prestazioni ottime. Being able to take advantage of indexing and not having to carry out costly operations on the values saved in the database, this technique allows you to carry out searches, obtaining excellent performance.

Tale tecnica, tuttavia, presenta un aspetto particolarmente svantaggioso che consiste nel non poter usare valori parziali della stringa di caratteri per effettuare la ricerca. This technique, however, has a particularly disadvantageous aspect which consists in not being able to use partial values of the character string to carry out the search.

Ad esempio, supponendo di voler ricercare il cognome ?Rossi? non sar? possibile trovare corrispondenze cercando la sottostringa ?Ros?, in quanto ogni stringa presenta un hash, ossia una prima chiave, totalmente diversa e indipendente dalle altre. For example, supposing you want to search for the surname ?Rossi? it won't be? It is possible to find matches by searching for the substring ?Ros?, as each string has a hash, i.e. a first key, totally different and independent from the others.

La ricerca di un utente digitando la stringa ?Ros? potrebbe dunque non generare risultati, nonostante l?utente dal cognome Rossi sia inserito nel database, o generare un risultato qualora ci sia un utente dal cognome Ros all?interno del database. Searching for a user by typing the string ?Ros? it may therefore not generate results, even though the user with the surname Rossi is inserted in the database, or generate a result if there is a user with the surname Ros in the database.

Esiste dunque una necessit? non soddisfatta dai sistemi e metodi noti allo stato dell?arte di realizzare una metodologia che consenta di effettuare una ricerca su dati criptati in modo da poter usare la ricerca su qualsiasi attributo o colonna opportunamente creata nei database dove ? necessario usare questo tipo di metodologia. So is there a need? not satisfied by the systems and methods known to the state of the art to create a methodology that allows to carry out a search on encrypted data so as to be able to use the search on any attribute or column appropriately created in the databases where? necessary to use this type of methodology.

La presente invenzione consegue gli scopi di cui sopra realizzando un sistema come descritto in precedenza, in cui ad ogni dato ? associata una seconda tabella compresa all?interno del database, che contiene un determinato numero di record. The present invention achieves the above objectives by creating a system as previously described, in which for each data ? associated with a second table included within the database, which contains a certain number of records.

Inoltre ciascun record comprende la prima chiave, una seconda chiave ed una sottostringa della stringa di caratteri. Furthermore, each record includes the first key, a second key and a substring of the character string.

Ad ogni sottostringa viene associata una seconda chiave ed essendo ad ogni seconda chiave associata la prima chiave. A second key is associated with each substring and the first key is associated with each second key.

In questo modo, ad ogni stringa di caratteri saranno associate sottostringhe, in modo che un operatore possa digitare anche solo parzialmente la stringa di caratteri per ritrovare il record di interesse, mantenendo la segretezza dei dati. In this way, each string of characters will be associated with substrings, so that an operator can type even only partially the string of characters to find the record of interest, maintaining the confidentiality of the data.

Risulta evidente come una attenta ed efficace suddivisione della stringa di caratteri in sottostringhe di caratteri consenta di ottimizzare le prestazioni della ricerca, prevedendo ricerche sempre pi? veloci ed efficienti. It is clear how a careful and effective subdivision of the character string into character substrings allows you to optimize search performance, providing increasingly more frequent searches. fast and efficient.

La presente invenzione ha inoltre per oggetto un metodo di ricerca di dati criptati, in cui ogni dato comprende almeno una stringa di caratteri. The present invention also has as its object a method of searching for encrypted data, in which each data comprises at least one character string.

Il metodo prevede i seguenti passi: The method involves the following steps:

- generazione di una prima chiave da associare ad ogni stringa di caratteri, - generation of a first key to associate with each character string,

- creazione di una prima tabella in cui ogni record presenta una stringa di caratteri e la prima chiave associata a detta stringa, - creation of a first table in which each record presents a string of characters and the first key associated with said string,

- inserimento della prima tabella all?interno di un database, - insertion of the first table into a database,

- ricerca di una stringa di caratteri attraverso una interfaccia di input/output. - search for a string of characters through an input/output interface.

In particolare il metodo oggetto della presente invenzione prevede gli ulteriori passi: In particular, the method object of the present invention involves the further steps:

- suddivisione della stringa di caratteri in una o pi? sottostringhe, - subdivision of the character string into one or more? substrings,

- generazione di una seconda chiave da associare ad ogni sottostringa, - generation of a second key to associate with each substring,

- creazione di una seconda tabella in cui ogni record presenta la prima chiave, una sottostringa e la corrispondente seconda chiave. - creation of a second table in which each record has the first key, a substring and the corresponding second key.

Da quanto precedentemente descritto, risulta evidente come il sistema e il metodo oggetto della presente invenzione consentano dunque di effettuare ricerche sui dati criptati, anche solo digitando parzialmente la stringa di caratteri di interesse. From what has been previously described, it is clear that the system and method which is the object of the present invention therefore allow searches to be carried out on encrypted data, even just by partially typing the string of characters of interest.

In questo sar? dunque possibile creare sistemi che rispondano agli stringenti requisiti del decreti in vigore in materia di privacy e trattamento dei dati, consentendo agli operatori senza particolari credenziali, di operare sui dati personali degli utenti in modo sicuro. In this it will be? It is therefore possible to create systems that meet the stringent requirements of the decrees in force regarding privacy and data processing, allowing operators without particular credentials to operate on users' personal data in a secure manner.

Questi ed ulteriori scopi della presente invenzione sono raggiunti mediante un sistema ed un metodo secondo le rivendicazioni indipendenti allegate e le sottorivendicazioni. These and further objects of the present invention are achieved by means of a system and a method according to the attached independent claims and sub-claims.

Caratteristiche opzionali del dispositivo dell?invenzione sono contenute nelle allegate rivendicazioni dipendenti, che formano parte integrante della presente descrizione. Optional characteristics of the device of the invention are contained in the attached dependent claims, which form an integral part of the present description.

Queste ed altre caratteristiche e vantaggi della presente invenzione risulteranno pi? chiaramente dalla seguente descrizione di alcuni esempi esecutivi illustrati nei disegni allegati in cui: These and other characteristics and advantages of the present invention will be more clearly from the following description of some executive examples illustrated in the attached drawings in which:

la figura 1 illustra uno schema esemplificativo e di principio del sistema di ricerca dati oggetto della presente invenzione secondo una possibile forma esecutiva; figure 1 illustrates an exemplary and principle diagram of the data search system object of the present invention according to a possible embodiment;

la figura 2 illustra un diagramma di flusso di una possibile variante attuativa del metodo oggetto della presente invenzione. figure 2 illustrates a flow diagram of a possible implementation variant of the method of the present invention.

Si specifica che le figure allegate alla presente domanda di brevetto illustrano solo alcune possibili forme esecutive del sistema e del metodo oggetto della presente invenzione, per meglio comprenderne i vantaggi e le caratteristiche descritte. It is specified that the figures attached to the present patent application illustrate only some possible embodiments of the system and method object of the present invention, to better understand the advantages and characteristics described.

Tali forme esecutive sono dunque da intendersi a puro scopo illustrativo e non limitativo al concetto inventivo della presente invenzione, ossia quello di realizzare un sistema e un metodo di gestione dei dati criptati, in modo che tali dati siano facilmente ricercabili anche attraverso l?utilizzo di sottostringhe costituite da un numero limitato di caratteri, rispetto alla stringa da ricercare. These embodiments are therefore to be understood for purely illustrative purposes and are not limiting to the inventive concept of the present invention, i.e. that of creating a system and method for managing encrypted data, so that such data can be easily searched also through the use of substrings made up of a limited number of characters, compared to the string to be searched for.

Con particolare riferimento alla figura 1, viene illustrato uno schema esemplificativo di una possibile forma esecutiva del sistema oggetto della presente invenzione. With particular reference to figure 1, an exemplary diagram of a possible embodiment of the system which is the object of the present invention is illustrated.

Il sistema comprende una interfaccia di input output 300, una unit? di memorizzazione 100 e una unit? di processamento 200. The system includes a 300 input output interface, a unit? of storage 100 and one unit? of processing 200.

L?unit? di processamento 200 elabora i dati presenti all?interno dell?unit? di memorizzazione 100, che possono essere inseriti attraverso l?interfaccia di input output 300 che consente ad un operatore di interagire con l?unit? di processamento 200 e l?unit? di memorizzazione 100. The unit? processing module 200 processes the data present inside the unit? of storage 100, which can be inserted through the input output interface 300 which allows an operator to interact with the unit? of processing 200 and the unit? of storage 100.

L?unit? di memorizzazione 100 comprende un database che contiene una prima 10 ed una seconda 20 tabella. The unit? storage 100 comprises a database containing a first 10 and a second 20 table.

In particolare, in figura 1, per semplicit? illustrativa, la tabella 10 comprende un solo record, ma risulter? evidente dalla successiva descrizione, di come sia possibile prevedere un qualsivoglia numero di record senza variare le caratteristiche della presente invenzione. In particular, in figure 1, for simplicity? illustrative, table 10 includes only one record, but it will result? evident from the following description, how it is possible to provide any number of records without changing the characteristics of the present invention.

Il record della tabella 10 prevede un campo 11 relativo ad un codice identificativo del record, un campo 12 relativo al valore del record, in questo caso il cognome ?Rossino? di un utente e un campo 13, relativo alla prima chiave associata al valore del campo 12. The record in table 10 includes a field 11 relating to an identification code of the record, a field 12 relating to the value of the record, in this case the surname ?Rossino? of a user and a field 13, relating to the first key associated with the value of field 12.

Si specifica che in figura 1, il campo 12 relativo al cognome ?Rossino? ? illustrato e visibile, ma il contenuto di tale campo 12 viene ovviamente cifrato e tradotto da un algoritmo di crittografia, in un valore che non consenta di visualizzare il cognome ?Rossino?. It is specified that in figure 1, field 12 relating to the surname ?Rossino? ? illustrated and visible, but the content of this field 12 is obviously encrypted and translated by an encryption algorithm, into a value that does not allow the surname ?Rossino? to be displayed.

Il dato ?Rossino? ? in effetti criptato, sia ad una interfaccia di visualizzazione, sia all?interno del database e corrisponde ad una stringa di caratteri alfanumerici e simboli senza un senso compiuto. The data ?Rossino? ? in effect encrypted, both on a display interface and within the database and corresponds to a string of alphanumeric characters and symbols without a complete sense.

Questo concetto ? valido sia per la tabella 10 che per la tabella 10. This concept? valid for both table 10 and table 10.

Come discusso in precedenza, la prima chiave del campo 13 ? il risultato di un metodo di crittografia applicato al valore ?Rossino? del campo 12, in modo da secretare il valore della stringa ?Rossino?. As discussed above, the first key of field 13 is ? the result of an encryption method applied to the ?Rossino? of field 12, so as to secrete the value of the string ?Rossino?.

Inoltre l?unit? di memorizzazione 100 comprende una seconda tabella 20, associata alla tabella 10, in particolare al record ?1? della tabella 10. Furthermore, the unit? of storage 100 includes a second table 20, associated with the table 10, in particular with the record ?1? of table 10.

La tabella 20 comprende una pluralit? di record, in cui ogni record comprende un campo 21, relativo all?identificato del record stesso, un campo 22 relativo al valore del record, un campo 23 relativo ad una seconda chiave, associata al valore del record del campo 22 ed un campo 24 relativo alla prima chiave. Table 20 includes a plurality? of records, in which each record includes a field 21, relating to the identifier of the record itself, a field 22 relating to the value of the record, a field 23 relating to a second key, associated with the value of the record of field 22 and a field 24 relating to the first key.

Il campo 24 ? uguale per tutti i record della tabella 20 ed ? proprio quello che consente di associare tutti i record della tabella 20 al record della tabella 10, essendo costituito dalla prima chiave, presente anche nella tabella 10. Field 24? the same for all the records in table 20 and ? precisely what allows you to associate all the records of table 20 with the record of table 10, being made up of the first key, also present in table 10.

Come risulta evidente dalla figura 1, il campo 22 ? costituito da sottostringhe della stringa di caratteri presente nel campo 12 della tabella 1, relativa al valore del record. As is clear from figure 1, field 22? consisting of substrings of the character string present in field 12 of table 1, relating to the value of the record.

Nel caso particolare della figura 1, la tabella 1 presenta cinque record diversi, ognuno con una corrispondente seconda chiave, campo 23. In the particular case of figure 1, table 1 presents five different records, each with a corresponding second key, field 23.

Come discusso in precedenza, la seconda chiave del campo 23 ? il risultato della procedura di crittografia sul valore del campo 22, ossia il campo 23 ? il valore di hash della sottostringa del campo 22 associato. As discussed above, the second key of field 23 is ? the result of the encryption procedure on the value of field 22, i.e. field 23? the hash value of the associated field 22 substring.

Cos? come discusso per la tabella 10, anche in questo caso il valore del campo 22 ? secretato e illeggibile. What? as discussed for table 10, also in this case the value of field 22 is ? classified and illegible.

Anche in questo caso, per semplicit? illustrativa, ? illustrata una sola seconda tabella, ma risulta evidente come il sistema oggetto della presente invenzione preveda una seconda tabella 20 per ogni record appartenente alla prima tabella 10. Even in this case, for simplicity? illustrative, ? only a second table is illustrated, but it is clear that the system object of the present invention provides a second table 20 for each record belonging to the first table 10.

In base alla variante del sistema descritta relativamente alla figura 1, ? possibile prevedere un metodo di ricerca di dati criptati, ossia un metodo che ricerca i dati presenti all?interno dell?unit? di memorizzazione 100, di cui una possibile forma esecutiva ? illustrata in figura 2. Based on the variant of the system described in relation to figure 1, ? Is it possible to provide a search method for encrypted data, i.e. a method that searches for the data present within the unit? of storage 100, of which a possible executive form is ? illustrated in figure 2.

In figura 2, viene illustrato un metodo di ricerca che parte dall?inserimento di un dato all?interno dell?unit? di memorizzazione 100, per la popolazione del database e successivamente un esempio di ricerca di tale dato. In figure 2, a search method is illustrated that starts from the insertion of a piece of data within the unit? of storage 100, for the database population and subsequently an example of searching for this data.

In base alle caratteristiche di figura 2, il metodo oggetto della presente invenzione prevede innanzitutto l?inserimento del valore di un record, passo 400, ossia di una stringa di caratteri come ad esempio il valore ?Rossino? per il cognome di un utente. Based on the characteristics of figure 2, the method object of the present invention firstly involves the insertion of the value of a record, step 400, i.e. a string of characters such as for example the value ?Rossino? for a user's last name.

Successivamente all?inserimento, viene generata una prima chiave, passo 401, per la procedura di crittografia della stringa di caratteri inserita, la quale prima chiave viene associata in maniera univoca alla stringa di caratteri inserita. After insertion, a first key is generated, step 401, for the encryption procedure of the inserted character string, which first key is uniquely associated with the inserted character string.

La generazione della prima chiave pu? essere ottenuta secondo una delle metodologie note allo stato dell?arte. Can the generation of the first key? be obtained according to one of the state-of-the-art methodologies.

Vantaggiosamente, la prima chiave relativa alla stringa di caratteri, viene generata mediante algoritmi impieganti funzioni matematiche che prevedono un calcolo di una o pi? moltiplicazioni modulari. Advantageously, the first key relating to the character string is generated by algorithms using mathematical functions which involve a calculation of one or more modular multiplications.

Tali operazioni matematiche modulari comprendono, per esempio, moltiplicazioni modulari ed operazioni di calcolo di funzioni esponenziali modulari, di cui un esempio ? descritto all?interno dei documenti WO2005/048008, MI2011A001992 ed EP2928111, il cui contenuto ? da considerarsi parte integrante della presente descrizione. Such modular mathematical operations include, for example, modular multiplications and operations for calculating modular exponential functions, an example of which is ? described within documents WO2005/048008, MI2011A001992 and EP2928111, the contents of which are to be considered an integral part of this description.

A questo punto, passo 402, viene creata la prima tabella, in cui ogni record presenta una stringa di caratteri e la prima chiave associata a detta stringa. At this point, step 402, the first table is created, in which each record presents a string of characters and the first key associated with said string.

Successivamente al passo di inserimento 400 o al passo di creazione della prima tabella 402, ? previsto un passo 403 di suddivisione della stringa di caratteri inserita in una o pi? sottostringhe e un passo di generazione di una seconda chiave, passo 404, da associare ad ogni sottostringa. Subsequent to the insertion step 400 or the first table creation step 402, ? is there a step 403 for dividing the inserted character string into one or more? substrings and a generation step of a second key, step 404, to be associated with each substring.

Prendendo ad esempio come stringa di caratteri inserita al passo 400 il cognome ?Rossino? ? possibile prevedere di realizzare una pluralit? di sottostringhe in base al numero di caratteri della stringa di caratteri. Taking for example the surname ?Rossino? as a string of characters inserted in step 400. ? Is it possible to foresee creating a plurality? of substrings based on the number of characters in the character string.

Con particolare riferimento al sistema illustrato in figura 1, il cognome ?Rossino? viene suddiviso nelle seguenti sottostringhe: With particular reference to the system illustrated in figure 1, the surname ?Rossino? is divided into the following substrings:

Ros Ros

Ross Ross

Rossi Rossi

Rossin Rossin

Rossino Rossino

Ad ogni sottostringa sar? ovviamente associata una corrisponde seconda chiave, nonch? la prima chiave generata in seguito all?inserimento del termine ?Rossino? e associata a tale dato. For each substring will it be? obviously associated with a corresponding second key, as well as? the first key generated following the insertion of the term ?Rossino? and associated with this data.

La suddivisione in sottostringhe ? dunque effettuata preferibilmente individuando la prima lettera che compone il cognome ?Rossino?, la lettera R e identificando la prima sillaba che contiene tale prima lettera, ?Ros?. The subdivision into substrings? therefore preferably carried out by identifying the first letter that makes up the surname ?Rossino?, the letter R and identifying the first syllable that contains this first letter, ?Ros?.

A partire da tale prima sillaba, costituente la prima sottostringa, per realizzare le successive sottostringhe si aggiunge una lettera alla volta per ogni sottostringa, partendo dalla lettera successiva alla prima sillaba, fino a completare l?intera stringa di caratteri. Starting from this first syllable, constituting the first substring, to create the subsequent substrings, one letter at a time is added for each substring, starting from the letter following the first syllable, until the entire string of characters is completed.

A questo punto ? possibile prevedere un passo 405, di generazione di una seconda tabella in cui ogni record presenta la prima chiave, una sottostringa e la corrispondente seconda chiave. At this point ? It is possible to provide a step 405 for generating a second table in which each record presents the first key, a substring and the corresponding second key.

I passi 400-405 descritti in precedenza possono essere ripetuti per ogni nuova stringa di caratteri inserita e atta a popolare il database. The steps 400-405 described previously can be repeated for each new character string inserted and intended to populate the database.

Ne consegue che per ogni stringa inserita e compresa all?interno della prima tabella 10, verr? creata una seconda tabella 20, in modo tale per cui, in caso di presenza di due stringhe di caratteri simili, ad esempio Rossinoli e Rossino, ogni stringa di caratteri sia associata ad una corrispondente seconda tabella 20, anche se tali seconde tabelle presenteranno sottostringhe similari. It follows that for each string inserted and included within the first table 10, it will be a second table 20 is created, so that, in the case of the presence of two strings of similar characters, for example Rossinoli and Rossino, each string of characters is associated with a corresponding second table 20, even if these second tables will present similar substrings .

Una volta popolato il database, un qualsiasi operatore pu? procedere con la ricerca, passo 406, di uno o pi? record presenti nel database. Once the database has been populated, any operator can? proceed with the search, step 406, of one or more? records present in the database.

Da quanto descritto in precedenza, risulta evidente come l?operatore non sia obbligato a digitare, attraverso l?interfaccia di input/output, l?intera stringa da ricercare, ma sar? sufficiente digitare un numero limitato di lettere per ritrovare il record. From what has been described above, it is clear that the operator is not obliged to type, through the input/output interface, the entire string to be searched for, but will you just need to type a limited number of letters to find the record.

Ad esempio, per ricercare l?utente dal cognome ?Rossino?, sar? sufficiente digitare le lettere ?Ros?, costituenti una sottostringa associata al record riportante il cognome ?Rossino?. For example, to search for the user with the surname ?Rossino?, it will be? simply type the letters ?Ros?, constituting a substring associated with the record bearing the surname ?Rossino?.

Infine, da quanto appena descritto, risulta evidente come la possibilit? di ricercare esclusivamente una parte della stringa di caratteri presenti aspetti particolarmente vantaggiosi in combinazione con sistemi OCR. Finally, from what has just been described, it is clear that the possibility to search exclusively for a part of the character string presents particularly advantageous aspects in combination with OCR systems.

Ad esempio ? possibile prevedere in combinazione al sistema oggetto della presente invenzione, un dispositivo di acquisizione di immagini con integrato un sistema OCR. For example ? It is possible to provide, in combination with the system object of the present invention, an image acquisition device with an integrated OCR system.

Secondo un esempio di realizzazione, un utente potrebbe mostrare ad un operatore un documento di identit? e l?operatore potrebbe acquisire una immagine del documento di identit?, anche parziale, ma sufficiente ad identificare, con il sistema OCR, una delle sottostringhe della tabella 20. According to an embodiment, a user could show an identity document to an operator. and the operator could acquire an image of the identity document, even partial, but sufficient to identify, with the OCR system, one of the substrings in table 20.

L?acquisizione della sottostringa ? un passo equivalente alla ricerca della sottostringa attraverso la digitazione dei caratteri sull?interfaccia di input/output, ma, in questo caso, la ricerca e il ritrovamento del nominativo di interesse, avverrebbe in modo automatico. The acquisition of the substring ? a step equivalent to searching for the substring by typing characters on the input/output interface, but, in this case, the search and finding of the name of interest would occur automatically.

In maniera del tutto simile, si potrebbe prevedere il sistema OCR in combinazione a referti di esami diagnostici, in modo che tale sistema OCR individui in automatico parte del cognome dell?utente e lo ricerchi all?interno dell?unit? di memorizzazione secondo le modalit? descritte in precedenza. In a very similar way, the OCR system could be envisaged in combination with diagnostic test reports, so that this OCR system automatically identifies part of the user's surname and searches for it within the unit. of storage according to the methods? described previously.

Mentre l?invenzione ? suscettibile di varie modifiche e costruzioni alternative, alcune forme di realizzazione preferite sono state mostrate nei disegni e descritte in dettaglio. While the invention is susceptible to various modifications and alternative constructions, some preferred embodiments have been shown in the drawings and described in detail.

Si deve intendere, comunque, che non vi ? alcuna intenzione di limitare l?invenzione alla specifica forma di realizzazione illustrata, ma, al contrario, essa intende coprire tutte le modifiche, costruzioni alternative, ed equivalenti che ricadano nell?ambito dell?invenzione come definito nelle rivendicazioni. It must be understood, however, that there is no no intention to limit the invention to the specific embodiment illustrated, but, instead, it is intended to cover all modifications, alternative constructions, and equivalents that fall within the scope of the invention as defined in the claims.

L?uso di ?ad esempio?, ?ecc.?, ?oppure? indica alternative non esclusive senza limitazione a meno che non altrimenti indicato. The use of ?for example?, ?etc.?, ?or? means non-exclusive alternatives without limitation unless otherwise indicated.

L?uso di ?include? significa ?include, ma non limitato a? a meno che non altrimenti indicato. The use of ?include? means ?includes, but not limited to? unless otherwise indicated.

Claims (10)

RIVENDICAZIONI 1. Sistema di gestione di dati criptati, comprendente almeno una unit? di processamento (200), almeno una unit? di memorizzazione (100) ed almeno una interfaccia di input/output (300),1. Encrypted data management system, comprising at least one unit? of processing (200), at least one unit? storage (100) and at least one input/output interface (300), comprendendo la detta unit? di memorizzazione (100) un database, in cui ogni dato comprende almeno una stringa di caratteri (12) ed in cui alla detta stringa (12) ? associata una prima chiave (13), la quale prima chiave (13) viene inserita all?interno del detto database in modo da creare una prima tabella (10) in cui ogni record contiene la detta stringa (12) e la corrispondente prima chiave associata (13), caratterizzato dal fatto cheincluding the said unit? of storage (100) a database, in which each data item includes at least one character string (12) and in which said string (12) ? associated with a first key (13), which first key (13) is inserted into the said database in order to create a first table (10) in which each record contains the said string (12) and the corresponding first associated key (13), characterized by the fact that ad ogni dato ? associata una seconda tabella (20) compresa all?interno del database, la quale seconda tabella (20) contiene un determinato numero di record, prevedendo ciascun record la prima chiave (24), una seconda chiave (23) ed una sottostringa (22) della stringa di caratteri (12),to every data? associated with a second table (20) included within the database, which second table (20) contains a certain number of records, each record providing the first key (24), a second key (23) and a substring (22) of the character string (12), essendo ad ogni sottostringa (22) associata una seconda chiave (23) ed essendo ad ogni seconda chiave (23) associata la detta prima chiave (24).each substring (22) being associated with a second key (23) and said first key (24) being associated with each second key (23). 2. Sistema secondo la rivendicazione 1, in cui il database comprende una seconda tabella (30) per ogni record presente nella prima tabella (10).2. System according to claim 1, wherein the database comprises a second table (30) for each record present in the first table (10). 3. Sistema secondo la rivendicazione 1 o la rivendicazione 2, in cui la seconda tabella (20) comprende un numero di record proporzionale al numero di caratteri della stringa (12).3. System according to claim 1 or claim 2, wherein the second table (20) includes a number of records proportional to the number of characters of the string (12). 4. Metodo di ricerca di dati criptati, comprendendo ogni dato almeno una stringa di caratteri (12), il quale metodo prevede i seguenti passi: - generazione (401) di una prima chiave da associare ad ogni stringa di caratteri,4. Method of searching for encrypted data, each piece of data including at least one character string (12), which method involves the following steps: - generation (401) of a first key to be associated with each character string, - creazione (402) di una prima tabella in cui ogni record presenta una stringa di caratteri e la prima chiave associata a detta stringa,- creation (402) of a first table in which each record presents a string of characters and the first key associated with said string, - inserimento della prima tabella all?interno di un database,- insertion of the first table into a database, - ricerca (406) di una stringa di caratteri attraverso una interfaccia di input output, caratterizzato dal fatto che sono previsti i seguenti passi:- search (406) for a string of characters through an input output interface, characterized by the fact that the following steps are foreseen: - suddivisione (403) della stringa di caratteri in una o pi? sottostringhe,- subdivision (403) of the character string into one or more? substrings, - generazione (404) di una seconda chiave da associare ad ogni sottostringa,- generation (404) of a second key to be associated with each substring, - creazione (405) di una seconda tabella in cui ogni record presenta la prima chiave, una sottostringa e la corrispondente seconda chiave.- creation (405) of a second table in which each record has the first key, a substring and the corresponding second key. 5. Metodo secondo la rivendicazione 4, in cui ? prevista la creazione di una seconda tabella per ogni record presente all?interno della prima tabella.5. Method according to claim 4, wherein ? the creation of a second table is expected for each record present within the first table. 6. Metodo secondo la rivendicazione 4 o la rivendicazione 5, in cui il passo di suddivisione della stringa di caratteri in una o pi? sottostringhe avviene secondo i seguenti sottopassi:6. The method according to claim 4 or claim 5, wherein the step of dividing the character string into one or more? substrings occurs according to the following substeps: - identificazione di almeno una prima lettera della stringa di caratteri e realizzazione della prima sottostringa,- identification of at least one first letter of the character string and creation of the first substring, - aggiunta della lettera successiva alla prima lettera e realizzazione della successiva sottostringa, - iterazione del passo precedente fino al completamento della stringa di caratteri. - adding the letter following the first letter and creating the next substring, - iterating the previous step until the character string is completed. 7. Metodo secondo la rivendicazione 6, in cui la realizzazione della prima sottostringa prevede l?identificazione della lettera iniziale della stringa di caratteri.7. Method according to claim 6, wherein the creation of the first substring involves the identification of the initial letter of the character string. 8. Metodo secondo la rivendicazione 6, in cui la realizzazione della prima sottostringa prevede l?identificazione di una sillaba della stringa di caratteri.8. Method according to claim 6, wherein the creation of the first substring involves the identification of a syllable of the character string. 9. Metodo secondo la rivendicazione 6, in cui la realizzazione della prima sottostringa prevede l?identificazione della sillaba contenente la lettera iniziale della stringa di caratteri.9. Method according to claim 6, in which the creation of the first substring involves the identification of the syllable containing the initial letter of the character string. 10. Metodo secondo una o pi? delle rivendicazioni da 4 a 9, in cui ? previsto un passo relativo all?inserimento della detta stringa di caratteri attraverso una interfaccia di input/output. 10. Method according to one or more? of claims 4 to 9, wherein ? a step is foreseen relating to the insertion of the said string of characters through an input/output interface.
IT102021000032048A 2021-12-21 2021-12-21 Encrypted data management system and encrypted data search method IT202100032048A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IT102021000032048A IT202100032048A1 (en) 2021-12-21 2021-12-21 Encrypted data management system and encrypted data search method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102021000032048A IT202100032048A1 (en) 2021-12-21 2021-12-21 Encrypted data management system and encrypted data search method

Publications (1)

Publication Number Publication Date
IT202100032048A1 true IT202100032048A1 (en) 2023-06-21

Family

ID=80999586

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102021000032048A IT202100032048A1 (en) 2021-12-21 2021-12-21 Encrypted data management system and encrypted data search method

Country Status (1)

Country Link
IT (1) IT202100032048A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005048008A2 (en) 2003-11-16 2005-05-26 M-Systems Flash Disk Pioneers Ltd. Enhanced natural montgomery exponent masking
US20130238646A1 (en) * 2012-03-06 2013-09-12 Evrichart, Inc. Partial-Match Searches of Encrypted Data Sets
US20150188890A1 (en) * 2013-12-26 2015-07-02 Bare Said Client side encryption in on-demand applications
EP2928111A1 (en) 2014-03-31 2015-10-07 STMicroelectronics Srl Method for performing an encryption with look-up tables, and corresponding encryption apparatus and computer program product
US20190147172A1 (en) * 2017-11-13 2019-05-16 Alibaba Group Holding Limited Device and method for increasing the security of a database
US10528556B1 (en) * 2017-12-31 2020-01-07 Allscripts Software, Llc Database methodology for searching encrypted data records

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005048008A2 (en) 2003-11-16 2005-05-26 M-Systems Flash Disk Pioneers Ltd. Enhanced natural montgomery exponent masking
US20130238646A1 (en) * 2012-03-06 2013-09-12 Evrichart, Inc. Partial-Match Searches of Encrypted Data Sets
US20150188890A1 (en) * 2013-12-26 2015-07-02 Bare Said Client side encryption in on-demand applications
EP2928111A1 (en) 2014-03-31 2015-10-07 STMicroelectronics Srl Method for performing an encryption with look-up tables, and corresponding encryption apparatus and computer program product
US20190147172A1 (en) * 2017-11-13 2019-05-16 Alibaba Group Holding Limited Device and method for increasing the security of a database
US10528556B1 (en) * 2017-12-31 2020-01-07 Allscripts Software, Llc Database methodology for searching encrypted data records

Similar Documents

Publication Publication Date Title
US9589072B2 (en) Discovering expertise using document metadata in part to rank authors
Martinez-Gil et al. Semantic similarity measurement using historical google search patterns
WO2016200667A1 (en) Identifying relationships using information extracted from documents
CN103052951A (en) Method of character string generation, program and system
Samir et al. Stemming and lemmatization for information retrieval systems in amazigh language
US20170329810A1 (en) Creation of indexes for information retrieval
Popescu et al. HASKER: An efficient algorithm for string kernels. Application to polarity classification in various languages
IT202100032048A1 (en) Encrypted data management system and encrypted data search method
Al_Janabi et al. Pragmatic text mining method to find the topics of citation network
Kovriguina et al. Metadata extraction from conference proceedings using template-based approach
de STEFANO et al. Development of a software for metric studies of transportation engineering journals
Sateli et al. An automatic workflow for the formalization of scholarly articles’ structural and semantic elements
Petrovskiy et al. Pattern based information retrieval approach to discover extremist information on the Internet
Kaveh-Yazdy et al. Aleph or Aleph-Maddah, that is the question! Spelling correction for search engine autocomplete service
Pandey et al. Hybrid approach to reduce time complexity of string matching algorithm using hashing with chaining
Paramonov et al. Rule driven spreadsheet data extraction from statistical tables: case study
WO2013004833A1 (en) Search index
Nirkhi et al. Stylometric approach for author identification of online messages
Švec et al. Building Corpora for Stylometric Research
Ghafi et al. A Driver Assistant System Using Behavior Patterns and Fuzzy Logic to Enhance Safety.
Lü et al. Analyzing chinese synthetic words with tree-based information and a survey on chinese morphologically derived words
Hamnett et al. New Psychoactives in New Zealand
Twiss-Brooks Searching using text: Beyond web search engines
Tankersley Alumni Profile: Sarah Kennedy Ellis: The Gamer.
Hauschild Unsere kleine Industrialisierung.