11
"РЛ" - Н А Ч И Н А Ю Щ И М
&
Роман Абраш
г. Новочеркасск
E-mail: arv@radioliga.com
__________________ Начало в N81-12/2007, N91/2008
Глава 26. З ащ и та
интеллектуальной собственности
Главное в микроконтроллерном устройстве - это
программа, под управлением которой работает мик-
роконтроллер, именно ее разработка и отладка отни-
мает наибольшее количество сил и времени, именно
она представляет наибольшую ценность для разработ-
чика. Разумеется, если вы разрабатываете коммер-
ческое устройство, т.е. планируете получать прибыль
от его продажи, именно утрата программы будет наи-
большей потерей для вас.
Эту проблему предусмотрели разработчики микро-
контроллеров, снабдив их специальными системами,
предотвращающими несанкционированное считыва-
ние (и тиражирование) программ из памяти микрокон-
троллеров. Эти меры защиты интеллектуальной соб-
ственности могут быть совершенно неактуальными
для любительских конструкций, но, тем не менее, знать
о них вы должны.
В отличие от микросхем ПЗУ, данные которых все-
гда доступны для считывания, данные из памяти мик-
роконтроллера считываются только в особом режиме
функционирования, обычно подразумевающим невоз-
можность одновременного исполнения программы.
Т.е. для считывания записанных кодов из памяти про-
грамм мы должны перевести микроконтроллер в ре-
жим
программирования.
Если путем определенных
мер заставить единожды запрограммированный мик-
роконтроллер больше не переключаться в режим про-
граммирования, то считать программу станет невоз-
можно. Именно такой подход и реализован в большин-
стве микроконтроллеров для защиты от несанкциони-
рованного считывания информации.
Однако у семейства МС8-51 имеется возможность
заставить микроконтроллер выполнять программу, на-
ходящуюся и во внешнем ПЗУ, а это создает потенци-
альную возможность считывания и той программы, ко-
торая хранится во внутреннем ПЗУ микроконтролле-
ра. Как вы помните, чтобы микроконтроллер стал ис-
полнять коды из внешнего ПЗУ программ, надо подать .
на его вход ЕА низкий логический уровень. Если в про-
цессе выполнения программы изменить этот уровень
на высокий, то контроллер успешно начнет считывать
программу из внутреннего ПЗУ, т.е. при определен-
ных аппаратно-программных ухищрениях вполне мож-
но извлечь информацию из защищенной области па-
мяти микроконтроллера. Разумеется, не все так про-
сто, как я описал (ведь в мои цели не входит обучить
вас взламывать чужие системы), но, тем не менее, эта 16
возможность реально существовала. Я говорю об этом
в прошедшем времени потому, что теперь она исклю-
чена, и сделано это просто и элегантно.
Если память микроконтроллера защищена, то ко-
манда МОУС, размещенная во внешнем ПЗУ про-
грамм, не считывает значения из внутреннего ПЗУ. До-
полнительно состояние входа ЕА опрашивается и за-
поминается сразу после сброса, а все последующие
изменения его состояния не влияют на режим микро-
контроллера. Получается, что можно либо работать
только с внутренним (защищенным) ПЗУ, либо толь-
ко с внешним, но из которого нельзя обратиться к внут-
реннему. Кроме этого, имеется возможность вообще
запретить работу с внешним ПЗУ программ (т.е. со-
стояние ЕА будет игнорироваться и приниматься все-
гда равным единице).
Режимы защиты микроконтроллера устанавлива-
ются при его программировании, для чего использу-
ются возможности соответствующего программатора.
Пользуясь программатором СМрВрот, вы можете лег-
ко поэкспериментировать с режимами защиты и убе-
диться, что после активирования защиты из памяти
считываются всегда одинаковые значения. Так как в
микроконтроллере имеется еще и память данных, ко-
торая так же может содержать ценную информацию,
защищается от считывания и она. Как правило, все-
гда после того, как производится полная очистка па-
мяти микроконтроллера, снимается и установленная
защита - в чистой памяти никакого секрета нет ©.
Лично я не рекомендую устанавливать защиту в ус-
тройствах, которые вы разрабатываете для себя, т.е.
украсть программу из которых невозможно по опре-
делению. Дело в том, что порой только считывание
кодов из микроконтроллера выручает, например, если
потеряны исходные тексты программы, а повторить ус-
тройство все-таки надо. А вот во всех устройствах, пла-
нируемых для использования в “чужих” руках, защиту
рекомендую устанавливать, причем максимально воз-
можную (в некоторых микроконтроллерах семейства
МС8-51 существуют также и иные степени и способы
защиты).
Дополнительная (и более конкретная информация)
приведена в соответствующей фирменной документа-
ции'6.
Глава 27. М акроком анды
. и условная компиляция
Продолжим изучение ассемблера, как основного
инструмента начинающего программиста.
Очень часто в процессе написания программ прихо-
дится использовать однотипные участки кода, отлича-
ющиеся друг от дру^а минимально, а то и совершенно
16
http://www.atmel.co nVdyrVproducts/product_card.asp?part_id=1916
30
[) Радиолюбитель - 0 2 /2 0 0 8
предыдущая страница 30 Радиолюбитель 2008-02 читать онлайн следующая страница 32 Радиолюбитель 2008-02 читать онлайн Домой Выключить/включить текст