СПОСОБ И УСТРОЙСТВО ДЛЯ ЗАГРУЗКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

1. Способ, включающий:
выполнение первого программного загрузчика;
запрос первым программным загрузчиком первого программного кода у сервера начальной загрузки, при этом первый программный код включает второй программный загрузчик;
прием первого программного кода из сервера начальной загрузки;
измерение второго программного загрузчика;
выполнение второго программного загрузчика и
запрос вторым программным загрузчиком второго программного кода у сервера начальной загрузки.
2. Способ по п.1, включающий:
расширение значения регистра конфигурации результатом измерения второго программного загрузчика.
3. Способ по п.1 или 2, в котором первый программный код содержит эмулятор доверенного модуля, при этом способ включает:
измерение эмулятора доверенного модуля с использованием второго программного загрузчика.
4. Способ по п.3, включающий:
расширение значения регистра конфигурации результатом измерения эмулятора доверенного модуля.
5. Способ по п.3, в котором эмулятор доверенного модуля содержит определенное состояние, и первый программный код содержит информацию об упомянутом определенном состоянии, при этом способ включает;
получение упомянутой информации о состоянии и
изменение значения регистра конфигурации, связанного с упомянутым определенным состоянием, согласно упомянутой информации о состоянии.
6. Способ по п.5, в котором информация о состоянии включает корневой ключ подтверждения и значение регистра конфигурации.
7. Способ по п.5, в котором информация о состоянии зашифрована с помощью ключа шифрования, при этом способ включает:
получение ключа шифрования из доверенного платформенного модуля и дешифрование информации о состоянии с использованием ключа шифрования.
8. Способ по п.7, в котором ключ шифрования доступен только тогда, когда значение регистра конфигурации, расширенное результатом измерения эмулятора доверенного модуля, соответствует состоянию, хранимому в виде «печати» (seal) в доверенном платформенном модуле.
9. Способ по п.3, в котором второй программный код содержит компьютерную программу, при этом способ включает:
выполнение эмулятора доверенного модуля;
измерение компьютерной программы эмулятором доверенного модуля и
проверку компьютерной программы на основе результата этого измерения.
10. Способ по п.9, в котором проверка компьютерной программы включает сравнение результата упомянутого измерения со значением, включенным в сертификат целостности.
11. Устройство, содержащее:
процессор, сконфигурированный для:
выполнения первого программного загрузчика;
запроса у сервера начальной загрузки первого программного кода, который содержит второй программный загрузчик;
приема первого программного кода из сервера начальной загрузки;
измерения второго программного загрузчика;
выполнения второго программного загрузчика и
запроса второго программного кода у сервера начальной загрузки, причем устройство также содержит:
память для хранения первого программного загрузчика.
12. Устройство по п.11, в котором процессор выполнен с возможностью
расширения значения регистра конфигурации результатом измерения второго программного загрузчика.
13. Устройство по п.11 или 12, в котором первый программный код содержит эмулятор доверенного модуля, при этом процессор выполнен с возможностью
измерения эмулятора доверенного модуля с использованием второго программного загрузчика.
14. Устройство по п.13, в котором процессор выполнен с возможностью
расширения значения регистра конфигурации результатом измерения эмулятора доверенного модуля.
15. Устройство по п.13, в котором эмулятор доверенного модуля содержит определенное состояние, и первый программный код содержит информацию об упомянутом определенном состоянии, при этом процессор выполнен с возможностью:
получения упомянутой информации о состоянии и
изменения значения регистра конфигурации, связанного с упомянутым определенным состоянием, согласно упомянутой информации о состоянии.
16. Устройство по п.15, в котором информация о состоянии зашифрована с помощью ключа шифрования, и процессор выполнен с возможностью:
получения ключа шифрования из доверенного платформенного модуля и дешифрования информации о состоянии с использованием ключа шифрования.
17. Устройство по п.13, в котором второй программный код содержит компьютерную программу, при этом процессор сконфигурирован для:
выполнения эмулятора доверенного модуля;
измерения компьютерной программы эмулятором доверенного модуля и
проверки компьютерной программы на основе результата упомянутого измерения.
18. Носитель информации для управления устройством, на котором хранится компьютерная программа, содержащая исполняемый программный код, такой что при выполнении компьютерной программы устройство выполняет способ по любому из пп.1-10.