IT201900009165A1 - ELECTRONIC DEVICE AND CORRESPONDING OPERATION PROCEDURE - Google Patents
ELECTRONIC DEVICE AND CORRESPONDING OPERATION PROCEDURE Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 11
- 238000012545 processing Methods 0.000 claims description 107
- 238000012360 testing method Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 26
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- 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
-
- 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
- H04L9/3239—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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing 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)
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)
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)
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)
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 |
-
2019
- 2019-06-17 IT IT102019000009165A patent/IT201900009165A1/en unknown
-
2020
- 2020-06-16 US US16/903,229 patent/US11487905B2/en active Active
Patent Citations (4)
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 |