gcc-user (19.10.2005 21:19, просмотров: 1) ответил Alexeykoval на Кстати...
Думаю, надо уточнить задачу. Итак, что известно:
1) В устройстве должны быть какие-то конфиденциальные данные.
2) Эти данные не должны быть быть считаны лицом, у которого есть физический доступ к устройству (неограниченый во времени :-)).
Я правильно понял?
Что непонятно:
1) Какой объем этих конфиденциальных данных?
2) Статические ли они (т.е. изменяются они в процессе работы или записываются при производстве и не могут быть изменены).
3) Какие ресурсы нужны Вашему устройству (быстродействие, объемы памяти, ...)?
4) Какой уровень защиты данных нужен? Другими словами, какова ценность данных? Например, если потеря данных нанесет ущерб несколько тысяч баксов - это одно дело, несколько десятков миллионов - совсем другое (тут надо думать не тольно о защите устройства).
Я так понял, что если бы был микроконтроллер с внутренней RAM и FLASH достаточного объема (что бы не было обращений во вне) и с достаточной производительностью, а так же с возможностью установить бит защиты, то Ваша проблема решена. Если это так, то надо искать нужный контроллер и выбирать софт :-)
Linux (uClinux) по размеру необходимой памяти - не самый лучший вариант. Надо выбирать что-либо более "легкое" и модульное (чтобы можно было легко выкинуть все ненужное). Чтобы что-то посоветовать также необходимы дополнительные данные: какая функциональность требуется от операционной системы (поддержка каких протоколов, ...), требуются ли исходные коды, ...
Второй подход - это разделить устройство на две части - конфиденциальную и неконфиденциальную. Конфиденциальную часть реализовать на защищенном контроллере и, естественно, без линуксов winCE. В неконфиденциальной части можно использовать linux с его поддержкой сетевых протоколов... и богатым выбором приложений. Канал связи между двумя частями, естественно, должен быть неконфиденциальный (эта информация должна быть неинтересна злоумышленнику).