реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Security Register в AT45xxxD, Уникальный ID
Itch
сообщение Dec 8 2008, 10:27
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410



Хочу использовать такую возможность как считывать Security Register из AT45 и использовать его вторую половину, которая вроде как уникальна для каждой микросхемы памяти. Проблема в том, что размер этой области - 64 байта, т.е. многовато, мне достаточно 4 байт. Какую часть этой области можно взять, первые байты или последние? Т.е. какой там вообще закон формирования этого ID? Или не париться и просто посчитать CRC32 по всем 64 байтам?
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 8 2008, 11:00
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Если не секрет, что вы потом с ними собираетесь делать? Что-то мне в голову ничего вразумительного не приходит.
Go to the top of the page
 
+Quote Post
Itch
сообщение Dec 8 2008, 11:15
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410



Уникальный ID устройства, начальный seed для random()... Много применений.
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 8 2008, 15:43
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
начальный seed для random()
Вот это уже действительно полезно. Я могу считать несколько микросхем, как будет время, результаты сообщу. Насколько я понимаю вам щас надо узнать какие байты являются младшими.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 8 2008, 15:51
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Itch @ Dec 8 2008, 13:27) *
Или не париться и просто посчитать CRC32 по всем 64 байтам?

Да. Или CRC или подобные ему контрольные суммы.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Itch
сообщение Dec 8 2008, 18:48
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410



Впринципе я и сам могу прочитать, по крайней мере 2 микрухи есть. Просто думал, что кто-то использовал уже эту вещь или видел более подробное описание этого регистра.
Go to the top of the page
 
+Quote Post
Itch
сообщение Dec 17 2008, 06:34
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410



Прочитал регистры с 2 микросхем AT45DB161D-SU.
На корпусе написано: ATMEL0726
Первые 64 байта - FFы. Так и должно быть, их сами программируем.
Дальше так (начиная с 64 байта по ходу чтения):
Код
07 06 04 0B 11 00 1F 26 00 00 35 10 FF FF 9B FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

и
07 06 04 0B 11 06 1F 26 00 00 15 10 FF FF AF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

1F 26 00 00 - очень похоже на Manufacturer & Device ID Information.
Похоже что самый оптимальный способ сгенерить ID - это пропустить 64 байта, прочитать следущие 16 байт и по ним посчитать CRC32.
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 17 2008, 10:04
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Вот что получилось у меня, микросхема та же AT45DB161D-SU
Код
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
08 05 01 16 1D 27 1F 26 00 00 1C 28 FF FF 96 FF
30 30 38 50 31 33 30 35 10 22 23 FF FF FF FF FF
3D 3D 3D 3D FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF


FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
08 05 01 14 17 28 1F 26 00 00 1C 28 FF FF 29 FF
30 30 38 50 31 33 30 35 10 32 23 FF FF FF FF FF
39 39 39 39 FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF


FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
08 05 01 14 17 28 1F 26 00 00 15 28 FF FF 29 FF
30 30 38 50 31 33 30 35 10 2B 23 FF FF FF FF FF
3B 3B 3B 3B FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF



FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
08 05 01 14 17 28 1F 26 00 00 14 28 FF FF 29 FF
30 30 38 50 31 33 30 35 10 2A 23 FF FF FF FF FF
3B 3B 3B 3B FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
У меня больше байт меняются
Go to the top of the page
 
+Quote Post
Itch
сообщение Dec 17 2008, 10:27
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410



Да, похоже все-таки правильнее по всей области считать CRC.
Странно выглядят 3B 3B 3B 3B, 3D 3D 3D 3D, с чтением все нормально?
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 17 2008, 12:16
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Не думаю что с чтением есть проблемы... Использовал свои старые функции из исходников. Девайс уже серийно продается.
Тем более у нас совпало 1F 26 00 00.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Dec 17 2008, 16:16
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Itch @ Dec 8 2008, 14:15) *
Уникальный ID устройства, начальный seed для random()... Много применений.

Выдам страшную тайну - ещё лучше для этих целей подходит CRC от непроинициализированного ОЗУ. Ещё это можно использовать как защиту от копирования. Если рассмотреть несколько включений ОДНОГО процессора, то примерно в половине битов ОЗУ ВСЕГДА будут одинаковые значения.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016