Как клиент может делиться секретом с экземпляром анклава Intel SGX, не позволяя серверу, на котором размещен анклав, знать это? - PullRequest
2 голосов
/ 28 февраля 2020

Мне известно, что для SGX доступны библиотеки SSL. Но как установить sh секрет между SGX и клиентами, не сообщая об этом хосту? Тривиальные методы терпят неудачу, например:

Имейте пару открытых ключей c -приватный ключ, встроенный в SGX, затем клиент отправляет ключ сеанса в SGX. Ключ сеанса шифруется с помощью открытого ключа c SGX.

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

Запуск сервера https в SGX также не может помочь, также потому что есть нет аутентификации или предварительного секретного ключа между SGX и клиентами.

1 Ответ

1 голос
/ 29 февраля 2020

То, что вы ищете, называется «(удаленной) аттестацией». Этот процесс используется для проверки того, что ваш скомпилированный анклав не был подделан и что (удаленный) узел действительно тот, который вы ожидали.

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

...