КРОСС-ПЛАТФОРМЕННАЯ ИДЕНТИФИКАЦИОННАЯ ИНФОРМАЦИЯ АНКЛАВА

1. Способ определения эквивалентности анклава, содержащий
прием первого отчета аттестации из первого анклава, реализованного на первой нативной платформе анклава;
извлечение первого значения идентификатора анклава, ассоциированного с типом идентификатора анклава, из первого отчета аттестации;
прием второго отчета аттестации из второго анклава, реализованного на второй нативной платформе анклава, причем первая нативная платформа анклава и вторая нативная платформа анклава являются разными;
извлечение второго значения идентификатора анклава, ассоциированного с упомянутым типом идентификатора анклава, из второго отчета аттестации;
определение, что первое значение идентификатора анклава является тем же самым, что и второе значение идентификатора анклава; и
осуществление, на основе данного определения, вычислительной операции путем частичного выполнения вычислительной операции в первом анклаве и частичного выполнения вычислительной операции во втором анклаве.
2. Способ по п.1, в котором вычислительная операция осуществляется последовательно с первым и вторым анклавами, при этом способ дополнительно содержит:
запечатывание данных состояния анклава первого анклава после частичного выполнения вычислительной операции в первом анклаве, чтобы создать запечатанные данные, причем данные состояния запечатаны на тип идентификатора анклава;
копирование запечатанных данных из первого анклава во второй анклав; и
распечатывание запечатанных данных во второй анклав.
3. Способ по п.1, в котором вычислительная операция осуществляется параллельно с первым и вторым анклавами, при этом способ дополнительно содержит:
копирование первой части набора данных в первый анклав;
копирование второй части набора данных во второй анклав; и
причем вычислительная операция частично выполняется в первом анклаве с использованием первой части и частично выполняется во втором анклаве с использованием второй части.
4. Способ по п.1, в котором:
частичное выполнение вычислительной операции в первом анклаве включает в себя считывание, первым анклавом, монотонного счетчика или доверенного времени, ассоциированного со значением идентификатора; и
частичное выполнение вычислительной операции во втором анклаве включает в себя считывание, вторым анклавом, монотонного счетчика или доверенного времени, ассоциированного со значением идентификатора.
5. Способ по п.1, дополнительно содержащий:
создание подписи для первого отчета аттестации путем осуществления по меньшей мере одной операции первой нативной платформы; и
создание подписи для второго отчета аттестации путем осуществления по меньшей мере одной операции второй нативной платформы.
6. Способ по п.1, в котором первая нативная платформа анклава соответствует архитектуре анклава Расширений безопасности программного обеспечения (SGX) от Intel, и вторая нативная платформа анклава соответствует архитектуре анклава Виртуального безопасного режима (VSM) от Microsoft, при этом способ дополнительно содержит:
генерирование первого отчета аттестации путем осуществления по меньшей мере одной операции нативного SGX; и
генерирование второго отчета аттестации путем осуществления по меньшей мере одной операции нативного VMS.
7. Способ по п.1, дополнительно содержащий:
верифицирование первой подписи первого отчета аттестации при помощи общедоступного ключа, ассоциированного с первой нативной платформой анклава; и
верифицирование второй подписи второго отчета аттестации при помощи общедоступного ключа, ассоциированного со второй нативной платформой анклава, причем первый общедоступный ключ и второй общедоступный ключ являются разными.
8. Способ по п.1, дополнительно содержащий:
верифицирование первого сертификата подтверждения первой нативной платформы при помощи первого общедоступного ключа, ассоциированного с производителем первой нативной платформы анклава; и
верифицирование второго сертификата подтверждения второй нативной платформы анклава при помощи второго общедоступного ключа, ассоциированного с производителем второй нативной платформы анклава, причем первый общедоступный ключ и второй общедоступный ключ не являются одинаковыми.
9. Способ по п.1, дополнительно содержащий:
генерирование первого отчета аттестации путем вычисления хеша по первой части памяти в безопасном контейнере первого анклава, причем содержимое первой части памяти является независимым от первой нативной платформы; и
генерирование второго отчета аттестации путем вычисления хеша по второй части памяти в безопасном контейнере второго анклава, причем содержимое второй части памяти является независимым от второй нативной платформы.
10. Система, содержащая, по меньшей мере, процессор и память, хранящую инструкции, которые при их исполнении системой обеспечивают выполнение, по меньшей мере:
приема первого отчета аттестации из первого анклава, реализованного на первой нативной платформе анклава;
извлечения первого значения идентификатора анклава, ассоциированного с типом идентификатора анклава, из первого отчета аттестации;
приема второго отчета аттестации из второго анклава, реализованного на второй нативной платформе анклава, причем первая нативная платформа анклава и вторая нативная платформа анклава являются разными;
извлечения второго значения идентификатора анклава, ассоциированного с упомянутым типом идентификатора анклава, из второго отчета аттестации;
сравнения первого значения идентификатора анклава со вторым значением идентификатора анклава; и
осуществления вычислительной операции путем частичного выполнения вычислительной операции в первом анклаве и частичного выполнения вычислительной операции во втором анклаве.
11. Система по п.10, в которой вычислительная операция осуществляется последовательно с первым и вторым анклавами, причем инструкции дополнительно обеспечивают выполнение, по меньшей мере:
запечатывания данных состояния анклава первого анклава после частичного выполнения вычислительной операции в первом анклаве, чтобы создать запечатанные данные, причем данные состояния запечатаны на тип идентификатора анклава;
копирования запечатанных данных из первого анклава во второй анклав; и
распечатывания запечатанных данных во второй анклав.
12. Система по п.10, в которой вычислительная операция осуществляется параллельно с первым и вторым анклавами, причем инструкции дополнительно обеспечивают выполнение, по меньшей мере:
копирования первой части набора данных в первый анклав;
копирования второй части набора данных во второй анклав; и
причем вычислительная операция частично выполняется в первом анклаве с использованием первой части и частично выполняется во втором анклаве с использованием второй части.
13. Система по п.10, в которой инструкции дополнительно обеспечивают выполнение, по меньшей мере:
верифицирования первого сертификата подтверждения первой нативной платформы при помощи первого общедоступного ключа, ассоциированного с производителем первой нативной платформы анклава; и
верифицирования второго сертификата подтверждения второй нативной платформы анклава при помощи второго общедоступного ключа, ассоциированного с производителем второй нативной платформы анклава, причем первый общедоступный ключ и второй общедоступный ключ не являются одинаковыми.
14. Система по п.10, в которой инструкции дополнительно обеспечивают выполнение, по меньшей мере:
генерирования первого отчета аттестации путем вычисления хеша по первой части памяти в безопасном контейнере первого анклава, причем содержимое первой части памяти является независимым от первой нативной платформы; и
генерирования второго отчета аттестации путем вычисления хеша по второй части памяти в безопасном контейнере второго анклава, причем содержимое второй части памяти является независимым от второй нативной платформы.
15. Система, содержащая:
средство для приема первого отчета аттестации от первого анклава, реализованного на первой нативной платформе анклава;
средство для извлечения первого значения идентификатора анклава, ассоциированного с типом идентификатора анклава, из первого отчета аттестации;
средство для приема второго отчета аттестации из второго анклава, реализованного на второй нативной платформе анклава, причем первая нативная платформа анклава и вторая нативная платформа анклава являются разными;
средство для извлечения второго значения идентификатора анклава, ассоциированного с упомянутым типом идентификатора анклава, из второго отчета аттестации;
средство для сравнения первого значения идентификатора анклава со вторым значением идентификатора анклава; и
средство для осуществления вычислительной операции путем частичного выполнения вычислительной операции в первом анклаве и частичного выполнения вычислительной операции во втором анклаве.