Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Storing a secure key in an embedded devices memory

Status
Not open for further replies.

dizgah

Member level 5
Joined
Nov 8, 2009
Messages
91
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
iran-8par
Activity points
2,049
I am working on an embedded device which send/receive data and stored them in ciphertext mode(encrypted mode ). Now what's best approach for storing Keys(I used ARM CORTEX M series MCU) ?

1-Storing keys in the SRAM memory,in each booting sequence ,inject keys to the embedded MCU and store them in the SRAM memory. It is best way i think,then when MCU sense penetration(with tamper sensor or ...)it can erased SRAM quickly and reset itself. Disadvantage: if attacker success to pass tampers and access to device,how safe is SRAM memory (against code mining). I can't find any security ability for this memory in MCUs.

2-Generate keys and stored them in the flash memory in programming MCU. MCU flash memory's support CRP(code read protection) which prevent from code mining and with assist of its internal AES engine and RNG(random number generation) engine we can make a random key and encrypt flash memory and stored that random key in the OTP(one time programmable memory -a 128 bit encrypted memory),then in code execution we decode flash memory with RNG key and access to initial key and codes. Disadvantage: Keys stored in a non volatile memory ,Tampers will be useless and attacker have a lot of time to mine keys.

3-Stored key in the EEPROM memory,combination of 2 above approach,key stored in the non volatile memory but when tampers sense penetration EEPROM is erasable.

I consider LPC18S57FBD208(cortex m3 with 1MB of flash memory,180MHZ,136KB SRAM,16KB EEPROM and a TFT LCD controller which i need to drive a 7" TFT LCD and AES 128 bit crypto engine) for that is there any other better suggestion?
 

Mcu also used PCD (proximity coupling device or the card reader) for R/W RFID tags,
Connection between PCD and MCU is based on SPI,Becouse of unsecure and un-encrypted connection between them ,each attacker can sniff the connection and achieve the keys used for reading and writing to the RFID tags.
what is your suggestion for this?
WBR
 

I don't understand which security problem are you referring to with the RFID point. PCD SPI communication is carrying the same data that can be sniffed on-air. There's no encryption/decryption inside the card reader. If you are transporting e.g. secret keys here, you have a basic problem with your system architecture.

If a RFID smartcard stores secret keys, it will never disclose them to an interface.
 
  • Like
Reactions: dizgah

    dizgah

    Points: 2
    Helpful Answer Positive Rating
dear FvM ,
Thanks for response.
i am speaking about tag's access key,which enable us to read/write to/from tags blocks.
as far as i know after challenge sequences and authentication between PCD(reader) and rfid tags ,all data transaction between them will encrypted on-air,am i true ?
we must send keys and other data to the PCD from MCU by SPI for accessing tag's content,and if a man in the middle between MCU and PCD sniff SPI,then he can access to the keys,then he can access to the content of the all our tags and change their credit.
 

Many assumptions about the device operation, e.g. keys send to the PCD reader which must not be necessarily so.

Information is halfway safe inside a single, read protected chip.
 
  • Like
Reactions: dizgah

    dizgah

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top