Безопасное хранение данных с защитой целостности

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

 

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

Использование персональных устройств связи в различных аспектах нашей повседневной жизни в последние годы резко возросло. Современные мобильные телефоны становятся многоцелевыми устройствами, годными для разнообразных новых приложений, требующих безопасности, таких как банковские клиенты и клиенты управления цифровыми правами (DRM). С распространением устройств связи становится все более важно защищать критические данные, хранящиеся в устройстве. Например, использование PIN-кода обеспечивает управление доступом к персональному устройству связи. Однако возможно, что кто-либо может угадать PIN-код, если имеется неограниченное время и число попыток введения PIN-кода. Таким образом, в дополнение к использованию PIN-кода полезно ограничить число попыток введения PIN-кода.

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

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

В дополнение к отслеживанию последовательных попыток ввода пароля / PIN-кода доступа есть различные другие применения в области DRM (управления цифровыми правами), в которых может требоваться возможность безопасного хранения статусной информации в защищенном персональном устройстве. Отслеживание показаний счетчика может быть также полезно, когда требуется контролировать потребление данных контента. Например, третье лицо может захотеть предотвратить воспроизведение песни пользователем персонального устройства связи больше, чем десять раз. Это право воспроизводить песню десять раз предоставляется как электронная гарантия, которая устанавливает ограничение 10-ти использований, выполняемое счетчиком. Однако, если пользователь может сбрасывать счетчик после каждого использования, песня может воспроизводиться неограниченно без оплаты собственнику данных за каждое использование.

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

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

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

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

Алгоритмы с использованием симметричного ключа используют тот же самый ключ шифра как для шифрования отправителем, так и для дешифрования получателем информации. Криптосистемы с симметричным ключом построены на взаимном доверии двух сторон, совместно использующих ключ шифра криптосистемы для защиты от третьих сторон, которые не пользуются доверием. Хорошо известным алгоритмом с использованием симметричного ключа является алгоритм Национальный Стандарт Шифрования Данных (DES), впервые опубликованный Национальным институтом Стандартов и Технологии. См. Federal Register, Mar. 17, 1975, Vol.40, No. 52 and Aug. 1, 1975, Vol.40, No. 149. Криптографическое устройство-отправитель использует алгоритм DES для шифрования сообщения при загрузке с ключом шифра (ключ шифра DES имеет длину 56 бит) для данного сеанса связи (ключ сеанса). Криптографическое устройство-получатель использует обратный алгоритм DES дешифрования зашифрованного сообщения при загрузке с тем же самым ключом шифра, который был использован для шифрования.

Алгоритмы с использованием асимметричного ключа используют разные ключи для шифрования и дешифрования. В криптосистеме, использующей алгоритм с асимметричным ключом, пользователь делает ключ шифрования открытым, а ключ дешифрования личным, и получение из открытого ключа шифрования личного ключа дешифрования невозможно. Таким образом, всякий, кто знает открытый ключ отдельного пользователя, может зашифровать сообщение для этого пользователя, тогда как только пользователь, владеющий личным ключом, соответствующим этому открытому ключу, может дешифровать сообщение. Эта система с открытым/личным ключом была впервые предложена в статье «Новые направления в криптографии», Diffie and Hellman, "New Directions in Cryptography", (IEEE Transactions on Information Theory, November 1976 и в U.S. 4200770 (Hellman et al.).

Криптографические системы, отмеченные выше, используются для защиты статусной информации персонального устройства связи посредством надежного запоминания статусной информации двумя способами. Первый - при записи снимка статусной информации и вычислении «контрольной суммы», например, с использованием односторонней хеш-функции. Результат запоминается в защищенной от несанкционированного вмешательства области памяти устройства. Следовательно, если кто-то пытается изменить статусную информацию, контрольная сумма результата не будет соответствовать значению, запомненному в персональном устройстве. Второй - при использовании монотонного, постоянного счетчика в устройстве. Каждый раз, когда изменяется состояние, статусная информация запоминается наряду с текущим показанием счетчика зашифрованной с использованием ключа устройства. Таким образом, никто не может изменить зашифрованную статусную информацию без ключа.

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

В области DRM участвующие приложения обычно обеспечены цифровой комплексной защитой. Если защищенный процессор, выполняющий такое приложение, имеет достаточное обновляемое пространство в его постоянной памяти с защитой от несанкционированного доступа, довольно просто выполнить защиту статусной информации с защитой целостности. Maheshwari и др. показали такое устройство в работе «Как построить надежную систему базы данных при ненадежном хранении данных», OSDI 2000. К сожалению, экономические причины не позволяют использовать энергонезависимые перезаписываемые устройства памяти на цифровых интегральных схемах. Иметь обновляемую память или запоминающее устройство чтения-записи, объединенное с защищенным процессором, дорого, особенно на чрезвычайно стесненных в ресурсах устройствах, таких как мобильные телефоны. Другими словами, хранение статусной информации и защищенная обработка приложений не всегда экономична (или даже практична) в одной и той же области, защищенной от несанкционированного вмешательства, такой как защищенный процессор, например, внутри интегральной схемы защищенного процессора.

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

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

В качестве практического решения этой проблемы патентная заявка заявителей настоящей заявки, номер публикации US 2003/0079122 A1 представляет идею использования внешнего устройства, защищенного от несанкционированного вмешательства, для хранения важной статусной информации. Патентная заявка US 2003/0079122 A1 раскрывает, что аутентифицированный счетчик может быть выполнен во внешнем жетоне безопасности, защищенном от несанкционированного вмешательства, таком как смарт-карта, который может быть использован защищенным процессором для защиты целостности хранения запоминающим устройством его статуса. Чтобы сделать эту работу, защищенному процессору нужно иметь возможность аутентифицировать внешний жетон безопасности. Для этой цели патентная заявка US 2003/0079122 A1 раскрывает использование инфраструктуры открытого ключа (PKI).

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Цель изобретения - исключить или по меньшей мере уменьшить проблемы известного уровня техники.

По первому аспекту изобретения предлагается устройство, которое включает

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

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

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

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

указанная первая интегральная схема и указанная вторая интегральная схема являются внутренними частями устройства.

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

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

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

Преимущественно, первая и вторая схемы предназначены для установления защищенного протокола связи, используемого между первой и второй зонами доверия. Протокол содержит в себе по меньшей мере команды ЧТЕНИЕ (READ) и ЗАПИСЬ (WRITE) и операции изменения ключа, например команду ЗАПИСЬ КЛЮЧА (WRITE KEY). Следовательно, в примере осуществления в устройстве предусмотрено управление состоянием ключа, позволяющее более чем одному ключу совместно использоваться в первой и второй зонах доверия. Энергонезависимое запоминающее устройство второй зоны доверия может включать по меньшей мере одну переменную величину положения ключа, показывающую общий ключ, используемый при передаче. Переменная состояния сохраняется и обновляется, когда ключ, совместно используемый первой и второй зонами доверия, изменяется. Пример осуществления изобретения предусматривает проверку свежести для операций READ и WRITE. Для операции READ защищенный процессор может включать случайную величину, такую как параметр в операции READ, такой что можно проверить, что последующий результат, полученный из второй интегральной схемы, свежий, т.е. не повторенный. Для операций WRITE свежесть может быть проверена включением старого значения в целевую ячейку памяти в качестве параметра команды WRITE и проверкой во второй интегральной схеме, является ли параметр команды WRITE тем же самым, что и старое значение в целевой ячейке. Если нет, команда WRITE не будет разрешена.

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

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

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

По третьему аспекту изобретения предлагается интегральная схема, которая включает:

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

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

По пятому аспекту изобретения предлагается интегральная схема, включающая:

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

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

интегральная схема сконфигурирована для использования единого криптографического примитива.

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

Фиг.2 показывает упрощенную блок-схему модуля сборки мобильного телефона в соответствии с осуществлением изобретения.

Фиг.3 показывает процедуру инициализации в соответствии с осуществлением изобретения.

Фиг.4 показывает мобильную станцию сети сотовой связи в соответствии с осуществлением изобретения.

ПОДРОБНОЕ ОПИСАНИЕ

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

Фиг.1 показывает первую зону доверия 101, ограниченную первым периметром доверия 110. Защищенный процессор находится внутри первого периметра доверия. Зона внутри первого периметра доверия является защищенной от несанкционированного доступа. Внутренний жетон безопасности - не внутри первого периметра доверия, но вторая зона доверия 102 и второй периметр доверия 120 размещены внутри устройства, и внутренний жетон безопасности находится там. Также вторая зона доверия является защищенной от несанкционированного доступа.

Вторая зона доверия 102 отделена от первой зоны доверия 101. Защищенный процессор первой зоны доверия обменивается данными с внутренним жетоном безопасности по каналу связи 105, организованному между первой зоной доверия и второй зоной доверия. Соответственно, две постоянных и защищенных от несанкционированного доступа зоны доверия, объединенных каналом связи, организованы в устройстве.

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

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

Фиг.2 представляет упрощенную блок-схему сборочного модуля 200 мобильного телефона в соответствии с осуществлением изобретения. Сборочный модуль 200 - это печатная плата или единый объект, включающий два или более блока IC. Блоками IC считаются здесь интегральные чипы IC независимо от того, содержат ли они в действительности какие-нибудь полупроводниковые чипы.

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

Главная ASIC 210 включает защищенный процессор 211, оперативное запоминающее устройство 212, такое как кэш первого уровня или энергонезависимое постоянное запоминающее устройство (ROM) 213. ROM 213 содержит часть компьютерного программного кода 214 для управления работой защищенного процессора 211 при его загрузке после запуска устройства. Главная ASIC 210 связана с другой энергонезависимой памятью 216 по шине памяти 215. Энергонезависимая память 216 формирует память с защитой в незащищенной (от несанкционированного доступа) зоне вне первой зоны доверия. Следовательно, защищенный процессор имеет перезаписываемую энергонезависимую память только снаружи первой зоны доверия. Память с защитой 216 является секретной, т.к. ее информация шифруется, используя внутренний ключ, известный внутри периметра первой зоны доверия. Однако память с защитой не имеет защиты целостности, т.к. информация, содержащаяся в ней, может быть перемещена, по крайней мере в принципе, опытным взломщиком.

Вспомогательная ASIC 220 содержит перезаписываемую энергонезависимую память, такую как флэш-память 223. Вспомогательная ASIC 220 также включает логику 222 доступа к флэш-памяти для доступа к флэш-памяти, логику 221 управления для выполнения связи между главной ASIC 210 и криптоблоком 224, соединенную с логикой 221 управления для выполнения криптографических примитивов. Если вспомогательная ASIC 220 является чипом управления энергопотребления сотового телефона, вспомогательная ASIC 220 вдобавок включает другие соответствующие блоки, необходимые для выполнения обычных функций управления энергопотребления. Эти функции включают управление питанием компонентов с более высоким напряжением, чем управляемые цифровой схемой типичного сотового телефона. Блоки логики 221 и 222 и криптоблок 224 могут быть выполнены аппаратно, программно или как аппаратно-программная комбинация.

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

Главной ASIC 210 может быть любая подходящая IC, способная выполнять компьютерный программный код так, чтобы было трудно вмешаться в исполнение, когда она выполняет приложение внутри первого периметра доверия 110, то есть в первой защищенной от несанкционированного воздействия зоне доверия 101. Зона доверия 101 содержит необходимые регистры и области памяти, которые обычно содержат защищенные данные. Во вспомогательной ASIC 220 имеется вторая зона доверия 102, содержащая логические схемы 221 и 222, криптоблок 224 и уместные, если не все, части перезаписываемой защищенной от несанкционированного воздействия или постоянной памяти 223. Логическая схема 222 преимущественно обеспечивает единственный и контролируемый доступ к значимым частям постоянной памяти 223. Не вся постоянная память 223 должна быть внутри защищенного периметра 120. Однако обычно это имеет место.

Схема 221 управляющей логики способна осуществлять защищенную связь с защищенным процессором 221 при помощи криптографических средств, обеспечиваемых криптоблоком 224. Защищенная связь достигается криптографической защитой канала связи 105 с использованием ключа. Настоящее изобретение предлагает использовать вспомогательную ASIC с разными значениями состояния ключа. Какой ключ используется для защиты канала связи, - зависит от текущего состояния ключа во вспомогательной ASIC 220. В зависимости от состояния ключа используется жестко закодированный ключ К_Н, групповой ключ K_G или выделенный ключ K_S. Следует, однако, заметить, что хотя связь, осуществляемая через канал связи 105 защищена, сам канал не находится внутри упомянутого периметра доверия, а расположен, в этом смысле, в незащищенной зоне. То же самое относится к защищенной памяти 216.

Главная ASIC 210 и вспомогательная ASIC 220 инициализированы для совместной работы как защищенная пара в процедуре инициализации. Во время производства чипа жестко закодированный ключ К_Н кодируется (или прожигается) в управляющей логике 221 вспомогательной ASIC 220, и чипу присваивается идентификатор ID_S. Идентификатор ID_S является уникальным идентификатором, однозначно идентифицирующим вспомогательную ASIC 220. Как вариант, идентификатор ID_S является групповым идентификатором. На следующем шаге во вспомогательную ASIC 220 устанавливается (или записывается) групповой ключ K_G. Групповой ключ по определению - ключ, определенный для группы, например серии чипов. Когда групповой ключ установлен, вспомогательная ASIC переключается из состояния ключа, в котором для кодирования использовался жестко закодированный ключ К_Н (жестко закодированное состояние ключа), в состояние, в котором для кодирования используется групповой ключ K_G (групповое состояние ключа). Преимущественно, установка группового ключа K_G и соответствующее переключение из «жестко закодированного состояния ключа» в «групповое состояние ключа» производится во время производства чипа.

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

Фиг.3 показывает процедуру инициализации в соответствии с осуществлением изобретения. Цель процедуры инициализации на фиг.3 - присвоить общий ключ или секретный, то есть выделенный, ключ K_S защищенному процессору главной ASIC 210 и его жетону безопасности, т.е. вспомогательной ASIC 220. Защищенный сервер 310 в сборочной линии действует как сервер распределения ключей.

На шаге S1 главная ASIC 210 читает информацию идентификации вспомогательной ASIC 220. Как отклик (шаг S2) она получает идентификатор ID_S вспомогательной ASIC 220.

Опционально главная ASIC 210 может также читать текущую информацию состояния ключа вспомогательной ASIC 220. На шаге S3 главная ASIC 210 запрашивает от защищенного сервера 310 выделенный ключ K_S для совместного использования ASIC 210 и 220. Запрос преимущественно содержит состояние ключа вспомогательной ASIC 220, идентификатор ID_S вспомогательной ASIC 220 и уникальный идентификатор ID_P главной ASIC 210. Опционально запрос может быть подтвержден с использованием ключа К_Р, секретного ключа, заранее разделенного (совместно используемого) между защищенным сервером 310 и главной ASIC 210. На основе полученной информации защищенный сервер 310 формирует или выбирает выделенный ключ K_S. Защищенный сервер 310 может иметь базу данных, в которой поддерживается информация по каждому ключу. Например, в этом случае защищенный сервер 310 может связать вместе идентификаторы ID_P и ID_S, состояние ключа вспомогательной ASIC 220 и выделенный ключ K_S.

На шаге S4 защищенный сервер 310 посылает обратно главной ASIC 210 отклик. Отклик содержит две части. Первая часть - это полезная информация для команды WRITE KEY, выдаваемой главной ASIC 210 для вспомогательной ASIC 220. Она включает выделенный ключ K_S, кодированный с использованием ключа K_G. Вторая часть включает выделенный ключ K_S, кодированный с использованием ключа К_Р. На шаге S5 выделенный ключ передается и хранится в логике вспомогательной ASIC 220 при выдаче команды WRITE KEY с первой частью, упомянутой выше как полезная информация, и состояние ключа вспомогательной ASIC 220 обновляется в соответствии с «состоянием выделенного ключа». Одновременно, главная ASIC 210 также дешифрует первую часть и запоминает ее копию K_S в защищенной памяти 216. На шаге S6 код удачного или неудачного выполнения посыпается главной ASIC 210 в ответ на команду WRITE KEY. Ключ K_S теперь готов к использованию.

Следует заметить, что хотя вышеизложенное описывает процедуру инициализации для изменения состояния ключа вспомогательной ASIC 220, в результате чего происходит переключение из «группового состояния ключа» в «выделенное состояния ключа», подобная процедура может опционально быть использована для изменения состояния ключа вспомогательной ASIC 220 из «жестко закодированного состояния ключа» в «групповое состояние ключа». Что касается описания выше, нужно только заменить K_G на К_Н и K_S на K_G. Все другие части остаются теми же. Переход от состояния ключа К_Н к состоянию ключа K_G преимущественно выполняется во время производства вспомогательной ASIC. Но это может быть сделано и на заводе по производству телефонов. Цель K_G (и аналогично К_Н) - защитить передачу K_S (и аналогично К_G) вспомогательной ASIC. Из ключей только ключ К_Н является жестко закодированным, другие ключи не жестко закодированы, а только задаются командой WRITE KEY.

Как упоминалось ранее, совместный ключ K_S используется для защиты связи между главной ASIC 210 для вспомогательной ASIC 220. Соответственно, в осуществлении команды READ и WRITE, относящиеся к протоколу для использования между ASIC и используемые для чтения и записи защищенной статусной информации (такой как информация, связанная с показаниями счетчика повторяющихся попыток ввода PIN кода) постоянной памяти 223 вспомогательной ASIC 220, защищены криптографическими алгоритмами с использованием симметричного ключа, такими как симметричный алгоритм DES, использующий выделенный ключ K_S. В ином случае основной сценарий использования команд READ и WRITE соответствует способу, представленному в US 2003/0079122 A1. Главная ASIC 210 посылает команды протокола вспомогательной ASIC 220, и вспомогательная ASIC 220 отвечает главной ASIC 210, посылая отклики на команды.

Данные, требующие защиты целостности, шифруются и запоминаются в энергонезависимом запоминающем устройстве 216 защищенного процессора 211 с использованием K_S. Эти данные или их критические части кодируются и запоминаются также в памяти 223 вспомогательной ASIC 220 с использованием K_S. Когда включается питание, защищенный процессор 211 сравнивает содержимое этих блоков памяти. Если, например, память 216 подвергалась вмешательству, это будет заметно при сравнении содержимого.

Далее обсуждаются частные проблемы осуществления.

Во-первых, операции записи (WRITE и WRITE KEY) не являются элементарными. Возможно, что операция записи не проходит. Неудачная операция записи может послужить причиной того, что вспомогательная ASIC 220 окажется в недетерминированном состоянии ключа. В этом случае вспомогательная ASIC, например, может не знать, какой ключ использовать. Чтобы уменьшить проблему в соответствии с осуществлением изобретения используются по меньшей мере две (вместо одной) отдельных области памяти внутреннего жетона безопасности, чтобы отследить состояние ключа, показывающего, какой ключ находится в использовании. В осуществлении изобретения к каждой переменной состояния ключа добавлена избыточность. Избыточность добавлена представлением значения переменной состояния ключа по меньшей мере частично в форме магического значения, существенно более длинного, чем «реальное» значение. Если переменная состояния ключа имеет любое значение, отличающееся от магического, устройство возвращается к использованию более безопасного уровня защищенного ключа (например, продолжает использовать K_G, если процесс изменения состояния ключа от «группового состояния» к «выделенному состоянию» встречается с непрохождением команды WRITE). В другом осуществлении предлагаются средства для подтверждения, была или нет команда WRITE успешной. В этом осуществлении после выдачи команды WRITE выдается ряд команд READ для проверки результата команды WRITE.

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

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

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

- операция записи: определение замещения оригинала предполагает предотвращение взлома защиты путем замещения оригинала. В осуществлении изобретения вспомогательная ASIC проверяет это вдобавок к новому значению, полученная команда WRITE также включает текущее значение, запомненное в целевой области памяти (или, в других осуществлениях, также значения в других областях памяти, или результат применения взаимно известной функции к величинам некоторых областей памяти). Иначе операция WRITE не разрешена. Это гарантирует ограниченную форму защиты замещения оригинала: пока последовательность значений, запомненных в области памяти, не имеет циклов, взломщик не может атаковать систему воспроизведением старой команды WRITE. В другом осуществлении для уменьшения шансов взломщика определить, была ли изменена область памяти при воспроизведении команды READ, вспомогательная ASIC снабжена линейным регистром сдвига с обратными связями (LFSR), и некоторые биты LFSR добавлены к отклику. LFSR инициализируется с использованием одной или нескольких областей памяти и имеет временное управление.

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

В четвертых, криптографическая обработка схем ASIC выполняется с использованием базовых криптографических примитивов. Если вспомогательная ASIC ограничена в ресурсах, защищенный протокол связи между схемами ASIC выполняется таким образом, что вся необходимая криптографическая обработка вспомогательной ASIC может быть сделана, используя как можно меньше криптографических примитивов, но тем не менее сохраняя требуемые свойства протокола, такие как конфиденциальность и целостность сообщения. Это может быть достигнуто, например, как изложено ниже, с использованием подходящего симметричного криптографического алгоритма, такого как AES (Улучшенный стандарт шифрования), DES (Стандарт шифрования данных) или тройной DES. Симметричный криптографический алгоритм состоит из прямого преобразования (обычно используемого для шифрования) и обратного преобразования (обычно используемого для дешифрования).

Для сообщений, сгенерированных главной ASIC и посланных вспомогательной ASIC, конфиденциальность достигается использованием прямого преобразования как основной операции в режиме сцепления блоков шифра (cipher-block chaining, CBC), а целостность достигается использованием CBC MAC (кода подлинности сообщения), но с использованием обратного преобразования, как основной операции в режиме CBC.

Режим CBC - это режим работы, широко известный специалистам в данной области техники, и более подробно описанный, например, в книге «Руководство по прикладной криптографии» "Handbook of Applied Cryptography" by Alfred J. Menezes et al., ISBN: 0-8493-8523-7, Fifth Printing, August 2001.

Для сообщений, сгенерированных вспомогательной ASIC и посланных вспомогательной ASIC, конфиденциальность достигается использованием CBC MAC с обратным преобразованием как основной операцией.

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

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

Если сообщение, посланное от вспомогательной ASIC, имеет длину только в один блок, тогда нет необходимости в сцеплении.

Фиг.4 показывает очень упрощенную иллюстрацию мобильной станции сети сотовой связи в соответствии с осуществлением изобретения. Мобильная станция 400 включает, вдобавок к защищенной ASIC 210 сигнала основной полосы, чип 220 управления энергопотреблением и шину 105 I2C, пользовательский интерфейс 410 и радиочастотную (RF) часть 420. Пользовательский интерфейс 410 и радиочастотная (RF) часть 420 соединены с ASIC 210. Пользовательский интерфейс включает клавиатуру и дисплей для использования устройства. Клавиатура может быть использована, например, для ввода PIN-кода в устройство. В соответствии с попытками ввода PIN-кода, защищенная ASIC 210 поддерживает статусную информацию (здесь - число неудачных попыток ввода PIN-кода) в энергонезависимую память чипа 220 управлением энергопотреблением. RF часть используется для беспроводной радиочастотной связи с беспроводной сетью 430.

Были описаны отдельные реализации и осуществления изобретения. Для человека, квалифицированного в этой области техники, ясно, что изобретение не ограничено примерами осуществления, представленными выше, и может быть реализовано в других осуществлениях, используя эквивалентные средства, без отклонения от характеристик изобретения. Ряд особенностей были описаны как часть примеров в вышеизложенном материале, и при любых обстоятельствах, где это технически возможно, эти особенности следует рассматривать как опциональные или комбинируемые с любыми различными другими примерами из описания. Например, изобретение полезно также в различных электронных устройствах, в частности в портативных электронных книгах, устройствах PDA, игровых устройствах, музыкальных плеерах, поддерживающих цифровые права приставках, которые могут предоставлять ограниченный доступ к (арендованному) контенту, и устройствах определения место положения GPS. Следовательно, рамки изобретения ограничены только формулой изобретения.

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

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

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

4. Устройство по п.1, где защищенная связь включает протокол, который также содержит по меньшей мере команды READ (чтение) и WRITE (запись) и операции изменения ключа.

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

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

7. Устройство по п.6, где непредсказуемый компонент - значение, получаемое из линейного регистра сдвига с обратной связью с управлением от тактового генератора.

8. Устройство по п.1, где вторая интегральная схема приспособлена для использования только одного криптографического примитива для всех криптографических операций.

9. Устройство по п.1, где первая интегральная схема - цифровая, а вторая интегральная схема - аналоговая.

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

11. Устройство по п.1, где первая интегральная схема и вторая интегральная схема составляют часть сборочного модуля.

12. Устройство по п.1, где указанная защищенная информация содержит информацию, указывающую статус устройства.

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

14. Устройство по п.13, где устройство выполнено с возможностью сравнения содержимого второй энергонезависимой памяти с содержимым защищенного энергонезависимого запоминающего устройства второй зоны доверия.

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

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

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

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

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



 

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

Изобретение относится к средствам поддержания безопасности и целостности операционных систем (ОС) компьютеров. .

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

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

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

Изобретение относится к способу предоставления объекта данных о правах. .

Изобретение относится к области систем обработки информации, в частности имеет отношение к защите устройства хранения данных в системе обработки информации. .

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

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

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

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

Изобретение относится к системам ограничения доступа к сетевым документам

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

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

Изобретение относится к области управления правами и обеспечения выполнения прав на цифровой контент

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

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