Cryptography in Embedded Systems

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following is NOT a primary application of cryptography?

  • Authenticating users or devices to a system.
  • Detecting and correcting data transmission errors. (correct)
  • Verifying the authenticity of digital messages using digital signatures.
  • Ensuring data confidentiality through encryption.

What is the primary purpose of encryption?

  • To prevent the interception of messages.
  • To ensure only authorized parties can access the message content. (correct)
  • To verify the sender's identity.
  • To detect tampering with the message during transit.

What fundamental property does a cryptographic hash function provide?

  • A fixed-length output regardless of the input message size. (correct)
  • Encryption of the message for secure transmission.
  • The ability to decrypt the hash value to retrieve the original message.
  • Generation of unique encryption keys.

Which statement is true regarding the 'one-way function' property of cryptographic hash functions?

<p>It is practically impossible to derive the original message from its hash value. (A)</p> Signup and view all the answers

Which of the following hash functions is considered insecure due to known vulnerabilities?

<p>MD5 (A)</p> Signup and view all the answers

What is a key difference between symmetric and asymmetric cryptography?

<p>Symmetric cryptography requires a secure channel for key exchange, while asymmetric cryptography does not. (C)</p> Signup and view all the answers

Which of the following is NOT a common symmetric encryption algorithm?

<p>RSA (Rivest–Shamir–Adleman) (B)</p> Signup and view all the answers

In asymmetric cryptography, what is the purpose of the private key?

<p>To decrypt messages encrypted with the corresponding public key and to create digital signatures. (D)</p> Signup and view all the answers

Which key is used by the sender to encrypt a message in asymmetric cryptography to ensure only the intended recipient can read it?

<p>The recipient's public key. (A)</p> Signup and view all the answers

What is the primary advantage of asymmetric cryptography over symmetric cryptography in terms of key distribution?

<p>One of the keys can be publicly distributed without compromising security. (A)</p> Signup and view all the answers

What is public-key authentication primarily used for?

<p>Verifying the identity of a device or user. (D)</p> Signup and view all the answers

In the context of public-key authentication, which key does the verifier use to check the signature?

<p>The entity's public key. (C)</p> Signup and view all the answers

What is a critical security consideration regarding private keys in asymmetric cryptography?

<p>Private keys must be kept secret to maintain the security of the cryptosystem. (B)</p> Signup and view all the answers

What is the primary goal of side-channel attack countermeasures?

<p>To reduce the leakage of information during cryptographic operations. (C)</p> Signup and view all the answers

How can quantum computers potentially impact asymmetric cryptography?

<p>Quantum computers can make one-way functions reversible, potentially breaking asymmetric cryptography. (A)</p> Signup and view all the answers

Why is asymmetric cryptography often combined with symmetric cryptography?

<p>To achieve both the speed of symmetric cryptography and the key distribution advantages of asymmetric cryptography. (D)</p> Signup and view all the answers

In the context of secure firmware updates, what does a digital signature of the update file primarily ensure?

<p>The integrity and authenticity of the firmware. (D)</p> Signup and view all the answers

What is the role of 'burnt fuses' in the context of secure boot?

<p>To permanently store the public key used for verifying the bootloader's signature. (C)</p> Signup and view all the answers

During a secure boot process, which key is used to sign the bootloader or kernel?

<p>The device manufacturer's private key. (D)</p> Signup and view all the answers

What is the purpose of encrypting the update file in a secure firmware update process?

<p>To protect the confidentiality of the new firmware. (D)</p> Signup and view all the answers

What is the primary function of Secure Shell (SSH) in embedded systems?

<p>To securely access a remote computer or device over a network. (C)</p> Signup and view all the answers

Which cryptographic principle is used by SSH to verify the identity of the server?

<p>Public-key authentication. (C)</p> Signup and view all the answers

How does Transport Layer Security (TLS) differ from Secure Shell (SSH)?

<p>TLS is typically used for communication between a client and a server, while SSH is used for remote access to a computer. (C)</p> Signup and view all the answers

In the context of TLS, what role does a Certificate Authority (CA) play?

<p>Verifying the authenticity of the server's public key. (C)</p> Signup and view all the answers

What is Pretty Good Privacy (PGP) primarily used for?

<p>Encrypting and signing e-mails. (C)</p> Signup and view all the answers

Which type of cryptography does PGP primarily rely on?

<p>Asymmetric cryptography. (B)</p> Signup and view all the answers

In asymmetric cryptography, what condition must be met for a verifier to trust a public key?

<p>The public key must be certified by a trusted third party or exchanged over a secure channel. (A)</p> Signup and view all the answers

In the context of unknown public keys, what is the 'chain of trust' concept used for?

<p>To verify a public key through a hierarchy of trusted certificate authorities. (C)</p> Signup and view all the answers

What is the role of Root Certificate Authorities (CAs) in the chain of trust?

<p>To be the top-level trusted entities that intermediate CAs rely on. (A)</p> Signup and view all the answers

Which of the following is NOT a recommended practice when using cryptographic APIs?

<p>Reimplementing cryptographic algorithms for better performance. (A)</p> Signup and view all the answers

Why is it important to correctly utilize cryptographic APIs instead of creating custom cryptography?

<p>Implementation errors in cryptography can lead to security vulnerabilities. (A)</p> Signup and view all the answers

Why are established implementations of cryptographic algorithms usually preferred?

<p>They are optimized and potentially implemented in hardware. (A)</p> Signup and view all the answers

Among cryptographic libraries/APIs, which one is usable as a library or as a command line tool, implementing cryptographic algorithms?

<p>OpenSSL (B)</p> Signup and view all the answers

Post-quantum cryptography aims to develop cryptographic systems that are resistant to attacks from:

<p>Quantum computers. (D)</p> Signup and view all the answers

Flashcards

What is Encryption?

Hides message content from unauthorized parties.

What are Digital Signatures?

Ensures the authenticity of a message or proves the identity of an entity.

What are Cryptographic Hash Functions?

Mathematical functions converting a message into a fixed-length hash value.

What is Symmetric Cryptography?

Encryption where the same key is used to encrypt and decrypt.

Signup and view all the flashcards

What is Asymmetric Cryptography?

Encryption where two different keys are used: one to encrypt, one to decrypt.

Signup and view all the flashcards

What is a Private Key?

A key that must be kept secret by its owner.

Signup and view all the flashcards

What is a Public Key?

Derived from the private key, shared publicly.

Signup and view all the flashcards

What can compromise Public-Key Cryptography?

Compromised if the private key is exposed or the public key isn't verified.

Signup and view all the flashcards

What are Side-Channel Attacks?

Attempts to gain secret knowledge from the physical cryptosystem implementation.

Signup and view all the flashcards

What is Secure Boot?

Restrict software run on a device, signed bootloader/kernel verified by processor.

Signup and view all the flashcards

What are Digital Signatures for Updates?

Prevents accepting malicious updates via manufacturer-signed update files.

Signup and view all the flashcards

What is Secure Shell (SSH)?

Network protocols for securely accessing a remote computer.

Signup and view all the flashcards

What is Transport Layer Security (TLS)?

Protocol for secure communication between client and server.

Signup and view all the flashcards

What is Pretty Good Privacy (PGP)?

Program for encrypting data/digital signatures.

Signup and view all the flashcards

What do Cryptographic APIs do?

A building block of security, use established libraries to avoid errors.

Signup and view all the flashcards

Describe Symmetric Encryption

Uses same key for encryption and decryption. Fast, but key exchange is challenging.

Signup and view all the flashcards

Describe Asymmetric Encryption

Uses different keys (public, private) for encryption and decryption. Slower, but simplifies key distribution.

Signup and view all the flashcards

How does SSH work?

Authenticate to verify an identity, then generate a symmetric key for communication.

Signup and view all the flashcards

How are public and private keys created?

Using multiplication of two very large prime numbers.

Signup and view all the flashcards

Study Notes

  • Lecture 12 focuses on cryptography in embedded systems for hardware platforms and programming.

Motivation for Cryptography

  • Cryptography serves as a fundamental security building block for many applications.
  • Applications of cryptography include user or device authentication to a server or other user.
  • Cryptography ensures data integrity and authenticity for documents and software.
  • Cryptography provides data confidentiality for documents and passwords.
  • Cryptographic applications are categorized into encryption and digital signatures.
  • Encryption hides the content of a message from unauthorized parties.
  • Digital signatures ensure message authenticity or prove entity identity.

Encryption

  • Encryption encodes a message so only authorized parties can access it.
  • Encryption denies message content to the interceptor, but it won't prevent interception.
  • Encryption protects sensitive information, like personal data and intellectual property.

Digital Signatures

  • Digital signatures are mathematical schemes verifying digital message authenticity.
  • Valid digital signatures provide confidence of the message's origin without alterations during transit.
  • Digital signatures are used to detect forgery or tampering in software updates, authentication, and data consistency ensuring software integrity.
  • Cryptographic authentication methods often rely on digital signatures.

Cryptographic Hash Functions

  • Functions convert a message to a fixed-length digit string (hash value).
  • The hash value is a message's digital fingerprint, making it practically impossible to derive the original message from the hash value.
  • Cryptographic hash functions make it impossible to find two different messages with the same hash value (collision resistance).
  • MD5 (Message Digest 5) is insecure but was once very common.
  • Secure Hash Algorithm (SHA) function families include SHA-1 (insecure), SHA-2 (most common like SHA-256), and SHA-3 (recently standardized).
  • Cryptographic hash functions are used in integrity verification, preprocessing for digital signatures, and password storage.

Symmetric Cryptography

  • Uses the same key to encrypt and decrypt a message.
  • The key must be known to and kept secret by both parties.
  • AES (Advanced Encryption Standard), DES (Data Encryption Standard), and Enigma are the best-known algorithms.
  • It is fast but key distribution can be challenging.

Asymmetric Cryptography

  • Encryption where two different keys are used to encrypt and decrypt a message.
  • RSA (Rivest-Shamir-Adleman) and ECC (Elliptic Curve Cryptography) are the most common algorithms.
  • Slower than symmetric cryptography but has key distribution advantages.
  • One key can be distributed publicly, and the other key never needs to leave the device where it was created.
  • Digital signatures are based on asymmetric encryption,

Private and Public Keys

  • All asymmetric cryptography concepts use two different keys: A private key and a public key derived from the private key.
  • The private key must be kept secret.
  • The public key can be shared.
  • The sender uses the recepient's public key to encrypt messages.
  • The recepient uses their own private key to decrypt messages.
  • Senders use their own private key and reciepients use sender's public key to verify the e signature.

Public-Key Authentication

  • Cryptographically verifies the identity of a device or user, proving access to a secret private key.
  • Public-key authentication is also known as challenge-response authentication.
  • Encryption and Decryption method involves Bob sending Alice a a message encrypted with Alice's public key, and Alicia decrypts the message with her private key and sends it back to Bob in the form of a hash.
  • Signature and verification involves, Bob sends alice random message and Alice signs it with her private key, Bob can then verify the signature.

Generation of Private and Public Keys

  • Generated using a key pair generator based on one-way functions.
  • A one-way function example is the multiplication of two large prime numbers; finding the two prime numbers from the result is possible but not feasible in a reasonable time.
  • The individual prime numbers are the private key, and the result is the public key which can be used for encryption.
  • This approach is used in the RSA cryptographic system.

Limits of Asymmetric Cryptography

  • Public-key cryptography can be compromised if the private key is not kept secret.
  • Algorithms are considered secure under the condition that the keys are long enough and generated from good random numbers.
  • One-way functions may become reversible with quantum computers. Quantum comptuers have not broken the foundation of asymmetric cryptography so far.
  • Slower than symmetric cryptography

Side-Channel Attacks

  • Attempts to get secret knowledge based on physical implementation of cryptosystems.
  • Examples include timing attacks, power analysis, and electromagnetic analysis.
  • Countermeasures can be taken by reducing side-channel leakage, or reducing correlation between the leakage and the secret information.

Risk by Quantum Computing

  • Makes one-way functions reversible, potentially breaking asymmetric cryptography like RSA and ECC.
  • Symmetric cryptography should not be affected by quantum computers because they aren't based one-way functions.

Combination with Symmetric Cryptography

  • Asymmetric cryptography can be used to exchange a common session-specific key, which can then be used for symmetric cryptography (like AES).
  • In one implementation, the sender generates a random symmetric key, encrypts it with the receiver's public key, and sends it to the receiver.
  • In a more complex Diffie-Hellman key exchange the sender and receiver exchange public keys, and use them to generate a common key, which is then used for symmetric cryptography.

Applications of Cryptography in Embedded Systems

  • Including Secure Boot, Secure Firmware Updates and Secure Communication

Secure Boot

  • Restricts the software that can be run on the device.
  • Used to protect private data or intellectual property and prevent unintended uses.
  • It requires a bootloader and/or a kernel to be verified by the processor before execution, based on asymmetric cryptography.
  • The bootloader/kernel is signed with a private key, and the corresponding public key is immutably stored in hte processor, and the private key is kept secret by the devicd manufacturer

Secure Firmware Updates

  • Firmware updates provide security to the end-users of electronic products and the update process should be secured from unauthorized access and the update should be signed
  • Encryption of the update files the update usually keeps information that the manufacturer keeps secret.
  • Digital signatures are used to prevent the device from accepting a malicious update, and it is signed with a private key.

Secure Communication

  • Involves a use of Secure Shell (SSH) and Transport Layer Security (TLS)

Secure Shell (SSH)

  • Network protocol for accessing a remote computer securely.
  • Used for secure remote login, command execution, and other network services.
  • Used for logging in to Linux-based devices via a network.
  • SSH is a server-client protocol based on public-key authentication and symmetric encryption.

Transport Layer Security (TLS)

  • Transport Layer Security (TLS) works similarly to SSH, but it is used for communication between a client (e.g. web browser) and a (web) server.
  • TLS is used for encrypting the data traffic, and for authentication of the server.

Pretty Good Privacy (PGP)

  • The OpenPGP standard for encryption of data and digital signatures.
  • Designed for encrypting and signing e-mails but can be used for other applications.
  • The OpenPGP standard is implemented by PGP and GNU Privacy Guard (GnuPG, free software).

Trust in Known Public Keys

  • All asymmetric cryptography applications require the verifier or sender to trusts that the public key belongs to the entity.
  • Trust can be established when humans meet, OEMs stores the key, use logs in with a password

Trust in UNknown Public Keys

  • If there is no secure channel the public key must be verified by a trusted third party
  • Few root certificate authorites in relation to authenticating the certificate path is used.

Cryptographic APIs

  • Using common cryptographic libraries is important to use security correctly and avoid introducing implementation vulnerabilities.
  • Common APIs include OpenSSL, Crypto++, and mbed TLS.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser