Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Установка пароля в SD карте
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
afftar
Всем Добрый День!
В разрабатываемой мной системе используется SD карта как хранилище журнала событий. Ввозникла необходимсоть защитить эти записи от считывания. Начал разбираться с установкой пароля на SD-ку и никак не могу совладать с нею. Спецификацую уже на изусть знаю, но никак не получается заставить ее установить пароль. Вроде все делаю правильно: посылаю команду 42, получаю ответ от карточки что она ее приняла, далее посылаю байт данных с командой установить пароль и заблокировать карту, далее длину пароля, сам пароль и 2 байта CRC. В итоге получаю в ответ от карточки 0xFF. И все((
Посему вопрос, может у кого есть рабочая функция установки пароля или может кто сталкивался?
Tahoe
А ты бы посмотрел, сначала, поддерживается ли самой картой требуемая фича. :D Я когда-то с ММС пытался сделать то же самое. Так ни одной и не нашёл, с поддержкой пароля. wink.gif

Раз спеку уже наизусть знаешь, думаю найдёшь и регистр, в котором этот битик находится. Мне сейчас не с руки лезть искать.
afftar
Если верить спецификации то все SD карты поддерживают установку пароля! Они поэтому SD(Secure Digital) и называются!!
Неужели никто с установкой пароля на SD-ки не сталкивался?? 05.gif
Tahoe
Цитата(afftar @ Oct 15 2007, 11:52) *
Если верить спецификации то все SD карты поддерживают установку пароля! Они поэтому SD(Secure Digital) и называются!!

Любопытно стало. Приведи цитату, плз, где там такое написано?
Ты не путаешь понятия, "mandatory" и "optional"?
afftar
Это из спецификации:
System Features:
• Content Protection Mechanism - Complies with highest security of SDMI standard.
• Password Protection of cards (CMD42 - LOCK_UNLOCK)
• Write Protect feature using mechanical switch
• Built-in write protection features (permanent and temporary)

4.3.6 Write Protect Management
Three write protect methods are supported in the SD Memory Card as follows:
- Mechanical write protect switch (Host responsibility only)
- Card internal write protect (Card’s responsibility)(optional)
- Password protection card lock operation.

Из спецификации следует что пароль поддерживают все карточки, а вот внутренняя защита от записи это опция! Даже незнаю где уже копать. Правда я сделал пока временную защиту от записи, но это как-то не интересно!
aaarrr
Цитата(afftar @ Oct 16 2007, 09:53) *
Это из спецификации:

Интересно, что это за документ?
У меня написано следующее (спецификация SD 1.0):
Цитата
2 System features
• Targeted for portable and stationary applications
...
• Copyrights Protection Mechanism - Complies with highest security of SDMI standard.
• Password Protection of cards (option)
Tahoe
Цитата(afftar @ Oct 16 2007, 09:53) *
Это из спецификации:
System Features:
• Content Protection Mechanism - Complies with highest security of SDMI standard.
• Password Protection of cards (CMD42 - LOCK_UNLOCK)
• Write Protect feature using mechanical switch
• Built-in write protection features (permanent and temporary)

Блин, ну ты инженер "или где"? Чем тебе может помочь список фич?

Цитата(afftar @ Oct 16 2007, 09:53) *
Из спецификации следует что пароль поддерживают все карточки, а вот внутренняя защита от записи это опция! Даже незнаю где уже копать.

Ещё раз. ГДЕ ТАКОЕ НАПИСАНО? Приведи текст. С полным указанием названия и ревизии документа, в котором ты такое вычитал.

SD-Memory Card Specifications / Part 1.
Physical Layer Specification
Version 1.0
Table 4: Commands comparison table.
Я вообще вижу упоминание CMD42 только для "Class 7" карточек, да и то - optional.

Table 8: Card Command Classes (CCCs)
Вообще, без коментариев.

Короче, ctrl+F "CMD42" и вперёд, на мины. wink.gif


И ещё. Растолкуй, плз, какая связь, между защитой от записи и защитой доступа к карточке паролем? Ты, видимо, не до конца понимаешь, для чего эти фичи. Между ними нет абсолютно ничего общего.

P.S.
Если не в лом. Буде найдёшь-таки карточку, с поддержкой Class7 - свистни, плз. Мне под старую задачу уже не надо, но в будущем однозначно пригодится.

P.P.S.
А ты, часом, не путаешь, понятия "команда поддерживается" и "фмча поддерживается"? То, что команда поддерживается, означает лишь, что она не будет отработана как "неизвестная команда". Но это вовсе не означает, что ты получишь на неё непременно положительный ответ. Ответ зависит от поддерживается или нет собсно "фича".
afftar
Написано это здесь:
SD Specifications Part 1
Physical Layer
Simplified Specification
Version 2.00
September 25, 2006

Из этой спецификации следует что ограничений на установку пароля нет и его поддерживают абсолютно все карты памяти!

Разницу между защитой доступа и защитой от записи я прекрасно понимаю! Просто под мою задачу оказалось что защита от доступа слишком избыточная вещь! Главное чтобы данные содержащиеся на карточке не могли изменяться. Это яя и сделал с использованием защиты от записи!
Tahoe
Цитата(afftar @ Oct 16 2007, 11:48) *
Написано это здесь:
SD Specifications Part 1
Physical Layer
Simplified Specification
Version 2.00
September 25, 2006

Ну дык где "здесь"? "Имя, сестра, имя" (с). Не, не так. Вот:

- А где арматурный?
- Там.
- Там.
- Ы-ы-ы... Где "там"?
(с) Джентльмены удачи

Я тебе дал конкретную ссылку на таблицу, где указано абсолютно противоположное. Ты же, ссылаешься абстрактно, на всю спеку. Где конкретно сказано?

Цитата(afftar @ Oct 16 2007, 11:48) *
Из этой спецификации следует что ограничений на установку пароля нет и его поддерживают абсолютно все карты памяти!

Хм, ограничений-то нет. Для того спеку и писали. Но ты же спрашиваешь про другое, про mandatory поддержку этой фичи в любой карте.
Любопытно, это включая карты SDIO или только память? smile.gif
aaarrr
Читаем внимательно о CMD42 на странице 48:
Цитата
This command is optional in Version 1.01 and 1.10 and mandatory from Version 2.00

Много ли Вы видели 2.0 карт?
90% представленных на рынке карт сделаны в соответствии с первой версией спецификации.
Tahoe
Цитата(aaarrr @ Oct 16 2007, 13:08) *
Читаем внимательно о CMD42 на странице 48:

Ну и...?

Это требование поддержать КОМАНДУ. Проще говоря, ответить на неё ДА/НЕТ, а не НЕИЗВЕСТНАЯ_КОМАНДА.
Где сказано, что ФИЧА обязательна? Где сказано, что все карты ОБЯЗАНЫ поддерживать Class7 ?
aaarrr
Цитата(Tahoe @ Oct 16 2007, 13:52) *
Это требование поддержать КОМАНДУ. Проще говоря, ответить на неё ДА/НЕТ, а не НЕИЗВЕСТНАЯ_КОМАНДА.
Где сказано, что ФИЧА обязательна? Где сказано, что все карты ОБЯЗАНЫ поддерживать Class7

А где написано, что фича чтения обязательна?
В спецификации 2.0 Class 7 - это mandratory required class.
Цитата
Class 0, 2, 4, 5, 7 and 8 are mandatory and shall be supported by all SD Memory Cards.
Tahoe
Цитата(aaarrr @ Oct 16 2007, 14:18) *
В спецификации 2.0 Class 7 - это mandratory required class.

Не так выразился. Да, класс КОМАНД - обязателен. Но ФИЧА тут всё одно ни причём.

Цитата(aaarrr @ Oct 16 2007, 14:18) *
А где написано, что фича чтения обязательна?

Понятно, переходим на аргументацию "всё г*вно, кроме мочи"(с).
Вот только чем это поможет сабжевый вопрос прояснить? :-/

P.S.
А ты сам вообще сабжем занимался? Или только корки готовые в проект подпихивал?

P.P.S.
Насчёт чтения. Чтение тоже разное бывает. И карты НЕ ОБЯЗАНЫ поддерживать ВСЕ режимы чтения.
aaarrr
Цитата(Tahoe @ Oct 16 2007, 14:41) *
...

Судя по эмоциональному накалу ответа, аргументы кончились как раз у вас.
Tahoe
Цитата(aaarrr @ Oct 16 2007, 15:00) *
Судя по эмоциональному накалу ответа, аргументы кончились как раз у вас.

Коль по делу сказать нечего, апеллируем к эмоциям? :-/
AlexandrY
Плохо однако читаете по английски biggrin.gif

Сказано же, что данные идти должны после 42-й комады блоком в 512 байт по умолчанию.

Протестировал все карты что есть под рукой. Apacer 1GB 60x, Apacer 512 MB 60x, Noname 1GB 75x
Все поддерживают класс 7 и security protocol 2.0


Цитата(afftar @ Oct 11 2007, 17:36) *
Всем Добрый День!
В разрабатываемой мной системе используется SD карта как хранилище журнала событий. Ввозникла необходимсоть защитить эти записи от считывания. Начал разбираться с установкой пароля на SD-ку и никак не могу совладать с нею. Спецификацую уже на изусть знаю, но никак не получается заставить ее установить пароль. Вроде все делаю правильно: посылаю команду 42, получаю ответ от карточки что она ее приняла, далее посылаю байт данных с командой установить пароль и заблокировать карту, далее длину пароля, сам пароль и 2 байта CRC. В итоге получаю в ответ от карточки 0xFF. И все((
Посему вопрос, может у кого есть рабочая функция установки пароля или может кто сталкивался?
Tahoe
Цитата(AlexandrY @ Oct 16 2007, 19:17) *
Протестировал все карты что есть под рукой. Apacer 1GB 60x, Apacer 512 MB 60x, Noname 1GB 75x
Все поддерживают класс 7 и security protocol 2.0

Так пароль реально устанавливается или нет? Какой ответ на LOCK_UNLOCK приходит?
Или это просто сведения, считаные из CSD.CCC?
AlexandrY
Сведения из SCR, а установка LOCK-а проверена на всех картах.
Ответ как и положено на успешные команды = 0
R2 статус по CMD13 показывает взведенный бит Lock-a.
Так что все нормально biggrin.gif


Цитата(Tahoe @ Oct 16 2007, 19:25) *
Так пароль реально устанавливается или нет? Какой ответ на LOCK_UNLOCK приходит?
Или это просто сведения, считаные из CSD.CCC?
Tahoe
Цитата(AlexandrY @ Oct 16 2007, 23:13) *
а установка LOCK-а проверена на всех картах. Ответ как и положено на успешные команды = 0

Если не в лом:
1. Вставь любую, предварительно залоченую, карту в комп. Что говорит комп?
2. Если есть под рукой хоть одна ММС, проверь и её, на предмет лочки. Пару лет назад, я не нашёл ни одной, которая бы лочилась. sad.gif

Заранее thanks. smile.gif

Цитата(AlexandrY @ Oct 16 2007, 23:13) *
R2 статус по CMD13 показывает взведенный бит Lock-a.

Т.е. CSD.CARD_IS_LOCKED=1
А что в CSD.LOCK_UNLOCK_FAILED=?


Цитата(AlexandrY @ Oct 16 2007, 23:13) *
Сведения из SCR

Речь по SCR.SD_SECURITY ?
Я с этим не разбирался, но полагал, что security, в понимани SD, это нечто другое:
... The SD Memory Card security system uses mutual authentication and a "new cipher algorithm" to protect from illegal usage of the card content. ...
Т.е. они больше озабочены копирайтами, а'ля DRM.
AlexandrY
Explorer и Total Commander на залоченой карте тупо виснут.
Explorer через некоторое время пишет, что I/O Error и остается подвисший.

Потом беру карту отлачиваю, вставляю в комп и она читается как ни в чем не бывало.
Система на картах была FAT16.

MMC карты не юзаю. Они у нас и дороже и реже попадаются.

Цитата(Tahoe @ Oct 17 2007, 07:40) *
Если не в лом:
1. Вставь любую, предварительно залоченую, карту в комп. Что говорит комп?
2. Если есть под рукой хоть одна ММС, проверь и её, на предмет лочки. Пару лет назад, я не нашёл ни одной, которая бы лочилась. sad.gif
Tahoe
Понятно. Спасибо. beer.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.