Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:3
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC
Защита ПО
discolux
Добавлено 21.04.2014 16:10
0
Сообщение: 1
discolux
0

Пункты: 2838
Регистрация: 21.06.2010
Не знаю с какого боку подойти.
Разбираюсь с защитой от несанкционированного копирования SDкарты.

В imx233 прошивались ключи лочился процессор заранее шифровался образ. При старте разворачивался в рам и работал.

Как тут быть непонятно.

Могу предположить что вполне возможно зашифровать стандартными средствами линукса. HW копирование карты сделает карту идентичную этой и позволит запускать на такой же плате скопированный образ.

Наткнулся на описание HAB4 но очень уж мудрёно. Может есть какой-то способ более простой?
Спуститься к концу Подняться к началу
Персональная информация
Hoksmur
Добавлено 25.04.2014 19:48 Сообщение: 2
Hoksmur
0

Пункты: 2203
Регистрация: 20.05.2013
В досе так делали: размещали сектор вне файла, и только утилиты вроде dd могли скопировать. На дисектах ещё была возможность создать нестандартный сектор на последней дорожке, и т.п.
Более серьёзно - посмотрите в сторону чтения аппаратных идентификаторов носителя - производитель, модель, серийник вроде тоже доступен.
Спуститься к концу Подняться к началу
Персональная информация
leocat3
Добавлено 26.04.2014 08:16 Сообщение: 3
leocat3
0

Пункты: 2665
Регистрация: 04.08.2011
Если MicroSD и пр. носители, то вопрос стоит не о защите программ а о защите информации. В линукс уже есть штатное средство CryptoFS. Для "надежности" в широком смысле слова, носители форматируем как UBIFS.
Спуститься к концу Подняться к началу
Персональная информация
afilis
Добавлено 17.07.2014 16:38 Редактировалось 17.07.2014 16:42 Сообщение: 4
afilis
0

Пункты: 326
Регистрация: 17.07.2014
Цитата
Более серьёзно - посмотрите в сторону чтения аппаратных идентификаторов носителя - производитель, модель, серийник вроде тоже доступен.


Получать серийник SD карты - не лучшее решение. Могут быть китайские карты без серийника или вовсе - несколько с одинаковыми. Считаю, что лучше брать серийник процессора.
Поискал варианты его получения, везде советуют брать из /proc/cpuinfo:
Код

cat /proc/cpuinfo

Processor : ARMv7 Processor rev 10 (v7l)
processor : 0
BogoMIPS : 790.52

Features : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc09
CPU revision : 10

Hardware : Starterkit i.MX 6Solo Board
Revision : 61011
Serial : 0000000000000000


оказывается не только с картами беда :)

как-то еще можно получить серийник процессора?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 17.07.2014 19:38 Редактировалось 17.07.2014 19:53 Сообщение: 5
Pavel Ivanchenko
Admin
4.39

Пункты: 92805
Регистрация: 24.03.2009
Пол: Мужчина
Читайте доку на процессор, все предусмотерно, записываете ключик в процессор (однократно программируемые fuse) и шифруете им исполняемый бинарник.
Этот механизм внедрен еще со времен imx233 ...

PS
Код
Serial : 0000000000000000
Возможно это он обасть fuse показывает ...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.07.2014 23:10 Сообщение: 6
sasamy
4.71

Пункты: 83556
Регистрация: 14.08.2009
Цитата

Возможно это он обасть fuse показывает ...


возможно убут должен передавать - надо смотреть, ревизия процессора точно через загрузчик передается - я столкнулся с этим когда свой делал и упустил этот момент - gstreamer перестает узнавать тип процессора из /proc/cpuinfo и плагин для VPU не работает. Ревизия помоему из ANATOP читается.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 18.07.2014 01:39 Редактировалось 18.07.2014 01:44 Сообщение: 7
sasamy
4.71

Пункты: 83556
Регистрация: 14.08.2009
На ядре 3.10.17 проще прочитать OTP из sysfs

# cat /sys/fsl_otp/HW_OCOTP_CFG0
0xdbc7879c
# cat /sys/fsl_otp/HW_OCOTP_CFG1
0xd2779d4

CFG0,1 - младшее и старшее слово уникального идентификатора. На 3.0.35 не знаю как сделано - надо ядро и корневую собирать, возможно точно так же. Чтение серийника есть только в старом убуте да и не вижу особого смысла убут править

http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/tree/cpu/arm_cortexa8/mx6/generic.c?h=imx_v2009.08_3.0.35_4.1.0#n1611

#ifdef CONFIG_SERIAL_TAG
void get_board_serial(struct tag_serialnr *serialnr)
{
imx_otp_read_one_u32(CPU_UID_LOW_FUSE_INDEX, &serialnr->low);
imx_otp_read_one_u32(CPU_UID_HIGH_FUSE_INDEX, &serialnr->high);
}
#endif
Спуститься к концу Подняться к началу
Персональная информация
afilis
Добавлено 21.07.2014 18:20 Сообщение: 8
afilis
0

Пункты: 326
Регистрация: 17.07.2014
Цитата
На ядре 3.10.17 проще прочитать OTP из sysfs

# cat /sys/fsl_otp/HW_OCOTP_CFG0
0xdbc7879c
# cat /sys/fsl_otp/HW_OCOTP_CFG1
0xd2779d4


Попробовал на ядре 3.0.35, все также как на 3.10.17. Спасибо за инфу!
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC