Comment utiliser la fonction « sgx_get_trusted_time » pour atténuer les attaques de retard dans le temps
- Une attaque avec retard dans le temps peut se produire si un système d’exploitation malveillant (SE) intercepte le paquet contenant les informations sur l’heure telle qu’elle est communiquée à l’enclave. Si le système d’exploitation modifie l’heure, il est possible que la durée mesurée écoulée ne soit pas correcte.
- Impossible de déterminer si sgx_get_trusted_time peut être utilisé pour atténuer cette attaque.
D’après la référence du développeur Intel SGX pour Windows*: « L’enclave récupère la référence temporelle et le nonce de la source d’heure à l’aide de sgx_get_trusted_time». Pour garantir que la source d’heure ne change pas entre deux mesures de sgx_get_trusted_time, comparez le nonce de chaque mesure. Ils devraient être les mêmes.
Intel SGX Platform Services explique comment le Intel SGX SDK pour Windows accède aux compteurs monotoniques matériels installés dans le Intel® Converged Security and Management Engine (Intel® CSME), qui n’est disponible que dans les systèmes clients.
Reportez-vous à la section sur l’exemple Des données scellées dans la Intel SGX Référence des développeurs pour Windows pour plus de détails sur la façon de se protéger contre les attaques de rediffusion.