uC ID

Go To Last Post
20 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello everyone!
And what Fuses edit as to completely close the microcontroller for reading, debugging, programming?
eliminate any possibility of copying the project even if somehow able to circumvent Fuses i need chip ID.
Where to what address is a unique identifier chips or microcontroller at32uc3l064. Of course it has to be read-only value and not to change it in any way.
Need to link the code to only one chip to read and download at another chip, it would not work.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Atmel call them "lockbits" so search for that term in your datasheet.

 

Note however that unscrupulous facilities in the Far East offer to "break the lock" for about $500. So if your design is successful and someone is intent on getting access to your code the protection is only really worth $500.

 

Of course for the purpose of just keeping out "nosey snoopers" the lockbits will work well.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, that's about it and talk. What if hacked Fuses or LockBits. Then the code in the microcontroller must read a unique ID chip and smudge protection throughout the code in flash memory. And even if you read Flаsh memory it will not work because the other chip, this code will not work.
Well, the principle is the same as encryption PE structure in executables files in Windows x86...

 

I need information, where to what address is the ID chip, a unique number does not change the value.

 

 

In support wrote, they gave information, but can not find old emails on the site Atmel that for the design and do not understand why so made that difficult history view.
Also wrote about function does not work exp(x) and something else I can not remember the answer and did not get the support.

 

Last Edited: Tue. Feb 10, 2015 - 11:32 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

TLDR: You're doing it wrong.

 

Unless this is just an academic exercise, this seems very silly and pointless to me.

The lock bits should be able to keep most competitors out.

Using some unique ID number in each chip (requiring the main program flash to be re-encrypted for each chip before programming) doesn't seem to cut it either.

A hacker would gain access to the decrypting algorithm  + the unique ID in the chip after it has been unlocked and could therefore continue to decrypt your secret program code from that point.

If you're so worried about your code, why don't you just do it properly right away, using a dedicated crypto-chip like these from Atmel?

I'm also left wondering if you have picked the right chip for the task. AVR32 usually isn't very cost effective compared to similar ARM based offerings.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As I understand this crypto-chip eeprom slow. I microcontroller performs digital signal processing in near real-time, so I think eeprom is not useful. And I do not quite understand the mechanism of access to crypto-chip. If the hackers put a sniffer between the microcontroller and crypto-chip will be able to emulate the answer they then crypto-chip related inquiries from of microcontroller. Now, if the microcontroller has built this hardware support for encryption when communicating with the memory - I understand effective solution. And then somewhere I read that hackers easily remove the information from the memory chip simply dissolving the membrane and restoring fusible jumpers when programming. Do not know true or false rumors on the Internet and similar information.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

And AT32UC3L064 encryption is present, but I never worked with this technology. And the technology is called, if not forgotten - FlashVault.

The transition to ARM, I plan to, but I do not know what to choose the most cheap and small TQFP48 and not less than 16kb RAM

 

Last Edited: Tue. Feb 10, 2015 - 07:30 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

TViT wrote:
Well, the principle is the same as encryption PE structure in executables files in Windows x86...
That might be similar to

Atmel Corporation

Home > Products > Microcontrollers > SMART ARM-based MCUs > SAMA5 MPUs

SAMA5 ARM Cortex-A5 Microprocessors

...

SAMA5D4

http://www.atmel.com/products/microcontrollers/arm/sama5.aspx#SAMA5D4_series

...

On-the-fly encryption/decryption of code from external DDR.

Some SAMA5D3 or SAMA5D4 security features, like a complete secure boot, require a NDA with Atmel.

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

SAMA5D3 или SAMA5D4 - This is a very powerful microcontrollers.

I look at these ATSAM3S2A even bought them a long time probably 30pcs in stock

Now we need to re-learn at prices from suppliers which they now price. Many say look directly at the STM controllers

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

UC3L0 datasheet :

4.4.3.3 Secure State
                    The AVR32 can be set in a secure state, that allows a part of the code to execute in a state with
                    higher security levels. The rest of the code can not access resources reserved for this secure
                    code. Secure State is used to implement FlashVault technology. Refer to the AVR32UC Techni-
                    cal Reference Manual for details.

 

But, could not locate FlashVault in Atmel Studio on Atmel webdoc.

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I also did not find examples of the use of technology FlashVault. How to write in support of Atmel can not understand, before supporting it easier.
I do not understand chip makers what the problem is to do hardware encryption chip inside of the memory. To avoid such problems with security code, no one arose.

What do I do not know. Need Device ID to complicate life even if hackers to hack chip

Last Edited: Tue. Feb 10, 2015 - 09:50 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

From a cursory skim of the AVR32UC Technical Reference Manual there's a Secure State Enable (SSE) fuse; chapter 5 is titled "Secure State" and might be adequate for creating code.

http://www.atmel.com/devices/AT32UC3L064.aspx?tab=documents

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Most likely I will use all the possibilities. Therefore, it remains to know which houses the Device ID to each chip, to what address. To further these technologies smudge protection throughout the code.

I know nobody knows where ID is stored or recorded at which address and what size?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I remember reading something about serial numbers or ID numbers stored somewhere in or near the "factory" page in FLASH memory space. I don't think it's officially documented.
 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't think it's officially documented.

You sure? It certainly is for Xmega that have that facility. Unique numbers in the chip include the "lot number" of manufacture and even the X,Y coordinates of the particular chip on the wafer.

 

But the Harvard nature of UC3 (and Xmega and tiny/mega) surely means that as soon as the lockbits are blown (for $500) then the code is laid bare and the hacker can see whatever ID number based "protection" your code may be trying to do.

 

Now in a von Neumann chip that can execute code from RAM you can obviously keep the code encrypted in flash - pass it out to some external FPGA/CPLD/whatever to "decrypt it" and stream that back into the RAM to run decrypted code which makes breaking in far more difficult. But the Harvard requirement that the CPU can only fetch from flash means that in these chips, as soon as you break the lockbits and expose the flash contents you can determine any kind of protection mechanism that may be implemented in the code.

 

So you may have picked the wrong chip if you want something really secure.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

... UC3 can run code from RAM just fine... I have done this myself so I know it works.

 

Decrypting the code in an external chip would leave it open to "sniffing" and could be quite slow, and I don't think that's how it's done using those security chips from Atmel.

I think the idea is you have some "open" code that talks to the security chip to compute the decryption key used to decrypt the secure code into RAM before it is executed.

This relies on the fact that the security chip can't be cloned or emulated in any way presently known.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I do not believe in these crypto-chips. You can clone requests and responses between the microcontroller and crypto chip. If the principle of car alarms, car alarms even cloned without problems.

Information chip ID should be open there is nothing secret is not stored.

 

I can not understand how to work with FlashVault.

Where to find the address of the function and the data that needs to be closed for access to the .map file after compilation? Or use the directive when compiling the code with a tight coupling function to a specific address space?

Does anyone have a simple source code?
Or just give all the memory from 0x0 to 0xFFFF and close all memory?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Now in a von Neumann chip that can execute code from RAM you can obviously keep the code encrypted in flash - pass it out to some external FPGA/CPLD/whatever to "decrypt it" and stream that back into the RAM to run decrypted code which makes breaking in far more difficult.
FPGA creators are VERY keen on securing the customer's bit stream(s) because the source code (VHDL, Verilog, etc.) is so difficult to create.

IIRC, there's an FPGA app note describing how to implement secure boot using SPI or QSPI from an FPGA; some of the Cortex MCUs can execute code from QSPI.

Some FPGAS have a System-on-Chip (SoC) capability; a common MCU/MPU core is Cortex (-M or -A) though others, including AVR, are available.

FPGAs can load from an attached SPI or QSPI flash, or, the flash is in the FPGA.

Microsemi (by Actel) has had flash FPGAs for quite sometime; Altera has added a flash FPGA to its catalog.

 

Flash FPGAs give designers more flexibility

by Tim Morin, Microsemi Corp.

January 25, 2015

http://www.embedded.com/electronics-blogs/industry-comment/4438457/Flash-FPGAs-give-designers-more-flexibility

...

... some FPGAs now include security subsystems that ensure only authorized configuration code or control programs are loaded and executed – this process is referred to as “secure boot.” Built-in countermeasures that prevent physical attacks such as anti-tamper and zeroization of the memory are available, and with flash-based FPGAs, keys and critical data can be kept confidential using on-chip secure flash storage.

Today’s FPGAs can include hardwired systems security blocks that perform NIST-certified AES256, SHA256 and elliptical curve cryptography algorithms to deliver real-time encryption/decryption. In addition, a random number generator and physically uncloneable function (PUF) can be included The PUF can be used to generate the private key in a public key infrastructure (PKI) scheme that only the device knows, thereby simplifying user key management and, of course, random numbers are used extensively in cryptographic protocols. Today’s security-centric SoC FPGAs can be programmed only with an authenticated, encrypted bitstream. Some designers integrate an industry-standard microcontroller and subsystem with built-in secure capabilities, as well.

 FPGA, CPLD, and ASIC solutions from Altera

MAX 10 FPGAs Overview

Home > Devices > FPGAs > MAX 10 FPGAs

http://www.altera.com/devices/fpga/max-10/max-10-index.html

...

MAX 10 FPGAs are built on TSMC’s 55 nm embedded NOR flash technology, enabling instant-on functionality.

...

... MAX 10 FPGAs also include full featured FPGA capabilities such as Nios® II soft core embedded processor support, ...

EmCraft Systems

M2S-FG484 SOM Resource Directory

Microsemi SmartFusion2 SoC

http://www.emcraft.com/products/255

Papilio FPGA Platform

http://papilio.cc/

...

Use the familiar and easy Arduino IDE to run your sketches on the Papilio. Choose from two Arduino compatible Soft Processors:

AVR8 - Clone of the AtMega103 chip with standard AVR peripherals.

ZPUino - Arduino on steroids: 100Mhz, 32-bit, 96Mhz, up to 8MB code space.

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I do not consider the FPGA to use. May be in the future. High consumption compared with microcontrollers, large excess chips, the high cost. Therefore, and considering microcontroller maximum size in the case TQFP48.

Maximum consumption - 3.3V 30mA for the 60 MHz clock frequency

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

TViT wrote:
SAMA5D3 или SAMA5D4 - This is a very powerful microcontrollers.
SAMA5D4 has ARM Trust Zone and two software packages from Atmel.

But, SAMA5D4 will challenge the PCB design (at least two more layers) and the battery (more milliamps).

TViT wrote:
I look at these ATSAM3S2A even bought them a long time probably 30pcs in stock
Hopefully sometime this year Atmel will be fully into ARM mbed and have access to another instance of TLS and associated storage encryption.

Until then, PolarSSL is in ASF for UC3 but would need to evaluate its copyright :

http://asf.atmel.com/docs/latest/search.html?search=ssl

mbed logo

Technology / mbed TLS

http://mbed.org/technology/mbed-tls/

...

ARM mbed TLS will be available for standalone use and as part of mbed OS, providing leading support for TLS and DTLS optimized for embedded devices and complements the Cryptobox technology of mbed OS that enables secure execution and storage.

...

ARM will release mbed TLS under an Apache 2.0 license toward the end of 2015.

ARM mbed

Platforms

http://developer.mbed.org/platforms/

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Another issue price and consumption. If the value of the chips will be the same, then I think everyone will gradually move to STM are at cost 32bit chip from $ 0.5