Důvěrné výpočty označují kombinaci hardwarových a softwarových bezpečnostních funkcí zabudovaných do virtualizačního prostředí CPU, které chrání data během jejich zpracování (používaná data). Umožňují běh citlivých úloh v bezpečně izolovaných prostorech známých jako důvěryhodná prostředí pro spouštění (TEE). Tato TEE používají vestavěné šifrovací klíče a atestační mechanismy, které zajišťují, že k chráněným datům bude mít přístup pouze autorizovaný aplikační kód. Ani uživatelé s administrátorskými oprávněními nemají přístup k obsahu TEE, což chrání používaná data před neoprávněným přístupem.
Řešení Oracle Cloud Infrastructure (OCI) Confidential Computing je k dispozici na instancích OCI VM poháněných procesory AMD EPYC druhé a třetí generace. Virtuální počítače s podporou OCI Confidential Computing používají technologii AMD Secure Encrypted Virtualization (SEV), zatímco instance bare metal OCI Confidential Computing používají technologii AMD Transparent Secure Memory Encryption (TSME). V současné době OCI Confidential Computing podporuje různé tvary včetně virtuálních počítačů E4 Flex, zatímco konfigurace bare metal podporují procesory řady E5. V tomto blogu se zaměříme pouze na virtuální počítače E4 Flex, abychom změřili dopad povolení OCI Confidential Computing na výkon.
Důvěrné výpočty OCI
- Zvyšuje zabezpečení vytvářením důvěryhodných prostředí pro spouštění (TEE), která jsou izolována od aplikací, dalších virtuálních počítačů na stejném hostiteli Bare Metal, hypervizoru a dalších klientů OCI.
- Pro povolení důvěrných virtuálních počítačů není nutná žádná změna aplikace.
- Poskytuje vysoký výkon se silnými bezpečnostními standardy. Mnoho aplikací má s povolenou technologií OCI Confidential Computing jen malý nebo žádný dopad na výkon.
Tento blog sdílí výsledky srovnávací studie zaměřené na vyhodnocení dopadu aktivace OCI Confidential Computing na OCI VM. S rostoucím zaváděním cloudu pro citlivé a regulované úlohy se bezpečnostní očekávání posunula od ochrany nejen dat v klidu a při přenosu, ale také dat během používání. OCI Confidential Computing, poháněný technologií AMD SEV, poskytuje hardwarově vynucené šifrování paměti a izolaci za běhu. Tyto funkce sice nabízejí robustní zabezpečení, ale zároveň přinášejí další vrstvy ochrany mezi úlohy a hardware.
Existuje běžná obava, že přidání bezpečnostní vrstvy často s sebou nese ztráty výkonu, jako je latence, paměť a režijní náklady na CPU. Mechanismy šifrování a izolace obvykle zahrnují dodatečné kroky překladu paměti nebo kontroly řízení přístupu, které mohou ovlivnit propustnost I/O, šířku pásma paměti a provádění instrukcí.
Abychom pochopili praktické dopady těchto kompromisů, tato studie porovnala dva identické virtuální počítače OCI – jeden s povoleným OCI Confidential Computing a druhý se standardním. Studie se zaměřila na řadu reprezentativních úloh, včetně benchmarků CPU, zátěžových testů paměti, diskových I/O operací, přístupu k datům v paměti a transakcí s relačními databázemi. K měření benchmarků úloh jsme použili nejběžnější open-source benchmarkingové nástroje.
Cílem je zachytit měřitelné rozdíly ve výkonu, pokud k nim dojde, a pochopit, zda zvýšené zabezpečení prostředí udržuje efektivitu reálných cloudových aplikací a případů užití.
Nastavení infrastruktury pro benchmarking
Abychom mohli přesně a spravedlivě posoudit dopad na výkon, zřídili jsme dvě identické instance virtuálních počítačů, nakonfigurované se stejným počtem OCPU a pamětí ve stejné oblasti. Podrobnosti jsou uvedeny v tabulce níže.
- Standardní virtuální počítač – bez povoleného důvěrného výpočtu OCI
- Důvěrný virtuální počítač – s povolenou technologií OCI Confidential Computing (AMD-SEV)
| Název a typ virtuálního počítače | Tvar | VY | Kraj | OCPU | Paměť |
| confcomputeno – OCI Confidential Computing Disabled | VM.Standard.E4.Flex | OL8 | Z | 4 | 16 |
| confcomputeyes – OCI Confidential Computing Enabled | VM.Standard.E4.Flex | OL8 | Z | 4 | 16 |
Následující obrázky zobrazují informace o instanci a konfiguraci zabezpečení virtuálních počítačů pro konzoli OCI.
Seznam instancí OCI ComputeVirtuální počítač s podporou důvěrných výpočtů
Testované pracovní zátěže
Použili jsme sadu standardizovaných a reprezentativních nástrojů pro srovnávání napříč různými typy pracovních zátěží, jak je uvedeno v tabulce níže:
| Typ pracovní zátěže | Použitý nástroj | Popis |
| Webový server | wrk2 | Nástroj pro zátěžové testování HTTP simulující webový provoz |
| Databáze v paměti | redis-benchmark | Měří výkon GET/SET |
| Relační databáze | pgbench | Benchmark transakční propustnosti PostgreSQL |
| CPU/paměť | systémový benchmark | Výpočty prvočísel |
| Diskové I/O | drát | Simulace výkonu náhodného zápisu |
Benchmark webových serverů s NGINX a wrk2
Abychom vyhodnotili dopad povolení funkce Confidential Computing na výkon webového serveru, provedli jsme benchmarking HTTP pomocí nástroje wrk2 na webovém serveru nginx. Nginx, známý svým vysokým výkonem a flexibilitou, se používá v různých zákaznických scénářích. Primárně funguje jako webový server, reverzní proxy a vyvažovač zátěže, ale vyniká také v ukládání obsahu do mezipaměti, bránách API a architekturách mikroslužeb. Virtuální počítače OCI v obou případech používají NGINX nakonfigurovaný pro obsluhu statického obsahu s použitím výchozího nastavení. Níže uvedená tabulka ukazuje podrobnosti o testovacích parametrech wrk2.
| Parametr | Hodnota |
| Generátor zátěže | wrk2 |
| Cílový server | nginx (výchozí konfigurace) |
| Trvání testu | 60 sekund |
| Vlákna | 4 |
| Připojení | 100 |
| Sazba požadavků | 2000 požadavků/s |
| Soubor doručen | index.html (statický) |
Po provedení zadaných příkazů jsme získali výsledky z obou virtuálních počítačů, jak je uvedeno v tabulce a grafu s importovanou sadou dat níže.
| Metrický | Standardní virtuální počítač | Důvěrný virtuální počítač |
| Požadavky/s | 1998,70 | 1998,69 |
| Průměrná latence | 774,50 µs | 775,01 µs |
| Maximální latence | 2,46 ms | 3,53 ms |
| Přenos/s | 7,98 MB | 7,98 MB |
| Celkový počet žádostí | 119 924 | 119 924 |
Výsledky benchmarku NGINX
- Propustnost je téměř identická. Oba virtuální počítače zvládly ~2000 požadavků/s.
- Průměrná latence zůstala hluboko pod 1 ms.
- Maximální latence se na virtuálním počítači s povolenou funkcí Confidential Computing mírně zvýšila, což se dalo očekávat vzhledem k povoleným bezpečnostním režijním nákladům.
- Celkový objem požadavků a přenosová rychlost zůstaly napříč testy konzistentní.
- Tyto výsledky potvrzují vhodnost důvěrných virtuálních počítačů pro obsluhu velkoobjemových webových úloh s minimálními režijními náklady a zvýšeným zabezpečením.
Redis Memory Benchmark
K měření výkonu Redisu na standardním i důvěrném virtuálním počítači v OCI jsme použili vestavěný nástroj Redis-benchmark. Redis je vysoce výkonné úložiště dat v paměti, které je navrženo pro efektivní správu dat typu klíč-hodnota. Vyniká v situacích, kde je kriticky důležitý přístup s nízkou latencí, jako je analýza v reálném čase, ukládání do mezipaměti a zprostředkování zpráv. Uchováváním dat v paměti namísto spoléhání se na diskové úložiště umožňuje Redis rychlé operace čtení a zápisu, což z něj činí dobrou volbu pro aplikace, které vyžadují rychlé načítání dat a odezvu v reálném čase.
Cílem bylo vyhodnotit, zda povolení OCI Confidential Computing ovlivňuje výkon databáze v paměti. Níže uvedená tabulka ukazuje podrobnosti o parametrech testu Redis-benchmark, které jsme použili k měření propustnosti a latence.
| Parametr | Hodnota |
|---|---|
| Nástroj | redis-benchmark |
| Celkový počet žádostí | 100 000 |
| Souběžnost | 50 paralelních klientů |
Níže uvedená tabulka ukazuje podrobnosti o parametrech benchmarkového testu Redis. Po provedení benchmarkového testu Redis na obou virtuálních počítačích jsme dosáhli níže uvedených výsledků.
| Metrický | Standardní virtuální počítač | Důvěrný virtuální počítač |
|---|---|---|
| Propustnost SET | 68 119,89 požadavků/s | 66 755,67 požadavků/s |
| Propustnost GET | 68 073,52 požadavků/s | 66 225,16 požadavků/s |
Výsledky benchmarkových testů Redis
- Standardní virtuální počítač si vedl o ~2–3 % lépe v propustnosti SET i GET, což je v rámci běžné variability pro úlohy Redis.
- Latence p99 zůstala vynikající a na obou virtuálních strojích téměř identická.
- I když je šifrování aktivní v důvěrných virtuálních počítačích, dopad na výkon zůstává zanedbatelný i u vysoce výkonných úloh v paměti, jako je Redis.
- Mírný rozdíl v propustnosti neohrožuje použitelnost, zejména s ohledem na vylepšené zabezpečení OCI Confidential Computing.
Benchmark Sysbench
K testování výpočetního výkonu CPU a propustnosti paměti na virtuálních počítačích Oracle Cloud Infrastructure Flex jsme použili Sysbench. Sysbench je modulární, multiplatformní benchmarkingový nástroj určený k vyhodnocení výkonu různých systémových komponent, jako je CPU, paměť, diskové I/O operace, vlákna a výkon databáze. Je obzvláště užitečný při testování výkonu a ladění systému, a to zejména ve fázích před nasazením virtuálních počítačů na cloudových platformách. Zákazníci často používají Sysbench ve svých prostředích, jako je testování cloudových versus lokálních virtuálních počítačů, plánování kapacity a ladění infrastruktury tak, aby odpovídala požadavkům na pracovní zátěž před spuštěním do produkčního prostředí. Poskytuje jak rychlé informace, tak opakovatelné vzorce zátěže pro hlubší analýzu. Naším cílem bylo ověřit, zda technologie OCI Confidential Computing ovlivňuje výkon v důsledku šifrování paměti a izolace za běhu. Použili jsme sadu definic parametrů, které uvádíme v tabulce níže.
| Parametr | Hodnota |
|---|---|
| Nástroj | Sysbench 1.1.0 (sestaveno ze zdrojového kódu) |
| Test procesoru | –vlákna=4 –cpu-max-prime=20000 |
| Test paměti | –celková-velkost-paměti=1G –vlákna=4 |
Zde jsou výsledky po provedení daných testů na obou virtuálních strojích.
| Subsystém | Metrický | Standardní virtuální počítač | Důvěrný virtuální počítač |
|---|---|---|---|
| Procesor | Události/s | 5706,40 | 5720,66 |
| Procesor | Průměrná latence (ms) | 0,70 | 0,70 |
| Paměť | Ops/s | 13,84 milionu | 13,38 milionu |
| Paměť | Propustnost (MiB/s) | 13 516,37 | 13 062,04 |
| Paměť | Maximální latence (ms) | 0,02 | 0,02 |
Výsledky testů Sysbench
- Oba virtuální počítače si vedly stejně dobře, co se týče hrubého výpočetního výkonu. Nebyl žádný znatelný rozdíl v latenci ani rychlosti.
- Standardní virtuální počítač měl mírnou výhodu v rychlosti paměti, ale oba podávaly vynikající výkon.
- OCI Confidential Computing umožňuje bezpečné provádění bez kompromisů v oblasti praktického výkonu, což je z hlediska zabezpečení ideální pro citlivé úlohy.
Benchmark náhodného zápisu FIO
K porovnání výkonu IOPS při náhodném zápisu na virtuálních počítačích OCI jsme použili nástroj FIO (Flexible I/O Tester). FIO dokáže simulovat širokou škálu vzorců I/O, včetně sekvenčního a náhodného čtení/zápisu, napříč různými velikostmi bloků a úrovněmi souběžnosti úloh. Zákazníci jej široce používají k vyhodnocení, jak si virtuální počítač nebo úložný svazek vede při specifické zátěži I/O. Mnoho zákazníků a poskytovatelů úložišť oficiálně používá FIO k výběru správné velikosti diskových prostorů a typů disků. Pomáhá ověřit výkon HDD, SSD, NVMe nebo blokového úložiště před nasazením. Náš test porovnával standardní virtuální počítač s důvěrným virtuálním počítačem, oba s použitím 1GiB testovacího souboru na blokovém svazku. Použili jsme parametry FIO, které jsou uvedeny níže:
| Parametr | Hodnota |
|---|---|
| Nástroj | drát 3,19 |
| Režim | Náhodný zápis (–rw=randwrite) |
| Velikost bloku | 4 KiB |
| Celková velikost souboru | 1 GiB |
| Počet pracovních míst | 4 |
| Běhová doba | 60 sekund |
| V/V modul | psychonologie |
| Typ svazku | Blokový objem |
| Adresář | /mnt/testdisk |
Po provedení testovacích příkazů jsme získali výsledky z obou virtuálních strojů, jak je uvedeno níže:
| Metrický | Standardní virtuální počítač | Důvěrný virtuální počítač |
|---|---|---|
| Zápis IOPS | 12 600 | 12 500 |
| Šířka pásma (MiB/s) | 49,3 | 48,6 |
| Průměrná latence (µs) | 127,1 | 148,8 |
| Latence p99 (µs) | ~11 | ~12 |
| Maximální latence (µs) (99,99) | ~38 500 | ~42 700 |
| Využití CPU (systémové %) | 1,68% | 1,63% |
Výsledky benchmarkového testu FIO
- Oba virtuální počítače vykazují velmi podobné IOPS a šířku pásma. Standardní virtuální počítač je jen o něco rychlejší, ale rozdíl není velký.
- Průměrná latence a latence 99,99. percentilu jsou na virtuálním počítači Confidential o něco vyšší, ale to se očekává kvůli režijním nákladům na šifrování paměti.
- Využití CPU a přepínání kontextu jsou si také velmi blízké, což ukazuje, že oba systémy pracují s podobným zatížením.
- Malé zvýšení latence je očekávané a přijatelné pro většinu reálných aplikací, zejména s ohledem na dodatečné bezpečnostní výhody.
Benchmark PostgreSQL pgbench
Provedli jsme benchmarking PostgreSQL pomocí nástroje pgbench, abychom vyhodnotili dopad povolení funkce Confidential Computing na výkon virtuálních strojů OCI Flex. Pgbench je oficiální benchmarkingový testovací nástroj pro PostgreSQL, což je výkonný relační databázový systém s otevřeným zdrojovým kódem. Používá se v různých odvětvích, včetně finančních systémů, analytických platforem, webových a mobilních aplikací. Spouští stejnou sekvenci příkazů SQL znovu a znovu, pravděpodobně v několika souběžných databázových relacích, a poté vypočítá průměrnou rychlost transakcí (transakce za sekundu) a latenci. V naší studii byly testovány dva identické virtuální stroje, jeden standardní virtuální stroj a jeden s povolenou funkcí OCI Confidential Computing, s použitím stejné konfigurace PostgreSQL a podmínek zátěže. Níže uvedená tabulka ukazuje parametry použité během testů.
| Parametr | Hodnota |
|---|---|
| Nástroj | pgbench (vestavěný nástroj PostgreSQL) |
| Faktor škálování | 50 |
| Klienti | 10 |
| Vlákna | 4 |
| Trvání | 60 a 120 sekund |
| Režim dotazu | Jednoduchý |
| Databáze | Pgbenchdb |
Obdrželi jsme výsledky z testovacích případů provedených v různých délkách trvání, jak je uvedeno v tabulce níže.
| Trvání | Metrický | Standardní virtuální počítač | Důvěrný virtuální počítač |
|---|---|---|---|
| 120 s | TPS | 3234.2 | 3076,6 |
| 120 s | Latence (průměr) | 3,092 ms | 3,250 ms |
| 60. léta | TPS | 3393,5 | 3116.3 |
| 60. léta | Latence (průměr) | 2,947 ms | 3,209 ms |
Výsledky benchmarkových testů pgbench
- Standardní virtuální počítač překonal důvěrný virtuální počítač přibližně o 7% z hlediska transakcí za sekundu. To je největší rozdíl ze všech testů.
- Průměrná latence byla na standardním virtuálním počítači o něco nižší, což vykazuje o něco rychlejší doby odezvy.
- Oba virtuální počítače vykazovaly konzistentní chování v průběhu testovacích dob 60 i 120 sekund.
- Důvěrný virtuální počítač vykazoval malé, ale konzistentní nárůst režijních nákladů, a to jak v propustnosti, tak v latenci.
- Rozdíl ve výkonu je nepatrný a pravděpodobně neovlivní většinu reálných databázových aplikací.
Závěrem
Po provedení komplexního benchmarkingu v pěti různých kategoriích pracovních zátěží, včetně nginx (webový server), Redis (memory cache), Sysbench (CPU/paměť), FIO (disk I/O) a pgbench (PostgreSQL OLTP), jsme dospěli k závěru, že virtuální počítače OCI Confidential Computing poskytují:
| Typ testu | Metrický | Standardní virtuální počítač | Důvěrný virtuální počítač | Rozdíl / Poznámky |
|---|---|---|---|---|
| Webový server | Propustnost (RPS) | 1998,70 | 1998,69 | Identický výkon |
| Redis | Propustnost SET / GET | 68 119 / 68 073 | 66 755 / 66 225 | ~2–3 % nižší na virtuálním počítači Confidential |
| Procesor Sysbench | Události/s | 5 706 | 5 720 | Téměř identické |
| Paměť Sysbench | MiB/s / Ops/s | 13 516 / 13,84 milionu | 13 062 / 13,38 milionu | ~3–4 % nižší na virtuálním počítači Confidential |
| Disk FIO | Propustnost zápisu (MiB/s) | 49,3 | 48,6 | ~1–2 % nižší na virtuálním počítači Confidential |
| pgBench | TPS (průměr napříč běhy) | ~3 314 | ~3 096 | ~6,6 % nižší TPS na důvěrném virtuálním počítači |
- Výkon webového serveru a CPU byl u standardních a důvěrných virtuálních počítačů shodný. To potvrzuje, že úlohy vázané na CPU a bezstavové úlohy nenesou žádné režijní náklady způsobené šifrováním paměti ani izolací AMD SEV.
- Benchmark Redis, reprezentativní pro operace v paměti s vysokou propustností a nízkou latencí, vykazoval odchylku v propustnosti pod 3%. Rozdíl ve výkonu lze tolerovat a ukazuje, že architektura AMD EPYC efektivně zvládá šifrovaný přístup k paměti.
- Výsledky testů paměti a disku (Sysbench a FIO) ukázaly mírný pokles propustnosti na důvěrných virtuálních počítačích. To je pravděpodobně způsobeno přidanými vrstvami šifrování a překladu adres, které zavedla technologie AMD-SEV. Latence navíc zůstala nízká a zanedbatelná, což potvrzuje, že OCI Confidential Computing dokáže zvládat paměťově náročné úlohy s minimálními náklady na výkon.
- Nejcitlivějším testem byl test pgbench PostgreSQL s přibližně o 6–7 % nižším TPS v režimu OCI Confidential Computing. To naznačuje, že v transakčních databázích s vysokou zápisovou zátěží může šifrování paměti při trvalé souběžnosti představovat mírnou režii. Výkon však zůstal stabilní a spolehlivý, a to i s integrovanými funkcemi AMD SEV.
OCI Confidential Computing na šablónách OCI E4 Flex poskytuje v porovnání se standardními virtuálními počítači téměř paritní výkon v testech na výpočetní, paměťové, úložné a aplikační vrstvě. Přestože virtuální počítače běží s plným šifrováním paměti a izolací za běhu prostřednictvím AMD SEV, udržují si konzistentně vysokou propustnost a nízkou latenci. To dokazuje, že OCI Confidential Computing je připraven k produkčnímu prostředí a vhodný pro bezpečnostní úlohy bez kompromisů ve výkonu.
Zdroj: Oracle