Intel inženieri piedāvājuši jaunu protokolu HTTPA (HTTPS Attestable), kas paplašina HTTPS ar papildu drošības garantijām veiktajām aprēķiniem. HTTPA ļauj garantēt lietotāja pieprasījuma apstrādes integritāti serverī un pārliecināties, ka web-serviss, kas darbojas TEE vidē (Trusted Execution Environment), nav mainījis savu kodu, rezultātā uzlaušanai vai administratora diversijai.
HTTPS aizsargā pārsūtītos datus tīkla pārraides posmā, bet nevar izslēgt to integritātes pārkāpumus servera uzbrukumu dēļ. Izolētie enklāvi, kas tiek izveidoti, izmantojot tādas tehnoloģijas kā Intel SGX (Software Guard Extension), ARM TrustZone un AMD PSP (Platform Security Processor), ļauj aizsargāt svarīgus aprēķinus un mazināt risku noplūdēm vai konfidenciālas informācijas izmaiņām galapunktā.
HTTPA informācijas pārsūtīšanas ticamības garantēšanai ļauj izmantot Intel SGX nodrošinātās attestācijas līdzekļus, kas apstiprina apliecinājuma autentiskumu, kurā veikti aprēķini. Faktiski HTTPA paplašina HTTPS ar attālinātu apliecināšanu, ļaujot pārbaudīt, ka tas tiek veikts īstā Intel SGX vidē un web-serviss ir uzticams. Protokols sākotnēji tiek attīstīts kā universāls un, papildus Intel SGX, var tikt īstenots arī citās TEE sistēmās.

Papildus standarta HTTPS drošā savienojuma izveides procesam HTTPA papildu prasa uzticama sesijas atslēgas saskaņošanu. Protokols ievieš jaunu HTTP metodi „ATTEST”, kas ļauj apstrādāt trīs veidu pieprasījumus un atbildes:
- „preflight” aizsargājušās puses apliecināšanai atbalstu;
- „attest” pieprasījuma atbilstošo parametru saskaņošanai (kriptogrāfiskā algoritma izvēle, unikālo sesijas nejaušos skaitļu apmaiņa, sesijas identifikatora ģenerēšana un publiskā atslēga pārskaitīšana klientam);
- „trusted session” — sesijas atslēgas veidošanai, lai uzticami apmainītos ar informāciju. Sesijas atslēga tiek veidota, pamatojoties uz iepriekš saskaņoto priekšsēdētāju slepeno secību (pre-session secret), ko izveidojis klients, izmantojot iegūto no. serveris TEE atslēgas, un katras puses ģenerēto nejaušo secību.

HTTPA nozīmē, ka klients ir uzticams, bet serveris nav, t.i., klients var izmantot šo protokolu, lai verificētu aprēķinus TEE vidē. Tomēr HTTPA negarantē, ka pārējie aprēķini, kas veikti ārpus TEE, nav tikuši kompromitēti, kas prasa atsevišķu pieeju web pakalpojumu izstrādei. Tādējādi galvenokārt HTTPA ir paredzēts izmantošanai kopā ar specializētiem pakalpojumiem, kuriem ir paaugstinātas prasības attiecībā uz informācijas integritāti, piemēram, finanšu un medicīnas sistēmām. tīmekļa servera Situācijām, kad aprēķini TEE ir jāapstiprina gan serverim, gan klientam, ir paredzēts mHTTPA (Mutual HTTPA) protokola variants, kas veic abpusēju verifikāciju. Šis variants ir sarežģītāks, jo ir nepieciešama abpusēja sesiju atslēgu veidošana serverim un klientam.
Izlaidums crabz 0.7, rīks daudzplūsmu saspiešanai un izsaiņošanai, kas rakstīts Rust.
Avots: opennet.lv
