Säkra programuppdateringar
Säkerhet är en process. Det räcker inte att bara starta den operativsystemsversion som installerats på fabriken – det måste också finnas en mekanism för att snabbt och säkert hämta de senaste säkerhetsuppdateringarna. Apple släpper regelbundet programuppdateringar för att åtgärda nyfunna säkerhetsproblem. Användare med iPhone- och iPad-enheter får uppdateringsnotiser på enheterna. Mac-användare hittar tillgängliga uppdateringar i Systeminställningar. Uppdateringar levereras trådlöst för snabb installation av de senaste säkerhetsfixarna.
Säkerhet vid uppdatering
Uppdateringsprocessen använder samma maskinvarubaserade betrodda rot som används av säker start och som är utformad för att endast installera Apple-signerad kod. Uppdateringsprocessen använder också auktorisering av systemprogramvara för att se till att endast kopior av operativsystemversioner som aktivt signeras av Apple kan installeras på iPhone- och iPad-enheter, eller på Mac-datorer med inställningen Full säkerhet konfigurerad som policy för säker start i Startsäkerhetsverktyg. När de här säkerhetsprocesserna är aktiva kan Apple sluta signera äldre operativsystemsversioner med kända svagheter och minska risken för nedgraderingsangrepp.
För ökad säkerhet vid programuppdateringar hämtas och installeras en fullständig kopia av iOS eller iPadOS när en enhet som ska uppgraderas är fysiskt ansluten till en Mac. Vid trådlös programuppdatering hämtas dock inte hela operativsystemet, utan endast de komponenter som krävs för att slutföra uppdateringen vilket ger en effektivare nätverksanvändning. Dessutom kan programuppdateringar cachelagras på en Mac med macOS 10.13 eller senare där Innehållscachelagring är aktiverat så att iPhone- och iPad-enheterna inte behöver ansluta till Apples servrar för att komma åt nödvändiga uppdateringar. (De måste fortfarande kontakta Apples servrar för att slutföra uppdateringsprocessen.)
Personligt anpassad uppdateringsprocess
Vid uppgraderingar och uppdateringar blir viss information tillgänglig för Apples auktoriseringsserver för installation. Via anslutningen skickas en lista med kryptografiska värden för de olika delarna av installationspaketet (exempelvis iBoot, kärnan och operativsystemsavbilden), ett slumpmässigt anti-replay-värde samt enhetens unika ID som kallas ECID (Exclusive Chip Identification).
Auktoriseringsservern jämför listan över åtgärder med de versioner vars installation är tillåten, och om de överensstämmer lägger den till enhetens ECID och signerar resultatet. Servern överför en komplett uppsättning signerade data till enheten under uppgraderingsprocessen. Att lägga till enhetens ECID är ett sätt att göra auktoriseringen unik för enheten. Genom att endast auktorisera och signera kända åtgärder försäkrar sig servern om att uppdateringen sker exakt som Apple har avsett.
Under startprocessens utvärdering av tillförlitlighetskedjan verifieras att signaturen kommer från Apple och att åtgärden för objektet som har lästs in från lagringsenheten, i kombination med enhetens ECID, matchar det som signaturen avser. På enheter som har stöd för personlig anpassning är det tänkt att dessa steg ska säkerställa att auktoriseringen gäller för en specifik enhet, och att ett äldre operativsystem eller en äldre version av fast programvara inte kan kopieras från en enhet till en annan. Anti-replay-värdet förhindrar att obehöriga sparar serverns svar och använder det till att manipulera en enhet eller modifiera systemprogramvaran.
Anpassningsprocessen är orsaken till varför en nätverksanslutning till Apple alltid krävs för uppdatering av enheter med Apple-utformade kretsar, inklusive Intel-baserade Mac-datorer med Apple T2-säkerhetskrets.
På enheter med Secure Enclave använder den maskinvaran också auktorisering av systemprogramvara till att kontrollera integriteten hos den egna programvaran och är utformad för att förhindra nedgraderingar.