Защищенное устройство

Изобретение относится к защищенному устройству, оборудованному средством предотвращения неразрешенного использования содержания. Техническим результатом является обеспечение возможности загрузки программы, размер которой превышает емкость области памяти, при обеспечении уровня защиты, требуемого администратором программы. Указанный результат достигается за счет того, что устройство имеет блоки памяти с различными уровнями защиты, блок приема программы, который принимает программу и соответствующую дополнительную информацию, которую используют для определения блока памяти для хранения принятой программы, блок поиска для поиска среди блоков памяти, имеющих уровень защиты не ниже требуемого, блоков памяти, имеющих свободную область, блок определения для определения среди найденных блоков блока памяти, соответствующего самому высокому уровню защиты. Данные сохраняют в определенном блоке памяти. 8 н. и 14 з.п. ф-лы, 7 ил.

 

Область техники, к которой относится изобретение

Настоящее изобретение относится к защищенному устройству, оборудованному средством предотвращения неразрешенного использования содержания, и к технологии предотвращения мошенничества в электронной торговле (мобильная ЭТ, EC).

Уровень техники

В последнее время получили широкое использование электронные информационные услуги различных типов по поставке музыкального содержания и содержания с движущимся изображением в сети, такой как Интернет. Примеры электронных информационных услуг представляют собой услугу поставки содержания и услугу мобильной EC.

При использовании таких электронных информационных услуг требуется применять средства защиты содержания, предназначенные для предотвращения неразрешенного использования содержания, и технологию защиты EC, такие как технология аутентификации и технология составления счетов при выполнении операций в мобильной EC. В соответствии с этим были разработаны и используются защищенные устройства, оборудованные такими средствами.

Пользователи, например, устанавливают такие защищенные устройства в своих мобильных телефонах для безопасного выполнения таких услуг, как поставка музыкального содержания и услуги мобильной EC.

Защищенные устройства такого типа подробно описаны в публикации "Secure multimedia card for content distribution and mobile commerce" The Hitachi Hyoron October, 2001, an extra issue, by MIYAKE Jun, ISHIHARA Harutsugu, and TSUNEHIRO Takashi, в которой раскрыта защищенная мультимедийная карта (в дальнейшем сокращенно обозначаемая как "SMMC" (ЗММК)), оборудованная средством защиты содержания и технологией защиты EC.

Существуют SMMC, которые обладают функцией загрузки программы, один из примеров которой составляет карта JAVA (JAVA - зарегистрированный товарный знак (JAVA - машинонезависимый объектно-ориентированный язык для создания распределенных прикладных систем глобальной сети)). При этом обеспечивается возможность загрузки таких программ, как новые прикладные программы и модифицированные версии программы, уже установленной на карте.

SMMC, оборудованная функцией загрузки программы, содержит в своем TRM (ЗВМ - защищенный от вмешательства модуль) механизм криптографической обработки, информацию ключа защиты, ЦПУ (CPU - центральное процессорное устройство) ОЗУ (RAM - оперативное запоминающее устройство), ПЗУ (ROM - постоянное запоминающее устройство) и ЭСППЗУ (EEPROM - электрически стираемое программируемое ПЗУ). SMMC дополнительно включает вне TRM запоминающее устройство типа флэш большой емкости (например, в диапазоне от 8 до 256 МБ). В SMMC ЦПУ выполняет управление такими процессами, как процесс аутентификации и криптографические процессы, с использованием механизма криптографической обработки и информации ключа защиты. Кроме того, ЦПУ получает программы, загружаемые с внешнего устройства, и сохраняет полученные программы в ЭСППЗУ, установленном в TRM, для выполнения этих программ.

При этом TRM представляет собой модуль, оборудованный средством, предотвращающим выполнение с использованием внешних устройств неразрешенных ссылок, вмешательства и т.п., в отношении данных, записанных в модуле.

Кроме того, в запоминающем устройстве типа флэш записаны цифровые данные различных типов, такие как музыкальное содержание и содержание подвижного изображения, которое представляет собой поставляемое содержание.

ЭСППЗУ, установленное в TRM, представляет собой дорогостоящее устройство с высокой стоимостью единицы емкости записи по сравнению с запоминающими устройствами других типов. В соответствии с этим увеличение емкости ЭСППЗУ значительно влияет на стоимость SMMC. Кроме того, емкость ЭСППЗУ, устанавливаемого в TRM, ограничена характеристиками устройства; стандартная емкость ЭСППЗУ в используемых в настоящее время структурах составляет приблизительно 64 КБ.

Кроме того, прикладные программы, которые требуется загружать в SSMC, в ближайшем будущем, как ожидается, существенно увеличатся в объеме. С учетом этого очевидно, что будет невозможно обеспечить запись необходимых прикладных программ в ЭСППЗУ TRM с применением используемой в настоящее время структуры.

Существует способ сохранения прикладных программ, которые не помещаются в ЭСППЗУ TRM, в запоминающем устройстве типа флэш, расположенном вне TRM. Однако неразборчивое использование этого способа является непрактичным с точки зрения защиты, и для его использования для каждой программы требуется, по меньшей мере, разрешение администратора. Для осуществления такой системы требуется разработать новую технологию обеспечения защиты.

Задача настоящего изобретения состоит в создании защищенного устройства, которое позволяет загружать программу, размер которой превышает емкость области памяти, имеющейся в TRM, при обеспечении уровня защиты, требуемого администратором программы.

Сущность изобретения

Защищенное устройство в соответствии с настоящим изобретением включает в себя: множество блоков памяти, каждый из которых содержит область памяти; блок приема, предназначенный для приема цифровых данных и соответствующей адресной информации, причем адресную информацию используют для определения блока памяти в качестве адресата информации для хранения цифровых данных; и блок обработки, выполненный с возможностью хранения цифровых данных в блоке памяти, определенном на основе адресной информации.

При этом защищенное устройство содержит множество блоков памяти, каждый из которых содержит область памяти, причем способ сохранения для защищенного устройства в соответствии с настоящим изобретением заключается в том, что принимают цифровые данные и соответствующую адресную информацию, причем адресную информацию используют для определения блока памяти в качестве адресата информации для хранения цифровых данных; и сохраняют цифровые данные в блоке памяти, определяемом на основе адресной информации.

При использовании описанных структур администратор каждой части цифровых данных получает возможность устанавливать адресную информацию для цифровых данных. Это можно использовать в случаях, когда существует недостаток емкости блоков памяти, имеющих высокий уровень защиты, таких как ЭСППЗУ, установленных в TRM. В частности, в этом случае цифровые данные можно сохранять в блоке памяти, имеющем низкий уровень защиты, таком как запоминающее устройство типа флэш, установленное вне TRM, если это соответствует адресной информации, установленной администратором. При этом обеспечивается возможность с использованием имеющейся структуры эффективно сохранять цифровые данные в соответствии с их значением.

Поэтому при загрузке программы, превышающей емкость области памяти, установленной в TRM, загрузка может быть реализована при обеспечении уровня защиты, требуемого администратором.

Кроме того, в заявленном защищенном устройстве каждый из множества блоков памяти может соответствовать определенному уровню защиты, при этом адресная информация может определять уровень защиты, требуемый для цифровых данных, и блок обработки может определять блок памяти, соответствующий уровню защиты, который равен уровню защиты, определяемому адресной информацией в качестве адресата информации для хранения цифровых данных.

В соответствии с этой структурой администратор каждой части цифровых данных может устанавливать уровень защиты, требуемый для цифровых данных, для определения в качестве адресата информации для хранения цифровых данных блок памяти, соответствующий тому же уровню защиты, что и уровень защиты цифровых данных. Такая структура позволяет эффективно сохранять цифровые данные в соответствии с их значением.

Кроме того, в заявленном защищенном устройстве каждый из множества блоков памяти может соответствовать определенному уровню защиты, причем адресная информация может определять уровень защиты, требуемый для цифровых данных, и блок обработки может определять блок памяти, соответствующий уровню защиты, который не ниже, чем уровень защиты, указанный адресной информацией в качестве адресата информации для хранения цифровых данных.

В соответствии с этой структурой администратор каждой части цифровых данных может установить уровень защиты, требуемый для цифровых данных, для определения в качестве адресата информации для хранения цифровых данных, блок памяти, соответствующий уровню защиты не ниже, чем уровень защиты цифровых данных. Эта структура позволяет эффективно записывать цифровые данные в соответствии с их значением.

Кроме того, в защищенном устройстве блок обработки может дополнительно включать в себя: подблок поиска, выполняющий поиск среди блоков памяти, соответствующих уровню защиты не ниже, чем уровень защиты, определенный адресной информацией для поиска всех блоков памяти, имеющих свободную область памяти для размещения цифровых данных; подблок определения, определяющий блок памяти, соответствующий самому высокому уровню защиты среди всех найденных блоков памяти, имеющих свободную область памяти для размещения цифровых данных в качестве адресата информации для хранения цифровых данных, и подблок хранения, предназначенный для хранения цифровых данных в блоке памяти, определенном подблоком определения.

Указанная выше структура позволяет определять в качестве адресата информации для хранения блок памяти, имеющий самый высокий уровень защиты среди блоков памяти, имеющих доступную область памяти. Поэтому каждую часть цифровых данных сохраняют с наивысшим возможным уровнем защиты.

Кроме того, в защищенном устройстве блок обработки может дополнительно включать в себя: подблок вывода, выводящий информацию об ошибке в случае, когда ни один из блоков памяти не был найден подблоком поиска, для представления пользователю сообщения о том, что цифровые данные не могут быть сохранены.

Описанная выше структура позволяет, при отсутствии доступной области памяти, отображать пользователю сообщение, что цифровые данные не могут быть сохранены.

Кроме того, в защищенном устройстве блок обработки может дополнительно включать в себя: подблок перемещения, работающий, когда блок поиска не нашел ни один блок памяти, для (1) считывания адресной информации, соответствующей каждым цифровым данным, уже сохраненным в любом из множества блоков памяти, соответствующих уровню защиты не ниже, чем первый уровень защиты, причем первый уровень защиты представляет собой уровень защиты, определяемый адресной информацией, которую добавляют к цифровым данным, полученным блоком приема, (2) выделения из считанной адресной информации адресной информации, определяющей более низкий уровень защиты, чем первый уровень защиты, и (3) перемещения цифровых данных, соответствующих выделенной адресной информации, в блок памяти, соответствующий уровню защиты, который ниже, чем первый уровень защиты, но не ниже, чем каждый из уровней защиты, определяемых адресной информацией, для выделения области памяти для принятых цифровых данных, и подблок хранения может при этом сохранять принятые цифровые данные в области памяти, выделенной подблоком перемещения.

В соответствии с вышеописанной структурой уже сохраненные цифровые данные могут быть перемещены в соответствии с их адресной информацией для выделения области памяти для новой части цифровых данных. Поэтому структура позволяет эффективно сохранять каждую часть цифровых данных в соответствии с их значением.

Кроме того, в защищенном устройстве блок обработки может дополнительно включать в себя: подблок вывода, выводящий информацию об ошибке, когда подблок перемещения не может выделить область памяти, представляя пользователю сообщение о том, что принятые цифровые данные не могут быть сохранены.

В соответствии с этой структурой когда область памяти не была выделена, даже если уже сохраненные цифровые данные были перемещены, пользователь будет проинформирован, что отсутствует область памяти для новых цифровых данных.

Кроме того, в защищенном устройстве каждый из множества блоков памяти может соответствовать определенному уровню защиты, причем адресная информация может определять уровень защиты, требуемый для цифровых данных, и дополнительно используется для определения, является ли адресат информации для хранения цифровых данных блоком памяти, имеющим тот же уровень защиты, что и адресная информация, или одним из блоков памяти уровень защиты которого не ниже, чем уровень защиты, указанный адресной информацией, и блок обработки может определять, в соответствии с адресной информацией, блок памяти, соответствующий тому же уровню защиты, что и адресная информация, или один из блоков памяти, уровень защиты которого не ниже, чем уровень защиты, определяемый с использованием адресной информации, в качестве адресата информации для хранения цифровых данных.

В соответствии с этой структурой администратор каждой части цифровых данных может устанавливать требование по сохранению цифровых данных в блоке памяти, имеющем тот же уровень защиты, что и цифровые данные, или в одном из блоков памяти, имеющем уровень защиты не ниже, чем уровень защиты цифровых данных. Это позволяет обеспечить большую гибкость установок.

Кроме того, в защищенном устройстве адресная информация может определять, можно ли перед сохранением цифровых данных в защищенном устройстве произвольно определять адресата информации для хранения цифровых данных, и блок обработки может, в соответствии с адресной информацией, сохранять цифровые данные либо в произвольно определенном блоке памяти или в блоке памяти, определенном на основе адресной информации.

В соответствии с этой структурой администратор каждой части цифровых данных может устанавливать возможность произвольного определения адресата информации для хранения цифровых данных в защищенном устройстве. Это позволяет обеспечить большую гибкость установок.

Кроме того, в защищенном устройстве каждый из множества блоков памяти может соответствовать определенному уровню защиты, причем адресная информация может определять, следует ли шифровать цифровые данные перед сохранением цифровых данных в блоке памяти, соответствующем более низкому уровню защиты, чем заранее определенный уровень защиты, и блок обработки может избирательно шифровать цифровые данные перед сохранением цифровых данных в блоке памяти с более низким уровнем защиты, в соответствии с адресной информацией. В соответствии с этой структурой администратор каждой части цифровых данных может устанавливать требование шифрования цифровых данных при сохранении цифровых данных в блоке памяти, имеющем более низкий уровень защиты, чем заранее определенный уровень защиты. Это позволяет обеспечить большую гибкость установок.

Кроме того, если при таком шифровании используют ключ, уникальный для каждого защищенного устройства, цифровые данные, сохраненные в блоке памяти, имеющем низкий уровень защиты, такой как запоминающее устройство типа флэш, будут защищены от атаки третьего лица при попытке получить неразрешенную копию цифровых данных на другом защищенном устройстве.

То есть, даже когда будет выполнено такое неразрешенное копирование на другое защищенное устройство, ключ, используемый в другом защищенном устройстве, будет отличаться, что не позволит правильно дешифровать данные, поэтому неразрешенное использование цифровых данных будет заблокировано.

Кроме того, в защищенном устройстве каждый из множества блоков памяти может соответствовать определенному уровню защиты, причем адресная информация определяет, следует ли добавлять код аутентификации сообщения к цифровым данным при сохранении цифровых данных в блоке памяти, имеющем более низкий уровень защиты, чем заранее определенный уровень защиты, и блок обработки может избирательно добавлять код аутентификации сообщения к цифровым данным перед сохранением цифровых данных в блоке памяти с более низким уровнем защиты, в соответствии с адресной информацией.

В соответствии с этой структурой администратор каждой части цифровых данных может устанавливать требование по добавлению к цифровым данным кода аутентификации сообщения в момент сохранения цифровых данные в блоке памяти, имеющем более низкий уровень защиты, чем ранее определенный уровень защиты. Это позволяет обеспечить большую гибкость установок.

Кроме того, если такой код аутентификации сообщения был добавлен перед сохранением цифровых данных, это предотвращает возможность атак, таких как неразрешенное использование цифровых данных, сохраненных в блоке памяти, имеющем низкий уровень защиты, таком как запоминающее устройство типа флэш, путем несанкционированного обращения к цифровым данным или к соответствующей адресной информации.

Это означает, что даже когда к цифровым данным или соответствующей адресной информации осуществляется вмешательство, этот факт будет обнаружен путем выполнения обработки аутентификации. Поэтому при обнаружении попытки вмешательства использование цифровых данных может быть запрещено.

Кроме того, в защищенном устройстве каждый из множества блоков памяти может соответствовать определенному уровню защиты, причем адресная информация может определять, следует ли вводить цифровую подпись при сохранении цифровых данных в блоке памяти, имеющем более низкий уровень защиты, чем заранее определенный уровень защиты, и блок обработки может избирательно вводить цифровую подпись в цифровые данные перед сохранением цифровых данных в блоке памяти с более низким уровнем защиты, в соответствии с адресной информацией.

В соответствии с этой структурой администратор части цифровых данных может устанавливать требование по вводу цифровой подписи в цифровые данные при сохранении цифровых данных в блоке памяти, имеющем более низкий уровень защиты, чем заранее определенный уровень защиты. Это позволяет обеспечить большую гибкость установок.

Кроме того, если такая цифровая подпись введена перед сохранением, обеспечивается защита от атак с целью неразрешенного использования цифровых данных, сохраненных в блоке памяти, имеющем низкий уровень защиты, таком как запоминающее устройство типа флэш, которые могут быть реализованы путем вмешательства в цифровые данные или соответствующую адресную информацию.

Это означает, что даже при попытке вмешательства в цифровые данные или соответствующую адресную информацию этот факт будет определен при выполнении обработки аутентификации. Поэтому в случае обнаружения вмешательства использование цифровых данных может быть запрещено.

Кроме того, в защищенном устройстве каждый из множества блоков памяти может соответствовать определенному уровню защиты, причем адресная информация может определять уровень приоритета цифровых данных, принятых в блоке приема, причем, по меньшей мере, в одном блоке памяти уже могут быть сохранены цифровые данные, причем часть уже сохраненных цифровых данных может соответствовать определенному уровню приоритета, при этом уже сохраненные цифровые данные могут быть сохранены во множестве блоков памяти в таком состоянии, что цифровые данные, имеющие более высокий уровень приоритета, сохраняют в блоке памяти, соответствующем более высокому уровню защиты, и блок обработки может сохранять принятые цифровые данные в блоке памяти в соответствии с уровнем приоритета, определяемым адресной информацией, для поддержания состояния, при котором цифровые данные, соответствующие более высокому уровню приоритета, сохраняют в блоке памяти, соответствующем более высокому уровню защиты.

В соответствии с этой структурой администратор части цифровых данных может устанавливать уровень приоритета цифровым данным для сохранения цифровых данных в блоке памяти в соответствии с уровнем приоритета. Таким образом структура реализует эффективное сохранение цифровых данных.

Кроме того, в защищенном устройстве к каждой части уже сохраненных цифровых данных может быть добавлена адресная информация, определяющая уровень приоритета, и блок обработки может дополнительно включать в себя: подблок перемещения, работающий с множеством блоков памяти, в последовательности, начиная с блока памяти, соответствующего самому высокому уровню защиты, для (1) определения, содержат ли какие-либо из множества блоков памяти свободную область памяти для размещения принятых цифровых данных, (2) считывания, при получении отрицательного результата определения, адресной информации, которую добавляют к цифровым данным, сохраненным в блоке памяти, (3) выделения каждой части адресной информации, определяющей более низкий уровень приоритета, чем уровень приоритета, определяемый адресной информацией, добавленной к принятым цифровым данным, (4) перемещения цифровых данных, соответствующих выделенной адресной информации, в блок памяти, соответствующий более низкому уровню защиты, чем уровень защиты, определяемый выделенной адресной информацией, (5) повторения этапов (1) - (4) до тех пор, пока не будет получен результат в виде утвердительного решения по выделению блока памяти для принятых цифровых данных; и подблок хранения, предназначенный для хранения принятых цифровых данных в блоке памяти, выделенном подблоком перемещения.

В соответствии с этой структурой уже сохраненные цифровые данные могут быть перемещены в соответствии с уровнем приоритета цифровых данных, так что для новой части цифровых данных может быть выделена область памяти, имеющая как можно более высокий уровень защиты. Поэтому каждая часть цифровых данных может быть сохранен с как можно более высоким уровнем защиты.

Кроме того, в защищенном устройстве адресная информация, считываемая подблоком перемещения, может указывать, следует ли шифровать при перемещении цифровые данные, соответствующие считанной адресной информации, и подблок перемещения может избирательно шифровать перемещаемые цифровые данные в соответствии с адресной информацией, добавленной к перемещаемым цифровым данным, и перемещает цифровые данные, предназначенные для перемещения.

В соответствии с этой структурой администратор каждой части цифровых данных может устанавливать требование шифрования цифровых данных при их перемещении. Это позволяет обеспечить большую гибкость установок.

Кроме того, если при таком шифровании используют ключ, уникальный для каждого защищенного устройства, цифровые данные, перемещенные в блок памяти, имеющий низкий уровень защиты, такой как запоминающее устройство типа флэш, будут защищены от атаки третьего лица, например, при попытке получения неразрешенной копии цифровых данных в другом защищенном устройстве.

То есть даже при выполнении такого неразрешенного копирования в другое защищенное устройство ключ, используемый в другом защищенном устройстве, будет отличаться, и это не позволит правильно выполнить дешифрование, поэтому неразрешенное использование цифровых данных будет заблокировано.

Кроме того, в защищенном устройстве адресная информация, считанная подблоком перемещения, может определять, следует ли к цифровым данным соответствующим считываемой адресной информации, добавлять код аутентификации сообщения при перемещении, и подблок перемещения может избирательно добавлять код аутентификации сообщения к перемещаемым цифровым данным в соответствии с адресной информацией, соответствующей перемещаемым цифровым данным, и перемещать цифровые данные, предназначенные для перемещения.

В соответствии с данной структурой администратор каждой части цифровых данных может устанавливать, следует ли добавлять код аутентификации сообщения к цифровым данным при перемещении. Это позволяет обеспечить большую гибкость установок.

Кроме того, если такой код аутентификации сообщения добавляют перед перемещением цифровых данных, предотвращаются атаки, такие как неразрешенное использование цифровых данных, перемещаемых в блок памяти, имеющий низкий уровень защиты, такой как запоминающее устройство типа флэш, которые могли бы быть реализованы путем вмешательства к цифровым данным или к соответствующей адресной информации.

То есть даже в случае вмешательства в цифровые данные или адресную информацию этот факт будет обнаружен путем выполнения обработки аутентификации. Поэтому при обнаружении вмешательства использование цифровых данных может быть запрещено.

Кроме того, в защищенном устройстве адресная информация, считываемая подблоком перемещения, может указывать, следует ли внедрять при перемещении цифровую подпись в цифровые данные, соответствующие считываемой адресной информации, и подблок перемещения может избирательно внедрять цифровую подпись в цифровые данные при перемещении в соответствии с адресной информацией, соответствующей перемещаемым цифровым данным, и перемещать цифровые данные, предназначенные для перемещения.

В соответствии с этой структурой администратор каждой части цифровых данных может устанавливать требование по вводу цифровой подписи в цифровые данные при перемещении. Это позволяет обеспечить большую гибкость установок.

Кроме того, если такая цифровая подпись будет введена перед перемещением цифровых данных, будут предотвращены атаки, направленные на неразрешенное использование цифровых данных, перемещенных в блок памяти, имеющий низкий уровень защиты, такой как запоминающее устройство типа флэш, которые могли бы быть реализованы путем вмешательства в цифровые данные или в соответствующую адресную информацию.

То есть даже в случае вмешательства в цифровые данные или адресную информацию этот факт будет обнаружен при выполнении обработки аутентификации. Поэтому при обнаружении вмешательства использование цифровых данных может быть запрещено.

Кроме того, в защищенном устройстве адресная информация может дополнительно определять уровень защиты, причем подблок перемещения может не выполнять обработку по этапам (1) - (5) для блока памяти, соответствующего более низкому уровню защиты, чем уровень защиты, определяемый адресной информацией, соответствующей принятым цифровым данным, и блок обработки может дополнительно включать в себя подблок вывода, выводящий информацию об ошибке, предназначенную для представления пользователю сообщения о том, что принятые цифровые данные невозможно сохранить, если подблок перемещения не может выделить блок памяти.

В соответствии с данной структурой администратор каждой части цифровых данных может дополнительно устанавливать уровень защиты для цифровых данных для того, чтобы было невозможно выполнять обработку перемещения в блоки памяти, имеющие более низкий уровень защиты, чем цифровые данные. Это помогает обеспечить безопасность цифровых данных.

Кроме того, когда блок памяти не может быть выделен, структура позволяет представлять пользователю сообщение о том, что отсутствует область памяти для записи новых цифровых данных.

Кроме того, в защищенном устройстве цифровые данные, принятые в блоке приема, могут представлять собой компьютерную программу, которая включает в себя множество подпрограмм, причем каждой из подпрограмм может быть добавлена адресная информация, и блок обработки может сохранять каждую подпрограмму в блоке памяти, определяемом на основе адресной информации, добавленной к подпрограмме.

В соответствии с данной структурой администратор цифровых данных может устанавливать адресную информацию каждой из подпрограмм, так что для определение адресата информации для хранения может быть выполнено для каждой подпрограммы в соответствии с соответствующей адресной информацией. Это помогает эффективно записывать каждую подпрограмму в соответствии со значением этой подпрограммы.

Кроме того, в защищенном устройстве каждый из множества блоков памяти может соответствовать определенному уровню защиты, причем цифровые данные могут представлять собой компьютерную программу, которая включает в себя одну основную программу и подпрограммы, причем к каждой из основной программы и подпрограмм добавляют адресную информацию, причем адресная информация, соответствующая основной программе, определяет, что основная программа должна быть сохранена в блоке памяти, соответствующем высокому уровню защиты, и блок обработки может сохранять каждую программу в блоке памяти, определяемом на основе адресной информации, соответствующей программе.

В соответствии с данной структурой администратор цифровых данных может устанавливать адресную информацию для каждой программы, так что может быть выполнено определение адресата информации для хранения каждой программы в соответствии с соответствующей адресной информацией. Это помогает эффективно сохранять каждую программу в соответствии со значением этой программы.

В частности, программу будет более трудно считать при сохранении единственной основной программы в элементе памяти, имеющем высокий уровень защиты.

Кроме того, в защищенном устройстве в цифровые данные может быть либо введена цифровая подпись или к ним может быть добавлен идентификатор аутентификации, причем цифровая подпись и идентификатор аутентификации показывают либо 1) правильность адресной информации, или 2) правильность соответствия между цифровыми данными и адресной информацией; и блок обработки может выполнять аутентификацию в соответствии с цифровой подписью или идентификатором аутентификации и может записывать цифровые данные, только если аутентификация была выполнена успешно.

В соответствии с данной структурой цифровые данные и соответствующую адресную информацию нельзя разделять, что повышает защиту.

Краткое описание чертежей

На фиг.1 показана схема, изображающая структуру защищенной системы, относящейся к первому варианту выполнения настоящего изобретения;

на фиг.2 представлена схема, представляющая структуру защищенного устройства 100, относящегося к первому варианту выполнения настоящего изобретения;

на фиг.3 изображена схема, представляющая дополнительную информацию по первому варианту выполнения настоящего изобретения;

на фиг.4 показана схема, изображающая процесс выполнения обработки при загрузке программы в защищенное устройство 100 по первому варианту выполнения настоящего изобретения;

на фиг.5 изображена схема, изображающая структуру защищенного устройства 200, относящегося ко второму варианту выполнения настоящего изобретения;

на фиг.6 показана схема, изображающая дополнительную информацию по второму варианту выполнения настоящего изобретения; и

на фиг.7 изображена схема изображающая процесс выполнения обработки при загрузке программы в защищенное устройство 200 по второму варианту выполнения настоящего изобретения.

Подробное описание изобретения

В настоящем изобретении защищенное устройство имеет несколько типов области памяти, каждый из которых соответствует различному уровню защиты. В защищенное устройство поступают цифровые данные и соответствующая им дополнительная информация, которая используется при определении области памяти, в которой должны быть сохранены цифровые данные, при этом в устройстве определяется область памяти в соответствии с дополнительной информацией, и цифровые данные сохраняют в определенной области памяти.

Более конкретно, SMMC включает два типа запоминающих устройств: ЭСППЗУ, имеющее высокий уровень защиты, и запоминающее устройство типа флэш, имеющее низкий уровень защиты. SMMC принимает программу и соответствующую ей дополнительную информацию с сервера с использованием мобильного телефона, причем дополнительная информация указывает, следует ли для записи программы использовать элемент памяти типа ЭСППЗУ или запоминающее устройство типа флэш, определяет элемент памяти в соответствии с дополнительной информацией и загружает программу в определенный элемент памяти.

(Структура системы)

На фиг. 1 показана структура защищенной системы, относящаяся к первому варианту выполнения настоящего изобретения.

Как показано на фиг. 1, защищенная система включает сервер 1, мобильный телефон 2 и защищенное устройство 10.

На сервере 1 предварительно записывают дополнительную информацию для каждой программы и передают программу и дополнительную информацию, которые соответствуют друг другу, через телефонный канал связи в мобильный телефон 2 в соответствии с инструкциями по работе под управлением оператора сервера 1 или при выполнении запроса пользователя мобильного телефона 2.

Здесь в качестве примера дополнительной информации представлен флаг, указывающий ЭСППЗУ 19, установленную в TRM 12, или указывающий запоминающее устройство типа флэш 18, установленное за пределами TRM 12. Другой пример представляет собой цифровое значение, указывающее уровень защиты, установленный для каждого элемента памяти.

Мобильный телефон 2 принимает программу и соответствующую дополнительную информацию с сервера 1 по телефонному каналу связи.

Защищенное устройство 10 представляет собой SMMC, оборудованное функцией загрузки, такой как карта JAVA, и установленной пользователем, например, в мобильный телефон 2. Защищенное устройство 10 принимает программу и соответствующую дополнительную информацию, принятую мобильным телефоном 2, определяет ЭСППЗУ 19 или запоминающее устройство 18 типа флэш c использованием дополнительной информации и загружает программу в определенный элемент памяти.

Защищенное устройство имеет размер обычной SSMC, приблизительно, как почтовая марка или интегральная схема. Защищенное устройство также может быть выполнено в других формах.

Как показано на фиг. 1, защищенное устройство 10 включает за пределами TRM 12 схему 11 интерфейса карты и запоминающее устройство 18 типа флэш. Внутри TRM 12 защищенное устройство 10 содержит механизм 13 криптографической обработки, информацию 14 ключа безопасности, ЦПУ 15, ПЗУ 16, ОЗУ 17, ЭСППЗУ 19 и дополнительный блок 20 обработки информации.

В данном случае загружаемая программа представляет собой, например, платную прикладную программу, программу, относящуюся к информации по начислению счетов или обновленную версию программы, уже установленной на карте, причем все эти программы требуют обеспечения определенного уровня безопасности при использовании в защищенном устройстве 10.

В настоящем описании ЭСППЗУ 19, установленное в TRM 12, описано как имеющее высокий уровень защиты, поскольку с помощью неразрешенного внешнего устройства трудно получить доступ к программе, записанной в ЭСППЗУ 19, и выполнить неразрешенное изменение данных, находящихся в ЭСППЗУ 19.

И, наоборот, запоминающее устройство 18 типа флэш, установленное за пределами TRM 12, описано в настоящем описании, как имеющее низкий уровень защиты, поскольку с помощью неразрешенного внешнего устройства относительно просто получить доступ к программам, записанным в запоминающее устройство 18 типа флэш.

Схема 11 интерфейса карты выполняет обмен данными с мобильным телефоном 2 и принимает программу и соответствующую дополнительную информацию с мобильного телефона 2.

TRM 12 представляет собой модуль, защищенный от внешнего воздействия, который оборудован средствами, направленными против несанкционированного доступа и вмешательства со стороны каких-либо внешних устройств, направленных на записанные в нем данные.

Механизм 13 криптографической обработки выполняет такую обработку как шифрование программы прежде, чем программа будет записана в запоминающее устройство типа флэш, и аутентификацию информации КАС (MAC - код аутентификации сообщения) и цифровую подпись, которая будет введена в программу для обеспечения безопасности этой программы.

Информацию 14 ключа безопасности используют, когда механизм 13 криптографической обработки выполняет процессы криптографической обработки, процессы обработки аутентификации и т.п.

Блок 20 обработки дополнительной информации анализирует значение дополнительной информации, соответствующей программе, принятой схемой 11 интерфейса карты, и определяет, является ли элемент памяти, в который необходимо записать программу, устройством ЭСППЗУ 19 или запоминающим устройством 18 типа флэш.

ЦПУ 15 выполняет программы, предварительно записанные в ПЗУ 16, управляет механизмом 13 криптографической обработки и блоком 20 обработки дополнительной информации с использованием ОЗУ 17, запоминающего устройства типа флэш 18 и ЭСППЗУ 19 и загружает программы, принятые схемой 11 интерфейса карты в элемент памяти, определяемый блоком 20 обработки дополнительной информации.

Здесь следует отметить, что процессы, описанные как выполняемые механизмом 13 криптографической обработки и блоком 20 обработки дополнительный информации, также могут быть реализованы в ЦПУ 15 при замене программ, предварительно записанных в ПЗУ 16.

(Первый вариант выполнения)

<Структура защищенного устройства>

На фиг.2 показана структура защищенного устройства 100, относящегося к первому варианту выполнения настоящего изобретения.

Защищенное устройство 100, показанное на фиг. 2, включает за пределами TRM 110 блок 101 приема программы и блок 102 памяти с низким уровнем защиты, и содержит внутри TRM 110 блок 118 памяти с высоким уровнем защиты, блок 111 анализа дополнительной информации, блок 112 поиска области памяти, блок 113 определения уровня защиты, блок 114 перемещения, блок 115 записи программы, блок 116 вывода ошибки и блок 117 криптографической обработки.

Блок 101 приема программы соответствует схеме 11 интерфейса карты, который показан на фиг. 1, и получает программу и соответствующую дополнительную информацию с мобильного телефона.

Блок 102 памяти с низким уровнем защиты представляет собой элемент памяти, имеющий низкий уровень защиты, который, например, представляет собой запоминающее устройство типа флэш, установленное за пределами TRM.

Блок 118 памяти с высоким уровнем защиты представляет собой элемент памяти, имеющий высокий уровень защиты, например запоминающее устройство ЭСППЗУ, установленное в TRM.

Блок 111 анализа дополнительной информации выполняет анализ дополнительной информации, соответствующей программе, полученной блоком 101 приема программы, и передает рабочую инструкцию в блок 112 поиска области памяти и в блок 117 криптографической обработки.

Блок 112 поиска области памяти выполняет поиск свободной области памяти, достаточно большой для сохранения программы, полученной блоком 101 приема программы, в блоке 118 памяти с высоким уровнем защиты и в блоке 102 памяти с низким уровнем защиты, для определения наличия такой области памяти.

Блок 113 определения уровня защиты определяет адресат информации для хранения программы, полученной блоком 101 приема программы, путем определения, соответствует ли область памяти, найденная блоком 112 поиска области памяти, целевому назначению дополнительной информации. В случае необходимости блок 113 определения уровня защиты передает в блок 116 вывода ошибки инструкцию на вывод информации об ошибке.

На фиг.3 представлена дополнительная информация, относящаяся к первому варианту выполнения.

Как показано на фиг.3, дополнительная информация в первом варианте выполнения состоит из 5 битов.

Два младших значащих бита дополнительной информации идентифицируют один из четырех уровней защиты, а именно "00", "01", "10" и "11".

В случае, когда два младших значащих бита содержат "00", это указывает, что соответствующая программа должна быть сохранена в свободной области памяти блока 118 памяти с высоким уровнем защиты, и что если в блоке 118 памяти с высоким уровнем защиты нет такой области памяти, следует подать в мобильный телефон информацию об ошибке без записи программы.

Когда два младших значащих бита содержат "01", это указывает, что соответствующая программа должна быть сохранена в свободной области памяти блока 118 памяти с высоким уровнем защиты, и что, если блок 118 памяти с высоким уровнем защиты не содержит такой области памяти, требуется создать такую область для сохранения этой программы. Здесь следует отметить, что содержание "01" двух младших значащих битов также можно использовать для обозначения того, что в области памяти блока 118 памяти с высоким уровнем защиты, в которой уже была сохранена другая программа, следует сохранить соответствующую программу.

Когда эти два младших значащих бита содержат "10", это указывает, что соответствующую программу следует сохранить в блоке 102 памяти с низким уровнем защиты, и что, если блок 102 памяти с низким уровнем защиты не содержит доступную область памяти, требуется передать информацию в мобильный телефон об ошибке без записи программы.

Когда два младших значащих бита представляют "11", это указывает, что соответствующая программа должна быть сохранена в блоке 118 памяти с высоким уровнем защиты, и если нет достаточной области в блоке 118 памяти с высоким уровнем защиты, программа должна быть сохранена в блоке 102 памяти с низким уровнем защиты. И если в блоке 102 памяти с низким уровнем защиты нет достаточной области для размещения этой программы, информация об ошибке должна быть передана в мобильный телефон.

Третий младший значащий бит дополнительной информации указывает, требуется ли выполнять шифрование соответствующей программы или нет перед сохранением ее в блоке 102 памяти с низким уровнем защиты.

В данном случае, если третий младший значащий бит равен "0", это указывает, что не требуется выполнять шифрование программы, и если он представляет "1", это указывает на необходимость шифрования программы.

Четвертый младший значащий бит представляет, требуется ли добавлять информацию MAC и вводить цифровую подпись в соответствующую программу при сохранении программы в блоке 102 памяти с низким уровнем защиты.

В данном случае, если четвертый младший значащий бит содержит "0", это указывает на то, что не требуется добавлять информацию MAC или вводить цифровую подпись, и если в нем записана "1", это указывает на необходимость добавления информации MAC и ввода цифровой подписи.

Старший значащий бит (то есть пятый бит со стороны младших значащих битов) дополнительной информации представляет, может ли пользователь защищенного устройства 100 по собственному усмотрению определять место сохранения соответствующей программы (ниже обозначается как "адресат информации для хранения").

При этом, если в старший значащий бит записан "0", это указывает, что пользователь не имеет права определять адресата информации для хранения, и если старший значащий бит содержит "1", это указывает, что пользователь может определять адресата информации для хранения по своему собственному усмотрению, независимо от уровня защиты, указанного двумя младшими значащими битами дополнительной информации.

Когда доступная область памяти будет найдена в блоке 118 памяти с высоким уровнем защиты, блок 113 определения уровня защиты определяет область памяти в блоке 118 памяти с высоким уровнем защиты как адресата информации для хранения при условии, что старший значащий бит содержит "0" и что в двух младших значащих битах представлена одна из комбинаций "00", "01" и "11".

И, наоборот, когда доступную область памяти находят в блоке 102 памяти с низким уровнем защиты, блок 113 определения уровня защиты определяет в качестве адресата информации для хранения область памяти в блоке 102 памяти с низким уровнем защиты при условии, что старший значащий бит представляет "0" и два младших значащих бита содержат "10". Блок 113 определения уровня защиты также определяет в качестве адресата информации для хранения доступную область памяти в блоке 102 памяти с низким уровнем защиты, когда область памяти, доступная для хранения, не была найдена в блоке 118 памяти с высоком уровнем защиты, но была найдена в блоке 102 памяти с низким уровнем защиты, при условии, что старший значащий бит содержит "0" и два младших значащих бита составляют "11".

Кроме того, блок 113 определения уровня защиты при обнаружении доступной области памяти, по меньшей мере, в одном блоке 118 памяти с высоким уровнем защиты и блоке 102 памяти с низким уровнем защиты определяет одну из доступных областей памяти в качестве места адресата информации для хранения при условии, что старший значащий бит содержит "1".

Кроме того, блок 113 определения уровня защиты передает в блок 114 перемещения инструкцию по освобождению области в блоке 118 памяти с высоким уровнем защиты, когда доступная область памяти не была найдена в блоке 118 памяти с высоким уровнем защиты и старший значащий бит содержит "0", а два младших значащих бита представляют "01". Здесь следует отметить, что, если два младших значащих бита "01" заранее указывают, что область памяти в блоке 118 памяти с высоким уровнем защиты должна быть перезаписана соответствующей программой независимо от наличия другой программы в этой области памяти, такая область памяти в блоке 118 памяти с высоким уровнем защиты будет определена как адресат информации для хранения соответствующей программы, даже если другая программа уже была сохранена в области памяти.

Также следует отметить, блок 113 определения уровня защиты передает в блок 116 вывода ошибки инструкцию на вывод информации об ошибке в следующих случаях: когда доступная область памяти не была найдена в блоке 118 памяти с высоким уровнем защиты при условии, что старший значащий бит содержит "0" и два младших значащих бита равны "00"; когда доступная область памяти не была обнаружена в блоке 102 памяти с низким уровнем защиты при условии, что старший значащий бит представляет "0" и два младших значащих бита представляют "10"; когда доступная область для сохранения не была найдена ни в одном блоке 118 памяти с высоким уровнем защиты и блоке 102 памяти с низким уровнем защиты при условии, что старший значащий бит представляет "1", или при условии, что старший значащий бит представляет "0" и два младших значащих бита представляют "11".

Блок 114 перемещения, в случае когда доступная область памяти не была найдена в блоке 118 памяти с высоким уровнем защиты и старший значащий бит дополнительной информации содержит "0" и два ее младших значащих бита представлены "01", считывает дополнительную информацию, добавленную к каждой программе, записанной в блок 118 памяти с высоким уровнем защиты, и выделяет дополнительную информацию, старший значащий бит которой представлен "0", или два младших значащих бита которой представлены "11", затем перемещает программы, имеющие выделенную дополнительную информацию в блок 102 памяти с низким уровнем защиты для выделения доступной области памяти в блоке 118 памяти с высоким уровнем защиты, для записи в него программы, полученной в блоке 101 приема программы.

При этом, если свободная область памяти, имеющая требуемую емкость, не будет найдена, в блок 116 вывода ошибки будет подана команда на вывод информации об ошибке. Здесь следует отметить, что в указанном случае также можно определять в качестве адресата информации для хранения область памяти в блоке 118 памяти с высоким уровнем защиты, в которой уже была сохранена другая программа.

Блок 115 записи программы записывает программу, полученную блоком 101 приема программы, в адресат информации для хранения, который был определен блоком 113 определения уровня защиты или который был выделен блоком 114 перемещения.

Блок 116 вывода ошибки передает информацию об ошибке в мобильный телефон в соответствии с инструкцией, переданной из блока 113 определения уровня защиты, который принял решение на вывод информации об ошибке, и отображает на устройстве дисплея мобильного телефона сообщение о том, что запись цифровых данных невозможна.

Блок 117 криптографической обработки записывает информацию идентификатора ID в каждое защищенное устройство. При записи программы, полученной в блоке 101 приема программы, в блок 102 памяти с низким уровнем защиты или при перемещении программы из блока 118 памяти с высоким уровнем защиты в блок 102 с низким уровнем защиты блок 117 криптографической обработки добавляет информацию MAC к программе и вводит цифровую подпись в программу при условии, что четвертый младший значащий бит дополнительной информации представляет "1", и шифрует программу с использованием записанной информации идентификации ID, если третий младший значащий бит дополнительной информации представлен как "1".

Следует отметить, что при записи программы в блок 118 памяти с высоким уровнем защиты блок 117 криптографической обработки может добавлять информацию MAC в программу и вводить цифровую подпись в программу, если четвертый младший значащий бит дополнительной информации содержит "1", и шифровать программу с использованием записанной информации идентификации ID, если третий младший значащий бит дополнительной информации представляет "1".

<Порядок работы>

На фиг.4 представлен порядок обработки программы в защищенном устройстве 100 в соответствии с первым вариантом выполнения настоящего изобретения.

Ниже описан порядок работы при обработке загрузки программы.

(1) Блок 101 приема программы получает программу и соответствующую дополнительную информацию из мобильного телефона (S1).

(2) Блок 111 анализа дополнительной информации анализирует, содержит ли старший значащий бит дополнительной информации "0" (S2).

(3) Если старший значащий бит представляет "1", блок 112 поиска области памяти выполняет поиск свободной области памяти, в которой можно записать программу, принятую блоком 101 приема программы, в блоке 118 памяти с высоким уровнем защиты и в блоке 102 памяти с низким уровнем защиты, для определения, содержит ли, по меньшей мере, один из блоков памяти доступную область памяти (S3). Если такая область памяти не существует, выполняется обработка ошибки.

(4) Если будет найдена, по меньшей мере, одна область памяти, такую одну область памяти определяют как адресат информации для хранения программы в соответствии с прямой инструкцией от пользователя или заранее установленной инструкцией пользователя (S4).

(5) Если старший значащий бит содержит "0", блок 113 определения уровня защиты определяет, содержат ли два младших значащих бита дополнительной информации "10" или нет (S5).

(6) Если два младших значащих бита содержат "10", блок 112 поиска области памяти выполняет поиск достаточно большой свободной области памяти для размещения программы, принятой блоком 101 приема программы в блоке 102 с низким уровнем защиты, для определения, содержит ли блок 102 памяти с низким уровнем защиты такую область памяти (S6). Если будет определено, что такая область памяти не существует, выполняют обработку ошибки.

(7) Если определяют, что доступная область памяти существует, блок 113 определения уровня защиты определяет область памяти как адресат информации для хранения (S7).

(8) Если два младших значащих бита не содержат "10", блок 112 поиска области памяти выполняет поиск в блоке 118 памяти с высоким уровнем защиты достаточно большой свободной области памяти для записи в нем программы, принятой блоком 110 приема программы (S8).

(9) Если будет определено, что такая область памяти существует, блок 113 определения уровня защиты определяет область памяти в блоке 118 памяти с высоким уровнем защиты в качестве адресата информации для хранения (S9).

(10) Если будет определено, что такая область памяти отсутствует, блок 113 определения уровня защиты определяет, представляют ли два младших значащих бита дополнительной информации "00" или нет (S10). Если два младших значащих бита содержат "00", выполняют обработку ошибки.

(11) Если два младших значащих бита не содержат "00", блок 113 определения уровня защиты определяет, представляют ли два младших значащих бита "01" (S11).

(12) Если два младших значащих бита представляют "01", блок 114 перемещения перемещает программу, записанную в блоке 118 памяти с высоким уровнем защиты, в блок 102 памяти с низким уровнем защиты в соответствии с дополнительной информацией, добавленной к записанной программе, для выделения области памяти в блоке 118 памяти с высоким уровнем защиты (S12). Если достаточную область памяти нельзя освободить, выполняют обработку ошибки.

При этом, если в каждом случае для программы, перемещаемой из блока 118 памяти с высоким уровнем защиты, перед перемещением программы не была выполнена криптографическая обработка в блоке 117 криптографической обработки, в программу добавляют информацию MAC и вводят цифровую подпись в соответствии с четвертым младшим значащим битом дополнительной информации, и выполняют шифрование программы в соответствии со значением третьего младшего значащего бита.

(13) Если два младших значащих бита не содержат "01", это означает, что они содержат "11". Поэтому блок 112 поиска области памяти выполняет поиск свободной области памяти, достаточно большой для записи в нее программы, полученной блоком 101 приема программы, в блоке 102 памяти с низким уровнем защиты (S13). Если будет определено, что такая область памяти отсутствует, выполняют обработку ошибки.

(14) Если определяют, что такая область памяти существует, блок 113 определения уровня защиты определяет найденную область памяти в блоке 102 памяти с низким уровнем защиты как адресат информации для хранения (S14).

(15) Блок 115 памяти программы записывает программу в определенный или выделенный адресат информации для хранения (S19).

В данном случае при записи программы в блок 102 памяти с низким уровнем защиты блок 111 анализа дополнительной информации выполняет анализ четвертого и третьего младших значащих битов дополнительной информации, и в соответствии с результатом анализа блок 117 криптографической обработки добавляет информацию MAC и вводит цифровую подпись, и шифрует программу.

(16) Если адресат информации для хранения не будет определен или выделен, блок 116 вывода ошибки возвращает информацию об ошибке в мобильный телефон (S20).

(Второй вариант выполнения)

<Структура защищенного устройства>

На фиг.5 показана структура защищенного устройства 200, относящегося ко второму варианту выполнения настоящего изобретения.

Здесь следует отметить, что компоненты, одинаковые с первым вариантом выполнения, обозначены теми же ссылочными номерами, что и в первом варианте выполнения, и не описаны в следующем описании.

Защищенное устройство 200, показанное на фиг. 5, содержит за пределами TRM 210 блок 101 приема программы и блок 102 памяти с низким уровнем защиты и содержит в TRM 210 блок 118 памяти с высоким уровнем защиты, блок 111 анализа дополнительной информации, блок 112 поиска области памяти, блок 213 определения уровня защиты, блок 214 перемещения, блок 115 записи программы, блок 116 вывода ошибки и блок 117 криптографической обработки.

Блок 213 определения уровня защиты записывает в блок 118 памяти с высоким уровнем защиты программу, имеющую очередной наивысший приоритет. В случае, когда в блоке 118 памяти с высоким с уровнем защиты больше нет доступной области памяти, блок 213 определения уровня защиты использует для записи программ блок 102 памяти с низким уровнем защиты и в случае необходимости передает инструкции в блок 116 вывода ошибки на вывод информации об ошибке.

На фиг. 6 показана дополнительная информация для второго варианта выполнения.

Как показано на фиг. 6, во втором варианте выполнения дополнительная информация содержит 5 битов.

Два младших значащих бита дополнительной информации могут принимать одно из значений "00", "01", "10" и "11", которые представляют четыре уровня приоритета соответствующей программы.

Если два младших значащих бита представляют "00", это указывает на то, что программа имеет наивысший приоритет.

Если два младших значащих бита представляют "01", это указывает на то, что программа имеет второй от наивысшего приоритет.

Если два младших значащих бита представляют "10", это указывает на то, что программа имеет третий по значимости приоритет.

Если два младших значащих бита представляют "11", это указывает на то, что программа имеет самый низкий из четырех уровней приоритета.

Третий, четвертый и самый старший значащие биты дополнительной информации имеют то же значение, что и в первом варианте выполнения.

При этом блок 213 определения уровня защиты в случае, когда доступная область памяти будет найдена в блоке 118 памяти с высоким уровнем защиты, определяет найденную область памяти в блоке 118 памяти с высоким уровнем защиты как адресат информации для хранения.

Затем блок 213 определения уровня защиты передает инструкцию в блок 214 перемещения на выделение области в блоке 118 памяти с высоким уровнем защиты, когда доступная область памяти не была найдена в блоке 118 памяти с высоким уровнем защиты и когда старший значащий бит дополнительной информации содержит "0" и два младших значащих бита его содержат одно из значений "00", "01" и "10".

Затем блок 213 определения уровня защиты определяет найденную область памяти в блоке 102 памяти с низким уровнем защиты как адресат информации для хранения, когда доступная область памяти не была найдена в блоке 118 памяти с высоким уровнем защиты, но была найдена в блоке 102 памяти с низким уровнем защиты при условии, что старший значащий бит дополнительной информации содержит "0" и два младших значащих бита содержат "11".

Блок 214 перемещения в случае, когда не была найдена доступная область памяти в блоке 118 памяти с высоким уровнем защиты и когда старший значащий бит дополнительной информации записываемой программы представляет "0" и два младших значащих бита представляют одно из значений "00", "01" и "10", считывает дополнительную информацию, добавляемую к каждой программе, записанной в блоке 118 памяти с высоким уровнем защиты, выделяет дополнительную информацию с более низким уровнем приоритета, чем дополнительная информация записываемой программы, перемещает программы, соответствующие выделенной дополнительной информации в блок 102 памяти с низким уровнем защиты, для выделения области памяти в блоке 118 памяти с высоким уровнем защиты для записи в него программы, принятой блоком 101 приема программы.

Таким образом, если область памяти нельзя будет выделить в блоке 118 памяти с высоким уровнем защиты, область памяти должна быть выделена в блоке 102 памяти с низким уровнем защиты.

Если в блоке 102 памяти с низким уровнем защиты также нельзя выделить область памяти, блок 213 определения уровня защиты передает инструкцию в блок 116 выдачи ошибки на вывод информации об ошибке.

Кроме того, предположим, что используется компоновка, при которой, если второй бит со стороны младших значащих битов дополнительной информации равен "0", запись программы разрешена только в блок 118 памяти с высоким уровнем защиты. В таком случае блок 214 перемещения не выполняет перемещение программы, соответствующей дополнительной информации, второй бит которой со стороны младших значащих битов содержит "0".

И когда в блоке 118 памяти с высоким уровнем зашиты не найдена область памяти и когда второй бит со стороны младших значащих битов дополнительной информации содержит "0", блок 213 определения уровня защиты не определяет область памяти, найденную в блоке 102 памяти с низким уровнем защиты в качестве адресата информации для хранения, и вместо этого вырабатывает инструкцию в блок 116 вывода ошибки на вывод сообщения об ошибке.

<Порядок работы>

На фиг.7 показан порядок выполнения обработки программы в защищенном устройстве 200, относящемся ко второму варианту выполнения настоящего изобретения.

Ниже описан порядок обработки при загрузке программы.

Здесь следует отметить, что этапы, идентичные описанным в первом варианте выполнения, обозначены теми же ссылочными номерами, и их описание не приведено.

(1) Та же операция что и в пункте (1) в первом варианте выполнения.

(2) Та же операция что и в пункте (2) в первом варианте выполнения.

(3) Та же операция что и в пункте (3) в первом варианте выполнения.

(4) Та же операция что и в пункте (4) в первом варианте выполнения.

(5) Если старший значащий бит содержит "0", блок 112 поиска области памяти выполняет поиск области памяти, достаточно большой для записи программы, принятой блоком 101 приема программы, в блоке 118 памяти с высоким уровнем защиты, для определения, содержит ли блок 118 памяти с высоким уровнем защиты такую область памяти (S21).

(6) Если область памяти существует, блок 113 определения уровня защиты определяет область памяти в блоке 118 памяти с высоким уровнем защиты в качестве адресата информации для хранения (S22).

(7) Если область памяти отсутствует, блок 113 определения уровня защиты определяет, содержат ли два младших значащих бита дополнительной информации "11" или нет (S23).

(8) Если два младших значащих бита содержат "11", блок 112 поиска области памяти выполняет поиск достаточно большой области памяти для размещения программы, принятой блоком 101 приема программы, в блоке 102 памяти с низким уровнем защиты для определения, содержит ли блок 102 памяти с низким уровнем защиты такую область памяти (S24). Если будет определено, что область памяти отсутствует, выполняют обработку ошибки.

(9) Если будет определено, что область памяти существует, блок 113 определения уровня защиты определяет найденную область памяти в блоке 102 памяти с низким уровнем защиты в качестве адресата информации для хранения (S25).

(10) Если два младших значащих бита не содержат "11", блок 214 перемещения считывает дополнительную информацию, соответствующую каждой из программ, записанных в блок 118 памяти с высоким уровнем защиты выделяет дополнительную информацию, имеющую более низкий приоритет, чем дополнительная информация программы, записываемой в данное время, и перемещает программу, дополнительная информация которой имеет более низкий приоритет, в блок 102 памяти с низким уровнем защиты, и выделяет область памяти в блоке 118 памяти с высоким уровнем защиты, в которую может быть записана программа, принятая в блоке 101 приема программы (S26).

При этом, если в отношении каждой программы, перемещаемой из блока 118 памяти с высоким уровнем защиты, еще не была выполнена криптографическая обработка блоком 117 криптографической обработки, перед перемещением в блок 102 памяти с низким уровнем защиты к программе добавляют информацию MAC и вводят цифровую подпись в соответствии с четвертым младшим значащим битом дополнительной информации, и шифруют в соответствии со значением третьего младшего значащего бита.

(11) Если область памяти не было выделена в блоке 118 памяти с высоким уровнем защиты, область памяти будет выделена в блоке 102 памяти с низким уровнем защиты (S27). Если область памяти будет невозможно выделить даже в блоке 102 памяти с низким уровнем защиты, выполняют обработку ошибки.

(12) Та же операция что и в пункте (15) в первом варианте выполнения (S15).

(13) Та же операция что и в пункте (16) в первом варианте выполнения (S16).

(Варианты)

Следует отметить, что также возможна компоновка, в которой дополнительную информацию записывают вместе с идентификатором ID программы в заголовке файла программы, и информацию MAC добавляют, и цифровую подпись вводят в весь файл программы, включая заголовок. И при этом защищенное устройство в качестве условия загрузки программы выполняет аутентификацию информации MAC и цифровой подписи. Или при выполнении программы может выводиться дополнительная информация.

Кроме того, в первом и втором вариантах выполнения настоящего изобретения дополнительную информацию записывают вместе с программой и используют при перемещении программы. Однако, если дополнительная информация не будет использована, нет необходимости записывать такую дополнительную информацию, поскольку программу не будут перемещать. Поэтому в этом случае может записываться только программа без ее дополнительной информации.

Кроме того, в первом и втором вариантах выполнения настоящего изобретения существуют два вида элементов памяти, предназначенных для записи программы, каждый из которых может иметь различный уровень защиты. Однако могут существовать три или больше элементов памяти, уровни защиты которых отличаются друг от друга.

Кроме того, в первом и втором вариантах выполнения настоящего изобретения каждая программа содержит часть дополнительной информации. Однако одна программа может иметь две или больше частей дополнительной информации. Например, программу разделяют на множество подпрограмм. При такой компоновке путем добавления соответствующей части дополнительной информации к подпрограмме осуществляется возможность записи только наиболее конфиденциальной подпрограммы в элемент памяти, имеющий самый высокий уровень защиты, такой как подпрограмма, непосредственно относящаяся к обработке начисления счетов в программе учета расходов. В другом примере обеспечивается возможность отделять основную программу от других подпрограмм и добавлять дополнительную информацию к каждой программе. При этом затрудняется считывание значения всей программы при записи основной программы в элемент памяти, имеющий высокий уровень защиты, или при записи наиболее конфиденциальных подпрограмм в элемент памяти, имеющий высокий уровень защиты.

Кроме того, хотя в первом и втором вариантах выполнения предусмотрена загрузка программы, также может быть обеспечена загрузка цифрового содержания или других цифровых данных.

(Выводы)

Как указано выше, защищенное устройство в соответствии с настоящим изобретением позволяет определять адресат информации для хранения программы на основе дополнительной информации, соответствующей этой программе. Поэтому, когда программа превышает емкость области памяти, установленной в TRM, администратор программы может устанавливать дополнительную информацию для обеспечения безопасности, требуемой администратором при загрузке программы.

Промышленная применимость

Настоящее изобретение можно использовать для обеспечения услуг по поставке электронной информации различного рода, таких как услуги по поставке содержания и услуг мобильной электронной торговли (EC), при выполнении которых происходит поставка музыкального содержания или содержания подвижного изображения по таким сетям, как Интернет.

Защищенное устройство в соответствии с настоящим изобретением позволяет загружать программу, превышающую емкость области памяти, установленной в TRM, при обеспечении безопасности, требуемой администратором программы. Пользователь защищенного устройства может безопасно пользоваться услугами поставки содержания, услугами мобильной EC и т.п., находясь в пути, при установке защищенного устройства, в соответствии с настоящим изобретением, в мобильный телефон пользователя.

1. Защищенное устройство, содержащее множество блоков памяти, каждый из которых имеет область памяти и соответствует некоторому уровню защиты, блок приема, выполненный с возможностью приема цифровых данных и адресной информации, добавленной к цифровым данным, причем адресная информация определяет уровень защиты, требуемый для цифровых данных, и используется для определения блока памяти, используемого в качестве адресата информации для хранения цифровых данных, лок поиска, выполненный с возможностью поиска среди блоков памяти, соответствующих уровням защиты не ниже, чем уровень защиты, определенный адресной информацией, всех блоков памяти, имеющих свободную область памяти для размещения цифровых данных, блок определения, выполненный с возможностью определения блока памяти, соответствующего самому высокому уровню защиты среди всех найденных блоков памяти, имеющих свободную область памяти для размещения цифровых данных, в качестве адресата информации для хранения цифровых данных и блок хранения, выполненный с возможностью хранения цифровых данных в блоке памяти, определенном блоком определения.

2. Защищенное устройство по п.1, дополнительно содержащее блок вывода, выполненный с возможностью вывода информации об ошибке в случае, когда ни один из блоков памяти не был найден блоком поиска, для представления пользователю сообщения о том, что цифровые данные не могут быть сохранены.

3. Защищенное устройство по п.1, дополнительно содержащее блок перемещения, выполненный с возможностью, когда блок поиска не нашел ни один блок памяти, (1) считывания адресной информации, соответствующей каждым цифровым данным, уже сохраненным в любом из множества блоков памяти, соответствующих уровню защиты не ниже, чем первый уровень защиты, причем первый уровень защиты представляет собой уровень защиты, определяемый адресной информацией, которая соответствует цифровым данным, принятым блоком приема, (2) выделения из считанной адресной информации адресной информации, определяющей более низкий уровень защиты, чем первый уровень защиты, и (3) перемещения цифровых данных, соответствующих выделенной адресной информацией, в блок памяти, соответствующий уровню защиты, который ниже, чем первый уровень защиты, но не ниже, чем каждый из уровней защиты, определяемых выделенной адресной информацией, для выделения области памяти для приема цифровых данных, причем блок хранения выполнен с возможностью хранения принятых цифровых данных в области памяти, выделенной блоком перемещения.

4. Защищенное устройство по п.3, в котором адресная информация, считанная блоком перемещения, определяет, следует ли шифровать при перемещении цифровые данные, соответствующие считанной адресной информации, и блок перемещения выполнен с возможностью избирательного шифрования перемещаемых цифровых данных в соответствии с адресной информацией, соответствующей перемещаемым цифровым данным, и перемещения цифровых данных, предназначенных для перемещения.

5. Защищенное устройство по п.3, в котором адресная информация, считанная блоком перемещения, определяет, следует ли к цифровым данным, соответствующим считанной адресной информации, добавлять код аутентификации сообщения при перемещении, и блок перемещения выполнен с возможностью избирательного добавления кода аутентификации сообщения к перемещаемым цифровым данным, в соответствии с адресной информацией, соответствующей перемещаемым цифровым данным, и перемещения цифровых данных, предназначенных для перемещения.

6. Защищенное устройство по п.3, в котором адресная информация, считываемая блоком перемещения, определяет, следует ли вводить при перемещении цифровую подпись в цифровые данные, соответствующие считанной адресной информации, и блок перемещения выполнен с возможностью избирательного ввода цифровой подписи в цифровые данные при перемещении в соответствии с адресной информацией, соответствующей перемещаемым цифровым данным, и перемещения цифровых данных, предназначенных для перемещения.

7. Защищенное устройство по п.3, дополнительно содержащее блок вывода, выполненный с возможностью вывода информации об ошибке, когда блок перемещения не может выделить область памяти, для представления пользователю сообщения о том, что принятые цифровые данные не могут быть сохранены.

8. Защищенное устройство по п.1, дополнительно содержащее блок обработки, выполненный с возможностью определения на основе адресной информации блока памяти, в котором должны быть сохранены цифровые данные.

9. Защищенное устройство по п.1, дополнительно содержащее центральное процессорное устройство (ЦПУ), выполненное с возможностью определения на основе адресной информации блока памяти, в котором должны быть сохранены цифровые данные.

10. Защищенное устройство по п.1, дополнительно содержащее блок, выполненный с возможностью определения на основе адресной информации блока памяти, в котором должны быть сохранены цифровые данные.

11. Защищенное устройство, содержащее множество блоков памяти, каждый из которых имеет область памяти, блок приема, выполненный с возможностью приема цифровых данных и адресной информации, добавленной к цифровым данным, причем адресная информация используется для определения блока памяти, используемого в качестве адресата информации для хранения цифровых данных, при этом адресная информация определяет, можно ли перед сохранением цифровых данных в защищенном устройстве произвольно определять адресата информации для хранения цифровых данных, и защищенное устройство дополнительно содержит блок обработки, выполненный с возможностью хранения цифровых данных в соответствии с адресной информацией либо в произвольно определенном блоке памяти, либо в блоке памяти, определенном на основе адресной информации.

12. Защищенное устройство, содержащее множество блоков памяти, каждый из которых имеет область памяти и соответствует некоторому уровню защиты, блок приема, выполненный с возможностью приема цифровых данных и адресной информации, добавленной к цифровым данным, причем адресная информация используется для определения блока памяти, используемого в качестве адресата информации для хранения цифровых данных, при этом адресная информация определяет, следует ли шифровать цифровые данные перед сохранением цифровых данных в блоке памяти, соответствующем более низкому уровню защиты, чем заранее определенный уровень защиты, и защищенное устройство дополнительно содержит блок обработки, выполненный с возможностью хранения цифровых данных в блоке памяти, используемом в качестве адресата для хранения информации, и избирательного шифрования цифровых данных перед сохранением цифровых данных в блоке памяти с более низким уровнем защиты, в соответствии с адресной информацией.

13. Защищенное устройство, содержащее множество блоков памяти, каждый из которых имеет область памяти и соответствует некоторому уровню защиты, блок приема, выполненный с возможностью приема цифровых данных и адресной информации, добавленной к цифровым данным, причем адресная информация определяет уровень защиты, требуемый для цифровых данных, и используется для определения блока памяти, используемого в качестве адресата информации для хранения цифровых данных, при этом адресная информация определяет уровень приоритета цифровых данных, принятых в блоке приема, причем, по меньшей мере, в одном блоке памяти уже сохранены цифровые данные, при этом каждая часть уже сохраненных цифровых данных соответствует некоторому уровню приоритета, причем уже сохраненные цифровые данные сохраняют в множестве блоков памяти в таком состоянии, что цифровые данные, соответствующие более высокому уровню приоритета, сохраняют в блоке памяти, соответствующем более высокому уровню защиты, и защищенное устройство дополнительно содержит блок обработки, выполненный с возможностью сохранения принятых цифровых данных в блоке памяти, используемом в качестве адресата для хранения информации, в соответствии с уровнем приоритета, определяемым адресной информацией, для поддержания состояния, при котором цифровые данные, соответствующие более высокому уровню приоритета, сохраняют в блоке памяти, соответствующем более высокому уровню защиты.

14. Защищенное устройство по п.13, в котором каждая часть уже сохраненных цифровых данных соответствует адресной информации, определяющей уровень приоритета, и блок обработки дополнительно содержит подблок перемещения, выполненный с возможностью, при работе с множеством блоков памяти, в последовательности, начиная с блока памяти, соответствующего самому высокому уровню защиты, (1) определения, содержат ли какие-либо из множества блоков памяти свободную область памяти, для размещения принятых цифровых данных, (2) считывания, при получении отрицательного результата определения, адресной информации, соответствующей цифровым данным, сохраненным в блоке памяти, (3) выделения каждой части адресной информации, определяющей более низкий уровень приоритета, чем уровень приоритета, определяемый адресной информацией, соответствующей принятым цифровым данным, (4) перемещения цифровых данных, соответствующих выделенной адресной информации, в блок памяти, соответствующий более низкому уровню защиты, чем уровень защиты, определяемый выделенной адресной информацией, (5) повторения этапов (1)-(4) до тех пор, пока не будет получен результат в виде утвердительного решения по выделению области памяти для принятых цифровых данных, и подблок хранения, выполненный с возможностью хранения принятых цифровых данных в области памяти, выделенной подблоком перемещения.

15. Защищенное устройство по п.14, в котором адресная информация, считанная подблоком перемещения, определяет, следует ли шифровать при перемещении цифровые данные, соответствующие считанной адресной информации, и подблок перемещения выполнен с возможностью избирательного шифрования перемещаемых цифровых данных, в соответствии с адресной информацией, соответствующей перемещаемым цифровым данным, и перемещения цифровых данных, предназначенных для перемещения.

16. Защищенное устройство по п.14, в котором адресная информация, считанная подблоком перемещения, определяет, следует ли к цифровым данным, соответствующим считанной адресной информации, добавлять код аутентификации сообщения при перемещении, и подблок перемещения выполнен с возможностью избирательного добавления кода аутентификации сообщения к перемещаемым цифровым данным, в соответствии с адресной информацией, соответствующей перемещаемым цифровым данным, и перемещения цифровых данных, предназначенных для перемещения.

17. Защищенное устройство по п.14, в котором адресная информация, считанная подблоком перемещения, определяет, следует ли вводить при перемещении цифровую подпись в цифровые данные, соответствующие считанной адресной информации, и подблок перемещения выполнен с возможностью избирательного ввода цифровой подписи в цифровые данные при перемещении, в соответствии с адресной информацией, соответствующей перемещаемым цифровым данным, и перемещения цифровых данных, предназначенных для перемещения.

18. Защищенное устройство по п.14, в котором адресная информация дополнительно определяет уровень защиты, причем подблок перемещения не выполняет обработку по этапам (1)-(5) для блока памяти, соответствующего более низкому уровню защиты, чем уровень защиты, определяемый адресной информацией, соответствующей принятым цифровым данным, и блок обработки дополнительно содержит подблок вывода, выполненный с возможностью вывода информации об ошибке, для представления пользователю сообщения о том, что принятые цифровые данные невозможно сохранить, если подблок перемещения не может выделить область памяти.

19. Защищенное устройство, содержащее множество блоков памяти, каждый из которых имеет область памяти, блок приема, выполненный с возможностью приема цифровых данных и адресной информации, добавленной к цифровым данным, причем адресная информация определяет уровень защиты, требуемый для цифровых данных, и используется для определения блока памяти, используемого в качестве адресата информации для хранения цифровых данных, причем цифровые данные, принятые в блоке приема, представляют собой компьютерную программу, которая включает в себя множество подпрограмм, причем каждая подпрограмма соответствует адресной информации, и защищенное устройство дополнительно содержит блок обработки, выполненный с возможностью сохранения каждой подпрограммы в блоке памяти, определяемом на основе адресной информации, соответствующей подпрограмме.

20. Защищенное устройство, содержащее множество блоков памяти, каждый из которых имеет область памяти и соответствует некоторому уровню защиты, блок приема, выполненный с возможностью приема цифровых данных и адресной информации, добавленной к цифровым данным, причем адресная информация определяет уровень защиты, требуемый для цифровых данных, и используется для определения блока памяти, используемого в качестве адресата информации для хранения цифровых данных, причем цифровые данные представляют собой компьютерную программу, которая включает в себя одну основную программу и подпрограммы, причем основная программа и каждая из подпрограмм соответствуют адресной информации, при этом адресная информация, соответствующая основной программе, определяет, что основная программа должна быть сохранена в блоке памяти, соответствующем высокому уровню защиты, и защищенное устройство дополнительно содержит блок обработки, выполненный с возможностью сохранения каждой программы в блоке памяти, определяемом на основе адресной информации, соответствующей программе.

21. Защищенное устройство, содержащее множество блоков памяти, каждый из которых имеет область памяти, и блок приема, выполненный с возможностью приема цифровых данных и адресной информации, добавленной к цифровым данным, причем адресная информация определяет уровень защиты, требуемый для цифровых данных, и используется для определения блока памяти, используемого в качестве адресата информации для хранения цифровых данных, причем в цифровые данные либо вводят цифровую подпись или к ним добавляют идентификатор аутентификации, причем цифровая подпись и идентификатор аутентификации показывают либо 1) правильность адресной информации, или 2) правильность соответствия между цифровыми данными и адресной информацией, и защищенное устройство дополнительно содержит блок обработки, выполненный с возможностью осуществления аутентификации в соответствии с цифровой подписью или идентификатором аутентификации, и сохранения цифровых данных в блоке памяти, используемом в качестве адресата для хранения информации, только если аутентификация была выполнена успешно.

22. Способ сохранения для защищенного устройства, причем защищенное устройство включает в себя множество блоков памяти, каждый из которых содержит область памяти, заключающийся в том, что принимают цифровые данные, которым соответствует адресная информация, причем адресную информацию используют для определения блока памяти, используемого в качестве адресата информации для хранения цифровых данных, и осуществляют поиск среди защищенных устройств, соответствующих уровням защиты не ниже, чем уровень защиты, определенный адресной информацией, всех защищенных устройств, имеющих свободную область памяти для размещения цифровых данных, определяют защищенное устройство, соответствующее самому высокому уровню защиты среди всех найденных защищенных устройств, имеющих свободную область памяти для размещения цифровых данных, в качестве адресата информации для хранения цифровых данных, и сохраняют цифровые данные в определенном защищенном устройстве.



 

Похожие патенты:

Изобретение относится к устройству и способу управления воспроизведением содержания. .

Изобретение относится к способам и системам проверки подлинности компонентов при использовании графической системы, которая обеспечивает криптографическую защиту содержимого, направляемого через графический конвейер.

Изобретение относится к устройству, программе и способу обработки лицензии. .

Изобретение относится к электросвязи и может быть использовано в системах обнаружения атак с целью оперативного выявления и противодействия несанкционированным воздействиям в вычислительных сетях.

Изобретение относится к вычислительной технике. .

Изобретение относится к системам распространения информации. .

Изобретение относится к устройствам обработки информации. .

Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано для решения задач автоматизированного сравнения и анализа на основе преобразования неструктурированного потока входных данных в объектную форму.

Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано для решения задач автоматизированного сравнения и анализа на основе преобразования неструктурированного потока входных данных в объектную форму.

Изобретение относится к устройству и способу мультимедийных данных. .
Изобретение относится к области вычислительной техники и может быть использовано для создания многопроцессорных многопоточных ЭВМ. .
Изобретение относится к области вычислительной техники и может быть использовано для создания многопроцессорных многопоточных ЭВМ. .

Изобретение относится к области электрорадиотехники и может быть использовано для проверки функционирования DVD плеера. .

Изобретение относится к области электрорадиотехники и может быть использовано для проверки функционирования DVD плеера. .

Изобретение относится к цифровой обработке сигналов, в частности к помечанию событий меткой времени. .
Наверх