ΠΠ½ΡΠ΅Π» Xe Π³ΡΠ°ΡΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΈΡΠΊΠ° ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° SGX Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ
ΠΠ΄ ΡΠ°ΠΌΠΈΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π΄Π΅ΠΊΠ° ΠΠ½ΡΠ΅Π» ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ΅ ΡΠ²ΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠ°, ΡΠ΅Π»ΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ΅ΡΠΈΠ²Π½ΠΎ ΡΠΎΠ²Π΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΠ°ΡΠ΅ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π° ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°Π°Ρ Π²ΠΎ Π½Π΅ΡΡΠΎ ΠΎΠΏΠΈΠΏΠ»ΠΈΠ²ΠΎ. Π‘Γ¨ ΡΡΡΠ΅ ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ΅Ρ
Π½ΠΈΡΠΊΠΈ Π΄Π΅ΡΠ°Π»ΠΈ, Π½ΠΎ Π΄Π΅Π½Π΅Ρ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡΠΈΡΠ°Π²ΠΈΠΌΠ΅ Π½Π΅ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π²Π°ΠΆΠ½ΠΎ. Π‘ΡΠ°Π½Π° ΠΏΠΎΠ·Π½Π°ΡΠΎ Π΄Π΅ΠΊΠ° ΠΈΠ΄Π½Π°ΡΠ° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠ° Π½Π° Intel ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° ΡΠ»ΠΈΡΠ½Π° Π½Π°
Π‘ΠΏΠΎΠΌΠ½Π°Π²ΠΌΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Intel Software Guard Extensions Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π° Π²ΠΎ Π²ΡΡΠΊΠ° ΡΠΎ
ΠΠΎ, Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ Π·Π°ΡΡΠΈΡΠΈ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ΄ΠΎΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅, ΡΡΠΊΡ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅. ΠΠ΅Π³ΠΈΠΈ ΠΊΡΠΈΠΌΠΈΠ½Π°Π»ΡΠΈ Π΄Π΅ΡΠ΅ ΠΈ Π½ΠΎΡΠ΅ ΡΠΎΠ½ΡΠ²Π°Π°Ρ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΈ ΡΠΊΡΠ°Π΄Π°Ρ Π²Π°ΡΠΈΡΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΡΠΎΠ° Π΄Π° Π³ΠΈ ΠΈΠ·Π±ΡΠΈΡΠ°Ρ ΠΈΠ»ΠΈ ΡΠΈΡΡΠΈΡΠ°Π°Ρ. ΠΠ°ΠΊΠΎ Π΄Π° Π½Π΅ ΠΎΡΡΠ°Π½Π΅ΡΠ΅ Π±Π΅Π· Π½Π°ΡΠ²Π°ΠΆΠ½ΠΈΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½ΠΈ? ΠΠ½ΡΠ΅Π» SGX, Π²ΠΎ ΡΠ²ΠΎΡΠ°ΡΠ° ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ GPU SGX, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΡΠ΄Π΅ Π½Π° ΠΏΠΎΠΌΠΎΡ ΠΎΠ²Π΄Π΅. ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ ΡΠΎΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΠΎΠ² Π½Π°ΡΠΈΠ½.
ΠΠ»ΡΡΠ½Π°ΡΠ° ΡΠ»ΠΎΠ³Π° Π²ΠΎ ΠΎΠ²Π°Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΡΠ³Π΅ΡΠΈΡΠ° ΠΈΠΌΠ΅ΡΠΎ, ΡΠ° ΠΈΠ³ΡΠ° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ. βΠΠ°ΠΊΠ²Π° Π²ΡΡΠΊΠ° ΠΈΠΌΠ° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠ°ΡΠ° ΠΊΠΎΠ³Π° ΡΡΠ°Π½ΡΠ²Π° Π·Π±ΠΎΡ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ? - Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎ ΠΏΡΠ°ΡΡΠ²Π°ΡΠ΅. Π€Π°ΠΊΡ Π΅ Π΄Π΅ΠΊΠ° ΡΠΎ ΡΠ΅ΡΠ° ΠΏΠΎΡΠΈΡ ΠΊΠΎΠ½ Intel SGX, ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΏΠ°ΡΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΊΠΎΠΈ ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ ΠΎΠ²Π°Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° ΠΎΠ΄ ΠΎΠ½ΠΈΠ΅ ΡΡΠΎ Π½Π΅ ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ. ΠΠ°ΡΠΎΠ°, Π±Π΅ΡΠ΅ ΠΎΠ΄Π»ΡΡΠ΅Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π·Π°Π²ΠΈΡΠ΅Π½ ΠΎΠ΄ SGX Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΡΠ»ΠΈΡΠ½ΠΎ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ Π²ΠΎ Π²Π΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠ°ΡΠ° Intel SGX ΠΊΠ°ΡΡΠΈΡΠΊΠ°. ΠΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠ°ΡΠ° ΠΈΠΌΠ° ΠΈ ΡΡΡΠ΅ Π΅Π΄Π½Π° ΠΏΡΠ΅Π΄Π½ΠΎΡΡ: Π½Π΅ΡΠ·ΠΈΠ½ΠΈΠΎΡ Π΄ΠΈΠ·Π°ΡΠ½ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠΌΠ΅ΡΡΠΈ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° ΡΠ»Π΅Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΠΊΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΊΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π·Π°ΡΡΠΈΡΠ΅Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅.
ΠΡΠΈΠ½ΡΠΈΠΏΠΎΡ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° GPU SGX Π΅ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ²Π°. Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΠΎΠΌΠΈΠ»Π΅Π½ΠΎ ΠΊΡΡΠ΅, ΠΊΠ°ΠΊΠΎ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²Π°ΠΆΠ½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠ°ΡΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π΅Π½ ΡΠΎΡΡΠ²Π΅Ρ Π½Π° ΠΠ½ΡΠ΅Π». Intel SGX Π·Π°ΡΡΠΈΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ. Π‘Π»Π΅Π΄Π½ΠΎ, ΠΈΡΡΠΈΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π΅Π½ ΡΠΎΡΡΠ²Π΅Ρ ΡΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ ΡΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΎΠ±Π»Π°ΠΊ Π²ΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΎΠ±Π»Π°ΠΊ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ Π½Π° ΠΠ½ΡΠ΅Π» Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΠΈΡΠ°Π½ Π·Π°ΡΠΎΠ° ΡΡΠΎ Π΅ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ Π½Π° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΊΠΎΠ΄ Π²ΠΎ SGX Π΅Π½ΠΊΠ»Π°Π²ΠΈ. Π’Π°ΠΊΠ°, Π²Π°ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π½Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΊΡΠ°ΠΆΠ±Π° ΠΈ ΡΠ½ΠΈΡΡΡΠ²Π°ΡΠ΅.
Π¨ΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠ»ΡΡΠΈ Π°ΠΊΠΎ ΡΠΎΡΡΠ²Π΅ΡΠΎΡ Π½Π° ΠΠ½ΡΠ΅Π» ΠΏΡΠ΅ΡΡΠ°Π½Π΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΊΠΎΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Ρ Π²ΠΎ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅? ΠΠ½ΡΠ΅Π» ΠΎΡΠ΅ΠΊΡΠ²Π° Π΄Π° ΡΠ° ΡΠΏΠΎΠ΄Π΅Π»ΠΈ ΡΠ²ΠΎΡΠ°ΡΠ° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° ΡΠΎ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΡΡΠΎΠ³Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π°. Π’Π°ΠΊΠ° ΡΠ΅ ΠΈΠΌΠ° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°. ΠΠ°, ΡΠ°ΠΌΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π½Π° ΠΏΠ°Π·Π°ΡΠΎΡ Π½Π΅ ΠΏΠΎΡΠ°Π½ΠΎ ΠΎΠ΄ ΠΏΠΎΡΠ°Π²Π°ΡΠ° Π½Π° ΡΠ°ΠΌΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ - Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π΅ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ΡΠ°ΡΠ½ΠΎ. ΠΠΎ ΡΠ΅ ΠΏΠΎΡΠ΅ΠΊΠ°ΠΌΠ΅.
ΠΠ·Π²ΠΎΡ: www.habr.com