Электронное устройство и система обработки данных
Реферат
Изобретение относится к электронному устройству обработки данных. Технический результат заключается в улучшении защиты от нежелательного доступа к памяти. Устройство содержит блок обработки (CPU), шину, запоминающее устройство (ROM, EEPROM), кодирующий блок (VE), блок сравнения (V) хранящегося секретного ключа кода (Key1, Key2) с вводимым пользователем ключевым словом (SW) и распределительное устройство (SE; MUX), позволяющее кодирование вводимых данных и декодирование введенных данных только при положительном результате сравнения. 2 c. и 6 з.п.ф-лы, 2 ил.
Изобретение относится к электронному устройству обработки данных с блоком обработки данных, например микропроцессором, по меньшей мере с одним запоминающим устройством и размещенной между запоминающим устройством и блоком обработки данных шиной. Кроме того, изобретение относится к электронной системе обработки данных с таким электронным устройством обработки данных.
Соответствующие по типу электронные устройства обработки данных часто применяют в критических для безопасности условиях применения. При этом в запоминающее устройство вводятся секретные данные, финансовые данные и данные о доступе, обрабатываемые блоком обработки данных, например, по внешнему запросу. Так как запоминающее устройство содержит информацию, к которой по возможности не должно быть доступа извне, необходимо принять меры защиты от манипулирования с электронным устройством обработки данных. Когда соответствующее по типу электронное устройство обработки данных выполнено в виде интегрированной схемы, его можно покрыть различными пассивирующими слоями. При этом пассивирующие слои накладываются так, что удаление пассивирующего слоя приводит к разрушению запоминающего устройства. Кроме того, запоминающее устройство можно погрузить в нижележащие слои интегрированной схемы так, чтобы доступ к нему был затруднен. Другая возможность защиты электронного устройства обработки данных от нежелательного манипулирования состоит в применении чувствительных элементов, которые считывают режимы работы электронного устройства обработки данных. Как только считанное чувствительным элементом значение превысит нормальное значение, начинают действовать соответствующие меры защиты, приводящие к дезактивации электронного устройства обработки данных или к очистке запоминающего устройства. Кроме того, имеются также чувствительные элементы программного обеспечения, которые контролируют работу блока обработки данных на запрещенные команды или на обращение к адресным областям, закрытым для режима работы согласно назначению. Кроме того, можно контролировать правильность последовательности доступа. Наконец, известно также, что в определенном режиме процесса можно ограничивать разрешенные обращения к памяти блока обработки данных в запоминающем устройстве особыми устройствами аппаратной части, например, размыкающимися соединительными контурами. Несмотря на вышеприведенные меры предосторожности в соответствующих по типу электронных устройствах обработки данных случайно могут быть нежелательные манипуляции. Поэтому задачей изобретения является выполнение соответствующего по типу электронного устройства и системы обработки данных, которое или которая имеет улучшенную защиту от нежелательных изменений и/или выведывания содержимого памяти. Задача решается с помощью электронного устройства обработки данных в соответствии с пп.1 и 7. Целесообразные варианты выполнения приведены в зависимых пунктах формулы изобретения. В соответствии с данными пунктами электронное устройство обработки данных имеет блок обработки данных, соединенный шиной по меньшей мере с одним запоминающим устройством. С блоком обработки данных сопряжен кодирующий блок, причем в запоминающем устройстве или в одном из них хранится секретный ключ кода и по меньшей мере все существенные для безопасности данные хранятся в запоминающем устройстве или устройствах или вводятся в них в закодированном виде. Устройство сравнения введенного секретного ключа кода с вводимым пользователем ключевым словом управляет устройством блокировки, которое управляет кодирующим блоком так, что декодирование введенных данных возможно только при положительном результате сравнения. Изобретение основано на открытии, что с помощью новых технических методов облегчается возможность манипулирования выполненными в виде интегрированных схем электронными устройствами обработки данных. Поэтому с точки зрения манипулирующего электронное устройство обработки данных в интегрированной схеме следует рассматривать уже не только как чип в его совокупности, а как состоящую из отдельных компонентов на кремниевом носителе систему, в которой можно иметь раздельный доступ к компонентам. Следовательно, имеется возможность путем наблюдения за передачей данных по шине или путем считывания запоминающего устройства сделать заключение о хранимой информации, так что манипулирование облегчается и можно иметь доступ к секретно хранимому содержимому запоминающего устройства. В соответствии с другим открытием в соответствии с изобретением многие манипуляции с электронным устройством обработки данных можно свести к тому, что удалось "перехватывать" передачу данных на шине данных так, чтобы прослеживать и нежелательно понимать прохождение программы в блоке обработки. В возможном варианте выполнения изобретения кодирующий блок выполнен таким образом, что передача данных по шине данных может быть закодирована с помощью алгоритма кодирования. Выполненный таким образом кодирующий блок имеет то преимущество, что при массовом производстве требуется меньше затрат. Однако в настоящее время кодирование с помощью алгоритма занимает очень много времени, так как оно требует больших расчетов в блоке обработки. В другом варианте выполнения изобретения кодирующий блок выполнен таким образом, что передача данных по шине данных может быть закодирована с помощью кодирования технических средств. Именно с кодированием технических средств очень простым образом осуществляется работа устройств обработки данных в соответствии с изобретением в реальном масштабе времени, а именно, как при доступе для считывания, так и для записи в запоминающее устройство. В соответствии с изобретением кодирование технических средств можно осуществлять с помощью кодирующего блока, который выполнен таким образом, что значимость каждого бита передачи данных можно селективно изменять. В этом случае появляются биты, хранимые в запоминающем устройстве как биты LOW, а в передаче данных по шине как HIGH. Это может осуществляться, например, при помощи кодирующего блока, который имеет по меньшей мере схему ИСКЛЮЧАЮЩЕЕ ИЛИ. В следующем возможном варианте выполнения изобретения кодирующий блок выполнен так, что можно селективно изменять последовательность соединения линий передачи данных шины данных. Это выражается таким образом, что отдельные линии битов шины данных как бы заменяют друг друга. Наконец, кодирование технических средств в устройстве обработки данных в соответствии с изобретением можно осуществлять также с помощью кодирующего блока, который выполнен таким образом, что передачу данных между шиной данных и блоком обработки и/или между шиной данных и запоминающим устройством можно осуществлять частично селективно с задержкой времени. Вследствие этого в шине симулируется передача данных, которая не имеет отношения к мгновенному режиму работы электронного устройства обработки данных в соответствии с изобретением. При этом существенный признак изобретения состоит в том, что кодирующий блок выполнен таким образом, что кодирование осуществляется селективно. Это означает не только то, что кодирование может осуществляться выборочно или не осуществляться. Кроме того, в соответствии с изобретением это означает также то, что может осуществляться обмен между разными ключами кода для кодирования передачи данных. В этом случае режим работы кодирующего блока имеет динамическую характеристику. В электронном устройстве обработки данных в соответствии с изобретением с меняющимися ключами кода предусмотрено, что электронные устройства обработки данных одной партии изготовления снабжены разными и индивидуальными ключами кода. Благодаря этому обеспечивается то, что даже при знании ключа кода одного электронного устройства обработки данных нельзя сделать вывод о ключах кода других электронных устройств обработки данных. Кроме того, при хранении в ROM для каждой программы используется другой ключ кода. При хранении в программируемом постоянном запоминающем устройстве, например в EEPROM или Flash, в каждое электронное устройство обработки данных можно ввести индивидуальный ключ кода. Разумеется, в запоминающее устройство должно быть введено в какой-либо форме, какие введены относящиеся к ключу кода данные в каких адресах запоминающего устройства и устройства обработки данных. В варианте изобретения предусмотрен сопряженный с кодирующим блоком регистр, в котором или в которых временно хранится секретный или секретные (n) ключи кода. Однако следует позаботиться о том, чтобы после выключения электронного устройства обработки данных этот (эти) регистр (регистры) был стерт. Регистры выполнены предпочтительно как запоминающие устройства, не сохраняющие информацию при выключении. В особенно предпочтительном варианте выполнения изобретения секретное (секретные) ключевое слово (ключевые слова) хранится в закодированной форме, причем кодирование осуществляется с помощью так называемой однонаправленной функции (one-way-function). Это представляет собой кодирование, которое не декодируется или декодируется с огромными затруднениями. На полупроводниковом чипе, на котором реализовано электронное устройство обработки данных, находится, таким образом, только кодированная форма секретного ключа кода, с помощью которой невозможно декодирование хранящихся в закодированном виде данных. Даже при очень трудоемких детальных исследованиях полупроводникового чипа невозможно получить доступ ко всей ответственной информации для неправомерного использования. Только после ввода ключевого слова пользователем, кодирования этого ключевого слова с помощью схемы однонаправленной функции в электронном устройстве обработки данных и положительного результата сравнения закодированного ключевого слова с хранимым в закодированном виде секретным числом некодированное ключевое слово записывается в регистр, не сохраняющий информацию при выключении, и находится там для декодирования и кодирования содержимого запоминающего устройства электронного устройства обработки данных с помощью кодирующего блока. После выключения электронного устройства обработки данных ключевое слово снова стирается. В другом варианте выполнения электронного устройства обработки данных для разных адресных областей используются разные ключи кода. Для этого предусмотрен дешифратор адреса, в котором хранятся соответствующие адресные области и связанные с ними кодовые регистры. Если используется несколько ключей кода, то пользователю или в системе со многими пользователями пользователям необходимо вводить несколько ключевых слов для того, чтобы иметь возможность декодирования хранимых данных. Эти ключевые слова находятся затем после получения положительного результата сравнения с хранимыми кодированными ключами в регистрах и могут выбираться из них с помощью дешифратора адресов. Целевая функция устройства обработки данных согласно изобретению возможна только в сочетании со считывающим устройством, в которое пользователь, например, с помощью клавиатуры может ввести ключевое слово. Отсюда ключевое слово передается в устройство обработки данных, установленное на плате с чипом. Изобретение поясняется ниже подробнее на примере выполнения с помощью рисунков. При этом на рисунках показано: Фиг. 1 - принципиальное изображение системы обработки данных в соответствии с изобретением и Фиг.2 - детальное изображение электронного устройства обработки данных в соответствии с изобретением. На фиг. 1 схематически показана система обработки данных со считывающим устройством LG и встроенной в нее платой с чипом СК. Но изобретение не ограничивается формой платы устройства обработки данных, а может быть реализовано также с ключами или наручными часами. Передача информации от считывающего устройства LG к плате с чипом СК может осуществляться как с контактным соединением, так и бесконтактно. Считывающее устройство LG имеет клавиатуру Т, в которую пользователь может ввести ключевое слово SW. Затем ключевое слово SW передается от считывающего устройства LG к плате с чипом СК. На плате с чипом СК установлен полупроводниковый чип, в котором реализовано устройство обработки данных в соответствии с изобретением. Устройство обработки данных имеет процессор CPU, соединенный шиной с запоминающими устройствами ROM, EEPROM. Разумеется, шиной могут быть соединены и другие необходимые или предпочтительные для работы микрокомпьютера схемы. С процессором CPU сопряжен кодирующий блок VE. В запоминающих устройствах ROM, EEPROM хранятся в кодированном виде данные, существенные для безопасности электронного устройства обработки данных. Для их обработки в процессоре CPU кодирующий блок VE должен их вначале расшифровать с помощью секретного ключа кода. Вводимые в запоминающие устройства ROM, EEPROM данные перед вводом могут кодироваться кодирующим блоком VE. Кодирующий блок VE кодирует и декодирует данные с помощью одного или нескольких секретных ключей кода Кеу1, Кеу2. Они хранятся в одном или нескольких запоминающих устройствах ROM, EEPROM. Декодирование или кодирование может производиться только после того, как пользователь введет через клавиатуру Т считывающего устройства LG ключевое слово SW и передаст его в электронное устройство обработки данных платы с чипом СК. Электронное устройство обработки данных имеет блок сравнения V, в который вводится как ключевое слово SW, так и по линии KL хранимый секретный ключ кода Кеу1, Кеу2. Только при положительном результате сравнения, то есть только тогда, когда введенное ключевое слово SW соответствует секретному коду Key1, Кеу2, ключевое слово SW по линии SWL и через распределительное устройство SE, управляемое блоком сравнения V, вводится в кодирующий блок VE. Блок сравнения V может быть реализован в виде процессора CPU. Как изображено на фиг. 2, с кодирующим блоком VE могут быть сопряжены регистры R1. . .Rj, в которые через мультиплексор MUX записывается ключевое слово или несколько ключевых слов SW, относящихся к хранимым секретным ключам кода. При этом мультиплексор управляется блоком сравнения V и представляет собой вариант распределительного устройства SE на фиг.1. В другом варианте выполнения в соответствии с изобретением при нескольких ключевых словах SW можно выбрать необходимое ключевое слово с помощью сопряженного с процессором CPU дешифратора адресов AD. Для этого в дешифратор адреса AD вводится адрес фактически адресованной процессором CPU ячейки памяти и в соответствии с хранящейся в дешифраторе адреса или еще где-либо таблицей выбирается соответствующий регистр R1...Rj. Хранящееся в выбранном регистре R1...Rj ключевое слово SW используется затем кодирующим блоком VE для кодирования или декодирования. Секретные ключи кода Кеу1, Кеу2 могут храниться и в незакодированном виде, но предпочтительно хранить их в кодированном виде. Для кодирования применяется предпочтительно так называемая однонаправленная функция (one-way-function) OWF. Такая однонаправленная функция дает тот результат, что даже при знании функции и результата входной сигнал не может быть определен или определен только путем огромных вычислений. Так как на реализующем электронное устройство обработки данных в соответствии с изобретением полупроводниковом чипе записаны только кодированная форма секретного ключа и закодированные данные, мошеннику невозможно получить первичные данные. Однонаправленная функция OWF может быть реализована также процессором CPU. Как изображено также на фиг.2, передаваемое от считывающего устройства LG ключевое слово SW вводится по реализующей однонаправленную функцию схеме OWF в блок сравнения V. Блоком сравнения V производится сравнение кодированных форм хранящегося секретного ключа кода Кеу1, Key 2 и ключевого слова SW и только в случае положительного результата сравнения некодированная форма ключевого слова SW записывается по линии SWL и через мультиплексор MUX в один из регистров R1...Rj. Как уже указывалось, регистры R1...Rj не сохраняют информацию при выключении, поэтому некодированная форма ключевого слова SW заносится в память только при разрешенном режиме работы платы с чипом СК и по окончании работы стирается. Следовательно, с помощью электронного устройства обработки данных и соответственно системы обработки данных в соответствии с изобретением можно защитить данные, хранящиеся в полупроводниковом чипе платы с чипом, от несанкционированного доступа только с помощью разрешенного декодирования и кодирования.Формула изобретения
1. Выполненное в виде интегрированной схемы электронное устройство обработки данных, содержащее (а) блок обработки (CPU), соединенный шиной по меньшей мере с одним запоминающим устройством (ROM, EEPROM), (б) сопряженный с блоком обработки (CPU) кодирующий блок (VE), (в) причем по меньшей мере один секретный ключ кода (Key1, Key2) введен в запоминающее устройство или в одно из запоминающих устройств (ROM, EEPROM), (г) и по меньшей мере все существенные для безопасности данные закодированы или кодируются в запоминающем устройстве или устройствах (ROM, EEPROM), (д) блок сравнения (V) хранящегося секретного ключа кода (Key1, Key2) с вводимым пользователем ключевым словом (SW) и (е) управляемое блоком сравнения (V), управляющее кодирующим блоком (VE) распределительное устройство (SE; MUX), позволяющее кодирование вводимых данных и декодирование введенных данных только при положительном результате сравнения, (ж) а введенное ключевое слово (SW), управляемое распределительным устройством (SE; MUX), последовательно передается в кодирующий блок (VE) для кодирования и декодирования. 2. Электронное устройство обработки данных по п.1, отличающееся тем, что запоминающее устройство для секретного ключа или ключей кода (Key1, Key2) представляет собой запоминающее устройство ROM, EEPROM, Flash или FRAM. 3. Электронное устройство обработки данных по п.1 или 2, отличающееся тем, что по меньшей мере предусмотрен относящийся к кодирующему блоку (VE) регистр (R1. . . RJ), в который или которые после положительного сравнения записан (записаны) или записывается (записываются) секретный ключ или ключи кода (Key1, Key2). 4. Электронное устройство обработки данных по одному из пп.1-3, отличающееся тем, что предусмотрена реализующая однонаправленную функцию схема (OWF), через которую ключевое слово (SW) вводится в блок сравнения (V), и что секретный ключ или ключи кода (Key1, Key2) вводятся в память в кодированной форме с помощью однонаправленной функции (OWF). 5. Электронное устройство обработки данных по одному из пп.1-4, отличающееся тем, что с кодирующим блоком (VE) сопряжен дешифратор адреса AD, который делает кодирование или декодирование данных зависимыми от адреса, сработавшего от блока обработки данных (CPU). 6. Электронное устройство обработки данных по п.5, отличающееся тем, что при нескольких секретных ключах кода (Key1, Key2) можно выбрать необходимый секретный ключ кода с помощью дешифратора адреса (AD) в зависимости от адресованной ячейки памяти. 7. Система обработки данных с устройством обработки данных по одному из предшествующих пунктов и считывающим устройством (LG) для связи с устройством обработки данных, в которое пользователь вводит ключевое слово (SW). 8. Система обработки данных по п.7, отличающаяся тем, что устройство обработки данных является составной частью платы с чипом (СК).РИСУНКИ
Рисунок 1, Рисунок 2