Crypto Engine; Description; Cryptographic Keys Definition; Table 12-1: Cryptographic Keys Usage And Derivation - Semtech LR1110 User Manual

Hide thumbs Also See for LR1110:
Table of Contents

Advertisement

12. Crypto Engine

12.1 Description

The Cryptographic Engine provides a dedicated hardware accelerator for AES-128 encryption based algorithms and
dedicated flash and RAM memory to handle device parameters such as encryption keys, in order to avoid unauthorized
access.
The Cryptographic Engine allows to improve the power efficiency of cryptographic operations and reduce the code size of
the software stack. Verifying the integrity of data such as the payload of the downlink is important to guarantee a secure
communication. The message integration check (MIC) uses the AES-CMAC algorithm to calculate a hash. Implementing the
MIC calculation in software jeopardizes the confidentiality of the used key. The cryptographic engine provides a hardware
implementation of the AES-CMAC to internally calculate and check the MIC.
Other more advanced AES based operations such as AES-ECB and AES-CCM need to be implemented in software based on
the AES-128 encryption algorithm. Depending on the application a higher level of security may require the use of an
external secure element.
The status of cryptographic operations can be checked by either polling the internal status register or using an interrupt
service routine.

12.2 Cryptographic Keys Definition

The cryptographic keys are arranged into several groups, according to the function they serve, as shown in
Cryptographic Keys Usage and
be derived from other keys.

Table 12-1: Cryptographic Keys Usage and Derivation

Group Name
Key SRC/Dest Index
Mother
Network
Application
LifeTimeEnc
LR1110
User Manual
Rev.1.0
UM.LR1110.W.APP
March 2020
Derivation. The table summarizes the allowed uses of the keys and if some of the keys can
Key Name
0
MotherKey0
1
MotherKey1
2
NwkKey
3
AppKey
4
JSEncKey
www.semtech.com
Usage
CryptoDeriveAndStoreKey()
CryptoDeriveAndStoreKey()
CryptoSetKey( )
CryptoProcessJoinAccept()
CryptoComputeAesCmac()
CryptoDeriveAndStoreKey()
CryptoSetKey( )
CryptoDeriveAndStoreKey()
CryptoSetKey( )
CryptoProcessJoinAccept()
(Decryption)
CryptoSetKey( )
Table 12-1:
Derivation From
Not Allowed
Not Allowed
Only from Mother
Only from Mother
From Network &
Application
105 of 130
Semtech

Advertisement

Table of Contents
loading

Table of Contents