Per un avvio attendibile (o avvio autenticato o avvio sicuro o comunque si desidera chiamare it), hai bisogno di una radice di fiducia che sia protetta per l'integrità. Non ha bisogno di essere un settore "super-segreto", deve essere un settore "super-schermato". ROM si adatta al conto.
In pratica, i produttori di dispositivi preferiscono inserire il meno codice possibile nella ROM, perché non vogliono smettere di aggiornare il codice alcuni mesi prima che il dispositivo venga spedito. Di conseguenza, quel codice non fa altro che inizializzare alcuni dispositivi di base (ad esempio, mettere in forma la MMU), caricare i primi settori da un supporto di memorizzazione, verificare la loro firma crittografica su una chiave pubblica archiviata nella ROM e trasferire l'esecuzione a quel codice . Se la firma non corrisponde, il codice ROM potrebbe consentire all'utente di caricare un'immagine di avvio alternativa (generalmente tramite USB).
Il primo codice di avvio non ROM è spesso molto più complesso del codice ROM: di solito ha bisogno di sapere come gestire la memoria, accedere a vari dispositivi di memorizzazione, leggere i filesystem, avere almeno un'interfaccia utente rudimentale e così via. Quindi, in pratica, tutto quel codice buggato, e questo (o più tardi nella catena di avvio) è il modo in cui gli iPhone vengono jailbreak. Alcuni produttori, come Apple, sono infatti profondamente interessati al controllo dell'immagine di avvio; ciò non significa che abbiano successo contro una determinata comunità.
Inoltre, anche se l'immagine di avvio firmata è stata mantenuta, il sistema operativo stesso è troppo complesso per resistere agli attacchi per molto tempo. La firma dell'intero sistema operativo non è pratica, in quanto gli utenti di tutti i telefoni cellulari e PDA, ma di base, si aspettano di essere in grado di installare le proprie applicazioni (e i sistemi operativi tendono ad avere buchi di root). Il sistema operativo in genere può fare praticamente ciò che vuole, tranne che se esso sovrascrive in modo ingannevole l'immagine di avvio, il dispositivo non si avvia. Se si desidera eseguire un sistema operativo diverso, è possibile utilizzare il sistema operativo originale come punto di salto dal quale si avvia il sistema operativo reale.
La velocità è un altro fattore: verificare l'autenticità di un bootloader da 100kB è solo un blip su uno smartphone moderno, ma verificare l'autenticità o l'integrità di un sistema operativo multi-GB è troppo lento per farlo in una volta. La verifica incrementale rallenta anche le letture del disco e richiede il supporto del filesystem che al momento non è ampiamente disponibile.