Linux áá±á¬ááºáá±ážááŸááºáž
á¡áá¹ááááááºááŸááºážáá»ááºááŸá¬ áá
áºáŠážáá»ááºážá¡ááá·áºáá»á¬ážááœáẠááœáá·áºáááºážáá±á¬áá¯á¶á
á¶ááŒáá·áº á¡áá»ááºá¡áááºááá¯ááŸá¬ááœá±ááŒááºážáááŒá¯áá² áá¯ááºááŸááºáá¬ážáá±á¬áá¯á¶á
á¶ááŒáá·áº áá±áá¬áááºáááºááŸá¯áá¶ááá¬áá
áºáá¯áá¯á¶ážááᯠáá¶á·ááá¯ážáá±ážááẠáááºážáááºážáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºááŒá
áºáááºá áá¯ááºáááºážá
á¯á á¡áá»áá¯ážá
á®ážááœá¬ážá§áááá¬ááœáẠá¡áááá¡á¬ážááŒáá·áº ááœááºááŒá°áá¬áá¯ááºáááºážá
ááºááœáẠáá¯ááºááŸááºáá¬ážáá±á¬ áá±áá¬á¡áá¯á¶ážááŒá¯ááŸá¯ááŸáá·áº áááºáááºááá·áº áááºážááá¬áá»á¬áž áá«áááºááẠá ááŒá±á¬ááááºá áá®ážááŒá¬áž enclaves áá»á¬ážá¡áá¯á¶ážááŒá¯ááŸá¯á protocols áá»á¬ážá¡ááœááºá
á¡á±á¬ááºáá±á¬áºááŒáá« ááá±á¬áá»ááºáá»á¬ážááᯠáá»áŸáá¯á·ááŸááºááœááºááŒá°áá¬áá¯ááºáááºážá á¯á áá áºá áááºáá áºááá¯ááºážá¡ááŒá Ạáá®ážááŒá¬ážááœááºáááºá áœá¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœáẠááœáŸá²ááŒá±á¬ááºážáá¬ážáá«áááºá
- Intel ááẠáááºáááºáá°ážáá±á«ááºážá ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœáẠááœáŸá²ááŒá±á¬ááºážáá±ážá¡ááºáá²á·áááºá
ááááºá ááœáá·áºááŸá áºáá²á·áááºá
áááºážááá¬á¡áá¯á¶ážááŒá¯áááºá¡ááœáẠá¡á áááºá¡ááá¯ááºážáá»á¬ážá ááºáá¬áá° áááááá¬á¡á á¯á¶ááŸáá·áº á á¬ááŒáá·áºááá¯ááºáá»á¬ážáá«ááŸááá±á¬ SDK á¡áá«á¡ááẠLinux ááŸá (áá±á¬á·ááºáá²ááºá á±á¬áá·áº ááá¯ážáá»á²á·ááŸá¯áá»á¬áž)á SGX ááẠá¡áá¯á¶ážááŒá¯áá°á¡ááá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážááá¯á· áá®ážááá·áºááŸááºáá¬ááºá§áááá¬áá»á¬áž ááœá²áá±áááºááŸááºááẠá¡áá°ážáááá¯áááºáᬠááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áᬠáá¯ááºááŸááºáá¬ážáᬠkernel ááŸáá·áº ring0á SMM ááŸáá·áº VMM áá¯ááºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áá±ááá·áº áá¯ááºáá»á¬ážááŒáá·áºááẠáááºááá¯áẠááá¯á·ááá¯áẠááŒá¯ááŒááºááááá¯ááºááá·áº á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠá¡ááá¯ááŒá¯áá«áááºá - Microsoft á áá°áá±á¬ááºááᯠááœáŸá²ááŒá±á¬ááºážáá±ážáá²á·áá«áááºá
Enclav ááá¯ááœáá·áºáá«á API áá áºáá¯áááºážááŸáá·áº abstract enclave ááá¯ááºá á¬ážááŒá¯ááŸá¯ááá¯á·ááᯠá¡áá¯á¶ážááŒá¯á TEE (Trusted Execution Environment) Architectures á¡áá»áá¯ážáá»áá¯ážá¡ááœáẠá¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáááºáá®ážááá¯ááºá á±áááºááŒá áºáááºá Open Enclav ááᯠá¡áá¯á¶ážááŒá¯á ááŒááºáááºáá¬ážáá±á¬ á¡ááá®áá±ážááŸááºážáá áºáá¯ááẠááá°áá®áá±á¬ enclave á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážááŒáá·áº á áá áºáá»á¬ážáá±á«áºááœáẠáá¯ááºáá±á¬ááºááá¯ááºáááºá TEEs áá»á¬ážááœááºá Intel SGX ááá¯áᬠáá±á¬áá±á¬ááẠáá¶á·ááá¯ážáá¬ážáááºá ARM TrustZone ááᯠáá¶á·ááá¯ážááẠáá¯ááºááᯠáá®ááœááºáá¯ááºáá¯ááºáá±áá«áááºá áá¶á·ááá¯ážááŸá¯á¡ááŒá±á¬ááºážá¡áááááŒá±á¬áá»áá¯á¶áž á AMD PSP (Platform Security Processor) ááŸáá·áº AMD SEV (Secure Encryption Virtualization) ááᯠá¡á á®áááºáá¶ááá¬ážáá«á - Red Hat ááá±á¬áá»ááºááᯠááœáŸá²ááŒá±á¬ááºážáá±ážá¡ááºáá²á·áááºá
Enarx áá¬á·ááºáá²áááá¯áá¬áááºáá¬áá»á¬ážááŸáá·áº á¡áá»áá¯ážáá»áá¯ážáá±á¬ áááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºáá±ážáá±á¬ TEE áááºáááºážáá»ááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážááá·áº áááºáááºá¡áá®ážáá®ážááœáẠá¡áá¯ááºáá¯ááºááẠuniversal applications áá»á¬ážáááºáá®ážáááºá¡ááœáẠabstraction á¡ááœáŸá¬ááᯠáá¶á·ááá¯ážáá±ážááẠ(WebAssembly-based runtime ááá¯á¡áá¯á¶ážááŒá¯áááº)á ááá±á¬áá»ááºááẠáááºááŸáááœáẠAMD SEV ááŸáá·áº Intel SGX áááºážááá¬áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºá
áááááá°áááá±á¬ á¡áá¬ážáá°ááá±á¬áá»ááºáá»á¬ážáá²ááœáẠáá°áá±á¬ááºááᯠáá»áœááºá¯ááºááá¯á· ááŸááºáá¬ážááá¯ááºáá«áááºá
á¡áááºážá¡ááá¯ááºáž (
áááºáá
áá
áºá¡á¬áž á¡áá±ážá¡áá°áá¯ááºáá¶ááá«áá ááá¯ááºááá¯ááºáá°ááẠá¡ááá¯ááºážá¡ááœááºážááááºážáááºážáá¬ážááá·áº á¡áá»ááºá¡áááºáá»á¬ážááᯠáá¯á¶ážááŒááºááá¯ááºáááºááá¯ááºááá·áºá¡ááŒáẠááŒááºááá±á¬á·ááºáá²ááºá¡ááºáá¬áá±á·á
áºá¡ááœááºáᬠááá·áºáááºáá¬ážáááºááŒá
áºáááºá Hardware enclaves áá»á¬ážá¡áá¯á¶ážááŒá¯ááŒááºážááᯠá¡ááŒá±áá¶á áááºážáááºážáá»á¬ážá¡áá¯á¶ážááŒá¯ááŒááºážá á¡ááŒá¬ážááœá±ážáá»ááºá
áá¬áá
áºáá¯á¡ááŒá
Ạáá°áááá¯ááºáá«áááºá
source: opennet.ru