Článek přečtěte do 10 min.

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 Compute

Seznam instancí OCI ComputeVirtuální počítač s podporou důvěrných výpočtů

Virtuá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

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

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

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

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

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