Inženjeri iz tvrtke Intel predložili su novi protokol HTTPA (HTTPS Attestable) koji proširuje HTTPS dodatnim sigurnosnim jamstvima za izvršene izračune. HTTPA omogućava jamstvo integriteta obrade korisničkog zahtjeva na poslužitelju i osigurava da je web usluga pouzdana i da kod koji radi u TEE okruženju (Trusted Execution Environment) na poslužitelju nije promijenjen uslijed hakiranja ili diverzije od strane administratora.
HTTPS štiti prijenose podataka tijekom prijenosa kroz mrežu, ali ne može isključiti kršenja integriteta uslijed napada na poslužitelj. Izolirani enklavi, stvoreni pomoću tehnologija kao što su Intel SGX (Software Guard Extension), ARM TrustZone i AMD PSP (Platform Security Processor), omogućuju zaštitu važnih izračuna i smanjenje rizika od curenja ili promjene povjerljivih informacija na krajnjem čvoru.
HTTPA, kako bi osigurao vjerodostojnost prenesenih informacija, omogućuje korištenje sredstava za atestaciju koja pruža Intel SGX, potvrđujući autentičnost enklave u kojoj su izvršeni izračuni. U suštini, HTTPA proširuje HTTPS mogućnošću daljinske atestacije enklave i omogućava provjeru da se ona izvršava u izvornom Intel SGX okruženju te da se web servisu može vjerovati. Protokol se prvotno razvija kao univerzalan i osim za Intel SGX može se implementirati i za druge TEE sustave.

Osim standardnog postupka uspostavljanja zaštićene veze za HTTPS, HTTPA dodatno zahtijeva dogovor o pouzdanom sesijskom ključu. Protokol uvodi novu HTTP metodu "ATTEST" koja omogućava obradu tri vrste zahtjeva i odgovora:
- "preflight" za provjeru podržava li udaljena strana atestaciju enklava;
- "attest" za dogovor o parametrima atestacije (izbor kriptografskog algoritma, razmjenu jedinstvenih nasumičnih nizova za sesiju, generiranje identifikatora sesije i prijenos javnog ključa enklave klijentu);
- "trusted session" — formiranje sesijskog ključa za povjerljivu razmjenu informacija. Sesijski ključ se formira na temelju prethodno dogovorene tajne naredbe (pre-session secret), koju klijent stvara koristeći one koje je primio od poslužitelja javnog ključa TEE, i slučajnih nizova generiranih svake strane.

HTTPA podrazumijeva da je klijent pouzdan, a server ne, tj. klijent može koristiti ovaj protokol za verifikaciju proračuna u TEE okruženju. Međutim, HTTPA ne jamči da su ostali proračuni izvedeni izvan TEE-a, nisu kompromitirani, što zahtijeva primjenu posebnog pristupa razvoju web usluga. Tako je HTTPA uglavnom usmjeren na korištenje sa specijaliziranim servisima koji imaju visoke zahtjeve za integritetom informacija, kao što su financijski i zdravstveni sustavi. web-poslužitelja Za situacije kada proračuni u TEE trebaju biti potvrđeni i za server i za klijenta, predviđena je varijanta protokola mHTTPA (Mutual HTTPA), koja provodi dvostranu verifikaciju. Ova varijanta je složenija zbog potrebe za dvostrukim formiranjem sesijskih ključeva za server i klijenta.
Objavljen je crabz 0.7, alat za višedretveno komprimiranje i dekomprimiranje, napisan u Rust-u.
Izvor: opennet.ru
