ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Приоритетные заявки с номерами JP 2004-342945, JP 2004-342946 и JP 2005-263010, на которых эта заявка на патент основана, включены в настоящее изобретение в качестве ссылки.
ПРЕДПОСЫЛКИ К СОЗДАНИЮ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к батарее в качестве объекта аутентификации и к запрашивающему аутентификацию устройству, которое подключается к батарее и вырабатывает запрос на аутентификацию батареи.
В последние годы наблюдается повышение функциональных возможностей различных приборов бытовой электроники, в том числе домашних игровых машин, и увеличение типов этих приборов, функции которых могут быть расширены путем подключения периферийных устройств к основному устройству прибора. В таких приборах, чтобы избежать затруднений при ошибочном подключении пользователем изделия другой компании к основному устройству прибора, может возникать необходимость в принятии решения о том, является ли периферийное устройство аутентичным (оригинальным).
Один из способов достижения этой цели состоит в том, чтобы подвергнуть основное устройство прибора и периферийное устройство процессу аутентификации, как правило, используемому в компьютерных системах для проверки аутентичности периферийного устройства. Например, общий пример аутентификации типа "вызов-отклик" предлагается в JP-A-11-163853.
К тому же, в последние годы, даже для батарей появились изготовители, поставляющие поддельные (контрафактные) изделия, что обостряет проблемы, связанные с нестабильной подачей питания вследствие различий расчетных электрических характеристик, все в большей степени. Поэтому необходимость в выполнении процесса аутентификации для проверки изделия на аутентичность в настоящее время возрастает даже для батарей. Для этой цели может быть использован способ аутентификации батареи, предлагаемый в JP-T-2000-517487 (используемый символ "JP-T" означает опубликованную в переводе на японский язык патентую заявку РСТ).
Однако в отличие от информационного устройства приборы, используемые в домах, типа приборов бытовой электроники, могут иметь такой недостаток, как высокий уровень электрического шума в процессе работы. Один из способов противодействия этому состоит в неоднократном выполнении процесса аутентификации для повышения надежности аутентификации.
Однако при неоднократном выполнении процесса аутентификации объем данных, которыми обмениваются периферийное устройство и основное устройство одно с другим, становится большим, и, соответственно, увеличивается загрузка линий связи. Для приборов бытовой электроники и т.п. обработка данных, связанная с функциями самого прибора, является приоритетной. Поэтому увеличивать загрузку линий связи между основным устройством и периферийным устройством за счет данных, непосредственно не имеющих отношения к функциям прибора, нежелательно.
Кроме того, в указанном выше обычном способе аутентификации игнорируется такая специфическая проблема для устройства, подвергаемого аутентификации, как проблема незаряженного состояния батареи.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Настоящее изобретение было создано с учетом изложенных выше обстоятельств в данной области техники, и целью изобретения поэтому является создание батареи, позволяющей уменьшить объем данных, обмен которыми осуществляется для аутентификации, и снизить загрузку линий связи.
Другая цель изобретения состоит в том, чтобы создать батарею с учетом проблем, являющихся специфическими для самой батареи как устройства, подвергаемого аутентификации.
Для разрешения упомянутых выше проблем в данной области техники в изобретении предлагается система аутентификации, содержащая батарею и запрашивающее аутентификацию устройство для аутентификации батареи, хранящие общий ключ шифрования, отличающаяся тем, что запрашивающее аутентификацию устройство генерирует первую информацию, связанную с кодом, для передачи в батарею, получает первый контрольный код запроса на основе первой информации, связанной с кодом, и генерирует первую зашифрованную контрольную информацию путем шифрования первого контрольного кода запроса с помощью ключа шифрования; батарея принимает первую информацию, связанную с кодом, получает первый код вызова на основе полученной первой информации, связанной с кодом, генерирует первую зашифрованную информацию путем шифрования полученного первого кода вызова с помощью ключа шифрования и передает первую информацию, связанную с использованием шифрования, относящуюся к генерированной первой зашифрованной информации, в запрашивающее аутентификацию устройство; запрашивающее аутентификацию устройство принимает решение о подтверждении или неподтверждении аутентификации батареи путем сравнения полученной первой информации, связанной с использованием шифрования, с первой контрольной информацией, связанной с использованием шифрования, относящейся к генерированной первой зашифрованной контрольной информации; а также тем, что первая информация, связанная с кодом, представляет собой часть первого кода вызова и/или первая информация, связанная с использованием шифрования, представляет собой часть первой зашифрованной информации.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема, определяющая конфигурацию периферийного устройства 1;
Фиг.2 - блок-схема, определяющая конфигурацию основного устройства 2;
Фиг.3 - блок-схема, иллюстрирующая пример конфигурации блока управления питанием в составе основного устройства 2;
Фиг.4 - функциональная блок-схема примера периферийного устройства 1;
Фиг.5 - функциональная блок-схема примера основного устройства 2;
Фиг.6 - структурная схема, иллюстрирующая поток обмена данными между периферийным устройством 1 и основным устройством 2; и
Фиг.7 - структурная схема, иллюстрирующая типичный процесс обработки, исполняемый основным устройством 2.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНОГО ПРИМЕРА ОСУЩЕСТВЛЕНИЯ
Далее приводится описание примера осуществления настоящего изобретения со ссылками на прилагаемые чертежи. Батарея в соответствии с примером осуществления реализована как периферийное устройство 1. Как показано на фиг.1, периферийное устройство 1 включает в свой состав блок 11 управления, блок 12 памяти, блок 13 связи и функциональный блок 14, и это устройство 1 подключено к основному устройству 2.
Блок 11 управления представляет собой ЦП или т.п. и работает в соответствии с программами, хранимыми в блоке 12 памяти. Блок 11 управления выполняет обработку данных для реализации функций периферийного устройства 1. Если периферийное устройство 1 является устройством манипуляции типа контроллера, блок 11 управления выполняет обработку, заключающуюся в передаче информации, относящейся к манипуляции командами пользователя, в основное устройство 2. Для запоминающего устройства типа карточки с памятью в качестве периферийного устройства 1 блок 11 управления выполняет обработку, заключающуюся в хранении информации, получаемой из основного устройства 2, и обработку, заключающуюся в поставке хранимой информации в основное устройство 2 в ответ на запрос из основного устройства 2. Несмотря на то, что в этом примере осуществления устройство, подвергаемое аутентификации, является источником питания (т.е., батареей), периферийное устройство 1 как устройство, подвергаемое аутентификации, может представлять собой также любое другое устройство, в том числе устройство связи, устройство преобразования изображения типа камеры и звуковое устройство типа динамика.
Для реализации функции аутентификации блок 11 управления также выполняет обработку, заключающуюся в приеме первой информации, связанной с кодом, получении первого кода вызова на основе полученной первой информации, связанной с кодом, и генерации первой зашифрованной информации путем шифрования первого кода вызова. Подробное описание процесса обработки данных для реализации функции аутентификации, исполняемой контроллером 11, приводится ниже.
Блок 12 памяти включает в свой состав запоминающий элемент типа флэш-ПЗУ и ЗУПВ и хранит программы, реализуемые блоком 11 управления. Блок 12 памяти также работает в качестве оперативной памяти для хранения различных данных, являющихся необходимыми в процессе выполняемой блоком 11 управления обработки.
Блок 13 связи представляет собой, например, последовательный коммуникационный порт и подключен к основному устройству 2. Блок 13 связи передает информацию в основное устройство 2 в соответствии с командой, поступающей из блока 11 управления. Кроме того, блок 13 связи выводит в блок 11 управления информацию, принимаемую из основного устройства 2.
Функциональный блок 14 обеспечивает функции периферийного устройства 1. Так как в этом примере осуществления периферийное устройство 1 является батареей, функциональный блок 14 включает в свой состав вторичную батарею для подачи электроэнергии.
Как показано на фиг.2, основное устройство 2, которое является домашней игровой машиной, например, включает в свой состав блок 21 управления типа ЦП, блок 22 памяти, блок 23 манипуляции, блок 24 управления дисплеем, блок 25 связи, накопитель 26 на оптических дисках и блок 27 управления питанием.
Блок 21 управления работает в соответствии с программами, хранимыми в блоке 22 памяти. Например, блок 21 управления выполняет обработку данных, которая относится к игре. В этом примере осуществления блок 21 управления функционирует также в качестве устройства, запрашивающего аутентификацию. Подробное описание процесса обработки данных, выполняемой блоком 21 управления в качестве запрашивающего аутентификацию устройства, приводится ниже.
Блок 22 памяти, представляющий собой, например, ЗУПВ, хранит игровые программы, которые считываются из накопителя 26 на оптических дисках. Блок 22 памяти снабжен также энергонезависимым запоминающим элементом, хранящим программы для устройства, запрашивающего аутентификацию. Блок 22 памяти также работает в качестве оперативной памяти блока 21 управления.
Блок 23 манипуляции, который является игровым контроллером, выводит содержимое манипуляции командами игрока в блок 21 управления. Блок 24 управления дисплеем, который является графической платой, обеспечивает воспроизведение игрового изображения на дисплее типа домашнего телевизора в соответствии с командой, вводимой из блока 21 управления. Блок 25 связи, являющийся, например, последовательным коммуникационным портом, подключен к блоку 13 связи периферийного устройства 1 и обменивается информацией с этим устройством. В этом примере осуществления блок 25 связи передает информацию в периферийное устройство 1 в соответствии с командами, вводимыми из блока 21 управления, и выводит в блок 21 управления, информацию, принимаемую из периферийного устройства 1.
Накопитель 26 на оптических дисках, представляющий собой, например, накопитель для дисков DVD или накопитель для оптических дисков высокой плотности (Blu-ray), работающих на голубых лазерах, считывает информацию типа программ с носителя записи типа диска DVD, диска Blu-ray или т.п. и выводит эту информацию в блок 21 управления.
Как показано на фиг.3, блок 27 управления питанием, подключенный к батарее как периферийное устройство 1, включает в свой состав цепь 31 управления питанием, зарядную цепь 32 и цепь 33 подачи питания. Цепь 31 управления питанием управляет подачей электроэнергии от батареи или цепи 33 подачи питания 33 в отдельные блоки типа блока 21 управления. Например, если игрок включает питание, цепь 31 управления питанием начинает подавать электроэнергию в отдельные блоки. Если игрок выключает питание, или из блока 21 управления приходит команда на выключение питания (команда отключения источника питания), цепь 31 управления питанием прекращает подачу электроэнергии в отдельные блоки.
Зарядная цепь 32 заряжает батарею, если батарея подключена к этой цепи в состоянии, при котором в нее поступает электроэнергия из цепи 33 подачи питания. Цепь 33 подачи питания представляет собой, например, регулятор и подключена к внешнему источнику питания (например, через домашнюю стенную розетку). К цепи 33 подачи питания прикладывается напряжение источника постоянного тока, вырабатываемое на основе электроэнергии от внешнего источника питания и выводимое в цепь 31 управления питанием и зарядную цепь 32. Цепь 33 подачи питания соответствует в данном изобретении "блоку получения питания".
Блок 27 управления питанием подает в отдельные блоки электроэнергию, подаваемую от батареи, если батарея подключена к этому блоку в состоянии, при котором в цепь 33 подачи питания не поступает электроэнергии ни от какого внешнего источника питания. Если в цепь 33 подачи питания поступает электроэнергия от внешнего источника питания, то блок 27 управления питанием обеспечивает отдельные блоки электроэнергией, подаваемой от внешнего источника питания. Кроме того, блок 27 управления питанием заряжает батарею, если батарея подключена к этому блоку в состоянии, при котором в цепь 33 подачи питания поступает электроэнергия от внешнего источника питания.
Далее приводится описание процесса обработки данных для реализации функции аутентификации, выполняемой блоком 11 управления периферийного устройства 1. В этом примере осуществления множество возможных ключей k0, k1, ... шифрования заранее сохраняются в блоке 12 памяти периферийного устройства 1.
С точки зрения исполняемых функций, как показано на фиг.4, блок 11 управления включает в свой состав блок 41 обработки запроса на аутентификацию и блок 42 аутентификации основного устройства.
Посредством блока 13 связи блок 41 обработки запроса на аутентификацию принимает из основного устройства 2 (устройства, запрашивающего аутентификацию) первую информацию, связанную с кодом, на основе которой генерируется первый код вызова. Кроме того, блок 41 обработки запроса на аутентификацию принимает из основного устройства 2 идентифицирующую информацию о ключе шифрования, используемую для идентификации одного ключа шифрования, и считывает из блока 12 памяти ключ kN шифрования, идентифицируемый идентифицирующей информацией о ключе (например, номером N ключа).
В данном изобретении предполагается, что первая информация, связанная с кодом, является частью первого кода вызова. Например, в случае использования 128-битового первого кода вызова основное устройство 2 пересылает в качестве первой информации, связанной с кодом, 64-битовую информацию, соответствующую первой половине (старшей половине) 128-битовой информации. Блок 41 обработки запроса на аутентификацию генерирует первый код вызова на основе первой информации, связанной с кодом, и получает его.
В этом примере осуществления множество первых констант С10, С11 ... сохраняются в блоке памяти 12 заранее. Первый код вызова генерируется путем считывания из блока 12 памяти первой константы C1N, соответствующей номеру N ключа, принимаемому в качестве идентифицирующей информации о ключе шифрования, и размещения полученной в результате считывания первой константы С1N за полученной первой информацией, связанной с кодом. В случае, когда, как описывается выше, для 128-битового первого кода вызова первая информация, связанная с кодом, является 64-битовой, каждая из первых констант C 10, С11, ... представляет собой 64-битовую константу. В данном изобретении первая константа представляет собой "общую частичную информацию".
Блок 41 обработки запроса на аутентификацию генерирует первую зашифрованную информацию путем шифрования первого кода вызова, генерированного с использованием ключа kN шифрования, полученного в результате считывания из блока 12 памяти.
Кроме того, блок 41 обработки запроса на аутентификацию извлекает в качестве первой информации, связанной с использованием шифрования, заданную часть (например, вторую половину (младшую половину)) первой зашифрованной информации и передает извлеченную первую информацию, связанную с использованием шифрования, в основное устройство 2. Например, если первый код вызова является 128-битовым и алгоритм вышеупомянутого шифрования представляет собой метод кодирования, который не изменяет разрядности кода информации, подвергаемой шифрованию, первая зашифрованная информация также является 128-битовой. Блок 41 обработки запроса на аутентификацию передает заданную часть (например, 64 бита второй половины) 128-битовой первой зашифрованной информации в основное устройство 2.
Для аутентификации основного устройства 2 (устройства, запрашивающего аутентификацию) блок 42 аутентификации основного устройства генерирует вторую информацию, связанную с кодом, которая относится ко второму контрольному коду запроса (второму коду вызова для сравнения), используемому для аутентификации основного устройства 2. Например, блок 42 аутентификации основного устройства генерирует числовое значение с определенным числом битов с помощью программы генерации случайных чисел и передает генерированное случайное число в качестве второй информации, связанной с кодом, в основное устройство 2 посредством блока 13 связи.
Кроме того, блок 42 аутентификации основного устройства генерирует второй контрольный код запроса на основе генерированной второй информации, связанной с кодом. В этом примере осуществления множество вторых констант С20, С21, ... сохраняются в блоке 12 памяти заранее. При этом вторая константа C2N, соответствующая номеру N ключа, который был получен предварительно в качестве идентифицирующей информации о ключе шифрования, считывается из блока 12 памяти. Второй контрольный код запроса генерируется путем размещения второй константы C2N за генерированной второй информацией, связанной с кодом. Объем данных второго кода вызова, участвующих в обмене (в передаче и приеме), может быть уменьшен, как описывается выше, путем определения части второго кода вызова случайным образом и использования остаточной части в качестве константы.
Блок 42 аутентификации основного устройства генерирует вторую зашифрованную контрольную информацию путем шифрования второго контрольного кода запроса, хранимого в блоке 12 памяти, с использованием ключа kN шифрования, идентифицируемого с помощью идентифицирующей информации о ключе шифрования, полученной при выполнении функции аутентификации.
Далее блок 42 аутентификации основного устройства сравнивает заданную часть второй зашифрованной контрольной информации с частью информации, полученной путем шифрования второго кода вызова в основном устройстве 2. В случае извлечения 64 битов второй половины в качестве заданной части, как в описанном выше примере, блок 42 аутентификации основного устройства извлекает 64 бита второй половины из второй зашифрованной контрольной информации и сравнивает извлеченную 64-битовую информацию со второй информацией, связанной с использованием шифрования (разрядностью в 64 бита), полученной из основного устройства 2.
Если заданная часть второй зашифрованной контрольной информации совпадает со второй информацией, связанной с использованием шифрования, одна с другой, блок 42 аутентификации основного устройства (т.е. периферийное устройство 1) принимает решение, что основное устройство 2 является аутентифицированным (например, является подлинным) и сообщает результат принятия решения в основное устройство 2. Если блок 42 аутентификации основного устройства принимает решение, что заданная часть второй зашифрованной контрольной информации не совпадает со второй информацией, связанной с использованием шифрования, полученной из основного устройства 2, то есть основное устройство 2 не является аутентифицированным, блок 42 аутентификации основного устройства 42 сообщает результат принятия решения в основное устройство 2.
Далее приводится описание работы блока 21 управления в составе основного устройства 2, которое работает в качестве устройства, запрашивающего аутентификацию. В блоке 22 памяти основного устройства 2 заранее сохраняется ключ kN шифрования. Ключ kN шифрования является одним из множества ключей шифрования, хранимых в блоке 12 памяти периферийного устройства 1 как устройства, подвергаемого аутентификации. Кроме того, идентифицирующая информация о ключе шифрования (например, номер N ключа), которая является информацией, необходимой для идентификации ключа шифрования в периферийном устройстве 1, сохраняется в блоке памяти 22 заранее.
Блок 21 управления основного устройства 2 реализует функции, представленные на фиг.5. С точки исполняемых функций, как показано на фиг.5, блок 21 управления включает в свой состав блок 45 аутентификации периферийного устройства и блок 46 обработки запроса на аутентификацию.
Блок 45 аутентификации периферийного устройства генерирует первую информацию, связанную с кодом, на основе которой генерируется первый контрольный код вызова. Например, блок 45 аутентификации периферийного устройства генерирует случайное число с помощью программы генерации случайных чисел и передает генерированное случайное число в качестве первой информации, связанной с кодом, в периферийное устройство 1 посредством блока 25 связи. Блок 45 аутентификации периферийного устройства также передает идентифицирующую информацию о ключе шифрования (например, номер N ключа), используемую для идентификации ключа kN шифрования.
Кроме того, блок 45 аутентификации периферийного устройства генерирует первый контрольный код запроса на основе генерированной первой информации, связанной с кодом. В этом примере осуществления первая константа C1i, используемая в периферийном устройстве 1, сохраняется в блоке 22 памяти заранее. Так как в этом примере в периферийном устройстве 1 используется первая константа С1N, идентифицируемая с помощью идентифицирующей информации о ключе шифрования (с помощью номера N ключа), то первая константа С1N сохраняется в блоке 22 памяти.
Блок 45 аутентификации периферийного устройства генерирует первый контрольный код запроса путем размещения первой константу С1N, хранимой в блоке 22 памяти, за генерированной информацией, связанной с кодом. Объем данных кода вызова, участвующих в обмене (в передаче и приеме), может быть уменьшен, как описывается выше, путем определения части кода вызова случайным образом и использования остаточной части в качестве константы.
Блок 45 аутентификации периферийного устройства генерирует первую зашифрованную контрольную информацию путем шифрования генерированного первого контрольного код запроса ключом kN шифрования, хранимым в блоке 22 памяти.
Далее блок 45 аутентификации периферийного устройства принимает из периферийного устройства 1 в качестве первой информации, связанной с использованием шифрования, часть результата шифрования первого кода вызова, выполненного в периферийном устройстве 1 с использованием ключа kN шифрования. И блок 45 аутентификации периферийного устройства сравнивает заданную часть первой зашифрованной контрольной информации с первой информацией, связанной с использованием шифрования, полученной из периферийного устройства 1. В случае извлечения 64 битов второй половины в качестве заданной части, как в описанном выше примере, блок 45 аутентификации периферийного устройства 42 извлекает 64 бита второй половины из первой зашифрованной контрольной информации и сравнивает извлеченную 64-битовую информацию с первой информацией, связанной с использованием шифрования (разрядностью в 64 бита), полученной из периферийного устройства 1.
Если заданная часть первой зашифрованной контрольной информации совпадает с первой информацией, связанной с использованием шифрования, одна с другой, блок 45 аутентификации периферийного устройства принимает решение, что периферийное устройство 1 является аутентифицированным (например, является подлинным).
Кроме того, в основном устройстве 2 заранее сохраняется вторая константа C2N, используемая в периферийном устройстве 1. Блок 46 обработки запроса на аутентификацию генерирует второй код вызова путем размещения второй константы C2N за второй информацией, связанной с кодом, полученным из блока 42 аутентификации основного устройства, который входит в состав периферийного устройства 1.
Блок 46 обработки запроса на аутентификацию генерирует вторую зашифрованную информацию путем считывания ключа kN шифрования из блока 22 памяти и шифрования генерированного второго кода вызова с использованием ключа kN шифрования. Кроме того, блок 46 обработки запроса на аутентификацию извлекает в качестве второй информации, связанной с использованием шифрования, заданную часть (например, вторую половину) второй зашифрованной информации и передает извлеченную вторую информацию, связанную с использованием шифрования, в периферийное устройство 1.
Несмотря на то, что в приведенном выше описании рассматривается случай выполнения как обработки данных для аутентификации периферийного устройства 1, так и обработки данных для аутентификации основного устройства 2 периферийным устройством 1, может иметь место случай, когда достаточно выполнения только обработки данных для аутентификации основным устройством 2 периферийного устройства 1. При этом наличие блока 42 аутентификации основного устройства в составе периферийного устройства 1 и блока 46 обработки запроса на аутентификацию в составе основного устройства 2 является необязательным.
Одна важная особенность этого примера осуществления заключается в том, что сообщается об успешной или неуспешной аутентификации с помощью данных, включающих в свой состав заданную часть второй зашифрованной контрольной информации. В этом примере осуществления о подтверждении аутентификации основного устройства 2 сообщается путем передачи определенной части второй зашифрованной контрольной информации в неизменном виде в качестве данных успешной аутентификации в основное устройство 2. О неподтверждении аутентификации основного устройства 2 сообщается путем передачи в основное устройство 2 в качестве данных неуспешной аутентификации данных, полученных путем отрицания каждого бита определенной части второй зашифрованной контрольной информации. Отрицание означает операцию изменения бита "1" на "0", а бита "0" - на "1". Логическая операция, при которой каждый бит данных остается в неизменном виде, соответствует в данном изобретении "второй логической операции", а логическая операция отрицания каждого бита данных соответствует в данном изобретении "первой логической операции". Соответственно, когда основное устройство 2 сообщает о подтверждении аутентификации периферийного устройства 1, основное устройство 2 передает определенную часть первой зашифрованной контрольной информации в неизменном виде. О неподтверждении аутентификации периферийного устройства 1 сообщается путем передачи в периферийное устройство 1 в качестве данных неуспешной аутентификации данных, полученных путем отрицания каждого бита определенной части первой зашифрованной контрольной информации.
Основное устройство 2 сравнивает полученные данные успешной аутентификации со второй информацией, связанной с использованием шифрования, переданной ранее. В случае совпадения основное устройство 2 принимает решение о подтверждении аутентификации.
В качестве данных успешной аутентификации или данных неуспешной аутентификации может быть использована заданная константа типа данных, все биты которых представляют собой "1" или "0". Однако при использовании константы для этой цели, например, пересылка информации о подтверждении аутентификации основного устройства 2 может быть осуществлена путем передачи константы в качестве данных успешной аутентификации с помощью незаконно изготовленной модифицирующей микросхемы (MOD chip). Для преодоления такого слабого места в защите в этом примере осуществления данные успешной аутентификации или данные неуспешной аутентификации генерируются с использованием вместо константы заданной части зашифрованной контрольной информации, которая приобретает другое значение при каждом выполнении процесса аутентификации.
В этом примере осуществления первый и/или второй код(ы) вызова, а также первая и/или вторая зашифрованная информация, полученная путем шифрования первого и/или второго код(ов) вызова, передаются и принимаются не полностью, а лишь частично. Это позволяет уменьшить объем данных, участвующих в обмене в процессе аутентификации, и таким образом способствует уменьшению загрузки линий связи.
Далее работа периферийного устройства 1 и основного устройства 2 как соответственно устройства, подлежащего аутентификации, и устройства, запрашивающего аутентификацию, будет описана со ссылками на фиг.6. Фиг.6 - структурная схема, иллюстрирующая поток обмена данными между периферийным устройством 1 и основным устройством 2. Вначале в блок памяти 22 основного устройства 2 вводят ключ k0 шифрования, первую константу С10 и вторую константу С20, которые соответствуют идентифицирующей информации N=0 о ключе шифрования.
Когда периферийное устройство 1 подключают к основному устройству 2, основное устройство 2 на этапе S1 генерирует 64-битовое случайное число R1 и на этапе S2 передает идентифицирующую информацию о ключе шифрования (в этом примере номер "0" ключа), используемую для идентификации ключа k0 шифрования, и случайное число R1, являющееся первой информацией, связанной с кодом, в периферийное устройство 1.
На этапе S3 основное устройство 2 генерирует первый контрольный код запроса путем размещения первой константы C 10 за случайным числом R1, которое является первой информацией, связанной с кодом, генерированной на этапе S1. В следующем ниже описании размещение двух частей информации, примыкающих одна к другой, будет обозначаться символом "||". Поэтому первый контрольный код запроса получает обозначение "R1||C10".
На этапе S4 основное устройство 2 генерирует первую зашифрованную контрольную информацию путем шифрования генерированного первого контрольного кода R1||C10 запроса с использованием ключа k0 шифрования. При этом, если представить информацию, полученную путем шифрования данных d, являющихся объектом шифрования, с использованием ключа шифрования k, в виде ENC(k, d), то генерированная первая зашифрованная контрольная информация получит обозначение ENC(k0, (R1||C10)).
Периферийное устройство 1 принимает первую информацию R1, связанную с кодом, и номер "0" ключа (идентифицирующую информацию о ключе шифрования) из основного устройства 2 и считывает ключ k0 шифрования и первую константу С10, которые идентифицируются идентифицирующей информацией "0" о ключе шифрования из блока 12 памяти. На этапе S5 периферийное устройство 1 генерирует первый код R1||C10 вызова путем размещения первой информации R1, связанной с кодом, и первой константы С10 с примыканием одной к другой.
На этапе S6 периферийное устройство 1 генерирует первую зашифрованную 13 информацию ENC (k0, (R1||C10)) путем шифрования генерированного первого кода R1||C10 вызова с использованием ключа k0 шифрования и извлекает определенную часть (например, младшие 64 бита) генерированной первой зашифрованной информации ENC (k0, (R1||C10)), чтобы получить первую информацию, связанную с использованием шифрования. На этапе 87 периферийное устройство 1 передает извлеченную первую информацию, связанную с использованием шифрования, в основное устройство 2.
Основное устройство 2 принимает первую информацию, связанную с использованием шифрования. На этапе 88 основное устройство 2 проверяет, совпадает ли определенная часть (64 бита) первой зашифрованной контрольной информации, генерированной на этапе 84, с полученной первой информацией, связанной с использованием шифрования, и таким образом аутентифицирует периферийное устройство 1.
Как правило, потенциальному изготовителю поддельного периферийного устройства ни ключ k0 шифрования, ни первая константа C10 неизвестны, и, следовательно, этот изготовитель не может генерировать первый код вызова или первую зашифрованную информацию. Следовательно, в этом случае обычно на этапе 88 определенная часть (младшие 64 бита) первой зашифрованной контрольной информации не совпадают с полученной первой информацией, связанной с использованием шифрования. Поэтому может быть принято решение о том, что периферийное устройство 1 является поддельным.
На этапе S9 периферийное устройство 1 может генерировать вторую информацию, связанную с кодом, которая относится к коду вызова (второму коду вызова), используемому для аутентификации основного устройства 2. В этом примере осуществления на этапе S9 периферийное устройство 1 генерирует 64-битовое случайное число R2 с помощью программы генерации случайных чисел и на этапе S7 передает генерированное случайное число R2 в качестве второй информации, связанной с кодом, в основное устройство 2 вместе с первой информацией, связанной с использованием шифрования.
На основе второй информации R2, связанной с кодом, периферийное устройство 1 генерирует второй контрольный код запроса. В этом случае периферийное устройство 1 считывает из блока 12 памяти вторую константу С20, соответствующую номеру "0" ключа в качестве идентифицирующей информации о ключе шифрования, полученной на этапе S2. На этапе S10 периферийное устройство 1 генерирует второй контрольный код R2||C20 запроса путем размещения второй константы S20 за второй информацией R2, связанной с кодом.
На этапе S11 периферийное устройство 1 генерирует вторую зашифрованную контрольную информацию ENC (k0, (R2||C20)) путем шифрования второго контрольного кода R2||C20 запроса с использованием ключа k0 шифрования, который идентифицируется с использованием номера "0" ключа в качестве идентифицирующей информации о ключе шифрования.
На этапе S12 основное устройство 2 генерирует второй код R2||C20 вызова путем размещения второй константы С20 за второй информацией R2, связанной с кодом, которая была получена на этапе S7, и получает второй код R2||C20 вызова. На этапе S13 основное устройство 2 генерирует вторую зашифрованную информацию ENC(k0, (R2||C20)) путем шифрования генерированного второго кода R2||C20 вызова с использованием ключа k0 шифрования и извлекает определенную часть (младшие 64 бита) второй зашифрованной информации ENC(k0, (R2||C20)), чтобы получить вторую информацию, связанную с использованием шифрования. На этапе S14 основное устройство 2 передает извлеченную вторую информацию, связанную с использованием шифрования, в периферийное устройство 1.
На этапе S15 после приема второй информации, связанной с использованием шифрования, из основного устройства 2 периферийное устройство 1 принимает решение о том, совпадает ли определенная часть (64 бита) второй зашифрованной контрольной информации, генерированной на этапе S11, со второй информацией, связанной с использованием шифрования, полученной из основного устройства 2, или нет. На этапе S16 периферийное устройство 1 передает результат принятия решения в основное устройство 2.
Как описывается выше, если определенная часть (младшие 64 бита) второй зашифрованной контрольной информации, генерированной на этапе S11, совпадает со второй информацией, связанной с использованием шифрования, полученной из основного устройства 1, периферийное устройство 1 передает определенную часть второй зашифрованной контрольной информации, генерированной на этапе S11, в неизменном виде в основное устройство 2 в качестве данных успешной аутентификации.
Если определенная часть (младшие 64 бита) второй зашифрованной контрольной информации, генерированной на этапе S11, не совпадает со второй информацией, связанной с использованием шифрования, полученной из основного устройства 2, периферийное устройство 1 генерирует данные неуспешной аутентификации (данные, не подтверждающие аутентификацию) путем отрицания каждого бита определенной части второй зашифрованной контрольной информации, генерированной на этапе S11, и передает генерированные данные неуспешной аутентификации в основное устройство 2.
На этапе S17 основное устройство 2 принимает решение о том, аутентифицировалось ли само основное устройство 2 или нет, на основе результата принятия решения, полученного на этапе S16. В этом примере осуществления основное устройство 2 сравнивает определенную часть второй зашифрованной информации, переданной на этапе S13, с информацией о результате принятия решения, полученном на этапе S16. В случае их взаимного совпадения основное устройство 2 принимает решение об успешном осуществлении собственной аутентификации. При раскрытии, например, ключа k0 шифрования основное устройство 2 возвращается в исходное состояние, а ключ шифрования и другие данные, хранимые в блоке 22 памяти, заменяются (перезаписываются), например, на ключ k1 шифрования, идентифицируемый с использованием номера "1" ключа, первую константу С11 и вторую константу С21 (которые сохраняются в периферийном устройстве 1 заранее). Идентифицирующая информация о ключе шифрования меняется на "1". Это позволяет осуществлять модификацию ключа шифрования и других данных без обязательного возврата периферийных устройств 1 (число периферийных устройств 1 на рынке намного превышает число основных устройств 2) в исходное состояние.
При подключении основного устройства 2 и периферийного устройства 1 одного к другому обмен данными, показанный на фиг.6, может выполняться с повторением, то есть при наступлении каждого определенного момента времени. В случае невозможности аутентификации периферийного устройства 1 на этапе S8 основное устройство 2 может возвратиться на этап S1 и повторить выполнение процесса, показанного на фиг.6. Подобным же образом, если на этапе S17 принимается решение о неподтверждении аутентификации самого основного устройства 2, основное устройство 2 может возвратиться на этап S1 и повторить выполнение процесса, показанного фиг.6.
Несмотря на то, что выше речь шла о передаче частей как первого или второго кода вызова, так и первой или второй зашифрованной информации, используемых для проведения процесса аутентификации, возможен вариант передачи кода вызова или зашифрованной информации полностью. При таком варианте происходит соответствующее увеличение загрузки линии связи, но уровень безопасности может быть повышен, например, путем обеспечения принятия решения о совпадении/несовпадении при передаче полной первой или второй зашифрованной информации.
При передаче части первого или второго кода вызова в качестве первой или второй информации, связанной с кодом, порядок объединения первой или второй информации, связанной с кодом, и постоянной C не ограничивается только описанным выше "R||C" и возможен вариант "C||R". Кроме того, порядок объединения этих данных в процессе аутентификации периферийного устройства 1 основным устройством 2 (этапы S1-S8 на фиг.6) может отличаться от порядка их объединения в процессе аутентификации основного устройства 2 периферийным устройством 1 (этапы S9-S17 на фиг.6).
Блок управления 21 хранит флаг, указывающий на результат аутентификации, в блоке 22 памяти. Например, в случае успешного процесса аутентификации флаг устанавливается на "0", а в случае неуспешного - на "1".
В этом примере осуществления и блок 21 управления основного устройства 2 и блок 11 управления батареи как периферийного устройства 1 выполняют процесс аутентификации повторно в случае неуспешного результата только что выполненного процесса аутентификации. Кроме того, даже при успешном процессе аутентификации каждый из блоков 21 и 11 управления может выполнить процесс аутентификации повторно по истечении определенного времени.
Другая важная особенность этого примера осуществления состоит в том, что содержание процесса аутентификации, выполняемого блоком 21 управления, определяется тем, подается в блок 27 управления питанием электроэнергия от внешнего источника питания или нет. Например, при включенном питании блок 21 управления проверяет, подключена ли батарея как периферийное устройство 1 к блоку 27 управления питанием. Если батарея подключена к блоку 27 управления питанием, блок 21 управления начинает выполнение процесса, показанного фиг.7. Далее описание будет вестись в предположении, что область памяти, используемая в качестве счетчика числа неуспешных аутентификаций, предназначенного для хранения числа последовательных неуспешных процессов аутентификации, зарезервирована в блоке 22 памяти, однако такой счетчик может быть выполнен и в виде регистра ЦП, работающего в качестве блока 21 управления.
На этапе S21 блок 21 управления выполняет процесс аутентификации батареи. На этапе S22 блок 21 управления проверяет, был ли процесс аутентификации батареи успешным или нет (т.е. было ли принято решение об аутентичности батареи или нет). При этом блок 21 управления проверяет, установлен ли флаг, связанный с аутентификацией, на "1" (т.е. имеет значение, указывающее на неуспешное проведение только что выполненного процесса аутентификации) или нет. Если принимается решение о неуспешном процессе аутентификации, на этапе S23 содержимое счетчика числа неуспешных аутентификаций увеличивается на единицу. На этапе S24 блок 21 управления принимает решение о том, подается ли в блок 27 управления питанием электроэнергия от внешнего источника питания или нет.
Если в блок 27 управления питанием электроэнергия от внешнего источника питания не подается, то на этапе S25 блок 21 управления задает первое определенное значение интервала повторения процесса аутентификации (например, 100 мс) и первое пороговое значение числа неуспешных аутентификаций (например, 30). На этапе S26 блок 21 управления 21 проверяет, превысило ли содержимое счетчика числа неуспешных аутентификаций пороговое значение или нет. Если содержимое счетчика числа неуспешных аутентификаций превысило пороговое значение, то на этапе S27 блок 21 управления исполняет процесс обработки, соответствующий неуспешной аутентификации, и последовательность операций обработки заканчивается. То есть блок 21 управления исполняет процесс обработки, соответствующий неуспешной аутентификации, когда число неуспешных последовательных аутентификаций превышает заданное пороговое значение, и затем выключает питание основного устройства 2.
С другой стороны, если на этапе S26 принимается решение, что число неуспешных аутентификаций не превысило заданного порогового значения, то на этапе S28 блок 21 управления приостанавливает процесс на какое-то время, равное интервалу повторения процесса аутентификации. По истечении этого времени происходит возврат процесса обработки на этап S21 и возобновление аутентификации.
Если на этапе S24 принимается решение о подаче электроэнергии в блок 27 управления питанием от внешнего источника питания, то на этапе S29 блок 21 управления задает втрое определенное значение интервала повторения процесса аутентификации (например, 500 мс) и второе пороговое значение числа неуспешных аутентификаций (например, 600). Затем происходит переход процесса обработки на этап S26 и продолжение исполнения аутентификации.
Как описывается выше, определенное значение интервала повторения и пороговое значение числа неуспешных аутентификаций изменяются, и, следовательно, период, в течение которого процесс аутентификации повторяется, изменяется в зависимости от того, подается ли в блок 27 управления питанием электроэнергия от внешнего источника питания или нет. Эта мера позволяет принять во внимание случаи, когда, например, даже при условии аутентичности батареи блок 11 управления не может работать вследствие практически полного истощения остаточного заряда вторичной батареи функционального блока 14. Если блок 11 управления не работает, то даже если основное устройство 2 (устройство, запрашивающее аутентификацию) передает случайное число в батарею, батарея не может передать информацию, связанную с использованием шифрования, и поэтому основное устройство 2 принимает решение о том, что батарея не была аутентифицирована. Ввиду этого в этом примере осуществления при условии подачи электроэнергии в блок 27 управления питанием от внешнего источника питания и зарядки батареи интервал процесса аутентификации задается более длинным и число повторений процесса аутентификации задается увеличенным. В результате, если батарея вначале является разряженной, то период повторения процесса аутентификации удлиняется настолько, чтобы зарядить батарею до уровня, обеспечивающего работу блока 11 управления.
Далее, если на этапе S22 принимается решение об успешной аутентификации батареи, то на этапе S30 блок 21 управления сбрасывает счетчик числа неуспешных аутентификаций на "0". Затем на этапе S31 блок 21 управления задает третье определенное значение интервала повторения процесса аутентификации (например, 30 с), а на этапе S32 исполняет процесс обработки, соответствующий успешной аутентификации. После этого происходит переход процесса обработки на этап S29 и продолжение исполнения аутентификации.
Процесс обработки, соответствующий неуспешной аутентификации, (этап S27) может представлять собой, например, подачу команды на выключение питания в блок 27 управления питанием и выключение основного устройства 2 или подачу команды на отображение "Непригодный для использования" в блок 24 управлением дисплеем и приостановку процесса обработки, связанного с игрой.
Процесс обработки, соответствующий успешной аутентификации, (этап S32) может представлять собой, например, инициирование процесса обработки, связанного с игрой. Если процесс обработки, связанный с игрой, уже был инициирован, то выполнения какого-то процесса обработки, соответствующего успешной аутентификации, может не потребоваться.
Область памяти, используемая в качестве счетчика числа неуспешных аутентификаций, может быть зарезервирована в энергонезависимой памяти блока 22 памяти, так что содержимое этого счетчика сохраняется даже после отключения питания. Это позволяет предотвратить прерывание игры вследствие сброса счетчика неуспешных аутентификаций в процессе проведения игры, например, при подключении и отключении внешнего источника питания от основного устройства 2 или при регулярной приостановке игры и повторном включении питания.
В рассмотренном выше примере осуществления предлагается проводить процесс обработки с учетом такой специфической для аутентификации батареи проблемы, как невозможность аутентификации батареи в качестве главного устройства для подачи питания вследствие недостаточно высокого уровня ее зарядки.
Несмотря на то, что в приведенном выше описании рассматривается случай, когда основное устройство 2 представляет собой домашнюю игровую машину, настоящее изобретение не ограничивается этим случаем. Например, возможен вариант, когда периферийное устройство 1 является батареей, а основное устройство 2 - зарядным устройством этой батареи. В этом случае основное устройство 2 необязательно должно быть оборудовано блоком 23 манипуляции и блоком 24 управления дисплеем. Процесс обработки, соответствующий неуспешной аутентификации, как и процесс обработки, соответствующий успешной аутентификации, которые выполняются блоком 21 управления, могут представлять собой, например, приостановку зарядки и начало зарядки соответственно.
Выше настоящее изобретение описано на предпочтительных или типичных примерах осуществления, однако настоящее изобретение не ограничивается этими примерами.
Изобретение относится к системам и способам аутентификации устройств. Технический результат заключается в снижении нагрузок на линии связи и уменьшении объемов передаваемой информации. Технический результат достигается за счет того, что периферийное устройство, подключаемое к основному устройству как к запрашивающему аутентификацию устройству, работает в качестве устройства, подвергаемого аутентификации. При приеме информации, связанной с кодом, из основного устройства периферийное устройство получает код вызова на основе полученной информации, связанной с кодом, генерирует зашифрованную информацию путем шифрования кода вызова и передает информацию, связанную с использованием шифрования, которая относится к генерированной зашифрованной информации, в основное устройство. Информация, связанная с кодом, представляет собой часть кода вызова, и/или информация, связанная с использованием шифрования, представляет собой часть зашифрованной информации. 3 н. и 4 з.п. ф-лы, 7 ил.
СПОСОБ АУТЕНТИФИКАЦИИ ОБЪЕКТОВ | 2000 |
|
RU2184390C1 |
Бесколесный шариковый ход для железнодорожных вагонов | 1917 |
|
SU97A1 |
JP 2004143806 A, 20.05.2004. |
Авторы
Даты
2007-09-10—Публикация
2005-11-25—Подача