IT201900009165A1 - ELECTRONIC DEVICE AND CORRESPONDING OPERATION PROCEDURE - Google Patents

ELECTRONIC DEVICE AND CORRESPONDING OPERATION PROCEDURE Download PDF

Info

Publication number
IT201900009165A1
IT201900009165A1 IT102019000009165A IT201900009165A IT201900009165A1 IT 201900009165 A1 IT201900009165 A1 IT 201900009165A1 IT 102019000009165 A IT102019000009165 A IT 102019000009165A IT 201900009165 A IT201900009165 A IT 201900009165A IT 201900009165 A1 IT201900009165 A1 IT 201900009165A1
Authority
IT
Italy
Prior art keywords
data packets
comparison
processing circuit
electronic device
cryptographic
Prior art date
Application number
IT102019000009165A
Other languages
Italian (it)
Inventor
Andrea Castelnuovo
Original Assignee
St Microelectronics Srl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by St Microelectronics Srl filed Critical St Microelectronics Srl
Priority to IT102019000009165A priority Critical patent/IT201900009165A1/en
Priority to US16/903,229 priority patent/US11487905B2/en
Publication of IT201900009165A1 publication Critical patent/IT201900009165A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)

Description

DESCRIZIONE dell’invenzione industriale dal titolo: DESCRIPTION of the industrial invention entitled:

“Dispositivo elettronico e corrispondente procedimento di funzionamento” "Electronic device and corresponding operating procedure"

TESTO DELLA DESCRIZIONE TEXT OF THE DESCRIPTION

Campo tecnico Technical field

La descrizione si riferisce alle tecniche per fornire sicurezza funzionale (“functional safety”) in un hardware crittografico. The description refers to the techniques for providing functional safety in cryptographic hardware.

Una o più forme di attuazione si possono riferire a un modulo di sicurezza hardware (“Hardware Security Module”, HSM) che implementa funzioni crittografiche con una robustezza migliorata contro i guasti hardware casuali, cioè, una sicurezza funzionale migliorata. One or more embodiments may refer to a hardware security module ("Hardware Security Module", HSM) that implements cryptographic functions with improved robustness against random hardware failures, that is, improved functional security.

Sfondo tecnologico Technological background

Un modulo di sicurezza hardware (HSM) è un dispositivo di calcolo che salvaguarda e gestisce chiavi digitali per una forte autenticazione e fornisce un’elaborazione crittografica. Questi moduli tradizionalmente si presentano sotto forma di schede plug-in o di dispositivi esterni che si collegano direttamente a un computer, un server di rete o qualsiasi altro dispositivo che comporta la gestione sicura (ad es., elaborazione e/o trasmissione) di dati. A hardware security module (HSM) is a computing device that safeguards and manages digital keys for strong authentication and provides cryptographic processing. These modules traditionally come in the form of plug-in cards or external devices that connect directly to a computer, network server, or any other device that involves secure management (e.g., processing and / or transmission) of data. .

I moduli di sicurezza hardware possono essere provvisti di acceleratori hardware crittografici quali motori crittografici e/o motori di hash per implementare funzioni di sicurezza (cioè, protezione di dati) quali, ad esempio, verifica dell’integrità dei messaggi, generazione e verifica di firme, verifica di password, ecc. Hardware security modules can be equipped with cryptographic hardware accelerators such as cryptographic engines and / or hash engines to implement security functions (i.e., data protection) such as, for example, verifying the integrity of messages, generating and verifying signatures , password verification, etc.

Scopo e sintesi Purpose and summary

I moduli di sicurezza hardware che forniscono funzioni di sicurezza (“security”) – cioè, funzioni relative alla protezione di dati e/o informazioni preziosi – possono non essere convenzionalmente progettati per soddisfare requisiti di sicurezza funzionale (“safety”) – cioè, requisiti riguardanti la probabilità di guasti del sistema che possono condurre a pericoli per gli utenti. Hardware security modules that provide "security" functions - that is, functions related to the protection of valuable data and / or information - may not be conventionally designed to meet "safety" requirements - that is, requirements regarding the likelihood of system failures which may lead to danger to users.

In varie applicazioni, come nel campo automobilistico, sono desiderabili moduli di sicurezza hardware (HSM) con sicurezza funzionale migliorata (ad es., conforme ad ASIL-B). In various applications, such as in the automotive field, hardware safety modules (HSMs) with improved functional safety (e.g., ASIL-B compliant) are desirable.

Uno scopo di una o più forme di attuazione è contribuire a fornire moduli di sicurezza hardware con robustezza migliorata contro i guasti hardware casuali, con un piccolo o nessun impatto sulla ridondanza dell’hardware. One purpose of one or more embodiments is to help provide hardware security modules with improved robustness against random hardware failure, with little or no impact on hardware redundancy.

Secondo una o più forme di attuazione, tale scopo può essere conseguito per mezzo di un dispositivo elettronico (ad es., un dispositivo di modulo di sicurezza hardware) avente le caratteristiche esposte nelle rivendicazioni che seguono. According to one or more embodiments, this object can be achieved by means of an electronic device (for example, a hardware safety module device) having the characteristics set out in the following claims.

Una o più forme di attuazione si possono riferire ad un corrispondente procedimento di funzionamento del dispositivo elettronico. One or more embodiments may refer to a corresponding operating method of the electronic device.

Le rivendicazioni sono una parte integrante dell’insegnamento tecnico qui fornito rispetto alle forme di attuazione. The claims are an integral part of the technical teaching provided here with respect to the embodiments.

Una o più forme di attuazione possono fornire un dispositivo elettronico in cui la sicurezza funzionale è fornita riutilizzando blocchi circuitali di elaborazione crittografica per eseguire prove (“test”) funzionali. One or more embodiments may provide an electronic device in which functional safety is provided by reusing cryptographic processing circuit blocks to perform functional tests.

Una o più forme di attuazione possono di conseguenza facilitare raggiungere i requisiti di sicurezza funzionale del settore automobilistico (ad es., conforme ad ASIL-B) nell’hardware crittografico, quali i moduli di sicurezza hardware. One or more embodiments may consequently facilitate achieving the functional safety requirements of the automotive sector (e.g., conforming to ASIL-B) in cryptographic hardware, such as hardware security modules.

Breve descrizione delle figure Brief description of the figures

Una o più forme di attuazione verranno ora descritte, solo a titolo di esempio, facendo riferimento alle figure annesse, in cui: One or more embodiments will now be described, by way of example only, with reference to the attached figures, in which:

- la Figura 1 è un diagramma a blocchi esemplificativo di un processore crittografico; Figure 1 is an exemplary block diagram of a cryptographic processor;

- la Figura 2 è un diagramma a blocchi esemplificativo di un processore crittografico con ridondanza hardware; Figure 2 is an exemplary block diagram of a cryptographic processor with hardware redundancy;

- la Figura 3 è un diagramma a blocchi esemplificativo di un dispositivo elettronico secondo forme di attuazione; e Figure 3 is an exemplary block diagram of an electronic device according to embodiments; And

- la Figura 4 è un ulteriore diagramma a blocchi esemplificativo di un dispositivo elettronico secondo forme di attuazione. Figure 4 is a further exemplary block diagram of an electronic device according to embodiments.

Descrizione dettagliata Detailed description

Nella descrizione che segue sono illustrati uno o più dettagli specifici, mirati a fornire una comprensione approfondita di esempi di forme di attuazione di questa descrizione. Le forme di attuazione si possono ottenere senza uno o più dei dettagli specifici, o con altri procedimenti, componenti, materiali, ecc. In altri casi, strutture, materiali o operazioni noti non sono illustrati o descritti nel dettaglio in modo che certi aspetti delle forme di attuazione non verranno resi poco chiari. One or more specific details are illustrated in the following description, aimed at providing a thorough understanding of examples of embodiments of this disclosure. The embodiments can be obtained without one or more of the specific details, or with other processes, components, materials, etc. In other cases, known structures, materials or operations are not illustrated or described in detail so that certain aspects of the embodiments will not be made unclear.

Il riferimento a “una forma di attuazione” nel contesto della presente descrizione è previsto per indicare che una particolare configurazione, struttura, o caratteristica descritta in relazione alla forma di attuazione è compresa in almeno una forma di attuazione. Pertanto, frasi quali “in una forma di attuazione” che possono essere presenti in uno o più punti della presente descrizione non fanno necessariamente riferimento a una stessa forma di attuazione. Inoltre, particolari conformazioni, strutture, o caratteristiche si possono combinare in qualsiasi modo adeguato in una o più forme di attuazione. Reference to "an embodiment" in the context of the present disclosure is intended to indicate that a particular configuration, structure, or feature described in relation to the embodiment is included in at least one embodiment. Therefore, phrases such as "in an embodiment" which may be present in one or more points of the present description do not necessarily refer to the same embodiment. Furthermore, particular conformations, structures, or features can be combined in any suitable way in one or more embodiments.

In tutte le figure qui annesse, parti o elementi simili sono indicati con riferimenti/numeri simili e, per brevità, una corrispondente descrizione non verrà ripetuta. In all the figures annexed hereto, similar parts or elements are indicated with similar references / numbers and, for the sake of brevity, a corresponding description will not be repeated.

I riferimenti qui utilizzati sono forniti soltanto per comodità e pertanto non definiscono la portata di protezione o l’ambito delle forme di attuazione. The references used here are provided for convenience only and therefore do not define the scope of protection or the scope of the forms of implementation.

A titolo di introduzione a una descrizione dettagliata di forme di attuazione esemplificative, si può inizialmente far riferimento alla Figura 1, che illustra un diagramma a blocchi esemplificativo di un processore crittografico 10. In alcune applicazioni come esemplificate in Figura 1, un processore crittografico 10 può essere configurato per ricevere pacchetti di dati di ingresso DPin e per elaborare i pacchetti di dati di ingresso DPin applicando a essi una certa elaborazione crittografica (ad es., una certa funzione crittografica), generando così pacchetti di dati di uscita DPout. In tal caso, possibili guasti casuali che interessano il processore 10 possono non essere rilevati, nella misura in cui non viene verificata la correttezza dei pacchetti di dati di uscita DPout. By way of introduction to a detailed description of exemplary embodiments, reference may initially be made to Figure 1, which illustrates an exemplary block diagram of a cryptographic processor 10. In some applications such as exemplified in Figure 1, a cryptographic processor 10 may be configured to receive DPin input data packets and to process DPin input data packets by applying some cryptographic processing to them (e.g., some cryptographic function), thereby generating DPout output data packets. In this case, possible random faults affecting the processor 10 may not be detected, insofar as the correctness of the output data packets DPout is not verified.

Una soluzione convenzionale per migliorare la robustezza rispetto a possibili guasti hardware (ad es., per raggiungere un certo obiettivo di sicurezza funzionale per requisiti di “Failure In Time”, FIT) è esemplificata da un processore crittografico 20 come illustrato in Figura 2, in cui un’unità di elaborazione ridondante 200’ è configurata per ricevere gli stessi pacchetti di dati di ingresso DPin e applicare ad essi la stessa elaborazione crittografica come un’unità di elaborazione principale 200. Un confronto tra i pacchetti di dati di uscita DPout generati dall’unità di elaborazione principale 200 e i pacchetti di dati di uscita DPr generati dall’unità di elaborazione ridondante 200’ è esemplificato tramite il blocco C2 in Figura 2 (implementato, ad esempio, in un microprocessore compreso nel processore crittografico 20). A conventional solution to improve robustness with respect to possible hardware failures (eg, to achieve a certain functional safety goal for "Failure In Time", FIT requirements) is exemplified by a cryptographic processor 20 as illustrated in Figure 2, in which a redundant processing unit 200 'is configured to receive the same DPin input data packets and apply the same cryptographic processing to them as a main processing unit 200. A comparison of the DPout output data packets generated by the The main processing unit 200 and the output data packets DPr generated by the redundant processing unit 200 'is exemplified by the block C2 in Figure 2 (implemented, for example, in a microprocessor included in the cryptographic processor 20).

Come risultato dell’atto di confronto C2, un indicatore o flag di errore Err può essere asserito (ad es., prodotto) se l’unità di elaborazione principale 200 e l’unità di elaborazione ridondante 200’ forniscono pacchetti di dati di uscita diversi, indicando così un possibile guasto hardware nel processore crittografico 20 (ad es., un guasto di “bit flip” o “stuck-at” nell’unità di elaborazione principale 200 o nell’unità di elaborazione ridondante 200’) e il possibile danneggiamento dei pacchetti di dati di uscita DPout. As a result of the act of comparison C2, an error flag Err may be asserted (e.g., produced) if the main processing unit 200 and the redundant processing unit 200 'provide different output data packets , thus indicating a possible hardware failure in the cryptographic processor 20 (e.g., a "bit flip" or "stuck-at" failure in the main processing unit 200 or in the redundant processing unit 200 ') and possible damage of the DPout output data packets.

I processori crittografici che implementano un hardware ridondante come esemplificato in Figura 2 possono essere vantaggiosi nel fatto che i guasti hardware possono essere rilevati con una bassa latenza, poiché l’unità di elaborazione principale 200 e l’unità di elaborazione ridondante 200’ possono funzionare in modo simultaneo (ad es., in parallelo). Tuttavia, tali soluzioni possono essere costose, nella misura in cui la robustezza è conseguita sovradimensionando il processore crittografico 20 (ad es., raddoppiando l’hardware). Cryptographic processors implementing redundant hardware as exemplified in Figure 2 can be advantageous in that hardware failures can be detected with low latency, since the main processing unit 200 and the redundant processing unit 200 'can operate in simultaneous mode (e.g., in parallel). However, such solutions can be expensive, to the extent that robustness is achieved by oversizing the cryptographic processor 20 (eg by doubling the hardware).

Altre soluzioni convenzionali per migliorare la robustezza rispetto ai guasti hardware possono comportare l’implementazione di procedimenti di controllo di ridondanza ciclica (CRC). Other conventional solutions to improve robustness with respect to hardware failures may involve the implementation of cyclic redundancy control (CRC) procedures.

Alcuni processori crittografici, quali i moduli di sicurezza hardware, possono comportare funzioni crittografiche aventi un autocontrollo di conformità intrinseco (“intrinsic self consistency check”) per scopi di sicurezza dei dati. Questo può essere il caso, ad esempio, delle transazioni sicure che comportano algoritmi di firma che mirano a rilevare possibili manipolazioni di dati da parte di terzi durante la trasmissione di dati. Some cryptographic processors, such as hardware security modules, may involve cryptographic functions that have an intrinsic self consistency check for data security purposes. This may be the case, for example, with secure transactions involving signature algorithms that aim to detect possible data manipulation by third parties during data transmission.

Una o più forme di attuazione si possono affidare a tali funzioni crittografiche per scopi di sicurezza funzionale, cioè, per il rilevamento di guasti hardware casuali. One or more embodiments may rely on such cryptographic functions for functional safety purposes, that is, for detecting random hardware failures.

Ad esempio, la Figura 3 è un diagramma a blocchi esemplificativo di un dispositivo elettronico 30 (ad es., un modulo di sicurezza hardware) secondo una o più forme di attuazione, comprendente una prima unità di elaborazione crittografica 300 configurata per eseguire una certa funzione crittografica sui pacchetti di dati di ingresso DPin ricevuti, e una seconda unità di elaborazione crittografica 302 configurata per eseguire una funzione crittografica che è l’inverso della funzione crittografica eseguita dalla prima unità di elaborazione 300. For example, Figure 3 is an exemplary block diagram of an electronic device 30 (e.g., a hardware security module) according to one or more embodiments, comprising a first cryptographic processing unit 300 configured to perform a certain function on the received DPin input data packets, and a second cryptographic processing unit 302 configured to perform a cryptographic function which is the inverse of the cryptographic function performed by the first processing unit 300.

La seconda unità di elaborazione 302 può essere configurata per ricevere in ingresso i pacchetti di dati DPout generati all’uscita della prima unità di elaborazione 300, con detti pacchetti di dati DPout che sono preferibilmente inseriti in un buffer B tra la prima unità di elaborazione 300 e la seconda unità di elaborazione 302. The second processing unit 302 can be configured to receive in input the DPout data packets generated at the output of the first processing unit 300, with said DPout data packets being preferably inserted in a buffer B between the first processing unit 300 and the second processing unit 302.

Come esemplificato in Figura 3, una sicurezza funzionale può essere implementata eseguendo un atto di confronto C3 tra i pacchetti di dati di ingresso DPin e i pacchetti di dati DPc generati all’uscita della seconda unità di elaborazione 302, cioè, i pacchetti di dati ottenuti criptando e successivamente decriptando i pacchetti di dati di ingresso DPin, che si prevede siano quindi uguali ai pacchetti di dati di ingresso DPin in assenza di guasti hardware all’interno del dispositivo elettronico 30. As exemplified in Figure 3, a functional safety can be implemented by performing a comparison act C3 between the input data packets DPin and the data packets DPc generated at the output of the second processing unit 302, i.e., the data packets obtained by encrypting and subsequently decrypting the DPin input data packets, which are then expected to be the same as the DPin input data packets in the absence of hardware failures within the electronic device 30.

In una o più forme di attuazione come esemplificate in Figura 3, si può conseguire una robustezza soddisfacente rispetto ai guasti hardware casuali, nella misura in cui la probabilità che un singolo guasto hardware casuale generi un flusso di crittazione/decrittazione valido (cioè, la probabilità di avere un guasto funzionale nella prima unità di elaborazione 300 che risulta in DPc = DPin) può essere sufficientemente bassa per soddisfare una certa copertura di sicurezza obiettivo (copertura dei guasti, “fault coverage”), ad esempio, una copertura di sicurezza uguale al 99%. In one or more embodiments as exemplified in Figure 3, satisfactory robustness with respect to random hardware failures can be achieved, insofar as the probability that a single random hardware failure generates a valid encryption / decryption flow (i.e., the probability to have a functional failure in the first processing unit 300 resulting in DPc = DPin) may be low enough to satisfy a certain objective safety coverage (fault coverage), for example, a safety coverage equal to 99%.

A seconda del livello di sicurezza funzionale ricercato, una o più forme di attuazione possono funzionare secondo schemi diversi. Nel caso in cui il livello di sicurezza sia alto, i pacchetti di dati DPout possono essere forniti all’uscita del dispositivo 30 solo dopo che l’atto C3 dia un risultato positivo (cioè, solo se DPc = DPin, con Err = 0). Nel caso di un livello di sicurezza inferiore, i pacchetti di dati DPout possono essere forniti all’uscita del dispositivo 30 immediatamente dopo che termina l’elaborazione crittografica nella prima unità crittografica 300, con un flag di errore “differito” Err che è asserito nel caso di un risultato negativo dell’atto di confronto C3 (cioè, se DPc ≠ DPin, con Err = 1) per indicare che i dati di uscita DPout forniti in precedenza possono essere danneggiati. Depending on the functional safety level sought, one or more embodiments can operate according to different schemes. In case the security level is high, DPout data packets can be supplied to the output of device 30 only after act C3 gives a positive result (i.e., only if DPc = DPin, with Err = 0) . In the case of a lower security level, the DPout data packets can be delivered to the output of device 30 immediately after the cryptographic processing in the first cryptographic unit 300 ends, with a "deferred" error flag Err which is asserted in the case of a negative result of the comparison act C3 (i.e., if DPc ≠ DPin, with Err = 1) to indicate that the DPout output data provided above may be corrupted.

Una o più forme di attuazione possono non richiedere un hardware ridondante specificamente implementato per scopi di sicurezza funzionale, nella misura in cui le unità di elaborazione (ad es., acceleratori hardware) 300 e/o 302 possono già essere presenti nel dispositivo 30 per scopi diversi (ad es., per implementare funzioni di sicurezza di dati, “data security”), e/o l’atto di confronto C3 può essere implementato tramite software in un microprocessore principale del dispositivo 30. One or more embodiments may not require redundant hardware specifically implemented for functional safety purposes, to the extent that processing units (e.g., hardware accelerators) 300 and / or 302 may already be present in device 30 for purposes different (for example, to implement data security functions), and / or the comparison act C3 can be implemented by software in a main microprocessor of the device 30.

Quindi, una o più forme di attuazione possono comportare riconfigurare un modulo di sicurezza hardware affinché funzioni come discusso in riferimento alla Figura 3 per scopi di sicurezza funzionale, senza coinvolgere un hardware dedicato. Hence, one or more embodiments may involve reconfiguring a hardware safety module to function as discussed in reference to Figure 3 for functional safety purposes, without involving dedicated hardware.

Il confronto C3 di pacchetti di dati DPin e DPc implementato tramite software può rivelarsi sofisticato e computazionalmente esigente, poiché i pacchetti di dati possono essere grandi, ad es., aventi una dimensione di alcuni megabyte (MB). Di conseguenza, confrontare detti interi pacchetti di dati può risultare in una latenza aggiuntiva così come un’occupazione di larghezza di banda di memoria. Software-implemented C3 comparison of DPin and DPc data packets can be sophisticated and computationally demanding, as data packets can be large, e.g., a few megabytes (MB) in size. Consequently, comparing said entire data packets can result in additional latency as well as an occupation of memory bandwidth.

Una o più forme di attuazione come esemplificate in Figura 4 possono ridurre lo sforzo computazionale di una procedura di sicurezza funzionale implementata in un dispositivo come descritto in precedenza. One or more embodiments as exemplified in Figure 4 can reduce the computational effort of a functional safety procedure implemented in a device as described above.

Rispetto alle forme di attuazione come esemplificate in Figura 3, le forme di attuazione come esemplificate in Figura 4 possono comportare l’utilizzo di un acceleratore hardware aggiuntivo 400 nel dispositivo 30 (ad es., nuovamente un modulo di sicurezza hardware), l’acceleratore hardware aggiuntivo 400 essendo configurato per implementare una funzione di hash. With respect to the embodiments as exemplified in Figure 3, the embodiments as exemplified in Figure 4 may involve the use of an additional hardware accelerator 400 in the device 30 (e.g., again a hardware safety module), the accelerator additional hardware 400 being configured to implement a hash function.

In particolare, un pacchetto di dati di ingresso DPin può essere fornito in parallelo (ad es., nello stesso tempo) alla prima unità di elaborazione crittografica 300 e all’acceleratore hardware di hash 400. L’acceleratore di hash 400 può generare un valore di hash HVin (ad es., un valore di hash a 256 bit) corrispondente al pacchetto di dati di ingresso DPin, il valore di hash HVin essendo opzionalmente immagazzinato in un buffer Bin. La prima unità di elaborazione 300 può generare un pacchetto di dati criptato DPout, che può essere opzionalmente immagazzinato in un buffer B, e successivamente fornito alla seconda unità di elaborazione 302 per generare un pacchetto di dati decriptato DPc. L’acceleratore di hash 400 può di conseguenza generare un valore di hash HVc (ad es., un valore di hash a 256 bit) corrispondente al pacchetto di dati decriptato DPc applicando detta funzione di hash al pacchetto di dati decriptato DPc, il valore di hash HVc essendo opzionalmente immagazzinato in un buffer Bc. In particular, a DPin input data packet can be supplied in parallel (e.g., at the same time) to the first cryptographic processing unit 300 and the hardware hash accelerator 400. The hash accelerator 400 can generate a value of hash HVin (e.g., a 256-bit hash value) corresponding to the input data packet DPin, the hash value HVin optionally being stored in a buffer Bin. The first processing unit 300 can generate an encrypted data packet DPout, which can optionally be stored in a buffer B, and subsequently supplied to the second processing unit 302 to generate a decrypted data packet DPc. The 400 hash accelerator can consequently generate an HVc hash value (e.g., a 256-bit hash value) corresponding to the decrypted data packet DPc by applying said hash function to the decrypted data packet DPc, the value of hash HVc being optionally stored in a buffer Bc.

Un atto di confronto C4 tra i valori di hash HVin e HVc può essere eseguito tramite un microprocessore del dispositivo 30 (ad es., un microprocessore principale che esegue il firmware del dispositivo 30), per generare un flag di errore Err indicante se i due valori di hash sono uguali (ad es., risultante in Err = 0) oppure no (ad es., risultante in Err = 1). An act of comparing C4 between the hash values HVin and HVc can be performed via a microprocessor of the device 30 (e.g., a main microprocessor running the firmware of the device 30), to generate an error flag Err indicating whether the two hash values are equal (e.g., resulting in Err = 0) or not (e.g., resulting in Err = 1).

Vantaggiosamente rispetto ad altre forme di attuazione, confrontare i valori di hash HVin, HVc invece di confrontare i pacchetti di dati DPin, DPc può risultare in uno sforzo computazionale inferiore, e in una latenza ridotta. Advantageously with respect to other embodiments, comparing the hash values HVin, HVc instead of comparing the data packets DPin, DPc can result in a lower computational effort, and in a reduced latency.

L’acceleratore hardware di hash 400 può essere presente nel dispositivo 30 per scopi diversi, in modo che una o più forme di attuazione possono comportare la configurazione di un modulo di sicurezza hardware 30 per riutilizzare i blocchi di acceleratore hardware 300, 302, 400 per eseguire funzioni di sicurezza funzionale in aggiunta al loro funzionamento convenzionale, senza un significativo impatto sulla progettazione hardware del dispositivo 30. The hardware hash accelerator 400 may be present in the device 30 for different purposes, so that one or more embodiments may involve configuring a hardware safety module 30 to reuse the hardware accelerator blocks 300, 302, 400 for perform functional safety functions in addition to their conventional operation, without a significant impact on the hardware design of the device 30.

In una o più forme di attuazione, il dispositivo 30 può essere quindi programmato in modo da consentire due diverse modalità di funzionamento. In one or more embodiments, the device 30 can therefore be programmed so as to allow two different operating modes.

In una prima modalità di funzionamento, il dispositivo 30 può funzionare senza implementare controlli di sicurezza funzionale, cioè, può ricevere pacchetti di dati di ingresso DPin, applicare a essi l’elaborazione crittografica, e fornire pacchetti di dati di uscita DPout. In una seconda modalità di funzionamento, il dispositivo 30 può implementare controlli di sicurezza funzionale come esemplificato in Figura 3 o 4, fornire pacchetti di dati di uscita DPout e un segnale di errore Err indicativo del fatto che il controllo di sicurezza funzionale per l’attuale pacchetto di dati di uscita DPout ha avuto successo (ad es., Err = 0) oppure no (ad es., Err = 1). In a first mode of operation, the device 30 can operate without implementing functional security controls, that is, it can receive DPin input data packets, apply cryptographic processing to them, and provide DPout output data packets. In a second mode of operation, the device 30 can implement functional safety controls as exemplified in Figure 3 or 4, provide DPout output data packets and an error signal Err indicative that the functional safety control for the current DPout output data packet was successful (e.g., Err = 0) or failed (e.g., Err = 1).

Una o più forme di attuazione possono in aggiunta comportare controllare (ad es., periodicamente) la funzionalità della seconda unità di elaborazione crittografica 302 e/o del processore di hash 400 rispetto ai cosiddetti guasti hardware “latenti” (ad es., guasti permanenti), cioè, guasti hardware che interessano l’hardware di sicurezza medesimo. Ad esempio, il controllo di guasti hardware latenti può essere eseguito ad ogni avvio del dispositivo 30. One or more embodiments may in addition involve checking (e.g., periodically) the functionality of the second cryptographic processing unit 302 and / or of the hash processor 400 with respect to so-called "latent" hardware failures (e.g., permanent failures ), that is, hardware failures affecting the security hardware itself. For example, the check for latent hardware failures can be performed each time the device 30 is started.

Ad esempio, una o più forme di attuazione possono comprendere fornire (periodicamente) all’ingresso del processore di hash 400 almeno un pacchetto di dati noto DPtest (ad es., immagazzinato in modo permanente in una memoria locale o registro nel dispositivo 30) il cui corrispondente almeno un valore di hash HVtest è noto in anticipo (precalcolato). L’uscita generata dal processore di hash 400 alla ricezione dell’almeno un pacchetto di dati noto DPtest può essere confrontata con il risultato previsto HVtest per determinare se il processore di hash 400 è interessato da un guasto. For example, one or more embodiments may comprise providing (periodically) to the input of the hash processor 400 at least one known data packet DPtest (e.g., permanently stored in a local memory or register in the device 30) the whose corresponding at least one HVtest hash value is known in advance (pre-calculated). The output generated by the hash processor 400 upon receipt of at least one known DPtest data packet can be compared with the expected HVtest result to determine if the hash processor 400 is affected by a failure.

Una o più forme di attuazione possono comprendere fornire (periodicamente) all’ingresso della seconda unità di elaborazione crittografica 302 almeno un pacchetto di dati pre-criptato DPenc (ad es., immagazzinato in modo permanente in una memoria locale o registro nel dispositivo 30) il cui corrispondente almeno un pacchetto di dati decriptato DPdec è noto in anticipo. L’uscita generata dalla seconda unità di elaborazione crittografica 302 alla ricezione dell’almeno un pacchetto di dati pre-criptato DPenc può essere confrontata con il risultato previsto DPdec per determinare se la seconda unità di elaborazione crittografica 302 è interessata da un guasto. One or more embodiments may comprise providing (periodically) at the input of the second cryptographic processing unit 302 at least one pre-encrypted data packet DPenc (e.g., permanently stored in a local memory or register in the device 30) whose corresponding at least one DPdec decrypted data packet is known in advance. The output generated by the second cryptographic processing unit 302 upon receipt of at least one pre-encrypted DPenc data packet can be compared with the expected result DPdec to determine if the second cryptographic processing unit 302 is affected by a failure.

Una o più forme di attuazione possono comprendere controllare la correttezza del caricamento di chiave nella prima e/o seconda unità di elaborazione crittografica 300, 302 fornendo configurazioni (“pattern”) di crittazione/decrittazione di ingresso predefinite. A titolo di esempio, un insieme di pacchetti di dati può essere inviato per la crittazione dopo il caricamento della chiave/delle chiavi, e il risultato di tale crittazione può essere controllato rispetto a un insieme pre-crittato di pacchetti di dati che è immagazzinato in una memoria. One or more embodiments may comprise checking the correctness of key loading into the first and / or second cryptographic processing unit 300, 302 by providing predefined input encryption / decryption patterns. As an example, a set of data packets can be sent for encryption after the key (s) have been loaded, and the result of that encryption can be checked against a pre-encrypted set of data packets that is stored in a memory.

Quindi, una o più forme di attuazione possono fornire una sicurezza funzionale a un modulo di sicurezza hardware (ad es., per realizzare moduli di sicurezza hardware automobilistici conformi ad ASIL-B) senza implementare un hardware ridondante, dedicato. Thus, one or more embodiments can provide functional safety to a hardware safety module (e.g., to build ASIL-B compliant automotive hardware safety modules) without implementing redundant, dedicated hardware.

In aggiunta, una o più forme di attuazione possono fornire una soluzione flessibile che può funzionare in modo selettivo senza procedure di sicurezza funzionale (a bassa latenza) o con procedure di sicurezza funzionale (con un piccolo aumento di latenza). In addition, one or more embodiments may provide a flexible solution that can function selectively without functional safety procedures (with low latency) or with functional safety procedures (with a small increase in latency).

Come qui esemplificato, un dispositivo elettronico (ad es., 30) quale un dispositivo di modulo di sicurezza hardware può comprendere: As exemplified herein, an electronic device (e.g., 30) such as a hardware safety module device may comprise:

- un primo circuito di elaborazione crittografica (ad es., 300) configurato per ricevere pacchetti di dati di ingresso (ad es., DPin) e applicare ad essi una prima elaborazione crittografica per fornire pacchetti di dati di uscita (ad es., DPout), - a first cryptographic processing circuit (e.g., 300) configured to receive input data packets (e.g., DPin) and apply a first cryptographic processing to them to provide output data packets (e.g., DPout ),

- un secondo circuito di elaborazione crittografica (ad es., 302) configurato per ricevere (ad es., B) detti pacchetti di dati di uscita, applicare ad essi una seconda elaborazione crittografica, detta seconda elaborazione crittografica essendo inversa a detta prima elaborazione crittografica, e fornire pacchetti di dati di confronto (ad es., DPc) come risultato dell’applicazione di detta seconda elaborazione crittografica a detti pacchetti di dati di uscita ricevuti, e - a second cryptographic processing circuit (e.g., 302) configured to receive (e.g., B) said output data packets, apply a second cryptographic processing to them, said second cryptographic processing being inverse to said first cryptographic processing , and providing comparison data packets (e.g., DPc) as a result of applying said second cryptographic processing to said received output data packets, and

- un circuito di elaborazione di confronto (ad es., C3; 400, C4) configurato per confrontare detti pacchetti di dati di ingresso con detti pacchetti di dati di confronto, e per produrre un segnale di errore (ad es., Err) come risultato del fatto che detti pacchetti di dati di ingresso sono diversi da detti pacchetti di dati di confronto. - a comparison processing circuit (e.g., C3; 400, C4) configured to compare said input data packets with said comparison data packets, and to produce an error signal (e.g., Err) such as result of the fact that said input data packets are different from said comparison data packets.

Come qui esemplificato, il primo circuito di elaborazione crittografica può essere accoppiato a detto circuito di elaborazione di confronto per ricevere detto segnale di errore, e può essere configurato per trasmettere detti pacchetti di dati di uscita dal dispositivo elettronico come risultato della ricezione dal circuito di elaborazione di confronto di detto segnale di errore indicativo del fatto che detti pacchetti di dati di ingresso sono uguali a detti pacchetti di dati di confronto. As exemplified herein, the first cryptographic processing circuit can be coupled to said comparison processing circuit to receive said error signal, and can be configured to transmit said output data packets from the electronic device as a result of reception from the processing circuit. comparison of said error signal indicative of the fact that said input data packets are the same as said comparison data packets.

Come qui esemplificato, il primo circuito di elaborazione crittografica può essere configurato per trasmettere detti pacchetti di dati di uscita dal dispositivo elettronico indipendentemente dal fatto che detto circuito di elaborazione di confronto produce detto segnale di errore indicativo del fatto che detti pacchetti di dati di ingresso sono diversi da detti pacchetti di dati di confronto, e il circuito di elaborazione di confronto può essere configurato per trasmettere dal dispositivo elettronico un segnale di avviso accoppiato ai pacchetti di dati di uscita trasmessi dal dispositivo elettronico come risultato del fatto che detti pacchetti di dati di ingresso sono trovati essere diversi da detti pacchetti di dati di confronto. As exemplified herein, the first cryptographic processing circuit can be configured to transmit said output data packets from the electronic device regardless of whether said comparison processing circuit produces said error signal indicative of said input data packets being other than said comparison data packets, and the comparison processing circuit may be configured to transmit from the electronic device an alert signal coupled to the output data packets transmitted by the electronic device as a result of said input data packets are found to be different from said comparison data packets.

Come qui esemplificato, il circuito di elaborazione di confronto può comprendere un microprocessore (ad es., C3) configurato per produrre detto segnale di errore come risultato del confronto a livello di bit di detti pacchetti di dati di ingresso con detti pacchetti di dati di confronto. As exemplified herein, the comparison processing circuit may comprise a microprocessor (e.g., C3) configured to produce said error signal as a result of the bit-level comparison of said input data packets with said comparison data packets. .

Come qui esemplificato, il circuito di elaborazione di confronto può comprendere un circuito di elaborazione di hash (ad es., 400) configurato per: As exemplified herein, the comparison processing circuit may comprise a hash processing circuit (e.g., 400) configured to:

- ricevere detti pacchetti di dati di ingresso e applicare ad essi un’elaborazione di funzione di hash per fornire rispettivi valori di hash di ingresso (ad es., HVin), e - receive said input data packets and apply hash function processing to them to provide respective input hash values (e.g., HVin), and

- ricevere detti pacchetti di dati di confronto e applicare ad essi un’elaborazione di funzione di hash per fornire rispettivi valori di hash di confronto (ad es., HVc), - receive said comparison data packets and apply hash function processing to them to provide respective comparison hash values (e.g., HVc),

e il circuito di elaborazione di confronto può comprendere un microprocessore (ad es., C4) configurato per confrontare detti valori di hash di ingresso con detti valori di hash di confronto per produrre detto segnale di errore. and the comparison processing circuit may comprise a microprocessor (e.g., C4) configured to compare said input hash values with said comparison hash values to produce said error signal.

Come qui esemplificato, il circuito di elaborazione di hash può essere configurato per applicare detta elaborazione di funzione di hash come elaborazione di funzione di hash crittografica. As exemplified herein, the hash processing circuit can be configured to apply said hash function processing as a cryptographic hash function processing.

Come qui esemplificato, il dispositivo elettronico può comprendere una memoria configurata per immagazzinare almeno un pacchetto di dati di test ed almeno un rispettivo valore di hash di test ottenibile applicando detta elaborazione di funzione di hash a detto almeno un pacchetto di dati di test, e il dispositivo elettronico può essere configurato per verificare il corretto funzionamento del circuito di elaborazione di hash: As exemplified herein, the electronic device may comprise a memory configured to store at least one test data packet and at least one respective test hash value obtainable by applying said hash function processing to said at least one test data packet, and the electronic device can be configured to verify the correct functioning of the hash processing circuit:

- fornendo al circuito di elaborazione di hash detto almeno un pacchetto di dati di test per produrre almeno un valore di hash di test di uscita, e - providing the said hash processing circuit with at least one test data packet to produce at least one output test hash value, and

- confrontando detto almeno un valore di hash di test di uscita con detto almeno un rispettivo valore di hash di test immagazzinato in detta memoria. - comparing said at least one output test hash value with said at least one respective test hash value stored in said memory.

Come qui esemplificato, il dispositivo elettronico può comprendere una memoria configurata per immagazzinare almeno un pacchetto di dati crittato di test e almeno un rispettivo pacchetto di dati decrittato di test ottenibile applicando detta seconda elaborazione crittografica a detto almeno un pacchetto di dati crittato di test, e il dispositivo elettronico può essere configurato per verificare il corretto funzionamento del secondo circuito di elaborazione crittografica: As exemplified herein, the electronic device may comprise a memory configured to store at least one test encrypted data packet and at least one respective test decrypted data packet obtainable by applying said second cryptographic processing to said at least one test encrypted data packet, and the electronic device can be configured to verify the correct functioning of the second cryptographic processing circuit:

- fornendo al secondo circuito di elaborazione crittografica detto almeno un pacchetto di dati crittato di test per produrre almeno un pacchetto di dati decrittato di test di uscita, e providing the second cryptographic processing circuit with said at least one test encrypted data packet to produce at least one output test decrypted data packet, and

- confrontando detto almeno un pacchetto di dati decrittato di test di uscita con detto almeno un rispettivo pacchetto di dati decrittato di test immagazzinato in detta memoria. - comparing said at least one decrypted output test data packet with said at least one respective decrypted test data packet stored in said memory.

Come qui esemplificato, un procedimento di funzionamento di un dispositivo elettronico può comprendere: As exemplified here, a method of operation of an electronic device can comprise:

- ricevere in un primo circuito di elaborazione crittografica pacchetti di dati di ingresso e applicare ad essi una prima elaborazione crittografica per fornire pacchetti di dati di uscita, - receiving input data packets in a first cryptographic processing circuit and applying a first cryptographic processing thereto to provide output data packets,

- ricevere in un secondo circuito di elaborazione crittografica detti pacchetti di dati di uscita e applicare ad essi una seconda elaborazione crittografica, detta seconda elaborazione crittografica essendo inversa a detta prima elaborazione crittografica, per fornire pacchetti di dati di confronto, - receiving said output data packets in a second cryptographic processing circuit and applying a second cryptographic processing thereto, said second cryptographic processing being inverse to said first cryptographic processing, to provide comparison data packets,

- confrontare, in un circuito di elaborazione di confronto, detti pacchetti di dati di ingresso con detti pacchetti di dati di confronto, e - comparing, in a comparison processing circuit, said input data packets with said comparison data packets, e

- produrre un segnale di errore come risultato del fatto che detti pacchetti di dati di ingresso sono diversi da detti pacchetti di dati di confronto. - producing an error signal as a result of the fact that said input data packets are different from said comparison data packets.

Senza pregiudizio per i principi sottostanti, i dettagli e forme di attuazione possono variare, anche significativamente rispetto a ciò che è stato descritto solo a titolo di esempio, senza discostarsi dalla portata di protezione. Without prejudice to the underlying principles, the details and embodiments may vary, even significantly with respect to what has been described only by way of example, without departing from the scope of protection.

La portata di protezione è definita dalle rivendicazioni annesse. The scope of protection is defined by the appended claims.

Claims (9)

RIVENDICAZIONI 1. Dispositivo elettronico (30) comprendente: - un primo circuito di elaborazione crittografica (300) configurato per ricevere pacchetti di dati di ingresso (DPin) e applicare ad essi una prima elaborazione crittografica per fornire pacchetti di dati di uscita (DPout), - un secondo circuito di elaborazione crittografica (302) configurato per ricevere (B) detti pacchetti di dati di uscita (DPout), applicare ad essi una seconda elaborazione crittografica, detta seconda elaborazione crittografica essendo inversa detta prima elaborazione crittografica, e fornire pacchetti di dati di confronto (DPc) come risultato dell’applicazione di detta seconda elaborazione crittografica a detti pacchetti di dati di uscita (DPout) ricevuti, e - un circuito di elaborazione di confronto (C3; 400, C4) configurato per confrontare detti pacchetti di dati di ingresso (DPin) con detti pacchetti di dati di confronto (DPc), e per produrre un segnale di errore (Err) come risultato del fatto che detti pacchetti di dati di ingresso (DPin) sono diversi da detti pacchetti di dati di confronto (DPc). CLAIMS 1. Electronic device (30) comprising: - a first cryptographic processing circuit (300) configured to receive input data packets (DPin) and apply to them a first cryptographic processing to provide output data packets (DPout), - a second cryptographic processing circuit (302) configured to receive (B) said output data packets (DPout), apply a second cryptographic processing to them, said second cryptographic processing being inverse of said first cryptographic processing, and supplying data packets comparison (DPc) as a result of applying said second cryptographic processing to said received output data packets (DPout), and - a comparison processing circuit (C3; 400, C4) configured to compare said input data packets (DPin) with said comparison data packets (DPc), and to produce an error signal (Err) as a result of the fact that said input data packets (DPin) are different from said comparison data packets (DPc). 2. Dispositivo elettronico (30) secondo la rivendicazione 1, in cui il primo circuito di elaborazione crittografica (300): - è accoppiato a detto circuito di elaborazione di confronto (C3; 400, C4) per ricevere detto segnale di errore (Err) dal circuito di elaborazione di confronto (C3; 400, C4), e - è configurato per trasmettere detti pacchetti di dati di uscita (DPout) dal dispositivo elettronico (30) come risultato della ricezione dal circuito di elaborazione di confronto (C3; 400, C4) di detto segnale di errore (Err) indicativo del fatto che detti pacchetti di dati di ingresso (DPin) sono uguali a detti pacchetti di dati di confronto (DPc). Electronic device (30) according to claim 1, wherein the first cryptographic processing circuit (300): - is coupled to said comparison processing circuit (C3; 400, C4) to receive said error signal (Err) from the comparison processing circuit (C3; 400, C4), and - is configured to transmit said output data packets (DPout) from the electronic device (30) as a result of receiving from the comparison processing circuit (C3; 400, C4) of said error signal (Err) indicative of the fact that said input data packets (DPin) are the same as said comparison data packets (DPc). 3. Dispositivo elettronico (30) secondo la rivendicazione 1, in cui: - il primo circuito di elaborazione crittografica (300) è configurato per trasmettere detti pacchetti di dati di uscita (DPout) dal dispositivo elettronico (30) indipendentemente dal fatto che detto circuito di elaborazione di confronto (C3; 400, C4) produce detto segnale di errore (Err) indicativo del fatto che detti pacchetti di dati di ingresso (DPin) sono diversi da detti pacchetti di dati di confronto (DPc), e - il circuito di elaborazione di confronto (C3; 400, C4) è configurato per trasmettere dal dispositivo elettronico (30) un segnale di avviso accoppiato ai pacchetti di dati di uscita (DPout) trasmessi dal dispositivo elettronico (30) come risultato del fatto che detti pacchetti di dati di ingresso (DPin) sono trovati essere diversi da detti pacchetti di dati di confronto (DPc) in detto circuito di elaborazione di confronto (C3; 400, C4). Electronic device (30) according to claim 1, wherein: - the first cryptographic processing circuit (300) is configured to transmit said output data packets (DPout) from the electronic device (30) regardless of whether said comparison processing circuit (C3; 400, C4) produces said output signal error (Err) indicative of the fact that said input data packets (DPin) are different from said comparison data packets (DPc), and - the comparison processing circuit (C3; 400, C4) is configured to transmit from the electronic device (30) a warning signal coupled to the output data packets (DPout) transmitted by the electronic device (30) as a result of the fact that said input data packets (DPin) are found to be different from said comparison data packets (DPc) in said comparison processing circuit (C3; 400, C4). 4. Dispositivo elettronico (30) secondo una qualsiasi delle rivendicazioni precedenti, in cui il circuito di elaborazione di confronto (C3; 400, C4) comprende un microprocessore (C3) configurato per produrre detto segnale di errore (Err) come risultato del confronto a livello di bit di detti pacchetti di dati di ingresso (DPin) con detti pacchetti di dati di confronto (DPc). Electronic device (30) according to any one of the preceding claims, wherein the comparison processing circuit (C3; 400, C4) comprises a microprocessor (C3) configured to produce said error signal (Err) as a result of the comparison to bit level of said input data packets (DPin) with said comparison data packets (DPc). 5. Dispositivo elettronico (30) secondo una qualsiasi delle rivendicazioni precedenti, in cui il circuito di elaborazione di confronto (C3; 400, C4) comprende un circuito di elaborazione di hash (400) configurato per: - ricevere detti pacchetti di dati di ingresso (DPin) e applicare ad essi un’elaborazione di funzione di hash per fornire rispettivi valori di hash di ingresso (HVin), e - ricevere detti pacchetti di dati di confronto (DPc) e applicare ad essi un’elaborazione di funzione di hash per fornire rispettivi valori di hash di confronto (HVc), e in cui il circuito di elaborazione di confronto (C3; 400, C4) comprende un microprocessore (C4) configurato per confrontare detti valori di hash di ingresso (HVin) con detti valori di hash di confronto (HVc) per produrre detto segnale di errore (Err). Electronic device (30) according to any one of the preceding claims, wherein the comparison processing circuit (C3; 400, C4) comprises a hash processing circuit (400) configured for: - receiving said input data packets (DPin) and applying hash function processing thereto to provide respective input hash values (HVin), and - receiving said comparison data packets (DPc) and applying to them a hash function processing to provide respective comparison hash values (HVc), and wherein the comparison processing circuit (C3; 400, C4) comprises a microprocessor (C4) configured to compare said input hash values (HVin) with said comparison hash values (HVc) to produce said error signal (Err). 6. Dispositivo elettronico (30) secondo la rivendicazione 5, in cui detto circuito di elaborazione di hash (400) è configurato per applicare detta elaborazione di funzione di hash come elaborazione di funzione di hash crittografica. Electronic device (30) according to claim 5, wherein said hash processing circuit (400) is configured to apply said hash function processing as a cryptographic hash function processing. 7. Dispositivo elettronico (30) secondo la rivendicazione 5 o rivendicazione 6, comprendente una memoria configurata per immagazzinare almeno un pacchetto di dati di test e almeno un rispettivo valore di hash di test ottenibile applicando detta elaborazione di funzione di hash a detto almeno un pacchetto di dati di test, e in cui il dispositivo elettronico (30) è configurato per: - fornire al circuito di elaborazione di hash (400) detto almeno un pacchetto di dati di test per produrre almeno un valore di hash di test di uscita, e - confrontare detto almeno un valore di hash di test di uscita con detto almeno un rispettivo valore di hash di test immagazzinato in detta memoria. Electronic device (30) according to claim 5 or claim 6, comprising a memory configured to store at least one test data packet and at least one respective test hash value obtainable by applying said hash function processing to said at least one packet of test data, and in which the electronic device (30) is configured for: - supplying said hash processing circuit (400) at least one test data packet to produce at least one output test hash value, and - comparing said at least one output test hash value with said at least one respective test hash value stored in said memory. 8. Dispositivo elettronico (30) secondo qualsiasi delle rivendicazioni precedenti, comprendente una memoria configurata per immagazzinare almeno un pacchetto di dati crittato di test e almeno un rispettivo pacchetto di dati decrittato di test ottenibile applicando detta seconda elaborazione crittografica a detto almeno un pacchetto di dati crittato di test, e in cui il dispositivo elettronico (30) è configurato per: - fornire al secondo circuito di elaborazione crittografica (302) detto almeno un pacchetto di dati crittato di test per produrre almeno un pacchetto di dati decrittato di test di uscita, e - confrontare detto almeno un pacchetto di dati decrittato di test di uscita con detto almeno un rispettivo pacchetto di dati decrittato di test immagazzinato in detta memoria. Electronic device (30) according to any of the preceding claims, comprising a memory configured to store at least one encrypted test data packet and at least one respective decrypted test data packet obtainable by applying said second cryptographic processing to said at least one data packet encrypted test, and in which the electronic device (30) is configured for: - providing the second cryptographic processing circuit (302) with said at least one test encrypted data packet to produce at least one output test decrypted data packet, and comparing said at least one decrypted output test data packet with said at least one respective decrypted test data packet stored in said memory. 9. Procedimento di funzionamento di un dispositivo elettronico secondo una qualsiasi delle rivendicazioni 1 a 8, il procedimento comprendendo: - ricevere in un primo circuito di elaborazione crittografica (300) pacchetti di dati di ingresso (DPin) e applicare ad essi una prima elaborazione crittografica per fornire pacchetti di dati di uscita (DPout), - ricevere (B) in un secondo circuito di elaborazione crittografica (302) detti pacchetti di dati di uscita (DPout) e applicare ad essi una seconda elaborazione crittografica, detta seconda elaborazione crittografica essendo inversa a detta prima elaborazione crittografica, per fornire pacchetti di dati di confronto (DPc), - confrontare, in un circuito di elaborazione di confronto (C3; 400, C4), detti pacchetti di dati di ingresso (DPin) con detti pacchetti di dati di confronto (DPc), e - produrre un segnale di errore (Err) come risultato del fatto che detti pacchetti di dati di ingresso (DPin) sono diversi da detti pacchetti di dati di confronto (DPc). Method for operating an electronic device according to any one of claims 1 to 8, the method comprising: - receiving in a first cryptographic processing circuit (300) input data packets (DPin) and applying a first cryptographic processing thereto to provide output data packets (DPout), - receiving (B) in a second cryptographic processing circuit (302) said output data packets (DPout) and applying to them a second cryptographic processing, said second cryptographic processing being inverse to said first cryptographic processing, to provide data packets comparison (DPc), - comparing, in a comparison processing circuit (C3; 400, C4), said input data packets (DPin) with said comparison data packets (DPc), and - producing an error signal (Err) as a result of the fact that said input data packets (DPin) are different from said comparison data packets (DPc).
IT102019000009165A 2019-06-17 2019-06-17 ELECTRONIC DEVICE AND CORRESPONDING OPERATION PROCEDURE IT201900009165A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
IT102019000009165A IT201900009165A1 (en) 2019-06-17 2019-06-17 ELECTRONIC DEVICE AND CORRESPONDING OPERATION PROCEDURE
US16/903,229 US11487905B2 (en) 2019-06-17 2020-06-16 Electronic device and corresponding method of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102019000009165A IT201900009165A1 (en) 2019-06-17 2019-06-17 ELECTRONIC DEVICE AND CORRESPONDING OPERATION PROCEDURE

Publications (1)

Publication Number Publication Date
IT201900009165A1 true IT201900009165A1 (en) 2020-12-17

Family

ID=68281839

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102019000009165A IT201900009165A1 (en) 2019-06-17 2019-06-17 ELECTRONIC DEVICE AND CORRESPONDING OPERATION PROCEDURE

Country Status (2)

Country Link
US (1) US11487905B2 (en)
IT (1) IT201900009165A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019127335A1 (en) * 2019-10-10 2021-04-15 Infineon Technologies Ag Generation of hash values

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219791B1 (en) * 1998-06-22 2001-04-17 Motorola, Inc. Method and apparatus for generating and verifying encrypted data packets
US6523115B1 (en) * 1998-02-18 2003-02-18 Matsushita Electric Industrial Co., Ltd. Encryption device, decryption device, encryption method, decryption method, cryptography system, computer-readable recording medium storing encryption program, and computer-readable recording medium storing decryption program which perform error diagnosis
US20060120521A1 (en) * 2004-12-08 2006-06-08 Whitehead David E System and method for optimizing error detection to detect unauthorized modification of transmitted data
CN108269610A (en) * 2018-01-18 2018-07-10 成都博睿德科技有限公司 Data reliability verifying method based on cloud computing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721413B (en) * 2015-09-08 2018-05-29 腾讯科技(深圳)有限公司 Method for processing business and device
EP3348036B1 (en) * 2015-09-10 2022-05-11 Robert Bosch GmbH Unauthorized access event notificaiton for vehicle electronic control units
EP3656081A1 (en) * 2017-07-18 2020-05-27 Legic Identsystems Ag Method and devices for communicating securely between devices
US10404454B1 (en) * 2018-04-25 2019-09-03 Blockchain Asics Llc Cryptographic ASIC for derivative key hierarchy

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523115B1 (en) * 1998-02-18 2003-02-18 Matsushita Electric Industrial Co., Ltd. Encryption device, decryption device, encryption method, decryption method, cryptography system, computer-readable recording medium storing encryption program, and computer-readable recording medium storing decryption program which perform error diagnosis
US6219791B1 (en) * 1998-06-22 2001-04-17 Motorola, Inc. Method and apparatus for generating and verifying encrypted data packets
US20060120521A1 (en) * 2004-12-08 2006-06-08 Whitehead David E System and method for optimizing error detection to detect unauthorized modification of transmitted data
CN108269610A (en) * 2018-01-18 2018-07-10 成都博睿德科技有限公司 Data reliability verifying method based on cloud computing

Also Published As

Publication number Publication date
US11487905B2 (en) 2022-11-01
US20200394338A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
US11151290B2 (en) Tamper-resistant component networks
US9323950B2 (en) Generating signatures using a secure device
US11693754B2 (en) Aggregate GHASH-based message authentication code (MAC) over multiple cachelines with incremental updates
KR101702545B1 (en) Data authentication method and apparatus thereof
EP2999156B1 (en) Device authenticity determination system and device authenticity determination method
RU2696425C1 (en) Method of two-dimensional control and data integrity assurance
US20050283601A1 (en) Systems and methods for securing a computer boot
CN108345806A (en) A kind of hardware encryption card and encryption method
US11533184B2 (en) Method and apparatus for online and offline generation of unique digital certificates
CN104216830B (en) Method and system for detecting consistency of equipment software
CN105227319A (en) A kind of method of authentication server and device
WO2018038829A1 (en) Systems and methods for authenticating firmware stored on an integrated circuit
JP7018864B2 (en) Semiconductor devices and their control methods
CN106161031B (en) Server password generation method, server password verification method and server password verification device
US20200403779A1 (en) Error resilient cryptographic units and methods
Dave et al. Sracare: Secure remote attestation with code authentication and resilience engine
US11444760B2 (en) System, method, and apparatus for obfuscating device operations
IT201900009165A1 (en) ELECTRONIC DEVICE AND CORRESPONDING OPERATION PROCEDURE
US7325165B2 (en) Instruction sequence verification to protect secured data
CN115037474B (en) USB PD protocol chip and identity authentication method
JP5436323B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
CN115208587B (en) System and method for realizing cryptographic algorithm based on cryptographic module
EP4354788A1 (en) Fault countermeasures for digital signatures with aborts
US20230119890A1 (en) Method for securely processing digital information in a secure element
CN116982039A (en) Enhanced encoded message inspection for RSA signature verification