Framför årets Hack in the Box (HITB) -konferens i Singapore har säkerhetsforskare som går vid Twitter-handtaget "xerub" lyckats avslöja den fullvuxna dekrypteringsnyckeln för iPhone 5s kryptografiska koprocessor som hanterar Touch ID, kallad Secure Enclave.
Han publicerade också dekrypteringsnyckeln online.
Frigörandet av den här nyckeln betyder inte att telefonen inte längre är säker: känslig data som lagras i Secure Enclave är säkrad med andra nycklar som inte har äventyrats och kommer sannolikt inte. Allt säkerhetsexperter kan göra är att använda "img4lib" -biblioteket för att dekryptera och titta närmare på Apples hemliga mjukvara som körs på den kryptografiska koprocessorn, inte läsa data lagrade i den.
För dem som undrar är Secure Enclave tillverkad i S2-chipet som driver Apple Watch Series 1 och Series 2 och Apples A-serieschips från A7-chipet i iPhone 5s och framåt.
Jag spekulerar bara här, men att undersöka den fasta programvaran för Secure Enclave kan ge värdefull insikt om dess inre funktioner, vilket i sin tur kan göra det lättare att upptäcka utnyttjanden som används för jailbreaking. Alla exploater som specifikt riktar sig till Secure Enclave skulle vara specifika för iPhone 5s och kräva fysisk åtkomst till telefonen för att ladda anpassad firmware.
Secure Enclave har en egen säker startprocess för att säkerställa att den separata firmware verifieras och undertecknas av Apple. För att inte förväxla med iOS-koden som körs på huvudprocessorn, kan Secure Enclave-firmware bara ändras via en personlig anpassad mjukvaruuppdateringsprocess som skapas just för den, separat från huvudprocessorn i A-serien.
nyckeln är fullt odlad https://t.co/MwN4kb9SQI använd https://t.co/I9fLo5Iglh för att dekryptera och https://t.co/og6tiJHbCu för att bearbeta
- ~ (@xerub) 16 augusti 2017
iOS-hackaren Will Strafach aka Chronic var snabb på att påpeka att detta inte är en enorm affär för slutanvändare eftersom Secure Enclave inte har hackats. "Avkodningsnyckel i det här fallet är för firmware, vilket gör att fler forskare kan titta på den," sade han på Twitter.
När iPhone 5s släpptes 2013 debuterade den Touch ID-fingeravtryckssensorn. För att säkert lagra och skydda känsliga data från fingeravtryckssensorn har Apple skapat ett Secure Enclave-chip-in-a-chip inbäddat i telefonens huvudsakliga A7-processor.
Tänk på det som en separat enhet med sitt eget krypterade minne och en slumptalsgenerator för hårdvara. All kommunikation mellan Secure Enclave och huvud A7-processorn isoleras till en avbrottsdriven brevlåda och delade minnedatabuffertar.
Processorn vidarebefordrar bara data till Secure Enclave, men kan inte läsa den. Med andra ord kan huvudprocessorn inte direkt skaffa enhetsnycklar eller läsa krypterad data lagrad i Secure Enclave, och inte heller kunna ändra dess funktioner, vilket kräver att man installerar en ny signerad firmware som skapats specifikt för Secure Enclave.
I grund och botten en ARMv7a-processor, Secure Enclave driver en Apple-anpassad version av L4-mikrokärnfamiljen. Det har spekulerats att informationen som lagras säkert i Secure Enclaves krypterade minne upprätthålls av ARM: s TrustZone- och SecurCore-teknik.
Till skillnad från Secure Enclaves minne i A8 och nyare processorer är den i A7s Secure Enclave inte verifierad med den flyktiga tangenten (skapad när telefonen startar).
Secure Enclave (mindre rektangel) är inbäddad i A-seriens huvudchip.
Som nämnts ovan har Secure Enclave sin egen firmware, kärna, drivrutiner och tjänster som driver Touch ID och tillhandahåller alla kryptografiska funktioner till systemet.
Bortsett från att reglera all kommunikation mellan Touch ID-sensorn och Secure Enclave via en säker sökväg, tillhandahåller den kryptografiska coprocessorn andra funktioner och tjänster:
- Krypterar data skrivna till flash-lagring
- Dekrypterar data läst från filsystemet
- Tvingar upp eskalerande tidsförseningar efter att en ogiltig lösenord har matats in på låsskärmen
- Hanterar Apple Pay-autentiseringsprocessen och gör det möjligt för en transaktion att fortsätta
- Tar emot raster scan av ditt fingeravtryck från Touch ID-sensorn
- Lagrar skanningen tillfälligt i sitt eget krypterade minne
- Vektoriserar skanningen för analys och kastar sedan skanningen
- Bestämmer om det finns en matchning mot registrerade fingeravtryck
- Lagrar den resulterande kartan med noder på ett säkert sätt utan identitetsinformation
Enligt Apples dokument om iOS-säkerhetsguide och relaterad patentansökan använder Secure Enclave System Software Authorization för att säkerställa integriteten för dataskydd och sin egen firmware, även om kärnan har äventyrats, för att förhindra nedgraderingsinstallationer.
På A9 eller senare A-serien processorer, är Secure Enclave också ansvarig för att säkert generera det unika ID (UID), som är en 256-bitars AES-nyckel unik för varje enhet.
Denna UID lagras säkert i Secure Enclaves eget krypterade minne och som sådan är okänt för Apple och andra delar av systemet.
Allt iOS kan se är resultatet av krypterings- eller dekrypteringsoperationer som utförs av dedikerade AES-motorer implementerade i kisel med UID som nyckel (eller GID, som är en enhetsgrupp-ID som sammanställts i chipet och gemensamt för alla processorer i en enhetsklass) ; till exempel alla iOS-enheter som använder A9-processorn).
Enligt Apples bounty-program ska varje framgångsrik utvinning av konfidentiellt material skyddad av Secure Enclave belönas med en cool $ 100 000.