Инженерите от Intel предложиха новия протокол HTTPA (HTTPS Attestable), който разширява HTTPS с допълнителни гаранции за безопасност на извършените изчисления. HTTPA гарантира целостта на обработката на потребителските запитвания на сървъра и удостоверява, че уеб услугата е надеждна и кодът, работещ в TEE (Trusted Execution Environment), не е бил променен в резултат на хакерски атаки или диверсии от администратора.
HTTPS защитава данните, предавани по време на пренос в мрежата, но не може да изключи нарушаването на тяхната целостност в резултат на атаки срещу сървъра. Изолираните анклави, създадени с технологии като Intel SGX (Software Guard Extension), ARM TrustZone и AMD PSP (Platform Security Processor), позволяват защитата на важни изчисления и намаляват риска от изтичане или изменение на конфиденциалната информация на крайния възел.
HTTPA за гарантиране на достоверността на прехвърлената информация позволява използването на средствата за атестация, предоставени от Intel SGX, които потвърдват автентичността на анклава, в който са извършени изчисленията. Всъщност, HTTPA разширява възможността на HTTPS за дистанционна атестация на анклава и позволява проверката, че той се изпълнява в автентична среда на Intel SGX и уеб услугата е надеждна. Протоколът първоначално се развива като универсален и, освен Intel SGX, може да бъде реализиран и за други TEE системи.

В допълнение към стандартния процес на инсталиране на защитена връзка за HTTPS, HTTPA изисква допълнително съгласие за сесионен ключ, който е надежден. Протоколът въвежда нов HTTP метод "ATTEST", който позволява обработката на три типа заявки и отговори:
- "preflight" за проверка дали отдалечената страна поддържа атестирането на анклавите;
- "attest" за съгласие на параметрите на атестирането (избор на криптографски алгоритъм, обмен на уникални за сесията произволни последователности, генериране на идентификатор на сесия и предаване на клиента на публичния ключ на анклава);
- "trusted session" — образуване на сесионен ключ за доверителен обмен на информация. Сесионният ключ се образува на база предварително уговорена тайна последователност (pre-session secret), генерирана от клиента с използване на получен от сървър открития ключ TEE и случайно генерираните последователности от всяка страна.

HTTPA предполагава, че клиентът е надежден, а сървърът - не, т.е. клиентът може да използва този протокол за верификация на изчисления в TEE среда. В същото време HTTPA не гарантира, че останалите изчисления, извършвани извън TEE, не са компрометирани, което изисква използването на отделен подход за разработка на уеб услуги. уеб сървър По този начин, основно HTTPA е насочен към употреба със специализирани услуги, които имат повишени изисквания за целостта на информацията, като финансови и медицински системи.
В ситуации, когато изчисленията в TEE трябва да бъдат потвърдени и от сървъра, и от клиента, съществува вариант на протокола mHTTPA (Mutual HTTPA), който извършва двустранна верификация. Този вариант е по-сложен поради необходимостта от двустранно формиране на сесионни ключове за сървъра и клиента.
Източник: opennet.ru
