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