RU2295834C2 - Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей средство управления доступом к данным - Google Patents
Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей средство управления доступом к данным Download PDFInfo
- Publication number
- RU2295834C2 RU2295834C2 RU2004133759/09A RU2004133759A RU2295834C2 RU 2295834 C2 RU2295834 C2 RU 2295834C2 RU 2004133759/09 A RU2004133759/09 A RU 2004133759/09A RU 2004133759 A RU2004133759 A RU 2004133759A RU 2295834 C2 RU2295834 C2 RU 2295834C2
- Authority
- RU
- Russia
- Prior art keywords
- integrated system
- data
- code
- software
- encrypted
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
Abstract
Изобретение относится к обработке запросов и передаче данных в рамках интегрированной системы. Техническим результатом является расширение функциональных возможностей. Способ обеспечения защищенного режима работы интегрированной системы с несколькими уровнями программного обеспечения заключается в расшифровке кода инициализации, аутентификации программного обеспечения следующего уровня и ограничении возможности программного обеспечения этого следующего уровня по изменению рабочей характеристики системы. Способ инициализации защищенного режима работы указанной системы заключается в генерировании по меньшей мере одного ключа, загрузке начального кода, повторной инициализации системы. Способ перевода данных заключается в шифровании данных с использованием первого набора ключей, в расшифровке, повторном шифровании с использованием второго набора ключей, изменении по меньшей мере одной рабочей характеристики, связанной со средством управления доступом к данным. Способ восстановления функциональности интегрированной системы заключается в блокировке доступа к имеющимся в интегрированной системе защищенному коду и данным и обеспечении полного восстановления функциональности этой системы. 4 н. и 25 з.п. ф-лы, 16 ил.
Description
Настоящее изобретение в целом относится к обработке запросов на получение данных и передаче данных в рамках интегрированной системы, более точно к способам инициализации, поддержания, обновления и восстановления защищенного режима работы интегрированной системы, которые по меньшей мере частично реализуются при помощи имеющегося в интегрированной системе средства управления доступом к данным.
В настоящее время принято объединять несколько ведущих (активных) устройств системы на общей микросхеме, т.е. чипе или кристалле. При начальной разработке структуры объединения множества дискретных компонентов на общей микросхеме может возникнуть проблема доступа к внешним устройствам. Например, в системах видеодекодирования MPEG для различных областей данных часто используется внешняя память или буферы, такие как кадровые буферы. Такую внешнюю память обычно реализуют на основе технологии DRAM (динамическая оперативная память) или SDRAM (синхронная динамическая память).
Существуют два стандартных принципа обеспечения доступа к внекристальной памяти. В первом случае каждый внутрикристальный функциональный модуль или устройство получает доступ к требуемому внешнему устройству или устройствам через шину данных, закрепленную конкретно за этим устройством. Несмотря на то, что данное решение эффективно в локальном случае осуществления доступа к внешнему устройству, оно малоэффективно в целом в рамках интегрированной системы. Например, несмотря на то, что каждая функция имеет полный доступ к области собственной внешней памяти, для нескольких функций интегрированной системы коллективный доступ не предусмотрен. В связи с этим часто приходится осуществлять передачу данных из одной области памяти системы в другую. Очевидно, что при этом увеличивается объем передаваемых данных и ухудшается работа всей системы по сравнению с системой, имеющей совместно используемую память.
Второе решение заключается в использовании в интегрированной системе одной общей шины, при помощи которой один или несколько функциональных модулей системы могут связываться с внешними устройствами через единый порт. Несмотря на то, что при этом обеспечивается коллективный доступ к устройствам, недостатком данного решения является сложность управления доступом к содержанию или другим уязвимым данным интегрированной системы. Например, при использовании в интегрированной системе общего пула памяти большого объема становится сложно предотвращать несанкционированный доступ к защищенным областям памяти, таким как сжатые данные, поступившие из транспортного демультиплексора в декодер телевизионной приставки. Это особенно относится к системе с открытым интерфейсом программирования, в которой поощряется внешняя разработка. Каждый из ведущих функциональных модулей должен иметь возможность доступа к области памяти, при этом невозможно отличить, осуществляется ли доступ проверенным ведущим устройством или в результате внешнего запроса, например, поступающего через непроверенное или открытое ведущее устройство.
Кроме того, при работе с интегрированной на кристалле системой, имеющей несколько ведущих функциональных устройств, имеющих доступ к совместно используемой памяти, желательно обеспечить механизм защиты данных от несанкционированного доступа, в особенности, если такие данные представляют собой код системного программирования устройства. В частности, создание условий для инициализации защищенной операционной среды начинается с обеспечения защиты системного кода и выполнения им заданных функций. Таким образом, для обеспечения защищенной операционной среды интегрированную систему следует запустить или загрузить в защищенном режиме.
Ввиду вышеизложенного, в области совершенствования управления доступом к данным существует ряд задач, требующих решения. В частности, это задача создания способов инициализации, поддержания, обновления и восстановления защищенного режима работы интегрированной системы.
Для преодоления недостатков уровня техники и получения дополнительных преимуществ предложен способ обеспечения защищенного режима работы интегрированного устройства, имеющего несколько уровней программного обеспечения. Согласно предложенному способу инициализацию системы начинают расшифрованием хранящегося зашифрованного кода инициализации, причем расшифрование выполняют при помощи имеющегося в интегрированной системе средства управления доступом к данным, перед передачей управления интегрированной системой программному обеспечению следующего уровня аутентифицируют программное обеспечение этого следующего уровня и ограничивают возможности программного обеспечения указанного следующего уровня по изменению рабочей характеристики интегрированной системы, причем указанное ограничение осуществляют указанным средством управления доступом к данным, реализованным аппаратно.
Еще одним объектом изобретения является способ инициализации защищенного режима работы интегрированной системы. Этот способ заключается в том, что для интегрированной системы генерируют по меньшей мере один ключ, в интегрированную систему загружают начальный код, причем во время записи начального кода интегрированной системой в память начальный код автоматически зашифровывают внутри интегрированной системы с использованием по меньшей мере одного сгенерированного ключа и с помощью имеющегося в интегрированной системе средства управления доступом к данным, и повторно инициализируют (переинициализируют) интегрированную систему, используя зашифрованный начальный код, при этом инициализацию системы начинают автоматическим расшифрованием хранящегося зашифрованного начального кода, выполняемым указанным средством управления доступом к данным.
Также предлагается способ перевода данных, зашифрованных с использованием первого набора ключей, в данные, зашифрованные с использованием второго набора ключей. Согласно этому способу данные, зашифрованные с использованием первого набора ключей, расшифровывают, расшифрованные данные повторно зашифровывают с использованием второго набора ключей при помощи имеющегося в интегрированной системе средства управления доступом к данным и изменяют по меньшей мере одну рабочую характеристику, связанную со средством управления доступом к данным и постоянно хранящуюся в таблице доступа, используемой средством управления доступом к данным, при этом в таблицу доступа вносят изменения для указания того, что зашифрованные данные, находящиеся по текущему адресу, должны быть расшифрованы с использованием первого набора ключей и повторно зашифрованы с использованием второго набора ключей при сохранении по новому адресу. Целесообразно, чтобы в результате повторного шифрования при помощи средства управления доступом к данным шифрование данных для интегрированной системы было уникальным и однозначно определяющим интегрированную систему.
Предлагается также способ восстановления функциональности - или функциональных возможностей - интегрированной системы после инициирующего события. Согласно этому способу в ответ на инициирующее событие блокируют доступ к имеющимся в интегрированной системе защищенному коду и данным, таким образом автоматически устанавливая в интегрированной системе пониженный уровень функциональности, и обеспечивают полное восстановление функциональности интегрированной системы путем использования избирательной процедуры восстановления для повторной инициализации интегрированной системы, таким образом восстанавливая доступ к защищенному коду и данным интегрированной системы, причем процедура восстановления включает загрузку в интегрированную систему незашифрованного кода инициализации, включающего в себя код восстановления и инициализации, выполнение кода восстановления и инициализации с получением мастер-ключа и заменяющего адреса кода инициализации, шифрование кода восстановления и инициализации мастер-ключом и сохранение зашифрованного кода инициализации по заменяющему адресу кода инициализации и повторную инициализацию интегрированной системы с использованием кода инициализации, сохраненного по заменяющему адресу кода инициализации.
В описании также раскрыты системы и программные продукты, соответствующие перечисленным выше способам.
Описанные способы обеспечения защищенного режима работы могут эффективно использоваться для инициализации, поддержания, обновления и/или восстановления защищенной операционной среды для интегрированной системы. В частности, предложенные способы обеспечивают возможность ограничивать обновления рабочих характеристик, которые поддерживают при помощи средства управления доступом к данным. Рабочими характеристиками могут быть одна или несколько следующих характеристик: набор ключей, таблица доступа, уровень доступа и параметры доступа, используемые различными уровнями программного обеспечения (ПО) интегрированной системы. Такая возможность ограничивать обновления позволяет создавать различные уровни ПО с иерархическим распределением полномочий.
Представленные способы также обеспечивают возможность безопасным образом осуществлять соответствующие обновления, в том числе с использованием номеров версий, что позволяет избежать воспроизведения более ранней версии ПО или других данных. Также обеспечена возможность перевода данных из состояния, зашифрованного первым набором ключей, в состояние, зашифрованное вторым набором ключей, в рамках процесса управления ключами и/или для импорта защищенных данных из других систем. Кроме того, описана возможность обеспечения уровня функциональности интегрированной системы, несмотря на то, что система вошла в режим работы, инициированный несанкционированным вмешательством. В частности, предусмотрены автоматическое ограничение функциональности с блокированием доступа к секретным данным и приложениям, а также механизм восстановления функциональности с ограниченной зависимостью от канала обслуживания.
В предложенных способах также реализованы дополнительные признаки и преимущества. Другие подробно описанные варианты осуществления и особенности изобретения рассматриваются как часть заявленного изобретения.
Техническое решение, рассматриваемое как изобретение, детально охарактеризовано и четко изложено в формуле изобретения, следующей за описанием. Перечисленные выше и прочие объекты, признаки и преимущества изобретения наглядно иллюстрируются приведенным ниже подробным описанием, сопровождаемом приложенными чертежами, на которых:
на фиг.1 проиллюстрирован пример стандартного интегрированного устройства, в котором используется доступ к общей памяти через подсистему памяти,
на фиг.2 - вариант средства управления доступом, реализованного в соответствии с изобретением в подсистеме защищенной памяти интегрированного устройства,
на фиг.3 - проблема, распознанная и решаемая в соответствии с изобретением при помощи описанных способов обеспечения защищенного режима работы,
на фиг.4 - вариант осуществления способа в соответствии с изобретением, обеспечивающего защищенный режим работы интегрированного устройства с несколькими уровнями ПО,
на фиг.5 - вариант осуществления процесса в соответствии с изобретением с применением проиллюстрированного на фиг.4 способа применительно к таблице доступа, связанной с имеющимся в интегрированной системе средством управления доступом к данным,
на фиг.6 - вариант осуществления процесса загрузки кода в интегрированную систему в соответствии с изобретением,
на фиг.7А - пример процесса первоначального сохранения зашифрованного кода начальной загрузки в интегрированной системе в соответствии с изобретением,
на фиг.7Б - пример процесса копирования зашифрованного кода, сохраненного проиллюстрированным на фиг.7А способом, в соответствии с изобретением из энергозависимой памяти в энергонезависимую память,
на фиг.8 - вариант выполнения аутентификации уровней ПО и передачи управления от одного уровня ПО другому, а также обновления кода начальной загрузки при наличии, или доступности, новой версии кода начальной загрузки в соответствии с изобретением,
на фиг.9 - вариант передачи сигналов инициализации между компонентами интегрированной системы в соответствии с изобретением, когда средство управления доступом находится в безопасном состоянии,
на фиг.10 - вариант осуществления процесса безопасного обновления уровня ПО в соответствии с изобретением в интегрированной системе, имеющей несколько уровней ПО,
на фиг.11 - вариант осуществления процесса управления ключами и обновления набора ключей, используемого имеющимся в интегрированной системе средством управления доступом к данным в соответствии с изобретением,
на фиг.12А - вариант осуществления процесса приема зашифрованных данных для сохранения в интегрированной системе в соответствии с изобретением,
на фиг.12Б - вариант осуществления процесса извлечения сохраненных зашифрованных данных, проиллюстрированных на фиг.12А, и расшифрования данных в соответствии с изобретением программными средствами с использованием защищенного кода,
на фиг.12В - вариант осуществления процесса повторного шифрования расшифрованных данных в соответствии с изобретением аппаратными средствами управления доступом для сохранения в защищенной памяти, и
на фиг.13 - вариант осуществления процесса восстановления функциональности интегральной схемы после инициирующего события несанкционированного доступа, возникшего в вычислительной среде интегрированной системы в соответствии с изобретением.
На фиг.1 показано обычное интегрированное устройство, в целом обозначенное позицией 100, имеющее множество внутренних функциональных ведущих устройств 1101, 1102, 1103...110n. Ведущее устройство 1101 представляет собой процессор, который имеет ядро 112 и диспетчер 114 памяти. В рассматриваемом примере внутренние ведущие устройства 1101, 1102, 1103...110n связаны с подсистемой 120 памяти, включающей логический узел 130 управления общей шиной. Для специалистов в данной области техники ясно, что логический узел 130 управления общей шиной, показанный в подсистеме памяти, в качестве альтернативы может находиться вне подсистемы 120.
Логический узел 130 управления общей шиной координирует и централизует запросы, обращенные к подчиненным компонентам в интегрированном устройстве. Например, первый подчиненный компонент может представлять собой контроллер 140 внешней шины, соединенный с внешней энергонезависимой памятью 150, такой как флэш-память, которая имеет открытую область 155. Второй подчиненный компонент, а именно, контроллер 160 памяти соединен с внешней энергозависимой памятью 170, такой как SDRAM (синхронная динамическая память) или DRAM (динамическая оперативная память). Память 170 имеет открытую область 175. В целом, с целью минимизировать затраты и облегчить обмен данными между функциональными устройствами в рассматриваемой интегрированной конструкции предусмотрено совместное использование ими общего пула памяти. Все внутренние ведущие функциональные устройства как таковые имеют равный доступ к энергонезависимой и энергозависимой памяти, при этом оба пространства памяти помечены как открытые, что означает отсутствие ограничений на доступ к данным.
Как правило, энергонезависимую память используют для постоянного хранения, когда данные должны сохраняться даже в случае прекращения электропитания. В такой памяти может храниться код начальной загрузки, рабочий код, такой как операционная система и драйверы, а также любые постоянные структуры данных. Энергозависимую память используют для хранения данных, привязанных к сеансу, и обычно в ней хранятся данные прикладных программ, а также структуры данных других ведущих устройств. Поскольку энергозависимая память отличается большим быстродействием, чем энергонезависимая память, обычно рабочий код переносят в энергозависимую память, откуда во время работы интегрированного устройства выполняют команды.
Следует отметить, что стандартная система, например, проиллюстрированная на фиг.1, подвержена ряду угроз безопасности. В частности:
1. На поведение процессора можно влиять, изменяя рабочий код или структуры данных, при этом внутренние данные или работа системы могут подвергнуться опасности.
2. В определенных случаях, например, в случае контроллера системы связи и т.п., внутренним ведущее устройство может работать под управлением внешнего источника и использоваться для компрометации внутреннего кода или данных, поскольку память используется совместно.
3. Для изменения поведения процессора или слежения за ним могут использоваться инструментальные средства отладки и разработки, применяемые для разработки ПО.
4. Одно ведущее устройство может непреднамеренно нарушить или подвергнуть опасности работу другого внутреннего ведущего устройства, поскольку память используется совместно.
В качестве решения проблемы борьбы с вышеназванными угрозами безопасности в настоящем изобретении предлагается использовать средство управления доступом, расположенное на пути прохождения данных между устройством управления шиной и подчиненными устройствами. Такое средство управления доступом может использовать (в одном варианте осуществления) характеристики внутренней шины, соединяющей функциональные ведущие устройства и подчиненные устройства, что позволяет дополнительно оценивать каждый запрос доступа к ресурсам системы на основе набора защищенной управляющей информации и при необходимости отклонять его. Достоинством изобретения является то, что такое средство управления доступом позволяет дифференцировать обращения, посредством которых ведущее устройство запрашивает данные, а также области сохранения данных и затем соответственно разрешать или ограничивать доступ, или же квалифицировать право доступа иным образом. Также описаны дополнительные функциональные возможности управления доступом согласно другим особенностям настоящего изобретения.
На фиг.2 проиллюстрирован вариант системы, в целом обозначенной позицией 200, которая в соответствии с изобретением имеет средство 240 управления доступом. В системе 200 также имеется несколько функциональных ведущих устройств 2101-210n, которые посредством устройства 230 управления шиной поддерживают связь с одним или несколькими подчиненными устройствами 250 и 270. В данном случае средство 240 управления доступом включена в канал передачи данных между устройством 230 управления шиной и подчиненными устройствами 250 и 270. В другом варианте устройство 230 управления шиной может располагаться вне подсистемы защищенной памяти. В частности, показано, что первое подчиненное устройство представляет собой контроллер 250 внешней шины, а второе подчиненное устройство представляет собой контроллер 270 памяти. В данном случае устройство управления шиной, средство управления доступом и внешние контроллеры в целом образуют подсистему 220 защищенной памяти. Таким образом, внешнее адресное пространство, обозначенное как энергонезависимая память 260 и энергозависимая память 280, может быть дополнительно разделено на открытую область 262 и защищенную область 264, а также открытую область 282 и защищенную область 284, соответственно. Используемый в данном контексте термин "защищенная" подразумевает, что ведущие устройства 2101-210n имеют доступ лишь к пространству, определенному средством 240 управления доступом. Следует учесть, что средство управления доступом контролирует все обращения к открытой и защищенной областям памяти.
Подробное описание функции устройства 240 по управлению доступом включено в упомянутую выше заявку "Control Function Employing a Requesting Master ID and a Data Address to Qualify Data Access Within an Integrated System", которая путем ссылки включена в данное описание. Кроме того, в упомянутой заявке подробно описано использование таблицы 248 доступа и функции шифрования/расшифрования 249 при оценке, или классификации, запросов на получение данных на основании уровня доступа запрашивающего данные функционального ведущего устройства и адреса запрошенных данных.
Вкратце, запрос от ведущего устройства, которому передано управление устройством управления шиной, направляется в устройство управления доступом вместе с запрошенным адресом и соответствующими управляющими командами (например, считывания или записи и т.д.). Средство управления доступом использует таблицу доступа для сравнения запрошенного адреса, идентификатора ведущего устройства и индикатора считывания или записи с описанием мандата на разрешение доступа для этого ведущего устройства. Данный запрос может быть заблокирован (отменен), удовлетворен с разрешением открытой передачи данных или удовлетворен с обязательным шифрованием/расшифрованием данных. Если запрошенная передача данных возможна, подчиненным устройствам через шину направляются сигналы, а в устройство шифрования/расшифрования - соответствующие запросу параметры доступа, основанные на таблице доступа, если шифрование/расшифрование предусмотрено. Устройство шифрования/расшифрования может использоваться для зашифрования записываемых данных при передаче данных заданному подчиненному устройству или для расшифрования считываемых данных при возврате данных из заданного подчиненного устройства с использованием соответствующих параметров доступа.
Помимо функций оценки классификации доступа к данным на основе идентификатора запрашивающего ведущего устройства и адреса запроса в упомянутой выше заявке "Control Function with Multiple Security States for Facilitating Secure Operation of an Integrated System", также описана идея дополнения средства управления доступом устройством 242 обеспечения безопасного состояния, например, для управления функционированием таблицы 248 доступа и функции шифрования/расшифрования 249. В сочетании с устройством 242 обеспечения безопасного состояния также используется внутрикристальная память 243, в которой хранится заменяющий адрес кода начальной загрузки и набор 246 мастер-ключей. Такая память является постоянной в том смысле, что значения сохраняются в ней даже при отключении электропитания. Таким образом, после инициализации эти значения могут использоваться из сеанса в сеанс до тех пор, пока они не будут переустановлены или стерты с изменением безопасного состояния, как это описано ниже.
Устройство обеспечения безопасного состояния средства управления доступом к данным может обеспечивать одно из нескольких возможных безопасных состояний, включая нулевое состояние и безопасное состояние. В безопасном состоянии устройство управления заменяет стандартный адрес кода начальной загрузки, соответствующий запросу на получение кода начальной загрузки, заменяющим адресом кода начальной загрузки. Заменяющий адрес кода начальной загрузки содержит зашифрованную версию кода начальной загрузки, которую затем расшифровывает устройство управления, используя набор мастер-ключей, хранящийся в постоянной памяти. В нулевом состоянии набор мастер-ключей стирается.
В упомянутой ранее заявке "Control Function Implementing Selective Transparent Data Authentication Within an Integrated System" описана концепция объединения функции управления с функцией избирательной аутентификации запрошенных данных с целью дальнейшего усовершенствования описанного выше управления доступом к данным. Такая избирательная аутентификация может быть прозрачной для функционального ведущего устройства интегрированной системы, инициирующей запрос на получение данных.
Запрошенные данные могут представлять собой код или данные, в зашифрованном виде хранящиеся во внешней памяти. (Следует отметить, что в некоторых случаях, включая формулу изобретения, термин "данные" используется в обобщающем смысле и означает код или данные.) Хотя возможности по шифрованию данных, имеющиеся у описанного выше средства управления доступом к данным, и не позволяют напрямую просматривать и изменять данные, функция проверки целостности дополнительно позволяет удостовериться в том, что зашифрованные значения являются теми же значениями, которые были первоначально записаны в память.
В одном из вариантов предусмотрено, что функция проверки целостности в соответствии с изобретением действует в сочетании с таблицей доступа и параметрами доступа, описанными в упомянутых заявках. Для указания диапазонов адресов, которые должны соответствовать данным, прошедшим аутентификацию, может использоваться дополнительный параметр, содержащийся в таблице доступа. Функция 245 проверки целостности на основе запроса на передачу данных определяет местоположение признаков целостности в памяти, а также вычисляет и сравнивает признаки целостности, как это описано ниже.
Вкратце, процессы можно разделить на шаги, выполняемые до и после запоминания, например:
До запоминания
- Генерирование первого контрольного признака целостности, представляющего собой математически сжатую версию данных, подлежащих защите и аутентификации.
- Шифрование данных и первого контрольного признака целостности.
- Сохранение зашифрованного признака целостности и зашифрованных данных в памяти.
После запоминания
- Извлечение из памяти и расшифрование признака целостности и зашифрованных данных.
- Генерирование второго контрольного признака целостности при помощи функции, использованной для генерирования первого контрольного признака целостности.
- Сравнение первого и второго контрольных признаков целостности. В случае их совпадения данные признаются аутентичными. В противном случае данные искажены и требуются корректирующие действия. Как возможный вариант, функция 245 проверки целостности может использоваться в сочетании с описанными ниже усовершенствованными концепциями защищенного режима работы интегрированной системы.
На фиг.3 отображены уровни ПО, используемого в типовом интегрированном устройстве. В частности, показано, что ПО различных уровней действует на основе аппаратного обеспечения 300 устройства. При начальном включении устройства происходит запуск кода 310 начальной загрузки и инициализация функций с использующих данных 312 инициализации (начальных условий). После инициализации код начальной загрузки вызывает ядро 320, обобщенно обозначенное как уровень 1. Ядро 320 обеспечивает сервисные средства и ресурсы операционной системы, включая общие установки 322 системы и данные 324 системного реестра. Затем последовательно вызывается один или несколько уровней ПО, включая промежуточное ПО и служебные функции 330, такие как сетевые услуги, управление файлами, манипулирование мультимедийными средствами и т.д., для приведения в действие которых используются средства управления доступом к программному обеспечению или пароли 332 либо ключи 334. Прикладное ПО 340 расположено над уровнем 330 промежуточного ПО и служебного ПО и приводится в действие при помощи пользовательских данных, таких как личная информация 342 и другое содержимое 344 (т.н. контент).
На фиг.3 проиллюстрирован принцип обеспечения защиты интегрированного устройства или системы. Как правило, чем уровень ПО ближе и к его аппаратному обеспечению, тем более безопасным или заслуживающим доверия (т.е. надежным) является ПО. В отличие от этого, чем ближе уровень ПО, например, приложение, к пользователю, тем большую ценность имеют данные. Таким образом, наименее безопасное ПО защищает наиболее ценные данные.
На фиг.4 проиллюстрирован принцип обеспечения защиты интегрированной системы. Начиная с аппаратного обеспечения 400, аутентификация ПО каждого уровня осуществляется ПО расположенного ниже уровня. В случае кода 410 начальной загрузки он аутентифицируется посредством расшифрования и с использованием набора мастер-ключей, как это описано в упомянутых выше заявках, в аппаратных средствах, где код начальной загрузки (или код инициализации) в зашифрованном виде хранится во внешней памяти. После аутентификации и перед передачей управления ПО 420, 430, 440 и т.д. следующего уровня ПО каждого предшествующего уровня может ограничивать возможности ПО более высокого уровня по управлению системой или внесению в нее изменений. Таким образом, по мере загрузки ПО каждого уровня, оно аутентифицируется и может быть дополнительно ограничена его способность влиять на защиту системы.
На фиг.5 проиллюстрирована реализация проиллюстрированного на фиг.4 принципа на примере интегрированной системы, такой как система, показанная на фиг.2. В частности, принцип реализован путем использования средства управления доступом, описанного ранее и в упомянутых выше заявках, содержание которых включено в настоящее описание путем ссылки. Аппаратное обеспечение аутентифицирует код 400 начальной загрузки, как это описано выше, и таким же образом определяет наиболее надежный, т.е. наиболее доверяемый уровень ПО. Код начальной загрузки способен полностью задавать конфигурацию средства управления доступом, включая наборы ключей, используемых для дешифрования, таблицу адресов, в которой указано, каким образом преобразовывать адреса, уровень доступа, определяющий разрешенные операции на основании идентификатора ведущего устройства и диапазона адресов, а также параметры доступа, определяющие, каким образом происходит обработка запроса. Вся перечисленная информация также сохраняется при помощи описанного выше средства управления доступом.
До передачи управления ПО следующего уровня, т.е. первого уровня 420, код начальной загрузки в данном примере скрывает значения ключей, делая их напрямую невидимыми для ПО, а также блокирует доступ к таблице адресов и содержимому уровней доступа (которые находятся в таблице доступа) с целью исключить возможность их изменения ПО следующего уровня. Тем не менее, в данном примере параметры доступа все же могут быть обновлены на таком следующем уровне. Следует учесть, что аппаратное обеспечение способно скрывать значения ключей за счет предотвращения доступа для считывания и блокировать доступ к таблице адресов и содержимому уровней доступа путем предотвращения доступа для записи. Специалистам в данной области техники известно множество способов управления доступом (или блокирования доступа) к реестрам средства управления доступом, таких как принуждение к использованию привилегированных команд, установление соединений реестров лишь с закрытыми внутрикристальными шинами, распределение памяти реестров и ограничение доступа к реестрам с использованием существующих установочных параметров в средство управления доступом и т.д.
Показано, что до передачи управления ПО наименее надежного уровня 440 последние отображенные рабочие характеристики средства управления доступом, т.е. параметры доступа блокируются и не могут быть изменены.
На фиг.6 показан вариант осуществления процесса инициализации защищенной операционной среды для интегрированного устройства, скомпонованного в вычислительную систему. Показано, что интегрированное устройство скомпоновано в более крупную систему 605, к которой подведено питание 610. Всю систему или вычислительную среду перемещают в связанную с разработчиком системы безопасную физическую среду 600, в которой интегрированному устройству придается конфигурация, необходимая для работы в защищенном режиме. В частности, вводится защищенный режим (шаг 612), генерируются секретные ключи (шаг 615) и в постоянную память, связанную с имеющимся в интегрированной системе средством управления доступом к данным загружаются ключи и заменяющий адрес кода начальной загрузки (шаг 620). Следует учесть, что секретные ключи могут быть предоставлены разработчиком или генерированы самим интегрированным устройством. В последнем случае оптимальным способом хранения ключей может быть их депонирование у третьего лица.
Далее осуществляется конфигурирование (шаг 625) таблицы доступа, чтобы данные, записанные в энергозависимую память, были зашифрованы набором мастер-ключей и использовали адрес энергонезависимой памяти для начальных и конечных преобразований над шифруемым кодом (т.н. забеливания - whitening), как это описано далее со ссылкой на фиг.7А и 7Б. Данные, считанные из энергозависимой памяти, не будут подвергнуты криптографической обработке и останутся неизменными. Таблицу доступа также конфигурируют, чтобы данные, записанные в энергонезависимую память, оставались неизменными.
Затем на шаге 630 код начальной загрузки загружают через отладочный интерфейс (фиг.7А и 7Б) и в процессе записи данных в энергозависимую память зашифровывают при помощи средства управления доступом к данным с использованием набора мастер-ключей. Далее код без расшифрования (шаг 635) копируют из энергозависимой памяти в энергонезависимую память, как это дополнительно описано ниже. Наконец, интегрированное устройство конфигурируют для работы в защищенном режиме (шаг 640), как это описано в упомянутых заявках, содержание которых путем ссылки включено в настоящую заявку. Следует отметить, что в результате описанной обработки обеспечивается уникальное шифрование для конкретной интегрированной системы.
На данном этапе вычислительная система может быть удалена из безопасного физического местоположения 600. Далее на шаге 645 систему перезагружают с использованием загруженного защищенного кода начальной загрузки, который затем при желании используется для безопасной загрузки дополнительного кода путем шифрования с использованием самогенерированных значений ключей (шаг 650). На завершающем шаге 655 процесса, проиллюстрированного на фиг.6, вычислительную систему 605 тестируют и отгружают.
На фиг.7А дополнительно проиллюстрирован шаг обработки 630, показанный на фиг.6. (Следует отметить, что на фиг.7А и на некоторых последующих фигурах интегрированная система, показанная на фиг.2, представлена в упрощенном виде, при этом устройство управления шиной и подчиненные компоненты для ясности опущены.) Показано, что для загрузки открытого (незашифрованного) кода начальной загрузки в интегрированное устройство, сконфигурированное для работы в защищенном режиме, могут использоваться отладочный интерфейс или интегрированная среда разработки (ИСР). Интегрированное устройство 200 осуществляет шифрование 249 кода начальной загрузки с использованием внутреннего мастер-ключа, хранящегося в постоянной памяти 243 средства управления доступом, и записывает зашифрованный код 700 начальной загрузки в заданную ячейку энергозависимой памяти 280. Следует учесть, что зашифрованный код начальной загрузки сначала записывается в энергозависимую память, поскольку запись определенного значения данных в энергонезависимую память, такую как флэш-память требует множества операций и не может быть реализована в виде блочной операции. Поскольку зашифрованный код 700 начальной загрузки должен быть впоследствии скопирован в другую ячейку внешней памяти, содержание таблицы 248 доступа, связанное с операцией шифрования, конфигурируют, чтобы использовать последний адрес ячейки памяти в энергонезависимой памяти в качестве признака забеливания. Забеливание, т.е. начальные и конечные преобразования, дополнительно описано в одной или нескольких из упомянутых выше заявок, содержание которых включено в настоящее описание путем ссылки.
На фиг.7Б проиллюстрирован процесс 635 копирования, например, процессором 2101 зашифрованного кода начальной загрузки из энергозависимой памяти в энергонезависимую память 260. Поскольку код начальной загрузки уже зашифрован набором мастер-ключей и адресом энергонезависимой памяти для "забеливания" (начальных и конечных преобразований), код начальной загрузки не требует криптографического преобразования и без расшифрования копируется непосредственно в энергонезависимую память.
На фиг.8 показана последовательность операций процесса инициализации в соответствии с изобретением. Процедура 800 начальной загрузки начинается с включения интегрированного устройства (шаг 805), которое передает запрос на начальную загрузку, который переадресовывается средством управления доступом к данным с использованием заменяющего адреса кода начальной загрузки (шаг 810). Зашифрованный код, вызванный из памяти, расшифровывается средством управления доступом к данным с использованием набора мастер-ключей (шаг 815). Одной из первых выполненных команд является проверка доступности (шаг 820) копии (образа) обновленного кода начальной загрузки. Такая проверка должна осуществляться в процессе самой процедуры начальной загрузки, поскольку ПО ни одного другого уровня не уполномочено вносить изменения в код начальной загрузки.
При отсутствии обновлений код начальной загрузки генерирует динамические ключи для использования для начинающегося сеанса (шаг 825). Следует отметить, что при отсутствии оставшихся после предыдущих сеансов структур данных, которые должны быть использованы, код начальной загрузки также может извлекать зашифрованные значения ключей, которые были сохранены в ходе предыдущего сеанса. Затем код начальной загрузки аутентифицирует ПО следующего уровня, используя принятые методики математической обработки отображения ПО в памяти, с целью получения уникального дайджеста (сжатой формы) или значения хэш-функции и последующего сравнения результата с ожидаемым значением (шаг 830). Эта операция может быть осуществлена ПО с использованием защищенного кода начальной загрузки. Помимо аутентификации, код начальной загрузки также способен ограничивать возможности ПО следующего уровня по изменению или даже просмотру защищенных установочных параметров и рабочих характеристик, связанных со средством управления доступом. После завершения аутентификации и блокирования защищенных функций управление передается программному обеспечению следующего уровня (шаг 835). Если оно является ПО конечного уровня (шаг 840), процесс загрузки ПО завершается, и устройство может начинать (шаг 845) работу в защищенном режиме. При наличии дополнительных уровней снова выполняется операция аутентификации ПО следующего уровня и, при необходимости, операция блокирования защищенных функций, продолжая цикл до тех пор, пока не будет загружено ПО всех уровней.
При наличии обновлений кода начальной загрузки на основании запроса (шаг 820) выполняется процедура обновления кода начальной загрузки (шаг 850). Сначала на шаге 855 для аутентификации и расшифрования копии нового кода начальной загрузки используется существующий код начальной загрузки (т.е. код, который действовал при первом включении устройства). Следует отметить, что новая копия могла поступить в систему зашифрованной с помощью шифра, отличающегося от внутреннего шифра, используемого интегрированным устройством. В таком случае код начальной загрузки осуществляет расшифрование программными средствами. Затем (шаг 860) текущий код начальной загрузки записывает новый код начальной загрузки в память, используя средство управления доступом для шифрования нового кода при помощи набора мастер-ключей интегрированного устройства таким же образом, как на шаге первоначальной компоновки системы. Однако копия нового кода начальной загрузки записывается в иную ячейку памяти, чем текущий код начальной загрузки, чтобы в случае неожиданного прерывания работы системы в процессе выполнения процедуры текущий код начальной загрузки сохранялся в памяти в полном виде и рабочем состоянии. По завершении аутентификации копии нового кода начальной загрузки и его записи в энергонезависимую память текущий код начальной загрузки обновляет заменяющий адрес кода начальной загрузки и указывает на копию нового кода начальной загрузки (шаг 865). По завершении обновления происходит повторный запуск (шаг 870) системы и возврат к началу процедуры 800 начальной загрузки. В качестве расширения данного процесса ПО с более высоким уровнем привилегии безопасности может при необходимости добавить код одного или нескольких уровней, отличающийся от кода начальной загрузки или кода инициализации. Например, код начальной загрузки может использоваться для обновления ядра.
В качестве расширения процедуры 850 обновления кода начальной загрузки, копии 860 нового кода начальной загрузки может быть поставлен в соответствие новый номер версии. Для этого необходимо добавить параметр номера версии к параметрам, хранящимся во внутрикристальной постоянной памяти, связанной со средством управления доступом к данным, как это описано в одной или нескольких из упомянутых выше заявок, содержание которых включено в настоящее описание путем ссылки. Номер версии используется для осуществления процедуры начального и конечного преобразований (забеливание) как части расшифрования первых команд. Преимущество использования номера версии отображения кода начальной загрузки заключается в том, что при этом путем простого копирования и последующего воспроизведения предотвращается попытка проникновения в защищенную систему при повторном использовании ранее отображенного кода начальной загрузки.
На фиг.9 показана обработка данных в интегрированной системе, запущенной с использованием процедуры начальной загрузки, проиллюстрированной на фиг.8. После подачи питания в интегрированную систему сначала процессор 2101 направляет запрос на получение данных (кода начальной загрузки) из заранее определенного адреса. Такой запрос на получение внешних данных поступает в средство 240 управления доступом к данным, которое на основании адреса идентифицирует запрос как запрос на получение кода начальной загрузки и заменяет весь адрес или часть адреса заменяющим адресом кода начальной загрузки, содержащимся в постоянной памяти 243 средства управления. Далее измененный запрос поступает во внешнюю память 260. Заменяющий адрес кода начальной загрузки указывает область памяти, содержащую код, который был ранее зашифрован с использованием набора мастер-ключей. Такой зашифрованный код 710 постоянно хранится в защищенной области энергонезависимой памяти 260. Зашифрованный код возвращается в устройство управления доступом, который на основании заменяющего адреса кода начальной загрузки сконфигурирован для расшифрования возращенных данных с использованием набора мастер-ключей. Затем расшифрованный (и защищенный) код начальной загрузки возвращается в процессор для исполнения. В процессе выполнения процессором последовательности кода начальной загрузки перечисленные шаги осуществляются повторно.
На фиг.10 проиллюстрирован процесс приема новых версий (обновлений) кода в процессе работы интегрированной системы. Такая процедура 1000 контроля обновлений начинается одновременно с началом работы системы в защищенном режиме (шаг 1005). При наступлении условного события, такого как внутренний триггер, периодически срабатывающий при наступлении заданного времени, или внешнее уведомление и т.д., система проверяет (шаг 1010), доступно ли (шаг 1015) обновление. Если нет, интегрированная система возвращается к предшествующему защищенному режиму и продолжает работу. Если обновление доступно, его можно загрузить с использованием защищенных сетевых протоколов (шаг 1020), как это предусмотрено в данной области. Как вариант, обновление может быть считано с постоянных носителей. Затем (шаг 1025) ПО текущего уровня определяет, разрешено ли ему осуществлять запрошенное обновление. Как описано выше, аутентификация ПО определенного уровня может быть проведена лишь ПО с равным или более высоким уровнем полномочий.
Если ПО текущего уровня не разрешено совершать это обновление, ПО отмечает, что обновление доступно и сохраняет его для использования ПО верного уровня, когда такой уровень станет следующим уровнем, к которому перейдет управление интегрированным устройством. Следует отметить, что для того, чтобы обновление было доступно во время следующего сеанса, обычно требуется его хранить в энергонезависимой памяти.
Если ПО текущего уровня уполномочено вводить обновления, осуществляется процедура 1050 обновления. Данная процедура включает аутентификацию и расшифрование обновления с использованием процессов, описанных выше в отношении обновления кода начальной загрузки. Однако при этом шифровать обновление при помощи набора мастер-ключей не требуется. Вместо этого может использоваться динамический ключ. Номер версии обновления также не требуется сохранять во внутрикристальной постоянной памяти, он может быть зашифрован и сохранен во внешней защищенной памяти, так как он будет загружен кодом начальной загрузки (шаг 1060). Затем параметры аутентификации обновляют с целью использования при проверке обновленного кода перед его загрузкой в процессе инициализации системы.
На фиг.11 проиллюстрирован процесс управления ключами и обновления ключей по мере необходимости. В целом, в данном процессе в качестве средства перехода от одной формы шифрования к другой используется средство управления доступом к данным.
Слишком долгое использование секретного ключа в одном блоке данных увеличивает число выборок, потенциально доступных для криптоанализа. Таким образом, для защиты секретного ключа следует установить предельное число выборок с использованием ключа. Предельное число зависит от типа криптоанализа, который может использовать нарушитель, и от мощности алгоритма шифрования, ключей и физической защиты. В современной технологии считается практически нецелесообразным точно подсчитывать, сколько раз используется секретный ключ в одном блоке данных. Для достаточного приближения к данной величине, для чего требуется определенный объем памяти в пересчете на набор ключей, используют счетчик, регистрирующий число операций записи в пересчете на набор ключей, при этом результат подсчета превышает или равен числу созданных уникальных выборок. В качестве средства менее точного приближения подсчитывают количество операций считывания и записи, однако это не означает возможности увеличения предельного результата подсчета.
Как это показано в отношении процедуры 1100 управления ключами, изобретение предусматривает генерирование динамических ключей (как это описано выше применительно к процедуре начальной загрузки) для использования во время одного сеанса или нескольких сеансов (шаг 1105). В то же время происходит инициализация счетчика количества раз использования ключа, который ограничивает это количество определенным предельным, или пороговым значением. Такой счетчик может быть реализован программными средствами, однако более целесообразно, чтобы он был реализован аппаратными средствами как часть средства управления доступом, поскольку тем самым обеспечивается доступность информации, необходимой для запуска счетчика. Кроме того, счетчик может быть связан с внутрикристальной постоянной памятью, чтобы результаты подсчета сохранялись между сеансами, либо для сбора, шифрования и хранения результатов в периоды, когда система отключена, и их последующей повторной загрузки при очередном запуске системы может использоваться ПО.
При необходимости управление может быть передано программному обеспечению следующего уровня (шаг 1110). Следует отметить, что в другом варианте ПО текущего уровня может продолжать работать и непосредственно использовать ключ. Показатели счетчика количества раз использования ключа увеличиваются при каждом использовании ключа с целью записи зашифрованных данных (шаг 1120). При необходимости он может использоваться и для учета событий считывания, но лишь в дополнение к учету событий записи, а не вместо него.
В определенный момент показатели счетчика количества раз использования ключа превысят предельную величину (шаг 1125). Если в этот момент работает ПО того же уровня, что и ПО, которое первоначально генерировало ключ, на шаге 1130 вызывается процедура 1150 обновления ключа. Если текущий уровень ПО изменился, система возвращается к программному обеспечению того уровня, на котором был первоначально сгенерирован ключ, и с такого уровня вызывает процедуру обновления ключа (шаг 1135).
Для облегчения перехода от одного набора ключей к другому в процедуре 1150 обновления ключа используется средство управления доступом. Сначала вносятся изменения в таблицу доступа средства управления доступом с целью определить текущее местоположение перемещаемых данных для шифрования старым набором ключей и новое местоположение данных для шифрования с использованием нового набора ключей (шаг 1155). Следует учесть, что, поскольку таблица доступа может использоваться для перевода адреса, внутренние ведущие устройства интегрированной системы способны видеть в памяти текущее и новое местоположения данных в виде отдельных диапазонов адресов, тогда как после перевода адресов внешние запросы определяли бы оба местоположения как относящиеся к одному диапазону адресов.
Затем при помощи новых значений таблицы доступа данные считываются из текущего местоположения и записываются в новое местоположение, при этом данные эффективно повторно зашифровываются при помощи нового набора ключей (шаг 1160). Затем на шаге 1165 в таблицу доступа снова вносят изменения с целью определения нового местоположения для шифрования и расшифрования при помощи нового набора ключей, а все ссылки на старый набор ключей и соответствующие местоположения данных на шаге 1170 стираются.
На фиг.12А-12В проиллюстрирован соответствующий способ перевода поступивших из внешнего источника данных из одной формы шифрования и другую. В данном случае для внешнего шифрования может использоваться алгоритм и набор ключей, отличающийся от алгоритма и набора ключей, используемых для внутреннего шифрования. Как показано на фиг.12А, в этом случае данные поступают через порт связи 1200 из внешнего источника зашифрованными с использованием внешнего алгоритма. Средство 240 управления доступом сохраняет такие внешние данные непосредственно во внешней памяти 280 без изменений. Как показано на фиг.12Б, затем процессор 2101 блоками считывает внешние данные в свой кэш и расшифровывает каждый блок, используя программные средства расшифрования. После расшифрования незашифрованный блок записывается во внешнюю память 280, как это показано на фиг.12В. Тем не менее, средство управления доступом способно зашифровывать данные, используя внутренний алгоритм и набор ключей. В результате данного процесса все полученные извне данные преобразуются в уникальную зашифрованную форму и могут управляться одним таким интегрированным устройством. За этот счет обеспечивается защита зашифрованных данных и одновременно ускорение работы аппаратных средств, реализующих средство управления доступом.
На фиг.13 проиллюстрирован вариант осуществления процесса восстановления защищенного режима работы интегрированной системы после ее нахождения в эксплуатации и перехода из защищенного состояния в нулевое состояние, инициированного событием несанкционированного доступа, как это описано в одной или нескольких из упомянутых выше заявок, содержание которых включено в настоящее описание путем ссылки. Показано, что после инициирования (шаг 1300) процедуры начальной загрузки интегрированная система включается (шаг 1305) после события несанкционированного доступа и запрос на начальную загрузку более не переадресовывается (шаг 1310). Для инициализации системы из стандартного адреса начальной загрузки на шаге 1315 выполняется незащищенный (незашифрованный) код. Поскольку инициализированная система действует в режиме ограниченной функциональности, к защищенным данным или приложениям отсутствует доступ (шаг 1325). В качестве альтернативы, на шаге 1320 может быть предпринята попытка восстановления исходной функциональности интегрированной системы.
Если пользователь интегрированной системы желает осуществить восстановление в полном объеме, интегрированную систему перемещают в фирменный центр обслуживания, представляющий собой второе безопасное физическое местоположение 1350. В центре обслуживания при помощи инструментальных средств отладки (см. фиг.7А) загружают незашифрованный код инициализации, включающий код восстановления и начальной загрузки, а также открытый ключ разработчика (шаг 1355).
Затем с целью выполнения кода инициализации осуществляют повторный запуск интегрированной системы, которая сначала генерирует новый набор мастер-ключей, а затем записывает набор мастер-ключей во внутрикристальную постоянную память, связанную со средством управления доступом к данным (шаг 1360). Затем средство управления доступом конфигурируют для шифрования кода восстановления и начальной загрузки с использованием набора мастер-ключей, как это описано выше со ссылкой на фиг.7А. Местоположение нового кода начальной загрузки записывают в поле заменяющего адреса кода начальной загрузки. Затем код начальной загрузки внутренними средствами генерирует пару, состоящую из открытого и секретного ключа, и надежно сохраняет секретный ключ в энергонезависимой памяти. Генерированный открытый ключ зашифровывают с использованием открытого ключа разработчика (предварительно предоставленного вместе с кодом инициализации) и возвращают в центр обслуживания, из которого его передают разработчику (шаг 1365). На этом этапе интегрированную систему удаляют из безопасного физического местоположения 1350.
Осуществляют повторный запуск системы и выполнение (шаг 1370) кода восстановления и начальной загрузки. На шаге 1375 инициализированная система устанавливает защищенное сетевое соединение с разработчиком, а затем известными способами осуществляется загрузка в систему и установка данных и кода, необходимых для восстановления исходной функциональности интегрированной системы (шаг 1380).
Таким образом, в настоящем изобретении описаны способы, системы и программные продукты, служащие для инициализации, поддержания, обновления и восстановления защищенного режима работы интегрированной системы. В этих целях используется средство управления доступом к данным, расположенное внутри интегрированной системы. Ниже в общих чертах кратко описаны системы и программные продукты.
Одной из особенностей настоящего изобретения является система, обеспечивающая защищенный режим работы интегрированной системы, имеющей несколько уровней ПО. Такая система имеет средство аутентификации программным обеспечением текущего уровня программного обеспечения следующего уровня перед передачей управления интегрированной системой программному обеспечению следующего уровня. Также предусмотрен контроллер доступа к данным, имеющий средство ограничения возможностей ПО следующего уровня по изменению рабочей характеристики интегрированной системы.
Другой особенностью изобретения является система инициализации защищенного режима работы интегрированной системы. Такая система имеет средство генерирования по меньшей мере одного ключа для интегрированной системы и имеющееся в интегрированной системе средство управления доступом к данным. Начальный код поступает в интегрированную систему через средство управления доступом к данным, которое зашифровывает начальный код по меньшей мере одним ключом. Система инициализации также имеет средство повторной инициализации интегрированной системы с использованием зашифрованного начального кода.
Дополнительно предусмотрена система перевода данных, зашифрованных при помощи первого набора ключей, в данные, зашифрованные при помощи второго набора ключей. Такая система имеет средство расшифрования внутри интегрированной системы данных, зашифрованных с использованием первого набора ключей; и имеющееся в интегрированной системе средство управления доступом к данным со средством повторного шифрования данных с использованием второго набора ключей.
Другой особенностью изобретения является система восстановления функциональности интегрированной системы после инициирующего события. Такая система имеет средство автоматического установления пониженного уровня функциональности интегрированной системы, а также средство полного восстановления функциональности интегрированной системы за счет избирательного применения соответствующей процедуры восстановления.
Согласно другой особенности изобретения предусмотрено по меньшей мере одно машиночитаемое запоминающее устройство для хранения программ, в котором материально реализована по меньшей мере одна программа команд, выполняемых ЭВМ с целью осуществления способа обеспечения защищенного режима работы интегрированной системы, имеющей несколько уровней ПО. Такой способ включает стадию, на которой при помощи ПО текущего уровня аутентифицируют ПО следующего из нескольких уровней ПО перед передачей управления интегрированной системой ПО следующего уровня, и стадию, на которой ограничивают возможности ПО следующего уровня по изменению рабочей характеристики интегрированной системы, при этом стадия ограничения реализована имеющимся в интегрированной системе средством управления доступом к данным.
Согласно другой особенности изобретения предусмотрено по меньшей мере одно машиночитаемое запоминающее устройство для хранения программ, в котором материально реализована по меньшей мере одна программа команд, выполняемых ЭВМ с целью осуществления способа инициализации защищенного режима работы интегрированной системы. Способ включает генерирование по меньшей мере одного ключа для интегрированной системы; загрузку в интегрированную систему начального кода, при этом для шифрования начального кода при помощи средства управления доступом к данным, которое имеет интегрированная система, в процессе загрузки используют по меньшей мере один ключ, и повторно инициализируют интегрированную систему, используя зашифрованный начальный код.
Согласно еще одной особенности изобретения предусмотрено по меньшей мере одно машиночитаемое запоминающее устройство для хранения программ, в котором материально реализована по меньшей мере одна программа команд, выполняемых ЭВМ с целью осуществления способа перевода данных, зашифрованных при помощи первого набора ключей, в данные, зашифрованные при помощи второго набора ключей. Способ включает расшифрование данных, зашифрованных с использованием первого набора ключей; и повторное шифрование данных с использованием второго набора ключей при помощи расположенного внутри интегрированной системы средства управления доступом к данным.
Согласно дополнительной особенности изобретения предусмотрено по меньшей мере одно машиночитаемое запоминающее устройство для хранения программ, в котором материально реализована по меньшей мере одна программа команд, выполняемых ЭВМ с целью осуществления способа восстановления функциональности интегрированной системы после инициирующего события. Такой способ включает автоматическое установление пониженного уровня функциональности интегрированной системы и полное восстановление функциональности интегрированной системы за счет применения избирательной процедуры восстановления.
Из вышеизложенного описания настоящего изобретения специалисты в данной области техники сделают вывод о возможности его включения в изделие (например, один или несколько программных продуктов), имеющее, в частности, используемый ЭВМ-носитель. Такой носитель реализует, в частности, машиночитаемый программный код, обеспечивающий возможности настоящего изобретения. Изделие может входить в состав вычислительной системы или продаваться отдельно.
Дополнительно может быть предусмотрено по меньшей мере одно машиночитаемое запоминающее устройство для хранения программ, в котором материально реализована по меньшей мере одна программа команд, выполняемых ЭВМ с целью осуществления возможностей настоящего изобретения.
Приведенные в описании схемы последовательности операций являются лишь примерами. Существует множество вариаций таких описанных схем или шагов (или операций), не выходящих за пределы существа изобретения. В частности, шаги могут осуществляться в различной последовательности либо они могут быть добавлены, исключены или изменены. Все такие вариации рассматриваются как часть заявленного изобретения.
Несмотря на то, что выше подробно проиллюстрированы и описаны предпочтительные варианты осуществления изобретения, специалисты в соответствующей области техники согласятся с тем, что в него могут быть внесены различные изменения, дополнения и т.п., не выходящие за пределы существа изобретения и считающиеся входящими в объем изобретения, ограниченный следующей далее формулой изобретения.
Промышленная применимость
Настоящее изобретение широко применимо в защищенных интегрированных системах обработки уязвимых данных, которые необходимо зашифровывать до их обработки и переноса.
Claims (29)
1. Способ обеспечения защищенного режима работы интегрированной системы с несколькими уровнями программного обеспечения, заключающийся в том, что инициализацию системы начинают расшифрованием хранящегося зашифрованного кода инициализации, причем расшифрование выполняют при помощи имеющегося в интегрированной системе средства управления доступом к данным, перед передачей управления интегрированной системой программному обеспечению следующего уровня аутентифицируют программное обеспечение этого следующего уровня и ограничивают возможности программного обеспечения указанного следующего уровня по изменению рабочей характеристики интегрированной системы, причем указанное ограничение осуществляют указанным средством управления доступом к данным, реализованным аппаратно.
2. Способ по п.1, в котором возможности программного обеспечения следующего уровня ограничивают в отношении изменения по меньшей мере одной из следующих характеристик: набора(ов) ключей, таблиц(ы) доступа, уровня(ей) доступа и параметра(ов) доступа, поддерживаемых функцией управления доступом к данным.
3. Способ по п.2, в котором ограничение возможностей программного обеспечения следующего уровня включает в себя по меньшей мере одну из следующих операций: ограничение доступа к набору(ам) ключей или блокирование доступа к таблице(ам) доступа, уровню(ям) доступа или параметру(ам) доступа, поддерживаемым функцией управления доступом к данным.
4. Способ по п.1, дополнительно предусматривающий аутентификацию кода инициализации, подлежащего использованию при инициализации параметров защищенного режима работы интегрированной системы, причем аутентификацию кода инициализации выполняют имеющимся в интегрированной системе средством управления доступом к данным.
5. Способ по п.1, осуществляемый в сочетании со способом обновления уровня программного обеспечения, заключающимся в том, что определяют, доступно ли обновление уровня программного обеспечения, определяют, разрешено ли программному обеспечению текущего уровня аутентифицировать программное обеспечение обновляемого уровня и, если это так, то переходят к приему в интегрированную систему новой версии программного обеспечения обновляемого уровня с использованием средства управления доступом к данным.
6. Способ по п.5, в котором новая версия программного обеспечения обновленного уровня содержит обновленный код инициализации, причем способ дополнительно предусматривает аутентификацию и расшифрование обновленного кода инициализации, шифрование обновленного кода инициализации набором мастер-ключей, который поддерживает средство управления доступом к данным, а также новым номером версии, и обновление адреса переадресации кода инициализации, поддерживаемого средством управления доступом к данным, с его заменой новым, обновленным адресом местоположения кода инициализации.
7. Способ по п.5, в котором при невозможности аутентификации новой версии программного обеспечения обновляемого уровня посредством программного обеспечения текущего уровня ввод новой версии программного обеспечения обновляемого уровня в интегрированную систему задерживают до тех пор, пока не будет запущено программное обеспечение соответствующего уровня, способное аутентифицировать новую версию программного обеспечения обновляемого уровня.
8. Способ по п.5, в котором при переходе к приему в интегрированную систему новой версии программного обеспечения обновляемого уровня эту версию зашифровывают для ее сохранения, причем это шифрование проводят с использованием нового номера версии.
9. Способ инициализации защищенного режима работы интегрированной системы, заключающийся в том, что для интегрированной системы генерируют по меньшей мере один ключ, в интегрированную систему загружают начальный код, причем во время записи начального кода интегрированной системой в память начальный код автоматически зашифровывают внутри интегрированной системы с использованием по меньшей мере одного сгенерированного ключа и с помощью имеющегося в интегрированной системе средства управления доступом к данным, и повторно инициализируют интегрированную систему, используя зашифрованный начальный код, при этом инициализацию системы начинают автоматическим расшифрованием хранящегося зашифрованного начального кода, выполняемым указанным средством управления доступом к данным.
10. Способ по п.9, в котором указанный по меньшей мере один ключ генерируют внутри интегрированной системы.
11. Способ по п.9, в котором средство управления доступом к данным представляет собой аппаратный компонент интегрированной системы.
12. Способ по п.9, в котором с использованием зашифрованного начального кода в интегрированную систему загружают дополнительный код.
13. Способ по п.12, в котором при загрузке дополнительного кода зашифрованный начальный код используют для реализации в интегрированной системе генерирования ключей в виде случайных чисел для его использования при шифровании дополнительного кода средством управления доступом к данным.
14. Способ по п.9, в котором на стадии загрузки дополнительно шифруют начальный код, используя по меньшей мере один ключ и адрес ячейки памяти для начальных и конечных преобразований над зашифровываемым кодом.
15. Способ перевода данных, зашифрованных с использованием первого набора ключей, в данные, зашифрованные с использованием второго набора ключей, заключающийся в том, что данные, зашифрованные с использованием первого набора ключей, расшифровывают, и расшифрованные данные повторно шифруют с использованием второго набора ключей при помощи имеющегося в интегрированной системе средства управления доступом к данным и изменяют по меньшей мере одну рабочую характеристику, связанную со средством управления доступом к данным и постоянно хранящуюся в таблице доступа, используемой средством управления доступом к данным, при этом в таблицу доступа вносят изменения для указания того, что зашифрованные данные, находящиеся по текущему адресу, должны быть расшифрованы с использованием первого набора ключей и повторно зашифрованы с использованием второго набора ключей при сохранении по новому адресу.
16. Способ по п.15, в котором средство управления доступом к данным представляет собой аппаратный компонент интегрированной системы.
17. Способ по п.15, в котором расшифрование также осуществляют при помощи имеющегося в интегрированной системе средства управления доступом к данным.
18. Способ по п.15, в котором данные, зашифрованные с использованием первого набора ключей, для расшифрования извлекают из памяти, связанной с интегрированной системой.
19. Способ по п.15, в котором операции расшифрования и повторного шифрования данных выполняют по достижении заданного количества раз, когда первый набор ключей использовался для шифрования и/или расшифрования данных, причем способ дополнительно предусматривает подсчет количества раз, когда первый набор ключей был использован для шифрования и/или расшифрования данных.
20. Способ по п.19, в котором подсчет ведут счетчиком количества раз использования ключа, поддерживаемым имеющимся в интегрированной системе средством управления доступом к данным.
21. Способ по п.15, в котором данные, зашифрованные с использованием первого набора ключей, принимают из внешнего по отношению к интегрированной системе источника.
22. Способ по п.21, в котором расшифрование выполняют в интегрированной системе программными средствами, а повторное шифрование выполняют при помощи средства управления доступом к данным и аппаратными средствами интегрированной системы.
23. Способ по п.22, в котором второй набор ключей является уникальным, однозначно определяющим интегрированную систему.
24. Способ восстановления функциональности интегрированной системы после инициирующего события, заключающийся в том, что в ответ на инициирующее событие блокируют доступ к имеющимся в интегрированной системе защищенному коду и данным, таким образом автоматически устанавливая в интегрированной системе пониженный уровень функциональности, и обеспечивают полное восстановление функциональности интегрированной системы путем использования избирательной процедуры восстановления для повторной инициализации интегрированной системы, таким образом восстанавливая доступ к защищенному коду и данным интегрированной системы, причем процедура восстановления включает загрузку в интегрированную систему незашифрованного кода инициализации, включающего в себя код восстановления и инициализаци, выполнение кода восстановления и инициализации с получением мастер-ключа и заменяющего адреса кода инициализации, шифрование кода восстановления и инициализации мастер-ключом и сохранение зашифрованного кода инициализации по заменяющему адресу кода инициализации, а также повторную инициализацию интегрированной системы с использованием кода инициализации, сохраненного по заменяющему адресу кода инициализации.
25. Способ по п.24, в котором процедура восстановления предусматривает загрузку в интегрированную систему кода инициализации в безопасном физическом местоположении.
26. Способ по п.24, в котором мастер-ключ и заменяющий адрес кода инициализации хранят в постоянной памяти, связанной с имеющимся в интегрированной системе средством управления доступом к данным.
27. Способ по п.24, в котором код инициализации содержит открытый код разработчика, а в интегрированной системе генерируют пару ключей: открытый ключ и секретный ключ, причем секретный ключ интегрированной системы надежно сохраняют, а открытый ключ интегрированной системы зашифровывают с использованием открытого ключа разработчика.
28. Способ по п.27, в котором между интегрированной системой и разработчиком с использованием сгенерированной пары ключей устанавливают защищенное сетевое соединение и через это соединение загружают код и данные, необходимые для полного восстановления функциональности интегрированной системы.
29. Способ по п.24, в котором при автоматическом установлении пониженного уровня функциональности интегрированной системы ограничивают доступ к защищенному коду и данным внутри интегрированной системы.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/125,803 | 2002-04-18 | ||
US10/125,803 US6715085B2 (en) | 2002-04-18 | 2002-04-18 | Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2004133759A RU2004133759A (ru) | 2005-08-27 |
RU2295834C2 true RU2295834C2 (ru) | 2007-03-20 |
Family
ID=29214852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2004133759/09A RU2295834C2 (ru) | 2002-04-18 | 2003-04-16 | Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей средство управления доступом к данным |
Country Status (11)
Country | Link |
---|---|
US (3) | US6715085B2 (ru) |
EP (2) | EP1500225A4 (ru) |
JP (2) | JP4464689B2 (ru) |
KR (1) | KR100809977B1 (ru) |
CN (1) | CN1647443B (ru) |
AU (1) | AU2003223671A1 (ru) |
CA (1) | CA2481569C (ru) |
IL (1) | IL164718A (ru) |
PL (1) | PL372374A1 (ru) |
RU (1) | RU2295834C2 (ru) |
WO (1) | WO2003090402A1 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2541196C2 (ru) * | 2010-07-22 | 2015-02-10 | Награвисьон С.А. | Способ обеспечения целостности программного обеспечения |
RU2673969C2 (ru) * | 2013-09-12 | 2018-12-03 | Зе Боинг Компани | Устройство мобильной связи и способ работы с ним |
Families Citing this family (147)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996670B1 (en) | 1999-07-08 | 2011-08-09 | Broadcom Corporation | Classification engine in a cryptography acceleration chip |
US6993007B2 (en) * | 1999-10-27 | 2006-01-31 | Broadcom Corporation | System and method for suppressing silence in voice traffic over an asynchronous communication medium |
EP1338939A1 (en) * | 2002-02-22 | 2003-08-27 | Hewlett-Packard Company | State validation device for a computer |
US7444682B2 (en) * | 2002-07-03 | 2008-10-28 | Macronix International Co., Ltd. | Security memory device and method for making same |
JP2004054834A (ja) * | 2002-07-24 | 2004-02-19 | Matsushita Electric Ind Co Ltd | プログラム開発方法、プログラム開発支援装置およびプログラム実装方法 |
AU2003209885A1 (en) * | 2002-09-20 | 2004-04-08 | Mks Inc. | Version control system for software development |
US7266786B2 (en) * | 2002-11-05 | 2007-09-04 | Sonics, Inc. | Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems |
JP4099039B2 (ja) * | 2002-11-15 | 2008-06-11 | 松下電器産業株式会社 | プログラム更新方法 |
US8140824B2 (en) * | 2002-11-21 | 2012-03-20 | International Business Machines Corporation | Secure code authentication |
US7194626B2 (en) * | 2002-11-21 | 2007-03-20 | International Business Machines Corporation | Hardware-based secure code authentication |
US7974416B2 (en) * | 2002-11-27 | 2011-07-05 | Intel Corporation | Providing a secure execution mode in a pre-boot environment |
US7137109B2 (en) * | 2002-12-17 | 2006-11-14 | Hewlett-Packard Development Company, L.P. | System and method for managing access to a controlled space in a simulator environment |
US7568110B2 (en) | 2002-12-18 | 2009-07-28 | Broadcom Corporation | Cryptography accelerator interface decoupling from cryptography processing cores |
US7434043B2 (en) | 2002-12-18 | 2008-10-07 | Broadcom Corporation | Cryptography accelerator data routing unit |
US20040123120A1 (en) * | 2002-12-18 | 2004-06-24 | Broadcom Corporation | Cryptography accelerator input interface data handling |
US20040123123A1 (en) * | 2002-12-18 | 2004-06-24 | Buer Mark L. | Methods and apparatus for accessing security association information in a cryptography accelerator |
US7392404B2 (en) * | 2002-12-20 | 2008-06-24 | Gemalto, Inc. | Enhancing data integrity and security in a processor-based system |
AU2004213886A1 (en) * | 2003-02-21 | 2004-09-02 | Research In Motion Limited | System and method of multiple-level control of electronic devices |
US7509644B2 (en) * | 2003-03-04 | 2009-03-24 | Secure 64 Software Corp. | Operating system capable of supporting a customized execution environment |
JP2004287590A (ja) * | 2003-03-19 | 2004-10-14 | Matsushita Electric Ind Co Ltd | デバッグシステム、マイクロプロセッサ及びデバッガ |
US7171563B2 (en) * | 2003-05-15 | 2007-01-30 | International Business Machines Corporation | Method and system for ensuring security of code in a system on a chip |
US7478433B2 (en) * | 2003-06-19 | 2009-01-13 | Panasonic Corporation | Program execution system having authentication function |
US7469346B2 (en) * | 2003-06-27 | 2008-12-23 | Disney Enterprises, Inc. | Dual virtual machine architecture for media devices |
US7900250B1 (en) * | 2003-09-12 | 2011-03-01 | Nortel Networks Limited | Method of providing secure groups using a combination of group and pair-wise keying |
US7369815B2 (en) * | 2003-09-19 | 2008-05-06 | Qualcomm Incorporated | Power collapse for a wireless terminal |
US7571484B2 (en) * | 2003-12-04 | 2009-08-04 | Microsoft Corporation | System and method for image authentication of a resource-sparing operating system |
JP4574994B2 (ja) * | 2004-01-26 | 2010-11-04 | 東芝マイクロエレクトロニクス株式会社 | メモリ外付けマイコン |
US8112618B2 (en) * | 2004-04-08 | 2012-02-07 | Texas Instruments Incorporated | Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making |
JP2005332221A (ja) * | 2004-05-20 | 2005-12-02 | Renesas Technology Corp | 記憶装置 |
JP4612461B2 (ja) * | 2004-06-24 | 2011-01-12 | 株式会社東芝 | マイクロプロセッサ |
US7461268B2 (en) * | 2004-07-15 | 2008-12-02 | International Business Machines Corporation | E-fuses for storing security version data |
US20060026417A1 (en) * | 2004-07-30 | 2006-02-02 | Information Assurance Systems L.L.C. | High-assurance secure boot content protection |
US8954751B2 (en) | 2004-10-08 | 2015-02-10 | International Business Machines Corporation | Secure memory control parameters in table look aside buffer data fields and support memory array |
US8332653B2 (en) * | 2004-10-22 | 2012-12-11 | Broadcom Corporation | Secure processing environment |
US7958369B2 (en) * | 2004-10-22 | 2011-06-07 | Hewlett-Packard Development Company, L.P. | Systems and methods for multiple level control of access of privileges to protected media content |
EP1659472A1 (en) * | 2004-11-22 | 2006-05-24 | Research In Motion Limited | Method and Device for Authenticating Software |
US20060136717A1 (en) | 2004-12-20 | 2006-06-22 | Mark Buer | System and method for authentication via a proximate device |
US8295484B2 (en) | 2004-12-21 | 2012-10-23 | Broadcom Corporation | System and method for securing data from a remote input device |
CN101084504B (zh) * | 2004-12-21 | 2010-04-14 | Nxp股份有限公司 | 具有改进的器件安全性的集成电路 |
US20060136705A1 (en) * | 2004-12-21 | 2006-06-22 | Motorola, Inc. | Multiple stage software verification |
JP4606339B2 (ja) * | 2005-02-07 | 2011-01-05 | 株式会社ソニー・コンピュータエンタテインメント | セキュアなプロセッサの処理の移行を実施する方法および装置 |
JP4522372B2 (ja) * | 2005-02-07 | 2010-08-11 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置 |
WO2006082985A2 (en) * | 2005-02-07 | 2006-08-10 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a secure booting sequence in a processor |
JP4669708B2 (ja) * | 2005-02-16 | 2011-04-13 | 株式会社日立製作所 | ストレージシステム、データ移動方法及び管理計算機 |
CN100358303C (zh) * | 2005-02-28 | 2007-12-26 | 联想(北京)有限公司 | 一种对被管理设备进行监控的方法 |
CN1703004B (zh) * | 2005-02-28 | 2010-08-25 | 联想(北京)有限公司 | 一种实现网络接入认证的方法 |
US8364792B2 (en) * | 2005-03-09 | 2013-01-29 | Vudu, Inc. | Method and system for distributing restricted media to consumers |
US7509250B2 (en) * | 2005-04-20 | 2009-03-24 | Honeywell International Inc. | Hardware key control of debug interface |
US20070005987A1 (en) * | 2005-06-30 | 2007-01-04 | Durham Lenitra M | Wireless detection and/or containment of compromised electronic devices in multiple power states |
JP4728060B2 (ja) * | 2005-07-21 | 2011-07-20 | 株式会社日立製作所 | ストレージ装置 |
US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
US20070055862A1 (en) * | 2005-09-08 | 2007-03-08 | Interdigital Technology Corporation | Method and system for distributing data |
US8656487B2 (en) * | 2005-09-23 | 2014-02-18 | Intel Corporation | System and method for filtering write requests to selected output ports |
KR100746012B1 (ko) * | 2005-11-07 | 2007-08-06 | 삼성전자주식회사 | 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치 |
US8627109B2 (en) * | 2005-11-23 | 2014-01-07 | Hewlett-Packard Development Company, L.P. | Method of securing access to a hard disk drive of a computer system with an enhanced security mode |
US20070136609A1 (en) * | 2005-12-13 | 2007-06-14 | Rudelic John C | Methods and apparatus for providing a secure channel associated with a flash device |
US7900060B2 (en) * | 2006-02-17 | 2011-03-01 | Vudu, Inc. | Method and system for securing a disk key |
EP1826697A1 (en) * | 2006-02-24 | 2007-08-29 | Giga Games System, SL | Method for booting and using software for AWP and B type amusing gaming machines, and for C type casino machines |
US8239686B1 (en) | 2006-04-27 | 2012-08-07 | Vudu, Inc. | Method and system for protecting against the execution of unauthorized software |
GB0615392D0 (en) * | 2006-08-03 | 2006-09-13 | Wivenhoe Technology Ltd | Pseudo random number circuitry |
US8032940B1 (en) * | 2006-10-25 | 2011-10-04 | Chaperon, LLC | Method and system for generating and employing a secure integrated development environment |
US8239688B2 (en) | 2007-01-07 | 2012-08-07 | Apple Inc. | Securely recovering a computing device |
US8254568B2 (en) * | 2007-01-07 | 2012-08-28 | Apple Inc. | Secure booting a computing device |
US8056143B2 (en) * | 2007-01-19 | 2011-11-08 | Research In Motion Limited | Selectively wiping a remote device |
US8615665B2 (en) * | 2007-01-26 | 2013-12-24 | Harris Corporation | Method for providing high assurance integrity of installed software images in a software defined radio |
EA010331B1 (ru) * | 2007-02-13 | 2008-08-29 | Общество С Ограниченной Ответственностью "Крипто-Про" | Способ обновления средства обеспечения безопасности программного средства |
EP1970782B1 (de) * | 2007-03-12 | 2010-08-18 | Secunet Security Networks Aktiengesellschaft | Schutzeinrichtung für eine programmierbare datenverarbeitende Einheit |
JP4903071B2 (ja) * | 2007-03-15 | 2012-03-21 | 株式会社リコー | 情報処理装置、ソフトウェア更新方法及び画像処理装置 |
US8095816B1 (en) | 2007-04-05 | 2012-01-10 | Marvell International Ltd. | Processor management using a buffer |
US8443187B1 (en) | 2007-04-12 | 2013-05-14 | Marvell International Ltd. | Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device |
US8145903B2 (en) * | 2007-05-25 | 2012-03-27 | Red Hat, Inc. | Method and system for a kernel lock validator |
US8422674B2 (en) * | 2007-05-29 | 2013-04-16 | International Business Machines Corporation | Application-specific secret generation |
US8433927B2 (en) * | 2007-05-29 | 2013-04-30 | International Business Machines Corporation | Cryptographically-enabled privileged mode execution |
US8332635B2 (en) * | 2007-05-29 | 2012-12-11 | International Business Machines Corporation | Updateable secure kernel extensions |
US8522043B2 (en) * | 2007-06-21 | 2013-08-27 | Microsoft Corporation | Hardware-based computer theft deterrence |
JP4956292B2 (ja) * | 2007-06-25 | 2012-06-20 | パナソニック株式会社 | 情報セキュリティ装置およびカウンタ制御方法 |
US8321706B2 (en) * | 2007-07-23 | 2012-11-27 | Marvell World Trade Ltd. | USB self-idling techniques |
JP2009032038A (ja) * | 2007-07-27 | 2009-02-12 | Hitachi Ltd | リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム |
US20090055639A1 (en) * | 2007-08-20 | 2009-02-26 | Kimmo Kuusilinna | Methods and system for modular device booting |
JP2009053901A (ja) * | 2007-08-27 | 2009-03-12 | Seiko Epson Corp | プリンタ |
US8332636B2 (en) * | 2007-10-02 | 2012-12-11 | International Business Machines Corporation | Secure policy differentiation by secure kernel design |
JP5385148B2 (ja) * | 2007-10-05 | 2014-01-08 | パナソニック株式会社 | セキュアブート端末、セキュアブート方法、セキュアブートプログラム、記録媒体及び集積回路 |
US20090119503A1 (en) * | 2007-11-06 | 2009-05-07 | L3 Communications Corporation | Secure programmable hardware component |
US8171309B1 (en) * | 2007-11-16 | 2012-05-01 | Marvell International Ltd. | Secure memory controlled access |
US8656190B2 (en) * | 2008-01-31 | 2014-02-18 | Microsoft Corporation | One time settable tamper resistant software repository |
US8661234B2 (en) * | 2008-01-31 | 2014-02-25 | Microsoft Corporation | Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities |
US8090108B2 (en) * | 2008-04-15 | 2012-01-03 | Adaptive Chips, Inc. | Secure debug interface and memory of a media security circuit and method |
US8510560B1 (en) | 2008-08-20 | 2013-08-13 | Marvell International Ltd. | Efficient key establishment for wireless networks |
CN102160035A (zh) | 2008-09-18 | 2011-08-17 | 马维尔国际贸易有限公司 | 至少部分地在引导期间向存储器预加载应用 |
US10255463B2 (en) * | 2008-11-17 | 2019-04-09 | International Business Machines Corporation | Secure computer architecture |
US10452844B2 (en) * | 2008-11-26 | 2019-10-22 | International Business Machines Corporation | Protecting isolated secret data of integrated circuit devices |
CN102265263A (zh) * | 2008-12-24 | 2011-11-30 | 松下电器产业株式会社 | 总线控制器及初始引导程序的修补方法 |
WO2010077787A1 (en) * | 2009-01-05 | 2010-07-08 | Marvell World Trade Ltd. | Method and system for hibernation or suspend using a non-volatile-memory device |
US8589700B2 (en) * | 2009-03-04 | 2013-11-19 | Apple Inc. | Data whitening for writing and reading data to and from a non-volatile memory |
US9058491B1 (en) * | 2009-03-26 | 2015-06-16 | Micron Technology, Inc. | Enabling a secure boot from non-volatile memory |
JP4747288B2 (ja) * | 2009-04-03 | 2011-08-17 | 株式会社バッファロー | 外付け記憶装置及びその制御方法 |
US8424071B2 (en) * | 2009-04-15 | 2013-04-16 | International Business Machines Corporation | Method and apparatus for secure and reliable computing |
GB2474250B (en) * | 2009-10-07 | 2015-05-06 | Advanced Risc Mach Ltd | Video reference frame retrieval |
US8589302B2 (en) * | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
US9336410B2 (en) | 2009-12-15 | 2016-05-10 | Micron Technology, Inc. | Nonvolatile memory internal signature generation |
US8442235B2 (en) * | 2010-04-14 | 2013-05-14 | Microsoft Corporation | Extensible management of self-encrypting storage devices |
US8555059B2 (en) * | 2010-04-16 | 2013-10-08 | Microsoft Corporation | Secure local update of content management software |
CA2759971A1 (en) * | 2010-11-29 | 2012-05-29 | Groupe Cgi Inc. | Method for storing (hiding) a key in a table and corresponding method for retrieving the key from the table |
US8862902B2 (en) * | 2011-04-29 | 2014-10-14 | Seagate Technology Llc | Cascaded data encryption dependent on attributes of physical memory |
WO2013012435A1 (en) | 2011-07-18 | 2013-01-24 | Hewlett-Packard Development Company, L.P. | Security parameter zeroization |
US9141394B2 (en) | 2011-07-29 | 2015-09-22 | Marvell World Trade Ltd. | Switching between processor cache and random-access memory |
US8732527B2 (en) | 2011-08-16 | 2014-05-20 | Google Inc. | Secure recovery apparatus and method |
US8756594B2 (en) * | 2011-10-28 | 2014-06-17 | Microsoft Corporation | Reactive anti-tampering system for protected services in an enterprise computing system |
US9021246B2 (en) * | 2011-10-28 | 2015-04-28 | GM Global Technology Operations LLC | Method to replace bootloader public key |
US9436629B2 (en) | 2011-11-15 | 2016-09-06 | Marvell World Trade Ltd. | Dynamic boot image streaming |
KR101301609B1 (ko) * | 2012-05-31 | 2013-08-29 | 서울대학교산학협력단 | 비밀키 생성 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
US9575768B1 (en) | 2013-01-08 | 2017-02-21 | Marvell International Ltd. | Loading boot code from multiple memories |
WO2014177905A1 (en) | 2013-04-30 | 2014-11-06 | Freescale Semiconductor, Inc. | Device having a security module |
US20140344581A1 (en) * | 2013-05-16 | 2014-11-20 | Cisco Technology, Inc. | Secure Upgrades for Field Programmable Devices |
US9736801B1 (en) | 2013-05-20 | 2017-08-15 | Marvell International Ltd. | Methods and apparatus for synchronizing devices in a wireless data communication system |
US9521635B1 (en) | 2013-05-21 | 2016-12-13 | Marvell International Ltd. | Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system |
EP3028145A1 (en) | 2013-07-31 | 2016-06-08 | Marvell World Trade Ltd. | Parallelizing boot operations |
US9607177B2 (en) * | 2013-09-30 | 2017-03-28 | Qualcomm Incorporated | Method for securing content in dynamically allocated memory using different domain-specific keys |
EP3087471A4 (en) * | 2013-12-27 | 2017-10-11 | Intel Corporation | Controlled customization of silicon initialization |
US20150286823A1 (en) * | 2014-04-07 | 2015-10-08 | Qualcomm Incorporated | System and method for boot sequence modification using chip-restricted instructions residing on an external memory device |
US10691838B2 (en) | 2014-06-20 | 2020-06-23 | Cypress Semiconductor Corporation | Encryption for XIP and MMIO external memories |
US10169618B2 (en) | 2014-06-20 | 2019-01-01 | Cypress Semiconductor Corporation | Encryption method for execute-in-place memories |
US10192062B2 (en) * | 2014-06-20 | 2019-01-29 | Cypress Semiconductor Corporation | Encryption for XIP and MMIO external memories |
CN104320248A (zh) * | 2014-11-14 | 2015-01-28 | 中国建设银行股份有限公司 | 一种系统间密钥同步的方法及系统 |
EP3040896A1 (en) | 2014-12-30 | 2016-07-06 | Gemalto Sa | Secure element |
US10541811B2 (en) * | 2015-03-02 | 2020-01-21 | Salesforce.Com, Inc. | Systems and methods for securing data |
US10114958B2 (en) * | 2015-06-16 | 2018-10-30 | Microsoft Technology Licensing, Llc | Protected regions |
US20160378151A1 (en) * | 2015-06-26 | 2016-12-29 | Intel Corporation | Rack scale architecture (rsa) and shared memory controller (smc) techniques of fast zeroing |
US9996479B2 (en) * | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
US9917687B2 (en) * | 2015-10-12 | 2018-03-13 | Microsoft Technology Licensing, Llc | Migrating secrets using hardware roots of trust for devices |
WO2017168228A1 (en) | 2016-03-08 | 2017-10-05 | Marvell World Trade Ltd. | Methods and apparatus for secure device authentication |
SG10201602449PA (en) * | 2016-03-29 | 2017-10-30 | Huawei Int Pte Ltd | System and method for verifying integrity of an electronic device |
CN107808099B (zh) * | 2016-09-08 | 2021-03-16 | 北京自动化控制设备研究所 | 嵌入式软件加密/解密系统及方法 |
US10896267B2 (en) * | 2017-01-31 | 2021-01-19 | Hewlett Packard Enterprise Development Lp | Input/output data encryption |
US10872043B2 (en) * | 2017-08-17 | 2020-12-22 | Microchip Technology Incorporated | Systems and methods for integrity checking of code or data in a mixed security system while preserving confidentiality |
CN108108631A (zh) * | 2017-11-29 | 2018-06-01 | 晨星半导体股份有限公司 | 一种根密钥处理方法及相关装置 |
US10757087B2 (en) | 2018-01-02 | 2020-08-25 | Winbond Electronics Corporation | Secure client authentication based on conditional provisioning of code signature |
US11314858B2 (en) * | 2018-10-10 | 2022-04-26 | Comcast Cable Communications, Llc | Event monitoring |
FR3098613A1 (fr) * | 2019-07-09 | 2021-01-15 | STMicroelectronics (Grand Ouest) SAS | Procede de gestion du fonctionnement d’au moins un logiciel applicatif chiffre et circuit integre correspondant |
CN112241272B (zh) * | 2019-07-17 | 2023-08-01 | 宇通客车股份有限公司 | 一种车载仪表及其升级方法、系统 |
CN113496016A (zh) * | 2020-04-08 | 2021-10-12 | 深圳市中兴微电子技术有限公司 | 一种内存的访问方法、系统级芯片和电子设备 |
US11416621B2 (en) * | 2020-06-18 | 2022-08-16 | Micron Technology, Inc. | Authenticating software images |
US11728997B2 (en) * | 2020-09-08 | 2023-08-15 | Micron Technology, Inc. | Cloud-based creation of a customer-specific symmetric key activation database |
JP7391802B2 (ja) * | 2020-09-11 | 2023-12-05 | 株式会社東芝 | 情報処理装置、情報処理方法及びコンピュータプログラム |
US11580215B2 (en) * | 2020-09-14 | 2023-02-14 | Micron Technology, Inc. | Authenticating software images |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4168396A (en) | 1977-10-31 | 1979-09-18 | Best Robert M | Microprocessor for executing enciphered programs |
US4465901A (en) | 1979-06-04 | 1984-08-14 | Best Robert M | Crypto microprocessor that executes enciphered programs |
US6822553B1 (en) | 1985-10-16 | 2004-11-23 | Ge Interlogix, Inc. | Secure entry system with radio reprogramming |
US4920483A (en) | 1985-11-15 | 1990-04-24 | Data General Corporation | A computer memory for accessing any word-sized group of contiguous bits |
US4797853A (en) | 1985-11-15 | 1989-01-10 | Unisys Corporation | Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing |
US4951249A (en) * | 1986-10-24 | 1990-08-21 | Harcom Security Systems Corp. | Method and apparatus for controlled access to a computer system |
US5144659A (en) | 1989-04-19 | 1992-09-01 | Richard P. Jones | Computer file protection system |
EP0463966B1 (en) * | 1990-06-29 | 1998-11-25 | Digital Equipment Corporation | High-performance multi-processor having floating point unit and operation method |
GB2255260B (en) | 1991-04-24 | 1995-06-14 | Mars Inc | Transaction systems |
US5421006A (en) | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5918007A (en) | 1992-05-27 | 1999-06-29 | International Business Machines Corporation | Trusted personal computer system with limited accessibility |
US5440713A (en) | 1992-05-29 | 1995-08-08 | Industrial Technology Research Institute | M-way N-port paged-interleaved memory system |
US5603081A (en) | 1993-11-01 | 1997-02-11 | Telefonaktiebolaget Lm Ericsson | Method for communicating in a wireless communication system |
SG48838A1 (en) | 1992-12-30 | 1998-05-18 | Telstra Corp Ltd | A method and apparatus for generating a cipher |
US5561817A (en) | 1993-08-16 | 1996-10-01 | Thermo King Corporation | Method of securely controlling direct memory access (DMA) of a shared memory by a DMA device on an expansion board |
US5841868A (en) | 1993-09-21 | 1998-11-24 | Helbig, Sr.; Walter Allen | Trusted computer system |
US5491827A (en) | 1994-01-14 | 1996-02-13 | Bull Hn Information Systems Inc. | Secure application card for sharing application data and procedures among a plurality of microprocessors |
US5805706A (en) * | 1996-04-17 | 1998-09-08 | Intel Corporation | Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format |
US5564054A (en) * | 1994-08-25 | 1996-10-08 | International Business Machines Corporation | Fail-safe computer boot apparatus and method |
US5544255A (en) | 1994-08-31 | 1996-08-06 | Peripheral Vision Limited | Method and system for the capture, storage, transport and authentication of handwritten signatures |
US5893921A (en) | 1995-02-10 | 1999-04-13 | International Business Machines Corporation | Method for maintaining memory coherency in a computer system having a cache utilizing snoop address injection during a read transaction by a dual memory bus controller |
US5610980A (en) * | 1995-02-13 | 1997-03-11 | Eta Technologies Corporation | Method and apparatus for re-initializing a processing device and a storage device |
US5757915A (en) | 1995-08-25 | 1998-05-26 | Intel Corporation | Parameterized hash functions for access control |
DE19536169A1 (de) | 1995-09-29 | 1997-04-03 | Ibm | Multifunktionale Chipkarte |
US6577734B1 (en) * | 1995-10-31 | 2003-06-10 | Lucent Technologies Inc. | Data encryption key management system |
US5809230A (en) * | 1996-01-16 | 1998-09-15 | Mclellan Software International, Llc | System and method for controlling access to personal computer system resources |
US5825878A (en) | 1996-09-20 | 1998-10-20 | Vlsi Technology, Inc. | Secure memory management unit for microprocessor |
US5937063A (en) * | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
US6101543A (en) | 1996-10-25 | 2000-08-08 | Digital Equipment Corporation | Pseudo network adapter for frame capture, encapsulation and encryption |
US5757919A (en) | 1996-12-12 | 1998-05-26 | Intel Corporation | Cryptographically protected paging subsystem |
JPH10177560A (ja) | 1996-12-17 | 1998-06-30 | Ricoh Co Ltd | 記憶装置 |
US5887131A (en) | 1996-12-31 | 1999-03-23 | Compaq Computer Corporation | Method for controlling access to a computer system by utilizing an external device containing a hash value representation of a user password |
US5930824A (en) * | 1997-02-04 | 1999-07-27 | International Business Machines Corporation | System and method for demand-base data recovery |
DE19708616C2 (de) | 1997-03-03 | 1999-09-02 | Siemens Ag | Elektronische Datenverarbeitungseinrichtung und -system |
GB2325061B (en) | 1997-04-30 | 2001-06-06 | Advanced Risc Mach Ltd | Memory access protection |
US5935247A (en) | 1997-09-18 | 1999-08-10 | Geneticware Co., Ltd. | Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same |
US6438666B2 (en) * | 1997-09-26 | 2002-08-20 | Hughes Electronics Corporation | Method and apparatus for controlling access to confidential data by analyzing property inherent in data |
US6023510A (en) | 1997-12-24 | 2000-02-08 | Philips Electronics North America Corporation | Method of secure anonymous query by electronic messages transported via a public network and method of response |
US6230269B1 (en) | 1998-03-04 | 2001-05-08 | Microsoft Corporation | Distributed authentication system and method |
US6226742B1 (en) | 1998-04-20 | 2001-05-01 | Microsoft Corporation | Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of the plaintext message |
US6141756A (en) * | 1998-04-27 | 2000-10-31 | Motorola, Inc. | Apparatus and method of reading a program into a processor |
US6775778B1 (en) * | 1998-05-29 | 2004-08-10 | Texas Instruments Incorporated | Secure computing device having boot read only memory verification of program code |
EP0961193B1 (en) * | 1998-05-29 | 2010-09-01 | Texas Instruments Incorporated | Secure computing device |
US6182142B1 (en) | 1998-07-10 | 2001-01-30 | Encommerce, Inc. | Distributed access management of information resources |
US6385727B1 (en) * | 1998-09-25 | 2002-05-07 | Hughes Electronics Corporation | Apparatus for providing a secure processing environment |
US6116402A (en) | 1998-10-23 | 2000-09-12 | Coinstar, Inc. | Voucher coding for self-service coin discriminator |
US20020013911A1 (en) * | 1998-11-24 | 2002-01-31 | Cordella Robert H. | Compact hardware architecture for secure exchange of information and advanced computing |
US20020032867A1 (en) * | 1998-11-24 | 2002-03-14 | Kellum Charles W. | Multi-system architecture using general purpose active-backplane and expansion-bus compatible single board computers and their peripherals for secure exchange of information and advanced computing |
US6408387B1 (en) * | 1999-01-22 | 2002-06-18 | Intel Corporation | Preventing unauthorized updates to a non-volatile memory |
US6311255B1 (en) | 1999-04-29 | 2001-10-30 | International Business Machines Corporation | System and method for selectively restricting access to memory for bus attached unit IDs |
US6711684B1 (en) * | 1999-06-08 | 2004-03-23 | General Instrument Corporation | Variable security code download for an embedded processor |
US6609169B1 (en) * | 1999-06-14 | 2003-08-19 | Jay Powell | Solid-state audio-video playback system |
US20020042882A1 (en) * | 2000-10-10 | 2002-04-11 | Dervan R. Donald | Computer security system |
US7055038B2 (en) * | 2001-05-07 | 2006-05-30 | Ati International Srl | Method and apparatus for maintaining secure and nonsecure data in a shared memory system |
US20020184512A1 (en) * | 2001-05-31 | 2002-12-05 | Cardoso Augusto C. | Method and apparatus for supporting remote configuration to facilitate subscriber management |
US6971051B2 (en) * | 2002-01-10 | 2005-11-29 | Agilent Technologies, Inc. | System and method of recovering from soft memory errors |
-
2002
- 2002-04-18 US US10/125,803 patent/US6715085B2/en not_active Expired - Lifetime
-
2003
- 2003-04-16 RU RU2004133759/09A patent/RU2295834C2/ru not_active IP Right Cessation
- 2003-04-16 JP JP2003587052A patent/JP4464689B2/ja not_active Expired - Fee Related
- 2003-04-16 PL PL03372374A patent/PL372374A1/xx not_active Application Discontinuation
- 2003-04-16 CN CN038084309A patent/CN1647443B/zh not_active Expired - Fee Related
- 2003-04-16 EP EP03719812A patent/EP1500225A4/en not_active Withdrawn
- 2003-04-16 CA CA002481569A patent/CA2481569C/en not_active Expired - Lifetime
- 2003-04-16 KR KR1020047014979A patent/KR100809977B1/ko not_active IP Right Cessation
- 2003-04-16 EP EP06100430A patent/EP1648109B1/en not_active Expired - Lifetime
- 2003-04-16 WO PCT/US2003/011907 patent/WO2003090402A1/en active Application Filing
- 2003-04-16 AU AU2003223671A patent/AU2003223671A1/en not_active Abandoned
- 2003-10-22 US US10/691,632 patent/US6957335B2/en not_active Expired - Lifetime
- 2003-10-23 US US10/691,924 patent/US7356707B2/en active Active
-
2004
- 2004-10-20 IL IL164718A patent/IL164718A/en active IP Right Grant
-
2008
- 2008-10-03 JP JP2008258322A patent/JP4473330B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
Девис Д. и др. Вычислительные сети и сетевые протоколы. - М.: Мир, 1982, с.480-483, рис.9.9. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2541196C2 (ru) * | 2010-07-22 | 2015-02-10 | Награвисьон С.А. | Способ обеспечения целостности программного обеспечения |
RU2673969C2 (ru) * | 2013-09-12 | 2018-12-03 | Зе Боинг Компани | Устройство мобильной связи и способ работы с ним |
Also Published As
Publication number | Publication date |
---|---|
EP1648109A2 (en) | 2006-04-19 |
JP2009032282A (ja) | 2009-02-12 |
US20030200454A1 (en) | 2003-10-23 |
US7356707B2 (en) | 2008-04-08 |
KR20040101342A (ko) | 2004-12-02 |
WO2003090402A8 (en) | 2004-12-29 |
CN1647443B (zh) | 2010-05-05 |
US20040083375A1 (en) | 2004-04-29 |
CA2481569C (en) | 2008-10-07 |
JP2005523537A (ja) | 2005-08-04 |
RU2004133759A (ru) | 2005-08-27 |
CN1647443A (zh) | 2005-07-27 |
EP1500225A4 (en) | 2007-12-12 |
IL164718A (en) | 2009-11-18 |
JP4464689B2 (ja) | 2010-05-19 |
KR100809977B1 (ko) | 2008-03-07 |
PL372374A1 (en) | 2005-07-25 |
US6715085B2 (en) | 2004-03-30 |
CA2481569A1 (en) | 2003-10-30 |
IL164718A0 (en) | 2005-12-18 |
AU2003223671A1 (en) | 2003-11-03 |
US6957335B2 (en) | 2005-10-18 |
EP1648109A3 (en) | 2007-12-26 |
WO2003090402A1 (en) | 2003-10-30 |
EP1648109B1 (en) | 2013-03-27 |
JP4473330B2 (ja) | 2010-06-02 |
US20040088559A1 (en) | 2004-05-06 |
EP1500225A1 (en) | 2005-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2295834C2 (ru) | Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей средство управления доступом к данным | |
JP4982825B2 (ja) | コンピュータおよび共有パスワードの管理方法 | |
EP2062191B1 (en) | System and method for securely restoring a program context from a shared memory | |
EP2706478B1 (en) | Protecting secure software in a multi-security-CPU system | |
US20130254906A1 (en) | Hardware and Software Association and Authentication | |
WO2009107330A1 (ja) | 情報処理装置及びその制御方法 | |
KR20050085678A (ko) | 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 | |
JP2009225439A (ja) | 安全キーの知識なしのブート映像の安全更新 | |
US9171170B2 (en) | Data and key separation using a secure central processing unit | |
US20090204803A1 (en) | Handling of secure storage key in always on domain | |
EP2062185A1 (en) | System and method for securely saving a program context to a shared memory | |
US9881142B2 (en) | Method and apparatus for preventing and investigating software piracy | |
US20020169976A1 (en) | Enabling optional system features | |
GB2457172A (en) | Securely downloading boot code to a locked system | |
CA2638979C (en) | Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function | |
US11960737B2 (en) | Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20140417 |