Tilin palautuksen yhteyshenkilön suojaus
Käyttäjät voivat lisätä jopa viisi luottamaansa henkilöä tilin palautuksen yhteyshenkilöiksi, jotka voivat auttaa käyttäjiä palauttamaan iCloud-tilinsä ja ‑tietonsa, mukaan lukien kaikki päästä päähän salatut tiedot, riippumatta siitä, onko edistyksellinen tietosuojaus käytössä. Sen enempää Applella kuin palautuksen yhteyshenkilölläkään ei yksinään ole tarvittavia tietoja käyttäjän päästä päähän salattujen iCloud-tietojen palauttamiseen.
Palautuksen yhteyshenkilö on suunniteltu käyttäjän yksityisyyttä ajatellen. Käyttäjän valitsemat palautuksen yhteyshenkilöt eivät ole Applen tiedossa. Applen palvelimet saavat tietoa palautuksen yhteyshenkilöstä vasta palautusyrityksen myöhäisessä vaiheessa, kun käyttäjä pyytää yhteyshenkilöltä apua ja yhteyshenkilö aloittaa varsinaisen palautuksessa avustamisen. Tätä tietoa ei säilytetä, kun palautus on valmis.
Palautuksen yhteyshenkilön suojausprosessi
Kun käyttäjä ottaa käyttöön tilin palautuksen yhteyshenkilön, luodaan tähän yhteyshenkilöön liitetty avain. Tämä avain suojaa pääsyä käyttäjän iCloud-tietoihin – mukaan lukien päästä päähän salatut CloudKit-tiedot. Seuraavaksi luodaan satunnainen 256-bittinen AES-avain, ja palautuksen yhteyshenkilön avain salataan sillä. Näin saadaan aikaan palautuksen yhteyshenkilön paketti. Tämä salattu paketti lähetetään säilytettäväksi palautuksen yhteyshenkilölle, ja Apple tallentaa sen satunnaisen AES-avaimen. Sen enempää AES-avain kuin myöskään paketti ei tarjoa mitään tietoa itse avaimesta paketissa. Kun käyttäjän laite on palautusta tehtäessä saanut onnistuneesti sekä palautuksen yhteyshenkilön paketin palautuksen yhteyshenkilöltä että AES-avaimen Applelta, laite voi yhdistää nämä kaksi ja saada näin alkuperäisen avaimen ja päästä käyttäjän iCloud-tietoihin.
Kun tilin palautuksen yhteyshenkilö otetaan käyttöön, käyttäjän laite viestii Applen palvelimien kanssa lähettääkseen niille Applen haltuun tulevan avaintieto-osan (edellä mainittu AES-avain). Sen jälkeen se luo päästä päähän salatun CloudKit-säiliön palautuksen yhteyshenkilön kanssa tämän tarvitseman osan (eli AES-avaimella salatun palautuksen yhteyshenkilön paketin) jakamista varten. Palautuksen yhteyshenkilön kanssa jaetaan myös Applen luoma valtuutussalaisuus. Sitä käytetään tilin palautukseen ja apuna tilin salasanan nollaamisessa. Palautuksen yhteyshenkilöiden kutsumisen ja hyväksymisen tietoliikenne tapahtuu käyttäen molemmin puolin todennettua IDS-kanavaa. Palautuksen yhteyshenkilön vastaanottamat tiedot tallennetaan automaattisesti hänen iCloud-avainnippuunsa. Apple ei pääse CloudKit-säiliön sisältöön eikä tämän tiedon tallentavaan iCloud-avainnippuun. Kun jakaminen suoritetaan, Applen palvelimet näkevät vain palautuksen yhteyshenkilön anonyymin tunnuksen.
Kun käyttäjän myöhemmin tarvitsee palauttaa tilinsä ja iCloud-tietonsa, hän voi pyytää apua palautuksen yhteyshenkilöltään. Silloin palautuksen yhteyshenkilön laite muodostaa palautuskoodin, jonka palautuksen yhteyshenkilö antaa käyttäjälle ulkoista reittiä pitkin (esimerkiksi kasvokkain tai puhelinsoitolla). Käyttäjä syöttää tämän palautuskoodin laitteeseensa muodostaakseen SPAKE2+-protokollaa käyttäen laitteiden välille suojatun yhteyden, jonka sisältö ei ole Applen käytettävissä. Applen palvelimet koordinoivat tätä vuorovaikutusta, mutta Apple ei voi panna palautusprosessia alulle.
Kun suojattu yhteys on muodostettu ja kaikki vaadittavat turvatarkistukset on tehty, palautuksen yhteyshenkilön laite palauttaa takaisin palautusta pyytävälle käyttäjälle osansa avaintiedosta sekä aikaisemmin luodun valtuutussalaisuuden. Käyttäjä esittää tämän valtuutussalaisuuden Applen palvelimelle, ja se antaa käyttöön Applen säilyttämän avaintiedon. Valtuutussalaisuuden esittämisellä saadaan myös valtuutus tilin salasanan nollaamiseen, jotta pääsy tilille saadaan palautettua.
Lopuksi käyttäjän laite liittää Applelta ja tilin palautuksen yhteyshenkilöltä saadun avaintiedon takaisin yhteen ja käyttää sitten sitä käyttäjän iCloud-tietojen salauksen purkamiseen ja palauttamiseen.
Käytössä on suojauskeinoja, joiden on tarkoitus estää palautuksen yhteyshenkilöä aloittamasta palautusta ilman käyttäjän suostumusta. Yksi keino on käyttäjän tilin toiminnan aktiivisuuden tarkistaminen. Jos tili on aktiivisessa käytössä, palautukseen palautuksen yhteyshenkilön avulla vaaditaan myös laitteen viimeaikaisen pääsykoodin tai iCloud-suojakoodin tietämistä.