Патент на изобретение №2169951
|
||||||||||||||||||||||||||
(54) ПОЛУПРОВОДНИКОВОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО
(57) Реферат: Изобретение относится к полупроводниковому запоминающему устройству с множеством запоминающих ячеек и применяется преимущественно в картах со встроенной микросхемой, таких как карты-удостоверения, кредитные карты, расчетные карты и др. Техническим результатом является защита от несанкционированного доступа к данным, записанным в запоминающих ячейках устройства. Устройство состоит из множества запоминающих ячеек, схемы управления разрядных линий, схемы управления линией слов, схемы управления разрешающих разрядных линий, схемы сравнения и микропроцессора. 2 с. и 8 з.п. ф-лы, 7 ил. Изобретение относится к полупроводниковому запоминающему устройству с множеством запоминающих ячеек, расположенных на полупроводниковой подложке в местах пересечения разрядных линий и линий слов и которые являются управляемыми для программирования содержанием данных посредством схемы управления линий слов и схемы управления разрядных линий. Такое полупроводниковое запоминающее устройство находит преимущественно применение в так называемых картах со встроенной микросхемой, то есть картах-удостоверениях, кредитных картах, расчетных картах и тому подобном, которые снабжены интегральной схемой с микропроцессором. Изготовитель таких карт может снабжать микропроцессор жестко запомненной операционной системой, которая берет на себя принципиальные функции, например процедуру для сравнения внешне задаваемого кода с запомненным кодом и тому подобное. Приданные в соответствие микропроцессору запоминающие устройства внутри карты кроме запоминания операционной системы служат для запоминания определенных применений и параметров, которые необходимы, например, для проверки безопасности и в любом случае должны содержаться в тайне. Такая карта со встроенной микросхемой может использоваться для различных применений, если со стороны изготовления предусматривают подходящую операционную систему с соответствующими программами, если предусматривают определенные подходящие интерфейсы и резервируют запоминающее устройство или область запоминающего устройства для одной или нескольких внешних программ пользователя. Таким образом изготовитель карт может предоставлять в распоряжение для пользователя карты со встроенной микросхемой запоминающее устройство или область запоминающего устройства для программирования внешней программы пользователя. В программе пользователя могут быть установлены, например, особые операции, которые выполняются независимо от операционной системы и относятся только к особым обработкам данных пользователя. В особенно многосторонне применимой форме выполнения карты со встроенной микросхемой может быть, кроме того, предусмотрено, что множество различных пользователей могут независимо друг от друга запоминать свои соответствующие программы в карту со встроенной микросхемой. В любом случае, как во всех критичных с точки зрения безопасности системах обработки данных, которые служат, например, для обработки конфиденциальных или имеющих денежное значение данных, должна предусматриваться особая защита от манипуляции данных или несанкционированного доступа к данным. Поэтому следует заботиться о том, чтобы существенные для безопасности данные, являющиеся составной частью операционной системы или также отдельных программ пользователя, защищались от несанкционированного доступа. В кредитной карте, например карте со встроенной микросхемой, которая содержит интегральную схему с энергонезависимым запоминающим устройством (например, электрически стираемым программируемым ПЗУ или ПЗУ) и микропроцессор, для защиты от манипуляций требуется, чтобы запомненная в энергонезависимом запоминающем устройстве программа пользователя не могла иметь неконтролированный доступ на другие программы пользователя или подпрограммы операционной системы, которые также отложены в энергонезависимом запоминающем устройстве. Предотвращение таких доступов может обеспечиваться схемой защиты для контроля доступа к запоминающему устройству, которая известна, например, из DE 4115152 A1 или US 5452431. В DE 4115152 A1 поясняются в основном три различных мероприятия. В первом мероприятии в представленной схеме перед выполнением программы пользователя, запомненной в ЭСППЗУ, адрес, при котором начинается программа пользователя в области памяти, запомнен в двух вспомогательных регистрах. Во время выполнения программы непрерывно сравнивают актуальное значение на адресной шине с первым вспомогательным регистром и значение счетчика программ со вторым вспомогательным регистром. Из первого сравнения определяют, является ли активной программа пользователя. Из второго сравнения делают заключение, производится ли работа как раз в адресной области, разрешенной для программы пользователя. Для случая, что программа пользователя является активной и работает в неразрешенной области, в микропроцессоре вызывается сигнал сброса в начальное состояние. Это мероприятие имеет в качестве недостатка, что схема требует дополнительных вспомогательных регистров и компараторов для n бит, причем n представляет ширину адресной шины. В случае второго мероприятия предлагается контролировать счетчик программ и значение на адресной шине за счет дополнительно предусмотренного контрольного процессора с собственным запоминающим устройством. Как и в случае первого мероприятия, вызывается сигнал сброса в начальное состояние, если программа пользователя имеет доступ к несанкционированной адресной области. Эта схема имеет недостаток, что требуется дополнительный процессор с запоминающим устройством. В случае третьего мероприятия или, соответственно, схемы каждая отдельно защищаемая область памяти обладает различными адресными битами самой высокой значимости (битами выбора блока). Перед выполнением запомненной в одном блоке программируемого ПЗУ программы пользователя биты выбора блока запоминают во вспомогательном регистре. Во время выполнения программы актуальные адресные биты самой высокой значимости непрерывно запоминают во втором вспомогательном регистре и сравнивают с первым вспомогательным регистром. При различном содержании вспомогательных регистров получается, что активная программа пользователя недопустимым образом адресует другую область памяти программы. Вследствие этого вызывается сигнал сброса в начальное состояние. Эта схема имеет недостаток, что малом количестве бит (например, два бита) возможно только жестко равномерное, относительно грубое разделение блоков (например, четверть всей памяти). Кроме того, внешней программе может быть присвоена только взаимосвязанная область памяти. Внешняя программа с самой большой потребностью памяти программы определяет таким образом величину блока также для других внешних программ, так что использование памяти в целом является невыгодным. US 5452431 показывает схему защиты для контроля доступа к памяти, в частности для применения в картах со встроенной микросхемой, в которых вся область памяти электрически стираемого программируемого ПЗУ разделена на справочную область ZR (“Repertory Region”) и область пользователя ZA (“Application Region”), а также общественную область ZP (“Public Region”). Управление различных областей памяти ZR, ZA и ZP происходит отдельно посредством адресной схемы управления таким образом, что определенные адресные области придают в соответствие отдельным областям памяти, то есть определяют жесткие границы адреса. Команды для записи, считывания и стирания соответствующих областей памяти могут в заданных рамках блокироваться или разрешаться посредством адресной схемы управления. Недостаток этой схемы лежит в том, что разделение памяти устанавливается при изготовлении электрически стираемого программируемого ПЗУ и больше не может быть изменено пользователем. Из ЕР-А-0129054 известно полупроводниковое запоминающее устройство, соответствующее ограничительной части пункта 1 формулы изобретения, которое имеет на одну линию слов четыре “функциональные запоминающие ячейки”, которые определяют, являются ли данные линии слов защищенными для записи, считывания или стирания. В основе настоящего изобретения поэтому лежит задача указания схемы, которая простыми мерами обеспечивает, что со стороны внешней программы можно иметь доступ только на такие области памяти, которые явно разрешены для доступа, и одновременно позволяет гибкое разделение разрешенных областей памяти на различные применения. Эта задача согласно изобретению решается запоминающим устройством, указанным в пункте 1 формулы изобретения. Согласно изобретению предусмотрено, что запоминающим ячейкам линии слов приданы в соответствие расположенные вдоль разрешающей разрядной линии и управляемые посредством расположенной и управляемой отдельно и независимо от схемы управления разрядных линий схемой управления разрешающих разрядных линий разрешающие запоминающие ячейки, на которые для отпирания запоминающих ячеек определенной линии слов подается разрешающее значение. Схема согласно изобретению основана на особой компоновке полупроводникового запоминающего устройства, которое позволяет простой контроль доступа к памяти и одновременно гибкое разделение памяти или, соответственно, областей памяти на различные применения. Наряду с регулированием гибкой емкости запоминающего устройства изобретение предоставляет преимущество свободного абсолютного размещения присвоенных областей памяти в адресном пространстве программ пользователя, так что обеспечено оптимальное использование только ограниченно имеющегося в распоряжении предложения памяти, в частности, в картах со встроенной микросхемой. Одновременно изобретение позволяет со сравнительно малыми дополнительными схемно-техническими затратами надежную защиту от несанкционированной манипуляции данных или от несанкционированных доступов к данным, причем наряду с контролем памяти программ может производиться также контроль памяти данных. Лежащий в основе изобретения принцип представляет собой расширение линий слов программируемого полупроводникового запоминающего устройства на m бит, которые не лежат в нормальном адресном пространстве и которые содержат информации о правах доступа к данным, запомненным в нормальных битах линий слов (page = страница). При количестве m бит для разрешающих запоминающих ячеек отдельно друг от друга могут выполняться 2m применений, то есть областей программ или данных. В одной предпочтительной форме дальнейшего выполнения изобретения может быть предусмотрено, что расположенные вдоль мест пересечения разрядных линий и линий слов запоминающие ячейки и расположенные вдоль мест пересечения линий слов и разрешающих разрядных линий разрешающие запоминающие ячейки являются управляемыми совместно посредством предусмотренной в схеме управления линий слов драйверной схемы линий слов. При этом далее для адресования как запоминающих ячеек, так и разрешающих запоминающих ячеек предусмотрена общая схема декодирования адреса. Изобретение, таким образом, относится к особенным образом структурированному запоминающему устройству, то есть не к так называемому стандартному запоминающему устройству, в котором наряду с нормальными ячейками со стороны изготовителя заданы запоминающие ячейки, обозначенные в настоящем случае как разрешающие ячейки, причем разрешающие запоминающие ячейки связаны с остальными драйверами линий слов; драйверы линий слов и адресные декодеры, таким образом, предусмотрены совместно для нормальных ячеек и разрешающих ячеек, за счет чего получается существенная экономия площади. Различное управление нормальных и разрешающих ячеек происходит только через различные разрядные линии. В другой предпочтительной форме выполнения изобретения может быть предусмотрено, что предусмотрена микропроцессорная схема для выполнения программы операционной системы и по меньшей мере одной программы пользователя, причем микропроцессорная схема при вызове или, соответственно, выполнении программы инициализации выдает управляющий сигнал на схему управления разрешающих разрядных линий, посредством которого является активируемой приданная программе пользователя область памяти полупроводникового запоминающего устройства. Разрешающие ячейки дополнительно предусмотренных разрешающих разрядных линий адресуются не нормальным образом, а с помощью схемы инициализации. При этом инициализация может быть произведена таким образом, что она возможна только однократно при загрузке операционной системы и после этого занятие дополнительных разрешающих ячеек разрешающих бит больше не является изменяемым. В случае одного дополнительного разрешающего бита на страницу (page), то есть m = 1, могут разделяться две области памяти, например, для двух различных программ пользователя. Количество страниц, которые занимает одна программа пользователя, при этом может быть выбираемым произвольно. Точно также размещение программ пользователя во всей области памяти может устанавливаться гибко, причем также может предприниматься разделение областей памяти с вложением друг в друга. Предпочтительные формы выполнения изобретения следуют из зависимых пунктов формулы изобретения. Дальнейшие признаки, преимущества и целесообразные формы выполнения изобретения следуют из описания примеров выполнения с помощью приложенных чертежей, на которых показано: Фигура 1а схематическое представление электрически программируемого и стираемого полупроводникового запоминающего устройства для пояснения основного принципа действия изобретения; Фигура 1б упрощенное блочное представление представленного на фигуре 1а полупроводникового запоминающего устройства согласно изобретению; Фигура 2 схематическое представление схемы согласно одному примеру выполнения изобретения; Фигура 3 схематическое представление схемы согласно другому примеру выполнения изобретения; Фигура 4 схематическое представление схемы согласно другому примеру выполнения изобретения; Фигура 5 схематическое представление схемы согласно другому примеру выполнения изобретения; Фигура 6 схематическое представление схемы согласно другому примеру выполнения изобретения и Фигура 7 схематическое представление схемы согласно другому примеру выполнения изобретения. Фигура 1 показывает конструкцию электрически изменяемого постоянного запоминающего устройства 1 (электрически стираемого программируемого ПЗУ = ЭСППЗУ), преимущество которого, как известно, состоит в том, что интегральная схема является стираемой и снова программируемой, без необходимости ее удаления из аппаратуры пользователя, и что каждый отдельный байт запоминающего устройства может многократно отдельно стираться и вписываться. Стирание происходит за счет электрического импульса. В качестве элемента памяти служат ячейки 2 с управляющим электродом и потенциально развязанным промежуточным электродом, который действует в качестве накопителя заряда. Принцип действия таких постоянных запоминающих устройств является в основном известным и не должен поясняться здесь более подробно. Нормальные запоминающие ячейки 3 полупроводникового запоминающего устройства 1 расположены на полупроводниковой подложке в большом количестве в местах пересечения разрядных линий BL и линий слов WL и являются управляемыми доступным специалисту образом посредством схемы управления линий слов 4 и схемы управления разрядных линий 5. Предусмотрены адресная шина 6 и шина данных 7, по которым передаются адреса или, соответственно, данные между различными частями схемы. Для упрощения как передача адреса, так и передача данных показана только по одной линии, хотя в действительности предусмотрено множество линий, например 16 линий. Система шин может также состоять из одной линии, причем в этом случае адреса и данные обрабатываются методом временного уплотнения. На фиг. 1а представлены только четыре линии слов WL0-WL3 и только четыре разрядные линии BL0-BL3 из, как правило, большого количества линий слов и разрядных линий. Позиция 8 схематически обозначает адресный декодер, конструкция которого и принцип действия известны из предшествующего уровня техники. Соответствующая изобретению схема защиты базируется на специальной компоновке или, соответственно, конструкции запоминающего устройства 1 согласно фигуре 1а и фигуре 1б, которая позволяет простой контроль доступа к памяти и гибкое разделение запоминающего устройства 1 на различные применения. Лежащий в основе изобретения принцип представляет собой расширение линии слов запоминающего устройства на m бит, которые не лежат в нормальном адресном пространстве и которые содержат информации о правах доступа к данным, запомненным в нормальных битах линий слов (страницах или соответственно pages). Для этого предусмотрены m дополнительных разрядных линий 9 и 10, которые в последующем обозначены как разрешающие разрядные линии и могут управляться через схему управления разрешающих разрядных линий 11 независимо от (нормальной) схемы управления разрядных линий 5. В местах пересечения (нормальных) линий слов WL0-WL3 и дополнительно предусмотренных разрешающих разрядных линий 9 и 10 предусмотрены разрешающие запоминающие ячейки 12, которые по конструкции и принципу действия могут не отличаться от нормальных запоминающих ячеек 3 и поэтому могут изготавливаться вместе с нормальными запоминающими ячейками 3. В разрешающих запоминающих ячейках временно или длительно откладываются еще подлежащим в последующем пояснению образом разрешающие значения, которые служат для отпирания (нормальных) запоминающих ячеек 3 одной или многих определенных линий слов WL0-WL3. Фигура 2 показывает первый пример выполнения изобретения, в котором предусмотрена одна единственная разрешающая разрядная линия 13 с разрешающими запоминающими ячейками 14, то есть m = 1. Содержания данных разрешающих запоминающих ячеек 14 первой разрешающей разрядной линии 13 не могут адресоваться как в (нормальных) запоминающих ячейках 3, а устанавливаются предусмотренной в схеме управления разрешающих разрядных линий 11 схемой инициализации, которая не представлена подробно на фигурах. Осуществление инициализации предусмотрено лишь один раз и только при загрузке операционной системы. После этого занятость дополнительных разрешающих бит (один бит на страницу или, соответственно, page) больше не изменяется. При одном бите на страницу (m = 1) можно выбирать отдельно друг от друга две области памяти 15 и 16, например, для двух различных программ пользователя. Количество страниц (pages), которое занимает программа, при этом выбирается произвольно. Точно также гибким является размещение программ пользователя по всей области памяти, причем они могут быть разделены на вложенные друг в друга области памяти. Область памяти 15, например, присваивается за счет записи логического нуля в соответственно назначенные разрешающие запоминающие ячейки, в то время как область памяти 16 определяется путем записи логического значения единица. Полупроводниковому запоминающему устройству поставлен в соответствие (присвоен) микропроцессор 17, в котором вызываются или, соответственно, выполняются операционная система и программы пользователя, который через адресную шину 6 и шину данных 7 соединен с дальнейшими запоминающими устройствами и регистрами, например ЗУ с произвольной выборкой, постоянным ЗУ или электрически стираемым программируемым ПЗУ, которые обозначены для простоты одной ссылочной позицией 18. Работающая в микропроцессоре 17 операционная система имеет самую высокую ступень иерархии, программы пользователя по сравнению с ней являются подчиненными. При вызове программы пользователя микропроцессором 17 запускается управляющий сигнал, который лежит на линии 19. Эта операция может быть вызвана только операционной системой. Таким образом, программа пользователя может быть активной только в присвоенной ей области памяти. Управляющий сигнал микропроцессора 17 указывает тем самым, является ли активной программа пользователя. Без дополнительного вспомогательного регистра этот управляющий сигнал сравнивают простым образом с экстрабитом разрешающей линии 13. Для этой цели предусмотрена схема сравнения с инвертором 20 и логической схемой И 21, которые подключены показанным на фигуре 2 образом. Промежуточное запоминание всего адреса или его части не требуется. В случае, если программа пользователя является активной и имеет доступ на неразрешенную область памяти, в микропроцессоре 17 вызывается сигнал возврата в исходное состояние на линии 22. Однако возможно также не возвращать управляющим сигналом микропроцессор в исходное состояние, а вызывать другое действие. Фигура 3 показывает второй пример выполнения изобретения, в котором по сравнению с первым выполнением в обобщенном виде предусмотрены m разрешающих разрядных линий 13. Как и в первом примере выполнения, m дополнительных бит на линию слов WL0-WL3 не являются нормально адресуемыми, а устанавливаются за счет схемы инициализации. Схема инициализации для дополнительных бит разрешающих разрядных линий может, например, быть интегрирована внутри схемы управления разрешающих разрядных линий 11 (смотри фигуру 1а). Инициализация при этом опять-таки может производиться так, что она является возможной только один раз при загрузке операционной системы и после занятия разрешающих запоминающих ячеек дополнительных разрешающих разрядных линий не может больше быть изменена. При количестве m разрешающих разрядных линий отдельно может быть разделяемо для программ пользователя 2m областей программ, причем количество страниц (pages), которые занимаются программой, может выбираться произвольно, и также гибко может устанавливаться размещение программ пользователя во всей области памяти, в частности, также и в разделенные на вложенные друг в друга области памяти. Операционная система также имеет наивысшую степень иерархии, программы пользователя являются подчиненными по сравнению с ней. При вызове программы пользователя на линии 23 вызывается группа управляющих сигналов или, соответственно, вектор управляющего сигнала, который может вызывать операцию только за счет операционной системы. Таким образом, соответствующая программа пользователя может быть активной только в присвоенной ей области памяти. Вектор управляющего сигнала микропроцессора 17 при этом показывает, какие из 2m максимально возможных применений являются активными. Перед стартом соответствующего применения запускается присвоенное ему m бит – значение Y. Значение Y при каждом доступе к памяти сравнивают с актуальным дополнительным содержанием разрешающего бита X посредством схемы сравнения 24. При неравенстве значений на входах схемы сравнения 24, т.е. если Y не равен X, то имеет место несанкционированный доступ, и в качестве реакции на это схема сравнения производит выходной сигнал, поступающий в линию 25, например сигнал сброса в исходное состояние. Фигура 4 показывает третий пример выполнения изобретения, который по сравнению со вторым примером выполнения расширен дополнительным запоминающим устройством 26, так называемым запоминающим устройством таблиц прав доступа. Опять-таки m дополнительных разрешающих бит на линию слов WL0-WL3 являются адресуемыми не нормальным образом, а устанавливаются путем схемы инициализации. Кроме того, занятие дополнительного запоминающего устройства таблиц прав доступа 26 устанавливается в фазе инициализации. Схема инициализации для дополнительных разрешающих бит может быть опять-таки быть выполнена интегрированной внутри схемы управления разрешающих разрядных линий 11 (смотри фигуру 1а). Инициализация при этом может производиться так, что она является возможной только один раз при загрузке операционной системы. После этого занятие дополнительных разрешающих бит и запоминающего устройства таблиц прав доступа не может больше быть изменено. При m дополнительных разрешающих бит отдельно может быть разделяемо опять-таки 2m областей программ, причем количество страниц (pages), которые занимаются программой, может выбираться произвольно, и размещение программ во всей области памяти является гибким, и опять-таки является возможным вложенное друг в друга разделение областей памяти. Операционная система имеет наивысшую ступень иерархии, программы пользователя являются подчиненными. При вызове программы пользователя вызывается управляющий сигнал, в третьем примере выполнения согласно фигуре 4 снова группа управляющих сигналов или, соответственно, вектор управляющего сигнала. Эта операция может вызываться только за счет операционной системы, так что таким образом соответствующая программа пользователя может быть активной только в присвоенной ей области памяти. Вектор управляющего сигнала микропроцессора 17 при этом опять показывает, какое из максимально возможных 2m применений является активным. Перед стартом применения запускается приданное в соответствие применению m бит значение Y. Это значение декодируют в таблице прав доступа запоминающего устройства таблиц прав доступа 26, которое может быть отдельным запоминающим устройством, конечно, с меньшим количеством ячеек. Присвоенные соответствующему применению Y k параметров R1, … , Rk сравнивают посредством схемы сравнения 24 с актуальным дополнительным содержанием разрешающего бита X. Если для всех Ri справедливо, что Ri не равно X, то имеет место несанкционированный доступ. В качестве реакции на это схема сравнения производит выходной сигнал, поступающий в линию 25, например сигнал сброса в исходное состояние. Введение запоминающего устройства таблиц прав доступа 26 позволяет любое установление взаимных прав доступа применений. Таким образом, возможно, что применение A может иметь доступ к применению B, но не, например, применение B – к применению A. При вызове программы пользователя за счет операционной системы должно обеспечиваться, что защищающие данные управляющие сигналы процессора запускаются своевременно при старте применения и при покидании применения снова стираются. Это может происходить, например, следующим образом: если операционная система запускает управляющие сигналы перед переходом в программу пользователя, то команда на переход маркируется как часть программы пользователя. Точно также микропроцессор 17 может автоматически распознавать команду на переход в области программы пользователя и запускать соответствующие управляющие сигналы. Фигура 5 показывает дальнейший пример выполнения изобретения, который позволяет установление прав действий программ пользователя, в частности, относительно действий записи, считывания и стирания. Для этой цели полупроводниковое запоминающее устройство содержит равное n количество дополнительных разрешающих разрядных линий 13а для установления возможных действий, а также соединенную по линии 30 с n дополнительными разрешающими разрядными линиями 13а схему сравнения 28, которая находится в контакте по линиям 27 и 29 с микропроцессором 17. При инициализации за счет соответствующей установки разрешающих запоминающих ячеек дополнительных разрешающих разрядных линий 13а устанавливают, какое действие, то есть считывание, запись или стирание, может выполнять программа пользователя в соответствующей присвоенной области памяти. При нарушении программой пользователя статуса действий, который индицирован или задан лежащим на линии 27 сигналом статуса действий, за счет управляющего сигнала, выдаваемого схемой сравнения 28 на линии 29, может быть вызван, например, возврат микропроцессора 17 в исходное состояние. Фигура 6 показывает дальнейший пример выполнения изобретения, в котором поясненная согласно фигуре 4 таблица прав доступа 26 выполнена интегрированной особенно простым схемно-техническим образом непосредственно в разрешающие запоминающие ячейки множества k разрешающих разрядных линий 13 (при этом k равно или меньше m). В представленном на фигуре 7 примере выполнения скомбинированы предпочтительные признаки из примеров выполнения согласно фигуре 5 и фигуре 6. За счет соответствующей изобретению схемы наряду с установлением прав доступа для областей программного кода можно, кроме того, также производить регулирование доступа на области памяти данных. Формула изобретения
РИСУНКИ
MM4A Досрочное прекращение действия патента Российской Федерации на изобретение из-за неуплаты в установленный срок пошлины за поддержание патента в силе
Дата прекращения действия патента: 25.03.2003
Извещение опубликовано: 20.11.2004 БИ: 32/2004
|
||||||||||||||||||||||||||