IT202000029357A1 - METHOD, SYSTEM, DEVICE AND USE FOR THE PROTECTION OF A USER ACCOUNT WITH A VARIABLE PASSWORD FOR EACH ACCOUNT BUT IMMUTABLE FOR THE USER - Google Patents
METHOD, SYSTEM, DEVICE AND USE FOR THE PROTECTION OF A USER ACCOUNT WITH A VARIABLE PASSWORD FOR EACH ACCOUNT BUT IMMUTABLE FOR THE USER Download PDFInfo
- Publication number
- IT202000029357A1 IT202000029357A1 IT102020000029357A IT202000029357A IT202000029357A1 IT 202000029357 A1 IT202000029357 A1 IT 202000029357A1 IT 102020000029357 A IT102020000029357 A IT 102020000029357A IT 202000029357 A IT202000029357 A IT 202000029357A IT 202000029357 A1 IT202000029357 A1 IT 202000029357A1
- Authority
- IT
- Italy
- Prior art keywords
- user
- password
- random
- server
- hash
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
-
- 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/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Description
METODO, SISTEMA, DISPOSITIVO E USO PER LA PROTEZIONE DI UN ACCOUNT UTENTE CON PASSWORD VARIABILE PER OGNI ACCOUNT MA IMMUTABILE PER L?UTENTE METHOD, SYSTEM, DEVICE AND USE FOR THE PROTECTION OF A USER ACCOUNT WITH A VARIABLE PASSWORD FOR EACH ACCOUNT BUT IMMUTABLE FOR THE USER
Settore della tecnica Technical sector
L?invenzione si riferisce in generale ad un sistema e un metodo per la protezione di un account dell?utente, e pi? specificatamente alla generazione e conservazione di password casuali, variabili per ogni tipo di applicazione e/o sistema ma immutabile per l?utente, in modo che la stessa password sia facile da ricordare e difficile da indovinare. The invention generally relates to a system and method for protecting a user account, and more specifically to the generation and conservation of random passwords, variable for each type of application and/or system but immutable for the user, so that the same password is easy to remember and difficult to guess.
In un sistema informatico, gli accessi alle risorse riservate per uno specifico utente, prevedono delle misure di sicurezza preliminari quali l?identificazione e l?autenticazione dell?utente stesso che si collega al sistema per utilizzare tali risorse. Solo una volta che l?utente ? stato identificato ed autenticato, ? possibile autorizzare un utente ad utilizzare le risorse del sistema. In a computer system, access to resources reserved for a specific user requires preliminary security measures such as the identification and authentication of the user himself who connects to the system to use these resources. Only once the? User ? been identified and authenticated, ? You can authorize a user to use system resources.
Generalmente nell?ambito dei sistemi informatici l?identificativo dell?utente, denominato ?nome utenza? o ?username?, permette appunto di identificare ma non di garantire che chi si collega abbia diritto ad utilizzarla. Il nome utenza non ? un?informazione riservata, anche se non sempre ? pubblica. Spesso ? il nome della persona; oggi ? di frequente l?indirizzo e-mail o un?informazione simile. Per autenticare una persona o un sistema ? necessario utilizzare una procedura denominata autenticazione che si basa su tre tipi distinti di informazioni segrete o uniche: qualcosa che si sa: ad esempio la password; qualcosa che si ?: una caratteristica biometrica; qualcosa che si ha: una chiave o altro oggetto caratteristico. L?utilizzo di tutti e tre i tipi di informazioni per l?autenticazione ? ben noto nella vita di tutti i giorni, specie il caso della ?password?, un segreto che sia noto solo a quella persona o al sistema che, in aggiunta allo ?username?, permette di identificare ed autenticare chi vuole connettersi ad una specifica risorsa del sistema informatico. Generally within computer systems, the user's identifier, called ?username? or ?username?, allows to identify but not to guarantee that whoever connects has the right to use it. Username not ? un?confidential information, even if not always ? publish. Often ? the person's name; today ? frequently the e-mail address or similar information. To authenticate a person or a system ? You need to use a procedure called authentication that relies on three distinct types of secret or unique information: something you know, such as your password; something you?: a biometric feature; something you have: a key or other characteristic object. The use of all three types of information for authentication? well known in everyday life, especially the case of the ?password?, a secret that is known only to that person or to the system which, in addition to the ?username?, allows to identify and authenticate whoever wants to connect to a specific resource of the computer system.
Stato dell?arte State of art
La sicurezza dell?autenticazione tramite password si basa sul fatto che deve essere nota solo all?utente: lo scenario ideale ? quello di una persona che tiene a mente la password, non la comunica a nessuno n? la scrive su alcun supporto, sia cartaceo che informatico. Contestualmente la password, per essere facilmente usabile e sicura dovrebbe rispettare due requisiti ovvero essere facile da ricordare e difficile da indovinare. The security of password authentication relies on the fact that it must be known only to the user: the ideal scenario? that of a person who keeps the password in mind, does not communicate it to anyone nor? he writes it on any medium, both paper and electronic. At the same time, the password, to be easily usable and secure, should meet two requirements: it should be easy to remember and difficult to guess.
Come purtroppo ben sappiamo, questo modello teorico in pratica non funziona per molteplici ragioni. La prima ? che non siamo molto bravi a creare password difficili da indovinare, anzi dalle periodiche statistiche risulta che sono sempre molto utilizzate password quali ?12345?, ?qwerty?, password=username, eccetera. Questo anche perch? c?? una chiara dicotomia tra ?facile da ricordare? e ?difficile da indovinare?: normalmente ci? che ? facile da ricordare ? anche facile da indovinare! Unfortunately, as we well know, this theoretical model does not work in practice for many reasons. The first ? that we are not very good at creating passwords that are difficult to guess, on the contrary from periodic statistics it appears that passwords such as ?12345?, ?qwerty?, password=username, etc. are always used a lot. This is also why? c?? a clear dichotomy between ?easy to remember? and ?difficult to guess?: normally there? that ? easy to remember ? also easy to guess!
A questo ? necessario aggiungere il problema pratico di gestire un alto numero di credenziali: Oggi ciascuno di noi deve ricordare decine di credenziali, utilizzate in ambito sia personale che professionale. Una facile soluzione ? utilizzare la stessa password per tutte le utenze, ma questo comporta il grave rischio che, una volta carpita la password di un?utenza, un attaccante possa accedere a tutte le utenze utilizzate dalla stessa persona, sia in ambito lavorativo che privato. Per combattere la tendenza ad utilizzare la stessa password in molteplici account, ? comune politica forzare la modifica periodica della password e richiederne una certa complessit?, ovvero lunghezza minima e presenza di lettere, numeri, caratteri di punteggiatura ecc. La situazione ? peggiorata a tal punto che, per un utilizzatore qualunque la gestione delle password ? praticamente l?opposto di quello che dovrebbe essere; le password spesso risultano: difficili da ricordare e facili da indovinare da parte di un attaccante! Tutto questo ha portato anche il NIST nel 2017 a rivedere le proprie linee guida sulla gestione delle credenziali, rimuovendo la richiesta di cambio password periodico e aggiornando il requisito di complessit?. To this ? necessary to add the practical problem of managing a high number of credentials: Today each of us must remember dozens of credentials, used in both personal and professional fields. An easy fix? use the same password for all users, but this involves the serious risk that, once the password of a user has been stolen, an attacker can access all the users used by the same person, both in the workplace and in private. To combat the tendency to use the same password in multiple accounts, ? It is common policy to force periodic password changes and require a certain complexity, i.e. minimum length and presence of letters, numbers, punctuation characters, etc. The situation ? worsened to such an extent that, for any user, password management ? practically the opposite of what it should be; passwords often turn out to be: hard to remember and easy for an attacker to guess! All of this also led NIST in 2017 to revise its credential management guidelines, removing the periodic password change requirement and updating the complexity requirement.
Al fine di migliorare la gestione delle password si punta a ridurre il numero di credenziali che ogni persona deve gestire e rendere pi? semplice la gestione delle password. In ambito aziendale, infatti esistono soluzioni che consentono di integrare tutte le applicazioni aziendali in un unico Dominio di Autenticazione aziendale (ad esempio gestito con un LDAP server, Microsoft Active Directory ecc.) e/o estendere il Single-Sign-On (SSO) a tutte (o quasi) le applicazioni e/o aggiungere, per utenze amministrative o per l?accesso ad applicazioni con requisiti particolari di sicurezza, un ulteriore fattore di autenticazione Multi Factor Authentication ? MFA/2FA. In order to improve password management, the aim is to reduce the number of credentials that each person has to manage and make them more efficient. simple password management. In the corporate environment, in fact, there are solutions that allow you to integrate all corporate applications into a single corporate authentication domain (for example managed with an LDAP server, Microsoft Active Directory, etc.) and/or extend Single-Sign-On (SSO) to all (or almost all) applications and/or add, for administrative users or for accessing applications with particular security requirements, an additional authentication factor Multi Factor Authentication ? MFA/2FA.
Tra i sistemi di autenticazione multi fattore, i pi? impiegati sono quelli basati sulla biometria, quale ad esempio impronta digitale, i sistemi a chiave pubblica-privata, i sistemi basati sui codici OTP, le autenticazioni basate sulle ?App Authenticator?. Di recente ? stato standardizzato un nuovo modello denominato ?Security Keys?. Quest?ultime soluzioni sopracitate si basano sul sistema di autenticazione su ?qualcosa che si ?? e su ?qualcosa che si ha?. Nonostante l?autenticazione biometrica potrebbe risultare pi? comoda e funzionale in un sistema multi fattore, ? importante notare anche che quando ad esempio l?utente esegue l?accesso al dispositivo, ad esempio lo smartphone, non effettua l?accesso a servizi remoti ma di fatto esegue l?accesso localmente al dispositivo e se il risultato ? positivo (ovvero sblocca il telefono con l?impronta digitale) lo trasferisce all?app che a sua volta trasmette il messaggio in remoto. Pertanto, in questo caso l?autenticazione in remoto avviene con ?qualcosa che si ha?, ovvero lo smartphone e l?aggiunta dell?impronta digitale d? solo la certezza che lo smartphone ? in possesso del legittimo proprietario associato all?utenza in remoto. Ancora, l?impatto sulla privacy potrebbe essere devastante ed ? per questo che i dati biometrici sono raccolti e mantenuti da apposite componenti hardware sul dispositivo dell?utente e non sono gestite da un sistema centrale. Da questo esempio si evince ulteriormente che se non si ? in possesso del sistema di autenticazione basato sul paradigma con ?qualcosa che si ha? che pu? essere ad esempio uno smartphone, un token OTP o altro, si potrebbero verificare delle limitazioni o addirittura la mancanza di accesso ad alcuni servizi per il fatto che non si ? in possesso in quel momento dell?oggetto in questione, o solo perch? ad esempio la batteria dello smartphone ? scarica oppure perch? ? stato smarrito il token OTP. Appare evidente che basare dei servizi solo su questo fattore di autenticazione potrebbe essere scomodo e comportare problemi di indisponibilit? dei servizi. Il nuovo standard ?Security Keys? introduce maggiore sicurezza e colma alcune lacune ma prevede sempre che l?utente deve portare con s? il dispositivo. Among the multi-factor authentication systems, the most? used are those based on biometrics, such as fingerprints, public-private key systems, systems based on OTP codes, authentications based on ?App Authenticator?. Lately ? A new model called ?Security Keys? has been standardized. These last solutions mentioned above are based on the authentication system on ?something that is ?? and on ?something you have?. Despite the? biometric authentication could be more? comfortable and functional in a multi-factor system, ? it is also important to note that when, for example, the user logs in to the device, for example the smartphone, he does not log in to remote services but actually logs in locally to the device and if the result is ? positive (i.e. unlocks the phone with the fingerprint) transfers it to the app which in turn transmits the message remotely. Therefore, in this case the remote authentication takes place with ?something you have?, i.e. the smartphone and the addition of the fingerprint? only the certainty that the smartphone? in the possession of the legitimate owner associated with the user remotely. Again, the impact on privacy could be devastating and is? for this reason the biometric data are collected and maintained by special hardware components on the user's device and are not managed by a central system. From this example it is further evident that if you do not ? having the authentication system based on the paradigm with ?something you have? what can? be for example a smartphone, an OTP token or other, there could be limitations or even the lack of access to some services due to the fact that you do not? in possession at that moment of? the object in question, or just because? for example the battery of the smartphone? download or why? ? The OTP token has been lost. It seems evident that basing services only on this authentication factor could be inconvenient and lead to unavailability problems? of services. The new standard ?Security Keys? introduces greater security and fills some gaps but always provides that the user must bring with him? the device.
Rimanendo invece in tema di ?qualcosa che si sa?, ? noto che la gestione delle password personali, includendo anche quelle che una persona usa per i sistemi informatici aziendali, ? sicuramente pi? complessa. Da anni sono presenti sul mercato applicazioni per la gestione delle credenziali, i Borsellini delle Password o Password Manager, anche online. Questi strumenti sono molto utili e fondamentalmente permettono di gestire un grande numero di credenziali ricordandosene solo una, quella per accedere al Password Manager stesso. Questa potrebbe semplificare la gestione nonostante non siano molto pratici nell?utilizzo, ma inevitabilmente di fatto presentano una grossa vulnerabilit? per la sicurezza, infatti se consideriamo che la password master per l?accesso al borsellino ? facile da indovinare e viene compromessa o rubata inevitabilmente si ha l?accesso a tutte le altre password e quindi ai vari servizi associati con i vari account. Remaining on the subject of ?something that is known?, ? known that the management of personal passwords, including those that a person uses for corporate computer systems, ? definitely more complex. Applications for credential management, Password Wallets or Password Managers, even online, have been on the market for years. These tools are very useful and basically allow you to manage a large number of credentials by remembering only one, the one to access the Password Manager itself. This could simplify management even though they are not very practical to use, but inevitably in fact they present a large vulnerability? for security, in fact if we consider that the master password for access to the wallet ? easy to guess and is compromised or stolen inevitably you have access to all other passwords and therefore to the various services associated with the various accounts.
Un?altra soluzione nota che si sta diffondendo soprattutto nell?ambito dei servizi forniti dalla Pubblica Amministrazione ? quello basato sul Federated Identity Management (FIM), il quale permette ad una organizzazione ? l?Identity Provider ? di registrare, identificare ed autenticare gli utenti facendo in modo che tale autenticazione sia riconosciuta valida anche da altre organizzazioni. L?Identity Provider garantisce ad altre organizzazioni l?identit? e la validit? dell?autenticazione dell?utente in modo che non sia necessaria un?ulteriore registrazione ed autenticazione. Infatti, l?Identity Provider prova al servizio web Federato che l?autenticazione ? valida inviando token crittografici riconosciuti. Vi sono alcuni protocolli crittografici che permettono di fare questo, tra cui SAML, OpenID, Oauth, WS-Federation ecc. Ad esempio, in Italia, il Sistema Pubblico di Identit? Digitale (SPID) si basa sul protocollo SAMLv2. Si noti come l?accesso Federato copra tipicamente le fasi di identificazione e autenticazione dell?utente, mentre l?autorizzazione rimane in carico ad ogni organizzazione ed applicazione. La Federazione tra organizzazioni permette quindi di uniformare e semplificare gli accessi ai servizi web, riducendo il numero di credenziali che l?utente finale deve gestire. Va per? tenuto conto anche di un altro aspetto importante, che riguarda la privacy degli utenti: un Identity Provider traccia gli accessi dei propri utenti a tutte le organizzazioni e applicazioni Federate, ed ? quindi importante che queste informazioni, che potrebbero portare ad un monitoraggio delle attivit? delle persone, siano gestite nel pieno rispetto della privacy. Another known solution that is spreading above all in the context of services provided by the Public Administration? the one based on Federated Identity Management (FIM), which allows an organization ? l?Identity Provider ? to register, identify and authenticate users by ensuring that this authentication is also recognized as valid by other organizations. Does the Identity Provider guarantee other organizations the identity? and the validity? authentication of the user so that no further registration and authentication is required. Indeed, the Identity Provider proves to the Federated web service that the authentication ? valid by sending recognized cryptographic tokens. There are a few cryptographic protocols that allow you to do this, including SAML, OpenID, Oauth, WS-Federation, etc. For example, in Italy, the Public Identity System? Digital (SPID) is based on the SAMLv2 protocol. Note how Federated access typically covers the user?s identification and authentication phases, while authorization remains the responsibility of each organization and application. Federation between organizations therefore makes it possible to standardize and simplify access to web services, reducing the number of credentials that the end user has to manage. goes for? also taking into account another important aspect, which concerns user privacy: an Identity Provider tracks the accesses of its users to all Federated organizations and applications, and ? therefore important that this information, which could lead to a monitoring of the activities? of people, are managed in full respect of privacy.
La domanda ?US10805284B2 Federated login for password vault? propone una soluzione per la gestione delle password in un contesto di federazione. Un?altra soluzione si basa sul concetto di far cambiare la password quando il sistema rileva un accesso non fraudolento ?US2020210565A1 system and method of changing the password of an account record under a threat of unlawful access to user data. The question ?US10805284B2 Federated login for password vault? proposes a solution for password management in a federation context. Another solution is based on the concept of changing the password when the system detects a non-fraudulent access ?US2020210565A1 system and method of changing the password of an account record under a threat of unlawful access to user data.
Un?altra soluzione ?US10042999B2 Methods and apparatus to manage password security? invece, propone di misurare la robustezza ovvero il rischio e quindi notificare all?utente che la stessa non ? sicura. Another solution ?US10042999B2 Methods and apparatus to manage password security? instead, it proposes to measure the robustness or risk and then notify the user that it is not? safe.
Nell?impiego del sistema di autenticazione basato su ?qualcosa che si sa? il problema principale ? quello di avere dei segreti facili da ricordare e difficili da indovinare, possibilmente considerando che ogni segreto associato con ogni account dell?utente sia diverso. In the use of the authentication system based on ?something you know? the main problem ? that of having secrets that are easy to remember and difficult to guess, possibly considering that each secret associated with each user?s account is different.
La ?CN111294201A Password memory? fornisce un dispositivo, basato similmente allo standard OTP (One time password), che permette di generare password sicure in modalit? casuale e quando necessitano richiederle senza porsi il problema per le persone di ricordarle. The ?CN111294201A Password memory? provides a device, based similarly to the standard OTP (One time password), which allows you to generate secure passwords in mode? random and when they need to ask for them without posing the problem for people to remember them.
Lo scopo della presente invenzione riguarda in generale un sistema e un metodo per la protezione di un account dell?utente, e pi? specificatamente alla generazione e conservazione di password casuali, variabili per ogni tipo di applicazione ma immutabile per l?utente, in modo che la stessa password sia facile da ricordare ed impossibile da indovinare. The object of the present invention generally relates to a system and a method for protecting a user's account, and more? specifically to the generation and storage of random passwords, variable for each type of application but immutable for the user, so that the same password is easy to remember and impossible to guess.
?TPM? La tecnologia Trusted Platform Module (TPM) ? progettata per fornire funzioni relative alla sicurezza basate su hardware. Un chip TPM ? un crittoprocessore sicuro progettato per eseguire operazioni crittografiche. Il chip include pi? meccanismi di sicurezza fisica per renderlo resistente alle manomissioni e il software dannoso non ? in grado di manomettere le funzioni di sicurezza del TPM. Alcuni dei principali vantaggi dell'utilizzo della tecnologia TPM sono i seguenti: Genera, archivia e limita l'uso di chiavi crittografiche; Utilizza la tecnologia TPM per l'autenticazione del dispositivo della piattaforma utilizzando la chiave RSA univoca del TPM, che viene masterizzata su se stessa; Contribuisci a garantire l'integrit? della piattaforma rilevando e archiviando le misurazioni di sicurezza. Le funzioni TPM pi? comuni vengono utilizzate per le misurazioni dell'integrit? del sistema e per la creazione e l'utilizzo delle chiavi. Durante il processo di avvio di un sistema, il codice di avvio caricato (inclusi firmware e componenti del sistema operativo) pu? essere misurato e registrato nel TPM. Le misurazioni dell'integrit? possono essere utilizzate come prova dell'avvio di un sistema e per assicurarsi che una chiave basata su TPM sia stata utilizzata solo quando ? stato utilizzato il software corretto per avviare il sistema. Le chiavi basate su TPM possono essere configurate in diversi modi. Un'opzione consiste nel rendere una chiave basata su TPM non disponibile all'esterno del TPM. Questo ? utile per mitigare gli attacchi di phishing perch? impedisce che la chiave venga copiata e utilizzata senza il TPM. Le chiavi basate su TPM possono anche essere configurate per richiedere un valore di autorizzazione per utilizzarle. Se si verificano troppe ipotesi di autorizzazione errate, il TPM attiver? la logica di attacco del dizionario e impedir? ulteriori ipotesi di valore di autorizzazione. ?TPM? Trusted Platform Module (TPM) technology ? designed to provide hardware-based security-related functions. A TPM chip? a secure cryptoprocessor designed to perform cryptographic operations. Does the chip include more? physical security mechanisms to make it resistant to tampering and malicious software is not ? capable of tampering with the security features of the TPM. Some of the key benefits of using TPM technology are as follows: Generate, store, and limit the use of cryptographic keys; Uses TPM technology for platform device authentication using the TPM's unique RSA key, which is burned to itself; Do you help ensure the integrity? of the platform by detecting and archiving the security measurements. The most TPM functions? common are used for the measurements of the integrity? of the system and for the creation and use of keys. During the boot process of a system, loaded boot code (including firmware and operating system components) can be measured and recorded in the TPM. Integrity measurements? can be used as evidence that a system has booted and to ensure that a TPM-based key has only been used when ? The correct software was used to boot the system. TPM-based keys can be configured in several ways. One option is to make a TPM-based key unavailable outside the TPM. This ? useful for mitigating phishing attacks why? prevents the key from being copied and used without the TPM. TPM-based keys can also be configured to require an authorization value to use them. If there are too many incorrect authorization guesses, the TPM will activate? the logic of attack of the dictionary and will prevent? further hypotheses of authorization value.
?ARM? ? una famiglia di architetture RISC (Reduced Instruction Set Computing) per processori di computer, configurate per vari ambienti. Arm Holdings sviluppa l'architettura e la concede in licenza ad altre societ?, che progettano i propri prodotti che implementano una di quelle architetture, inclusi i sistemi su chip (SoC) e i sistemi su moduli (SoM) che incorporano memoria, interfacce, radio, ecc. Progetta anche nuclei che implementano questo set di istruzioni e concede in licenza questi progetti a un numero di aziende che incorporano tali progetti di base nei propri prodotti. ?ARM? ? a family of reduced instruction set computing (RISC) architectures for computer processors, configured for various environments. Arm Holdings develops the architecture and licenses it to other companies, who design their own products that implement one of those architectures, including systems on chips (SoCs) and systems on modules (SoMs) that incorporate memory, interfaces, radios , etc. It also designs cores that implement this instruction set and licenses these designs to a number of companies that incorporate these core designs into their own products.
?SoC? Un sistema su un chip (SoC) ? un circuito integrato (noto anche come "chip") che integra tutti o la maggior parte dei componenti di un computer o altri componenti elettronici sistema. ?SoC? A system on a chip (SoC) ? an integrated circuit (also known as a "chip") that integrates all or most of the components of a computer or other electronic system.
Questi componenti includono quasi sempre un'unit? di elaborazione centrale (CPU), memoria, porte di input/output e memoria secondaria, il tutto su un singolo substrato o microchip, delle dimensioni di una moneta. Pu? contenere funzioni di elaborazione del segnale digitale, analogico, a segnale misto e spesso a radiofrequenza (altrimenti ? considerato solo un processore applicativo). These components almost always include a drive? of central processing unit (CPU), memory, input/output ports and secondary memory, all on a single substrate or microchip, about the size of a coin. Can? contain digital, analog, mixed-signal, and often radio frequency signal processing functions (otherwise it is considered just an application processor).
?Salt? Nella crittografia, un salt ? un dato casuale utilizzato come input aggiuntivo per una funzione unidirezionale che esegue l'hashing dei dati, una password o una passphrase. I sali vengono utilizzati per salvaguardare le password in deposito. Storicamente una password veniva memorizzata come testo in chiaro su un sistema, ma nel tempo sono state sviluppate ulteriori garanzie per proteggere la password di un utente contro la lettura dal sistema. Un sale ? uno di quei metodi. Un nuovo salt viene generato in modo casuale per ogni password. In un'impostazione tipica, il salt e la password (o la sua versione dopo l'estensione della chiave) vengono concatenati ed elaborati con una funzione hash crittografica e il valore hash di output (ma non la password originale) viene memorizzato con il salt in un database. L'hashing consente un'autenticazione successiva senza mantenere e quindi rischiando l'esposizione della password in testo normale nel caso in cui l'archivio dati di autenticazione sia compromesso. ?Salt? In cryptography, a salt ? a random piece of data used as additional input to a one-way function that hashes the data, a password, or passphrase. Salts are used to safeguard passwords in storage. Historically a password was stored as clear text on a system, but over time additional safeguards have been developed to protect a user's password against being read by the system. A salt? one of those methods. A new salt is generated randomly for each password. In a typical setup, the salt and the password (or its version after key extension) are concatenated and processed with a cryptographic hash function, and the output hash value (but not the original password) is stored with the salt in a database. Hashing allows for subsequent authentication without retaining and thereby risking exposure of the plaintext password in the event that the authentication data store is compromised.
?hash? Una funzione hash ? qualsiasi funzione non invertibile comunemente detta ad una via che pu? essere utilizzata per mappare dati di dimensioni arbitrarie a valori di dimensioni fisse. I valori restituiti da una funzione hash sono chiamati valori hash, codici hash, digest o semplicemente hash. Le funzioni hash e le tabelle hash associate vengono utilizzate nelle applicazioni di archiviazione e recupero dei dati per accedere ai dati in un tempo ridotto e quasi costante per recupero e lo spazio di archiviazione ? solo leggermente superiore allo spazio totale richiesto per i dati o i record stessi. L'hashing ? una forma di accesso ai dati efficiente dal punto di vista computazionale e dello spazio di archiviazione che evita il tempo di accesso non lineare di elenchi ordinati e non ordinati e alberi strutturati e i requisiti di archiviazione spesso esponenziali dell'accesso diretto a spazi di stato di chiavi di grandi dimensioni o di lunghezza variabile. ?hash? A hash function? any non-invertible function commonly called one-way that can? be used to map data of arbitrary size to values of fixed size. The values returned by a hash function are called hash values, hash codes, digests, or simply hashes. Hash functions and associated hash tables are used in data storage and retrieval applications to access data in a nearly constant and low time per retrieval and storage space ? only slightly more than the total space required for the data or records themselves. The hashing ? a computationally and storage-efficient form of data access that avoids the nonlinear access time of ordered and unordered lists and structured trees, and the often exponential storage requirements of direct access to key state spaces large or variable in length.
?Phishing? tentativo fraudolento di ottenere informazioni o dati sensibili, come nomi utente, password e dettagli della carta di credito, camuffandosi da entit? affidabile in una comunicazione elettronica. Tipicamente effettuato tramite spoofing e-mail, messaggistica istantanea e messaggi di testo, il phishing spesso indirizza gli utenti a inserire informazioni personali in un sito Web falso che corrisponde all'aspetto e al design del sito legittimo. Il phishing ? un esempio di tecniche di ingegneria sociale utilizzate per ingannare gli utenti. Gli utenti sono attirati da comunicazioni che si presume provengano da parti di fiducia come siti web sociali, siti di aste, banche, colleghi / dirigenti, processori di pagamento online o amministratori IT. ?Phishing? fraudulent attempt to obtain sensitive information or data, such as usernames, passwords and credit card details, by disguising itself as an entity reliable in an electronic communication. Typically done through email spoofing, instant messaging, and text messaging, phishing often directs users to enter personal information into a fake website that matches the look and feel of the legitimate site. Phishing ? an example of social engineering techniques used to trick users. Users are attracted to communications that purport to come from trusted parties such as social websites, auction sites, banks, colleagues/executives, online payment processors or IT administrators.
?URI? In informatica, lo Uniform Resource Identifier (in acronimo URI) ? una sequenza di caratteri che identifica universalmente ed univocamente una risorsa. Sono esempi di URI: un indirizzo web (URL), un documento, un'immagine, un file, un servizio, un indirizzo di posta elettronica, il codice ISBN di un libro, un numero di telefono. ?URI? In computer science, the Uniform Resource Identifier (acronym URI) ? a sequence of characters that universally and uniquely identifies a resource. Examples of URIs are: a web address (URL), a document, an image, a file, a service, an e-mail address, the ISBN of a book, a telephone number.
?User agent? In informatica un user agent ? un'applicazione installata sul computer dell'utente che si connette ad un processo server. Esempi di user agent sono i browser web, i lettori multimediali e i programmi client (Mail User Agent) come Outlook, Eudora, Thunderbird, Pine ed Elm. Oggi il termine ? utilizzato soprattutto in riferimento ai client che accedono al World Wide Web. Oltre ai browser, gli user agent del web possono essere i crawler dei motori di ricerca, i telefoni cellulari, i lettori di schermo e i browser braille usati da persone non vedenti. Quando gli utenti di Internet visitano un sito web, una stringa di testo ? solitamente inviata per fare identificare al server lo user agent. Questo fa parte della richiesta HTTP, con prefisso "Useragent:" o "User-Agent:" e tipicamente include informazioni come il nome dell'applicazione client, la versione, il sistema operativo e la lingua. I bot spesso includono anche l'indirizzo web e la mail del proprietario, in modo tale che l'amministratore del sito possa contattarlo. La stringa dell'user-agent ? uno dei criteri per i quali alcuni bot possono essere esclusi da alcune pagine usando il file robots.txt. Questo permette ai webmaster, che ritengono che alcune parti del loro sito (o tutto il sito) non debba essere incluso nei dati raccolti da un particolare bot o che quel particolare bot stia usando troppa banda, di bloccare l'accesso alle pagine. ?User agent? In computer science a user agent ? an application installed on a user's computer that connects to a server process. Examples of user agents are web browsers, media players, and client programs (Mail User Agents) such as Outlook, Eudora, Thunderbird, Pine, and Elm. Today's deadline? used primarily to refer to clients accessing the World Wide Web. In addition to browsers, web user agents can include search engine crawlers, mobile phones, screen readers, and braille browsers used by blind people. When Internet users visit a website, a string of text ? usually sent to identify the user agent to the server. This is part of the HTTP request, prefixed with "Useragent:" or "User-Agent:" and typically includes information such as client application name, version, operating system, and language. Bots also often include the owner's web address and email so that the site administrator can contact him. The user agent string ? one of the criteria by which some bots can be excluded from some pages using the robots.txt file. This allows webmasters, who feel that parts of their site (or all of their site) shouldn't be included in the data collected by a particular bot or that particular bot is using too much bandwidth, to block access to pages.
?Password Manager? Un gestore di password ? un programma per computer che consente agli utenti di memorizzare, generare e gestire le proprie password personali per i servizi online. Un gestore di password aiuta a generare e recuperare password complesse, potenzialmente archiviando tali password in un database crittografato o calcolandole su richiesta. I tipi di gestori di password includono: applicazioni software installate localmente, servizi online accessibili tramite portali di siti web, dispositivi hardware con accesso locale che fungono da chiavi. A seconda del tipo di gestore di password utilizzato e delle funzionalit? offerte dai suoi sviluppatori, il database crittografato viene archiviato localmente sul dispositivo dell'utente o archiviato in remoto tramite un servizio di file hosting online. I gestori di password in genere richiedono che un utente generi e ricordi una password "principale" per sbloccare e accedere a qualsiasi informazione memorizzata nei propri database. Molte applicazioni di gestione delle password offrono funzionalit? aggiuntive che migliorano sia la comodit? che la sicurezza, come l'archiviazione di informazioni su carte di credito e frequent flyer e funzionalit? di compilazione automatica. ?Password Manager? A password manager ? a computer program that allows users to store, generate and manage their personal passwords for online services. A password manager helps generate and recover strong passwords, potentially by storing those passwords in an encrypted database or calculating them on demand. Types of password managers include: locally installed software applications, online services accessed via website portals, locally accessed hardware devices that act as keys. Depending on the type of password manager used and the features? offered by its developers, the encrypted database is stored locally on the user's device or remotely stored via an online file hosting service. Password managers typically require a user to generate and remember a "master" password to unlock and access any information stored in their databases. Many password management applications offer functionality? additional that improve both the comfort? that security, such as the storage of credit card and frequent flyer information, and features? autofill.
DESCRIZIONE DESCRIPTION
In una forma di realizzazione della presente invenzione, ? previsto un metodo per la protezione di un account utente con password variabile per ogni account ma immutabile per l'utente. Il metodo ? eseguito da almeno un computer e caricato in una memoria di tipo RAM, che per la creazione di ogni account comprende le seguenti fasi: In one embodiment of the present invention, ? provided a method for protecting a user account with a variable password for each account but immutable for the user. The method ? performed by at least one computer and loaded into a RAM type memory, which for the creation of each account includes the following phases:
? la generazione automatica di una stringa password casuale tramite un algoritmo automatico di password casuali; ? automatic generation of a random password string using an automatic random password algorithm;
? la generazione automatica di una stringa salt casuali tramite un algoritmo automatico di hash casuali; ? automatic generation of a random salt string using an automatic random hash algorithm;
? l'inserimento manuale da parte di un utente di una password immutabile facile da ricordare; ? manual entry by a user of an immutable password that is easy to remember;
? la concatenazione della password immutabile con la detta password random e con il detto salt; ? the concatenation of the immutable password with said random password and with said salt;
? l'associazione della detta concatenazione con uno specifico username di uno specifico account. ? the association of said concatenation with a specific username of a specific account.
In una forma di realizzazione del metodo, gli algoritmi per la generazione di password e salt casuali comprendono l'implementazione di funzioni crittografiche di hashing. In one embodiment of the method, the algorithms for generating random passwords and salts include the implementation of cryptographic hashing functions.
In una forma di realizzazione del metodo, la generazione del salt comprende la concatenazione di pi? funzioni crittografiche di hash in cascata. In one embodiment of the method, the generation of the salt involves the concatenation of multiple? cascading cryptographic hash functions.
In una forma di realizzazione del metodo, la generazione del salt, eventualmente concatenato, comprende l'implementazione dell'algoritmo SHA 256 e SHA 384 e/o SHA 384 e SHA 512. In one embodiment of the method, the generation of the salt, possibly concatenated, comprises the implementation of the algorithm SHA 256 and SHA 384 and/or SHA 384 and SHA 512.
In una forma di realizzazione del metodo, l'inserimento della password utente comprende l'inserimento di almeno quattro tipi caratteri, in cui almeno un carattere ? di tipo maiuscolo, almeno uno ? di tipo minuscolo, almeno uno ? un carattere speciale, almeno uno ? un numero e che la generazione della stringa password casuale automatica comprenda la definizione della lunghezza minima e della lunghezza massima, preferibilmente da 50 a 100 e la selezione del tipo di carattere preferibilmente tra lettere maiuscole e minuscole, caratteri speciali e numeri e che la generazione della stringa salt casuale comprenda la selezione della lunghezza minima e della lunghezza massima preferibilmente da 50 a 100 e la selezione del tipo di carattere preferibilmente tra lettere maiuscole e minuscole, caratteri speciali e numeri. In one embodiment of the method, entering the user password comprises entering at least four types of characters, wherein at least one character ? uppercase type, at least one ? of lowercase type, at least one ? a special character, at least one ? a number and that the generation of the automatic random password string includes the definition of the minimum length and the maximum length, preferably from 50 to 100 and the selection of the type of character preferably between uppercase and lowercase letters, special characters and numbers and that the generation of the random salt string includes the selection of the minimum length and the maximum length preferably from 50 to 100 and the selection of the character type preferably between uppercase and lowercase letters, special characters and numbers.
In una forma di realizzazione del metodo, la concatenazione comprende la trasposizione dei caratteri della password utente secondo una sequenza predefinita tra i caratteri della password casuale e/o del salt casuale e/o la trasposizione dei caratteri del salt secondo una sequenza predefinita tra i caratteri della password casuale e che eventualmente detta sequenza comprenda la definizione dinamica della trasposizione di un cento numero di caratteri in funzione dell?input ricevuto dall?utente nella fase di inserimento della password utente e pi? precisamente la ricezione del numero in corrispondenza dell?inserimento del tipo carattere numero. In one embodiment of the method, the concatenation comprises the transposition of the characters of the user password according to a predefined sequence between the characters of the random password and/or the random salt and/or the transposition of the characters of the salt according to a predefined sequence between the characters of the random password and that possibly said sequence includes the dynamic definition of the transposition of a hundred number of characters according to the input received from the user in the phase of inserting the user password and more? precisely the reception of the number in correspondence with the insertion of the character type number.
In una forma di realizzazione del metodo, per la definizione della trasposizione di un cento numero di caratteri di detta sequenza predefinita comprende il calcolo di una specifica funzione matematica che riceve in input il numero dall?utente nella fase di inserimento della password utente e/o la lunghezza della stringa concatenata. In one embodiment of the method, for defining the transposition of a hundred characters of said predefined sequence, it comprises the calculation of a specific mathematical function which receives as input the number from the user in the phase of entering the user password and/or the length of the concatenated string.
In una forma di realizzazione del metodo, la password e/o il salt casuali comprendono la fase di memorizzazione su un supporto di memoria di tipo non volatile e che eventualmente la detta password e il salt casuali comprendono la fase di cifratura prima della memorizzazione mediante un sistema a crittografia simmetrica e/o asimmetrica. In one embodiment of the method, the random password and/or salt comprise the step of memorization on a non-volatile memory medium and that optionally said random password and salt comprise the encryption step before being memorized by means of a symmetric and/or asymmetric encryption system.
In una forma di realizzazione del metodo, la generazione di una chiave segreta runtime per il sistema a crittografia simmetrica comprenda le seguenti fasi: In one embodiment of the method, the generation of a runtime secret key for the symmetric cryptographic system comprises the following steps:
? l'autenticazione dell'utente secondo lo schema basato sull'impronta digitale; ? user authentication according to the fingerprint-based scheme;
? la generazione in tempo reale di un hash tramite un algoritmo che implementa una funzione crittografica di hash che prevede come input il risultato positivo di detta autenticazione basato su impronta digitale; ? the generation of a hash in real time through an algorithm which implements a cryptographic hash function which foresees as input the positive result of said fingerprint-based authentication;
? eventualmente, la derivazione di una chiave tramite un algoritmo di derivazione della chiave che prevede in input l?hash generato in tempo reale, un seme segreto e casuale e un numero di interazioni prestabilito. ? possibly, the derivation of a key through a key derivation algorithm which provides as input the hash generated in real time, a secret and random seed and a pre-established number of interactions.
In una forma di realizzazione del metodo, l?algoritmo di derivazione comprende l?implementazione dell?algoritmo PBKDF2, avente come input un seme casuale e segreto, generato da un algoritmo SHA almeno a 256 bit, un numero di iterazioni pari almeno a 1000 e che la funzione crittografica di hash prevede l?implementazione dell?algoritmo SHA-2 e che detto algoritmo comprenda almeno una versione di SHA-2 a 256 bit. In one embodiment of the method, the derivation algorithm comprises the implementation of the PBKDF2 algorithm, having as input a random and secret seed, generated by an at least 256-bit SHA algorithm, a number of iterations equal to at least 1000 and that the cryptographic hash function provides for the implementation of the SHA-2 algorithm and that said algorithm includes at least a 256-bit version of SHA-2.
In una forma di realizzazione del metodo, la procedura di autenticazione comprende o lo schema di autenticazione basato su qualcosa che uno ha e/o lo schema di autenticazione basato su qualcosa che uno ? alternativo al sistema basato sull?impronta digitale. Ad esempio, ? possibile proteggere l'account con la verifica in due passaggi, dove con la verifica in due passaggi (nota anche come autenticazione a due fattori) si aggiunge un ulteriore livello di sicurezza all?account. Con la verifica in due passaggi per accedere ad un account in due si pu? usare: qualcosa che si ?, ad esempio il viso; qualcosa che si possiede, ad esempio il telefono oppure un token, un piccolo dispositivo per dimostrare che la persona che sta accedendo ? colui che lo possiede oppure un app che consente di creare codici di verifica utilizzabili solo una volta inserendo il codice di verifica nella schermata di accesso per verificare l?identit?. In one embodiment of the method, does the authentication procedure comprise either the authentication scheme based on something one has and/or the authentication scheme based on something one has? alternative to the system based on the fingerprint. Eg, ? You can protect your account with two-step verification, where two-step verification (also known as two-factor authentication) adds an extra layer of security to your account. With two-step verification to access an account in two you can? use: something that is, for example the face; something you have, such as your phone or a token, a small device to show that the person who is accessing ? the owner or an app that allows you to create verification codes that you can use only once by entering the verification code on the login screen to verify your identity.
In una forma di realizzazione del metodo, il sistema di crittografia asimmetrica comprende la generazione delle chiavi per mezzo dello standard basato sulla security Key FIDO2. In one embodiment of the method, the asymmetric cryptographic system comprises key generation by means of the FIDO2 security key-based standard.
In una forma di realizzazione del metodo, in una fase di autenticazione con un server di autenticazione comprendente l'instaurazione di una sessione di collegamento cifrata su un canale di comunicazione tra un endpoint di un utente e detto server di autenticazione, sono previste le seguenti fasi: In one embodiment of the method, in an authentication step with an authentication server comprising the establishment of an encrypted connection session on a communication channel between an endpoint of a user and said authentication server, the following steps are provided :
? inserimento manuale della username da parte di un utente nel modulo di input definito per l'username; ? manual entry of the username by a user in the input form defined for the username;
? precompilazione automatica di una password e di un salt casuale generati automaticamente; ? automatic prefilling of an automatically generated random password and salt;
? inserimento manuale di una password utente immutabile nel modulo di input definito per lo spazio utente; ? manual entry of an immutable user password in the input form defined for the user space;
? concatenazione della detta password utente con la detta password e salt casuali e che eventualmente la concatenazione comprenda la trasposizione; ? concatenation of said user password with said password and random salts and that possibly the concatenation includes the transposition;
? calcolo dell?hash per la stringa concatenata da parte dell?endpoint; ? calculation of the hash for the concatenated string by the endpoint;
? trasmissione dell?hash stringa concatenata e/o della username e dall?endpoint al server; ? transmission of the concatenated string hash and/or of the username and from the endpoint to the server;
? ricezione dell?hash stringa concatenata e/o dello username da parte del server; ? confronto tra la detta hash calcolata e l?hash stringa concatenata e precedentemente memorizzata nel server in fase di registrazione dell?account utente. ? receipt of the concatenated string hash and/or username from the server; ? comparison between said calculated hash and the concatenated string hash previously stored on the server during user account registration.
In una forma di realizzazione del metodo, la fase di registrazione dell?account utente, comprende la definizione di uno specifico username, la memorizzazione dell?hash di una stringa concatenata nel server di autenticazione associata ad uno specifico profilo utente comprendente almeno i dati anagrafici. In one embodiment of the method, the user account registration phase comprises the definition of a specific username, the storage of the hash of a concatenated string in the authentication server associated with a specific user profile comprising at least the personal data.
In una forma di realizzazione del metodo, in cui la fase di autenticazione con un server di autenticazione comprendente l'instaurazione di una sessione di collegamento cifrata di un canale di comunicazione tra l?endpoint di un utente e un server di autenticazione, prevede le seguenti fasi: In one embodiment of the method, wherein the step of authentication with an authentication server comprising the establishment of an encrypted connection session of a communication channel between a user's endpoint and an authentication server, provides the following phases:
? inserimento manuale della username da parte di un utente; ? manual entry of the username by a user;
? trasmissione dell'username al detto server; ? transmission of the username to said server;
? ricezione dello user e ritrasmissione all'utente di una stringa cifrata contenente la concatenazione di una password e il salt casuali e che eventualmente detta concatenazione comprende la trasposizione dei caratteri della password e del salt casuali associata allo username dello specifico account; ? receipt of the user and retransmission to the user of an encrypted string containing the concatenation of a random password and salt and which possibly said concatenation includes the transposition of the characters of the random password and salt associated with the username of the specific account;
? ricezione della detta stringa cifrata da parte dell?endpoint dell?utente; ? receipt of said encrypted string by the user?s endpoint;
? decifrazione della stringa concatenata da parte dell?endpoint dell?utente; ? decryption of the concatenated string by the user?s endpoint;
? rilevazione della password casuale rispetto al salt casuale; ? random password detection versus random salt;
? trasmissione della conferma positiva relativamente all?attivit? di rilevazione al server; ? transmission of the positive confirmation regarding the activity? discovery to the server;
? abilitazione del modulo input spazio utente e modulo input precompilato da parte del server; ? enable userspace input form and prefilled form input by server;
? precompilazione automatica della password casuale e del salt casuale generati automaticamente per lo specifico account; ? automatic prefilling of automatically generated random password and random salt for the specific account;
? inserimento manuale della password utente immutabile nel modulo di input definito per lo spazio utente; ? manual entry of the immutable user password in the input form defined for the user space;
? concatenazione della detta password utente con le dette password e salt casuali, e che eventualmente, la fase di concatenazione comprenda anche la fase di trasposizione; ? concatenation of said user password with said random passwords and salts, and that possibly, the concatenation step also includes the transposition step;
? calcolo dell?hash stringa concatenata da parte dell?endpoint; ? computation of the concatenated string hash by the endpoint;
? trasmissione dell?hash stringa concatenata e/o username da parte dell?endpoint al server; ? transmission of the concatenated string hash and/or username from the endpoint to the server;
? ricezione dell?hash della stringa concatenata e/o dello username da parte del server; ? confronto tra la detta hash calcolata e l?hash stringa concatenata e precedentemente memorizzata nel server in fase di registrazione dell?account utente. ? receiving the hash of the concatenated string and/or username from the server; ? comparison between said calculated hash and the concatenated string hash previously stored on the server during user account registration.
In una forma di realizzazione del metodo, in cui la fase di rilevazione ? caratterizzata dal fatto di comprendere il confronto tra la password casuale memorizzata nell?endpoint dell'utente con la stringa ricevuta dal server e che eventualmente detto confronto comprende, per la trasposizione inversa, il calcolo secondo una funzione di distribuzione deterministica e/o il conteggio dei caratteri della password casuale memorizzata nell?endpoint dell?utente con la stringa ricevuta eventualmente considerando nel conteggio la traslazione di un certo numero prestabilito. In one embodiment of the method, wherein the detection step is characterized in that it comprises the comparison between the random password stored in the user's endpoint with the string received from the server and that possibly said comparison comprises, for the reverse transposition, the calculation according to a deterministic distribution function and/or the count of characters of the random password stored in the user?s endpoint with the received string possibly considering the translation of a certain pre-established number in the count.
In una forma di realizzazione del metodo, in cui la conferma negativa nella fase di rilevazione comprende: In one embodiment of the method, wherein the negative confirmation in the detection step comprises:
? l?aborto automatico della sessione da parte dell?endpoint dell?utente relativamente al collegamento cifrato riguardo al canale di comunicazione tra l?endpoint dell?utente e il server di autenticazione; ? the automatic abort of the session by the user?s endpoint in relation to the encrypted connection regarding the communication channel between the user?s endpoint and the authentication server;
? una notifica e/o un messaggio di avviso a video per informare l?utente di un tentativo di phishing. ? a notification and/or an on-screen warning message to inform the user of a phishing attempt.
In una forma di realizzazione del metodo, l'instaurazione di una sessione di collegamento cifrata di un canale di comunicazione tra l?endpoint di un utente e un server di autenticazione comprende l?implementazione del protocollo Transport Layer Security (TLS) versione 1.3. In one embodiment of the method, establishing an encrypted connection session of a communication channel between a user's endpoint and an authentication server comprises the implementation of the Transport Layer Security (TLS) version 1.3 protocol.
In una forma di realizzazione del metodo, la fase di rilevazione comprende il confronto dell?indirizzo URI e/o URL del server di autenticazione con l?indirizzo URI e/o URL associato con lo username di un profilo utente di uno specifico account memorizzato nell?endpoint dell?utente e/o eventualmente il confronto dello user agent di un browser dell?utente memorizzato e trasmesso dal server in fase di registrazione con lo user agent di un browser associato con lo username di un profilo utente di uno specifico account memorizzato nell?endpoint dell?utente . In una forma di realizzazione del metodo, per il controllo dell?indirizzo URI e/o URL ? prevista l?implementazione e/o l?integrazione con il protocollo Sender Policy Framework (SPF). In one embodiment of the method, the detection step comprises comparing the URI and/or URL address of the authentication server with the URI and/or URL address associated with the username of a user profile of a specific account stored in the ?user?endpoint and/or possibly the comparison of the user agent of a user?s browser stored and transmitted by the server during registration with the user agent of a browser associated with the username of a user profile of a specific account stored in the ?user?endpoint . In one embodiment of the method, for checking the URI address and/or URL ? implementation and/or integration with the Sender Policy Framework (SPF) protocol is foreseen.
In una forma di realizzazione del metodo, ? prevista l?implementazione diretta in un endpoint della fase di autenticazione locale e/o sblocco del dispositivo, dove, come visto precedentemente, le operazioni eseguite dal server di autenticazione, in questa forma di realizzazione sono implementate direttamente in detto endpoint. In one embodiment of the method, ? the direct implementation in an endpoint of the local authentication and/or unlocking phase of the device is envisaged, where, as seen previously, the operations performed by the authentication server, in this embodiment are implemented directly in said endpoint.
In una forma di realizzazione del metodo, ? prevista l?implementazione in un sistema comprendente l?integrazione, eventualmente con la metodologia Application Platform Interface (API), con tutte le applicazioni aziendali in un unico Dominio di Autenticazione aziendale (ad esempio gestito con un LDAP server, Microsoft Active Directory ecc.) e/o l?integrazione con il Single-Sign-On (SSO) a tutte le applicazioni e/o servizi basati sul Federated Identity Management (FIM) e/o con sistemi basati sui protocolli SAML, SAMLv2, OpenID, Oauth, WS-Federation ecc. In one embodiment of the method, ? foreseen implementation in a system including integration, possibly with the Application Platform Interface (API) methodology, with all company applications in a single company Authentication Domain (for example managed with an LDAP server, Microsoft Active Directory, etc.) and/or integration with Single-Sign-On (SSO) to all applications and/or services based on Federated Identity Management (FIM) and/or with systems based on SAML, SAMLv2, OpenID, Oauth, WS-Federation protocols etc.
In un'altra forma di realizzazione del metodo, ? possibile combinare e/o limitare i detti metodi in una o pi? forme di realizzazione secondo una qualsiasi forma della presente invenzione. In another embodiment of the method, ? Is it possible to combine and/or limit the said methods in one or more? embodiments according to any form of the present invention.
In una forma di realizzazione della presente invenzione, ? previsto un dispositivo per la protezione di un account utente con password variabile per ogni account ma immutabile per l'utente. Il dispositivo, comprendente un modulo hardware con sensore impronta digitale, che detto modulo hardware comprende una ROM e/o EPROM avente un firmware, detto dispositivo comprenda un chip che implementa uno o pi? funzioni crittografiche di hash e una funzione di derivazione della chiave e che detto chip comprenda almeno una memoria flash eventualmente di tipo embedded, che in risposta all?autenticazione con l?impronta digitale dell?utente ? in grado di eseguire un metodo di cui ad una delle qualsiasi forme di realizzazione della presente invenzione. In one embodiment of the present invention, ? provided a device for the protection of a user account with a variable password for each account but immutable for the user. The device, comprising a hardware module with fingerprint sensor, which said hardware module comprises a ROM and/or EPROM having a firmware, said device comprises a chip which implements one or more? cryptographic hash functions and a key derivation function and that said chip comprises at least one flash memory, possibly of the embedded type, which in response to authentication with the user's fingerprint? capable of performing a method of any one of the embodiments of the present invention.
In una forma di realizzazione del dispositivo, il firmware ? un Unified Extensible Firmware Interface (UEFI) eseguito eventualmente in modalit? secure boot. In one embodiment of the device, the firmware ? a Unified Extensible Firmware Interface (UEFI) possibly run in mode? secure boot.
In una forma di realizzazione del dispositivo, la ROM e/o EPROM comprende un circuito smartcard e il seme segreto dell?algoritmo di derivazione chiave ? memorizzato in detta circuito smartcard e/o la memorizzazione della password casuale cifrata e/o del salt casuale cifrato e/o l?hash della stringa cifrata comprendente la concatenazione della password utente, la password casuale e il salt casuale eventualmente trasposti tra loro. In one embodiment of the device, the ROM and/or EPROM comprises a smartcard circuit and the secret seed of the key derivation algorithm ? stored in said smartcard circuit and/or storing the encrypted random password and/or the encrypted random salt and/or the hash of the encrypted string comprising the concatenation of the user password, the random password and the random salt possibly transposed between them.
In una forma di realizzazione del dispositivo, lo stesso ? realizzato con un?architettura di tipo System on Chip (SoC) e/o Advanced RISC Machine (ARM) e che eventualmente detto dispositivo comprenda una Trusted Platform Module (TPM). In one embodiment of the device, the same ? made with an architecture of the System on Chip (SoC) and/or Advanced RISC Machine (ARM) type and that possibly said device includes a Trusted Platform Module (TPM).
In una forma di realizzazione della presente invenzione, ? previsto l?uso del dispositivo per la protezione di un account utente con password variabile per ogni account ma immutabile per l'utente, in grado di essere integrato in un mouse e/o in uno smartphone e/o in una tastiera per personal computer e/o in un tablet e/o in un personal computer e/o in un supporto esterno e/o rimovibile e/o in un qualsiasi endpoint. In one embodiment of the present invention, ? foreseen the use of the device for the protection of a user account with a variable password for each account but immutable for the user, able to be integrated in a mouse and/or in a smartphone and/or in a keyboard for personal computers and /or in a tablet and/or in a personal computer and/or in an external and/or removable medium and/or in any endpoint.
In un'altra forma di realizzazione del dispositivo, ? prevista l?implementazione, tramite il detto dispositivo secondo una qualsiasi forma di realizzazione, di almeno un metodo della presente invenzione secondo una qualsiasi forma di realizzazione. In another embodiment of the device, ? the implementation, by means of said device according to any embodiment, of at least one method of the present invention according to any embodiment is envisaged.
In una forma di realizzazione della presente invenzione, ? previsto un sistema per la protezione di un account utente con password variabile per ogni account ma immutabile per l'utente. Il sistema comprendente un endpoint dell'utente avente almeno un processore e una memoria di tipo RAM, comprendente un server di autenticazione comprendente almeno un processore, una memoria di tipo RAM e almeno un collegamento con un database, che detto endpoint e server sono interconnessi per mezzo di una rete locale e/o in remoto eventualmente in VPN e che la sessione di collegamento tra l'endpoint e il server comprenda un canale di comunicazione cifrato, che detto endpoint comprenda il dispositivo di cui alle rivendicazioni precedenti, che il detto endpoint comprende un supporto di memoria non volatile in cui ? memorizzata, in modalit? cifrata, la password casuale generata automaticamente per uno specifico account, che in detto server ? memorizzato un hash stringa concatenata comprendente la concatenazione, eventualmente trasposta, di una password dell?utente, una password casuale generata automaticamente e un salt casuale generato automaticamente, in detto server ? memorizzata una stringa cifrata relativa alla detta password e salt casuali, caratterizzato dal fatto di implementare il seguente metodo per l?autenticazione dell?utente: In one embodiment of the present invention, ? provided a system for the protection of a user account with a variable password for each account but immutable for the user. The system comprising a user endpoint having at least one processor and a memory of the RAM type, comprising an authentication server comprising at least one processor, a memory of the RAM type and at least one connection with a database, which said endpoint and server are interconnected for means of a local network and/or remotely possibly in VPN and that the connection session between the endpoint and the server comprises an encrypted communication channel, that said endpoint comprises the device according to the preceding claims, that said endpoint comprises a non-volatile memory medium in which ? memorized, in mode? encrypted, random password automatically generated for a specific account, which in said server? stored a concatenated string hash comprising the concatenation, possibly transposed, of a user? password, an automatically generated random password and an automatically generated random salt, in said server ? stored an encrypted string relating to said password and random salt, characterized by the fact of implementing the following method for user authentication:
? inserimento manuale delle username da parte di un utente; ? manual entry of usernames by a user;
? trasmissione dello username al detto server da parte dell?endpoint dell?utente; ? ricezione dello username e trasmissione da parte del server all'utente della stringa cifrata contenente password e salt casuali associata allo specifico username di detto account; ? transmission of the username to said server by the user?s endpoint; ? receipt of the username and transmission by the server to the user of the encrypted string containing random password and salt associated with the specific username of said account;
? ricezione della stringa cifrata da parte dell?utente; ? receipt of the encrypted string by the user;
? decifrazione della stringa cifrata; ? decryption of the encrypted string;
? rilevazione della password casuale rispetto al salt; ? random password detection versus salt;
? conferma della rilevazione e trasmissione della conferma al server da parte endpoint utente; ? confirmation of the detection and transmission of the confirmation to the server by the user endpoint;
? abilitazione del modulo input per lo spazio utente e del modulo input precompilato da parte del server; ? enable the userspace input form and the precompiled input form by the server;
? precompilazione automatica della password e del salt casuali generati automaticamente associati allo username di quello specifico account; ? inserimento manuale della password utente immutabile da parte dell?utente nel modulo di input definito per lo spazio utente; ? automatic pre-filling of the automatically generated random password and salt associated with the username of that specific account; ? manual entry of the immutable user password by the user in the input form defined for the user space;
? concatenazione della detta password utente con la password e salt casuali e che eventualmente detta concatenazione comprenda anche la trasposizione; ? calcolo hash stringa concatenata dall?endpoint utente; ? concatenation of said user password with the password and random salts and that possibly said concatenation also includes the transposition; ? string hash computation concatenated from user endpoint;
? trasmissione dell?hash stringa concatenata e/o dello username al server; ? transmission of the concatenated string hash and/or username to the server;
? ricezione dello username e dell?hash stringa concatenata; ? receipt of username and concatenated string hash;
? confronto tra detta hash calcolata e l?hash stringa concatenata e precedentemente memorizzata nel server in fase di registrazione account. ? comparison between said calculated hash and the concatenated string hash previously stored on the server during account registration.
In una forma di realizzazione del sistema, il metodo ? implementato ed integrato in tutto o in parte con un comune software browser e/o di un comune software password manager e/o con la combinazione di un comune software browser e di un comune software password manager. In one embodiment of the system, the method is implemented and integrated in whole or in part with common browser software and/or common password manager software and/or with the combination of common browser software and common password manager software.
In una forma di realizzazione del sistema, ? prevista l?integrazione con applicazioni e servizi terzi eventualmente con la metodologia Application Platform Interface (API) comprendente tutte le applicazioni aziendali in un unico Dominio di Autenticazione aziendale (ad esempio gestito con un LDAP server, Microsoft Active Directory ecc.) e/o l?integrazione con il Single-Sign-On (SSO) a tutte le applicazioni e/o servizi basati sul Federated Identity Management (FIM) e/o con sistemi basati sui protocolli SAML, SAMLv2, OpenID, Oauth, WS-Federation ecc. In one embodiment of the system, ? foreseen integration with third party applications and services possibly with the Application Platform Interface (API) methodology including all company applications in a single company Authentication Domain (for example managed with an LDAP server, Microsoft Active Directory, etc.) and/or the? integration with Single-Sign-On (SSO) to all applications and/or services based on Federated Identity Management (FIM) and/or with systems based on SAML, SAMLv2, OpenID, Oauth, WS-Federation protocols etc.
In un'altra forma di realizzazione del sistema della presente invenzione, ? prevista l?implementazione, tramite il sistema secondo una qualsiasi forma di realizzazione, di almeno un metodo della presente invenzione secondo una qualsiasi forma di realizzazione. In another embodiment of the system of the present invention, ? the implementation, by means of the system according to any embodiment, of at least one method of the present invention according to any embodiment is envisaged.
Queste ed altre caratteristiche e vantaggi della presente invenzione descritta, risulteranno evidenti alla luce della seguente descrizione di alcune delle forme di realizzazione esemplificative della presente invenzione. These and other features and advantages of the present invention described will become apparent in light of the following description of some of the exemplary embodiments of the present invention.
L'invenzione, cos? come una modalit? d'uso preferita e ulteriori obiettivi e vantaggi della stessa, saranno meglio compresi facendo riferimento alla seguente descrizione dettagliata di forme di realizzazione esemplificative quando letta insieme ai disegni allegati, in cui: The invention, what? as a mode? preferred usage, and further objects and advantages thereof, will be better understood by referring to the following detailed description of exemplary embodiments when read in conjunction with the accompanying drawings, wherein:
FIGURA.1 ? un diagramma esemplificativo di un sistema per la protezione di un account utente con password variabile per ogni account ma immutabile per l'utente in cui pu? essere implementato in una forma di realizzazione della presente invenzione; FIGURE 1 ? an example diagram of a system for the protection of a user account with variable password for each account but immutable for the user in which pu? be implemented in an embodiment of the present invention;
FIGURA.2 ? uno schema a blocchi esemplificativo che illustra gli elementi operativi di un metodo per la protezione di un account utente con password variabile per ogni account ma immutabile per l'utente in cui pu? essere implementato in una forma di realizzazione della presente invenzione. FIGURE.2 ? an example block diagram illustrating the operational elements of a method for protecting a user account with a variable password for each account but immutable for the user in which it can? be implemented in an embodiment of the present invention.
In FIG. 1, il sistema (700) comprendente un endpoint dell'utente (100) avente almeno un processore (105) e una memoria di tipo RAM (110) dove ? in esecuzione un software browser (135) e un software password manager (140) che implementa un sistema a crittografia simmetrica basato sullo standard AES a 256 bit, che detto endpoint comprenda un dispositivo (120) avente un modulo hardware con sensore impronta digitale (125) e un chip di tipo SoC (130) che implementa la funzione crittografica di hash tramite l?algoritmo SHA-2 a 256 bit e una funzione di derivazione della chiave tramite l?algoritmo PBKDF2 e che detto chip comprenda una memoria flash di tipo embedded, che il detto endpoint comprende un supporto di memoria non volatile (150) in cui ? memorizzata, in modalit? cifrata tramite la chiave segreta a runtime, la password casuale generata automaticamente dal password manager (140) per uno specifico account, che il detto sistema comprende un server di autenticazione (500) avente un processore (505), una memoria di tipo RAM (510) e che il detto server ? interconnesso localmente con un database (550) in cui ? memorizzata l?hash di una stringa concatenata ottenuta in fase di registrazione dell?account dell?utente e la stringa concatenata cifrata contenente la password e il salt casuali generati in fase di registrazione; il detto endpoint e il detto server sono interconnessi in remoto per mezzo di una rete internet e che la sessione di collegamento tra l'endpoint e il server comprenda un canale di comunicazione cifrato con il protocollo TLS 1.3 (600), che nella memoria (510) di detto server ? in esecuzione una pagina del servizio di un portale web relativa all?autenticazione (515) dove un utente per tramite del detto endpoint con il browser (135) esegue una procedura di autenticazione al portale secondo il metodo di cui in FIG.2: In FIG. 1 , the system (700) comprising a user endpoint (100) having at least one processor (105) and a RAM type memory (110) where ? running browser software (135) and password manager software (140) implementing a symmetric encryption system based on the 256-bit AES standard, said endpoint comprising a device (120) having a hardware module with fingerprint sensor (125 ) and a SoC-type chip (130) which implements the cryptographic hash function using the 256-bit SHA-2 algorithm and a key derivation function using the PBKDF2 algorithm and which said chip includes an embedded flash memory , that said endpoint comprises a non-volatile memory medium (150) in which ? memorized, in mode? encrypted using the secret key at runtime, the random password automatically generated by the password manager (140) for a specific account, that said system comprises an authentication server (500) having a processor (505), a RAM type memory (510 ) and that the said server ? locally interconnected with a database (550) where ? the hash of a concatenated string obtained during registration of the user's account and the encrypted concatenated string containing the random password and salt generated during registration are stored; said endpoint and said server are remotely interconnected by means of an internet network and that the connection session between the endpoint and the server includes a communication channel encrypted with the TLS 1.3 protocol (600), which in the memory (510 ) of said server ? in execution a page of the service of a web portal relative to authentication (515) where a user via said endpoint with the browser (135) carries out an authentication procedure to the portal according to the method of which in FIG.2:
? inserimento (10) delle username da parte di un utente; ? insertion (10) of usernames by a user;
? trasmissione (11) dello username al detto server da parte dell?endpoint dell?utente; ? transmission (11) of the username to said server by the user?s endpoint;
? ricezione dello username e trasmissione (12) da parte del server all'utente della stringa cifrata contenente password e salt casuali associati allo username di quello specifico account; ? receipt of the username and transmission (12) by the server to the user of the encrypted string containing the password and random salts associated with the username of that specific account;
? ricezione (13) della stringa cifrata da parte dell?utente; ? reception (13) of the encrypted string by the user;
? decifrazione (14) della stringa cifrata comprendente la generazione runtime della chiave segreta per il sistema a crittografia simmetrica comprendente le seguenti fasi: ? decryption (14) of the encrypted string comprising the runtime generation of the secret key for the symmetric cryptographic system comprising the following steps:
o l'autenticazione dell'utente (800) con l'impronta digitale tramite il modulo (125); o authentication of the user (800) with a fingerprint via the module (125);
o la generazione in tempo reale di un hash (810) tramite l?algoritmo SHA-2 a 256 bit contenuto nel modulo (130) che prevede come input il risultato positivo di detta autenticazione basato su impronta digitale; o the real-time generation of a hash (810) through the 256-bit SHA-2 algorithm contained in the module (130) which provides as input the positive result of said fingerprint-based authentication;
o la derivazione di una chiave (820) tramite l?algoritmo PBKDF2 contenuto nel modulo (130) che prevede in input l?hash generato in tempo reale nella fase (810), l?inizializzazione di un seme segreto e casuale memorizzato in detto modulo (130) e l?impostazione di un numero di interazioni prestabilito pari a 1000; o the derivation of a key (820) through the PBKDF2 algorithm contained in the module (130) which provides as input the hash generated in real time in the step (810), the initialization of a secret and random seed stored in said module (130) and the setting of a pre-established number of interactions equal to 1000;
? la rilevazione (15) della password casuale rispetto al salt tramite il password manager (140) in esecuzione RAM (110); ? detecting (15) the random password with respect to the salt by the password manager (140) running RAM (110);
? la conferma della rilevazione e trasmissione (16) della conferma al server (515) da parte endpoint utente tramite browser (135); ? confirmation of the detection and transmission (16) of the confirmation to the server (515) by the user endpoint via browser (135);
? abilitazione (17) del modulo input per lo spazio utente e del modulo input precompilato da parte del server (515); ? enabling (17) the userspace input form and the pre-filled input form by the server (515);
? precompilazione automatica (18) della password e del salt casuali generati automaticamente associati allo username di quello specifico account tramite password manager (140); ? automatic prefilling (18) of the automatically generated random password and salt associated with the username of that specific account via the password manager (140);
? inserimento manuale della password utente immutabile (900) da parte dell?utente nel modulo di input definito per lo spazio utente; ? manual entry of the immutable user password (900) by the user in the input form defined for the user space;
? concatenazione (19) della detta password utente con la password e salt casuali e che eventualmente detta concatenazione comprenda anche la trasposizione; ? calcolo (19) hash stringa concatenata dall?endpoint utente; ? concatenation (19) of said user password with the random password and salt and that possibly said concatenation also includes the transposition; ? calculation (19) string hash concatenated from user endpoint;
? trasmissione (21) dell?hash stringa concatenata e/o dello username al server; ? ricezione (22) dello username e dell?hash stringa concatenata; ? transmission (21) of the concatenated string hash and/or of the username to the server; ? reception (22) of the username and the concatenated string hash;
? confronto (23) tra detta hash calcolata e l?hash stringa concatenata e precedentemente memorizzata nel server in fase di registrazione account. ? comparison (23) between said calculated hash and the concatenated string hash previously stored in the server during account registration.
Si evince chiaramente che l?utente con soli due semplici passaggi rispettivamente prima tramite l?impronta digitale (800) per generare a runtime la chiave segreta di decrittazione e successivamente per inserire la password utente (900), si propone una soluzione usabile, sicura e a basso costo consentendo all?utente di ricordare una sola password semplice ma in combinazione con la presente invenzione robusta nella protezione dell?account. Da precisare che la chiave segreta runtime non ? mai memorizzata ma viene generata sempre a runtime a partire dall?autenticazione con l?impronta digitale dell?utente e la password utente ? unica ed immutabile per tutti gli account. It is clear that the user with only two simple steps respectively first through the fingerprint (800) to generate the secret decryption key at runtime and then to enter the user password (900), proposes a usable, secure and low-cost solution. low cost by allowing the user to remember only one simple password but combined with this invention robust in account protection. To specify that the runtime secret key is not ? never stored but is always generated at runtime starting from authentication with the user's fingerprint and the user password? unique and immutable for all accounts.
Come sar? apprezzato da un esperto del ramo, aspetti della presente invenzione possono essere realizzati come un sistema, un metodo, un dispositivo o un suo uso o un prodotto di programma per computer. Di conseguenza, gli aspetti della presente invenzione possono assumere la forma di una forma di realizzazione interamente hardware, una forma di realizzazione interamente software (inclusi firmware, software residente, microcodice, ecc.) O una forma di realizzazione che combina aspetti software e hardware a cui si pu? generalmente fare riferimento qui come "circuito", "modulo" o "sistema". Inoltre, aspetti della presente invenzione possono assumere la forma di un prodotto di programma per computer incorporato in uno o pi? supporti leggibili da computer su cui ? incorporato un codice di programma utilizzabile da computer. Pu? essere utilizzata qualsiasi combinazione di uno o pi? supporti leggibili da computer. Il supporto leggibile da computer pu? essere un supporto di segnale leggibile da computer o un supporto di memorizzazione leggibile da computer. Un supporto di memorizzazione leggibile da computer pu? essere, ad esempio, ma non limitato a, un sistema, un dispositivo, un dispositivo elettronico, magnetico, ottico, elettromagnetico, a infrarossi o semiconduttore o qualsiasi combinazione adatta dei precedenti. Il codice di programma per computer per eseguire operazioni per aspetti della presente invenzione pu? essere scritto in qualsiasi combinazione di uno o pi? linguaggi di programmazione, incluso un linguaggio di programmazione orientato agli oggetti come Java ?, Smalltalk ?, C + o simili, e la programmazione procedurale convenzionale linguaggi, come il linguaggio di programmazione "C" o linguaggi di programmazione simili. Il codice del programma pu? essere eseguito interamente sul computer dell'utente, in parte sul computer dell'utente, come pacchetto software autonomo, in parte sul computer dell'utente e in parte su un computer remoto, oppure interamente sul computer o server remoto. In quest'ultimo scenario, il computer remoto pu? essere connesso al computer dell'utente tramite qualsiasi tipo di rete, inclusa una rete locale (LAN) o una rete geografica (WAN), oppure la connessione pu? essere effettuata a un computer esterno (per esempio, tramite Internet utilizzando un provider di servizi Internet). How will it be? Appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, device or use thereof, or a computer program product. Accordingly, aspects of the present invention may take the form of an all-hardware embodiment, an all-software embodiment (including firmware, resident software, microcode, etc.), or an embodiment that combines both software and hardware aspects at which can you? generally referred to herein as "circuit", "module", or "system". Additionally, aspects of the present invention may take the form of a computer program product embedded in one or more programs. computer-readable media on which ? incorporated program code that can be used by computers. Can? be used any combination of one or more? computer readable media. Can computer-readable media be a computer-readable signal carrier or a computer-readable storage carrier. A computer-readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, device, or any suitable combination of the foregoing. The computer program code for performing operations for aspects of the present invention can be written in any combination of one or more? programming languages, including an object-oriented programming language such as Java?, Smalltalk?, C+ or similar, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can run entirely on your computer, partially on your computer, as a stand-alone software package, partly on your computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to your computer over any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can? be made to an external computer (for example, over the Internet using an Internet service provider).
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT102020000029357A IT202000029357A1 (en) | 2020-12-01 | 2020-12-01 | METHOD, SYSTEM, DEVICE AND USE FOR THE PROTECTION OF A USER ACCOUNT WITH A VARIABLE PASSWORD FOR EACH ACCOUNT BUT IMMUTABLE FOR THE USER |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT102020000029357A IT202000029357A1 (en) | 2020-12-01 | 2020-12-01 | METHOD, SYSTEM, DEVICE AND USE FOR THE PROTECTION OF A USER ACCOUNT WITH A VARIABLE PASSWORD FOR EACH ACCOUNT BUT IMMUTABLE FOR THE USER |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| IT202000029357A1 true IT202000029357A1 (en) | 2022-06-01 |
Family
ID=75340027
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| IT102020000029357A IT202000029357A1 (en) | 2020-12-01 | 2020-12-01 | METHOD, SYSTEM, DEVICE AND USE FOR THE PROTECTION OF A USER ACCOUNT WITH A VARIABLE PASSWORD FOR EACH ACCOUNT BUT IMMUTABLE FOR THE USER |
Country Status (1)
| Country | Link |
|---|---|
| IT (1) | IT202000029357A1 (en) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130212385A1 (en) * | 2012-02-10 | 2013-08-15 | Microsoft Corporation | Utilization of a protected module to prevent offline dictionary attacks |
| US20150172272A1 (en) * | 2013-12-18 | 2015-06-18 | Sabaki Corporation | Distributed storage of password data |
| US20180191688A1 (en) * | 2017-01-04 | 2018-07-05 | Facebook, Inc. | Systems and methods for secure password transmission and verification |
| US10042999B2 (en) | 2013-11-25 | 2018-08-07 | Intel Corporation | Methods and apparatus to manage password security |
| CN111294201A (en) | 2018-12-06 | 2020-06-16 | 孙添平 | Cipher memory |
| US20200210565A1 (en) | 2018-12-28 | 2020-07-02 | AO Kaspersky Lab | System and method of changing the password of an account record under a threat of unlawful access to user data |
| US10805284B2 (en) | 2017-07-12 | 2020-10-13 | Logmein, Inc. | Federated login for password vault |
-
2020
- 2020-12-01 IT IT102020000029357A patent/IT202000029357A1/en unknown
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130212385A1 (en) * | 2012-02-10 | 2013-08-15 | Microsoft Corporation | Utilization of a protected module to prevent offline dictionary attacks |
| US10042999B2 (en) | 2013-11-25 | 2018-08-07 | Intel Corporation | Methods and apparatus to manage password security |
| US20150172272A1 (en) * | 2013-12-18 | 2015-06-18 | Sabaki Corporation | Distributed storage of password data |
| US20180191688A1 (en) * | 2017-01-04 | 2018-07-05 | Facebook, Inc. | Systems and methods for secure password transmission and verification |
| US10805284B2 (en) | 2017-07-12 | 2020-10-13 | Logmein, Inc. | Federated login for password vault |
| CN111294201A (en) | 2018-12-06 | 2020-06-16 | 孙添平 | Cipher memory |
| US20200210565A1 (en) | 2018-12-28 | 2020-07-02 | AO Kaspersky Lab | System and method of changing the password of an account record under a threat of unlawful access to user data |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11824991B2 (en) | Securing transactions with a blockchain network | |
| US9686080B2 (en) | System and method to provide secure credential | |
| US10574648B2 (en) | Methods and systems for user authentication | |
| Grosse et al. | Authentication at scale | |
| US9235697B2 (en) | One-time passcodes with asymmetric keys | |
| EP2248298B1 (en) | Secure and usable protection of a roamable credentials store | |
| US8397077B2 (en) | Client side authentication redirection | |
| US8479011B2 (en) | Method and apparatus for using cryptographic mechanisms to provide access to a portable device using integrated authentication using another portable device | |
| Archana et al. | Survey on usable and secure two-factor authentication | |
| US9954853B2 (en) | Network security | |
| US20150328119A1 (en) | Method of treating hair | |
| Schwarz et al. | Feido: Recoverable FIDO2 tokens using electronic ids | |
| Klevjer et al. | Extended HTTP digest access authentication | |
| WO2017093917A1 (en) | Method and system for generating a password | |
| Almeida et al. | One-Time Passwords: A Literary Review of Different Protocols and Their Applications | |
| US11151243B1 (en) | Password hopping system and method | |
| US20240169350A1 (en) | Securing transactions with a blockchain network | |
| Olanrewaju et al. | RFDA: Reliable framework for data administration based on split-merge policy | |
| Gupta et al. | Implementing high grade security in cloud application using multifactor authentication and cryptography | |
| Binu et al. | A mobile based remote user authentication scheme without verifier table for cloud based services | |
| US12417273B2 (en) | Management system and method for user authentication on password based systems | |
| IT202000029357A1 (en) | METHOD, SYSTEM, DEVICE AND USE FOR THE PROTECTION OF A USER ACCOUNT WITH A VARIABLE PASSWORD FOR EACH ACCOUNT BUT IMMUTABLE FOR THE USER | |
| Sudha et al. | A survey on different authentication schemes in cloud computing environment | |
| Keil | Social Security | |
| Pavani | A Novel Authentication Mechanism to Prevent Unauthorized Service Access for Mobile Device in Distributed Network |