
Раздел 5 защита и безопасность информации
Алгоритм функционирования устройства определяется в известной степени алгоритмом работы его микроконтроллера, который реализуется в виде программы на языке ассемблера.
Таким образом, встает задача защиты данной программы от считывания и дизассемблирования лицами, которые из корыстных или иных незаконных, и, следовательно, недопустимых действий захотят получить исходный листинг программ микроконтроллера.
Методы и средства обеспечения защиты программ микроконтроллеров от считывания и дизассемблирования.
Защиту прошитой микропрограммы можно рассматривать как с правовой точки зрения, так и с технической – с точки зрения предоставляемых самой структурой микроЭВМ методов защиты.
Для начала рассмотрим проблему защиты внутренней программы однокристальной микроЭВМ модуля с технической точки зрения. Решением данной задачи является возможность с недавнего времени (в достаточно современных микроЭВМ) при начальном программировании ППЗУ команд микроЭВМ установить так называемый бит защиты. Ниже рассмотрим, как это сделать на примере использующегося в настоящем проекте микроконтроллера ATmega32L.
Используемое для «прошивки» программ последовательное программирование микроконтроллера реализуется следующим образом. На вход сброса подают сигнал низкого уровня (лог. “0”). После этого по интерфейсу SPI должна быть передана команда разрешения программирования (см. таблицу 5.1.1). Отметим, что в этом режиме действует автоматическое предварительное стирание информации. Перед программированием какого-либо байта не надо стирать все содержимое ПЗУ - программируемый байт очищается сам перед записью. (Режим стирания очищает все содержимое ПЗУ). Частота SCK при программировании не должна превышать 1/40 значения частоты кварцевого резонатора. Перед выдачей команды разрешения программирования необходима задержка не менее 10 мс
Алгоритм программирования и верификации в рассматриваемом случае должен выглядеть так:
1. Подать напряжение питания. Установить вывод RST в 0. Если тактирование осуществляется внешним источником, подать тактовый сигнал (1...8 МГц) на XTAL1 и выдержать паузу 10 мс.
2. Разрешить последовательное программирование посылкой команды разрешения программирования. Частота тактирования по линии SCK должна быть не менее чем в 40 раз ниже тактовой частоты на XTAL1.
3. Программирование внутренней памяти программ производится побайтно. Для этого вначале в контроллер передается байт, в старших битах которого находятся биты старшего байта адреса, затем младший байт, после чего - байт данных. Информация о том, что должна произойти запись, содержится в двух младших битах первого переданного байта. Модифицируемый байт перед программированием автоматически стирается.
4. Верификация любого байта осуществляется командой чтения, содержащей адрес считываемой ячейки. Контроллер передает верифицируемый байт через выход MISO (P1.6).
5. После окончания программирования установить RST в 1.
6. Выключить питание.
Как видно из таблицы 16 программирование бита защиты должно производится изначально и лишь после – прошивка в ППЗУ программы. Остается добавить, что битов защиты на самом деле два – включение каждого организуется единицей в соответствующем разряде.
Итак, порядок действия следующий – четырехбайтная команда установки необходимых битов защиты, затем команда записи байта кода программы по нужному адресу – и так далее до полного программирования ППЗУ команд микроЭВМ. Таким образом, согласно заявлению разработчиков ОМЭВМ фирмы Atmel AT90S8535 делается невозможным считывание внутренней программы микроконтроллера.
Рассмотрим теперь вопрос защиты программного обеспечения микроконтроллера, а внутренняя прошивка ППЗУ является именно программой, с правовой точки зрения.
Существует Закон Российской Федерации от 23 сентября 1992 года N 3517-I о правовой охране программ для электронных вычислительных машин и баз данных. На однокристальную микроЭВМ безусловно распространяются главы этого закона, в силу очевидности факта наличия словосочетания ЭВМ (электронно-вычислительная машина) в определении микросхемы.
Приведем основные положения данного Закона.
Автору программы для ЭВМ или базы данных независимо от его имущественных прав принадлежат следующие личные права: право авторства - то есть право считаться автором программы для ЭВМ или базы данных;
Автором программы для ЭВМ или базы данных признается физическое лицо, в результате творческой деятельности которого они созданы.
Если программа для ЭВМ или база данных созданы совместной творческой деятельностью двух и более физических лиц, то независимо от того, состоит ли программа для ЭВМ или база данных из частей, каждая из которых имеет самостоятельное значение, или является неделимой, каждое из этих лиц признается автором такой программы для ЭВМ или базы данных.
В случае, если части программы для ЭВМ или базы данных имеют самостоятельное значение, каждый из авторов имеет право авторства на созданную им часть.
Авторское право на программу для ЭВМ или базу данных, впервые выпущенные в свет на территории Российской Федерации либо не выпущенные в свет, но находящиеся на ее территории в какой-либо объективной форме, действует на территории Российской Федерации. Оно признается за автором, его наследниками или иными правопреемниками автора независимо от гражданства.
Авторское право признается также за гражданами Российской Федерации, программа для ЭВМ или база данных которых выпущена в свет или находится в какой-либо объективной форме на территории иностранного государства, или за их правопреемниками.
За другими лицами авторское право на программу для ЭВМ или базу данных, впервые выпущенные в свет или находящиеся в какой-либо объективной форме на территории иностранного государства, признается в соответствии с международными договорами Российской Федерации.
Статья 18. Защита прав на программу для ЭВМ и базу данных
Автор программы для ЭВМ или базы данных и иные правообладатели вправе требовать:
признания прав;
восстановления положения, существовавшего до нарушения права, и прекращения действий, нарушающих право или создающих угрозу его нарушения;
возмещения причиненных убытков, в размер которых включается сумма доходов, неправомерно полученных нарушителем;
выплаты нарушителем компенсации в определяемой по усмотрению суда, арбитражного или третейского суда сумме от 5000-кратного до 50000-кратного установленного законом размера минимальной месячной оплаты труда в случаях нарушения с целью извлечения прибыли вместо возмещения убытков;
помимо возмещения убытков или выплаты компенсации по усмотрению суда или арбитражного суда может быть взыскан штраф в размере десяти процентов от суммы, присужденной судом или арбитражным судом в пользу истца, в доход республиканского бюджета Российской Федерации;
принятия иных, предусмотренных законодательными актами мер, связанных с защитой их прав.
За защитой своего права правообладатели могут обратиться – в суд, арбитражный или третейский суд.
Суд или арбитражный суд может вынести решение о конфискации контрафактных экземпляров программы для ЭВМ или базы данных, а также материалов и оборудования, используемых для их воспроизведения, и об их уничтожении либо о передаче их в доход республиканского бюджета Российской Федерации либо истцу по его просьбе в счет возмещения убытков.
Статья 19. Арест контрафактных экземпляров программы для ЭВМ или базы данных.
На экземпляры программы для ЭВМ или базы данных, изготовленные, воспроизведенные, распространенные, проданные, ввезенные или иным образом использованные либо предназначенные для использования в нарушение прав авторов программы для ЭВМ или базы данных и иных правообладателей, может быть наложен арест в порядке, установленном законом.
Статья 20. Иные формы ответственности.
Выпуск под своим именем чужой программы для ЭВМ или базы данных либо незаконное воспроизведение или распространение таких произведений влечет за собой уголовную ответственность в соответствии с законом.
Исходя из всего вышеописанного, можно сказать, что программа для микроЭВМ является собственностью человека или группы лиц, который имеет на нее права автора и это право защищается законом в полной мере; предусмотрены формы ответственности за нарушение авторского права. Это предоставляет возможность защиты программы для микроЭВМ как собственности в судебном порядке.